X7ROOT File Manager
Current Path:
/home/katmhsmi/public_html/wp-content/plugins/w3-total-cache
home
/
katmhsmi
/
public_html
/
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
(17.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
(7.36 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
(488 B)
π
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
(4.28 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
(681 B)
π
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
(3.92 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
(2.73 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
(1.36 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
(7.26 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
(1.15 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
(730 B)
π
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
(17.37 KB)
π
Extension_ImageService_Plugin_Admin.php
(42.7 KB)
π
Extension_ImageService_Widget.js
(6.17 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
(1.72 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
(2.42 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
(314 B)
π
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
(1.66 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
(625 B)
π
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
(879 B)
π
Generic_WidgetSpreadTheWord_Plugin.php
(2.03 KB)
π
Generic_WidgetSpreadTheWord_View.php
(579 B)
π
Generic_WidgetStats.js
(3.3 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
(1.12 KB)
π
Minify_GeneralPage_View_ShowHelpForce.js
(51 B)
π
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
(2.41 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
(9.48 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
(2.08 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
(553 B)
π
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
(17.42 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
(373 B)
π
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
(10.2 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: CdnEngine_Azure_MI_Utility.php
<?php /** * File: CdnEngine_Azure_MI_Utility.php * * Microsoft Azure Managed Identities are available only for services running on Azure when a "system assigned" identity is enabled. * * A system assigned managed identity is restricted to one per resource and is tied to the lifecycle of a resource. * You can grant permissions to the managed identity by using Azure role-based access control (Azure RBAC). * The managed identity is authenticated with Microsoft Entra ID, so you donβt have to store any credentials in code. * * @package W3TC * @since 2.7.7 */ namespace W3TC; /** * Class: CdnEngine_Azure_MI_Utility * * This class defines utility functions for Azure blob storage access using Managed Identity. * * @since 2.7.7 * @author Zubair <zmohammed@microsoft.com> * @author BoldGrid <development@boldgrid.com> * * phpcs:disable WordPress.WP.AlternativeFunctions */ class CdnEngine_Azure_MI_Utility { /** * Entra API version. * * @since 2.7.7 * * @var string */ const ENTRA_API_VERSION = '2019-08-01'; /** * Entra resource URI. * * @since 2.7.7 * * @var string */ const ENTRA_RESOURCE_URI = 'https://storage.azure.com'; /** * Blob API version. * * @since 2.7.7 * * @var string */ const BLOB_API_VERSION = '2020-10-02'; /** * Retrieves an access token from the Managed Identity endpoint. * * @since 2.7.7 * * @param string $entra_client_id Entra ID. * @return string $access_token * @throws \RuntimeException Runtine Exception. */ public static function get_access_token( string $entra_client_id ): string { // Get environment variables. $identity_header = \getenv( 'IDENTITY_HEADER' ); $identity_endpoint = \getenv( 'IDENTITY_ENDPOINT' ); // Validate variables. if ( empty( $identity_endpoint ) || empty( $identity_header ) || empty( $entra_client_id ) ) { throw new \RuntimeException( \esc_html__( 'Error: get_access_token - missing required environment variables.', 'w3-total-cache' ) ); } // Construct URL for cURL request. $url = $identity_endpoint . '?' . http_build_query( array( 'api-version' => self::ENTRA_API_VERSION, 'resource' => self::ENTRA_RESOURCE_URI, 'client_id' => $entra_client_id, ) ); // Initialize and execute cURL request. $ch = \curl_init(); \curl_setopt( $ch, CURLOPT_URL, $url ); \curl_setopt( $ch, CURLOPT_CUSTOMREQUEST, 'GET' ); \curl_setopt( $ch, CURLOPT_HTTPHEADER, array( 'X-IDENTITY-HEADER: ' . $identity_header ) ); \curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, true ); \curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true ); $response = \curl_exec( $ch ); if ( \curl_errno( $ch ) ) { $error = \curl_error( $ch ); \curl_close( $ch ); throw new \RuntimeException( \esc_html( sprintf( // Translators: 1 Error message. \__( 'Error: get_access_token - cURL request failed: %1$s', 'w3-total-cache' ), $error ) ) ); } $http_code = \curl_getinfo( $ch, CURLINFO_HTTP_CODE ); \curl_close( $ch ); if ( 200 !== $http_code ) { throw new \RuntimeException( \esc_html( sprintf( // Translators: 1 HTTP status code. \__( 'Error: get_access_token - HTTP request failed with status code: %1$s', 'w3-total-cache' ), $http_code ) ) ); } if ( empty( $response ) ) { throw new \RuntimeException( \esc_html( sprintf( // Translators: 1 Response. \__( 'Error: get_access_token - invalid response data: %1$s', 'w3-total-cache' ), $response ) ) ); } // Parse JSON response and extract access_token. $json_response = \json_decode( $response, true ); if ( \json_last_error() !== JSON_ERROR_NONE ) { throw new \RuntimeException( \esc_html( sprintf( // Translators: 1 JSON last error message. \__( 'Error: get_access_token - failed to parse the JSON response: %1$s', 'w3-total-cache' ), \json_last_error_msg() ) ) ); } if ( empty( $json_response['access_token'] ) ) { throw new \RuntimeException( \esc_html( sprintf( // Translators: 1 Response. \__( 'Error: get_access_token - no token found in response data: %1$s', 'w3-total-cache' ), $response ) ) ); } return $json_response['access_token']; } /** * Get Azure Blob Storage blob properties. * * @since 2.7.7 * * @param string $entra_client_id Entra ID. * @param string $storage_account Storage account name. * @param string $container_id Container ID. * @param string $blob Blob ID. * @return array * @throws \RuntimeException Runtine Exception. */ public static function get_blob_properties( string $entra_client_id, string $storage_account, string $container_id, $blob ): array { $ch = \curl_init(); \curl_setopt( $ch, CURLOPT_URL, 'https://' . $storage_account . '.blob.core.windows.net/' . $container_id . '/' . $blob ); \curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true ); \curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, true ); \curl_setopt( $ch, CURLOPT_HTTPHEADER, array( 'Authorization: Bearer ' . self::get_access_token( $entra_client_id ), 'x-ms-version: ' . self::BLOB_API_VERSION, 'x-ms-date: ' . \gmdate( 'D, d M Y H:i:s T', time() ), ) ); \curl_setopt( $ch, CURLOPT_HEADER, true ); \curl_setopt( $ch, CURLOPT_NOBODY, true ); $response = \curl_exec( $ch ); if ( \curl_errno( $ch ) ) { $error = \curl_error( $ch ); \curl_close( $ch ); throw new \RuntimeException( \esc_html( sprintf( // Translators: 1 Error message. \__( 'Error: get_blob_properties - cURL request failed: %1$s', 'w3-total-cache' ), $error ) ) ); } $http_code = \curl_getinfo( $ch, CURLINFO_HTTP_CODE ); \curl_close( $ch ); if ( 200 !== $http_code ) { throw new \RuntimeException( \esc_html( sprintf( // Translators: 1 HTTP status code. \__( 'Error: get_blob_properties - HTTP request failed with status code: %1$s', 'w3-total-cache' ), $http_code ) ) ); } if ( empty( $response ) ) { throw new \RuntimeException( \esc_html( sprintf( // Translators: 1 Response. \__( 'Error: get_blob_properties - invalid response data: %1$s', 'w3-total-cache' ), $response ) ) ); } return self::parse_header( $response ); } /** * Create block blob. * * @since 2.7.7 * * @param string $entra_client_id Entra ID. * @param string $storage_account Storage account name. * @param string $container_id Container ID. * @param string $blob Blob ID. * @param mixed $contents Contents. * @param string $content_type Content type. * @param string $content_md5 Content MD5 hash. * @param string $cache_control Cache control header value. * @return array * @throws \RuntimeException Runtine Exception. */ public static function create_block_blob( string $entra_client_id, string $storage_account, string $container_id, string $blob, $contents, string $content_type = null, string $content_md5 = null, string $cache_control = null ): array { $headers = array( 'Authorization: Bearer ' . self::get_access_token( $entra_client_id ), 'x-ms-version: ' . self::BLOB_API_VERSION, 'x-ms-date: ' . \gmdate( 'D, d M Y H:i:s T', \time() ), 'x-ms-blob-type: BlockBlob', ); if ( $content_type ) { $headers[] = 'x-ms-blob-content-type: ' . $content_type; } if ( $content_md5 ) { $headers[] = 'x-ms-blob-content-md5: ' . $content_md5; } if ( $cache_control ) { $headers[] = 'x-ms-blob-cache-control: ' . $cache_control; } $ch = \curl_init(); \curl_setopt( $ch, CURLOPT_URL, 'https://' . $storage_account . '.blob.core.windows.net/' . $container_id . '/' . $blob ); \curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true ); \curl_setopt( $ch, CURLOPT_CUSTOMREQUEST, 'PUT' ); \curl_setopt( $ch, CURLOPT_POSTFIELDS, $contents ); \curl_setopt( $ch, CURLOPT_HTTPHEADER, $headers ); \curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, true ); \curl_setopt( $ch, CURLOPT_HEADER, true ); $response = \curl_exec( $ch ); if ( \curl_errno( $ch ) ) { $error = \curl_error( $ch ); \curl_close( $ch ); throw new \RuntimeException( \esc_html( sprintf( // Translators: 1 Error message. \__( 'Error: create_block_blob - cURL request failed: %1$s', 'w3-total-cache' ), $error ) ) ); } $http_code = \curl_getinfo( $ch, CURLINFO_HTTP_CODE ); \curl_close( $ch ); if ( 201 !== $http_code ) { throw new \RuntimeException( \esc_html( sprintf( // Translators: 1 HTTP status code. \__( 'Error: create_block_blob - HTTP request failed with status code: %1$s', 'w3-total-cache' ), $http_code ) ) ); } if ( empty( $response ) ) { throw new \RuntimeException( \esc_html( sprintf( // Translators: 1 Response. \__( 'Error: create_block_blob - invalid response data: %1$s', 'w3-total-cache' ), $response ) ) ); } return self::parse_header( $response ); } /** * Delete blob. * * @since 2.7.7 * * @param string $entra_client_id Entra ID. * @param string $storage_account Storage account name. * @param string $container_id Container ID. * @param string $blob Blob ID. * @return array * @throws \RuntimeException Runtine Exception. */ public static function delete_blob( string $entra_client_id, string $storage_account, string $container_id, string $blob ) { $ch = \curl_init(); \curl_setopt( $ch, CURLOPT_URL, 'https://' . $storage_account . '.blob.core.windows.net/' . $container_id . '/' . $blob ); \curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true ); \curl_setopt( $ch, CURLOPT_CUSTOMREQUEST, 'DELETE' ); \curl_setopt( $ch, CURLOPT_HTTPHEADER, array( 'Authorization: Bearer ' . self::get_access_token( $entra_client_id ), 'x-ms-version: ' . self::BLOB_API_VERSION, 'x-ms-date: ' . \gmdate( 'D, d M Y H:i:s T', \time() ), ) ); \curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, true ); \curl_setopt( $ch, CURLOPT_HEADER, true ); $response = \curl_exec( $ch ); if ( \curl_errno( $ch ) ) { $error = \curl_error( $ch ); \curl_close( $ch ); throw new \RuntimeException( \esc_html( sprintf( // Translators: 1 Error message. \__( 'Error: delete_blob - cURL request failed: %1$s', 'w3-total-cache' ), $error ) ) ); } $http_code = curl_getinfo( $ch, CURLINFO_HTTP_CODE ); curl_close( $ch ); if ( 202 !== $http_code ) { throw new \RuntimeException( \esc_html( sprintf( // Translators: 1 HTTP status code. \__( 'Error: delete_blob - HTTP request failed with status code: %1$s', 'w3-total-cache' ), $http_code ) ) ); } if ( empty( $response ) ) { throw new \RuntimeException( \esc_html( sprintf( // Translators: 1 Response. \__( 'Error: delete_blob - invalid response data: %1$s', 'w3-total-cache' ), $response ) ) ); } return self::parse_header( $response ); } /** * Create an Azure Blob Storage container/bucket. * * @since 2.7.7 * * @param string $entra_client_id Entra ID. * @param string $storage_account Storage account name. * @param string $container_id Container ID. * @param string $public_access_type Public access type. * @return array * @throws \RuntimeException Runtine Exception. */ public static function create_container( string $entra_client_id, string $storage_account, string $container_id, string $public_access_type = 'blob' ): array { $headers = array( 'Authorization: Bearer ' . self::get_access_token( $entra_client_id ), 'x-ms-version: ' . self::BLOB_API_VERSION, 'x-ms-date: ' . \gmdate( 'D, d M Y H:i:s T', \time() ), 'Content-Length: 0', ); if ( $public_access_type ) { $headers[] = "x-ms-blob-public-access: $public_access_type"; } $ch = \curl_init(); \curl_setopt( $ch, CURLOPT_URL, 'https://' . $storage_account . '.blob.core.windows.net/' . $container_id . '?restype=container' ); \curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true ); \curl_setopt( $ch, CURLOPT_CUSTOMREQUEST, 'PUT' ); \curl_setopt( $ch, CURLOPT_HTTPHEADER, $headers ); \curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, true ); \curl_setopt( $ch, CURLOPT_HEADER, true ); $response = \curl_exec( $ch ); if ( \curl_errno( $ch ) ) { $error = \curl_error( $ch ); \curl_close( $ch ); throw new \RuntimeException( \esc_html( sprintf( // Translators: 1 Error message. \__( 'Error: create_container - cURL request failed: %1$s', 'w3-total-cache' ), $error ) ) ); } $http_code = \curl_getinfo( $ch, CURLINFO_HTTP_CODE ); \curl_close( $ch ); if ( 201 !== $http_code ) { throw new \RuntimeException( \esc_html( sprintf( // Translators: 1 HTTP status code. \__( 'Error: create_container - HTTP request failed with status code: %1$s', 'w3-total-cache' ), $http_code ) ) ); } if ( empty( $response ) ) { throw new \RuntimeException( \esc_html__( 'Error: create_container - empty response.', 'w3-total-cache' ) ); } return self::parse_header( $response ); } /** * List Azure Blob Storage containers. * * @since 2.7.7 * * @param string $entra_client_id Entra ID. * @param string $storage_account Storage account name. * @return array * @throws \RuntimeException Runtine Exception. */ public static function list_containers( string $entra_client_id, string $storage_account ): array { $ch = \curl_init(); \curl_setopt( $ch, CURLOPT_URL, 'https://' . $storage_account . '.blob.core.windows.net/?comp=list' ); \curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true ); \curl_setopt( $ch, CURLOPT_HTTPHEADER, array( 'Authorization: Bearer ' . self::get_access_token( $entra_client_id ), 'x-ms-version: ' . self::BLOB_API_VERSION, 'x-ms-date: ' . \gmdate( 'D, d M Y H:i:s T', \time() ), ) ); \curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, true ); $response = \curl_exec( $ch ); if ( \curl_errno( $ch ) ) { $error = \curl_error( $ch ); \curl_close( $ch ); throw new \RuntimeException( \esc_html( sprintf( // Translators: 1 Error message. \__( 'Error: list_containers - cURL request failed: %1$s', 'w3-total-cache' ), $error ) ) ); } $http_code = \curl_getinfo( $ch, CURLINFO_HTTP_CODE ); \curl_close( $ch ); if ( 200 !== $http_code ) { throw new \RuntimeException( \esc_html( sprintf( // Translators: 1 HTTP status code. \__( 'Error: list_containers - HTTP request failed with status code: %1$s', 'w3-total-cache' ), $http_code ) ) ); } if ( empty( $response ) ) { throw new \RuntimeException( \esc_html( sprintf( // Translators: 1 Response. \__( 'Error: list_containers - Invalid response data: %1$s', 'w3-total-cache' ), $response ) ) ); } // Parse XML response to array. $xml = \simplexml_load_string( $response ); $json = \json_encode( $xml ); $response = \json_decode( $json, true ); $array_response = array(); if ( ! empty( $response['Containers']['Container'] ) ) { $array_response = self::get_array( $response['Containers']['Container'] ); } return $array_response; } /** * Get blob. * * @since 2.7.7 * * @param string $entra_client_id Entra ID. * @param string $storage_account Storage account name. * @param string $container_id Container ID. * @param string $blob Blob ID. * @return array * @throws \RuntimeException Runtine Exception. */ public static function get_blob( string $entra_client_id, string $storage_account, string $container_id, string $blob ): array { $ch = \curl_init(); \curl_setopt( $ch, CURLOPT_URL, 'https://' . $storage_account . '.blob.core.windows.net/' . $container_id . '/' . $blob ); \curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true ); \curl_setopt( $ch, CURLOPT_HTTPHEADER, array( 'Authorization: Bearer ' . self::get_access_token( $entra_client_id ), 'x-ms-version: ' . self::BLOB_API_VERSION, 'x-ms-date: ' . \gmdate( 'D, d M Y H:i:s T', \time() ), ) ); \curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, true ); \curl_setopt( $ch, CURLOPT_HEADER, true ); $response = \curl_exec( $ch ); if ( \curl_errno( $ch ) ) { $error = \curl_error( $ch ); \curl_close( $ch ); throw new \RuntimeException( \esc_html( sprintf( // Translators: 1 Error message. \__( 'Error: get_blob - cURL request failed: %1$s', 'w3-total-cache' ), $error ) ) ); } $header_size = \curl_getinfo( $ch, CURLINFO_HEADER_SIZE ); $http_code = \curl_getinfo( $ch, CURLINFO_HTTP_CODE ); \curl_close( $ch ); if ( 200 !== $http_code ) { throw new \RuntimeException( \esc_html( sprintf( // Translators: 1 HTTP status code. \__( 'Error: get_blob - HTTP request failed with status code: %1$s', 'w3-total-cache' ), $http_code ) ) ); } if ( empty( $response ) ) { throw new \RuntimeException( \esc_html( sprintf( // Translators: 1 Response. \__( 'Error: get_blob - Invalid response data: %1$s', 'w3-total-cache' ), $response ) ) ); } return array( 'headers' => self::parse_header( \substr( $response, 0, $header_size ) ), 'data' => \substr( $response, $header_size ), ); } /** * Get array. * * @since 2.7.7 * @access private * * @param mixed $input Variable used to get array. * * @return array */ private static function get_array( $input ): array { if ( empty( $input ) || ! \is_array( $input ) ) { return array(); } foreach ( $input as $value ) { if ( ! \is_array( $value ) ) { return array( $input ); } return $input; } } /** * Parse header from string to array. * * @since 2.7.7 * @access private * * @param string $header Header. * @return array */ private static function parse_header( string $header ): array { $headers = array(); $header_text = \substr( $header, 0, \strpos( $header, "\r\n\r\n" ) ); $header_parts = \explode( "\r\n", $header_text ); foreach ( $header_parts as $header ) { if ( \strpos( $header, ':' ) !== false ) { $header_parts = \explode( ':', $header ); $headers[ $header_parts[0] ] = \trim( $header_parts[1] ); } } return $headers; } }
Upload File
Create Folder