├── Base_Page_Settings.php ├── BrowserCache_ConfigLabels.php ├── BrowserCache_Core.php ├── BrowserCache_Environment.php ├── BrowserCache_Page.php ├── BrowserCache_Plugin.php ├── BrowserCache_Plugin_Admin.php ├── Cache.php ├── CacheFlush.php ├── CacheFlush_Locally.php ├── Cache_Apc.php ├── Cache_Apcu.php ├── Cache_Base.php ├── Cache_Eaccelerator.php ├── Cache_File.php ├── Cache_File_Cleaner.php ├── Cache_File_Cleaner_Generic.php ├── Cache_File_Generic.php ├── Cache_Memcache.php ├── Cache_Memcached.php ├── Cache_Memcached_Stats.php ├── Cache_Redis.php ├── Cache_Wincache.php ├── Cache_Xcache.php ├── CdnEngine.php ├── CdnEngine_Azure.php ├── CdnEngine_Base.php ├── CdnEngine_Ftp.php ├── CdnEngine_GoogleDrive.php ├── CdnEngine_Mirror.php ├── CdnEngine_Mirror_Akamai.php ├── CdnEngine_Mirror_Att.php ├── CdnEngine_Mirror_Cotendo.php ├── CdnEngine_Mirror_Edgecast.php ├── CdnEngine_Mirror_Highwinds.php ├── CdnEngine_Mirror_MaxCdn.php ├── CdnEngine_Mirror_RackSpaceCdn.php ├── CdnEngine_RackSpaceCloudFiles.php ├── CdnEngine_S3.php ├── CdnEngine_S3_Cf.php ├── CdnEngine_S3_Cf_Custom.php ├── CdnEngine_S3_Cf_S3.php ├── CdnEngine_S3_Compatible.php ├── Cdn_AdminActions.php ├── Cdn_AdminNotes.php ├── Cdn_CacheFlush.php ├── Cdn_ConfigLabels.php ├── Cdn_Core.php ├── Cdn_Core_Admin.php ├── Cdn_Environment.php ├── Cdn_GeneralPage_View.php ├── Cdn_GoogleDrive_AdminActions.php ├── Cdn_GoogleDrive_Page.php ├── Cdn_GoogleDrive_Page_View.js ├── Cdn_GoogleDrive_Page_View.php ├── Cdn_GoogleDrive_Popup_AuthReturn.php ├── Cdn_GoogleDrive_Popup_AuthReturn_View.php ├── Cdn_Highwinds_Api.php ├── Cdn_Highwinds_Page.php ├── Cdn_Highwinds_Page_View.js ├── Cdn_Highwinds_Page_View.php ├── Cdn_Highwinds_Popup.php ├── Cdn_Highwinds_Popup_View_ConfigureCnamesForm.php ├── Cdn_Highwinds_Popup_View_Intro.php ├── Cdn_Highwinds_Popup_View_SelectHost.php ├── Cdn_Highwinds_Widget.php ├── Cdn_Highwinds_Widget_View.css ├── Cdn_Highwinds_Widget_View.js ├── Cdn_Highwinds_Widget_View.php ├── Cdn_Highwinds_Widget_View_NotConfigured.php ├── Cdn_MaxCdn_Page.php ├── Cdn_MaxCdn_Page_View.js ├── Cdn_MaxCdn_Page_View.php ├── Cdn_MaxCdn_Popup.php ├── Cdn_MaxCdn_Popup_View_Intro.php ├── Cdn_MaxCdn_Popup_View_Success.php ├── Cdn_MaxCdn_Popup_View_Zone.php ├── Cdn_MaxCdn_Popup_View_Zones.php ├── Cdn_Page.php ├── Cdn_Page_View_Fsd_HeaderActions.php ├── Cdn_Page_View_Header.php ├── Cdn_Plugin.php ├── Cdn_Plugin_Admin.php ├── Cdn_Plugin_WidgetMaxCdn.php ├── Cdn_RackSpaceCdn_AdminActions.php ├── Cdn_RackSpaceCdn_Page.php ├── Cdn_RackSpaceCdn_Page_View.js ├── Cdn_RackSpaceCdn_Page_View.php ├── Cdn_RackSpaceCdn_Popup.php ├── Cdn_RackSpaceCdn_Popup_View_ConfigureDomains.php ├── Cdn_RackSpaceCdn_Popup_View_Intro.php ├── Cdn_RackSpaceCdn_Popup_View_Regions.php ├── Cdn_RackSpaceCdn_Popup_View_Service_Actualize.php ├── Cdn_RackSpaceCdn_Popup_View_Service_Create.php ├── Cdn_RackSpaceCdn_Popup_View_Service_Created.php ├── Cdn_RackSpaceCdn_Popup_View_Services.php ├── Cdn_RackSpaceCloudFiles_Page.php ├── Cdn_RackSpaceCloudFiles_Page_View.js ├── Cdn_RackSpaceCloudFiles_Page_View.php ├── Cdn_RackSpaceCloudFiles_Popup.php ├── Cdn_RackSpaceCloudFiles_Popup_View_Containers.php ├── Cdn_RackSpaceCloudFiles_Popup_View_Intro.php ├── Cdn_RackSpaceCloudFiles_Popup_View_Regions.php ├── Cdn_RackSpace_Api_CaCert-example.pem ├── Cdn_RackSpace_Api_Cdn.php ├── Cdn_RackSpace_Api_CloudFiles.php ├── Cdn_RackSpace_Api_CloudFilesCdn.php ├── Cdn_RackSpace_Api_Tokens.php ├── Cdn_Util.php ├── Cdnfsd_CacheFlush.php ├── Cdnfsd_CloudFront_Api.php ├── Cdnfsd_CloudFront_Engine.php ├── Cdnfsd_CloudFront_Page.php ├── Cdnfsd_CloudFront_Page_View.js ├── Cdnfsd_CloudFront_Page_View.php ├── Cdnfsd_CloudFront_Popup.php ├── Cdnfsd_CloudFront_Popup_View_Distribution.php ├── Cdnfsd_CloudFront_Popup_View_Distributions.php ├── Cdnfsd_CloudFront_Popup_View_Intro.php ├── Cdnfsd_CloudFront_Popup_View_Success.php ├── Cdnfsd_Core.php ├── Cdnfsd_GeneralPage_View.php ├── Cdnfsd_Limelight_Api.php ├── Cdnfsd_Limelight_Engine.php ├── Cdnfsd_Limelight_Page.php ├── Cdnfsd_Limelight_Page_View.js ├── Cdnfsd_Limelight_Page_View.php ├── Cdnfsd_Limelight_Popup.php ├── Cdnfsd_Limelight_Popup_View_Intro.php ├── Cdnfsd_Limelight_Popup_View_Success.php ├── Cdnfsd_MaxCdn_Engine.php ├── Cdnfsd_MaxCdn_Page.php ├── Cdnfsd_MaxCdn_Page_View.js ├── Cdnfsd_MaxCdn_Page_View.php ├── Cdnfsd_MaxCdn_Popup.php ├── Cdnfsd_MaxCdn_Popup_View_Intro.php ├── Cdnfsd_MaxCdn_Popup_View_Success.php ├── Cdnfsd_MaxCdn_Popup_View_Zone.php ├── Cdnfsd_MaxCdn_Popup_View_Zones.php ├── Cdnfsd_Page_View_Header.php ├── Cdnfsd_Plugin.php ├── Cdnfsd_Plugin_Admin.php ├── Cdnfsd_Util.php ├── Cli.php ├── Config.php ├── ConfigCache.php ├── ConfigCompiler.php ├── ConfigDbStorage.php ├── ConfigKeys.php ├── ConfigState.php ├── ConfigStateNote.php ├── ConfigUtil.php ├── DbCache_ConfigLabels.php ├── DbCache_Core.php ├── DbCache_Environment.php ├── DbCache_Page.php ├── DbCache_Plugin.php ├── DbCache_Plugin_Admin.php ├── DbCache_Wpdb.php ├── DbCache_WpdbBase.php ├── DbCache_WpdbInjection.php ├── DbCache_WpdbInjection_QueryCaching.php ├── Dispatcher.php ├── Enterprise_CacheFlush_MakeSnsEvent.php ├── Enterprise_Dbcache_WpdbInjection_Cluster.php ├── Enterprise_SnsBase.php ├── Enterprise_SnsServer.php ├── Extension_Amp_Plugin.php ├── Extension_Amp_Plugin_Admin.php ├── Extension_CloudFlare_AdminActions.php ├── Extension_CloudFlare_Api.php ├── Extension_CloudFlare_Cdn_Page_View.php ├── Extension_CloudFlare_GeneralPage_View.php ├── Extension_CloudFlare_Page.php ├── Extension_CloudFlare_Page_View.js ├── Extension_CloudFlare_Page_View.php ├── Extension_CloudFlare_Plugin.php ├── Extension_CloudFlare_Plugin_Admin.php ├── Extension_CloudFlare_Popup.php ├── Extension_CloudFlare_Popup_View_Intro.php ├── Extension_CloudFlare_Popup_View_Zones.php ├── Extension_CloudFlare_SettingsForUi.php ├── Extension_CloudFlare_View_Comments.css ├── Extension_CloudFlare_View_Comments.js ├── Extension_CloudFlare_View_Dashboard.js ├── Extension_CloudFlare_Widget.php ├── Extension_CloudFlare_Widget_Logo.png ├── Extension_CloudFlare_Widget_View.css ├── Extension_CloudFlare_Widget_View.php ├── Extension_FeedBurner_Environment.php ├── Extension_FeedBurner_Page.php ├── Extension_FeedBurner_Page_View.php ├── Extension_FeedBurner_Plugin.php ├── Extension_FeedBurner_Plugin_Admin.php ├── Extension_FragmentCache_Api.php ├── Extension_FragmentCache_Core.php ├── Extension_FragmentCache_Environment.php ├── Extension_FragmentCache_GeneralPage.php ├── Extension_FragmentCache_GeneralPage_View.php ├── Extension_FragmentCache_Page.php ├── Extension_FragmentCache_Page_View.php ├── Extension_FragmentCache_Plugin.php ├── Extension_FragmentCache_Plugin_Admin.php ├── Extension_FragmentCache_WpObjectCache.php ├── Extension_Genesis_Page.php ├── Extension_Genesis_Page_View.php ├── Extension_Genesis_Plugin.php ├── Extension_Genesis_Plugin_Admin.php ├── Extension_NewRelic_AdminActions.php ├── Extension_NewRelic_AdminNotes.php ├── Extension_NewRelic_Api.php ├── Extension_NewRelic_Core.php ├── Extension_NewRelic_GeneralPage.php ├── Extension_NewRelic_GeneralPage_View.php ├── Extension_NewRelic_Page.php ├── Extension_NewRelic_Page_View_Apm.php ├── Extension_NewRelic_Plugin.php ├── Extension_NewRelic_Plugin_Admin.php ├── Extension_NewRelic_Popup.php ├── Extension_NewRelic_Popup_View.js ├── Extension_NewRelic_Popup_View_Intro.php ├── Extension_NewRelic_Popup_View_ListApplications.php ├── Extension_NewRelic_Service.php ├── Extension_NewRelic_Widget.php ├── Extension_NewRelic_Widget_View.css ├── Extension_NewRelic_Widget_View.js ├── Extension_NewRelic_Widget_View_Apm.php ├── Extension_NewRelic_Widget_View_Browser.php ├── Extension_NewRelic_Widget_View_NotConfigured.php ├── Extension_Swarmify_AdminActions.php ├── Extension_Swarmify_Core.php ├── Extension_Swarmify_Page.php ├── Extension_Swarmify_Page_View.php ├── Extension_Swarmify_Plugin.php ├── Extension_Swarmify_Plugin_Admin.php ├── Extension_Swarmify_Widget.php ├── Extension_Swarmify_Widget_View.css ├── Extension_Swarmify_Widget_View_NotConfigured.php ├── Extension_WordPressSeo_Plugin.php ├── Extension_WordPressSeo_Plugin_Admin.php ├── Extension_Wpml_Plugin.php ├── Extension_Wpml_Plugin_Admin.php ├── Extensions_AdminActions.php ├── Extensions_Page.php ├── Extensions_Plugin_Admin.php ├── Extensions_Util.php ├── Generic_AdminActions_Config.php ├── Generic_AdminActions_Default.php ├── Generic_AdminActions_Flush.php ├── Generic_AdminActions_Test.php ├── Generic_AdminLinks.php ├── Generic_AdminNotes.php ├── Generic_ConfigLabels.php ├── Generic_Environment.php ├── Generic_Faq.php ├── Generic_GeneralPage_View_ShowEdge.js ├── Generic_GeneralPage_View_ShowSupportUs.js ├── Generic_Page_About.php ├── Generic_Page_Dashboard.php ├── Generic_Page_Dashboard_View.css ├── Generic_Page_Faq.php ├── Generic_Page_General.php ├── Generic_Page_Install.php ├── Generic_Plugin.php ├── Generic_Plugin_Admin.php ├── Generic_Plugin_AdminCompatibility.php ├── Generic_Plugin_AdminNotifications.php ├── Generic_Plugin_AdminRowActions.php ├── Generic_Plugin_PageCachePurge.php ├── Generic_Plugin_WidgetForum.php ├── Generic_Plugin_WidgetNews.php ├── Generic_WidgetServices.php ├── Generic_WidgetServices_View.php ├── Generic_WidgetSpreadTheWord.js ├── Generic_WidgetSpreadTheWord_Plugin.php ├── Generic_WidgetSpreadTheWord_View.php ├── Licensing_AdminActions.php ├── Licensing_Core.php ├── Licensing_Plugin_Admin.php ├── Minify_ConfigLabels.php ├── Minify_ContentMinifier.php ├── Minify_Core.php ├── Minify_Environment.php ├── Minify_Extract.php ├── Minify_GeneralPage_View_ShowHelp.js ├── Minify_GeneralPage_View_ShowHelpForce.js ├── Minify_HelpPopup_View.php ├── Minify_MinifiedFileRequestHandler.php ├── Minify_Page.php ├── Minify_Plugin.php ├── Minify_Plugin_Admin.php ├── Mobile_Base.php ├── Mobile_Page_ReferrerGroups.php ├── Mobile_Page_UserAgentGroups.php ├── Mobile_Redirect.php ├── Mobile_Referrer.php ├── Mobile_UserAgent.php ├── ModuleStatus.php ├── ObjectCache_ConfigLabels.php ├── ObjectCache_Environment.php ├── ObjectCache_Page.php ├── ObjectCache_Plugin.php ├── ObjectCache_Plugin_Admin.php ├── ObjectCache_WpObjectCache.php ├── ObjectCache_WpObjectCache_Regular.php ├── PageSpeed_Api.php ├── PageSpeed_Plugin_Widget.php ├── PageSpeed_Widget_View.css ├── PageSpeed_Widget_View.js ├── PageSpeed_Widget_View.php ├── PageSpeed_Widget_View_NotConfigured.php ├── PgCache_ConfigLabels.php ├── PgCache_ContentGrabber.php ├── PgCache_Environment.php ├── PgCache_Flush.php ├── PgCache_Page.php ├── PgCache_Page_CookieGroups.php ├── PgCache_Page_CookieGroups_View.js ├── PgCache_Page_CookieGroups_View.php ├── PgCache_Plugin.php ├── PgCache_Plugin_Admin.php ├── Root_AdminActions.php ├── Root_AdminActivation.php ├── Root_AdminMenu.php ├── Root_Environment.php ├── Root_Loader.php ├── Support_AdminActions.php ├── Support_Page.php ├── Support_Page_View_DoneContent.php ├── Support_Page_View_PageContent.php ├── SystemOpCache_AdminActions.php ├── SystemOpCache_Core.php ├── SystemOpCache_GeneralPage_View.php ├── SystemOpCache_Plugin_Admin.php ├── UsageStatistics_Core.php ├── UsageStatistics_Plugin.php ├── UsageStatistics_Plugin_Admin.php ├── UsageStatistics_StorageReader.php ├── UsageStatistics_StorageWriter.php ├── UsageStatistics_View_General.php ├── UsageStatistics_Widget.php ├── UsageStatistics_Widget_View.css ├── UsageStatistics_Widget_View.js ├── UsageStatistics_Widget_View.php ├── UsageStatistics_Widget_View_Disabled.php ├── Util_Activation.php ├── Util_Admin.php ├── Util_AttachToActions.php ├── Util_Bus.php ├── Util_ConfigLabel.php ├── Util_Content.php ├── Util_Debug.php ├── Util_Environment.php ├── Util_Environment_Exception.php ├── Util_Environment_Exceptions.php ├── Util_File.php ├── Util_Http.php ├── Util_Installed.php ├── Util_Mime.php ├── Util_PageUrls.php ├── Util_Request.php ├── Util_Rule.php ├── Util_RuleSnippet.php ├── Util_Theme.php ├── Util_Ui.php ├── Util_UsageStatistics.php ├── Util_Widget.php ├── Util_WpFile.php ├── Util_WpFile_FilesystemChmodException.php ├── Util_WpFile_FilesystemCopyException.php ├── Util_WpFile_FilesystemMkdirException.php ├── Util_WpFile_FilesystemModifyException.php ├── Util_WpFile_FilesystemOperationException.php ├── Util_WpFile_FilesystemRmException.php ├── Util_WpFile_FilesystemRmdirException.php ├── Util_WpFile_FilesystemWriteException.php ├── Util_WpmuBlogmap.php ├── Varnish_Flush.php ├── Varnish_Plugin.php ├── changelog.txt ├── composer.json ├── extension-example ├── Extension_Example.php ├── Extension_Example_Admin.php ├── Extension_Example_Page_View.php └── w3-total-cache-example.php ├── inc ├── define.php ├── email │ ├── index.html │ ├── minify_error_notification.html │ ├── minify_error_notification.php │ └── support_request.php ├── error.php ├── index.html ├── lightbox │ ├── cdn_s3_bucket_location.php │ ├── create_netdna_maxcdn_pull_zone.php │ ├── index.html │ ├── minify_recommendations.php │ ├── purchase.php │ ├── self_test.php │ ├── support_us.php │ └── upgrade.php ├── mime │ ├── all.php │ ├── cssjs.php │ ├── html.php │ ├── index.html │ └── other.php ├── options │ ├── about.php │ ├── browsercache.php │ ├── cdn.php │ ├── cdn │ │ ├── akamai.php │ │ ├── att.php │ │ ├── azure.php │ │ ├── cf.php │ │ ├── cf2.php │ │ ├── common │ │ │ ├── cnames-readonly.php │ │ │ ├── cnames.php │ │ │ └── index.html │ │ ├── cotendo.php │ │ ├── edgecast.php │ │ ├── ftp.php │ │ ├── index.html │ │ ├── mirror.php │ │ ├── rscf.php │ │ ├── s3.php │ │ └── s3_compatible.php │ ├── common │ │ ├── footer.php │ │ ├── header.php │ │ ├── help.php │ │ └── index.html │ ├── dashboard.php │ ├── dbcache.php │ ├── edd │ │ └── buy.php │ ├── enterprise │ │ ├── dbcluster-config.php │ │ └── dbcluster_general_section.php │ ├── extensions.php │ ├── extensions │ │ ├── list.php │ │ └── settings.php │ ├── faq.php │ ├── general.php │ ├── index.html │ ├── install.php │ ├── minify.php │ ├── minify │ │ ├── ccjs.php │ │ ├── ccjs2.php │ │ ├── css.php │ │ ├── csstidy.php │ │ ├── csstidy2.php │ │ ├── googleccjs2.php │ │ ├── html.php │ │ ├── htmltidy.php │ │ ├── htmltidy2.php │ │ ├── index.html │ │ ├── js.php │ │ ├── yuicss2.php │ │ ├── yuijs.php │ │ └── yuijs2.php │ ├── mobile.php │ ├── objectcache.php │ ├── parts │ │ ├── memcached.php │ │ ├── memcached_extension.php │ │ ├── redis.php │ │ └── redis_extension.php │ ├── pgcache.php │ ├── referrer.php │ └── support.php ├── popup │ ├── cdn_export_file.php │ ├── cdn_export_library.php │ ├── cdn_import_library.php │ ├── cdn_purge.php │ ├── cdn_queue.php │ ├── cdn_rename_domain.php │ ├── common │ │ ├── footer.php │ │ ├── header.php │ │ └── index.html │ ├── index.html │ └── pagespeed_results.php └── widget │ ├── index.html │ ├── latest.php │ ├── latest_ajax.php │ ├── latest_control.php │ ├── latest_news.php │ ├── latest_news_ajax.php │ ├── latest_news_control.php │ ├── maxcdn.php │ ├── maxcdn_signup.php │ └── pagepurge.php ├── index.html ├── ini ├── apc.ini ├── config-db-sample.php ├── dbcluster-config-sample.php ├── eaccelerator.ini ├── index.html ├── memcache.ini ├── nginx-network-sample-config.conf ├── nginx-standalone-sample-config.conf ├── opcache.ini ├── php.append.ini ├── s3-sample-policy.txt ├── varnish-sample-config.vcl ├── web.config └── xcache.ini ├── languages ├── ar.mo ├── faq-en_US.xml ├── faq-enterprise-en_US.xml ├── faq-pro-en_US.xml ├── w3-total-cache-ar_AR.po ├── w3-total-cache-nl_NL.mo ├── w3-total-cache-nl_NL.po ├── w3-total-cache-pl_PL.po ├── w3-total-cache-sr_RS.mo ├── w3-total-cache-sr_RS.po └── w3-total-cache.pot ├── lib ├── Azure │ ├── GuzzleHttp │ │ ├── Client.php │ │ ├── ClientInterface.php │ │ ├── Cookie │ │ │ ├── CookieJar.php │ │ │ ├── CookieJarInterface.php │ │ │ ├── FileCookieJar.php │ │ │ ├── SessionCookieJar.php │ │ │ └── SetCookie.php │ │ ├── Exception │ │ │ ├── BadResponseException.php │ │ │ ├── ClientException.php │ │ │ ├── ConnectException.php │ │ │ ├── GuzzleException.php │ │ │ ├── RequestException.php │ │ │ ├── SeekException.php │ │ │ ├── ServerException.php │ │ │ ├── TooManyRedirectsException.php │ │ │ └── TransferException.php │ │ ├── Handler │ │ │ ├── CurlFactory.php │ │ │ ├── CurlFactoryInterface.php │ │ │ ├── CurlHandler.php │ │ │ ├── CurlMultiHandler.php │ │ │ ├── EasyHandle.php │ │ │ ├── MockHandler.php │ │ │ ├── Proxy.php │ │ │ └── StreamHandler.php │ │ ├── HandlerStack.php │ │ ├── MessageFormatter.php │ │ ├── Middleware.php │ │ ├── Pool.php │ │ ├── PrepareBodyMiddleware.php │ │ ├── Promise │ │ │ ├── AggregateException.php │ │ │ ├── CancellationException.php │ │ │ ├── Coroutine.php │ │ │ ├── EachPromise.php │ │ │ ├── FulfilledPromise.php │ │ │ ├── Promise.php │ │ │ ├── PromiseInterface.php │ │ │ ├── PromisorInterface.php │ │ │ ├── RejectedPromise.php │ │ │ ├── RejectionException.php │ │ │ ├── TaskQueue.php │ │ │ ├── TaskQueueInterface.php │ │ │ ├── functions.php │ │ │ └── functions_include.php │ │ ├── Psr7 │ │ │ ├── AppendStream.php │ │ │ ├── BufferStream.php │ │ │ ├── CachingStream.php │ │ │ ├── DroppingStream.php │ │ │ ├── FnStream.php │ │ │ ├── InflateStream.php │ │ │ ├── LazyOpenStream.php │ │ │ ├── LimitStream.php │ │ │ ├── MessageTrait.php │ │ │ ├── MultipartStream.php │ │ │ ├── NoSeekStream.php │ │ │ ├── PumpStream.php │ │ │ ├── Request.php │ │ │ ├── Response.php │ │ │ ├── ServerRequest.php │ │ │ ├── Stream.php │ │ │ ├── StreamDecoratorTrait.php │ │ │ ├── StreamWrapper.php │ │ │ ├── UploadedFile.php │ │ │ ├── Uri.php │ │ │ ├── functions.php │ │ │ └── functions_include.php │ │ ├── RedirectMiddleware.php │ │ ├── RequestOptions.php │ │ ├── RetryMiddleware.php │ │ ├── TransferStats.php │ │ ├── UriTemplate.php │ │ ├── functions.php │ │ └── functions_include.php │ ├── MicrosoftAzureStorage │ │ ├── Blob │ │ │ ├── BlobRestProxy.php │ │ │ ├── Internal │ │ │ │ └── IBlob.php │ │ │ └── Models │ │ │ │ ├── AccessCondition.php │ │ │ │ ├── AccessPolicy.php │ │ │ │ ├── AcquireLeaseOptions.php │ │ │ │ ├── AcquireLeaseResult.php │ │ │ │ ├── Blob.php │ │ │ │ ├── BlobBlockType.php │ │ │ │ ├── BlobPrefix.php │ │ │ │ ├── BlobProperties.php │ │ │ │ ├── BlobServiceOptions.php │ │ │ │ ├── BlobType.php │ │ │ │ ├── Block.php │ │ │ │ ├── BlockList.php │ │ │ │ ├── BreakLeaseResult.php │ │ │ │ ├── CommitBlobBlocksOptions.php │ │ │ │ ├── Container.php │ │ │ │ ├── ContainerACL.php │ │ │ │ ├── ContainerProperties.php │ │ │ │ ├── CopyBlobOptions.php │ │ │ │ ├── CopyBlobResult.php │ │ │ │ ├── CreateBlobBlockOptions.php │ │ │ │ ├── CreateBlobOptions.php │ │ │ │ ├── CreateBlobPagesOptions.php │ │ │ │ ├── CreateBlobPagesResult.php │ │ │ │ ├── CreateBlobSnapshotOptions.php │ │ │ │ ├── CreateBlobSnapshotResult.php │ │ │ │ ├── CreateContainerOptions.php │ │ │ │ ├── DeleteBlobOptions.php │ │ │ │ ├── DeleteContainerOptions.php │ │ │ │ ├── GetBlobMetadataOptions.php │ │ │ │ ├── GetBlobMetadataResult.php │ │ │ │ ├── GetBlobOptions.php │ │ │ │ ├── GetBlobPropertiesOptions.php │ │ │ │ ├── GetBlobPropertiesResult.php │ │ │ │ ├── GetBlobResult.php │ │ │ │ ├── GetContainerACLResult.php │ │ │ │ ├── GetContainerPropertiesResult.php │ │ │ │ ├── LeaseMode.php │ │ │ │ ├── ListBlobBlocksOptions.php │ │ │ │ ├── ListBlobBlocksResult.php │ │ │ │ ├── ListBlobsOptions.php │ │ │ │ ├── ListBlobsResult.php │ │ │ │ ├── ListContainersOptions.php │ │ │ │ ├── ListContainersResult.php │ │ │ │ ├── ListPageBlobRangesOptions.php │ │ │ │ ├── ListPageBlobRangesResult.php │ │ │ │ ├── PageRange.php │ │ │ │ ├── PageWriteOption.php │ │ │ │ ├── PublicAccessType.php │ │ │ │ ├── SetBlobMetadataOptions.php │ │ │ │ ├── SetBlobMetadataResult.php │ │ │ │ ├── SetBlobPropertiesOptions.php │ │ │ │ ├── SetBlobPropertiesResult.php │ │ │ │ ├── SetContainerMetadataOptions.php │ │ │ │ └── SignedIdentifier.php │ │ └── Common │ │ │ ├── CloudConfigurationManager.php │ │ │ ├── Internal │ │ │ ├── Authentication │ │ │ │ ├── IAuthScheme.php │ │ │ │ ├── SharedKeyAuthScheme.php │ │ │ │ ├── StorageAuthScheme.php │ │ │ │ └── TableSharedKeyLiteAuthScheme.php │ │ │ ├── ConnectionStringParser.php │ │ │ ├── ConnectionStringSource.php │ │ │ ├── FilterableService.php │ │ │ ├── Filters │ │ │ │ ├── AuthenticationFilter.php │ │ │ │ ├── DateFilter.php │ │ │ │ ├── ExponentialRetryPolicy.php │ │ │ │ ├── HeadersFilter.php │ │ │ │ ├── RetryPolicy.php │ │ │ │ └── RetryPolicyFilter.php │ │ │ ├── Http │ │ │ │ └── HttpCallContext.php │ │ │ ├── HttpFormatter.php │ │ │ ├── IServiceFilter.php │ │ │ ├── InvalidArgumentTypeException.php │ │ │ ├── Logger.php │ │ │ ├── Resources.php │ │ │ ├── RestProxy.php │ │ │ ├── RetryMiddlewareFactory.php │ │ │ ├── Serialization │ │ │ │ ├── ISerializer.php │ │ │ │ ├── JsonSerializer.php │ │ │ │ └── XmlSerializer.php │ │ │ ├── ServiceRestProxy.php │ │ │ ├── ServiceSettings.php │ │ │ ├── StorageServiceSettings.php │ │ │ ├── Utilities.php │ │ │ └── Validate.php │ │ │ ├── Models │ │ │ ├── GetServicePropertiesResult.php │ │ │ ├── Logging.php │ │ │ ├── Metrics.php │ │ │ ├── RetentionPolicy.php │ │ │ └── ServiceProperties.php │ │ │ ├── ServiceException.php │ │ │ └── ServicesBuilder.php │ ├── PsrHttpMessage │ │ ├── MessageInterface.php │ │ ├── RequestInterface.php │ │ ├── ResponseInterface.php │ │ ├── ServerRequestInterface.php │ │ ├── StreamInterface.php │ │ ├── UploadedFileInterface.php │ │ └── UriInterface.php │ └── loader.php ├── CSSTidy │ ├── class.csstidy.php │ ├── class.csstidy_optimise.php │ ├── class.csstidy_print.php │ ├── data.inc.php │ └── index.html ├── Db │ └── mssql.php ├── Google │ ├── Auth │ │ ├── Abstract.php │ │ ├── AppIdentity.php │ │ ├── AssertionCredentials.php │ │ ├── Exception.php │ │ ├── LoginTicket.php │ │ ├── OAuth2.php │ │ └── Simple.php │ ├── Cache │ │ ├── Abstract.php │ │ ├── Apc.php │ │ ├── Exception.php │ │ ├── File.php │ │ ├── Memcache.php │ │ └── Null.php │ ├── Client.php │ ├── Collection.php │ ├── Config.php │ ├── Exception.php │ ├── Http │ │ ├── Batch.php │ │ ├── CacheParser.php │ │ ├── MediaFileUpload.php │ │ ├── REST.php │ │ └── Request.php │ ├── IO │ │ ├── Abstract.php │ │ ├── Curl.php │ │ ├── Exception.php │ │ ├── Stream.php │ │ └── cacerts.pem │ ├── Model.php │ ├── Service.php │ ├── Service │ │ ├── Drive.php │ │ ├── Exception.php │ │ ├── Oauth2.php │ │ └── Resource.php │ ├── Signer │ │ ├── Abstract.php │ │ └── P12.php │ ├── Utils.php │ ├── Utils │ │ └── URITemplate.php │ └── Verifier │ │ ├── Abstract.php │ │ └── Pem.php ├── Minify │ ├── DooDigestAuth.php │ ├── HTTP │ │ ├── ConditionalGet.php │ │ ├── Encoder.php │ │ └── index.html │ ├── JSMin.php │ ├── JSMinPlus.php │ ├── Minify.php │ ├── Minify │ │ ├── Build.php │ │ ├── CSS.php │ │ ├── CSS │ │ │ ├── Compressor.php │ │ │ ├── UriRewriter.php │ │ │ └── index.html │ │ ├── CSSTidy.php │ │ ├── Cache │ │ │ ├── File.php │ │ │ ├── W3TCDerived.php │ │ │ ├── ZendPlatform.php │ │ │ └── index.html │ │ ├── ClosureCompiler.php │ │ ├── CombineOnly.php │ │ ├── CommentPreserver.php │ │ ├── Controller │ │ │ ├── Base.php │ │ │ ├── Files.php │ │ │ ├── Groups.php │ │ │ ├── MinApp.php │ │ │ ├── Page.php │ │ │ ├── Version1.php │ │ │ └── index.html │ │ ├── DebugDetector.php │ │ ├── HTML.php │ │ ├── HTML │ │ │ └── Helper.php │ │ ├── HTMLTidy.php │ │ ├── IgnoredCommentPreserver.php │ │ ├── ImportProcessor.php │ │ ├── Inline.php │ │ ├── Inline │ │ │ ├── CSS.php │ │ │ ├── JavaScript.php │ │ │ └── index.html │ │ ├── JS │ │ │ └── ClosureCompiler.php │ │ ├── Lines.php │ │ ├── Loader.php │ │ ├── Logger.php │ │ ├── Packer.php │ │ ├── Source.php │ │ ├── YUI │ │ │ ├── CssCompressor.java │ │ │ └── CssCompressor.php │ │ ├── YUICompressor.php │ │ └── index.html │ ├── YUI-CSS-compressor-PHP-port-4.1.0 │ │ ├── Colors.php │ │ ├── Command.php │ │ ├── Minifier.php │ │ └── Utils.php │ └── index.html ├── NetDNA │ ├── NetDNA.php │ ├── NetDNAPresentation.php │ └── W3tcWpHttpException.php ├── NewRelic │ ├── NewRelicAPI.php │ └── NewRelicWrapper.php ├── Nusoap │ ├── class.nusoap_base.php │ ├── class.soap_fault.php │ ├── class.soap_parser.php │ ├── class.soap_transport_http.php │ ├── class.soap_val.php │ ├── class.soapclient.php │ ├── class.wsdl.php │ ├── class.wsdlcache.php │ ├── class.xmlschema.php │ ├── index.html │ └── nusoap.php ├── OAuth │ └── W3tcOAuth.php ├── S3.php ├── SNS │ ├── lib │ │ └── requestcore │ │ │ ├── cacert.pem │ │ │ └── requestcore.class.php │ ├── sdk.class.php │ ├── services │ │ ├── MessageValidator │ │ │ ├── Message.php │ │ │ ├── MessageValidator.php │ │ │ └── sns-exceptions.php │ │ └── sns.class.php │ └── utilities │ │ ├── request.class.php │ │ ├── response.class.php │ │ ├── simplexml.class.php │ │ └── utilities.class.php └── index.html ├── press.txt ├── pub ├── css │ ├── error.css │ ├── index.html │ ├── lightbox.css │ ├── options.css │ ├── popup.css │ └── widget.css ├── img │ ├── W3TC_dashboard_logo_title-retina.png │ ├── W3TC_dashboard_logo_title.png │ ├── button-grad-active.png │ ├── button-grad.png │ ├── cdn-highwinds-logo.png │ ├── close.png │ ├── cspref.png │ ├── google-logo.png │ ├── index.html │ ├── open.png │ ├── overlay │ │ ├── ceo.png │ │ ├── gray-check.png │ │ ├── list-check.png │ │ ├── lite-gray-check.png │ │ ├── lock.png │ │ ├── overlay-close.png │ │ ├── overlay-down-arrow.png │ │ ├── overlay-logo.png │ │ ├── save-close.png │ │ ├── select-arrow.png │ │ ├── twitter-bird-dark-bgs.png │ │ ├── w3-meteor.png │ │ └── wordpress-logo-simplified-rgb.png │ ├── ps_bar.gif │ ├── ps_grad.gif │ ├── ps_scores.png │ ├── sidebar-background.png │ ├── w3tc-sprite-admin-bar.png │ ├── w3tc-sprite-retina.png │ ├── w3tc-sprite.png │ ├── w3tc_google-logo-retina.png │ ├── w3tc_google-logo.png │ ├── w3tc_maxcdn-logo-retina.png │ ├── w3tc_maxcdn-logo.png │ ├── w3tc_netdna-logo-retina.png │ ├── w3tc_netdna-logo.png │ ├── w3tc_newrelic-logo-retina.png │ ├── w3tc_newrelic-logo.png │ ├── w3tc_swarmify-logo-retina.png │ ├── w3tc_swarmify-logo.png │ ├── w3tc_w3edge-logo-retina.png │ ├── w3tc_w3edge-logo.png │ ├── w3tc_w3tc-logo-retina.png │ ├── w3tc_w3tc-logo.png │ ├── white-grad-active.png │ ├── white-grad.png │ └── wpspin_light.gif ├── index.html ├── js │ ├── index.html │ ├── jquery.masonry.min.js │ ├── lightbox.js │ ├── metadata.js │ ├── options.js │ ├── popup.js │ └── widget.js ├── opcache.php └── sns.php ├── readme.txt ├── w3-total-cache-api.php ├── w3-total-cache-old-php.php ├── w3-total-cache.php └── wp-content ├── advanced-cache.php ├── db.php ├── index.html └── object-cache.php /BrowserCache_Plugin_Admin.php: -------------------------------------------------------------------------------- 1 | $value ) { 23 | if ( substr( $key, 0, 3 ) == 'oa_' ) 24 | $path .= '&' . urlencode( $key ) . '=' . urlencode( $value ); 25 | } 26 | 27 | $popup_url = self_admin_url( $path ); 28 | 29 | wp_localize_script( 'w3tc_cdn_google_drive', 30 | 'w3tc_cdn_google_drive_popup_url', $popup_url ); 31 | 32 | } 33 | } 34 | 35 | 36 | 37 | static public function w3tc_settings_cdn_boxarea_configuration() { 38 | $config = Dispatcher::config(); 39 | include W3TC_DIR . '/Cdn_GoogleDrive_Page_View.php'; 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /Cdn_GoogleDrive_Page_View.js: -------------------------------------------------------------------------------- 1 | jQuery(function($) { 2 | $('.w3tc_cdn_google_drive_authorize').click(function() { 3 | window.location = w3tc_cdn_google_drive_url; 4 | }); 5 | 6 | if (window.w3tc_cdn_google_drive_popup_url) { 7 | W3tc_Lightbox.open({ 8 | id:'w3tc-overlay', 9 | close: '', 10 | width: 800, 11 | height: 500, 12 | url: w3tc_cdn_google_drive_popup_url, 13 | onClose: function() { 14 | } 15 | }); 16 | } 17 | }); 18 | -------------------------------------------------------------------------------- /Cdn_GoogleDrive_Page_View.php: -------------------------------------------------------------------------------- 1 | get_string( 'cdn.google_drive.refresh_token' ); 8 | 9 | ?> 10 | 11 | 12 | 13 | 14 | 16 | 17 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | /get_string( 'cdn.google_drive.folder.title' ) ?> 28 | 29 | 30 | 31 | 32 | 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /Cdn_GoogleDrive_Popup_AuthReturn.php: -------------------------------------------------------------------------------- 1 | $_GET['oa_access_token'], 13 | 'token_type' => $_GET['oa_token_type'], 14 | 'expires_in' => $_GET['oa_expires_in'], 15 | 'created' => $_GET['oa_created'] 16 | ); 17 | $access_token = json_encode( $token_array ); 18 | 19 | $client = new \W3TCG_Google_Client(); 20 | $client->setClientId( $client_id ); 21 | $client->setAccessToken( $access_token ); 22 | 23 | 24 | $service = new \W3TCG_Google_Service_Drive( $client ); 25 | 26 | $items = $service->files->listFiles( array( 27 | 'q' => "mimeType = 'application/vnd.google-apps.folder'" 28 | ) ); 29 | 30 | $folders = array(); 31 | foreach ( $items as $item ) { 32 | if ( count( $item->parents ) > 0 && $item->parents[0]->isRoot ) 33 | $folders[] = $item; 34 | } 35 | 36 | include W3TC_DIR . '/Cdn_GoogleDrive_Popup_AuthReturn_View.php'; 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /Cdn_Highwinds_Page.php: -------------------------------------------------------------------------------- 1 | 7 |
8 | ' . $details['error_message'] . ''; 11 | ?> 12 |
13 | 14 | 15 |
16 | CDN host, this value will replace your site\'s hostname in the HTML.', 'w3-total-cache' ); ?> 17 | 18 |

19 | 22 |

23 | 24 |
25 |
26 | -------------------------------------------------------------------------------- /Cdn_Highwinds_Popup_View_Intro.php: -------------------------------------------------------------------------------- 1 | 7 |
8 | ' . $details['error_message'] . ''; 11 | ?> 12 |
13 | 15 | 16 | 17 | 18 | 22 | 23 |
API Token: 19 | 21 |
24 | 25 |

26 | 29 |

30 | 31 |
32 |
33 | -------------------------------------------------------------------------------- /Cdn_Highwinds_Widget_View.css: -------------------------------------------------------------------------------- 1 | .w3tc-widget-highwinds-logo { 2 | float: left; 3 | width: 65px; 4 | height: 35px; 5 | background: url("pub/img/cdn-highwinds-logo.png") 0 0 no-repeat; 6 | } 7 | 8 | .w3tchw_tools li { 9 | display: inline-block; 10 | margin-right: 10px; 11 | } 12 | 13 | #w3tchw_report li { 14 | margin-bottom: 0; 15 | } -------------------------------------------------------------------------------- /Cdn_Highwinds_Widget_View_NotConfigured.php: -------------------------------------------------------------------------------- 1 | 8 |
9 | Not configured 10 |
11 | -------------------------------------------------------------------------------- /Cdn_MaxCdn_Page.php: -------------------------------------------------------------------------------- 1 | get_string( 'cdn.maxcdn.authorization_key' ); 19 | $zone = $config->get_string( 'cdn.maxcdn.zone_id' ); 20 | $domains = $config->get_array( 'cdn.maxcdn.domain' ); 21 | 22 | $authorized = !empty( $key ) && !empty( $zone ); 23 | $http_domain = isset( $domains['http_default'] ) ? $domains['http_default'] : null; 24 | $https_domain = isset( $domains['https_default'] ) ? $domains['https_default'] : null; 25 | 26 | include W3TC_DIR . '/Cdn_MaxCdn_Page_View.php'; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /Cdn_MaxCdn_Popup_View_Intro.php: -------------------------------------------------------------------------------- 1 | 7 |
8 | ' . $details['error_message'] . ''; 11 | ?> 12 |
13 | 15 | 16 | 17 | 18 | 29 | 30 |
API Key: 19 | 22 |
23 | 24 | To obtain API key you can 25 | click here, 26 | log in, and paste the key in above field. 27 | 28 |
31 | 32 |

33 | 36 |

37 | 38 |
39 |
40 | -------------------------------------------------------------------------------- /Cdn_MaxCdn_Popup_View_Success.php: -------------------------------------------------------------------------------- 1 | 7 |
8 |
9 | 11 | 12 |
13 | Pull Zone was successfully configured.
14 |
15 | 16 |

17 | 20 |

21 | 22 |
23 |
24 | -------------------------------------------------------------------------------- /Cdn_Page_View_Fsd_HeaderActions.php: -------------------------------------------------------------------------------- 1 | 8 |

9 | CDN completely', 'w3-total-cache' ), 12 | Util_Ui::url( array( 'w3tc_cdn_flush' => 'y' ) ) ); 13 | ?> 14 |

15 | -------------------------------------------------------------------------------- /Cdn_Page_View_Header.php: -------------------------------------------------------------------------------- 1 | 8 | 9 | 10 |

11 | '.Cache::engine_name( $config->get_string( 'cdn.engine' ) ).'', 14 | '' . __( 'enabled', 'w3-total-cache' ) : 'disabled">' . __( 'disabled', 'w3-total-cache' ) ) . '' 15 | ); ?> 16 |

17 | -------------------------------------------------------------------------------- /Cdn_RackSpaceCdn_AdminActions.php: -------------------------------------------------------------------------------- 1 | get_cdn(); 11 | 12 | try { 13 | // try to obtain CNAMEs 14 | $domains = $cdn->service_domains_get(); 15 | } catch ( \Exception $ex ) { 16 | Util_Admin::redirect_with_custom_messages2( array( 17 | 'errors' => array( 'Failed to obtain CNAMEs: ' . $ex->getMessage() ) 18 | ), true ); 19 | return; 20 | } 21 | 22 | $c->set( 'cdn.rackspace_cdn.domains', $domains ); 23 | $c->save(); 24 | 25 | Util_Admin::redirect_with_custom_messages2( array( 26 | 'notes' => array( 'CNAMEs are reloaded successfully' ) 27 | ), true ); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /Cdn_RackSpaceCdn_Page.php: -------------------------------------------------------------------------------- 1 | get_string( 'cdn.rackspace_cdn.api_key' ); 24 | $authorized = !empty( $api_key ); 25 | 26 | $access_url_full = ''; 27 | if ( $authorized ) { 28 | $p = $config->get_string( 'cdn.rackspace_cdn.service.protocol' ); 29 | $access_url_full = 30 | ( $p == 'https' ? 'https://' : 'http://' ) . 31 | $config->get_string( 'cdn.rackspace_cdn.service.access_url' ); 32 | } 33 | 34 | include W3TC_DIR . '/Cdn_RackSpaceCdn_Page_View.php'; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /Cdn_RackSpaceCdn_Popup_View_ConfigureDomains.php: -------------------------------------------------------------------------------- 1 | 7 |
8 | ' . $details['error_message'] . ''; 11 | ?> 12 |
13 | 14 | 15 |
16 | CDN host, this value will replace your site\'s hostname in the HTML.', 'w3-total-cache' ); ?> 17 | 18 |

19 | 22 |

23 | 24 |
25 |
26 | -------------------------------------------------------------------------------- /Cdn_RackSpaceCdn_Popup_View_Intro.php: -------------------------------------------------------------------------------- 1 | 7 |
8 | 9 | ' . $details['error_message'] . ''; 12 | ?> 13 |
14 | 16 | 17 | 18 | 24 | 25 | 26 | 32 | 33 |
19 | 20 | 23 |
API key:', 'w3-total-cache' ); ?> 27 | 28 | 31 |
34 | 35 |

36 | 39 |

40 | 41 |
42 |
43 | -------------------------------------------------------------------------------- /Cdn_RackSpaceCloudFiles_Page.php: -------------------------------------------------------------------------------- 1 | get_string( 'cdn.rscf.key' ); 17 | $authorized = !empty( $api_key ); 18 | 19 | $cdn_host_http = ''; 20 | $cdn_host_https = ''; 21 | 22 | if ( $authorized ) { 23 | try { 24 | $cdn = Dispatcher::component( 'Cdn_Core' )->get_cdn(); 25 | $cdn_host_http = $cdn->get_host_http(); 26 | $cdn_host_https = $cdn->get_host_https(); 27 | } catch ( \Exception $ex ) { 28 | $cdn_host_http = 'failed to obtain'; 29 | $cdn_host_https = 'failed to obtain'; 30 | } 31 | } 32 | 33 | include W3TC_DIR . '/Cdn_RackSpaceCloudFiles_Page_View.php'; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /Cdn_RackSpaceCloudFiles_Page_View.js: -------------------------------------------------------------------------------- 1 | jQuery(function($) { 2 | function w3tc_rackspace_resize(o) { 3 | o.options.height = jQuery('.w3tc_cdn_rackspace_form').height() + 30; 4 | o.resize(); 5 | } 6 | 7 | $('body') 8 | .on('click', '.w3tc_cdn_rackspace_authorize', function() { 9 | W3tc_Lightbox.open({ 10 | id:'w3tc-overlay', 11 | close: '', 12 | width: 800, 13 | height: 300, 14 | url: ajaxurl + '?action=w3tc_ajax&_wpnonce=' + w3tc_nonce + 15 | '&w3tc_action=cdn_rackspace_authenticate', 16 | callback: w3tc_rackspace_resize 17 | }); 18 | }) 19 | 20 | 21 | 22 | .on('click', '.w3tc_popup_submit', function() { 23 | var url = ajaxurl + '?action=w3tc_ajax&_wpnonce=' + w3tc_nonce; 24 | 25 | W3tc_Lightbox.load_form(url, '.w3tc_cdn_rackspace_form', 26 | w3tc_rackspace_resize); 27 | }) 28 | }); 29 | -------------------------------------------------------------------------------- /Cdn_RackSpaceCloudFiles_Popup_View_Intro.php: -------------------------------------------------------------------------------- 1 | 7 |
8 | ' . $details['error_message'] . ''; 13 | ?> 14 |
15 | 17 | 18 | 19 | 20 | 25 | 26 | 27 | 28 | 33 | 34 |
21 | 24 |
API key:', 'w3-total-cache' ); ?> 29 | 32 |
35 | 36 |

37 | 40 |

41 | 42 |
43 |
44 | -------------------------------------------------------------------------------- /Cdnfsd_CloudFront_Engine.php: -------------------------------------------------------------------------------- 1 | access_key = $config['access_key']; 15 | $this->secret_key = $config['secret_key']; 16 | $this->distribution_id = $config['distribution_id']; 17 | } 18 | 19 | 20 | 21 | function flush_urls( $urls ) { 22 | if ( empty( $this->access_key ) || empty( $this->secret_key ) || 23 | empty( $this->distribution_id ) ) 24 | throw new \Exception( __( 'Access key not specified.', 'w3-total-cache' ) ); 25 | 26 | $api = new Cdnfsd_CloudFront_Api( $this->access_key, $this->secret_key ); 27 | $uris = array(); 28 | foreach ( $urls as $url ) { 29 | $parsed = parse_url( $url ); 30 | $relative_url = 31 | ( isset( $parsed['path'] ) ? $parsed['path'] : '/' ) . 32 | ( isset( $parsed['query'] ) ? '?' . $parsed['query'] : '' ); 33 | $uris[] = $relative_url; 34 | } 35 | 36 | $api->invalidation_create( $this->distribution_id, $uris ); 37 | } 38 | 39 | 40 | 41 | /** 42 | * Flushes CDN completely 43 | */ 44 | function flush_all() { 45 | if ( empty( $this->access_key ) || empty( $this->secret_key ) || 46 | empty( $this->distribution_id ) ) 47 | throw new \Exception( __( 'Access key not specified.', 'w3-total-cache' ) ); 48 | 49 | $api = new Cdnfsd_CloudFront_Api( $this->access_key, $this->secret_key ); 50 | $uris = array( '/*' ); 51 | 52 | $api->invalidation_create( $this->distribution_id, $uris ); 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /Cdnfsd_CloudFront_Page.php: -------------------------------------------------------------------------------- 1 | 7 |
8 | ' . $details['error_message'] . ''; 11 | ?> 12 |
13 | 15 | 16 | 17 | 18 | 23 | 24 | 25 | 26 | 31 | 32 |
Access Key: 19 | 22 |
Access Secret: 27 | 30 |
33 | 34 |

35 | 38 |

39 | 40 |
41 |
42 | -------------------------------------------------------------------------------- /Cdnfsd_CloudFront_Popup_View_Success.php: -------------------------------------------------------------------------------- 1 | 7 |
8 |
9 | 11 | 12 |
13 | Pull Zone was successfully configured.
14 | Next, update the domain DNS records 15 | and add CNAME alias to 16 | to enable caching. 17 | 18 |

19 | 22 |

23 | 24 |
25 | 26 | -------------------------------------------------------------------------------- /Cdnfsd_Core.php: -------------------------------------------------------------------------------- 1 | get_string( 'cdnfsd.engine' ); 17 | 18 | switch ( $engine ) { 19 | case 'cloudflare': 20 | $engine_object = null; // extension handles everything 21 | break; 22 | 23 | case 'cloudfront': 24 | $engine_object = new Cdnfsd_CloudFront_Engine( array( 25 | 'access_key' => $c->get_string( 'cdnfsd.cloudfront.access_key' ), 26 | 'secret_key' => $c->get_string( 'cdnfsd.cloudfront.secret_key' ), 27 | 'distribution_id' => $c->get_string( 'cdnfsd.cloudfront.distribution_id' ) 28 | ) ); 29 | break; 30 | 31 | case 'limelight': 32 | $engine_object = new Cdnfsd_Limelight_Engine( array( 33 | 'short_name' => $c->get_string( 'cdnfsd.limelight.short_name' ), 34 | 'username' => $c->get_string( 'cdnfsd.limelight.username' ), 35 | 'api_key' => $c->get_string( 'cdnfsd.limelight.api_key' ), 36 | 'debug' => $c->get_string( 'cdnfsd.debug' ) 37 | ) ); 38 | break; 39 | 40 | case 'maxcdn': 41 | $engine_object = new Cdnfsd_MaxCdn_Engine( array( 42 | 'api_key' => $c->get_string( 'cdnfsd.maxcdn.api_key' ), 43 | 'zone_id' => $c->get_integer( 'cdnfsd.maxcdn.zone_id' ) 44 | ) ); 45 | break; 46 | 47 | default: 48 | throw new \Exception( 'unknown engine ' . $engine ); 49 | } 50 | } 51 | 52 | return $engine_object; 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /Cdnfsd_Limelight_Page.php: -------------------------------------------------------------------------------- 1 | get_string( 'cdnfsd.limelight.api_key' ); 8 | $authorized = !empty( $key ); 9 | 10 | ?> 11 |
12 |
13 | 15 | 16 | 17 | 25 | 38 | 39 |
18 | 24 | 26 | 27 | 31 | 32 | 36 | 37 |
40 | 41 | 42 |
43 |
44 | -------------------------------------------------------------------------------- /Cdnfsd_Limelight_Popup_View_Success.php: -------------------------------------------------------------------------------- 1 | 7 |
8 |
9 | 11 | 12 |
13 | Plugin was successfully configured to use this service.
14 | Make sure you have updated domain DNS records. 15 |

16 | 19 |

20 | 21 |
22 | 23 | -------------------------------------------------------------------------------- /Cdnfsd_MaxCdn_Engine.php: -------------------------------------------------------------------------------- 1 | api_key = $config['api_key']; 14 | $this->zone_id = $config['zone_id']; 15 | } 16 | 17 | 18 | 19 | function flush_urls( $urls ) { 20 | if ( empty( $this->api_key ) || empty( $this->zone_id ) ) 21 | throw new \Exception( __( 'API key not specified.', 'w3-total-cache' ) ); 22 | 23 | if ( !class_exists( 'NetDNA' ) ) 24 | require_once W3TC_LIB_NETDNA_DIR . '/NetDNA.php'; 25 | $api = \NetDNA::create( $this->api_key ); 26 | 27 | $files = array(); 28 | foreach ( $urls as $url ) { 29 | $parsed = parse_url( $url ); 30 | $relative_url = 31 | ( isset( $parsed['path'] ) ? $parsed['path'] : '/' ) . 32 | ( isset( $parsed['query'] ) ? '?' . $parsed['query'] : '' ); 33 | $files[] = $relative_url; 34 | } 35 | 36 | $api->cache_delete( $this->zone_id, $files ); 37 | } 38 | 39 | 40 | 41 | /** 42 | * Flushes CDN completely 43 | */ 44 | function flush_all() { 45 | if ( empty( $this->api_key ) || empty( $this->zone_id ) ) 46 | throw new \Exception( __( 'API key not specified.', 'w3-total-cache' ) ); 47 | 48 | if ( !class_exists( 'NetDNA' ) ) 49 | require_once W3TC_LIB_NETDNA_DIR . '/NetDNA.php'; 50 | $api = \NetDNA::create( $this->api_key ); 51 | 52 | $api->cache_delete( $this->zone_id ); 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /Cdnfsd_MaxCdn_Page.php: -------------------------------------------------------------------------------- 1 | 7 |
8 | ' . $details['error_message'] . '
'; 11 | ?> 12 |
13 | 15 | 16 | 17 | 18 | 29 | 30 |
API Key: 19 | 22 |
23 | 24 | To obtain API key you can 25 | click here, 26 | log in, and paste the key in above field. 27 | 28 |
31 | 32 |

33 | 36 |

37 | 38 |
39 | 40 | -------------------------------------------------------------------------------- /Cdnfsd_MaxCdn_Popup_View_Success.php: -------------------------------------------------------------------------------- 1 | 7 |
8 |
9 | 11 | 12 |
13 | Pull Zone was successfully configured.
14 | Next, update the domain DNS records 15 | and add CNAME alias to 16 | to enable caching. 17 |
18 | 19 |

20 | 23 |

24 | 25 |
26 |
27 | -------------------------------------------------------------------------------- /Cdnfsd_Page_View_Header.php: -------------------------------------------------------------------------------- 1 | 8 | 9 |

10 | '.Cdnfsd_Util::engine_name( $config->get_string( 'cdnfsd.engine' ) ).'', 13 | '' . __( 'enabled', 'w3-total-cache' ) : 'disabled">' . __( 'disabled', 'w3-total-cache' ) ) . '' 14 | ); ?> 15 |

16 | -------------------------------------------------------------------------------- /Cdnfsd_Plugin.php: -------------------------------------------------------------------------------- 1 | _config = Dispatcher::config(); 15 | } 16 | 17 | /** 18 | * Runs plugin 19 | */ 20 | function run() { 21 | add_filter( 'w3tc_footer_comment', array( 22 | $this, 23 | 'w3tc_footer_comment' 24 | ) ); 25 | 26 | add_action( 'w3tc_flush_all', array( 27 | '\W3TC\Cdnfsd_CacheFlush', 28 | 'w3tc_flush_all' 29 | ), 3000, 1 ); 30 | add_action( 'w3tc_flush_post', array( 31 | '\W3TC\Cdnfsd_CacheFlush', 32 | 'w3tc_flush_post' 33 | ), 3000, 1 ); 34 | add_action( 'w3tc_flushable_posts', '__return_true', 3000 ); 35 | add_action( 'w3tc_flush_posts', array( 36 | '\W3TC\Cdnfsd_CacheFlush', 37 | 'w3tc_flush_all' 38 | ), 3000 ); 39 | add_action( 'w3tc_flush_url', array( 40 | '\W3TC\Cdnfsd_CacheFlush', 41 | 'w3tc_flush_url' 42 | ), 3000, 1 ); 43 | add_filter( 'w3tc_flush_execute_delayed_operations', array( 44 | '\W3TC\Cdnfsd_CacheFlush', 45 | 'w3tc_flush_execute_delayed_operations' 46 | ), 3000 ); 47 | 48 | Util_AttachToActions::flush_posts_on_actions(); 49 | } 50 | 51 | public function w3tc_footer_comment( $strings ) { 52 | $config = Dispatcher::config(); 53 | $via = $config->get_string('cdnfsd.engine'); 54 | 55 | $strings[] = sprintf( 56 | __( 'Content Delivery Network Full Site Delivery via %s', 'w3-total-cache' ), 57 | ( $via ? $via : 'N/A' ) ); 58 | 59 | return $strings; 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /Cdnfsd_Util.php: -------------------------------------------------------------------------------- 1 | _config_state_master = $config_state_master; 20 | $this->_config_state = $config_state; 21 | } 22 | 23 | /** 24 | * Returns value 25 | * 26 | * @param string $key 27 | * @param string $default 28 | * @return mixed 29 | */ 30 | public function get( $key ) { 31 | $timestamp = $this->_config_state->get_integer( $key . '.timestamp' ); 32 | $timestamp_master = $this->_config_state_master->get_integer( 33 | $key . '.timestamp' ); 34 | 35 | if ( $timestamp > $timestamp_master ) 36 | return $this->_config_state->get_boolean( $key ); 37 | else 38 | return $this->_config_state_master->get_boolean( $key ); 39 | } 40 | 41 | /** 42 | * Sets flag to true/false 43 | */ 44 | public function set( $key, $value ) { 45 | $this->_config_state->set( $key, $value ); 46 | $this->_config_state->set( $key . '.timestamp', time() ); 47 | $this->_config_state->save(); 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /DbCache_ConfigLabels.php: -------------------------------------------------------------------------------- 1 | __( 'Database Cache Method:', 'w3-total-cache' ), 8 | 'dbcache.enabled' => __( 'Database Cache:', 'w3-total-cache' ), 9 | 'dbcache.debug' => __( 'Database Cache', 'w3-total-cache' ), 10 | 'dbcache.reject.logged' => __( 'Don\'t cache queries for logged in users', 'w3-total-cache' ), 11 | 'dbcache.lifetime' => __( 'Maximum lifetime of cache objects:', 'w3-total-cache' ), 12 | 'dbcache.file.gc' => __( 'Garbage collection interval:', 'w3-total-cache' ), 13 | 'dbcache.reject.uri' => __( 'Never cache the following pages:', 'w3-total-cache' ), 14 | 'dbcache.reject.sql' => __( 'Ignored query stems:', 'w3-total-cache' ), 15 | 'dbcache.reject.words' => __( 'Reject query words:', 'w3-total-cache' ) 16 | ) ); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /DbCache_Core.php: -------------------------------------------------------------------------------- 1 | get_string( 'dbcache.engine' ); 11 | 12 | switch ( $engine ) { 13 | case 'memcached': 14 | $engineConfig = array( 15 | 'servers' => $c->get_array( 'dbcache.memcached.servers' ), 16 | 'persistent' => $c->get_boolean( 'dbcache.memcached.persistent' ), 17 | 'aws_autodiscovery' => $c->get_boolean( 'dbcache.memcached.aws_autodiscovery' ), 18 | 'username' => $c->get_string( 'dbcache.memcached.username' ), 19 | 'password' => $c->get_string( 'dbcache.memcached.password' ) 20 | ); 21 | break; 22 | 23 | case 'redis': 24 | $engineConfig = array( 25 | 'servers' => $c->get_array( 'dbcache.redis.servers' ), 26 | 'persistent' => $c->get_boolean( 'dbcache.redis.persistent' ), 27 | 'dbid' => $c->get_integer( 'dbcache.redis.dbid' ), 28 | 'password' => $c->get_string( 'dbcache.redis.password' ) 29 | ); 30 | break; 31 | 32 | default: 33 | $engineConfig = array(); 34 | } 35 | 36 | $engineConfig['engine'] = $engine; 37 | return $engineConfig; 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /DbCache_Page.php: -------------------------------------------------------------------------------- 1 | _config->get_boolean( 'dbcache.enabled' ); 22 | 23 | include W3TC_INC_DIR . '/options/dbcache.php'; 24 | } 25 | 26 | /** 27 | * Database cluster config editor 28 | * 29 | * @return void 30 | */ 31 | function dbcluster_config() { 32 | $this->_page = 'w3tc_dbcluster_config'; 33 | if ( Util_Environment::is_dbcluster() ) 34 | $content = @file_get_contents( W3TC_FILE_DB_CLUSTER_CONFIG ); 35 | else 36 | $content = @file_get_contents( W3TC_DIR . '/ini/dbcluster-config-sample.php' ); 37 | 38 | include W3TC_INC_OPTIONS_DIR . '/enterprise/dbcluster-config.php'; 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /DbCache_WpdbBase.php: -------------------------------------------------------------------------------- 1 | 'AMP', 16 | 'author' => 'W3 EDGE', 17 | 'description' => __( 'Adds compatibility for accelerated mobile pages (AMP) to minify.', 18 | 'w3-total-cache' ), 19 | 'author_uri' => 'https://www.w3-edge.com/', 20 | 'extension_uri' => 'https://www.w3-edge.com/', 21 | 'extension_id' => 'amp', 22 | 'settings_exists' => false, 23 | 'version' => '0.1', 24 | 'enabled' => $enabled, 25 | 'disabled_message' => $disabled_message, 26 | 'requirements' => implode( ', ', $requirements ), 27 | 'path' => 'w3-total-cache/Extension_Amp_Plugin.php' 28 | ); 29 | 30 | return $extensions; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /Extension_CloudFlare_Cdn_Page_View.php: -------------------------------------------------------------------------------- 1 | 8 |
9 |
10 | 12 | 13 | 14 | 22 | 25 | 26 |
15 | 21 | 23 | Open Configuration Page 24 |
27 | 28 | 29 | 30 |
31 |
32 | -------------------------------------------------------------------------------- /Extension_CloudFlare_GeneralPage_View.php: -------------------------------------------------------------------------------- 1 | 8 | 9 | 'cloudflare.configuration_overloaded' 12 | ) ); 13 | ?> 14 |

15 | 16 |

17 | 18 | 19 | array( 'cloudflare', 'widget_cache_mins' ), 22 | 'label' => __( 'Cache time:', 'w3-total-cache' ), 23 | 'control' => 'textbox', 24 | 'description' => 25 | 'How many minutes data retrieved from CloudFlare ' . 26 | 'should be stored. Minimum is 1 minute.' 27 | ) ); 28 | 29 | Util_Ui::config_item( array( 30 | 'key' => array( 'cloudflare', 'pagecache' ), 31 | 'label' => __( 'Page Caching:', 'w3-total-cache' ), 32 | 'control' => 'checkbox', 33 | 'checkbox_label' => 'Flush CloudFlare on Post Modifications', 34 | 'description' => 35 | 'Enable when you have html pages cached on CloudFlare level.' 36 | ) ); 37 | ?> 38 |
39 | 40 | ' ); 45 | ?> 46 | 47 | -------------------------------------------------------------------------------- /Extension_CloudFlare_Page_View.js: -------------------------------------------------------------------------------- 1 | jQuery(function($) { 2 | function w3tc_extension_cloudflare_resize(o) { 3 | o.options.height = jQuery('.w3tc_extension_cloudflare_form').height() + 30; 4 | o.resize(); 5 | } 6 | 7 | 8 | $('body') 9 | /** 10 | * Authorize popup 11 | */ 12 | .on('click', '.w3tc_extension_cloudflare_authorize', function() { 13 | W3tc_Lightbox.open({ 14 | id:'w3tc-overlay', 15 | close: '', 16 | width: 800, 17 | height: 300, 18 | url: ajaxurl + '?action=w3tc_ajax&_wpnonce=' + w3tc_nonce + 19 | '&w3tc_action=extension_cloudflare_intro', 20 | callback: w3tc_extension_cloudflare_resize 21 | }); 22 | }) 23 | 24 | 25 | 26 | .on('click', '.w3tc_popup_submit', function() { 27 | var url = ajaxurl + '?action=w3tc_ajax&_wpnonce=' + w3tc_nonce; 28 | 29 | W3tc_Lightbox.load_form(url, '.w3tc_extension_cloudflare_form', 30 | w3tc_extension_cloudflare_resize); 31 | }) 32 | 33 | 34 | 35 | .on('click', '.w3tc_cloudflare_zone_page', function() { 36 | var page = jQuery(this).attr('data-page'); 37 | jQuery('input[name="w3tc_action"]').val('extension_cloudflare_intro_done'); 38 | jQuery('input[name="page"]').val(page); 39 | 40 | var url = ajaxurl + '?action=w3tc_ajax&_wpnonce=' + w3tc_nonce; 41 | 42 | W3tc_Lightbox.load_form(url, '.w3tc_extension_cloudflare_form', 43 | w3tc_extension_cloudflare_resize); 44 | }) 45 | }); 46 | -------------------------------------------------------------------------------- /Extension_CloudFlare_Popup_View_Intro.php: -------------------------------------------------------------------------------- 1 | 7 |
8 | 9 | ' . $details['error_message'] . '
'; 12 | ?> 13 |
14 | 16 | 17 | 18 | 24 | 25 | 26 | 32 | 33 |
19 | 20 | 23 |
API key:', 'w3-total-cache' ); ?> 27 | 28 | 31 |
34 | 35 |

36 | 39 |

40 | 41 |
42 | 43 | -------------------------------------------------------------------------------- /Extension_CloudFlare_View_Comments.css: -------------------------------------------------------------------------------- 1 | .cloudflare_ip_check { 2 | padding-left: 10px; 3 | } 4 | 5 | img.cloudflare_ip_check_img { 6 | float: none; 7 | vertical-align:middle; 8 | padding-bottom: 2px; 9 | } 10 | 11 | .cloudflare_ip_check_error { 12 | color: #990000; 13 | } 14 | 15 | .cloudflare_ip_check_success { 16 | color: #009900; 17 | } -------------------------------------------------------------------------------- /Extension_CloudFlare_View_Dashboard.js: -------------------------------------------------------------------------------- 1 | jQuery(function() { 2 | jQuery('#w3tc_dashboard [type=submit]').bind('click', function(){ 3 | jQuery(this).attr('was_clicked','yes'); 4 | }); 5 | 6 | jQuery('#w3tc_dashboard').submit(function(event) { 7 | var el = jQuery("[was_clicked=yes]").get(0); 8 | if (el.id == 'flush_all') { 9 | if (!confirm('Purging your site\'s CloudFlare cache will remove all CloudFlare cache files. It may take up to 48 hours for the CloudFlare cache to completely rebuild on CloudFlare\'s global network. Are you sure you want to purge CloudFlare the cache? Clicking cancel will cancel "empty all caches".')) { 10 | event.preventDefault(); 11 | } 12 | } 13 | jQuery(el).removeAttr("was_clicked"); 14 | }); 15 | }); 16 | -------------------------------------------------------------------------------- /Extension_CloudFlare_Widget_Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szepeviktor/w3-total-cache-fixed/d7c4e8f9648f6dde232430feec27d241359761f1/Extension_CloudFlare_Widget_Logo.png -------------------------------------------------------------------------------- /Extension_CloudFlare_Widget_View.css: -------------------------------------------------------------------------------- 1 | .cloudflare_p { 2 | text-align: center; 3 | } 4 | 5 | .cloudflare_table { 6 | width: 100%; 7 | padding-left: 20px; 8 | padding-right: 20px; 9 | } 10 | 11 | td.cloudflare_td { 12 | padding: 0; 13 | padding-right: 10px; 14 | font-weight: bold; 15 | color: #333; 16 | } 17 | 18 | td.cloudflare_td_header { 19 | padding: 0; 20 | padding-right: 5px; 21 | padding-top: 5px; 22 | text-align: right; 23 | font-weight: bold; 24 | color: #333; 25 | } 26 | 27 | td.cloudflare_td_value { 28 | padding: 0; 29 | padding-right: 8px; 30 | text-align: right; 31 | color: #333; 32 | } 33 | 34 | .w3tc_cloudflare_widget_logo { 35 | float: left; 36 | width: 220px; 37 | height: 35px; 38 | background: url("Extension_CloudFlare_Widget_Logo.png") no-repeat; 39 | background-size: contain; 40 | } -------------------------------------------------------------------------------- /Extension_CloudFlare_Widget_View.php: -------------------------------------------------------------------------------- 1 | 8 | 9 | 10 | 11 | 12 |

13 | Period 14 | time_mins( $stats, 'since' ) ?> 15 | - 16 | time_mins( $stats, 'until' ) ?> 17 |

18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | v( $stats, 'bandwidth', 'all' ) ?> 27 | v( $stats, 'bandwidth', 'cached' ) ?> 28 | 29 | 30 | 31 | v( $stats, 'requests', 'all' ) ?> 32 | v( $stats, 'requests', 'cached' ) ?> 33 | 34 | 35 | 36 | v( $stats, 'pageviews', 'all' ) ?> 37 | 38 | 39 | 40 | v( $stats, 'uniques', 'all' ) ?> 41 | 42 | 43 | 44 | v( $stats, 'threats', 'all' ) ?> 45 | 46 |
AllCached
Bandwidth
Requests
Page Views
Uniques
Threats
47 | 48 | 49 | -------------------------------------------------------------------------------- /Extension_FeedBurner_Page.php: -------------------------------------------------------------------------------- 1 | 8 |

9 | Jump to: 10 | | 11 | 12 |

13 |

14 | FeedBurner extension is currently is_extension_active_frontend( 'feedburner' ) ) 16 | echo 'enabled'; 17 | else 18 | echo 'disabled'; 19 | ?>. 20 |

21 | 22 |

23 | 24 | 25 | array( 'feedburner', 'urls' ), 28 | 'control' => 'textarea', 29 | 'label' => __( 'Additional URLs:', 'w3-total-cache' ), 30 | 'description' => __( 'Specify any additional feed URLs to ping on FeedBurner.', 31 | 'w3-total-cache' ) 32 | ) ) 33 | ?> 34 |
35 | 36 | 37 |
38 | -------------------------------------------------------------------------------- /Extension_FragmentCache_Environment.php: -------------------------------------------------------------------------------- 1 | get_string( array( 'fragmentcache', 'engine' ) ) == 'file' ) { 14 | if ( !wp_next_scheduled( 'w3_fragmentcache_cleanup' ) ) { 15 | wp_schedule_event( time(), 16 | 'w3_fragmentcache_cleanup', 17 | 'w3_fragmentcache_cleanup' ); 18 | } 19 | } else { 20 | self::unschedule(); 21 | } 22 | } 23 | 24 | static public function deactivate_extension() { 25 | self::unschedule(); 26 | } 27 | 28 | /** 29 | * scheduling stuff 30 | */ 31 | static private function unschedule() { 32 | if ( wp_next_scheduled( 'w3_fragmentcache_cleanup' ) ) { 33 | wp_clear_scheduled_hook( 'w3_fragmentcache_cleanup' ); 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /Extension_FragmentCache_GeneralPage.php: -------------------------------------------------------------------------------- 1 | 'fragmentcache', 'text' => 'Fragment Cache' ); 24 | return $anchors; 25 | } 26 | 27 | 28 | 29 | public function w3tc_settings_general_boxarea_fragmentcache() { 30 | include W3TC_DIR . '/Extension_FragmentCache_GeneralPage_View.php'; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /Extension_FragmentCache_GeneralPage_View.php: -------------------------------------------------------------------------------- 1 | 9 |

Enable fragment caching reduce execution time for common operations.

10 | 11 | 12 | array( 'fragmentcache', 'engine' ), 15 | 'label' => __( 'Fragment Cache Method:', 'w3-total-cache' ), 16 | 'empty_value' => true 17 | ) ); 18 | ?> 19 |
20 | 21 | ' ); 25 | ?> 26 | 27 | -------------------------------------------------------------------------------- /Extension_FragmentCache_Page.php: -------------------------------------------------------------------------------- 1 | get_registered_fragment_groups(); 12 | include W3TC_DIR . '/Extension_FragmentCache_Page_View.php'; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Extension_Genesis_Page.php: -------------------------------------------------------------------------------- 1 | _config = Dispatcher::config(); 11 | } 12 | 13 | 14 | 15 | function w3tc_save_new_relic() { 16 | $service = Dispatcher::component( 'Extension_NewRelic_Service' ); 17 | $application = Util_Request::get_array( 'application' ); 18 | $application['alerts_enabled'] = $application['alerts_enabled'] == 1 ? 'true' : 'false'; 19 | $application['rum_enabled'] = $application['rum_enabled'] == 1 ? 'true' : 'false'; 20 | $result=$service->update_application_settings( $application ); 21 | Util_Admin::redirect( array( 22 | 'w3tc_note' => 'new_relic_save' 23 | ), true ); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /Extension_NewRelic_Core.php: -------------------------------------------------------------------------------- 1 | get( array( 'newrelic', 'api_key' ) ); 8 | $id = $c->get( array( 'newrelic', 'browser.application_id' ) ); 9 | 10 | if ( empty( $api_key ) || empty( $id ) ) 11 | return null; 12 | 13 | $applications_string = get_option( 'w3tc_nr_browser_applications' ); 14 | $applications = @json_decode( $applications_string, true ); 15 | if ( !is_array( $applications ) ) 16 | $applications = array(); 17 | 18 | if ( isset( $applications[$id] ) ) 19 | return $applications[$id]; 20 | 21 | try { 22 | $api = new Extension_NewRelic_Api( $api_key ); 23 | $app = $api->get_browser_application( $id ); 24 | 25 | if ( !is_null( $app ) ) { 26 | $applications[$id] = $app; 27 | update_option( 'w3tc_nr_browser_applications', 28 | json_encode( $applications ) ); 29 | } 30 | 31 | return $app; 32 | } catch ( \Exception $ex ) { 33 | return null; 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /Extension_NewRelic_GeneralPage.php: -------------------------------------------------------------------------------- 1 | 'monitoring', 'text' => 'Monitoring' ); 28 | return $anchors; 29 | } 30 | 31 | 32 | 33 | public function w3tc_settings_general_boxarea_monitoring() { 34 | $config = Dispatcher::config(); 35 | 36 | $nerser = Dispatcher::component( 'Extension_NewRelic_Service' ); 37 | $new_relic_installed = $nerser->module_is_enabled(); 38 | $effective_appname = $nerser->get_effective_appname(); 39 | 40 | include W3TC_DIR . '/Extension_NewRelic_GeneralPage_View.php'; 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /Extension_NewRelic_Page.php: -------------------------------------------------------------------------------- 1 | get_string( array( 'newrelic', 'monitoring_type' ) ); 19 | if ( $monitoring_type == 'browser' ) { 20 | return; 21 | } 22 | 23 | $nerser = Dispatcher::component( 'Extension_NewRelic_Service' ); 24 | $new_relic_configured = $config->get_string( array( 'newrelic', 'api_key' ) ) && 25 | $config->get_string( array( 'newrelic', 'apm.application_name' ) ); 26 | $verify_running = $nerser->verify_running(); 27 | $application_settings = array(); 28 | 29 | try { 30 | $application_settings = $nerser->get_application_settings(); 31 | } catch ( \Exception $ex ) { 32 | $application_settings = array(); 33 | } 34 | 35 | if ( $view_metric = Util_Request::get_boolean( 'view_metric', false ) ) { 36 | $metric_names = $nerser->get_metric_names( Util_Request::get_string( 'regex', '' ) ); 37 | } 38 | 39 | include W3TC_DIR . '/Extension_NewRelic_Page_View_Apm.php'; 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /Extension_NewRelic_Popup_View_Intro.php: -------------------------------------------------------------------------------- 1 | 7 |
8 | ' . $details['error_message'] . ''; 11 | ?> 12 | 13 |
14 | 16 | 17 | 18 | 23 | 27 | 28 |
19 | 22 | 24 | 26 |
29 | 30 |

31 | 34 |

35 | 36 |
37 |
38 | -------------------------------------------------------------------------------- /Extension_NewRelic_Widget_View_Browser.php: -------------------------------------------------------------------------------- 1 | 8 | 9 |

10 | 11 | 12 | 13 |

14 | -------------------------------------------------------------------------------- /Extension_NewRelic_Widget_View_NotConfigured.php: -------------------------------------------------------------------------------- 1 | 8 | 9 | -------------------------------------------------------------------------------- /Extension_Swarmify_AdminActions.php: -------------------------------------------------------------------------------- 1 | set( array( 'swarmify', 'api_key' ), $_REQUEST['swarmcdnkey'] ); 11 | $config->save(); 12 | } 13 | 14 | Util_Environment::redirect( Util_Ui::admin_url( 15 | 'admin.php?page=w3tc_extensions&extension=swarmify&action=view' ) ); 16 | exit(); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Extension_Swarmify_Core.php: -------------------------------------------------------------------------------- 1 | first_name . 11 | ( empty( $u->first_name ) ? '' : ' ' ) . 12 | $u->last_name; 13 | 14 | return 'https://www.swarmify.com/landing/w3tc?' . 15 | 'email=' . urlencode( $email ) . 16 | '&name=' . urlencode( $name ) . 17 | '&return=' . 18 | urlencode( wp_nonce_url( Util_Ui::admin_url( 'admin.php' ), 'w3tc' ) . 19 | '&page=w3tc_extensions&w3tc_swarmify_set_key=set' ); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Extension_Swarmify_Page.php: -------------------------------------------------------------------------------- 1 | get_string( array( 'swarmify', 'api_key' ) ); 11 | $authorized = !empty( $api_key ); 12 | 13 | $email = get_bloginfo( 'admin_email' ); 14 | $u = wp_get_current_user(); 15 | $name = $u->first_name . 16 | ( empty( $u->first_name ) ? '' : ' ' ) . 17 | $u->last_name; 18 | 19 | $swarmify_signup_url = Extension_Swarmify_Core::signup_url(); 20 | 21 | include W3TC_DIR . '/Extension_Swarmify_Page_View.php'; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /Extension_Swarmify_Widget_View.css: -------------------------------------------------------------------------------- 1 | .w3tc-widget-swarmify-base.sign-up h4 { 2 | text-align: left; 3 | margin-bottom: 0; 4 | padding-bottom: 0; 5 | } 6 | .w3tc-widget-swarmify-base.sign-up p { 7 | margin-top: 4px; 8 | padding-top: 0; 9 | } 10 | .w3tc-widget-swarmify-base.sign-up p span.desc { 11 | color:#8F8F8F; 12 | } 13 | 14 | .w3tc-widget-swarmify-logo { 15 | width: 170px; 16 | height: 35px; 17 | background: url("pub/img/w3tc_swarmify-logo.png") 0 5px no-repeat; 18 | float: left; 19 | } 20 | 21 | /* 22 | @media 23 | (-webkit-min-device-pixel-ratio: 2), 24 | (min-resolution: 192dpi) { 25 | .w3tc-widget-swarmify-logo{ 26 | float: left; 27 | width: 180px; 28 | height: 90px; 29 | background-image: url("pub/img/w3tc_swarmify-logo-retina.png"); 30 | background-size: 589px 90px; 31 | } 32 | } 33 | */ 34 | -------------------------------------------------------------------------------- /Extension_Swarmify_Widget_View_NotConfigured.php: -------------------------------------------------------------------------------- 1 | 8 |
9 |

10 |

11 |

12 | 13 |

14 |

15 |

16 | 17 |
18 | -------------------------------------------------------------------------------- /Extension_WordPressSeo_Plugin.php: -------------------------------------------------------------------------------- 1 | _config = Dispatcher::config(); 9 | } 10 | 11 | public function run() { 12 | if ( $this->_config->get_boolean( 'cdn.enabled' ) ) { 13 | add_filter( 'wpseo_xml_sitemap_img_src', array( 14 | $this, 'wpseo_cdn_filter' ) ); 15 | } 16 | } 17 | 18 | /** 19 | * Hook into Yoast SEO sitemap image filter. 20 | * 21 | * @param unknown $uri 22 | * @return string 23 | */ 24 | public function wpseo_cdn_filter( $uri ) { 25 | $common = Dispatcher::component( 'Cdn_Core' ); 26 | $cdn = $common->get_cdn(); 27 | $parsed = parse_url( $uri ); 28 | $path = $parsed['path']; 29 | $remote_path = $common->uri_to_cdn_uri( $path ); 30 | $new_url = $cdn->format_url( $remote_path ); 31 | 32 | return $new_url; 33 | } 34 | } 35 | 36 | 37 | 38 | $p = new Extension_WordPressSeo_Plugin(); 39 | $p->run(); 40 | 41 | if ( is_admin() ) { 42 | $p = new Extension_WordPressSeo_Plugin_Admin(); 43 | $p->run(); 44 | } 45 | -------------------------------------------------------------------------------- /Extension_Wpml_Plugin.php: -------------------------------------------------------------------------------- 1 | _config = Dispatcher::config(); 9 | } 10 | 11 | public function run() { 12 | if ( Util_Environment::is_w3tc_pro( $this->_config ) ) { 13 | add_filter( 'w3tc_url_to_docroot_filename', 14 | array( $this, 'w3tc_url_to_docroot_filename' ) ); 15 | } 16 | } 17 | 18 | 19 | 20 | public function w3tc_url_to_docroot_filename( $data ) { 21 | $home_url = $data['home_url']; 22 | 23 | if ( substr( $data['url'], 0, strlen( $home_url ) ) != $home_url ) { 24 | $data['home_url'] = get_option( 'home' ); 25 | } 26 | 27 | return $data; 28 | } 29 | } 30 | 31 | 32 | 33 | $p = new Extension_Wpml_Plugin(); 34 | $p->run(); 35 | 36 | if ( is_admin() ) { 37 | $p = new Extension_Wpml_Plugin_Admin(); 38 | $p->run(); 39 | } 40 | -------------------------------------------------------------------------------- /Extensions_AdminActions.php: -------------------------------------------------------------------------------- 1 | array( sprintf( 17 | __( 'Extension %s has been successfully activated.', 18 | 'w3-total-cache' ), 19 | $ext['name'] 20 | ) ) 21 | ) ); 22 | return; 23 | } 24 | } 25 | 26 | Util_Admin::redirect( array() ); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /Generic_AdminLinks.php: -------------------------------------------------------------------------------- 1 | get_string( 'common.support' ); 25 | $matches = null; 26 | if ( $support != '' && preg_match( '~^link_category_(\d+)$~', $support, $matches ) ) { 27 | require_once ABSPATH . 'wp-admin/includes/bookmark.php'; 28 | 29 | wp_insert_link( array( 30 | 'link_url' => W3TC_LINK_URL, 31 | 'link_name' => W3TC_LINK_NAME, 32 | 'link_category' => array( 33 | (int) $matches[1] 34 | ), 35 | 'link_rel' => 'nofollow' 36 | ) ); 37 | } 38 | } 39 | 40 | /** 41 | * Deletes plugin link from Blogroll 42 | * 43 | * @return void 44 | */ 45 | static public function link_delete() { 46 | require_once ABSPATH . 'wp-admin/includes/bookmark.php'; 47 | $bookmarks = get_bookmarks(); 48 | $link_id = 0; 49 | foreach ( $bookmarks as $bookmark ) { 50 | if ( $bookmark->link_url == W3TC_LINK_URL ) { 51 | wp_delete_link( $bookmark->link_id ); 52 | } 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /Generic_GeneralPage_View_ShowEdge.js: -------------------------------------------------------------------------------- 1 | 2 | jQuery(function() { 3 | W3tc_Lightbox.open({ 4 | id:'w3tc-overlay', 5 | close: '', 6 | width: 800, 7 | height: 240, 8 | url: ajaxurl + '?action=w3tc_ajax&_wpnonce=' + w3tc_nonce + 9 | '&w3tc_action=generic_edge' 10 | }); 11 | }); 12 | -------------------------------------------------------------------------------- /Generic_GeneralPage_View_ShowSupportUs.js: -------------------------------------------------------------------------------- 1 | jQuery(function() { 2 | W3tc_Lightbox.open({ 3 | id: 'w3tc-overlay', 4 | close: '', 5 | width: 800, 6 | height: 445, 7 | url: ajaxurl + '?action=w3tc_ajax&_wpnonce=' + w3tc_nonce + 8 | '&w3tc_action=generic_support_us', 9 | callback: function(lightbox) { 10 | jQuery(".palette-twitter").click(function() {jQuery("#tweeted").val("1");}); 11 | } 12 | }); 13 | }); 14 | -------------------------------------------------------------------------------- /Generic_Page_About.php: -------------------------------------------------------------------------------- 1 | _config_master; 29 | 30 | $browsercache_enabled = $module_status->is_enabled( 'browsercache' ); 31 | 32 | $enabled = $module_status->plugin_is_enabled(); 33 | 34 | $can_empty_memcache = $module_status->can_empty_memcache(); 35 | 36 | $can_empty_opcode = $module_status->can_empty_opcode(); 37 | 38 | $can_empty_file = $module_status->can_empty_file(); 39 | 40 | $can_empty_varnish = $module_status->can_empty_varnish(); 41 | 42 | $cdn_enabled = $module_status->is_enabled( 'cdn' ); 43 | $cdn_mirror_purge = Cdn_Util::can_purge_all( $module_status->get_module_engine( 'cdn' ) ); 44 | 45 | 46 | // Required for Update Media Query String button 47 | $browsercache_update_media_qs = ( $this->_config->get_boolean( 'browsercache.cssjs.replace' ) || $this->_config->get_boolean( 'browsercache.other.replace' ) ); 48 | 49 | include W3TC_INC_DIR . '/options/dashboard.php'; 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /Generic_Page_Faq.php: -------------------------------------------------------------------------------- 1 | $number ) { 25 | if ( !isset( $columns[$number] ) ) 26 | $columns[$number] = array(); 27 | $columns[$number][] = $section; 28 | } 29 | 30 | include W3TC_INC_DIR . '/options/faq.php'; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /Generic_Page_Install.php: -------------------------------------------------------------------------------- 1 | get_required_rules( $this->_config ); 25 | $other_areas = $e->get_other_instructions( $this->_config ); 26 | } 27 | 28 | include W3TC_INC_DIR . '/options/install.php'; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /Generic_WidgetServices_View.php: -------------------------------------------------------------------------------- 1 | 8 |
9 | 10 | 11 | 29 |
30 |

31 | 34 |

35 |
36 | -------------------------------------------------------------------------------- /Generic_WidgetSpreadTheWord.js: -------------------------------------------------------------------------------- 1 | jQuery(function() { 2 | jQuery('.button-share').live('click', function() { 3 | window.open('https://plus.google.com/share?url=' + 4 | encodeURIComponent(w3tc_spread_the_word_product_url), '_blank'); 5 | }); 6 | 7 | jQuery('.button-tweet').live('click', function() { 8 | window.open('https://twitter.com/?status=' + 9 | encodeURIComponent(w3tc_spread_the_word_tweet), '_blank'); 10 | }); 11 | 12 | jQuery('.button-like').live('click', function() { 13 | window.open('https://www.facebook.com/sharer.php?u=' + 14 | encodeURIComponent(w3tc_spread_the_word_product_url), '_blank'); 15 | }); 16 | 17 | var last_value = null; 18 | jQuery('#common_support').change(function() { 19 | var where = jQuery(this).val(); 20 | if (last_value == where) 21 | return; 22 | 23 | last_value = where; 24 | 25 | jQuery.post(ajaxurl, { 26 | action:'w3tc_link_support', 27 | w3tc_common_support_us: where 28 | }, function(data) { 29 | alert(data); 30 | }); 31 | }); 32 | 33 | jQuery('.button-rating').live('click', function() { 34 | window.open(w3tc_spread_the_word_rate_url, '_blank'); 35 | }); 36 | }); -------------------------------------------------------------------------------- /Generic_WidgetSpreadTheWord_View.php: -------------------------------------------------------------------------------- 1 | 8 |

9 | 23 | 24 |

25 | 26 | -------------------------------------------------------------------------------- /Minify_GeneralPage_View_ShowHelp.js: -------------------------------------------------------------------------------- 1 | function w3tc_show_minify_help() { 2 | W3tc_Lightbox.open({ 3 | id: 'w3tc-overlay', 4 | close: '', 5 | width: 800, 6 | height: 610, 7 | url: ajaxurl + '?action=w3tc_ajax&_wpnonce=' + w3tc_nonce + 8 | '&w3tc_action=minify_help', 9 | callback: function(lightbox) { 10 | jQuery('.btn-primary', lightbox.container).click(function() { 11 | lightbox.close(); 12 | }); 13 | } 14 | }); 15 | } 16 | 17 | 18 | 19 | jQuery(function($) { 20 | $('#minify__enabled').click(function() { 21 | var checked = $(this).is(':checked'); 22 | if (!checked) 23 | return; 24 | 25 | w3tc_show_minify_help(); 26 | }); 27 | }); 28 | -------------------------------------------------------------------------------- /Minify_GeneralPage_View_ShowHelpForce.js: -------------------------------------------------------------------------------- 1 | jQuery(function() { 2 | w3tc_show_minify_help(); 3 | }); 4 | -------------------------------------------------------------------------------- /Mobile_Page_ReferrerGroups.php: -------------------------------------------------------------------------------- 1 | _config->get_array( 'referrer.rgroups' ); 21 | 22 | $w3_referrer = Dispatcher::component( 'Mobile_Referrer' ); 23 | 24 | $themes = $w3_referrer->get_themes(); 25 | 26 | include W3TC_INC_DIR . '/options/referrer.php'; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /Mobile_Page_UserAgentGroups.php: -------------------------------------------------------------------------------- 1 | $c->get_array( 'mobile.rgroups' ), 25 | 'disabled' => $c->is_sealed( 'mobile.rgroups' ), 26 | 'description' => 27 | '
  • ' . 28 | __( 'Enabling even a single user agent group will set a cookie called "w3tc_referrer." It is used to ensure a consistent user experience across page views. Make sure any reverse proxy servers etc respect this cookie for proper operation.', 29 | 'w3-total-cache' ) . 30 | '
  • ' . 31 | '
  • ' . 32 | __( 'Per the above, make sure that visitors are notified about the cookie as per any regulations in your market.', 33 | 'w3-total-cache' ) . 34 | '
  • ' 35 | ); 36 | 37 | $groups = apply_filters( 'w3tc_ui_config_item_mobile.rgroups', $groups ); 38 | 39 | $w3_mobile = Dispatcher::component( 'Mobile_UserAgent' ); 40 | $themes = $w3_mobile->get_themes(); 41 | 42 | include W3TC_INC_DIR . '/options/mobile.php'; 43 | } 44 | 45 | } 46 | -------------------------------------------------------------------------------- /Mobile_Redirect.php: -------------------------------------------------------------------------------- 1 | get_boolean( 'mobile.enabled' ) ) { 18 | $this->_mobile = Dispatcher::component( 'Mobile_UserAgent' ); 19 | } 20 | 21 | if ( $config->get_boolean( 'referrer.enabled' ) ) { 22 | $this->_referrer = Dispatcher::component( 'Mobile_Referrer' ); 23 | } 24 | } 25 | 26 | /** 27 | * Do logic 28 | */ 29 | function process() { 30 | /** 31 | * Skip some pages 32 | */ 33 | switch ( true ) { 34 | case defined( 'DOING_AJAX' ): 35 | case defined( 'DOING_CRON' ): 36 | case defined( 'APP_REQUEST' ): 37 | case defined( 'XMLRPC_REQUEST' ): 38 | case defined( 'WP_ADMIN' ): 39 | case ( defined( 'SHORTINIT' ) && SHORTINIT ): 40 | return; 41 | } 42 | 43 | /** 44 | * Handle mobile or referrer redirects 45 | */ 46 | if ( $this->_mobile || $this->_referrer ) { 47 | $mobile_redirect = $referrer_redirect = ''; 48 | if ( $this->_mobile ) 49 | $mobile_redirect = $this->_mobile->get_redirect(); 50 | if ( $this->_referrer ) 51 | $referrer_redirect = $this->_referrer->get_redirect(); 52 | 53 | $redirect = ( $mobile_redirect ? $mobile_redirect : $referrer_redirect ); 54 | 55 | if ( $redirect ) { 56 | Util_Environment::redirect( $redirect ); 57 | exit(); 58 | } 59 | } 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /Mobile_Referrer.php: -------------------------------------------------------------------------------- 1 | has_enabled_groups() ) { 29 | if ( isset( $_COOKIE[W3TC_REFERRER_COOKIE_NAME] ) ) { 30 | $http_referrer = $_COOKIE[W3TC_REFERRER_COOKIE_NAME]; 31 | } elseif ( isset( $_SERVER['HTTP_REFERER'] ) ) { 32 | $http_referrer = $_SERVER['HTTP_REFERER']; 33 | 34 | setcookie( W3TC_REFERRER_COOKIE_NAME, $http_referrer, 0, 35 | '/' /* not defined yet Util_Environment::network_home_url_uri()*/ ); 36 | } 37 | } elseif ( isset( $_COOKIE[W3TC_REFERRER_COOKIE_NAME] ) ) { 38 | setcookie( W3TC_REFERRER_COOKIE_NAME, '', 1 ); 39 | } 40 | 41 | return $http_referrer; 42 | } 43 | 44 | function group_verifier( $group_compare_value ) { 45 | static $http_referrer = null; 46 | if ( is_null( $http_referrer ) ) 47 | $http_referrer = $this->get_http_referrer(); 48 | return $http_referrer && preg_match( '~' . $group_compare_value . '~i', $http_referrer ); 49 | } 50 | 51 | function do_get_group() { 52 | return $this->get_http_referrer(); 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /Mobile_UserAgent.php: -------------------------------------------------------------------------------- 1 | __( 'Object Cache Method:', 'w3-total-cache' ), 8 | 'objectcache.enabled' => __( 'Object Cache:', 'w3-total-cache' ), 9 | 'objectcache.debug' => __( 'Object Cache', 'w3-total-cache' ), 10 | 'objectcache.lifetime' => __( 'Default lifetime of cache objects:', 'w3-total-cache' ), 11 | 'objectcache.file.gc' => __( 'Garbage collection interval:', 'w3-total-cache' ), 12 | 'objectcache.groups.global' => __( 'Global groups:', 'w3-total-cache' ), 13 | 'objectcache.groups.nonpersistent' => __( 'Non-persistent groups:', 'w3-total-cache' ), 14 | 'objectcache.purge.all' => __( 'Flush all cache on post, comment etc changes.', 'w3-total-cache' ) 15 | ) ); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /ObjectCache_Page.php: -------------------------------------------------------------------------------- 1 | _config->get_boolean( 'objectcache.enabled' ); 21 | 22 | include W3TC_INC_DIR . '/options/objectcache.php'; 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /PageSpeed_Widget_View.css: -------------------------------------------------------------------------------- 1 | .w3tcps_error { 2 | position: absolute; 3 | } 4 | 5 | .w3tc-widget-ps-rules { 6 | margin: 1em 0; 7 | background: #fff url(pub/img/ps_bar.gif) repeat-y; 8 | } 9 | 10 | .w3tc-widget-ps-rules a { 11 | color: #00f; 12 | text-decoration: none; 13 | } 14 | 15 | .w3tc-widget-ps-rules li, 16 | .w3tc-widget-ps-rules p { 17 | margin: 0; 18 | } 19 | 20 | .w3tc-widget-ps-rule { 21 | line-height: 20px; 22 | clear: left; 23 | } 24 | 25 | .w3tc-widget-ps-rule p { 26 | margin-left: 40px; 27 | line-height: 20px; 28 | height: 20px; 29 | overflow: hidden; 30 | } 31 | 32 | .w3tc-widget-ps-icon { 33 | width: 31px; 34 | height: 20px; 35 | position: relative; 36 | float: left; 37 | } 38 | 39 | .w3tc-widget-ps-icon div { 40 | display: block; 41 | background: url(pub/img/ps_scores.png); 42 | width: 14px; 43 | height: 14px; 44 | position: relative; 45 | top: 3px; 46 | left: 8px; 47 | } 48 | 49 | .w3tc-widget-ps-priority-high .w3tc-widget-ps-icon div { 50 | background-position: 0; 51 | } 52 | 53 | .w3tc-widget-ps-priority-medium .w3tc-widget-ps-icon div { 54 | background-position: -14px; 55 | } 56 | 57 | .w3tc-widget-ps-priority-low .w3tc-widget-ps-icon div { 58 | background-position: -28px; 59 | } 60 | 61 | .w3tc-widget-ps-expand { 62 | float: left; 63 | width: 30px; 64 | height: 20px; 65 | text-align: center; 66 | } 67 | 68 | .w3tc-widget-ps-expand a { 69 | color: #66d; 70 | } 71 | -------------------------------------------------------------------------------- /PageSpeed_Widget_View_NotConfigured.php: -------------------------------------------------------------------------------- 1 | 8 |

    9 | Google Page Speed score is not available. 10 |

    11 |

    12 | Please follow the directions 13 | found in the Miscellanous settings box on the 14 | General Settings tab. 15 |

    16 | -------------------------------------------------------------------------------- /PgCache_Page.php: -------------------------------------------------------------------------------- 1 | feeds; 24 | 25 | $feed_key = array_search( 'feed', $feeds ); 26 | 27 | if ( $feed_key !== false ) { 28 | unset( $feeds[$feed_key] ); 29 | } 30 | 31 | $default_feed = get_default_feed(); 32 | $pgcache_enabled = $this->_config->get_boolean( 'pgcache.enabled' ); 33 | $permalink_structure = get_option( 'permalink_structure' ); 34 | 35 | $varnish_enabled = $this->_config->get_boolean( 'varnish.enabled' ); 36 | $cdnfsd_enabled = $this->_config->get_boolean( 'cdnfsd.enabled' ); 37 | include W3TC_INC_DIR . '/options/pgcache.php'; 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /Support_Page_View_DoneContent.php: -------------------------------------------------------------------------------- 1 |
    2 | Thank you for filling out the form 3 |
    4 | 5 | -------------------------------------------------------------------------------- /Support_Page_View_PageContent.php: -------------------------------------------------------------------------------- 1 | 2 | 3 |
    4 |
    5 | 6 | 37 | -------------------------------------------------------------------------------- /SystemOpCache_AdminActions.php: -------------------------------------------------------------------------------- 1 | flush(); 10 | 11 | if ( $success ) { 12 | Util_Admin::redirect_with_custom_messages2( array( 13 | 'notes' => array( 'OPCache was flushed successfully' ) 14 | ), true ); 15 | } else { 16 | Util_Admin::redirect_with_custom_messages2( array( 17 | 'errors' => array( 'Failed to flush OPCache' ) 18 | ), true ); 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /SystemOpCache_Core.php: -------------------------------------------------------------------------------- 1 | add_shutdown_handler(); 10 | 11 | // usage default statistics handling 12 | add_action( 'w3tc_usage_statistics_of_request', array( 13 | $this, 'w3tc_usage_statistics_of_request' ), 10, 1 ); 14 | add_filter( 'w3tc_usage_statistics_metrics', array( 15 | $this, 'w3tc_usage_statistics_metrics' ) ); 16 | } 17 | 18 | 19 | 20 | public function w3tc_usage_statistics_of_request( $storage ) { 21 | $used_100kb = memory_get_peak_usage( true ) / 1024 / 10.24; 22 | 23 | $storage->counter_add( 'php_memory_100kb', $used_100kb ); 24 | $storage->counter_add( 'php_requests', 1 ); 25 | } 26 | 27 | 28 | 29 | public function w3tc_usage_statistics_metrics( $metrics ) { 30 | return array_merge( $metrics, array( 31 | 'php_memory_100kb', 'php_requests' ) ); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /UsageStatistics_Plugin_Admin.php: -------------------------------------------------------------------------------- 1 | init(); 13 | 14 | add_filter( 'w3tc_usage_statistics_summary_from_history', array( 15 | $this, 'w3tc_usage_statistics_summary_from_history' ), 10, 2 ); 16 | } 17 | 18 | 19 | 20 | public function w3tc_settings_general_boxarea_miscellaneous_content() { 21 | include W3TC_DIR . '/UsageStatistics_View_General.php'; 22 | } 23 | 24 | 25 | 26 | public function w3tc_usage_statistics_summary_from_history( $summary, $history ) { 27 | $php_memory_100kb = Util_UsageStatistics::sum( $history, 'php_memory_100kb' ); 28 | $php_requests = Util_UsageStatistics::sum( $history, 'php_requests' ); 29 | 30 | if ( $php_requests > 0 ) { 31 | $summary['php'] = array( 32 | 'memory' => Util_UsageStatistics::bytes_to_size( 33 | $php_memory_100kb / $php_requests * 1024 * 10.24 ) 34 | ); 35 | 36 | $summary['php']['wp_requests_total'] = 37 | Util_UsageStatistics::integer( $php_requests ); 38 | $summary['php']['wp_requests_per_second'] = 39 | Util_UsageStatistics::value_per_period_seconds( $php_requests, 40 | $summary ); 41 | } 42 | 43 | return $summary; 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /UsageStatistics_View_General.php: -------------------------------------------------------------------------------- 1 | 8 | 9 | 10 | get( $key ); 17 | if ( !$is_pro ) 18 | $value = false; 19 | 20 | $name = Util_Ui::config_key_to_http_name( $key ); 21 | Util_Ui::checkbox( $key, 22 | $name, 23 | $value, 24 | $c->is_sealed( 'common.' ) || !$is_pro, 25 | __( 'Enable caching statistics (on dashboard)', 'w3-total-cache' ) 26 | ); 27 | 28 | if ( !$is_pro ) 29 | echo ' (Available after upgrade)'; 30 | ?> 31 | 32 | 33 | -------------------------------------------------------------------------------- /UsageStatistics_Widget_View.css: -------------------------------------------------------------------------------- 1 | .ustats_p { 2 | text-align: center; 3 | } 4 | 5 | .ustats_header { 6 | font-weight: bold; 7 | } 8 | 9 | .ustats_table { 10 | width: 100%; 11 | padding-left: 20px; 12 | padding-right: 20px; 13 | } 14 | 15 | td.ustats_td { 16 | padding: 0; 17 | padding-right: 10px; 18 | font-weight: bold; 19 | color: #333; 20 | } 21 | 22 | td.ustats_td_header_name { 23 | padding: 0; 24 | padding-right: 5px; 25 | padding-top: 5px; 26 | text-align: left; 27 | font-weight: bold; 28 | color: #333; 29 | } 30 | 31 | td.ustats_td_header { 32 | padding: 0; 33 | padding-right: 5px; 34 | padding-top: 5px; 35 | text-align: right; 36 | font-weight: bold; 37 | color: #333; 38 | } 39 | 40 | td.ustats_td_value { 41 | padding: 0; 42 | padding-right: 8px; 43 | text-align: right; 44 | color: #333; 45 | } -------------------------------------------------------------------------------- /UsageStatistics_Widget_View_Disabled.php: -------------------------------------------------------------------------------- 1 | 7 |

    8 | Not active. Activate here 9 |

    10 | -------------------------------------------------------------------------------- /Util_Bus.php: -------------------------------------------------------------------------------- 1 | __( 'Memcached hostname:port / IP:port:', 'w3-total-cache' ), 10 | 'memcached.persistent' => __( 'Persistent connection', 'w3-total-cache' ), 11 | 'memcached.username' => __( 'Memcached username:', 'w3-total-cache' ), 12 | 'memcached.password' => __( 'Memcached password:', 'w3-total-cache' ), 13 | 'redis.servers' => __( 'Redis hostname:port / IP:port:', 'w3-total-cache' ), 14 | 'redis.persistent' => __( 'Persistent connection', 'w3-total-cache' ), 15 | 'redis.dbid' => __( 'Redis Database ID:', 'w3-total-cache' ), 16 | 'redis.password' => __( 'Redis password:', 'w3-total-cache' ), 17 | ); 18 | } 19 | 20 | return $keys[$key]; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Util_Environment_Exception.php: -------------------------------------------------------------------------------- 1 | technical_message = $technical_message; 10 | } 11 | 12 | public function technical_message() { 13 | return $this->technical_message; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Util_Environment_Exceptions.php: -------------------------------------------------------------------------------- 1 | exceptions = array(); 12 | } 13 | 14 | public function push( $ex ) { 15 | if ( $ex instanceof Util_Environment_Exceptions ) { 16 | foreach ( $ex->exceptions() as $ex2 ) 17 | $this->push( $ex2 ); 18 | } else { 19 | if ( $this->credentials_form == null && 20 | $ex instanceof Util_WpFile_FilesystemOperationException && 21 | $ex->credentials_form() != null ) 22 | $this->credentials_form = $ex->credentials_form(); 23 | $this->exceptions[] = $ex; 24 | } 25 | } 26 | 27 | /** 28 | * 29 | * 30 | * @return Exception[] 31 | */ 32 | public function exceptions() { 33 | return $this->exceptions; 34 | } 35 | 36 | public function credentials_form() { 37 | return $this->credentials_form; 38 | } 39 | 40 | public function getCombinedMessage() { 41 | $s = ''; 42 | foreach ( $this->exceptions as $m ) { 43 | $s .= $m->getMessage() . "\r\n"; 44 | } 45 | 46 | return $s; 47 | } 48 | 49 | } 50 | -------------------------------------------------------------------------------- /Util_WpFile_FilesystemChmodException.php: -------------------------------------------------------------------------------- 1 | filename = $filename; 12 | $this->permission = $permission; 13 | } 14 | 15 | public function filename() { 16 | return $this->filename; 17 | } 18 | 19 | public function permission() { 20 | return $this->permission; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Util_WpFile_FilesystemCopyException.php: -------------------------------------------------------------------------------- 1 | source_filename = $source_filename; 13 | $this->destination_filename = $destination_filename; 14 | } 15 | 16 | public function source_filename() { 17 | return $this->source_filename; 18 | } 19 | 20 | public function destination_filename() { 21 | return $this->destination_filename; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /Util_WpFile_FilesystemMkdirException.php: -------------------------------------------------------------------------------- 1 | folder = $folder; 11 | } 12 | 13 | public function folder() { 14 | return $this->folder; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Util_WpFile_FilesystemModifyException.php: -------------------------------------------------------------------------------- 1 | modification_description = $modification_description; 14 | $this->filename = $filename; 15 | $this->file_contents = $file_contents; 16 | } 17 | 18 | function modification_description() { 19 | return $this->modification_description; 20 | } 21 | 22 | public function filename() { 23 | return $this->filename; 24 | } 25 | 26 | public function file_contents() { 27 | return $this->file_contents; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /Util_WpFile_FilesystemOperationException.php: -------------------------------------------------------------------------------- 1 | credentials_form = $credentials_form; 13 | } 14 | 15 | public function credentials_form() { 16 | return $this->credentials_form; 17 | 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /Util_WpFile_FilesystemRmException.php: -------------------------------------------------------------------------------- 1 | filename = $filename; 11 | } 12 | 13 | public function filename() { 14 | return $this->filename; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Util_WpFile_FilesystemRmdirException.php: -------------------------------------------------------------------------------- 1 | folder = $folder; 11 | } 12 | 13 | public function folder() { 14 | return $this->folder; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Util_WpFile_FilesystemWriteException.php: -------------------------------------------------------------------------------- 1 | filename = $filename; 13 | $this->file_contents = $file_contents; 14 | } 15 | 16 | public function filename() { 17 | return $this->filename; 18 | } 19 | 20 | public function file_contents() { 21 | return $this->file_contents; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "szepeviktor/w3-total-cache", 3 | "description": "W3 Total Cache (Fixed)", 4 | "type": "wordpress-plugin", 5 | "require": {} 6 | } 7 | -------------------------------------------------------------------------------- /extension-example/Extension_Example.php: -------------------------------------------------------------------------------- 1 | config = w3tc_config(); 20 | 21 | // get value of config option and use it 22 | if ( $this->config->get_boolean( array( 'example' , 'is_title_postfix' ) ) ) 23 | add_filter( 'the_title', array( $this, 'the_title' ), 10, 2 ); 24 | } 25 | 26 | 27 | 28 | /** 29 | * the_title filter handler. 30 | * This extension adds specified postfix to each post title if extensions 31 | * is configured so on its settings page 32 | */ 33 | public function the_title( $title, $id ) { 34 | return $title . 35 | $this->config->get_string( array( 'example' , 'title_postfix' ) ); 36 | } 37 | } 38 | 39 | 40 | 41 | /* 42 | This file is simply loaded by W3 Total Cache in a case if extension is active. 43 | Its up to extension what will it do or which way will it do. 44 | */ 45 | $p = new Extension_Example(); 46 | $p->run(); 47 | 48 | if ( is_admin() ) { 49 | $p = new Extension_Example_Admin(); 50 | $p->run(); 51 | } 52 | -------------------------------------------------------------------------------- /extension-example/Extension_Example_Page_View.php: -------------------------------------------------------------------------------- 1 | 8 |

    9 | Jump to: 10 | | 11 | 12 |

    13 |

    Example extension is currently enabled

    14 | 15 |
    16 | 20 | 21 | array( 'example', 'is_title_postfix' ), 25 | 'control' => 'checkbox', 26 | 'label' => 'Add postfix to page titles', 27 | 'checkbox_label' => 'Enable', 28 | 'description' => 'Check if you want to add postfix to each post title.' 29 | ) ); 30 | \W3TC\Util_Ui::config_item( array( 31 | 'key' => array( 'example', 'title_postfix' ), 32 | 'control' => 'textbox', 33 | 'label' => 'Postfix to page titles' 34 | ) ); 35 | ?> 36 |
    37 | 43 |
    44 | -------------------------------------------------------------------------------- /inc/define.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |

    Unfortunately, an error occurred while creating the minify cache. Please check your settings to ensure your site is working as intended.

    5 |

    Thanks for using W3 Total Cache.

    6 | 7 | 8 | -------------------------------------------------------------------------------- /inc/email/minify_error_notification.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |

    Unfortunately, an error occurred while creating the minify cache. Please check your settings to ensure your site is working as intended.

    5 |

    Thanks for using W3 Total Cache.

    6 | 7 | 8 | -------------------------------------------------------------------------------- /inc/error.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | > 4 | 5 | 6 | Error 7 | 8 | 9 | 10 |

    11 | 12 |

    13 | 14 | -------------------------------------------------------------------------------- /inc/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szepeviktor/w3-total-cache-fixed/d7c4e8f9648f6dde232430feec27d241359761f1/inc/index.html -------------------------------------------------------------------------------- /inc/lightbox/cdn_s3_bucket_location.php: -------------------------------------------------------------------------------- 1 | 2 |

    Select bucket location:

    3 | 4 |

    5 | 12 |

    13 |

    14 | 15 | 16 | 17 |

    18 | -------------------------------------------------------------------------------- /inc/lightbox/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szepeviktor/w3-total-cache-fixed/d7c4e8f9648f6dde232430feec27d241359761f1/inc/lightbox/index.html -------------------------------------------------------------------------------- /inc/lightbox/purchase.php: -------------------------------------------------------------------------------- 1 |
    2 | 4 |
    5 | -------------------------------------------------------------------------------- /inc/mime/cssjs.php: -------------------------------------------------------------------------------- 1 | 'text/css', 8 | 'htc' => 'text/x-component', 9 | 'less' => 'text/css', 10 | //JS - varieties 11 | 'js' => 'application/x-javascript', 12 | 'js2' => 'application/javascript', 13 | 'js3' => 'text/javascript', 14 | 'js4' => 'text/x-js', 15 | ); 16 | -------------------------------------------------------------------------------- /inc/mime/html.php: -------------------------------------------------------------------------------- 1 | 'text/html', 8 | 'rtf|rtx' => 'text/richtext', 9 | 'svg' => 'image/svg+xml', 10 | 'txt' => 'text/plain', 11 | 'xsd' => 'text/xsd', 12 | 'xsl' => 'text/xsl', 13 | 'xml' => 'text/xml' 14 | ); 15 | -------------------------------------------------------------------------------- /inc/mime/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szepeviktor/w3-total-cache-fixed/d7c4e8f9648f6dde232430feec27d241359761f1/inc/mime/index.html -------------------------------------------------------------------------------- /inc/options/cdn/common/cnames-readonly.php: -------------------------------------------------------------------------------- 1 | ' . $cnames[0] . ''; 10 | } else { 11 | echo '
      '; 12 | 13 | foreach ($cnames as $index => $cname) { 14 | $label = ''; 15 | 16 | if ($index == 0) 17 | $label = __('(reserved for CSS)', 'w3-total-cache'); 18 | else if ($index == 1) 19 | $label = __('(reserved for JS in )', 'w3-total-cache'); 20 | else if ($index == 2) 21 | $label = __('(reserved for JS after )', 'w3-total-cache'); 22 | else if ($index == 3) 23 | $label = __('(reserved for JS before )', 'w3-total-cache'); 24 | else 25 | $label = ''; 26 | 27 | echo '
    1. '; 28 | echo $cname; 29 | echo ''; 30 | echo htmlspecialchars($label); 31 | echo '
    2. '; 32 | } 33 | 34 | echo '
    '; 35 | } 36 | -------------------------------------------------------------------------------- /inc/options/cdn/common/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szepeviktor/w3-total-cache-fixed/d7c4e8f9648f6dde232430feec27d241359761f1/inc/options/cdn/common/index.html -------------------------------------------------------------------------------- /inc/options/cdn/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szepeviktor/w3-total-cache-fixed/d7c4e8f9648f6dde232430feec27d241359761f1/inc/options/cdn/index.html -------------------------------------------------------------------------------- /inc/options/common/footer.php: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /inc/options/common/help.php: -------------------------------------------------------------------------------- 1 | 8 |
    9 |

    support or troubleshoot issues using the common questions below:', 'w3-total-cache' ); ?>

    10 | 11 | 12 | 21 | 22 | 23 |
    24 |
    25 | -------------------------------------------------------------------------------- /inc/options/common/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szepeviktor/w3-total-cache-fixed/d7c4e8f9648f6dde232430feec27d241359761f1/inc/options/common/index.html -------------------------------------------------------------------------------- /inc/options/edd/buy.php: -------------------------------------------------------------------------------- 1 | 8 |
    9 | ' ) ?> 11 | 16 |
    17 | -------------------------------------------------------------------------------- /inc/options/enterprise/dbcluster_general_section.php: -------------------------------------------------------------------------------- 1 | 8 | 9 |

    11 | checkbox( 'minify.css.strip.crlf', false, 'css_' ) ?>
    12 | checkbox( 'minify.css.embed', !$is_pro, 'csse_', true, ( $is_pro ? null : false ) ) ?> Eliminate render-blocking CSS by moving it to HTTP body 13 | upgrade)'; 16 | ?> 17 |
    18 | -------------------------------------------------------------------------------- /inc/options/minify/html.php: -------------------------------------------------------------------------------- 1 | 8 | checkbox( 'minify.html.strip.crlf', false, 'html_' ) ?>
    9 | -------------------------------------------------------------------------------- /inc/options/minify/htmltidy.php: -------------------------------------------------------------------------------- 1 | 8 | checkbox( 'minify.htmltidy.options.clean', false, 'html_' ) ?>
    9 | checkbox( 'minify.htmltidy.options.hide-comments', false, 'html_' ) ?>
    10 | -------------------------------------------------------------------------------- /inc/options/minify/htmltidy2.php: -------------------------------------------------------------------------------- 1 | 8 | 9 | 10 | 11 | name="minify__htmltidy__options__wrap" value="_config->get_integer( 'minify.htmltidy.options.wrap' ) ); ?>" size="8" style="text-align: right;" /> _e('symbols (set to 0 to disable)', 'w3-total-cache'); ?> 13 | 14 | 15 | -------------------------------------------------------------------------------- /inc/options/minify/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szepeviktor/w3-total-cache-fixed/d7c4e8f9648f6dde232430feec27d241359761f1/inc/options/minify/index.html -------------------------------------------------------------------------------- /inc/options/minify/js.php: -------------------------------------------------------------------------------- 1 | 8 | checkbox( 'minify.js.strip.comments', false, 'js_' ) ?>
    9 | checkbox( 'minify.js.strip.crlf', false, 'js_' ) ?>
    10 | -------------------------------------------------------------------------------- /inc/options/minify/yuijs.php: -------------------------------------------------------------------------------- 1 | 8 | checkbox( 'minify.yuijs.options.nomunge', false, 'js_' ) ?>
    9 | checkbox( 'minify.yuijs.options.preserve-semi', false, 'js_' ) ?>
    10 | checkbox( 'minify.yuijs.options.disable-optimizations', false, 'js_' ) ?>
    11 | -------------------------------------------------------------------------------- /inc/options/support.php: -------------------------------------------------------------------------------- 1 | 8 | 9 | 10 |
    11 |

    To complete your support request fill out the form below!

    12 |
    13 | 14 |

    15 | 16 |

    17 | 18 |
    19 | _request_types[$request_type] ) ) { 21 | $this->w3tc_support_select(); 22 | } else { 23 | if ( isset( $this->_request_prices[$request_type] ) && !$payment ) { 24 | $this->w3tc_support_payment(); 25 | } else { 26 | $this->w3tc_support_form(); 27 | } 28 | } 29 | ?> 30 |
    31 | 32 | 33 | -------------------------------------------------------------------------------- /inc/popup/common/footer.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /inc/popup/common/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szepeviktor/w3-total-cache-fixed/d7c4e8f9648f6dde232430feec27d241359761f1/inc/popup/common/index.html -------------------------------------------------------------------------------- /inc/popup/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szepeviktor/w3-total-cache-fixed/d7c4e8f9648f6dde232430feec27d241359761f1/inc/popup/index.html -------------------------------------------------------------------------------- /inc/widget/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szepeviktor/w3-total-cache-fixed/d7c4e8f9648f6dde232430feec27d241359761f1/inc/widget/index.html -------------------------------------------------------------------------------- /inc/widget/latest.php: -------------------------------------------------------------------------------- 1 | 8 |

    9 | 10 |

    11 |

    12 | 13 |

    14 | -------------------------------------------------------------------------------- /inc/widget/latest_ajax.php: -------------------------------------------------------------------------------- 1 | 8 | 9 |

    10 | 11 |

    12 | 13 | 14 |

    15 | View Feed 16 |

    17 | -------------------------------------------------------------------------------- /inc/widget/latest_control.php: -------------------------------------------------------------------------------- 1 | 8 |

    9 | 13 |

    14 | -------------------------------------------------------------------------------- /inc/widget/latest_news.php: -------------------------------------------------------------------------------- 1 | 8 |

    9 | 10 |

    11 |

    12 | 13 |

    14 | -------------------------------------------------------------------------------- /inc/widget/latest_news_ajax.php: -------------------------------------------------------------------------------- 1 | 8 | 9 |

    10 | 11 |

    12 | 13 | 14 |

    15 | View Feed 16 |

    17 | -------------------------------------------------------------------------------- /inc/widget/latest_news_control.php: -------------------------------------------------------------------------------- 1 | 8 |

    9 | 13 |

    14 | -------------------------------------------------------------------------------- /inc/widget/maxcdn_signup.php: -------------------------------------------------------------------------------- 1 | 8 |
    9 | 10 | ' . sprintf( __( 'MaxCDN encountered an error trying to retrieve data, make sure your host support cURL and outgoing requests: %s', 'w3-total-cache' ), $error ) . '

    ' ) ?> 11 | 12 | 13 |

    14 |

    15 |

    16 | 17 |

    18 | 19 |

    20 |

    21 | 22 |
    23 | -------------------------------------------------------------------------------- /inc/widget/pagepurge.php: -------------------------------------------------------------------------------- 1 | 8 |
    9 | 10 |

    Enter each URL on a new line

    11 |

    12 | 13 |

    14 |
    15 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szepeviktor/w3-total-cache-fixed/d7c4e8f9648f6dde232430feec27d241359761f1/index.html -------------------------------------------------------------------------------- /ini/apc.ini: -------------------------------------------------------------------------------- 1 | ; /etc/php.d/apc.ini 2 | 3 | extension = apc.so 4 | 5 | apc.enabled = 1 6 | apc.shm_segments = 1 7 | apc.shm_size = 32M 8 | apc.optimization = 0 9 | apc.num_files_hint = 4096 10 | apc.ttl = 7200 11 | apc.user_ttl = 7200 12 | apc.gc_ttl = 0 13 | apc.cache_by_default = 1 14 | apc.filters = "" 15 | apc.mmap_file_mask = "/tmp/apc.XXXXXX" 16 | apc.slam_defense = 0 17 | apc.file_update_protection = 2 18 | apc.enable_cli = 0 19 | apc.max_file_size = 10M 20 | apc.stat = 0 21 | apc.write_lock = 1 22 | apc.report_autofilter = 0 23 | apc.include_once_override = 0 24 | ;apc.rfc1867 = 0 25 | ;apc.rfc1867_prefix = "upload_" 26 | ;apc.rfc1867_name = "APC_UPLOAD_PROGRESS" 27 | ;apc.rfc1867_freq = 0 28 | apc.localcache = 0 29 | apc.localcache.size = 2048 30 | apc.coredump_unmap = 0 31 | apc.stat_ctime = 0 32 | -------------------------------------------------------------------------------- /ini/config-db-sample.php: -------------------------------------------------------------------------------- 1 | stream = $stream; 16 | $msg = $msg ?: 'Could not seek the stream to position ' . $pos; 17 | parent::__construct($msg); 18 | } 19 | 20 | /** 21 | * @return StreamInterface 22 | */ 23 | public function getStream() 24 | { 25 | return $this->stream; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /lib/Azure/GuzzleHttp/Exception/ServerException.php: -------------------------------------------------------------------------------- 1 | factory = isset($options['handle_factory']) 29 | ? $options['handle_factory'] 30 | : new CurlFactory(3); 31 | } 32 | 33 | public function __invoke(RequestInterface $request, array $options) 34 | { 35 | if (isset($options['delay'])) { 36 | usleep($options['delay'] * 1000); 37 | } 38 | 39 | $easy = $this->factory->create($request, $options); 40 | curl_exec($easy->handle); 41 | $easy->errno = curl_errno($easy->handle); 42 | 43 | return CurlFactory::finish($this, $easy, $this->factory); 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /lib/Azure/GuzzleHttp/Promise/AggregateException.php: -------------------------------------------------------------------------------- 1 | reason = $reason; 21 | 22 | $message = 'The promise was rejected'; 23 | 24 | if ($description) { 25 | $message .= ' with reason: ' . $description; 26 | } elseif (is_string($reason) 27 | || (is_object($reason) && method_exists($reason, '__toString')) 28 | ) { 29 | $message .= ' with reason: ' . $this->reason; 30 | } elseif ($reason instanceof \JsonSerializable) { 31 | $message .= ' with reason: ' 32 | . json_encode($this->reason, JSON_PRETTY_PRINT); 33 | } 34 | 35 | parent::__construct($message); 36 | } 37 | 38 | /** 39 | * Returns the rejection reason. 40 | * 41 | * @return mixed 42 | */ 43 | public function getReason() 44 | { 45 | return $this->reason; 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /lib/Azure/GuzzleHttp/Promise/TaskQueueInterface.php: -------------------------------------------------------------------------------- 1 | stream = $stream; 23 | $this->maxLength = $maxLength; 24 | } 25 | 26 | public function write($string) 27 | { 28 | $diff = $this->maxLength - $this->stream->getSize(); 29 | 30 | // Begin returning 0 when the underlying stream is too large. 31 | if ($diff <= 0) { 32 | return 0; 33 | } 34 | 35 | // Write the stream or a subset of the stream if needed. 36 | if (strlen($string) < $diff) { 37 | return $this->stream->write($string); 38 | } 39 | 40 | return $this->stream->write(substr($string, 0, $diff)); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /lib/Azure/GuzzleHttp/Psr7/LazyOpenStream.php: -------------------------------------------------------------------------------- 1 | filename = $filename; 27 | $this->mode = $mode; 28 | } 29 | 30 | /** 31 | * Creates the underlying stream lazily when required. 32 | * 33 | * @return StreamInterface 34 | */ 35 | protected function createStream() 36 | { 37 | return stream_for(try_fopen($this->filename, $this->mode)); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /lib/Azure/GuzzleHttp/Psr7/NoSeekStream.php: -------------------------------------------------------------------------------- 1 | 20 | * @copyright 2016 Microsoft Corporation 21 | * @license https://github.com/azure/azure-storage-php/LICENSE 22 | * @link https://github.com/azure/azure-storage-php 23 | */ 24 | 25 | namespace MicrosoftAzure\Storage\Blob\Models; 26 | 27 | /** 28 | * Encapsulates blob types 29 | * 30 | * @category Microsoft 31 | * @package MicrosoftAzure\Storage\Blob\Models 32 | * @author Azure Storage PHP SDK 33 | * @copyright 2016 Microsoft Corporation 34 | * @license https://github.com/azure/azure-storage-php/LICENSE 35 | * @version Release: 0.11.0 36 | * @link https://github.com/azure/azure-storage-php 37 | */ 38 | class BlobType 39 | { 40 | const BLOCK_BLOB = 'BlockBlob'; 41 | const PAGE_BLOB = 'PageBlob'; 42 | } 43 | -------------------------------------------------------------------------------- /lib/Azure/MicrosoftAzureStorage/Blob/Models/PageWriteOption.php: -------------------------------------------------------------------------------- 1 | 20 | * @copyright 2016 Microsoft Corporation 21 | * @license https://github.com/azure/azure-storage-php/LICENSE 22 | * @link https://github.com/azure/azure-storage-php 23 | */ 24 | 25 | namespace MicrosoftAzure\Storage\Blob\Models; 26 | 27 | /** 28 | * Holds available blob page write options 29 | * 30 | * @category Microsoft 31 | * @package MicrosoftAzure\Storage\Blob\Models 32 | * @author Azure Storage PHP SDK 33 | * @copyright 2016 Microsoft Corporation 34 | * @license https://github.com/azure/azure-storage-php/LICENSE 35 | * @version Release: 0.11.0 36 | * @link https://github.com/azure/azure-storage-php 37 | */ 38 | class PageWriteOption 39 | { 40 | const CLEAR_OPTION = 'clear'; 41 | const UPDATE_OPTION = 'update'; 42 | } 43 | 44 | 45 | -------------------------------------------------------------------------------- /lib/CSSTidy/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szepeviktor/w3-total-cache-fixed/d7c4e8f9648f6dde232430feec27d241359761f1/lib/CSSTidy/index.html -------------------------------------------------------------------------------- /lib/Google/Auth/Abstract.php: -------------------------------------------------------------------------------- 1 | 21 | * 22 | */ 23 | abstract class W3TCG_Google_Auth_Abstract 24 | { 25 | /** 26 | * An utility function that first calls $this->auth->sign($request) and then 27 | * executes makeRequest() on that signed request. Used for when a request 28 | * should be authenticated 29 | * @param W3TCG_Google_Http_Request $request 30 | * @return W3TCG_Google_Http_Request $request 31 | */ 32 | abstract public function authenticatedRequest(W3TCG_Google_Http_Request $request); 33 | abstract public function sign(W3TCG_Google_Http_Request $request); 34 | } 35 | -------------------------------------------------------------------------------- /lib/Google/Auth/Exception.php: -------------------------------------------------------------------------------- 1 | client = $client; 29 | } 30 | 31 | /** 32 | * Return the associated W3TCG_Google_Client class. 33 | * @return W3TCG_Google_Client 34 | */ 35 | public function getClient() 36 | { 37 | return $this->client; 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /lib/Google/Service/Exception.php: -------------------------------------------------------------------------------- 1 | = 0) { 26 | parent::__construct($message, $code, $previous); 27 | } else { 28 | parent::__construct($message, $code); 29 | } 30 | 31 | $this->errors = $errors; 32 | } 33 | 34 | /** 35 | * An example of the possible errors returned. 36 | * 37 | * { 38 | * "domain": "global", 39 | * "reason": "authError", 40 | * "message": "Invalid Credentials", 41 | * "locationType": "header", 42 | * "location": "Authorization", 43 | * } 44 | * 45 | * @return [{string, string}] List of errors return in an HTTP response or []. 46 | */ 47 | public function getErrors() 48 | { 49 | return $this->errors; 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /lib/Google/Signer/Abstract.php: -------------------------------------------------------------------------------- 1 | 22 | */ 23 | abstract class W3TCG_Google_Signer_Abstract 24 | { 25 | /** 26 | * Signs data, returns the signature as binary data. 27 | */ 28 | abstract public function sign($data); 29 | } 30 | -------------------------------------------------------------------------------- /lib/Google/Verifier/Abstract.php: -------------------------------------------------------------------------------- 1 | 22 | */ 23 | abstract class W3TCG_Google_Verifier_Abstract 24 | { 25 | /** 26 | * Checks a signature, returns true if the signature is correct, 27 | * false otherwise. 28 | */ 29 | abstract public function verify($data, $signature); 30 | } 31 | -------------------------------------------------------------------------------- /lib/Minify/HTTP/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szepeviktor/w3-total-cache-fixed/d7c4e8f9648f6dde232430feec27d241359761f1/lib/Minify/HTTP/index.html -------------------------------------------------------------------------------- /lib/Minify/Minify/CSS/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szepeviktor/w3-total-cache-fixed/d7c4e8f9648f6dde232430feec27d241359761f1/lib/Minify/Minify/CSS/index.html -------------------------------------------------------------------------------- /lib/Minify/Minify/CSSTidy.php: -------------------------------------------------------------------------------- 1 | true, 7 | 'compress_colors' => false, 8 | 'compress_font-weight' => false, 9 | 'lowercase_s' => false, 10 | 'optimise_shorthands' => 0, 11 | 'remove_last_;' => false, 12 | 'space_before_important' => false, 13 | 'case_properties' => 1, 14 | 'sort_properties' => false, 15 | 'sort_selectors' => false, 16 | 'merge_selectors' => 0, 17 | 'discard_invalid_selectors' => false, 18 | 'discard_invalid_properties' => false, 19 | 'css_level' => 'CSS3.0', 20 | 'preserve_css' => false, 21 | 'timestamp' => false, 22 | 'template' => 'default' 23 | ), $options); 24 | 25 | set_include_path(get_include_path() . PATH_SEPARATOR . W3TC_LIB_DIR . '/CSSTidy'); 26 | 27 | require_once 'class.csstidy.php'; 28 | 29 | $csstidy = new csstidy(); 30 | 31 | foreach ($options as $option => $value) { 32 | $csstidy->set_cfg($option, $value); 33 | } 34 | 35 | $csstidy->load_template($options['template']); 36 | $csstidy->parse($css); 37 | 38 | $css = $csstidy->print->plain(); 39 | 40 | $css = Minify_CSS_UriRewriter::rewrite($css, $options); 41 | 42 | return $css; 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /lib/Minify/Minify/Cache/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szepeviktor/w3-total-cache-fixed/d7c4e8f9648f6dde232430feec27d241359761f1/lib/Minify/Minify/Cache/index.html -------------------------------------------------------------------------------- /lib/Minify/Minify/CombineOnly.php: -------------------------------------------------------------------------------- 1 | 8 | */ 9 | class Minify_DebugDetector { 10 | public static function shouldDebugRequest($cookie, $get, $requestUri) 11 | { 12 | if (isset($get['debug'])) { 13 | return true; 14 | } 15 | if (! empty($cookie['minifyDebug'])) { 16 | foreach (preg_split('/\\s+/', $cookie['minifyDebug']) as $debugUri) { 17 | $pattern = '@' . preg_quote($debugUri, '@') . '@i'; 18 | $pattern = str_replace(array('\\*', '\\?'), array('.*', '.'), $pattern); 19 | if (preg_match($pattern, $requestUri)) { 20 | return true; 21 | } 22 | } 23 | } 24 | return false; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /lib/Minify/Minify/HTMLTidy.php: -------------------------------------------------------------------------------- 1 | false, 7 | 'hide-comments' => true, 8 | 'wrap' => 0, 9 | 'input-encoding' => 'utf8', 10 | 'output-encoding' => 'utf8', 11 | 'preserve-entities' => true 12 | ), $options, array( 13 | 'show-errors' => 0, 14 | 'show-warnings' => false, 15 | 'force-output' => true, 16 | 'tidy-mark' => false 17 | )); 18 | 19 | $tidy = new tidy(); 20 | $tidy->parseString($content, $options); 21 | $tidy->cleanRepair(); 22 | 23 | $content = $tidy->value; 24 | 25 | return $content; 26 | } 27 | 28 | public static function minifyXhtml($html, $options = array()) { 29 | $options = array_merge($options, array( 30 | 'output-xhtml' => true 31 | )); 32 | 33 | return self::minify($html, $options); 34 | } 35 | 36 | public static function minifyXml($xml, $options = array()) { 37 | $options = array_merge($options, array( 38 | 'input-xml' => true, 39 | 'output-xml' => true, 40 | 'add-xml-decl' => true 41 | )); 42 | 43 | return self::minify($xml, $options); 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /lib/Minify/Minify/Inline/CSS.php: -------------------------------------------------------------------------------- 1 | setTag('style'); 11 | $inline->setMinifier($minifier); 12 | $inline->setMinifierOptions($options); 13 | 14 | $content = $inline->doMinify($content); 15 | 16 | return $content; 17 | } 18 | 19 | protected function _process($openTag, $content, $closeTag) { 20 | $content = preg_replace('/(?:^\\s*\\s*$)/', '', $content); 21 | 22 | return parent::_process($openTag, $content, $closeTag); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /lib/Minify/Minify/Inline/JavaScript.php: -------------------------------------------------------------------------------- 1 | setTag('script'); 11 | $inline->setMinifier($minifier); 12 | $inline->setMinifierOptions($options); 13 | 14 | $content = $inline->doMinify($content); 15 | 16 | return $content; 17 | } 18 | 19 | protected function _process($openTag, $content, $closeTag) { 20 | $content = preg_replace('/(?:^\\s*(?:\\/\\/)?\\s*\\s*$)/', '', $content); 21 | 22 | return parent::_process($openTag, $content, $closeTag); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /lib/Minify/Minify/Inline/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szepeviktor/w3-total-cache-fixed/d7c4e8f9648f6dde232430feec27d241359761f1/lib/Minify/Minify/Inline/index.html -------------------------------------------------------------------------------- /lib/Minify/Minify/Loader.php: -------------------------------------------------------------------------------- 1 | 12 | */ 13 | class Minify_Loader { 14 | public function loadClass($class) 15 | { 16 | $file = dirname(dirname(__FILE__)) . DIRECTORY_SEPARATOR; 17 | $file .= strtr($class, "\\_", DIRECTORY_SEPARATOR . DIRECTORY_SEPARATOR) . '.php'; 18 | if (is_readable($file)) { 19 | require $file; 20 | } 21 | } 22 | 23 | static public function register() 24 | { 25 | $inst = new self(); 26 | spl_autoload_register(array($inst, 'loadClass')); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /lib/Minify/Minify/Logger.php: -------------------------------------------------------------------------------- 1 | 12 | * 13 | * @todo lose this singleton! pass log object in Minify::serve and distribute to others 14 | */ 15 | class Minify_Logger { 16 | 17 | /** 18 | * Set logger object. 19 | * 20 | * The object should have a method "log" that accepts a value as 1st argument and 21 | * an optional string label as the 2nd. 22 | * 23 | * @param mixed $obj or a "falsey" value to disable 24 | * @return null 25 | */ 26 | public static function setLogger($obj = null) { 27 | self::$_logger = $obj; 28 | } 29 | 30 | /** 31 | * Pass a message to the logger (if set) 32 | * 33 | * @param string $msg message to log 34 | * @return null 35 | */ 36 | public static function log($msg) { 37 | if (is_callable(self::$_logger)) { 38 | call_user_func(self::$_logger, $msg); 39 | } 40 | } 41 | 42 | /** 43 | * @var mixed logger object (like FirePHP) or null (i.e. no logger available) 44 | */ 45 | private static $_logger = null; 46 | } 47 | -------------------------------------------------------------------------------- /lib/Minify/Minify/Packer.php: -------------------------------------------------------------------------------- 1 | pack()); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /lib/Minify/Minify/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szepeviktor/w3-total-cache-fixed/d7c4e8f9648f6dde232430feec27d241359761f1/lib/Minify/Minify/index.html -------------------------------------------------------------------------------- /lib/Minify/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szepeviktor/w3-total-cache-fixed/d7c4e8f9648f6dde232430feec27d241359761f1/lib/Minify/index.html -------------------------------------------------------------------------------- /lib/NetDNA/W3tcWpHttpException.php: -------------------------------------------------------------------------------- 1 | =')) 9 | parent::__construct($message, (int)$code, $previous); 10 | else 11 | parent::__construct($message, (int)$code); 12 | $this->curl_headers = $headers; 13 | } 14 | 15 | public function getHeaders() { 16 | return $this->curl_headers; 17 | } 18 | 19 | } 20 | 21 | -------------------------------------------------------------------------------- /lib/Nusoap/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szepeviktor/w3-total-cache-fixed/d7c4e8f9648f6dde232430feec27d241359761f1/lib/Nusoap/index.html -------------------------------------------------------------------------------- /lib/SNS/services/MessageValidator/sns-exceptions.php: -------------------------------------------------------------------------------- 1 | W3 Total Cache requires PHP version 5.3 or above', 11 | 'w3-total-cache' ); 12 | 13 | return $m; 14 | } 15 | 16 | 17 | function w3tc_old_php_activate() { 18 | echo w3tc_old_php_message(); 19 | exit(); 20 | } 21 | 22 | 23 | 24 | function w3tc_old_php_admin_notices() { 25 | ?> 26 |
    27 |

    28 |
    29 | W3 Total Cache Error: some files appear to be missing or out of place. Please re-install plugin or remove %s.
    ', __FILE__ ); 27 | } 28 | } else { 29 | require_once W3TC_DIR . '/w3-total-cache-api.php'; 30 | 31 | $w3tc_redirect = \W3TC\Dispatcher::component( 'Mobile_Redirect' ); 32 | $w3tc_redirect->process(); 33 | 34 | $w3tc_config = \W3TC\Dispatcher::config(); 35 | if ( $w3tc_config->get_boolean( 'pgcache.enabled' ) ) { 36 | $o = \W3TC\Dispatcher::component( 'PgCache_ContentGrabber' ); 37 | $o->process(); 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /wp-content/db.php: -------------------------------------------------------------------------------- 1 | W3 Total Cache Error: some files appear to be missing or out of place. Please re-install plugin or remove %s.
    ', __FILE__ ); 22 | } 23 | } else { 24 | require_once W3TC_DIR . '/w3-total-cache-api.php'; 25 | 26 | // no caching during activation 27 | $is_installing = ( defined( 'WP_INSTALLING' ) && WP_INSTALLING ); 28 | 29 | $config = \W3TC\Dispatcher::config(); 30 | if ( ( !$is_installing && $config->get_boolean( 'dbcache.enabled' ) ) || \W3TC\Util_Environment::is_dbcluster() ) { 31 | if ( defined( 'DB_TYPE' ) ) { 32 | $db_driver_path = sprintf( '%s/Db/%s.php', W3TC_LIB_DIR, DB_TYPE ); 33 | 34 | if ( file_exists( $db_driver_path ) ) { 35 | require_once $db_driver_path; 36 | } else { 37 | die( sprintf( 'W3 Total Cache Error: database driver doesn\'t exist: %s.', $db_driver_path ) ); 38 | } 39 | } 40 | 41 | $GLOBALS['wpdb'] = \W3TC\DbCache_Wpdb::instance(); 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /wp-content/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/szepeviktor/w3-total-cache-fixed/d7c4e8f9648f6dde232430feec27d241359761f1/wp-content/index.html --------------------------------------------------------------------------------