W3 Total Cache - Version 0.9.7.4

Version Description

  • Fixed PHP warning when Redis integration not configured correctly
  • Fixed 404 in multisite caused by subdirectory issue
  • Fixed object cache issue in multisite where object cache was cleared at wrong time
  • Fixed database cluster in WordPress 5.1
  • Fixed warning caused by user agent theme change used
  • Fixed minification in multisite when URLs were set to root-blog based url
  • Fixed undefined w3tc_ga issue
  • Improved purging of current page by using post_id instead of URL
  • Improved cache delivery of /feed URLs
  • Improved security on calls to opcache flush
  • Improved minification of files in environments running on non-default ports
Download this release

Release Info

Developer fredericktownes
Plugin Icon 128x128 W3 Total Cache
Version 0.9.7.4
Comparing to
See all releases

Code changes from version 0.9.7.3 to 0.9.7.4

Files changed (616) hide show
  1. Base_Page_Settings.php +0 -0
  2. BrowserCache_ConfigLabels.php +0 -0
  3. BrowserCache_Core.php +0 -0
  4. BrowserCache_Environment.php +0 -0
  5. BrowserCache_Page.php +0 -0
  6. BrowserCache_Plugin.php +0 -0
  7. BrowserCache_Plugin_Admin.php +0 -0
  8. Cache.php +0 -0
  9. CacheFlush.php +0 -10
  10. CacheFlush_Locally.php +0 -11
  11. Cache_Apc.php +0 -0
  12. Cache_Apcu.php +0 -0
  13. Cache_Base.php +0 -0
  14. Cache_Eaccelerator.php +0 -0
  15. Cache_File.php +0 -0
  16. Cache_File_Cleaner.php +0 -0
  17. Cache_File_Cleaner_Generic.php +0 -0
  18. Cache_File_Generic.php +6 -1
  19. Cache_Memcache.php +0 -0
  20. Cache_Memcached.php +0 -0
  21. Cache_Memcached_Stats.php +0 -0
  22. Cache_Redis.php +4 -2
  23. Cache_Wincache.php +0 -0
  24. Cache_Xcache.php +0 -0
  25. CdnEngine.php +0 -0
  26. CdnEngine_Azure.php +0 -0
  27. CdnEngine_Base.php +0 -0
  28. CdnEngine_Ftp.php +0 -0
  29. CdnEngine_GoogleDrive.php +0 -0
  30. CdnEngine_Mirror.php +0 -0
  31. CdnEngine_Mirror_Akamai.php +0 -0
  32. CdnEngine_Mirror_Att.php +0 -0
  33. CdnEngine_Mirror_Cotendo.php +0 -0
  34. CdnEngine_Mirror_Edgecast.php +0 -0
  35. CdnEngine_Mirror_Highwinds.php +0 -0
  36. CdnEngine_Mirror_MaxCdn.php +0 -0
  37. CdnEngine_Mirror_RackSpaceCdn.php +0 -0
  38. CdnEngine_RackSpaceCloudFiles.php +0 -0
  39. CdnEngine_S3.php +0 -0
  40. CdnEngine_S3_Cf.php +0 -0
  41. CdnEngine_S3_Cf_Custom.php +0 -0
  42. CdnEngine_S3_Cf_S3.php +0 -0
  43. CdnEngine_S3_Compatible.php +0 -0
  44. Cdn_AdminActions.php +0 -0
  45. Cdn_AdminNotes.php +0 -0
  46. Cdn_CacheFlush.php +0 -0
  47. Cdn_ConfigLabels.php +0 -0
  48. Cdn_Core.php +10 -2
  49. Cdn_Core_Admin.php +0 -0
  50. Cdn_Environment.php +0 -0
  51. Cdn_GeneralPage_View.php +0 -0
  52. Cdn_GoogleDrive_AdminActions.php +0 -0
  53. Cdn_GoogleDrive_Page.php +0 -0
  54. Cdn_GoogleDrive_Page_View.js +0 -0
  55. Cdn_GoogleDrive_Page_View.php +0 -0
  56. Cdn_GoogleDrive_Popup_AuthReturn.php +0 -0
  57. Cdn_GoogleDrive_Popup_AuthReturn_View.php +0 -0
  58. Cdn_Highwinds_Api.php +0 -0
  59. Cdn_Highwinds_Page.php +0 -0
  60. Cdn_Highwinds_Page_View.js +0 -0
  61. Cdn_Highwinds_Page_View.php +0 -0
  62. Cdn_Highwinds_Popup.php +0 -0
  63. Cdn_Highwinds_Popup_View_ConfigureCnamesForm.php +0 -0
  64. Cdn_Highwinds_Popup_View_Intro.php +0 -0
  65. Cdn_Highwinds_Popup_View_SelectHost.php +0 -0
  66. Cdn_Highwinds_Widget.php +0 -0
  67. Cdn_Highwinds_Widget_View.css +0 -0
  68. Cdn_Highwinds_Widget_View.js +0 -0
  69. Cdn_Highwinds_Widget_View.php +0 -0
  70. Cdn_Highwinds_Widget_View_NotConfigured.php +0 -0
  71. Cdn_Page.php +0 -0
  72. Cdn_Page_View_Fsd_HeaderActions.php +0 -0
  73. Cdn_Page_View_Header.php +0 -0
  74. Cdn_Plugin.php +0 -0
  75. Cdn_Plugin_Admin.php +0 -0
  76. Cdn_Plugin_WidgetMaxCdn.php +0 -0
  77. Cdn_RackSpaceCdn_AdminActions.php +0 -0
  78. Cdn_RackSpaceCdn_Page.php +0 -0
  79. Cdn_RackSpaceCdn_Page_View.js +0 -0
  80. Cdn_RackSpaceCdn_Page_View.php +0 -0
  81. Cdn_RackSpaceCdn_Popup.php +0 -0
  82. Cdn_RackSpaceCdn_Popup_View_ConfigureDomains.php +0 -0
  83. Cdn_RackSpaceCdn_Popup_View_Intro.php +0 -0
  84. Cdn_RackSpaceCdn_Popup_View_Regions.php +0 -0
  85. Cdn_RackSpaceCdn_Popup_View_Service_Actualize.php +0 -0
  86. Cdn_RackSpaceCdn_Popup_View_Service_Create.php +0 -0
  87. Cdn_RackSpaceCdn_Popup_View_Service_Created.php +0 -0
  88. Cdn_RackSpaceCdn_Popup_View_Services.php +0 -0
  89. Cdn_RackSpaceCloudFiles_Page.php +0 -0
  90. Cdn_RackSpaceCloudFiles_Page_View.js +0 -0
  91. Cdn_RackSpaceCloudFiles_Page_View.php +0 -0
  92. Cdn_RackSpaceCloudFiles_Popup.php +0 -0
  93. Cdn_RackSpaceCloudFiles_Popup_View_Containers.php +0 -0
  94. Cdn_RackSpaceCloudFiles_Popup_View_Intro.php +0 -0
  95. Cdn_RackSpaceCloudFiles_Popup_View_Regions.php +0 -0
  96. Cdn_RackSpace_Api_CaCert-example.pem +0 -0
  97. Cdn_RackSpace_Api_Cdn.php +0 -0
  98. Cdn_RackSpace_Api_CloudFiles.php +0 -0
  99. Cdn_RackSpace_Api_CloudFilesCdn.php +0 -0
  100. Cdn_RackSpace_Api_Tokens.php +0 -0
  101. Cdn_Util.php +0 -0
  102. Cli.php +1 -44
  103. Config.php +0 -0
  104. ConfigCompiler.php +0 -0
  105. ConfigKeys.php +0 -0
  106. ConfigState.php +0 -0
  107. ConfigStateNote.php +0 -0
  108. DbCache_ConfigLabels.php +0 -0
  109. DbCache_Core.php +0 -0
  110. DbCache_Environment.php +0 -0
  111. DbCache_Page.php +0 -0
  112. DbCache_Plugin.php +0 -0
  113. DbCache_Plugin_Admin.php +0 -0
  114. DbCache_Wpdb.php +78 -39
  115. DbCache_WpdbBase.php +0 -0
  116. DbCache_WpdbInjection.php +8 -0
  117. DbCache_WpdbInjection_QueryCaching.php +10 -6
  118. Dispatcher.php +0 -0
  119. Enterprise_CacheFlush_MakeSnsEvent.php +0 -12
  120. Enterprise_Dbcache_WpdbInjection_Cluster.php +20 -9
  121. Enterprise_SnsBase.php +0 -0
  122. Enterprise_SnsServer.php +0 -2
  123. Extension_Amp_Plugin.php +0 -0
  124. Extension_Amp_Plugin_Admin.php +0 -0
  125. Extension_CloudFlare_AdminActions.php +0 -0
  126. Extension_CloudFlare_Api.php +0 -0
  127. Extension_CloudFlare_GeneralPage_View.php +0 -0
  128. Extension_CloudFlare_Page.php +0 -0
  129. Extension_CloudFlare_Page_View.js +0 -0
  130. Extension_CloudFlare_Page_View.php +0 -0
  131. Extension_CloudFlare_Plugin.php +0 -0
  132. Extension_CloudFlare_Plugin_Admin.php +0 -0
  133. Extension_CloudFlare_Popup.php +0 -0
  134. Extension_CloudFlare_Popup_View_Intro.php +0 -0
  135. Extension_CloudFlare_Popup_View_Zones.php +0 -0
  136. Extension_CloudFlare_SettingsForUi.php +0 -0
  137. Extension_CloudFlare_View_Comments.css +0 -0
  138. Extension_CloudFlare_View_Comments.js +0 -0
  139. Extension_CloudFlare_View_Dashboard.js +0 -0
  140. Extension_CloudFlare_Widget.php +0 -0
  141. Extension_CloudFlare_Widget_Logo.png +0 -0
  142. Extension_CloudFlare_Widget_View.css +0 -0
  143. Extension_CloudFlare_Widget_View.php +0 -0
  144. Extension_FeedBurner_Environment.php +0 -0
  145. Extension_FeedBurner_Page.php +0 -0
  146. Extension_FeedBurner_Page_View.php +0 -0
  147. Extension_FeedBurner_Plugin.php +0 -0
  148. Extension_FeedBurner_Plugin_Admin.php +0 -0
  149. Extension_FragmentCache_Api.php +0 -0
  150. Extension_FragmentCache_Core.php +0 -0
  151. Extension_FragmentCache_Environment.php +0 -0
  152. Extension_FragmentCache_GeneralPage.php +0 -0
  153. Extension_FragmentCache_GeneralPage_View.php +0 -0
  154. Extension_FragmentCache_Page.php +0 -0
  155. Extension_FragmentCache_Page_View.php +0 -0
  156. Extension_FragmentCache_Plugin.php +0 -0
  157. Extension_FragmentCache_Plugin_Admin.php +0 -0
  158. Extension_FragmentCache_WpObjectCache.php +1 -3
  159. Extension_Genesis_Page.php +0 -0
  160. Extension_Genesis_Page_View.php +0 -0
  161. Extension_Genesis_Plugin.php +0 -0
  162. Extension_Genesis_Plugin_Admin.php +0 -0
  163. Extension_NewRelic_AdminActions.php +0 -0
  164. Extension_NewRelic_AdminNotes.php +0 -0
  165. Extension_NewRelic_Api.php +0 -0
  166. Extension_NewRelic_Core.php +0 -0
  167. Extension_NewRelic_GeneralPage.php +0 -0
  168. Extension_NewRelic_GeneralPage_View.php +0 -0
  169. Extension_NewRelic_Page.php +0 -0
  170. Extension_NewRelic_Page_View_Apm.php +0 -0
  171. Extension_NewRelic_Plugin.php +0 -0
  172. Extension_NewRelic_Plugin_Admin.php +0 -0
  173. Extension_NewRelic_Popup.php +0 -0
  174. Extension_NewRelic_Popup_View.js +0 -0
  175. Extension_NewRelic_Popup_View_Intro.php +0 -0
  176. Extension_NewRelic_Popup_View_ListApplications.php +0 -0
  177. Extension_NewRelic_Service.php +0 -0
  178. Extension_NewRelic_Widget.php +0 -0
  179. Extension_NewRelic_Widget_View.css +0 -0
  180. Extension_NewRelic_Widget_View.js +0 -0
  181. Extension_NewRelic_Widget_View_Apm.php +0 -0
  182. Extension_NewRelic_Widget_View_Browser.php +0 -0
  183. Extension_NewRelic_Widget_View_NotConfigured.php +0 -0
  184. Extension_WordPressSeo_Plugin.php +0 -0
  185. Extension_WordPressSeo_Plugin_Admin.php +0 -0
  186. Extension_Wpml_Plugin.php +0 -0
  187. Extension_Wpml_Plugin_Admin.php +0 -0
  188. Extensions_AdminActions.php +0 -0
  189. Extensions_Page.php +0 -0
  190. Extensions_Plugin_Admin.php +0 -0
  191. Extensions_Util.php +0 -0
  192. Generic_AdminActions_Config.php +0 -0
  193. Generic_AdminActions_Default.php +0 -0
  194. Generic_AdminActions_Flush.php +4 -1
  195. Generic_AdminActions_Test.php +0 -0
  196. Generic_AdminLinks.php +0 -0
  197. Generic_AdminNotes.php +0 -0
  198. Generic_ConfigLabels.php +0 -0
  199. Generic_Environment.php +0 -0
  200. Generic_Faq.php +0 -0
  201. Generic_GeneralPage_View_ShowEdge.js +0 -0
  202. Generic_GeneralPage_View_ShowSupportUs.js +0 -0
  203. Generic_Page_About.php +0 -0
  204. Generic_Page_Dashboard.php +0 -0
  205. Generic_Page_Dashboard_View.css +0 -0
  206. Generic_Page_General.php +0 -0
  207. Generic_Page_Install.php +0 -0
  208. Generic_Plugin.php +2 -2
  209. Generic_Plugin_Admin.php +90 -88
  210. Generic_Plugin_AdminCompatibility.php +0 -0
  211. Generic_Plugin_AdminNotifications.php +0 -0
  212. Generic_Plugin_AdminRowActions.php +0 -0
  213. Generic_Plugin_WidgetForum.php +0 -0
  214. Generic_Plugin_WidgetNews.php +0 -0
  215. Generic_WidgetServices.php +0 -0
  216. Generic_WidgetServices_View.php +0 -0
  217. Generic_WidgetSpreadTheWord.js +0 -0
  218. Generic_WidgetSpreadTheWord_Plugin.php +0 -0
  219. Generic_WidgetSpreadTheWord_View.php +0 -0
  220. Licensing_AdminActions.php +0 -0
  221. Licensing_Core.php +0 -0
  222. Licensing_Plugin_Admin.php +0 -0
  223. Minify_ConfigLabels.php +0 -0
  224. Minify_ContentMinifier.php +0 -0
  225. Minify_Core.php +0 -0
  226. Minify_Environment.php +0 -0
  227. Minify_Extract.php +0 -0
  228. Minify_GeneralPage_View_ShowHelp.js +0 -0
  229. Minify_GeneralPage_View_ShowHelpForce.js +0 -0
  230. Minify_HelpPopup_View.php +0 -0
  231. Minify_MinifiedFileRequestHandler.php +0 -0
  232. Minify_Page.php +0 -0
  233. Minify_Plugin.php +10 -4
  234. Minify_Plugin_Admin.php +0 -0
  235. Mobile_Base.php +2 -3
  236. Mobile_Page_ReferrerGroups.php +0 -0
  237. Mobile_Page_UserAgentGroups.php +0 -0
  238. Mobile_Redirect.php +0 -0
  239. Mobile_Referrer.php +0 -0
  240. Mobile_UserAgent.php +0 -0
  241. ModuleStatus.php +0 -0
  242. ObjectCache_ConfigLabels.php +0 -0
  243. ObjectCache_Environment.php +0 -0
  244. ObjectCache_Page.php +0 -0
  245. ObjectCache_Plugin.php +0 -0
  246. ObjectCache_Plugin_Admin.php +0 -0
  247. ObjectCache_WpObjectCache.php +0 -0
  248. ObjectCache_WpObjectCache_Regular.php +1 -3
  249. PageSpeed_Api.php +0 -0
  250. PageSpeed_Plugin_Widget.php +0 -0
  251. PageSpeed_Widget_View.css +0 -0
  252. PageSpeed_Widget_View.js +0 -0
  253. PageSpeed_Widget_View.php +0 -0
  254. PageSpeed_Widget_View_NotConfigured.php +0 -0
  255. PgCache_ConfigLabels.php +0 -0
  256. PgCache_ContentGrabber.php +0 -0
  257. PgCache_Environment.php +21 -18
  258. PgCache_Flush.php +0 -0
  259. PgCache_Page.php +0 -0
  260. PgCache_Plugin.php +0 -0
  261. PgCache_Plugin_Admin.php +0 -0
  262. README.md +14 -0
  263. Root_AdminActions.php +0 -0
  264. Root_AdminActivation.php +0 -0
  265. Root_AdminMenu.php +0 -0
  266. Root_Environment.php +0 -0
  267. Root_Loader.php +0 -0
  268. Support_AdminActions.php +0 -0
  269. Support_Page.php +0 -0
  270. Support_Page_View_DoneContent.php +0 -0
  271. Support_Page_View_PageContent.php +0 -0
  272. SystemOpCache_AdminActions.php +0 -0
  273. SystemOpCache_Core.php +0 -0
  274. SystemOpCache_GeneralPage_View.php +0 -0
  275. SystemOpCache_Plugin_Admin.php +0 -0
  276. UsageStatistics_Core.php +0 -0
  277. UsageStatistics_Plugin.php +0 -0
  278. UsageStatistics_Plugin_Admin.php +0 -0
  279. UsageStatistics_StorageReader.php +0 -0
  280. UsageStatistics_StorageWriter.php +0 -0
  281. UsageStatistics_View_General.php +0 -0
  282. UsageStatistics_Widget.php +0 -0
  283. UsageStatistics_Widget_View.css +0 -0
  284. UsageStatistics_Widget_View.js +0 -0
  285. UsageStatistics_Widget_View.php +0 -0
  286. UsageStatistics_Widget_View_Disabled.php +0 -0
  287. Util_Activation.php +0 -0
  288. Util_Admin.php +0 -0
  289. Util_AttachToActions.php +0 -0
  290. Util_Bus.php +0 -0
  291. Util_ConfigLabel.php +0 -0
  292. Util_Content.php +0 -0
  293. Util_Debug.php +0 -0
  294. Util_Environment.php +16 -11
  295. Util_Environment_Exception.php +0 -0
  296. Util_Environment_Exceptions.php +0 -0
  297. Util_File.php +0 -0
  298. Util_Http.php +0 -0
  299. Util_Installed.php +0 -0
  300. Util_Mime.php +0 -0
  301. Util_PageUrls.php +0 -0
  302. Util_Request.php +0 -0
  303. Util_Rule.php +0 -0
  304. Util_RuleSnippet.php +0 -0
  305. Util_Theme.php +0 -0
  306. Util_Ui.php +0 -0
  307. Util_UsageStatistics.php +0 -0
  308. Util_Widget.php +0 -0
  309. Util_WpFile.php +0 -0
  310. Util_WpFile_FilesystemChmodException.php +0 -0
  311. Util_WpFile_FilesystemCopyException.php +0 -0
  312. Util_WpFile_FilesystemMkdirException.php +0 -0
  313. Util_WpFile_FilesystemModifyException.php +0 -0
  314. Util_WpFile_FilesystemOperationException.php +0 -0
  315. Util_WpFile_FilesystemRmException.php +0 -0
  316. Util_WpFile_FilesystemRmdirException.php +0 -0
  317. Util_WpFile_FilesystemWriteException.php +0 -0
  318. Util_WpmuBlogmap.php +0 -0
  319. Varnish_Flush.php +0 -0
  320. Varnish_Plugin.php +0 -0
  321. extension-example/Extension_Example.php +0 -0
  322. extension-example/Extension_Example_Admin.php +0 -0
  323. extension-example/Extension_Example_Page_View.php +0 -0
  324. extension-example/w3-total-cache-example.php +0 -0
  325. inc/options/cdn/akamai.php +0 -0
  326. inc/options/cdn/att.php +0 -0
  327. inc/options/cdn/common/cnames-readonly.php +0 -0
  328. inc/options/cdn/s3_compatible.php +0 -0
  329. inc/options/dashboard.php +0 -0
  330. inc/options/enterprise/dbcluster-config.php +0 -0
  331. inc/options/enterprise/dbcluster_general_section.php +0 -0
  332. inc/options/minify/googleccjs2.php +0 -0
  333. inc/options/parts/memcached.php +0 -0
  334. inc/options/parts/memcached_extension.php +0 -0
  335. inc/options/parts/redis.php +0 -0
  336. inc/options/parts/redis_extension.php +0 -0
  337. inc/widget/latest_news.php +0 -0
  338. inc/widget/latest_news_ajax.php +0 -0
  339. inc/widget/latest_news_control.php +0 -0
  340. ini/dbcluster-config-sample.php +0 -0
  341. ini/nginx-network-sample-config.conf +0 -0
  342. ini/nginx-standalone-sample-config.conf +0 -0
  343. ini/opcache.ini +0 -0
  344. ini/s3-sample-policy.txt +0 -0
  345. ini/varnish-sample-config.vcl +0 -0
  346. lib/Azure/GuzzleHttp/Client.php +0 -0
  347. lib/Azure/GuzzleHttp/ClientInterface.php +0 -0
  348. lib/Azure/GuzzleHttp/Cookie/CookieJar.php +0 -0
  349. lib/Azure/GuzzleHttp/Cookie/CookieJarInterface.php +0 -0
  350. lib/Azure/GuzzleHttp/Cookie/FileCookieJar.php +0 -0
  351. lib/Azure/GuzzleHttp/Cookie/SessionCookieJar.php +0 -0
  352. lib/Azure/GuzzleHttp/Cookie/SetCookie.php +0 -0
  353. lib/Azure/GuzzleHttp/Exception/BadResponseException.php +0 -0
  354. lib/Azure/GuzzleHttp/Exception/ClientException.php +0 -0
  355. lib/Azure/GuzzleHttp/Exception/ConnectException.php +0 -0
  356. lib/Azure/GuzzleHttp/Exception/GuzzleException.php +0 -0
  357. lib/Azure/GuzzleHttp/Exception/RequestException.php +0 -0
  358. lib/Azure/GuzzleHttp/Exception/SeekException.php +0 -0
  359. lib/Azure/GuzzleHttp/Exception/ServerException.php +0 -0
  360. lib/Azure/GuzzleHttp/Exception/TooManyRedirectsException.php +0 -0
  361. lib/Azure/GuzzleHttp/Exception/TransferException.php +0 -0
  362. lib/Azure/GuzzleHttp/Handler/CurlFactory.php +0 -0
  363. lib/Azure/GuzzleHttp/Handler/CurlFactoryInterface.php +0 -0
  364. lib/Azure/GuzzleHttp/Handler/CurlHandler.php +0 -0
  365. lib/Azure/GuzzleHttp/Handler/CurlMultiHandler.php +0 -0
  366. lib/Azure/GuzzleHttp/Handler/EasyHandle.php +0 -0
  367. lib/Azure/GuzzleHttp/Handler/MockHandler.php +0 -0
  368. lib/Azure/GuzzleHttp/Handler/Proxy.php +0 -0
  369. lib/Azure/GuzzleHttp/Handler/StreamHandler.php +0 -0
  370. lib/Azure/GuzzleHttp/HandlerStack.php +0 -0
  371. lib/Azure/GuzzleHttp/MessageFormatter.php +0 -0
  372. lib/Azure/GuzzleHttp/Middleware.php +0 -0
  373. lib/Azure/GuzzleHttp/Pool.php +0 -0
  374. lib/Azure/GuzzleHttp/PrepareBodyMiddleware.php +0 -0
  375. lib/Azure/GuzzleHttp/Promise/AggregateException.php +0 -0
  376. lib/Azure/GuzzleHttp/Promise/CancellationException.php +0 -0
  377. lib/Azure/GuzzleHttp/Promise/Coroutine.php +0 -0
  378. lib/Azure/GuzzleHttp/Promise/EachPromise.php +0 -0
  379. lib/Azure/GuzzleHttp/Promise/FulfilledPromise.php +0 -0
  380. lib/Azure/GuzzleHttp/Promise/Promise.php +0 -0
  381. lib/Azure/GuzzleHttp/Promise/PromiseInterface.php +0 -0
  382. lib/Azure/GuzzleHttp/Promise/PromisorInterface.php +0 -0
  383. lib/Azure/GuzzleHttp/Promise/RejectedPromise.php +0 -0
  384. lib/Azure/GuzzleHttp/Promise/RejectionException.php +0 -0
  385. lib/Azure/GuzzleHttp/Promise/TaskQueue.php +0 -0
  386. lib/Azure/GuzzleHttp/Promise/TaskQueueInterface.php +0 -0
  387. lib/Azure/GuzzleHttp/Promise/functions.php +0 -0
  388. lib/Azure/GuzzleHttp/Promise/functions_include.php +0 -0
  389. lib/Azure/GuzzleHttp/Psr7/AppendStream.php +0 -0
  390. lib/Azure/GuzzleHttp/Psr7/BufferStream.php +0 -0
  391. lib/Azure/GuzzleHttp/Psr7/CachingStream.php +0 -0
  392. lib/Azure/GuzzleHttp/Psr7/DroppingStream.php +0 -0
  393. lib/Azure/GuzzleHttp/Psr7/FnStream.php +0 -0
  394. lib/Azure/GuzzleHttp/Psr7/InflateStream.php +0 -0
  395. lib/Azure/GuzzleHttp/Psr7/LazyOpenStream.php +0 -0
  396. lib/Azure/GuzzleHttp/Psr7/LimitStream.php +0 -0
  397. lib/Azure/GuzzleHttp/Psr7/MessageTrait.php +0 -0
  398. lib/Azure/GuzzleHttp/Psr7/MultipartStream.php +0 -0
  399. lib/Azure/GuzzleHttp/Psr7/NoSeekStream.php +0 -0
  400. lib/Azure/GuzzleHttp/Psr7/PumpStream.php +0 -0
  401. lib/Azure/GuzzleHttp/Psr7/Request.php +0 -0
  402. lib/Azure/GuzzleHttp/Psr7/Response.php +0 -0
  403. lib/Azure/GuzzleHttp/Psr7/ServerRequest.php +0 -0
  404. lib/Azure/GuzzleHttp/Psr7/Stream.php +0 -0
  405. lib/Azure/GuzzleHttp/Psr7/StreamDecoratorTrait.php +0 -0
  406. lib/Azure/GuzzleHttp/Psr7/StreamWrapper.php +0 -0
  407. lib/Azure/GuzzleHttp/Psr7/UploadedFile.php +0 -0
  408. lib/Azure/GuzzleHttp/Psr7/Uri.php +0 -0
  409. lib/Azure/GuzzleHttp/Psr7/functions.php +0 -0
  410. lib/Azure/GuzzleHttp/Psr7/functions_include.php +0 -0
  411. lib/Azure/GuzzleHttp/RedirectMiddleware.php +0 -0
  412. lib/Azure/GuzzleHttp/RequestOptions.php +0 -0
  413. lib/Azure/GuzzleHttp/RetryMiddleware.php +0 -0
  414. lib/Azure/GuzzleHttp/TransferStats.php +0 -0
  415. lib/Azure/GuzzleHttp/UriTemplate.php +0 -0
  416. lib/Azure/GuzzleHttp/functions.php +0 -0
  417. lib/Azure/GuzzleHttp/functions_include.php +0 -0
  418. lib/Azure/MicrosoftAzureStorage/Blob/BlobRestProxy.php +0 -0
  419. lib/Azure/MicrosoftAzureStorage/Blob/Internal/IBlob.php +0 -0
  420. lib/Azure/MicrosoftAzureStorage/Blob/Models/AccessCondition.php +0 -0
  421. lib/Azure/MicrosoftAzureStorage/Blob/Models/AccessPolicy.php +0 -0
  422. lib/Azure/MicrosoftAzureStorage/Blob/Models/AcquireLeaseOptions.php +0 -0
  423. lib/Azure/MicrosoftAzureStorage/Blob/Models/AcquireLeaseResult.php +0 -0
  424. lib/Azure/MicrosoftAzureStorage/Blob/Models/Blob.php +0 -0
  425. lib/Azure/MicrosoftAzureStorage/Blob/Models/BlobBlockType.php +0 -0
  426. lib/Azure/MicrosoftAzureStorage/Blob/Models/BlobPrefix.php +0 -0
  427. lib/Azure/MicrosoftAzureStorage/Blob/Models/BlobProperties.php +0 -0
  428. lib/Azure/MicrosoftAzureStorage/Blob/Models/BlobServiceOptions.php +0 -0
  429. lib/Azure/MicrosoftAzureStorage/Blob/Models/BlobType.php +0 -0
  430. lib/Azure/MicrosoftAzureStorage/Blob/Models/Block.php +0 -0
  431. lib/Azure/MicrosoftAzureStorage/Blob/Models/BlockList.php +0 -0
  432. lib/Azure/MicrosoftAzureStorage/Blob/Models/BreakLeaseResult.php +0 -0
  433. lib/Azure/MicrosoftAzureStorage/Blob/Models/CommitBlobBlocksOptions.php +0 -0
  434. lib/Azure/MicrosoftAzureStorage/Blob/Models/Container.php +0 -0
  435. lib/Azure/MicrosoftAzureStorage/Blob/Models/ContainerACL.php +0 -0
  436. lib/Azure/MicrosoftAzureStorage/Blob/Models/ContainerProperties.php +0 -0
  437. lib/Azure/MicrosoftAzureStorage/Blob/Models/CopyBlobOptions.php +0 -0
  438. lib/Azure/MicrosoftAzureStorage/Blob/Models/CopyBlobResult.php +0 -0
  439. lib/Azure/MicrosoftAzureStorage/Blob/Models/CreateBlobBlockOptions.php +0 -0
  440. lib/Azure/MicrosoftAzureStorage/Blob/Models/CreateBlobOptions.php +0 -0
  441. lib/Azure/MicrosoftAzureStorage/Blob/Models/CreateBlobPagesOptions.php +0 -0
  442. lib/Azure/MicrosoftAzureStorage/Blob/Models/CreateBlobPagesResult.php +0 -0
  443. lib/Azure/MicrosoftAzureStorage/Blob/Models/CreateBlobSnapshotOptions.php +0 -0
  444. lib/Azure/MicrosoftAzureStorage/Blob/Models/CreateBlobSnapshotResult.php +0 -0
  445. lib/Azure/MicrosoftAzureStorage/Blob/Models/CreateContainerOptions.php +0 -0
  446. lib/Azure/MicrosoftAzureStorage/Blob/Models/DeleteBlobOptions.php +0 -0
  447. lib/Azure/MicrosoftAzureStorage/Blob/Models/DeleteContainerOptions.php +0 -0
  448. lib/Azure/MicrosoftAzureStorage/Blob/Models/GetBlobMetadataOptions.php +0 -0
  449. lib/Azure/MicrosoftAzureStorage/Blob/Models/GetBlobMetadataResult.php +0 -0
  450. lib/Azure/MicrosoftAzureStorage/Blob/Models/GetBlobOptions.php +0 -0
  451. lib/Azure/MicrosoftAzureStorage/Blob/Models/GetBlobPropertiesOptions.php +0 -0
  452. lib/Azure/MicrosoftAzureStorage/Blob/Models/GetBlobPropertiesResult.php +0 -0
  453. lib/Azure/MicrosoftAzureStorage/Blob/Models/GetBlobResult.php +0 -0
  454. lib/Azure/MicrosoftAzureStorage/Blob/Models/GetContainerACLResult.php +0 -0
  455. lib/Azure/MicrosoftAzureStorage/Blob/Models/GetContainerPropertiesResult.php +0 -0
  456. lib/Azure/MicrosoftAzureStorage/Blob/Models/LeaseMode.php +0 -0
  457. lib/Azure/MicrosoftAzureStorage/Blob/Models/ListBlobBlocksOptions.php +0 -0
  458. lib/Azure/MicrosoftAzureStorage/Blob/Models/ListBlobBlocksResult.php +0 -0
  459. lib/Azure/MicrosoftAzureStorage/Blob/Models/ListBlobsOptions.php +0 -0
  460. lib/Azure/MicrosoftAzureStorage/Blob/Models/ListBlobsResult.php +0 -0
  461. lib/Azure/MicrosoftAzureStorage/Blob/Models/ListContainersOptions.php +0 -0
  462. lib/Azure/MicrosoftAzureStorage/Blob/Models/ListContainersResult.php +0 -0
  463. lib/Azure/MicrosoftAzureStorage/Blob/Models/ListPageBlobRangesOptions.php +0 -0
  464. lib/Azure/MicrosoftAzureStorage/Blob/Models/ListPageBlobRangesResult.php +0 -0
  465. lib/Azure/MicrosoftAzureStorage/Blob/Models/PageRange.php +0 -0
  466. lib/Azure/MicrosoftAzureStorage/Blob/Models/PageWriteOption.php +0 -0
  467. lib/Azure/MicrosoftAzureStorage/Blob/Models/PublicAccessType.php +0 -0
  468. lib/Azure/MicrosoftAzureStorage/Blob/Models/SetBlobMetadataOptions.php +0 -0
  469. lib/Azure/MicrosoftAzureStorage/Blob/Models/SetBlobMetadataResult.php +0 -0
  470. lib/Azure/MicrosoftAzureStorage/Blob/Models/SetBlobPropertiesOptions.php +0 -0
  471. lib/Azure/MicrosoftAzureStorage/Blob/Models/SetBlobPropertiesResult.php +0 -0
  472. lib/Azure/MicrosoftAzureStorage/Blob/Models/SetContainerMetadataOptions.php +0 -0
  473. lib/Azure/MicrosoftAzureStorage/Blob/Models/SignedIdentifier.php +0 -0
  474. lib/Azure/MicrosoftAzureStorage/Common/CloudConfigurationManager.php +0 -0
  475. lib/Azure/MicrosoftAzureStorage/Common/Internal/Authentication/IAuthScheme.php +0 -0
  476. lib/Azure/MicrosoftAzureStorage/Common/Internal/Authentication/SharedKeyAuthScheme.php +0 -0
  477. lib/Azure/MicrosoftAzureStorage/Common/Internal/Authentication/StorageAuthScheme.php +0 -0
  478. lib/Azure/MicrosoftAzureStorage/Common/Internal/Authentication/TableSharedKeyLiteAuthScheme.php +0 -0
  479. lib/Azure/MicrosoftAzureStorage/Common/Internal/ConnectionStringParser.php +0 -0
  480. lib/Azure/MicrosoftAzureStorage/Common/Internal/ConnectionStringSource.php +0 -0
  481. lib/Azure/MicrosoftAzureStorage/Common/Internal/FilterableService.php +0 -0
  482. lib/Azure/MicrosoftAzureStorage/Common/Internal/Filters/AuthenticationFilter.php +0 -0
  483. lib/Azure/MicrosoftAzureStorage/Common/Internal/Filters/DateFilter.php +0 -0
  484. lib/Azure/MicrosoftAzureStorage/Common/Internal/Filters/ExponentialRetryPolicy.php +0 -0
  485. lib/Azure/MicrosoftAzureStorage/Common/Internal/Filters/HeadersFilter.php +0 -0
  486. lib/Azure/MicrosoftAzureStorage/Common/Internal/Filters/RetryPolicy.php +0 -0
  487. lib/Azure/MicrosoftAzureStorage/Common/Internal/Filters/RetryPolicyFilter.php +0 -0
  488. lib/Azure/MicrosoftAzureStorage/Common/Internal/Http/HttpCallContext.php +0 -0
  489. lib/Azure/MicrosoftAzureStorage/Common/Internal/HttpFormatter.php +0 -0
  490. lib/Azure/MicrosoftAzureStorage/Common/Internal/IServiceFilter.php +0 -0
  491. lib/Azure/MicrosoftAzureStorage/Common/Internal/InvalidArgumentTypeException.php +0 -0
  492. lib/Azure/MicrosoftAzureStorage/Common/Internal/Logger.php +0 -0
  493. lib/Azure/MicrosoftAzureStorage/Common/Internal/Resources.php +0 -0
  494. lib/Azure/MicrosoftAzureStorage/Common/Internal/RestProxy.php +0 -0
  495. lib/Azure/MicrosoftAzureStorage/Common/Internal/RetryMiddlewareFactory.php +0 -0
  496. lib/Azure/MicrosoftAzureStorage/Common/Internal/Serialization/ISerializer.php +0 -0
  497. lib/Azure/MicrosoftAzureStorage/Common/Internal/Serialization/JsonSerializer.php +0 -0
  498. lib/Azure/MicrosoftAzureStorage/Common/Internal/Serialization/XmlSerializer.php +0 -0
  499. lib/Azure/MicrosoftAzureStorage/Common/Internal/ServiceRestProxy.php +0 -0
  500. lib/Azure/MicrosoftAzureStorage/Common/Internal/ServiceSettings.php +0 -0
  501. lib/Azure/MicrosoftAzureStorage/Common/Internal/StorageServiceSettings.php +0 -0
  502. lib/Azure/MicrosoftAzureStorage/Common/Internal/Utilities.php +0 -0
  503. lib/Azure/MicrosoftAzureStorage/Common/Internal/Validate.php +0 -0
  504. lib/Azure/MicrosoftAzureStorage/Common/Models/GetServicePropertiesResult.php +0 -0
  505. lib/Azure/MicrosoftAzureStorage/Common/Models/Logging.php +0 -0
  506. lib/Azure/MicrosoftAzureStorage/Common/Models/Metrics.php +0 -0
  507. lib/Azure/MicrosoftAzureStorage/Common/Models/RetentionPolicy.php +0 -0
  508. lib/Azure/MicrosoftAzureStorage/Common/Models/ServiceProperties.php +0 -0
  509. lib/Azure/MicrosoftAzureStorage/Common/ServiceException.php +0 -0
  510. lib/Azure/MicrosoftAzureStorage/Common/ServicesBuilder.php +0 -0
  511. lib/Azure/PsrHttpMessage/MessageInterface.php +0 -0
  512. lib/Azure/PsrHttpMessage/RequestInterface.php +0 -0
  513. lib/Azure/PsrHttpMessage/ResponseInterface.php +0 -0
  514. lib/Azure/PsrHttpMessage/ServerRequestInterface.php +0 -0
  515. lib/Azure/PsrHttpMessage/StreamInterface.php +0 -0
  516. lib/Azure/PsrHttpMessage/UploadedFileInterface.php +0 -0
  517. lib/Azure/PsrHttpMessage/UriInterface.php +0 -0
  518. lib/Azure/loader.php +0 -0
  519. lib/Db/mssql.php +0 -0
  520. lib/Google/Auth/Abstract.php +0 -0
  521. lib/Google/Auth/AppIdentity.php +0 -0
  522. lib/Google/Auth/AssertionCredentials.php +0 -0
  523. lib/Google/Auth/Exception.php +0 -0
  524. lib/Google/Auth/LoginTicket.php +0 -0
  525. lib/Google/Auth/OAuth2.php +0 -0
  526. lib/Google/Auth/Simple.php +0 -0
  527. lib/Google/Cache/Abstract.php +0 -0
  528. lib/Google/Cache/Apc.php +0 -0
  529. lib/Google/Cache/Exception.php +0 -0
  530. lib/Google/Cache/File.php +0 -0
  531. lib/Google/Cache/Memcache.php +0 -0
  532. lib/Google/Cache/Null.php +0 -0
  533. lib/Google/Client.php +0 -0
  534. lib/Google/Collection.php +0 -0
  535. lib/Google/Config.php +0 -0
  536. lib/Google/Exception.php +0 -0
  537. lib/Google/Http/Batch.php +0 -0
  538. lib/Google/Http/CacheParser.php +0 -0
  539. lib/Google/Http/MediaFileUpload.php +0 -0
  540. lib/Google/Http/REST.php +0 -0
  541. lib/Google/Http/Request.php +0 -0
  542. lib/Google/IO/Abstract.php +0 -0
  543. lib/Google/IO/Curl.php +0 -0
  544. lib/Google/IO/Exception.php +0 -0
  545. lib/Google/IO/Stream.php +0 -0
  546. lib/Google/IO/cacerts.pem +0 -0
  547. lib/Google/Model.php +0 -0
  548. lib/Google/Service.php +0 -0
  549. lib/Google/Service/Drive.php +0 -0
  550. lib/Google/Service/Exception.php +0 -0
  551. lib/Google/Service/Oauth2.php +0 -0
  552. lib/Google/Service/Resource.php +0 -0
  553. lib/Google/Signer/Abstract.php +0 -0
  554. lib/Google/Signer/P12.php +0 -0
  555. lib/Google/Utils.php +0 -0
  556. lib/Google/Utils/URITemplate.php +0 -0
  557. lib/Google/Verifier/Abstract.php +0 -0
  558. lib/Google/Verifier/Pem.php +0 -0
  559. lib/Minify/DooDigestAuth.php +0 -0
  560. lib/Minify/Minify/Cache/W3TCDerived.php +0 -0
  561. lib/Minify/Minify/Cache/ZendPlatform.php +0 -0
  562. lib/Minify/Minify/DebugDetector.php +0 -0
  563. lib/Minify/Minify/HTML/Helper.php +0 -0
  564. lib/Minify/Minify/JS/ClosureCompiler.php +0 -0
  565. lib/Minify/Minify/Loader.php +0 -0
  566. lib/Minify/Minify/YUI/CssCompressor.java +0 -0
  567. lib/Minify/Minify/YUI/CssCompressor.php +0 -0
  568. lib/NetDNA/NetDNA.php +0 -0
  569. lib/NewRelic/NewRelicAPI.php +0 -0
  570. lib/NewRelic/NewRelicWrapper.php +0 -0
  571. lib/OAuth/W3tcOAuth.php +0 -0
  572. lib/SNS/README.md +0 -0
  573. lib/SNS/lib/requestcore/LICENSE +0 -0
  574. lib/SNS/lib/requestcore/README.md +0 -0
  575. lib/SNS/lib/requestcore/cacert.pem +0 -0
  576. lib/SNS/lib/requestcore/requestcore.class.php +0 -0
  577. lib/SNS/sdk.class.php +0 -0
  578. lib/SNS/services/MessageValidator/MessageValidator.php +82 -82
  579. lib/SNS/services/sns.class.php +0 -0
  580. lib/SNS/utilities/request.class.php +0 -0
  581. lib/SNS/utilities/response.class.php +0 -0
  582. lib/SNS/utilities/simplexml.class.php +0 -0
  583. lib/SNS/utilities/utilities.class.php +0 -0
  584. pub/img/W3TC_dashboard_logo_title-retina.png +0 -0
  585. pub/img/W3TC_dashboard_logo_title.png +0 -0
  586. pub/img/button-grad-active.png +0 -0
  587. pub/img/button-grad.png +0 -0
  588. pub/img/cdn-highwinds-logo.png +0 -0
  589. pub/img/close.png +0 -0
  590. pub/img/google-logo.png +0 -0
  591. pub/img/open.png +0 -0
  592. pub/img/sidebar-background.png +0 -0
  593. pub/img/w3tc-sprite-admin-bar.png +0 -0
  594. pub/img/w3tc-sprite-retina.png +0 -0
  595. pub/img/w3tc-sprite.png +0 -0
  596. pub/img/w3tc_google-logo-retina.png +0 -0
  597. pub/img/w3tc_google-logo.png +0 -0
  598. pub/img/w3tc_newrelic-logo-retina.png +0 -0
  599. pub/img/w3tc_newrelic-logo.png +0 -0
  600. pub/img/w3tc_swarmify-logo-retina.png +0 -0
  601. pub/img/w3tc_swarmify-logo.png +0 -0
  602. pub/img/w3tc_w3edge-logo-retina.png +0 -0
  603. pub/img/w3tc_w3edge-logo.png +0 -0
  604. pub/img/w3tc_w3tc-logo-retina.png +0 -0
  605. pub/img/w3tc_w3tc-logo.png +0 -0
  606. pub/img/white-grad-active.png +0 -0
  607. pub/img/white-grad.png +0 -0
  608. pub/img/wpspin_light.gif +0 -0
  609. pub/js/lightbox.js +6 -4
  610. pub/js/options.js +8 -8
  611. pub/opcache.php +1 -5
  612. pub/sns.php +0 -0
  613. readme.txt +14 -1
  614. w3-total-cache-api.php +1 -40
  615. w3-total-cache-old-php.php +0 -0
  616. w3-total-cache.php +1 -1
Base_Page_Settings.php CHANGED
File without changes
BrowserCache_ConfigLabels.php CHANGED
File without changes
BrowserCache_Core.php CHANGED
File without changes
BrowserCache_Environment.php CHANGED
File without changes
BrowserCache_Page.php CHANGED
File without changes
BrowserCache_Plugin.php CHANGED
File without changes
BrowserCache_Plugin_Admin.php CHANGED
File without changes
Cache.php CHANGED
File without changes
CacheFlush.php CHANGED
@@ -115,16 +115,6 @@ class CacheFlush {
115
  return $this->_executor->opcache_flush();
116
  }
117
 
118
- /**
119
- * Reloads/compiles a PHP file.
120
- *
121
- * @param string $filename
122
- * @return mixed
123
- */
124
- function opcache_flush_file( $filename ) {
125
- return $this->_executor->opcache_flush_file( $filename );
126
- }
127
-
128
  /**
129
  * Purges/Flushes post page
130
  */
115
  return $this->_executor->opcache_flush();
116
  }
117
 
 
 
 
 
 
 
 
 
 
 
118
  /**
119
  * Purges/Flushes post page
120
  */
CacheFlush_Locally.php CHANGED
@@ -147,17 +147,6 @@ class CacheFlush_Locally {
147
  return $o->flush();
148
  }
149
 
150
- /**
151
- * Reload/compile a PHP file
152
- *
153
- * @param unknown $filename
154
- * @return bool
155
- */
156
- function opcache_flush_file( $filename ) {
157
- $o = Dispatcher::component( 'SystemOpCache_Core' );
158
- return $o->flush_file( $filename );
159
- }
160
-
161
  /**
162
  * Purges/Flushes post from page cache, varnish and cdn cache
163
  */
147
  return $o->flush();
148
  }
149
 
 
 
 
 
 
 
 
 
 
 
 
150
  /**
151
  * Purges/Flushes post from page cache, varnish and cdn cache
152
  */
Cache_Apc.php CHANGED
File without changes
Cache_Apcu.php CHANGED
File without changes
Cache_Base.php CHANGED
File without changes
Cache_Eaccelerator.php CHANGED
File without changes
Cache_File.php CHANGED
File without changes
Cache_File_Cleaner.php CHANGED
File without changes
Cache_File_Cleaner_Generic.php CHANGED
File without changes
Cache_File_Generic.php CHANGED
@@ -189,9 +189,14 @@ class Cache_File_Generic extends Cache_File {
189
  if ( $this->_locking )
190
  @flock( $fp, LOCK_UN );
191
 
 
 
 
 
 
192
  return array(
193
  '404' => false,
194
- 'headers' => array(),
195
  'time' => null,
196
  'content' => $var
197
  );
189
  if ( $this->_locking )
190
  @flock( $fp, LOCK_UN );
191
 
192
+ $headers = array();
193
+ if ( substr( $path, -4 ) == '.xml' ) {
194
+ $headers['Content-type'] = 'text/xml';
195
+ }
196
+
197
  return array(
198
  '404' => false,
199
+ 'headers' => $headers,
200
  'time' => null,
201
  'content' => $var
202
  );
Cache_Memcache.php CHANGED
File without changes
Cache_Memcached.php CHANGED
File without changes
Cache_Memcached_Stats.php CHANGED
File without changes
Cache_Redis.php CHANGED
@@ -178,8 +178,10 @@ class Cache_Redis extends Cache_Base {
178
  */
179
  function flush( $group = '' ) {
180
  $this->_get_key_version( $group ); // initialize $this->_key_version
181
- $this->_key_version[$group]++;
182
- $this->_set_key_version( $this->_key_version[$group], $group );
 
 
183
 
184
  return true;
185
  }
178
  */
179
  function flush( $group = '' ) {
180
  $this->_get_key_version( $group ); // initialize $this->_key_version
181
+ if (isset($this->_key_version[$group])) {
182
+ $this->_key_version[$group]++;
183
+ $this->_set_key_version( $this->_key_version[$group], $group );
184
+ }
185
 
186
  return true;
187
  }
Cache_Wincache.php CHANGED
File without changes
Cache_Xcache.php CHANGED
File without changes
CdnEngine.php CHANGED
File without changes
CdnEngine_Azure.php CHANGED
File without changes
CdnEngine_Base.php CHANGED
File without changes
CdnEngine_Ftp.php CHANGED
File without changes
CdnEngine_GoogleDrive.php CHANGED
File without changes
CdnEngine_Mirror.php CHANGED
File without changes
CdnEngine_Mirror_Akamai.php CHANGED
File without changes
CdnEngine_Mirror_Att.php CHANGED
File without changes
CdnEngine_Mirror_Cotendo.php CHANGED
File without changes
CdnEngine_Mirror_Edgecast.php CHANGED
File without changes
CdnEngine_Mirror_Highwinds.php CHANGED
File without changes
CdnEngine_Mirror_MaxCdn.php CHANGED
File without changes
CdnEngine_Mirror_RackSpaceCdn.php CHANGED
File without changes
CdnEngine_RackSpaceCloudFiles.php CHANGED
File without changes
CdnEngine_S3.php CHANGED
File without changes
CdnEngine_S3_Cf.php CHANGED
File without changes
CdnEngine_S3_Cf_Custom.php CHANGED
File without changes
CdnEngine_S3_Cf_S3.php CHANGED
File without changes
CdnEngine_S3_Compatible.php CHANGED
File without changes
Cdn_AdminActions.php CHANGED
File without changes
Cdn_AdminNotes.php CHANGED
File without changes
Cdn_CacheFlush.php CHANGED
File without changes
Cdn_ConfigLabels.php CHANGED
File without changes
Cdn_Core.php CHANGED
@@ -79,7 +79,12 @@ class Cdn_Core {
79
  $file = $this->normalize_attachment_file( $file );
80
 
81
  $local_file = $upload_info['basedir'] . '/' . $file;
82
- $remote_file = ltrim( $upload_info['baseurlpath'] . $file, '/' );
 
 
 
 
 
83
 
84
  $files[] = $this->build_file_descriptor( $local_file, $remote_file );
85
  }
@@ -713,8 +718,11 @@ class Cdn_Core {
713
  !Util_Environment::is_wpmu_subdomain() &&
714
  Util_Environment::is_using_master_config() &&
715
  Cdn_Util::is_engine_push( $engine ) ) {
716
- // in common config files are uploaded for network home url
717
  // so mirror will not contain /subblog/ path in uri
 
 
 
718
  $home = trim( home_url( '', 'relative' ), '/' ) . '/';
719
  $network_home = trim( network_home_url( '', 'relative' ), '/' ) . '/';
720
 
79
  $file = $this->normalize_attachment_file( $file );
80
 
81
  $local_file = $upload_info['basedir'] . '/' . $file;
82
+
83
+ $parsed = parse_url( rtrim( $upload_info['baseurl'], '/' ) .
84
+ '/' . $file );
85
+ $local_uri = $parsed['path'];
86
+ $remote_uri = $this->uri_to_cdn_uri( $local_uri );
87
+ $remote_file = ltrim( $remote_uri, '/' );
88
 
89
  $files[] = $this->build_file_descriptor( $local_file, $remote_file );
90
  }
718
  !Util_Environment::is_wpmu_subdomain() &&
719
  Util_Environment::is_using_master_config() &&
720
  Cdn_Util::is_engine_push( $engine ) ) {
721
+ // in common config mode files are uploaded for network home url
722
  // so mirror will not contain /subblog/ path in uri
723
+ //
724
+ // since upload process is not blog-specific and
725
+ // wp-content/plugins/../*.jpg files are common
726
  $home = trim( home_url( '', 'relative' ), '/' ) . '/';
727
  $network_home = trim( network_home_url( '', 'relative' ), '/' ) . '/';
728
 
Cdn_Core_Admin.php CHANGED
File without changes
Cdn_Environment.php CHANGED
File without changes
Cdn_GeneralPage_View.php CHANGED
File without changes
Cdn_GoogleDrive_AdminActions.php CHANGED
File without changes
Cdn_GoogleDrive_Page.php CHANGED
File without changes
Cdn_GoogleDrive_Page_View.js CHANGED
File without changes
Cdn_GoogleDrive_Page_View.php CHANGED
File without changes
Cdn_GoogleDrive_Popup_AuthReturn.php CHANGED
File without changes
Cdn_GoogleDrive_Popup_AuthReturn_View.php CHANGED
File without changes
Cdn_Highwinds_Api.php CHANGED
File without changes
Cdn_Highwinds_Page.php CHANGED
File without changes
Cdn_Highwinds_Page_View.js CHANGED
File without changes
Cdn_Highwinds_Page_View.php CHANGED
File without changes
Cdn_Highwinds_Popup.php CHANGED
File without changes
Cdn_Highwinds_Popup_View_ConfigureCnamesForm.php CHANGED
File without changes
Cdn_Highwinds_Popup_View_Intro.php CHANGED
File without changes
Cdn_Highwinds_Popup_View_SelectHost.php CHANGED
File without changes
Cdn_Highwinds_Widget.php CHANGED
File without changes
Cdn_Highwinds_Widget_View.css CHANGED
File without changes
Cdn_Highwinds_Widget_View.js CHANGED
File without changes
Cdn_Highwinds_Widget_View.php CHANGED
File without changes
Cdn_Highwinds_Widget_View_NotConfigured.php CHANGED
File without changes
Cdn_Page.php CHANGED
File without changes
Cdn_Page_View_Fsd_HeaderActions.php CHANGED
File without changes
Cdn_Page_View_Header.php CHANGED
File without changes
Cdn_Plugin.php CHANGED
File without changes
Cdn_Plugin_Admin.php CHANGED
File without changes
Cdn_Plugin_WidgetMaxCdn.php CHANGED
File without changes
Cdn_RackSpaceCdn_AdminActions.php CHANGED
File without changes
Cdn_RackSpaceCdn_Page.php CHANGED
File without changes
Cdn_RackSpaceCdn_Page_View.js CHANGED
File without changes
Cdn_RackSpaceCdn_Page_View.php CHANGED
File without changes
Cdn_RackSpaceCdn_Popup.php CHANGED
File without changes
Cdn_RackSpaceCdn_Popup_View_ConfigureDomains.php CHANGED
File without changes
Cdn_RackSpaceCdn_Popup_View_Intro.php CHANGED
File without changes
Cdn_RackSpaceCdn_Popup_View_Regions.php CHANGED
File without changes
Cdn_RackSpaceCdn_Popup_View_Service_Actualize.php CHANGED
File without changes
Cdn_RackSpaceCdn_Popup_View_Service_Create.php CHANGED
File without changes
Cdn_RackSpaceCdn_Popup_View_Service_Created.php CHANGED
File without changes
Cdn_RackSpaceCdn_Popup_View_Services.php CHANGED
File without changes
Cdn_RackSpaceCloudFiles_Page.php CHANGED
File without changes
Cdn_RackSpaceCloudFiles_Page_View.js CHANGED
File without changes
Cdn_RackSpaceCloudFiles_Page_View.php CHANGED
File without changes
Cdn_RackSpaceCloudFiles_Popup.php CHANGED
File without changes
Cdn_RackSpaceCloudFiles_Popup_View_Containers.php CHANGED
File without changes
Cdn_RackSpaceCloudFiles_Popup_View_Intro.php CHANGED
File without changes
Cdn_RackSpaceCloudFiles_Popup_View_Regions.php CHANGED
File without changes
Cdn_RackSpace_Api_CaCert-example.pem CHANGED
File without changes
Cdn_RackSpace_Api_Cdn.php CHANGED
File without changes
Cdn_RackSpace_Api_CloudFiles.php CHANGED
File without changes
Cdn_RackSpace_Api_CloudFilesCdn.php CHANGED
File without changes
Cdn_RackSpace_Api_Tokens.php CHANGED
File without changes
Cdn_Util.php CHANGED
File without changes
Cli.php CHANGED
@@ -342,7 +342,7 @@ class W3TotalCache_Command extends \WP_CLI_Command {
342
 
343
  /**
344
  * Purges URL's from cdn and varnish if enabled
345
- *
346
  * @param array $args List if files to be purged, absolute path or relative to wordpress installation path
347
  */
348
  function cdn_purge( $args = array() ) {
@@ -369,49 +369,6 @@ class W3TotalCache_Command extends \WP_CLI_Command {
369
 
370
  }
371
 
372
- /**
373
- * Tell opcache to reload PHP files
374
- *
375
- * @param array $args
376
- */
377
- function opcache_flush_file( $args = array() ) {
378
- try {
379
- $method = array_shift( $args );
380
- if ( !in_array( $method, array( 'SNS', 'local' ) ) )
381
- \WP_CLI::error( $method . __( ' is not supported. Change to SNS or local to reload opcache files', 'w3-total-cache' ) );
382
- if ( $method == 'SNS' ) {
383
- $w3_cache = Dispatcher::component( 'CacheFlush' );
384
- $w3_cache->opcache_flush_file( $args[0] );
385
- } else {
386
- $url = WP_PLUGIN_URL . '/' . dirname( W3TC_FILE ) . '/pub/opcache.php';
387
- $path = parse_url( $url, PHP_URL_PATH );
388
- $post = array(
389
- 'method' => 'POST',
390
- 'timeout' => 45,
391
- 'redirection' => 5,
392
- 'httpversion' => '1.0',
393
- 'blocking' => true,
394
- 'body' => array(
395
- 'nonce' => wp_hash( $path ),
396
- 'command' => 'flush_file',
397
- 'file' => $args[0]
398
- ),
399
- );
400
- $result = wp_remote_post( $url, $post );
401
- if ( is_wp_error( $result ) ) {
402
- \WP_CLI::error( __( 'Files did not successfully reload with error %s', 'w3-total-cache' ), $result );
403
- } elseif ( $result['response']['code'] != '200' ) {
404
- \WP_CLI::error( __( 'Files did not successfully reload with message: ', 'w3-total-cache' ) . $result['body'] );
405
- }
406
- }
407
- }
408
- catch ( \Exception $e ) {
409
- \WP_CLI::error( __( 'Files did not successfully reload with error %s', 'w3-total-cache' ), $e );
410
- }
411
- \WP_CLI::success( __( 'Files reloaded successfully.', 'w3-total-cache' ) );
412
-
413
- }
414
-
415
  /**
416
  * SNS/local file.php Tells opcache to compile files
417
  *
342
 
343
  /**
344
  * Purges URL's from cdn and varnish if enabled
345
+ *
346
  * @param array $args List if files to be purged, absolute path or relative to wordpress installation path
347
  */
348
  function cdn_purge( $args = array() ) {
369
 
370
  }
371
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
372
  /**
373
  * SNS/local file.php Tells opcache to compile files
374
  *
Config.php CHANGED
File without changes
ConfigCompiler.php CHANGED
File without changes
ConfigKeys.php CHANGED
File without changes
ConfigState.php CHANGED
File without changes
ConfigStateNote.php CHANGED
File without changes
DbCache_ConfigLabels.php CHANGED
File without changes
DbCache_Core.php CHANGED
File without changes
DbCache_Environment.php CHANGED
File without changes
DbCache_Page.php CHANGED
File without changes
DbCache_Plugin.php CHANGED
File without changes
DbCache_Plugin_Admin.php CHANGED
File without changes
DbCache_Wpdb.php CHANGED
@@ -28,8 +28,8 @@ class DbCache_Wpdb extends DbCache_WpdbBase {
28
  if ( Util_Environment::is_dbcluster() ) {
29
  // dbcluster use mysqli only since other is obsolete now
30
  if ( !defined( 'WP_USE_EXT_MYSQL' ) ) {
31
- define( 'WP_USE_EXT_MYSQL', false );
32
- }
33
 
34
  $processors[] = new Enterprise_Dbcache_WpdbInjection_Cluster();
35
  }
@@ -62,8 +62,8 @@ class DbCache_Wpdb extends DbCache_WpdbBase {
62
  private $request_time_start = 0;
63
 
64
  /*
65
- * @param boolean $call_default_constructor
66
- */
67
  public function __construct( $processors = null ) {
68
  // required to initialize $use_mysqli which is private
69
  parent::__construct( '', '', '', '' );
@@ -87,7 +87,7 @@ class DbCache_Wpdb extends DbCache_WpdbBase {
87
  * Called by Root_Loader when all w3tc plugins loaded,
88
  * i.e. later that object instantiated
89
  */
90
- function on_w3tc_plugins_loaded() {
91
  $o = $this;
92
 
93
  if ( $this->debug ) {
@@ -101,14 +101,14 @@ class DbCache_Wpdb extends DbCache_WpdbBase {
101
 
102
  }
103
 
104
- function w3tc_footer_comment( $strings ) {
105
  foreach ( $this->processors as $processor )
106
  $strings = $processor->w3tc_footer_comment( $strings );
107
 
108
  return $strings;
109
  }
110
 
111
- function debug_shutdown() {
112
  $strings = array();
113
  foreach ( $this->processors as $processor )
114
  $strings = $processor->w3tc_footer_comment( $strings );
@@ -124,12 +124,12 @@ class DbCache_Wpdb extends DbCache_WpdbBase {
124
  @file_put_contents( $filename, $data, FILE_APPEND );
125
  }
126
 
127
- function w3tc_usage_statistics_of_request( $storage ) {
128
  foreach ( $this->processors as $processor )
129
  $processor->w3tc_usage_statistics_of_request( $storage );
130
  }
131
 
132
- function flush_cache( $extras = array() ) {
133
  $v = true;
134
 
135
  foreach ( $this->processors as $processor )
@@ -138,7 +138,7 @@ class DbCache_Wpdb extends DbCache_WpdbBase {
138
  return $v;
139
  }
140
 
141
- function db_connect( $allow_bail = true ) {
142
  if ( empty( $this->dbuser ) ) {
143
  // skip connection - called from constructor
144
  } else
@@ -148,14 +148,14 @@ class DbCache_Wpdb extends DbCache_WpdbBase {
148
  /**
149
  * Initializes object after processors configured. Called from instance() only
150
  */
151
- function initialize() {
152
  return $this->active_processor->initialize();
153
  }
154
 
155
  /**
156
  * Overriten logic of wp_db by processor.
157
  */
158
- function insert( $table, $data, $format = null ) {
159
  do_action( 'w3tc_db_insert', $table, $data, $format );
160
  return $this->active_processor->insert( $table, $data, $format );
161
  }
@@ -163,18 +163,33 @@ class DbCache_Wpdb extends DbCache_WpdbBase {
163
  /**
164
  * Overriten logic of wp_db by processor.
165
  */
166
- function query( $query ) {
167
  return $this->active_processor->query( $query );
168
  }
169
 
170
- function _escape( $data ) {
171
  return $this->active_processor->_escape( $data );
172
  }
173
 
174
  /**
175
  * Overriten logic of wp_db by processor.
176
  */
177
- function replace( $table, $data, $format = null ) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
178
  do_action( 'w3tc_db_replace', $table, $data, $format );
179
  return $this->active_processor->replace( $table, $data, $format );
180
  }
@@ -182,7 +197,7 @@ class DbCache_Wpdb extends DbCache_WpdbBase {
182
  /**
183
  * Overriten logic of wp_db by processor.
184
  */
185
- function update( $table, $data, $where, $format = null, $where_format = null ) {
186
  do_action( 'w3tc_db_update', $table, $data, $where, $format,
187
  $where_format );
188
  return $this->active_processor->update( $table, $data, $where, $format, $where_format );
@@ -191,7 +206,7 @@ class DbCache_Wpdb extends DbCache_WpdbBase {
191
  /**
192
  * Overriten logic of wp_db by processor.
193
  */
194
- function delete( $table, $where, $where_format = null ) {
195
  do_action( 'w3tc_db_delete', $table, $where, $where_format );
196
  return $this->active_processor->delete( $table, $where, $where_format );
197
  }
@@ -199,151 +214,158 @@ class DbCache_Wpdb extends DbCache_WpdbBase {
199
  /**
200
  * Overriten logic of wp_db by processor.
201
  */
202
- function init_charset() {
203
  return $this->active_processor->init_charset();
204
  }
205
 
206
  /**
207
  * Overriten logic of wp_db by processor.
208
  */
209
- function set_charset( $dbh, $charset = null, $collate = null ) {
210
  return $this->active_processor->set_charset( $dbh, $charset, $collate );
211
  }
212
 
213
  /**
214
  * Overriten logic of wp_db by processor.
215
  */
216
- function flush() {
217
  return $this->active_processor->flush();
218
  }
219
 
220
  /**
221
  * Overriten logic of wp_db by processor.
222
  */
223
- function check_database_version( $dbh_or_table = false ) {
224
  return $this->active_processor->check_database_version( $dbh_or_table );
225
  }
226
 
227
  /**
228
  * Overriten logic of wp_db by processor.
229
  */
230
- function supports_collation( $dbh_or_table = false ) {
231
  return $this->active_processor->supports_collation( $dbh_or_table );
232
  }
233
 
234
  /**
235
  * Overriten logic of wp_db by processor.
236
  */
237
- function has_cap( $db_cap, $dbh_or_table = false ) {
238
  return $this->active_processor->has_cap( $db_cap, $dbh_or_table );
239
  }
240
 
241
  /**
242
  * Overriten logic of wp_db by processor.
243
  */
244
- function db_version( $dbh_or_table = false ) {
245
  return $this->active_processor->db_version( $dbh_or_table );
246
  }
247
 
248
  /**
249
  * Default initialization method, calls wp_db apropriate method
250
  */
251
- function default_initialize() {
252
  parent::__construct( DB_USER, DB_PASSWORD, DB_NAME, DB_HOST );
253
  }
254
 
255
  /**
256
  * Default implementation, calls wp_db apropriate method
257
  */
258
- function default_insert( $table, $data, $format = null ) {
259
  return parent::insert( $table, $data, $format );
260
  }
261
 
262
  /**
263
  * Default implementation, calls wp_db apropriate method
264
  */
265
- function default_query( $query ) {
266
  return parent::query( $query );
267
  }
268
 
269
- function default__escape( $data ) {
270
  return parent::_escape( $data );
271
  }
272
 
273
  /**
274
  * Default implementation, calls wp_db apropriate method
275
  */
276
- function default_replace( $table, $data, $format = null ) {
 
 
 
 
 
 
 
277
  return parent::replace( $table, $data, $format );
278
  }
279
 
280
  /**
281
  * Default implementation, calls wp_db apropriate method
282
  */
283
- function default_update( $table, $data, $where, $format = null, $where_format = null ) {
284
  return parent::update( $table, $data, $where, $format, $where_format );
285
  }
286
 
287
  /**
288
  * Default implementation, calls wp_db apropriate method
289
  */
290
- function default_delete( $table, $where, $where_format = null ) {
291
  return parent::delete( $table, $where, $where_format );
292
  }
293
 
294
  /**
295
  * Default implementation, calls wp_db apropriate method
296
  */
297
- function default_init_charset() {
298
  return parent::init_charset();
299
  }
300
 
301
  /**
302
  * Default implementation, calls wp_db apropriate method
303
  */
304
- function default_set_charset( $dbh, $charset = null, $collate = null ) {
305
  return parent::set_charset( $dbh, $charset, $collate );
306
  }
307
 
308
  /**
309
  * Default implementation, calls wp_db apropriate method
310
  */
311
- function default_flush() {
312
  return parent::flush();
313
  }
314
 
315
  /**
316
  * Default implementation, calls wp_db apropriate method
317
  */
318
- function default_check_database_version( $dbh_or_table = false ) {
319
  return parent::check_database_version( $dbh_or_table );
320
  }
321
 
322
  /**
323
  * Default implementation, calls wp_db apropriate method
324
  */
325
- function default_supports_collation( $dbh_or_table = false ) {
326
  return parent::supports_collation( $dbh_or_table );
327
  }
328
 
329
  /**
330
  * Default implementation, calls wp_db apropriate method
331
  */
332
- function default_has_cap( $db_cap, $dbh_or_table = false ) {
333
  return parent::has_cap( $db_cap, $dbh_or_table );
334
  }
335
 
336
  /**
337
  * Default implementation, calls wp_db apropriate method
338
  */
339
- function default_db_version( $dbh_or_table = false ) {
340
  return parent::db_version( $dbh_or_table );
341
  }
342
 
343
  /**
344
  * Default implementation, calls wp_db apropriate method
345
  */
346
- function switch_active_processor( $offset ) {
347
  $new_processor_number = $this->active_processor_number + $offset;
348
  if ( $new_processor_number <= 0 ) {
349
  $new_processor_number = 0;
@@ -437,6 +459,23 @@ class _CallUnderlying {
437
  }
438
  }
439
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
440
  /**
441
  * Calls underlying processor's aproptiate method of wp_db
442
  */
28
  if ( Util_Environment::is_dbcluster() ) {
29
  // dbcluster use mysqli only since other is obsolete now
30
  if ( !defined( 'WP_USE_EXT_MYSQL' ) ) {
31
+ define( 'WP_USE_EXT_MYSQL', false );
32
+ }
33
 
34
  $processors[] = new Enterprise_Dbcache_WpdbInjection_Cluster();
35
  }
62
  private $request_time_start = 0;
63
 
64
  /*
65
+ * @param boolean $call_default_constructor
66
+ */
67
  public function __construct( $processors = null ) {
68
  // required to initialize $use_mysqli which is private
69
  parent::__construct( '', '', '', '' );
87
  * Called by Root_Loader when all w3tc plugins loaded,
88
  * i.e. later that object instantiated
89
  */
90
+ public function on_w3tc_plugins_loaded() {
91
  $o = $this;
92
 
93
  if ( $this->debug ) {
101
 
102
  }
103
 
104
+ public function w3tc_footer_comment( $strings ) {
105
  foreach ( $this->processors as $processor )
106
  $strings = $processor->w3tc_footer_comment( $strings );
107
 
108
  return $strings;
109
  }
110
 
111
+ public function debug_shutdown() {
112
  $strings = array();
113
  foreach ( $this->processors as $processor )
114
  $strings = $processor->w3tc_footer_comment( $strings );
124
  @file_put_contents( $filename, $data, FILE_APPEND );
125
  }
126
 
127
+ public function w3tc_usage_statistics_of_request( $storage ) {
128
  foreach ( $this->processors as $processor )
129
  $processor->w3tc_usage_statistics_of_request( $storage );
130
  }
131
 
132
+ public function flush_cache( $extras = array() ) {
133
  $v = true;
134
 
135
  foreach ( $this->processors as $processor )
138
  return $v;
139
  }
140
 
141
+ public function db_connect( $allow_bail = true ) {
142
  if ( empty( $this->dbuser ) ) {
143
  // skip connection - called from constructor
144
  } else
148
  /**
149
  * Initializes object after processors configured. Called from instance() only
150
  */
151
+ public function initialize() {
152
  return $this->active_processor->initialize();
153
  }
154
 
155
  /**
156
  * Overriten logic of wp_db by processor.
157
  */
158
+ public function insert( $table, $data, $format = null ) {
159
  do_action( 'w3tc_db_insert', $table, $data, $format );
160
  return $this->active_processor->insert( $table, $data, $format );
161
  }
163
  /**
164
  * Overriten logic of wp_db by processor.
165
  */
166
+ public function query( $query ) {
167
  return $this->active_processor->query( $query );
168
  }
169
 
170
+ public function _escape( $data ) {
171
  return $this->active_processor->_escape( $data );
172
  }
173
 
174
  /**
175
  * Overriten logic of wp_db by processor.
176
  */
177
+ public function prepare( $query, $args ) {
178
+ $args = func_get_args();
179
+ array_shift( $args );
180
+
181
+ // If args were passed as an array (as in vsprintf), move them up
182
+ if ( isset( $args[0] ) && is_array($args[0]) ) {
183
+ $args = $args[0];
184
+ }
185
+
186
+ return $this->active_processor->prepare( $query, $args );
187
+ }
188
+
189
+ /**
190
+ * Overriten logic of wp_db by processor.
191
+ */
192
+ public function replace( $table, $data, $format = null ) {
193
  do_action( 'w3tc_db_replace', $table, $data, $format );
194
  return $this->active_processor->replace( $table, $data, $format );
195
  }
197
  /**
198
  * Overriten logic of wp_db by processor.
199
  */
200
+ public function update( $table, $data, $where, $format = null, $where_format = null ) {
201
  do_action( 'w3tc_db_update', $table, $data, $where, $format,
202
  $where_format );
203
  return $this->active_processor->update( $table, $data, $where, $format, $where_format );
206
  /**
207
  * Overriten logic of wp_db by processor.
208
  */
209
+ public function delete( $table, $where, $where_format = null ) {
210
  do_action( 'w3tc_db_delete', $table, $where, $where_format );
211
  return $this->active_processor->delete( $table, $where, $where_format );
212
  }
214
  /**
215
  * Overriten logic of wp_db by processor.
216
  */
217
+ public function init_charset() {
218
  return $this->active_processor->init_charset();
219
  }
220
 
221
  /**
222
  * Overriten logic of wp_db by processor.
223
  */
224
+ public function set_charset( $dbh, $charset = null, $collate = null ) {
225
  return $this->active_processor->set_charset( $dbh, $charset, $collate );
226
  }
227
 
228
  /**
229
  * Overriten logic of wp_db by processor.
230
  */
231
+ public function flush() {
232
  return $this->active_processor->flush();
233
  }
234
 
235
  /**
236
  * Overriten logic of wp_db by processor.
237
  */
238
+ public function check_database_version( $dbh_or_table = false ) {
239
  return $this->active_processor->check_database_version( $dbh_or_table );
240
  }
241
 
242
  /**
243
  * Overriten logic of wp_db by processor.
244
  */
245
+ public function supports_collation( $dbh_or_table = false ) {
246
  return $this->active_processor->supports_collation( $dbh_or_table );
247
  }
248
 
249
  /**
250
  * Overriten logic of wp_db by processor.
251
  */
252
+ public function has_cap( $db_cap, $dbh_or_table = false ) {
253
  return $this->active_processor->has_cap( $db_cap, $dbh_or_table );
254
  }
255
 
256
  /**
257
  * Overriten logic of wp_db by processor.
258
  */
259
+ public function db_version( $dbh_or_table = false ) {
260
  return $this->active_processor->db_version( $dbh_or_table );
261
  }
262
 
263
  /**
264
  * Default initialization method, calls wp_db apropriate method
265
  */
266
+ public function default_initialize() {
267
  parent::__construct( DB_USER, DB_PASSWORD, DB_NAME, DB_HOST );
268
  }
269
 
270
  /**
271
  * Default implementation, calls wp_db apropriate method
272
  */
273
+ public function default_insert( $table, $data, $format = null ) {
274
  return parent::insert( $table, $data, $format );
275
  }
276
 
277
  /**
278
  * Default implementation, calls wp_db apropriate method
279
  */
280
+ public function default_query( $query ) {
281
  return parent::query( $query );
282
  }
283
 
284
+ public function default__escape( $data ) {
285
  return parent::_escape( $data );
286
  }
287
 
288
  /**
289
  * Default implementation, calls wp_db apropriate method
290
  */
291
+ public function default_prepare( $query, $args ) {
292
+ return parent::prepare( $query, $args );
293
+ }
294
+
295
+ /**
296
+ * Default implementation, calls wp_db apropriate method
297
+ */
298
+ public function default_replace( $table, $data, $format = null ) {
299
  return parent::replace( $table, $data, $format );
300
  }
301
 
302
  /**
303
  * Default implementation, calls wp_db apropriate method
304
  */
305
+ public function default_update( $table, $data, $where, $format = null, $where_format = null ) {
306
  return parent::update( $table, $data, $where, $format, $where_format );
307
  }
308
 
309
  /**
310
  * Default implementation, calls wp_db apropriate method
311
  */
312
+ public function default_delete( $table, $where, $where_format = null ) {
313
  return parent::delete( $table, $where, $where_format );
314
  }
315
 
316
  /**
317
  * Default implementation, calls wp_db apropriate method
318
  */
319
+ public function default_init_charset() {
320
  return parent::init_charset();
321
  }
322
 
323
  /**
324
  * Default implementation, calls wp_db apropriate method
325
  */
326
+ public function default_set_charset( $dbh, $charset = null, $collate = null ) {
327
  return parent::set_charset( $dbh, $charset, $collate );
328
  }
329
 
330
  /**
331
  * Default implementation, calls wp_db apropriate method
332
  */
333
+ public function default_flush() {
334
  return parent::flush();
335
  }
336
 
337
  /**
338
  * Default implementation, calls wp_db apropriate method
339
  */
340
+ public function default_check_database_version( $dbh_or_table = false ) {
341
  return parent::check_database_version( $dbh_or_table );
342
  }
343
 
344
  /**
345
  * Default implementation, calls wp_db apropriate method
346
  */
347
+ public function default_supports_collation( $dbh_or_table = false ) {
348
  return parent::supports_collation( $dbh_or_table );
349
  }
350
 
351
  /**
352
  * Default implementation, calls wp_db apropriate method
353
  */
354
+ public function default_has_cap( $db_cap, $dbh_or_table = false ) {
355
  return parent::has_cap( $db_cap, $dbh_or_table );
356
  }
357
 
358
  /**
359
  * Default implementation, calls wp_db apropriate method
360
  */
361
+ public function default_db_version( $dbh_or_table = false ) {
362
  return parent::db_version( $dbh_or_table );
363
  }
364
 
365
  /**
366
  * Default implementation, calls wp_db apropriate method
367
  */
368
+ public function switch_active_processor( $offset ) {
369
  $new_processor_number = $this->active_processor_number + $offset;
370
  if ( $new_processor_number <= 0 ) {
371
  $new_processor_number = 0;
459
  }
460
  }
461
 
462
+ /**
463
+ * Calls underlying processor's aproptiate method of wp_db
464
+ */
465
+ function prepare( $query, $args ) {
466
+ $switched = $this->wpdb_mixin->switch_active_processor( 1 );
467
+
468
+ try {
469
+ $r = $this->wpdb_mixin->prepare( $query, $args );
470
+
471
+ $this->wpdb_mixin->switch_active_processor( -$switched );
472
+ return $r;
473
+ } catch ( \Exception $e ) {
474
+ $this->wpdb_mixin->switch_active_processor( -$switched );
475
+ throw $e;
476
+ }
477
+ }
478
+
479
  /**
480
  * Calls underlying processor's aproptiate method of wp_db
481
  */
DbCache_WpdbBase.php CHANGED
File without changes
DbCache_WpdbInjection.php CHANGED
@@ -62,6 +62,14 @@ class DbCache_WpdbInjection {
62
  return $this->wpdb_mixin->default__escape( $data );
63
  }
64
 
 
 
 
 
 
 
 
 
65
  /**
66
  * Placeholder for apropriate wp_db method replacement.
67
  * By default calls wp_db implementation
62
  return $this->wpdb_mixin->default__escape( $data );
63
  }
64
 
65
+ /**
66
+ * Placeholder for apropriate wp_db method replacement.
67
+ * By default calls wp_db implementation
68
+ */
69
+ function prepare( $query, $args ) {
70
+ return $this->wpdb_mixin->default_prepare( $query, $args );
71
+ }
72
+
73
  /**
74
  * Placeholder for apropriate wp_db method replacement.
75
  * By default calls wp_db implementation
DbCache_WpdbInjection_QueryCaching.php CHANGED
@@ -79,11 +79,11 @@ class DbCache_WpdbInjection_QueryCaching extends DbCache_WpdbInjection {
79
  private $can_cache_once_per_request_result = null;
80
 
81
  /*
82
- * @param string $dbuser
83
- * @param string $dbpassword
84
- * @param string $dbname
85
- * @param string $dbhost
86
- */
87
  function __construct() {
88
  $c = Dispatcher::config();
89
  $this->_config = $c;
@@ -222,6 +222,10 @@ class DbCache_WpdbInjection_QueryCaching extends DbCache_WpdbInjection {
222
  return $this->next_injection->_escape( $data );
223
  }
224
 
 
 
 
 
225
  /**
226
  * Initializes object, calls underlying processor
227
  */
@@ -635,7 +639,7 @@ class DbCache_WpdbInjection_QueryCaching extends DbCache_WpdbInjection {
635
  'singletables' => '*' );
636
  break;
637
  // options are updated on each second request,
638
- // ignore by default probability that SELECTs with joins with options
639
  // are critical and don't flush "remaining".
640
  // That can be changed by w3tc_dbcache_get_flush_groups filter
641
  case 'options':
79
  private $can_cache_once_per_request_result = null;
80
 
81
  /*
82
+ * @param string $dbuser
83
+ * @param string $dbpassword
84
+ * @param string $dbname
85
+ * @param string $dbhost
86
+ */
87
  function __construct() {
88
  $c = Dispatcher::config();
89
  $this->_config = $c;
222
  return $this->next_injection->_escape( $data );
223
  }
224
 
225
+ function prepare( $query, $args ) {
226
+ return $this->next_injection->prepare( $query, $args );
227
+ }
228
+
229
  /**
230
  * Initializes object, calls underlying processor
231
  */
639
  'singletables' => '*' );
640
  break;
641
  // options are updated on each second request,
642
+ // ignore by default probability that SELECTs with joins with options
643
  // are critical and don't flush "remaining".
644
  // That can be changed by w3tc_dbcache_get_flush_groups filter
645
  case 'options':
Dispatcher.php CHANGED
File without changes
Enterprise_CacheFlush_MakeSnsEvent.php CHANGED
@@ -82,18 +82,6 @@ class Enterprise_CacheFlush_MakeSnsEvent extends Enterprise_SnsBase {
82
  $this->_prepare_message( array( 'action' => 'opcache_flush' ) );
83
  }
84
 
85
- /**
86
- * Reloads/compiles a PHP file.
87
- *
88
- * @param string $filename
89
- * @return mixed
90
- */
91
- function opcache_flush_file( $filename ) {
92
- return $this->_prepare_message( array(
93
- 'action' => 'opcache_flush_file',
94
- 'filename' => $filename ) );
95
- }
96
-
97
  /**
98
  * Purges/Flushes post page
99
  *
82
  $this->_prepare_message( array( 'action' => 'opcache_flush' ) );
83
  }
84
 
 
 
 
 
 
 
 
 
 
 
 
 
85
  /**
86
  * Purges/Flushes post page
87
  *
Enterprise_Dbcache_WpdbInjection_Cluster.php CHANGED
@@ -452,11 +452,11 @@ class Enterprise_Dbcache_WpdbInjection_Cluster extends DbCache_WpdbInjection {
452
  }
453
 
454
  /*
455
- * Checks if this is our zone
456
- *
457
- * @param $zone array
458
- * @return boolean
459
- */
460
  function _is_current_zone( $zone ) {
461
  // obsolete
462
  if ( isset( $zone['SERVER_NAME'] ) ) {
@@ -480,10 +480,10 @@ class Enterprise_Dbcache_WpdbInjection_Cluster extends DbCache_WpdbInjection {
480
  }
481
 
482
  /*
483
- * Tries to reuse opened connection
484
- *
485
- * @return resource
486
- */
487
  function _db_connect_reuse_connection() {
488
  $dbhname = $this->dbhname;
489
 
@@ -640,6 +640,17 @@ class Enterprise_Dbcache_WpdbInjection_Cluster extends DbCache_WpdbInjection {
640
  return $this->wpdb_mixin->default__escape( $data );
641
  }
642
 
 
 
 
 
 
 
 
 
 
 
 
643
  /**
644
  * Whether or not MySQL database is at least the required minimum version.
645
  * The additional argument allows the caller to check a specific database.
452
  }
453
 
454
  /*
455
+ * Checks if this is our zone
456
+ *
457
+ * @param $zone array
458
+ * @return boolean
459
+ */
460
  function _is_current_zone( $zone ) {
461
  // obsolete
462
  if ( isset( $zone['SERVER_NAME'] ) ) {
480
  }
481
 
482
  /*
483
+ * Tries to reuse opened connection
484
+ *
485
+ * @return resource
486
+ */
487
  function _db_connect_reuse_connection() {
488
  $dbhname = $this->dbhname;
489
 
640
  return $this->wpdb_mixin->default__escape( $data );
641
  }
642
 
643
+ /**
644
+ * Prepare calls escape, so database connection required
645
+ **/
646
+ function prepare( $query, $args ) {
647
+ if ( !$this->wpdb_mixin->dbh ) {
648
+ $this->db_connect( $query );
649
+ }
650
+
651
+ return $this->wpdb_mixin->default_prepare( $query, $args );
652
+ }
653
+
654
  /**
655
  * Whether or not MySQL database is at least the required minimum version.
656
  * The additional argument allows the caller to check a specific database.
Enterprise_SnsBase.php CHANGED
File without changes
Enterprise_SnsServer.php CHANGED
@@ -120,8 +120,6 @@ class Enterprise_SnsServer extends Enterprise_SnsBase {
120
  $pgcache_admin->cleanup_local();
121
  elseif ( $action == 'opcache_flush' )
122
  $executor->opcache_flush();
123
- elseif ( $action == 'opcache_flush_file' )
124
- $executor->opcache_flush_file( $m['filename'] );
125
  elseif ( $action == 'flush_all' )
126
  $executor->flush_all(
127
  isset( $m['extras'] ) ? $m['extras'] : null );
120
  $pgcache_admin->cleanup_local();
121
  elseif ( $action == 'opcache_flush' )
122
  $executor->opcache_flush();
 
 
123
  elseif ( $action == 'flush_all' )
124
  $executor->flush_all(
125
  isset( $m['extras'] ) ? $m['extras'] : null );
Extension_Amp_Plugin.php CHANGED
File without changes
Extension_Amp_Plugin_Admin.php CHANGED
File without changes
Extension_CloudFlare_AdminActions.php CHANGED
File without changes
Extension_CloudFlare_Api.php CHANGED
File without changes
Extension_CloudFlare_GeneralPage_View.php CHANGED
File without changes
Extension_CloudFlare_Page.php CHANGED
File without changes
Extension_CloudFlare_Page_View.js CHANGED
File without changes
Extension_CloudFlare_Page_View.php CHANGED
File without changes
Extension_CloudFlare_Plugin.php CHANGED
File without changes
Extension_CloudFlare_Plugin_Admin.php CHANGED
File without changes
Extension_CloudFlare_Popup.php CHANGED
File without changes
Extension_CloudFlare_Popup_View_Intro.php CHANGED
File without changes
Extension_CloudFlare_Popup_View_Zones.php CHANGED
File without changes
Extension_CloudFlare_SettingsForUi.php CHANGED
File without changes
Extension_CloudFlare_View_Comments.css CHANGED
File without changes
Extension_CloudFlare_View_Comments.js CHANGED
File without changes
Extension_CloudFlare_View_Dashboard.js CHANGED
File without changes
Extension_CloudFlare_Widget.php CHANGED
File without changes
Extension_CloudFlare_Widget_Logo.png CHANGED
File without changes