X7ROOT File Manager
Current Path:
/home/mysptejz/public_html/web-hosting/wp-content/plugins/w3-total-cache
home
/
mysptejz
/
public_html
/
web-hosting
/
wp-content
/
plugins
/
w3-total-cache
/
ðŸ“
..
📄
Base_Page_Settings.php
(6.82 KB)
📄
BrowserCache_ConfigLabels.php
(10.36 KB)
📄
BrowserCache_Core.php
(3.19 KB)
📄
BrowserCache_Environment.php
(31.64 KB)
📄
BrowserCache_Environment_Apache.php
(3.38 KB)
📄
BrowserCache_Environment_LiteSpeed.php
(8.41 KB)
📄
BrowserCache_Environment_Nginx.php
(22.25 KB)
📄
BrowserCache_Page.php
(3.28 KB)
📄
BrowserCache_Page_View_QuickReference.php
(2.58 KB)
📄
BrowserCache_Page_View_SectionSecurity.php
(61.6 KB)
📄
BrowserCache_Plugin.php
(15.11 KB)
📄
BrowserCache_Plugin_Admin.php
(1.33 KB)
📄
Cache.php
(4.52 KB)
📄
CacheFlush.php
(7.88 KB)
📄
CacheFlush_Locally.php
(12.6 KB)
📄
CacheGroups_Plugin_Admin.php
(7.98 KB)
📄
CacheGroups_Plugin_Admin_View.js
(23 KB)
📄
CacheGroups_Plugin_Admin_View.php
(15.17 KB)
📄
Cache_Apc.php
(7.75 KB)
📄
Cache_Apcu.php
(7.77 KB)
📄
Cache_Base.php
(6.49 KB)
📄
Cache_Eaccelerator.php
(7.58 KB)
📄
Cache_File.php
(21.25 KB)
📄
Cache_File_Cleaner.php
(2.69 KB)
📄
Cache_File_Cleaner_Generic.php
(4.05 KB)
📄
Cache_File_Cleaner_Generic_HardDelete.php
(1.05 KB)
📄
Cache_File_Generic.php
(12.54 KB)
📄
Cache_Memcache.php
(14.32 KB)
📄
Cache_Memcached.php
(18.13 KB)
📄
Cache_Memcached_Stats.php
(3.52 KB)
📄
Cache_Nginx_Memcached.php
(13.55 KB)
📄
Cache_Redis.php
(13.31 KB)
📄
Cache_Wincache.php
(12.72 KB)
📄
Cache_Xcache.php
(11.55 KB)
📄
CdnEngine.php
(2.54 KB)
📄
CdnEngine_Azure.php
(12.65 KB)
📄
CdnEngine_Azure_MI.php
(12.28 KB)
📄
CdnEngine_Azure_MI_Utility.php
(18.19 KB)
📄
CdnEngine_Base.php
(16.37 KB)
📄
CdnEngine_CloudFront.php
(12.38 KB)
📄
CdnEngine_Ftp.php
(21.08 KB)
📄
CdnEngine_GoogleDrive.php
(24.14 KB)
📄
CdnEngine_Mirror.php
(2.46 KB)
📄
CdnEngine_Mirror_Akamai.php
(3.52 KB)
📄
CdnEngine_Mirror_Att.php
(293 B)
📄
CdnEngine_Mirror_BunnyCdn.php
(4.3 KB)
📄
CdnEngine_Mirror_CloudFront.php
(10.48 KB)
📄
CdnEngine_Mirror_Cotendo.php
(3.72 KB)
📄
CdnEngine_Mirror_Edgecast.php
(4.46 KB)
📄
CdnEngine_Mirror_RackSpaceCdn.php
(6.57 KB)
📄
CdnEngine_RackSpaceCloudFiles.php
(12.01 KB)
📄
CdnEngine_S3.php
(17.55 KB)
📄
CdnEngine_S3_Compatible.php
(10.36 KB)
📄
Cdn_AdminActions.php
(16.81 KB)
📄
Cdn_AdminNotes.php
(13.71 KB)
📄
Cdn_BunnyCdn_Api.php
(15.67 KB)
📄
Cdn_BunnyCdn_Page.php
(7.4 KB)
📄
Cdn_BunnyCdn_Page_View.js
(13.14 KB)
📄
Cdn_BunnyCdn_Page_View.php
(3.6 KB)
📄
Cdn_BunnyCdn_Page_View_Purge_Urls.php
(2.06 KB)
📄
Cdn_BunnyCdn_Popup.php
(10.83 KB)
📄
Cdn_BunnyCdn_Popup_View_Configured.php
(864 B)
📄
Cdn_BunnyCdn_Popup_View_Deauthorize.php
(2.15 KB)
📄
Cdn_BunnyCdn_Popup_View_Deauthorized.php
(1.54 KB)
📄
Cdn_BunnyCdn_Popup_View_Intro.php
(1.83 KB)
📄
Cdn_BunnyCdn_Popup_View_Pull_Zones.php
(5.16 KB)
📄
Cdn_BunnyCdn_Widget.php
(2.25 KB)
📄
Cdn_BunnyCdn_Widget_View.css
(1.26 KB)
📄
Cdn_BunnyCdn_Widget_View_Authorized.php
(1.9 KB)
📄
Cdn_BunnyCdn_Widget_View_Unauthorized.php
(6.1 KB)
📄
Cdn_CacheFlush.php
(2.64 KB)
📄
Cdn_ConfigLabels.php
(5.43 KB)
📄
Cdn_Core.php
(32.83 KB)
📄
Cdn_Core_Admin.php
(27.08 KB)
📄
Cdn_Environment.php
(19.29 KB)
📄
Cdn_Environment_LiteSpeed.php
(5.19 KB)
📄
Cdn_Environment_Nginx.php
(3.92 KB)
📄
Cdn_GeneralPage_View.php
(4.05 KB)
📄
Cdn_GoogleDrive_AdminActions.php
(3.53 KB)
📄
Cdn_GoogleDrive_Page.php
(2.03 KB)
📄
Cdn_GoogleDrive_Page_View.js
(6.25 KB)
📄
Cdn_GoogleDrive_Page_View.php
(1.36 KB)
📄
Cdn_GoogleDrive_Popup_AuthReturn.php
(1.61 KB)
📄
Cdn_GoogleDrive_Popup_AuthReturn_View.php
(1.66 KB)
📄
Cdn_Page.php
(3.5 KB)
📄
Cdn_Page_View_Fsd_HeaderActions.php
(760 B)
📄
Cdn_Plugin.php
(43.77 KB)
📄
Cdn_Plugin_Admin.php
(7.3 KB)
📄
Cdn_RackSpaceCdn_AdminActions.php
(1.28 KB)
📄
Cdn_RackSpaceCdn_Page.php
(2.05 KB)
📄
Cdn_RackSpaceCdn_Page_View.js
(10.06 KB)
📄
Cdn_RackSpaceCdn_Page_View.php
(5.22 KB)
📄
Cdn_RackSpaceCdn_Popup.php
(21.49 KB)
📄
Cdn_RackSpaceCdn_Popup_View_ConfigureDomains.php
(1.87 KB)
📄
Cdn_RackSpaceCdn_Popup_View_Intro.php
(1.71 KB)
📄
Cdn_RackSpaceCdn_Popup_View_Regions.php
(1.76 KB)
📄
Cdn_RackSpaceCdn_Popup_View_Service_Actualize.php
(2.04 KB)
📄
Cdn_RackSpaceCdn_Popup_View_Service_Create.php
(4.41 KB)
📄
Cdn_RackSpaceCdn_Popup_View_Service_Created.php
(2.48 KB)
📄
Cdn_RackSpaceCdn_Popup_View_Services.php
(1.99 KB)
📄
Cdn_RackSpaceCloudFiles_Page.php
(1.67 KB)
📄
Cdn_RackSpaceCloudFiles_Page_View.js
(6.44 KB)
📄
Cdn_RackSpaceCloudFiles_Page_View.php
(4.91 KB)
📄
Cdn_RackSpaceCloudFiles_Popup.php
(7.62 KB)
📄
Cdn_RackSpaceCloudFiles_Popup_View_Containers.php
(2.06 KB)
📄
Cdn_RackSpaceCloudFiles_Popup_View_Intro.php
(1.71 KB)
📄
Cdn_RackSpaceCloudFiles_Popup_View_Regions.php
(1.78 KB)
📄
Cdn_RackSpace_Api_CaCert-example.pem
(195.74 KB)
📄
Cdn_RackSpace_Api_Cdn.php
(10.72 KB)
📄
Cdn_RackSpace_Api_CloudFiles.php
(8.37 KB)
📄
Cdn_RackSpace_Api_CloudFilesCdn.php
(8.48 KB)
📄
Cdn_RackSpace_Api_Tokens.php
(6.78 KB)
📄
Cdn_Util.php
(6.73 KB)
📄
Cdnfsd_BunnyCdn_Engine.php
(2.03 KB)
📄
Cdnfsd_BunnyCdn_Page.php
(683 B)
📄
Cdnfsd_BunnyCdn_Page_View.js
(9.7 KB)
📄
Cdnfsd_BunnyCdn_Page_View.php
(3.72 KB)
📄
Cdnfsd_BunnyCdn_Popup.php
(10.39 KB)
📄
Cdnfsd_BunnyCdn_Popup_View_Configured.php
(1.3 KB)
📄
Cdnfsd_BunnyCdn_Popup_View_Deauthorize.php
(2.17 KB)
📄
Cdnfsd_BunnyCdn_Popup_View_Deauthorized.php
(1.56 KB)
📄
Cdnfsd_BunnyCdn_Popup_View_Intro.php
(1.85 KB)
📄
Cdnfsd_BunnyCdn_Popup_View_Pull_Zones.php
(5.57 KB)
📄
Cdnfsd_CacheFlush.php
(8.25 KB)
📄
Cdnfsd_CloudFront_Engine.php
(3.38 KB)
📄
Cdnfsd_CloudFront_Page.php
(741 B)
📄
Cdnfsd_CloudFront_Page_View.js
(8.51 KB)
📄
Cdnfsd_CloudFront_Page_View.php
(2.04 KB)
📄
Cdnfsd_CloudFront_Popup.php
(15.46 KB)
📄
Cdnfsd_CloudFront_Popup_View_Distribution.php
(3.34 KB)
📄
Cdnfsd_CloudFront_Popup_View_Distributions.php
(1.72 KB)
📄
Cdnfsd_CloudFront_Popup_View_Intro.php
(1.65 KB)
📄
Cdnfsd_CloudFront_Popup_View_Success.php
(976 B)
📄
Cdnfsd_Core.php
(1.96 KB)
📄
Cdnfsd_GeneralPage_View.php
(4.02 KB)
📄
Cdnfsd_Plugin.php
(1.98 KB)
📄
Cdnfsd_Plugin_Admin.php
(2.63 KB)
📄
Cdnfsd_TransparentCDN_Engine.php
(7.97 KB)
📄
Cdnfsd_TransparentCDN_Page.php
(1.36 KB)
📄
Cdnfsd_TransparentCDN_Page_View.js
(7.13 KB)
📄
Cdnfsd_TransparentCDN_Page_View.php
(2.33 KB)
📄
Cdnfsd_Util.php
(834 B)
📄
Cli.php
(17.33 KB)
📄
Config.php
(16.8 KB)
📄
ConfigCache.php
(4.67 KB)
📄
ConfigCompiler.php
(17.87 KB)
📄
ConfigDbStorage.php
(15.87 KB)
📄
ConfigKeys.php
(69.92 KB)
📄
ConfigSettingsTabs.php
(1.18 KB)
📄
ConfigSettingsTabsKeys.php
(19.62 KB)
📄
ConfigState.php
(6.08 KB)
📄
ConfigStateNote.php
(1.94 KB)
📄
ConfigUtil.php
(3.45 KB)
📄
DbCache_ConfigLabels.php
(1.22 KB)
📄
DbCache_Core.php
(2.05 KB)
📄
DbCache_Environment.php
(6.41 KB)
📄
DbCache_Page.php
(1.1 KB)
📄
DbCache_Plugin.php
(9.62 KB)
📄
DbCache_Plugin_Admin.php
(5.08 KB)
📄
DbCache_Wpdb.php
(1.63 KB)
📄
DbCache_WpdbBase.php
(346 B)
📄
DbCache_WpdbInjection.php
(7.15 KB)
📄
DbCache_WpdbInjection_QueryCaching.php
(26.05 KB)
📄
DbCache_WpdbLegacy.php
(22.42 KB)
📄
DbCache_WpdbNew.php
(22.24 KB)
📄
Dispatcher.php
(8.21 KB)
📄
Enterprise_CacheFlush_MakeSnsEvent.php
(7.47 KB)
📄
Enterprise_Dbcache_WpdbInjection_Cluster.php
(30.32 KB)
📄
Enterprise_SnsBase.php
(3.07 KB)
📄
Enterprise_SnsServer.php
(5.17 KB)
📄
Extension_AlwaysCached_AdminActions.php
(2.36 KB)
📄
Extension_AlwaysCached_Environment.php
(2.87 KB)
📄
Extension_AlwaysCached_Page.php
(4 KB)
📄
Extension_AlwaysCached_Page_Queue_View.php
(3.14 KB)
📄
Extension_AlwaysCached_Page_View.js
(13.04 KB)
📄
Extension_AlwaysCached_Page_View.php
(2.51 KB)
📄
Extension_AlwaysCached_Page_View_BoxCron.php
(2.92 KB)
📄
Extension_AlwaysCached_Page_View_BoxFlushAll.php
(3.28 KB)
📄
Extension_AlwaysCached_Page_View_BoxQueue.php
(4.35 KB)
📄
Extension_AlwaysCached_Page_View_Exclusions.php
(1.11 KB)
📄
Extension_AlwaysCached_Plugin.php
(12.1 KB)
📄
Extension_AlwaysCached_Plugin_Admin.php
(3.06 KB)
📄
Extension_AlwaysCached_Queue.php
(10.22 KB)
📄
Extension_AlwaysCached_Worker.php
(2.93 KB)
📄
Extension_Amp_Page_View.php
(1.26 KB)
📄
Extension_Amp_Plugin.php
(11.1 KB)
📄
Extension_Amp_Plugin_Admin.php
(2.19 KB)
📄
Extension_CloudFlare_AdminActions.php
(1.57 KB)
📄
Extension_CloudFlare_Api.php
(12.19 KB)
📄
Extension_CloudFlare_Cdn_Page_View.php
(625 B)
📄
Extension_CloudFlare_GeneralPage_View.php
(3.05 KB)
📄
Extension_CloudFlare_Page.php
(4.32 KB)
📄
Extension_CloudFlare_Page_View.js
(6.93 KB)
📄
Extension_CloudFlare_Page_View.php
(27.38 KB)
📄
Extension_CloudFlare_Plugin.php
(15.19 KB)
📄
Extension_CloudFlare_Plugin_Admin.php
(14.13 KB)
📄
Extension_CloudFlare_Popup.php
(4.21 KB)
📄
Extension_CloudFlare_Popup_View_Intro.php
(1.75 KB)
📄
Extension_CloudFlare_Popup_View_Zones.php
(2.09 KB)
📄
Extension_CloudFlare_SettingsForUi.php
(4.84 KB)
📄
Extension_CloudFlare_View_Dashboard.js
(6.49 KB)
📄
Extension_CloudFlare_Widget.php
(4.63 KB)
📄
Extension_CloudFlare_Widget_Logo.png
(6.96 KB)
📄
Extension_CloudFlare_Widget_View.css
(683 B)
📄
Extension_CloudFlare_Widget_View.php
(1.65 KB)
📄
Extension_FragmentCache_Api.php
(7.01 KB)
📄
Extension_FragmentCache_Core.php
(3.38 KB)
📄
Extension_FragmentCache_Environment.php
(1.41 KB)
📄
Extension_FragmentCache_GeneralPage.php
(1.27 KB)
📄
Extension_FragmentCache_GeneralPage_View.php
(2.47 KB)
📄
Extension_FragmentCache_Page.php
(697 B)
📄
Extension_FragmentCache_Page_View.php
(5.25 KB)
📄
Extension_FragmentCache_Plugin.php
(8.21 KB)
📄
Extension_FragmentCache_Plugin_Admin.php
(8.91 KB)
📄
Extension_FragmentCache_WpObjectCache.php
(16.92 KB)
📄
Extension_Genesis_Page.php
(409 B)
📄
Extension_Genesis_Page_View.php
(11.11 KB)
📄
Extension_Genesis_Plugin.php
(14.46 KB)
📄
Extension_Genesis_Plugin_Admin.php
(5.45 KB)
📄
Extension_ImageService_Api.php
(11.99 KB)
📄
Extension_ImageService_Cron.php
(6.49 KB)
📄
Extension_ImageService_Environment.php
(4.6 KB)
📄
Extension_ImageService_Page_View.php
(8.41 KB)
📄
Extension_ImageService_Plugin.php
(1.44 KB)
📄
Extension_ImageService_Plugin_Admin.css
(2.34 KB)
📄
Extension_ImageService_Plugin_Admin.js
(23.15 KB)
📄
Extension_ImageService_Plugin_Admin.php
(42.7 KB)
📄
Extension_ImageService_Widget.js
(11.95 KB)
📄
Extension_ImageService_Widget.php
(3.34 KB)
📄
Extension_ImageService_Widget_View.php
(1.59 KB)
📄
Extension_NewRelic_AdminActions.php
(1.11 KB)
📄
Extension_NewRelic_AdminNotes.php
(2.11 KB)
📄
Extension_NewRelic_Api.php
(4.03 KB)
📄
Extension_NewRelic_Core.php
(1.33 KB)
📄
Extension_NewRelic_GeneralPage.php
(1.53 KB)
📄
Extension_NewRelic_GeneralPage_View.php
(2.84 KB)
📄
Extension_NewRelic_Page.php
(1.35 KB)
📄
Extension_NewRelic_Page_View_Apm.php
(12.87 KB)
📄
Extension_NewRelic_Plugin.php
(7.09 KB)
📄
Extension_NewRelic_Plugin_Admin.php
(8.08 KB)
📄
Extension_NewRelic_Popup.php
(3.96 KB)
📄
Extension_NewRelic_Popup_View.js
(7.5 KB)
📄
Extension_NewRelic_Popup_View_Intro.php
(1.37 KB)
📄
Extension_NewRelic_Popup_View_ListApplications.php
(1.93 KB)
📄
Extension_NewRelic_Service.php
(21.65 KB)
📄
Extension_NewRelic_Widget.php
(10.48 KB)
📄
Extension_NewRelic_Widget_View.css
(1.37 KB)
📄
Extension_NewRelic_Widget_View.js
(8.2 KB)
📄
Extension_NewRelic_Widget_View_Apm.php
(2.91 KB)
📄
Extension_NewRelic_Widget_View_Browser.php
(436 B)
📄
Extension_NewRelic_Widget_View_NotConfigured.php
(233 B)
📄
Extension_Swarmify_AdminActions.php
(793 B)
📄
Extension_Swarmify_Core.php
(748 B)
📄
Extension_Swarmify_Page.php
(708 B)
📄
Extension_Swarmify_Page_View.php
(2.78 KB)
📄
Extension_Swarmify_Plugin.php
(4.63 KB)
📄
Extension_Swarmify_Plugin_Admin.php
(2.63 KB)
📄
Extension_WordPressSeo_Plugin.php
(1.39 KB)
📄
Extension_WordPressSeo_Plugin_Admin.php
(5.25 KB)
📄
Extension_Wpml_Plugin.php
(1.34 KB)
📄
Extension_Wpml_Plugin_Admin.php
(7.45 KB)
📄
Extensions_AdminActions.php
(943 B)
📄
Extensions_Page.php
(4.06 KB)
📄
Extensions_Plugin_Admin.php
(9.66 KB)
📄
Extensions_Util.php
(4.43 KB)
📄
FeatureShowcase_Plugin_Admin.php
(29.1 KB)
📄
FeatureShowcase_Plugin_Admin_View.php
(2.82 KB)
📄
Generic_AdminActions_Config.php
(6.61 KB)
📄
Generic_AdminActions_Default.php
(21.84 KB)
📄
Generic_AdminActions_Flush.php
(10.57 KB)
📄
Generic_AdminActions_Test.php
(6.15 KB)
📄
Generic_AdminNotes.php
(13.88 KB)
📄
Generic_ConfigLabels.php
(2.33 KB)
📄
Generic_Environment.php
(6.67 KB)
📄
Generic_Faq.php
(2.27 KB)
📄
Generic_GeneralPage_View_ShowEdge.js
(6.08 KB)
📄
Generic_Page_About.php
(503 B)
📄
Generic_Page_Dashboard.php
(1.66 KB)
📄
Generic_Page_Dashboard_View.css
(6.34 KB)
📄
Generic_Page_General.php
(2.88 KB)
📄
Generic_Page_Install.php
(913 B)
📄
Generic_Page_PurgeLog.php
(2.81 KB)
📄
Generic_Page_PurgeLog_View.php
(2.97 KB)
📄
Generic_Plugin.php
(23.04 KB)
📄
Generic_Plugin_Admin.php
(48.87 KB)
📄
Generic_Plugin_AdminCompatibility.php
(3.98 KB)
📄
Generic_Plugin_AdminNotices.css
(188 B)
📄
Generic_Plugin_AdminNotices.js
(7.43 KB)
📄
Generic_Plugin_AdminNotices.php
(12.12 KB)
📄
Generic_Plugin_AdminRowActions.php
(2.43 KB)
📄
Generic_Plugin_Admin_View_Faq.php
(1007 B)
📄
Generic_Plugin_Survey.php
(4.8 KB)
📄
Generic_WidgetAccount.php
(1.05 KB)
📄
Generic_WidgetAccount_View.php
(2.1 KB)
📄
Generic_WidgetBoldGrid.php
(1.97 KB)
📄
Generic_WidgetBoldGrid_AdminActions.php
(912 B)
📄
Generic_WidgetBoldGrid_Logo.svg
(4.28 KB)
📄
Generic_WidgetBoldGrid_View.js
(6.39 KB)
📄
Generic_WidgetBoldGrid_View.php
(872 B)
📄
Generic_WidgetPartners.php
(1.08 KB)
📄
Generic_WidgetPartners_View.php
(1.66 KB)
📄
Generic_WidgetServices.php
(1.66 KB)
📄
Generic_WidgetServices_View.php
(501 B)
📄
Generic_WidgetSettings.php
(1.05 KB)
📄
Generic_WidgetSettings_View.php
(3.37 KB)
📄
Generic_WidgetSpreadTheWord.js
(6.64 KB)
📄
Generic_WidgetSpreadTheWord_Plugin.php
(2.03 KB)
📄
Generic_WidgetSpreadTheWord_View.php
(579 B)
📄
Generic_WidgetStats.js
(9.08 KB)
📄
Generic_WidgetStats.php
(4.84 KB)
📄
LICENSE
(17.67 KB)
📄
Licensing_AdminActions.php
(4.22 KB)
📄
Licensing_Core.php
(6.28 KB)
📄
Licensing_Plugin_Admin.php
(16.65 KB)
📄
Minify_AutoCss.php
(8.83 KB)
📄
Minify_AutoJs.php
(9.68 KB)
📄
Minify_ConfigLabels.php
(8.66 KB)
📄
Minify_ContentMinifier.php
(10.24 KB)
📄
Minify_Core.php
(7.42 KB)
📄
Minify_Environment.php
(26.91 KB)
📄
Minify_Environment_LiteSpeed.php
(977 B)
📄
Minify_Extract.php
(2.8 KB)
📄
Minify_GeneralPage_View_ShowHelp.js
(6.9 KB)
📄
Minify_GeneralPage_View_ShowHelpForce.js
(5.83 KB)
📄
Minify_HelpPopup_View.php
(5.01 KB)
📄
Minify_MinifiedFileRequestHandler.php
(32.87 KB)
📄
Minify_Page.php
(18.45 KB)
📄
Minify_Plugin.php
(41.75 KB)
📄
Minify_Plugin_Admin.php
(11.97 KB)
📄
Mobile_Base.php
(6.85 KB)
📄
Mobile_Redirect.php
(1.85 KB)
📄
Mobile_Referrer.php
(2.4 KB)
📄
Mobile_UserAgent.php
(971 B)
📄
ModuleStatus.php
(4.37 KB)
📄
ObjectCache_ConfigLabels.php
(1.25 KB)
📄
ObjectCache_DiskPopup.js
(8.18 KB)
📄
ObjectCache_DiskPopup_View.php
(1.77 KB)
📄
ObjectCache_Environment.php
(6.79 KB)
📄
ObjectCache_Page.php
(560 B)
📄
ObjectCache_Page_View_PurgeLog.php
(1.01 KB)
📄
ObjectCache_Plugin.php
(6.54 KB)
📄
ObjectCache_Plugin_Admin.php
(6.97 KB)
📄
ObjectCache_WpObjectCache.php
(10.17 KB)
📄
ObjectCache_WpObjectCache_Regular.php
(34.11 KB)
📄
PageSpeed_Api.php
(12.16 KB)
📄
PageSpeed_Data.php
(37.19 KB)
📄
PageSpeed_Instructions.php
(43.29 KB)
📄
PageSpeed_Page.php
(8.76 KB)
📄
PageSpeed_Page_View.css
(6.21 KB)
📄
PageSpeed_Page_View.js
(15.26 KB)
📄
PageSpeed_Page_View.php
(2.08 KB)
📄
PageSpeed_Page_View_FromAPI.php
(7.65 KB)
📄
PageSpeed_Widget.php
(7.03 KB)
📄
PageSpeed_Widget_View.css
(2.62 KB)
📄
PageSpeed_Widget_View.js
(7.86 KB)
📄
PageSpeed_Widget_View.php
(1.09 KB)
📄
PageSpeed_Widget_View_FromApi.php
(3.71 KB)
📄
PgCache_ConfigLabels.php
(5.82 KB)
📄
PgCache_ContentGrabber.php
(70.95 KB)
📄
PgCache_Environment.php
(51.72 KB)
📄
PgCache_Flush.php
(16.32 KB)
📄
PgCache_Page.php
(1.6 KB)
📄
PgCache_Page_View.js
(6.32 KB)
📄
PgCache_Plugin.php
(14.22 KB)
📄
PgCache_Plugin_Admin.php
(14.49 KB)
📄
PgCache_QsExempts.php
(1.88 KB)
📄
Root_AdminActions.php
(3.05 KB)
📄
Root_AdminActivation.php
(6.52 KB)
📄
Root_AdminMenu.php
(8.37 KB)
📄
Root_Environment.php
(7.81 KB)
📄
Root_Loader.php
(6.94 KB)
📄
SetupGuide_Plugin_Admin.php
(48.8 KB)
📄
Support_AdminActions.php
(6.14 KB)
📄
Support_Page.php
(3.08 KB)
📄
Support_Page_View_DoneContent.php
(353 B)
📄
Support_Page_View_PageContent.php
(1.39 KB)
📄
SystemOpCache_AdminActions.php
(1.18 KB)
📄
SystemOpCache_Core.php
(2.48 KB)
📄
SystemOpCache_GeneralPage_View.php
(2.27 KB)
📄
SystemOpCache_Plugin_Admin.php
(3.3 KB)
📄
UsageStatistics_AdminActions.php
(1.14 KB)
📄
UsageStatistics_Core.php
(3.39 KB)
📄
UsageStatistics_GeneralPage.php
(1.6 KB)
📄
UsageStatistics_GeneralPage_View.php
(6.18 KB)
📄
UsageStatistics_Page.php
(8.4 KB)
📄
UsageStatistics_Page_DbRequests_View.php
(1.79 KB)
📄
UsageStatistics_Page_ObjectCacheLog_View.php
(1.97 KB)
📄
UsageStatistics_Page_PageCacheRequests_View.php
(1.86 KB)
📄
UsageStatistics_Page_View.css
(1.68 KB)
📄
UsageStatistics_Page_View.js
(23.2 KB)
📄
UsageStatistics_Page_View.php
(17.13 KB)
📄
UsageStatistics_Page_View_Ad.php
(688 B)
📄
UsageStatistics_Page_View_Disabled.php
(610 B)
📄
UsageStatistics_Page_View_Free.php
(635 B)
📄
UsageStatistics_Page_View_NoDebugMode.php
(615 B)
📄
UsageStatistics_Plugin.php
(2.89 KB)
📄
UsageStatistics_Plugin_Admin.php
(5.65 KB)
📄
UsageStatistics_Source_AccessLog.php
(17.47 KB)
📄
UsageStatistics_Source_DbQueriesLog.php
(6.04 KB)
📄
UsageStatistics_Source_ObjectCacheLog.php
(5.57 KB)
📄
UsageStatistics_Source_PageCacheLog.php
(6.11 KB)
📄
UsageStatistics_Source_Wpdb.php
(3.49 KB)
📄
UsageStatistics_Sources.php
(5.41 KB)
📄
UsageStatistics_Sources_Apc.php
(3.39 KB)
📄
UsageStatistics_Sources_Memcached.php
(4.58 KB)
📄
UsageStatistics_Sources_Redis.php
(4.69 KB)
📄
UsageStatistics_StorageReader.php
(2.81 KB)
📄
UsageStatistics_StorageWriter.php
(14.38 KB)
📄
UserExperience_DeferScripts_Extension.php
(7.04 KB)
📄
UserExperience_DeferScripts_Mutator.php
(2.78 KB)
📄
UserExperience_DeferScripts_Page_View.php
(3.91 KB)
📄
UserExperience_DeferScripts_Script.js
(6.14 KB)
📄
UserExperience_Emoji_Extension.php
(3.04 KB)
📄
UserExperience_GeneralPage.php
(1.72 KB)
📄
UserExperience_GeneralPage_View.php
(8.21 KB)
📄
UserExperience_LazyLoad_GoogleMaps_GoogleMapsEasy.php
(3.89 KB)
📄
UserExperience_LazyLoad_GoogleMaps_WPGoogleMapPlugin.php
(2.14 KB)
📄
UserExperience_LazyLoad_GoogleMaps_WPGoogleMaps.php
(3.94 KB)
📄
UserExperience_LazyLoad_Mutator.php
(9.18 KB)
📄
UserExperience_LazyLoad_Mutator_Picture.php
(2.52 KB)
📄
UserExperience_LazyLoad_Mutator_Unmutable.php
(2.88 KB)
📄
UserExperience_LazyLoad_Page_View.php
(6.46 KB)
📄
UserExperience_LazyLoad_Plugin.php
(9.17 KB)
📄
UserExperience_OEmbed_Extension.php
(795 B)
📄
UserExperience_Page.php
(527 B)
📄
UserExperience_Page_View.php
(695 B)
📄
UserExperience_Plugin_Admin.php
(3.49 KB)
📄
UserExperience_Plugin_Jquery.php
(1.4 KB)
📄
UserExperience_Preload_Requests_Extension.php
(6.15 KB)
📄
UserExperience_Preload_Requests_Page_View.php
(8.18 KB)
📄
UserExperience_Remove_CssJs_Extension.php
(6.79 KB)
📄
UserExperience_Remove_CssJs_Mutator.php
(4.45 KB)
📄
UserExperience_Remove_CssJs_Page_View.js
(15.98 KB)
📄
UserExperience_Remove_CssJs_Page_View.php
(14.59 KB)
📄
Util_Activation.php
(9.89 KB)
📄
Util_Admin.php
(25.03 KB)
📄
Util_AttachToActions.php
(7.65 KB)
📄
Util_Bus.php
(832 B)
📄
Util_ConfigLabel.php
(1.57 KB)
📄
Util_Content.php
(3.03 KB)
📄
Util_Debug.php
(6.38 KB)
📄
Util_DebugPurgeLog_Reader.php
(3.36 KB)
📄
Util_Environment.php
(42.46 KB)
📄
Util_Environment_Exception.php
(719 B)
📄
Util_Environment_Exceptions.php
(1.42 KB)
📄
Util_File.php
(13.11 KB)
📄
Util_Http.php
(5.87 KB)
📄
Util_Installed.php
(4.24 KB)
📄
Util_Mime.php
(2.9 KB)
📄
Util_PageSpeed.php
(33.92 KB)
📄
Util_PageUrls.php
(32.57 KB)
📄
Util_Request.php
(3.52 KB)
📄
Util_Rule.php
(13.83 KB)
📄
Util_Theme.php
(3.87 KB)
📄
Util_Ui.php
(83.11 KB)
📄
Util_UsageStatistics.php
(13.6 KB)
📄
Util_Widget.php
(7.88 KB)
📄
Util_WpFile.php
(16.48 KB)
📄
Util_WpFile_FilesystemChmodException.php
(1.66 KB)
📄
Util_WpFile_FilesystemCopyException.php
(1.79 KB)
📄
Util_WpFile_FilesystemMkdirException.php
(1.14 KB)
📄
Util_WpFile_FilesystemModifyException.php
(2.35 KB)
📄
Util_WpFile_FilesystemOperationException.php
(1.29 KB)
📄
Util_WpFile_FilesystemRmException.php
(1.14 KB)
📄
Util_WpFile_FilesystemRmdirException.php
(1.19 KB)
📄
Util_WpFile_FilesystemWriteException.php
(1.57 KB)
📄
Util_WpmuBlogmap.php
(8.06 KB)
📄
Varnish_Flush.php
(18.57 KB)
📄
Varnish_Plugin.php
(3.2 KB)
ðŸ“
extension-example
ðŸ“
inc
📄
index.html
(0 B)
ðŸ“
ini
ðŸ“
languages
ðŸ“
lib
📄
press.txt
(45.78 KB)
ðŸ“
pub
📄
readme.txt
(76.49 KB)
ðŸ“
vendor
📄
w3-total-cache-api.php
(22.29 KB)
📄
w3-total-cache-old-php.php
(1.25 KB)
📄
w3-total-cache.php
(2.83 KB)
ðŸ“
wp-content
Editing: Varnish_Flush.php
<?php /** * File: Varnish_Flush.php * * @package W3TC */ namespace W3TC; /** * Class Varnish_Flush * * phpcs:disable PSR2.Classes.PropertyDeclaration.Underscore * phpcs:disable PSR2.Methods.MethodDeclaration.Underscore * phpcs:disable WordPress.PHP.NoSilencedErrors.Discouraged * phpcs:disable WordPress.WP.AlternativeFunctions * phpcs:disable WordPress.DB.DirectDatabaseQuery */ class Varnish_Flush { /** * Debug flag * * @var bool */ private $_debug = false; /** * Varnish servers * * @var array */ private $_servers = array(); /** * Operation timeout * * @var int */ private $_timeout = 30; /** * Advanced cache config * * @var Config */ private $_config = null; /** * Array of already flushed urls * * @var array */ private $queued_urls = array(); /** * Flush operation requested flag * * @var bool */ private $flush_operation_requested = false; /** * Initializes the Varnish purging system. * * Configures the object with settings for debug mode, server details, and purge timeout * using the dispatcher configuration. * * @return void */ public function __construct() { $this->_config = Dispatcher::config(); $this->_debug = $this->_config->get_boolean( 'varnish.debug' ); $this->_servers = $this->_config->get_array( 'varnish.servers' ); $this->_timeout = $this->_config->get_integer( 'timelimit.varnish_purge' ); } /** * Sends a PURGE request to all configured Varnish servers for a given URL. * * Iterates through all the servers in the configuration and attempts to send a PURGE request. Logs any errors or successes * during the process. * * @param string $url The URL to be purged from the Varnish cache. * * @return bool Returns `true` if all purge requests were successful, otherwise `false`. * * @details * - Sets the script's timeout to the configured value for long-running operations. * - For each server: * - Sends a PURGE request. * - Logs errors if the response is not successful or is malformed. * - Logs successful purge requests. * * @throws \Exception Not explicitly thrown, but errors are logged using `_log` and returned as a `WP_Error`. */ protected function _purge( $url ) { @set_time_limit( $this->_timeout ); $return = true; foreach ( (array) $this->_servers as $server ) { $response = $this->_request( $server, $url ); if ( is_wp_error( $response ) ) { $this->_log( $url, sprintf( 'Unable to send request: %s.', implode( '; ', $response->get_error_messages() ) ) ); $return = false; } elseif ( 200 !== $response['response']['code'] ) { $this->_log( $url, 'Bad response: ' . $response['response']['status'] ); $return = false; } else { $this->_log( $url, 'PURGE OK' ); } } return $return; } /** * Sends a PURGE request to a specific Varnish server for a given URL. * * Uses the WordPress HTTP API when the Varnish server matches the target host. Otherwise, a custom request is sent via `fsockopen` * for direct communication. * * @param string $varnish_server The Varnish server endpoint in the format `host:port`. * @param string $url The URL to be purged. * * @return array|\WP_Error An array containing the response code and status if the request is successful, or a `WP_Error` object * in case of failure. * * @details * - Validates and parses the provided URL. * - Determines whether to use WordPress HTTP API or `fsockopen` based on the * relationship between the Varnish server and the URL's host. * - Logs details of the purge request, including the target server and response. * - Handles timeouts, stream settings, and unexpected response formats. * * @throws \WP_Error Thrown if the URL format is invalid, the server connection fails, or the response is malformed. */ public function _request( $varnish_server, $url ) { $parse_url = @wp_parse_url( $url ); if ( ! $parse_url || ! isset( $parse_url['host'] ) ) { return new \WP_Error( 'http_request_failed', 'Unrecognized URL format ' . $url ); } $host = $parse_url['host']; $port = ( isset( $parse_url['port'] ) ? (int) $parse_url['port'] : 80 ); $path = ( ! empty( $parse_url['path'] ) ? $parse_url['path'] : '/' ); $query = ( isset( $parse_url['query'] ) ? $parse_url['query'] : '' ); $request_uri = $path . ( '' !== $query ? '?' . $query : '' ); list( $varnish_host, $varnish_port ) = Util_Content::endpoint_to_host_port( $varnish_server, 80 ); // If url host is the same as varnish server - we can use regular WordPress http infrastructure, otherwise custom request // should be sent using fsockopen, since we send request to other server than specified by $url. if ( $host === $varnish_host && $port === $varnish_port ) { return Util_Http::request( $url, array( 'method' => 'PURGE' ) ); } $request_headers_array = array( sprintf( 'PURGE %s HTTP/1.1', $request_uri ), sprintf( 'Host: %s', $host ), sprintf( 'User-Agent: %s', W3TC_POWERED_BY ), 'Connection: close', ); $request_headers = implode( "\r\n", $request_headers_array ); $request = $request_headers . "\r\n\r\n"; // log what we are about to do. $this->_log( $url, sprintf( 'Connecting to %s ...', $varnish_host ) ); $this->_log( $url, sprintf( 'PURGE %s HTTP/1.1', $request_uri ) ); $this->_log( $url, sprintf( 'Host: %s', $host ) ); $errno = null; $errstr = null; $fp = @fsockopen( $varnish_host, $varnish_port, $errno, $errstr, 10 ); if ( ! $fp ) { return new \WP_Error( 'http_request_failed', $errno . ': ' . $errstr ); } @stream_set_timeout( $fp, 60 ); @fputs( $fp, $request ); $response = ''; while ( ! @feof( $fp ) ) { $response .= @fgets( $fp, 4096 ); } @fclose( $fp ); list( $response_headers, $contents ) = explode( "\r\n\r\n", $response, 2 ); $matches = null; if ( preg_match( '~^HTTP/1.[01] (\d+)~', $response_headers, $matches ) ) { $code = (int) $matches[1]; $a = explode( "\n", $response_headers ); $status = ( count( $a ) >= 1 ? $a[0] : '' ); $return = array( 'response' => array( 'code' => $code, 'status' => $status, ), ); return $return; } return new \WP_Error( 'http_request_failed', 'Unrecognized response header' . $response_headers ); } /** * Logs messages related to Varnish operations when debug mode is enabled. * * Writes log messages to a designated debug file if debugging is enabled. The log file is determined by * `Util_Debug::log_filename('varnish')`. * * @param string $url The URL associated with the log message. * @param string $msg The message to be logged. * * @return bool Returns `true` if logging is disabled or if the log is successfully written. Returns `false` if file writing fails. * * @details * - Formats the log entry with a timestamp, URL, and message. * - Removes unsafe characters (`<`, `>`) from the log message to avoid potential issues. * - If debugging is not enabled, it exits early with a `true` value. * * @throws \Exception Not explicitly thrown but can fail silently if `file_put_contents` encounters an error. */ public function _log( $url, $msg ) { if ( $this->_debug ) { $data = sprintf( "[%s] [%s] %s\n", gmdate( 'r' ), $url, $msg ); $data = strtr( $data, '<>', '' ); $filename = Util_Debug::log_filename( 'varnish' ); return @file_put_contents( $filename, $data, FILE_APPEND ); } return true; } /** * Marks the flush operation as requested. * * This method sets the `flush_operation_requested` flag to `true`, signaling that a flush operation should be executed later. * * @return bool Always returns `true`. * * @details * - This method acts as a trigger or a placeholder for actual flush execution. * - The flag `flush_operation_requested` is used internally to track the flush status. */ public function flush() { $this->flush_operation_requested = true; return true; } /** * Executes the flush operation for Varnish cache. * * This method purges cache URLs either for a single site or across a multisite network, depending on the context (network admin * or site admin). * * @details * - If not in a network admin context: * - Purges the home URL and its mirror URLs. * - If in a network admin context: * - Handles multisite scenarios, including domain-mapped sites. * - Uses `SUNRISE_LOADED` and `$wpdb->dmtable` to detect the WPMU Domain Mapping plugin. * - Purges all domains and paths of non-spam, non-archived, non-deleted blogs. * * @return void * * @throws \Exception Not explicitly thrown, but relies on `_purge` for error handling. */ private function do_flush() { if ( ! is_network_admin() ) { $full_urls = array( get_home_url() . '/.*' ); $full_urls = Util_PageUrls::complement_with_mirror_urls( $full_urls ); foreach ( $full_urls as $url ) { $this->_purge( $url ); } } else { // todo: remove. doesnt work for all caches. replace with tool to flush network. global $wpdb; $protocall = Util_Environment::is_https() ? 'https://' : 'http://'; // If WPMU Domain Mapping plugin is installed and active. if ( defined( 'SUNRISE_LOADED' ) && SUNRISE_LOADED && isset( $wpdb->dmtable ) && ! empty( $wpdb->dmtable ) ) { $blogs = $wpdb->get_results( " SELECT {$wpdb->blogs}.domain, {$wpdb->blogs}.path, {$wpdb->dmtable}.domain AS mapped_domain FROM {$wpdb->dmtable} RIGHT JOIN {$wpdb->blogs} ON {$wpdb->dmtable}.blog_id = {$wpdb->blogs}.blog_id WHERE site_id = {$wpdb->siteid} AND spam = 0 AND deleted = 0 AND archived = '0'" ); foreach ( $blogs as $blog ) { if ( ! isset( $blog->mapped_domain ) ) { $url = $protocall . $blog->domain . ( strlen( $blog->path ) > 1 ? '/' . trim( $blog->path, '/' ) : '' ) . '/.*'; } else { $url = $protocall . $blog->mapped_domain . '/.*'; } $this->_purge( $url ); } } elseif ( ! Util_Environment::is_wpmu_subdomain() ) { $this->_purge( get_home_url() . '/.*' ); } else { $blogs = $wpdb->get_results( " SELECT domain, path FROM {$wpdb->blogs} WHERE site_id = '{$wpdb->siteid}' AND spam = 0 AND deleted = 0 AND archived = '0'" ); foreach ( $blogs as $blog ) { $url = $protocall . $blog->domain . ( strlen( $blog->path ) > 1 ? '/' . trim( $blog->path, '/' ) : '' ) . '/.*'; $this->_purge( $url ); } } } } /** * Flushes cache related to a specific post and its associated URLs. * * This method generates a list of URLs related to the given post, including homepages, post pages, comment pages, author pages, * term pages, archive pages, feeds, and custom purge pages. The URLs are queued for purging. * * @param int $post_id The ID of the post to flush. If 0, the method attempts to detect the post ID automatically. * @param bool $force Whether to force purging the post URL even if the configuration does not explicitly allow it. * * @return bool True if URLs were successfully queued for flushing; false otherwise. * * @global wpdb $wpdb WordPress database abstraction object used for network-level queries. * * @uses Util_Environment::detect_post_id() To detect the post ID if not provided. * @uses Util_PageUrls::get_frontpage_urls() To retrieve the front page URLs. * @uses Util_PageUrls::get_postpage_urls() To retrieve the post page URLs. * @uses Util_PageUrls::get_post_urls() To retrieve the post-specific URLs. * @uses Util_PageUrls::get_post_comments_urls() To retrieve the comment page URLs for the post. * @uses Util_PageUrls::get_post_author_urls() To retrieve URLs related to the post's author. * @uses Util_PageUrls::get_post_terms_urls() To retrieve URLs for terms associated with the post. * @uses Util_PageUrls::get_daily_archive_urls() To retrieve daily archive URLs for the post. * @uses Util_PageUrls::get_monthly_archive_urls() To retrieve monthly archive URLs for the post. * @uses Util_PageUrls::get_yearly_archive_urls() To retrieve yearly archive URLs for the post. * @uses Util_PageUrls::get_feed_urls() To retrieve global feed URLs. * @uses Util_PageUrls::get_feed_comments_urls() To retrieve comment feed URLs for the post. * @uses Util_PageUrls::get_feed_author_urls() To retrieve feed URLs related to the post's author. * @uses Util_PageUrls::get_feed_terms_urls() To retrieve feed URLs for terms associated with the post. * @uses Util_PageUrls::get_pages_urls() To retrieve URLs of custom purge pages. * @uses Util_PageUrls::complement_with_mirror_urls() To add mirror URLs to the purge list. * @uses apply_filters() To allow customization of the queued URLs through the 'varnish_flush_post_queued_urls' filter. */ public function flush_post( $post_id, $force ) { if ( ! $post_id ) { $post_id = Util_Environment::detect_post_id(); } if ( $post_id ) { $full_urls = array(); $post = null; $terms = array(); $feeds = $this->_config->get_array( 'pgcache.purge.feed.types' ); $limit_post_pages = $this->_config->get_integer( 'pgcache.purge.postpages_limit' ); if ( $this->_config->get_boolean( 'pgcache.purge.terms' ) || $this->_config->get_boolean( 'varnish.pgcache.feed.terms' ) ) { $taxonomies = get_post_taxonomies( $post_id ); $terms = wp_get_post_terms( $post_id, $taxonomies ); } switch ( true ) { case $this->_config->get_boolean( 'pgcache.purge.author' ): case $this->_config->get_boolean( 'pgcache.purge.archive.daily' ): case $this->_config->get_boolean( 'pgcache.purge.archive.monthly' ): case $this->_config->get_boolean( 'pgcache.purge.archive.yearly' ): case $this->_config->get_boolean( 'pgcache.purge.feed.author' ): $post = get_post( $post_id ); } $front_page = get_option( 'show_on_front' ); /** * Home (Frontpage) URL */ if ( ( $this->_config->get_boolean( 'pgcache.purge.home' ) && 'posts' === $front_page ) || $this->_config->get_boolean( 'pgcache.purge.front_page' ) ) { $full_urls = array_merge( $full_urls, Util_PageUrls::get_frontpage_urls( $limit_post_pages ) ); } /** * Home (Post page) URL */ if ( $this->_config->get_boolean( 'pgcache.purge.home' ) && 'posts' !== $front_page ) { $full_urls = array_merge( $full_urls, Util_PageUrls::get_postpage_urls( $limit_post_pages ) ); } /** * Post URL */ if ( $this->_config->get_boolean( 'pgcache.purge.post' ) || $force ) { $full_urls = array_merge( $full_urls, Util_PageUrls::get_post_urls( $post_id ) ); } /** * Post comments URLs */ if ( $this->_config->get_boolean( 'pgcache.purge.comments' ) && function_exists( 'get_comments_pagenum_link' ) ) { $full_urls = array_merge( $full_urls, Util_PageUrls::get_post_comments_urls( $post_id ) ); } /** * Post author URLs */ if ( $this->_config->get_boolean( 'pgcache.purge.author' ) && $post ) { $full_urls = array_merge( $full_urls, Util_PageUrls::get_post_author_urls( $post->post_author, $limit_post_pages ) ); } /** * Post terms URLs */ if ( $this->_config->get_boolean( 'pgcache.purge.terms' ) ) { $full_urls = array_merge( $full_urls, Util_PageUrls::get_post_terms_urls( $terms, $limit_post_pages ) ); } /** * Daily archive URLs */ if ( $this->_config->get_boolean( 'pgcache.purge.archive.daily' ) && $post ) { $full_urls = array_merge( $full_urls, Util_PageUrls::get_daily_archive_urls( $post, $limit_post_pages ) ); } /** * Monthly archive URLs */ if ( $this->_config->get_boolean( 'pgcache.purge.archive.monthly' ) && $post ) { $full_urls = array_merge( $full_urls, Util_PageUrls::get_monthly_archive_urls( $post, $limit_post_pages ) ); } /** * Yearly archive URLs */ if ( $this->_config->get_boolean( 'pgcache.purge.archive.yearly' ) && $post ) { $full_urls = array_merge( $full_urls, Util_PageUrls::get_yearly_archive_urls( $post, $limit_post_pages ) ); } /** * Feed URLs */ if ( $this->_config->get_boolean( 'pgcache.purge.feed.blog' ) ) { $full_urls = array_merge( $full_urls, Util_PageUrls::get_feed_urls( $feeds ) ); } if ( $this->_config->get_boolean( 'pgcache.purge.feed.comments' ) ) { $full_urls = array_merge( $full_urls, Util_PageUrls::get_feed_comments_urls( $post_id, $feeds ) ); } if ( $this->_config->get_boolean( 'pgcache.purge.feed.author' ) && $post ) { $full_urls = array_merge( $full_urls, Util_PageUrls::get_feed_author_urls( $post->post_author, $feeds ) ); } if ( $this->_config->get_boolean( 'pgcache.purge.feed.terms' ) ) { $full_urls = array_merge( $full_urls, Util_PageUrls::get_feed_terms_urls( $terms, $feeds ) ); } /** * Purge selected pages */ if ( $this->_config->get_array( 'pgcache.purge.pages' ) ) { $pages = $this->_config->get_array( 'pgcache.purge.pages' ); $full_urls = array_merge( $full_urls, Util_PageUrls::get_pages_urls( $pages ) ); } if ( $this->_config->get_string( 'pgcache.purge.sitemap_regex' ) ) { $sitemap_regex = $this->_config->get_string( 'pgcache.purge.sitemap_regex' ); $full_urls[] = Util_Environment::home_domain_root_url() . '/' . trim( $sitemap_regex, '^$' ); } // add mirror urls. $full_urls = Util_PageUrls::complement_with_mirror_urls( $full_urls ); $full_urls = apply_filters( 'varnish_flush_post_queued_urls', $full_urls ); /** * Queue flush */ if ( count( $full_urls ) ) { foreach ( $full_urls as $url ) { $this->queued_urls[ $url ] = '*'; } } return true; } return false; } /** * Flushes a specific URL from the cache. * * This method purges the cache for a single URL using the internal `_purge` method. * * @param string $url The URL to be purged. * * @return void */ public function flush_url( $url ) { $this->_purge( $url ); } /** * Cleans up the queued URLs and performs the flush operation if requested. * * If a flush operation is explicitly requested, it executes the `do_flush` method, clears the queue, and resets the flush request * flag. Otherwise, it processes all queued URLs individually using `flush_url` and clears the queue afterward. * * @return int The count of URLs flushed. Returns 999 if a bulk flush operation was requested, or the number of individual URLs * processed otherwise. */ public function flush_post_cleanup() { if ( $this->flush_operation_requested ) { $this->do_flush(); $count = 999; $this->flush_operation_requested = false; $this->queued_urls = array(); } else { $count = count( $this->queued_urls ); if ( $count > 0 ) { foreach ( $this->queued_urls as $url => $nothing ) { $this->flush_url( $url ); } $this->queued_urls = array(); } } return $count; } }
Upload File
Create Folder