Smush Image Compression and Optimization - Version 2.1.2

Version Description

  • Fixed: Important fix for transient issue leading to mutliple api requests
Download this release

Release Info

Developer WPMUDEV
Plugin Icon 128x128 Smush Image Compression and Optimization
Version 2.1.2
Comparing to
See all releases

Code changes from version 2.1.1 to 2.1.2

languages/wp-smush.pot DELETED
@@ -1,370 +0,0 @@
1
- # Copyright (C) 2015 WP Smush
2
- # This file is distributed under the same license as the WP Smush package.
3
- msgid ""
4
- msgstr ""
5
- "Project-Id-Version: WP Smush 2.0.5\n"
6
- "Report-Msgid-Bugs-To: http://wordpress.org/support/plugin/wp-smush\n"
7
- "POT-Creation-Date: 2015-06-13 08:58+0530\n"
8
- "MIME-Version: 1.0\n"
9
- "Content-Type: text/plain; charset=UTF-8\n"
10
- "Content-Transfer-Encoding: 8bit\n"
11
- "PO-Revision-Date: 2015-06-13 08:58+0530\n"
12
- "X-Generator: Poedit 1.8.1\n"
13
- "Last-Translator: Umesh <umeshsingla05@gmail.com>\n"
14
- "Language-Team: \n"
15
-
16
- #. Plugin Name of the plugin/theme
17
- #: lib/class-wp-smush-admin.php:106 lib/class-wp-smush-admin.php:290
18
- msgid "WP Smush"
19
- msgstr ""
20
-
21
- #: lib/class-wp-smush-admin.php:209 lib/class-wp-smush-admin.php:980
22
- #: lib/class-wp-smush-admin.php:996
23
- msgid "Bulk Smush Now"
24
- msgstr ""
25
-
26
- #: lib/class-wp-smush-admin.php:211 lib/class-wp-smush-admin.php:1000
27
- msgid "Bulk Smush %d Attachments"
28
- msgstr ""
29
-
30
- #: lib/class-wp-smush-admin.php:215
31
- msgid "Smushing in Progress"
32
- msgstr ""
33
-
34
- #: lib/class-wp-smush-admin.php:216 lib/class-wp-smush-admin.php:990
35
- msgid "All Done!"
36
- msgstr ""
37
-
38
- #: lib/class-wp-smush-admin.php:218
39
- msgid "Ops!... something went wrong"
40
- msgstr ""
41
-
42
- #: lib/class-wp-smush-admin.php:219 wp-smush.php:712
43
- msgid "Super-Smush"
44
- msgstr ""
45
-
46
- #: lib/class-wp-smush-admin.php:220
47
- msgid "Smush it"
48
- msgstr ""
49
-
50
- #: lib/class-wp-smush-admin.php:221
51
- msgid "Smush Now"
52
- msgstr ""
53
-
54
- #: lib/class-wp-smush-admin.php:222
55
- msgid "Sending ..."
56
- msgstr ""
57
-
58
- #: lib/class-wp-smush-admin.php:223
59
- msgid "{{errors}} image(s) were skipped due to an error."
60
- msgstr ""
61
-
62
- #: lib/class-wp-smush-admin.php:224
63
- msgid "All images are Super-Smushed."
64
- msgstr ""
65
-
66
- #: lib/class-wp-smush-admin.php:262
67
- msgid "Auto-Smush images on upload"
68
- msgstr ""
69
-
70
- #: lib/class-wp-smush-admin.php:263
71
- msgid "Super-Smush images"
72
- msgstr ""
73
-
74
- #: lib/class-wp-smush-admin.php:263
75
- msgid "lossy optimization"
76
- msgstr ""
77
-
78
- #: lib/class-wp-smush-admin.php:264
79
- msgid "Backup original images"
80
- msgstr ""
81
-
82
- #: lib/class-wp-smush-admin.php:264
83
- msgid "this will nearly double the size of your uploads directory"
84
- msgstr ""
85
-
86
- #: lib/class-wp-smush-admin.php:288
87
- msgid "WP Smush Pro"
88
- msgstr ""
89
-
90
- #: lib/class-wp-smush-admin.php:296
91
- msgid "Thanks for using WP Smush Pro! You now can:"
92
- msgstr ""
93
-
94
- #: lib/class-wp-smush-admin.php:298 lib/class-wp-smush-admin.php:309
95
- msgid ""
96
- "\"Super-Smush\" your images with our intelligent multi-pass lossy "
97
- "compression. Get 2&times; more compression than lossless with almost no "
98
- "noticeable quality loss!"
99
- msgstr ""
100
-
101
- #: lib/class-wp-smush-admin.php:299 lib/class-wp-smush-admin.php:310
102
- msgid ""
103
- "Get the best lossless compression. We try multiple methods to squeeze every "
104
- "last byte out of your images."
105
- msgstr ""
106
-
107
- #: lib/class-wp-smush-admin.php:300
108
- msgid "Smush images up to 32MB."
109
- msgstr ""
110
-
111
- #: lib/class-wp-smush-admin.php:301
112
- msgid "Bulk smush ALL your images with one click!"
113
- msgstr ""
114
-
115
- #: lib/class-wp-smush-admin.php:302 lib/class-wp-smush-admin.php:313
116
- msgid ""
117
- "Keep a backup of your original un-smushed images in case you want to restore "
118
- "later."
119
- msgstr ""
120
-
121
- #: lib/class-wp-smush-admin.php:307
122
- msgid "Upgrade to WP Smush Pro to:"
123
- msgstr ""
124
-
125
- #: lib/class-wp-smush-admin.php:311
126
- msgid "Smush images greater than 1MB."
127
- msgstr ""
128
-
129
- #: lib/class-wp-smush-admin.php:312
130
- msgid "Bulk smush ALL your images with one click! No more rate limiting."
131
- msgstr ""
132
-
133
- #: lib/class-wp-smush-admin.php:314
134
- msgid ""
135
- "Access 24/7/365 support from <a href=\"https://premium.wpmudev.org/support/?"
136
- "utm_source=wordpress.org&utm_medium=plugin&utm_campaign=WP%20Smush%20Upgrade"
137
- "\">the best WordPress support team on the planet</a>."
138
- msgstr ""
139
-
140
- #: lib/class-wp-smush-admin.php:315
141
- msgid ""
142
- "Download <a href=\"https://premium.wpmudev.org/?utm_source=wordpress."
143
- "org&utm_medium=plugin&utm_campaign=WP%20Smush%20Upgrade\">350+ other premium "
144
- "plugins and themes</a> included in your membership."
145
- msgstr ""
146
-
147
- #: lib/class-wp-smush-admin.php:318
148
- msgid "Upgrade Now &raquo;"
149
- msgstr ""
150
-
151
- #: lib/class-wp-smush-admin.php:321
152
- msgid ""
153
- "Already upgraded to a WPMU DEV membership? Install and Login to our "
154
- "Dashboard plugin to enable Smush Pro features."
155
- msgstr ""
156
-
157
- #: lib/class-wp-smush-admin.php:330
158
- msgid "Activate WPMU DEV Dashboard"
159
- msgstr ""
160
-
161
- #: lib/class-wp-smush-admin.php:333
162
- msgid "Install WPMU DEV Dashboard"
163
- msgstr ""
164
-
165
- #: lib/class-wp-smush-admin.php:344 lib/class-wp-smush-admin.php:1049
166
- msgid "Settings"
167
- msgstr ""
168
-
169
- #: lib/class-wp-smush-admin.php:430
170
- msgid "Save Changes"
171
- msgstr ""
172
-
173
- #: lib/class-wp-smush-admin.php:502
174
- msgid ""
175
- "%d image is over 1MB so will be skipped using the free version of the plugin."
176
- msgid_plural ""
177
- "%d images are over 1MB so will be skipped using the free version of the "
178
- "plugin."
179
- msgstr[0] ""
180
- msgstr[1] ""
181
-
182
- #: lib/class-wp-smush-admin.php:511
183
- msgid "Smush in Bulk"
184
- msgstr ""
185
-
186
- #: lib/class-wp-smush-admin.php:516
187
- msgid "Congratulations, all your images are currently Smushed!"
188
- msgstr ""
189
-
190
- #: lib/class-wp-smush-admin.php:525
191
- msgid "%d attachment in your media library has not been smushed."
192
- msgid_plural ""
193
- "%d image attachments in your media library have not been smushed yet."
194
- msgstr[0] ""
195
- msgstr[1] ""
196
-
197
- #: lib/class-wp-smush-admin.php:529
198
- msgid "Remove size limit &raquo;"
199
- msgstr ""
200
-
201
- #: lib/class-wp-smush-admin.php:534
202
- msgid ""
203
- "Please be aware, smushing a large number of images can take a while "
204
- "depending on your server and network speed.\n"
205
- "\t\t\t\t\t\t<strong>You must keep this page open while the bulk smush is "
206
- "processing</strong>, but you can leave at any time and come back to continue "
207
- "where it left off."
208
- msgstr ""
209
-
210
- #: lib/class-wp-smush-admin.php:539
211
- msgid ""
212
- "Free accounts are limited to bulk smushing %d attachments per request. You "
213
- "will need to click to start a new bulk job after each %d attachments."
214
- msgstr ""
215
-
216
- #: lib/class-wp-smush-admin.php:540
217
- msgid "Remove limits &raquo;"
218
- msgstr ""
219
-
220
- #: lib/class-wp-smush-admin.php:560
221
- msgid ""
222
- "When you <a href=\"%s\">upload some images</a> they will be available to "
223
- "smush here."
224
- msgstr ""
225
-
226
- #: lib/class-wp-smush-admin.php:566 lib/class-wp-smush-admin.php:802
227
- msgid ""
228
- "You can also smush images individually from your <a href=\"%s\">Media "
229
- "Library</a>."
230
- msgstr ""
231
-
232
- #: lib/class-wp-smush-admin.php:618
233
- msgid "Reduced by "
234
- msgstr ""
235
-
236
- #: lib/class-wp-smush-admin.php:628
237
- msgid ""
238
- "<span class=\"done-count\">%d</span> of <span class=\"total-count\">%d</"
239
- "span> total attachments have been smushed"
240
- msgstr ""
241
-
242
- #: lib/class-wp-smush-admin.php:698
243
- msgid "You don't have permission to work with uploaded files."
244
- msgstr ""
245
-
246
- #: lib/class-wp-smush-admin.php:702
247
- msgid "No attachment ID was provided."
248
- msgstr ""
249
-
250
- #: lib/class-wp-smush-admin.php:772
251
- msgid "<p>Please <a href=\"%s\">upload some images</a>.</p>"
252
- msgstr ""
253
-
254
- #: lib/class-wp-smush-admin.php:790
255
- msgid "All your images are already smushed!"
256
- msgstr ""
257
-
258
- #: lib/class-wp-smush-admin.php:890
259
- msgid "<strong>%d of %d images</strong> were sent for smushing:"
260
- msgstr ""
261
-
262
- #: lib/class-wp-smush-admin.php:1176
263
- msgid "Super-Smush Images"
264
- msgstr ""
265
-
266
- #: lib/class-wp-smush-admin.php:1177
267
- msgid ""
268
- "We found attachments that were previously smushed losslessly. If desired you "
269
- "can Super-Smush them now for more savings with almost no noticeable quality "
270
- "loss."
271
- msgstr ""
272
-
273
- #: lib/class-wp-smush-admin.php:1185
274
- msgid ""
275
- "<span class=\"remaining-count\">%d</span> attachment left to Super-Smush"
276
- msgid_plural ""
277
- "<span class=\"remaining-count\">%d</span> attachments left to Super-Smush"
278
- msgstr[0] ""
279
- msgstr[1] ""
280
-
281
- #: wp-smush.php:142
282
- msgid "File path is empty"
283
- msgstr ""
284
-
285
- #: wp-smush.php:146
286
- msgid "File URL is empty"
287
- msgstr ""
288
-
289
- #: wp-smush.php:151
290
- msgid "Could not find %s"
291
- msgstr ""
292
-
293
- #: wp-smush.php:156
294
- msgid "%s is not writable"
295
- msgstr ""
296
-
297
- #: wp-smush.php:166
298
- msgid "Skipped (%s), image not found."
299
- msgstr ""
300
-
301
- #: wp-smush.php:171
302
- msgid "Skipped (%s), size limit exceeded."
303
- msgstr ""
304
-
305
- #: wp-smush.php:186
306
- msgid "Unknown API error"
307
- msgstr ""
308
-
309
- #: wp-smush.php:330
310
- msgid "Size '%s' not processed correctly"
311
- msgstr ""
312
-
313
- #: wp-smush.php:352 wp-smush.php:360
314
- msgid "Size 'full' not processed correctly"
315
- msgstr ""
316
-
317
- #: wp-smush.php:476
318
- msgid "Error posting to API: %s"
319
- msgstr ""
320
-
321
- #: wp-smush.php:482
322
- msgid "Error posting to API: %s %s"
323
- msgstr ""
324
-
325
- #: wp-smush.php:499
326
- msgid "Smush data corrupted, try again."
327
- msgstr ""
328
-
329
- #: wp-smush.php:515
330
- msgid "Image couldn't be smushed"
331
- msgstr ""
332
-
333
- #: wp-smush.php:686
334
- msgid "Error processing request"
335
- msgstr ""
336
-
337
- #: wp-smush.php:690
338
- msgid "Already Optimized"
339
- msgstr ""
340
-
341
- #: wp-smush.php:692
342
- msgid "Reduced by %s ( %01.1f%% )"
343
- msgstr ""
344
-
345
- #: wp-smush.php:718
346
- msgid "Not processed"
347
- msgstr ""
348
-
349
- #: wp-smush.php:724
350
- msgid "Smush Now!"
351
- msgstr ""
352
-
353
- #. Plugin URI of the plugin/theme
354
- msgid "http://wordpress.org/extend/plugins/wp-smushit/"
355
- msgstr ""
356
-
357
- #. Description of the plugin/theme
358
- msgid ""
359
- "Reduce image file sizes, improve performance and boost your SEO using the "
360
- "free <a href=\"https://premium.wpmudev.org/\">WPMU DEV</a> WordPress Smush "
361
- "API."
362
- msgstr ""
363
-
364
- #. Author of the plugin/theme
365
- msgid "WPMU DEV"
366
- msgstr ""
367
-
368
- #. Author URI of the plugin/theme
369
- msgid "http://premium.wpmudev.org/"
370
- msgstr ""
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
languages/wp-smushit.pot CHANGED
@@ -2,9 +2,9 @@
2
  # This file is distributed under the same license as the WP Smush package.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: WP Smush 2.1\n"
6
- "Report-Msgid-Bugs-To: http://wordpress.org/support/plugin/wp-smush\n"
7
- "POT-Creation-Date: 2015-11-03 18:29:00+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
@@ -75,7 +75,7 @@ msgstr ""
75
  msgid "Ops!... something went wrong"
76
  msgstr ""
77
 
78
- #: lib/class-wp-smush-admin.php:266 lib/class-wp-smush.php:755
79
  #: lib/nextgen-integration/class-wp-smush-nextgen-admin.php:147
80
  #: lib/nextgen-integration/class-wp-smush-nextgen-stats.php:230
81
  msgid "Super-Smush"
@@ -110,7 +110,7 @@ msgstr ""
110
  msgid "Smush all images, including originals."
111
  msgstr ""
112
 
113
- #: lib/class-wp-smush-admin.php:313 lib/class-wp-smush.php:1067
114
  msgid "When you upload an image to WordPress it automatically creates %s thumbnail sizes that are commonly used in your pages. WordPress also stores the original full-size image, but because these are not usually embedded on your site we don’t Smush them. Pro users can override this."
115
  msgstr ""
116
 
@@ -383,57 +383,57 @@ msgstr ""
383
  msgid "Image couldn't be smushed"
384
  msgstr ""
385
 
386
- #: lib/class-wp-smush.php:719
387
  #: lib/nextgen-integration/class-wp-smush-nextgen-stats.php:185
388
  msgid "Error processing request"
389
  msgstr ""
390
 
391
- #: lib/class-wp-smush.php:723
392
  #: lib/nextgen-integration/class-wp-smush-nextgen-stats.php:189
393
  msgid "Already Optimized"
394
  msgstr ""
395
 
396
- #: lib/class-wp-smush.php:725
397
  msgid "%d images reduced "
398
  msgstr ""
399
 
400
- #: lib/class-wp-smush.php:725
401
  msgid "Reduced "
402
  msgstr ""
403
 
404
- #: lib/class-wp-smush.php:726
405
  msgid "by %s ( %01.1f%% )"
406
  msgstr ""
407
 
408
- #: lib/class-wp-smush.php:731
409
  #: lib/nextgen-integration/class-wp-smush-nextgen-stats.php:195
410
  msgid "Smush stats"
411
  msgstr ""
412
 
413
- #: lib/class-wp-smush.php:761
414
  #: lib/nextgen-integration/class-wp-smush-nextgen-admin.php:246
415
  msgid "Not processed"
416
  msgstr ""
417
 
418
- #: lib/class-wp-smush.php:767
419
  #: lib/nextgen-integration/class-wp-smush-nextgen-admin.php:252
420
  msgid "Smush Now!"
421
  msgstr ""
422
 
423
- #: lib/class-wp-smush.php:1070
424
  msgid "Image couldn't be smushed as it exceeded the 1Mb size limit, Pro users can smush images with size upto 32Mb."
425
  msgstr ""
426
 
427
- #: lib/class-wp-smush.php:1072
428
  msgid " Skipped"
429
  msgstr ""
430
 
431
- #: lib/class-wp-smush.php:1090
432
  #: lib/nextgen-integration/class-wp-smush-nextgen-stats.php:329
433
  msgid "Image size"
434
  msgstr ""
435
 
436
- #: lib/class-wp-smush.php:1091
437
  #: lib/nextgen-integration/class-wp-smush-nextgen-stats.php:330
438
  msgid "Savings"
439
  msgstr ""
2
  # This file is distributed under the same license as the WP Smush package.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: WP Smush 2.1.2\n"
6
+ "Report-Msgid-Bugs-To: http://wordpress.org/support/plugin/wp-smushit\n"
7
+ "POT-Creation-Date: 2015-11-10 17:31:38+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
75
  msgid "Ops!... something went wrong"
76
  msgstr ""
77
 
78
+ #: lib/class-wp-smush-admin.php:266 lib/class-wp-smush.php:804
79
  #: lib/nextgen-integration/class-wp-smush-nextgen-admin.php:147
80
  #: lib/nextgen-integration/class-wp-smush-nextgen-stats.php:230
81
  msgid "Super-Smush"
110
  msgid "Smush all images, including originals."
111
  msgstr ""
112
 
113
+ #: lib/class-wp-smush-admin.php:313 lib/class-wp-smush.php:1116
114
  msgid "When you upload an image to WordPress it automatically creates %s thumbnail sizes that are commonly used in your pages. WordPress also stores the original full-size image, but because these are not usually embedded on your site we don’t Smush them. Pro users can override this."
115
  msgstr ""
116
 
383
  msgid "Image couldn't be smushed"
384
  msgstr ""
385
 
386
+ #: lib/class-wp-smush.php:768
387
  #: lib/nextgen-integration/class-wp-smush-nextgen-stats.php:185
388
  msgid "Error processing request"
389
  msgstr ""
390
 
391
+ #: lib/class-wp-smush.php:772
392
  #: lib/nextgen-integration/class-wp-smush-nextgen-stats.php:189
393
  msgid "Already Optimized"
394
  msgstr ""
395
 
396
+ #: lib/class-wp-smush.php:774
397
  msgid "%d images reduced "
398
  msgstr ""
399
 
400
+ #: lib/class-wp-smush.php:774
401
  msgid "Reduced "
402
  msgstr ""
403
 
404
+ #: lib/class-wp-smush.php:775
405
  msgid "by %s ( %01.1f%% )"
406
  msgstr ""
407
 
408
+ #: lib/class-wp-smush.php:780
409
  #: lib/nextgen-integration/class-wp-smush-nextgen-stats.php:195
410
  msgid "Smush stats"
411
  msgstr ""
412
 
413
+ #: lib/class-wp-smush.php:810
414
  #: lib/nextgen-integration/class-wp-smush-nextgen-admin.php:246
415
  msgid "Not processed"
416
  msgstr ""
417
 
418
+ #: lib/class-wp-smush.php:816
419
  #: lib/nextgen-integration/class-wp-smush-nextgen-admin.php:252
420
  msgid "Smush Now!"
421
  msgstr ""
422
 
423
+ #: lib/class-wp-smush.php:1119
424
  msgid "Image couldn't be smushed as it exceeded the 1Mb size limit, Pro users can smush images with size upto 32Mb."
425
  msgstr ""
426
 
427
+ #: lib/class-wp-smush.php:1121
428
  msgid " Skipped"
429
  msgstr ""
430
 
431
+ #: lib/class-wp-smush.php:1139
432
  #: lib/nextgen-integration/class-wp-smush-nextgen-stats.php:329
433
  msgid "Image size"
434
  msgstr ""
435
 
436
+ #: lib/class-wp-smush.php:1140
437
  #: lib/nextgen-integration/class-wp-smush-nextgen-stats.php:330
438
  msgid "Savings"
439
  msgstr ""
lib/class-wp-smush-admin.php CHANGED
@@ -1335,15 +1335,11 @@ if ( ! class_exists( 'WpSmushitAdmin' ) ) {
1335
  }
1336
 
1337
  /**
1338
- * Delete Site transient, stored for api status
1339
  */
1340
  function refresh_status() {
1341
- global $WpSmush;
1342
-
1343
- $api_key = $WpSmush->_get_api_key();
1344
- $key = "wp-smush-premium-" . substr( $api_key, - 5, 5 );
1345
 
1346
- delete_site_transient( $key );
1347
  }
1348
  }
1349
 
1335
  }
1336
 
1337
  /**
1338
+ * Delete Site Option, stored for api status
1339
  */
1340
  function refresh_status() {
 
 
 
 
1341
 
1342
+ delete_site_option('wp_smush_api_auth');
1343
  }
1344
  }
1345
 
lib/class-wp-smush.php CHANGED
@@ -48,8 +48,8 @@ if ( ! class_exists( 'WpSmush' ) ) {
48
  //Auto Smush the new image
49
  if ( $auto_smush ) {
50
  add_filter( 'wp_update_attachment_metadata', array(
51
- $this,
52
- 'filter_generate_attachment_metadata'
53
  ), 12, 2 );
54
  }
55
 
@@ -209,11 +209,11 @@ if ( ! class_exists( 'WpSmush' ) ) {
209
  */
210
  function _get_size_signature() {
211
  return array(
212
- 'percent' => - 1,
213
- 'bytes' => - 1,
214
- 'size_before' => - 1,
215
- 'size_after' => - 1,
216
- 'time' => - 1
217
  );
218
  }
219
 
@@ -237,12 +237,12 @@ if ( ! class_exists( 'WpSmush' ) ) {
237
 
238
  $errors = new WP_Error();
239
  $stats = array(
240
- "stats" => array_merge( $this->_get_size_signature(), array(
241
- 'api_version' => - 1,
242
- 'lossy' => - 1
243
- )
244
- ),
245
- 'sizes' => array()
246
  );
247
 
248
  $size_before = $size_after = $compression = $total_time = $bytes_saved = 0;
@@ -288,13 +288,13 @@ if ( ! class_exists( 'WpSmush' ) ) {
288
  }
289
  if( $ext ) {
290
  $valid_mime = array_search(
291
- $ext,
292
- array(
293
- 'jpg' => 'image/jpeg',
294
- 'png' => 'image/png',
295
- 'gif' => 'image/gif',
296
- ),
297
- true
298
  );
299
  if ( false === $valid_mime ) {
300
  continue;
@@ -325,7 +325,7 @@ if ( ! class_exists( 'WpSmush' ) ) {
325
  //Total Stats, store all data in bytes
326
  if ( isset( $response['data'] ) ) {
327
  list( $size_before, $size_after, $total_time, $compression, $bytes_saved )
328
- = $this->_update_stats_data( $response['data'], $size_before, $size_after, $total_time, $bytes_saved );
329
  } else {
330
  $errors->add( "image_size_error" . $size_key, sprintf( __( "Size '%s' not processed correctly", 'wp-smushit' ), $size_key ) );
331
  }
@@ -365,7 +365,7 @@ if ( ! class_exists( 'WpSmush' ) ) {
365
  //Update stats
366
  if ( isset( $full_image_response['data'] ) ) {
367
  list( $size_before, $size_after, $total_time, $compression, $bytes_saved )
368
- = $this->_update_stats_data( $full_image_response['data'], $size_before, $size_after, $total_time, $bytes_saved );
369
  } else {
370
  $errors->add( "image_size_error", __( "Size 'full' not processed correctly", 'wp-smushit' ) );
371
  }
@@ -383,7 +383,7 @@ if ( ! class_exists( 'WpSmush' ) ) {
383
  $has_errors = (bool) count( $errors->get_error_messages() );
384
 
385
  list( $stats['stats']['size_before'], $stats['stats']['size_after'], $stats['stats']['time'], $stats['stats']['percent'], $stats['stats']['bytes'] ) =
386
- array( $size_before, $size_after, $total_time, $compression, $bytes_saved );
387
 
388
  //Set smush status for all the images, store it in wp-smpro-smush-data
389
  if ( ! $has_errors ) {
@@ -461,8 +461,8 @@ if ( ! class_exists( 'WpSmush' ) ) {
461
  $file = @fopen( $file_path, 'r' );
462
  $file_data = fread( $file, $file_size );
463
  $headers = array(
464
- 'accept' => 'application/json', // The API returns JSON
465
- 'content-type' => 'application/binary', // Set content type to binary
466
  );
467
 
468
  //Check if premium member, add API key
@@ -482,10 +482,10 @@ if ( ! class_exists( 'WpSmush' ) ) {
482
 
483
  $api_url = defined( 'WP_SMUSH_API_HTTP' ) ? WP_SMUSH_API_HTTP : WP_SMUSH_API;
484
  $args = array(
485
- 'headers' => $headers,
486
- 'body' => $file_data,
487
- 'timeout' => WP_SMUSH_TIMEOUT,
488
- 'user-agent' => WP_SMUSH_UA,
489
  );
490
  $result = wp_remote_post( $api_url, $args );
491
 
@@ -598,41 +598,88 @@ if ( ! class_exists( 'WpSmush' ) ) {
598
 
599
  //no api key set, always false
600
  $api_key = $this->_get_api_key();
 
601
  if ( empty( $api_key ) ) {
602
  return false;
603
  }
604
 
605
- //W3TC disk cache is buggy and always converts 0 to false, so we have to store as string
606
- $key = "wp-smush-premium-" . substr( $api_key, - 5, 5 ); //add last 5 chars of apikey to transient key in case it changes
607
- $valid = get_site_transient( $key );
608
- if ( empty( $valid ) ) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
609
  // call api
610
  $url = $this->api_server . '&key=' . urlencode( $api_key );
611
 
612
  $request = wp_remote_get( $url, array(
613
- "user-agent" => WP_SMUSH_UA,
614
- "timeout" => 10
615
- )
616
  );
617
 
618
  if ( ! is_wp_error( $request ) && '200' == wp_remote_retrieve_response_code( $request ) ) {
619
  $result = json_decode( wp_remote_retrieve_body( $request ) );
620
  if ( $result && $result->success ) {
621
- $valid = 'true';
622
- set_site_transient( $key, 'true', 12 * HOUR_IN_SECONDS );
623
  } else {
624
- $valid = 'false';
625
- set_site_transient( $key, 'false', DAY_IN_SECONDS );
626
  }
627
 
628
  } else {
629
- $valid = 'false';
630
- set_site_transient( $key, 'false', 5 * MINUTE_IN_SECONDS ); //cache network failure even shorter, we don't want a request every pageload
631
  }
632
 
 
 
 
 
 
 
 
 
 
 
633
  }
634
 
635
- $this->is_pro = ( 'true' == $valid );
636
 
637
  return $this->is_pro;
638
  }
@@ -913,7 +960,7 @@ if ( ! class_exists( 'WpSmush' ) ) {
913
  //Update total bytes saved, and compression percent
914
  //Update Main Stats
915
  list( $stats['stats']['size_before'], $stats['stats']['size_after'], $stats['stats']['time'], $stats['stats']['percent'], $stats['stats']['bytes'] ) =
916
- $this->_update_stats_data( $data, $stats['stats']['size_before'], $stats['stats']['size_after'], $stats['stats']['time'], $stats['stats']['bytes'] );
917
 
918
 
919
  //Update stats for each size
@@ -932,18 +979,18 @@ if ( ! class_exists( 'WpSmush' ) ) {
932
  } else {
933
  //Create new stats
934
  $stats = array(
935
- "stats" => array_merge( $this->_get_size_signature(), array(
936
- 'api_version' => - 1,
937
- 'lossy' => - 1
938
- )
939
- ),
940
- 'sizes' => array()
941
  );
942
  $stats['stats']['api_version'] = $data->api_version;
943
  $stats['stats']['lossy'] = $data->lossy;
944
  //Update Main Stats
945
  list( $stats['stats']['size_before'], $stats['stats']['size_after'], $stats['stats']['time'], $stats['stats']['percent'], $stats['stats']['bytes'] ) =
946
- array( $data->before_size, $data->after_size, $data->time, $data->compression, $data->bytes_saved );
947
  //Update size wise details
948
  $stats['sizes'][ $image_size ] = (object) $this->_array_fill_placeholders( $this->_get_size_signature(), (array) $data );
949
  }
@@ -1018,21 +1065,21 @@ if ( ! class_exists( 'WpSmush' ) ) {
1018
  $file_size = file_exists( $full_image ) ? filesize( $full_image ) : '';
1019
  if ( !empty( $file_size ) && ( $file_size / WP_SMUSH_MAX_BYTES ) > 1 ) {
1020
  $skipped[] = array(
1021
- 'size' => 'full',
1022
- 'reason' => 'size_limit'
1023
  );
1024
  }else{
1025
  $skipped[] = array(
1026
- 'size' => 'full',
1027
- 'reason' => 'large_size'
1028
  );
1029
  }
1030
  } else {
1031
  //Paid version, Check if we have large size
1032
  if ( array_key_exists( 'large', $size_stats ) ) {
1033
  $skipped[] = array(
1034
- 'size' => 'full',
1035
- 'reason' => 'large_size'
1036
  );
1037
  }
1038
 
@@ -1048,8 +1095,8 @@ if ( ! class_exists( 'WpSmush' ) ) {
1048
  $image_size = file_exists( $img_path ) ? filesize( $img_path ) : '';
1049
  if ( ! empty( $image_size ) && ( $image_size / WP_SMUSH_MAX_BYTES ) > 1 ) {
1050
  $skipped[] = array(
1051
- 'size' => 'full',
1052
- 'reason' => 'size_limit'
1053
  );
1054
  }
1055
  }
@@ -1068,8 +1115,8 @@ if ( ! class_exists( 'WpSmush' ) ) {
1068
  $count = count( get_intermediate_image_sizes() );
1069
  $smush_orgnl_txt = sprintf( esc_html__("When you upload an image to WordPress it automatically creates %s thumbnail sizes that are commonly used in your pages. WordPress also stores the original full-size image, but because these are not usually embedded on your site we don’t Smush them. Pro users can override this.", 'wp_smushit'), $count );
1070
  $skip_msg = array(
1071
- 'large_size' => $smush_orgnl_txt,
1072
- 'size_limit' => esc_html__( "Image couldn't be smushed as it exceeded the 1Mb size limit, Pro users can smush images with size upto 32Mb.", "wp-smushit" )
1073
  );
1074
  $skip_rsn = !empty( $skip_msg[$msg_id ] ) ? esc_html__(" Skipped", 'wp-smushit', 'wp-smushit'): '';
1075
  $skip_rsn = ! empty( $skip_rsn ) ? $skip_rsn . '<span class="dashicons dashicons-editor-help" title="' . $skip_msg[ $msg_id ] . '"></span>' : '';
@@ -1197,15 +1244,15 @@ if ( ! class_exists( 'WpSmush' ) ) {
1197
 
1198
  if ( isset( $orderby ) && 'smushit' == $orderby ) {
1199
  $query->set( 'meta_query', array(
1200
- 'relation' => 'OR',
1201
- array(
1202
- 'key' => $this->smushed_meta_key,
1203
- 'compare' => 'EXISTS'
1204
- ),
1205
- array(
1206
- 'key' => $this->smushed_meta_key,
1207
- 'compare' => 'NOT EXISTS'
1208
- )
1209
  ) );
1210
  $query->set( 'orderby', 'meta_value_num' );
1211
  }
48
  //Auto Smush the new image
49
  if ( $auto_smush ) {
50
  add_filter( 'wp_update_attachment_metadata', array(
51
+ $this,
52
+ 'filter_generate_attachment_metadata'
53
  ), 12, 2 );
54
  }
55
 
209
  */
210
  function _get_size_signature() {
211
  return array(
212
+ 'percent' => - 1,
213
+ 'bytes' => - 1,
214
+ 'size_before' => - 1,
215
+ 'size_after' => - 1,
216
+ 'time' => - 1
217
  );
218
  }
219
 
237
 
238
  $errors = new WP_Error();
239
  $stats = array(
240
+ "stats" => array_merge( $this->_get_size_signature(), array(
241
+ 'api_version' => - 1,
242
+ 'lossy' => - 1
243
+ )
244
+ ),
245
+ 'sizes' => array()
246
  );
247
 
248
  $size_before = $size_after = $compression = $total_time = $bytes_saved = 0;
288
  }
289
  if( $ext ) {
290
  $valid_mime = array_search(
291
+ $ext,
292
+ array(
293
+ 'jpg' => 'image/jpeg',
294
+ 'png' => 'image/png',
295
+ 'gif' => 'image/gif',
296
+ ),
297
+ true
298
  );
299
  if ( false === $valid_mime ) {
300
  continue;
325
  //Total Stats, store all data in bytes
326
  if ( isset( $response['data'] ) ) {
327
  list( $size_before, $size_after, $total_time, $compression, $bytes_saved )
328
+ = $this->_update_stats_data( $response['data'], $size_before, $size_after, $total_time, $bytes_saved );
329
  } else {
330
  $errors->add( "image_size_error" . $size_key, sprintf( __( "Size '%s' not processed correctly", 'wp-smushit' ), $size_key ) );
331
  }
365
  //Update stats
366
  if ( isset( $full_image_response['data'] ) ) {
367
  list( $size_before, $size_after, $total_time, $compression, $bytes_saved )
368
+ = $this->_update_stats_data( $full_image_response['data'], $size_before, $size_after, $total_time, $bytes_saved );
369
  } else {
370
  $errors->add( "image_size_error", __( "Size 'full' not processed correctly", 'wp-smushit' ) );
371
  }
383
  $has_errors = (bool) count( $errors->get_error_messages() );
384
 
385
  list( $stats['stats']['size_before'], $stats['stats']['size_after'], $stats['stats']['time'], $stats['stats']['percent'], $stats['stats']['bytes'] ) =
386
+ array( $size_before, $size_after, $total_time, $compression, $bytes_saved );
387
 
388
  //Set smush status for all the images, store it in wp-smpro-smush-data
389
  if ( ! $has_errors ) {
461
  $file = @fopen( $file_path, 'r' );
462
  $file_data = fread( $file, $file_size );
463
  $headers = array(
464
+ 'accept' => 'application/json', // The API returns JSON
465
+ 'content-type' => 'application/binary', // Set content type to binary
466
  );
467
 
468
  //Check if premium member, add API key
482
 
483
  $api_url = defined( 'WP_SMUSH_API_HTTP' ) ? WP_SMUSH_API_HTTP : WP_SMUSH_API;
484
  $args = array(
485
+ 'headers' => $headers,
486
+ 'body' => $file_data,
487
+ 'timeout' => WP_SMUSH_TIMEOUT,
488
+ 'user-agent' => WP_SMUSH_UA,
489
  );
490
  $result = wp_remote_post( $api_url, $args );
491
 
598
 
599
  //no api key set, always false
600
  $api_key = $this->_get_api_key();
601
+
602
  if ( empty( $api_key ) ) {
603
  return false;
604
  }
605
 
606
+ //Flag to check if we need to revalidate the key
607
+ $revalidate = false;
608
+
609
+ $api_auth = get_site_option('wp_smush_api_auth');
610
+
611
+ //Check if need to revalidate
612
+ if ( ! $api_auth || empty( $api_auth ) || empty( $api_auth[ $api_key ] ) ) {
613
+ $revalidate = true;
614
+ } else {
615
+ $last_checked = $api_auth[ $api_key ]['timestamp'];
616
+ $valid = $api_auth[ $api_key ]['validity'];
617
+
618
+ $diff = $last_checked - current_time( 'timestamp' );
619
+
620
+ //Difference in hours
621
+ $diff_h = $diff / 3600;
622
+
623
+ //Difference in minutes
624
+ $diff_m = $diff / 60;
625
+
626
+ switch ( $valid ) {
627
+ case 'valid':
628
+ //if last checked was more than 12 hours
629
+ if ( $diff_h > 12 ) {
630
+ $revalidate = true;
631
+ }
632
+ break;
633
+ case 'invalid':
634
+ //if last checked was more than 24 hours
635
+ if ( $diff_h > 24 ) {
636
+ $revalidate = true;
637
+ }
638
+ break;
639
+ case 'network_failure':
640
+ //if last checked was more than 5 minutes
641
+ if ( $diff_m > 5 ) {
642
+ $revalidate = true;
643
+ }
644
+ break;
645
+ }
646
+ }
647
+ //If we are suppose to validate api, update the results in options table
648
+ if ( $revalidate ) {
649
  // call api
650
  $url = $this->api_server . '&key=' . urlencode( $api_key );
651
 
652
  $request = wp_remote_get( $url, array(
653
+ "user-agent" => WP_SMUSH_UA,
654
+ "timeout" => 10
655
+ )
656
  );
657
 
658
  if ( ! is_wp_error( $request ) && '200' == wp_remote_retrieve_response_code( $request ) ) {
659
  $result = json_decode( wp_remote_retrieve_body( $request ) );
660
  if ( $result && $result->success ) {
661
+ $valid = 'valid';
 
662
  } else {
663
+ $valid = 'invalid';
 
664
  }
665
 
666
  } else {
667
+ $valid = 'network_failure';
 
668
  }
669
 
670
+ //Reset Value
671
+ $api_auth = array();
672
+
673
+ //Update Timestamp
674
+ $timestamp = current_time( 'timestamp' );
675
+ $api_auth[ $api_key ] = array( 'validity' => $valid, 'timestamp' => $timestamp );
676
+
677
+ //Update API validity
678
+ update_site_option( 'wp_smush_api_auth', $api_auth );
679
+
680
  }
681
 
682
+ $this->is_pro = ( 'valid' == $valid );
683
 
684
  return $this->is_pro;
685
  }
960
  //Update total bytes saved, and compression percent
961
  //Update Main Stats
962
  list( $stats['stats']['size_before'], $stats['stats']['size_after'], $stats['stats']['time'], $stats['stats']['percent'], $stats['stats']['bytes'] ) =
963
+ $this->_update_stats_data( $data, $stats['stats']['size_before'], $stats['stats']['size_after'], $stats['stats']['time'], $stats['stats']['bytes'] );
964
 
965
 
966
  //Update stats for each size
979
  } else {
980
  //Create new stats
981
  $stats = array(
982
+ "stats" => array_merge( $this->_get_size_signature(), array(
983
+ 'api_version' => - 1,
984
+ 'lossy' => - 1
985
+ )
986
+ ),
987
+ 'sizes' => array()
988
  );
989
  $stats['stats']['api_version'] = $data->api_version;
990
  $stats['stats']['lossy'] = $data->lossy;
991
  //Update Main Stats
992
  list( $stats['stats']['size_before'], $stats['stats']['size_after'], $stats['stats']['time'], $stats['stats']['percent'], $stats['stats']['bytes'] ) =
993
+ array( $data->before_size, $data->after_size, $data->time, $data->compression, $data->bytes_saved );
994
  //Update size wise details
995
  $stats['sizes'][ $image_size ] = (object) $this->_array_fill_placeholders( $this->_get_size_signature(), (array) $data );
996
  }
1065
  $file_size = file_exists( $full_image ) ? filesize( $full_image ) : '';
1066
  if ( !empty( $file_size ) && ( $file_size / WP_SMUSH_MAX_BYTES ) > 1 ) {
1067
  $skipped[] = array(
1068
+ 'size' => 'full',
1069
+ 'reason' => 'size_limit'
1070
  );
1071
  }else{
1072
  $skipped[] = array(
1073
+ 'size' => 'full',
1074
+ 'reason' => 'large_size'
1075
  );
1076
  }
1077
  } else {
1078
  //Paid version, Check if we have large size
1079
  if ( array_key_exists( 'large', $size_stats ) ) {
1080
  $skipped[] = array(
1081
+ 'size' => 'full',
1082
+ 'reason' => 'large_size'
1083
  );
1084
  }
1085
 
1095
  $image_size = file_exists( $img_path ) ? filesize( $img_path ) : '';
1096
  if ( ! empty( $image_size ) && ( $image_size / WP_SMUSH_MAX_BYTES ) > 1 ) {
1097
  $skipped[] = array(
1098
+ 'size' => 'full',
1099
+ 'reason' => 'size_limit'
1100
  );
1101
  }
1102
  }
1115
  $count = count( get_intermediate_image_sizes() );
1116
  $smush_orgnl_txt = sprintf( esc_html__("When you upload an image to WordPress it automatically creates %s thumbnail sizes that are commonly used in your pages. WordPress also stores the original full-size image, but because these are not usually embedded on your site we don’t Smush them. Pro users can override this.", 'wp_smushit'), $count );
1117
  $skip_msg = array(
1118
+ 'large_size' => $smush_orgnl_txt,
1119
+ 'size_limit' => esc_html__( "Image couldn't be smushed as it exceeded the 1Mb size limit, Pro users can smush images with size upto 32Mb.", "wp-smushit" )
1120
  );
1121
  $skip_rsn = !empty( $skip_msg[$msg_id ] ) ? esc_html__(" Skipped", 'wp-smushit', 'wp-smushit'): '';
1122
  $skip_rsn = ! empty( $skip_rsn ) ? $skip_rsn . '<span class="dashicons dashicons-editor-help" title="' . $skip_msg[ $msg_id ] . '"></span>' : '';
1244
 
1245
  if ( isset( $orderby ) && 'smushit' == $orderby ) {
1246
  $query->set( 'meta_query', array(
1247
+ 'relation' => 'OR',
1248
+ array(
1249
+ 'key' => $this->smushed_meta_key,
1250
+ 'compare' => 'EXISTS'
1251
+ ),
1252
+ array(
1253
+ 'key' => $this->smushed_meta_key,
1254
+ 'compare' => 'NOT EXISTS'
1255
+ )
1256
  ) );
1257
  $query->set( 'orderby', 'meta_value_num' );
1258
  }
readme.txt CHANGED
@@ -1,13 +1,13 @@
1
  === WP Smush ===
2
  Plugin Name: WP Smush
3
- Version: 2.1.1
4
  Author: WPMU DEV
5
  Author URI: http://premium.wpmudev.org/
6
  Contributors: WPMUDEV, alexdunae
7
  Tags: Attachment,Attachments,Compress,Compress Image File,Compress Image Size,Compress JPG,Compressed JPG, Compression Image,Image,Images,JPG,Optimise,Optimize,Photo,Photos,Pictures,PNG,Reduce Image Size,Smush,Smush.it,Upload,WordPress Compression,WordPress Image Tool,Yahoo, Yahoo Smush.it
8
  Requires at least: 3.5
9
  Tested up to: 4.3.1
10
- Stable tag: 2.1.1
11
  License: GPL v2 - http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
12
 
13
  Reduce image file sizes, improve performance and boost your SEO using the free <a href="https://premium.wpmudev.org/">WPMU DEV</a> WordPress Smush API.
@@ -16,9 +16,14 @@ Reduce image file sizes, improve performance and boost your SEO using the free <
16
 
17
  <blockquote>
18
  <h4>All new massively improved smushing!</h4>
19
- <br />
20
- Try now for a completely new, incredibly powerful, and 100% free image smushing process, brought to you by the team at WPMU DEV!
21
- <br>
 
 
 
 
 
22
  </blockquote>
23
 
24
  WP Smush strips hidden, bulky information from your images, reducing the file size without losing quality. The faster your site loads, the more Google, Bing, Yahoo and other search engines will like it.
@@ -81,6 +86,9 @@ Yahoo's Smush.it API is gone forever. So WPMU DEV built our own free API that is
81
 
82
  == Changelog ==
83
 
 
 
 
84
  = 2.1.1 =
85
  * Fixed: Workaround for terrible bug in W3TC file based object caching
86
 
1
  === WP Smush ===
2
  Plugin Name: WP Smush
3
+ Version: 2.1.2
4
  Author: WPMU DEV
5
  Author URI: http://premium.wpmudev.org/
6
  Contributors: WPMUDEV, alexdunae
7
  Tags: Attachment,Attachments,Compress,Compress Image File,Compress Image Size,Compress JPG,Compressed JPG, Compression Image,Image,Images,JPG,Optimise,Optimize,Photo,Photos,Pictures,PNG,Reduce Image Size,Smush,Smush.it,Upload,WordPress Compression,WordPress Image Tool,Yahoo, Yahoo Smush.it
8
  Requires at least: 3.5
9
  Tested up to: 4.3.1
10
+ Stable tag: 2.1.2
11
  License: GPL v2 - http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
12
 
13
  Reduce image file sizes, improve performance and boost your SEO using the free <a href="https://premium.wpmudev.org/">WPMU DEV</a> WordPress Smush API.
16
 
17
  <blockquote>
18
  <h4>All new massively improved smushing!</h4>
19
+
20
+ Try our completely new, incredibly powerful, and 100% free image Smusher, brought to you by the superheroes at WPMU DEV!
21
+ <br>
22
+ We'll do all the heavy lifting with our superhero servers, your site will be loading quicker in no time at all, leaving you to concentrate on making your content great!
23
+ <br>
24
+ Cheers<br>
25
+ WPMU DEVMan
26
+ <br>
27
  </blockquote>
28
 
29
  WP Smush strips hidden, bulky information from your images, reducing the file size without losing quality. The faster your site loads, the more Google, Bing, Yahoo and other search engines will like it.
86
 
87
  == Changelog ==
88
 
89
+ = 2.1.2 =
90
+ * Fixed: Important fix for transient issue leading to mutliple api requests
91
+
92
  = 2.1.1 =
93
  * Fixed: Workaround for terrible bug in W3TC file based object caching
94
 
wp-smush.php CHANGED
@@ -4,7 +4,7 @@ Plugin Name: WP Smush
4
  Plugin URI: http://wordpress.org/extend/plugins/wp-smushit/
5
  Description: Reduce image file sizes, improve performance and boost your SEO using the free <a href="https://premium.wpmudev.org/">WPMU DEV</a> WordPress Smush API.
6
  Author: WPMU DEV
7
- Version: 2.1.1
8
  Author URI: http://premium.wpmudev.org/
9
  Textdomain: wp-smushit
10
  */
@@ -35,7 +35,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
35
  * Constants
36
  */
37
  $prefix = 'WP_SMUSH_';
38
- $version = '2.1.1';
39
 
40
  /**
41
  * Set the default timeout for API request and AJAX timeout
4
  Plugin URI: http://wordpress.org/extend/plugins/wp-smushit/
5
  Description: Reduce image file sizes, improve performance and boost your SEO using the free <a href="https://premium.wpmudev.org/">WPMU DEV</a> WordPress Smush API.
6
  Author: WPMU DEV
7
+ Version: 2.1.2
8
  Author URI: http://premium.wpmudev.org/
9
  Textdomain: wp-smushit
10
  */
35
  * Constants
36
  */
37
  $prefix = 'WP_SMUSH_';
38
+ $version = '2.1.2';
39
 
40
  /**
41
  * Set the default timeout for API request and AJAX timeout