Version Description
- Fixed PHP warning when Redis integration not configured correctly
- Fixed 404 in multisite caused by subdirectory issue
- Fixed object cache issue in multisite where object cache was cleared at wrong time
- Fixed database cluster in WordPress 5.1
- Fixed warning caused by user agent theme change used
- Fixed minification in multisite when URLs were set to root-blog based url
- Fixed undefined w3tc_ga issue
- Improved purging of current page by using post_id instead of URL
- Improved cache delivery of /feed URLs
- Improved security on calls to opcache flush
- Improved minification of files in environments running on non-default ports
Download this release
Release Info
Developer | fredericktownes |
Plugin | W3 Total Cache |
Version | 0.9.7.4 |
Comparing to | |
See all releases |
Code changes from version 0.9.7.3 to 0.9.7.4
- Base_Page_Settings.php +0 -0
- BrowserCache_ConfigLabels.php +0 -0
- BrowserCache_Core.php +0 -0
- BrowserCache_Environment.php +0 -0
- BrowserCache_Page.php +0 -0
- BrowserCache_Plugin.php +0 -0
- BrowserCache_Plugin_Admin.php +0 -0
- Cache.php +0 -0
- CacheFlush.php +0 -10
- CacheFlush_Locally.php +0 -11
- Cache_Apc.php +0 -0
- Cache_Apcu.php +0 -0
- Cache_Base.php +0 -0
- Cache_Eaccelerator.php +0 -0
- Cache_File.php +0 -0
- Cache_File_Cleaner.php +0 -0
- Cache_File_Cleaner_Generic.php +0 -0
- Cache_File_Generic.php +6 -1
- Cache_Memcache.php +0 -0
- Cache_Memcached.php +0 -0
- Cache_Memcached_Stats.php +0 -0
- Cache_Redis.php +4 -2
- Cache_Wincache.php +0 -0
- Cache_Xcache.php +0 -0
- CdnEngine.php +0 -0
- CdnEngine_Azure.php +0 -0
- CdnEngine_Base.php +0 -0
- CdnEngine_Ftp.php +0 -0
- CdnEngine_GoogleDrive.php +0 -0
- CdnEngine_Mirror.php +0 -0
- CdnEngine_Mirror_Akamai.php +0 -0
- CdnEngine_Mirror_Att.php +0 -0
- CdnEngine_Mirror_Cotendo.php +0 -0
- CdnEngine_Mirror_Edgecast.php +0 -0
- CdnEngine_Mirror_Highwinds.php +0 -0
- CdnEngine_Mirror_MaxCdn.php +0 -0
- CdnEngine_Mirror_RackSpaceCdn.php +0 -0
- CdnEngine_RackSpaceCloudFiles.php +0 -0
- CdnEngine_S3.php +0 -0
- CdnEngine_S3_Cf.php +0 -0
- CdnEngine_S3_Cf_Custom.php +0 -0
- CdnEngine_S3_Cf_S3.php +0 -0
- CdnEngine_S3_Compatible.php +0 -0
- Cdn_AdminActions.php +0 -0
- Cdn_AdminNotes.php +0 -0
- Cdn_CacheFlush.php +0 -0
- Cdn_ConfigLabels.php +0 -0
- Cdn_Core.php +10 -2
- Cdn_Core_Admin.php +0 -0
- Cdn_Environment.php +0 -0
- Cdn_GeneralPage_View.php +0 -0
- Cdn_GoogleDrive_AdminActions.php +0 -0
- Cdn_GoogleDrive_Page.php +0 -0
- Cdn_GoogleDrive_Page_View.js +0 -0
- Cdn_GoogleDrive_Page_View.php +0 -0
- Cdn_GoogleDrive_Popup_AuthReturn.php +0 -0
- Cdn_GoogleDrive_Popup_AuthReturn_View.php +0 -0
- Cdn_Highwinds_Api.php +0 -0
- Cdn_Highwinds_Page.php +0 -0
- Cdn_Highwinds_Page_View.js +0 -0
- Cdn_Highwinds_Page_View.php +0 -0
- Cdn_Highwinds_Popup.php +0 -0
- Cdn_Highwinds_Popup_View_ConfigureCnamesForm.php +0 -0
- Cdn_Highwinds_Popup_View_Intro.php +0 -0
- Cdn_Highwinds_Popup_View_SelectHost.php +0 -0
- Cdn_Highwinds_Widget.php +0 -0
- Cdn_Highwinds_Widget_View.css +0 -0
- Cdn_Highwinds_Widget_View.js +0 -0
- Cdn_Highwinds_Widget_View.php +0 -0
- Cdn_Highwinds_Widget_View_NotConfigured.php +0 -0
- Cdn_Page.php +0 -0
- Cdn_Page_View_Fsd_HeaderActions.php +0 -0
- Cdn_Page_View_Header.php +0 -0
- Cdn_Plugin.php +0 -0
- Cdn_Plugin_Admin.php +0 -0
- Cdn_Plugin_WidgetMaxCdn.php +0 -0
- Cdn_RackSpaceCdn_AdminActions.php +0 -0
- Cdn_RackSpaceCdn_Page.php +0 -0
- Cdn_RackSpaceCdn_Page_View.js +0 -0
- Cdn_RackSpaceCdn_Page_View.php +0 -0
- Cdn_RackSpaceCdn_Popup.php +0 -0
- Cdn_RackSpaceCdn_Popup_View_ConfigureDomains.php +0 -0
- Cdn_RackSpaceCdn_Popup_View_Intro.php +0 -0
- Cdn_RackSpaceCdn_Popup_View_Regions.php +0 -0
- Cdn_RackSpaceCdn_Popup_View_Service_Actualize.php +0 -0
- Cdn_RackSpaceCdn_Popup_View_Service_Create.php +0 -0
- Cdn_RackSpaceCdn_Popup_View_Service_Created.php +0 -0
- Cdn_RackSpaceCdn_Popup_View_Services.php +0 -0
- Cdn_RackSpaceCloudFiles_Page.php +0 -0
- Cdn_RackSpaceCloudFiles_Page_View.js +0 -0
- Cdn_RackSpaceCloudFiles_Page_View.php +0 -0
- Cdn_RackSpaceCloudFiles_Popup.php +0 -0
- Cdn_RackSpaceCloudFiles_Popup_View_Containers.php +0 -0
- Cdn_RackSpaceCloudFiles_Popup_View_Intro.php +0 -0
- Cdn_RackSpaceCloudFiles_Popup_View_Regions.php +0 -0
- Cdn_RackSpace_Api_CaCert-example.pem +0 -0
- Cdn_RackSpace_Api_Cdn.php +0 -0
- Cdn_RackSpace_Api_CloudFiles.php +0 -0
- Cdn_RackSpace_Api_CloudFilesCdn.php +0 -0
- Cdn_RackSpace_Api_Tokens.php +0 -0
- Cdn_Util.php +0 -0
- Cli.php +1 -44
- Config.php +0 -0
- ConfigCompiler.php +0 -0
- ConfigKeys.php +0 -0
- ConfigState.php +0 -0
- ConfigStateNote.php +0 -0
- DbCache_ConfigLabels.php +0 -0
- DbCache_Core.php +0 -0
- DbCache_Environment.php +0 -0
- DbCache_Page.php +0 -0
- DbCache_Plugin.php +0 -0
- DbCache_Plugin_Admin.php +0 -0
- DbCache_Wpdb.php +78 -39
- DbCache_WpdbBase.php +0 -0
- DbCache_WpdbInjection.php +8 -0
- DbCache_WpdbInjection_QueryCaching.php +10 -6
- Dispatcher.php +0 -0
- Enterprise_CacheFlush_MakeSnsEvent.php +0 -12
- Enterprise_Dbcache_WpdbInjection_Cluster.php +20 -9
- Enterprise_SnsBase.php +0 -0
- Enterprise_SnsServer.php +0 -2
- Extension_Amp_Plugin.php +0 -0
- Extension_Amp_Plugin_Admin.php +0 -0
- Extension_CloudFlare_AdminActions.php +0 -0
- Extension_CloudFlare_Api.php +0 -0
- Extension_CloudFlare_GeneralPage_View.php +0 -0
- Extension_CloudFlare_Page.php +0 -0
- Extension_CloudFlare_Page_View.js +0 -0
- Extension_CloudFlare_Page_View.php +0 -0
- Extension_CloudFlare_Plugin.php +0 -0
- Extension_CloudFlare_Plugin_Admin.php +0 -0
- Extension_CloudFlare_Popup.php +0 -0
- Extension_CloudFlare_Popup_View_Intro.php +0 -0
- Extension_CloudFlare_Popup_View_Zones.php +0 -0
- Extension_CloudFlare_SettingsForUi.php +0 -0
- Extension_CloudFlare_View_Comments.css +0 -0
- Extension_CloudFlare_View_Comments.js +0 -0
- Extension_CloudFlare_View_Dashboard.js +0 -0
- Extension_CloudFlare_Widget.php +0 -0
- Extension_CloudFlare_Widget_Logo.png +0 -0
- Extension_CloudFlare_Widget_View.css +0 -0
- Extension_CloudFlare_Widget_View.php +0 -0
- Extension_FeedBurner_Environment.php +0 -0
- Extension_FeedBurner_Page.php +0 -0
- Extension_FeedBurner_Page_View.php +0 -0
- Extension_FeedBurner_Plugin.php +0 -0
- Extension_FeedBurner_Plugin_Admin.php +0 -0
- Extension_FragmentCache_Api.php +0 -0
- Extension_FragmentCache_Core.php +0 -0
- Extension_FragmentCache_Environment.php +0 -0
- Extension_FragmentCache_GeneralPage.php +0 -0
- Extension_FragmentCache_GeneralPage_View.php +0 -0
- Extension_FragmentCache_Page.php +0 -0
- Extension_FragmentCache_Page_View.php +0 -0
- Extension_FragmentCache_Plugin.php +0 -0
- Extension_FragmentCache_Plugin_Admin.php +0 -0
- Extension_FragmentCache_WpObjectCache.php +1 -3
- Extension_Genesis_Page.php +0 -0
- Extension_Genesis_Page_View.php +0 -0
- Extension_Genesis_Plugin.php +0 -0
- Extension_Genesis_Plugin_Admin.php +0 -0
- Extension_NewRelic_AdminActions.php +0 -0
- Extension_NewRelic_AdminNotes.php +0 -0
- Extension_NewRelic_Api.php +0 -0
- Extension_NewRelic_Core.php +0 -0
- Extension_NewRelic_GeneralPage.php +0 -0
- Extension_NewRelic_GeneralPage_View.php +0 -0
- Extension_NewRelic_Page.php +0 -0
- Extension_NewRelic_Page_View_Apm.php +0 -0
- Extension_NewRelic_Plugin.php +0 -0
- Extension_NewRelic_Plugin_Admin.php +0 -0
- Extension_NewRelic_Popup.php +0 -0
- Extension_NewRelic_Popup_View.js +0 -0
- Extension_NewRelic_Popup_View_Intro.php +0 -0
- Extension_NewRelic_Popup_View_ListApplications.php +0 -0
- Extension_NewRelic_Service.php +0 -0
- Extension_NewRelic_Widget.php +0 -0
- Extension_NewRelic_Widget_View.css +0 -0
- Extension_NewRelic_Widget_View.js +0 -0
- Extension_NewRelic_Widget_View_Apm.php +0 -0
- Extension_NewRelic_Widget_View_Browser.php +0 -0
- Extension_NewRelic_Widget_View_NotConfigured.php +0 -0
- Extension_WordPressSeo_Plugin.php +0 -0
- Extension_WordPressSeo_Plugin_Admin.php +0 -0
- Extension_Wpml_Plugin.php +0 -0
- Extension_Wpml_Plugin_Admin.php +0 -0
- Extensions_AdminActions.php +0 -0
- Extensions_Page.php +0 -0
- Extensions_Plugin_Admin.php +0 -0
- Extensions_Util.php +0 -0
- Generic_AdminActions_Config.php +0 -0
- Generic_AdminActions_Default.php +0 -0
- Generic_AdminActions_Flush.php +4 -1
- Generic_AdminActions_Test.php +0 -0
- Generic_AdminLinks.php +0 -0
- Generic_AdminNotes.php +0 -0
- Generic_ConfigLabels.php +0 -0
- Generic_Environment.php +0 -0
- Generic_Faq.php +0 -0
- Generic_GeneralPage_View_ShowEdge.js +0 -0
- Generic_GeneralPage_View_ShowSupportUs.js +0 -0
- Generic_Page_About.php +0 -0
- Generic_Page_Dashboard.php +0 -0
- Generic_Page_Dashboard_View.css +0 -0
- Generic_Page_General.php +0 -0
- Generic_Page_Install.php +0 -0
- Generic_Plugin.php +2 -2
- Generic_Plugin_Admin.php +90 -88
- Generic_Plugin_AdminCompatibility.php +0 -0
- Generic_Plugin_AdminNotifications.php +0 -0
- Generic_Plugin_AdminRowActions.php +0 -0
- Generic_Plugin_WidgetForum.php +0 -0
- Generic_Plugin_WidgetNews.php +0 -0
- Generic_WidgetServices.php +0 -0
- Generic_WidgetServices_View.php +0 -0
- Generic_WidgetSpreadTheWord.js +0 -0
- Generic_WidgetSpreadTheWord_Plugin.php +0 -0
- Generic_WidgetSpreadTheWord_View.php +0 -0
- Licensing_AdminActions.php +0 -0
- Licensing_Core.php +0 -0
- Licensing_Plugin_Admin.php +0 -0
- Minify_ConfigLabels.php +0 -0
- Minify_ContentMinifier.php +0 -0
- Minify_Core.php +0 -0
- Minify_Environment.php +0 -0
- Minify_Extract.php +0 -0
- Minify_GeneralPage_View_ShowHelp.js +0 -0
- Minify_GeneralPage_View_ShowHelpForce.js +0 -0
- Minify_HelpPopup_View.php +0 -0
- Minify_MinifiedFileRequestHandler.php +0 -0
- Minify_Page.php +0 -0
- Minify_Plugin.php +10 -4
- Minify_Plugin_Admin.php +0 -0
- Mobile_Base.php +2 -3
- Mobile_Page_ReferrerGroups.php +0 -0
- Mobile_Page_UserAgentGroups.php +0 -0
- Mobile_Redirect.php +0 -0
- Mobile_Referrer.php +0 -0
- Mobile_UserAgent.php +0 -0
- ModuleStatus.php +0 -0
- ObjectCache_ConfigLabels.php +0 -0
- ObjectCache_Environment.php +0 -0
- ObjectCache_Page.php +0 -0
- ObjectCache_Plugin.php +0 -0
- ObjectCache_Plugin_Admin.php +0 -0
- ObjectCache_WpObjectCache.php +0 -0
- ObjectCache_WpObjectCache_Regular.php +1 -3
- PageSpeed_Api.php +0 -0
- PageSpeed_Plugin_Widget.php +0 -0
- PageSpeed_Widget_View.css +0 -0
- PageSpeed_Widget_View.js +0 -0
- PageSpeed_Widget_View.php +0 -0
- PageSpeed_Widget_View_NotConfigured.php +0 -0
- PgCache_ConfigLabels.php +0 -0
- PgCache_ContentGrabber.php +0 -0
- PgCache_Environment.php +21 -18
- PgCache_Flush.php +0 -0
- PgCache_Page.php +0 -0
- PgCache_Plugin.php +0 -0
- PgCache_Plugin_Admin.php +0 -0
- README.md +14 -0
- Root_AdminActions.php +0 -0
- Root_AdminActivation.php +0 -0
- Root_AdminMenu.php +0 -0
- Root_Environment.php +0 -0
- Root_Loader.php +0 -0
- Support_AdminActions.php +0 -0
- Support_Page.php +0 -0
- Support_Page_View_DoneContent.php +0 -0
- Support_Page_View_PageContent.php +0 -0
- SystemOpCache_AdminActions.php +0 -0
- SystemOpCache_Core.php +0 -0
- SystemOpCache_GeneralPage_View.php +0 -0
- SystemOpCache_Plugin_Admin.php +0 -0
- UsageStatistics_Core.php +0 -0
- UsageStatistics_Plugin.php +0 -0
- UsageStatistics_Plugin_Admin.php +0 -0
- UsageStatistics_StorageReader.php +0 -0
- UsageStatistics_StorageWriter.php +0 -0
- UsageStatistics_View_General.php +0 -0
- UsageStatistics_Widget.php +0 -0
- UsageStatistics_Widget_View.css +0 -0
- UsageStatistics_Widget_View.js +0 -0
- UsageStatistics_Widget_View.php +0 -0
- UsageStatistics_Widget_View_Disabled.php +0 -0
- Util_Activation.php +0 -0
- Util_Admin.php +0 -0
- Util_AttachToActions.php +0 -0
- Util_Bus.php +0 -0
- Util_ConfigLabel.php +0 -0
- Util_Content.php +0 -0
- Util_Debug.php +0 -0
- Util_Environment.php +16 -11
- Util_Environment_Exception.php +0 -0
- Util_Environment_Exceptions.php +0 -0
- Util_File.php +0 -0
- Util_Http.php +0 -0
- Util_Installed.php +0 -0
- Util_Mime.php +0 -0
- Util_PageUrls.php +0 -0
- Util_Request.php +0 -0
- Util_Rule.php +0 -0
- Util_RuleSnippet.php +0 -0
- Util_Theme.php +0 -0
- Util_Ui.php +0 -0
- Util_UsageStatistics.php +0 -0
- Util_Widget.php +0 -0
- Util_WpFile.php +0 -0
- Util_WpFile_FilesystemChmodException.php +0 -0
- Util_WpFile_FilesystemCopyException.php +0 -0
- Util_WpFile_FilesystemMkdirException.php +0 -0
- Util_WpFile_FilesystemModifyException.php +0 -0
- Util_WpFile_FilesystemOperationException.php +0 -0
- Util_WpFile_FilesystemRmException.php +0 -0
- Util_WpFile_FilesystemRmdirException.php +0 -0
- Util_WpFile_FilesystemWriteException.php +0 -0
- Util_WpmuBlogmap.php +0 -0
- Varnish_Flush.php +0 -0
- Varnish_Plugin.php +0 -0
- extension-example/Extension_Example.php +0 -0
- extension-example/Extension_Example_Admin.php +0 -0
- extension-example/Extension_Example_Page_View.php +0 -0
- extension-example/w3-total-cache-example.php +0 -0
- inc/options/cdn/akamai.php +0 -0
- inc/options/cdn/att.php +0 -0
- inc/options/cdn/common/cnames-readonly.php +0 -0
- inc/options/cdn/s3_compatible.php +0 -0
- inc/options/dashboard.php +0 -0
- inc/options/enterprise/dbcluster-config.php +0 -0
- inc/options/enterprise/dbcluster_general_section.php +0 -0
- inc/options/minify/googleccjs2.php +0 -0
- inc/options/parts/memcached.php +0 -0
- inc/options/parts/memcached_extension.php +0 -0
- inc/options/parts/redis.php +0 -0
- inc/options/parts/redis_extension.php +0 -0
- inc/widget/latest_news.php +0 -0
- inc/widget/latest_news_ajax.php +0 -0
- inc/widget/latest_news_control.php +0 -0
- ini/dbcluster-config-sample.php +0 -0
- ini/nginx-network-sample-config.conf +0 -0
- ini/nginx-standalone-sample-config.conf +0 -0
- ini/opcache.ini +0 -0
- ini/s3-sample-policy.txt +0 -0
- ini/varnish-sample-config.vcl +0 -0
- lib/Azure/GuzzleHttp/Client.php +0 -0
- lib/Azure/GuzzleHttp/ClientInterface.php +0 -0
- lib/Azure/GuzzleHttp/Cookie/CookieJar.php +0 -0
- lib/Azure/GuzzleHttp/Cookie/CookieJarInterface.php +0 -0
- lib/Azure/GuzzleHttp/Cookie/FileCookieJar.php +0 -0
- lib/Azure/GuzzleHttp/Cookie/SessionCookieJar.php +0 -0
- lib/Azure/GuzzleHttp/Cookie/SetCookie.php +0 -0
- lib/Azure/GuzzleHttp/Exception/BadResponseException.php +0 -0
- lib/Azure/GuzzleHttp/Exception/ClientException.php +0 -0
- lib/Azure/GuzzleHttp/Exception/ConnectException.php +0 -0
- lib/Azure/GuzzleHttp/Exception/GuzzleException.php +0 -0
- lib/Azure/GuzzleHttp/Exception/RequestException.php +0 -0
- lib/Azure/GuzzleHttp/Exception/SeekException.php +0 -0
- lib/Azure/GuzzleHttp/Exception/ServerException.php +0 -0
- lib/Azure/GuzzleHttp/Exception/TooManyRedirectsException.php +0 -0
- lib/Azure/GuzzleHttp/Exception/TransferException.php +0 -0
- lib/Azure/GuzzleHttp/Handler/CurlFactory.php +0 -0
- lib/Azure/GuzzleHttp/Handler/CurlFactoryInterface.php +0 -0
- lib/Azure/GuzzleHttp/Handler/CurlHandler.php +0 -0
- lib/Azure/GuzzleHttp/Handler/CurlMultiHandler.php +0 -0
- lib/Azure/GuzzleHttp/Handler/EasyHandle.php +0 -0
- lib/Azure/GuzzleHttp/Handler/MockHandler.php +0 -0
- lib/Azure/GuzzleHttp/Handler/Proxy.php +0 -0
- lib/Azure/GuzzleHttp/Handler/StreamHandler.php +0 -0
- lib/Azure/GuzzleHttp/HandlerStack.php +0 -0
- lib/Azure/GuzzleHttp/MessageFormatter.php +0 -0
- lib/Azure/GuzzleHttp/Middleware.php +0 -0
- lib/Azure/GuzzleHttp/Pool.php +0 -0
- lib/Azure/GuzzleHttp/PrepareBodyMiddleware.php +0 -0
- lib/Azure/GuzzleHttp/Promise/AggregateException.php +0 -0
- lib/Azure/GuzzleHttp/Promise/CancellationException.php +0 -0
- lib/Azure/GuzzleHttp/Promise/Coroutine.php +0 -0
- lib/Azure/GuzzleHttp/Promise/EachPromise.php +0 -0
- lib/Azure/GuzzleHttp/Promise/FulfilledPromise.php +0 -0
- lib/Azure/GuzzleHttp/Promise/Promise.php +0 -0
- lib/Azure/GuzzleHttp/Promise/PromiseInterface.php +0 -0
- lib/Azure/GuzzleHttp/Promise/PromisorInterface.php +0 -0
- lib/Azure/GuzzleHttp/Promise/RejectedPromise.php +0 -0
- lib/Azure/GuzzleHttp/Promise/RejectionException.php +0 -0
- lib/Azure/GuzzleHttp/Promise/TaskQueue.php +0 -0
- lib/Azure/GuzzleHttp/Promise/TaskQueueInterface.php +0 -0
- lib/Azure/GuzzleHttp/Promise/functions.php +0 -0
- lib/Azure/GuzzleHttp/Promise/functions_include.php +0 -0
- lib/Azure/GuzzleHttp/Psr7/AppendStream.php +0 -0
- lib/Azure/GuzzleHttp/Psr7/BufferStream.php +0 -0
- lib/Azure/GuzzleHttp/Psr7/CachingStream.php +0 -0
- lib/Azure/GuzzleHttp/Psr7/DroppingStream.php +0 -0
- lib/Azure/GuzzleHttp/Psr7/FnStream.php +0 -0
- lib/Azure/GuzzleHttp/Psr7/InflateStream.php +0 -0
- lib/Azure/GuzzleHttp/Psr7/LazyOpenStream.php +0 -0
- lib/Azure/GuzzleHttp/Psr7/LimitStream.php +0 -0
- lib/Azure/GuzzleHttp/Psr7/MessageTrait.php +0 -0
- lib/Azure/GuzzleHttp/Psr7/MultipartStream.php +0 -0
- lib/Azure/GuzzleHttp/Psr7/NoSeekStream.php +0 -0
- lib/Azure/GuzzleHttp/Psr7/PumpStream.php +0 -0
- lib/Azure/GuzzleHttp/Psr7/Request.php +0 -0
- lib/Azure/GuzzleHttp/Psr7/Response.php +0 -0
- lib/Azure/GuzzleHttp/Psr7/ServerRequest.php +0 -0
- lib/Azure/GuzzleHttp/Psr7/Stream.php +0 -0
- lib/Azure/GuzzleHttp/Psr7/StreamDecoratorTrait.php +0 -0
- lib/Azure/GuzzleHttp/Psr7/StreamWrapper.php +0 -0
- lib/Azure/GuzzleHttp/Psr7/UploadedFile.php +0 -0
- lib/Azure/GuzzleHttp/Psr7/Uri.php +0 -0
- lib/Azure/GuzzleHttp/Psr7/functions.php +0 -0
- lib/Azure/GuzzleHttp/Psr7/functions_include.php +0 -0
- lib/Azure/GuzzleHttp/RedirectMiddleware.php +0 -0
- lib/Azure/GuzzleHttp/RequestOptions.php +0 -0
- lib/Azure/GuzzleHttp/RetryMiddleware.php +0 -0
- lib/Azure/GuzzleHttp/TransferStats.php +0 -0
- lib/Azure/GuzzleHttp/UriTemplate.php +0 -0
- lib/Azure/GuzzleHttp/functions.php +0 -0
- lib/Azure/GuzzleHttp/functions_include.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Blob/BlobRestProxy.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Blob/Internal/IBlob.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Blob/Models/AccessCondition.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Blob/Models/AccessPolicy.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Blob/Models/AcquireLeaseOptions.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Blob/Models/AcquireLeaseResult.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Blob/Models/Blob.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Blob/Models/BlobBlockType.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Blob/Models/BlobPrefix.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Blob/Models/BlobProperties.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Blob/Models/BlobServiceOptions.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Blob/Models/BlobType.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Blob/Models/Block.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Blob/Models/BlockList.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Blob/Models/BreakLeaseResult.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Blob/Models/CommitBlobBlocksOptions.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Blob/Models/Container.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Blob/Models/ContainerACL.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Blob/Models/ContainerProperties.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Blob/Models/CopyBlobOptions.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Blob/Models/CopyBlobResult.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Blob/Models/CreateBlobBlockOptions.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Blob/Models/CreateBlobOptions.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Blob/Models/CreateBlobPagesOptions.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Blob/Models/CreateBlobPagesResult.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Blob/Models/CreateBlobSnapshotOptions.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Blob/Models/CreateBlobSnapshotResult.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Blob/Models/CreateContainerOptions.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Blob/Models/DeleteBlobOptions.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Blob/Models/DeleteContainerOptions.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Blob/Models/GetBlobMetadataOptions.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Blob/Models/GetBlobMetadataResult.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Blob/Models/GetBlobOptions.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Blob/Models/GetBlobPropertiesOptions.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Blob/Models/GetBlobPropertiesResult.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Blob/Models/GetBlobResult.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Blob/Models/GetContainerACLResult.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Blob/Models/GetContainerPropertiesResult.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Blob/Models/LeaseMode.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Blob/Models/ListBlobBlocksOptions.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Blob/Models/ListBlobBlocksResult.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Blob/Models/ListBlobsOptions.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Blob/Models/ListBlobsResult.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Blob/Models/ListContainersOptions.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Blob/Models/ListContainersResult.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Blob/Models/ListPageBlobRangesOptions.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Blob/Models/ListPageBlobRangesResult.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Blob/Models/PageRange.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Blob/Models/PageWriteOption.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Blob/Models/PublicAccessType.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Blob/Models/SetBlobMetadataOptions.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Blob/Models/SetBlobMetadataResult.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Blob/Models/SetBlobPropertiesOptions.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Blob/Models/SetBlobPropertiesResult.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Blob/Models/SetContainerMetadataOptions.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Blob/Models/SignedIdentifier.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Common/CloudConfigurationManager.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Common/Internal/Authentication/IAuthScheme.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Common/Internal/Authentication/SharedKeyAuthScheme.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Common/Internal/Authentication/StorageAuthScheme.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Common/Internal/Authentication/TableSharedKeyLiteAuthScheme.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Common/Internal/ConnectionStringParser.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Common/Internal/ConnectionStringSource.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Common/Internal/FilterableService.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Common/Internal/Filters/AuthenticationFilter.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Common/Internal/Filters/DateFilter.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Common/Internal/Filters/ExponentialRetryPolicy.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Common/Internal/Filters/HeadersFilter.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Common/Internal/Filters/RetryPolicy.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Common/Internal/Filters/RetryPolicyFilter.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Common/Internal/Http/HttpCallContext.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Common/Internal/HttpFormatter.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Common/Internal/IServiceFilter.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Common/Internal/InvalidArgumentTypeException.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Common/Internal/Logger.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Common/Internal/Resources.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Common/Internal/RestProxy.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Common/Internal/RetryMiddlewareFactory.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Common/Internal/Serialization/ISerializer.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Common/Internal/Serialization/JsonSerializer.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Common/Internal/Serialization/XmlSerializer.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Common/Internal/ServiceRestProxy.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Common/Internal/ServiceSettings.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Common/Internal/StorageServiceSettings.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Common/Internal/Utilities.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Common/Internal/Validate.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Common/Models/GetServicePropertiesResult.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Common/Models/Logging.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Common/Models/Metrics.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Common/Models/RetentionPolicy.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Common/Models/ServiceProperties.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Common/ServiceException.php +0 -0
- lib/Azure/MicrosoftAzureStorage/Common/ServicesBuilder.php +0 -0
- lib/Azure/PsrHttpMessage/MessageInterface.php +0 -0
- lib/Azure/PsrHttpMessage/RequestInterface.php +0 -0
- lib/Azure/PsrHttpMessage/ResponseInterface.php +0 -0
- lib/Azure/PsrHttpMessage/ServerRequestInterface.php +0 -0
- lib/Azure/PsrHttpMessage/StreamInterface.php +0 -0
- lib/Azure/PsrHttpMessage/UploadedFileInterface.php +0 -0
- lib/Azure/PsrHttpMessage/UriInterface.php +0 -0
- lib/Azure/loader.php +0 -0
- lib/Db/mssql.php +0 -0
- lib/Google/Auth/Abstract.php +0 -0
- lib/Google/Auth/AppIdentity.php +0 -0
- lib/Google/Auth/AssertionCredentials.php +0 -0
- lib/Google/Auth/Exception.php +0 -0
- lib/Google/Auth/LoginTicket.php +0 -0
- lib/Google/Auth/OAuth2.php +0 -0
- lib/Google/Auth/Simple.php +0 -0
- lib/Google/Cache/Abstract.php +0 -0
- lib/Google/Cache/Apc.php +0 -0
- lib/Google/Cache/Exception.php +0 -0
- lib/Google/Cache/File.php +0 -0
- lib/Google/Cache/Memcache.php +0 -0
- lib/Google/Cache/Null.php +0 -0
- lib/Google/Client.php +0 -0
- lib/Google/Collection.php +0 -0
- lib/Google/Config.php +0 -0
- lib/Google/Exception.php +0 -0
- lib/Google/Http/Batch.php +0 -0
- lib/Google/Http/CacheParser.php +0 -0
- lib/Google/Http/MediaFileUpload.php +0 -0
- lib/Google/Http/REST.php +0 -0
- lib/Google/Http/Request.php +0 -0
- lib/Google/IO/Abstract.php +0 -0
- lib/Google/IO/Curl.php +0 -0
- lib/Google/IO/Exception.php +0 -0
- lib/Google/IO/Stream.php +0 -0
- lib/Google/IO/cacerts.pem +0 -0
- lib/Google/Model.php +0 -0
- lib/Google/Service.php +0 -0
- lib/Google/Service/Drive.php +0 -0
- lib/Google/Service/Exception.php +0 -0
- lib/Google/Service/Oauth2.php +0 -0
- lib/Google/Service/Resource.php +0 -0
- lib/Google/Signer/Abstract.php +0 -0
- lib/Google/Signer/P12.php +0 -0
- lib/Google/Utils.php +0 -0
- lib/Google/Utils/URITemplate.php +0 -0
- lib/Google/Verifier/Abstract.php +0 -0
- lib/Google/Verifier/Pem.php +0 -0
- lib/Minify/DooDigestAuth.php +0 -0
- lib/Minify/Minify/Cache/W3TCDerived.php +0 -0
- lib/Minify/Minify/Cache/ZendPlatform.php +0 -0
- lib/Minify/Minify/DebugDetector.php +0 -0
- lib/Minify/Minify/HTML/Helper.php +0 -0
- lib/Minify/Minify/JS/ClosureCompiler.php +0 -0
- lib/Minify/Minify/Loader.php +0 -0
- lib/Minify/Minify/YUI/CssCompressor.java +0 -0
- lib/Minify/Minify/YUI/CssCompressor.php +0 -0
- lib/NetDNA/NetDNA.php +0 -0
- lib/NewRelic/NewRelicAPI.php +0 -0
- lib/NewRelic/NewRelicWrapper.php +0 -0
- lib/OAuth/W3tcOAuth.php +0 -0
- lib/SNS/README.md +0 -0
- lib/SNS/lib/requestcore/LICENSE +0 -0
- lib/SNS/lib/requestcore/README.md +0 -0
- lib/SNS/lib/requestcore/cacert.pem +0 -0
- lib/SNS/lib/requestcore/requestcore.class.php +0 -0
- lib/SNS/sdk.class.php +0 -0
- lib/SNS/services/MessageValidator/MessageValidator.php +82 -82
- lib/SNS/services/sns.class.php +0 -0
- lib/SNS/utilities/request.class.php +0 -0
- lib/SNS/utilities/response.class.php +0 -0
- lib/SNS/utilities/simplexml.class.php +0 -0
- lib/SNS/utilities/utilities.class.php +0 -0
- pub/img/W3TC_dashboard_logo_title-retina.png +0 -0
- pub/img/W3TC_dashboard_logo_title.png +0 -0
- pub/img/button-grad-active.png +0 -0
- pub/img/button-grad.png +0 -0
- pub/img/cdn-highwinds-logo.png +0 -0
- pub/img/close.png +0 -0
- pub/img/google-logo.png +0 -0
- pub/img/open.png +0 -0
- pub/img/sidebar-background.png +0 -0
- pub/img/w3tc-sprite-admin-bar.png +0 -0
- pub/img/w3tc-sprite-retina.png +0 -0
- pub/img/w3tc-sprite.png +0 -0
- pub/img/w3tc_google-logo-retina.png +0 -0
- pub/img/w3tc_google-logo.png +0 -0
- pub/img/w3tc_newrelic-logo-retina.png +0 -0
- pub/img/w3tc_newrelic-logo.png +0 -0
- pub/img/w3tc_swarmify-logo-retina.png +0 -0
- pub/img/w3tc_swarmify-logo.png +0 -0
- pub/img/w3tc_w3edge-logo-retina.png +0 -0
- pub/img/w3tc_w3edge-logo.png +0 -0
- pub/img/w3tc_w3tc-logo-retina.png +0 -0
- pub/img/w3tc_w3tc-logo.png +0 -0
- pub/img/white-grad-active.png +0 -0
- pub/img/white-grad.png +0 -0
- pub/img/wpspin_light.gif +0 -0
- pub/js/lightbox.js +6 -4
- pub/js/options.js +8 -8
- pub/opcache.php +1 -5
- pub/sns.php +0 -0
- readme.txt +14 -1
- w3-total-cache-api.php +1 -40
- w3-total-cache-old-php.php +0 -0
- w3-total-cache.php +1 -1
Base_Page_Settings.php
CHANGED
File without changes
|
BrowserCache_ConfigLabels.php
CHANGED
File without changes
|
BrowserCache_Core.php
CHANGED
File without changes
|
BrowserCache_Environment.php
CHANGED
File without changes
|
BrowserCache_Page.php
CHANGED
File without changes
|
BrowserCache_Plugin.php
CHANGED
File without changes
|
BrowserCache_Plugin_Admin.php
CHANGED
File without changes
|
Cache.php
CHANGED
File without changes
|
CacheFlush.php
CHANGED
@@ -115,16 +115,6 @@ class CacheFlush {
|
|
115 |
return $this->_executor->opcache_flush();
|
116 |
}
|
117 |
|
118 |
-
/**
|
119 |
-
* Reloads/compiles a PHP file.
|
120 |
-
*
|
121 |
-
* @param string $filename
|
122 |
-
* @return mixed
|
123 |
-
*/
|
124 |
-
function opcache_flush_file( $filename ) {
|
125 |
-
return $this->_executor->opcache_flush_file( $filename );
|
126 |
-
}
|
127 |
-
|
128 |
/**
|
129 |
* Purges/Flushes post page
|
130 |
*/
|
115 |
return $this->_executor->opcache_flush();
|
116 |
}
|
117 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
118 |
/**
|
119 |
* Purges/Flushes post page
|
120 |
*/
|
CacheFlush_Locally.php
CHANGED
@@ -147,17 +147,6 @@ class CacheFlush_Locally {
|
|
147 |
return $o->flush();
|
148 |
}
|
149 |
|
150 |
-
/**
|
151 |
-
* Reload/compile a PHP file
|
152 |
-
*
|
153 |
-
* @param unknown $filename
|
154 |
-
* @return bool
|
155 |
-
*/
|
156 |
-
function opcache_flush_file( $filename ) {
|
157 |
-
$o = Dispatcher::component( 'SystemOpCache_Core' );
|
158 |
-
return $o->flush_file( $filename );
|
159 |
-
}
|
160 |
-
|
161 |
/**
|
162 |
* Purges/Flushes post from page cache, varnish and cdn cache
|
163 |
*/
|
147 |
return $o->flush();
|
148 |
}
|
149 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
150 |
/**
|
151 |
* Purges/Flushes post from page cache, varnish and cdn cache
|
152 |
*/
|
Cache_Apc.php
CHANGED
File without changes
|
Cache_Apcu.php
CHANGED
File without changes
|
Cache_Base.php
CHANGED
File without changes
|
Cache_Eaccelerator.php
CHANGED
File without changes
|
Cache_File.php
CHANGED
File without changes
|
Cache_File_Cleaner.php
CHANGED
File without changes
|
Cache_File_Cleaner_Generic.php
CHANGED
File without changes
|
Cache_File_Generic.php
CHANGED
@@ -189,9 +189,14 @@ class Cache_File_Generic extends Cache_File {
|
|
189 |
if ( $this->_locking )
|
190 |
@flock( $fp, LOCK_UN );
|
191 |
|
|
|
|
|
|
|
|
|
|
|
192 |
return array(
|
193 |
'404' => false,
|
194 |
-
'headers' =>
|
195 |
'time' => null,
|
196 |
'content' => $var
|
197 |
);
|
189 |
if ( $this->_locking )
|
190 |
@flock( $fp, LOCK_UN );
|
191 |
|
192 |
+
$headers = array();
|
193 |
+
if ( substr( $path, -4 ) == '.xml' ) {
|
194 |
+
$headers['Content-type'] = 'text/xml';
|
195 |
+
}
|
196 |
+
|
197 |
return array(
|
198 |
'404' => false,
|
199 |
+
'headers' => $headers,
|
200 |
'time' => null,
|
201 |
'content' => $var
|
202 |
);
|
Cache_Memcache.php
CHANGED
File without changes
|
Cache_Memcached.php
CHANGED
File without changes
|
Cache_Memcached_Stats.php
CHANGED
File without changes
|
Cache_Redis.php
CHANGED
@@ -178,8 +178,10 @@ class Cache_Redis extends Cache_Base {
|
|
178 |
*/
|
179 |
function flush( $group = '' ) {
|
180 |
$this->_get_key_version( $group ); // initialize $this->_key_version
|
181 |
-
$this->_key_version[$group]
|
182 |
-
|
|
|
|
|
183 |
|
184 |
return true;
|
185 |
}
|
178 |
*/
|
179 |
function flush( $group = '' ) {
|
180 |
$this->_get_key_version( $group ); // initialize $this->_key_version
|
181 |
+
if (isset($this->_key_version[$group])) {
|
182 |
+
$this->_key_version[$group]++;
|
183 |
+
$this->_set_key_version( $this->_key_version[$group], $group );
|
184 |
+
}
|
185 |
|
186 |
return true;
|
187 |
}
|
Cache_Wincache.php
CHANGED
File without changes
|
Cache_Xcache.php
CHANGED
File without changes
|
CdnEngine.php
CHANGED
File without changes
|
CdnEngine_Azure.php
CHANGED
File without changes
|
CdnEngine_Base.php
CHANGED
File without changes
|
CdnEngine_Ftp.php
CHANGED
File without changes
|
CdnEngine_GoogleDrive.php
CHANGED
File without changes
|
CdnEngine_Mirror.php
CHANGED
File without changes
|
CdnEngine_Mirror_Akamai.php
CHANGED
File without changes
|
CdnEngine_Mirror_Att.php
CHANGED
File without changes
|
CdnEngine_Mirror_Cotendo.php
CHANGED
File without changes
|
CdnEngine_Mirror_Edgecast.php
CHANGED
File without changes
|
CdnEngine_Mirror_Highwinds.php
CHANGED
File without changes
|
CdnEngine_Mirror_MaxCdn.php
CHANGED
File without changes
|
CdnEngine_Mirror_RackSpaceCdn.php
CHANGED
File without changes
|
CdnEngine_RackSpaceCloudFiles.php
CHANGED
File without changes
|
CdnEngine_S3.php
CHANGED
File without changes
|
CdnEngine_S3_Cf.php
CHANGED
File without changes
|
CdnEngine_S3_Cf_Custom.php
CHANGED
File without changes
|
CdnEngine_S3_Cf_S3.php
CHANGED
File without changes
|
CdnEngine_S3_Compatible.php
CHANGED
File without changes
|
Cdn_AdminActions.php
CHANGED
File without changes
|
Cdn_AdminNotes.php
CHANGED
File without changes
|
Cdn_CacheFlush.php
CHANGED
File without changes
|
Cdn_ConfigLabels.php
CHANGED
File without changes
|
Cdn_Core.php
CHANGED
@@ -79,7 +79,12 @@ class Cdn_Core {
|
|
79 |
$file = $this->normalize_attachment_file( $file );
|
80 |
|
81 |
$local_file = $upload_info['basedir'] . '/' . $file;
|
82 |
-
|
|
|
|
|
|
|
|
|
|
|
83 |
|
84 |
$files[] = $this->build_file_descriptor( $local_file, $remote_file );
|
85 |
}
|
@@ -713,8 +718,11 @@ class Cdn_Core {
|
|
713 |
!Util_Environment::is_wpmu_subdomain() &&
|
714 |
Util_Environment::is_using_master_config() &&
|
715 |
Cdn_Util::is_engine_push( $engine ) ) {
|
716 |
-
// in common config files are uploaded for network home url
|
717 |
// so mirror will not contain /subblog/ path in uri
|
|
|
|
|
|
|
718 |
$home = trim( home_url( '', 'relative' ), '/' ) . '/';
|
719 |
$network_home = trim( network_home_url( '', 'relative' ), '/' ) . '/';
|
720 |
|
79 |
$file = $this->normalize_attachment_file( $file );
|
80 |
|
81 |
$local_file = $upload_info['basedir'] . '/' . $file;
|
82 |
+
|
83 |
+
$parsed = parse_url( rtrim( $upload_info['baseurl'], '/' ) .
|
84 |
+
'/' . $file );
|
85 |
+
$local_uri = $parsed['path'];
|
86 |
+
$remote_uri = $this->uri_to_cdn_uri( $local_uri );
|
87 |
+
$remote_file = ltrim( $remote_uri, '/' );
|
88 |
|
89 |
$files[] = $this->build_file_descriptor( $local_file, $remote_file );
|
90 |
}
|
718 |
!Util_Environment::is_wpmu_subdomain() &&
|
719 |
Util_Environment::is_using_master_config() &&
|
720 |
Cdn_Util::is_engine_push( $engine ) ) {
|
721 |
+
// in common config mode files are uploaded for network home url
|
722 |
// so mirror will not contain /subblog/ path in uri
|
723 |
+
//
|
724 |
+
// since upload process is not blog-specific and
|
725 |
+
// wp-content/plugins/../*.jpg files are common
|
726 |
$home = trim( home_url( '', 'relative' ), '/' ) . '/';
|
727 |
$network_home = trim( network_home_url( '', 'relative' ), '/' ) . '/';
|
728 |
|
Cdn_Core_Admin.php
CHANGED
File without changes
|
Cdn_Environment.php
CHANGED
File without changes
|
Cdn_GeneralPage_View.php
CHANGED
File without changes
|
Cdn_GoogleDrive_AdminActions.php
CHANGED
File without changes
|
Cdn_GoogleDrive_Page.php
CHANGED
File without changes
|
Cdn_GoogleDrive_Page_View.js
CHANGED
File without changes
|
Cdn_GoogleDrive_Page_View.php
CHANGED
File without changes
|
Cdn_GoogleDrive_Popup_AuthReturn.php
CHANGED
File without changes
|
Cdn_GoogleDrive_Popup_AuthReturn_View.php
CHANGED
File without changes
|
Cdn_Highwinds_Api.php
CHANGED
File without changes
|
Cdn_Highwinds_Page.php
CHANGED
File without changes
|
Cdn_Highwinds_Page_View.js
CHANGED
File without changes
|
Cdn_Highwinds_Page_View.php
CHANGED
File without changes
|
Cdn_Highwinds_Popup.php
CHANGED
File without changes
|
Cdn_Highwinds_Popup_View_ConfigureCnamesForm.php
CHANGED
File without changes
|
Cdn_Highwinds_Popup_View_Intro.php
CHANGED
File without changes
|
Cdn_Highwinds_Popup_View_SelectHost.php
CHANGED
File without changes
|
Cdn_Highwinds_Widget.php
CHANGED
File without changes
|
Cdn_Highwinds_Widget_View.css
CHANGED
File without changes
|
Cdn_Highwinds_Widget_View.js
CHANGED
File without changes
|
Cdn_Highwinds_Widget_View.php
CHANGED
File without changes
|
Cdn_Highwinds_Widget_View_NotConfigured.php
CHANGED
File without changes
|
Cdn_Page.php
CHANGED
File without changes
|
Cdn_Page_View_Fsd_HeaderActions.php
CHANGED
File without changes
|
Cdn_Page_View_Header.php
CHANGED
File without changes
|
Cdn_Plugin.php
CHANGED
File without changes
|
Cdn_Plugin_Admin.php
CHANGED
File without changes
|
Cdn_Plugin_WidgetMaxCdn.php
CHANGED
File without changes
|
Cdn_RackSpaceCdn_AdminActions.php
CHANGED
File without changes
|
Cdn_RackSpaceCdn_Page.php
CHANGED
File without changes
|
Cdn_RackSpaceCdn_Page_View.js
CHANGED
File without changes
|
Cdn_RackSpaceCdn_Page_View.php
CHANGED
File without changes
|
Cdn_RackSpaceCdn_Popup.php
CHANGED
File without changes
|
Cdn_RackSpaceCdn_Popup_View_ConfigureDomains.php
CHANGED
File without changes
|
Cdn_RackSpaceCdn_Popup_View_Intro.php
CHANGED
File without changes
|
Cdn_RackSpaceCdn_Popup_View_Regions.php
CHANGED
File without changes
|
Cdn_RackSpaceCdn_Popup_View_Service_Actualize.php
CHANGED
File without changes
|
Cdn_RackSpaceCdn_Popup_View_Service_Create.php
CHANGED
File without changes
|
Cdn_RackSpaceCdn_Popup_View_Service_Created.php
CHANGED
File without changes
|
Cdn_RackSpaceCdn_Popup_View_Services.php
CHANGED
File without changes
|
Cdn_RackSpaceCloudFiles_Page.php
CHANGED
File without changes
|
Cdn_RackSpaceCloudFiles_Page_View.js
CHANGED
File without changes
|
Cdn_RackSpaceCloudFiles_Page_View.php
CHANGED
File without changes
|
Cdn_RackSpaceCloudFiles_Popup.php
CHANGED
File without changes
|
Cdn_RackSpaceCloudFiles_Popup_View_Containers.php
CHANGED
File without changes
|
Cdn_RackSpaceCloudFiles_Popup_View_Intro.php
CHANGED
File without changes
|
Cdn_RackSpaceCloudFiles_Popup_View_Regions.php
CHANGED
File without changes
|
Cdn_RackSpace_Api_CaCert-example.pem
CHANGED
File without changes
|
Cdn_RackSpace_Api_Cdn.php
CHANGED
File without changes
|
Cdn_RackSpace_Api_CloudFiles.php
CHANGED
File without changes
|
Cdn_RackSpace_Api_CloudFilesCdn.php
CHANGED
File without changes
|
Cdn_RackSpace_Api_Tokens.php
CHANGED
File without changes
|
Cdn_Util.php
CHANGED
File without changes
|
Cli.php
CHANGED
@@ -342,7 +342,7 @@ class W3TotalCache_Command extends \WP_CLI_Command {
|
|
342 |
|
343 |
/**
|
344 |
* Purges URL's from cdn and varnish if enabled
|
345 |
-
*
|
346 |
* @param array $args List if files to be purged, absolute path or relative to wordpress installation path
|
347 |
*/
|
348 |
function cdn_purge( $args = array() ) {
|
@@ -369,49 +369,6 @@ class W3TotalCache_Command extends \WP_CLI_Command {
|
|
369 |
|
370 |
}
|
371 |
|
372 |
-
/**
|
373 |
-
* Tell opcache to reload PHP files
|
374 |
-
*
|
375 |
-
* @param array $args
|
376 |
-
*/
|
377 |
-
function opcache_flush_file( $args = array() ) {
|
378 |
-
try {
|
379 |
-
$method = array_shift( $args );
|
380 |
-
if ( !in_array( $method, array( 'SNS', 'local' ) ) )
|
381 |
-
\WP_CLI::error( $method . __( ' is not supported. Change to SNS or local to reload opcache files', 'w3-total-cache' ) );
|
382 |
-
if ( $method == 'SNS' ) {
|
383 |
-
$w3_cache = Dispatcher::component( 'CacheFlush' );
|
384 |
-
$w3_cache->opcache_flush_file( $args[0] );
|
385 |
-
} else {
|
386 |
-
$url = WP_PLUGIN_URL . '/' . dirname( W3TC_FILE ) . '/pub/opcache.php';
|
387 |
-
$path = parse_url( $url, PHP_URL_PATH );
|
388 |
-
$post = array(
|
389 |
-
'method' => 'POST',
|
390 |
-
'timeout' => 45,
|
391 |
-
'redirection' => 5,
|
392 |
-
'httpversion' => '1.0',
|
393 |
-
'blocking' => true,
|
394 |
-
'body' => array(
|
395 |
-
'nonce' => wp_hash( $path ),
|
396 |
-
'command' => 'flush_file',
|
397 |
-
'file' => $args[0]
|
398 |
-
),
|
399 |
-
);
|
400 |
-
$result = wp_remote_post( $url, $post );
|
401 |
-
if ( is_wp_error( $result ) ) {
|
402 |
-
\WP_CLI::error( __( 'Files did not successfully reload with error %s', 'w3-total-cache' ), $result );
|
403 |
-
} elseif ( $result['response']['code'] != '200' ) {
|
404 |
-
\WP_CLI::error( __( 'Files did not successfully reload with message: ', 'w3-total-cache' ) . $result['body'] );
|
405 |
-
}
|
406 |
-
}
|
407 |
-
}
|
408 |
-
catch ( \Exception $e ) {
|
409 |
-
\WP_CLI::error( __( 'Files did not successfully reload with error %s', 'w3-total-cache' ), $e );
|
410 |
-
}
|
411 |
-
\WP_CLI::success( __( 'Files reloaded successfully.', 'w3-total-cache' ) );
|
412 |
-
|
413 |
-
}
|
414 |
-
|
415 |
/**
|
416 |
* SNS/local file.php Tells opcache to compile files
|
417 |
*
|
342 |
|
343 |
/**
|
344 |
* Purges URL's from cdn and varnish if enabled
|
345 |
+
*
|
346 |
* @param array $args List if files to be purged, absolute path or relative to wordpress installation path
|
347 |
*/
|
348 |
function cdn_purge( $args = array() ) {
|
369 |
|
370 |
}
|
371 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
372 |
/**
|
373 |
* SNS/local file.php Tells opcache to compile files
|
374 |
*
|
Config.php
CHANGED
File without changes
|
ConfigCompiler.php
CHANGED
File without changes
|
ConfigKeys.php
CHANGED
File without changes
|
ConfigState.php
CHANGED
File without changes
|
ConfigStateNote.php
CHANGED
File without changes
|
DbCache_ConfigLabels.php
CHANGED
File without changes
|
DbCache_Core.php
CHANGED
File without changes
|
DbCache_Environment.php
CHANGED
File without changes
|
DbCache_Page.php
CHANGED
File without changes
|
DbCache_Plugin.php
CHANGED
File without changes
|
DbCache_Plugin_Admin.php
CHANGED
File without changes
|
DbCache_Wpdb.php
CHANGED
@@ -28,8 +28,8 @@ class DbCache_Wpdb extends DbCache_WpdbBase {
|
|
28 |
if ( Util_Environment::is_dbcluster() ) {
|
29 |
// dbcluster use mysqli only since other is obsolete now
|
30 |
if ( !defined( 'WP_USE_EXT_MYSQL' ) ) {
|
31 |
-
|
32 |
-
|
33 |
|
34 |
$processors[] = new Enterprise_Dbcache_WpdbInjection_Cluster();
|
35 |
}
|
@@ -62,8 +62,8 @@ class DbCache_Wpdb extends DbCache_WpdbBase {
|
|
62 |
private $request_time_start = 0;
|
63 |
|
64 |
/*
|
65 |
-
|
66 |
-
|
67 |
public function __construct( $processors = null ) {
|
68 |
// required to initialize $use_mysqli which is private
|
69 |
parent::__construct( '', '', '', '' );
|
@@ -87,7 +87,7 @@ class DbCache_Wpdb extends DbCache_WpdbBase {
|
|
87 |
* Called by Root_Loader when all w3tc plugins loaded,
|
88 |
* i.e. later that object instantiated
|
89 |
*/
|
90 |
-
function on_w3tc_plugins_loaded() {
|
91 |
$o = $this;
|
92 |
|
93 |
if ( $this->debug ) {
|
@@ -101,14 +101,14 @@ class DbCache_Wpdb extends DbCache_WpdbBase {
|
|
101 |
|
102 |
}
|
103 |
|
104 |
-
function w3tc_footer_comment( $strings ) {
|
105 |
foreach ( $this->processors as $processor )
|
106 |
$strings = $processor->w3tc_footer_comment( $strings );
|
107 |
|
108 |
return $strings;
|
109 |
}
|
110 |
|
111 |
-
function debug_shutdown() {
|
112 |
$strings = array();
|
113 |
foreach ( $this->processors as $processor )
|
114 |
$strings = $processor->w3tc_footer_comment( $strings );
|
@@ -124,12 +124,12 @@ class DbCache_Wpdb extends DbCache_WpdbBase {
|
|
124 |
@file_put_contents( $filename, $data, FILE_APPEND );
|
125 |
}
|
126 |
|
127 |
-
function w3tc_usage_statistics_of_request( $storage ) {
|
128 |
foreach ( $this->processors as $processor )
|
129 |
$processor->w3tc_usage_statistics_of_request( $storage );
|
130 |
}
|
131 |
|
132 |
-
function flush_cache( $extras = array() ) {
|
133 |
$v = true;
|
134 |
|
135 |
foreach ( $this->processors as $processor )
|
@@ -138,7 +138,7 @@ class DbCache_Wpdb extends DbCache_WpdbBase {
|
|
138 |
return $v;
|
139 |
}
|
140 |
|
141 |
-
function db_connect( $allow_bail = true ) {
|
142 |
if ( empty( $this->dbuser ) ) {
|
143 |
// skip connection - called from constructor
|
144 |
} else
|
@@ -148,14 +148,14 @@ class DbCache_Wpdb extends DbCache_WpdbBase {
|
|
148 |
/**
|
149 |
* Initializes object after processors configured. Called from instance() only
|
150 |
*/
|
151 |
-
function initialize() {
|
152 |
return $this->active_processor->initialize();
|
153 |
}
|
154 |
|
155 |
/**
|
156 |
* Overriten logic of wp_db by processor.
|
157 |
*/
|
158 |
-
function insert( $table, $data, $format = null ) {
|
159 |
do_action( 'w3tc_db_insert', $table, $data, $format );
|
160 |
return $this->active_processor->insert( $table, $data, $format );
|
161 |
}
|
@@ -163,18 +163,33 @@ class DbCache_Wpdb extends DbCache_WpdbBase {
|
|
163 |
/**
|
164 |
* Overriten logic of wp_db by processor.
|
165 |
*/
|
166 |
-
function query( $query ) {
|
167 |
return $this->active_processor->query( $query );
|
168 |
}
|
169 |
|
170 |
-
function _escape( $data ) {
|
171 |
return $this->active_processor->_escape( $data );
|
172 |
}
|
173 |
|
174 |
/**
|
175 |
* Overriten logic of wp_db by processor.
|
176 |
*/
|
177 |
-
function
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
178 |
do_action( 'w3tc_db_replace', $table, $data, $format );
|
179 |
return $this->active_processor->replace( $table, $data, $format );
|
180 |
}
|
@@ -182,7 +197,7 @@ class DbCache_Wpdb extends DbCache_WpdbBase {
|
|
182 |
/**
|
183 |
* Overriten logic of wp_db by processor.
|
184 |
*/
|
185 |
-
function update( $table, $data, $where, $format = null, $where_format = null ) {
|
186 |
do_action( 'w3tc_db_update', $table, $data, $where, $format,
|
187 |
$where_format );
|
188 |
return $this->active_processor->update( $table, $data, $where, $format, $where_format );
|
@@ -191,7 +206,7 @@ class DbCache_Wpdb extends DbCache_WpdbBase {
|
|
191 |
/**
|
192 |
* Overriten logic of wp_db by processor.
|
193 |
*/
|
194 |
-
function delete( $table, $where, $where_format = null ) {
|
195 |
do_action( 'w3tc_db_delete', $table, $where, $where_format );
|
196 |
return $this->active_processor->delete( $table, $where, $where_format );
|
197 |
}
|
@@ -199,151 +214,158 @@ class DbCache_Wpdb extends DbCache_WpdbBase {
|
|
199 |
/**
|
200 |
* Overriten logic of wp_db by processor.
|
201 |
*/
|
202 |
-
function init_charset() {
|
203 |
return $this->active_processor->init_charset();
|
204 |
}
|
205 |
|
206 |
/**
|
207 |
* Overriten logic of wp_db by processor.
|
208 |
*/
|
209 |
-
function set_charset( $dbh, $charset = null, $collate = null ) {
|
210 |
return $this->active_processor->set_charset( $dbh, $charset, $collate );
|
211 |
}
|
212 |
|
213 |
/**
|
214 |
* Overriten logic of wp_db by processor.
|
215 |
*/
|
216 |
-
function flush() {
|
217 |
return $this->active_processor->flush();
|
218 |
}
|
219 |
|
220 |
/**
|
221 |
* Overriten logic of wp_db by processor.
|
222 |
*/
|
223 |
-
function check_database_version( $dbh_or_table = false ) {
|
224 |
return $this->active_processor->check_database_version( $dbh_or_table );
|
225 |
}
|
226 |
|
227 |
/**
|
228 |
* Overriten logic of wp_db by processor.
|
229 |
*/
|
230 |
-
function supports_collation( $dbh_or_table = false ) {
|
231 |
return $this->active_processor->supports_collation( $dbh_or_table );
|
232 |
}
|
233 |
|
234 |
/**
|
235 |
* Overriten logic of wp_db by processor.
|
236 |
*/
|
237 |
-
function has_cap( $db_cap, $dbh_or_table = false ) {
|
238 |
return $this->active_processor->has_cap( $db_cap, $dbh_or_table );
|
239 |
}
|
240 |
|
241 |
/**
|
242 |
* Overriten logic of wp_db by processor.
|
243 |
*/
|
244 |
-
function db_version( $dbh_or_table = false ) {
|
245 |
return $this->active_processor->db_version( $dbh_or_table );
|
246 |
}
|
247 |
|
248 |
/**
|
249 |
* Default initialization method, calls wp_db apropriate method
|
250 |
*/
|
251 |
-
function default_initialize() {
|
252 |
parent::__construct( DB_USER, DB_PASSWORD, DB_NAME, DB_HOST );
|
253 |
}
|
254 |
|
255 |
/**
|
256 |
* Default implementation, calls wp_db apropriate method
|
257 |
*/
|
258 |
-
function default_insert( $table, $data, $format = null ) {
|
259 |
return parent::insert( $table, $data, $format );
|
260 |
}
|
261 |
|
262 |
/**
|
263 |
* Default implementation, calls wp_db apropriate method
|
264 |
*/
|
265 |
-
function default_query( $query ) {
|
266 |
return parent::query( $query );
|
267 |
}
|
268 |
|
269 |
-
function default__escape( $data ) {
|
270 |
return parent::_escape( $data );
|
271 |
}
|
272 |
|
273 |
/**
|
274 |
* Default implementation, calls wp_db apropriate method
|
275 |
*/
|
276 |
-
function
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
277 |
return parent::replace( $table, $data, $format );
|
278 |
}
|
279 |
|
280 |
/**
|
281 |
* Default implementation, calls wp_db apropriate method
|
282 |
*/
|
283 |
-
function default_update( $table, $data, $where, $format = null, $where_format = null ) {
|
284 |
return parent::update( $table, $data, $where, $format, $where_format );
|
285 |
}
|
286 |
|
287 |
/**
|
288 |
* Default implementation, calls wp_db apropriate method
|
289 |
*/
|
290 |
-
function default_delete( $table, $where, $where_format = null ) {
|
291 |
return parent::delete( $table, $where, $where_format );
|
292 |
}
|
293 |
|
294 |
/**
|
295 |
* Default implementation, calls wp_db apropriate method
|
296 |
*/
|
297 |
-
function default_init_charset() {
|
298 |
return parent::init_charset();
|
299 |
}
|
300 |
|
301 |
/**
|
302 |
* Default implementation, calls wp_db apropriate method
|
303 |
*/
|
304 |
-
function default_set_charset( $dbh, $charset = null, $collate = null ) {
|
305 |
return parent::set_charset( $dbh, $charset, $collate );
|
306 |
}
|
307 |
|
308 |
/**
|
309 |
* Default implementation, calls wp_db apropriate method
|
310 |
*/
|
311 |
-
function default_flush() {
|
312 |
return parent::flush();
|
313 |
}
|
314 |
|
315 |
/**
|
316 |
* Default implementation, calls wp_db apropriate method
|
317 |
*/
|
318 |
-
function default_check_database_version( $dbh_or_table = false ) {
|
319 |
return parent::check_database_version( $dbh_or_table );
|
320 |
}
|
321 |
|
322 |
/**
|
323 |
* Default implementation, calls wp_db apropriate method
|
324 |
*/
|
325 |
-
function default_supports_collation( $dbh_or_table = false ) {
|
326 |
return parent::supports_collation( $dbh_or_table );
|
327 |
}
|
328 |
|
329 |
/**
|
330 |
* Default implementation, calls wp_db apropriate method
|
331 |
*/
|
332 |
-
function default_has_cap( $db_cap, $dbh_or_table = false ) {
|
333 |
return parent::has_cap( $db_cap, $dbh_or_table );
|
334 |
}
|
335 |
|
336 |
/**
|
337 |
* Default implementation, calls wp_db apropriate method
|
338 |
*/
|
339 |
-
function default_db_version( $dbh_or_table = false ) {
|
340 |
return parent::db_version( $dbh_or_table );
|
341 |
}
|
342 |
|
343 |
/**
|
344 |
* Default implementation, calls wp_db apropriate method
|
345 |
*/
|
346 |
-
function switch_active_processor( $offset ) {
|
347 |
$new_processor_number = $this->active_processor_number + $offset;
|
348 |
if ( $new_processor_number <= 0 ) {
|
349 |
$new_processor_number = 0;
|
@@ -437,6 +459,23 @@ class _CallUnderlying {
|
|
437 |
}
|
438 |
}
|
439 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
440 |
/**
|
441 |
* Calls underlying processor's aproptiate method of wp_db
|
442 |
*/
|
28 |
if ( Util_Environment::is_dbcluster() ) {
|
29 |
// dbcluster use mysqli only since other is obsolete now
|
30 |
if ( !defined( 'WP_USE_EXT_MYSQL' ) ) {
|
31 |
+
define( 'WP_USE_EXT_MYSQL', false );
|
32 |
+
}
|
33 |
|
34 |
$processors[] = new Enterprise_Dbcache_WpdbInjection_Cluster();
|
35 |
}
|
62 |
private $request_time_start = 0;
|
63 |
|
64 |
/*
|
65 |
+
* @param boolean $call_default_constructor
|
66 |
+
*/
|
67 |
public function __construct( $processors = null ) {
|
68 |
// required to initialize $use_mysqli which is private
|
69 |
parent::__construct( '', '', '', '' );
|
87 |
* Called by Root_Loader when all w3tc plugins loaded,
|
88 |
* i.e. later that object instantiated
|
89 |
*/
|
90 |
+
public function on_w3tc_plugins_loaded() {
|
91 |
$o = $this;
|
92 |
|
93 |
if ( $this->debug ) {
|
101 |
|
102 |
}
|
103 |
|
104 |
+
public function w3tc_footer_comment( $strings ) {
|
105 |
foreach ( $this->processors as $processor )
|
106 |
$strings = $processor->w3tc_footer_comment( $strings );
|
107 |
|
108 |
return $strings;
|
109 |
}
|
110 |
|
111 |
+
public function debug_shutdown() {
|
112 |
$strings = array();
|
113 |
foreach ( $this->processors as $processor )
|
114 |
$strings = $processor->w3tc_footer_comment( $strings );
|
124 |
@file_put_contents( $filename, $data, FILE_APPEND );
|
125 |
}
|
126 |
|
127 |
+
public function w3tc_usage_statistics_of_request( $storage ) {
|
128 |
foreach ( $this->processors as $processor )
|
129 |
$processor->w3tc_usage_statistics_of_request( $storage );
|
130 |
}
|
131 |
|
132 |
+
public function flush_cache( $extras = array() ) {
|
133 |
$v = true;
|
134 |
|
135 |
foreach ( $this->processors as $processor )
|
138 |
return $v;
|
139 |
}
|
140 |
|
141 |
+
public function db_connect( $allow_bail = true ) {
|
142 |
if ( empty( $this->dbuser ) ) {
|
143 |
// skip connection - called from constructor
|
144 |
} else
|
148 |
/**
|
149 |
* Initializes object after processors configured. Called from instance() only
|
150 |
*/
|
151 |
+
public function initialize() {
|
152 |
return $this->active_processor->initialize();
|
153 |
}
|
154 |
|
155 |
/**
|
156 |
* Overriten logic of wp_db by processor.
|
157 |
*/
|
158 |
+
public function insert( $table, $data, $format = null ) {
|
159 |
do_action( 'w3tc_db_insert', $table, $data, $format );
|
160 |
return $this->active_processor->insert( $table, $data, $format );
|
161 |
}
|
163 |
/**
|
164 |
* Overriten logic of wp_db by processor.
|
165 |
*/
|
166 |
+
public function query( $query ) {
|
167 |
return $this->active_processor->query( $query );
|
168 |
}
|
169 |
|
170 |
+
public function _escape( $data ) {
|
171 |
return $this->active_processor->_escape( $data );
|
172 |
}
|
173 |
|
174 |
/**
|
175 |
* Overriten logic of wp_db by processor.
|
176 |
*/
|
177 |
+
public function prepare( $query, $args ) {
|
178 |
+
$args = func_get_args();
|
179 |
+
array_shift( $args );
|
180 |
+
|
181 |
+
// If args were passed as an array (as in vsprintf), move them up
|
182 |
+
if ( isset( $args[0] ) && is_array($args[0]) ) {
|
183 |
+
$args = $args[0];
|
184 |
+
}
|
185 |
+
|
186 |
+
return $this->active_processor->prepare( $query, $args );
|
187 |
+
}
|
188 |
+
|
189 |
+
/**
|
190 |
+
* Overriten logic of wp_db by processor.
|
191 |
+
*/
|
192 |
+
public function replace( $table, $data, $format = null ) {
|
193 |
do_action( 'w3tc_db_replace', $table, $data, $format );
|
194 |
return $this->active_processor->replace( $table, $data, $format );
|
195 |
}
|
197 |
/**
|
198 |
* Overriten logic of wp_db by processor.
|
199 |
*/
|
200 |
+
public function update( $table, $data, $where, $format = null, $where_format = null ) {
|
201 |
do_action( 'w3tc_db_update', $table, $data, $where, $format,
|
202 |
$where_format );
|
203 |
return $this->active_processor->update( $table, $data, $where, $format, $where_format );
|
206 |
/**
|
207 |
* Overriten logic of wp_db by processor.
|
208 |
*/
|
209 |
+
public function delete( $table, $where, $where_format = null ) {
|
210 |
do_action( 'w3tc_db_delete', $table, $where, $where_format );
|
211 |
return $this->active_processor->delete( $table, $where, $where_format );
|
212 |
}
|
214 |
/**
|
215 |
* Overriten logic of wp_db by processor.
|
216 |
*/
|
217 |
+
public function init_charset() {
|
218 |
return $this->active_processor->init_charset();
|
219 |
}
|
220 |
|
221 |
/**
|
222 |
* Overriten logic of wp_db by processor.
|
223 |
*/
|
224 |
+
public function set_charset( $dbh, $charset = null, $collate = null ) {
|
225 |
return $this->active_processor->set_charset( $dbh, $charset, $collate );
|
226 |
}
|
227 |
|
228 |
/**
|
229 |
* Overriten logic of wp_db by processor.
|
230 |
*/
|
231 |
+
public function flush() {
|
232 |
return $this->active_processor->flush();
|
233 |
}
|
234 |
|
235 |
/**
|
236 |
* Overriten logic of wp_db by processor.
|
237 |
*/
|
238 |
+
public function check_database_version( $dbh_or_table = false ) {
|
239 |
return $this->active_processor->check_database_version( $dbh_or_table );
|
240 |
}
|
241 |
|
242 |
/**
|
243 |
* Overriten logic of wp_db by processor.
|
244 |
*/
|
245 |
+
public function supports_collation( $dbh_or_table = false ) {
|
246 |
return $this->active_processor->supports_collation( $dbh_or_table );
|
247 |
}
|
248 |
|
249 |
/**
|
250 |
* Overriten logic of wp_db by processor.
|
251 |
*/
|
252 |
+
public function has_cap( $db_cap, $dbh_or_table = false ) {
|
253 |
return $this->active_processor->has_cap( $db_cap, $dbh_or_table );
|
254 |
}
|
255 |
|
256 |
/**
|
257 |
* Overriten logic of wp_db by processor.
|
258 |
*/
|
259 |
+
public function db_version( $dbh_or_table = false ) {
|
260 |
return $this->active_processor->db_version( $dbh_or_table );
|
261 |
}
|
262 |
|
263 |
/**
|
264 |
* Default initialization method, calls wp_db apropriate method
|
265 |
*/
|
266 |
+
public function default_initialize() {
|
267 |
parent::__construct( DB_USER, DB_PASSWORD, DB_NAME, DB_HOST );
|
268 |
}
|
269 |
|
270 |
/**
|
271 |
* Default implementation, calls wp_db apropriate method
|
272 |
*/
|
273 |
+
public function default_insert( $table, $data, $format = null ) {
|
274 |
return parent::insert( $table, $data, $format );
|
275 |
}
|
276 |
|
277 |
/**
|
278 |
* Default implementation, calls wp_db apropriate method
|
279 |
*/
|
280 |
+
public function default_query( $query ) {
|
281 |
return parent::query( $query );
|
282 |
}
|
283 |
|
284 |
+
public function default__escape( $data ) {
|
285 |
return parent::_escape( $data );
|
286 |
}
|
287 |
|
288 |
/**
|
289 |
* Default implementation, calls wp_db apropriate method
|
290 |
*/
|
291 |
+
public function default_prepare( $query, $args ) {
|
292 |
+
return parent::prepare( $query, $args );
|
293 |
+
}
|
294 |
+
|
295 |
+
/**
|
296 |
+
* Default implementation, calls wp_db apropriate method
|
297 |
+
*/
|
298 |
+
public function default_replace( $table, $data, $format = null ) {
|
299 |
return parent::replace( $table, $data, $format );
|
300 |
}
|
301 |
|
302 |
/**
|
303 |
* Default implementation, calls wp_db apropriate method
|
304 |
*/
|
305 |
+
public function default_update( $table, $data, $where, $format = null, $where_format = null ) {
|
306 |
return parent::update( $table, $data, $where, $format, $where_format );
|
307 |
}
|
308 |
|
309 |
/**
|
310 |
* Default implementation, calls wp_db apropriate method
|
311 |
*/
|
312 |
+
public function default_delete( $table, $where, $where_format = null ) {
|
313 |
return parent::delete( $table, $where, $where_format );
|
314 |
}
|
315 |
|
316 |
/**
|
317 |
* Default implementation, calls wp_db apropriate method
|
318 |
*/
|
319 |
+
public function default_init_charset() {
|
320 |
return parent::init_charset();
|
321 |
}
|
322 |
|
323 |
/**
|
324 |
* Default implementation, calls wp_db apropriate method
|
325 |
*/
|
326 |
+
public function default_set_charset( $dbh, $charset = null, $collate = null ) {
|
327 |
return parent::set_charset( $dbh, $charset, $collate );
|
328 |
}
|
329 |
|
330 |
/**
|
331 |
* Default implementation, calls wp_db apropriate method
|
332 |
*/
|
333 |
+
public function default_flush() {
|
334 |
return parent::flush();
|
335 |
}
|
336 |
|
337 |
/**
|
338 |
* Default implementation, calls wp_db apropriate method
|
339 |
*/
|
340 |
+
public function default_check_database_version( $dbh_or_table = false ) {
|
341 |
return parent::check_database_version( $dbh_or_table );
|
342 |
}
|
343 |
|
344 |
/**
|
345 |
* Default implementation, calls wp_db apropriate method
|
346 |
*/
|
347 |
+
public function default_supports_collation( $dbh_or_table = false ) {
|
348 |
return parent::supports_collation( $dbh_or_table );
|
349 |
}
|
350 |
|
351 |
/**
|
352 |
* Default implementation, calls wp_db apropriate method
|
353 |
*/
|
354 |
+
public function default_has_cap( $db_cap, $dbh_or_table = false ) {
|
355 |
return parent::has_cap( $db_cap, $dbh_or_table );
|
356 |
}
|
357 |
|
358 |
/**
|
359 |
* Default implementation, calls wp_db apropriate method
|
360 |
*/
|
361 |
+
public function default_db_version( $dbh_or_table = false ) {
|
362 |
return parent::db_version( $dbh_or_table );
|
363 |
}
|
364 |
|
365 |
/**
|
366 |
* Default implementation, calls wp_db apropriate method
|
367 |
*/
|
368 |
+
public function switch_active_processor( $offset ) {
|
369 |
$new_processor_number = $this->active_processor_number + $offset;
|
370 |
if ( $new_processor_number <= 0 ) {
|
371 |
$new_processor_number = 0;
|
459 |
}
|
460 |
}
|
461 |
|
462 |
+
/**
|
463 |
+
* Calls underlying processor's aproptiate method of wp_db
|
464 |
+
*/
|
465 |
+
function prepare( $query, $args ) {
|
466 |
+
$switched = $this->wpdb_mixin->switch_active_processor( 1 );
|
467 |
+
|
468 |
+
try {
|
469 |
+
$r = $this->wpdb_mixin->prepare( $query, $args );
|
470 |
+
|
471 |
+
$this->wpdb_mixin->switch_active_processor( -$switched );
|
472 |
+
return $r;
|
473 |
+
} catch ( \Exception $e ) {
|
474 |
+
$this->wpdb_mixin->switch_active_processor( -$switched );
|
475 |
+
throw $e;
|
476 |
+
}
|
477 |
+
}
|
478 |
+
|
479 |
/**
|
480 |
* Calls underlying processor's aproptiate method of wp_db
|
481 |
*/
|
DbCache_WpdbBase.php
CHANGED
File without changes
|
DbCache_WpdbInjection.php
CHANGED
@@ -62,6 +62,14 @@ class DbCache_WpdbInjection {
|
|
62 |
return $this->wpdb_mixin->default__escape( $data );
|
63 |
}
|
64 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
65 |
/**
|
66 |
* Placeholder for apropriate wp_db method replacement.
|
67 |
* By default calls wp_db implementation
|
62 |
return $this->wpdb_mixin->default__escape( $data );
|
63 |
}
|
64 |
|
65 |
+
/**
|
66 |
+
* Placeholder for apropriate wp_db method replacement.
|
67 |
+
* By default calls wp_db implementation
|
68 |
+
*/
|
69 |
+
function prepare( $query, $args ) {
|
70 |
+
return $this->wpdb_mixin->default_prepare( $query, $args );
|
71 |
+
}
|
72 |
+
|
73 |
/**
|
74 |
* Placeholder for apropriate wp_db method replacement.
|
75 |
* By default calls wp_db implementation
|
DbCache_WpdbInjection_QueryCaching.php
CHANGED
@@ -79,11 +79,11 @@ class DbCache_WpdbInjection_QueryCaching extends DbCache_WpdbInjection {
|
|
79 |
private $can_cache_once_per_request_result = null;
|
80 |
|
81 |
/*
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
function __construct() {
|
88 |
$c = Dispatcher::config();
|
89 |
$this->_config = $c;
|
@@ -222,6 +222,10 @@ class DbCache_WpdbInjection_QueryCaching extends DbCache_WpdbInjection {
|
|
222 |
return $this->next_injection->_escape( $data );
|
223 |
}
|
224 |
|
|
|
|
|
|
|
|
|
225 |
/**
|
226 |
* Initializes object, calls underlying processor
|
227 |
*/
|
@@ -635,7 +639,7 @@ class DbCache_WpdbInjection_QueryCaching extends DbCache_WpdbInjection {
|
|
635 |
'singletables' => '*' );
|
636 |
break;
|
637 |
// options are updated on each second request,
|
638 |
-
|
639 |
// are critical and don't flush "remaining".
|
640 |
// That can be changed by w3tc_dbcache_get_flush_groups filter
|
641 |
case 'options':
|
79 |
private $can_cache_once_per_request_result = null;
|
80 |
|
81 |
/*
|
82 |
+
* @param string $dbuser
|
83 |
+
* @param string $dbpassword
|
84 |
+
* @param string $dbname
|
85 |
+
* @param string $dbhost
|
86 |
+
*/
|
87 |
function __construct() {
|
88 |
$c = Dispatcher::config();
|
89 |
$this->_config = $c;
|
222 |
return $this->next_injection->_escape( $data );
|
223 |
}
|
224 |
|
225 |
+
function prepare( $query, $args ) {
|
226 |
+
return $this->next_injection->prepare( $query, $args );
|
227 |
+
}
|
228 |
+
|
229 |
/**
|
230 |
* Initializes object, calls underlying processor
|
231 |
*/
|
639 |
'singletables' => '*' );
|
640 |
break;
|
641 |
// options are updated on each second request,
|
642 |
+
// ignore by default probability that SELECTs with joins with options
|
643 |
// are critical and don't flush "remaining".
|
644 |
// That can be changed by w3tc_dbcache_get_flush_groups filter
|
645 |
case 'options':
|
Dispatcher.php
CHANGED
File without changes
|
Enterprise_CacheFlush_MakeSnsEvent.php
CHANGED
@@ -82,18 +82,6 @@ class Enterprise_CacheFlush_MakeSnsEvent extends Enterprise_SnsBase {
|
|
82 |
$this->_prepare_message( array( 'action' => 'opcache_flush' ) );
|
83 |
}
|
84 |
|
85 |
-
/**
|
86 |
-
* Reloads/compiles a PHP file.
|
87 |
-
*
|
88 |
-
* @param string $filename
|
89 |
-
* @return mixed
|
90 |
-
*/
|
91 |
-
function opcache_flush_file( $filename ) {
|
92 |
-
return $this->_prepare_message( array(
|
93 |
-
'action' => 'opcache_flush_file',
|
94 |
-
'filename' => $filename ) );
|
95 |
-
}
|
96 |
-
|
97 |
/**
|
98 |
* Purges/Flushes post page
|
99 |
*
|
82 |
$this->_prepare_message( array( 'action' => 'opcache_flush' ) );
|
83 |
}
|
84 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
85 |
/**
|
86 |
* Purges/Flushes post page
|
87 |
*
|
Enterprise_Dbcache_WpdbInjection_Cluster.php
CHANGED
@@ -452,11 +452,11 @@ class Enterprise_Dbcache_WpdbInjection_Cluster extends DbCache_WpdbInjection {
|
|
452 |
}
|
453 |
|
454 |
/*
|
455 |
-
|
456 |
-
|
457 |
-
|
458 |
-
|
459 |
-
|
460 |
function _is_current_zone( $zone ) {
|
461 |
// obsolete
|
462 |
if ( isset( $zone['SERVER_NAME'] ) ) {
|
@@ -480,10 +480,10 @@ class Enterprise_Dbcache_WpdbInjection_Cluster extends DbCache_WpdbInjection {
|
|
480 |
}
|
481 |
|
482 |
/*
|
483 |
-
|
484 |
-
|
485 |
-
|
486 |
-
|
487 |
function _db_connect_reuse_connection() {
|
488 |
$dbhname = $this->dbhname;
|
489 |
|
@@ -640,6 +640,17 @@ class Enterprise_Dbcache_WpdbInjection_Cluster extends DbCache_WpdbInjection {
|
|
640 |
return $this->wpdb_mixin->default__escape( $data );
|
641 |
}
|
642 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
643 |
/**
|
644 |
* Whether or not MySQL database is at least the required minimum version.
|
645 |
* The additional argument allows the caller to check a specific database.
|
452 |
}
|
453 |
|
454 |
/*
|
455 |
+
* Checks if this is our zone
|
456 |
+
*
|
457 |
+
* @param $zone array
|
458 |
+
* @return boolean
|
459 |
+
*/
|
460 |
function _is_current_zone( $zone ) {
|
461 |
// obsolete
|
462 |
if ( isset( $zone['SERVER_NAME'] ) ) {
|
480 |
}
|
481 |
|
482 |
/*
|
483 |
+
* Tries to reuse opened connection
|
484 |
+
*
|
485 |
+
* @return resource
|
486 |
+
*/
|
487 |
function _db_connect_reuse_connection() {
|
488 |
$dbhname = $this->dbhname;
|
489 |
|
640 |
return $this->wpdb_mixin->default__escape( $data );
|
641 |
}
|
642 |
|
643 |
+
/**
|
644 |
+
* Prepare calls escape, so database connection required
|
645 |
+
**/
|
646 |
+
function prepare( $query, $args ) {
|
647 |
+
if ( !$this->wpdb_mixin->dbh ) {
|
648 |
+
$this->db_connect( $query );
|
649 |
+
}
|
650 |
+
|
651 |
+
return $this->wpdb_mixin->default_prepare( $query, $args );
|
652 |
+
}
|
653 |
+
|
654 |
/**
|
655 |
* Whether or not MySQL database is at least the required minimum version.
|
656 |
* The additional argument allows the caller to check a specific database.
|
Enterprise_SnsBase.php
CHANGED
File without changes
|
Enterprise_SnsServer.php
CHANGED
@@ -120,8 +120,6 @@ class Enterprise_SnsServer extends Enterprise_SnsBase {
|
|
120 |
$pgcache_admin->cleanup_local();
|
121 |
elseif ( $action == 'opcache_flush' )
|
122 |
$executor->opcache_flush();
|
123 |
-
elseif ( $action == 'opcache_flush_file' )
|
124 |
-
$executor->opcache_flush_file( $m['filename'] );
|
125 |
elseif ( $action == 'flush_all' )
|
126 |
$executor->flush_all(
|
127 |
isset( $m['extras'] ) ? $m['extras'] : null );
|
120 |
$pgcache_admin->cleanup_local();
|
121 |
elseif ( $action == 'opcache_flush' )
|
122 |
$executor->opcache_flush();
|
|
|
|
|
123 |
elseif ( $action == 'flush_all' )
|
124 |
$executor->flush_all(
|
125 |
isset( $m['extras'] ) ? $m['extras'] : null );
|
Extension_Amp_Plugin.php
CHANGED
File without changes
|
Extension_Amp_Plugin_Admin.php
CHANGED
File without changes
|
Extension_CloudFlare_AdminActions.php
CHANGED
File without changes
|
Extension_CloudFlare_Api.php
CHANGED
File without changes
|
Extension_CloudFlare_GeneralPage_View.php
CHANGED
File without changes
|
Extension_CloudFlare_Page.php
CHANGED
File without changes
|
Extension_CloudFlare_Page_View.js
CHANGED
File without changes
|
Extension_CloudFlare_Page_View.php
CHANGED
File without changes
|
Extension_CloudFlare_Plugin.php
CHANGED
File without changes
|
Extension_CloudFlare_Plugin_Admin.php
CHANGED
File without changes
|
Extension_CloudFlare_Popup.php
CHANGED
File without changes
|
Extension_CloudFlare_Popup_View_Intro.php
CHANGED
File without changes
|
Extension_CloudFlare_Popup_View_Zones.php
CHANGED
File without changes
|
Extension_CloudFlare_SettingsForUi.php
CHANGED
File without changes
|
Extension_CloudFlare_View_Comments.css
CHANGED
File without changes
|
Extension_CloudFlare_View_Comments.js
CHANGED
File without changes
|
Extension_CloudFlare_View_Dashboard.js
CHANGED
File without changes
|
Extension_CloudFlare_Widget.php
CHANGED
File without changes
|
Extension_CloudFlare_Widget_Logo.png
CHANGED
File without changes
|
Extension_CloudFlare_Widget_View.css
CHANGED
File without changes
|
Extension_CloudFlare_Widget_View.php
CHANGED
File without changes
|
Extension_FeedBurner_Environment.php
CHANGED
File without changes
|
Extension_FeedBurner_Page.php
CHANGED
File without changes
|
Extension_FeedBurner_Page_View.php
CHANGED
File without changes
|
Extension_FeedBurner_Plugin.php
CHANGED
File without changes
|
Extension_FeedBurner_Plugin_Admin.php
CHANGED
File without changes
|
Extension_FragmentCache_Api.php
CHANGED
File without changes
|
Extension_FragmentCache_Core.php
CHANGED
File without changes
|
Extension_FragmentCache_Environment.php
CHANGED
File without changes
|
Extension_FragmentCache_GeneralPage.php
CHANGED
File without changes
|
Extension_FragmentCache_GeneralPage_View.php
CHANGED
File without changes
|
Extension_FragmentCache_Page.php
CHANGED
File without changes
|
Extension_FragmentCache_Page_View.php
CHANGED
File without changes
|
Extension_FragmentCache_Plugin.php
CHANGED
File without changes
|
Extension_FragmentCache_Plugin_Admin.php
CHANGED
File without changes
|
Extension_FragmentCache_WpObjectCache.php
CHANGED
@@ -301,9 +301,7 @@ class Extension_FragmentCache_WpObjectCache {
|
|
301 |
* @return boolean
|
302 |
*/
|
303 |
function reset() {
|
304 |
-
|
305 |
-
|
306 |
-
$_wp_using_ext_object_cache = $this->_caching;
|
307 |
|
308 |
return true;
|
309 |
}
|
301 |
* @return boolean
|
302 |
*/
|
303 |
function reset() {
|
304 |
+
$this->cache = array();
|
|
|
|
|
305 |
|
306 |
return true;
|
307 |
}
|
Extension_Genesis_Page.php
CHANGED
File without changes
|
Extension_Genesis_Page_View.php
CHANGED
File without changes
|
Extension_Genesis_Plugin.php
CHANGED
File without changes
|
Extension_Genesis_Plugin_Admin.php
CHANGED
File without changes
|
Extension_NewRelic_AdminActions.php
CHANGED
File without changes
|
Extension_NewRelic_AdminNotes.php
CHANGED
File without changes
|
Extension_NewRelic_Api.php
CHANGED
File without changes
|
Extension_NewRelic_Core.php
CHANGED
File without changes
|
Extension_NewRelic_GeneralPage.php
CHANGED
File without changes
|
Extension_NewRelic_GeneralPage_View.php
CHANGED
File without changes
|
Extension_NewRelic_Page.php
CHANGED
File without changes
|
Extension_NewRelic_Page_View_Apm.php
CHANGED
File without changes
|
Extension_NewRelic_Plugin.php
CHANGED
File without changes
|
Extension_NewRelic_Plugin_Admin.php
CHANGED
File without changes
|
Extension_NewRelic_Popup.php
CHANGED
File without changes
|
Extension_NewRelic_Popup_View.js
CHANGED
File without changes
|
Extension_NewRelic_Popup_View_Intro.php
CHANGED
File without changes
|
Extension_NewRelic_Popup_View_ListApplications.php
CHANGED
File without changes
|
Extension_NewRelic_Service.php
CHANGED
File without changes
|
Extension_NewRelic_Widget.php
CHANGED
File without changes
|
Extension_NewRelic_Widget_View.css
CHANGED
File without changes
|
Extension_NewRelic_Widget_View.js
CHANGED
File without changes
|
Extension_NewRelic_Widget_View_Apm.php
CHANGED
File without changes
|
Extension_NewRelic_Widget_View_Browser.php
CHANGED
File without changes
|
Extension_NewRelic_Widget_View_NotConfigured.php
CHANGED
File without changes
|
Extension_WordPressSeo_Plugin.php
CHANGED
File without changes
|
Extension_WordPressSeo_Plugin_Admin.php
CHANGED
File without changes
|
Extension_Wpml_Plugin.php
CHANGED
File without changes
|
Extension_Wpml_Plugin_Admin.php
CHANGED
File without changes
|
Extensions_AdminActions.php
CHANGED
File without changes
|
Extensions_Page.php
CHANGED
File without changes
|
Extensions_Plugin_Admin.php
CHANGED
File without changes
|
Extensions_Util.php
CHANGED
File without changes
|
Generic_AdminActions_Config.php
CHANGED
File without changes
|
Generic_AdminActions_Default.php
CHANGED
File without changes
|
Generic_AdminActions_Flush.php
CHANGED
@@ -21,7 +21,10 @@ class Generic_AdminActions_Flush {
|
|
21 |
}
|
22 |
|
23 |
function w3tc_flush_current_page() {
|
24 |
-
$url =
|
|
|
|
|
|
|
25 |
w3tc_flush_url( $url );
|
26 |
|
27 |
?>
|
21 |
}
|
22 |
|
23 |
function w3tc_flush_current_page() {
|
24 |
+
$url = filter_input( INPUT_GET, 'url', FILTER_SANITIZE_URL );
|
25 |
+
if ( empty( $url ) && isset( $_SERVER['HTTP_REFERER'] ) ) {
|
26 |
+
$url = $_SERVER['HTTP_REFERER'];
|
27 |
+
}
|
28 |
w3tc_flush_url( $url );
|
29 |
|
30 |
?>
|
Generic_AdminActions_Test.php
CHANGED
File without changes
|
Generic_AdminLinks.php
CHANGED
File without changes
|
Generic_AdminNotes.php
CHANGED
File without changes
|
Generic_ConfigLabels.php
CHANGED
File without changes
|
Generic_Environment.php
CHANGED
File without changes
|
Generic_Faq.php
CHANGED
File without changes
|
Generic_GeneralPage_View_ShowEdge.js
CHANGED
File without changes
|
Generic_GeneralPage_View_ShowSupportUs.js
CHANGED
File without changes
|
Generic_Page_About.php
CHANGED
File without changes
|
Generic_Page_Dashboard.php
CHANGED
File without changes
|
Generic_Page_Dashboard_View.css
CHANGED
File without changes
|
Generic_Page_General.php
CHANGED
File without changes
|
Generic_Page_Install.php
CHANGED
File without changes
|
Generic_Plugin.php
CHANGED
@@ -283,8 +283,8 @@ class Generic_Plugin {
|
|
283 |
'parent' => 'w3tc',
|
284 |
'title' => __( 'Purge Current Page', 'w3-total-cache' ),
|
285 |
'href' => wp_nonce_url( admin_url(
|
286 |
-
|
287 |
-
'w3tc' )
|
288 |
);
|
289 |
|
290 |
$menu_items['20010.generic'] = array(
|
283 |
'parent' => 'w3tc',
|
284 |
'title' => __( 'Purge Current Page', 'w3-total-cache' ),
|
285 |
'href' => wp_nonce_url( admin_url(
|
286 |
+
'admin.php?page=w3tc_dashboard&w3tc_flush_post&post_id=' .
|
287 |
+
Util_Environment::detect_post_id() ), 'w3tc' )
|
288 |
);
|
289 |
|
290 |
$menu_items['20010.generic'] = array(
|
Generic_Plugin_Admin.php
CHANGED
@@ -245,14 +245,14 @@ class Generic_Plugin_Admin {
|
|
245 |
function admin_head() {
|
246 |
if ( isset( $_GET['page'] ) && $_GET['page'] == 'w3tc_dashboard' ) {
|
247 |
?>
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
}
|
257 |
|
258 |
if ( $this->_config->get_boolean( 'common.track_usage' ) && $this->is_w3tc_page ) {
|
@@ -267,66 +267,68 @@ class Generic_Plugin_Admin {
|
|
267 |
$profile = 'UA-2264433-8';
|
268 |
|
269 |
?>
|
270 |
-
|
271 |
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
272 |
-
|
273 |
-
|
274 |
})(window,document,'script','https://api.w3-edge.com/v1/analytics','w3tc_ga');
|
275 |
|
276 |
-
|
277 |
-
|
278 |
-
|
279 |
-
|
280 |
-
|
281 |
-
|
282 |
-
|
283 |
-
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
|
290 |
-
|
291 |
-
|
292 |
-
|
|
|
|
|
293 |
}
|
294 |
|
295 |
?>
|
296 |
-
|
297 |
-
|
298 |
-
|
299 |
-
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
-
|
309 |
-
|
310 |
-
|
311 |
-
|
312 |
-
|
313 |
-
|
314 |
-
|
315 |
-
|
316 |
-
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
|
326 |
-
|
327 |
-
|
328 |
-
|
329 |
-
|
330 |
}
|
331 |
|
332 |
|
@@ -438,30 +440,30 @@ class Generic_Plugin_Admin {
|
|
438 |
|
439 |
function print_plugins_page_css() {
|
440 |
echo "
|
441 |
-
|
442 |
-
|
443 |
-
|
444 |
-
|
445 |
-
|
446 |
-
|
447 |
-
|
448 |
-
|
449 |
-
|
450 |
-
|
451 |
-
|
452 |
-
|
453 |
-
|
454 |
-
|
455 |
-
|
456 |
-
|
457 |
-
|
458 |
-
|
459 |
-
|
460 |
-
|
461 |
-
|
462 |
-
|
463 |
-
|
464 |
-
|
465 |
}
|
466 |
|
467 |
/**
|
@@ -706,8 +708,8 @@ class Generic_Plugin_Admin {
|
|
706 |
}
|
707 |
|
708 |
/*
|
709 |
-
|
710 |
-
|
711 |
try {
|
712 |
$environment = Dispatcher::component( 'Root_Environment' );
|
713 |
$environment->fix_in_wpadmin( $this->_config );
|
245 |
function admin_head() {
|
246 |
if ( isset( $_GET['page'] ) && $_GET['page'] == 'w3tc_dashboard' ) {
|
247 |
?>
|
248 |
+
<script type="text/javascript">
|
249 |
+
jQuery(function() {
|
250 |
+
jQuery('#normal-sortables').masonry({
|
251 |
+
itemSelector: '.postbox'
|
252 |
+
});
|
253 |
+
});
|
254 |
+
</script>
|
255 |
+
<?php
|
256 |
}
|
257 |
|
258 |
if ( $this->_config->get_boolean( 'common.track_usage' ) && $this->is_w3tc_page ) {
|
267 |
$profile = 'UA-2264433-8';
|
268 |
|
269 |
?>
|
270 |
+
<script type="text/javascript">
|
271 |
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
272 |
+
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
273 |
+
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
274 |
})(window,document,'script','https://api.w3-edge.com/v1/analytics','w3tc_ga');
|
275 |
|
276 |
+
if (window.w3tc_ga) {
|
277 |
+
w3tc_ga('create', '<?php echo $profile ?>', 'auto');
|
278 |
+
w3tc_ga('set', {
|
279 |
+
'dimension1': 'w3-total-cache',
|
280 |
+
'dimension2': '<?php echo W3TC_VERSION ?>',
|
281 |
+
'dimension3': '<?php global $wp_version; echo $wp_version; ?>',
|
282 |
+
'dimension4': 'php<?php echo phpversion() ?>',
|
283 |
+
'dimension5': '<?php echo esc_attr( $_SERVER["SERVER_SOFTWARE"] ) ?>',
|
284 |
+
'dimension6': 'mysql<?php global $wpdb; echo $wpdb->db_version() ?>',
|
285 |
+
'dimension7': '<?php echo Util_Environment::home_url_host() ?>',
|
286 |
+
'userId': '<?php echo $current_user->user_email ?>',
|
287 |
+
'page': '<?php echo $page ?>'
|
288 |
+
});
|
289 |
+
|
290 |
+
w3tc_ga('send', 'pageview');
|
291 |
+
}
|
292 |
+
|
293 |
+
</script>
|
294 |
+
<?php
|
295 |
}
|
296 |
|
297 |
?>
|
298 |
+
<style type="text/css" media="screen">
|
299 |
+
#toplevel_page_w3tc_dashboard .wp-menu-image {
|
300 |
+
background: url(<?php echo plugins_url( 'pub/img/w3tc-sprite.png', W3TC_FILE )?>) no-repeat 0 -32px !important;
|
301 |
+
}
|
302 |
+
#toplevel_page_w3tc_dashboard:hover .wp-menu-image,
|
303 |
+
#toplevel_page_w3tc_dashboard.wp-has-current-submenu .wp-menu-image {
|
304 |
+
background-position:0 0 !important;
|
305 |
+
}
|
306 |
+
#icon-edit.icon32-posts-casestudy {
|
307 |
+
background: url(<?php echo plugins_url( 'pub/img/w3tc-sprite.png', W3TC_FILE ) ?>) no-repeat;
|
308 |
+
}
|
309 |
+
/**
|
310 |
+
* HiDPI Displays
|
311 |
+
*/
|
312 |
+
@media print,
|
313 |
+
(-o-min-device-pixel-ratio: 5/4),
|
314 |
+
(-webkit-min-device-pixel-ratio: 1.25),
|
315 |
+
(min-resolution: 120dpi) {
|
316 |
+
|
317 |
+
#toplevel_page_w3tc_dashboard .wp-menu-image {
|
318 |
+
background-image: url(<?php echo plugins_url( 'pub/img/w3tc-sprite-retina.png', W3TC_FILE )?>) !important;
|
319 |
+
background-size: 30px 64px !important;
|
320 |
+
}
|
321 |
+
#toplevel_page_w3tc_dashboard:hover .wp-menu-image,
|
322 |
+
#toplevel_page_w3tc_dashboard.wp-has-current-submenu .wp-menu-image {
|
323 |
+
background-position:0 0 !important;
|
324 |
+
}
|
325 |
+
#icon-edit.icon32-posts-casestudy {
|
326 |
+
background-image: url(<?php echo plugins_url( 'pub/img/w3tc-sprite-retina.png', W3TC_FILE ) ?>) !important;
|
327 |
+
background-size: 30px 64px !important;
|
328 |
+
}
|
329 |
+
}
|
330 |
+
</style>
|
331 |
+
<?php
|
332 |
}
|
333 |
|
334 |
|
440 |
|
441 |
function print_plugins_page_css() {
|
442 |
echo "
|
443 |
+
<style type=\"text/css\">
|
444 |
+
.w3tc-missing-files ul {
|
445 |
+
margin-left: 20px;
|
446 |
+
list-style-type: disc;
|
447 |
+
}
|
448 |
+
#w3tc {
|
449 |
+
padding: 0;
|
450 |
+
}
|
451 |
+
#w3tc span {
|
452 |
+
font-size: 0.6em;
|
453 |
+
font-style: normal;
|
454 |
+
text-shadow: none;
|
455 |
+
}
|
456 |
+
ul.w3tc-incomp-plugins, ul.w3-bullet-list {
|
457 |
+
list-style: disc outside;
|
458 |
+
margin-left: 17px;
|
459 |
+
margin-top: 0;
|
460 |
+
margin-bottom: 0;
|
461 |
+
}
|
462 |
+
ul.w3tc-incomp-plugins li div {
|
463 |
+
width: 170px;
|
464 |
+
display: inline-block;
|
465 |
+
}
|
466 |
+
</style>";
|
467 |
}
|
468 |
|
469 |
/**
|
708 |
}
|
709 |
|
710 |
/*
|
711 |
+
* Filesystem environment fix, if needed
|
712 |
+
*/
|
713 |
try {
|
714 |
$environment = Dispatcher::component( 'Root_Environment' );
|
715 |
$environment->fix_in_wpadmin( $this->_config );
|
Generic_Plugin_AdminCompatibility.php
CHANGED
File without changes
|
Generic_Plugin_AdminNotifications.php
CHANGED
File without changes
|
Generic_Plugin_AdminRowActions.php
CHANGED
File without changes
|
Generic_Plugin_WidgetForum.php
CHANGED
File without changes
|
Generic_Plugin_WidgetNews.php
CHANGED
File without changes
|
Generic_WidgetServices.php
CHANGED
File without changes
|
Generic_WidgetServices_View.php
CHANGED
File without changes
|
Generic_WidgetSpreadTheWord.js
CHANGED
File without changes
|
Generic_WidgetSpreadTheWord_Plugin.php
CHANGED
File without changes
|
Generic_WidgetSpreadTheWord_View.php
CHANGED
File without changes
|
Licensing_AdminActions.php
CHANGED
File without changes
|
Licensing_Core.php
CHANGED
File without changes
|
Licensing_Plugin_Admin.php
CHANGED
File without changes
|
Minify_ConfigLabels.php
CHANGED
File without changes
|
Minify_ContentMinifier.php
CHANGED
File without changes
|
Minify_Core.php
CHANGED
File without changes
|
Minify_Environment.php
CHANGED
File without changes
|
Minify_Extract.php
CHANGED
File without changes
|
Minify_GeneralPage_View_ShowHelp.js
CHANGED
File without changes
|
Minify_GeneralPage_View_ShowHelpForce.js
CHANGED
File without changes
|
Minify_HelpPopup_View.php
CHANGED
File without changes
|
Minify_MinifiedFileRequestHandler.php
CHANGED
File without changes
|
Minify_Page.php
CHANGED
File without changes
|
Minify_Plugin.php
CHANGED
@@ -419,12 +419,14 @@ class Minify_Plugin {
|
|
419 |
$home_url_regexp = Util_Environment::home_url_regexp();
|
420 |
|
421 |
$path = '';
|
422 |
-
if ( Util_Environment::is_wpmu() && !Util_Environment::is_wpmu_subdomain() )
|
423 |
-
$path = ltrim( Util_Environment::
|
|
|
424 |
|
425 |
foreach ( $files as $file ) {
|
426 |
-
if ( $path && strpos( $file, $path ) === 0 )
|
427 |
$file = substr( $file, strlen( $path ) );
|
|
|
428 |
|
429 |
$this->replaced_scripts[] = $file;
|
430 |
|
@@ -434,8 +436,12 @@ class Minify_Plugin {
|
|
434 |
} else {
|
435 |
// local JS files
|
436 |
$file = ltrim( $file, '/' );
|
437 |
-
if ( home_url() == site_url() &&
|
|
|
|
|
438 |
$file = str_replace( ltrim( Util_Environment::site_url_uri(), '/' ), '', $file );
|
|
|
|
|
439 |
$file = ltrim( preg_replace( '~' . $home_url_regexp . '~i', '', $file ), '/\\' );
|
440 |
$regexps[] = '(' . $home_url_regexp . ')?/?' . Util_Environment::preg_quote( $file );
|
441 |
}
|
419 |
$home_url_regexp = Util_Environment::home_url_regexp();
|
420 |
|
421 |
$path = '';
|
422 |
+
if ( Util_Environment::is_wpmu() && !Util_Environment::is_wpmu_subdomain() ) {
|
423 |
+
$path = ltrim( Util_Environment::network_home_url_uri(), '/' );
|
424 |
+
}
|
425 |
|
426 |
foreach ( $files as $file ) {
|
427 |
+
if ( $path && strpos( $file, $path ) === 0 ) {
|
428 |
$file = substr( $file, strlen( $path ) );
|
429 |
+
}
|
430 |
|
431 |
$this->replaced_scripts[] = $file;
|
432 |
|
436 |
} else {
|
437 |
// local JS files
|
438 |
$file = ltrim( $file, '/' );
|
439 |
+
if ( home_url() == site_url() &&
|
440 |
+
ltrim( Util_Environment::site_url_uri(), '/' ) &&
|
441 |
+
strpos( $file, ltrim( Util_Environment::site_url_uri(), '/' ) ) === 0 ) {
|
442 |
$file = str_replace( ltrim( Util_Environment::site_url_uri(), '/' ), '', $file );
|
443 |
+
}
|
444 |
+
|
445 |
$file = ltrim( preg_replace( '~' . $home_url_regexp . '~i', '', $file ), '/\\' );
|
446 |
$regexps[] = '(' . $home_url_regexp . ')?/?' . Util_Environment::preg_quote( $file );
|
447 |
}
|
Minify_Plugin_Admin.php
CHANGED
File without changes
|
Mobile_Base.php
CHANGED
@@ -75,9 +75,8 @@ abstract class Mobile_Base {
|
|
75 |
$theme = $this->get_theme();
|
76 |
|
77 |
if ( $theme ) {
|
78 |
-
|
79 |
-
|
80 |
-
return $stylesheet;
|
81 |
}
|
82 |
|
83 |
return false;
|
75 |
$theme = $this->get_theme();
|
76 |
|
77 |
if ( $theme ) {
|
78 |
+
$v = explode( '/', $theme );
|
79 |
+
return isset( $v[1] ) ? $v[1] : '';
|
|
|
80 |
}
|
81 |
|
82 |
return false;
|
Mobile_Page_ReferrerGroups.php
CHANGED
File without changes
|
Mobile_Page_UserAgentGroups.php
CHANGED
File without changes
|
Mobile_Redirect.php
CHANGED
File without changes
|
Mobile_Referrer.php
CHANGED
File without changes
|
Mobile_UserAgent.php
CHANGED
File without changes
|
ModuleStatus.php
CHANGED
File without changes
|
ObjectCache_ConfigLabels.php
CHANGED
File without changes
|
ObjectCache_Environment.php
CHANGED
File without changes
|
ObjectCache_Page.php
CHANGED
File without changes
|
ObjectCache_Plugin.php
CHANGED
File without changes
|
ObjectCache_Plugin_Admin.php
CHANGED
File without changes
|
ObjectCache_WpObjectCache.php
CHANGED
File without changes
|
ObjectCache_WpObjectCache_Regular.php
CHANGED
@@ -383,9 +383,7 @@ class ObjectCache_WpObjectCache_Regular {
|
|
383 |
* @return boolean
|
384 |
*/
|
385 |
function reset() {
|
386 |
-
|
387 |
-
|
388 |
-
$_wp_using_ext_object_cache = $this->_caching;
|
389 |
|
390 |
return true;
|
391 |
}
|
383 |
* @return boolean
|
384 |
*/
|
385 |
function reset() {
|
386 |
+
$this->cache = array();
|
|
|
|
|
387 |
|
388 |
return true;
|
389 |
}
|
PageSpeed_Api.php
CHANGED
File without changes
|
PageSpeed_Plugin_Widget.php
CHANGED
File without changes
|
PageSpeed_Widget_View.css
CHANGED
File without changes
|
PageSpeed_Widget_View.js
CHANGED
File without changes
|
PageSpeed_Widget_View.php
CHANGED
File without changes
|
PageSpeed_Widget_View_NotConfigured.php
CHANGED
File without changes
|
PgCache_ConfigLabels.php
CHANGED
File without changes
|
PgCache_ContentGrabber.php
CHANGED
File without changes
|
PgCache_Environment.php
CHANGED
@@ -772,13 +772,6 @@ class PgCache_Environment {
|
|
772 |
" RewriteCond %{QUERY_STRING} =\"\"\n" :
|
773 |
" RewriteCond %{ENV:W3TC_QUERY_STRING} =\"\"\n";
|
774 |
|
775 |
-
/**
|
776 |
-
* Check permalink structure trailing slash
|
777 |
-
*/
|
778 |
-
if ( substr( $permalink_structure, -1 ) == '/' ) {
|
779 |
-
$use_cache_rules .= " RewriteCond %{REQUEST_URI} \\/$\n";
|
780 |
-
}
|
781 |
-
|
782 |
/**
|
783 |
* Check for rejected cookies
|
784 |
*/
|
@@ -811,6 +804,16 @@ class PgCache_Environment {
|
|
811 |
|
812 |
foreach ( $exts as $ext ) {
|
813 |
$rules .= $use_cache_rules;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
814 |
$rules .= " RewriteCond \"" . $document_root . $uri_prefix . $ext .
|
815 |
$env_W3TC_ENC . "\"" . $switch . "\n";
|
816 |
$rules .= " RewriteRule .* \"" . $uri_prefix . $ext .
|
@@ -1144,7 +1147,7 @@ class PgCache_Environment {
|
|
1144 |
}
|
1145 |
|
1146 |
if ( $config->get_boolean( 'browsercache.enabled' ) &&
|
1147 |
-
|
1148 |
$rules .= "set \$w3tc_enc \"\";\n";
|
1149 |
|
1150 |
$rules .= "if (\$http_accept_encoding ~ br) {\n";
|
@@ -1239,23 +1242,23 @@ class PgCache_Environment {
|
|
1239 |
$cache_dir );
|
1240 |
|
1241 |
$rules .= 'location ~ ".*(?<!php)$" {' . "\n";
|
1242 |
-
|
1243 |
-
|
1244 |
|
1245 |
if ( $config->get_boolean( 'browsercache.enabled' ) &&
|
1246 |
$config->get_boolean( 'browsercache.html.compression' ) ) {
|
1247 |
-
|
1248 |
-
|
1249 |
|
1250 |
-
|
1251 |
-
|
1252 |
-
|
1253 |
$rules .= " }\n";
|
1254 |
-
|
1255 |
$rules .= "}\n";
|
1256 |
|
1257 |
-
|
1258 |
-
|
1259 |
$rules .= "}\n";
|
1260 |
|
1261 |
return $rules;
|
772 |
" RewriteCond %{QUERY_STRING} =\"\"\n" :
|
773 |
" RewriteCond %{ENV:W3TC_QUERY_STRING} =\"\"\n";
|
774 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
775 |
/**
|
776 |
* Check for rejected cookies
|
777 |
*/
|
804 |
|
805 |
foreach ( $exts as $ext ) {
|
806 |
$rules .= $use_cache_rules;
|
807 |
+
|
808 |
+
if ( $ext == '.html' ) {
|
809 |
+
/**
|
810 |
+
* Check permalink structure trailing slash
|
811 |
+
*/
|
812 |
+
if ( substr( $permalink_structure, -1 ) == '/' ) {
|
813 |
+
$rules .= " RewriteCond %{REQUEST_URI} \\/$\n";
|
814 |
+
}
|
815 |
+
}
|
816 |
+
|
817 |
$rules .= " RewriteCond \"" . $document_root . $uri_prefix . $ext .
|
818 |
$env_W3TC_ENC . "\"" . $switch . "\n";
|
819 |
$rules .= " RewriteRule .* \"" . $uri_prefix . $ext .
|
1147 |
}
|
1148 |
|
1149 |
if ( $config->get_boolean( 'browsercache.enabled' ) &&
|
1150 |
+
$config->get_boolean( 'browsercache.html.brotli' ) ) {
|
1151 |
$rules .= "set \$w3tc_enc \"\";\n";
|
1152 |
|
1153 |
$rules .= "if (\$http_accept_encoding ~ br) {\n";
|
1242 |
$cache_dir );
|
1243 |
|
1244 |
$rules .= 'location ~ ".*(?<!php)$" {' . "\n";
|
1245 |
+
$rules .= ' set $memcached_key "$http_host$request_uri_noslash/' .
|
1246 |
+
$key_postfix . $env_w3tc_enc . '";' . "\n";
|
1247 |
|
1248 |
if ( $config->get_boolean( 'browsercache.enabled' ) &&
|
1249 |
$config->get_boolean( 'browsercache.html.compression' ) ) {
|
1250 |
+
$rules .= ' memcached_gzip_flag 65536;' . "\n";
|
1251 |
+
}
|
1252 |
|
1253 |
+
$rules .= ' default_type text/html;' . "\n";
|
1254 |
+
$rules .= ' if ($w3tc_rewrite = 1) {' . "\n";
|
1255 |
+
$rules .= ' memcached_pass localhost:11211;' . "\n";
|
1256 |
$rules .= " }\n";
|
1257 |
+
$rules .= ' error_page 404 502 504 = @fallback;' . "\n";
|
1258 |
$rules .= "}\n";
|
1259 |
|
1260 |
+
$rules .= 'location @fallback {' . "\n";
|
1261 |
+
$rules .= ' try_files $uri $uri/ $uri.html /index.php?$args;' . "\n";
|
1262 |
$rules .= "}\n";
|
1263 |
|
1264 |
return $rules;
|
PgCache_Flush.php
CHANGED
File without changes
|
PgCache_Page.php
CHANGED
File without changes
|
PgCache_Plugin.php
CHANGED
File without changes
|
PgCache_Plugin_Admin.php
CHANGED
File without changes
|
README.md
ADDED
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
Welcome to the W3 Total Cache repository on GitHub. Here you can browse the source, look at open issues and keep track of development.
|
2 |
+
|
3 |
+
If you are not a developer, please use the [W3 Total Cache plugin page](https://wordpress.org/plugins/w3-total-cache/) on WordPress.org.
|
4 |
+
|
5 |
+
## Support
|
6 |
+
This repository is not suitable for support. Please don't use our issue tracker for support requests. Support can take place through the appropriate channels:
|
7 |
+
|
8 |
+
* The support form can be found in Performance -> Support page of your wp-admin.
|
9 |
+
* [Our community forum on wp.org](https://wordpress.org/support/plugin/w3-total-cache).
|
10 |
+
|
11 |
+
Support requests in issues on this repository will be closed on sight.
|
12 |
+
|
13 |
+
## Contributing to W3 Total Cache
|
14 |
+
If you have a patch or have stumbled upon an issue with W3 Total Cache, you can contribute this back to the code. Please read our [contributor guidelines](https://github.com/W3EDGE/w3-total-cache/wiki/Contributor-Guidelines) for more information how you can do this.
|
Root_AdminActions.php
CHANGED
File without changes
|
Root_AdminActivation.php
CHANGED
File without changes
|
Root_AdminMenu.php
CHANGED
File without changes
|
Root_Environment.php
CHANGED
File without changes
|
Root_Loader.php
CHANGED
File without changes
|
Support_AdminActions.php
CHANGED
File without changes
|
Support_Page.php
CHANGED
File without changes
|
Support_Page_View_DoneContent.php
CHANGED
File without changes
|
Support_Page_View_PageContent.php
CHANGED
File without changes
|
SystemOpCache_AdminActions.php
CHANGED
File without changes
|
SystemOpCache_Core.php
CHANGED
File without changes
|
SystemOpCache_GeneralPage_View.php
CHANGED
File without changes
|
SystemOpCache_Plugin_Admin.php
CHANGED
File without changes
|
UsageStatistics_Core.php
CHANGED
File without changes
|
UsageStatistics_Plugin.php
CHANGED
File without changes
|
UsageStatistics_Plugin_Admin.php
CHANGED
File without changes
|
UsageStatistics_StorageReader.php
CHANGED
File without changes
|
UsageStatistics_StorageWriter.php
CHANGED
File without changes
|
UsageStatistics_View_General.php
CHANGED
File without changes
|
UsageStatistics_Widget.php
CHANGED
File without changes
|
UsageStatistics_Widget_View.css
CHANGED
File without changes
|
UsageStatistics_Widget_View.js
CHANGED
File without changes
|
UsageStatistics_Widget_View.php
CHANGED
File without changes
|
UsageStatistics_Widget_View_Disabled.php
CHANGED
File without changes
|
Util_Activation.php
CHANGED
File without changes
|
Util_Admin.php
CHANGED
File without changes
|
Util_AttachToActions.php
CHANGED
File without changes
|
Util_Bus.php
CHANGED
File without changes
|
Util_ConfigLabel.php
CHANGED
File without changes
|
Util_Content.php
CHANGED
File without changes
|
Util_Debug.php
CHANGED
File without changes
|
Util_Environment.php
CHANGED
@@ -108,10 +108,10 @@ class Util_Environment {
|
|
108 |
}
|
109 |
|
110 |
/*
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
static public function filename_to_url( $filename, $use_site_url = false ) {
|
116 |
// using wp-content instead of document_root as known dir since dirbased
|
117 |
// multisite wp adds blogname to the path inside site_url
|
@@ -953,8 +953,13 @@ class Util_Environment {
|
|
953 |
if ( isset( $rel['scheme'] ) || isset( $rel['host'] ) )
|
954 |
return $relative_url;
|
955 |
|
956 |
-
if ( !isset( $rel['host'] ) )
|
957 |
-
$
|
|
|
|
|
|
|
|
|
|
|
958 |
|
959 |
$scheme = isset( $rel['scheme'] ) ? $rel['scheme'] . '://' : '//';
|
960 |
$host = isset( $rel['host'] ) ? $rel['host'] : '';
|
@@ -1069,15 +1074,15 @@ class Util_Environment {
|
|
1069 |
*/
|
1070 |
static public function is_w3tc_pro( $config = null ) {
|
1071 |
if ( defined( 'W3TC_PRO' ) && W3TC_PRO )
|
1072 |
-
|
1073 |
if ( defined( 'W3TC_ENTERPRISE' ) && W3TC_ENTERPRISE )
|
1074 |
-
|
1075 |
|
1076 |
if ( is_object( $config ) ) {
|
1077 |
-
|
1078 |
|
1079 |
-
|
1080 |
-
|
1081 |
}
|
1082 |
|
1083 |
return false;
|
108 |
}
|
109 |
|
110 |
/*
|
111 |
+
* Returns URL from filename/dirname
|
112 |
+
*
|
113 |
+
* @return string
|
114 |
+
*/
|
115 |
static public function filename_to_url( $filename, $use_site_url = false ) {
|
116 |
// using wp-content instead of document_root as known dir since dirbased
|
117 |
// multisite wp adds blogname to the path inside site_url
|
953 |
if ( isset( $rel['scheme'] ) || isset( $rel['host'] ) )
|
954 |
return $relative_url;
|
955 |
|
956 |
+
if ( !isset( $rel['host'] ) ) {
|
957 |
+
$home_parsed = parse_url( get_home_url() );
|
958 |
+
$rel['host'] = $home_parsed['host'];
|
959 |
+
if ( isset( $home_parsed['port'] ) ) {
|
960 |
+
$rel['port'] = $home_parsed['port'];
|
961 |
+
}
|
962 |
+
}
|
963 |
|
964 |
$scheme = isset( $rel['scheme'] ) ? $rel['scheme'] . '://' : '//';
|
965 |
$host = isset( $rel['host'] ) ? $rel['host'] : '';
|
1074 |
*/
|
1075 |
static public function is_w3tc_pro( $config = null ) {
|
1076 |
if ( defined( 'W3TC_PRO' ) && W3TC_PRO )
|
1077 |
+
return true;
|
1078 |
if ( defined( 'W3TC_ENTERPRISE' ) && W3TC_ENTERPRISE )
|
1079 |
+
return true;
|
1080 |
|
1081 |
if ( is_object( $config ) ) {
|
1082 |
+
$plugin_type = $config->get_string( 'plugin.type' );
|
1083 |
|
1084 |
+
if ( $plugin_type == 'pro' || $plugin_type == 'pro_dev' )
|
1085 |
+
return true;
|
1086 |
}
|
1087 |
|
1088 |
return false;
|
Util_Environment_Exception.php
CHANGED
File without changes
|
Util_Environment_Exceptions.php
CHANGED
File without changes
|
Util_File.php
CHANGED
File without changes
|
Util_Http.php
CHANGED
File without changes
|
Util_Installed.php
CHANGED
File without changes
|
Util_Mime.php
CHANGED
File without changes
|
Util_PageUrls.php
CHANGED
File without changes
|
Util_Request.php
CHANGED
File without changes
|
Util_Rule.php
CHANGED
File without changes
|
Util_RuleSnippet.php
CHANGED
File without changes
|
Util_Theme.php
CHANGED
File without changes
|
Util_Ui.php
CHANGED
File without changes
|
Util_UsageStatistics.php
CHANGED
File without changes
|
Util_Widget.php
CHANGED
File without changes
|
Util_WpFile.php
CHANGED
File without changes
|
Util_WpFile_FilesystemChmodException.php
CHANGED
File without changes
|
Util_WpFile_FilesystemCopyException.php
CHANGED
File without changes
|
Util_WpFile_FilesystemMkdirException.php
CHANGED
File without changes
|
Util_WpFile_FilesystemModifyException.php
CHANGED
File without changes
|
Util_WpFile_FilesystemOperationException.php
CHANGED
File without changes
|
Util_WpFile_FilesystemRmException.php
CHANGED
File without changes
|
Util_WpFile_FilesystemRmdirException.php
CHANGED
File without changes
|
Util_WpFile_FilesystemWriteException.php
CHANGED
File without changes
|
Util_WpmuBlogmap.php
CHANGED
File without changes
|
Varnish_Flush.php
CHANGED
File without changes
|
Varnish_Plugin.php
CHANGED
File without changes
|
extension-example/Extension_Example.php
CHANGED
File without changes
|
extension-example/Extension_Example_Admin.php
CHANGED
File without changes
|
extension-example/Extension_Example_Page_View.php
CHANGED
File without changes
|
extension-example/w3-total-cache-example.php
CHANGED
File without changes
|
inc/options/cdn/akamai.php
CHANGED
File without changes
|
inc/options/cdn/att.php
CHANGED
File without changes
|
inc/options/cdn/common/cnames-readonly.php
CHANGED
File without changes
|
inc/options/cdn/s3_compatible.php
CHANGED
File without changes
|
inc/options/dashboard.php
CHANGED
File without changes
|
inc/options/enterprise/dbcluster-config.php
CHANGED
File without changes
|
inc/options/enterprise/dbcluster_general_section.php
CHANGED
File without changes
|
inc/options/minify/googleccjs2.php
CHANGED
File without changes
|
inc/options/parts/memcached.php
CHANGED
File without changes
|
inc/options/parts/memcached_extension.php
CHANGED
File without changes
|
inc/options/parts/redis.php
CHANGED
File without changes
|
inc/options/parts/redis_extension.php
CHANGED
File without changes
|
inc/widget/latest_news.php
CHANGED
File without changes
|
inc/widget/latest_news_ajax.php
CHANGED
File without changes
|
inc/widget/latest_news_control.php
CHANGED
File without changes
|
ini/dbcluster-config-sample.php
CHANGED
File without changes
|
ini/nginx-network-sample-config.conf
CHANGED
File without changes
|
ini/nginx-standalone-sample-config.conf
CHANGED
File without changes
|
ini/opcache.ini
CHANGED
File without changes
|
ini/s3-sample-policy.txt
CHANGED
File without changes
|
ini/varnish-sample-config.vcl
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/Client.php
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/ClientInterface.php
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/Cookie/CookieJar.php
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/Cookie/CookieJarInterface.php
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/Cookie/FileCookieJar.php
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/Cookie/SessionCookieJar.php
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/Cookie/SetCookie.php
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/Exception/BadResponseException.php
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/Exception/ClientException.php
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/Exception/ConnectException.php
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/Exception/GuzzleException.php
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/Exception/RequestException.php
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/Exception/SeekException.php
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/Exception/ServerException.php
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/Exception/TooManyRedirectsException.php
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/Exception/TransferException.php
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/Handler/CurlFactory.php
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/Handler/CurlFactoryInterface.php
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/Handler/CurlHandler.php
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/Handler/CurlMultiHandler.php
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/Handler/EasyHandle.php
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/Handler/MockHandler.php
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/Handler/Proxy.php
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/Handler/StreamHandler.php
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/HandlerStack.php
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/MessageFormatter.php
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/Middleware.php
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/Pool.php
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/PrepareBodyMiddleware.php
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/Promise/AggregateException.php
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/Promise/CancellationException.php
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/Promise/Coroutine.php
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/Promise/EachPromise.php
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/Promise/FulfilledPromise.php
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/Promise/Promise.php
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/Promise/PromiseInterface.php
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/Promise/PromisorInterface.php
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/Promise/RejectedPromise.php
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/Promise/RejectionException.php
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/Promise/TaskQueue.php
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/Promise/TaskQueueInterface.php
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/Promise/functions.php
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/Promise/functions_include.php
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/Psr7/AppendStream.php
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/Psr7/BufferStream.php
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/Psr7/CachingStream.php
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/Psr7/DroppingStream.php
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/Psr7/FnStream.php
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/Psr7/InflateStream.php
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/Psr7/LazyOpenStream.php
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/Psr7/LimitStream.php
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/Psr7/MessageTrait.php
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/Psr7/MultipartStream.php
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/Psr7/NoSeekStream.php
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/Psr7/PumpStream.php
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/Psr7/Request.php
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/Psr7/Response.php
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/Psr7/ServerRequest.php
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/Psr7/Stream.php
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/Psr7/StreamDecoratorTrait.php
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/Psr7/StreamWrapper.php
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/Psr7/UploadedFile.php
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/Psr7/Uri.php
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/Psr7/functions.php
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/Psr7/functions_include.php
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/RedirectMiddleware.php
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/RequestOptions.php
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/RetryMiddleware.php
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/TransferStats.php
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/UriTemplate.php
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/functions.php
CHANGED
File without changes
|
lib/Azure/GuzzleHttp/functions_include.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Blob/BlobRestProxy.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Blob/Internal/IBlob.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Blob/Models/AccessCondition.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Blob/Models/AccessPolicy.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Blob/Models/AcquireLeaseOptions.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Blob/Models/AcquireLeaseResult.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Blob/Models/Blob.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Blob/Models/BlobBlockType.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Blob/Models/BlobPrefix.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Blob/Models/BlobProperties.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Blob/Models/BlobServiceOptions.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Blob/Models/BlobType.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Blob/Models/Block.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Blob/Models/BlockList.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Blob/Models/BreakLeaseResult.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Blob/Models/CommitBlobBlocksOptions.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Blob/Models/Container.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Blob/Models/ContainerACL.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Blob/Models/ContainerProperties.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Blob/Models/CopyBlobOptions.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Blob/Models/CopyBlobResult.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Blob/Models/CreateBlobBlockOptions.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Blob/Models/CreateBlobOptions.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Blob/Models/CreateBlobPagesOptions.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Blob/Models/CreateBlobPagesResult.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Blob/Models/CreateBlobSnapshotOptions.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Blob/Models/CreateBlobSnapshotResult.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Blob/Models/CreateContainerOptions.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Blob/Models/DeleteBlobOptions.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Blob/Models/DeleteContainerOptions.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Blob/Models/GetBlobMetadataOptions.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Blob/Models/GetBlobMetadataResult.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Blob/Models/GetBlobOptions.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Blob/Models/GetBlobPropertiesOptions.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Blob/Models/GetBlobPropertiesResult.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Blob/Models/GetBlobResult.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Blob/Models/GetContainerACLResult.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Blob/Models/GetContainerPropertiesResult.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Blob/Models/LeaseMode.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Blob/Models/ListBlobBlocksOptions.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Blob/Models/ListBlobBlocksResult.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Blob/Models/ListBlobsOptions.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Blob/Models/ListBlobsResult.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Blob/Models/ListContainersOptions.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Blob/Models/ListContainersResult.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Blob/Models/ListPageBlobRangesOptions.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Blob/Models/ListPageBlobRangesResult.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Blob/Models/PageRange.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Blob/Models/PageWriteOption.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Blob/Models/PublicAccessType.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Blob/Models/SetBlobMetadataOptions.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Blob/Models/SetBlobMetadataResult.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Blob/Models/SetBlobPropertiesOptions.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Blob/Models/SetBlobPropertiesResult.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Blob/Models/SetContainerMetadataOptions.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Blob/Models/SignedIdentifier.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Common/CloudConfigurationManager.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Common/Internal/Authentication/IAuthScheme.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Common/Internal/Authentication/SharedKeyAuthScheme.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Common/Internal/Authentication/StorageAuthScheme.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Common/Internal/Authentication/TableSharedKeyLiteAuthScheme.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Common/Internal/ConnectionStringParser.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Common/Internal/ConnectionStringSource.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Common/Internal/FilterableService.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Common/Internal/Filters/AuthenticationFilter.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Common/Internal/Filters/DateFilter.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Common/Internal/Filters/ExponentialRetryPolicy.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Common/Internal/Filters/HeadersFilter.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Common/Internal/Filters/RetryPolicy.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Common/Internal/Filters/RetryPolicyFilter.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Common/Internal/Http/HttpCallContext.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Common/Internal/HttpFormatter.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Common/Internal/IServiceFilter.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Common/Internal/InvalidArgumentTypeException.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Common/Internal/Logger.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Common/Internal/Resources.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Common/Internal/RestProxy.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Common/Internal/RetryMiddlewareFactory.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Common/Internal/Serialization/ISerializer.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Common/Internal/Serialization/JsonSerializer.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Common/Internal/Serialization/XmlSerializer.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Common/Internal/ServiceRestProxy.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Common/Internal/ServiceSettings.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Common/Internal/StorageServiceSettings.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Common/Internal/Utilities.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Common/Internal/Validate.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Common/Models/GetServicePropertiesResult.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Common/Models/Logging.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Common/Models/Metrics.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Common/Models/RetentionPolicy.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Common/Models/ServiceProperties.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Common/ServiceException.php
CHANGED
File without changes
|
lib/Azure/MicrosoftAzureStorage/Common/ServicesBuilder.php
CHANGED
File without changes
|
lib/Azure/PsrHttpMessage/MessageInterface.php
CHANGED
File without changes
|
lib/Azure/PsrHttpMessage/RequestInterface.php
CHANGED
File without changes
|
lib/Azure/PsrHttpMessage/ResponseInterface.php
CHANGED
File without changes
|
lib/Azure/PsrHttpMessage/ServerRequestInterface.php
CHANGED
File without changes
|
lib/Azure/PsrHttpMessage/StreamInterface.php
CHANGED
File without changes
|
lib/Azure/PsrHttpMessage/UploadedFileInterface.php
CHANGED
File without changes
|
lib/Azure/PsrHttpMessage/UriInterface.php
CHANGED
File without changes
|
lib/Azure/loader.php
CHANGED
File without changes
|
lib/Db/mssql.php
CHANGED
File without changes
|
lib/Google/Auth/Abstract.php
CHANGED
File without changes
|
lib/Google/Auth/AppIdentity.php
CHANGED
File without changes
|
lib/Google/Auth/AssertionCredentials.php
CHANGED
File without changes
|
lib/Google/Auth/Exception.php
CHANGED
File without changes
|
lib/Google/Auth/LoginTicket.php
CHANGED
File without changes
|
lib/Google/Auth/OAuth2.php
CHANGED
File without changes
|
lib/Google/Auth/Simple.php
CHANGED
File without changes
|
lib/Google/Cache/Abstract.php
CHANGED
File without changes
|
lib/Google/Cache/Apc.php
CHANGED
File without changes
|
lib/Google/Cache/Exception.php
CHANGED
File without changes
|
lib/Google/Cache/File.php
CHANGED
File without changes
|
lib/Google/Cache/Memcache.php
CHANGED
File without changes
|
lib/Google/Cache/Null.php
CHANGED
File without changes
|
lib/Google/Client.php
CHANGED
File without changes
|
lib/Google/Collection.php
CHANGED
File without changes
|
lib/Google/Config.php
CHANGED
File without changes
|
lib/Google/Exception.php
CHANGED
File without changes
|
lib/Google/Http/Batch.php
CHANGED
File without changes
|
lib/Google/Http/CacheParser.php
CHANGED
File without changes
|
lib/Google/Http/MediaFileUpload.php
CHANGED
File without changes
|
lib/Google/Http/REST.php
CHANGED
File without changes
|
lib/Google/Http/Request.php
CHANGED
File without changes
|
lib/Google/IO/Abstract.php
CHANGED
File without changes
|
lib/Google/IO/Curl.php
CHANGED
File without changes
|
lib/Google/IO/Exception.php
CHANGED
File without changes
|
lib/Google/IO/Stream.php
CHANGED
File without changes
|
lib/Google/IO/cacerts.pem
CHANGED
File without changes
|
lib/Google/Model.php
CHANGED
File without changes
|
lib/Google/Service.php
CHANGED
File without changes
|
lib/Google/Service/Drive.php
CHANGED
File without changes
|
lib/Google/Service/Exception.php
CHANGED
File without changes
|
lib/Google/Service/Oauth2.php
CHANGED
File without changes
|
lib/Google/Service/Resource.php
CHANGED
File without changes
|
lib/Google/Signer/Abstract.php
CHANGED
File without changes
|
lib/Google/Signer/P12.php
CHANGED
File without changes
|
lib/Google/Utils.php
CHANGED
File without changes
|
lib/Google/Utils/URITemplate.php
CHANGED
File without changes
|
lib/Google/Verifier/Abstract.php
CHANGED
File without changes
|
lib/Google/Verifier/Pem.php
CHANGED
File without changes
|
lib/Minify/DooDigestAuth.php
CHANGED
File without changes
|
lib/Minify/Minify/Cache/W3TCDerived.php
CHANGED
File without changes
|
lib/Minify/Minify/Cache/ZendPlatform.php
CHANGED
File without changes
|
lib/Minify/Minify/DebugDetector.php
CHANGED
File without changes
|
lib/Minify/Minify/HTML/Helper.php
CHANGED
File without changes
|
lib/Minify/Minify/JS/ClosureCompiler.php
CHANGED
File without changes
|
lib/Minify/Minify/Loader.php
CHANGED
File without changes
|
lib/Minify/Minify/YUI/CssCompressor.java
CHANGED
File without changes
|
lib/Minify/Minify/YUI/CssCompressor.php
CHANGED
File without changes
|
lib/NetDNA/NetDNA.php
CHANGED
File without changes
|
lib/NewRelic/NewRelicAPI.php
CHANGED
File without changes
|
lib/NewRelic/NewRelicWrapper.php
CHANGED
File without changes
|
lib/OAuth/W3tcOAuth.php
CHANGED
File without changes
|
lib/SNS/README.md
CHANGED
File without changes
|
lib/SNS/lib/requestcore/LICENSE
CHANGED
File without changes
|
lib/SNS/lib/requestcore/README.md
CHANGED
File without changes
|
lib/SNS/lib/requestcore/cacert.pem
CHANGED
File without changes
|
lib/SNS/lib/requestcore/requestcore.class.php
CHANGED
File without changes
|
lib/SNS/sdk.class.php
CHANGED
File without changes
|
lib/SNS/services/MessageValidator/MessageValidator.php
CHANGED
@@ -20,92 +20,92 @@ require_once(W3TC_LIB_DIR . '/SNS/services/MessageValidator/sns-exceptions.php')
|
|
20 |
*/
|
21 |
class MessageValidator {
|
22 |
|
23 |
-
|
24 |
-
|
25 |
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
}
|
20 |
*/
|
21 |
class MessageValidator {
|
22 |
|
23 |
+
private $hostPattern
|
24 |
+
= '/^sns\.[a-zA-Z0-9\-]{3,}\.amazonaws\.com(\.cn)?$/';
|
25 |
|
26 |
+
/**
|
27 |
+
* Constructs the Message Validator object and ensures that openssl is installed
|
28 |
+
*
|
29 |
+
* @throws Exception If openssl is not installed
|
30 |
+
*/
|
31 |
+
public function __construct()
|
32 |
+
{
|
33 |
+
if (!extension_loaded('openssl')) {
|
34 |
+
throw new Exception('The openssl extension is required to use the SNS Message '
|
35 |
+
. 'Validator. Please install this extension in order to use this feature.');
|
36 |
+
}
|
37 |
+
}
|
38 |
|
39 |
+
/**
|
40 |
+
* Validates a message from SNS to ensure that it was delivered by AWS
|
41 |
+
*
|
42 |
+
* @param Message $message The message to validate
|
43 |
+
*
|
44 |
+
* @throws CannotGetPublicKeyFromCertificateException If the certificate cannot be retrieved
|
45 |
+
* @throws CertificateFromUnrecognizedSourceException If the certificate's source cannot be verified
|
46 |
+
* @throws InvalidMessageSignatureException If the message's signature is invalid
|
47 |
+
*/
|
48 |
+
public function validate($message) {
|
49 |
+
// Get the cert's URL and ensure it is from AWS
|
50 |
+
$certUrl = $message->get('SigningCertURL');
|
51 |
+
$this->validateUrl($certUrl);
|
52 |
|
53 |
+
// Get the cert itself and extract the public key
|
54 |
+
$response = wp_remote_get($certUrl);
|
55 |
+
if (is_wp_error($response))
|
56 |
+
throw new CannotGetPublicKeyFromCertificateException('Could not retrieve certificate from ' . $certUrl);
|
57 |
|
58 |
+
$certificate = wp_remote_retrieve_body($response);
|
59 |
+
$publicKey = openssl_get_publickey($certificate);
|
60 |
+
if (!$publicKey) {
|
61 |
+
throw new CannotGetPublicKeyFromCertificateException('Could not extract public key from ' . $certUrl);
|
62 |
+
}
|
63 |
|
64 |
+
// Verify the signature of the message
|
65 |
+
$stringToSign = $message->getStringToSign();
|
66 |
+
$incomingSignature = base64_decode($message->get('Signature'));
|
67 |
+
if (0 !== openssl_verify($stringToSign, $incomingSignature, $publicKey, OPENSSL_ALGO_SHA1)) {
|
68 |
+
throw new InvalidMessageSignatureException('The message did not match the signature ' . "\n" . $stringToSign);
|
69 |
+
}
|
70 |
+
}
|
71 |
|
72 |
+
/**
|
73 |
+
* Ensures that the URL of the certificate is one belonging to AWS, and not
|
74 |
+
* just something from the amazonaws domain, which could include S3 buckets.
|
75 |
+
*
|
76 |
+
* @param string $url Certificate URL
|
77 |
+
*
|
78 |
+
* @throws InvalidSnsMessageException if the cert url is invalid.
|
79 |
+
*/
|
80 |
+
private function validateUrl($url)
|
81 |
+
{
|
82 |
+
$parsed = parse_url($url);
|
83 |
+
if (empty($parsed['scheme'])
|
84 |
+
|| empty($parsed['host'])
|
85 |
+
|| $parsed['scheme'] !== 'https'
|
86 |
+
|| substr($url, -4) !== '.pem'
|
87 |
+
|| !preg_match($this->hostPattern, $parsed['host'])
|
88 |
+
) {
|
89 |
+
throw new InvalidSnsMessageException(
|
90 |
+
'The certificate is located on an invalid domain.'
|
91 |
+
);
|
92 |
+
}
|
93 |
+
}
|
94 |
+
/**
|
95 |
+
* Determines if a message is valid and that is was delivered by AWS. This method does not throw exceptions and
|
96 |
+
* returns a simple boolean value.
|
97 |
+
*
|
98 |
+
* @param Message $message The message to validate
|
99 |
+
* @return bool
|
100 |
+
*/
|
101 |
+
public function isValid($message)
|
102 |
+
{
|
103 |
+
try {
|
104 |
+
$this->validate($message);
|
105 |
+
return true;
|
106 |
+
} catch (SnsMessageValidatorException $e) {
|
107 |
+
$error = $e->getMessage();
|
108 |
+
return false;
|
109 |
+
}
|
110 |
+
}
|
111 |
}
|
lib/SNS/services/sns.class.php
CHANGED
File without changes
|
lib/SNS/utilities/request.class.php
CHANGED
File without changes
|
lib/SNS/utilities/response.class.php
CHANGED
File without changes
|
lib/SNS/utilities/simplexml.class.php
CHANGED
File without changes
|
lib/SNS/utilities/utilities.class.php
CHANGED
File without changes
|
pub/img/W3TC_dashboard_logo_title-retina.png
CHANGED
File without changes
|
pub/img/W3TC_dashboard_logo_title.png
CHANGED
File without changes
|
pub/img/button-grad-active.png
CHANGED
File without changes
|
pub/img/button-grad.png
CHANGED
File without changes
|
pub/img/cdn-highwinds-logo.png
CHANGED
File without changes
|
pub/img/close.png
CHANGED
File without changes
|
pub/img/google-logo.png
CHANGED
File without changes
|
pub/img/open.png
CHANGED
File without changes
|
pub/img/sidebar-background.png
CHANGED
File without changes
|
pub/img/w3tc-sprite-admin-bar.png
CHANGED
File without changes
|
pub/img/w3tc-sprite-retina.png
CHANGED
File without changes
|
pub/img/w3tc-sprite.png
CHANGED
File without changes
|
pub/img/w3tc_google-logo-retina.png
CHANGED
File without changes
|
pub/img/w3tc_google-logo.png
CHANGED
File without changes
|
pub/img/w3tc_newrelic-logo-retina.png
CHANGED
File without changes
|
pub/img/w3tc_newrelic-logo.png
CHANGED
File without changes
|
pub/img/w3tc_swarmify-logo-retina.png
CHANGED
File without changes
|
pub/img/w3tc_swarmify-logo.png
CHANGED
File without changes
|
pub/img/w3tc_w3edge-logo-retina.png
CHANGED
File without changes
|
pub/img/w3tc_w3edge-logo.png
CHANGED
File without changes
|
pub/img/w3tc_w3tc-logo-retina.png
CHANGED
File without changes
|
pub/img/w3tc_w3tc-logo.png
CHANGED
File without changes
|
pub/img/white-grad-active.png
CHANGED
File without changes
|
pub/img/white-grad.png
CHANGED
File without changes
|
pub/img/wpspin_light.gif
CHANGED
File without changes
|
pub/js/lightbox.js
CHANGED
@@ -62,12 +62,14 @@ var W3tc_Lightbox = {
|
|
62 |
|
63 |
if (typeof ga != 'undefined') {
|
64 |
var w3tc_action = this.options.url.match(/w3tc_action=([^&]+)/);
|
65 |
-
if (
|
66 |
-
w3tc_ga('send', 'pageview', 'overlays/' + w3tc_action[1]);
|
67 |
-
else {
|
68 |
-
var w3tc_action = this.options.url.match(/&(w3tc_[^&]+)&/);
|
69 |
if (w3tc_action && w3tc_action[1])
|
70 |
w3tc_ga('send', 'pageview', 'overlays/' + w3tc_action[1]);
|
|
|
|
|
|
|
|
|
|
|
71 |
}
|
72 |
}
|
73 |
}
|
62 |
|
63 |
if (typeof ga != 'undefined') {
|
64 |
var w3tc_action = this.options.url.match(/w3tc_action=([^&]+)/);
|
65 |
+
if (window.w3tc_ga) {
|
|
|
|
|
|
|
66 |
if (w3tc_action && w3tc_action[1])
|
67 |
w3tc_ga('send', 'pageview', 'overlays/' + w3tc_action[1]);
|
68 |
+
else {
|
69 |
+
var w3tc_action = this.options.url.match(/&(w3tc_[^&]+)&/);
|
70 |
+
if (w3tc_action && w3tc_action[1])
|
71 |
+
w3tc_ga('send', 'pageview', 'overlays/' + w3tc_action[1]);
|
72 |
+
}
|
73 |
}
|
74 |
}
|
75 |
}
|
pub/js/options.js
CHANGED
@@ -329,7 +329,7 @@ function w3tc_csp_reference() {
|
|
329 |
width: 890,
|
330 |
height: 460,
|
331 |
url: ajaxurl + '?action=w3tc_ajax&_wpnonce=' + w3tc_nonce +
|
332 |
-
|
333 |
});
|
334 |
jQuery('div#overlay,.lightbox-content').click(function() {
|
335 |
W3tc_Lightbox.close();
|
@@ -1458,25 +1458,25 @@ jQuery(function() {
|
|
1458 |
jQuery('.w3tc_error').each(function() {
|
1459 |
var id = jQuery(this).attr('id');
|
1460 |
var text = jQuery(this).text();
|
1461 |
-
if (id)
|
1462 |
w3tc_ga('send', 'event', 'w3tc_error', id, text);
|
1463 |
});
|
1464 |
jQuery('.w3tc_note').each(function() {
|
1465 |
var id = jQuery(this).attr('id');
|
1466 |
var text = jQuery(this).text();
|
1467 |
-
if (id)
|
1468 |
w3tc_ga('send', 'event', 'w3tc_note', id, text);
|
1469 |
});
|
1470 |
|
1471 |
jQuery('body').on('click', 'a', function() {
|
1472 |
var url = jQuery(this).attr('href');
|
1473 |
-
if (url)
|
1474 |
w3tc_ga('send', 'event', 'anchor', 'click', url, {useBeacon: true});
|
1475 |
});
|
1476 |
|
1477 |
jQuery('body').on('click', 'input[type="button"]', function() {
|
1478 |
var name = jQuery(this).attr('name');
|
1479 |
-
if (name)
|
1480 |
w3tc_ga('send', 'event', 'button', 'click', name, {useBeacon: true});
|
1481 |
});
|
1482 |
jQuery('body').on('click', 'input[type="submit"]', function() {
|
@@ -1485,7 +1485,7 @@ jQuery(function() {
|
|
1485 |
if (!id)
|
1486 |
id = name;
|
1487 |
|
1488 |
-
if (name)
|
1489 |
w3tc_ga('send', 'event', 'button', id, name, {useBeacon: true});
|
1490 |
});
|
1491 |
|
@@ -1493,7 +1493,7 @@ jQuery(function() {
|
|
1493 |
var name = jQuery(this).attr('name');
|
1494 |
var action = jQuery(this).is(':checked') ? 'check' : 'uncheck';
|
1495 |
|
1496 |
-
if (name)
|
1497 |
w3tc_ga('send', 'event', 'checkbox', action, name);
|
1498 |
});
|
1499 |
|
@@ -1501,7 +1501,7 @@ jQuery(function() {
|
|
1501 |
var name = jQuery(this).attr('name');
|
1502 |
var value = jQuery(this).val();
|
1503 |
|
1504 |
-
if (name && value)
|
1505 |
w3tc_ga('send', 'event', 'select', value, name);
|
1506 |
});
|
1507 |
}
|
329 |
width: 890,
|
330 |
height: 460,
|
331 |
url: ajaxurl + '?action=w3tc_ajax&_wpnonce=' + w3tc_nonce +
|
332 |
+
'&w3tc_action=browsercache_quick_reference',
|
333 |
});
|
334 |
jQuery('div#overlay,.lightbox-content').click(function() {
|
335 |
W3tc_Lightbox.close();
|
1458 |
jQuery('.w3tc_error').each(function() {
|
1459 |
var id = jQuery(this).attr('id');
|
1460 |
var text = jQuery(this).text();
|
1461 |
+
if (id && window.w3tc_ga)
|
1462 |
w3tc_ga('send', 'event', 'w3tc_error', id, text);
|
1463 |
});
|
1464 |
jQuery('.w3tc_note').each(function() {
|
1465 |
var id = jQuery(this).attr('id');
|
1466 |
var text = jQuery(this).text();
|
1467 |
+
if (id && window.w3tc_ga)
|
1468 |
w3tc_ga('send', 'event', 'w3tc_note', id, text);
|
1469 |
});
|
1470 |
|
1471 |
jQuery('body').on('click', 'a', function() {
|
1472 |
var url = jQuery(this).attr('href');
|
1473 |
+
if (url && window.w3tc_ga)
|
1474 |
w3tc_ga('send', 'event', 'anchor', 'click', url, {useBeacon: true});
|
1475 |
});
|
1476 |
|
1477 |
jQuery('body').on('click', 'input[type="button"]', function() {
|
1478 |
var name = jQuery(this).attr('name');
|
1479 |
+
if (name && window.w3tc_ga)
|
1480 |
w3tc_ga('send', 'event', 'button', 'click', name, {useBeacon: true});
|
1481 |
});
|
1482 |
jQuery('body').on('click', 'input[type="submit"]', function() {
|
1485 |
if (!id)
|
1486 |
id = name;
|
1487 |
|
1488 |
+
if (name && window.w3tc_ga)
|
1489 |
w3tc_ga('send', 'event', 'button', id, name, {useBeacon: true});
|
1490 |
});
|
1491 |
|
1493 |
var name = jQuery(this).attr('name');
|
1494 |
var action = jQuery(this).is(':checked') ? 'check' : 'uncheck';
|
1495 |
|
1496 |
+
if (name && window.w3tc_ga)
|
1497 |
w3tc_ga('send', 'event', 'checkbox', action, name);
|
1498 |
});
|
1499 |
|
1501 |
var name = jQuery(this).attr('name');
|
1502 |
var value = jQuery(this).val();
|
1503 |
|
1504 |
+
if (name && value && window.w3tc_ga)
|
1505 |
w3tc_ga('send', 'event', 'select', value, name);
|
1506 |
});
|
1507 |
}
|
pub/opcache.php
CHANGED
@@ -38,17 +38,13 @@ if ( hash_equals( wp_hash( $uri ), $nonce ) ) {
|
|
38 |
case 'flush':
|
39 |
$result = $w3_cache->opcache_flush();
|
40 |
break;
|
41 |
-
case 'flush_file':
|
42 |
-
$file = \W3TC\Util_Request::get_string( 'file' );
|
43 |
-
$result = $w3_cache->opcache_flush_file( $file );
|
44 |
-
break;
|
45 |
}
|
46 |
if ( $result ) {
|
47 |
header( $_SERVER["SERVER_PROTOCOL"] . " 200 OK" );
|
48 |
die( 'Success' );
|
49 |
} else {
|
50 |
header( $_SERVER["SERVER_PROTOCOL"] . " 500 OK" );
|
51 |
-
die(
|
52 |
}
|
53 |
|
54 |
} else {
|
38 |
case 'flush':
|
39 |
$result = $w3_cache->opcache_flush();
|
40 |
break;
|
|
|
|
|
|
|
|
|
41 |
}
|
42 |
if ( $result ) {
|
43 |
header( $_SERVER["SERVER_PROTOCOL"] . " 200 OK" );
|
44 |
die( 'Success' );
|
45 |
} else {
|
46 |
header( $_SERVER["SERVER_PROTOCOL"] . " 500 OK" );
|
47 |
+
die( 'command could not be executed' );
|
48 |
}
|
49 |
|
50 |
} else {
|
pub/sns.php
CHANGED
File without changes
|
readme.txt
CHANGED
@@ -3,7 +3,7 @@ Contributors: fredericktownes
|
|
3 |
Tags: seo, cache, caching, compression, maxcdn, nginx, varnish, redis, new relic, aws, amazon web services, s3, cloudfront, rackspace, cloudflare, azure, apache
|
4 |
Requires at least: 3.2
|
5 |
Tested up to: 5.1
|
6 |
-
Stable tag: 0.9.7.
|
7 |
License: GPLv2 or later
|
8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
9 |
|
@@ -270,6 +270,19 @@ Please reach out to all of these people and support their projects if you're so
|
|
270 |
|
271 |
== Changelog ==
|
272 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
273 |
= 0.9.7.3 =
|
274 |
* Fixed caching of redirect responses based on empty response body
|
275 |
* Improved compatibility with WordPress 5.1
|
3 |
Tags: seo, cache, caching, compression, maxcdn, nginx, varnish, redis, new relic, aws, amazon web services, s3, cloudfront, rackspace, cloudflare, azure, apache
|
4 |
Requires at least: 3.2
|
5 |
Tested up to: 5.1
|
6 |
+
Stable tag: 0.9.7.4
|
7 |
License: GPLv2 or later
|
8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
9 |
|
270 |
|
271 |
== Changelog ==
|
272 |
|
273 |
+
= 0.9.7.4 =
|
274 |
+
* Fixed PHP warning when Redis integration not configured correctly
|
275 |
+
* Fixed 404 in multisite caused by subdirectory issue
|
276 |
+
* Fixed object cache issue in multisite where object cache was cleared at wrong time
|
277 |
+
* Fixed database cluster in WordPress 5.1
|
278 |
+
* Fixed warning caused by user agent theme change used
|
279 |
+
* Fixed minification in multisite when URLs were set to root-blog based url
|
280 |
+
* Fixed undefined w3tc_ga issue
|
281 |
+
* Improved purging of current page by using post_id instead of URL
|
282 |
+
* Improved cache delivery of /feed URLs
|
283 |
+
* Improved security on calls to opcache flush
|
284 |
+
* Improved minification of files in environments running on non-default ports
|
285 |
+
|
286 |
= 0.9.7.3 =
|
287 |
* Fixed caching of redirect responses based on empty response body
|
288 |
* Improved compatibility with WordPress 5.1
|
w3-total-cache-api.php
CHANGED
@@ -5,7 +5,7 @@ if ( !defined( 'ABSPATH' ) ) {
|
|
5 |
}
|
6 |
|
7 |
define( 'W3TC', true );
|
8 |
-
define( 'W3TC_VERSION', '0.9.7.
|
9 |
define( 'W3TC_POWERED_BY', 'W3 Total Cache' );
|
10 |
define( 'W3TC_EMAIL', 'w3tc@w3-edge.com' );
|
11 |
define( 'W3TC_TEXT_DOMAIN', 'w3-total-cache' );
|
@@ -514,45 +514,6 @@ function w3tc_opcache_flush( $http = false ) {
|
|
514 |
}
|
515 |
}
|
516 |
|
517 |
-
/**
|
518 |
-
* deprecated
|
519 |
-
* Reloads files.
|
520 |
-
*
|
521 |
-
* @param string[] $files list of files supports, fullpath, from root, wp-content
|
522 |
-
* @param bool $http if delete request should be made over http to current site. Default false.
|
523 |
-
* @return mixed
|
524 |
-
*/
|
525 |
-
function w3tc_opcache_flush_file( $file, $http = false ) {
|
526 |
-
if ( !$http ) {
|
527 |
-
$o = \W3TC\Dispatcher::component( 'CacheFlush' );
|
528 |
-
return $o->opcache_flush_file( $file );
|
529 |
-
} else {
|
530 |
-
$url = WP_PLUGIN_URL . '/' . dirname( W3TC_FILE ) . '/pub/opcache.php';
|
531 |
-
$path = parse_url( $url, PHP_URL_PATH );
|
532 |
-
|
533 |
-
$post = array(
|
534 |
-
'method' => 'POST',
|
535 |
-
'timeout' => 45,
|
536 |
-
'redirection' => 5,
|
537 |
-
'httpversion' => '1.0',
|
538 |
-
'blocking' => true,
|
539 |
-
'body' => array(
|
540 |
-
'nonce' => wp_hash( $path ),
|
541 |
-
'command' => 'flush_file',
|
542 |
-
'file' => $file
|
543 |
-
),
|
544 |
-
);
|
545 |
-
$result = wp_remote_post( $url, $post );
|
546 |
-
if ( is_wp_error( $result ) ) {
|
547 |
-
return $result;
|
548 |
-
} elseif ( $result['response']['code'] != '200' ) {
|
549 |
-
return $result['response']['code'];
|
550 |
-
}
|
551 |
-
|
552 |
-
return true;
|
553 |
-
}
|
554 |
-
}
|
555 |
-
|
556 |
/**
|
557 |
* Deprecated. Retained for 3rd parties that used it. see w3tc_config()
|
558 |
*
|
5 |
}
|
6 |
|
7 |
define( 'W3TC', true );
|
8 |
+
define( 'W3TC_VERSION', '0.9.7.4' );
|
9 |
define( 'W3TC_POWERED_BY', 'W3 Total Cache' );
|
10 |
define( 'W3TC_EMAIL', 'w3tc@w3-edge.com' );
|
11 |
define( 'W3TC_TEXT_DOMAIN', 'w3-total-cache' );
|
514 |
}
|
515 |
}
|
516 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
517 |
/**
|
518 |
* Deprecated. Retained for 3rd parties that used it. see w3tc_config()
|
519 |
*
|
w3-total-cache-old-php.php
CHANGED
File without changes
|
w3-total-cache.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/*
|
3 |
Plugin Name: W3 Total Cache
|
4 |
Description: The highest rated and most complete WordPress performance plugin. Dramatically improve the speed and user experience of your site. Add browser, page, object and database caching as well as minify and content delivery network (CDN) to WordPress.
|
5 |
-
Version: 0.9.7.
|
6 |
Plugin URI: https://www.w3-edge.com/wordpress-plugins/w3-total-cache/
|
7 |
Author: Frederick Townes
|
8 |
Author URI: http://www.linkedin.com/in/fredericktownes
|
2 |
/*
|
3 |
Plugin Name: W3 Total Cache
|
4 |
Description: The highest rated and most complete WordPress performance plugin. Dramatically improve the speed and user experience of your site. Add browser, page, object and database caching as well as minify and content delivery network (CDN) to WordPress.
|
5 |
+
Version: 0.9.7.4
|
6 |
Plugin URI: https://www.w3-edge.com/wordpress-plugins/w3-total-cache/
|
7 |
Author: Frederick Townes
|
8 |
Author URI: http://www.linkedin.com/in/fredericktownes
|