Version Description
- Oct 13 2021 =
- Media Fixed an issue where WebP is served erroneously under Guest Mode on older versions of Safari. (hash73)
-
Media Reverted regex change to fix
Lazy Load Image Parent Class Name Excludes
failure. (thpstock) -
Purge Disabled
Purge Delay
in the optimization process by default. -
Conf Dropped
.htaccess Path Settings
options for security concern. (WP) -
Conf Dropped
CSS HTTP/2 Push
/JS HTTP/2 Push
options. (Kevin) -
Conf Set
Guest Optimization
default to OFF. -
Conf Set
CCSS Per URL
default to OFF to avoid consuming more quota than intended after upgrade to v4. (n111) - Object Fixed an issue with Object Cache warnings during upgrade, when Guest Mode is enabled.
- Cloud Fixed an issue with PHP notices when inquiring about quota usage for a service not currently in use.
- GUI Added GO detail warning. (n111)
- GUI Moved "quota wil be still in use" warning from Guest Mode to Guest Optimization section.
-
API Added
LITESPEED_CFG_HTACCESS
PHP Constant to specify .htaccess path. -
API Added
litespeed_qs_forbidden
hook to bypass?LSCWP_CTRL=
query string. (minhduc) -
API Added
litespeed_delay_purge
hook to delay the following Purge header until the next request. -
API Added
litespeed_wpconfig_readonly
hook to disableWP_CACHE
constant update based on the wp-config.php file. (#633545)
Download this release
Release Info
Developer | LiteSpeedTech |
Plugin | LiteSpeed Cache |
Version | 4.4.3 |
Comparing to | |
See all releases |
Code changes from version 4.4.2 to 4.4.3
- data/const.default.ini +2 -14
- lang/litespeed-cache.pot +220 -263
- litespeed-cache.php +2 -2
- readme.txt +20 -3
- src/activation.cls.php +4 -0
- src/admin.cls.php +0 -6
- src/base.cls.php +0 -11
- src/cloud.cls.php +2 -2
- src/core.cls.php +1 -1
- src/css.cls.php +1 -1
- src/data.upgrade.func.php +2 -2
- src/htaccess.cls.php +2 -54
- src/lang.cls.php +0 -4
- src/media.cls.php +7 -7
- src/object-cache.cls.php +22 -16
- src/optimize.cls.php +4 -70
- src/optimizer.cls.php +1 -1
- src/purge.cls.php +7 -3
- src/router.cls.php +5 -8
- src/utility.cls.php +1 -1
- tpl/general/settings.tpl.php +19 -1
- tpl/general/settings_inc.guest.tpl.php +0 -16
- tpl/page_optm/settings_css.tpl.php +0 -13
- tpl/page_optm/settings_js.tpl.php +0 -13
- tpl/toolbox/beta_test.tpl.php +1 -0
- tpl/toolbox/edit_htaccess.tpl.php +20 -41
- tpl/toolbox/entry.tpl.php +1 -1
data/const.default.ini
CHANGED
@@ -23,7 +23,7 @@ server_ip = ''
|
|
23 |
guest = false
|
24 |
|
25 |
; O_GUEST_OPTM
|
26 |
-
guest_optm =
|
27 |
|
28 |
; O_NEWS
|
29 |
news = true
|
@@ -314,9 +314,6 @@ optm-ucss_whitelist = ''
|
|
314 |
; O_OPTM_UCSS_EXC
|
315 |
optm-ucss_exc = ''
|
316 |
|
317 |
-
; O_OPTM_CSS_HTTP2
|
318 |
-
optm-css_http2 = false
|
319 |
-
|
320 |
optm-css_exc = ''
|
321 |
|
322 |
; O_OPTM_JS_MIN
|
@@ -328,9 +325,6 @@ optm-js_comb = false
|
|
328 |
; O_OPTM_JS_COMB_EXT_INL
|
329 |
optm-js_comb_ext_inl = true
|
330 |
|
331 |
-
; O_OPTM_JS_HTTP2
|
332 |
-
optm-js_http2 = false
|
333 |
-
|
334 |
optm-js_exc = 'jquery.js
|
335 |
jquery.min.js'
|
336 |
|
@@ -347,7 +341,7 @@ optm-ggfonts_rm = false
|
|
347 |
optm-css_async = false
|
348 |
|
349 |
; O_OPTM_CCSS_PER_URL
|
350 |
-
optm-ccss_per_url =
|
351 |
|
352 |
; O_OPTM_CSS_ASYNC_INLINE
|
353 |
optm-css_async_inline = true
|
@@ -604,12 +598,6 @@ crawler-cookies = ''
|
|
604 |
;; -------------- Misc ----------------- ;;
|
605 |
;; -------------------------------------------------- ;;
|
606 |
|
607 |
-
; O_MISC_HTACCESS_FRONT
|
608 |
-
misc-htaccess_front = ''
|
609 |
-
|
610 |
-
; O_MISC_HTACCESS_BACK
|
611 |
-
misc-htaccess_back = ''
|
612 |
-
|
613 |
; O_MISC_HEARTBEAT_FRONT
|
614 |
misc-heartbeat_front = false
|
615 |
|
23 |
guest = false
|
24 |
|
25 |
; O_GUEST_OPTM
|
26 |
+
guest_optm = false
|
27 |
|
28 |
; O_NEWS
|
29 |
news = true
|
314 |
; O_OPTM_UCSS_EXC
|
315 |
optm-ucss_exc = ''
|
316 |
|
|
|
|
|
|
|
317 |
optm-css_exc = ''
|
318 |
|
319 |
; O_OPTM_JS_MIN
|
325 |
; O_OPTM_JS_COMB_EXT_INL
|
326 |
optm-js_comb_ext_inl = true
|
327 |
|
|
|
|
|
|
|
328 |
optm-js_exc = 'jquery.js
|
329 |
jquery.min.js'
|
330 |
|
341 |
optm-css_async = false
|
342 |
|
343 |
; O_OPTM_CCSS_PER_URL
|
344 |
+
optm-ccss_per_url = false
|
345 |
|
346 |
; O_OPTM_CSS_ASYNC_INLINE
|
347 |
optm-css_async_inline = true
|
598 |
;; -------------- Misc ----------------- ;;
|
599 |
;; -------------------------------------------------- ;;
|
600 |
|
|
|
|
|
|
|
|
|
|
|
|
|
601 |
; O_MISC_HEARTBEAT_FRONT
|
602 |
misc-heartbeat_front = false
|
603 |
|
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 4.4\n"
|
6 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/litespeed-cache\n"
|
7 |
-
"POT-Creation-Date: 2021-
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
@@ -28,11 +28,11 @@ msgstr ""
|
|
28 |
msgid "Purged!"
|
29 |
msgstr ""
|
30 |
|
31 |
-
#: src/activation.cls.php:
|
32 |
msgid "Failed to upgrade."
|
33 |
msgstr ""
|
34 |
|
35 |
-
#: src/activation.cls.php:
|
36 |
msgid "Upgraded successfully."
|
37 |
msgstr ""
|
38 |
|
@@ -66,7 +66,7 @@ msgstr ""
|
|
66 |
msgid "Database"
|
67 |
msgstr ""
|
68 |
|
69 |
-
#: src/admin-display.cls.php:129 src/lang.cls.php:
|
70 |
msgid "Crawler"
|
71 |
msgstr ""
|
72 |
|
@@ -106,7 +106,7 @@ msgstr ""
|
|
106 |
#: src/admin-display.cls.php:855 src/admin-display.cls.php:906
|
107 |
#: tpl/cache/settings-cache.tpl.php:19
|
108 |
#: tpl/cache/settings_inc.cache_mobile.tpl.php:71 tpl/cdn/settings.tpl.php:49
|
109 |
-
#: tpl/page_optm/settings_css.tpl.php:
|
110 |
#: tpl/page_optm/settings_media.tpl.php:159
|
111 |
#: tpl/page_optm/settings_media.tpl.php:229
|
112 |
#: tpl/toolbox/settings-debug.tpl.php:34
|
@@ -117,7 +117,7 @@ msgstr ""
|
|
117 |
#: src/admin-display.cls.php:854 src/admin-display.cls.php:906
|
118 |
#: tpl/cache/settings-cache.tpl.php:19
|
119 |
#: tpl/cache/settings_inc.object.tpl.php:210 tpl/cdn/settings.tpl.php:54
|
120 |
-
#: tpl/page_optm/settings_css.tpl.php:71 tpl/page_optm/settings_js.tpl.php:
|
121 |
#: tpl/page_optm/settings_media.tpl.php:162
|
122 |
#: tpl/toolbox/settings-debug.tpl.php:34
|
123 |
msgid "OFF"
|
@@ -200,7 +200,7 @@ msgid "Invalid IP"
|
|
200 |
msgstr ""
|
201 |
|
202 |
#: src/admin-display.cls.php:1106 tpl/cache/settings-esi.tpl.php:95
|
203 |
-
#: tpl/page_optm/settings_css.tpl.php:
|
204 |
#: tpl/page_optm/settings_html.tpl.php:85
|
205 |
#: tpl/page_optm/settings_media_exc.tpl.php:26
|
206 |
#: tpl/page_optm/settings_tuning.tpl.php:35
|
@@ -208,6 +208,7 @@ msgstr ""
|
|
208 |
#: tpl/page_optm/settings_tuning.tpl.php:101
|
209 |
#: tpl/page_optm/settings_tuning.tpl.php:162
|
210 |
#: tpl/page_optm/settings_tuning.tpl.php:183
|
|
|
211 |
msgid "API"
|
212 |
msgstr ""
|
213 |
|
@@ -360,11 +361,11 @@ msgstr ""
|
|
360 |
msgid "Changed setting successfully."
|
361 |
msgstr ""
|
362 |
|
363 |
-
#: src/core.cls.php:
|
364 |
msgid "Notified LiteSpeed Web Server to purge everything."
|
365 |
msgstr ""
|
366 |
|
367 |
-
#: src/core.cls.php:
|
368 |
msgid "Notified LiteSpeed Web Server to purge the list."
|
369 |
msgstr ""
|
370 |
|
@@ -396,15 +397,15 @@ msgstr ""
|
|
396 |
msgid "Previously existed in blacklist"
|
397 |
msgstr ""
|
398 |
|
399 |
-
#: src/css.cls.php:60 src/root.cls.php:
|
400 |
msgid "Queue cleared successfully."
|
401 |
msgstr ""
|
402 |
|
403 |
-
#: src/css.cls.php:
|
404 |
msgid "%1$s %2$s files left in queue"
|
405 |
msgstr ""
|
406 |
|
407 |
-
#: src/css.cls.php:
|
408 |
msgid "Cancel"
|
409 |
msgstr ""
|
410 |
|
@@ -422,7 +423,7 @@ msgid ""
|
|
422 |
"errors."
|
423 |
msgstr ""
|
424 |
|
425 |
-
#: src/data.upgrade.func.php:83 src/lang.cls.php:
|
426 |
msgid "JS Combine"
|
427 |
msgstr ""
|
428 |
|
@@ -767,7 +768,7 @@ msgstr ""
|
|
767 |
msgid "LQIP Cache"
|
768 |
msgstr ""
|
769 |
|
770 |
-
#: src/gui.cls.php:536 src/gui.cls.php:687 src/lang.cls.php:
|
771 |
#: tpl/toolbox/purge.tpl.php:97
|
772 |
msgid "Gravatar Cache"
|
773 |
msgstr ""
|
@@ -815,20 +816,16 @@ msgstr ""
|
|
815 |
msgid "Update %s now"
|
816 |
msgstr ""
|
817 |
|
818 |
-
#: src/htaccess.cls.php:
|
819 |
msgid "Mobile Agent Rules"
|
820 |
msgstr ""
|
821 |
|
822 |
-
#: src/htaccess.cls.php:
|
823 |
msgid ""
|
824 |
"<p>Please add/replace the following codes into the beginning of %1$s:</p> "
|
825 |
"%2$s"
|
826 |
msgstr ""
|
827 |
|
828 |
-
#: src/htaccess.cls.php:878
|
829 |
-
msgid "File Saved."
|
830 |
-
msgstr ""
|
831 |
-
|
832 |
#: src/img-optm.cls.php:148
|
833 |
msgid "No new image gathered."
|
834 |
msgstr ""
|
@@ -1214,459 +1211,443 @@ msgid "UCSS URI Excludes"
|
|
1214 |
msgstr ""
|
1215 |
|
1216 |
#: src/lang.cls.php:114
|
1217 |
-
msgid "CSS HTTP/2 Push"
|
1218 |
-
msgstr ""
|
1219 |
-
|
1220 |
-
#: src/lang.cls.php:115
|
1221 |
msgid "JS Minify"
|
1222 |
msgstr ""
|
1223 |
|
1224 |
-
#: src/lang.cls.php:
|
1225 |
msgid "JS Combine External and Inline"
|
1226 |
msgstr ""
|
1227 |
|
1228 |
-
#: src/lang.cls.php:
|
1229 |
-
msgid "JS HTTP/2 Push"
|
1230 |
-
msgstr ""
|
1231 |
-
|
1232 |
-
#: src/lang.cls.php:119
|
1233 |
msgid "HTML Minify"
|
1234 |
msgstr ""
|
1235 |
|
1236 |
-
#: src/lang.cls.php:
|
1237 |
msgid "HTML Lazy Load Selectors"
|
1238 |
msgstr ""
|
1239 |
|
1240 |
-
#: src/lang.cls.php:
|
1241 |
msgid "Load CSS Asynchronously"
|
1242 |
msgstr ""
|
1243 |
|
1244 |
-
#: src/lang.cls.php:
|
1245 |
msgid "CCSS Per URL"
|
1246 |
msgstr ""
|
1247 |
|
1248 |
-
#: src/lang.cls.php:
|
1249 |
msgid "Inline CSS Async Lib"
|
1250 |
msgstr ""
|
1251 |
|
1252 |
-
#: src/lang.cls.php:
|
1253 |
msgid "Font Display Optimization"
|
1254 |
msgstr ""
|
1255 |
|
1256 |
-
#: src/lang.cls.php:
|
1257 |
msgid "Load JS Deferred"
|
1258 |
msgstr ""
|
1259 |
|
1260 |
-
#: src/lang.cls.php:
|
1261 |
msgid "DNS Prefetch"
|
1262 |
msgstr ""
|
1263 |
|
1264 |
-
#: src/lang.cls.php:
|
1265 |
msgid "DNS Prefetch Control"
|
1266 |
msgstr ""
|
1267 |
|
1268 |
-
#: src/lang.cls.php:
|
1269 |
msgid "CSS Excludes"
|
1270 |
msgstr ""
|
1271 |
|
1272 |
-
#: src/lang.cls.php:
|
1273 |
msgid "JS Excludes"
|
1274 |
msgstr ""
|
1275 |
|
1276 |
-
#: src/lang.cls.php:
|
1277 |
msgid "Remove Query Strings"
|
1278 |
msgstr ""
|
1279 |
|
1280 |
-
#: src/lang.cls.php:
|
1281 |
msgid "Load Google Fonts Asynchronously"
|
1282 |
msgstr ""
|
1283 |
|
1284 |
-
#: src/lang.cls.php:
|
1285 |
msgid "Remove Google Fonts"
|
1286 |
msgstr ""
|
1287 |
|
1288 |
-
#: src/lang.cls.php:
|
1289 |
msgid "Critical CSS Rules"
|
1290 |
msgstr ""
|
1291 |
|
1292 |
-
#: src/lang.cls.php:
|
1293 |
msgid "Separate CCSS Cache Post Types"
|
1294 |
msgstr ""
|
1295 |
|
1296 |
-
#: src/lang.cls.php:
|
1297 |
msgid "Separate CCSS Cache URIs"
|
1298 |
msgstr ""
|
1299 |
|
1300 |
-
#: src/lang.cls.php:
|
1301 |
msgid "JS Deferred Excludes"
|
1302 |
msgstr ""
|
1303 |
|
1304 |
-
#: src/lang.cls.php:
|
1305 |
msgid "Guest Mode JS Excludes"
|
1306 |
msgstr ""
|
1307 |
|
1308 |
-
#: src/lang.cls.php:
|
1309 |
msgid "Remove WordPress Emoji"
|
1310 |
msgstr ""
|
1311 |
|
1312 |
-
#: src/lang.cls.php:
|
1313 |
msgid "Remove Noscript Tags"
|
1314 |
msgstr ""
|
1315 |
|
1316 |
-
#: src/lang.cls.php:
|
1317 |
msgid "URI Excludes"
|
1318 |
msgstr ""
|
1319 |
|
1320 |
-
#: src/lang.cls.php:
|
1321 |
msgid "Optimize for Guests Only"
|
1322 |
msgstr ""
|
1323 |
|
1324 |
-
#: src/lang.cls.php:
|
1325 |
msgid "Role Excludes"
|
1326 |
msgstr ""
|
1327 |
|
1328 |
-
#: src/lang.cls.php:
|
1329 |
msgid "Gravatar Cache Cron"
|
1330 |
msgstr ""
|
1331 |
|
1332 |
-
#: src/lang.cls.php:
|
1333 |
msgid "Gravatar Cache TTL"
|
1334 |
msgstr ""
|
1335 |
|
1336 |
-
#: src/lang.cls.php:
|
1337 |
msgid "Lazy Load Images"
|
1338 |
msgstr ""
|
1339 |
|
1340 |
-
#: src/lang.cls.php:
|
1341 |
msgid "Lazy Load Image Excludes"
|
1342 |
msgstr ""
|
1343 |
|
1344 |
-
#: src/lang.cls.php:
|
1345 |
msgid "Lazy Load Image Class Name Excludes"
|
1346 |
msgstr ""
|
1347 |
|
1348 |
-
#: src/lang.cls.php:
|
1349 |
msgid "Lazy Load Image Parent Class Name Excludes"
|
1350 |
msgstr ""
|
1351 |
|
1352 |
-
#: src/lang.cls.php:
|
1353 |
msgid "Lazy Load Iframe Class Name Excludes"
|
1354 |
msgstr ""
|
1355 |
|
1356 |
-
#: src/lang.cls.php:
|
1357 |
msgid "Lazy Load Iframe Parent Class Name Excludes"
|
1358 |
msgstr ""
|
1359 |
|
1360 |
-
#: src/lang.cls.php:
|
1361 |
msgid "Lazy Load URI Excludes"
|
1362 |
msgstr ""
|
1363 |
|
1364 |
-
#: src/lang.cls.php:
|
1365 |
msgid "LQIP Excludes"
|
1366 |
msgstr ""
|
1367 |
|
1368 |
-
#: src/lang.cls.php:
|
1369 |
msgid "Basic Image Placeholder"
|
1370 |
msgstr ""
|
1371 |
|
1372 |
-
#: src/lang.cls.php:
|
1373 |
msgid "Responsive Placeholder"
|
1374 |
msgstr ""
|
1375 |
|
1376 |
-
#: src/lang.cls.php:
|
1377 |
msgid "Responsive Placeholder Color"
|
1378 |
msgstr ""
|
1379 |
|
1380 |
-
#: src/lang.cls.php:
|
1381 |
msgid "Responsive Placeholder SVG"
|
1382 |
msgstr ""
|
1383 |
|
1384 |
-
#: src/lang.cls.php:
|
1385 |
msgid "LQIP Cloud Generator"
|
1386 |
msgstr ""
|
1387 |
|
1388 |
-
#: src/lang.cls.php:
|
1389 |
msgid "LQIP Quality"
|
1390 |
msgstr ""
|
1391 |
|
1392 |
-
#: src/lang.cls.php:
|
1393 |
msgid "LQIP Minimum Dimensions"
|
1394 |
msgstr ""
|
1395 |
|
1396 |
-
#: src/lang.cls.php:
|
1397 |
msgid "Generate LQIP In Background"
|
1398 |
msgstr ""
|
1399 |
|
1400 |
-
#: src/lang.cls.php:
|
1401 |
msgid "Lazy Load Iframes"
|
1402 |
msgstr ""
|
1403 |
|
1404 |
-
#: src/lang.cls.php:
|
1405 |
msgid "Add Missing Sizes"
|
1406 |
msgstr ""
|
1407 |
|
1408 |
-
#: src/lang.cls.php:
|
1409 |
msgid "Inline Lazy Load Images Library"
|
1410 |
msgstr ""
|
1411 |
|
1412 |
-
#: src/lang.cls.php:
|
1413 |
msgid "Auto Request Cron"
|
1414 |
msgstr ""
|
1415 |
|
1416 |
-
#: src/lang.cls.php:
|
1417 |
msgid "Auto Pull Cron"
|
1418 |
msgstr ""
|
1419 |
|
1420 |
-
#: src/lang.cls.php:
|
1421 |
msgid "Optimize Original Images"
|
1422 |
msgstr ""
|
1423 |
|
1424 |
-
#: src/lang.cls.php:
|
1425 |
msgid "Remove Original Backups"
|
1426 |
msgstr ""
|
1427 |
|
1428 |
-
#: src/lang.cls.php:
|
1429 |
msgid "Create WebP Versions"
|
1430 |
msgstr ""
|
1431 |
|
1432 |
-
#: src/lang.cls.php:
|
1433 |
msgid "Optimize Losslessly"
|
1434 |
msgstr ""
|
1435 |
|
1436 |
-
#: src/lang.cls.php:
|
1437 |
msgid "Preserve EXIF/XMP data"
|
1438 |
msgstr ""
|
1439 |
|
1440 |
-
#: src/lang.cls.php:
|
1441 |
msgid "WebP Attribute To Replace"
|
1442 |
msgstr ""
|
1443 |
|
1444 |
-
#: src/lang.cls.php:
|
1445 |
msgid "WebP For Extra srcset"
|
1446 |
msgstr ""
|
1447 |
|
1448 |
-
#: src/lang.cls.php:
|
1449 |
msgid "WordPress Image Quality Control"
|
1450 |
msgstr ""
|
1451 |
|
1452 |
-
#: src/lang.cls.php:
|
1453 |
msgid "Enable ESI"
|
1454 |
msgstr ""
|
1455 |
|
1456 |
-
#: src/lang.cls.php:
|
1457 |
msgid "Cache Admin Bar"
|
1458 |
msgstr ""
|
1459 |
|
1460 |
-
#: src/lang.cls.php:
|
1461 |
msgid "Cache Comment Form"
|
1462 |
msgstr ""
|
1463 |
|
1464 |
-
#: src/lang.cls.php:
|
1465 |
msgid "ESI Nonces"
|
1466 |
msgstr ""
|
1467 |
|
1468 |
-
#: src/lang.cls.php:
|
1469 |
-
#: tpl/page_optm/settings_css.tpl.php:
|
1470 |
msgid "Vary Group"
|
1471 |
msgstr ""
|
1472 |
|
1473 |
-
#: src/lang.cls.php:
|
1474 |
msgid "Purge All Hooks"
|
1475 |
msgstr ""
|
1476 |
|
1477 |
-
#: src/lang.cls.php:
|
1478 |
msgid "Improve HTTP/HTTPS Compatibility"
|
1479 |
msgstr ""
|
1480 |
|
1481 |
-
#: src/lang.cls.php:
|
1482 |
msgid "Instant Click"
|
1483 |
msgstr ""
|
1484 |
|
1485 |
-
#: src/lang.cls.php:
|
1486 |
msgid "Do Not Cache Cookies"
|
1487 |
msgstr ""
|
1488 |
|
1489 |
-
#: src/lang.cls.php:
|
1490 |
msgid "Do Not Cache User Agents"
|
1491 |
msgstr ""
|
1492 |
|
1493 |
-
#: src/lang.cls.php:
|
1494 |
msgid "Login Cookie"
|
1495 |
msgstr ""
|
1496 |
|
1497 |
-
#: src/lang.cls.php:
|
1498 |
msgid "Image WebP Replacement"
|
1499 |
msgstr ""
|
1500 |
|
1501 |
-
#: src/lang.cls.php:
|
1502 |
-
msgid "Frontend .htaccess Path"
|
1503 |
-
msgstr ""
|
1504 |
-
|
1505 |
-
#: src/lang.cls.php:192
|
1506 |
-
msgid "Backend .htaccess Path"
|
1507 |
-
msgstr ""
|
1508 |
-
|
1509 |
-
#: src/lang.cls.php:193
|
1510 |
msgid "Frontend Heartbeat Control"
|
1511 |
msgstr ""
|
1512 |
|
1513 |
-
#: src/lang.cls.php:
|
1514 |
msgid "Frontend Heartbeat TTL"
|
1515 |
msgstr ""
|
1516 |
|
1517 |
-
#: src/lang.cls.php:
|
1518 |
msgid "Backend Heartbeat Control"
|
1519 |
msgstr ""
|
1520 |
|
1521 |
-
#: src/lang.cls.php:
|
1522 |
msgid "Backend Heartbeat TTL"
|
1523 |
msgstr ""
|
1524 |
|
1525 |
-
#: src/lang.cls.php:
|
1526 |
msgid "Editor Heartbeat"
|
1527 |
msgstr ""
|
1528 |
|
1529 |
-
#: src/lang.cls.php:
|
1530 |
msgid "Editor Heartbeat TTL"
|
1531 |
msgstr ""
|
1532 |
|
1533 |
-
#: src/lang.cls.php:
|
1534 |
msgid "QUIC.cloud CDN"
|
1535 |
msgstr ""
|
1536 |
|
1537 |
-
#: src/lang.cls.php:
|
1538 |
msgid "Use CDN Mapping"
|
1539 |
msgstr ""
|
1540 |
|
1541 |
-
#: src/lang.cls.php:
|
1542 |
msgid "CDN URL"
|
1543 |
msgstr ""
|
1544 |
|
1545 |
-
#: src/lang.cls.php:
|
1546 |
msgid "Include Images"
|
1547 |
msgstr ""
|
1548 |
|
1549 |
-
#: src/lang.cls.php:
|
1550 |
msgid "Include CSS"
|
1551 |
msgstr ""
|
1552 |
|
1553 |
-
#: src/lang.cls.php:
|
1554 |
msgid "Include JS"
|
1555 |
msgstr ""
|
1556 |
|
1557 |
-
#: src/lang.cls.php:
|
1558 |
msgid "Include File Types"
|
1559 |
msgstr ""
|
1560 |
|
1561 |
-
#: src/lang.cls.php:
|
1562 |
msgid "HTML Attribute To Replace"
|
1563 |
msgstr ""
|
1564 |
|
1565 |
-
#: src/lang.cls.php:
|
1566 |
msgid "Original URLs"
|
1567 |
msgstr ""
|
1568 |
|
1569 |
-
#: src/lang.cls.php:
|
1570 |
msgid "Included Directories"
|
1571 |
msgstr ""
|
1572 |
|
1573 |
-
#: src/lang.cls.php:
|
1574 |
msgid "Exclude Path"
|
1575 |
msgstr ""
|
1576 |
|
1577 |
-
#: src/lang.cls.php:
|
1578 |
msgid "Cloudflare API"
|
1579 |
msgstr ""
|
1580 |
|
1581 |
-
#: src/lang.cls.php:
|
1582 |
msgid "Delay"
|
1583 |
msgstr ""
|
1584 |
|
1585 |
-
#: src/lang.cls.php:
|
1586 |
msgid "Run Duration"
|
1587 |
msgstr ""
|
1588 |
|
1589 |
-
#: src/lang.cls.php:
|
1590 |
msgid "Interval Between Runs"
|
1591 |
msgstr ""
|
1592 |
|
1593 |
-
#: src/lang.cls.php:
|
1594 |
msgid "Crawl Interval"
|
1595 |
msgstr ""
|
1596 |
|
1597 |
-
#: src/lang.cls.php:
|
1598 |
msgid "Threads"
|
1599 |
msgstr ""
|
1600 |
|
1601 |
-
#: src/lang.cls.php:
|
1602 |
msgid "Timeout"
|
1603 |
msgstr ""
|
1604 |
|
1605 |
-
#: src/lang.cls.php:
|
1606 |
msgid "Server Load Limit"
|
1607 |
msgstr ""
|
1608 |
|
1609 |
-
#: src/lang.cls.php:
|
1610 |
msgid "Role Simulation"
|
1611 |
msgstr ""
|
1612 |
|
1613 |
-
#: src/lang.cls.php:
|
1614 |
msgid "Cookie Simulation"
|
1615 |
msgstr ""
|
1616 |
|
1617 |
-
#: src/lang.cls.php:
|
1618 |
msgid "Custom Sitemap"
|
1619 |
msgstr ""
|
1620 |
|
1621 |
-
#: src/lang.cls.php:
|
1622 |
msgid "Drop Domain from Sitemap"
|
1623 |
msgstr ""
|
1624 |
|
1625 |
-
#: src/lang.cls.php:
|
1626 |
msgid "Sitemap Timeout"
|
1627 |
msgstr ""
|
1628 |
|
1629 |
-
#: src/lang.cls.php:
|
1630 |
msgid "Disable All Features"
|
1631 |
msgstr ""
|
1632 |
|
1633 |
-
#: src/lang.cls.php:
|
1634 |
msgid "Debug Log"
|
1635 |
msgstr ""
|
1636 |
|
1637 |
-
#: src/lang.cls.php:
|
1638 |
msgid "Admin IPs"
|
1639 |
msgstr ""
|
1640 |
|
1641 |
-
#: src/lang.cls.php:
|
1642 |
msgid "Debug Level"
|
1643 |
msgstr ""
|
1644 |
|
1645 |
-
#: src/lang.cls.php:
|
1646 |
msgid "Log File Size Limit"
|
1647 |
msgstr ""
|
1648 |
|
1649 |
-
#: src/lang.cls.php:
|
1650 |
msgid "Log Cookies"
|
1651 |
msgstr ""
|
1652 |
|
1653 |
-
#: src/lang.cls.php:
|
1654 |
msgid "Collapse Query Strings"
|
1655 |
msgstr ""
|
1656 |
|
1657 |
-
#: src/lang.cls.php:
|
1658 |
msgid "Debug URI Includes"
|
1659 |
msgstr ""
|
1660 |
|
1661 |
-
#: src/lang.cls.php:
|
1662 |
msgid "Debug URI Excludes"
|
1663 |
msgstr ""
|
1664 |
|
1665 |
-
#: src/lang.cls.php:
|
1666 |
msgid "Revisions Max Number"
|
1667 |
msgstr ""
|
1668 |
|
1669 |
-
#: src/lang.cls.php:
|
1670 |
msgid "Revisions Max Age"
|
1671 |
msgstr ""
|
1672 |
|
@@ -1767,71 +1748,71 @@ msgstr ""
|
|
1767 |
msgid "LQIP image preview for size %s"
|
1768 |
msgstr ""
|
1769 |
|
1770 |
-
#: src/purge.cls.php:
|
1771 |
msgid "Purged all caches successfully."
|
1772 |
msgstr ""
|
1773 |
|
1774 |
-
#: src/purge.cls.php:
|
1775 |
msgid "Notified LiteSpeed Web Server to purge all LSCache entries."
|
1776 |
msgstr ""
|
1777 |
|
1778 |
-
#: src/purge.cls.php:
|
1779 |
msgid "Cleaned all Critical CSS files."
|
1780 |
msgstr ""
|
1781 |
|
1782 |
-
#: src/purge.cls.php:
|
1783 |
msgid "Cleaned all Unique CSS files."
|
1784 |
msgstr ""
|
1785 |
|
1786 |
-
#: src/purge.cls.php:
|
1787 |
msgid "Cleaned all LQIP files."
|
1788 |
msgstr ""
|
1789 |
|
1790 |
-
#: src/purge.cls.php:
|
1791 |
msgid "Cleaned all Gravatar files."
|
1792 |
msgstr ""
|
1793 |
|
1794 |
-
#: src/purge.cls.php:
|
1795 |
msgid "Notified LiteSpeed Web Server to purge CSS/JS entries."
|
1796 |
msgstr ""
|
1797 |
|
1798 |
-
#: src/purge.cls.php:
|
1799 |
msgid "Opcode cache is not enabled."
|
1800 |
msgstr ""
|
1801 |
|
1802 |
-
#: src/purge.cls.php:
|
1803 |
msgid "Reset the entire opcode cache successfully."
|
1804 |
msgstr ""
|
1805 |
|
1806 |
-
#: src/purge.cls.php:
|
1807 |
msgid "Object cache is not enabled."
|
1808 |
msgstr ""
|
1809 |
|
1810 |
-
#: src/purge.cls.php:
|
1811 |
msgid "Purge all object caches successfully."
|
1812 |
msgstr ""
|
1813 |
|
1814 |
-
#: src/purge.cls.php:
|
1815 |
msgid "Notified LiteSpeed Web Server to purge the front page."
|
1816 |
msgstr ""
|
1817 |
|
1818 |
-
#: src/purge.cls.php:
|
1819 |
msgid "Notified LiteSpeed Web Server to purge all pages."
|
1820 |
msgstr ""
|
1821 |
|
1822 |
-
#: src/purge.cls.php:
|
1823 |
msgid "Notified LiteSpeed Web Server to purge error pages."
|
1824 |
msgstr ""
|
1825 |
|
1826 |
-
#: src/purge.cls.php:
|
1827 |
msgid "Purge category %s"
|
1828 |
msgstr ""
|
1829 |
|
1830 |
-
#: src/purge.cls.php:
|
1831 |
msgid "Purge tag %s"
|
1832 |
msgstr ""
|
1833 |
|
1834 |
-
#: src/purge.cls.php:
|
1835 |
msgid "Purge url %s"
|
1836 |
msgstr ""
|
1837 |
|
@@ -1979,7 +1960,7 @@ msgstr ""
|
|
1979 |
msgid "Dismiss this notice"
|
1980 |
msgstr ""
|
1981 |
|
1982 |
-
#. #-#-#-#-# litespeed-cache.pot (LiteSpeed Cache 4.4) #-#-#-#-#
|
1983 |
#. Plugin Name of the plugin/theme
|
1984 |
#: tpl/banner/new_version.php:59 tpl/banner/new_version_dev.tpl.php:12
|
1985 |
#: tpl/cache/more_settings_tip.tpl.php:15 tpl/inc/admin_footer.php:8
|
@@ -1995,7 +1976,7 @@ msgid "New release %s is available now."
|
|
1995 |
msgstr ""
|
1996 |
|
1997 |
#: tpl/banner/new_version.php:71 tpl/banner/new_version_dev.tpl.php:24
|
1998 |
-
#: tpl/toolbox/beta_test.tpl.php:
|
1999 |
msgid "Upgrade"
|
2000 |
msgstr ""
|
2001 |
|
@@ -2301,7 +2282,7 @@ msgstr ""
|
|
2301 |
#: tpl/cache/settings-esi.tpl.php:35 tpl/cdn/manage.tpl.php:21
|
2302 |
#: tpl/crawler/summary.tpl.php:48 tpl/inc/check_cache_disabled.php:31
|
2303 |
#: tpl/inc/check_if_network_disable_all.php:18
|
2304 |
-
#: tpl/page_optm/settings_css.tpl.php:59 tpl/page_optm/settings_css.tpl.php:
|
2305 |
#: tpl/page_optm/settings_localization.tpl.php:11
|
2306 |
msgid "WARNING"
|
2307 |
msgstr ""
|
@@ -3444,7 +3425,7 @@ msgid "Current closest Cloud server is %s. Click to redetect."
|
|
3444 |
msgstr ""
|
3445 |
|
3446 |
#: tpl/dash/dashboard.tpl.php:227 tpl/img_optm/summary.tpl.php:57
|
3447 |
-
#: tpl/page_optm/settings_css.tpl.php:90 tpl/page_optm/settings_css.tpl.php:
|
3448 |
#: tpl/page_optm/settings_media.tpl.php:176
|
3449 |
msgid ""
|
3450 |
"Are you sure you want to redetect the closest cloud server for this service?"
|
@@ -3502,7 +3483,7 @@ msgstr ""
|
|
3502 |
|
3503 |
#: tpl/dash/dashboard.tpl.php:437 tpl/dash/dashboard.tpl.php:470
|
3504 |
#: tpl/dash/dashboard.tpl.php:503 tpl/page_optm/settings_css.tpl.php:81
|
3505 |
-
#: tpl/page_optm/settings_css.tpl.php:
|
3506 |
#: tpl/page_optm/settings_media.tpl.php:170
|
3507 |
msgid "Last generated"
|
3508 |
msgstr ""
|
@@ -3779,9 +3760,9 @@ msgid "Link to QUIC.cloud"
|
|
3779 |
msgstr ""
|
3780 |
|
3781 |
#: tpl/general/settings.tpl.php:82 tpl/general/settings.tpl.php:93
|
3782 |
-
#: tpl/general/settings.tpl.php:105 tpl/general/settings.tpl.php:
|
3783 |
-
#: tpl/general/settings.tpl.php:
|
3784 |
-
#: tpl/general/settings.tpl.php:
|
3785 |
msgid "Notice"
|
3786 |
msgstr ""
|
3787 |
|
@@ -3859,44 +3840,52 @@ msgstr ""
|
|
3859 |
msgid "This option enables maximum optimization for Guest Mode visitors."
|
3860 |
msgstr ""
|
3861 |
|
3862 |
-
#: tpl/general/settings.tpl.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3863 |
msgid "This option only works when turning %s on."
|
3864 |
msgstr ""
|
3865 |
|
3866 |
-
#: tpl/general/settings.tpl.php:
|
3867 |
msgid "You need to turn %s on to get maximum result."
|
3868 |
msgstr ""
|
3869 |
|
3870 |
-
#: tpl/general/settings.tpl.php:
|
3871 |
msgid ""
|
3872 |
"You need to turn %s on and finish all WebP generation to get maximum result."
|
3873 |
msgstr ""
|
3874 |
|
3875 |
-
#: tpl/general/settings.tpl.php:
|
3876 |
msgid ""
|
3877 |
"Enter this site's IP address to allow cloud services directly call IP "
|
3878 |
"instead of domain name. This eliminates the overhead of DNS and CDN lookups."
|
3879 |
msgstr ""
|
3880 |
|
3881 |
-
#: tpl/general/settings.tpl.php:
|
3882 |
msgid "Your server IP"
|
3883 |
msgstr ""
|
3884 |
|
3885 |
-
#: tpl/general/settings.tpl.php:
|
3886 |
msgid "Check my public IP from"
|
3887 |
msgstr ""
|
3888 |
|
3889 |
-
#: tpl/general/settings.tpl.php:
|
3890 |
msgid ""
|
3891 |
"the auto-detected IP may not be accurate if you have an additional outgoing "
|
3892 |
"IP set, or you have multiple IPs configured on your server."
|
3893 |
msgstr ""
|
3894 |
|
3895 |
-
#: tpl/general/settings.tpl.php:
|
3896 |
msgid "Please make sure this IP is the correct one for visiting your site."
|
3897 |
msgstr ""
|
3898 |
|
3899 |
-
#: tpl/general/settings.tpl.php:
|
3900 |
msgid ""
|
3901 |
"Turn this option ON to show latest news automatically, including hotfixes, "
|
3902 |
"new releases, available beta versions, and promotions."
|
@@ -3920,10 +3909,6 @@ msgid ""
|
|
3920 |
"or tablet visitors."
|
3921 |
msgstr ""
|
3922 |
|
3923 |
-
#: tpl/general/settings_inc.guest.tpl.php:30
|
3924 |
-
msgid "Your %1s quota on %2s will still be in use."
|
3925 |
-
msgstr ""
|
3926 |
-
|
3927 |
#: tpl/general/settings_tuning.tpl.php:7
|
3928 |
#: tpl/page_optm/settings_tuning.tpl.php:18
|
3929 |
msgid "Tuning Settings"
|
@@ -4018,7 +4003,7 @@ msgid "The image compression quality setting of WordPress out of 100."
|
|
4018 |
msgstr ""
|
4019 |
|
4020 |
#: tpl/img_optm/summary.tpl.php:57 tpl/page_optm/settings_css.tpl.php:90
|
4021 |
-
#: tpl/page_optm/settings_css.tpl.php:
|
4022 |
#: tpl/page_optm/settings_media.tpl.php:176
|
4023 |
msgid "Current closest Cloud server is %s. Click to redetect."
|
4024 |
msgstr ""
|
@@ -4427,16 +4412,16 @@ msgstr ""
|
|
4427 |
msgid "This option is bypassed because %1$s option is %2$s."
|
4428 |
msgstr ""
|
4429 |
|
4430 |
-
#: tpl/page_optm/settings_css.tpl.php:84 tpl/page_optm/settings_css.tpl.php:
|
4431 |
msgid "Last requested cost"
|
4432 |
msgstr ""
|
4433 |
|
4434 |
-
#: tpl/page_optm/settings_css.tpl.php:96 tpl/page_optm/settings_css.tpl.php:
|
4435 |
msgid "URL list in %s queue waiting for cron"
|
4436 |
msgstr ""
|
4437 |
|
4438 |
#: tpl/page_optm/settings_css.tpl.php:117
|
4439 |
-
#: tpl/page_optm/settings_css.tpl.php:
|
4440 |
msgid "Run %s Queue Manually"
|
4441 |
msgstr ""
|
4442 |
|
@@ -4458,75 +4443,69 @@ msgid ""
|
|
4458 |
"minimize potential errors caused by CSS Combine."
|
4459 |
msgstr ""
|
4460 |
|
4461 |
-
#: tpl/page_optm/settings_css.tpl.php:
|
4462 |
-
msgid ""
|
4463 |
-
"Pre-send internal CSS files to the browser before they are requested. "
|
4464 |
-
"(Requires the HTTP/2 protocol)"
|
4465 |
-
msgstr ""
|
4466 |
-
|
4467 |
-
#: tpl/page_optm/settings_css.tpl.php:181
|
4468 |
msgid "Optimize CSS delivery."
|
4469 |
msgstr ""
|
4470 |
|
4471 |
-
#: tpl/page_optm/settings_css.tpl.php:
|
4472 |
-
#: tpl/page_optm/settings_html.tpl.php:129 tpl/page_optm/settings_js.tpl.php:
|
4473 |
#: tpl/page_optm/settings_media.tpl.php:243
|
4474 |
msgid ""
|
4475 |
"This can improve your speed score in services like Pingdom, GTmetrix and "
|
4476 |
"PageSpeed."
|
4477 |
msgstr ""
|
4478 |
|
4479 |
-
#: tpl/page_optm/settings_css.tpl.php:
|
4480 |
msgid ""
|
4481 |
"Use QUIC.cloud online service to generate critical CSS and load remaining "
|
4482 |
"CSS asynchronously."
|
4483 |
msgstr ""
|
4484 |
|
4485 |
-
#: tpl/page_optm/settings_css.tpl.php:
|
4486 |
msgid ""
|
4487 |
"Automatic generation of critical CSS is in the background via a cron-based "
|
4488 |
"queue."
|
4489 |
msgstr ""
|
4490 |
|
4491 |
-
#: tpl/page_optm/settings_css.tpl.php:
|
4492 |
msgid ""
|
4493 |
"When this option is turned %s, it will also load Google Fonts asynchronously."
|
4494 |
msgstr ""
|
4495 |
|
4496 |
-
#: tpl/page_optm/settings_css.tpl.php:
|
4497 |
msgid "Elements with attribute %s in HTML code will be excluded."
|
4498 |
msgstr ""
|
4499 |
|
4500 |
-
#: tpl/page_optm/settings_css.tpl.php:
|
4501 |
msgid "This option is bypassed due to %s option."
|
4502 |
msgstr ""
|
4503 |
|
4504 |
-
#: tpl/page_optm/settings_css.tpl.php:
|
4505 |
msgid ""
|
4506 |
"Disable this option to generate CCSS per Post Type instead of per page. This "
|
4507 |
"can save significant CCSS quota, however it may result in incorrect CSS "
|
4508 |
"styling if your site uses a page builder."
|
4509 |
msgstr ""
|
4510 |
|
4511 |
-
#: tpl/page_optm/settings_css.tpl.php:
|
4512 |
msgid "This will inline the asynchronous CSS library to avoid render blocking."
|
4513 |
msgstr ""
|
4514 |
|
4515 |
-
#: tpl/page_optm/settings_css.tpl.php:
|
4516 |
msgid "Default"
|
4517 |
msgstr ""
|
4518 |
|
4519 |
-
#: tpl/page_optm/settings_css.tpl.php:
|
4520 |
msgid ""
|
4521 |
"Set this to append %1$s to all %2$s rules before caching CSS to specify how "
|
4522 |
"fonts should be displayed while being downloaded."
|
4523 |
msgstr ""
|
4524 |
|
4525 |
-
#: tpl/page_optm/settings_css.tpl.php:
|
4526 |
msgid "%s is recommended."
|
4527 |
msgstr ""
|
4528 |
|
4529 |
-
#: tpl/page_optm/settings_css.tpl.php:
|
4530 |
msgid "Swap"
|
4531 |
msgstr ""
|
4532 |
|
@@ -4602,7 +4581,7 @@ msgstr ""
|
|
4602 |
msgid "Combine all local JS files into a single file."
|
4603 |
msgstr ""
|
4604 |
|
4605 |
-
#: tpl/page_optm/settings_js.tpl.php:37 tpl/page_optm/settings_js.tpl.php:
|
4606 |
msgid ""
|
4607 |
"This option may result in a JS error or layout issue on frontend pages with "
|
4608 |
"certain themes/plugins."
|
@@ -4621,21 +4600,15 @@ msgid ""
|
|
4621 |
"should minimize potential errors caused by JS Combine."
|
4622 |
msgstr ""
|
4623 |
|
4624 |
-
#: tpl/page_optm/settings_js.tpl.php:
|
4625 |
-
msgid ""
|
4626 |
-
"Pre-send internal JS files to the browser before they are requested. "
|
4627 |
-
"(Requires the HTTP/2 protocol)"
|
4628 |
-
msgstr ""
|
4629 |
-
|
4630 |
-
#: tpl/page_optm/settings_js.tpl.php:76
|
4631 |
msgid "Deferred"
|
4632 |
msgstr ""
|
4633 |
|
4634 |
-
#: tpl/page_optm/settings_js.tpl.php:
|
4635 |
msgid "Delayed"
|
4636 |
msgstr ""
|
4637 |
|
4638 |
-
#: tpl/page_optm/settings_js.tpl.php:
|
4639 |
msgid ""
|
4640 |
"Deferring until page is parsed or delaying till interaction can help reduce "
|
4641 |
"resource contention and improve performance causing a lower FID (Core Web "
|
@@ -4939,117 +4912,101 @@ msgstr ""
|
|
4939 |
msgid "Selected roles will be excluded from all optimizations."
|
4940 |
msgstr ""
|
4941 |
|
4942 |
-
#: tpl/toolbox/beta_test.tpl.php:
|
4943 |
msgid "Try GitHub Version"
|
4944 |
msgstr ""
|
4945 |
|
4946 |
-
#: tpl/toolbox/beta_test.tpl.php:
|
4947 |
msgid ""
|
4948 |
"Use this section to switch plugin versions. To beta test a GitHub commit, "
|
4949 |
"enter the commit URL in the field below."
|
4950 |
msgstr ""
|
4951 |
|
4952 |
-
#: tpl/toolbox/beta_test.tpl.php:
|
4953 |
msgid "Example"
|
4954 |
msgstr ""
|
4955 |
|
4956 |
-
#: tpl/toolbox/beta_test.tpl.php:
|
4957 |
msgid "Use latest GitHub Dev commit"
|
4958 |
msgstr ""
|
4959 |
|
4960 |
-
#: tpl/toolbox/beta_test.tpl.php:
|
4961 |
msgid "Use latest GitHub Master commit"
|
4962 |
msgstr ""
|
4963 |
|
4964 |
-
#: tpl/toolbox/beta_test.tpl.php:
|
4965 |
msgid "Use latest WordPress release version"
|
4966 |
msgstr ""
|
4967 |
|
4968 |
-
#: tpl/toolbox/beta_test.tpl.php:
|
4969 |
msgid "OR"
|
4970 |
msgstr ""
|
4971 |
|
4972 |
-
#: tpl/toolbox/beta_test.tpl.php:
|
4973 |
msgid ""
|
4974 |
"Downgrade not recommended. May cause fatal error due to refactored code."
|
4975 |
msgstr ""
|
4976 |
|
4977 |
-
#: tpl/toolbox/beta_test.tpl.php:
|
4978 |
msgid ""
|
4979 |
"Press the %s button to use the most recent GitHub commit. Master is for "
|
4980 |
"release candidate & Dev is for experimental testing."
|
4981 |
msgstr ""
|
4982 |
|
4983 |
-
#: tpl/toolbox/beta_test.tpl.php:
|
4984 |
msgid "Use latest GitHub Dev/Master commit"
|
4985 |
msgstr ""
|
4986 |
|
4987 |
-
#: tpl/toolbox/beta_test.tpl.php:
|
4988 |
msgid ""
|
4989 |
"Press the %s button to stop beta testing and go back to the current release "
|
4990 |
"from the WordPress Plugin Directory."
|
4991 |
msgstr ""
|
4992 |
|
4993 |
-
#: tpl/toolbox/beta_test.tpl.php:
|
4994 |
msgid ""
|
4995 |
"In order to avoid an upgrade error, you must be using %1$s or later before "
|
4996 |
"you can upgrade to %2$s versions."
|
4997 |
msgstr ""
|
4998 |
|
4999 |
-
#: tpl/toolbox/edit_htaccess.tpl.php:
|
5000 |
-
msgid "LiteSpeed Cache
|
5001 |
-
msgstr ""
|
5002 |
-
|
5003 |
-
#: tpl/toolbox/edit_htaccess.tpl.php:43
|
5004 |
-
msgid "This page is meant for advanced users."
|
5005 |
-
msgstr ""
|
5006 |
-
|
5007 |
-
#: tpl/toolbox/edit_htaccess.tpl.php:45
|
5008 |
-
msgid "Any changes made to the .htaccess file may break the site."
|
5009 |
msgstr ""
|
5010 |
|
5011 |
-
#: tpl/toolbox/edit_htaccess.tpl.php:
|
5012 |
-
msgid "
|
5013 |
msgstr ""
|
5014 |
|
5015 |
-
#: tpl/toolbox/edit_htaccess.tpl.php:
|
5016 |
-
msgid ".htaccess Path
|
5017 |
msgstr ""
|
5018 |
|
5019 |
-
#: tpl/toolbox/edit_htaccess.tpl.php:
|
5020 |
-
msgid "
|
5021 |
msgstr ""
|
5022 |
|
5023 |
-
#: tpl/toolbox/edit_htaccess.tpl.php:
|
5024 |
-
msgid "
|
5025 |
msgstr ""
|
5026 |
|
5027 |
-
#: tpl/toolbox/edit_htaccess.tpl.php:
|
5028 |
-
msgid "
|
5029 |
msgstr ""
|
5030 |
|
5031 |
-
#: tpl/toolbox/edit_htaccess.tpl.php:
|
5032 |
-
msgid "
|
5033 |
msgstr ""
|
5034 |
|
5035 |
-
#: tpl/toolbox/edit_htaccess.tpl.php:
|
5036 |
msgid "Current %s Contents"
|
5037 |
msgstr ""
|
5038 |
|
5039 |
-
#: tpl/toolbox/edit_htaccess.tpl.php:99
|
5040 |
-
msgid "DO NOT EDIT ANYTHING WITHIN %s"
|
5041 |
-
msgstr ""
|
5042 |
-
|
5043 |
-
#: tpl/toolbox/edit_htaccess.tpl.php:106
|
5044 |
-
msgid "Save .htaccess"
|
5045 |
-
msgstr ""
|
5046 |
-
|
5047 |
#: tpl/toolbox/entry.tpl.php:10
|
5048 |
msgid "Import / Export"
|
5049 |
msgstr ""
|
5050 |
|
5051 |
#: tpl/toolbox/entry.tpl.php:14
|
5052 |
-
msgid "
|
5053 |
msgstr ""
|
5054 |
|
5055 |
#: tpl/toolbox/entry.tpl.php:18
|
2 |
# This file is distributed under the same license as the LiteSpeed Cache package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
+
"Project-Id-Version: LiteSpeed Cache 4.4.3\n"
|
6 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/litespeed-cache\n"
|
7 |
+
"POT-Creation-Date: 2021-10-11 17:31:14+00:00\n"
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
28 |
msgid "Purged!"
|
29 |
msgstr ""
|
30 |
|
31 |
+
#: src/activation.cls.php:495 src/activation.cls.php:500
|
32 |
msgid "Failed to upgrade."
|
33 |
msgstr ""
|
34 |
|
35 |
+
#: src/activation.cls.php:504
|
36 |
msgid "Upgraded successfully."
|
37 |
msgstr ""
|
38 |
|
66 |
msgid "Database"
|
67 |
msgstr ""
|
68 |
|
69 |
+
#: src/admin-display.cls.php:129 src/lang.cls.php:209
|
70 |
msgid "Crawler"
|
71 |
msgstr ""
|
72 |
|
106 |
#: src/admin-display.cls.php:855 src/admin-display.cls.php:906
|
107 |
#: tpl/cache/settings-cache.tpl.php:19
|
108 |
#: tpl/cache/settings_inc.cache_mobile.tpl.php:71 tpl/cdn/settings.tpl.php:49
|
109 |
+
#: tpl/page_optm/settings_css.tpl.php:173
|
110 |
#: tpl/page_optm/settings_media.tpl.php:159
|
111 |
#: tpl/page_optm/settings_media.tpl.php:229
|
112 |
#: tpl/toolbox/settings-debug.tpl.php:34
|
117 |
#: src/admin-display.cls.php:854 src/admin-display.cls.php:906
|
118 |
#: tpl/cache/settings-cache.tpl.php:19
|
119 |
#: tpl/cache/settings_inc.object.tpl.php:210 tpl/cdn/settings.tpl.php:54
|
120 |
+
#: tpl/page_optm/settings_css.tpl.php:71 tpl/page_optm/settings_js.tpl.php:63
|
121 |
#: tpl/page_optm/settings_media.tpl.php:162
|
122 |
#: tpl/toolbox/settings-debug.tpl.php:34
|
123 |
msgid "OFF"
|
200 |
msgstr ""
|
201 |
|
202 |
#: src/admin-display.cls.php:1106 tpl/cache/settings-esi.tpl.php:95
|
203 |
+
#: tpl/page_optm/settings_css.tpl.php:175
|
204 |
#: tpl/page_optm/settings_html.tpl.php:85
|
205 |
#: tpl/page_optm/settings_media_exc.tpl.php:26
|
206 |
#: tpl/page_optm/settings_tuning.tpl.php:35
|
208 |
#: tpl/page_optm/settings_tuning.tpl.php:101
|
209 |
#: tpl/page_optm/settings_tuning.tpl.php:162
|
210 |
#: tpl/page_optm/settings_tuning.tpl.php:183
|
211 |
+
#: tpl/toolbox/edit_htaccess.tpl.php:54 tpl/toolbox/edit_htaccess.tpl.php:71
|
212 |
msgid "API"
|
213 |
msgstr ""
|
214 |
|
361 |
msgid "Changed setting successfully."
|
362 |
msgstr ""
|
363 |
|
364 |
+
#: src/core.cls.php:283
|
365 |
msgid "Notified LiteSpeed Web Server to purge everything."
|
366 |
msgstr ""
|
367 |
|
368 |
+
#: src/core.cls.php:288
|
369 |
msgid "Notified LiteSpeed Web Server to purge the list."
|
370 |
msgstr ""
|
371 |
|
397 |
msgid "Previously existed in blacklist"
|
398 |
msgstr ""
|
399 |
|
400 |
+
#: src/css.cls.php:60 src/root.cls.php:176
|
401 |
msgid "Queue cleared successfully."
|
402 |
msgstr ""
|
403 |
|
404 |
+
#: src/css.cls.php:581
|
405 |
msgid "%1$s %2$s files left in queue"
|
406 |
msgstr ""
|
407 |
|
408 |
+
#: src/css.cls.php:582
|
409 |
msgid "Cancel"
|
410 |
msgstr ""
|
411 |
|
423 |
"errors."
|
424 |
msgstr ""
|
425 |
|
426 |
+
#: src/data.upgrade.func.php:83 src/lang.cls.php:115
|
427 |
msgid "JS Combine"
|
428 |
msgstr ""
|
429 |
|
768 |
msgid "LQIP Cache"
|
769 |
msgstr ""
|
770 |
|
771 |
+
#: src/gui.cls.php:536 src/gui.cls.php:687 src/lang.cls.php:142
|
772 |
#: tpl/toolbox/purge.tpl.php:97
|
773 |
msgid "Gravatar Cache"
|
774 |
msgstr ""
|
816 |
msgid "Update %s now"
|
817 |
msgstr ""
|
818 |
|
819 |
+
#: src/htaccess.cls.php:326
|
820 |
msgid "Mobile Agent Rules"
|
821 |
msgstr ""
|
822 |
|
823 |
+
#: src/htaccess.cls.php:785
|
824 |
msgid ""
|
825 |
"<p>Please add/replace the following codes into the beginning of %1$s:</p> "
|
826 |
"%2$s"
|
827 |
msgstr ""
|
828 |
|
|
|
|
|
|
|
|
|
829 |
#: src/img-optm.cls.php:148
|
830 |
msgid "No new image gathered."
|
831 |
msgstr ""
|
1211 |
msgstr ""
|
1212 |
|
1213 |
#: src/lang.cls.php:114
|
|
|
|
|
|
|
|
|
1214 |
msgid "JS Minify"
|
1215 |
msgstr ""
|
1216 |
|
1217 |
+
#: src/lang.cls.php:116
|
1218 |
msgid "JS Combine External and Inline"
|
1219 |
msgstr ""
|
1220 |
|
1221 |
+
#: src/lang.cls.php:117
|
|
|
|
|
|
|
|
|
1222 |
msgid "HTML Minify"
|
1223 |
msgstr ""
|
1224 |
|
1225 |
+
#: src/lang.cls.php:118
|
1226 |
msgid "HTML Lazy Load Selectors"
|
1227 |
msgstr ""
|
1228 |
|
1229 |
+
#: src/lang.cls.php:119 tpl/page_optm/settings_tuning.tpl.php:145
|
1230 |
msgid "Load CSS Asynchronously"
|
1231 |
msgstr ""
|
1232 |
|
1233 |
+
#: src/lang.cls.php:120
|
1234 |
msgid "CCSS Per URL"
|
1235 |
msgstr ""
|
1236 |
|
1237 |
+
#: src/lang.cls.php:121
|
1238 |
msgid "Inline CSS Async Lib"
|
1239 |
msgstr ""
|
1240 |
|
1241 |
+
#: src/lang.cls.php:122
|
1242 |
msgid "Font Display Optimization"
|
1243 |
msgstr ""
|
1244 |
|
1245 |
+
#: src/lang.cls.php:123
|
1246 |
msgid "Load JS Deferred"
|
1247 |
msgstr ""
|
1248 |
|
1249 |
+
#: src/lang.cls.php:124
|
1250 |
msgid "DNS Prefetch"
|
1251 |
msgstr ""
|
1252 |
|
1253 |
+
#: src/lang.cls.php:125
|
1254 |
msgid "DNS Prefetch Control"
|
1255 |
msgstr ""
|
1256 |
|
1257 |
+
#: src/lang.cls.php:126
|
1258 |
msgid "CSS Excludes"
|
1259 |
msgstr ""
|
1260 |
|
1261 |
+
#: src/lang.cls.php:127
|
1262 |
msgid "JS Excludes"
|
1263 |
msgstr ""
|
1264 |
|
1265 |
+
#: src/lang.cls.php:128
|
1266 |
msgid "Remove Query Strings"
|
1267 |
msgstr ""
|
1268 |
|
1269 |
+
#: src/lang.cls.php:129
|
1270 |
msgid "Load Google Fonts Asynchronously"
|
1271 |
msgstr ""
|
1272 |
|
1273 |
+
#: src/lang.cls.php:130
|
1274 |
msgid "Remove Google Fonts"
|
1275 |
msgstr ""
|
1276 |
|
1277 |
+
#: src/lang.cls.php:131
|
1278 |
msgid "Critical CSS Rules"
|
1279 |
msgstr ""
|
1280 |
|
1281 |
+
#: src/lang.cls.php:132
|
1282 |
msgid "Separate CCSS Cache Post Types"
|
1283 |
msgstr ""
|
1284 |
|
1285 |
+
#: src/lang.cls.php:133
|
1286 |
msgid "Separate CCSS Cache URIs"
|
1287 |
msgstr ""
|
1288 |
|
1289 |
+
#: src/lang.cls.php:134
|
1290 |
msgid "JS Deferred Excludes"
|
1291 |
msgstr ""
|
1292 |
|
1293 |
+
#: src/lang.cls.php:135
|
1294 |
msgid "Guest Mode JS Excludes"
|
1295 |
msgstr ""
|
1296 |
|
1297 |
+
#: src/lang.cls.php:136
|
1298 |
msgid "Remove WordPress Emoji"
|
1299 |
msgstr ""
|
1300 |
|
1301 |
+
#: src/lang.cls.php:137
|
1302 |
msgid "Remove Noscript Tags"
|
1303 |
msgstr ""
|
1304 |
|
1305 |
+
#: src/lang.cls.php:138
|
1306 |
msgid "URI Excludes"
|
1307 |
msgstr ""
|
1308 |
|
1309 |
+
#: src/lang.cls.php:139
|
1310 |
msgid "Optimize for Guests Only"
|
1311 |
msgstr ""
|
1312 |
|
1313 |
+
#: src/lang.cls.php:140
|
1314 |
msgid "Role Excludes"
|
1315 |
msgstr ""
|
1316 |
|
1317 |
+
#: src/lang.cls.php:143
|
1318 |
msgid "Gravatar Cache Cron"
|
1319 |
msgstr ""
|
1320 |
|
1321 |
+
#: src/lang.cls.php:144
|
1322 |
msgid "Gravatar Cache TTL"
|
1323 |
msgstr ""
|
1324 |
|
1325 |
+
#: src/lang.cls.php:146
|
1326 |
msgid "Lazy Load Images"
|
1327 |
msgstr ""
|
1328 |
|
1329 |
+
#: src/lang.cls.php:147
|
1330 |
msgid "Lazy Load Image Excludes"
|
1331 |
msgstr ""
|
1332 |
|
1333 |
+
#: src/lang.cls.php:148
|
1334 |
msgid "Lazy Load Image Class Name Excludes"
|
1335 |
msgstr ""
|
1336 |
|
1337 |
+
#: src/lang.cls.php:149
|
1338 |
msgid "Lazy Load Image Parent Class Name Excludes"
|
1339 |
msgstr ""
|
1340 |
|
1341 |
+
#: src/lang.cls.php:150
|
1342 |
msgid "Lazy Load Iframe Class Name Excludes"
|
1343 |
msgstr ""
|
1344 |
|
1345 |
+
#: src/lang.cls.php:151
|
1346 |
msgid "Lazy Load Iframe Parent Class Name Excludes"
|
1347 |
msgstr ""
|
1348 |
|
1349 |
+
#: src/lang.cls.php:152
|
1350 |
msgid "Lazy Load URI Excludes"
|
1351 |
msgstr ""
|
1352 |
|
1353 |
+
#: src/lang.cls.php:153
|
1354 |
msgid "LQIP Excludes"
|
1355 |
msgstr ""
|
1356 |
|
1357 |
+
#: src/lang.cls.php:154
|
1358 |
msgid "Basic Image Placeholder"
|
1359 |
msgstr ""
|
1360 |
|
1361 |
+
#: src/lang.cls.php:155
|
1362 |
msgid "Responsive Placeholder"
|
1363 |
msgstr ""
|
1364 |
|
1365 |
+
#: src/lang.cls.php:156
|
1366 |
msgid "Responsive Placeholder Color"
|
1367 |
msgstr ""
|
1368 |
|
1369 |
+
#: src/lang.cls.php:157
|
1370 |
msgid "Responsive Placeholder SVG"
|
1371 |
msgstr ""
|
1372 |
|
1373 |
+
#: src/lang.cls.php:158
|
1374 |
msgid "LQIP Cloud Generator"
|
1375 |
msgstr ""
|
1376 |
|
1377 |
+
#: src/lang.cls.php:159
|
1378 |
msgid "LQIP Quality"
|
1379 |
msgstr ""
|
1380 |
|
1381 |
+
#: src/lang.cls.php:160
|
1382 |
msgid "LQIP Minimum Dimensions"
|
1383 |
msgstr ""
|
1384 |
|
1385 |
+
#: src/lang.cls.php:162
|
1386 |
msgid "Generate LQIP In Background"
|
1387 |
msgstr ""
|
1388 |
|
1389 |
+
#: src/lang.cls.php:163
|
1390 |
msgid "Lazy Load Iframes"
|
1391 |
msgstr ""
|
1392 |
|
1393 |
+
#: src/lang.cls.php:164
|
1394 |
msgid "Add Missing Sizes"
|
1395 |
msgstr ""
|
1396 |
|
1397 |
+
#: src/lang.cls.php:165
|
1398 |
msgid "Inline Lazy Load Images Library"
|
1399 |
msgstr ""
|
1400 |
|
1401 |
+
#: src/lang.cls.php:166
|
1402 |
msgid "Auto Request Cron"
|
1403 |
msgstr ""
|
1404 |
|
1405 |
+
#: src/lang.cls.php:167
|
1406 |
msgid "Auto Pull Cron"
|
1407 |
msgstr ""
|
1408 |
|
1409 |
+
#: src/lang.cls.php:168
|
1410 |
msgid "Optimize Original Images"
|
1411 |
msgstr ""
|
1412 |
|
1413 |
+
#: src/lang.cls.php:169
|
1414 |
msgid "Remove Original Backups"
|
1415 |
msgstr ""
|
1416 |
|
1417 |
+
#: src/lang.cls.php:170
|
1418 |
msgid "Create WebP Versions"
|
1419 |
msgstr ""
|
1420 |
|
1421 |
+
#: src/lang.cls.php:171
|
1422 |
msgid "Optimize Losslessly"
|
1423 |
msgstr ""
|
1424 |
|
1425 |
+
#: src/lang.cls.php:172
|
1426 |
msgid "Preserve EXIF/XMP data"
|
1427 |
msgstr ""
|
1428 |
|
1429 |
+
#: src/lang.cls.php:173
|
1430 |
msgid "WebP Attribute To Replace"
|
1431 |
msgstr ""
|
1432 |
|
1433 |
+
#: src/lang.cls.php:174
|
1434 |
msgid "WebP For Extra srcset"
|
1435 |
msgstr ""
|
1436 |
|
1437 |
+
#: src/lang.cls.php:175
|
1438 |
msgid "WordPress Image Quality Control"
|
1439 |
msgstr ""
|
1440 |
|
1441 |
+
#: src/lang.cls.php:176 tpl/esi_widget_edit.php:36
|
1442 |
msgid "Enable ESI"
|
1443 |
msgstr ""
|
1444 |
|
1445 |
+
#: src/lang.cls.php:177
|
1446 |
msgid "Cache Admin Bar"
|
1447 |
msgstr ""
|
1448 |
|
1449 |
+
#: src/lang.cls.php:178
|
1450 |
msgid "Cache Comment Form"
|
1451 |
msgstr ""
|
1452 |
|
1453 |
+
#: src/lang.cls.php:179
|
1454 |
msgid "ESI Nonces"
|
1455 |
msgstr ""
|
1456 |
|
1457 |
+
#: src/lang.cls.php:180 tpl/page_optm/settings_css.tpl.php:109
|
1458 |
+
#: tpl/page_optm/settings_css.tpl.php:219
|
1459 |
msgid "Vary Group"
|
1460 |
msgstr ""
|
1461 |
|
1462 |
+
#: src/lang.cls.php:181
|
1463 |
msgid "Purge All Hooks"
|
1464 |
msgstr ""
|
1465 |
|
1466 |
+
#: src/lang.cls.php:182
|
1467 |
msgid "Improve HTTP/HTTPS Compatibility"
|
1468 |
msgstr ""
|
1469 |
|
1470 |
+
#: src/lang.cls.php:183
|
1471 |
msgid "Instant Click"
|
1472 |
msgstr ""
|
1473 |
|
1474 |
+
#: src/lang.cls.php:184
|
1475 |
msgid "Do Not Cache Cookies"
|
1476 |
msgstr ""
|
1477 |
|
1478 |
+
#: src/lang.cls.php:185
|
1479 |
msgid "Do Not Cache User Agents"
|
1480 |
msgstr ""
|
1481 |
|
1482 |
+
#: src/lang.cls.php:186
|
1483 |
msgid "Login Cookie"
|
1484 |
msgstr ""
|
1485 |
|
1486 |
+
#: src/lang.cls.php:187
|
1487 |
msgid "Image WebP Replacement"
|
1488 |
msgstr ""
|
1489 |
|
1490 |
+
#: src/lang.cls.php:189
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1491 |
msgid "Frontend Heartbeat Control"
|
1492 |
msgstr ""
|
1493 |
|
1494 |
+
#: src/lang.cls.php:190
|
1495 |
msgid "Frontend Heartbeat TTL"
|
1496 |
msgstr ""
|
1497 |
|
1498 |
+
#: src/lang.cls.php:191
|
1499 |
msgid "Backend Heartbeat Control"
|
1500 |
msgstr ""
|
1501 |
|
1502 |
+
#: src/lang.cls.php:192
|
1503 |
msgid "Backend Heartbeat TTL"
|
1504 |
msgstr ""
|
1505 |
|
1506 |
+
#: src/lang.cls.php:193
|
1507 |
msgid "Editor Heartbeat"
|
1508 |
msgstr ""
|
1509 |
|
1510 |
+
#: src/lang.cls.php:194
|
1511 |
msgid "Editor Heartbeat TTL"
|
1512 |
msgstr ""
|
1513 |
|
1514 |
+
#: src/lang.cls.php:196
|
1515 |
msgid "QUIC.cloud CDN"
|
1516 |
msgstr ""
|
1517 |
|
1518 |
+
#: src/lang.cls.php:197
|
1519 |
msgid "Use CDN Mapping"
|
1520 |
msgstr ""
|
1521 |
|
1522 |
+
#: src/lang.cls.php:198
|
1523 |
msgid "CDN URL"
|
1524 |
msgstr ""
|
1525 |
|
1526 |
+
#: src/lang.cls.php:199
|
1527 |
msgid "Include Images"
|
1528 |
msgstr ""
|
1529 |
|
1530 |
+
#: src/lang.cls.php:200
|
1531 |
msgid "Include CSS"
|
1532 |
msgstr ""
|
1533 |
|
1534 |
+
#: src/lang.cls.php:201
|
1535 |
msgid "Include JS"
|
1536 |
msgstr ""
|
1537 |
|
1538 |
+
#: src/lang.cls.php:202 tpl/cdn/settings.tpl.php:102
|
1539 |
msgid "Include File Types"
|
1540 |
msgstr ""
|
1541 |
|
1542 |
+
#: src/lang.cls.php:203
|
1543 |
msgid "HTML Attribute To Replace"
|
1544 |
msgstr ""
|
1545 |
|
1546 |
+
#: src/lang.cls.php:204
|
1547 |
msgid "Original URLs"
|
1548 |
msgstr ""
|
1549 |
|
1550 |
+
#: src/lang.cls.php:205
|
1551 |
msgid "Included Directories"
|
1552 |
msgstr ""
|
1553 |
|
1554 |
+
#: src/lang.cls.php:206
|
1555 |
msgid "Exclude Path"
|
1556 |
msgstr ""
|
1557 |
|
1558 |
+
#: src/lang.cls.php:207
|
1559 |
msgid "Cloudflare API"
|
1560 |
msgstr ""
|
1561 |
|
1562 |
+
#: src/lang.cls.php:210
|
1563 |
msgid "Delay"
|
1564 |
msgstr ""
|
1565 |
|
1566 |
+
#: src/lang.cls.php:211
|
1567 |
msgid "Run Duration"
|
1568 |
msgstr ""
|
1569 |
|
1570 |
+
#: src/lang.cls.php:212
|
1571 |
msgid "Interval Between Runs"
|
1572 |
msgstr ""
|
1573 |
|
1574 |
+
#: src/lang.cls.php:213
|
1575 |
msgid "Crawl Interval"
|
1576 |
msgstr ""
|
1577 |
|
1578 |
+
#: src/lang.cls.php:214
|
1579 |
msgid "Threads"
|
1580 |
msgstr ""
|
1581 |
|
1582 |
+
#: src/lang.cls.php:215
|
1583 |
msgid "Timeout"
|
1584 |
msgstr ""
|
1585 |
|
1586 |
+
#: src/lang.cls.php:216
|
1587 |
msgid "Server Load Limit"
|
1588 |
msgstr ""
|
1589 |
|
1590 |
+
#: src/lang.cls.php:217
|
1591 |
msgid "Role Simulation"
|
1592 |
msgstr ""
|
1593 |
|
1594 |
+
#: src/lang.cls.php:218
|
1595 |
msgid "Cookie Simulation"
|
1596 |
msgstr ""
|
1597 |
|
1598 |
+
#: src/lang.cls.php:219
|
1599 |
msgid "Custom Sitemap"
|
1600 |
msgstr ""
|
1601 |
|
1602 |
+
#: src/lang.cls.php:220
|
1603 |
msgid "Drop Domain from Sitemap"
|
1604 |
msgstr ""
|
1605 |
|
1606 |
+
#: src/lang.cls.php:221
|
1607 |
msgid "Sitemap Timeout"
|
1608 |
msgstr ""
|
1609 |
|
1610 |
+
#: src/lang.cls.php:223 tpl/inc/disabled_all.php:5
|
1611 |
msgid "Disable All Features"
|
1612 |
msgstr ""
|
1613 |
|
1614 |
+
#: src/lang.cls.php:224 tpl/toolbox/log_viewer.tpl.php:7
|
1615 |
msgid "Debug Log"
|
1616 |
msgstr ""
|
1617 |
|
1618 |
+
#: src/lang.cls.php:225
|
1619 |
msgid "Admin IPs"
|
1620 |
msgstr ""
|
1621 |
|
1622 |
+
#: src/lang.cls.php:226
|
1623 |
msgid "Debug Level"
|
1624 |
msgstr ""
|
1625 |
|
1626 |
+
#: src/lang.cls.php:227
|
1627 |
msgid "Log File Size Limit"
|
1628 |
msgstr ""
|
1629 |
|
1630 |
+
#: src/lang.cls.php:228
|
1631 |
msgid "Log Cookies"
|
1632 |
msgstr ""
|
1633 |
|
1634 |
+
#: src/lang.cls.php:229
|
1635 |
msgid "Collapse Query Strings"
|
1636 |
msgstr ""
|
1637 |
|
1638 |
+
#: src/lang.cls.php:230
|
1639 |
msgid "Debug URI Includes"
|
1640 |
msgstr ""
|
1641 |
|
1642 |
+
#: src/lang.cls.php:231
|
1643 |
msgid "Debug URI Excludes"
|
1644 |
msgstr ""
|
1645 |
|
1646 |
+
#: src/lang.cls.php:233
|
1647 |
msgid "Revisions Max Number"
|
1648 |
msgstr ""
|
1649 |
|
1650 |
+
#: src/lang.cls.php:234
|
1651 |
msgid "Revisions Max Age"
|
1652 |
msgstr ""
|
1653 |
|
1748 |
msgid "LQIP image preview for size %s"
|
1749 |
msgstr ""
|
1750 |
|
1751 |
+
#: src/purge.cls.php:184
|
1752 |
msgid "Purged all caches successfully."
|
1753 |
msgstr ""
|
1754 |
|
1755 |
+
#: src/purge.cls.php:203
|
1756 |
msgid "Notified LiteSpeed Web Server to purge all LSCache entries."
|
1757 |
msgstr ""
|
1758 |
|
1759 |
+
#: src/purge.cls.php:222
|
1760 |
msgid "Cleaned all Critical CSS files."
|
1761 |
msgstr ""
|
1762 |
|
1763 |
+
#: src/purge.cls.php:241
|
1764 |
msgid "Cleaned all Unique CSS files."
|
1765 |
msgstr ""
|
1766 |
|
1767 |
+
#: src/purge.cls.php:258
|
1768 |
msgid "Cleaned all LQIP files."
|
1769 |
msgstr ""
|
1770 |
|
1771 |
+
#: src/purge.cls.php:275
|
1772 |
msgid "Cleaned all Gravatar files."
|
1773 |
msgstr ""
|
1774 |
|
1775 |
+
#: src/purge.cls.php:305
|
1776 |
msgid "Notified LiteSpeed Web Server to purge CSS/JS entries."
|
1777 |
msgstr ""
|
1778 |
|
1779 |
+
#: src/purge.cls.php:321
|
1780 |
msgid "Opcode cache is not enabled."
|
1781 |
msgstr ""
|
1782 |
|
1783 |
+
#: src/purge.cls.php:333
|
1784 |
msgid "Reset the entire opcode cache successfully."
|
1785 |
msgstr ""
|
1786 |
|
1787 |
+
#: src/purge.cls.php:361
|
1788 |
msgid "Object cache is not enabled."
|
1789 |
msgstr ""
|
1790 |
|
1791 |
+
#: src/purge.cls.php:374
|
1792 |
msgid "Purge all object caches successfully."
|
1793 |
msgstr ""
|
1794 |
|
1795 |
+
#: src/purge.cls.php:567
|
1796 |
msgid "Notified LiteSpeed Web Server to purge the front page."
|
1797 |
msgstr ""
|
1798 |
|
1799 |
+
#: src/purge.cls.php:580
|
1800 |
msgid "Notified LiteSpeed Web Server to purge all pages."
|
1801 |
msgstr ""
|
1802 |
|
1803 |
+
#: src/purge.cls.php:599
|
1804 |
msgid "Notified LiteSpeed Web Server to purge error pages."
|
1805 |
msgstr ""
|
1806 |
|
1807 |
+
#: src/purge.cls.php:626
|
1808 |
msgid "Purge category %s"
|
1809 |
msgstr ""
|
1810 |
|
1811 |
+
#: src/purge.cls.php:653
|
1812 |
msgid "Purge tag %s"
|
1813 |
msgstr ""
|
1814 |
|
1815 |
+
#: src/purge.cls.php:684
|
1816 |
msgid "Purge url %s"
|
1817 |
msgstr ""
|
1818 |
|
1960 |
msgid "Dismiss this notice"
|
1961 |
msgstr ""
|
1962 |
|
1963 |
+
#. #-#-#-#-# litespeed-cache.pot (LiteSpeed Cache 4.4.3) #-#-#-#-#
|
1964 |
#. Plugin Name of the plugin/theme
|
1965 |
#: tpl/banner/new_version.php:59 tpl/banner/new_version_dev.tpl.php:12
|
1966 |
#: tpl/cache/more_settings_tip.tpl.php:15 tpl/inc/admin_footer.php:8
|
1976 |
msgstr ""
|
1977 |
|
1978 |
#: tpl/banner/new_version.php:71 tpl/banner/new_version_dev.tpl.php:24
|
1979 |
+
#: tpl/toolbox/beta_test.tpl.php:57
|
1980 |
msgid "Upgrade"
|
1981 |
msgstr ""
|
1982 |
|
2282 |
#: tpl/cache/settings-esi.tpl.php:35 tpl/cdn/manage.tpl.php:21
|
2283 |
#: tpl/crawler/summary.tpl.php:48 tpl/inc/check_cache_disabled.php:31
|
2284 |
#: tpl/inc/check_if_network_disable_all.php:18
|
2285 |
+
#: tpl/page_optm/settings_css.tpl.php:59 tpl/page_optm/settings_css.tpl.php:164
|
2286 |
#: tpl/page_optm/settings_localization.tpl.php:11
|
2287 |
msgid "WARNING"
|
2288 |
msgstr ""
|
3425 |
msgstr ""
|
3426 |
|
3427 |
#: tpl/dash/dashboard.tpl.php:227 tpl/img_optm/summary.tpl.php:57
|
3428 |
+
#: tpl/page_optm/settings_css.tpl.php:90 tpl/page_optm/settings_css.tpl.php:200
|
3429 |
#: tpl/page_optm/settings_media.tpl.php:176
|
3430 |
msgid ""
|
3431 |
"Are you sure you want to redetect the closest cloud server for this service?"
|
3483 |
|
3484 |
#: tpl/dash/dashboard.tpl.php:437 tpl/dash/dashboard.tpl.php:470
|
3485 |
#: tpl/dash/dashboard.tpl.php:503 tpl/page_optm/settings_css.tpl.php:81
|
3486 |
+
#: tpl/page_optm/settings_css.tpl.php:191
|
3487 |
#: tpl/page_optm/settings_media.tpl.php:170
|
3488 |
msgid "Last generated"
|
3489 |
msgstr ""
|
3760 |
msgstr ""
|
3761 |
|
3762 |
#: tpl/general/settings.tpl.php:82 tpl/general/settings.tpl.php:93
|
3763 |
+
#: tpl/general/settings.tpl.php:105 tpl/general/settings.tpl.php:172
|
3764 |
+
#: tpl/general/settings.tpl.php:178 tpl/general/settings.tpl.php:184
|
3765 |
+
#: tpl/general/settings.tpl.php:190 tpl/general/settings.tpl.php:207
|
3766 |
msgid "Notice"
|
3767 |
msgstr ""
|
3768 |
|
3840 |
msgid "This option enables maximum optimization for Guest Mode visitors."
|
3841 |
msgstr ""
|
3842 |
|
3843 |
+
#: tpl/general/settings.tpl.php:151
|
3844 |
+
msgid "Please read all warnings before enabling this option."
|
3845 |
+
msgstr ""
|
3846 |
+
|
3847 |
+
#: tpl/general/settings.tpl.php:165
|
3848 |
+
msgid "Your %1s quota on %2s will still be in use."
|
3849 |
+
msgstr ""
|
3850 |
+
|
3851 |
+
#: tpl/general/settings.tpl.php:172
|
3852 |
msgid "This option only works when turning %s on."
|
3853 |
msgstr ""
|
3854 |
|
3855 |
+
#: tpl/general/settings.tpl.php:178 tpl/general/settings.tpl.php:190
|
3856 |
msgid "You need to turn %s on to get maximum result."
|
3857 |
msgstr ""
|
3858 |
|
3859 |
+
#: tpl/general/settings.tpl.php:184
|
3860 |
msgid ""
|
3861 |
"You need to turn %s on and finish all WebP generation to get maximum result."
|
3862 |
msgstr ""
|
3863 |
|
3864 |
+
#: tpl/general/settings.tpl.php:205
|
3865 |
msgid ""
|
3866 |
"Enter this site's IP address to allow cloud services directly call IP "
|
3867 |
"instead of domain name. This eliminates the overhead of DNS and CDN lookups."
|
3868 |
msgstr ""
|
3869 |
|
3870 |
+
#: tpl/general/settings.tpl.php:206
|
3871 |
msgid "Your server IP"
|
3872 |
msgstr ""
|
3873 |
|
3874 |
+
#: tpl/general/settings.tpl.php:206
|
3875 |
msgid "Check my public IP from"
|
3876 |
msgstr ""
|
3877 |
|
3878 |
+
#: tpl/general/settings.tpl.php:207
|
3879 |
msgid ""
|
3880 |
"the auto-detected IP may not be accurate if you have an additional outgoing "
|
3881 |
"IP set, or you have multiple IPs configured on your server."
|
3882 |
msgstr ""
|
3883 |
|
3884 |
+
#: tpl/general/settings.tpl.php:208
|
3885 |
msgid "Please make sure this IP is the correct one for visiting your site."
|
3886 |
msgstr ""
|
3887 |
|
3888 |
+
#: tpl/general/settings.tpl.php:223
|
3889 |
msgid ""
|
3890 |
"Turn this option ON to show latest news automatically, including hotfixes, "
|
3891 |
"new releases, available beta versions, and promotions."
|
3909 |
"or tablet visitors."
|
3910 |
msgstr ""
|
3911 |
|
|
|
|
|
|
|
|
|
3912 |
#: tpl/general/settings_tuning.tpl.php:7
|
3913 |
#: tpl/page_optm/settings_tuning.tpl.php:18
|
3914 |
msgid "Tuning Settings"
|
4003 |
msgstr ""
|
4004 |
|
4005 |
#: tpl/img_optm/summary.tpl.php:57 tpl/page_optm/settings_css.tpl.php:90
|
4006 |
+
#: tpl/page_optm/settings_css.tpl.php:200
|
4007 |
#: tpl/page_optm/settings_media.tpl.php:176
|
4008 |
msgid "Current closest Cloud server is %s. Click to redetect."
|
4009 |
msgstr ""
|
4412 |
msgid "This option is bypassed because %1$s option is %2$s."
|
4413 |
msgstr ""
|
4414 |
|
4415 |
+
#: tpl/page_optm/settings_css.tpl.php:84 tpl/page_optm/settings_css.tpl.php:194
|
4416 |
msgid "Last requested cost"
|
4417 |
msgstr ""
|
4418 |
|
4419 |
+
#: tpl/page_optm/settings_css.tpl.php:96 tpl/page_optm/settings_css.tpl.php:206
|
4420 |
msgid "URL list in %s queue waiting for cron"
|
4421 |
msgstr ""
|
4422 |
|
4423 |
#: tpl/page_optm/settings_css.tpl.php:117
|
4424 |
+
#: tpl/page_optm/settings_css.tpl.php:227
|
4425 |
msgid "Run %s Queue Manually"
|
4426 |
msgstr ""
|
4427 |
|
4443 |
"minimize potential errors caused by CSS Combine."
|
4444 |
msgstr ""
|
4445 |
|
4446 |
+
#: tpl/page_optm/settings_css.tpl.php:168
|
|
|
|
|
|
|
|
|
|
|
|
|
4447 |
msgid "Optimize CSS delivery."
|
4448 |
msgstr ""
|
4449 |
|
4450 |
+
#: tpl/page_optm/settings_css.tpl.php:169
|
4451 |
+
#: tpl/page_optm/settings_html.tpl.php:129 tpl/page_optm/settings_js.tpl.php:67
|
4452 |
#: tpl/page_optm/settings_media.tpl.php:243
|
4453 |
msgid ""
|
4454 |
"This can improve your speed score in services like Pingdom, GTmetrix and "
|
4455 |
"PageSpeed."
|
4456 |
msgstr ""
|
4457 |
|
4458 |
+
#: tpl/page_optm/settings_css.tpl.php:170
|
4459 |
msgid ""
|
4460 |
"Use QUIC.cloud online service to generate critical CSS and load remaining "
|
4461 |
"CSS asynchronously."
|
4462 |
msgstr ""
|
4463 |
|
4464 |
+
#: tpl/page_optm/settings_css.tpl.php:172
|
4465 |
msgid ""
|
4466 |
"Automatic generation of critical CSS is in the background via a cron-based "
|
4467 |
"queue."
|
4468 |
msgstr ""
|
4469 |
|
4470 |
+
#: tpl/page_optm/settings_css.tpl.php:173
|
4471 |
msgid ""
|
4472 |
"When this option is turned %s, it will also load Google Fonts asynchronously."
|
4473 |
msgstr ""
|
4474 |
|
4475 |
+
#: tpl/page_optm/settings_css.tpl.php:176
|
4476 |
msgid "Elements with attribute %s in HTML code will be excluded."
|
4477 |
msgstr ""
|
4478 |
|
4479 |
+
#: tpl/page_optm/settings_css.tpl.php:181
|
4480 |
msgid "This option is bypassed due to %s option."
|
4481 |
msgstr ""
|
4482 |
|
4483 |
+
#: tpl/page_optm/settings_css.tpl.php:242
|
4484 |
msgid ""
|
4485 |
"Disable this option to generate CCSS per Post Type instead of per page. This "
|
4486 |
"can save significant CCSS quota, however it may result in incorrect CSS "
|
4487 |
"styling if your site uses a page builder."
|
4488 |
msgstr ""
|
4489 |
|
4490 |
+
#: tpl/page_optm/settings_css.tpl.php:255
|
4491 |
msgid "This will inline the asynchronous CSS library to avoid render blocking."
|
4492 |
msgstr ""
|
4493 |
|
4494 |
+
#: tpl/page_optm/settings_css.tpl.php:266
|
4495 |
msgid "Default"
|
4496 |
msgstr ""
|
4497 |
|
4498 |
+
#: tpl/page_optm/settings_css.tpl.php:268
|
4499 |
msgid ""
|
4500 |
"Set this to append %1$s to all %2$s rules before caching CSS to specify how "
|
4501 |
"fonts should be displayed while being downloaded."
|
4502 |
msgstr ""
|
4503 |
|
4504 |
+
#: tpl/page_optm/settings_css.tpl.php:269
|
4505 |
msgid "%s is recommended."
|
4506 |
msgstr ""
|
4507 |
|
4508 |
+
#: tpl/page_optm/settings_css.tpl.php:269
|
4509 |
msgid "Swap"
|
4510 |
msgstr ""
|
4511 |
|
4581 |
msgid "Combine all local JS files into a single file."
|
4582 |
msgstr ""
|
4583 |
|
4584 |
+
#: tpl/page_optm/settings_js.tpl.php:37 tpl/page_optm/settings_js.tpl.php:70
|
4585 |
msgid ""
|
4586 |
"This option may result in a JS error or layout issue on frontend pages with "
|
4587 |
"certain themes/plugins."
|
4600 |
"should minimize potential errors caused by JS Combine."
|
4601 |
msgstr ""
|
4602 |
|
4603 |
+
#: tpl/page_optm/settings_js.tpl.php:63
|
|
|
|
|
|
|
|
|
|
|
|
|
4604 |
msgid "Deferred"
|
4605 |
msgstr ""
|
4606 |
|
4607 |
+
#: tpl/page_optm/settings_js.tpl.php:63
|
4608 |
msgid "Delayed"
|
4609 |
msgstr ""
|
4610 |
|
4611 |
+
#: tpl/page_optm/settings_js.tpl.php:65
|
4612 |
msgid ""
|
4613 |
"Deferring until page is parsed or delaying till interaction can help reduce "
|
4614 |
"resource contention and improve performance causing a lower FID (Core Web "
|
4912 |
msgid "Selected roles will be excluded from all optimizations."
|
4913 |
msgstr ""
|
4914 |
|
4915 |
+
#: tpl/toolbox/beta_test.tpl.php:20
|
4916 |
msgid "Try GitHub Version"
|
4917 |
msgstr ""
|
4918 |
|
4919 |
+
#: tpl/toolbox/beta_test.tpl.php:24
|
4920 |
msgid ""
|
4921 |
"Use this section to switch plugin versions. To beta test a GitHub commit, "
|
4922 |
"enter the commit URL in the field below."
|
4923 |
msgstr ""
|
4924 |
|
4925 |
+
#: tpl/toolbox/beta_test.tpl.php:25
|
4926 |
msgid "Example"
|
4927 |
msgstr ""
|
4928 |
|
4929 |
+
#: tpl/toolbox/beta_test.tpl.php:29
|
4930 |
msgid "Use latest GitHub Dev commit"
|
4931 |
msgstr ""
|
4932 |
|
4933 |
+
#: tpl/toolbox/beta_test.tpl.php:31
|
4934 |
msgid "Use latest GitHub Master commit"
|
4935 |
msgstr ""
|
4936 |
|
4937 |
+
#: tpl/toolbox/beta_test.tpl.php:33 tpl/toolbox/beta_test.tpl.php:49
|
4938 |
msgid "Use latest WordPress release version"
|
4939 |
msgstr ""
|
4940 |
|
4941 |
+
#: tpl/toolbox/beta_test.tpl.php:33
|
4942 |
msgid "OR"
|
4943 |
msgstr ""
|
4944 |
|
4945 |
+
#: tpl/toolbox/beta_test.tpl.php:44
|
4946 |
msgid ""
|
4947 |
"Downgrade not recommended. May cause fatal error due to refactored code."
|
4948 |
msgstr ""
|
4949 |
|
4950 |
+
#: tpl/toolbox/beta_test.tpl.php:48
|
4951 |
msgid ""
|
4952 |
"Press the %s button to use the most recent GitHub commit. Master is for "
|
4953 |
"release candidate & Dev is for experimental testing."
|
4954 |
msgstr ""
|
4955 |
|
4956 |
+
#: tpl/toolbox/beta_test.tpl.php:48
|
4957 |
msgid "Use latest GitHub Dev/Master commit"
|
4958 |
msgstr ""
|
4959 |
|
4960 |
+
#: tpl/toolbox/beta_test.tpl.php:49
|
4961 |
msgid ""
|
4962 |
"Press the %s button to stop beta testing and go back to the current release "
|
4963 |
"from the WordPress Plugin Directory."
|
4964 |
msgstr ""
|
4965 |
|
4966 |
+
#: tpl/toolbox/beta_test.tpl.php:54
|
4967 |
msgid ""
|
4968 |
"In order to avoid an upgrade error, you must be using %1$s or later before "
|
4969 |
"you can upgrade to %2$s versions."
|
4970 |
msgstr ""
|
4971 |
|
4972 |
+
#: tpl/toolbox/edit_htaccess.tpl.php:36
|
4973 |
+
msgid "LiteSpeed Cache View .htaccess"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4974 |
msgstr ""
|
4975 |
|
4976 |
+
#: tpl/toolbox/edit_htaccess.tpl.php:41
|
4977 |
+
msgid ".htaccess Path"
|
4978 |
msgstr ""
|
4979 |
|
4980 |
+
#: tpl/toolbox/edit_htaccess.tpl.php:47
|
4981 |
+
msgid "Frontend .htaccess Path"
|
4982 |
msgstr ""
|
4983 |
|
4984 |
+
#: tpl/toolbox/edit_htaccess.tpl.php:52 tpl/toolbox/edit_htaccess.tpl.php:69
|
4985 |
+
msgid "Default path is"
|
4986 |
msgstr ""
|
4987 |
|
4988 |
+
#: tpl/toolbox/edit_htaccess.tpl.php:55 tpl/toolbox/edit_htaccess.tpl.php:72
|
4989 |
+
msgid "PHP Constant %s is supported."
|
4990 |
msgstr ""
|
4991 |
|
4992 |
+
#: tpl/toolbox/edit_htaccess.tpl.php:56 tpl/toolbox/edit_htaccess.tpl.php:73
|
4993 |
+
msgid "You can use this code %1$s in %2$s to specify the htaccess file path."
|
4994 |
msgstr ""
|
4995 |
|
4996 |
+
#: tpl/toolbox/edit_htaccess.tpl.php:64
|
4997 |
+
msgid "Backend .htaccess Path"
|
4998 |
msgstr ""
|
4999 |
|
5000 |
+
#: tpl/toolbox/edit_htaccess.tpl.php:82
|
5001 |
msgid "Current %s Contents"
|
5002 |
msgstr ""
|
5003 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5004 |
#: tpl/toolbox/entry.tpl.php:10
|
5005 |
msgid "Import / Export"
|
5006 |
msgstr ""
|
5007 |
|
5008 |
#: tpl/toolbox/entry.tpl.php:14
|
5009 |
+
msgid "View .htaccess"
|
5010 |
msgstr ""
|
5011 |
|
5012 |
#: tpl/toolbox/entry.tpl.php:18
|
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: 4.4.
|
7 |
* Author: LiteSpeed Technologies
|
8 |
* Author URI: https://www.litespeedtech.com
|
9 |
* License: GPLv3
|
@@ -33,7 +33,7 @@ if ( defined( 'LSCWP_V' ) ) {
|
|
33 |
return;
|
34 |
}
|
35 |
|
36 |
-
! defined( 'LSCWP_V' ) && define( 'LSCWP_V', '4.4.
|
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: 4.4.3
|
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', '4.4.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
|
readme.txt
CHANGED
@@ -2,8 +2,8 @@
|
|
2 |
Contributors: LiteSpeedTech
|
3 |
Tags: caching, optimize, performance, pagespeed, core web vitals, seo, speed, image optimize, compress, object cache, redis, memcached, database cleaner
|
4 |
Requires at least: 4.0
|
5 |
-
Tested up to: 5.
|
6 |
-
Stable tag: 4.4.
|
7 |
License: GPLv3
|
8 |
License URI: http://www.gnu.org/licenses/gpl.html
|
9 |
|
@@ -70,7 +70,7 @@ LiteSpeed Cache for WordPress is compatible with ClassicPress.
|
|
70 |
* HTTP/2 support
|
71 |
* [HTTP/3 & QUIC](https://www.litespeedtech.com/http3-faq) support
|
72 |
* ESI (Edge Side Includes) support<sup>*</sup>
|
73 |
-
* Widgets and Shortcodes as ESI blocks<sup>*</sup> (requires Classic Widgets plugin
|
74 |
|
75 |
<sup>*</sup> Feature not available in OpenLiteSpeed
|
76 |
|
@@ -249,6 +249,23 @@ The vast majority of plugins and themes are compatible with LiteSpeed Cache. The
|
|
249 |
|
250 |
== Changelog ==
|
251 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
252 |
= 4.4.2 - Sep 23 2021 =
|
253 |
* **Purge** In order to clear pages containing 404 CSS/JS, the purge header will always be sent even in cases where purge must be delayed.
|
254 |
* 🐞**Purge** Fixed a potential PHP warning caused when generating different optimized filenames.
|
2 |
Contributors: LiteSpeedTech
|
3 |
Tags: caching, optimize, performance, pagespeed, core web vitals, seo, speed, image optimize, compress, object cache, redis, memcached, database cleaner
|
4 |
Requires at least: 4.0
|
5 |
+
Tested up to: 5.8.1
|
6 |
+
Stable tag: 4.4.3
|
7 |
License: GPLv3
|
8 |
License URI: http://www.gnu.org/licenses/gpl.html
|
9 |
|
70 |
* HTTP/2 support
|
71 |
* [HTTP/3 & QUIC](https://www.litespeedtech.com/http3-faq) support
|
72 |
* ESI (Edge Side Includes) support<sup>*</sup>
|
73 |
+
* Widgets and Shortcodes as ESI blocks<sup>*</sup> (requires Classic Widgets plugin for WP 5.8+)
|
74 |
|
75 |
<sup>*</sup> Feature not available in OpenLiteSpeed
|
76 |
|
249 |
|
250 |
== Changelog ==
|
251 |
|
252 |
+
= 4.4.3 - Oct 13 2021 =
|
253 |
+
* 🐞**Media** Fixed an issue where WebP is served erroneously under Guest Mode on older versions of Safari. (hash73)
|
254 |
+
* 🐞**Media** Reverted regex change to fix `Lazy Load Image Parent Class Name Excludes` failure. (thpstock)
|
255 |
+
* **Purge** Disabled `Purge Delay` in the optimization process by default.
|
256 |
+
* **Conf** Dropped `.htaccess Path Settings` options for security concern. (WP)
|
257 |
+
* **Conf** Dropped `CSS HTTP/2 Push`/`JS HTTP/2 Push` options. (Kevin)
|
258 |
+
* **Conf** Set `Guest Optimization` default to OFF.
|
259 |
+
* **Conf** Set `CCSS Per URL` default to OFF to avoid consuming more quota than intended after upgrade to v4. (n111)
|
260 |
+
* **Object** Fixed an issue with Object Cache warnings during upgrade, when Guest Mode is enabled.
|
261 |
+
* ☁️**Cloud** Fixed an issue with PHP notices when inquiring about quota usage for a service not currently in use.
|
262 |
+
* **GUI** Added GO detail warning. (n111)
|
263 |
+
* **GUI** Moved "quota wil be still in use" warning from Guest Mode to Guest Optimization section.
|
264 |
+
* **API** Added `LITESPEED_CFG_HTACCESS` PHP Constant to specify .htaccess path.
|
265 |
+
* **API** Added `litespeed_qs_forbidden` hook to bypass `?LSCWP_CTRL=` query string. (minhduc)
|
266 |
+
* **API** Added `litespeed_delay_purge` hook to delay the following Purge header until the next request.
|
267 |
+
* **API** Added `litespeed_wpconfig_readonly` hook to disable `WP_CACHE` constant update based on the wp-config.php file. (#633545)
|
268 |
+
|
269 |
= 4.4.2 - Sep 23 2021 =
|
270 |
* **Purge** In order to clear pages containing 404 CSS/JS, the purge header will always be sent even in cases where purge must be delayed.
|
271 |
* 🐞**Purge** Fixed a potential PHP warning caused when generating different optimized filenames.
|
src/activation.cls.php
CHANGED
@@ -396,6 +396,10 @@ class Activation extends Base {
|
|
396 |
return false;
|
397 |
}
|
398 |
|
|
|
|
|
|
|
|
|
399 |
/**
|
400 |
* Follow WP's logic to locate wp-config file
|
401 |
* @see wp-load.php
|
396 |
return false;
|
397 |
}
|
398 |
|
399 |
+
if ( apply_filters( 'litespeed_wpconfig_readonly', false ) ) {
|
400 |
+
throw new \Exception( 'wp-config file is forbidden to modify due to API hook: litespeed_wpconfig_readonly' );
|
401 |
+
}
|
402 |
+
|
403 |
/**
|
404 |
* Follow WP's logic to locate wp-config file
|
405 |
* @see wp-load.php
|
src/admin.cls.php
CHANGED
@@ -119,12 +119,6 @@ class Admin extends Root {
|
|
119 |
private function _proceed_admin_action() {
|
120 |
// handle actions
|
121 |
switch ( Router::get_action() ) {
|
122 |
-
|
123 |
-
// Save htaccess
|
124 |
-
case Router::ACTION_SAVE_HTACCESS:
|
125 |
-
$this->cls( 'Htaccess' )->htaccess_editor_save();
|
126 |
-
break;
|
127 |
-
|
128 |
case Router::ACTION_SAVE_SETTINGS:
|
129 |
$this->cls( 'Admin_Settings' )->save( $_POST );
|
130 |
break;
|
119 |
private function _proceed_admin_action() {
|
120 |
// handle actions
|
121 |
switch ( Router::get_action() ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
122 |
case Router::ACTION_SAVE_SETTINGS:
|
123 |
$this->cls( 'Admin_Settings' )->save( $_POST );
|
124 |
break;
|
src/base.cls.php
CHANGED
@@ -126,12 +126,10 @@ class Base extends Root {
|
|
126 |
const O_OPTM_UCSS_INLINE = 'optm-ucss_inline';
|
127 |
const O_OPTM_UCSS_WHITELIST = 'optm-ucss_whitelist';
|
128 |
const O_OPTM_UCSS_EXC = 'optm-ucss_exc';
|
129 |
-
const O_OPTM_CSS_HTTP2 = 'optm-css_http2';
|
130 |
const O_OPTM_CSS_EXC = 'optm-css_exc';
|
131 |
const O_OPTM_JS_MIN = 'optm-js_min';
|
132 |
const O_OPTM_JS_COMB = 'optm-js_comb';
|
133 |
const O_OPTM_JS_COMB_EXT_INL = 'optm-js_comb_ext_inl';
|
134 |
-
const O_OPTM_JS_HTTP2 = 'optm-js_http2';
|
135 |
const O_OPTM_JS_EXC = 'optm-js_exc';
|
136 |
const O_OPTM_HTML_MIN = 'optm-html_min';
|
137 |
const O_OPTM_HTML_LAZY = 'optm-html_lazy';
|
@@ -239,8 +237,6 @@ class Base extends Root {
|
|
239 |
## -------------------------------------------------- ##
|
240 |
## -------------- Misc ----------------- ##
|
241 |
## -------------------------------------------------- ##
|
242 |
-
const O_MISC_HTACCESS_FRONT = 'misc-htaccess_front';
|
243 |
-
const O_MISC_HTACCESS_BACK = 'misc-htaccess_back';
|
244 |
const O_MISC_HEARTBEAT_FRONT = 'misc-heartbeat_front';
|
245 |
const O_MISC_HEARTBEAT_FRONT_TTL = 'misc-heartbeat_front_ttl';
|
246 |
const O_MISC_HEARTBEAT_BACK = 'misc-heartbeat_back';
|
@@ -410,12 +406,10 @@ class Base extends Root {
|
|
410 |
self::O_OPTM_UCSS_INLINE => false,
|
411 |
self::O_OPTM_UCSS_WHITELIST => array(),
|
412 |
self::O_OPTM_UCSS_EXC => array(),
|
413 |
-
self::O_OPTM_CSS_HTTP2 => false,
|
414 |
self::O_OPTM_CSS_EXC => array(),
|
415 |
self::O_OPTM_JS_MIN => false,
|
416 |
self::O_OPTM_JS_COMB => false,
|
417 |
self::O_OPTM_JS_COMB_EXT_INL => false,
|
418 |
-
self::O_OPTM_JS_HTTP2 => false,
|
419 |
self::O_OPTM_JS_EXC => array(),
|
420 |
self::O_OPTM_HTML_MIN => false,
|
421 |
self::O_OPTM_HTML_LAZY => array(),
|
@@ -511,8 +505,6 @@ class Base extends Root {
|
|
511 |
self::O_CRAWLER_COOKIES => array(),
|
512 |
|
513 |
// Misc
|
514 |
-
self::O_MISC_HTACCESS_FRONT => '',
|
515 |
-
self::O_MISC_HTACCESS_BACK => '',
|
516 |
self::O_MISC_HEARTBEAT_FRONT => false,
|
517 |
self::O_MISC_HEARTBEAT_FRONT_TTL => 0,
|
518 |
self::O_MISC_HEARTBEAT_BACK => false,
|
@@ -582,9 +574,6 @@ class Base extends Root {
|
|
582 |
|
583 |
self::O_IMG_OPTM_WEBP_REPLACE => false,
|
584 |
|
585 |
-
self::O_MISC_HTACCESS_FRONT => '',
|
586 |
-
self::O_MISC_HTACCESS_BACK => '',
|
587 |
-
|
588 |
);
|
589 |
|
590 |
// NOTE: all the val of following items will be int while not bool
|
126 |
const O_OPTM_UCSS_INLINE = 'optm-ucss_inline';
|
127 |
const O_OPTM_UCSS_WHITELIST = 'optm-ucss_whitelist';
|
128 |
const O_OPTM_UCSS_EXC = 'optm-ucss_exc';
|
|
|
129 |
const O_OPTM_CSS_EXC = 'optm-css_exc';
|
130 |
const O_OPTM_JS_MIN = 'optm-js_min';
|
131 |
const O_OPTM_JS_COMB = 'optm-js_comb';
|
132 |
const O_OPTM_JS_COMB_EXT_INL = 'optm-js_comb_ext_inl';
|
|
|
133 |
const O_OPTM_JS_EXC = 'optm-js_exc';
|
134 |
const O_OPTM_HTML_MIN = 'optm-html_min';
|
135 |
const O_OPTM_HTML_LAZY = 'optm-html_lazy';
|
237 |
## -------------------------------------------------- ##
|
238 |
## -------------- Misc ----------------- ##
|
239 |
## -------------------------------------------------- ##
|
|
|
|
|
240 |
const O_MISC_HEARTBEAT_FRONT = 'misc-heartbeat_front';
|
241 |
const O_MISC_HEARTBEAT_FRONT_TTL = 'misc-heartbeat_front_ttl';
|
242 |
const O_MISC_HEARTBEAT_BACK = 'misc-heartbeat_back';
|
406 |
self::O_OPTM_UCSS_INLINE => false,
|
407 |
self::O_OPTM_UCSS_WHITELIST => array(),
|
408 |
self::O_OPTM_UCSS_EXC => array(),
|
|
|
409 |
self::O_OPTM_CSS_EXC => array(),
|
410 |
self::O_OPTM_JS_MIN => false,
|
411 |
self::O_OPTM_JS_COMB => false,
|
412 |
self::O_OPTM_JS_COMB_EXT_INL => false,
|
|
|
413 |
self::O_OPTM_JS_EXC => array(),
|
414 |
self::O_OPTM_HTML_MIN => false,
|
415 |
self::O_OPTM_HTML_LAZY => array(),
|
505 |
self::O_CRAWLER_COOKIES => array(),
|
506 |
|
507 |
// Misc
|
|
|
|
|
508 |
self::O_MISC_HEARTBEAT_FRONT => false,
|
509 |
self::O_MISC_HEARTBEAT_FRONT_TTL => 0,
|
510 |
self::O_MISC_HEARTBEAT_BACK => false,
|
574 |
|
575 |
self::O_IMG_OPTM_WEBP_REPLACE => false,
|
576 |
|
|
|
|
|
|
|
577 |
);
|
578 |
|
579 |
// NOTE: all the val of following items will be int while not bool
|
src/cloud.cls.php
CHANGED
@@ -244,10 +244,10 @@ class Cloud extends Base {
|
|
244 |
$service = self::SVC_PAGE_OPTM;
|
245 |
}
|
246 |
|
247 |
-
|
248 |
-
if ( empty( $usage ) ) {
|
249 |
return 0;
|
250 |
}
|
|
|
251 |
|
252 |
// Image optm is always free
|
253 |
$allowance_max = 0;
|
244 |
$service = self::SVC_PAGE_OPTM;
|
245 |
}
|
246 |
|
247 |
+
if ( empty( $this->_summary[ 'usage.' . $service ] ) ) {
|
|
|
248 |
return 0;
|
249 |
}
|
250 |
+
$usage = $this->_summary[ 'usage.' . $service ];
|
251 |
|
252 |
// Image optm is always free
|
253 |
$allowance_max = 0;
|
src/core.cls.php
CHANGED
@@ -159,7 +159,7 @@ class Core extends Root {
|
|
159 |
* Check if is non optm simulator
|
160 |
* @since 2.9
|
161 |
*/
|
162 |
-
if ( ! empty( $_GET[ Router::ACTION ] ) && $_GET[ Router::ACTION ] == 'before_optm' ) {
|
163 |
Debug2::debug( '[Core] ⛑️ bypass_optm due to QS CTRL' );
|
164 |
! defined( 'LITESPEED_NO_OPTM' ) && define( 'LITESPEED_NO_OPTM', true );
|
165 |
}
|
159 |
* Check if is non optm simulator
|
160 |
* @since 2.9
|
161 |
*/
|
162 |
+
if ( ! empty( $_GET[ Router::ACTION ] ) && $_GET[ Router::ACTION ] == 'before_optm' && ! apply_filters( 'litespeed_qs_forbidden', false ) ) {
|
163 |
Debug2::debug( '[Core] ⛑️ bypass_optm due to QS CTRL' );
|
164 |
! defined( 'LITESPEED_NO_OPTM' ) && define( 'LITESPEED_NO_OPTM', true );
|
165 |
}
|
src/css.cls.php
CHANGED
@@ -699,7 +699,7 @@ class CSS extends Base {
|
|
699 |
}
|
700 |
|
701 |
$con = Optimizer::minify_css( $con );
|
702 |
-
if ( $is_webp ) {
|
703 |
$con = $this->cls( 'Media' )->replace_background_webp( $con );
|
704 |
}
|
705 |
|
699 |
}
|
700 |
|
701 |
$con = Optimizer::minify_css( $con );
|
702 |
+
if ( $is_webp && $this->cls( 'Media' )->webp_support() ) {
|
703 |
$con = $this->cls( 'Media' )->replace_background_webp( $con );
|
704 |
}
|
705 |
|
src/data.upgrade.func.php
CHANGED
@@ -374,13 +374,13 @@ function litespeed_update_3_0( $ver ) {
|
|
374 |
// 'css_inline_minify' => 'optm-css_inline_min',
|
375 |
'css_combine' => 'optm-css_comb',
|
376 |
// 'css_combined_priority' => 'optm-css_comb_priority',
|
377 |
-
'css_http2' => 'optm-css_http2',
|
378 |
'css_exclude' => 'optm-css_exc',
|
379 |
'js_minify' => 'optm-js_min',
|
380 |
// 'js_inline_minify' => 'optm-js_inline_min',
|
381 |
'js_combine' => 'optm-js_comb',
|
382 |
// 'js_combined_priority' => 'optm-js_comb_priority',
|
383 |
-
'js_http2' => 'optm-js_http2',
|
384 |
'js_exclude' => 'optm-js_exc',
|
385 |
// 'optimize_ttl' => 'optm-ttl',
|
386 |
'html_minify' => 'optm-html_min',
|
374 |
// 'css_inline_minify' => 'optm-css_inline_min',
|
375 |
'css_combine' => 'optm-css_comb',
|
376 |
// 'css_combined_priority' => 'optm-css_comb_priority',
|
377 |
+
// 'css_http2' => 'optm-css_http2',
|
378 |
'css_exclude' => 'optm-css_exc',
|
379 |
'js_minify' => 'optm-js_min',
|
380 |
// 'js_inline_minify' => 'optm-js_inline_min',
|
381 |
'js_combine' => 'optm-js_comb',
|
382 |
// 'js_combined_priority' => 'optm-js_comb_priority',
|
383 |
+
// 'js_http2' => 'optm-js_http2',
|
384 |
'js_exclude' => 'optm-js_exc',
|
385 |
// 'optimize_ttl' => 'optm-ttl',
|
386 |
'html_minify' => 'optm-html_min',
|
src/htaccess.cls.php
CHANGED
@@ -13,8 +13,6 @@ namespace LiteSpeed;
|
|
13 |
defined( 'WPINC' ) || exit;
|
14 |
|
15 |
class Htaccess extends Root {
|
16 |
-
const EDITOR_TEXTAREA_NAME = 'lscwp_ht_editor';
|
17 |
-
|
18 |
private $frontend_htaccess = null;
|
19 |
private $_default_frontend_htaccess = null;
|
20 |
private $backend_htaccess = null;
|
@@ -62,11 +60,11 @@ class Htaccess extends Root {
|
|
62 |
$this->_default_frontend_htaccess = $this->frontend_htaccess;
|
63 |
$this->_default_backend_htaccess = $this->backend_htaccess;
|
64 |
|
65 |
-
$frontend_htaccess =
|
66 |
if ( $frontend_htaccess && substr( $frontend_htaccess, -10 ) === '/.htaccess' ) {
|
67 |
$this->frontend_htaccess = $frontend_htaccess;
|
68 |
}
|
69 |
-
$backend_htaccess =
|
70 |
if ( $backend_htaccess && substr( $backend_htaccess, -10 ) === '/.htaccess' ) {
|
71 |
$this->backend_htaccess = $backend_htaccess;
|
72 |
}
|
@@ -280,30 +278,6 @@ class Htaccess extends Root {
|
|
280 |
return $content;
|
281 |
}
|
282 |
|
283 |
-
/**
|
284 |
-
* Save the rules file changes.
|
285 |
-
*
|
286 |
-
* NOTE: will throw error if failed
|
287 |
-
*
|
288 |
-
* @since 1.0.4
|
289 |
-
* @access public
|
290 |
-
*/
|
291 |
-
public function htaccess_save( $content, $kind = 'frontend' ) {
|
292 |
-
$path = $this->htaccess_path( $kind );
|
293 |
-
|
294 |
-
if ( ! $this->writable( $kind ) ) {
|
295 |
-
Error::t( 'HTA_W' );
|
296 |
-
}
|
297 |
-
|
298 |
-
$this->_htaccess_backup( $kind );
|
299 |
-
|
300 |
-
// File put contents will truncate by default. Will create file if doesn't exist.
|
301 |
-
$res = File::save( $path, $content, false, false, false );
|
302 |
-
if ( $res !== true ) {
|
303 |
-
throw new \Exception( $res );
|
304 |
-
}
|
305 |
-
}
|
306 |
-
|
307 |
/**
|
308 |
* Try to backup the .htaccess file if we didn't save one before.
|
309 |
*
|
@@ -852,31 +826,5 @@ class Htaccess extends Root {
|
|
852 |
$this->_insert_wrapper( false, 'backend', self::MARKER_NONLS );
|
853 |
}
|
854 |
}
|
855 |
-
|
856 |
-
/**
|
857 |
-
* Parses the .htaccess buffer when the admin saves changes in the edit .htaccess page.
|
858 |
-
* Only admin can do this
|
859 |
-
*
|
860 |
-
* @since 1.0.4
|
861 |
-
* @since 2.9 Used exception when saving
|
862 |
-
* @access public
|
863 |
-
*/
|
864 |
-
public function htaccess_editor_save() {
|
865 |
-
if ( ! isset( $_POST[ self::EDITOR_TEXTAREA_NAME ] ) ) {
|
866 |
-
return;
|
867 |
-
}
|
868 |
-
|
869 |
-
$content = Admin::cleanup_text($_POST[self::EDITOR_TEXTAREA_NAME]);
|
870 |
-
|
871 |
-
try {
|
872 |
-
$this->htaccess_save($content);
|
873 |
-
} catch( \Exception $e ) {
|
874 |
-
Admin_Display::error( $e->getMessage() );
|
875 |
-
return;
|
876 |
-
}
|
877 |
-
|
878 |
-
Admin_Display::succeed( __( 'File Saved.', 'litespeed-cache' ) );
|
879 |
-
|
880 |
-
}
|
881 |
}
|
882 |
|
13 |
defined( 'WPINC' ) || exit;
|
14 |
|
15 |
class Htaccess extends Root {
|
|
|
|
|
16 |
private $frontend_htaccess = null;
|
17 |
private $_default_frontend_htaccess = null;
|
18 |
private $backend_htaccess = null;
|
60 |
$this->_default_frontend_htaccess = $this->frontend_htaccess;
|
61 |
$this->_default_backend_htaccess = $this->backend_htaccess;
|
62 |
|
63 |
+
$frontend_htaccess = defined( 'LITESPEED_CFG_HTACCESS' ) ? LITESPEED_CFG_HTACCESS : false;
|
64 |
if ( $frontend_htaccess && substr( $frontend_htaccess, -10 ) === '/.htaccess' ) {
|
65 |
$this->frontend_htaccess = $frontend_htaccess;
|
66 |
}
|
67 |
+
$backend_htaccess = defined( 'LITESPEED_CFG_HTACCESS_BACKEND' ) ? LITESPEED_CFG_HTACCESS_BACKEND : false;
|
68 |
if ( $backend_htaccess && substr( $backend_htaccess, -10 ) === '/.htaccess' ) {
|
69 |
$this->backend_htaccess = $backend_htaccess;
|
70 |
}
|
278 |
return $content;
|
279 |
}
|
280 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
281 |
/**
|
282 |
* Try to backup the .htaccess file if we didn't save one before.
|
283 |
*
|
826 |
$this->_insert_wrapper( false, 'backend', self::MARKER_NONLS );
|
827 |
}
|
828 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
829 |
}
|
830 |
|
src/lang.cls.php
CHANGED
@@ -111,11 +111,9 @@ class Lang extends Base {
|
|
111 |
self::O_OPTM_UCSS_INLINE => __( 'UCSS Inline', 'litespeed-cache' ),
|
112 |
self::O_OPTM_UCSS_WHITELIST => __( 'UCSS Whitelist', 'litespeed-cache' ),
|
113 |
self::O_OPTM_UCSS_EXC => __( 'UCSS URI Excludes', 'litespeed-cache' ),
|
114 |
-
self::O_OPTM_CSS_HTTP2 => __( 'CSS HTTP/2 Push', 'litespeed-cache' ),
|
115 |
self::O_OPTM_JS_MIN => __( 'JS Minify', 'litespeed-cache' ),
|
116 |
self::O_OPTM_JS_COMB => __( 'JS Combine', 'litespeed-cache' ),
|
117 |
self::O_OPTM_JS_COMB_EXT_INL => __( 'JS Combine External and Inline', 'litespeed-cache' ),
|
118 |
-
self::O_OPTM_JS_HTTP2 => __( 'JS HTTP/2 Push', 'litespeed-cache' ),
|
119 |
self::O_OPTM_HTML_MIN => __( 'HTML Minify', 'litespeed-cache' ),
|
120 |
self::O_OPTM_HTML_LAZY => __( 'HTML Lazy Load Selectors', 'litespeed-cache' ),
|
121 |
self::O_OPTM_CSS_ASYNC => __( 'Load CSS Asynchronously', 'litespeed-cache' ),
|
@@ -188,8 +186,6 @@ class Lang extends Base {
|
|
188 |
self::O_CACHE_LOGIN_COOKIE => __( 'Login Cookie', 'litespeed-cache' ),
|
189 |
self::O_IMG_OPTM_WEBP_REPLACE => __( 'Image WebP Replacement', 'litespeed-cache' ),
|
190 |
|
191 |
-
self::O_MISC_HTACCESS_FRONT => __( 'Frontend .htaccess Path', 'litespeed-cache' ),
|
192 |
-
self::O_MISC_HTACCESS_BACK => __( 'Backend .htaccess Path', 'litespeed-cache' ),
|
193 |
self::O_MISC_HEARTBEAT_FRONT => __( 'Frontend Heartbeat Control', 'litespeed-cache' ),
|
194 |
self::O_MISC_HEARTBEAT_FRONT_TTL => __( 'Frontend Heartbeat TTL', 'litespeed-cache' ),
|
195 |
self::O_MISC_HEARTBEAT_BACK => __( 'Backend Heartbeat Control', 'litespeed-cache' ),
|
111 |
self::O_OPTM_UCSS_INLINE => __( 'UCSS Inline', 'litespeed-cache' ),
|
112 |
self::O_OPTM_UCSS_WHITELIST => __( 'UCSS Whitelist', 'litespeed-cache' ),
|
113 |
self::O_OPTM_UCSS_EXC => __( 'UCSS URI Excludes', 'litespeed-cache' ),
|
|
|
114 |
self::O_OPTM_JS_MIN => __( 'JS Minify', 'litespeed-cache' ),
|
115 |
self::O_OPTM_JS_COMB => __( 'JS Combine', 'litespeed-cache' ),
|
116 |
self::O_OPTM_JS_COMB_EXT_INL => __( 'JS Combine External and Inline', 'litespeed-cache' ),
|
|
|
117 |
self::O_OPTM_HTML_MIN => __( 'HTML Minify', 'litespeed-cache' ),
|
118 |
self::O_OPTM_HTML_LAZY => __( 'HTML Lazy Load Selectors', 'litespeed-cache' ),
|
119 |
self::O_OPTM_CSS_ASYNC => __( 'Load CSS Asynchronously', 'litespeed-cache' ),
|
186 |
self::O_CACHE_LOGIN_COOKIE => __( 'Login Cookie', 'litespeed-cache' ),
|
187 |
self::O_IMG_OPTM_WEBP_REPLACE => __( 'Image WebP Replacement', 'litespeed-cache' ),
|
188 |
|
|
|
|
|
189 |
self::O_MISC_HEARTBEAT_FRONT => __( 'Frontend Heartbeat Control', 'litespeed-cache' ),
|
190 |
self::O_MISC_HEARTBEAT_FRONT_TTL => __( 'Frontend Heartbeat TTL', 'litespeed-cache' ),
|
191 |
self::O_MISC_HEARTBEAT_BACK => __( 'Backend Heartbeat Control', 'litespeed-cache' ),
|
src/media.cls.php
CHANGED
@@ -550,7 +550,7 @@ class Media extends Root {
|
|
550 |
if ( $parent_cls_exc ) {
|
551 |
Debug2::debug2( '[Media] Lazyload Class excludes', $parent_cls_exc );
|
552 |
foreach ( $parent_cls_exc as $v ) {
|
553 |
-
$content = preg_replace( '#<(\w+) [^>]*class=(\'|")[^\
|
554 |
}
|
555 |
}
|
556 |
|
@@ -625,7 +625,7 @@ class Media extends Root {
|
|
625 |
|
626 |
$attrs[ 'width' ] = $ori_width;
|
627 |
$attrs[ 'height' ] = $ori_height;
|
628 |
-
$new_html = preg_replace( '#(width|height)=(\'
|
629 |
$new_html = str_replace( '<img ', '<img width="' . $attrs[ 'width' ] . '" height="' . $attrs[ 'height' ] . '" ', $new_html );
|
630 |
Debug2::debug( '[Media] Add missing sizes ' . $attrs[ 'width' ] . 'x' . $attrs[ 'height' ] . ' to ' . $attrs[ 'src' ] );
|
631 |
$this->content = str_replace( $match[ 0 ], $new_html, $this->content );
|
@@ -689,7 +689,7 @@ class Media extends Root {
|
|
689 |
if ( $parent_cls_exc ) {
|
690 |
Debug2::debug2( '[Media] Iframe Lazyload Class excludes', $parent_cls_exc );
|
691 |
foreach ( $parent_cls_exc as $v ) {
|
692 |
-
$content = preg_replace( '#<(\w+) [^>]*class=(\'|")[^\
|
693 |
}
|
694 |
}
|
695 |
|
@@ -753,10 +753,10 @@ class Media extends Root {
|
|
753 |
$v = explode( '.', $v );
|
754 |
$attr = preg_quote( $v[ 1 ], '#' );
|
755 |
if ( $v[ 0 ] ) {
|
756 |
-
$pattern = '#<' . preg_quote( $v[ 0 ], '#' ) . '([^>]+)' . $attr . '=(\'
|
757 |
}
|
758 |
else {
|
759 |
-
$pattern = '# ' . $attr . '=(\'
|
760 |
}
|
761 |
|
762 |
preg_match_all( $pattern, $content, $matches );
|
@@ -792,12 +792,12 @@ class Media extends Root {
|
|
792 |
|
793 |
// parse srcset
|
794 |
// todo: should apply this to cdn too
|
795 |
-
if ( defined( 'LITESPEED_GUEST_OPTM' ) || $this->conf( Base::O_IMG_OPTM_WEBP_REPLACE_SRCSET ) ) {
|
796 |
$content = Utility::srcset_replace( $content, array( $this, 'replace_webp' ) );
|
797 |
}
|
798 |
|
799 |
// Replace background-image
|
800 |
-
if ( defined( 'LITESPEED_GUEST_OPTM' ) || $this->conf( Base::O_IMG_OPTM_WEBP_REPLACE ) ) {
|
801 |
$content = $this->replace_background_webp( $content );
|
802 |
}
|
803 |
|
550 |
if ( $parent_cls_exc ) {
|
551 |
Debug2::debug2( '[Media] Lazyload Class excludes', $parent_cls_exc );
|
552 |
foreach ( $parent_cls_exc as $v ) {
|
553 |
+
$content = preg_replace( '#<(\w+) [^>]*class=(\'|")[^\'"]*' . preg_quote( $v, '#' ) . '[^\'"]*\2[^>]*>.*</\1>#sU', '', $content );
|
554 |
}
|
555 |
}
|
556 |
|
625 |
|
626 |
$attrs[ 'width' ] = $ori_width;
|
627 |
$attrs[ 'height' ] = $ori_height;
|
628 |
+
$new_html = preg_replace( '#(width|height)=(["\'])[^\2]*\2#', '', $match[ 0 ] );
|
629 |
$new_html = str_replace( '<img ', '<img width="' . $attrs[ 'width' ] . '" height="' . $attrs[ 'height' ] . '" ', $new_html );
|
630 |
Debug2::debug( '[Media] Add missing sizes ' . $attrs[ 'width' ] . 'x' . $attrs[ 'height' ] . ' to ' . $attrs[ 'src' ] );
|
631 |
$this->content = str_replace( $match[ 0 ], $new_html, $this->content );
|
689 |
if ( $parent_cls_exc ) {
|
690 |
Debug2::debug2( '[Media] Iframe Lazyload Class excludes', $parent_cls_exc );
|
691 |
foreach ( $parent_cls_exc as $v ) {
|
692 |
+
$content = preg_replace( '#<(\w+) [^>]*class=(\'|")[^\'"]*' . preg_quote( $v, '#' ) . '[^\'"]*\2[^>]*>.*</\1>#sU', '', $content );
|
693 |
}
|
694 |
}
|
695 |
|
753 |
$v = explode( '.', $v );
|
754 |
$attr = preg_quote( $v[ 1 ], '#' );
|
755 |
if ( $v[ 0 ] ) {
|
756 |
+
$pattern = '#<' . preg_quote( $v[ 0 ], '#' ) . '([^>]+)' . $attr . '=([\'"])(.+)\2#iU';
|
757 |
}
|
758 |
else {
|
759 |
+
$pattern = '# ' . $attr . '=([\'"])(.+)\1#iU';
|
760 |
}
|
761 |
|
762 |
preg_match_all( $pattern, $content, $matches );
|
792 |
|
793 |
// parse srcset
|
794 |
// todo: should apply this to cdn too
|
795 |
+
if ( ( defined( 'LITESPEED_GUEST_OPTM' ) || $this->conf( Base::O_IMG_OPTM_WEBP_REPLACE_SRCSET ) ) && $this->webp_support() ) {
|
796 |
$content = Utility::srcset_replace( $content, array( $this, 'replace_webp' ) );
|
797 |
}
|
798 |
|
799 |
// Replace background-image
|
800 |
+
if ( ( defined( 'LITESPEED_GUEST_OPTM' ) || $this->conf( Base::O_IMG_OPTM_WEBP_REPLACE ) ) && $this->webp_support() ) {
|
801 |
$content = $this->replace_background_webp( $content );
|
802 |
}
|
803 |
|
src/object-cache.cls.php
CHANGED
@@ -105,23 +105,29 @@ class Object_Cache extends Root {
|
|
105 |
elseif ( defined( 'self::CONF_FILE' ) && file_exists( WP_CONTENT_DIR . '/' . self::CONF_FILE ) ) { // Get cfg from _data_file
|
106 |
// Use self::const to avoid loading more classes
|
107 |
$cfg = json_decode( file_get_contents( WP_CONTENT_DIR . '/' . self::CONF_FILE ), true );
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
$this->
|
|
|
|
|
|
|
123 |
}
|
124 |
-
|
|
|
|
|
|
|
125 |
}
|
126 |
else {
|
127 |
$this->_cfg_enabled = false;
|
105 |
elseif ( defined( 'self::CONF_FILE' ) && file_exists( WP_CONTENT_DIR . '/' . self::CONF_FILE ) ) { // Get cfg from _data_file
|
106 |
// Use self::const to avoid loading more classes
|
107 |
$cfg = json_decode( file_get_contents( WP_CONTENT_DIR . '/' . self::CONF_FILE ), true );
|
108 |
+
if ( ! empty( $cfg[ self::O_OBJECT_HOST ] ) ) {
|
109 |
+
$this->_cfg_method = ! empty( $cfg[ self::O_OBJECT_KIND ] ) ? $cfg[ self::O_OBJECT_KIND ] : false;
|
110 |
+
$this->_cfg_host = $cfg[ self::O_OBJECT_HOST ];
|
111 |
+
$this->_cfg_port = $cfg[ self::O_OBJECT_PORT ];
|
112 |
+
$this->_cfg_life = ! empty( $cfg[ self::O_OBJECT_LIFE ] ) ? $cfg[ self::O_OBJECT_LIFE ] : $this->_default_life;
|
113 |
+
$this->_cfg_persistent = ! empty( $cfg[ self::O_OBJECT_PERSISTENT ] ) ? $cfg[ self::O_OBJECT_PERSISTENT ] : false;
|
114 |
+
$this->_cfg_admin = ! empty( $cfg[ self::O_OBJECT_ADMIN ] ) ? $cfg[ self::O_OBJECT_ADMIN ] : false;
|
115 |
+
$this->_cfg_transients = ! empty( $cfg[ self::O_OBJECT_TRANSIENTS ] ) ? $cfg[ self::O_OBJECT_TRANSIENTS ] : false;
|
116 |
+
$this->_cfg_db = ! empty( $cfg[ self::O_OBJECT_DB_ID ] ) ? $cfg[ self::O_OBJECT_DB_ID ] : 0;
|
117 |
+
$this->_cfg_user = ! empty( $cfg[ self::O_OBJECT_USER ] ) ? $cfg[ self::O_OBJECT_USER ] : '';
|
118 |
+
$this->_cfg_pswd = ! empty( $cfg[ self::O_OBJECT_PSWD ] ) ? $cfg[ self::O_OBJECT_PSWD ] : '';
|
119 |
+
$this->_global_groups = ! empty( $cfg[ self::O_OBJECT_GLOBAL_GROUPS ] ) ? $cfg[ self::O_OBJECT_GLOBAL_GROUPS ] : array();
|
120 |
+
$this->_non_persistent_groups = ! empty( $cfg[ self::O_OBJECT_NON_PERSISTENT_GROUPS ] ) ? $cfg[ self::O_OBJECT_NON_PERSISTENT_GROUPS ] : array();
|
121 |
+
|
122 |
+
if ( $this->_cfg_method ) {
|
123 |
+
$this->_oc_driver = 'Redis';
|
124 |
+
}
|
125 |
+
$this->_cfg_enabled = class_exists( $this->_oc_driver ) && $this->_cfg_host;
|
126 |
}
|
127 |
+
else {
|
128 |
+
$this->_cfg_enabled = false;
|
129 |
+
}
|
130 |
+
|
131 |
}
|
132 |
else {
|
133 |
$this->_cfg_enabled = false;
|
src/optimize.cls.php
CHANGED
@@ -17,10 +17,7 @@ class Optimize extends Base {
|
|
17 |
|
18 |
private $content;
|
19 |
private $content_ori;
|
20 |
-
private $http2_headers = array();
|
21 |
|
22 |
-
private $cfg_http2_css;
|
23 |
-
private $cfg_http2_js;
|
24 |
private $cfg_css_min;
|
25 |
private $cfg_css_comb;
|
26 |
private $cfg_js_min;
|
@@ -245,8 +242,6 @@ class Optimize extends Base {
|
|
245 |
global $wp;
|
246 |
$this->_request_url = home_url( $wp->request );
|
247 |
|
248 |
-
$this->cfg_http2_css = defined( 'LITESPEED_GUEST_OPTM' ) || $this->conf( self::O_OPTM_CSS_HTTP2 );
|
249 |
-
$this->cfg_http2_js = ! defined( 'LITESPEED_GUEST_OPTM' ) && $this->conf( self::O_OPTM_JS_HTTP2 );
|
250 |
$this->cfg_css_min = defined( 'LITESPEED_GUEST_OPTM' ) || $this->conf( self::O_OPTM_CSS_MIN );
|
251 |
$this->cfg_css_comb = defined( 'LITESPEED_GUEST_OPTM' ) || $this->conf( self::O_OPTM_CSS_COMB );
|
252 |
$this->cfg_js_min = defined( 'LITESPEED_GUEST_OPTM' ) || $this->conf( self::O_OPTM_JS_MIN );
|
@@ -276,13 +271,13 @@ class Optimize extends Base {
|
|
276 |
|
277 |
// Parse css from content
|
278 |
$src_list = false;
|
279 |
-
if ( $this->cfg_css_min || $this->cfg_css_comb || $this->
|
280 |
add_filter( 'litespeed_optimize_css_excludes', array( $this->cls( 'Data' ), 'load_css_exc' ) );
|
281 |
list( $src_list, $html_list ) = $this->_parse_css();
|
282 |
}
|
283 |
|
284 |
// css optimizer
|
285 |
-
if ( $this->cfg_css_min || $this->cfg_css_comb
|
286 |
|
287 |
if ( $src_list ) {
|
288 |
// IF combine
|
@@ -313,9 +308,6 @@ class Optimize extends Base {
|
|
313 |
|
314 |
// Move all css to top
|
315 |
$this->content = str_replace( $html_list, '', $this->content );
|
316 |
-
|
317 |
-
// Add to HTTP2
|
318 |
-
$this->append_http2( $url );
|
319 |
}
|
320 |
}
|
321 |
}
|
@@ -330,7 +322,6 @@ class Optimize extends Base {
|
|
330 |
if ( ! empty( $src_info[ 'inl' ] ) ) {
|
331 |
continue;
|
332 |
}
|
333 |
-
$this->append_http2( $src_info[ 'src' ] );
|
334 |
}
|
335 |
}
|
336 |
}
|
@@ -348,7 +339,7 @@ class Optimize extends Base {
|
|
348 |
|
349 |
// Parse js from buffer as needed
|
350 |
$src_list = false;
|
351 |
-
if ( $this->cfg_js_min || $this->cfg_js_comb || $this->
|
352 |
add_filter( 'litespeed_optimize_js_excludes', array( $this->cls( 'Data' ), 'load_js_exc' ) );
|
353 |
list( $src_list, $html_list ) = $this->_parse_js();
|
354 |
}
|
@@ -361,9 +352,6 @@ class Optimize extends Base {
|
|
361 |
if ( $url ) {
|
362 |
$this->html_foot .= $this->_build_js_tag( $url );
|
363 |
|
364 |
-
// Add to HTTP2
|
365 |
-
$this->append_http2( $url, 'js' );
|
366 |
-
|
367 |
// Will move all JS to bottom combined one
|
368 |
$this->content = str_replace( $html_list, '', $this->content );
|
369 |
}
|
@@ -394,10 +382,6 @@ class Optimize extends Base {
|
|
394 |
$this->content = str_replace( $html_list[ $k ], $deferred, $this->content );
|
395 |
}
|
396 |
}
|
397 |
-
// HTTP2 push
|
398 |
-
if ( $this->cfg_http2_js ) {
|
399 |
-
$this->append_http2( $src_info[ 'src' ], 'js' );
|
400 |
-
}
|
401 |
}
|
402 |
}
|
403 |
}
|
@@ -419,7 +403,6 @@ class Optimize extends Base {
|
|
419 |
else {
|
420 |
$css_async_lib_url = LSWCP_PLUGIN_URL . self::LIB_FILE_CSS_ASYNC;
|
421 |
$this->html_head .= $this->_build_js_tag( $css_async_lib_url, 'litespeed-css-async-lib' ); // Don't exclude it from defer for now
|
422 |
-
$this->append_http2( $css_async_lib_url, 'js' ); // async lib will be http/2 pushed always
|
423 |
}
|
424 |
}
|
425 |
|
@@ -487,10 +470,6 @@ class Optimize extends Base {
|
|
487 |
if ( defined( 'LITESPEED_GUEST_OPTM' ) || $this->conf( self::O_OPTM_HTML_MIN ) ) {
|
488 |
$this->content = $this->__optimizer->html_min( $this->content );
|
489 |
}
|
490 |
-
|
491 |
-
if ( $this->http2_headers ) {
|
492 |
-
@header( 'Link: ' . implode( ',', $this->http2_headers ), false );
|
493 |
-
}
|
494 |
}
|
495 |
|
496 |
/**
|
@@ -599,7 +578,6 @@ class Optimize extends Base {
|
|
599 |
|
600 |
// default async, if js defer set use defer
|
601 |
$html .= $this->_build_js_tag( $webfont_lib_url );
|
602 |
-
$this->append_http2( $webfont_lib_url, 'js' ); // async lib will be http/2 pushed always
|
603 |
|
604 |
// Put this in the very beginning for preconnect
|
605 |
$this->html_head = $html . $this->html_head;
|
@@ -696,7 +674,7 @@ class Optimize extends Base {
|
|
696 |
private function _src_queue_handler( $src_list, $html_list, $file_type = 'css' ) {
|
697 |
$html_list_ori = $html_list;
|
698 |
|
699 |
-
$can_webp = defined( 'LITESPEED_GUEST_OPTM' ) || $this->conf( Base::O_IMG_OPTM_WEBP_REPLACE );
|
700 |
|
701 |
$tag = $file_type == 'css' ? 'link' : 'script';
|
702 |
foreach ( $src_list as $key => $src_info ) {
|
@@ -725,8 +703,6 @@ class Optimize extends Base {
|
|
725 |
$url = $this->_build_single_hash_url( $src_info[ 'src' ], $file_type );
|
726 |
if ( $url ) {
|
727 |
$snippet = str_replace( $src_info[ 'src' ], $url, $html_list[ $key ] );
|
728 |
-
// Add to HTTP2
|
729 |
-
$this->append_http2( $url, $file_type );
|
730 |
}
|
731 |
|
732 |
// Handle css async load
|
@@ -856,25 +832,15 @@ class Optimize extends Base {
|
|
856 |
}
|
857 |
}
|
858 |
|
859 |
-
if ( $is_internal ) {
|
860 |
-
$this->append_http2( $attrs[ 'src' ], 'js' );
|
861 |
-
}
|
862 |
-
|
863 |
Debug2::debug2( '[Optm] _parse_js bypassed due to ' . ( $js_excluded ? 'js files excluded [hit] ' . $js_excluded : 'external js' ) );
|
864 |
continue;
|
865 |
}
|
866 |
|
867 |
if ( strpos( $attrs[ 'src' ], '/localres/' ) !== false ) {
|
868 |
-
if ( $is_internal ) {
|
869 |
-
$this->append_http2( $attrs[ 'src' ], 'js' );
|
870 |
-
}
|
871 |
continue;
|
872 |
}
|
873 |
|
874 |
if ( strpos( $attrs[ 'src' ], 'instant_click' ) !== false ) {
|
875 |
-
if ( $is_internal ) {
|
876 |
-
$this->append_http2( $attrs[ 'src' ], 'js' );
|
877 |
-
}
|
878 |
continue;
|
879 |
}
|
880 |
|
@@ -1194,36 +1160,4 @@ class Optimize extends Base {
|
|
1194 |
return str_replace( '></script>', ' defer data-deferred="1"></script>', $ori );
|
1195 |
}
|
1196 |
|
1197 |
-
/**
|
1198 |
-
* Append to HTTP2 header
|
1199 |
-
*
|
1200 |
-
* @since 1.2.2
|
1201 |
-
* @access private
|
1202 |
-
*/
|
1203 |
-
private function append_http2( $url, $file_type = 'css' ) {
|
1204 |
-
if ( ! ( $file_type === 'css' ? $this->cfg_http2_css : $this->cfg_http2_js ) ) {
|
1205 |
-
return;
|
1206 |
-
}
|
1207 |
-
|
1208 |
-
/**
|
1209 |
-
* For CDN enabled ones, bypass http/2 push
|
1210 |
-
* @since 1.6.2.1
|
1211 |
-
*/
|
1212 |
-
if ( $this->cls( 'CDN' )->inc_type( $file_type ) ) {
|
1213 |
-
return;
|
1214 |
-
}
|
1215 |
-
|
1216 |
-
/**
|
1217 |
-
* Keep QS for constance by set 2nd param to true
|
1218 |
-
* @since 1.6.2.1
|
1219 |
-
*/
|
1220 |
-
$uri = Utility::url2uri( $url, true );
|
1221 |
-
|
1222 |
-
if ( ! $uri ) {
|
1223 |
-
return;
|
1224 |
-
}
|
1225 |
-
|
1226 |
-
$this->http2_headers[] = '<' . $uri . '>; rel=preload; as=' . ( $file_type === 'css' ? 'style' : 'script' );
|
1227 |
-
}
|
1228 |
-
|
1229 |
}
|
17 |
|
18 |
private $content;
|
19 |
private $content_ori;
|
|
|
20 |
|
|
|
|
|
21 |
private $cfg_css_min;
|
22 |
private $cfg_css_comb;
|
23 |
private $cfg_js_min;
|
242 |
global $wp;
|
243 |
$this->_request_url = home_url( $wp->request );
|
244 |
|
|
|
|
|
245 |
$this->cfg_css_min = defined( 'LITESPEED_GUEST_OPTM' ) || $this->conf( self::O_OPTM_CSS_MIN );
|
246 |
$this->cfg_css_comb = defined( 'LITESPEED_GUEST_OPTM' ) || $this->conf( self::O_OPTM_CSS_COMB );
|
247 |
$this->cfg_js_min = defined( 'LITESPEED_GUEST_OPTM' ) || $this->conf( self::O_OPTM_JS_MIN );
|
271 |
|
272 |
// Parse css from content
|
273 |
$src_list = false;
|
274 |
+
if ( $this->cfg_css_min || $this->cfg_css_comb || $this->cfg_ggfonts_rm || $this->cfg_css_async || $this->cfg_ggfonts_async || $this->_conf_css_font_display ) {
|
275 |
add_filter( 'litespeed_optimize_css_excludes', array( $this->cls( 'Data' ), 'load_css_exc' ) );
|
276 |
list( $src_list, $html_list ) = $this->_parse_css();
|
277 |
}
|
278 |
|
279 |
// css optimizer
|
280 |
+
if ( $this->cfg_css_min || $this->cfg_css_comb ) {
|
281 |
|
282 |
if ( $src_list ) {
|
283 |
// IF combine
|
308 |
|
309 |
// Move all css to top
|
310 |
$this->content = str_replace( $html_list, '', $this->content );
|
|
|
|
|
|
|
311 |
}
|
312 |
}
|
313 |
}
|
322 |
if ( ! empty( $src_info[ 'inl' ] ) ) {
|
323 |
continue;
|
324 |
}
|
|
|
325 |
}
|
326 |
}
|
327 |
}
|
339 |
|
340 |
// Parse js from buffer as needed
|
341 |
$src_list = false;
|
342 |
+
if ( $this->cfg_js_min || $this->cfg_js_comb || $this->cfg_js_defer ) {
|
343 |
add_filter( 'litespeed_optimize_js_excludes', array( $this->cls( 'Data' ), 'load_js_exc' ) );
|
344 |
list( $src_list, $html_list ) = $this->_parse_js();
|
345 |
}
|
352 |
if ( $url ) {
|
353 |
$this->html_foot .= $this->_build_js_tag( $url );
|
354 |
|
|
|
|
|
|
|
355 |
// Will move all JS to bottom combined one
|
356 |
$this->content = str_replace( $html_list, '', $this->content );
|
357 |
}
|
382 |
$this->content = str_replace( $html_list[ $k ], $deferred, $this->content );
|
383 |
}
|
384 |
}
|
|
|
|
|
|
|
|
|
385 |
}
|
386 |
}
|
387 |
}
|
403 |
else {
|
404 |
$css_async_lib_url = LSWCP_PLUGIN_URL . self::LIB_FILE_CSS_ASYNC;
|
405 |
$this->html_head .= $this->_build_js_tag( $css_async_lib_url, 'litespeed-css-async-lib' ); // Don't exclude it from defer for now
|
|
|
406 |
}
|
407 |
}
|
408 |
|
470 |
if ( defined( 'LITESPEED_GUEST_OPTM' ) || $this->conf( self::O_OPTM_HTML_MIN ) ) {
|
471 |
$this->content = $this->__optimizer->html_min( $this->content );
|
472 |
}
|
|
|
|
|
|
|
|
|
473 |
}
|
474 |
|
475 |
/**
|
578 |
|
579 |
// default async, if js defer set use defer
|
580 |
$html .= $this->_build_js_tag( $webfont_lib_url );
|
|
|
581 |
|
582 |
// Put this in the very beginning for preconnect
|
583 |
$this->html_head = $html . $this->html_head;
|
674 |
private function _src_queue_handler( $src_list, $html_list, $file_type = 'css' ) {
|
675 |
$html_list_ori = $html_list;
|
676 |
|
677 |
+
$can_webp = ( defined( 'LITESPEED_GUEST_OPTM' ) || $this->conf( Base::O_IMG_OPTM_WEBP_REPLACE ) ) && $this->cls( 'Media' )->webp_support();
|
678 |
|
679 |
$tag = $file_type == 'css' ? 'link' : 'script';
|
680 |
foreach ( $src_list as $key => $src_info ) {
|
703 |
$url = $this->_build_single_hash_url( $src_info[ 'src' ], $file_type );
|
704 |
if ( $url ) {
|
705 |
$snippet = str_replace( $src_info[ 'src' ], $url, $html_list[ $key ] );
|
|
|
|
|
706 |
}
|
707 |
|
708 |
// Handle css async load
|
832 |
}
|
833 |
}
|
834 |
|
|
|
|
|
|
|
|
|
835 |
Debug2::debug2( '[Optm] _parse_js bypassed due to ' . ( $js_excluded ? 'js files excluded [hit] ' . $js_excluded : 'external js' ) );
|
836 |
continue;
|
837 |
}
|
838 |
|
839 |
if ( strpos( $attrs[ 'src' ], '/localres/' ) !== false ) {
|
|
|
|
|
|
|
840 |
continue;
|
841 |
}
|
842 |
|
843 |
if ( strpos( $attrs[ 'src' ], 'instant_click' ) !== false ) {
|
|
|
|
|
|
|
844 |
continue;
|
845 |
}
|
846 |
|
1160 |
return str_replace( '></script>', ' defer data-deferred="1"></script>', $ori );
|
1161 |
}
|
1162 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1163 |
}
|
src/optimizer.cls.php
CHANGED
@@ -152,7 +152,7 @@ class Optimizer extends Root {
|
|
152 |
|
153 |
$content = $this->cls( 'CDN' )->finalize( $content );
|
154 |
|
155 |
-
if ( defined( 'LITESPEED_GUEST_OPTM' ) || $this->conf( Base::O_IMG_OPTM_WEBP_REPLACE ) ) {
|
156 |
$content = $this->cls( 'Media' )->replace_background_webp( $content );
|
157 |
}
|
158 |
|
152 |
|
153 |
$content = $this->cls( 'CDN' )->finalize( $content );
|
154 |
|
155 |
+
if ( ( defined( 'LITESPEED_GUEST_OPTM' ) || $this->conf( Base::O_IMG_OPTM_WEBP_REPLACE ) ) && $this->cls( 'Media' )->webp_support() ) {
|
156 |
$content = $this->cls( 'Media' )->replace_background_webp( $content );
|
157 |
}
|
158 |
|
src/purge.cls.php
CHANGED
@@ -418,13 +418,17 @@ class Purge extends Base {
|
|
418 |
|
419 |
// Send purge header immediately
|
420 |
$curr_built = $this->_build( $purge2 );
|
421 |
-
|
422 |
-
if ( defined( 'LITESPEED_DID_send_headers' ) || defined( 'LITESPEED_CLI' ) ) {
|
423 |
// Can't send, already has output, need to save and wait for next run
|
424 |
self::update_option( $purge2 ? self::DB_QUEUE2 : self::DB_QUEUE, $curr_built );
|
425 |
-
Debug2::debug( '[Purge]
|
426 |
}
|
427 |
else {
|
|
|
|
|
|
|
|
|
|
|
428 |
Debug2::debug( $curr_built );
|
429 |
}
|
430 |
|
418 |
|
419 |
// Send purge header immediately
|
420 |
$curr_built = $this->_build( $purge2 );
|
421 |
+
if ( defined( 'LITESPEED_CLI' ) ) {
|
|
|
422 |
// Can't send, already has output, need to save and wait for next run
|
423 |
self::update_option( $purge2 ? self::DB_QUEUE2 : self::DB_QUEUE, $curr_built );
|
424 |
+
Debug2::debug( '[Purge] CLI request, queue stored: ' . $curr_built );
|
425 |
}
|
426 |
else {
|
427 |
+
@header( $curr_built );
|
428 |
+
if ( defined( 'LITESPEED_DID_send_headers' ) && apply_filters( 'litespeed_delay_purge', false ) ) {
|
429 |
+
self::update_option( $purge2 ? self::DB_QUEUE2 : self::DB_QUEUE, $curr_built );
|
430 |
+
Debug2::debug( '[Purge] Output existed, queue stored: ' . $curr_built );
|
431 |
+
}
|
432 |
Debug2::debug( $curr_built );
|
433 |
}
|
434 |
|
src/router.cls.php
CHANGED
@@ -14,7 +14,6 @@ class Router extends Base {
|
|
14 |
const NONCE = 'LSCWP_NONCE';
|
15 |
const ACTION = 'LSCWP_CTRL';
|
16 |
|
17 |
-
const ACTION_SAVE_HTACCESS = 'save-htaccess';
|
18 |
const ACTION_SAVE_SETTINGS_NETWORK = 'save-settings-network';
|
19 |
const ACTION_DB_OPTM = 'db_optm';
|
20 |
const ACTION_PLACEHOLDER = 'placeholder';
|
@@ -499,6 +498,11 @@ class Router extends Base {
|
|
499 |
return;
|
500 |
}
|
501 |
|
|
|
|
|
|
|
|
|
|
|
502 |
$_is_public_action = true;
|
503 |
}
|
504 |
|
@@ -512,13 +516,6 @@ class Router extends Base {
|
|
512 |
$_can_option = current_user_can( 'manage_options' );
|
513 |
|
514 |
switch ( $action ) {
|
515 |
-
// Save htaccess
|
516 |
-
case self::ACTION_SAVE_HTACCESS:
|
517 |
-
if ( ( ! $_is_multisite && $_can_option ) || $_can_network_option ) {
|
518 |
-
self::$_action = $action;
|
519 |
-
}
|
520 |
-
return;
|
521 |
-
|
522 |
// Save network settings
|
523 |
case self::ACTION_SAVE_SETTINGS_NETWORK:
|
524 |
if ( $_can_network_option ) {
|
14 |
const NONCE = 'LSCWP_NONCE';
|
15 |
const ACTION = 'LSCWP_CTRL';
|
16 |
|
|
|
17 |
const ACTION_SAVE_SETTINGS_NETWORK = 'save-settings-network';
|
18 |
const ACTION_DB_OPTM = 'db_optm';
|
19 |
const ACTION_PLACEHOLDER = 'placeholder';
|
498 |
return;
|
499 |
}
|
500 |
|
501 |
+
if ( apply_filters( 'litespeed_qs_forbidden', false ) ) {
|
502 |
+
Debug2::debug( '[Router] LSCWP_CTRL forbidden by hook litespeed_qs_forbidden' );
|
503 |
+
return;
|
504 |
+
}
|
505 |
+
|
506 |
$_is_public_action = true;
|
507 |
}
|
508 |
|
516 |
$_can_option = current_user_can( 'manage_options' );
|
517 |
|
518 |
switch ( $action ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
519 |
// Save network settings
|
520 |
case self::ACTION_SAVE_SETTINGS_NETWORK:
|
521 |
if ( $_can_network_option ) {
|
src/utility.cls.php
CHANGED
@@ -304,7 +304,7 @@ class Utility extends Root {
|
|
304 |
*/
|
305 |
public static function parse_attr( $str ) {
|
306 |
$attrs = array();
|
307 |
-
preg_match_all( '#([\w-]+)=(\'
|
308 |
foreach ( $matches as $match ) {
|
309 |
$attrs[ $match[ 1 ] ] = trim( $match[ 3 ] );
|
310 |
}
|
304 |
*/
|
305 |
public static function parse_attr( $str ) {
|
306 |
$attrs = array();
|
307 |
+
preg_match_all( '#([\w-]+)=(["\'])([^\2]*)\2#isU', $str, $matches, PREG_SET_ORDER );
|
308 |
foreach ( $matches as $match ) {
|
309 |
$attrs[ $match[ 1 ] ] = trim( $match[ 3 ] );
|
310 |
}
|
tpl/general/settings.tpl.php
CHANGED
@@ -148,7 +148,25 @@ if ( ! $can_token ) {
|
|
148 |
<?php $this->build_switch( $id ); ?>
|
149 |
<div class="litespeed-desc">
|
150 |
<?php echo __( 'This option enables maximum optimization for Guest Mode visitors.', 'litespeed-cache' ); ?>
|
151 |
-
<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/general/#guest-optimization' ); ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
152 |
<?php if ( ! $this->conf( Base::O_GUEST ) ) : ?>
|
153 |
<br /><font class="litespeed-warning litespeed-left10">
|
154 |
⚠️ <?php echo __( 'Notice', 'litespeed-cache' ); ?>: <?php echo sprintf( __( 'This option only works when turning %s on.', 'litespeed-cache' ), '<code>' . Lang::title( Base::O_GUEST ) . '</code>' ); ?>
|
148 |
<?php $this->build_switch( $id ); ?>
|
149 |
<div class="litespeed-desc">
|
150 |
<?php echo __( 'This option enables maximum optimization for Guest Mode visitors.', 'litespeed-cache' ); ?>
|
151 |
+
<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/general/#guest-optimization', __( 'Please read all warnings before enabling this option.', 'litespeed-cache' ), false, 'litespeed-warning' ); ?>
|
152 |
+
|
153 |
+
<?php
|
154 |
+
$typeList = array();
|
155 |
+
if ( $this->conf( Base::O_GUEST ) && ! $this->conf( Base::O_OPTM_UCSS ) ) {
|
156 |
+
$typeList[] = 'UCSS';
|
157 |
+
}
|
158 |
+
if ( $this->conf( Base::O_GUEST ) && ! $this->conf( Base::O_OPTM_CSS_ASYNC ) ) {
|
159 |
+
$typeList[] = 'CCSS';
|
160 |
+
}
|
161 |
+
if ( ! empty( $typeList ) ) {
|
162 |
+
$theType = implode( '/', $typeList );
|
163 |
+
echo '<br />';
|
164 |
+
echo '<font class="litespeed-info">';
|
165 |
+
echo '⚠️ ' . sprintf( __( 'Your %1s quota on %2s will still be in use.', 'litespeed-cache' ), $theType, 'QUIC.cloud' );
|
166 |
+
echo '</font>';
|
167 |
+
}
|
168 |
+
?>
|
169 |
+
|
170 |
<?php if ( ! $this->conf( Base::O_GUEST ) ) : ?>
|
171 |
<br /><font class="litespeed-warning litespeed-left10">
|
172 |
⚠️ <?php echo __( 'Notice', 'litespeed-cache' ); ?>: <?php echo sprintf( __( 'This option only works when turning %s on.', 'litespeed-cache' ), '<code>' . Lang::title( Base::O_GUEST ) . '</code>' ); ?>
|
tpl/general/settings_inc.guest.tpl.php
CHANGED
@@ -15,22 +15,6 @@ defined( 'WPINC' ) || exit;
|
|
15 |
<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/general/#guest-mode' ); ?>
|
16 |
<br /><?php Doc::notice_htaccess(); ?>
|
17 |
<br /><?php Doc::crawler_affected(); ?>
|
18 |
-
<?php
|
19 |
-
$typeList = array();
|
20 |
-
if ( $this->conf( Base::O_GUEST ) && ! $this->conf( Base::O_OPTM_UCSS ) ) {
|
21 |
-
$typeList[] = 'UCSS';
|
22 |
-
}
|
23 |
-
if ( $this->conf( Base::O_GUEST ) && ! $this->conf( Base::O_OPTM_CSS_ASYNC ) ) {
|
24 |
-
$typeList[] = 'CCSS';
|
25 |
-
}
|
26 |
-
if ( ! empty( $typeList ) ) {
|
27 |
-
$theType = implode( '/', $typeList );
|
28 |
-
echo '<br />';
|
29 |
-
echo '<font class="litespeed-info">';
|
30 |
-
echo '⚠️ ' . sprintf( __( 'Your %1s quota on %2s will still be in use.', 'litespeed-cache' ), $theType, 'QUIC.cloud' );
|
31 |
-
echo '</font>';
|
32 |
-
}
|
33 |
-
?>
|
34 |
</div>
|
35 |
</td>
|
36 |
</tr>
|
15 |
<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/general/#guest-mode' ); ?>
|
16 |
<br /><?php Doc::notice_htaccess(); ?>
|
17 |
<br /><?php Doc::crawler_affected(); ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
18 |
</div>
|
19 |
</td>
|
20 |
</tr>
|
tpl/page_optm/settings_css.tpl.php
CHANGED
@@ -151,19 +151,6 @@ $ucss_queue = $this->load_queue( 'ucss' );
|
|
151 |
</td>
|
152 |
</tr>
|
153 |
|
154 |
-
<tr>
|
155 |
-
<th>
|
156 |
-
<?php $id = Base::O_OPTM_CSS_HTTP2; ?>
|
157 |
-
<?php $this->title( $id ); ?>
|
158 |
-
</th>
|
159 |
-
<td>
|
160 |
-
<?php $this->build_switch( $id ); ?>
|
161 |
-
<div class="litespeed-desc">
|
162 |
-
<?php echo __( 'Pre-send internal CSS files to the browser before they are requested. (Requires the HTTP/2 protocol)', 'litespeed-cache' ); ?>
|
163 |
-
</div>
|
164 |
-
</td>
|
165 |
-
</tr>
|
166 |
-
|
167 |
<tr>
|
168 |
<th>
|
169 |
<?php $id = Base::O_OPTM_CSS_ASYNC; ?>
|
151 |
</td>
|
152 |
</tr>
|
153 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
154 |
<tr>
|
155 |
<th>
|
156 |
<?php $id = Base::O_OPTM_CSS_ASYNC; ?>
|
tpl/page_optm/settings_js.tpl.php
CHANGED
@@ -54,19 +54,6 @@ defined( 'WPINC' ) || exit;
|
|
54 |
</td>
|
55 |
</tr>
|
56 |
|
57 |
-
<tr>
|
58 |
-
<th>
|
59 |
-
<?php $id = Base::O_OPTM_JS_HTTP2; ?>
|
60 |
-
<?php $this->title( $id ); ?>
|
61 |
-
</th>
|
62 |
-
<td>
|
63 |
-
<?php $this->build_switch( $id ); ?>
|
64 |
-
<div class="litespeed-desc">
|
65 |
-
<?php echo __( 'Pre-send internal JS files to the browser before they are requested. (Requires the HTTP/2 protocol)', 'litespeed-cache' ); ?>
|
66 |
-
</div>
|
67 |
-
</td>
|
68 |
-
</tr>
|
69 |
-
|
70 |
<tr>
|
71 |
<th>
|
72 |
<?php $id = Base::O_OPTM_JS_DEFER; ?>
|
54 |
</td>
|
55 |
</tr>
|
56 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
57 |
<tr>
|
58 |
<th>
|
59 |
<?php $id = Base::O_OPTM_JS_DEFER; ?>
|
tpl/toolbox/beta_test.tpl.php
CHANGED
@@ -4,6 +4,7 @@ defined( 'WPINC' ) || exit;
|
|
4 |
|
5 |
// Existing public version list
|
6 |
$v_list = array(
|
|
|
7 |
'4.4.2',
|
8 |
'4.4.1',
|
9 |
'4.3',
|
4 |
|
5 |
// Existing public version list
|
6 |
$v_list = array(
|
7 |
+
'4.4.3',
|
8 |
'4.4.2',
|
9 |
'4.4.1',
|
10 |
'4.3',
|
tpl/toolbox/edit_htaccess.tpl.php
CHANGED
@@ -2,8 +2,6 @@
|
|
2 |
namespace LiteSpeed;
|
3 |
defined( 'WPINC' ) || exit;
|
4 |
|
5 |
-
$readonly = Htaccess::cls()->writable() ? '' : 'readonly';
|
6 |
-
|
7 |
$content = null;
|
8 |
try {
|
9 |
$content = Htaccess::cls()->htaccess_read();
|
@@ -35,75 +33,56 @@ if ( defined( 'LITESPEED_ON' ) ) {
|
|
35 |
?>
|
36 |
|
37 |
<h3 class="litespeed-title">
|
38 |
-
<?php echo __('LiteSpeed Cache
|
39 |
<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/toolbox/#edit-htaccess-tab' ); ?>
|
40 |
</h3>
|
41 |
|
42 |
-
<div class="litespeed-callout notice notice-error inline">
|
43 |
-
<h4>🚨 <?php echo __('This page is meant for advanced users.', 'litespeed-cache'); ?></h4>
|
44 |
-
<p>
|
45 |
-
<?php echo __('Any changes made to the .htaccess file may break the site.', 'litespeed-cache'); ?>
|
46 |
-
<?php echo __('Please consult the host/server admin before making any changes.', 'litespeed-cache'); ?>
|
47 |
-
</p>
|
48 |
-
</div>
|
49 |
-
|
50 |
-
<?php $this->form_action( $this->_is_network_admin ? Router::ACTION_SAVE_SETTINGS_NETWORK : false ); ?>
|
51 |
-
|
52 |
<h3 class="litespeed-title-short">
|
53 |
-
<?php echo __( '.htaccess Path
|
54 |
</h3>
|
55 |
|
56 |
<table class="wp-list-table striped litespeed-table"><tbody>
|
57 |
<tr>
|
58 |
<th>
|
59 |
-
<?php
|
60 |
-
<?php $this->title( $id ); ?>
|
61 |
</th>
|
62 |
<td>
|
63 |
-
|
64 |
<div class="litespeed-desc">
|
65 |
-
<?php echo __( '
|
66 |
-
|
67 |
-
|
|
|
|
|
|
|
68 |
</div>
|
69 |
</td>
|
70 |
</tr>
|
71 |
|
72 |
<tr>
|
73 |
<th>
|
74 |
-
<?php
|
75 |
-
<?php $this->title( $id ); ?>
|
76 |
</th>
|
77 |
<td>
|
78 |
-
<?php
|
79 |
<div class="litespeed-desc">
|
80 |
-
<?php echo __( '
|
81 |
-
|
82 |
-
|
|
|
|
|
|
|
83 |
</div>
|
84 |
</td>
|
85 |
</tr>
|
86 |
</tbody></table>
|
87 |
|
88 |
-
<?php
|
89 |
-
|
90 |
-
<?php if ( defined( 'DISALLOW_FILE_EDIT' ) && DISALLOW_FILE_EDIT ) : ?>
|
91 |
-
<div class="litespeed-h3"><?php echo __('File editing is disabled in configuration.', 'litespeed-cache'); ?></div>
|
92 |
-
|
93 |
-
<?php elseif( $content !== null ) : ?>
|
94 |
-
|
95 |
-
<?php $this->form_action( Router::ACTION_SAVE_HTACCESS ); ?>
|
96 |
|
97 |
<h3 class="litespeed-title"><?php echo sprintf(__('Current %s Contents', 'litespeed-cache'), '.htaccess'); ?></h3>
|
98 |
|
99 |
-
<p><span class="attention"><?php echo sprintf(__('DO NOT EDIT ANYTHING WITHIN %s', 'litespeed-cache'), '<code>' . Htaccess::LS_MODULE_DONOTEDIT . '</code>' ); ?></span></p>
|
100 |
-
|
101 |
<h4><?php echo $htaccess_path; ?></h4>
|
102 |
|
103 |
-
<textarea
|
104 |
-
<?php echo $readonly; ?>
|
105 |
-
><?php echo esc_textarea($content); ?></textarea>
|
106 |
-
<p><button type="submit" class="button button-primary"><?php echo __('Save .htaccess', 'litespeed-cache'); ?></button></p>
|
107 |
-
</form>
|
108 |
|
109 |
<?php endif; ?>
|
2 |
namespace LiteSpeed;
|
3 |
defined( 'WPINC' ) || exit;
|
4 |
|
|
|
|
|
5 |
$content = null;
|
6 |
try {
|
7 |
$content = Htaccess::cls()->htaccess_read();
|
33 |
?>
|
34 |
|
35 |
<h3 class="litespeed-title">
|
36 |
+
<?php echo __('LiteSpeed Cache View .htaccess', 'litespeed-cache'); ?>
|
37 |
<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/toolbox/#edit-htaccess-tab' ); ?>
|
38 |
</h3>
|
39 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
40 |
<h3 class="litespeed-title-short">
|
41 |
+
<?php echo __( '.htaccess Path', 'litespeed-cache' ); ?>
|
42 |
</h3>
|
43 |
|
44 |
<table class="wp-list-table striped litespeed-table"><tbody>
|
45 |
<tr>
|
46 |
<th>
|
47 |
+
<?php echo __( 'Frontend .htaccess Path', 'litespeed-cache' ); ?>
|
|
|
48 |
</th>
|
49 |
<td>
|
50 |
+
<code><?php echo $htaccess_path; ?></code>
|
51 |
<div class="litespeed-desc">
|
52 |
+
<?php echo __( 'Default path is', 'litespeed-cache' ); ?>: <code><?php echo Htaccess::get_frontend_htaccess( true ); ?></code>
|
53 |
+
<br /><font class="litespeed-success">
|
54 |
+
<?php echo __( 'API', 'litespeed-cache' ); ?>:
|
55 |
+
<?php echo sprintf( __( 'PHP Constant %s is supported.', 'litespeed-cache' ), '<code>LITESPEED_CFG_HTACCESS</code>' ); ?>
|
56 |
+
<?php echo sprintf( __( 'You can use this code %1$s in %2$s to specify the htaccess file path.', 'litespeed-cache' ), '<code>defined("LITESPEED_CFG_HTACCESS") || define("LITESPEED_CFG_HTACCESS", "your path on server");</code>', '<code>wp-config.php</code>' ); ?>
|
57 |
+
</font>
|
58 |
</div>
|
59 |
</td>
|
60 |
</tr>
|
61 |
|
62 |
<tr>
|
63 |
<th>
|
64 |
+
<?php echo __( 'Backend .htaccess Path', 'litespeed-cache' ); ?>
|
|
|
65 |
</th>
|
66 |
<td>
|
67 |
+
<?php echo Htaccess::get_backend_htaccess(); ?>
|
68 |
<div class="litespeed-desc">
|
69 |
+
<?php echo __( 'Default path is', 'litespeed-cache' ); ?>: <code><?php echo Htaccess::get_backend_htaccess( true ); ?></code>
|
70 |
+
<br /><font class="litespeed-success">
|
71 |
+
<?php echo __( 'API', 'litespeed-cache' ); ?>:
|
72 |
+
<?php echo sprintf( __( 'PHP Constant %s is supported.', 'litespeed-cache' ), '<code>LITESPEED_CFG_HTACCESS_BACKEND</code>' ); ?>
|
73 |
+
<?php echo sprintf( __( 'You can use this code %1$s in %2$s to specify the htaccess file path.', 'litespeed-cache' ), '<code>defined("LITESPEED_CFG_HTACCESS_BACKEND") || define("LITESPEED_CFG_HTACCESS_BACKEND", "your path on server");</code>', '<code>wp-config.php</code>' ); ?>
|
74 |
+
</font>
|
75 |
</div>
|
76 |
</td>
|
77 |
</tr>
|
78 |
</tbody></table>
|
79 |
|
80 |
+
<?php if( $content !== null ) : ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
81 |
|
82 |
<h3 class="litespeed-title"><?php echo sprintf(__('Current %s Contents', 'litespeed-cache'), '.htaccess'); ?></h3>
|
83 |
|
|
|
|
|
84 |
<h4><?php echo $htaccess_path; ?></h4>
|
85 |
|
86 |
+
<textarea readonly wrap="off" rows="50" class="large-text"><?php echo esc_textarea($content); ?></textarea>
|
|
|
|
|
|
|
|
|
87 |
|
88 |
<?php endif; ?>
|
tpl/toolbox/entry.tpl.php
CHANGED
@@ -11,7 +11,7 @@ if ( ! $this->_is_network_admin ) {
|
|
11 |
}
|
12 |
|
13 |
if ( ! $this->_is_multisite || $this->_is_network_admin ) {
|
14 |
-
$menu_list[ 'edit_htaccess' ] = __( '
|
15 |
}
|
16 |
|
17 |
if ( ! $this->_is_network_admin ) {
|
11 |
}
|
12 |
|
13 |
if ( ! $this->_is_multisite || $this->_is_network_admin ) {
|
14 |
+
$menu_list[ 'edit_htaccess' ] = __( 'View .htaccess', 'litespeed-cache' );
|
15 |
}
|
16 |
|
17 |
if ( ! $this->_is_network_admin ) {
|