Version Description
- Oct 31 2022 =
-
Presets New
Presets
feature and menu item. -
UCSS New option
UCSS File Excludes and Inline
to increase page score. (Ankit) - UCSS When UCSS is purged, automatically append URL to UCSS generation queue. (Ankit)
-
Page Optimize Removed a redundant
defer
attribute from Lazy Load image library usage. (#928019) -
Image Optimize Dropped
Create WebP Versions
setting. Will automatically enable whenImage WebP Replacement
is activated. - Cloud Fixed a bug where internal updates were delayed for API keys.
- Cloud Improved auto alias feature by waiting for second request from alias domain validation before removing a pending alias.
- Purge Automatically Purge All when plugin auto update is done.
- Purge Fixed a potential PHP8 error that occurred when removing unused widgets. (acsnaterse)
- Cache Fixed an infinite 301 redirection caused by UTM-encoded link.
- CLI Added syntax examples for values that include line breaks (xLukii)
- CLI Purge requests will now be included with the original request to avoid potential CSS/JS 404 issues.
- ESI Check all user roles for cache vary and page optimization excludes.
- GUI Added a LiteSpeed icon to admin message banners to indicate the banners are from our plugin. (Michael D)
- Crawler Fixed a cache-miss issue that occurred when Guest Mode was ON and WebP Replacement was OFF.
- 3rd Remove WooCommerce private cache.
- 3rd Removed LiteSpeed metabox from ACF field group edit page. (keepmovingdk)
Download this release
Release Info
Developer | LiteSpeedTech |
Plugin | LiteSpeed Cache |
Version | 5.3 |
Comparing to | |
See all releases |
Code changes from version 5.2.1 to 5.3
- assets/css/litespeed.css +173 -1
- cli/option.cls.php +4 -0
- data/const.default.ini +5 -4
- data/const.network_default.ini +1 -1
- data/preset/advanced.data +115 -0
- data/preset/aggressive.data +115 -0
- data/preset/basic.data +115 -0
- data/preset/essentials.data +115 -0
- data/preset/extreme.data +115 -0
- lang/litespeed-cache.pot +622 -417
- litespeed-cache.php +2 -2
- readme.txt +21 -2
- src/admin-display.cls.php +13 -1
- src/admin.cls.php +0 -18
- src/base.cls.php +5 -5
- src/cdn-setup.cls.php +8 -7
- src/cloud.cls.php +26 -18
- src/conf.cls.php +5 -2
- src/control.cls.php +20 -5
- src/core.cls.php +93 -41
- src/crawler.cls.php +2 -1
- src/data.upgrade.func.php +3 -3
- src/debug2.cls.php +1 -1
- src/htaccess.cls.php +1 -1
- src/lang.cls.php +3 -3
- src/media.cls.php +4 -4
- src/metabox.cls.php +8 -1
- src/optimize.cls.php +12 -1
- src/optimizer.cls.php +1 -1
- src/preset.cls.php +264 -0
- src/purge.cls.php +17 -10
- src/router.cls.php +4 -1
- src/ucss.cls.php +2 -3
- src/vary.cls.php +9 -3
- src/vpi.cls.php +4 -2
- thirdparty/woocommerce.cls.php +3 -72
- thirdparty/woocommerce.content.tpl.php +0 -39
- tpl/cdn/auto_setup.tpl.php +2 -2
- tpl/general/entry.tpl.php +0 -2
- tpl/general/network_settings.tpl.php +1 -0
- tpl/general/settings.tpl.php +3 -6
- tpl/general/settings_tuning.tpl.php +3 -0
- tpl/img_optm/settings.media_webp.tpl.php +2 -1
- tpl/img_optm/settings.tpl.php +0 -13
- tpl/page_optm/entry.tpl.php +1 -0
- tpl/page_optm/settings_tuning.tpl.php +0 -109
- tpl/page_optm/settings_tuning_css.tpl.php +136 -0
- tpl/presets/entry.tpl.php +51 -0
- tpl/presets/standard.tpl.php +194 -0
- tpl/toolbox/beta_test.tpl.php +1 -0
assets/css/litespeed.css
CHANGED
@@ -117,6 +117,23 @@ input[type="checkbox"].litespeed-tiny-toggle:checked:after {
|
|
117 |
UTILITIES - structure
|
118 |
======================================= */
|
119 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
120 |
.litespeed-quic-icon {
|
121 |
background-image: url('../img/quic-cloud-icon-16x16.svg');
|
122 |
background-repeat: no-repeat;
|
@@ -3349,6 +3366,161 @@ a.litespeed-media-href svg:hover {
|
|
3349 |
}
|
3350 |
|
3351 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3352 |
/* =======================================
|
3353 |
BALLOON PURE CSS TOOLTIPS
|
3354 |
======================================= */
|
@@ -3670,4 +3842,4 @@ button[aria-label][data-balloon-pos] {
|
|
3670 |
[aria-label][data-balloon-pos][data-balloon-length="fit"]:after {
|
3671 |
white-space: normal;
|
3672 |
width: 100%;
|
3673 |
-
}
|
117 |
UTILITIES - structure
|
118 |
======================================= */
|
119 |
|
120 |
+
.litespeed_icon:before {
|
121 |
+
content: '';
|
122 |
+
background-image:url('../img/Litespeed.icon.svg');
|
123 |
+
background-repeat: no-repeat;
|
124 |
+
width: 32px;
|
125 |
+
height: 32px;
|
126 |
+
vertical-align: middle;
|
127 |
+
display: inline-block;
|
128 |
+
position: absolute;
|
129 |
+
left:5px;
|
130 |
+
top:5px;
|
131 |
+
}
|
132 |
+
|
133 |
+
.litespeed_icon {
|
134 |
+
padding-left: 40px;
|
135 |
+
}
|
136 |
+
|
137 |
.litespeed-quic-icon {
|
138 |
background-image: url('../img/quic-cloud-icon-16x16.svg');
|
139 |
background-repeat: no-repeat;
|
3366 |
}
|
3367 |
|
3368 |
|
3369 |
+
/* =======================================
|
3370 |
+
Comparison Cards - Presets
|
3371 |
+
======================================= */
|
3372 |
+
|
3373 |
+
.litespeed-comparison-card {
|
3374 |
+
box-sizing: border-box;
|
3375 |
+
}
|
3376 |
+
|
3377 |
+
.litespeed-comparison-card-rec .litespeed-card-content>div.litespeed-card-body {
|
3378 |
+
font-size: 14px;
|
3379 |
+
}
|
3380 |
+
|
3381 |
+
.litespeed-comparison-card-rec .litespeed-card-action {
|
3382 |
+
margin-bottom: 0.25rem;
|
3383 |
+
}
|
3384 |
+
|
3385 |
+
.litespeed-comparison-card-rec h3 {
|
3386 |
+
font-size: 20px;
|
3387 |
+
}
|
3388 |
+
|
3389 |
+
.litespeed-card-content>div,
|
3390 |
+
.litespeed-card-action {
|
3391 |
+
padding: 0.85rem 1.25rem;
|
3392 |
+
}
|
3393 |
+
|
3394 |
+
.litespeed-card-header {
|
3395 |
+
border-bottom: 1px solid #eee;
|
3396 |
+
background: #f9fafc;
|
3397 |
+
}
|
3398 |
+
|
3399 |
+
.litespeed-card-content>div.litespeed-card-body {
|
3400 |
+
align-self: stretch;
|
3401 |
+
justify-content: flex-end;
|
3402 |
+
font-size: 15px;
|
3403 |
+
padding-bottom: 0.5rem;
|
3404 |
+
padding-top: 1rem;
|
3405 |
+
}
|
3406 |
+
|
3407 |
+
.litespeed-card-content>div.litespeed-card-footer {
|
3408 |
+
align-self: stretch;
|
3409 |
+
justify-content: flex-end;
|
3410 |
+
padding-bottom: 0;
|
3411 |
+
padding-top: 0.25rem;
|
3412 |
+
|
3413 |
+
}
|
3414 |
+
|
3415 |
+
.litespeed-card-action {
|
3416 |
+
justify-content: flex-end;
|
3417 |
+
}
|
3418 |
+
|
3419 |
+
.litespeed-comparison-card ul {
|
3420 |
+
padding-left: 20px;
|
3421 |
+
list-style: none;
|
3422 |
+
list-style-position: outside;
|
3423 |
+
margin: 0;
|
3424 |
+
}
|
3425 |
+
|
3426 |
+
.litespeed-comparison-card li {
|
3427 |
+
margin-bottom: 0.5em;
|
3428 |
+
line-height: 1.4;
|
3429 |
+
}
|
3430 |
+
|
3431 |
+
.litespeed-comparison-card li:last-child {
|
3432 |
+
margin-bottom: 0;
|
3433 |
+
}
|
3434 |
+
|
3435 |
+
.litespeed-comparison-card ul li:before {
|
3436 |
+
content: '✓';
|
3437 |
+
margin-left: -1em;
|
3438 |
+
margin-right: .350em;
|
3439 |
+
color: #329c74;
|
3440 |
+
}
|
3441 |
+
|
3442 |
+
@media screen and (max-width: 1279px) {
|
3443 |
+
.litespeed-comparison-card {
|
3444 |
+
margin: 0 0 -1px 0;
|
3445 |
+
}
|
3446 |
+
}
|
3447 |
+
|
3448 |
+
@media screen and (min-width: 640px) and (max-width: 1280px) {
|
3449 |
+
.litespeed-comparison-cards {
|
3450 |
+
max-width: 740px;
|
3451 |
+
}
|
3452 |
+
|
3453 |
+
.litespeed-card-content {
|
3454 |
+
display: flex;
|
3455 |
+
flex-wrap: wrap;
|
3456 |
+
}
|
3457 |
+
|
3458 |
+
.litespeed-card-content .litespeed-card-header {
|
3459 |
+
width: 100%;
|
3460 |
+
}
|
3461 |
+
|
3462 |
+
.litespeed-card-content>div.litespeed-card-body {
|
3463 |
+
align-self: initial;
|
3464 |
+
width: 50%;
|
3465 |
+
box-sizing: border-box;
|
3466 |
+
}
|
3467 |
+
|
3468 |
+
.litespeed-card-content>div.litespeed-card-footer {
|
3469 |
+
width: 50%;
|
3470 |
+
align-self: initial;
|
3471 |
+
box-sizing: border-box;
|
3472 |
+
}
|
3473 |
+
|
3474 |
+
.litespeed-card-content>div.litespeed-card-footer h4 {
|
3475 |
+
margin-top: 1rem;
|
3476 |
+
}
|
3477 |
+
}
|
3478 |
+
|
3479 |
+
@media screen and (min-width: 1280px) {
|
3480 |
+
.litespeed-comparison-cards {
|
3481 |
+
display: flex;
|
3482 |
+
margin: 3rem 0 2rem 0;
|
3483 |
+
max-width: 1720px;
|
3484 |
+
}
|
3485 |
+
|
3486 |
+
.litespeed-comparison-card {
|
3487 |
+
width: 19%;
|
3488 |
+
min-width: 0;
|
3489 |
+
display: flex;
|
3490 |
+
flex-direction: column;
|
3491 |
+
margin-right: -1px;
|
3492 |
+
justify-content: space-between;
|
3493 |
+
}
|
3494 |
+
|
3495 |
+
.litespeed-comparison-card:first-child {
|
3496 |
+
border-top-left-radius: 5px;
|
3497 |
+
border-bottom-left-radius: 5px;
|
3498 |
+
overflow: hidden;
|
3499 |
+
}
|
3500 |
+
|
3501 |
+
.litespeed-comparison-card:last-child {
|
3502 |
+
border-top-right-radius: 5px;
|
3503 |
+
border-bottom-right-radius: 5px;
|
3504 |
+
overflow: hidden;
|
3505 |
+
}
|
3506 |
+
|
3507 |
+
.litespeed-comparison-card-rec {
|
3508 |
+
width: 23%;
|
3509 |
+
padding-top: 1rem;
|
3510 |
+
padding-bottom: .75rem;
|
3511 |
+
margin-top: -1rem;
|
3512 |
+
margin-bottom: 0.25rem;
|
3513 |
+
border-radius: 5px;
|
3514 |
+
overflow: hidden;
|
3515 |
+
}
|
3516 |
+
|
3517 |
+
.litespeed-comparison-card-rec .litespeed-card-header {
|
3518 |
+
margin-top: -1rem;
|
3519 |
+
padding-top: 1.75rem;
|
3520 |
+
padding-bottom: 0.95rem;
|
3521 |
+
}
|
3522 |
+
}
|
3523 |
+
|
3524 |
/* =======================================
|
3525 |
BALLOON PURE CSS TOOLTIPS
|
3526 |
======================================= */
|
3842 |
[aria-label][data-balloon-pos][data-balloon-length="fit"]:after {
|
3843 |
white-space: normal;
|
3844 |
width: 100%;
|
3845 |
+
}
|
cli/option.cls.php
CHANGED
@@ -28,6 +28,7 @@ class Option extends Base {
|
|
28 |
* # Set to not cache the login page
|
29 |
* $ wp litespeed-option set cache-priv false
|
30 |
* $ wp litespeed-option set 'cdn-mapping[url][0]' https://cdn.EXAMPLE.com
|
|
|
31 |
*
|
32 |
*/
|
33 |
public function set( $args, $assoc_args ) {
|
@@ -55,6 +56,9 @@ class Option extends Base {
|
|
55 |
* For Crawler cookies:
|
56 |
* `set 'crawler-cookies[name][0]' my_currency`
|
57 |
* `set 'crawler-cookies[vals][0]' "USD\nTWD"`
|
|
|
|
|
|
|
58 |
*/
|
59 |
|
60 |
// Build raw data
|
28 |
* # Set to not cache the login page
|
29 |
* $ wp litespeed-option set cache-priv false
|
30 |
* $ wp litespeed-option set 'cdn-mapping[url][0]' https://cdn.EXAMPLE.com
|
31 |
+
* $ wp litespeed-option set media-lqip_exc $'line1\nline2'
|
32 |
*
|
33 |
*/
|
34 |
public function set( $args, $assoc_args ) {
|
56 |
* For Crawler cookies:
|
57 |
* `set 'crawler-cookies[name][0]' my_currency`
|
58 |
* `set 'crawler-cookies[vals][0]' "USD\nTWD"`
|
59 |
+
*
|
60 |
+
* For multi lines setting:
|
61 |
+
* `set media-lqip_exc $'img1.jpg\nimg2.jpg'`
|
62 |
*/
|
63 |
|
64 |
// Build raw data
|
data/const.default.ini
CHANGED
@@ -311,7 +311,10 @@ optm-ucss = false
|
|
311 |
; O_OPTM_UCSS_INLINE
|
312 |
optm-ucss_inline = false
|
313 |
|
314 |
-
;
|
|
|
|
|
|
|
315 |
optm-ucss_whitelist = ''
|
316 |
|
317 |
; O_OPTM_UCSS_EXC
|
@@ -549,14 +552,12 @@ img_optm-ori = true
|
|
549 |
|
550 |
img_optm-rm_bkup = false
|
551 |
|
552 |
-
img_optm-webp =
|
553 |
|
554 |
img_optm-lossless = false
|
555 |
|
556 |
img_optm-exif = true
|
557 |
|
558 |
-
img_optm-webp_replace = false
|
559 |
-
|
560 |
img_optm-webp_attr = 'img.src
|
561 |
div.data-thumb
|
562 |
img.data-src
|
311 |
; O_OPTM_UCSS_INLINE
|
312 |
optm-ucss_inline = false
|
313 |
|
314 |
+
; O_OPTM_UCSS_FILE_EXC_INLINE
|
315 |
+
optm-ucss_file_exc_inline = ''
|
316 |
+
|
317 |
+
; O_OPTM_UCSS_SELECTOR_WHITELIST
|
318 |
optm-ucss_whitelist = ''
|
319 |
|
320 |
; O_OPTM_UCSS_EXC
|
552 |
|
553 |
img_optm-rm_bkup = false
|
554 |
|
555 |
+
img_optm-webp = false
|
556 |
|
557 |
img_optm-lossless = false
|
558 |
|
559 |
img_optm-exif = true
|
560 |
|
|
|
|
|
561 |
img_optm-webp_attr = 'img.src
|
562 |
div.data-thumb
|
563 |
img.data-src
|
data/const.network_default.ini
CHANGED
@@ -143,4 +143,4 @@ debug-exc_strings = ''
|
|
143 |
;; -------------- Image Optm ----------------- ;;
|
144 |
;; -------------------------------------------------- ;;
|
145 |
|
146 |
-
img_optm-
|
143 |
;; -------------- Image Optm ----------------- ;;
|
144 |
;; -------------------------------------------------- ;;
|
145 |
|
146 |
+
img_optm-webp = false
|
data/preset/advanced.data
ADDED
@@ -0,0 +1,115 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
["_version","5.3"]
|
2 |
+
|
3 |
+
["guest",true]
|
4 |
+
|
5 |
+
["guest_optm",true]
|
6 |
+
|
7 |
+
["cache",true]
|
8 |
+
|
9 |
+
["cache-priv",true]
|
10 |
+
|
11 |
+
["cache-commenter",true]
|
12 |
+
|
13 |
+
["cache-rest",true]
|
14 |
+
|
15 |
+
["cache-page_login",true]
|
16 |
+
|
17 |
+
["cache-favicon",true]
|
18 |
+
|
19 |
+
["cache-resources",true]
|
20 |
+
|
21 |
+
["cache-mobile",true]
|
22 |
+
|
23 |
+
["cache-browser",true]
|
24 |
+
|
25 |
+
["esi",false]
|
26 |
+
|
27 |
+
["esi-cache_admbar",true]
|
28 |
+
|
29 |
+
["esi-cache_commform",true]
|
30 |
+
|
31 |
+
["util-instant_click",false]
|
32 |
+
|
33 |
+
["util-no_https_vary",false]
|
34 |
+
|
35 |
+
["optm-css_min",true]
|
36 |
+
|
37 |
+
["optm-css_comb",false]
|
38 |
+
|
39 |
+
["optm-css_comb_ext_inl",false]
|
40 |
+
|
41 |
+
["optm-ucss",false]
|
42 |
+
|
43 |
+
["optm-ucss_inline",false]
|
44 |
+
|
45 |
+
["optm-js_min",true]
|
46 |
+
|
47 |
+
["optm-js_comb",false]
|
48 |
+
|
49 |
+
["optm-js_comb_ext_inl",false]
|
50 |
+
|
51 |
+
["optm-html_min",true]
|
52 |
+
|
53 |
+
["optm-qs_rm",true]
|
54 |
+
|
55 |
+
["optm-ggfonts_rm",false]
|
56 |
+
|
57 |
+
["optm-css_async",false]
|
58 |
+
|
59 |
+
["optm-ccss_per_url",false]
|
60 |
+
|
61 |
+
["optm-css_async_inline",false]
|
62 |
+
|
63 |
+
["optm-css_font_display",true]
|
64 |
+
|
65 |
+
["optm-js_defer",1]
|
66 |
+
|
67 |
+
["optm-emoji_rm",true]
|
68 |
+
|
69 |
+
["optm-noscript_rm",true]
|
70 |
+
|
71 |
+
["optm-ggfonts_async",false]
|
72 |
+
|
73 |
+
["optm-dns_prefetch_ctrl",true]
|
74 |
+
|
75 |
+
["optm-guest_only",true]
|
76 |
+
|
77 |
+
["discuss-avatar_cache",true]
|
78 |
+
|
79 |
+
["discuss-avatar_cron",true]
|
80 |
+
|
81 |
+
["optm-localize",false]
|
82 |
+
|
83 |
+
["media-lazy",false]
|
84 |
+
|
85 |
+
["media-lazy_placeholder",""]
|
86 |
+
|
87 |
+
["media-placeholder_resp",false]
|
88 |
+
|
89 |
+
["media-lqip",false]
|
90 |
+
|
91 |
+
["media-placeholder_resp_async",true]
|
92 |
+
|
93 |
+
["media-iframe_lazy",false]
|
94 |
+
|
95 |
+
["media-add_missing_sizes",false]
|
96 |
+
|
97 |
+
["media-vpi",false]
|
98 |
+
|
99 |
+
["media-vpi_cron",false]
|
100 |
+
|
101 |
+
["img_optm-auto",true]
|
102 |
+
|
103 |
+
["img_optm-cron",true]
|
104 |
+
|
105 |
+
["img_optm-ori",true]
|
106 |
+
|
107 |
+
["img_optm-rm_bkup",false]
|
108 |
+
|
109 |
+
["img_optm-webp",true]
|
110 |
+
|
111 |
+
["img_optm-lossless",false]
|
112 |
+
|
113 |
+
["img_optm-exif",false]
|
114 |
+
|
115 |
+
["img_optm-webp_replace_srcset",true]
|
data/preset/aggressive.data
ADDED
@@ -0,0 +1,115 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
["_version","5.3"]
|
2 |
+
|
3 |
+
["guest",true]
|
4 |
+
|
5 |
+
["guest_optm",true]
|
6 |
+
|
7 |
+
["cache",true]
|
8 |
+
|
9 |
+
["cache-priv",true]
|
10 |
+
|
11 |
+
["cache-commenter",true]
|
12 |
+
|
13 |
+
["cache-rest",true]
|
14 |
+
|
15 |
+
["cache-page_login",true]
|
16 |
+
|
17 |
+
["cache-favicon",true]
|
18 |
+
|
19 |
+
["cache-resources",true]
|
20 |
+
|
21 |
+
["cache-mobile",true]
|
22 |
+
|
23 |
+
["cache-browser",true]
|
24 |
+
|
25 |
+
["esi",false]
|
26 |
+
|
27 |
+
["esi-cache_admbar",true]
|
28 |
+
|
29 |
+
["esi-cache_commform",true]
|
30 |
+
|
31 |
+
["util-instant_click",false]
|
32 |
+
|
33 |
+
["util-no_https_vary",false]
|
34 |
+
|
35 |
+
["optm-css_min",true]
|
36 |
+
|
37 |
+
["optm-css_comb",true]
|
38 |
+
|
39 |
+
["optm-css_comb_ext_inl",false]
|
40 |
+
|
41 |
+
["optm-ucss",true]
|
42 |
+
|
43 |
+
["optm-ucss_inline",false]
|
44 |
+
|
45 |
+
["optm-js_min",true]
|
46 |
+
|
47 |
+
["optm-js_comb",true]
|
48 |
+
|
49 |
+
["optm-js_comb_ext_inl",false]
|
50 |
+
|
51 |
+
["optm-html_min",true]
|
52 |
+
|
53 |
+
["optm-qs_rm",true]
|
54 |
+
|
55 |
+
["optm-ggfonts_rm",false]
|
56 |
+
|
57 |
+
["optm-css_async",true]
|
58 |
+
|
59 |
+
["optm-ccss_per_url",true]
|
60 |
+
|
61 |
+
["optm-css_async_inline",true]
|
62 |
+
|
63 |
+
["optm-css_font_display",true]
|
64 |
+
|
65 |
+
["optm-js_defer",1]
|
66 |
+
|
67 |
+
["optm-emoji_rm",true]
|
68 |
+
|
69 |
+
["optm-noscript_rm",true]
|
70 |
+
|
71 |
+
["optm-ggfonts_async",false]
|
72 |
+
|
73 |
+
["optm-dns_prefetch_ctrl",true]
|
74 |
+
|
75 |
+
["optm-guest_only",true]
|
76 |
+
|
77 |
+
["discuss-avatar_cache",true]
|
78 |
+
|
79 |
+
["discuss-avatar_cron",true]
|
80 |
+
|
81 |
+
["optm-localize",false]
|
82 |
+
|
83 |
+
["media-lazy",false]
|
84 |
+
|
85 |
+
["media-lazy_placeholder",""]
|
86 |
+
|
87 |
+
["media-placeholder_resp",false]
|
88 |
+
|
89 |
+
["media-lqip",false]
|
90 |
+
|
91 |
+
["media-placeholder_resp_async",true]
|
92 |
+
|
93 |
+
["media-iframe_lazy",true]
|
94 |
+
|
95 |
+
["media-add_missing_sizes",false]
|
96 |
+
|
97 |
+
["media-vpi",false]
|
98 |
+
|
99 |
+
["media-vpi_cron",false]
|
100 |
+
|
101 |
+
["img_optm-auto",true]
|
102 |
+
|
103 |
+
["img_optm-cron",true]
|
104 |
+
|
105 |
+
["img_optm-ori",true]
|
106 |
+
|
107 |
+
["img_optm-rm_bkup",false]
|
108 |
+
|
109 |
+
["img_optm-webp",true]
|
110 |
+
|
111 |
+
["img_optm-lossless",false]
|
112 |
+
|
113 |
+
["img_optm-exif",false]
|
114 |
+
|
115 |
+
["img_optm-webp_replace_srcset",true]
|
data/preset/basic.data
ADDED
@@ -0,0 +1,115 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
["_version","5.3"]
|
2 |
+
|
3 |
+
["guest",false]
|
4 |
+
|
5 |
+
["guest_optm",false]
|
6 |
+
|
7 |
+
["cache",true]
|
8 |
+
|
9 |
+
["cache-priv",true]
|
10 |
+
|
11 |
+
["cache-commenter",true]
|
12 |
+
|
13 |
+
["cache-rest",true]
|
14 |
+
|
15 |
+
["cache-page_login",true]
|
16 |
+
|
17 |
+
["cache-favicon",true]
|
18 |
+
|
19 |
+
["cache-resources",true]
|
20 |
+
|
21 |
+
["cache-mobile",true]
|
22 |
+
|
23 |
+
["cache-browser",true]
|
24 |
+
|
25 |
+
["esi",false]
|
26 |
+
|
27 |
+
["esi-cache_admbar",true]
|
28 |
+
|
29 |
+
["esi-cache_commform",true]
|
30 |
+
|
31 |
+
["util-instant_click",false]
|
32 |
+
|
33 |
+
["util-no_https_vary",false]
|
34 |
+
|
35 |
+
["optm-css_min",false]
|
36 |
+
|
37 |
+
["optm-css_comb",false]
|
38 |
+
|
39 |
+
["optm-css_comb_ext_inl",true]
|
40 |
+
|
41 |
+
["optm-ucss",false]
|
42 |
+
|
43 |
+
["optm-ucss_inline",false]
|
44 |
+
|
45 |
+
["optm-js_min",false]
|
46 |
+
|
47 |
+
["optm-js_comb",false]
|
48 |
+
|
49 |
+
["optm-js_comb_ext_inl",true]
|
50 |
+
|
51 |
+
["optm-html_min",false]
|
52 |
+
|
53 |
+
["optm-qs_rm",false]
|
54 |
+
|
55 |
+
["optm-ggfonts_rm",false]
|
56 |
+
|
57 |
+
["optm-css_async",false]
|
58 |
+
|
59 |
+
["optm-ccss_per_url",false]
|
60 |
+
|
61 |
+
["optm-css_async_inline",true]
|
62 |
+
|
63 |
+
["optm-css_font_display",false]
|
64 |
+
|
65 |
+
["optm-js_defer",0]
|
66 |
+
|
67 |
+
["optm-emoji_rm",false]
|
68 |
+
|
69 |
+
["optm-noscript_rm",false]
|
70 |
+
|
71 |
+
["optm-ggfonts_async",false]
|
72 |
+
|
73 |
+
["optm-dns_prefetch_ctrl",false]
|
74 |
+
|
75 |
+
["optm-guest_only",true]
|
76 |
+
|
77 |
+
["discuss-avatar_cache",false]
|
78 |
+
|
79 |
+
["discuss-avatar_cron",false]
|
80 |
+
|
81 |
+
["optm-localize",false]
|
82 |
+
|
83 |
+
["media-lazy",false]
|
84 |
+
|
85 |
+
["media-lazy_placeholder",""]
|
86 |
+
|
87 |
+
["media-placeholder_resp",false]
|
88 |
+
|
89 |
+
["media-lqip",false]
|
90 |
+
|
91 |
+
["media-placeholder_resp_async",true]
|
92 |
+
|
93 |
+
["media-iframe_lazy",false]
|
94 |
+
|
95 |
+
["media-add_missing_sizes",false]
|
96 |
+
|
97 |
+
["media-vpi",false]
|
98 |
+
|
99 |
+
["media-vpi_cron",false]
|
100 |
+
|
101 |
+
["img_optm-auto",true]
|
102 |
+
|
103 |
+
["img_optm-cron",true]
|
104 |
+
|
105 |
+
["img_optm-ori",true]
|
106 |
+
|
107 |
+
["img_optm-rm_bkup",false]
|
108 |
+
|
109 |
+
["img_optm-webp",true]
|
110 |
+
|
111 |
+
["img_optm-lossless",false]
|
112 |
+
|
113 |
+
["img_optm-exif",false]
|
114 |
+
|
115 |
+
["img_optm-webp_replace_srcset",true]
|
data/preset/essentials.data
ADDED
@@ -0,0 +1,115 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
["_version","5.3"]
|
2 |
+
|
3 |
+
["guest",false]
|
4 |
+
|
5 |
+
["guest_optm",false]
|
6 |
+
|
7 |
+
["cache",true]
|
8 |
+
|
9 |
+
["cache-priv",true]
|
10 |
+
|
11 |
+
["cache-commenter",true]
|
12 |
+
|
13 |
+
["cache-rest",true]
|
14 |
+
|
15 |
+
["cache-page_login",true]
|
16 |
+
|
17 |
+
["cache-favicon",true]
|
18 |
+
|
19 |
+
["cache-resources",true]
|
20 |
+
|
21 |
+
["cache-mobile",false]
|
22 |
+
|
23 |
+
["cache-browser",true]
|
24 |
+
|
25 |
+
["esi",false]
|
26 |
+
|
27 |
+
["esi-cache_admbar",true]
|
28 |
+
|
29 |
+
["esi-cache_commform",true]
|
30 |
+
|
31 |
+
["util-instant_click",false]
|
32 |
+
|
33 |
+
["util-no_https_vary",false]
|
34 |
+
|
35 |
+
["optm-css_min",false]
|
36 |
+
|
37 |
+
["optm-css_comb",false]
|
38 |
+
|
39 |
+
["optm-css_comb_ext_inl",true]
|
40 |
+
|
41 |
+
["optm-ucss",false]
|
42 |
+
|
43 |
+
["optm-ucss_inline",false]
|
44 |
+
|
45 |
+
["optm-js_min",false]
|
46 |
+
|
47 |
+
["optm-js_comb",false]
|
48 |
+
|
49 |
+
["optm-js_comb_ext_inl",true]
|
50 |
+
|
51 |
+
["optm-html_min",false]
|
52 |
+
|
53 |
+
["optm-qs_rm",false]
|
54 |
+
|
55 |
+
["optm-ggfonts_rm",false]
|
56 |
+
|
57 |
+
["optm-css_async",false]
|
58 |
+
|
59 |
+
["optm-ccss_per_url",false]
|
60 |
+
|
61 |
+
["optm-css_async_inline",true]
|
62 |
+
|
63 |
+
["optm-css_font_display",false]
|
64 |
+
|
65 |
+
["optm-js_defer",0]
|
66 |
+
|
67 |
+
["optm-emoji_rm",false]
|
68 |
+
|
69 |
+
["optm-noscript_rm",false]
|
70 |
+
|
71 |
+
["optm-ggfonts_async",false]
|
72 |
+
|
73 |
+
["optm-dns_prefetch_ctrl",false]
|
74 |
+
|
75 |
+
["optm-guest_only",true]
|
76 |
+
|
77 |
+
["discuss-avatar_cache",false]
|
78 |
+
|
79 |
+
["discuss-avatar_cron",false]
|
80 |
+
|
81 |
+
["optm-localize",false]
|
82 |
+
|
83 |
+
["media-lazy",false]
|
84 |
+
|
85 |
+
["media-lazy_placeholder",""]
|
86 |
+
|
87 |
+
["media-placeholder_resp",false]
|
88 |
+
|
89 |
+
["media-lqip",false]
|
90 |
+
|
91 |
+
["media-placeholder_resp_async",true]
|
92 |
+
|
93 |
+
["media-iframe_lazy",false]
|
94 |
+
|
95 |
+
["media-add_missing_sizes",false]
|
96 |
+
|
97 |
+
["media-vpi",false]
|
98 |
+
|
99 |
+
["media-vpi_cron",false]
|
100 |
+
|
101 |
+
["img_optm-auto",false]
|
102 |
+
|
103 |
+
["img_optm-cron",true]
|
104 |
+
|
105 |
+
["img_optm-ori",true]
|
106 |
+
|
107 |
+
["img_optm-rm_bkup",false]
|
108 |
+
|
109 |
+
["img_optm-webp",false]
|
110 |
+
|
111 |
+
["img_optm-lossless",false]
|
112 |
+
|
113 |
+
["img_optm-exif",false]
|
114 |
+
|
115 |
+
["img_optm-webp_replace_srcset",false]
|
data/preset/extreme.data
ADDED
@@ -0,0 +1,115 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
["_version","5.3"]
|
2 |
+
|
3 |
+
["guest",true]
|
4 |
+
|
5 |
+
["guest_optm",true]
|
6 |
+
|
7 |
+
["cache",true]
|
8 |
+
|
9 |
+
["cache-priv",true]
|
10 |
+
|
11 |
+
["cache-commenter",true]
|
12 |
+
|
13 |
+
["cache-rest",true]
|
14 |
+
|
15 |
+
["cache-page_login",true]
|
16 |
+
|
17 |
+
["cache-favicon",true]
|
18 |
+
|
19 |
+
["cache-resources",true]
|
20 |
+
|
21 |
+
["cache-mobile",true]
|
22 |
+
|
23 |
+
["cache-browser",true]
|
24 |
+
|
25 |
+
["esi",false]
|
26 |
+
|
27 |
+
["esi-cache_admbar",true]
|
28 |
+
|
29 |
+
["esi-cache_commform",true]
|
30 |
+
|
31 |
+
["util-instant_click",false]
|
32 |
+
|
33 |
+
["util-no_https_vary",false]
|
34 |
+
|
35 |
+
["optm-css_min",true]
|
36 |
+
|
37 |
+
["optm-css_comb",true]
|
38 |
+
|
39 |
+
["optm-css_comb_ext_inl",true]
|
40 |
+
|
41 |
+
["optm-ucss",true]
|
42 |
+
|
43 |
+
["optm-ucss_inline",false]
|
44 |
+
|
45 |
+
["optm-js_min",true]
|
46 |
+
|
47 |
+
["optm-js_comb",true]
|
48 |
+
|
49 |
+
["optm-js_comb_ext_inl",true]
|
50 |
+
|
51 |
+
["optm-html_min",true]
|
52 |
+
|
53 |
+
["optm-qs_rm",true]
|
54 |
+
|
55 |
+
["optm-ggfonts_rm",false]
|
56 |
+
|
57 |
+
["optm-css_async",true]
|
58 |
+
|
59 |
+
["optm-ccss_per_url",true]
|
60 |
+
|
61 |
+
["optm-css_async_inline",true]
|
62 |
+
|
63 |
+
["optm-css_font_display",true]
|
64 |
+
|
65 |
+
["optm-js_defer",2]
|
66 |
+
|
67 |
+
["optm-emoji_rm",true]
|
68 |
+
|
69 |
+
["optm-noscript_rm",true]
|
70 |
+
|
71 |
+
["optm-ggfonts_async",false]
|
72 |
+
|
73 |
+
["optm-dns_prefetch_ctrl",true]
|
74 |
+
|
75 |
+
["optm-guest_only",true]
|
76 |
+
|
77 |
+
["discuss-avatar_cache",true]
|
78 |
+
|
79 |
+
["discuss-avatar_cron",true]
|
80 |
+
|
81 |
+
["optm-localize",false]
|
82 |
+
|
83 |
+
["media-lazy",true]
|
84 |
+
|
85 |
+
["media-lazy_placeholder","data:image\/gif;base64,R0lGODlhAQABAIAAAAAAAP\/\/\/yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"]
|
86 |
+
|
87 |
+
["media-placeholder_resp",true]
|
88 |
+
|
89 |
+
["media-lqip",true]
|
90 |
+
|
91 |
+
["media-placeholder_resp_async",true]
|
92 |
+
|
93 |
+
["media-iframe_lazy",true]
|
94 |
+
|
95 |
+
["media-add_missing_sizes",true]
|
96 |
+
|
97 |
+
["media-vpi",true]
|
98 |
+
|
99 |
+
["media-vpi_cron",true]
|
100 |
+
|
101 |
+
["img_optm-auto",true]
|
102 |
+
|
103 |
+
["img_optm-cron",true]
|
104 |
+
|
105 |
+
["img_optm-ori",true]
|
106 |
+
|
107 |
+
["img_optm-rm_bkup",false]
|
108 |
+
|
109 |
+
["img_optm-webp",true]
|
110 |
+
|
111 |
+
["img_optm-lossless",false]
|
112 |
+
|
113 |
+
["img_optm-exif",false]
|
114 |
+
|
115 |
+
["img_optm-webp_replace_srcset",true]
|
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 5.
|
6 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/litespeed-cache\n"
|
7 |
-
"POT-Creation-Date: 2022-
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
@@ -41,69 +41,74 @@ msgid "Dashboard"
|
|
41 |
msgstr ""
|
42 |
|
43 |
#: src/admin-display.cls.php:121
|
|
|
|
|
|
|
|
|
44 |
msgid "General"
|
45 |
msgstr ""
|
46 |
|
47 |
-
#: src/admin-display.cls.php:
|
48 |
#: tpl/cache/entry_network.tpl.php:6
|
49 |
msgid "Cache"
|
50 |
msgstr ""
|
51 |
|
52 |
-
#: src/admin-display.cls.php:
|
53 |
msgid "CDN"
|
54 |
msgstr ""
|
55 |
|
56 |
-
#: src/admin-display.cls.php:
|
57 |
#: tpl/dash/dashboard.tpl.php:56 tpl/dash/network_dash.tpl.php:27
|
|
|
58 |
msgid "Image Optimization"
|
59 |
msgstr ""
|
60 |
|
61 |
-
#: src/admin-display.cls.php:
|
62 |
msgid "Page Optimization"
|
63 |
msgstr ""
|
64 |
|
65 |
-
#: src/admin-display.cls.php:
|
66 |
msgid "Database"
|
67 |
msgstr ""
|
68 |
|
69 |
-
#: src/admin-display.cls.php:
|
70 |
msgid "Crawler"
|
71 |
msgstr ""
|
72 |
|
73 |
-
#: src/admin-display.cls.php:
|
74 |
msgid "Toolbox"
|
75 |
msgstr ""
|
76 |
|
77 |
-
#: src/admin-display.cls.php:
|
78 |
msgid "Cookie Name"
|
79 |
msgstr ""
|
80 |
|
81 |
-
#: src/admin-display.cls.php:
|
82 |
msgid "Cookie Values"
|
83 |
msgstr ""
|
84 |
|
85 |
-
#: src/admin-display.cls.php:
|
86 |
msgid "Remove cookie simulation"
|
87 |
msgstr ""
|
88 |
|
89 |
-
#: src/admin-display.cls.php:
|
90 |
msgid "Add new cookie to simulate"
|
91 |
msgstr ""
|
92 |
|
93 |
-
#: src/admin-display.cls.php:
|
94 |
msgid "CDN URL to be used. For example, %s"
|
95 |
msgstr ""
|
96 |
|
97 |
-
#: src/admin-display.cls.php:
|
98 |
msgid "Remove CDN URL"
|
99 |
msgstr ""
|
100 |
|
101 |
-
#: src/admin-display.cls.php:
|
102 |
msgid "Add new CDN URL"
|
103 |
msgstr ""
|
104 |
|
105 |
-
#: src/admin-display.cls.php:
|
106 |
-
#: src/admin-display.cls.php:
|
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:176
|
@@ -112,8 +117,8 @@ msgstr ""
|
|
112 |
msgid "ON"
|
113 |
msgstr ""
|
114 |
|
115 |
-
#: src/admin-display.cls.php:
|
116 |
-
#: src/admin-display.cls.php:
|
117 |
#: tpl/cache/settings-cache.tpl.php:19
|
118 |
#: tpl/cache/settings_inc.object.tpl.php:210 tpl/cdn/settings.tpl.php:54
|
119 |
#: tpl/page_optm/settings_css.tpl.php:74 tpl/page_optm/settings_js.tpl.php:63
|
@@ -122,133 +127,133 @@ msgstr ""
|
|
122 |
msgid "OFF"
|
123 |
msgstr ""
|
124 |
|
125 |
-
#: src/admin-display.cls.php:
|
126 |
msgid "Settings"
|
127 |
msgstr ""
|
128 |
|
129 |
-
#: src/admin-display.cls.php:
|
130 |
msgid "Dismiss"
|
131 |
msgstr ""
|
132 |
|
133 |
-
#: src/admin-display.cls.php:
|
134 |
msgid "Save Changes"
|
135 |
msgstr ""
|
136 |
|
137 |
-
#: src/admin-display.cls.php:
|
138 |
msgid "This setting is overwritten by the PHP constant %s"
|
139 |
msgstr ""
|
140 |
|
141 |
-
#: src/admin-display.cls.php:
|
142 |
msgid "This setting is overwritten by the primary site setting"
|
143 |
msgstr ""
|
144 |
|
145 |
-
#: src/admin-display.cls.php:
|
146 |
msgid "This setting is overwritten by the Network setting"
|
147 |
msgstr ""
|
148 |
|
149 |
-
#: src/admin-display.cls.php:
|
150 |
msgid "currently set to %s"
|
151 |
msgstr ""
|
152 |
|
153 |
-
#: src/admin-display.cls.php:
|
154 |
#: tpl/crawler/settings-general.tpl.php:60
|
155 |
#: tpl/crawler/settings-general.tpl.php:74
|
156 |
#: tpl/crawler/settings-general.tpl.php:89 tpl/esi_widget_edit.php:70
|
157 |
msgid "seconds"
|
158 |
msgstr ""
|
159 |
|
160 |
-
#: src/admin-display.cls.php:
|
161 |
#: tpl/cdn/settings.tpl.php:99
|
162 |
msgid "Default value"
|
163 |
msgstr ""
|
164 |
|
165 |
-
#: src/admin-display.cls.php:
|
166 |
msgid "Invalid rewrite rule"
|
167 |
msgstr ""
|
168 |
|
169 |
-
#: src/admin-display.cls.php:
|
170 |
msgid "Path must end with %s"
|
171 |
msgstr ""
|
172 |
|
173 |
-
#: src/admin-display.cls.php:
|
174 |
msgid "Minimum value"
|
175 |
msgstr ""
|
176 |
|
177 |
-
#: src/admin-display.cls.php:
|
178 |
msgid "Maximum value"
|
179 |
msgstr ""
|
180 |
|
181 |
-
#: src/admin-display.cls.php:
|
182 |
msgid "Zero, or"
|
183 |
msgstr ""
|
184 |
|
185 |
-
#: src/admin-display.cls.php:
|
186 |
msgid "Larger than"
|
187 |
msgstr ""
|
188 |
|
189 |
-
#: src/admin-display.cls.php:
|
190 |
msgid "Smaller than"
|
191 |
msgstr ""
|
192 |
|
193 |
-
#: src/admin-display.cls.php:
|
194 |
msgid "Value range"
|
195 |
msgstr ""
|
196 |
|
197 |
-
#: src/admin-display.cls.php:
|
198 |
msgid "Invalid IP"
|
199 |
msgstr ""
|
200 |
|
201 |
-
#: src/admin-display.cls.php:
|
202 |
#: tpl/page_optm/settings_css.tpl.php:178
|
203 |
#: tpl/page_optm/settings_html.tpl.php:85
|
204 |
#: tpl/page_optm/settings_media.tpl.php:235
|
205 |
#: tpl/page_optm/settings_media_exc.tpl.php:26
|
206 |
#: tpl/page_optm/settings_tuning.tpl.php:35
|
207 |
#: tpl/page_optm/settings_tuning.tpl.php:56
|
208 |
-
#: tpl/page_optm/settings_tuning.tpl.php:
|
209 |
-
#: tpl/page_optm/
|
210 |
-
#: tpl/page_optm/
|
211 |
#: tpl/toolbox/edit_htaccess.tpl.php:54 tpl/toolbox/edit_htaccess.tpl.php:71
|
212 |
msgid "API"
|
213 |
msgstr ""
|
214 |
|
215 |
-
#: src/admin-display.cls.php:
|
216 |
msgid "Server variable(s) %s available to override this setting."
|
217 |
msgstr ""
|
218 |
|
219 |
-
#: src/admin-display.cls.php:
|
220 |
msgid "The URLs will be compared to the REQUEST_URI server variable."
|
221 |
msgstr ""
|
222 |
|
223 |
-
#: src/admin-display.cls.php:
|
224 |
msgid "For example, for %s, %s can be used here."
|
225 |
msgstr ""
|
226 |
|
227 |
-
#: src/admin-display.cls.php:
|
228 |
msgid "To match the beginning, add %s to the beginning of the item."
|
229 |
msgstr ""
|
230 |
|
231 |
-
#: src/admin-display.cls.php:
|
232 |
msgid "To do an exact match, add %s to the end of the URL."
|
233 |
msgstr ""
|
234 |
|
235 |
-
#: src/admin-display.cls.php:
|
236 |
msgid "One per line."
|
237 |
msgstr ""
|
238 |
|
239 |
-
#: src/admin-display.cls.php:
|
240 |
msgid "%s groups"
|
241 |
msgstr ""
|
242 |
|
243 |
-
#: src/admin-display.cls.php:
|
244 |
msgid "%s images"
|
245 |
msgstr ""
|
246 |
|
247 |
-
#: src/admin-display.cls.php:
|
248 |
msgid "%s group"
|
249 |
msgstr ""
|
250 |
|
251 |
-
#: src/admin-display.cls.php:
|
252 |
msgid "%s image"
|
253 |
msgstr ""
|
254 |
|
@@ -319,105 +324,105 @@ msgid ""
|
|
319 |
"that the account still exists and must be deleted separately."
|
320 |
msgstr ""
|
321 |
|
322 |
-
#: src/cdn-setup.cls.php:
|
323 |
-
#: src/cloud.cls.php:
|
324 |
msgid "Message from QUIC.cloud server"
|
325 |
msgstr ""
|
326 |
|
327 |
-
#: src/cloud.cls.php:
|
328 |
-
#: src/cloud.cls.php:
|
329 |
msgid "Cloud Error"
|
330 |
msgstr ""
|
331 |
|
332 |
-
#: src/cloud.cls.php:
|
333 |
msgid "No available Cloud Node."
|
334 |
msgstr ""
|
335 |
|
336 |
-
#: src/cloud.cls.php:
|
337 |
msgid "No available Cloud Node after checked server load."
|
338 |
msgstr ""
|
339 |
|
340 |
-
#: src/cloud.cls.php:
|
341 |
msgid "Please try after %1$s for service %2$s."
|
342 |
msgstr ""
|
343 |
|
344 |
-
#: src/cloud.cls.php:
|
345 |
msgid "Failed to request via WordPress"
|
346 |
msgstr ""
|
347 |
|
348 |
-
#: src/cloud.cls.php:
|
349 |
msgid "Redetected node"
|
350 |
msgstr ""
|
351 |
|
352 |
-
#: src/cloud.cls.php:
|
353 |
msgid ""
|
354 |
"We are working hard to improve your online service experience. The service "
|
355 |
"will be unavailable while we work. We apologize for any inconvenience."
|
356 |
msgstr ""
|
357 |
|
358 |
-
#: src/cloud.cls.php:
|
359 |
msgid "Good news from QUIC.cloud server"
|
360 |
msgstr ""
|
361 |
|
362 |
-
#: src/cloud.cls.php:
|
363 |
msgid "%1$s plugin version %2$s required for this action."
|
364 |
msgstr ""
|
365 |
|
366 |
-
#: src/cloud.cls.php:
|
367 |
msgid "Failed to communicate with QUIC.cloud server"
|
368 |
msgstr ""
|
369 |
|
370 |
-
#: src/cloud.cls.php:
|
371 |
msgid ""
|
372 |
"Site not recognized. Domain Key has been automatically removed. Please "
|
373 |
"request a new one."
|
374 |
msgstr ""
|
375 |
|
376 |
-
#: src/cloud.cls.php:
|
377 |
msgid "Click here to set."
|
378 |
msgstr ""
|
379 |
|
380 |
-
#: src/cloud.cls.php:
|
381 |
msgid "Cannot request REST API, no token saved."
|
382 |
msgstr ""
|
383 |
|
384 |
-
#: src/cloud.cls.php:
|
385 |
msgid "Cloud REST Error"
|
386 |
msgstr ""
|
387 |
|
388 |
-
#: src/cloud.cls.php:
|
389 |
msgid "Cloud REST API returned error: "
|
390 |
msgstr ""
|
391 |
|
392 |
-
#: src/cloud.cls.php:
|
393 |
msgid ""
|
394 |
"Applied for Domain Key successfully. Please wait for result. Domain Key will "
|
395 |
"be automatically sent to your WordPress."
|
396 |
msgstr ""
|
397 |
|
398 |
-
#: src/cloud.cls.php:
|
399 |
msgid ""
|
400 |
"Congratulations, your Domain Key has been approved! The setting has been "
|
401 |
"updated accordingly."
|
402 |
msgstr ""
|
403 |
|
404 |
-
#: src/cloud.cls.php:
|
405 |
msgid "Domain Key hash mismatch"
|
406 |
msgstr ""
|
407 |
|
408 |
-
#: src/cloud.cls.php:
|
409 |
msgid "Sync credit allowance with Cloud Server successfully."
|
410 |
msgstr ""
|
411 |
|
412 |
-
#: src/conf.cls.php:
|
413 |
msgid "Changed setting successfully."
|
414 |
msgstr ""
|
415 |
|
416 |
-
#: src/core.cls.php:
|
417 |
msgid "Notified LiteSpeed Web Server to purge everything."
|
418 |
msgstr ""
|
419 |
|
420 |
-
#: src/core.cls.php:
|
421 |
msgid "Notified LiteSpeed Web Server to purge the list."
|
422 |
msgstr ""
|
423 |
|
@@ -437,25 +442,25 @@ msgstr ""
|
|
437 |
msgid "Crawler disabled list is cleared! All crawlers are set to active! "
|
438 |
msgstr ""
|
439 |
|
440 |
-
#: src/crawler.cls.php:
|
441 |
msgid "Guest"
|
442 |
msgstr ""
|
443 |
|
444 |
-
#: src/crawler.cls.php:
|
445 |
msgid "Manually added to blocklist"
|
446 |
msgstr ""
|
447 |
|
448 |
-
#: src/crawler.cls.php:
|
449 |
msgid "Previously existed in blocklist"
|
450 |
msgstr ""
|
451 |
|
452 |
-
#: src/data.cls.php:
|
453 |
msgid ""
|
454 |
"The database has been upgrading in the background since %s. This message "
|
455 |
"will disappear once upgrade is complete."
|
456 |
msgstr ""
|
457 |
|
458 |
-
#: src/data.upgrade.func.php:
|
459 |
msgid ""
|
460 |
"LiteSpeed Cache upgraded successfully. NOTE: Due to changes in this version, "
|
461 |
"the settings %1$s and %2$s have been turned OFF. Please turn them back on "
|
@@ -463,15 +468,15 @@ msgid ""
|
|
463 |
"errors."
|
464 |
msgstr ""
|
465 |
|
466 |
-
#: src/data.upgrade.func.php:
|
467 |
msgid "JS Combine"
|
468 |
msgstr ""
|
469 |
|
470 |
-
#: src/data.upgrade.func.php:
|
471 |
msgid "JS Defer"
|
472 |
msgstr ""
|
473 |
|
474 |
-
#: src/data.upgrade.func.php:
|
475 |
msgid "Click here to settings"
|
476 |
msgstr ""
|
477 |
|
@@ -567,7 +572,7 @@ msgid ""
|
|
567 |
"Before generating key, please verify all IPs on this list are allowlisted"
|
568 |
msgstr ""
|
569 |
|
570 |
-
#: src/doc.cls.php:119 tpl/general/settings.tpl.php:
|
571 |
msgid "Current Online Server IPs"
|
572 |
msgstr ""
|
573 |
|
@@ -799,7 +804,7 @@ msgid "CSS/JS Cache"
|
|
799 |
msgstr ""
|
800 |
|
801 |
#: src/gui.cls.php:497 src/gui.cls.php:657 src/lang.cls.php:114
|
802 |
-
#: tpl/dash/dashboard.tpl.php:
|
803 |
msgid "Object Cache"
|
804 |
msgstr ""
|
805 |
|
@@ -816,8 +821,8 @@ msgstr ""
|
|
816 |
msgid "LQIP Cache"
|
817 |
msgstr ""
|
818 |
|
819 |
-
#: src/gui.cls.php:556 src/gui.cls.php:716 src/lang.cls.php:
|
820 |
-
#: tpl/toolbox/purge.tpl.php:106
|
821 |
msgid "Gravatar Cache"
|
822 |
msgstr ""
|
823 |
|
@@ -878,99 +883,99 @@ msgstr ""
|
|
878 |
msgid "No new image gathered."
|
879 |
msgstr ""
|
880 |
|
881 |
-
#: src/img-optm.cls.php:
|
882 |
msgid "Gathered %d images successfully."
|
883 |
msgstr ""
|
884 |
|
885 |
-
#: src/img-optm.cls.php:
|
886 |
msgid "Pushed %1$s to Cloud server, accepted %2$s."
|
887 |
msgstr ""
|
888 |
|
889 |
-
#: src/img-optm.cls.php:
|
890 |
msgid "Bypassed %1$s duplicated images."
|
891 |
msgstr ""
|
892 |
|
893 |
-
#: src/img-optm.cls.php:
|
894 |
msgid "Cleared %1$s invalid images."
|
895 |
msgstr ""
|
896 |
|
897 |
-
#: src/img-optm.cls.php:
|
898 |
msgid "No valid image found in the current request."
|
899 |
msgstr ""
|
900 |
|
901 |
-
#: src/img-optm.cls.php:
|
902 |
msgid "No valid image found by Cloud server in the current request."
|
903 |
msgstr ""
|
904 |
|
905 |
-
#: src/img-optm.cls.php:
|
906 |
msgid "Pull Cron is running"
|
907 |
msgstr ""
|
908 |
|
909 |
-
#: src/img-optm.cls.php:
|
910 |
msgid "Some optimized image file(s) has expired and was cleared."
|
911 |
msgstr ""
|
912 |
|
913 |
-
#: src/img-optm.cls.php:
|
914 |
msgid "One or more pulled images does not match with the notified image md5"
|
915 |
msgstr ""
|
916 |
|
917 |
-
#: src/img-optm.cls.php:
|
918 |
msgid "Optimized WebP file expired and was cleared."
|
919 |
msgstr ""
|
920 |
|
921 |
-
#: src/img-optm.cls.php:
|
922 |
msgid "Pulled WebP image md5 does not match the notified WebP image md5."
|
923 |
msgstr ""
|
924 |
|
925 |
-
#: src/img-optm.cls.php:
|
926 |
msgid "Pulled %d image(s)"
|
927 |
msgstr ""
|
928 |
|
929 |
-
#: src/img-optm.cls.php:
|
930 |
msgid "Cleaned up unfinished data successfully."
|
931 |
msgstr ""
|
932 |
|
933 |
-
#: src/img-optm.cls.php:
|
934 |
msgid "Destroy all optimization data successfully."
|
935 |
msgstr ""
|
936 |
|
937 |
-
#: src/img-optm.cls.php:
|
938 |
msgid "Rescanned successfully."
|
939 |
msgstr ""
|
940 |
|
941 |
-
#: src/img-optm.cls.php:
|
942 |
msgid "Rescanned %d images successfully."
|
943 |
msgstr ""
|
944 |
|
945 |
-
#: src/img-optm.cls.php:
|
946 |
msgid "Calculated backups successfully."
|
947 |
msgstr ""
|
948 |
|
949 |
-
#: src/img-optm.cls.php:
|
950 |
msgid "Removed backups successfully."
|
951 |
msgstr ""
|
952 |
|
953 |
-
#: src/img-optm.cls.php:
|
954 |
msgid "Switched images successfully."
|
955 |
msgstr ""
|
956 |
|
957 |
-
#: src/img-optm.cls.php:
|
958 |
msgid "Disabled WebP file successfully."
|
959 |
msgstr ""
|
960 |
|
961 |
-
#: src/img-optm.cls.php:
|
962 |
msgid "Enabled WebP file successfully."
|
963 |
msgstr ""
|
964 |
|
965 |
-
#: src/img-optm.cls.php:
|
966 |
msgid "Restored original file successfully."
|
967 |
msgstr ""
|
968 |
|
969 |
-
#: src/img-optm.cls.php:
|
970 |
msgid "Switched to optimized file successfully."
|
971 |
msgstr ""
|
972 |
|
973 |
-
#: src/img-optm.cls.php:
|
974 |
msgid "Reset the optimized data successfully."
|
975 |
msgstr ""
|
976 |
|
@@ -990,11 +995,11 @@ msgstr ""
|
|
990 |
msgid "Images not requested"
|
991 |
msgstr ""
|
992 |
|
993 |
-
#: src/lang.cls.php:24 tpl/dash/dashboard.tpl.php:
|
994 |
msgid "Images requested"
|
995 |
msgstr ""
|
996 |
|
997 |
-
#: src/lang.cls.php:25 tpl/dash/dashboard.tpl.php:
|
998 |
msgid "Images notified to pull"
|
999 |
msgstr ""
|
1000 |
|
@@ -1065,7 +1070,8 @@ msgstr ""
|
|
1065 |
msgid "Enable Cache"
|
1066 |
msgstr ""
|
1067 |
|
1068 |
-
#: src/lang.cls.php:91 tpl/dash/dashboard.tpl.php:
|
|
|
1069 |
msgid "Browser Cache"
|
1070 |
msgstr ""
|
1071 |
|
@@ -1266,301 +1272,301 @@ msgid "UCSS Inline"
|
|
1266 |
msgstr ""
|
1267 |
|
1268 |
#: src/lang.cls.php:144
|
1269 |
-
msgid "UCSS Allowlist"
|
1270 |
msgstr ""
|
1271 |
|
1272 |
#: src/lang.cls.php:145
|
1273 |
-
msgid "UCSS
|
1274 |
msgstr ""
|
1275 |
|
1276 |
#: src/lang.cls.php:146
|
|
|
|
|
|
|
|
|
1277 |
msgid "JS Minify"
|
1278 |
msgstr ""
|
1279 |
|
1280 |
-
#: src/lang.cls.php:
|
1281 |
msgid "JS Combine External and Inline"
|
1282 |
msgstr ""
|
1283 |
|
1284 |
-
#: src/lang.cls.php:
|
1285 |
msgid "HTML Minify"
|
1286 |
msgstr ""
|
1287 |
|
1288 |
-
#: src/lang.cls.php:
|
1289 |
msgid "HTML Lazy Load Selectors"
|
1290 |
msgstr ""
|
1291 |
|
1292 |
-
#: src/lang.cls.php:
|
1293 |
msgid "Load CSS Asynchronously"
|
1294 |
msgstr ""
|
1295 |
|
1296 |
-
#: src/lang.cls.php:
|
1297 |
msgid "CCSS Per URL"
|
1298 |
msgstr ""
|
1299 |
|
1300 |
-
#: src/lang.cls.php:
|
1301 |
msgid "Inline CSS Async Lib"
|
1302 |
msgstr ""
|
1303 |
|
1304 |
-
#: src/lang.cls.php:
|
1305 |
msgid "Font Display Optimization"
|
1306 |
msgstr ""
|
1307 |
|
1308 |
-
#: src/lang.cls.php:
|
1309 |
msgid "Load JS Deferred"
|
1310 |
msgstr ""
|
1311 |
|
1312 |
-
#: src/lang.cls.php:
|
1313 |
msgid "Localize Resources"
|
1314 |
msgstr ""
|
1315 |
|
1316 |
-
#: src/lang.cls.php:
|
1317 |
msgid "Localization Files"
|
1318 |
msgstr ""
|
1319 |
|
1320 |
-
#: src/lang.cls.php:
|
1321 |
msgid "DNS Prefetch"
|
1322 |
msgstr ""
|
1323 |
|
1324 |
-
#: src/lang.cls.php:
|
1325 |
msgid "DNS Prefetch Control"
|
1326 |
msgstr ""
|
1327 |
|
1328 |
-
#: src/lang.cls.php:
|
1329 |
msgid "CSS Excludes"
|
1330 |
msgstr ""
|
1331 |
|
1332 |
-
#: src/lang.cls.php:
|
1333 |
msgid "JS Excludes"
|
1334 |
msgstr ""
|
1335 |
|
1336 |
-
#: src/lang.cls.php:
|
1337 |
msgid "Remove Query Strings"
|
1338 |
msgstr ""
|
1339 |
|
1340 |
-
#: src/lang.cls.php:
|
1341 |
msgid "Load Google Fonts Asynchronously"
|
1342 |
msgstr ""
|
1343 |
|
1344 |
-
#: src/lang.cls.php:
|
1345 |
msgid "Remove Google Fonts"
|
1346 |
msgstr ""
|
1347 |
|
1348 |
-
#: src/lang.cls.php:
|
1349 |
msgid "Critical CSS Rules"
|
1350 |
msgstr ""
|
1351 |
|
1352 |
-
#: src/lang.cls.php:
|
1353 |
msgid "Separate CCSS Cache Post Types"
|
1354 |
msgstr ""
|
1355 |
|
1356 |
-
#: src/lang.cls.php:
|
1357 |
msgid "Separate CCSS Cache URIs"
|
1358 |
msgstr ""
|
1359 |
|
1360 |
-
#: src/lang.cls.php:
|
1361 |
msgid "JS Deferred Excludes"
|
1362 |
msgstr ""
|
1363 |
|
1364 |
-
#: src/lang.cls.php:
|
1365 |
msgid "Guest Mode JS Excludes"
|
1366 |
msgstr ""
|
1367 |
|
1368 |
-
#: src/lang.cls.php:
|
1369 |
msgid "Remove WordPress Emoji"
|
1370 |
msgstr ""
|
1371 |
|
1372 |
-
#: src/lang.cls.php:
|
1373 |
msgid "Remove Noscript Tags"
|
1374 |
msgstr ""
|
1375 |
|
1376 |
-
#: src/lang.cls.php:
|
1377 |
msgid "URI Excludes"
|
1378 |
msgstr ""
|
1379 |
|
1380 |
-
#: src/lang.cls.php:
|
1381 |
msgid "Optimize for Guests Only"
|
1382 |
msgstr ""
|
1383 |
|
1384 |
-
#: src/lang.cls.php:
|
1385 |
msgid "Role Excludes"
|
1386 |
msgstr ""
|
1387 |
|
1388 |
-
#: src/lang.cls.php:
|
1389 |
msgid "Gravatar Cache Cron"
|
1390 |
msgstr ""
|
1391 |
|
1392 |
-
#: src/lang.cls.php:
|
1393 |
msgid "Gravatar Cache TTL"
|
1394 |
msgstr ""
|
1395 |
|
1396 |
-
#: src/lang.cls.php:
|
1397 |
msgid "Lazy Load Images"
|
1398 |
msgstr ""
|
1399 |
|
1400 |
-
#: src/lang.cls.php:
|
1401 |
msgid "Lazy Load Image Excludes"
|
1402 |
msgstr ""
|
1403 |
|
1404 |
-
#: src/lang.cls.php:
|
1405 |
msgid "Lazy Load Image Class Name Excludes"
|
1406 |
msgstr ""
|
1407 |
|
1408 |
-
#: src/lang.cls.php:
|
1409 |
msgid "Lazy Load Image Parent Class Name Excludes"
|
1410 |
msgstr ""
|
1411 |
|
1412 |
-
#: src/lang.cls.php:
|
1413 |
msgid "Lazy Load Iframe Class Name Excludes"
|
1414 |
msgstr ""
|
1415 |
|
1416 |
-
#: src/lang.cls.php:
|
1417 |
msgid "Lazy Load Iframe Parent Class Name Excludes"
|
1418 |
msgstr ""
|
1419 |
|
1420 |
-
#: src/lang.cls.php:
|
1421 |
msgid "Lazy Load URI Excludes"
|
1422 |
msgstr ""
|
1423 |
|
1424 |
-
#: src/lang.cls.php:
|
1425 |
msgid "LQIP Excludes"
|
1426 |
msgstr ""
|
1427 |
|
1428 |
-
#: src/lang.cls.php:
|
1429 |
msgid "Basic Image Placeholder"
|
1430 |
msgstr ""
|
1431 |
|
1432 |
-
#: src/lang.cls.php:
|
1433 |
msgid "Responsive Placeholder"
|
1434 |
msgstr ""
|
1435 |
|
1436 |
-
#: src/lang.cls.php:
|
1437 |
msgid "Responsive Placeholder Color"
|
1438 |
msgstr ""
|
1439 |
|
1440 |
-
#: src/lang.cls.php:
|
1441 |
msgid "Responsive Placeholder SVG"
|
1442 |
msgstr ""
|
1443 |
|
1444 |
-
#: src/lang.cls.php:
|
1445 |
msgid "LQIP Cloud Generator"
|
1446 |
msgstr ""
|
1447 |
|
1448 |
-
#: src/lang.cls.php:
|
1449 |
msgid "LQIP Quality"
|
1450 |
msgstr ""
|
1451 |
|
1452 |
-
#: src/lang.cls.php:
|
1453 |
msgid "LQIP Minimum Dimensions"
|
1454 |
msgstr ""
|
1455 |
|
1456 |
-
#: src/lang.cls.php:
|
1457 |
msgid "Generate LQIP In Background"
|
1458 |
msgstr ""
|
1459 |
|
1460 |
-
#: src/lang.cls.php:
|
1461 |
msgid "Lazy Load Iframes"
|
1462 |
msgstr ""
|
1463 |
|
1464 |
-
#: src/lang.cls.php:
|
1465 |
msgid "Add Missing Sizes"
|
1466 |
msgstr ""
|
1467 |
|
1468 |
-
#: src/lang.cls.php:
|
1469 |
#: tpl/page_optm/settings_vpi.tpl.php:12
|
1470 |
msgid "Viewport Images"
|
1471 |
msgstr ""
|
1472 |
|
1473 |
-
#: src/lang.cls.php:
|
1474 |
msgid "Viewport Images Cron"
|
1475 |
msgstr ""
|
1476 |
|
1477 |
-
#: src/lang.cls.php:
|
1478 |
msgid "Auto Request Cron"
|
1479 |
msgstr ""
|
1480 |
|
1481 |
-
#: src/lang.cls.php:
|
1482 |
msgid "Auto Pull Cron"
|
1483 |
msgstr ""
|
1484 |
|
1485 |
-
#: src/lang.cls.php:
|
1486 |
msgid "Optimize Original Images"
|
1487 |
msgstr ""
|
1488 |
|
1489 |
-
#: src/lang.cls.php:
|
1490 |
msgid "Remove Original Backups"
|
1491 |
msgstr ""
|
1492 |
|
1493 |
-
#: src/lang.cls.php:
|
1494 |
-
msgid "
|
1495 |
msgstr ""
|
1496 |
|
1497 |
-
#: src/lang.cls.php:
|
1498 |
msgid "Optimize Losslessly"
|
1499 |
msgstr ""
|
1500 |
|
1501 |
-
#: src/lang.cls.php:
|
1502 |
msgid "Preserve EXIF/XMP data"
|
1503 |
msgstr ""
|
1504 |
|
1505 |
-
#: src/lang.cls.php:
|
1506 |
msgid "WebP Attribute To Replace"
|
1507 |
msgstr ""
|
1508 |
|
1509 |
-
#: src/lang.cls.php:
|
1510 |
msgid "WebP For Extra srcset"
|
1511 |
msgstr ""
|
1512 |
|
1513 |
-
#: src/lang.cls.php:
|
1514 |
msgid "WordPress Image Quality Control"
|
1515 |
msgstr ""
|
1516 |
|
1517 |
-
#: src/lang.cls.php:
|
1518 |
msgid "Enable ESI"
|
1519 |
msgstr ""
|
1520 |
|
1521 |
-
#: src/lang.cls.php:
|
1522 |
msgid "Cache Admin Bar"
|
1523 |
msgstr ""
|
1524 |
|
1525 |
-
#: src/lang.cls.php:
|
1526 |
msgid "Cache Comment Form"
|
1527 |
msgstr ""
|
1528 |
|
1529 |
-
#: src/lang.cls.php:
|
1530 |
msgid "ESI Nonces"
|
1531 |
msgstr ""
|
1532 |
|
1533 |
-
#: src/lang.cls.php:
|
1534 |
#: tpl/page_optm/settings_css.tpl.php:222 tpl/page_optm/settings_vpi.tpl.php:67
|
1535 |
msgid "Vary Group"
|
1536 |
msgstr ""
|
1537 |
|
1538 |
-
#: src/lang.cls.php:217
|
1539 |
-
msgid "Purge All Hooks"
|
1540 |
-
msgstr ""
|
1541 |
-
|
1542 |
#: src/lang.cls.php:218
|
1543 |
-
msgid "
|
1544 |
msgstr ""
|
1545 |
|
1546 |
#: src/lang.cls.php:219
|
1547 |
-
msgid "
|
1548 |
msgstr ""
|
1549 |
|
1550 |
#: src/lang.cls.php:220
|
1551 |
-
msgid "
|
1552 |
msgstr ""
|
1553 |
|
1554 |
#: src/lang.cls.php:221
|
1555 |
-
msgid "Do Not Cache
|
1556 |
msgstr ""
|
1557 |
|
1558 |
#: src/lang.cls.php:222
|
1559 |
-
msgid "
|
1560 |
msgstr ""
|
1561 |
|
1562 |
#: src/lang.cls.php:223
|
1563 |
-
msgid "
|
1564 |
msgstr ""
|
1565 |
|
1566 |
#: src/lang.cls.php:225
|
@@ -1836,7 +1842,7 @@ msgstr ""
|
|
1836 |
msgid "Mobile"
|
1837 |
msgstr ""
|
1838 |
|
1839 |
-
#: src/metabox.cls.php:
|
1840 |
msgid "LiteSpeed Options"
|
1841 |
msgstr ""
|
1842 |
|
@@ -1848,75 +1854,75 @@ msgstr ""
|
|
1848 |
msgid "LQIP image preview for size %s"
|
1849 |
msgstr ""
|
1850 |
|
1851 |
-
#: src/purge.cls.php:
|
1852 |
msgid "Purged all caches successfully."
|
1853 |
msgstr ""
|
1854 |
|
1855 |
-
#: src/purge.cls.php:
|
1856 |
msgid "Notified LiteSpeed Web Server to purge all LSCache entries."
|
1857 |
msgstr ""
|
1858 |
|
1859 |
-
#: src/purge.cls.php:
|
1860 |
msgid "Cleaned all Critical CSS files."
|
1861 |
msgstr ""
|
1862 |
|
1863 |
-
#: src/purge.cls.php:
|
1864 |
msgid "Cleaned all Unique CSS files."
|
1865 |
msgstr ""
|
1866 |
|
1867 |
-
#: src/purge.cls.php:
|
1868 |
msgid "Cleaned all LQIP files."
|
1869 |
msgstr ""
|
1870 |
|
1871 |
-
#: src/purge.cls.php:
|
1872 |
msgid "Cleaned all Gravatar files."
|
1873 |
msgstr ""
|
1874 |
|
1875 |
-
#: src/purge.cls.php:
|
1876 |
msgid "Cleaned all localized resource entries."
|
1877 |
msgstr ""
|
1878 |
|
1879 |
-
#: src/purge.cls.php:
|
1880 |
msgid "Notified LiteSpeed Web Server to purge CSS/JS entries."
|
1881 |
msgstr ""
|
1882 |
|
1883 |
-
#: src/purge.cls.php:
|
1884 |
msgid "Opcode cache is not enabled."
|
1885 |
msgstr ""
|
1886 |
|
1887 |
-
#: src/purge.cls.php:
|
1888 |
msgid "Reset the entire opcode cache successfully."
|
1889 |
msgstr ""
|
1890 |
|
1891 |
-
#: src/purge.cls.php:
|
1892 |
msgid "Object cache is not enabled."
|
1893 |
msgstr ""
|
1894 |
|
1895 |
-
#: src/purge.cls.php:
|
1896 |
msgid "Purge all object caches successfully."
|
1897 |
msgstr ""
|
1898 |
|
1899 |
-
#: src/purge.cls.php:
|
1900 |
msgid "Notified LiteSpeed Web Server to purge the front page."
|
1901 |
msgstr ""
|
1902 |
|
1903 |
-
#: src/purge.cls.php:
|
1904 |
msgid "Notified LiteSpeed Web Server to purge all pages."
|
1905 |
msgstr ""
|
1906 |
|
1907 |
-
#: src/purge.cls.php:
|
1908 |
msgid "Notified LiteSpeed Web Server to purge error pages."
|
1909 |
msgstr ""
|
1910 |
|
1911 |
-
#: src/purge.cls.php:
|
1912 |
msgid "Purge category %s"
|
1913 |
msgstr ""
|
1914 |
|
1915 |
-
#: src/purge.cls.php:
|
1916 |
msgid "Purge tag %s"
|
1917 |
msgstr ""
|
1918 |
|
1919 |
-
#: src/purge.cls.php:
|
1920 |
msgid "Purge url %s"
|
1921 |
msgstr ""
|
1922 |
|
@@ -1977,75 +1983,41 @@ msgid ""
|
|
1977 |
msgstr ""
|
1978 |
|
1979 |
#: thirdparty/woocommerce.content.tpl.php:31
|
1980 |
-
msgid "Use ESI for Cart"
|
1981 |
-
msgstr ""
|
1982 |
-
|
1983 |
-
#: thirdparty/woocommerce.content.tpl.php:36
|
1984 |
-
msgid ""
|
1985 |
-
"When the option is ON, cart information will be implemented as ESI blocks. "
|
1986 |
-
"NOTE: To make it work, you need to turn on %1$s under ESI settings."
|
1987 |
-
msgstr ""
|
1988 |
-
|
1989 |
-
#: thirdparty/woocommerce.content.tpl.php:43
|
1990 |
msgid "Product Update Interval"
|
1991 |
msgstr ""
|
1992 |
|
1993 |
-
#: thirdparty/woocommerce.content.tpl.php:
|
1994 |
msgid "Purge product on changes to the quantity or stock status."
|
1995 |
msgstr ""
|
1996 |
|
1997 |
-
#: thirdparty/woocommerce.content.tpl.php:
|
1998 |
msgid "Purge categories only when stock status changes."
|
1999 |
msgstr ""
|
2000 |
|
2001 |
-
#: thirdparty/woocommerce.content.tpl.php:
|
2002 |
msgid "Purge product and categories only when the stock status changes."
|
2003 |
msgstr ""
|
2004 |
|
2005 |
-
#: thirdparty/woocommerce.content.tpl.php:
|
2006 |
msgid "Purge product only when the stock status changes."
|
2007 |
msgstr ""
|
2008 |
|
2009 |
-
#: thirdparty/woocommerce.content.tpl.php:
|
2010 |
msgid "Do not purge categories on changes to the quantity or stock status."
|
2011 |
msgstr ""
|
2012 |
|
2013 |
-
#: thirdparty/woocommerce.content.tpl.php:
|
2014 |
msgid ""
|
2015 |
"Always purge both product and categories on changes to the quantity or stock "
|
2016 |
"status."
|
2017 |
msgstr ""
|
2018 |
|
2019 |
-
#: thirdparty/woocommerce.content.tpl.php:
|
2020 |
msgid ""
|
2021 |
"Determines how changes in product quantity and product stock status affect "
|
2022 |
"product pages and their associated category pages."
|
2023 |
msgstr ""
|
2024 |
|
2025 |
-
#: thirdparty/woocommerce.content.tpl.php:72
|
2026 |
-
msgid "Use Front Page TTL for the Shop Page"
|
2027 |
-
msgstr ""
|
2028 |
-
|
2029 |
-
#: thirdparty/woocommerce.content.tpl.php:77
|
2030 |
-
msgid ""
|
2031 |
-
"Checking this option will force the shop page to use the front page TTL "
|
2032 |
-
"setting."
|
2033 |
-
msgstr ""
|
2034 |
-
|
2035 |
-
#: thirdparty/woocommerce.content.tpl.php:78
|
2036 |
-
msgid ""
|
2037 |
-
"For example, if the homepage for the site is located at %1$s, the shop page "
|
2038 |
-
"may be located at %2$s."
|
2039 |
-
msgstr ""
|
2040 |
-
|
2041 |
-
#: thirdparty/woocommerce.content.tpl.php:86
|
2042 |
-
msgid "Privately Cache Cart"
|
2043 |
-
msgstr ""
|
2044 |
-
|
2045 |
-
#: thirdparty/woocommerce.content.tpl.php:91
|
2046 |
-
msgid "Privately cache cart when not empty."
|
2047 |
-
msgstr ""
|
2048 |
-
|
2049 |
#: thirdparty/woocommerce.tab.tpl.php:3
|
2050 |
msgid "WooCommerce"
|
2051 |
msgstr ""
|
@@ -2074,7 +2046,7 @@ msgstr ""
|
|
2074 |
msgid "Dismiss this notice"
|
2075 |
msgstr ""
|
2076 |
|
2077 |
-
#. #-#-#-#-# litespeed-cache.pot (LiteSpeed Cache 5.
|
2078 |
#. Plugin Name of the plugin/theme
|
2079 |
#: tpl/banner/new_version.php:57 tpl/banner/new_version_dev.tpl.php:12
|
2080 |
#: tpl/cache/more_settings_tip.tpl.php:15 tpl/inc/admin_footer.php:8
|
@@ -2090,7 +2062,7 @@ msgid "New release %s is available now."
|
|
2090 |
msgstr ""
|
2091 |
|
2092 |
#: tpl/banner/new_version.php:69 tpl/banner/new_version_dev.tpl.php:24
|
2093 |
-
#: tpl/toolbox/beta_test.tpl.php:
|
2094 |
msgid "Upgrade"
|
2095 |
msgstr ""
|
2096 |
|
@@ -2114,26 +2086,26 @@ msgstr ""
|
|
2114 |
msgid "Thank You for Using the LiteSpeed Cache Plugin!"
|
2115 |
msgstr ""
|
2116 |
|
2117 |
-
#: tpl/banner/score.php:28 tpl/dash/dashboard.tpl.php:
|
2118 |
msgid "Page Load Time"
|
2119 |
msgstr ""
|
2120 |
|
2121 |
#: tpl/banner/score.php:34 tpl/banner/score.php:74
|
2122 |
-
#: tpl/dash/dashboard.tpl.php:
|
2123 |
msgid "Before"
|
2124 |
msgstr ""
|
2125 |
|
2126 |
#: tpl/banner/score.php:45 tpl/banner/score.php:84
|
2127 |
-
#: tpl/dash/dashboard.tpl.php:
|
2128 |
msgid "After"
|
2129 |
msgstr ""
|
2130 |
|
2131 |
#: tpl/banner/score.php:55 tpl/banner/score.php:94
|
2132 |
-
#: tpl/dash/dashboard.tpl.php:
|
2133 |
msgid "Improved by"
|
2134 |
msgstr ""
|
2135 |
|
2136 |
-
#: tpl/banner/score.php:68 tpl/dash/dashboard.tpl.php:
|
2137 |
msgid "PageSpeed Score"
|
2138 |
msgstr ""
|
2139 |
|
@@ -2296,7 +2268,7 @@ msgstr ""
|
|
2296 |
msgid "Please visit the <a %s>Information</a> page on how to test the cache."
|
2297 |
msgstr ""
|
2298 |
|
2299 |
-
#: tpl/cache/settings-cache.tpl.php:27 tpl/page_optm/entry.tpl.php:
|
2300 |
msgid "NOTICE"
|
2301 |
msgstr ""
|
2302 |
|
@@ -2436,9 +2408,9 @@ msgstr ""
|
|
2436 |
#: tpl/page_optm/settings_media_exc.tpl.php:27
|
2437 |
#: tpl/page_optm/settings_tuning.tpl.php:36
|
2438 |
#: tpl/page_optm/settings_tuning.tpl.php:57
|
2439 |
-
#: tpl/page_optm/settings_tuning.tpl.php:
|
2440 |
-
#: tpl/page_optm/
|
2441 |
-
#: tpl/page_optm/
|
2442 |
msgid "Filter %s is supported."
|
2443 |
msgstr ""
|
2444 |
|
@@ -2572,7 +2544,7 @@ msgstr ""
|
|
2572 |
|
2573 |
#: tpl/cache/settings-purge.tpl.php:50 tpl/cache/settings-purge.tpl.php:89
|
2574 |
#: tpl/cache/settings-purge.tpl.php:113
|
2575 |
-
#: tpl/page_optm/
|
2576 |
msgid "Note"
|
2577 |
msgstr ""
|
2578 |
|
@@ -3070,8 +3042,8 @@ msgstr ""
|
|
3070 |
msgid "Begin QUIC.cloud CDN Setup"
|
3071 |
msgstr ""
|
3072 |
|
3073 |
-
#: tpl/cdn/auto_setup.tpl.php:132 tpl/general/settings.tpl.php:
|
3074 |
-
#: tpl/general/settings.tpl.php:
|
3075 |
msgid "Link to QUIC.cloud"
|
3076 |
msgstr ""
|
3077 |
|
@@ -3343,11 +3315,11 @@ msgid ""
|
|
3343 |
"Specify which HTML element attributes will be replaced with CDN Mapping."
|
3344 |
msgstr ""
|
3345 |
|
3346 |
-
#: tpl/cdn/settings.tpl.php:127 tpl/img_optm/settings.tpl.php:
|
3347 |
msgid "Only attributes listed here will be replaced."
|
3348 |
msgstr ""
|
3349 |
|
3350 |
-
#: tpl/cdn/settings.tpl.php:128 tpl/img_optm/settings.tpl.php:
|
3351 |
msgid "Use the format %1$s or %2$s (element is optional)."
|
3352 |
msgstr ""
|
3353 |
|
@@ -3476,8 +3448,8 @@ msgid "Map"
|
|
3476 |
msgstr ""
|
3477 |
|
3478 |
#: tpl/crawler/entry.tpl.php:9 tpl/general/entry.tpl.php:6
|
3479 |
-
#: tpl/general/entry.tpl.php:12 tpl/general/network_settings.tpl.php:
|
3480 |
-
#: tpl/general/settings.tpl.php:
|
3481 |
msgid "General Settings"
|
3482 |
msgstr ""
|
3483 |
|
@@ -3513,7 +3485,7 @@ msgstr ""
|
|
3513 |
msgid "Sitemap Total"
|
3514 |
msgstr ""
|
3515 |
|
3516 |
-
#: tpl/crawler/map.tpl.php:44 tpl/dash/dashboard.tpl.php:
|
3517 |
msgid "Crawler Status"
|
3518 |
msgstr ""
|
3519 |
|
@@ -3686,15 +3658,15 @@ msgstr ""
|
|
3686 |
msgid "Run time for previous crawler"
|
3687 |
msgstr ""
|
3688 |
|
3689 |
-
#: tpl/crawler/summary.tpl.php:85 tpl/dash/dashboard.tpl.php:
|
3690 |
msgid "Current crawler started at"
|
3691 |
msgstr ""
|
3692 |
|
3693 |
-
#: tpl/crawler/summary.tpl.php:92 tpl/dash/dashboard.tpl.php:
|
3694 |
msgid "Last interval"
|
3695 |
msgstr ""
|
3696 |
|
3697 |
-
#: tpl/crawler/summary.tpl.php:99 tpl/dash/dashboard.tpl.php:
|
3698 |
msgid "Ended reason"
|
3699 |
msgstr ""
|
3700 |
|
@@ -3798,7 +3770,7 @@ msgstr ""
|
|
3798 |
msgid "CDN Bandwidth"
|
3799 |
msgstr ""
|
3800 |
|
3801 |
-
#: tpl/dash/dashboard.tpl.php:59 tpl/dash/dashboard.tpl.php:
|
3802 |
msgid "Low Quality Image Placeholder"
|
3803 |
msgstr ""
|
3804 |
|
@@ -3834,25 +3806,29 @@ msgstr ""
|
|
3834 |
msgid "Remaining Daily Quota"
|
3835 |
msgstr ""
|
3836 |
|
3837 |
-
#: tpl/dash/dashboard.tpl.php:
|
|
|
|
|
|
|
|
|
3838 |
msgid "Go to QUIC.cloud dashboard"
|
3839 |
msgstr ""
|
3840 |
|
3841 |
-
#: tpl/dash/dashboard.tpl.php:
|
3842 |
msgid "Refresh page load time"
|
3843 |
msgstr ""
|
3844 |
|
3845 |
-
#: tpl/dash/dashboard.tpl.php:
|
3846 |
-
#: tpl/dash/dashboard.tpl.php:
|
3847 |
-
#: tpl/dash/dashboard.tpl.php:
|
3848 |
msgid "Last requested"
|
3849 |
msgstr ""
|
3850 |
|
3851 |
-
#: tpl/dash/dashboard.tpl.php:
|
3852 |
msgid "Current closest Cloud server is %s. Click to redetect."
|
3853 |
msgstr ""
|
3854 |
|
3855 |
-
#: tpl/dash/dashboard.tpl.php:
|
3856 |
#: tpl/page_optm/settings_css.tpl.php:93 tpl/page_optm/settings_css.tpl.php:203
|
3857 |
#: tpl/page_optm/settings_media.tpl.php:176
|
3858 |
#: tpl/page_optm/settings_vpi.tpl.php:48
|
@@ -3860,93 +3836,93 @@ msgid ""
|
|
3860 |
"Are you sure you want to redetect the closest cloud server for this service?"
|
3861 |
msgstr ""
|
3862 |
|
3863 |
-
#: tpl/dash/dashboard.tpl.php:
|
3864 |
msgid "Refresh page score"
|
3865 |
msgstr ""
|
3866 |
|
3867 |
-
#: tpl/dash/dashboard.tpl.php:
|
3868 |
msgid "Image Optimization Summary"
|
3869 |
msgstr ""
|
3870 |
|
3871 |
-
#: tpl/dash/dashboard.tpl.php:
|
3872 |
-
#: tpl/dash/dashboard.tpl.php:
|
3873 |
-
#: tpl/dash/dashboard.tpl.php:
|
3874 |
-
#: tpl/dash/dashboard.tpl.php:
|
3875 |
msgid "More"
|
3876 |
msgstr ""
|
3877 |
|
3878 |
-
#: tpl/dash/dashboard.tpl.php:
|
3879 |
msgid "Image Groups Prepared"
|
3880 |
msgstr ""
|
3881 |
|
3882 |
-
#: tpl/dash/dashboard.tpl.php:
|
3883 |
msgid "Images Requested"
|
3884 |
msgstr ""
|
3885 |
|
3886 |
-
#: tpl/dash/dashboard.tpl.php:
|
3887 |
msgid "Last Request"
|
3888 |
msgstr ""
|
3889 |
|
3890 |
-
#: tpl/dash/dashboard.tpl.php:
|
3891 |
msgid "Last Pull"
|
3892 |
msgstr ""
|
3893 |
|
3894 |
-
#: tpl/dash/dashboard.tpl.php:
|
3895 |
msgid "Cache Status"
|
3896 |
msgstr ""
|
3897 |
|
3898 |
-
#: tpl/dash/dashboard.tpl.php:
|
3899 |
msgid "Public Cache"
|
3900 |
msgstr ""
|
3901 |
|
3902 |
-
#: tpl/dash/dashboard.tpl.php:
|
3903 |
msgid "Private Cache"
|
3904 |
msgstr ""
|
3905 |
|
3906 |
-
#: tpl/dash/dashboard.tpl.php:
|
3907 |
msgid "Critical CSS"
|
3908 |
msgstr ""
|
3909 |
|
3910 |
-
#: tpl/dash/dashboard.tpl.php:
|
3911 |
-
#: tpl/dash/dashboard.tpl.php:
|
3912 |
#: tpl/page_optm/settings_css.tpl.php:84 tpl/page_optm/settings_css.tpl.php:194
|
3913 |
#: tpl/page_optm/settings_media.tpl.php:170
|
3914 |
#: tpl/page_optm/settings_vpi.tpl.php:42
|
3915 |
msgid "Last generated"
|
3916 |
msgstr ""
|
3917 |
|
3918 |
-
#: tpl/dash/dashboard.tpl.php:
|
3919 |
-
#: tpl/dash/dashboard.tpl.php:
|
3920 |
msgid "Time to execute previous request"
|
3921 |
msgstr ""
|
3922 |
|
3923 |
-
#: tpl/dash/dashboard.tpl.php:
|
3924 |
-
#: tpl/dash/dashboard.tpl.php:
|
3925 |
msgid "Requests in queue"
|
3926 |
msgstr ""
|
3927 |
|
3928 |
-
#: tpl/dash/dashboard.tpl.php:
|
3929 |
-
#: tpl/dash/dashboard.tpl.php:
|
3930 |
msgid "Force cron"
|
3931 |
msgstr ""
|
3932 |
|
3933 |
-
#: tpl/dash/dashboard.tpl.php:
|
3934 |
msgid "Unique CSS"
|
3935 |
msgstr ""
|
3936 |
|
3937 |
-
#: tpl/dash/dashboard.tpl.php:
|
3938 |
msgid "Viewport Image"
|
3939 |
msgstr ""
|
3940 |
|
3941 |
-
#: tpl/dash/dashboard.tpl.php:
|
3942 |
msgid "Crawler(s)"
|
3943 |
msgstr ""
|
3944 |
|
3945 |
-
#: tpl/dash/dashboard.tpl.php:
|
3946 |
msgid "Currently active crawler"
|
3947 |
msgstr ""
|
3948 |
|
3949 |
-
#: tpl/dash/dashboard.tpl.php:
|
3950 |
msgid "<b>Last crawled:</b> %d item(s)"
|
3951 |
msgstr ""
|
3952 |
|
@@ -4137,6 +4113,7 @@ msgid "A TTL of 0 indicates do not cache."
|
|
4137 |
msgstr ""
|
4138 |
|
4139 |
#: tpl/general/entry.tpl.php:7 tpl/page_optm/entry.tpl.php:13
|
|
|
4140 |
msgid "Tuning"
|
4141 |
msgstr ""
|
4142 |
|
@@ -4144,16 +4121,16 @@ msgstr ""
|
|
4144 |
msgid "LiteSpeed Cache General Settings"
|
4145 |
msgstr ""
|
4146 |
|
4147 |
-
#: tpl/general/network_settings.tpl.php:
|
4148 |
msgid "Use Primary Site Configuration"
|
4149 |
msgstr ""
|
4150 |
|
4151 |
-
#: tpl/general/network_settings.tpl.php:
|
4152 |
msgid ""
|
4153 |
"Check this option to use the primary site's configuration for all subsites."
|
4154 |
msgstr ""
|
4155 |
|
4156 |
-
#: tpl/general/network_settings.tpl.php:
|
4157 |
msgid "This will disable the settings page on all subsites."
|
4158 |
msgstr ""
|
4159 |
|
@@ -4185,148 +4162,147 @@ msgstr ""
|
|
4185 |
msgid "Next available request time: <code>After %s</code>"
|
4186 |
msgstr ""
|
4187 |
|
4188 |
-
#: tpl/general/settings.tpl.php:
|
4189 |
msgid "Visit My Dashboard on QUIC.cloud"
|
4190 |
msgstr ""
|
4191 |
|
4192 |
-
#: tpl/general/settings.tpl.php:
|
4193 |
-
#: tpl/general/settings.tpl.php:
|
4194 |
-
#: tpl/general/settings.tpl.php:
|
4195 |
-
#: tpl/general/settings.tpl.php:
|
4196 |
-
#: tpl/page_optm/settings_media.tpl.php:231
|
4197 |
#: tpl/page_optm/settings_vpi.tpl.php:32
|
4198 |
msgid "Notice"
|
4199 |
msgstr ""
|
4200 |
|
4201 |
-
#: tpl/general/settings.tpl.php:
|
4202 |
msgid ""
|
4203 |
"There was a problem with retrieving your Domain Key. Please click the %s "
|
4204 |
"button to retry."
|
4205 |
msgstr ""
|
4206 |
|
4207 |
-
#: tpl/general/settings.tpl.php:
|
4208 |
msgid ""
|
4209 |
"There are two reasons why we might not be able to communicate with your "
|
4210 |
"domain:"
|
4211 |
msgstr ""
|
4212 |
|
4213 |
-
#: tpl/general/settings.tpl.php:
|
4214 |
msgid "The POST callback to %s failed."
|
4215 |
msgstr ""
|
4216 |
|
4217 |
-
#: tpl/general/settings.tpl.php:
|
4218 |
msgid "Our %s was not allowlisted."
|
4219 |
msgstr ""
|
4220 |
|
4221 |
-
#: tpl/general/settings.tpl.php:
|
4222 |
msgid ""
|
4223 |
"Please verify that your other plugins are not blocking REST API calls, "
|
4224 |
"allowlist our server IPs, or contact your server admin for assistance."
|
4225 |
msgstr ""
|
4226 |
|
4227 |
-
#: tpl/general/settings.tpl.php:
|
4228 |
msgid ""
|
4229 |
"Request submitted. Please wait, then refresh the page to see approval "
|
4230 |
"notification."
|
4231 |
msgstr ""
|
4232 |
|
4233 |
-
#: tpl/general/settings.tpl.php:
|
4234 |
msgid "Warning"
|
4235 |
msgstr ""
|
4236 |
|
4237 |
-
#: tpl/general/settings.tpl.php:
|
4238 |
msgid "You must have %1$s first before linking to QUIC.cloud."
|
4239 |
msgstr ""
|
4240 |
|
4241 |
-
#: tpl/general/settings.tpl.php:
|
4242 |
msgid ""
|
4243 |
"You must click the %s button if you wish to associate this site with a QUIC."
|
4244 |
"cloud account."
|
4245 |
msgstr ""
|
4246 |
|
4247 |
-
#: tpl/general/settings.tpl.php:
|
4248 |
msgid "Benefits of linking to a QUIC.cloud account"
|
4249 |
msgstr ""
|
4250 |
|
4251 |
-
#: tpl/general/settings.tpl.php:
|
4252 |
msgid "A Domain Key is required for QUIC.cloud online services."
|
4253 |
msgstr ""
|
4254 |
|
4255 |
-
#: tpl/general/settings.tpl.php:
|
4256 |
msgid "Main domain"
|
4257 |
msgstr ""
|
4258 |
|
4259 |
-
#: tpl/general/settings.tpl.php:
|
4260 |
msgid "Main domain not generated yet"
|
4261 |
msgstr ""
|
4262 |
|
4263 |
-
#: tpl/general/settings.tpl.php:
|
4264 |
msgid "Current Cloud Nodes in Service"
|
4265 |
msgstr ""
|
4266 |
|
4267 |
-
#: tpl/general/settings.tpl.php:
|
4268 |
msgid "Click to clear all nodes for further redetection."
|
4269 |
msgstr ""
|
4270 |
|
4271 |
-
#: tpl/general/settings.tpl.php:
|
4272 |
msgid "Are you sure you want to clear all cloud nodes?"
|
4273 |
msgstr ""
|
4274 |
|
4275 |
-
#: tpl/general/settings.tpl.php:
|
4276 |
msgid "No cloud services currently in use"
|
4277 |
msgstr ""
|
4278 |
|
4279 |
-
#: tpl/general/settings.tpl.php:
|
4280 |
msgid "This option enables maximum optimization for Guest Mode visitors."
|
4281 |
msgstr ""
|
4282 |
|
4283 |
-
#: tpl/general/settings.tpl.php:
|
4284 |
msgid "Please read all warnings before enabling this option."
|
4285 |
msgstr ""
|
4286 |
|
4287 |
-
#: tpl/general/settings.tpl.php:
|
4288 |
msgid "Your %1s quota on %2s will still be in use."
|
4289 |
msgstr ""
|
4290 |
|
4291 |
-
#: tpl/general/settings.tpl.php:
|
4292 |
#: tpl/page_optm/settings_vpi.tpl.php:32
|
4293 |
msgid "%s must be turned ON for this setting to work."
|
4294 |
msgstr ""
|
4295 |
|
4296 |
-
#: tpl/general/settings.tpl.php:
|
4297 |
msgid "You need to turn %s on to get maximum result."
|
4298 |
msgstr ""
|
4299 |
|
4300 |
-
#: tpl/general/settings.tpl.php:
|
4301 |
msgid ""
|
4302 |
"You need to turn %s on and finish all WebP generation to get maximum result."
|
4303 |
msgstr ""
|
4304 |
|
4305 |
-
#: tpl/general/settings.tpl.php:
|
4306 |
msgid ""
|
4307 |
"Enter this site's IP address to allow cloud services directly call IP "
|
4308 |
"instead of domain name. This eliminates the overhead of DNS and CDN lookups."
|
4309 |
msgstr ""
|
4310 |
|
4311 |
-
#: tpl/general/settings.tpl.php:
|
4312 |
msgid "Your server IP"
|
4313 |
msgstr ""
|
4314 |
|
4315 |
-
#: tpl/general/settings.tpl.php:
|
4316 |
msgid "Check my public IP from"
|
4317 |
msgstr ""
|
4318 |
|
4319 |
-
#: tpl/general/settings.tpl.php:
|
4320 |
msgid ""
|
4321 |
"the auto-detected IP may not be accurate if you have an additional outgoing "
|
4322 |
"IP set, or you have multiple IPs configured on your server."
|
4323 |
msgstr ""
|
4324 |
|
4325 |
-
#: tpl/general/settings.tpl.php:
|
4326 |
msgid "Please make sure this IP is the correct one for visiting your site."
|
4327 |
msgstr ""
|
4328 |
|
4329 |
-
#: tpl/general/settings.tpl.php:
|
4330 |
msgid ""
|
4331 |
"Turn this option ON to show latest news automatically, including hotfixes, "
|
4332 |
"new releases, available beta versions, and promotions."
|
@@ -4367,16 +4343,17 @@ msgstr ""
|
|
4367 |
msgid "Guest Mode failed to test."
|
4368 |
msgstr ""
|
4369 |
|
4370 |
-
#: tpl/general/settings_tuning.tpl.php:
|
4371 |
#: tpl/page_optm/settings_tuning.tpl.php:18
|
|
|
4372 |
msgid "Tuning Settings"
|
4373 |
msgstr ""
|
4374 |
|
4375 |
-
#: tpl/general/settings_tuning.tpl.php:
|
4376 |
msgid "Listed User Agents will be considered as Guest Mode visitors."
|
4377 |
msgstr ""
|
4378 |
|
4379 |
-
#: tpl/general/settings_tuning.tpl.php:
|
4380 |
msgid "Listed IPs will be considered as Guest Mode visitors."
|
4381 |
msgstr ""
|
4382 |
|
@@ -4390,6 +4367,10 @@ msgid "LiteSpeed Cache Image Optimization"
|
|
4390 |
msgstr ""
|
4391 |
|
4392 |
#: tpl/img_optm/settings.media_webp.tpl.php:14
|
|
|
|
|
|
|
|
|
4393 |
msgid ""
|
4394 |
"Significantly improve load time by replacing images with their optimized %s "
|
4395 |
"versions."
|
@@ -4442,21 +4423,17 @@ msgstr ""
|
|
4442 |
msgid "This will increase the size of optimized files."
|
4443 |
msgstr ""
|
4444 |
|
4445 |
-
#: tpl/img_optm/settings.tpl.php:
|
4446 |
-
msgid "Request WebP versions of original images when doing optimization."
|
4447 |
-
msgstr ""
|
4448 |
-
|
4449 |
-
#: tpl/img_optm/settings.tpl.php:139
|
4450 |
msgid "Specify which element attributes will be replaced with WebP."
|
4451 |
msgstr ""
|
4452 |
|
4453 |
-
#: tpl/img_optm/settings.tpl.php:
|
4454 |
msgid ""
|
4455 |
"Enable replacement of WebP in %s elements that were generated outside of "
|
4456 |
"WordPress logic."
|
4457 |
msgstr ""
|
4458 |
|
4459 |
-
#: tpl/img_optm/settings.tpl.php:
|
4460 |
msgid "The image compression quality setting of WordPress out of 100."
|
4461 |
msgstr ""
|
4462 |
|
@@ -4835,11 +4812,11 @@ msgstr ""
|
|
4835 |
msgid "Localization"
|
4836 |
msgstr ""
|
4837 |
|
4838 |
-
#: tpl/page_optm/entry.tpl.php:
|
4839 |
msgid "LiteSpeed Cache Page Optimization"
|
4840 |
msgstr ""
|
4841 |
|
4842 |
-
#: tpl/page_optm/entry.tpl.php:
|
4843 |
msgid ""
|
4844 |
"Please test thoroughly when enabling any option in this list. After changing "
|
4845 |
"Minify/Combine settings, please do a Purge All action."
|
@@ -5142,7 +5119,7 @@ msgid ""
|
|
5142 |
msgstr ""
|
5143 |
|
5144 |
#: tpl/page_optm/settings_localization.tpl.php:127
|
5145 |
-
#: tpl/toolbox/beta_test.tpl.php:
|
5146 |
msgid "Example"
|
5147 |
msgstr ""
|
5148 |
|
@@ -5298,8 +5275,8 @@ msgstr ""
|
|
5298 |
#: tpl/page_optm/settings_media_exc.tpl.php:28
|
5299 |
#: tpl/page_optm/settings_tuning.tpl.php:37
|
5300 |
#: tpl/page_optm/settings_tuning.tpl.php:58
|
5301 |
-
#: tpl/page_optm/settings_tuning.tpl.php:
|
5302 |
-
#: tpl/page_optm/
|
5303 |
msgid "Elements with attribute %s in html code will be excluded."
|
5304 |
msgstr ""
|
5305 |
|
@@ -5328,166 +5305,402 @@ msgid "These images will not generate LQIP."
|
|
5328 |
msgstr ""
|
5329 |
|
5330 |
#: tpl/page_optm/settings_tuning.tpl.php:31
|
5331 |
-
msgid "Listed
|
5332 |
msgstr ""
|
5333 |
|
5334 |
#: tpl/page_optm/settings_tuning.tpl.php:38
|
5335 |
#: tpl/page_optm/settings_tuning.tpl.php:59
|
5336 |
-
#: tpl/page_optm/
|
5337 |
-
#: tpl/page_optm/
|
5338 |
msgid "Predefined list will also be combined w/ the above settings"
|
5339 |
msgstr ""
|
5340 |
|
5341 |
#: tpl/page_optm/settings_tuning.tpl.php:52
|
5342 |
-
msgid "Listed JS files or inline JS code will not be
|
5343 |
msgstr ""
|
5344 |
|
5345 |
#: tpl/page_optm/settings_tuning.tpl.php:73
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5346 |
msgid ""
|
5347 |
"List the CSS selector that its style should be always contained in UCSS."
|
5348 |
msgstr ""
|
5349 |
|
5350 |
-
#: tpl/page_optm/
|
5351 |
msgid "How to choose an UCSS allowlist selector?"
|
5352 |
msgstr ""
|
5353 |
|
5354 |
-
#: tpl/page_optm/
|
5355 |
msgid "Wildcard %s supported."
|
5356 |
msgstr ""
|
5357 |
|
5358 |
-
#: tpl/page_optm/
|
5359 |
msgid ""
|
5360 |
"The selector must exist in the CSS. Parent classes in the HTML will not work."
|
5361 |
msgstr ""
|
5362 |
|
5363 |
-
#: tpl/page_optm/
|
5364 |
msgid "Listed URI will not generate UCSS."
|
5365 |
msgstr ""
|
5366 |
|
5367 |
-
#: tpl/page_optm/
|
5368 |
msgid ""
|
5369 |
"Use %1$s to generate one single UCSS for the pages which page type is %2$s "
|
5370 |
"while other page types still per URL."
|
5371 |
msgstr ""
|
5372 |
|
5373 |
-
#: tpl/page_optm/
|
5374 |
msgid "Use %1$s to bypass UCSS for the pages which page type is %2$s."
|
5375 |
msgstr ""
|
5376 |
|
5377 |
-
#: tpl/page_optm/
|
5378 |
msgid ""
|
5379 |
"List post types where each item of that type should have its own CCSS "
|
5380 |
"generated."
|
5381 |
msgstr ""
|
5382 |
|
5383 |
-
#: tpl/page_optm/
|
5384 |
msgid ""
|
5385 |
"For example, if every Page on the site has different formatting, enter %s in "
|
5386 |
"the box. Separate critical CSS files will be stored for every Page on the "
|
5387 |
"site."
|
5388 |
msgstr ""
|
5389 |
|
5390 |
-
#: tpl/page_optm/
|
5391 |
msgid ""
|
5392 |
"Separate critical CSS files will be generated for paths containing these "
|
5393 |
"strings."
|
5394 |
msgstr ""
|
5395 |
|
5396 |
-
#: tpl/page_optm/
|
5397 |
msgid "Specify critical CSS rules for above-the-fold content when enabling %s."
|
5398 |
msgstr ""
|
5399 |
|
5400 |
-
#: tpl/page_optm/
|
5401 |
-
msgid "
|
|
|
5402 |
msgstr ""
|
5403 |
|
5404 |
-
#: tpl/page_optm/
|
5405 |
-
msgid "
|
|
|
|
|
5406 |
msgstr ""
|
5407 |
|
5408 |
-
#: tpl/page_optm/
|
5409 |
-
msgid "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5410 |
msgstr ""
|
5411 |
|
5412 |
-
#: tpl/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5413 |
msgid ""
|
5414 |
-
"
|
5415 |
-
"
|
5416 |
msgstr ""
|
5417 |
|
5418 |
-
#: tpl/
|
5419 |
-
msgid "
|
|
|
|
|
5420 |
msgstr ""
|
5421 |
|
5422 |
-
#: tpl/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5423 |
msgid ""
|
5424 |
-
"
|
|
|
5425 |
msgstr ""
|
5426 |
|
5427 |
-
#: tpl/
|
5428 |
msgid ""
|
5429 |
-
"
|
5430 |
-
"
|
5431 |
msgstr ""
|
5432 |
|
5433 |
-
#: tpl/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5434 |
msgid ""
|
5435 |
-
"This
|
5436 |
-
"
|
|
|
5437 |
msgstr ""
|
5438 |
|
5439 |
-
#: tpl/
|
5440 |
-
msgid "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5441 |
msgstr ""
|
5442 |
|
5443 |
-
#: tpl/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5444 |
msgid "Try GitHub Version"
|
5445 |
msgstr ""
|
5446 |
|
5447 |
-
#: tpl/toolbox/beta_test.tpl.php:
|
5448 |
msgid ""
|
5449 |
"Use this section to switch plugin versions. To beta test a GitHub commit, "
|
5450 |
"enter the commit URL in the field below."
|
5451 |
msgstr ""
|
5452 |
|
5453 |
-
#: tpl/toolbox/beta_test.tpl.php:
|
5454 |
msgid "Use latest GitHub Dev commit"
|
5455 |
msgstr ""
|
5456 |
|
5457 |
-
#: tpl/toolbox/beta_test.tpl.php:
|
5458 |
msgid "Use latest GitHub Master commit"
|
5459 |
msgstr ""
|
5460 |
|
5461 |
-
#: tpl/toolbox/beta_test.tpl.php:
|
5462 |
msgid "Use latest WordPress release version"
|
5463 |
msgstr ""
|
5464 |
|
5465 |
-
#: tpl/toolbox/beta_test.tpl.php:
|
5466 |
msgid "OR"
|
5467 |
msgstr ""
|
5468 |
|
5469 |
-
#: tpl/toolbox/beta_test.tpl.php:
|
5470 |
msgid ""
|
5471 |
"Downgrade not recommended. May cause fatal error due to refactored code."
|
5472 |
msgstr ""
|
5473 |
|
5474 |
-
#: tpl/toolbox/beta_test.tpl.php:
|
5475 |
msgid ""
|
5476 |
"Press the %s button to use the most recent GitHub commit. Master is for "
|
5477 |
"release candidate & Dev is for experimental testing."
|
5478 |
msgstr ""
|
5479 |
|
5480 |
-
#: tpl/toolbox/beta_test.tpl.php:
|
5481 |
msgid "Use latest GitHub Dev/Master commit"
|
5482 |
msgstr ""
|
5483 |
|
5484 |
-
#: tpl/toolbox/beta_test.tpl.php:
|
5485 |
msgid ""
|
5486 |
"Press the %s button to stop beta testing and go back to the current release "
|
5487 |
"from the WordPress Plugin Directory."
|
5488 |
msgstr ""
|
5489 |
|
5490 |
-
#: tpl/toolbox/beta_test.tpl.php:
|
5491 |
msgid ""
|
5492 |
"In order to avoid an upgrade error, you must be using %1$s or later before "
|
5493 |
"you can upgrade to %2$s versions."
|
@@ -5525,10 +5738,6 @@ msgstr ""
|
|
5525 |
msgid "Current %s Contents"
|
5526 |
msgstr ""
|
5527 |
|
5528 |
-
#: tpl/toolbox/entry.tpl.php:10
|
5529 |
-
msgid "Import / Export"
|
5530 |
-
msgstr ""
|
5531 |
-
|
5532 |
#: tpl/toolbox/entry.tpl.php:14
|
5533 |
msgid "View .htaccess"
|
5534 |
msgstr ""
|
@@ -5945,10 +6154,6 @@ msgstr ""
|
|
5945 |
msgid "More information about the available commands can be found here."
|
5946 |
msgstr ""
|
5947 |
|
5948 |
-
#: tpl/toolbox/settings-debug.tpl.php:82
|
5949 |
-
msgid "Basic"
|
5950 |
-
msgstr ""
|
5951 |
-
|
5952 |
#: tpl/toolbox/settings-debug.tpl.php:84
|
5953 |
msgid "Advanced level will log more details."
|
5954 |
msgstr ""
|
2 |
# This file is distributed under the same license as the LiteSpeed Cache package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
+
"Project-Id-Version: LiteSpeed Cache 5.3\n"
|
6 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/litespeed-cache\n"
|
7 |
+
"POT-Creation-Date: 2022-10-26 18:41:09+00:00\n"
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
41 |
msgstr ""
|
42 |
|
43 |
#: src/admin-display.cls.php:121
|
44 |
+
msgid "Presets"
|
45 |
+
msgstr ""
|
46 |
+
|
47 |
+
#: src/admin-display.cls.php:123
|
48 |
msgid "General"
|
49 |
msgstr ""
|
50 |
|
51 |
+
#: src/admin-display.cls.php:125 tpl/cache/entry.tpl.php:6
|
52 |
#: tpl/cache/entry_network.tpl.php:6
|
53 |
msgid "Cache"
|
54 |
msgstr ""
|
55 |
|
56 |
+
#: src/admin-display.cls.php:127 tpl/cdn/settings.tpl.php:194
|
57 |
msgid "CDN"
|
58 |
msgstr ""
|
59 |
|
60 |
+
#: src/admin-display.cls.php:129 src/gui.cls.php:613
|
61 |
#: tpl/dash/dashboard.tpl.php:56 tpl/dash/network_dash.tpl.php:27
|
62 |
+
#: tpl/presets/standard.tpl.php:24
|
63 |
msgid "Image Optimization"
|
64 |
msgstr ""
|
65 |
|
66 |
+
#: src/admin-display.cls.php:131 tpl/dash/dashboard.tpl.php:57
|
67 |
msgid "Page Optimization"
|
68 |
msgstr ""
|
69 |
|
70 |
+
#: src/admin-display.cls.php:133
|
71 |
msgid "Database"
|
72 |
msgstr ""
|
73 |
|
74 |
+
#: src/admin-display.cls.php:135 src/lang.cls.php:245
|
75 |
msgid "Crawler"
|
76 |
msgstr ""
|
77 |
|
78 |
+
#: src/admin-display.cls.php:137
|
79 |
msgid "Toolbox"
|
80 |
msgstr ""
|
81 |
|
82 |
+
#: src/admin-display.cls.php:211
|
83 |
msgid "Cookie Name"
|
84 |
msgstr ""
|
85 |
|
86 |
+
#: src/admin-display.cls.php:212 tpl/crawler/settings-simulation.tpl.php:51
|
87 |
msgid "Cookie Values"
|
88 |
msgstr ""
|
89 |
|
90 |
+
#: src/admin-display.cls.php:214
|
91 |
msgid "Remove cookie simulation"
|
92 |
msgstr ""
|
93 |
|
94 |
+
#: src/admin-display.cls.php:215
|
95 |
msgid "Add new cookie to simulate"
|
96 |
msgstr ""
|
97 |
|
98 |
+
#: src/admin-display.cls.php:234
|
99 |
msgid "CDN URL to be used. For example, %s"
|
100 |
msgstr ""
|
101 |
|
102 |
+
#: src/admin-display.cls.php:236
|
103 |
msgid "Remove CDN URL"
|
104 |
msgstr ""
|
105 |
|
106 |
+
#: src/admin-display.cls.php:237
|
107 |
msgid "Add new CDN URL"
|
108 |
msgstr ""
|
109 |
|
110 |
+
#: src/admin-display.cls.php:238 src/admin-display.cls.php:900
|
111 |
+
#: src/admin-display.cls.php:929 src/admin-display.cls.php:980
|
112 |
#: tpl/cache/settings-cache.tpl.php:19
|
113 |
#: tpl/cache/settings_inc.cache_mobile.tpl.php:71 tpl/cdn/settings.tpl.php:49
|
114 |
#: tpl/page_optm/settings_css.tpl.php:176
|
117 |
msgid "ON"
|
118 |
msgstr ""
|
119 |
|
120 |
+
#: src/admin-display.cls.php:239 src/admin-display.cls.php:901
|
121 |
+
#: src/admin-display.cls.php:928 src/admin-display.cls.php:980
|
122 |
#: tpl/cache/settings-cache.tpl.php:19
|
123 |
#: tpl/cache/settings_inc.object.tpl.php:210 tpl/cdn/settings.tpl.php:54
|
124 |
#: tpl/page_optm/settings_css.tpl.php:74 tpl/page_optm/settings_js.tpl.php:63
|
127 |
msgid "OFF"
|
128 |
msgstr ""
|
129 |
|
130 |
+
#: src/admin-display.cls.php:287 src/gui.cls.php:604
|
131 |
msgid "Settings"
|
132 |
msgstr ""
|
133 |
|
134 |
+
#: src/admin-display.cls.php:503
|
135 |
msgid "Dismiss"
|
136 |
msgstr ""
|
137 |
|
138 |
+
#: src/admin-display.cls.php:769 src/admin-display.cls.php:774
|
139 |
msgid "Save Changes"
|
140 |
msgstr ""
|
141 |
|
142 |
+
#: src/admin-display.cls.php:992
|
143 |
msgid "This setting is overwritten by the PHP constant %s"
|
144 |
msgstr ""
|
145 |
|
146 |
+
#: src/admin-display.cls.php:995
|
147 |
msgid "This setting is overwritten by the primary site setting"
|
148 |
msgstr ""
|
149 |
|
150 |
+
#: src/admin-display.cls.php:998
|
151 |
msgid "This setting is overwritten by the Network setting"
|
152 |
msgstr ""
|
153 |
|
154 |
+
#: src/admin-display.cls.php:1002
|
155 |
msgid "currently set to %s"
|
156 |
msgstr ""
|
157 |
|
158 |
+
#: src/admin-display.cls.php:1012 tpl/cache/settings_inc.object.tpl.php:103
|
159 |
#: tpl/crawler/settings-general.tpl.php:60
|
160 |
#: tpl/crawler/settings-general.tpl.php:74
|
161 |
#: tpl/crawler/settings-general.tpl.php:89 tpl/esi_widget_edit.php:70
|
162 |
msgid "seconds"
|
163 |
msgstr ""
|
164 |
|
165 |
+
#: src/admin-display.cls.php:1043 src/admin-display.cls.php:1048
|
166 |
#: tpl/cdn/settings.tpl.php:99
|
167 |
msgid "Default value"
|
168 |
msgstr ""
|
169 |
|
170 |
+
#: src/admin-display.cls.php:1072
|
171 |
msgid "Invalid rewrite rule"
|
172 |
msgstr ""
|
173 |
|
174 |
+
#: src/admin-display.cls.php:1089
|
175 |
msgid "Path must end with %s"
|
176 |
msgstr ""
|
177 |
|
178 |
+
#: src/admin-display.cls.php:1107
|
179 |
msgid "Minimum value"
|
180 |
msgstr ""
|
181 |
|
182 |
+
#: src/admin-display.cls.php:1110
|
183 |
msgid "Maximum value"
|
184 |
msgstr ""
|
185 |
|
186 |
+
#: src/admin-display.cls.php:1122
|
187 |
msgid "Zero, or"
|
188 |
msgstr ""
|
189 |
|
190 |
+
#: src/admin-display.cls.php:1129
|
191 |
msgid "Larger than"
|
192 |
msgstr ""
|
193 |
|
194 |
+
#: src/admin-display.cls.php:1132
|
195 |
msgid "Smaller than"
|
196 |
msgstr ""
|
197 |
|
198 |
+
#: src/admin-display.cls.php:1135
|
199 |
msgid "Value range"
|
200 |
msgstr ""
|
201 |
|
202 |
+
#: src/admin-display.cls.php:1160
|
203 |
msgid "Invalid IP"
|
204 |
msgstr ""
|
205 |
|
206 |
+
#: src/admin-display.cls.php:1180 tpl/cache/settings-esi.tpl.php:95
|
207 |
#: tpl/page_optm/settings_css.tpl.php:178
|
208 |
#: tpl/page_optm/settings_html.tpl.php:85
|
209 |
#: tpl/page_optm/settings_media.tpl.php:235
|
210 |
#: tpl/page_optm/settings_media_exc.tpl.php:26
|
211 |
#: tpl/page_optm/settings_tuning.tpl.php:35
|
212 |
#: tpl/page_optm/settings_tuning.tpl.php:56
|
213 |
+
#: tpl/page_optm/settings_tuning.tpl.php:77
|
214 |
+
#: tpl/page_optm/settings_tuning_css.tpl.php:24
|
215 |
+
#: tpl/page_optm/settings_tuning_css.tpl.php:84
|
216 |
#: tpl/toolbox/edit_htaccess.tpl.php:54 tpl/toolbox/edit_htaccess.tpl.php:71
|
217 |
msgid "API"
|
218 |
msgstr ""
|
219 |
|
220 |
+
#: src/admin-display.cls.php:1181
|
221 |
msgid "Server variable(s) %s available to override this setting."
|
222 |
msgstr ""
|
223 |
|
224 |
+
#: src/admin-display.cls.php:1193
|
225 |
msgid "The URLs will be compared to the REQUEST_URI server variable."
|
226 |
msgstr ""
|
227 |
|
228 |
+
#: src/admin-display.cls.php:1194
|
229 |
msgid "For example, for %s, %s can be used here."
|
230 |
msgstr ""
|
231 |
|
232 |
+
#: src/admin-display.cls.php:1196
|
233 |
msgid "To match the beginning, add %s to the beginning of the item."
|
234 |
msgstr ""
|
235 |
|
236 |
+
#: src/admin-display.cls.php:1197
|
237 |
msgid "To do an exact match, add %s to the end of the URL."
|
238 |
msgstr ""
|
239 |
|
240 |
+
#: src/admin-display.cls.php:1198 src/doc.cls.php:74
|
241 |
msgid "One per line."
|
242 |
msgstr ""
|
243 |
|
244 |
+
#: src/admin-display.cls.php:1212
|
245 |
msgid "%s groups"
|
246 |
msgstr ""
|
247 |
|
248 |
+
#: src/admin-display.cls.php:1215
|
249 |
msgid "%s images"
|
250 |
msgstr ""
|
251 |
|
252 |
+
#: src/admin-display.cls.php:1225
|
253 |
msgid "%s group"
|
254 |
msgstr ""
|
255 |
|
256 |
+
#: src/admin-display.cls.php:1228
|
257 |
msgid "%s image"
|
258 |
msgstr ""
|
259 |
|
324 |
"that the account still exists and must be deleted separately."
|
325 |
msgstr ""
|
326 |
|
327 |
+
#: src/cdn-setup.cls.php:322 src/cloud.cls.php:773 src/cloud.cls.php:781
|
328 |
+
#: src/cloud.cls.php:1171
|
329 |
msgid "Message from QUIC.cloud server"
|
330 |
msgstr ""
|
331 |
|
332 |
+
#: src/cloud.cls.php:379 src/cloud.cls.php:392 src/cloud.cls.php:437
|
333 |
+
#: src/cloud.cls.php:462 src/cloud.cls.php:600 src/cloud.cls.php:1140
|
334 |
msgid "Cloud Error"
|
335 |
msgstr ""
|
336 |
|
337 |
+
#: src/cloud.cls.php:437
|
338 |
msgid "No available Cloud Node."
|
339 |
msgstr ""
|
340 |
|
341 |
+
#: src/cloud.cls.php:462
|
342 |
msgid "No available Cloud Node after checked server load."
|
343 |
msgstr ""
|
344 |
|
345 |
+
#: src/cloud.cls.php:600
|
346 |
msgid "Please try after %1$s for service %2$s."
|
347 |
msgstr ""
|
348 |
|
349 |
+
#: src/cloud.cls.php:687 src/cloud.cls.php:708
|
350 |
msgid "Failed to request via WordPress"
|
351 |
msgstr ""
|
352 |
|
353 |
+
#: src/cloud.cls.php:728
|
354 |
msgid "Redetected node"
|
355 |
msgstr ""
|
356 |
|
357 |
+
#: src/cloud.cls.php:736
|
358 |
msgid ""
|
359 |
"We are working hard to improve your online service experience. The service "
|
360 |
"will be unavailable while we work. We apologize for any inconvenience."
|
361 |
msgstr ""
|
362 |
|
363 |
+
#: src/cloud.cls.php:789
|
364 |
msgid "Good news from QUIC.cloud server"
|
365 |
msgstr ""
|
366 |
|
367 |
+
#: src/cloud.cls.php:798
|
368 |
msgid "%1$s plugin version %2$s required for this action."
|
369 |
msgstr ""
|
370 |
|
371 |
+
#: src/cloud.cls.php:855 src/cloud.cls.php:1160
|
372 |
msgid "Failed to communicate with QUIC.cloud server"
|
373 |
msgstr ""
|
374 |
|
375 |
+
#: src/cloud.cls.php:897
|
376 |
msgid ""
|
377 |
"Site not recognized. Domain Key has been automatically removed. Please "
|
378 |
"request a new one."
|
379 |
msgstr ""
|
380 |
|
381 |
+
#: src/cloud.cls.php:898 src/error.cls.php:48
|
382 |
msgid "Click here to set."
|
383 |
msgstr ""
|
384 |
|
385 |
+
#: src/cloud.cls.php:963
|
386 |
msgid "Cannot request REST API, no token saved."
|
387 |
msgstr ""
|
388 |
|
389 |
+
#: src/cloud.cls.php:989
|
390 |
msgid "Cloud REST Error"
|
391 |
msgstr ""
|
392 |
|
393 |
+
#: src/cloud.cls.php:1007
|
394 |
msgid "Cloud REST API returned error: "
|
395 |
msgstr ""
|
396 |
|
397 |
+
#: src/cloud.cls.php:1179
|
398 |
msgid ""
|
399 |
"Applied for Domain Key successfully. Please wait for result. Domain Key will "
|
400 |
"be automatically sent to your WordPress."
|
401 |
msgstr ""
|
402 |
|
403 |
+
#: src/cloud.cls.php:1233
|
404 |
msgid ""
|
405 |
"Congratulations, your Domain Key has been approved! The setting has been "
|
406 |
"updated accordingly."
|
407 |
msgstr ""
|
408 |
|
409 |
+
#: src/cloud.cls.php:1317
|
410 |
msgid "Domain Key hash mismatch"
|
411 |
msgstr ""
|
412 |
|
413 |
+
#: src/cloud.cls.php:1439
|
414 |
msgid "Sync credit allowance with Cloud Server successfully."
|
415 |
msgstr ""
|
416 |
|
417 |
+
#: src/conf.cls.php:710
|
418 |
msgid "Changed setting successfully."
|
419 |
msgstr ""
|
420 |
|
421 |
+
#: src/core.cls.php:319
|
422 |
msgid "Notified LiteSpeed Web Server to purge everything."
|
423 |
msgstr ""
|
424 |
|
425 |
+
#: src/core.cls.php:324
|
426 |
msgid "Notified LiteSpeed Web Server to purge the list."
|
427 |
msgstr ""
|
428 |
|
442 |
msgid "Crawler disabled list is cleared! All crawlers are set to active! "
|
443 |
msgstr ""
|
444 |
|
445 |
+
#: src/crawler.cls.php:881
|
446 |
msgid "Guest"
|
447 |
msgstr ""
|
448 |
|
449 |
+
#: src/crawler.cls.php:1032
|
450 |
msgid "Manually added to blocklist"
|
451 |
msgstr ""
|
452 |
|
453 |
+
#: src/crawler.cls.php:1035
|
454 |
msgid "Previously existed in blocklist"
|
455 |
msgstr ""
|
456 |
|
457 |
+
#: src/data.cls.php:224
|
458 |
msgid ""
|
459 |
"The database has been upgrading in the background since %s. This message "
|
460 |
"will disappear once upgrade is complete."
|
461 |
msgstr ""
|
462 |
|
463 |
+
#: src/data.upgrade.func.php:118
|
464 |
msgid ""
|
465 |
"LiteSpeed Cache upgraded successfully. NOTE: Due to changes in this version, "
|
466 |
"the settings %1$s and %2$s have been turned OFF. Please turn them back on "
|
468 |
"errors."
|
469 |
msgstr ""
|
470 |
|
471 |
+
#: src/data.upgrade.func.php:118 src/lang.cls.php:148
|
472 |
msgid "JS Combine"
|
473 |
msgstr ""
|
474 |
|
475 |
+
#: src/data.upgrade.func.php:118
|
476 |
msgid "JS Defer"
|
477 |
msgstr ""
|
478 |
|
479 |
+
#: src/data.upgrade.func.php:119
|
480 |
msgid "Click here to settings"
|
481 |
msgstr ""
|
482 |
|
572 |
"Before generating key, please verify all IPs on this list are allowlisted"
|
573 |
msgstr ""
|
574 |
|
575 |
+
#: src/doc.cls.php:119 tpl/general/settings.tpl.php:87
|
576 |
msgid "Current Online Server IPs"
|
577 |
msgstr ""
|
578 |
|
804 |
msgstr ""
|
805 |
|
806 |
#: src/gui.cls.php:497 src/gui.cls.php:657 src/lang.cls.php:114
|
807 |
+
#: tpl/dash/dashboard.tpl.php:421 tpl/toolbox/purge.tpl.php:52
|
808 |
msgid "Object Cache"
|
809 |
msgstr ""
|
810 |
|
821 |
msgid "LQIP Cache"
|
822 |
msgstr ""
|
823 |
|
824 |
+
#: src/gui.cls.php:556 src/gui.cls.php:716 src/lang.cls.php:177
|
825 |
+
#: tpl/presets/standard.tpl.php:42 tpl/toolbox/purge.tpl.php:106
|
826 |
msgid "Gravatar Cache"
|
827 |
msgstr ""
|
828 |
|
883 |
msgid "No new image gathered."
|
884 |
msgstr ""
|
885 |
|
886 |
+
#: src/img-optm.cls.php:182
|
887 |
msgid "Gathered %d images successfully."
|
888 |
msgstr ""
|
889 |
|
890 |
+
#: src/img-optm.cls.php:474
|
891 |
msgid "Pushed %1$s to Cloud server, accepted %2$s."
|
892 |
msgstr ""
|
893 |
|
894 |
+
#: src/img-optm.cls.php:511
|
895 |
msgid "Bypassed %1$s duplicated images."
|
896 |
msgstr ""
|
897 |
|
898 |
+
#: src/img-optm.cls.php:549
|
899 |
msgid "Cleared %1$s invalid images."
|
900 |
msgstr ""
|
901 |
|
902 |
+
#: src/img-optm.cls.php:628
|
903 |
msgid "No valid image found in the current request."
|
904 |
msgstr ""
|
905 |
|
906 |
+
#: src/img-optm.cls.php:651
|
907 |
msgid "No valid image found by Cloud server in the current request."
|
908 |
msgstr ""
|
909 |
|
910 |
+
#: src/img-optm.cls.php:890
|
911 |
msgid "Pull Cron is running"
|
912 |
msgstr ""
|
913 |
|
914 |
+
#: src/img-optm.cls.php:949
|
915 |
msgid "Some optimized image file(s) has expired and was cleared."
|
916 |
msgstr ""
|
917 |
|
918 |
+
#: src/img-optm.cls.php:966
|
919 |
msgid "One or more pulled images does not match with the notified image md5"
|
920 |
msgstr ""
|
921 |
|
922 |
+
#: src/img-optm.cls.php:1010
|
923 |
msgid "Optimized WebP file expired and was cleared."
|
924 |
msgstr ""
|
925 |
|
926 |
+
#: src/img-optm.cls.php:1027
|
927 |
msgid "Pulled WebP image md5 does not match the notified WebP image md5."
|
928 |
msgstr ""
|
929 |
|
930 |
+
#: src/img-optm.cls.php:1087
|
931 |
msgid "Pulled %d image(s)"
|
932 |
msgstr ""
|
933 |
|
934 |
+
#: src/img-optm.cls.php:1174
|
935 |
msgid "Cleaned up unfinished data successfully."
|
936 |
msgstr ""
|
937 |
|
938 |
+
#: src/img-optm.cls.php:1245
|
939 |
msgid "Destroy all optimization data successfully."
|
940 |
msgstr ""
|
941 |
|
942 |
+
#: src/img-optm.cls.php:1277 src/img-optm.cls.php:1342
|
943 |
msgid "Rescanned successfully."
|
944 |
msgstr ""
|
945 |
|
946 |
+
#: src/img-optm.cls.php:1342
|
947 |
msgid "Rescanned %d images successfully."
|
948 |
msgstr ""
|
949 |
|
950 |
+
#: src/img-optm.cls.php:1401
|
951 |
msgid "Calculated backups successfully."
|
952 |
msgstr ""
|
953 |
|
954 |
+
#: src/img-optm.cls.php:1463
|
955 |
msgid "Removed backups successfully."
|
956 |
msgstr ""
|
957 |
|
958 |
+
#: src/img-optm.cls.php:1658
|
959 |
msgid "Switched images successfully."
|
960 |
msgstr ""
|
961 |
|
962 |
+
#: src/img-optm.cls.php:1686
|
963 |
msgid "Disabled WebP file successfully."
|
964 |
msgstr ""
|
965 |
|
966 |
+
#: src/img-optm.cls.php:1692
|
967 |
msgid "Enabled WebP file successfully."
|
968 |
msgstr ""
|
969 |
|
970 |
+
#: src/img-optm.cls.php:1708
|
971 |
msgid "Restored original file successfully."
|
972 |
msgstr ""
|
973 |
|
974 |
+
#: src/img-optm.cls.php:1715
|
975 |
msgid "Switched to optimized file successfully."
|
976 |
msgstr ""
|
977 |
|
978 |
+
#: src/img-optm.cls.php:1778
|
979 |
msgid "Reset the optimized data successfully."
|
980 |
msgstr ""
|
981 |
|
995 |
msgid "Images not requested"
|
996 |
msgstr ""
|
997 |
|
998 |
+
#: src/lang.cls.php:24 tpl/dash/dashboard.tpl.php:362
|
999 |
msgid "Images requested"
|
1000 |
msgstr ""
|
1001 |
|
1002 |
+
#: src/lang.cls.php:25 tpl/dash/dashboard.tpl.php:372
|
1003 |
msgid "Images notified to pull"
|
1004 |
msgstr ""
|
1005 |
|
1070 |
msgid "Enable Cache"
|
1071 |
msgstr ""
|
1072 |
|
1073 |
+
#: src/lang.cls.php:91 tpl/dash/dashboard.tpl.php:422
|
1074 |
+
#: tpl/presets/standard.tpl.php:12
|
1075 |
msgid "Browser Cache"
|
1076 |
msgstr ""
|
1077 |
|
1272 |
msgstr ""
|
1273 |
|
1274 |
#: src/lang.cls.php:144
|
1275 |
+
msgid "UCSS Selector Allowlist"
|
1276 |
msgstr ""
|
1277 |
|
1278 |
#: src/lang.cls.php:145
|
1279 |
+
msgid "UCSS File Excludes and Inline"
|
1280 |
msgstr ""
|
1281 |
|
1282 |
#: src/lang.cls.php:146
|
1283 |
+
msgid "UCSS URI Excludes"
|
1284 |
+
msgstr ""
|
1285 |
+
|
1286 |
+
#: src/lang.cls.php:147
|
1287 |
msgid "JS Minify"
|
1288 |
msgstr ""
|
1289 |
|
1290 |
+
#: src/lang.cls.php:149
|
1291 |
msgid "JS Combine External and Inline"
|
1292 |
msgstr ""
|
1293 |
|
1294 |
+
#: src/lang.cls.php:150
|
1295 |
msgid "HTML Minify"
|
1296 |
msgstr ""
|
1297 |
|
1298 |
+
#: src/lang.cls.php:151
|
1299 |
msgid "HTML Lazy Load Selectors"
|
1300 |
msgstr ""
|
1301 |
|
1302 |
+
#: src/lang.cls.php:152 tpl/page_optm/settings_tuning_css.tpl.php:131
|
1303 |
msgid "Load CSS Asynchronously"
|
1304 |
msgstr ""
|
1305 |
|
1306 |
+
#: src/lang.cls.php:153
|
1307 |
msgid "CCSS Per URL"
|
1308 |
msgstr ""
|
1309 |
|
1310 |
+
#: src/lang.cls.php:154
|
1311 |
msgid "Inline CSS Async Lib"
|
1312 |
msgstr ""
|
1313 |
|
1314 |
+
#: src/lang.cls.php:155 tpl/presets/standard.tpl.php:39
|
1315 |
msgid "Font Display Optimization"
|
1316 |
msgstr ""
|
1317 |
|
1318 |
+
#: src/lang.cls.php:156
|
1319 |
msgid "Load JS Deferred"
|
1320 |
msgstr ""
|
1321 |
|
1322 |
+
#: src/lang.cls.php:157
|
1323 |
msgid "Localize Resources"
|
1324 |
msgstr ""
|
1325 |
|
1326 |
+
#: src/lang.cls.php:158
|
1327 |
msgid "Localization Files"
|
1328 |
msgstr ""
|
1329 |
|
1330 |
+
#: src/lang.cls.php:159
|
1331 |
msgid "DNS Prefetch"
|
1332 |
msgstr ""
|
1333 |
|
1334 |
+
#: src/lang.cls.php:160
|
1335 |
msgid "DNS Prefetch Control"
|
1336 |
msgstr ""
|
1337 |
|
1338 |
+
#: src/lang.cls.php:161
|
1339 |
msgid "CSS Excludes"
|
1340 |
msgstr ""
|
1341 |
|
1342 |
+
#: src/lang.cls.php:162
|
1343 |
msgid "JS Excludes"
|
1344 |
msgstr ""
|
1345 |
|
1346 |
+
#: src/lang.cls.php:163
|
1347 |
msgid "Remove Query Strings"
|
1348 |
msgstr ""
|
1349 |
|
1350 |
+
#: src/lang.cls.php:164
|
1351 |
msgid "Load Google Fonts Asynchronously"
|
1352 |
msgstr ""
|
1353 |
|
1354 |
+
#: src/lang.cls.php:165
|
1355 |
msgid "Remove Google Fonts"
|
1356 |
msgstr ""
|
1357 |
|
1358 |
+
#: src/lang.cls.php:166
|
1359 |
msgid "Critical CSS Rules"
|
1360 |
msgstr ""
|
1361 |
|
1362 |
+
#: src/lang.cls.php:167
|
1363 |
msgid "Separate CCSS Cache Post Types"
|
1364 |
msgstr ""
|
1365 |
|
1366 |
+
#: src/lang.cls.php:168
|
1367 |
msgid "Separate CCSS Cache URIs"
|
1368 |
msgstr ""
|
1369 |
|
1370 |
+
#: src/lang.cls.php:169
|
1371 |
msgid "JS Deferred Excludes"
|
1372 |
msgstr ""
|
1373 |
|
1374 |
+
#: src/lang.cls.php:170
|
1375 |
msgid "Guest Mode JS Excludes"
|
1376 |
msgstr ""
|
1377 |
|
1378 |
+
#: src/lang.cls.php:171 tpl/presets/standard.tpl.php:44
|
1379 |
msgid "Remove WordPress Emoji"
|
1380 |
msgstr ""
|
1381 |
|
1382 |
+
#: src/lang.cls.php:172 tpl/presets/standard.tpl.php:45
|
1383 |
msgid "Remove Noscript Tags"
|
1384 |
msgstr ""
|
1385 |
|
1386 |
+
#: src/lang.cls.php:173
|
1387 |
msgid "URI Excludes"
|
1388 |
msgstr ""
|
1389 |
|
1390 |
+
#: src/lang.cls.php:174
|
1391 |
msgid "Optimize for Guests Only"
|
1392 |
msgstr ""
|
1393 |
|
1394 |
+
#: src/lang.cls.php:175
|
1395 |
msgid "Role Excludes"
|
1396 |
msgstr ""
|
1397 |
|
1398 |
+
#: src/lang.cls.php:178
|
1399 |
msgid "Gravatar Cache Cron"
|
1400 |
msgstr ""
|
1401 |
|
1402 |
+
#: src/lang.cls.php:179
|
1403 |
msgid "Gravatar Cache TTL"
|
1404 |
msgstr ""
|
1405 |
|
1406 |
+
#: src/lang.cls.php:181
|
1407 |
msgid "Lazy Load Images"
|
1408 |
msgstr ""
|
1409 |
|
1410 |
+
#: src/lang.cls.php:182
|
1411 |
msgid "Lazy Load Image Excludes"
|
1412 |
msgstr ""
|
1413 |
|
1414 |
+
#: src/lang.cls.php:183
|
1415 |
msgid "Lazy Load Image Class Name Excludes"
|
1416 |
msgstr ""
|
1417 |
|
1418 |
+
#: src/lang.cls.php:184
|
1419 |
msgid "Lazy Load Image Parent Class Name Excludes"
|
1420 |
msgstr ""
|
1421 |
|
1422 |
+
#: src/lang.cls.php:185
|
1423 |
msgid "Lazy Load Iframe Class Name Excludes"
|
1424 |
msgstr ""
|
1425 |
|
1426 |
+
#: src/lang.cls.php:186
|
1427 |
msgid "Lazy Load Iframe Parent Class Name Excludes"
|
1428 |
msgstr ""
|
1429 |
|
1430 |
+
#: src/lang.cls.php:187
|
1431 |
msgid "Lazy Load URI Excludes"
|
1432 |
msgstr ""
|
1433 |
|
1434 |
+
#: src/lang.cls.php:188
|
1435 |
msgid "LQIP Excludes"
|
1436 |
msgstr ""
|
1437 |
|
1438 |
+
#: src/lang.cls.php:189
|
1439 |
msgid "Basic Image Placeholder"
|
1440 |
msgstr ""
|
1441 |
|
1442 |
+
#: src/lang.cls.php:190
|
1443 |
msgid "Responsive Placeholder"
|
1444 |
msgstr ""
|
1445 |
|
1446 |
+
#: src/lang.cls.php:191
|
1447 |
msgid "Responsive Placeholder Color"
|
1448 |
msgstr ""
|
1449 |
|
1450 |
+
#: src/lang.cls.php:192
|
1451 |
msgid "Responsive Placeholder SVG"
|
1452 |
msgstr ""
|
1453 |
|
1454 |
+
#: src/lang.cls.php:193
|
1455 |
msgid "LQIP Cloud Generator"
|
1456 |
msgstr ""
|
1457 |
|
1458 |
+
#: src/lang.cls.php:194
|
1459 |
msgid "LQIP Quality"
|
1460 |
msgstr ""
|
1461 |
|
1462 |
+
#: src/lang.cls.php:195
|
1463 |
msgid "LQIP Minimum Dimensions"
|
1464 |
msgstr ""
|
1465 |
|
1466 |
+
#: src/lang.cls.php:197
|
1467 |
msgid "Generate LQIP In Background"
|
1468 |
msgstr ""
|
1469 |
|
1470 |
+
#: src/lang.cls.php:198
|
1471 |
msgid "Lazy Load Iframes"
|
1472 |
msgstr ""
|
1473 |
|
1474 |
+
#: src/lang.cls.php:199
|
1475 |
msgid "Add Missing Sizes"
|
1476 |
msgstr ""
|
1477 |
|
1478 |
+
#: src/lang.cls.php:200 src/metabox.cls.php:31 src/metabox.cls.php:32
|
1479 |
#: tpl/page_optm/settings_vpi.tpl.php:12
|
1480 |
msgid "Viewport Images"
|
1481 |
msgstr ""
|
1482 |
|
1483 |
+
#: src/lang.cls.php:201
|
1484 |
msgid "Viewport Images Cron"
|
1485 |
msgstr ""
|
1486 |
|
1487 |
+
#: src/lang.cls.php:203
|
1488 |
msgid "Auto Request Cron"
|
1489 |
msgstr ""
|
1490 |
|
1491 |
+
#: src/lang.cls.php:204
|
1492 |
msgid "Auto Pull Cron"
|
1493 |
msgstr ""
|
1494 |
|
1495 |
+
#: src/lang.cls.php:205
|
1496 |
msgid "Optimize Original Images"
|
1497 |
msgstr ""
|
1498 |
|
1499 |
+
#: src/lang.cls.php:206
|
1500 |
msgid "Remove Original Backups"
|
1501 |
msgstr ""
|
1502 |
|
1503 |
+
#: src/lang.cls.php:207
|
1504 |
+
msgid "Image WebP Replacement"
|
1505 |
msgstr ""
|
1506 |
|
1507 |
+
#: src/lang.cls.php:208
|
1508 |
msgid "Optimize Losslessly"
|
1509 |
msgstr ""
|
1510 |
|
1511 |
+
#: src/lang.cls.php:209
|
1512 |
msgid "Preserve EXIF/XMP data"
|
1513 |
msgstr ""
|
1514 |
|
1515 |
+
#: src/lang.cls.php:210
|
1516 |
msgid "WebP Attribute To Replace"
|
1517 |
msgstr ""
|
1518 |
|
1519 |
+
#: src/lang.cls.php:211
|
1520 |
msgid "WebP For Extra srcset"
|
1521 |
msgstr ""
|
1522 |
|
1523 |
+
#: src/lang.cls.php:212
|
1524 |
msgid "WordPress Image Quality Control"
|
1525 |
msgstr ""
|
1526 |
|
1527 |
+
#: src/lang.cls.php:213 tpl/esi_widget_edit.php:36
|
1528 |
msgid "Enable ESI"
|
1529 |
msgstr ""
|
1530 |
|
1531 |
+
#: src/lang.cls.php:214
|
1532 |
msgid "Cache Admin Bar"
|
1533 |
msgstr ""
|
1534 |
|
1535 |
+
#: src/lang.cls.php:215
|
1536 |
msgid "Cache Comment Form"
|
1537 |
msgstr ""
|
1538 |
|
1539 |
+
#: src/lang.cls.php:216
|
1540 |
msgid "ESI Nonces"
|
1541 |
msgstr ""
|
1542 |
|
1543 |
+
#: src/lang.cls.php:217 tpl/page_optm/settings_css.tpl.php:112
|
1544 |
#: tpl/page_optm/settings_css.tpl.php:222 tpl/page_optm/settings_vpi.tpl.php:67
|
1545 |
msgid "Vary Group"
|
1546 |
msgstr ""
|
1547 |
|
|
|
|
|
|
|
|
|
1548 |
#: src/lang.cls.php:218
|
1549 |
+
msgid "Purge All Hooks"
|
1550 |
msgstr ""
|
1551 |
|
1552 |
#: src/lang.cls.php:219
|
1553 |
+
msgid "Improve HTTP/HTTPS Compatibility"
|
1554 |
msgstr ""
|
1555 |
|
1556 |
#: src/lang.cls.php:220
|
1557 |
+
msgid "Instant Click"
|
1558 |
msgstr ""
|
1559 |
|
1560 |
#: src/lang.cls.php:221
|
1561 |
+
msgid "Do Not Cache Cookies"
|
1562 |
msgstr ""
|
1563 |
|
1564 |
#: src/lang.cls.php:222
|
1565 |
+
msgid "Do Not Cache User Agents"
|
1566 |
msgstr ""
|
1567 |
|
1568 |
#: src/lang.cls.php:223
|
1569 |
+
msgid "Login Cookie"
|
1570 |
msgstr ""
|
1571 |
|
1572 |
#: src/lang.cls.php:225
|
1842 |
msgid "Mobile"
|
1843 |
msgstr ""
|
1844 |
|
1845 |
+
#: src/metabox.cls.php:58
|
1846 |
msgid "LiteSpeed Options"
|
1847 |
msgstr ""
|
1848 |
|
1854 |
msgid "LQIP image preview for size %s"
|
1855 |
msgstr ""
|
1856 |
|
1857 |
+
#: src/purge.cls.php:205
|
1858 |
msgid "Purged all caches successfully."
|
1859 |
msgstr ""
|
1860 |
|
1861 |
+
#: src/purge.cls.php:224
|
1862 |
msgid "Notified LiteSpeed Web Server to purge all LSCache entries."
|
1863 |
msgstr ""
|
1864 |
|
1865 |
+
#: src/purge.cls.php:243
|
1866 |
msgid "Cleaned all Critical CSS files."
|
1867 |
msgstr ""
|
1868 |
|
1869 |
+
#: src/purge.cls.php:262
|
1870 |
msgid "Cleaned all Unique CSS files."
|
1871 |
msgstr ""
|
1872 |
|
1873 |
+
#: src/purge.cls.php:300
|
1874 |
msgid "Cleaned all LQIP files."
|
1875 |
msgstr ""
|
1876 |
|
1877 |
+
#: src/purge.cls.php:317
|
1878 |
msgid "Cleaned all Gravatar files."
|
1879 |
msgstr ""
|
1880 |
|
1881 |
+
#: src/purge.cls.php:334
|
1882 |
msgid "Cleaned all localized resource entries."
|
1883 |
msgstr ""
|
1884 |
|
1885 |
+
#: src/purge.cls.php:368
|
1886 |
msgid "Notified LiteSpeed Web Server to purge CSS/JS entries."
|
1887 |
msgstr ""
|
1888 |
|
1889 |
+
#: src/purge.cls.php:384
|
1890 |
msgid "Opcode cache is not enabled."
|
1891 |
msgstr ""
|
1892 |
|
1893 |
+
#: src/purge.cls.php:396
|
1894 |
msgid "Reset the entire opcode cache successfully."
|
1895 |
msgstr ""
|
1896 |
|
1897 |
+
#: src/purge.cls.php:424
|
1898 |
msgid "Object cache is not enabled."
|
1899 |
msgstr ""
|
1900 |
|
1901 |
+
#: src/purge.cls.php:437
|
1902 |
msgid "Purge all object caches successfully."
|
1903 |
msgstr ""
|
1904 |
|
1905 |
+
#: src/purge.cls.php:650
|
1906 |
msgid "Notified LiteSpeed Web Server to purge the front page."
|
1907 |
msgstr ""
|
1908 |
|
1909 |
+
#: src/purge.cls.php:663
|
1910 |
msgid "Notified LiteSpeed Web Server to purge all pages."
|
1911 |
msgstr ""
|
1912 |
|
1913 |
+
#: src/purge.cls.php:682
|
1914 |
msgid "Notified LiteSpeed Web Server to purge error pages."
|
1915 |
msgstr ""
|
1916 |
|
1917 |
+
#: src/purge.cls.php:709
|
1918 |
msgid "Purge category %s"
|
1919 |
msgstr ""
|
1920 |
|
1921 |
+
#: src/purge.cls.php:736
|
1922 |
msgid "Purge tag %s"
|
1923 |
msgstr ""
|
1924 |
|
1925 |
+
#: src/purge.cls.php:767
|
1926 |
msgid "Purge url %s"
|
1927 |
msgstr ""
|
1928 |
|
1983 |
msgstr ""
|
1984 |
|
1985 |
#: thirdparty/woocommerce.content.tpl.php:31
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1986 |
msgid "Product Update Interval"
|
1987 |
msgstr ""
|
1988 |
|
1989 |
+
#: thirdparty/woocommerce.content.tpl.php:36
|
1990 |
msgid "Purge product on changes to the quantity or stock status."
|
1991 |
msgstr ""
|
1992 |
|
1993 |
+
#: thirdparty/woocommerce.content.tpl.php:36
|
1994 |
msgid "Purge categories only when stock status changes."
|
1995 |
msgstr ""
|
1996 |
|
1997 |
+
#: thirdparty/woocommerce.content.tpl.php:37
|
1998 |
msgid "Purge product and categories only when the stock status changes."
|
1999 |
msgstr ""
|
2000 |
|
2001 |
+
#: thirdparty/woocommerce.content.tpl.php:38
|
2002 |
msgid "Purge product only when the stock status changes."
|
2003 |
msgstr ""
|
2004 |
|
2005 |
+
#: thirdparty/woocommerce.content.tpl.php:38
|
2006 |
msgid "Do not purge categories on changes to the quantity or stock status."
|
2007 |
msgstr ""
|
2008 |
|
2009 |
+
#: thirdparty/woocommerce.content.tpl.php:39
|
2010 |
msgid ""
|
2011 |
"Always purge both product and categories on changes to the quantity or stock "
|
2012 |
"status."
|
2013 |
msgstr ""
|
2014 |
|
2015 |
+
#: thirdparty/woocommerce.content.tpl.php:52
|
2016 |
msgid ""
|
2017 |
"Determines how changes in product quantity and product stock status affect "
|
2018 |
"product pages and their associated category pages."
|
2019 |
msgstr ""
|
2020 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021 |
#: thirdparty/woocommerce.tab.tpl.php:3
|
2022 |
msgid "WooCommerce"
|
2023 |
msgstr ""
|
2046 |
msgid "Dismiss this notice"
|
2047 |
msgstr ""
|
2048 |
|
2049 |
+
#. #-#-#-#-# litespeed-cache.pot (LiteSpeed Cache 5.3) #-#-#-#-#
|
2050 |
#. Plugin Name of the plugin/theme
|
2051 |
#: tpl/banner/new_version.php:57 tpl/banner/new_version_dev.tpl.php:12
|
2052 |
#: tpl/cache/more_settings_tip.tpl.php:15 tpl/inc/admin_footer.php:8
|
2062 |
msgstr ""
|
2063 |
|
2064 |
#: tpl/banner/new_version.php:69 tpl/banner/new_version_dev.tpl.php:24
|
2065 |
+
#: tpl/toolbox/beta_test.tpl.php:65
|
2066 |
msgid "Upgrade"
|
2067 |
msgstr ""
|
2068 |
|
2086 |
msgid "Thank You for Using the LiteSpeed Cache Plugin!"
|
2087 |
msgstr ""
|
2088 |
|
2089 |
+
#: tpl/banner/score.php:28 tpl/dash/dashboard.tpl.php:203
|
2090 |
msgid "Page Load Time"
|
2091 |
msgstr ""
|
2092 |
|
2093 |
#: tpl/banner/score.php:34 tpl/banner/score.php:74
|
2094 |
+
#: tpl/dash/dashboard.tpl.php:216 tpl/dash/dashboard.tpl.php:284
|
2095 |
msgid "Before"
|
2096 |
msgstr ""
|
2097 |
|
2098 |
#: tpl/banner/score.php:45 tpl/banner/score.php:84
|
2099 |
+
#: tpl/dash/dashboard.tpl.php:225 tpl/dash/dashboard.tpl.php:292
|
2100 |
msgid "After"
|
2101 |
msgstr ""
|
2102 |
|
2103 |
#: tpl/banner/score.php:55 tpl/banner/score.php:94
|
2104 |
+
#: tpl/dash/dashboard.tpl.php:233 tpl/dash/dashboard.tpl.php:300
|
2105 |
msgid "Improved by"
|
2106 |
msgstr ""
|
2107 |
|
2108 |
+
#: tpl/banner/score.php:68 tpl/dash/dashboard.tpl.php:260
|
2109 |
msgid "PageSpeed Score"
|
2110 |
msgstr ""
|
2111 |
|
2268 |
msgid "Please visit the <a %s>Information</a> page on how to test the cache."
|
2269 |
msgstr ""
|
2270 |
|
2271 |
+
#: tpl/cache/settings-cache.tpl.php:27 tpl/page_optm/entry.tpl.php:32
|
2272 |
msgid "NOTICE"
|
2273 |
msgstr ""
|
2274 |
|
2408 |
#: tpl/page_optm/settings_media_exc.tpl.php:27
|
2409 |
#: tpl/page_optm/settings_tuning.tpl.php:36
|
2410 |
#: tpl/page_optm/settings_tuning.tpl.php:57
|
2411 |
+
#: tpl/page_optm/settings_tuning.tpl.php:78
|
2412 |
+
#: tpl/page_optm/settings_tuning_css.tpl.php:25
|
2413 |
+
#: tpl/page_optm/settings_tuning_css.tpl.php:85
|
2414 |
msgid "Filter %s is supported."
|
2415 |
msgstr ""
|
2416 |
|
2544 |
|
2545 |
#: tpl/cache/settings-purge.tpl.php:50 tpl/cache/settings-purge.tpl.php:89
|
2546 |
#: tpl/cache/settings-purge.tpl.php:113
|
2547 |
+
#: tpl/page_optm/settings_tuning_css.tpl.php:60
|
2548 |
msgid "Note"
|
2549 |
msgstr ""
|
2550 |
|
3042 |
msgid "Begin QUIC.cloud CDN Setup"
|
3043 |
msgstr ""
|
3044 |
|
3045 |
+
#: tpl/cdn/auto_setup.tpl.php:132 tpl/general/settings.tpl.php:76
|
3046 |
+
#: tpl/general/settings.tpl.php:78 tpl/general/settings.tpl.php:107
|
3047 |
msgid "Link to QUIC.cloud"
|
3048 |
msgstr ""
|
3049 |
|
3315 |
"Specify which HTML element attributes will be replaced with CDN Mapping."
|
3316 |
msgstr ""
|
3317 |
|
3318 |
+
#: tpl/cdn/settings.tpl.php:127 tpl/img_optm/settings.tpl.php:127
|
3319 |
msgid "Only attributes listed here will be replaced."
|
3320 |
msgstr ""
|
3321 |
|
3322 |
+
#: tpl/cdn/settings.tpl.php:128 tpl/img_optm/settings.tpl.php:128
|
3323 |
msgid "Use the format %1$s or %2$s (element is optional)."
|
3324 |
msgstr ""
|
3325 |
|
3448 |
msgstr ""
|
3449 |
|
3450 |
#: tpl/crawler/entry.tpl.php:9 tpl/general/entry.tpl.php:6
|
3451 |
+
#: tpl/general/entry.tpl.php:12 tpl/general/network_settings.tpl.php:9
|
3452 |
+
#: tpl/general/settings.tpl.php:43
|
3453 |
msgid "General Settings"
|
3454 |
msgstr ""
|
3455 |
|
3485 |
msgid "Sitemap Total"
|
3486 |
msgstr ""
|
3487 |
|
3488 |
+
#: tpl/crawler/map.tpl.php:44 tpl/dash/dashboard.tpl.php:571
|
3489 |
msgid "Crawler Status"
|
3490 |
msgstr ""
|
3491 |
|
3658 |
msgid "Run time for previous crawler"
|
3659 |
msgstr ""
|
3660 |
|
3661 |
+
#: tpl/crawler/summary.tpl.php:85 tpl/dash/dashboard.tpl.php:584
|
3662 |
msgid "Current crawler started at"
|
3663 |
msgstr ""
|
3664 |
|
3665 |
+
#: tpl/crawler/summary.tpl.php:92 tpl/dash/dashboard.tpl.php:591
|
3666 |
msgid "Last interval"
|
3667 |
msgstr ""
|
3668 |
|
3669 |
+
#: tpl/crawler/summary.tpl.php:99 tpl/dash/dashboard.tpl.php:598
|
3670 |
msgid "Ended reason"
|
3671 |
msgstr ""
|
3672 |
|
3770 |
msgid "CDN Bandwidth"
|
3771 |
msgstr ""
|
3772 |
|
3773 |
+
#: tpl/dash/dashboard.tpl.php:59 tpl/dash/dashboard.tpl.php:507
|
3774 |
msgid "Low Quality Image Placeholder"
|
3775 |
msgstr ""
|
3776 |
|
3806 |
msgid "Remaining Daily Quota"
|
3807 |
msgstr ""
|
3808 |
|
3809 |
+
#: tpl/dash/dashboard.tpl.php:171
|
3810 |
+
msgid "Partner Benefits Provided by"
|
3811 |
+
msgstr ""
|
3812 |
+
|
3813 |
+
#: tpl/dash/dashboard.tpl.php:194
|
3814 |
msgid "Go to QUIC.cloud dashboard"
|
3815 |
msgstr ""
|
3816 |
|
3817 |
+
#: tpl/dash/dashboard.tpl.php:206
|
3818 |
msgid "Refresh page load time"
|
3819 |
msgstr ""
|
3820 |
|
3821 |
+
#: tpl/dash/dashboard.tpl.php:247 tpl/dash/dashboard.tpl.php:316
|
3822 |
+
#: tpl/dash/dashboard.tpl.php:466 tpl/dash/dashboard.tpl.php:499
|
3823 |
+
#: tpl/dash/dashboard.tpl.php:531 tpl/dash/dashboard.tpl.php:563
|
3824 |
msgid "Last requested"
|
3825 |
msgstr ""
|
3826 |
|
3827 |
+
#: tpl/dash/dashboard.tpl.php:252
|
3828 |
msgid "Current closest Cloud server is %s. Click to redetect."
|
3829 |
msgstr ""
|
3830 |
|
3831 |
+
#: tpl/dash/dashboard.tpl.php:252 tpl/img_optm/summary.tpl.php:57
|
3832 |
#: tpl/page_optm/settings_css.tpl.php:93 tpl/page_optm/settings_css.tpl.php:203
|
3833 |
#: tpl/page_optm/settings_media.tpl.php:176
|
3834 |
#: tpl/page_optm/settings_vpi.tpl.php:48
|
3836 |
"Are you sure you want to redetect the closest cloud server for this service?"
|
3837 |
msgstr ""
|
3838 |
|
3839 |
+
#: tpl/dash/dashboard.tpl.php:263
|
3840 |
msgid "Refresh page score"
|
3841 |
msgstr ""
|
3842 |
|
3843 |
+
#: tpl/dash/dashboard.tpl.php:324 tpl/img_optm/entry.tpl.php:6
|
3844 |
msgid "Image Optimization Summary"
|
3845 |
msgstr ""
|
3846 |
|
3847 |
+
#: tpl/dash/dashboard.tpl.php:325 tpl/dash/dashboard.tpl.php:414
|
3848 |
+
#: tpl/dash/dashboard.tpl.php:442 tpl/dash/dashboard.tpl.php:475
|
3849 |
+
#: tpl/dash/dashboard.tpl.php:508 tpl/dash/dashboard.tpl.php:540
|
3850 |
+
#: tpl/dash/dashboard.tpl.php:572
|
3851 |
msgid "More"
|
3852 |
msgstr ""
|
3853 |
|
3854 |
+
#: tpl/dash/dashboard.tpl.php:335
|
3855 |
msgid "Image Groups Prepared"
|
3856 |
msgstr ""
|
3857 |
|
3858 |
+
#: tpl/dash/dashboard.tpl.php:350
|
3859 |
msgid "Images Requested"
|
3860 |
msgstr ""
|
3861 |
|
3862 |
+
#: tpl/dash/dashboard.tpl.php:382 tpl/img_optm/summary.tpl.php:342
|
3863 |
msgid "Last Request"
|
3864 |
msgstr ""
|
3865 |
|
3866 |
+
#: tpl/dash/dashboard.tpl.php:385
|
3867 |
msgid "Last Pull"
|
3868 |
msgstr ""
|
3869 |
|
3870 |
+
#: tpl/dash/dashboard.tpl.php:413
|
3871 |
msgid "Cache Status"
|
3872 |
msgstr ""
|
3873 |
|
3874 |
+
#: tpl/dash/dashboard.tpl.php:419
|
3875 |
msgid "Public Cache"
|
3876 |
msgstr ""
|
3877 |
|
3878 |
+
#: tpl/dash/dashboard.tpl.php:420
|
3879 |
msgid "Private Cache"
|
3880 |
msgstr ""
|
3881 |
|
3882 |
+
#: tpl/dash/dashboard.tpl.php:441 tpl/toolbox/purge.tpl.php:70
|
3883 |
msgid "Critical CSS"
|
3884 |
msgstr ""
|
3885 |
|
3886 |
+
#: tpl/dash/dashboard.tpl.php:447 tpl/dash/dashboard.tpl.php:480
|
3887 |
+
#: tpl/dash/dashboard.tpl.php:513 tpl/dash/dashboard.tpl.php:545
|
3888 |
#: tpl/page_optm/settings_css.tpl.php:84 tpl/page_optm/settings_css.tpl.php:194
|
3889 |
#: tpl/page_optm/settings_media.tpl.php:170
|
3890 |
#: tpl/page_optm/settings_vpi.tpl.php:42
|
3891 |
msgid "Last generated"
|
3892 |
msgstr ""
|
3893 |
|
3894 |
+
#: tpl/dash/dashboard.tpl.php:450 tpl/dash/dashboard.tpl.php:483
|
3895 |
+
#: tpl/dash/dashboard.tpl.php:516 tpl/dash/dashboard.tpl.php:548
|
3896 |
msgid "Time to execute previous request"
|
3897 |
msgstr ""
|
3898 |
|
3899 |
+
#: tpl/dash/dashboard.tpl.php:455 tpl/dash/dashboard.tpl.php:488
|
3900 |
+
#: tpl/dash/dashboard.tpl.php:521 tpl/dash/dashboard.tpl.php:553
|
3901 |
msgid "Requests in queue"
|
3902 |
msgstr ""
|
3903 |
|
3904 |
+
#: tpl/dash/dashboard.tpl.php:458 tpl/dash/dashboard.tpl.php:491
|
3905 |
+
#: tpl/dash/dashboard.tpl.php:523 tpl/dash/dashboard.tpl.php:555
|
3906 |
msgid "Force cron"
|
3907 |
msgstr ""
|
3908 |
|
3909 |
+
#: tpl/dash/dashboard.tpl.php:474 tpl/toolbox/purge.tpl.php:79
|
3910 |
msgid "Unique CSS"
|
3911 |
msgstr ""
|
3912 |
|
3913 |
+
#: tpl/dash/dashboard.tpl.php:539
|
3914 |
msgid "Viewport Image"
|
3915 |
msgstr ""
|
3916 |
|
3917 |
+
#: tpl/dash/dashboard.tpl.php:576
|
3918 |
msgid "Crawler(s)"
|
3919 |
msgstr ""
|
3920 |
|
3921 |
+
#: tpl/dash/dashboard.tpl.php:579
|
3922 |
msgid "Currently active crawler"
|
3923 |
msgstr ""
|
3924 |
|
3925 |
+
#: tpl/dash/dashboard.tpl.php:605
|
3926 |
msgid "<b>Last crawled:</b> %d item(s)"
|
3927 |
msgstr ""
|
3928 |
|
4113 |
msgstr ""
|
4114 |
|
4115 |
#: tpl/general/entry.tpl.php:7 tpl/page_optm/entry.tpl.php:13
|
4116 |
+
#: tpl/page_optm/entry.tpl.php:14
|
4117 |
msgid "Tuning"
|
4118 |
msgstr ""
|
4119 |
|
4121 |
msgid "LiteSpeed Cache General Settings"
|
4122 |
msgstr ""
|
4123 |
|
4124 |
+
#: tpl/general/network_settings.tpl.php:21
|
4125 |
msgid "Use Primary Site Configuration"
|
4126 |
msgstr ""
|
4127 |
|
4128 |
+
#: tpl/general/network_settings.tpl.php:25
|
4129 |
msgid ""
|
4130 |
"Check this option to use the primary site's configuration for all subsites."
|
4131 |
msgstr ""
|
4132 |
|
4133 |
+
#: tpl/general/network_settings.tpl.php:26
|
4134 |
msgid "This will disable the settings page on all subsites."
|
4135 |
msgstr ""
|
4136 |
|
4162 |
msgid "Next available request time: <code>After %s</code>"
|
4163 |
msgstr ""
|
4164 |
|
4165 |
+
#: tpl/general/settings.tpl.php:74
|
4166 |
msgid "Visit My Dashboard on QUIC.cloud"
|
4167 |
msgstr ""
|
4168 |
|
4169 |
+
#: tpl/general/settings.tpl.php:83 tpl/general/settings.tpl.php:94
|
4170 |
+
#: tpl/general/settings.tpl.php:106 tpl/general/settings.tpl.php:183
|
4171 |
+
#: tpl/general/settings.tpl.php:189 tpl/general/settings.tpl.php:195
|
4172 |
+
#: tpl/general/settings.tpl.php:212 tpl/page_optm/settings_media.tpl.php:231
|
|
|
4173 |
#: tpl/page_optm/settings_vpi.tpl.php:32
|
4174 |
msgid "Notice"
|
4175 |
msgstr ""
|
4176 |
|
4177 |
+
#: tpl/general/settings.tpl.php:84
|
4178 |
msgid ""
|
4179 |
"There was a problem with retrieving your Domain Key. Please click the %s "
|
4180 |
"button to retry."
|
4181 |
msgstr ""
|
4182 |
|
4183 |
+
#: tpl/general/settings.tpl.php:85
|
4184 |
msgid ""
|
4185 |
"There are two reasons why we might not be able to communicate with your "
|
4186 |
"domain:"
|
4187 |
msgstr ""
|
4188 |
|
4189 |
+
#: tpl/general/settings.tpl.php:86
|
4190 |
msgid "The POST callback to %s failed."
|
4191 |
msgstr ""
|
4192 |
|
4193 |
+
#: tpl/general/settings.tpl.php:87
|
4194 |
msgid "Our %s was not allowlisted."
|
4195 |
msgstr ""
|
4196 |
|
4197 |
+
#: tpl/general/settings.tpl.php:88
|
4198 |
msgid ""
|
4199 |
"Please verify that your other plugins are not blocking REST API calls, "
|
4200 |
"allowlist our server IPs, or contact your server admin for assistance."
|
4201 |
msgstr ""
|
4202 |
|
4203 |
+
#: tpl/general/settings.tpl.php:95
|
4204 |
msgid ""
|
4205 |
"Request submitted. Please wait, then refresh the page to see approval "
|
4206 |
"notification."
|
4207 |
msgstr ""
|
4208 |
|
4209 |
+
#: tpl/general/settings.tpl.php:101
|
4210 |
msgid "Warning"
|
4211 |
msgstr ""
|
4212 |
|
4213 |
+
#: tpl/general/settings.tpl.php:102
|
4214 |
msgid "You must have %1$s first before linking to QUIC.cloud."
|
4215 |
msgstr ""
|
4216 |
|
4217 |
+
#: tpl/general/settings.tpl.php:107
|
4218 |
msgid ""
|
4219 |
"You must click the %s button if you wish to associate this site with a QUIC."
|
4220 |
"cloud account."
|
4221 |
msgstr ""
|
4222 |
|
4223 |
+
#: tpl/general/settings.tpl.php:108
|
4224 |
msgid "Benefits of linking to a QUIC.cloud account"
|
4225 |
msgstr ""
|
4226 |
|
4227 |
+
#: tpl/general/settings.tpl.php:113
|
4228 |
msgid "A Domain Key is required for QUIC.cloud online services."
|
4229 |
msgstr ""
|
4230 |
|
4231 |
+
#: tpl/general/settings.tpl.php:117
|
4232 |
msgid "Main domain"
|
4233 |
msgstr ""
|
4234 |
|
4235 |
+
#: tpl/general/settings.tpl.php:120
|
4236 |
msgid "Main domain not generated yet"
|
4237 |
msgstr ""
|
4238 |
|
4239 |
+
#: tpl/general/settings.tpl.php:127
|
4240 |
msgid "Current Cloud Nodes in Service"
|
4241 |
msgstr ""
|
4242 |
|
4243 |
+
#: tpl/general/settings.tpl.php:128
|
4244 |
msgid "Click to clear all nodes for further redetection."
|
4245 |
msgstr ""
|
4246 |
|
4247 |
+
#: tpl/general/settings.tpl.php:128
|
4248 |
msgid "Are you sure you want to clear all cloud nodes?"
|
4249 |
msgstr ""
|
4250 |
|
4251 |
+
#: tpl/general/settings.tpl.php:140
|
4252 |
msgid "No cloud services currently in use"
|
4253 |
msgstr ""
|
4254 |
|
4255 |
+
#: tpl/general/settings.tpl.php:161
|
4256 |
msgid "This option enables maximum optimization for Guest Mode visitors."
|
4257 |
msgstr ""
|
4258 |
|
4259 |
+
#: tpl/general/settings.tpl.php:162
|
4260 |
msgid "Please read all warnings before enabling this option."
|
4261 |
msgstr ""
|
4262 |
|
4263 |
+
#: tpl/general/settings.tpl.php:176
|
4264 |
msgid "Your %1s quota on %2s will still be in use."
|
4265 |
msgstr ""
|
4266 |
|
4267 |
+
#: tpl/general/settings.tpl.php:183 tpl/page_optm/settings_media.tpl.php:231
|
4268 |
#: tpl/page_optm/settings_vpi.tpl.php:32
|
4269 |
msgid "%s must be turned ON for this setting to work."
|
4270 |
msgstr ""
|
4271 |
|
4272 |
+
#: tpl/general/settings.tpl.php:189
|
4273 |
msgid "You need to turn %s on to get maximum result."
|
4274 |
msgstr ""
|
4275 |
|
4276 |
+
#: tpl/general/settings.tpl.php:195
|
4277 |
msgid ""
|
4278 |
"You need to turn %s on and finish all WebP generation to get maximum result."
|
4279 |
msgstr ""
|
4280 |
|
4281 |
+
#: tpl/general/settings.tpl.php:210
|
4282 |
msgid ""
|
4283 |
"Enter this site's IP address to allow cloud services directly call IP "
|
4284 |
"instead of domain name. This eliminates the overhead of DNS and CDN lookups."
|
4285 |
msgstr ""
|
4286 |
|
4287 |
+
#: tpl/general/settings.tpl.php:211
|
4288 |
msgid "Your server IP"
|
4289 |
msgstr ""
|
4290 |
|
4291 |
+
#: tpl/general/settings.tpl.php:211
|
4292 |
msgid "Check my public IP from"
|
4293 |
msgstr ""
|
4294 |
|
4295 |
+
#: tpl/general/settings.tpl.php:212
|
4296 |
msgid ""
|
4297 |
"the auto-detected IP may not be accurate if you have an additional outgoing "
|
4298 |
"IP set, or you have multiple IPs configured on your server."
|
4299 |
msgstr ""
|
4300 |
|
4301 |
+
#: tpl/general/settings.tpl.php:213
|
4302 |
msgid "Please make sure this IP is the correct one for visiting your site."
|
4303 |
msgstr ""
|
4304 |
|
4305 |
+
#: tpl/general/settings.tpl.php:228
|
4306 |
msgid ""
|
4307 |
"Turn this option ON to show latest news automatically, including hotfixes, "
|
4308 |
"new releases, available beta versions, and promotions."
|
4343 |
msgid "Guest Mode failed to test."
|
4344 |
msgstr ""
|
4345 |
|
4346 |
+
#: tpl/general/settings_tuning.tpl.php:8
|
4347 |
#: tpl/page_optm/settings_tuning.tpl.php:18
|
4348 |
+
#: tpl/page_optm/settings_tuning_css.tpl.php:7
|
4349 |
msgid "Tuning Settings"
|
4350 |
msgstr ""
|
4351 |
|
4352 |
+
#: tpl/general/settings_tuning.tpl.php:29
|
4353 |
msgid "Listed User Agents will be considered as Guest Mode visitors."
|
4354 |
msgstr ""
|
4355 |
|
4356 |
+
#: tpl/general/settings_tuning.tpl.php:51
|
4357 |
msgid "Listed IPs will be considered as Guest Mode visitors."
|
4358 |
msgstr ""
|
4359 |
|
4367 |
msgstr ""
|
4368 |
|
4369 |
#: tpl/img_optm/settings.media_webp.tpl.php:14
|
4370 |
+
msgid "Request WebP versions of original images when doing optimization."
|
4371 |
+
msgstr ""
|
4372 |
+
|
4373 |
+
#: tpl/img_optm/settings.media_webp.tpl.php:15
|
4374 |
msgid ""
|
4375 |
"Significantly improve load time by replacing images with their optimized %s "
|
4376 |
"versions."
|
4423 |
msgid "This will increase the size of optimized files."
|
4424 |
msgstr ""
|
4425 |
|
4426 |
+
#: tpl/img_optm/settings.tpl.php:126
|
|
|
|
|
|
|
|
|
4427 |
msgid "Specify which element attributes will be replaced with WebP."
|
4428 |
msgstr ""
|
4429 |
|
4430 |
+
#: tpl/img_optm/settings.tpl.php:142
|
4431 |
msgid ""
|
4432 |
"Enable replacement of WebP in %s elements that were generated outside of "
|
4433 |
"WordPress logic."
|
4434 |
msgstr ""
|
4435 |
|
4436 |
+
#: tpl/img_optm/settings.tpl.php:156
|
4437 |
msgid "The image compression quality setting of WordPress out of 100."
|
4438 |
msgstr ""
|
4439 |
|
4812 |
msgid "Localization"
|
4813 |
msgstr ""
|
4814 |
|
4815 |
+
#: tpl/page_optm/entry.tpl.php:21
|
4816 |
msgid "LiteSpeed Cache Page Optimization"
|
4817 |
msgstr ""
|
4818 |
|
4819 |
+
#: tpl/page_optm/entry.tpl.php:33
|
4820 |
msgid ""
|
4821 |
"Please test thoroughly when enabling any option in this list. After changing "
|
4822 |
"Minify/Combine settings, please do a Purge All action."
|
5119 |
msgstr ""
|
5120 |
|
5121 |
#: tpl/page_optm/settings_localization.tpl.php:127
|
5122 |
+
#: tpl/toolbox/beta_test.tpl.php:33
|
5123 |
msgid "Example"
|
5124 |
msgstr ""
|
5125 |
|
5275 |
#: tpl/page_optm/settings_media_exc.tpl.php:28
|
5276 |
#: tpl/page_optm/settings_tuning.tpl.php:37
|
5277 |
#: tpl/page_optm/settings_tuning.tpl.php:58
|
5278 |
+
#: tpl/page_optm/settings_tuning.tpl.php:79
|
5279 |
+
#: tpl/page_optm/settings_tuning_css.tpl.php:26
|
5280 |
msgid "Elements with attribute %s in html code will be excluded."
|
5281 |
msgstr ""
|
5282 |
|
5305 |
msgstr ""
|
5306 |
|
5307 |
#: tpl/page_optm/settings_tuning.tpl.php:31
|
5308 |
+
msgid "Listed JS files or inline JS code will not be minified/combined."
|
5309 |
msgstr ""
|
5310 |
|
5311 |
#: tpl/page_optm/settings_tuning.tpl.php:38
|
5312 |
#: tpl/page_optm/settings_tuning.tpl.php:59
|
5313 |
+
#: tpl/page_optm/settings_tuning_css.tpl.php:27
|
5314 |
+
#: tpl/page_optm/settings_tuning_css.tpl.php:66
|
5315 |
msgid "Predefined list will also be combined w/ the above settings"
|
5316 |
msgstr ""
|
5317 |
|
5318 |
#: tpl/page_optm/settings_tuning.tpl.php:52
|
5319 |
+
msgid "Listed JS files or inline JS code will not be deferred."
|
5320 |
msgstr ""
|
5321 |
|
5322 |
#: tpl/page_optm/settings_tuning.tpl.php:73
|
5323 |
+
msgid "Listed JS files or inline JS code will not be optimized by %s."
|
5324 |
+
msgstr ""
|
5325 |
+
|
5326 |
+
#: tpl/page_optm/settings_tuning.tpl.php:93
|
5327 |
+
msgid "Prevent any optimization of listed pages."
|
5328 |
+
msgstr ""
|
5329 |
+
|
5330 |
+
#: tpl/page_optm/settings_tuning.tpl.php:107
|
5331 |
+
msgid ""
|
5332 |
+
"Only optimize pages for guest (not logged in) visitors. If turned this OFF, "
|
5333 |
+
"CSS/JS/CCSS files will be doubled by each user group."
|
5334 |
+
msgstr ""
|
5335 |
+
|
5336 |
+
#: tpl/page_optm/settings_tuning.tpl.php:119
|
5337 |
+
msgid "Selected roles will be excluded from all optimizations."
|
5338 |
+
msgstr ""
|
5339 |
+
|
5340 |
+
#: tpl/page_optm/settings_tuning_css.tpl.php:20
|
5341 |
+
msgid "Listed CSS files or inline CSS code will not be minified/combined."
|
5342 |
+
msgstr ""
|
5343 |
+
|
5344 |
+
#: tpl/page_optm/settings_tuning_css.tpl.php:41
|
5345 |
+
msgid "Listed CSS files will be excluded from UCSS and saved to inline."
|
5346 |
+
msgstr ""
|
5347 |
+
|
5348 |
+
#: tpl/page_optm/settings_tuning_css.tpl.php:56
|
5349 |
msgid ""
|
5350 |
"List the CSS selector that its style should be always contained in UCSS."
|
5351 |
msgstr ""
|
5352 |
|
5353 |
+
#: tpl/page_optm/settings_tuning_css.tpl.php:57
|
5354 |
msgid "How to choose an UCSS allowlist selector?"
|
5355 |
msgstr ""
|
5356 |
|
5357 |
+
#: tpl/page_optm/settings_tuning_css.tpl.php:58
|
5358 |
msgid "Wildcard %s supported."
|
5359 |
msgstr ""
|
5360 |
|
5361 |
+
#: tpl/page_optm/settings_tuning_css.tpl.php:62
|
5362 |
msgid ""
|
5363 |
"The selector must exist in the CSS. Parent classes in the HTML will not work."
|
5364 |
msgstr ""
|
5365 |
|
5366 |
+
#: tpl/page_optm/settings_tuning_css.tpl.php:80
|
5367 |
msgid "Listed URI will not generate UCSS."
|
5368 |
msgstr ""
|
5369 |
|
5370 |
+
#: tpl/page_optm/settings_tuning_css.tpl.php:87
|
5371 |
msgid ""
|
5372 |
"Use %1$s to generate one single UCSS for the pages which page type is %2$s "
|
5373 |
"while other page types still per URL."
|
5374 |
msgstr ""
|
5375 |
|
5376 |
+
#: tpl/page_optm/settings_tuning_css.tpl.php:88
|
5377 |
msgid "Use %1$s to bypass UCSS for the pages which page type is %2$s."
|
5378 |
msgstr ""
|
5379 |
|
5380 |
+
#: tpl/page_optm/settings_tuning_css.tpl.php:102
|
5381 |
msgid ""
|
5382 |
"List post types where each item of that type should have its own CCSS "
|
5383 |
"generated."
|
5384 |
msgstr ""
|
5385 |
|
5386 |
+
#: tpl/page_optm/settings_tuning_css.tpl.php:103
|
5387 |
msgid ""
|
5388 |
"For example, if every Page on the site has different formatting, enter %s in "
|
5389 |
"the box. Separate critical CSS files will be stored for every Page on the "
|
5390 |
"site."
|
5391 |
msgstr ""
|
5392 |
|
5393 |
+
#: tpl/page_optm/settings_tuning_css.tpl.php:117
|
5394 |
msgid ""
|
5395 |
"Separate critical CSS files will be generated for paths containing these "
|
5396 |
"strings."
|
5397 |
msgstr ""
|
5398 |
|
5399 |
+
#: tpl/page_optm/settings_tuning_css.tpl.php:131
|
5400 |
msgid "Specify critical CSS rules for above-the-fold content when enabling %s."
|
5401 |
msgstr ""
|
5402 |
|
5403 |
+
#: tpl/page_optm/settings_vpi.tpl.php:26
|
5404 |
+
msgid ""
|
5405 |
+
"When you use Lazy Load, it will delay the loading of all images on a page."
|
5406 |
msgstr ""
|
5407 |
|
5408 |
+
#: tpl/page_optm/settings_vpi.tpl.php:27
|
5409 |
+
msgid ""
|
5410 |
+
"The Viewport Images service detects which images appear above the fold, and "
|
5411 |
+
"excludes them from lazy load."
|
5412 |
msgstr ""
|
5413 |
|
5414 |
+
#: tpl/page_optm/settings_vpi.tpl.php:28
|
5415 |
+
msgid ""
|
5416 |
+
"This enables the page's initial screenful of imagery to be fully displayed "
|
5417 |
+
"without delay."
|
5418 |
+
msgstr ""
|
5419 |
+
|
5420 |
+
#: tpl/page_optm/settings_vpi.tpl.php:90
|
5421 |
+
msgid "Enable Viewport Images auto generation cron."
|
5422 |
+
msgstr ""
|
5423 |
+
|
5424 |
+
#: tpl/presets/entry.tpl.php:6
|
5425 |
+
msgid "Standard Presets"
|
5426 |
+
msgstr ""
|
5427 |
+
|
5428 |
+
#: tpl/presets/entry.tpl.php:7 tpl/toolbox/entry.tpl.php:10
|
5429 |
+
msgid "Import / Export"
|
5430 |
+
msgstr ""
|
5431 |
+
|
5432 |
+
#: tpl/presets/entry.tpl.php:14
|
5433 |
+
msgid "LiteSpeed Cache Configuration Presets"
|
5434 |
+
msgstr ""
|
5435 |
+
|
5436 |
+
#: tpl/presets/standard.tpl.php:8
|
5437 |
+
msgid "Essentials"
|
5438 |
msgstr ""
|
5439 |
|
5440 |
+
#: tpl/presets/standard.tpl.php:10
|
5441 |
+
msgid "Default Cache"
|
5442 |
+
msgstr ""
|
5443 |
+
|
5444 |
+
#: tpl/presets/standard.tpl.php:11
|
5445 |
+
msgid "Higher TTL"
|
5446 |
+
msgstr ""
|
5447 |
+
|
5448 |
+
#: tpl/presets/standard.tpl.php:15
|
5449 |
msgid ""
|
5450 |
+
"This no-risk preset is appropriate for all websites. Good for new users, "
|
5451 |
+
"simple websites, or cache-oriented development."
|
5452 |
msgstr ""
|
5453 |
|
5454 |
+
#: tpl/presets/standard.tpl.php:16
|
5455 |
+
msgid ""
|
5456 |
+
"A Domain Key is not required to use this preset. Only basic caching features "
|
5457 |
+
"are enabled."
|
5458 |
msgstr ""
|
5459 |
|
5460 |
+
#: tpl/presets/standard.tpl.php:21 tpl/toolbox/settings-debug.tpl.php:82
|
5461 |
+
msgid "Basic"
|
5462 |
+
msgstr ""
|
5463 |
+
|
5464 |
+
#: tpl/presets/standard.tpl.php:23
|
5465 |
+
msgid "Everything in Essentials, Plus"
|
5466 |
+
msgstr ""
|
5467 |
+
|
5468 |
+
#: tpl/presets/standard.tpl.php:25
|
5469 |
+
msgid "Mobile Cache"
|
5470 |
+
msgstr ""
|
5471 |
+
|
5472 |
+
#: tpl/presets/standard.tpl.php:28
|
5473 |
msgid ""
|
5474 |
+
"This low-risk preset introduces basic optimizations for speed and user "
|
5475 |
+
"experience. Appropriate for enthusiastic beginners."
|
5476 |
msgstr ""
|
5477 |
|
5478 |
+
#: tpl/presets/standard.tpl.php:29
|
5479 |
msgid ""
|
5480 |
+
"A Domain Key is required to use this preset. Includes optimizations known to "
|
5481 |
+
"improve site score in page speed measurement tools."
|
5482 |
msgstr ""
|
5483 |
|
5484 |
+
#: tpl/presets/standard.tpl.php:34
|
5485 |
+
msgid "Advanced (Recommended)"
|
5486 |
+
msgstr ""
|
5487 |
+
|
5488 |
+
#: tpl/presets/standard.tpl.php:36
|
5489 |
+
msgid "Everything in Basic, Plus"
|
5490 |
+
msgstr ""
|
5491 |
+
|
5492 |
+
#: tpl/presets/standard.tpl.php:37
|
5493 |
+
msgid "Guest Mode and Guest Optimization"
|
5494 |
+
msgstr ""
|
5495 |
+
|
5496 |
+
#: tpl/presets/standard.tpl.php:38
|
5497 |
+
msgid "CSS, JS and HTML Minification"
|
5498 |
+
msgstr ""
|
5499 |
+
|
5500 |
+
#: tpl/presets/standard.tpl.php:40
|
5501 |
+
msgid "JS Defer for both external and inline JS"
|
5502 |
+
msgstr ""
|
5503 |
+
|
5504 |
+
#: tpl/presets/standard.tpl.php:41
|
5505 |
+
msgid "DNS Prefetch for static files"
|
5506 |
+
msgstr ""
|
5507 |
+
|
5508 |
+
#: tpl/presets/standard.tpl.php:43
|
5509 |
+
msgid "Remove Query Strings from Static Files"
|
5510 |
+
msgstr ""
|
5511 |
+
|
5512 |
+
#: tpl/presets/standard.tpl.php:48
|
5513 |
msgid ""
|
5514 |
+
"This preset is good for most websites, and is unlikely to cause conflicts. "
|
5515 |
+
"Any CSS or JS conflicts may be resolved with Page Optimization > Tuning "
|
5516 |
+
"tools."
|
5517 |
msgstr ""
|
5518 |
|
5519 |
+
#: tpl/presets/standard.tpl.php:49 tpl/presets/standard.tpl.php:64
|
5520 |
+
msgid ""
|
5521 |
+
"A Domain Key is required to use this preset. Includes many optimizations "
|
5522 |
+
"known to improve page speed scores."
|
5523 |
+
msgstr ""
|
5524 |
+
|
5525 |
+
#: tpl/presets/standard.tpl.php:54
|
5526 |
+
msgid "Aggressive"
|
5527 |
+
msgstr ""
|
5528 |
+
|
5529 |
+
#: tpl/presets/standard.tpl.php:56
|
5530 |
+
msgid "Everything in Advanced, Plus"
|
5531 |
+
msgstr ""
|
5532 |
+
|
5533 |
+
#: tpl/presets/standard.tpl.php:57
|
5534 |
+
msgid "CSS & JS Combine"
|
5535 |
+
msgstr ""
|
5536 |
+
|
5537 |
+
#: tpl/presets/standard.tpl.php:58
|
5538 |
+
msgid "Asynchronous CSS Loading with Critical CSS"
|
5539 |
+
msgstr ""
|
5540 |
+
|
5541 |
+
#: tpl/presets/standard.tpl.php:59
|
5542 |
+
msgid "Removed Unused CSS for Users"
|
5543 |
+
msgstr ""
|
5544 |
+
|
5545 |
+
#: tpl/presets/standard.tpl.php:60
|
5546 |
+
msgid "Lazy Load for Iframes"
|
5547 |
+
msgstr ""
|
5548 |
+
|
5549 |
+
#: tpl/presets/standard.tpl.php:63
|
5550 |
+
msgid ""
|
5551 |
+
"This preset might work out of the box for some websites, but be sure to "
|
5552 |
+
"test! Some CSS or JS exclusions may be necessary in Page Optimization > "
|
5553 |
+
"Tuning."
|
5554 |
+
msgstr ""
|
5555 |
+
|
5556 |
+
#: tpl/presets/standard.tpl.php:69
|
5557 |
+
msgid "Extreme"
|
5558 |
+
msgstr ""
|
5559 |
+
|
5560 |
+
#: tpl/presets/standard.tpl.php:71
|
5561 |
+
msgid "Everything in Aggressive, Plus"
|
5562 |
+
msgstr ""
|
5563 |
+
|
5564 |
+
#: tpl/presets/standard.tpl.php:72
|
5565 |
+
msgid "Lazy Load for Images"
|
5566 |
+
msgstr ""
|
5567 |
+
|
5568 |
+
#: tpl/presets/standard.tpl.php:73
|
5569 |
+
msgid "Viewport Image Generation"
|
5570 |
+
msgstr ""
|
5571 |
+
|
5572 |
+
#: tpl/presets/standard.tpl.php:74
|
5573 |
+
msgid "JS Delayed"
|
5574 |
+
msgstr ""
|
5575 |
+
|
5576 |
+
#: tpl/presets/standard.tpl.php:75
|
5577 |
+
msgid "Inline JS added to Combine"
|
5578 |
+
msgstr ""
|
5579 |
+
|
5580 |
+
#: tpl/presets/standard.tpl.php:76
|
5581 |
+
msgid "Inline CSS added to Combine"
|
5582 |
+
msgstr ""
|
5583 |
+
|
5584 |
+
#: tpl/presets/standard.tpl.php:79
|
5585 |
+
msgid ""
|
5586 |
+
"This preset almost certainly will require testing and exclusions for some "
|
5587 |
+
"CSS, JS and Lazy Loaded images. Pay special attention to logos, or HTML-"
|
5588 |
+
"based slider images."
|
5589 |
msgstr ""
|
5590 |
|
5591 |
+
#: tpl/presets/standard.tpl.php:80
|
5592 |
+
msgid ""
|
5593 |
+
"A Domain Key is required to use this preset. Enables the maximum level of "
|
5594 |
+
"optimizations for improved page speed scores."
|
5595 |
+
msgstr ""
|
5596 |
+
|
5597 |
+
#: tpl/presets/standard.tpl.php:87
|
5598 |
+
msgid "LiteSpeed Cache Standard Presets"
|
5599 |
+
msgstr ""
|
5600 |
+
|
5601 |
+
#: tpl/presets/standard.tpl.php:91
|
5602 |
+
msgid ""
|
5603 |
+
"Use an official LiteSpeed-designed Preset to configure your site in one "
|
5604 |
+
"click. Try no-risk caching essentials, extreme optimization, or something in "
|
5605 |
+
"between."
|
5606 |
+
msgstr ""
|
5607 |
+
|
5608 |
+
#: tpl/presets/standard.tpl.php:116
|
5609 |
+
msgid "Who should use this preset?"
|
5610 |
+
msgstr ""
|
5611 |
+
|
5612 |
+
#: tpl/presets/standard.tpl.php:126
|
5613 |
+
msgid ""
|
5614 |
+
"This will back up your current settings and replace them with the %1$s "
|
5615 |
+
"preset settings. Do you want to continue?"
|
5616 |
+
msgstr ""
|
5617 |
+
|
5618 |
+
#: tpl/presets/standard.tpl.php:128
|
5619 |
+
msgid "Apply Preset"
|
5620 |
+
msgstr ""
|
5621 |
+
|
5622 |
+
#: tpl/presets/standard.tpl.php:147
|
5623 |
+
msgid "unknown"
|
5624 |
+
msgstr ""
|
5625 |
+
|
5626 |
+
#: tpl/presets/standard.tpl.php:158
|
5627 |
+
msgid "History"
|
5628 |
+
msgstr ""
|
5629 |
+
|
5630 |
+
#: tpl/presets/standard.tpl.php:168
|
5631 |
+
msgid "Error: Failed to apply the settings %1$s"
|
5632 |
+
msgstr ""
|
5633 |
+
|
5634 |
+
#: tpl/presets/standard.tpl.php:170
|
5635 |
+
msgid "Restored backup settings %1$s"
|
5636 |
+
msgstr ""
|
5637 |
+
|
5638 |
+
#: tpl/presets/standard.tpl.php:173
|
5639 |
+
msgid "Applied the %1$s preset %2$s"
|
5640 |
+
msgstr ""
|
5641 |
+
|
5642 |
+
#: tpl/presets/standard.tpl.php:184
|
5643 |
+
msgid "Backup created %1$s before applying the %2$s preset"
|
5644 |
+
msgstr ""
|
5645 |
+
|
5646 |
+
#: tpl/presets/standard.tpl.php:188
|
5647 |
+
msgid ""
|
5648 |
+
"This will restore the backup settings created %1$s before applying the %2$s "
|
5649 |
+
"preset. Any changes made since then will be lost. Do you want to continue?"
|
5650 |
+
msgstr ""
|
5651 |
+
|
5652 |
+
#: tpl/presets/standard.tpl.php:190
|
5653 |
+
msgid "Restore Settings"
|
5654 |
+
msgstr ""
|
5655 |
+
|
5656 |
+
#: tpl/toolbox/beta_test.tpl.php:28
|
5657 |
msgid "Try GitHub Version"
|
5658 |
msgstr ""
|
5659 |
|
5660 |
+
#: tpl/toolbox/beta_test.tpl.php:32
|
5661 |
msgid ""
|
5662 |
"Use this section to switch plugin versions. To beta test a GitHub commit, "
|
5663 |
"enter the commit URL in the field below."
|
5664 |
msgstr ""
|
5665 |
|
5666 |
+
#: tpl/toolbox/beta_test.tpl.php:37
|
5667 |
msgid "Use latest GitHub Dev commit"
|
5668 |
msgstr ""
|
5669 |
|
5670 |
+
#: tpl/toolbox/beta_test.tpl.php:39
|
5671 |
msgid "Use latest GitHub Master commit"
|
5672 |
msgstr ""
|
5673 |
|
5674 |
+
#: tpl/toolbox/beta_test.tpl.php:41 tpl/toolbox/beta_test.tpl.php:57
|
5675 |
msgid "Use latest WordPress release version"
|
5676 |
msgstr ""
|
5677 |
|
5678 |
+
#: tpl/toolbox/beta_test.tpl.php:41
|
5679 |
msgid "OR"
|
5680 |
msgstr ""
|
5681 |
|
5682 |
+
#: tpl/toolbox/beta_test.tpl.php:52
|
5683 |
msgid ""
|
5684 |
"Downgrade not recommended. May cause fatal error due to refactored code."
|
5685 |
msgstr ""
|
5686 |
|
5687 |
+
#: tpl/toolbox/beta_test.tpl.php:56
|
5688 |
msgid ""
|
5689 |
"Press the %s button to use the most recent GitHub commit. Master is for "
|
5690 |
"release candidate & Dev is for experimental testing."
|
5691 |
msgstr ""
|
5692 |
|
5693 |
+
#: tpl/toolbox/beta_test.tpl.php:56
|
5694 |
msgid "Use latest GitHub Dev/Master commit"
|
5695 |
msgstr ""
|
5696 |
|
5697 |
+
#: tpl/toolbox/beta_test.tpl.php:57
|
5698 |
msgid ""
|
5699 |
"Press the %s button to stop beta testing and go back to the current release "
|
5700 |
"from the WordPress Plugin Directory."
|
5701 |
msgstr ""
|
5702 |
|
5703 |
+
#: tpl/toolbox/beta_test.tpl.php:62
|
5704 |
msgid ""
|
5705 |
"In order to avoid an upgrade error, you must be using %1$s or later before "
|
5706 |
"you can upgrade to %2$s versions."
|
5738 |
msgid "Current %s Contents"
|
5739 |
msgstr ""
|
5740 |
|
|
|
|
|
|
|
|
|
5741 |
#: tpl/toolbox/entry.tpl.php:14
|
5742 |
msgid "View .htaccess"
|
5743 |
msgstr ""
|
6154 |
msgid "More information about the available commands can be found here."
|
6155 |
msgstr ""
|
6156 |
|
|
|
|
|
|
|
|
|
6157 |
#: tpl/toolbox/settings-debug.tpl.php:84
|
6158 |
msgid "Advanced level will log more details."
|
6159 |
msgstr ""
|
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: 5.
|
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', '5.
|
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: 5.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', '5.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: 6.0.
|
6 |
-
Stable tag: 5.
|
7 |
License: GPLv3
|
8 |
License URI: http://www.gnu.org/licenses/gpl.html
|
9 |
|
@@ -250,6 +250,25 @@ The vast majority of plugins and themes are compatible with LiteSpeed Cache. The
|
|
250 |
|
251 |
== Changelog ==
|
252 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
253 |
= 5.2.1 - Sep 7 2022 =
|
254 |
* 🐞**Core** Fixed a fatal error that occurred when uninstalling. (#894556 Hostinger)
|
255 |
* **Dash** Show partner info on the dashboard for partner-tier QC accounts.
|
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: 6.0.3
|
6 |
+
Stable tag: 5.3
|
7 |
License: GPLv3
|
8 |
License URI: http://www.gnu.org/licenses/gpl.html
|
9 |
|
250 |
|
251 |
== Changelog ==
|
252 |
|
253 |
+
= 5.3 - Oct 31 2022 =
|
254 |
+
* 🌱**Presets** New `Presets` feature and menu item.
|
255 |
+
* 🌱**UCSS** New option `UCSS File Excludes and Inline` to increase page score. (Ankit)
|
256 |
+
* **UCSS** When UCSS is purged, automatically append URL to UCSS generation queue. (Ankit)
|
257 |
+
* **Page Optimize** Removed a redundant `defer` attribute from Lazy Load image library usage. (#928019)
|
258 |
+
* **Image Optimize** Dropped `Create WebP Versions` setting. Will automatically enable when `Image WebP Replacement` is activated.
|
259 |
+
* **Cloud** Fixed a bug where internal updates were delayed for API keys.
|
260 |
+
* **Cloud** Improved auto alias feature by waiting for second request from alias domain validation before removing a pending alias.
|
261 |
+
* **Purge** Automatically Purge All when plugin auto update is done.
|
262 |
+
* **Purge** Fixed a potential PHP8 error that occurred when removing unused widgets. (acsnaterse)
|
263 |
+
* **Cache** Fixed an infinite 301 redirection caused by UTM-encoded link.
|
264 |
+
* **CLI** Added syntax examples for values that include line breaks (xLukii)
|
265 |
+
* **CLI** Purge requests will now be included with the original request to avoid potential CSS/JS 404 issues.
|
266 |
+
* **ESI** Check all user roles for cache vary and page optimization excludes.
|
267 |
+
* **GUI** Added a LiteSpeed icon to admin message banners to indicate the banners are from our plugin. (Michael D)
|
268 |
+
* **Crawler** Fixed a cache-miss issue that occurred when Guest Mode was ON and WebP Replacement was OFF.
|
269 |
+
* **3rd** Remove WooCommerce private cache.
|
270 |
+
* **3rd** Removed LiteSpeed metabox from ACF field group edit page. (keepmovingdk)
|
271 |
+
|
272 |
= 5.2.1 - Sep 7 2022 =
|
273 |
* 🐞**Core** Fixed a fatal error that occurred when uninstalling. (#894556 Hostinger)
|
274 |
* **Dash** Show partner info on the dashboard for partner-tier QC accounts.
|
src/admin-display.cls.php
CHANGED
@@ -118,6 +118,8 @@ class Admin_Display extends Base {
|
|
118 |
// sub menus
|
119 |
$this->_add_submenu( __( 'Dashboard', 'litespeed-cache' ), 'litespeed', 'show_menu_dash' );
|
120 |
|
|
|
|
|
121 |
$this->_add_submenu( __( 'General', 'litespeed-cache' ), 'litespeed-general', 'show_menu_general' );
|
122 |
|
123 |
$this->_add_submenu( __( 'Cache', 'litespeed-cache' ), 'litespeed-cache', 'show_menu_cache' );
|
@@ -321,7 +323,7 @@ class Admin_Display extends Base {
|
|
321 |
// possible translation
|
322 |
$str = Lang::maybe_translate( $str );
|
323 |
|
324 |
-
return '<div class="' . $cls . '"><p>'. $str . '</p></div>';
|
325 |
}
|
326 |
|
327 |
/**
|
@@ -581,6 +583,16 @@ class Admin_Display extends Base {
|
|
581 |
require_once LSCWP_DIR . 'tpl/dash/entry.tpl.php';
|
582 |
}
|
583 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
584 |
/**
|
585 |
* Displays the General page.
|
586 |
*
|
118 |
// sub menus
|
119 |
$this->_add_submenu( __( 'Dashboard', 'litespeed-cache' ), 'litespeed', 'show_menu_dash' );
|
120 |
|
121 |
+
$this->_add_submenu( __( 'Presets', 'litespeed-cache' ), 'litespeed-presets', 'show_menu_presets' );
|
122 |
+
|
123 |
$this->_add_submenu( __( 'General', 'litespeed-cache' ), 'litespeed-general', 'show_menu_general' );
|
124 |
|
125 |
$this->_add_submenu( __( 'Cache', 'litespeed-cache' ), 'litespeed-cache', 'show_menu_cache' );
|
323 |
// possible translation
|
324 |
$str = Lang::maybe_translate( $str );
|
325 |
|
326 |
+
return '<div class="litespeed_icon ' . $cls . '"><p>'. $str . '</p></div>';
|
327 |
}
|
328 |
|
329 |
/**
|
583 |
require_once LSCWP_DIR . 'tpl/dash/entry.tpl.php';
|
584 |
}
|
585 |
|
586 |
+
/**
|
587 |
+
* Displays the General page.
|
588 |
+
*
|
589 |
+
* @since 5.3
|
590 |
+
* @access public
|
591 |
+
*/
|
592 |
+
public function show_menu_presets() {
|
593 |
+
require_once LSCWP_DIR . 'tpl/presets/entry.tpl.php';
|
594 |
+
}
|
595 |
+
|
596 |
/**
|
597 |
* Displays the General page.
|
598 |
*
|
src/admin.cls.php
CHANGED
@@ -41,24 +41,6 @@ class Admin extends Root {
|
|
41 |
// add link to plugin list page
|
42 |
add_filter( 'plugin_action_links_' . LSCWP_BASENAME, array( $this->cls( 'Admin_Display' ), 'add_plugin_links' ) );
|
43 |
|
44 |
-
if ( defined( 'LITESPEED_ON' ) ) {
|
45 |
-
// register purge_all actions
|
46 |
-
$purge_all_events = $this->conf( Base::O_PURGE_HOOK_ALL );
|
47 |
-
|
48 |
-
// purge all on upgrade
|
49 |
-
if ( $this->conf( Base::O_PURGE_ON_UPGRADE ) ) {
|
50 |
-
$purge_all_events[] = 'upgrader_process_complete';
|
51 |
-
$purge_all_events[] = 'admin_action_do-plugin-upgrade';
|
52 |
-
}
|
53 |
-
foreach ( $purge_all_events as $event ) {
|
54 |
-
// Don't allow hook to update_option bcos purge_all will cause infinite loop of update_option
|
55 |
-
if ( in_array( $event, array( 'update_option' ) ) ) {
|
56 |
-
continue;
|
57 |
-
}
|
58 |
-
add_action( $event, __NAMESPACE__ . '\Purge::purge_all' );
|
59 |
-
}
|
60 |
-
// add_filter( 'upgrader_pre_download', 'Purge::filter_with_purge_all' );
|
61 |
-
}
|
62 |
}
|
63 |
|
64 |
/**
|
41 |
// add link to plugin list page
|
42 |
add_filter( 'plugin_action_links_' . LSCWP_BASENAME, array( $this->cls( 'Admin_Display' ), 'add_plugin_links' ) );
|
43 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
44 |
}
|
45 |
|
46 |
/**
|
src/base.cls.php
CHANGED
@@ -125,7 +125,8 @@ class Base extends Root {
|
|
125 |
const O_OPTM_CSS_COMB_EXT_INL = 'optm-css_comb_ext_inl';
|
126 |
const O_OPTM_UCSS = 'optm-ucss';
|
127 |
const O_OPTM_UCSS_INLINE = 'optm-ucss_inline';
|
128 |
-
const
|
|
|
129 |
const O_OPTM_UCSS_EXC = 'optm-ucss_exc';
|
130 |
const O_OPTM_CSS_EXC = 'optm-css_exc';
|
131 |
const O_OPTM_JS_MIN = 'optm-js_min';
|
@@ -216,7 +217,6 @@ class Base extends Root {
|
|
216 |
const O_IMG_OPTM_WEBP = 'img_optm-webp';
|
217 |
const O_IMG_OPTM_LOSSLESS = 'img_optm-lossless';
|
218 |
const O_IMG_OPTM_EXIF = 'img_optm-exif';
|
219 |
-
const O_IMG_OPTM_WEBP_REPLACE = 'img_optm-webp_replace';
|
220 |
const O_IMG_OPTM_WEBP_ATTR = 'img_optm-webp_attr';
|
221 |
const O_IMG_OPTM_WEBP_REPLACE_SRCSET = 'img_optm-webp_replace_srcset';
|
222 |
const O_IMG_OPTM_JPG_QUALITY = 'img_optm-jpg_quality';
|
@@ -413,7 +413,8 @@ class Base extends Root {
|
|
413 |
self::O_OPTM_CSS_COMB_EXT_INL => false,
|
414 |
self::O_OPTM_UCSS => false,
|
415 |
self::O_OPTM_UCSS_INLINE => false,
|
416 |
-
self::
|
|
|
417 |
self::O_OPTM_UCSS_EXC => array(),
|
418 |
self::O_OPTM_CSS_EXC => array(),
|
419 |
self::O_OPTM_JS_MIN => false,
|
@@ -496,7 +497,6 @@ class Base extends Root {
|
|
496 |
self::O_IMG_OPTM_WEBP => false,
|
497 |
self::O_IMG_OPTM_LOSSLESS => false,
|
498 |
self::O_IMG_OPTM_EXIF => false,
|
499 |
-
self::O_IMG_OPTM_WEBP_REPLACE => false,
|
500 |
self::O_IMG_OPTM_WEBP_ATTR => array(),
|
501 |
self::O_IMG_OPTM_WEBP_REPLACE_SRCSET => false,
|
502 |
self::O_IMG_OPTM_JPG_QUALITY => 0,
|
@@ -588,7 +588,7 @@ class Base extends Root {
|
|
588 |
self::O_DEBUG_EXC => array(),
|
589 |
self::O_DEBUG_EXC_STRINGS => array(),
|
590 |
|
591 |
-
self::
|
592 |
|
593 |
);
|
594 |
|
125 |
const O_OPTM_CSS_COMB_EXT_INL = 'optm-css_comb_ext_inl';
|
126 |
const O_OPTM_UCSS = 'optm-ucss';
|
127 |
const O_OPTM_UCSS_INLINE = 'optm-ucss_inline';
|
128 |
+
const O_OPTM_UCSS_SELECTOR_WHITELIST = 'optm-ucss_whitelist';
|
129 |
+
const O_OPTM_UCSS_FILE_EXC_INLINE = 'optm-ucss_file_exc_inline';
|
130 |
const O_OPTM_UCSS_EXC = 'optm-ucss_exc';
|
131 |
const O_OPTM_CSS_EXC = 'optm-css_exc';
|
132 |
const O_OPTM_JS_MIN = 'optm-js_min';
|
217 |
const O_IMG_OPTM_WEBP = 'img_optm-webp';
|
218 |
const O_IMG_OPTM_LOSSLESS = 'img_optm-lossless';
|
219 |
const O_IMG_OPTM_EXIF = 'img_optm-exif';
|
|
|
220 |
const O_IMG_OPTM_WEBP_ATTR = 'img_optm-webp_attr';
|
221 |
const O_IMG_OPTM_WEBP_REPLACE_SRCSET = 'img_optm-webp_replace_srcset';
|
222 |
const O_IMG_OPTM_JPG_QUALITY = 'img_optm-jpg_quality';
|
413 |
self::O_OPTM_CSS_COMB_EXT_INL => false,
|
414 |
self::O_OPTM_UCSS => false,
|
415 |
self::O_OPTM_UCSS_INLINE => false,
|
416 |
+
self::O_OPTM_UCSS_SELECTOR_WHITELIST => array(),
|
417 |
+
self::O_OPTM_UCSS_FILE_EXC_INLINE => array(),
|
418 |
self::O_OPTM_UCSS_EXC => array(),
|
419 |
self::O_OPTM_CSS_EXC => array(),
|
420 |
self::O_OPTM_JS_MIN => false,
|
497 |
self::O_IMG_OPTM_WEBP => false,
|
498 |
self::O_IMG_OPTM_LOSSLESS => false,
|
499 |
self::O_IMG_OPTM_EXIF => false,
|
|
|
500 |
self::O_IMG_OPTM_WEBP_ATTR => array(),
|
501 |
self::O_IMG_OPTM_WEBP_REPLACE_SRCSET => false,
|
502 |
self::O_IMG_OPTM_JPG_QUALITY => 0,
|
588 |
self::O_DEBUG_EXC => array(),
|
589 |
self::O_DEBUG_EXC_STRINGS => array(),
|
590 |
|
591 |
+
self::O_IMG_OPTM_WEBP => false,
|
592 |
|
593 |
);
|
594 |
|
src/cdn-setup.cls.php
CHANGED
@@ -156,7 +156,7 @@ class Cdn_Setup extends Base {
|
|
156 |
|
157 |
if (!$json) {
|
158 |
return;
|
159 |
-
} else if (is_string($json)) {
|
160 |
self::save_summary( array( 'cdn_setup_err' => $json ) );
|
161 |
return;
|
162 |
}
|
@@ -191,7 +191,7 @@ class Cdn_Setup extends Base {
|
|
191 |
if ( isset( $this->_summary[ 'cdn_dns_summary' ] ) ) {
|
192 |
unset( $this->_summary[ 'cdn_dns_summary' ] );
|
193 |
}
|
194 |
-
self::save_summary();
|
195 |
|
196 |
$this->_setup_token = '';
|
197 |
$this->cls( 'Conf' )->update_confs( array( self::O_QC_TOKEN => '', self::O_QC_NAMESERVERS => '', self::O_CDN_QUIC => false ) );
|
@@ -230,9 +230,9 @@ class Cdn_Setup extends Base {
|
|
230 |
'site_url' => home_url(),
|
231 |
'ref' => get_admin_url( null, 'admin.php?page=litespeed-cdn' ),
|
232 |
);
|
233 |
-
|
234 |
-
if ($
|
235 |
-
$data['domain_hash'] = md5( substr( $
|
236 |
}
|
237 |
|
238 |
wp_redirect( Cloud::CLOUD_SERVER_DASH . '/u/wptoken?data=' . Utility::arr2str( $data ) );
|
@@ -277,8 +277,9 @@ class Cdn_Setup extends Base {
|
|
277 |
'server_ip' => $this->conf( self::O_SERVER_IP ),
|
278 |
);
|
279 |
|
280 |
-
|
281 |
-
|
|
|
282 |
}
|
283 |
|
284 |
$__cloud = $this->cls( 'Cloud' );
|
156 |
|
157 |
if (!$json) {
|
158 |
return;
|
159 |
+
} else if (is_string($json) && $json != 'unauthorized access to REST API.') {
|
160 |
self::save_summary( array( 'cdn_setup_err' => $json ) );
|
161 |
return;
|
162 |
}
|
191 |
if ( isset( $this->_summary[ 'cdn_dns_summary' ] ) ) {
|
192 |
unset( $this->_summary[ 'cdn_dns_summary' ] );
|
193 |
}
|
194 |
+
self::save_summary($this->_summary, false, true);
|
195 |
|
196 |
$this->_setup_token = '';
|
197 |
$this->cls( 'Conf' )->update_confs( array( self::O_QC_TOKEN => '', self::O_QC_NAMESERVERS => '', self::O_CDN_QUIC => false ) );
|
230 |
'site_url' => home_url(),
|
231 |
'ref' => get_admin_url( null, 'admin.php?page=litespeed-cdn' ),
|
232 |
);
|
233 |
+
$api_key = $this->conf( self::O_API_KEY );
|
234 |
+
if ($api_key) {
|
235 |
+
$data['domain_hash'] = md5( substr( $api_key, 0, 8 ) );
|
236 |
}
|
237 |
|
238 |
wp_redirect( Cloud::CLOUD_SERVER_DASH . '/u/wptoken?data=' . Utility::arr2str( $data ) );
|
277 |
'server_ip' => $this->conf( self::O_SERVER_IP ),
|
278 |
);
|
279 |
|
280 |
+
$api_key = $this->conf( self::O_API_KEY );
|
281 |
+
if ($api_key) {
|
282 |
+
$data['domain_hash'] = md5( substr( $api_key, 0, 8 ) );
|
283 |
}
|
284 |
|
285 |
$__cloud = $this->cls( 'Cloud' );
|
src/cloud.cls.php
CHANGED
@@ -104,7 +104,6 @@ class Cloud extends Base {
|
|
104 |
const TYPE_LINK = 'link';
|
105 |
const TYPE_SYNC_USAGE = 'sync_usage';
|
106 |
|
107 |
-
private $_api_key;
|
108 |
private $_setup_token;
|
109 |
protected $_summary;
|
110 |
|
@@ -114,11 +113,18 @@ class Cloud extends Base {
|
|
114 |
* @since 3.0
|
115 |
*/
|
116 |
public function __construct() {
|
117 |
-
$this->_api_key = $this->conf( self::O_API_KEY );
|
118 |
$this->_setup_token = $this->conf( self::O_QC_TOKEN );
|
119 |
$this->_summary = self::get_summary();
|
120 |
}
|
121 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
122 |
/**
|
123 |
* Show latest commit version always if is on dev
|
124 |
*
|
@@ -522,7 +528,7 @@ class Cloud extends Base {
|
|
522 |
|
523 |
$param = array(
|
524 |
'site_url' => home_url(),
|
525 |
-
'domain_key' => $this->_api_key,
|
526 |
'main_domain' => ! empty( $this->_summary[ 'main_domain' ] ) ? $this->_summary[ 'main_domain' ] : '',
|
527 |
'ver' => Core::VER,
|
528 |
);
|
@@ -564,7 +570,7 @@ class Cloud extends Base {
|
|
564 |
return true;
|
565 |
}
|
566 |
|
567 |
-
if ( $service_tag == self::SVC_D_SYNC_CONF && $this->_setup_token && ! $this->_api_key ) {
|
568 |
self::debug( "Skip sync conf if API key is not available yet." );
|
569 |
return false;
|
570 |
}
|
@@ -580,7 +586,7 @@ class Cloud extends Base {
|
|
580 |
}
|
581 |
else {
|
582 |
// For all other requests, if is under debug mode, will always allow
|
583 |
-
if ( $this->conf( self::O_DEBUG ) && $this->_api_key ) {
|
584 |
return true;
|
585 |
}
|
586 |
}
|
@@ -603,7 +609,7 @@ class Cloud extends Base {
|
|
603 |
return true;
|
604 |
}
|
605 |
|
606 |
-
if ( ! $this->_api_key ) {
|
607 |
Admin_Display::error( Error::msg( 'lack_of_api_key' ) );
|
608 |
return false;
|
609 |
}
|
@@ -653,7 +659,7 @@ class Cloud extends Base {
|
|
653 |
|
654 |
$param = array(
|
655 |
'site_url' => home_url(),
|
656 |
-
'domain_key' => $this->_api_key,
|
657 |
'main_domain' => ! empty( $this->_summary[ 'main_domain' ] ) ? $this->_summary[ 'main_domain' ] : '',
|
658 |
'ver' => Core::VER,
|
659 |
'data' => $data,
|
@@ -904,16 +910,16 @@ class Cloud extends Base {
|
|
904 |
return self::err( 'lack_of_param' );
|
905 |
}
|
906 |
|
907 |
-
if ( ! $this->_api_key || $_POST[ 'hash' ] !== md5( substr( $this->_api_key, 1, 8 ) ) ) {
|
908 |
return self::err( 'wrong_hash' );
|
909 |
}
|
910 |
|
911 |
list( $post_data ) = $this->extract_msg( $_POST, 'Quic.cloud', false, true );
|
912 |
|
913 |
if ( $this->_is_err_domain( $_POST[ 'alias' ] ) ) {
|
914 |
-
$this->_remove_domain_from_err_list( $_POST[ 'alias' ] );
|
915 |
|
916 |
-
$res_hash = substr( $this->_api_key, 2, 4 );
|
917 |
|
918 |
self::debug( '__callback IP request hash: md5(' . $res_hash . ')' );
|
919 |
|
@@ -982,6 +988,8 @@ class Cloud extends Base {
|
|
982 |
self::debug( 'failed to request REST API: ' . $error_message );
|
983 |
Admin_Display::error( __( 'Cloud REST Error', 'litespeed-cache' ) . ': ' . $error_message );
|
984 |
return $error_message;
|
|
|
|
|
985 |
}
|
986 |
|
987 |
$json = json_decode( $response[ 'body' ], true );
|
@@ -1010,7 +1018,7 @@ class Cloud extends Base {
|
|
1010 |
* @access public
|
1011 |
*/
|
1012 |
public function show_promo() {
|
1013 |
-
// if ( ! $this->_api_key && ! defined( 'LITESPEED_DISMISS_DOMAIN_KEY' ) ) {
|
1014 |
// Admin_Display::error( Error::msg( 'lack_of_api_key' ), true );
|
1015 |
// }
|
1016 |
|
@@ -1070,12 +1078,12 @@ class Cloud extends Base {
|
|
1070 |
return self::err( 'lack_of_param' );
|
1071 |
}
|
1072 |
|
1073 |
-
if ( empty( $this->_api_key ) ) {
|
1074 |
self::debug( 'Lack of API key' );
|
1075 |
return self::err( 'lack_of_api_key' );
|
1076 |
}
|
1077 |
|
1078 |
-
$to_validate = substr( $this->_api_key, 0, 4 );
|
1079 |
if ( $_POST[ 'hash' ] !== md5( $to_validate ) ) {
|
1080 |
self::debug( '__callback IP request hash wrong: md5(' . $to_validate . ') !== ' . $_POST[ 'hash' ] );
|
1081 |
return self::err( 'err_hash' );
|
@@ -1083,7 +1091,7 @@ class Cloud extends Base {
|
|
1083 |
|
1084 |
Control::set_nocache( 'Cloud IP hash validation' );
|
1085 |
|
1086 |
-
$res_hash = substr( $this->_api_key, 2, 4 );
|
1087 |
|
1088 |
self::debug( '__callback IP request hash: md5(' . $res_hash . ')' );
|
1089 |
|
@@ -1255,7 +1263,7 @@ class Cloud extends Base {
|
|
1255 |
* @since 3.0
|
1256 |
*/
|
1257 |
public function can_link_qc() {
|
1258 |
-
return empty( $this->_summary[ 'is_linked' ] ) && $this->_api_key;
|
1259 |
}
|
1260 |
|
1261 |
/**
|
@@ -1270,7 +1278,7 @@ class Cloud extends Base {
|
|
1270 |
|
1271 |
$data = array(
|
1272 |
'site_url' => home_url(),
|
1273 |
-
'domain_hash' => md5( substr( $this->_api_key, 0, 8 ) ),
|
1274 |
'ref' => get_admin_url( null, 'admin.php?page=litespeed-general' ),
|
1275 |
);
|
1276 |
|
@@ -1293,7 +1301,7 @@ class Cloud extends Base {
|
|
1293 |
|
1294 |
$extraRet = array();
|
1295 |
$qsDrop = array();
|
1296 |
-
if ( ! $this->_api_key && ! empty( $this->_summary[ 'is_linked' ] ) ) {
|
1297 |
$this->_summary[ 'is_linked' ] = 0;
|
1298 |
self::save_summary();
|
1299 |
}
|
@@ -1305,7 +1313,7 @@ class Cloud extends Base {
|
|
1305 |
|
1306 |
if ( ! empty( $_GET[ 'domain_hash' ] ) ) {
|
1307 |
|
1308 |
-
if ( md5( substr( $this->_api_key, 2, 8 ) ) !== $_GET[ 'domain_hash' ] ) {
|
1309 |
Admin_Display::error( __( 'Domain Key hash mismatch', 'litespeed-cache' ), true );
|
1310 |
return $extraRet;
|
1311 |
}
|
104 |
const TYPE_LINK = 'link';
|
105 |
const TYPE_SYNC_USAGE = 'sync_usage';
|
106 |
|
|
|
107 |
private $_setup_token;
|
108 |
protected $_summary;
|
109 |
|
113 |
* @since 3.0
|
114 |
*/
|
115 |
public function __construct() {
|
|
|
116 |
$this->_setup_token = $this->conf( self::O_QC_TOKEN );
|
117 |
$this->_summary = self::get_summary();
|
118 |
}
|
119 |
|
120 |
+
/**
|
121 |
+
* Get api key from conf
|
122 |
+
* @since 5.3
|
123 |
+
*/
|
124 |
+
private function _api_key() {
|
125 |
+
return $this->conf( self::O_API_KEY );
|
126 |
+
}
|
127 |
+
|
128 |
/**
|
129 |
* Show latest commit version always if is on dev
|
130 |
*
|
528 |
|
529 |
$param = array(
|
530 |
'site_url' => home_url(),
|
531 |
+
'domain_key' => $this->_api_key(),
|
532 |
'main_domain' => ! empty( $this->_summary[ 'main_domain' ] ) ? $this->_summary[ 'main_domain' ] : '',
|
533 |
'ver' => Core::VER,
|
534 |
);
|
570 |
return true;
|
571 |
}
|
572 |
|
573 |
+
if ( $service_tag == self::SVC_D_SYNC_CONF && $this->_setup_token && ! $this->_api_key() ) {
|
574 |
self::debug( "Skip sync conf if API key is not available yet." );
|
575 |
return false;
|
576 |
}
|
586 |
}
|
587 |
else {
|
588 |
// For all other requests, if is under debug mode, will always allow
|
589 |
+
if ( $this->conf( self::O_DEBUG ) && $this->_api_key() ) {
|
590 |
return true;
|
591 |
}
|
592 |
}
|
609 |
return true;
|
610 |
}
|
611 |
|
612 |
+
if ( ! $this->_api_key() ) {
|
613 |
Admin_Display::error( Error::msg( 'lack_of_api_key' ) );
|
614 |
return false;
|
615 |
}
|
659 |
|
660 |
$param = array(
|
661 |
'site_url' => home_url(),
|
662 |
+
'domain_key' => $this->_api_key(),
|
663 |
'main_domain' => ! empty( $this->_summary[ 'main_domain' ] ) ? $this->_summary[ 'main_domain' ] : '',
|
664 |
'ver' => Core::VER,
|
665 |
'data' => $data,
|
910 |
return self::err( 'lack_of_param' );
|
911 |
}
|
912 |
|
913 |
+
if ( ! $this->_api_key() || $_POST[ 'hash' ] !== md5( substr( $this->_api_key(), 1, 8 ) ) ) {
|
914 |
return self::err( 'wrong_hash' );
|
915 |
}
|
916 |
|
917 |
list( $post_data ) = $this->extract_msg( $_POST, 'Quic.cloud', false, true );
|
918 |
|
919 |
if ( $this->_is_err_domain( $_POST[ 'alias' ] ) ) {
|
920 |
+
if ( $_POST[ 'alias' ] == home_url() ) $this->_remove_domain_from_err_list( $_POST[ 'alias' ] );
|
921 |
|
922 |
+
$res_hash = substr( $this->_api_key(), 2, 4 );
|
923 |
|
924 |
self::debug( '__callback IP request hash: md5(' . $res_hash . ')' );
|
925 |
|
988 |
self::debug( 'failed to request REST API: ' . $error_message );
|
989 |
Admin_Display::error( __( 'Cloud REST Error', 'litespeed-cache' ) . ': ' . $error_message );
|
990 |
return $error_message;
|
991 |
+
} else if ( wp_remote_retrieve_response_code( $response ) == '401' ) {
|
992 |
+
return 'unauthorized access to REST API.';
|
993 |
}
|
994 |
|
995 |
$json = json_decode( $response[ 'body' ], true );
|
1018 |
* @access public
|
1019 |
*/
|
1020 |
public function show_promo() {
|
1021 |
+
// if ( ! $this->_api_key() && ! defined( 'LITESPEED_DISMISS_DOMAIN_KEY' ) ) {
|
1022 |
// Admin_Display::error( Error::msg( 'lack_of_api_key' ), true );
|
1023 |
// }
|
1024 |
|
1078 |
return self::err( 'lack_of_param' );
|
1079 |
}
|
1080 |
|
1081 |
+
if ( empty( $this->_api_key() ) ) {
|
1082 |
self::debug( 'Lack of API key' );
|
1083 |
return self::err( 'lack_of_api_key' );
|
1084 |
}
|
1085 |
|
1086 |
+
$to_validate = substr( $this->_api_key(), 0, 4 );
|
1087 |
if ( $_POST[ 'hash' ] !== md5( $to_validate ) ) {
|
1088 |
self::debug( '__callback IP request hash wrong: md5(' . $to_validate . ') !== ' . $_POST[ 'hash' ] );
|
1089 |
return self::err( 'err_hash' );
|
1091 |
|
1092 |
Control::set_nocache( 'Cloud IP hash validation' );
|
1093 |
|
1094 |
+
$res_hash = substr( $this->_api_key(), 2, 4 );
|
1095 |
|
1096 |
self::debug( '__callback IP request hash: md5(' . $res_hash . ')' );
|
1097 |
|
1263 |
* @since 3.0
|
1264 |
*/
|
1265 |
public function can_link_qc() {
|
1266 |
+
return empty( $this->_summary[ 'is_linked' ] ) && $this->_api_key();
|
1267 |
}
|
1268 |
|
1269 |
/**
|
1278 |
|
1279 |
$data = array(
|
1280 |
'site_url' => home_url(),
|
1281 |
+
'domain_hash' => md5( substr( $this->_api_key(), 0, 8 ) ),
|
1282 |
'ref' => get_admin_url( null, 'admin.php?page=litespeed-general' ),
|
1283 |
);
|
1284 |
|
1301 |
|
1302 |
$extraRet = array();
|
1303 |
$qsDrop = array();
|
1304 |
+
if ( ! $this->_api_key() && ! empty( $this->_summary[ 'is_linked' ] ) ) {
|
1305 |
$this->_summary[ 'is_linked' ] = 0;
|
1306 |
self::save_summary();
|
1307 |
}
|
1313 |
|
1314 |
if ( ! empty( $_GET[ 'domain_hash' ] ) ) {
|
1315 |
|
1316 |
+
if ( md5( substr( $this->_api_key(), 2, 8 ) ) !== $_GET[ 'domain_hash' ] ) {
|
1317 |
Admin_Display::error( __( 'Domain Key hash mismatch', 'litespeed-cache' ), true );
|
1318 |
return $extraRet;
|
1319 |
}
|
src/conf.cls.php
CHANGED
@@ -488,7 +488,7 @@ class Conf extends Base {
|
|
488 |
}
|
489 |
|
490 |
// Reset crawler bypassed list when any of the options WebP replace, guest mode, or cache mobile got changed
|
491 |
-
if ( $id == self::
|
492 |
$this->cls( 'Crawler' )->clear_disabled_list();
|
493 |
}
|
494 |
}
|
@@ -659,7 +659,10 @@ class Conf extends Base {
|
|
659 |
return false;
|
660 |
}
|
661 |
|
662 |
-
|
|
|
|
|
|
|
663 |
}
|
664 |
|
665 |
/**
|
488 |
}
|
489 |
|
490 |
// Reset crawler bypassed list when any of the options WebP replace, guest mode, or cache mobile got changed
|
491 |
+
if ( $id == self::O_IMG_OPTM_WEBP || $id == self::O_GUEST || $id == self::O_CACHE_MOBILE ) {
|
492 |
$this->cls( 'Crawler' )->clear_disabled_list();
|
493 |
}
|
494 |
}
|
659 |
return false;
|
660 |
}
|
661 |
|
662 |
+
$roles = explode( ',', $role );
|
663 |
+
$found = array_intersect( $roles, $this->conf( self::O_OPTM_EXC_ROLES ) );
|
664 |
+
|
665 |
+
return $found ? implode(',', $found) : false;
|
666 |
}
|
667 |
|
668 |
/**
|
src/control.cls.php
CHANGED
@@ -12,6 +12,8 @@ namespace LiteSpeed;
|
|
12 |
defined( 'WPINC' ) || exit;
|
13 |
|
14 |
class Control extends Root {
|
|
|
|
|
15 |
const BM_CACHEABLE = 1;
|
16 |
const BM_PRIVATE = 2;
|
17 |
const BM_SHARED = 4;
|
@@ -91,7 +93,10 @@ class Control extends Root {
|
|
91 |
return false;
|
92 |
}
|
93 |
|
94 |
-
|
|
|
|
|
|
|
95 |
}
|
96 |
|
97 |
/**
|
@@ -495,8 +500,8 @@ class Control extends Root {
|
|
495 |
*/
|
496 |
public function check_redirect( $location, $status ) { // TODO: some env don't have SCRIPT_URI but only REQUEST_URI, need to be compatible
|
497 |
if ( ! empty( $_SERVER[ 'SCRIPT_URI' ] ) ) { // dont check $status == '301' anymore
|
498 |
-
|
499 |
-
|
500 |
|
501 |
$to_check = array(
|
502 |
PHP_URL_SCHEME,
|
@@ -508,9 +513,19 @@ class Control extends Root {
|
|
508 |
$is_same_redirect = true;
|
509 |
|
510 |
foreach ( $to_check as $v ) {
|
511 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
512 |
$is_same_redirect = false;
|
513 |
-
|
514 |
break;
|
515 |
}
|
516 |
}
|
12 |
defined( 'WPINC' ) || exit;
|
13 |
|
14 |
class Control extends Root {
|
15 |
+
const LOG_TAG = '💵';
|
16 |
+
|
17 |
const BM_CACHEABLE = 1;
|
18 |
const BM_PRIVATE = 2;
|
19 |
const BM_SHARED = 4;
|
93 |
return false;
|
94 |
}
|
95 |
|
96 |
+
$roles = explode( ',', $role );
|
97 |
+
$found = array_intersect( $roles, array_keys( $this->conf( Base::O_CACHE_EXC_ROLES ) ) );
|
98 |
+
|
99 |
+
return $found ? implode( ',', $found ) : false;
|
100 |
}
|
101 |
|
102 |
/**
|
500 |
*/
|
501 |
public function check_redirect( $location, $status ) { // TODO: some env don't have SCRIPT_URI but only REQUEST_URI, need to be compatible
|
502 |
if ( ! empty( $_SERVER[ 'SCRIPT_URI' ] ) ) { // dont check $status == '301' anymore
|
503 |
+
self::debug( "301 from " . $_SERVER[ 'SCRIPT_URI' ] );
|
504 |
+
self::debug( "301 to $location" );
|
505 |
|
506 |
$to_check = array(
|
507 |
PHP_URL_SCHEME,
|
513 |
$is_same_redirect = true;
|
514 |
|
515 |
foreach ( $to_check as $v ) {
|
516 |
+
$url_parsed = $v == PHP_URL_QUERY ? $_SERVER[ 'QUERY_STRING' ] : parse_url( $_SERVER[ 'SCRIPT_URI' ], $v );
|
517 |
+
$target = parse_url( $location, $v );
|
518 |
+
|
519 |
+
self::debug("Compare [from] $url_parsed [to] $target");
|
520 |
+
|
521 |
+
if($v==PHP_URL_QUERY) {
|
522 |
+
$url_parsed = urldecode($url_parsed);
|
523 |
+
$target = urldecode($target);
|
524 |
+
}
|
525 |
+
|
526 |
+
if ( $url_parsed != $target ) {
|
527 |
$is_same_redirect = false;
|
528 |
+
self::debug( "301 different redirection" );
|
529 |
break;
|
530 |
}
|
531 |
}
|
src/core.cls.php
CHANGED
@@ -76,24 +76,48 @@ class Core extends Root {
|
|
76 |
// }
|
77 |
|
78 |
add_action( 'plugins_loaded', array( $this, 'plugins_loaded' ) );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
79 |
add_action( 'after_setup_theme', array( $this, 'init' ) );
|
80 |
|
81 |
// Check if there is a purge request in queue
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
|
|
|
|
|
|
97 |
}
|
98 |
|
99 |
/**
|
@@ -190,6 +214,10 @@ class Core extends Root {
|
|
190 |
|
191 |
// Load 3rd party hooks
|
192 |
add_action( 'wp_loaded', array( $this, 'load_thirdparty' ), 2 );
|
|
|
|
|
|
|
|
|
193 |
}
|
194 |
|
195 |
/**
|
@@ -546,34 +574,25 @@ class Core extends Root {
|
|
546 |
|
547 |
// send Control header
|
548 |
if ( defined( 'LITESPEED_ON' ) && $control_header ) {
|
549 |
-
|
550 |
-
if ( defined( 'LSCWP_LOG' ) ) {
|
551 |
-
|
552 |
-
if ( $running_info_showing ) {
|
553 |
-
$this->footer_comment .= "\n<!-- " . $control_header . " -->";
|
554 |
-
}
|
555 |
}
|
556 |
}
|
557 |
// send PURGE header (Always send regardless of cache setting disabled/enabled)
|
558 |
if ( defined( 'LITESPEED_ON' ) && $purge_header ) {
|
559 |
-
|
560 |
Debug2::log_purge( $purge_header );
|
561 |
|
562 |
-
if ( defined( 'LSCWP_LOG' ) ) {
|
563 |
-
|
564 |
-
if ( $running_info_showing ) {
|
565 |
-
$this->footer_comment .= "\n<!-- " . $purge_header . " -->";
|
566 |
-
}
|
567 |
}
|
568 |
}
|
569 |
// send Vary header
|
570 |
if ( defined( 'LITESPEED_ON' ) && $vary_header ) {
|
571 |
-
|
572 |
-
if ( defined( 'LSCWP_LOG' ) ) {
|
573 |
-
|
574 |
-
if ( $running_info_showing ) {
|
575 |
-
$this->footer_comment .= "\n<!-- " . $vary_header . " -->";
|
576 |
-
}
|
577 |
}
|
578 |
}
|
579 |
|
@@ -592,18 +611,14 @@ class Core extends Root {
|
|
592 |
if ( $vary_header ) {
|
593 |
$debug_header .= $vary_header . '; ';
|
594 |
}
|
595 |
-
|
596 |
-
Debug2::debug( $debug_header );
|
597 |
}
|
598 |
else {
|
599 |
// Control header
|
600 |
if ( defined( 'LITESPEED_ON' ) && Control::is_cacheable() && $tag_header ) {
|
601 |
-
|
602 |
-
if ( defined( 'LSCWP_LOG' ) ) {
|
603 |
-
|
604 |
-
if ( $running_info_showing ) {
|
605 |
-
$this->footer_comment .= "\n<!-- " . $tag_header . " -->";
|
606 |
-
}
|
607 |
}
|
608 |
}
|
609 |
}
|
@@ -621,6 +636,43 @@ class Core extends Root {
|
|
621 |
Debug2::debug( '--forced--' );
|
622 |
}
|
623 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
624 |
}
|
625 |
|
626 |
}
|
76 |
// }
|
77 |
|
78 |
add_action( 'plugins_loaded', array( $this, 'plugins_loaded' ) );
|
79 |
+
|
80 |
+
if ( defined( 'LITESPEED_ON' ) ) {
|
81 |
+
// register purge_all actions
|
82 |
+
$purge_all_events = $this->conf( Base::O_PURGE_HOOK_ALL );
|
83 |
+
|
84 |
+
// purge all on upgrade
|
85 |
+
if ( $this->conf( Base::O_PURGE_ON_UPGRADE ) ) {
|
86 |
+
$purge_all_events[] = 'automatic_updates_complete';
|
87 |
+
$purge_all_events[] = 'upgrader_process_complete';
|
88 |
+
$purge_all_events[] = 'admin_action_do-plugin-upgrade';
|
89 |
+
}
|
90 |
+
foreach ( $purge_all_events as $event ) {
|
91 |
+
// Don't allow hook to update_option bcos purge_all will cause infinite loop of update_option
|
92 |
+
if ( in_array( $event, array( 'update_option' ) ) ) {
|
93 |
+
continue;
|
94 |
+
}
|
95 |
+
add_action( $event, __NAMESPACE__ . '\Purge::purge_all' );
|
96 |
+
}
|
97 |
+
// add_filter( 'upgrader_pre_download', 'Purge::filter_with_purge_all' );
|
98 |
+
}
|
99 |
+
|
100 |
add_action( 'after_setup_theme', array( $this, 'init' ) );
|
101 |
|
102 |
// Check if there is a purge request in queue
|
103 |
+
if (!defined( 'LITESPEED_CLI' )) {
|
104 |
+
$purge_queue = Purge::get_option( Purge::DB_QUEUE );
|
105 |
+
if ( $purge_queue && $purge_queue != -1 ) {
|
106 |
+
$this->_http_header( $purge_queue );
|
107 |
+
Debug2::debug( '[Core] Purge Queue found&sent: ' . $purge_queue );
|
108 |
+
}
|
109 |
+
if ( $purge_queue != -1 ) {
|
110 |
+
Purge::update_option( Purge::DB_QUEUE, -1 ); // Use 0 to bypass purge while still enable db update as WP's update_option will check value===false to bypass update
|
111 |
+
}
|
112 |
+
|
113 |
+
$purge_queue = Purge::get_option( Purge::DB_QUEUE2 );
|
114 |
+
if ( $purge_queue && $purge_queue != -1 ) {
|
115 |
+
$this->_http_header( $purge_queue );
|
116 |
+
Debug2::debug( '[Core] Purge2 Queue found&sent: ' . $purge_queue );
|
117 |
+
}
|
118 |
+
if ( $purge_queue != -1 ) {
|
119 |
+
Purge::update_option( Purge::DB_QUEUE2, -1 );
|
120 |
+
}
|
121 |
}
|
122 |
|
123 |
/**
|
214 |
|
215 |
// Load 3rd party hooks
|
216 |
add_action( 'wp_loaded', array( $this, 'load_thirdparty' ), 2 );
|
217 |
+
|
218 |
+
// test: Simulate a purge all
|
219 |
+
// if (defined( 'LITESPEED_CLI' )) Purge::add('test'.date('Ymd.His'));
|
220 |
+
|
221 |
}
|
222 |
|
223 |
/**
|
574 |
|
575 |
// send Control header
|
576 |
if ( defined( 'LITESPEED_ON' ) && $control_header ) {
|
577 |
+
$this->_http_header( $control_header );
|
578 |
+
if ( defined( 'LSCWP_LOG' ) && $running_info_showing) {
|
579 |
+
$this->footer_comment .= "\n<!-- " . $control_header . " -->";
|
|
|
|
|
|
|
580 |
}
|
581 |
}
|
582 |
// send PURGE header (Always send regardless of cache setting disabled/enabled)
|
583 |
if ( defined( 'LITESPEED_ON' ) && $purge_header ) {
|
584 |
+
$this->_http_header( $purge_header );
|
585 |
Debug2::log_purge( $purge_header );
|
586 |
|
587 |
+
if ( defined( 'LSCWP_LOG' ) && $running_info_showing) {
|
588 |
+
$this->footer_comment .= "\n<!-- " . $purge_header . " -->";
|
|
|
|
|
|
|
589 |
}
|
590 |
}
|
591 |
// send Vary header
|
592 |
if ( defined( 'LITESPEED_ON' ) && $vary_header ) {
|
593 |
+
$this->_http_header( $vary_header );
|
594 |
+
if ( defined( 'LSCWP_LOG' ) && $running_info_showing ) {
|
595 |
+
$this->footer_comment .= "\n<!-- " . $vary_header . " -->";
|
|
|
|
|
|
|
596 |
}
|
597 |
}
|
598 |
|
611 |
if ( $vary_header ) {
|
612 |
$debug_header .= $vary_header . '; ';
|
613 |
}
|
614 |
+
$this->_http_header( $debug_header );
|
|
|
615 |
}
|
616 |
else {
|
617 |
// Control header
|
618 |
if ( defined( 'LITESPEED_ON' ) && Control::is_cacheable() && $tag_header ) {
|
619 |
+
$this->_http_header( $tag_header );
|
620 |
+
if ( defined( 'LSCWP_LOG' ) && $running_info_showing ) {
|
621 |
+
$this->footer_comment .= "\n<!-- " . $tag_header . " -->";
|
|
|
|
|
|
|
622 |
}
|
623 |
}
|
624 |
}
|
636 |
Debug2::debug( '--forced--' );
|
637 |
}
|
638 |
|
639 |
+
/**
|
640 |
+
* If is CLI and contains Purge Header, then issue a HTTP req to Purge
|
641 |
+
* @since v5.3
|
642 |
+
*/
|
643 |
+
if (defined( 'LITESPEED_CLI' )) {
|
644 |
+
$purge_queue = Purge::get_option( Purge::DB_QUEUE );
|
645 |
+
if ( ! $purge_queue || $purge_queue == -1 ) {
|
646 |
+
$purge_queue = Purge::get_option( Purge::DB_QUEUE2 );
|
647 |
+
}
|
648 |
+
if ( $purge_queue && $purge_queue != -1 ) {
|
649 |
+
self::debug( '[Core] Purge Queue found, issue a HTTP req to purge: ' . $purge_queue );
|
650 |
+
// Kick off HTTP req
|
651 |
+
$url = admin_url( 'admin-ajax.php' );
|
652 |
+
$resp = wp_remote_get($url);
|
653 |
+
if ( is_wp_error( $resp ) ) {
|
654 |
+
$error_message = $resp->get_error_message();
|
655 |
+
self::debug( '[URL]' . $url );
|
656 |
+
self::debug( 'failed to request: ' . $error_message );
|
657 |
+
}
|
658 |
+
else {
|
659 |
+
self::debug('HTTP req res: ' . $resp['body']);
|
660 |
+
}
|
661 |
+
}
|
662 |
+
}
|
663 |
+
}
|
664 |
+
|
665 |
+
/**
|
666 |
+
* Send HTTP header
|
667 |
+
* @since 5.3
|
668 |
+
*/
|
669 |
+
private function _http_header( $header ) {
|
670 |
+
if ( defined( 'LITESPEED_CLI' ) ) return;
|
671 |
+
|
672 |
+
@header( $header );
|
673 |
+
|
674 |
+
if ( ! defined( 'LSCWP_LOG' ) ) return;
|
675 |
+
Debug2::debug( '💰 ' . $header );
|
676 |
}
|
677 |
|
678 |
}
|
src/crawler.cls.php
CHANGED
@@ -156,6 +156,7 @@ class Crawler extends Root {
|
|
156 |
'crawler_stats' => array(), // this will store all crawlers hit/miss crawl status
|
157 |
);
|
158 |
|
|
|
159 |
$summary = parent::get_summary();
|
160 |
$summary = array_merge( $_default, $summary );
|
161 |
|
@@ -880,7 +881,7 @@ class Crawler extends Root {
|
|
880 |
$crawler_factors[ 'uid' ] = array( 0 => __( 'Guest', 'litespeed-cache' ) );
|
881 |
|
882 |
// WebP on/off
|
883 |
-
if ( $this->conf( Base::
|
884 |
$crawler_factors[ 'webp' ] = array( 1 => 'WebP', 0 => '' );
|
885 |
}
|
886 |
|
156 |
'crawler_stats' => array(), // this will store all crawlers hit/miss crawl status
|
157 |
);
|
158 |
|
159 |
+
wp_cache_delete( 'alloptions', 'options' ); // ensure the summary is current
|
160 |
$summary = parent::get_summary();
|
161 |
$summary = array_merge( $_default, $summary );
|
162 |
|
881 |
$crawler_factors[ 'uid' ] = array( 0 => __( 'Guest', 'litespeed-cache' ) );
|
882 |
|
883 |
// WebP on/off
|
884 |
+
if ( $this->conf( Base::O_GUEST ) || $this->conf( Base::O_IMG_OPTM_WEBP ) ) {
|
885 |
$crawler_factors[ 'webp' ] = array( 1 => 'WebP', 0 => '' );
|
886 |
}
|
887 |
|
src/data.upgrade.func.php
CHANGED
@@ -399,10 +399,10 @@ function litespeed_update_3_0( $ver ) {
|
|
399 |
'media_optm_cron' => 'img_optm-cron',
|
400 |
'media_optm_ori' => 'img_optm-ori',
|
401 |
'media_rm_ori_bkup' => 'img_optm-rm_bkup',
|
402 |
-
'media_optm_webp' => 'img_optm-webp',
|
|
|
403 |
'media_optm_lossless' => 'img_optm-lossless',
|
404 |
'media_optm_exif' => 'img_optm-exif',
|
405 |
-
'media_webp_replace' => 'img_optm-webp_replace',
|
406 |
'media_webp_replace_srcset' => 'img_optm-webp_replace_srcset',
|
407 |
|
408 |
'css_minify' => 'optm-css_min',
|
@@ -588,7 +588,7 @@ function litespeed_update_3_0( $ver ) {
|
|
588 |
'cache_browser' => 'cache-browser',
|
589 |
'cache_browser_ttl' => 'cache-ttl_browser',
|
590 |
|
591 |
-
'media_webp_replace' => 'img_optm-
|
592 |
) ;
|
593 |
foreach ( $data as $k => $v ) {
|
594 |
if ( ! isset( $previous_site_options[ $k ] ) ) {
|
399 |
'media_optm_cron' => 'img_optm-cron',
|
400 |
'media_optm_ori' => 'img_optm-ori',
|
401 |
'media_rm_ori_bkup' => 'img_optm-rm_bkup',
|
402 |
+
// 'media_optm_webp' => 'img_optm-webp',
|
403 |
+
'media_webp_replace' => 'img_optm-webp',
|
404 |
'media_optm_lossless' => 'img_optm-lossless',
|
405 |
'media_optm_exif' => 'img_optm-exif',
|
|
|
406 |
'media_webp_replace_srcset' => 'img_optm-webp_replace_srcset',
|
407 |
|
408 |
'css_minify' => 'optm-css_min',
|
588 |
'cache_browser' => 'cache-browser',
|
589 |
'cache_browser_ttl' => 'cache-ttl_browser',
|
590 |
|
591 |
+
'media_webp_replace' => 'img_optm-webp',
|
592 |
) ;
|
593 |
foreach ( $data as $k => $v ) {
|
594 |
if ( ! isset( $previous_site_options[ $k ] ) ) {
|
src/debug2.cls.php
CHANGED
@@ -302,7 +302,7 @@ class Debug2 extends Root {
|
|
302 |
if ( isset( $_SERVER[ 'USER' ] ) ) {
|
303 |
$addr .= $_SERVER[ 'USER' ];
|
304 |
}
|
305 |
-
elseif ( $_SERVER[ 'HTTP_X_FORWARDED_FOR' ] ) {
|
306 |
$addr .= $_SERVER[ 'HTTP_X_FORWARDED_FOR' ];
|
307 |
}
|
308 |
}
|
302 |
if ( isset( $_SERVER[ 'USER' ] ) ) {
|
303 |
$addr .= $_SERVER[ 'USER' ];
|
304 |
}
|
305 |
+
elseif ( !empty($_SERVER[ 'HTTP_X_FORWARDED_FOR' ]) ) {
|
306 |
$addr .= $_SERVER[ 'HTTP_X_FORWARDED_FOR' ];
|
307 |
}
|
308 |
}
|
src/htaccess.cls.php
CHANGED
@@ -562,7 +562,7 @@ class Htaccess extends Root {
|
|
562 |
}
|
563 |
|
564 |
// webp support
|
565 |
-
$id = Base::
|
566 |
if ( ! empty( $cfg[ $id ] ) || ! empty( $cfg[ Base::O_GUEST ] ) ) {
|
567 |
$new_rules[] = self::MARKER_WEBP . self::MARKER_START;
|
568 |
$new_rules[] = 'RewriteCond %{HTTP_ACCEPT} "image/webp"';
|
562 |
}
|
563 |
|
564 |
// webp support
|
565 |
+
$id = Base::O_IMG_OPTM_WEBP;
|
566 |
if ( ! empty( $cfg[ $id ] ) || ! empty( $cfg[ Base::O_GUEST ] ) ) {
|
567 |
$new_rules[] = self::MARKER_WEBP . self::MARKER_START;
|
568 |
$new_rules[] = 'RewriteCond %{HTTP_ACCEPT} "image/webp"';
|
src/lang.cls.php
CHANGED
@@ -141,7 +141,8 @@ class Lang extends Base {
|
|
141 |
self::O_OPTM_CSS_COMB_EXT_INL => __( 'CSS Combine External and Inline', 'litespeed-cache' ),
|
142 |
self::O_OPTM_UCSS => __( 'Generate UCSS', 'litespeed-cache' ),
|
143 |
self::O_OPTM_UCSS_INLINE => __( 'UCSS Inline', 'litespeed-cache' ),
|
144 |
-
self::
|
|
|
145 |
self::O_OPTM_UCSS_EXC => __( 'UCSS URI Excludes', 'litespeed-cache' ),
|
146 |
self::O_OPTM_JS_MIN => __( 'JS Minify', 'litespeed-cache' ),
|
147 |
self::O_OPTM_JS_COMB => __( 'JS Combine', 'litespeed-cache' ),
|
@@ -203,7 +204,7 @@ class Lang extends Base {
|
|
203 |
self::O_IMG_OPTM_CRON => __( 'Auto Pull Cron', 'litespeed-cache' ),
|
204 |
self::O_IMG_OPTM_ORI => __( 'Optimize Original Images', 'litespeed-cache' ),
|
205 |
self::O_IMG_OPTM_RM_BKUP => __( 'Remove Original Backups', 'litespeed-cache' ),
|
206 |
-
self::O_IMG_OPTM_WEBP => __( '
|
207 |
self::O_IMG_OPTM_LOSSLESS => __( 'Optimize Losslessly', 'litespeed-cache' ),
|
208 |
self::O_IMG_OPTM_EXIF => __( 'Preserve EXIF/XMP data', 'litespeed-cache' ),
|
209 |
self::O_IMG_OPTM_WEBP_ATTR => __( 'WebP Attribute To Replace', 'litespeed-cache' ),
|
@@ -220,7 +221,6 @@ class Lang extends Base {
|
|
220 |
self::O_CACHE_EXC_COOKIES => __( 'Do Not Cache Cookies', 'litespeed-cache' ),
|
221 |
self::O_CACHE_EXC_USERAGENTS => __( 'Do Not Cache User Agents', 'litespeed-cache' ),
|
222 |
self::O_CACHE_LOGIN_COOKIE => __( 'Login Cookie', 'litespeed-cache' ),
|
223 |
-
self::O_IMG_OPTM_WEBP_REPLACE => __( 'Image WebP Replacement', 'litespeed-cache' ),
|
224 |
|
225 |
self::O_MISC_HEARTBEAT_FRONT => __( 'Frontend Heartbeat Control', 'litespeed-cache' ),
|
226 |
self::O_MISC_HEARTBEAT_FRONT_TTL => __( 'Frontend Heartbeat TTL', 'litespeed-cache' ),
|
141 |
self::O_OPTM_CSS_COMB_EXT_INL => __( 'CSS Combine External and Inline', 'litespeed-cache' ),
|
142 |
self::O_OPTM_UCSS => __( 'Generate UCSS', 'litespeed-cache' ),
|
143 |
self::O_OPTM_UCSS_INLINE => __( 'UCSS Inline', 'litespeed-cache' ),
|
144 |
+
self::O_OPTM_UCSS_SELECTOR_WHITELIST => __( 'UCSS Selector Allowlist', 'litespeed-cache' ),
|
145 |
+
self::O_OPTM_UCSS_FILE_EXC_INLINE => __( 'UCSS File Excludes and Inline', 'litespeed-cache' ),
|
146 |
self::O_OPTM_UCSS_EXC => __( 'UCSS URI Excludes', 'litespeed-cache' ),
|
147 |
self::O_OPTM_JS_MIN => __( 'JS Minify', 'litespeed-cache' ),
|
148 |
self::O_OPTM_JS_COMB => __( 'JS Combine', 'litespeed-cache' ),
|
204 |
self::O_IMG_OPTM_CRON => __( 'Auto Pull Cron', 'litespeed-cache' ),
|
205 |
self::O_IMG_OPTM_ORI => __( 'Optimize Original Images', 'litespeed-cache' ),
|
206 |
self::O_IMG_OPTM_RM_BKUP => __( 'Remove Original Backups', 'litespeed-cache' ),
|
207 |
+
self::O_IMG_OPTM_WEBP => __( 'Image WebP Replacement', 'litespeed-cache' ),
|
208 |
self::O_IMG_OPTM_LOSSLESS => __( 'Optimize Losslessly', 'litespeed-cache' ),
|
209 |
self::O_IMG_OPTM_EXIF => __( 'Preserve EXIF/XMP data', 'litespeed-cache' ),
|
210 |
self::O_IMG_OPTM_WEBP_ATTR => __( 'WebP Attribute To Replace', 'litespeed-cache' ),
|
221 |
self::O_CACHE_EXC_COOKIES => __( 'Do Not Cache Cookies', 'litespeed-cache' ),
|
222 |
self::O_CACHE_EXC_USERAGENTS => __( 'Do Not Cache User Agents', 'litespeed-cache' ),
|
223 |
self::O_CACHE_LOGIN_COOKIE => __( 'Login Cookie', 'litespeed-cache' ),
|
|
|
224 |
|
225 |
self::O_MISC_HEARTBEAT_FRONT => __( 'Frontend Heartbeat Control', 'litespeed-cache' ),
|
226 |
self::O_MISC_HEARTBEAT_FRONT_TTL => __( 'Frontend Heartbeat TTL', 'litespeed-cache' ),
|
src/media.cls.php
CHANGED
@@ -43,7 +43,7 @@ class Media extends Root {
|
|
43 |
}
|
44 |
|
45 |
// Due to ajax call doesn't send correct accept header, have to limit webp to HTML only
|
46 |
-
if ( defined( 'LITESPEED_GUEST_OPTM' ) || $this->conf( Base::
|
47 |
if ( $this->webp_support() ) {
|
48 |
// Hook to srcset
|
49 |
if ( function_exists( 'wp_calculate_image_srcset' ) ) {
|
@@ -446,7 +446,7 @@ class Media extends Root {
|
|
446 |
* Use webp for optimized images
|
447 |
* @since 1.6.2
|
448 |
*/
|
449 |
-
if ( ( defined( 'LITESPEED_GUEST_OPTM' ) || $this->conf( Base::
|
450 |
$this->content = $this->_replace_buffer_img_webp( $this->content );
|
451 |
}
|
452 |
|
@@ -521,7 +521,7 @@ class Media extends Root {
|
|
521 |
|
522 |
// Include lazyload lib js and init lazyload
|
523 |
if ( $cfg_lazy || $cfg_iframe_lazy ) {
|
524 |
-
$lazy_lib = '<script data-no-optimize="1"
|
525 |
$this->content = str_replace( '</body>', $lazy_lib . '</body>', $this->content );
|
526 |
}
|
527 |
}
|
@@ -810,7 +810,7 @@ class Media extends Root {
|
|
810 |
}
|
811 |
|
812 |
// Replace background-image
|
813 |
-
if ( ( defined( 'LITESPEED_GUEST_OPTM' ) || $this->conf( Base::
|
814 |
$content = $this->replace_background_webp( $content );
|
815 |
}
|
816 |
|
43 |
}
|
44 |
|
45 |
// Due to ajax call doesn't send correct accept header, have to limit webp to HTML only
|
46 |
+
if ( defined( 'LITESPEED_GUEST_OPTM' ) || $this->conf( Base::O_IMG_OPTM_WEBP ) ) {
|
47 |
if ( $this->webp_support() ) {
|
48 |
// Hook to srcset
|
49 |
if ( function_exists( 'wp_calculate_image_srcset' ) ) {
|
446 |
* Use webp for optimized images
|
447 |
* @since 1.6.2
|
448 |
*/
|
449 |
+
if ( ( defined( 'LITESPEED_GUEST_OPTM' ) || $this->conf( Base::O_IMG_OPTM_WEBP ) ) && $this->webp_support() ) {
|
450 |
$this->content = $this->_replace_buffer_img_webp( $this->content );
|
451 |
}
|
452 |
|
521 |
|
522 |
// Include lazyload lib js and init lazyload
|
523 |
if ( $cfg_lazy || $cfg_iframe_lazy ) {
|
524 |
+
$lazy_lib = '<script data-no-optimize="1">' . File::read( LSCWP_DIR . self::LIB_FILE_IMG_LAZYLOAD ) . '</script>';
|
525 |
$this->content = str_replace( '</body>', $lazy_lib . '</body>', $this->content );
|
526 |
}
|
527 |
}
|
810 |
}
|
811 |
|
812 |
// Replace background-image
|
813 |
+
if ( ( defined( 'LITESPEED_GUEST_OPTM' ) || $this->conf( Base::O_IMG_OPTM_WEBP ) ) && $this->webp_support() ) {
|
814 |
$content = $this->replace_background_webp( $content );
|
815 |
}
|
816 |
|
src/metabox.cls.php
CHANGED
@@ -50,6 +50,11 @@ class Metabox extends Root {
|
|
50 |
if ( apply_filters( 'litespeed_bypass_metabox', false, $post_type ) ) {
|
51 |
return;
|
52 |
}
|
|
|
|
|
|
|
|
|
|
|
53 |
add_meta_box( 'litespeed_meta_boxes', __( 'LiteSpeed Options', 'litespeed-cache' ), array( $this, 'meta_box_options' ), $post_type, 'side', 'core' );
|
54 |
}
|
55 |
|
@@ -97,9 +102,11 @@ class Metabox extends Root {
|
|
97 |
public function setting( $conf, $post_id = false ) {
|
98 |
// Check if has metabox non-cacheable setting or not
|
99 |
if ( ! $post_id ) {
|
|
|
100 |
if ( is_singular() ) {
|
101 |
$post_id = get_the_ID();
|
102 |
-
|
|
|
103 |
}
|
104 |
}
|
105 |
|
50 |
if ( apply_filters( 'litespeed_bypass_metabox', false, $post_type ) ) {
|
51 |
return;
|
52 |
}
|
53 |
+
$post_type_obj = get_post_type_object( $post_type );
|
54 |
+
if ( !$post_type_obj->public ) {
|
55 |
+
self::debug('post type public=false, bypass add_meta_boxes');
|
56 |
+
return;
|
57 |
+
}
|
58 |
add_meta_box( 'litespeed_meta_boxes', __( 'LiteSpeed Options', 'litespeed-cache' ), array( $this, 'meta_box_options' ), $post_type, 'side', 'core' );
|
59 |
}
|
60 |
|
102 |
public function setting( $conf, $post_id = false ) {
|
103 |
// Check if has metabox non-cacheable setting or not
|
104 |
if ( ! $post_id ) {
|
105 |
+
$home_id = get_option( 'page_for_posts' );
|
106 |
if ( is_singular() ) {
|
107 |
$post_id = get_the_ID();
|
108 |
+
} elseif ( $home_id > 0 && is_home() ) {
|
109 |
+
$post_id = $home_id;
|
110 |
}
|
111 |
}
|
112 |
|
src/optimize.cls.php
CHANGED
@@ -681,7 +681,7 @@ class Optimize extends Base {
|
|
681 |
private function _src_queue_handler( $src_list, $html_list, $file_type = 'css' ) {
|
682 |
$html_list_ori = $html_list;
|
683 |
|
684 |
-
$can_webp = ( defined( 'LITESPEED_GUEST_OPTM' ) || $this->conf( Base::
|
685 |
|
686 |
$tag = $file_type == 'css' ? 'link' : 'script';
|
687 |
foreach ( $src_list as $key => $src_info ) {
|
@@ -968,6 +968,7 @@ class Optimize extends Base {
|
|
968 |
*/
|
969 |
private function _parse_css() {
|
970 |
$excludes = apply_filters( 'litespeed_optimize_css_excludes', $this->conf( self::O_OPTM_CSS_EXC ) );
|
|
|
971 |
|
972 |
$combine_ext_inl = $this->conf( self::O_OPTM_CSS_COMB_EXT_INL );
|
973 |
|
@@ -1013,6 +1014,16 @@ class Optimize extends Base {
|
|
1013 |
continue;
|
1014 |
}
|
1015 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1016 |
// Check Google fonts hit
|
1017 |
if ( strpos( $attrs[ 'href' ], 'fonts.googleapis.com' ) !== false ) {
|
1018 |
/**
|
681 |
private function _src_queue_handler( $src_list, $html_list, $file_type = 'css' ) {
|
682 |
$html_list_ori = $html_list;
|
683 |
|
684 |
+
$can_webp = ( defined( 'LITESPEED_GUEST_OPTM' ) || $this->conf( Base::O_IMG_OPTM_WEBP ) ) && $this->cls( 'Media' )->webp_support();
|
685 |
|
686 |
$tag = $file_type == 'css' ? 'link' : 'script';
|
687 |
foreach ( $src_list as $key => $src_info ) {
|
968 |
*/
|
969 |
private function _parse_css() {
|
970 |
$excludes = apply_filters( 'litespeed_optimize_css_excludes', $this->conf( self::O_OPTM_CSS_EXC ) );
|
971 |
+
$ucss_file_exc_inline = apply_filters( 'litespeed_optimize_ucss_file_exc_inline', $this->conf( self::O_OPTM_UCSS_FILE_EXC_INLINE ) );
|
972 |
|
973 |
$combine_ext_inl = $this->conf( self::O_OPTM_CSS_COMB_EXT_INL );
|
974 |
|
1014 |
continue;
|
1015 |
}
|
1016 |
|
1017 |
+
// Check if need to inline this css file
|
1018 |
+
if ( Utility::str_hit_array( $attrs[ 'href' ], $ucss_file_exc_inline ) ) {
|
1019 |
+
Debug2::debug( '[Optm] ucss_file_exc_inline hit ' . $attrs[ 'href' ] );
|
1020 |
+
// Replace this css to inline from orig html
|
1021 |
+
$inline_script = '<style>' . $this->__optimizer->load_file($attrs[ 'href' ]) . '</style>';
|
1022 |
+
$this->content = str_replace( $match[ 0 ], $inline_script, $this->content );
|
1023 |
+
|
1024 |
+
continue;
|
1025 |
+
}
|
1026 |
+
|
1027 |
// Check Google fonts hit
|
1028 |
if ( strpos( $attrs[ 'href' ], 'fonts.googleapis.com' ) !== false ) {
|
1029 |
/**
|
src/optimizer.cls.php
CHANGED
@@ -161,7 +161,7 @@ class Optimizer extends Root {
|
|
161 |
|
162 |
$content = $this->cls( 'CDN' )->finalize( $content );
|
163 |
|
164 |
-
if ( ( defined( 'LITESPEED_GUEST_OPTM' ) || $this->conf( Base::
|
165 |
$content = $this->cls( 'Media' )->replace_background_webp( $content );
|
166 |
}
|
167 |
|
161 |
|
162 |
$content = $this->cls( 'CDN' )->finalize( $content );
|
163 |
|
164 |
+
if ( ( defined( 'LITESPEED_GUEST_OPTM' ) || $this->conf( Base::O_IMG_OPTM_WEBP ) ) && $this->cls( 'Media' )->webp_support() ) {
|
165 |
$content = $this->cls( 'Media' )->replace_background_webp( $content );
|
166 |
}
|
167 |
|
src/preset.cls.php
ADDED
@@ -0,0 +1,264 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* The preset class.
|
4 |
+
*
|
5 |
+
* @since 5.3.0
|
6 |
+
*/
|
7 |
+
namespace LiteSpeed;
|
8 |
+
|
9 |
+
defined( 'WPINC' ) || exit;
|
10 |
+
|
11 |
+
class Preset extends Import {
|
12 |
+
protected $_summary;
|
13 |
+
|
14 |
+
const MAX_BACKUPS = 10;
|
15 |
+
|
16 |
+
const TYPE_APPLY = 'apply';
|
17 |
+
const TYPE_RESTORE = 'restore';
|
18 |
+
|
19 |
+
const STANDARD_DIR = LSCWP_DIR . 'data/preset';
|
20 |
+
const BACKUP_DIR = LITESPEED_STATIC_DIR . '/auto-backup';
|
21 |
+
|
22 |
+
/**
|
23 |
+
* Returns sorted backup names
|
24 |
+
*
|
25 |
+
* @since 5.3.0
|
26 |
+
* @access public
|
27 |
+
*/
|
28 |
+
public static function get_backups() {
|
29 |
+
self::init_filesystem();
|
30 |
+
global $wp_filesystem;
|
31 |
+
|
32 |
+
$backups = array_map(
|
33 |
+
function( $path ) { return self::basename( $path['name'] ); },
|
34 |
+
$wp_filesystem->dirlist( self::BACKUP_DIR ) ?: []
|
35 |
+
);
|
36 |
+
rsort( $backups );
|
37 |
+
|
38 |
+
return $backups;
|
39 |
+
}
|
40 |
+
|
41 |
+
/**
|
42 |
+
* Removes extra backup files
|
43 |
+
*
|
44 |
+
* @since 5.3.0
|
45 |
+
* @access public
|
46 |
+
*/
|
47 |
+
public static function prune_backups() {
|
48 |
+
$backups = self::get_backups();
|
49 |
+
global $wp_filesystem;
|
50 |
+
|
51 |
+
foreach ( array_slice( $backups, self::MAX_BACKUPS ) as $backup ) {
|
52 |
+
$path = self::get_backup( $backup );
|
53 |
+
$wp_filesystem->delete( $path );
|
54 |
+
Debug2::debug('[Preset] Deleted old backup from ' . $backup );
|
55 |
+
}
|
56 |
+
}
|
57 |
+
|
58 |
+
/**
|
59 |
+
* Returns a settings file's extensionless basename given its filesystem path
|
60 |
+
*
|
61 |
+
* @since 5.3.0
|
62 |
+
* @access public
|
63 |
+
*/
|
64 |
+
public static function basename( $path ) {
|
65 |
+
return basename( $path, '.data' );
|
66 |
+
}
|
67 |
+
|
68 |
+
/**
|
69 |
+
* Returns a standard preset's path given its extensionless basename
|
70 |
+
*
|
71 |
+
* @since 5.3.0
|
72 |
+
* @access public
|
73 |
+
*/
|
74 |
+
public static function get_standard( $name ) {
|
75 |
+
return path_join( self::STANDARD_DIR, $name . '.data' );
|
76 |
+
}
|
77 |
+
|
78 |
+
/**
|
79 |
+
* Returns a backup's path given its extensionless basename
|
80 |
+
*
|
81 |
+
* @since 5.3.0
|
82 |
+
* @access public
|
83 |
+
*/
|
84 |
+
public static function get_backup( $name ) {
|
85 |
+
return path_join( self::BACKUP_DIR, $name . '.data' );
|
86 |
+
}
|
87 |
+
|
88 |
+
/**
|
89 |
+
* Initializes the global $wp_filesystem object and clears stat cache
|
90 |
+
*
|
91 |
+
* @since 5.3.0
|
92 |
+
*/
|
93 |
+
static function init_filesystem() {
|
94 |
+
require_once ( ABSPATH . '/wp-admin/includes/file.php' );
|
95 |
+
\WP_Filesystem();
|
96 |
+
clearstatcache();
|
97 |
+
}
|
98 |
+
|
99 |
+
|
100 |
+
/**
|
101 |
+
* Init
|
102 |
+
*
|
103 |
+
* @since 5.3.0
|
104 |
+
*/
|
105 |
+
public function __construct() {
|
106 |
+
Debug2::debug( '[Preset] Init' );
|
107 |
+
$this->_summary = self::get_summary();
|
108 |
+
}
|
109 |
+
|
110 |
+
/**
|
111 |
+
* Applies a standard preset's settings given its extensionless basename
|
112 |
+
*
|
113 |
+
* @since 5.3.0
|
114 |
+
* @access public
|
115 |
+
*/
|
116 |
+
public function apply( $preset ) {
|
117 |
+
$this->make_backup( $preset );
|
118 |
+
|
119 |
+
$path = self::get_standard( $preset );
|
120 |
+
$result = $this->import_file( $path ) ? $preset : 'error';
|
121 |
+
|
122 |
+
$this->log( $result );
|
123 |
+
}
|
124 |
+
|
125 |
+
/**
|
126 |
+
* Restores settings from the backup file with the given timestamp, then deletes the file
|
127 |
+
*
|
128 |
+
* @since 5.3.0
|
129 |
+
* @access public
|
130 |
+
*/
|
131 |
+
public function restore( $timestamp ) {
|
132 |
+
$backups = array();
|
133 |
+
foreach ( self::get_backups() as $backup ) {
|
134 |
+
if ( preg_match( '/^backup-' . $timestamp . '(-|$)/', $backup ) === 1 ) {
|
135 |
+
$backups[] = $backup;
|
136 |
+
}
|
137 |
+
};
|
138 |
+
|
139 |
+
if ( empty( $backups ) ) {
|
140 |
+
$this->log( 'error' );
|
141 |
+
return;
|
142 |
+
}
|
143 |
+
|
144 |
+
$backup = $backups[0];
|
145 |
+
$path = self::get_backup( $backup );
|
146 |
+
|
147 |
+
if ( ! $this->import_file( $path ) ) {
|
148 |
+
$this->log( 'error' );
|
149 |
+
return;
|
150 |
+
}
|
151 |
+
|
152 |
+
self::init_filesystem();
|
153 |
+
global $wp_filesystem;
|
154 |
+
|
155 |
+
$wp_filesystem->delete( $path );
|
156 |
+
Debug2::debug('[Preset] Deleted most recent backup from ' . $backup );
|
157 |
+
|
158 |
+
$this->log( 'backup' );
|
159 |
+
}
|
160 |
+
|
161 |
+
/**
|
162 |
+
* Saves current settings as a backup file, then prunes extra backup files
|
163 |
+
*
|
164 |
+
* @since 5.3.0
|
165 |
+
* @access public
|
166 |
+
*/
|
167 |
+
public function make_backup( $preset ) {
|
168 |
+
$backup = 'backup-' . time() . '-before-' . $preset;
|
169 |
+
$data = $this->export( true );
|
170 |
+
|
171 |
+
$path = self::get_backup( $backup );
|
172 |
+
File::save( $path, $data, true );
|
173 |
+
Debug2::debug( '[Preset] Backup saved to ' . $backup );
|
174 |
+
|
175 |
+
self::prune_backups();
|
176 |
+
}
|
177 |
+
|
178 |
+
/**
|
179 |
+
* Tries to import from a given settings file
|
180 |
+
*
|
181 |
+
* @since 5.3.0
|
182 |
+
*/
|
183 |
+
function import_file( $path ) {
|
184 |
+
$debug = function( $result, $name ) {
|
185 |
+
$action = $result ? 'Applied' : 'Failed to apply';
|
186 |
+
Debug2::debug( '[Preset] ' . $action . ' settings from ' . $name );
|
187 |
+
return $result;
|
188 |
+
};
|
189 |
+
|
190 |
+
$name = self::basename( $path );
|
191 |
+
$contents = file_get_contents( $path );
|
192 |
+
|
193 |
+
if ( false === $contents ) {
|
194 |
+
Debug2::debug( '[Preset] ❌ Failed to get file contents' );
|
195 |
+
return $debug( false, $name );
|
196 |
+
}
|
197 |
+
|
198 |
+
$parsed = array();
|
199 |
+
try {
|
200 |
+
// Check if the data is v4+
|
201 |
+
if ( strpos( $contents, '["_version",' ) === 0 ) {
|
202 |
+
$contents = explode( "\n", $contents );
|
203 |
+
foreach ( $contents as $line ) {
|
204 |
+
$line = trim( $line );
|
205 |
+
if ( empty( $line ) ) {
|
206 |
+
continue;
|
207 |
+
}
|
208 |
+
list( $key, $value ) = json_decode( $line, true );
|
209 |
+
$parsed[ $key ] = $value;
|
210 |
+
}
|
211 |
+
} else {
|
212 |
+
$parsed = json_decode( base64_decode( $contents ), true );
|
213 |
+
}
|
214 |
+
} catch ( \Exception $ex ) {
|
215 |
+
Debug2::debug( '[Preset] ❌ Failed to parse serialized data' );
|
216 |
+
return $debug( false, $name );
|
217 |
+
}
|
218 |
+
|
219 |
+
if ( empty( $parsed ) ) {
|
220 |
+
Debug2::debug( '[Preset] ❌ Nothing to apply' );
|
221 |
+
return $debug( false, $name );
|
222 |
+
}
|
223 |
+
|
224 |
+
$this->cls( 'Conf' )->update_confs( $parsed );
|
225 |
+
|
226 |
+
return $debug( true, $name );
|
227 |
+
}
|
228 |
+
|
229 |
+
/**
|
230 |
+
* Updates the log
|
231 |
+
*
|
232 |
+
* @since 5.3.0
|
233 |
+
*/
|
234 |
+
function log( $preset ) {
|
235 |
+
$this->_summary[ 'preset' ] = $preset;
|
236 |
+
$this->_summary[ 'preset_timestamp' ] = time();
|
237 |
+
self::save_summary();
|
238 |
+
}
|
239 |
+
|
240 |
+
/**
|
241 |
+
* Handles all request actions from main cls
|
242 |
+
*
|
243 |
+
* @since 5.3.0
|
244 |
+
* @access public
|
245 |
+
*/
|
246 |
+
public function handler() {
|
247 |
+
$type = Router::verify_type();
|
248 |
+
|
249 |
+
switch ( $type ) {
|
250 |
+
case self::TYPE_APPLY:
|
251 |
+
$this->apply( ! empty( $_GET['preset'] ) ? $_GET['preset'] : false );
|
252 |
+
break;
|
253 |
+
|
254 |
+
case self::TYPE_RESTORE:
|
255 |
+
$this->restore( ! empty( $_GET['timestamp'] ) ? $_GET['timestamp'] : false );
|
256 |
+
break;
|
257 |
+
|
258 |
+
default:
|
259 |
+
break;
|
260 |
+
}
|
261 |
+
|
262 |
+
Admin::redirect();
|
263 |
+
}
|
264 |
+
}
|
src/purge.cls.php
CHANGED
@@ -177,13 +177,20 @@ class Purge extends Base {
|
|
177 |
* @access private
|
178 |
*/
|
179 |
private function _purge_all( $reason = false ) {
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
// $
|
184 |
-
//
|
185 |
-
|
186 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
187 |
|
188 |
if ( ! is_string( $reason ) ) {
|
189 |
$reason = false;
|
@@ -1136,9 +1143,9 @@ class Purge extends Base {
|
|
1136 |
$post_type = $post->post_type;
|
1137 |
|
1138 |
global $wp_widget_factory;
|
1139 |
-
|
1140 |
-
if ( ! is_null($
|
1141 |
-
$purge_tags[] = Tag::TYPE_WIDGET . $
|
1142 |
}
|
1143 |
|
1144 |
// get adjacent posts id as related post tag
|
177 |
* @access private
|
178 |
*/
|
179 |
private function _purge_all( $reason = false ) {
|
180 |
+
// if ( defined( 'LITESPEED_CLI' ) ) {
|
181 |
+
// // Can't send, already has output, need to save and wait for next run
|
182 |
+
// self::update_option( self::DB_QUEUE, $curr_built );
|
183 |
+
// self::debug( 'CLI request, queue stored: ' . $curr_built );
|
184 |
+
// }
|
185 |
+
// else {
|
186 |
+
$this->_purge_all_lscache( true );
|
187 |
+
$this->_purge_all_cssjs( true );
|
188 |
+
$this->_purge_all_localres( true );
|
189 |
+
// $this->_purge_all_ccss( true );
|
190 |
+
// $this->_purge_all_lqip( true );
|
191 |
+
$this->_purge_all_object( true );
|
192 |
+
$this->purge_all_opcache( true );
|
193 |
+
// }
|
194 |
|
195 |
if ( ! is_string( $reason ) ) {
|
196 |
$reason = false;
|
1143 |
$post_type = $post->post_type;
|
1144 |
|
1145 |
global $wp_widget_factory;
|
1146 |
+
// recent_posts
|
1147 |
+
if ( ! is_null( $wp_widget_factory->widgets['WP_Widget_Recent_Posts'] ) ) {
|
1148 |
+
$purge_tags[] = Tag::TYPE_WIDGET . $wp_widget_factory->widgets['WP_Widget_Recent_Posts']->id;
|
1149 |
}
|
1150 |
|
1151 |
// get adjacent posts id as related post tag
|
src/router.cls.php
CHANGED
@@ -30,6 +30,7 @@ class Router extends Base {
|
|
30 |
const ACTION_CSS = 'css';
|
31 |
const ACTION_UCSS = 'ucss';
|
32 |
const ACTION_VPI = 'vpi';
|
|
|
33 |
const ACTION_IMPORT = 'import';
|
34 |
const ACTION_REPORT = 'report';
|
35 |
const ACTION_DEBUG2 = 'debug2';
|
@@ -51,6 +52,7 @@ class Router extends Base {
|
|
51 |
self::ACTION_DEBUG2,
|
52 |
self::ACTION_HEALTH,
|
53 |
self::ACTION_IMG_OPTM,
|
|
|
54 |
self::ACTION_IMPORT,
|
55 |
self::ACTION_PLACEHOLDER,
|
56 |
self::ACTION_PURGE,
|
@@ -297,7 +299,7 @@ class Router extends Base {
|
|
297 |
$user = get_userdata( $uid );
|
298 |
if ( isset( $user->roles ) && is_array( $user->roles ) ) {
|
299 |
$tmp = array_values( $user->roles );
|
300 |
-
$role =
|
301 |
}
|
302 |
}
|
303 |
Debug2::debug( '[Router] get_role: ' . $role );
|
@@ -566,6 +568,7 @@ class Router extends Base {
|
|
566 |
case self::ACTION_CDN_SETUP:
|
567 |
case self::ACTION_CDN_CLOUDFLARE:
|
568 |
case self::ACTION_CRAWLER:
|
|
|
569 |
case self::ACTION_IMPORT:
|
570 |
case self::ACTION_REPORT:
|
571 |
case self::ACTION_CSS:
|
30 |
const ACTION_CSS = 'css';
|
31 |
const ACTION_UCSS = 'ucss';
|
32 |
const ACTION_VPI = 'vpi';
|
33 |
+
const ACTION_PRESET = 'preset';
|
34 |
const ACTION_IMPORT = 'import';
|
35 |
const ACTION_REPORT = 'report';
|
36 |
const ACTION_DEBUG2 = 'debug2';
|
52 |
self::ACTION_DEBUG2,
|
53 |
self::ACTION_HEALTH,
|
54 |
self::ACTION_IMG_OPTM,
|
55 |
+
self::ACTION_PRESET,
|
56 |
self::ACTION_IMPORT,
|
57 |
self::ACTION_PLACEHOLDER,
|
58 |
self::ACTION_PURGE,
|
299 |
$user = get_userdata( $uid );
|
300 |
if ( isset( $user->roles ) && is_array( $user->roles ) ) {
|
301 |
$tmp = array_values( $user->roles );
|
302 |
+
$role = implode( ',', $tmp ); // Combine for PHP5.3 const comaptibility
|
303 |
}
|
304 |
}
|
305 |
Debug2::debug( '[Router] get_role: ' . $role );
|
568 |
case self::ACTION_CDN_SETUP:
|
569 |
case self::ACTION_CDN_CLOUDFLARE:
|
570 |
case self::ACTION_CRAWLER:
|
571 |
+
case self::ACTION_PRESET:
|
572 |
case self::ACTION_IMPORT:
|
573 |
case self::ACTION_REPORT:
|
574 |
case self::ACTION_CSS:
|
src/ucss.cls.php
CHANGED
@@ -130,7 +130,6 @@ class UCSS extends Base {
|
|
130 |
* @since 5.3
|
131 |
*/
|
132 |
public function add_to_q($url_files) {
|
133 |
-
return; // will enable in v5.4
|
134 |
// Store it for cron
|
135 |
$this->_queue = $this->load_queue( 'ucss' );
|
136 |
|
@@ -159,10 +158,10 @@ class UCSS extends Base {
|
|
159 |
'url_tag' => $url_tag,
|
160 |
); // Current UA will be used to request
|
161 |
|
|
|
162 |
$this->_queue[ $queue_k ] = $q;
|
163 |
}
|
164 |
$this->save_queue( 'ucss', $this->_queue );
|
165 |
-
self::debug( 'Added queue_ucss [url_tag] ' . $url_tag . ' [UA] ' . $ua . ' [vary] ' . $vary . ' [uid] false' );
|
166 |
|
167 |
|
168 |
}
|
@@ -465,7 +464,7 @@ class UCSS extends Base {
|
|
465 |
*/
|
466 |
private function _filter_whitelist() {
|
467 |
$whitelist = array();
|
468 |
-
$list = apply_filters( 'litespeed_ucss_whitelist', $this->conf( self::
|
469 |
foreach ( $list as $k => $v ) {
|
470 |
if ( substr( $v, 0, 2 ) === '//' ) {
|
471 |
continue;
|
130 |
* @since 5.3
|
131 |
*/
|
132 |
public function add_to_q($url_files) {
|
|
|
133 |
// Store it for cron
|
134 |
$this->_queue = $this->load_queue( 'ucss' );
|
135 |
|
158 |
'url_tag' => $url_tag,
|
159 |
); // Current UA will be used to request
|
160 |
|
161 |
+
self::debug( 'Added queue_ucss [url_tag] ' . $url_tag . ' [UA] ' . $ua . ' [vary] ' . $vary . ' [uid] false' );
|
162 |
$this->_queue[ $queue_k ] = $q;
|
163 |
}
|
164 |
$this->save_queue( 'ucss', $this->_queue );
|
|
|
165 |
|
166 |
|
167 |
}
|
464 |
*/
|
465 |
private function _filter_whitelist() {
|
466 |
$whitelist = array();
|
467 |
+
$list = apply_filters( 'litespeed_ucss_whitelist', $this->conf( self::O_OPTM_UCSS_SELECTOR_WHITELIST ) );
|
468 |
foreach ( $list as $k => $v ) {
|
469 |
if ( substr( $v, 0, 2 ) === '//' ) {
|
470 |
continue;
|
src/vary.cls.php
CHANGED
@@ -429,10 +429,16 @@ class Vary extends Root {
|
|
429 |
public function in_vary_group( $role ) {
|
430 |
$group = 0;
|
431 |
$vary_groups = $this->conf( Base::O_CACHE_VARY_GROUP );
|
432 |
-
|
433 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
434 |
}
|
435 |
-
elseif (
|
436 |
$group = 99;
|
437 |
}
|
438 |
|
429 |
public function in_vary_group( $role ) {
|
430 |
$group = 0;
|
431 |
$vary_groups = $this->conf( Base::O_CACHE_VARY_GROUP );
|
432 |
+
|
433 |
+
$roles = explode( ',', $role );
|
434 |
+
if ( $found = array_intersect( $roles, array_keys( $vary_groups ) ) ) {
|
435 |
+
$groups = array();
|
436 |
+
foreach ( $found as $curr_role ) {
|
437 |
+
$groups[] = $vary_groups[ $curr_role ];
|
438 |
+
}
|
439 |
+
$group = implode( ',', array_unique( $groups ) );
|
440 |
}
|
441 |
+
elseif ( in_array( 'administrator', $roles ) ) {
|
442 |
$group = 99;
|
443 |
}
|
444 |
|
src/vpi.cls.php
CHANGED
@@ -43,12 +43,14 @@ class VPI extends Base {
|
|
43 |
return;
|
44 |
}
|
45 |
|
46 |
-
|
|
|
|
|
47 |
self::debug( 'not single post ID' );
|
48 |
return;
|
49 |
}
|
50 |
|
51 |
-
$post_id = get_the_ID();
|
52 |
|
53 |
$queue_k = ( $is_mobile ? 'mobile' : '' ) . ' ' . $request_url;
|
54 |
if ( ! empty( $this->_queue[ $queue_k ] ) ) {
|
43 |
return;
|
44 |
}
|
45 |
|
46 |
+
$home_id = get_option( 'page_for_posts' );
|
47 |
+
|
48 |
+
if ( ! is_singular() && ! ( $home_id > 0 && is_home() ) ) {
|
49 |
self::debug( 'not single post ID' );
|
50 |
return;
|
51 |
}
|
52 |
|
53 |
+
$post_id = is_home() ? $home_id : get_the_ID();
|
54 |
|
55 |
$queue_k = ( $is_mobile ? 'mobile' : '' ) . ' ' . $request_url;
|
56 |
if ( ! empty( $this->_queue[ $queue_k ] ) ) {
|
thirdparty/woocommerce.cls.php
CHANGED
@@ -20,10 +20,7 @@ class WooCommerce extends Base {
|
|
20 |
|
21 |
const CACHETAG_SHOP = 'WC_S' ;
|
22 |
const CACHETAG_TERM = 'WC_T.' ;
|
23 |
-
const O_ESI_CACHE_CART = 'wc_esi_cache_cart';
|
24 |
const O_UPDATE_INTERVAL = 'wc_update_interval' ;
|
25 |
-
const O_SHOP_FRONT_TTL = 'wc_shop_use_front_ttl' ;
|
26 |
-
const O_WOO_CACHE_CART = 'woo_cache_cart' ;
|
27 |
const O_PQS_CS = 0 ; // flush product on quantity + stock change, categories on stock change
|
28 |
const O_PS_CS = 1 ; // flush product and categories on stock change
|
29 |
const O_PS_CN = 2 ; // flush product on stock change, categories no flush
|
@@ -35,7 +32,6 @@ class WooCommerce extends Base {
|
|
35 |
const ESI_PARAM_PATH = 'wc_path' ;
|
36 |
const ESI_PARAM_LOCATED = 'wc_located' ;
|
37 |
|
38 |
-
private $cache_cart ;
|
39 |
private $esi_enabled ;
|
40 |
|
41 |
/**
|
@@ -64,7 +60,6 @@ class WooCommerce extends Base {
|
|
64 |
{
|
65 |
$this->_option_append() ;
|
66 |
|
67 |
-
$this->cache_cart = apply_filters( 'litespeed_conf', self::O_WOO_CACHE_CART ) ;
|
68 |
$this->esi_enabled = apply_filters( 'litespeed_esi_status', false );
|
69 |
|
70 |
add_action( 'litespeed_control_finalize', array( $this, 'set_control' ) );
|
@@ -90,16 +85,6 @@ class WooCommerce extends Base {
|
|
90 |
add_filter( 'litespeed_esi_params', array( $this, 'add_post_id' ), 10, 2 );
|
91 |
}
|
92 |
|
93 |
-
/**
|
94 |
-
* Only when cart is not empty, give it an ESI with private cache
|
95 |
-
* Call when template_include to make sure woo cart is initialized
|
96 |
-
* @since 1.7.2
|
97 |
-
*/
|
98 |
-
if ( apply_filters( 'litespeed_conf', self::O_ESI_CACHE_CART ) ) {
|
99 |
-
add_action( 'template_include', array( $this, 'check_if_need_esi' ) );
|
100 |
-
add_filter( 'litespeed_vary', array( $this, 'vary_maintain' ) );
|
101 |
-
}
|
102 |
-
|
103 |
}
|
104 |
|
105 |
if ( is_admin() ) {
|
@@ -110,26 +95,6 @@ class WooCommerce extends Base {
|
|
110 |
add_filter( 'litespeed_widget_default_options', array( $this, 'wc_widget_default' ), 10, 2 );
|
111 |
}
|
112 |
|
113 |
-
// Purge cart if is ESI / Purge private if not enabled ESI
|
114 |
-
if ( $this->cache_cart ) {
|
115 |
-
$hooks_to_purge = array(
|
116 |
-
'woocommerce_add_to_cart', 'woocommerce_ajax_added_to_cart',
|
117 |
-
'woocommerce_remove_cart_item',
|
118 |
-
'woocommerce_restore_cart_item',
|
119 |
-
'woocommerce_after_cart_item_quantity_update',
|
120 |
-
'woocommerce_applied_coupon', 'woocommerce_removed_coupon',
|
121 |
-
'woocommerce_checkout_order_processed',
|
122 |
-
) ;
|
123 |
-
foreach ( $hooks_to_purge as $v ) {
|
124 |
-
if ( $this->esi_enabled ) {
|
125 |
-
add_action( $v, array( $this, 'purge_esi' ) ) ;
|
126 |
-
}
|
127 |
-
else {
|
128 |
-
add_action( $v, array( $this, 'purge_private_all' ) ) ;
|
129 |
-
}
|
130 |
-
}
|
131 |
-
}
|
132 |
-
|
133 |
}
|
134 |
|
135 |
/**
|
@@ -550,13 +515,6 @@ class WooCommerce extends Base {
|
|
550 |
return ;
|
551 |
}
|
552 |
|
553 |
-
// Set TTL
|
554 |
-
if ( function_exists( 'is_shop' ) && is_shop() ) {
|
555 |
-
if ( apply_filters( 'litespeed_conf', self::O_SHOP_FRONT_TTL ) ) {
|
556 |
-
do_action( 'litespeed_control_set_ttl', apply_filters( 'litespeed_conf', self::O_CACHE_TTL_FRONTPAGE ) );
|
557 |
-
}
|
558 |
-
}
|
559 |
-
|
560 |
// For later versions, DONOTCACHEPAGE should be set.
|
561 |
// No need to check uri/qs.
|
562 |
if ( version_compare($woocom->version, '1.4.2', '>=') ) {
|
@@ -574,36 +532,12 @@ class WooCommerce extends Base {
|
|
574 |
* From woo/inc/class-wc-cache-helper.php:prevent_caching()
|
575 |
* @since 1.4
|
576 |
*/
|
577 |
-
$page_ids = array_filter( array( wc_get_page_id( '
|
578 |
if ( isset( $_GET['download_file'] ) || isset( $_GET['add-to-cart'] ) || is_page( $page_ids ) ) {
|
579 |
$err = 'woo non cacheable pages' ;
|
580 |
}
|
581 |
-
elseif (
|
582 |
-
$err = '
|
583 |
-
}
|
584 |
-
elseif ( ! $this->esi_enabled && $woocom->cart->get_cart_contents_count() !== 0 ) {
|
585 |
-
if ( $this->cache_cart ) {
|
586 |
-
do_action( 'litespeed_control_set_private', 'cache cart' );
|
587 |
-
/**
|
588 |
-
* no rewrite rule to set no vary, so can't set no_vary otherwise it will always miss as can't match vary
|
589 |
-
* @since 1.6.6.1
|
590 |
-
*/
|
591 |
-
// do_action( 'litespeed_vary_no' );
|
592 |
-
do_action( 'litespeed_tag_add_private_esi', 'storefront-cart-header' );
|
593 |
-
}
|
594 |
-
else {
|
595 |
-
$err = 'cart is not empty' ;
|
596 |
-
}
|
597 |
-
}
|
598 |
-
elseif ( $esi_id === 'storefront-cart-header' ) {
|
599 |
-
if ( $this->cache_cart ) {
|
600 |
-
do_action( 'litespeed_control_set_private', 'cache cart' );
|
601 |
-
do_action( 'litespeed_vary_no' );
|
602 |
-
do_action( 'litespeed_tag_add_private_esi', 'storefront-cart-header' );
|
603 |
-
}
|
604 |
-
else {
|
605 |
-
$err = 'ESI cart should be nocache' ;
|
606 |
-
}
|
607 |
}
|
608 |
elseif ( function_exists( 'wc_notice_count' ) && wc_notice_count() > 0 ) {
|
609 |
$err = 'has wc notice' ;
|
@@ -770,10 +704,7 @@ class WooCommerce extends Base {
|
|
770 |
// Append option save value filter
|
771 |
do_action( 'litespeed_conf_multi_switch', self::O_UPDATE_INTERVAL, 3 ); // This need to be before conf_append
|
772 |
|
773 |
-
do_action( 'litespeed_conf_append', self::O_ESI_CACHE_CART, true );
|
774 |
do_action( 'litespeed_conf_append', self::O_UPDATE_INTERVAL, false );
|
775 |
-
do_action( 'litespeed_conf_append', self::O_SHOP_FRONT_TTL, true );
|
776 |
-
do_action( 'litespeed_conf_append', self::O_WOO_CACHE_CART, true );
|
777 |
}
|
778 |
|
779 |
/**
|
20 |
|
21 |
const CACHETAG_SHOP = 'WC_S' ;
|
22 |
const CACHETAG_TERM = 'WC_T.' ;
|
|
|
23 |
const O_UPDATE_INTERVAL = 'wc_update_interval' ;
|
|
|
|
|
24 |
const O_PQS_CS = 0 ; // flush product on quantity + stock change, categories on stock change
|
25 |
const O_PS_CS = 1 ; // flush product and categories on stock change
|
26 |
const O_PS_CN = 2 ; // flush product on stock change, categories no flush
|
32 |
const ESI_PARAM_PATH = 'wc_path' ;
|
33 |
const ESI_PARAM_LOCATED = 'wc_located' ;
|
34 |
|
|
|
35 |
private $esi_enabled ;
|
36 |
|
37 |
/**
|
60 |
{
|
61 |
$this->_option_append() ;
|
62 |
|
|
|
63 |
$this->esi_enabled = apply_filters( 'litespeed_esi_status', false );
|
64 |
|
65 |
add_action( 'litespeed_control_finalize', array( $this, 'set_control' ) );
|
85 |
add_filter( 'litespeed_esi_params', array( $this, 'add_post_id' ), 10, 2 );
|
86 |
}
|
87 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
88 |
}
|
89 |
|
90 |
if ( is_admin() ) {
|
95 |
add_filter( 'litespeed_widget_default_options', array( $this, 'wc_widget_default' ), 10, 2 );
|
96 |
}
|
97 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
98 |
}
|
99 |
|
100 |
/**
|
515 |
return ;
|
516 |
}
|
517 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
518 |
// For later versions, DONOTCACHEPAGE should be set.
|
519 |
// No need to check uri/qs.
|
520 |
if ( version_compare($woocom->version, '1.4.2', '>=') ) {
|
532 |
* From woo/inc/class-wc-cache-helper.php:prevent_caching()
|
533 |
* @since 1.4
|
534 |
*/
|
535 |
+
$page_ids = array_filter( array( wc_get_page_id( 'checkout' ), wc_get_page_id( 'myaccount' ) ) );
|
536 |
if ( isset( $_GET['download_file'] ) || isset( $_GET['add-to-cart'] ) || is_page( $page_ids ) ) {
|
537 |
$err = 'woo non cacheable pages' ;
|
538 |
}
|
539 |
+
elseif ( is_page( wc_get_page_id( 'cart' ) ) && $woocom->cart->get_cart_contents_count() !== 0 ) {
|
540 |
+
$err = 'cart is not empty' ;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
541 |
}
|
542 |
elseif ( function_exists( 'wc_notice_count' ) && wc_notice_count() > 0 ) {
|
543 |
$err = 'has wc notice' ;
|
704 |
// Append option save value filter
|
705 |
do_action( 'litespeed_conf_multi_switch', self::O_UPDATE_INTERVAL, 3 ); // This need to be before conf_append
|
706 |
|
|
|
707 |
do_action( 'litespeed_conf_append', self::O_UPDATE_INTERVAL, false );
|
|
|
|
|
708 |
}
|
709 |
|
710 |
/**
|
thirdparty/woocommerce.content.tpl.php
CHANGED
@@ -25,18 +25,6 @@ use \LiteSpeed\Base;
|
|
25 |
</div>
|
26 |
|
27 |
<table class="wp-list-table striped litespeed-table"><tbody>
|
28 |
-
<tr>
|
29 |
-
<th>
|
30 |
-
<?php $id = self::O_ESI_CACHE_CART; ?>
|
31 |
-
<?php echo __( 'Use ESI for Cart', 'litespeed-cache' ); ?>
|
32 |
-
</th>
|
33 |
-
<td>
|
34 |
-
<?php do_action( 'litespeed_build_switch' , $id ); ?>
|
35 |
-
<div class="litespeed-desc">
|
36 |
-
<?php echo sprintf( __( 'When the option is ON, cart information will be implemented as ESI blocks. NOTE: To make it work, you need to turn on %1$s under ESI settings.', 'litespeed-cache' ), '<code>' . Lang::title( Base::O_ESI ) . '</code>' ); ?>
|
37 |
-
</div>
|
38 |
-
</td>
|
39 |
-
</tr>
|
40 |
<tr>
|
41 |
<th>
|
42 |
<?php $id = self::O_UPDATE_INTERVAL; ?>
|
@@ -66,33 +54,6 @@ use \LiteSpeed\Base;
|
|
66 |
</td>
|
67 |
</tr>
|
68 |
|
69 |
-
<tr>
|
70 |
-
<th>
|
71 |
-
<?php $id = self::O_SHOP_FRONT_TTL; ?>
|
72 |
-
<?php echo __( 'Use Front Page TTL for the Shop Page', 'litespeed-cache' ); ?>
|
73 |
-
</th>
|
74 |
-
<td>
|
75 |
-
<?php do_action( 'litespeed_build_switch', $id ); ?>
|
76 |
-
<div class="litespeed-desc">
|
77 |
-
<?php echo __( 'Checking this option will force the shop page to use the front page TTL setting.', 'litespeed-cache' ); ?>
|
78 |
-
<?php echo sprintf( __( 'For example, if the homepage for the site is located at %1$s, the shop page may be located at %2$s.', 'litespeed-cache' ), 'https://www.EXAMPLE.com', 'https://www.EXAMPLE.com/shop' ); ?>
|
79 |
-
</div>
|
80 |
-
</td>
|
81 |
-
</tr>
|
82 |
-
|
83 |
-
<tr>
|
84 |
-
<th>
|
85 |
-
<?php $id = self::O_WOO_CACHE_CART; ?>
|
86 |
-
<?php echo __( 'Privately Cache Cart', 'litespeed-cache' ); ?>
|
87 |
-
</th>
|
88 |
-
<td>
|
89 |
-
<?php do_action( 'litespeed_build_switch', $id ); ?>
|
90 |
-
<div class="litespeed-desc">
|
91 |
-
<?php echo __( 'Privately cache cart when not empty.', 'litespeed-cache' ); ?>
|
92 |
-
</div>
|
93 |
-
</td>
|
94 |
-
</tr>
|
95 |
-
|
96 |
</tbody></table>
|
97 |
|
98 |
</div>
|
25 |
</div>
|
26 |
|
27 |
<table class="wp-list-table striped litespeed-table"><tbody>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
28 |
<tr>
|
29 |
<th>
|
30 |
<?php $id = self::O_UPDATE_INTERVAL; ?>
|
54 |
</td>
|
55 |
</tr>
|
56 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
57 |
</tbody></table>
|
58 |
|
59 |
</div>
|
tpl/cdn/auto_setup.tpl.php
CHANGED
@@ -117,7 +117,7 @@ if ($cdn_setup_done_ts) {
|
|
117 |
__( 'Manage CDN', 'litespeed-cache' ) . ' <span class="dashicons dashicons-external"></span>',
|
118 |
false,
|
119 |
'litespeed-link-with-icon' ); ?>
|
120 |
-
<?php Doc::learn_more( Cloud::CLOUD_SERVER_DASH . '/dns/
|
121 |
__( 'Manage DNS Zone', 'litespeed-cache' ) . ' <span class="dashicons dashicons-external"></span>',
|
122 |
false,
|
123 |
'litespeed-link-with-icon' ); ?>
|
@@ -172,7 +172,7 @@ if ($cdn_setup_done_ts) {
|
|
172 |
</p>
|
173 |
<p>
|
174 |
<?php echo __( 'Is something missing?', 'litespeed-cache' ) ; ?>
|
175 |
-
<?php Doc::learn_more( Cloud::CLOUD_SERVER_DASH . '/dns/
|
176 |
__( 'Review DNS records', 'litespeed-cache' ) . ' <span class="dashicons dashicons-external"></span>',
|
177 |
false,
|
178 |
'litespeed-link-with-icon' ); ?>
|
117 |
__( 'Manage CDN', 'litespeed-cache' ) . ' <span class="dashicons dashicons-external"></span>',
|
118 |
false,
|
119 |
'litespeed-link-with-icon' ); ?>
|
120 |
+
<?php Doc::learn_more( Cloud::CLOUD_SERVER_DASH . '/dns/find/' . $dom,
|
121 |
__( 'Manage DNS Zone', 'litespeed-cache' ) . ' <span class="dashicons dashicons-external"></span>',
|
122 |
false,
|
123 |
'litespeed-link-with-icon' ); ?>
|
172 |
</p>
|
173 |
<p>
|
174 |
<?php echo __( 'Is something missing?', 'litespeed-cache' ) ; ?>
|
175 |
+
<?php Doc::learn_more( Cloud::CLOUD_SERVER_DASH . '/dns/find/' . $dom,
|
176 |
__( 'Review DNS records', 'litespeed-cache' ) . ' <span class="dashicons dashicons-external"></span>',
|
177 |
false,
|
178 |
'litespeed-link-with-icon' ); ?>
|
tpl/general/entry.tpl.php
CHANGED
@@ -39,7 +39,6 @@ if ( $this->_is_network_admin ) {
|
|
39 |
|
40 |
<div class="litespeed-body">
|
41 |
<?php
|
42 |
-
$this->form_action();
|
43 |
|
44 |
// include all tpl for faster UE
|
45 |
foreach ($menu_list as $tab => $val) {
|
@@ -48,7 +47,6 @@ if ( $this->_is_network_admin ) {
|
|
48 |
echo "</div>";
|
49 |
}
|
50 |
|
51 |
-
$this->form_end();
|
52 |
?>
|
53 |
</div>
|
54 |
|
39 |
|
40 |
<div class="litespeed-body">
|
41 |
<?php
|
|
|
42 |
|
43 |
// include all tpl for faster UE
|
44 |
foreach ($menu_list as $tab => $val) {
|
47 |
echo "</div>";
|
48 |
}
|
49 |
|
|
|
50 |
?>
|
51 |
</div>
|
52 |
|
tpl/general/network_settings.tpl.php
CHANGED
@@ -2,6 +2,7 @@
|
|
2 |
namespace LiteSpeed;
|
3 |
defined( 'WPINC' ) || exit;
|
4 |
|
|
|
5 |
?>
|
6 |
|
7 |
<h3 class="litespeed-title-short">
|
2 |
namespace LiteSpeed;
|
3 |
defined( 'WPINC' ) || exit;
|
4 |
|
5 |
+
$this->form_action();
|
6 |
?>
|
7 |
|
8 |
<h3 class="litespeed-title-short">
|
tpl/general/settings.tpl.php
CHANGED
@@ -36,6 +36,7 @@ if ( ! $can_token ) {
|
|
36 |
$apply_ts_txt .= ' ' . sprintf( __( 'Next available request time: <code>After %s</code>', 'litespeed-cache' ), Utility::readable_time( $next_available_req, 0, true ) );
|
37 |
}
|
38 |
|
|
|
39 |
?>
|
40 |
|
41 |
<h3 class="litespeed-title-short">
|
@@ -194,12 +195,6 @@ if ( ! $can_token ) {
|
|
194 |
⚠️ <?php echo __( 'Notice', 'litespeed-cache' ); ?>: <?php echo sprintf( __( 'You need to turn %s on and finish all WebP generation to get maximum result.', 'litespeed-cache' ), '<code>' . Lang::title( Base::O_IMG_OPTM_WEBP ) . '</code>' ); ?>
|
195 |
</font>
|
196 |
<?php endif; ?>
|
197 |
-
|
198 |
-
<?php if ( ! $this->conf( Base::O_IMG_OPTM_WEBP_REPLACE ) ) : ?>
|
199 |
-
<br /><font class="litespeed-danger litespeed-left10">
|
200 |
-
⚠️ <?php echo __( 'Notice', 'litespeed-cache' ); ?>: <?php echo sprintf( __( 'You need to turn %s on to get maximum result.', 'litespeed-cache' ), '<code>' . Lang::title( Base::O_IMG_OPTM_WEBP_REPLACE ) . '</code>' ); ?>
|
201 |
-
</font>
|
202 |
-
<?php endif; ?>
|
203 |
</div>
|
204 |
</td>
|
205 |
</tr>
|
@@ -236,3 +231,5 @@ if ( ! $can_token ) {
|
|
236 |
</tr>
|
237 |
|
238 |
</tbody></table>
|
|
|
|
36 |
$apply_ts_txt .= ' ' . sprintf( __( 'Next available request time: <code>After %s</code>', 'litespeed-cache' ), Utility::readable_time( $next_available_req, 0, true ) );
|
37 |
}
|
38 |
|
39 |
+
$this->form_action();
|
40 |
?>
|
41 |
|
42 |
<h3 class="litespeed-title-short">
|
195 |
⚠️ <?php echo __( 'Notice', 'litespeed-cache' ); ?>: <?php echo sprintf( __( 'You need to turn %s on and finish all WebP generation to get maximum result.', 'litespeed-cache' ), '<code>' . Lang::title( Base::O_IMG_OPTM_WEBP ) . '</code>' ); ?>
|
196 |
</font>
|
197 |
<?php endif; ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
198 |
</div>
|
199 |
</td>
|
200 |
</tr>
|
231 |
</tr>
|
232 |
|
233 |
</tbody></table>
|
234 |
+
|
235 |
+
<?php $this->form_end(); ?>
|
tpl/general/settings_tuning.tpl.php
CHANGED
@@ -2,6 +2,7 @@
|
|
2 |
namespace LiteSpeed;
|
3 |
defined( 'WPINC' ) || exit;
|
4 |
|
|
|
5 |
?>
|
6 |
<h3 class="litespeed-title-short">
|
7 |
<?php echo __( 'Tuning Settings', 'litespeed-cache' ); ?>
|
@@ -53,3 +54,5 @@ defined( 'WPINC' ) || exit;
|
|
53 |
</td>
|
54 |
</tr>
|
55 |
</tbody></table>
|
|
|
|
2 |
namespace LiteSpeed;
|
3 |
defined( 'WPINC' ) || exit;
|
4 |
|
5 |
+
$this->form_action();
|
6 |
?>
|
7 |
<h3 class="litespeed-title-short">
|
8 |
<?php echo __( 'Tuning Settings', 'litespeed-cache' ); ?>
|
54 |
</td>
|
55 |
</tr>
|
56 |
</tbody></table>
|
57 |
+
|
58 |
+
<?php $this->form_end(); ?>
|
tpl/img_optm/settings.media_webp.tpl.php
CHANGED
@@ -5,12 +5,13 @@ defined( 'WPINC' ) || exit;
|
|
5 |
|
6 |
<tr>
|
7 |
<th>
|
8 |
-
<?php $id = Base::
|
9 |
<?php $this->title( $id ); ?>
|
10 |
</th>
|
11 |
<td>
|
12 |
<?php $this->build_switch( $id ); ?>
|
13 |
<div class="litespeed-desc">
|
|
|
14 |
<?php echo sprintf( __( 'Significantly improve load time by replacing images with their optimized %s versions.', 'litespeed-cache' ), '.webp' ); ?>
|
15 |
<br /><?php Doc::notice_htaccess(); ?>
|
16 |
<br /><?php Doc::crawler_affected(); ?>
|
5 |
|
6 |
<tr>
|
7 |
<th>
|
8 |
+
<?php $id = Base::O_IMG_OPTM_WEBP; ?>
|
9 |
<?php $this->title( $id ); ?>
|
10 |
</th>
|
11 |
<td>
|
12 |
<?php $this->build_switch( $id ); ?>
|
13 |
<div class="litespeed-desc">
|
14 |
+
<?php echo __( 'Request WebP versions of original images when doing optimization.', 'litespeed-cache' ); ?>
|
15 |
<?php echo sprintf( __( 'Significantly improve load time by replacing images with their optimized %s versions.', 'litespeed-cache' ), '.webp' ); ?>
|
16 |
<br /><?php Doc::notice_htaccess(); ?>
|
17 |
<br /><?php Doc::crawler_affected(); ?>
|
tpl/img_optm/settings.tpl.php
CHANGED
@@ -98,19 +98,6 @@ $this->form_action();
|
|
98 |
</td>
|
99 |
</tr>
|
100 |
|
101 |
-
<tr>
|
102 |
-
<th>
|
103 |
-
<?php $id = Base::O_IMG_OPTM_WEBP; ?>
|
104 |
-
<?php $this->title( $id ); ?>
|
105 |
-
</th>
|
106 |
-
<td>
|
107 |
-
<?php $this->build_switch( $id ); ?>
|
108 |
-
<div class="litespeed-desc">
|
109 |
-
<?php echo __( 'Request WebP versions of original images when doing optimization.', 'litespeed-cache' ); ?>
|
110 |
-
</div>
|
111 |
-
</td>
|
112 |
-
</tr>
|
113 |
-
|
114 |
<?php
|
115 |
if ( ! is_multisite() ) :
|
116 |
// webp
|
98 |
</td>
|
99 |
</tr>
|
100 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
101 |
<?php
|
102 |
if ( ! is_multisite() ) :
|
103 |
// webp
|
tpl/page_optm/entry.tpl.php
CHANGED
@@ -11,6 +11,7 @@ $menu_list = array(
|
|
11 |
'settings_media_exc' => __( 'Media Excludes', 'litespeed-cache' ),
|
12 |
'settings_localization' => __( 'Localization', 'litespeed-cache' ),
|
13 |
'settings_tuning' => __( 'Tuning', 'litespeed-cache' ),
|
|
|
14 |
);
|
15 |
|
16 |
?>
|
11 |
'settings_media_exc' => __( 'Media Excludes', 'litespeed-cache' ),
|
12 |
'settings_localization' => __( 'Localization', 'litespeed-cache' ),
|
13 |
'settings_tuning' => __( 'Tuning', 'litespeed-cache' ),
|
14 |
+
'settings_tuning_css' => __( 'Tuning', 'litespeed-cache' ) . ' - CSS',
|
15 |
);
|
16 |
|
17 |
?>
|
tpl/page_optm/settings_tuning.tpl.php
CHANGED
@@ -20,27 +20,6 @@ ksort( $roles );
|
|
20 |
</h3>
|
21 |
|
22 |
<table class="wp-list-table striped litespeed-table"><tbody>
|
23 |
-
<tr>
|
24 |
-
<th>
|
25 |
-
<?php $id = Base::O_OPTM_CSS_EXC; ?>
|
26 |
-
<?php $this->title( $id ); ?>
|
27 |
-
</th>
|
28 |
-
<td>
|
29 |
-
<?php $this->build_textarea( $id ); ?>
|
30 |
-
<div class="litespeed-desc">
|
31 |
-
<?php echo __( 'Listed CSS files or inline CSS code will not be minified/combined.', 'litespeed-cache' ); ?>
|
32 |
-
<?php Doc::full_or_partial_url(); ?>
|
33 |
-
<?php Doc::one_per_line(); ?>
|
34 |
-
<br /><font class="litespeed-success">
|
35 |
-
<?php echo __( 'API', 'litespeed-cache' ); ?>:
|
36 |
-
<?php echo sprintf( __( 'Filter %s is supported.', 'litespeed-cache' ), '<code>litespeed_optimize_css_excludes</code>' ); ?>
|
37 |
-
<?php echo sprintf( __( 'Elements with attribute %s in html code will be excluded.', 'litespeed-cache' ), '<code>data-no-optimize="1"</code>' ); ?>
|
38 |
-
<br /><?php echo __( 'Predefined list will also be combined w/ the above settings', 'litespeed-cache' ); ?>: <a href="https://github.com/litespeedtech/lscache_wp/blob/dev/data/css_excludes.txt" target="_blank">https://github.com/litespeedtech/lscache_wp/blob/dev/data/css_excludes.txt</a>
|
39 |
-
</font>
|
40 |
-
</div>
|
41 |
-
</td>
|
42 |
-
</tr>
|
43 |
-
|
44 |
<tr>
|
45 |
<th>
|
46 |
<?php $id = Base::O_OPTM_JS_EXC; ?>
|
@@ -62,94 +41,6 @@ ksort( $roles );
|
|
62 |
</td>
|
63 |
</tr>
|
64 |
|
65 |
-
<tr>
|
66 |
-
<th>
|
67 |
-
<?php $id = Base::O_OPTM_UCSS_WHITELIST; ?>
|
68 |
-
<?php $this->title( $id ); ?>
|
69 |
-
</th>
|
70 |
-
<td>
|
71 |
-
<?php $this->build_textarea( $id ); ?>
|
72 |
-
<div class="litespeed-desc">
|
73 |
-
<?php echo __( 'List the CSS selector that its style should be always contained in UCSS.', 'litespeed-cache' ); ?>
|
74 |
-
<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/pageopt/#ucss-whitelist', __( 'How to choose an UCSS allowlist selector?', 'litespeed-cache' ) ); ?>
|
75 |
-
<br /><?php echo sprintf( __( 'Wildcard %s supported.', 'litespeed-cache' ), '<code>*</code>' ); ?>
|
76 |
-
<div class="litespeed-callout notice notice-warning inline">
|
77 |
-
<h4><?php echo __( 'Note', 'litespeed-cache' ); ?></h4>
|
78 |
-
<p>
|
79 |
-
<?php echo __( 'The selector must exist in the CSS. Parent classes in the HTML will not work.', 'litespeed-cache' ); ?>
|
80 |
-
</p>
|
81 |
-
</div>
|
82 |
-
<font class="litespeed-success">
|
83 |
-
<?php echo __( 'Predefined list will also be combined w/ the above settings', 'litespeed-cache' ); ?>: <a href="https://github.com/litespeedtech/lscache_wp/blob/dev/data/ucss_whitelist.txt" target="_blank">https://github.com/litespeedtech/lscache_wp/blob/dev/data/ucss_whitelist.txt</a>
|
84 |
-
</font>
|
85 |
-
</div>
|
86 |
-
</td>
|
87 |
-
</tr>
|
88 |
-
|
89 |
-
<tr>
|
90 |
-
<th>
|
91 |
-
<?php $id = Base::O_OPTM_UCSS_EXC; ?>
|
92 |
-
<?php $this->title( $id ); ?>
|
93 |
-
</th>
|
94 |
-
<td>
|
95 |
-
<?php $this->build_textarea( $id ); ?>
|
96 |
-
<div class="litespeed-desc">
|
97 |
-
<?php echo __( 'Listed URI will not generate UCSS.', 'litespeed-cache' ); ?>
|
98 |
-
<?php Doc::full_or_partial_url(); ?>
|
99 |
-
<?php Doc::one_per_line(); ?>
|
100 |
-
<br /><span class="litespeed-success">
|
101 |
-
<?php echo __( 'API', 'litespeed-cache' ); ?>:
|
102 |
-
<?php echo sprintf( __( 'Filter %s is supported.', 'litespeed-cache' ), '<code>litespeed_ucss_exc</code>' ); ?>
|
103 |
-
</span>
|
104 |
-
<br /><font class="litespeed-success">API: <?php echo sprintf( __( 'Use %1$s to generate one single UCSS for the pages which page type is %2$s while other page types still per URL.', 'litespeed-cache' ), "<code>add_filter( 'litespeed_ucss_per_pagetype', function(){return get_post_type() == 'page';} );</code>", '<code>page</code>' ); ?></font>
|
105 |
-
<br /><font class="litespeed-success">API: <?php echo sprintf( __( 'Use %1$s to bypass UCSS for the pages which page type is %2$s.', 'litespeed-cache' ), "<code>add_action( 'litespeed_optm', function(){get_post_type() == 'page' && do_action( 'litespeed_conf_force', 'optm-ucss', false );});</code>", '<code>page</code>' ); ?></font>
|
106 |
-
|
107 |
-
</div>
|
108 |
-
</td>
|
109 |
-
</tr>
|
110 |
-
|
111 |
-
<tr>
|
112 |
-
<th>
|
113 |
-
<?php $id = Base::O_OPTM_CCSS_SEP_POSTTYPE; ?>
|
114 |
-
<?php $this->title( $id ); ?>
|
115 |
-
</th>
|
116 |
-
<td>
|
117 |
-
<?php $this->build_textarea( $id ); ?>
|
118 |
-
<div class="litespeed-desc">
|
119 |
-
<?php echo __('List post types where each item of that type should have its own CCSS generated.', 'litespeed-cache'); ?>
|
120 |
-
<?php echo sprintf( __( 'For example, if every Page on the site has different formatting, enter %s in the box. Separate critical CSS files will be stored for every Page on the site.', 'litespeed-cache' ), '<code>page</code>' ); ?>
|
121 |
-
<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/pageopt/#separate-ccss-cache-post-types_1' ); ?>
|
122 |
-
</div>
|
123 |
-
</td>
|
124 |
-
</tr>
|
125 |
-
|
126 |
-
<tr>
|
127 |
-
<th>
|
128 |
-
<?php $id = Base::O_OPTM_CCSS_SEP_URI; ?>
|
129 |
-
<?php $this->title( $id ); ?>
|
130 |
-
</th>
|
131 |
-
<td>
|
132 |
-
<?php $this->build_textarea( $id ); ?>
|
133 |
-
<div class="litespeed-desc">
|
134 |
-
<?php echo __( 'Separate critical CSS files will be generated for paths containing these strings.', 'litespeed-cache' ); ?>
|
135 |
-
<?php $this->_uri_usage_example(); ?>
|
136 |
-
</div>
|
137 |
-
</td>
|
138 |
-
</tr>
|
139 |
-
|
140 |
-
<tr>
|
141 |
-
<th>
|
142 |
-
<?php $id = Base::O_OPTM_CCSS_CON; ?>
|
143 |
-
<?php $this->title( $id ); ?>
|
144 |
-
</th>
|
145 |
-
<td>
|
146 |
-
<?php $this->build_textarea( $id ); ?>
|
147 |
-
<div class="litespeed-desc">
|
148 |
-
<?php echo sprintf( __( 'Specify critical CSS rules for above-the-fold content when enabling %s.', 'litespeed-cache' ), __( 'Load CSS Asynchronously', 'litespeed-cache' ) ); ?>
|
149 |
-
</div>
|
150 |
-
</td>
|
151 |
-
</tr>
|
152 |
-
|
153 |
<tr>
|
154 |
<th>
|
155 |
<?php $id = Base::O_OPTM_JS_DEFER_EXC; ?>
|
20 |
</h3>
|
21 |
|
22 |
<table class="wp-list-table striped litespeed-table"><tbody>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
23 |
<tr>
|
24 |
<th>
|
25 |
<?php $id = Base::O_OPTM_JS_EXC; ?>
|
41 |
</td>
|
42 |
</tr>
|
43 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
44 |
<tr>
|
45 |
<th>
|
46 |
<?php $id = Base::O_OPTM_JS_DEFER_EXC; ?>
|
tpl/page_optm/settings_tuning_css.tpl.php
ADDED
@@ -0,0 +1,136 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
namespace LiteSpeed;
|
3 |
+
defined( 'WPINC' ) || exit;
|
4 |
+
|
5 |
+
?>
|
6 |
+
<h3 class="litespeed-title-short">
|
7 |
+
<?php echo __( 'Tuning Settings', 'litespeed-cache' ); ?> - CSS
|
8 |
+
<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/pageopt/#tuning-css-settings-tab' ); ?>
|
9 |
+
</h3>
|
10 |
+
|
11 |
+
<table class="wp-list-table striped litespeed-table"><tbody>
|
12 |
+
<tr>
|
13 |
+
<th>
|
14 |
+
<?php $id = Base::O_OPTM_CSS_EXC; ?>
|
15 |
+
<?php $this->title( $id ); ?>
|
16 |
+
</th>
|
17 |
+
<td>
|
18 |
+
<?php $this->build_textarea( $id ); ?>
|
19 |
+
<div class="litespeed-desc">
|
20 |
+
<?php echo __( 'Listed CSS files or inline CSS code will not be minified/combined.', 'litespeed-cache' ); ?>
|
21 |
+
<?php Doc::full_or_partial_url(); ?>
|
22 |
+
<?php Doc::one_per_line(); ?>
|
23 |
+
<br /><font class="litespeed-success">
|
24 |
+
<?php echo __( 'API', 'litespeed-cache' ); ?>:
|
25 |
+
<?php echo sprintf( __( 'Filter %s is supported.', 'litespeed-cache' ), '<code>litespeed_optimize_css_excludes</code>' ); ?>
|
26 |
+
<?php echo sprintf( __( 'Elements with attribute %s in html code will be excluded.', 'litespeed-cache' ), '<code>data-no-optimize="1"</code>' ); ?>
|
27 |
+
<br /><?php echo __( 'Predefined list will also be combined w/ the above settings', 'litespeed-cache' ); ?>: <a href="https://github.com/litespeedtech/lscache_wp/blob/dev/data/css_excludes.txt" target="_blank">https://github.com/litespeedtech/lscache_wp/blob/dev/data/css_excludes.txt</a>
|
28 |
+
</font>
|
29 |
+
</div>
|
30 |
+
</td>
|
31 |
+
</tr>
|
32 |
+
|
33 |
+
<tr>
|
34 |
+
<th>
|
35 |
+
<?php $id = Base::O_OPTM_UCSS_FILE_EXC_INLINE; ?>
|
36 |
+
<?php $this->title( $id ); ?>
|
37 |
+
</th>
|
38 |
+
<td>
|
39 |
+
<?php $this->build_textarea( $id ); ?>
|
40 |
+
<div class="litespeed-desc">
|
41 |
+
<?php echo __( 'Listed CSS files will be excluded from UCSS and saved to inline.', 'litespeed-cache' ); ?>
|
42 |
+
<?php Doc::full_or_partial_url(); ?>
|
43 |
+
<?php Doc::one_per_line(); ?>
|
44 |
+
</div>
|
45 |
+
</td>
|
46 |
+
</tr>
|
47 |
+
|
48 |
+
<tr>
|
49 |
+
<th>
|
50 |
+
<?php $id = Base::O_OPTM_UCSS_SELECTOR_WHITELIST; ?>
|
51 |
+
<?php $this->title( $id ); ?>
|
52 |
+
</th>
|
53 |
+
<td>
|
54 |
+
<?php $this->build_textarea( $id ); ?>
|
55 |
+
<div class="litespeed-desc">
|
56 |
+
<?php echo __( 'List the CSS selector that its style should be always contained in UCSS.', 'litespeed-cache' ); ?>
|
57 |
+
<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/pageopt/#ucss-whitelist', __( 'How to choose an UCSS allowlist selector?', 'litespeed-cache' ) ); ?>
|
58 |
+
<br /><?php echo sprintf( __( 'Wildcard %s supported.', 'litespeed-cache' ), '<code>*</code>' ); ?>
|
59 |
+
<div class="litespeed-callout notice notice-warning inline">
|
60 |
+
<h4><?php echo __( 'Note', 'litespeed-cache' ); ?></h4>
|
61 |
+
<p>
|
62 |
+
<?php echo __( 'The selector must exist in the CSS. Parent classes in the HTML will not work.', 'litespeed-cache' ); ?>
|
63 |
+
</p>
|
64 |
+
</div>
|
65 |
+
<font class="litespeed-success">
|
66 |
+
<?php echo __( 'Predefined list will also be combined w/ the above settings', 'litespeed-cache' ); ?>: <a href="https://github.com/litespeedtech/lscache_wp/blob/dev/data/ucss_whitelist.txt" target="_blank">https://github.com/litespeedtech/lscache_wp/blob/dev/data/ucss_whitelist.txt</a>
|
67 |
+
</font>
|
68 |
+
</div>
|
69 |
+
</td>
|
70 |
+
</tr>
|
71 |
+
|
72 |
+
<tr>
|
73 |
+
<th>
|
74 |
+
<?php $id = Base::O_OPTM_UCSS_EXC; ?>
|
75 |
+
<?php $this->title( $id ); ?>
|
76 |
+
</th>
|
77 |
+
<td>
|
78 |
+
<?php $this->build_textarea( $id ); ?>
|
79 |
+
<div class="litespeed-desc">
|
80 |
+
<?php echo __( 'Listed URI will not generate UCSS.', 'litespeed-cache' ); ?>
|
81 |
+
<?php Doc::full_or_partial_url(); ?>
|
82 |
+
<?php Doc::one_per_line(); ?>
|
83 |
+
<br /><span class="litespeed-success">
|
84 |
+
<?php echo __( 'API', 'litespeed-cache' ); ?>:
|
85 |
+
<?php echo sprintf( __( 'Filter %s is supported.', 'litespeed-cache' ), '<code>litespeed_ucss_exc</code>' ); ?>
|
86 |
+
</span>
|
87 |
+
<br /><font class="litespeed-success">API: <?php echo sprintf( __( 'Use %1$s to generate one single UCSS for the pages which page type is %2$s while other page types still per URL.', 'litespeed-cache' ), "<code>add_filter( 'litespeed_ucss_per_pagetype', function(){return get_post_type() == 'page';} );</code>", '<code>page</code>' ); ?></font>
|
88 |
+
<br /><font class="litespeed-success">API: <?php echo sprintf( __( 'Use %1$s to bypass UCSS for the pages which page type is %2$s.', 'litespeed-cache' ), "<code>add_action( 'litespeed_optm', function(){get_post_type() == 'page' && do_action( 'litespeed_conf_force', 'optm-ucss', false );});</code>", '<code>page</code>' ); ?></font>
|
89 |
+
|
90 |
+
</div>
|
91 |
+
</td>
|
92 |
+
</tr>
|
93 |
+
|
94 |
+
<tr>
|
95 |
+
<th>
|
96 |
+
<?php $id = Base::O_OPTM_CCSS_SEP_POSTTYPE; ?>
|
97 |
+
<?php $this->title( $id ); ?>
|
98 |
+
</th>
|
99 |
+
<td>
|
100 |
+
<?php $this->build_textarea( $id ); ?>
|
101 |
+
<div class="litespeed-desc">
|
102 |
+
<?php echo __('List post types where each item of that type should have its own CCSS generated.', 'litespeed-cache'); ?>
|
103 |
+
<?php echo sprintf( __( 'For example, if every Page on the site has different formatting, enter %s in the box. Separate critical CSS files will be stored for every Page on the site.', 'litespeed-cache' ), '<code>page</code>' ); ?>
|
104 |
+
<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/pageopt/#separate-ccss-cache-post-types_1' ); ?>
|
105 |
+
</div>
|
106 |
+
</td>
|
107 |
+
</tr>
|
108 |
+
|
109 |
+
<tr>
|
110 |
+
<th>
|
111 |
+
<?php $id = Base::O_OPTM_CCSS_SEP_URI; ?>
|
112 |
+
<?php $this->title( $id ); ?>
|
113 |
+
</th>
|
114 |
+
<td>
|
115 |
+
<?php $this->build_textarea( $id ); ?>
|
116 |
+
<div class="litespeed-desc">
|
117 |
+
<?php echo __( 'Separate critical CSS files will be generated for paths containing these strings.', 'litespeed-cache' ); ?>
|
118 |
+
<?php $this->_uri_usage_example(); ?>
|
119 |
+
</div>
|
120 |
+
</td>
|
121 |
+
</tr>
|
122 |
+
|
123 |
+
<tr>
|
124 |
+
<th>
|
125 |
+
<?php $id = Base::O_OPTM_CCSS_CON; ?>
|
126 |
+
<?php $this->title( $id ); ?>
|
127 |
+
</th>
|
128 |
+
<td>
|
129 |
+
<?php $this->build_textarea( $id ); ?>
|
130 |
+
<div class="litespeed-desc">
|
131 |
+
<?php echo sprintf( __( 'Specify critical CSS rules for above-the-fold content when enabling %s.', 'litespeed-cache' ), __( 'Load CSS Asynchronously', 'litespeed-cache' ) ); ?>
|
132 |
+
</div>
|
133 |
+
</td>
|
134 |
+
</tr>
|
135 |
+
|
136 |
+
</tbody></table>
|
tpl/presets/entry.tpl.php
ADDED
@@ -0,0 +1,51 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
namespace LiteSpeed;
|
3 |
+
defined( 'WPINC' ) || exit;
|
4 |
+
|
5 |
+
$menu_list = array(
|
6 |
+
'standard' => __( 'Standard Presets', 'litespeed-cache' ),
|
7 |
+
'import_export' => __( 'Import / Export', 'litespeed-cache' ),
|
8 |
+
);
|
9 |
+
|
10 |
+
?>
|
11 |
+
|
12 |
+
<div class="wrap">
|
13 |
+
<h1 class="litespeed-h1">
|
14 |
+
<?php echo __( 'LiteSpeed Cache Configuration Presets', 'litespeed-cache' ); ?>
|
15 |
+
</h1>
|
16 |
+
<span class="litespeed-desc">
|
17 |
+
v<?php echo Core::VER; ?>
|
18 |
+
</span>
|
19 |
+
<hr class="wp-header-end">
|
20 |
+
</div>
|
21 |
+
|
22 |
+
<div class="litespeed-wrap">
|
23 |
+
<h2 class="litespeed-header nav-tab-wrapper">
|
24 |
+
<?php
|
25 |
+
$i = 1;
|
26 |
+
foreach ($menu_list as $tab => $val){
|
27 |
+
$accesskey = $i <= 9 ? "litespeed-accesskey='$i'" : '';
|
28 |
+
echo "<a class='litespeed-tab nav-tab' href='#$tab' data-litespeed-tab='$tab' $accesskey>$val</a>";
|
29 |
+
$i ++;
|
30 |
+
}
|
31 |
+
?>
|
32 |
+
</h2>
|
33 |
+
|
34 |
+
<div class="litespeed-body">
|
35 |
+
<?php
|
36 |
+
|
37 |
+
// include all tpl for faster UE
|
38 |
+
foreach ($menu_list as $tab => $val) {
|
39 |
+
echo "<div data-litespeed-layout='$tab'>";
|
40 |
+
if ('import_export' === $tab) {
|
41 |
+
require LSCWP_DIR . "tpl/toolbox/$tab.tpl.php";
|
42 |
+
} else {
|
43 |
+
require LSCWP_DIR . "tpl/presets/$tab.tpl.php";
|
44 |
+
}
|
45 |
+
echo "</div>";
|
46 |
+
}
|
47 |
+
|
48 |
+
?>
|
49 |
+
</div>
|
50 |
+
|
51 |
+
</div>
|
tpl/presets/standard.tpl.php
ADDED
@@ -0,0 +1,194 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
namespace LiteSpeed;
|
3 |
+
defined( 'WPINC' ) || exit;
|
4 |
+
|
5 |
+
$presets = array();
|
6 |
+
|
7 |
+
$presets['essentials'] = array(
|
8 |
+
'title' => __( 'Essentials', 'litespeed-cache' ),
|
9 |
+
'body' => array(
|
10 |
+
__( 'Default Cache', 'litespeed-cache' ),
|
11 |
+
__( 'Higher TTL', 'litespeed-cache' ),
|
12 |
+
__( 'Browser Cache', 'litespeed-cache' )
|
13 |
+
),
|
14 |
+
'footer' => array(
|
15 |
+
__( 'This no-risk preset is appropriate for all websites. Good for new users, simple websites, or cache-oriented development.', 'litespeed-cache' ),
|
16 |
+
__( 'A Domain Key is not required to use this preset. Only basic caching features are enabled.', 'litespeed-cache' )
|
17 |
+
)
|
18 |
+
);
|
19 |
+
|
20 |
+
$presets['basic'] = array(
|
21 |
+
'title' => __( 'Basic', 'litespeed-cache' ),
|
22 |
+
'body' => array(
|
23 |
+
__( 'Everything in Essentials, Plus', 'litespeed-cache' ),
|
24 |
+
__( 'Image Optimization', 'litespeed-cache' ),
|
25 |
+
__( 'Mobile Cache', 'litespeed-cache' )
|
26 |
+
),
|
27 |
+
'footer' => array(
|
28 |
+
__( 'This low-risk preset introduces basic optimizations for speed and user experience. Appropriate for enthusiastic beginners.', 'litespeed-cache' ),
|
29 |
+
__( 'A Domain Key is required to use this preset. Includes optimizations known to improve site score in page speed measurement tools.', 'litespeed-cache' )
|
30 |
+
)
|
31 |
+
);
|
32 |
+
|
33 |
+
$presets['advanced'] = array(
|
34 |
+
'title' => __( 'Advanced (Recommended)', 'litespeed-cache' ),
|
35 |
+
'body' => array(
|
36 |
+
__( 'Everything in Basic, Plus', 'litespeed-cache' ),
|
37 |
+
__( 'Guest Mode and Guest Optimization', 'litespeed-cache' ),
|
38 |
+
__( 'CSS, JS and HTML Minification', 'litespeed-cache' ),
|
39 |
+
__( 'Font Display Optimization', 'litespeed-cache' ),
|
40 |
+
__( 'JS Defer for both external and inline JS', 'litespeed-cache' ),
|
41 |
+
__( 'DNS Prefetch for static files', 'litespeed-cache' ),
|
42 |
+
__( 'Gravatar Cache', 'litespeed-cache' ),
|
43 |
+
__( 'Remove Query Strings from Static Files', 'litespeed-cache' ),
|
44 |
+
__( 'Remove WordPress Emoji', 'litespeed-cache' ),
|
45 |
+
__( 'Remove Noscript Tags', 'litespeed-cache' )
|
46 |
+
),
|
47 |
+
'footer' => array(
|
48 |
+
__( 'This preset is good for most websites, and is unlikely to cause conflicts. Any CSS or JS conflicts may be resolved with Page Optimization > Tuning tools.' ),
|
49 |
+
__( 'A Domain Key is required to use this preset. Includes many optimizations known to improve page speed scores.', 'litespeed-cache' )
|
50 |
+
)
|
51 |
+
);
|
52 |
+
|
53 |
+
$presets['aggressive'] = array(
|
54 |
+
'title' => __( 'Aggressive', 'litespeed-cache' ),
|
55 |
+
'body' => array(
|
56 |
+
__( 'Everything in Advanced, Plus', 'litespeed-cache' ),
|
57 |
+
__( 'CSS & JS Combine', 'litespeed-cache' ),
|
58 |
+
__( 'Asynchronous CSS Loading with Critical CSS', 'litespeed-cache' ),
|
59 |
+
__( 'Removed Unused CSS for Users', 'litespeed-cache' ),
|
60 |
+
__( 'Lazy Load for Iframes', 'litespeed-cache' )
|
61 |
+
),
|
62 |
+
'footer' => array(
|
63 |
+
__( 'This preset might work out of the box for some websites, but be sure to test! Some CSS or JS exclusions may be necessary in Page Optimization > Tuning.' ),
|
64 |
+
__( 'A Domain Key is required to use this preset. Includes many optimizations known to improve page speed scores.', 'litespeed-cache' )
|
65 |
+
)
|
66 |
+
);
|
67 |
+
|
68 |
+
$presets['extreme'] = array(
|
69 |
+
'title' => __( 'Extreme', 'litespeed-cache' ),
|
70 |
+
'body' => array(
|
71 |
+
__( 'Everything in Aggressive, Plus', 'litespeed-cache' ),
|
72 |
+
__( 'Lazy Load for Images', 'litespeed-cache' ),
|
73 |
+
__( 'Viewport Image Generation', 'litespeed-cache' ),
|
74 |
+
__( 'JS Delayed', 'litespeed-cache' ),
|
75 |
+
__( 'Inline JS added to Combine', 'litespeed-cache' ),
|
76 |
+
__( 'Inline CSS added to Combine', 'litespeed-cache' )
|
77 |
+
),
|
78 |
+
'footer' => array(
|
79 |
+
__( 'This preset almost certainly will require testing and exclusions for some CSS, JS and Lazy Loaded images. Pay special attention to logos, or HTML-based slider images.' ),
|
80 |
+
__( 'A Domain Key is required to use this preset. Enables the maximum level of optimizations for improved page speed scores.', 'litespeed-cache' )
|
81 |
+
)
|
82 |
+
);
|
83 |
+
|
84 |
+
?>
|
85 |
+
|
86 |
+
<h3 class="litespeed-title-short">
|
87 |
+
<?php esc_html_e( 'LiteSpeed Cache Standard Presets', 'litespeed-cache' ); ?>
|
88 |
+
<?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/presets/#standard-tab' ); ?>
|
89 |
+
</h3>
|
90 |
+
|
91 |
+
<p><?php esc_html_e( 'Use an official LiteSpeed-designed Preset to configure your site in one click. Try no-risk caching essentials, extreme optimization, or something in between.', 'litespeed-cache' ); ?></p>
|
92 |
+
|
93 |
+
<div class="litespeed-comparison-cards">
|
94 |
+
<?php
|
95 |
+
foreach ( array_keys( $presets ) as $name ) :
|
96 |
+
$title = $presets[ $name ]['title'];
|
97 |
+
$recommend = 'advanced' === $name;
|
98 |
+
$card_class = $recommend ? 'litespeed-comparison-card-rec' : '';
|
99 |
+
$button_class = $recommend ? 'button-primary' : 'button-secondary';
|
100 |
+
?>
|
101 |
+
<div class="litespeed-comparison-card postbox <?php echo $card_class; ?>">
|
102 |
+
<div class="litespeed-card-content">
|
103 |
+
<div class="litespeed-card-header">
|
104 |
+
<h3 class="litespeed-h3">
|
105 |
+
<?php echo esc_html( $title ); ?>
|
106 |
+
</h3>
|
107 |
+
</div>
|
108 |
+
<div class="litespeed-card-body">
|
109 |
+
<ul>
|
110 |
+
<?php foreach ( $presets[ $name ]['body'] as $line ) : ?>
|
111 |
+
<li><?php echo esc_html( $line ); ?></li>
|
112 |
+
<?php endforeach; ?>
|
113 |
+
</ul>
|
114 |
+
</div>
|
115 |
+
<div class="litespeed-card-footer">
|
116 |
+
<h4><?php esc_html_e( 'Who should use this preset?', 'litespeed-cache' ); ?></h4>
|
117 |
+
<?php foreach ( $presets[ $name ]['footer'] as $line ) : ?>
|
118 |
+
<p><?php echo esc_html( $line ); ?></p>
|
119 |
+
<?php endforeach; ?>
|
120 |
+
</div>
|
121 |
+
</div>
|
122 |
+
<div class="litespeed-card-action">
|
123 |
+
<a
|
124 |
+
href="<?php echo Utility::build_url( Router::ACTION_PRESET, Preset::TYPE_APPLY, false, null, array( 'preset' => $name ) ); ?>"
|
125 |
+
class="button <?php echo $button_class; ?>"
|
126 |
+
data-litespeed-cfm="<?php printf( esc_html__( 'This will back up your current settings and replace them with the %1$s preset settings. Do you want to continue?', 'litespeed-cache' ), $title ); ?>"
|
127 |
+
>
|
128 |
+
<?php esc_html_e( 'Apply Preset', 'litespeed-cache' ); ?>
|
129 |
+
</a>
|
130 |
+
</div>
|
131 |
+
</div>
|
132 |
+
<?php endforeach; ?>
|
133 |
+
</div>
|
134 |
+
|
135 |
+
<?php
|
136 |
+
$summary = Preset::get_summary();
|
137 |
+
$backups = array();
|
138 |
+
foreach ( Preset::get_backups() as $backup ) {
|
139 |
+
$backup = explode( '-', $backup );
|
140 |
+
if ( empty( $backup[1] ) ) {
|
141 |
+
continue;
|
142 |
+
}
|
143 |
+
$timestamp = $backup[1];
|
144 |
+
$time = trim( Utility::readable_time( $timestamp ) );
|
145 |
+
$name = empty( $backup[3] ) ? null : $backup[3];
|
146 |
+
$title = empty( $presets[ $name ]['title'] ) ? $name : $presets[ $name ]['title'];
|
147 |
+
$title = null === $title ? __( 'unknown', 'litespeed-cache' ) : $title;
|
148 |
+
$backups[] = array(
|
149 |
+
'timestamp' => $timestamp,
|
150 |
+
'time' => $time,
|
151 |
+
'title' => $title
|
152 |
+
);
|
153 |
+
}
|
154 |
+
|
155 |
+
if ( ! empty( $summary['preset'] ) || ! empty( $backups ) ) :
|
156 |
+
?>
|
157 |
+
<h3 class="litespeed-title-short">
|
158 |
+
<?php esc_html_e( 'History', 'litespeed-cache' ); ?>
|
159 |
+
</h3>
|
160 |
+
<?php endif; ?>
|
161 |
+
|
162 |
+
<?php if ( ! empty( $summary['preset'] ) ) : ?>
|
163 |
+
<p>
|
164 |
+
<?php
|
165 |
+
$name = strtolower( $summary['preset'] );
|
166 |
+
$time = trim( Utility::readable_time( $summary['preset_timestamp'] ) );
|
167 |
+
if ( 'error' === $name ) {
|
168 |
+
printf( esc_html__( 'Error: Failed to apply the settings %1$s', 'litespeed-cache' ), $time );
|
169 |
+
} elseif ( 'backup' === $name ) {
|
170 |
+
printf( esc_html__( 'Restored backup settings %1$s', 'litespeed-cache' ), $time );
|
171 |
+
} else {
|
172 |
+
printf(
|
173 |
+
esc_html__( 'Applied the %1$s preset %2$s', 'litespeed-cache' ),
|
174 |
+
'<strong>' . esc_html( $presets[ $name ]['title'] ) . '</strong>',
|
175 |
+
$time
|
176 |
+
);
|
177 |
+
}
|
178 |
+
?>
|
179 |
+
</p>
|
180 |
+
<?php endif; ?>
|
181 |
+
|
182 |
+
<?php foreach ( $backups as $backup ) : ?>
|
183 |
+
<p>
|
184 |
+
<?php printf( esc_html__( 'Backup created %1$s before applying the %2$s preset', 'litespeed-cache' ), $backup['time'], $backup['title'] ); ?>
|
185 |
+
<a
|
186 |
+
href="<?php echo Utility::build_url( Router::ACTION_PRESET, Preset::TYPE_RESTORE, false, null, array( 'timestamp' => $backup['timestamp'] ) ); ?>"
|
187 |
+
class="litespeed-left10"
|
188 |
+
data-litespeed-cfm="<?php printf( esc_html__( 'This will restore the backup settings created %1$s before applying the %2$s preset. Any changes made since then will be lost. Do you want to continue?', 'litespeed-cache' ), $backup['time'], $backup['title'] ); ?>"
|
189 |
+
>
|
190 |
+
<?php esc_html_e( 'Restore Settings', 'litespeed-cache' ); ?>
|
191 |
+
</a>
|
192 |
+
</p>
|
193 |
+
<?php
|
194 |
+
endforeach;
|
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 |
'5.2.1',
|
8 |
'5.2',
|
9 |
'5.1',
|
4 |
|
5 |
// Existing public version list
|
6 |
$v_list = array(
|
7 |
+
'5.3',
|
8 |
'5.2.1',
|
9 |
'5.2',
|
10 |
'5.1',
|