Version Description
- Erhhung des Limits fr PNG-Dateien auf 512 KB (Optimus HQ)
Download this release
Release Info
Developer | sergej.mueller |
Plugin | Optimus – WordPress Image Optimizer |
Version | 1.3.5 |
Comparing to | |
See all releases |
Code changes from version 1.3.3 to 1.3.5
- inc/optimus_hq.class.php +9 -4
- inc/optimus_request.class.php +25 -47
- inc/optimus_settings.class.php +3 -3
- optimus.php +1 -1
- readme.txt +18 -10
inc/optimus_hq.class.php
CHANGED
@@ -300,6 +300,14 @@ class Optimus_HQ
|
|
300 |
return;
|
301 |
}
|
302 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
303 |
/* Sanitize input */
|
304 |
$optimus_key = sanitize_text_field($_POST['_optimus_key']);
|
305 |
|
@@ -308,9 +316,6 @@ class Optimus_HQ
|
|
308 |
return;
|
309 |
}
|
310 |
|
311 |
-
/* Security */
|
312 |
-
check_admin_referer('_optimus_nonce');
|
313 |
-
|
314 |
/* Delete purchase_time */
|
315 |
self::_delete_purchase_time();
|
316 |
|
@@ -369,7 +374,7 @@ class Optimus_HQ
|
|
369 |
break;
|
370 |
|
371 |
case 'locked':
|
372 |
-
$msg = 'Optimus ist
|
373 |
$class = 'error';
|
374 |
break;
|
375 |
|
300 |
return;
|
301 |
}
|
302 |
|
303 |
+
/* Nonce check */
|
304 |
+
check_admin_referer('_optimus_nonce');
|
305 |
+
|
306 |
+
/* Capability check */
|
307 |
+
if ( ! current_user_can('manage_options') ) {
|
308 |
+
return;
|
309 |
+
}
|
310 |
+
|
311 |
/* Sanitize input */
|
312 |
$optimus_key = sanitize_text_field($_POST['_optimus_key']);
|
313 |
|
316 |
return;
|
317 |
}
|
318 |
|
|
|
|
|
|
|
319 |
/* Delete purchase_time */
|
320 |
self::_delete_purchase_time();
|
321 |
|
374 |
break;
|
375 |
|
376 |
case 'locked':
|
377 |
+
$msg = '<strong>Optimus</strong> ist kostenlos, der Funktionsumfang ist auf wesentliche Features reduziert.<br /><strong>Optimus HQ</strong> (Premium) beherrscht dagegen mehrere Bildformate, komprimiert größere Dateien, nutzt HTTPS-Verbindung und erlaubt Anfragen außerhalb D-A-CH. Weitere Details auf <a href="http://optimus.io" target="_blank">optimus.io</a><br /><br /><em>Dieser Hinweis hat eine Lebensdauer von 60 Sekunden und erscheint nicht erneut.</em>';
|
378 |
$class = 'error';
|
379 |
break;
|
380 |
|
inc/optimus_request.class.php
CHANGED
@@ -15,15 +15,6 @@ class Optimus_Request
|
|
15 |
{
|
16 |
|
17 |
|
18 |
-
/**
|
19 |
-
* cURL is available
|
20 |
-
*
|
21 |
-
* @var boolean
|
22 |
-
*/
|
23 |
-
|
24 |
-
private static $_use_curl = false;
|
25 |
-
|
26 |
-
|
27 |
/**
|
28 |
* Default remote scheme
|
29 |
*
|
@@ -37,7 +28,7 @@ class Optimus_Request
|
|
37 |
* Build optimization for a upload image including previews
|
38 |
*
|
39 |
* @since 0.0.1
|
40 |
-
* @change 1.3.
|
41 |
*
|
42 |
* @param array $upload_data Incoming upload information
|
43 |
* @param integer $attachment_id Attachment ID
|
@@ -56,7 +47,12 @@ class Optimus_Request
|
|
56 |
}
|
57 |
|
58 |
/* Skip regenerating */
|
59 |
-
if ( ! empty($
|
|
|
|
|
|
|
|
|
|
|
60 |
return $upload_data;
|
61 |
}
|
62 |
|
@@ -101,15 +97,13 @@ class Optimus_Request
|
|
101 |
$diff_filesizes = array();
|
102 |
|
103 |
/* Set cURL options */
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
);
|
112 |
-
}
|
113 |
|
114 |
/* Set https scheme */
|
115 |
if ( $options['secure_transport'] && Optimus_HQ::is_unlocked() ) {
|
@@ -276,7 +270,7 @@ class Optimus_Request
|
|
276 |
* Optimus API request
|
277 |
*
|
278 |
* @since 1.1.4
|
279 |
-
* @change 1.3.
|
280 |
*
|
281 |
* @param string $file Image file
|
282 |
* @param array $args Request arguments
|
@@ -285,32 +279,16 @@ class Optimus_Request
|
|
285 |
|
286 |
private static function _do_api_request($file, $args)
|
287 |
{
|
288 |
-
/* cURL Request */
|
289 |
-
if ( self::$_use_curl ) {
|
290 |
-
return wp_safe_remote_post(
|
291 |
-
sprintf(
|
292 |
-
'%s://magic.optimus.io/%s?%s',
|
293 |
-
self::$_remote_scheme,
|
294 |
-
Optimus_HQ::get_key(),
|
295 |
-
self::_curl_optimus_task($args)
|
296 |
-
),
|
297 |
-
array(
|
298 |
-
'body' => file_get_contents($file),
|
299 |
-
'timeout' => 10
|
300 |
-
)
|
301 |
-
);
|
302 |
-
}
|
303 |
-
|
304 |
-
/* Fallback request */
|
305 |
return wp_safe_remote_post(
|
306 |
sprintf(
|
307 |
-
'%s://
|
308 |
self::$_remote_scheme,
|
309 |
-
Optimus_HQ::get_key()
|
|
|
310 |
),
|
311 |
array(
|
312 |
-
'body' => $
|
313 |
-
'timeout' =>
|
314 |
)
|
315 |
);
|
316 |
}
|
@@ -337,7 +315,7 @@ class Optimus_Request
|
|
337 |
$handle,
|
338 |
CURLOPT_HTTPHEADER,
|
339 |
array(
|
340 |
-
'Accept: image
|
341 |
)
|
342 |
);
|
343 |
}
|
@@ -446,7 +424,7 @@ class Optimus_Request
|
|
446 |
* Return Optimus quota for a plugin type
|
447 |
*
|
448 |
* @since 1.1.0
|
449 |
-
* @change 1.3.
|
450 |
*
|
451 |
* @return array Optimus quota
|
452 |
*/
|
@@ -455,16 +433,16 @@ class Optimus_Request
|
|
455 |
{
|
456 |
/* Quota */
|
457 |
$quota = array(
|
458 |
-
/*
|
459 |
false => array(
|
460 |
'image/jpeg' => 20 * 1024
|
461 |
),
|
462 |
|
463 |
-
/* HQ */
|
464 |
true => array(
|
465 |
'image/jpeg' => 1000 * 1024,
|
466 |
'image/webp' => 1000 * 1024,
|
467 |
-
'image/png' =>
|
468 |
)
|
469 |
);
|
470 |
|
15 |
{
|
16 |
|
17 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
18 |
/**
|
19 |
* Default remote scheme
|
20 |
*
|
28 |
* Build optimization for a upload image including previews
|
29 |
*
|
30 |
* @since 0.0.1
|
31 |
+
* @change 1.3.4
|
32 |
*
|
33 |
* @param array $upload_data Incoming upload information
|
34 |
* @param integer $attachment_id Attachment ID
|
47 |
}
|
48 |
|
49 |
/* Skip regenerating */
|
50 |
+
if ( ! empty($_POST['action']) && $_POST['action'] === 'regeneratethumbnail' ) {
|
51 |
+
return $upload_data;
|
52 |
+
}
|
53 |
+
|
54 |
+
/* cURL only */
|
55 |
+
if ( ! WP_Http_Curl::test() ) {
|
56 |
return $upload_data;
|
57 |
}
|
58 |
|
97 |
$diff_filesizes = array();
|
98 |
|
99 |
/* Set cURL options */
|
100 |
+
add_action(
|
101 |
+
'http_api_curl',
|
102 |
+
array(
|
103 |
+
__CLASS__,
|
104 |
+
'set_curl_options'
|
105 |
+
)
|
106 |
+
);
|
|
|
|
|
107 |
|
108 |
/* Set https scheme */
|
109 |
if ( $options['secure_transport'] && Optimus_HQ::is_unlocked() ) {
|
270 |
* Optimus API request
|
271 |
*
|
272 |
* @since 1.1.4
|
273 |
+
* @change 1.3.5
|
274 |
*
|
275 |
* @param string $file Image file
|
276 |
* @param array $args Request arguments
|
279 |
|
280 |
private static function _do_api_request($file, $args)
|
281 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
282 |
return wp_safe_remote_post(
|
283 |
sprintf(
|
284 |
+
'%s://magic.optimus.io/%s?%s',
|
285 |
self::$_remote_scheme,
|
286 |
+
Optimus_HQ::get_key(),
|
287 |
+
self::_curl_optimus_task($args)
|
288 |
),
|
289 |
array(
|
290 |
+
'body' => file_get_contents($file),
|
291 |
+
'timeout' => 30
|
292 |
)
|
293 |
);
|
294 |
}
|
315 |
$handle,
|
316 |
CURLOPT_HTTPHEADER,
|
317 |
array(
|
318 |
+
'Accept: image/*'
|
319 |
)
|
320 |
);
|
321 |
}
|
424 |
* Return Optimus quota for a plugin type
|
425 |
*
|
426 |
* @since 1.1.0
|
427 |
+
* @change 1.3.5
|
428 |
*
|
429 |
* @return array Optimus quota
|
430 |
*/
|
433 |
{
|
434 |
/* Quota */
|
435 |
$quota = array(
|
436 |
+
/* Optimus */
|
437 |
false => array(
|
438 |
'image/jpeg' => 20 * 1024
|
439 |
),
|
440 |
|
441 |
+
/* Optimus HQ */
|
442 |
true => array(
|
443 |
'image/jpeg' => 1000 * 1024,
|
444 |
'image/webp' => 1000 * 1024,
|
445 |
+
'image/png' => 500 * 1024
|
446 |
)
|
447 |
);
|
448 |
|
inc/optimus_settings.class.php
CHANGED
@@ -128,7 +128,7 @@ class Optimus_Settings
|
|
128 |
</label>
|
129 |
|
130 |
<p class="description">
|
131 |
-
Aktive Option behält EXIF
|
132 |
</p>
|
133 |
</fieldset>
|
134 |
</td>
|
@@ -146,7 +146,7 @@ class Optimus_Settings
|
|
146 |
</label>
|
147 |
|
148 |
<p class="description">
|
149 |
-
Nur Optimus HQ
|
150 |
</p>
|
151 |
</fieldset>
|
152 |
</td>
|
@@ -164,7 +164,7 @@ class Optimus_Settings
|
|
164 |
</label>
|
165 |
|
166 |
<p class="description">
|
167 |
-
Nur Optimus HQ
|
168 |
</p>
|
169 |
</fieldset>
|
170 |
</td>
|
128 |
</label>
|
129 |
|
130 |
<p class="description">
|
131 |
+
Nur <a href="https://optimus.io" target="_blank">Optimus HQ</a>. Aktive Option behält EXIF-, Copyright- und Fotoaufnahme-Informationen in Bildern. Die Größenreduzierung fällt geringer aus. [<a href="https://plus.google.com/b/114450218898660299759/114450218898660299759/posts/Wwz7uFHBzFF" target="_blank">Details</a>]
|
132 |
</p>
|
133 |
</fieldset>
|
134 |
</td>
|
146 |
</label>
|
147 |
|
148 |
<p class="description">
|
149 |
+
Nur <a href="https://optimus.io" target="_blank">Optimus HQ</a>. Modifizierung der Server-Konfigurationsdatei und Überprüfung der Ausgabe erforderlich. Verlangsamt den Optimierungsprozess. [<a href="https://plus.google.com/114450218898660299759/posts/3emb7o4368X" target="_blank">Details</a>]
|
150 |
</p>
|
151 |
</fieldset>
|
152 |
</td>
|
164 |
</label>
|
165 |
|
166 |
<p class="description">
|
167 |
+
Nur <a href="https://optimus.io" target="_blank">Optimus HQ</a>. Die Kommunikation zum Optimus-Server erfolgt über eine HTTPS-Verbindung. Verlangsamt den Optimierungsprozess. [<a href="https://plus.google.com/b/114450218898660299759/114450218898660299759/posts/5f2f9XKXb4F" target="_blank">Details</a>]
|
168 |
</p>
|
169 |
</fieldset>
|
170 |
</td>
|
optimus.php
CHANGED
@@ -6,7 +6,7 @@ Author: Sergej Müller
|
|
6 |
Author URI: http://wpcoder.de
|
7 |
Plugin URI: https://optimus.io
|
8 |
License: GPLv2 or later
|
9 |
-
Version: 1.3.
|
10 |
*/
|
11 |
|
12 |
/*
|
6 |
Author URI: http://wpcoder.de
|
7 |
Plugin URI: https://optimus.io
|
8 |
License: GPLv2 or later
|
9 |
+
Version: 1.3.5
|
10 |
*/
|
11 |
|
12 |
/*
|
readme.txt
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
Contributors: sergej.mueller
|
3 |
Tags: images, optimize, compress, progressive, performance, png, jpeg, webp
|
4 |
Requires at least: 3.8
|
5 |
-
Tested up to:
|
6 |
Stable tag: trunk
|
7 |
License: GPLv2 or later
|
8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
@@ -16,13 +16,13 @@ Effektive Komprimierung der Bilder während des Upload-Vorgangs. Automatisch und
|
|
16 |
== Description ==
|
17 |
|
18 |
= (Fast) Magie =
|
19 |
-
*Optimus* verkleinert die Dateigröße hochgeladener Medien. Abhängig vom Bild und Format ist eine Reduzierung der Größe um bis zu 70 Prozent möglich. Pro Bild lassen sich mehrere Kilobytes einsparen
|
20 |
|
21 |
|
22 |
-
> #### Optimus
|
23 |
-
> *Optimus*
|
24 |
-
>
|
25 |
-
>
|
26 |
>
|
27 |
> Alle Informationen zum Produkt auf [optimus.io](https://optimus.io)
|
28 |
|
@@ -32,12 +32,12 @@ Während der Übertragung der Bilder in die Mediathek schickt das *Optimus*-Plug
|
|
32 |
|
33 |
Die Optimierung der Bilder (samt Thumbnails) erfolgt im Hintergrund und ist für Nutzer optisch nahezu nicht wahrzunehmen. Den Kompressionsgewinn pro Datei stellt *Optimus* innerhalb der Mediathek in Form eines Prozentwertes dar, siehe [Screenshot](https://wordpress.org/plugins/optimus/screenshots/).
|
34 |
|
35 |
-
Anders als
|
36 |
|
37 |
NEU für Optimus HQ: Optionale [Konvertierung](https://plus.google.com/b/114450218898660299759/114450218898660299759/posts/3emb7o4368X) der Bilder ins sparsame [WebP-Bildformat](http://cup.wpcoder.de/webp-jpeg-alternative/).
|
38 |
|
39 |
|
40 |
-
=
|
41 |
* [Progressive JPEGs](https://plus.google.com/114450218898660299759/posts/RPW48vHbwoM)
|
42 |
* Verkleinerung der Dateigröße ohne Verlust der Qualität
|
43 |
* Optimierung aller Vorschauvarianten eines Bildes
|
@@ -48,6 +48,7 @@ NEU für Optimus HQ: Optionale [Konvertierung](https://plus.google.com/b/1144502
|
|
48 |
* Optimiert für WordPress Mobile Apps und Windows Live Writer
|
49 |
* Vorteilhafterer PageSpeed als Ranking-Faktor
|
50 |
* Geringere Ladezeit der Blogseiten
|
|
|
51 |
* WordPress Multisite-fähig
|
52 |
|
53 |
|
@@ -58,7 +59,7 @@ NEU für Optimus HQ: Optionale [Konvertierung](https://plus.google.com/b/1144502
|
|
58 |
|
59 |
= Tipps =
|
60 |
* Fotos stets als JPEGs statt PNGs speichern. Das PNG-Format ist sinnvoll für Illustrationen, JPEG ist dagegen genau das Richtige für Fotoaufnahmen. Weiterer Grund: Die Größenreduzierung geht bei JPEGs flotter vonstatten.
|
61 |
-
*
|
62 |
|
63 |
|
64 |
= Systemanforderungen =
|
@@ -69,7 +70,7 @@ NEU für Optimus HQ: Optionale [Konvertierung](https://plus.google.com/b/1144502
|
|
69 |
|
70 |
= Speicherbelegung =
|
71 |
* Im Backend: ~ 0,19 MB
|
72 |
-
* Im Frontend: ~ 0,
|
73 |
|
74 |
|
75 |
= Website =
|
@@ -85,6 +86,13 @@ NEU für Optimus HQ: Optionale [Konvertierung](https://plus.google.com/b/1144502
|
|
85 |
|
86 |
== Changelog ==
|
87 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
88 |
= 1.3.3 =
|
89 |
* Kompatibilität zu WooCommerce
|
90 |
* Einführung von Optimus HQ PRO
|
2 |
Contributors: sergej.mueller
|
3 |
Tags: images, optimize, compress, progressive, performance, png, jpeg, webp
|
4 |
Requires at least: 3.8
|
5 |
+
Tested up to: 4.0
|
6 |
Stable tag: trunk
|
7 |
License: GPLv2 or later
|
8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
16 |
== Description ==
|
17 |
|
18 |
= (Fast) Magie =
|
19 |
+
*Optimus* verkleinert die Dateigröße hochgeladener Medien. Abhängig vom Bild und Format ist eine Reduzierung der Größe um bis zu 70 Prozent möglich. Pro Bild lassen sich mehrere Kilobytes einsparen – diese Sparmaßnahme trägt der Blogseiten-Performance positiv bei. Das Beeindruckende an der Kompressionstechnologie: Die Qualität der Bilder bleibt garantiert erhalten.
|
20 |
|
21 |
|
22 |
+
> #### Optimus existiert in drei Varianten:
|
23 |
+
> 1. *Optimus* als kostenlose Grundversion mit Einschränkungen.
|
24 |
+
> 2. *Optimus HQ* mit erweitertem Funktionsumgang für Eigenprojekte.
|
25 |
+
> 3. *Optimus HQ PRO* als professionelle Lösung in Kunden-Websites.
|
26 |
>
|
27 |
> Alle Informationen zum Produkt auf [optimus.io](https://optimus.io)
|
28 |
|
32 |
|
33 |
Die Optimierung der Bilder (samt Thumbnails) erfolgt im Hintergrund und ist für Nutzer optisch nahezu nicht wahrzunehmen. Den Kompressionsgewinn pro Datei stellt *Optimus* innerhalb der Mediathek in Form eines Prozentwertes dar, siehe [Screenshot](https://wordpress.org/plugins/optimus/screenshots/).
|
34 |
|
35 |
+
Anders als gängige Optimierungstools rührt *Optimus* die Qualität der Fotos niemals an. Stattdessen werden aus Bilddateien überflüssige Informationen extrahiert, die von Bildprogrammen (mit)gespeichert werden und zur Darstellung überhaupt nicht notwendig sind. Auf diese Art bleibt die Qualität der Grafiken erhalten, die Dateigröße kann um ein Vielfaches verkleinert werden. Auf Wunsch behält *Optimus* alle Autor-, EXIF- und Copyright-Informationen innerhalb der Fotos - der Kompressionsgewinn fällt entsprechend kleiner aus.
|
36 |
|
37 |
NEU für Optimus HQ: Optionale [Konvertierung](https://plus.google.com/b/114450218898660299759/114450218898660299759/posts/3emb7o4368X) der Bilder ins sparsame [WebP-Bildformat](http://cup.wpcoder.de/webp-jpeg-alternative/).
|
38 |
|
39 |
|
40 |
+
= Features =
|
41 |
* [Progressive JPEGs](https://plus.google.com/114450218898660299759/posts/RPW48vHbwoM)
|
42 |
* Verkleinerung der Dateigröße ohne Verlust der Qualität
|
43 |
* Optimierung aller Vorschauvarianten eines Bildes
|
48 |
* Optimiert für WordPress Mobile Apps und Windows Live Writer
|
49 |
* Vorteilhafterer PageSpeed als Ranking-Faktor
|
50 |
* Geringere Ladezeit der Blogseiten
|
51 |
+
* Unterstützung für WooCommerce
|
52 |
* WordPress Multisite-fähig
|
53 |
|
54 |
|
59 |
|
60 |
= Tipps =
|
61 |
* Fotos stets als JPEGs statt PNGs speichern. Das PNG-Format ist sinnvoll für Illustrationen, JPEG ist dagegen genau das Richtige für Fotoaufnahmen. Weiterer Grund: Die Größenreduzierung geht bei JPEGs flotter vonstatten.
|
62 |
+
* Bilder vor dem Upload mit Desktop-Tools wie [ImageOptim](https://plus.google.com/b/114450218898660299759/114450218898660299759/posts/A15GfjcFgR9) (Mac) oder [PNGGauntlet](https://plus.google.com/b/114450218898660299759/114450218898660299759/posts/AEwkCSMMoTk) (Win) optimiert? *Optimus* hat den gravierenden Vorteil, dass die von WordPress erstellten Thumbnails (= Vorschaubilder) ebenfalls minimiert werden. Schließlich sind im Theme fast immer Thumbnails und keine Originalbilder eingebunden.
|
63 |
|
64 |
|
65 |
= Systemanforderungen =
|
70 |
|
71 |
= Speicherbelegung =
|
72 |
* Im Backend: ~ 0,19 MB
|
73 |
+
* Im Frontend: ~ 0,01 MB
|
74 |
|
75 |
|
76 |
= Website =
|
86 |
|
87 |
== Changelog ==
|
88 |
|
89 |
+
= 1.3.5 =
|
90 |
+
* Erhöhung des Limits für PNG-Dateien auf 512 KB (Optimus HQ)
|
91 |
+
|
92 |
+
= 1.3.4 =
|
93 |
+
* Umstellung des Plugins auf die neue Optimus API (cURL only)
|
94 |
+
* [Ausführlich auf Google+](https://plus.google.com/114450218898660299759/posts/GYrUK4YeXvU)
|
95 |
+
|
96 |
= 1.3.3 =
|
97 |
* Kompatibilität zu WooCommerce
|
98 |
* Einführung von Optimus HQ PRO
|