Asset CleanUp: Page Speed Booster - Version 1.2.7.7

Version Description

  • In case the assets can't be retrieved via AJAX calls within the Dashboard, the user will be notified about it and any response errors (e.g. 500 Internal Errors) would be printed for debugging purposes
  • Improved "Help" page by adding more explanations about how to upgrade to the Pro version and how to seek professional help in case you're stuck
Download this release

Release Info

Developer gabelivan
Plugin Icon 128x128 Asset CleanUp: Page Speed Booster
Version 1.2.7.7
Comparing to
See all releases

Code changes from version 1.3.2.4 to 1.2.7.7

Files changed (267) hide show
  1. assets/icons/icon-asset-cleanup.png +0 -0
  2. assets/images/asset-cleanup-logo.png +0 -0
  3. assets/images/wpacu-logo-transparent-bg-v1.png +0 -0
  4. assets/images/wpacu-upgrade-steps/wpacu-upgrade-step-1-deactivate.jpg +0 -0
  5. assets/images/wpacu-upgrade-steps/wpacu-upgrade-step-1-delete.jpg +0 -0
  6. assets/images/wpacu-upgrade-steps/wpacu-upgrade-step-2-choose-file.jpg +0 -0
  7. assets/images/wpacu-upgrade-steps/wpacu-upgrade-step-3-activate-plugin.jpg +0 -0
  8. assets/images/your-brain-on-a-slow-website-infographic.jpg +0 -0
  9. assets/script.min.js +1 -1
  10. assets/style.min.css +1 -1
  11. classes/AdminBar.php +0 -115
  12. classes/AssetsPagesManager.php +0 -100
  13. classes/BulkUnloads.php +13 -10
  14. classes/CleanUp.php +0 -339
  15. classes/HomePage.php +78 -0
  16. classes/Info.php +0 -60
  17. classes/Main.php +365 -506
  18. classes/Menu.php +61 -73
  19. classes/MetaBoxes.php +0 -137
  20. classes/Misc.php +48 -220
  21. classes/OptimiseAssets/MinifyCss.php +0 -307
  22. classes/OptimiseAssets/MinifyJs.php +0 -428
  23. classes/OptimiseAssets/OptimizeCommon.php +0 -484
  24. classes/OptimiseAssets/OptimizeCss.php +0 -523
  25. classes/OptimiseAssets/OptimizeJs.php +0 -605
  26. classes/OwnAssets.php +78 -131
  27. classes/Plugin.php +26 -123
  28. classes/Settings.php +28 -155
  29. classes/Sorting.php +0 -133
  30. classes/Tools.php +0 -395
  31. classes/Update.php +82 -205
  32. freemius-load.php +0 -57
  33. freemius/assets/css/admin/account.css +0 -1
  34. freemius/assets/css/admin/add-ons.css +0 -2
  35. freemius/assets/css/admin/affiliation.css +0 -1
  36. freemius/assets/css/admin/checkout.css +0 -1
  37. freemius/assets/css/admin/common.css +0 -2
  38. freemius/assets/css/admin/connect.css +0 -1
  39. freemius/assets/css/admin/debug.css +0 -1
  40. freemius/assets/css/admin/dialog-boxes.css +0 -2
  41. freemius/assets/css/admin/gdpr-optin-notice.css +0 -1
  42. freemius/assets/css/admin/index.php +0 -3
  43. freemius/assets/css/customizer.css +0 -1
  44. freemius/assets/css/index.php +0 -3
  45. freemius/assets/img/index.php +0 -3
  46. freemius/assets/img/plugin-icon.png +0 -0
  47. freemius/assets/img/theme-icon.png +0 -0
  48. freemius/assets/index.php +0 -3
  49. freemius/assets/js/index.php +0 -3
  50. freemius/assets/js/nojquery.ba-postmessage.js +0 -140
  51. freemius/assets/js/nojquery.ba-postmessage.min.js +0 -12
  52. freemius/assets/js/postmessage.js +0 -135
  53. freemius/assets/scss/_colors.scss +0 -79
  54. freemius/assets/scss/_functions.scss +0 -0
  55. freemius/assets/scss/_load.scss +0 -4
  56. freemius/assets/scss/_mixins.scss +0 -270
  57. freemius/assets/scss/_start.scss +0 -4
  58. freemius/assets/scss/_vars.scss +0 -6
  59. freemius/assets/scss/admin/_ajax-loader.scss +0 -49
  60. freemius/assets/scss/admin/_auto-install.scss +0 -33
  61. freemius/assets/scss/admin/_buttons.scss +0 -28
  62. freemius/assets/scss/admin/_deactivation-feedback.scss +0 -55
  63. freemius/assets/scss/admin/_gdpr-consent.scss +0 -81
  64. freemius/assets/scss/admin/_license-activation.scss +0 -47
  65. freemius/assets/scss/admin/_license-key-resend.scss +0 -68
  66. freemius/assets/scss/admin/_modal-common.scss +0 -194
  67. freemius/assets/scss/admin/_multisite-options.scss +0 -40
  68. freemius/assets/scss/admin/_plugin-upgrade-notice.scss +0 -8
  69. freemius/assets/scss/admin/_subscription-cancellation.scss +0 -30
  70. freemius/assets/scss/admin/_themes.scss +0 -21
  71. freemius/assets/scss/admin/_tooltip.scss +0 -66
  72. freemius/assets/scss/admin/account.scss +0 -302
  73. freemius/assets/scss/admin/add-ons.scss +0 -449
  74. freemius/assets/scss/admin/affiliation.scss +0 -97
  75. freemius/assets/scss/admin/checkout.scss +0 -5
  76. freemius/assets/scss/admin/common.scss +0 -220
  77. freemius/assets/scss/admin/connect.scss +0 -548
  78. freemius/assets/scss/admin/debug.scss +0 -135
  79. freemius/assets/scss/admin/dialog-boxes.scss +0 -10
  80. freemius/assets/scss/admin/gdpr-optin-notice.scss +0 -17
  81. freemius/assets/scss/admin/index.php +0 -3
  82. freemius/assets/scss/customizer.scss +0 -125
  83. freemius/assets/scss/index.php +0 -3
  84. freemius/config.php +0 -388
  85. freemius/includes/class-freemius-abstract.php +0 -597
  86. freemius/includes/class-freemius.php +0 -21794
  87. freemius/includes/class-fs-admin-notices.php +0 -321
  88. freemius/includes/class-fs-api.php +0 -625
  89. freemius/includes/class-fs-logger.php +0 -691
  90. freemius/includes/class-fs-options.php +0 -431
  91. freemius/includes/class-fs-plugin-updater.php +0 -1360
  92. freemius/includes/class-fs-security.php +0 -85
  93. freemius/includes/class-fs-storage.php +0 -524
  94. freemius/includes/class-fs-user-lock.php +0 -126
  95. freemius/includes/customizer/class-fs-customizer-support-section.php +0 -102
  96. freemius/includes/customizer/class-fs-customizer-upsell-control.php +0 -157
  97. freemius/includes/customizer/index.php +0 -3
  98. freemius/includes/debug/class-fs-debug-bar-panel.php +0 -64
  99. freemius/includes/debug/debug-bar-start.php +0 -52
  100. freemius/includes/debug/index.php +0 -3
  101. freemius/includes/entities/class-fs-affiliate-terms.php +0 -128
  102. freemius/includes/entities/class-fs-affiliate.php +0 -84
  103. freemius/includes/entities/class-fs-billing.php +0 -95
  104. freemius/includes/entities/class-fs-entity.php +0 -149
  105. freemius/includes/entities/class-fs-payment.php +0 -110
  106. freemius/includes/entities/class-fs-plugin-info.php +0 -34
  107. freemius/includes/entities/class-fs-plugin-license.php +0 -269
  108. freemius/includes/entities/class-fs-plugin-plan.php +0 -145
  109. freemius/includes/entities/class-fs-plugin-tag.php +0 -50
  110. freemius/includes/entities/class-fs-plugin.php +0 -142
  111. freemius/includes/entities/class-fs-pricing.php +0 -141
  112. freemius/includes/entities/class-fs-scope-entity.php +0 -29
  113. freemius/includes/entities/class-fs-site.php +0 -230
  114. freemius/includes/entities/class-fs-subscription.php +0 -125
  115. freemius/includes/entities/class-fs-user.php +0 -62
  116. freemius/includes/entities/index.php +0 -3
  117. freemius/includes/fs-core-functions.php +0 -1322
  118. freemius/includes/fs-essential-functions.php +0 -479
  119. freemius/includes/fs-plugin-info-dialog.php +0 -1143
  120. freemius/includes/i18n.php +0 -603
  121. freemius/includes/index.php +0 -3
  122. freemius/includes/l10n.php +0 -48
  123. freemius/includes/managers/class-fs-admin-menu-manager.php +0 -969
  124. freemius/includes/managers/class-fs-admin-notice-manager.php +0 -472
  125. freemius/includes/managers/class-fs-cache-manager.php +0 -326
  126. freemius/includes/managers/class-fs-gdpr-manager.php +0 -202
  127. freemius/includes/managers/class-fs-key-value-storage.php +0 -392
  128. freemius/includes/managers/class-fs-license-manager.php +0 -104
  129. freemius/includes/managers/class-fs-option-manager.php +0 -490
  130. freemius/includes/managers/class-fs-plan-manager.php +0 -162
  131. freemius/includes/managers/class-fs-plugin-manager.php +0 -220
  132. freemius/includes/managers/index.php +0 -3
  133. freemius/includes/sdk/Exceptions/ArgumentNotExistException.php +0 -9
  134. freemius/includes/sdk/Exceptions/EmptyArgumentException.php +0 -9
  135. freemius/includes/sdk/Exceptions/Exception.php +0 -74
  136. freemius/includes/sdk/Exceptions/InvalidArgumentException.php +0 -8
  137. freemius/includes/sdk/Exceptions/OAuthException.php +0 -12
  138. freemius/includes/sdk/Exceptions/index.php +0 -3
  139. freemius/includes/sdk/FreemiusBase.php +0 -215
  140. freemius/includes/sdk/FreemiusWordPress.php +0 -704
  141. freemius/includes/sdk/LICENSE.txt +0 -340
  142. freemius/includes/sdk/index.php +0 -3
  143. freemius/includes/supplements/fs-essential-functions-1.1.7.1.php +0 -43
  144. freemius/includes/supplements/fs-essential-functions-2.2.1.php +0 -45
  145. freemius/includes/supplements/index.php +0 -3
  146. freemius/index.php +0 -3
  147. freemius/languages/freemius-da_DK.mo +0 -0
  148. freemius/languages/freemius-da_DK.po +0 -2434
  149. freemius/languages/freemius-en.mo +0 -0
  150. freemius/languages/freemius-en.po +0 -2320
  151. freemius/languages/freemius-es_ES.mo +0 -0
  152. freemius/languages/freemius-es_ES.po +0 -2433
  153. freemius/languages/freemius-fr_FR.mo +0 -0
  154. freemius/languages/freemius-fr_FR.po +0 -2433
  155. freemius/languages/freemius-he_IL.mo +0 -0
  156. freemius/languages/freemius-he_IL.po +0 -2434
  157. freemius/languages/freemius-hu_HU.mo +0 -0
  158. freemius/languages/freemius-hu_HU.po +0 -2433
  159. freemius/languages/freemius-it_IT.mo +0 -0
  160. freemius/languages/freemius-it_IT.po +0 -2437
  161. freemius/languages/freemius-ja_JP.mo +0 -0
  162. freemius/languages/freemius-ja_JP.po +0 -2436
  163. freemius/languages/freemius-nl_NL.mo +0 -0
  164. freemius/languages/freemius-nl_NL.po +0 -2434
  165. freemius/languages/freemius-ru_RU.mo +0 -0
  166. freemius/languages/freemius-ru_RU.po +0 -2433
  167. freemius/languages/freemius.pot +0 -2317
  168. freemius/languages/index.php +0 -3
  169. freemius/require.php +0 -49
  170. freemius/start.php +0 -522
  171. freemius/templates/account.php +0 -792
  172. freemius/templates/account/billing.php +0 -431
  173. freemius/templates/account/index.php +0 -3
  174. freemius/templates/account/partials/activate-license-button.php +0 -54
  175. freemius/templates/account/partials/addon.php +0 -350
  176. freemius/templates/account/partials/deactivate-license-button.php +0 -36
  177. freemius/templates/account/partials/index.php +0 -3
  178. freemius/templates/account/partials/site.php +0 -336
  179. freemius/templates/account/payments.php +0 -59
  180. freemius/templates/add-ons.php +0 -197
  181. freemius/templates/add-trial-to-pricing.php +0 -31
  182. freemius/templates/admin-notice.php +0 -76
  183. freemius/templates/ajax-loader.php +0 -1
  184. freemius/templates/auto-installation.php +0 -249
  185. freemius/templates/checkout.php +0 -329
  186. freemius/templates/connect.php +0 -932
  187. freemius/templates/contact.php +0 -128
  188. freemius/templates/debug.php +0 -726
  189. freemius/templates/debug/api-calls.php +0 -155
  190. freemius/templates/debug/index.php +0 -3
  191. freemius/templates/debug/logger.php +0 -66
  192. freemius/templates/debug/plugins-themes-sync.php +0 -76
  193. freemius/templates/debug/scheduled-crons.php +0 -136
  194. freemius/templates/email.php +0 -49
  195. freemius/templates/firewall-issues-js.php +0 -59
  196. freemius/templates/forms/affiliation.php +0 -486
  197. freemius/templates/forms/deactivation/contact.php +0 -23
  198. freemius/templates/forms/deactivation/form.php +0 -497
  199. freemius/templates/forms/deactivation/index.php +0 -3
  200. freemius/templates/forms/deactivation/retry-skip.php +0 -24
  201. freemius/templates/forms/index.php +0 -3
  202. freemius/templates/forms/license-activation.php +0 -700
  203. freemius/templates/forms/optout.php +0 -267
  204. freemius/templates/forms/premium-versions-upgrade-handler.php +0 -205
  205. freemius/templates/forms/premium-versions-upgrade-metadata.php +0 -45
  206. freemius/templates/forms/resend-key.php +0 -247
  207. freemius/templates/forms/subscription-cancellation.php +0 -277
  208. freemius/templates/forms/trial-start.php +0 -181
  209. freemius/templates/gdpr-optin-js.php +0 -66
  210. freemius/templates/index.php +0 -3
  211. freemius/templates/js/index.php +0 -3
  212. freemius/templates/js/jquery.content-change.php +0 -58
  213. freemius/templates/js/open-license-activation.php +0 -37
  214. freemius/templates/js/style-premium-theme.php +0 -45
  215. freemius/templates/partials/network-activation.php +0 -81
  216. freemius/templates/plugin-icon.php +0 -20
  217. freemius/templates/plugin-info/description.php +0 -78
  218. freemius/templates/plugin-info/features.php +0 -114
  219. freemius/templates/plugin-info/index.php +0 -3
  220. freemius/templates/plugin-info/screenshots.php +0 -34
  221. freemius/templates/powered-by.php +0 -58
  222. freemius/templates/pricing.php +0 -171
  223. freemius/templates/secure-https-header.php +0 -39
  224. freemius/templates/sticky-admin-notice-js.php +0 -39
  225. freemius/templates/tabs-capture-js.php +0 -63
  226. freemius/templates/tabs.php +0 -190
  227. readme.txt +33 -207
  228. templates/_admin-page-getting-started-areas/_benefits-fast-pages.php +0 -37
  229. templates/_admin-page-getting-started-areas/_how-it-works.php +0 -27
  230. templates/_admin-page-getting-started-areas/_lite-vs-pro.php +0 -112
  231. templates/_admin-page-getting-started-areas/_start-optimization.php +0 -34
  232. templates/_admin-page-getting-started-areas/_video-tutorials.php +0 -38
  233. templates/_admin-page-settings-plugin-areas/_combine-loaded-files.php +0 -199
  234. templates/_admin-page-settings-plugin-areas/_common-files-unload.php +0 -66
  235. templates/_admin-page-settings-plugin-areas/_disable-xml-rpc-protocol.php +0 -39
  236. templates/_admin-page-settings-plugin-areas/_html-source-cleanup.php +0 -210
  237. templates/_admin-page-settings-plugin-areas/_minify-loaded-files.php +0 -92
  238. templates/_admin-page-settings-plugin-areas/_plugin-usage-settings.php +0 -236
  239. templates/_admin-page-settings-plugin-areas/_strip-the-fat.php +0 -40
  240. templates/_admin-page-settings-plugin-areas/_test-mode.php +0 -36
  241. templates/_top-area.php +18 -16
  242. templates/admin-page-assets-manager.php +0 -27
  243. templates/admin-page-child-pages-info.php +0 -226
  244. templates/admin-page-child-settings-homepage.php +0 -83
  245. templates/admin-page-get-help.php +13 -13
  246. templates/admin-page-getting-started.php +0 -42
  247. templates/admin-page-license.php +5 -5
  248. templates/admin-page-pages-info.php +82 -0
  249. templates/admin-page-settings-bulk-unloads.php +38 -43
  250. templates/admin-page-settings-homepage.php +78 -0
  251. templates/admin-page-settings-plugin.php +253 -126
  252. templates/admin-page-tools.php +0 -80
  253. templates/meta-box-loaded-assets/_asset-script-rows.php +234 -51
  254. templates/meta-box-loaded-assets/_asset-script-single-row.php +0 -258
  255. templates/meta-box-loaded-assets/_asset-style-rows.php +218 -55
  256. templates/meta-box-loaded-assets/_asset-style-single-row.php +0 -233
  257. templates/meta-box-loaded-assets/_inline_js.php +0 -121
  258. templates/meta-box-loaded-assets/default.php +104 -0
  259. templates/meta-box-loaded-assets/view-by-location.php +0 -131
  260. templates/meta-box-loaded-assets/view-by-position.php +0 -112
  261. templates/meta-box-loaded-assets/view-default.php +0 -143
  262. templates/meta-box-loaded.php +25 -43
  263. templates/meta-box-side-page-options.php +0 -62
  264. templates/meta-box.php +5 -29
  265. templates/settings-frontend.php +12 -40
  266. wpacu-load.php +5 -32
  267. wpacu.php +20 -29
assets/icons/icon-asset-cleanup.png DELETED
Binary file
assets/images/asset-cleanup-logo.png DELETED
Binary file
assets/images/wpacu-logo-transparent-bg-v1.png DELETED
Binary file
assets/images/wpacu-upgrade-steps/wpacu-upgrade-step-1-deactivate.jpg CHANGED
Binary file
assets/images/wpacu-upgrade-steps/wpacu-upgrade-step-1-delete.jpg CHANGED
Binary file
assets/images/wpacu-upgrade-steps/wpacu-upgrade-step-2-choose-file.jpg CHANGED
Binary file
assets/images/wpacu-upgrade-steps/wpacu-upgrade-step-3-activate-plugin.jpg CHANGED
Binary file
assets/images/your-brain-on-a-slow-website-infographic.jpg DELETED
Binary file
assets/script.min.js CHANGED
@@ -1 +1 @@
1
- function wpacuTabOpenSettingsArea(a,b){a.preventDefault();var c,d,e;for(d=document.getElementsByClassName("wpacu-settings-tab-content"),c=0;c<d.length;c++)d[c].style.display="none";for(e=document.getElementsByClassName("wpacu-settings-tab-link"),c=0;c<e.length;c++)e[c].className=e[c].className.replace(" active","");document.getElementById(b).style.display="table-cell",jQuery('a[href="#'+b+'"]').addClass("active"),jQuery("#wpacu-selected-tab-area").val(b),history.pushState(null,null,"#"+b)}if(jQuery(document).ready(function(a){function b(){if(!a("#wpacu_ajax_fetch_assets_list_dashboard_view").length)return!1;var b={};"direct"===wpacu_object.dom_get_type?(b[wpacu_object.plugin_name+"_load"]=1,b[wpacu_object.plugin_name+"_time_r"]=(new Date).getTime(),a.ajax({method:"GET",url:wpacu_object.page_url,data:b,cache:!1,complete:function(b,c){if("error"===b.statusText){var d=wpacu_object.ajax_direct_fetch_error;d=d.replace(/\{wpacu_output\}/,b.responseText),d=d.replace(/\{wpacu_status_code_error\}/,b.status),a("#wpacu_meta_box_content").html(d)}}}).done(function(b){var c=b.substring(b.lastIndexOf(wpacu_object.start_del)+wpacu_object.start_del.length,b.lastIndexOf(wpacu_object.end_del)),d={action:wpacu_object.plugin_name+"_get_loaded_assets",wpacu_list:c,post_id:wpacu_object.post_id,page_url:wpacu_object.page_url,tag_id:wpacu_object.tag_id,time_r:(new Date).getTime()};a.post(wpacu_object.ajax_url,d,function(b){if(!b)return!1;a("#wpacu_meta_box_content").html(b),a("#wpacu_home_page_form").length>0&&a("#submit").show(),setTimeout(function(){e.load()},200)})})):"wp_remote_post"===wpacu_object.dom_get_type&&(b={action:wpacu_object.plugin_name+"_get_loaded_assets",post_id:wpacu_object.post_id,page_url:wpacu_object.page_url,tag_id:wpacu_object.tag_id,time_r:(new Date).getTime()},a.post(wpacu_object.ajax_url,b,function(b){if(!b)return!1;a("#wpacu_meta_box_content").html(b),a("#wpacu_home_page_form").length>0&&a("#submit").show(),setTimeout(function(){e.load()},200)}))}a("#wpacu-mark-license-valid-button").click(function(){return confirm(wpacu_object.mark_license_valid_confirm)});var c,d;a("#wpacu-reset-drop-down").on("change keyup keydown mouseup mousedown click",function(){""===a(this).val()?(a("#wpacu-warning-read").removeClass("wpacu-visible"),a("#wpacu-reset-submit-btn").attr("disabled","disabled").removeClass("button-primary").addClass("button-secondary")):("reset_everything"===a(this).val()?a("#wpacu-license-data-remove-area").addClass("wpacu-visible"):a("#wpacu-license-data-remove-area").removeClass("wpacu-visible"),a("#wpacu-warning-read").addClass("wpacu-visible"),a("#wpacu-reset-submit-btn").removeAttr("disabled").removeClass("button-secondary").addClass("button-primary")),a(".wpacu-tools-area .wpacu-warning").hide(),c=a(this).find("option:selected"),a("#"+c.attr("data-id")).show()}),a("#wpacu-reset-submit-btn").on("click",function(){if("reset_settings"===a("#wpacu-reset-drop-down").val()?d=wpacu_object.reset_settings_confirm_msg:"reset_everything"===a("#wpacu-reset-drop-down").val()&&(d=wpacu_object.reset_everything_confirm_msg),!confirm(d))return!1;a("#wpacu-action-confirmed").val("yes"),setTimeout(function(){"yes"===a("#wpacu-action-confirmed").val()&&a("#wpacu-tools-form").submit()},1e3)});var e={load:function(){var b;a(".input-unload-on-this-page").on("click change",function(){a(this).prop("checked")?a(this).closest("tr").addClass("wpacu_not_load"):a(this).closest("tr").removeClass("wpacu_not_load")}),a(".wpacu_global_unload").click(function(){b=a(this).attr("data-handle"),a(this).prop("checked")?a(this).parent("label").addClass("wpacu_global_checked"):a(this).parent("label").removeClass("wpacu_global_checked")}),a(".wpacu_keep_bulk_rule").click(function(){a(this).prop("checked")&&a(this).parents("li").next().removeClass("remove_rule")}),a(".wpacu_remove_bulk_rule").click(function(){a(this).prop("checked")&&a(this).parents("li").addClass("remove_rule")}),a(".wpacu_bulk_unload").click(function(){a(this).prop("checked")?a(this).parent("label").addClass("wpacu_bulk_unload_active"):a(this).parent("label").removeClass("wpacu_bulk_unload_active")}),a(".wpacu_load_it_option").click(function(){var b=a(this).attr("data-handle");if(a(this).prop("checked")){a(this).parent("label").addClass("wpacu_global_unload_exception");var c="";a(this).hasClass("wpacu_style")?c="style":a(this).hasClass("wpacu_script")&&(c="script"),a("#"+c+"_"+b).prop("checked",!1).trigger("change")}else a(this).parent("label").removeClass("wpacu_global_unload_exception")}),a(".wpacu-external-file-size").on("click",function(b){b.preventDefault();var c,d=a(this);d.hide(),c=d.next(),c.show(),a.post(wpacu_object.ajax_url,{action:"get_external_file_size",wpacu_remote_file:d.attr("data-src")},function(a){c.html(a)})})}};a(".wpacu-dom-get-type-selection").change(function(){a(this).is(":checked")&&(a(".wpacu-dom-get-type-info").hide(),a("#"+a(this).attr("data-target")).fadeIn("fast"))}),a("#wpacu_post_type_select").change(function(){a("#wpacu_post_type_form").submit()}),a("#wpacu_taxonomy_select").change(function(){a("#wpacu_taxonomy_form").submit()}),a("#wpacu_dashboard").click(function(){a(this).prop("checked")?a("#wpacu-settings-assets-retrieval-mode").fadeIn("fast"):a("#wpacu-settings-assets-retrieval-mode").fadeOut("fast")}),a("#wpacu_frontend").click(function(){a(this).prop("checked")?a("#wpacu-settings-frontend-exceptions").fadeIn("fast"):a("#wpacu-settings-frontend-exceptions").fadeOut("fast")}),a("#wpacu_disable_jquery_migrate").on("click",function(){return!a(this).is(":checked")||(!(!a(this).is(":checked")||!confirm(wpacu_object.jquery_migration_disable_confirm_msg))||(a(this).prop("checked",!1),!1))}),a("#wpacu_disable_comment_reply").on("click",function(){return!a(this).is(":checked")||(!(!a(this).is(":checked")||!confirm(wpacu_object.comment_reply_disable_confirm_msg))||(a(this).prop("checked",!1),!1))}),a("#wpacu_combine_loaded_css_enable").click(function(){a(this).prop("checked")?a("#combine_loaded_css_info_area").css({opacity:1}):a("#combine_loaded_css_info_area").css({opacity:.4})}),a("#wpacu_combine_loaded_js_enable").click(function(){a(this).prop("checked")?a("#combine_loaded_js_info_area").css({opacity:1}):a("#combine_loaded_js_info_area").css({opacity:.4})}),a("#wpacu_minify_css_enable").click(function(){a(this).prop("checked")?a("#wpacu_minify_css_exceptions_area").css({opacity:1}):a("#wpacu_minify_css_exceptions_area").css({opacity:.4})}),a("#wpacu_minify_js_enable").click(function(){a(this).prop("checked")?a("#wpacu_minify_js_exceptions_area").css({opacity:1}):a("#wpacu_minify_js_exceptions_area").css({opacity:.4})}),a("#wpacu_remove_html_comments").click(function(){a(this).prop("checked")?a("#wpacu_remove_html_comments_area").css({opacity:1}):a("#wpacu_remove_html_comments_area").css({opacity:.4})}),a(".wpacu-combine-loaded-js-level").change(function(){a(this).is(":checked")&&(a(".wpacu_combine_loaded_js_level_area").removeClass("wpacu_active"),a("#"+a(this).attr("data-target")).addClass("wpacu_active"))});var f=a('#wpacu-update-button-area input[type="submit"]');if(f.click(function(){a("#wpacu-updating-settings").show()}),a("form#wpacu-settings-form").submit(function(){return f.attr("disabled","disabled"),!0}),a(".wpacu_remove_rule").click(function(){var b=a(this).parents(".wpacu_global_rule_row");a(this).prop("checked")?b.addClass("selected"):b.removeClass("selected")}),a("#wpacu_wrap_assets").length>0&&setTimeout(function(){e.load()},200),"undefined"==typeof wpacu_object||a("#wpacu_meta_box_content").length<1)return!1;b(),a(document).on("click",".wp-admin.wp-editor .edit-post-header__settings button.is-primary",function(){var c=function(){0===a(".edit-post-header__settings .is-saving").length&&(b(),clearInterval(d))},d=setInterval(c,900)})}),-1!==location.href.indexOf("#")){var hashFromUrl=location.href.substr(location.href.indexOf("#"));jQuery('a[href="'+hashFromUrl+'"]').trigger("click")}
1
+ jQuery(document).ready(function(a){setTimeout(function(){jQuery("a[href*='admin.php?page=wpassetcleanup_feature_request']").attr("target","_blank")},1e3);var b={load:function(){b.getExternalFileSize();var c;a(".input-unload-on-this-page").on("click change",function(){a(this).prop("checked")?a(this).closest("tr").addClass("wpacu_not_load"):a(this).closest("tr").removeClass("wpacu_not_load")}),a(".wpacu_global_unload").click(function(){c=a(this).attr("data-handle"),a(this).prop("checked")?a(this).parent("label").addClass("wpacu_global_checked"):a(this).parent("label").removeClass("wpacu_global_checked")}),a(".wpacu_keep_bulk_rule").click(function(){a(this).prop("checked")&&a(this).parents("li").next().removeClass("remove_rule")}),a(".wpacu_remove_bulk_rule").click(function(){a(this).prop("checked")&&a(this).parents("li").addClass("remove_rule")}),a(".wpacu_bulk_unload").click(function(){a(this).prop("checked")?a(this).parent("label").addClass("wpacu_bulk_unload_active"):a(this).parent("label").removeClass("wpacu_bulk_unload_active")}),a(".wpacu_load_it_option").click(function(){var b=a(this).attr("data-handle");if(a(this).prop("checked")){a(this).parent("label").addClass("wpacu_global_unload_exception");var c="";a(this).hasClass("wpacu_style")?c="style":a(this).hasClass("wpacu_script")&&(c="script"),a("#"+c+"_"+b).prop("checked",!1).trigger("change")}else a(this).parent("label").removeClass("wpacu_global_unload_exception")})},getExternalFileSize:function(){a(".wpacu-external-file-size").each(function(){var b=a(this);a.post(wpacu_object.ajax_url,{action:"get_external_file_size",wpacu_remote_file:a(this).attr("data-src")},function(a){b.html(a)})})}};if(a("#wpacu_post_type_select").change(function(){a("#wpacu_post_type_form").submit()}),a("#wpacu_taxonomy_select").change(function(){a("#wpacu_taxonomy_form").submit()}),a("#wpacu_dashboard").click(function(){a(this).prop("checked")?a("#wpacu-settings-assets-retrieval-mode").fadeIn():a("#wpacu-settings-assets-retrieval-mode").fadeOut()}),a("#wpacu_disable_jquery_migrate").on("click",function(){return!a(this).is(":checked")||(!(!a(this).is(":checked")||!confirm(wpacu_object.jquery_migration_disable_confirm_msg))||(a(this).prop("checked",!1),!1))}),a("#wpacu_disable_comment_reply").on("click",function(){return!a(this).is(":checked")||(!(!a(this).is(":checked")||!confirm(wpacu_object.comment_reply_disable_confirm_msg))||(a(this).prop("checked",!1),!1))}),a(".wpacu_remove_rule").click(function(){var b=a(this).parents(".wpacu_global_rule_row");a(this).prop("checked")?b.addClass("selected"):b.removeClass("selected")}),a("#wpacu_wrap_assets").length>0&&b.load(),"undefined"==typeof wpacu_object||a("#wpacu_meta_box_content").length<1)return!1;var c={};"direct"===wpacu_object.dom_get_type?(c[wpacu_object.plugin_name+"_load"]=1,a.ajax({method:"GET",url:wpacu_object.page_url,data:c,cache:!1,complete:function(b,c){if("error"===b.statusText){var d=wpacu_object.ajax_direct_fetch_error;d=d.replace(/\{wpacu_output\}/,b.responseText),d=d.replace(/\{wpacu_status_code_error\}/,b.status),a("#wpacu_meta_box_content").html(d)}}}).done(function(c){var d=c.substring(c.lastIndexOf(wpacu_object.start_del)+wpacu_object.start_del.length,c.lastIndexOf(wpacu_object.end_del)),e={action:wpacu_object.plugin_name+"_get_loaded_assets",wpacu_list:d,post_id:wpacu_object.post_id,page_url:wpacu_object.page_url,tag_id:wpacu_object.tag_id};if("btoa"in window)try{c=c.replace(/[\u0250-\ue007]/g,""),c=c.replace(/[^\x00-\x7F]/g,""),e.contents=window.btoa(c)}catch(a){e.contents=""}a.post(wpacu_object.ajax_url,e,function(c){if(!c)return!1;a("#wpacu_meta_box_content").html(c),a("#wpacu_home_page_form").length>0&&a("#submit").show(),b.load()})})):"wp_remote_post"===wpacu_object.dom_get_type&&(c={action:wpacu_object.plugin_name+"_get_loaded_assets",post_id:wpacu_object.post_id,page_url:wpacu_object.page_url,tag_id:wpacu_object.tag_id},a.post(wpacu_object.ajax_url,c,function(c){if(!c)return!1;a("#wpacu_meta_box_content").html(c),a("#wpacu_home_page_form").length>0&&a("#submit").show(),b.load()}))});
assets/style.min.css CHANGED
@@ -1 +1 @@
1
- #wpacu_meta_box_content .dashicons.dashicons-warning,.wpacu-tabs nav ul li span.license-status.inactive{color:#c00}#wpacu-pages-info-area{width:98%}#wpacu-logo-area{margin:15px 0;padding:0 10px}#wpacu-logo-area img{width:352px;height:79px}.wpacu-tabs{position:relative;overflow:hidden;margin:0 auto 20px;width:100%;font-weight:300;font-size:20px}.wpacu-tabs nav{text-align:center}.wpacu-tabs nav ul{position:relative;display:-ms-flexbox;display:-webkit-flex;display:-moz-flex;display:-ms-flex;display:flex;margin:0 auto;padding:0;max-width:1200px;list-style:none;-ms-box-orient:horizontal;-ms-box-pack:center;-webkit-flex-flow:row wrap;-moz-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-justify-content:center;-moz-justify-content:center;-ms-justify-content:center;justify-content:center}.wpacu-tabs nav ul li{position:relative;z-index:1;display:block;margin:0;text-align:center;-webkit-flex:1;-moz-flex:1;-ms-flex:1;flex:1}.wpacu-tabs nav ul li span.license-status{position:absolute;font-size:12px;left:0;right:50%;bottom:12px;-webkit-transform:translate(50%,50%);transform:translate(50%,50%)}.wpacu-tabs nav ul li span.license-status.active{color:green}.wpacu-tabs nav a{position:relative;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:2.5}.wpacu-tabs nav a span{vertical-align:middle;font-size:14px}.wpacu-tabs nav li.wpacu-tab-current a{color:#74777b}.wpacu-tabs nav a:focus{outline:0}.wpacu-tabs .dashicons{font-size:20px}.no-js .wpacu-content-wrap section{display:block;padding-bottom:2em;border-bottom:1px solid rgba(255,255,255,.6)}.no-flexbox nav ul{display:block}.no-flexbox nav ul li{min-width:15%;display:inline-block}@media screen and (max-width:58em){.wpacu-tabs nav a.icon span{display:none}.wpacu-tabs nav a:before{margin-right:0}}.wpacu-tabs-style-underline nav{background:#fff}.wpacu-tabs-style-underline nav a{color:#74777b;font-size:18px;text-transform:uppercase;text-decoration:none;padding:.25em 0 .5em;border-left:1px solid #e7ecea;-webkit-transition:color .2s;transition:color .2s}.wpacu-tabs-style-underline nav li:last-child a{border-right:1px solid #e7ecea}.wpacu-tabs-style-underline nav li a::after{position:absolute;bottom:0;left:0;width:100%;height:6px;background:#2CC185;content:'';-webkit-transition:-webkit-transform .3s;transition:transform .3s;-webkit-transform:translate3d(0,150%,0);transform:translate3d(0,150%,0)}.wpacu-tabs-style-underline nav li.wpacu-tab-current a::after{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.wpacu-tabs-style-underline nav a span{font-weight:700}.wpacu-tabs-style-topline{max-width:1200px;margin:20px auto 30px 0;width:100%;font-weight:300;text-decoration:none}.wpacu-tabs-style-topline nav li{border:1px solid rgba(40,44,42,.1)}.wpacu-tabs-style-topline nav li:not(:last-child){border-right:none}.wpacu-tabs-style-topline nav li.wpacu-tab-current{border-top-color:#008f9c;border-bottom:none}.wpacu-tabs-style-topline nav a{padding:20px 18px;background:rgba(40,44,42,.05);color:#74777b;line-height:1;-webkit-transition:color .2s;transition:color .2s;text-decoration:none}.wpacu-tabs-style-topline nav a:focus,.wpacu-tabs-style-topline nav a:hover{background:0 0;color:#008f9c}.wpacu-tabs-style-topline nav li.wpacu-tab-current a{background:0 0;box-shadow:inset 0 3px 0 #008f9c;color:#008f9c}.wpacu-tabs-style-topline nav li.wpacu-tab-current a span:not(.dashicons){font-weight:600}.wpacu-tabs-style-topline nav a span{text-transform:uppercase;font-weight:400}.wpacu-tab-nav-wrapper{border-bottom:none!important}.wpacu-tab-nav-wrapper .nav-tab.nav-tab-active{background:#fff;position:relative}.wpacu-tab-nav-wrapper .nav-tab.nav-tab-active:after{content:'';width:100%;bottom:-2px;left:0;position:absolute;border-bottom:2px solid #fff}.wpacu-script-attributes-area{margin:20px 0 0!important}.wpacu-script-attributes-area.wpacu-lite ul.wpacu-script-attributes-settings{padding:5px 7px!important}.wpacu-script-attributes-area.wpacu-lite ul.wpacu-script-attributes-settings.wpacu-first{margin:0 28px 0 0!important}.wpacu-script-attributes-area.wpacu-lite ul.wpacu-script-attributes-settings label{margin:0!important}.wpacu-script-attributes-area.wpacu-lite ul.wpacu-script-attributes-settings li{margin:0 16px 0 0!important}.wpacu-script-attributes-area.wpacu-lite ul.wpacu-script-attributes-settings li:first-child{margin:0 10px 0 0!important}.wpacu-script-attributes-area.wpacu-lite ul.wpacu-script-attributes-settings li:last-child{margin:0 2px 0 0!important}.wpacu-script-attributes-area .wpacu-script-attributes-settings{background:#fff!important;border:1px solid #eee!important;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;padding:5px 10px!important;list-style:none;display:inline-block;margin:0}.wpacu-script-attributes-area .wpacu-script-attributes-settings input[type=radio]{padding:0;margin:0 5px 0 0}.wpacu-script-attributes-area .wpacu-script-attributes-settings.wpacu-first{margin:0 34px 0 0!important}.wpacu-script-attributes-area .wpacu-script-attributes-settings li{float:left;margin:0 17px 0 0}.wpacu-script-attributes-area .wpacu-script-attributes-settings li:first-child{margin:0 10px 0 0!important}.wpacu-script-attributes-area .wpacu-script-attributes-settings li:last-child{margin:0}.wpacu-script-attributes-area .wpacu-script-attributes-settings:hover{background:#f2faf2}tr.wpacu_not_load td,tr.wpacu_not_load th{background:#FFE1E1!important}.dashicons-wpacu{width:17px;height:17px;margin:2px 0 0;font-size:16px;text-decoration:none}.wpacu_widefat .check-column.wpacu_check{padding:10px}body[class*=wpassetcleanup] #footer-left{border-left:2px solid green;padding-left:10px}#wpassetcleanup_asset_list small{width:auto;float:none;display:inline}#wpacu_meta_box_content{width:99%}#wpacu_meta_box_content .emoji{font-size:18px}#wpacu_meta_box_content h3{margin-left:0;padding-left:0}#wpacu_meta_box_content div.wpacu_note{padding:10px;background-color:#f5f5f5}#wpacu_meta_box_content .wpacu_verified{padding:10px;background-color:#f5f5f5;border-left:1px solid #ddd}#wpacu_meta_box_content .wpacu_verified span{color:#0073aa;font-weight:700}#wpacu_meta_box_content div.wpacu_warning{border:1px solid #c00}#wpacu_meta_box_content ul.wpacu_asset_options{margin:0;padding:0}#wpacu_meta_box_content ul.wpacu_asset_options li{list-style:none;display:inline-block}#wpacu_meta_box_content ul.wpacu_asset_options label{font-weight:400;margin-right:5px;margin-top:5px;margin-bottom:5px}.wpacu-updated-frontend{font-weight:400;background-color:#fff;border-left:4px solid #46b450;border-top:1px solid #46b450;border-right:1px solid #46b450;border-bottom:1px solid #46b450;padding:9px 14px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.wpacu-updated-frontend span.dashicons-yes{color:#46b450;font-size:26px}#wpacu_wrap_assets{color:#000!important;text-align:left!important;clear:both!important;width:90%!important;padding:20px!important;margin:30px 0 0 15px!important;border:1px solid #cdcdcd;z-index:10000!important;position:relative!important;background-color:#fff!important}#wpacu_wrap_assets div.wpacu_warning{border:1px solid #c00;padding:5px 10px}#wpacu_wrap_assets small{display:inline!important;margin:0!important;letter-spacing:normal!important}#wpacu_wrap_assets img,.wpacu_asset_row td label{display:inline-block!important}#wpacu_wrap_assets input[type=checkbox]{margin-right:4px!important}#wpacu_wrap_assets p{line-height:22px!important;margin:10px 0!important;text-align:left!important;font-weight:400!important}#wpacu_wrap_assets p:first-child,.wpacu_verified{margin:0 0 10px!important}#wpacu_wrap_assets h1{margin:0 0 20px!important;font-size:160%!important;text-align:left!important}#wpacu_wrap_assets h3{margin:20px 0;font-size:130%}.wpacu_asset_row td{padding:18px!important;position:relative;border-left:1px solid #cdcdcd;border-right:1px solid #cdcdcd;border-bottom:1px solid #cdcdcd}.wpacu_asset_row td.selected,.wpacu_asset_row td:hover{border:1px solid #cdcdcd;-moz-box-shadow:inset 0 0 12px #cdcdcd;-webkit-box-shadow:inset 0 0 12px #cdcdcd;box-shadow:inset 0 0 12px #cdcdcd}.wpacu_asset_row td:first-child{border-top:1px solid #cdcdcd}.wpacu_asset_row td p{padding:0!important;margin-bottom:10px!important;word-wrap:break-word!important;-ms-word-break:break-all;word-break:break-word}.wpacu_asset_row td label{margin:0!important;cursor:pointer!important;font-size:100%!important;font-weight:400!important}.wpacu_asset_row td label span:not(.dashicons){font-size:100%!important}.wpacu_asset_row td.wpacu_check{width:50px!important}.asset-table-extra-info td{padding:5px!important}body.wp-admin .wpacu_asset_row td.wpacu_check{width:25px!important}.wpacu_asset_row .dashicons-warning{color:red!important}label.wpacu_add_global{cursor:pointer!important}label.wpacu_global_checked{font-weight:700;color:#d54e21}label.wpacu_global_unload_exception{font-weight:700!important}label.wpacu_bulk_unload_active{color:#d54e21}tr.wpacu_global_rule_row.selected{background:#e7e7e7}.nav-tab-wrapper{border-bottom:1px solid #ccc;width:95%}ul.wpacu_asset_options{margin:0 10px 0 0;padding:0}ul.wpacu_asset_options li{margin:0 20px 0 0;list-style:none;display:inline-block}ul.wpacu_asset_options li.remove_rule label{font-weight:700}ul.wpacu_asset_options label{margin-right:20px;font-weight:400}ul.wpacu_asset_options label input{margin-right:4px}.wpacu_list_table,.wpacu_list_table div,.wpacu_list_table li,.wpacu_list_table p{font-weight:400}.wpacu_widefat{width:99%}.wpacu_striped>tbody>:nth-child(even),ul.wpacu_striped>:nth-child(even){background-color:#fff!important}.wpacu_striped>tbody>:nth-child(odd),ul.wpacu_striped>:nth-child(odd){background-color:#f9f9f9!important}.wpacu_update_btn{-moz-box-shadow:inset 0 1px 0 0 #54a3f7!important;-webkit-box-shadow:inset 0 1px 0 0 #54a3f7!important;box-shadow:inset 0 1px 0 0 #54a3f7!important;background:-webkit-gradient(linear,left top,left bottom,color-stop(.05,#007dc1),color-stop(1,#0061a7))!important;background:-moz-linear-gradient(top,#007dc1 5%,#0061a7 100%)!important;background:-webkit-linear-gradient(top,#007dc1 5%,#0061a7 100%)!important;background:-o-linear-gradient(top,#007dc1 5%,#0061a7 100%)!important;background:-ms-linear-gradient(top,#007dc1 5%,#0061a7 100%)!important;background:linear-gradient(to bottom,#007dc1 5%,#0061a7 100%)!important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#007dc1', endColorstr='#0061a7', GradientType=0)!important;background-color:#007dc1!important;-moz-border-radius:3px!important;-webkit-border-radius:3px!important;border-radius:3px!important;border:1px solid #124d77!important;display:inline-block!important;cursor:pointer!important;color:#fff!important;font-size:15px!important;padding:10px 24px!important;text-decoration:none!important;text-shadow:0 1px 0 #154682!important;height:auto!important;line-height:normal!important}.wpacu-btns .btn:focus,.wpacu-btns .btn:hover,.wpacu-btns a{text-decoration:none}.wpacu_update_btn:hover{background:-webkit-gradient(linear,left top,left bottom,color-stop(.05,#0061a7),color-stop(1,#007dc1))!important;background:-moz-linear-gradient(top,#0061a7 5%,#007dc1 100%)!important;background:-webkit-linear-gradient(top,#0061a7 5%,#007dc1 100%)!important;background:-o-linear-gradient(top,#0061a7 5%,#007dc1 100%)!important;background:-ms-linear-gradient(top,#0061a7 5%,#007dc1 100%)!important;background:linear-gradient(to bottom,#0061a7 5%,#007dc1 100%)!important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0061a7', endColorstr='#007dc1', GradientType=0)!important;background-color:#0061a7!important}.wpacu_update_btn:active{position:relative!important;top:1px!important}.wpacu-btns .btn{display:inline-block;font-weight:400;line-height:1.25;text-align:center;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid transparent;padding:.5rem 1rem;font-size:1rem;-webkit-border-radius:.25rem;-moz-border-radius:.25rem;border-radius:.25rem;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.wpacu-btns .btn.focus,.wpacu-btns .btn:focus{outline:0;-webkit-box-shadow:0 0 0 2px rgba(2,117,216,.25);box-shadow:0 0 0 2px rgba(2,117,216,.25)}.wpacu-btns .btn.disabled,.wpacu-btns .btn:disabled{cursor:not-allowed;opacity:.65}.wpacu-btns .btn.active,.wpacu-btns .btn:active{background-image:none}.wpacu-btns a.btn.disabled,.wpacu-btns fieldset[disabled] a.btn{pointer-events:none}.wpacu-btns .btn-primary{color:#fff;background-color:#0275d8;border-color:#0275d8}.wpacu-btns .btn-primary:hover{color:#fff;background-color:#025aa5;border-color:#01549b}.wpacu-btns .btn-primary.focus,.wpacu-btns .btn-primary:focus{-webkit-box-shadow:0 0 0 2px rgba(2,117,216,.5);box-shadow:0 0 0 2px rgba(2,117,216,.5)}.wpacu-btns .btn-primary.disabled,.wpacu-btns .btn-primary:disabled{background-color:#0275d8;border-color:#0275d8}.wpacu-btns .btn-primary.active,.wpacu-btns .btn-primary:active,.wpacu-btns .show>.btn-primary.dropdown-toggle{color:#fff;background-color:#025aa5;background-image:none;border-color:#01549b}.wpacu-btns .btn-secondary{color:#292b2c;background-color:#fff;border-color:#ccc}.wpacu-btns .btn-secondary:hover{color:#292b2c;background-color:#e6e6e6;border-color:#adadad}.wpacu-btns .btn-secondary.focus,.wpacu-btns .btn-secondary:focus{-webkit-box-shadow:0 0 0 2px rgba(204,204,204,.5);box-shadow:0 0 0 2px rgba(204,204,204,.5)}.wpacu-btns .btn-secondary.disabled,.wpacu-btns .btn-secondary:disabled{background-color:#fff;border-color:#ccc}.wpacu-btns .btn-secondary.active,.wpacu-btns .btn-secondary:active,.wpacu-btns .show>.btn-secondary.dropdown-toggle{color:#292b2c;background-color:#e6e6e6;background-image:none;border-color:#adadad}.wpacu-btns .btn-info{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.wpacu-btns .btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#2aabd2}.wpacu-btns .btn-info.focus,.wpacu-btns .btn-info:focus{-webkit-box-shadow:0 0 0 2px rgba(91,192,222,.5);box-shadow:0 0 0 2px rgba(91,192,222,.5)}.wpacu-btns .btn-info.disabled,.wpacu-btns .btn-info:disabled{background-color:#5bc0de;border-color:#5bc0de}.wpacu-btns .btn-info.active,.wpacu-btns .btn-info:active,.wpacu-btns .show>.btn-info.dropdown-toggle{color:#fff;background-color:#31b0d5;background-image:none;border-color:#2aabd2}.wpacu-btns .btn-success{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.wpacu-btns .btn-success:hover{color:#fff;background-color:#449d44;border-color:#419641}.wpacu-btns .btn-success.focus,.wpacu-btns .btn-success:focus{-webkit-box-shadow:0 0 0 2px rgba(92,184,92,.5);box-shadow:0 0 0 2px rgba(92,184,92,.5)}.wpacu-btns .btn-success.disabled,.wpacu-btns .btn-success:disabled{background-color:#5cb85c;border-color:#5cb85c}.wpacu-btns .btn-success.active,.wpacu-btns .btn-success:active,.wpacu-btns .show>.btn-success.dropdown-toggle{color:#fff;background-color:#449d44;background-image:none;border-color:#419641}.wpacu-btns .btn-warning{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.wpacu-btns .btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#eb9316}.wpacu-btns .btn-warning.focus,.wpacu-btns .btn-warning:focus{-webkit-box-shadow:0 0 0 2px rgba(240,173,78,.5);box-shadow:0 0 0 2px rgba(240,173,78,.5)}.wpacu-btns .btn-warning.disabled,.wpacu-btns .btn-warning:disabled{background-color:#f0ad4e;border-color:#f0ad4e}.wpacu-btns .btn-warning.active,.wpacu-btns .btn-warning:active,.wpacu-btns .show>.btn-warning.dropdown-toggle{color:#fff;background-color:#ec971f;background-image:none;border-color:#eb9316}.wpacu-btns .btn-danger{color:#fff;background-color:#d9534f;border-color:#d9534f}.wpacu-btns .btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#c12e2a}.wpacu-btns .btn-danger.focus,.wpacu-btns .btn-danger:focus{-webkit-box-shadow:0 0 0 2px rgba(217,83,79,.5);box-shadow:0 0 0 2px rgba(217,83,79,.5)}.wpacu-btns .btn-danger.disabled,.wpacu-btns .btn-danger:disabled{background-color:#d9534f;border-color:#d9534f}.wpacu-btns .btn-danger.active,.wpacu-btns .btn-danger:active,.wpacu-btns .show>.btn-danger.dropdown-toggle{color:#fff;background-color:#c9302c;background-image:none;border-color:#c12e2a}.wpacu-btns .btn-outline-primary{color:#0275d8;background-image:none;background-color:transparent;border-color:#0275d8}.wpacu-btns .btn-outline-primary:hover{color:#fff;background-color:#0275d8;border-color:#0275d8}.wpacu-btns .btn-outline-primary.focus,.wpacu-btns .btn-outline-primary:focus{-webkit-box-shadow:0 0 0 2px rgba(2,117,216,.5);box-shadow:0 0 0 2px rgba(2,117,216,.5)}.wpacu-btns .btn-outline-primary.disabled,.wpacu-btns .btn-outline-primary:disabled{color:#0275d8;background-color:transparent}.wpacu-btns .btn-outline-primary.active,.wpacu-btns .btn-outline-primary:active,.wpacu-btns .show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#0275d8;border-color:#0275d8}.wpacu-btns .btn-outline-secondary{color:#ccc;background-image:none;background-color:transparent;border-color:#ccc}.wpacu-btns .btn-outline-secondary:hover{color:#fff;background-color:#ccc;border-color:#ccc}.wpacu-btns .btn-outline-secondary.focus,.wpacu-btns .btn-outline-secondary:focus{-webkit-box-shadow:0 0 0 2px rgba(204,204,204,.5);box-shadow:0 0 0 2px rgba(204,204,204,.5)}.wpacu-btns .btn-outline-secondary.disabled,.wpacu-btns .btn-outline-secondary:disabled{color:#ccc;background-color:transparent}.wpacu-btns .btn-outline-secondary.active,.wpacu-btns .btn-outline-secondary:active,.wpacu-btns .show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#ccc;border-color:#ccc}.wpacu-btns .btn-outline-info{color:#5bc0de;background-image:none;background-color:transparent;border-color:#5bc0de}.wpacu-btns .btn-outline-info:hover{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.wpacu-btns .btn-outline-info.focus,.wpacu-btns .btn-outline-info:focus{-webkit-box-shadow:0 0 0 2px rgba(91,192,222,.5);box-shadow:0 0 0 2px rgba(91,192,222,.5)}.wpacu-btns .btn-outline-info.disabled,.wpacu-btns .btn-outline-info:disabled{color:#5bc0de;background-color:transparent}.wpacu-btns .btn-outline-info.active,.wpacu-btns .btn-outline-info:active,.wpacu-btns .show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.wpacu-btns .btn-outline-success{color:#5cb85c;background-image:none;background-color:transparent;border-color:#5cb85c}.wpacu-btns .btn-outline-success:hover{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.wpacu-btns .btn-outline-success.focus,.wpacu-btns .btn-outline-success:focus{-webkit-box-shadow:0 0 0 2px rgba(92,184,92,.5);box-shadow:0 0 0 2px rgba(92,184,92,.5)}.wpacu-btns .btn-outline-success.disabled,.wpacu-btns .btn-outline-success:disabled{color:#5cb85c;background-color:transparent}.wpacu-btns .btn-outline-success.active,.wpacu-btns .btn-outline-success:active,.wpacu-btns .show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.wpacu-btns .btn-outline-warning{color:#f0ad4e;background-image:none;background-color:transparent;border-color:#f0ad4e}.wpacu-btns .btn-outline-warning:hover{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.wpacu-btns .btn-outline-warning.focus,.wpacu-btns .btn-outline-warning:focus{-webkit-box-shadow:0 0 0 2px rgba(240,173,78,.5);box-shadow:0 0 0 2px rgba(240,173,78,.5)}.wpacu-btns .btn-outline-warning.disabled,.wpacu-btns .btn-outline-warning:disabled{color:#f0ad4e;background-color:transparent}.wpacu-btns .btn-outline-warning.active,.wpacu-btns .btn-outline-warning:active,.wpacu-btns .show>.btn-outline-warning.dropdown-toggle{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.wpacu-btns .btn-outline-danger{color:#d9534f;background-image:none;background-color:transparent;border-color:#d9534f}.wpacu-btns .btn-outline-danger:hover{color:#fff;background-color:#d9534f;border-color:#d9534f}.wpacu-btns .btn-outline-danger.focus,.wpacu-btns .btn-outline-danger:focus{-webkit-box-shadow:0 0 0 2px rgba(217,83,79,.5);box-shadow:0 0 0 2px rgba(217,83,79,.5)}.wpacu-btns .btn-outline-danger.disabled,.wpacu-btns .btn-outline-danger:disabled{color:#d9534f;background-color:transparent}.wpacu-btns .btn-outline-danger.active,.wpacu-btns .btn-outline-danger:active,.wpacu-btns .show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#d9534f;border-color:#d9534f}.wpacu-btns .btn-link{font-weight:400;color:#0275d8;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.wpacu-btns .btn-link,.wpacu-btns .btn-link.active,.wpacu-btns .btn-link:active,.wpacu-btns .btn-link:disabled{background-color:transparent}.wpacu-btns .btn-link,.wpacu-btns .btn-link:active,.wpacu-btns .btn-link:focus,.wpacu-btns .btn-link:hover{border-color:transparent}.wpacu-btns .btn-link:focus,.wpacu-btns .btn-link:hover{color:#014c8c;text-decoration:underline;background-color:transparent}.go-pro-button,.wpacu-btns .btn-link:disabled:focus,.wpacu-btns .btn-link:disabled:hover{text-decoration:none}.wpacu-btns .btn-link:disabled{color:#636c72}.wpacu-btns .btn-group-lg>.btn,.wpacu-btns .btn-lg{padding:.75rem 1.5rem;font-size:1.25rem;-webkit-border-radius:.3rem;-moz-border-radius:.3rem;border-radius:.3rem}.wpacu-btns .btn-group-sm>.btn,.wpacu-btns .btn-sm{padding:.25rem .5rem;font-size:.875rem;-webkit-border-radius:.2rem;-moz-border-radius:.2rem;border-radius:.2rem}.wpacu-btns .btn-block{display:block;width:100%}.wpacu-btns .btn-block+.btn-block{margin-top:.5rem}.wpacu-btns input[type=submit].btn-block,.wpacu-btns input[type=reset].btn-block,.wpacu-btns input[type=button].btn-block{width:100%}.wpacu-btns .fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.go-pro-button{background-color:#4CAF50;border:2px solid #4CAF50;color:#fff;padding:12px 18px;text-align:center;display:inline-block;font-size:16px;margin:4px 2px;cursor:pointer;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px;-webkit-transition-duration:.4s;transition-duration:.4s}.go-pro-button:hover{background-color:#fff;color:#000;border:2px solid #4CAF50;text-decoration:none}.go-pro-link-no-style,.wordpress-core-file{display:inline-block;color:inherit;text-decoration:none}body.wp-admin .wpacu_asset_row .go-pro-link-no-style .wpacu-tooltip{padding:8px 2px}body.wp-admin .go-pro-link-no-style .wpacu-tooltip{text-shadow:none;font-weight:400;font-size:12px;line-height:16px;padding:8px 11px}.go-pro-link-no-style{position:relative}.go-pro-link-no-style:not(.nav-tab){font-style:italic}.go-pro-link-no-style.no-transition .wpacu-tooltip{-webkit-transition:0s all ease;transition:0s all ease;-webkit-transition-delay:0s;transition-delay:0s}.go-pro-link-no-style .wpacu-tooltip{font-size:14px;line-height:18px;position:absolute;z-index:1;visibility:hidden;width:160px;background-color:#00a7a7;color:#fff;text-align:center;padding:8px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;bottom:100%;bottom:calc(100% + 15px);left:50%;margin-left:-65px;-webkit-transition:.1s all ease;transition:.1s all ease;-webkit-transition-delay:0s;transition-delay:0s}.go-pro-link-no-style .wpacu-tooltip:after{content:"";position:absolute;border-width:10px;border-style:solid;top:100%;left:50%;left:calc(50% - 10px);border-color:#00a7a7 transparent transparent}.go-pro-link-no-style .wpacu-tooltip.wpacu-on-pages-btn{cursor:pointer;margin-left:-77px;width:130px}.go-pro-link-no-style .wpacu-tooltip.wpacu-larger{width:240px}.go-pro-link-no-style:hover .wpacu-tooltip{visibility:visible}.wpacu_list_table tr:first-child .wpacu-tooltip{bottom:-40px;left:120px;margin-left:-86px}.wpacu_list_table tr:first-child .wpacu-tooltip:after{top:41px;left:-20px;border-color:transparent #c00 transparent transparent}.wordpress-core-file{position:relative;font-style:normal}.wordpress-core-file .wpacu-tooltip{font-size:14px;line-height:18px;position:absolute;z-index:1;visibility:hidden;width:160px;background-color:#c00;color:#fff;text-align:center;padding:6px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;bottom:100%;bottom:calc(100% + 15px);left:50%;margin-left:-86px;-webkit-transition:.1s all ease;transition:.1s all ease;-webkit-transition-delay:0s;transition-delay:0s}.wordpress-core-file .wpacu-tooltip:after{content:"";position:absolute;border-width:10px;border-style:solid;top:100%;left:50%;left:calc(50% - 10px);border-color:#c00 transparent transparent}.wordpress-core-file:hover .wpacu-tooltip{visibility:visible}.ajax-direct-call-error-area{background:#fff;padding:10px;border:1px solid #c00;-webkit-border-radius:8px;-moz-border-radius:8px;border-radius:8px}.ajax-direct-call-error-area td{padding:6px}.ajax-direct-call-error-area .note{margin-top:0;padding-top:0}.ajax-direct-call-error-area .error-code{color:#c00;font-weight:700}.ajax-wp-remote-post-call-error-area{background:#fff;padding:20px}.ajax-wp-remote-post-call-error-area .table-data{background:0 0;border:1px solid #c66;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px}.ajax-wp-remote-post-call-error-area .table-data td{padding:10px}.wrap-upgrade-info{background:#fff;padding:0 15px;border:1px solid #cdcdcd;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px}.wpacu-notice{margin:20px 20px 0 0!important}.wpacu-notice p{font-weight:600!important;font-style:italic}.wpacu-notice .dashicons{font-weight:inherit!important;color:#46b450!important;margin-right:4px;vertical-align:text-bottom;font-size:27px}.wpacu-notice-info{padding:12px 12px 12px 16px;background:#fff;border-left:4px solid #008f9c}.wpacu-notice-info p{margin-top:8px}.wpacu-notice-info p:first-child{margin-top:0}.wpacu-notice-info p:last-child{margin-bottom:0}.wpacu-warning{font-size:15px;padding:10px;background:#fffcec;border:1px solid #fdd5c9;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;margin:0 0 5px;width:100%}.pro-page-unlock-notice{-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px;padding:10px;background:#f2faf2;border:1px solid #c0e8c0;width:auto;display:block}.wpacu-license-area .notice,.wpacu-settings-area .notice{margin-left:0;padding:10px!important;width:97%;box-sizing:border-box;font-weight:600;font-style:italic}.wpacu-license-area .notice .dashicons,.wpacu-settings-area .notice .dashicons{color:green}#wpacu-dom-get-type-selections,.wpacu-radio-selections{float:none;clear:both;width:auto;display:inline-block;margin-bottom:0;margin-top:0}#wpacu-dom-get-type-selections.wpacu-vertical,.wpacu-radio-selections.wpacu-vertical{display:block;margin-top:15px;margin-bottom:18px}#wpacu-dom-get-type-selections.wpacu-vertical li,.wpacu-radio-selections.wpacu-vertical li{float:none;margin-bottom:12px}#wpacu-dom-get-type-selections.wpacu-vertical li:last-child,.wpacu-radio-selections.wpacu-vertical li:last-child{margin-bottom:0}#wpacu-dom-get-type-selections li,.wpacu-radio-selections li{margin-right:30px;float:left;margin-bottom:0}#wpacu-dom-get-type-selections li:first-child,.wpacu-radio-selections li:first-child{margin-right:15px}#wpacu-dom-get-type-selections li:last-child,.wpacu-radio-selections li:last-child{margin-right:0}.wpacu_combine_loaded_js_level_area{display:none;background:0 0;border-left:2px solid #008f9c;padding-top:8px;padding-bottom:8px;padding-right:10px;padding-left:10px;margin:20px 0 15px}.wpacu_combine_loaded_js_level_area.wpacu_active{display:block}#wpacu-dom-get-type-infos{margin-bottom:0}#wpacu-dom-get-type-infos li{margin-bottom:0;line-height:20px}.wpacu-wrap small{width:auto;float:none;display:inline}.wpacu-wrap.wpacu-settings-show-all .wpacu-settings-tab-content{display:block;width:100%}.wpacu-wrap.wpacu-settings-show-all .wpacu-settings-area-title{color:#004567;padding:16px 15px;background:#f8f8f8;border-left:5px solid #004567b0;border-top:1px solid #e7e7e7;border-right:1px solid #e7e7e7;border-bottom:1px solid #e7e7e7;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;font-size:1.45em;font-weight:500}.wpacu-wrap.wpacu-settings-show-all #wpacu-update-button-area{margin:0}.wpacu-wrap.wpacu-settings-show-all #wpacu-update-button-area .button{padding:11px 28px;height:auto;font-size:18px}.wpacu-wrap.wpacu-settings-show-all #wpacu-updating-settings{margin-left:224px;top:25px}.wpacu-wrap.wpacu-switch-standard .asset-cleanup-pro_page_wpassetcleanup_settings .wpacu_switch,.wpacu-wrap.wpacu-switch-standard .asset-cleanup_page_wpassetcleanup_settings .wpacu_switch{width:auto;height:auto}.wpacu-wrap.wpacu-switch-standard .asset-cleanup-pro_page_wpassetcleanup_settings .wpacu_switch input,.wpacu-wrap.wpacu-switch-standard .asset-cleanup_page_wpassetcleanup_settings .wpacu_switch input{display:block}.wpacu-wrap.wpacu-switch-standard .asset-cleanup-pro_page_wpassetcleanup_settings .wpacu_switch input[type=checkbox],.wpacu-wrap.wpacu-switch-standard .asset-cleanup_page_wpassetcleanup_settings .wpacu_switch input[type=checkbox]{margin:0 0 3px}.wpacu-wrap.wpacu-switch-standard .asset-cleanup-pro_page_wpassetcleanup_settings .wpacu_switch .wpacu_slider,.wpacu-wrap.wpacu-switch-standard .asset-cleanup_page_wpassetcleanup_settings .wpacu_switch .wpacu_slider{display:none}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch{position:relative;display:inline-block;width:52px;height:29px}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch input{display:none}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch:not(.wpacu_switch_standard) .wpacu_slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;-webkit-transition:.2s;transition:.2s}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch:not(.wpacu_switch_standard) .wpacu_slider:before{position:absolute;content:'';height:22px;width:22px;left:4px;bottom:4px;background-color:#fff;-webkit-transition:.2s;transition:.2s}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch input:checked+.wpacu_slider{background-color:#52af00}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch input:focus+.wpacu_slider{box-shadow:0 0 1px #52af00}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch input:checked+.wpacu_slider:before{-webkit-transform:translateX(22px);-ms-transform:translateX(22px);transform:translateX(22px)}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch .wpacu_slider.wpacu_round{border-radius:29px}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch .wpacu_slider.wpacu_round:before{border-radius:50%}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch.wpacu_locked_for_pro{opacity:.3}.asset-cleanup-pro_page_wpassetcleanup_settings .setting_title p.wpacu_subtitle,.asset-cleanup_page_wpassetcleanup_settings .setting_title p.wpacu_subtitle{margin-top:4px;line-height:1.4}.asset-cleanup-pro_page_wpassetcleanup_settings .setting_title p.wpacu_subtitle em,.asset-cleanup_page_wpassetcleanup_settings .setting_title p.wpacu_subtitle em{font-weight:200}.asset-cleanup-pro_page_wpassetcleanup_settings .setting_title p.wpacu_read_more,.asset-cleanup_page_wpassetcleanup_settings .setting_title p.wpacu_read_more{margin-top:-10px;font-style:italic;font-size:12px}.asset-cleanup-pro_page_wpassetcleanup_settings .assets_list_inline_code_status_choices,.asset-cleanup-pro_page_wpassetcleanup_settings .assets_list_layout_areas_status_choices,.asset-cleanup-pro_page_wpassetcleanup_settings .input_style_choices,.asset-cleanup_page_wpassetcleanup_settings .assets_list_inline_code_status_choices,.asset-cleanup_page_wpassetcleanup_settings .assets_list_layout_areas_status_choices,.asset-cleanup_page_wpassetcleanup_settings .input_style_choices{list-style:none;margin:0}.asset-cleanup-pro_page_wpassetcleanup_settings .assets_list_inline_code_status_choices li,.asset-cleanup-pro_page_wpassetcleanup_settings .assets_list_layout_areas_status_choices li,.asset-cleanup-pro_page_wpassetcleanup_settings .input_style_choices li,.asset-cleanup_page_wpassetcleanup_settings .assets_list_inline_code_status_choices li,.asset-cleanup_page_wpassetcleanup_settings .assets_list_layout_areas_status_choices li,.asset-cleanup_page_wpassetcleanup_settings .input_style_choices li{float:left;margin-right:30px}.asset-cleanup-pro_page_wpassetcleanup_settings .assets_list_inline_code_status_choices li:last-child,.asset-cleanup-pro_page_wpassetcleanup_settings .assets_list_layout_areas_status_choices li:last-child,.asset-cleanup-pro_page_wpassetcleanup_settings .input_style_choices li:last-child,.asset-cleanup_page_wpassetcleanup_settings .assets_list_inline_code_status_choices li:last-child,.asset-cleanup_page_wpassetcleanup_settings .assets_list_layout_areas_status_choices li:last-child,.asset-cleanup_page_wpassetcleanup_settings .input_style_choices li:last-child{margin-right:0}.notice.notice-success+.wpacu-wrap.wpacu-settings-area{margin-top:20px}.wpacu-form-table th{vertical-align:top;text-align:left;padding:5px 20px 20px 0;width:200px;line-height:1.3;font-weight:600}.wpacu-form-table th label{color:#23282d;font-weight:600;font-size:14px;text-shadow:none;vertical-align:middle;cursor:pointer}.wpacu-form-table td{padding-bottom:25px}.wpacu-form-table td:last-child p:last-child{margin:0}.wpacu-form-table label input[type=checkbox]{height:19px;width:20px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.wpacu-form-table label input[type=checkbox]:checked,.wpacu-form-table label input[type=checkbox]:hover{border:1px solid green}.wpacu-form-table label input[type=checkbox]:checked:before{color:#52af00;font:400 24px/1 dashicons}#wpacu-settings-vertical-tab-wrap{display:table;width:100%}#wpacu-settings-vertical-tab-wrap *{box-sizing:border-box}.wpacu-settings-tab{display:table-cell;width:19%;height:100%;vertical-align:top}.wpacu-settings-tab a{text-decoration:none;border-left:3px solid transparent;display:block;background-color:#f1f1f1;color:#004567;padding:17px 16px;width:100%;outline:0;text-align:left;cursor:pointer;font-size:14px;font-weight:600;border-bottom:1px solid #ccc}.wpacu-settings-tab a:first-child{border-top:1px solid transparent!important}.wpacu-settings-tab a:last-child{border-bottom:1px solid transparent!important}.wpacu-settings-tab a:hover{background-color:#fff;border-left:3px solid #004567;position:relative}.wpacu-settings-tab a.active{color:#004567;background-color:#fff;border-left:3px solid #004567;position:relative;border-bottom:1px solid #ccc}.wpacu-settings-tab a.active:after{content:'';position:absolute;height:100%;width:1px;top:0;right:-1px;background-color:#fff}.wpacu-settings-tab-content{background-color:#fff;display:none;padding:12px 18px;width:79%;border-left:none;height:100%;border-top-right-radius:10px;border-bottom-right-radius:10px}.wpacu-settings-tab-content h2{padding:0 0 15px;border-bottom:1px solid #e7e7e7}.wpacu-settings-tab-content.active{display:table-cell}#wpacu_minify_css_exceptions_area,#wpacu_minify_js_exceptions_area{margin:16px 0 0}#wpacu-update-button-area{position:relative;margin-left:19%}#wpacu-update-button-area.no-left-margin{margin-left:0}#wpacu-update-button-area p{margin-top:10px}#wpacu-update-button-area .button{padding:5px 18px;height:38px;font-size:15px}#wpacu-updating-settings{position:absolute;margin-left:183px;top:19px;display:none}#combine_loaded_js_info_area{position:relative}#combine_loaded_js_info_area.locked-for-pro:before{position:absolute;content:'';height:100%;width:100%;background:#fff;opacity:.5;z-index:10000}.wrap_bulk_unload_options{width:auto;display:inline-flex;-webkit-flex-wrap:wrap;flex-wrap:wrap}.wrap_bulk_unload_options .wpacu_asset_options_wrap{flex-grow:1;margin:5px 10px 14px 0!important;padding:8px 10px 2px!important}.wrap_bulk_unload_options .wpacu_asset_options_wrap .wpacu_slider_text{position:relative!important;vertical-align:top;left:inherit!important;top:inherit!important}.wpacu-switch-enhanced .wpacu_asset_row .wpacu_switch{position:relative;display:inline-block;width:52px;height:29px;margin-right:5px!important}.wpacu-switch-enhanced .wpacu_asset_row .wpacu_switch input{display:none}.wpacu-switch-enhanced .wpacu_asset_row .wpacu_switch .wpacu_slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;-webkit-transition:.2s;transition:.2s}.wpacu-switch-enhanced .wpacu_asset_row .wpacu_switch .wpacu_slider:before{position:absolute;content:'';height:22px;width:22px;left:4px;bottom:4px;background-color:#fff;-webkit-transition:.2s;transition:.2s}.wpacu-switch-enhanced .wpacu_asset_row .wpacu_switch input:checked+.wpacu_slider{background-color:#C00}.wpacu-switch-enhanced .wpacu_asset_row .wpacu_switch input:focus+.wpacu_slider{box-shadow:0 0 1px #C00}.wpacu-switch-enhanced .wpacu_asset_row .wpacu_switch input:checked+.wpacu_slider:before{-webkit-transform:translateX(22px);-ms-transform:translateX(22px);transform:translateX(22px)}.wpacu-switch-enhanced .wpacu_asset_row .wpacu_switch .wpacu_slider.wpacu_round{border-radius:29px}.wpacu-switch-enhanced .wpacu_asset_row .wpacu_switch .wpacu_slider.wpacu_round:before{border-radius:50%}.wpacu-switch-enhanced .wpacu_asset_row .wpacu_slider_text{position:absolute;left:62px;top:3px}.wpacu_asset_row input{height:auto;min-height:16px}.wpacu_asset_row td{width:100%;text-align:left}.wpacu_asset_row td p:last-child{margin-bottom:0!important}.wpacu_asset_row td .wpacu_asset_options_wrap{padding:8px 10px;margin:15px 0;background:#fff;border:1px solid #eee;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.wpacu_asset_row td .wpacu_asset_options_wrap p:first-child{margin-top:0;margin-bottom:8px!important}.wpacu_asset_row p.wpacu_handle{margin-top:0}.wpacu_asset_row li.wpacu_unload_this_page{display:block!important;position:relative}.wpacu-clearfix:after,.wpacu-clearfix:before{content:'';display:table}.wpacu-contract-expand-area{width:100%;margin:20px 0 0}.wpacu-contract-expand-area .col-left{float:left}.wpacu-contract-expand-area .col-left h4{margin-bottom:0}.wpacu-contract-expand-area .col-right{float:right}.wpacu-clearfix:after{clear:both}.wpacu-wp-button{color:#555;border-color:#ccc;background:#f7f7f7;box-shadow:0 1px 0 #ccc;vertical-align:top}body.wp-admin .wpacu-wp-button{font-size:13px;line-height:26px;height:28px}.wpacu-wp-button.wpacu-wp-button-secondary{display:inline-block;text-decoration:none;height:auto;margin:0 5px 0 0;padding:0 10px 1px;cursor:pointer;border-width:1px;border-style:solid;-webkit-appearance:none;border-radius:3px;white-space:nowrap;box-sizing:border-box}.wpacu-wp-button:hover{background:#fafafa;border-color:#999;color:#23282d}.distinguish-asset-list{list-style:none;margin-left:0;margin-bottom:5px;display:inline-block}.distinguish-asset-list li{float:left;margin-right:20px}.distinguish-asset-list li:last-child{margin-right:0}.wpacu-assets-collapsible-wrap{border:1px solid #cdcdcd}.wpacu-assets-collapsible-wrap.wpacu-by-location{margin-bottom:15px}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content>table:last-child,.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-themes .wpacu-assets-collapsible-content>table:last-child{margin-bottom:20px}.wpacu-assets-collapsible-wrap.wpacu-wrap-all,.wpacu-assets-collapsible-wrap.wpacu-wrap-styles{margin-top:20px}.wpacu-assets-collapsible-wrap.wpacu-wrap-scripts{margin-top:10px}.wpacu-assets-collapsible-wrap.wpacu-by-location>a.wpacu-assets-collapsible{padding:15px 15px 15px 43px}.wpacu-assets-collapsible-wrap.wpacu-by-location .wpacu_list_table{border-spacing:inherit;width:100%;box-shadow:3px 3px 2px #ddd;border-bottom-right-radius:5px;border-top-right-radius:5px}.wpacu-assets-collapsible-wrap.wpacu-by-location span.wpacu-child-location-name{font-weight:600}.wpacu-assets-collapsible-wrap.wpacu-by-location span.wpacu-child-location-version{font-weight:200}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-themes .wpacu-assets-collapsible-content .wpacu-location-child-area strong{position:relative;padding:9px 10px 10px 15px;z-index:1}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content .wpacu-location-child-area strong:after,.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-themes .wpacu-assets-collapsible-content .wpacu-location-child-area strong:after{content:'';position:absolute;width:100%;left:0;bottom:0;height:1px;background-color:#fdfdfd}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content .wpacu-location-child-area strong{position:relative;padding:17px 10px 16px 46px;z-index:1}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-themes .wpacu-assets-collapsible-content .wpacu-location-child-area{margin-bottom:10px}.wpacu-assets-collapsible-wrap.wpacu-by-location .wpacu-assets-collapsible-content .wpacu-location-child-area{margin-top:22px;margin-bottom:14px;font-size:110%;line-height:initial}.wpacu-assets-collapsible-wrap.wpacu-by-location .wpacu-assets-collapsible-content .wpacu-location-child-area strong{border-top-right-radius:8px;border-top-left-radius:8px;background-color:#f9f9f9;border-left:1px solid #cdcdcd;border-top:1px solid #cdcdcd;border-bottom:1px solid transparent;border-right:1px solid #cdcdcd;position:relative;padding:10px}.wpacu-assets-collapsible-wrap.wpacu-by-location .icon-plugin-default{position:absolute;padding:0;top:10px;left:10px;width:37px;height:37px}.wpacu-assets-collapsible-wrap.wpacu-by-location .icon-plugin-default:not(.has-icon){color:#b4b9be;background-color:#eee;box-shadow:inset 0 0 10px rgba(160,165,170,.15);-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.wpacu-assets-collapsible-wrap.wpacu-by-location .icon-plugin-default:not(.has-icon) .icon-area:before{content:"\f106";font-family:Dashicons;position:absolute;font-size:28px;line-height:28px;top:5px;left:5px}.wpacu-assets-collapsible-wrap.wpacu-by-location .icon-plugin-default .icon-area{position:relative;width:37px;height:37px}.wpacu-assets-collapsible-wrap.wpacu-external .wpacu-assets-collapsible-content,.wpacu-assets-collapsible-wrap.wpacu-wp_core .wpacu-assets-collapsible-content{padding:0}.wpacu-assets-collapsible-wrap.wpacu-external .wpacu-assets-collapsible-content .wpacu_list_table,.wpacu-assets-collapsible-wrap.wpacu-wp_core .wpacu-assets-collapsible-content .wpacu_list_table{width:100%;margin:0}.wpacu-assets-collapsible-wrap.wpacu-external .wpacu-assets-collapsible-content .wpacu_list_table .wpacu_asset_row td,.wpacu-assets-collapsible-wrap.wpacu-wp_core .wpacu-assets-collapsible-content .wpacu_list_table .wpacu_asset_row td{border-left:hidden;border-right:hidden;border-bottom:1px solid #cdcdcd}.wpacu-assets-collapsible-wrap.wpacu-external .wpacu-assets-collapsible-content .wpacu_list_table .wpacu_asset_row:last-child,.wpacu-assets-collapsible-wrap.wpacu-wp_core .wpacu-assets-collapsible-content .wpacu_list_table .wpacu_asset_row:last-child{margin-bottom:0!important}.wpacu-assets-collapsible-wrap.wpacu-external .wpacu-assets-collapsible-content .wpacu_list_table .wpacu_asset_row:last-child td:last-child,.wpacu-assets-collapsible-wrap.wpacu-wp_core .wpacu-assets-collapsible-content .wpacu_list_table .wpacu_asset_row:last-child td:last-child{border-bottom:hidden}a.wpacu-assets-collapsible{color:#000;font-size:20px;text-decoration:none;display:block;position:relative;background-color:#f1f3f8;cursor:pointer;padding:15px 15px 15px 36px;width:auto;border:none;text-align:left;outline:0}a.wpacu-assets-collapsible>span.dashicons{font-size:25px;line-height:normal;position:absolute;top:15px;top:calc(50% - 21px);left:22px;-webkit-transform:translate(-50%,50%);transform:translate(-50%,50%)}a.wpacu-assets-collapsible:hover{background-color:#f1f3f8;text-decoration:none}a.wpacu-assets-collapsible:after{position:absolute;font-size:22px;font-family:Dashicons;right:14px;top:16px}a.wpacu-assets-collapsible:not(.wpacu-assets-collapsible-active):after{content:"\f132"}a.wpacu-assets-collapsible.wpacu-assets-collapsible-active{background-color:#f1f3f8}a.wpacu-assets-collapsible.wpacu-assets-collapsible-active:after{content:"\f460"}.wpacu-assets-collapsible-content{padding:0 16px;max-height:0;overflow:hidden;background-color:#fbfbfb8c}.wpacu-assets-collapsible-content .wpacu-assets-note{margin:0;padding:15px 15px 10px}.wpacu-assets-collapsible-content>div{padding:16px 0 0}.wpacu-assets-collapsible-content>div>p:first-child{margin-top:0}.wpacu-assets-collapsible-content.wpacu-open{max-height:100%}a.wpacu-assets-inline-code-collapsible{color:inherit;font-size:14px;text-decoration:none;display:inline-block;position:relative;cursor:pointer;width:auto;outline:0;background:#f1f3f8;border:1px solid #cdcdcd;padding:4px 21px 4px 8px;margin:0 0 0 6px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}a.wpacu-assets-inline-code-collapsible:hover{border:1px solid #5c5c5c}a.wpacu-assets-inline-code-collapsible:after{position:absolute;font-size:15px;font-family:Dashicons;right:-3px;top:-1px;height:14px;width:14px;-webkit-transform:translate(-50%,50%);transform:translate(-50%,50%)}a.wpacu-assets-inline-code-collapsible:not(.wpacu-assets-inline-code-collapsible-active):after{content:"\f132"}a.wpacu-assets-inline-code-collapsible.wpacu-assets-inline-code-collapsible-active:after{content:"\f460"}.wpacu-assets-inline-code-collapsible-content{font-size:80%;padding:0 8px;max-height:0;overflow:hidden;background-color:#fbfbfb8c}.wpacu-assets-inline-code-collapsible-content>div{padding:7px 8px 0}.wpacu-assets-inline-code-collapsible-content>div>p{line-height:normal!important}.wpacu-assets-inline-code-collapsible-content>div>p:first-child{margin-top:0}.wpacu-assets-inline-code-collapsible-content.wpacu-open{max-height:100%}.wpacu-wrap-choose-position,.wpacu-wrap-choose-position>div{display:inline}.wpacu-wrap-choose-position select{font-size:inherit;display:inline;margin-left:6px;margin-right:4px}.wpacu_table_wrap{margin:20px 0 0}.wpacu_table_wrap>table{border:1px solid #cdcdcd}.wpacu_table_wrap .table{width:100%;max-width:100%;margin-bottom:1rem;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px}.wpacu_table_wrap .table td,.wpacu_table_wrap .table th{padding:.75rem;vertical-align:top;border-top:1px solid #eceeef}.wpacu_table_wrap .table thead th{vertical-align:bottom;border-bottom:2px solid #eceeef}.wpacu_table_wrap .table tbody+tbody{border-top:2px solid #eceeef}.wpacu_table_wrap .table .table{background-color:#fff}.wpacu_table_wrap .table-sm td,.wpacu_table_wrap .table-sm th{padding:.3rem}.wpacu_table_wrap .table-bordered,.wpacu_table_wrap .table-bordered td,.wpacu_table_wrap .table-bordered th{border:1px solid #eceeef}.wpacu_table_wrap .table-bordered thead td,.wpacu_table_wrap .table-bordered thead th{border-bottom-width:2px}.wpacu_table_wrap .table-striped tbody tr:nth-of-type(even){background-color:#f9f9f9}.wpacu_table_wrap .table-striped tbody tr:nth-of-type(odd){background-color:#fff}.wpacu_table_wrap .table-active,.wpacu_table_wrap .table-active>td,.wpacu_table_wrap .table-active>th,.wpacu_table_wrap .table-hover .table-active:hover,.wpacu_table_wrap .table-hover .table-active:hover>td,.wpacu_table_wrap .table-hover .table-active:hover>th,.wpacu_table_wrap .table-hover tbody tr:hover{background-color:rgba(0,0,0,.075)}.wpacu_table_wrap .table-success,.wpacu_table_wrap .table-success>td,.wpacu_table_wrap .table-success>th{background-color:#dff0d8}.wpacu_table_wrap .table-hover .table-success:hover,.wpacu_table_wrap .table-hover .table-success:hover>td,.wpacu_table_wrap .table-hover .table-success:hover>th{background-color:#d0e9c6}.wpacu_table_wrap .table-info,.wpacu_table_wrap .table-info>td,.wpacu_table_wrap .table-info>th{background-color:#d9edf7}.wpacu_table_wrap .table-hover .table-info:hover,.wpacu_table_wrap .table-hover .table-info:hover>td,.wpacu_table_wrap .table-hover .table-info:hover>th{background-color:#c4e3f3}.wpacu_table_wrap .table-warning,.wpacu_table_wrap .table-warning>td,.wpacu_table_wrap .table-warning>th{background-color:#fcf8e3}.wpacu_table_wrap .table-hover .table-warning:hover,.wpacu_table_wrap .table-hover .table-warning:hover>td,.wpacu_table_wrap .table-hover .table-warning:hover>th{background-color:#faf2cc}.wpacu_table_wrap .table-danger,.wpacu_table_wrap .table-danger>td,.wpacu_table_wrap .table-danger>th{background-color:#f2dede}.wpacu_table_wrap .table-hover .table-danger:hover,.wpacu_table_wrap .table-hover .table-danger:hover>td,.wpacu_table_wrap .table-hover .table-danger:hover>th{background-color:#ebcccc}.wpacu_table_wrap .thead-inverse th{color:#fff;background-color:#292b2c}.wpacu_table_wrap .thead-default th{color:#464a4c;background-color:#eceeef}.wpacu_table_wrap .table-inverse{color:#fff;background-color:#292b2c}.wpacu_table_wrap .table-inverse td,.wpacu_table_wrap .table-inverse th,.wpacu_table_wrap .table-inverse thead th{border-color:#fff}.wpacu_table_wrap .table-inverse.table-bordered,.wpacu_table_wrap .table-responsive.table-bordered{border:0}.wpacu_table_wrap .table-responsive{display:block;width:100%;overflow-x:auto;-ms-overflow-style:-ms-autohiding-scrollbar}ul.hire-reasons{margin-bottom:20px}ul.hire-reasons li{font-size:14px;line-height:22px;margin-bottom:12px}ul.hire-reasons li .dashicons{font-size:23px;line-height:23px}ul.hire-reasons li .dashicons.dashicons-yes{color:green}ol.getting-started li{font-size:14px;line-height:22px;margin-bottom:8px}.wpacu-get-help-wrap p{font-size:14px}.wpacu-get-help-wrap .help-content-wrap{margin:20px 0 25px;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-moz-flex;display:-webkit-flex;display:flex;width:100%}@media only screen and (min-width:768px){.wpacu-get-help-wrap .help-content-wrap{-webkit-box-align:start;-ms-flex-align:start;-ms-grid-row-align:flex-start;align-items:flex-start}}@media only screen and (max-width:767px){.wpacu-get-help-wrap .help-content-wrap{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.wpacu-get-help-wrap .help-content-wrap .help-content{padding:15px;background:#fff;border:1px solid #E0E0E0;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px;box-shadow:2px 3px 8px 0 #231f2038;flex:1 1 50%;margin-bottom:10px}.wpacu-get-help-wrap .help-content-wrap .help-content .content-title{margin:5px 0 15px}.wpacu-get-help-wrap .help-content-wrap .help-content .cols-wrap{width:100%;margin:0 auto;display:table}.wpacu-get-help-wrap .help-content-wrap .help-content .wpacu-image-area{margin:5px 0 0;position:relative}.wpacu-get-help-wrap .help-content-wrap .help-content .wpacu-image-area.col-left{float:left;width:48%}.wpacu-get-help-wrap .help-content-wrap .help-content .wpacu-image-area.col-right{float:right;width:48%}.wpacu-get-help-wrap .help-content-wrap .help-content .wpacu-image-area.activate-plugin img{max-width:280px}.wpacu-get-help-wrap .help-content-wrap .help-content .wpacu-image-area img{width:99%;margin:8px 0;border:1px solid #cdcdcd;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px}.wpacu-get-help-wrap .help-content-wrap .help-content.upgrade-help{order:2}@media only screen and (min-width:768px){.wpacu-get-help-wrap .help-content-wrap .help-content{margin-right:24px}.wpacu-get-help-wrap .help-content-wrap .help-content.upgrade-help{margin-right:0}}.wpacu-get-help-wrap .help-content-wrap .help-content.tech-help{order:1}@media only screen and (max-width:767px){.wpacu-get-help-wrap .help-content-wrap .help-content.tech-help{margin-bottom:30px}}.wpacu-get-help-wrap .help-content-wrap .help-content ul{list-style:none;padding-left:0}.wpacu-get-help-wrap .help-content-wrap .help-content ul li{font-size:14px;line-height:22px;margin-bottom:15px}.wpacu-get-help-wrap .help-content-wrap .help-content p:last-child,.wpacu-get-help-wrap .help-content-wrap .help-content ul li:last-child{margin-bottom:0}#wpacu-license-data-remove-area{display:none;margin:10px 0 25px}#wpacu-license-data-remove-area.wpacu-visible{display:block}span#wpacu-license-data-removed-msg{display:block;padding-left:26px}#wpacu-warning-read{display:none;margin:10px 0}#wpacu-warning-read span.dashicons-warning{color:#c00}#wpacu-warning-read.wpacu-visible{display:block}#wpacu-reset-submit-area{margin:10px 0;clear:both}#wpacu-reset-submit-btn{margin:10px 0 0}.wpacu-tools-area{margin:10px 20px 0 2px}.wpacu-tools-area .wpacu-tools-container{background:#fff;padding:15px;border:1px solid #cdcdcd;width:96%}.wpacu-tools-area .wpacu-tools-container form>div:first-child{margin:0 0 10px}.wpacu-tools-area .wpacu-tools-container form .wpacu-warning{display:none;box-sizing:border-box;margin-top:10px}.wpacu-tools-area .wpacu-tools-container form .wpacu-warning p{margin:0 0 10px;line-height:22px}.wpacu-tools-area .wpacu-tools-container form .wpacu-warning p:only-child{margin:0}.wpacu-tools-area .wpacu-tools-container form .wpacu-warning ul{font-size:13px;list-style-type:disc;padding-left:30px}.wpacu-tools-area .wpacu-tools-container form .wpacu-warning.wpacu-visible{display:block}.wpacu-about-wrap .wpacu-about-text img{width:auto;height:150px;position:absolute;top:20px;right:-20px}@media only screen and (max-width:767px){.wpacu-about-wrap h1{margin:20px}.wpacu-about-wrap .wpacu-about-text img{display:none}.wpacu-about-wrap .wpacu-about-text{margin:20px}}.wpacu-about-wrap .about-wrap-content .area-title{font-size:19px;line-height:19px;margin-bottom:0}.wpacu-about-wrap hr{margin:10px 0}.wpacu-lite-vs-pro-wrap ul{display:flex;top:0;z-index:10;padding-bottom:14px}.wpacu-lite-vs-pro-wrap li{list-style:none;flex:1}.wpacu-lite-vs-pro-wrap li:last-child{border-right:1px solid #DDD}.wpacu-lite-vs-pro-wrap button{width:100%;border:1px solid #DDD;border-right:0;border-top:0;padding:10px;background:#FFF;font-size:14px;font-weight:700;height:60px;color:#999}.wpacu-lite-vs-pro-wrap li.active button{background:#F5F5F5;color:#000}.wpacu-lite-vs-pro-wrap table{border-collapse:collapse;table-layout:fixed;width:100%}.wpacu-lite-vs-pro-wrap th{background:inherit}.wpacu-lite-vs-pro-wrap tr.first{background:inherit;font-size:18px}.wpacu-lite-vs-pro-wrap tr.first .bg-lite{border-top:4px solid #6d6e70;background:#fff;color:#6d6e70}.wpacu-lite-vs-pro-wrap tr.first .bg-pro{border-top:4px solid green;background:#fff;color:green}.wpacu-lite-vs-pro-wrap tr:not(.first){background:#fff}.wpacu-lite-vs-pro-wrap tr:not(:last-child):hover{background:#f8f8f8}.wpacu-lite-vs-pro-wrap td,.wpacu-lite-vs-pro-wrap th{height:53px;border:1px solid #DDD;padding:10px 16px;empty-cells:show;text-align:left}@media only screen and (max-width:767px){.wpacu-lite-vs-pro-wrap td,.wpacu-lite-vs-pro-wrap th{font-size:14px}}.wpacu-lite-vs-pro-wrap td+td,.wpacu-lite-vs-pro-wrap th+th{text-align:center;display:none}.wpacu-lite-vs-pro-wrap td.default{display:table-cell}.wpacu-lite-vs-pro-wrap .txt-l{font-size:28px;font-weight:700}.wpacu-lite-vs-pro-wrap .txt-top{position:relative;top:-9px;left:-2px}.wpacu-lite-vs-pro-wrap svg{width:18px;height:18px}.wpacu-lite-vs-pro-wrap svg path{fill:green}.wpacu-lite-vs-pro-wrap .tick{color:#2CA01C}.wpacu-lite-vs-pro-wrap .tick img{fill:#2CA01C}@media only screen and (max-width:767px){.wpacu-lite-vs-pro-wrap .txt-l{font-size:20px}.wpacu-lite-vs-pro-wrap .tick{font-size:15px}}.wpacu-lite-vs-pro-wrap .na{font-size:18px;opacity:.3;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=30)"}.wpacu-lite-vs-pro-wrap .hide{border:0;background:0 0}.wpacu-lite-vs-pro-wrap td,.wpacu-lite-vs-pro-wrap th{display:table-cell!important;width:auto}.wpacu-lite-vs-pro-wrap td+td,.wpacu-lite-vs-pro-wrap th+th{width:130px}@media only screen and (max-width:767px){.wpacu-lite-vs-pro-wrap .na{font-size:15px}.wpacu-lite-vs-pro-wrap td+td,.wpacu-lite-vs-pro-wrap th+th{width:42px}}@media only screen and (min-width:768px){.wpacu-lite-vs-pro-wrap td .button{font-size:16px!important}}@media only screen and (max-width:767px){.wpacu-lite-vs-pro-wrap td .button{font-size:14px!important;padding:0 20px!important}.wpacu-lite-vs-pro-wrap td .button.button-primary{margin-top:6px;margin-bottom:14px}}@media only screen and (min-width:768px){.wpacu-lite-vs-pro-wrap{margin-bottom:40px;clear:both}}.wpacu-video-areas>div{padding:20px;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px}.wpacu-video-areas>div:nth-child(odd){background:#fff}.wpacu-video-areas>div:nth-child(even){background:inherit}@media only screen and (min-width:1200px){.wpacu-video-areas .wpacu-video-area-wrapper{margin:0 0 15px;display:flex}.wpacu-video-areas .wpacu-video-area-wrapper .wpacu-col-right{padding:0 20px 0 25px}}@media only screen and (min-width:992px) and (max-width:1199px){.wpacu-video-areas .wpacu-video-area-wrapper{margin:0 0 40px}}.wpacu-video-areas .wpacu-video-area-wrapper ol{font-size:14px}.wpacu-video-areas .wpacu-video-area-wrapper ul{font-size:14px;list-style:disc;margin-left:22px}@media only screen and (min-width:1200px){.wpacu-video-areas .wpacu-video-area-wrapper .wpacu-col-right p:first-child{margin-top:0}.wpacu-video-areas .wpacu-video-area-wrapper .wpacu-col-right p:last-child{margin-bottom:0}}@media only screen and (max-width:1199px){.wpacu-video-areas .wpacu-video-area-wrapper .wpacu-video-wrapper{position:relative;padding-bottom:56.25%;padding-top:30px;height:0;overflow:hidden}.wpacu-video-areas .wpacu-video-area-wrapper .wpacu-video-wrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%}}body.wp-admin .wpacu-modal{display:none;position:fixed;z-index:1000000;padding-top:15%;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:#000;background-color:rgba(0,0,0,.4)}body.wp-admin .wpacu-modal-content{background-color:#fefefe;margin:auto;padding:20px;border:1px solid #888;width:80%;max-width:600px;border-radius:10px}body.wp-admin .wpacu-close{color:#aaa;float:right;font-size:28px;font-weight:700}body.wp-admin .wpacu-close:focus,body.wp-admin .wpacu-close:hover{color:#000;text-decoration:none;cursor:pointer}
1
+ .wpacu-tabs,.wpacu-tabs nav a{position:relative;overflow:hidden}.wpacu-tabs{margin:0 auto 20px;width:100%;font-weight:300;font-size:20px}.wpacu-tabs nav{text-align:center}.wpacu-tabs nav ul{position:relative;display:-ms-flexbox;display:-webkit-flex;display:-moz-flex;display:-ms-flex;display:flex;margin:0 auto;padding:0;max-width:1200px;list-style:none;-ms-box-orient:horizontal;-ms-box-pack:center;-webkit-flex-flow:row wrap;-moz-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-justify-content:center;-moz-justify-content:center;-ms-justify-content:center;justify-content:center}.wpacu-tabs nav ul li{position:relative;z-index:1;display:block;margin:0;text-align:center;-webkit-flex:1;-moz-flex:1;-ms-flex:1;flex:1}.wpacu-tabs nav a{display:block;text-overflow:ellipsis;white-space:nowrap;line-height:2.5}.wpacu-tabs nav a span{vertical-align:middle;font-size:14px}.wpacu-tabs nav li.wpacu-tab-current a{color:#74777b}.wpacu-tabs nav a:focus{outline:0}.wpacu-tabs .dashicons{font-size:20px}.no-js .wpacu-content-wrap section{display:block;padding-bottom:2em;border-bottom:1px solid rgba(255,255,255,.6)}.no-flexbox nav ul{display:block}.no-flexbox nav ul li{min-width:15%;display:inline-block}@media screen and (max-width:58em){.wpacu-tabs nav a.icon span{display:none}.wpacu-tabs nav a:before{margin-right:0}}.wpacu-tabs-style-underline nav{background:#fff}.wpacu-tabs-style-underline nav a{color:#74777b;font-size:18px;text-transform:uppercase;text-decoration:none;padding:.25em 0 .5em;border-left:1px solid #e7ecea;-webkit-transition:color .2s;transition:color .2s}.wpacu-tabs-style-underline nav li:last-child a{border-right:1px solid #e7ecea}.wpacu-tabs-style-underline nav li a::after{position:absolute;bottom:0;left:0;width:100%;height:6px;background:#2CC185;content:'';-webkit-transition:-webkit-transform .3s;transition:transform .3s;-webkit-transform:translate3d(0,150%,0);transform:translate3d(0,150%,0)}.wpacu-tabs-style-underline nav li.wpacu-tab-current a::after{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.wpacu-tabs-style-underline nav a span{font-weight:700}.wpacu-tabs-style-topline{max-width:1200px;margin:20px auto;width:100%;font-weight:300;text-decoration:none}.wpacu-tabs-style-topline nav li{border:1px solid rgba(40,44,42,.1)}.wpacu-tabs-style-topline nav li:not(:last-child){border-right:none}.wpacu-tabs-style-topline nav li.wpacu-tab-current{border-top-color:#0085ba;border-bottom:none}.wpacu-tabs-style-topline nav a{padding:20px 10px;background:rgba(40,44,42,.05);color:#74777b;line-height:1;-webkit-transition:color .2s;transition:color .2s;text-decoration:none}.wpacu-tabs-style-topline nav a:focus,.wpacu-tabs-style-topline nav a:hover{color:#0085ba}.wpacu-tabs-style-topline nav li.wpacu-tab-current a{background:0 0;box-shadow:inset 0 3px 0 #0085ba;color:#0085ba}.wpacu-tabs-style-topline nav li.wpacu-tab-current a span:not(.dashicons){font-weight:600}.wpacu-tabs-style-topline nav a span{text-transform:uppercase;font-weight:400}.wpacu-script-attributes-area{margin:20px 0 0}.wpacu-script-attributes-area.wpacu-lite ul.wpacu-script-attributes-settings{padding:5px 7px}.wpacu-script-attributes-area.wpacu-lite ul.wpacu-script-attributes-settings.wpacu-first{margin:0 28px 0 0}.wpacu-script-attributes-area.wpacu-lite ul.wpacu-script-attributes-settings li{margin:0 16px 0 0}.wpacu-script-attributes-area.wpacu-lite ul.wpacu-script-attributes-settings li:last-child{margin:0 2px 0 0}.wpacu-script-attributes-area .wpacu-script-attributes-settings{background:#fff;border:1px solid #eee;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;padding:5px 10px;list-style:none;display:inline-block;margin:0}.widefat .check-column.wpacu_check,body.toplevel_page_wpassetcleanup_settings .notice{padding:10px}.wpacu-script-attributes-area .wpacu-script-attributes-settings.wpacu-first{margin:0 34px 0 0}.wpacu-script-attributes-area .wpacu-script-attributes-settings li{float:left;margin:0 17px 0 0}.wpacu-script-attributes-area .wpacu-script-attributes-settings li:first-child{margin:0 7px 0 0}.wpacu-script-attributes-area .wpacu-script-attributes-settings li:last-child{margin:0}.wpacu-script-attributes-area .wpacu-script-attributes-settings:hover{background:#f2faf2}tr.wpacu_not_load td,tr.wpacu_not_load th{background:#FFE1E1!important}.dashicons-wpacu{width:17px;height:17px;margin:2px 0 0;font-size:16px;text-decoration:none}body[class*=wpassetcleanup] #footer-left{border-left:2px solid green;padding-left:10px}#wpacu_meta_box_content{width:99%}#wpacu_meta_box_content h3{margin-left:0;padding-left:0}#wpacu_meta_box_content div.wpacu_note,#wpacu_wrap_assets div.wpacu_note{padding:10px;background-color:#f5f5f5}#wpacu_meta_box_content .dashicons.dashicons-warning{color:#c00}#wpacu_meta_box_content div.wpacu_warning,#wpacu_wrap_assets div.wpacu_warning{border:1px solid #c00}#wpacu_meta_box_content div.wpacu_verified{padding:10px;background-color:#f5f5f5;border-left:1px solid #ddd}#wpacu_meta_box_content div.wpacu_verified span{color:#0073aa;font-weight:700}#wpacu_meta_box_content ul.wpacu_asset_options{margin:0;padding:0}#wpacu_meta_box_content ul.wpacu_asset_options.wpacu_exception_options_area{margin-bottom:14px}#wpacu_meta_box_content ul.wpacu_asset_options li{list-style:none;display:inline-block;margin:0}#wpacu_wrap_assets img,.wpacu_asset_row td label{display:inline-block!important}#wpacu_meta_box_content ul.wpacu_asset_options label{margin-right:5px;font-weight:400}#wpacu_wrap_assets{color:#000!important;text-align:left;clear:both;width:90%;padding:20px;margin:30px 0 0 15px;border:1px solid #cdcdcd;z-index:10000!important;position:relative;background-color:#fff}#wpacu_wrap_assets p{margin:10px 0;line-height:22px;text-align:left;font-weight:400}#wpacu_wrap_assets h1{margin:0 0 20px;font-size:160%;text-align:left}#wpacu_wrap_assets h3{margin:20px 0;font-size:130%}.wpacu_verified{margin:0 0 10px}.wpacu_asset_row td{padding:10px}.wpacu_asset_row td p{padding:0;margin-bottom:10px;word-wrap:break-word}.wpacu_asset_row td label{cursor:pointer!important;font-size:100%;font-weight:400}.wpacu_asset_row td label span{font-size:100%!important}.wpacu_asset_row td.wpacu_check{width:50px}.asset-table-extra-info td{padding:5px}body.wp-admin .wpacu_asset_row td.wpacu_check{width:25px}.wpacu_asset_row .dashicons{color:red}label.wpacu_add_global{cursor:pointer}label.wpacu_global_checked{font-weight:700;color:#d54e21}label.wpacu_global_unload_exception{font-weight:700!important}label.wpacu_bulk_unload_active{color:#d54e21}tr.wpacu_global_rule_row.selected{background:#e7e7e7}.nav-tab-wrapper{border-bottom:1px solid #ccc;width:95%}ul.wpacu_asset_options{margin:0;padding:0}ul.wpacu_asset_options li{margin:0;list-style:none;display:inline-block}ul.wpacu_asset_options li.remove_rule label{font-weight:700}ul.wpacu_asset_options label{margin-right:20px;font-weight:400}ul.wpacu_asset_options label input{margin-right:4px}.wp-asset-clean-up,.wp-asset-clean-up div,.wp-asset-clean-up li,.wp-asset-clean-up p,.wp-list-table,.wp-list-table div,.wp-list-table li,.wp-list-table p{font-weight:400}.wp-asset-clean-up.widefat{width:99%}.wpacu_widefat,.wpacu_widefat td{border:1px solid #e5e5e5!important}.wpacu_striped>tbody>:nth-child(odd),ul.wpacu_striped>:nth-child(odd){background-color:#f9f9f9!important}.wpacu_update_btn{-moz-box-shadow:inset 0 1px 0 0 #54a3f7!important;-webkit-box-shadow:inset 0 1px 0 0 #54a3f7!important;box-shadow:inset 0 1px 0 0 #54a3f7!important;background:-webkit-gradient(linear,left top,left bottom,color-stop(.05,#007dc1),color-stop(1,#0061a7))!important;background:-moz-linear-gradient(top,#007dc1 5%,#0061a7 100%)!important;background:-webkit-linear-gradient(top,#007dc1 5%,#0061a7 100%)!important;background:-o-linear-gradient(top,#007dc1 5%,#0061a7 100%)!important;background:-ms-linear-gradient(top,#007dc1 5%,#0061a7 100%)!important;background:linear-gradient(to bottom,#007dc1 5%,#0061a7 100%)!important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#007dc1', endColorstr='#0061a7', GradientType=0)!important;background-color:#007dc1!important;-moz-border-radius:3px!important;-webkit-border-radius:3px!important;border-radius:3px!important;border:1px solid #124d77!important;display:inline-block!important;cursor:pointer!important;color:#fff!important;font-size:15px!important;padding:10px 24px!important;text-decoration:none!important;text-shadow:0 1px 0 #154682!important;height:auto!important;line-height:normal!important}.wpacu-btns .btn:focus,.wpacu-btns .btn:hover,.wpacu-btns a{text-decoration:none}.wpacu_update_btn:hover{background:-webkit-gradient(linear,left top,left bottom,color-stop(.05,#0061a7),color-stop(1,#007dc1))!important;background:-moz-linear-gradient(top,#0061a7 5%,#007dc1 100%)!important;background:-webkit-linear-gradient(top,#0061a7 5%,#007dc1 100%)!important;background:-o-linear-gradient(top,#0061a7 5%,#007dc1 100%)!important;background:-ms-linear-gradient(top,#0061a7 5%,#007dc1 100%)!important;background:linear-gradient(to bottom,#0061a7 5%,#007dc1 100%)!important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0061a7', endColorstr='#007dc1', GradientType=0)!important;background-color:#0061a7!important}.wpacu_update_btn:active{position:relative!important;top:1px!important}ul.hire-reasons{margin-bottom:20px}ul.hire-reasons li{font-size:14px;line-height:22px;margin-bottom:12px}ul.hire-reasons li .dashicons{font-size:23px;line-height:23px}ul.hire-reasons li .dashicons.dashicons-yes{color:green}ol.getting-started li{font-size:14px;line-height:22px;margin-bottom:8px}.wpacu-get-help-wrap p{font-size:14px}.wpacu-btns .btn{display:inline-block;font-weight:400;line-height:1.25;text-align:center;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid transparent;padding:.5rem 1rem;font-size:1rem;-webkit-border-radius:.25rem;-moz-border-radius:.25rem;border-radius:.25rem;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.wpacu-btns .btn.focus,.wpacu-btns .btn:focus{outline:0;-webkit-box-shadow:0 0 0 2px rgba(2,117,216,.25);box-shadow:0 0 0 2px rgba(2,117,216,.25)}.wpacu-btns .btn.disabled,.wpacu-btns .btn:disabled{cursor:not-allowed;opacity:.65}.wpacu-btns .btn.active,.wpacu-btns .btn:active{background-image:none}.wpacu-btns a.btn.disabled,.wpacu-btns fieldset[disabled] a.btn{pointer-events:none}.wpacu-btns .btn-primary{color:#fff;background-color:#0275d8;border-color:#0275d8}.wpacu-btns .btn-primary:hover{color:#fff;background-color:#025aa5;border-color:#01549b}.wpacu-btns .btn-primary.focus,.wpacu-btns .btn-primary:focus{-webkit-box-shadow:0 0 0 2px rgba(2,117,216,.5);box-shadow:0 0 0 2px rgba(2,117,216,.5)}.wpacu-btns .btn-primary.disabled,.wpacu-btns .btn-primary:disabled{background-color:#0275d8;border-color:#0275d8}.wpacu-btns .btn-primary.active,.wpacu-btns .btn-primary:active,.wpacu-btns .show>.btn-primary.dropdown-toggle{color:#fff;background-color:#025aa5;background-image:none;border-color:#01549b}.wpacu-btns .btn-secondary{color:#292b2c;background-color:#fff;border-color:#ccc}.wpacu-btns .btn-secondary:hover{color:#292b2c;background-color:#e6e6e6;border-color:#adadad}.wpacu-btns .btn-secondary.focus,.wpacu-btns .btn-secondary:focus{-webkit-box-shadow:0 0 0 2px rgba(204,204,204,.5);box-shadow:0 0 0 2px rgba(204,204,204,.5)}.wpacu-btns .btn-secondary.disabled,.wpacu-btns .btn-secondary:disabled{background-color:#fff;border-color:#ccc}.wpacu-btns .btn-secondary.active,.wpacu-btns .btn-secondary:active,.wpacu-btns .show>.btn-secondary.dropdown-toggle{color:#292b2c;background-color:#e6e6e6;background-image:none;border-color:#adadad}.wpacu-btns .btn-info{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.wpacu-btns .btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#2aabd2}.wpacu-btns .btn-info.focus,.wpacu-btns .btn-info:focus{-webkit-box-shadow:0 0 0 2px rgba(91,192,222,.5);box-shadow:0 0 0 2px rgba(91,192,222,.5)}.wpacu-btns .btn-info.disabled,.wpacu-btns .btn-info:disabled{background-color:#5bc0de;border-color:#5bc0de}.wpacu-btns .btn-info.active,.wpacu-btns .btn-info:active,.wpacu-btns .show>.btn-info.dropdown-toggle{color:#fff;background-color:#31b0d5;background-image:none;border-color:#2aabd2}.wpacu-btns .btn-success{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.wpacu-btns .btn-success:hover{color:#fff;background-color:#449d44;border-color:#419641}.wpacu-btns .btn-success.focus,.wpacu-btns .btn-success:focus{-webkit-box-shadow:0 0 0 2px rgba(92,184,92,.5);box-shadow:0 0 0 2px rgba(92,184,92,.5)}.wpacu-btns .btn-success.disabled,.wpacu-btns .btn-success:disabled{background-color:#5cb85c;border-color:#5cb85c}.wpacu-btns .btn-success.active,.wpacu-btns .btn-success:active,.wpacu-btns .show>.btn-success.dropdown-toggle{color:#fff;background-color:#449d44;background-image:none;border-color:#419641}.wpacu-btns .btn-warning{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.wpacu-btns .btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#eb9316}.wpacu-btns .btn-warning.focus,.wpacu-btns .btn-warning:focus{-webkit-box-shadow:0 0 0 2px rgba(240,173,78,.5);box-shadow:0 0 0 2px rgba(240,173,78,.5)}.wpacu-btns .btn-warning.disabled,.wpacu-btns .btn-warning:disabled{background-color:#f0ad4e;border-color:#f0ad4e}.wpacu-btns .btn-warning.active,.wpacu-btns .btn-warning:active,.wpacu-btns .show>.btn-warning.dropdown-toggle{color:#fff;background-color:#ec971f;background-image:none;border-color:#eb9316}.wpacu-btns .btn-danger{color:#fff;background-color:#d9534f;border-color:#d9534f}.wpacu-btns .btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#c12e2a}.wpacu-btns .btn-danger.focus,.wpacu-btns .btn-danger:focus{-webkit-box-shadow:0 0 0 2px rgba(217,83,79,.5);box-shadow:0 0 0 2px rgba(217,83,79,.5)}.wpacu-btns .btn-danger.disabled,.wpacu-btns .btn-danger:disabled{background-color:#d9534f;border-color:#d9534f}.wpacu-btns .btn-danger.active,.wpacu-btns .btn-danger:active,.wpacu-btns .show>.btn-danger.dropdown-toggle{color:#fff;background-color:#c9302c;background-image:none;border-color:#c12e2a}.wpacu-btns .btn-outline-primary{color:#0275d8;background-image:none;background-color:transparent;border-color:#0275d8}.wpacu-btns .btn-outline-primary:hover{color:#fff;background-color:#0275d8;border-color:#0275d8}.wpacu-btns .btn-outline-primary.focus,.wpacu-btns .btn-outline-primary:focus{-webkit-box-shadow:0 0 0 2px rgba(2,117,216,.5);box-shadow:0 0 0 2px rgba(2,117,216,.5)}.wpacu-btns .btn-outline-primary.disabled,.wpacu-btns .btn-outline-primary:disabled{color:#0275d8;background-color:transparent}.wpacu-btns .btn-outline-primary.active,.wpacu-btns .btn-outline-primary:active,.wpacu-btns .show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#0275d8;border-color:#0275d8}.wpacu-btns .btn-outline-secondary{color:#ccc;background-image:none;background-color:transparent;border-color:#ccc}.wpacu-btns .btn-outline-secondary:hover{color:#fff;background-color:#ccc;border-color:#ccc}.wpacu-btns .btn-outline-secondary.focus,.wpacu-btns .btn-outline-secondary:focus{-webkit-box-shadow:0 0 0 2px rgba(204,204,204,.5);box-shadow:0 0 0 2px rgba(204,204,204,.5)}.wpacu-btns .btn-outline-secondary.disabled,.wpacu-btns .btn-outline-secondary:disabled{color:#ccc;background-color:transparent}.wpacu-btns .btn-outline-secondary.active,.wpacu-btns .btn-outline-secondary:active,.wpacu-btns .show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#ccc;border-color:#ccc}.wpacu-btns .btn-outline-info{color:#5bc0de;background-image:none;background-color:transparent;border-color:#5bc0de}.wpacu-btns .btn-outline-info:hover{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.wpacu-btns .btn-outline-info.focus,.wpacu-btns .btn-outline-info:focus{-webkit-box-shadow:0 0 0 2px rgba(91,192,222,.5);box-shadow:0 0 0 2px rgba(91,192,222,.5)}.wpacu-btns .btn-outline-info.disabled,.wpacu-btns .btn-outline-info:disabled{color:#5bc0de;background-color:transparent}.wpacu-btns .btn-outline-info.active,.wpacu-btns .btn-outline-info:active,.wpacu-btns .show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.wpacu-btns .btn-outline-success{color:#5cb85c;background-image:none;background-color:transparent;border-color:#5cb85c}.wpacu-btns .btn-outline-success:hover{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.wpacu-btns .btn-outline-success.focus,.wpacu-btns .btn-outline-success:focus{-webkit-box-shadow:0 0 0 2px rgba(92,184,92,.5);box-shadow:0 0 0 2px rgba(92,184,92,.5)}.wpacu-btns .btn-outline-success.disabled,.wpacu-btns .btn-outline-success:disabled{color:#5cb85c;background-color:transparent}.wpacu-btns .btn-outline-success.active,.wpacu-btns .btn-outline-success:active,.wpacu-btns .show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.wpacu-btns .btn-outline-warning{color:#f0ad4e;background-image:none;background-color:transparent;border-color:#f0ad4e}.wpacu-btns .btn-outline-warning:hover{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.wpacu-btns .btn-outline-warning.focus,.wpacu-btns .btn-outline-warning:focus{-webkit-box-shadow:0 0 0 2px rgba(240,173,78,.5);box-shadow:0 0 0 2px rgba(240,173,78,.5)}.wpacu-btns .btn-outline-warning.disabled,.wpacu-btns .btn-outline-warning:disabled{color:#f0ad4e;background-color:transparent}.wpacu-btns .btn-outline-warning.active,.wpacu-btns .btn-outline-warning:active,.wpacu-btns .show>.btn-outline-warning.dropdown-toggle{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.wpacu-btns .btn-outline-danger{color:#d9534f;background-image:none;background-color:transparent;border-color:#d9534f}.wpacu-btns .btn-outline-danger:hover{color:#fff;background-color:#d9534f;border-color:#d9534f}.wpacu-btns .btn-outline-danger.focus,.wpacu-btns .btn-outline-danger:focus{-webkit-box-shadow:0 0 0 2px rgba(217,83,79,.5);box-shadow:0 0 0 2px rgba(217,83,79,.5)}.wpacu-btns .btn-outline-danger.disabled,.wpacu-btns .btn-outline-danger:disabled{color:#d9534f;background-color:transparent}.wpacu-btns .btn-outline-danger.active,.wpacu-btns .btn-outline-danger:active,.wpacu-btns .show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#d9534f;border-color:#d9534f}.wpacu-btns .btn-link{font-weight:400;color:#0275d8;border-radius:0}.wpacu-btns .btn-link,.wpacu-btns .btn-link.active,.wpacu-btns .btn-link:active,.wpacu-btns .btn-link:disabled{background-color:transparent}.wpacu-btns .btn-link,.wpacu-btns .btn-link:active,.wpacu-btns .btn-link:focus,.wpacu-btns .btn-link:hover{border-color:transparent}.wpacu-btns .btn-link:focus,.wpacu-btns .btn-link:hover{color:#014c8c;text-decoration:underline;background-color:transparent}.wpacu-btns .btn-link:disabled{color:#636c72}.wpacu-btns .btn-link:disabled:focus,.wpacu-btns .btn-link:disabled:hover{text-decoration:none}.wpacu-btns .btn-group-lg>.btn,.wpacu-btns .btn-lg{padding:.75rem 1.5rem;font-size:1.25rem;border-radius:.3rem}.wpacu-btns .btn-group-sm>.btn,.wpacu-btns .btn-sm{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.wpacu-btns .btn-block{display:block;width:100%}.go-pro-button,.go-pro-link-no-style,.wordpress-core-file{display:inline-block;text-decoration:none}.wpacu-btns .btn-block+.btn-block{margin-top:.5rem}.wpacu-btns input[type=submit].btn-block,.wpacu-btns input[type=reset].btn-block,.wpacu-btns input[type=button].btn-block{width:100%}.wpacu-btns .fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.go-pro-button{background-color:#4CAF50;border:2px solid #4CAF50;color:#fff;padding:12px 18px;text-align:center;font-size:16px;margin:4px 2px;cursor:pointer;border-radius:10px;-webkit-transition-duration:.4s;transition-duration:.4s}.go-pro-button:hover{background-color:#fff;color:#000;border:2px solid #4CAF50}.go-pro-link-no-style .tooltip,.wordpress-core-file .tooltip{font-size:14px;line-height:18px;z-index:1;text-align:center;padding:6px;border-radius:6px;bottom:100%;left:50%}.go-pro-link-no-style{position:relative;color:inherit}.go-pro-link-no-style:not(.nav-tab){font-style:italic}.go-pro-link-no-style .tooltip{position:absolute;visibility:hidden;width:130px;background-color:#27ae60;color:#fff;margin-left:-65px}.go-pro-link-no-style .tooltip.wpacu-larger{width:240px}.go-pro-link-no-style:hover .tooltip{visibility:visible}.wordpress-core-file{position:relative;font-style:normal;color:inherit}.wordpress-core-file .tooltip{position:absolute;visibility:hidden;width:160px;background-color:#c00;color:#fff;margin-left:-80px}.wordpress-core-file:hover .tooltip{visibility:visible}body.wp-admin .go-pro-link-no-style .tooltip{font-size:12px;line-height:16px;padding:5px}.pro-page-unlock-notice{border-radius:10px;padding:10px;background:#f2faf2;border:1px solid #c0e8c0;width:auto;display:block}.wpacu-get-help-wrap .help-content-wrap{margin:20px 0 25px;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-moz-flex;display:-webkit-flex;display:flex;width:100%}@media only screen and (min-width:768px){.wpacu-get-help-wrap .help-content-wrap{-webkit-box-align:start;-ms-flex-align:start;-ms-grid-row-align:flex-start;align-items:flex-start}}@media only screen and (max-width:767px){.wpacu-get-help-wrap .help-content-wrap{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.wpacu-get-help-wrap .help-content-wrap .help-content{padding:15px;background:#fff;border:1px solid #E0E0E0;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px;box-shadow:2px 3px 8px 0 #231f2038;flex:1 1 50%;margin-bottom:10px}.wpacu-get-help-wrap .help-content-wrap .help-content .content-title{margin:5px 0 15px}.wpacu-get-help-wrap .help-content-wrap .help-content .wpacu-image-area{margin:5px 0 0;position:relative}.wpacu-get-help-wrap .help-content-wrap .help-content .wpacu-image-area img{width:99%;margin:8px 0;border:1px solid #cdcdcd;border-radius:10px}.wpacu-get-help-wrap .help-content-wrap .help-content.upgrade-help{order:2}@media only screen and (min-width:768px){.wpacu-get-help-wrap .help-content-wrap .help-content{margin-right:24px}.wpacu-get-help-wrap .help-content-wrap .help-content.upgrade-help{margin-right:0}}.wpacu-get-help-wrap .help-content-wrap .help-content.tech-help{order:1}@media only screen and (max-width:767px){.wpacu-get-help-wrap .help-content-wrap .help-content.tech-help{margin-bottom:30px}}.wpacu-get-help-wrap .help-content-wrap .help-content ul{list-style:none;padding-left:0}.wpacu-get-help-wrap .help-content-wrap .help-content ul li{font-size:14px;line-height:22px;margin-bottom:15px}.wpacu-get-help-wrap .help-content-wrap .help-content p:last-child,.wpacu-get-help-wrap .help-content-wrap .help-content ul li:last-child{margin-bottom:0}.ajax-direct-call-error-area{background:#fff;padding:10px;border:1px solid #c00;border-radius:8px}.ajax-direct-call-error-area td{padding:6px}.ajax-direct-call-error-area .note{margin-top:0;padding-top:0}.ajax-direct-call-error-area .error-code{color:#c00;font-weight:700}.ajax-wp-remote-post-call-error-area{background:#fff;padding:20px}.ajax-wp-remote-post-call-error-area .table-data{background:0 0;border:1px solid #c66;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px}.ajax-wp-remote-post-call-error-area .table-data td{padding:10px}.toplevel_page_wpassetcleanup_settings .wpacu_switch{position:relative;display:inline-block;width:52px;height:29px}.toplevel_page_wpassetcleanup_settings .wpacu_switch.wpacu_locked_for_pro{opacity:.3}.toplevel_page_wpassetcleanup_settings .wpacu_switch input{display:none}.toplevel_page_wpassetcleanup_settings .wpacu_slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;-webkit-transition:.2s;transition:.2s}.toplevel_page_wpassetcleanup_settings .wpacu_slider:before{position:absolute;content:'';height:22px;width:22px;left:4px;bottom:4px;background-color:#fff;-webkit-transition:.2s;transition:.2s}.toplevel_page_wpassetcleanup_settings input:checked+.wpacu_slider{background-color:#52af00}.toplevel_page_wpassetcleanup_settings input:focus+.wpacu_slider{box-shadow:0 0 1px #52af00}.toplevel_page_wpassetcleanup_settings input:checked+.wpacu_slider:before{-webkit-transform:translateX(22px);-ms-transform:translateX(22px);transform:translateX(22px)}.toplevel_page_wpassetcleanup_settings .wpacu_slider.wpacu_round{border-radius:29px}.toplevel_page_wpassetcleanup_settings .wpacu_slider.wpacu_round:before{border-radius:50%}.wpacu_asset_row li.wpacu_unload_this_page{display:block!important;position:relative}.wpacu_asset_row .wpacu_switch{position:relative;display:inline-block;width:52px;height:29px;margin-right:5px!important}.wpacu_asset_row .wpacu_switch input{display:none}.wpacu_asset_row .wpacu_slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;-webkit-transition:.2s;transition:.2s}.wpacu_asset_row .wpacu_slider:before{position:absolute;content:'';height:22px;width:22px;left:4px;bottom:4px;background-color:#fff;-webkit-transition:.2s;transition:.2s}.wpacu_asset_row .wpacu_slider_text{position:absolute;left:62px;top:3px}.wpacu_asset_row input:checked+.wpacu_slider{background-color:#C00}.wpacu_asset_row input:focus+.wpacu_slider{box-shadow:0 0 1px #C00}.wpacu_asset_row input:checked+.wpacu_slider:before{-webkit-transform:translateX(22px);-ms-transform:translateX(22px);transform:translateX(22px)}.wpacu_asset_row .wpacu_slider.wpacu_round{border-radius:29px}.wpacu_asset_row .wpacu_slider.wpacu_round:before{border-radius:50%}.wpacu_table_wrap{margin:20px 0 0}.wpacu_table_wrap>table{border:1px solid #cdcdcd}.wpacu_table_wrap .table{width:100%;max-width:100%;margin-bottom:1rem;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px}.wpacu_table_wrap .table td,.wpacu_table_wrap .table th{padding:.75rem;vertical-align:top;border-top:1px solid #eceeef}.wpacu_table_wrap .table thead th{vertical-align:bottom;border-bottom:2px solid #eceeef}.wpacu_table_wrap .table tbody+tbody{border-top:2px solid #eceeef}.wpacu_table_wrap .table .table{background-color:#fff}.wpacu_table_wrap .table-sm td,.wpacu_table_wrap .table-sm th{padding:.3rem}.wpacu_table_wrap .table-bordered,.wpacu_table_wrap .table-bordered td,.wpacu_table_wrap .table-bordered th{border:1px solid #eceeef}.wpacu_table_wrap .table-bordered thead td,.wpacu_table_wrap .table-bordered thead th{border-bottom-width:2px}.wpacu_table_wrap .table-striped tbody tr:nth-of-type(even){background-color:#f9f9f9}.wpacu_table_wrap .table-striped tbody tr:nth-of-type(odd){background-color:#fff}.wpacu_table_wrap .table-active,.wpacu_table_wrap .table-active>td,.wpacu_table_wrap .table-active>th,.wpacu_table_wrap .table-hover .table-active:hover,.wpacu_table_wrap .table-hover .table-active:hover>td,.wpacu_table_wrap .table-hover .table-active:hover>th,.wpacu_table_wrap .table-hover tbody tr:hover{background-color:rgba(0,0,0,.075)}.wpacu_table_wrap .table-success,.wpacu_table_wrap .table-success>td,.wpacu_table_wrap .table-success>th{background-color:#dff0d8}.wpacu_table_wrap .table-hover .table-success:hover,.wpacu_table_wrap .table-hover .table-success:hover>td,.wpacu_table_wrap .table-hover .table-success:hover>th{background-color:#d0e9c6}.wpacu_table_wrap .table-info,.wpacu_table_wrap .table-info>td,.wpacu_table_wrap .table-info>th{background-color:#d9edf7}.wpacu_table_wrap .table-hover .table-info:hover,.wpacu_table_wrap .table-hover .table-info:hover>td,.wpacu_table_wrap .table-hover .table-info:hover>th{background-color:#c4e3f3}.wpacu_table_wrap .table-warning,.wpacu_table_wrap .table-warning>td,.wpacu_table_wrap .table-warning>th{background-color:#fcf8e3}.wpacu_table_wrap .table-hover .table-warning:hover,.wpacu_table_wrap .table-hover .table-warning:hover>td,.wpacu_table_wrap .table-hover .table-warning:hover>th{background-color:#faf2cc}.wpacu_table_wrap .table-danger,.wpacu_table_wrap .table-danger>td,.wpacu_table_wrap .table-danger>th{background-color:#f2dede}.wpacu_table_wrap .table-hover .table-danger:hover,.wpacu_table_wrap .table-hover .table-danger:hover>td,.wpacu_table_wrap .table-hover .table-danger:hover>th{background-color:#ebcccc}.wpacu_table_wrap .thead-inverse th{color:#fff;background-color:#292b2c}.wpacu_table_wrap .thead-default th{color:#464a4c;background-color:#eceeef}.wpacu_table_wrap .table-inverse{color:#fff;background-color:#292b2c}.wpacu_table_wrap .table-inverse td,.wpacu_table_wrap .table-inverse th,.wpacu_table_wrap .table-inverse thead th{border-color:#fff}.wpacu_table_wrap .table-inverse.table-bordered,.wpacu_table_wrap .table-responsive.table-bordered{border:0}.wpacu_table_wrap .table-responsive{display:block;width:100%;overflow-x:auto;-ms-overflow-style:-ms-autohiding-scrollbar}
classes/AdminBar.php DELETED
@@ -1,115 +0,0 @@
1
- <?php
2
- namespace WpAssetCleanUp;
3
-
4
- /**
5
- * Class AdminBar
6
- * @package WpAssetCleanUp
7
- */
8
- class AdminBar
9
- {
10
- /**
11
- *
12
- */
13
- public function __construct()
14
- {
15
- add_action( 'init', array( $this, 'topBar' ) );
16
- }
17
-
18
- /**
19
- *
20
- */
21
- public function topBar()
22
- {
23
- if (Menu::userCanManageAssets()) {
24
- add_action( 'admin_bar_menu', array( $this, 'topBarInfo' ), 999 );
25
- }
26
- }
27
-
28
- /**
29
- * @param $wp_admin_bar
30
- */
31
- public function topBarInfo($wp_admin_bar)
32
- {
33
- $topTitle = WPACU_PLUGIN_TITLE;
34
-
35
- if (Main::instance()->settings['test_mode']) {
36
- $topTitle .= '&nbsp; <span class="dashicons dashicons-admin-tools"></span> <strong>TEST MODE</strong> is <strong>ON</strong>';
37
- }
38
-
39
- $goBackToCurrentUrl = '&_wp_http_referer=' . urlencode( wp_unslash( $_SERVER['REQUEST_URI'] ) );
40
-
41
- $wp_admin_bar->add_menu(array(
42
- 'id' => 'assetcleanup-parent',
43
- 'title' => $topTitle,
44
- 'href' => admin_url( 'admin.php?page=' . WPACU_PLUGIN_ID . '_settings')
45
- ));
46
-
47
- $wp_admin_bar->add_menu(array(
48
- 'parent' => 'assetcleanup-parent',
49
- 'id' => 'assetcleanup-settings',
50
- 'title' => 'Settings',
51
- 'href' => admin_url( 'admin.php?page=' . WPACU_PLUGIN_ID . '_settings')
52
- ));
53
-
54
- $wp_admin_bar->add_menu( array(
55
- 'parent' => 'assetcleanup-parent',
56
- 'id' => 'assetcleanup-clear-css-js-files-cache',
57
- 'title' => 'Clear CSS/JS Files Cache',
58
- 'href' => wp_nonce_url( admin_url( 'admin-post.php?action=assetcleanup_clear_assets_cache' . $goBackToCurrentUrl ),
59
- 'assetcleanup_clear_assets_cache' )
60
- ) );
61
-
62
- // Only trigger in the front-end view
63
- if (! is_admin()) {
64
- if ( ! Misc::isHomePage() ) {
65
- // Not on the home page
66
- $homepageManageAssetsHref = Main::instance()->frontendShow()
67
- ? get_site_url().'#wpacu_wrap_assets'
68
- : admin_url( 'admin.php?page=' . WPACU_PLUGIN_ID . '_assets_manager&wpacu_for=homepage' );
69
-
70
- $wp_admin_bar->add_menu(array(
71
- 'parent' => 'assetcleanup-parent',
72
- 'id' => 'assetcleanup-homepage',
73
- 'title' => 'Manage Homepage Assets',
74
- 'href' => $homepageManageAssetsHref
75
- ));
76
- } else {
77
- // On the home page
78
- // Front-end view is disabled! Go to Dashboard link
79
- if ( ! Main::instance()->frontendShow() ) {
80
- $wp_admin_bar->add_menu( array(
81
- 'parent' => 'assetcleanup-parent',
82
- 'id' => 'assetcleanup-homepage',
83
- 'title' => 'Manage Page Assets',
84
- 'href' => admin_url( 'admin.php?page=' . WPACU_PLUGIN_ID . '_assets_manager&wpacu_for=homepage' )
85
- ) );
86
- }
87
- }
88
- }
89
-
90
- if (! is_admin() && Main::instance()->frontendShow()) {
91
- $wp_admin_bar->add_menu(array(
92
- 'parent' => 'assetcleanup-parent',
93
- 'id' => 'assetcleanup-jump-to-assets-list',
94
- 'title' => 'Manage Page Assets',
95
- 'href' => '#wpacu_wrap_assets'
96
- ));
97
- }
98
-
99
- $wp_admin_bar->add_menu(array(
100
- 'parent' => 'assetcleanup-parent',
101
- 'id' => 'assetcleanup-bulk-unloaded',
102
- 'title' => 'Bulk Unloads',
103
- 'href' => admin_url( 'admin.php?page=' . WPACU_PLUGIN_ID . '_bulk_unloads')
104
- ));
105
-
106
- $wp_admin_bar->add_menu(array(
107
- 'parent' => 'assetcleanup-parent',
108
- 'id' => 'assetcleanup-support-forum',
109
- 'title' => 'Support Forum',
110
- 'href' => 'https://wordpress.org/support/plugin/wp-asset-clean-up',
111
- 'meta' => array('target' => '_blank')
112
- ));
113
-
114
- }
115
- }
classes/AssetsPagesManager.php DELETED
@@ -1,100 +0,0 @@
1
- <?php
2
- namespace WpAssetCleanUp;
3
-
4
- /**
5
- * Class AssetsPagesManager
6
- * @package WpAssetCleanUp
7
- */
8
- class AssetsPagesManager
9
- {
10
- /**
11
- * @var array
12
- */
13
- public $data = array();
14
-
15
- /**
16
- * AssetsPagesManager constructor.
17
- */
18
- public function __construct()
19
- {
20
- $this->data = array('for' => 'homepage'); // default
21
-
22
- if (isset($_GET['wpacu_for']) && $_GET['wpacu_for'] !== '') {
23
- $this->data['for'] = sanitize_text_field($_GET['wpacu_for']);
24
- }
25
-
26
- if (isset($_GET['page'])) {
27
- $this->data['page'] = $_GET['page'];
28
- }
29
-
30
- if ($this->data['for'] === 'homepage') {
31
- $wpacuSettings = new Settings;
32
- $this->data['wpacu_settings'] = $wpacuSettings->getAll();
33
-
34
- $this->homepage();
35
- }
36
- }
37
-
38
- /**
39
- *
40
- */
41
- public function homepage()
42
- {
43
- $this->data['nonce_name'] = WPACU_PLUGIN_ID . '_home_page_update';
44
- $this->data['show_on_front'] = Misc::getShowOnFront();
45
-
46
- $isHomePageEdit = ( Misc::getVar('get', 'page') === WPACU_PLUGIN_ID . '_assets_manager'
47
- && $this->data['for'] === 'homepage' );
48
-
49
- // Only continue if we are on the plugin's homepage edit mode
50
- if (! $isHomePageEdit) {
51
- return;
52
- }
53
-
54
- if ($this->data['show_on_front'] === 'page') {
55
- // Front page displays: A Static Page
56
- $this->data['page_on_front'] = get_option('page_on_front');
57
-
58
- if ($this->data['page_on_front']) {
59
- $this->data['page_on_front_title'] = get_the_title($this->data['page_on_front']);
60
- }
61
-
62
- $this->data['page_for_posts'] = get_option('page_for_posts');
63
-
64
- if ($this->data['page_for_posts']) {
65
- $this->data['page_for_posts_title'] = get_the_title($this->data['page_for_posts']);
66
- }
67
- } else {
68
- // Your latest posts
69
- $postUrl = get_site_url();
70
-
71
- if (substr($postUrl, -1) !== '/') {
72
- $postUrl .= '/';
73
- }
74
-
75
- $this->data['site_url'] = $postUrl;
76
- }
77
-
78
- if (! empty($_POST)) {
79
- // Update action?
80
- $wpacuNoLoadAssets = Misc::getVar( 'post', WPACU_PLUGIN_ID, array() );
81
- $wpacuHomePageUpdate = Misc::getVar( 'post', 'wpacu_manage_home_page_assets', false );
82
-
83
- // Could Be an Empty Array as Well so just is_array() is enough to use
84
- if ( is_array( $wpacuNoLoadAssets ) && $wpacuHomePageUpdate ) {
85
- check_admin_referer( $this->data['nonce_name'] );
86
-
87
- $wpacuUpdate = new Update;
88
- $wpacuUpdate->updateFrontPage( $wpacuNoLoadAssets );
89
- }
90
- }
91
- }
92
-
93
- /**
94
- *
95
- */
96
- public function page()
97
- {
98
- Main::instance()->parseTemplate('admin-page-assets-manager', $this->data, true);
99
- }
100
- }
classes/BulkUnloads.php CHANGED
@@ -28,8 +28,13 @@ class BulkUnloads
28
*/
29
public function __construct()
30
{
31
- $this->wpacuFor = Misc::getVar('request', 'wpacu_for', $this->wpacuFor);
32
- $this->wpacuPostType = Misc::getVar('request', 'wpacu_post_type', $this->wpacuPostType);
33
34
if (isset($_REQUEST['wpacu_update']) && $_REQUEST['wpacu_update'] == 1) {
35
$this->update();
@@ -96,15 +101,13 @@ class BulkUnloads
96
*/
97
public function update()
98
{
99
- check_admin_referer('wpacu_bulk_unloads_update');
100
-
101
$wpacuUpdate = new Update;
102
103
if ($this->wpacuFor === 'everywhere') {
104
$removed = $wpacuUpdate->removeEverywhereUnloads(array(), array(), 'post');
105
106
if ($removed) {
107
- add_action('wpacu_admin_notices', array($this, 'noticeGlobalsRemoved'));
108
}
109
}
110
@@ -112,7 +115,7 @@ class BulkUnloads
112
$removed = $wpacuUpdate->removeBulkUnloads($this->wpacuPostType);
113
114
if ($removed) {
115
- add_action('wpacu_admin_notices', array($this, 'noticePostTypesRemoved'));
116
}
117
}
118
}
@@ -123,8 +126,8 @@ class BulkUnloads
123
public function noticeGlobalsRemoved()
124
{
125
?>
126
- <div class="updated notice wpacu-notice is-dismissible">
127
- <p><span class="dashicons dashicons-yes"></span> The selected styles/scripts were removed from the global unload list and they will now load in the pages/posts,
128
unless you have other rules that would prevent them from loading.</p>
129
</div>
130
<?php
@@ -136,8 +139,8 @@ class BulkUnloads
136
public function noticePostTypesRemoved()
137
{
138
?>
139
- <div class="updated notice wpacu-notice is-dismissible">
140
- <p><span class="dashicons dashicons-yes"></span> The selected styles/scripts were removed from the unload list for <strong><u><?php echo $this->wpacuPostType; ?></u></strong>
141
post type and they will now load in the pages/posts, unless you have other rules that would prevent them from loading.</p>
142
</div>
143
<?php
28
*/
29
public function __construct()
30
{
31
+ $this->wpacuFor = isset($_REQUEST['wpacu_for'])
32
+ ? $_REQUEST['wpacu_for']
33
+ : $this->wpacuFor;
34
+
35
+ $this->wpacuPostType = isset($_REQUEST['wpacu_post_type'])
36
+ ? $_REQUEST['wpacu_post_type']
37
+ : $this->wpacuPostType;
38
39
if (isset($_REQUEST['wpacu_update']) && $_REQUEST['wpacu_update'] == 1) {
40
$this->update();
101
*/
102
public function update()
103
{
104
$wpacuUpdate = new Update;
105
106
if ($this->wpacuFor === 'everywhere') {
107
$removed = $wpacuUpdate->removeEverywhereUnloads(array(), array(), 'post');
108
109
if ($removed) {
110
+ add_action('admin_notices', array($this, 'noticeGlobalsRemoved'));
111
}
112
}
113
115
$removed = $wpacuUpdate->removeBulkUnloads($this->wpacuPostType);
116
117
if ($removed) {
118
+ add_action('admin_notices', array($this, 'noticePostTypesRemoved'));
119
}
120
}
121
}
126
public function noticeGlobalsRemoved()
127
{
128
?>
129
+ <div class="updated notice is-dismissible">
130
+ <p>The selected styles/scripts were removed from the global unload list and they will now load in the pages/posts,
131
unless you have other rules that would prevent them from loading.</p>
132
</div>
133
<?php
139
public function noticePostTypesRemoved()
140
{
141
?>
142
+ <div class="updated notice is-dismissible">
143
+ <p>The selected styles/scripts were removed from the unload list for <strong><u><?php echo $this->wpacuPostType; ?></u></strong>
144
post type and they will now load in the pages/posts, unless you have other rules that would prevent them from loading.</p>
145
</div>
146
<?php
classes/CleanUp.php DELETED
@@ -1,339 +0,0 @@
1
- <?php
2
- namespace WpAssetCleanUp;
3
-
4
- /**
5
- * Class CleanUp
6
- * @package WpAssetCleanUp
7
- */
8
- class CleanUp
9
- {
10
- /**
11
- *
12
- */
13
- public function init()
14
- {
15
- // Is "Test Mode" is enabled and the page is viewed by a regular visitor (not administrator with plugin activation privileges)?
16
- // Stop here as the script will NOT PREVENT any of the elements below to load
17
- // They will load as they used to for the regular visitor while the admin debugs the website
18
- add_action('init', function() {
19
- if ( Main::instance()->preventUnloadAssets() ) {
20
- return;
21
- }
22
-
23
- CleanUp::doClean();
24
- }, 12);
25
- }
26
-
27
- /**
28
- *
29
- */
30
- public function doClean()
31
- {
32
- $settings = Main::instance()->settings;
33
-
34
- // Remove "Really Simple Discovery (RSD)" link?
35
- if ($settings['remove_rsd_link'] == 1) {
36
- // <link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://yourwebsite.com/xmlrpc.php?rsd" />
37
- remove_action('wp_head', 'rsd_link');
38
- }
39
-
40
- // Remove "Windows Live Writer" link?
41
- if ($settings['remove_wlw_link'] == 1) {
42
- // <link rel="wlwmanifest" type="application/wlwmanifest+xml" href="http://yourwebsite.com/wp-includes/wlwmanifest.xml">
43
- remove_action('wp_head', 'wlwmanifest_link');
44
- }
45
-
46
- // Remove "REST API" link?
47
- if ($settings['remove_rest_api_link'] == 1) {
48
- // <link rel='https://api.w.org/' href='https://yourwebsite.com/wp-json/' />
49
- remove_action('wp_head', 'rest_output_link_wp_head');
50
- }
51
-
52
- // Remove "Shortlink"?
53
- if ($settings['remove_shortlink'] == 1) {
54
- // <link rel='shortlink' href="https://yourdomain.com/?p=1">
55
- remove_action('wp_head', 'wp_shortlink_wp_head');
56
- }
57
-
58
- // Remove "Post's Relational Links"?
59
- if ($settings['remove_posts_rel_links'] == 1) {
60
- // <link rel='prev' title='Title of adjacent post' href='https://yourdomain.com/adjacent-post-slug-here/' />
61
- remove_action('wp_head', 'adjacent_posts_rel_link_wp_head');
62
- }
63
-
64
- // Remove "WordPress version" tag?
65
- if ($settings['remove_wp_version']) {
66
- // <meta name="generator" content="WordPress 4.9.8" />
67
- remove_action('wp_head', 'wp_generator');
68
-
69
- // also hide it from RSS
70
- add_filter('the_generator', '__return_false');
71
- }
72
-
73
- // Remove Main RSS Feed Link?
74
- if ($settings['remove_main_feed_link']) {
75
- add_filter('feed_links_show_posts_feed', '__return_false');
76
- remove_action('wp_head', 'feed_links_extra', 3);
77
- }
78
-
79
- // Remove Comment RSS Feed Link?
80
- if ($settings['remove_comment_feed_link']) {
81
- add_filter('feed_links_show_comments_feed', '__return_false');
82
- }
83
-
84
- // Remove "WordPress version" and all other "generator" meta tags?
85
- if ($settings['remove_generator_tag']) {
86
- add_action('wp_loaded', function () {
87
- ob_start(function ($htmlSource) {
88
- return self::removeMetaGenerators($htmlSource);
89
- });
90
- }, PHP_INT_MAX);
91
- }
92
-
93
- if ($settings['remove_html_comments']) {
94
- add_action('wp_loaded', function () {
95
- ob_start(function ($htmlSource) {
96
- return self::removeHtmlComments($htmlSource);
97
- });
98
- }, PHP_INT_MAX);
99
- }
100
-
101
- // Disable XML-RPC protocol support (partially or completely)
102
- if (in_array($settings['disable_xmlrpc'], array('disable_all', 'disable_pingback'))) {
103
- // Partially or Completely Options / Pingback will be disabled
104
- $this->disableXmlRpcPingback();
105
-
106
- // Complete disable the service
107
- if ($settings['disable_xmlrpc'] === 'disable_all') {
108
- add_filter('xmlrpc_enabled', '__return_false');
109
- }
110
-
111
- // Also clean it up from the <head>
112
- add_action('wp_loaded', function() {
113
- ob_start(function ($htmlSource) {
114
- $pingBackUrl = get_bloginfo('pingback_url');
115
-
116
- $matchRegExps = array(
117
- '#<link rel=("|\')pingback("|\') href=("|\')'.$pingBackUrl.'("|\')( /|)>#',
118
- '#<link href=("|\')'.$pingBackUrl.'("|\') rel=("|\')pingback("|\')( /|)>#'
119
- );
120
-
121
- foreach ($matchRegExps as $matchRegExp) {
122
- $htmlSource = preg_replace($matchRegExp, '', $htmlSource);
123
- }
124
-
125
- return $htmlSource;
126
- });
127
- });
128
- }
129
- }
130
-
131
- /**
132
- *
133
- */
134
- public function disableXmlRpcPingback()
135
- {
136
- // Disable Pingback method
137
- add_filter('xmlrpc_methods', function ($methods) {
138
- unset($methods['pingback.ping'], $methods['pingback.extensions.getPingbacks']);
139
- return $methods;
140
- } );
141
-
142
- // Remove X-Pingback HTTP header
143
- add_filter('wp_headers', function ($headers) {
144
- unset($headers['X-Pingback']);
145
- return $headers;
146
- });
147
- }
148
-
149
- /**
150
- * @param $htmlSource
151
- *
152
- * @return mixed
153
- */
154
- public static function removeMetaGenerators($htmlSource)
155
- {
156
- if (stripos($htmlSource, '<meta') === false) {
157
- return $htmlSource;
158
- }
159
-
160
- // Use DOMDocument to alter the HTML Source and Remove the tags
161
- $htmlSourceOriginal = $htmlSource;
162
-
163
- if (function_exists('libxml_use_internal_errors')
164
- && function_exists('libxml_clear_errors')
165
- && class_exists('DOMDocument'))
166
- {
167
- $document = new \DOMDocument();
168
- libxml_use_internal_errors(true);
169
-
170
- $document->loadHTML($htmlSource);
171
-
172
- $domUpdated = false;
173
-
174
- foreach ($document->getElementsByTagName('meta') as $tagObject) {
175
- $nameAttrValue = $tagObject->getAttribute('name');
176
-
177
- if ($nameAttrValue === 'generator') {
178
- $outerTag = $outerTagRegExp = trim(self::getOuterHTML($tagObject));
179
- $last2Chars = substr($outerTag, -2);
180
-
181
- if ($last2Chars === '">' || $last2Chars === "'>") {
182
- $tagWithoutLastChar = substr($outerTag, 0, -1);
183
- $outerTagRegExp = $tagWithoutLastChar.'(.*?)>';
184
- }
185
-
186
- if (strpos($outerTagRegExp, '<meta') !== false) {
187
- preg_match_all('#' . $outerTagRegExp . '#si', $htmlSource, $matches);
188
-
189
- if (isset($matches[0][0]) && ! empty($matches[0][0]) && strip_tags($matches[0][0]) === '') {
190
- $htmlSource = str_replace( $matches[0][0], '', $htmlSource );
191
- }
192
-
193
- if ($htmlSource !== $htmlSourceOriginal) {
194
- $domUpdated = true;
195
- }
196
- }
197
- }
198
- }
199
-
200
- libxml_clear_errors();
201
-
202
- if ($domUpdated) {
203
- return $htmlSource;
204
- }
205
- }
206
-
207
- // DOMDocument is not enabled. Use the RegExp instead (not as smooth, but does its job)!
208
- preg_match_all('#<meta(.*?)>#si', $htmlSource, $matches);
209
-
210
- if (isset($matches[0]) && ! empty($matches[0])) {
211
- foreach ($matches[0] as $metaTag) {
212
- if (strip_tags($metaTag) === ''
213
- && (stripos($metaTag, 'name="generator"') !== false || stripos($metaTag, 'name=\'generator\'') !== false)
214
- ) {
215
- $htmlSource = str_replace($metaTag, '', $htmlSource);
216
- }
217
- }
218
- }
219
-
220
- return $htmlSource;
221
- }
222
-
223
- /**
224
- * @param $htmlSource
225
- *
226
- * @return mixed
227
- */
228
- public static function removeHtmlComments($htmlSource)
229
- {
230
- // No comments? Do not continue
231
- if (strpos($htmlSource, '<!--') === false) {
232
- return $htmlSource;
233
- }
234
-
235
- if (! (function_exists('libxml_use_internal_errors')
236
- && function_exists('libxml_clear_errors')
237
- && class_exists('DOMDocument')))
238
- {
239
- return $htmlSource;
240
- }
241
-
242
- $domComments = new \DOMDocument();
243
- libxml_use_internal_errors(true);
244
-
245
- $domComments->loadHTML($htmlSource);
246
-
247
- $xpathComments = new \DOMXPath($domComments);
248
- $comments = $xpathComments->query('//comment()');
249
-
250
- libxml_clear_errors();
251
-
252
- if ($comments === null) {
253
- return $htmlSource;
254
- }
255
-
256
- preg_match_all('#<!--(.*?)-->#s', $htmlSource, $matchesRegExpComments);
257
-
258
- // "comments" within tag attributes or script tags?
259
- // e.g. <script>var type='<!-- A comment here -->';</script>
260
- // e.g. <div data-info="This is just a <!-- comment --> text">Content here</div>
261
- $commentsWithinQuotes = array();
262
-
263
- if (isset($matchesRegExpComments[1]) && count($matchesRegExpComments[1]) !== count($comments)) {
264
- preg_match_all('#=(|\s+)(\'|")(|\s+)<!--(.*?)-->(|\s+)(\'|")#s', $htmlSource, $matchesCommentsWithinQuotes);
265
-
266
- if (isset($matchesCommentsWithinQuotes[0]) && ! empty($matchesCommentsWithinQuotes[0])) {
267
- foreach ($matchesCommentsWithinQuotes[0] as $matchedDataOriginal) {
268
- $matchedDataUpdated = str_replace(
269
- array('', '<!--', '-->'),
270
- array('--wpacu-space-del--', '--wpacu-start-comm--', '--wpacu-end-comm--'),
271
- $matchedDataOriginal
272
- );
273
-
274
- $htmlSource = str_replace($matchedDataOriginal, $matchedDataUpdated, $htmlSource);
275
-
276
- $commentsWithinQuotes[] = array(
277
- 'original' => $matchedDataOriginal,
278
- 'updated' => $matchedDataUpdated
279
- );
280
- }
281
- }
282
- }
283
-
284
- foreach ($comments as $comment) {
285
- $entireComment = self::getOuterHTML($comment);
286
-
287
- // Do not strip MSIE conditional comments
288
- if (preg_match('#<!--\[if(.*?)\[endif\]-->#si', $entireComment)) {
289
- continue;
290
- }
291
-
292
- // Any exceptions set in "Strip HTML comments?" textarea?
293
- if (Main::instance()->settings['remove_html_comments_exceptions']) {
294
- $removeHtmlCommentsExceptions = trim(Main::instance()->settings['remove_html_comments_exceptions']);
295
-
296
- if (strpos($removeHtmlCommentsExceptions, "\n") !== false) {
297
- foreach (explode("\n", $removeHtmlCommentsExceptions) as $removeCommExceptionPattern) {
298
- $removeCommExceptionPattern = trim($removeCommExceptionPattern);
299
- if (stripos($entireComment, $removeCommExceptionPattern) !== false) {
300
- continue 2;
301
- }
302
- }
303
- } elseif (stripos($entireComment, $removeHtmlCommentsExceptions) !== false) {
304
- continue;
305
- }
306
- }
307
-
308
- $htmlSource = str_replace(
309
- array(
310
- $entireComment,
311
- '<!--' . $comment->nodeValue . '-->'
312
- ),
313
- '',
314
- $htmlSource
315
- );
316
- }
317
-
318
- if (! empty($commentsWithinQuotes)) {
319
- foreach ($commentsWithinQuotes as $commentQuote) {
320
- $htmlSource = str_replace($commentQuote['updated'], $commentQuote['original'], $htmlSource);
321
- }
322
- }
323
-
324
- return $htmlSource;
325
- }
326
-
327
- /**
328
- * @param $e
329
- *
330
- * @return mixed
331
- */
332
- public static function getOuterHTML($e)
333
- {
334
- $doc = new \DOMDocument();
335
- $doc->appendChild($doc->importNode($e, true));
336
-
337
- return trim($doc->saveHTML());
338
- }
339
- }
classes/HomePage.php ADDED
@@ -0,0 +1,78 @@
1
+ <?php
2
+ namespace WpAssetCleanUp;
3
+
4
+ /**
5
+ * Class HomePage
6
+ * @package WpAssetCleanUp
7
+ */
8
+ class HomePage
9
+ {
10
+ /**
11
+ * @var array
12
+ */
13
+ public $data = array();
14
+
15
+ /**
16
+ * Settings constructor.
17
+ */
18
+ public function __construct()
19
+ {
20
+ $this->data['nonce_name'] = WPACU_PLUGIN_NAME.'_settings';
21
+ $this->data['show_on_front'] = Misc::getShowOnFront();
22
+
23
+ $isHomePageEdit = (isset($_GET['page']) && $_GET['page'] == WPACU_PLUGIN_NAME.'_home_page');
24
+
25
+ // Only continue if we are on the plugin's homepage edit mode
26
+ if (! $isHomePageEdit) {
27
+ return;
28
+ }
29
+
30
+ if ($this->data['show_on_front'] === 'page') {
31
+ // Front page displays: A Static Page
32
+ $this->data['page_on_front'] = get_option('page_on_front');
33
+
34
+ if ($this->data['page_on_front']) {
35
+ $this->data['page_on_front_title'] = get_the_title($this->data['page_on_front']);
36
+ }
37
+
38
+ $this->data['page_for_posts'] = get_option('page_for_posts');
39
+
40
+ if ($this->data['page_for_posts']) {
41
+ $this->data['page_for_posts_title'] = get_the_title($this->data['page_for_posts']);
42
+ }
43
+ } else {
44
+ // Your latest posts
45
+ $postUrl = get_site_url();
46
+
47
+ if (substr($postUrl, -1) != '/') {
48
+ $postUrl .= '/';
49
+ }
50
+
51
+ $this->data['site_url'] = $postUrl;
52
+ }
53
+ }
54
+
55
+ /**
56
+ *
57
+ */
58
+ public function page()
59
+ {
60
+ $wpacuNoLoadAssets = isset($_POST[WPACU_PLUGIN_NAME])
61
+ ? $_POST[WPACU_PLUGIN_NAME] : array();
62
+
63
+ $noncePost = isset($_POST[$this->data['nonce_name']])
64
+ ? $_POST[$this->data['nonce_name']] : '';
65
+
66
+ if (is_array($wpacuNoLoadAssets) && wp_verify_nonce($noncePost, $this->data['nonce_name'])) {
67
+ $wpacuUpdate = new Update;
68
+ $wpacuUpdate->updateFrontPage($wpacuNoLoadAssets);
69
+ }
70
+
71
+ $this->data['nonce_value'] = wp_create_nonce($this->data['nonce_name']);
72
+
73
+ $wpacuSettings = new Settings;
74
+ $this->data['wpacu_settings'] = $wpacuSettings->getAll();
75
+
76
+ Main::instance()->parseTemplate('admin-page-settings-homepage', $this->data, true);
77
+ }
78
+ }
classes/Info.php CHANGED
@@ -2,28 +2,11 @@
2
namespace WpAssetCleanUp;
3
4
/**
5
- * Gets information pages such as "Getting Started", "Help" and "Info"
6
- * Retrieves specific information about a plugin or a theme
7
- *
8
* Class Info
9
* @package WpAssetCleanUp
10
*/
11
class Info
12
{
13
- /**
14
- *
15
- */
16
- public function gettingStarted()
17
- {
18
- $data = array('for' => 'how-it-works');
19
-
20
- if (array_key_exists('wpacu_for', $_GET)) {
21
- $data['for'] = sanitize_text_field($_GET['wpacu_for']);
22
- }
23
-
24
- Main::instance()->parseTemplate('admin-page-getting-started', $data, true);
25
- }
26
-
27
/**
28
*
29
*/
@@ -47,47 +30,4 @@ class Info
47
{
48
Main::instance()->parseTemplate('admin-page-license', array(), true);
49
}
50
-
51
- /**
52
- * @param $locationChild
53
- * @param $allPlugins
54
- * @param $allActivePluginsIcons
55
- *
56
- * @return string
57
- */
58
- public static function getPluginInfo($locationChild, $allPlugins, $allActivePluginsIcons)
59
- {
60
- foreach (array_keys($allPlugins) as $pluginFile) {
61
- if (strpos($pluginFile, $locationChild.'/') === 0) {
62
- $imageIconStyle = $classIconStyle = '';
63
-
64
- if (isset($allActivePluginsIcons[$locationChild]) && $allActivePluginsIcons[$locationChild]) {
65
- $classIconStyle = 'has-icon';
66
- $imageIconStyle = 'style="background: transparent url(\''.$allActivePluginsIcons[$locationChild].'\') no-repeat 0 0; background-size: cover;"';
67
- }
68
-
69
- return '<div class="icon-plugin-default '.$classIconStyle.'"><div class="icon-area" '.$imageIconStyle.'></div></div> &nbsp; <span class="wpacu-child-location-name">'.$allPlugins[$pluginFile]['Name'].'</span>' . ' <span class="wpacu-child-location-version">v'.$allPlugins[$pluginFile]['Version'].'</span>';
70
- }
71
- }
72
-
73
- return $locationChild;
74
- }
75
-
76
- /**
77
- * @param $locationChild
78
- * @param $allThemes
79
- *
80
- * @return string
81
- */
82
- public static function getThemeInfo($locationChild, $allThemes)
83
- {
84
- foreach (array_keys($allThemes) as $themeDir) {
85
- if ($locationChild === $themeDir) {
86
- $themeInfo = wp_get_theme($themeDir);
87
- return $themeInfo->get('Name') . ' <span class="wpacu-child-location-version">v'.$themeInfo->get('Version').'</span>';
88
- }
89
- }
90
-
91
- return $locationChild;
92
- }
93
}
2
namespace WpAssetCleanUp;
3
4
/**
5
* Class Info
6
* @package WpAssetCleanUp
7
*/
8
class Info
9
{
10
/**
11
*
12
*/
30
{
31
Main::instance()->parseTemplate('admin-page-license', array(), true);
32
}
33
}
classes/Main.php CHANGED
@@ -51,6 +51,11 @@ class Main
51
public $isUpdateable = true;
52
// [/wpacu_lite]
53
54
/**
55
* @var int
56
*/
@@ -64,26 +69,32 @@ class Main
64
/**
65
* @var array
66
*/
67
- public $vars = array('woo_url_not_match' => false, 'is_woo_shop_page' => false);
68
69
/**
70
- * This is set to `true` only if "Manage in the Front-end?" is enabled in plugin's settings
71
- * and the logged-in administrator with plugin activation privileges
72
- * is outside the Dashboard viewing the pages like a visitor
73
- *
74
* @var bool
75
*/
76
- public $isFrontendEditView = false;
77
78
/**
79
- * @var array
80
*/
81
- public $stylesInHead = array();
82
83
/**
84
* @var array
85
*/
86
- public $assetsInFooter = array('styles' => array(), 'scripts' => array());
87
88
/**
89
* @var array
@@ -120,24 +131,17 @@ class Main
120
*/
121
public $isAjaxCall = false;
122
123
- /**
124
- * Populated in the Parser constructor
125
- *
126
- * @var array
127
- */
128
- public $skipAssets = array('styles' => array(), 'scripts' => array());
129
-
130
/**
131
* @var Main|null
132
*/
133
- private static $singleton;
134
135
/**
136
* @return null|Main
137
*/
138
public static function instance()
139
{
140
- if (self::$singleton === null) {
141
self::$singleton = new self();
142
}
143
@@ -149,22 +153,18 @@ class Main
149
*/
150
public function __construct()
151
{
152
- $this->skipAssets['styles'] = array(
153
- WPACU_PLUGIN_ID . '-style', // Asset CleanUp Styling (for admin use only)
154
- 'admin-bar', // The top admin bar
155
- 'yoast-seo-adminbar', // Yoast "WordPress SEO" plugin
156
- 'autoptimize-toolbar',
157
- 'query-monitor'
158
- );
159
-
160
- $this->skipAssets['scripts'] = array(
161
- WPACU_PLUGIN_ID . '-script', // Asset CleanUp Script (for admin use only)
162
- 'admin-bar', // The top admin bar
163
- 'autoptimize-toolbar',
164
- 'query-monitor'
165
- );
166
-
167
- if (array_key_exists(WPACU_LOAD_ASSETS_REQ_KEY, $_REQUEST)) {
168
add_filter('w3tc_minify_enable', '__return_false');
169
}
170
@@ -180,97 +180,47 @@ class Main
180
Misc::noAdminBarLoad();
181
}
182
183
- // This is triggered AFTER "saveSettings" from 'Settings' class
184
- // In case the settings were just updated, the script will get the latest values
185
- add_action('init', array($this, 'triggersAfterInit'), 10);
186
-
187
- // Front-end View - Unload the assets
188
- // If there are reasons to prevent the unloading in case 'test mode' is enabled,
189
- // then the prevention will trigger within filterStyles() and filterScripts()
190
-
191
- if (! isset($_REQUEST[WPACU_LOAD_ASSETS_REQ_KEY])) { // AJAX call? Do not trigger the code below
192
- // Unload Styles - HEAD
193
- add_action( 'wp_print_styles', array( $this, 'filterStyles' ), 100000 );
194
-
195
- // Unload Scripts - HEAD
196
- add_action( 'wp_print_scripts', array( $this, 'filterScripts' ), 100000 );
197
-
198
- // Unload Scripts & Styles - FOOTER
199
- // Needs to be triggered very soon as some old plugins/themes use wp_footer() to enqueue scripts
200
- // Sometimes styles are loaded in the BODY section of the page
201
- add_action( 'wp_print_footer_scripts', array( $this, 'filterScripts' ), 1 );
202
- add_action( 'wp_print_footer_scripts', array( $this, 'filterStyles' ), 1 );
203
- }
204
-
205
- add_action( 'admin_footer', array( $this, 'ajaxFetchActivePluginsJsFooterCode' ) );
206
- add_action( 'wp_ajax_' . WPACU_PLUGIN_ID . '_fetch_active_plugins_icons',
207
- array( $this, 'ajaxFetchActivePluginsIcons' ) );
208
-
209
- $this->wpacuHtmlNoticeForAdmin();
210
-
211
- // [wpacu_lite]
212
- add_action('current_screen', array($this, 'currentScreen'));
213
- // [/wpacu_lite]
214
- }
215
-
216
- /**
217
- *
218
- */
219
- public function triggersAfterInit()
220
- {
221
- $wpacuSettingsClass = new Settings();
222
- $this->settings = $wpacuSettingsClass->getAll();
223
-
224
- if ($this->settings['dashboard_show'] && $this->settings['dom_get_type']) {
225
- self::$domGetType = $this->settings['dom_get_type'];
226
- }
227
-
228
- $calledFromDashboard = isset($_REQUEST[WPACU_LOAD_ASSETS_REQ_KEY]);
229
-
230
// Fetch the page in the background to see what scripts/styles are already loading
231
- if ($calledFromDashboard || $this->frontendShow()) {
232
- if ($calledFromDashboard) {
233
- Misc::noAdminBarLoad();
234
- }
235
-
236
- // Save CSS list that is printed in the <HEAD>
237
- add_action('wp_head', array($this, 'saveFooterStyles'), PHP_INT_MAX - 1);
238
-
239
- // Save CSS/JS list that is printed in the <BODY>
240
- add_action('wp_footer', array($this, 'saveFooterScripts'), 100000000);
241
242
- add_action('wp_footer', array($this, 'printScriptsStyles'), PHP_INT_MAX);
243
- }
244
245
- $metaboxes = new MetaBoxes;
246
-
247
- if ( is_admin() ) {
248
- // Do not load the meta box nor do any AJAX calls
249
- // if the asset management is not enabled for the Dashboard
250
- if ($this->settings['dashboard_show'] == 1) {
251
- // Send an AJAX request to get the list of loaded scripts and styles and print it nicely
252
- add_action(
253
- 'wp_ajax_' . WPACU_PLUGIN_ID . '_get_loaded_assets',
254
- array( $this, 'ajaxGetJsonListCallback' )
255
- );
256
- }
257
258
- // If assets management within the Dashboard is not enabled, an explanation message will be shown within the box
259
- // unless the meta box is hidden completely
260
- if (! $this->settings['hide_assets_meta_box']) {
261
- $metaboxes->initManagerMetaBox();
262
- }
263
264
- // Side Meta Box: Asset CleanUp Options
265
- // check if it's not hidden completely
266
- if (! $this->settings['hide_options_meta_box']) {
267
- $metaboxes->initCustomOptionsMetaBox();
268
- }
269
- }
270
271
- if ($this->settings['disable_emojis'] == 1) {
272
- $this->doDisableEmojis();
273
- }
274
}
275
276
/**
@@ -278,14 +228,12 @@ class Main
278
*/
279
public function setVarsBeforeUpdate()
280
{
281
- $this->isFrontendEditView = ( $this->frontendShow() && Menu::userCanManageAssets()
282
- && !isset($_REQUEST[WPACU_LOAD_ASSETS_REQ_KEY])
283
- && !is_admin());
284
285
// it will update $this->isUpdateable;
286
$this->getCurrentPostId();
287
-
288
- define('WPACU_CURRENT_PAGE_ID', $this->getCurrentPostId());
289
}
290
291
/**
@@ -293,7 +241,7 @@ class Main
293
*/
294
public function setVarsAfterAnyUpdate()
295
{
296
- if ( ! isset($_REQUEST[WPACU_LOAD_ASSETS_REQ_KEY]) && ! is_admin()) {
297
$this->globalUnloaded = $this->getGlobalUnload();
298
299
// [wpacu_lite]
@@ -310,9 +258,10 @@ class Main
310
$type = 'post';
311
$post = $getCurrentPost;
312
$this->postTypesUnloaded = $this->getBulkUnload('post_type', $post->post_type);
313
- }
314
-
315
- else {
316
// The request is done for a page such as is_archive(), is_author(), 404, search
317
// and the premium extension is not available, thus no load exceptions are available
318
return;
@@ -322,6 +271,58 @@ class Main
322
}
323
}
324
325
/**
326
* See if there is any list with scripts to be removed in JSON format
327
* Only the handles (the ID of the scripts) are saved
@@ -341,7 +342,7 @@ class Main
341
$globalUnload = $this->globalUnloaded;
342
343
// [wpacu_lite]
344
- if ($nonAssetConfigPage && ! empty($globalUnload['scripts'])) {
345
$list = $globalUnload['scripts'];
346
} else { // [/wpacu_lite]
347
// Post, Page or Front-page?
@@ -375,11 +376,13 @@ class Main
375
}
376
}
377
}
378
// [wpacu_lite]
379
}
380
// [/wpacu_lite]
381
382
- $list = apply_filters('wpacu_filter_scripts', array_unique($list));
383
384
// Let's see if there are load exceptions for this page
385
if (! empty($list) && ! empty($this->loadExceptions['scripts'])) {
@@ -394,7 +397,7 @@ class Main
394
395
$allScripts = $wp_scripts;
396
397
- if ($allScripts !== null && ! empty($allScripts->registered)) {
398
$i = $this->lastScriptPos;
399
400
foreach ($allScripts->registered as $handle => $value) {
@@ -421,11 +424,6 @@ class Main
421
return;
422
}
423
424
- // e.g. for test mode or AJAX calls (where all assets have to load)
425
- if ($this->preventUnloadAssets() === true) {
426
- return;
427
- }
428
-
429
foreach ($list as $handle) {
430
$handle = trim($handle);
431
@@ -464,11 +462,10 @@ class Main
464
$globalUnload = $this->globalUnloaded;
465
466
// [wpacu_lite]
467
- if ($nonAssetConfigPage && ! empty($globalUnload['styles'])) {
468
$list = $globalUnload['styles'];
469
} else { // [/wpacu_lite]
470
- // Post, Page, Front-page
471
- // and more (if the Premium Extension is activated)
472
$toRemove = $this->getAssetsUnloaded();
473
474
$jsonList = @json_decode($toRemove);
@@ -499,13 +496,15 @@ class Main
499
}
500
}
501
}
502
// [wpacu_lite]
503
}
504
// [/wpacu_lite]
505
506
// Any bulk unloaded styles for 'category', 'post_tag' and more?
507
// If the premium extension is enabled, any of the unloaded CSS will be added to the list
508
- $list = apply_filters('wpacu_filter_styles', array_unique($list));
509
510
// Let's see if there are load exceptions for this page
511
if (! empty($list) && ! empty($this->loadExceptions['styles'])) {
@@ -516,11 +515,11 @@ class Main
516
}
517
}
518
519
- global $wp_styles;
520
521
$allStyles = $wp_styles;
522
523
- if ($allStyles !== null && ! empty($allStyles->registered)) {
524
$i = $this->lastStylePos;
525
526
foreach ($allStyles->registered as $handle => $value) {
@@ -541,17 +540,8 @@ class Main
541
if (isset($this->wpAllStyles['queue']) && ! empty($this->wpAllStyles['queue'])) {
542
$this->wpAllStyles['queue'] = array_unique( $this->wpAllStyles['queue'] );
543
}
544
-
545
- }
546
-
547
- // e.g. for test mode or AJAX calls (where all assets have to load)
548
- if ($this->preventUnloadAssets() === true) {
549
- return;
550
}
551
552
- wp_cache_set('wpacu_all_styles_handles', array_keys($this->wpAllStyles['registered']));
553
-
554
- // Nothing to unload?
555
if (empty($list)) {
556
return;
557
}
@@ -573,7 +563,7 @@ class Main
573
{
574
$exceptionsListDefault = $exceptionsList = $this->loadExceptions;
575
576
- if ($type === 'post' && !$postId) {
577
// $postId needs to have a value if $type is a 'post' type
578
return $exceptionsListDefault;
579
}
@@ -586,32 +576,47 @@ class Main
586
// Default
587
$exceptionsListJson = '';
588
589
- $homepageClass = new AssetsPagesManager;
590
591
// Post or Post of the Homepage (if chosen in the Dashboard)
592
- if ($type === 'post'
593
|| ($homepageClass->data['show_on_front'] === 'page' && $postId)
594
) {
595
$exceptionsListJson = get_post_meta(
596
- $postId, '_' . WPACU_PLUGIN_ID . '_load_exceptions',
597
true
598
);
599
- } elseif ($type === 'front_page') {
600
// The home page could also be the list of the latest blog posts
601
$exceptionsListJson = get_option(
602
- WPACU_PLUGIN_ID . '_front_page_load_exceptions'
603
);
604
}
605
606
- if ($exceptionsListJson) {
607
$exceptionsList = json_decode($exceptionsListJson, true);
608
609
- if (json_last_error() !== JSON_ERROR_NONE) {
610
$exceptionsList = $exceptionsListDefault;
611
}
612
}
613
614
- return $exceptionsList;
615
}
616
617
/**
@@ -620,7 +625,7 @@ class Main
620
public function getGlobalUnload()
621
{
622
$existingListEmpty = array('styles' => array(), 'scripts' => array());
623
- $existingListJson = get_option( WPACU_PLUGIN_ID . '_global_unload');
624
625
$existingListData = $this->existingList($existingListJson, $existingListEmpty);
626
@@ -637,7 +642,7 @@ class Main
637
{
638
$existingListEmpty = array('styles' => array(), 'scripts' => array());
639
640
- $existingListAllJson = get_option( WPACU_PLUGIN_ID . '_bulk_unload');
641
642
if (! $existingListAllJson) {
643
return $existingListEmpty;
@@ -664,37 +669,15 @@ class Main
664
return $existingList;
665
}
666
667
- /**
668
- *
669
- */
670
- public function saveFooterStyles()
671
- {
672
- if (isset($this->wpAllStyles['queue']) && ! empty($this->wpAllStyles['queue'])) {
673
- $this->stylesInHead = $this->wpAllStyles['queue'];
674
- }
675
- }
676
-
677
/**
678
*
679
*/
680
- public function saveFooterScripts()
681
{
682
global $wp_scripts;
683
- $this->assetsInFooter['scripts'] = (isset($wp_scripts->in_footer) && ! empty($wp_scripts->in_footer)) ? $wp_scripts->in_footer : array();
684
-
685
- $footerStyles = array();
686
-
687
- if (isset($this->wpAllStyles['queue']) && ! empty($this->wpAllStyles['queue'])) {
688
- foreach ( $this->wpAllStyles['queue'] as $handle ) {
689
- if ( ! in_array( $handle, $this->stylesInHead ) ) {
690
- $footerStyles[] = $handle;
691
- }
692
- }
693
- }
694
-
695
- $this->assetsInFooter['styles'] = $footerStyles;
696
697
- }
698
699
/**
700
* This output will be extracted and the JSON will be processed
@@ -706,21 +689,17 @@ class Main
706
public function printScriptsStyles()
707
{
708
// Not for WordPress AJAX calls
709
- if (self::$domGetType === 'direct' && defined('DOING_AJAX') && DOING_AJAX) {
710
return;
711
}
712
713
- $isFrontEndEditView = $this->isFrontendEditView;
714
- $isDashboardEditView = (!$isFrontEndEditView && array_key_exists(WPACU_LOAD_ASSETS_REQ_KEY, $_REQUEST));
715
716
- if (!$isFrontEndEditView && !$isDashboardEditView) {
717
return;
718
}
719
720
- if ($isFrontEndEditView && array_key_exists('elementor-preview', $_GET) && $_GET['elementor-preview']) {
721
- return;
722
- }
723
-
724
// Prevent plugins from altering the DOM
725
add_filter('w3tc_minify_enable', '__return_false');
726
@@ -768,15 +747,19 @@ class Main
768
}
769
}
770
771
$manageStyles = $wp_styles->done;
772
$manageScripts = $wp_scripts->done;
773
774
- if ($isFrontEndEditView) {
775
- if (! empty($this->wpAllStyles) && isset($this->wpAllStyles['queue'])) {
776
$manageStyles = $this->wpAllStyles['queue'];
777
}
778
779
- if (! empty($this->wpAllScripts) && isset($this->wpAllScripts['queue'])) {
780
$manageScripts = $this->wpAllScripts['queue'];
781
}
782
@@ -822,19 +805,24 @@ class Main
822
*/
823
$stylesList = $wp_styles->registered;
824
825
- if ($isFrontEndEditView) {
826
$stylesList = $stylesBeforeUnload['registered'];
827
}
828
829
if (! empty($stylesList)) {
830
/* These styles below are used by this plugin (except admin-bar) and they should not show in the list
831
as they are loaded only when you (or other admin) manage the assets, never for your website visitors */
832
- if (is_admin_bar_showing() && is_admin()) {
833
- $this->skipAssets['styles'][] = 'dashicons';
834
- }
835
836
foreach ($manageStyles as $handle) {
837
- if (! isset($stylesList[$handle]) || in_array($handle, $this->skipAssets['styles'])) {
838
continue;
839
}
840
@@ -850,7 +838,7 @@ class Main
850
}
851
852
// Append unloaded ones (if any)
853
- if (!empty($stylesBeforeUnload) && ! empty($currentUnloadedAll['styles'])) {
854
foreach ($currentUnloadedAll['styles'] as $sbuHandle) {
855
if (! in_array($sbuHandle, $manageStyles)) {
856
// Could be an old style that is not loaded anymore
@@ -875,15 +863,20 @@ class Main
875
*/
876
$scriptsList = $wp_scripts->registered;
877
878
- if ($isFrontEndEditView) {
879
$scriptsList = $scriptsBeforeUnload['registered'];
880
}
881
882
if (! empty($scriptsList)) {
883
/* These scripts below are used by this plugin (except admin-bar) and they should not show in the list
884
as they are loaded only when you (or other admin) manage the assets, never for your website visitors */
885
foreach ($manageScripts as $handle) {
886
- if (! isset($scriptsList[$handle]) || in_array($handle, $this->skipAssets['scripts'])) {
887
continue;
888
}
889
@@ -899,7 +892,7 @@ class Main
899
}
900
901
// Append unloaded ones (if any)
902
- if (!empty($scriptsBeforeUnload) && ! empty($currentUnloadedAll['scripts'])) {
903
foreach ($currentUnloadedAll['scripts'] as $sbuHandle) {
904
if (! in_array($sbuHandle, $manageScripts)) {
905
// Could be an old script that is not loaded anymore
@@ -920,62 +913,51 @@ class Main
920
}
921
922
// Front-end View while admin is logged in
923
- if ($isFrontEndEditView) {
924
- $wpacuSettings = new Settings();
925
-
926
$data = array(
927
- 'is_updateable' => true,
928
- 'post_type' => '',
929
- 'bulk_unloaded' => array('post_type' => array()),
930
- 'plugin_settings' => $wpacuSettings->getAll()
931
);
932
933
- $data['wpacu_page_just_updated'] = false;
934
-
935
- if (get_transient('wpacu_page_just_updated')) {
936
- $data['wpacu_page_just_updated'] = true;
937
- delete_transient('wpacu_page_just_updated');
938
- }
939
-
940
// [wpacu_lite]
941
if ($this->isUpdateable) {
942
// [/wpacu_lite]
943
$data['current'] = $currentUnloaded;
944
945
$data['all']['scripts'] = $list['scripts'];
946
- $data['all']['styles'] = $list['styles'];
947
-
948
- if ($data['plugin_settings']['assets_list_layout'] === 'by-location') {
949
- $data['all'] = Sorting::appendLocation($data['all']);
950
- } else {
951
- $data['all'] = Sorting::sortListByAlpha($data['all']);
952
- }
953
954
- $this->fetchUrl = Misc::getPageUrl($this->getCurrentPostId());
955
956
- $data['fetch_url'] = $this->fetchUrl;
957
958
- $data['nonce_name'] = Update::NONCE_FIELD_NAME;
959
- $data['nonce_action'] = Update::NONCE_ACTION_NAME;
960
961
$data = $this->alterAssetObj($data);
962
963
- $data['global_unload'] = $this->globalUnloaded;
964
965
if (Misc::isHomePage()) {
966
$type = 'front_page';
967
} elseif ($this->getCurrentPostId() > 0) {
968
$type = 'post';
969
}
970
- $data['load_exceptions'] = $this->getLoadExceptions($type, $this->getCurrentPostId());
971
// [wpacu_lite]
972
} else {
973
$data['is_updateable'] = false;
974
}
975
// [/wpacu_lite]
976
977
- // WooCommerce Shop Page?
978
- $data['is_woo_shop_page'] = $this->vars['is_woo_shop_page'];
979
980
$data['is_bulk_unloadable'] = $data['bulk_unloaded_type'] = false;
981
@@ -998,11 +980,17 @@ class Main
998
$data = $this->setPageTemplate($data);
999
}
1000
1001
- $data['total_styles'] = ! empty($data['all']['styles']) ? count($data['all']['styles']) : 0;
1002
- $data['total_scripts'] = ! empty($data['all']['scripts']) ? count($data['all']['scripts']) : 0;
1003
1004
$this->parseTemplate('settings-frontend', $data, true);
1005
- } elseif ($isDashboardEditView) {
1006
// AJAX call (not the classic WP one) from the WP Dashboard
1007
echo self::START_DEL
1008
.base64_encode(json_encode($list)).
@@ -1022,6 +1010,8 @@ class Main
1022
*/
1023
public function parseTemplate($name, $data = array(), $echo = false)
1024
{
1025
$templateFile = apply_filters(
1026
'wpacu_template_file', // tag
1027
dirname(__DIR__) . '/templates/' . $name . '.php', // value
@@ -1029,7 +1019,7 @@ class Main
1029
);
1030
1031
if (! file_exists($templateFile)) {
1032
- return 'Template '.$templateFile.' not found.';
1033
}
1034
1035
ob_start();
@@ -1049,25 +1039,18 @@ class Main
1049
*/
1050
public function ajaxGetJsonListCallback()
1051
{
1052
- $postId = isset($_POST['post_id']) ? (int)$_POST['post_id'] : ''; // if any (could be home page for instance)
1053
- $pageUrl = Misc::getVar('post', 'page_url'); // post, page, custom post type, home page etc.
1054
-
1055
- // Not homepage, but a post/page? Check if it's published in case AJAX call
1056
- // wasn't stopped due to JS errors or other reasons
1057
- if ($postId > 0 && get_post_status($postId) !== 'publish') {
1058
- exit(__('The CSS/JS files will be available to manage once the post/page is published.', WPACU_PLUGIN_TEXT_DOMAIN));
1059
- }
1060
1061
$wpacuList = $contents = '';
1062
1063
- $settings = new Settings();
1064
-
1065
if (self::$domGetType === 'direct') {
1066
- $wpacuList = Misc::getVar('post', 'wpacu_list');
1067
} elseif (self::$domGetType === 'wp_remote_post') {
1068
$wpRemotePost = wp_remote_post($pageUrl, array(
1069
'body' => array(
1070
- WPACU_LOAD_ASSETS_REQ_KEY => 1
1071
)
1072
));
1073
@@ -1083,13 +1066,12 @@ class Main
1083
);
1084
}
1085
1086
- // The list of assets could not be retrieved via "WP Remote Post" for this server
1087
- // Print out the 'error' response to make the user aware about it
1088
if (! $wpacuList) {
1089
$data = array(
1090
'is_dashboard_view' => true,
1091
- 'plugin_settings' => $settings->getAll(),
1092
- 'wp_remote_post' => $wpRemotePost,
1093
);
1094
1095
$this->parseTemplate('meta-box-loaded', $data, true);
@@ -1099,21 +1081,18 @@ class Main
1099
1100
$json = base64_decode($wpacuList);
1101
1102
- $data = array(
1103
- 'post_id' => $postId,
1104
- 'plugin_settings' => $settings->getAll()
1105
- );
1106
1107
$data['all'] = (array)json_decode($json);
1108
1109
- if ($data['plugin_settings']['assets_list_layout'] === 'by-location') {
1110
- $data['all'] = Sorting::appendLocation($data['all']);
1111
- } else {
1112
- $data['all'] = Sorting::sortListByAlpha($data['all']);
1113
- }
1114
1115
- // This value is needed to determine the location of an asset (HEAD OR BODY)
1116
- // Check any existing results
1117
$data['current'] = (array)json_decode($this->getAssetsUnloaded($postId));
1118
1119
// Set to empty if not set to avoid any errors
@@ -1146,69 +1125,35 @@ class Main
1146
}
1147
}
1148
1149
- if ($postId > 0) {
1150
$type = 'post';
1151
- }
1152
- elseif ($postId == 0) {
1153
$type = 'front_page';
1154
}
1155
1156
$data['load_exceptions'] = $this->getLoadExceptions($type, $postId);
1157
1158
- $data['total_styles'] = ! empty($data['all']['styles']) ? count($data['all']['styles']) : 0;
1159
- $data['total_scripts'] = ! empty($data['all']['scripts']) ? count($data['all']['scripts']) : 0;
1160
1161
$this->parseTemplate('meta-box-loaded', $data, true);
1162
1163
exit;
1164
}
1165
1166
- /**
1167
- * @return void
1168
- */
1169
- public function ajaxFetchActivePluginsIcons()
1170
- {
1171
- if (! isset($_POST['action'])) {
1172
- return;
1173
- }
1174
-
1175
- if (! Menu::userCanManageAssets()) {
1176
- return;
1177
- }
1178
-
1179
- $activePluginsIcons = Misc::fetchActivePluginsIcons();
1180
-
1181
- if ($activePluginsIcons) {
1182
- echo print_r($activePluginsIcons, true)."\n";
1183
- exit;
1184
- }
1185
- }
1186
-
1187
- /**
1188
- *
1189
- */
1190
- public function ajaxFetchActivePluginsJsFooterCode()
1191
- {
1192
- if (! Menu::userCanManageAssets()) {
1193
- return;
1194
- }
1195
-
1196
- if (get_transient('wpacu_active_plugins_icons')) {
1197
- return;
1198
- }
1199
- ?>
1200
- <script type="text/javascript" >
1201
- jQuery(document).ready(function($) {
1202
- jQuery.post(ajaxurl, {
1203
- 'action': '<?php echo WPACU_PLUGIN_ID.'_fetch_active_plugins_icons'; ?>',
1204
- }, function(response) {
1205
- console.log(response);
1206
- });
1207
- });
1208
- </script>
1209
- <?php
1210
- }
1211
-
1212
/**
1213
* @param $data
1214
* @return mixed
@@ -1220,43 +1165,40 @@ class Main
1220
if (! empty($data['all']['styles'])) {
1221
$data['core_styles_loaded'] = false;
1222
1223
- foreach ($data['all']['styles'] as $key => $obj) {
1224
if (! isset($obj->handle)) {
1225
unset($data['all']['styles']['']);
1226
continue;
1227
}
1228
1229
- if (in_array($obj->handle, $this->assetsInFooter['styles'])) {
1230
- $data['all']['styles'][$key]->position = 'body';
1231
- } else {
1232
- $data['all']['styles'][$key]->position = 'head';
1233
- }
1234
1235
- if (isset($data['all']['styles'][$key], $obj->src) && $obj->src) {
1236
- $part = str_replace(
1237
- array(
1238
- 'http://',
1239
- 'https://',
1240
- '//'
1241
- ),
1242
- '',
1243
- $obj->src
1244
- );
1245
-
1246
- $parts = explode('/', $part);
1247
- $parentDir = isset($parts[1]) ? $parts[1] : '';
1248
-
1249
- // Loaded from WordPress directories (Core)
1250
- if (in_array($parentDir, array('wp-includes', 'wp-admin'))) {
1251
- $data['all']['styles'][$key]->wp = true;
1252
- $data['core_styles_loaded'] = true;
1253
- }
1254
1255
- // Determine source href (starting with '/' but not starting with '//')
1256
- if (strpos($obj->src, '/') === 0 && strpos($obj->src, '//') !== 0) {
1257
- $obj->srcHref = $siteUrl . $obj->src;
1258
- } else{
1259
- $obj->srcHref = $obj->src;
1260
}
1261
}
1262
}
@@ -1265,6 +1207,18 @@ class Main
1265
if (! empty($data['all']['scripts'])) {
1266
$data['core_scripts_loaded'] = false;
1267
1268
foreach ($data['all']['scripts'] as $key => $obj) {
1269
if (! isset($obj->handle)) {
1270
unset($data['all']['scripts']['']);
@@ -1274,9 +1228,20 @@ class Main
1274
// From WordPress directories (false by default)
1275
$data['all']['scripts'][$key]->wp = false;
1276
1277
- $initialScriptPos = wp_cache_get($obj->handle, 'wpacu_scripts_initial_positions');
1278
1279
- if ($initialScriptPos === 'body' || in_array($obj->handle, $this->assetsInFooter['scripts'])) {
1280
$data['all']['scripts'][$key]->position = 'body';
1281
} else {
1282
$data['all']['scripts'][$key]->position = 'head';
@@ -1294,8 +1259,7 @@ class Main
1294
$obj->src
1295
);
1296
1297
- $parts = explode('/', $part);
1298
- $parentDir = isset($parts[1]) ? $parts[1] : '';
1299
1300
// Loaded from WordPress directories (Core)
1301
if (in_array($parentDir, array('wp-includes', 'wp-admin'))) {
@@ -1304,19 +1268,20 @@ class Main
1304
}
1305
1306
// Determine source href
1307
- if (substr($obj->src, 0, 1) === '/' && substr($obj->src, 0, 2) !== '//') {
1308
$obj->srcHref = $siteUrl . $obj->src;
1309
} else {
1310
$obj->srcHref = $obj->src;
1311
}
1312
}
1313
1314
- if ($obj->handle === 'jquery') {
1315
$data['all']['scripts'][$key]->wp = true;
1316
$data['core_scripts_loaded'] = true;
1317
}
1318
-
1319
- }
1320
}
1321
}
1322
@@ -1334,7 +1299,7 @@ class Main
1334
{
1335
// Post Type (Overwrites 'front' - home page - if we are in a singular post)
1336
if ($postId == 0) {
1337
- $postId = (int)$this->getCurrentPostId();
1338
}
1339
1340
$isInAdminPageViaAjax = (is_admin() && defined('DOING_AJAX') && DOING_AJAX);
@@ -1342,11 +1307,17 @@ class Main
1342
if (empty($this->assetsRemoved)) {
1343
// For Home Page (latest blog posts)
1344
if ($postId < 1 && ($isInAdminPageViaAjax || Misc::isHomePage())) {
1345
- $this->assetsRemoved = get_option( WPACU_PLUGIN_ID . '_front_page_no_load');
1346
} elseif ($postId > 0) {
1347
- $this->assetsRemoved = get_post_meta($postId, '_' . WPACU_PLUGIN_ID . '_no_load', true);
1348
}
1349
1350
@json_decode($this->assetsRemoved);
1351
1352
if (! (json_last_error() === JSON_ERROR_NONE) || empty($this->assetsRemoved)) {
@@ -1363,7 +1334,11 @@ class Main
1363
*/
1364
public function isSingularPage()
1365
{
1366
- return ($this->vars['is_woo_shop_page'] || is_singular());
1367
}
1368
1369
/**
@@ -1385,17 +1360,19 @@ class Main
1385
$this->currentPostId = $wooCommerceShopPageId;
1386
1387
if ($this->currentPostId > 0) {
1388
- $this->vars['is_woo_shop_page'] = true;
1389
}
1390
} else {
1391
- if ($wooCommerceShopPageId > 0 && Misc::isHomePage() && strpos(get_site_url(), '://') !== false) {
1392
- list($siteUrlAfterProtocol) = explode('://', get_site_url());
1393
- $currentPageUrlAfterProtocol = $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
1394
-
1395
- if ($siteUrlAfterProtocol != $currentPageUrlAfterProtocol && (strpos($siteUrlAfterProtocol,
1396
- '/shop') !== false)
1397
- ) {
1398
- $this->vars['woo_url_not_match'] = true;
1399
}
1400
}
1401
}
@@ -1406,7 +1383,7 @@ class Main
1406
}
1407
1408
// It has to be a single page (no "Posts page")
1409
- if (($this->currentPostId < 1) && is_singular()) {
1410
global $post;
1411
$this->currentPostId = isset($post->ID) ? $post->ID : 0;
1412
}
@@ -1415,9 +1392,16 @@ class Main
1415
// Undetectable? The page is not a singular one nor the home page
1416
// It's likely an archive, category page (WooCommerce), 404 page etc.
1417
if (! $this->currentPostId && ! Misc::isHomePage()) {
1418
- $this->isUpdateable = false;
1419
-
1420
}
1421
1422
// [/wpacu_lite]
1423
@@ -1459,7 +1443,7 @@ class Main
1459
if (! $getPageTpl) {
1460
$getPageTpl = get_page_template();
1461
1462
- if (in_array(basename($getPageTpl), array('single.php', 'page.php'))) {
1463
$getPageTpl = 'default';
1464
}
1465
}
@@ -1495,7 +1479,7 @@ class Main
1495
*/
1496
public static function isSettingsPage()
1497
{
1498
- return (array_key_exists('page', $_GET) && $_GET['page'] === WPACU_PLUGIN_ID . '_settings');
1499
}
1500
1501
/**
@@ -1503,15 +1487,6 @@ class Main
1503
*/
1504
public function doDisableEmojis()
1505
{
1506
- /*
1507
- DO NOT disable Emojis if the following apply:
1508
- - Test Mode Enabled & Admin Logged in
1509
- - The user is within the admin panel (Dashboard)
1510
- */
1511
- if ($this->preventUnloadAssets() || is_admin()) {
1512
- return;
1513
- }
1514
-
1515
// Emojis Actions and Filters
1516
remove_action('admin_print_styles', 'print_emoji_styles');
1517
remove_action('wp_head', 'print_emoji_detection_script', 7);
@@ -1524,8 +1499,6 @@ class Main
1524
1525
// TinyMCE Emojis
1526
add_filter('tiny_mce_plugins', array($this, 'removeEmojisTinymce'));
1527
-
1528
- add_filter('emoji_svg_url', '__return_false');
1529
}
1530
1531
/**
@@ -1568,7 +1541,7 @@ class Main
1568
} else {
1569
$existingList = json_decode($existingListJson, true);
1570
1571
- if (json_last_error() !== JSON_ERROR_NONE) {
1572
$validJson = false;