Changeset 3281183
- Timestamp:
- 04/24/2025 05:30:14 PM (11 months ago)
- Location:
- litespeed-cache
- Files:
-
- 342 added
- 47 edited
-
tags/7.1 (added)
-
tags/7.1/LICENSE (added)
-
tags/7.1/assets (added)
-
tags/7.1/assets/css (added)
-
tags/7.1/assets/css/fonts (added)
-
tags/7.1/assets/css/fonts/litespeedfont.eot (added)
-
tags/7.1/assets/css/fonts/litespeedfont.svg (added)
-
tags/7.1/assets/css/fonts/litespeedfont.ttf (added)
-
tags/7.1/assets/css/fonts/litespeedfont.woff (added)
-
tags/7.1/assets/css/iziModal.min.css (added)
-
tags/7.1/assets/css/litespeed-legacy.css (added)
-
tags/7.1/assets/css/litespeed.css (added)
-
tags/7.1/assets/img (added)
-
tags/7.1/assets/img/Litespeed.icon.svg (added)
-
tags/7.1/assets/img/iconlscwp.svg (added)
-
tags/7.1/assets/img/icons (added)
-
tags/7.1/assets/img/icons/all.svg (added)
-
tags/7.1/assets/img/icons/all_transients.svg (added)
-
tags/7.1/assets/img/icons/auto_draft.svg (added)
-
tags/7.1/assets/img/icons/cross_icon.svg (added)
-
tags/7.1/assets/img/icons/db.svg (added)
-
tags/7.1/assets/img/icons/empty-cache.svg (added)
-
tags/7.1/assets/img/icons/expired_transient.svg (added)
-
tags/7.1/assets/img/icons/img_optm.svg (added)
-
tags/7.1/assets/img/icons/img_optm_disabled.svg (added)
-
tags/7.1/assets/img/icons/img_webp.svg (added)
-
tags/7.1/assets/img/icons/img_webp_disabled.svg (added)
-
tags/7.1/assets/img/icons/optimize_tables.svg (added)
-
tags/7.1/assets/img/icons/purge-403.svg (added)
-
tags/7.1/assets/img/icons/purge-404.svg (added)
-
tags/7.1/assets/img/icons/purge-500.svg (added)
-
tags/7.1/assets/img/icons/purge-all.svg (added)
-
tags/7.1/assets/img/icons/purge-cssjs.svg (added)
-
tags/7.1/assets/img/icons/purge-front.svg (added)
-
tags/7.1/assets/img/icons/purge-object.svg (added)
-
tags/7.1/assets/img/icons/purge-opcache.svg (added)
-
tags/7.1/assets/img/icons/purge-pages.svg (added)
-
tags/7.1/assets/img/icons/revision.svg (added)
-
tags/7.1/assets/img/icons/spam_comment.svg (added)
-
tags/7.1/assets/img/icons/success_icon.svg (added)
-
tags/7.1/assets/img/icons/trackback-pingback.svg (added)
-
tags/7.1/assets/img/icons/trash_comment.svg (added)
-
tags/7.1/assets/img/icons/trash_post.svg (added)
-
tags/7.1/assets/img/lscwp-logo_90x90.png (added)
-
tags/7.1/assets/img/lscwp_blue_font-icon_22px.svg (added)
-
tags/7.1/assets/img/lscwp_font-icon_32px.svg (added)
-
tags/7.1/assets/img/lscwp_gray-yellow_font-icon_22px.svg (added)
-
tags/7.1/assets/img/lscwp_gray_font-icon_22px.svg (added)
-
tags/7.1/assets/img/lscwp_grayscale_font-icon_22px.svg (added)
-
tags/7.1/assets/img/quic-cloud-icon-16x16.svg (added)
-
tags/7.1/assets/img/quic-cloud-logo-light_stack_300px.png (added)
-
tags/7.1/assets/img/quic-cloud-logo.svg (added)
-
tags/7.1/assets/img/slack-logo.png (added)
-
tags/7.1/assets/js (added)
-
tags/7.1/assets/js/babel.min.js (added)
-
tags/7.1/assets/js/component.cdn.js (added)
-
tags/7.1/assets/js/component.crawler.js (added)
-
tags/7.1/assets/js/css_async.js (added)
-
tags/7.1/assets/js/css_async.min.js (added)
-
tags/7.1/assets/js/guest.docref.js (added)
-
tags/7.1/assets/js/guest.docref.min.js (added)
-
tags/7.1/assets/js/guest.js (added)
-
tags/7.1/assets/js/guest.min.js (added)
-
tags/7.1/assets/js/instant_click.min.js (added)
-
tags/7.1/assets/js/instant_click.ori.js (added)
-
tags/7.1/assets/js/iziModal.min.js (added)
-
tags/7.1/assets/js/js_delay.js (added)
-
tags/7.1/assets/js/js_delay.min.js (added)
-
tags/7.1/assets/js/lazyload.init.js (added)
-
tags/7.1/assets/js/lazyload.lib.js (added)
-
tags/7.1/assets/js/lazyload.min.js (added)
-
tags/7.1/assets/js/litespeed-cache-admin.js (added)
-
tags/7.1/assets/js/react.min.js (added)
-
tags/7.1/assets/js/webfontloader.js (added)
-
tags/7.1/assets/js/webfontloader.min.js (added)
-
tags/7.1/autoload.php (added)
-
tags/7.1/changelog.txt (added)
-
tags/7.1/cli (added)
-
tags/7.1/cli/crawler.cls.php (added)
-
tags/7.1/cli/debug.cls.php (added)
-
tags/7.1/cli/image.cls.php (added)
-
tags/7.1/cli/online.cls.php (added)
-
tags/7.1/cli/option.cls.php (added)
-
tags/7.1/cli/presets.cls.php (added)
-
tags/7.1/cli/purge.cls.php (added)
-
tags/7.1/composer.json (added)
-
tags/7.1/composer.lock (added)
-
tags/7.1/data (added)
-
tags/7.1/data/.htaccess (added)
-
tags/7.1/data/cache_nocacheable.txt (added)
-
tags/7.1/data/ccss_whitelist.txt (added)
-
tags/7.1/data/const.default.json (added)
-
tags/7.1/data/const.network_default.json (added)
-
tags/7.1/data/css_excludes.txt (added)
-
tags/7.1/data/esi.nonce.txt (added)
-
tags/7.1/data/esi.nonces.txt (added)
-
tags/7.1/data/js_defer_excludes.txt (added)
-
tags/7.1/data/js_excludes.txt (added)
-
tags/7.1/data/optm_uri_exc.txt (added)
-
tags/7.1/data/preset (added)
-
tags/7.1/data/preset/advanced.data (added)
-
tags/7.1/data/preset/aggressive.data (added)
-
tags/7.1/data/preset/basic.data (added)
-
tags/7.1/data/preset/essentials.data (added)
-
tags/7.1/data/preset/extreme.data (added)
-
tags/7.1/data/ucss_whitelist.txt (added)
-
tags/7.1/guest.vary.php (added)
-
tags/7.1/lang (added)
-
tags/7.1/lang/litespeed-cache.pot (added)
-
tags/7.1/lib (added)
-
tags/7.1/lib/css_js_min (added)
-
tags/7.1/lib/css_js_min/minify (added)
-
tags/7.1/lib/css_js_min/minify/LICENSE (added)
-
tags/7.1/lib/css_js_min/minify/css.cls.php (added)
-
tags/7.1/lib/css_js_min/minify/data (added)
-
tags/7.1/lib/css_js_min/minify/data/js (added)
-
tags/7.1/lib/css_js_min/minify/data/js/keywords_after.txt (added)
-
tags/7.1/lib/css_js_min/minify/data/js/keywords_before.txt (added)
-
tags/7.1/lib/css_js_min/minify/data/js/keywords_reserved.txt (added)
-
tags/7.1/lib/css_js_min/minify/data/js/operators.txt (added)
-
tags/7.1/lib/css_js_min/minify/data/js/operators_after.txt (added)
-
tags/7.1/lib/css_js_min/minify/data/js/operators_before.txt (added)
-
tags/7.1/lib/css_js_min/minify/exception.cls.php (added)
-
tags/7.1/lib/css_js_min/minify/js.cls.php (added)
-
tags/7.1/lib/css_js_min/minify/minify.cls.php (added)
-
tags/7.1/lib/css_js_min/pathconverter (added)
-
tags/7.1/lib/css_js_min/pathconverter/LICENSE (added)
-
tags/7.1/lib/css_js_min/pathconverter/converter.cls.php (added)
-
tags/7.1/lib/guest.cls.php (added)
-
tags/7.1/lib/html-min.cls.php (added)
-
tags/7.1/lib/object-cache.php (added)
-
tags/7.1/lib/php-compatibility.func.php (added)
-
tags/7.1/lib/urirewriter.cls.php (added)
-
tags/7.1/litespeed-cache.php (added)
-
tags/7.1/package-lock.json (added)
-
tags/7.1/package.json (added)
-
tags/7.1/phpcs.xml.dist (added)
-
tags/7.1/qc-ping.txt (added)
-
tags/7.1/readme.txt (added)
-
tags/7.1/security.md (added)
-
tags/7.1/src (added)
-
tags/7.1/src/activation.cls.php (added)
-
tags/7.1/src/admin-display.cls.php (added)
-
tags/7.1/src/admin-settings.cls.php (added)
-
tags/7.1/src/admin.cls.php (added)
-
tags/7.1/src/api.cls.php (added)
-
tags/7.1/src/avatar.cls.php (added)
-
tags/7.1/src/base.cls.php (added)
-
tags/7.1/src/cdn (added)
-
tags/7.1/src/cdn.cls.php (added)
-
tags/7.1/src/cdn/cloudflare.cls.php (added)
-
tags/7.1/src/cdn/quic.cls.php (added)
-
tags/7.1/src/cloud.cls.php (added)
-
tags/7.1/src/conf.cls.php (added)
-
tags/7.1/src/control.cls.php (added)
-
tags/7.1/src/core.cls.php (added)
-
tags/7.1/src/crawler-map.cls.php (added)
-
tags/7.1/src/crawler.cls.php (added)
-
tags/7.1/src/css.cls.php (added)
-
tags/7.1/src/data.cls.php (added)
-
tags/7.1/src/data.upgrade.func.php (added)
-
tags/7.1/src/data_structure (added)
-
tags/7.1/src/data_structure/avatar.sql (added)
-
tags/7.1/src/data_structure/crawler.sql (added)
-
tags/7.1/src/data_structure/crawler_blacklist.sql (added)
-
tags/7.1/src/data_structure/img_optm.sql (added)
-
tags/7.1/src/data_structure/img_optming.sql (added)
-
tags/7.1/src/data_structure/url.sql (added)
-
tags/7.1/src/data_structure/url_file.sql (added)
-
tags/7.1/src/db-optm.cls.php (added)
-
tags/7.1/src/debug2.cls.php (added)
-
tags/7.1/src/doc.cls.php (added)
-
tags/7.1/src/error.cls.php (added)
-
tags/7.1/src/esi.cls.php (added)
-
tags/7.1/src/file.cls.php (added)
-
tags/7.1/src/gui.cls.php (added)
-
tags/7.1/src/health.cls.php (added)
-
tags/7.1/src/htaccess.cls.php (added)
-
tags/7.1/src/img-optm.cls.php (added)
-
tags/7.1/src/import.cls.php (added)
-
tags/7.1/src/import.preset.cls.php (added)
-
tags/7.1/src/lang.cls.php (added)
-
tags/7.1/src/localization.cls.php (added)
-
tags/7.1/src/media.cls.php (added)
-
tags/7.1/src/metabox.cls.php (added)
-
tags/7.1/src/object-cache.cls.php (added)
-
tags/7.1/src/object.lib.php (added)
-
tags/7.1/src/optimize.cls.php (added)
-
tags/7.1/src/optimizer.cls.php (added)
-
tags/7.1/src/placeholder.cls.php (added)
-
tags/7.1/src/purge.cls.php (added)
-
tags/7.1/src/report.cls.php (added)
-
tags/7.1/src/rest.cls.php (added)
-
tags/7.1/src/root.cls.php (added)
-
tags/7.1/src/router.cls.php (added)
-
tags/7.1/src/str.cls.php (added)
-
tags/7.1/src/tag.cls.php (added)
-
tags/7.1/src/task.cls.php (added)
-
tags/7.1/src/tool.cls.php (added)
-
tags/7.1/src/ucss.cls.php (added)
-
tags/7.1/src/utility.cls.php (added)
-
tags/7.1/src/vary.cls.php (added)
-
tags/7.1/src/vpi.cls.php (added)
-
tags/7.1/thirdparty (added)
-
tags/7.1/thirdparty/aelia-currencyswitcher.cls.php (added)
-
tags/7.1/thirdparty/amp.cls.php (added)
-
tags/7.1/thirdparty/autoptimize.cls.php (added)
-
tags/7.1/thirdparty/avada.cls.php (added)
-
tags/7.1/thirdparty/bbpress.cls.php (added)
-
tags/7.1/thirdparty/beaver-builder.cls.php (added)
-
tags/7.1/thirdparty/caldera-forms.cls.php (added)
-
tags/7.1/thirdparty/divi-theme-builder.cls.php (added)
-
tags/7.1/thirdparty/elementor.cls.php (added)
-
tags/7.1/thirdparty/entry.inc.php (added)
-
tags/7.1/thirdparty/facetwp.cls.php (added)
-
tags/7.1/thirdparty/gravity-forms.cls.php (added)
-
tags/7.1/thirdparty/litespeed-check.cls.php (added)
-
tags/7.1/thirdparty/nextgengallery.cls.php (added)
-
tags/7.1/thirdparty/perfmatters.cls.php (added)
-
tags/7.1/thirdparty/theme-my-login.cls.php (added)
-
tags/7.1/thirdparty/user-switching.cls.php (added)
-
tags/7.1/thirdparty/wc-pdf-product-vouchers.cls.php (added)
-
tags/7.1/thirdparty/wcml.cls.php (added)
-
tags/7.1/thirdparty/woo-paypal.cls.php (added)
-
tags/7.1/thirdparty/woocommerce.cls.php (added)
-
tags/7.1/thirdparty/woocommerce.content.tpl.php (added)
-
tags/7.1/thirdparty/woocommerce.tab.tpl.php (added)
-
tags/7.1/thirdparty/wp-polls.cls.php (added)
-
tags/7.1/thirdparty/wp-postratings.cls.php (added)
-
tags/7.1/thirdparty/wpdiscuz.cls.php (added)
-
tags/7.1/thirdparty/wplister.cls.php (added)
-
tags/7.1/thirdparty/wpml.cls.php (added)
-
tags/7.1/thirdparty/wptouch.cls.php (added)
-
tags/7.1/thirdparty/yith-wishlist.cls.php (added)
-
tags/7.1/tpl (added)
-
tags/7.1/tpl/banner (added)
-
tags/7.1/tpl/banner/ajax.php (added)
-
tags/7.1/tpl/banner/cloud_news.tpl.php (added)
-
tags/7.1/tpl/banner/cloud_promo.tpl.php (added)
-
tags/7.1/tpl/banner/new_version.php (added)
-
tags/7.1/tpl/banner/new_version_dev.tpl.php (added)
-
tags/7.1/tpl/banner/score.php (added)
-
tags/7.1/tpl/banner/slack.php (added)
-
tags/7.1/tpl/cache (added)
-
tags/7.1/tpl/cache/entry.tpl.php (added)
-
tags/7.1/tpl/cache/entry_network.tpl.php (added)
-
tags/7.1/tpl/cache/more_settings_tip.tpl.php (added)
-
tags/7.1/tpl/cache/network_settings-advanced.tpl.php (added)
-
tags/7.1/tpl/cache/network_settings-browser.tpl.php (added)
-
tags/7.1/tpl/cache/network_settings-cache.tpl.php (added)
-
tags/7.1/tpl/cache/network_settings-excludes.tpl.php (added)
-
tags/7.1/tpl/cache/network_settings-object.tpl.php (added)
-
tags/7.1/tpl/cache/network_settings-purge.tpl.php (added)
-
tags/7.1/tpl/cache/settings-advanced.tpl.php (added)
-
tags/7.1/tpl/cache/settings-browser.tpl.php (added)
-
tags/7.1/tpl/cache/settings-cache.tpl.php (added)
-
tags/7.1/tpl/cache/settings-esi.tpl.php (added)
-
tags/7.1/tpl/cache/settings-excludes.tpl.php (added)
-
tags/7.1/tpl/cache/settings-object.tpl.php (added)
-
tags/7.1/tpl/cache/settings-purge.tpl.php (added)
-
tags/7.1/tpl/cache/settings-ttl.tpl.php (added)
-
tags/7.1/tpl/cache/settings_inc.browser.tpl.php (added)
-
tags/7.1/tpl/cache/settings_inc.cache_dropquery.tpl.php (added)
-
tags/7.1/tpl/cache/settings_inc.cache_mobile.tpl.php (added)
-
tags/7.1/tpl/cache/settings_inc.cache_resources.tpl.php (added)
-
tags/7.1/tpl/cache/settings_inc.exclude_cookies.tpl.php (added)
-
tags/7.1/tpl/cache/settings_inc.exclude_useragent.tpl.php (added)
-
tags/7.1/tpl/cache/settings_inc.login_cookie.tpl.php (added)
-
tags/7.1/tpl/cache/settings_inc.object.tpl.php (added)
-
tags/7.1/tpl/cache/settings_inc.purge_on_upgrade.tpl.php (added)
-
tags/7.1/tpl/cdn (added)
-
tags/7.1/tpl/cdn/cf.tpl.php (added)
-
tags/7.1/tpl/cdn/entry.tpl.php (added)
-
tags/7.1/tpl/cdn/other.tpl.php (added)
-
tags/7.1/tpl/cdn/qc.tpl.php (added)
-
tags/7.1/tpl/crawler (added)
-
tags/7.1/tpl/crawler/blacklist.tpl.php (added)
-
tags/7.1/tpl/crawler/entry.tpl.php (added)
-
tags/7.1/tpl/crawler/map.tpl.php (added)
-
tags/7.1/tpl/crawler/settings.tpl.php (added)
-
tags/7.1/tpl/crawler/summary.tpl.php (added)
-
tags/7.1/tpl/dash (added)
-
tags/7.1/tpl/dash/dashboard.tpl.php (added)
-
tags/7.1/tpl/dash/entry.tpl.php (added)
-
tags/7.1/tpl/dash/network_dash.tpl.php (added)
-
tags/7.1/tpl/db_optm (added)
-
tags/7.1/tpl/db_optm/entry.tpl.php (added)
-
tags/7.1/tpl/db_optm/manage.tpl.php (added)
-
tags/7.1/tpl/db_optm/settings.tpl.php (added)
-
tags/7.1/tpl/esi.tpl.php (added)
-
tags/7.1/tpl/esi_widget_edit.php (added)
-
tags/7.1/tpl/general (added)
-
tags/7.1/tpl/general/entry.tpl.php (added)
-
tags/7.1/tpl/general/network_settings.tpl.php (added)
-
tags/7.1/tpl/general/online.tpl.php (added)
-
tags/7.1/tpl/general/settings.tpl.php (added)
-
tags/7.1/tpl/general/settings_inc.auto_upgrade.tpl.php (added)
-
tags/7.1/tpl/general/settings_inc.guest.tpl.php (added)
-
tags/7.1/tpl/general/settings_tuning.tpl.php (added)
-
tags/7.1/tpl/img_optm (added)
-
tags/7.1/tpl/img_optm/entry.tpl.php (added)
-
tags/7.1/tpl/img_optm/network_settings.tpl.php (added)
-
tags/7.1/tpl/img_optm/settings.media_webp.tpl.php (added)
-
tags/7.1/tpl/img_optm/settings.tpl.php (added)
-
tags/7.1/tpl/img_optm/summary.tpl.php (added)
-
tags/7.1/tpl/inc (added)
-
tags/7.1/tpl/inc/admin_footer.php (added)
-
tags/7.1/tpl/inc/check_cache_disabled.php (added)
-
tags/7.1/tpl/inc/check_if_network_disable_all.php (added)
-
tags/7.1/tpl/inc/disabled_all.php (added)
-
tags/7.1/tpl/inc/in_upgrading.php (added)
-
tags/7.1/tpl/inc/metabox.php (added)
-
tags/7.1/tpl/inc/modal.footer.php (added)
-
tags/7.1/tpl/inc/modal.header.php (added)
-
tags/7.1/tpl/inc/show_display_installed.php (added)
-
tags/7.1/tpl/inc/show_error_cookie.php (added)
-
tags/7.1/tpl/inc/show_rule_conflict.php (added)
-
tags/7.1/tpl/page_optm (added)
-
tags/7.1/tpl/page_optm/entry.tpl.php (added)
-
tags/7.1/tpl/page_optm/settings_css.tpl.php (added)
-
tags/7.1/tpl/page_optm/settings_html.tpl.php (added)
-
tags/7.1/tpl/page_optm/settings_js.tpl.php (added)
-
tags/7.1/tpl/page_optm/settings_localization.tpl.php (added)
-
tags/7.1/tpl/page_optm/settings_media.tpl.php (added)
-
tags/7.1/tpl/page_optm/settings_media_exc.tpl.php (added)
-
tags/7.1/tpl/page_optm/settings_tuning.tpl.php (added)
-
tags/7.1/tpl/page_optm/settings_tuning_css.tpl.php (added)
-
tags/7.1/tpl/page_optm/settings_vpi.tpl.php (added)
-
tags/7.1/tpl/presets (added)
-
tags/7.1/tpl/presets/entry.tpl.php (added)
-
tags/7.1/tpl/presets/standard.tpl.php (added)
-
tags/7.1/tpl/toolbox (added)
-
tags/7.1/tpl/toolbox/beta_test.tpl.php (added)
-
tags/7.1/tpl/toolbox/edit_htaccess.tpl.php (added)
-
tags/7.1/tpl/toolbox/entry.tpl.php (added)
-
tags/7.1/tpl/toolbox/heartbeat.tpl.php (added)
-
tags/7.1/tpl/toolbox/import_export.tpl.php (added)
-
tags/7.1/tpl/toolbox/log_viewer.tpl.php (added)
-
tags/7.1/tpl/toolbox/purge.tpl.php (added)
-
tags/7.1/tpl/toolbox/report.tpl.php (added)
-
tags/7.1/tpl/toolbox/settings-debug.tpl.php (added)
-
trunk/assets/js/litespeed-cache-admin.js (modified) (3 diffs)
-
trunk/changelog.txt (modified) (1 diff)
-
trunk/cli/crawler.cls.php (modified) (1 diff)
-
trunk/data/ccss_whitelist.txt (added)
-
trunk/data/const.default.json (modified) (1 diff)
-
trunk/lang/litespeed-cache.pot (modified) (64 diffs)
-
trunk/lib/css_js_min/minify/css.cls.php (modified) (1 diff)
-
trunk/litespeed-cache.php (modified) (3 diffs)
-
trunk/readme.txt (modified) (3 diffs)
-
trunk/src/activation.cls.php (modified) (3 diffs)
-
trunk/src/admin-display.cls.php (modified) (3 diffs)
-
trunk/src/avatar.cls.php (modified) (3 diffs)
-
trunk/src/base.cls.php (modified) (2 diffs)
-
trunk/src/cloud.cls.php (modified) (13 diffs)
-
trunk/src/conf.cls.php (modified) (4 diffs)
-
trunk/src/core.cls.php (modified) (1 diff)
-
trunk/src/crawler-map.cls.php (modified) (9 diffs)
-
trunk/src/crawler.cls.php (modified) (13 diffs)
-
trunk/src/css.cls.php (modified) (10 diffs)
-
trunk/src/data.cls.php (modified) (5 diffs)
-
trunk/src/doc.cls.php (modified) (1 diff)
-
trunk/src/esi.cls.php (modified) (1 diff)
-
trunk/src/file.cls.php (modified) (1 diff)
-
trunk/src/img-optm.cls.php (modified) (2 diffs)
-
trunk/src/lang.cls.php (modified) (1 diff)
-
trunk/src/localization.cls.php (modified) (3 diffs)
-
trunk/src/optimize.cls.php (modified) (1 diff)
-
trunk/src/optimizer.cls.php (modified) (4 diffs)
-
trunk/src/rest.cls.php (modified) (2 diffs)
-
trunk/src/router.cls.php (modified) (2 diffs)
-
trunk/src/task.cls.php (modified) (1 diff)
-
trunk/src/tool.cls.php (modified) (4 diffs)
-
trunk/src/ucss.cls.php (modified) (2 diffs)
-
trunk/src/vary.cls.php (modified) (1 diff)
-
trunk/src/vpi.cls.php (modified) (2 diffs)
-
trunk/thirdparty/litespeed-check.cls.php (modified) (2 diffs)
-
trunk/tpl/cdn/cf.tpl.php (modified) (2 diffs)
-
trunk/tpl/cdn/qc.tpl.php (modified) (1 diff)
-
trunk/tpl/crawler/summary.tpl.php (modified) (1 diff)
-
trunk/tpl/dash/dashboard.tpl.php (modified) (7 diffs)
-
trunk/tpl/general/settings.tpl.php (modified) (1 diff)
-
trunk/tpl/img_optm/summary.tpl.php (modified) (2 diffs)
-
trunk/tpl/page_optm/settings_css.tpl.php (modified) (3 diffs)
-
trunk/tpl/page_optm/settings_tuning_css.tpl.php (modified) (2 diffs)
-
trunk/tpl/page_optm/settings_vpi.tpl.php (modified) (1 diff)
-
trunk/tpl/presets/standard.tpl.php (modified) (6 diffs)
-
trunk/tpl/toolbox/beta_test.tpl.php (modified) (1 diff)
-
trunk/tpl/toolbox/log_viewer.tpl.php (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
litespeed-cache/trunk/assets/js/litespeed-cache-admin.js
r3009052 r3281183 212 212 */ 213 213 $('#litespeed_get_ip').on('click', function (e) { 214 console.log('[litespeed] get server IP'); 214 215 $.ajax({ 215 216 url: litespeed_data.ajax_url_getIP, … … 217 218 beforeSend: function (xhr) { 218 219 xhr.setRequestHeader('X-WP-Nonce', litespeed_data.nonce); 220 $('#litespeed_server_ip').html('Detecting...'); 219 221 }, 220 222 success: function (data) { 223 $('#litespeed_server_ip').html('Done'); 221 224 console.log('[litespeed] get server IP response: ' + data); 222 225 $('#litespeed_server_ip').html(data); 226 }, 227 error: function (xhr, error) { 228 console.log('[litespeed] get server IP error', error); 229 $('#litespeed_server_ip').html('Failed to detect IP'); 230 }, 231 complete: function (xhr, status) { 232 console.log('[litespeed] AJAX complete', status, xhr); 223 233 }, 224 234 }); … … 582 592 return i; 583 593 } 594 595 function litespeed_copy_to_clipboard(elementId) { 596 var range = document.createRange(); 597 range.selectNode(document.getElementById(elementId)); 598 window.getSelection().removeAllRanges(); 599 window.getSelection().addRange(range); 600 document.execCommand('copy'); 601 window.getSelection().removeAllRanges(); 602 } -
litespeed-cache/trunk/changelog.txt
r3123399 r3281183 1737 1737 * [UPDATE] Improved debug log formatting. 1738 1738 * [INTEGRATION] Compatibility with MainWP plugin. 1739 * [BUGFIX] Fixed Woo commerce order not purging product stock quantity.1740 * [BUGFIX] Fixed Woo commerce scheduled sale price not updating issue.1739 * [BUGFIX] Fixed WooCommerce order not purging product stock quantity. 1740 * [BUGFIX] Fixed WooCommerce scheduled sale price not updating issue. 1741 1741 * [REFACTOR] Combined cache_enable functions into a single function. 1742 1742 -
litespeed-cache/trunk/cli/crawler.cls.php
r3261732 r3281183 85 85 $list = array(); 86 86 foreach ($crawler_list as $i => $v) { 87 $hit = !empty($summary['crawler_stats'][$i][ 'H']) ? $summary['crawler_stats'][$i]['H'] : 0;88 $miss = !empty($summary['crawler_stats'][$i][ 'M']) ? $summary['crawler_stats'][$i]['M'] : 0;89 90 $blacklisted = !empty($summary['crawler_stats'][$i][ 'B']) ? $summary['crawler_stats'][$i]['B'] : 0;91 $blacklisted += !empty($summary['crawler_stats'][$i][ 'N']) ? $summary['crawler_stats'][$i]['N'] : 0;92 93 if (isset($summary['crawler_stats'][$i][ 'W'])) {94 $waiting = $summary['crawler_stats'][$i][ 'W'] ?: 0;87 $hit = !empty($summary['crawler_stats'][$i][Crawler2::STATUS_HIT]) ? $summary['crawler_stats'][$i][Crawler2::STATUS_HIT] : 0; 88 $miss = !empty($summary['crawler_stats'][$i][Crawler2::STATUS_MISS]) ? $summary['crawler_stats'][$i][Crawler2::STATUS_MISS] : 0; 89 90 $blacklisted = !empty($summary['crawler_stats'][$i][Crawler2::STATUS_BLACKLIST]) ? $summary['crawler_stats'][$i][Crawler2::STATUS_BLACKLIST] : 0; 91 $blacklisted += !empty($summary['crawler_stats'][$i][Crawler2::STATUS_NOCACHE]) ? $summary['crawler_stats'][$i][Crawler2::STATUS_NOCACHE] : 0; 92 93 if (isset($summary['crawler_stats'][$i][Crawler2::STATUS_WAIT])) { 94 $waiting = $summary['crawler_stats'][$i][Crawler2::STATUS_WAIT] ?: 0; 95 95 } else { 96 96 $waiting = $summary['list_size'] - $hit - $miss - $blacklisted; -
litespeed-cache/trunk/data/const.default.json
r3261732 r3281183 88 88 "optm-css_async": "", 89 89 "optm-ccss_per_url": "", 90 "optm-ccss_whitelist": "", 90 91 "optm-css_async_inline": "1", 91 92 "optm-css_font_display": "", -
litespeed-cache/trunk/lang/litespeed-cache.pot
r3269138 r3281183 3 3 msgid "" 4 4 msgstr "" 5 "Project-Id-Version: LiteSpeed Cache 7. 0.1\n"5 "Project-Id-Version: LiteSpeed Cache 7.1\n" 6 6 "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/litespeed-cache\n" 7 7 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" … … 10 10 "Content-Type: text/plain; charset=UTF-8\n" 11 11 "Content-Transfer-Encoding: 8bit\n" 12 "POT-Creation-Date: 2025-04- 08T18:55:51+00:00\n"12 "POT-Creation-Date: 2025-04-24T13:13:02+00:00\n" 13 13 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 14 14 "X-Generator: WP-CLI 2.11.0\n" … … 80 80 msgstr "" 81 81 82 #: src/activation.cls.php:50 683 #: src/activation.cls.php:51 182 #: src/activation.cls.php:505 83 #: src/activation.cls.php:510 84 84 msgid "Failed to upgrade." 85 85 msgstr "" 86 86 87 #: src/activation.cls.php:51 587 #: src/activation.cls.php:514 88 88 msgid "Upgraded successfully." 89 89 msgstr "" 90 90 91 #: src/admin-display.cls.php:12 291 #: src/admin-display.cls.php:125 92 92 #: tpl/dash/entry.tpl.php:6 93 93 msgid "Dashboard" 94 94 msgstr "" 95 95 96 #: src/admin-display.cls.php:12 496 #: src/admin-display.cls.php:127 97 97 msgid "Presets" 98 98 msgstr "" 99 99 100 #: src/admin-display.cls.php:12 6100 #: src/admin-display.cls.php:129 101 101 msgid "General" 102 102 msgstr "" 103 103 104 #: src/admin-display.cls.php:1 28104 #: src/admin-display.cls.php:131 105 105 #: tpl/cache/entry.tpl.php:6 106 106 #: tpl/cache/entry_network.tpl.php:6 … … 108 108 msgstr "" 109 109 110 #: src/admin-display.cls.php:130 111 #: tpl/cdn/cf.tpl.php:26 110 #: src/admin-display.cls.php:133 112 111 msgid "CDN" 113 112 msgstr "" 114 113 115 #: src/admin-display.cls.php:13 2114 #: src/admin-display.cls.php:135 116 115 #: src/gui.cls.php:638 117 #: tpl/dash/dashboard.tpl.php:18 1116 #: tpl/dash/dashboard.tpl.php:188 118 117 #: tpl/dash/network_dash.tpl.php:27 119 118 #: tpl/general/online.tpl.php:121 … … 123 122 msgstr "" 124 123 125 #: src/admin-display.cls.php:13 4126 #: tpl/dash/dashboard.tpl.php:18 2124 #: src/admin-display.cls.php:137 125 #: tpl/dash/dashboard.tpl.php:189 127 126 #: tpl/dash/network_dash.tpl.php:28 128 127 #: tpl/general/online.tpl.php:120 … … 131 130 msgstr "" 132 131 133 #: src/admin-display.cls.php:13 6132 #: src/admin-display.cls.php:139 134 133 msgid "Database" 135 134 msgstr "" 136 135 137 #: src/admin-display.cls.php:1 38138 #: src/lang.cls.php:25 0136 #: src/admin-display.cls.php:141 137 #: src/lang.cls.php:251 139 138 msgid "Crawler" 140 139 msgstr "" 141 140 142 #: src/admin-display.cls.php:14 0141 #: src/admin-display.cls.php:143 143 142 msgid "Toolbox" 144 143 msgstr "" 145 144 146 #: src/admin-display.cls.php:2 17145 #: src/admin-display.cls.php:220 147 146 msgid "Cookie Name" 148 147 msgstr "" 149 148 150 #: src/admin-display.cls.php:2 18149 #: src/admin-display.cls.php:221 151 150 #: tpl/crawler/settings.tpl.php:143 152 151 msgid "Cookie Values" 153 152 msgstr "" 154 153 155 #: src/admin-display.cls.php:22 0154 #: src/admin-display.cls.php:223 156 155 msgid "Remove cookie simulation" 157 156 msgstr "" 158 157 159 #: src/admin-display.cls.php:22 1158 #: src/admin-display.cls.php:224 160 159 msgid "Add new cookie to simulate" 161 160 msgstr "" 162 161 163 #: src/admin-display.cls.php:24 0162 #: src/admin-display.cls.php:243 164 163 msgid "CDN URL to be used. For example, %s" 165 164 msgstr "" 166 165 167 #: src/admin-display.cls.php:24 2166 #: src/admin-display.cls.php:245 168 167 msgid "Remove CDN URL" 169 168 msgstr "" 170 169 171 #: src/admin-display.cls.php:24 3170 #: src/admin-display.cls.php:246 172 171 msgid "Add new CDN URL" 173 172 msgstr "" 174 173 175 #: src/admin-display.cls.php:24 4176 #: src/admin-display.cls.php:9 78177 #: src/admin-display.cls.php:10 06178 #: src/admin-display.cls.php:10 57174 #: src/admin-display.cls.php:247 175 #: src/admin-display.cls.php:983 176 #: src/admin-display.cls.php:1011 177 #: src/admin-display.cls.php:1062 179 178 #: src/doc.cls.php:41 180 179 #: tpl/cache/settings-cache.tpl.php:22 … … 182 181 #: tpl/cdn/other.tpl.php:34 183 182 #: tpl/crawler/settings.tpl.php:113 184 #: tpl/page_optm/settings_css.tpl.php: 191183 #: tpl/page_optm/settings_css.tpl.php:201 185 184 #: tpl/page_optm/settings_media.tpl.php:165 186 185 #: tpl/toolbox/settings-debug.tpl.php:49 … … 188 187 msgstr "" 189 188 190 #: src/admin-display.cls.php:24 5191 #: src/admin-display.cls.php:9 79192 #: src/admin-display.cls.php:10 06193 #: src/admin-display.cls.php:10 57189 #: src/admin-display.cls.php:248 190 #: src/admin-display.cls.php:984 191 #: src/admin-display.cls.php:1011 192 #: src/admin-display.cls.php:1062 194 193 #: tpl/cache/settings-cache.tpl.php:22 195 194 #: tpl/cache/settings_inc.object.tpl.php:213 196 195 #: tpl/cdn/other.tpl.php:39 197 196 #: tpl/img_optm/settings.media_webp.tpl.php:14 198 #: tpl/page_optm/settings_css.tpl.php:8 4197 #: tpl/page_optm/settings_css.tpl.php:87 199 198 #: tpl/page_optm/settings_js.tpl.php:69 200 199 #: tpl/page_optm/settings_media.tpl.php:168 … … 203 202 msgstr "" 204 203 205 #: src/admin-display.cls.php:29 5204 #: src/admin-display.cls.php:298 206 205 #: src/gui.cls.php:629 207 206 #: tpl/crawler/entry.tpl.php:11 … … 209 208 msgstr "" 210 209 211 #: src/admin-display.cls.php:53 2210 #: src/admin-display.cls.php:535 212 211 #: tpl/banner/slack.php:33 213 212 msgid "Dismiss" 214 213 msgstr "" 215 214 216 #: src/admin-display.cls.php:84 3217 #: src/admin-display.cls.php:8 47215 #: src/admin-display.cls.php:848 216 #: src/admin-display.cls.php:852 218 217 msgid "Save Changes" 219 218 msgstr "" 220 219 221 #: src/admin-display.cls.php:10 68220 #: src/admin-display.cls.php:1073 222 221 msgid "This setting is overwritten by the PHP constant %s" 223 222 msgstr "" 224 223 225 #: src/admin-display.cls.php:107 1224 #: src/admin-display.cls.php:1076 226 225 msgid "This setting is overwritten by the primary site setting" 227 226 msgstr "" 228 227 229 #: src/admin-display.cls.php:107 3228 #: src/admin-display.cls.php:1078 230 229 msgid "This setting is overwritten by the Network setting" 231 230 msgstr "" 232 231 233 #: src/admin-display.cls.php:10 77232 #: src/admin-display.cls.php:1082 234 233 msgid "currently set to %s" 235 234 msgstr "" 236 235 237 #: src/admin-display.cls.php:10 88236 #: src/admin-display.cls.php:1093 238 237 #: tpl/cache/settings_inc.object.tpl.php:106 239 238 #: tpl/crawler/settings.tpl.php:37 … … 242 241 msgstr "" 243 242 244 #: src/admin-display.cls.php:112 0245 #: src/admin-display.cls.php:112 4243 #: src/admin-display.cls.php:1125 244 #: src/admin-display.cls.php:1129 246 245 #: tpl/cdn/other.tpl.php:84 247 246 msgid "Default value" 248 247 msgstr "" 249 248 250 #: src/admin-display.cls.php:11 49249 #: src/admin-display.cls.php:1154 251 250 msgid "Invalid rewrite rule" 252 251 msgstr "" 253 252 254 #: src/admin-display.cls.php:11 67253 #: src/admin-display.cls.php:1172 255 254 msgid "Path must end with %s" 256 255 msgstr "" 257 256 258 #: src/admin-display.cls.php:11 86257 #: src/admin-display.cls.php:1191 259 258 msgid "Minimum value" 260 259 msgstr "" 261 260 262 #: src/admin-display.cls.php:11 89261 #: src/admin-display.cls.php:1194 263 262 msgid "Maximum value" 264 263 msgstr "" 265 264 266 #: src/admin-display.cls.php:120 1265 #: src/admin-display.cls.php:1206 267 266 msgid "Zero, or" 268 267 msgstr "" 269 268 270 #: src/admin-display.cls.php:12 07269 #: src/admin-display.cls.php:1212 271 270 msgid "Larger than" 272 271 msgstr "" 273 272 274 #: src/admin-display.cls.php:12 09273 #: src/admin-display.cls.php:1214 275 274 msgid "Smaller than" 276 275 msgstr "" 277 276 278 #: src/admin-display.cls.php:121 2277 #: src/admin-display.cls.php:1217 279 278 msgid "Value range" 280 279 msgstr "" 281 280 282 #: src/admin-display.cls.php:12 38281 #: src/admin-display.cls.php:1243 283 282 msgid "Invalid IP" 284 283 msgstr "" 285 284 286 #: src/admin-display.cls.php:12 59285 #: src/admin-display.cls.php:1264 287 286 #: tpl/cache/settings-esi.tpl.php:95 288 #: tpl/page_optm/settings_css.tpl.php: 194287 #: tpl/page_optm/settings_css.tpl.php:204 289 288 #: tpl/page_optm/settings_html.tpl.php:123 290 289 #: tpl/page_optm/settings_media.tpl.php:245 … … 296 295 #: tpl/page_optm/settings_tuning.tpl.php:120 297 296 #: tpl/page_optm/settings_tuning_css.tpl.php:24 298 #: tpl/page_optm/settings_tuning_css.tpl.php:8 4297 #: tpl/page_optm/settings_tuning_css.tpl.php:85 299 298 #: tpl/toolbox/edit_htaccess.tpl.php:58 300 299 #: tpl/toolbox/edit_htaccess.tpl.php:76 … … 302 301 msgstr "" 303 302 304 #: src/admin-display.cls.php:126 1303 #: src/admin-display.cls.php:1266 305 304 msgid "Server variable(s) %s available to override this setting." 306 305 msgstr "" 307 306 308 #: src/admin-display.cls.php:127 4307 #: src/admin-display.cls.php:1279 309 308 msgid "The URLs will be compared to the REQUEST_URI server variable." 310 309 msgstr "" 311 310 312 #: src/admin-display.cls.php:12 75311 #: src/admin-display.cls.php:1280 313 312 msgid "For example, for %s, %s can be used here." 314 313 msgstr "" 315 314 316 #: src/admin-display.cls.php:12 77315 #: src/admin-display.cls.php:1282 317 316 msgid "To match the beginning, add %s to the beginning of the item." 318 317 msgstr "" 319 318 320 #: src/admin-display.cls.php:12 78319 #: src/admin-display.cls.php:1283 321 320 msgid "To do an exact match, add %s to the end of the URL." 322 321 msgstr "" 323 322 324 #: src/admin-display.cls.php:12 79323 #: src/admin-display.cls.php:1284 325 324 #: src/doc.cls.php:114 326 325 msgid "One per line." 327 326 msgstr "" 328 327 329 #: src/admin-display.cls.php:129 4328 #: src/admin-display.cls.php:1299 330 329 msgid "%s groups" 331 330 msgstr "" 332 331 333 #: src/admin-display.cls.php:1 297332 #: src/admin-display.cls.php:1302 334 333 msgid "%s images" 335 334 msgstr "" 336 335 337 #: src/admin-display.cls.php:13 06336 #: src/admin-display.cls.php:1311 338 337 msgid "%s group" 339 338 msgstr "" 340 339 341 #: src/admin-display.cls.php:13 09340 #: src/admin-display.cls.php:1314 342 341 msgid "%s image" 343 342 msgstr "" … … 383 382 384 383 #: src/cloud.cls.php:180 385 #: src/cloud.cls.php:26 4384 #: src/cloud.cls.php:265 386 385 msgid "Failed to get echo data from WPAPI" 387 386 msgstr "" 388 387 389 388 #: src/cloud.cls.php:240 390 #: src/cloud.cls.php:29 5389 #: src/cloud.cls.php:296 391 390 msgid "You need to set the %1$s first. Please use the command %2$s to set." 392 391 msgstr "" 393 392 394 393 #: src/cloud.cls.php:241 395 #: src/cloud.cls.php:29 6394 #: src/cloud.cls.php:297 396 395 #: src/lang.cls.php:89 397 396 msgid "Server IP" 398 397 msgstr "" 399 398 400 #: src/cloud.cls.php:28 7401 #: src/cloud.cls.php:33 4402 #: src/cloud.cls.php:36 2403 #: src/cloud.cls.php:3 79404 #: src/cloud.cls.php: 399405 #: src/cloud.cls.php:41 8399 #: src/cloud.cls.php:288 400 #: src/cloud.cls.php:335 401 #: src/cloud.cls.php:363 402 #: src/cloud.cls.php:380 403 #: src/cloud.cls.php:400 404 #: src/cloud.cls.php:419 406 405 msgid "You need to activate QC first." 407 406 msgstr "" 408 407 409 #: src/cloud.cls.php:30 5408 #: src/cloud.cls.php:306 410 409 msgid "Cert or key file does not exist." 411 410 msgstr "" 412 411 413 #: src/cloud.cls.php:57 4412 #: src/cloud.cls.php:575 414 413 msgid "Failed to validate %s activation data." 415 414 msgstr "" 416 415 417 #: src/cloud.cls.php:58 1416 #: src/cloud.cls.php:582 418 417 msgid "Failed to parse %s activation status." 419 418 msgstr "" 420 419 421 #: src/cloud.cls.php:58 8420 #: src/cloud.cls.php:589 422 421 msgid "%s activation data expired." 423 422 msgstr "" 424 423 425 #: src/cloud.cls.php:61 1424 #: src/cloud.cls.php:612 426 425 msgid "Congratulations, %s successfully set this domain up for the anonymous online services." 427 426 msgstr "" 428 427 429 #: src/cloud.cls.php:61 3428 #: src/cloud.cls.php:614 430 429 msgid "Congratulations, %s successfully set this domain up for the online services." 431 430 msgstr "" 432 431 433 #: src/cloud.cls.php:61 8434 #: src/cloud.cls.php:65 8435 #: src/cloud.cls.php: 699432 #: src/cloud.cls.php:619 433 #: src/cloud.cls.php:659 434 #: src/cloud.cls.php:700 436 435 msgid "Congratulations, %s successfully set this domain up for the online services with CDN service." 437 436 msgstr "" 438 437 439 #: src/cloud.cls.php:72 8438 #: src/cloud.cls.php:729 440 439 msgid "Reset %s activation successfully." 441 440 msgstr "" 442 441 443 #: src/cloud.cls.php:100 2444 #: src/cloud.cls.php:101 5445 #: src/cloud.cls.php:105 3446 #: src/cloud.cls.php:11 19447 #: src/cloud.cls.php:12 56442 #: src/cloud.cls.php:1003 443 #: src/cloud.cls.php:1016 444 #: src/cloud.cls.php:1054 445 #: src/cloud.cls.php:1120 446 #: src/cloud.cls.php:1267 448 447 msgid "Cloud Error" 449 448 msgstr "" 450 449 451 #: src/cloud.cls.php:105 3450 #: src/cloud.cls.php:1054 452 451 msgid "No available Cloud Node after checked server load." 453 452 msgstr "" 454 453 455 #: src/cloud.cls.php:11 19454 #: src/cloud.cls.php:1120 456 455 msgid "No available Cloud Node." 457 456 msgstr "" 458 457 459 #: src/cloud.cls.php:121 6458 #: src/cloud.cls.php:1218 460 459 msgid "In order to use QC services, need a real domain name, cannot use an IP." 461 460 msgstr "" 462 461 463 #: src/cloud.cls.php:12 58462 #: src/cloud.cls.php:1269 464 463 msgid "Please try after %1$s for service %2$s." 465 464 msgstr "" 466 465 467 #: src/cloud.cls.php:1 389468 #: src/cloud.cls.php:14 12466 #: src/cloud.cls.php:1420 467 #: src/cloud.cls.php:1443 469 468 msgid "Failed to request via WordPress" 470 469 msgstr "" 471 470 472 #: src/cloud.cls.php:14 33471 #: src/cloud.cls.php:1475 473 472 msgid "Cloud server refused the current request due to unpulled images. Please pull the images first." 474 473 msgstr "" 475 474 476 #: src/cloud.cls.php:14 38475 #: src/cloud.cls.php:1480 477 476 msgid "Your domain_key has been temporarily blocklisted to prevent abuse. You may contact support at QUIC.cloud to learn more." 478 477 msgstr "" 479 478 480 #: src/cloud.cls.php:14 45479 #: src/cloud.cls.php:1487 481 480 msgid "Cloud server refused the current request due to rate limiting. Please try again later." 482 481 msgstr "" 483 482 484 #: src/cloud.cls.php:14 53483 #: src/cloud.cls.php:1495 485 484 msgid "Redetected node" 486 485 msgstr "" 487 486 488 #: src/cloud.cls.php:1 461487 #: src/cloud.cls.php:1503 489 488 msgid "We are working hard to improve your online service experience. The service will be unavailable while we work. We apologize for any inconvenience." 490 489 msgstr "" 491 490 492 #: src/cloud.cls.php:15 03493 #: src/cloud.cls.php:15 11491 #: src/cloud.cls.php:1545 492 #: src/cloud.cls.php:1553 494 493 msgid "Message from QUIC.cloud server" 495 494 msgstr "" 496 495 497 #: src/cloud.cls.php:15 19496 #: src/cloud.cls.php:1561 498 497 msgid "Good news from QUIC.cloud server" 499 498 msgstr "" 500 499 501 #: src/cloud.cls.php:15 29500 #: src/cloud.cls.php:1571 502 501 msgid "%1$s plugin version %2$s required for this action." 503 502 msgstr "" 504 503 505 #: src/cloud.cls.php:1 596504 #: src/cloud.cls.php:1638 506 505 msgid "Failed to communicate with QUIC.cloud server" 507 506 msgstr "" 508 507 509 #: src/cloud.cls.php:16 50508 #: src/cloud.cls.php:1692 510 509 msgid "Site not recognized. QUIC.cloud deactivated automatically. Please reactivate your QUIC.cloud account." 511 510 msgstr "" 512 511 513 #: src/cloud.cls.php:16 51512 #: src/cloud.cls.php:1693 514 513 msgid "Click here to proceed." 515 514 msgstr "" 516 515 517 #: src/cloud.cls.php:19 19516 #: src/cloud.cls.php:1961 518 517 msgid "Linked to QUIC.cloud preview environment, for testing purpose only." 519 518 msgstr "" 520 519 521 #: src/cloud.cls.php: 1972520 #: src/cloud.cls.php:2014 522 521 msgid "Sync QUIC.cloud status successfully." 523 522 msgstr "" 524 523 525 #: src/cloud.cls.php: 1979524 #: src/cloud.cls.php:2021 526 525 msgid "Sync credit allowance with Cloud Server successfully." 527 526 msgstr "" 528 527 529 #: src/conf.cls.php:5 19528 #: src/conf.cls.php:523 530 529 msgid "Saving option failed. IPv4 only for %s." 531 530 msgstr "" 532 531 533 #: src/conf.cls.php: 696532 #: src/conf.cls.php:700 534 533 msgid "Changed setting successfully." 535 534 msgstr "" … … 543 542 msgstr "" 544 543 545 #: src/crawler-map.cls.php:2 78544 #: src/crawler-map.cls.php:287 546 545 msgid "Sitemap cleaned successfully" 547 546 msgstr "" 548 547 549 #: src/crawler-map.cls.php:3 73548 #: src/crawler-map.cls.php:382 550 549 msgid "No valid sitemap parsed for crawler." 551 550 msgstr "" 552 551 553 #: src/crawler-map.cls.php:3 78552 #: src/crawler-map.cls.php:387 554 553 msgid "Sitemap created successfully: %d items" 555 554 msgstr "" 556 555 557 #: src/crawler.cls.php:14 2556 #: src/crawler.cls.php:148 558 557 msgid "Crawler disabled list is cleared! All crawlers are set to active! " 559 558 msgstr "" 560 559 561 #: src/crawler.cls.php:23 1560 #: src/crawler.cls.php:237 562 561 msgid "Started async crawling" 563 562 msgstr "" 564 563 565 #: src/crawler.cls.php:12 28564 #: src/crawler.cls.php:1234 566 565 msgid "Guest" 567 566 msgstr "" 568 567 569 #: src/crawler.cls.php:1 395568 #: src/crawler.cls.php:1404 570 569 msgid "Manually added to blocklist" 571 570 msgstr "" 572 571 573 #: src/crawler.cls.php:1 398572 #: src/crawler.cls.php:1407 574 573 msgid "Previously existed in blocklist" 575 574 msgstr "" … … 662 661 #: src/doc.cls.php:92 663 662 #: src/doc.cls.php:147 664 #: tpl/cdn/cf.tpl.php:12 8665 #: tpl/dash/dashboard.tpl.php:17 5666 #: tpl/dash/dashboard.tpl.php:7 79663 #: tpl/cdn/cf.tpl.php:127 664 #: tpl/dash/dashboard.tpl.php:177 665 #: tpl/dash/dashboard.tpl.php:786 667 666 #: tpl/general/online.tpl.php:67 668 667 #: tpl/general/online.tpl.php:79 669 668 #: tpl/general/online.tpl.php:95 670 #: tpl/img_optm/summary.tpl.php:4 8669 #: tpl/img_optm/summary.tpl.php:49 671 670 #: tpl/inc/check_cache_disabled.php:42 672 671 msgid "Learn More" … … 962 961 #: src/gui.cls.php:512 963 962 #: src/gui.cls.php:672 964 #: tpl/cdn/cf.tpl.php: 80963 #: tpl/cdn/cf.tpl.php:79 965 964 #: tpl/cdn/entry.tpl.php:9 966 965 msgid "Cloudflare" … … 971 970 #: src/lang.cls.php:117 972 971 #: tpl/dash/dashboard.tpl.php:54 973 #: tpl/dash/dashboard.tpl.php:5 85972 #: tpl/dash/dashboard.tpl.php:592 974 973 #: tpl/toolbox/purge.tpl.php:44 975 974 msgid "Object Cache" … … 997 996 #: src/gui.cls.php:581 998 997 #: src/gui.cls.php:741 999 #: src/lang.cls.php:18 3998 #: src/lang.cls.php:184 1000 999 #: tpl/presets/standard.tpl.php:42 1001 1000 #: tpl/toolbox/purge.tpl.php:98 … … 1008 1007 1009 1008 #: src/gui.cls.php:621 1010 #: tpl/cdn/cf.tpl.php:261011 1009 #: tpl/db_optm/entry.tpl.php:6 1012 1010 msgid "Manage" … … 1014 1012 1015 1013 #: src/gui.cls.php:761 1016 #: tpl/img_optm/summary.tpl.php:14 11014 #: tpl/img_optm/summary.tpl.php:149 1017 1015 msgid "Remove all previous unfinished image optimization requests." 1018 1016 msgstr "" 1019 1017 1020 1018 #: src/gui.cls.php:762 1021 #: tpl/img_optm/summary.tpl.php:1 431019 #: tpl/img_optm/summary.tpl.php:151 1022 1020 msgid "Clean Up Unfinished Data" 1023 1021 msgstr "" … … 1175 1173 1176 1174 #: src/lang.cls.php:28 1177 #: tpl/dash/dashboard.tpl.php:5 271175 #: tpl/dash/dashboard.tpl.php:534 1178 1176 msgid "Images requested" 1179 1177 msgstr "" 1180 1178 1181 1179 #: src/lang.cls.php:29 1182 #: tpl/dash/dashboard.tpl.php:5 371180 #: tpl/dash/dashboard.tpl.php:544 1183 1181 msgid "Images notified to pull" 1184 1182 msgstr "" … … 1214 1212 #: src/lang.cls.php:94 1215 1213 #: tpl/dash/dashboard.tpl.php:55 1216 #: tpl/dash/dashboard.tpl.php:5 861214 #: tpl/dash/dashboard.tpl.php:593 1217 1215 #: tpl/presets/standard.tpl.php:12 1218 1216 msgid "Browser Cache" … … 1452 1450 1453 1451 #: src/lang.cls.php:156 1454 #: tpl/page_optm/settings_tuning_css.tpl.php:1 311452 #: tpl/page_optm/settings_tuning_css.tpl.php:157 1455 1453 msgid "Load CSS Asynchronously" 1456 1454 msgstr "" … … 1530 1528 1531 1529 #: src/lang.cls.php:175 1530 msgid "CCSS Selector Allowlist" 1531 msgstr "" 1532 1533 #: src/lang.cls.php:176 1532 1534 msgid "JS Deferred / Delayed Excludes" 1533 1535 msgstr "" 1534 1536 1535 #: src/lang.cls.php:17 61537 #: src/lang.cls.php:177 1536 1538 msgid "Guest Mode JS Excludes" 1537 1539 msgstr "" 1538 1540 1539 #: src/lang.cls.php:17 71541 #: src/lang.cls.php:178 1540 1542 #: tpl/presets/standard.tpl.php:44 1541 1543 msgid "Remove WordPress Emoji" 1542 1544 msgstr "" 1543 1545 1544 #: src/lang.cls.php:17 81546 #: src/lang.cls.php:179 1545 1547 #: tpl/presets/standard.tpl.php:45 1546 1548 msgid "Remove Noscript Tags" 1547 1549 msgstr "" 1548 1550 1549 #: src/lang.cls.php:1 791551 #: src/lang.cls.php:180 1550 1552 msgid "URI Excludes" 1551 1553 msgstr "" 1552 1554 1553 #: src/lang.cls.php:18 01555 #: src/lang.cls.php:181 1554 1556 msgid "Optimize for Guests Only" 1555 1557 msgstr "" 1556 1558 1557 #: src/lang.cls.php:18 11559 #: src/lang.cls.php:182 1558 1560 msgid "Role Excludes" 1559 1561 msgstr "" 1560 1562 1561 #: src/lang.cls.php:18 41563 #: src/lang.cls.php:185 1562 1564 msgid "Gravatar Cache Cron" 1563 1565 msgstr "" 1564 1566 1565 #: src/lang.cls.php:18 51567 #: src/lang.cls.php:186 1566 1568 msgid "Gravatar Cache TTL" 1567 1569 msgstr "" 1568 1570 1569 #: src/lang.cls.php:18 71571 #: src/lang.cls.php:188 1570 1572 msgid "Lazy Load Images" 1571 1573 msgstr "" 1572 1574 1573 #: src/lang.cls.php:18 81575 #: src/lang.cls.php:189 1574 1576 msgid "Lazy Load Image Excludes" 1575 1577 msgstr "" 1576 1578 1577 #: src/lang.cls.php:1 891579 #: src/lang.cls.php:190 1578 1580 msgid "Lazy Load Image Class Name Excludes" 1579 1581 msgstr "" 1580 1582 1581 #: src/lang.cls.php:19 01583 #: src/lang.cls.php:191 1582 1584 msgid "Lazy Load Image Parent Class Name Excludes" 1583 1585 msgstr "" 1584 1586 1585 #: src/lang.cls.php:19 11587 #: src/lang.cls.php:192 1586 1588 msgid "Lazy Load Iframe Class Name Excludes" 1587 1589 msgstr "" 1588 1590 1589 #: src/lang.cls.php:19 21591 #: src/lang.cls.php:193 1590 1592 msgid "Lazy Load Iframe Parent Class Name Excludes" 1591 1593 msgstr "" 1592 1594 1593 #: src/lang.cls.php:19 31595 #: src/lang.cls.php:194 1594 1596 msgid "Lazy Load URI Excludes" 1595 1597 msgstr "" 1596 1598 1597 #: src/lang.cls.php:19 41599 #: src/lang.cls.php:195 1598 1600 msgid "LQIP Excludes" 1599 1601 msgstr "" 1600 1602 1601 #: src/lang.cls.php:19 51603 #: src/lang.cls.php:196 1602 1604 msgid "Basic Image Placeholder" 1603 1605 msgstr "" 1604 1606 1605 #: src/lang.cls.php:19 61607 #: src/lang.cls.php:197 1606 1608 msgid "Responsive Placeholder" 1607 1609 msgstr "" 1608 1610 1609 #: src/lang.cls.php:19 71611 #: src/lang.cls.php:198 1610 1612 msgid "Responsive Placeholder Color" 1611 1613 msgstr "" 1612 1614 1613 #: src/lang.cls.php:19 81615 #: src/lang.cls.php:199 1614 1616 msgid "Responsive Placeholder SVG" 1615 1617 msgstr "" 1616 1618 1617 #: src/lang.cls.php: 1991619 #: src/lang.cls.php:200 1618 1620 msgid "LQIP Cloud Generator" 1619 1621 msgstr "" 1620 1622 1621 #: src/lang.cls.php:20 01623 #: src/lang.cls.php:201 1622 1624 msgid "LQIP Quality" 1623 1625 msgstr "" 1624 1626 1625 #: src/lang.cls.php:20 11627 #: src/lang.cls.php:202 1626 1628 msgid "LQIP Minimum Dimensions" 1627 1629 msgstr "" 1628 1630 1629 #: src/lang.cls.php:20 31631 #: src/lang.cls.php:204 1630 1632 msgid "Generate LQIP In Background" 1631 1633 msgstr "" 1632 1634 1633 #: src/lang.cls.php:20 41635 #: src/lang.cls.php:205 1634 1636 msgid "Lazy Load Iframes" 1635 1637 msgstr "" 1636 1638 1637 #: src/lang.cls.php:20 51639 #: src/lang.cls.php:206 1638 1640 msgid "Add Missing Sizes" 1639 1641 msgstr "" 1640 1642 1641 #: src/lang.cls.php:20 61643 #: src/lang.cls.php:207 1642 1644 #: src/metabox.cls.php:33 1643 1645 #: src/metabox.cls.php:34 1644 #: tpl/page_optm/settings_vpi.tpl.php:1 21646 #: tpl/page_optm/settings_vpi.tpl.php:15 1645 1647 msgid "Viewport Images" 1646 1648 msgstr "" 1647 1649 1648 #: src/lang.cls.php:20 71650 #: src/lang.cls.php:208 1649 1651 msgid "Viewport Images Cron" 1650 1652 msgstr "" 1651 1653 1652 #: src/lang.cls.php:2 091654 #: src/lang.cls.php:210 1653 1655 msgid "Auto Request Cron" 1654 1656 msgstr "" 1655 1657 1656 #: src/lang.cls.php:21 01658 #: src/lang.cls.php:211 1657 1659 msgid "Optimize Original Images" 1658 1660 msgstr "" 1659 1661 1660 #: src/lang.cls.php:21 11662 #: src/lang.cls.php:212 1661 1663 msgid "Remove Original Backups" 1662 1664 msgstr "" 1663 1665 1664 #: src/lang.cls.php:21 21666 #: src/lang.cls.php:213 1665 1667 msgid "Next-Gen Image Format" 1666 1668 msgstr "" 1667 1669 1668 #: src/lang.cls.php:21 31670 #: src/lang.cls.php:214 1669 1671 msgid "Optimize Losslessly" 1670 1672 msgstr "" 1671 1673 1672 #: src/lang.cls.php:21 41674 #: src/lang.cls.php:215 1673 1675 msgid "Preserve EXIF/XMP data" 1674 1676 msgstr "" 1675 1677 1676 #: src/lang.cls.php:21 51678 #: src/lang.cls.php:216 1677 1679 msgid "WebP/AVIF Attribute To Replace" 1678 1680 msgstr "" 1679 1681 1680 #: src/lang.cls.php:21 61682 #: src/lang.cls.php:217 1681 1683 msgid "WebP/AVIF For Extra srcset" 1682 1684 msgstr "" 1683 1685 1684 #: src/lang.cls.php:21 71686 #: src/lang.cls.php:218 1685 1687 msgid "WordPress Image Quality Control" 1686 1688 msgstr "" 1687 1689 1688 #: src/lang.cls.php:21 81690 #: src/lang.cls.php:219 1689 1691 #: tpl/esi_widget_edit.php:36 1690 1692 msgid "Enable ESI" 1691 1693 msgstr "" 1692 1694 1693 #: src/lang.cls.php:2 191695 #: src/lang.cls.php:220 1694 1696 msgid "Cache Admin Bar" 1695 1697 msgstr "" 1696 1698 1697 #: src/lang.cls.php:22 01699 #: src/lang.cls.php:221 1698 1700 msgid "Cache Comment Form" 1699 1701 msgstr "" 1700 1702 1701 #: src/lang.cls.php:22 11703 #: src/lang.cls.php:222 1702 1704 msgid "ESI Nonces" 1703 1705 msgstr "" 1704 1706 1705 #: src/lang.cls.php:22 21706 #: tpl/page_optm/settings_css.tpl.php:12 31707 #: tpl/page_optm/settings_css.tpl.php:2 401708 #: tpl/page_optm/settings_vpi.tpl.php: 671707 #: src/lang.cls.php:223 1708 #: tpl/page_optm/settings_css.tpl.php:126 1709 #: tpl/page_optm/settings_css.tpl.php:250 1710 #: tpl/page_optm/settings_vpi.tpl.php:73 1709 1711 msgid "Vary Group" 1710 1712 msgstr "" 1711 1713 1712 #: src/lang.cls.php:22 31714 #: src/lang.cls.php:224 1713 1715 msgid "Purge All Hooks" 1714 1716 msgstr "" 1715 1717 1716 #: src/lang.cls.php:22 41718 #: src/lang.cls.php:225 1717 1719 msgid "Improve HTTP/HTTPS Compatibility" 1718 1720 msgstr "" 1719 1721 1720 #: src/lang.cls.php:22 51722 #: src/lang.cls.php:226 1721 1723 msgid "Instant Click" 1722 1724 msgstr "" 1723 1725 1724 #: src/lang.cls.php:22 61726 #: src/lang.cls.php:227 1725 1727 msgid "Do Not Cache Cookies" 1726 1728 msgstr "" 1727 1729 1728 #: src/lang.cls.php:22 71730 #: src/lang.cls.php:228 1729 1731 msgid "Do Not Cache User Agents" 1730 1732 msgstr "" 1731 1733 1732 #: src/lang.cls.php:22 81734 #: src/lang.cls.php:229 1733 1735 msgid "Login Cookie" 1734 1736 msgstr "" 1735 1737 1736 #: src/lang.cls.php:2 291738 #: src/lang.cls.php:230 1737 1739 msgid "Vary Cookies" 1738 1740 msgstr "" 1739 1741 1740 #: src/lang.cls.php:23 11742 #: src/lang.cls.php:232 1741 1743 msgid "Frontend Heartbeat Control" 1742 1744 msgstr "" 1743 1745 1744 #: src/lang.cls.php:23 21746 #: src/lang.cls.php:233 1745 1747 msgid "Frontend Heartbeat TTL" 1746 1748 msgstr "" 1747 1749 1748 #: src/lang.cls.php:23 31750 #: src/lang.cls.php:234 1749 1751 msgid "Backend Heartbeat Control" 1750 1752 msgstr "" 1751 1753 1752 #: src/lang.cls.php:23 41754 #: src/lang.cls.php:235 1753 1755 msgid "Backend Heartbeat TTL" 1754 1756 msgstr "" 1755 1757 1756 #: src/lang.cls.php:23 51758 #: src/lang.cls.php:236 1757 1759 msgid "Editor Heartbeat" 1758 1760 msgstr "" 1759 1761 1760 #: src/lang.cls.php:23 61762 #: src/lang.cls.php:237 1761 1763 msgid "Editor Heartbeat TTL" 1762 1764 msgstr "" 1763 1765 1764 #: src/lang.cls.php:23 81766 #: src/lang.cls.php:239 1765 1767 msgid "Use CDN Mapping" 1766 1768 msgstr "" 1767 1769 1768 #: src/lang.cls.php:2 391770 #: src/lang.cls.php:240 1769 1771 msgid "CDN URL" 1770 1772 msgstr "" 1771 1773 1772 #: src/lang.cls.php:24 01774 #: src/lang.cls.php:241 1773 1775 msgid "Include Images" 1774 1776 msgstr "" 1775 1777 1776 #: src/lang.cls.php:24 11778 #: src/lang.cls.php:242 1777 1779 msgid "Include CSS" 1778 1780 msgstr "" 1779 1781 1780 #: src/lang.cls.php:24 21782 #: src/lang.cls.php:243 1781 1783 msgid "Include JS" 1782 1784 msgstr "" 1783 1785 1784 #: src/lang.cls.php:24 31786 #: src/lang.cls.php:244 1785 1787 #: tpl/cdn/other.tpl.php:87 1786 1788 msgid "Include File Types" 1787 1789 msgstr "" 1788 1790 1789 #: src/lang.cls.php:24 41791 #: src/lang.cls.php:245 1790 1792 msgid "HTML Attribute To Replace" 1791 1793 msgstr "" 1792 1794 1793 #: src/lang.cls.php:24 51795 #: src/lang.cls.php:246 1794 1796 msgid "Original URLs" 1795 1797 msgstr "" 1796 1798 1797 #: src/lang.cls.php:24 61799 #: src/lang.cls.php:247 1798 1800 msgid "Included Directories" 1799 1801 msgstr "" 1800 1802 1801 #: src/lang.cls.php:24 71803 #: src/lang.cls.php:248 1802 1804 msgid "Exclude Path" 1803 1805 msgstr "" 1804 1806 1805 #: src/lang.cls.php:24 81807 #: src/lang.cls.php:249 1806 1808 msgid "Cloudflare API" 1807 1809 msgstr "" 1808 1810 1809 #: src/lang.cls.php:25 11811 #: src/lang.cls.php:252 1810 1812 msgid "Crawl Interval" 1811 1813 msgstr "" 1812 1814 1813 #: src/lang.cls.php:25 21815 #: src/lang.cls.php:253 1814 1816 msgid "Server Load Limit" 1815 1817 msgstr "" 1816 1818 1817 #: src/lang.cls.php:25 31819 #: src/lang.cls.php:254 1818 1820 msgid "Role Simulation" 1819 1821 msgstr "" 1820 1822 1821 #: src/lang.cls.php:25 41823 #: src/lang.cls.php:255 1822 1824 msgid "Cookie Simulation" 1823 1825 msgstr "" 1824 1826 1825 #: src/lang.cls.php:25 51827 #: src/lang.cls.php:256 1826 1828 msgid "Custom Sitemap" 1827 1829 msgstr "" 1828 1830 1829 #: src/lang.cls.php:25 71831 #: src/lang.cls.php:258 1830 1832 #: tpl/inc/disabled_all.php:5 1831 1833 msgid "Disable All Features" 1832 1834 msgstr "" 1833 1835 1834 #: src/lang.cls.php:25 81836 #: src/lang.cls.php:259 1835 1837 #: tpl/toolbox/log_viewer.tpl.php:11 1836 1838 msgid "Debug Log" 1837 1839 msgstr "" 1838 1840 1839 #: src/lang.cls.php:2 591841 #: src/lang.cls.php:260 1840 1842 msgid "Admin IPs" 1841 1843 msgstr "" 1842 1844 1843 #: src/lang.cls.php:26 01845 #: src/lang.cls.php:261 1844 1846 msgid "Debug Level" 1845 1847 msgstr "" 1846 1848 1847 #: src/lang.cls.php:26 11849 #: src/lang.cls.php:262 1848 1850 msgid "Log File Size Limit" 1849 1851 msgstr "" 1850 1852 1851 #: src/lang.cls.php:26 21853 #: src/lang.cls.php:263 1852 1854 msgid "Collapse Query Strings" 1853 1855 msgstr "" 1854 1856 1855 #: src/lang.cls.php:26 31857 #: src/lang.cls.php:264 1856 1858 msgid "Debug URI Includes" 1857 1859 msgstr "" 1858 1860 1859 #: src/lang.cls.php:26 41861 #: src/lang.cls.php:265 1860 1862 msgid "Debug URI Excludes" 1861 1863 msgstr "" 1862 1864 1863 #: src/lang.cls.php:26 51865 #: src/lang.cls.php:266 1864 1866 msgid "Debug String Excludes" 1865 1867 msgstr "" 1866 1868 1867 #: src/lang.cls.php:26 71869 #: src/lang.cls.php:268 1868 1870 msgid "Revisions Max Number" 1869 1871 msgstr "" 1870 1872 1871 #: src/lang.cls.php:26 81873 #: src/lang.cls.php:269 1872 1874 msgid "Revisions Max Age" 1873 1875 msgstr "" … … 2100 2102 msgstr "" 2101 2103 2104 #: src/tool.cls.php:37 2105 #: src/tool.cls.php:48 2106 msgid "Failed to detect IP" 2107 msgstr "" 2108 2102 2109 #: src/utility.cls.php:235 2103 2110 msgid "right now" … … 2109 2116 2110 2117 #: src/utility.cls.php:238 2111 #: tpl/dash/dashboard.tpl.php:4 142112 #: tpl/dash/dashboard.tpl.php:4 832118 #: tpl/dash/dashboard.tpl.php:421 2119 #: tpl/dash/dashboard.tpl.php:490 2113 2120 msgid " %s ago" 2114 2121 msgstr "" … … 2209 2216 2210 2217 #: tpl/banner/cloud_promo.tpl.php:30 2218 #: tpl/page_optm/settings_tuning_css.tpl.php:58 2219 #: tpl/page_optm/settings_tuning_css.tpl.php:134 2211 2220 msgid "Learn more" 2212 2221 msgstr "" … … 2234 2243 #: tpl/banner/new_version.php:71 2235 2244 #: tpl/banner/new_version_dev.tpl.php:24 2236 #: tpl/toolbox/beta_test.tpl.php: 632245 #: tpl/toolbox/beta_test.tpl.php:59 2237 2246 msgid "Upgrade" 2238 2247 msgstr "" … … 2263 2272 2264 2273 #: tpl/banner/score.php:28 2265 #: tpl/dash/dashboard.tpl.php:3 532274 #: tpl/dash/dashboard.tpl.php:360 2266 2275 msgid "Page Load Time" 2267 2276 msgstr "" … … 2269 2278 #: tpl/banner/score.php:34 2270 2279 #: tpl/banner/score.php:74 2271 #: tpl/dash/dashboard.tpl.php:3 692272 #: tpl/dash/dashboard.tpl.php:45 02280 #: tpl/dash/dashboard.tpl.php:376 2281 #: tpl/dash/dashboard.tpl.php:457 2273 2282 msgid "Before" 2274 2283 msgstr "" … … 2276 2285 #: tpl/banner/score.php:45 2277 2286 #: tpl/banner/score.php:84 2278 #: tpl/dash/dashboard.tpl.php:3 782279 #: tpl/dash/dashboard.tpl.php:4 582287 #: tpl/dash/dashboard.tpl.php:385 2288 #: tpl/dash/dashboard.tpl.php:465 2280 2289 msgid "After" 2281 2290 msgstr "" … … 2283 2292 #: tpl/banner/score.php:55 2284 2293 #: tpl/banner/score.php:94 2285 #: tpl/dash/dashboard.tpl.php:3 862286 #: tpl/dash/dashboard.tpl.php:4 662294 #: tpl/dash/dashboard.tpl.php:393 2295 #: tpl/dash/dashboard.tpl.php:473 2287 2296 msgid "Improved by" 2288 2297 msgstr "" 2289 2298 2290 2299 #: tpl/banner/score.php:68 2291 #: tpl/dash/dashboard.tpl.php:43 02300 #: tpl/dash/dashboard.tpl.php:437 2292 2301 msgid "PageSpeed Score" 2293 2302 msgstr "" … … 2538 2547 2539 2548 #: tpl/cache/settings-esi.tpl.php:35 2540 #: tpl/cdn/cf.tpl.php:8 42549 #: tpl/cdn/cf.tpl.php:83 2541 2550 #: tpl/crawler/summary.tpl.php:53 2542 2551 #: tpl/inc/check_cache_disabled.php:31 2543 2552 #: tpl/inc/check_if_network_disable_all.php:18 2544 #: tpl/page_optm/settings_css.tpl.php: 692545 #: tpl/page_optm/settings_css.tpl.php:1 822553 #: tpl/page_optm/settings_css.tpl.php:72 2554 #: tpl/page_optm/settings_css.tpl.php:192 2546 2555 #: tpl/page_optm/settings_localization.tpl.php:11 2547 2556 msgid "WARNING" … … 2580 2589 #: tpl/page_optm/settings_tuning.tpl.php:121 2581 2590 #: tpl/page_optm/settings_tuning_css.tpl.php:25 2582 #: tpl/page_optm/settings_tuning_css.tpl.php:8 52591 #: tpl/page_optm/settings_tuning_css.tpl.php:86 2583 2592 msgid "Filter %s is supported." 2584 2593 msgstr "" … … 2610 2619 #: tpl/page_optm/settings_tuning.tpl.php:83 2611 2620 #: tpl/page_optm/settings_tuning_css.tpl.php:27 2612 #: tpl/page_optm/settings_tuning_css.tpl.php:66 2621 #: tpl/page_optm/settings_tuning_css.tpl.php:67 2622 #: tpl/page_optm/settings_tuning_css.tpl.php:143 2613 2623 msgid "Predefined list will also be combined w/ the above settings" 2614 2624 msgstr "" … … 2712 2722 #: tpl/cache/settings-purge.tpl.php:89 2713 2723 #: tpl/cache/settings-purge.tpl.php:113 2714 #: tpl/page_optm/settings_tuning_css.tpl.php:60 2724 #: tpl/page_optm/settings_tuning_css.tpl.php:61 2725 #: tpl/page_optm/settings_tuning_css.tpl.php:137 2715 2726 msgid "Note" 2716 2727 msgstr "" … … 3019 3030 3020 3031 #: tpl/cdn/cf.tpl.php:11 3032 msgid "Cloudflare Settings" 3033 msgstr "" 3034 3035 #: tpl/cdn/cf.tpl.php:25 3036 msgid "Use %s API functionality." 3037 msgstr "" 3038 3039 #: tpl/cdn/cf.tpl.php:29 3040 msgid "Global API Key / API Token" 3041 msgstr "" 3042 3043 #: tpl/cdn/cf.tpl.php:33 3044 msgid "Your API key / token is used to access %s APIs." 3045 msgstr "" 3046 3047 #: tpl/cdn/cf.tpl.php:34 3048 msgid "Get it from <a %1$s>%2$s</a>." 3049 msgstr "" 3050 3051 #: tpl/cdn/cf.tpl.php:35 3052 msgid "Recommended to generate the token from Cloudflare API token template \"WordPress\"." 3053 msgstr "" 3054 3055 #: tpl/cdn/cf.tpl.php:40 3056 msgid "Email Address" 3057 msgstr "" 3058 3059 #: tpl/cdn/cf.tpl.php:44 3060 msgid "Your Email address on %s." 3061 msgstr "" 3062 3063 #: tpl/cdn/cf.tpl.php:45 3064 msgid "Optional when API token used." 3065 msgstr "" 3066 3067 #: tpl/cdn/cf.tpl.php:50 3068 msgid "Domain" 3069 msgstr "" 3070 3071 #: tpl/cdn/cf.tpl.php:58 3072 msgid "You can just type part of the domain." 3073 msgstr "" 3074 3075 #: tpl/cdn/cf.tpl.php:59 3076 msgid "Once saved, it will be matched with the current list and completed automatically." 3077 msgstr "" 3078 3079 #: tpl/cdn/cf.tpl.php:85 3080 msgid "To enable the following functionality, turn ON Cloudflare API in CDN Settings." 3081 msgstr "" 3082 3083 #: tpl/cdn/cf.tpl.php:90 3084 msgid "Cloudflare Domain" 3085 msgstr "" 3086 3087 #: tpl/cdn/cf.tpl.php:91 3088 msgid "Cloudflare Zone" 3089 msgstr "" 3090 3091 #: tpl/cdn/cf.tpl.php:94 3092 msgid "Development Mode" 3093 msgstr "" 3094 3095 #: tpl/cdn/cf.tpl.php:96 3096 msgid "Turn ON" 3097 msgstr "" 3098 3099 #: tpl/cdn/cf.tpl.php:99 3100 msgid "Turn OFF" 3101 msgstr "" 3102 3103 #: tpl/cdn/cf.tpl.php:102 3104 msgid "Check Status" 3105 msgstr "" 3106 3107 #: tpl/cdn/cf.tpl.php:111 3108 msgid "Current status is %1$s since %2$s." 3109 msgstr "" 3110 3111 #: tpl/cdn/cf.tpl.php:116 3112 msgid "Current status is %s." 3113 msgstr "" 3114 3115 #: tpl/cdn/cf.tpl.php:117 3116 msgid "Development mode will be automatically turned off in %s." 3117 msgstr "" 3118 3119 #: tpl/cdn/cf.tpl.php:125 3120 msgid "Temporarily bypass Cloudflare cache. This allows changes to the origin server to be seen in realtime." 3121 msgstr "" 3122 3123 #: tpl/cdn/cf.tpl.php:126 3124 msgid "Development Mode will be turned off automatically after three hours." 3125 msgstr "" 3126 3127 #: tpl/cdn/cf.tpl.php:132 3128 msgid "Cloudflare Cache" 3129 msgstr "" 3130 3131 #: tpl/cdn/cf.tpl.php:138 3132 msgid "Purge Everything" 3133 msgstr "" 3134 3135 #: tpl/cdn/entry.tpl.php:8 3136 msgid "QUIC.cloud" 3137 msgstr "" 3138 3139 #: tpl/cdn/entry.tpl.php:10 3140 msgid "Other Static CDN" 3141 msgstr "" 3142 3143 #: tpl/cdn/entry.tpl.php:17 3144 msgid "LiteSpeed Cache CDN" 3145 msgstr "" 3146 3021 3147 #: tpl/cdn/other.tpl.php:20 3022 3148 msgid "CDN Settings" 3023 msgstr ""3024 3025 #: tpl/cdn/cf.tpl.php:253026 msgid "Use %s API functionality."3027 msgstr ""3028 3029 #: tpl/cdn/cf.tpl.php:263030 msgid "This can be managed from %1$s%2$s tab."3031 msgstr ""3032 3033 #: tpl/cdn/cf.tpl.php:303034 msgid "Global API Key / API Token"3035 msgstr ""3036 3037 #: tpl/cdn/cf.tpl.php:343038 msgid "Your API key / token is used to access %s APIs."3039 msgstr ""3040 3041 #: tpl/cdn/cf.tpl.php:353042 msgid "Get it from <a %1$s>%2$s</a>."3043 msgstr ""3044 3045 #: tpl/cdn/cf.tpl.php:363046 msgid "Recommended to generate the token from Cloudflare API token template \"WordPress\"."3047 msgstr ""3048 3049 #: tpl/cdn/cf.tpl.php:413050 msgid "Email Address"3051 msgstr ""3052 3053 #: tpl/cdn/cf.tpl.php:453054 msgid "Your Email address on %s."3055 msgstr ""3056 3057 #: tpl/cdn/cf.tpl.php:463058 msgid "Optional when API token used."3059 msgstr ""3060 3061 #: tpl/cdn/cf.tpl.php:513062 msgid "Domain"3063 msgstr ""3064 3065 #: tpl/cdn/cf.tpl.php:593066 msgid "You can just type part of the domain."3067 msgstr ""3068 3069 #: tpl/cdn/cf.tpl.php:603070 msgid "Once saved, it will be matched with the current list and completed automatically."3071 msgstr ""3072 3073 #: tpl/cdn/cf.tpl.php:863074 msgid "To enable the following functionality, turn ON Cloudflare API in CDN Settings."3075 msgstr ""3076 3077 #: tpl/cdn/cf.tpl.php:913078 msgid "Cloudflare Domain"3079 msgstr ""3080 3081 #: tpl/cdn/cf.tpl.php:923082 msgid "Cloudflare Zone"3083 msgstr ""3084 3085 #: tpl/cdn/cf.tpl.php:953086 msgid "Development Mode"3087 msgstr ""3088 3089 #: tpl/cdn/cf.tpl.php:973090 msgid "Turn ON"3091 msgstr ""3092 3093 #: tpl/cdn/cf.tpl.php:1003094 msgid "Turn OFF"3095 msgstr ""3096 3097 #: tpl/cdn/cf.tpl.php:1033098 msgid "Check Status"3099 msgstr ""3100 3101 #: tpl/cdn/cf.tpl.php:1123102 msgid "Current status is %1$s since %2$s."3103 msgstr ""3104 3105 #: tpl/cdn/cf.tpl.php:1173106 msgid "Current status is %s."3107 msgstr ""3108 3109 #: tpl/cdn/cf.tpl.php:1183110 msgid "Development mode will be automatically turned off in %s."3111 msgstr ""3112 3113 #: tpl/cdn/cf.tpl.php:1263114 msgid "Temporarily bypass Cloudflare cache. This allows changes to the origin server to be seen in realtime."3115 msgstr ""3116 3117 #: tpl/cdn/cf.tpl.php:1273118 msgid "Development Mode will be turned off automatically after three hours."3119 msgstr ""3120 3121 #: tpl/cdn/cf.tpl.php:1333122 msgid "Cloudflare Cache"3123 msgstr ""3124 3125 #: tpl/cdn/cf.tpl.php:1393126 msgid "Purge Everything"3127 msgstr ""3128 3129 #: tpl/cdn/entry.tpl.php:83130 msgid "QUIC.cloud"3131 msgstr ""3132 3133 #: tpl/cdn/entry.tpl.php:103134 msgid "Other Static CDN"3135 msgstr ""3136 3137 #: tpl/cdn/entry.tpl.php:173138 msgid "LiteSpeed Cache CDN"3139 3149 msgstr "" 3140 3150 … … 3202 3212 3203 3213 #: tpl/cdn/qc.tpl.php:20 3204 #: tpl/dash/dashboard.tpl.php:81 13214 #: tpl/dash/dashboard.tpl.php:818 3205 3215 msgid "Refresh Status" 3206 3216 msgstr "" … … 3225 3235 3226 3236 #: tpl/cdn/qc.tpl.php:32 3227 #: tpl/dash/dashboard.tpl.php:1453228 3237 #: tpl/general/online.tpl.php:46 3229 3238 #: tpl/general/online.tpl.php:132 … … 3239 3248 3240 3249 #: tpl/cdn/qc.tpl.php:35 3241 #: tpl/dash/dashboard.tpl.php:15 43250 #: tpl/dash/dashboard.tpl.php:156 3242 3251 #: tpl/general/online.tpl.php:19 3243 3252 msgid "QUIC.cloud provides CDN and online optimization services, and is not required. You may use many features of this plugin without QUIC.cloud." … … 3245 3254 3246 3255 #: tpl/cdn/qc.tpl.php:36 3247 #: tpl/dash/dashboard.tpl.php:15 63256 #: tpl/dash/dashboard.tpl.php:158 3248 3257 msgid "Learn More about QUIC.cloud" 3249 3258 msgstr "" … … 3262 3271 3263 3272 #: tpl/cdn/qc.tpl.php:51 3264 #: tpl/dash/dashboard.tpl.php:7 893273 #: tpl/dash/dashboard.tpl.php:796 3265 3274 msgid "Enable QUIC.cloud CDN" 3266 3275 msgstr "" … … 3297 3306 #: tpl/cdn/qc.tpl.php:103 3298 3307 #: tpl/cdn/qc.tpl.php:106 3299 #: tpl/dash/dashboard.tpl.php:3 383308 #: tpl/dash/dashboard.tpl.php:345 3300 3309 #: tpl/general/online.tpl.php:140 3301 3310 msgid "Link to QUIC.cloud" … … 3325 3334 3326 3335 #: tpl/crawler/blacklist.tpl.php:25 3327 #: tpl/img_optm/summary.tpl.php:1 663336 #: tpl/img_optm/summary.tpl.php:174 3328 3337 msgid "Total" 3329 3338 msgstr "" … … 3413 3422 #: tpl/crawler/map.tpl.php:68 3414 3423 #: tpl/dash/dashboard.tpl.php:74 3415 #: tpl/dash/dashboard.tpl.php:7 333424 #: tpl/dash/dashboard.tpl.php:740 3416 3425 msgid "Crawler Status" 3417 3426 msgstr "" … … 3509 3518 #: tpl/crawler/summary.tpl.php:90 3510 3519 #: tpl/dash/dashboard.tpl.php:87 3511 #: tpl/dash/dashboard.tpl.php:7 463520 #: tpl/dash/dashboard.tpl.php:753 3512 3521 msgid "Current crawler started at" 3513 3522 msgstr "" … … 3519 3528 #: tpl/crawler/summary.tpl.php:102 3520 3529 #: tpl/dash/dashboard.tpl.php:94 3521 #: tpl/dash/dashboard.tpl.php:7 533530 #: tpl/dash/dashboard.tpl.php:760 3522 3531 msgid "Last interval" 3523 3532 msgstr "" … … 3525 3534 #: tpl/crawler/summary.tpl.php:109 3526 3535 #: tpl/dash/dashboard.tpl.php:101 3527 #: tpl/dash/dashboard.tpl.php:76 03536 #: tpl/dash/dashboard.tpl.php:767 3528 3537 msgid "Ended reason" 3529 3538 msgstr "" … … 3614 3623 3615 3624 #: tpl/dash/dashboard.tpl.php:46 3616 #: tpl/dash/dashboard.tpl.php:5 773625 #: tpl/dash/dashboard.tpl.php:584 3617 3626 msgid "Cache Status" 3618 3627 msgstr "" … … 3620 3629 #: tpl/dash/dashboard.tpl.php:47 3621 3630 #: tpl/dash/dashboard.tpl.php:75 3622 #: tpl/dash/dashboard.tpl.php: 4993623 #: tpl/dash/dashboard.tpl.php:5 783624 #: tpl/dash/dashboard.tpl.php:6 063625 #: tpl/dash/dashboard.tpl.php:6 383626 #: tpl/dash/dashboard.tpl.php:67 03627 #: tpl/dash/dashboard.tpl.php:70 23628 #: tpl/dash/dashboard.tpl.php:7 343629 #: tpl/dash/dashboard.tpl.php:78 13631 #: tpl/dash/dashboard.tpl.php:506 3632 #: tpl/dash/dashboard.tpl.php:585 3633 #: tpl/dash/dashboard.tpl.php:613 3634 #: tpl/dash/dashboard.tpl.php:645 3635 #: tpl/dash/dashboard.tpl.php:677 3636 #: tpl/dash/dashboard.tpl.php:709 3637 #: tpl/dash/dashboard.tpl.php:741 3638 #: tpl/dash/dashboard.tpl.php:788 3630 3639 msgid "More" 3631 3640 msgstr "" 3632 3641 3633 3642 #: tpl/dash/dashboard.tpl.php:52 3634 #: tpl/dash/dashboard.tpl.php:5 833643 #: tpl/dash/dashboard.tpl.php:590 3635 3644 msgid "Public Cache" 3636 3645 msgstr "" 3637 3646 3638 3647 #: tpl/dash/dashboard.tpl.php:53 3639 #: tpl/dash/dashboard.tpl.php:5 843648 #: tpl/dash/dashboard.tpl.php:591 3640 3649 msgid "Private Cache" 3641 3650 msgstr "" 3642 3651 3643 3652 #: tpl/dash/dashboard.tpl.php:79 3644 #: tpl/dash/dashboard.tpl.php:7 383653 #: tpl/dash/dashboard.tpl.php:745 3645 3654 msgid "Crawler(s)" 3646 3655 msgstr "" 3647 3656 3648 3657 #: tpl/dash/dashboard.tpl.php:82 3649 #: tpl/dash/dashboard.tpl.php:74 13658 #: tpl/dash/dashboard.tpl.php:748 3650 3659 msgid "Currently active crawler" 3651 3660 msgstr "" 3652 3661 3653 3662 #: tpl/dash/dashboard.tpl.php:108 3654 #: tpl/dash/dashboard.tpl.php:7 673663 #: tpl/dash/dashboard.tpl.php:774 3655 3664 msgid "<b>Last crawled:</b> %d item(s)" 3656 3665 msgstr "" 3657 3666 3658 3667 #: tpl/dash/dashboard.tpl.php:120 3659 #: tpl/dash/dashboard.tpl.php:8 293668 #: tpl/dash/dashboard.tpl.php:836 3660 3669 msgid "News" 3661 3670 msgstr "" 3662 3671 3663 #: tpl/dash/dashboard.tpl.php:168 3672 #: tpl/dash/dashboard.tpl.php:145 3673 msgid "Free monthly quota available. Can also be used anonymously (no email required)." 3674 msgstr "" 3675 3676 #: tpl/dash/dashboard.tpl.php:152 3677 msgid "Do not show this again" 3678 msgstr "" 3679 3680 #: tpl/dash/dashboard.tpl.php:170 3664 3681 msgid "QUIC.cloud Service Usage Statistics" 3665 3682 msgstr "" 3666 3683 3667 #: tpl/dash/dashboard.tpl.php:17 03684 #: tpl/dash/dashboard.tpl.php:172 3668 3685 msgid "Refresh Usage" 3669 3686 msgstr "" 3670 3687 3671 #: tpl/dash/dashboard.tpl.php:17 13688 #: tpl/dash/dashboard.tpl.php:173 3672 3689 msgid "Sync data from Cloud" 3673 3690 msgstr "" 3674 3691 3675 #: tpl/dash/dashboard.tpl.php:183 3692 #: tpl/dash/dashboard.tpl.php:181 3693 msgid "The features below are provided by" 3694 msgstr "" 3695 3696 #: tpl/dash/dashboard.tpl.php:190 3676 3697 #: tpl/dash/network_dash.tpl.php:29 3677 3698 msgid "CDN Bandwidth" 3678 3699 msgstr "" 3679 3700 3680 #: tpl/dash/dashboard.tpl.php:1 843681 #: tpl/dash/dashboard.tpl.php:6 693701 #: tpl/dash/dashboard.tpl.php:191 3702 #: tpl/dash/dashboard.tpl.php:676 3682 3703 #: tpl/dash/network_dash.tpl.php:30 3683 3704 msgid "Low Quality Image Placeholder" 3684 3705 msgstr "" 3685 3706 3686 #: tpl/dash/dashboard.tpl.php:24 23707 #: tpl/dash/dashboard.tpl.php:249 3687 3708 #: tpl/dash/network_dash.tpl.php:78 3688 3709 msgid "Fast Queue Usage" 3689 3710 msgstr "" 3690 3711 3691 #: tpl/dash/dashboard.tpl.php:24 23712 #: tpl/dash/dashboard.tpl.php:249 3692 3713 #: tpl/dash/network_dash.tpl.php:78 3693 3714 msgid "Usage" 3694 3715 msgstr "" 3695 3716 3696 #: tpl/dash/dashboard.tpl.php:2 553717 #: tpl/dash/dashboard.tpl.php:262 3697 3718 #: tpl/dash/network_dash.tpl.php:90 3698 3719 msgid "PAYG Balance" 3699 3720 msgstr "" 3700 3721 3701 #: tpl/dash/dashboard.tpl.php:2 563722 #: tpl/dash/dashboard.tpl.php:263 3702 3723 msgid "PAYG used this month" 3703 3724 msgstr "" 3704 3725 3705 #: tpl/dash/dashboard.tpl.php:2 563726 #: tpl/dash/dashboard.tpl.php:263 3706 3727 msgid "PAYG balance and usage not included in above quota calculation." 3707 3728 msgstr "" 3708 3729 3709 #: tpl/dash/dashboard.tpl.php:2 583730 #: tpl/dash/dashboard.tpl.php:265 3710 3731 #: tpl/dash/network_dash.tpl.php:93 3711 3732 msgid "Pay as You Go Usage Statistics" 3712 3733 msgstr "" 3713 3734 3714 #: tpl/dash/dashboard.tpl.php:2 763735 #: tpl/dash/dashboard.tpl.php:283 3715 3736 #: tpl/dash/network_dash.tpl.php:100 3716 3737 msgid "Total Usage" 3717 3738 msgstr "" 3718 3739 3719 #: tpl/dash/dashboard.tpl.php:2 773740 #: tpl/dash/dashboard.tpl.php:284 3720 3741 #: tpl/dash/network_dash.tpl.php:101 3721 3742 msgid "Total images optimized in this month" 3722 3743 msgstr "" 3723 3744 3724 #: tpl/dash/dashboard.tpl.php:2 863745 #: tpl/dash/dashboard.tpl.php:293 3725 3746 msgid "Remaining Daily Quota" 3726 3747 msgstr "" 3727 3748 3728 #: tpl/dash/dashboard.tpl.php: 2973749 #: tpl/dash/dashboard.tpl.php:304 3729 3750 msgid "Partner Benefits Provided by" 3730 3751 msgstr "" 3731 3752 3732 #: tpl/dash/dashboard.tpl.php:3 293733 msgid " Activate QUIC.cloud"3734 msgstr "" 3735 3736 #: tpl/dash/dashboard.tpl.php:3 343753 #: tpl/dash/dashboard.tpl.php:336 3754 msgid "Enable QUIC.cloud Services" 3755 msgstr "" 3756 3757 #: tpl/dash/dashboard.tpl.php:341 3737 3758 #: tpl/general/online.tpl.php:115 3738 3759 msgid "Go to QUIC.cloud dashboard" 3739 3760 msgstr "" 3740 3761 3741 #: tpl/dash/dashboard.tpl.php:3 583762 #: tpl/dash/dashboard.tpl.php:365 3742 3763 msgid "Current closest Cloud server is %s. Click to redetect." 3743 3764 msgstr "" 3744 3765 3745 #: tpl/dash/dashboard.tpl.php:3 583746 #: tpl/img_optm/summary.tpl.php:4 33747 #: tpl/page_optm/settings_css.tpl.php:10 33748 #: tpl/page_optm/settings_css.tpl.php:2 203766 #: tpl/dash/dashboard.tpl.php:365 3767 #: tpl/img_optm/summary.tpl.php:44 3768 #: tpl/page_optm/settings_css.tpl.php:106 3769 #: tpl/page_optm/settings_css.tpl.php:230 3749 3770 #: tpl/page_optm/settings_media.tpl.php:182 3750 #: tpl/page_optm/settings_vpi.tpl.php: 483771 #: tpl/page_optm/settings_vpi.tpl.php:53 3751 3772 msgid "Are you sure you want to redetect the closest cloud server for this service?" 3752 3773 msgstr "" 3753 3774 3754 #: tpl/dash/dashboard.tpl.php:3 583775 #: tpl/dash/dashboard.tpl.php:365 3755 3776 #: tpl/general/online.tpl.php:24 3756 #: tpl/img_optm/summary.tpl.php:4 33757 #: tpl/img_optm/summary.tpl.php:4 53758 #: tpl/page_optm/settings_css.tpl.php:10 33759 #: tpl/page_optm/settings_css.tpl.php:2 203777 #: tpl/img_optm/summary.tpl.php:44 3778 #: tpl/img_optm/summary.tpl.php:46 3779 #: tpl/page_optm/settings_css.tpl.php:106 3780 #: tpl/page_optm/settings_css.tpl.php:230 3760 3781 #: tpl/page_optm/settings_media.tpl.php:182 3761 #: tpl/page_optm/settings_vpi.tpl.php: 483782 #: tpl/page_optm/settings_vpi.tpl.php:53 3762 3783 msgid "Redetect" 3763 3784 msgstr "" 3764 3785 3765 #: tpl/dash/dashboard.tpl.php: 3953786 #: tpl/dash/dashboard.tpl.php:402 3766 3787 msgid "You must be using one of the following products in order to measure Page Load Time:" 3767 3788 msgstr "" 3768 3789 3769 #: tpl/dash/dashboard.tpl.php:4 143770 #: tpl/dash/dashboard.tpl.php:4 833771 #: tpl/dash/dashboard.tpl.php:6 293772 #: tpl/dash/dashboard.tpl.php:66 13773 #: tpl/dash/dashboard.tpl.php: 6933774 #: tpl/dash/dashboard.tpl.php:7 253790 #: tpl/dash/dashboard.tpl.php:421 3791 #: tpl/dash/dashboard.tpl.php:490 3792 #: tpl/dash/dashboard.tpl.php:636 3793 #: tpl/dash/dashboard.tpl.php:668 3794 #: tpl/dash/dashboard.tpl.php:700 3795 #: tpl/dash/dashboard.tpl.php:732 3775 3796 msgid "Last requested" 3776 3797 msgstr "" 3777 3798 3778 #: tpl/dash/dashboard.tpl.php:42 03779 #: tpl/dash/dashboard.tpl.php:4 883799 #: tpl/dash/dashboard.tpl.php:427 3800 #: tpl/dash/dashboard.tpl.php:495 3780 3801 msgid "Refresh" 3781 3802 msgstr "" 3782 3803 3783 #: tpl/dash/dashboard.tpl.php:42 13804 #: tpl/dash/dashboard.tpl.php:428 3784 3805 msgid "Refresh page load time" 3785 3806 msgstr "" 3786 3807 3787 #: tpl/dash/dashboard.tpl.php:4 893808 #: tpl/dash/dashboard.tpl.php:496 3788 3809 msgid "Refresh page score" 3789 3810 msgstr "" 3790 3811 3791 #: tpl/dash/dashboard.tpl.php: 4983812 #: tpl/dash/dashboard.tpl.php:505 3792 3813 #: tpl/img_optm/entry.tpl.php:8 3793 3814 msgid "Image Optimization Summary" 3794 3815 msgstr "" 3795 3816 3796 #: tpl/dash/dashboard.tpl.php:510 3797 #: tpl/img_optm/summary.tpl.php:64 3817 #: tpl/dash/dashboard.tpl.php:517 3818 #: tpl/img_optm/summary.tpl.php:66 3819 #: tpl/img_optm/summary.tpl.php:71 3798 3820 msgid "Send Optimization Request" 3799 3821 msgstr "" 3800 3822 3801 #: tpl/dash/dashboard.tpl.php:5 163802 #: tpl/img_optm/summary.tpl.php:2 693823 #: tpl/dash/dashboard.tpl.php:523 3824 #: tpl/img_optm/summary.tpl.php:277 3803 3825 msgid "Total Reduction" 3804 3826 msgstr "" 3805 3827 3806 #: tpl/dash/dashboard.tpl.php:5 193807 #: tpl/img_optm/summary.tpl.php:2 723828 #: tpl/dash/dashboard.tpl.php:526 3829 #: tpl/img_optm/summary.tpl.php:280 3808 3830 msgid "Images Pulled" 3809 3831 msgstr "" 3810 3832 3811 #: tpl/dash/dashboard.tpl.php:5 473812 #: tpl/img_optm/summary.tpl.php:2 753833 #: tpl/dash/dashboard.tpl.php:554 3834 #: tpl/img_optm/summary.tpl.php:283 3813 3835 msgid "Last Request" 3814 3836 msgstr "" 3815 3837 3816 #: tpl/dash/dashboard.tpl.php:55 03838 #: tpl/dash/dashboard.tpl.php:557 3817 3839 msgid "Last Pull" 3818 3840 msgstr "" 3819 3841 3820 #: tpl/dash/dashboard.tpl.php:6 053842 #: tpl/dash/dashboard.tpl.php:612 3821 3843 #: tpl/toolbox/purge.tpl.php:62 3822 3844 msgid "Critical CSS" 3823 3845 msgstr "" 3824 3846 3825 #: tpl/dash/dashboard.tpl.php:61 13826 #: tpl/dash/dashboard.tpl.php:6 433827 #: tpl/dash/dashboard.tpl.php:6 753828 #: tpl/dash/dashboard.tpl.php:7 073829 #: tpl/page_optm/settings_css.tpl.php:9 43830 #: tpl/page_optm/settings_css.tpl.php:2 113847 #: tpl/dash/dashboard.tpl.php:618 3848 #: tpl/dash/dashboard.tpl.php:650 3849 #: tpl/dash/dashboard.tpl.php:682 3850 #: tpl/dash/dashboard.tpl.php:714 3851 #: tpl/page_optm/settings_css.tpl.php:97 3852 #: tpl/page_optm/settings_css.tpl.php:221 3831 3853 #: tpl/page_optm/settings_media.tpl.php:176 3832 #: tpl/page_optm/settings_vpi.tpl.php:4 23854 #: tpl/page_optm/settings_vpi.tpl.php:47 3833 3855 msgid "Last generated" 3834 msgstr ""3835 3836 #: tpl/dash/dashboard.tpl.php:6143837 #: tpl/dash/dashboard.tpl.php:6463838 #: tpl/dash/dashboard.tpl.php:6783839 #: tpl/dash/dashboard.tpl.php:7103840 msgid "Time to execute previous request"3841 msgstr ""3842 3843 #: tpl/dash/dashboard.tpl.php:6193844 #: tpl/dash/dashboard.tpl.php:6513845 #: tpl/dash/dashboard.tpl.php:6833846 #: tpl/dash/dashboard.tpl.php:7153847 msgid "Requests in queue"3848 3856 msgstr "" 3849 3857 … … 3852 3860 #: tpl/dash/dashboard.tpl.php:685 3853 3861 #: tpl/dash/dashboard.tpl.php:717 3862 msgid "Time to execute previous request" 3863 msgstr "" 3864 3865 #: tpl/dash/dashboard.tpl.php:626 3866 #: tpl/dash/dashboard.tpl.php:658 3867 #: tpl/dash/dashboard.tpl.php:690 3868 #: tpl/dash/dashboard.tpl.php:722 3869 msgid "Requests in queue" 3870 msgstr "" 3871 3872 #: tpl/dash/dashboard.tpl.php:628 3873 #: tpl/dash/dashboard.tpl.php:660 3874 #: tpl/dash/dashboard.tpl.php:692 3875 #: tpl/dash/dashboard.tpl.php:724 3854 3876 msgid "Force cron" 3855 3877 msgstr "" 3856 3878 3857 #: tpl/dash/dashboard.tpl.php:6 373879 #: tpl/dash/dashboard.tpl.php:644 3858 3880 #: tpl/toolbox/purge.tpl.php:71 3859 3881 msgid "Unique CSS" 3860 3882 msgstr "" 3861 3883 3862 #: tpl/dash/dashboard.tpl.php:70 13884 #: tpl/dash/dashboard.tpl.php:708 3863 3885 msgid "Viewport Image" 3864 3886 msgstr "" 3865 3887 3866 #: tpl/dash/dashboard.tpl.php: 7953888 #: tpl/dash/dashboard.tpl.php:802 3867 3889 msgid "Best available WordPress performance" 3868 3890 msgstr "" 3869 3891 3870 #: tpl/dash/dashboard.tpl.php: 7983892 #: tpl/dash/dashboard.tpl.php:805 3871 3893 msgid "Globally fast TTFB, easy setup, and <a %s>more</a>!" 3872 3894 msgstr "" 3873 3895 3874 #: tpl/dash/dashboard.tpl.php:81 23896 #: tpl/dash/dashboard.tpl.php:819 3875 3897 msgid "Refresh QUIC.cloud status" 3876 3898 msgstr "" … … 4256 4278 #: tpl/general/settings.tpl.php:94 4257 4279 #: tpl/page_optm/settings_media.tpl.php:240 4258 #: tpl/page_optm/settings_vpi.tpl.php:3 24280 #: tpl/page_optm/settings_vpi.tpl.php:37 4259 4281 msgid "Notice" 4260 4282 msgstr "" … … 4262 4284 #: tpl/general/settings.tpl.php:63 4263 4285 #: tpl/page_optm/settings_media.tpl.php:240 4264 #: tpl/page_optm/settings_vpi.tpl.php:3 24286 #: tpl/page_optm/settings_vpi.tpl.php:37 4265 4287 msgid "%s must be turned ON for this setting to work." 4266 4288 msgstr "" … … 4369 4391 4370 4392 #: tpl/img_optm/settings.media_webp.tpl.php:26 4371 #: tpl/img_optm/summary.tpl.php:3 194393 #: tpl/img_optm/summary.tpl.php:327 4372 4394 msgid "Destroy All Optimization Data" 4373 4395 msgstr "" 4374 4396 4375 4397 #: tpl/img_optm/settings.media_webp.tpl.php:26 4376 #: tpl/img_optm/summary.tpl.php:31 04398 #: tpl/img_optm/summary.tpl.php:318 4377 4399 msgid "Soft Reset Optimization Counter" 4378 4400 msgstr "" … … 4391 4413 4392 4414 #: tpl/img_optm/settings.tpl.php:57 4393 #: tpl/img_optm/summary.tpl.php: 1964415 #: tpl/img_optm/summary.tpl.php:204 4394 4416 msgid "This is irreversible." 4395 4417 msgstr "" 4396 4418 4397 4419 #: tpl/img_optm/settings.tpl.php:58 4398 #: tpl/img_optm/summary.tpl.php: 1974420 #: tpl/img_optm/summary.tpl.php:205 4399 4421 msgid "You will be unable to Revert Optimization once the backups are deleted!" 4400 4422 msgstr "" … … 4424 4446 msgstr "" 4425 4447 4426 #: tpl/img_optm/summary.tpl.php:4 34427 #: tpl/page_optm/settings_css.tpl.php:10 34428 #: tpl/page_optm/settings_css.tpl.php:2 204448 #: tpl/img_optm/summary.tpl.php:44 4449 #: tpl/page_optm/settings_css.tpl.php:106 4450 #: tpl/page_optm/settings_css.tpl.php:230 4429 4451 #: tpl/page_optm/settings_media.tpl.php:182 4430 #: tpl/page_optm/settings_vpi.tpl.php: 484452 #: tpl/page_optm/settings_vpi.tpl.php:53 4431 4453 msgid "Current closest Cloud server is %s. Click to redetect." 4432 4454 msgstr "" 4433 4455 4434 #: tpl/img_optm/summary.tpl.php:4 74456 #: tpl/img_optm/summary.tpl.php:48 4435 4457 msgid "Optimize images with our QUIC.cloud server" 4436 4458 msgstr "" 4437 4459 4438 #: tpl/img_optm/summary.tpl.php:5 24460 #: tpl/img_optm/summary.tpl.php:53 4439 4461 msgid "You can request a maximum of %s images at once." 4440 4462 msgstr "" 4441 4463 4442 #: tpl/img_optm/summary.tpl.php:5 74464 #: tpl/img_optm/summary.tpl.php:58 4443 4465 msgid "To make sure our server can communicate with your server without any issues and everything works fine, for the few first requests the number of image groups allowed in a single request is limited." 4444 4466 msgstr "" 4445 4467 4446 #: tpl/img_optm/summary.tpl.php:5 84468 #: tpl/img_optm/summary.tpl.php:59 4447 4469 msgid "Current limit is" 4448 4470 msgstr "" 4449 4471 4450 4472 #: tpl/img_optm/summary.tpl.php:67 4473 #: tpl/page_optm/settings_css.tpl.php:136 4474 #: tpl/page_optm/settings_css.tpl.php:260 4475 #: tpl/page_optm/settings_vpi.tpl.php:82 4476 msgid "Available after %d second(s)" 4477 msgstr "" 4478 4479 #: tpl/img_optm/summary.tpl.php:75 4451 4480 msgid "Only press the button if the pull cron job is disabled." 4452 4481 msgstr "" 4453 4482 4454 #: tpl/img_optm/summary.tpl.php: 674483 #: tpl/img_optm/summary.tpl.php:75 4455 4484 msgid "Images will be pulled automatically if the cron job is running." 4456 4485 msgstr "" 4457 4486 4458 #: tpl/img_optm/summary.tpl.php: 684487 #: tpl/img_optm/summary.tpl.php:76 4459 4488 msgid "Pull Images" 4460 4489 msgstr "" 4461 4490 4462 #: tpl/img_optm/summary.tpl.php: 744491 #: tpl/img_optm/summary.tpl.php:82 4463 4492 msgid "Optimization Status" 4464 4493 msgstr "" 4465 4494 4466 #: tpl/img_optm/summary.tpl.php:1 074495 #: tpl/img_optm/summary.tpl.php:115 4467 4496 msgid "After the QUIC.cloud Image Optimization server finishes optimization, it will notify your site to pull the optimized images." 4468 4497 msgstr "" 4469 4498 4470 #: tpl/img_optm/summary.tpl.php:1 084499 #: tpl/img_optm/summary.tpl.php:116 4471 4500 msgid "This process is automatic." 4472 4501 msgstr "" 4473 4502 4474 #: tpl/img_optm/summary.tpl.php:1 234503 #: tpl/img_optm/summary.tpl.php:131 4475 4504 msgid "Last pull initiated by cron at %s." 4476 4505 msgstr "" 4477 4506 4478 #: tpl/img_optm/summary.tpl.php:1 484507 #: tpl/img_optm/summary.tpl.php:156 4479 4508 msgid "Storage Optimization" 4480 4509 msgstr "" 4481 4510 4482 #: tpl/img_optm/summary.tpl.php:1 524511 #: tpl/img_optm/summary.tpl.php:160 4483 4512 msgid "A backup of each image is saved before it is optimized." 4484 4513 msgstr "" 4485 4514 4486 #: tpl/img_optm/summary.tpl.php:1 594515 #: tpl/img_optm/summary.tpl.php:167 4487 4516 msgid "Last calculated" 4488 4517 msgstr "" 4489 4518 4490 #: tpl/img_optm/summary.tpl.php:1 634491 #: tpl/img_optm/summary.tpl.php:2 084519 #: tpl/img_optm/summary.tpl.php:171 4520 #: tpl/img_optm/summary.tpl.php:216 4492 4521 msgid "Files" 4493 4522 msgstr "" 4494 4523 4495 #: tpl/img_optm/summary.tpl.php:1 744524 #: tpl/img_optm/summary.tpl.php:182 4496 4525 msgid "Calculate Original Image Storage" 4497 4526 msgstr "" 4498 4527 4499 #: tpl/img_optm/summary.tpl.php:1 754528 #: tpl/img_optm/summary.tpl.php:183 4500 4529 msgid "Calculate Backups Disk Space" 4501 4530 msgstr "" 4502 4531 4503 #: tpl/img_optm/summary.tpl.php:1 824532 #: tpl/img_optm/summary.tpl.php:190 4504 4533 msgid "Image Thumbnail Group Sizes" 4505 4534 msgstr "" 4506 4535 4507 #: tpl/img_optm/summary.tpl.php: 1934536 #: tpl/img_optm/summary.tpl.php:201 4508 4537 msgid "Delete all backups of the original images" 4509 4538 msgstr "" 4510 4539 4511 #: tpl/img_optm/summary.tpl.php:2 054540 #: tpl/img_optm/summary.tpl.php:213 4512 4541 #: tpl/page_optm/settings_localization.tpl.php:51 4513 4542 msgid "Last ran" 4514 4543 msgstr "" 4515 4544 4516 #: tpl/img_optm/summary.tpl.php:21 14545 #: tpl/img_optm/summary.tpl.php:219 4517 4546 msgid "Saved" 4518 4547 msgstr "" 4519 4548 4520 #: tpl/img_optm/summary.tpl.php:2 154549 #: tpl/img_optm/summary.tpl.php:223 4521 4550 msgid "Are you sure you want to remove all image backups?" 4522 4551 msgstr "" 4523 4552 4524 #: tpl/img_optm/summary.tpl.php:2 164553 #: tpl/img_optm/summary.tpl.php:224 4525 4554 msgid "Remove Original Image Backups" 4526 4555 msgstr "" 4527 4556 4528 #: tpl/img_optm/summary.tpl.php:2 274557 #: tpl/img_optm/summary.tpl.php:235 4529 4558 msgid "Image Information" 4530 4559 msgstr "" 4531 4560 4532 #: tpl/img_optm/summary.tpl.php:2 364561 #: tpl/img_optm/summary.tpl.php:244 4533 4562 msgid "Image groups total" 4534 4563 msgstr "" 4535 4564 4536 #: tpl/img_optm/summary.tpl.php:24 14565 #: tpl/img_optm/summary.tpl.php:249 4537 4566 msgid "Congratulations, all gathered!" 4538 4567 msgstr "" 4539 4568 4540 #: tpl/img_optm/summary.tpl.php:2 444569 #: tpl/img_optm/summary.tpl.php:252 4541 4570 msgid "What is a group?" 4542 4571 msgstr "" 4543 4572 4544 #: tpl/img_optm/summary.tpl.php:2 464573 #: tpl/img_optm/summary.tpl.php:254 4545 4574 msgid "What is an image group?" 4546 4575 msgstr "" 4547 4576 4548 #: tpl/img_optm/summary.tpl.php:25 04549 #: tpl/img_optm/summary.tpl.php:3 144577 #: tpl/img_optm/summary.tpl.php:258 4578 #: tpl/img_optm/summary.tpl.php:322 4550 4579 msgid "Current image post id position" 4551 4580 msgstr "" 4552 4581 4553 #: tpl/img_optm/summary.tpl.php:25 14582 #: tpl/img_optm/summary.tpl.php:259 4554 4583 msgid "Maximum image post id" 4555 4584 msgstr "" 4556 4585 4557 #: tpl/img_optm/summary.tpl.php:2 574586 #: tpl/img_optm/summary.tpl.php:265 4558 4587 msgid "Scan for any new unoptimized image thumbnail sizes and resend necessary image optimization requests." 4559 4588 msgstr "" 4560 4589 4561 #: tpl/img_optm/summary.tpl.php:2 584590 #: tpl/img_optm/summary.tpl.php:266 4562 4591 msgid "Rescan New Thumbnails" 4563 4592 msgstr "" 4564 4593 4565 #: tpl/img_optm/summary.tpl.php:2 664594 #: tpl/img_optm/summary.tpl.php:274 4566 4595 msgid "Optimization Summary" 4567 4596 msgstr "" 4568 4597 4569 #: tpl/img_optm/summary.tpl.php:2 784598 #: tpl/img_optm/summary.tpl.php:286 4570 4599 msgid "Last Pulled" 4571 4600 msgstr "" 4572 4601 4573 #: tpl/img_optm/summary.tpl.php:2 834602 #: tpl/img_optm/summary.tpl.php:291 4574 4603 msgid "Results can be checked in <a %s>Media Library</a>." 4575 4604 msgstr "" 4576 4605 4577 #: tpl/img_optm/summary.tpl.php:2 894606 #: tpl/img_optm/summary.tpl.php:297 4578 4607 msgid "Optimization Tools" 4579 4608 msgstr "" 4580 4609 4581 #: tpl/img_optm/summary.tpl.php: 2924610 #: tpl/img_optm/summary.tpl.php:300 4582 4611 msgid "You can quickly switch between using original (unoptimized versions) and optimized image files. It will affect all images on your website, both regular and webp versions if available." 4583 4612 msgstr "" 4584 4613 4585 #: tpl/img_optm/summary.tpl.php: 2974614 #: tpl/img_optm/summary.tpl.php:305 4586 4615 msgid "Use original images (unoptimized) on your site" 4587 4616 msgstr "" 4588 4617 4589 #: tpl/img_optm/summary.tpl.php: 2984618 #: tpl/img_optm/summary.tpl.php:306 4590 4619 msgid "Use Original Files" 4591 4620 msgstr "" 4592 4621 4593 #: tpl/img_optm/summary.tpl.php:30 14622 #: tpl/img_optm/summary.tpl.php:309 4594 4623 msgid "Switch back to using optimized images on your site" 4595 4624 msgstr "" 4596 4625 4597 #: tpl/img_optm/summary.tpl.php:3 024626 #: tpl/img_optm/summary.tpl.php:310 4598 4627 msgid "Use Optimized Files" 4599 4628 msgstr "" 4600 4629 4601 #: tpl/img_optm/summary.tpl.php:3 144630 #: tpl/img_optm/summary.tpl.php:322 4602 4631 msgid "This will reset the %1$s. If you changed WebP/AVIF settings and want to generate %2$s for the previously optimized images, use this action." 4603 4632 msgstr "" 4604 4633 4605 #: tpl/img_optm/summary.tpl.php:3 184634 #: tpl/img_optm/summary.tpl.php:326 4606 4635 msgid "Are you sure to destroy all optimized images?" 4607 4636 msgstr "" 4608 4637 4609 #: tpl/img_optm/summary.tpl.php:3 234638 #: tpl/img_optm/summary.tpl.php:331 4610 4639 msgid "Remove all previous image optimization requests/results, revert completed optimizations, and delete all optimization files." 4611 4640 msgstr "" … … 4716 4745 4717 4746 #: tpl/page_optm/entry.tpl.php:6 4718 #: tpl/page_optm/settings_css.tpl.php:2 24747 #: tpl/page_optm/settings_css.tpl.php:25 4719 4748 msgid "CSS Settings" 4720 4749 msgstr "" … … 4756 4785 msgstr "" 4757 4786 4758 #: tpl/page_optm/settings_css.tpl.php: 384787 #: tpl/page_optm/settings_css.tpl.php:41 4759 4788 msgid "Minify CSS files and inline CSS code." 4760 4789 msgstr "" 4761 4790 4762 #: tpl/page_optm/settings_css.tpl.php:5 24791 #: tpl/page_optm/settings_css.tpl.php:55 4763 4792 msgid "Combine CSS files and inline CSS code." 4764 4793 msgstr "" 4765 4794 4766 #: tpl/page_optm/settings_css.tpl.php:5 34795 #: tpl/page_optm/settings_css.tpl.php:56 4767 4796 #: tpl/page_optm/settings_js.tpl.php:40 4768 4797 msgid "How to Fix Problems Caused by CSS/JS Optimization." 4769 4798 msgstr "" 4770 4799 4771 #: tpl/page_optm/settings_css.tpl.php:7 44800 #: tpl/page_optm/settings_css.tpl.php:77 4772 4801 msgid "Use QUIC.cloud online service to generate unique CSS." 4773 4802 msgstr "" 4774 4803 4775 #: tpl/page_optm/settings_css.tpl.php:7 54804 #: tpl/page_optm/settings_css.tpl.php:78 4776 4805 msgid "This will drop the unused CSS on each page from the combined file." 4777 4806 msgstr "" 4778 4807 4779 #: tpl/page_optm/settings_css.tpl.php: 774808 #: tpl/page_optm/settings_css.tpl.php:80 4780 4809 msgid "Automatic generation of unique CSS is in the background via a cron-based queue." 4781 4810 msgstr "" 4782 4811 4783 #: tpl/page_optm/settings_css.tpl.php: 794812 #: tpl/page_optm/settings_css.tpl.php:82 4784 4813 msgid "Filter %s available for UCSS per page type generation." 4785 4814 msgstr "" 4786 4815 4787 #: tpl/page_optm/settings_css.tpl.php:8 44816 #: tpl/page_optm/settings_css.tpl.php:87 4788 4817 msgid "This option is bypassed because %1$s option is %2$s." 4789 4818 msgstr "" 4790 4819 4791 #: tpl/page_optm/settings_css.tpl.php: 974792 #: tpl/page_optm/settings_css.tpl.php:2 144820 #: tpl/page_optm/settings_css.tpl.php:100 4821 #: tpl/page_optm/settings_css.tpl.php:224 4793 4822 msgid "Last requested cost" 4794 4823 msgstr "" 4795 4824 4796 #: tpl/page_optm/settings_css.tpl.php:1 094797 #: tpl/page_optm/settings_css.tpl.php:2 264798 #: tpl/page_optm/settings_vpi.tpl.php:5 44825 #: tpl/page_optm/settings_css.tpl.php:112 4826 #: tpl/page_optm/settings_css.tpl.php:236 4827 #: tpl/page_optm/settings_vpi.tpl.php:59 4799 4828 msgid "URL list in %s queue waiting for cron" 4800 4829 msgstr "" 4801 4830 4802 #: tpl/page_optm/settings_css.tpl.php:131 4803 #: tpl/page_optm/settings_css.tpl.php:248 4804 #: tpl/page_optm/settings_vpi.tpl.php:74 4831 #: tpl/page_optm/settings_css.tpl.php:135 4832 #: tpl/page_optm/settings_css.tpl.php:140 4833 #: tpl/page_optm/settings_css.tpl.php:259 4834 #: tpl/page_optm/settings_css.tpl.php:264 4835 #: tpl/page_optm/settings_vpi.tpl.php:81 4836 #: tpl/page_optm/settings_vpi.tpl.php:86 4805 4837 msgid "Run %s Queue Manually" 4806 4838 msgstr "" 4807 4839 4808 #: tpl/page_optm/settings_css.tpl.php:1 494840 #: tpl/page_optm/settings_css.tpl.php:159 4809 4841 msgid "Inline UCSS to reduce the extra CSS file loading. This option will not be automatically turned on for %1$s pages. To use it on %1$s pages, please set it to ON." 4810 4842 msgstr "" 4811 4843 4812 #: tpl/page_optm/settings_css.tpl.php:1 524844 #: tpl/page_optm/settings_css.tpl.php:162 4813 4845 msgid "This option will automatically bypass %s option." 4814 4846 msgstr "" 4815 4847 4816 #: tpl/page_optm/settings_css.tpl.php:1 664848 #: tpl/page_optm/settings_css.tpl.php:176 4817 4849 msgid "Include external CSS and inline CSS in combined file when %1$s is also enabled. This option helps maintain the priorities of CSS, which should minimize potential errors caused by CSS Combine." 4818 4850 msgstr "" 4819 4851 4820 #: tpl/page_optm/settings_css.tpl.php:1 864852 #: tpl/page_optm/settings_css.tpl.php:196 4821 4853 msgid "Optimize CSS delivery." 4822 4854 msgstr "" 4823 4855 4824 #: tpl/page_optm/settings_css.tpl.php:1 874856 #: tpl/page_optm/settings_css.tpl.php:197 4825 4857 #: tpl/page_optm/settings_html.tpl.php:167 4826 4858 #: tpl/page_optm/settings_js.tpl.php:73 … … 4828 4860 msgstr "" 4829 4861 4830 #: tpl/page_optm/settings_css.tpl.php:1 884862 #: tpl/page_optm/settings_css.tpl.php:198 4831 4863 msgid "Use QUIC.cloud online service to generate critical CSS and load remaining CSS asynchronously." 4832 4864 msgstr "" 4833 4865 4834 #: tpl/page_optm/settings_css.tpl.php: 1904866 #: tpl/page_optm/settings_css.tpl.php:200 4835 4867 msgid "Automatic generation of critical CSS is in the background via a cron-based queue." 4836 4868 msgstr "" 4837 4869 4838 #: tpl/page_optm/settings_css.tpl.php: 1914870 #: tpl/page_optm/settings_css.tpl.php:201 4839 4871 msgid "When this option is turned %s, it will also load Google Fonts asynchronously." 4840 4872 msgstr "" 4841 4873 4842 #: tpl/page_optm/settings_css.tpl.php: 1954874 #: tpl/page_optm/settings_css.tpl.php:205 4843 4875 msgid "Elements with attribute %s in HTML code will be excluded." 4844 4876 msgstr "" 4845 4877 4846 #: tpl/page_optm/settings_css.tpl.php:2 014878 #: tpl/page_optm/settings_css.tpl.php:211 4847 4879 msgid "This option is bypassed due to %s option." 4848 4880 msgstr "" 4849 4881 4850 #: tpl/page_optm/settings_css.tpl.php:2 644882 #: tpl/page_optm/settings_css.tpl.php:281 4851 4883 msgid "Disable this option to generate CCSS per Post Type instead of per page. This can save significant CCSS quota, however it may result in incorrect CSS styling if your site uses a page builder." 4852 4884 msgstr "" 4853 4885 4854 #: tpl/page_optm/settings_css.tpl.php:2 774886 #: tpl/page_optm/settings_css.tpl.php:294 4855 4887 msgid "This will inline the asynchronous CSS library to avoid render blocking." 4856 4888 msgstr "" 4857 4889 4858 #: tpl/page_optm/settings_css.tpl.php: 2884890 #: tpl/page_optm/settings_css.tpl.php:305 4859 4891 msgid "Default" 4860 4892 msgstr "" 4861 4893 4862 #: tpl/page_optm/settings_css.tpl.php: 2904894 #: tpl/page_optm/settings_css.tpl.php:307 4863 4895 msgid "Set this to append %1$s to all %2$s rules before caching CSS to specify how fonts should be displayed while being downloaded." 4864 4896 msgstr "" 4865 4897 4866 #: tpl/page_optm/settings_css.tpl.php: 2914898 #: tpl/page_optm/settings_css.tpl.php:308 4867 4899 msgid "%s is recommended." 4868 4900 msgstr "" 4869 4901 4870 #: tpl/page_optm/settings_css.tpl.php: 2914902 #: tpl/page_optm/settings_css.tpl.php:308 4871 4903 msgid "Swap" 4872 4904 msgstr "" … … 5028 5060 5029 5061 #: tpl/page_optm/settings_localization.tpl.php:127 5030 #: tpl/toolbox/beta_test.tpl.php: 315062 #: tpl/toolbox/beta_test.tpl.php:27 5031 5063 msgid "Example" 5032 5064 msgstr "" … … 5230 5262 5231 5263 #: tpl/page_optm/settings_tuning_css.tpl.php:56 5232 msgid "List the CSS selector that its style should be always contained in UCSS." 5233 msgstr "" 5234 5235 #: tpl/page_optm/settings_tuning_css.tpl.php:57 5236 msgid "How to choose an UCSS allowlist selector?" 5237 msgstr "" 5238 5239 #: tpl/page_optm/settings_tuning_css.tpl.php:58 5264 msgid "List the CSS selectors whose styles should always be included in UCSS." 5265 msgstr "" 5266 5267 #: tpl/page_optm/settings_tuning_css.tpl.php:59 5268 #: tpl/page_optm/settings_tuning_css.tpl.php:135 5240 5269 msgid "Wildcard %s supported." 5241 5270 msgstr "" 5242 5271 5243 #: tpl/page_optm/settings_tuning_css.tpl.php:6 25272 #: tpl/page_optm/settings_tuning_css.tpl.php:63 5244 5273 msgid "The selector must exist in the CSS. Parent classes in the HTML will not work." 5245 5274 msgstr "" 5246 5275 5247 #: tpl/page_optm/settings_tuning_css.tpl.php:8 05276 #: tpl/page_optm/settings_tuning_css.tpl.php:81 5248 5277 msgid "Listed URI will not generate UCSS." 5249 5278 msgstr "" 5250 5279 5251 #: tpl/page_optm/settings_tuning_css.tpl.php:8 75280 #: tpl/page_optm/settings_tuning_css.tpl.php:88 5252 5281 msgid "Use %1$s to generate one single UCSS for the pages which page type is %2$s while other page types still per URL." 5253 5282 msgstr "" 5254 5283 5255 #: tpl/page_optm/settings_tuning_css.tpl.php:8 85284 #: tpl/page_optm/settings_tuning_css.tpl.php:89 5256 5285 msgid "Use %1$s to bypass UCSS for the pages which page type is %2$s." 5257 5286 msgstr "" 5258 5287 5259 #: tpl/page_optm/settings_tuning_css.tpl.php:10 25288 #: tpl/page_optm/settings_tuning_css.tpl.php:103 5260 5289 msgid "List post types where each item of that type should have its own CCSS generated." 5261 5290 msgstr "" 5262 5291 5263 #: tpl/page_optm/settings_tuning_css.tpl.php:10 35292 #: tpl/page_optm/settings_tuning_css.tpl.php:104 5264 5293 msgid "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." 5265 5294 msgstr "" 5266 5295 5267 #: tpl/page_optm/settings_tuning_css.tpl.php:11 75296 #: tpl/page_optm/settings_tuning_css.tpl.php:118 5268 5297 msgid "Separate critical CSS files will be generated for paths containing these strings." 5269 5298 msgstr "" 5270 5299 5271 #: tpl/page_optm/settings_tuning_css.tpl.php:131 5300 #: tpl/page_optm/settings_tuning_css.tpl.php:132 5301 msgid "List the CSS selectors whose styles should always be included in CCSS." 5302 msgstr "" 5303 5304 #: tpl/page_optm/settings_tuning_css.tpl.php:139 5305 msgid "Selectors must exist in the CSS. Parent classes in the HTML will not work." 5306 msgstr "" 5307 5308 #: tpl/page_optm/settings_tuning_css.tpl.php:157 5272 5309 msgid "Specify critical CSS rules for above-the-fold content when enabling %s." 5273 5310 msgstr "" 5274 5311 5275 #: tpl/page_optm/settings_vpi.tpl.php: 265312 #: tpl/page_optm/settings_vpi.tpl.php:30 5276 5313 msgid "When you use Lazy Load, it will delay the loading of all images on a page." 5277 5314 msgstr "" 5278 5315 5279 #: tpl/page_optm/settings_vpi.tpl.php: 275316 #: tpl/page_optm/settings_vpi.tpl.php:31 5280 5317 msgid "The Viewport Images service detects which images appear above the fold, and excludes them from lazy load." 5281 5318 msgstr "" 5282 5319 5283 #: tpl/page_optm/settings_vpi.tpl.php: 285320 #: tpl/page_optm/settings_vpi.tpl.php:32 5284 5321 msgid "This enables the page's initial screenful of imagery to be fully displayed without delay." 5285 5322 msgstr "" 5286 5323 5287 #: tpl/page_optm/settings_vpi.tpl.php: 915324 #: tpl/page_optm/settings_vpi.tpl.php:104 5288 5325 msgid "Enable Viewport Images auto generation cron." 5289 5326 msgstr "" … … 5496 5533 msgstr "" 5497 5534 5535 #: tpl/toolbox/beta_test.tpl.php:22 5536 msgid "Try GitHub Version" 5537 msgstr "" 5538 5498 5539 #: tpl/toolbox/beta_test.tpl.php:26 5499 msgid "Try GitHub Version"5500 msgstr ""5501 5502 #: tpl/toolbox/beta_test.tpl.php:305503 5540 msgid "Use this section to switch plugin versions. To beta test a GitHub commit, enter the commit URL in the field below." 5504 5541 msgstr "" 5505 5542 5543 #: tpl/toolbox/beta_test.tpl.php:31 5544 msgid "Use latest GitHub Dev commit" 5545 msgstr "" 5546 5547 #: tpl/toolbox/beta_test.tpl.php:33 5548 msgid "Use latest GitHub Master commit" 5549 msgstr "" 5550 5506 5551 #: tpl/toolbox/beta_test.tpl.php:35 5507 msgid "Use latest GitHub Dev commit" 5508 msgstr "" 5509 5510 #: tpl/toolbox/beta_test.tpl.php:37 5511 msgid "Use latest GitHub Master commit" 5512 msgstr "" 5513 5514 #: tpl/toolbox/beta_test.tpl.php:39 5515 #: tpl/toolbox/beta_test.tpl.php:55 5552 #: tpl/toolbox/beta_test.tpl.php:51 5516 5553 msgid "Use latest WordPress release version" 5517 5554 msgstr "" 5518 5555 5519 #: tpl/toolbox/beta_test.tpl.php:3 95556 #: tpl/toolbox/beta_test.tpl.php:35 5520 5557 msgid "OR" 5521 5558 msgstr "" 5522 5559 5560 #: tpl/toolbox/beta_test.tpl.php:46 5561 msgid "Downgrade not recommended. May cause fatal error due to refactored code." 5562 msgstr "" 5563 5523 5564 #: tpl/toolbox/beta_test.tpl.php:50 5524 msgid "Downgrade not recommended. May cause fatal error due to refactored code."5525 msgstr ""5526 5527 #: tpl/toolbox/beta_test.tpl.php:545528 5565 msgid "Press the %s button to use the most recent GitHub commit. Master is for release candidate & Dev is for experimental testing." 5529 5566 msgstr "" 5530 5567 5531 #: tpl/toolbox/beta_test.tpl.php:5 45568 #: tpl/toolbox/beta_test.tpl.php:50 5532 5569 msgid "Use latest GitHub Dev/Master commit" 5533 5570 msgstr "" 5534 5571 5535 #: tpl/toolbox/beta_test.tpl.php:5 55572 #: tpl/toolbox/beta_test.tpl.php:51 5536 5573 msgid "Press the %s button to stop beta testing and go back to the current release from the WordPress Plugin Directory." 5537 5574 msgstr "" 5538 5575 5539 #: tpl/toolbox/beta_test.tpl.php: 605576 #: tpl/toolbox/beta_test.tpl.php:56 5540 5577 msgid "In order to avoid an upgrade error, you must be using %1$s or later before you can upgrade to %2$s versions." 5541 5578 msgstr "" … … 5706 5743 msgstr "" 5707 5744 5708 #: tpl/toolbox/log_viewer.tpl.php:6 25745 #: tpl/toolbox/log_viewer.tpl.php:64 5709 5746 msgid "Clear Logs" 5710 5747 msgstr "" 5711 5748 5712 #: tpl/toolbox/log_viewer.tpl.php:94 5749 #: tpl/toolbox/log_viewer.tpl.php:81 5750 msgid "Copy Log" 5751 msgstr "" 5752 5753 #: tpl/toolbox/log_viewer.tpl.php:114 5713 5754 msgid "LiteSpeed Logs" 5714 5755 msgstr "" -
litespeed-cache/trunk/lib/css_js_min/minify/css.cls.php
r3261732 r3281183 20 20 { 21 21 /** 22 * @var int maximum i nport size in kB22 * @var int maximum import size in kB 23 23 */ 24 24 protected $maxImportSize = 5; -
litespeed-cache/trunk/litespeed-cache.php
r3269130 r3281183 5 5 * Plugin URI: https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration 6 6 * Description: High-performance page caching and site optimization from LiteSpeed 7 * Version: 7. 0.17 * Version: 7.1 8 8 * Author: LiteSpeed Technologies 9 9 * Author URI: https://www.litespeedtech.com … … 35 35 } 36 36 37 !defined('LSCWP_V') && define('LSCWP_V', '7. 0.1');37 !defined('LSCWP_V') && define('LSCWP_V', '7.1'); 38 38 39 39 !defined('LSCWP_CONTENT_DIR') && define('LSCWP_CONTENT_DIR', WP_CONTENT_DIR); … … 47 47 */ 48 48 $WP_CONTENT_URL = WP_CONTENT_URL; 49 $ site_url = site_url('/');50 if (substr($WP_CONTENT_URL, 0, 5) == 'http:' && substr($ site_url, 0, 5) == 'https') {49 $home_url = home_url('/'); 50 if (substr($WP_CONTENT_URL, 0, 5) == 'http:' && substr($home_url, 0, 5) == 'https') { 51 51 $WP_CONTENT_URL = str_replace('http://', 'https://', $WP_CONTENT_URL); 52 52 } 53 !defined('LSCWP_CONTENT_FOLDER') && define('LSCWP_CONTENT_FOLDER', str_replace($ site_url, '', $WP_CONTENT_URL)); // `wp-content`53 !defined('LSCWP_CONTENT_FOLDER') && define('LSCWP_CONTENT_FOLDER', str_replace($home_url, '', $WP_CONTENT_URL)); // `wp-content` 54 54 !defined('LSWCP_PLUGIN_URL') && define('LSWCP_PLUGIN_URL', plugin_dir_url(__FILE__)); // Full URL path '//example.com/wp-content/plugins/litespeed-cache/' 55 55 -
litespeed-cache/trunk/readme.txt
r3269162 r3281183 4 4 Requires at least: 5.3 5 5 Requires PHP: 7.2 6 Tested up to: 6. 77 Stable tag: 7. 0.16 Tested up to: 6.8 7 Stable tag: 7.1 8 8 License: GPLv3 9 9 License URI: http://www.gnu.org/licenses/gpl.html 10 10 11 All-in-one unbeatable acceleration & PageSpeed improvement: caching, image/CSS/JS optimization and more...11 All-in-one unbeatable acceleration & PageSpeed improvement: caching, image/CSS/JS optimization... 12 12 13 13 == Description == … … 256 256 == Changelog == 257 257 258 = 7.1 - Apr 24 2025 = 259 * 🌱**Page Optimize** Added allowlist support for CCSS. 260 * **Cloud** CCSS results are now generated asynchronously via QUIC.cloud queue services. 261 * **Cloud** Added TTL control to QUIC.cloud services to make next requests more flexible. 262 * **Crawler** Dropped non-WebP/AVIF crawler if Next Gen Images are being used. 263 * 🐞**Config** Fixed an .htaccess generation bug that occurred when reactivating after previous deactivation. (PR#825) 264 * **GUI** Improved the QC registration notice banner for online services thanks to user feedback. 265 * **GUI** QUIC.cloud management links will be opened in a single dedicated new window to prevent multiple sessions. 266 * **Page Optimization** Enhanced URL fetch validation to avoid exposing possible local info. 267 * **Debug** Added a Click to copy logs button under `Log View` tab. 268 * **CLI** Removed a vary warning log in CLI for QC activation process with a customized login cookie. 269 * **CLI** Removed a log failure in CLI in QC activation process when no existing admin message. 270 * **Misc** Check version only after upgrade to reduce the requests. 271 * **Misc** Switched to CyberPanel.sh to detect public IP for dash tool. 272 258 273 = 7.0.1 - Apr 8 2025 = 259 274 * **Page Optimize** Migrate legacy data to append trailing slash for better compatibility with v7.0-optimized UCSS/CCSS data. 260 275 261 = 7.0.0.1 - Mar 2 62025 =262 * **GUI** Resolved a banner message display error that occurredin certain old version cases.263 * **GUI** Fixed a continual error banner that appeared when sites weren't using QUIC.cloud.264 * **Config** Fixed a continual CDN sync_conf/purge check issue that occured after v7.0 upgrade.265 * **3rd** Improved WPML multi lang uagesync_conf compatibility.276 = 7.0.0.1 - Mar 27 2025 = 277 * **GUI** Resolved a banner message display error in certain old version cases. 278 * **GUI** Fixed a continual error banner when site doesn't use QC. 279 * **Config** Fixed a continual CDN sync_conf/purge check issue after upgraded to v7.0. 280 * **3rd** Improved WPML multi lang sync_conf compatibility. 266 281 267 282 = 7.0 - Mar 25 2025 = … … 505 520 = 5.7 - Oct 10 2023 = 506 521 * 🌱**Page Optimize** New option available: Preconnect. (xguiboy/Mukesh Patel) 507 * 🌱**3rd** New Vary for Mini Cart option for Woo commerce. (Ruikai)522 * 🌱**3rd** New Vary for Mini Cart option for WooCommerce. (Ruikai) 508 523 * **Cloud** Force syncing the configuration to QUIC.cloud if CDN is reenabled. 509 524 * **Cloud** Force syncing the configuration to QUIC.cloud if domain key is readded. -
litespeed-cache/trunk/src/activation.cls.php
r3261732 r3281183 55 55 !defined('LSCWP_LOG_TAG') && define('LSCWP_LOG_TAG', 'Activate_' . get_current_blog_id()); 56 56 57 /* Network file handler */ 57 58 if (is_multisite()) { 58 59 $count = self::get_network_count(); … … 61 62 set_site_transient(self::NETWORK_TRANSIENT_COUNT, $count, DAY_IN_SECONDS); 62 63 } 63 } 64 65 /* Network file handler */ 66 if (is_multisite()) { 64 67 65 if (!is_network_admin()) { 68 66 if ($count === 1) { … … 76 74 } 77 75 } 76 self::cls()->update_files(); 78 77 79 78 if (defined('LSCWP_REF') && LSCWP_REF == 'whm') { -
litespeed-cache/trunk/src/admin-display.cls.php
r3262418 r3281183 37 37 const RULECONFLICT_ON = 'ExpiresDefault_1'; 38 38 const RULECONFLICT_DISMISSED = 'ExpiresDefault_0'; 39 40 const TYPE_QC_HIDE_BANNER = 'qc_hide_banner'; 41 const COOKIE_QC_HIDE_BANNER = 'litespeed_qc_hide_banner'; 39 42 40 43 protected $messages = array(); … … 606 609 $messages = self::get_option(self::DB_MSG_PIN, array()); 607 610 $hit = false; 608 foreach ($messages as $k => $v) { 609 if ($v == $content) { 610 unset($messages[$k]); 611 $hit = true; 612 self::debug('✅ pinned msg content hit. Removed'); 613 break; 611 if ($messages != -1) { 612 foreach ($messages as $k => $v) { 613 if ($v == $content) { 614 unset($messages[$k]); 615 $hit = true; 616 self::debug('✅ pinned msg content hit. Removed'); 617 break; 618 } 614 619 } 615 620 } … … 1343 1348 return $html; 1344 1349 } 1350 1351 /** 1352 * Check if has qc hide banner cookie or not 1353 * @since 7.1 1354 */ 1355 public static function has_qc_hide_banner() 1356 { 1357 return isset($_COOKIE[self::COOKIE_QC_HIDE_BANNER]); 1358 } 1359 1360 /** 1361 * Set qc hide banner cookie 1362 * @since 7.1 1363 */ 1364 public static function set_qc_hide_banner() 1365 { 1366 $expire = time() + 86400 * 365; 1367 self::debug('Set qc hide banner cookie'); 1368 setcookie(self::COOKIE_QC_HIDE_BANNER, time(), $expire, COOKIEPATH, COOKIE_DOMAIN); 1369 } 1370 1371 /** 1372 * Handle all request actions from main cls 1373 * 1374 * @since 7.1 1375 * @access public 1376 */ 1377 public function handler() 1378 { 1379 $type = Router::verify_type(); 1380 1381 switch ($type) { 1382 case self::TYPE_QC_HIDE_BANNER: 1383 self::set_qc_hide_banner(); 1384 break; 1385 1386 default: 1387 break; 1388 } 1389 1390 Admin::redirect(); 1391 } 1345 1392 } -
litespeed-cache/trunk/src/avatar.cls.php
r3123399 r3281183 1 1 <?php 2 2 3 /** 3 4 * The avatar cache class … … 8 9 * @author LiteSpeed Technologies <info@litespeedtech.com> 9 10 */ 11 10 12 namespace LiteSpeed; 11 13 … … 243 245 $this->_maybe_mk_cache_folder('avatar'); 244 246 245 $response = wp_ remote_get($url, array('timeout' => 180, 'stream' => true, 'filename' => $file));247 $response = wp_safe_remote_get($url, array('timeout' => 180, 'stream' => true, 'filename' => $file)); 246 248 247 249 Debug2::debug('[Avatar] _generate [url] ' . $url); -
litespeed-cache/trunk/src/base.cls.php
r3261732 r3281183 150 150 const O_OPTM_CCSS_SEP_POSTTYPE = 'optm-ccss_sep_posttype'; 151 151 const O_OPTM_CCSS_SEP_URI = 'optm-ccss_sep_uri'; 152 const O_OPTM_CCSS_SELECTOR_WHITELIST = 'optm-ccss_whitelist'; 152 153 const O_OPTM_CSS_ASYNC_INLINE = 'optm-css_async_inline'; 153 154 const O_OPTM_CSS_FONT_DISPLAY = 'optm-css_font_display'; … … 438 439 self::O_OPTM_CCSS_SEP_POSTTYPE => array(), 439 440 self::O_OPTM_CCSS_SEP_URI => array(), 441 self::O_OPTM_CCSS_SELECTOR_WHITELIST => array(), 440 442 self::O_OPTM_CSS_ASYNC_INLINE => false, 441 443 self::O_OPTM_CSS_FONT_DISPLAY => false, -
litespeed-cache/trunk/src/cloud.cls.php
r3262418 r3281183 84 84 private static $_PUB_SVC_SET = array(self::API_NEWS, self::API_REPORT, self::API_VER, self::API_BETA_TEST, self::API_REST_ECHO, self::SVC_D_V3UPGRADE, self::SVC_D_DASH); 85 85 86 private static $_QUEUE_SVC_SET = array(self::SVC_ UCSS, self::SVC_VPI);86 private static $_QUEUE_SVC_SET = array(self::SVC_CCSS, self::SVC_UCSS, self::SVC_VPI); 87 87 88 88 public static $SERVICES_LOAD_CHECK = array( 89 self::SVC_CCSS,89 // self::SVC_CCSS, 90 90 // self::SVC_UCSS, 91 91 // self::SVC_VPI, … … 176 176 self::debug('echo succeeded'); 177 177 178 // Load sep erate thread echoed data from storage178 // Load separate thread echoed data from storage 179 179 if (empty($echobox['wpapi_ts']) || empty($echobox['wpapi_signature_b64'])) { 180 180 Admin_Display::error(__('Failed to get echo data from WPAPI', 'litespeed-cache')); … … 260 260 self::debug('echo succeeded'); 261 261 262 // Load sep erate thread echoed data from storage262 // Load separate thread echoed data from storage 263 263 if (empty($echobox['wpapi_ts']) || empty($echobox['wpapi_signature_b64'])) { 264 self::debug('Resp: ', $echobox); 264 265 Admin_Display::error(__('Failed to get echo data from WPAPI', 'litespeed-cache')); 265 266 return; … … 474 475 $server_key_url = self::CLOUD_SERVER_WP . '/' . self::API_SERVER_KEY_SIGN; 475 476 } 476 $resp = wp_ remote_get($server_key_url);477 $resp = wp_safe_remote_get($server_key_url); 477 478 if (is_wp_error($resp)) { 478 479 self::debugErr('Failed to load key: ' . $resp->get_error_message()); … … 1037 1038 $valid_cloud_loads = array(); 1038 1039 foreach ($valid_clouds as $k => $v) { 1039 $response = wp_ remote_get($v, array('timeout' => 5));1040 $response = wp_safe_remote_get($v, array('timeout' => 5)); 1040 1041 if (is_wp_error($response)) { 1041 1042 $error_message = $response->get_error_message(); … … 1162 1163 } 1163 1164 1164 if (!$this->_maybe_cloud($service_tag)) { 1165 return; 1165 $maybe_cloud = $this->_maybe_cloud($service_tag); 1166 if (!$maybe_cloud || $maybe_cloud === 'svc_hot') { 1167 return $maybe_cloud; 1166 1168 } 1167 1169 … … 1189 1191 self::save_summary(array('curr_request.' . $service_tag => time())); 1190 1192 1191 $response = wp_ remote_get($url, array(1193 $response = wp_safe_remote_get($url, array( 1192 1194 'timeout' => 15, 1193 1195 'headers' => array('Accept' => 'application/json'), … … 1233 1235 self::debug('Skip sync conf as QC not activated yet.'); 1234 1236 return false; 1237 } 1238 1239 // Check TTL 1240 if (!empty($this->_summary['ttl.' . $service_tag])) { 1241 $ttl = $this->_summary['ttl.' . $service_tag] - time(); 1242 if ($ttl > 0) { 1243 self::debug('❌ TTL limit. [srv] ' . $service_tag . ' [TTL cool down] ' . $ttl . ' seconds'); 1244 return 'svc_hot'; 1245 } 1235 1246 } 1236 1247 … … 1277 1288 1278 1289 /** 1290 * Check if a service tag ttl is valid or not 1291 * @since 7.1 1292 */ 1293 public function service_hot($service_tag) 1294 { 1295 if (empty($this->_summary['ttl.' . $service_tag])) { 1296 return false; 1297 } 1298 1299 $ttl = $this->_summary['ttl.' . $service_tag] - time(); 1300 if ($ttl <= 0) { 1301 return false; 1302 } 1303 1304 return $ttl; 1305 } 1306 1307 /** 1279 1308 * Check if activated QUIC.cloud service or not 1280 1309 * … … 1325 1354 } 1326 1355 1327 if (!$this->_maybe_cloud($service_tag)) { 1328 return; 1356 $maybe_cloud = $this->_maybe_cloud($service_tag); 1357 if (!$maybe_cloud || $maybe_cloud === 'svc_hot') { 1358 self::debug('Maybe cloud failed: ' . var_export($maybe_cloud, true)); 1359 return $maybe_cloud; 1329 1360 } 1330 1361 … … 1362 1393 self::save_summary(array('curr_request.' . $service_tag => time())); 1363 1394 1364 $response = wp_ remote_post($url, array(1395 $response = wp_safe_remote_post($url, array( 1365 1396 'body' => $param, 1366 1397 'timeout' => $time_out ?: 15, … … 1426 1457 1427 1458 return false; 1459 } 1460 1461 // Check and save TTL data 1462 if (!empty($json['_ttl'])) { 1463 $ttl = intval($json['_ttl']); 1464 self::debug('Service TTL to save: ' . $ttl); 1465 if ($ttl > 0 && $ttl < 86400) { 1466 self::save_summary(array( 1467 'ttl.' . $service_tag => $ttl + time(), 1468 )); 1469 } 1428 1470 } 1429 1471 … … 1845 1887 self::save_summary(array('ips_ts' => time(), 'ips_ts_runner' => time())); 1846 1888 1847 $response = wp_ remote_get(self::CLOUD_IPS . '?json');1889 $response = wp_safe_remote_get(self::CLOUD_IPS . '?json'); 1848 1890 if (is_wp_error($response)) { 1849 1891 $error_message = $response->get_error_message(); -
litespeed-cache/trunk/src/conf.cls.php
r3262418 r3281183 76 76 * Version is less than v3.0, or, is a new installation 77 77 */ 78 $ver_check_tag = ''; 78 79 if (!$ver) { 79 80 // Try upgrade first (network will upgrade inside too) 80 Data::cls()->try_upgrade_conf_3_0();81 $ver_check_tag = Data::cls()->try_upgrade_conf_3_0(); 81 82 } else { 82 83 defined('LSCWP_CUR_V') || define('LSCWP_CUR_V', $ver); … … 88 89 // Plugin version will be set inside 89 90 // Site plugin upgrade & version change will do in load_site_conf 90 Data::cls()->conf_upgrade($ver);91 $ver_check_tag = Data::cls()->conf_upgrade($ver); 91 92 } 92 93 } … … 102 103 $this->set_conf(self::$_default_options); 103 104 104 // Check new version @since 2.9.3 105 Cloud::version_check('activate' . (defined('LSCWP_REF') ? '_' . LSCWP_REF : '')); 105 $ver_check_tag .= ' activate' . (defined('LSCWP_REF') ? '_' . LSCWP_REF : ''); 106 106 } 107 107 … … 115 115 // Force correct version in case a rare unexpected case that `_ver` exists but empty 116 116 self::update_option(Base::_VER, Core::VER); 117 118 if ($ver_check_tag) { 119 Cloud::version_check($ver_check_tag); 120 } 117 121 } 118 122 -
litespeed-cache/trunk/src/core.cls.php
r3261732 r3281183 678 678 // Kick off HTTP req 679 679 $url = admin_url('admin-ajax.php'); 680 $resp = wp_ remote_get($url);680 $resp = wp_safe_remote_get($url); 681 681 if (is_wp_error($resp)) { 682 682 $error_message = $resp->get_error_message(); -
litespeed-cache/trunk/src/crawler-map.cls.php
r3261732 r3281183 72 72 73 73 // Add blacklist 74 if ($bit == 'B' || $bit == 'N') {74 if ($bit == Crawler::STATUS_BLACKLIST || $bit == Crawler::STATUS_NOCACHE) { 75 75 $q = "SELECT a.id, a.url FROM `$this->_tb_blacklist` a LEFT JOIN `$this->_tb` b ON b.url=a.url WHERE b.id IN ( $id_all )"; 76 76 $existing = $wpdb->get_results($q, ARRAY_A); … … 130 130 131 131 // Update blacklist reason 132 if ($bit == 'B' || $bit == 'N') {132 if ($bit == Crawler::STATUS_BLACKLIST || $bit == Crawler::STATUS_NOCACHE) { 133 133 $count = $wpdb->query( 134 134 "UPDATE `$this->_tb_blacklist` a LEFT JOIN `$this->_tb` b ON b.url = a.url SET a.reason=CONCAT(SUBSTRING_INDEX(a.reason, ',', $curr_crawler), '$code', SUBSTRING_INDEX(a.reason, ',', -$right_pos)) WHERE b.id IN (" . … … 162 162 // Build res&reason 163 163 $total_crawler = count(Crawler::cls()->list_crawlers()); 164 $res = str_repeat( 'B', $total_crawler);164 $res = str_repeat(Crawler::STATUS_BLACKLIST, $total_crawler); 165 165 $reason = implode(',', array_fill(0, $total_crawler, 'Man')); 166 166 … … 201 201 self::debug('blacklist delete [id] ' . $id); 202 202 203 $wpdb->query("UPDATE `$this->_tb` SET res=REPLACE(REPLACE(res, 'N', '-'), 'B', '-') WHERE url=(SELECT url FROM `$this->_tb_blacklist` WHERE id='$id')"); 203 $sql = sprintf( 204 "UPDATE `%s` SET res=REPLACE(REPLACE(res, '%s', '-'), '%s', '-') WHERE url=(SELECT url FROM `%s` WHERE id=%d)", 205 $this->_tb, 206 Crawler::STATUS_NOCACHE, 207 Crawler::STATUS_BLACKLIST, 208 $this->_tb_blacklist, 209 $id 210 ); 211 $wpdb->query($sql); 204 212 $wpdb->query("DELETE FROM `$this->_tb_blacklist` WHERE id='$id'"); 205 213 } … … 220 228 221 229 self::debug('Truncate blacklist'); 222 $wpdb->query("UPDATE `$this->_tb` SET res=REPLACE(REPLACE(res, 'N', '-'), 'B', '-')"); 230 $sql = sprintf("UPDATE `%s` SET res=REPLACE(REPLACE(res, '%s', '-'), '%s', '-')", $this->_tb, Crawler::STATUS_NOCACHE, Crawler::STATUS_BLACKLIST); 231 $wpdb->query($sql); 223 232 $wpdb->query("TRUNCATE `$this->_tb_blacklist`"); 224 233 } … … 305 314 $q = "SELECT * FROM `$this->_tb` WHERE url LIKE %s"; 306 315 if ($type == 'hit') { 307 $q .= " AND res LIKE '% H%'";316 $q .= " AND res LIKE '%" . Crawler::STATUS_HIT . "%'"; 308 317 } 309 318 if ($type == 'miss') { 310 $q .= " AND res LIKE '% M%'";319 $q .= " AND res LIKE '%" . Crawler::STATUS_MISS . "%'"; 311 320 } 312 321 if ($type == 'blacklisted') { 313 $q .= " AND res LIKE '% B%'";322 $q .= " AND res LIKE '%" . Crawler::STATUS_BLACKLIST . "%'"; 314 323 } 315 324 $q .= ' ORDER BY id LIMIT %d, %d'; … … 320 329 $q = "SELECT * FROM `$this->_tb`"; 321 330 if ($type == 'hit') { 322 $q .= " WHERE res LIKE '% H%'";331 $q .= " WHERE res LIKE '%" . Crawler::STATUS_HIT . "%'"; 323 332 } 324 333 if ($type == 'miss') { 325 $q .= " WHERE res LIKE '% M%'";334 $q .= " WHERE res LIKE '%" . Crawler::STATUS_MISS . "%'"; 326 335 } 327 336 if ($type == 'blacklisted') { 328 $q .= " WHERE res LIKE '% B%'";337 $q .= " WHERE res LIKE '%" . Crawler::STATUS_BLACKLIST . "%'"; 329 338 } 330 339 $q .= ' ORDER BY id LIMIT %d, %d'; … … 348 357 $type = Router::verify_type(); 349 358 if ($type == 'hit') { 350 $q .= " WHERE res LIKE '% H%'";359 $q .= " WHERE res LIKE '%" . Crawler::STATUS_HIT . "%'"; 351 360 } 352 361 if ($type == 'miss') { 353 $q .= " WHERE res LIKE '% M%'";362 $q .= " WHERE res LIKE '%" . Crawler::STATUS_MISS . "%'"; 354 363 } 355 364 if ($type == 'blacklisted') { 356 $q .= " WHERE res LIKE '% B%'";365 $q .= " WHERE res LIKE '%" . Crawler::STATUS_BLACKLIST . "%'"; 357 366 } 358 367 … … 517 526 * @since 2.2.7 518 527 */ 519 $response = wp_ remote_get($sitemap, array('timeout' => $this->_conf_map_timeout, 'sslverify' => false));528 $response = wp_safe_remote_get($sitemap, array('timeout' => $this->_conf_map_timeout, 'sslverify' => false)); 520 529 if (is_wp_error($response)) { 521 530 $error_message = $response->get_error_message(); -
litespeed-cache/trunk/src/crawler.cls.php
r3261732 r3281183 26 26 const FAST_USER_AGENT = 'lscache_runner'; 27 27 const CHUNKS = 10000; 28 29 const STATUS_WAIT = 'W'; 30 const STATUS_HIT = 'H'; 31 const STATUS_MISS = 'M'; 32 const STATUS_BLACKLIST = 'B'; 33 const STATUS_NOCACHE = 'N'; 28 34 29 35 private $_sitemeta = 'meta.data'; … … 301 307 if ($this->_summary['done'] === 'touchedEnd') { 302 308 // check whole crawling interval 303 $last_f nished_at = $this->_summary['last_full_time_cost'] + $this->_summary['this_full_beginning_time'];304 if (!$manually_run && time() - $last_f nished_at < $this->conf(Base::O_CRAWLER_CRAWL_INTERVAL)) {309 $last_finished_at = $this->_summary['last_full_time_cost'] + $this->_summary['this_full_beginning_time']; 310 if (!$manually_run && time() - $last_finished_at < $this->conf(Base::O_CRAWLER_CRAWL_INTERVAL)) { 305 311 self::debug('Cron abort: cache warmed already.'); 306 312 // if not reach whole crawling interval, exit … … 496 502 // mark running 497 503 $this->_prepare_running(); 498 // run cra lwer504 // run crawler 499 505 $this->_do_running(); 500 506 $this->_terminate_running(); … … 910 916 $curls = array(); 911 917 foreach ($rows as $row) { 912 if (substr($row['res'], $this->_summary['curr_crawler'], 1) == 'B') {918 if (substr($row['res'], $this->_summary['curr_crawler'], 1) == self::STATUS_BLACKLIST) { 913 919 continue; 914 920 } 915 if (substr($row['res'], $this->_summary['curr_crawler'], 1) == 'N') {921 if (substr($row['res'], $this->_summary['curr_crawler'], 1) == self::STATUS_NOCACHE) { 916 922 continue; 917 923 } … … 972 978 $ret = array(); 973 979 foreach ($rows as $row) { 974 if (substr($row['res'], $this->_summary['curr_crawler'], 1) == 'B') {980 if (substr($row['res'], $this->_summary['curr_crawler'], 1) == self::STATUS_BLACKLIST) { 975 981 continue; 976 982 } 977 if (substr($row['res'], $this->_summary['curr_crawler'], 1) == 'N') {983 if (substr($row['res'], $this->_summary['curr_crawler'], 1) == self::STATUS_NOCACHE) { 978 984 continue; 979 985 } … … 1006 1012 private function _status2title($status) 1007 1013 { 1008 if ($status == 'H') {1014 if ($status == self::STATUS_HIT) { 1009 1015 return '✅ Hit'; 1010 1016 } 1011 if ($status == 'M') {1017 if ($status == self::STATUS_MISS) { 1012 1018 return '😊 Miss'; 1013 1019 } 1014 if ($status == 'B') {1020 if ($status == self::STATUS_BLACKLIST) { 1015 1021 return '😅 Blacklisted'; 1016 1022 } 1017 if ($status == 'N') {1023 if ($status == self::STATUS_NOCACHE) { 1018 1024 return '😅 Blacklisted'; 1019 1025 } … … 1031 1037 // self::debug('http status code: ' . $code . ' [headers]', $header); 1032 1038 if ($code == 201) { 1033 return 'H';1039 return self::STATUS_HIT; 1034 1040 } 1035 1041 … … 1037 1043 // If is from DIVI, taken as miss 1038 1044 if (defined('LITESPEED_CRAWLER_IGNORE_NONCACHEABLE') && LITESPEED_CRAWLER_IGNORE_NONCACHEABLE) { 1039 return 'M';1045 return self::STATUS_MISS; 1040 1046 } 1041 1047 1042 1048 // If blacklist is disabled 1043 1049 if ((defined('LITESPEED_CRAWLER_DISABLE_BLOCKLIST') && LITESPEED_CRAWLER_DISABLE_BLOCKLIST) || apply_filters('litespeed_crawler_disable_blocklist', false, $url)) { 1044 return 'M';1045 } 1046 1047 return 'N'; // Blacklist1050 return self::STATUS_MISS; 1051 } 1052 1053 return self::STATUS_NOCACHE; // Blacklist 1048 1054 } 1049 1055 … … 1053 1059 if (stripos($header, $_header) !== false) { 1054 1060 if (stripos($header, $_header . ': miss') !== false) { 1055 return 'M'; // Miss1061 return self::STATUS_MISS; // Miss 1056 1062 } 1057 return 'H'; // Hit1063 return self::STATUS_HIT; // Hit 1058 1064 } 1059 1065 } … … 1061 1067 // If blacklist is disabled 1062 1068 if ((defined('LITESPEED_CRAWLER_DISABLE_BLOCKLIST') && LITESPEED_CRAWLER_DISABLE_BLOCKLIST) || apply_filters('litespeed_crawler_disable_blocklist', false, $url)) { 1063 return 'M';1064 } 1065 1066 return 'B'; // Blacklist1069 return self::STATUS_MISS; 1070 } 1071 1072 return self::STATUS_BLACKLIST; // Blacklist 1067 1073 } 1068 1074 … … 1192 1198 // Current crawler is fully done 1193 1199 // $end_reason = sprintf( __( 'Crawler %s reached end of sitemap file.', 'litespeed-cache' ), '#' . ( $this->_summary['curr_crawler'] + 1 ) ); 1194 $this->_summary['curr_crawler']++; // Jump to next cra lwer1200 $this->_summary['curr_crawler']++; // Jump to next crawler 1195 1201 // $this->_summary[ 'crawler_stats' ][ $this->_summary[ 'curr_crawler' ] ] = array(); // reset this at next crawl time 1196 1202 $this->_summary['last_pos'] = 0; // reset last position … … 1230 1236 // WebP on/off 1231 1237 if ($this->conf(Base::O_IMG_OPTM_WEBP)) { 1232 $crawler_factors['webp'] = array(1 => $this->cls('Media')->next_gen_image_title(), 0 => ''); 1238 $crawler_factors['webp'] = array(1 => $this->cls('Media')->next_gen_image_title()); 1239 if (apply_filters('litespeed_crawler_webp', false)) { 1240 $crawler_factors['webp'][0] = ''; 1241 } 1233 1242 } 1234 1243 … … 1381 1390 $_status_list = array( 1382 1391 '-' => 'default', 1383 'M'=> 'primary',1384 'H'=> 'success',1385 'B'=> 'danger',1386 'N'=> 'warning',1392 self::STATUS_MISS => 'primary', 1393 self::STATUS_HIT => 'success', 1394 self::STATUS_BLACKLIST => 'danger', 1395 self::STATUS_NOCACHE => 'warning', 1387 1396 ); 1388 1397 -
litespeed-cache/trunk/src/css.cls.php
r3031822 r3281183 19 19 20 20 protected $_summary; 21 private $_ccss_whitelist; 21 22 private $_queue; 22 private $_endts;23 23 24 24 /** … … 30 30 { 31 31 $this->_summary = self::get_summary(); 32 33 add_filter('litespeed_ccss_whitelist', array($this->cls('Data'), 'load_ccss_whitelist')); 32 34 } 33 35 … … 109 111 { 110 112 global $wp; 111 $request_url = home_url($wp->request); 113 $request_url = get_permalink(); 114 // Backup, in case get_permalink() fails. 115 if (!$request_url) { 116 $request_url = home_url($wp->request); 117 } 112 118 113 119 $filepath_prefix = $this->_build_filepath_prefix('ccss'); … … 207 213 208 214 $i = 0; 209 $timeoutLimit = ini_get('max_execution_time');210 $this->_endts = time() + $timeoutLimit;211 215 foreach ($this->_queue as $k => $v) { 212 216 if (!empty($v['_status'])) { 213 217 continue; 214 }215 216 if (function_exists('set_time_limit')) {217 $this->_endts += 120;218 set_time_limit(120);219 }220 if ($this->_endts - time() < 10) {221 // self::debug("🚨 End loop due to timeout limit reached " . $timeoutLimit . "s");222 // return;223 218 } 224 219 … … 255 250 } 256 251 257 // Exit queue if out of quota 258 if ($res === 'out_of_quota' ) {252 // Exit queue if out of quota or service is hot 253 if ($res === 'out_of_quota' || $res === 'svc_hot') { 259 254 return; 260 255 } … … 292 287 } 293 288 289 set_time_limit(120); 290 294 291 // Update css request status 295 292 $this->_summary['curr_request_' . $type] = time(); … … 307 304 308 305 if (!$css) { 309 Debug2::debug('[UCSS] ❌ No combined css'); 306 $type_tag = strtoupper($type); 307 Debug2::debug('[' . $type_tag . '] ❌ No combined css'); 310 308 return false; 311 309 } … … 321 319 'css' => $css, 322 320 ); 321 if (!isset($this->_ccss_whitelist)) { 322 $this->_ccss_whitelist = $this->_filter_whitelist(); 323 } 324 $data['whitelist'] = $this->_ccss_whitelist; 323 325 324 326 self::debug('Generating: ', $data); … … 326 328 $json = Cloud::post(Cloud::SVC_CCSS, $data, 30); 327 329 if (!is_array($json)) { 328 return false;330 return $json; 329 331 } 330 332 … … 528 530 529 531 /** 532 * Filter the comment content, add quotes to selector from whitelist. Return the json 533 * 534 * @since 7.1 535 */ 536 private function _filter_whitelist() 537 { 538 $whitelist = array(); 539 $list = apply_filters('litespeed_ccss_whitelist', $this->conf(self::O_OPTM_CCSS_SELECTOR_WHITELIST)); 540 foreach ($list as $v) { 541 if (substr($v, 0, 2) === '//') { 542 continue; 543 } 544 $whitelist[] = $v; 545 } 546 547 return $whitelist; 548 } 549 550 /** 551 * Notify finished from server 552 * @since 7.1 553 */ 554 public function notify() 555 { 556 $post_data = \json_decode(file_get_contents('php://input'), true); 557 if (is_null($post_data)) { 558 $post_data = $_POST; 559 } 560 self::debug('notify() data', $post_data); 561 562 $this->_queue = $this->load_queue('ccss'); 563 564 list($post_data) = $this->cls('Cloud')->extract_msg($post_data, 'ccss'); 565 566 $notified_data = $post_data['data']; 567 if (empty($notified_data) || !is_array($notified_data)) { 568 self::debug('❌ notify exit: no notified data'); 569 return Cloud::err('no notified data'); 570 } 571 572 // Check if its in queue or not 573 $valid_i = 0; 574 foreach ($notified_data as $v) { 575 if (empty($v['request_url'])) { 576 self::debug('❌ notify bypass: no request_url', $v); 577 continue; 578 } 579 if (empty($v['queue_k'])) { 580 self::debug('❌ notify bypass: no queue_k', $v); 581 continue; 582 } 583 584 if (empty($this->_queue[$v['queue_k']])) { 585 self::debug('❌ notify bypass: no this queue [q_k]' . $v['queue_k']); 586 continue; 587 } 588 589 // Save data 590 if (!empty($v['data_ccss'])) { 591 $is_mobile = $this->_queue[$v['queue_k']]['is_mobile']; 592 $is_webp = $this->_queue[$v['queue_k']]['is_webp']; 593 $this->_save_con('ccss', $v['data_ccss'], $v['queue_k'], $is_mobile, $is_webp); 594 595 $valid_i++; 596 } 597 598 unset($this->_queue[$v['queue_k']]); 599 self::debug('notify data handled, unset queue [q_k] ' . $v['queue_k']); 600 } 601 $this->save_queue('ccss', $this->_queue); 602 603 self::debug('notified'); 604 605 return Cloud::ok(array('count' => $valid_i)); 606 } 607 608 /** 530 609 * Handle all request actions from main cls 531 610 * -
litespeed-cache/trunk/src/data.cls.php
r3269130 r3281183 147 147 Purge::purge_all(); 148 148 149 Cloud::version_check('upgrade');149 return 'upgrade'; 150 150 } 151 151 … … 257 257 $previous_options = get_option('litespeed-cache-conf'); 258 258 if (!$previous_options) { 259 Cloud::version_check('new'); 260 return; 259 return 'new'; 261 260 } 262 261 … … 289 288 $ver = '3.0'; 290 289 if (Core::VER != $ver) { 291 $this->conf_upgrade($ver);290 return $this->conf_upgrade($ver); 292 291 } else { 293 292 // Reload options … … 299 298 Purge::purge_all(); 300 299 301 Cloud::version_check('upgrade');300 return 'upgrade'; 302 301 } 303 302 } … … 648 647 649 648 /** 649 * Get list from `data/ccss_whitelist.txt` 650 * 651 * @since 7.1 652 */ 653 public function load_ccss_whitelist($list) 654 { 655 $data = $this->_load_per_line('ccss_whitelist.txt'); 656 if ($data) { 657 $list = array_unique(array_filter(array_merge($list, $data))); 658 } 659 660 return $list; 661 } 662 663 /** 650 664 * Get list from `data/ucss_whitelist.txt` 651 665 * -
litespeed-cache/trunk/src/doc.cls.php
r3009052 r3281183 175 175 $str = 176 176 '<div class="litespeed-desc">' . 177 esc_html__('The queue is processed asynchronously. It may take time.', 'litespeed-cache') .177 __('The queue is processed asynchronously. It may take time.', 'litespeed-cache') . 178 178 self::learn_more('https://docs.litespeedtech.com/lscache/lscwp/troubleshoot/#quiccloud-queue-issues', false, false, false, true) . 179 179 '</div>'; -
litespeed-cache/trunk/src/esi.cls.php
r3261732 r3281183 613 613 } 614 614 615 Debug2::debug2('[ESI] par ms', $unencrypted);615 Debug2::debug2('[ESI] params', $unencrypted); 616 616 // $unencoded = urldecode($unencrypted); no need to do this as $_GET is already parsed 617 617 $params = \json_decode($unencrypted, true); -
litespeed-cache/trunk/src/file.cls.php
r3261732 r3281183 23 23 public static function is_404($url) 24 24 { 25 $response = wp_ remote_get($url);25 $response = wp_safe_remote_get($url); 26 26 $code = wp_remote_retrieve_response_code($response); 27 27 if ($code == 404) { -
litespeed-cache/trunk/src/img-optm.cls.php
r3261732 r3281183 918 918 919 919 /** 920 * Calculate pull th eads920 * Calculate pull threads 921 921 * 922 922 * @since 5.8 … … 1236 1236 } else { 1237 1237 foreach ($requests as $cnt => $req) { 1238 $wp_response = wp_ remote_get($req['url'], array('timeout' => 60));1238 $wp_response = wp_safe_remote_get($req['url'], array('timeout' => 60)); 1239 1239 $request_response = array( 1240 1240 'success' => false, -
litespeed-cache/trunk/src/lang.cls.php
r3261732 r3281183 173 173 self::O_OPTM_CCSS_SEP_POSTTYPE => __('Separate CCSS Cache Post Types', 'litespeed-cache'), 174 174 self::O_OPTM_CCSS_SEP_URI => __('Separate CCSS Cache URIs', 'litespeed-cache'), 175 self::O_OPTM_CCSS_SELECTOR_WHITELIST => __('CCSS Selector Allowlist', 'litespeed-cache'), 175 176 self::O_OPTM_JS_DEFER_EXC => __('JS Deferred / Delayed Excludes', 'litespeed-cache'), 176 177 self::O_OPTM_GM_JS_EXC => __('Guest Mode JS Excludes', 'litespeed-cache'), -
litespeed-cache/trunk/src/localization.cls.php
r3123399 r3281183 1 1 <?php 2 2 3 /** 3 4 * The localization class. … … 5 6 * @since 3.3 6 7 */ 8 7 9 namespace LiteSpeed; 8 10 … … 91 93 92 94 self::debug('localize [url] ' . $url); 93 $response = wp_ remote_get($url, array('timeout' => 180, 'stream' => true, 'filename' => $file));95 $response = wp_safe_remote_get($url, array('timeout' => 180, 'stream' => true, 'filename' => $file)); 94 96 95 97 // Parse response data -
litespeed-cache/trunk/src/optimize.cls.php
r3261732 r3281183 70 70 if ($this->cfg_css_async) { 71 71 if (!$this->cls('Cloud')->activated()) { 72 Debug2::debug('[Optm] ❌ CCSS set to OFF due to missing domain key');72 Debug2::debug('[Optm] ❌ CCSS set to OFF due to QC not activated'); 73 73 $this->cfg_css_async = false; 74 74 } -
litespeed-cache/trunk/src/optimizer.cls.php
r3261732 r3281183 1 1 <?php 2 2 3 /** 3 4 * The optimize4 class. … … 8 9 * @author LiteSpeed Technologies <info@litespeedtech.com> 9 10 */ 11 10 12 namespace LiteSpeed; 11 13 … … 220 222 $to_be_deleted_folder = $folder_name . date('Ymd', strtotime('-2 days')); 221 223 if (file_exists($to_be_deleted_folder)) { 222 Debug2::debug('[Optimizer] ❌ Clear ning folder [name] ' . $to_be_deleted_folder);224 Debug2::debug('[Optimizer] ❌ Clearing folder [name] ' . $to_be_deleted_folder); 223 225 File::rrmdir($to_be_deleted_folder); 224 226 } … … 230 232 231 233 // Write file 232 $res = wp_ remote_get($url);234 $res = wp_safe_remote_get($url); 233 235 $res_code = wp_remote_retrieve_response_code($res); 234 236 if (is_wp_error($res) || $res_code != 200) { -
litespeed-cache/trunk/src/rest.cls.php
r3261732 r3281183 89 89 )); 90 90 91 register_rest_route('litespeed/v1', '/notify_ccss', array( 92 'methods' => 'POST', 93 'callback' => array($this, 'notify_ccss'), 94 'permission_callback' => array($this, 'is_from_cloud'), 95 )); 96 91 97 register_rest_route('litespeed/v1', '/notify_ucss', array( 92 98 'methods' => 'POST', … … 198 204 { 199 205 return Img_Optm::cls()->notify_img(); 206 } 207 208 /** 209 * @since 7.1 210 */ 211 public function notify_ccss() 212 { 213 self::debug('notify_ccss'); 214 return CSS::cls()->notify(); 200 215 } 201 216 -
litespeed-cache/trunk/src/router.cls.php
r3261732 r3281183 41 41 const ACTION_DEBUG2 = 'debug2'; 42 42 const ACTION_CDN_CLOUDFLARE = 'CDN\Cloudflare'; 43 const ACTION_ADMIN_DISPLAY = 'admin_display'; 43 44 44 45 // List all handlers here 45 46 private static $_HANDLERS = array( 47 self::ACTION_ADMIN_DISPLAY, 46 48 self::ACTION_ACTIVATION, 47 49 self::ACTION_AVATAR, … … 628 630 return; 629 631 632 case self::ACTION_ADMIN_DISPLAY: 630 633 case self::ACTION_PLACEHOLDER: 631 634 case self::ACTION_AVATAR: -
litespeed-cache/trunk/src/task.cls.php
r3261732 r3281183 132 132 $url = add_query_arg($qs, admin_url('admin-ajax.php')); 133 133 self::debug('async call to ' . $url); 134 wp_ remote_post(esc_url_raw($url), $args);134 wp_safe_remote_post(esc_url_raw($url), $args); 135 135 } 136 136 -
litespeed-cache/trunk/src/tool.cls.php
r3009052 r3281183 1 1 <?php 2 2 3 /** 3 4 * The tools … … 8 9 * @author LiteSpeed Technologies <info@litespeedtech.com> 9 10 */ 11 10 12 namespace LiteSpeed; 11 13 … … 14 16 class Tool extends Root 15 17 { 18 const LOG_TAG = '[Tool]'; 19 16 20 /** 17 21 * Get public IP … … 22 26 public function check_ip() 23 27 { 24 Debug2::debug('[Tool]✅ check_ip');28 self::debug('✅ check_ip'); 25 29 26 $response = wp_remote_get('https://www.doapi.us/ip'); 30 $response = wp_safe_remote_get('https://cyberpanel.sh/?ip', array( 31 'headers' => array( 32 'User-Agent' => 'curl/8.7.1', 33 ), 34 )); 27 35 28 36 if (is_wp_error($response)) { 29 return new \WP_Error('remote_get_fail', 'Failed to fetch from https://www.doapi.us/ip', array('status' => 404));37 return __('Failed to detect IP', 'litespeed-cache'); 30 38 } 31 39 32 $ data = $response['body'];40 $ip = trim($response['body']); 33 41 34 Debug2::debug('[Tool] result [ip] ' . $data);42 self::debug('result [ip] ' . $ip); 35 43 36 return $data; 44 if (Utility::valid_ipv4($ip)) { 45 return $ip; 46 } 47 48 return __('Failed to detect IP', 'litespeed-cache'); 37 49 } 38 50 -
litespeed-cache/trunk/src/ucss.cls.php
r3261732 r3281183 242 242 } 243 243 244 // Exit queue if out of quota 245 if ($res === 'out_of_quota' ) {244 // Exit queue if out of quota or service is hot 245 if ($res === 'out_of_quota' || $res === 'svc_hot') { 246 246 return; 247 247 } … … 328 328 $json = Cloud::post(Cloud::SVC_UCSS, $data, 30); 329 329 if (!is_array($json)) { 330 return false;330 return $json; 331 331 } 332 332 -
litespeed-cache/trunk/src/vary.cls.php
r3261732 r3281183 55 55 } 56 56 57 if (defined('LITESPEED_CLI') || defined('DOING_CRON')) { 58 $something_wrong = false; 59 } 60 57 61 if ($something_wrong) { 58 62 // Display cookie error msg to admin -
litespeed-cache/trunk/src/vpi.cls.php
r3261732 r3281183 206 206 } 207 207 208 // Exit queue if out of quota 209 if ($res === 'out_of_quota' ) {208 // Exit queue if out of quota or service is hot 209 if ($res === 'out_of_quota' || $res === 'svc_hot') { 210 210 return; 211 211 } … … 279 279 $json = Cloud::post($svc, $data, 30); 280 280 if (!is_array($json)) { 281 return false;281 return $json; 282 282 } 283 283 -
litespeed-cache/trunk/thirdparty/litespeed-check.cls.php
r3261732 r3281183 72 72 self::$_msg_id . 73 73 '>' . 74 esc_html__('Please consider disabling the following detected plugins, as they may conflict with LiteSpeed Cache:', 'litespeed-cache') .74 __('Please consider disabling the following detected plugins, as they may conflict with LiteSpeed Cache:', 'litespeed-cache') . 75 75 '<p style="color: red; font-weight: 700;">' . 76 76 'PageSpeed Ninja' . … … 123 123 self::$_msg_id . 124 124 '>' . 125 esc_html__('Please consider disabling the following detected plugins, as they may conflict with LiteSpeed Cache:', 'litespeed-cache') .125 __('Please consider disabling the following detected plugins, as they may conflict with LiteSpeed Cache:', 'litespeed-cache') . 126 126 '<p style="color: red; font-weight: 700;">' . 127 127 implode(', ', $active_incompatible_plugins) . -
litespeed-cache/trunk/tpl/cdn/cf.tpl.php
r3261732 r3281183 9 9 10 10 <h3 class="litespeed-title-short"> 11 <?php echo __('C DNSettings', 'litespeed-cache'); ?>11 <?php echo __('Cloudflare Settings', 'litespeed-cache'); ?> 12 12 <?php Doc::learn_more('https://docs.litespeedtech.com/lscache/lscwp/cdn/'); ?> 13 13 </h3> … … 24 24 <div class="litespeed-desc"> 25 25 <?php echo sprintf(__('Use %s API functionality.', 'litespeed-cache'), 'Cloudflare'); ?> 26 <?php echo sprintf(__('This can be managed from %1$s%2$s tab.', 'litespeed-cache'), '<b>' . __('CDN', 'litespeed-cache') . '</b> -> <b>', __('Manage', 'litespeed-cache') . '</b>'); ?>27 26 </div> 28 27 <div class="litespeed-block"> -
litespeed-cache/trunk/tpl/cdn/qc.tpl.php
r3261732 r3281183 104 104 <?php elseif ($cloud_summary['qc_activated'] == 'anonymous') : ?> 105 105 <p><?php echo __('You are currently using services as an anonymous user. To manage your QUIC.cloud options, use the button below to create an account and link to the QUIC.cloud Dashboard.', 'litespeed-cache'); ?></p> 106 <p class="litespeed-top20"><a href="<?php echo $__cloud->qc_link(); ?>" target=" _blank" class="button button-<?php echo ((empty($cloud_summary['qc_activated']) || $cloud_summary['qc_activated'] != 'cdn') ? 'secondary' : 'primary'); ?>"><?php echo __('Link to QUIC.cloud', 'litespeed-cache'); ?> <span class="dashicons dashicons-external"></span></a></p>106 <p class="litespeed-top20"><a href="<?php echo $__cloud->qc_link(); ?>" target="qc" class="button button-<?php echo ((empty($cloud_summary['qc_activated']) || $cloud_summary['qc_activated'] != 'cdn') ? 'secondary' : 'primary'); ?>"><?php echo __('Link to QUIC.cloud', 'litespeed-cache'); ?> <span class="dashicons dashicons-external"></span></a></p> 107 107 <?php elseif ($cloud_summary['qc_activated'] == 'linked') : ?> 108 <p class="litespeed-top20"><a href="<?php echo $__cloud->qc_link(); ?>" target=" _blank" class="button button-<?php echo ((empty($cloud_summary['qc_activated']) || $cloud_summary['qc_activated'] != 'cdn') ? 'secondary' : 'primary'); ?>"><?php echo __('My QUIC.cloud Dashboard', 'litespeed-cache'); ?> <span class="dashicons dashicons-external"></span></a></p>108 <p class="litespeed-top20"><a href="<?php echo $__cloud->qc_link(); ?>" target="qc" class="button button-<?php echo ((empty($cloud_summary['qc_activated']) || $cloud_summary['qc_activated'] != 'cdn') ? 'secondary' : 'primary'); ?>"><?php echo __('My QUIC.cloud Dashboard', 'litespeed-cache'); ?> <span class="dashicons dashicons-external"></span></a></p> 109 109 <?php else : ?> 110 110 <p><?php echo __('To manage your QUIC.cloud options, go to QUIC.cloud Dashboard.', 'litespeed-cache'); ?></p> 111 <p class="litespeed-top20"><a href="<?php echo $__cloud->qc_link(); ?>" target=" _blank" class="button button-<?php echo ((empty($cloud_summary['qc_activated']) || $cloud_summary['qc_activated'] != 'cdn') ? 'secondary' : 'primary'); ?>"><?php echo __('My QUIC.cloud Dashboard', 'litespeed-cache'); ?> <span class="dashicons dashicons-external"></span></a></p>111 <p class="litespeed-top20"><a href="<?php echo $__cloud->qc_link(); ?>" target="qc" class="button button-<?php echo ((empty($cloud_summary['qc_activated']) || $cloud_summary['qc_activated'] != 'cdn') ? 'secondary' : 'primary'); ?>"><?php echo __('My QUIC.cloud Dashboard', 'litespeed-cache'); ?> <span class="dashicons dashicons-external"></span></a></p> 112 112 <?php endif; ?> 113 113 <?php endif; ?> -
litespeed-cache/trunk/tpl/crawler/summary.tpl.php
r3261732 r3281183 142 142 <tbody> 143 143 <?php foreach ($crawler_list as $i => $v) : 144 $hit = !empty($summary['crawler_stats'][$i][ 'H']) ? $summary['crawler_stats'][$i]['H'] : 0;145 $miss = !empty($summary['crawler_stats'][$i][ 'M']) ? $summary['crawler_stats'][$i]['M'] : 0;146 147 $blacklisted = !empty($summary['crawler_stats'][$i][ 'B']) ? $summary['crawler_stats'][$i]['B'] : 0;148 $blacklisted += !empty($summary['crawler_stats'][$i][ 'N']) ? $summary['crawler_stats'][$i]['N'] : 0;149 150 if (isset($summary['crawler_stats'][$i][ 'W'])) {151 $waiting = $summary['crawler_stats'][$i][ 'W'] ?: 0;144 $hit = !empty($summary['crawler_stats'][$i][Crawler::STATUS_HIT]) ? $summary['crawler_stats'][$i][Crawler::STATUS_HIT] : 0; 145 $miss = !empty($summary['crawler_stats'][$i][Crawler::STATUS_MISS]) ? $summary['crawler_stats'][$i][Crawler::STATUS_MISS] : 0; 146 147 $blacklisted = !empty($summary['crawler_stats'][$i][Crawler::STATUS_BLACKLIST]) ? $summary['crawler_stats'][$i][Crawler::STATUS_BLACKLIST] : 0; 148 $blacklisted += !empty($summary['crawler_stats'][$i][Crawler::STATUS_NOCACHE]) ? $summary['crawler_stats'][$i][Crawler::STATUS_NOCACHE] : 0; 149 150 if (isset($summary['crawler_stats'][$i][Crawler::STATUS_WAIT])) { 151 $waiting = $summary['crawler_stats'][$i][Crawler::STATUS_WAIT] ?: 0; 152 152 } else { 153 153 $waiting = $summary['list_size'] - $hit - $miss - $blacklisted; -
litespeed-cache/trunk/tpl/dash/dashboard.tpl.php
r3261732 r3281183 37 37 <div class="litespeed-dashboard"> 38 38 39 <?php if (!$__cloud->activated() ) : ?>39 <?php if (!$__cloud->activated() && !Admin_Display::has_qc_hide_banner()) : ?> 40 40 <div class="litespeed-dashboard-group"> 41 41 <div class="litespeed-flex-container"> … … 133 133 134 134 <div class="litespeed-dashboard-qc"> 135 <?php if (!$__cloud->activated() ) : ?>135 <?php if (!$__cloud->activated() && !Admin_Display::has_qc_hide_banner()) : ?> 136 136 <div class="litespeed-dashboard-unlock"> 137 137 <div> … … 143 143 <p class="litespeed-dashboard-unlock-desc"><?php _e('Speed up your WordPress site even further with <strong>QUIC.cloud Online Services and CDN</strong>.', 'litespeed-cache'); ?></p> 144 144 <p> 145 <?php _e('Free monthly quota available. ', 'litespeed-cache'); ?>145 <?php _e('Free monthly quota available. Can also be used anonymously (no email required).', 'litespeed-cache'); ?> 146 146 </p> 147 147 <p> … … 150 150 <?php _e('Enable QUIC.cloud services', 'litespeed-cache'); ?> 151 151 </a> 152 <br><a class="button button-link litespeed-top10" href="<?php echo Utility::build_url(Router::ACTION_ADMIN_DISPLAY, Admin_Display::TYPE_QC_HIDE_BANNER); ?>"><?php _e('Do not show this again', 'litespeed-cache'); ?></a> 153 152 154 </p> 153 155 <p class="litespeed-dashboard-unlock-footer"> … … 175 177 <a href="https://docs.litespeedtech.com/lscache/lscwp/dashboard/#usage-statistics" target="_blank" class="litespeed-learn-more"><?php echo __('Learn More', 'litespeed-cache'); ?></a> 176 178 </div> 179 180 <?php if (!$__cloud->activated() && Admin_Display::has_qc_hide_banner()) : ?> 181 <p class="litespeed-desc litespeed-margin-top-remove"><?php echo __('The features below are provided by', 'litespeed-cache'); ?> <a href="<?php echo admin_url('admin.php?page=litespeed-general'); ?>">QUIC.cloud</a></p> 182 <?php endif; ?> 183 177 184 178 185 <div class="litespeed-dashboard-stats-wrapper"> … … 327 334 <?php Doc::learn_more( 328 335 Utility::build_url(Router::ACTION_CLOUD, Cloud::TYPE_ACTIVATE), 329 __(' Activate QUIC.cloud', 'litespeed-cache'),336 __('Enable QUIC.cloud Services', 'litespeed-cache'), 330 337 true, 331 338 'button litespeed-btn-warning' 332 339 ); ?> 333 340 <?php elseif (!empty($cloud_summary['qc_activated']) && $cloud_summary['qc_activated'] != 'anonymous') : ?> 334 <a href="<?php echo $__cloud->qc_link(); ?>" class="litespeed-link-with-icon" target=" _blank"><?php echo __('Go to QUIC.cloud dashboard', 'litespeed-cache'); ?> <span class="dashicons dashicons-external"></span></a>341 <a href="<?php echo $__cloud->qc_link(); ?>" class="litespeed-link-with-icon" target="qc"><?php echo __('Go to QUIC.cloud dashboard', 'litespeed-cache'); ?> <span class="dashicons dashicons-external"></span></a> 335 342 <?php else : ?> 336 343 <?php Doc::learn_more( … … 786 793 <p class="litespeed-margin-bottom20"> 787 794 <?php Doc::learn_more( 788 Utility::build_url(Router::ACTION_CLOUD, Cloud::TYPE_ENABLE_CDN),795 Utility::build_url(Router::ACTION_CLOUD, $__cloud->activated() ? Cloud::TYPE_ENABLE_CDN : Cloud::TYPE_ACTIVATE), 789 796 '<span class="dashicons dashicons-saved"></span>' . __('Enable QUIC.cloud CDN', 'litespeed-cache'), 790 797 true, -
litespeed-cache/trunk/tpl/general/settings.tpl.php
r3261732 r3281183 91 91 <div class="litespeed-desc"> 92 92 <?php echo __('Enter this site\'s IP address to allow cloud services directly call IP instead of domain name. This eliminates the overhead of DNS and CDN lookups.', 'litespeed-cache'); ?> 93 <br /><?php echo __('Your server IP', 'litespeed-cache'); ?>: <code id='litespeed_server_ip'>-</code> <a href="javascript:;" class="button button-link" id="litespeed_get_ip"><?php echo __('Check my public IP from', 'litespeed-cache'); ?> DoAPI.us</a>93 <br /><?php echo __('Your server IP', 'litespeed-cache'); ?>: <code id='litespeed_server_ip'>-</code> <a href="javascript:;" class="button button-link" id="litespeed_get_ip"><?php echo __('Check my public IP from', 'litespeed-cache'); ?> CyberPanel.sh</a> 94 94 ⚠️ <?php echo __('Notice', 'litespeed-cache'); ?>: <?php echo __('the auto-detected IP may not be accurate if you have an additional outgoing IP set, or you have multiple IPs configured on your server.', 'litespeed-cache'); ?> 95 95 <br /><?php echo __('Please make sure this IP is the correct one for visiting your site.', 'litespeed-cache'); ?> -
litespeed-cache/trunk/tpl/img_optm/summary.tpl.php
r3261732 r3281183 34 34 } 35 35 36 $imgoptm_service_hot = $this->cls('Cloud')->service_hot(Cloud::SVC_IMG_OPTM . '-' . Img_Optm::CLOUD_ACTION_NEW_REQ); 36 37 ?> 37 38 <div class="litespeed-flex-container litespeed-column-with-boxes"> … … 61 62 62 63 <div class="litespeed-img-optim-actions"> 63 <a data-litespeed-onlyonce class="button button-primary" <?php if (!empty($img_count['groups_new']) || !empty($img_count['group.' . Img_Optm::STATUS_RAW])) : ?> href="<?php echo Utility::build_url(Router::ACTION_IMG_OPTM, Img_Optm::TYPE_NEW_REQ); ?>" <?php else : ?> href='javascript:;' disabled <?php endif; ?>> 64 <span class="dashicons dashicons-images-alt2"></span> <?php echo __('Send Optimization Request', 'litespeed-cache'); ?> 65 </a> 64 <?php if ($imgoptm_service_hot) : ?> 65 <button class="button button-secondary" disabled> 66 <span class="dashicons dashicons-images-alt2"></span> <?php echo __('Send Optimization Request', 'litespeed-cache'); ?> 67 - <?php echo sprintf(__('Available after %d second(s)', 'litespeed-cache'), $imgoptm_service_hot); ?> 68 </button> 69 <?php else : ?> 70 <a data-litespeed-onlyonce class="button button-primary" <?php if (!empty($img_count['groups_new']) || !empty($img_count['group.' . Img_Optm::STATUS_RAW])) : ?> href="<?php echo Utility::build_url(Router::ACTION_IMG_OPTM, Img_Optm::TYPE_NEW_REQ); ?>" <?php else : ?> href='javascript:;' disabled <?php endif; ?>> 71 <span class="dashicons dashicons-images-alt2"></span> <?php echo __('Send Optimization Request', 'litespeed-cache'); ?> 72 </a> 73 <?php endif; ?> 66 74 67 75 <a data-litespeed-onlyonce class="button button-secondary" data-balloon-length="large" data-balloon-pos="right" aria-label="<?php echo __('Only press the button if the pull cron job is disabled.', 'litespeed-cache'); ?> <?php echo __('Images will be pulled automatically if the cron job is running.', 'litespeed-cache'); ?>" <?php if (!empty($img_count['img.' . Img_Optm::STATUS_NOTIFIED]) && !$is_running) : ?> href="<?php echo Utility::build_url(Router::ACTION_IMG_OPTM, Img_Optm::TYPE_PULL); ?>" <?php else : ?> href='javascript:;' disabled <?php endif; ?>> -
litespeed-cache/trunk/tpl/page_optm/settings_css.tpl.php
r3261732 r3281183 17 17 18 18 $next_gen = '<code class="litespeed-success">' . $this->cls('Media')->next_gen_image_title() . '</code>'; 19 20 $ucss_service_hot = $this->cls('Cloud')->service_hot(Cloud::SVC_UCSS); 21 $ccss_service_hot = $this->cls('Cloud')->service_hot(Cloud::SVC_CCSS); 19 22 ?> 20 23 … … 128 131 </p> 129 132 </div> 130 <a href="<?php echo Utility::build_url(Router::ACTION_UCSS, UCSS::TYPE_GEN); ?>" class="button litespeed-btn-success"> 131 <?php echo sprintf(__('Run %s Queue Manually', 'litespeed-cache'), 'UCSS'); ?> 132 </a> 133 <?php if ($ucss_service_hot) : ?> 134 <button class="button button-secondary" disabled> 135 <?php echo sprintf(__('Run %s Queue Manually', 'litespeed-cache'), 'UCSS'); ?> 136 - <?php echo sprintf(__('Available after %d second(s)', 'litespeed-cache'), $ucss_service_hot); ?> 137 </button> 138 <?php else : ?> 139 <a href="<?php echo Utility::build_url(Router::ACTION_UCSS, UCSS::TYPE_GEN); ?>" class="button litespeed-btn-success"> 140 <?php echo sprintf(__('Run %s Queue Manually', 'litespeed-cache'), 'UCSS'); ?> 141 </a> 142 <?php endif; ?> 133 143 <?php Doc::queue_issues(); ?> 134 144 <?php endif; ?> … … 245 255 </p> 246 256 </div> 247 <a href="<?php echo Utility::build_url(Router::ACTION_CSS, CSS::TYPE_GEN_CCSS); ?>" class="button litespeed-btn-success"> 248 <?php echo sprintf(__('Run %s Queue Manually', 'litespeed-cache'), 'CCSS'); ?> 249 </a> 257 <?php if ($ccss_service_hot) : ?> 258 <button class="button button-secondary" disabled> 259 <?php echo sprintf(__('Run %s Queue Manually', 'litespeed-cache'), 'CCSS'); ?> 260 - <?php echo sprintf(__('Available after %d second(s)', 'litespeed-cache'), $ccss_service_hot); ?> 261 </button> 262 <?php else : ?> 263 <a href="<?php echo Utility::build_url(Router::ACTION_CSS, CSS::TYPE_GEN_CCSS); ?>" class="button litespeed-btn-success"> 264 <?php echo sprintf(__('Run %s Queue Manually', 'litespeed-cache'), 'CCSS'); ?> 265 </a> 266 <?php endif; ?> 250 267 <?php Doc::queue_issues(); ?> 251 268 <?php endif; ?> -
litespeed-cache/trunk/tpl/page_optm/settings_tuning_css.tpl.php
r2808204 r3281183 54 54 <?php $this->build_textarea( $id ); ?> 55 55 <div class="litespeed-desc"> 56 <?php echo __( 'List the CSS selector that its style should be always contained in UCSS.', 'litespeed-cache' ); ?> 57 <?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/pageopt/#ucss-whitelist', __( 'How to choose an UCSS allowlist selector?', 'litespeed-cache' ) ); ?> 56 <?php echo __( 'List the CSS selectors whose styles should always be included in UCSS.', 'litespeed-cache' ); ?> 57 <?php Doc::one_per_line(); ?> 58 <?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/pageopt/#ucss-selector-allowlist', __( 'Learn more', 'litespeed-cache' ) ); ?>. 58 59 <br /><?php echo sprintf( __( 'Wildcard %s supported.', 'litespeed-cache' ), '<code>*</code>' ); ?> 59 60 <div class="litespeed-callout notice notice-warning inline"> … … 123 124 <tr> 124 125 <th> 126 <?php $id = Base::O_OPTM_CCSS_SELECTOR_WHITELIST; ?> 127 <?php $this->title( $id ); ?> 128 </th> 129 <td> 130 <?php $this->build_textarea( $id ); ?> 131 <div class="litespeed-desc"> 132 <?php echo __( 'List the CSS selectors whose styles should always be included in CCSS.', 'litespeed-cache' ); ?> 133 <?php Doc::one_per_line(); ?> 134 <?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/pageopt/#ccss-selector-allowlist', __( 'Learn more', 'litespeed-cache' ) ); ?>. 135 <br /><?php echo sprintf( __( 'Wildcard %s supported.', 'litespeed-cache' ), '<code>*</code>' ); ?> 136 <div class="litespeed-callout notice notice-warning inline"> 137 <h4><?php echo __( 'Note', 'litespeed-cache' ); ?></h4> 138 <p> 139 <?php echo __( 'Selectors must exist in the CSS. Parent classes in the HTML will not work.', 'litespeed-cache' ); ?> 140 </p> 141 </div> 142 <font class="litespeed-success"> 143 <?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/ccss_whitelist.txt" target="_blank">https://github.com/litespeedtech/lscache_wp/blob/dev/data/ccss_whitelist.txt</a> 144 </font> 145 </div> 146 </td> 147 </tr> 148 149 <tr> 150 <th> 125 151 <?php $id = Base::O_OPTM_CCSS_CON; ?> 126 152 <?php $this->title( $id ); ?> -
litespeed-cache/trunk/tpl/page_optm/settings_vpi.tpl.php
r3157755 r3281183 1 1 <?php 2 2 3 namespace LiteSpeed; 3 defined( 'WPINC' ) || exit; 4 5 defined('WPINC') || exit; 4 6 5 7 $summary = VPI::get_summary(); 6 $closest_server = Cloud::get_summary( 'server.' . Cloud::SVC_VPI);8 $closest_server = Cloud::get_summary('server.' . Cloud::SVC_VPI); 7 9 8 $queue = $this->load_queue( 'vpi' ); 10 $queue = $this->load_queue('vpi'); 11 $vpi_service_hot = $this->cls('Cloud')->service_hot(Cloud::SVC_VPI); 9 12 ?> 10 13 11 14 <h3 class="litespeed-title-short"> 12 <?php echo __( 'Viewport Images', 'litespeed-cache'); ?>13 <?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/pageopt/#vpi-settings-tab'); ?>15 <?php echo __('Viewport Images', 'litespeed-cache'); ?> 16 <?php Doc::learn_more('https://docs.litespeedtech.com/lscache/lscwp/pageopt/#vpi-settings-tab'); ?> 14 17 </h3> 15 18 16 <table class="wp-list-table striped litespeed-table"><tbody> 19 <table class="wp-list-table striped litespeed-table"> 20 <tbody> 17 21 18 <tr>19 <th>20 <?php $id = Base::O_MEDIA_VPI; ?>21 <?php $this->title( $id); ?>22 </th>23 <td>24 <?php $this->build_switch( $id); ?>25 <div class="litespeed-desc">26 <?php echo __( 'When you use Lazy Load, it will delay the loading of all images on a page.', 'litespeed-cache'); ?>27 <br /><?php echo __( 'The Viewport Images service detects which images appear above the fold, and excludes them from lazy load.', 'litespeed-cache'); ?>28 <br /><?php echo __( 'This enables the page\'s initial screenful of imagery to be fully displayed without delay.', 'litespeed-cache'); ?>22 <tr> 23 <th> 24 <?php $id = Base::O_MEDIA_VPI; ?> 25 <?php $this->title($id); ?> 26 </th> 27 <td> 28 <?php $this->build_switch($id); ?> 29 <div class="litespeed-desc"> 30 <?php echo __('When you use Lazy Load, it will delay the loading of all images on a page.', 'litespeed-cache'); ?> 31 <br /><?php echo __('The Viewport Images service detects which images appear above the fold, and excludes them from lazy load.', 'litespeed-cache'); ?> 32 <br /><?php echo __('This enables the page\'s initial screenful of imagery to be fully displayed without delay.', 'litespeed-cache'); ?> 29 33 30 <?php if ( ! $this->conf( Base::O_MEDIA_LAZY ) ) : ?> 31 <br /><font class="litespeed-warning litespeed-left10"> 32 ⚠️ <?php echo __( 'Notice', 'litespeed-cache' ); ?>: <?php echo sprintf( __( '%s must be turned ON for this setting to work.', 'litespeed-cache' ), '<code>' . Lang::title( Base::O_MEDIA_LAZY ) . '</code>' ); ?> 33 </font> 34 <?php endif; ?> 34 <?php if (!$this->conf(Base::O_MEDIA_LAZY)) : ?> 35 <br /> 36 <font class="litespeed-warning litespeed-left10"> 37 ⚠️ <?php echo __('Notice', 'litespeed-cache'); ?>: <?php echo sprintf(__('%s must be turned ON for this setting to work.', 'litespeed-cache'), '<code>' . Lang::title(Base::O_MEDIA_LAZY) . '</code>'); ?> 38 </font> 39 <?php endif; ?> 35 40 36 </div>41 </div> 37 42 38 <div class="litespeed-desc litespeed-left20"> 39 <?php if ( $summary ) : ?> 40 <?php if ( ! empty( $summary[ 'last_request' ] ) ) : ?> 41 <p> 42 <?php echo __( 'Last generated', 'litespeed-cache' ) . ': <code>' . Utility::readable_time( $summary[ 'last_request' ] ) . '</code>'; ?> 43 </p> 43 <div class="litespeed-desc litespeed-left20"> 44 <?php if ($summary) : ?> 45 <?php if (!empty($summary['last_request'])) : ?> 46 <p> 47 <?php echo __('Last generated', 'litespeed-cache') . ': <code>' . Utility::readable_time($summary['last_request']) . '</code>'; ?> 48 </p> 49 <?php endif; ?> 44 50 <?php endif; ?> 45 <?php endif; ?>46 51 47 <?php if ( $closest_server) : ?>48 <a class='litespeed-redetect' href="<?php echo Utility::build_url( Router::ACTION_CLOUD, Cloud::TYPE_REDETECT_CLOUD, false, null, array( 'svc' => Cloud::SVC_VPI ) ); ?>" data-balloon-pos="up" data-balloon-break aria-label='<?php echo sprintf( __( 'Current closest Cloud server is %s. Click to redetect.', 'litespeed-cache' ), $closest_server ); ?>' data-litespeed-cfm="<?php echo __( 'Are you sure you want to redetect the closest cloud server for this service?', 'litespeed-cache' ) ; ?>"><i class='litespeed-quic-icon'></i> <?php echo __( 'Redetect', 'litespeed-cache'); ?></a>49 <?php endif; ?>52 <?php if ($closest_server) : ?> 53 <a class='litespeed-redetect' href="<?php echo Utility::build_url(Router::ACTION_CLOUD, Cloud::TYPE_REDETECT_CLOUD, false, null, array('svc' => Cloud::SVC_VPI)); ?>" data-balloon-pos="up" data-balloon-break aria-label='<?php echo sprintf(__('Current closest Cloud server is %s. Click to redetect.', 'litespeed-cache'), $closest_server); ?>' data-litespeed-cfm="<?php echo __('Are you sure you want to redetect the closest cloud server for this service?', 'litespeed-cache'); ?>"><i class='litespeed-quic-icon'></i> <?php echo __('Redetect', 'litespeed-cache'); ?></a> 54 <?php endif; ?> 50 55 51 <?php if ( ! empty( $queue ) ) : ?> 52 <div class="litespeed-callout notice notice-warning inline"> 53 <h4> 54 <?php echo sprintf( __( 'URL list in %s queue waiting for cron', 'litespeed-cache' ), 'VPI' ); ?> ( <?php echo count( $queue ); ?> ) 55 <a href="<?php echo Utility::build_url( Router::ACTION_VPI, VPI::TYPE_CLEAR_Q ); ?>" class="button litespeed-btn-warning litespeed-right">Clear</a> 56 </h4> 57 <p> 58 <?php $i=0; foreach ( $queue as $k => $v ) : ?> 59 <?php if ( $i++ > 20 ) : ?> 60 <?php echo '...'; ?> 61 <?php break; ?> 62 <?php endif; ?> 63 <?php if ( ! is_array( $v ) ) continue; ?> 64 <?php if ( ! empty( $v[ '_status' ] ) ) : ?><span class="litespeed-success"><?php endif; ?> 65 <?php echo esc_html( $v[ 'url' ] ); ?> 66 <?php if ( ! empty( $v[ '_status' ] ) ) : ?></span><?php endif; ?> 67 <?php if ( $pos = strpos( $k, ' ' ) ) echo ' (' . __( 'Vary Group', 'litespeed-cache' ) . ':' . esc_html( substr( $k, 0, $pos ) ) . ')'; ?> 68 <?php if ( $v[ 'is_mobile' ] ) echo ' <span data-balloon-pos="up" aria-label="mobile">📱</span>'; ?> 69 <br /> 70 <?php endforeach; ?> 71 </p> 72 </div> 73 <a href="<?php echo Utility::build_url( Router::ACTION_VPI, VPI::TYPE_GEN ); ?>" class="button litespeed-btn-success"> 74 <?php echo sprintf( __( 'Run %s Queue Manually', 'litespeed-cache' ), 'VPI' ); ?> 75 </a> 76 <?php Doc::queue_issues(); ?> 77 <?php endif; ?> 78 </div> 56 <?php if (!empty($queue)) : ?> 57 <div class="litespeed-callout notice notice-warning inline"> 58 <h4> 59 <?php echo sprintf(__('URL list in %s queue waiting for cron', 'litespeed-cache'), 'VPI'); ?> ( <?php echo count($queue); ?> ) 60 <a href="<?php echo Utility::build_url(Router::ACTION_VPI, VPI::TYPE_CLEAR_Q); ?>" class="button litespeed-btn-warning litespeed-right">Clear</a> 61 </h4> 62 <p> 63 <?php $i = 0; 64 foreach ($queue as $k => $v) : ?> 65 <?php if ($i++ > 20) : ?> 66 <?php echo '...'; ?> 67 <?php break; ?> 68 <?php endif; ?> 69 <?php if (!is_array($v)) continue; ?> 70 <?php if (!empty($v['_status'])) : ?><span class="litespeed-success"><?php endif; ?> 71 <?php echo esc_html($v['url']); ?> 72 <?php if (!empty($v['_status'])) : ?></span><?php endif; ?> 73 <?php if ($pos = strpos($k, ' ')) echo ' (' . __('Vary Group', 'litespeed-cache') . ':' . esc_html(substr($k, 0, $pos)) . ')'; ?> 74 <?php if ($v['is_mobile']) echo ' <span data-balloon-pos="up" aria-label="mobile">📱</span>'; ?> 75 <br /> 76 <?php endforeach; ?> 77 </p> 78 </div> 79 <?php if ($vpi_service_hot) : ?> 80 <button class="button button-secondary" disabled> 81 <?php echo sprintf(__('Run %s Queue Manually', 'litespeed-cache'), 'VPI'); ?> 82 - <?php echo sprintf(__('Available after %d second(s)', 'litespeed-cache'), $vpi_service_hot); ?> 83 </button> 84 <?php else : ?> 85 <a href="<?php echo Utility::build_url(Router::ACTION_VPI, VPI::TYPE_GEN); ?>" class="button litespeed-btn-success"> 86 <?php echo sprintf(__('Run %s Queue Manually', 'litespeed-cache'), 'VPI'); ?> 87 </a> 88 <?php endif; ?> 89 <?php Doc::queue_issues(); ?> 90 <?php endif; ?> 91 </div> 79 92 80 </td>81 </tr>93 </td> 94 </tr> 82 95 83 <tr>84 <th>85 <?php $id = Base::O_MEDIA_VPI_CRON; ?>86 <?php $this->title( $id); ?>87 </th>88 <td>89 <?php $this->build_switch( $id); ?>90 <div class="litespeed-desc">91 <?php echo __( 'Enable Viewport Images auto generation cron.', 'litespeed-cache'); ?>92 </div>93 </td>94 </tr>96 <tr> 97 <th> 98 <?php $id = Base::O_MEDIA_VPI_CRON; ?> 99 <?php $this->title($id); ?> 100 </th> 101 <td> 102 <?php $this->build_switch($id); ?> 103 <div class="litespeed-desc"> 104 <?php echo __('Enable Viewport Images auto generation cron.', 'litespeed-cache'); ?> 105 </div> 106 </td> 107 </tr> 95 108 96 </tbody></table> 109 </tbody> 110 </table> -
litespeed-cache/trunk/tpl/presets/standard.tpl.php
r2869601 r3281183 85 85 86 86 <h3 class="litespeed-title-short"> 87 <?php esc_html_e( 'LiteSpeed Cache Standard Presets', 'litespeed-cache' ); ?>87 <?php _e( 'LiteSpeed Cache Standard Presets', 'litespeed-cache' ); ?> 88 88 <?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/presets/#standard-tab' ); ?> 89 89 </h3> 90 90 91 <p><?php esc_html_e( 'Use an official LiteSpeed-designed Preset to configure your site in one click. Try no-risk caching essentials, extreme optimization, or something in between.', 'litespeed-cache' ); ?></p>91 <p><?php _e( 'Use an official LiteSpeed-designed Preset to configure your site in one click. Try no-risk caching essentials, extreme optimization, or something in between.', 'litespeed-cache' ); ?></p> 92 92 93 93 <div class="litespeed-comparison-cards"> … … 114 114 </div> 115 115 <div class="litespeed-card-footer"> 116 <h4><?php esc_html_e( 'Who should use this preset?', 'litespeed-cache' ); ?></h4>116 <h4><?php _e( 'Who should use this preset?', 'litespeed-cache' ); ?></h4> 117 117 <?php foreach ( $presets[ $name ]['footer'] as $line ) : ?> 118 118 <p><?php echo esc_html( $line ); ?></p> … … 124 124 href="<?php echo Utility::build_url( Router::ACTION_PRESET, Preset::TYPE_APPLY, false, null, array( 'preset' => $name ) ); ?>" 125 125 class="button <?php echo $button_class; ?>" 126 data-litespeed-cfm="<?php printf( esc_html__( 'This will back up your current settings and replace them with the %1$s preset settings. Do you want to continue?', 'litespeed-cache' ), $title ); ?>"126 data-litespeed-cfm="<?php printf( __( 'This will back up your current settings and replace them with the %1$s preset settings. Do you want to continue?', 'litespeed-cache' ), $title ); ?>" 127 127 > 128 <?php esc_html_e( 'Apply Preset', 'litespeed-cache' ); ?>128 <?php _e( 'Apply Preset', 'litespeed-cache' ); ?> 129 129 </a> 130 130 </div> … … 156 156 ?> 157 157 <h3 class="litespeed-title-short"> 158 <?php esc_html_e( 'History', 'litespeed-cache' ); ?>158 <?php _e( 'History', 'litespeed-cache' ); ?> 159 159 </h3> 160 160 <?php endif; ?> … … 166 166 $time = trim( Utility::readable_time( $summary['preset_timestamp'] ) ); 167 167 if ( 'error' === $name ) { 168 printf( esc_html__( 'Error: Failed to apply the settings %1$s', 'litespeed-cache' ), $time );168 printf( __( 'Error: Failed to apply the settings %1$s', 'litespeed-cache' ), $time ); 169 169 } elseif ( 'backup' === $name ) { 170 printf( esc_html__( 'Restored backup settings %1$s', 'litespeed-cache' ), $time );170 printf( __( 'Restored backup settings %1$s', 'litespeed-cache' ), $time ); 171 171 } else { 172 172 printf( 173 esc_html__( 'Applied the %1$s preset %2$s', 'litespeed-cache' ),173 __( 'Applied the %1$s preset %2$s', 'litespeed-cache' ), 174 174 '<strong>' . esc_html( $presets[ $name ]['title'] ) . '</strong>', 175 175 $time … … 182 182 <?php foreach ( $backups as $backup ) : ?> 183 183 <p> 184 <?php printf( esc_html__( 'Backup created %1$s before applying the %2$s preset', 'litespeed-cache' ), $backup['time'], $backup['title'] ); ?>184 <?php printf( __( 'Backup created %1$s before applying the %2$s preset', 'litespeed-cache' ), $backup['time'], $backup['title'] ); ?> 185 185 <a 186 186 href="<?php echo Utility::build_url( Router::ACTION_PRESET, Preset::TYPE_RESTORE, false, null, array( 'timestamp' => $backup['timestamp'] ) ); ?>" 187 187 class="litespeed-left10" 188 data-litespeed-cfm="<?php printf( esc_html__( 'This will restore the backup settings created %1$s before applying the %2$s preset. Any changes made since then will be lost. Do you want to continue?', 'litespeed-cache' ), $backup['time'], $backup['title'] ); ?>"188 data-litespeed-cfm="<?php printf( __( 'This will restore the backup settings created %1$s before applying the %2$s preset. Any changes made since then will be lost. Do you want to continue?', 'litespeed-cache' ), $backup['time'], $backup['title'] ); ?>" 189 189 > 190 <?php esc_html_e( 'Restore Settings', 'litespeed-cache' ); ?>190 <?php _e( 'Restore Settings', 'litespeed-cache' ); ?> 191 191 </a> 192 192 </p> -
litespeed-cache/trunk/tpl/toolbox/beta_test.tpl.php
r3269130 r3281183 7 7 // Existing public version list 8 8 $v_list = array( 9 '7.1', 9 10 '7.0.1', 10 '7.0.0.1',11 11 '6.5.4', 12 '6.4.1',13 '6.3.0.1',14 '6.2.0.1',15 '6.1',16 12 '5.7.0.1', 17 13 '4.6', -
litespeed-cache/trunk/tpl/toolbox/log_viewer.tpl.php
r3146657 r3281183 9 9 array( 10 10 'name' => 'debug', 11 'label' => esc_html__('Debug Log', 'litespeed-cache'),11 'label' => __('Debug Log', 'litespeed-cache'), 12 12 'accesskey' => 'A', 13 13 ), 14 14 array( 15 15 'name' => 'purge', 16 'label' => esc_html__('Purge Log', 'litespeed-cache'),16 'label' => __('Purge Log', 'litespeed-cache'), 17 17 'accesskey' => 'B', 18 18 ), 19 19 array( 20 20 'name' => 'crawler', 21 'label' => esc_html__('Crawler Log', 'litespeed-cache'),21 'label' => __('Crawler Log', 'litespeed-cache'), 22 22 'accesskey' => 'C', 23 23 ), … … 49 49 $label = isset($item['label']) ? $item['label'] : $item['name']; 50 50 51 return "<a href='{$url}' class='{$class}' {$subtab} {$accesskey}>{$label}</a>"; 51 $on_click = isset($item['onClick']) ? ' onClick="' . $item['onClick'].'"' : ''; 52 53 return "<a href='{$url}' class='{$class}' {$subtab} {$accesskey} {$on_click}>{$label}</a>"; 52 54 } 53 55 … … 60 62 $item = 61 63 array( 62 'label' => esc_html__('Clear Logs', 'litespeed-cache'),64 'label' => __('Clear Logs', 'litespeed-cache'), 63 65 'url' => Utility::build_url(Router::ACTION_DEBUG2, Debug2::TYPE_CLEAR_LOG), 64 66 ); … … 67 69 } 68 70 echo subnav_link($item); 71 } 72 73 /** 74 * Print a button to copy current log 75 * @since 7.0 76 */ 77 function copy_logs_link($id_to_copy) 78 { 79 $item = array( 80 'name' => 'copy_links', 81 'label' => __('Copy Log', 'litespeed-cache'), 82 'cssClass' => 'litespeed-info-button', 83 'onClick' => "litespeed_copy_to_clipboard('".$id_to_copy."')" 84 ); 85 return subnav_link($item); 69 86 } 70 87 … … 77 94 $file = $this->cls('Debug2')->path($log['name']); 78 95 $lines = File::count_lines($file); 79 $start = $lines > 1000 ? $lines - 1000 : 0; 96 $max_lines = apply_filters('litespeed_debug_show_max_lines', 1000); 97 $start = $lines > $max_lines ? $lines - $max_lines : 0; 80 98 $lines = File::read($file, $start); 81 99 $lines = $lines ? trim(implode("\n", $lines)) : ''; 100 101 $log_body_id = 'litespeed-log-' . $log['name']; 82 102 83 103 $log_views[] = 84 104 "<div class='litespeed-log-view-wrapper' data-litespeed-sublayout='{$log['name']}_log'>" 85 . "<h3 class='litespeed-title'>{$log['label']} </h3>"86 . '<div class="litespeed-log-body" >'105 . "<h3 class='litespeed-title'>{$log['label']}" . copy_logs_link($log_body_id) ."</h3>" 106 . '<div class="litespeed-log-body" id="' . $log_body_id . '">' 87 107 . nl2br(htmlspecialchars($lines)) 88 108 . '</div>' … … 92 112 93 113 <h3 class="litespeed-title"> 94 <?php esc_html_e('LiteSpeed Logs', 'litespeed-cache'); ?>114 <?php _e('LiteSpeed Logs', 'litespeed-cache'); ?> 95 115 <?php Doc::learn_more('https://docs.litespeedtech.com/lscache/lscwp/toolbox/#log-view-tab'); ?> 96 116 </h3>
Note: See TracChangeset
for help on using the changeset viewer.