Optimus – WordPress Image Optimizer - Version 1.3.7

Version Description

  • Erhhung der Limits fr alle Formate
  • Limits auf optimus.io
Download this release

Release Info

Developer keycdn
Plugin Icon 128x128 Optimus – WordPress Image Optimizer
Version 1.3.7
Comparing to
See all releases

Code changes from version 1.3.6 to 1.3.7

css/styles.css CHANGED
@@ -8,7 +8,7 @@
8
  width: 32px;
9
  height: 32px;
10
  position: relative;
11
- background: #bbb;
12
  margin-left: 11px;
13
  border-radius: 16px;
14
  }
8
  width: 32px;
9
  height: 32px;
10
  position: relative;
11
+ background: #b4b9be;
12
  margin-left: 11px;
13
  border-radius: 16px;
14
  }
css/styles.min.css CHANGED
@@ -1 +1 @@
1
- .manage-column.column-optimus{width:5em;}.optimus.column-optimus div{width:32px;height:32px;position:relative;background:#bbb;margin-left:11px;border-radius:16px;}.optimus.column-optimus p{top:0;left:0;color:#fff;width:32px;height:32px;margin:0;z-index:99;position:absolute;text-align:center;font-size:10px;line-height:32px;}.optimus.column-optimus p:before{top:0;left:0;border:16px solid transparent;z-index:-99;content:'';position:absolute;border-radius:16px;transform:rotate(-45deg);-o-transform:rotate(-45deg);-ms-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-webkit-transform:rotate(-45deg);}.optimus.column-optimus .one p:before{border-right-color:#7ad03a;}.optimus.column-optimus .two p:before{border-right-color:#7ad03a;border-bottom-color:#7ad03a;}.optimus.column-optimus .three p:before{border-left-color:#7ad03a;border-right-color:#7ad03a;border-bottom-color:#7ad03a;}.optimus.column-optimus .four p:before{border-color:#7ad03a;}
1
+ .manage-column.column-optimus{width:5em;}.optimus.column-optimus div{width:32px;height:32px;position:relative;background:#b4b9be;margin-left:11px;border-radius:16px;}.optimus.column-optimus p{top:0;left:0;color:#fff;width:32px;height:32px;margin:0;z-index:99;position:absolute;text-align:center;font-size:10px;line-height:32px;}.optimus.column-optimus p:before{top:0;left:0;border:16px solid transparent;z-index:-99;content:'';position:absolute;border-radius:16px;transform:rotate(-45deg);-o-transform:rotate(-45deg);-ms-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-webkit-transform:rotate(-45deg);}.optimus.column-optimus .one p:before{border-right-color:#7ad03a;}.optimus.column-optimus .two p:before{border-right-color:#7ad03a;border-bottom-color:#7ad03a;}.optimus.column-optimus .three p:before{border-left-color:#7ad03a;border-right-color:#7ad03a;border-bottom-color:#7ad03a;}.optimus.column-optimus .four p:before{border-color:#7ad03a;}
inc/optimus.class.php CHANGED
@@ -221,7 +221,7 @@ class Optimus
221
  array(
222
  '_optimus_action' => 'rekey'
223
  ),
224
- network_admin_url('plugins.php#optimus')
225
  ),
226
  ( Optimus_HQ::get_key() ? 'Anderen Optimus HQ Key eingeben' : '<span style="color:#006505">Optimus HQ aktivieren</span>' )
227
  )
@@ -304,7 +304,7 @@ class Optimus
304
  '<div class="error"><p>%s</p></div>',
305
  sprintf(
306
  'Optimus setzt <a href="%s" target="_blank">cURL-Bibliothek</a> voraus (sollte auf keinem Server fehlen). Bitte beim Hoster anfragen.',
307
- 'http://www.php.net/manual/de/intro.curl.php'
308
  )
309
  )
310
  );
221
  array(
222
  '_optimus_action' => 'rekey'
223
  ),
224
+ network_admin_url('plugins.php#_optimus_key')
225
  ),
226
  ( Optimus_HQ::get_key() ? 'Anderen Optimus HQ Key eingeben' : '<span style="color:#006505">Optimus HQ aktivieren</span>' )
227
  )
304
  '<div class="error"><p>%s</p></div>',
305
  sprintf(
306
  'Optimus setzt <a href="%s" target="_blank">cURL-Bibliothek</a> voraus (sollte auf keinem Server fehlen). Bitte beim Hoster anfragen.',
307
+ 'https://php.net/manual/de/intro.curl.php'
308
  )
309
  )
310
  );
inc/optimus_hq.class.php CHANGED
@@ -92,16 +92,17 @@ class Optimus_HQ
92
  )
93
  );
94
 
95
- /* Set the timestamp */
96
  if ( is_wp_error($response) ) {
97
- $purchase_time = -1;
98
- } else {
99
- $purchase_time = wp_remote_retrieve_body($response);
100
  }
101
 
102
- /* Validate the timestamp */
103
- if ( ! ( is_numeric($purchase_time) && $purchase_time <= PHP_INT_MAX && $purchase_time >= ~PHP_INT_MAX ) ) {
104
- $purchase_time = -1;
 
 
 
105
  }
106
 
107
  /* Store as option */
@@ -233,13 +234,13 @@ class Optimus_HQ
233
 
234
  public static function display_key_input()
235
  {
236
- /* Keine Rechte? */
237
- if ( ! current_user_can('manage_options') ) {
238
  return;
239
  }
240
 
241
- /* Überspringen? */
242
- if ( empty($_GET['_optimus_action']) OR $_GET['_optimus_action'] !== 'rekey' ) {
243
  return;
244
  } ?>
245
 
@@ -248,7 +249,7 @@ class Optimus_HQ
248
  <div class="update-message">
249
  <form action="<?php echo network_admin_url('plugins.php') ?>" method="post">
250
  <input type="hidden" name="_optimus_action" value="verify" />
251
- <?php wp_nonce_field('_optimus_nonce') ?>
252
 
253
  <label for="_optimus_key">
254
  Optimus HQ Key:
@@ -301,7 +302,7 @@ class Optimus_HQ
301
  }
302
 
303
  /* Nonce check */
304
- check_admin_referer('_optimus_nonce');
305
 
306
  /* Capability check */
307
  if ( ! current_user_can('manage_options') ) {
@@ -369,17 +370,17 @@ class Optimus_HQ
369
  /* Matching */
370
  switch( $type ) {
371
  case 'unlocked':
372
- $msg = 'Vielen Dank für die Nutzung von <strong>Optimus HQ</strong>. Wissenswertes und Aktualisierungen rund um das Plugin auf <a href="https://plus.google.com/b/114450218898660299759/114450218898660299759/posts" target="_blank">Google+</a> und <a href="https://twitter.com/optimusHQ" target="_blank">Twitter</a>.';
373
  $class = 'updated';
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
 
381
  case 'expired':
382
- $msg = '<strong>Optimus HQ Key</strong> ist abgelaufen. Ein neuer Optimus HQ Key kann auf <a href="http://optimus.io" target="_blank">optimus.io</a> erworben werden. Vielen Dank!';
383
  $class = 'error';
384
  break;
385
 
@@ -390,7 +391,7 @@ class Optimus_HQ
390
  /* Output */
391
  show_message(
392
  sprintf(
393
- '<div class="%s"><p>%s</p></div>',
394
  $class,
395
  $msg
396
  )
92
  )
93
  );
94
 
95
+ /* Exit on error */
96
  if ( is_wp_error($response) ) {
97
+ wp_die( $response->get_error_message() );
 
 
98
  }
99
 
100
+ /* Initial state */
101
+ $purchase_time = -1;
102
+
103
+ /* Set the timestamp */
104
+ if ( wp_remote_retrieve_response_code($response) === 200 ) {
105
+ $purchase_time = (int) wp_remote_retrieve_body($response);
106
  }
107
 
108
  /* Store as option */
234
 
235
  public static function display_key_input()
236
  {
237
+ /* Plausibility check */
238
+ if ( empty($_GET['_optimus_action']) OR $_GET['_optimus_action'] !== 'rekey' ) {
239
  return;
240
  }
241
 
242
+ /* Capability check */
243
+ if ( ! current_user_can('manage_options') ) {
244
  return;
245
  } ?>
246
 
249
  <div class="update-message">
250
  <form action="<?php echo network_admin_url('plugins.php') ?>" method="post">
251
  <input type="hidden" name="_optimus_action" value="verify" />
252
+ <?php wp_nonce_field('_optimus__key_nonce') ?>
253
 
254
  <label for="_optimus_key">
255
  Optimus HQ Key:
302
  }
303
 
304
  /* Nonce check */
305
+ check_admin_referer('_optimus__key_nonce');
306
 
307
  /* Capability check */
308
  if ( ! current_user_can('manage_options') ) {
370
  /* Matching */
371
  switch( $type ) {
372
  case 'unlocked':
373
+ $msg = '<p>Vielen Dank für die Nutzung von <strong>Optimus HQ</strong>. Wissenswertes und Aktualisierungen rund um das Plugin auf <a href="https://plus.google.com/b/114450218898660299759/114450218898660299759/posts" target="_blank">Google+</a> und <a href="https://twitter.com/optimusHQ" target="_blank">Twitter</a>.</p>';
374
  $class = 'updated';
375
  break;
376
 
377
  case 'locked':
378
+ $msg = '<p><strong>Optimus</strong> ist kostenlos, der Funktionsumfang ist auf wesentliche Features reduziert.</p><p><strong>Optimus HQ</strong> (Premium) beherrscht dagegen mehrere Bildformate, komprimiert größere Dateien und verfügt über HTTPS-Verbindung. <span class="no-break">Weitere Details auf <a href="https://optimus.io" target="_blank">optimus.io</a></span><br /><br /><em>Dieser Hinweis hat eine Lebensdauer von 60 Sekunden und erscheint nicht erneut.</em></p>';
379
  $class = 'error';
380
  break;
381
 
382
  case 'expired':
383
+ $msg = '<p><strong>Optimus HQ Key</strong> ist abgelaufen. Ein neuer Optimus HQ Key kann auf <a href="https://optimus.io" target="_blank">optimus.io</a> erworben werden. Vielen Dank!</p>';
384
  $class = 'error';
385
  break;
386
 
391
  /* Output */
392
  show_message(
393
  sprintf(
394
+ '<div class="%s">%s</div>',
395
  $class,
396
  $msg
397
  )
inc/optimus_request.class.php CHANGED
@@ -177,7 +177,7 @@ class Optimus_Request
177
  }
178
 
179
  /* Request: WebP convert */
180
- if ( $options['webp_convert'] && Optimus_HQ::is_unlocked() ) {
181
  self::_do_image_action(
182
  $upload_path_file,
183
  array(
@@ -448,14 +448,14 @@ class Optimus_Request
448
  $quota = array(
449
  /* Optimus */
450
  false => array(
451
- 'image/jpeg' => 20 * 1024
452
  ),
453
 
454
  /* Optimus HQ */
455
  true => array(
456
- 'image/jpeg' => 1000 * 1024,
457
- 'image/webp' => 1000 * 1024,
458
- 'image/png' => 500 * 1024
459
  )
460
  );
461
 
@@ -531,4 +531,4 @@ class Optimus_Request
531
  ceil( ($before - $after) * 100 / $before )
532
  );
533
  }
534
- }
177
  }
178
 
179
  /* Request: WebP convert */
180
+ if ( $options['webp_convert'] && Optimus_HQ::is_unlocked() && self::_allowed_file_size($mime_type, $response_filesize) ) {
181
  self::_do_image_action(
182
  $upload_path_file,
183
  array(
448
  $quota = array(
449
  /* Optimus */
450
  false => array(
451
+ 'image/jpeg' => 100 * 1024
452
  ),
453
 
454
  /* Optimus HQ */
455
  true => array(
456
+ 'image/jpeg' => 5000 * 1024,
457
+ 'image/webp' => 5000 * 1024,
458
+ 'image/png' => 5000 * 1024
459
  )
460
  );
461
 
531
  ceil( ($before - $after) * 100 / $before )
532
  );
533
  }
534
+ }
inc/optimus_settings.class.php CHANGED
@@ -91,7 +91,7 @@ class Optimus_Settings
91
  { ?>
92
  <div class="wrap">
93
  <h2>
94
- Optimus
95
  </h2>
96
 
97
  <form method="post" action="options.php">
@@ -111,7 +111,11 @@ class Optimus_Settings
111
  </p>
112
 
113
  <p class="description">
114
- Zusätzlich zum Originalbild und abhängig von der Dateigröße verkleinert Optimus die in WordPress registrierten Bildgrößen. [<a href="https://plus.google.com/b/114450218898660299759/114450218898660299759/posts/jZVfeac5eHW" target="_blank">Details</a>]
 
 
 
 
115
  </p>
116
  </td>
117
  </tr>
@@ -129,7 +133,7 @@ class Optimus_Settings
129
  </label>
130
 
131
  <p class="description">
132
- Optimus komprimiert ausschließlich Vorschaubilder (Thumbnails). In WordPress hochgeladene Originalbilder bleiben unangetastet.
133
  </p>
134
  </fieldset>
135
  </td>
@@ -194,4 +198,4 @@ class Optimus_Settings
194
  </form>
195
  </div><?php
196
  }
197
- }
91
  { ?>
92
  <div class="wrap">
93
  <h2>
94
+ Optimus Einstellungen
95
  </h2>
96
 
97
  <form method="post" action="options.php">
111
  </p>
112
 
113
  <p class="description">
114
+ Zusätzlich zum Originalbild verkleinert Optimus die in WordPress registrierten Bildgrößen. [<a href="https://plus.google.com/b/114450218898660299759/114450218898660299759/posts/jZVfeac5eHW" target="_blank">Details</a>]
115
+ </p>
116
+ <br>
117
+ <p class="description">
118
+ Größenlimitierung der kostenlosen Version von Optimus ist <strong>100 KB</strong>. Sollen größere Bilder auch optimiert werden? <a href="https://optimus.io" target="_blank">Optimus HQ</a> ist die Lösung.
119
  </p>
120
  </td>
121
  </tr>
133
  </label>
134
 
135
  <p class="description">
136
+ Optimus komprimiert ausschließlich Vorschaubilder (Thumbnails). In WordPress hochgeladene Originalbilder bleiben unangetastet. [<a href="https://plus.google.com/114450218898660299759/posts/eNQFbeh9wqk" target="_blank">Details</a>]
137
  </p>
138
  </fieldset>
139
  </td>
198
  </form>
199
  </div><?php
200
  }
201
+ }
optimus.php CHANGED
@@ -2,15 +2,15 @@
2
  /*
3
  Plugin Name: Optimus
4
  Description: Verlustfreie Komprimierung der Upload-Bilder in WordPress. Automatisch, zuverlässig, wirkungsvoll.
5
- Author: Sergej M&uuml;ller
6
- Author URI: http://wpcoder.de
7
  Plugin URI: https://optimus.io
8
  License: GPLv2 or later
9
  Version: 1.3.6
10
  */
11
 
12
  /*
13
- Copyright (C) 2012-2015 Sergej Müller
14
 
15
  This program is free software; you can redistribute it and/or modify
16
  it under the terms of the GNU General Public License as published by
@@ -34,6 +34,7 @@ defined('ABSPATH') OR exit;
34
 
35
  /* Konstanten */
36
  define('OPTIMUS_FILE', __FILE__);
 
37
  define('OPTIMUS_BASE', plugin_basename(__FILE__));
38
  define('OPTIMUS_MIN_WP', '3.8');
39
 
@@ -79,9 +80,9 @@ function optimus_autoload($class) {
79
  require_once(
80
  sprintf(
81
  '%s/inc/%s.class.php',
82
- dirname(__FILE__),
83
  strtolower($class)
84
  )
85
  );
86
  }
87
- }
2
  /*
3
  Plugin Name: Optimus
4
  Description: Verlustfreie Komprimierung der Upload-Bilder in WordPress. Automatisch, zuverlässig, wirkungsvoll.
5
+ Author: KeyCDN
6
+ Author URI: https://www.keycdn.com
7
  Plugin URI: https://optimus.io
8
  License: GPLv2 or later
9
  Version: 1.3.6
10
  */
11
 
12
  /*
13
+ Copyright (C) 2012-2015 KeyCDN
14
 
15
  This program is free software; you can redistribute it and/or modify
16
  it under the terms of the GNU General Public License as published by
34
 
35
  /* Konstanten */
36
  define('OPTIMUS_FILE', __FILE__);
37
+ define('OPTIMUS_DIR', dirname(__FILE__));
38
  define('OPTIMUS_BASE', plugin_basename(__FILE__));
39
  define('OPTIMUS_MIN_WP', '3.8');
40
 
80
  require_once(
81
  sprintf(
82
  '%s/inc/%s.class.php',
83
+ OPTIMUS_DIR,
84
  strtolower($class)
85
  )
86
  );
87
  }
88
+ }
readme.txt CHANGED
@@ -1,8 +1,8 @@
1
  === Optimus ===
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.1
6
  Stable tag: trunk
7
  License: GPLv2 or later
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
@@ -20,11 +20,11 @@ Effektive Komprimierung der Bilder während des Upload-Vorgangs. Automatisch und
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
 
29
 
30
  = Das Prinzip =
@@ -54,7 +54,7 @@ NEU für Optimus HQ: Optionale [Konvertierung](https://plus.google.com/b/1144502
54
 
55
  = Datenschutz =
56
  * Nach der Optimierung und Auslieferung der Bilder löscht der *Optimus*-Server die temporär angelegten Dateien unverzüglich. Keine Aufbewahrung!
57
- * Der Server-Standort ist Deutschland beim Hoster domainFACTORY.
58
 
59
 
60
  = Tipps =
@@ -78,14 +78,18 @@ NEU für Optimus HQ: Optionale [Konvertierung](https://plus.google.com/b/1144502
78
 
79
 
80
  = Autor =
81
- * [Twitter](https://twitter.com/wpseo)
82
- * [Google+](https://plus.google.com/110569673423509816572 "Google+")
83
- * [Plugins](http://wpcoder.de "Plugins")
84
 
85
 
86
 
87
  == Changelog ==
88
 
 
 
 
 
89
  = 1.3.6 =
90
  * Neue Option: Keine Optimierung der Originalbilder
91
  * Korrektur: Löschung der WebP-Bilder im AJAX-Modus
@@ -207,4 +211,4 @@ NEU für Optimus HQ: Optionale [Konvertierung](https://plus.google.com/b/1144502
207
  == Screenshots ==
208
 
209
  1. Anzeige der Komprimierung und der Bildmenge als Kreis
210
- 2. Bild samt Thumbnails ohne (oben) und mit Optimus Optimierung
1
  === Optimus ===
2
+ Contributors: sergej.mueller, keycdn
3
  Tags: images, optimize, compress, progressive, performance, png, jpeg, webp
4
  Requires at least: 3.8
5
+ Tested up to: 4.2.2
6
  Stable tag: trunk
7
  License: GPLv2 or later
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
20
 
21
 
22
  > #### Optimus existiert in drei Varianten:
23
+ > 1. **Optimus** *(Free)* als Grundversion mit Einschränkungen (z.B. max. 100 KB für JPEGs)
24
+ > 2. **Optimus HQ** *(Premium)* mit erweitertem Funktionsumgang für Eigenprojekte
25
+ > 3. **Optimus HQ PRO** *(Premium)* als professionelle Lösung in Kunden-Websites
26
  >
27
+ > Alle Details zum Funktionsumfang und den einzelnen Preismodellen auf [optimus.io](https://optimus.io)
28
 
29
 
30
  = Das Prinzip =
54
 
55
  = Datenschutz =
56
  * Nach der Optimierung und Auslieferung der Bilder löscht der *Optimus*-Server die temporär angelegten Dateien unverzüglich. Keine Aufbewahrung!
57
+ * Der Server-Standort ist Deutschland.
58
 
59
 
60
  = Tipps =
78
 
79
 
80
  = Autor =
81
+ * [Twitter](https://twitter.com/keycdn)
82
+ * [Google+](https://plus.google.com/+Keycdn "Google+")
83
+ * [KeyCDN](https://www.keycdn.com "KeyCDN")
84
 
85
 
86
 
87
  == Changelog ==
88
 
89
+ = 1.3.7 =
90
+ * Erhöhung der Limits für alle Formate
91
+ * [Limits auf optimus.io](https://optimus.io)
92
+
93
  = 1.3.6 =
94
  * Neue Option: Keine Optimierung der Originalbilder
95
  * Korrektur: Löschung der WebP-Bilder im AJAX-Modus
211
  == Screenshots ==
212
 
213
  1. Anzeige der Komprimierung und der Bildmenge als Kreis
214
+ 2. Bild samt Thumbnails ohne (oben) und mit Optimus Optimierung