From aa3da0eb92b9c3704ae6705b86d929c6780e7ebe Mon Sep 17 00:00:00 2001 From: Lai Power Date: Wed, 28 Jun 2023 12:45:56 +0000 Subject: [PATCH] updated plugin `W3 Total Cache` version 2.3.3 --- .../plugins/w3-total-cache/ConfigKeys.php | 6 +- .../Extension_FragmentCache_Page_View.php | 2 +- .../Extension_FragmentCache_Plugin.php | 1 + .../Generic_AdminActions_Default.php | 31 + .../w3-total-cache/Generic_Plugin_Admin.php | 19 +- .../w3-total-cache/Licensing_Plugin_Admin.php | 6 +- .../w3-total-cache/PgCache_ContentGrabber.php | 1 - .../plugins/w3-total-cache/PgCache_Page.php | 16 +- .../w3-total-cache/PgCache_Page_View.js | 20 + .../inc/options/parts/memcached.php | 2 +- .../inc/options/parts/memcached_extension.php | 2 +- .../inc/options/parts/redis.php | 2 +- .../inc/options/parts/redis_extension.php | 2 +- .../w3-total-cache/inc/options/pgcache.php | 1 + .../languages/w3-total-cache.pot | 254 ++-- .../lib/Nusoap/class.soap_transport_http.php | 4 +- .../w3-total-cache/lib/Nusoap/nusoap.php | 4 +- .../w3-total-cache/lib/SNS/sdk.class.php | 4 +- .../lib/SNS/utilities/simplexml.class.php | 6 +- wp-content/plugins/w3-total-cache/readme.txt | 9 +- .../w3-total-cache/vendor/autoload.php | 2 +- .../vendor/composer/autoload_real.php | 14 +- .../vendor/composer/autoload_static.php | 8 +- .../vendor/composer/installed.json | 21 +- .../vendor/guzzlehttp/guzzle/.editorconfig | 11 + .../vendor/guzzlehttp/guzzle/.gitattributes | 11 + .../guzzlehttp/guzzle/.github/CONTRIBUTING.md | 3 + .../guzzle/.github/ISSUE_TEMPLATE.md | 1 + .../.github/ISSUE_TEMPLATE/bug_report.md | 18 + .../.github/ISSUE_TEMPLATE/feature_request.md | 14 + .../.github/ISSUE_TEMPLATE/security_issue.md | 10 + .../ISSUE_TEMPLATE/support_question.md | 10 + .../guzzlehttp/guzzle/.github/SUPPORT.md | 18 + .../guzzle/.github/workflows/bc.entrypoint | 37 + .../guzzle/.github/workflows/checks.yml | 21 + .../guzzle/.github/workflows/ci.yml | 70 + .../vendor/guzzlehttp/guzzle/Makefile | 78 + .../guzzlehttp/guzzle/build/Burgomaster.php | 385 +++++ .../guzzlehttp/guzzle/build/packager.php | 27 + .../vendor/guzzlehttp/guzzle/docs/Makefile | 153 ++ .../guzzle/docs/_static/guzzle-icon.png | Bin 0 -> 803 bytes .../guzzlehttp/guzzle/docs/_static/logo.png | Bin 0 -> 247678 bytes .../vendor/guzzlehttp/guzzle/docs/conf.py | 68 + .../vendor/guzzlehttp/guzzle/docs/faq.rst | 193 +++ .../guzzle/docs/handlers-and-middleware.rst | 303 ++++ .../vendor/guzzlehttp/guzzle/docs/index.rst | 54 + .../guzzlehttp/guzzle/docs/overview.rst | 161 ++ .../vendor/guzzlehttp/guzzle/docs/psr7.rst | 456 ++++++ .../guzzlehttp/guzzle/docs/quickstart.rst | 624 ++++++++ .../guzzle/docs/request-options.rst | 1085 +++++++++++++ .../guzzlehttp/guzzle/docs/requirements.txt | 2 + .../vendor/guzzlehttp/guzzle/docs/testing.rst | 196 +++ .../guzzlehttp/guzzle/phpstan-baseline.neon | 1352 +++++++++++++++++ .../guzzlehttp/guzzle/phpstan.neon.dist | 7 + .../vendor/guzzlehttp/guzzle/phpunit.xml.dist | 22 + .../guzzlehttp/guzzle/tests/ClientTest.php | 811 ++++++++++ .../guzzle/tests/Cookie/CookieJarTest.php | 449 ++++++ .../guzzle/tests/Cookie/FileCookieJarTest.php | 88 ++ .../tests/Cookie/SessionCookieJarTest.php | 92 ++ .../guzzle/tests/Cookie/SetCookieTest.php | 445 ++++++ .../tests/Exception/ConnectExceptionTest.php | 25 + .../tests/Exception/RequestExceptionTest.php | 195 +++ .../tests/Exception/SeekExceptionTest.php | 17 + .../guzzle/tests/Handler/CurlFactoryTest.php | 770 ++++++++++ .../guzzle/tests/Handler/CurlHandlerTest.php | 87 ++ .../tests/Handler/CurlMultiHandlerTest.php | 123 ++ .../guzzle/tests/Handler/EasyHandleTest.php | 23 + .../guzzle/tests/Handler/MockHandlerTest.php | 261 ++++ .../guzzle/tests/Handler/ProxyTest.php | 74 + .../tests/Handler/StreamHandlerTest.php | 689 +++++++++ .../guzzle/tests/HandlerStackTest.php | 214 +++ .../guzzle/tests/InternalUtilsTest.php | 21 + .../guzzle/tests/MessageFormatterTest.php | 93 ++ .../guzzle/tests/MiddlewareTest.php | 217 +++ .../guzzlehttp/guzzle/tests/PoolTest.php | 193 +++ .../tests/PrepareBodyMiddlewareTest.php | 155 ++ .../guzzle/tests/RedirectMiddlewareTest.php | 439 ++++++ .../guzzle/tests/RetryMiddlewareTest.php | 81 + .../vendor/guzzlehttp/guzzle/tests/Server.php | 174 +++ .../guzzle/tests/TransferStatsTest.php | 30 + .../guzzle/tests/UriTemplateTest.php | 202 +++ .../guzzlehttp/guzzle/tests/bootstrap.php | 39 + .../guzzlehttp/guzzle/tests/functionsTest.php | 139 ++ .../vendor/guzzlehttp/guzzle/tests/server.js | 250 +++ .../vendor/guzzlehttp/promises/CHANGELOG.md | 6 + .../vendor/guzzlehttp/promises/composer.json | 5 - .../vendor/guzzlehttp/promises/src/Each.php | 2 +- .../vendor/guzzlehttp/promises/src/Utils.php | 2 +- .../vendor/guzzlehttp/psr7/.editorconfig | 9 + .../vendor/guzzlehttp/psr7/.gitattributes | 7 + .../psr7/.github/workflows/.editorconfig | 2 + .../vendor/guzzlehttp/psr7/.travis.yml | 26 + .../vendor/guzzlehttp/psr7/Makefile | 29 + .../vendor/guzzlehttp/psr7/phpunit.xml.dist | 24 + .../psr7/tests/AppendStreamTest.php | 213 +++ .../vendor/guzzlehttp/psr7/tests/BaseTest.php | 139 ++ .../psr7/tests/BufferStreamTest.php | 63 + .../psr7/tests/CachingStreamTest.php | 212 +++ .../psr7/tests/DroppingStreamTest.php | 27 + .../guzzlehttp/psr7/tests/FnStreamTest.php | 98 ++ .../guzzlehttp/psr7/tests/HasToString.php | 11 + .../guzzlehttp/psr7/tests/HeaderTest.php | 68 + .../vendor/guzzlehttp/psr7/tests/Helpers.php | 35 + .../psr7/tests/InflateStreamTest.php | 51 + .../ServerRequestFromGlobalsTest.php | 45 + .../psr7/tests/Integration/server.php | 13 + .../psr7/tests/LazyOpenStreamTest.php | 71 + .../guzzlehttp/psr7/tests/LimitStreamTest.php | 166 ++ .../guzzlehttp/psr7/tests/MessageTest.php | 266 ++++ .../guzzlehttp/psr7/tests/MimeTypeTest.php | 22 + .../psr7/tests/MultipartStreamTest.php | 245 +++ .../psr7/tests/NoSeekStreamTest.php | 37 + .../guzzlehttp/psr7/tests/PumpStreamTest.php | 78 + .../guzzlehttp/psr7/tests/QueryTest.php | 98 ++ .../psr7/tests/ReadSeekOnlyStream.php | 23 + .../guzzlehttp/psr7/tests/RequestTest.php | 298 ++++ .../guzzlehttp/psr7/tests/ResponseTest.php | 384 +++++ .../psr7/tests/ServerRequestTest.php | 544 +++++++ .../psr7/tests/StreamDecoratorTraitTest.php | 147 ++ .../guzzlehttp/psr7/tests/StreamTest.php | 403 +++++ .../psr7/tests/StreamWrapperTest.php | 200 +++ .../psr7/tests/UploadedFileTest.php | 287 ++++ .../psr7/tests/UriComparatorTest.php | 42 + .../psr7/tests/UriNormalizerTest.php | 176 +++ .../guzzlehttp/psr7/tests/UriResolverTest.php | 204 +++ .../vendor/guzzlehttp/psr7/tests/UriTest.php | 710 +++++++++ .../guzzlehttp/psr7/tests/UtilsTest.php | 469 ++++++ .../w3-total-cache/w3-total-cache-api.php | 2 +- .../plugins/w3-total-cache/w3-total-cache.php | 2 +- 129 files changed, 17998 insertions(+), 186 deletions(-) create mode 100644 wp-content/plugins/w3-total-cache/PgCache_Page_View.js create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/guzzle/.editorconfig create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/guzzle/.gitattributes create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/guzzle/.github/CONTRIBUTING.md create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/guzzle/.github/ISSUE_TEMPLATE.md create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/guzzle/.github/ISSUE_TEMPLATE/bug_report.md create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/guzzle/.github/ISSUE_TEMPLATE/feature_request.md create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/guzzle/.github/ISSUE_TEMPLATE/security_issue.md create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/guzzle/.github/ISSUE_TEMPLATE/support_question.md create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/guzzle/.github/SUPPORT.md create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/guzzle/.github/workflows/bc.entrypoint create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/guzzle/.github/workflows/checks.yml create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/guzzle/.github/workflows/ci.yml create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/guzzle/Makefile create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/guzzle/build/Burgomaster.php create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/guzzle/build/packager.php create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/guzzle/docs/Makefile create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/guzzle/docs/_static/guzzle-icon.png create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/guzzle/docs/_static/logo.png create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/guzzle/docs/conf.py create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/guzzle/docs/faq.rst create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/guzzle/docs/handlers-and-middleware.rst create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/guzzle/docs/index.rst create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/guzzle/docs/overview.rst create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/guzzle/docs/psr7.rst create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/guzzle/docs/quickstart.rst create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/guzzle/docs/request-options.rst create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/guzzle/docs/requirements.txt create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/guzzle/docs/testing.rst create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/guzzle/phpstan-baseline.neon create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/guzzle/phpstan.neon.dist create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/guzzle/phpunit.xml.dist create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/guzzle/tests/ClientTest.php create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/guzzle/tests/Cookie/CookieJarTest.php create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/guzzle/tests/Cookie/FileCookieJarTest.php create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/guzzle/tests/Cookie/SessionCookieJarTest.php create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/guzzle/tests/Cookie/SetCookieTest.php create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/guzzle/tests/Exception/ConnectExceptionTest.php create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/guzzle/tests/Exception/RequestExceptionTest.php create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/guzzle/tests/Exception/SeekExceptionTest.php create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/guzzle/tests/Handler/CurlFactoryTest.php create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/guzzle/tests/Handler/CurlHandlerTest.php create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/guzzle/tests/Handler/CurlMultiHandlerTest.php create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/guzzle/tests/Handler/EasyHandleTest.php create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/guzzle/tests/Handler/MockHandlerTest.php create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/guzzle/tests/Handler/ProxyTest.php create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/guzzle/tests/Handler/StreamHandlerTest.php create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/guzzle/tests/HandlerStackTest.php create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/guzzle/tests/InternalUtilsTest.php create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/guzzle/tests/MessageFormatterTest.php create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/guzzle/tests/MiddlewareTest.php create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/guzzle/tests/PoolTest.php create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/guzzle/tests/PrepareBodyMiddlewareTest.php create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/guzzle/tests/RedirectMiddlewareTest.php create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/guzzle/tests/RetryMiddlewareTest.php create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/guzzle/tests/Server.php create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/guzzle/tests/TransferStatsTest.php create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/guzzle/tests/UriTemplateTest.php create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/guzzle/tests/bootstrap.php create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/guzzle/tests/functionsTest.php create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/guzzle/tests/server.js create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/psr7/.editorconfig create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/psr7/.gitattributes create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/psr7/.github/workflows/.editorconfig create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/psr7/.travis.yml create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/psr7/Makefile create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/psr7/phpunit.xml.dist create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/psr7/tests/AppendStreamTest.php create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/psr7/tests/BaseTest.php create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/psr7/tests/BufferStreamTest.php create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/psr7/tests/CachingStreamTest.php create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/psr7/tests/DroppingStreamTest.php create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/psr7/tests/FnStreamTest.php create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/psr7/tests/HasToString.php create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/psr7/tests/HeaderTest.php create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/psr7/tests/Helpers.php create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/psr7/tests/InflateStreamTest.php create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/psr7/tests/Integration/ServerRequestFromGlobalsTest.php create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/psr7/tests/Integration/server.php create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/psr7/tests/LazyOpenStreamTest.php create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/psr7/tests/LimitStreamTest.php create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/psr7/tests/MessageTest.php create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/psr7/tests/MimeTypeTest.php create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/psr7/tests/MultipartStreamTest.php create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/psr7/tests/NoSeekStreamTest.php create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/psr7/tests/PumpStreamTest.php create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/psr7/tests/QueryTest.php create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/psr7/tests/ReadSeekOnlyStream.php create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/psr7/tests/RequestTest.php create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/psr7/tests/ResponseTest.php create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/psr7/tests/ServerRequestTest.php create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/psr7/tests/StreamDecoratorTraitTest.php create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/psr7/tests/StreamTest.php create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/psr7/tests/StreamWrapperTest.php create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/psr7/tests/UploadedFileTest.php create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/psr7/tests/UriComparatorTest.php create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/psr7/tests/UriNormalizerTest.php create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/psr7/tests/UriResolverTest.php create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/psr7/tests/UriTest.php create mode 100644 wp-content/plugins/w3-total-cache/vendor/guzzlehttp/psr7/tests/UtilsTest.php diff --git a/wp-content/plugins/w3-total-cache/ConfigKeys.php b/wp-content/plugins/w3-total-cache/ConfigKeys.php index 1fa5f6e3..698dd0ba 100644 --- a/wp-content/plugins/w3-total-cache/ConfigKeys.php +++ b/wp-content/plugins/w3-total-cache/ConfigKeys.php @@ -531,7 +531,11 @@ $keys = array( ), 'pgcache.accept.qs' => array( 'type' => 'array', - 'default' => array() + 'default' => \W3TC\PgCache_QsExempts::get_qs_exempts() + ), + 'pgcache.migrated.qsexempts' => array( + 'type' => 'integer', + 'default' => 0 ), 'pgcache.late_init' => array( 'type' => 'boolean', diff --git a/wp-content/plugins/w3-total-cache/Extension_FragmentCache_Page_View.php b/wp-content/plugins/w3-total-cache/Extension_FragmentCache_Page_View.php index 7feedca8..4995be0c 100644 --- a/wp-content/plugins/w3-total-cache/Extension_FragmentCache_Page_View.php +++ b/wp-content/plugins/w3-total-cache/Extension_FragmentCache_Page_View.php @@ -71,7 +71,7 @@ $engine = $config->get_string( array( 'fragmentcache', 'engine' ) ); diff --git a/wp-content/plugins/w3-total-cache/Extension_FragmentCache_Plugin.php b/wp-content/plugins/w3-total-cache/Extension_FragmentCache_Plugin.php index 5281cd08..dd4bcdaf 100644 --- a/wp-content/plugins/w3-total-cache/Extension_FragmentCache_Plugin.php +++ b/wp-content/plugins/w3-total-cache/Extension_FragmentCache_Plugin.php @@ -6,6 +6,7 @@ namespace W3TC; */ class Extension_FragmentCache_Plugin { private $_config = null; + private $_core = null; function __construct() { $this->_config = Dispatcher::config(); diff --git a/wp-content/plugins/w3-total-cache/Generic_AdminActions_Default.php b/wp-content/plugins/w3-total-cache/Generic_AdminActions_Default.php index f14c24fe..89fc3974 100644 --- a/wp-content/plugins/w3-total-cache/Generic_AdminActions_Default.php +++ b/wp-content/plugins/w3-total-cache/Generic_AdminActions_Default.php @@ -273,6 +273,37 @@ class Generic_AdminActions_Default { } } + /** + * Page Cache tab + */ + if ( 'w3tc_pgcache' === $this->_page ) { + // Textarea settings. + $settings = array( + 'pgcache.mirrors.home_urls', + 'pgcache.purge.pages', + 'pgcache.accept.qs', + 'pgcache.reject.ua', + 'pgcache.reject.cookie', + 'pgcache.reject.uri', + 'pgcache.reject.categories', + 'pgcache.reject.tags', + 'pgcache.reject.authors', + 'pgcache.reject.custom', + 'pgcache.accept.files', + 'pgcache.accept.uri', + 'pgcache.cache.headers', + ); + // Remove empty lines, trim values, and sort. + foreach ( $settings as $setting ) { + $setting_array = $config->get_array( $setting ); + if ( ! empty( $setting_array ) && is_array( $setting_array ) ) { + $values = array_filter( array_map( 'trim', $setting_array ), 'strlen' ); + sort( $values ); + $config->set( $setting, $values ); + } + } + } + /** * Minify tab */ diff --git a/wp-content/plugins/w3-total-cache/Generic_Plugin_Admin.php b/wp-content/plugins/w3-total-cache/Generic_Plugin_Admin.php index 61c63cb2..1f199703 100644 --- a/wp-content/plugins/w3-total-cache/Generic_Plugin_Admin.php +++ b/wp-content/plugins/w3-total-cache/Generic_Plugin_Admin.php @@ -399,6 +399,8 @@ class Generic_Plugin_Admin { /** * Define icon styles for the custom post type. + * + * @throws \Exception Exception. */ public function admin_head() { global $wp_version; @@ -407,14 +409,27 @@ class Generic_Plugin_Admin { $page = Util_Request::get_string( 'page', null ); if ( ( ! is_multisite() || is_super_admin() ) && false !== strpos( $page, 'w3tc' ) && 'w3tc_setup_guide' !== $page && ! get_site_option( 'w3tc_setupguide_completed' ) ) { - $config = new Config(); $state_master = Dispatcher::config_state_master(); - if ( ! $config->get_boolean( 'pgcache.enabled' ) && $state_master->get_integer( 'common.install' ) > strtotime( 'NOW - 1 WEEK' ) ) { + if ( ! $this->_config->get_boolean( 'pgcache.enabled' ) && $state_master->get_integer( 'common.install' ) > strtotime( 'NOW - 1 WEEK' ) ) { wp_safe_redirect( esc_url( network_admin_url( 'admin.php?page=w3tc_setup_guide' ) ) ); } } + if ( empty( $this->_config->get_integer( 'pgcache.migrated.qsexempts' ) ) ) { + $pgcache_accept_qs = array_unique( array_merge( $this->_config->get_array( 'pgcache.accept.qs' ), PgCache_QsExempts::get_qs_exempts() ) ); + sort( $pgcache_accept_qs ); + $this->_config->set( 'pgcache.accept.qs', $pgcache_accept_qs ); + $this->_config->set( 'pgcache.migrated.qsexempts', time() ); + + // Save the config if the environment is ready; filesystem needs to be writable. + try { + $this->_config->save(); + } catch ( \Exception $e ) { + $this->_config->set( 'pgcache.migrated.qsexempts', null ); + } + } + if ( 'w3tc_dashboard' === $page ) { ?>