Changeset 3146657
- Timestamp:
- 09/04/2024 10:16:54 PM (15 months ago)
- Location:
- litespeed-cache
- Files:
-
- 337 added
- 22 edited
-
tags/6.5.0.1 (added)
-
tags/6.5.0.1/LICENSE (added)
-
tags/6.5.0.1/assets (added)
-
tags/6.5.0.1/assets/css (added)
-
tags/6.5.0.1/assets/css/fonts (added)
-
tags/6.5.0.1/assets/css/fonts/litespeedfont.eot (added)
-
tags/6.5.0.1/assets/css/fonts/litespeedfont.svg (added)
-
tags/6.5.0.1/assets/css/fonts/litespeedfont.ttf (added)
-
tags/6.5.0.1/assets/css/fonts/litespeedfont.woff (added)
-
tags/6.5.0.1/assets/css/iziModal.min.css (added)
-
tags/6.5.0.1/assets/css/litespeed-legacy.css (added)
-
tags/6.5.0.1/assets/css/litespeed.css (added)
-
tags/6.5.0.1/assets/img (added)
-
tags/6.5.0.1/assets/img/Litespeed.icon.svg (added)
-
tags/6.5.0.1/assets/img/iconlscwp.svg (added)
-
tags/6.5.0.1/assets/img/icons (added)
-
tags/6.5.0.1/assets/img/icons/all.svg (added)
-
tags/6.5.0.1/assets/img/icons/all_transients.svg (added)
-
tags/6.5.0.1/assets/img/icons/auto_draft.svg (added)
-
tags/6.5.0.1/assets/img/icons/cross_icon.svg (added)
-
tags/6.5.0.1/assets/img/icons/db.svg (added)
-
tags/6.5.0.1/assets/img/icons/empty-cache.svg (added)
-
tags/6.5.0.1/assets/img/icons/expired_transient.svg (added)
-
tags/6.5.0.1/assets/img/icons/img_optm.svg (added)
-
tags/6.5.0.1/assets/img/icons/img_optm_disabled.svg (added)
-
tags/6.5.0.1/assets/img/icons/img_webp.svg (added)
-
tags/6.5.0.1/assets/img/icons/img_webp_disabled.svg (added)
-
tags/6.5.0.1/assets/img/icons/optimize_tables.svg (added)
-
tags/6.5.0.1/assets/img/icons/purge-403.svg (added)
-
tags/6.5.0.1/assets/img/icons/purge-404.svg (added)
-
tags/6.5.0.1/assets/img/icons/purge-500.svg (added)
-
tags/6.5.0.1/assets/img/icons/purge-all.svg (added)
-
tags/6.5.0.1/assets/img/icons/purge-cssjs.svg (added)
-
tags/6.5.0.1/assets/img/icons/purge-front.svg (added)
-
tags/6.5.0.1/assets/img/icons/purge-object.svg (added)
-
tags/6.5.0.1/assets/img/icons/purge-opcache.svg (added)
-
tags/6.5.0.1/assets/img/icons/purge-pages.svg (added)
-
tags/6.5.0.1/assets/img/icons/revision.svg (added)
-
tags/6.5.0.1/assets/img/icons/spam_comment.svg (added)
-
tags/6.5.0.1/assets/img/icons/success_icon.svg (added)
-
tags/6.5.0.1/assets/img/icons/trackback-pingback.svg (added)
-
tags/6.5.0.1/assets/img/icons/trash_comment.svg (added)
-
tags/6.5.0.1/assets/img/icons/trash_post.svg (added)
-
tags/6.5.0.1/assets/img/lscwp-logo_90x90.png (added)
-
tags/6.5.0.1/assets/img/lscwp_blue_font-icon_22px.svg (added)
-
tags/6.5.0.1/assets/img/lscwp_font-icon_32px.svg (added)
-
tags/6.5.0.1/assets/img/lscwp_gray-yellow_font-icon_22px.svg (added)
-
tags/6.5.0.1/assets/img/lscwp_gray_font-icon_22px.svg (added)
-
tags/6.5.0.1/assets/img/lscwp_grayscale_font-icon_22px.svg (added)
-
tags/6.5.0.1/assets/img/quic-cloud-icon-16x16.svg (added)
-
tags/6.5.0.1/assets/img/quic-cloud-logo-light_stack_300px.png (added)
-
tags/6.5.0.1/assets/img/quic-cloud-logo.svg (added)
-
tags/6.5.0.1/assets/img/slack-logo.png (added)
-
tags/6.5.0.1/assets/js (added)
-
tags/6.5.0.1/assets/js/babel.min.js (added)
-
tags/6.5.0.1/assets/js/component.cdn.js (added)
-
tags/6.5.0.1/assets/js/component.crawler.js (added)
-
tags/6.5.0.1/assets/js/css_async.js (added)
-
tags/6.5.0.1/assets/js/css_async.min.js (added)
-
tags/6.5.0.1/assets/js/guest.docref.js (added)
-
tags/6.5.0.1/assets/js/guest.docref.min.js (added)
-
tags/6.5.0.1/assets/js/guest.js (added)
-
tags/6.5.0.1/assets/js/guest.min.js (added)
-
tags/6.5.0.1/assets/js/instant_click.min.js (added)
-
tags/6.5.0.1/assets/js/instant_click.ori.js (added)
-
tags/6.5.0.1/assets/js/iziModal.min.js (added)
-
tags/6.5.0.1/assets/js/js_delay.js (added)
-
tags/6.5.0.1/assets/js/js_delay.min.js (added)
-
tags/6.5.0.1/assets/js/lazyload.init.js (added)
-
tags/6.5.0.1/assets/js/lazyload.lib.js (added)
-
tags/6.5.0.1/assets/js/lazyload.min.js (added)
-
tags/6.5.0.1/assets/js/litespeed-cache-admin.js (added)
-
tags/6.5.0.1/assets/js/react.min.js (added)
-
tags/6.5.0.1/assets/js/webfontloader.js (added)
-
tags/6.5.0.1/assets/js/webfontloader.min.js (added)
-
tags/6.5.0.1/autoload.php (added)
-
tags/6.5.0.1/changelog.txt (added)
-
tags/6.5.0.1/cli (added)
-
tags/6.5.0.1/cli/crawler.cls.php (added)
-
tags/6.5.0.1/cli/debug.cls.php (added)
-
tags/6.5.0.1/cli/image.cls.php (added)
-
tags/6.5.0.1/cli/online.cls.php (added)
-
tags/6.5.0.1/cli/option.cls.php (added)
-
tags/6.5.0.1/cli/presets.cls.php (added)
-
tags/6.5.0.1/cli/purge.cls.php (added)
-
tags/6.5.0.1/data (added)
-
tags/6.5.0.1/data/.htaccess (added)
-
tags/6.5.0.1/data/cache_nocacheable.txt (added)
-
tags/6.5.0.1/data/const.default.ini (added)
-
tags/6.5.0.1/data/const.network_default.ini (added)
-
tags/6.5.0.1/data/css_excludes.txt (added)
-
tags/6.5.0.1/data/esi.nonce.txt (added)
-
tags/6.5.0.1/data/esi.nonces.txt (added)
-
tags/6.5.0.1/data/js_defer_excludes.txt (added)
-
tags/6.5.0.1/data/js_excludes.txt (added)
-
tags/6.5.0.1/data/optm_uri_exc.txt (added)
-
tags/6.5.0.1/data/preset (added)
-
tags/6.5.0.1/data/preset/advanced.data (added)
-
tags/6.5.0.1/data/preset/aggressive.data (added)
-
tags/6.5.0.1/data/preset/basic.data (added)
-
tags/6.5.0.1/data/preset/essentials.data (added)
-
tags/6.5.0.1/data/preset/extreme.data (added)
-
tags/6.5.0.1/data/ucss_whitelist.txt (added)
-
tags/6.5.0.1/guest.vary.php (added)
-
tags/6.5.0.1/inc (added)
-
tags/6.5.0.1/inc/object.lib.php (added)
-
tags/6.5.0.1/lang (added)
-
tags/6.5.0.1/lang/litespeed-cache.pot (added)
-
tags/6.5.0.1/lib (added)
-
tags/6.5.0.1/lib/css-min (added)
-
tags/6.5.0.1/lib/css-min/colors.cls.php (added)
-
tags/6.5.0.1/lib/css-min/minifier.cls.php (added)
-
tags/6.5.0.1/lib/css-min/urirewriter.cls.php (added)
-
tags/6.5.0.1/lib/css-min/utils.cls.php (added)
-
tags/6.5.0.1/lib/guest.cls.php (added)
-
tags/6.5.0.1/lib/html-min.cls.php (added)
-
tags/6.5.0.1/lib/jsmin.cls.php (added)
-
tags/6.5.0.1/lib/jsmin_data (added)
-
tags/6.5.0.1/lib/jsmin_data/keywords_after.txt (added)
-
tags/6.5.0.1/lib/jsmin_data/keywords_before.txt (added)
-
tags/6.5.0.1/lib/jsmin_data/keywords_reserved.txt (added)
-
tags/6.5.0.1/lib/jsmin_data/operators.txt (added)
-
tags/6.5.0.1/lib/jsmin_data/operators_after.txt (added)
-
tags/6.5.0.1/lib/jsmin_data/operators_before.txt (added)
-
tags/6.5.0.1/lib/object-cache.php (added)
-
tags/6.5.0.1/lib/php-compatibility.func.php (added)
-
tags/6.5.0.1/litespeed-cache.php (added)
-
tags/6.5.0.1/package-lock.json (added)
-
tags/6.5.0.1/package.json (added)
-
tags/6.5.0.1/qc-ping.txt (added)
-
tags/6.5.0.1/readme.txt (added)
-
tags/6.5.0.1/security.md (added)
-
tags/6.5.0.1/src (added)
-
tags/6.5.0.1/src/activation.cls.php (added)
-
tags/6.5.0.1/src/admin-display.cls.php (added)
-
tags/6.5.0.1/src/admin-settings.cls.php (added)
-
tags/6.5.0.1/src/admin.cls.php (added)
-
tags/6.5.0.1/src/api.cls.php (added)
-
tags/6.5.0.1/src/avatar.cls.php (added)
-
tags/6.5.0.1/src/base.cls.php (added)
-
tags/6.5.0.1/src/cdn (added)
-
tags/6.5.0.1/src/cdn-setup.cls.php (added)
-
tags/6.5.0.1/src/cdn.cls.php (added)
-
tags/6.5.0.1/src/cdn/cloudflare.cls.php (added)
-
tags/6.5.0.1/src/cdn/quic.cls.php (added)
-
tags/6.5.0.1/src/cloud.cls.php (added)
-
tags/6.5.0.1/src/conf.cls.php (added)
-
tags/6.5.0.1/src/control.cls.php (added)
-
tags/6.5.0.1/src/core.cls.php (added)
-
tags/6.5.0.1/src/crawler-map.cls.php (added)
-
tags/6.5.0.1/src/crawler.cls.php (added)
-
tags/6.5.0.1/src/css.cls.php (added)
-
tags/6.5.0.1/src/data.cls.php (added)
-
tags/6.5.0.1/src/data.upgrade.func.php (added)
-
tags/6.5.0.1/src/data_structure (added)
-
tags/6.5.0.1/src/data_structure/avatar.sql (added)
-
tags/6.5.0.1/src/data_structure/crawler.sql (added)
-
tags/6.5.0.1/src/data_structure/crawler_blacklist.sql (added)
-
tags/6.5.0.1/src/data_structure/img_optm.sql (added)
-
tags/6.5.0.1/src/data_structure/img_optming.sql (added)
-
tags/6.5.0.1/src/data_structure/url.sql (added)
-
tags/6.5.0.1/src/data_structure/url_file.sql (added)
-
tags/6.5.0.1/src/db-optm.cls.php (added)
-
tags/6.5.0.1/src/debug2.cls.php (added)
-
tags/6.5.0.1/src/doc.cls.php (added)
-
tags/6.5.0.1/src/error.cls.php (added)
-
tags/6.5.0.1/src/esi.cls.php (added)
-
tags/6.5.0.1/src/file.cls.php (added)
-
tags/6.5.0.1/src/gui.cls.php (added)
-
tags/6.5.0.1/src/health.cls.php (added)
-
tags/6.5.0.1/src/htaccess.cls.php (added)
-
tags/6.5.0.1/src/img-optm.cls.php (added)
-
tags/6.5.0.1/src/import.cls.php (added)
-
tags/6.5.0.1/src/instance.cls.php (added)
-
tags/6.5.0.1/src/lang.cls.php (added)
-
tags/6.5.0.1/src/localization.cls.php (added)
-
tags/6.5.0.1/src/media.cls.php (added)
-
tags/6.5.0.1/src/metabox.cls.php (added)
-
tags/6.5.0.1/src/object-cache.cls.php (added)
-
tags/6.5.0.1/src/object.lib.php (added)
-
tags/6.5.0.1/src/optimize.cls.php (added)
-
tags/6.5.0.1/src/optimizer.cls.php (added)
-
tags/6.5.0.1/src/placeholder.cls.php (added)
-
tags/6.5.0.1/src/preset.cls.php (added)
-
tags/6.5.0.1/src/purge.cls.php (added)
-
tags/6.5.0.1/src/report.cls.php (added)
-
tags/6.5.0.1/src/rest.cls.php (added)
-
tags/6.5.0.1/src/root.cls.php (added)
-
tags/6.5.0.1/src/router.cls.php (added)
-
tags/6.5.0.1/src/str.cls.php (added)
-
tags/6.5.0.1/src/tag.cls.php (added)
-
tags/6.5.0.1/src/task.cls.php (added)
-
tags/6.5.0.1/src/tool.cls.php (added)
-
tags/6.5.0.1/src/ucss.cls.php (added)
-
tags/6.5.0.1/src/utility.cls.php (added)
-
tags/6.5.0.1/src/vary.cls.php (added)
-
tags/6.5.0.1/src/vpi.cls.php (added)
-
tags/6.5.0.1/thirdparty (added)
-
tags/6.5.0.1/thirdparty/aelia-currencyswitcher.cls.php (added)
-
tags/6.5.0.1/thirdparty/amp.cls.php (added)
-
tags/6.5.0.1/thirdparty/autoptimize.cls.php (added)
-
tags/6.5.0.1/thirdparty/avada.cls.php (added)
-
tags/6.5.0.1/thirdparty/bbpress.cls.php (added)
-
tags/6.5.0.1/thirdparty/beaver-builder.cls.php (added)
-
tags/6.5.0.1/thirdparty/caldera-forms.cls.php (added)
-
tags/6.5.0.1/thirdparty/divi-theme-builder.cls.php (added)
-
tags/6.5.0.1/thirdparty/elementor.cls.php (added)
-
tags/6.5.0.1/thirdparty/entry.inc.php (added)
-
tags/6.5.0.1/thirdparty/facetwp.cls.php (added)
-
tags/6.5.0.1/thirdparty/gravity-forms.cls.php (added)
-
tags/6.5.0.1/thirdparty/litespeed-check.cls.php (added)
-
tags/6.5.0.1/thirdparty/nextgengallery.cls.php (added)
-
tags/6.5.0.1/thirdparty/perfmatters.cls.php (added)
-
tags/6.5.0.1/thirdparty/theme-my-login.cls.php (added)
-
tags/6.5.0.1/thirdparty/user-switching.cls.php (added)
-
tags/6.5.0.1/thirdparty/wc-pdf-product-vouchers.cls.php (added)
-
tags/6.5.0.1/thirdparty/wcml.cls.php (added)
-
tags/6.5.0.1/thirdparty/woo-paypal.cls.php (added)
-
tags/6.5.0.1/thirdparty/woocommerce.cls.php (added)
-
tags/6.5.0.1/thirdparty/woocommerce.content.tpl.php (added)
-
tags/6.5.0.1/thirdparty/woocommerce.tab.tpl.php (added)
-
tags/6.5.0.1/thirdparty/wp-polls.cls.php (added)
-
tags/6.5.0.1/thirdparty/wp-postratings.cls.php (added)
-
tags/6.5.0.1/thirdparty/wpdiscuz.cls.php (added)
-
tags/6.5.0.1/thirdparty/wplister.cls.php (added)
-
tags/6.5.0.1/thirdparty/wpml.cls.php (added)
-
tags/6.5.0.1/thirdparty/wptouch.cls.php (added)
-
tags/6.5.0.1/thirdparty/yith-wishlist.cls.php (added)
-
tags/6.5.0.1/tpl (added)
-
tags/6.5.0.1/tpl/banner (added)
-
tags/6.5.0.1/tpl/banner/ajax.php (added)
-
tags/6.5.0.1/tpl/banner/cloud_news.tpl.php (added)
-
tags/6.5.0.1/tpl/banner/cloud_promo.tpl.php (added)
-
tags/6.5.0.1/tpl/banner/new_version.php (added)
-
tags/6.5.0.1/tpl/banner/new_version_dev.tpl.php (added)
-
tags/6.5.0.1/tpl/banner/score.php (added)
-
tags/6.5.0.1/tpl/banner/slack.php (added)
-
tags/6.5.0.1/tpl/cache (added)
-
tags/6.5.0.1/tpl/cache/entry.tpl.php (added)
-
tags/6.5.0.1/tpl/cache/entry_network.tpl.php (added)
-
tags/6.5.0.1/tpl/cache/more_settings_tip.tpl.php (added)
-
tags/6.5.0.1/tpl/cache/network_settings-advanced.tpl.php (added)
-
tags/6.5.0.1/tpl/cache/network_settings-browser.tpl.php (added)
-
tags/6.5.0.1/tpl/cache/network_settings-cache.tpl.php (added)
-
tags/6.5.0.1/tpl/cache/network_settings-excludes.tpl.php (added)
-
tags/6.5.0.1/tpl/cache/network_settings-object.tpl.php (added)
-
tags/6.5.0.1/tpl/cache/network_settings-purge.tpl.php (added)
-
tags/6.5.0.1/tpl/cache/settings-advanced.tpl.php (added)
-
tags/6.5.0.1/tpl/cache/settings-browser.tpl.php (added)
-
tags/6.5.0.1/tpl/cache/settings-cache.tpl.php (added)
-
tags/6.5.0.1/tpl/cache/settings-esi.tpl.php (added)
-
tags/6.5.0.1/tpl/cache/settings-excludes.tpl.php (added)
-
tags/6.5.0.1/tpl/cache/settings-object.tpl.php (added)
-
tags/6.5.0.1/tpl/cache/settings-purge.tpl.php (added)
-
tags/6.5.0.1/tpl/cache/settings-ttl.tpl.php (added)
-
tags/6.5.0.1/tpl/cache/settings_inc.browser.tpl.php (added)
-
tags/6.5.0.1/tpl/cache/settings_inc.cache_dropquery.tpl.php (added)
-
tags/6.5.0.1/tpl/cache/settings_inc.cache_mobile.tpl.php (added)
-
tags/6.5.0.1/tpl/cache/settings_inc.cache_resources.tpl.php (added)
-
tags/6.5.0.1/tpl/cache/settings_inc.exclude_cookies.tpl.php (added)
-
tags/6.5.0.1/tpl/cache/settings_inc.exclude_useragent.tpl.php (added)
-
tags/6.5.0.1/tpl/cache/settings_inc.login_cookie.tpl.php (added)
-
tags/6.5.0.1/tpl/cache/settings_inc.object.tpl.php (added)
-
tags/6.5.0.1/tpl/cache/settings_inc.purge_on_upgrade.tpl.php (added)
-
tags/6.5.0.1/tpl/cdn (added)
-
tags/6.5.0.1/tpl/cdn/auto_setup.tpl.php (added)
-
tags/6.5.0.1/tpl/cdn/entry.tpl.php (added)
-
tags/6.5.0.1/tpl/cdn/manage.tpl.php (added)
-
tags/6.5.0.1/tpl/cdn/settings.tpl.php (added)
-
tags/6.5.0.1/tpl/crawler (added)
-
tags/6.5.0.1/tpl/crawler/blacklist.tpl.php (added)
-
tags/6.5.0.1/tpl/crawler/entry.tpl.php (added)
-
tags/6.5.0.1/tpl/crawler/map.tpl.php (added)
-
tags/6.5.0.1/tpl/crawler/settings-general.tpl.php (added)
-
tags/6.5.0.1/tpl/crawler/settings-simulation.tpl.php (added)
-
tags/6.5.0.1/tpl/crawler/settings-sitemap.tpl.php (added)
-
tags/6.5.0.1/tpl/crawler/summary.tpl.php (added)
-
tags/6.5.0.1/tpl/dash (added)
-
tags/6.5.0.1/tpl/dash/dashboard.tpl.php (added)
-
tags/6.5.0.1/tpl/dash/entry.tpl.php (added)
-
tags/6.5.0.1/tpl/dash/network_dash.tpl.php (added)
-
tags/6.5.0.1/tpl/db_optm (added)
-
tags/6.5.0.1/tpl/db_optm/entry.tpl.php (added)
-
tags/6.5.0.1/tpl/db_optm/manage.tpl.php (added)
-
tags/6.5.0.1/tpl/db_optm/settings.tpl.php (added)
-
tags/6.5.0.1/tpl/esi.tpl.php (added)
-
tags/6.5.0.1/tpl/esi_widget_edit.php (added)
-
tags/6.5.0.1/tpl/general (added)
-
tags/6.5.0.1/tpl/general/entry.tpl.php (added)
-
tags/6.5.0.1/tpl/general/network_settings.tpl.php (added)
-
tags/6.5.0.1/tpl/general/settings.tpl.php (added)
-
tags/6.5.0.1/tpl/general/settings_inc.auto_upgrade.tpl.php (added)
-
tags/6.5.0.1/tpl/general/settings_inc.guest.tpl.php (added)
-
tags/6.5.0.1/tpl/general/settings_tuning.tpl.php (added)
-
tags/6.5.0.1/tpl/img_optm (added)
-
tags/6.5.0.1/tpl/img_optm/entry.tpl.php (added)
-
tags/6.5.0.1/tpl/img_optm/network_settings.tpl.php (added)
-
tags/6.5.0.1/tpl/img_optm/settings.media_webp.tpl.php (added)
-
tags/6.5.0.1/tpl/img_optm/settings.tpl.php (added)
-
tags/6.5.0.1/tpl/img_optm/summary.tpl.php (added)
-
tags/6.5.0.1/tpl/inc (added)
-
tags/6.5.0.1/tpl/inc/admin_footer.php (added)
-
tags/6.5.0.1/tpl/inc/api_key.php (added)
-
tags/6.5.0.1/tpl/inc/check_cache_disabled.php (added)
-
tags/6.5.0.1/tpl/inc/check_if_network_disable_all.php (added)
-
tags/6.5.0.1/tpl/inc/disabled_all.php (added)
-
tags/6.5.0.1/tpl/inc/in_upgrading.php (added)
-
tags/6.5.0.1/tpl/inc/metabox.php (added)
-
tags/6.5.0.1/tpl/inc/modal.footer.php (added)
-
tags/6.5.0.1/tpl/inc/modal.header.php (added)
-
tags/6.5.0.1/tpl/inc/show_display_installed.php (added)
-
tags/6.5.0.1/tpl/inc/show_error_cookie.php (added)
-
tags/6.5.0.1/tpl/inc/show_rule_conflict.php (added)
-
tags/6.5.0.1/tpl/page_optm (added)
-
tags/6.5.0.1/tpl/page_optm/entry.tpl.php (added)
-
tags/6.5.0.1/tpl/page_optm/settings_css.tpl.php (added)
-
tags/6.5.0.1/tpl/page_optm/settings_html.tpl.php (added)
-
tags/6.5.0.1/tpl/page_optm/settings_js.tpl.php (added)
-
tags/6.5.0.1/tpl/page_optm/settings_localization.tpl.php (added)
-
tags/6.5.0.1/tpl/page_optm/settings_media.tpl.php (added)
-
tags/6.5.0.1/tpl/page_optm/settings_media_exc.tpl.php (added)
-
tags/6.5.0.1/tpl/page_optm/settings_tuning.tpl.php (added)
-
tags/6.5.0.1/tpl/page_optm/settings_tuning_css.tpl.php (added)
-
tags/6.5.0.1/tpl/page_optm/settings_vpi.tpl.php (added)
-
tags/6.5.0.1/tpl/presets (added)
-
tags/6.5.0.1/tpl/presets/entry.tpl.php (added)
-
tags/6.5.0.1/tpl/presets/standard.tpl.php (added)
-
tags/6.5.0.1/tpl/toolbox (added)
-
tags/6.5.0.1/tpl/toolbox/beta_test.tpl.php (added)
-
tags/6.5.0.1/tpl/toolbox/edit_htaccess.tpl.php (added)
-
tags/6.5.0.1/tpl/toolbox/entry.tpl.php (added)
-
tags/6.5.0.1/tpl/toolbox/heartbeat.tpl.php (added)
-
tags/6.5.0.1/tpl/toolbox/import_export.tpl.php (added)
-
tags/6.5.0.1/tpl/toolbox/log_viewer.tpl.php (added)
-
tags/6.5.0.1/tpl/toolbox/purge.tpl.php (added)
-
tags/6.5.0.1/tpl/toolbox/report.tpl.php (added)
-
tags/6.5.0.1/tpl/toolbox/settings-debug.tpl.php (added)
-
trunk/data/const.default.ini (modified) (1 diff)
-
trunk/data/const.network_default.ini (modified) (1 diff)
-
trunk/data/esi.nonces.txt (modified) (1 diff)
-
trunk/litespeed-cache.php (modified) (2 diffs)
-
trunk/readme.txt (modified) (2 diffs)
-
trunk/src/base.cls.php (modified) (3 diffs)
-
trunk/src/cloud.cls.php (modified) (1 diff)
-
trunk/src/debug2.cls.php (modified) (6 diffs)
-
trunk/src/esi.cls.php (modified) (4 diffs)
-
trunk/src/htaccess.cls.php (modified) (1 diff)
-
trunk/src/lang.cls.php (modified) (1 diff)
-
trunk/src/object-cache.cls.php (modified) (5 diffs)
-
trunk/src/optimize.cls.php (modified) (1 diff)
-
trunk/src/optimizer.cls.php (modified) (1 diff)
-
trunk/src/rest.cls.php (modified) (2 diffs)
-
trunk/src/router.cls.php (modified) (1 diff)
-
trunk/thirdparty/user-switching.cls.php (modified) (1 diff)
-
trunk/thirdparty/woocommerce.cls.php (modified) (1 diff)
-
trunk/tpl/toolbox/beta_test.tpl.php (modified) (1 diff)
-
trunk/tpl/toolbox/log_viewer.tpl.php (modified) (7 diffs)
-
trunk/tpl/toolbox/report.tpl.php (modified) (2 diffs)
-
trunk/tpl/toolbox/settings-debug.tpl.php (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
litespeed-cache/trunk/data/const.default.ini
r3146649 r3146657 264 264 debug-filesize = 3 265 265 266 ; O_DEBUG_COOKIE267 debug-cookie = false268 269 266 ; O_DEBUG_COLLAPSE_QS 270 267 debug-collapse_qs = false -
litespeed-cache/trunk/data/const.network_default.ini
r3146649 r3146657 122 122 debug-filesize = 3 123 123 124 ; O_DEBUG_COOKIE125 debug-cookie = false126 127 124 ; O_DEBUG_COLLAPSE_QS 128 125 debug-collapse_qs = false -
litespeed-cache/trunk/data/esi.nonces.txt
r3146649 r3146657 72 72 wpmenucart private 73 73 74 # Advanced Custom Fields + Advanced Forms 75 acf_nonce 76 af_form_nonce 77 af_submission_* 78 74 79 # Woo nonce 75 80 woocommerce-login -
litespeed-cache/trunk/litespeed-cache.php
r3146649 r3146657 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: 6. 4.17 * Version: 6.5.0.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', '6. 4.1');37 !defined('LSCWP_V') && define('LSCWP_V', '6.5.0.1'); 38 38 39 39 !defined('LSCWP_CONTENT_DIR') && define('LSCWP_CONTENT_DIR', WP_CONTENT_DIR); -
litespeed-cache/trunk/readme.txt
r3146649 r3146657 4 4 Requires at least: 4.9 5 5 Tested up to: 6.6.1 6 Stable tag: 6. 4.16 Stable tag: 6.5.0.1 7 7 License: GPLv3 8 8 License URI: http://www.gnu.org/licenses/gpl.html … … 255 255 == Changelog == 256 256 257 = 6.5.0.1 - Sep 4 2024 = 258 * 🔥**Debug** Fixed a corner case fatal error when Object Cache is ON but failed to connect, and `wp-content/litespeed` directory is not writtable, and debug option is ON. 259 260 = 6.5 - Sep 4 2024 = 261 *❗**Security** This release includes several debug log improvements for improved security, as listed below. Update strongly recommended. 262 * **Debug** Moved debug log to litespeed individual folder `/wp-content/litespeed/debug/`. 263 * **Debug** Disallowed visits to `/litespeed/debug/` folder log files in .htaccess. 264 * **Debug** Dropped const `LSCWP_DEBUG_PATH` support. 265 * **Debug** Renamed `debug.purge.log` to `purge.log`. 266 * **Debug** Added dummy `index.php` for debug folder. 267 * **Debug** Used random string for log filenames. 268 * **Debug** Removed cookies-related info. (Thanks to Rafie) 269 * **Debug** Dropped `Log Cookies` option. 270 * **Report** Escaped report content to protect it from potential XSS attack. (Islam R alsaid #505746) 271 * **ESI** Added nonce for Advanced Custom Fields + Advanced Forms. (David Lapointe Gilbert #439) 272 * **Purge** Run ACTION_PURGE_EMPTYCACHE even if cache is disabled in network admin. (Philip #453) 273 * **Page Optimize** Disable UCSS exclusion when UCSS is inactived. (#640) 274 * **3rd** Fixed undefined warning in WooCommerce Widgets. (Lolosan #719) 275 * **3rd** Correct the integration with User Switching. (John Blackbourn #725) 276 * **3rd** Fixed Admin Bar Missing issue on DIVI + Elementor frontend. (thyran/robertstaddon PR#727) 277 257 278 = 6.4.1 - Aug 19 2024 = 258 279 * ❗**Security** This release patches a security issue that may affect previous LSCWP versions since v1.9. -
litespeed-cache/trunk/src/base.cls.php
r3146649 r3146657 111 111 const O_DEBUG_LEVEL = 'debug-level'; 112 112 const O_DEBUG_FILESIZE = 'debug-filesize'; 113 const O_DEBUG_COOKIE = 'debug-cookie'; 113 const O_DEBUG_COOKIE = 'debug-cookie'; // For backwards compatibility, will drop after v7.0 114 114 const O_DEBUG_COLLAPSE_QS = 'debug-collapse_qs'; 115 115 const O_DEBUG_COLLAPS_QS = 'debug-collapse_qs'; // For backwards compatibility, will drop after v6.5 … … 407 407 self::O_DEBUG_LEVEL => false, 408 408 self::O_DEBUG_FILESIZE => 0, 409 self::O_DEBUG_COOKIE => false,410 409 self::O_DEBUG_COLLAPSE_QS => false, 411 410 self::O_DEBUG_INC => array(), … … 594 593 self::O_DEBUG_LEVEL => false, 595 594 self::O_DEBUG_FILESIZE => 0, 596 self::O_DEBUG_COOKIE => false,597 595 self::O_DEBUG_COLLAPSE_QS => false, 598 596 self::O_DEBUG_INC => array(), -
litespeed-cache/trunk/src/cloud.cls.php
r3146649 r3146657 1548 1548 1549 1549 /** 1550 * Return pong for ping to check PHP function availability 1551 * @since 6.5 1552 */ 1553 public function ping() 1554 { 1555 $resp = array( 1556 'v_lscwp' => Core::VER, 1557 'v_php' => PHP_VERSION, 1558 'v_wp' => $GLOBALS['wp_version'], 1559 ); 1560 if (!empty($_POST['funcs'])) { 1561 foreach ($_POST['funcs'] as $func) { 1562 $resp[$func] = function_exists($func) ? 'y' : 'n'; 1563 } 1564 } 1565 if (!empty($_POST['classes'])) { 1566 foreach ($_POST['classes'] as $cls) { 1567 $resp[$cls] = class_exists($cls) ? 'y' : 'n'; 1568 } 1569 } 1570 return self::ok($resp); 1571 } 1572 1573 /** 1550 1574 * Handle all request actions from main cls 1551 1575 * -
litespeed-cache/trunk/src/debug2.cls.php
r3146649 r3146657 32 32 public function __construct() 33 33 { 34 self::$log_path_prefix = defined('LSCWP_DEBUG_PATH') ? LSCWP_DEBUG_PATH : LSCWP_CONTENT_DIR; 35 self::$log_path = self::$log_path_prefix . '/debug.log'; 34 self::$log_path_prefix = LITESPEED_STATIC_DIR . '/debug/'; 35 // Maybe move legacy log files 36 $this->_maybe_init_folder(); 37 38 self::$log_path = $this->path('debug'); 36 39 if (!empty($_SERVER['HTTP_USER_AGENT']) && strpos($_SERVER['HTTP_USER_AGENT'], 'lscache_') === 0) { 37 self::$log_path = self::$log_path_prefix . '/crawler.log';40 self::$log_path = $this->path('crawler'); 38 41 } 39 42 … … 48 51 49 52 /** 53 * Try moving legacy logs into /litespeed/debug/ folder 54 * 55 * @since 6.5 56 */ 57 private function _maybe_init_folder() 58 { 59 if (file_exists(self::$log_path_prefix . 'index.php')) { 60 return; 61 } 62 file::save(self::$log_path_prefix . 'index.php', '<?php // Silence is golden.', true); 63 64 $logs = array('debug', 'debug.purge', 'crawler'); 65 foreach ($logs as $log) { 66 if (file_exists(LSCWP_CONTENT_DIR . '/' . $log . '.log') && !file_exists($this->path($log))) { 67 rename(LSCWP_CONTENT_DIR . '/' . $log . '.log', $this->path($log)); 68 } 69 } 70 } 71 72 /** 73 * Generate log file path 74 * 75 * @since 6.5 76 */ 77 public function path($type) 78 { 79 return self::$log_path_prefix . self::FilePath($type); 80 } 81 82 /** 83 * Generate the fixed log filename 84 * 85 * @since 6.5 86 */ 87 public static function FilePath($type) 88 { 89 if ($type == 'debug.purge') { 90 $type = 'purge'; 91 } 92 $rand = substr(md5(substr(AUTH_KEY, -16)), -16); 93 return $type . $rand . '.log'; 94 } 95 96 /** 50 97 * End call of one request process 51 98 * @since 4.7 … … 54 101 public static function ended() 55 102 { 56 self::debug('Response headers', headers_list()); 103 $headers = headers_list(); 104 foreach ($headers as $key => $header) { 105 if (stripos($header, 'Set-Cookie') === 0) { 106 unset($headers[$key]); 107 } 108 } 109 self::debug('Response headers', $headers); 57 110 58 111 $elapsed_time = number_format((microtime(true) - LSCWP_TS_0) * 1000, 2); … … 144 197 } 145 198 146 $purge_file = self:: $log_path_prefix . '/debug.purge.log';199 $purge_file = self::cls()->path('purge'); 147 200 148 201 self::cls()->_init_request($purge_file); … … 267 320 $params[] = 'Accept Encoding: ' . $server['HTTP_ACCEPT_ENCODING']; 268 321 } 269 if ($this->conf(Base::O_DEBUG_COOKIE)) { 270 $params[] = 'Cookie: ' . $server['HTTP_COOKIE']; 271 } 322 // $params[] = 'Cookie: ' . $server['HTTP_COOKIE']; 272 323 if (isset($_COOKIE['_lscache_vary'])) { 273 324 $params[] = 'Cookie _lscache_vary: ' . $_COOKIE['_lscache_vary']; … … 477 528 private function _clear_log() 478 529 { 479 $logs = array('debug', ' debug.purge', 'crawler');530 $logs = array('debug', 'purge', 'crawler'); 480 531 foreach ($logs as $log) { 481 File::save( self::$log_path_prefix . "/{$log}.log", '');532 File::save($this->path($log), ''); 482 533 } 483 534 } -
litespeed-cache/trunk/src/esi.cls.php
r3146649 r3146657 22 22 private static $has_esi = false; 23 23 private static $_combine_ids = array(); 24 private $admin_rendered = false;25 24 private $esi_args = null; 26 25 private $_esi_preserve_list = array(); … … 366 365 // Add admin_bar esi 367 366 if (Router::is_logged_in()) { 368 // Remove default Admin bar. Fix https://github.com/elementor/elementor/issues/25198 369 remove_action('wp_body_open', 'wp_admin_bar_render', 0); 370 add_action('wp_body_open', array($this, 'sub_admin_bar_block'), 0); 367 remove_action('wp_body_open', 'wp_admin_bar_render', 0); // Remove default Admin bar. Fix https://github.com/elementor/elementor/issues/25198 371 368 remove_action('wp_footer', 'wp_admin_bar_render', 1000); 372 369 add_action('wp_footer', array($this, 'sub_admin_bar_block'), 1000); … … 771 768 global $wp_admin_bar; 772 769 773 if ($this->admin_rendered) {774 return;775 }776 777 770 if (!is_admin_bar_showing() || !is_object($wp_admin_bar)) { 778 771 return; … … 784 777 ); 785 778 786 $this->admin_rendered = true;787 779 echo $this->sub_esi_block('admin-bar', 'adminbar', $params); 788 780 } -
litespeed-cache/trunk/src/htaccess.cls.php
r3146649 r3146657 94 94 'CacheLookup on', 95 95 'RewriteRule .* - [E=Cache-Control:no-autoflush]', 96 // "RewriteRule \.object-cache\.ini - [F,L]",96 'RewriteRule ' . preg_quote(LITESPEED_DATA_FOLDER) . '/debug/.*\.log$ - [F,L]', 97 97 'RewriteRule ' . preg_quote(self::CONF_FILE) . ' - [F,L]', 98 98 ); -
litespeed-cache/trunk/src/lang.cls.php
r3146649 r3146657 270 270 self::O_DEBUG_LEVEL => __('Debug Level', 'litespeed-cache'), 271 271 self::O_DEBUG_FILESIZE => __('Log File Size Limit', 'litespeed-cache'), 272 self::O_DEBUG_COOKIE => __('Log Cookies', 'litespeed-cache'),273 272 self::O_DEBUG_COLLAPSE_QS => __('Collapse Query Strings', 'litespeed-cache'), 274 273 self::O_DEBUG_INC => __('Debug URI Includes', 'litespeed-cache'), -
litespeed-cache/trunk/src/object-cache.cls.php
r3146649 r3146657 1 1 <?php 2 2 3 /** 3 4 * The object cache class … … 8 9 * @author LiteSpeed Technologies <[email protected]> 9 10 */ 11 10 12 namespace LiteSpeed; 13 11 14 defined('WPINC') || exit(); 12 15 … … 59 62 public function __construct($cfg = false) 60 63 { 61 $this->debug_oc('-------------');62 $this->debug_oc('init');63 64 64 if ($cfg) { 65 65 if (!is_array($cfg[Base::O_OBJECT_GLOBAL_GROUPS])) { … … 159 159 } 160 160 161 error_log(gmdate('m/d/y H:i:s') . ' - ' . $text . PHP_EOL, 3, WP_CONTENT_DIR . '/debug.log'); 161 $LITESPEED_DATA_FOLDER = defined('LITESPEED_DATA_FOLDER') ? LITESPEED_DATA_FOLDER : 'litespeed'; 162 $LSCWP_CONTENT_DIR = defined('LSCWP_CONTENT_DIR') ? LSCWP_CONTENT_DIR : WP_CONTENT_DIR; 163 $LITESPEED_STATIC_DIR = $LSCWP_CONTENT_DIR . '/' . $LITESPEED_DATA_FOLDER; 164 $log_path_prefix = $LITESPEED_STATIC_DIR . '/debug/'; 165 $log_file = $log_path_prefix . Debug2::FilePath('debug'); 166 167 if (file_exists($log_path_prefix . 'index.php') && file_exists($log_file)) { 168 error_log(gmdate('m/d/y H:i:s') . ' - OC - ' . $text . PHP_EOL, 3, $log_file); 169 } 162 170 } 163 171 … … 343 351 } 344 352 restore_error_handler(); 345 } /** 346 * Connect to Memcached 347 */ else { 353 } else { // Connect to Memcached 348 354 if ($this->_cfg_persistent) { 349 355 $this->_conn = new \Memcached($this->_get_mem_id()); -
litespeed-cache/trunk/src/optimize.cls.php
r3146649 r3146657 1090 1090 1091 1091 // Check if need to inline this css file 1092 if ( Utility::str_hit_array($attrs['href'], $ucss_file_exc_inline)) {1092 if ($this->conf(self::O_OPTM_UCSS) && Utility::str_hit_array($attrs['href'], $ucss_file_exc_inline)) { 1093 1093 Debug2::debug('[Optm] ucss_file_exc_inline hit ' . $attrs['href']); 1094 1094 // Replace this css to inline from orig html -
litespeed-cache/trunk/src/optimizer.cls.php
r3146649 r3146657 58 58 $content_final = $obj->process(); 59 59 // check if content from minification is empty 60 if ($content_final == ''){60 if ($content_final == '') { 61 61 Debug2::debug('Failed to minify HTML: HTML minification resulted in empty HTML'); 62 62 return $content; -
litespeed-cache/trunk/src/rest.cls.php
r3146649 r3146657 73 73 'permission_callback' => array($this, 'is_from_cloud'), 74 74 )); 75 register_rest_route('litespeed/v 1', '/ping', array(76 'methods' => ' GET',75 register_rest_route('litespeed/v3', '/ping', array( 76 'methods' => 'POST', 77 77 'callback' => array($this, 'ping'), 78 'permission_callback' => '__return_true',78 'permission_callback' => array($this, 'is_from_cloud'), 79 79 )); 80 80 … … 169 169 public function ping() 170 170 { 171 return Cloud::ok(array('ver' => Core::VER));171 return $this->cls('Cloud')->ping(); 172 172 } 173 173 -
litespeed-cache/trunk/src/router.cls.php
r3146649 r3146657 604 604 605 605 case Core::ACTION_PURGE_EMPTYCACHE: // todo: moved to purge.cls type action 606 if ( defined('LITESPEED_ON') && ($_can_network_option || (!$_is_multisite && $_can_option))) {606 if ((defined('LITESPEED_ON') || $_is_network_admin) && ($_can_network_option || (!$_is_multisite && $_can_option))) { 607 607 self::$_action = $action; 608 608 } -
litespeed-cache/trunk/thirdparty/user-switching.cls.php
r3146649 r3146657 13 13 public static function detect() 14 14 { 15 if (! defined('user_switching')) {15 if (!class_exists('user_switching')) { 16 16 return; 17 17 } -
litespeed-cache/trunk/thirdparty/woocommerce.cls.php
r3146649 r3146657 729 729 return; 730 730 } 731 731 732 global $wp_widget_factory; 733 if (!isset($wp_widget_factory->widgets['WC_Widget_Recent_Reviews'])) { 734 return; 735 } 736 732 737 $recent_reviews = $wp_widget_factory->widgets['WC_Widget_Recent_Reviews']; 733 738 if (!is_null($recent_reviews)) { -
litespeed-cache/trunk/tpl/toolbox/beta_test.tpl.php
r3146649 r3146657 7 7 // Existing public version list 8 8 $v_list = array( 9 '6.5', 9 10 '6.4.1', 10 11 '6.3.0.1', -
litespeed-cache/trunk/tpl/toolbox/log_viewer.tpl.php
r3146649 r3146657 3 3 namespace LiteSpeed; 4 4 5 defined( 'WPINC') || exit;5 defined('WPINC') || exit; 6 6 7 7 $logs = … … 9 9 array( 10 10 'name' => 'debug', 11 'label' => esc_html__( 'Debug Log', 'litespeed-cache'),11 'label' => esc_html__('Debug Log', 'litespeed-cache'), 12 12 'accesskey' => 'A', 13 13 ), 14 14 array( 15 'name' => ' debug.purge',16 'label' => esc_html__( 'Purge Log', 'litespeed-cache'),15 'name' => 'purge', 16 'label' => esc_html__('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' => esc_html__('Crawler Log', 'litespeed-cache'), 22 22 'accesskey' => 'C', 23 23 ), … … 28 28 * @since 4.7 29 29 */ 30 function subnav_link( $item ) { 30 function subnav_link($item) 31 { 31 32 $class = 'button '; 32 33 $subtab = ''; 33 34 34 if ( ! isset( $item['url'] )) {35 if (!isset($item['url'])) { 35 36 $class .= 'button-secondary'; 36 37 $subtab_name = "{$item['name']}_log"; 37 38 $subtab = "data-litespeed-subtab='{$subtab_name}'"; 38 $url ="#{$subtab_name}"; 39 } 40 else { 39 $url = "#{$subtab_name}"; 40 } else { 41 41 $class .= 'button-primary'; 42 42 $url = $item['url']; … … 44 44 45 45 $accesskey = 46 isset( $item['accesskey'])46 isset($item['accesskey']) 47 47 ? "litespeed-accesskey='{$item['accesskey']}'" 48 48 : ''; 49 $label = isset( $item['label']) ? $item['label'] : $item['name'];49 $label = isset($item['label']) ? $item['label'] : $item['name']; 50 50 51 51 return "<a href='{$url}' class='{$class}' {$subtab} {$accesskey}>{$label}</a>"; … … 56 56 * @since 4.7 57 57 */ 58 function clear_logs_link( $accesskey = null ) { 58 function clear_logs_link($accesskey = null) 59 { 59 60 $item = 60 61 array( 61 'label' => esc_html__( 'Clear Logs', 'litespeed-cache'),62 'url' => Utility::build_url( Router::ACTION_DEBUG2, Debug2::TYPE_CLEAR_LOG),62 'label' => esc_html__('Clear Logs', 'litespeed-cache'), 63 'url' => Utility::build_url(Router::ACTION_DEBUG2, Debug2::TYPE_CLEAR_LOG), 63 64 ); 64 if ( null !== $accesskey) {65 if (null !== $accesskey) { 65 66 $item['accesskey'] = $accesskey; 66 67 } 67 echo subnav_link( $item);68 echo subnav_link($item); 68 69 } 69 70 … … 71 72 $log_views = array(); 72 73 73 foreach ( $logs as $log) {74 $subnav_links[] = subnav_link( $log);74 foreach ($logs as $log) { 75 $subnav_links[] = subnav_link($log); 75 76 76 $file = LSCWP_CONTENT_DIR . "/{$log['name']}.log";77 $lines = File::count_lines( $file);77 $file = $this->cls('Debug2')->path($log['name']); 78 $lines = File::count_lines($file); 78 79 $start = $lines > 1000 ? $lines - 1000 : 0; 79 $lines = File::read( $file, $start);80 $lines = $lines ? trim( implode( "\n", $lines )) : '';80 $lines = File::read($file, $start); 81 $lines = $lines ? trim(implode("\n", $lines)) : ''; 81 82 82 83 $log_views[] = 83 84 "<div class='litespeed-log-view-wrapper' data-litespeed-sublayout='{$log['name']}_log'>" 84 . "<h3 class='litespeed-title'>{$log['label']}</h3>"85 . '<div class="litespeed-log-body">'86 . nl2br( htmlspecialchars( $lines ))87 . '</div>'85 . "<h3 class='litespeed-title'>{$log['label']}</h3>" 86 . '<div class="litespeed-log-body">' 87 . nl2br(htmlspecialchars($lines)) 88 . '</div>' 88 89 . '</div>'; 89 90 } … … 91 92 92 93 <h3 class="litespeed-title"> 93 <?php esc_html_e( 'LiteSpeed Logs', 'litespeed-cache'); ?>94 <?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/toolbox/#log-view-tab'); ?>94 <?php esc_html_e('LiteSpeed Logs', 'litespeed-cache'); ?> 95 <?php Doc::learn_more('https://docs.litespeedtech.com/lscache/lscwp/toolbox/#log-view-tab'); ?> 95 96 </h3> 96 97 97 98 <div class="litespeed-log-subnav-wrapper"> 98 <?php echo implode( "\n", $subnav_links); ?>99 <?php clear_logs_link( 'D'); ?>99 <?php echo implode("\n", $subnav_links); ?> 100 <?php clear_logs_link('D'); ?> 100 101 </div> 101 102 102 <?php echo implode( "\n", $log_views); ?>103 <?php echo implode("\n", $log_views); ?> 103 104 104 105 <?php -
litespeed-cache/trunk/tpl/toolbox/report.tpl.php
r3146649 r3146657 1 1 <?php 2 namespace LiteSpeed ;3 defined( 'WPINC' ) || exit ;4 2 5 $_report = Report::cls() ; 3 namespace LiteSpeed; 4 5 defined('WPINC') || exit; 6 7 $_report = Report::cls(); 6 8 $report = $_report->generate_environment_report(); 7 9 8 $env_ref = Report::get_summary() ;10 $env_ref = Report::get_summary(); 9 11 10 12 // Detect password less plugin 11 13 $link = ''; 12 14 $has_pswdless_plugin = false; 13 if ( function_exists( 'dologin_gen_link' )) {15 if (function_exists('dologin_gen_link')) { 14 16 $has_pswdless_plugin = true; 15 if ( ! empty( $_GET[ 'dologin_gen_link' ] ) ) { 16 unset( $_GET[ 'dologin_gen_link' ] ); 17 $link = dologin_gen_link( 'Litespeed Report' ); 18 ?> 19 <script>window.history.pushState( 'remove_gen_link', document.title, window.location.href.replace( '&dologin_gen_link=1', '' ) );</script> 20 <?php 17 if (!empty($_GET['dologin_gen_link'])) { 18 unset($_GET['dologin_gen_link']); 19 $link = dologin_gen_link('Litespeed Report'); 20 ?> 21 <script> 22 window.history.pushState('remove_gen_link', document.title, window.location.href.replace('&dologin_gen_link=1', '')); 23 </script> 24 <?php 21 25 } 22 26 } 23 27 24 $install_link = Utility::build_url( Router::ACTION_ACTIVATION, Activation::TYPE_INSTALL_3RD, false, null, array( 'plugin' => 'dologin' ));28 $install_link = Utility::build_url(Router::ACTION_ACTIVATION, Activation::TYPE_INSTALL_3RD, false, null, array('plugin' => 'dologin')); 25 29 ?> 26 30 27 <?php if ( ! $has_pswdless_plugin) : ?>31 <?php if (!$has_pswdless_plugin) : ?> 28 32 <div class="litespeed-callout notice notice-warning inline"> 29 <h4><?php echo __( 'NOTICE:', 'litespeed-cache'); ?></h4>33 <h4><?php echo __('NOTICE:', 'litespeed-cache'); ?></h4> 30 34 <p> 31 <?php echo sprintf( __( 'To generate a passwordless link for LiteSpeed Support Team access, you must install %s.', 'litespeed-cache' ), '<a href="https://wordpress.org/plugins/dologin/" target="_blank">DoLogin Security</a>'); ?>35 <?php echo sprintf(__('To generate a passwordless link for LiteSpeed Support Team access, you must install %s.', 'litespeed-cache'), '<a href="https://wordpress.org/plugins/dologin/" target="_blank">DoLogin Security</a>'); ?> 32 36 </p> 33 37 <p> 34 <a href="<?php echo $install_link; ?>" class="button litespeed-btn litespeed-right20"><?php echo __( 'Install DoLogin Security', 'litespeed-cache'); ?></a>35 <a href="plugin-install.php?s=dologin+security&tab=search&type=term" target="_blank"><?php echo __( 'Go to plugins list', 'litespeed-cache'); ?></a>38 <a href="<?php echo $install_link; ?>" class="button litespeed-btn litespeed-right20"><?php echo __('Install DoLogin Security', 'litespeed-cache'); ?></a> 39 <a href="plugin-install.php?s=dologin+security&tab=search&type=term" target="_blank"><?php echo __('Go to plugins list', 'litespeed-cache'); ?></a> 36 40 </p> 37 41 </div> … … 39 43 40 44 <h3 class="litespeed-title"> 41 <?php echo __('LiteSpeed Report', 'litespeed-cache') ; ?>42 <?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/toolbox/#report-tab'); ?>45 <?php echo __('LiteSpeed Report', 'litespeed-cache'); ?> 46 <?php Doc::learn_more('https://docs.litespeedtech.com/lscache/lscwp/toolbox/#report-tab'); ?> 43 47 </h3> 44 48 45 <p><?php echo __('Report number', 'litespeed-cache') ; ?>: <b><?php echo ! empty( $env_ref[ 'num' ] ) ? $env_ref[ 'num' ] : '-'; ?></b></p>46 <p><?php echo __('Report date', 'litespeed-cache') ; ?>: <b><?php echo ! empty( $env_ref[ 'dateline' ] ) ? date( 'm/d/Y H:i:s', $env_ref[ 'dateline' ] ) : '-'; ?></b></p>49 <p><?php echo __('Report number', 'litespeed-cache'); ?>: <b><?php echo !empty($env_ref['num']) ? $env_ref['num'] : '-'; ?></b></p> 50 <p><?php echo __('Report date', 'litespeed-cache'); ?>: <b><?php echo !empty($env_ref['dateline']) ? date('m/d/Y H:i:s', $env_ref['dateline']) : '-'; ?></b></p> 47 51 48 52 <p class="litespeed-desc"> 49 <?php echo __( 'The environment report contains detailed information about the WordPress configuration.', 'litespeed-cache'); ?>53 <?php echo __('The environment report contains detailed information about the WordPress configuration.', 'litespeed-cache'); ?> 50 54 <br /> 51 55 <?php echo __('If you run into any issues, please refer to the report number in your support message.', 'litespeed-cache'); ?> 52 56 </p> 53 57 54 <form action="<?php echo Utility::build_url( Router::ACTION_REPORT, Report::TYPE_SEND_REPORT ); ?>" method="post" class="litespeed-relative"> 55 <table class="wp-list-table striped litespeed-table"><tbody> 56 <tr> 57 <th><?php echo __( 'System Information', 'litespeed-cache' ) ; ?></th> 58 <td> 59 <textarea id="litespeed-report" rows="20" cols="100" readonly><?php echo $report; ?></textarea> 60 </td> 61 </tr> 62 <tr> 63 <th><?php echo __( 'Passwordless Link', 'litespeed-cache' ) ; ?></th> 64 <td> 65 <input type="text" class="litespeed-regular-text" id="litespeed-report-link" name="link" value="<?php echo $link; ?>" style="width:500px;" /> 66 <?php if ( $has_pswdless_plugin ) : ?> 67 <a href="<?php echo admin_url( 'admin.php?page=litespeed-toolbox&dologin_gen_link=1' ); ?>" class="button button-secondary"><?php echo __( 'Generate Link for Current User', 'litespeed-cache' ) ; ?></a> 68 <?php else: ?> 69 <button type="button" class="button button-secondary" disabled><?php echo __( 'Generate Link for Current User', 'litespeed-cache' ) ; ?></button> 70 <?php endif; ?> 71 <div class="litespeed-desc"> 72 <?php echo __( 'To grant wp-admin access to the LiteSpeed Support Team, please generate a passwordless link for the current logged-in user to be sent with the report.', 'litespeed-cache' ) ; ?> 73 <?php if ( $link ) : ?> 74 <br /><strong>🚨 <?php echo __('Please do NOT share the above passwordless link with anyone.', 'litespeed-cache'); ?></strong> 75 <strong><?php echo sprintf( __('Generated links may be managed under <a %s>Settings</a>.', 'litespeed-cache'), 'href="' . menu_page_url( 'dologin', 0 ) . '"' ); ?></strong> 76 <?php endif; ?> 77 </div> 78 </td> 79 </tr> 80 <tr> 81 <th><?php echo __( 'Notes', 'litespeed-cache' ) ; ?></th> 82 <td> 83 <textarea name="notes" rows="10" cols="100"></textarea> 84 <div class="litespeed-desc"> 85 <?php echo __( 'Optional', 'litespeed-cache' ); ?>: 86 <?php echo __( 'provide more information here to assist the LiteSpeed team with debugging.', 'litespeed-cache' ); ?> 87 </div> 88 </td> 89 </tr> 90 </tbody></table> 58 <form action="<?php echo Utility::build_url(Router::ACTION_REPORT, Report::TYPE_SEND_REPORT); ?>" method="post" class="litespeed-relative"> 59 <table class="wp-list-table striped litespeed-table"> 60 <tbody> 61 <tr> 62 <th><?php echo __('System Information', 'litespeed-cache'); ?></th> 63 <td> 64 <textarea id="litespeed-report" rows="20" cols="100" readonly><?php echo esc_textarea($report); ?></textarea> 65 </td> 66 </tr> 67 <tr> 68 <th><?php echo __('Passwordless Link', 'litespeed-cache'); ?></th> 69 <td> 70 <input type="text" class="litespeed-regular-text" id="litespeed-report-link" name="link" value="<?php echo $link; ?>" style="width:500px;" /> 71 <?php if ($has_pswdless_plugin) : ?> 72 <a href="<?php echo admin_url('admin.php?page=litespeed-toolbox&dologin_gen_link=1'); ?>" class="button button-secondary"><?php echo __('Generate Link for Current User', 'litespeed-cache'); ?></a> 73 <?php else : ?> 74 <button type="button" class="button button-secondary" disabled><?php echo __('Generate Link for Current User', 'litespeed-cache'); ?></button> 75 <?php endif; ?> 76 <div class="litespeed-desc"> 77 <?php echo __('To grant wp-admin access to the LiteSpeed Support Team, please generate a passwordless link for the current logged-in user to be sent with the report.', 'litespeed-cache'); ?> 78 <?php if ($link) : ?> 79 <br /><strong>🚨 <?php echo __('Please do NOT share the above passwordless link with anyone.', 'litespeed-cache'); ?></strong> 80 <strong><?php echo sprintf(__('Generated links may be managed under <a %s>Settings</a>.', 'litespeed-cache'), 'href="' . menu_page_url('dologin', 0) . '"'); ?></strong> 81 <?php endif; ?> 82 </div> 83 </td> 84 </tr> 85 <tr> 86 <th><?php echo __('Notes', 'litespeed-cache'); ?></th> 87 <td> 88 <textarea name="notes" rows="10" cols="100"></textarea> 89 <div class="litespeed-desc"> 90 <?php echo __('Optional', 'litespeed-cache'); ?>: 91 <?php echo __('provide more information here to assist the LiteSpeed team with debugging.', 'litespeed-cache'); ?> 92 </div> 93 </td> 94 </tr> 95 </tbody> 96 </table> 91 97 92 <div class='litespeed-top20'></div>93 <button class="button button-primary" type="submit"><?php echo __( 'Send to LiteSpeed', 'litespeed-cache' ); ?></button>94 <button class="button button-primary litespeed-float-submit" type="submit"><?php echo __( 'Send to LiteSpeed', 'litespeed-cache' ); ?></button>98 <div class='litespeed-top20'></div> 99 <button class="button button-primary" type="submit"><?php echo __('Send to LiteSpeed', 'litespeed-cache'); ?></button> 100 <button class="button button-primary litespeed-float-submit" type="submit"><?php echo __('Send to LiteSpeed', 'litespeed-cache'); ?></button> 95 101 96 <p class="litespeed-top30 litespeed-left10 litespeed-desc">97 <?php echo __( 'Send this report to LiteSpeed. Refer to this report number when posting in the WordPress support forum.', 'litespeed-cache' ); ?>98 </p>102 <p class="litespeed-top30 litespeed-left10 litespeed-desc"> 103 <?php echo __('Send this report to LiteSpeed. Refer to this report number when posting in the WordPress support forum.', 'litespeed-cache'); ?> 104 </p> 99 105 </form> 100 106 101 <?php include_once LSCWP_DIR . "tpl/inc/api_key.php" ; ?> 102 107 <?php include_once LSCWP_DIR . "tpl/inc/api_key.php"; ?> -
litespeed-cache/trunk/tpl/toolbox/settings-debug.tpl.php
r3146649 r3146657 1 1 <?php 2 2 3 namespace LiteSpeed; 3 defined( 'WPINC' ) || exit;4 4 5 $this->form_action( $this->_is_network_admin ? Router::ACTION_SAVE_SETTINGS_NETWORK : false ); 5 defined('WPINC') || exit; 6 7 $this->form_action($this->_is_network_admin ? Router::ACTION_SAVE_SETTINGS_NETWORK : false); 6 8 ?> 7 9 … … 10 12 </h3> 11 13 12 <a href="<?php echo home_url( '/') . '?' . Router::ACTION . '=before_optm'; ?>" class="button button-success" target="_blank">13 <?php echo __( 'View Site Before Optimization', 'litespeed-cache'); ?>14 <a href="<?php echo home_url('/') . '?' . Router::ACTION . '=before_optm'; ?>" class="button button-success" target="_blank"> 15 <?php echo __('View Site Before Optimization', 'litespeed-cache'); ?> 14 16 </a> 15 17 16 <a href="<?php echo home_url( '/') . '?' . Router::ACTION . '=' . Core::ACTION_QS_NOCACHE; ?>" class="button button-success" target="_blank">17 <?php echo __( 'View Site Before Cache', 'litespeed-cache'); ?>18 <a href="<?php echo home_url('/') . '?' . Router::ACTION . '=' . Core::ACTION_QS_NOCACHE; ?>" class="button button-success" target="_blank"> 19 <?php echo __('View Site Before Cache', 'litespeed-cache'); ?> 18 20 </a> 19 21 … … 21 23 <h3 class="litespeed-title-short"> 22 24 <?php echo __('Debug Settings', 'litespeed-cache'); ?> 23 <?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/toolbox/#debug-settings-tab'); ?>25 <?php Doc::learn_more('https://docs.litespeedtech.com/lscache/lscwp/toolbox/#debug-settings-tab'); ?> 24 26 </h3> 25 27 26 <table class="wp-list-table striped litespeed-table"><tbody> 27 <tr> 28 <th> 29 <?php $id = Base::O_DEBUG_DISABLE_ALL; ?> 30 <?php $this->title( $id ); ?> 31 </th> 32 <td> 33 <?php $this->build_switch( $id ); ?> 34 <div class="litespeed-desc"> 35 <?php echo __( 'This will disable LSCache and all optimization features for debug purpose.', 'litespeed-cache' ); ?> 36 </div> 37 </td> 38 </tr> 28 <table class="wp-list-table striped litespeed-table"> 29 <tbody> 30 <tr> 31 <th> 32 <?php $id = Base::O_DEBUG_DISABLE_ALL; ?> 33 <?php $this->title($id); ?> 34 </th> 35 <td> 36 <?php $this->build_switch($id); ?> 37 <div class="litespeed-desc"> 38 <?php echo __('This will disable LSCache and all optimization features for debug purpose.', 'litespeed-cache'); ?> 39 </div> 40 </td> 41 </tr> 39 42 40 <tr>41 <th>42 <?php $id = Base::O_DEBUG; ?>43 <?php $this->title( $id); ?>44 </th>45 <td>46 <?php $this->build_switch( $id, array( __( 'OFF', 'litespeed-cache' ), __( 'ON', 'litespeed-cache' ), __( 'Admin IP Only', 'litespeed-cache' ) )); ?>47 <div class="litespeed-desc">48 <?php echo __( 'Outputs to WordPress debug log.', 'litespeed-cache'); ?>49 <?php echo __( 'To prevent filling up the disk, this setting should be OFF when everything is working.', 'litespeed-cache'); ?>50 <?php echo __( 'The Admin IP option will only output log messages on requests from admin IPs.', 'litespeed-cache'); ?>51 <?php echo sprintf( __( 'The logs will be output to %s.', 'litespeed-cache' ), '<code>wp-content/debug.log</code>'); ?>52 </div>53 </td>54 </tr>43 <tr> 44 <th> 45 <?php $id = Base::O_DEBUG; ?> 46 <?php $this->title($id); ?> 47 </th> 48 <td> 49 <?php $this->build_switch($id, array(__('OFF', 'litespeed-cache'), __('ON', 'litespeed-cache'), __('Admin IP Only', 'litespeed-cache'))); ?> 50 <div class="litespeed-desc"> 51 <?php echo __('Outputs to WordPress debug log.', 'litespeed-cache'); ?> 52 <?php echo __('To prevent filling up the disk, this setting should be OFF when everything is working.', 'litespeed-cache'); ?> 53 <?php echo __('The Admin IP option will only output log messages on requests from admin IPs.', 'litespeed-cache'); ?> 54 <?php echo sprintf(__('The logs will be output to %s.', 'litespeed-cache'), '<code>wp-content/debug.log</code>'); ?> 55 </div> 56 </td> 57 </tr> 55 58 56 <tr>57 <th>58 <?php $id = Base::O_DEBUG_IPS; ?>59 <?php $this->title( $id); ?>60 </th>61 <td>62 <?php $this->build_textarea( $id, 50); ?>63 <div class="litespeed-desc">64 <?php echo __( 'Allows listed IPs (one per line) to perform certain actions from their browsers.', 'litespeed-cache'); ?>65 <?php echo __( 'Your IP', 'litespeed-cache'); ?>: <code><?php echo Router::get_ip(); ?></code>66 <?php $this->_validate_ip( $id); ?>67 <br />68 <?php Doc::learn_more(69 'https://docs.litespeedtech.com/lscache/lscwp/admin/#admin-ip-commands',70 __( 'More information about the available commands can be found here.', 'litespeed-cache')71 ); ?>72 </div>73 </td>74 </tr>59 <tr> 60 <th> 61 <?php $id = Base::O_DEBUG_IPS; ?> 62 <?php $this->title($id); ?> 63 </th> 64 <td> 65 <?php $this->build_textarea($id, 50); ?> 66 <div class="litespeed-desc"> 67 <?php echo __('Allows listed IPs (one per line) to perform certain actions from their browsers.', 'litespeed-cache'); ?> 68 <?php echo __('Your IP', 'litespeed-cache'); ?>: <code><?php echo Router::get_ip(); ?></code> 69 <?php $this->_validate_ip($id); ?> 70 <br /> 71 <?php Doc::learn_more( 72 'https://docs.litespeedtech.com/lscache/lscwp/admin/#admin-ip-commands', 73 __('More information about the available commands can be found here.', 'litespeed-cache') 74 ); ?> 75 </div> 76 </td> 77 </tr> 75 78 76 <tr>77 <th>78 <?php $id = Base::O_DEBUG_LEVEL; ?>79 <?php $this->title( $id); ?>80 </th>81 <td>82 <?php $this->build_switch( $id, array( __( 'Basic', 'litespeed-cache' ), __( 'Advanced', 'litespeed-cache' ) )); ?>83 <div class="litespeed-desc">84 <?php echo __( 'Advanced level will log more details.', 'litespeed-cache'); ?>85 </div>86 </td>87 </tr>79 <tr> 80 <th> 81 <?php $id = Base::O_DEBUG_LEVEL; ?> 82 <?php $this->title($id); ?> 83 </th> 84 <td> 85 <?php $this->build_switch($id, array(__('Basic', 'litespeed-cache'), __('Advanced', 'litespeed-cache'))); ?> 86 <div class="litespeed-desc"> 87 <?php echo __('Advanced level will log more details.', 'litespeed-cache'); ?> 88 </div> 89 </td> 90 </tr> 88 91 89 <tr>90 <th>91 <?php $id = Base::O_DEBUG_FILESIZE; ?>92 <?php $this->title( $id); ?>93 </th>94 <td>95 <?php $this->build_input( $id, 'litespeed-input-short' ); ?> <?php echo __( 'MB', 'litespeed-cache'); ?>96 <div class="litespeed-desc">97 <?php echo __( 'Specify the maximum size of the log file.', 'litespeed-cache'); ?>98 <?php $this->recommended( $id); ?>99 <?php $this->_validate_ttl( $id, 3, 3000); ?>100 </div>101 </td>102 </tr>92 <tr> 93 <th> 94 <?php $id = Base::O_DEBUG_FILESIZE; ?> 95 <?php $this->title($id); ?> 96 </th> 97 <td> 98 <?php $this->build_input($id, 'litespeed-input-short'); ?> <?php echo __('MB', 'litespeed-cache'); ?> 99 <div class="litespeed-desc"> 100 <?php echo __('Specify the maximum size of the log file.', 'litespeed-cache'); ?> 101 <?php $this->recommended($id); ?> 102 <?php $this->_validate_ttl($id, 3, 3000); ?> 103 </div> 104 </td> 105 </tr> 103 106 104 <tr>105 <th>106 <?php $id = Base::O_DEBUG_COOKIE; ?>107 <?php $this->title( $id); ?>108 </th>109 <td>110 <?php $this->build_switch( $id); ?>111 <div class="litespeed-desc">112 <?php echo __( 'Log requested cookie values.', 'litespeed-cache'); ?>113 </div>114 </td>115 </tr>107 <tr> 108 <th> 109 <?php $id = Base::O_DEBUG_COLLAPSE_QS; ?> 110 <?php $this->title($id); ?> 111 </th> 112 <td> 113 <?php $this->build_switch($id); ?> 114 <div class="litespeed-desc"> 115 <?php echo __('Shorten query strings in the debug log to improve readability.', 'litespeed-cache'); ?> 116 </div> 117 </td> 118 </tr> 116 119 117 <tr> 118 <th> 119 <?php $id = Base::O_DEBUG_COLLAPSE_QS; ?> 120 <?php $this->title( $id ); ?> 121 </th> 122 <td> 123 <?php $this->build_switch( $id ); ?> 124 <div class="litespeed-desc"> 125 <?php echo __( 'Shorten query strings in the debug log to improve readability.', 'litespeed-cache' ); ?> 126 </div> 127 </td> 128 </tr> 120 <tr> 121 <th> 122 <?php $id = Base::O_DEBUG_INC; ?> 123 <?php $this->title($id); ?> 124 </th> 125 <td> 126 <?php $this->build_textarea($id); ?> 127 <div class="litespeed-desc"> 128 <?php echo __('Only log listed pages.', 'litespeed-cache'); ?> 129 <?php $this->_uri_usage_example(); ?> 130 </div> 131 </td> 132 </tr> 129 133 130 <tr>131 <th>132 <?php $id = Base::O_DEBUG_INC; ?>133 <?php $this->title( $id); ?>134 </th>135 <td>136 <?php $this->build_textarea( $id); ?>137 <div class="litespeed-desc">138 <?php echo __( 'Only log listed pages.', 'litespeed-cache'); ?>139 <?php $this->_uri_usage_example(); ?>140 </div>141 </td>142 </tr>134 <tr> 135 <th> 136 <?php $id = Base::O_DEBUG_EXC; ?> 137 <?php $this->title($id); ?> 138 </th> 139 <td> 140 <?php $this->build_textarea($id); ?> 141 <div class="litespeed-desc"> 142 <?php echo __('Prevent any debug log of listed pages.', 'litespeed-cache'); ?> 143 <?php $this->_uri_usage_example(); ?> 144 </div> 145 </td> 146 </tr> 143 147 144 <tr>145 <th>146 <?php $id = Base::O_DEBUG_EXC; ?>147 <?php $this->title( $id); ?>148 </th>149 <td>150 <?php $this->build_textarea( $id); ?>151 <div class="litespeed-desc">152 <?php echo __( 'Prevent any debug log of listed pages.', 'litespeed-cache'); ?>153 <?php $this->_uri_usage_example(); ?>154 </div>155 </td>156 </tr>148 <tr> 149 <th> 150 <?php $id = Base::O_DEBUG_EXC_STRINGS; ?> 151 <?php $this->title($id); ?> 152 </th> 153 <td> 154 <?php $this->build_textarea($id); ?> 155 <div class="litespeed-desc"> 156 <?php echo __('Prevent writing log entries that include listed strings.', 'litespeed-cache'); ?> 157 <?php Doc::one_per_line(); ?> 158 </div> 159 </td> 160 </tr> 157 161 158 <tr> 159 <th> 160 <?php $id = Base::O_DEBUG_EXC_STRINGS; ?> 161 <?php $this->title( $id ); ?> 162 </th> 163 <td> 164 <?php $this->build_textarea( $id ); ?> 165 <div class="litespeed-desc"> 166 <?php echo __( 'Prevent writing log entries that include listed strings.', 'litespeed-cache' ); ?> 167 <?php Doc::one_per_line(); ?> 168 </div> 169 </td> 170 </tr> 171 172 </tbody></table> 162 </tbody> 163 </table> 173 164 174 165 <?php 175 166 176 167 $this->form_end(); 177
Note: See TracChangeset
for help on using the changeset viewer.