Plugin Directory

Changeset 2808204


Ignore:
Timestamp:
10/31/2022 07:04:36 PM (3 years ago)
Author:
LiteSpeedTech
Message:

Release v5.3

Location:
litespeed-cache
Files:
333 added
41 edited

Legend:

Unmodified
Added
Removed
  • litespeed-cache/trunk/assets/css/litespeed.css

    r2781559 r2808204  
    117117          UTILITIES - structure
    118118======================================= */
     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}
    119136
    120137.litespeed-quic-icon {
     
    33493366}
    33503367
     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}
    33513523
    33523524/* =======================================
  • litespeed-cache/trunk/cli/option.cls.php

    r2524344 r2808204  
    2929     *     $ wp litespeed-option set cache-priv false
    3030     *     $ wp litespeed-option set 'cdn-mapping[url][0]' https://cdn.EXAMPLE.com
     31     *     $ wp litespeed-option set media-lqip_exc $'line1\nline2'
    3132     *
    3233     */
     
    5657         *      `set 'crawler-cookies[name][0]' my_currency`
    5758         *      `set 'crawler-cookies[vals][0]' "USD\nTWD"`
     59         *
     60         * For multi lines setting:
     61         *      `set media-lqip_exc $'img1.jpg\nimg2.jpg'`
    5862         */
    5963
  • litespeed-cache/trunk/data/const.default.ini

    r2771786 r2808204  
    312312optm-ucss_inline = false
    313313
    314 ; O_OPTM_UCSS_WHITELIST
     314; O_OPTM_UCSS_FILE_EXC_INLINE
     315optm-ucss_file_exc_inline = ''
     316
     317; O_OPTM_UCSS_SELECTOR_WHITELIST
    315318optm-ucss_whitelist = ''
    316319
     
    550553img_optm-rm_bkup = false
    551554
    552 img_optm-webp = true
     555img_optm-webp = false
    553556
    554557img_optm-lossless = false
    555558
    556559img_optm-exif = true
    557 
    558 img_optm-webp_replace = false
    559560
    560561img_optm-webp_attr = 'img.src
  • litespeed-cache/trunk/data/const.network_default.ini

    r2761310 r2808204  
    144144;; -------------------------------------------------- ;;
    145145
    146 img_optm-webp_replace = false
     146img_optm-webp = false
  • litespeed-cache/trunk/lang/litespeed-cache.pot

    r2771786 r2808204  
    33msgid ""
    44msgstr ""
    5 "Project-Id-Version: LiteSpeed Cache 5.2\n"
     5"Project-Id-Version: LiteSpeed Cache 5.3\n"
    66"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/litespeed-cache\n"
    7 "POT-Creation-Date: 2022-08-16 20:46:45+00:00\n"
     7"POT-Creation-Date: 2022-10-26 18:41:09+00:00\n"
    88"MIME-Version: 1.0\n"
    99"Content-Type: text/plain; charset=UTF-8\n"
     
    4242
    4343#: src/admin-display.cls.php:121
     44msgid "Presets"
     45msgstr ""
     46
     47#: src/admin-display.cls.php:123
    4448msgid "General"
    4549msgstr ""
    4650
    47 #: src/admin-display.cls.php:123 tpl/cache/entry.tpl.php:6
     51#: src/admin-display.cls.php:125 tpl/cache/entry.tpl.php:6
    4852#: tpl/cache/entry_network.tpl.php:6
    4953msgid "Cache"
    5054msgstr ""
    5155
    52 #: src/admin-display.cls.php:125 tpl/cdn/settings.tpl.php:194
     56#: src/admin-display.cls.php:127 tpl/cdn/settings.tpl.php:194
    5357msgid "CDN"
    5458msgstr ""
    5559
    56 #: src/admin-display.cls.php:127 src/gui.cls.php:613
     60#: src/admin-display.cls.php:129 src/gui.cls.php:613
    5761#: tpl/dash/dashboard.tpl.php:56 tpl/dash/network_dash.tpl.php:27
     62#: tpl/presets/standard.tpl.php:24
    5863msgid "Image Optimization"
    5964msgstr ""
    6065
    61 #: src/admin-display.cls.php:129 tpl/dash/dashboard.tpl.php:57
     66#: src/admin-display.cls.php:131 tpl/dash/dashboard.tpl.php:57
    6267msgid "Page Optimization"
    6368msgstr ""
    6469
    65 #: src/admin-display.cls.php:131
     70#: src/admin-display.cls.php:133
    6671msgid "Database"
    6772msgstr ""
    6873
    69 #: src/admin-display.cls.php:133 src/lang.cls.php:245
     74#: src/admin-display.cls.php:135 src/lang.cls.php:245
    7075msgid "Crawler"
    7176msgstr ""
    7277
    73 #: src/admin-display.cls.php:135
     78#: src/admin-display.cls.php:137
    7479msgid "Toolbox"
    7580msgstr ""
    7681
    77 #: src/admin-display.cls.php:209
     82#: src/admin-display.cls.php:211
    7883msgid "Cookie Name"
    7984msgstr ""
    8085
    81 #: src/admin-display.cls.php:210 tpl/crawler/settings-simulation.tpl.php:51
     86#: src/admin-display.cls.php:212 tpl/crawler/settings-simulation.tpl.php:51
    8287msgid "Cookie Values"
    8388msgstr ""
    8489
    85 #: src/admin-display.cls.php:212
     90#: src/admin-display.cls.php:214
    8691msgid "Remove cookie simulation"
    8792msgstr ""
    8893
    89 #: src/admin-display.cls.php:213
     94#: src/admin-display.cls.php:215
    9095msgid "Add new cookie to simulate"
    9196msgstr ""
    9297
    93 #: src/admin-display.cls.php:232
     98#: src/admin-display.cls.php:234
    9499msgid "CDN URL to be used. For example, %s"
    95100msgstr ""
    96101
    97 #: src/admin-display.cls.php:234
     102#: src/admin-display.cls.php:236
    98103msgid "Remove CDN URL"
    99104msgstr ""
    100105
    101 #: src/admin-display.cls.php:235
     106#: src/admin-display.cls.php:237
    102107msgid "Add new CDN URL"
    103108msgstr ""
    104109
    105 #: src/admin-display.cls.php:236 src/admin-display.cls.php:888
    106 #: src/admin-display.cls.php:917 src/admin-display.cls.php:968
     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
    107112#: tpl/cache/settings-cache.tpl.php:19
    108113#: tpl/cache/settings_inc.cache_mobile.tpl.php:71 tpl/cdn/settings.tpl.php:49
     
    113118msgstr ""
    114119
    115 #: src/admin-display.cls.php:237 src/admin-display.cls.php:889
    116 #: src/admin-display.cls.php:916 src/admin-display.cls.php:968
     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
    117122#: tpl/cache/settings-cache.tpl.php:19
    118123#: tpl/cache/settings_inc.object.tpl.php:210 tpl/cdn/settings.tpl.php:54
     
    123128msgstr ""
    124129
    125 #: src/admin-display.cls.php:285 src/gui.cls.php:604
     130#: src/admin-display.cls.php:287 src/gui.cls.php:604
    126131msgid "Settings"
    127132msgstr ""
    128133
    129 #: src/admin-display.cls.php:501
     134#: src/admin-display.cls.php:503
    130135msgid "Dismiss"
    131136msgstr ""
    132137
    133 #: src/admin-display.cls.php:757 src/admin-display.cls.php:762
     138#: src/admin-display.cls.php:769 src/admin-display.cls.php:774
    134139msgid "Save Changes"
    135140msgstr ""
    136141
    137 #: src/admin-display.cls.php:980
     142#: src/admin-display.cls.php:992
    138143msgid "This setting is overwritten by the PHP constant %s"
    139144msgstr ""
    140145
    141 #: src/admin-display.cls.php:983
     146#: src/admin-display.cls.php:995
    142147msgid "This setting is overwritten by the primary site setting"
    143148msgstr ""
    144149
    145 #: src/admin-display.cls.php:986
     150#: src/admin-display.cls.php:998
    146151msgid "This setting is overwritten by the Network setting"
    147152msgstr ""
    148153
    149 #: src/admin-display.cls.php:990
     154#: src/admin-display.cls.php:1002
    150155msgid "currently set to %s"
    151156msgstr ""
    152157
    153 #: src/admin-display.cls.php:1000 tpl/cache/settings_inc.object.tpl.php:103
     158#: src/admin-display.cls.php:1012 tpl/cache/settings_inc.object.tpl.php:103
    154159#: tpl/crawler/settings-general.tpl.php:60
    155160#: tpl/crawler/settings-general.tpl.php:74
     
    158163msgstr ""
    159164
    160 #: src/admin-display.cls.php:1031 src/admin-display.cls.php:1036
     165#: src/admin-display.cls.php:1043 src/admin-display.cls.php:1048
    161166#: tpl/cdn/settings.tpl.php:99
    162167msgid "Default value"
    163168msgstr ""
    164169
    165 #: src/admin-display.cls.php:1060
     170#: src/admin-display.cls.php:1072
    166171msgid "Invalid rewrite rule"
    167172msgstr ""
    168173
    169 #: src/admin-display.cls.php:1077
     174#: src/admin-display.cls.php:1089
    170175msgid "Path must end with %s"
    171176msgstr ""
    172177
    173 #: src/admin-display.cls.php:1095
     178#: src/admin-display.cls.php:1107
    174179msgid "Minimum value"
    175180msgstr ""
    176181
    177 #: src/admin-display.cls.php:1098
     182#: src/admin-display.cls.php:1110
    178183msgid "Maximum value"
    179184msgstr ""
    180185
    181 #: src/admin-display.cls.php:1110
     186#: src/admin-display.cls.php:1122
    182187msgid "Zero, or"
    183188msgstr ""
    184189
    185 #: src/admin-display.cls.php:1117
     190#: src/admin-display.cls.php:1129
    186191msgid "Larger than"
    187192msgstr ""
    188193
    189 #: src/admin-display.cls.php:1120
     194#: src/admin-display.cls.php:1132
    190195msgid "Smaller than"
    191196msgstr ""
    192197
    193 #: src/admin-display.cls.php:1123
     198#: src/admin-display.cls.php:1135
    194199msgid "Value range"
    195200msgstr ""
    196201
    197 #: src/admin-display.cls.php:1148
     202#: src/admin-display.cls.php:1160
    198203msgid "Invalid IP"
    199204msgstr ""
    200205
    201 #: src/admin-display.cls.php:1168 tpl/cache/settings-esi.tpl.php:95
     206#: src/admin-display.cls.php:1180 tpl/cache/settings-esi.tpl.php:95
    202207#: tpl/page_optm/settings_css.tpl.php:178
    203208#: tpl/page_optm/settings_html.tpl.php:85
     
    206211#: tpl/page_optm/settings_tuning.tpl.php:35
    207212#: tpl/page_optm/settings_tuning.tpl.php:56
    208 #: tpl/page_optm/settings_tuning.tpl.php:101
    209 #: tpl/page_optm/settings_tuning.tpl.php:165
    210 #: tpl/page_optm/settings_tuning.tpl.php:186
     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
    211216#: tpl/toolbox/edit_htaccess.tpl.php:54 tpl/toolbox/edit_htaccess.tpl.php:71
    212217msgid "API"
    213218msgstr ""
    214219
    215 #: src/admin-display.cls.php:1169
     220#: src/admin-display.cls.php:1181
    216221msgid "Server variable(s) %s available to override this setting."
    217222msgstr ""
    218223
    219 #: src/admin-display.cls.php:1181
     224#: src/admin-display.cls.php:1193
    220225msgid "The URLs will be compared to the REQUEST_URI server variable."
    221226msgstr ""
    222227
    223 #: src/admin-display.cls.php:1182
     228#: src/admin-display.cls.php:1194
    224229msgid "For example, for %s, %s can be used here."
    225230msgstr ""
    226231
    227 #: src/admin-display.cls.php:1184
     232#: src/admin-display.cls.php:1196
    228233msgid "To match the beginning, add %s to the beginning of the item."
    229234msgstr ""
    230235
    231 #: src/admin-display.cls.php:1185
     236#: src/admin-display.cls.php:1197
    232237msgid "To do an exact match, add %s to the end of the URL."
    233238msgstr ""
    234239
    235 #: src/admin-display.cls.php:1186 src/doc.cls.php:74
     240#: src/admin-display.cls.php:1198 src/doc.cls.php:74
    236241msgid "One per line."
    237242msgstr ""
    238243
    239 #: src/admin-display.cls.php:1200
     244#: src/admin-display.cls.php:1212
    240245msgid "%s groups"
    241246msgstr ""
    242247
    243 #: src/admin-display.cls.php:1203
     248#: src/admin-display.cls.php:1215
    244249msgid "%s images"
    245250msgstr ""
    246251
    247 #: src/admin-display.cls.php:1213
     252#: src/admin-display.cls.php:1225
    248253msgid "%s group"
    249254msgstr ""
    250255
    251 #: src/admin-display.cls.php:1216
     256#: src/admin-display.cls.php:1228
    252257msgid "%s image"
    253258msgstr ""
     
    320325msgstr ""
    321326
    322 #: src/cdn-setup.cls.php:321 src/cloud.cls.php:767 src/cloud.cls.php:775
    323 #: src/cloud.cls.php:1159
     327#: src/cdn-setup.cls.php:322 src/cloud.cls.php:773 src/cloud.cls.php:781
     328#: src/cloud.cls.php:1171
    324329msgid "Message from QUIC.cloud server"
    325330msgstr ""
    326331
    327 #: src/cloud.cls.php:373 src/cloud.cls.php:386 src/cloud.cls.php:431
    328 #: src/cloud.cls.php:456 src/cloud.cls.php:594 src/cloud.cls.php:1128
     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
    329334msgid "Cloud Error"
    330335msgstr ""
    331336
    332 #: src/cloud.cls.php:431
     337#: src/cloud.cls.php:437
    333338msgid "No available Cloud Node."
    334339msgstr ""
    335340
    336 #: src/cloud.cls.php:456
     341#: src/cloud.cls.php:462
    337342msgid "No available Cloud Node after checked server load."
    338343msgstr ""
    339344
    340 #: src/cloud.cls.php:594
     345#: src/cloud.cls.php:600
    341346msgid "Please try after %1$s for service %2$s."
    342347msgstr ""
    343348
    344 #: src/cloud.cls.php:681 src/cloud.cls.php:702
     349#: src/cloud.cls.php:687 src/cloud.cls.php:708
    345350msgid "Failed to request via WordPress"
    346351msgstr ""
    347352
    348 #: src/cloud.cls.php:722
     353#: src/cloud.cls.php:728
    349354msgid "Redetected node"
    350355msgstr ""
    351356
    352 #: src/cloud.cls.php:730
     357#: src/cloud.cls.php:736
    353358msgid ""
    354359"We are working hard to improve your online service experience. The service "
     
    356361msgstr ""
    357362
    358 #: src/cloud.cls.php:783
     363#: src/cloud.cls.php:789
    359364msgid "Good news from QUIC.cloud server"
    360365msgstr ""
    361366
    362 #: src/cloud.cls.php:792
     367#: src/cloud.cls.php:798
    363368msgid "%1$s plugin version %2$s required for this action."
    364369msgstr ""
    365370
    366 #: src/cloud.cls.php:845 src/cloud.cls.php:1148
     371#: src/cloud.cls.php:855 src/cloud.cls.php:1160
    367372msgid "Failed to communicate with QUIC.cloud server"
    368373msgstr ""
    369374
    370 #: src/cloud.cls.php:887
     375#: src/cloud.cls.php:897
    371376msgid ""
    372377"Site not recognized. Domain Key has been automatically removed. Please "
     
    374379msgstr ""
    375380
    376 #: src/cloud.cls.php:888 src/error.cls.php:48
     381#: src/cloud.cls.php:898 src/error.cls.php:48
    377382msgid "Click here to set."
    378383msgstr ""
    379384
    380 #: src/cloud.cls.php:953
     385#: src/cloud.cls.php:963
    381386msgid "Cannot request REST API, no token saved."
    382387msgstr ""
    383388
    384 #: src/cloud.cls.php:979
     389#: src/cloud.cls.php:989
    385390msgid "Cloud REST Error"
    386391msgstr ""
    387392
    388 #: src/cloud.cls.php:995
     393#: src/cloud.cls.php:1007
    389394msgid "Cloud REST API returned error: "
    390395msgstr ""
    391396
    392 #: src/cloud.cls.php:1167
     397#: src/cloud.cls.php:1179
    393398msgid ""
    394399"Applied for Domain Key successfully. Please wait for result. Domain Key will "
     
    396401msgstr ""
    397402
    398 #: src/cloud.cls.php:1221
     403#: src/cloud.cls.php:1233
    399404msgid ""
    400405"Congratulations, your Domain Key has been approved! The setting has been "
     
    402407msgstr ""
    403408
    404 #: src/cloud.cls.php:1305
     409#: src/cloud.cls.php:1317
    405410msgid "Domain Key hash mismatch"
    406411msgstr ""
    407412
    408 #: src/cloud.cls.php:1427
     413#: src/cloud.cls.php:1439
    409414msgid "Sync credit allowance with Cloud Server successfully."
    410415msgstr ""
    411416
    412 #: src/conf.cls.php:707
     417#: src/conf.cls.php:710
    413418msgid "Changed setting successfully."
    414419msgstr ""
    415420
    416 #: src/core.cls.php:291
     421#: src/core.cls.php:319
    417422msgid "Notified LiteSpeed Web Server to purge everything."
    418423msgstr ""
    419424
    420 #: src/core.cls.php:296
     425#: src/core.cls.php:324
    421426msgid "Notified LiteSpeed Web Server to purge the list."
    422427msgstr ""
     
    438443msgstr ""
    439444
    440 #: src/crawler.cls.php:871
     445#: src/crawler.cls.php:881
    441446msgid "Guest"
    442447msgstr ""
    443448
    444 #: src/crawler.cls.php:1022
     449#: src/crawler.cls.php:1032
    445450msgid "Manually added to blocklist"
    446451msgstr ""
    447452
    448 #: src/crawler.cls.php:1025
     453#: src/crawler.cls.php:1035
    449454msgid "Previously existed in blocklist"
    450455msgstr ""
    451456
    452 #: src/data.cls.php:221
     457#: src/data.cls.php:224
    453458msgid ""
    454459"The database has been upgrading in the background since %s. This message "
     
    456461msgstr ""
    457462
    458 #: src/data.upgrade.func.php:101
     463#: src/data.upgrade.func.php:118
    459464msgid ""
    460465"LiteSpeed Cache upgraded successfully. NOTE: Due to changes in this version, "
     
    464469msgstr ""
    465470
    466 #: src/data.upgrade.func.php:101 src/lang.cls.php:147
     471#: src/data.upgrade.func.php:118 src/lang.cls.php:148
    467472msgid "JS Combine"
    468473msgstr ""
    469474
    470 #: src/data.upgrade.func.php:101
     475#: src/data.upgrade.func.php:118
    471476msgid "JS Defer"
    472477msgstr ""
    473478
    474 #: src/data.upgrade.func.php:102
     479#: src/data.upgrade.func.php:119
    475480msgid "Click here to settings"
    476481msgstr ""
     
    568573msgstr ""
    569574
    570 #: src/doc.cls.php:119 tpl/general/settings.tpl.php:86
     575#: src/doc.cls.php:119 tpl/general/settings.tpl.php:87
    571576msgid "Current Online Server IPs"
    572577msgstr ""
     
    800805
    801806#: src/gui.cls.php:497 src/gui.cls.php:657 src/lang.cls.php:114
    802 #: tpl/dash/dashboard.tpl.php:396 tpl/toolbox/purge.tpl.php:52
     807#: tpl/dash/dashboard.tpl.php:421 tpl/toolbox/purge.tpl.php:52
    803808msgid "Object Cache"
    804809msgstr ""
     
    817822msgstr ""
    818823
    819 #: src/gui.cls.php:556 src/gui.cls.php:716 src/lang.cls.php:176
    820 #: tpl/toolbox/purge.tpl.php:106
     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
    821826msgid "Gravatar Cache"
    822827msgstr ""
     
    879884msgstr ""
    880885
    881 #: src/img-optm.cls.php:180
     886#: src/img-optm.cls.php:182
    882887msgid "Gathered %d images successfully."
    883888msgstr ""
    884889
    885 #: src/img-optm.cls.php:472
     890#: src/img-optm.cls.php:474
    886891msgid "Pushed %1$s to Cloud server, accepted %2$s."
    887892msgstr ""
    888893
    889 #: src/img-optm.cls.php:509
     894#: src/img-optm.cls.php:511
    890895msgid "Bypassed %1$s duplicated images."
    891896msgstr ""
    892897
    893 #: src/img-optm.cls.php:547
     898#: src/img-optm.cls.php:549
    894899msgid "Cleared %1$s invalid images."
    895900msgstr ""
    896901
    897 #: src/img-optm.cls.php:626
     902#: src/img-optm.cls.php:628
    898903msgid "No valid image found in the current request."
    899904msgstr ""
    900905
    901 #: src/img-optm.cls.php:649
     906#: src/img-optm.cls.php:651
    902907msgid "No valid image found by Cloud server in the current request."
    903908msgstr ""
    904909
    905 #: src/img-optm.cls.php:888
     910#: src/img-optm.cls.php:890
    906911msgid "Pull Cron is running"
    907912msgstr ""
    908913
    909 #: src/img-optm.cls.php:947
     914#: src/img-optm.cls.php:949
    910915msgid "Some optimized image file(s) has expired and was cleared."
    911916msgstr ""
    912917
    913 #: src/img-optm.cls.php:964
     918#: src/img-optm.cls.php:966
    914919msgid "One or more pulled images does not match with the notified image md5"
    915920msgstr ""
    916921
    917 #: src/img-optm.cls.php:1008
     922#: src/img-optm.cls.php:1010
    918923msgid "Optimized WebP file expired and was cleared."
    919924msgstr ""
    920925
    921 #: src/img-optm.cls.php:1025
     926#: src/img-optm.cls.php:1027
    922927msgid "Pulled WebP image md5 does not match the notified WebP image md5."
    923928msgstr ""
    924929
    925 #: src/img-optm.cls.php:1085
     930#: src/img-optm.cls.php:1087
    926931msgid "Pulled %d image(s)"
    927932msgstr ""
    928933
    929 #: src/img-optm.cls.php:1172
     934#: src/img-optm.cls.php:1174
    930935msgid "Cleaned up unfinished data successfully."
    931936msgstr ""
    932937
    933 #: src/img-optm.cls.php:1243
     938#: src/img-optm.cls.php:1245
    934939msgid "Destroy all optimization data successfully."
    935940msgstr ""
    936941
    937 #: src/img-optm.cls.php:1275 src/img-optm.cls.php:1340
     942#: src/img-optm.cls.php:1277 src/img-optm.cls.php:1342
    938943msgid "Rescanned successfully."
    939944msgstr ""
    940945
    941 #: src/img-optm.cls.php:1340
     946#: src/img-optm.cls.php:1342
    942947msgid "Rescanned %d images successfully."
    943948msgstr ""
    944949
    945 #: src/img-optm.cls.php:1399
     950#: src/img-optm.cls.php:1401
    946951msgid "Calculated backups successfully."
    947952msgstr ""
    948953
    949 #: src/img-optm.cls.php:1461
     954#: src/img-optm.cls.php:1463
    950955msgid "Removed backups successfully."
    951956msgstr ""
    952957
    953 #: src/img-optm.cls.php:1656
     958#: src/img-optm.cls.php:1658
    954959msgid "Switched images successfully."
    955960msgstr ""
    956961
    957 #: src/img-optm.cls.php:1684
     962#: src/img-optm.cls.php:1686
    958963msgid "Disabled WebP file successfully."
    959964msgstr ""
    960965
    961 #: src/img-optm.cls.php:1690
     966#: src/img-optm.cls.php:1692
    962967msgid "Enabled WebP file successfully."
    963968msgstr ""
    964969
    965 #: src/img-optm.cls.php:1706
     970#: src/img-optm.cls.php:1708
    966971msgid "Restored original file successfully."
    967972msgstr ""
    968973
    969 #: src/img-optm.cls.php:1713
     974#: src/img-optm.cls.php:1715
    970975msgid "Switched to optimized file successfully."
    971976msgstr ""
    972977
    973 #: src/img-optm.cls.php:1776
     978#: src/img-optm.cls.php:1778
    974979msgid "Reset the optimized data successfully."
    975980msgstr ""
     
    991996msgstr ""
    992997
    993 #: src/lang.cls.php:24 tpl/dash/dashboard.tpl.php:337
     998#: src/lang.cls.php:24 tpl/dash/dashboard.tpl.php:362
    994999msgid "Images requested"
    9951000msgstr ""
    9961001
    997 #: src/lang.cls.php:25 tpl/dash/dashboard.tpl.php:347
     1002#: src/lang.cls.php:25 tpl/dash/dashboard.tpl.php:372
    9981003msgid "Images notified to pull"
    9991004msgstr ""
     
    10661071msgstr ""
    10671072
    1068 #: src/lang.cls.php:91 tpl/dash/dashboard.tpl.php:397
     1073#: src/lang.cls.php:91 tpl/dash/dashboard.tpl.php:422
     1074#: tpl/presets/standard.tpl.php:12
    10691075msgid "Browser Cache"
    10701076msgstr ""
     
    12671273
    12681274#: src/lang.cls.php:144
    1269 msgid "UCSS Allowlist"
     1275msgid "UCSS Selector Allowlist"
    12701276msgstr ""
    12711277
    12721278#: src/lang.cls.php:145
     1279msgid "UCSS File Excludes and Inline"
     1280msgstr ""
     1281
     1282#: src/lang.cls.php:146
    12731283msgid "UCSS URI Excludes"
    12741284msgstr ""
    12751285
    1276 #: src/lang.cls.php:146
     1286#: src/lang.cls.php:147
    12771287msgid "JS Minify"
    12781288msgstr ""
    12791289
    1280 #: src/lang.cls.php:148
     1290#: src/lang.cls.php:149
    12811291msgid "JS Combine External and Inline"
    12821292msgstr ""
    12831293
    1284 #: src/lang.cls.php:149
     1294#: src/lang.cls.php:150
    12851295msgid "HTML Minify"
    12861296msgstr ""
    12871297
    1288 #: src/lang.cls.php:150
     1298#: src/lang.cls.php:151
    12891299msgid "HTML Lazy Load Selectors"
    12901300msgstr ""
    12911301
    1292 #: src/lang.cls.php:151 tpl/page_optm/settings_tuning.tpl.php:148
     1302#: src/lang.cls.php:152 tpl/page_optm/settings_tuning_css.tpl.php:131
    12931303msgid "Load CSS Asynchronously"
    12941304msgstr ""
    12951305
    1296 #: src/lang.cls.php:152
     1306#: src/lang.cls.php:153
    12971307msgid "CCSS Per URL"
    12981308msgstr ""
    12991309
    1300 #: src/lang.cls.php:153
     1310#: src/lang.cls.php:154
    13011311msgid "Inline CSS Async Lib"
    13021312msgstr ""
    13031313
    1304 #: src/lang.cls.php:154
     1314#: src/lang.cls.php:155 tpl/presets/standard.tpl.php:39
    13051315msgid "Font Display Optimization"
    13061316msgstr ""
    13071317
    1308 #: src/lang.cls.php:155
     1318#: src/lang.cls.php:156
    13091319msgid "Load JS Deferred"
    13101320msgstr ""
    13111321
    1312 #: src/lang.cls.php:156
     1322#: src/lang.cls.php:157
    13131323msgid "Localize Resources"
    13141324msgstr ""
    13151325
    1316 #: src/lang.cls.php:157
     1326#: src/lang.cls.php:158
    13171327msgid "Localization Files"
    13181328msgstr ""
    13191329
    1320 #: src/lang.cls.php:158
     1330#: src/lang.cls.php:159
    13211331msgid "DNS Prefetch"
    13221332msgstr ""
    13231333
    1324 #: src/lang.cls.php:159
     1334#: src/lang.cls.php:160
    13251335msgid "DNS Prefetch Control"
    13261336msgstr ""
    13271337
    1328 #: src/lang.cls.php:160
     1338#: src/lang.cls.php:161
    13291339msgid "CSS Excludes"
    13301340msgstr ""
    13311341
    1332 #: src/lang.cls.php:161
     1342#: src/lang.cls.php:162
    13331343msgid "JS Excludes"
    13341344msgstr ""
    13351345
    1336 #: src/lang.cls.php:162
     1346#: src/lang.cls.php:163
    13371347msgid "Remove Query Strings"
    13381348msgstr ""
    13391349
    1340 #: src/lang.cls.php:163
     1350#: src/lang.cls.php:164
    13411351msgid "Load Google Fonts Asynchronously"
    13421352msgstr ""
    13431353
    1344 #: src/lang.cls.php:164
     1354#: src/lang.cls.php:165
    13451355msgid "Remove Google Fonts"
    13461356msgstr ""
    13471357
    1348 #: src/lang.cls.php:165
     1358#: src/lang.cls.php:166
    13491359msgid "Critical CSS Rules"
    13501360msgstr ""
    13511361
    1352 #: src/lang.cls.php:166
     1362#: src/lang.cls.php:167
    13531363msgid "Separate CCSS Cache Post Types"
    13541364msgstr ""
    13551365
    1356 #: src/lang.cls.php:167
     1366#: src/lang.cls.php:168
    13571367msgid "Separate CCSS Cache URIs"
    13581368msgstr ""
    13591369
    1360 #: src/lang.cls.php:168
     1370#: src/lang.cls.php:169
    13611371msgid "JS Deferred Excludes"
    13621372msgstr ""
    13631373
    1364 #: src/lang.cls.php:169
     1374#: src/lang.cls.php:170
    13651375msgid "Guest Mode JS Excludes"
    13661376msgstr ""
    13671377
    1368 #: src/lang.cls.php:170
     1378#: src/lang.cls.php:171 tpl/presets/standard.tpl.php:44
    13691379msgid "Remove WordPress Emoji"
    13701380msgstr ""
    13711381
    1372 #: src/lang.cls.php:171
     1382#: src/lang.cls.php:172 tpl/presets/standard.tpl.php:45
    13731383msgid "Remove Noscript Tags"
    13741384msgstr ""
    13751385
    1376 #: src/lang.cls.php:172
     1386#: src/lang.cls.php:173
    13771387msgid "URI Excludes"
    13781388msgstr ""
    13791389
    1380 #: src/lang.cls.php:173
     1390#: src/lang.cls.php:174
    13811391msgid "Optimize for Guests Only"
    13821392msgstr ""
    13831393
    1384 #: src/lang.cls.php:174
     1394#: src/lang.cls.php:175
    13851395msgid "Role Excludes"
    13861396msgstr ""
    13871397
    1388 #: src/lang.cls.php:177
     1398#: src/lang.cls.php:178
    13891399msgid "Gravatar Cache Cron"
    13901400msgstr ""
    13911401
    1392 #: src/lang.cls.php:178
     1402#: src/lang.cls.php:179
    13931403msgid "Gravatar Cache TTL"
    13941404msgstr ""
    13951405
    1396 #: src/lang.cls.php:180
     1406#: src/lang.cls.php:181
    13971407msgid "Lazy Load Images"
    13981408msgstr ""
    13991409
    1400 #: src/lang.cls.php:181
     1410#: src/lang.cls.php:182
    14011411msgid "Lazy Load Image Excludes"
    14021412msgstr ""
    14031413
    1404 #: src/lang.cls.php:182
     1414#: src/lang.cls.php:183
    14051415msgid "Lazy Load Image Class Name Excludes"
    14061416msgstr ""
    14071417
    1408 #: src/lang.cls.php:183
     1418#: src/lang.cls.php:184
    14091419msgid "Lazy Load Image Parent Class Name Excludes"
    14101420msgstr ""
    14111421
    1412 #: src/lang.cls.php:184
     1422#: src/lang.cls.php:185
    14131423msgid "Lazy Load Iframe Class Name Excludes"
    14141424msgstr ""
    14151425
    1416 #: src/lang.cls.php:185
     1426#: src/lang.cls.php:186
    14171427msgid "Lazy Load Iframe Parent Class Name Excludes"
    14181428msgstr ""
    14191429
    1420 #: src/lang.cls.php:186
     1430#: src/lang.cls.php:187
    14211431msgid "Lazy Load URI Excludes"
    14221432msgstr ""
    14231433
    1424 #: src/lang.cls.php:187
     1434#: src/lang.cls.php:188
    14251435msgid "LQIP Excludes"
    14261436msgstr ""
    14271437
    1428 #: src/lang.cls.php:188
     1438#: src/lang.cls.php:189
    14291439msgid "Basic Image Placeholder"
    14301440msgstr ""
    14311441
    1432 #: src/lang.cls.php:189
     1442#: src/lang.cls.php:190
    14331443msgid "Responsive Placeholder"
    14341444msgstr ""
    14351445
    1436 #: src/lang.cls.php:190
     1446#: src/lang.cls.php:191
    14371447msgid "Responsive Placeholder Color"
    14381448msgstr ""
    14391449
    1440 #: src/lang.cls.php:191
     1450#: src/lang.cls.php:192
    14411451msgid "Responsive Placeholder SVG"
    14421452msgstr ""
    14431453
    1444 #: src/lang.cls.php:192
     1454#: src/lang.cls.php:193
    14451455msgid "LQIP Cloud Generator"
    14461456msgstr ""
    14471457
    1448 #: src/lang.cls.php:193
     1458#: src/lang.cls.php:194
    14491459msgid "LQIP Quality"
    14501460msgstr ""
    14511461
    1452 #: src/lang.cls.php:194
     1462#: src/lang.cls.php:195
    14531463msgid "LQIP Minimum Dimensions"
    14541464msgstr ""
    14551465
    1456 #: src/lang.cls.php:196
     1466#: src/lang.cls.php:197
    14571467msgid "Generate LQIP In Background"
    14581468msgstr ""
    14591469
    1460 #: src/lang.cls.php:197
     1470#: src/lang.cls.php:198
    14611471msgid "Lazy Load Iframes"
    14621472msgstr ""
    14631473
    1464 #: src/lang.cls.php:198
     1474#: src/lang.cls.php:199
    14651475msgid "Add Missing Sizes"
    14661476msgstr ""
    14671477
    1468 #: src/lang.cls.php:199 src/metabox.cls.php:31 src/metabox.cls.php:32
     1478#: src/lang.cls.php:200 src/metabox.cls.php:31 src/metabox.cls.php:32
    14691479#: tpl/page_optm/settings_vpi.tpl.php:12
    14701480msgid "Viewport Images"
    14711481msgstr ""
    14721482
    1473 #: src/lang.cls.php:200
     1483#: src/lang.cls.php:201
    14741484msgid "Viewport Images Cron"
    14751485msgstr ""
    14761486
    1477 #: src/lang.cls.php:202
     1487#: src/lang.cls.php:203
    14781488msgid "Auto Request Cron"
    14791489msgstr ""
    14801490
    1481 #: src/lang.cls.php:203
     1491#: src/lang.cls.php:204
    14821492msgid "Auto Pull Cron"
    14831493msgstr ""
    14841494
    1485 #: src/lang.cls.php:204
     1495#: src/lang.cls.php:205
    14861496msgid "Optimize Original Images"
    14871497msgstr ""
    14881498
    1489 #: src/lang.cls.php:205
     1499#: src/lang.cls.php:206
    14901500msgid "Remove Original Backups"
    14911501msgstr ""
    14921502
    1493 #: src/lang.cls.php:206
    1494 msgid "Create WebP Versions"
    1495 msgstr ""
    1496 
    14971503#: src/lang.cls.php:207
     1504msgid "Image WebP Replacement"
     1505msgstr ""
     1506
     1507#: src/lang.cls.php:208
    14981508msgid "Optimize Losslessly"
    14991509msgstr ""
    15001510
    1501 #: src/lang.cls.php:208
     1511#: src/lang.cls.php:209
    15021512msgid "Preserve EXIF/XMP data"
    15031513msgstr ""
    15041514
    1505 #: src/lang.cls.php:209
     1515#: src/lang.cls.php:210
    15061516msgid "WebP Attribute To Replace"
    15071517msgstr ""
    15081518
    1509 #: src/lang.cls.php:210
     1519#: src/lang.cls.php:211
    15101520msgid "WebP For Extra srcset"
    15111521msgstr ""
    15121522
    1513 #: src/lang.cls.php:211
     1523#: src/lang.cls.php:212
    15141524msgid "WordPress Image Quality Control"
    15151525msgstr ""
    15161526
    1517 #: src/lang.cls.php:212 tpl/esi_widget_edit.php:36
     1527#: src/lang.cls.php:213 tpl/esi_widget_edit.php:36
    15181528msgid "Enable ESI"
    15191529msgstr ""
    15201530
    1521 #: src/lang.cls.php:213
     1531#: src/lang.cls.php:214
    15221532msgid "Cache Admin Bar"
    15231533msgstr ""
    15241534
    1525 #: src/lang.cls.php:214
     1535#: src/lang.cls.php:215
    15261536msgid "Cache Comment Form"
    15271537msgstr ""
    15281538
    1529 #: src/lang.cls.php:215
     1539#: src/lang.cls.php:216
    15301540msgid "ESI Nonces"
    15311541msgstr ""
    15321542
    1533 #: src/lang.cls.php:216 tpl/page_optm/settings_css.tpl.php:112
     1543#: src/lang.cls.php:217 tpl/page_optm/settings_css.tpl.php:112
    15341544#: tpl/page_optm/settings_css.tpl.php:222 tpl/page_optm/settings_vpi.tpl.php:67
    15351545msgid "Vary Group"
    15361546msgstr ""
    15371547
    1538 #: src/lang.cls.php:217
     1548#: src/lang.cls.php:218
    15391549msgid "Purge All Hooks"
    15401550msgstr ""
    15411551
    1542 #: src/lang.cls.php:218
     1552#: src/lang.cls.php:219
    15431553msgid "Improve HTTP/HTTPS Compatibility"
    15441554msgstr ""
    15451555
    1546 #: src/lang.cls.php:219
     1556#: src/lang.cls.php:220
    15471557msgid "Instant Click"
    15481558msgstr ""
    15491559
    1550 #: src/lang.cls.php:220
     1560#: src/lang.cls.php:221
    15511561msgid "Do Not Cache Cookies"
    15521562msgstr ""
    15531563
    1554 #: src/lang.cls.php:221
     1564#: src/lang.cls.php:222
    15551565msgid "Do Not Cache User Agents"
    15561566msgstr ""
    15571567
    1558 #: src/lang.cls.php:222
     1568#: src/lang.cls.php:223
    15591569msgid "Login Cookie"
    1560 msgstr ""
    1561 
    1562 #: src/lang.cls.php:223
    1563 msgid "Image WebP Replacement"
    15641570msgstr ""
    15651571
     
    18371843msgstr ""
    18381844
    1839 #: src/metabox.cls.php:53
     1845#: src/metabox.cls.php:58
    18401846msgid "LiteSpeed Options"
    18411847msgstr ""
     
    18491855msgstr ""
    18501856
    1851 #: src/purge.cls.php:197
     1857#: src/purge.cls.php:205
    18521858msgid "Purged all caches successfully."
    18531859msgstr ""
    18541860
    1855 #: src/purge.cls.php:216
     1861#: src/purge.cls.php:224
    18561862msgid "Notified LiteSpeed Web Server to purge all LSCache entries."
    18571863msgstr ""
    18581864
    1859 #: src/purge.cls.php:235
     1865#: src/purge.cls.php:243
    18601866msgid "Cleaned all Critical CSS files."
    18611867msgstr ""
    18621868
    1863 #: src/purge.cls.php:254
     1869#: src/purge.cls.php:262
    18641870msgid "Cleaned all Unique CSS files."
    18651871msgstr ""
    18661872
    1867 #: src/purge.cls.php:288
     1873#: src/purge.cls.php:300
    18681874msgid "Cleaned all LQIP files."
    18691875msgstr ""
    18701876
    1871 #: src/purge.cls.php:305
     1877#: src/purge.cls.php:317
    18721878msgid "Cleaned all Gravatar files."
    18731879msgstr ""
    18741880
    1875 #: src/purge.cls.php:322
     1881#: src/purge.cls.php:334
    18761882msgid "Cleaned all localized resource entries."
    18771883msgstr ""
    18781884
    1879 #: src/purge.cls.php:356
     1885#: src/purge.cls.php:368
    18801886msgid "Notified LiteSpeed Web Server to purge CSS/JS entries."
    18811887msgstr ""
    18821888
    1883 #: src/purge.cls.php:372
     1889#: src/purge.cls.php:384
    18841890msgid "Opcode cache is not enabled."
    18851891msgstr ""
    18861892
    1887 #: src/purge.cls.php:384
     1893#: src/purge.cls.php:396
    18881894msgid "Reset the entire opcode cache successfully."
    18891895msgstr ""
    18901896
    1891 #: src/purge.cls.php:412
     1897#: src/purge.cls.php:424
    18921898msgid "Object cache is not enabled."
    18931899msgstr ""
    18941900
    1895 #: src/purge.cls.php:425
     1901#: src/purge.cls.php:437
    18961902msgid "Purge all object caches successfully."
    18971903msgstr ""
    18981904
    1899 #: src/purge.cls.php:638
     1905#: src/purge.cls.php:650
    19001906msgid "Notified LiteSpeed Web Server to purge the front page."
    19011907msgstr ""
    19021908
    1903 #: src/purge.cls.php:651
     1909#: src/purge.cls.php:663
    19041910msgid "Notified LiteSpeed Web Server to purge all pages."
    19051911msgstr ""
    19061912
    1907 #: src/purge.cls.php:670
     1913#: src/purge.cls.php:682
    19081914msgid "Notified LiteSpeed Web Server to purge error pages."
    19091915msgstr ""
    19101916
    1911 #: src/purge.cls.php:697
     1917#: src/purge.cls.php:709
    19121918msgid "Purge category %s"
    19131919msgstr ""
    19141920
    1915 #: src/purge.cls.php:724
     1921#: src/purge.cls.php:736
    19161922msgid "Purge tag %s"
    19171923msgstr ""
    19181924
    1919 #: src/purge.cls.php:755
     1925#: src/purge.cls.php:767
    19201926msgid "Purge url %s"
    19211927msgstr ""
     
    19781984
    19791985#: thirdparty/woocommerce.content.tpl.php:31
    1980 msgid "Use ESI for Cart"
     1986msgid "Product Update Interval"
    19811987msgstr ""
    19821988
    19831989#: 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:48
    19941990msgid "Purge product on changes to the quantity or stock status."
    19951991msgstr ""
    19961992
    1997 #: thirdparty/woocommerce.content.tpl.php:48
     1993#: thirdparty/woocommerce.content.tpl.php:36
    19981994msgid "Purge categories only when stock status changes."
    19991995msgstr ""
    20001996
    2001 #: thirdparty/woocommerce.content.tpl.php:49
     1997#: thirdparty/woocommerce.content.tpl.php:37
    20021998msgid "Purge product and categories only when the stock status changes."
    20031999msgstr ""
    20042000
    2005 #: thirdparty/woocommerce.content.tpl.php:50
     2001#: thirdparty/woocommerce.content.tpl.php:38
    20062002msgid "Purge product only when the stock status changes."
    20072003msgstr ""
    20082004
    2009 #: thirdparty/woocommerce.content.tpl.php:50
     2005#: thirdparty/woocommerce.content.tpl.php:38
    20102006msgid "Do not purge categories on changes to the quantity or stock status."
    20112007msgstr ""
    20122008
    2013 #: thirdparty/woocommerce.content.tpl.php:51
     2009#: thirdparty/woocommerce.content.tpl.php:39
    20142010msgid ""
    20152011"Always purge both product and categories on changes to the quantity or stock "
     
    20172013msgstr ""
    20182014
    2019 #: thirdparty/woocommerce.content.tpl.php:64
     2015#: thirdparty/woocommerce.content.tpl.php:52
    20202016msgid ""
    20212017"Determines how changes in product quantity and product stock status affect "
     
    20232019msgstr ""
    20242020
    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 
    20492021#: thirdparty/woocommerce.tab.tpl.php:3
    20502022msgid "WooCommerce"
     
    20752047msgstr ""
    20762048
    2077 #. #-#-#-#-#  litespeed-cache.pot (LiteSpeed Cache 5.2)  #-#-#-#-#
     2049#. #-#-#-#-#  litespeed-cache.pot (LiteSpeed Cache 5.3)  #-#-#-#-#
    20782050#. Plugin Name of the plugin/theme
    20792051#: tpl/banner/new_version.php:57 tpl/banner/new_version_dev.tpl.php:12
     
    20912063
    20922064#: tpl/banner/new_version.php:69 tpl/banner/new_version_dev.tpl.php:24
    2093 #: tpl/toolbox/beta_test.tpl.php:64
     2065#: tpl/toolbox/beta_test.tpl.php:65
    20942066msgid "Upgrade"
    20952067msgstr ""
     
    21152087msgstr ""
    21162088
    2117 #: tpl/banner/score.php:28 tpl/dash/dashboard.tpl.php:178
     2089#: tpl/banner/score.php:28 tpl/dash/dashboard.tpl.php:203
    21182090msgid "Page Load Time"
    21192091msgstr ""
    21202092
    21212093#: tpl/banner/score.php:34 tpl/banner/score.php:74
    2122 #: tpl/dash/dashboard.tpl.php:191 tpl/dash/dashboard.tpl.php:259
     2094#: tpl/dash/dashboard.tpl.php:216 tpl/dash/dashboard.tpl.php:284
    21232095msgid "Before"
    21242096msgstr ""
    21252097
    21262098#: tpl/banner/score.php:45 tpl/banner/score.php:84
    2127 #: tpl/dash/dashboard.tpl.php:200 tpl/dash/dashboard.tpl.php:267
     2099#: tpl/dash/dashboard.tpl.php:225 tpl/dash/dashboard.tpl.php:292
    21282100msgid "After"
    21292101msgstr ""
    21302102
    21312103#: tpl/banner/score.php:55 tpl/banner/score.php:94
    2132 #: tpl/dash/dashboard.tpl.php:208 tpl/dash/dashboard.tpl.php:275
     2104#: tpl/dash/dashboard.tpl.php:233 tpl/dash/dashboard.tpl.php:300
    21332105msgid "Improved by"
    21342106msgstr ""
    21352107
    2136 #: tpl/banner/score.php:68 tpl/dash/dashboard.tpl.php:235
     2108#: tpl/banner/score.php:68 tpl/dash/dashboard.tpl.php:260
    21372109msgid "PageSpeed Score"
    21382110msgstr ""
     
    22972269msgstr ""
    22982270
    2299 #: tpl/cache/settings-cache.tpl.php:27 tpl/page_optm/entry.tpl.php:31
     2271#: tpl/cache/settings-cache.tpl.php:27 tpl/page_optm/entry.tpl.php:32
    23002272msgid "NOTICE"
    23012273msgstr ""
     
    24372409#: tpl/page_optm/settings_tuning.tpl.php:36
    24382410#: tpl/page_optm/settings_tuning.tpl.php:57
    2439 #: tpl/page_optm/settings_tuning.tpl.php:102
    2440 #: tpl/page_optm/settings_tuning.tpl.php:166
    2441 #: tpl/page_optm/settings_tuning.tpl.php:187
     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
    24422414msgid "Filter %s is supported."
    24432415msgstr ""
     
    25732545#: tpl/cache/settings-purge.tpl.php:50 tpl/cache/settings-purge.tpl.php:89
    25742546#: tpl/cache/settings-purge.tpl.php:113
    2575 #: tpl/page_optm/settings_tuning.tpl.php:77
     2547#: tpl/page_optm/settings_tuning_css.tpl.php:60
    25762548msgid "Note"
    25772549msgstr ""
     
    30713043msgstr ""
    30723044
    3073 #: tpl/cdn/auto_setup.tpl.php:132 tpl/general/settings.tpl.php:75
    3074 #: tpl/general/settings.tpl.php:77 tpl/general/settings.tpl.php:106
     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
    30753047msgid "Link to QUIC.cloud"
    30763048msgstr ""
     
    33443316msgstr ""
    33453317
    3346 #: tpl/cdn/settings.tpl.php:127 tpl/img_optm/settings.tpl.php:140
     3318#: tpl/cdn/settings.tpl.php:127 tpl/img_optm/settings.tpl.php:127
    33473319msgid "Only attributes listed here will be replaced."
    33483320msgstr ""
    33493321
    3350 #: tpl/cdn/settings.tpl.php:128 tpl/img_optm/settings.tpl.php:141
     3322#: tpl/cdn/settings.tpl.php:128 tpl/img_optm/settings.tpl.php:128
    33513323msgid "Use the format %1$s or %2$s (element is optional)."
    33523324msgstr ""
     
    34773449
    34783450#: 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:8
    3480 #: tpl/general/settings.tpl.php:42
     3451#: tpl/general/entry.tpl.php:12 tpl/general/network_settings.tpl.php:9
     3452#: tpl/general/settings.tpl.php:43
    34813453msgid "General Settings"
    34823454msgstr ""
     
    35143486msgstr ""
    35153487
    3516 #: tpl/crawler/map.tpl.php:44 tpl/dash/dashboard.tpl.php:546
     3488#: tpl/crawler/map.tpl.php:44 tpl/dash/dashboard.tpl.php:571
    35173489msgid "Crawler Status"
    35183490msgstr ""
     
    36873659msgstr ""
    36883660
    3689 #: tpl/crawler/summary.tpl.php:85 tpl/dash/dashboard.tpl.php:559
     3661#: tpl/crawler/summary.tpl.php:85 tpl/dash/dashboard.tpl.php:584
    36903662msgid "Current crawler started at"
    36913663msgstr ""
    36923664
    3693 #: tpl/crawler/summary.tpl.php:92 tpl/dash/dashboard.tpl.php:566
     3665#: tpl/crawler/summary.tpl.php:92 tpl/dash/dashboard.tpl.php:591
    36943666msgid "Last interval"
    36953667msgstr ""
    36963668
    3697 #: tpl/crawler/summary.tpl.php:99 tpl/dash/dashboard.tpl.php:573
     3669#: tpl/crawler/summary.tpl.php:99 tpl/dash/dashboard.tpl.php:598
    36983670msgid "Ended reason"
    36993671msgstr ""
     
    37993771msgstr ""
    38003772
    3801 #: tpl/dash/dashboard.tpl.php:59 tpl/dash/dashboard.tpl.php:482
     3773#: tpl/dash/dashboard.tpl.php:59 tpl/dash/dashboard.tpl.php:507
    38023774msgid "Low Quality Image Placeholder"
    38033775msgstr ""
     
    38353807msgstr ""
    38363808
    3837 #: tpl/dash/dashboard.tpl.php:169
     3809#: tpl/dash/dashboard.tpl.php:171
     3810msgid "Partner Benefits Provided by"
     3811msgstr ""
     3812
     3813#: tpl/dash/dashboard.tpl.php:194
    38383814msgid "Go to QUIC.cloud dashboard"
    38393815msgstr ""
    38403816
    3841 #: tpl/dash/dashboard.tpl.php:181
     3817#: tpl/dash/dashboard.tpl.php:206
    38423818msgid "Refresh page load time"
    38433819msgstr ""
    38443820
    3845 #: tpl/dash/dashboard.tpl.php:222 tpl/dash/dashboard.tpl.php:291
    3846 #: tpl/dash/dashboard.tpl.php:441 tpl/dash/dashboard.tpl.php:474
    3847 #: tpl/dash/dashboard.tpl.php:506 tpl/dash/dashboard.tpl.php:538
     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
    38483824msgid "Last requested"
    38493825msgstr ""
    38503826
    3851 #: tpl/dash/dashboard.tpl.php:227
     3827#: tpl/dash/dashboard.tpl.php:252
    38523828msgid "Current closest Cloud server is %s.
Click to redetect."
    38533829msgstr ""
    38543830
    3855 #: tpl/dash/dashboard.tpl.php:227 tpl/img_optm/summary.tpl.php:57
     3831#: tpl/dash/dashboard.tpl.php:252 tpl/img_optm/summary.tpl.php:57
    38563832#: tpl/page_optm/settings_css.tpl.php:93 tpl/page_optm/settings_css.tpl.php:203
    38573833#: tpl/page_optm/settings_media.tpl.php:176
     
    38613837msgstr ""
    38623838
    3863 #: tpl/dash/dashboard.tpl.php:238
     3839#: tpl/dash/dashboard.tpl.php:263
    38643840msgid "Refresh page score"
    38653841msgstr ""
    38663842
    3867 #: tpl/dash/dashboard.tpl.php:299 tpl/img_optm/entry.tpl.php:6
     3843#: tpl/dash/dashboard.tpl.php:324 tpl/img_optm/entry.tpl.php:6
    38683844msgid "Image Optimization Summary"
    38693845msgstr ""
    38703846
    3871 #: tpl/dash/dashboard.tpl.php:300 tpl/dash/dashboard.tpl.php:389
    3872 #: tpl/dash/dashboard.tpl.php:417 tpl/dash/dashboard.tpl.php:450
    3873 #: tpl/dash/dashboard.tpl.php:483 tpl/dash/dashboard.tpl.php:515
    3874 #: tpl/dash/dashboard.tpl.php:547
     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
    38753851msgid "More"
    38763852msgstr ""
    38773853
    3878 #: tpl/dash/dashboard.tpl.php:310
     3854#: tpl/dash/dashboard.tpl.php:335
    38793855msgid "Image Groups Prepared"
    38803856msgstr ""
    38813857
    3882 #: tpl/dash/dashboard.tpl.php:325
     3858#: tpl/dash/dashboard.tpl.php:350
    38833859msgid "Images Requested"
    38843860msgstr ""
    38853861
    3886 #: tpl/dash/dashboard.tpl.php:357 tpl/img_optm/summary.tpl.php:342
     3862#: tpl/dash/dashboard.tpl.php:382 tpl/img_optm/summary.tpl.php:342
    38873863msgid "Last Request"
    38883864msgstr ""
    38893865
    3890 #: tpl/dash/dashboard.tpl.php:360
     3866#: tpl/dash/dashboard.tpl.php:385
    38913867msgid "Last Pull"
    38923868msgstr ""
    38933869
    3894 #: tpl/dash/dashboard.tpl.php:388
     3870#: tpl/dash/dashboard.tpl.php:413
    38953871msgid "Cache Status"
    38963872msgstr ""
    38973873
    3898 #: tpl/dash/dashboard.tpl.php:394
     3874#: tpl/dash/dashboard.tpl.php:419
    38993875msgid "Public Cache"
    39003876msgstr ""
    39013877
    3902 #: tpl/dash/dashboard.tpl.php:395
     3878#: tpl/dash/dashboard.tpl.php:420
    39033879msgid "Private Cache"
    39043880msgstr ""
    39053881
    3906 #: tpl/dash/dashboard.tpl.php:416 tpl/toolbox/purge.tpl.php:70
     3882#: tpl/dash/dashboard.tpl.php:441 tpl/toolbox/purge.tpl.php:70
    39073883msgid "Critical CSS"
    39083884msgstr ""
    39093885
    3910 #: tpl/dash/dashboard.tpl.php:422 tpl/dash/dashboard.tpl.php:455
    3911 #: tpl/dash/dashboard.tpl.php:488 tpl/dash/dashboard.tpl.php:520
     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
    39123888#: tpl/page_optm/settings_css.tpl.php:84 tpl/page_optm/settings_css.tpl.php:194
    39133889#: tpl/page_optm/settings_media.tpl.php:170
     
    39163892msgstr ""
    39173893
    3918 #: tpl/dash/dashboard.tpl.php:425 tpl/dash/dashboard.tpl.php:458
    3919 #: tpl/dash/dashboard.tpl.php:491 tpl/dash/dashboard.tpl.php:523
     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
    39203896msgid "Time to execute previous request"
    39213897msgstr ""
    39223898
    3923 #: tpl/dash/dashboard.tpl.php:430 tpl/dash/dashboard.tpl.php:463
    3924 #: tpl/dash/dashboard.tpl.php:496 tpl/dash/dashboard.tpl.php:528
     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
    39253901msgid "Requests in queue"
    39263902msgstr ""
    39273903
    3928 #: tpl/dash/dashboard.tpl.php:433 tpl/dash/dashboard.tpl.php:466
    3929 #: tpl/dash/dashboard.tpl.php:498 tpl/dash/dashboard.tpl.php:530
     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
    39303906msgid "Force cron"
    39313907msgstr ""
    39323908
    3933 #: tpl/dash/dashboard.tpl.php:449 tpl/toolbox/purge.tpl.php:79
     3909#: tpl/dash/dashboard.tpl.php:474 tpl/toolbox/purge.tpl.php:79
    39343910msgid "Unique CSS"
    39353911msgstr ""
    39363912
    3937 #: tpl/dash/dashboard.tpl.php:514
     3913#: tpl/dash/dashboard.tpl.php:539
    39383914msgid "Viewport Image"
    39393915msgstr ""
    39403916
    3941 #: tpl/dash/dashboard.tpl.php:551
     3917#: tpl/dash/dashboard.tpl.php:576
    39423918msgid "Crawler(s)"
    39433919msgstr ""
    39443920
    3945 #: tpl/dash/dashboard.tpl.php:554
     3921#: tpl/dash/dashboard.tpl.php:579
    39463922msgid "Currently active crawler"
    39473923msgstr ""
    39483924
    3949 #: tpl/dash/dashboard.tpl.php:580
     3925#: tpl/dash/dashboard.tpl.php:605
    39503926msgid "<b>Last crawled:</b> %d item(s)"
    39513927msgstr ""
     
    41384114
    41394115#: tpl/general/entry.tpl.php:7 tpl/page_optm/entry.tpl.php:13
     4116#: tpl/page_optm/entry.tpl.php:14
    41404117msgid "Tuning"
    41414118msgstr ""
     
    41454122msgstr ""
    41464123
    4147 #: tpl/general/network_settings.tpl.php:20
     4124#: tpl/general/network_settings.tpl.php:21
    41484125msgid "Use Primary Site Configuration"
    41494126msgstr ""
    41504127
    4151 #: tpl/general/network_settings.tpl.php:24
     4128#: tpl/general/network_settings.tpl.php:25
    41524129msgid ""
    41534130"Check this option to use the primary site's configuration for all subsites."
    41544131msgstr ""
    41554132
    4156 #: tpl/general/network_settings.tpl.php:25
     4133#: tpl/general/network_settings.tpl.php:26
    41574134msgid "This will disable the settings page on all subsites."
    41584135msgstr ""
     
    41864163msgstr ""
    41874164
    4188 #: tpl/general/settings.tpl.php:73
     4165#: tpl/general/settings.tpl.php:74
    41894166msgid "Visit My Dashboard on QUIC.cloud"
    41904167msgstr ""
    41914168
    4192 #: tpl/general/settings.tpl.php:82 tpl/general/settings.tpl.php:93
    4193 #: tpl/general/settings.tpl.php:105 tpl/general/settings.tpl.php:182
    4194 #: tpl/general/settings.tpl.php:188 tpl/general/settings.tpl.php:194
    4195 #: tpl/general/settings.tpl.php:200 tpl/general/settings.tpl.php:217
    4196 #: tpl/page_optm/settings_media.tpl.php:231
     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
    41974173#: tpl/page_optm/settings_vpi.tpl.php:32
    41984174msgid "Notice"
    41994175msgstr ""
    42004176
    4201 #: tpl/general/settings.tpl.php:83
     4177#: tpl/general/settings.tpl.php:84
    42024178msgid ""
    42034179"There was a problem with retrieving your Domain Key. Please click the %s "
     
    42054181msgstr ""
    42064182
    4207 #: tpl/general/settings.tpl.php:84
     4183#: tpl/general/settings.tpl.php:85
    42084184msgid ""
    42094185"There are two reasons why we might not be able to communicate with your "
     
    42114187msgstr ""
    42124188
    4213 #: tpl/general/settings.tpl.php:85
     4189#: tpl/general/settings.tpl.php:86
    42144190msgid "The POST callback to %s failed."
    42154191msgstr ""
    42164192
    4217 #: tpl/general/settings.tpl.php:86
     4193#: tpl/general/settings.tpl.php:87
    42184194msgid "Our %s was not allowlisted."
    42194195msgstr ""
    42204196
    4221 #: tpl/general/settings.tpl.php:87
     4197#: tpl/general/settings.tpl.php:88
    42224198msgid ""
    42234199"Please verify that your other plugins are not blocking REST API calls, "
     
    42254201msgstr ""
    42264202
    4227 #: tpl/general/settings.tpl.php:94
     4203#: tpl/general/settings.tpl.php:95
    42284204msgid ""
    42294205"Request submitted. Please wait, then refresh the page to see approval "
     
    42314207msgstr ""
    42324208
    4233 #: tpl/general/settings.tpl.php:100
     4209#: tpl/general/settings.tpl.php:101
    42344210msgid "Warning"
    42354211msgstr ""
    42364212
    4237 #: tpl/general/settings.tpl.php:101
     4213#: tpl/general/settings.tpl.php:102
    42384214msgid "You must have %1$s first before linking to QUIC.cloud."
    42394215msgstr ""
    42404216
    4241 #: tpl/general/settings.tpl.php:106
     4217#: tpl/general/settings.tpl.php:107
    42424218msgid ""
    42434219"You must click the %s button if you wish to associate this site with a QUIC."
     
    42454221msgstr ""
    42464222
    4247 #: tpl/general/settings.tpl.php:107
     4223#: tpl/general/settings.tpl.php:108
    42484224msgid "Benefits of linking to a QUIC.cloud account"
    42494225msgstr ""
    42504226
    4251 #: tpl/general/settings.tpl.php:112
     4227#: tpl/general/settings.tpl.php:113
    42524228msgid "A Domain Key is required for QUIC.cloud online services."
    42534229msgstr ""
    42544230
    4255 #: tpl/general/settings.tpl.php:116
     4231#: tpl/general/settings.tpl.php:117
    42564232msgid "Main domain"
    42574233msgstr ""
    42584234
    4259 #: tpl/general/settings.tpl.php:119
     4235#: tpl/general/settings.tpl.php:120
    42604236msgid "Main domain not generated yet"
    42614237msgstr ""
    42624238
    4263 #: tpl/general/settings.tpl.php:126
     4239#: tpl/general/settings.tpl.php:127
    42644240msgid "Current Cloud Nodes in Service"
    42654241msgstr ""
    42664242
    4267 #: tpl/general/settings.tpl.php:127
     4243#: tpl/general/settings.tpl.php:128
    42684244msgid "Click to clear all nodes for further redetection."
    42694245msgstr ""
    42704246
    4271 #: tpl/general/settings.tpl.php:127
     4247#: tpl/general/settings.tpl.php:128
    42724248msgid "Are you sure you want to clear all cloud nodes?"
    42734249msgstr ""
    42744250
    4275 #: tpl/general/settings.tpl.php:139
     4251#: tpl/general/settings.tpl.php:140
    42764252msgid "No cloud services currently in use"
    42774253msgstr ""
    42784254
    4279 #: tpl/general/settings.tpl.php:160
     4255#: tpl/general/settings.tpl.php:161
    42804256msgid "This option enables maximum optimization for Guest Mode visitors."
    42814257msgstr ""
    42824258
    4283 #: tpl/general/settings.tpl.php:161
     4259#: tpl/general/settings.tpl.php:162
    42844260msgid "Please read all warnings before enabling this option."
    42854261msgstr ""
    42864262
    4287 #: tpl/general/settings.tpl.php:175
     4263#: tpl/general/settings.tpl.php:176
    42884264msgid "Your %1s quota on %2s will still be in use."
    42894265msgstr ""
    42904266
    4291 #: tpl/general/settings.tpl.php:182 tpl/page_optm/settings_media.tpl.php:231
     4267#: tpl/general/settings.tpl.php:183 tpl/page_optm/settings_media.tpl.php:231
    42924268#: tpl/page_optm/settings_vpi.tpl.php:32
    42934269msgid "%s must be turned ON for this setting to work."
    42944270msgstr ""
    42954271
    4296 #: tpl/general/settings.tpl.php:188 tpl/general/settings.tpl.php:200
     4272#: tpl/general/settings.tpl.php:189
    42974273msgid "You need to turn %s on to get maximum result."
    42984274msgstr ""
    42994275
    4300 #: tpl/general/settings.tpl.php:194
     4276#: tpl/general/settings.tpl.php:195
    43014277msgid ""
    43024278"You need to turn %s on and finish all WebP generation to get maximum result."
    43034279msgstr ""
    43044280
    4305 #: tpl/general/settings.tpl.php:215
     4281#: tpl/general/settings.tpl.php:210
    43064282msgid ""
    43074283"Enter this site's IP address to allow cloud services directly call IP "
     
    43094285msgstr ""
    43104286
    4311 #: tpl/general/settings.tpl.php:216
     4287#: tpl/general/settings.tpl.php:211
    43124288msgid "Your server IP"
    43134289msgstr ""
    43144290
    4315 #: tpl/general/settings.tpl.php:216
     4291#: tpl/general/settings.tpl.php:211
    43164292msgid "Check my public IP from"
    43174293msgstr ""
    43184294
    4319 #: tpl/general/settings.tpl.php:217
     4295#: tpl/general/settings.tpl.php:212
    43204296msgid ""
    43214297"the auto-detected IP may not be accurate if you have an additional outgoing "
     
    43234299msgstr ""
    43244300
    4325 #: tpl/general/settings.tpl.php:218
     4301#: tpl/general/settings.tpl.php:213
    43264302msgid "Please make sure this IP is the correct one for visiting your site."
    43274303msgstr ""
    43284304
    4329 #: tpl/general/settings.tpl.php:233
     4305#: tpl/general/settings.tpl.php:228
    43304306msgid ""
    43314307"Turn this option ON to show latest news automatically, including hotfixes, "
     
    43684344msgstr ""
    43694345
    4370 #: tpl/general/settings_tuning.tpl.php:7
     4346#: tpl/general/settings_tuning.tpl.php:8
    43714347#: tpl/page_optm/settings_tuning.tpl.php:18
     4348#: tpl/page_optm/settings_tuning_css.tpl.php:7
    43724349msgid "Tuning Settings"
    43734350msgstr ""
    43744351
    4375 #: tpl/general/settings_tuning.tpl.php:28
     4352#: tpl/general/settings_tuning.tpl.php:29
    43764353msgid "Listed User Agents will be considered as Guest Mode visitors."
    43774354msgstr ""
    43784355
    4379 #: tpl/general/settings_tuning.tpl.php:50
     4356#: tpl/general/settings_tuning.tpl.php:51
    43804357msgid "Listed IPs will be considered as Guest Mode visitors."
    43814358msgstr ""
     
    43914368
    43924369#: tpl/img_optm/settings.media_webp.tpl.php:14
     4370msgid "Request WebP versions of original images when doing optimization."
     4371msgstr ""
     4372
     4373#: tpl/img_optm/settings.media_webp.tpl.php:15
    43934374msgid ""
    43944375"Significantly improve load time by replacing images with their optimized %s "
     
    44434424msgstr ""
    44444425
    4445 #: tpl/img_optm/settings.tpl.php:109
    4446 msgid "Request WebP versions of original images when doing optimization."
    4447 msgstr ""
    4448 
    4449 #: tpl/img_optm/settings.tpl.php:139
     4426#: tpl/img_optm/settings.tpl.php:126
    44504427msgid "Specify which element attributes will be replaced with WebP."
    44514428msgstr ""
    44524429
    4453 #: tpl/img_optm/settings.tpl.php:155
     4430#: tpl/img_optm/settings.tpl.php:142
    44544431msgid ""
    44554432"Enable replacement of WebP in %s elements that were generated outside of "
     
    44574434msgstr ""
    44584435
    4459 #: tpl/img_optm/settings.tpl.php:169
     4436#: tpl/img_optm/settings.tpl.php:156
    44604437msgid "The image compression quality setting of WordPress out of 100."
    44614438msgstr ""
     
    48364813msgstr ""
    48374814
    4838 #: tpl/page_optm/entry.tpl.php:20
     4815#: tpl/page_optm/entry.tpl.php:21
    48394816msgid "LiteSpeed Cache Page Optimization"
    48404817msgstr ""
    48414818
    4842 #: tpl/page_optm/entry.tpl.php:32
     4819#: tpl/page_optm/entry.tpl.php:33
    48434820msgid ""
    48444821"Please test thoroughly when enabling any option in this list. After changing "
     
    51435120
    51445121#: tpl/page_optm/settings_localization.tpl.php:127
    5145 #: tpl/toolbox/beta_test.tpl.php:32
     5122#: tpl/toolbox/beta_test.tpl.php:33
    51465123msgid "Example"
    51475124msgstr ""
     
    52995276#: tpl/page_optm/settings_tuning.tpl.php:37
    53005277#: tpl/page_optm/settings_tuning.tpl.php:58
    5301 #: tpl/page_optm/settings_tuning.tpl.php:167
    5302 #: tpl/page_optm/settings_tuning.tpl.php:188
     5278#: tpl/page_optm/settings_tuning.tpl.php:79
     5279#: tpl/page_optm/settings_tuning_css.tpl.php:26
    53035280msgid "Elements with attribute %s in html code will be excluded."
    53045281msgstr ""
     
    53295306
    53305307#: tpl/page_optm/settings_tuning.tpl.php:31
    5331 msgid "Listed CSS files or inline CSS code will not be minified/combined."
     5308msgid "Listed JS files or inline JS code will not be minified/combined."
    53325309msgstr ""
    53335310
    53345311#: tpl/page_optm/settings_tuning.tpl.php:38
    53355312#: tpl/page_optm/settings_tuning.tpl.php:59
    5336 #: tpl/page_optm/settings_tuning.tpl.php:83
    5337 #: tpl/page_optm/settings_tuning.tpl.php:168
     5313#: tpl/page_optm/settings_tuning_css.tpl.php:27
     5314#: tpl/page_optm/settings_tuning_css.tpl.php:66
    53385315msgid "Predefined list will also be combined w/ the above settings"
    53395316msgstr ""
    53405317
    53415318#: tpl/page_optm/settings_tuning.tpl.php:52
    5342 msgid "Listed JS files or inline JS code will not be minified/combined."
     5319msgid "Listed JS files or inline JS code will not be deferred."
    53435320msgstr ""
    53445321
    53455322#: tpl/page_optm/settings_tuning.tpl.php:73
     5323msgid "Listed JS files or inline JS code will not be optimized by %s."
     5324msgstr ""
     5325
     5326#: tpl/page_optm/settings_tuning.tpl.php:93
     5327msgid "Prevent any optimization of listed pages."
     5328msgstr ""
     5329
     5330#: tpl/page_optm/settings_tuning.tpl.php:107
     5331msgid ""
     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."
     5334msgstr ""
     5335
     5336#: tpl/page_optm/settings_tuning.tpl.php:119
     5337msgid "Selected roles will be excluded from all optimizations."
     5338msgstr ""
     5339
     5340#: tpl/page_optm/settings_tuning_css.tpl.php:20
     5341msgid "Listed CSS files or inline CSS code will not be minified/combined."
     5342msgstr ""
     5343
     5344#: tpl/page_optm/settings_tuning_css.tpl.php:41
     5345msgid "Listed CSS files will be excluded from UCSS and saved to inline."
     5346msgstr ""
     5347
     5348#: tpl/page_optm/settings_tuning_css.tpl.php:56
    53465349msgid ""
    53475350"List the CSS selector that its style should be always contained in UCSS."
    53485351msgstr ""
    53495352
    5350 #: tpl/page_optm/settings_tuning.tpl.php:74
     5353#: tpl/page_optm/settings_tuning_css.tpl.php:57
    53515354msgid "How to choose an UCSS allowlist selector?"
    53525355msgstr ""
    53535356
    5354 #: tpl/page_optm/settings_tuning.tpl.php:75
     5357#: tpl/page_optm/settings_tuning_css.tpl.php:58
    53555358msgid "Wildcard %s supported."
    53565359msgstr ""
    53575360
    5358 #: tpl/page_optm/settings_tuning.tpl.php:79
     5361#: tpl/page_optm/settings_tuning_css.tpl.php:62
    53595362msgid ""
    53605363"The selector must exist in the CSS. Parent classes in the HTML will not work."
    53615364msgstr ""
    53625365
    5363 #: tpl/page_optm/settings_tuning.tpl.php:97
     5366#: tpl/page_optm/settings_tuning_css.tpl.php:80
    53645367msgid "Listed URI will not generate UCSS."
    53655368msgstr ""
    53665369
    5367 #: tpl/page_optm/settings_tuning.tpl.php:104
     5370#: tpl/page_optm/settings_tuning_css.tpl.php:87
    53685371msgid ""
    53695372"Use %1$s to generate one single UCSS for the pages which page type is %2$s "
     
    53715374msgstr ""
    53725375
    5373 #: tpl/page_optm/settings_tuning.tpl.php:105
     5376#: tpl/page_optm/settings_tuning_css.tpl.php:88
    53745377msgid "Use %1$s to bypass UCSS for the pages which page type is %2$s."
    53755378msgstr ""
    53765379
    5377 #: tpl/page_optm/settings_tuning.tpl.php:119
     5380#: tpl/page_optm/settings_tuning_css.tpl.php:102
    53785381msgid ""
    53795382"List post types where each item of that type should have its own CCSS "
     
    53815384msgstr ""
    53825385
    5383 #: tpl/page_optm/settings_tuning.tpl.php:120
     5386#: tpl/page_optm/settings_tuning_css.tpl.php:103
    53845387msgid ""
    53855388"For example, if every Page on the site has different formatting, enter %s in "
     
    53885391msgstr ""
    53895392
    5390 #: tpl/page_optm/settings_tuning.tpl.php:134
     5393#: tpl/page_optm/settings_tuning_css.tpl.php:117
    53915394msgid ""
    53925395"Separate critical CSS files will be generated for paths containing these "
     
    53945397msgstr ""
    53955398
    5396 #: tpl/page_optm/settings_tuning.tpl.php:148
     5399#: tpl/page_optm/settings_tuning_css.tpl.php:131
    53975400msgid "Specify critical CSS rules for above-the-fold content when enabling %s."
    5398 msgstr ""
    5399 
    5400 #: tpl/page_optm/settings_tuning.tpl.php:161
    5401 msgid "Listed JS files or inline JS code will not be deferred."
    5402 msgstr ""
    5403 
    5404 #: tpl/page_optm/settings_tuning.tpl.php:182
    5405 msgid "Listed JS files or inline JS code will not be optimized by %s."
    5406 msgstr ""
    5407 
    5408 #: tpl/page_optm/settings_tuning.tpl.php:202
    5409 msgid "Prevent any optimization of listed pages."
    5410 msgstr ""
    5411 
    5412 #: tpl/page_optm/settings_tuning.tpl.php:216
    5413 msgid ""
    5414 "Only optimize pages for guest (not logged in) visitors. If turned this OFF, "
    5415 "CSS/JS/CCSS files will be doubled by each user group."
    5416 msgstr ""
    5417 
    5418 #: tpl/page_optm/settings_tuning.tpl.php:228
    5419 msgid "Selected roles will be excluded from all optimizations."
    54205401msgstr ""
    54215402
     
    54415422msgstr ""
    54425423
    5443 #: tpl/toolbox/beta_test.tpl.php:27
     5424#: tpl/presets/entry.tpl.php:6
     5425msgid "Standard Presets"
     5426msgstr ""
     5427
     5428#: tpl/presets/entry.tpl.php:7 tpl/toolbox/entry.tpl.php:10
     5429msgid "Import / Export"
     5430msgstr ""
     5431
     5432#: tpl/presets/entry.tpl.php:14
     5433msgid "LiteSpeed Cache Configuration Presets"
     5434msgstr ""
     5435
     5436#: tpl/presets/standard.tpl.php:8
     5437msgid "Essentials"
     5438msgstr ""
     5439
     5440#: tpl/presets/standard.tpl.php:10
     5441msgid "Default Cache"
     5442msgstr ""
     5443
     5444#: tpl/presets/standard.tpl.php:11
     5445msgid "Higher TTL"
     5446msgstr ""
     5447
     5448#: tpl/presets/standard.tpl.php:15
     5449msgid ""
     5450"This no-risk preset is appropriate for all websites. Good for new users, "
     5451"simple websites, or cache-oriented development."
     5452msgstr ""
     5453
     5454#: tpl/presets/standard.tpl.php:16
     5455msgid ""
     5456"A Domain Key is not required to use this preset. Only basic caching features "
     5457"are enabled."
     5458msgstr ""
     5459
     5460#: tpl/presets/standard.tpl.php:21 tpl/toolbox/settings-debug.tpl.php:82
     5461msgid "Basic"
     5462msgstr ""
     5463
     5464#: tpl/presets/standard.tpl.php:23
     5465msgid "Everything in Essentials, Plus"
     5466msgstr ""
     5467
     5468#: tpl/presets/standard.tpl.php:25
     5469msgid "Mobile Cache"
     5470msgstr ""
     5471
     5472#: tpl/presets/standard.tpl.php:28
     5473msgid ""
     5474"This low-risk preset introduces basic optimizations for speed and user "
     5475"experience. Appropriate for enthusiastic beginners."
     5476msgstr ""
     5477
     5478#: tpl/presets/standard.tpl.php:29
     5479msgid ""
     5480"A Domain Key is required to use this preset. Includes optimizations known to "
     5481"improve site score in page speed measurement tools."
     5482msgstr ""
     5483
     5484#: tpl/presets/standard.tpl.php:34
     5485msgid "Advanced (Recommended)"
     5486msgstr ""
     5487
     5488#: tpl/presets/standard.tpl.php:36
     5489msgid "Everything in Basic, Plus"
     5490msgstr ""
     5491
     5492#: tpl/presets/standard.tpl.php:37
     5493msgid "Guest Mode and Guest Optimization"
     5494msgstr ""
     5495
     5496#: tpl/presets/standard.tpl.php:38
     5497msgid "CSS, JS and HTML Minification"
     5498msgstr ""
     5499
     5500#: tpl/presets/standard.tpl.php:40
     5501msgid "JS Defer for both external and inline JS"
     5502msgstr ""
     5503
     5504#: tpl/presets/standard.tpl.php:41
     5505msgid "DNS Prefetch for static files"
     5506msgstr ""
     5507
     5508#: tpl/presets/standard.tpl.php:43
     5509msgid "Remove Query Strings from Static Files"
     5510msgstr ""
     5511
     5512#: tpl/presets/standard.tpl.php:48
     5513msgid ""
     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."
     5517msgstr ""
     5518
     5519#: tpl/presets/standard.tpl.php:49 tpl/presets/standard.tpl.php:64
     5520msgid ""
     5521"A Domain Key is required to use this preset. Includes many optimizations "
     5522"known to improve page speed scores."
     5523msgstr ""
     5524
     5525#: tpl/presets/standard.tpl.php:54
     5526msgid "Aggressive"
     5527msgstr ""
     5528
     5529#: tpl/presets/standard.tpl.php:56
     5530msgid "Everything in Advanced, Plus"
     5531msgstr ""
     5532
     5533#: tpl/presets/standard.tpl.php:57
     5534msgid "CSS & JS Combine"
     5535msgstr ""
     5536
     5537#: tpl/presets/standard.tpl.php:58
     5538msgid "Asynchronous CSS Loading with Critical CSS"
     5539msgstr ""
     5540
     5541#: tpl/presets/standard.tpl.php:59
     5542msgid "Removed Unused CSS for Users"
     5543msgstr ""
     5544
     5545#: tpl/presets/standard.tpl.php:60
     5546msgid "Lazy Load for Iframes"
     5547msgstr ""
     5548
     5549#: tpl/presets/standard.tpl.php:63
     5550msgid ""
     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."
     5554msgstr ""
     5555
     5556#: tpl/presets/standard.tpl.php:69
     5557msgid "Extreme"
     5558msgstr ""
     5559
     5560#: tpl/presets/standard.tpl.php:71
     5561msgid "Everything in Aggressive, Plus"
     5562msgstr ""
     5563
     5564#: tpl/presets/standard.tpl.php:72
     5565msgid "Lazy Load for Images"
     5566msgstr ""
     5567
     5568#: tpl/presets/standard.tpl.php:73
     5569msgid "Viewport Image Generation"
     5570msgstr ""
     5571
     5572#: tpl/presets/standard.tpl.php:74
     5573msgid "JS Delayed"
     5574msgstr ""
     5575
     5576#: tpl/presets/standard.tpl.php:75
     5577msgid "Inline JS added to Combine"
     5578msgstr ""
     5579
     5580#: tpl/presets/standard.tpl.php:76
     5581msgid "Inline CSS added to Combine"
     5582msgstr ""
     5583
     5584#: tpl/presets/standard.tpl.php:79
     5585msgid ""
     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."
     5589msgstr ""
     5590
     5591#: tpl/presets/standard.tpl.php:80
     5592msgid ""
     5593"A Domain Key is required to use this preset. Enables the maximum level of "
     5594"optimizations for improved page speed scores."
     5595msgstr ""
     5596
     5597#: tpl/presets/standard.tpl.php:87
     5598msgid "LiteSpeed Cache Standard Presets"
     5599msgstr ""
     5600
     5601#: tpl/presets/standard.tpl.php:91
     5602msgid ""
     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."
     5606msgstr ""
     5607
     5608#: tpl/presets/standard.tpl.php:116
     5609msgid "Who should use this preset?"
     5610msgstr ""
     5611
     5612#: tpl/presets/standard.tpl.php:126
     5613msgid ""
     5614"This will back up your current settings and replace them with the %1$s "
     5615"preset settings. Do you want to continue?"
     5616msgstr ""
     5617
     5618#: tpl/presets/standard.tpl.php:128
     5619msgid "Apply Preset"
     5620msgstr ""
     5621
     5622#: tpl/presets/standard.tpl.php:147
     5623msgid "unknown"
     5624msgstr ""
     5625
     5626#: tpl/presets/standard.tpl.php:158
     5627msgid "History"
     5628msgstr ""
     5629
     5630#: tpl/presets/standard.tpl.php:168
     5631msgid "Error: Failed to apply the settings %1$s"
     5632msgstr ""
     5633
     5634#: tpl/presets/standard.tpl.php:170
     5635msgid "Restored backup settings %1$s"
     5636msgstr ""
     5637
     5638#: tpl/presets/standard.tpl.php:173
     5639msgid "Applied the %1$s preset %2$s"
     5640msgstr ""
     5641
     5642#: tpl/presets/standard.tpl.php:184
     5643msgid "Backup created %1$s before applying the %2$s preset"
     5644msgstr ""
     5645
     5646#: tpl/presets/standard.tpl.php:188
     5647msgid ""
     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?"
     5650msgstr ""
     5651
     5652#: tpl/presets/standard.tpl.php:190
     5653msgid "Restore Settings"
     5654msgstr ""
     5655
     5656#: tpl/toolbox/beta_test.tpl.php:28
    54445657msgid "Try GitHub Version"
    54455658msgstr ""
    54465659
    5447 #: tpl/toolbox/beta_test.tpl.php:31
     5660#: tpl/toolbox/beta_test.tpl.php:32
    54485661msgid ""
    54495662"Use this section to switch plugin versions. To beta test a GitHub commit, "
     
    54515664msgstr ""
    54525665
    5453 #: tpl/toolbox/beta_test.tpl.php:36
     5666#: tpl/toolbox/beta_test.tpl.php:37
    54545667msgid "Use latest GitHub Dev commit"
    54555668msgstr ""
    54565669
    5457 #: tpl/toolbox/beta_test.tpl.php:38
     5670#: tpl/toolbox/beta_test.tpl.php:39
    54585671msgid "Use latest GitHub Master commit"
    54595672msgstr ""
    54605673
    5461 #: tpl/toolbox/beta_test.tpl.php:40 tpl/toolbox/beta_test.tpl.php:56
     5674#: tpl/toolbox/beta_test.tpl.php:41 tpl/toolbox/beta_test.tpl.php:57
    54625675msgid "Use latest WordPress release version"
    54635676msgstr ""
    54645677
    5465 #: tpl/toolbox/beta_test.tpl.php:40
     5678#: tpl/toolbox/beta_test.tpl.php:41
    54665679msgid "OR"
    54675680msgstr ""
    54685681
    5469 #: tpl/toolbox/beta_test.tpl.php:51
     5682#: tpl/toolbox/beta_test.tpl.php:52
    54705683msgid ""
    54715684"Downgrade not recommended. May cause fatal error due to refactored code."
    54725685msgstr ""
    54735686
    5474 #: tpl/toolbox/beta_test.tpl.php:55
     5687#: tpl/toolbox/beta_test.tpl.php:56
    54755688msgid ""
    54765689"Press the %s button to use the most recent GitHub commit. Master is for "
     
    54785691msgstr ""
    54795692
    5480 #: tpl/toolbox/beta_test.tpl.php:55
     5693#: tpl/toolbox/beta_test.tpl.php:56
    54815694msgid "Use latest GitHub Dev/Master commit"
    54825695msgstr ""
    54835696
    5484 #: tpl/toolbox/beta_test.tpl.php:56
     5697#: tpl/toolbox/beta_test.tpl.php:57
    54855698msgid ""
    54865699"Press the %s button to stop beta testing and go back to the current release "
     
    54885701msgstr ""
    54895702
    5490 #: tpl/toolbox/beta_test.tpl.php:61
     5703#: tpl/toolbox/beta_test.tpl.php:62
    54915704msgid ""
    54925705"In order to avoid an upgrade error, you must be using %1$s or later before "
     
    55245737#: tpl/toolbox/edit_htaccess.tpl.php:82
    55255738msgid "Current %s Contents"
    5526 msgstr ""
    5527 
    5528 #: tpl/toolbox/entry.tpl.php:10
    5529 msgid "Import / Export"
    55305739msgstr ""
    55315740
     
    59466155msgstr ""
    59476156
    5948 #: tpl/toolbox/settings-debug.tpl.php:82
    5949 msgid "Basic"
    5950 msgstr ""
    5951 
    59526157#: tpl/toolbox/settings-debug.tpl.php:84
    59536158msgid "Advanced level will log more details."
  • litespeed-cache/trunk/litespeed-cache.php

    r2781559 r2808204  
    44 * Plugin URI:        https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration
    55 * Description:       High-performance page caching and site optimization from LiteSpeed
    6  * Version:           5.2.1
     6 * Version:           5.3
    77 * Author:            LiteSpeed Technologies
    88 * Author URI:        https://www.litespeedtech.com
     
    3434}
    3535
    36 ! defined( 'LSCWP_V' ) && define( 'LSCWP_V', '5.2.1' );
     36! defined( 'LSCWP_V' ) && define( 'LSCWP_V', '5.3' );
    3737
    3838! defined( 'LSCWP_CONTENT_DIR' ) && define( 'LSCWP_CONTENT_DIR', WP_CONTENT_DIR ) ;
  • litespeed-cache/trunk/readme.txt

    r2781559 r2808204  
    33Tags: caching, optimize, performance, pagespeed, core web vitals, seo, speed, image optimize, compress, object cache, redis, memcached, database cleaner
    44Requires at least: 4.0
    5 Tested up to: 6.0.2
    6 Stable tag: 5.2.1
     5Tested up to: 6.0.3
     6Stable tag: 5.3
    77License: GPLv3
    88License URI: http://www.gnu.org/licenses/gpl.html
     
    250250
    251251== 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)
    252271
    253272= 5.2.1 - Sep 7 2022 =
  • litespeed-cache/trunk/src/admin-display.cls.php

    r2761310 r2808204  
    118118            // sub menus
    119119            $this->_add_submenu( __( 'Dashboard', 'litespeed-cache' ), 'litespeed', 'show_menu_dash' );
     120
     121            $this->_add_submenu( __( 'Presets', 'litespeed-cache' ), 'litespeed-presets', 'show_menu_presets' );
    120122
    121123            $this->_add_submenu( __( 'General', 'litespeed-cache' ), 'litespeed-general', 'show_menu_general' );
     
    322324        $str = Lang::maybe_translate( $str );
    323325
    324         return '<div class="' . $cls . '"><p>'. $str . '</p></div>';
     326        return '<div class="litespeed_icon ' . $cls . '"><p>'. $str . '</p></div>';
    325327    }
    326328
     
    585587     * Displays the General page.
    586588     *
     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     *
    587599     * @since 3.0
    588600     * @access public
  • litespeed-cache/trunk/src/admin.cls.php

    r2761310 r2808204  
    4242        add_filter( 'plugin_action_links_' . LSCWP_BASENAME, array( $this->cls( 'Admin_Display' ), 'add_plugin_links' ) );
    4343
    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         }
    6244    }
    6345
  • litespeed-cache/trunk/src/base.cls.php

    r2761310 r2808204  
    126126    const O_OPTM_UCSS               = 'optm-ucss';
    127127    const O_OPTM_UCSS_INLINE        = 'optm-ucss_inline';
    128     const O_OPTM_UCSS_WHITELIST     = 'optm-ucss_whitelist';
     128    const O_OPTM_UCSS_SELECTOR_WHITELIST    = 'optm-ucss_whitelist';
     129    const O_OPTM_UCSS_FILE_EXC_INLINE       = 'optm-ucss_file_exc_inline';
    129130    const O_OPTM_UCSS_EXC           = 'optm-ucss_exc';
    130131    const O_OPTM_CSS_EXC            = 'optm-css_exc';
     
    217218    const O_IMG_OPTM_LOSSLESS           = 'img_optm-lossless';
    218219    const O_IMG_OPTM_EXIF               = 'img_optm-exif';
    219     const O_IMG_OPTM_WEBP_REPLACE       = 'img_optm-webp_replace';
    220220    const O_IMG_OPTM_WEBP_ATTR          = 'img_optm-webp_attr';
    221221    const O_IMG_OPTM_WEBP_REPLACE_SRCSET = 'img_optm-webp_replace_srcset';
     
    414414        self::O_OPTM_UCSS               => false,
    415415        self::O_OPTM_UCSS_INLINE        => false,
    416         self::O_OPTM_UCSS_WHITELIST     => array(),
     416        self::O_OPTM_UCSS_SELECTOR_WHITELIST        => array(),
     417        self::O_OPTM_UCSS_FILE_EXC_INLINE           => array(),
    417418        self::O_OPTM_UCSS_EXC           => array(),
    418419        self::O_OPTM_CSS_EXC            => array(),
     
    497498        self::O_IMG_OPTM_LOSSLESS       => false,
    498499        self::O_IMG_OPTM_EXIF           => false,
    499         self::O_IMG_OPTM_WEBP_REPLACE   => false,
    500500        self::O_IMG_OPTM_WEBP_ATTR      => array(),
    501501        self::O_IMG_OPTM_WEBP_REPLACE_SRCSET    => false,
     
    589589        self::O_DEBUG_EXC_STRINGS       => array(),
    590590
    591         self::O_IMG_OPTM_WEBP_REPLACE   => false,
     591        self::O_IMG_OPTM_WEBP           => false,
    592592
    593593    );
  • litespeed-cache/trunk/src/cdn-setup.cls.php

    r2761310 r2808204  
    157157            if (!$json) {
    158158                return;
    159             } else if (is_string($json)) {
     159            } else if (is_string($json) && $json != 'unauthorized access to REST API.') {
    160160                self::save_summary( array( 'cdn_setup_err' => $json ) );
    161161                return;
     
    192192            unset( $this->_summary[ 'cdn_dns_summary' ] );
    193193        }
    194         self::save_summary();
     194        self::save_summary($this->_summary, false, true);
    195195
    196196        $this->_setup_token = '';
     
    231231            'ref'           => get_admin_url( null, 'admin.php?page=litespeed-cdn' ),
    232232        );
    233 
    234         if ($this->_api_key) {
    235             $data['domain_hash'] = md5( substr( $this->_api_key, 0, 8 ) );
     233        $api_key = $this->conf( self::O_API_KEY );
     234        if ($api_key) {
     235            $data['domain_hash'] = md5( substr( $api_key, 0, 8 ) );
    236236        }
    237237
     
    278278        );
    279279
    280         if ( $this->_api_key ) {
    281             $data['domain_hash'] = md5( substr( $this->_api_key, 0, 8 ) );
     280        $api_key = $this->conf( self::O_API_KEY );
     281        if ($api_key) {
     282            $data['domain_hash'] = md5( substr( $api_key, 0, 8 ) );
    282283        }
    283284
  • litespeed-cache/trunk/src/cloud.cls.php

    r2781559 r2808204  
    105105    const TYPE_SYNC_USAGE       = 'sync_usage';
    106106
    107     private $_api_key;
    108107    private $_setup_token;
    109108    protected $_summary;
     
    115114     */
    116115    public function __construct() {
    117         $this->_api_key = $this->conf( self::O_API_KEY );
    118116        $this->_setup_token = $this->conf( self::O_QC_TOKEN );
    119117        $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 );
    120126    }
    121127
     
    523529        $param = array(
    524530            'site_url'      => home_url(),
    525             'domain_key'    => $this->_api_key,
     531            'domain_key'    => $this->_api_key(),
    526532            'main_domain'   => ! empty( $this->_summary[ 'main_domain' ] ) ? $this->_summary[ 'main_domain' ] : '',
    527533            'ver'           => Core::VER,
     
    565571        }
    566572
    567         if ( $service_tag == self::SVC_D_SYNC_CONF && $this->_setup_token && ! $this->_api_key ) {
     573        if ( $service_tag == self::SVC_D_SYNC_CONF && $this->_setup_token && ! $this->_api_key() ) {
    568574            self::debug( "Skip sync conf if API key is not available yet." );
    569575            return false;
     
    581587        else {
    582588            // For all other requests, if is under debug mode, will always allow
    583             if ( $this->conf( self::O_DEBUG ) && $this->_api_key ) {
     589            if ( $this->conf( self::O_DEBUG ) && $this->_api_key() ) {
    584590                return true;
    585591            }
     
    604610        }
    605611
    606         if ( ! $this->_api_key ) {
     612        if ( ! $this->_api_key() ) {
    607613            Admin_Display::error( Error::msg( 'lack_of_api_key' ) );
    608614            return false;
     
    654660        $param = array(
    655661            'site_url'      => home_url(),
    656             'domain_key'    => $this->_api_key,
     662            'domain_key'    => $this->_api_key(),
    657663            'main_domain'   => ! empty( $this->_summary[ 'main_domain' ] ) ? $this->_summary[ 'main_domain' ] : '',
    658664            'ver'           => Core::VER,
     
    905911        }
    906912
    907         if ( ! $this->_api_key || $_POST[ 'hash' ] !== md5( substr( $this->_api_key, 1, 8 ) ) ) {
     913        if ( ! $this->_api_key() || $_POST[ 'hash' ] !== md5( substr( $this->_api_key(), 1, 8 ) ) ) {
    908914            return self::err( 'wrong_hash' );
    909915        }
     
    912918
    913919        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 );
     920            if ( $_POST[ 'alias' ] == home_url() ) $this->_remove_domain_from_err_list( $_POST[ 'alias' ] );
     921
     922            $res_hash = substr( $this->_api_key(), 2, 4 );
    917923
    918924            self::debug( '__callback IP request hash: md5(' . $res_hash . ')' );
     
    983989            Admin_Display::error( __( 'Cloud REST Error', 'litespeed-cache' ) . ': ' . $error_message );
    984990            return $error_message;
     991        } else if ( wp_remote_retrieve_response_code( $response ) == '401' ) {
     992            return 'unauthorized access to REST API.';
    985993        }
    986994
     
    10111019     */
    10121020    public function show_promo() {
    1013         // if ( ! $this->_api_key && ! defined( 'LITESPEED_DISMISS_DOMAIN_KEY' ) ) {
     1021        // if ( ! $this->_api_key() && ! defined( 'LITESPEED_DISMISS_DOMAIN_KEY' ) ) {
    10141022        //  Admin_Display::error( Error::msg( 'lack_of_api_key' ), true );
    10151023        // }
     
    10711079        }
    10721080
    1073         if ( empty( $this->_api_key ) ) {
     1081        if ( empty( $this->_api_key() ) ) {
    10741082            self::debug( 'Lack of API key' );
    10751083            return self::err( 'lack_of_api_key' );
    10761084        }
    10771085
    1078         $to_validate = substr( $this->_api_key, 0, 4 );
     1086        $to_validate = substr( $this->_api_key(), 0, 4 );
    10791087        if ( $_POST[ 'hash' ] !== md5( $to_validate ) ) {
    10801088            self::debug( '__callback IP request hash wrong: md5(' . $to_validate . ') !== ' . $_POST[ 'hash' ] );
     
    10841092        Control::set_nocache( 'Cloud IP hash validation' );
    10851093
    1086         $res_hash = substr( $this->_api_key, 2, 4 );
     1094        $res_hash = substr( $this->_api_key(), 2, 4 );
    10871095
    10881096        self::debug( '__callback IP request hash: md5(' . $res_hash . ')' );
     
    12561264     */
    12571265    public function can_link_qc() {
    1258         return empty( $this->_summary[ 'is_linked' ] ) && $this->_api_key;
     1266        return empty( $this->_summary[ 'is_linked' ] ) && $this->_api_key();
    12591267    }
    12601268
     
    12711279        $data = array(
    12721280            'site_url'      => home_url(),
    1273             'domain_hash'   => md5( substr( $this->_api_key, 0, 8 ) ),
     1281            'domain_hash'   => md5( substr( $this->_api_key(), 0, 8 ) ),
    12741282            'ref'           => get_admin_url( null, 'admin.php?page=litespeed-general' ),
    12751283        );
     
    12941302        $extraRet = array();
    12951303        $qsDrop = array();
    1296         if ( ! $this->_api_key && ! empty( $this->_summary[ 'is_linked' ] ) ) {
     1304        if ( ! $this->_api_key() && ! empty( $this->_summary[ 'is_linked' ] ) ) {
    12971305            $this->_summary[ 'is_linked' ] = 0;
    12981306            self::save_summary();
     
    13061314        if ( ! empty( $_GET[ 'domain_hash' ] ) ) {
    13071315
    1308             if ( md5( substr( $this->_api_key, 2, 8 ) ) !== $_GET[ 'domain_hash' ] ) {
     1316            if ( md5( substr( $this->_api_key(), 2, 8 ) ) !== $_GET[ 'domain_hash' ] ) {
    13091317                Admin_Display::error( __( 'Domain Key hash mismatch', 'litespeed-cache' ), true );
    13101318                return $extraRet;
  • litespeed-cache/trunk/src/conf.cls.php

    r2771786 r2808204  
    489489
    490490                // 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_REPLACE || $id == self::O_GUEST || $id == self::O_CACHE_MOBILE ) {
     491                if ( $id == self::O_IMG_OPTM_WEBP || $id == self::O_GUEST || $id == self::O_CACHE_MOBILE ) {
    492492                    $this->cls( 'Crawler' )->clear_disabled_list();
    493493                }
     
    660660        }
    661661
    662         return in_array( $role, $this->conf( self::O_OPTM_EXC_ROLES ) ) ? $role : false;
     662        $roles = explode( ',', $role );
     663        $found = array_intersect( $roles, $this->conf( self::O_OPTM_EXC_ROLES ) );
     664
     665        return $found ? implode(',', $found) : false;
    663666    }
    664667
  • litespeed-cache/trunk/src/control.cls.php

    r2781559 r2808204  
    1313
    1414class Control extends Root {
     15    const LOG_TAG = '💵';
     16
    1517    const BM_CACHEABLE = 1;
    1618    const BM_PRIVATE = 2;
     
    9294        }
    9395
    94         return in_array( $role, $this->conf( Base::O_CACHE_EXC_ROLES ) ) ? $role : false;
     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;
    95100    }
    96101
     
    496501    public function check_redirect( $location, $status ) { // TODO: some env don't have SCRIPT_URI but only REQUEST_URI, need to be compatible
    497502        if ( ! empty( $_SERVER[ 'SCRIPT_URI' ] ) ) { // dont check $status == '301' anymore
    498             Debug2::debug( "[Ctrl] 301 from " . $_SERVER[ 'SCRIPT_URI' ] );
    499             Debug2::debug( "[Ctrl] 301 to $location" );
     503            self::debug( "301 from " . $_SERVER[ 'SCRIPT_URI' ] );
     504            self::debug( "301 to $location" );
    500505
    501506            $to_check = array(
     
    509514
    510515            foreach ( $to_check as $v ) {
    511                 if ( parse_url( $_SERVER[ 'SCRIPT_URI' ], $v ) != parse_url( $location, $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 ) {
    512527                    $is_same_redirect = false;
    513                     Debug2::debug( "[Ctrl] 301 different redirection" );
     528                    self::debug( "301 different redirection" );
    514529                    break;
    515530                }
  • litespeed-cache/trunk/src/core.cls.php

    r2761310 r2808204  
    7777
    7878        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
    79100        add_action( 'after_setup_theme', array( $this, 'init' ) );
    80101
    81102        // Check if there is a purge request in queue
    82         $purge_queue = Purge::get_option( Purge::DB_QUEUE );
    83         if ( $purge_queue && $purge_queue != -1 ) {
    84             @header( $purge_queue );
    85             Debug2::debug( '[Core] Purge Queue found&sent: ' . $purge_queue );
    86         }
    87         if ( $purge_queue != -1 ) {
    88             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
    89         }
    90         $purge_queue = Purge::get_option( Purge::DB_QUEUE2 );
    91         if ( $purge_queue && $purge_queue != -1 ) {
    92             @header( $purge_queue );
    93             Debug2::debug( '[Core] Purge2 Queue found&sent: ' . $purge_queue );
    94         }
    95         if ( $purge_queue != -1 ) {
    96             Purge::update_option( Purge::DB_QUEUE2, -1 );
     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            }
    97121        }
    98122
     
    191215        // Load 3rd party hooks
    192216        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
    193221    }
    194222
     
    547575        // send Control header
    548576        if ( defined( 'LITESPEED_ON' ) && $control_header ) {
    549             @header( $control_header );
    550             if ( defined( 'LSCWP_LOG' ) ) {
    551                 Debug2::debug( '💰 ' . $control_header );
    552                 if ( $running_info_showing ) {
    553                     $this->footer_comment .= "\n<!-- " . $control_header . " -->";
    554                 }
     577            $this->_http_header( $control_header );
     578            if ( defined( 'LSCWP_LOG' ) && $running_info_showing) {
     579                $this->footer_comment .= "\n<!-- " . $control_header . " -->";
    555580            }
    556581        }
    557582        // send PURGE header (Always send regardless of cache setting disabled/enabled)
    558583        if ( defined( 'LITESPEED_ON' ) && $purge_header ) {
    559             @header( $purge_header );
     584            $this->_http_header( $purge_header );
    560585            Debug2::log_purge( $purge_header );
    561586
    562             if ( defined( 'LSCWP_LOG' ) ) {
    563                 Debug2::debug( '💰 ' . $purge_header );
    564                 if ( $running_info_showing ) {
    565                     $this->footer_comment .= "\n<!-- " . $purge_header . " -->";
    566                 }
     587            if ( defined( 'LSCWP_LOG' ) && $running_info_showing) {
     588                $this->footer_comment .= "\n<!-- " . $purge_header . " -->";
    567589            }
    568590        }
    569591        // send Vary header
    570592        if ( defined( 'LITESPEED_ON' ) && $vary_header ) {
    571             @header( $vary_header );
    572             if ( defined( 'LSCWP_LOG' ) ) {
    573                 Debug2::debug( '💰 ' . $vary_header );
    574                 if ( $running_info_showing ) {
    575                     $this->footer_comment .= "\n<!-- " . $vary_header . " -->";
    576                 }
     593            $this->_http_header( $vary_header );
     594            if ( defined( 'LSCWP_LOG' ) && $running_info_showing ) {
     595                $this->footer_comment .= "\n<!-- " . $vary_header . " -->";
    577596            }
    578597        }
     
    593612                $debug_header .= $vary_header . '; ';
    594613            }
    595             @header( $debug_header );
    596             Debug2::debug( $debug_header );
     614            $this->_http_header( $debug_header );
    597615        }
    598616        else {
    599617            // Control header
    600618            if ( defined( 'LITESPEED_ON' ) && Control::is_cacheable() && $tag_header ) {
    601                 @header( $tag_header );
    602                 if ( defined( 'LSCWP_LOG' ) ) {
    603                     Debug2::debug( '💰 ' . $tag_header );
    604                     if ( $running_info_showing ) {
    605                         $this->footer_comment .= "\n<!-- " . $tag_header . " -->";
    606                     }
     619                $this->_http_header( $tag_header );
     620                if ( defined( 'LSCWP_LOG' ) && $running_info_showing ) {
     621                    $this->footer_comment .= "\n<!-- " . $tag_header . " -->";
    607622                }
    608623            }
     
    622637        }
    623638
     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 );
    624676    }
    625677
  • litespeed-cache/trunk/src/crawler.cls.php

    r2781559 r2808204  
    157157        );
    158158
     159        wp_cache_delete( 'alloptions', 'options' ); // ensure the summary is current
    159160        $summary = parent::get_summary();
    160161        $summary = array_merge( $_default, $summary );
     
    881882
    882883        // WebP on/off
    883         if ( $this->conf( Base::O_IMG_OPTM_WEBP_REPLACE ) ) {
     884        if ( $this->conf( Base::O_GUEST ) || $this->conf( Base::O_IMG_OPTM_WEBP ) ) {
    884885            $crawler_factors[ 'webp' ] = array( 1 => 'WebP', 0 => '' );
    885886        }
  • litespeed-cache/trunk/src/data.upgrade.func.php

    r2781559 r2808204  
    400400        'media_optm_ori'            => 'img_optm-ori',
    401401        'media_rm_ori_bkup'         => 'img_optm-rm_bkup',
    402         'media_optm_webp'           => 'img_optm-webp',
     402        // 'media_optm_webp'            => 'img_optm-webp',
     403        'media_webp_replace'        => 'img_optm-webp',
    403404        'media_optm_lossless'       => 'img_optm-lossless',
    404405        'media_optm_exif'           => 'img_optm-exif',
    405         'media_webp_replace'        => 'img_optm-webp_replace',
    406406        'media_webp_replace_srcset' => 'img_optm-webp_replace_srcset',
    407407
     
    589589                'cache_browser_ttl'         => 'cache-ttl_browser',
    590590
    591                 'media_webp_replace'        => 'img_optm-webp_replace',
     591                'media_webp_replace'        => 'img_optm-webp',
    592592            ) ;
    593593            foreach ( $data as $k => $v ) {
  • litespeed-cache/trunk/src/debug2.cls.php

    r2764804 r2808204  
    303303                    $addr .= $_SERVER[ 'USER' ];
    304304                }
    305                 elseif ( $_SERVER[ 'HTTP_X_FORWARDED_FOR' ] ) {
     305                elseif ( !empty($_SERVER[ 'HTTP_X_FORWARDED_FOR' ]) ) {
    306306                    $addr .= $_SERVER[ 'HTTP_X_FORWARDED_FOR' ];
    307307                }
  • litespeed-cache/trunk/src/htaccess.cls.php

    r2761310 r2808204  
    563563
    564564        // webp support
    565         $id = Base::O_IMG_OPTM_WEBP_REPLACE;
     565        $id = Base::O_IMG_OPTM_WEBP;
    566566        if ( ! empty( $cfg[ $id ] ) || ! empty( $cfg[ Base::O_GUEST ] ) ) {
    567567            $new_rules[] = self::MARKER_WEBP . self::MARKER_START;
  • litespeed-cache/trunk/src/lang.cls.php

    r2761310 r2808204  
    142142            self::O_OPTM_UCSS                   => __( 'Generate UCSS', 'litespeed-cache' ),
    143143            self::O_OPTM_UCSS_INLINE            => __( 'UCSS Inline', 'litespeed-cache' ),
    144             self::O_OPTM_UCSS_WHITELIST         => __( 'UCSS Allowlist', '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' ),
    145146            self::O_OPTM_UCSS_EXC               => __( 'UCSS URI Excludes', 'litespeed-cache' ),
    146147            self::O_OPTM_JS_MIN                 => __( 'JS Minify', 'litespeed-cache' ),
     
    204205            self::O_IMG_OPTM_ORI                => __( 'Optimize Original Images', 'litespeed-cache' ),
    205206            self::O_IMG_OPTM_RM_BKUP            => __( 'Remove Original Backups', 'litespeed-cache' ),
    206             self::O_IMG_OPTM_WEBP               => __( 'Create WebP Versions', 'litespeed-cache' ),
     207            self::O_IMG_OPTM_WEBP               => __( 'Image WebP Replacement', 'litespeed-cache' ),
    207208            self::O_IMG_OPTM_LOSSLESS           => __( 'Optimize Losslessly', 'litespeed-cache' ),
    208209            self::O_IMG_OPTM_EXIF               => __( 'Preserve EXIF/XMP data', 'litespeed-cache' ),
     
    221222            self::O_CACHE_EXC_USERAGENTS        => __( 'Do Not Cache User Agents', 'litespeed-cache' ),
    222223            self::O_CACHE_LOGIN_COOKIE          => __( 'Login Cookie', 'litespeed-cache' ),
    223             self::O_IMG_OPTM_WEBP_REPLACE       => __( 'Image WebP Replacement', 'litespeed-cache' ),
    224224
    225225            self::O_MISC_HEARTBEAT_FRONT        => __( 'Frontend Heartbeat Control', 'litespeed-cache' ),
  • litespeed-cache/trunk/src/media.cls.php

    r2761310 r2808204  
    4444
    4545        // 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_REPLACE ) ) {
     46        if ( defined( 'LITESPEED_GUEST_OPTM' ) || $this->conf( Base::O_IMG_OPTM_WEBP ) ) {
    4747            if ( $this->webp_support() ) {
    4848                // Hook to srcset
     
    447447         * @since 1.6.2
    448448         */
    449         if ( ( defined( 'LITESPEED_GUEST_OPTM' ) || $this->conf( Base::O_IMG_OPTM_WEBP_REPLACE ) ) && $this->webp_support() ) {
     449        if ( ( defined( 'LITESPEED_GUEST_OPTM' ) || $this->conf( Base::O_IMG_OPTM_WEBP ) ) && $this->webp_support() ) {
    450450            $this->content = $this->_replace_buffer_img_webp( $this->content );
    451451        }
     
    522522        // Include lazyload lib js and init lazyload
    523523        if ( $cfg_lazy || $cfg_iframe_lazy ) {
    524             $lazy_lib = '<script data-no-optimize="1" defer>' . File::read( LSCWP_DIR . self::LIB_FILE_IMG_LAZYLOAD ) . '</script>';
     524            $lazy_lib = '<script data-no-optimize="1">' . File::read( LSCWP_DIR . self::LIB_FILE_IMG_LAZYLOAD ) . '</script>';
    525525            $this->content = str_replace( '</body>', $lazy_lib . '</body>', $this->content );
    526526        }
     
    811811
    812812        // Replace background-image
    813         if ( ( defined( 'LITESPEED_GUEST_OPTM' ) || $this->conf( Base::O_IMG_OPTM_WEBP_REPLACE ) ) && $this->webp_support() ) {
     813        if ( ( defined( 'LITESPEED_GUEST_OPTM' ) || $this->conf( Base::O_IMG_OPTM_WEBP ) ) && $this->webp_support() ) {
    814814            $content = $this->replace_background_webp( $content );
    815815        }
  • litespeed-cache/trunk/src/metabox.cls.php

    r2771786 r2808204  
    5151            return;
    5252        }
     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        }
    5358        add_meta_box( 'litespeed_meta_boxes', __( 'LiteSpeed Options', 'litespeed-cache' ), array( $this, 'meta_box_options' ), $post_type, 'side', 'core' );
    5459    }
     
    98103        // Check if has metabox non-cacheable setting or not
    99104        if ( ! $post_id ) {
     105            $home_id = get_option( 'page_for_posts' );
    100106            if ( is_singular() ) {
    101107                $post_id = get_the_ID();
    102 
     108            } elseif ( $home_id > 0 && is_home() ) {
     109                $post_id = $home_id;
    103110            }
    104111        }
  • litespeed-cache/trunk/src/optimize.cls.php

    r2764804 r2808204  
    682682        $html_list_ori = $html_list;
    683683
    684         $can_webp = ( defined( 'LITESPEED_GUEST_OPTM' ) || $this->conf( Base::O_IMG_OPTM_WEBP_REPLACE ) ) && $this->cls( 'Media' )->webp_support();
     684        $can_webp = ( defined( 'LITESPEED_GUEST_OPTM' ) || $this->conf( Base::O_IMG_OPTM_WEBP ) ) && $this->cls( 'Media' )->webp_support();
    685685
    686686        $tag = $file_type == 'css' ? 'link' : 'script';
     
    969969    private function _parse_css() {
    970970        $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 ) );
    971972
    972973        $combine_ext_inl = $this->conf( self::O_OPTM_CSS_COMB_EXT_INL );
     
    10101011                    // Delete this css snippet from orig html
    10111012                    $this->content = str_replace( $match[ 0 ], '', $this->content );
     1013
     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 );
    10121023
    10131024                    continue;
  • litespeed-cache/trunk/src/optimizer.cls.php

    r2764804 r2808204  
    162162            $content = $this->cls( 'CDN' )->finalize( $content );
    163163
    164             if ( ( defined( 'LITESPEED_GUEST_OPTM' ) || $this->conf( Base::O_IMG_OPTM_WEBP_REPLACE ) ) && $this->cls( 'Media' )->webp_support() ) {
     164            if ( ( defined( 'LITESPEED_GUEST_OPTM' ) || $this->conf( Base::O_IMG_OPTM_WEBP ) ) && $this->cls( 'Media' )->webp_support() ) {
    165165                $content = $this->cls( 'Media' )->replace_background_webp( $content );
    166166            }
  • litespeed-cache/trunk/src/purge.cls.php

    r2781559 r2808204  
    178178     */
    179179    private function _purge_all( $reason = false ) {
    180         $this->_purge_all_lscache( true );
    181         $this->_purge_all_cssjs( true );
    182         $this->_purge_all_localres( true );
    183         // $this->_purge_all_ccss( true );
    184         // $this->_purge_all_lqip( true );
    185         $this->_purge_all_object( true );
    186         $this->purge_all_opcache( true );
     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        // }
    187194
    188195        if ( ! is_string( $reason ) ) {
     
    11371144
    11381145        global $wp_widget_factory;
    1139         $recent_posts = $wp_widget_factory->widgets['WP_Widget_Recent_Posts'];
    1140         if ( ! is_null($recent_posts) ) {
    1141             $purge_tags[] = Tag::TYPE_WIDGET . $recent_posts->id;
     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;
    11421149        }
    11431150
  • litespeed-cache/trunk/src/router.cls.php

    r2764804 r2808204  
    3131    const ACTION_UCSS = 'ucss';
    3232    const ACTION_VPI = 'vpi';
     33    const ACTION_PRESET = 'preset';
    3334    const ACTION_IMPORT = 'import';
    3435    const ACTION_REPORT = 'report';
     
    5253        self::ACTION_HEALTH,
    5354        self::ACTION_IMG_OPTM,
     55        self::ACTION_PRESET,
    5456        self::ACTION_IMPORT,
    5557        self::ACTION_PLACEHOLDER,
     
    298300            if ( isset( $user->roles ) && is_array( $user->roles ) ) {
    299301                $tmp = array_values( $user->roles );
    300                 $role = array_shift( $tmp );
     302                $role = implode( ',', $tmp ); // Combine for PHP5.3 const comaptibility
    301303            }
    302304        }
     
    567569            case self::ACTION_CDN_CLOUDFLARE:
    568570            case self::ACTION_CRAWLER:
     571            case self::ACTION_PRESET:
    569572            case self::ACTION_IMPORT:
    570573            case self::ACTION_REPORT:
  • litespeed-cache/trunk/src/ucss.cls.php

    r2781559 r2808204  
    131131     */
    132132    public function add_to_q($url_files) {
    133         return; // will enable in v5.4
    134133        // Store it for cron
    135134        $this->_queue = $this->load_queue( 'ucss' );
     
    160159            ); // Current UA will be used to request
    161160
     161            self::debug( 'Added queue_ucss [url_tag] ' . $url_tag . ' [UA] ' . $ua . ' [vary] ' . $vary  . ' [uid] false' );
    162162            $this->_queue[ $queue_k ] = $q;
    163163        }
    164164        $this->save_queue( 'ucss', $this->_queue );
    165         self::debug( 'Added queue_ucss [url_tag] ' . $url_tag . ' [UA] ' . $ua . ' [vary] ' . $vary  . ' [uid] false' );
    166165
    167166
     
    466465    private function _filter_whitelist() {
    467466        $whitelist = array();
    468         $list = apply_filters( 'litespeed_ucss_whitelist', $this->conf( self::O_OPTM_UCSS_WHITELIST ) );
     467        $list = apply_filters( 'litespeed_ucss_whitelist', $this->conf( self::O_OPTM_UCSS_SELECTOR_WHITELIST ) );
    469468        foreach ( $list as $k => $v ) {
    470469            if ( substr( $v, 0, 2 ) === '//' ) {
  • litespeed-cache/trunk/src/vary.cls.php

    r2761310 r2808204  
    430430        $group = 0;
    431431        $vary_groups = $this->conf( Base::O_CACHE_VARY_GROUP );
    432         if ( array_key_exists( $role, $vary_groups ) ) {
    433             $group = $vary_groups[ $role ];
    434         }
    435         elseif ( $role === 'administrator' ) {
     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 ) ) {
    436442            $group = 99;
    437443        }
  • litespeed-cache/trunk/src/vpi.cls.php

    r2771786 r2808204  
    4444        }
    4545
    46         if ( ! is_singular() ) {
     46        $home_id = get_option( 'page_for_posts' );
     47
     48        if ( ! is_singular() && ! ( $home_id > 0 && is_home() ) ) {
    4749            self::debug( 'not single post ID' );
    4850            return;
    4951        }
    5052
    51         $post_id = get_the_ID();
     53        $post_id = is_home() ? $home_id : get_the_ID();
    5254
    5355        $queue_k = ( $is_mobile ? 'mobile' : '' ) . ' ' . $request_url;
  • litespeed-cache/trunk/thirdparty/woocommerce.cls.php

    r2771786 r2808204  
    2121    const CACHETAG_SHOP = 'WC_S' ;
    2222    const CACHETAG_TERM = 'WC_T.' ;
    23     const O_ESI_CACHE_CART = 'wc_esi_cache_cart';
    2423    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' ;
    2724    const O_PQS_CS = 0 ; // flush product on quantity + stock change, categories on stock change
    2825    const O_PS_CS = 1 ; // flush product and categories on stock change
     
    3633    const ESI_PARAM_LOCATED = 'wc_located' ;
    3734
    38     private $cache_cart ;
    3935    private $esi_enabled ;
    4036
     
    6561        $this->_option_append() ;
    6662
    67         $this->cache_cart = apply_filters( 'litespeed_conf', self::O_WOO_CACHE_CART ) ;
    6863        $this->esi_enabled = apply_filters( 'litespeed_esi_status', false );
    6964
     
    8984            if ( function_exists( 'is_product' ) && is_product() ) {
    9085                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' ) );
    10186            }
    10287
     
    10994            add_action( 'litespeed_settings_content', array( $this, 'settings_add_content' ) );
    11095            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             }
    13196        }
    13297
     
    551516        }
    552517
    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 
    560518        // For later versions, DONOTCACHEPAGE should be set.
    561519        // No need to check uri/qs.
     
    575533                 * @since  1.4
    576534                 */
    577                 $page_ids = array_filter( array( wc_get_page_id( 'cart' ), wc_get_page_id( 'checkout' ), wc_get_page_id( 'myaccount' ) ) );
     535                $page_ids = array_filter( array( wc_get_page_id( 'checkout' ), wc_get_page_id( 'myaccount' ) ) );
    578536                if ( isset( $_GET['download_file'] ) || isset( $_GET['add-to-cart'] ) || is_page( $page_ids ) ) {
    579537                    $err = 'woo non cacheable pages' ;
    580538                }
    581                 elseif ( is_null($woocom->cart) ) {
    582                     $err = 'null cart' ;
    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                     }
     539                elseif ( is_page( wc_get_page_id( 'cart' ) ) && $woocom->cart->get_cart_contents_count() !== 0 ) {
     540                    $err = 'cart is not empty' ;
    607541                }
    608542                elseif ( function_exists( 'wc_notice_count' ) && wc_notice_count() > 0 ) {
     
    771705        do_action( 'litespeed_conf_multi_switch', self::O_UPDATE_INTERVAL, 3 ); // This need to be before conf_append
    772706
    773         do_action( 'litespeed_conf_append', self::O_ESI_CACHE_CART, true );
    774707        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 );
    777708    }
    778709
  • litespeed-cache/trunk/thirdparty/woocommerce.content.tpl.php

    r2554181 r2808204  
    2828    <tr>
    2929        <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>
    4230            <?php $id = self::O_UPDATE_INTERVAL; ?>
    4331            <?php echo __( 'Product Update Interval', 'litespeed-cache' ); ?>
     
    6755    </tr>
    6856
    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 
    9657</tbody></table>
    9758
  • litespeed-cache/trunk/tpl/cdn/auto_setup.tpl.php

    r2761310 r2808204  
    118118                                    false,
    119119                                    'litespeed-link-with-icon' ); ?>
    120             <?php Doc::learn_more( Cloud::CLOUD_SERVER_DASH . '/dns/records/' . $dom . '.',
     120            <?php Doc::learn_more( Cloud::CLOUD_SERVER_DASH . '/dns/find/' . $dom,
    121121                                    __( 'Manage DNS Zone', 'litespeed-cache' ) . ' <span class="dashicons dashicons-external"></span>',
    122122                                    false,
     
    173173        <p>
    174174            <?php echo __( 'Is something missing?', 'litespeed-cache' ) ; ?>
    175             <?php Doc::learn_more( Cloud::CLOUD_SERVER_DASH . '/dns/records/' . $dom . '.',
     175            <?php Doc::learn_more( Cloud::CLOUD_SERVER_DASH . '/dns/find/' . $dom,
    176176                                    __( 'Review DNS records', 'litespeed-cache' ) . ' <span class="dashicons dashicons-external"></span>',
    177177                                    false,
  • litespeed-cache/trunk/tpl/general/entry.tpl.php

    r2554181 r2808204  
    4040    <div class="litespeed-body">
    4141    <?php
    42         $this->form_action();
    4342
    4443        // include all tpl for faster UE
     
    4948        }
    5049
    51         $this->form_end();
    5250    ?>
    5351    </div>
  • litespeed-cache/trunk/tpl/general/network_settings.tpl.php

    r2524344 r2808204  
    33defined( 'WPINC' ) || exit;
    44
     5$this->form_action();
    56?>
    67
  • litespeed-cache/trunk/tpl/general/settings.tpl.php

    r2761310 r2808204  
    3737}
    3838
     39$this->form_action();
    3940?>
    4041
     
    195196                </font>
    196197                <?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; ?>
    203198            </div>
    204199        </td>
     
    237232
    238233</tbody></table>
     234
     235<?php $this->form_end(); ?>
  • litespeed-cache/trunk/tpl/general/settings_tuning.tpl.php

    r2574982 r2808204  
    33defined( 'WPINC' ) || exit;
    44
     5$this->form_action();
    56?>
    67<h3 class="litespeed-title-short">
     
    5455    </tr>
    5556</tbody></table>
     57
     58<?php $this->form_end(); ?>
  • litespeed-cache/trunk/tpl/img_optm/settings.media_webp.tpl.php

    r2595736 r2808204  
    66    <tr>
    77        <th>
    8             <?php $id = Base::O_IMG_OPTM_WEBP_REPLACE; ?>
     8            <?php $id = Base::O_IMG_OPTM_WEBP; ?>
    99            <?php $this->title( $id ); ?>
    1010        </th>
     
    1212            <?php $this->build_switch( $id ); ?>
    1313            <div class="litespeed-desc">
     14                <?php echo __( 'Request WebP versions of original images when doing optimization.', 'litespeed-cache' ); ?>
    1415                <?php echo sprintf( __( 'Significantly improve load time by replacing images with their optimized %s versions.', 'litespeed-cache' ), '.webp' ); ?>
    1516                <br /><?php Doc::notice_htaccess(); ?>
  • litespeed-cache/trunk/tpl/img_optm/settings.tpl.php

    r2354196 r2808204  
    9999    </tr>
    100100
    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 
    114101    <?php
    115102        if ( ! is_multisite() ) :
  • litespeed-cache/trunk/tpl/page_optm/entry.tpl.php

    r2761310 r2808204  
    1212    'settings_localization'     => __( 'Localization', 'litespeed-cache' ),
    1313    'settings_tuning'           => __( 'Tuning', 'litespeed-cache' ),
     14    'settings_tuning_css'           => __( 'Tuning', 'litespeed-cache' ) . ' - CSS',
    1415);
    1516
  • litespeed-cache/trunk/tpl/page_optm/settings_tuning.tpl.php

    r2683957 r2808204  
    2323    <tr>
    2424        <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>
    4625            <?php $id = Base::O_OPTM_JS_EXC; ?>
    4726            <?php $this->title( $id ); ?>
     
    5938                    <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/js_excludes.txt" target="_blank">https://github.com/litespeedtech/lscache_wp/blob/dev/data/js_excludes.txt</a>
    6039                </font>
    61             </div>
    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' ) ); ?>
    14940            </div>
    15041        </td>
  • litespeed-cache/trunk/tpl/toolbox/beta_test.tpl.php

    r2781559 r2808204  
    55// Existing public version list
    66$v_list = array(
     7    '5.3',
    78    '5.2.1',
    89    '5.2',
Note: See TracChangeset for help on using the changeset viewer.