W3 Total Cache - Version 0.9.5.3

Version Description

  • Fixed handling of HTTP compressed documents in PHP v5.3 (via amiga-500)
  • Fixed a bug with accelerated mobile pages (via nigrosimone)
  • Improved reliability of minify in manual mode
  • Improved JavaScript interoperability with CDATA use cases
  • Improved file name generation on Windows for IIS servers
  • Improved handling of # in URLs
  • Improved handling of exclusions for e-commerce in Genesis Framework
  • Improved handling of headers for Microsoft Azure
  • Improved functionality with existing Cloudfront Distributions when configuring Full Site Delivery
  • Improved minify debug logging
  • Improved handling of URLs that omit the protocol
  • Improved handling of custom files with CDN (via amiga-500)
  • Updated CSSTidy library (via nigrosimone and amiga-500)
  • Added Swarmify Video Optimization Extension [Hat tip the Swarmify Team]
  • Added flushing of AMP pages
Download this release

Release Info

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

Code changes from version 0.9.5.2 to 0.9.5.3

Files changed (859) hide show
  1. Base_Page_Settings.php +0 -0
  2. BrowserCache_ConfigLabels.php +0 -0
  3. BrowserCache_Core.php +38 -0
  4. BrowserCache_Environment.php +1 -0
  5. BrowserCache_Page.php +1 -0
  6. BrowserCache_Plugin.php +56 -31
  7. BrowserCache_Plugin_Admin.php +0 -0
  8. Cache.php +0 -0
  9. CacheFlush.php +0 -0
  10. CacheFlush_Locally.php +0 -0
  11. Cache_Apc.php +1 -1
  12. Cache_Apcu.php +1 -1
  13. Cache_Base.php +0 -0
  14. Cache_Eaccelerator.php +1 -1
  15. Cache_File.php +1 -1
  16. Cache_File_Cleaner.php +0 -0
  17. Cache_File_Cleaner_Generic.php +3 -3
  18. Cache_File_Generic.php +5 -5
  19. Cache_Memcache.php +1 -1
  20. Cache_Memcached.php +1 -1
  21. Cache_Memcached_Stats.php +0 -0
  22. Cache_Redis.php +1 -1
  23. Cache_Wincache.php +1 -1
  24. Cache_Xcache.php +1 -1
  25. CdnEngine.php +0 -0
  26. CdnEngine_Azure.php +18 -34
  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_Netdna.php +0 -0
  38. CdnEngine_Mirror_RackSpaceCdn.php +0 -0
  39. CdnEngine_RackSpaceCloudFiles.php +0 -0
  40. CdnEngine_S3.php +0 -0
  41. CdnEngine_S3_Cf.php +0 -0
  42. CdnEngine_S3_Cf_Custom.php +0 -0
  43. CdnEngine_S3_Cf_S3.php +0 -0
  44. CdnEngine_S3_Compatible.php +0 -0
  45. Cdn_AdminActions.php +0 -0
  46. Cdn_AdminNotes.php +0 -0
  47. Cdn_CacheFlush.php +0 -0
  48. Cdn_CloudFrontFsd_Api.php +0 -0
  49. Cdn_CloudFrontFsd_Engine.php +0 -0
  50. Cdn_CloudFrontFsd_Page.php +0 -0
  51. Cdn_CloudFrontFsd_Page_View.js +16 -0
  52. Cdn_CloudFrontFsd_Page_View.php +0 -0
  53. Cdn_CloudFrontFsd_Popup.php +43 -0
  54. Cdn_CloudFrontFsd_Popup_View_Distribution.php +9 -6
  55. Cdn_CloudFrontFsd_Popup_View_Distributions.php +0 -0
  56. Cdn_CloudFrontFsd_Popup_View_Intro.php +0 -0
  57. Cdn_CloudFrontFsd_Popup_View_Success.php +3 -3
  58. Cdn_ConfigLabels.php +0 -0
  59. Cdn_Core.php +5 -1
  60. Cdn_Core_Admin.php +1 -1
  61. Cdn_Environment.php +0 -0
  62. Cdn_Fsd_CacheFlush.php +0 -0
  63. Cdn_Fsd_Core.php +0 -0
  64. Cdn_Fsd_Util.php +0 -0
  65. Cdn_GeneralPage_View.php +1 -1
  66. Cdn_GoogleDrive_AdminActions.php +0 -0
  67. Cdn_GoogleDrive_Page.php +0 -0
  68. Cdn_GoogleDrive_Page_View.js +0 -0
  69. Cdn_GoogleDrive_Page_View.php +0 -0
  70. Cdn_GoogleDrive_Popup_AuthReturn.php +0 -0
  71. Cdn_GoogleDrive_Popup_AuthReturn_View.php +0 -0
  72. Cdn_Highwinds_Api.php +0 -0
  73. Cdn_Highwinds_Page.php +0 -0
  74. Cdn_Highwinds_Page_View.js +0 -0
  75. Cdn_Highwinds_Page_View.php +0 -0
  76. Cdn_Highwinds_Popup.php +0 -0
  77. Cdn_Highwinds_Popup_View_ConfigureCnamesForm.php +0 -0
  78. Cdn_Highwinds_Popup_View_Intro.php +0 -0
  79. Cdn_Highwinds_Popup_View_SelectHost.php +0 -0
  80. Cdn_Highwinds_Widget.php +0 -0
  81. Cdn_Highwinds_Widget_View.css +0 -0
  82. Cdn_Highwinds_Widget_View.js +0 -0
  83. Cdn_Highwinds_Widget_View.php +0 -0
  84. Cdn_Highwinds_Widget_View_NotConfigured.php +0 -0
  85. Cdn_MaxCdnFsd_Engine.php +0 -0
  86. Cdn_MaxCdnFsd_Page.php +0 -0
  87. Cdn_MaxCdnFsd_Page_View.js +0 -0
  88. Cdn_MaxCdnFsd_Page_View.php +0 -0
  89. Cdn_MaxCdnFsd_Popup.php +0 -0
  90. Cdn_MaxCdnFsd_Popup_View_Intro.php +0 -0
  91. Cdn_MaxCdnFsd_Popup_View_Success.php +3 -3
  92. Cdn_MaxCdnFsd_Popup_View_Zone.php +0 -0
  93. Cdn_MaxCdnFsd_Popup_View_Zones.php +0 -0
  94. Cdn_Page.php +0 -0
  95. Cdn_Page_View_Fsd_HeaderActions.php +1 -1
  96. Cdn_Page_View_Header.php +0 -0
  97. Cdn_Plugin.php +23 -11
  98. Cdn_Plugin_Admin.php +0 -0
  99. Cdn_Plugin_WidgetMaxCdn.php +2 -2
  100. Cdn_Plugin_WidgetNetDna.php +0 -0
  101. Cdn_RackSpaceCdn_AdminActions.php +0 -0
  102. Cdn_RackSpaceCdn_Page.php +0 -0
  103. Cdn_RackSpaceCdn_Page_View.js +0 -0
  104. Cdn_RackSpaceCdn_Page_View.php +0 -0
  105. Cdn_RackSpaceCdn_Popup.php +0 -0
  106. Cdn_RackSpaceCdn_Popup_View_ConfigureDomains.php +0 -0
  107. Cdn_RackSpaceCdn_Popup_View_Intro.php +0 -0
  108. Cdn_RackSpaceCdn_Popup_View_Regions.php +0 -0
  109. Cdn_RackSpaceCdn_Popup_View_Service_Actualize.php +0 -0
  110. Cdn_RackSpaceCdn_Popup_View_Service_Create.php +0 -0
  111. Cdn_RackSpaceCdn_Popup_View_Service_Created.php +4 -4
  112. Cdn_RackSpaceCdn_Popup_View_Services.php +0 -0
  113. Cdn_RackSpaceCloudFiles_Page.php +0 -0
  114. Cdn_RackSpaceCloudFiles_Page_View.js +0 -0
  115. Cdn_RackSpaceCloudFiles_Page_View.php +0 -0
  116. Cdn_RackSpaceCloudFiles_Popup.php +0 -0
  117. Cdn_RackSpaceCloudFiles_Popup_View_Containers.php +0 -0
  118. Cdn_RackSpaceCloudFiles_Popup_View_Intro.php +0 -0
  119. Cdn_RackSpaceCloudFiles_Popup_View_Regions.php +0 -0
  120. Cdn_RackSpace_Api_CaCert-example.pem +0 -0
  121. Cdn_RackSpace_Api_Cdn.php +0 -0
  122. Cdn_RackSpace_Api_CloudFiles.php +0 -0
  123. Cdn_RackSpace_Api_CloudFilesCdn.php +0 -0
  124. Cdn_RackSpace_Api_Tokens.php +0 -0
  125. Cdn_Util.php +1 -1
  126. Cli.php +0 -0
  127. Config.php +0 -0
  128. ConfigCompiler.php +20 -0
  129. ConfigKeys.php +26 -9
  130. ConfigState.php +0 -0
  131. ConfigStateNote.php +0 -0
  132. DbCache_ConfigLabels.php +0 -0
  133. DbCache_Core.php +0 -0
  134. DbCache_Environment.php +0 -0
  135. DbCache_Page.php +0 -0
  136. DbCache_Plugin.php +0 -0
  137. DbCache_Plugin_Admin.php +0 -0
  138. DbCache_Wpdb.php +0 -0
  139. DbCache_WpdbBase.php +0 -0
  140. DbCache_WpdbInjection.php +0 -0
  141. DbCache_WpdbInjection_QueryCaching.php +2 -2
  142. Dispatcher.php +0 -0
  143. Enterprise_CacheFlush_MakeSnsEvent.php +0 -0
  144. Enterprise_Dbcache_WpdbInjection_Cluster.php +0 -0
  145. Enterprise_SnsBase.php +0 -0
  146. Enterprise_SnsServer.php +0 -0
  147. Extension_Amp_Plugin.php +40 -5
  148. Extension_Amp_Plugin_Admin.php +0 -0
  149. Extension_CloudFlare_AdminActions.php +0 -0
  150. Extension_CloudFlare_Api.php +0 -0
  151. Extension_CloudFlare_GeneralPage_View.php +0 -0
  152. Extension_CloudFlare_Page.php +0 -0
  153. Extension_CloudFlare_Page_View.js +0 -0
  154. Extension_CloudFlare_Page_View.php +0 -0
  155. Extension_CloudFlare_Plugin.php +0 -0
  156. Extension_CloudFlare_Plugin_Admin.php +0 -0
  157. Extension_CloudFlare_Popup.php +0 -0
  158. Extension_CloudFlare_Popup_View_Intro.php +0 -0
  159. Extension_CloudFlare_Popup_View_Zones.php +0 -0
  160. Extension_CloudFlare_SettingsForUi.php +0 -0
  161. Extension_CloudFlare_View_Comments.css +0 -0
  162. Extension_CloudFlare_View_Comments.js +0 -0
  163. Extension_CloudFlare_View_Dashboard.js +0 -0
  164. Extension_CloudFlare_Widget.php +0 -0
  165. Extension_CloudFlare_Widget_Logo.png +0 -0
  166. Extension_CloudFlare_Widget_View.css +0 -0
  167. Extension_CloudFlare_Widget_View.php +0 -0
  168. Extension_FeedBurner_Environment.php +0 -0
  169. Extension_FeedBurner_Page.php +0 -0
  170. Extension_FeedBurner_Page_View.php +0 -0
  171. Extension_FeedBurner_Plugin.php +0 -0
  172. Extension_FeedBurner_Plugin_Admin.php +0 -0
  173. Extension_FragmentCache_Api.php +0 -0
  174. Extension_FragmentCache_Core.php +0 -0
  175. Extension_FragmentCache_Environment.php +0 -0
  176. Extension_FragmentCache_GeneralPage.php +0 -0
  177. Extension_FragmentCache_GeneralPage_View.php +0 -0
  178. Extension_FragmentCache_Page.php +0 -0
  179. Extension_FragmentCache_Page_View.php +0 -0
  180. Extension_FragmentCache_Plugin.php +0 -0
  181. Extension_FragmentCache_Plugin_Admin.php +0 -0
  182. Extension_FragmentCache_WpObjectCache.php +0 -0
  183. Extension_Genesis_Page.php +0 -0
  184. Extension_Genesis_Page_View.php +6 -0
  185. Extension_Genesis_Plugin.php +0 -0
  186. Extension_Genesis_Plugin_Admin.php +0 -0
  187. Extension_NewRelic_AdminActions.php +0 -0
  188. Extension_NewRelic_AdminNotes.php +0 -0
  189. Extension_NewRelic_Api.php +0 -0
  190. Extension_NewRelic_Core.php +0 -0
  191. Extension_NewRelic_GeneralPage.php +0 -0
  192. Extension_NewRelic_GeneralPage_View.php +0 -0
  193. Extension_NewRelic_Page.php +0 -0
  194. Extension_NewRelic_Page_View_Apm.php +0 -0
  195. Extension_NewRelic_Plugin.php +9 -1
  196. Extension_NewRelic_Plugin_Admin.php +0 -0
  197. Extension_NewRelic_Popup.php +0 -0
  198. Extension_NewRelic_Popup_View.js +0 -0
  199. Extension_NewRelic_Popup_View_Intro.php +0 -0
  200. Extension_NewRelic_Popup_View_ListApplications.php +0 -0
  201. Extension_NewRelic_Service.php +0 -0
  202. Extension_NewRelic_Widget.php +2 -2
  203. Extension_NewRelic_Widget_View.css +0 -0
  204. Extension_NewRelic_Widget_View.js +0 -0
  205. Extension_NewRelic_Widget_View_Apm.php +0 -0
  206. Extension_NewRelic_Widget_View_Browser.php +0 -0
  207. Extension_NewRelic_Widget_View_NotConfigured.php +0 -0
  208. Extension_Swarmify_AdminActions.php +18 -0
  209. Extension_Swarmify_Core.php +21 -0
  210. Extension_Swarmify_Page.php +30 -0
  211. Extension_Swarmify_Page_View.php +83 -0
  212. Extension_Swarmify_Plugin.php +146 -0
  213. Extension_Swarmify_Plugin_Admin.php +94 -0
  214. Extension_Swarmify_Widget.php +236 -0
  215. Extension_Swarmify_Widget_View.css +33 -0
  216. Extension_Swarmify_Widget_View_NotConfigured.php +17 -0
  217. Extension_WordPressSeo_Plugin.php +0 -0
  218. Extension_WordPressSeo_Plugin_Admin.php +0 -0
  219. Extension_Wpml_Plugin.php +0 -0
  220. Extension_Wpml_Plugin_Admin.php +0 -0
  221. Extensions_AdminActions.php +0 -0
  222. Extensions_Page.php +0 -0
  223. Extensions_Plugin_Admin.php +4 -0
  224. Extensions_Util.php +0 -0
  225. Generic_AdminActions_Config.php +0 -0
  226. Generic_AdminActions_Default.php +0 -0
  227. Generic_AdminActions_EdgeMode.php +0 -0
  228. Generic_AdminActions_Flush.php +18 -0
  229. Generic_AdminActions_Test.php +0 -0
  230. Generic_AdminLinks.php +0 -0
  231. Generic_AdminNotes.php +0 -0
  232. Generic_ConfigLabels.php +0 -0
  233. Generic_Environment.php +0 -0
  234. Generic_Faq.php +0 -0
  235. Generic_GeneralPage_View_ShowEdge.js +0 -0
  236. Generic_GeneralPage_View_ShowSupportUs.js +0 -0
  237. Generic_Page_About.php +0 -0
  238. Generic_Page_Dashboard.php +0 -0
  239. Generic_Page_Dashboard_View.css +0 -0
  240. Generic_Page_Faq.php +0 -0
  241. Generic_Page_General.php +0 -0
  242. Generic_Page_Install.php +0 -0
  243. Generic_Plugin.php +12 -3
  244. Generic_Plugin_Admin.php +4 -4
  245. Generic_Plugin_AdminCompatibility.php +0 -0
  246. Generic_Plugin_AdminNotifications.php +0 -0
  247. Generic_Plugin_AdminRowActions.php +0 -0
  248. Generic_Plugin_WidgetForum.php +0 -0
  249. Generic_Plugin_WidgetNews.php +0 -0
  250. Generic_WidgetServices.php +0 -0
  251. Generic_WidgetServices_View.php +0 -0
  252. Generic_WidgetSpreadTheWord.js +0 -0
  253. Generic_WidgetSpreadTheWord_Plugin.php +0 -0
  254. Generic_WidgetSpreadTheWord_View.php +0 -0
  255. Licensing_AdminActions.php +0 -0
  256. Licensing_Core.php +0 -0
  257. Licensing_Plugin_Admin.php +11 -0
  258. Minify_ConfigLabels.php +2 -0
  259. Minify_ContentMinifier.php +2 -0
  260. Minify_Core.php +0 -0
  261. Minify_Environment.php +21 -21
  262. Minify_Extract.php +0 -0
  263. Minify_GeneralPage_View_ShowHelp.js +0 -0
  264. Minify_GeneralPage_View_ShowHelpForce.js +0 -0
  265. Minify_HelpPopup_View.php +0 -0
  266. Minify_MinifiedFileRequestHandler.php +5 -3
  267. Minify_Page.php +0 -0
  268. Minify_Plugin.php +37 -26
  269. Minify_Plugin_Admin.php +1 -1
  270. Mobile_Base.php +0 -0
  271. Mobile_Page_ReferrerGroups.php +0 -0
  272. Mobile_Page_UserAgentGroups.php +0 -0
  273. Mobile_Redirect.php +0 -0
  274. Mobile_Referrer.php +0 -0
  275. Mobile_UserAgent.php +0 -0
  276. ModuleStatus.php +0 -0
  277. ObjectCache_ConfigLabels.php +0 -0
  278. ObjectCache_Environment.php +0 -0
  279. ObjectCache_Page.php +0 -0
  280. ObjectCache_Plugin.php +0 -0
  281. ObjectCache_Plugin_Admin.php +0 -0
  282. ObjectCache_WpObjectCache.php +0 -0
  283. ObjectCache_WpObjectCache_Regular.php +0 -0
  284. PageSpeed_Api.php +0 -0
  285. PageSpeed_Plugin_Widget.php +3 -2
  286. PageSpeed_Widget_View.css +0 -0
  287. PageSpeed_Widget_View.js +0 -0
  288. PageSpeed_Widget_View.php +0 -0
  289. PageSpeed_Widget_View_NotConfigured.php +0 -0
  290. PgCache_ConfigLabels.php +0 -0
  291. PgCache_ContentGrabber.php +4 -2
  292. PgCache_Environment.php +4 -0
  293. PgCache_Flush.php +5 -4
  294. PgCache_Page.php +0 -0
  295. PgCache_Plugin.php +0 -0
  296. PgCache_Plugin_Admin.php +0 -0
  297. Root_AdminActions.php +0 -0
  298. Root_AdminActivation.php +1 -2
  299. Root_AdminMenu.php +0 -0
  300. Root_Environment.php +8 -9
  301. Root_Loader.php +0 -0
  302. Support_AdminActions.php +0 -0
  303. Support_Page.php +0 -0
  304. Support_Page_View_DoneContent.php +0 -0
  305. Support_Page_View_PageContent.php +0 -0
  306. SystemOpCache_AdminActions.php +0 -0
  307. SystemOpCache_Core.php +0 -0
  308. SystemOpCache_GeneralPage_View.php +0 -0
  309. SystemOpCache_Plugin_Admin.php +0 -0
  310. UsageStatistics_Core.php +0 -0
  311. UsageStatistics_Plugin.php +0 -0
  312. UsageStatistics_Plugin_Admin.php +0 -0
  313. UsageStatistics_StorageReader.php +0 -0
  314. UsageStatistics_StorageWriter.php +0 -0
  315. UsageStatistics_View_General.php +0 -0
  316. UsageStatistics_Widget.php +3 -3
  317. UsageStatistics_Widget_View.css +0 -0
  318. UsageStatistics_Widget_View.js +0 -0
  319. UsageStatistics_Widget_View.php +0 -0
  320. UsageStatistics_Widget_View_Disabled.php +0 -0
  321. Util_Activation.php +0 -0
  322. Util_Admin.php +2 -0
  323. Util_AttachToActions.php +0 -0
  324. Util_Bus.php +0 -0
  325. Util_ConfigLabel.php +0 -0
  326. Util_Content.php +0 -0
  327. Util_Debug.php +0 -0
  328. Util_Environment.php +17 -0
  329. Util_Environment_Exception.php +0 -0
  330. Util_Environment_Exceptions.php +0 -0
  331. Util_File.php +0 -0
  332. Util_Http.php +0 -0
  333. Util_Installed.php +0 -0
  334. Util_Mime.php +0 -0
  335. Util_PageUrls.php +5 -5
  336. Util_Request.php +0 -0
  337. Util_Rule.php +4 -1
  338. Util_RuleSnippet.php +0 -0
  339. Util_Theme.php +0 -0
  340. Util_Ui.php +4 -0
  341. Util_UsageStatistics.php +0 -0
  342. Util_Widget.php +0 -0
  343. Util_WpFile.php +0 -0
  344. Util_WpFile_FilesystemChmodException.php +0 -0
  345. Util_WpFile_FilesystemCopyException.php +0 -0
  346. Util_WpFile_FilesystemMkdirException.php +0 -0
  347. Util_WpFile_FilesystemModifyException.php +0 -0
  348. Util_WpFile_FilesystemOperationException.php +0 -0
  349. Util_WpFile_FilesystemRmException.php +0 -0
  350. Util_WpFile_FilesystemRmdirException.php +0 -0
  351. Util_WpFile_FilesystemWriteException.php +0 -0
  352. Util_WpmuBlogmap.php +0 -0
  353. Varnish_Flush.php +11 -10
  354. Varnish_Plugin.php +0 -0
  355. changelog.txt +0 -0
  356. extension-example/Extension_Example.php +0 -0
  357. extension-example/Extension_Example_Admin.php +0 -0
  358. extension-example/Extension_Example_Page_View.php +0 -0
  359. extension-example/w3-total-cache-example.php +0 -0
  360. inc/define.php +0 -0
  361. inc/email/index.html +0 -0
  362. inc/email/minify_error_notification.html +0 -0
  363. inc/email/minify_error_notification.php +0 -0
  364. inc/email/support_request.php +0 -0
  365. inc/error.php +0 -0
  366. inc/index.html +0 -0
  367. inc/lightbox/cdn_s3_bucket_location.php +0 -0
  368. inc/lightbox/create_netdna_maxcdn_pull_zone.php +0 -0
  369. inc/lightbox/edge.php +0 -0
  370. inc/lightbox/index.html +0 -0
  371. inc/lightbox/minify_recommendations.php +0 -0
  372. inc/lightbox/purchase.php +0 -0
  373. inc/lightbox/self_test.php +1 -1
  374. inc/lightbox/support_us.php +0 -0
  375. inc/lightbox/upgrade.php +0 -0
  376. inc/mime/all.php +0 -0
  377. inc/mime/cssjs.php +0 -0
  378. inc/mime/html.php +0 -0
  379. inc/mime/index.html +0 -0
  380. inc/mime/other.php +0 -0
  381. inc/options/about.php +0 -0
  382. inc/options/browsercache.php +20 -0
  383. inc/options/cdn.php +0 -0
  384. inc/options/cdn/akamai.php +0 -0
  385. inc/options/cdn/att.php +0 -0
  386. inc/options/cdn/azure.php +0 -0
  387. inc/options/cdn/cf.php +0 -0
  388. inc/options/cdn/cf2.php +0 -0
  389. inc/options/cdn/common/cnames-readonly.php +0 -0
  390. inc/options/cdn/common/cnames.php +0 -0
  391. inc/options/cdn/common/index.html +0 -0
  392. inc/options/cdn/cotendo.php +0 -0
  393. inc/options/cdn/edgecast.php +0 -0
  394. inc/options/cdn/ftp.php +0 -0
  395. inc/options/cdn/index.html +0 -0
  396. inc/options/cdn/maxcdn.php +0 -0
  397. inc/options/cdn/mirror.php +0 -0
  398. inc/options/cdn/netdna.php +0 -0
  399. inc/options/cdn/rscf.php +0 -0
  400. inc/options/cdn/s3.php +0 -0
  401. inc/options/cdn/s3_compatible.php +0 -0
  402. inc/options/common/footer.php +0 -0
  403. inc/options/common/header.php +0 -0
  404. inc/options/common/help.php +0 -0
  405. inc/options/common/index.html +0 -0
  406. inc/options/dashboard.php +0 -0
  407. inc/options/dbcache.php +0 -0
  408. inc/options/edd/buy.php +0 -0
  409. inc/options/enterprise/dbcluster-config.php +0 -0
  410. inc/options/enterprise/dbcluster_general_section.php +0 -0
  411. inc/options/extensions.php +0 -0
  412. inc/options/extensions/list.php +0 -0
  413. inc/options/extensions/settings.php +0 -0
  414. inc/options/faq.php +0 -0
  415. inc/options/general.php +2 -2
  416. inc/options/index.html +0 -0
  417. inc/options/install.php +0 -0
  418. inc/options/minify.php +6 -6
  419. inc/options/minify/ccjs.php +0 -0
  420. inc/options/minify/ccjs2.php +0 -0
  421. inc/options/minify/css.php +1 -1
  422. inc/options/minify/csstidy.php +7 -4
  423. inc/options/minify/csstidy2.php +38 -37
  424. inc/options/minify/googleccjs2.php +0 -0
  425. inc/options/minify/html.php +0 -0
  426. inc/options/minify/htmltidy.php +0 -0
  427. inc/options/minify/htmltidy2.php +0 -0
  428. inc/options/minify/index.html +0 -0
  429. inc/options/minify/js.php +0 -0
  430. inc/options/minify/yuicss2.php +0 -0
  431. inc/options/minify/yuijs.php +0 -0
  432. inc/options/minify/yuijs2.php +0 -0
  433. inc/options/mobile.php +0 -0
  434. inc/options/objectcache.php +0 -0
  435. inc/options/parts/memcached.php +1 -1
  436. inc/options/parts/memcached_extension.php +1 -1
  437. inc/options/parts/redis.php +0 -0
  438. inc/options/parts/redis_extension.php +0 -0
  439. inc/options/pgcache.php +1 -1
  440. inc/options/referrer.php +0 -0
  441. inc/options/support.php +0 -0
  442. inc/popup/cdn_export_file.php +0 -0
  443. inc/popup/cdn_export_library.php +0 -0
  444. inc/popup/cdn_import_library.php +0 -0
  445. inc/popup/cdn_purge.php +0 -0
  446. inc/popup/cdn_queue.php +0 -0
  447. inc/popup/cdn_rename_domain.php +0 -0
  448. inc/popup/common/footer.php +0 -0
  449. inc/popup/common/header.php +0 -0
  450. inc/popup/common/index.html +0 -0
  451. inc/popup/index.html +0 -0
  452. inc/popup/pagespeed_results.php +0 -0
  453. inc/widget/index.html +0 -0
  454. inc/widget/latest.php +0 -0
  455. inc/widget/latest_ajax.php +0 -0
  456. inc/widget/latest_control.php +0 -0
  457. inc/widget/latest_news.php +0 -0
  458. inc/widget/latest_news_ajax.php +0 -0
  459. inc/widget/latest_news_control.php +0 -0
  460. inc/widget/maxcdn.php +0 -0
  461. inc/widget/maxcdn_signup.php +0 -0
  462. inc/widget/netdna.php +0 -0
  463. inc/widget/netdna_signup.php +0 -0
  464. index.html +0 -0
  465. ini/apc.ini +0 -0
  466. ini/dbcluster-config-sample.php +0 -0
  467. ini/eaccelerator.ini +0 -0
  468. ini/index.html +0 -0
  469. ini/memcache.ini +0 -0
  470. ini/nginx-network-sample-config.conf +0 -0
  471. ini/nginx-standalone-sample-config.conf +0 -0
  472. ini/opcache.ini +0 -0
  473. ini/php.append.ini +0 -0
  474. ini/s3-sample-policy.txt +0 -0
  475. ini/varnish-sample-config.vcl +0 -0
  476. ini/web.config +36 -0
  477. ini/xcache.ini +0 -0
  478. languages/ar.mo +0 -0
  479. languages/faq-en_US.xml +1 -1
  480. languages/faq-enterprise-en_US.xml +0 -0
  481. languages/faq-pro-en_US.xml +0 -0
  482. languages/w3-total-cache-ar_AR.po +1 -1
  483. languages/w3-total-cache-nl_NL.mo +0 -0
  484. languages/w3-total-cache-nl_NL.po +1 -1
  485. languages/w3-total-cache-pl_PL.po +1 -1
  486. languages/w3-total-cache-sr_RS.mo +0 -0
  487. languages/w3-total-cache-sr_RS.po +1 -1
  488. languages/w3-total-cache.pot +1 -1
  489. lib/Azure/GuzzleHttp/Client.php +0 -0
  490. lib/Azure/GuzzleHttp/ClientInterface.php +0 -0
  491. lib/Azure/GuzzleHttp/Cookie/CookieJar.php +0 -0
  492. lib/Azure/GuzzleHttp/Cookie/CookieJarInterface.php +0 -0
  493. lib/Azure/GuzzleHttp/Cookie/FileCookieJar.php +0 -0
  494. lib/Azure/GuzzleHttp/Cookie/SessionCookieJar.php +0 -0
  495. lib/Azure/GuzzleHttp/Cookie/SetCookie.php +0 -0
  496. lib/Azure/GuzzleHttp/Exception/BadResponseException.php +0 -0
  497. lib/Azure/GuzzleHttp/Exception/ClientException.php +0 -0
  498. lib/Azure/GuzzleHttp/Exception/ConnectException.php +0 -0
  499. lib/Azure/GuzzleHttp/Exception/GuzzleException.php +0 -0
  500. lib/Azure/GuzzleHttp/Exception/RequestException.php +0 -0
  501. lib/Azure/GuzzleHttp/Exception/SeekException.php +0 -0
  502. lib/Azure/GuzzleHttp/Exception/ServerException.php +0 -0
  503. lib/Azure/GuzzleHttp/Exception/TooManyRedirectsException.php +0 -0
  504. lib/Azure/GuzzleHttp/Exception/TransferException.php +0 -0
  505. lib/Azure/GuzzleHttp/Handler/CurlFactory.php +0 -0
  506. lib/Azure/GuzzleHttp/Handler/CurlFactoryInterface.php +0 -0
  507. lib/Azure/GuzzleHttp/Handler/CurlHandler.php +0 -0
  508. lib/Azure/GuzzleHttp/Handler/CurlMultiHandler.php +0 -0
  509. lib/Azure/GuzzleHttp/Handler/EasyHandle.php +0 -0
  510. lib/Azure/GuzzleHttp/Handler/MockHandler.php +0 -0
  511. lib/Azure/GuzzleHttp/Handler/Proxy.php +0 -0
  512. lib/Azure/GuzzleHttp/Handler/StreamHandler.php +0 -0
  513. lib/Azure/GuzzleHttp/HandlerStack.php +0 -0
  514. lib/Azure/GuzzleHttp/MessageFormatter.php +0 -0
  515. lib/Azure/GuzzleHttp/Middleware.php +0 -0
  516. lib/Azure/GuzzleHttp/Pool.php +0 -0
  517. lib/Azure/GuzzleHttp/PrepareBodyMiddleware.php +0 -0
  518. lib/Azure/GuzzleHttp/Promise/AggregateException.php +0 -0
  519. lib/Azure/GuzzleHttp/Promise/CancellationException.php +0 -0
  520. lib/Azure/GuzzleHttp/Promise/Coroutine.php +0 -0
  521. lib/Azure/GuzzleHttp/Promise/EachPromise.php +0 -0
  522. lib/Azure/GuzzleHttp/Promise/FulfilledPromise.php +0 -0
  523. lib/Azure/GuzzleHttp/Promise/Promise.php +0 -0
  524. lib/Azure/GuzzleHttp/Promise/PromiseInterface.php +0 -0
  525. lib/Azure/GuzzleHttp/Promise/PromisorInterface.php +0 -0
  526. lib/Azure/GuzzleHttp/Promise/RejectedPromise.php +0 -0
  527. lib/Azure/GuzzleHttp/Promise/RejectionException.php +0 -0
  528. lib/Azure/GuzzleHttp/Promise/TaskQueue.php +0 -0
  529. lib/Azure/GuzzleHttp/Promise/TaskQueueInterface.php +0 -0
  530. lib/Azure/GuzzleHttp/Promise/functions.php +0 -0
  531. lib/Azure/GuzzleHttp/Promise/functions_include.php +0 -0
  532. lib/Azure/GuzzleHttp/Psr7/AppendStream.php +0 -0
  533. lib/Azure/GuzzleHttp/Psr7/BufferStream.php +0 -0
  534. lib/Azure/GuzzleHttp/Psr7/CachingStream.php +0 -0
  535. lib/Azure/GuzzleHttp/Psr7/DroppingStream.php +0 -0
  536. lib/Azure/GuzzleHttp/Psr7/FnStream.php +0 -0
  537. lib/Azure/GuzzleHttp/Psr7/InflateStream.php +0 -0
  538. lib/Azure/GuzzleHttp/Psr7/LazyOpenStream.php +0 -0
  539. lib/Azure/GuzzleHttp/Psr7/LimitStream.php +0 -0
  540. lib/Azure/GuzzleHttp/Psr7/MessageTrait.php +0 -0
  541. lib/Azure/GuzzleHttp/Psr7/MultipartStream.php +0 -0
  542. lib/Azure/GuzzleHttp/Psr7/NoSeekStream.php +0 -0
  543. lib/Azure/GuzzleHttp/Psr7/PumpStream.php +0 -0
  544. lib/Azure/GuzzleHttp/Psr7/Request.php +0 -0
  545. lib/Azure/GuzzleHttp/Psr7/Response.php +0 -0
  546. lib/Azure/GuzzleHttp/Psr7/ServerRequest.php +0 -0
  547. lib/Azure/GuzzleHttp/Psr7/Stream.php +0 -0
  548. lib/Azure/GuzzleHttp/Psr7/StreamDecoratorTrait.php +0 -0
  549. lib/Azure/GuzzleHttp/Psr7/StreamWrapper.php +0 -0
  550. lib/Azure/GuzzleHttp/Psr7/UploadedFile.php +0 -0
  551. lib/Azure/GuzzleHttp/Psr7/Uri.php +0 -0
  552. lib/Azure/GuzzleHttp/Psr7/functions.php +0 -0
  553. lib/Azure/GuzzleHttp/Psr7/functions_include.php +0 -0
  554. lib/Azure/GuzzleHttp/RedirectMiddleware.php +0 -0
  555. lib/Azure/GuzzleHttp/RequestOptions.php +0 -0
  556. lib/Azure/GuzzleHttp/RetryMiddleware.php +0 -0
  557. lib/Azure/GuzzleHttp/TransferStats.php +0 -0
  558. lib/Azure/GuzzleHttp/UriTemplate.php +0 -0
  559. lib/Azure/GuzzleHttp/functions.php +0 -0
  560. lib/Azure/GuzzleHttp/functions_include.php +0 -0
  561. lib/Azure/MicrosoftAzureStorage/Blob/BlobRestProxy.php +0 -0
  562. lib/Azure/MicrosoftAzureStorage/Blob/Internal/IBlob.php +0 -0
  563. lib/Azure/MicrosoftAzureStorage/Blob/Models/AccessCondition.php +0 -0
  564. lib/Azure/MicrosoftAzureStorage/Blob/Models/AccessPolicy.php +0 -0
  565. lib/Azure/MicrosoftAzureStorage/Blob/Models/AcquireLeaseOptions.php +0 -0
  566. lib/Azure/MicrosoftAzureStorage/Blob/Models/AcquireLeaseResult.php +0 -0
  567. lib/Azure/MicrosoftAzureStorage/Blob/Models/Blob.php +0 -0
  568. lib/Azure/MicrosoftAzureStorage/Blob/Models/BlobBlockType.php +0 -0
  569. lib/Azure/MicrosoftAzureStorage/Blob/Models/BlobPrefix.php +0 -0
  570. lib/Azure/MicrosoftAzureStorage/Blob/Models/BlobProperties.php +0 -0
  571. lib/Azure/MicrosoftAzureStorage/Blob/Models/BlobServiceOptions.php +0 -0
  572. lib/Azure/MicrosoftAzureStorage/Blob/Models/BlobType.php +0 -0
  573. lib/Azure/MicrosoftAzureStorage/Blob/Models/Block.php +0 -0
  574. lib/Azure/MicrosoftAzureStorage/Blob/Models/BlockList.php +0 -0
  575. lib/Azure/MicrosoftAzureStorage/Blob/Models/BreakLeaseResult.php +0 -0
  576. lib/Azure/MicrosoftAzureStorage/Blob/Models/CommitBlobBlocksOptions.php +0 -0
  577. lib/Azure/MicrosoftAzureStorage/Blob/Models/Container.php +0 -0
  578. lib/Azure/MicrosoftAzureStorage/Blob/Models/ContainerACL.php +0 -0
  579. lib/Azure/MicrosoftAzureStorage/Blob/Models/ContainerProperties.php +0 -0
  580. lib/Azure/MicrosoftAzureStorage/Blob/Models/CopyBlobOptions.php +0 -0
  581. lib/Azure/MicrosoftAzureStorage/Blob/Models/CopyBlobResult.php +0 -0
  582. lib/Azure/MicrosoftAzureStorage/Blob/Models/CreateBlobBlockOptions.php +0 -0
  583. lib/Azure/MicrosoftAzureStorage/Blob/Models/CreateBlobOptions.php +0 -0
  584. lib/Azure/MicrosoftAzureStorage/Blob/Models/CreateBlobPagesOptions.php +0 -0
  585. lib/Azure/MicrosoftAzureStorage/Blob/Models/CreateBlobPagesResult.php +0 -0
  586. lib/Azure/MicrosoftAzureStorage/Blob/Models/CreateBlobSnapshotOptions.php +0 -0
  587. lib/Azure/MicrosoftAzureStorage/Blob/Models/CreateBlobSnapshotResult.php +0 -0
  588. lib/Azure/MicrosoftAzureStorage/Blob/Models/CreateContainerOptions.php +0 -0
  589. lib/Azure/MicrosoftAzureStorage/Blob/Models/DeleteBlobOptions.php +0 -0
  590. lib/Azure/MicrosoftAzureStorage/Blob/Models/DeleteContainerOptions.php +0 -0
  591. lib/Azure/MicrosoftAzureStorage/Blob/Models/GetBlobMetadataOptions.php +0 -0
  592. lib/Azure/MicrosoftAzureStorage/Blob/Models/GetBlobMetadataResult.php +0 -0
  593. lib/Azure/MicrosoftAzureStorage/Blob/Models/GetBlobOptions.php +0 -0
  594. lib/Azure/MicrosoftAzureStorage/Blob/Models/GetBlobPropertiesOptions.php +0 -0
  595. lib/Azure/MicrosoftAzureStorage/Blob/Models/GetBlobPropertiesResult.php +0 -0
  596. lib/Azure/MicrosoftAzureStorage/Blob/Models/GetBlobResult.php +0 -0
  597. lib/Azure/MicrosoftAzureStorage/Blob/Models/GetContainerACLResult.php +0 -0
  598. lib/Azure/MicrosoftAzureStorage/Blob/Models/GetContainerPropertiesResult.php +0 -0
  599. lib/Azure/MicrosoftAzureStorage/Blob/Models/LeaseMode.php +0 -0
  600. lib/Azure/MicrosoftAzureStorage/Blob/Models/ListBlobBlocksOptions.php +0 -0
  601. lib/Azure/MicrosoftAzureStorage/Blob/Models/ListBlobBlocksResult.php +0 -0
  602. lib/Azure/MicrosoftAzureStorage/Blob/Models/ListBlobsOptions.php +0 -0
  603. lib/Azure/MicrosoftAzureStorage/Blob/Models/ListBlobsResult.php +0 -0
  604. lib/Azure/MicrosoftAzureStorage/Blob/Models/ListContainersOptions.php +0 -0
  605. lib/Azure/MicrosoftAzureStorage/Blob/Models/ListContainersResult.php +0 -0
  606. lib/Azure/MicrosoftAzureStorage/Blob/Models/ListPageBlobRangesOptions.php +0 -0
  607. lib/Azure/MicrosoftAzureStorage/Blob/Models/ListPageBlobRangesResult.php +0 -0
  608. lib/Azure/MicrosoftAzureStorage/Blob/Models/PageRange.php +0 -0
  609. lib/Azure/MicrosoftAzureStorage/Blob/Models/PageWriteOption.php +0 -0
  610. lib/Azure/MicrosoftAzureStorage/Blob/Models/PublicAccessType.php +0 -0
  611. lib/Azure/MicrosoftAzureStorage/Blob/Models/SetBlobMetadataOptions.php +0 -0
  612. lib/Azure/MicrosoftAzureStorage/Blob/Models/SetBlobMetadataResult.php +0 -0
  613. lib/Azure/MicrosoftAzureStorage/Blob/Models/SetBlobPropertiesOptions.php +0 -0
  614. lib/Azure/MicrosoftAzureStorage/Blob/Models/SetBlobPropertiesResult.php +0 -0
  615. lib/Azure/MicrosoftAzureStorage/Blob/Models/SetContainerMetadataOptions.php +0 -0
  616. lib/Azure/MicrosoftAzureStorage/Blob/Models/SignedIdentifier.php +0 -0
  617. lib/Azure/MicrosoftAzureStorage/Common/CloudConfigurationManager.php +0 -0
  618. lib/Azure/MicrosoftAzureStorage/Common/Internal/Authentication/IAuthScheme.php +0 -0
  619. lib/Azure/MicrosoftAzureStorage/Common/Internal/Authentication/SharedKeyAuthScheme.php +0 -0
  620. lib/Azure/MicrosoftAzureStorage/Common/Internal/Authentication/StorageAuthScheme.php +0 -0
  621. lib/Azure/MicrosoftAzureStorage/Common/Internal/Authentication/TableSharedKeyLiteAuthScheme.php +0 -0
  622. lib/Azure/MicrosoftAzureStorage/Common/Internal/ConnectionStringParser.php +0 -0
  623. lib/Azure/MicrosoftAzureStorage/Common/Internal/ConnectionStringSource.php +0 -0
  624. lib/Azure/MicrosoftAzureStorage/Common/Internal/FilterableService.php +0 -0
  625. lib/Azure/MicrosoftAzureStorage/Common/Internal/Filters/AuthenticationFilter.php +0 -0
  626. lib/Azure/MicrosoftAzureStorage/Common/Internal/Filters/DateFilter.php +0 -0
  627. lib/Azure/MicrosoftAzureStorage/Common/Internal/Filters/ExponentialRetryPolicy.php +0 -0
  628. lib/Azure/MicrosoftAzureStorage/Common/Internal/Filters/HeadersFilter.php +0 -0
  629. lib/Azure/MicrosoftAzureStorage/Common/Internal/Filters/RetryPolicy.php +0 -0
  630. lib/Azure/MicrosoftAzureStorage/Common/Internal/Filters/RetryPolicyFilter.php +0 -0
  631. lib/Azure/MicrosoftAzureStorage/Common/Internal/Http/HttpCallContext.php +0 -0
  632. lib/Azure/MicrosoftAzureStorage/Common/Internal/HttpFormatter.php +0 -0
  633. lib/Azure/MicrosoftAzureStorage/Common/Internal/IServiceFilter.php +0 -0
  634. lib/Azure/MicrosoftAzureStorage/Common/Internal/InvalidArgumentTypeException.php +0 -0
  635. lib/Azure/MicrosoftAzureStorage/Common/Internal/Logger.php +0 -0
  636. lib/Azure/MicrosoftAzureStorage/Common/Internal/Resources.php +0 -0
  637. lib/Azure/MicrosoftAzureStorage/Common/Internal/RestProxy.php +0 -0
  638. lib/Azure/MicrosoftAzureStorage/Common/Internal/RetryMiddlewareFactory.php +0 -0
  639. lib/Azure/MicrosoftAzureStorage/Common/Internal/Serialization/ISerializer.php +0 -0
  640. lib/Azure/MicrosoftAzureStorage/Common/Internal/Serialization/JsonSerializer.php +0 -0
  641. lib/Azure/MicrosoftAzureStorage/Common/Internal/Serialization/XmlSerializer.php +0 -0
  642. lib/Azure/MicrosoftAzureStorage/Common/Internal/ServiceRestProxy.php +0 -0
  643. lib/Azure/MicrosoftAzureStorage/Common/Internal/ServiceSettings.php +0 -0
  644. lib/Azure/MicrosoftAzureStorage/Common/Internal/StorageServiceSettings.php +0 -0
  645. lib/Azure/MicrosoftAzureStorage/Common/Internal/Utilities.php +0 -0
  646. lib/Azure/MicrosoftAzureStorage/Common/Internal/Validate.php +0 -0
  647. lib/Azure/MicrosoftAzureStorage/Common/Models/GetServicePropertiesResult.php +0 -0
  648. lib/Azure/MicrosoftAzureStorage/Common/Models/Logging.php +0 -0
  649. lib/Azure/MicrosoftAzureStorage/Common/Models/Metrics.php +0 -0
  650. lib/Azure/MicrosoftAzureStorage/Common/Models/RetentionPolicy.php +0 -0
  651. lib/Azure/MicrosoftAzureStorage/Common/Models/ServiceProperties.php +0 -0
  652. lib/Azure/MicrosoftAzureStorage/Common/ServiceException.php +0 -0
  653. lib/Azure/MicrosoftAzureStorage/Common/ServicesBuilder.php +0 -0
  654. lib/Azure/PsrHttpMessage/MessageInterface.php +0 -0
  655. lib/Azure/PsrHttpMessage/RequestInterface.php +0 -0
  656. lib/Azure/PsrHttpMessage/ResponseInterface.php +0 -0
  657. lib/Azure/PsrHttpMessage/ServerRequestInterface.php +0 -0
  658. lib/Azure/PsrHttpMessage/StreamInterface.php +0 -0
  659. lib/Azure/PsrHttpMessage/UploadedFileInterface.php +0 -0
  660. lib/Azure/PsrHttpMessage/UriInterface.php +0 -0
  661. lib/Azure/loader.php +0 -0
  662. lib/CSSTidy/class.csstidy.php +1192 -894
  663. lib/CSSTidy/class.csstidy_optimise.php +937 -782
  664. lib/CSSTidy/class.csstidy_print.php +421 -323
  665. lib/CSSTidy/data.inc.php +541 -366
  666. lib/CSSTidy/index.html +0 -0
  667. lib/Db/mssql.php +0 -0
  668. lib/Google/Auth/Abstract.php +0 -0
  669. lib/Google/Auth/AppIdentity.php +0 -0
  670. lib/Google/Auth/AssertionCredentials.php +0 -0
  671. lib/Google/Auth/Exception.php +0 -0
  672. lib/Google/Auth/LoginTicket.php +0 -0
  673. lib/Google/Auth/OAuth2.php +0 -0
  674. lib/Google/Auth/Simple.php +0 -0
  675. lib/Google/Cache/Abstract.php +0 -0
  676. lib/Google/Cache/Apc.php +0 -0
  677. lib/Google/Cache/Exception.php +0 -0
  678. lib/Google/Cache/File.php +0 -0
  679. lib/Google/Cache/Memcache.php +0 -0
  680. lib/Google/Cache/Null.php +0 -0
  681. lib/Google/Client.php +0 -0
  682. lib/Google/Collection.php +0 -0
  683. lib/Google/Config.php +0 -0
  684. lib/Google/Exception.php +0 -0
  685. lib/Google/Http/Batch.php +0 -0
  686. lib/Google/Http/CacheParser.php +0 -0
  687. lib/Google/Http/MediaFileUpload.php +0 -0
  688. lib/Google/Http/REST.php +0 -0
  689. lib/Google/Http/Request.php +0 -0
  690. lib/Google/IO/Abstract.php +0 -0
  691. lib/Google/IO/Curl.php +0 -0
  692. lib/Google/IO/Exception.php +0 -0
  693. lib/Google/IO/Stream.php +0 -0
  694. lib/Google/IO/cacerts.pem +0 -0
  695. lib/Google/Model.php +0 -0
  696. lib/Google/Service.php +0 -0
  697. lib/Google/Service/Drive.php +0 -0
  698. lib/Google/Service/Exception.php +0 -0
  699. lib/Google/Service/Oauth2.php +0 -0
  700. lib/Google/Service/Resource.php +0 -0
  701. lib/Google/Signer/Abstract.php +0 -0
  702. lib/Google/Signer/P12.php +0 -0
  703. lib/Google/Utils.php +0 -0
  704. lib/Google/Utils/URITemplate.php +0 -0
  705. lib/Google/Verifier/Abstract.php +0 -0
  706. lib/Google/Verifier/Pem.php +0 -0
  707. lib/Minify/CSSmin.php +0 -0
  708. lib/Minify/DooDigestAuth.php +0 -0
  709. lib/Minify/HTTP/ConditionalGet.php +0 -0
  710. lib/Minify/HTTP/Encoder.php +0 -0
  711. lib/Minify/HTTP/index.html +0 -0
  712. lib/Minify/JSMin.php +0 -0
  713. lib/Minify/JSMinPlus.php +0 -0
  714. lib/Minify/Minify.php +75 -75
  715. lib/Minify/Minify/Build.php +0 -0
  716. lib/Minify/Minify/CSS.php +0 -0
  717. lib/Minify/Minify/CSS/Compressor.php +0 -0
  718. lib/Minify/Minify/CSS/UriRewriter.php +0 -0
  719. lib/Minify/Minify/CSS/index.html +0 -0
  720. lib/Minify/Minify/CSSTidy.php +7 -5
  721. lib/Minify/Minify/Cache/File.php +290 -291
  722. lib/Minify/Minify/Cache/W3TCDerived.php +0 -0
  723. lib/Minify/Minify/Cache/ZendPlatform.php +0 -0
  724. lib/Minify/Minify/Cache/index.html +0 -0
  725. lib/Minify/Minify/ClosureCompiler.php +0 -0
  726. lib/Minify/Minify/CombineOnly.php +0 -0
  727. lib/Minify/Minify/CommentPreserver.php +0 -0
  728. lib/Minify/Minify/Controller/Base.php +0 -0
  729. lib/Minify/Minify/Controller/Files.php +0 -0
  730. lib/Minify/Minify/Controller/Groups.php +0 -0
  731. lib/Minify/Minify/Controller/MinApp.php +0 -0
  732. lib/Minify/Minify/Controller/Page.php +0 -0
  733. lib/Minify/Minify/Controller/Version1.php +0 -0
  734. lib/Minify/Minify/Controller/index.html +0 -0
  735. lib/Minify/Minify/DebugDetector.php +0 -0
  736. lib/Minify/Minify/HTML.php +34 -32
  737. lib/Minify/Minify/HTML/Helper.php +0 -0
  738. lib/Minify/Minify/HTMLTidy.php +0 -0
  739. lib/Minify/Minify/IgnoredCommentPreserver.php +0 -0
  740. lib/Minify/Minify/ImportProcessor.php +0 -0
  741. lib/Minify/Minify/Inline.php +0 -0
  742. lib/Minify/Minify/Inline/CSS.php +0 -0
  743. lib/Minify/Minify/Inline/JavaScript.php +0 -0
  744. lib/Minify/Minify/Inline/index.html +0 -0
  745. lib/Minify/Minify/JS/ClosureCompiler.php +0 -0
  746. lib/Minify/Minify/Lines.php +0 -0
  747. lib/Minify/Minify/Loader.php +0 -0
  748. lib/Minify/Minify/Logger.php +0 -0
  749. lib/Minify/Minify/Packer.php +0 -0
  750. lib/Minify/Minify/Source.php +0 -0
  751. lib/Minify/Minify/YUI/CssCompressor.java +0 -0
  752. lib/Minify/Minify/YUI/CssCompressor.php +0 -0
  753. lib/Minify/Minify/YUICompressor.php +0 -0
  754. lib/Minify/Minify/index.html +0 -0
  755. lib/Minify/index.html +0 -0
  756. lib/NetDNA/NetDNA.php +0 -0
  757. lib/NetDNA/NetDNAPresentation.php +0 -0
  758. lib/NetDNA/W3tcWpHttpException.php +0 -0
  759. lib/NewRelic/NewRelicAPI.php +0 -0
  760. lib/NewRelic/NewRelicWrapper.php +0 -0
  761. lib/Nusoap/class.nusoap_base.php +0 -0
  762. lib/Nusoap/class.soap_fault.php +0 -0
  763. lib/Nusoap/class.soap_parser.php +0 -0
  764. lib/Nusoap/class.soap_transport_http.php +0 -0
  765. lib/Nusoap/class.soap_val.php +0 -0
  766. lib/Nusoap/class.soapclient.php +0 -0
  767. lib/Nusoap/class.wsdl.php +0 -0
  768. lib/Nusoap/class.wsdlcache.php +0 -0
  769. lib/Nusoap/class.xmlschema.php +0 -0
  770. lib/Nusoap/index.html +0 -0
  771. lib/Nusoap/nusoap.php +0 -0
  772. lib/OAuth/W3tcOAuth.php +0 -0
  773. lib/S3.php +0 -0
  774. lib/SNS/README.md +0 -0
  775. lib/SNS/lib/requestcore/LICENSE +0 -0
  776. lib/SNS/lib/requestcore/README.md +0 -0
  777. lib/SNS/lib/requestcore/cacert.pem +0 -0
  778. lib/SNS/lib/requestcore/requestcore.class.php +0 -0
  779. lib/SNS/sdk.class.php +0 -0
  780. lib/SNS/services/MessageValidator/Message.php +0 -0
  781. lib/SNS/services/MessageValidator/MessageValidator.php +0 -0
  782. lib/SNS/services/MessageValidator/sns-exceptions.php +0 -0
  783. lib/SNS/services/sns.class.php +0 -0
  784. lib/SNS/utilities/request.class.php +0 -0
  785. lib/SNS/utilities/response.class.php +0 -0
  786. lib/SNS/utilities/simplexml.class.php +0 -0
  787. lib/SNS/utilities/utilities.class.php +0 -0
  788. lib/index.html +0 -0
  789. press.txt +485 -0
  790. pub/css/error.css +0 -0
  791. pub/css/index.html +0 -0
  792. pub/css/lightbox.css +0 -0
  793. pub/css/options.css +0 -0
  794. pub/css/popup.css +0 -0
  795. pub/css/widget.css +0 -0
  796. pub/img/W3TC_dashboard_logo_title-retina.png +0 -0
  797. pub/img/W3TC_dashboard_logo_title.png +0 -0
  798. pub/img/button-grad-active.png +0 -0
  799. pub/img/button-grad.png +0 -0
  800. pub/img/cdn-highwinds-logo.png +0 -0
  801. pub/img/close.png +0 -0
  802. pub/img/google-logo.png +0 -0
  803. pub/img/index.html +0 -0
  804. pub/img/open.png +0 -0
  805. pub/img/overlay/ceo.png +0 -0
  806. pub/img/overlay/gray-check.png +0 -0
  807. pub/img/overlay/list-check.png +0 -0
  808. pub/img/overlay/lite-gray-check.png +0 -0
  809. pub/img/overlay/lock.png +0 -0
  810. pub/img/overlay/overlay-close.png +0 -0
  811. pub/img/overlay/overlay-down-arrow.png +0 -0
  812. pub/img/overlay/overlay-logo.png +0 -0
  813. pub/img/overlay/save-close.png +0 -0
  814. pub/img/overlay/select-arrow.png +0 -0
  815. pub/img/overlay/twitter-bird-dark-bgs.png +0 -0
  816. pub/img/overlay/w3-meteor.png +0 -0
  817. pub/img/overlay/wordpress-logo-simplified-rgb.png +0 -0
  818. pub/img/ps_bar.gif +0 -0
  819. pub/img/ps_grad.gif +0 -0
  820. pub/img/ps_scores.png +0 -0
  821. pub/img/sidebar-background.png +0 -0
  822. pub/img/w3tc-sprite-admin-bar.png +0 -0
  823. pub/img/w3tc-sprite-retina.png +0 -0
  824. pub/img/w3tc-sprite.png +0 -0
  825. pub/img/w3tc_google-logo-retina.png +0 -0
  826. pub/img/w3tc_google-logo.png +0 -0
  827. pub/img/w3tc_maxcdn-logo-retina.png +0 -0
  828. pub/img/w3tc_maxcdn-logo.png +0 -0
  829. pub/img/w3tc_netdna-logo-retina.png +0 -0
  830. pub/img/w3tc_netdna-logo.png +0 -0
  831. pub/img/w3tc_newrelic-logo-retina.png +0 -0
  832. pub/img/w3tc_newrelic-logo.png +0 -0
  833. pub/img/w3tc_swarmify-logo-retina.png +0 -0
  834. pub/img/w3tc_swarmify-logo.png +0 -0
  835. pub/img/w3tc_w3edge-logo-retina.png +0 -0
  836. pub/img/w3tc_w3edge-logo.png +0 -0
  837. pub/img/w3tc_w3tc-logo-retina.png +0 -0
  838. pub/img/w3tc_w3tc-logo.png +0 -0
  839. pub/img/white-grad-active.png +0 -0
  840. pub/img/white-grad.png +0 -0
  841. pub/img/wpspin_light.gif +0 -0
  842. pub/index.html +0 -0
  843. pub/js/index.html +0 -0
  844. pub/js/jquery.masonry.min.js +0 -0
  845. pub/js/lightbox.js +0 -0
  846. pub/js/metadata.js +0 -0
  847. pub/js/options.js +4 -0
  848. pub/js/popup.js +0 -0
  849. pub/js/widget.js +0 -0
  850. pub/opcache.php +0 -0
  851. pub/sns.php +0 -0
  852. readme.txt +25 -491
  853. w3-total-cache-api.php +1 -1
  854. w3-total-cache-old-php.php +0 -0
  855. w3-total-cache.php +1 -1
  856. wp-content/advanced-cache.php +0 -0
  857. wp-content/db.php +0 -0
  858. wp-content/index.html +0 -0
  859. wp-content/object-cache.php +0 -0
Base_Page_Settings.php CHANGED
File without changes
BrowserCache_ConfigLabels.php CHANGED
File without changes
BrowserCache_Core.php CHANGED
@@ -35,6 +35,44 @@ class BrowserCache_Core {
35
 
36
 
37
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
38
  /**
39
  * Returns CSS/JS mime types
40
  *
35
 
36
 
37
 
38
+ /**
39
+ * Returns replace extensions
40
+ *
41
+ * @return array
42
+ */
43
+ public function get_replace_querystring_extensions( $config ) {
44
+ $extensions = array();
45
+
46
+ if ( $config->get_boolean( 'browsercache.cssjs.replace' ) )
47
+ $this->_fill_extensions( $extensions, $this->_get_cssjs_types(), 'replace' );
48
+ if ( $config->get_boolean( 'browsercache.html.replace' ) )
49
+ $this->_fill_extensions( $extensions, $this->_get_html_types(), 'replace' );
50
+ if ( $config->get_boolean( 'browsercache.other.replace' ) )
51
+ $this->_fill_extensions( $extensions, $this->_get_other_types(), 'replace' );
52
+
53
+ if ( $config->get_boolean( 'browsercache.cssjs.querystring' ) )
54
+ $this->_fill_extensions( $extensions, $this->_get_cssjs_types(), 'querystring' );
55
+ if ( $config->get_boolean( 'browsercache.html.querystring' ) )
56
+ $this->_fill_extensions( $extensions, $this->_get_html_types(), 'querystring' );
57
+ if ( $config->get_boolean( 'browsercache.other.querystring' ) )
58
+ $this->_fill_extensions( $extensions, $this->_get_other_types(), 'querystring' );
59
+
60
+ return $extensions;
61
+ }
62
+
63
+
64
+
65
+ private function _fill_extensions( &$extensions, $types, $operation ) {
66
+ foreach ( array_keys( $types ) as $type ) {
67
+ $type_extensions = explode( '|', $type );
68
+ foreach ( $type_extensions as $ext ) {
69
+ if ( !isset( $extensions[$ext] ) )
70
+ $extensions[$ext] = array();
71
+ $extensions[$ext][$operation] = true;
72
+ }
73
+ }
74
+ }
75
+
76
  /**
77
  * Returns CSS/JS mime types
78
  *
BrowserCache_Environment.php CHANGED
@@ -258,6 +258,7 @@ class BrowserCache_Environment {
258
 
259
  $rules .= "</IfModule>\n";
260
 
 
261
  $rules .= "<IfModule mod_expires.c>\n";
262
  $rules .= " ExpiresActive On\n";
263
 
258
 
259
  $rules .= "</IfModule>\n";
260
 
261
+
262
  $rules .= "<IfModule mod_expires.c>\n";
263
  $rules .= " ExpiresActive On\n";
264
 
BrowserCache_Page.php CHANGED
@@ -26,6 +26,7 @@ class BrowserCache_Page extends Base_Page_Settings {
26
  $browsercache_w3tc = ( $this->_config->get_boolean( 'browsercache.cssjs.w3tc' ) && $this->_config->get_boolean( 'browsercache.html.w3tc' ) && $this->_config->get_boolean( 'browsercache.other.w3tc' ) );
27
  $browsercache_compression = ( $this->_config->get_boolean( 'browsercache.cssjs.compression' ) && $this->_config->get_boolean( 'browsercache.html.compression' ) && $this->_config->get_boolean( 'browsercache.other.compression' ) );
28
  $browsercache_replace = ( $this->_config->get_boolean( 'browsercache.cssjs.replace' ) && $this->_config->get_boolean( 'browsercache.other.replace' ) );
 
29
  $browsercache_update_media_qs = ( $this->_config->get_boolean( 'browsercache.cssjs.replace' ) || $this->_config->get_boolean( 'browsercache.other.replace' ) );
30
  $browsercache_nocookies =
31
  ( $this->_config->get_boolean( 'browsercache.cssjs.nocookies' ) &&
26
  $browsercache_w3tc = ( $this->_config->get_boolean( 'browsercache.cssjs.w3tc' ) && $this->_config->get_boolean( 'browsercache.html.w3tc' ) && $this->_config->get_boolean( 'browsercache.other.w3tc' ) );
27
  $browsercache_compression = ( $this->_config->get_boolean( 'browsercache.cssjs.compression' ) && $this->_config->get_boolean( 'browsercache.html.compression' ) && $this->_config->get_boolean( 'browsercache.other.compression' ) );
28
  $browsercache_replace = ( $this->_config->get_boolean( 'browsercache.cssjs.replace' ) && $this->_config->get_boolean( 'browsercache.other.replace' ) );
29
+ $browsercache_querystring = ( $this->_config->get_boolean( 'browsercache.cssjs.querystring' ) && $this->_config->get_boolean( 'browsercache.other.querystring' ) );
30
  $browsercache_update_media_qs = ( $this->_config->get_boolean( 'browsercache.cssjs.replace' ) || $this->_config->get_boolean( 'browsercache.other.replace' ) );
31
  $browsercache_nocookies =
32
  ( $this->_config->get_boolean( 'browsercache.cssjs.nocookies' ) &&
BrowserCache_Plugin.php CHANGED
@@ -51,7 +51,12 @@ class BrowserCache_Plugin {
51
  /**
52
  * Replace feature should be enabled
53
  */
54
- if ( !$this->_config->get_boolean( 'browsercache.cssjs.replace' ) && !$this->_config->get_boolean( 'browsercache.html.replace' ) && !$this->_config->get_boolean( 'browsercache.other.replace' ) ) {
 
 
 
 
 
55
  return false;
56
  }
57
 
@@ -121,7 +126,7 @@ class BrowserCache_Plugin {
121
  $buffer = preg_replace_callback(
122
  '~(href|src|action|extsrc|asyncsrc|w3tc_load_js\()=?([\'"])((' .
123
  $domain_url_regexp .
124
- ')?(/[^\'"]*\.([a-z-_]+)(\?[^\'"]*)?))[\'"]~Ui', array(
125
  $this,
126
  'link_replace_callback'
127
  ), $buffer );
@@ -139,10 +144,11 @@ class BrowserCache_Plugin {
139
  function link_replace_callback( $matches ) {
140
  list ( $match, $attr, $quote, $url, , , , , $extension ) = $matches;
141
 
142
- if ( !$this->_url_has_to_be_replaced( $url, $extension ) )
 
143
  return $match;
144
 
145
- $url = $this->mutate_url( $url, !$this->browsercache_rewrite );
146
 
147
  if ( $attr != 'w3tc_load_js(' )
148
  return $attr . '=' . $quote . $url . $quote;
@@ -162,64 +168,83 @@ class BrowserCache_Plugin {
162
  return $url;
163
  $extension = $matches[1];
164
 
165
- if ( !$this->_url_has_to_be_replaced( $original_url, $extension ) )
 
166
  return $url;
167
 
168
  // for push cdns each flush would require manual reupload of files
169
  $mutate_by_querystring = !$this->browsercache_rewrite || !$is_cdn_mirror;
170
 
171
- $url = $this->mutate_url( $url, $mutate_by_querystring );
172
  return $url;
173
  }
174
 
175
- private function mutate_url( $url, $mutate_by_querystring ) {
176
- $id = $this->get_filename_uniqualizator();
177
-
178
- $url = Util_Environment::remove_query( $url );
179
  $query_pos = strpos( $url, '?' );
 
 
 
 
180
 
181
- if ( $mutate_by_querystring ) {
182
- $url .= ( $query_pos !== false ? '&amp;' : '?' ) . $id;
183
- } else {
184
- // add $id to url before extension
185
-
186
- $url_query = '';
187
- if ( $query_pos !== false ) {
188
- $url_query = substr( $url, $query_pos );
189
- $url = substr( $url, 0, $query_pos );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
190
  }
191
-
192
- $ext_pos = strrpos( $url, '.' );
193
- $extension = substr( $url, $ext_pos );
194
-
195
- $url = substr( $url, 0, strlen( $url ) - strlen( $extension ) ) . '.' .
196
- $id . $extension . $url_query;
197
  }
 
198
  return $url;
199
  }
200
 
201
- function _url_has_to_be_replaced( $url, $extension ) {
202
  static $extensions = null;
203
  if ( $extensions === null ) {
204
  $core = Dispatcher::component( 'BrowserCache_Core' );
205
- $extensions = $core->get_replace_extensions( $this->_config );
206
  }
207
 
208
  static $exceptions = null;
209
  if ( $exceptions === null )
210
  $exceptions = $this->_config->get_array( 'browsercache.replace.exceptions' );
211
 
212
- if ( !in_array( $extension, $extensions ) )
213
- return false;
214
 
215
  $test_url = Util_Environment::remove_query( $url );
216
  foreach ( $exceptions as $exception ) {
217
  $escaped = str_replace( '~', '\~', $exception );
218
  if ( trim( $exception ) && preg_match( '~' . $escaped . '~', $test_url ) )
219
- return false;
220
  }
221
 
222
- return true;
223
  }
224
 
225
  /**
51
  /**
52
  * Replace feature should be enabled
53
  */
54
+ if ( !$this->_config->get_boolean( 'browsercache.cssjs.replace' ) &&
55
+ !$this->_config->get_boolean( 'browsercache.html.replace' ) &&
56
+ !$this->_config->get_boolean( 'browsercache.other.replace' ) &&
57
+ !$this->_config->get_boolean( 'browsercache.cssjs.querystring' ) &&
58
+ !$this->_config->get_boolean( 'browsercache.html.querystring' ) &&
59
+ !$this->_config->get_boolean( 'browsercache.other.querystring' )) {
60
  return false;
61
  }
62
 
126
  $buffer = preg_replace_callback(
127
  '~(href|src|action|extsrc|asyncsrc|w3tc_load_js\()=?([\'"])((' .
128
  $domain_url_regexp .
129
+ ')?(/[^\'"/][^\'"]*\.([a-z-_]+)([\?#][^\'"]*)?))[\'"]~Ui', array(
130
  $this,
131
  'link_replace_callback'
132
  ), $buffer );
144
  function link_replace_callback( $matches ) {
145
  list ( $match, $attr, $quote, $url, , , , , $extension ) = $matches;
146
 
147
+ $ops = $this->_get_url_mutation_operations( $url, $extension );
148
+ if ( is_null( $ops ) )
149
  return $match;
150
 
151
+ $url = $this->mutate_url( $url, $ops, !$this->browsercache_rewrite );
152
 
153
  if ( $attr != 'w3tc_load_js(' )
154
  return $attr . '=' . $quote . $url . $quote;
168
  return $url;
169
  $extension = $matches[1];
170
 
171
+ $ops = $this->_get_url_mutation_operations( $original_url, $extension );
172
+ if ( is_null( $ops ) )
173
  return $url;
174
 
175
  // for push cdns each flush would require manual reupload of files
176
  $mutate_by_querystring = !$this->browsercache_rewrite || !$is_cdn_mirror;
177
 
178
+ $url = $this->mutate_url( $url, $ops, $mutate_by_querystring );
179
  return $url;
180
  }
181
 
182
+ private function mutate_url( $url, $ops, $mutate_by_querystring ) {
 
 
 
183
  $query_pos = strpos( $url, '?' );
184
+ if ( isset( $ops['querystring'] ) && $query_pos !== false ) {
185
+ $url = substr( $url, 0, $query_pos );
186
+ $query_pos == false;
187
+ }
188
 
189
+ if ( isset( $ops['replace'] ) ) {
190
+ $id = $this->get_filename_uniqualizator();
191
+
192
+ if ( $mutate_by_querystring ) {
193
+ if ( $query_pos !== false ) {
194
+ $url = substr( $url, 0, $query_pos + 1 ) . $id . '&amp;' .
195
+ substr( $url, $query_pos + 1 );
196
+ } else {
197
+ $tag_pos = strpos( $url, '#' );
198
+ if ( $tag_pos === false ) {
199
+ $url .= '?' . $id;
200
+ } else {
201
+ $url = substr( $url, 0, $tag_pos ) . '?' . $id .
202
+ substr( $url, $tag_pos );
203
+ }
204
+ }
205
+
206
+ } else {
207
+ // add $id to url before extension
208
+
209
+ $url_query = '';
210
+ if ( $query_pos !== false ) {
211
+ $url_query = substr( $url, $query_pos );
212
+ $url = substr( $url, 0, $query_pos );
213
+ }
214
+
215
+ $ext_pos = strrpos( $url, '.' );
216
+ $extension = substr( $url, $ext_pos );
217
+
218
+ $url = substr( $url, 0, strlen( $url ) - strlen( $extension ) ) .
219
+ '.' . $id . $extension . $url_query;
220
  }
 
 
 
 
 
 
221
  }
222
+
223
  return $url;
224
  }
225
 
226
+ function _get_url_mutation_operations( $url, $extension ) {
227
  static $extensions = null;
228
  if ( $extensions === null ) {
229
  $core = Dispatcher::component( 'BrowserCache_Core' );
230
+ $extensions = $core->get_replace_querystring_extensions( $this->_config );
231
  }
232
 
233
  static $exceptions = null;
234
  if ( $exceptions === null )
235
  $exceptions = $this->_config->get_array( 'browsercache.replace.exceptions' );
236
 
237
+ if ( !isset( $extensions[$extension] ) )
238
+ return null;
239
 
240
  $test_url = Util_Environment::remove_query( $url );
241
  foreach ( $exceptions as $exception ) {
242
  $escaped = str_replace( '~', '\~', $exception );
243
  if ( trim( $exception ) && preg_match( '~' . $escaped . '~', $test_url ) )
244
+ return null;
245
  }
246
 
247
+ return $extensions[$extension];
248
  }
249
 
250
  /**
BrowserCache_Plugin_Admin.php CHANGED
File without changes
Cache.php CHANGED
File without changes
CacheFlush.php CHANGED
File without changes
CacheFlush_Locally.php CHANGED
File without changes
Cache_Apc.php CHANGED
@@ -130,7 +130,7 @@ class Cache_Apc extends Cache_Base {
130
  }
131
 
132
  /**
133
- * Key to delete, deletes .old and primary if exists.
134
  *
135
  * @param unknown $key
136
  * @return bool
130
  }
131
 
132
  /**
133
+ * Deletes _old and primary if exists.
134
  *
135
  * @param unknown $key
136
  * @return bool
Cache_Apcu.php CHANGED
@@ -129,7 +129,7 @@ class Cache_Apcu extends Cache_Base {
129
  }
130
 
131
  /**
132
- * Key to delete, deletes .old and primary if exists.
133
  *
134
  * @param unknown $key
135
  * @return bool
129
  }
130
 
131
  /**
132
+ * Deletes _old and primary if exists.
133
  *
134
  * @param unknown $key
135
  * @return bool
Cache_Base.php CHANGED
File without changes
Cache_Eaccelerator.php CHANGED
@@ -130,7 +130,7 @@ class Cache_Eaccelerator extends Cache_Base {
130
 
131
 
132
  /**
133
- * Key to delete, deletes .old and primary if exists.
134
  *
135
  * @param unknown $key
136
  * @return bool
130
 
131
 
132
  /**
133
+ * Deletes _old and primary if exists.
134
  *
135
  * @param unknown $key
136
  * @return bool
Cache_File.php CHANGED
@@ -253,7 +253,7 @@ class Cache_File extends Cache_Base {
253
  }
254
 
255
  /**
256
- * Key to delete, deletes .old and primary if exists.
257
  *
258
  * @param string $key
259
  *
253
  }
254
 
255
  /**
256
+ * Deletes _old and primary if exists.
257
  *
258
  * @param string $key
259
  *
Cache_File_Cleaner.php CHANGED
File without changes
Cache_File_Cleaner_Generic.php CHANGED
@@ -47,7 +47,7 @@ class Cache_File_Cleaner_Generic extends Cache_File_Cleaner {
47
 
48
  $full_path = $path . DIRECTORY_SEPARATOR . $entry;
49
 
50
- if ( substr( $entry, -4 ) === '.old' && !$this->is_old_file_expired( $full_path ) ) {
51
  continue;
52
  }
53
 
@@ -60,11 +60,11 @@ class Cache_File_Cleaner_Generic extends Cache_File_Cleaner {
60
 
61
  if ( @is_dir( $full_path ) ) {
62
  $this->_clean( $full_path );
63
- } elseif ( substr( $entry, -4 ) === '.old' ) {
64
  $this->processed_count++;
65
  @unlink( $full_path );
66
  } elseif ( !$this->is_valid( $full_path ) ) {
67
- $old_entry_path = $full_path . '.old';
68
  $this->processed_count++;
69
  if ( !@rename( $full_path, $old_entry_path ) ) {
70
  // if we can delete old entry - do second attempt to store in old-entry file
47
 
48
  $full_path = $path . DIRECTORY_SEPARATOR . $entry;
49
 
50
+ if ( substr( $entry, -4 ) === '_old' && !$this->is_old_file_expired( $full_path ) ) {
51
  continue;
52
  }
53
 
60
 
61
  if ( @is_dir( $full_path ) ) {
62
  $this->_clean( $full_path );
63
+ } elseif ( substr( $entry, -4 ) === '_old' ) {
64
  $this->processed_count++;
65
  @unlink( $full_path );
66
  } elseif ( !$this->is_valid( $full_path ) ) {
67
+ $old_entry_path = $full_path . '_old';
68
  $this->processed_count++;
69
  if ( !@rename( $full_path, $old_entry_path ) ) {
70
  // if we can delete old entry - do second attempt to store in old-entry file
Cache_File_Generic.php CHANGED
@@ -80,7 +80,7 @@ class Cache_File_Generic extends Cache_File {
80
 
81
  @unlink( $tmppath );
82
 
83
- $old_entry_path = $path . '.old';
84
  @unlink( $old_entry_path );
85
 
86
  if ( Util_Environment::is_apache() && isset( $var['headers'] ) &&
@@ -115,7 +115,7 @@ class Cache_File_Generic extends Cache_File {
115
  return array( $data, $has_old_data );
116
 
117
 
118
- $path_old = $path . '.old';
119
  $too_old_time = time() - 30;
120
 
121
  if ( $exists = file_exists( $path_old ) ) {
@@ -186,7 +186,7 @@ class Cache_File_Generic extends Cache_File {
186
  if ( !file_exists( $path ) )
187
  return true;
188
 
189
- $old_entry_path = $path . '.old';
190
  if ( ! @rename( $path, $old_entry_path ) ) {
191
  // if we can delete old entry - do second attempt to store in old-entry file
192
  if ( ! @unlink( $old_entry_path ) || ! @rename( $path, $old_entry_path ) ) {
@@ -199,7 +199,7 @@ class Cache_File_Generic extends Cache_File {
199
  }
200
 
201
  /**
202
- * Key to delete, deletes .old and primary if exists.
203
  *
204
  * @param unknown $key
205
  * @return bool
@@ -207,7 +207,7 @@ class Cache_File_Generic extends Cache_File {
207
  function hard_delete( $key ) {
208
  $key = $this->get_item_key( $key );
209
  $path = $this->_cache_dir . DIRECTORY_SEPARATOR . $this->_get_path( $key );
210
- $old_entry_path = $path . '.old';
211
  @unlink( $old_entry_path );
212
 
213
  if ( !file_exists( $path ) )
80
 
81
  @unlink( $tmppath );
82
 
83
+ $old_entry_path = $path . '_old';
84
  @unlink( $old_entry_path );
85
 
86
  if ( Util_Environment::is_apache() && isset( $var['headers'] ) &&
115
  return array( $data, $has_old_data );
116
 
117
 
118
+ $path_old = $path . '_old';
119
  $too_old_time = time() - 30;
120
 
121
  if ( $exists = file_exists( $path_old ) ) {
186
  if ( !file_exists( $path ) )
187
  return true;
188
 
189
+ $old_entry_path = $path . '_old';
190
  if ( ! @rename( $path, $old_entry_path ) ) {
191
  // if we can delete old entry - do second attempt to store in old-entry file
192
  if ( ! @unlink( $old_entry_path ) || ! @rename( $path, $old_entry_path ) ) {
199
  }
200
 
201
  /**
202
+ * Key to delete, deletes _old and primary if exists.
203
  *
204
  * @param unknown $key
205
  * @return bool
207
  function hard_delete( $key ) {
208
  $key = $this->get_item_key( $key );
209
  $path = $this->_cache_dir . DIRECTORY_SEPARATOR . $this->_get_path( $key );
210
+ $old_entry_path = $path . '_old';
211
  @unlink( $old_entry_path );
212
 
213
  if ( !file_exists( $path ) )
Cache_Memcache.php CHANGED
@@ -155,7 +155,7 @@ class Cache_Memcache extends Cache_Base {
155
  }
156
 
157
  /**
158
- * Key to delete, deletes .old and primary if exists.
159
  *
160
  * @param unknown $key
161
  * @return bool
155
  }
156
 
157
  /**
158
+ * Key to delete, deletes _old and primary if exists.
159
  *
160
  * @param unknown $key
161
  * @return bool
Cache_Memcached.php CHANGED
@@ -193,7 +193,7 @@ class Cache_Memcached extends Cache_Base {
193
  }
194
 
195
  /**
196
- * Key to delete, deletes .old and primary if exists.
197
  *
198
  * @param unknown $key
199
  * @return bool
193
  }
194
 
195
  /**
196
+ * Key to delete, deletes _old and primary if exists.
197
  *
198
  * @param unknown $key
199
  * @return bool
Cache_Memcached_Stats.php CHANGED
File without changes
Cache_Redis.php CHANGED
@@ -148,7 +148,7 @@ class Cache_Redis extends Cache_Base {
148
  }
149
 
150
  /**
151
- * Key to delete, deletes .old and primary if exists.
152
  *
153
  * @param unknown $key
154
  * @return bool
148
  }
149
 
150
  /**
151
+ * Key to delete, deletes _old and primary if exists.
152
  *
153
  * @param unknown $key
154
  * @return bool
Cache_Wincache.php CHANGED
@@ -126,7 +126,7 @@ class Cache_Wincache extends Cache_Base {
126
  }
127
 
128
  /**
129
- * Key to delete, deletes .old and primary if exists.
130
  *
131
  * @param unknown $key
132
  * @return bool
126
  }
127
 
128
  /**
129
+ * Key to delete, deletes _old and primary if exists.
130
  *
131
  * @param unknown $key
132
  * @return bool
Cache_Xcache.php CHANGED
@@ -130,7 +130,7 @@ class Cache_Xcache extends Cache_Base {
130
  }
131
 
132
  /**
133
- * Key to delete, deletes .old and primary if exists.
134
  *
135
  * @param unknown $key
136
  * @return bool
130
  }
131
 
132
  /**
133
+ * Key to delete, deletes _old and primary if exists.
134
  *
135
  * @param unknown $key
136
  * @return bool
CdnEngine.php CHANGED
File without changes
CdnEngine_Azure.php CHANGED
@@ -27,7 +27,7 @@ class CdnEngine_Azure extends CdnEngine_Base {
27
 
28
  parent::__construct( $config );
29
 
30
- require_once W3TC_LIB_DIR . DIRECTORY_SEPARATOR . 'Azure' .
31
  DIRECTORY_SEPARATOR . 'loader.php';
32
  }
33
 
@@ -66,7 +66,7 @@ class CdnEngine_Azure extends CdnEngine_Base {
66
  $error = $ex->getMessage();
67
  return false;
68
  }
69
-
70
 
71
  return true;
72
  }
@@ -138,13 +138,24 @@ class CdnEngine_Azure extends CdnEngine_Base {
138
  }
139
 
140
  $headers = $this->_get_headers( $file );
141
- $headers = array_merge( $headers, array(
142
- 'Content-MD5' => $content_md5
143
- ) );
144
 
145
  try {
146
  // $headers
147
- $this->_client->createBlockBlob( $this->_config['container'], $remote_path, $contents );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
148
  } catch ( \Exception $exception ) {
149
  return $this->_get_result( $local_path, $remote_path,
150
  W3TC_CDN_RESULT_ERROR,
@@ -177,7 +188,7 @@ class CdnEngine_Azure extends CdnEngine_Base {
177
  $remote_path = $file['remote_path'];
178
 
179
  try {
180
- $this->_client->deleteBlob( $this->_config['container'], $remote_path );
181
  $results[] = $this->_get_result( $local_path, $remote_path,
182
  W3TC_CDN_RESULT_OK, 'OK', $file );
183
  } catch ( \Exception $exception ) {
@@ -387,33 +398,6 @@ class CdnEngine_Azure extends CdnEngine_Base {
387
  return false;
388
  }
389
 
390
- /**
391
- * Returns array of headers
392
- *
393
- * @param array $file CDN file array
394
- * @return array
395
- */
396
- function _get_headers( $file, $block_expires = false ) {
397
- $allowed_headers = array(
398
- 'Content-Length',
399
- 'Content-Type',
400
- 'Content-Encoding',
401
- 'Content-Language',
402
- 'Content-MD5',
403
- 'Cache-Control',
404
- );
405
-
406
- $headers = parent::_get_headers( $file, true );
407
-
408
- foreach ( $headers as $header => $value ) {
409
- if ( !in_array( $header, $allowed_headers ) ) {
410
- unset( $headers[$header] );
411
- }
412
- }
413
-
414
- return $headers;
415
- }
416
-
417
  /**
418
  * How and if headers should be set
419
  *
27
 
28
  parent::__construct( $config );
29
 
30
+ require_once W3TC_LIB_DIR . DIRECTORY_SEPARATOR . 'Azure' .
31
  DIRECTORY_SEPARATOR . 'loader.php';
32
  }
33
 
66
  $error = $ex->getMessage();
67
  return false;
68
  }
69
+
70
 
71
  return true;
72
  }
138
  }
139
 
140
  $headers = $this->_get_headers( $file );
 
 
 
141
 
142
  try {
143
  // $headers
144
+ $options = new \MicrosoftAzure\Storage\Blob\Models\CreateBlobOptions();
145
+ $options->setBlobContentMD5( $content_md5 );
146
+ if ( isset( $headers['Content-Length'] ) )
147
+ $options->setBlobContentLength( $headers['Content-Length'] );
148
+ if ( isset( $headers['Content-Type'] ) )
149
+ $options->setBlobContentType( $headers['Content-Type'] );
150
+ if ( isset( $headers['Content-Encoding'] ) )
151
+ $options->setBlobContentEncoding( $headers['Content-Encoding'] );
152
+ if ( isset( $headers['Content-Language'] ) )
153
+ $options->setBlobContentLanguage( $headers['Content-Language'] );
154
+ if ( isset( $headers['Cache-Control'] ) )
155
+ $options->setBlobCacheControl( $headers['Cache-Control'] );
156
+
157
+ $this->_client->createBlockBlob( $this->_config['container'],
158
+ $remote_path, $contents, $options );
159
  } catch ( \Exception $exception ) {
160
  return $this->_get_result( $local_path, $remote_path,
161
  W3TC_CDN_RESULT_ERROR,
188
  $remote_path = $file['remote_path'];
189
 
190
  try {
191
+ $r = $this->_client->deleteBlob( $this->_config['container'], $remote_path );
192
  $results[] = $this->_get_result( $local_path, $remote_path,
193
  W3TC_CDN_RESULT_OK, 'OK', $file );
194
  } catch ( \Exception $exception ) {
398
  return false;
399
  }
400
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
401
  /**
402
  * How and if headers should be set
403
  *
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_Netdna.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_CloudFrontFsd_Api.php CHANGED
File without changes
Cdn_CloudFrontFsd_Engine.php CHANGED
File without changes
Cdn_CloudFrontFsd_Page.php CHANGED
File without changes
Cdn_CloudFrontFsd_Page_View.js CHANGED
@@ -73,6 +73,22 @@ jQuery(function($) {
73
 
74
 
75
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
76
  .on('click', '.w3tc_cdn_maxcdn_fsd_done', function() {
77
  // refresh page
78
  window.location = window.location + '&';
73
 
74
 
75
 
76
+ .on('click', '.w3tc_cdn_cloudfront_fsd_configure_distribution_skip', function() {
77
+ var url = ajaxurl + '?action=w3tc_ajax&_wpnonce=' + w3tc_nonce +
78
+ '&w3tc_action=cdn_cloudfront_fsd_configure_distribution_skip';
79
+
80
+ var v = $('.w3tc_popup_form').find('input').each(function(i) {
81
+ var name = $(this).attr('name');
82
+ if (name)
83
+ url += '&' + encodeURIComponent(name) + '=' +
84
+ encodeURIComponent($(this).val());
85
+ });
86
+
87
+ W3tc_Lightbox.load(url, w3tc_popup_resize);
88
+ })
89
+
90
+
91
+
92
  .on('click', '.w3tc_cdn_maxcdn_fsd_done', function() {
93
  // refresh page
94
  window.location = window.location + '&';
Cdn_CloudFrontFsd_Page_View.php CHANGED
File without changes
Cdn_CloudFrontFsd_Popup.php CHANGED
@@ -15,6 +15,8 @@ class Cdn_CloudFrontFsd_Popup {
15
  array( $o, 'w3tc_ajax_cdn_cloudfront_fsd_view_distribution' ) );
16
  add_action( 'w3tc_ajax_cdn_cloudfront_fsd_configure_distribution',
17
  array( $o, 'w3tc_ajax_cdn_cloudfront_fsd_configure_distribution' ) );
 
 
18
  }
19
 
20
 
@@ -342,4 +344,45 @@ class Cdn_CloudFrontFsd_Popup {
342
  include W3TC_DIR . '/Cdn_CloudFrontFsd_Popup_View_Success.php';
343
  exit();
344
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
345
  }
15
  array( $o, 'w3tc_ajax_cdn_cloudfront_fsd_view_distribution' ) );
16
  add_action( 'w3tc_ajax_cdn_cloudfront_fsd_configure_distribution',
17
  array( $o, 'w3tc_ajax_cdn_cloudfront_fsd_configure_distribution' ) );
18
+ add_action( 'w3tc_ajax_cdn_cloudfront_fsd_configure_distribution_skip',
19
+ array( $o, 'w3tc_ajax_cdn_cloudfront_fsd_configure_distribution_skip' ) );
20
  }
21
 
22
 
344
  include W3TC_DIR . '/Cdn_CloudFrontFsd_Popup_View_Success.php';
345
  exit();
346
  }
347
+
348
+
349
+
350
+ public function w3tc_ajax_cdn_cloudfront_fsd_configure_distribution_skip() {
351
+ $access_key = $_REQUEST['access_key'];
352
+ $secret_key = $_REQUEST['secret_key'];
353
+ $distribution_id = Util_Request::get( 'distribution_id', '' );
354
+
355
+ $origin_id = rand();
356
+
357
+ try {
358
+ $api = new Cdn_CloudFrontFsd_Api( $access_key, $secret_key );
359
+ $distribution = $api->distribution_get( $distribution_id );
360
+ } catch ( \Exception $ex ) {
361
+ $this->render_intro( array(
362
+ 'error_message' => 'Failed to configure distribution: ' . $ex->getMessage()
363
+ ) );
364
+ exit();
365
+ }
366
+
367
+ if ( isset( $distribution['DomainName'] ) )
368
+ $distribution_domain = $distribution['DomainName'];
369
+ else
370
+ $distribution_domain = 'n/a';
371
+
372
+ $c = Dispatcher::config();
373
+ $c->set( 'cdn.cloudfront_fsd.access_key', $access_key );
374
+ $c->set( 'cdn.cloudfront_fsd.secret_key', $secret_key );
375
+ $c->set( 'cdn.cloudfront_fsd.distribution_id', $distribution_id );
376
+ $c->set( 'cdn.cloudfront_fsd.distribution_domain', $distribution_domain );
377
+ $c->save();
378
+
379
+ $details = array(
380
+ 'name' => $distribution['Comment'],
381
+ 'home_domain' => Util_Environment::home_url_host(),
382
+ 'dns_cname_target' => $distribution_domain,
383
+ );
384
+
385
+ include W3TC_DIR . '/Cdn_CloudFrontFsd_Popup_View_Success.php';
386
+ exit();
387
+ }
388
  }
Cdn_CloudFrontFsd_Popup_View_Distribution.php CHANGED
@@ -23,12 +23,12 @@ Util_Ui::hidden( '', 'distribution_comment', $details['distribution_comment'] );
23
  <th>Origin:</th>
24
  <td><?php $this->render_zone_ip_change( $details, 'origin' ) ?><br />
25
  <span class="description">
26
- Create DNS record pointing to your WordPress host IP.
27
- CloudFront will use this host to grab your content.
28
- It can not be your real domain name, since you will
29
- point it to CloudFront's IP. For example for myblog.com
30
- create origin.myblog.com and point it to the same IP
31
- as myblog.com
32
  </span>
33
  </td>
34
  </tr>
@@ -54,6 +54,9 @@ Util_Ui::hidden( '', 'distribution_comment', $details['distribution_comment'] );
54
  <input type="button"
55
  class="w3tc_cdn_cloudfront_fsd_configure_distribution w3tc-button-save button-primary"
56
  value="<?php _e( 'Apply', 'w3-total-cache' ); ?>" />
 
 
 
57
  </p>
58
  <?php Util_Ui::postbox_footer(); ?>
59
  </div>
23
  <th>Origin:</th>
24
  <td><?php $this->render_zone_ip_change( $details, 'origin' ) ?><br />
25
  <span class="description">
26
+ Create an apex <acronym title="Domain Name System">DNS</acronym> record pointing to your WordPress host <acronym title="Internet Protocol">IP</acronym>.
27
+ CloudFront will use this host to mirror your site.
28
+
29
+ Tip: If you real domain name is domain.com, then the host
30
+ for the apex record should be origin.domain.com with the host
31
+ <acronym title="Internet Protocol">IP</acronym> of domain.com, e.g.:
32
  </span>
33
  </td>
34
  </tr>
54
  <input type="button"
55
  class="w3tc_cdn_cloudfront_fsd_configure_distribution w3tc-button-save button-primary"
56
  value="<?php _e( 'Apply', 'w3-total-cache' ); ?>" />
57
+ <input type="button"
58
+ class="w3tc_cdn_cloudfront_fsd_configure_distribution_skip w3tc-button-save button"
59
+ value="<?php _e( 'Don\'t reconfigure, I know what I\'m doing', 'w3-total-cache' ); ?>" />
60
  </p>
61
  <?php Util_Ui::postbox_footer(); ?>
62
  </div>
Cdn_CloudFrontFsd_Popup_View_Distributions.php CHANGED
File without changes
Cdn_CloudFrontFsd_Popup_View_Intro.php CHANGED
File without changes
Cdn_CloudFrontFsd_Popup_View_Success.php CHANGED
@@ -11,9 +11,9 @@ if ( !defined( 'W3TC' ) )
11
 
12
  <div style="text-align: center">
13
  Pull Zone <?php echo $details['name'] ?> was successfully configured.<br />
14
- Now you need to change DNS records of your domain
15
- <strong><?php echo $details['home_domain'] ?></strong> and CNAME it to
16