LiteSpeed Cache - Version 3.3.1

Version Description

  • Aug 12 2020 =
  • Page Optimize New option to Remove Noscript Tags. (@phuc88bmt)
  • LQIP Fixed a critical bug that bypassed all requests in v3.3.
  • LQIP Requests are now bypassed if domain has no credit left.
  • Page Optimize Inline defer will be bypassed if document listener is detected in the code. (@ssurfer)
  • CCSS Print-only styles will no longer be included in Critical CSS.
  • API Added hooks to Purge action to handle file deletions. (@biati)
  • Cloud Plain permalinks are no longer required for use of cloud services.
  • Data Added an access denial to work with OpenLiteSpeed. (@spenweb #PR228)
  • GUI Spelling and grammar adjustments. (@blastoise186 #PR253)
Download this release

Release Info

Developer LiteSpeedTech
Plugin Icon 128x128 LiteSpeed Cache
Version 3.3.1
Comparing to
See all releases

Code changes from version 3.3 to 3.3.1

data/.htaccess CHANGED
@@ -1,3 +1,7 @@
1
  Order Deny,Allow
 
2
 
3
- Deny from All
 
 
 
1
  Order Deny,Allow
2
+ Deny from All
3
 
4
+ <IfModule LiteSpeed>
5
+ RewriteEngine on
6
+ RewriteRule .* - [F,L]
7
+ </IfModule>
data/const.default.ini CHANGED
@@ -231,7 +231,7 @@ optm-ucss = false
231
  optm-ucss_async = false
232
 
233
  ; O_OPTM_UCSS_WHITELIST
234
- optm-ucss_whitelist = false
235
 
236
  ; O_OPTM_CSS_HTTP2
237
  optm-css_http2 = false
@@ -283,8 +283,12 @@ optm-js_defer = false
283
  ; O_OPTM_JS_INLINE_DEFER
284
  optm-js_inline_defer = false
285
 
 
286
  optm-emoji_rm = false
287
 
 
 
 
288
  optm-exc_jq = true
289
 
290
  optm-ggfonts_async = false
231
  optm-ucss_async = false
232
 
233
  ; O_OPTM_UCSS_WHITELIST
234
+ optm-ucss_whitelist = ''
235
 
236
  ; O_OPTM_CSS_HTTP2
237
  optm-css_http2 = false
283
  ; O_OPTM_JS_INLINE_DEFER
284
  optm-js_inline_defer = false
285
 
286
+ ; O_OPTM_EMOJI_RM
287
  optm-emoji_rm = false
288
 
289
+ ; O_OPTM_NOSCRIPT_RM
290
+ optm-noscript_rm = false
291
+
292
  optm-exc_jq = true
293
 
294
  optm-ggfonts_async = false
lang/litespeed-cache.pot CHANGED
@@ -2,9 +2,9 @@
2
  # This file is distributed under the same license as the LiteSpeed Cache package.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: LiteSpeed Cache 3.3\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/litespeed-cache\n"
7
- "POT-Creation-Date: 2020-08-06 17:29:54+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
@@ -66,7 +66,7 @@ msgstr ""
66
  msgid "Database"
67
  msgstr ""
68
 
69
- #: src/admin-display.cls.php:163 src/lang.cls.php:216
70
  msgid "Crawler"
71
  msgstr ""
72
 
@@ -90,9 +90,9 @@ msgstr ""
90
  #: src/admin-display.cls.php:764 src/admin-display.cls.php:799
91
  #: src/admin-display.cls.php:850 tpl/cache/settings-cache.tpl.php:19
92
  #: tpl/cache/settings_inc.cache_mobile.tpl.php:70 tpl/cdn/settings.tpl.php:49
93
- #: tpl/page_optm/settings_css.tpl.php:58 tpl/page_optm/settings_css.tpl.php:155
94
- #: tpl/page_optm/settings_css.tpl.php:172
95
- #: tpl/page_optm/settings_css.tpl.php:173 tpl/page_optm/settings_js.tpl.php:89
96
  #: tpl/page_optm/settings_media.tpl.php:156
97
  #: tpl/page_optm/settings_tuning.tpl.php:36
98
  #: tpl/page_optm/settings_tuning.tpl.php:78
@@ -103,9 +103,9 @@ msgstr ""
103
  #: src/admin-display.cls.php:765 src/admin-display.cls.php:798
104
  #: src/admin-display.cls.php:850 tpl/cache/settings-cache.tpl.php:19
105
  #: tpl/cache/settings_inc.object.tpl.php:210 tpl/cdn/settings.tpl.php:49
106
- #: tpl/cdn/settings.tpl.php:237 tpl/page_optm/settings_css.tpl.php:89
107
- #: tpl/page_optm/settings_css.tpl.php:172
108
- #: tpl/page_optm/settings_css.tpl.php:187
109
  #: tpl/page_optm/settings_media.tpl.php:159
110
  #: tpl/page_optm/settings_tuning.tpl.php:33
111
  #: tpl/page_optm/settings_tuning.tpl.php:75
@@ -172,7 +172,7 @@ msgstr ""
172
  msgid "Invalid IP"
173
  msgstr ""
174
 
175
- #: src/admin-display.cls.php:1045 tpl/page_optm/settings_css.tpl.php:157
176
  #: tpl/page_optm/settings_html.tpl.php:126
177
  #: tpl/page_optm/settings_media_exc.tpl.php:25
178
  #: tpl/page_optm/settings_tuning.tpl.php:39
@@ -251,76 +251,72 @@ msgstr ""
251
  msgid "Failed to communicate with Cloudflare"
252
  msgstr ""
253
 
254
- #: src/cloud.cls.php:310 src/cloud.cls.php:329 src/cloud.cls.php:366
255
- #: src/cloud.cls.php:471
256
  msgid "Cloud Error"
257
  msgstr ""
258
 
259
- #: src/cloud.cls.php:366
260
  msgid "No available Cloud Node."
261
  msgstr ""
262
 
263
- #: src/cloud.cls.php:471
264
  msgid "Please try after %1$s for service %2$s."
265
  msgstr ""
266
 
267
- #: src/cloud.cls.php:554 src/cloud.cls.php:566
268
  msgid "Failed to request via WordPress"
269
  msgstr ""
270
 
271
- #: src/cloud.cls.php:576
272
  msgid ""
273
  "We are working hard to improve your online service experience. The service "
274
  "will be unavailable while we work. We apologize for any inconvenience."
275
  msgstr ""
276
 
277
- #: src/cloud.cls.php:585 src/cloud.cls.php:593 src/cloud.cls.php:840
278
  msgid "Message from QUIC.cloud server"
279
  msgstr ""
280
 
281
- #: src/cloud.cls.php:601
282
  msgid "Good news from QUIC.cloud server"
283
  msgstr ""
284
 
285
- #: src/cloud.cls.php:610
286
  msgid "%1$s plugin version %2$s required for this action."
287
  msgstr ""
288
 
289
- #: src/cloud.cls.php:652 src/cloud.cls.php:829
290
  msgid "Failed to communicate with QUIC.cloud server"
291
  msgstr ""
292
 
293
- #: src/cloud.cls.php:660
294
  msgid ""
295
  "Site not recognized. Domain Key has been automatically removed. Please "
296
  "request a new one."
297
  msgstr ""
298
 
299
- #: src/cloud.cls.php:661 src/error.cls.php:48
300
  msgid "Click here to set."
301
  msgstr ""
302
 
303
- #: src/cloud.cls.php:804
304
- msgid "CLoud Error"
305
- msgstr ""
306
-
307
- #: src/cloud.cls.php:848
308
  msgid ""
309
- "Applied for Domain key successfully. Please wait for result. Domain key will "
310
  "be automatically sent to your WordPress."
311
  msgstr ""
312
 
313
- #: src/cloud.cls.php:899
314
  msgid ""
315
  "Congratulations, your Domain Key has been approved! The setting has been "
316
  "updated accordingly."
317
  msgstr ""
318
 
319
- #: src/cloud.cls.php:970
320
- msgid "Domain key hash mismatch"
321
  msgstr ""
322
 
323
- #: src/cloud.cls.php:1055
324
  msgid "Sync credit allowance with Cloud Server successfully."
325
  msgstr ""
326
 
@@ -442,7 +438,7 @@ msgid ""
442
  "Before generating key, please verify all IPs on this list are whitelisted"
443
  msgstr ""
444
 
445
- #: src/doc.cls.php:87 tpl/general/settings.tpl.php:89
446
  msgid "Current Online Server IPs"
447
  msgstr ""
448
 
@@ -678,7 +674,7 @@ msgstr ""
678
  msgid "LQIP Cache"
679
  msgstr ""
680
 
681
- #: src/gui.cls.php:547 src/gui.cls.php:698 src/lang.cls.php:148
682
  #: tpl/toolbox/purge.tpl.php:99
683
  msgid "Gravatar Cache"
684
  msgstr ""
@@ -752,91 +748,91 @@ msgstr ""
752
  msgid "Pushed %1$s to Cloud server, accepted %2$s."
753
  msgstr ""
754
 
755
- #: src/img-optm.cls.php:458
756
  msgid "Bypassed %1$s duplicated images."
757
  msgstr ""
758
 
759
- #: src/img-optm.cls.php:496
760
  msgid "Cleared %1$s invalid images."
761
  msgstr ""
762
 
763
- #: src/img-optm.cls.php:575
764
  msgid "No valid image found in the current request."
765
  msgstr ""
766
 
767
- #: src/img-optm.cls.php:598
768
  msgid "No valid image found by Cloud server in the current request."
769
  msgstr ""
770
 
771
- #: src/img-optm.cls.php:829
772
  msgid "Pull Cron is running"
773
  msgstr ""
774
 
775
- #: src/img-optm.cls.php:885
776
  msgid "Some optimized image file(s) has expired and was cleared."
777
  msgstr ""
778
 
779
- #: src/img-optm.cls.php:902
780
  msgid "One or more pulled images does not match with the notified image md5"
781
  msgstr ""
782
 
783
- #: src/img-optm.cls.php:946
784
  msgid "Optimized WebP file expired and was cleared."
785
  msgstr ""
786
 
787
- #: src/img-optm.cls.php:963
788
  msgid "Pulled WebP image md5 does not match the notified WebP image md5."
789
  msgstr ""
790
 
791
- #: src/img-optm.cls.php:1023
792
  msgid "Pulled %d image(s)"
793
  msgstr ""
794
 
795
- #: src/img-optm.cls.php:1110
796
  msgid "Cleaned up unfinished data successfully."
797
  msgstr ""
798
 
799
- #: src/img-optm.cls.php:1181
800
  msgid "Destroy all optimization data successfully."
801
  msgstr ""
802
 
803
- #: src/img-optm.cls.php:1216 src/img-optm.cls.php:1289
804
  msgid "Rescaned successfully."
805
  msgstr ""
806
 
807
- #: src/img-optm.cls.php:1302
808
  msgid "Rescaned %d images successfully."
809
  msgstr ""
810
 
811
- #: src/img-optm.cls.php:1361
812
  msgid "Calculated backups successfully."
813
  msgstr ""
814
 
815
- #: src/img-optm.cls.php:1423
816
  msgid "Removed backups successfully."
817
  msgstr ""
818
 
819
- #: src/img-optm.cls.php:1620
820
  msgid "Switched images successfully."
821
  msgstr ""
822
 
823
- #: src/img-optm.cls.php:1649
824
  msgid "Disabled WebP file successfully."
825
  msgstr ""
826
 
827
- #: src/img-optm.cls.php:1655
828
  msgid "Enabled WebP file successfully."
829
  msgstr ""
830
 
831
- #: src/img-optm.cls.php:1671
832
  msgid "Restored original file successfully."
833
  msgstr ""
834
 
835
- #: src/img-optm.cls.php:1678
836
  msgid "Switched to optimized file successfully."
837
  msgstr ""
838
 
839
- #: src/img-optm.cls.php:1741
840
  msgid "Reset the optimized data successfully."
841
  msgstr ""
842
 
@@ -1136,7 +1132,7 @@ msgstr ""
1136
  msgid "Inline JS Minify"
1137
  msgstr ""
1138
 
1139
- #: src/lang.cls.php:118 tpl/page_optm/settings_css.tpl.php:173
1140
  #: tpl/page_optm/settings_tuning.tpl.php:131
1141
  msgid "Load CSS Asynchronously"
1142
  msgstr ""
@@ -1246,350 +1242,354 @@ msgid "Remove WordPress Emoji"
1246
  msgstr ""
1247
 
1248
  #: src/lang.cls.php:145
1249
- msgid "URI Excludes"
1250
  msgstr ""
1251
 
1252
  #: src/lang.cls.php:146
 
 
 
 
1253
  msgid "Role Excludes"
1254
  msgstr ""
1255
 
1256
- #: src/lang.cls.php:149
1257
  msgid "Gravatar Cache Cron"
1258
  msgstr ""
1259
 
1260
- #: src/lang.cls.php:150
1261
  msgid "Gravatar Cache TTL"
1262
  msgstr ""
1263
 
1264
- #: src/lang.cls.php:152
1265
  msgid "Lazy Load Images"
1266
  msgstr ""
1267
 
1268
- #: src/lang.cls.php:153
1269
  msgid "Lazy Load Image Excludes"
1270
  msgstr ""
1271
 
1272
- #: src/lang.cls.php:154
1273
  msgid "Lazy Load Image Class Name Excludes"
1274
  msgstr ""
1275
 
1276
- #: src/lang.cls.php:155
1277
  msgid "Lazy Load Image Parent Class Name Excludes"
1278
  msgstr ""
1279
 
1280
- #: src/lang.cls.php:156
1281
  msgid "Lazy Load Iframe Class Name Excludes"
1282
  msgstr ""
1283
 
1284
- #: src/lang.cls.php:157
1285
  msgid "Lazy Load Iframe Parent Class Name Excludes"
1286
  msgstr ""
1287
 
1288
- #: src/lang.cls.php:158
1289
  msgid "Lazy Load URI Excludes"
1290
  msgstr ""
1291
 
1292
- #: src/lang.cls.php:159
1293
  msgid "Basic Image Placeholder"
1294
  msgstr ""
1295
 
1296
- #: src/lang.cls.php:160
1297
  msgid "Responsive Placeholder"
1298
  msgstr ""
1299
 
1300
- #: src/lang.cls.php:161
1301
  msgid "Responsive Placeholder Color"
1302
  msgstr ""
1303
 
1304
- #: src/lang.cls.php:162
1305
  msgid "Responsive Placeholder SVG"
1306
  msgstr ""
1307
 
1308
- #: src/lang.cls.php:163
1309
  msgid "LQIP Cloud Generator"
1310
  msgstr ""
1311
 
1312
- #: src/lang.cls.php:164
1313
  msgid "LQIP Quality"
1314
  msgstr ""
1315
 
1316
- #: src/lang.cls.php:165
1317
  msgid "LQIP Minimum Dimensions"
1318
  msgstr ""
1319
 
1320
- #: src/lang.cls.php:167
1321
  msgid "Generate LQIP In Background"
1322
  msgstr ""
1323
 
1324
- #: src/lang.cls.php:168
1325
  msgid "Lazy Load Iframes"
1326
  msgstr ""
1327
 
1328
- #: src/lang.cls.php:169
1329
  msgid "Inline Lazy Load Images Library"
1330
  msgstr ""
1331
 
1332
- #: src/lang.cls.php:170
1333
  msgid "Auto Request Cron"
1334
  msgstr ""
1335
 
1336
- #: src/lang.cls.php:171
1337
  msgid "Auto Pull Cron"
1338
  msgstr ""
1339
 
1340
- #: src/lang.cls.php:172
1341
  msgid "Optimize Original Images"
1342
  msgstr ""
1343
 
1344
- #: src/lang.cls.php:173
1345
  msgid "Remove Original Backups"
1346
  msgstr ""
1347
 
1348
- #: src/lang.cls.php:174
1349
  msgid "Create WebP Versions"
1350
  msgstr ""
1351
 
1352
- #: src/lang.cls.php:175
1353
  msgid "Optimize Losslessly"
1354
  msgstr ""
1355
 
1356
- #: src/lang.cls.php:176
1357
  msgid "Preserve EXIF/XMP data"
1358
  msgstr ""
1359
 
1360
- #: src/lang.cls.php:177
1361
  msgid "WebP Attribute To Replace"
1362
  msgstr ""
1363
 
1364
- #: src/lang.cls.php:178
1365
  msgid "WebP For Extra srcset"
1366
  msgstr ""
1367
 
1368
- #: src/lang.cls.php:179
1369
  msgid "WordPress Image Quality Control"
1370
  msgstr ""
1371
 
1372
- #: src/lang.cls.php:180 tpl/esi_widget_edit.php:36
1373
  msgid "Enable ESI"
1374
  msgstr ""
1375
 
1376
- #: src/lang.cls.php:181
1377
  msgid "Cache Admin Bar"
1378
  msgstr ""
1379
 
1380
- #: src/lang.cls.php:182
1381
  msgid "Cache Comment Form"
1382
  msgstr ""
1383
 
1384
- #: src/lang.cls.php:183
1385
  msgid "ESI Nonces"
1386
  msgstr ""
1387
 
1388
- #: src/lang.cls.php:184
1389
  msgid "Vary Group"
1390
  msgstr ""
1391
 
1392
- #: src/lang.cls.php:185
1393
  msgid "Purge All Hooks"
1394
  msgstr ""
1395
 
1396
- #: src/lang.cls.php:186
1397
  msgid "Improve HTTP/HTTPS Compatibility"
1398
  msgstr ""
1399
 
1400
- #: src/lang.cls.php:187
1401
  msgid "Instant Click"
1402
  msgstr ""
1403
 
1404
- #: src/lang.cls.php:188
1405
  msgid "Do Not Cache Cookies"
1406
  msgstr ""
1407
 
1408
- #: src/lang.cls.php:189
1409
  msgid "Do Not Cache User Agents"
1410
  msgstr ""
1411
 
1412
- #: src/lang.cls.php:190
1413
  msgid "Login Cookie"
1414
  msgstr ""
1415
 
1416
- #: src/lang.cls.php:191
1417
  msgid "Image WebP Replacement"
1418
  msgstr ""
1419
 
1420
- #: src/lang.cls.php:193
1421
  msgid "Frontend .htaccess Path"
1422
  msgstr ""
1423
 
1424
- #: src/lang.cls.php:194
1425
  msgid "Backend .htaccess Path"
1426
  msgstr ""
1427
 
1428
- #: src/lang.cls.php:195
1429
  msgid "Frontend Heartbeat Control"
1430
  msgstr ""
1431
 
1432
- #: src/lang.cls.php:196
1433
  msgid "Frontend Heartbeat TTL"
1434
  msgstr ""
1435
 
1436
- #: src/lang.cls.php:197
1437
  msgid "Backend Heartbeat Control"
1438
  msgstr ""
1439
 
1440
- #: src/lang.cls.php:198
1441
  msgid "Backend Heartbeat TTL"
1442
  msgstr ""
1443
 
1444
- #: src/lang.cls.php:199
1445
  msgid "Editor Heartbeat"
1446
  msgstr ""
1447
 
1448
- #: src/lang.cls.php:200
1449
  msgid "Editor Heartbeat TTL"
1450
  msgstr ""
1451
 
1452
- #: src/lang.cls.php:202
1453
  msgid "QUIC.cloud CDN"
1454
  msgstr ""
1455
 
1456
- #: src/lang.cls.php:203
1457
  msgid "Use CDN Mapping"
1458
  msgstr ""
1459
 
1460
- #: src/lang.cls.php:204
1461
  msgid "CDN URL"
1462
  msgstr ""
1463
 
1464
- #: src/lang.cls.php:205
1465
  msgid "Include Images"
1466
  msgstr ""
1467
 
1468
- #: src/lang.cls.php:206
1469
  msgid "Include CSS"
1470
  msgstr ""
1471
 
1472
- #: src/lang.cls.php:207
1473
  msgid "Include JS"
1474
  msgstr ""
1475
 
1476
- #: src/lang.cls.php:208 tpl/cdn/settings.tpl.php:148
1477
  msgid "Include File Types"
1478
  msgstr ""
1479
 
1480
- #: src/lang.cls.php:209
1481
  msgid "HTML Attribute To Replace"
1482
  msgstr ""
1483
 
1484
- #: src/lang.cls.php:210
1485
  msgid "Original URLs"
1486
  msgstr ""
1487
 
1488
- #: src/lang.cls.php:211
1489
  msgid "Included Directories"
1490
  msgstr ""
1491
 
1492
- #: src/lang.cls.php:212
1493
  msgid "Exclude Path"
1494
  msgstr ""
1495
 
1496
- #: src/lang.cls.php:213
1497
  msgid "Load JQuery Remotely"
1498
  msgstr ""
1499
 
1500
- #: src/lang.cls.php:214
1501
  msgid "Cloudflare API"
1502
  msgstr ""
1503
 
1504
- #: src/lang.cls.php:217
1505
  msgid "Delay"
1506
  msgstr ""
1507
 
1508
- #: src/lang.cls.php:218
1509
  msgid "Run Duration"
1510
  msgstr ""
1511
 
1512
- #: src/lang.cls.php:219
1513
  msgid "Interval Between Runs"
1514
  msgstr ""
1515
 
1516
- #: src/lang.cls.php:220
1517
  msgid "Crawl Interval"
1518
  msgstr ""
1519
 
1520
- #: src/lang.cls.php:221
1521
  msgid "Threads"
1522
  msgstr ""
1523
 
1524
- #: src/lang.cls.php:222
1525
  msgid "Timeout"
1526
  msgstr ""
1527
 
1528
- #: src/lang.cls.php:223
1529
  msgid "Server Load Limit"
1530
  msgstr ""
1531
 
1532
- #: src/lang.cls.php:224
1533
  msgid "Role Simulation"
1534
  msgstr ""
1535
 
1536
- #: src/lang.cls.php:225
1537
  msgid "Cookie Simulation"
1538
  msgstr ""
1539
 
1540
- #: src/lang.cls.php:226 tpl/crawler/settings-sitemap.tpl.php:115
1541
  msgid "Custom Sitemap"
1542
  msgstr ""
1543
 
1544
- #: src/lang.cls.php:227
1545
  msgid "Drop Domain from Sitemap"
1546
  msgstr ""
1547
 
1548
- #: src/lang.cls.php:228
1549
  msgid "Sitemap Timeout"
1550
  msgstr ""
1551
 
1552
- #: src/lang.cls.php:230 tpl/inc/disabled_all.php:5
1553
  msgid "Disable All Features"
1554
  msgstr ""
1555
 
1556
- #: src/lang.cls.php:231 tpl/toolbox/log_viewer.tpl.php:7
1557
  msgid "Debug Log"
1558
  msgstr ""
1559
 
1560
- #: src/lang.cls.php:232
1561
  msgid "Admin IPs"
1562
  msgstr ""
1563
 
1564
- #: src/lang.cls.php:233
1565
  msgid "Debug Level"
1566
  msgstr ""
1567
 
1568
- #: src/lang.cls.php:234
1569
  msgid "Log File Size Limit"
1570
  msgstr ""
1571
 
1572
- #: src/lang.cls.php:235
1573
  msgid "Log Cookies"
1574
  msgstr ""
1575
 
1576
- #: src/lang.cls.php:236
1577
  msgid "Collapse Query Strings"
1578
  msgstr ""
1579
 
1580
- #: src/lang.cls.php:237
1581
  msgid "Debug URI Includes"
1582
  msgstr ""
1583
 
1584
- #: src/lang.cls.php:238
1585
  msgid "Debug URI Excludes"
1586
  msgstr ""
1587
 
1588
- #: src/lang.cls.php:240
1589
  msgid "Revisions Max Number"
1590
  msgstr ""
1591
 
1592
- #: src/lang.cls.php:241
1593
  msgid "Revisions Max Age"
1594
  msgstr ""
1595
 
@@ -1694,67 +1694,67 @@ msgstr ""
1694
  msgid "Purged all caches successfully."
1695
  msgstr ""
1696
 
1697
- #: src/purge.cls.php:213
1698
  msgid "Notified LiteSpeed Web Server to purge all LSCache entries."
1699
  msgstr ""
1700
 
1701
  #: src/purge.cls.php:229
1702
- msgid "Cleaned all critical CSS files."
1703
  msgstr ""
1704
 
1705
- #: src/purge.cls.php:245
1706
  msgid "Cleaned all LQIP files."
1707
  msgstr ""
1708
 
1709
- #: src/purge.cls.php:260
1710
- msgid "Cleaned all gravatar files."
1711
  msgstr ""
1712
 
1713
- #: src/purge.cls.php:275
1714
  msgid "Notified LiteSpeed Web Server to purge localized resource entries."
1715
  msgstr ""
1716
 
1717
- #: src/purge.cls.php:295
1718
  msgid "Notified LiteSpeed Web Server to purge CSS/JS entries."
1719
  msgstr ""
1720
 
1721
- #: src/purge.cls.php:311
1722
  msgid "Opcode cache is not enabled."
1723
  msgstr ""
1724
 
1725
- #: src/purge.cls.php:323
1726
  msgid "Reset the entire opcode cache successfully."
1727
  msgstr ""
1728
 
1729
- #: src/purge.cls.php:342
1730
  msgid "Object cache is not enabled."
1731
  msgstr ""
1732
 
1733
- #: src/purge.cls.php:352
1734
  msgid "Purge all object caches successfully."
1735
  msgstr ""
1736
 
1737
- #: src/purge.cls.php:515
1738
  msgid "Notified LiteSpeed Web Server to purge the front page."
1739
  msgstr ""
1740
 
1741
- #: src/purge.cls.php:529
1742
- msgid "Notified LiteSpeed Web Server to purge pages."
1743
  msgstr ""
1744
 
1745
- #: src/purge.cls.php:549
1746
  msgid "Notified LiteSpeed Web Server to purge error pages."
1747
  msgstr ""
1748
 
1749
- #: src/purge.cls.php:577
1750
  msgid "Purge category %s"
1751
  msgstr ""
1752
 
1753
- #: src/purge.cls.php:605
1754
  msgid "Purge tag %s"
1755
  msgstr ""
1756
 
1757
- #: src/purge.cls.php:637
1758
  msgid "Purge url %s"
1759
  msgstr ""
1760
 
@@ -1897,7 +1897,7 @@ msgstr ""
1897
  msgid "Dismiss this notice"
1898
  msgstr ""
1899
 
1900
- #. #-#-#-#-# litespeed-cache.pot (LiteSpeed Cache 3.3) #-#-#-#-#
1901
  #. Plugin Name of the plugin/theme
1902
  #: tpl/banner/new_version.php:59 tpl/banner/new_version_dev.tpl.php:12
1903
  #: tpl/cache/more_settings_tip.tpl.php:15 tpl/inc/admin_footer.php:8
@@ -2124,7 +2124,7 @@ msgstr ""
2124
 
2125
  #: tpl/cache/settings-cache.tpl.php:27
2126
  msgid ""
2127
- "When disabling the cache, all cached entries for this blog will be purged."
2128
  msgstr ""
2129
 
2130
  #: tpl/cache/settings-cache.tpl.php:30
@@ -2219,7 +2219,7 @@ msgstr ""
2219
  #: tpl/cache/settings-esi.tpl.php:35 tpl/cdn/manage.tpl.php:21
2220
  #: tpl/crawler/summary.tpl.php:48 tpl/inc/check_cache_disabled.php:31
2221
  #: tpl/inc/check_if_network_disable_all.php:19 tpl/page_optm/entry.tpl.php:31
2222
- #: tpl/page_optm/settings_css.tpl.php:149
2223
  #: tpl/page_optm/settings_localization.tpl.php:11
2224
  msgid "WARNING"
2225
  msgstr ""
@@ -2412,9 +2412,9 @@ msgstr ""
2412
 
2413
  #: tpl/cache/settings-purge.tpl.php:85
2414
  msgid ""
2415
- "If ON, stale copy of cached page will be shown to visitor until a new cache "
2416
- "copy is available. Reduces the server load for following visits. If OFF, "
2417
- "page will be dynamically generated while visitor waits."
2418
  msgstr ""
2419
 
2420
  #: tpl/cache/settings-purge.tpl.php:91
@@ -2718,8 +2718,8 @@ msgstr ""
2718
 
2719
  #: tpl/cache/settings_inc.purge_on_upgrade.tpl.php:15
2720
  msgid ""
2721
- "When enabled, the cache will automatically purge when any plugins, themes, "
2722
- "or WordPress core is upgraded."
2723
  msgstr ""
2724
 
2725
  #: tpl/cdn/entry.tpl.php:6 tpl/cdn/settings.tpl.php:21
@@ -2992,7 +2992,7 @@ msgstr ""
2992
 
2993
  #: tpl/crawler/entry.tpl.php:9 tpl/general/entry.tpl.php:6
2994
  #: tpl/general/entry.tpl.php:11 tpl/general/network_settings.tpl.php:8
2995
- #: tpl/general/settings.tpl.php:45
2996
  msgid "General Settings"
2997
  msgstr ""
2998
 
@@ -3246,7 +3246,7 @@ msgstr ""
3246
  #: tpl/crawler/summary.tpl.php:49
3247
  msgid ""
3248
  "The crawler feature is not enabled on the LiteSpeed server. Please consult "
3249
- "your server admin."
3250
  msgstr ""
3251
 
3252
  #: tpl/crawler/summary.tpl.php:50
@@ -3424,10 +3424,11 @@ msgid "Current closest Cloud server is %s.&#10;Click to redetect."
3424
  msgstr ""
3425
 
3426
  #: tpl/dash/dashboard.tpl.php:202 tpl/img_optm/summary.tpl.php:51
3427
- #: tpl/page_optm/settings_css.tpl.php:104
3428
- #: tpl/page_optm/settings_css.tpl.php:203
3429
  #: tpl/page_optm/settings_media.tpl.php:172
3430
- msgid "Are you sure to redetect the closest cloud server for this service?"
 
3431
  msgstr ""
3432
 
3433
  #: tpl/dash/dashboard.tpl.php:213
@@ -3471,7 +3472,7 @@ msgid "Cache Stats"
3471
  msgstr ""
3472
 
3473
  #: tpl/dash/dashboard.tpl.php:407 tpl/dash/dashboard.tpl.php:438
3474
- #: tpl/page_optm/settings_css.tpl.php:96 tpl/page_optm/settings_css.tpl.php:195
3475
  #: tpl/page_optm/settings_media.tpl.php:167
3476
  msgid "Last generated"
3477
  msgstr ""
@@ -3711,156 +3712,138 @@ msgstr ""
3711
  msgid "This will disable the settings page on all subsites."
3712
  msgstr ""
3713
 
3714
- #: tpl/general/settings.tpl.php:18
3715
  msgid "Request Domain Key"
3716
  msgstr ""
3717
 
3718
- #: tpl/general/settings.tpl.php:20
3719
  msgid "Refresh Domain Key"
3720
  msgstr ""
3721
 
3722
- #: tpl/general/settings.tpl.php:22
3723
  msgid "Waiting for Refresh"
3724
  msgstr ""
3725
 
3726
- #: tpl/general/settings.tpl.php:26
3727
  msgid "Waiting for Approval"
3728
  msgstr ""
3729
 
3730
- #: tpl/general/settings.tpl.php:31
3731
  msgid "Requested"
3732
  msgstr ""
3733
 
3734
- #: tpl/general/settings.tpl.php:34
3735
  msgid "Approved"
3736
  msgstr ""
3737
 
3738
- #: tpl/general/settings.tpl.php:38
3739
  msgid "Next available request time: <code>After %s</code>"
3740
  msgstr ""
3741
 
3742
- #: tpl/general/settings.tpl.php:76
3743
  msgid "Visit My Dashboard on QUIC.cloud"
3744
  msgstr ""
3745
 
3746
- #: tpl/general/settings.tpl.php:78 tpl/general/settings.tpl.php:80
3747
- #: tpl/general/settings.tpl.php:118
3748
  msgid "Link to QUIC.cloud"
3749
  msgstr ""
3750
 
3751
- #: tpl/general/settings.tpl.php:85 tpl/general/settings.tpl.php:96
3752
- #: tpl/general/settings.tpl.php:117 tpl/general/settings.tpl.php:161
3753
  msgid "Notice"
3754
  msgstr ""
3755
 
3756
- #: tpl/general/settings.tpl.php:86
3757
  msgid ""
3758
- "There is a problem receiving your domain key. Please click the %s button to "
3759
- "retry."
3760
  msgstr ""
3761
 
3762
- #: tpl/general/settings.tpl.php:87
3763
  msgid ""
3764
  "There are two reasons why we might not be able to communicate with your "
3765
  "domain:"
3766
  msgstr ""
3767
 
3768
- #: tpl/general/settings.tpl.php:88
3769
  msgid "The POST callback to %s failed."
3770
  msgstr ""
3771
 
3772
- #: tpl/general/settings.tpl.php:89
3773
  msgid "Our %s was not whitelisted."
3774
  msgstr ""
3775
 
3776
- #: tpl/general/settings.tpl.php:90
3777
  msgid ""
3778
  "Please verify that your other plugins are not blocking REST API calls, "
3779
  "whitelist our server IPs, or contact your server admin for assistance."
3780
  msgstr ""
3781
 
3782
- #: tpl/general/settings.tpl.php:97
3783
  msgid "Please wait. You will be notified upon approval."
3784
  msgstr ""
3785
 
3786
- #: tpl/general/settings.tpl.php:103 tpl/general/settings.tpl.php:112
3787
  msgid "Warning"
3788
  msgstr ""
3789
 
3790
- #: tpl/general/settings.tpl.php:104
3791
- msgid ""
3792
- "You must set WordPress %1$s to a value other than %2$s before generating an "
3793
- "Domain key."
3794
- msgstr ""
3795
-
3796
- #: tpl/general/settings.tpl.php:104
3797
- msgid "Permalink Settings"
3798
- msgstr ""
3799
-
3800
- #: tpl/general/settings.tpl.php:104
3801
- msgid "Plain"
3802
- msgstr ""
3803
-
3804
- #: tpl/general/settings.tpl.php:105
3805
- msgid "Click here to config"
3806
- msgstr ""
3807
-
3808
- #: tpl/general/settings.tpl.php:113
3809
  msgid "You must have %1$s first before linking to QUIC.cloud."
3810
  msgstr ""
3811
 
3812
- #: tpl/general/settings.tpl.php:118
3813
  msgid ""
3814
  "You must click the %s button if you wish to associate this site with a QUIC."
3815
  "cloud account."
3816
  msgstr ""
3817
 
3818
- #: tpl/general/settings.tpl.php:119
3819
  msgid "Benefits of linking to a QUIC.cloud account"
3820
  msgstr ""
3821
 
3822
- #: tpl/general/settings.tpl.php:124
3823
  msgid "A Domain Key is required for QUIC.cloud online services."
3824
  msgstr ""
3825
 
3826
- #: tpl/general/settings.tpl.php:127
3827
  msgid "Current Cloud Nodes in Service"
3828
  msgstr ""
3829
 
3830
- #: tpl/general/settings.tpl.php:128
3831
  msgid "Click to clear all nodes for further redetection."
3832
  msgstr ""
3833
 
3834
- #: tpl/general/settings.tpl.php:128
3835
- msgid "Are you sure to clear all cloud nodes?"
3836
  msgstr ""
3837
 
3838
- #: tpl/general/settings.tpl.php:140
3839
  msgid "No cloud services currently in use"
3840
  msgstr ""
3841
 
3842
- #: tpl/general/settings.tpl.php:158
3843
  msgid ""
3844
  "Enter this site's IP address to allow cloud services directly call IP "
3845
  "instead of domain name. This eliminates the overhead of DNS and CDN lookups."
3846
  msgstr ""
3847
 
3848
- #: tpl/general/settings.tpl.php:159
3849
  msgid "Your server IP is"
3850
  msgstr ""
3851
 
3852
- #: tpl/general/settings.tpl.php:159
3853
  msgid "Check my public IP from"
3854
  msgstr ""
3855
 
3856
- #: tpl/general/settings.tpl.php:161
3857
  msgid ""
3858
  "the auto-detected IP may not be accurate if you have an additional outgoing "
3859
  "IP set, or you have multiple IPs configured on your server. Please make sure "
3860
  "this IP is the correct one for visiting your site."
3861
  msgstr ""
3862
 
3863
- #: tpl/general/settings.tpl.php:177
3864
  msgid ""
3865
  "Turn this option ON to show latest news automatically, including hotfixes, "
3866
  "new releases, available beta versions, and promotions."
@@ -3952,8 +3935,8 @@ msgstr ""
3952
  msgid "The image compression quality setting of WordPress out of 100."
3953
  msgstr ""
3954
 
3955
- #: tpl/img_optm/summary.tpl.php:51 tpl/page_optm/settings_css.tpl.php:104
3956
- #: tpl/page_optm/settings_css.tpl.php:203
3957
  #: tpl/page_optm/settings_media.tpl.php:172
3958
  msgid "Current closest Cloud server is %s.&#10; Click to redetect."
3959
  msgstr ""
@@ -3969,8 +3952,8 @@ msgstr ""
3969
  #: tpl/img_optm/summary.tpl.php:65
3970
  msgid ""
3971
  "To make sure our server can communicate with your server without any issues "
3972
- "and everything works fine, for the few first requests the amount images "
3973
- "allowed in single request is limited."
3974
  msgstr ""
3975
 
3976
  #: tpl/img_optm/summary.tpl.php:66
@@ -4057,7 +4040,7 @@ msgid "Saved"
4057
  msgstr ""
4058
 
4059
  #: tpl/img_optm/summary.tpl.php:249
4060
- msgid "Are you sure to remove all image backups?"
4061
  msgstr ""
4062
 
4063
  #: tpl/img_optm/summary.tpl.php:250
@@ -4321,7 +4304,7 @@ msgid ""
4321
  "dismissed. (<a %3$s>Learn More</a>)"
4322
  msgstr ""
4323
 
4324
- #: tpl/page_optm/entry.tpl.php:6 tpl/page_optm/settings_css.tpl.php:15
4325
  msgid "CSS Settings"
4326
  msgstr ""
4327
 
@@ -4366,64 +4349,64 @@ msgid ""
4366
  "Minify/Combine settings, please do a Purge All action."
4367
  msgstr ""
4368
 
4369
- #: tpl/page_optm/settings_css.tpl.php:29
4370
  msgid "Minify CSS files."
4371
  msgstr ""
4372
 
4373
- #: tpl/page_optm/settings_css.tpl.php:42
4374
  msgid "Combine CSS files."
4375
  msgstr ""
4376
 
4377
- #: tpl/page_optm/settings_css.tpl.php:43 tpl/page_optm/settings_js.tpl.php:35
4378
  msgid "How to Fix Problems Caused by CSS/JS Optimization."
4379
  msgstr ""
4380
 
4381
- #: tpl/page_optm/settings_css.tpl.php:56
4382
  msgid ""
4383
  "When having %1$s %2$s, enabling this will get one combined CSS file for each "
4384
  "URI, regardless of the setting %3$s."
4385
  msgstr ""
4386
 
4387
- #: tpl/page_optm/settings_css.tpl.php:62
4388
  msgid ""
4389
  "This is useful when you want to refine/lint your CSS and further drop the "
4390
  "unused CSS per page."
4391
  msgstr ""
4392
 
4393
- #: tpl/page_optm/settings_css.tpl.php:75
4394
  msgid "Use QUIC.cloud online service to generate unique CSS."
4395
  msgstr ""
4396
 
4397
- #: tpl/page_optm/settings_css.tpl.php:88
4398
  msgid "Generate unique CSS in the background via a cron-based queue."
4399
  msgstr ""
4400
 
4401
- #: tpl/page_optm/settings_css.tpl.php:89 tpl/page_optm/settings_css.tpl.php:187
4402
  #: tpl/page_optm/settings_media.tpl.php:159
4403
  msgid ""
4404
  "If set to %s this is done in the foreground, which may slow down page load."
4405
  msgstr ""
4406
 
4407
- #: tpl/page_optm/settings_css.tpl.php:99 tpl/page_optm/settings_css.tpl.php:198
4408
  msgid "Last requested cost"
4409
  msgstr ""
4410
 
4411
- #: tpl/page_optm/settings_css.tpl.php:121
4412
  msgid ""
4413
  "List the CSS selector that its style should be always contained in UCSS."
4414
  msgstr ""
4415
 
4416
- #: tpl/page_optm/settings_css.tpl.php:134
4417
  msgid ""
4418
  "Pre-send internal CSS files to the browser before they are requested. "
4419
  "(Requires the HTTP/2 protocol)"
4420
  msgstr ""
4421
 
4422
- #: tpl/page_optm/settings_css.tpl.php:153
4423
  msgid "Optimize CSS delivery."
4424
  msgstr ""
4425
 
4426
- #: tpl/page_optm/settings_css.tpl.php:154
4427
  #: tpl/page_optm/settings_html.tpl.php:107
4428
  #: tpl/page_optm/settings_html.tpl.php:170 tpl/page_optm/settings_js.tpl.php:62
4429
  #: tpl/page_optm/settings_media.tpl.php:214
@@ -4432,12 +4415,12 @@ msgid ""
4432
  "PageSpeed."
4433
  msgstr ""
4434
 
4435
- #: tpl/page_optm/settings_css.tpl.php:155
4436
  msgid ""
4437
  "When this option is turned %s, it will also load Google Fonts asynchronously."
4438
  msgstr ""
4439
 
4440
- #: tpl/page_optm/settings_css.tpl.php:158
4441
  #: tpl/page_optm/settings_media_exc.tpl.php:27
4442
  #: tpl/page_optm/settings_tuning.tpl.php:60
4443
  #: tpl/page_optm/settings_tuning.tpl.php:102
@@ -4445,69 +4428,69 @@ msgstr ""
4445
  msgid "Elements with attribute %s in html code will be excluded."
4446
  msgstr ""
4447
 
4448
- #: tpl/page_optm/settings_css.tpl.php:172
4449
  msgid ""
4450
- "Leave this option %1$s to allow communication with QUIC.cloud CCSS service. "
4451
- "If set to %2$s, Critical CSS will not be generated."
4452
  msgstr ""
4453
 
4454
- #: tpl/page_optm/settings_css.tpl.php:173
4455
  msgid "This option only works if %1$s is %2$s."
4456
  msgstr ""
4457
 
4458
- #: tpl/page_optm/settings_css.tpl.php:186
4459
  msgid ""
4460
  "Automatically generate critical CSS in the background via a cron-based queue."
4461
  msgstr ""
4462
 
4463
- #: tpl/page_optm/settings_css.tpl.php:208
4464
  msgid "URL list in queue waiting for cron"
4465
  msgstr ""
4466
 
4467
- #: tpl/page_optm/settings_css.tpl.php:219
4468
  #: tpl/page_optm/settings_localization.tpl.php:62
4469
  #: tpl/page_optm/settings_media.tpl.php:183
4470
  msgid "Run Queue Manually"
4471
  msgstr ""
4472
 
4473
- #: tpl/page_optm/settings_css.tpl.php:235
4474
  msgid ""
4475
  "List post types where each item of that type should have its own CCSS "
4476
  "generated."
4477
  msgstr ""
4478
 
4479
- #: tpl/page_optm/settings_css.tpl.php:236
4480
  msgid ""
4481
  "For example, if every Page on the site has different formatting, enter %s in "
4482
  "the box. Separate critical CSS files will be stored for every Page on the "
4483
  "site."
4484
  msgstr ""
4485
 
4486
- #: tpl/page_optm/settings_css.tpl.php:250
4487
  msgid ""
4488
  "Separate critical CSS files will be generated for paths containing these "
4489
  "strings."
4490
  msgstr ""
4491
 
4492
- #: tpl/page_optm/settings_css.tpl.php:264
4493
  msgid "This will inline the asynchronous CSS library to avoid render blocking."
4494
  msgstr ""
4495
 
4496
- #: tpl/page_optm/settings_css.tpl.php:275 tpl/page_optm/settings_js.tpl.php:73
4497
  msgid "Default"
4498
  msgstr ""
4499
 
4500
- #: tpl/page_optm/settings_css.tpl.php:277
4501
  msgid ""
4502
  "Set this to append %1$s to all %2$s rules before caching CSS to specify how "
4503
  "fonts should be displayed while being downloaded."
4504
  msgstr ""
4505
 
4506
- #: tpl/page_optm/settings_css.tpl.php:278
4507
  msgid "%s is recommended."
4508
  msgstr ""
4509
 
4510
- #: tpl/page_optm/settings_css.tpl.php:278
4511
  msgid "Swap"
4512
  msgstr ""
4513
 
@@ -4584,6 +4567,10 @@ msgid ""
4584
  "instead."
4585
  msgstr ""
4586
 
 
 
 
 
4587
  #: tpl/page_optm/settings_js.tpl.php:21
4588
  msgid "Minify JS files."
4589
  msgstr ""
@@ -5121,7 +5108,8 @@ msgstr ""
5121
 
5122
  #: tpl/toolbox/import_export.tpl.php:24
5123
  msgid ""
5124
- "This will export all current LiteSpeed Cache settings and save as a file."
 
5125
  msgstr ""
5126
 
5127
  #: tpl/toolbox/import_export.tpl.php:27
@@ -5151,7 +5139,8 @@ msgid "This will reset all settings to default settings."
5151
  msgstr ""
5152
 
5153
  #: tpl/toolbox/import_export.tpl.php:52
5154
- msgid "Are you sure to reset all settings to default settings?"
 
5155
  msgstr ""
5156
 
5157
  #: tpl/toolbox/import_export.tpl.php:53
@@ -5257,7 +5246,7 @@ msgid "This may cause heavy load on the server."
5257
  msgstr ""
5258
 
5259
  #: tpl/toolbox/purge.tpl.php:126
5260
- msgid "If only the WordPress site should be purged, use purge all."
5261
  msgstr ""
5262
 
5263
  #: tpl/toolbox/purge.tpl.php:170
2
  # This file is distributed under the same license as the LiteSpeed Cache package.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: LiteSpeed Cache 3.3.1\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/litespeed-cache\n"
7
+ "POT-Creation-Date: 2020-08-12 20:09:53+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
66
  msgid "Database"
67
  msgstr ""
68
 
69
+ #: src/admin-display.cls.php:163 src/lang.cls.php:217
70
  msgid "Crawler"
71
  msgstr ""
72
 
90
  #: src/admin-display.cls.php:764 src/admin-display.cls.php:799
91
  #: src/admin-display.cls.php:850 tpl/cache/settings-cache.tpl.php:19
92
  #: tpl/cache/settings_inc.cache_mobile.tpl.php:70 tpl/cdn/settings.tpl.php:49
93
+ #: tpl/page_optm/settings_css.tpl.php:54 tpl/page_optm/settings_css.tpl.php:151
94
+ #: tpl/page_optm/settings_css.tpl.php:168
95
+ #: tpl/page_optm/settings_css.tpl.php:169 tpl/page_optm/settings_js.tpl.php:89
96
  #: tpl/page_optm/settings_media.tpl.php:156
97
  #: tpl/page_optm/settings_tuning.tpl.php:36
98
  #: tpl/page_optm/settings_tuning.tpl.php:78
103
  #: src/admin-display.cls.php:765 src/admin-display.cls.php:798
104
  #: src/admin-display.cls.php:850 tpl/cache/settings-cache.tpl.php:19
105
  #: tpl/cache/settings_inc.object.tpl.php:210 tpl/cdn/settings.tpl.php:49
106
+ #: tpl/cdn/settings.tpl.php:237 tpl/page_optm/settings_css.tpl.php:85
107
+ #: tpl/page_optm/settings_css.tpl.php:168
108
+ #: tpl/page_optm/settings_css.tpl.php:183
109
  #: tpl/page_optm/settings_media.tpl.php:159
110
  #: tpl/page_optm/settings_tuning.tpl.php:33
111
  #: tpl/page_optm/settings_tuning.tpl.php:75
172
  msgid "Invalid IP"
173
  msgstr ""
174
 
175
+ #: src/admin-display.cls.php:1045 tpl/page_optm/settings_css.tpl.php:153
176
  #: tpl/page_optm/settings_html.tpl.php:126
177
  #: tpl/page_optm/settings_media_exc.tpl.php:25
178
  #: tpl/page_optm/settings_tuning.tpl.php:39
251
  msgid "Failed to communicate with Cloudflare"
252
  msgstr ""
253
 
254
+ #: src/cloud.cls.php:308 src/cloud.cls.php:325 src/cloud.cls.php:356
255
+ #: src/cloud.cls.php:461 src/cloud.cls.php:794
256
  msgid "Cloud Error"
257
  msgstr ""
258
 
259
+ #: src/cloud.cls.php:356
260
  msgid "No available Cloud Node."
261
  msgstr ""
262
 
263
+ #: src/cloud.cls.php:461
264
  msgid "Please try after %1$s for service %2$s."
265
  msgstr ""
266
 
267
+ #: src/cloud.cls.php:544 src/cloud.cls.php:556
268
  msgid "Failed to request via WordPress"
269
  msgstr ""
270
 
271
+ #: src/cloud.cls.php:566
272
  msgid ""
273
  "We are working hard to improve your online service experience. The service "
274
  "will be unavailable while we work. We apologize for any inconvenience."
275
  msgstr ""
276
 
277
+ #: src/cloud.cls.php:575 src/cloud.cls.php:583 src/cloud.cls.php:830
278
  msgid "Message from QUIC.cloud server"
279
  msgstr ""
280
 
281
+ #: src/cloud.cls.php:591
282
  msgid "Good news from QUIC.cloud server"
283
  msgstr ""
284
 
285
+ #: src/cloud.cls.php:600
286
  msgid "%1$s plugin version %2$s required for this action."
287
  msgstr ""
288
 
289
+ #: src/cloud.cls.php:642 src/cloud.cls.php:819
290
  msgid "Failed to communicate with QUIC.cloud server"
291
  msgstr ""
292
 
293
+ #: src/cloud.cls.php:650
294
  msgid ""
295
  "Site not recognized. Domain Key has been automatically removed. Please "
296
  "request a new one."
297
  msgstr ""
298
 
299
+ #: src/cloud.cls.php:651 src/error.cls.php:48
300
  msgid "Click here to set."
301
  msgstr ""
302
 
303
+ #: src/cloud.cls.php:838
 
 
 
 
304
  msgid ""
305
+ "Applied for Domain Key successfully. Please wait for result. Domain Key will "
306
  "be automatically sent to your WordPress."
307
  msgstr ""
308
 
309
+ #: src/cloud.cls.php:889
310
  msgid ""
311
  "Congratulations, your Domain Key has been approved! The setting has been "
312
  "updated accordingly."
313
  msgstr ""
314
 
315
+ #: src/cloud.cls.php:960
316
+ msgid "Domain Key hash mismatch"
317
  msgstr ""
318
 
319
+ #: src/cloud.cls.php:1045
320
  msgid "Sync credit allowance with Cloud Server successfully."
321
  msgstr ""
322
 
438
  "Before generating key, please verify all IPs on this list are whitelisted"
439
  msgstr ""
440
 
441
+ #: src/doc.cls.php:87 tpl/general/settings.tpl.php:87
442
  msgid "Current Online Server IPs"
443
  msgstr ""
444
 
674
  msgid "LQIP Cache"
675
  msgstr ""
676
 
677
+ #: src/gui.cls.php:547 src/gui.cls.php:698 src/lang.cls.php:149
678
  #: tpl/toolbox/purge.tpl.php:99
679
  msgid "Gravatar Cache"
680
  msgstr ""
748
  msgid "Pushed %1$s to Cloud server, accepted %2$s."
749
  msgstr ""
750
 
751
+ #: src/img-optm.cls.php:457
752
  msgid "Bypassed %1$s duplicated images."
753
  msgstr ""
754
 
755
+ #: src/img-optm.cls.php:495
756
  msgid "Cleared %1$s invalid images."
757
  msgstr ""
758
 
759
+ #: src/img-optm.cls.php:574
760
  msgid "No valid image found in the current request."
761
  msgstr ""
762
 
763
+ #: src/img-optm.cls.php:597
764
  msgid "No valid image found by Cloud server in the current request."
765
  msgstr ""
766
 
767
+ #: src/img-optm.cls.php:828
768
  msgid "Pull Cron is running"
769
  msgstr ""
770
 
771
+ #: src/img-optm.cls.php:884
772
  msgid "Some optimized image file(s) has expired and was cleared."
773
  msgstr ""
774
 
775
+ #: src/img-optm.cls.php:901
776
  msgid "One or more pulled images does not match with the notified image md5"
777
  msgstr ""
778
 
779
+ #: src/img-optm.cls.php:945
780
  msgid "Optimized WebP file expired and was cleared."
781
  msgstr ""
782
 
783
+ #: src/img-optm.cls.php:962
784
  msgid "Pulled WebP image md5 does not match the notified WebP image md5."
785
  msgstr ""
786
 
787
+ #: src/img-optm.cls.php:1022
788
  msgid "Pulled %d image(s)"
789
  msgstr ""
790
 
791
+ #: src/img-optm.cls.php:1109
792
  msgid "Cleaned up unfinished data successfully."
793
  msgstr ""
794
 
795
+ #: src/img-optm.cls.php:1180
796
  msgid "Destroy all optimization data successfully."
797
  msgstr ""
798
 
799
+ #: src/img-optm.cls.php:1215 src/img-optm.cls.php:1288
800
  msgid "Rescaned successfully."
801
  msgstr ""
802
 
803
+ #: src/img-optm.cls.php:1301
804
  msgid "Rescaned %d images successfully."
805
  msgstr ""
806
 
807
+ #: src/img-optm.cls.php:1360
808
  msgid "Calculated backups successfully."
809
  msgstr ""
810
 
811
+ #: src/img-optm.cls.php:1422
812
  msgid "Removed backups successfully."
813
  msgstr ""
814
 
815
+ #: src/img-optm.cls.php:1619
816
  msgid "Switched images successfully."
817
  msgstr ""
818
 
819
+ #: src/img-optm.cls.php:1648
820
  msgid "Disabled WebP file successfully."
821
  msgstr ""
822
 
823
+ #: src/img-optm.cls.php:1654
824
  msgid "Enabled WebP file successfully."
825
  msgstr ""
826
 
827
+ #: src/img-optm.cls.php:1670
828
  msgid "Restored original file successfully."
829
  msgstr ""
830
 
831
+ #: src/img-optm.cls.php:1677
832
  msgid "Switched to optimized file successfully."
833
  msgstr ""
834
 
835
+ #: src/img-optm.cls.php:1740
836
  msgid "Reset the optimized data successfully."
837
  msgstr ""
838
 
1132
  msgid "Inline JS Minify"
1133
  msgstr ""
1134
 
1135
+ #: src/lang.cls.php:118 tpl/page_optm/settings_css.tpl.php:169
1136
  #: tpl/page_optm/settings_tuning.tpl.php:131
1137
  msgid "Load CSS Asynchronously"
1138
  msgstr ""
1242
  msgstr ""
1243
 
1244
  #: src/lang.cls.php:145
1245
+ msgid "Remove Noscript Tag"
1246
  msgstr ""
1247
 
1248
  #: src/lang.cls.php:146
1249
+ msgid "URI Excludes"
1250
+ msgstr ""
1251
+
1252
+ #: src/lang.cls.php:147
1253
  msgid "Role Excludes"
1254
  msgstr ""
1255
 
1256
+ #: src/lang.cls.php:150
1257
  msgid "Gravatar Cache Cron"
1258
  msgstr ""
1259
 
1260
+ #: src/lang.cls.php:151
1261
  msgid "Gravatar Cache TTL"
1262
  msgstr ""
1263
 
1264
+ #: src/lang.cls.php:153
1265
  msgid "Lazy Load Images"
1266
  msgstr ""
1267
 
1268
+ #: src/lang.cls.php:154
1269
  msgid "Lazy Load Image Excludes"
1270
  msgstr ""
1271
 
1272
+ #: src/lang.cls.php:155
1273
  msgid "Lazy Load Image Class Name Excludes"
1274
  msgstr ""
1275
 
1276
+ #: src/lang.cls.php:156
1277
  msgid "Lazy Load Image Parent Class Name Excludes"
1278
  msgstr ""
1279
 
1280
+ #: src/lang.cls.php:157
1281
  msgid "Lazy Load Iframe Class Name Excludes"
1282
  msgstr ""
1283
 
1284
+ #: src/lang.cls.php:158
1285
  msgid "Lazy Load Iframe Parent Class Name Excludes"
1286
  msgstr ""
1287
 
1288
+ #: src/lang.cls.php:159
1289
  msgid "Lazy Load URI Excludes"
1290
  msgstr ""
1291
 
1292
+ #: src/lang.cls.php:160
1293
  msgid "Basic Image Placeholder"
1294
  msgstr ""
1295
 
1296
+ #: src/lang.cls.php:161
1297
  msgid "Responsive Placeholder"
1298
  msgstr ""
1299
 
1300
+ #: src/lang.cls.php:162
1301
  msgid "Responsive Placeholder Color"
1302
  msgstr ""
1303
 
1304
+ #: src/lang.cls.php:163
1305
  msgid "Responsive Placeholder SVG"
1306
  msgstr ""
1307
 
1308
+ #: src/lang.cls.php:164
1309
  msgid "LQIP Cloud Generator"
1310
  msgstr ""
1311
 
1312
+ #: src/lang.cls.php:165
1313
  msgid "LQIP Quality"
1314
  msgstr ""
1315
 
1316
+ #: src/lang.cls.php:166
1317
  msgid "LQIP Minimum Dimensions"
1318
  msgstr ""
1319
 
1320
+ #: src/lang.cls.php:168
1321
  msgid "Generate LQIP In Background"
1322
  msgstr ""
1323
 
1324
+ #: src/lang.cls.php:169
1325
  msgid "Lazy Load Iframes"
1326
  msgstr ""
1327
 
1328
+ #: src/lang.cls.php:170
1329
  msgid "Inline Lazy Load Images Library"
1330
  msgstr ""
1331
 
1332
+ #: src/lang.cls.php:171
1333
  msgid "Auto Request Cron"
1334
  msgstr ""
1335
 
1336
+ #: src/lang.cls.php:172
1337
  msgid "Auto Pull Cron"
1338
  msgstr ""
1339
 
1340
+ #: src/lang.cls.php:173
1341
  msgid "Optimize Original Images"
1342
  msgstr ""
1343
 
1344
+ #: src/lang.cls.php:174
1345
  msgid "Remove Original Backups"
1346
  msgstr ""
1347
 
1348
+ #: src/lang.cls.php:175
1349
  msgid "Create WebP Versions"
1350
  msgstr ""
1351
 
1352
+ #: src/lang.cls.php:176
1353
  msgid "Optimize Losslessly"
1354
  msgstr ""
1355
 
1356
+ #: src/lang.cls.php:177
1357
  msgid "Preserve EXIF/XMP data"
1358
  msgstr ""
1359
 
1360
+ #: src/lang.cls.php:178
1361
  msgid "WebP Attribute To Replace"
1362
  msgstr ""
1363
 
1364
+ #: src/lang.cls.php:179
1365
  msgid "WebP For Extra srcset"
1366
  msgstr ""
1367
 
1368
+ #: src/lang.cls.php:180
1369
  msgid "WordPress Image Quality Control"
1370
  msgstr ""
1371
 
1372
+ #: src/lang.cls.php:181 tpl/esi_widget_edit.php:36
1373
  msgid "Enable ESI"
1374
  msgstr ""
1375
 
1376
+ #: src/lang.cls.php:182
1377
  msgid "Cache Admin Bar"
1378
  msgstr ""
1379
 
1380
+ #: src/lang.cls.php:183
1381
  msgid "Cache Comment Form"
1382
  msgstr ""
1383
 
1384
+ #: src/lang.cls.php:184
1385
  msgid "ESI Nonces"
1386
  msgstr ""
1387
 
1388
+ #: src/lang.cls.php:185
1389
  msgid "Vary Group"
1390
  msgstr ""
1391
 
1392
+ #: src/lang.cls.php:186
1393
  msgid "Purge All Hooks"
1394
  msgstr ""
1395
 
1396
+ #: src/lang.cls.php:187
1397
  msgid "Improve HTTP/HTTPS Compatibility"
1398
  msgstr ""
1399
 
1400
+ #: src/lang.cls.php:188
1401
  msgid "Instant Click"
1402
  msgstr ""
1403
 
1404
+ #: src/lang.cls.php:189
1405
  msgid "Do Not Cache Cookies"
1406
  msgstr ""
1407
 
1408
+ #: src/lang.cls.php:190
1409
  msgid "Do Not Cache User Agents"
1410
  msgstr ""
1411
 
1412
+ #: src/lang.cls.php:191
1413
  msgid "Login Cookie"
1414
  msgstr ""
1415
 
1416
+ #: src/lang.cls.php:192
1417
  msgid "Image WebP Replacement"
1418
  msgstr ""
1419
 
1420
+ #: src/lang.cls.php:194
1421
  msgid "Frontend .htaccess Path"
1422
  msgstr ""
1423
 
1424
+ #: src/lang.cls.php:195
1425
  msgid "Backend .htaccess Path"
1426
  msgstr ""
1427
 
1428
+ #: src/lang.cls.php:196
1429
  msgid "Frontend Heartbeat Control"
1430
  msgstr ""
1431
 
1432
+ #: src/lang.cls.php:197
1433
  msgid "Frontend Heartbeat TTL"
1434
  msgstr ""
1435
 
1436
+ #: src/lang.cls.php:198
1437
  msgid "Backend Heartbeat Control"
1438
  msgstr ""
1439
 
1440
+ #: src/lang.cls.php:199
1441
  msgid "Backend Heartbeat TTL"
1442
  msgstr ""
1443
 
1444
+ #: src/lang.cls.php:200
1445
  msgid "Editor Heartbeat"
1446
  msgstr ""
1447
 
1448
+ #: src/lang.cls.php:201
1449
  msgid "Editor Heartbeat TTL"
1450
  msgstr ""
1451
 
1452
+ #: src/lang.cls.php:203
1453
  msgid "QUIC.cloud CDN"
1454
  msgstr ""
1455
 
1456
+ #: src/lang.cls.php:204
1457
  msgid "Use CDN Mapping"
1458
  msgstr ""
1459
 
1460
+ #: src/lang.cls.php:205
1461
  msgid "CDN URL"
1462
  msgstr ""
1463
 
1464
+ #: src/lang.cls.php:206
1465
  msgid "Include Images"
1466
  msgstr ""
1467
 
1468
+ #: src/lang.cls.php:207
1469
  msgid "Include CSS"
1470
  msgstr ""
1471
 
1472
+ #: src/lang.cls.php:208
1473
  msgid "Include JS"
1474
  msgstr ""
1475
 
1476
+ #: src/lang.cls.php:209 tpl/cdn/settings.tpl.php:148
1477
  msgid "Include File Types"
1478
  msgstr ""
1479
 
1480
+ #: src/lang.cls.php:210
1481
  msgid "HTML Attribute To Replace"
1482
  msgstr ""
1483
 
1484
+ #: src/lang.cls.php:211
1485
  msgid "Original URLs"
1486
  msgstr ""
1487
 
1488
+ #: src/lang.cls.php:212
1489
  msgid "Included Directories"
1490
  msgstr ""
1491
 
1492
+ #: src/lang.cls.php:213
1493
  msgid "Exclude Path"
1494
  msgstr ""
1495
 
1496
+ #: src/lang.cls.php:214
1497
  msgid "Load JQuery Remotely"
1498
  msgstr ""
1499
 
1500
+ #: src/lang.cls.php:215
1501
  msgid "Cloudflare API"
1502
  msgstr ""
1503
 
1504
+ #: src/lang.cls.php:218
1505
  msgid "Delay"
1506
  msgstr ""
1507
 
1508
+ #: src/lang.cls.php:219
1509
  msgid "Run Duration"
1510
  msgstr ""
1511
 
1512
+ #: src/lang.cls.php:220
1513
  msgid "Interval Between Runs"
1514
  msgstr ""
1515
 
1516
+ #: src/lang.cls.php:221
1517
  msgid "Crawl Interval"
1518
  msgstr ""
1519
 
1520
+ #: src/lang.cls.php:222
1521
  msgid "Threads"
1522
  msgstr ""
1523
 
1524
+ #: src/lang.cls.php:223
1525
  msgid "Timeout"
1526
  msgstr ""
1527
 
1528
+ #: src/lang.cls.php:224
1529
  msgid "Server Load Limit"
1530
  msgstr ""
1531
 
1532
+ #: src/lang.cls.php:225
1533
  msgid "Role Simulation"
1534
  msgstr ""
1535
 
1536
+ #: src/lang.cls.php:226
1537
  msgid "Cookie Simulation"
1538
  msgstr ""
1539
 
1540
+ #: src/lang.cls.php:227 tpl/crawler/settings-sitemap.tpl.php:115
1541
  msgid "Custom Sitemap"
1542
  msgstr ""
1543
 
1544
+ #: src/lang.cls.php:228
1545
  msgid "Drop Domain from Sitemap"
1546
  msgstr ""
1547
 
1548
+ #: src/lang.cls.php:229
1549
  msgid "Sitemap Timeout"
1550
  msgstr ""
1551
 
1552
+ #: src/lang.cls.php:231 tpl/inc/disabled_all.php:5
1553
  msgid "Disable All Features"
1554
  msgstr ""
1555
 
1556
+ #: src/lang.cls.php:232 tpl/toolbox/log_viewer.tpl.php:7
1557
  msgid "Debug Log"
1558
  msgstr ""
1559
 
1560
+ #: src/lang.cls.php:233
1561
  msgid "Admin IPs"
1562
  msgstr ""
1563
 
1564
+ #: src/lang.cls.php:234
1565
  msgid "Debug Level"
1566
  msgstr ""
1567
 
1568
+ #: src/lang.cls.php:235
1569
  msgid "Log File Size Limit"
1570
  msgstr ""
1571
 
1572
+ #: src/lang.cls.php:236
1573
  msgid "Log Cookies"
1574
  msgstr ""
1575
 
1576
+ #: src/lang.cls.php:237
1577
  msgid "Collapse Query Strings"
1578
  msgstr ""
1579
 
1580
+ #: src/lang.cls.php:238
1581
  msgid "Debug URI Includes"
1582
  msgstr ""
1583
 
1584
+ #: src/lang.cls.php:239
1585
  msgid "Debug URI Excludes"
1586
  msgstr ""
1587
 
1588
+ #: src/lang.cls.php:241
1589
  msgid "Revisions Max Number"
1590
  msgstr ""
1591
 
1592
+ #: src/lang.cls.php:242
1593
  msgid "Revisions Max Age"
1594
  msgstr ""
1595
 
1694
  msgid "Purged all caches successfully."
1695
  msgstr ""
1696
 
1697
+ #: src/purge.cls.php:212
1698
  msgid "Notified LiteSpeed Web Server to purge all LSCache entries."
1699
  msgstr ""
1700
 
1701
  #: src/purge.cls.php:229
1702
+ msgid "Cleaned all Critical CSS files."
1703
  msgstr ""
1704
 
1705
+ #: src/purge.cls.php:246
1706
  msgid "Cleaned all LQIP files."
1707
  msgstr ""
1708
 
1709
+ #: src/purge.cls.php:263
1710
+ msgid "Cleaned all Gravatar files."
1711
  msgstr ""
1712
 
1713
+ #: src/purge.cls.php:280
1714
  msgid "Notified LiteSpeed Web Server to purge localized resource entries."
1715
  msgstr ""
1716
 
1717
+ #: src/purge.cls.php:302
1718
  msgid "Notified LiteSpeed Web Server to purge CSS/JS entries."
1719
  msgstr ""
1720
 
1721
+ #: src/purge.cls.php:318
1722
  msgid "Opcode cache is not enabled."
1723
  msgstr ""
1724
 
1725
+ #: src/purge.cls.php:330
1726
  msgid "Reset the entire opcode cache successfully."
1727
  msgstr ""
1728
 
1729
+ #: src/purge.cls.php:348
1730
  msgid "Object cache is not enabled."
1731
  msgstr ""
1732
 
1733
+ #: src/purge.cls.php:361
1734
  msgid "Purge all object caches successfully."
1735
  msgstr ""
1736
 
1737
+ #: src/purge.cls.php:524
1738
  msgid "Notified LiteSpeed Web Server to purge the front page."
1739
  msgstr ""
1740
 
1741
+ #: src/purge.cls.php:538
1742
+ msgid "Notified LiteSpeed Web Server to purge all pages."
1743
  msgstr ""
1744
 
1745
+ #: src/purge.cls.php:558
1746
  msgid "Notified LiteSpeed Web Server to purge error pages."
1747
  msgstr ""
1748
 
1749
+ #: src/purge.cls.php:586
1750
  msgid "Purge category %s"
1751
  msgstr ""
1752
 
1753
+ #: src/purge.cls.php:614
1754
  msgid "Purge tag %s"
1755
  msgstr ""
1756
 
1757
+ #: src/purge.cls.php:646
1758
  msgid "Purge url %s"
1759
  msgstr ""
1760
 
1897
  msgid "Dismiss this notice"
1898
  msgstr ""
1899
 
1900
+ #. #-#-#-#-# litespeed-cache.pot (LiteSpeed Cache 3.3.1) #-#-#-#-#
1901
  #. Plugin Name of the plugin/theme
1902
  #: tpl/banner/new_version.php:59 tpl/banner/new_version_dev.tpl.php:12
1903
  #: tpl/cache/more_settings_tip.tpl.php:15 tpl/inc/admin_footer.php:8
2124
 
2125
  #: tpl/cache/settings-cache.tpl.php:27
2126
  msgid ""
2127
+ "When disabling the cache, all cached entries for this site will be purged."
2128
  msgstr ""
2129
 
2130
  #: tpl/cache/settings-cache.tpl.php:30
2219
  #: tpl/cache/settings-esi.tpl.php:35 tpl/cdn/manage.tpl.php:21
2220
  #: tpl/crawler/summary.tpl.php:48 tpl/inc/check_cache_disabled.php:31
2221
  #: tpl/inc/check_if_network_disable_all.php:19 tpl/page_optm/entry.tpl.php:31
2222
+ #: tpl/page_optm/settings_css.tpl.php:145
2223
  #: tpl/page_optm/settings_localization.tpl.php:11
2224
  msgid "WARNING"
2225
  msgstr ""
2412
 
2413
  #: tpl/cache/settings-purge.tpl.php:85
2414
  msgid ""
2415
+ "If ON, the stale copy of a cached page will be shown to visitors until a new "
2416
+ "cache copy is available. Reduces the server load for following visits. If "
2417
+ "OFF, the page will be dynamically generated while visitors wait."
2418
  msgstr ""
2419
 
2420
  #: tpl/cache/settings-purge.tpl.php:91
2718
 
2719
  #: tpl/cache/settings_inc.purge_on_upgrade.tpl.php:15
2720
  msgid ""
2721
+ "When enabled, the cache will automatically purge when any plugin, theme or "
2722
+ "the WordPress core is upgraded."
2723
  msgstr ""
2724
 
2725
  #: tpl/cdn/entry.tpl.php:6 tpl/cdn/settings.tpl.php:21
2992
 
2993
  #: tpl/crawler/entry.tpl.php:9 tpl/general/entry.tpl.php:6
2994
  #: tpl/general/entry.tpl.php:11 tpl/general/network_settings.tpl.php:8
2995
+ #: tpl/general/settings.tpl.php:43
2996
  msgid "General Settings"
2997
  msgstr ""
2998
 
3246
  #: tpl/crawler/summary.tpl.php:49
3247
  msgid ""
3248
  "The crawler feature is not enabled on the LiteSpeed server. Please consult "
3249
+ "your server admin or hosting provider."
3250
  msgstr ""
3251
 
3252
  #: tpl/crawler/summary.tpl.php:50
3424
  msgstr ""
3425
 
3426
  #: tpl/dash/dashboard.tpl.php:202 tpl/img_optm/summary.tpl.php:51
3427
+ #: tpl/page_optm/settings_css.tpl.php:100
3428
+ #: tpl/page_optm/settings_css.tpl.php:199
3429
  #: tpl/page_optm/settings_media.tpl.php:172
3430
+ msgid ""
3431
+ "Are you sure you want to redetect the closest cloud server for this service?"
3432
  msgstr ""
3433
 
3434
  #: tpl/dash/dashboard.tpl.php:213
3472
  msgstr ""
3473
 
3474
  #: tpl/dash/dashboard.tpl.php:407 tpl/dash/dashboard.tpl.php:438
3475
+ #: tpl/page_optm/settings_css.tpl.php:92 tpl/page_optm/settings_css.tpl.php:191
3476
  #: tpl/page_optm/settings_media.tpl.php:167
3477
  msgid "Last generated"
3478
  msgstr ""
3712
  msgid "This will disable the settings page on all subsites."
3713
  msgstr ""
3714
 
3715
+ #: tpl/general/settings.tpl.php:16
3716
  msgid "Request Domain Key"
3717
  msgstr ""
3718
 
3719
+ #: tpl/general/settings.tpl.php:18
3720
  msgid "Refresh Domain Key"
3721
  msgstr ""
3722
 
3723
+ #: tpl/general/settings.tpl.php:20
3724
  msgid "Waiting for Refresh"
3725
  msgstr ""
3726
 
3727
+ #: tpl/general/settings.tpl.php:24
3728
  msgid "Waiting for Approval"
3729
  msgstr ""
3730
 
3731
+ #: tpl/general/settings.tpl.php:29
3732
  msgid "Requested"
3733
  msgstr ""
3734
 
3735
+ #: tpl/general/settings.tpl.php:32
3736
  msgid "Approved"
3737
  msgstr ""
3738
 
3739
+ #: tpl/general/settings.tpl.php:36
3740
  msgid "Next available request time: <code>After %s</code>"
3741
  msgstr ""
3742
 
3743
+ #: tpl/general/settings.tpl.php:74
3744
  msgid "Visit My Dashboard on QUIC.cloud"
3745
  msgstr ""
3746
 
3747
+ #: tpl/general/settings.tpl.php:76 tpl/general/settings.tpl.php:78
3748
+ #: tpl/general/settings.tpl.php:107
3749
  msgid "Link to QUIC.cloud"
3750
  msgstr ""
3751
 
3752
+ #: tpl/general/settings.tpl.php:83 tpl/general/settings.tpl.php:94
3753
+ #: tpl/general/settings.tpl.php:106 tpl/general/settings.tpl.php:150
3754
  msgid "Notice"
3755
  msgstr ""
3756
 
3757
+ #: tpl/general/settings.tpl.php:84
3758
  msgid ""
3759
+ "There was a problem with retrieving your Domain Key. Please click the %s "
3760
+ "button to retry."
3761
  msgstr ""
3762
 
3763
+ #: tpl/general/settings.tpl.php:85
3764
  msgid ""
3765
  "There are two reasons why we might not be able to communicate with your "
3766
  "domain:"
3767
  msgstr ""
3768
 
3769
+ #: tpl/general/settings.tpl.php:86
3770
  msgid "The POST callback to %s failed."
3771
  msgstr ""
3772
 
3773
+ #: tpl/general/settings.tpl.php:87
3774
  msgid "Our %s was not whitelisted."
3775
  msgstr ""
3776
 
3777
+ #: tpl/general/settings.tpl.php:88
3778
  msgid ""
3779
  "Please verify that your other plugins are not blocking REST API calls, "
3780
  "whitelist our server IPs, or contact your server admin for assistance."
3781
  msgstr ""
3782
 
3783
+ #: tpl/general/settings.tpl.php:95
3784
  msgid "Please wait. You will be notified upon approval."
3785
  msgstr ""
3786
 
3787
+ #: tpl/general/settings.tpl.php:101
3788
  msgid "Warning"
3789
  msgstr ""
3790
 
3791
+ #: tpl/general/settings.tpl.php:102
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3792
  msgid "You must have %1$s first before linking to QUIC.cloud."
3793
  msgstr ""
3794
 
3795
+ #: tpl/general/settings.tpl.php:107
3796
  msgid ""
3797
  "You must click the %s button if you wish to associate this site with a QUIC."
3798
  "cloud account."
3799
  msgstr ""
3800
 
3801
+ #: tpl/general/settings.tpl.php:108
3802
  msgid "Benefits of linking to a QUIC.cloud account"
3803
  msgstr ""
3804
 
3805
+ #: tpl/general/settings.tpl.php:113
3806
  msgid "A Domain Key is required for QUIC.cloud online services."
3807
  msgstr ""
3808
 
3809
+ #: tpl/general/settings.tpl.php:116
3810
  msgid "Current Cloud Nodes in Service"
3811
  msgstr ""
3812
 
3813
+ #: tpl/general/settings.tpl.php:117
3814
  msgid "Click to clear all nodes for further redetection."
3815
  msgstr ""
3816
 
3817
+ #: tpl/general/settings.tpl.php:117
3818
+ msgid "Are you sure you want to clear all cloud nodes?"
3819
  msgstr ""
3820
 
3821
+ #: tpl/general/settings.tpl.php:129
3822
  msgid "No cloud services currently in use"
3823
  msgstr ""
3824
 
3825
+ #: tpl/general/settings.tpl.php:147
3826
  msgid ""
3827
  "Enter this site's IP address to allow cloud services directly call IP "
3828
  "instead of domain name. This eliminates the overhead of DNS and CDN lookups."
3829
  msgstr ""
3830
 
3831
+ #: tpl/general/settings.tpl.php:148
3832
  msgid "Your server IP is"
3833
  msgstr ""
3834
 
3835
+ #: tpl/general/settings.tpl.php:148
3836
  msgid "Check my public IP from"
3837
  msgstr ""
3838
 
3839
+ #: tpl/general/settings.tpl.php:150
3840
  msgid ""
3841
  "the auto-detected IP may not be accurate if you have an additional outgoing "
3842
  "IP set, or you have multiple IPs configured on your server. Please make sure "
3843
  "this IP is the correct one for visiting your site."
3844
  msgstr ""
3845
 
3846
+ #: tpl/general/settings.tpl.php:166
3847
  msgid ""
3848
  "Turn this option ON to show latest news automatically, including hotfixes, "
3849
  "new releases, available beta versions, and promotions."
3935
  msgid "The image compression quality setting of WordPress out of 100."
3936
  msgstr ""
3937
 
3938
+ #: tpl/img_optm/summary.tpl.php:51 tpl/page_optm/settings_css.tpl.php:100
3939
+ #: tpl/page_optm/settings_css.tpl.php:199
3940
  #: tpl/page_optm/settings_media.tpl.php:172
3941
  msgid "Current closest Cloud server is %s.&#10; Click to redetect."
3942
  msgstr ""
3952
  #: tpl/img_optm/summary.tpl.php:65
3953
  msgid ""
3954
  "To make sure our server can communicate with your server without any issues "
3955
+ "and everything works fine, for the few first requests the number of images "
3956
+ "allowed in a single request is limited."
3957
  msgstr ""
3958
 
3959
  #: tpl/img_optm/summary.tpl.php:66
4040
  msgstr ""
4041
 
4042
  #: tpl/img_optm/summary.tpl.php:249
4043
+ msgid "Are you sure you want to remove all image backups?"
4044
  msgstr ""
4045
 
4046
  #: tpl/img_optm/summary.tpl.php:250
4304
  "dismissed. (<a %3$s>Learn More</a>)"
4305
  msgstr ""
4306
 
4307
+ #: tpl/page_optm/entry.tpl.php:6 tpl/page_optm/settings_css.tpl.php:11
4308
  msgid "CSS Settings"
4309
  msgstr ""
4310
 
4349
  "Minify/Combine settings, please do a Purge All action."
4350
  msgstr ""
4351
 
4352
+ #: tpl/page_optm/settings_css.tpl.php:25
4353
  msgid "Minify CSS files."
4354
  msgstr ""
4355
 
4356
+ #: tpl/page_optm/settings_css.tpl.php:38
4357
  msgid "Combine CSS files."
4358
  msgstr ""
4359
 
4360
+ #: tpl/page_optm/settings_css.tpl.php:39 tpl/page_optm/settings_js.tpl.php:35
4361
  msgid "How to Fix Problems Caused by CSS/JS Optimization."
4362
  msgstr ""
4363
 
4364
+ #: tpl/page_optm/settings_css.tpl.php:52
4365
  msgid ""
4366
  "When having %1$s %2$s, enabling this will get one combined CSS file for each "
4367
  "URI, regardless of the setting %3$s."
4368
  msgstr ""
4369
 
4370
+ #: tpl/page_optm/settings_css.tpl.php:58
4371
  msgid ""
4372
  "This is useful when you want to refine/lint your CSS and further drop the "
4373
  "unused CSS per page."
4374
  msgstr ""
4375
 
4376
+ #: tpl/page_optm/settings_css.tpl.php:71
4377
  msgid "Use QUIC.cloud online service to generate unique CSS."
4378
  msgstr ""
4379
 
4380
+ #: tpl/page_optm/settings_css.tpl.php:84
4381
  msgid "Generate unique CSS in the background via a cron-based queue."
4382
  msgstr ""
4383
 
4384
+ #: tpl/page_optm/settings_css.tpl.php:85 tpl/page_optm/settings_css.tpl.php:183
4385
  #: tpl/page_optm/settings_media.tpl.php:159
4386
  msgid ""
4387
  "If set to %s this is done in the foreground, which may slow down page load."
4388
  msgstr ""
4389
 
4390
+ #: tpl/page_optm/settings_css.tpl.php:95 tpl/page_optm/settings_css.tpl.php:194
4391
  msgid "Last requested cost"
4392
  msgstr ""
4393
 
4394
+ #: tpl/page_optm/settings_css.tpl.php:117
4395
  msgid ""
4396
  "List the CSS selector that its style should be always contained in UCSS."
4397
  msgstr ""
4398
 
4399
+ #: tpl/page_optm/settings_css.tpl.php:130
4400
  msgid ""
4401
  "Pre-send internal CSS files to the browser before they are requested. "
4402
  "(Requires the HTTP/2 protocol)"
4403
  msgstr ""
4404
 
4405
+ #: tpl/page_optm/settings_css.tpl.php:149
4406
  msgid "Optimize CSS delivery."
4407
  msgstr ""
4408
 
4409
+ #: tpl/page_optm/settings_css.tpl.php:150
4410
  #: tpl/page_optm/settings_html.tpl.php:107
4411
  #: tpl/page_optm/settings_html.tpl.php:170 tpl/page_optm/settings_js.tpl.php:62
4412
  #: tpl/page_optm/settings_media.tpl.php:214
4415
  "PageSpeed."
4416
  msgstr ""
4417
 
4418
+ #: tpl/page_optm/settings_css.tpl.php:151
4419
  msgid ""
4420
  "When this option is turned %s, it will also load Google Fonts asynchronously."
4421
  msgstr ""
4422
 
4423
+ #: tpl/page_optm/settings_css.tpl.php:154
4424
  #: tpl/page_optm/settings_media_exc.tpl.php:27
4425
  #: tpl/page_optm/settings_tuning.tpl.php:60
4426
  #: tpl/page_optm/settings_tuning.tpl.php:102
4428
  msgid "Elements with attribute %s in html code will be excluded."
4429
  msgstr ""
4430
 
4431
+ #: tpl/page_optm/settings_css.tpl.php:168
4432
  msgid ""
4433
+ "Leave this option %1$s to allow communication with the QUIC.cloud CCSS "
4434
+ "service. If set to %2$s, Critical CSS will not be generated."
4435
  msgstr ""
4436
 
4437
+ #: tpl/page_optm/settings_css.tpl.php:169
4438
  msgid "This option only works if %1$s is %2$s."
4439
  msgstr ""
4440
 
4441
+ #: tpl/page_optm/settings_css.tpl.php:182
4442
  msgid ""
4443
  "Automatically generate critical CSS in the background via a cron-based queue."
4444
  msgstr ""
4445
 
4446
+ #: tpl/page_optm/settings_css.tpl.php:204
4447
  msgid "URL list in queue waiting for cron"
4448
  msgstr ""
4449
 
4450
+ #: tpl/page_optm/settings_css.tpl.php:215
4451
  #: tpl/page_optm/settings_localization.tpl.php:62
4452
  #: tpl/page_optm/settings_media.tpl.php:183
4453
  msgid "Run Queue Manually"
4454
  msgstr ""
4455
 
4456
+ #: tpl/page_optm/settings_css.tpl.php:231
4457
  msgid ""
4458
  "List post types where each item of that type should have its own CCSS "
4459
  "generated."
4460
  msgstr ""
4461
 
4462
+ #: tpl/page_optm/settings_css.tpl.php:232
4463
  msgid ""
4464
  "For example, if every Page on the site has different formatting, enter %s in "
4465
  "the box. Separate critical CSS files will be stored for every Page on the "
4466
  "site."
4467
  msgstr ""
4468
 
4469
+ #: tpl/page_optm/settings_css.tpl.php:246
4470
  msgid ""
4471
  "Separate critical CSS files will be generated for paths containing these "
4472
  "strings."
4473
  msgstr ""
4474
 
4475
+ #: tpl/page_optm/settings_css.tpl.php:260
4476
  msgid "This will inline the asynchronous CSS library to avoid render blocking."
4477
  msgstr ""
4478
 
4479
+ #: tpl/page_optm/settings_css.tpl.php:271 tpl/page_optm/settings_js.tpl.php:73
4480
  msgid "Default"
4481
  msgstr ""
4482
 
4483
+ #: tpl/page_optm/settings_css.tpl.php:273
4484
  msgid ""
4485
  "Set this to append %1$s to all %2$s rules before caching CSS to specify how "
4486
  "fonts should be displayed while being downloaded."
4487
  msgstr ""
4488
 
4489
+ #: tpl/page_optm/settings_css.tpl.php:274
4490
  msgid "%s is recommended."
4491
  msgstr ""
4492
 
4493
+ #: tpl/page_optm/settings_css.tpl.php:274
4494
  msgid "Swap"
4495
  msgstr ""
4496
 
4567
  "instead."
4568
  msgstr ""
4569
 
4570
+ #: tpl/page_optm/settings_html.tpl.php:183
4571
+ msgid "This option will remove all %s tags from HTML."
4572
+ msgstr ""
4573
+
4574
  #: tpl/page_optm/settings_js.tpl.php:21
4575
  msgid "Minify JS files."
4576
  msgstr ""
5108
 
5109
  #: tpl/toolbox/import_export.tpl.php:24
5110
  msgid ""
5111
+ "This will export all current LiteSpeed Cache settings and save them as a "
5112
+ "file."
5113
  msgstr ""
5114
 
5115
  #: tpl/toolbox/import_export.tpl.php:27
5139
  msgstr ""
5140
 
5141
  #: tpl/toolbox/import_export.tpl.php:52
5142
+ msgid ""
5143
+ "Are you sure you want to reset all settings back to the default settings?"
5144
  msgstr ""
5145
 
5146
  #: tpl/toolbox/import_export.tpl.php:53
5246
  msgstr ""
5247
 
5248
  #: tpl/toolbox/purge.tpl.php:126
5249
+ msgid "If only the WordPress site should be purged, use Purge All."
5250
  msgstr ""
5251
 
5252
  #: tpl/toolbox/purge.tpl.php:170
litespeed-cache.php CHANGED
@@ -3,7 +3,7 @@
3
  * Plugin Name: LiteSpeed Cache
4
  * Plugin URI: https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration
5
  * Description: High-performance page caching and site optimization from LiteSpeed
6
- * Version: 3.3
7
  * Author: LiteSpeed Technologies
8
  * Author URI: https://www.litespeedtech.com
9
  * License: GPLv3
@@ -33,7 +33,7 @@ if ( class_exists( 'LiteSpeed\Core' ) || defined( 'LSCWP_DIR' ) ) {
33
  return;
34
  }
35
 
36
- ! defined( 'LSCWP_V' ) && define( 'LSCWP_V', '3.3' );
37
 
38
  ! defined( 'LSCWP_CONTENT_DIR' ) && define( 'LSCWP_CONTENT_DIR', WP_CONTENT_DIR ) ;
39
  ! defined( 'LSCWP_DIR' ) && define( 'LSCWP_DIR', __DIR__ . '/' ) ;// Full absolute path '/var/www/html/***/wp-content/plugins/litespeed-cache/' or MU
3
  * Plugin Name: LiteSpeed Cache
4
  * Plugin URI: https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration
5
  * Description: High-performance page caching and site optimization from LiteSpeed
6
+ * Version: 3.3.1
7
  * Author: LiteSpeed Technologies
8
  * Author URI: https://www.litespeedtech.com
9
  * License: GPLv3
33
  return;
34
  }
35
 
36
+ ! defined( 'LSCWP_V' ) && define( 'LSCWP_V', '3.3.1' );
37
 
38
  ! defined( 'LSCWP_CONTENT_DIR' ) && define( 'LSCWP_CONTENT_DIR', WP_CONTENT_DIR ) ;
39
  ! defined( 'LSCWP_DIR' ) && define( 'LSCWP_DIR', __DIR__ . '/' ) ;// Full absolute path '/var/www/html/***/wp-content/plugins/litespeed-cache/' or MU
readme.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: LiteSpeedTech
3
  Tags: caching, optimize, performance, pagespeed, seo, speed, image optimize, compress, object cache, redis, memcached, database cleaner
4
  Requires at least: 4.0
5
  Tested up to: 5.4.2
6
- Stable tag: 3.3
7
  License: GPLv3
8
  License URI: http://www.gnu.org/licenses/gpl.html
9
 
@@ -245,6 +245,17 @@ The vast majority of plugins and themes are compatible with LiteSpeed Cache. The
245
 
246
  == Changelog ==
247
 
 
 
 
 
 
 
 
 
 
 
 
248
  = 3.3 - Aug 6 2020 =
249
  * 🌱**Page Optimize** Added a new setting, Inline JS Deferred Excludes. (@ankit)
250
  * **Page Optimize** CSS/JS Combine/Minify file versions will be differentiated by query string hash instead of new filename to reduce DB/file system storage.
3
  Tags: caching, optimize, performance, pagespeed, seo, speed, image optimize, compress, object cache, redis, memcached, database cleaner
4
  Requires at least: 4.0
5
  Tested up to: 5.4.2
6
+ Stable tag: 3.3.1
7
  License: GPLv3
8
  License URI: http://www.gnu.org/licenses/gpl.html
9
 
245
 
246
  == Changelog ==
247
 
248
+ = 3.3.1 - Aug 12 2020 =
249
+ * 🌱**Page Optimize** New option to Remove Noscript Tags. (@phuc88bmt)
250
+ * 🐞**LQIP** Fixed a critical bug that bypassed all requests in v3.3.
251
+ * **LQIP** Requests are now bypassed if domain has no credit left.
252
+ * **Page Optimize** Inline defer will be bypassed if document listener is detected in the code. (@ssurfer)
253
+ * **CCSS** Print-only styles will no longer be included in Critical CSS.
254
+ * **API** Added hooks to Purge action to handle file deletions. (@biati)
255
+ * **Cloud** Plain permalinks are no longer required for use of cloud services.
256
+ * **Data** Added an access denial to work with OpenLiteSpeed. (@spenweb #PR228)
257
+ * **GUI** Spelling and grammar adjustments. (@blastoise186 #PR253)
258
+
259
  = 3.3 - Aug 6 2020 =
260
  * 🌱**Page Optimize** Added a new setting, Inline JS Deferred Excludes. (@ankit)
261
  * **Page Optimize** CSS/JS Combine/Minify file versions will be differentiated by query string hash instead of new filename to reduce DB/file system storage.
src/base.cls.php CHANGED
@@ -150,6 +150,7 @@ class Base extends Instance {
150
  const O_OPTM_LOCALIZE = 'optm-localize';
151
  const O_OPTM_LOCALIZE_DOMAINS = 'optm-localize_domains';
152
  const O_OPTM_EMOJI_RM = 'optm-emoji_rm';
 
153
  const O_OPTM_EXC_JQ = 'optm-exc_jq';
154
  const O_OPTM_GGFONTS_ASYNC = 'optm-ggfonts_async';
155
  const O_OPTM_MAX_SIZE = 'optm-max_size';
@@ -448,6 +449,7 @@ class Base extends Instance {
448
  self::O_OPTM_JS_DEFER => false,
449
  self::O_OPTM_JS_INLINE_DEFER => false,
450
  self::O_OPTM_EMOJI_RM => false,
 
451
  self::O_OPTM_EXC_JQ => false,
452
  self::O_OPTM_GGFONTS_ASYNC => false,
453
  self::O_OPTM_MAX_SIZE => 0,
150
  const O_OPTM_LOCALIZE = 'optm-localize';
151
  const O_OPTM_LOCALIZE_DOMAINS = 'optm-localize_domains';
152
  const O_OPTM_EMOJI_RM = 'optm-emoji_rm';
153
+ const O_OPTM_NOSCRIPT_RM = 'optm-noscript_rm';
154
  const O_OPTM_EXC_JQ = 'optm-exc_jq';
155
  const O_OPTM_GGFONTS_ASYNC = 'optm-ggfonts_async';
156
  const O_OPTM_MAX_SIZE = 'optm-max_size';
449
  self::O_OPTM_JS_DEFER => false,
450
  self::O_OPTM_JS_INLINE_DEFER => false,
451
  self::O_OPTM_EMOJI_RM => false,
452
+ self::O_OPTM_NOSCRIPT_RM => false,
453
  self::O_OPTM_EXC_JQ => false,
454
  self::O_OPTM_GGFONTS_ASYNC => false,
455
  self::O_OPTM_MAX_SIZE => 0,
src/cloud.cls.php CHANGED
@@ -29,9 +29,9 @@ class Cloud extends Base {
29
 
30
  const IMGOPTM_TAKEN = 'img_optm-taken';
31
 
32
- const EXPIRATION_NODE = 6; // Hours before node expired
33
- const EXPIRATION_REQ = 300; // Seconds of min interval between two unfinished requests
34
- const EXPIRATION_TOKEN = 900; // Min intval to request a token 15m
35
 
36
  const API_NEWS = 'wp/news';
37
  const API_REPORT = 'wp/report' ;
@@ -299,9 +299,7 @@ class Cloud extends Base {
299
 
300
  // Check if the stored server needs to be refreshed
301
  if ( ! $force ) {
302
- $expiry = time() - (3600 * self::EXPIRATION_NODE);
303
-
304
- if ( ! empty( $this->_summary[ 'server.' . $service ] ) && ! empty( $this->_summary[ 'server_date.' . $service ] ) && $this->_summary[ 'server_date.' . $service ] > $expiry ) {
305
  return $this->_summary[ 'server.' . $service ];
306
  }
307
  }
@@ -314,11 +312,9 @@ class Cloud extends Base {
314
 
315
  // Send request to Quic Online Service
316
  $cloud_endpoint = self::SVC_D_NODES;
317
-
318
  if($service == self::SVC_IMG_OPTM) {
319
  $cloud_endpoint = self::SVC_D_REGIONNODES;
320
  }
321
-
322
  $json = $this->_post( $cloud_endpoint, array( 'svc' => $service ) );
323
 
324
  // Check if get list correctly
@@ -330,17 +326,11 @@ class Cloud extends Base {
330
  Admin_Display::error( $msg );
331
  }
332
 
333
- // Return cached version if we have it
334
- if ( ! empty( $this->_summary[ 'server.' . $service ] ) ){
335
- return $this->_summary[ 'server.' . $service ];
336
- }
337
-
338
  return false;
339
  }
340
 
341
  // Ping closest cloud
342
  $speed_list = array();
343
-
344
  foreach ( $json[ 'list' ] as $v ) {
345
  $speed_list[ $v ] = Utility::ping( $v );
346
  }
@@ -800,8 +790,8 @@ class Cloud extends Base {
800
  $response = wp_remote_get( self::CLOUD_SERVER . '/d/req_key?data=' . Utility::arr2str( $data ) );
801
  if ( is_wp_error( $response ) ) {
802
  $error_message = $response->get_error_message();
803
- Debug2::debug( '[CLoud] failed to gen_key: ' . $error_message );
804
- Admin_Display::error( __( 'CLoud Error', 'litespeed-cache' ) . ': ' . $error_message );
805
  return;
806
  }
807
 
@@ -845,7 +835,7 @@ class Cloud extends Base {
845
 
846
  Debug2::debug( '❄️ ✅ send request for key successfully.' );
847
 
848
- Admin_Display::succeed( __( 'Applied for Domain key successfully. Please wait for result. Domain key will be automatically sent to your WordPress.', 'litespeed-cache' ) );
849
  }
850
 
851
  /**
@@ -967,7 +957,7 @@ class Cloud extends Base {
967
  }
968
 
969
  if ( md5( substr( $this->_api_key, 2, 8 ) ) !== $_GET[ 'domain_hash' ] ) {
970
- Admin_Display::error( __( 'Domain key hash mismatch', 'litespeed-cache' ), true );
971
  return;
972
  }
973
 
29
 
30
  const IMGOPTM_TAKEN = 'img_optm-taken';
31
 
32
+ const EXPIRATION_NODE = 3; // Days before node expired
33
+ const EXPIRATION_REQ = 300; // Seconds of min interval between two unfinished requests
34
+ const EXPIRATION_TOKEN = 900; // Min intval to request a token 15m
35
 
36
  const API_NEWS = 'wp/news';
37
  const API_REPORT = 'wp/report' ;
299
 
300
  // Check if the stored server needs to be refreshed
301
  if ( ! $force ) {
302
+ if ( ! empty( $this->_summary[ 'server.' . $service ] ) && ! empty( $this->_summary[ 'server_date.' . $service ] ) && $this->_summary[ 'server_date.' . $service ] > time() - 86400 * self::EXPIRATION_NODE ) {
 
 
303
  return $this->_summary[ 'server.' . $service ];
304
  }
305
  }
312
 
313
  // Send request to Quic Online Service
314
  $cloud_endpoint = self::SVC_D_NODES;
 
315
  if($service == self::SVC_IMG_OPTM) {
316
  $cloud_endpoint = self::SVC_D_REGIONNODES;
317
  }
 
318
  $json = $this->_post( $cloud_endpoint, array( 'svc' => $service ) );
319
 
320
  // Check if get list correctly
326
  Admin_Display::error( $msg );
327
  }
328
 
 
 
 
 
 
329
  return false;
330
  }
331
 
332
  // Ping closest cloud
333
  $speed_list = array();
 
334
  foreach ( $json[ 'list' ] as $v ) {
335
  $speed_list[ $v ] = Utility::ping( $v );
336
  }
790
  $response = wp_remote_get( self::CLOUD_SERVER . '/d/req_key?data=' . Utility::arr2str( $data ) );
791
  if ( is_wp_error( $response ) ) {
792
  $error_message = $response->get_error_message();
793
+ Debug2::debug( '[Cloud] failed to gen_key: ' . $error_message );
794
+ Admin_Display::error( __( 'Cloud Error', 'litespeed-cache' ) . ': ' . $error_message );
795
  return;
796
  }
797
 
835
 
836
  Debug2::debug( '❄️ ✅ send request for key successfully.' );
837
 
838
+ Admin_Display::succeed( __( 'Applied for Domain Key successfully. Please wait for result. Domain Key will be automatically sent to your WordPress.', 'litespeed-cache' ) );
839
  }
840
 
841
  /**
957
  }
958
 
959
  if ( md5( substr( $this->_api_key, 2, 8 ) ) !== $_GET[ 'domain_hash' ] ) {
960
+ Admin_Display::error( __( 'Domain Key hash mismatch', 'litespeed-cache' ), true );
961
  return;
962
  }
963
 
src/file.cls.php CHANGED
@@ -25,10 +25,10 @@ class File {
25
  $response = wp_remote_get( $url );
26
  $code = wp_remote_retrieve_response_code( $response );
27
  if ( $code == 404 ) {
28
- return false;
29
  }
30
 
31
- return true;
32
  }
33
 
34
  /**
25
  $response = wp_remote_get( $url );
26
  $code = wp_remote_retrieve_response_code( $response );
27
  if ( $code == 404 ) {
28
+ return true;
29
  }
30
 
31
+ return false;
32
  }
33
 
34
  /**
src/img-optm.cls.php CHANGED
@@ -433,7 +433,6 @@ class Img_Optm extends Base
433
 
434
  $srcpath_list = array();
435
 
436
- // TODO: Fix memory usage for a large amount of images
437
  $list = $wpdb->get_results( "SELECT src FROM $this->_table_img_optming" );
438
  foreach ( $list as $v ) {
439
  $srcpath_list[] = $v->src;
433
 
434
  $srcpath_list = array();
435
 
 
436
  $list = $wpdb->get_results( "SELECT src FROM $this->_table_img_optming" );
437
  foreach ( $list as $v ) {
438
  $srcpath_list[] = $v->src;
src/lang.cls.php CHANGED
@@ -142,6 +142,7 @@ class Lang extends Base
142
  self::O_OPTM_JS_DEFER_EXC => __( 'JS Deferred Excludes', 'litespeed-cache' ),
143
  self::O_OPTM_JS_INLINE_DEFER_EXC => __( 'Inline JS Deferred Excludes', 'litespeed-cache' ),
144
  self::O_OPTM_EMOJI_RM => __( 'Remove WordPress Emoji', 'litespeed-cache' ),
 
145
  self::O_OPTM_EXC => __( 'URI Excludes', 'litespeed-cache' ),
146
  self::O_OPTM_EXC_ROLES => __( 'Role Excludes', 'litespeed-cache' ),
147
 
142
  self::O_OPTM_JS_DEFER_EXC => __( 'JS Deferred Excludes', 'litespeed-cache' ),
143
  self::O_OPTM_JS_INLINE_DEFER_EXC => __( 'Inline JS Deferred Excludes', 'litespeed-cache' ),
144
  self::O_OPTM_EMOJI_RM => __( 'Remove WordPress Emoji', 'litespeed-cache' ),
145
+ self::O_OPTM_NOSCRIPT_RM => __( 'Remove Noscript Tag', 'litespeed-cache' ),
146
  self::O_OPTM_EXC => __( 'URI Excludes', 'litespeed-cache' ),
147
  self::O_OPTM_EXC_ROLES => __( 'Role Excludes', 'litespeed-cache' ),
148
 
src/media.cls.php CHANGED
@@ -512,7 +512,7 @@ class Media extends Instance
512
  $html_list_ori = $html_list ;
513
 
514
  foreach ( $html_list as $k => $v ) {
515
- $snippet = '<noscript>' . $v . '</noscript>' ;
516
  $v = str_replace( ' src=', ' data-src=', $v ) ;
517
  $v = str_replace( '<iframe ', '<iframe data-lazyloaded="1" src="about:blank" ', $v ) ;
518
  $snippet = $v . $snippet ;
512
  $html_list_ori = $html_list ;
513
 
514
  foreach ( $html_list as $k => $v ) {
515
+ $snippet = Conf::val( Base::O_OPTM_NOSCRIPT_RM ) ? '' : '<noscript>' . $v . '</noscript>' ;
516
  $v = str_replace( ' src=', ' data-src=', $v ) ;
517
  $v = str_replace( '<iframe ', '<iframe data-lazyloaded="1" src="about:blank" ', $v ) ;
518
  $snippet = $v . $snippet ;
src/optimize.cls.php CHANGED
@@ -603,6 +603,11 @@ class Optimize extends Base {
603
  $this->content = str_replace( '</body>', $this->html_foot . '</body>' , $this->content );
604
  }
605
 
 
 
 
 
 
606
  // HTML minify
607
  if ( Conf::val( Base::O_OPTM_HTML_MIN ) ) {
608
  $this->content = Optimizer::get_instance()->html_min( $this->content );
@@ -694,6 +699,10 @@ class Optimize extends Base {
694
  continue;
695
  }
696
 
 
 
 
 
697
  // $con = str_replace( 'var ', 'window.', $con );
698
 
699
  $script_ori[] = $match[ 0 ];
@@ -1286,7 +1295,9 @@ class Optimize extends Base {
1286
  $v = str_replace( 'stylesheet', 'preload', $ori );
1287
  $v = str_replace( '<link', '<link data-asynced="1" as="style" onload="this.onload=null;this.rel=\'stylesheet\'" ', $v );
1288
  // Append to noscript content
1289
- $v .= '<noscript>' . $ori . '</noscript>';
 
 
1290
  $html_list[ $k ] = $v;
1291
  }
1292
  return $html_list;
603
  $this->content = str_replace( '</body>', $this->html_foot . '</body>' , $this->content );
604
  }
605
 
606
+ // Drop noscript if enabled
607
+ if ( Conf::val( Base::O_OPTM_NOSCRIPT_RM ) ) {
608
+ $this->content = preg_replace( '#<noscript>.*</noscript>#isU', '', $this->content );
609
+ }
610
+
611
  // HTML minify
612
  if ( Conf::val( Base::O_OPTM_HTML_MIN ) ) {
613
  $this->content = Optimizer::get_instance()->html_min( $this->content );
699
  continue;
700
  }
701
 
702
+ if ( strpos( $con, 'document.addEventListener' ) !== false ) {
703
+ continue;
704
+ }
705
+
706
  // $con = str_replace( 'var ', 'window.', $con );
707
 
708
  $script_ori[] = $match[ 0 ];
1295
  $v = str_replace( 'stylesheet', 'preload', $ori );
1296
  $v = str_replace( '<link', '<link data-asynced="1" as="style" onload="this.onload=null;this.rel=\'stylesheet\'" ', $v );
1297
  // Append to noscript content
1298
+ if ( ! Conf::val( Base::O_OPTM_NOSCRIPT_RM ) ) {
1299
+ $v .= '<noscript>' . $ori . '</noscript>';
1300
+ }
1301
  $html_list[ $k ] = $v;
1302
  }
1303
  return $html_list;
src/placeholder.cls.php CHANGED
@@ -53,7 +53,7 @@ class Placeholder extends Base {
53
  * Init Placeholder
54
  */
55
  public function init() {
56
- Debug2::debug2( '[Placeholder] init' );
57
 
58
  add_action( 'litspeed_after_admin_init', array( $this, 'after_admin_init' ) );
59
  }
@@ -166,11 +166,11 @@ class Placeholder extends Base {
166
 
167
  $additional_attr = '';
168
  if ( $this->_conf_lqip && $this_placeholder != $this->_conf_ph_default ) {
169
- Debug2::debug2( '[Placeholder] Use resp LQIP [size] ' . $size );
170
  $additional_attr = ' data-placeholder-resp="' . $size . '"';
171
  }
172
 
173
- $snippet = '<noscript>' . $html . '</noscript>';
174
  $html = str_replace( array( ' src=', ' srcset=', ' sizes=' ), array( ' data-src=', ' data-srcset=', ' data-sizes=' ), $html );
175
  $html = str_replace( '<img ', '<img data-lazyloaded="1"' . $additional_attr . ' src="' . $this_placeholder . '" ', $html );
176
  $snippet = $html . $snippet;
@@ -187,7 +187,7 @@ class Placeholder extends Base {
187
  private function _placeholder( $src, $size ) {
188
  // Low Quality Image Placeholders
189
  if ( ! $size ) {
190
- Debug2::debug2( '[Placeholder] no size ' . $src );
191
  return false;
192
  }
193
 
@@ -200,13 +200,13 @@ class Placeholder extends Base {
200
  return $this->_generate_placeholder_locally( $size );
201
  }
202
 
203
- Debug2::debug2( '[Placeholder] Resp LQIP process [src] ' . $src . ' [size] ' . $size );
204
 
205
  $arr_key = $size . ' ' . $src;
206
 
207
  // Check if its already in dict or not
208
  if ( ! empty( $this->_placeholder_resp_dict[ $arr_key ] ) ) {
209
- Debug2::debug2( '[Placeholder] already in dict' );
210
 
211
  return $this->_placeholder_resp_dict[ $arr_key ];
212
  }
@@ -214,7 +214,7 @@ class Placeholder extends Base {
214
  // Need to generate the responsive placeholder
215
  $placeholder_realpath = $this->_placeholder_realpath( $src, $size ); // todo: give offload API
216
  if ( file_exists( $placeholder_realpath ) ) {
217
- Debug2::debug2( '[Placeholder] file exists' );
218
  $this->_placeholder_resp_dict[ $arr_key ] = File::read( $placeholder_realpath );
219
 
220
  return $this->_placeholder_resp_dict[ $arr_key ];
@@ -224,7 +224,7 @@ class Placeholder extends Base {
224
 
225
  // Prevent repeated requests
226
  if ( in_array( $arr_key, $this->_ph_queue ) ) {
227
- Debug2::debug2( '[Placeholder] file bypass generating due to in queue' );
228
  return $this->_generate_placeholder_locally( $size );
229
  }
230
 
@@ -234,7 +234,7 @@ class Placeholder extends Base {
234
  if ( ! $this->_conf_placeholder_resp_async ) {
235
  // If requested recently, bypass
236
  if ( $this->_summary && ! empty( $this->_summary[ 'curr_request' ] ) && time() - $this->_summary[ 'curr_request' ] < 300 ) {
237
- Debug2::debug2( '[Placeholder] file bypass generating due to interval limit' );
238
  return false;
239
  }
240
  // Generate immediately
@@ -251,20 +251,20 @@ class Placeholder extends Base {
251
  $this->_summary[ 'queue' ] = array();
252
  }
253
  if ( in_array( $arr_key, $this->_summary[ 'queue' ] ) ) {
254
- Debug2::debug2( '[Placeholder] already in queue' );
255
 
256
  return $tmp_placeholder;
257
  }
258
 
259
  if ( count( $this->_summary[ 'queue' ] ) > 100 ) {
260
- Debug2::debug2( '[Placeholder] queue is full' );
261
 
262
  return $tmp_placeholder;
263
  }
264
 
265
  $this->_summary[ 'queue' ][] = $arr_key;
266
 
267
- Debug2::debug( '[Placeholder] Added placeholder queue' );
268
 
269
  self::save_summary();
270
  return $tmp_placeholder;
@@ -324,7 +324,7 @@ class Placeholder extends Base {
324
  // Clear LQIP in queue too
325
  self::save_summary( array() );
326
 
327
- Debug2::debug( '[Placeholder] Cleared LQIP queue' );
328
  }
329
 
330
  /**
@@ -342,13 +342,13 @@ class Placeholder extends Base {
342
  // For cron, need to check request interval too
343
  if ( ! $continue ) {
344
  if ( ! empty( $_instance->_summary[ 'curr_request' ] ) && time() - $_instance->_summary[ 'curr_request' ] < 300 ) {
345
- Debug2::debug( '[Placeholder] Last request not done' );
346
  return;
347
  }
348
  }
349
 
350
  foreach ( $_instance->_summary[ 'queue' ] as $v ) {
351
- Debug2::debug( '[Placeholder] cron job [size] ' . $v );
352
 
353
  $_instance->_generate_placeholder( $v );
354
 
@@ -366,7 +366,7 @@ class Placeholder extends Base {
366
  * @access private
367
  */
368
  private function _generate_placeholder_locally( $size ) {
369
- Debug2::debug2( '[Placeholder] _generate_placeholder local [size] ' . $size );
370
 
371
  $size = explode( 'x', $size );
372
 
@@ -397,9 +397,12 @@ class Placeholder extends Base {
397
  $data = $this->_generate_placeholder_locally( $size );
398
  }
399
  else {
400
- // Update request status
401
- $this->_summary[ 'curr_request' ] = time();
402
- self::save_summary();
 
 
 
403
 
404
  // Generate LQIP
405
  list( $width, $height ) = explode( 'x', $size );
@@ -413,10 +416,14 @@ class Placeholder extends Base {
413
  // CHeck if the image is 404 first
414
  if ( File::is_404( $req_data[ 'url' ] ) ) {
415
  $this->_popup_and_save( $raw_size_and_src );
416
- Debug2::debug( '[Placeholder] 404 before request [src] ' . $req_data[ 'url' ] );
417
  return $this->_generate_placeholder_locally( $size );
418
  }
419
 
 
 
 
 
420
  $json = Cloud::post( Cloud::SVC_LQIP, $req_data, 30 );
421
  if ( ! is_array( $json ) ) {
422
  return $this->_generate_placeholder_locally( $size );
@@ -425,14 +432,14 @@ class Placeholder extends Base {
425
  if ( empty( $json[ 'lqip' ] ) || strpos( $json[ 'lqip' ], 'data:image/svg+xml' ) !== 0 ) {
426
  // image error, pop up the current queue
427
  $this->_popup_and_save( $raw_size_and_src );
428
- Debug2::debug( '[Placeholder] wrong response format', $json );
429
 
430
  return $this->_generate_placeholder_locally( $size );
431
  }
432
 
433
  $data = $json[ 'lqip' ];
434
 
435
- Debug2::debug( '[Placeholder] _generate_placeholder LQIP' );
436
  }
437
 
438
  // Write to file
@@ -444,7 +451,7 @@ class Placeholder extends Base {
444
  $this->_summary[ 'curr_request' ] = 0;
445
  $this->_popup_and_save( $raw_size_and_src );
446
 
447
- Debug2::debug( '[Placeholder] saved LQIP ' . $file );
448
 
449
  return $data;
450
  }
53
  * Init Placeholder
54
  */
55
  public function init() {
56
+ Debug2::debug2( '[LQIP] init' );
57
 
58
  add_action( 'litspeed_after_admin_init', array( $this, 'after_admin_init' ) );
59
  }
166
 
167
  $additional_attr = '';
168
  if ( $this->_conf_lqip && $this_placeholder != $this->_conf_ph_default ) {
169
+ Debug2::debug2( '[LQIP] Use resp LQIP [size] ' . $size );
170
  $additional_attr = ' data-placeholder-resp="' . $size . '"';
171
  }
172
 
173
+ $snippet = Conf::val( Base::O_OPTM_NOSCRIPT_RM ) ? '' : '<noscript>' . $html . '</noscript>';
174
  $html = str_replace( array( ' src=', ' srcset=', ' sizes=' ), array( ' data-src=', ' data-srcset=', ' data-sizes=' ), $html );
175
  $html = str_replace( '<img ', '<img data-lazyloaded="1"' . $additional_attr . ' src="' . $this_placeholder . '" ', $html );
176
  $snippet = $html . $snippet;
187
  private function _placeholder( $src, $size ) {
188
  // Low Quality Image Placeholders
189
  if ( ! $size ) {
190
+ Debug2::debug2( '[LQIP] no size ' . $src );
191
  return false;
192
  }
193
 
200
  return $this->_generate_placeholder_locally( $size );
201
  }
202
 
203
+ Debug2::debug2( '[LQIP] Resp LQIP process [src] ' . $src . ' [size] ' . $size );
204
 
205
  $arr_key = $size . ' ' . $src;
206
 
207
  // Check if its already in dict or not
208
  if ( ! empty( $this->_placeholder_resp_dict[ $arr_key ] ) ) {
209
+ Debug2::debug2( '[LQIP] already in dict' );
210
 
211
  return $this->_placeholder_resp_dict[ $arr_key ];
212
  }
214
  // Need to generate the responsive placeholder
215
  $placeholder_realpath = $this->_placeholder_realpath( $src, $size ); // todo: give offload API
216
  if ( file_exists( $placeholder_realpath ) ) {
217
+ Debug2::debug2( '[LQIP] file exists' );
218
  $this->_placeholder_resp_dict[ $arr_key ] = File::read( $placeholder_realpath );
219
 
220
  return $this->_placeholder_resp_dict[ $arr_key ];
224
 
225
  // Prevent repeated requests
226
  if ( in_array( $arr_key, $this->_ph_queue ) ) {
227
+ Debug2::debug2( '[LQIP] file bypass generating due to in queue' );
228
  return $this->_generate_placeholder_locally( $size );
229
  }
230
 
234
  if ( ! $this->_conf_placeholder_resp_async ) {
235
  // If requested recently, bypass
236
  if ( $this->_summary && ! empty( $this->_summary[ 'curr_request' ] ) && time() - $this->_summary[ 'curr_request' ] < 300 ) {
237
+ Debug2::debug2( '[LQIP] file bypass generating due to interval limit' );
238
  return false;
239
  }
240
  // Generate immediately
251
  $this->_summary[ 'queue' ] = array();
252
  }
253
  if ( in_array( $arr_key, $this->_summary[ 'queue' ] ) ) {
254
+ Debug2::debug2( '[LQIP] already in queue' );
255
 
256
  return $tmp_placeholder;
257
  }
258
 
259
  if ( count( $this->_summary[ 'queue' ] ) > 100 ) {
260
+ Debug2::debug2( '[LQIP] queue is full' );
261
 
262
  return $tmp_placeholder;
263
  }
264
 
265
  $this->_summary[ 'queue' ][] = $arr_key;
266
 
267
+ Debug2::debug( '[LQIP] Added placeholder queue' );
268
 
269
  self::save_summary();
270
  return $tmp_placeholder;
324
  // Clear LQIP in queue too
325
  self::save_summary( array() );
326
 
327
+ Debug2::debug( '[LQIP] Cleared LQIP queue' );
328
  }
329
 
330
  /**
342
  // For cron, need to check request interval too
343
  if ( ! $continue ) {
344
  if ( ! empty( $_instance->_summary[ 'curr_request' ] ) && time() - $_instance->_summary[ 'curr_request' ] < 300 ) {
345
+ Debug2::debug( '[LQIP] Last request not done' );
346
  return;
347
  }
348
  }
349
 
350
  foreach ( $_instance->_summary[ 'queue' ] as $v ) {
351
+ Debug2::debug( '[LQIP] cron job [size] ' . $v );
352
 
353
  $_instance->_generate_placeholder( $v );
354
 
366
  * @access private
367
  */
368
  private function _generate_placeholder_locally( $size ) {
369
+ Debug2::debug2( '[LQIP] _generate_placeholder local [size] ' . $size );
370
 
371
  $size = explode( 'x', $size );
372
 
397
  $data = $this->_generate_placeholder_locally( $size );
398
  }
399
  else {
400
+ $allowance = Cloud::get_instance()->allowance( Cloud::SVC_LQIP );
401
+ if ( ! $allowance ) {
402
+ Debug2::debug( '[LQIP] ❌ No credit' );
403
+ Admin_Display::error( Error::msg( 'lack_of_quota' ) );
404
+ return $this->_generate_placeholder_locally( $size );
405
+ }
406
 
407
  // Generate LQIP
408
  list( $width, $height ) = explode( 'x', $size );
416
  // CHeck if the image is 404 first
417
  if ( File::is_404( $req_data[ 'url' ] ) ) {
418
  $this->_popup_and_save( $raw_size_and_src );
419
+ Debug2::debug( '[LQIP] 404 before request [src] ' . $req_data[ 'url' ] );
420
  return $this->_generate_placeholder_locally( $size );
421
  }
422
 
423
+ // Update request status
424
+ $this->_summary[ 'curr_request' ] = time();
425
+ self::save_summary();
426
+
427
  $json = Cloud::post( Cloud::SVC_LQIP, $req_data, 30 );
428
  if ( ! is_array( $json ) ) {
429
  return $this->_generate_placeholder_locally( $size );
432
  if ( empty( $json[ 'lqip' ] ) || strpos( $json[ 'lqip' ], 'data:image/svg+xml' ) !== 0 ) {
433
  // image error, pop up the current queue
434
  $this->_popup_and_save( $raw_size_and_src );
435
+ Debug2::debug( '[LQIP] wrong response format', $json );
436
 
437
  return $this->_generate_placeholder_locally( $size );
438
  }
439
 
440
  $data = $json[ 'lqip' ];
441
 
442
+ Debug2::debug( '[LQIP] _generate_placeholder LQIP' );
443
  }
444
 
445
  // Write to file
451
  $this->_summary[ 'curr_request' ] = 0;
452
  $this->_popup_and_save( $raw_size_and_src );
453
 
454
+ Debug2::debug( '[LQIP] saved LQIP ' . $file );
455
 
456
  return $data;
457
  }
src/purge.cls.php CHANGED
@@ -205,8 +205,7 @@ class Purge extends Base {
205
  * @since 2.2
206
  * @access public
207
  */
208
- private function _purge_all_lscache( $silence = false )
209
- {
210
  $this->_add( '*' );
211
 
212
  if ( ! $silence ) {
@@ -221,12 +220,13 @@ class Purge extends Base {
221
  * @since 2.3
222
  * @access private
223
  */
224
- private function _purge_all_ccss( $silence = false )
225
- {
 
226
  CSS::get_instance()->rm_cache_folder() ;
227
 
228
  if ( ! $silence ) {
229
- $msg = __( 'Cleaned all critical CSS files.', 'litespeed-cache' ) ;
230
  ! defined( 'LITESPEED_PURGE_SILENT' ) && Admin_Display::succeed( $msg ) ;
231
  }
232
  }
@@ -237,8 +237,9 @@ class Purge extends Base {
237
  * @since 3.0
238
  * @access private
239
  */
240
- private function _purge_all_lqip( $silence = false )
241
- {
 
242
  Placeholder::get_instance()->rm_lqip_cache_folder() ;
243
 
244
  if ( ! $silence ) {
@@ -254,10 +255,12 @@ class Purge extends Base {
254
  * @access private
255
  */
256
  private function _purge_all_avatar( $silence = false ) {
 
 
257
  Avatar::get_instance()->rm_cache_folder() ;
258
 
259
  if ( ! $silence ) {
260
- $msg = __( 'Cleaned all gravatar files.', 'litespeed-cache' ) ;
261
  ! defined( 'LITESPEED_PURGE_SILENT' ) && Admin_Display::succeed( $msg ) ;
262
  }
263
  }
@@ -269,6 +272,8 @@ class Purge extends Base {
269
  * @access private
270
  */
271
  private function _purge_all_localres( $silence = false ) {
 
 
272
  $this->_add( Tag::TYPE_LOCALRES );
273
 
274
  if ( ! $silence ) {
@@ -284,6 +289,8 @@ class Purge extends Base {
284
  * @access private
285
  */
286
  private function _purge_all_cssjs( $silence = false ) {
 
 
287
  Optimize::update_option( Optimize::ITEM_TIMESTAMP_PURGE_CSS, time() );
288
 
289
  $this->_add( Tag::TYPE_MIN );
@@ -333,8 +340,7 @@ class Purge extends Base {
333
  * @since 1.8
334
  * @access private
335
  */
336
- private function _purge_all_object( $silence = false )
337
- {
338
  if ( ! defined( 'LSCWP_OBJECT_CACHE' ) ) {
339
  Debug2::debug( '[Purge] Failed to flush object cache due to object cache not enabled' ) ;
340
 
@@ -345,6 +351,9 @@ class Purge extends Base {
345
 
346
  return false ;
347
  }
 
 
 
348
  Object_Cache::get_instance()->flush() ;
349
  Debug2::debug( '[Purge] Flushed object cache' ) ;
350
 
@@ -526,7 +535,7 @@ class Purge extends Base {
526
  {
527
  $this->_add( Tag::TYPE_PAGES ) ;
528
 
529
- $msg = __( 'Notified LiteSpeed Web Server to purge pages.', 'litespeed-cache' ) ;
530
  ! defined( 'LITESPEED_PURGE_SILENT' ) && Admin_Display::succeed( $msg ) ;
531
  }
532
 
205
  * @since 2.2
206
  * @access public
207
  */
208
+ private function _purge_all_lscache( $silence = false ) {
 
209
  $this->_add( '*' );
210
 
211
  if ( ! $silence ) {
220
  * @since 2.3
221
  * @access private
222
  */
223
+ private function _purge_all_ccss( $silence = false ) {
224
+ do_action( 'litespeed_purged_all_ccss' );
225
+
226
  CSS::get_instance()->rm_cache_folder() ;
227
 
228
  if ( ! $silence ) {
229
+ $msg = __( 'Cleaned all Critical CSS files.', 'litespeed-cache' ) ;
230
  ! defined( 'LITESPEED_PURGE_SILENT' ) && Admin_Display::succeed( $msg ) ;
231
  }
232
  }
237
  * @since 3.0
238
  * @access private
239
  */
240
+ private function _purge_all_lqip( $silence = false ) {
241
+ do_action( 'litespeed_purged_all_lqip' );
242
+
243
  Placeholder::get_instance()->rm_lqip_cache_folder() ;
244
 
245
  if ( ! $silence ) {
255
  * @access private
256
  */
257
  private function _purge_all_avatar( $silence = false ) {
258
+ do_action( 'litespeed_purged_all_avatar' );
259
+
260
  Avatar::get_instance()->rm_cache_folder() ;
261
 
262
  if ( ! $silence ) {
263
+ $msg = __( 'Cleaned all Gravatar files.', 'litespeed-cache' ) ;
264
  ! defined( 'LITESPEED_PURGE_SILENT' ) && Admin_Display::succeed( $msg ) ;
265
  }
266
  }
272
  * @access private
273
  */
274
  private function _purge_all_localres( $silence = false ) {
275
+ do_action( 'litespeed_purged_all_localres' );
276
+
277
  $this->_add( Tag::TYPE_LOCALRES );
278
 
279
  if ( ! $silence ) {
289
  * @access private
290
  */
291
  private function _purge_all_cssjs( $silence = false ) {
292
+ do_action( 'litespeed_purged_all_cssjs' );
293
+
294
  Optimize::update_option( Optimize::ITEM_TIMESTAMP_PURGE_CSS, time() );
295
 
296
  $this->_add( Tag::TYPE_MIN );
340
  * @since 1.8
341
  * @access private
342
  */
343
+ private function _purge_all_object( $silence = false ) {
 
344
  if ( ! defined( 'LSCWP_OBJECT_CACHE' ) ) {
345
  Debug2::debug( '[Purge] Failed to flush object cache due to object cache not enabled' ) ;
346
 
351
 
352
  return false ;
353
  }
354
+
355
+ do_action( 'litespeed_purged_all_object' );
356
+
357
  Object_Cache::get_instance()->flush() ;
358
  Debug2::debug( '[Purge] Flushed object cache' ) ;
359
 
535
  {
536
  $this->_add( Tag::TYPE_PAGES ) ;
537
 
538
+ $msg = __( 'Notified LiteSpeed Web Server to purge all pages.', 'litespeed-cache' ) ;
539
  ! defined( 'LITESPEED_PURGE_SILENT' ) && Admin_Display::succeed( $msg ) ;
540
  }
541
 
tpl/cache/settings-cache.tpl.php CHANGED
@@ -24,7 +24,7 @@ defined( 'WPINC' ) || exit;
24
  <?php echo sprintf(__('Please visit the <a %s>Information</a> page on how to test the cache.', 'litespeed-cache'),
25
  'href="https://docs.litespeedtech.com/lscache/lscwp/installation/#testing" target="_blank"'); ?>
26
 
27
- <strong><?php echo __('NOTICE', 'litespeed-cache'); ?>: </strong><?php echo __('When disabling the cache, all cached entries for this blog will be purged.', 'litespeed-cache'); ?>
28
 
29
  <?php if ( $this->_is_multisite ): ?>
30
  <br><?php echo __('The network admin setting can be overridden here.', 'litespeed-cache'); ?>
24
  <?php echo sprintf(__('Please visit the <a %s>Information</a> page on how to test the cache.', 'litespeed-cache'),
25
  'href="https://docs.litespeedtech.com/lscache/lscwp/installation/#testing" target="_blank"'); ?>
26
 
27
+ <strong><?php echo __('NOTICE', 'litespeed-cache'); ?>: </strong><?php echo __('When disabling the cache, all cached entries for this site will be purged.', 'litespeed-cache'); ?>
28
 
29
  <?php if ( $this->_is_multisite ): ?>
30
  <br><?php echo __('The network admin setting can be overridden here.', 'litespeed-cache'); ?>
tpl/cache/settings-esi.tpl.php CHANGED
@@ -135,4 +135,4 @@ defined( 'WPINC' ) || exit ;
135
 
136
  </tbody></table>
137
 
138
- </div>
135
 
136
  </tbody></table>
137
 
138
+ </div>
tpl/cache/settings-purge.tpl.php CHANGED
@@ -82,7 +82,7 @@ $break_arr = array(
82
  <td>
83
  <?php $this->build_switch( $id ); ?>
84
  <div class="litespeed-desc">
85
- <?php echo __( 'If ON, stale copy of cached page will be shown to visitor until a new cache copy is available. Reduces the server load for following visits. If OFF, page will be dynamically generated while visitor waits.', 'litespeed-cache' ); ?>
86
  <?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/cache/#serve-stale' ); ?>
87
  </div>
88
  <div class="litespeed-callout notice notice-warning inline">
82
  <td>
83
  <?php $this->build_switch( $id ); ?>
84
  <div class="litespeed-desc">
85
+ <?php echo __( 'If ON, the stale copy of a cached page will be shown to visitors until a new cache copy is available. Reduces the server load for following visits. If OFF, the page will be dynamically generated while visitors wait.', 'litespeed-cache' ); ?>
86
  <?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/cache/#serve-stale' ); ?>
87
  </div>
88
  <div class="litespeed-callout notice notice-warning inline">
tpl/cache/settings_inc.purge_on_upgrade.tpl.php CHANGED
@@ -12,7 +12,7 @@ defined( 'WPINC' ) || exit ;
12
  <td>
13
  <?php $this->build_switch( $id ) ; ?>
14
  <div class="litespeed-desc">
15
- <?php echo __( 'When enabled, the cache will automatically purge when any plugins, themes, or WordPress core is upgraded.', 'litespeed-cache' ) ; ?>
16
  </div>
17
  </td>
18
  </tr>
12
  <td>
13
  <?php $this->build_switch( $id ) ; ?>
14
  <div class="litespeed-desc">
15
+ <?php echo __( 'When enabled, the cache will automatically purge when any plugin, theme or the WordPress core is upgraded.', 'litespeed-cache' ) ; ?>
16
  </div>
17
  </td>
18
  </tr>
tpl/crawler/summary.tpl.php CHANGED
@@ -46,7 +46,7 @@ if($seconds > 0):
46
  <?php if ( ! Router::can_crawl() ): ?>
47
  <div class="litespeed-callout notice notice-error inline">
48
  <h4><?php echo __('WARNING', 'litespeed-cache'); ?></h4>
49
- <p><?php echo __('The crawler feature is not enabled on the LiteSpeed server. Please consult your server admin.', 'litespeed-cache'); ?></p>
50
  <p><?php echo sprintf(__('See <a %s>Introduction for Enabling the Crawler</a> for detailed information.', 'litespeed-cache'), 'href="https://docs.litespeedtech.com/lscache/lscwp/admin/#enabling-and-limiting-the-crawler" target="_blank"'); ?></p>
51
  </div>
52
  <?php endif; ?>
46
  <?php if ( ! Router::can_crawl() ): ?>
47
  <div class="litespeed-callout notice notice-error inline">
48
  <h4><?php echo __('WARNING', 'litespeed-cache'); ?></h4>
49
+ <p><?php echo __('The crawler feature is not enabled on the LiteSpeed server. Please consult your server admin or hosting provider.', 'litespeed-cache'); ?></p>
50
  <p><?php echo sprintf(__('See <a %s>Introduction for Enabling the Crawler</a> for detailed information.', 'litespeed-cache'), 'href="https://docs.litespeedtech.com/lscache/lscwp/admin/#enabling-and-limiting-the-crawler" target="_blank"'); ?></p>
51
  </div>
52
  <?php endif; ?>
tpl/dash/dashboard.tpl.php CHANGED
@@ -199,7 +199,7 @@ $placeholder_summary = Placeholder::get_summary();
199
 
200
  <?php $closest_server = Cloud::get_summary( 'server.' . CLoud::SVC_HEALTH ); ?>
201
  <?php if ( $closest_server ) : ?>
202
- <a href="<?php echo Utility::build_url( Router::ACTION_CLOUD, Cloud::TYPE_REDETECT_CLOUD, false, null, array( 'svc' => Cloud::SVC_HEALTH ) ); ?>" data-balloon-pos="up" data-balloon-break aria-label='<?php echo sprintf( __( 'Current closest Cloud server is %s.&#10;Click to redetect.', 'litespeed-cache' ), $closest_server ); ?>' data-litespeed-cfm="<?php echo __( 'Are you sure to redetect the closest cloud server for this service?', 'litespeed-cache' ) ; ?>" class="litespeed-right"><i class='litespeed-quic-icon'></i></a>
203
  <?php endif; ?>
204
  </div>
205
  </div>
199
 
200
  <?php $closest_server = Cloud::get_summary( 'server.' . CLoud::SVC_HEALTH ); ?>
201
  <?php if ( $closest_server ) : ?>
202
+ <a href="<?php echo Utility::build_url( Router::ACTION_CLOUD, Cloud::TYPE_REDETECT_CLOUD, false, null, array( 'svc' => Cloud::SVC_HEALTH ) ); ?>" data-balloon-pos="up" data-balloon-break aria-label='<?php echo sprintf( __( 'Current closest Cloud server is %s.&#10;Click to redetect.', 'litespeed-cache' ), $closest_server ); ?>' data-litespeed-cfm="<?php echo __( 'Are you sure you want to redetect the closest cloud server for this service?', 'litespeed-cache' ) ; ?>" class="litespeed-right"><i class='litespeed-quic-icon'></i></a>
203
  <?php endif; ?>
204
  </div>
205
  </div>
tpl/general/settings.tpl.php CHANGED
@@ -7,8 +7,6 @@ $__cloud = Cloud::get_instance();
7
  // This will drop QS param `qc_res` and `domain_hash` also
8
  $__cloud->update_is_linked_status();
9
 
10
- $permalink_structure = get_option( 'permalink_structure' );
11
-
12
  $cloud_summary = Cloud::get_summary();
13
 
14
  $can_token = $__cloud->can_token();
@@ -63,7 +61,7 @@ $this->form_action();
63
  <?php $this->build_input( $id, null, null, 'text', true ); ?>
64
  <?php endif; ?>
65
 
66
- <?php if ( $permalink_structure && $can_token ) : ?>
67
  <?php Doc::learn_more( Utility::build_url( Router::ACTION_CLOUD, Cloud::TYPE_GEN_KEY ), $apply_btn_txt, true, 'button litespeed-btn-success' ); ?>
68
  <?php else: ?>
69
  <?php Doc::learn_more( 'javascript:;', $apply_btn_txt, true, 'button disabled' ); ?>
@@ -83,7 +81,7 @@ $this->form_action();
83
  <?php if ( $is_requesting && $can_token ) : ?>
84
  <div class="litespeed-callout notice notice-error inline">
85
  <h4><?php echo __( 'Notice', 'litespeed-cache' ); ?>:</h4>
86
- <p><?php echo sprintf( __( 'There is a problem receiving your domain key. Please click the %s button to retry.', 'litespeed-cache' ), '<code>' . $apply_btn_txt . '</code>' ); ?></p>
87
  <p><?php echo __( 'There are two reasons why we might not be able to communicate with your domain:', 'litespeed-cache' ); ?>:</p>
88
  <p>1) <?php echo sprintf( __( 'The POST callback to %s failed.', 'litespeed-cache' ), '<code>' . home_url() . '/' . ( function_exists( 'rest_get_url_prefix' ) ? rest_get_url_prefix() : apply_filters( 'rest_url_prefix', 'wp-json' ) ) . '/litespeed/v1/token</code>' ); ?> </p>
89
  <p>2) <?php echo sprintf( __( 'Our %s was not whitelisted.', 'litespeed-cache' ), __( 'Current Online Server IPs', 'litespeed-cache' ) ); ?></p>
@@ -98,15 +96,6 @@ $this->form_action();
98
  </div>
99
  <?php endif; ?>
100
 
101
- <?php if ( ! $permalink_structure ) : ?>
102
- <div class="litespeed-callout notice notice-error inline">
103
- <h4><?php echo __( 'Warning', 'litespeed-cache' ); ?>:</h4>
104
- <p><?php echo sprintf( __( 'You must set WordPress %1$s to a value other than %2$s before generating an Domain key.', 'litespeed-cache' ), '<code>' . __( 'Permalink Settings' ) . '</code>', '<code>' . __( 'Plain' ) . '</code>' ); ?>
105
- <?php echo '<a href="options-permalink.php">' . __( 'Click here to config', 'litespeed-cache' ) . '</a>'; ?>
106
- </p>
107
- </div>
108
- <?php endif; ?>
109
-
110
  <?php if ( ! Conf::val( Base::O_API_KEY ) ) : ?>
111
  <div class="litespeed-callout notice notice-error inline">
112
  <h4><?php echo __( 'Warning', 'litespeed-cache' ); ?>:</h4>
@@ -125,7 +114,7 @@ $this->form_action();
125
  <br /><?php Doc::notice_ips(); ?>
126
  <div class="litespeed-callout notice notice-success inline">
127
  <h4><?php echo __( 'Current Cloud Nodes in Service','litespeed-cache' ); ?>
128
- <a class="litespeed-right" href="<?php echo Utility::build_url( Router::ACTION_CLOUD, Cloud::TYPE_CLEAR_CLOUD ); ?>" data-balloon-pos="up" data-balloon-break aria-label='<?php echo __( 'Click to clear all nodes for further redetection.', 'litespeed-cache' ); ?>' data-litespeed-cfm="<?php echo __( 'Are you sure to clear all cloud nodes?', 'litespeed-cache' ); ?>"><i class='litespeed-quic-icon'></i></a>
129
  </h4>
130
  <p>
131
  <?php
7
  // This will drop QS param `qc_res` and `domain_hash` also
8
  $__cloud->update_is_linked_status();
9
 
 
 
10
  $cloud_summary = Cloud::get_summary();
11
 
12
  $can_token = $__cloud->can_token();
61
  <?php $this->build_input( $id, null, null, 'text', true ); ?>
62
  <?php endif; ?>
63
 
64
+ <?php if ( $can_token ) : ?>
65
  <?php Doc::learn_more( Utility::build_url( Router::ACTION_CLOUD, Cloud::TYPE_GEN_KEY ), $apply_btn_txt, true, 'button litespeed-btn-success' ); ?>
66
  <?php else: ?>
67
  <?php Doc::learn_more( 'javascript:;', $apply_btn_txt, true, 'button disabled' ); ?>
81
  <?php if ( $is_requesting && $can_token ) : ?>
82
  <div class="litespeed-callout notice notice-error inline">
83
  <h4><?php echo __( 'Notice', 'litespeed-cache' ); ?>:</h4>
84
+ <p><?php echo sprintf( __( 'There was a problem with retrieving your Domain Key. Please click the %s button to retry.', 'litespeed-cache' ), '<code>' . $apply_btn_txt . '</code>' ); ?></p>
85
  <p><?php echo __( 'There are two reasons why we might not be able to communicate with your domain:', 'litespeed-cache' ); ?>:</p>
86
  <p>1) <?php echo sprintf( __( 'The POST callback to %s failed.', 'litespeed-cache' ), '<code>' . home_url() . '/' . ( function_exists( 'rest_get_url_prefix' ) ? rest_get_url_prefix() : apply_filters( 'rest_url_prefix', 'wp-json' ) ) . '/litespeed/v1/token</code>' ); ?> </p>
87
  <p>2) <?php echo sprintf( __( 'Our %s was not whitelisted.', 'litespeed-cache' ), __( 'Current Online Server IPs', 'litespeed-cache' ) ); ?></p>
96
  </div>
97
  <?php endif; ?>
98
 
 
 
 
 
 
 
 
 
 
99
  <?php if ( ! Conf::val( Base::O_API_KEY ) ) : ?>
100
  <div class="litespeed-callout notice notice-error inline">
101
  <h4><?php echo __( 'Warning', 'litespeed-cache' ); ?>:</h4>
114
  <br /><?php Doc::notice_ips(); ?>
115
  <div class="litespeed-callout notice notice-success inline">
116
  <h4><?php echo __( 'Current Cloud Nodes in Service','litespeed-cache' ); ?>
117
+ <a class="litespeed-right" href="<?php echo Utility::build_url( Router::ACTION_CLOUD, Cloud::TYPE_CLEAR_CLOUD ); ?>" data-balloon-pos="up" data-balloon-break aria-label='<?php echo __( 'Click to clear all nodes for further redetection.', 'litespeed-cache' ); ?>' data-litespeed-cfm="<?php echo __( 'Are you sure you want to clear all cloud nodes?', 'litespeed-cache' ); ?>"><i class='litespeed-quic-icon'></i></a>
118
  </h4>
119
  <p>
120
  <?php
tpl/img_optm/summary.tpl.php CHANGED
@@ -48,7 +48,7 @@ if ( ! empty( $img_count[ 'img.' . Img_Optm::STATUS_ERR_FETCH ] ) ) {
48
 
49
  <h3>
50
  <?php if ( $closest_server ) : ?>
51
- <a href="<?php echo Utility::build_url( Router::ACTION_CLOUD, Cloud::TYPE_REDETECT_CLOUD, false, null, array( 'svc' => Cloud::SVC_IMG_OPTM ) ) ; ?>" class="litespeed-info-button" data-balloon-pos="right" data-balloon-break aria-label="<?php echo sprintf( __( 'Current closest Cloud server is %s.&#10; Click to redetect.', 'litespeed-cache' ), $closest_server ) ; ?>" data-litespeed-cfm="<?php echo __( 'Are you sure to redetect the closest cloud server for this service?', 'litespeed-cache' ) ; ?>"><span class="litespeed-quic-icon"></span></a>
52
  <?php else : ?>
53
  <span class="litespeed-quic-icon"></span>
54
  <?php endif ; ?>
@@ -62,7 +62,7 @@ if ( ! empty( $img_count[ 'img.' . Img_Optm::STATUS_ERR_FETCH ] ) ) {
62
 
63
  <?php if ( $wet_limit ) : ?>
64
  <p class="litespeed-desc">
65
- <?php echo __( 'To make sure our server can communicate with your server without any issues and everything works fine, for the few first requests the amount images allowed in single request is limited.' ) ; ?>
66
  <?php echo __( 'Current limit is', 'litespeed-cache' ) . ': <strong>' . $wet_limit . '</strong>'; ?>
67
  </p>
68
  <?php endif; ?>
@@ -246,7 +246,7 @@ if ( ! empty( $img_count[ 'img.' . Img_Optm::STATUS_ERR_FETCH ] ) ) {
246
  </p>
247
  </div>
248
  <?php endif ; ?>
249
- <div class="litespeed-image-optim-summary-footer"><a href="<?php echo Utility::build_url( Router::ACTION_IMG_OPTM, Img_Optm::TYPE_RM_BKUP ) ; ?>" data-litespeed-cfm="<?php echo __( 'Are you sure to remove all image backups?', 'litespeed-cache' ) ; ?>" class="litespeed-link-with-icon litespeed-danger">
250
  <span class="dashicons dashicons-trash"></span><?php echo __( 'Remove Original Image Backups', 'litespeed-cache' ) ; ?>
251
  </a></div>
252
  </div>
48
 
49
  <h3>
50
  <?php if ( $closest_server ) : ?>
51
+ <a href="<?php echo Utility::build_url( Router::ACTION_CLOUD, Cloud::TYPE_REDETECT_CLOUD, false, null, array( 'svc' => Cloud::SVC_IMG_OPTM ) ) ; ?>" class="litespeed-info-button" data-balloon-pos="right" data-balloon-break aria-label="<?php echo sprintf( __( 'Current closest Cloud server is %s.&#10; Click to redetect.', 'litespeed-cache' ), $closest_server ) ; ?>" data-litespeed-cfm="<?php echo __( 'Are you sure you want to redetect the closest cloud server for this service?', 'litespeed-cache' ) ; ?>"><span class="litespeed-quic-icon"></span></a>
52
  <?php else : ?>
53
  <span class="litespeed-quic-icon"></span>
54
  <?php endif ; ?>
62
 
63
  <?php if ( $wet_limit ) : ?>
64
  <p class="litespeed-desc">
65
+ <?php echo __( 'To make sure our server can communicate with your server without any issues and everything works fine, for the few first requests the number of images allowed in a single request is limited.' ) ; ?>
66
  <?php echo __( 'Current limit is', 'litespeed-cache' ) . ': <strong>' . $wet_limit . '</strong>'; ?>
67
  </p>
68
  <?php endif; ?>
246
  </p>
247
  </div>
248
  <?php endif ; ?>
249
+ <div class="litespeed-image-optim-summary-footer"><a href="<?php echo Utility::build_url( Router::ACTION_IMG_OPTM, Img_Optm::TYPE_RM_BKUP ) ; ?>" data-litespeed-cfm="<?php echo __( 'Are you sure you want to remove all image backups?', 'litespeed-cache' ) ; ?>" class="litespeed-link-with-icon litespeed-danger">
250
  <span class="dashicons dashicons-trash"></span><?php echo __( 'Remove Original Image Backups', 'litespeed-cache' ) ; ?>
251
  </a></div>
252
  </div>
tpl/page_optm/settings_css.tpl.php CHANGED
@@ -97,7 +97,7 @@ $closest_server = Cloud::get_summary( 'server.' . Cloud::SVC_CCSS );
97
  <?php endif; ?>
98
 
99
  <?php if ( $closest_server ) : ?>
100
- <a href="<?php echo Utility::build_url( Router::ACTION_CLOUD, Cloud::TYPE_REDETECT_CLOUD, false, null, array( 'svc' => Cloud::SVC_CCSS ) ); ?>" data-balloon-pos="up" data-balloon-break aria-label='<?php echo sprintf( __( 'Current closest Cloud server is %s.&#10; Click to redetect.', 'litespeed-cache' ), $closest_server ); ?>' data-litespeed-cfm="<?php echo __( 'Are you sure to redetect the closest cloud server for this service?', 'litespeed-cache' ) ; ?>"><i class='litespeed-quic-icon'></i></a>
101
  <?php endif; ?>
102
 
103
  </div>
@@ -165,7 +165,7 @@ $closest_server = Cloud::get_summary( 'server.' . Cloud::SVC_CCSS );
165
  <td>
166
  <?php $this->build_switch( $id ); ?>
167
  <div class="litespeed-desc">
168
- <?php echo sprintf( __( 'Leave this option %1$s to allow communication with QUIC.cloud CCSS service. If set to %2$s, Critical CSS will not be generated.', 'litespeed-cache' ), '<code>' . __( 'ON', 'litespeed-cache' ) . '</code>', '<code>' . __( 'OFF', 'litespeed-cache' ) . '</code>' ); ?><br />
169
  <?php echo sprintf( __( 'This option only works if %1$s is %2$s.', 'litespeed-cache' ), '<code>' . __( 'Load CSS Asynchronously', 'litespeed-cache' ) . '</code>', '<code>' . __( 'ON', 'litespeed-cache' ) . '</code>' ); ?>
170
  </div>
171
  </td>
@@ -196,7 +196,7 @@ $closest_server = Cloud::get_summary( 'server.' . Cloud::SVC_CCSS );
196
  <?php endif; ?>
197
 
198
  <?php if ( $closest_server ) : ?>
199
- <a href="<?php echo Utility::build_url( Router::ACTION_CLOUD, Cloud::TYPE_REDETECT_CLOUD, false, null, array( 'svc' => Cloud::SVC_CCSS ) ); ?>" data-balloon-pos="up" data-balloon-break aria-label='<?php echo sprintf( __( 'Current closest Cloud server is %s.&#10; Click to redetect.', 'litespeed-cache' ), $closest_server ); ?>' data-litespeed-cfm="<?php echo __( 'Are you sure to redetect the closest cloud server for this service?', 'litespeed-cache' ) ; ?>"><i class='litespeed-quic-icon'></i></a>
200
  <?php endif; ?>
201
 
202
  <?php if ( ! empty( $css_summary[ 'queue' ] ) ) : ?>
97
  <?php endif; ?>
98
 
99
  <?php if ( $closest_server ) : ?>
100
+ <a href="<?php echo Utility::build_url( Router::ACTION_CLOUD, Cloud::TYPE_REDETECT_CLOUD, false, null, array( 'svc' => Cloud::SVC_CCSS ) ); ?>" data-balloon-pos="up" data-balloon-break aria-label='<?php echo sprintf( __( 'Current closest Cloud server is %s.&#10; Click to redetect.', 'litespeed-cache' ), $closest_server ); ?>' data-litespeed-cfm="<?php echo __( 'Are you sure you want to redetect the closest cloud server for this service?', 'litespeed-cache' ) ; ?>"><i class='litespeed-quic-icon'></i></a>
101
  <?php endif; ?>
102
 
103
  </div>
165
  <td>
166
  <?php $this->build_switch( $id ); ?>
167
  <div class="litespeed-desc">
168
+ <?php echo sprintf( __( 'Leave this option %1$s to allow communication with the QUIC.cloud CCSS service. If set to %2$s, Critical CSS will not be generated.', 'litespeed-cache' ), '<code>' . __( 'ON', 'litespeed-cache' ) . '</code>', '<code>' . __( 'OFF', 'litespeed-cache' ) . '</code>' ); ?><br />
169
  <?php echo sprintf( __( 'This option only works if %1$s is %2$s.', 'litespeed-cache' ), '<code>' . __( 'Load CSS Asynchronously', 'litespeed-cache' ) . '</code>', '<code>' . __( 'ON', 'litespeed-cache' ) . '</code>' ); ?>
170
  </div>
171
  </td>
196
  <?php endif; ?>
197
 
198
  <?php if ( $closest_server ) : ?>
199
+ <a href="<?php echo Utility::build_url( Router::ACTION_CLOUD, Cloud::TYPE_REDETECT_CLOUD, false, null, array( 'svc' => Cloud::SVC_CCSS ) ); ?>" data-balloon-pos="up" data-balloon-break aria-label='<?php echo sprintf( __( 'Current closest Cloud server is %s.&#10; Click to redetect.', 'litespeed-cache' ), $closest_server ); ?>' data-litespeed-cfm="<?php echo __( 'Are you sure you want to redetect the closest cloud server for this service?', 'litespeed-cache' ) ; ?>"><i class='litespeed-quic-icon'></i></a>
200
  <?php endif; ?>
201
 
202
  <?php if ( ! empty( $css_summary[ 'queue' ] ) ) : ?>
tpl/page_optm/settings_html.tpl.php CHANGED
@@ -172,4 +172,18 @@ defined( 'WPINC' ) || exit;
172
  </td>
173
  </tr>
174
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
175
  </tbody></table>
172
  </td>
173
  </tr>
174
 
175
+ <tr>
176
+ <th>
177
+ <?php $id = Base::O_OPTM_NOSCRIPT_RM; ?>
178
+ <?php $this->title( $id ); ?>
179
+ </th>
180
+ <td>
181
+ <?php $this->build_switch( $id ); ?>
182
+ <div class="litespeed-desc">
183
+ <?php echo sprintf( __( 'This option will remove all %s tags from HTML.', 'litespeed-cache' ), '<code>&lt;noscript&gt;</code>' ); ?>
184
+ <?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/pageopt/#remove-noscript-tags' ); ?>
185
+ </div>
186
+ </td>
187
+ </tr>
188
+
189
  </tbody></table>
tpl/page_optm/settings_media.tpl.php CHANGED
@@ -169,7 +169,7 @@ $closest_server = Cloud::get_summary( 'server.' . Cloud::SVC_LQIP );
169
  <?php endif; ?>
170
 
171
  <?php if ( $closest_server ) : ?>
172
- <a href="<?php echo Utility::build_url( Router::ACTION_CLOUD, Cloud::TYPE_REDETECT_CLOUD, false, null, array( 'svc' => Cloud::SVC_LQIP ) ); ?>" data-balloon-pos="up" data-balloon-break aria-label='<?php echo sprintf( __( 'Current closest Cloud server is %s.&#10; Click to redetect.', 'litespeed-cache' ), $closest_server ); ?>' data-litespeed-cfm="<?php echo __( 'Are you sure to redetect the closest cloud server for this service?', 'litespeed-cache' ) ; ?>"><i class='litespeed-quic-icon'></i></a>
173
  <?php endif; ?>
174
 
175
  <?php if ( ! empty( $placeholder_summary[ 'queue' ] ) ) : ?>
169
  <?php endif; ?>
170
 
171
  <?php if ( $closest_server ) : ?>
172
+ <a href="<?php echo Utility::build_url( Router::ACTION_CLOUD, Cloud::TYPE_REDETECT_CLOUD, false, null, array( 'svc' => Cloud::SVC_LQIP ) ); ?>" data-balloon-pos="up" data-balloon-break aria-label='<?php echo sprintf( __( 'Current closest Cloud server is %s.&#10; Click to redetect.', 'litespeed-cache' ), $closest_server ); ?>' data-litespeed-cfm="<?php echo __( 'Are you sure you want to redetect the closest cloud server for this service?', 'litespeed-cache' ) ; ?>"><i class='litespeed-quic-icon'></i></a>
173
  <?php endif; ?>
174
 
175
  <?php if ( ! empty( $placeholder_summary[ 'queue' ] ) ) : ?>
tpl/toolbox/heartbeat.tpl.php CHANGED
@@ -76,7 +76,7 @@ $this->form_action();
76
  <div class="litespeed-desc">
77
  <?php echo sprintf( __( 'Specify the %s heartbeat interval in seconds.', 'litespeed-cache' ), 'backend' ); ?>
78
  <?php echo sprintf( __( 'WordPress valid interval is %s seconds', 'litespeed-cache' ), '<code>15</code> ~ <code>120</code>' ); ?><br />
79
- <?php echo sprintf( __( 'Set to %1$s to forbid heartbeat on %2$s.', 'litespeed-cache' ), '<code>0</code>', 'frontend' ); ?><br />
80
  <?php $this->recommended( $id ); ?>
81
  <?php $this->_validate_ttl( $id, 15, 120, true ); ?>
82
  </div>
76
  <div class="litespeed-desc">
77
  <?php echo sprintf( __( 'Specify the %s heartbeat interval in seconds.', 'litespeed-cache' ), 'backend' ); ?>
78
  <?php echo sprintf( __( 'WordPress valid interval is %s seconds', 'litespeed-cache' ), '<code>15</code> ~ <code>120</code>' ); ?><br />
79
+ <?php echo sprintf( __( 'Set to %1$s to forbid heartbeat on %2$s.', 'litespeed-cache' ), '<code>0</code>', 'backend' ); ?><br />
80
  <?php $this->recommended( $id ); ?>
81
  <?php $this->_validate_ttl( $id, 15, 120, true ); ?>
82
  </div>
tpl/toolbox/import_export.tpl.php CHANGED
@@ -21,7 +21,7 @@ $summary = Import::get_summary();
21
  <?php endif; ?>
22
 
23
  <div class="litespeed-desc">
24
- <?php echo __( 'This will export all current LiteSpeed Cache settings and save as a file.', 'litespeed-cache' ); ?>
25
  </div>
26
 
27
  <h3 class="litespeed-title"><?php echo __('Import Settings', 'litespeed-cache'); ?></h3>
@@ -49,7 +49,7 @@ $summary = Import::get_summary();
49
  <h3 class="litespeed-title"><?php echo __('Reset All Settings', 'litespeed-cache'); ?></h3>
50
  <div><p>🚨 <?php echo __( 'This will reset all settings to default settings.', 'litespeed-cache' ); ?></p>
51
  </div>
52
- <div><a href="<?php echo Utility::build_url( Router::ACTION_IMPORT, Import::TYPE_RESET ); ?>" data-litespeed-cfm="<?php echo __( 'Are you sure to reset all settings to default settings?', 'litespeed-cache' ); ?>" class="button litespeed-btn-danger-bg">
53
  <?php echo __( 'Reset Settings', 'litespeed-cache' ); ?>
54
  </a></div>
55
 
21
  <?php endif; ?>
22
 
23
  <div class="litespeed-desc">
24
+ <?php echo __( 'This will export all current LiteSpeed Cache settings and save them as a file.', 'litespeed-cache' ); ?>
25
  </div>
26
 
27
  <h3 class="litespeed-title"><?php echo __('Import Settings', 'litespeed-cache'); ?></h3>
49
  <h3 class="litespeed-title"><?php echo __('Reset All Settings', 'litespeed-cache'); ?></h3>
50
  <div><p>🚨 <?php echo __( 'This will reset all settings to default settings.', 'litespeed-cache' ); ?></p>
51
  </div>
52
+ <div><a href="<?php echo Utility::build_url( Router::ACTION_IMPORT, Import::TYPE_RESET ); ?>" data-litespeed-cfm="<?php echo __( 'Are you sure you want to reset all settings back to the default settings?', 'litespeed-cache' ); ?>" class="button litespeed-btn-danger-bg">
53
  <?php echo __( 'Reset Settings', 'litespeed-cache' ); ?>
54
  </a></div>
55
 
tpl/toolbox/purge.tpl.php CHANGED
@@ -123,7 +123,7 @@ if ( ! is_multisite() || is_network_admin() ) {
123
  'title_cls' => 'litespeed-danger',
124
  'cfm' => esc_html( __( 'This will clear EVERYTHING inside the cache.', 'litespeed-cache' ) ) . ' ' .
125
  esc_html( __( 'This may cause heavy load on the server.', 'litespeed-cache' ) ) . ' ' .
126
- esc_html( __( 'If only the WordPress site should be purged, use purge all.', 'litespeed-cache' ) )
127
  ) ;
128
  }
129
 
123
  'title_cls' => 'litespeed-danger',
124
  'cfm' => esc_html( __( 'This will clear EVERYTHING inside the cache.', 'litespeed-cache' ) ) . ' ' .
125
  esc_html( __( 'This may cause heavy load on the server.', 'litespeed-cache' ) ) . ' ' .
126
+ esc_html( __( 'If only the WordPress site should be purged, use Purge All.', 'litespeed-cache' ) )
127
  ) ;
128
  }
129