Version Description
- Reduce the total number of submitted fields whenever the form from the CSS/JS manager is used to avoid having problems if "max_input_vars" (php.ini) is equal with 1000 or lower / read more: https://www.assetcleanup.com/docs/sometimes-data-is-not-saving-after-submitting-a-form-why/
- UX improvement: The state of an asset row (contracted or expanded) is now done via AJAX on click (to reduce the number of inputs from the form)
- UX improvement: When CSS/JS groups are contracted / expanded, make sure the change is preserved (Setting's value: "On Assets List Layout Load, keep the groups:") for future visits
- Do not add any CSS/JS manager link to the post's actions (when the list of posts is viewed) if the post does not have the status of "publish" or "private"
- Highlight the fact that in the "Page Options" area within "Overview" (plugin's menu), there are posts that are not "publish" or "private"
- FlyWheel compatibility: The WordPress root directory has to be different than ABSPATH in relation to the assets from the plugins or the theme
- Added the plugin version under the "Lite" text next to the logo
- Do not show any "Manage CSS & JS" link when viewing certain post types (e.g. "ct_template" from Oxygen Builder)
- Fix: "Uncaught ReferenceError: wpacuLoadCSS is not defined" by updating the fallback script for async preloading CSS
- Fix: "Warning: Constant WPACU_PREVENT_ANY_FRONTEND_OPTIMIZATION already defined"
- Fix: More accuracy in detecting all the loaded assets when they have to be filtered for alternative loading of different content / read more: https://www.assetcleanup.com/docs/?p=988
Download this release
Release Info
Developer | gabelivan |
Plugin | Asset CleanUp: Page Speed Booster |
Version | 1.3.8.1 |
Comparing to | |
See all releases |
Code changes from version 1.3.8.0 to 1.3.8.1
- assets/icons/premium-plugins/LayerSlider.jpg +0 -0
- assets/icons/premium-plugins/all-in-one-wp-migration-s3-extension.png +0 -0
- assets/icons/premium-plugins/elementor-pro.jpg +0 -0
- assets/icons/premium-plugins/monarch.jpg +0 -0
- assets/icons/premium-plugins/revslider.png +0 -0
- assets/icons/premium-plugins/wp-rocket.png +0 -0
- assets/icons/premium-plugins/wpdatatables.jpg +0 -0
- assets/icons/themes/astra.png +0 -0
- assets/icons/themes/betheme.jpeg +0 -0
- assets/icons/themes/bridge.png +0 -0
- assets/icons/themes/burst.jpg +0 -0
- assets/icons/themes/divi.png +0 -0
- assets/icons/themes/enfold.png +0 -0
- assets/icons/themes/generatepress.jpg +0 -0
- assets/icons/themes/kalium.jpg +0 -0
- assets/icons/themes/oceanwp.png +0 -0
- assets/icons/themes/salient.jpg +0 -0
- assets/icons/themes/scalia.jpg +0 -0
- assets/icons/themes/t-ark.jpg +0 -0
- assets/icons/themes/the7.jpg +0 -0
- assets/icons/themes/ultra.jpg +0 -0
- assets/icons/themes/vantage.jpg +0 -0
- assets/images/asset-cleanup-logo.png +0 -0
- assets/images/sproutedweb-asset-cleanup-elementor-video.jpg +0 -0
- assets/images/wpacu-logo-transparent-bg-v1.png +0 -0
- assets/images/wpacu-upgrade-steps/wpacu-upgrade-step-1-choose-file.jpg +0 -0
- assets/images/wpacu-upgrade-steps/wpacu-upgrade-step-2-activate-plugin.jpg +0 -0
- assets/images/your-brain-on-a-slow-website-infographic.jpg +0 -0
- assets/script.min.js +5 -3
- assets/style.min.css +1 -1
- assets/wpacu-debug.css +165 -0
- assets/wpacu-debug.js +39 -0
- classes/AssetsPagesManager.php +16 -3
- classes/CleanUp.php +6 -2
- classes/Debug.php +23 -53
- classes/Info.php +1 -1
- classes/Main.php +63 -33
- classes/Menu.php +9 -0
- classes/Misc.php +127 -46
- classes/OptimiseAssets/CombineCss.php +2 -2
- classes/OptimiseAssets/CombineJs.php +7 -2
- classes/OptimiseAssets/MinifyCss.php +3 -2
- classes/OptimiseAssets/MinifyJs.php +3 -2
- classes/OptimiseAssets/OptimizeCommon.php +66 -44
- classes/OptimiseAssets/OptimizeCss.php +29 -14
- classes/OptimiseAssets/OptimizeJs.php +31 -31
- classes/OwnAssets.php +4 -21
- classes/Plugin.php +3 -2
- classes/PluginReview.php +2 -2
- classes/PluginTracking.php +5 -5
- classes/PluginsManager.php +21 -2
- classes/Preloads.php +41 -12
- classes/Settings.php +39 -10
- classes/Sorting.php +1 -1
- classes/Update.php +141 -68
- early-triggers.php +27 -10
- readme.txt +16 -3
- templates/_admin-page-plugins-manager/_dash.php +9 -1
- templates/_admin-page-plugins-manager/_front.php +10 -2
- templates/_admin-page-settings-plugin-areas/_cdn-rewrite-urls.php +2 -2
- templates/_admin-page-settings-plugin-areas/_fonts-google/_remove-area.php +2 -1
- templates/_admin-page-settings-plugin-areas/_optimize-css.php +1 -1
- templates/_admin-page-settings-plugin-areas/_optimize-js.php +1 -1
- templates/_admin-page-settings-plugin-areas/_strip-the-fat.php +4 -2
- templates/_admin-pages-assets-manager/_homepage.php +1 -1
- templates/_admin-pages-assets-manager/_singular-page.php +1 -1
- templates/_top-area.php +5 -1
- templates/admin-page-overview.php +12 -3
- templates/admin-page-plugins-manager.php +1 -1
- templates/admin-page-settings-plugin.php +1 -1
- templates/meta-box-loaded-assets/_asset-script-single-row.php +1 -4
- templates/meta-box-loaded-assets/_asset-script-single-row/_loaded-rules.php +4 -3
- templates/meta-box-loaded-assets/_asset-script-single-row/_source.php +2 -1
- templates/meta-box-loaded-assets/_asset-style-single-row.php +1 -4
- templates/meta-box-loaded-assets/_asset-style-single-row/_loaded-rules.php +4 -3
- templates/meta-box-loaded-assets/_asset-style-single-row/_source.php +2 -1
- templates/meta-box-loaded-assets/_assets-top-area.php +52 -0
- templates/meta-box-loaded-assets/_hardcoded/_asset-script-single-row-hardcoded.php +1 -4
- templates/meta-box-loaded-assets/_hardcoded/_asset-style-single-row-hardcoded.php +2 -4
- templates/meta-box-loaded-assets/view-all.php +3 -29
- templates/meta-box-loaded-assets/view-by-loaded-unloaded.php +3 -46
- templates/meta-box-loaded-assets/view-by-location.php +243 -281
- templates/meta-box-loaded-assets/view-by-parents.php +3 -46
- templates/meta-box-loaded-assets/view-by-position.php +1 -44
- templates/meta-box-loaded-assets/view-by-preload.php +2 -43
- templates/meta-box-loaded-assets/view-by-rules.php +3 -43
- templates/meta-box-loaded-assets/view-by-size.php +2 -43
- templates/meta-box-loaded-assets/view-default.php +7 -66
- templates/meta-box-restricted-page-load.php +1 -1
- templates/settings-frontend.php +15 -15
- vendor/matthiasmullie/minify/src/CSS.php +1 -1
- wpacu.php +5 -4
assets/icons/premium-plugins/LayerSlider.jpg
CHANGED
Binary file
|
assets/icons/premium-plugins/all-in-one-wp-migration-s3-extension.png
CHANGED
Binary file
|
assets/icons/premium-plugins/elementor-pro.jpg
CHANGED
Binary file
|
assets/icons/premium-plugins/monarch.jpg
CHANGED
Binary file
|
assets/icons/premium-plugins/revslider.png
CHANGED
Binary file
|
assets/icons/premium-plugins/wp-rocket.png
CHANGED
Binary file
|
assets/icons/premium-plugins/wpdatatables.jpg
CHANGED
Binary file
|
assets/icons/themes/astra.png
CHANGED
Binary file
|
assets/icons/themes/betheme.jpeg
CHANGED
Binary file
|
assets/icons/themes/bridge.png
CHANGED
Binary file
|
assets/icons/themes/burst.jpg
CHANGED
Binary file
|
assets/icons/themes/divi.png
CHANGED
Binary file
|
assets/icons/themes/enfold.png
CHANGED
Binary file
|
assets/icons/themes/generatepress.jpg
CHANGED
Binary file
|
assets/icons/themes/kalium.jpg
CHANGED
Binary file
|
assets/icons/themes/oceanwp.png
CHANGED
Binary file
|
assets/icons/themes/salient.jpg
CHANGED
Binary file
|
assets/icons/themes/scalia.jpg
CHANGED
Binary file
|
assets/icons/themes/t-ark.jpg
CHANGED
Binary file
|
assets/icons/themes/the7.jpg
CHANGED
Binary file
|
assets/icons/themes/ultra.jpg
CHANGED
Binary file
|
assets/icons/themes/vantage.jpg
CHANGED
Binary file
|
assets/images/asset-cleanup-logo.png
CHANGED
Binary file
|
assets/images/sproutedweb-asset-cleanup-elementor-video.jpg
CHANGED
Binary file
|
assets/images/wpacu-logo-transparent-bg-v1.png
CHANGED
Binary file
|
assets/images/wpacu-upgrade-steps/wpacu-upgrade-step-1-choose-file.jpg
CHANGED
Binary file
|
assets/images/wpacu-upgrade-steps/wpacu-upgrade-step-2-activate-plugin.jpg
CHANGED
Binary file
|
assets/images/your-brain-on-a-slow-website-infographic.jpg
CHANGED
Binary file
|
assets/script.min.js
CHANGED
@@ -1,4 +1,6 @@
|
|
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",
|
2 |
-
jQuery('a[href="#'+b+'"]').addClass("active"),jQuery("#wpacu-selected-tab-area").val(b)}function wpacuCheckSourcesFor404Errors(){var a=jQuery("[data-wpacu-external-source]");if(!(a.length<1)){var b=a.length,c="";a.each(function(a){var d=jQuery(this),e=d.attr("data-wpacu-external-source");c+=e+"-at-wpacu-at-",a===b-1&&jQuery.post(wpacu_object.ajax_url+"?wpacu_check_external_url",{action:wpacu_object.plugin_id+"_check_external_urls_for_status_code",wpacu_check_urls:c,wpacu_ajax_check_external_urls_nonce:wpacu_object.wpacu_ajax_check_external_urls_nonce},function(a){var b=jQuery.parseJSON(a);jQuery.each(b,function(a,b){jQuery('[data-wpacu-external-source="'+b+'"]').css({color:"#cc0000"}).parent("div").find("[data-wpacu-external-source-status]").html('<small>* <em style="font-weight: 600;">'+wpacu_object.source_load_error_msg+"</em></small>")})})})}}function wpacuBytesToSize(a){return 0===a?"N/A":(a/1024).toFixed(4)+" KB"}function wpacuAjaxClearCache(){void 0!==wpacu_object.wpacu_ajax_preload_url_nonce&&jQuery.post(wpacu_object.ajax_url+"?wpacu_clear_cache",{action:wpacu_object.plugin_id+"_clear_cache",time_r:(new Date).getTime()},function(a){setTimeout(function(){wpacuClearAutoptimizeCache(),wpacu_object.is_frontend_view?jQuery.post(wpacu_object.ajax_url+"?wpacu_preload_guest",{action:wpacu_object.plugin_id+"_preload",page_url:wpacu_object.page_url,wpacu_ajax_preload_url_nonce:wpacu_object.wpacu_ajax_preload_url_nonce,time_r:(new Date).getTime()}):jQuery.get(wpacu_object.page_url,{wpacu_preload:1,wpacu_no_frontend_show:1,time_r:(new Date).getTime()},function(){jQuery.post(wpacu_object.ajax_url+"?wpacu_preload_guest",{action:wpacu_object.plugin_id+"_preload",page_url:wpacu_object.page_url,wpacu_ajax_preload_url_nonce:wpacu_object.wpacu_ajax_preload_url_nonce,time_r:(new Date).getTime()})})},150)})}function wpacuClearAutoptimizeCache(){if("false"==wpacu_object.clear_autoptimize_cache)return void console.log(wpacu_object.plugin_title+': Autoptimize cache clearing is deactivated via "WPACU_DO_NOT_ALSO_CLEAR_AUTOPTIMIZE_CACHE" constant.');jQuery("#wp-admin-bar-autoptimize-default li").length>0&&void 0!==autoptimize_ajax_object.ajaxurl&&void 0!==autoptimize_ajax_object.nonce&&jQuery.ajax({type:"GET",url:autoptimize_ajax_object.ajaxurl,data:{action:"autoptimize_delete_cache",nonce:autoptimize_ajax_object.nonce},dataType:"json",cache:!1,timeout:9e3,success:function(a){},error:function(a,b){}})}function wpacuAdjustTextareaHeight(a,b){var c=parseInt(window.getComputedStyle(a).height,10),d=c-a.clientHeight;a.style.height=0,a.style.height=Math.max(b,a.scrollHeight+d)+"px"}""!==wpacu_object.clear_cache_on_page_load&&wpacuAjaxClearCache(),""!==wpacu_object.clear_other_caches&&setTimeout(function(){wpacuClearAutoptimizeCache()},150),jQuery(document).ready(function(a){function b(b){b.lastIndexOf(wpacu_object.start_del_h)<0||b.lastIndexOf(wpacu_object.end_del_h);var c=b.substring(b.lastIndexOf(wpacu_object.start_del_h)+wpacu_object.start_del_h.length,b.lastIndexOf(wpacu_object.end_del_h)),d=a("#wpacu-assets-collapsible-wrap-hardcoded-list").attr("data-wpacu-settings-frontend"),f={action:wpacu_object.plugin_name+"_print_loaded_hardcoded_assets",wpacu_list_h:c,wpacu_settings:d,time_r:(new Date).getTime()};a.post(wpacu_object.ajax_url,f,function(b){if(b){var c=JSON.parse(b);a("#wpacu-assets-collapsible-wrap-hardcoded-list").find("> .wpacu-assets-collapsible-content").html(c.output),a("#wpacu-assets-collapsible-wrap-hardcoded-list").find("a.wpacu-assets-collapsible").append(" ➝ Total: "+parseInt(c.total_hardcoded_assets)),e.triggerForHardcodedAssets()}})}function c(b){if(!b&&!a("#wpacu_ajax_fetch_assets_list_dashboard_view").length)return!1;if(a("#wpacu_page_options_no_wpacu_load").length>0&&a("#wpacu_page_options_no_wpacu_load").prop("checked")){var c={action:wpacu_object.plugin_name+"_load_page_restricted_area",post_id:wpacu_object.post_id,time_r:(new Date).getTime()};return void a.post(wpacu_object.ajax_url,c,function(b){if(!b)return!1;a("#wpacu_meta_box_content").html(b),a(".wpacu_asset_row, .wpacu-page-options .wpacu-assets-collapsible-content").removeClass("wpacu-loading"),a("#wpacu-assets-reloading").remove()})}var f={};if("direct"===wpacu_object.dom_get_type)f[wpacu_object.plugin_name+"_load"]=1,f[wpacu_object.plugin_name+"_time_r"]=(new Date).getTime(),a.ajax({method:"GET",url:wpacu_object.page_url,data:f,cache:!1,complete:function(b,c){if("error"===b.statusText){if(404===b.status)return void d(b.responseText,b.status);var e=b.responseText.replace(/(<([^>]+)>)/gi,"");try{e=String(e).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")}catch(a){console.log(a)}var f=wpacu_object.ajax_direct_fetch_error;f=f.replace(/{wpacu_output}/,e),f=f.replace(/{wpacu_status_code_error}/,b.status),a("#wpacu_meta_box_content").html(f)}}}).done(function(b){a("#wpacu-fetch-list-step-1-wrap").addClass("wpacu-completed"),a("#wpacu-fetch-list-step-1-status").html(a("#wpacu-list-step-completed-status").html()),a("#wpacu-fetch-list-step-2-status").html(a("#wpacu-list-step-default-status").html()),d(b)});else if("wp_remote_post"===wpacu_object.dom_get_type){var g={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,wpacu_taxonomy:wpacu_object.wpacu_taxonomy,time_r:(new Date).getTime(),force_manage_dash:wpacu_object.force_manage_dash};a.post(wpacu_object.ajax_url,g,function(b){if(!b)return!1;a("#wpacu_meta_box_content").html(b),a("#wpacu_dash_assets_manager_form").length>0&&a("#submit").show(),setTimeout(function(){e.load(),setTimeout(function(){wpacuCheckSourcesFor404Errors()},100)},200)})}}function d(b,c){if(b.lastIndexOf(wpacu_object.start_del_e)<0||b.lastIndexOf(wpacu_object.end_del_e)<0||b.lastIndexOf(wpacu_object.start_del_h)<0||b.lastIndexOf(wpacu_object.end_del_h)<0){var d=wpacu_object.ajax_direct_fetch_error_with_success_response;d=d.replace(/{wpacu_output}/,xhr.responseText.replace(/(<([^>]+)>)/gi,""));try{d=String(d).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")}catch(a){console.log(a)}return void a("#wpacu_meta_box_content").html(d)}var f=b.substring(b.lastIndexOf(wpacu_object.start_del_e)+wpacu_object.start_del_e.length,b.lastIndexOf(wpacu_object.end_del_e)),g=b.substring(b.lastIndexOf(wpacu_object.start_del_h)+wpacu_object.start_del_h.length,b.lastIndexOf(wpacu_object.end_del_h)),h={action:wpacu_object.plugin_name+"_get_loaded_assets",wpacu_list_e:f,wpacu_list_h:g,post_id:wpacu_object.post_id,page_url:wpacu_object.page_url,tag_id:wpacu_object.tag_id,wpacu_taxonomy:wpacu_object.wpacu_taxonomy,force_manage_dash:wpacu_object.force_manage_dash,time_r:(new Date).getTime(),is_for_singular:!1};a("#wpacu_manage_singular_page_assets").length>0&&(h.is_for_singular=!0),a.post(wpacu_object.ajax_url,h,function(b){b&&(a("#wpacu_meta_box_content").html(b),404===c&&a("#wpacu_meta_box_content").prepend('<p><span class="dashicons dashicons-warning"></span> '+wpacu_object.server_returned_404_not_found+"</p><hr />"),a("#wpacu_dash_assets_manager_form").length>0&&a("#submit").show(),setTimeout(function(){e.load(),a(".wpacu_asset_row, .wpacu-page-options .wpacu-assets-collapsible-content").removeClass("wpacu-loading"),a("#wpacu-assets-reloading").remove(),wpacuCheckSourcesFor404Errors()},200))})}var e={load:function(){var b,c,d,f=".input-unload-on-this-page.wpacu-not-locked";a(document).on("click change",".input-unload-on-this-page",function(f){if(b=a(this).attr("data-handle"),c=a(this).hasClass("wpacu_unload_rule_for_style")?"style":"script",a(this).prop("checked")){if("click"===f.type&&!e.triggerAlertWhenAnyUnloadRuleIsChosen(b,c))return!1;e.uncheckAllOtherBulkUnloadRules(a(this),!1),e.showHandleLoadExceptionArea(c,b),a(this).closest("tr").addClass("wpacu_not_load")}else a(this).closest("tr").removeClass("wpacu_not_load"),d=a(this).parents(".wpacu_asset_row"),e.hideHandleLoadExceptionArea(d,b,c)}),a(".wpacu-plugin-check-all").on("click",function(b){b.preventDefault();var c=a(this).attr("data-wpacu-plugin");a('table.wpacu_list_by_location[data-wpacu-plugin="'+c+'"]').find(f).prop("checked",!0).closest("tr").addClass("wpacu_not_load")}),a(".wpacu-plugin-uncheck-all").on("click",function(b){b.preventDefault();var c=a(this).attr("data-wpacu-plugin");a('table.wpacu_list_by_location[data-wpacu-plugin="'+c+'"]').find(f).prop("checked",!1).closest("tr").removeClass("wpacu_not_load")}),a(".wpacu-plugin-check-load-all").on("click change",function(b){b.preventDefault();var c=a(this).attr("data-wpacu-plugin"),d=a('table.wpacu_list_by_location[data-wpacu-plugin="'+c+'"]');d.find(".wpacu_load_it_option_one.wpacu_load_exception").prop("checked",!0).closest("tr.wpacu_is_bulk_unloaded").removeClass("wpacu_not_load"),d.find(f).prop("checked",!1).trigger("change")}),a(".wpacu-plugin-uncheck-load-all").on("click change",function(b){b.preventDefault();var c=a(this).attr("data-wpacu-plugin"),d=a('table.wpacu_list_by_location[data-wpacu-plugin="'+c+'"]');d.find(".wpacu_load_it_option_one.wpacu_load_exception").prop("checked",!1).closest("tr.wpacu_is_bulk_unloaded").addClass("wpacu_not_load"),d.find(f).prop("checked",!1).trigger("change")}),a(document).on("click",".wpacu_keep_bulk_rule",function(){a(this).prop("checked")&&a(this).parents("li").next().removeClass("remove_rule")}),a(document).on("click",".wpacu_remove_bulk_rule",function(){a(this).prop("checked")&&a(this).parents("li").addClass("remove_rule")}),a(document).on("click change",".wpacu_bulk_unload",function(f){b=a(this).attr("data-handle"),c=a(this).attr("data-handle-for"),d=a("[data-"+c+'-handle-row="'+b+'"]');var g=a(this).parents("li");if(a(this).prop("checked")){if("click"===f.type&&!e.triggerAlertWhenAnyUnloadRuleIsChosen(b,c))return!1;a(this).hasClass("wpacu_unload_it_regex_checkbox")?(g.find("label").addClass("wpacu_unload_checked"),g.find("textarea").prop("disabled",!1).focus().removeClass("wpacu_disabled"),g.find(".wpacu_handle_unload_regex_input_wrap").removeClass("wpacu_hide")):(a(this).parent("label").addClass("wpacu_input_load_checked"),a(this).closest("tr").addClass("wpacu_not_load")),e.showHandleLoadExceptionArea(c,b),a(this).hasClass("wpacu_global_unload")?(e.uncheckAllOtherBulkUnloadRules(a(this),!0),a('.input-unload-on-this-page[data-handle-for="'+c+'"][data-handle="'+b+'"]').prop("checked",!1)):a(this).hasClass("wpacu_post_type_unload")&&(e.uncheckAllOtherBulkUnloadRules(a(this),!1),a('.input-unload-on-this-page[data-handle-for="'+c+'"][data-handle="'+b+'"]').prop("checked",!1))}else a(this).hasClass("wpacu_unload_it_regex_checkbox")?(g.find("label").removeClass("wpacu_unload_checked"),g.find("textarea").blur().addClass("wpacu_disabled"),""===g.find("textarea").val().trim()&&(g.find("textarea").prop("disabled",!0).val(""),g.find(".wpacu_handle_unload_regex_input_wrap").addClass("wpacu_hide"))):(a(this).parent("label").removeClass("wpacu_input_load_checked"),a(this).closest("tr").removeClass("wpacu_not_load")),e.hideHandleLoadExceptionArea(d,b,c);d.hasClass("wpacu_is_bulk_unloaded")||a(".wpacu_bulk_unload:not(.wpacu_unload_it_regex_checkbox)").is(":checked")||a(this).closest("tr").removeClass("wpacu_not_load")}),a(document).on("click change",".wpacu_load_it_option_one.wpacu_load_exception,.wpacu_load_it_option_post_type",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")}),
|
3 |
-
a(document).on("click change",".wpacu_load_it_option_two",function(){var b=a(this).parents("li");a(this).prop("checked")?(b.find("textarea").prop("disabled",!1).focus().removeClass("wpacu_disabled"),b.find(".wpacu_load_regex_input_wrap").removeClass("wpacu_hide")):(b.find("textarea").blur().addClass("wpacu_disabled"),""===b.find("textarea").val().trim()&&(b.find("textarea").prop("disabled",!0).val(""),b.find(".wpacu_load_regex_input_wrap").addClass("wpacu_hide")))}),a(document).on("click change",".wpacu_script_attr_rule_input",function(b){if(a(this).is(":checked")){if("click"===b.type){var c=a(this).parents("tr.wpacu_asset_row").attr("data-script-child-handles"),d=wpacu_object.script_is_parent_alert;if(void 0!==c&&""!==c&&(d=d.replace("{wpacu_script_child_handles}",c),!confirm(d)))return!1}a(this).parents("ul").find(".wpacu_script_attr_rule_input").not(a(this)).prop("checked",!1),a(this).hasClass("wpacu_script_attr_rule_global")&&a(this).parents("ul").find(".wpacu-script-attr-make-exception").removeClass("wpacu_hide")}a(this).parents("ul").find(".wpacu_script_attr_rule_global").is(":checked")||a(this).parents("ul").find(".wpacu-script-attr-make-exception").addClass("wpacu_hide")}),a(document).on("change",".wpacu-screen-size-load",function(b){var c,d,e,f=a(this).val(),g=a(this).attr("data-handle");if(a(this).hasClass("wpacu-for-script"))c="SCRIPT file",d=a('.wpacu-handle-media-queries-load-field[data-script-handle="'+g+'"]');else{if(!a(this).hasClass("wpacu-for-style"))return!1;c="CSS file",d=a('.wpacu-handle-media-queries-load-field[data-style-handle="'+g+'"]')}if(!(d.length<1))if(e=d.find(":input"),f){if(a(this)[0].hasAttribute("data-wpacu-show-parent-alert")){var h=wpacu_object.parent_asset_media_query_load_alert.replace("[asset_type]",c);if(!confirm(h))return a(this).val(""),!1}d.addClass("wpacu-is-visible"),e.prop("disabled",!1),""===e.val()&&e.focus()}else d.removeClass("wpacu-is-visible"),""===e.val().trim()&&"true"===e.attr("data-wpacu-is-empty-on-page-load")&&e.prop("disabled",!0).val("")}),a(document).on("click",".wpacu-add-handle-note",function(b){b.preventDefault();var c,d,e=a(this).attr("data-handle");a(this).hasClass("wpacu-for-script")?c=a('.wpacu-handle-notes-field[data-script-handle="'+e+'"]'):a(this).hasClass("wpacu-for-style")&&(c=a('.wpacu-handle-notes-field[data-style-handle="'+e+'"]')),c.length<1||(d=c.find(":input"),c.is(":hidden")?(c.show(),d.prop("disabled",!1)):(c.hide(),""===d.val().trim()&&"true"===d.attr("data-wpacu-is-empty-on-page-load")&&d.prop("disabled",!0).val("")))}),a(document).on("click",".wpacu-external-file-size",function(b){b.preventDefault();var c,d=a(this),e=d.attr("data-src");d.hide(),c=d.next(),c.show(),e.includes("/?")?a.get(e,{},function(a,b,d){if("success"!==b)return"N/A";c.html(wpacuBytesToSize(a.length))}):a.post(wpacu_object.ajax_url,{action:wpacu_object.plugin_id+"_get_external_file_size",wpacu_remote_file:e,wpacu_ajax_check_remote_file_size_nonce:wpacu_object.wpacu_ajax_check_remote_file_size_nonce},function(a){c.html(a)})}),a(document).on("click",".wpacu_handle_row_expand_contract",function(b){b.preventDefault();var c=a(this).attr("data-wpacu-handle"),d=a(this).attr("data-wpacu-handle-for");a(this).find("span").hasClass("dashicons-minus")?(a(this).parents("td").attr("data-wpacu-row-status","contracted").find(".wpacu_handle_row_expanded_area").addClass("wpacu_hide"),a(this).find("span").removeClass("dashicons-minus").addClass("dashicons-plus"),a("#wpacu_"+d+"_"+c+"_row_contracted_area").val("1")):a(this).find("span").hasClass("dashicons-plus")&&(a(this).parents("td").attr("data-wpacu-row-status","expanded").find(".wpacu_handle_row_expanded_area").removeClass("wpacu_hide"),a(this).find("span").removeClass("dashicons-plus").addClass("dashicons-minus"),a("#wpacu_"+d+"_"+c+"_row_contracted_area").val(""))})},triggerForHardcodedAssets:function(){a('[data-is-hardcoded-asset="true"]').length>0&&(a.each(a('[data-is-hardcoded-asset="true"]'),function(b,c){e.updateHardcodedDataHiddenFieldStatus(a(this))}),a('[data-is-hardcoded-asset="true"]').on("click",".wpacu_unload_rule_input",function(){e.updateHardcodedDataHiddenFieldStatus(a(this).parents("[data-is-hardcoded-asset]"))}))},updateHardcodedDataHiddenFieldStatus:function(b){var c=!1;b.is("[data-style-handle-row]")?c=b.attr("data-style-handle-row"):b.is("[data-script-handle-row]")&&(c=b.attr("data-script-handle-row")),c&&(b.find(".wpacu_unload_rule_input:checked").length>0||b.hasClass("wpacu_not_load")?a("#"+c+"_hardcoded_data").prop("disabled",!1):a("#"+c+"_hardcoded_data").prop("disabled",!0))},triggerAlertWhenAnyUnloadRuleIsChosen:function(b,c){if("dashicons"===b&&"style"===c&&a('input[name="wpacu_ignore_child[styles][nf-display]').length>0&&!confirm(wpacu_object.dashicons_unload_alert_ninja_forms))return!1;if("script"===c){if(("jquery"===b||"jquery-core"===b)&&a("#script_jquery_ignore_children").length>0&&!confirm(wpacu_object.jquery_unload_alert))return!1;if("js-cookie"===b&&!confirm(wpacu_object.woo_js_cookie_unload_alert))return!1;if("wc-cart-fragments"===b&&!confirm(wpacu_object.woo_wc_cart_fragments_unload_alert))return!1;if(("backbone"===b||"underscore"===b)&&!confirm(wpacu_object.sensitive_library_unload_alert))return!1}return!0},pluginLoadManager:function(){a(".wpacu_plugin_load_it").on("click",function(){var b=a(this).attr("data-wpacu-plugin-path");a(this).prop("checked")&&(e.hidePluginLoadExceptionArea(b),a('.wpacu_plugin_unload_regex_input_wrap[data-wpacu-plugin-path="'+b+'"]').addClass("wpacu_hide"),a('.wpacu_plugin_unload_site_wide[data-wpacu-plugin-path="'+b+'"]').parent("label").removeClass("wpacu_plugin_unload_rule_input_checked"),a('.wpacu_plugin_unload_regex_option[data-wpacu-plugin-path="'+b+'"]').parent("label").removeClass("wpacu_plugin_unload_rule_input_checked"))}),a(".wpacu_plugin_unload_site_wide").on("click",function(){var b=a(this).attr("data-wpacu-plugin-path");a(this).prop("checked")?(a(this).parent("label").addClass("wpacu_plugin_unload_rule_input_checked"),a('.wpacu_plugin_unload_regex_option[data-wpacu-plugin-path="'+b+'"]').prop("checked",!1).parent("label").removeClass("wpacu_plugin_unload_rule_input_checked"),a('.wpacu_plugin_unload_logged_in[data-wpacu-plugin-path="'+b+'"]').prop("checked",!1).parent("label").removeClass("wpacu_plugin_unload_rule_input_checked"),a('.wpacu_plugin_unload_regex_input_wrap[data-wpacu-plugin-path="'+b+'"]').addClass("wpacu_hide"),e.showPluginLoadExceptionArea(b)):(a(this).parent("label").removeClass("wpacu_plugin_unload_rule_input_checked"),e.hidePluginLoadExceptionArea(b))}),a(".wpacu_plugin_unload_regex_option").on("click",function(){var b=a(this).attr("data-wpacu-plugin-path");a(this).prop("checked")?(a(this).parent("label").addClass("wpacu_plugin_unload_rule_input_checked"),a('.wpacu_plugin_unload_regex_input_wrap[data-wpacu-plugin-path="'+b+'"]').removeClass("wpacu_hide"),e.showPluginLoadExceptionArea(b),a('.wpacu_plugin_unload_site_wide[data-wpacu-plugin-path="'+b+'"]').prop("checked",!1).parent("label").removeClass("wpacu_plugin_unload_rule_input_checked")):(a('.wpacu_plugin_unload_regex_input_wrap[data-wpacu-plugin-path="'+b+'"]').addClass("wpacu_hide"),a(this).parent("label").removeClass("wpacu_plugin_unload_rule_input_checked"),e.hidePluginLoadExceptionArea(b))}),a(".wpacu_plugin_unload_logged_in").on("click",function(){var b=a(this).attr("data-wpacu-plugin-path");a(this).prop("checked")?(e.showPluginLoadExceptionArea(b),a('.wpacu_plugin_unload_site_wide[data-wpacu-plugin-path="'+b+'"]').prop("checked",!1).parent("label").removeClass("wpacu_plugin_unload_rule_input_checked")):(a(this).parent("label").removeClass("wpacu_plugin_unload_rule_input_checked"),e.hidePluginLoadExceptionArea(b))}),a(".wpacu_plugin_load_exception_regex").on("click",function(){var b=a(this).attr("data-wpacu-plugin-path");a(this).prop("checked")?a('.wpacu_load_regex_input_wrap[data-wpacu-plugin-path="'+b+'"]').removeClass("wpacu_hide"):a('.wpacu_load_regex_input_wrap[data-wpacu-plugin-path="'+b+'"]').addClass("wpacu_hide")})},showPluginLoadExceptionArea:function(b){a('.wrap_plugin_load_exception_options[data-wpacu-plugin-path="'+b+'"]').removeClass("wpacu_hide").find('input[type="checkbox"]').prop("disabled",!1)},hidePluginLoadExceptionArea:function(b){a('.wrap_plugin_unload_rules_options[data-wpacu-plugin-path="'+b+'"]').find("input:checked").length<1&&a('.wrap_plugin_load_exception_options[data-wpacu-plugin-path="'+b+'"]').addClass("wpacu_hide").find('input[type="checkbox"]').prop("disabled",!0)},showHandleLoadExceptionArea:function(b,c){var d=a("div.wpacu_exception_options_area_wrap[data-"+b+'-handle="'+c+'"]');d.parent("div").removeClass("wpacu_hide"),d.find('input[type="checkbox"]').not(".wpacu_lite_locked").prop("disabled",!1)},hideHandleLoadExceptionArea:function(b,c,d){if(!b.hasClass("wpacu_is_bulk_unloaded")&&!b.find(".wpacu_bulk_unload").is(":checked")){var e=a("div.wpacu_exception_options_area_wrap[data-"+d+'-handle="'+c+'"]');e.parent("div").addClass("wpacu_hide"),e.find('input[type="checkbox"]').prop("disabled",!0)}},uncheckAllOtherBulkUnloadRules:function(a,b){var c=".wpacu_bulk_unload";!1===b&&(c=".wpacu_bulk_unload:not(.wpacu_unload_it_regex_checkbox)"),a.closest("tr").find(c).not(a).prop("checked",!1).parent("label").removeClass("wpacu_input_load_checked").removeClass("wpacu_unload_checked")}};a(document).on("click",'input[name="wpacu_sub_tab_area"]',function(){a(this).prop("checked")&&a("#wpacu-selected-sub-tab-area").val(a(this).val())}),a(document).on("click","#wpacu_minify_css_enable, #wpacu_combine_loaded_css_enable, #wpacu_minify_js_enable, #wpacu_combine_loaded_js_enable, #wpacu_cdn_rewrite_enable, #wpacu_enable_test_mode",function(){a(this).prop("checked")?a('[data-linked-to="'+a(this).attr("id")+'"]').find(".wpacu-circle-status").addClass("wpacu-on").removeClass("wpacu-off"):a('[data-linked-to="'+a(this).attr("id")+'"]').find(".wpacu-circle-status").addClass("wpacu-off").removeClass("wpacu-on")}),a(document).on("click","#wpacu_inline_css_files_below_size_checkbox",function(){a(this).is(":checked")?a("#wpacu_inline_css_files_enable").prop("checked",!0).trigger("tick"):""===a("#wpacu_inline_css_files_list").val()&&a("#wpacu_inline_css_files_enable").prop("checked",!1).trigger("tick")}),a(document).on("click","#wpacu_inline_js_files_below_size_checkbox",function(){if(a(this).is(":checked")){if(!confirm(wpacu_object.inline_auto_js_files_confirm_msg))return!1;a("#wpacu_inline_js_files_enable").prop("checked",!0).trigger("tick")}else""===a("#wpacu_inline_js_files_list").val()&&a("#wpacu_inline_js_files_enable").prop("checked",!1).trigger("tick")}),a(document).on("click","#wpacu-mark-license-valid-button",function(){return confirm(wpacu_object.mark_license_valid_confirm)}),a(document).on("submit","#wpacu-license-form",function(){a("#wpacu_license_activate_btn").attr("disabled","disabled"),a("#wpacu_license_deactivate_btn").attr("disabled","disabled"),a(".wpacu-license-spinner").show()});var f,g;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, #wpacu-cache-assets-remove-area").addClass("wpacu-visible"):a("#wpacu-license-data-remove-area, #wpacu-cache-assets-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(),f=a(this).find("option:selected"),a("#"+f.attr("data-id")).show()}),a("#wpacu-reset-submit-btn").on("click",function(){if("reset_settings"===a("#wpacu-reset-drop-down").val()?g=wpacu_object.reset_settings_confirm_msg:"reset_critical_css"===a("#wpacu-reset-drop-down").val()?g=wpacu_object.reset_critical_css_confirm_msg:"reset_everything_except_settings"===a("#wpacu-reset-drop-down").val()?g=wpacu_object.reset_everything_except_settings_confirm_msg:"reset_everything"===a("#wpacu-reset-drop-down").val()&&(g=wpacu_object.reset_everything_confirm_msg),!confirm(g))return!1;a("#wpacu-action-confirmed").val("yes"),setTimeout(function(){"yes"===a("#wpacu-action-confirmed").val()&&a("#wpacu-tools-form").trigger("submit")},1e3)}),a(document).on("submit","#wpacu-import-form",function(){if(!confirm(wpacu_object.import_confirm_msg))return!1;a(this).find("button").addClass("wpacu-importing").prop("disabled",!0)}),a(document).on("change","#wpacu_post_type_select",function(){a("#wpacu_post_type_form").trigger("submit")}),a(document).on("change","#wpacu_taxonomy_select",function(){a("#wpacu_taxonomy_form").trigger("submit")}),a(document).on("click","#wpacu_dashboard",function(){a(this).prop("checked")?a("#wpacu-settings-assets-retrieval-mode").show():a("#wpacu-settings-assets-retrieval-mode").hide()}),a(document).on("change",".wpacu-dom-get-type-selection",function(){a(this).is(":checked")&&(a(".wpacu-dom-get-type-info").hide(),a("#"+a(this).attr("data-target")).fadeIn("fast"))}),a(document).on("click","#wpacu_frontend",function(){a(this).prop("checked")?a("#wpacu-settings-frontend-exceptions").show():a("#wpacu-settings-frontend-exceptions").hide()}),a(document).on("change",".google_fonts_combine_type",function(){a(".wpacu_google_fonts_combine_type_area").hide(),"async"===a(this).val()?a("#wpacu_google_fonts_combine_type_async_info_area").fadeIn():"async_preload"===a(this).val()?a("#wpacu_google_fonts_combine_type_async_preload_info_area").fadeIn():a("#wpacu_google_fonts_combine_type_rb_info_area").fadeIn()}),a("#wpacu-allow-manage-assets-to-select-list-area").length>0&&!a("#wpacu-allow-manage-assets-to-select-list-area").hasClass("wpacu_hide")&&setTimeout(function(){jQuery("#wpacu-allow-manage-assets-to-select-list").chosen()},50),a("#wpacu-allow-manage-assets-to-select").on("click change",function(){"chosen"===a(this).val()?(a("#wpacu-allow-manage-assets-to-select-list-area").removeClass("wpacu_hide"),setTimeout(function(){jQuery("#wpacu-allow-manage-assets-to-select-list").chosen()},50)):a("#wpacu-allow-manage-assets-to-select-list-area").addClass("wpacu_hide")}),a("#wpacu_assets_list_layout").on("click change",function(){"by-location"===a(this).val()?a("#wpacu-assets-list-by-location-selected").fadeIn("fast"):a("#wpacu-assets-list-by-location-selected").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("[data-target-opacity]").on("click change tick",function(){a(this).prop("checked")?a("#"+a(this).attr("data-target-opacity")).css({opacity:1}):a("#"+a(this).attr("data-target-opacity")).css({opacity:.4})}),
|
4 |
-
|
|
|
|
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",
|
2 |
+
jQuery('a[href="#'+b+'"]').addClass("active"),jQuery("#wpacu-selected-tab-area").val(b)}function wpacuCheckSourcesFor404Errors(){var a=jQuery("[data-wpacu-external-source]");if(!(a.length<1)){var b=a.length,c="";a.each(function(a){var d=jQuery(this),e=d.attr("data-wpacu-external-source");c+=e+"-at-wpacu-at-",a===b-1&&jQuery.post(wpacu_object.ajax_url+"?wpacu_check_external_url",{action:wpacu_object.plugin_id+"_check_external_urls_for_status_code",wpacu_check_urls:c,wpacu_ajax_check_external_urls_nonce:wpacu_object.wpacu_ajax_check_external_urls_nonce},function(a){var b=jQuery.parseJSON(a);jQuery.each(b,function(a,b){jQuery('[data-wpacu-external-source="'+b+'"]').css({color:"#cc0000"}).parent("div").find("[data-wpacu-external-source-status]").html('<small>* <em style="font-weight: 600;">'+wpacu_object.source_load_error_msg+"</em></small>")})})})}}function wpacuBytesToSize(a){return 0===a?"N/A":(a/1024).toFixed(4)+" KB"}function wpacuAjaxClearCache(){void 0!==wpacu_object.wpacu_ajax_preload_url_nonce&&jQuery.post(wpacu_object.ajax_url+"?wpacu_clear_cache",{action:wpacu_object.plugin_id+"_clear_cache",time_r:(new Date).getTime()},function(a){setTimeout(function(){wpacuClearAutoptimizeCache(),wpacu_object.is_frontend_view?jQuery.post(wpacu_object.ajax_url+"?wpacu_preload_guest",{action:wpacu_object.plugin_id+"_preload",page_url:wpacu_object.page_url,wpacu_ajax_preload_url_nonce:wpacu_object.wpacu_ajax_preload_url_nonce,time_r:(new Date).getTime()}):jQuery.get(wpacu_object.page_url,{wpacu_preload:1,wpacu_no_frontend_show:1,time_r:(new Date).getTime()},function(){jQuery.post(wpacu_object.ajax_url+"?wpacu_preload_guest",{action:wpacu_object.plugin_id+"_preload",page_url:wpacu_object.page_url,wpacu_ajax_preload_url_nonce:wpacu_object.wpacu_ajax_preload_url_nonce,time_r:(new Date).getTime()})})},150)})}function wpacuClearAutoptimizeCache(){if("false"==wpacu_object.clear_autoptimize_cache)return void console.log(wpacu_object.plugin_title+': Autoptimize cache clearing is deactivated via "WPACU_DO_NOT_ALSO_CLEAR_AUTOPTIMIZE_CACHE" constant.');jQuery("#wp-admin-bar-autoptimize-default li").length>0&&void 0!==autoptimize_ajax_object.ajaxurl&&void 0!==autoptimize_ajax_object.nonce&&jQuery.ajax({type:"GET",url:autoptimize_ajax_object.ajaxurl,data:{action:"autoptimize_delete_cache",nonce:autoptimize_ajax_object.nonce},dataType:"json",cache:!1,timeout:9e3,success:function(a){},error:function(a,b){}})}function wpacuAjaxUpdateKeepTheGroupsState(a,b){if(jQuery("#wpacu-assets-groups-change-state-area").attr("data-wpacu-groups-current-state")==a)return void jQuery("#"+b).prop("disabled",!1);var c={action:wpacu_object.plugin_name+"_update_settings",wpacu_update_keep_the_groups:"yes",wpacu_keep_the_groups_state:a,time_r:(new Date).getTime()};try{jQuery.post(wpacu_object.ajax_url,c,function(c){"done"==c&&jQuery("#wpacu-assets-groups-change-state-area").attr("data-wpacu-groups-current-state",a),jQuery("#"+b).prop("disabled",!1)})}catch(a){jQuery("#"+b).prop("disabled",!1)}}function wpacuAjaxUpdateKeepTheAssetRowState(a,b,c,d){var e={action:wpacu_object.plugin_name+"_update_asset_row_state",wpacu_update_asset_row_state:"yes",wpacu_asset_row_state:a,wpacu_handle:b,wpacu_handle_for:c,time_r:(new Date).getTime()};d.addClass("wpacu_hide"),jQuery.post(wpacu_object.ajax_url,e,function(a){d.removeClass("wpacu_hide"),console.log(a)})}function wpacuAdjustTextareaHeight(a,b){var c=parseInt(window.getComputedStyle(a).height,10),d=c-a.clientHeight;a.style.height=0,a.style.height=Math.max(b,a.scrollHeight+d)+"px"}""!==wpacu_object.clear_cache_on_page_load&&wpacuAjaxClearCache(),""!==wpacu_object.clear_other_caches&&setTimeout(function(){wpacuClearAutoptimizeCache()},150),jQuery(document).ready(function(a){function b(b){b.lastIndexOf(wpacu_object.start_del_h)<0||b.lastIndexOf(wpacu_object.end_del_h);var c=b.substring(b.lastIndexOf(wpacu_object.start_del_h)+wpacu_object.start_del_h.length,b.lastIndexOf(wpacu_object.end_del_h)),d=a("#wpacu-assets-collapsible-wrap-hardcoded-list").attr("data-wpacu-settings-frontend"),f={action:wpacu_object.plugin_name+"_print_loaded_hardcoded_assets",wpacu_list_h:c,wpacu_settings:d,time_r:(new Date).getTime()};a.post(wpacu_object.ajax_url,f,function(b){if(b){var c=JSON.parse(b);a("#wpacu-assets-collapsible-wrap-hardcoded-list").find("> .wpacu-assets-collapsible-content").html(c.output),a("#wpacu-assets-collapsible-wrap-hardcoded-list").find("a.wpacu-assets-collapsible").append(" ➝ Total: "+parseInt(c.total_hardcoded_assets)),e.triggerForHardcodedAssets()}})}function c(b){if(!b&&!a("#wpacu_ajax_fetch_assets_list_dashboard_view").length)return!1;if(a("#wpacu_page_options_no_wpacu_load").length>0&&a("#wpacu_page_options_no_wpacu_load").prop("checked")){var c={action:wpacu_object.plugin_name+"_load_page_restricted_area",post_id:wpacu_object.post_id,time_r:(new Date).getTime()};return void a.post(wpacu_object.ajax_url,c,function(b){if(!b)return!1;a("#wpacu_meta_box_content").html(b),a(".wpacu_asset_row, .wpacu-page-options .wpacu-assets-collapsible-content").removeClass("wpacu-loading"),a("#wpacu-assets-reloading").remove()})}var f={};if("direct"===wpacu_object.dom_get_type)f[wpacu_object.plugin_name+"_load"]=1,f[wpacu_object.plugin_name+"_time_r"]=(new Date).getTime(),a.ajax({method:"GET",url:wpacu_object.page_url,data:f,cache:!1,complete:function(b,c){if("error"===b.statusText){if(404===b.status)return void d(b.responseText,b.status);var e=b.responseText.replace(/(<([^>]+)>)/gi,"");try{e=String(e).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")}catch(a){console.log(a)}var f=wpacu_object.ajax_direct_fetch_error;f=f.replace(/{wpacu_output}/,e),f=f.replace(/{wpacu_status_code_error}/,b.status),a("#wpacu_meta_box_content").html(f)}}}).done(function(b){a("#wpacu-fetch-list-step-1-wrap").addClass("wpacu-completed"),a("#wpacu-fetch-list-step-1-status").html(a("#wpacu-list-step-completed-status").html()),a("#wpacu-fetch-list-step-2-status").html(a("#wpacu-list-step-default-status").html()),d(b)});else if("wp_remote_post"===wpacu_object.dom_get_type){var g={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,wpacu_taxonomy:wpacu_object.wpacu_taxonomy,time_r:(new Date).getTime(),force_manage_dash:wpacu_object.force_manage_dash};a.post(wpacu_object.ajax_url,g,function(b){if(!b)return!1;a("#wpacu_meta_box_content").html(b),a("#wpacu_dash_assets_manager_form").length>0&&a("#submit").show(),setTimeout(function(){e.load(),setTimeout(function(){wpacuCheckSourcesFor404Errors()},100)},200)})}}function d(b,c){if(b.lastIndexOf(wpacu_object.start_del_e)<0||b.lastIndexOf(wpacu_object.end_del_e)<0||b.lastIndexOf(wpacu_object.start_del_h)<0||b.lastIndexOf(wpacu_object.end_del_h)<0){var d=wpacu_object.ajax_direct_fetch_error_with_success_response;d=d.replace(/{wpacu_output}/,xhr.responseText.replace(/(<([^>]+)>)/gi,""));try{d=String(d).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")}catch(a){console.log(a)}return void a("#wpacu_meta_box_content").html(d)}var f=b.substring(b.lastIndexOf(wpacu_object.start_del_e)+wpacu_object.start_del_e.length,b.lastIndexOf(wpacu_object.end_del_e)),g=b.substring(b.lastIndexOf(wpacu_object.start_del_h)+wpacu_object.start_del_h.length,b.lastIndexOf(wpacu_object.end_del_h)),h={action:wpacu_object.plugin_name+"_get_loaded_assets",wpacu_list_e:f,wpacu_list_h:g,post_id:wpacu_object.post_id,page_url:wpacu_object.page_url,tag_id:wpacu_object.tag_id,wpacu_taxonomy:wpacu_object.wpacu_taxonomy,force_manage_dash:wpacu_object.force_manage_dash,time_r:(new Date).getTime(),is_for_singular:!1};a("#wpacu_manage_singular_page_assets").length>0&&(h.is_for_singular=!0),a.post(wpacu_object.ajax_url,h,function(b){b&&(a("#wpacu_meta_box_content").html(b),404===c&&a("#wpacu_meta_box_content").prepend('<p><span class="dashicons dashicons-warning"></span> '+wpacu_object.server_returned_404_not_found+"</p><hr />"),a("#wpacu_dash_assets_manager_form").length>0&&a("#submit").show(),setTimeout(function(){e.load(),a(".wpacu_asset_row, .wpacu-page-options .wpacu-assets-collapsible-content").removeClass("wpacu-loading"),a("#wpacu-assets-reloading").remove(),wpacuCheckSourcesFor404Errors()},200))})}var e={load:function(){var b,c,d,f=".input-unload-on-this-page.wpacu-not-locked";a(document).on("click change",".input-unload-on-this-page",function(f){if(b=a(this).attr("data-handle"),c=a(this).hasClass("wpacu_unload_rule_for_style")?"style":"script",a(this).prop("checked")){if("click"===f.type&&!e.triggerAlertWhenAnyUnloadRuleIsChosen(b,c))return!1;e.uncheckAllOtherBulkUnloadRules(a(this),!1),e.showHandleLoadExceptionArea(c,b),a(this).closest("tr").addClass("wpacu_not_load")}else a(this).closest("tr").removeClass("wpacu_not_load"),d=a(this).parents(".wpacu_asset_row"),e.hideHandleLoadExceptionArea(d,b,c)}),a(".wpacu-plugin-check-all").on("click",function(b){b.preventDefault();var c=a(this).attr("data-wpacu-plugin");a('table.wpacu_list_by_location[data-wpacu-plugin="'+c+'"]').find(f).prop("checked",!0).closest("tr").addClass("wpacu_not_load")}),a(".wpacu-plugin-uncheck-all").on("click",function(b){b.preventDefault();var c=a(this).attr("data-wpacu-plugin");a('table.wpacu_list_by_location[data-wpacu-plugin="'+c+'"]').find(f).prop("checked",!1).closest("tr").removeClass("wpacu_not_load")}),a(".wpacu-plugin-check-load-all").on("click change",function(b){b.preventDefault();var c=a(this).attr("data-wpacu-plugin"),d=a('table.wpacu_list_by_location[data-wpacu-plugin="'+c+'"]');d.find(".wpacu_load_it_option_one.wpacu_load_exception").prop("checked",!0).closest("tr.wpacu_is_bulk_unloaded").removeClass("wpacu_not_load"),d.find(f).prop("checked",!1).trigger("change")}),a(".wpacu-plugin-uncheck-load-all").on("click change",function(b){b.preventDefault();var c=a(this).attr("data-wpacu-plugin"),d=a('table.wpacu_list_by_location[data-wpacu-plugin="'+c+'"]');d.find(".wpacu_load_it_option_one.wpacu_load_exception").prop("checked",!1).closest("tr.wpacu_is_bulk_unloaded").addClass("wpacu_not_load"),d.find(f).prop("checked",!1).trigger("change")}),a(document).on("click",".wpacu_keep_bulk_rule",function(){a(this).prop("checked")&&a(this).parents("li").next().removeClass("remove_rule")}),a(document).on("click",".wpacu_remove_bulk_rule",function(){a(this).prop("checked")&&a(this).parents("li").addClass("remove_rule")}),a(document).on("click change",".wpacu_bulk_unload",function(f){b=a(this).attr("data-handle"),c=a(this).attr("data-handle-for"),d=a("[data-"+c+'-handle-row="'+b+'"]');var g=a(this).parents("li");if(a(this).prop("checked")){if("click"===f.type&&!e.triggerAlertWhenAnyUnloadRuleIsChosen(b,c))return!1;a(this).hasClass("wpacu_unload_it_regex_checkbox")?(g.find("label").addClass("wpacu_unload_checked"),g.find("textarea").prop("disabled",!1).focus().removeClass("wpacu_disabled"),g.find(".wpacu_handle_unload_regex_input_wrap").removeClass("wpacu_hide")):(a(this).parent("label").addClass("wpacu_input_load_checked"),a(this).closest("tr").addClass("wpacu_not_load")),e.showHandleLoadExceptionArea(c,b),a(this).hasClass("wpacu_global_unload")?(e.uncheckAllOtherBulkUnloadRules(a(this),!0),a('.input-unload-on-this-page[data-handle-for="'+c+'"][data-handle="'+b+'"]').prop("checked",!1)):a(this).hasClass("wpacu_post_type_unload")&&(e.uncheckAllOtherBulkUnloadRules(a(this),!1),a('.input-unload-on-this-page[data-handle-for="'+c+'"][data-handle="'+b+'"]').prop("checked",!1))}else a(this).hasClass("wpacu_unload_it_regex_checkbox")?(g.find("label").removeClass("wpacu_unload_checked"),g.find("textarea").blur().addClass("wpacu_disabled"),""===g.find("textarea").val().trim()&&(g.find("textarea").prop("disabled",!0).val(""),g.find(".wpacu_handle_unload_regex_input_wrap").addClass("wpacu_hide"))):(a(this).parent("label").removeClass("wpacu_input_load_checked"),a(this).closest("tr").removeClass("wpacu_not_load")),e.hideHandleLoadExceptionArea(d,b,c);d.hasClass("wpacu_is_bulk_unloaded")||a(".wpacu_bulk_unload:not(.wpacu_unload_it_regex_checkbox)").is(":checked")||a(this).closest("tr").removeClass("wpacu_not_load")}),a(document).on("click change",".wpacu_load_it_option_one.wpacu_load_exception,.wpacu_load_it_option_post_type",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")}),
|
3 |
+
a(document).on("click change",".wpacu_load_it_option_two",function(){var b=a(this).parents("li");a(this).prop("checked")?(b.find("textarea").prop("disabled",!1).focus().removeClass("wpacu_disabled"),b.find(".wpacu_load_regex_input_wrap").removeClass("wpacu_hide")):(b.find("textarea").blur().addClass("wpacu_disabled"),""===b.find("textarea").val().trim()&&(b.find("textarea").prop("disabled",!0).val(""),b.find(".wpacu_load_regex_input_wrap").addClass("wpacu_hide")))}),a(document).on("click change",".wpacu_script_attr_rule_input",function(b){if(a(this).is(":checked")){if("click"===b.type){var c=a(this).parents("tr.wpacu_asset_row").attr("data-script-child-handles"),d=wpacu_object.script_is_parent_alert;if(void 0!==c&&""!==c&&(d=d.replace("{wpacu_script_child_handles}",c),!confirm(d)))return!1}a(this).parents("ul").find(".wpacu_script_attr_rule_input").not(a(this)).prop("checked",!1),a(this).hasClass("wpacu_script_attr_rule_global")&&a(this).parents("ul").find(".wpacu-script-attr-make-exception").removeClass("wpacu_hide")}a(this).parents("ul").find(".wpacu_script_attr_rule_global").is(":checked")||a(this).parents("ul").find(".wpacu-script-attr-make-exception").addClass("wpacu_hide")}),a(document).on("change",".wpacu-screen-size-load",function(b){var c,d,e,f=a(this).val(),g=a(this).attr("data-handle");if(a(this).hasClass("wpacu-for-script"))c="SCRIPT file",d=a('.wpacu-handle-media-queries-load-field[data-script-handle="'+g+'"]');else{if(!a(this).hasClass("wpacu-for-style"))return!1;c="CSS file",d=a('.wpacu-handle-media-queries-load-field[data-style-handle="'+g+'"]')}if(!(d.length<1))if(e=d.find(":input"),f){if(a(this)[0].hasAttribute("data-wpacu-show-parent-alert")){var h=wpacu_object.parent_asset_media_query_load_alert.replace("[asset_type]",c);if(!confirm(h))return a(this).val(""),!1}d.addClass("wpacu-is-visible"),e.prop("disabled",!1),""===e.val()&&e.focus()}else d.removeClass("wpacu-is-visible"),""===e.val().trim()&&"true"===e.attr("data-wpacu-is-empty-on-page-load")&&e.prop("disabled",!0).val("")}),a(document).on("click",".wpacu-add-handle-note",function(b){b.preventDefault();var c,d,e=a(this).attr("data-handle");a(this).hasClass("wpacu-for-script")?c=a('.wpacu-handle-notes-field[data-script-handle="'+e+'"]'):a(this).hasClass("wpacu-for-style")&&(c=a('.wpacu-handle-notes-field[data-style-handle="'+e+'"]')),c.length<1||(d=c.find(":input"),c.is(":hidden")?(c.show(),d.prop("disabled",!1)):(c.hide(),""===d.val().trim()&&"true"===d.attr("data-wpacu-is-empty-on-page-load")&&d.prop("disabled",!0).val("")))}),a(document).on("click",".wpacu-external-file-size",function(b){b.preventDefault();var c,d=a(this),e=d.attr("data-src");d.hide(),c=d.next(),c.show(),e.includes("/?")?a.get(e,{},function(a,b,d){if("success"!==b)return"N/A";c.html(wpacuBytesToSize(a.length))}):a.post(wpacu_object.ajax_url,{action:wpacu_object.plugin_id+"_get_external_file_size",wpacu_remote_file:e,wpacu_ajax_check_remote_file_size_nonce:wpacu_object.wpacu_ajax_check_remote_file_size_nonce},function(a){c.html(a)})}),
|
4 |
+
// Note: Starting from July 24, 2021, development has started to use AJAX to save the state
|
5 |
+
a(document).on("click",".wpacu_handle_row_expand_contract",function(b){b.preventDefault();var c,d=a(this).attr("data-wpacu-handle"),e=a(this).attr("data-wpacu-handle-for");a(this).find("span").hasClass("dashicons-minus")?(c="contracted",a(this).parents("td").attr("data-wpacu-row-status",c).find(".wpacu_handle_row_expanded_area").addClass("wpacu_hide"),a(this).find("span").removeClass("dashicons-minus").addClass("dashicons-plus")):a(this).find("span").hasClass("dashicons-plus")&&(c="expanded",a(this).parents("td").attr("data-wpacu-row-status",c).find(".wpacu_handle_row_expanded_area").removeClass("wpacu_hide"),a(this).find("span").removeClass("dashicons-plus").addClass("dashicons-minus")),wpacuAjaxUpdateKeepTheAssetRowState(c,d,e,a(this))})},triggerForHardcodedAssets:function(){a('[data-is-hardcoded-asset="true"]').length>0&&(a.each(a('[data-is-hardcoded-asset="true"]'),function(b,c){e.updateHardcodedDataHiddenFieldStatus(a(this))}),a('[data-is-hardcoded-asset="true"]').on("click",".wpacu_unload_rule_input",function(){e.updateHardcodedDataHiddenFieldStatus(a(this).parents("[data-is-hardcoded-asset]"))}))},updateHardcodedDataHiddenFieldStatus:function(b){var c=!1;b.is("[data-style-handle-row]")?c=b.attr("data-style-handle-row"):b.is("[data-script-handle-row]")&&(c=b.attr("data-script-handle-row")),c&&(b.find(".wpacu_unload_rule_input:checked").length>0||b.hasClass("wpacu_not_load")?a("#"+c+"_hardcoded_data").prop("disabled",!1):a("#"+c+"_hardcoded_data").prop("disabled",!0))},triggerAlertWhenAnyUnloadRuleIsChosen:function(b,c){if("dashicons"===b&&"style"===c&&a('input[name="wpacu_ignore_child[styles][nf-display]').length>0&&!confirm(wpacu_object.dashicons_unload_alert_ninja_forms))return!1;if("script"===c){if(("jquery"===b||"jquery-core"===b)&&a("#script_jquery_ignore_children").length>0&&!confirm(wpacu_object.jquery_unload_alert))return!1;if("js-cookie"===b&&!confirm(wpacu_object.woo_js_cookie_unload_alert))return!1;if("wc-cart-fragments"===b&&!confirm(wpacu_object.woo_wc_cart_fragments_unload_alert))return!1;if(("backbone"===b||"underscore"===b)&&!confirm(wpacu_object.sensitive_library_unload_alert))return!1}return!0},pluginLoadManager:function(){a(".wpacu_plugin_load_it").on("click",function(){var b=a(this).attr("data-wpacu-plugin-path");a(this).prop("checked")&&(e.hidePluginLoadExceptionArea(b),a('.wpacu_plugin_unload_regex_input_wrap[data-wpacu-plugin-path="'+b+'"]').addClass("wpacu_hide"),a('.wpacu_plugin_unload_site_wide[data-wpacu-plugin-path="'+b+'"]').parent("label").removeClass("wpacu_plugin_unload_rule_input_checked"),a('.wpacu_plugin_unload_regex_option[data-wpacu-plugin-path="'+b+'"]').parent("label").removeClass("wpacu_plugin_unload_rule_input_checked"))}),a(".wpacu_plugin_unload_site_wide").on("click",function(){var b=a(this).attr("data-wpacu-plugin-path");a(this).prop("checked")?(a(this).parent("label").addClass("wpacu_plugin_unload_rule_input_checked"),a('.wpacu_plugin_unload_regex_option[data-wpacu-plugin-path="'+b+'"]').prop("checked",!1).parent("label").removeClass("wpacu_plugin_unload_rule_input_checked"),a('.wpacu_plugin_unload_logged_in[data-wpacu-plugin-path="'+b+'"]').prop("checked",!1).parent("label").removeClass("wpacu_plugin_unload_rule_input_checked"),a('.wpacu_plugin_unload_regex_input_wrap[data-wpacu-plugin-path="'+b+'"]').addClass("wpacu_hide"),e.showPluginLoadExceptionArea(b)):(a(this).parent("label").removeClass("wpacu_plugin_unload_rule_input_checked"),e.hidePluginLoadExceptionArea(b))}),a(".wpacu_plugin_unload_regex_option").on("click",function(){var b=a(this).attr("data-wpacu-plugin-path");a(this).prop("checked")?(a(this).parent("label").addClass("wpacu_plugin_unload_rule_input_checked"),a('.wpacu_plugin_unload_regex_input_wrap[data-wpacu-plugin-path="'+b+'"]').removeClass("wpacu_hide"),e.showPluginLoadExceptionArea(b),a('.wpacu_plugin_unload_site_wide[data-wpacu-plugin-path="'+b+'"]').prop("checked",!1).parent("label").removeClass("wpacu_plugin_unload_rule_input_checked")):(a('.wpacu_plugin_unload_regex_input_wrap[data-wpacu-plugin-path="'+b+'"]').addClass("wpacu_hide"),a(this).parent("label").removeClass("wpacu_plugin_unload_rule_input_checked"),e.hidePluginLoadExceptionArea(b))}),a(".wpacu_plugin_unload_logged_in").on("click",function(){var b=a(this).attr("data-wpacu-plugin-path");a(this).prop("checked")?(e.showPluginLoadExceptionArea(b),a('.wpacu_plugin_unload_site_wide[data-wpacu-plugin-path="'+b+'"]').prop("checked",!1).parent("label").removeClass("wpacu_plugin_unload_rule_input_checked")):(a(this).parent("label").removeClass("wpacu_plugin_unload_rule_input_checked"),e.hidePluginLoadExceptionArea(b))}),a(".wpacu_plugin_load_exception_regex").on("click",function(){var b=a(this).attr("data-wpacu-plugin-path");a(this).prop("checked")?a('.wpacu_load_regex_input_wrap[data-wpacu-plugin-path="'+b+'"]').removeClass("wpacu_hide"):a('.wpacu_load_regex_input_wrap[data-wpacu-plugin-path="'+b+'"]').addClass("wpacu_hide")})},showPluginLoadExceptionArea:function(b){a('.wrap_plugin_load_exception_options[data-wpacu-plugin-path="'+b+'"]').removeClass("wpacu_hide").find('input[type="checkbox"]').prop("disabled",!1)},hidePluginLoadExceptionArea:function(b){a('.wrap_plugin_unload_rules_options[data-wpacu-plugin-path="'+b+'"]').find("input:checked").length<1&&a('.wrap_plugin_load_exception_options[data-wpacu-plugin-path="'+b+'"]').addClass("wpacu_hide").find('input[type="checkbox"]').prop("disabled",!0)},showHandleLoadExceptionArea:function(b,c){var d=a("div.wpacu_exception_options_area_wrap[data-"+b+'-handle="'+c+'"]');d.parent("div").removeClass("wpacu_hide"),d.find('input[type="checkbox"]').not(".wpacu_lite_locked").prop("disabled",!1)},hideHandleLoadExceptionArea:function(b,c,d){if(!b.hasClass("wpacu_is_bulk_unloaded")&&!b.find(".wpacu_bulk_unload").is(":checked")){var e=a("div.wpacu_exception_options_area_wrap[data-"+d+'-handle="'+c+'"]');e.parent("div").addClass("wpacu_hide"),e.find('input[type="checkbox"]').prop("disabled",!0)}},uncheckAllOtherBulkUnloadRules:function(a,b){var c=".wpacu_bulk_unload";!1===b&&(c=".wpacu_bulk_unload:not(.wpacu_unload_it_regex_checkbox)"),a.closest("tr").find(c).not(a).prop("checked",!1).parent("label").removeClass("wpacu_input_load_checked").removeClass("wpacu_unload_checked")},limitSubmittedFields:function(){var b=!1,c=[];if(a("body.wp-admin form#post").length>0||a("body.wp-admin form#edittag").length>0){if(a("#wpacu_unload_assets_area_loaded").length<1)return!0;b=!0}return a('[data-wpacu-input="preload"]').length>0&&(c[0]='[data-wpacu-input="preload"]'),a('[data-wpacu-input="media-query-select"]').length>0&&(c[1]='[data-wpacu-input="media-query-select"]'),a('[data-wpacu-input="position-select"]').length>0&&(c[2]='[data-wpacu-input="position-select"]'),c.length>0&&a(c.join()).each(function(){if(a(this).val()||a(this).prop("disabled","disabled"),a(this).hasClass("wpacu-screen-size-load")){var b=a(this).attr("data-handle"),c="#wpacu_handle_media_query_load_style_"+b;a(c).length>0&&!a(c).val()&&(a(this).prop("disabled","disabled"),a(c).prop("disabled","disabled"))}"position-select"===a(this).attr("data-wpacu-input")&&"initial"===a(this).val()&&a(this).prop("disabled","disabled")}).promise().done(function(){b=!0}),b}};a(document).on("click",'input[name="wpacu_sub_tab_area"]',function(){a(this).prop("checked")&&a("#wpacu-selected-sub-tab-area").val(a(this).val())}),a(document).on("click","#wpacu_minify_css_enable, #wpacu_combine_loaded_css_enable, #wpacu_minify_js_enable, #wpacu_combine_loaded_js_enable, #wpacu_cdn_rewrite_enable, #wpacu_enable_test_mode",function(){a(this).prop("checked")?a('[data-linked-to="'+a(this).attr("id")+'"]').find(".wpacu-circle-status").addClass("wpacu-on").removeClass("wpacu-off"):a('[data-linked-to="'+a(this).attr("id")+'"]').find(".wpacu-circle-status").addClass("wpacu-off").removeClass("wpacu-on")}),a(document).on("click","#wpacu_inline_css_files_below_size_checkbox",function(){a(this).is(":checked")?a("#wpacu_inline_css_files_enable").prop("checked",!0).trigger("tick"):""===a("#wpacu_inline_css_files_list").val()&&a("#wpacu_inline_css_files_enable").prop("checked",!1).trigger("tick")}),a(document).on("click","#wpacu_inline_js_files_below_size_checkbox",function(){if(a(this).is(":checked")){if(!confirm(wpacu_object.inline_auto_js_files_confirm_msg))return!1;a("#wpacu_inline_js_files_enable").prop("checked",!0).trigger("tick")}else""===a("#wpacu_inline_js_files_list").val()&&a("#wpacu_inline_js_files_enable").prop("checked",!1).trigger("tick")}),a(document).on("click","#wpacu-mark-license-valid-button",function(){return confirm(wpacu_object.mark_license_valid_confirm)}),a(document).on("submit","#wpacu-license-form",function(){a("#wpacu_license_activate_btn").attr("disabled","disabled"),a("#wpacu_license_deactivate_btn").attr("disabled","disabled"),a(".wpacu-license-spinner").show()});var f,g;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, #wpacu-cache-assets-remove-area").addClass("wpacu-visible"):a("#wpacu-license-data-remove-area, #wpacu-cache-assets-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(),f=a(this).find("option:selected"),a("#"+f.attr("data-id")).show()}),a("#wpacu-reset-submit-btn").on("click",function(){if("reset_settings"===a("#wpacu-reset-drop-down").val()?g=wpacu_object.reset_settings_confirm_msg:"reset_critical_css"===a("#wpacu-reset-drop-down").val()?g=wpacu_object.reset_critical_css_confirm_msg:"reset_everything_except_settings"===a("#wpacu-reset-drop-down").val()?g=wpacu_object.reset_everything_except_settings_confirm_msg:"reset_everything"===a("#wpacu-reset-drop-down").val()&&(g=wpacu_object.reset_everything_confirm_msg),!confirm(g))return!1;a("#wpacu-action-confirmed").val("yes"),setTimeout(function(){"yes"===a("#wpacu-action-confirmed").val()&&a("#wpacu-tools-form").trigger("submit")},1e3)}),a(document).on("submit","#wpacu-import-form",function(){if(!confirm(wpacu_object.import_confirm_msg))return!1;a(this).find("button").addClass("wpacu-importing").prop("disabled",!0)}),a(document).on("change","#wpacu_post_type_select",function(){a("#wpacu_post_type_form").trigger("submit")}),a(document).on("change","#wpacu_taxonomy_select",function(){a("#wpacu_taxonomy_form").trigger("submit")}),a(document).on("click","#wpacu_dashboard",function(){a(this).prop("checked")?a("#wpacu-settings-assets-retrieval-mode").show():a("#wpacu-settings-assets-retrieval-mode").hide()}),a(document).on("change",".wpacu-dom-get-type-selection",function(){a(this).is(":checked")&&(a(".wpacu-dom-get-type-info").hide(),a("#"+a(this).attr("data-target")).fadeIn("fast"))}),a(document).on("click","#wpacu_frontend",function(){a(this).prop("checked")?a("#wpacu-settings-frontend-exceptions").show():a("#wpacu-settings-frontend-exceptions").hide()}),a(document).on("change",".google_fonts_combine_type",function(){a(".wpacu_google_fonts_combine_type_area").hide(),"async"===a(this).val()?a("#wpacu_google_fonts_combine_type_async_info_area").fadeIn():"async_preload"===a(this).val()?a("#wpacu_google_fonts_combine_type_async_preload_info_area").fadeIn():a("#wpacu_google_fonts_combine_type_rb_info_area").fadeIn()}),a("#wpacu-allow-manage-assets-to-select-list-area").length>0&&!a("#wpacu-allow-manage-assets-to-select-list-area").hasClass("wpacu_hide")&&setTimeout(function(){jQuery("#wpacu-allow-manage-assets-to-select-list").chosen()},200),a("#wpacu-allow-manage-assets-to-select").on("click change",function(){"chosen"===a(this).val()?(a("#wpacu-allow-manage-assets-to-select-list-area").removeClass("wpacu_hide"),setTimeout(function(){jQuery("#wpacu-allow-manage-assets-to-select-list").chosen()},200)):a("#wpacu-allow-manage-assets-to-select-list-area").addClass("wpacu_hide")}),a("#wpacu_assets_list_layout").on("click change",function(){"by-location"===a(this).val()?a("#wpacu-assets-list-by-location-selected").fadeIn("fast"):a("#wpacu-assets-list-by-location-selected").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("[data-target-opacity]").on("click change tick",function(){a(this).prop("checked")?a("#"+a(this).attr("data-target-opacity")).css({opacity:1}):a("#"+a(this).attr("data-target-opacity")).css({opacity:.4})}),
|
6 |
+
a(document).on("change",".wpacu-combine-loaded-js-level",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 h=a('#wpacu-update-button-area input[type="submit"]');a(document).on("submit","#wpacu-settings-form, .wpacu-settings-form",function(){h.attr("disabled",!0),a("#wpacu-updating-settings").addClass("wpacu-show").removeClass("wpacu-hide")});var i=a("#wpacu-update-front-settings-area .wpacu_update_btn");if(a(document).on("submit","#wpacu-frontend-form",function(){return i.attr("disabled",!0).addClass("wpacu_submitting"),a("#wpacu-updating-front-settings").show(),!0}),a(document).on("submit","form#wpacu-settings-form, form#wpacu_dash_assets_manager_form",function(){return h.attr("disabled",!0),a("#wpacu-updating-settings").show(),!0}),a(document).on("submit","form#wpacu-frontend-form, form#wpacu_dash_assets_manager_form, body.wp-admin form#post, body.wp-admin #edittag",function(){return e.limitSubmittedFields()}),a(document).on("click",".wpacu_bulk_rule_checkbox, .wpacu_remove_preload",function(){var b=a(this).parents(".wpacu_bulk_change_row");a(this).prop("checked")?b.addClass("wpacu_selected"):b.removeClass("wpacu_selected")}),a(document).on("click","#wpacu-assets-contract-all",function(){a(this).prop("disabled",!0),wpacuAjaxUpdateKeepTheGroupsState("contracted",a(this).attr("id"))}),a(document).on("click","#wpacu-assets-expand-all",function(){a(this).prop("disabled",!0),wpacuAjaxUpdateKeepTheGroupsState("expanded",a(this).attr("id"))}),a(document).on("click",".wpacu_remove_regex",function(){var b=a(this).parents(".wpacu_regex_rule_row");a(this).prop("checked")?b.addClass("wpacu_enabled"):b.removeClass("wpacu_enabled")}),a(document).on("click",".wpacu_restore_position",function(){var b=a(this).parents(".wpacu_restore_position_row");a(this).prop("checked")?b.addClass("wpacu_selected"):b.removeClass("wpacu_selected")}),a(document).on("click",".wpacu_remove_global_attr",function(){var b=a(this).parents(".wpacu_remove_global_attr_row");a(this).prop("checked")?b.addClass("wpacu_selected"):b.removeClass("wpacu_selected")}),a("#wpacu_wrap_assets").length>0&&setTimeout(function(){e.load()},200),a("#wpacu-plugins-load-manager-wrap").length>0&&setTimeout(function(){e.pluginLoadManager()},200),a("#wpacu-assets-collapsible-wrap-hardcoded-list").length>0){var j={};j[wpacu_object.plugin_name+"_load"]=1,j[wpacu_object.plugin_name+"_time_r"]=(new Date).getTime(),j.wpacu_just_hardcoded=1,a.ajax({method:"GET",url:wpacu_object.page_url,data:j,cache:!1,complete:function(a,c){"error"===a.statusText&&b(a.responseText)}}).done(function(a){b(a)})}if("undefined"==typeof wpacu_object||a("#wpacu_meta_box_content").length<1)return!1;("default"===wpacu_object.list_show_status||""===wpacu_object.list_show_status||wpacu_object.override_assets_list_load)&&c(!1),"fetch_on_click"===wpacu_object.list_show_status&&a(document).on("click","#wpacu_ajax_fetch_on_click_btn",function(b){b.preventDefault(),a(this).hide(),a("#wpacu_fetching_assets_list_wrap").show(),c(!0)}),a(document).on("click",".wp-admin.post-php .edit-post-header__settings button.is-primary",function(){e.limitSubmittedFields();var b=function(){if(0===a(".edit-post-header__settings .is-saving").length){if(a("#wpacu_meta_box_content").length>0){a("#wpacu-assets-reloading").remove();var b='<span id="wpacu-assets-reloading" class="editor-post-saved-state is-wpacu-reloading">'+wpacu_object.reload_icon+wpacu_object.reload_msg+"</span>";a(".wp-admin.post-php .edit-post-header__settings").prepend(b),a(".wpacu_asset_row, .wpacu-page-options .wpacu-assets-collapsible-content").addClass("wpacu-loading"),c(!0),wpacuAjaxClearCache(),clearInterval(d)}}},d=setInterval(b,900)});try{var k;a('input[type="hidden"][name="_wp_http_referer"]').length>0&&(k=a('input[type="hidden"][name="_wp_http_referer"]').val(),k.includes("term.php?taxonomy=")&&k.includes("message=")&&wpacuAjaxClearCache(),k.includes("post.php?post=")&&k.includes("message=")&&wpacuAjaxClearCache())}catch(a){console.log(a)}}),jQuery(window).on("load",function(){wpacuCheckSourcesFor404Errors()}),jQuery(document).ready(function(){[].slice.call(document.querySelectorAll('textarea[data-wpacu-adapt-height="1"]')).forEach(function(a){a.style.boxSizing=a.style.mozBoxSizing="border-box",a.style.overflowY="hidden";var b=a.scrollHeight;a.addEventListener("input",function(){wpacuAdjustTextareaHeight(a,b)}),window.addEventListener("resize",function(){wpacuAdjustTextareaHeight(a,b)}),wpacuAdjustTextareaHeight(a,b)})});
|
assets/style.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
@charset "UTF-8";#wpacu-pages-info-area{width:98%}#wpacu-top-area{margin:15px 0;padding:0 10px}#wpacu-quick-actions{color:#74777b;float:right;width:auto;margin-right:30px;background:rgba(40,44,42,.05);border-radius:10px;padding:6px 12px}#wpacu-quick-actions .wpacu-actions-title{font-weight:200;letter-spacing:.5px}#wpacu-quick-actions a{color:#004567;text-decoration:none}#wpacu-quick-actions a:hover{color:#0073aa}#wpacu-logo-wrap{width:auto;display:inline-block;position:relative}#wpacu-logo-wrap a{display:block}#wpacu-logo-wrap img{width:352px;height:79px}#wpacu-logo-wrap .wpacu-pro-sign{position:absolute;height:auto;font-family:FiraSans-Medium,proxima-nova-1,Montserrat,Helvetica,sans-serif;font-size:13px;font-weight:600;letter-spacing:1px;padding:5px 11px;border-radius:15px;right:-60px;top:30px;width:auto;display:inline-block;text-align:center}#wpacu-logo-wrap .wpacu-pro-sign.wpacu-lite{color:#74777b;background:rgba(40,44,42,.05)}#wpacu-logo-wrap .wpacu-pro-sign.wpacu-pro{color:#004567;background-color:rgba(40,44,42,.05)}.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;padding:0;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.extra-info{position:absolute;font-size:12px;left:-50%;right:50%;bottom:12px;-webkit-transform:translate(50%,50%);transform:translate(50%,50%);white-space:nowrap}.wpacu-tabs nav ul li span.extra-info.has-bulk-unloads{right:48%}.wpacu-tabs nav ul li span.extra-info.no-bulk-unloads{left:0;right:2px;bottom:2px;-webkit-transform:inherit;transform:inherit}.wpacu-tabs nav ul li span.extra-info .dashicons{font-size:16px;margin-right:-3px;margin-top:1px}.wpacu-tabs nav ul li span.extra-info.license-status.inactive{color:#c00}.wpacu-tabs nav ul li span.extra-info.license-status.active{color:green}.wpacu-tabs nav ul li span.extra-info.assets-unloaded-false{color:#004567}.wpacu-tabs nav ul li span.extra-info.assets-unloaded-true,.wpacu-tabs nav ul li span.extra-info.bulk-unloads-true{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:1800px;margin:20px auto 22px 0;width:98%;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_hide{display:none!important}.wpacu-script-attributes-area{display:block;margin-bottom:12px}.wpacu-script-attributes-area>div:first-of-type{display:inline-block;float:left;margin-right:15px;line-height:30px;vertical-align:middle}.wpacu-script-attributes-area ul.wpacu-script-attributes-settings{display:inline-block;float:left;padding:5px 7px!important}.wpacu-script-attributes-area ul.wpacu-script-attributes-settings.wpacu-first{margin:0 15px 0 0!important}.wpacu-script-attributes-area ul.wpacu-script-attributes-settings label{margin:0!important}.wpacu-script-attributes-area ul.wpacu-script-attributes-settings li{display:inline-block;margin:0 16px 0 0!important}.wpacu-script-attributes-area ul.wpacu-script-attributes-settings li:first-child{margin:0 10px 0 0!important}.wpacu-script-attributes-area 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]{width:auto;padding:0;margin:0 5px 0 0}.wpacu-script-attributes-area .wpacu-script-attributes-settings:hover{background:#f2faf2}tr.wpacu_location_changed>td{border-left:#004567 4px solid}tr.wpacu_not_load td,tr.wpacu_not_load th{background:#ffe1e1!important}tr.wpacu_not_load td .wpacu-assets-inline-code-wrap,tr.wpacu_not_load td .wpacu-only-when-kept-loaded,tr.wpacu_not_load th .wpacu-assets-inline-code-wrap,tr.wpacu_not_load th .wpacu-only-when-kept-loaded{opacity:.45}.dashicons-wpacu{width:17px;height:17px;margin:2px 0 0 0;font-size:16px;text-decoration:none;color:inherit!important}.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 #wpacu-fetch-list-step-1-wrap.wpacu-completed{color:green}#wpacu_meta_box_content div.select select{max-width:inherit}#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 .dashicons.dashicons-warning,#wpacu_meta_box_content .dashicons.dashicons-wordpress-alt{color:#c00}#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-update-front-settings-area{margin:10px 0;display:inline-block;position:relative}@media only screen and (min-width:768px){#wpacu-update-front-settings-area{position:-webkit-sticky;position:sticky;bottom:0;display:block;padding:15px 0;z-index:1000000;border-top:1px solid #cdcdcd;background:#fff}}#wpacu-updating-front-settings{display:none;position:absolute;top:20px;left:142px}.wpacu_load_regex_area_wrap label.wpacu_bold span,.wpacu_unload_regex_area_wrap label.wpacu_bold span{font-weight:600!important}.wpacu_load_regex_area_wrap label.wpacu_unload_checked span,.wpacu_unload_regex_area_wrap label.wpacu_unload_checked span{color:#d54e21}.wpacu_load_regex_area_wrap .wpacu_handle_unload_regex_input_wrap,.wpacu_unload_regex_area_wrap .wpacu_handle_unload_regex_input_wrap{margin:4px 0 0}.wpacu_load_regex_area_wrap .wpacu_handle_unload_regex_input_wrap input[type=text],.wpacu_unload_regex_area_wrap .wpacu_handle_unload_regex_input_wrap input[type=text]{line-height:normal;min-height:20px;min-width:300px;max-width:400px;display:inline-block;padding:4px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.wpacu_load_regex_area_wrap .wpacu_handle_unload_regex_input_wrap input[type=text].wpacu_disabled,.wpacu_unload_regex_area_wrap .wpacu_handle_unload_regex_input_wrap input[type=text].wpacu_disabled{background:#fbfafa!important;color:inherit}.wpacu_is_global_unloaded .wpacu_exception_options_area_wrap{display:inline-block}.wpacu_is_global_unloaded .wpacu_exception_options_area_wrap .wpacu_area_one,.wpacu_is_global_unloaded .wpacu_exception_options_area_wrap .wpacu_area_two{display:block}.wpacu_is_global_unloaded .wpacu_exception_options_area_wrap .wpacu_load_regex_input_wrap{display:block}.wpacu_exception_options_area_load_exception{display:table;float:none;clear:both;border:none;padding:0!important;background:0 0}.wpacu_exception_options_area_wrap{display:table;background:0 0!important}.wpacu_exception_options_area_wrap fieldset{border:1px solid #cdcdcd;padding:10px;background:#fff;border-radius:5px}.wpacu_exception_options_area_wrap fieldset legend{width:auto;font-weight:400;font-size:inherit;padding:8px 11px;margin:0;background:#fff;border:1px solid #cdcdcd;border-radius:5px}.wpacu_exception_options_area_wrap label.wpacu_bold span{font-weight:600!important}.wpacu_exception_options_area_wrap textarea{line-height:normal;min-height:20px;min-width:300px;max-width:400px;display:inline-block;padding:2px 4px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.wpacu_exception_options_area_wrap textarea:focus{width:100%}.wpacu_exception_options_area_wrap textarea.wpacu_disabled{background:#fbfafa!important;color:inherit}.wpacu_exception_options_area_wrap p:first-of-type{margin-top:0}.wpacu_exception_options_area_wrap .wpacu_area_one{display:table-cell;vertical-align:top;padding-right:10px}.wpacu_exception_options_area_wrap .wpacu_area_two{display:table-cell}@media only screen and (max-width:1199px){.wpacu_exception_options_area_wrap{display:block}.wpacu_exception_options_area_wrap .wpacu_area_one,.wpacu_exception_options_area_wrap .wpacu_area_two{display:block}}#wpacu_meta_box_content .wpacu_widefat{width:100%}#wpacu_meta_box_content .wpacu-assets-collapsible-content{padding:0 10px!important}#wpacu_meta_box_content ul.wpacu_asset_options{vertical-align:middle}#wpacu_meta_box_content ul.wpacu_asset_options.wpacu_exception_options_area li{display:inline-block;float:left;margin:1px 25px 1px 0;line-height:20px}#wpacu_meta_box_content ul.wpacu_asset_options.wpacu_exception_options_area li:last-of-type{margin:1px 0}#wpacu_meta_box_content ul.wpacu_asset_options.wpacu_exception_options_area li input[type=text]{margin-left:5px;border:1px solid #e7e7e7;background:#fff}body.wp-admin #wpacu_wrap_assets code{display:inline-block!important}body:not(.wp-admin) #wpacu_wrap_assets code{display:block!important}#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 input[type=checkbox]{width:auto!important;margin-right:4px!important}#wpacu_wrap_assets img:not(.wpacu-ajax-loader){display:inline-block!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{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_wrap_assets ul.wpacu_asset_options.wpacu_exception_options_area li{display:inline-block;float:left;margin:1px 25px 1px 0;line-height:30px}#wpacu_wrap_assets ul.wpacu_asset_options.wpacu_exception_options_area li:last-of-type{margin:1px 0}.wpacu_verified{padding:10px;margin:0 0 10px 0!important;background-color:#f5f5f5;border-left:1px solid #ddd}.wpacu_verified span{color:#0073aa;font-weight:700}.wpacu_asset_row div.select{display:inline-block;width:auto}.wpacu_asset_row:first-child td{border-top:1px solid #cdcdcd}.wpacu_asset_row td{border-left:1px solid #cdcdcd;border-right:1px solid #cdcdcd;border-bottom:1px solid #cdcdcd}.wpacu_asset_row.wpacu_notice_row td{position:relative;padding:5px;border-bottom:1px solid transparent}.wpacu_asset_row.wpacu_notice_row td div.wpacu-warning{width:auto;margin:5px;font-style:italic}.wpacu_asset_row:not(.wpacu_notice_row) td{padding:18px!important;position:relative}.wpacu_asset_row:not(.wpacu_notice_row) td[data-wpacu-row-status=contracted]{padding:18px 18px 8px!important}.wpacu_asset_row:not(.wpacu_notice_row) td.wpacu_selected,.wpacu_asset_row:not(.wpacu_notice_row) td:hover{-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:not(.wpacu_notice_row) td p{padding:0!important;margin-bottom:8px!important;word-wrap:break-word!important;-ms-word-break:break-all;word-break:break-word}.wpacu_asset_row:not(.wpacu_notice_row) td label{width:auto!important;margin:0!important;cursor:pointer!important;display:inline-block!important;font-size:100%!important;font-weight:400!important}.wpacu_asset_row:not(.wpacu_notice_row) td label span:not(.dashicons){font-size:100%!important}.wpacu_asset_row:not(.wpacu_notice_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,.wpacu_asset_row .dashicons-wordpress-alt{color:red!important}.wpacu_asset_row .dashicons-wordpress-alt{font-size:17px;vertical-align:middle}label.wpacu_add_global{cursor:pointer!important}label.wpacu_input_load_checked{font-weight:700;color:#d54e21}label.wpacu_global_unload_exception{font-weight:700!important}tr.wpacu_bulk_change_row.wpacu_selected,tr.wpacu_global_rule_row.wpacu_selected,tr.wpacu_remove_preload_row.wpacu_selected{background:#e7e7e7}.wpacu-sub-page-tabs-wrap{min-width:320px;margin:0 auto 15px auto;border-bottom:1px solid #ccc}.wpacu-sub-page-tabs-wrap label.wpacu-sub-page-nav-label{display:inline-block;position:relative;border-top:1px solid rgba(40,44,42,.1);border-left:1px solid rgba(40,44,42,.1);border-right:1px solid rgba(40,44,42,.1)}.wpacu-sub-page-tabs-wrap label.wpacu-sub-page-nav-label a{display:block;margin:0;padding:15px 25px;font-weight:400;text-align:center;color:#74777b;border-left:1px solid transparent;border-right:1px solid transparent;border-top:2px solid transparent;border-bottom:0;text-decoration:none;background:rgba(40,44,42,.05)}.wpacu-sub-page-tabs-wrap label.wpacu-sub-page-nav-label a:hover{background:#f1f1f1;color:#008f9c}.wpacu-sub-page-tabs-wrap label.wpacu-sub-page-nav-label.wpacu-selected{color:#008f9c;border-left:1px solid #ccc;border-right:1px solid #ccc;border-top:2px solid #008f9c;border-bottom:1px transparent;margin-bottom:-2px}.wpacu-sub-page-tabs-wrap label.wpacu-sub-page-nav-label.wpacu-selected a{background:#f1f1f1;color:#008f9c;font-weight:600}.nav-tab-wrapper{border-bottom:1px solid #ccc;width:95%}.nav-tab-wrapper.nav-assets-manager .nav-tab{font-size:13px;font-weight:500;padding:6px 10px}.nav-tab-wrapper.nav-assets-manager .nav-tab.for-pro{padding:6px 8px 6px 3px}.nav-tab-wrapper.nav-critical-css-manager .nav-tab{font-size:13px;font-weight:500;padding:6px 20px 6px 10px;position:relative}.nav-tab-wrapper.nav-critical-css-manager .nav-tab span.wpacu-circle-status{position:absolute;right:5px;top:13px;height:11px;width:11px;border-radius:50%;display:inline-block;opacity:.75}.nav-tab-wrapper.nav-critical-css-manager .nav-tab span.wpacu-circle-status.wpacu-on{background:#52af00}.nav-tab-wrapper.nav-critical-css-manager .nav-tab span.wpacu-circle-status.wpacu-off{background:#ccc}.nav-tab-wrapper.nav-critical-css-manager .nav-tab.for-pro{padding:6px 8px 6px 3px}ul#wpacu_custom_pages_nav_links{list-style:none}ul#wpacu_custom_pages_nav_links li{position:relative;display:inline-block;margin:0 30px 0 0}ul#wpacu_custom_pages_nav_links li a{text-decoration:none}ul#wpacu_custom_pages_nav_links li a:hover{text-decoration:underline}ul#wpacu_custom_pages_nav_links li.wpacu-current{text-decoration:underline;font-weight:700}ul#wpacu_custom_pages_nav_links li span.wpacu-circle-status{position:absolute;right:-15px;top:5px;height:11px;width:11px;border-radius:50%;display:inline-block;opacity:.75}ul#wpacu_custom_pages_nav_links li span.wpacu-circle-status.wpacu-on{background:#52af00}ul#wpacu_custom_pages_nav_links li span.wpacu-circle-status.wpacu-off{background:#ccc}ul#wpacu_custom_pages_nav_links li:last-child:after,ul#wpacu_custom_pages_nav_links li:last-child:before{content:""}ul.wpacu_asset_options{margin:0 10px 0 0;padding:0}ul.wpacu_asset_options li{margin:0 10px 0 0;list-style:none;display:inline-block;line-height:normal}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{width:100%;font-weight:400}.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{width:auto;-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;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_update_btn.wpacu_submitting,.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;background-color:#0061a7!important}.wpacu_update_btn.wpacu_submitting{cursor:default!important}.wpacu_update_btn:active{position:relative!important;top:1px!important}.wpacu-btns a{text-decoration:none}.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:hover{text-decoration:none}.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{border-color:transparent}.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;-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=button].btn-block,.wpacu-btns input[type=reset].btn-block,.wpacu-btns input[type=submit].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;text-decoration:none;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}.wpacu-restore-pos-btn{font-size:14px!important;line-height:normal!important;height:42px!important;padding:0 18px!important;margin-top:10px!important}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;display:inline-block;color:inherit;text-decoration:none}.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>img{max-width:20px;max-height:20px}.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 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 .wordpress-core-file .wpacu-tooltip{bottom:-40px;left:120px;margin-left:-86px}.wpacu_list_table tr:first-child .wordpress-core-file .wpacu-tooltip:after{top:41px;left:-20px;border-color:transparent #c00 transparent transparent}.wordpress-core-file{position:relative;display:inline-block;font-style:normal;color:inherit;text-decoration:none}.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 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:#ffaf5512;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-allow-manage-assets-to-select-list-area{display:inline-block}#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:#008f9c0a;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 li,.wpacu-wrap p,.wpacu-wrap td{font-weight:400}.wpacu-wrap small{width:auto;float:none;display:inline}.wpacu-wrap small code{font-size:inherit!important}.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 .submit{margin:0}.wpacu-wrap.wpacu-settings-show-all #wpacu-update-button-area .button{padding-left:18px;padding-right:18px;height:46px;font-size:18px}.wpacu-wrap.wpacu-settings-show-all #wpacu-updating-settings{margin-left:224px;top:35px;left:3px}.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.wpacu_with_text{width:65px}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch.wpacu_with_text .wpacu_slider:before{left:14px}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch.wpacu_with_text .wpacu_slider:after{top:5px;position:absolute;content:"OFF";color:#fff;right:9px;font-weight:600}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch.wpacu_with_text input:checked+.wpacu_slider{background-color:#52af00}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch.wpacu_with_text input:checked+.wpacu_slider:before{left:18px}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch.wpacu_with_text input:checked+.wpacu_slider:after{top:5px;position:absolute;content:"ON";color:#fff;left:14px;font-weight:600}.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}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch.wpacu_disabled{opacity:.3}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch.wpacu_disabled:before{content:"";font-family:Dashicons,Arial,"Times New Roman","Bitstream Charter",Times,serif;position:absolute;font-size:23px;top:5px;right:2px;z-index:1000}.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}#wpacu-assets-list-by-location-selected{background:0 0;border:1px solid #e7e7e7;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;padding:8px;clear:both}.notice.notice-success+.wpacu-wrap.wpacu-settings-area{margin-top:20px}.wpacu-license-action-btn-area{margin-top:0;position:relative;display:inline-block}.wpacu-license-spinner{display:none;position:absolute;right:-30px;top:4px}.wpacu-license-spinner img{width:20px;height:20px}#wpacu-activation-issues-info{border-radius:10px;width:90%;margin-top:20px;font-size:14px;padding:6px 20px;background:#fff;border:1px solid #e7e7e7}#wpacu-activation-issues-info ol li{font-size:13px;margin-bottom:10px}#wpacu-mark-license-area-wrap{margin:15px 0}.wpacu-form-table.wpacu-license th{width:120px}.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 .wpacu-fancy-checkbox input[type=checkbox],.wpacu-form-table label input[type=checkbox]{height:20px;width:20px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.wpacu-form-table .wpacu-fancy-checkbox input[type=checkbox]:hover,.wpacu-form-table label input[type=checkbox]:hover{border:1px solid green}.wpacu-form-table .wpacu-fancy-checkbox input[type=checkbox]:checked,.wpacu-form-table label input[type=checkbox]:checked{border:1px solid green}.wpacu-form-table .wpacu-fancy-checkbox input[type=checkbox]:disabled,.wpacu-form-table label input[type=checkbox]:disabled{border:none}.wpacu-form-table .wpacu-fancy-checkbox input[type=checkbox]:disabled:checked,.wpacu-form-table label input[type=checkbox]:disabled:checked{opacity:.3}.wpacu-form-table .wpacu-fancy-checkbox input[type=checkbox]:checked:before,.wpacu-form-table label input[type=checkbox]:checked:before{color:#52af00;font:normal 24px/1 dashicons}.wpacu-form-table .wpacu-fancy-radio input[type=radio]{-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%;position:relative;height:20px;width:20px;margin:2px 0 0 0}.wpacu-form-table .wpacu-fancy-radio input[type=radio].wpacu-disabled-status:checked{border:1px solid #c00}.wpacu-form-table .wpacu-fancy-radio input[type=radio].wpacu-disabled-status:checked:before{background:#c00;color:#c00}.wpacu-form-table .wpacu-fancy-radio input[type=radio].wpacu-disabled-status:hover{border:1px solid #c00}.wpacu-form-table .wpacu-fancy-radio input[type=radio]:hover{border:1px solid green}.wpacu-form-table .wpacu-fancy-radio input[type=radio]:checked{border:1px solid green}.wpacu-form-table .wpacu-fancy-radio input[type=radio]:checked:before{margin:0;line-height:inherit;text-indent:inherit;content:"";position:absolute;top:4px;left:4px;width:10px;height:10px;border-radius:50%;background:#52af00;color:#52af00;font:normal 24px/1 dashicons}#wpacu-settings-vertical-tab-wrap{display:table;width:100%}#wpacu-settings-vertical-tab-wrap .wpacu-tab-extra-text{margin:4px 0 0 0}#wpacu-settings-vertical-tab-wrap .wpacu-tab-extra-text small{font-weight:lighter}#wpacu-settings-vertical-tab-wrap .wpacu-tab-extra-text small span.wpacu-status-wrap{position:relative;padding-left:14px}#wpacu-settings-vertical-tab-wrap .wpacu-tab-extra-text small span.wpacu-status-wrap span.wpacu-circle-status{position:absolute;left:0;top:2px;height:10px;width:10px;border-radius:50%;display:inline-block;opacity:.75}#wpacu-settings-vertical-tab-wrap .wpacu-tab-extra-text small span.wpacu-status-wrap span.wpacu-circle-status.wpacu-on{background:#52af00}#wpacu-settings-vertical-tab-wrap .wpacu-tab-extra-text small span.wpacu-status-wrap span.wpacu-circle-status.wpacu-off{background:#ccc}#wpacu-settings-vertical-tab-wrap *{box-sizing:border-box}.wpacu-settings-tab{display:table-cell;width:20%;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{margin:16px 0 0}#wpacu_minify_js_exceptions_area{margin:16px 0 0}@media only screen and (min-width:768px){body.asset-cleanup-pro_page_wpassetcleanup_assets_manager #wpacu-update-button-area,body.asset-cleanup_page_wpassetcleanup_assets_manager #wpacu-update-button-area{position:-webkit-sticky;position:sticky;bottom:0;padding:0;z-index:1000000;border-top:1px solid #cdcdcd;background:#f1f1f1}}body[class*=version-5-3] #wpacu-update-button-area .button{height:auto;padding:4px 18px 6px;font-size:15px}body[class*=version-5-3] #wpacu-updating-settings{margin-left:178px}#wpacu-update-button-area{position:relative;margin-left:20%}#wpacu-update-button-area.no-left-margin{margin-left:0}#wpacu-update-button-area .submit{margin:0;padding:19px 0}#wpacu-update-button-area .button{padding-left:18px;padding-right:18px;height:46px;font-size:15px}#wpacu-updating-settings{position:absolute;margin-left:183px;top:28px;display:none}#wpacu-updating-settings.wpacu-show{display:block}#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}.google_fonts_load_types{clear:both;margin:20px 0 15px;display:flex}.google_fonts_load_types>div{text-align:left}.google_fonts_load_types>div input{float:left;margin:0 7px 20px 0!important}.wpacu-sub-tabs-wrap{min-width:320px;margin:0 auto}.wpacu-sub-tabs-wrap input.wpacu-nav-input{display:none}.wpacu-sub-tabs-wrap label.wpacu-nav-label{display:inline-block;margin:0 0 -1px;padding:15px 25px;font-weight:600;text-align:center;color:#74777b;border-left:1px solid transparent;border-right:1px solid transparent;border-top:3px solid transparent;border-bottom:0}.wpacu-sub-tabs-wrap label.wpacu-nav-label:hover{cursor:pointer}.wpacu-sub-tabs-wrap input.wpacu-nav-input:checked+label.wpacu-nav-label{color:#004567;border-left:1px solid #ccc;border-right:1px solid #ccc;border-top:3px solid #004567;border-bottom:1px solid #fff}.wpacu-sub-tabs-wrap section{display:none;padding:20px 0 0;border-top:1px solid #ccc}#wpacu-google-fonts-optimize-tab-item:checked~#wpacu-google-fonts-optimize-tab-item-area,#wpacu-google-fonts-remove-tab-item:checked~#wpacu-google-fonts-remove-tab-item-area{display:block}.wpacu-fade-in{animation:wpacuFadeIn ease-in .2s;-webkit-animation:wpacuFadeIn ease-in .2s;-moz-animation:wpacuFadeIn ease-in .2s;-o-animation:wpacuFadeIn ease-in .2s;-ms-animation:wpacuFadeIn ease-in .2s}@keyframes wpacuFadeIn{0%{opacity:0}100%{opacity:1}}@-moz-keyframes wpacuFadeIn{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes wpacuFadeIn{0%{opacity:0}100%{opacity:1}}@-o-keyframes wpacuFadeIn{0%{opacity:0}100%{opacity:1}}@-ms-keyframes wpacuFadeIn{0%{opacity:0}100%{opacity:1}}body.wp-admin select.wpacu-screen-size-load{margin-top:10px;margin-bottom:10px;margin-right:6px}body.wp-admin div.wpacu-helper-area{display:inline-block;vertical-align:top}body.wp-admin .wpacu-handle-media-queries-load-field{display:none;vertical-align:top;margin-bottom:10px}body.wp-admin .wpacu-handle-media-queries-load-field.wpacu-is-visible{display:inline-block}body.wp-admin .wpacu-handle-media-queries-load-field>textarea{font-size:100%;padding:6px;width:320px;max-width:100%;max-height:80px;border:1px solid green}body.wp-admin .wpacu-handle-media-queries-load-field:not(.wpacu-is-visible)+div.wpacu-helper-area{margin-top:2px;vertical-align:middle}body.wp-admin .wpacu-handle-notes p{margin-top:0!important}body.wp-admin .wpacu-handle-notes p a{font-size:inherit}body.wp-admin .wpacu-handle-notes p a span.dashicons{font-size:19px;width:19px;height:19px;vertical-align:bottom;text-decoration:none}body:not(.wp-admin) select.wpacu-screen-size-load{margin-top:10px;margin-bottom:10px;margin-right:8px;width:auto}body:not(.wp-admin) div.wpacu-helper-area{display:inline-block;vertical-align:top}body:not(.wp-admin) .wpacu-handle-media-queries-load-field{display:none;vertical-align:top;margin-top:10px;margin-bottom:10px}body:not(.wp-admin) .wpacu-handle-media-queries-load-field.wpacu-is-visible{display:inline-block}body:not(.wp-admin) .wpacu-handle-media-queries-load-field>textarea{font-size:100%;padding:6px;width:320px;max-width:100%;max-height:80px;border:1px solid green}body:not(.wp-admin) .wpacu-handle-media-queries-load-field:not(.wpacu-is-visible)+div.wpacu-helper-area{margin-top:2px;vertical-align:middle}body:not(.wp-admin) .wpacu-handle-notes p{margin-top:0!important}body:not(.wp-admin) .wpacu-handle-notes p a{font-size:inherit}body:not(.wp-admin) .wpacu-handle-notes p a span.dashicons{font-size:19px;width:19px;height:19px;vertical-align:bottom;text-decoration:none}.wpacu-handle-notes{padding-top:5px;margin-bottom:-10px;border-top:1px solid #e7e7e7}.wpacu-handle-notes .wpacu-handle-notes-field{display:none}.wpacu-handle-notes .wpacu-handle-notes-field>textarea{font-size:85%;padding:6px;width:320px;max-width:100%}.wpacu-handle-notes p{margin:10px 0 0!important}.wpacu-handle-notes p a.wpacu-add-handle-note{text-decoration:none;font-size:80%;display:inline-block;color:inherit}.wpacu-handle-notes p a.wpacu-add-handle-note span.dashicons{font-size:18px;width:18px;height:18px}.wrap_bulk_unload_options{width:auto;display:block;clear:both}.wrap_bulk_unload_options .wpacu_asset_options_wrap{display:inline-block;float:left;margin:5px 10px 14px 0!important;padding:8px 10px 12px!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;min-width:52px;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:.15s;transition:.15s}.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:.15s;transition:.15s}.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_switch.wpacu_disabled{opacity:.3}.wpacu-switch-enhanced .wpacu_asset_row .wpacu_switch.wpacu_disabled:before{content:"";font-family:Dashicons,Arial,"Times New Roman","Bitstream Charter",Times,serif;position:absolute;font-size:23px;top:1px;right:2px;z-index:1000}.wpacu-switch-enhanced .wpacu_asset_row .wpacu_slider_text{position:absolute;left:62px;top:3px}.wpacu-wrap{width:98%}.wpacu-wrap tr.wpacu_regex_rule_row{opacity:.45}.wpacu-wrap tr.wpacu_regex_rule_row textarea{line-height:normal;min-height:20px;min-width:400px;display:inline-block;padding:2px 4px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.wpacu-wrap tr.wpacu_regex_rule_row textarea:focus{width:100%}.wpacu-wrap tr.wpacu_regex_rule_row.wpacu_enabled{opacity:1}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch_small{position:relative;display:inline-block;min-width:30px;width:30px;height:17px;margin-right:5px!important}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch_small input{display:none}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch_small .wpacu_slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;-webkit-transition:.15s;transition:.15s}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch_small .wpacu_slider:before{position:absolute;content:"";height:13px;width:13px;left:2px;bottom:2px;background-color:#fff;-webkit-transition:.15s;transition:.15s}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch_small input:checked+.wpacu_slider{background-color:#52af00}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch_small input:focus+.wpacu_slider{box-shadow:0 0 1px #52af00}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch_small input:checked+.wpacu_slider:before{-webkit-transform:translateX(13px);-ms-transform:translateX(13px);transform:translateX(13px)}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch_small .wpacu_slider.wpacu_round{border-radius:17px}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch_small .wpacu_slider.wpacu_round:before{border-radius:50%}.editor-post-saved-state.is-wpacu-reloading{animation:edit-post__loading-fade-animation .5s infinite}body.wp-admin tr.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract .dashicons{width:19px;height:19px;font-size:19px}body.wp-admin tr.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:before{right:20px;top:-2px}body.wp-admin tr.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:after{left:20px;top:-2px}body.wp-admin tr.wpacu_asset_row.wpacu-loading{position:relative}body.wp-admin tr.wpacu_asset_row.wpacu-loading .wpacu-ajax-loader{display:block!important}body.wp-admin tr.wpacu_asset_row .wpacu-ajax-loader{display:none;width:58px;height:58px;position:absolute;bottom:0;right:0;opacity:.75}.wpacu_asset_row.wpacu_not_load .wpacu_dependency_notice_area em{color:#c00}.wpacu_asset_row input.wpacu_load_exception:checked+span{color:green}.wpacu_asset_row .wpacu-hardcoded-code-area{margin:0}.wpacu_asset_row .wpacu-hardcoded-code-area span.wpacu_inside_cond_comm{display:block;margin-bottom:8px}.wpacu_asset_row .wpacu-hardcoded-code-area .wpacu-has-view-more{max-height:300px;position:relative;overflow:hidden}.wpacu_asset_row .wpacu-hardcoded-code-area .wpacu-has-view-more p.wpacu-view-more-link-area{position:absolute;bottom:0;left:0;width:100%;margin:0;padding:20px 0 15px 15px;background:linear-gradient(to bottom,rgba(255,255,255,0) 0,#fbfbfb8c 100%);background:-webkit-linear-gradient(top,rgba(255,255,255,0) 0,#fbfbfb8c 100%)}.wpacu_asset_row .wpacu-hardcoded-code-area pre{margin:0;padding:0 0 8px;white-space:pre-wrap;white-space:break-spaces;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.wpacu_asset_row .wpacu-hardcoded-code-area code{color:inherit;font-style:italic;margin-left:2px;word-break:break-word}.wpacu_asset_row[data-is-hardcoded-asset=true] .wpacu-source-row{margin-top:0}.wpacu_asset_row[data-is-hardcoded-asset=true] .wpacu_handle_row_expand_contract_area{right:18px;top:18px;background:inherit;z-index:100}.wpacu_asset_row>td{background:inherit;overflow-wrap:break-word;word-wrap:break-word;-ms-word-break:break-all;word-break:break-all}.wpacu_asset_row>td[data-wpacu-row-status=expanded] .wpacu_file_size_area{margin:10px 0}.wpacu_asset_row>td[data-wpacu-row-status=expanded] .wpacu_hardcoded_part_if_contracted{display:none}.wpacu_asset_row>td[data-wpacu-row-status=expanded] .wpacu_hardcoded_part_if_expanded{display:block}.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_file_size_area{margin:0}.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_hardcoded_part_if_contracted{display:block}.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_hardcoded_part_if_contracted code{width:100%}.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_hardcoded_part_if_expanded{display:none}.wpacu_asset_row>td div.wpacu_dependency_notice_area{line-height:22px;margin:10px 0;text-align:left!important;font-weight:400!important}.wpacu_asset_row>td div.wpacu-source-row{margin-top:12px}.wpacu_asset_row>td div.wpacu-source-row a{word-break:break-word}.wpacu_asset_row>td .wpacu_hide_if_handle_row_contracted{display:inline-block}.wpacu_asset_row>td[data-wpacu-row-status=contracted]>div{float:left;margin-top:0;margin-right:20px;margin-bottom:10px}.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_hide_if_handle_row_contracted{display:none}.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_handle_row_expand_contract_area{background:inherit}.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract{transition:none}.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:focus,.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:focus-visible,.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:visited{text-decoration:none;border:none}.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:after,.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:before{opacity:0;-webkit-transition:-webkit-transform .3s,opacity .2s;-moz-transition:-moz-transform .3s,opacity .2s;transition:transform .3s,opacity .2s}.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:before{position:absolute;right:20px;top:-4px;content:"[";-webkit-transform:translateX(20px);-moz-transform:translateX(20px);transform:translateX(20px)}.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:after{position:absolute;left:20px;top:-4px;content:"]";-webkit-transform:translateX(-20px);-moz-transform:translateX(-20px);transform:translateX(-20px)}.wpacu_asset_row>td[data-wpacu-row-status=contracted].wpacu_hovered .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract,.wpacu_asset_row>td[data-wpacu-row-status=contracted]:focus .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract,.wpacu_asset_row>td[data-wpacu-row-status=contracted]:hover .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract{transition:none}.wpacu_asset_row>td[data-wpacu-row-status=contracted].wpacu_hovered .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:hover,.wpacu_asset_row>td[data-wpacu-row-status=contracted]:focus .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:hover,.wpacu_asset_row>td[data-wpacu-row-status=contracted]:hover .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:hover{color:green}.wpacu_asset_row>td[data-wpacu-row-status=contracted].wpacu_hovered .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:after,.wpacu_asset_row>td[data-wpacu-row-status=contracted].wpacu_hovered .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:before,.wpacu_asset_row>td[data-wpacu-row-status=contracted]:focus .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:after,.wpacu_asset_row>td[data-wpacu-row-status=contracted]:focus .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:before,.wpacu_asset_row>td[data-wpacu-row-status=contracted]:hover .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:after,.wpacu_asset_row>td[data-wpacu-row-status=contracted]:hover .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:before{opacity:1;-webkit-transform:translateX(0);-moz-transform:translateX(0);transform:translateX(0)}.wpacu_asset_row .wpacu_handle_row_expand_contract_area{background:inherit;position:absolute;right:20px;top:20px;float:none!important;margin:0!important}.wpacu_asset_row .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract{background:inherit;color:#000;text-decoration:none}.wpacu_asset_row .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:hover{text-decoration:none}.wpacu_asset_row .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract span.dashicons{background:inherit}.wpacu_asset_row input{width:auto;height:auto;min-height:16px}.wpacu_asset_row .tip{background:inherit;border-left:4px solid #e7e7e7;margin:10px 0;padding:7px;font-style:italic;font-size:small;line-height:1.4}.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 div.wpacu_handle{margin:0 0 -8px}.wpacu_asset_row p.wpacu_handle{margin-top:0}.wpacu_asset_row li.wpacu_unload_this_page{display:block!important;position:relative}.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{clear:both;height:0}.wpacu-clearfix:before{content:"";display:table}.wpacu-clearfix:after{content:"";display:table;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}body[class*=asset-cleanup-pro] a.wpacu-plugin-contracted-wrap-link{padding:16px 6px 16px 41px!important}body[class*=asset-cleanup-pro] .wpacu-area-open .wpacu-plugin-toggle-all{font-size:12px!important;width:calc(100% - 26px)!important}body.wp-admin .wpacu-area-expanded .wpacu-plugin-toggle-all{top:5px}body.wp-admin .wpacu-area-expanded .wpacu-plugin-toggle-all ul li{font-size:12px!important}.wpacu-assets-collapsible-wrap{border:1px solid #cdcdcd}.wpacu-assets-collapsible-wrap.wpacu-by-location{margin-bottom:15px}.wpacu-assets-collapsible-wrap.wpacu-wrap-all{margin-top:20px}.wpacu-assets-collapsible-wrap.wpacu-wrap-area{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-width:0;margin:0;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-location-child-area[data-wpacu-plugin=oxygen] .icon-area{border-radius:50%}.wpacu-assets-collapsible-wrap.wpacu-by-location .wpacu-location-child-area .wpacu-plugin-toggle-all-wrap .wpacu-plugin-toggle-all{display:inline-block;padding:0;font-size:13px;width:100%;width:calc(100% + 46px);min-width:250px;position:absolute;left:100%;left:calc(100% + 6px);margin:0;top:4px}.wpacu-assets-collapsible-wrap.wpacu-by-location .wpacu-location-child-area .wpacu-plugin-toggle-all-wrap .wpacu-plugin-toggle-all ul{display:inline-block;margin:0;list-style:none;padding-left:13px;padding-top:0}.wpacu-assets-collapsible-wrap.wpacu-by-location .wpacu-location-child-area .wpacu-plugin-toggle-all-wrap .wpacu-plugin-toggle-all ul li{padding:0;margin:0;line-height:normal;font-size:14px}.wpacu-assets-collapsible-wrap.wpacu-by-location .wpacu-location-child-area .wpacu-plugin-toggle-all-wrap .wpacu-plugin-toggle-all ul li:first-child{font-style:italic;margin-bottom:5px}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-themes .wpacu-assets-collapsible-content>table:last-child{margin-bottom:20px}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-themes .wpacu-assets-collapsible-content .wpacu-location-child-area .wpacu-area-title{display:inline;position:relative;padding:9px 10px 10px 15px;z-index:1}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-themes .wpacu-assets-collapsible-content .wpacu-location-child-area .wpacu-area-title: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-plugin-assets-wrap{padding:0 0 10px}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content .wpacu-plugin-assets-wrap.wpacu-area-open.wpacu-plugin-assets-last{margin-bottom:18px}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content .wpacu-plugin-assets-wrap.wpacu-area-open .wpacu-plugin-toggle-all-wrap .wpacu-plugin-toggle-all{display:inline-block;padding:7px 12px 8px;font-size:14px;width:100%;text-align:left;border-left:1px solid #cdcdcd;border-right:1px solid #cdcdcd}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content .wpacu-plugin-assets-wrap.wpacu-area-open .wpacu-plugin-toggle-all-wrap .wpacu-plugin-toggle-all+.wpacu-plugin-toggle-all{padding:2px 12px 10px}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link{color:inherit;text-decoration:none;font-weight:inherit;font-style:inherit;font-size:105%;line-height:initial;position:relative;height:auto;margin:14px 0 0;padding:13px 6px 14px 39px;position:relative;display:block}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link:after{position:absolute;font-size:18px;font-family:Dashicons!important;right:12px;top:14px;content:""}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link.wpacu-link-open:after{content:""}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link.wpacu-link-closed{border:1px solid #cdcdcd}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link:hover{border:1px solid #878787;background:#f9f9f9}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link:hover.wpacu-link-closed{box-shadow:3px 3px 2px #ddd}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link.wpacu-link-open{border-top:1px solid #cdcdcd;border-left:1px solid #cdcdcd;border-right:1px solid #cdcdcd;border-bottom:none}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link.wpacu-link-closed.wpacu-last-wrap-link{margin-bottom:20px}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link .icon-plugin-default{top:10px;left:10px;width:30px;height:30px}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link .icon-plugin-default .icon-area{width:30px;height:30px}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link .icon-plugin-default .icon-area:before{font-size:22px;line-height:22px;top:4px;left:5px}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link .wpacu-area-title{position:relative;padding:17px 10px 16px 46px;z-index:1}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link .wpacu-area-title: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 a.wpacu-plugin-contracted-wrap-link.wpacu-area-last{margin-bottom:18px}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content .wpacu-area-open{padding:0;max-height:100%}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content .wpacu-area-closed{padding:0;overflow:hidden;max-height:0}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content>table:last-child{margin-bottom:20px}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-themes .wpacu-assets-collapsible-content .wpacu-location-child-area .wpacu-area-title{margin-top:0;margin-bottom:-1px;padding:14px 10px 16px 12px!important}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-themes .wpacu-assets-collapsible-content .wpacu-location-child-area .wpacu-area-title.wpacu-theme-has-icon{padding:18px 10px 16px 58px!important}.wpacu-assets-collapsible-wrap.wpacu-by-location .wpacu-assets-collapsible-content .wpacu-location-child-area{margin-top:22px;margin-bottom:-1px;font-size:110%;line-height:initial}.wpacu-assets-collapsible-wrap.wpacu-by-location .wpacu-assets-collapsible-content .wpacu-location-child-area.wpacu-location-child-area-first{margin-top:2px}.wpacu-assets-collapsible-wrap.wpacu-by-location .wpacu-assets-collapsible-content .wpacu-location-child-area.wpacu-area-expanded .wpacu-area-title{display:inline-block;z-index:1;padding:17px 10px 16px 46px}.wpacu-assets-collapsible-wrap.wpacu-by-location .wpacu-assets-collapsible-content .wpacu-location-child-area .wpacu-area-title{display:inline;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}.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:"";font-family:Dashicons!important;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-by-location .icon-theme{position:absolute;padding:0;top:10px;left:10px;width:37px;height:37px}.wpacu-assets-collapsible-wrap.wpacu-by-location .icon-theme .icon-area{position:relative;width:37px;height:37px}.wpacu-assets-collapsible-wrap.wpacu-wp_core{border:1px solid #c00}.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!important;right:14px;top:16px}a.wpacu-assets-collapsible:not(.wpacu-assets-collapsible-active):after{content:""}a.wpacu-assets-collapsible.wpacu-assets-collapsible-active{background-color:#f1f3f8}a.wpacu-assets-collapsible.wpacu-assets-collapsible-active:after{content:""}.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:not(.wpacu-assets-table-list-wrap){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!important;right:-3px;top:-1px;width:14px;height: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:""}a.wpacu-assets-inline-code-collapsible.wpacu-assets-inline-code-collapsible-active:after{content:""}.wpacu-assets-inline-code-collapsible-content{padding:0 8px 2px 0;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_asset_row p div.select{display:inline-block}.wpacu-wrap-choose-position{display:inline}.wpacu-wrap-choose-position>div{display:inline-block}.wpacu-wrap-choose-position select{width:auto;font-size:inherit;display:inline;margin-left:6px;margin-right:4px}.wpacu-wrap-choose-position>.select>.select{display:inline}.wpacu-wrap-choose-position>.select>.select select{padding-right:30px}.wpacu-wrap-choose-position>.select>.select:after{right:15px;top:-4px}.wpacu_handle_unload_regex_input_wrap,.wpacu_load_regex_input_wrap{display:block;width:100%}.wpacu_handle_unload_regex_input_wrap .wpacu_regex_rule_area .wpacu_regex_rule_textarea,.wpacu_load_regex_input_wrap .wpacu_regex_rule_area .wpacu_regex_rule_textarea{line-height:normal;min-height:40px;min-width:300px;max-width:400px;display:inline-block;padding:2px 4px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.wpacu_handle_unload_regex_input_wrap .wpacu_regex_rule_area .wpacu_regex_rule_textarea:focus,.wpacu_load_regex_input_wrap .wpacu_regex_rule_area .wpacu_regex_rule_textarea:focus{width:100%}body.logged-in:not(.wp-admin) .wpacu-view-more-code{box-shadow:inset 0 1px 0 0 #fff;background:linear-gradient(to bottom,#f9f9f9 5%,#e9e9e9 100%);background-color:#f9f9f9;border-radius:6px;border:1px solid #dcdcdc;display:inline-block;cursor:pointer;color:#666;font-size:inherit;font-weight:700;padding:6px 24px;text-decoration:none;text-shadow:0 1px 0 #fff}body.logged-in:not(.wp-admin) .wpacu-view-more-code:hover{background:linear-gradient(to bottom,#e9e9e9 5%,#f9f9f9 100%);background-color:#e9e9e9}body.logged-in:not(.wp-admin) .wpacu-view-more-code:active{position:relative;top:1px}.wpacu-page-options .wpacu-assets-collapsible-content.wpacu-loading{position:relative}.wpacu-page-options .wpacu-assets-collapsible-content.wpacu-loading .wpacu-ajax-loader{display:block!important}.wpacu-page-options .wpacu-assets-collapsible-content .wpacu-ajax-loader{display:none;width:58px;height:58px;position:absolute;bottom:0;right:0;opacity:.75}#wpacu-page-options-ul input[type=checkbox]:checked::before{content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M14.83 4.89l1.34.94-5.81 8.38H9.02L5.78 9.67l1.34-1.25 2.57 2.4z' fill='%23cc0000'/%3E%3C/svg%3E")!important}.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{border:1px solid #eceeef}.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-hover tbody tr:hover{background-color:rgba(0,0,0,.075)}.wpacu_table_wrap .table-active{background-color:rgba(0,0,0,.075)}.wpacu_table_wrap .table-active>td,.wpacu_table_wrap .table-active>th{background-color:rgba(0,0,0,.075)}.wpacu_table_wrap .table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.wpacu_table_wrap .table-hover .table-active:hover>td,.wpacu_table_wrap .table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.wpacu_table_wrap .table-success{background-color:#dff0d8}.wpacu_table_wrap .table-success>td,.wpacu_table_wrap .table-success>th{background-color:#dff0d8}.wpacu_table_wrap .table-hover .table-success:hover{background-color:#d0e9c6}.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{background-color:#d9edf7}.wpacu_table_wrap .table-info>td,.wpacu_table_wrap .table-info>th{background-color:#d9edf7}.wpacu_table_wrap .table-hover .table-info:hover{background-color:#c4e3f3}.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{background-color:#fcf8e3}.wpacu_table_wrap .table-warning>td,.wpacu_table_wrap .table-warning>th{background-color:#fcf8e3}.wpacu_table_wrap .table-hover .table-warning:hover{background-color:#faf2cc}.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{background-color:#f2dede}.wpacu_table_wrap .table-danger>td,.wpacu_table_wrap .table-danger>th{background-color:#f2dede}.wpacu_table_wrap .table-hover .table-danger:hover{background-color:#ebcccc}.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{border:0}.wpacu_table_wrap .table-responsive{display:block;width:100%;overflow-x:auto;-ms-overflow-style:-ms-autohiding-scrollbar}.wpacu_table_wrap .table-responsive.table-bordered{border:0}body.wp-admin[class*=asset-cleanup] .wpacu-overview-wrap .wpacu-overview-list-table tr:not(.wpacu-top):hover td{border-top:1px solid #ccd0d4;border-bottom:1px solid #ccd0d4}body.wp-admin[class*=asset-cleanup] .wpacu-overview-wrap .wpacu-overview-list-table tr:not(.wpacu-top):hover td:first-of-type{border-left:1px solid #ccd0d4}body.wp-admin[class*=asset-cleanup] .wpacu-overview-wrap .wpacu-overview-list-table tr:not(.wpacu-top):hover td:last-of-type{border-right:1px solid #ccd0d4}body.wp-admin[class*=asset-cleanup] .wpacu-overview-wrap .wpacu-overview-list-table tr td{font-size:14px;border-top:1px solid transparent;border-bottom:1px solid transparent}body.wp-admin[class*=asset-cleanup] .wpacu-overview-wrap .wpacu-overview-list-table tr td:first-of-type{border-left:1px solid transparent}body.wp-admin[class*=asset-cleanup] .wpacu-overview-wrap .wpacu-overview-list-table tr td:last-of-type{border-right:1px solid transparent}body.wp-admin[class*=asset-cleanup] table.wp-list-table:not(.wpacu-overview-list-table).wpacu-list-table tr:not(.wpacu_selected):hover{-moz-box-shadow:inset 0 0 2px 1px #b3b3b3;-webkit-box-shadow:inset 0 0 2px 1px #b3b3b3;box-shadow:inset 0 0 2px 1px #b3b3b3}body.wp-admin[class*=asset-cleanup] table.wp-list-table:not(.wpacu-overview-list-table) tr:not(:first-of-type):not(.wpacu_selected):hover{-moz-box-shadow:inset 0 0 2px 1px #b3b3b3;-webkit-box-shadow:inset 0 0 2px 1px #b3b3b3;box-shadow:inset 0 0 2px 1px #b3b3b3}.wp-list-table .wpacu_restore_position_row.wpacu_selected{background:#e7e7e7!important}.wp-list-table .wpacu_remove_global_attr_row.wpacu_selected{background:#e7e7e7!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-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;line-height:24px}.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 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:320px}.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}@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{order:2}@media only screen and (min-width:768px){.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 ul li:last-child{margin-bottom:0}.wpacu-get-help-wrap .help-content-wrap .help-content p:last-child{margin-bottom:0}select#wpacu-reset-drop-down{max-width:100%}#wpacu-license-data-remove-area{display:none;margin:14px 0 12px}#wpacu-license-data-remove-area.wpacu-visible{display:block}#wpacu-cache-assets-remove-area{display:none;margin:12px 0 25px}#wpacu-cache-assets-remove-area.wpacu-visible{display:block}#wpacu-cached-assets-removed-msg,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,#wpacu-warning-read span.dashicons-wordpress-alt{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-tools-area .wpacu-export-import-area{padding:10px}.wpacu-tools-area .wpacu-export-import-area form>p:first-of-type{margin-top:0}.wpacu-tools-area .wpacu-export-import-area form>p:last-of-type{margin-bottom:0}.wpacu-tools-area .wpacu-export-import-area:hover{background:rgba(40,44,42,.05);box-shadow:inset 0 0 10px rgba(160,165,170,.15)}.wpacu-tools-area .wpacu-export-import-area+hr{display:block;height:1px;border:0;border-top:1px solid #cdcdcd;margin:10px 0;padding:0}#wpacu-import-form button.wpacu-importing img.wpacu-spinner{display:inline-block}#wpacu-import-form button img.wpacu-spinner{display:none;margin:0 0 0 5px;height:16px;width:16px;vertical-align:middle}@media only screen and (max-width:767px){.wpacu-about-wrap h1{margin:20px}}.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 .wpacu-about-text img{display:none}}@media only screen and (max-width:767px){.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;line-height:22px}@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,.wpacu-lite-vs-pro-wrap th{border:1px solid #ddd;padding:10px 16px 10px 16px;empty-cells:show}.wpacu-lite-vs-pro-wrap td,.wpacu-lite-vs-pro-wrap th{text-align:left}.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}@media only screen and (max-width:767px){.wpacu-lite-vs-pro-wrap .txt-l{font-size:20px}}.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 .tick{font-size:15px}}.wpacu-lite-vs-pro-wrap .na{font-size:18px;opacity:.3}@media only screen and (max-width:767px){.wpacu-lite-vs-pro-wrap .na{font-size:15px}}.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}.wpacu-lite-vs-pro-wrap td,.wpacu-lite-vs-pro-wrap th{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 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}}@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{padding:0 20px 0 25px}}@media only screen and (min-width:1200px){.wpacu-video-areas .wpacu-video-area-wrapper .wpacu-col-right p:first-child{margin-top:0}}@media only screen and (min-width:1200px){.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{width:560px;height:315px}@media only screen and (max-width:1199px){.wpacu-video-areas .wpacu-video-area-wrapper .wpacu-video-wrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%}}#wpassetcleanup_asset_list.postbox h2{padding-left:52px!important;position:relative}#wpassetcleanup_asset_list.postbox h2:before{content:"";position:absolute;background-image:url(images/wpacu-logo-transparent-bg-v1.png);background-size:cover;top:6px;left:13px;width:33px;height:26px;opacity:.8;-webkit-filter:grayscale(100%);filter:grayscale(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 pre{white-space:normal}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-modal-content pre{white-space:normal}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}.wpacu-bulk-changes-tabs{display:table;position:relative;overflow:hidden;margin:0;width:100%}.wpacu-bulk-changes-tabs li{border-top:1px solid rgba(40,44,42,.1);border-left:1px solid rgba(40,44,42,.1);border-bottom:1px solid rgba(40,44,42,.1);float:left;line-height:38px;padding:0;position:relative;margin-bottom:12px}.wpacu-bulk-changes-tabs li:last-child{border-right:1px solid rgba(40,44,42,.1)}.wpacu-bulk-changes-tabs a{position:relative;background:rgba(40,44,42,.05);color:#004567;font-size:14px;font-weight:500;display:block;letter-spacing:0;outline:0;padding:6px 20px;text-decoration:none;border-top:3px solid transparent}.wpacu-bulk-changes-tabs a:hover{background:#f1f1f1;border-top:3px solid transparent}.wpacu-bulk-changes-tabs .current a{background:#fff;border-top:3px solid #004567}.wpacu-bulk-changes-tabs .current a:hover{background:#fff}.wpacu-bulk-changes-tabs .current a:after,.wpacu-bulk-changes-tabs .current a:before{top:100%;left:50%;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none}.wpacu-bulk-changes-tabs .current a:after{border-color:rgba(136,183,213,0);border-top-color:#fff;border-width:12px;margin-left:-12px}.wpacu-bulk-changes-tabs .current a:before{border-color:rgba(194,225,245,0);border-top-color:rgba(40,44,42,.1);border-width:13px;margin-left:-13px}img.wpacu-emoji{display:inline!important;border:none!important;height:1em!important;width:1em!important;margin:0 .07em!important;vertical-align:-.1em!important;background:0 0!important;padding:0!important;box-shadow:none!important}#wpacu-plugins-load-manager-wrap table td{border-bottom:1px solid #e7e7e7}#wpacu-plugins-load-manager-wrap table td.wpacu_plugin_icon{padding:14px 10px}#wpacu-plugins-load-manager-wrap table td.wpacu_plugin_details{vertical-align:middle;padding:10px 0 10px 8px}#wpacu-plugins-load-manager-wrap table td.wpacu_plugin_details .wpacu_plugin_title{font-weight:600}#wpacu-plugins-load-manager-wrap .wrap_plugin_unload_rules_options{width:auto;display:inline-flex;-webkit-flex-wrap:wrap;flex-wrap:wrap}#wpacu-plugins-load-manager-wrap .wrap_plugin_unload_rules_options .wpacu_plugin_rules_wrap{flex-grow:1;margin:0 16px 0 0!important;padding:8px 10px 6px 0!important}#wpacu-plugins-load-manager-wrap .wrap_plugin_unload_rules_options .wpacu_plugin_rules_wrap ul.wpacu_plugin_rules{margin:0;vertical-align:middle}#wpacu-plugins-load-manager-wrap .wrap_plugin_unload_rules_options .wpacu_plugin_rules_wrap ul.wpacu_plugin_rules label{vertical-align:top}#wpacu-plugins-load-manager-wrap .wrap_plugin_unload_rules_options .wpacu_plugin_rules_wrap ul.wpacu_plugin_rules label.wpacu_plugin_unload_rule_input_checked{color:#c00}#wpacu-plugins-load-manager-wrap .wrap_plugin_unload_rules_options .wpacu_plugin_rules_wrap ul.wpacu_plugin_rules .wpacu_plugin_unload_logged_in:checked+span{color:#c00}#wpacu-plugins-load-manager-wrap .wrap_plugin_load_exception_options{padding-top:5px;border-top:1px solid #e7e7e7;width:auto;display:inline-flex;-webkit-flex-wrap:wrap;flex-wrap:wrap}#wpacu-plugins-load-manager-wrap .wrap_plugin_load_exception_options .wpacu_plugin_rules_wrap{flex-grow:1;margin:0 16px 0 0!important;padding:6px 10px 6px 0!important}#wpacu-plugins-load-manager-wrap .wrap_plugin_load_exception_options .wpacu_plugin_rules_wrap ul.wpacu_plugin_rules{margin:0;vertical-align:middle}#wpacu-plugins-load-manager-wrap .wrap_plugin_load_exception_options .wpacu_plugin_rules_wrap ul.wpacu_plugin_rules label{vertical-align:top}#wpacu-plugins-load-manager-wrap .wrap_plugin_load_exception_options .wpacu_plugin_rules_wrap ul.wpacu_plugin_rules.wpacu_exception_options_area li{display:inline-block;float:left;margin:1px 25px 1px 0;line-height:20px}#wpacu-plugins-load-manager-wrap .wrap_plugin_load_exception_options .wpacu_plugin_rules_wrap ul.wpacu_plugin_rules.wpacu_exception_options_area li:last-of-type{margin:1px 0}#wpacu-plugins-load-manager-wrap .wrap_plugin_load_exception_options .wpacu_plugin_rules_wrap ul.wpacu_plugin_rules .wpacu_plugin_load_exception_logged_in:checked+span,#wpacu-plugins-load-manager-wrap .wrap_plugin_load_exception_options .wpacu_plugin_rules_wrap ul.wpacu_plugin_rules .wpacu_plugin_load_exception_regex:checked+span{color:green}.wpacu-list-table.plugins{width:98%;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}#wpacu-plugins-load-manager-wrap .help_link{text-decoration:none;color:inherit;vertical-align:middle}#wpacu-plugins-load-manager-wrap .help_link.unload_it_regex{vertical-align:top}#wpacu-plugins-load-manager-wrap .wpacu_plugin_details .wpacu_plugin_path{font-style:italic;color:grey}#wpacu-plugins-load-manager-wrap .wpacu_plugin_icon>img{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}#wpacu-plugins-load-manager-wrap .wpacu_plugin_icon>div{background:#efefef;border:#cdcdcd;border-radius:3px;width:40px;height:40px;vertical-align:middle;position:relative;text-align:center}#wpacu-plugins-load-manager-wrap .wpacu_plugin_icon>div>span{font-size:30px;color:#b3b3b3;top:50%;vertical-align:middle;left:50%;transform:translate(-50%,-50%);width:30px;height:30px;position:absolute}#wpacu-plugins-load-manager-wrap .wpacu_plugin_unload_regex_input_wrap{display:block}#wpacu-plugins-load-manager-wrap .wpacu_plugin_unload_regex_input_wrap textarea{margin-top:6px;min-width:400px;min-height:40px}#wpacu-plugins-load-manager-wrap .wpacu_exception_options_area textarea{margin-top:6px;min-width:400px;min-height:40px;width:100%}#wpacu-plugins-load-manager-wrap textarea{line-height:normal;min-height:20px;min-width:300px;display:inline-block;padding:2px 4px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}#wpacu-plugins-load-manager-wrap textarea:focus{width:100%}#wpacu-plugins-load-manager-wrap textarea.wpacu_disabled{background:#fbfafa!important;color:inherit}
|
1 |
+
@charset "UTF-8";#wpacu-pages-info-area{width:98%}#wpacu-top-area{margin:15px 0;padding:0 10px}#wpacu-quick-actions{color:#74777b;float:right;width:auto;margin-right:30px;background:rgba(40,44,42,.05);border-radius:10px;padding:6px 12px}#wpacu-quick-actions .wpacu-actions-title{font-weight:200;letter-spacing:.5px}#wpacu-quick-actions a{color:#004567;text-decoration:none}#wpacu-quick-actions a:hover{color:#0073aa}#wpacu-logo-wrap{width:auto;display:inline-block;position:relative}#wpacu-logo-wrap a{display:block}#wpacu-logo-wrap img{width:352px;height:79px}#wpacu-logo-wrap .wpacu-pro-sign{position:absolute;height:auto;font-family:FiraSans-Medium,proxima-nova-1,Montserrat,Helvetica,sans-serif;font-size:13px;font-weight:600;letter-spacing:1px;padding:5px 11px;border-radius:15px;right:-60px;top:30px;width:auto;display:inline-block;text-align:center}#wpacu-logo-wrap .wpacu-pro-sign>div{position:relative}#wpacu-logo-wrap .wpacu-pro-sign>div .wpacu-version-text{position:absolute;font-weight:lighter;font-size:11px;bottom:-25px;color:#74777b}#wpacu-logo-wrap .wpacu-pro-sign.wpacu-lite{color:#74777b;background:rgba(40,44,42,.05)}#wpacu-logo-wrap .wpacu-pro-sign.wpacu-lite>div .wpacu-version-text{left:-7px}#wpacu-logo-wrap .wpacu-pro-sign.wpacu-pro{color:#004567;background-color:rgba(40,44,42,.05)}#wpacu-logo-wrap .wpacu-pro-sign.wpacu-pro>div .wpacu-version-text{left:-6px}.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;padding:0;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.extra-info{position:absolute;font-size:12px;left:-50%;right:50%;bottom:12px;-webkit-transform:translate(50%,50%);transform:translate(50%,50%);white-space:nowrap}.wpacu-tabs nav ul li span.extra-info.has-bulk-unloads{right:48%}.wpacu-tabs nav ul li span.extra-info.no-bulk-unloads{left:0;right:2px;bottom:2px;-webkit-transform:inherit;transform:inherit}.wpacu-tabs nav ul li span.extra-info .dashicons{font-size:16px;margin-right:-3px;margin-top:1px}.wpacu-tabs nav ul li span.extra-info.license-status.inactive{color:#c00}.wpacu-tabs nav ul li span.extra-info.license-status.active{color:green}.wpacu-tabs nav ul li span.extra-info.assets-unloaded-false{color:#004567}.wpacu-tabs nav ul li span.extra-info.assets-unloaded-true,.wpacu-tabs nav ul li span.extra-info.bulk-unloads-true{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:1800px;margin:20px auto 22px 0;width:98%;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_hide{display:none!important}.wpacu-script-attributes-area{display:block;margin-bottom:12px}.wpacu-script-attributes-area>div:first-of-type{display:inline-block;float:left;margin-right:15px;line-height:30px;vertical-align:middle}.wpacu-script-attributes-area ul.wpacu-script-attributes-settings{display:inline-block;float:left;padding:5px 7px!important}.wpacu-script-attributes-area ul.wpacu-script-attributes-settings.wpacu-first{margin:0 15px 0 0!important}.wpacu-script-attributes-area ul.wpacu-script-attributes-settings label{margin:0!important}.wpacu-script-attributes-area ul.wpacu-script-attributes-settings li{display:inline-block;margin:0 16px 0 0!important}.wpacu-script-attributes-area ul.wpacu-script-attributes-settings li:first-child{margin:0 10px 0 0!important}.wpacu-script-attributes-area 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]{width:auto;padding:0;margin:0 5px 0 0}.wpacu-script-attributes-area .wpacu-script-attributes-settings:hover{background:#f2faf2}tr.wpacu_location_changed>td{border-left:#004567 4px solid}tr.wpacu_not_load td,tr.wpacu_not_load th{background:#ffe1e1!important}tr.wpacu_not_load td .wpacu-assets-inline-code-wrap,tr.wpacu_not_load td .wpacu-only-when-kept-loaded,tr.wpacu_not_load th .wpacu-assets-inline-code-wrap,tr.wpacu_not_load th .wpacu-only-when-kept-loaded{opacity:.45}.dashicons-wpacu{width:17px;height:17px;margin:2px 0 0 0;font-size:16px;text-decoration:none;color:inherit!important}.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 #wpacu-fetch-list-step-1-wrap.wpacu-completed{color:green}#wpacu_meta_box_content div.select select{max-width:inherit}#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 .dashicons.dashicons-warning,#wpacu_meta_box_content .dashicons.dashicons-wordpress-alt{color:#c00}#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-update-front-settings-area{margin:10px 0;display:inline-block;position:relative}@media only screen and (min-width:768px){#wpacu-update-front-settings-area{position:-webkit-sticky;position:sticky;bottom:0;display:block;padding:15px 0;z-index:1000000;border-top:1px solid #cdcdcd;background:#fff}}#wpacu-updating-front-settings{display:none;position:absolute;top:20px;left:142px}.wpacu_load_regex_area_wrap label.wpacu_bold span,.wpacu_unload_regex_area_wrap label.wpacu_bold span{font-weight:600!important}.wpacu_load_regex_area_wrap label.wpacu_unload_checked span,.wpacu_unload_regex_area_wrap label.wpacu_unload_checked span{color:#d54e21}.wpacu_load_regex_area_wrap .wpacu_handle_unload_regex_input_wrap,.wpacu_unload_regex_area_wrap .wpacu_handle_unload_regex_input_wrap{margin:4px 0 0}.wpacu_load_regex_area_wrap .wpacu_handle_unload_regex_input_wrap input[type=text],.wpacu_unload_regex_area_wrap .wpacu_handle_unload_regex_input_wrap input[type=text]{line-height:normal;min-height:20px;min-width:300px;max-width:400px;display:inline-block;padding:4px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.wpacu_load_regex_area_wrap .wpacu_handle_unload_regex_input_wrap input[type=text].wpacu_disabled,.wpacu_unload_regex_area_wrap .wpacu_handle_unload_regex_input_wrap input[type=text].wpacu_disabled{background:#fbfafa!important;color:inherit}.wpacu_is_global_unloaded .wpacu_exception_options_area_wrap{display:inline-block}.wpacu_is_global_unloaded .wpacu_exception_options_area_wrap .wpacu_area_one,.wpacu_is_global_unloaded .wpacu_exception_options_area_wrap .wpacu_area_two{display:block}.wpacu_is_global_unloaded .wpacu_exception_options_area_wrap .wpacu_load_regex_input_wrap{display:block}.wpacu_exception_options_area_load_exception{display:table;float:none;clear:both;border:none;padding:0!important;background:0 0}.wpacu_exception_options_area_wrap{display:table;background:0 0!important}.wpacu_exception_options_area_wrap fieldset{border:1px solid #cdcdcd;padding:10px;background:#fff;border-radius:5px}.wpacu_exception_options_area_wrap fieldset legend{width:auto;font-weight:400;font-size:inherit;padding:8px 11px;margin:0;background:#fff;border:1px solid #cdcdcd;border-radius:5px}.wpacu_exception_options_area_wrap label.wpacu_bold span{font-weight:600!important}.wpacu_exception_options_area_wrap textarea{line-height:normal;min-height:20px;min-width:300px;max-width:400px;display:inline-block;padding:2px 4px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.wpacu_exception_options_area_wrap textarea:focus{width:100%}.wpacu_exception_options_area_wrap textarea.wpacu_disabled{background:#fbfafa!important;color:inherit}.wpacu_exception_options_area_wrap p:first-of-type{margin-top:0}.wpacu_exception_options_area_wrap .wpacu_area_one{display:table-cell;vertical-align:top;padding-right:10px}.wpacu_exception_options_area_wrap .wpacu_area_two{display:table-cell}@media only screen and (max-width:1199px){.wpacu_exception_options_area_wrap{display:block}.wpacu_exception_options_area_wrap .wpacu_area_one,.wpacu_exception_options_area_wrap .wpacu_area_two{display:block}}#wpacu_meta_box_content .wpacu_widefat{width:100%}#wpacu_meta_box_content .wpacu-assets-collapsible-content{padding:0 10px!important}#wpacu_meta_box_content ul.wpacu_asset_options{vertical-align:middle}#wpacu_meta_box_content ul.wpacu_asset_options.wpacu_exception_options_area li{display:inline-block;float:left;margin:1px 25px 1px 0;line-height:20px}#wpacu_meta_box_content ul.wpacu_asset_options.wpacu_exception_options_area li:last-of-type{margin:1px 0}#wpacu_meta_box_content ul.wpacu_asset_options.wpacu_exception_options_area li input[type=text]{margin-left:5px;border:1px solid #e7e7e7;background:#fff}body.wp-admin #wpacu_wrap_assets code{display:inline-block!important}body:not(.wp-admin) #wpacu_wrap_assets code{display:block!important}#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 input[type=checkbox]{width:auto!important;margin-right:4px!important}#wpacu_wrap_assets img:not(.wpacu-ajax-loader){display:inline-block!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{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_wrap_assets ul.wpacu_asset_options.wpacu_exception_options_area li{display:inline-block;float:left;margin:1px 25px 1px 0;line-height:30px}#wpacu_wrap_assets ul.wpacu_asset_options.wpacu_exception_options_area li:last-of-type{margin:1px 0}.wpacu_verified{padding:10px;margin:0 0 10px 0!important;background-color:#f5f5f5;border-left:1px solid #ddd}.wpacu_verified span{color:#0073aa;font-weight:700}.wpacu_asset_row div.select{display:inline-block;width:auto}.wpacu_asset_row:first-child td{border-top:1px solid #cdcdcd}.wpacu_asset_row td{border-left:1px solid #cdcdcd;border-right:1px solid #cdcdcd;border-bottom:1px solid #cdcdcd}.wpacu_asset_row.wpacu_notice_row td{position:relative;padding:5px;border-bottom:1px solid transparent}.wpacu_asset_row.wpacu_notice_row td div.wpacu-warning{width:auto;margin:5px;font-style:italic}.wpacu_asset_row:not(.wpacu_notice_row) td{padding:18px!important;position:relative}.wpacu_asset_row:not(.wpacu_notice_row) td[data-wpacu-row-status=contracted]{padding:18px 18px 8px!important}.wpacu_asset_row:not(.wpacu_notice_row) td.wpacu_selected,.wpacu_asset_row:not(.wpacu_notice_row) td:hover{-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:not(.wpacu_notice_row) td p{padding:0!important;margin-bottom:8px!important;word-wrap:break-word!important;-ms-word-break:break-all;word-break:break-word}.wpacu_asset_row:not(.wpacu_notice_row) td label{width:auto!important;margin:0!important;cursor:pointer!important;display:inline-block!important;font-size:100%!important;font-weight:400!important}.wpacu_asset_row:not(.wpacu_notice_row) td label span:not(.dashicons){font-size:100%!important}.wpacu_asset_row:not(.wpacu_notice_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,.wpacu_asset_row .dashicons-wordpress-alt{color:red!important}.wpacu_asset_row .dashicons-wordpress-alt{font-size:17px;vertical-align:middle}label.wpacu_add_global{cursor:pointer!important}label.wpacu_input_load_checked{font-weight:700;color:#d54e21}label.wpacu_global_unload_exception{font-weight:700!important}tr.wpacu_bulk_change_row.wpacu_selected,tr.wpacu_global_rule_row.wpacu_selected,tr.wpacu_remove_preload_row.wpacu_selected{background:#e7e7e7}.wpacu-sub-page-tabs-wrap{min-width:320px;margin:0 auto 15px auto;border-bottom:1px solid #ccc}.wpacu-sub-page-tabs-wrap label.wpacu-sub-page-nav-label{display:inline-block;position:relative;border-top:1px solid rgba(40,44,42,.1);border-left:1px solid rgba(40,44,42,.1);border-right:1px solid rgba(40,44,42,.1)}.wpacu-sub-page-tabs-wrap label.wpacu-sub-page-nav-label a{display:block;margin:0;padding:15px 25px;font-weight:400;text-align:center;color:#74777b;border-left:1px solid transparent;border-right:1px solid transparent;border-top:2px solid transparent;border-bottom:0;text-decoration:none;background:rgba(40,44,42,.05)}.wpacu-sub-page-tabs-wrap label.wpacu-sub-page-nav-label a:hover{background:#f1f1f1;color:#008f9c}.wpacu-sub-page-tabs-wrap label.wpacu-sub-page-nav-label.wpacu-selected{color:#008f9c;border-left:1px solid #ccc;border-right:1px solid #ccc;border-top:2px solid #008f9c;border-bottom:1px transparent;margin-bottom:-2px}.wpacu-sub-page-tabs-wrap label.wpacu-sub-page-nav-label.wpacu-selected a{background:#f1f1f1;color:#008f9c;font-weight:600}.nav-tab-wrapper{border-bottom:1px solid #ccc;width:95%}.nav-tab-wrapper.nav-assets-manager .nav-tab{font-size:13px;font-weight:500;padding:6px 10px}.nav-tab-wrapper.nav-assets-manager .nav-tab.for-pro{padding:6px 8px 6px 3px}.nav-tab-wrapper.nav-critical-css-manager .nav-tab{font-size:13px;font-weight:500;padding:6px 20px 6px 10px;position:relative}.nav-tab-wrapper.nav-critical-css-manager .nav-tab span.wpacu-circle-status{position:absolute;right:5px;top:13px;height:11px;width:11px;border-radius:50%;display:inline-block;opacity:.75}.nav-tab-wrapper.nav-critical-css-manager .nav-tab span.wpacu-circle-status.wpacu-on{background:#52af00}.nav-tab-wrapper.nav-critical-css-manager .nav-tab span.wpacu-circle-status.wpacu-off{background:#ccc}.nav-tab-wrapper.nav-critical-css-manager .nav-tab.for-pro{padding:6px 8px 6px 3px}ul#wpacu_custom_pages_nav_links{list-style:none}ul#wpacu_custom_pages_nav_links li{position:relative;display:inline-block;margin:0 30px 0 0}ul#wpacu_custom_pages_nav_links li a{text-decoration:none}ul#wpacu_custom_pages_nav_links li a:hover{text-decoration:underline}ul#wpacu_custom_pages_nav_links li.wpacu-current{text-decoration:underline;font-weight:700}ul#wpacu_custom_pages_nav_links li span.wpacu-circle-status{position:absolute;right:-15px;top:5px;height:11px;width:11px;border-radius:50%;display:inline-block;opacity:.75}ul#wpacu_custom_pages_nav_links li span.wpacu-circle-status.wpacu-on{background:#52af00}ul#wpacu_custom_pages_nav_links li span.wpacu-circle-status.wpacu-off{background:#ccc}ul#wpacu_custom_pages_nav_links li:last-child:after,ul#wpacu_custom_pages_nav_links li:last-child:before{content:""}ul.wpacu_asset_options{margin:0 10px 0 0;padding:0}ul.wpacu_asset_options li{margin:0 10px 0 0;list-style:none;display:inline-block;line-height:normal}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{width:100%;font-weight:400}.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{width:auto;-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;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_update_btn.wpacu_submitting,.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;background-color:#0061a7!important}.wpacu_update_btn.wpacu_submitting{cursor:default!important}.wpacu_update_btn:active{position:relative!important;top:1px!important}.wpacu-btns a{text-decoration:none}.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:hover{text-decoration:none}.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{border-color:transparent}.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;-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=button].btn-block,.wpacu-btns input[type=reset].btn-block,.wpacu-btns input[type=submit].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;text-decoration:none;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}.wpacu-restore-pos-btn{font-size:14px!important;line-height:normal!important;height:42px!important;padding:0 18px!important;margin-top:10px!important}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;display:inline-block;color:inherit;text-decoration:none}.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>img{max-width:20px;max-height:20px}.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 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 .wordpress-core-file .wpacu-tooltip{bottom:-40px;left:120px;margin-left:-86px}.wpacu_list_table tr:first-child .wordpress-core-file .wpacu-tooltip:after{top:41px;left:-20px;border-color:transparent #c00 transparent transparent}.wordpress-core-file{position:relative;display:inline-block;font-style:normal;color:inherit;text-decoration:none}.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 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:#ffaf5512;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-allow-manage-assets-to-select-list-area{display:inline-block}#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:#008f9c0a;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 li,.wpacu-wrap p,.wpacu-wrap td{font-weight:400}.wpacu-wrap small{width:auto;float:none;display:inline}.wpacu-wrap small code{font-size:inherit!important}.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 .submit{margin:0}.wpacu-wrap.wpacu-settings-show-all #wpacu-update-button-area .button{padding-left:18px;padding-right:18px;height:46px;font-size:18px}.wpacu-wrap.wpacu-settings-show-all #wpacu-updating-settings{margin-left:224px;top:35px;left:3px}.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.wpacu_with_text{width:65px}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch.wpacu_with_text .wpacu_slider:before{left:14px}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch.wpacu_with_text .wpacu_slider:after{top:5px;position:absolute;content:"OFF";color:#fff;right:9px;font-weight:600}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch.wpacu_with_text input:checked+.wpacu_slider{background-color:#52af00}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch.wpacu_with_text input:checked+.wpacu_slider:before{left:18px}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch.wpacu_with_text input:checked+.wpacu_slider:after{top:5px;position:absolute;content:"ON";color:#fff;left:14px;font-weight:600}.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}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch.wpacu_disabled{opacity:.3}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch.wpacu_disabled:before{content:"";font-family:Dashicons,Arial,"Times New Roman","Bitstream Charter",Times,serif;position:absolute;font-size:23px;top:5px;right:2px;z-index:1000}.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}#wpacu-assets-list-by-location-selected{background:0 0;border:1px solid #e7e7e7;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;padding:8px;clear:both}.notice.notice-success+.wpacu-wrap.wpacu-settings-area{margin-top:20px}.wpacu-license-action-btn-area{margin-top:0;position:relative;display:inline-block}.wpacu-license-spinner{display:none;position:absolute;right:-30px;top:4px}.wpacu-license-spinner img{width:20px;height:20px}#wpacu-activation-issues-info{border-radius:10px;width:90%;margin-top:20px;font-size:14px;padding:6px 20px;background:#fff;border:1px solid #e7e7e7}#wpacu-activation-issues-info ol li{font-size:13px;margin-bottom:10px}#wpacu-mark-license-area-wrap{margin:15px 0}.wpacu-form-table.wpacu-license th{width:120px}.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 .wpacu-fancy-checkbox input[type=checkbox],.wpacu-form-table label input[type=checkbox]{height:20px;width:20px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.wpacu-form-table .wpacu-fancy-checkbox input[type=checkbox]:hover,.wpacu-form-table label input[type=checkbox]:hover{border:1px solid green}.wpacu-form-table .wpacu-fancy-checkbox input[type=checkbox]:checked,.wpacu-form-table label input[type=checkbox]:checked{border:1px solid green}.wpacu-form-table .wpacu-fancy-checkbox input[type=checkbox]:disabled,.wpacu-form-table label input[type=checkbox]:disabled{border:none}.wpacu-form-table .wpacu-fancy-checkbox input[type=checkbox]:disabled:checked,.wpacu-form-table label input[type=checkbox]:disabled:checked{opacity:.3}.wpacu-form-table .wpacu-fancy-checkbox input[type=checkbox]:checked:before,.wpacu-form-table label input[type=checkbox]:checked:before{color:#52af00;font:normal 24px/1 dashicons}.wpacu-form-table .wpacu-fancy-radio input[type=radio]{-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%;position:relative;height:20px;width:20px;margin:2px 0 0 0}.wpacu-form-table .wpacu-fancy-radio input[type=radio].wpacu-disabled-status:checked{border:1px solid #c00}.wpacu-form-table .wpacu-fancy-radio input[type=radio].wpacu-disabled-status:checked:before{background:#c00;color:#c00}.wpacu-form-table .wpacu-fancy-radio input[type=radio].wpacu-disabled-status:hover{border:1px solid #c00}.wpacu-form-table .wpacu-fancy-radio input[type=radio]:hover{border:1px solid green}.wpacu-form-table .wpacu-fancy-radio input[type=radio]:checked{border:1px solid green}.wpacu-form-table .wpacu-fancy-radio input[type=radio]:checked:before{margin:0;line-height:inherit;text-indent:inherit;content:"";position:absolute;top:4px;left:4px;width:10px;height:10px;border-radius:50%;background:#52af00;color:#52af00;font:normal 24px/1 dashicons}#wpacu-settings-vertical-tab-wrap{display:table;width:100%}#wpacu-settings-vertical-tab-wrap .wpacu-tab-extra-text{margin:4px 0 0 0}#wpacu-settings-vertical-tab-wrap .wpacu-tab-extra-text small{font-weight:lighter}#wpacu-settings-vertical-tab-wrap .wpacu-tab-extra-text small span.wpacu-status-wrap{position:relative;padding-left:14px}#wpacu-settings-vertical-tab-wrap .wpacu-tab-extra-text small span.wpacu-status-wrap span.wpacu-circle-status{position:absolute;left:0;top:2px;height:10px;width:10px;border-radius:50%;display:inline-block;opacity:.75}#wpacu-settings-vertical-tab-wrap .wpacu-tab-extra-text small span.wpacu-status-wrap span.wpacu-circle-status.wpacu-on{background:#52af00}#wpacu-settings-vertical-tab-wrap .wpacu-tab-extra-text small span.wpacu-status-wrap span.wpacu-circle-status.wpacu-off{background:#ccc}#wpacu-settings-vertical-tab-wrap *{box-sizing:border-box}.wpacu-settings-tab{display:table-cell;width:20%;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{margin:16px 0 0}#wpacu_minify_js_exceptions_area{margin:16px 0 0}@media only screen and (min-width:768px){body.asset-cleanup-pro_page_wpassetcleanup_assets_manager #wpacu-update-button-area,body.asset-cleanup_page_wpassetcleanup_assets_manager #wpacu-update-button-area{position:-webkit-sticky;position:sticky;bottom:0;padding:0;z-index:1000000;border-top:1px solid #cdcdcd;background:#f1f1f1}}body[class*=version-5-3] #wpacu-update-button-area .button{height:auto;padding:4px 18px 6px;font-size:15px}body[class*=version-5-3] #wpacu-updating-settings{margin-left:178px}#wpacu-update-button-area{position:relative;margin-left:20%}#wpacu-update-button-area.no-left-margin{margin-left:0}#wpacu-update-button-area .submit{margin:0;padding:19px 0}#wpacu-update-button-area .button{padding-left:18px;padding-right:18px;height:46px;font-size:15px}#wpacu-updating-settings{position:absolute;margin-left:183px;top:28px;display:none}#wpacu-updating-settings.wpacu-show{display:block}#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}.google_fonts_load_types{clear:both;margin:20px 0 15px;display:flex}.google_fonts_load_types>div{text-align:left}.google_fonts_load_types>div input{float:left;margin:0 7px 20px 0!important}.wpacu-sub-tabs-wrap{min-width:320px;margin:0 auto}.wpacu-sub-tabs-wrap input.wpacu-nav-input{display:none}.wpacu-sub-tabs-wrap label.wpacu-nav-label{display:inline-block;margin:0 0 -1px;padding:15px 25px;font-weight:600;text-align:center;color:#74777b;border-left:1px solid transparent;border-right:1px solid transparent;border-top:3px solid transparent;border-bottom:0}.wpacu-sub-tabs-wrap label.wpacu-nav-label:hover{cursor:pointer}.wpacu-sub-tabs-wrap input.wpacu-nav-input:checked+label.wpacu-nav-label{color:#004567;border-left:1px solid #ccc;border-right:1px solid #ccc;border-top:3px solid #004567;border-bottom:1px solid #fff}.wpacu-sub-tabs-wrap section{display:none;padding:20px 0 0;border-top:1px solid #ccc}#wpacu-google-fonts-optimize-tab-item:checked~#wpacu-google-fonts-optimize-tab-item-area,#wpacu-google-fonts-remove-tab-item:checked~#wpacu-google-fonts-remove-tab-item-area{display:block}.wpacu-fade-in{animation:wpacuFadeIn ease-in .2s;-webkit-animation:wpacuFadeIn ease-in .2s;-moz-animation:wpacuFadeIn ease-in .2s;-o-animation:wpacuFadeIn ease-in .2s;-ms-animation:wpacuFadeIn ease-in .2s}@keyframes wpacuFadeIn{0%{opacity:0}100%{opacity:1}}@-moz-keyframes wpacuFadeIn{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes wpacuFadeIn{0%{opacity:0}100%{opacity:1}}@-o-keyframes wpacuFadeIn{0%{opacity:0}100%{opacity:1}}@-ms-keyframes wpacuFadeIn{0%{opacity:0}100%{opacity:1}}body.wp-admin select.wpacu-screen-size-load{margin-top:10px;margin-bottom:10px;margin-right:6px}body.wp-admin div.wpacu-helper-area{display:inline-block;vertical-align:top}body.wp-admin .wpacu-handle-media-queries-load-field{display:none;vertical-align:top;margin-bottom:10px}body.wp-admin .wpacu-handle-media-queries-load-field.wpacu-is-visible{display:inline-block}body.wp-admin .wpacu-handle-media-queries-load-field>textarea{font-size:100%;padding:6px;width:320px;max-width:100%;max-height:80px;border:1px solid green}body.wp-admin .wpacu-handle-media-queries-load-field>textarea:disabled{border:1px solid #e7e7e7}body.wp-admin .wpacu-handle-media-queries-load-field:not(.wpacu-is-visible)+div.wpacu-helper-area{margin-top:2px;vertical-align:middle}body.wp-admin .wpacu-handle-notes p{margin-top:0!important}body.wp-admin .wpacu-handle-notes p a{font-size:inherit}body.wp-admin .wpacu-handle-notes p a span.dashicons{font-size:19px;width:19px;height:19px;vertical-align:bottom;text-decoration:none}body:not(.wp-admin) select.wpacu-screen-size-load{margin-top:10px;margin-bottom:10px;margin-right:8px;width:auto}body:not(.wp-admin) div.wpacu-helper-area{display:inline-block;vertical-align:top}body:not(.wp-admin) .wpacu-handle-media-queries-load-field{display:none;vertical-align:top;margin-top:10px;margin-bottom:10px}body:not(.wp-admin) .wpacu-handle-media-queries-load-field.wpacu-is-visible{display:inline-block}body:not(.wp-admin) .wpacu-handle-media-queries-load-field>textarea{font-size:100%;padding:6px;width:320px;max-width:100%;max-height:80px;border:1px solid green}body:not(.wp-admin) .wpacu-handle-media-queries-load-field>textarea:disabled{border:1px solid #e7e7e7}body:not(.wp-admin) .wpacu-handle-media-queries-load-field:not(.wpacu-is-visible)+div.wpacu-helper-area{margin-top:2px;vertical-align:middle}body:not(.wp-admin) .wpacu-handle-notes p{margin-top:0!important}body:not(.wp-admin) .wpacu-handle-notes p a{font-size:inherit}body:not(.wp-admin) .wpacu-handle-notes p a span.dashicons{font-size:19px;width:19px;height:19px;vertical-align:bottom;text-decoration:none}.wpacu-handle-notes{padding-top:5px;margin-bottom:-10px;border-top:1px solid #e7e7e7}.wpacu-handle-notes .wpacu-handle-notes-field{display:none}.wpacu-handle-notes .wpacu-handle-notes-field>textarea{font-size:85%;padding:6px;width:320px;max-width:100%}.wpacu-handle-notes p{margin:10px 0 0!important}.wpacu-handle-notes p a.wpacu-add-handle-note{text-decoration:none;font-size:80%;display:inline-block;color:inherit}.wpacu-handle-notes p a.wpacu-add-handle-note span.dashicons{font-size:18px;width:18px;height:18px}.wrap_bulk_unload_options{width:auto;display:block;clear:both}.wrap_bulk_unload_options .wpacu_asset_options_wrap{display:inline-block;float:left;margin:5px 10px 14px 0!important;padding:8px 10px 12px!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;min-width:52px;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:.15s;transition:.15s}.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:.15s;transition:.15s}.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_switch.wpacu_disabled{opacity:.3}.wpacu-switch-enhanced .wpacu_asset_row .wpacu_switch.wpacu_disabled:before{content:"";font-family:Dashicons,Arial,"Times New Roman","Bitstream Charter",Times,serif;position:absolute;font-size:23px;top:1px;right:2px;z-index:1000}.wpacu-switch-enhanced .wpacu_asset_row .wpacu_slider_text{position:absolute;left:62px;top:3px}.wpacu-wrap{width:98%}.wpacu-wrap tr.wpacu_regex_rule_row{opacity:.45}.wpacu-wrap tr.wpacu_regex_rule_row textarea{line-height:normal;min-height:20px;min-width:400px;display:inline-block;padding:2px 4px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.wpacu-wrap tr.wpacu_regex_rule_row textarea:focus{width:100%}.wpacu-wrap tr.wpacu_regex_rule_row.wpacu_enabled{opacity:1}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch_small{position:relative;display:inline-block;min-width:30px;width:30px;height:17px;margin-right:5px!important}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch_small input{display:none}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch_small .wpacu_slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;-webkit-transition:.15s;transition:.15s}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch_small .wpacu_slider:before{position:absolute;content:"";height:13px;width:13px;left:2px;bottom:2px;background-color:#fff;-webkit-transition:.15s;transition:.15s}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch_small input:checked+.wpacu_slider{background-color:#52af00}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch_small input:focus+.wpacu_slider{box-shadow:0 0 1px #52af00}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch_small input:checked+.wpacu_slider:before{-webkit-transform:translateX(13px);-ms-transform:translateX(13px);transform:translateX(13px)}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch_small .wpacu_slider.wpacu_round{border-radius:17px}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch_small .wpacu_slider.wpacu_round:before{border-radius:50%}.editor-post-saved-state.is-wpacu-reloading{animation:edit-post__loading-fade-animation .5s infinite}body.wp-admin tr.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract .dashicons{width:19px;height:19px;font-size:19px}body.wp-admin tr.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:before{right:20px;top:-2px}body.wp-admin tr.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:after{left:20px;top:-2px}body.wp-admin tr.wpacu_asset_row.wpacu-loading{position:relative}body.wp-admin tr.wpacu_asset_row.wpacu-loading .wpacu-ajax-loader{display:block!important}body.wp-admin tr.wpacu_asset_row .wpacu-ajax-loader{display:none;width:58px;height:58px;position:absolute;bottom:0;right:0;opacity:.75}.wpacu_asset_row.wpacu_not_load .wpacu_dependency_notice_area em{color:#c00}.wpacu_asset_row input.wpacu_load_exception:checked+span{color:green}.wpacu_asset_row .wpacu-hardcoded-code-area{margin:0}.wpacu_asset_row .wpacu-hardcoded-code-area span.wpacu_inside_cond_comm{display:block;margin-bottom:8px}.wpacu_asset_row .wpacu-hardcoded-code-area .wpacu-has-view-more{max-height:300px;position:relative;overflow:hidden}.wpacu_asset_row .wpacu-hardcoded-code-area .wpacu-has-view-more p.wpacu-view-more-link-area{position:absolute;bottom:0;left:0;width:100%;margin:0;padding:20px 0 15px 15px;background:linear-gradient(to bottom,rgba(255,255,255,0) 0,#fbfbfb8c 100%);background:-webkit-linear-gradient(top,rgba(255,255,255,0) 0,#fbfbfb8c 100%)}.wpacu_asset_row .wpacu-hardcoded-code-area pre{margin:0;padding:0 0 8px;white-space:pre-wrap;white-space:break-spaces;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.wpacu_asset_row .wpacu-hardcoded-code-area code{color:inherit;font-style:italic;margin-left:2px;word-break:break-word}.wpacu_asset_row[data-is-hardcoded-asset=true] .wpacu-source-row{margin-top:0}.wpacu_asset_row[data-is-hardcoded-asset=true] .wpacu_handle_row_expand_contract_area{right:18px;top:18px;background:inherit;z-index:100}.wpacu_asset_row>td{background:inherit;overflow-wrap:break-word;word-wrap:break-word;-ms-word-break:break-all;word-break:break-all}.wpacu_asset_row>td[data-wpacu-row-status=expanded] .wpacu_file_size_area{margin:10px 0}.wpacu_asset_row>td[data-wpacu-row-status=expanded] .wpacu_hardcoded_part_if_contracted{display:none}.wpacu_asset_row>td[data-wpacu-row-status=expanded] .wpacu_hardcoded_part_if_expanded{display:block}.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_file_size_area{margin:0}.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_hardcoded_part_if_contracted{display:block}.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_hardcoded_part_if_contracted code{width:100%}.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_hardcoded_part_if_expanded{display:none}.wpacu_asset_row>td div.wpacu_dependency_notice_area{line-height:22px;margin:10px 0;text-align:left!important;font-weight:400!important}.wpacu_asset_row>td div.wpacu-source-row{margin-top:12px}.wpacu_asset_row>td div.wpacu-source-row a{word-break:break-word}.wpacu_asset_row>td .wpacu_hide_if_handle_row_contracted{display:inline-block}.wpacu_asset_row>td[data-wpacu-row-status=contracted]>div{float:left;margin-top:0;margin-right:20px;margin-bottom:10px}.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_hide_if_handle_row_contracted{display:none}.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_handle_row_expand_contract_area{background:inherit}.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract{transition:none}.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:focus,.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:focus-visible,.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:visited{text-decoration:none;border:none}.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:after,.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:before{opacity:0;-webkit-transition:-webkit-transform .3s,opacity .2s;-moz-transition:-moz-transform .3s,opacity .2s;transition:transform .3s,opacity .2s}.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:before{position:absolute;right:20px;top:-4px;content:"[";-webkit-transform:translateX(20px);-moz-transform:translateX(20px);transform:translateX(20px)}.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:after{position:absolute;left:20px;top:-4px;content:"]";-webkit-transform:translateX(-20px);-moz-transform:translateX(-20px);transform:translateX(-20px)}.wpacu_asset_row>td[data-wpacu-row-status=contracted].wpacu_hovered .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract,.wpacu_asset_row>td[data-wpacu-row-status=contracted]:focus .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract,.wpacu_asset_row>td[data-wpacu-row-status=contracted]:hover .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract{transition:none}.wpacu_asset_row>td[data-wpacu-row-status=contracted].wpacu_hovered .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:hover,.wpacu_asset_row>td[data-wpacu-row-status=contracted]:focus .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:hover,.wpacu_asset_row>td[data-wpacu-row-status=contracted]:hover .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:hover{color:green}.wpacu_asset_row>td[data-wpacu-row-status=contracted].wpacu_hovered .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:after,.wpacu_asset_row>td[data-wpacu-row-status=contracted].wpacu_hovered .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:before,.wpacu_asset_row>td[data-wpacu-row-status=contracted]:focus .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:after,.wpacu_asset_row>td[data-wpacu-row-status=contracted]:focus .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:before,.wpacu_asset_row>td[data-wpacu-row-status=contracted]:hover .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:after,.wpacu_asset_row>td[data-wpacu-row-status=contracted]:hover .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:before{opacity:1;-webkit-transform:translateX(0);-moz-transform:translateX(0);transform:translateX(0)}.wpacu_asset_row .wpacu_handle_row_expand_contract_area{background:inherit;position:absolute;right:20px;top:20px;float:none!important;margin:0!important}.wpacu_asset_row .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract{background:inherit;color:#000;text-decoration:none}.wpacu_asset_row .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:hover{text-decoration:none}.wpacu_asset_row .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract span.dashicons{background:inherit}.wpacu_asset_row input{width:auto;height:auto;min-height:16px}.wpacu_asset_row .tip{background:inherit;border-left:4px solid #e7e7e7;margin:10px 0;padding:7px;font-style:italic;font-size:small;line-height:1.4}.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 div.wpacu_handle{margin:0 0 -8px}.wpacu_asset_row p.wpacu_handle{margin-top:0}.wpacu_asset_row li.wpacu_unload_this_page{display:block!important;position:relative}.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{clear:both;height:0}.wpacu-clearfix:before{content:"";display:table}.wpacu-clearfix:after{content:"";display:table;clear:both}body.wp-admin .wpacu-wp-button{font-size:13px;line-height:26px;height:28px}.wpacu-wp-button{color:#555!important;border-color:#ccc!important;background:#f7f7f7!important;box-shadow:0 1px 0 #ccc;vertical-align:top}.wpacu-wp-button:hover{background:#fafafa!important;border-color:#999!important;color:#23282d!important}.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}.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}body[class*=asset-cleanup-pro] a.wpacu-plugin-contracted-wrap-link{padding:16px 6px 16px 41px!important}body[class*=asset-cleanup-pro] .wpacu-area-open .wpacu-plugin-toggle-all{font-size:12px!important;width:calc(100% - 26px)!important}body.wp-admin .wpacu-area-expanded .wpacu-plugin-toggle-all{top:5px}body.wp-admin .wpacu-area-expanded .wpacu-plugin-toggle-all ul li{font-size:12px!important}.wpacu-assets-collapsible-wrap{border:1px solid #cdcdcd}.wpacu-assets-collapsible-wrap.wpacu-by-location{margin-bottom:15px}.wpacu-assets-collapsible-wrap.wpacu-wrap-all{margin-top:20px}.wpacu-assets-collapsible-wrap.wpacu-wrap-area{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-width:0;margin:0;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-location-child-area[data-wpacu-plugin=oxygen] .icon-area{border-radius:50%}.wpacu-assets-collapsible-wrap.wpacu-by-location .wpacu-location-child-area .wpacu-plugin-toggle-all-wrap .wpacu-plugin-toggle-all{display:inline-block;padding:0;font-size:13px;width:100%;width:calc(100% + 46px);min-width:250px;position:absolute;left:100%;left:calc(100% + 6px);margin:0;top:4px}.wpacu-assets-collapsible-wrap.wpacu-by-location .wpacu-location-child-area .wpacu-plugin-toggle-all-wrap .wpacu-plugin-toggle-all ul{display:inline-block;margin:0;list-style:none;padding-left:13px;padding-top:0}.wpacu-assets-collapsible-wrap.wpacu-by-location .wpacu-location-child-area .wpacu-plugin-toggle-all-wrap .wpacu-plugin-toggle-all ul li{padding:0;margin:0;line-height:normal;font-size:14px}.wpacu-assets-collapsible-wrap.wpacu-by-location .wpacu-location-child-area .wpacu-plugin-toggle-all-wrap .wpacu-plugin-toggle-all ul li:first-child{font-style:italic;margin-bottom:5px}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-themes .wpacu-assets-collapsible-content>table:last-child{margin-bottom:20px}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-themes .wpacu-assets-collapsible-content .wpacu-location-child-area .wpacu-area-title{display:inline;position:relative;padding:9px 10px 10px 15px;z-index:1}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-themes .wpacu-assets-collapsible-content .wpacu-location-child-area .wpacu-area-title: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-plugin-assets-wrap{padding:0 0 10px}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content .wpacu-plugin-assets-wrap.wpacu-area-open.wpacu-plugin-assets-last{margin-bottom:18px}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content .wpacu-plugin-assets-wrap.wpacu-area-open .wpacu-plugin-toggle-all-wrap .wpacu-plugin-toggle-all{display:inline-block;padding:7px 12px 8px;font-size:14px;width:100%;text-align:left;border-left:1px solid #cdcdcd;border-right:1px solid #cdcdcd}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content .wpacu-plugin-assets-wrap.wpacu-area-open .wpacu-plugin-toggle-all-wrap .wpacu-plugin-toggle-all+.wpacu-plugin-toggle-all{padding:2px 12px 10px}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link{color:inherit;text-decoration:none;font-weight:inherit;font-style:inherit;font-size:105%;line-height:initial;position:relative;height:auto;margin:14px 0 0;padding:13px 6px 14px 39px;position:relative;display:block}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link:after{position:absolute;font-size:18px;font-family:Dashicons!important;right:12px;top:14px;content:""}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link.wpacu-link-open:after{content:""}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link.wpacu-link-closed{border:1px solid #cdcdcd}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link:hover{border:1px solid #878787;background:#f9f9f9}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link:hover.wpacu-link-closed{box-shadow:3px 3px 2px #ddd}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link.wpacu-link-open{border-top:1px solid #cdcdcd;border-left:1px solid #cdcdcd;border-right:1px solid #cdcdcd;border-bottom:none}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link.wpacu-link-closed.wpacu-last-wrap-link{margin-bottom:20px}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link .icon-plugin-default{top:10px;left:10px;width:30px;height:30px}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link .icon-plugin-default .icon-area{width:30px;height:30px}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link .icon-plugin-default .icon-area:before{font-size:22px;line-height:22px;top:4px;left:5px}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link .wpacu-area-title{position:relative;padding:17px 10px 16px 46px;z-index:1}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link .wpacu-area-title: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 a.wpacu-plugin-contracted-wrap-link.wpacu-area-last{margin-bottom:18px}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content .wpacu-area-open{padding:0;max-height:100%}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content .wpacu-area-closed{padding:0;overflow:hidden;max-height:0}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content>table:last-child{margin-bottom:20px}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-themes .wpacu-assets-collapsible-content .wpacu-location-child-area .wpacu-area-title{margin-top:0;margin-bottom:-1px;padding:14px 10px 16px 12px!important}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-themes .wpacu-assets-collapsible-content .wpacu-location-child-area .wpacu-area-title.wpacu-theme-has-icon{padding:18px 10px 16px 58px!important}.wpacu-assets-collapsible-wrap.wpacu-by-location .wpacu-assets-collapsible-content .wpacu-location-child-area{margin-top:22px;margin-bottom:-1px;font-size:110%;line-height:initial}.wpacu-assets-collapsible-wrap.wpacu-by-location .wpacu-assets-collapsible-content .wpacu-location-child-area.wpacu-location-child-area-first{margin-top:2px}.wpacu-assets-collapsible-wrap.wpacu-by-location .wpacu-assets-collapsible-content .wpacu-location-child-area.wpacu-area-expanded .wpacu-area-title{display:inline-block;z-index:1;padding:17px 10px 16px 46px}.wpacu-assets-collapsible-wrap.wpacu-by-location .wpacu-assets-collapsible-content .wpacu-location-child-area .wpacu-area-title{display:inline;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}.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:"";font-family:Dashicons!important;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-by-location .icon-theme{position:absolute;padding:0;top:10px;left:10px;width:37px;height:37px}.wpacu-assets-collapsible-wrap.wpacu-by-location .icon-theme .icon-area{position:relative;width:37px;height:37px}.wpacu-assets-collapsible-wrap.wpacu-wp_core{border:1px solid #c00}.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!important;right:14px;top:16px}a.wpacu-assets-collapsible:not(.wpacu-assets-collapsible-active):after{content:""}a.wpacu-assets-collapsible.wpacu-assets-collapsible-active{background-color:#f1f3f8}a.wpacu-assets-collapsible.wpacu-assets-collapsible-active:after{content:""}.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:not(.wpacu-assets-table-list-wrap){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!important;right:-3px;top:-1px;width:14px;height: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:""}a.wpacu-assets-inline-code-collapsible.wpacu-assets-inline-code-collapsible-active:after{content:""}.wpacu-assets-inline-code-collapsible-content{padding:0 8px 2px 0;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_asset_row p div.select{display:inline-block}.wpacu-wrap-choose-position{display:inline}.wpacu-wrap-choose-position>div{display:inline-block}.wpacu-wrap-choose-position select{width:auto;font-size:inherit;display:inline;margin-left:6px;margin-right:4px}.wpacu-wrap-choose-position>.select>.select{display:inline}.wpacu-wrap-choose-position>.select>.select select{padding-right:30px}.wpacu-wrap-choose-position>.select>.select:after{right:15px;top:-4px}.wpacu_handle_unload_regex_input_wrap,.wpacu_load_regex_input_wrap{display:block;width:100%}.wpacu_handle_unload_regex_input_wrap .wpacu_regex_rule_area .wpacu_regex_rule_textarea,.wpacu_load_regex_input_wrap .wpacu_regex_rule_area .wpacu_regex_rule_textarea{line-height:normal;min-height:40px;min-width:300px;max-width:400px;display:inline-block;padding:2px 4px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.wpacu_handle_unload_regex_input_wrap .wpacu_regex_rule_area .wpacu_regex_rule_textarea:focus,.wpacu_load_regex_input_wrap .wpacu_regex_rule_area .wpacu_regex_rule_textarea:focus{width:100%}body.logged-in:not(.wp-admin) .wpacu-view-more-code{box-shadow:inset 0 1px 0 0 #fff;background:linear-gradient(to bottom,#f9f9f9 5%,#e9e9e9 100%);background-color:#f9f9f9;border-radius:6px;border:1px solid #dcdcdc;display:inline-block;cursor:pointer;color:#666;font-size:inherit;font-weight:700;padding:6px 24px;text-decoration:none;text-shadow:0 1px 0 #fff}body.logged-in:not(.wp-admin) .wpacu-view-more-code:hover{background:linear-gradient(to bottom,#e9e9e9 5%,#f9f9f9 100%);background-color:#e9e9e9}body.logged-in:not(.wp-admin) .wpacu-view-more-code:active{position:relative;top:1px}.wpacu-page-options .wpacu-assets-collapsible-content.wpacu-loading{position:relative}.wpacu-page-options .wpacu-assets-collapsible-content.wpacu-loading .wpacu-ajax-loader{display:block!important}.wpacu-page-options .wpacu-assets-collapsible-content .wpacu-ajax-loader{display:none;width:58px;height:58px;position:absolute;bottom:0;right:0;opacity:.75}#wpacu-page-options-ul input[type=checkbox]:checked::before{content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M14.83 4.89l1.34.94-5.81 8.38H9.02L5.78 9.67l1.34-1.25 2.57 2.4z' fill='%23cc0000'/%3E%3C/svg%3E")!important}#wpacu-assets-contract-all img,#wpacu-assets-expand-all img{display:none}#wpacu-assets-contract-all:disabled span,#wpacu-assets-expand-all:disabled span{opacity:.6}#wpacu-assets-contract-all:disabled img,#wpacu-assets-expand-all:disabled img{display:inline-block;vertical-align:middle;padding-bottom:3px}.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{border:1px solid #eceeef}.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-hover tbody tr:hover{background-color:rgba(0,0,0,.075)}.wpacu_table_wrap .table-active{background-color:rgba(0,0,0,.075)}.wpacu_table_wrap .table-active>td,.wpacu_table_wrap .table-active>th{background-color:rgba(0,0,0,.075)}.wpacu_table_wrap .table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.wpacu_table_wrap .table-hover .table-active:hover>td,.wpacu_table_wrap .table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.wpacu_table_wrap .table-success{background-color:#dff0d8}.wpacu_table_wrap .table-success>td,.wpacu_table_wrap .table-success>th{background-color:#dff0d8}.wpacu_table_wrap .table-hover .table-success:hover{background-color:#d0e9c6}.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{background-color:#d9edf7}.wpacu_table_wrap .table-info>td,.wpacu_table_wrap .table-info>th{background-color:#d9edf7}.wpacu_table_wrap .table-hover .table-info:hover{background-color:#c4e3f3}.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{background-color:#fcf8e3}.wpacu_table_wrap .table-warning>td,.wpacu_table_wrap .table-warning>th{background-color:#fcf8e3}.wpacu_table_wrap .table-hover .table-warning:hover{background-color:#faf2cc}.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{background-color:#f2dede}.wpacu_table_wrap .table-danger>td,.wpacu_table_wrap .table-danger>th{background-color:#f2dede}.wpacu_table_wrap .table-hover .table-danger:hover{background-color:#ebcccc}.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{border:0}.wpacu_table_wrap .table-responsive{display:block;width:100%;overflow-x:auto;-ms-overflow-style:-ms-autohiding-scrollbar}.wpacu_table_wrap .table-responsive.table-bordered{border:0}body.wp-admin[class*=asset-cleanup] .wpacu-overview-wrap .wpacu-overview-list-table tr:not(.wpacu-top):hover td{border-top:1px solid #ccd0d4;border-bottom:1px solid #ccd0d4}body.wp-admin[class*=asset-cleanup] .wpacu-overview-wrap .wpacu-overview-list-table tr:not(.wpacu-top):hover td:first-of-type{border-left:1px solid #ccd0d4}body.wp-admin[class*=asset-cleanup] .wpacu-overview-wrap .wpacu-overview-list-table tr:not(.wpacu-top):hover td:last-of-type{border-right:1px solid #ccd0d4}body.wp-admin[class*=asset-cleanup] .wpacu-overview-wrap .wpacu-overview-list-table tr td{font-size:14px;border-top:1px solid transparent;border-bottom:1px solid transparent}body.wp-admin[class*=asset-cleanup] .wpacu-overview-wrap .wpacu-overview-list-table tr td:first-of-type{border-left:1px solid transparent}body.wp-admin[class*=asset-cleanup] .wpacu-overview-wrap .wpacu-overview-list-table tr td:last-of-type{border-right:1px solid transparent}body.wp-admin[class*=asset-cleanup] table.wp-list-table:not(.wpacu-overview-list-table).wpacu-list-table tr:not(.wpacu_selected):hover{-moz-box-shadow:inset 0 0 2px 1px #b3b3b3;-webkit-box-shadow:inset 0 0 2px 1px #b3b3b3;box-shadow:inset 0 0 2px 1px #b3b3b3}body.wp-admin[class*=asset-cleanup] table.wp-list-table:not(.wpacu-overview-list-table) tr:not(:first-of-type):not(.wpacu_selected):hover{-moz-box-shadow:inset 0 0 2px 1px #b3b3b3;-webkit-box-shadow:inset 0 0 2px 1px #b3b3b3;box-shadow:inset 0 0 2px 1px #b3b3b3}.wp-list-table .wpacu_restore_position_row.wpacu_selected{background:#e7e7e7!important}.wp-list-table .wpacu_remove_global_attr_row.wpacu_selected{background:#e7e7e7!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-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;line-height:24px}.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 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:320px}.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}@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{order:2}@media only screen and (min-width:768px){.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 ul li:last-child{margin-bottom:0}.wpacu-get-help-wrap .help-content-wrap .help-content p:last-child{margin-bottom:0}select#wpacu-reset-drop-down{max-width:100%}#wpacu-license-data-remove-area{display:none;margin:14px 0 12px}#wpacu-license-data-remove-area.wpacu-visible{display:block}#wpacu-cache-assets-remove-area{display:none;margin:12px 0 25px}#wpacu-cache-assets-remove-area.wpacu-visible{display:block}#wpacu-cached-assets-removed-msg,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,#wpacu-warning-read span.dashicons-wordpress-alt{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-tools-area .wpacu-export-import-area{padding:10px}.wpacu-tools-area .wpacu-export-import-area form>p:first-of-type{margin-top:0}.wpacu-tools-area .wpacu-export-import-area form>p:last-of-type{margin-bottom:0}.wpacu-tools-area .wpacu-export-import-area:hover{background:rgba(40,44,42,.05);box-shadow:inset 0 0 10px rgba(160,165,170,.15)}.wpacu-tools-area .wpacu-export-import-area+hr{display:block;height:1px;border:0;border-top:1px solid #cdcdcd;margin:10px 0;padding:0}#wpacu-import-form button.wpacu-importing img.wpacu-spinner{display:inline-block}#wpacu-import-form button img.wpacu-spinner{display:none;margin:0 0 0 5px;height:16px;width:16px;vertical-align:middle}@media only screen and (max-width:767px){.wpacu-about-wrap h1{margin:20px}}.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 .wpacu-about-text img{display:none}}@media only screen and (max-width:767px){.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;line-height:22px}@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,.wpacu-lite-vs-pro-wrap th{border:1px solid #ddd;padding:10px 16px 10px 16px;empty-cells:show}.wpacu-lite-vs-pro-wrap td,.wpacu-lite-vs-pro-wrap th{text-align:left}.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}@media only screen and (max-width:767px){.wpacu-lite-vs-pro-wrap .txt-l{font-size:20px}}.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 .tick{font-size:15px}}.wpacu-lite-vs-pro-wrap .na{font-size:18px;opacity:.3}@media only screen and (max-width:767px){.wpacu-lite-vs-pro-wrap .na{font-size:15px}}.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}.wpacu-lite-vs-pro-wrap td,.wpacu-lite-vs-pro-wrap th{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 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}}@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{padding:0 20px 0 25px}}@media only screen and (min-width:1200px){.wpacu-video-areas .wpacu-video-area-wrapper .wpacu-col-right p:first-child{margin-top:0}}@media only screen and (min-width:1200px){.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{width:560px;height:315px}@media only screen and (max-width:1199px){.wpacu-video-areas .wpacu-video-area-wrapper .wpacu-video-wrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%}}#wpassetcleanup_asset_list.postbox h2{padding-left:52px!important;position:relative}#wpassetcleanup_asset_list.postbox h2:before{content:"";position:absolute;background-image:url(images/wpacu-logo-transparent-bg-v1.png);background-size:cover;top:6px;left:13px;width:33px;height:26px;opacity:.8;-webkit-filter:grayscale(100%);filter:grayscale(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 pre{white-space:normal}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-modal-content pre{white-space:normal}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}.wpacu-bulk-changes-tabs{display:table;position:relative;overflow:hidden;margin:0;width:100%}.wpacu-bulk-changes-tabs li{border-top:1px solid rgba(40,44,42,.1);border-left:1px solid rgba(40,44,42,.1);border-bottom:1px solid rgba(40,44,42,.1);float:left;line-height:38px;padding:0;position:relative;margin-bottom:12px}.wpacu-bulk-changes-tabs li:last-child{border-right:1px solid rgba(40,44,42,.1)}.wpacu-bulk-changes-tabs a{position:relative;background:rgba(40,44,42,.05);color:#004567;font-size:14px;font-weight:500;display:block;letter-spacing:0;outline:0;padding:6px 20px;text-decoration:none;border-top:3px solid transparent}.wpacu-bulk-changes-tabs a:hover{background:#f1f1f1;border-top:3px solid transparent}.wpacu-bulk-changes-tabs .current a{background:#fff;border-top:3px solid #004567}.wpacu-bulk-changes-tabs .current a:hover{background:#fff}.wpacu-bulk-changes-tabs .current a:after,.wpacu-bulk-changes-tabs .current a:before{top:100%;left:50%;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none}.wpacu-bulk-changes-tabs .current a:after{border-color:rgba(136,183,213,0);border-top-color:#fff;border-width:12px;margin-left:-12px}.wpacu-bulk-changes-tabs .current a:before{border-color:rgba(194,225,245,0);border-top-color:rgba(40,44,42,.1);border-width:13px;margin-left:-13px}img.wpacu-emoji{display:inline!important;border:none!important;height:1em!important;width:1em!important;margin:0 .07em!important;vertical-align:-.1em!important;background:0 0!important;padding:0!important;box-shadow:none!important}#wpacu-plugins-load-manager-wrap table td{border-bottom:1px solid #e7e7e7}#wpacu-plugins-load-manager-wrap table td.wpacu_plugin_icon{padding:14px 10px}#wpacu-plugins-load-manager-wrap table td.wpacu_plugin_details{vertical-align:middle;padding:10px 0 10px 8px}#wpacu-plugins-load-manager-wrap table td.wpacu_plugin_details .wpacu_plugin_title{font-weight:600}#wpacu-plugins-load-manager-wrap .wrap_plugin_unload_rules_options{width:auto;display:inline-flex;-webkit-flex-wrap:wrap;flex-wrap:wrap}#wpacu-plugins-load-manager-wrap .wrap_plugin_unload_rules_options .wpacu_plugin_rules_wrap{flex-grow:1;margin:0 16px 0 0!important;padding:8px 10px 6px 0!important}#wpacu-plugins-load-manager-wrap .wrap_plugin_unload_rules_options .wpacu_plugin_rules_wrap ul.wpacu_plugin_rules{margin:0;vertical-align:middle}#wpacu-plugins-load-manager-wrap .wrap_plugin_unload_rules_options .wpacu_plugin_rules_wrap ul.wpacu_plugin_rules label{vertical-align:top}#wpacu-plugins-load-manager-wrap .wrap_plugin_unload_rules_options .wpacu_plugin_rules_wrap ul.wpacu_plugin_rules label.wpacu_plugin_unload_rule_input_checked{color:#c00}#wpacu-plugins-load-manager-wrap .wrap_plugin_unload_rules_options .wpacu_plugin_rules_wrap ul.wpacu_plugin_rules .wpacu_plugin_unload_logged_in:checked+span{color:#c00}#wpacu-plugins-load-manager-wrap .wrap_plugin_load_exception_options{padding-top:5px;border-top:1px solid #e7e7e7;width:auto;display:inline-flex;-webkit-flex-wrap:wrap;flex-wrap:wrap}#wpacu-plugins-load-manager-wrap .wrap_plugin_load_exception_options .wpacu_plugin_rules_wrap{flex-grow:1;margin:0 16px 0 0!important;padding:6px 10px 6px 0!important}#wpacu-plugins-load-manager-wrap .wrap_plugin_load_exception_options .wpacu_plugin_rules_wrap ul.wpacu_plugin_rules{margin:0;vertical-align:middle}#wpacu-plugins-load-manager-wrap .wrap_plugin_load_exception_options .wpacu_plugin_rules_wrap ul.wpacu_plugin_rules label{vertical-align:top}#wpacu-plugins-load-manager-wrap .wrap_plugin_load_exception_options .wpacu_plugin_rules_wrap ul.wpacu_plugin_rules.wpacu_exception_options_area li{display:inline-block;float:left;margin:1px 25px 1px 0;line-height:20px}#wpacu-plugins-load-manager-wrap .wrap_plugin_load_exception_options .wpacu_plugin_rules_wrap ul.wpacu_plugin_rules.wpacu_exception_options_area li:last-of-type{margin:1px 0}#wpacu-plugins-load-manager-wrap .wrap_plugin_load_exception_options .wpacu_plugin_rules_wrap ul.wpacu_plugin_rules .wpacu_plugin_load_exception_logged_in:checked+span,#wpacu-plugins-load-manager-wrap .wrap_plugin_load_exception_options .wpacu_plugin_rules_wrap ul.wpacu_plugin_rules .wpacu_plugin_load_exception_regex:checked+span{color:green}.wpacu-list-table.plugins{width:98%;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}#wpacu-plugins-load-manager-wrap .help_link{text-decoration:none;color:inherit;vertical-align:middle}#wpacu-plugins-load-manager-wrap .help_link.unload_it_regex{vertical-align:top}#wpacu-plugins-load-manager-wrap .wpacu_plugin_details .wpacu_plugin_path{font-style:italic;color:grey}#wpacu-plugins-load-manager-wrap .wpacu_plugin_icon>img{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}#wpacu-plugins-load-manager-wrap .wpacu_plugin_icon>div{background:#efefef;border:#cdcdcd;border-radius:3px;width:40px;height:40px;vertical-align:middle;position:relative;text-align:center}#wpacu-plugins-load-manager-wrap .wpacu_plugin_icon>div>span{font-size:30px;color:#b3b3b3;top:50%;vertical-align:middle;left:50%;transform:translate(-50%,-50%);width:30px;height:30px;position:absolute}#wpacu-plugins-load-manager-wrap .wpacu_plugin_unload_regex_input_wrap{display:block}#wpacu-plugins-load-manager-wrap .wpacu_plugin_unload_regex_input_wrap textarea{margin-top:6px;min-width:400px;min-height:40px}#wpacu-plugins-load-manager-wrap .wpacu_exception_options_area textarea{margin-top:6px;min-width:400px;min-height:40px;width:100%}#wpacu-plugins-load-manager-wrap textarea{line-height:normal;min-height:20px;min-width:300px;display:inline-block;padding:2px 4px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}#wpacu-plugins-load-manager-wrap textarea:focus{width:100%}#wpacu-plugins-load-manager-wrap textarea.wpacu_disabled{background:#fbfafa!important;color:inherit}
|
assets/wpacu-debug.css
ADDED
@@ -0,0 +1,165 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
#wpacu-debug-options {
|
2 |
+
background: white;
|
3 |
+
width: 90%;
|
4 |
+
margin: 10px;
|
5 |
+
border: 1px solid #cdcdcd;
|
6 |
+
border-radius: 5px;
|
7 |
+
padding: 12px;
|
8 |
+
}
|
9 |
+
|
10 |
+
#wpacu-debug-options p {
|
11 |
+
margin-bottom: 15px;
|
12 |
+
}
|
13 |
+
|
14 |
+
#wpacu-debug-options ul.wpacu-options {
|
15 |
+
list-style: none;
|
16 |
+
padding-left: 0;
|
17 |
+
margin-top: 0;
|
18 |
+
margin-left: 8px;
|
19 |
+
}
|
20 |
+
|
21 |
+
#wpacu-debug-options ul.wpacu-options li {
|
22 |
+
line-height: normal;
|
23 |
+
font-size: inherit;
|
24 |
+
}
|
25 |
+
|
26 |
+
#wpacu-debug-options ul.wpacu-options li label {
|
27 |
+
cursor: pointer;
|
28 |
+
font-size: inherit;
|
29 |
+
}
|
30 |
+
|
31 |
+
#wpacu-debug-options table td {
|
32 |
+
padding: 20px;
|
33 |
+
}
|
34 |
+
|
35 |
+
ul#wpacu-debug-timing {
|
36 |
+
margin-left: 0;
|
37 |
+
padding-left: 0;
|
38 |
+
}
|
39 |
+
|
40 |
+
ul#wpacu-debug-timing > li {
|
41 |
+
list-style: none;
|
42 |
+
padding-left: 20px;
|
43 |
+
}
|
44 |
+
|
45 |
+
ul#wpacu-debug-timing li > ul > li {
|
46 |
+
list-style: disc;
|
47 |
+
padding-left: 0;
|
48 |
+
}
|
49 |
+
|
50 |
+
tr.wpacu_plugin_row_debug_unload.wpacu_plugin_row_debug_unload_marked td {
|
51 |
+
background: #ffe1e1 !important;
|
52 |
+
}
|
53 |
+
|
54 |
+
/* The container */
|
55 |
+
.wpacu_plugin_unload_debug_container {
|
56 |
+
display: block;
|
57 |
+
position: relative;
|
58 |
+
cursor: pointer;
|
59 |
+
font-size: 22px;
|
60 |
+
-webkit-user-select: none;
|
61 |
+
-moz-user-select: none;
|
62 |
+
-ms-user-select: none;
|
63 |
+
user-select: none;
|
64 |
+
}
|
65 |
+
|
66 |
+
/* Hide the browser's default checkbox */
|
67 |
+
.wpacu_plugin_unload_debug_container input {
|
68 |
+
position: absolute;
|
69 |
+
opacity: 0;
|
70 |
+
cursor: pointer;
|
71 |
+
height: 0;
|
72 |
+
width: 0;
|
73 |
+
}
|
74 |
+
|
75 |
+
/* Create a custom checkbox */
|
76 |
+
.wpacu_plugin_unload_debug_checkbox_checkmark {
|
77 |
+
position: absolute;
|
78 |
+
top: 0;
|
79 |
+
left: 0;
|
80 |
+
height: 25px;
|
81 |
+
width: 25px;
|
82 |
+
background-color: #eee;
|
83 |
+
}
|
84 |
+
|
85 |
+
/* On mouse-over, add a grey background color */
|
86 |
+
.wpacu_plugin_unload_debug_container:hover input ~ .wpacu_plugin_unload_debug_checkbox_checkmark {
|
87 |
+
background-color: #ccc;
|
88 |
+
}
|
89 |
+
|
90 |
+
/* When the checkbox is checked, add a blue background */
|
91 |
+
.wpacu_plugin_unload_debug_container input:checked ~ .wpacu_plugin_unload_debug_checkbox_checkmark {
|
92 |
+
background-color: #cc0000;
|
93 |
+
}
|
94 |
+
|
95 |
+
/* Create the checkmark/indicator (hidden when not checked) */
|
96 |
+
.wpacu_plugin_unload_debug_container .wpacu_plugin_unload_debug_checkbox_checkmark:after {
|
97 |
+
content: "";
|
98 |
+
position: absolute;
|
99 |
+
display: none;
|
100 |
+
}
|
101 |
+
|
102 |
+
/* Show the checkmark when checked */
|
103 |
+
.wpacu_plugin_unload_debug_container input:checked ~ .wpacu_plugin_unload_debug_checkbox_checkmark:after {
|
104 |
+
display: block;
|
105 |
+
}
|
106 |
+
|
107 |
+
/* Style the checkmark/indicator */
|
108 |
+
.wpacu_plugin_unload_debug_container .wpacu_plugin_unload_debug_checkbox_checkmark:after {
|
109 |
+
left: 9px;
|
110 |
+
top: 5px;
|
111 |
+
width: 5px;
|
112 |
+
height: 10px;
|
113 |
+
border: solid white;
|
114 |
+
border-width: 0 3px 3px 0;
|
115 |
+
-webkit-transform: rotate(45deg);
|
116 |
+
-ms-transform: rotate(45deg);
|
117 |
+
transform: rotate(45deg);
|
118 |
+
}
|
119 |
+
|
120 |
+
/*
|
121 |
+
* [Dashboard]
|
122 |
+
*/
|
123 |
+
#wpacu-debug-admin-area {
|
124 |
+
line-height: 20px;
|
125 |
+
background: white;
|
126 |
+
padding: 15px 15px 30px;
|
127 |
+
bottom: 0;
|
128 |
+
z-index: 100000000;
|
129 |
+
width: 100%;
|
130 |
+
border-top: 1px solid #e7e7e7;
|
131 |
+
}
|
132 |
+
|
133 |
+
#wpacu-debug-plugins-unloaded .wpacu_plugin_icon > img {
|
134 |
+
-webkit-border-radius: 3px;
|
135 |
+
/* Chrome, Safari, Opera */
|
136 |
+
-moz-border-radius: 3px;
|
137 |
+
/* Firefox */
|
138 |
+
border-radius: 3px;
|
139 |
+
}
|
140 |
+
|
141 |
+
#wpacu-debug-plugins-unloaded .wpacu_plugin_icon > div {
|
142 |
+
background: #efefef;
|
143 |
+
border: #cdcdcd;
|
144 |
+
border-radius: 3px;
|
145 |
+
width: 20px;
|
146 |
+
height: 20px;
|
147 |
+
vertical-align: middle;
|
148 |
+
position: relative;
|
149 |
+
text-align: center;
|
150 |
+
}
|
151 |
+
|
152 |
+
#wpacu-debug-plugins-unloaded .wpacu_plugin_icon > div > span {
|
153 |
+
font-size: 20px;
|
154 |
+
color: #b3b3b3;
|
155 |
+
top: 50%;
|
156 |
+
vertical-align: middle;
|
157 |
+
left: 50%;
|
158 |
+
transform: translate(-50%, -50%);
|
159 |
+
width: 20px;
|
160 |
+
height: 20px;
|
161 |
+
position: absolute;
|
162 |
+
}
|
163 |
+
/*
|
164 |
+
* [/Dashboard]
|
165 |
+
*/
|
assets/wpacu-debug.js
ADDED
@@ -0,0 +1,39 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/* Dashboard */
|
2 |
+
function wpacuChangeDebugAdminArea()
|
3 |
+
{
|
4 |
+
var $adminMenuWrap = jQuery('#adminmenuwrap'),
|
5 |
+
$wpacuDebugAdminArea = jQuery('#wpacu-debug-admin-area');
|
6 |
+
|
7 |
+
if ($adminMenuWrap.length > 0 && $adminMenuWrap.is(':visible')) {
|
8 |
+
$wpacuDebugAdminArea.css('margin-left', $adminMenuWrap.width() + 'px');
|
9 |
+
} else {
|
10 |
+
$wpacuDebugAdminArea.css('margin-left', '0');
|
11 |
+
}
|
12 |
+
}
|
13 |
+
|
14 |
+
if (jQuery('body.wp-admin').length > 0) {
|
15 |
+
window.addEventListener('resize', function () {
|
16 |
+
wpacuChangeDebugAdminArea();
|
17 |
+
});
|
18 |
+
|
19 |
+
jQuery(document).ready(function ($) {
|
20 |
+
wpacuChangeDebugAdminArea();
|
21 |
+
});
|
22 |
+
}
|
23 |
+
|
24 |
+
/* Front-end */
|
25 |
+
jQuery(document).ready(function($) {
|
26 |
+
var wpacuCheckboxDebugInput = '.wpacu_plugin_unload_debug_checkbox';
|
27 |
+
|
28 |
+
if ($(wpacuCheckboxDebugInput).length < 1) {
|
29 |
+
return;
|
30 |
+
}
|
31 |
+
|
32 |
+
$(wpacuCheckboxDebugInput).change(function() {
|
33 |
+
if ($(this).prop('checked')) {
|
34 |
+
$(this).parents('tr.wpacu_plugin_row_debug_unload').addClass('wpacu_plugin_row_debug_unload_marked');
|
35 |
+
} else {
|
36 |
+
$(this).parents('tr.wpacu_plugin_row_debug_unload').removeClass('wpacu_plugin_row_debug_unload_marked');
|
37 |
+
}
|
38 |
+
});
|
39 |
+
});
|
classes/AssetsPagesManager.php
CHANGED
@@ -90,9 +90,15 @@ class AssetsPagesManager
|
|
90 |
$wpacuHomePageUpdate = Misc::getVar( 'post', 'wpacu_manage_home_page_assets', false );
|
91 |
|
92 |
if ( $wpacuHomePageUpdate ) {
|
93 |
-
check_admin_referer( $this->data['nonce_action'], $this->data['nonce_name'] );
|
94 |
-
|
95 |
$wpacuUpdate = new Update;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
96 |
$wpacuUpdate->updateFrontPage( $wpacuNoLoadAssets );
|
97 |
}
|
98 |
}
|
@@ -122,7 +128,14 @@ class AssetsPagesManager
|
|
122 |
|
123 |
// Could Be an Empty Array as Well so just is_array() is enough to use
|
124 |
if ( is_array( $wpacuNoLoadAssets ) && $wpacuSingularPageUpdate ) {
|
125 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
126 |
$postObj = get_post($postId);
|
127 |
|
128 |
if ($postId > 0) {
|
90 |
$wpacuHomePageUpdate = Misc::getVar( 'post', 'wpacu_manage_home_page_assets', false );
|
91 |
|
92 |
if ( $wpacuHomePageUpdate ) {
|
|
|
|
|
93 |
$wpacuUpdate = new Update;
|
94 |
+
|
95 |
+
if ( ! (isset($_REQUEST[$this->data['nonce_name']])
|
96 |
+
&& wp_verify_nonce($_REQUEST[$this->data['nonce_name']], $this->data['nonce_action'])) ) {
|
97 |
+
add_action('wpacu_admin_notices', array($wpacuUpdate, 'changesNotMadeInvalidNonce'));
|
98 |
+
return;
|
99 |
+
}
|
100 |
+
|
101 |
+
// All good with the nonce? Do the changes!
|
102 |
$wpacuUpdate->updateFrontPage( $wpacuNoLoadAssets );
|
103 |
}
|
104 |
}
|
128 |
|
129 |
// Could Be an Empty Array as Well so just is_array() is enough to use
|
130 |
if ( is_array( $wpacuNoLoadAssets ) && $wpacuSingularPageUpdate ) {
|
131 |
+
$wpacuUpdate = new Update;
|
132 |
+
|
133 |
+
if ( ! (isset($_REQUEST[$this->data['nonce_name']])
|
134 |
+
&& wp_verify_nonce($_REQUEST[$this->data['nonce_name']], $this->data['nonce_action'])) ) {
|
135 |
+
add_action('wpacu_admin_notices', array($wpacuUpdate, 'changesNotMadeInvalidNonce'));
|
136 |
+
return;
|
137 |
+
}
|
138 |
+
|
139 |
$postObj = get_post($postId);
|
140 |
|
141 |
if ($postId > 0) {
|
classes/CleanUp.php
CHANGED
@@ -25,7 +25,11 @@ class CleanUp
|
|
25 |
*/
|
26 |
public function doClean()
|
27 |
{
|
28 |
-
if (
|
|
|
|
|
|
|
|
|
29 |
return;
|
30 |
}
|
31 |
|
@@ -528,7 +532,7 @@ class CleanUp
|
|
528 |
*/
|
529 |
public function cleanUpHtmlOutputForAssetsCall()
|
530 |
{
|
531 |
-
if (
|
532 |
// No Admin Bar
|
533 |
add_filter('show_admin_bar', '__return_false', PHP_INT_MAX);
|
534 |
}
|
25 |
*/
|
26 |
public function doClean()
|
27 |
{
|
28 |
+
if ( ! method_exists( '\WpAssetCleanUp\Plugin', 'preventAnyFrontendOptimization' ) ) {
|
29 |
+
return; // something's funny as, for some reason, on very rare occasions, the class is not found, so don't continue
|
30 |
+
}
|
31 |
+
|
32 |
+
if ( (defined('WPACU_ALLOW_ONLY_UNLOAD_RULES') && WPACU_ALLOW_ONLY_UNLOAD_RULES) || Main::instance()->preventAssetsSettings() || Plugin::preventAnyFrontendOptimization() ) {
|
33 |
return;
|
34 |
}
|
35 |
|
532 |
*/
|
533 |
public function cleanUpHtmlOutputForAssetsCall()
|
534 |
{
|
535 |
+
if (isset($_GET['wpacu_clean_load'])) {
|
536 |
// No Admin Bar
|
537 |
add_filter('show_admin_bar', '__return_false', PHP_INT_MAX);
|
538 |
}
|
classes/Debug.php
CHANGED
@@ -14,7 +14,7 @@ class Debug
|
|
14 |
*/
|
15 |
public function __construct()
|
16 |
{
|
17 |
-
if (
|
18 |
add_action('wp_footer', array($this, 'showDebugOptions'), PHP_INT_MAX);
|
19 |
}
|
20 |
|
@@ -82,62 +82,19 @@ class Debug
|
|
82 |
$styleAttrType = Misc::getStyleTypeAttribute();
|
83 |
?>
|
84 |
<style <?php echo $styleAttrType; ?>>
|
85 |
-
|
86 |
-
background: white;
|
87 |
-
width: 90%;
|
88 |
-
margin: 10px;
|
89 |
-
border: 1px solid #cdcdcd;
|
90 |
-
border-radius: 5px;
|
91 |
-
padding: 12px;
|
92 |
-
}
|
93 |
-
|
94 |
-
#wpacu-debug-options p {
|
95 |
-
margin-bottom: 15px;
|
96 |
-
}
|
97 |
-
|
98 |
-
#wpacu-debug-options ul.wpacu-options {
|
99 |
-
list-style: none;
|
100 |
-
padding-left: 0;
|
101 |
-
margin-top: 0;
|
102 |
-
margin-left: 8px;
|
103 |
-
}
|
104 |
-
|
105 |
-
#wpacu-debug-options ul.wpacu-options li {
|
106 |
-
line-height: normal;
|
107 |
-
font-size: inherit;
|
108 |
-
}
|
109 |
-
|
110 |
-
#wpacu-debug-options ul.wpacu-options li label {
|
111 |
-
cursor: pointer;
|
112 |
-
font-size: inherit;
|
113 |
-
}
|
114 |
-
|
115 |
-
#wpacu-debug-options table td {
|
116 |
-
padding: 20px;
|
117 |
-
}
|
118 |
-
|
119 |
-
ul#wpacu-debug-timing {
|
120 |
-
margin-left: 0;
|
121 |
-
padding-left: 0;
|
122 |
-
}
|
123 |
-
|
124 |
-
ul#wpacu-debug-timing > li {
|
125 |
-
list-style: none;
|
126 |
-
padding-left: 20px;
|
127 |
-
}
|
128 |
-
|
129 |
-
ul#wpacu-debug-timing li > ul > li {
|
130 |
-
list-style: disc;
|
131 |
-
padding-left: 0;
|
132 |
-
}
|
133 |
</style>
|
134 |
|
|
|
|
|
|
|
|
|
135 |
<div id="wpacu-debug-options">
|
136 |
<table>
|
137 |
<tr>
|
138 |
-
<td
|
139 |
<p>View the page with the following options <strong>disabled</strong> (for debugging purposes):</p>
|
140 |
-
<form>
|
141 |
<ul class="wpacu-options">
|
142 |
<?php
|
143 |
foreach ($allDebugOptions as $debugKey => $debugText) {
|
@@ -145,7 +102,7 @@ class Debug
|
|
145 |
<li>
|
146 |
<label><input type="checkbox"
|
147 |
name="<?php echo $debugKey; ?>"
|
148 |
-
<?php if (array_key_exists($debugKey, $_GET)) { echo 'checked="checked"'; } ?> /> <?php echo $debugText; ?></label>
|
149 |
</li>
|
150 |
<?php
|
151 |
}
|
@@ -153,7 +110,7 @@ class Debug
|
|
153 |
</ul>
|
154 |
<div>
|
155 |
<input type="submit"
|
156 |
-
value="
|
157 |
</div>
|
158 |
<input type="hidden" name="wpacu_debug" value="on" />
|
159 |
</form>
|
@@ -197,6 +154,9 @@ class Debug
|
|
197 |
<li style="margin-bottom: 10px;">Dequeue any chosen styles (.css): <?php echo Misc::printTimingFor('filter_dequeue_styles', '{wpacu_filter_dequeue_styles_exec_time} ({wpacu_filter_dequeue_styles_exec_time_sec})'); ?></li>
|
198 |
<li style="margin-bottom: 20px;">Dequeue any chosen scripts (.js): <?php echo Misc::printTimingFor('filter_dequeue_scripts', '{wpacu_filter_dequeue_scripts_exec_time} ({wpacu_filter_dequeue_scripts_exec_time_sec})'); ?></li>
|
199 |
|
|
|
|
|
|
|
200 |
<li style="margin-bottom: 10px;">OptimizeCommon - HTML alteration via <em>wp_loaded</em>: {wpacu_alter_html_source_exec_time} ({wpacu_alter_html_source_exec_time_sec})
|
201 |
<ul id="wpacu-debug-timing">
|
202 |
<li style="margin-top: 10px; margin-bottom: 10px;"> OptimizeCSS: {wpacu_alter_html_source_for_optimize_css_exec_time} ({wpacu_alter_html_source_for_optimize_css_exec_time_sec})
|
@@ -222,8 +182,18 @@ class Debug
|
|
222 |
<li>Move any inline wih jQuery code after jQuery library: {wpacu_alter_html_source_move_inline_jquery_after_src_tag_exec_time}</li>
|
223 |
</ul>
|
224 |
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
225 |
</ul>
|
226 |
</li>
|
|
|
|
|
|
|
|
|
227 |
</ul>
|
228 |
</div>
|
229 |
</td>
|
14 |
*/
|
15 |
public function __construct()
|
16 |
{
|
17 |
+
if (isset($_GET['wpacu_debug'])) {
|
18 |
add_action('wp_footer', array($this, 'showDebugOptions'), PHP_INT_MAX);
|
19 |
}
|
20 |
|
82 |
$styleAttrType = Misc::getStyleTypeAttribute();
|
83 |
?>
|
84 |
<style <?php echo $styleAttrType; ?>>
|
85 |
+
<?php echo file_get_contents(WPACU_PLUGIN_DIR.'/assets/wpacu-debug.css'); ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
86 |
</style>
|
87 |
|
88 |
+
<script <?php echo Misc::getScriptTypeAttribute(); ?>>
|
89 |
+
<?php echo file_get_contents(WPACU_PLUGIN_DIR.'/assets/wpacu-debug.js'); ?>
|
90 |
+
</script>
|
91 |
+
|
92 |
<div id="wpacu-debug-options">
|
93 |
<table>
|
94 |
<tr>
|
95 |
+
<td style="vertical-align: top;">
|
96 |
<p>View the page with the following options <strong>disabled</strong> (for debugging purposes):</p>
|
97 |
+
<form method="post">
|
98 |
<ul class="wpacu-options">
|
99 |
<?php
|
100 |
foreach ($allDebugOptions as $debugKey => $debugText) {
|
102 |
<li>
|
103 |
<label><input type="checkbox"
|
104 |
name="<?php echo $debugKey; ?>"
|
105 |
+
<?php if ( ! empty($_GET) && array_key_exists($debugKey, $_GET) ) { echo 'checked="checked"'; } ?> /> <?php echo $debugText; ?></label>
|
106 |
</li>
|
107 |
<?php
|
108 |
}
|
110 |
</ul>
|
111 |
<div>
|
112 |
<input type="submit"
|
113 |
+
value="Preview this page with the changes made above" />
|
114 |
</div>
|
115 |
<input type="hidden" name="wpacu_debug" value="on" />
|
116 |
</form>
|
154 |
<li style="margin-bottom: 10px;">Dequeue any chosen styles (.css): <?php echo Misc::printTimingFor('filter_dequeue_styles', '{wpacu_filter_dequeue_styles_exec_time} ({wpacu_filter_dequeue_styles_exec_time_sec})'); ?></li>
|
155 |
<li style="margin-bottom: 20px;">Dequeue any chosen scripts (.js): <?php echo Misc::printTimingFor('filter_dequeue_scripts', '{wpacu_filter_dequeue_scripts_exec_time} ({wpacu_filter_dequeue_scripts_exec_time_sec})'); ?></li>
|
156 |
|
157 |
+
<li style="margin-bottom: 10px;">Prepare CSS files to optimize: {wpacu_prepare_optimize_files_css_exec_time} ({wpacu_prepare_optimize_files_css_exec_time_sec})</li>
|
158 |
+
<li style="margin-bottom: 20px;">Prepare JS files to optimize: {wpacu_prepare_optimize_files_js_exec_time} ({wpacu_prepare_optimize_files_js_exec_time_sec})</li>
|
159 |
+
|
160 |
<li style="margin-bottom: 10px;">OptimizeCommon - HTML alteration via <em>wp_loaded</em>: {wpacu_alter_html_source_exec_time} ({wpacu_alter_html_source_exec_time_sec})
|
161 |
<ul id="wpacu-debug-timing">
|
162 |
<li style="margin-top: 10px; margin-bottom: 10px;"> OptimizeCSS: {wpacu_alter_html_source_for_optimize_css_exec_time} ({wpacu_alter_html_source_for_optimize_css_exec_time_sec})
|
182 |
<li>Move any inline wih jQuery code after jQuery library: {wpacu_alter_html_source_move_inline_jquery_after_src_tag_exec_time}</li>
|
183 |
</ul>
|
184 |
</li>
|
185 |
+
<li>HTML CleanUp: {wpacu_alter_html_source_cleanup_exec_time}
|
186 |
+
<ul>
|
187 |
+
<li>Strip HTML Comments: {wpacu_alter_html_source_for_remove_html_comments_exec_time}</li>
|
188 |
+
<li>Remove Generator Meta Tags: {wpacu_alter_html_source_for_remove_meta_generators_exec_time}</li>
|
189 |
+
</ul>
|
190 |
+
</li>
|
191 |
</ul>
|
192 |
</li>
|
193 |
+
|
194 |
+
<li style="margin-bottom: 10px;">Output CSS & JS Management List: {wpacu_output_css_js_manager_exec_time} ({wpacu_output_css_js_manager_exec_time_sec})</li>
|
195 |
+
|
196 |
+
<!-- -->
|
197 |
</ul>
|
198 |
</div>
|
199 |
</td>
|
classes/Info.php
CHANGED
@@ -25,7 +25,7 @@ class Info
|
|
25 |
{
|
26 |
$data = array('for' => 'how-it-works');
|
27 |
|
28 |
-
if (
|
29 |
$data['for'] = sanitize_text_field($_GET['wpacu_for']);
|
30 |
}
|
31 |
|
25 |
{
|
26 |
$data = array('for' => 'how-it-works');
|
27 |
|
28 |
+
if (isset($_GET['wpacu_for'])) {
|
29 |
$data['for'] = sanitize_text_field($_GET['wpacu_for']);
|
30 |
}
|
31 |
|
classes/Main.php
CHANGED
@@ -299,7 +299,7 @@ class Main
|
|
299 |
// Fetch Assets AJAX Call? Make sure the output is as clean as possible (no plugins interfering with it)
|
300 |
// It can also be used for debugging purposes (via /?wpacu_clean_load) when you want to view all the CSS/JS
|
301 |
// that are loaded in the HTML source code before they are unloaded or altered in any way
|
302 |
-
if ( $this->isGetAssetsCall ||
|
303 |
$wpacuCleanUp = new CleanUp();
|
304 |
$wpacuCleanUp->cleanUpHtmlOutputForAssetsCall();
|
305 |
}
|
@@ -393,7 +393,7 @@ class Main
|
|
393 |
// Alter for debugging purposes; triggers before anything else
|
394 |
// e.g. you're working on a website and there is no Dashboard access and you want to determine the handle name
|
395 |
// if the handle name is not showing up, then the LINK stylesheet has been hardcoded (not enqueued the WordPress way)
|
396 |
-
if (
|
397 |
$styleTag = str_replace( '<link ', '<link data-wpacu-debug-style-handle=\'' . $tagHandle . '\' ', $styleTag );
|
398 |
}
|
399 |
|
@@ -405,10 +405,14 @@ class Main
|
|
405 |
}, PHP_INT_MAX, 2 ); // Trigger it later in case plugins such as "Ronneby Core" plugin alters it
|
406 |
|
407 |
add_filter( 'script_loader_tag', static function( $scriptTag, $tagHandle ) {
|
|
|
|
|
|
|
|
|
408 |
// Alter for debugging purposes; triggers before anything else
|
409 |
// e.g. you're working on a website and there is no Dashboard access and you want to determine the handle name
|
410 |
// if the handle name is not showing up, then the SCRIPT has been hardcoded (not enqueued the WordPress way)
|
411 |
-
if (
|
412 |
$scriptTag = str_replace( '<script ', '<script data-wpacu-debug-script-handle=\'' . $tagHandle . '\' ', $scriptTag );
|
413 |
}
|
414 |
|
@@ -818,7 +822,7 @@ SQL;
|
|
818 |
}
|
819 |
|
820 |
// e.g. for test/debug mode or AJAX calls (where all assets have to load)
|
821 |
-
if (
|
822 |
/* [wpacu_timing] */
|
823 |
Misc::scriptExecTimer( 'filter_dequeue_styles', 'end' ); /* [/wpacu_timing] */
|
824 |
return;
|
@@ -960,7 +964,7 @@ SQL;
|
|
960 |
*/
|
961 |
public function filterStylesSpecialCases()
|
962 |
{
|
963 |
-
if (
|
964 |
return;
|
965 |
}
|
966 |
|
@@ -1151,7 +1155,7 @@ SQL;
|
|
1151 |
}
|
1152 |
|
1153 |
// e.g. for test/debug mode or AJAX calls (where all assets have to load)
|
1154 |
-
if (
|
1155 |
/* [wpacu_timing] */
|
1156 |
Misc::scriptExecTimer( 'filter_dequeue_scripts', 'end' ); /* [/wpacu_timing] */
|
1157 |
return;
|
@@ -1777,7 +1781,7 @@ SQL;
|
|
1777 |
return;
|
1778 |
}
|
1779 |
|
1780 |
-
if ($isFrontEndEditView &&
|
1781 |
return;
|
1782 |
}
|
1783 |
|
@@ -2052,7 +2056,7 @@ SQL;
|
|
2052 |
}
|
2053 |
// [/wpacu_lite]
|
2054 |
|
2055 |
-
|
2056 |
$data['is_woo_shop_page'] = self::$vars['is_woo_shop_page'];
|
2057 |
|
2058 |
$data['is_bulk_unloadable'] = $data['bulk_unloaded_type'] = false;
|
@@ -2110,20 +2114,20 @@ SQL;
|
|
2110 |
$data['status'] = 6; // The following option from "Page Options" (within the CSS/JS manager of the targeted page) is set: "Do not load Asset CleanUp Pro on this page (this will disable any functionality of the plugin)"
|
2111 |
}
|
2112 |
|
2113 |
-
|
2114 |
-
|
2115 |
|
2116 |
-
|
2117 |
-
|
2118 |
-
|
2119 |
-
|
2120 |
|
2121 |
$data['post_id'] = ($type === 'front_page') ? 0 : $this->getCurrentPostId();
|
2122 |
}
|
2123 |
|
2124 |
ObjectCache::wpacu_cache_set('wpacu_settings_frontend_data', $data);
|
2125 |
$this->parseTemplate('settings-frontend', $data, true);
|
2126 |
-
} elseif ($isDashboardEditView && !
|
2127 |
// AJAX call (not the classic WP one) from the WP Dashboard
|
2128 |
// Send the altered value that has the initial position too
|
2129 |
|
@@ -2134,10 +2138,10 @@ SQL;
|
|
2134 |
|
2135 |
$data = $this->alterAssetObj($data);
|
2136 |
|
2137 |
-
|
2138 |
$list['scripts'] = $data['all']['scripts'];
|
2139 |
|
2140 |
-
if (
|
2141 |
echo '<!-- '."\n".print_r(Misc::filterList($list), true)."\n".' -->';
|
2142 |
}
|
2143 |
|
@@ -2149,7 +2153,7 @@ SQL;
|
|
2149 |
// and we need the non-minified version of the DOM (e.g. to determine the position of the elements)
|
2150 |
exit();
|
2151 |
});
|
2152 |
-
} elseif ($isDashboardEditView &&
|
2153 |
// AJAX call just for the hardcoded assets
|
2154 |
echo self::START_DEL_HARDCODED . '{wpacu_hardcoded_assets}' . self::END_DEL_HARDCODED; // Make the user aware of any hardcoded CSS/JS (if any)
|
2155 |
|
@@ -2360,6 +2364,8 @@ SQL;
|
|
2360 |
}
|
2361 |
}
|
2362 |
|
|
|
|
|
2363 |
$data['wpacu_type'] = $type;
|
2364 |
|
2365 |
// e.g. Load it on this page
|
@@ -2530,12 +2536,20 @@ SQL;
|
|
2530 |
return;
|
2531 |
}
|
2532 |
|
2533 |
-
|
2534 |
|
2535 |
-
|
2536 |
-
|
2537 |
-
|
2538 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2539 |
}
|
2540 |
|
2541 |
/**
|
@@ -2551,15 +2565,28 @@ SQL;
|
|
2551 |
return;
|
2552 |
}
|
2553 |
|
2554 |
-
|
|
|
|
|
2555 |
return;
|
2556 |
}
|
2557 |
?>
|
2558 |
<script type="text/javascript" >
|
2559 |
jQuery(document).ready(function($) {
|
2560 |
-
|
2561 |
'action': '<?php echo WPACU_PLUGIN_ID.'_fetch_active_plugins_icons'; ?>',
|
2562 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2563 |
console.log(response);
|
2564 |
});
|
2565 |
});
|
@@ -2852,8 +2879,8 @@ SQL;
|
|
2852 |
}
|
2853 |
}
|
2854 |
|
2855 |
-
if (is_file(
|
2856 |
-
$fileSize = filesize(
|
2857 |
|
2858 |
if ($format === 'raw') {
|
2859 |
return (int)$fileSize;
|
@@ -2907,7 +2934,7 @@ SQL;
|
|
2907 |
$srcAlt = str_replace('../', '', $srcAlt);
|
2908 |
}
|
2909 |
|
2910 |
-
$pathToFile =
|
2911 |
|
2912 |
if (strpos($pathToFile, '?ver') !== false) {
|
2913 |
list($pathToFile) = explode('?ver', $pathToFile);
|
@@ -3190,7 +3217,7 @@ SQL;
|
|
3190 |
|
3191 |
if (isset($template) && $template && defined('ABSPATH')) {
|
3192 |
$data['page_template_path'] = str_replace(
|
3193 |
-
|
3194 |
'',
|
3195 |
'/'.$template
|
3196 |
);
|
@@ -3323,7 +3350,7 @@ SQL;
|
|
3323 |
}
|
3324 |
|
3325 |
// The asset list is hidden via query string: /?wpacu_no_frontend_show
|
3326 |
-
if (
|
3327 |
return false;
|
3328 |
}
|
3329 |
|
@@ -3336,15 +3363,18 @@ SQL;
|
|
3336 |
if ($this->settings['frontend_show_exceptions']) {
|
3337 |
$frontendShowExceptions = trim( $this->settings['frontend_show_exceptions'] );
|
3338 |
|
|
|
|
|
|
|
3339 |
if ( strpos( $frontendShowExceptions, "\n" ) !== false ) {
|
3340 |
foreach ( explode( "\n", $frontendShowExceptions ) as $frontendShowException ) {
|
3341 |
$frontendShowException = trim($frontendShowException);
|
3342 |
|
3343 |
-
if ( strpos( $
|
3344 |
return false;
|
3345 |
}
|
3346 |
}
|
3347 |
-
} elseif ( strpos( $
|
3348 |
return false;
|
3349 |
}
|
3350 |
}
|
299 |
// Fetch Assets AJAX Call? Make sure the output is as clean as possible (no plugins interfering with it)
|
300 |
// It can also be used for debugging purposes (via /?wpacu_clean_load) when you want to view all the CSS/JS
|
301 |
// that are loaded in the HTML source code before they are unloaded or altered in any way
|
302 |
+
if ( $this->isGetAssetsCall || isset($_GET['wpacu_clean_load']) ) {
|
303 |
$wpacuCleanUp = new CleanUp();
|
304 |
$wpacuCleanUp->cleanUpHtmlOutputForAssetsCall();
|
305 |
}
|
393 |
// Alter for debugging purposes; triggers before anything else
|
394 |
// e.g. you're working on a website and there is no Dashboard access and you want to determine the handle name
|
395 |
// if the handle name is not showing up, then the LINK stylesheet has been hardcoded (not enqueued the WordPress way)
|
396 |
+
if ( isset($_GET['wpacu_show_handle_names']) ) {
|
397 |
$styleTag = str_replace( '<link ', '<link data-wpacu-debug-style-handle=\'' . $tagHandle . '\' ', $styleTag );
|
398 |
}
|
399 |
|
405 |
}, PHP_INT_MAX, 2 ); // Trigger it later in case plugins such as "Ronneby Core" plugin alters it
|
406 |
|
407 |
add_filter( 'script_loader_tag', static function( $scriptTag, $tagHandle ) {
|
408 |
+
if ( Plugin::preventAnyFrontendOptimization() ) {
|
409 |
+
return $scriptTag;
|
410 |
+
}
|
411 |
+
|
412 |
// Alter for debugging purposes; triggers before anything else
|
413 |
// e.g. you're working on a website and there is no Dashboard access and you want to determine the handle name
|
414 |
// if the handle name is not showing up, then the SCRIPT has been hardcoded (not enqueued the WordPress way)
|
415 |
+
if ( isset($_GET['wpacu_show_handle_names']) ) {
|
416 |
$scriptTag = str_replace( '<script ', '<script data-wpacu-debug-script-handle=\'' . $tagHandle . '\' ', $scriptTag );
|
417 |
}
|
418 |
|
822 |
}
|
823 |
|
824 |
// e.g. for test/debug mode or AJAX calls (where all assets have to load)
|
825 |
+
if ( isset($_REQUEST['wpacu_no_css_unload']) ) {
|
826 |
/* [wpacu_timing] */
|
827 |
Misc::scriptExecTimer( 'filter_dequeue_styles', 'end' ); /* [/wpacu_timing] */
|
828 |
return;
|
964 |
*/
|
965 |
public function filterStylesSpecialCases()
|
966 |
{
|
967 |
+
if ( isset($_REQUEST['wpacu_no_css_unload']) ) {
|
968 |
return;
|
969 |
}
|
970 |
|
1155 |
}
|
1156 |
|
1157 |
// e.g. for test/debug mode or AJAX calls (where all assets have to load)
|
1158 |
+
if ( isset($_REQUEST['wpacu_no_js_unload']) || $this->preventAssetsSettings() ) {
|
1159 |
/* [wpacu_timing] */
|
1160 |
Misc::scriptExecTimer( 'filter_dequeue_scripts', 'end' ); /* [/wpacu_timing] */
|
1161 |
return;
|
1781 |
return;
|
1782 |
}
|
1783 |
|
1784 |
+
if ($isFrontEndEditView && isset($_GET['elementor-preview']) && $_GET['elementor-preview']) {
|
1785 |
return;
|
1786 |
}
|
1787 |
|
2056 |
}
|
2057 |
// [/wpacu_lite]
|
2058 |
|
2059 |
+
// WooCommerce Shop Page?
|
2060 |
$data['is_woo_shop_page'] = self::$vars['is_woo_shop_page'];
|
2061 |
|
2062 |
$data['is_bulk_unloadable'] = $data['bulk_unloaded_type'] = false;
|
2114 |
$data['status'] = 6; // The following option from "Page Options" (within the CSS/JS manager of the targeted page) is set: "Do not load Asset CleanUp Pro on this page (this will disable any functionality of the plugin)"
|
2115 |
}
|
2116 |
|
2117 |
+
$data['page_options'] = array();
|
2118 |
+
$data['show_page_options'] = false;
|
2119 |
|
2120 |
+
if (in_array($type, array('post', 'front_page'))) {
|
2121 |
+
$data['show_page_options'] = true;
|
2122 |
+
$data['page_options'] = MetaBoxes::getPageOptions($this->getCurrentPostId(), $type);
|
2123 |
+
}
|
2124 |
|
2125 |
$data['post_id'] = ($type === 'front_page') ? 0 : $this->getCurrentPostId();
|
2126 |
}
|
2127 |
|
2128 |
ObjectCache::wpacu_cache_set('wpacu_settings_frontend_data', $data);
|
2129 |
$this->parseTemplate('settings-frontend', $data, true);
|
2130 |
+
} elseif ($isDashboardEditView && ! isset($_GET['wpacu_just_hardcoded'])) {
|
2131 |
// AJAX call (not the classic WP one) from the WP Dashboard
|
2132 |
// Send the altered value that has the initial position too
|
2133 |
|
2138 |
|
2139 |
$data = $this->alterAssetObj($data);
|
2140 |
|
2141 |
+
$list['styles'] = $data['all']['styles'];
|
2142 |
$list['scripts'] = $data['all']['scripts'];
|
2143 |
|
2144 |
+
if ( isset($_GET['wpacu_print']) ) {
|
2145 |
echo '<!-- '."\n".print_r(Misc::filterList($list), true)."\n".' -->';
|
2146 |
}
|
2147 |
|
2153 |
// and we need the non-minified version of the DOM (e.g. to determine the position of the elements)
|
2154 |
exit();
|
2155 |
});
|
2156 |
+
} elseif ($isDashboardEditView && isset($_GET['wpacu_just_hardcoded'])) {
|
2157 |
// AJAX call just for the hardcoded assets
|
2158 |
echo self::START_DEL_HARDCODED . '{wpacu_hardcoded_assets}' . self::END_DEL_HARDCODED; // Make the user aware of any hardcoded CSS/JS (if any)
|
2159 |
|
2364 |
}
|
2365 |
}
|
2366 |
|
2367 |
+
$data = $this->alterAssetObj($data);
|
2368 |
+
|
2369 |
$data['wpacu_type'] = $type;
|
2370 |
|
2371 |
// e.g. Load it on this page
|
2536 |
return;
|
2537 |
}
|
2538 |
|
2539 |
+
echo 'POST DATA: '.print_r($_POST, true)."\n\n";
|
2540 |
|
2541 |
+
$forcePluginIconsDownload = isset($_POST['wpacu_force_fetch']) ? ($_POST['wpacu_force_fetch'] === 'true') : false;
|
2542 |
+
|
2543 |
+
if ($forcePluginIconsDownload) {
|
2544 |
+
echo '- Forcing re-download from WordPress.org'."\n\n";
|
2545 |
+
}
|
2546 |
+
|
2547 |
+
$activePluginsIcons = Misc::fetchActiveFreePluginsIcons(false, $forcePluginIconsDownload) ?: array();
|
2548 |
+
|
2549 |
+
if ($activePluginsIcons && is_array($activePluginsIcons) && ! empty($activePluginsIcons)) {
|
2550 |
+
echo print_r($activePluginsIcons, true)."\n";
|
2551 |
+
exit;
|
2552 |
+
}
|
2553 |
}
|
2554 |
|
2555 |
/**
|
2565 |
return;
|
2566 |
}
|
2567 |
|
2568 |
+
$forcePluginIconsDownload = isset($_GET['wpacu_force_plugin_icons_fetch']);
|
2569 |
+
|
2570 |
+
if (! $forcePluginIconsDownload && get_transient('wpacu_active_plugins_icons')) {
|
2571 |
return;
|
2572 |
}
|
2573 |
?>
|
2574 |
<script type="text/javascript" >
|
2575 |
jQuery(document).ready(function($) {
|
2576 |
+
var wpacuDataToSend = {
|
2577 |
'action': '<?php echo WPACU_PLUGIN_ID.'_fetch_active_plugins_icons'; ?>',
|
2578 |
+
'wpacu_force_fetch': false // default (does not re-download the icons from WordPress.org)
|
2579 |
+
};
|
2580 |
+
|
2581 |
+
<?php
|
2582 |
+
if ($forcePluginIconsDownload) {
|
2583 |
+
?>
|
2584 |
+
wpacuDataToSend['wpacu_force_fetch'] = true;
|
2585 |
+
<?php
|
2586 |
+
}
|
2587 |
+
?>
|
2588 |
+
|
2589 |
+
jQuery.post(ajaxurl, wpacuDataToSend, function(response) {
|
2590 |
console.log(response);
|
2591 |
});
|
2592 |
});
|
2879 |
}
|
2880 |
}
|
2881 |
|
2882 |
+
if (is_file(Misc::getWpRootDirPath() . $srcMaybeRelPath)) {
|
2883 |
+
$fileSize = filesize(Misc::getWpRootDirPath() . $srcMaybeRelPath);
|
2884 |
|
2885 |
if ($format === 'raw') {
|
2886 |
return (int)$fileSize;
|
2934 |
$srcAlt = str_replace('../', '', $srcAlt);
|
2935 |
}
|
2936 |
|
2937 |
+
$pathToFile = Misc::getWpRootDirPath() . $srcAlt;
|
2938 |
|
2939 |
if (strpos($pathToFile, '?ver') !== false) {
|
2940 |
list($pathToFile) = explode('?ver', $pathToFile);
|
3217 |
|
3218 |
if (isset($template) && $template && defined('ABSPATH')) {
|
3219 |
$data['page_template_path'] = str_replace(
|
3220 |
+
Misc::getWpRootDirPath(),
|
3221 |
'',
|
3222 |
'/'.$template
|
3223 |
);
|
3350 |
}
|
3351 |
|
3352 |
// The asset list is hidden via query string: /?wpacu_no_frontend_show
|
3353 |
+
if (isset($_REQUEST['wpacu_no_frontend_show'])) {
|
3354 |
return false;
|
3355 |
}
|
3356 |
|
3363 |
if ($this->settings['frontend_show_exceptions']) {
|
3364 |
$frontendShowExceptions = trim( $this->settings['frontend_show_exceptions'] );
|
3365 |
|
3366 |
+
// We want to make sure the RegEx rules will be working fine if certain characters (e.g. Thai ones) are used
|
3367 |
+
$requestUriAsItIs = rawurldecode($_SERVER['REQUEST_URI']);
|
3368 |
+
|
3369 |
if ( strpos( $frontendShowExceptions, "\n" ) !== false ) {
|
3370 |
foreach ( explode( "\n", $frontendShowExceptions ) as $frontendShowException ) {
|
3371 |
$frontendShowException = trim($frontendShowException);
|
3372 |
|
3373 |
+
if ( strpos( $requestUriAsItIs, $frontendShowException ) !== false ) {
|
3374 |
return false;
|
3375 |
}
|
3376 |
}
|
3377 |
+
} elseif ( strpos( $requestUriAsItIs, $frontendShowExceptions ) !== false ) {
|
3378 |
return false;
|
3379 |
}
|
3380 |
}
|
classes/Menu.php
CHANGED
@@ -224,6 +224,15 @@ class Menu
|
|
224 |
return $actions;
|
225 |
}
|
226 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
227 |
// Build your links URL.
|
228 |
$url = admin_url( 'admin.php?page=wpassetcleanup_assets_manager' );
|
229 |
|
224 |
return $actions;
|
225 |
}
|
226 |
|
227 |
+
if ( ! in_array(get_post_status($post), array('publish', 'private')) ) {
|
228 |
+
return $actions;
|
229 |
+
}
|
230 |
+
|
231 |
+
// Do not show the management link to specific post types that are marked as "public", but not relevant such as "ct_template" from Oxygen Builder
|
232 |
+
if (in_array($post->post_type, array('ct_template', 'oxy_user_library'))) {
|
233 |
+
return $actions;
|
234 |
+
}
|
235 |
+
|
236 |
// Build your links URL.
|
237 |
$url = admin_url( 'admin.php?page=wpassetcleanup_assets_manager' );
|
238 |
|
classes/Misc.php
CHANGED
@@ -14,18 +14,18 @@ class Misc
|
|
14 |
* @var array
|
15 |
*/
|
16 |
public static $potentialCachePlugins = array(
|
17 |
-
'wp-rocket/wp-rocket.php', // WP Rocket
|
18 |
-
'wp-super-cache/wp-cache.php', // WP Super Cache
|
19 |
-
'w3-total-cache/w3-total-cache.php', // W3 Total Cache
|
20 |
-
'wp-fastest-cache/wpFastestCache.php', // WP Fastest Cache
|
21 |
-
'swift-performance-lite/performance.php', // Swift Performance Lite
|
22 |
'breeze/breeze.php', // Breeze – WordPress Cache Plugin
|
23 |
-
'comet-cache/comet-cache.php', // Comet Cache
|
24 |
'cache-enabler/cache-enabler.php', // Cache Enabler
|
25 |
-
'hyper-cache/plugin.php', // Hyper Cache
|
26 |
'cachify/cachify.php', // Cachify
|
|
|
|
|
|
|
27 |
'simple-cache/simple-cache.php', // Simple Cache
|
28 |
-
'
|
|
|
|
|
|
|
|
|
29 |
);
|
30 |
|
31 |
/**
|
@@ -44,7 +44,7 @@ class Misc
|
|
44 |
public function getActiveCachePlugins()
|
45 |
{
|
46 |
if (empty($this->activeCachePlugins)) {
|
47 |
-
$activePlugins =
|
48 |
|
49 |
foreach ( self::$potentialCachePlugins as $cachePlugin ) {
|
50 |
if ( in_array( $cachePlugin, $activePlugins ) ) {
|
@@ -103,19 +103,17 @@ class Misc
|
|
103 |
*/
|
104 |
public static function isHttpsSecure()
|
105 |
{
|
106 |
-
$
|
|
|
|
|
107 |
|
108 |
-
if (
|
109 |
-
|
110 |
-
} elseif (
|
111 |
-
( ! empty($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https' )
|
112 |
-
|| ( ! empty($_SERVER['HTTP_X_FORWARDED_SSL']) && $_SERVER['HTTP_X_FORWARDED_SSL'] === 'on' )
|
113 |
-
) {
|
114 |
// Is it behind a load balancer?
|
115 |
-
|
116 |
}
|
117 |
|
118 |
-
return
|
119 |
}
|
120 |
|
121 |
/**
|
@@ -434,7 +432,7 @@ class Misc
|
|
434 |
if (strpos($src, $path) !== false) {
|
435 |
list ($baseUrl, $relSrc) = explode($path, $src);
|
436 |
|
437 |
-
$localPathToFile =
|
438 |
|
439 |
if (is_file($localPathToFile)) {
|
440 |
return array('base_url' => $baseUrl, 'rel_src' => $path . $relSrc, 'file_exists' => 1);
|
@@ -475,7 +473,7 @@ class Misc
|
|
475 |
$relSrc = $src;
|
476 |
|
477 |
if ($localAssetPath) {
|
478 |
-
$relSrc = str_replace(
|
479 |
}
|
480 |
|
481 |
$relSrc = str_replace(site_url(), '', $relSrc);
|
@@ -516,7 +514,23 @@ class Misc
|
|
516 |
*/
|
517 |
public static function isPluginActive($plugin)
|
518 |
{
|
519 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
520 |
}
|
521 |
|
522 |
/**
|
@@ -598,13 +612,21 @@ class Misc
|
|
598 |
|
599 |
return <<<HTML
|
600 |
<script id="wpacu-preload-async-css-fallback">
|
601 |
-
|
602 |
-
|
603 |
-
|
604 |
-
|
605 |
-
|
606 |
-
|
607 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
608 |
</script>
|
609 |
HTML;
|
610 |
}
|
@@ -896,7 +918,7 @@ SQL;
|
|
896 |
public static function getPluginsDir($get = 'rel_path')
|
897 |
{
|
898 |
$return = '';
|
899 |
-
$relPath = trim( str_replace(
|
900 |
|
901 |
if ($get === 'rel_path') {
|
902 |
$return = $relPath;
|
@@ -941,7 +963,7 @@ SQL;
|
|
941 |
if (isset($matches[1][0]) && $matches[1][0]) {
|
942 |
$pluginDirName = $matches[1][0];
|
943 |
|
944 |
-
$activePlugins =
|
945 |
$activePluginsStr = implode(',', $activePlugins);
|
946 |
|
947 |
if (strpos($activePluginsStr, $pluginDirName.'/') === false) {
|
@@ -974,7 +996,7 @@ SQL;
|
|
974 |
if (strpos($relSrc, '/') !== false) {
|
975 |
list ( $pluginDirName, ) = explode( '/', $relSrc );
|
976 |
|
977 |
-
$activePlugins =
|
978 |
$activePluginsStr = implode(',', $activePlugins);
|
979 |
|
980 |
if (strpos($activePluginsStr, $pluginDirName.'/') === false) {
|
@@ -986,29 +1008,58 @@ SQL;
|
|
986 |
return false;
|
987 |
}
|
988 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
989 |
/**
|
990 |
* @param bool $onlyTransient
|
|
|
991 |
*
|
992 |
* @return array|bool|mixed|object
|
993 |
*/
|
994 |
-
public static function fetchActiveFreePluginsIcons($onlyTransient = false)
|
995 |
{
|
996 |
-
$
|
|
|
|
|
997 |
|
998 |
-
|
999 |
-
|
1000 |
-
|
1001 |
|
1002 |
-
|
1003 |
-
|
1004 |
-
|
1005 |
|
1006 |
-
|
1007 |
-
|
1008 |
-
|
|
|
1009 |
}
|
1010 |
|
1011 |
-
$allActivePlugins =
|
1012 |
|
1013 |
if (empty($allActivePlugins)) {
|
1014 |
return array();
|
@@ -1090,7 +1141,9 @@ SQL;
|
|
1090 |
return array();
|
1091 |
}
|
1092 |
|
1093 |
-
|
|
|
|
|
1094 |
|
1095 |
return $activePluginsIcons;
|
1096 |
}
|
@@ -1115,7 +1168,11 @@ SQL;
|
|
1115 |
|
1116 |
$allActivePluginsIcons = self::fetchActiveFreePluginsIcons(true) ?: array();
|
1117 |
|
1118 |
-
|
|
|
|
|
|
|
|
|
1119 |
if (strpos($activePlugin, '/') !== false) {
|
1120 |
list ($pluginSlug) = explode('/', $activePlugin);
|
1121 |
|
@@ -1299,6 +1356,30 @@ SQL;
|
|
1299 |
return $output;
|
1300 |
}
|
1301 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1302 |
/**
|
1303 |
* @param array $targetDirs
|
1304 |
* @param string $filterExt
|
@@ -1469,7 +1550,7 @@ SQL;
|
|
1469 |
*/
|
1470 |
public static function scriptExecTimer($name, $action = 'start')
|
1471 |
{
|
1472 |
-
if (!
|
1473 |
return ''; // only trigger it in debugging mode
|
1474 |
}
|
1475 |
|
14 |
* @var array
|
15 |
*/
|
16 |
public static $potentialCachePlugins = array(
|
|
|
|
|
|
|
|
|
|
|
17 |
'breeze/breeze.php', // Breeze – WordPress Cache Plugin
|
|
|
18 |
'cache-enabler/cache-enabler.php', // Cache Enabler
|
|
|
19 |
'cachify/cachify.php', // Cachify
|
20 |
+
'comet-cache/comet-cache.php', // Comet Cache
|
21 |
+
'hyper-cache/plugin.php', // Hyper Cache
|
22 |
+
'litespeed-cache/litespeed-cache.php', // LiteSpeed Cache
|
23 |
'simple-cache/simple-cache.php', // Simple Cache
|
24 |
+
'swift-performance-lite/performance.php', // Swift Performance Lite
|
25 |
+
'w3-total-cache/w3-total-cache.php', // W3 Total Cache
|
26 |
+
'wp-fastest-cache/wpFastestCache.php', // WP Fastest Cache
|
27 |
+
'wp-rocket/wp-rocket.php', // WP Rocket
|
28 |
+
'wp-super-cache/wp-cache.php' // WP Super Cache
|
29 |
);
|
30 |
|
31 |
/**
|
44 |
public function getActiveCachePlugins()
|
45 |
{
|
46 |
if (empty($this->activeCachePlugins)) {
|
47 |
+
$activePlugins = self::getActivePlugins();
|
48 |
|
49 |
foreach ( self::$potentialCachePlugins as $cachePlugin ) {
|
50 |
if ( in_array( $cachePlugin, $activePlugins ) ) {
|
103 |
*/
|
104 |
public static function isHttpsSecure()
|
105 |
{
|
106 |
+
if ( isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ) {
|
107 |
+
return true;
|
108 |
+
}
|
109 |
|
110 |
+
if ( ( ! empty($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https' )
|
111 |
+
|| ( ! empty($_SERVER['HTTP_X_FORWARDED_SSL']) && $_SERVER['HTTP_X_FORWARDED_SSL'] === 'on' ) ) {
|
|
|
|
|
|
|
|
|
112 |
// Is it behind a load balancer?
|
113 |
+
return true;
|
114 |
}
|
115 |
|
116 |
+
return false;
|
117 |
}
|
118 |
|
119 |
/**
|
432 |
if (strpos($src, $path) !== false) {
|
433 |
list ($baseUrl, $relSrc) = explode($path, $src);
|
434 |
|
435 |
+
$localPathToFile = self::getWpRootDirPath() . $path . $relSrc;
|
436 |
|
437 |
if (is_file($localPathToFile)) {
|
438 |
return array('base_url' => $baseUrl, 'rel_src' => $path . $relSrc, 'file_exists' => 1);
|
473 |
$relSrc = $src;
|
474 |
|
475 |
if ($localAssetPath) {
|
476 |
+
$relSrc = str_replace(self::getWpRootDirPath(), '', $relSrc);
|
477 |
}
|
478 |
|
479 |
$relSrc = str_replace(site_url(), '', $relSrc);
|
514 |
*/
|
515 |
public static function isPluginActive($plugin)
|
516 |
{
|
517 |
+
// Site level check
|
518 |
+
if (in_array( $plugin, (array) get_option( 'active_plugins', array() ), true )) {
|
519 |
+
return true;
|
520 |
+
}
|
521 |
+
|
522 |
+
// Multisite check
|
523 |
+
if ( ! is_multisite() ) {
|
524 |
+
return false;
|
525 |
+
}
|
526 |
+
|
527 |
+
$plugins = get_site_option( 'active_sitewide_plugins' );
|
528 |
+
|
529 |
+
if ( isset( $plugins[ $plugin ] ) ) {
|
530 |
+
return true;
|
531 |
+
}
|
532 |
+
|
533 |
+
return false;
|
534 |
}
|
535 |
|
536 |
/**
|
612 |
|
613 |
return <<<HTML
|
614 |
<script id="wpacu-preload-async-css-fallback">
|
615 |
+
/*! LoadCSS. [c]2020 Filament Group, Inc. MIT License */
|
616 |
+
/* This file is meant as a standalone workflow for
|
617 |
+
- testing support for link[rel=preload]
|
618 |
+
- enabling async CSS loading in browsers that do not support rel=preload
|
619 |
+
- applying rel preload css once loaded, whether supported or not.
|
620 |
+
*/
|
621 |
+
(function(w){"use strict";var wpacuLoadCSS=function(href,before,media,attributes){var doc=w.document;var ss=doc.createElement('link');var ref;if(before){ref=before}else{var refs=(doc.body||doc.getElementsByTagName('head')[0]).childNodes;ref=refs[refs.length-1]}
|
622 |
+
var sheets=doc.styleSheets;if(attributes){for(var attributeName in attributes){if(attributes.hasOwnProperty(attributeName)){ss.setAttribute(attributeName,attributes[attributeName])}}}
|
623 |
+
ss.rel="stylesheet";ss.href=href;ss.media="only x";function ready(cb){if(doc.body){return cb()}
|
624 |
+
setTimeout(function(){ready(cb)})}
|
625 |
+
ready(function(){ref.parentNode.insertBefore(ss,(before?ref:ref.nextSibling))});var onwpaculoadcssdefined=function(cb){var resolvedHref=ss.href;var i=sheets.length;while(i--){if(sheets[i].href===resolvedHref){return cb()}}
|
626 |
+
setTimeout(function(){onwpaculoadcssdefined(cb)})};function loadCB(){if(ss.addEventListener){ss.removeEventListener("load",loadCB)}
|
627 |
+
ss.media=media||"all"}
|
628 |
+
if(ss.addEventListener){ss.addEventListener("load",loadCB)}
|
629 |
+
ss.onwpaculoadcssdefined=onwpaculoadcssdefined;onwpaculoadcssdefined(loadCB);return ss};if(typeof exports!=="undefined"){exports.wpacuLoadCSS=wpacuLoadCSS}else{w.wpacuLoadCSS=wpacuLoadCSS}}(typeof global!=="undefined"?global:this))
|
630 |
</script>
|
631 |
HTML;
|
632 |
}
|
918 |
public static function getPluginsDir($get = 'rel_path')
|
919 |
{
|
920 |
$return = '';
|
921 |
+
$relPath = trim( str_replace( self::getWpRootDirPath(), '', WP_PLUGIN_DIR ), '/' );
|
922 |
|
923 |
if ($get === 'rel_path') {
|
924 |
$return = $relPath;
|
963 |
if (isset($matches[1][0]) && $matches[1][0]) {
|
964 |
$pluginDirName = $matches[1][0];
|
965 |
|
966 |
+
$activePlugins = self::getActivePlugins();
|
967 |
$activePluginsStr = implode(',', $activePlugins);
|
968 |
|
969 |
if (strpos($activePluginsStr, $pluginDirName.'/') === false) {
|
996 |
if (strpos($relSrc, '/') !== false) {
|
997 |
list ( $pluginDirName, ) = explode( '/', $relSrc );
|
998 |
|
999 |
+
$activePlugins = self::getActivePlugins();
|
1000 |
$activePluginsStr = implode(',', $activePlugins);
|
1001 |
|
1002 |
if (strpos($activePluginsStr, $pluginDirName.'/') === false) {
|
1008 |
return false;
|
1009 |
}
|
1010 |
|
1011 |
+
/**
|
1012 |
+
* @return array
|
1013 |
+
*/
|
1014 |
+
public static function getActivePlugins($type = 'all')
|
1015 |
+
{
|
1016 |
+
$wpacuActivePlugins = array();
|
1017 |
+
|
1018 |
+
if (in_array($type, array('site', 'all'))) {
|
1019 |
+
$wpacuActivePlugins = (array) get_option( 'active_plugins', array() );
|
1020 |
+
}
|
1021 |
+
|
1022 |
+
// In case we're dealing with a MultiSite setup
|
1023 |
+
if (in_array($type, array('network', 'all')) && is_multisite()) {
|
1024 |
+
$wpacuActiveSiteWidePlugins = (array)get_site_option('active_sitewide_plugins', array());
|
1025 |
+
|
1026 |
+
if ( ! empty($wpacuActiveSiteWidePlugins) ) {
|
1027 |
+
foreach (array_keys($wpacuActiveSiteWidePlugins) as $activeSiteWidePlugin) {
|
1028 |
+
$wpacuActivePlugins[] = $activeSiteWidePlugin;
|
1029 |
+
}
|
1030 |
+
}
|
1031 |
+
}
|
1032 |
+
|
1033 |
+
return array_unique($wpacuActivePlugins);
|
1034 |
+
}
|
1035 |
+
|
1036 |
/**
|
1037 |
* @param bool $onlyTransient
|
1038 |
+
* @param bool $forceDownload
|
1039 |
*
|
1040 |
* @return array|bool|mixed|object
|
1041 |
*/
|
1042 |
+
public static function fetchActiveFreePluginsIcons($onlyTransient = false, $forceDownload = false)
|
1043 |
{
|
1044 |
+
// Check the transient if $forceDownload is set to false (default)
|
1045 |
+
if ( ! $forceDownload ) {
|
1046 |
+
$activePluginsIconsJson = get_transient( 'wpacu_active_plugins_icons' );
|
1047 |
|
1048 |
+
if ( $activePluginsIconsJson ) {
|
1049 |
+
$activePluginsIcons = @json_decode( $activePluginsIconsJson, ARRAY_A );
|
1050 |
+
}
|
1051 |
|
1052 |
+
if ( ! empty( $activePluginsIcons ) && is_array( $activePluginsIcons ) ) {
|
1053 |
+
return $activePluginsIcons;
|
1054 |
+
}
|
1055 |
|
1056 |
+
// Do not fetch the icons from the WordPress.org repository if only transient was required
|
1057 |
+
if ( $onlyTransient ) {
|
1058 |
+
return array();
|
1059 |
+
}
|
1060 |
}
|
1061 |
|
1062 |
+
$allActivePlugins = self::getActivePlugins();
|
1063 |
|
1064 |
if (empty($allActivePlugins)) {
|
1065 |
return array();
|
1141 |
return array();
|
1142 |
}
|
1143 |
|
1144 |
+
$expiresInSeconds = 604800; // one week
|
1145 |
+
|
1146 |
+
set_transient('wpacu_active_plugins_icons', json_encode($activePluginsIcons), $expiresInSeconds);
|
1147 |
|
1148 |
return $activePluginsIcons;
|
1149 |
}
|
1168 |
|
1169 |
$allActivePluginsIcons = self::fetchActiveFreePluginsIcons(true) ?: array();
|
1170 |
|
1171 |
+
if ( ! is_array($allActivePluginsIcons) ) {
|
1172 |
+
$allActivePluginsIcons = array();
|
1173 |
+
}
|
1174 |
+
|
1175 |
+
foreach (self::getActivePlugins() as $activePlugin) {
|
1176 |
if (strpos($activePlugin, '/') !== false) {
|
1177 |
list ($pluginSlug) = explode('/', $activePlugin);
|
1178 |
|
1356 |
return $output;
|
1357 |
}
|
1358 |
|
1359 |
+
/**
|
1360 |
+
* @return string
|
1361 |
+
*/
|
1362 |
+
public static function getWpRootDirPath()
|
1363 |
+
{
|
1364 |
+
if (isset($GLOBALS['wpacu_wp_root_dir_path']) && $GLOBALS['wpacu_wp_root_dir_path']) {
|
1365 |
+
return $GLOBALS['wpacu_wp_root_dir_path'];
|
1366 |
+
}
|
1367 |
+
|
1368 |
+
$possibleWpConfigFile = dirname(WP_CONTENT_DIR).'/wp-config.php';
|
1369 |
+
$possibleIndexFile = dirname(WP_CONTENT_DIR).'/index.php';
|
1370 |
+
|
1371 |
+
// This is good for hosting accounts under FlyWheel which have a different way of loading WordPress
|
1372 |
+
// and we can't rely on ABSPATH; On most hosting accounts, the condition below would be a match and would work well
|
1373 |
+
if (is_file($possibleWpConfigFile) && is_file($possibleIndexFile)) {
|
1374 |
+
$GLOBALS['wpacu_wp_root_dir_path'] = dirname(WP_CONTENT_DIR).'/';
|
1375 |
+
return $GLOBALS['wpacu_wp_root_dir_path'];
|
1376 |
+
}
|
1377 |
+
|
1378 |
+
// Default to the old ABSPATH
|
1379 |
+
$GLOBALS['wpacu_wp_root_dir_path'] = ABSPATH.'/';
|
1380 |
+
return $GLOBALS['wpacu_wp_root_dir_path'];
|
1381 |
+
}
|
1382 |
+
|
1383 |
/**
|
1384 |
* @param array $targetDirs
|
1385 |
* @param string $filterExt
|
1550 |
*/
|
1551 |
public static function scriptExecTimer($name, $action = 'start')
|
1552 |
{
|
1553 |
+
if (! isset($_GET['wpacu_debug'])) {
|
1554 |
return ''; // only trigger it in debugging mode
|
1555 |
}
|
1556 |
|
classes/OptimiseAssets/CombineCss.php
CHANGED
@@ -446,7 +446,7 @@ HTML;
|
|
446 |
$cssContent = OptimizeCommon::stripSourceMap($cssContent, 'css');
|
447 |
}
|
448 |
|
449 |
-
$finalCombinedCssContent .= '/*!'.str_replace(
|
450 |
$finalCombinedCssContent .= OptimizeCss::maybeFixCssContent($cssContent, $pathToAssetDir . '/') . "\n";
|
451 |
|
452 |
$finalCombinedCssContent = self::appendToCombineCss($localAssetsExtra, $assetHref, $pathToAssetDir, $finalCombinedCssContent);
|
@@ -557,7 +557,7 @@ HTML;
|
|
557 |
public static function proceedWithCssCombine()
|
558 |
{
|
559 |
// Not on query string request (debugging purposes)
|
560 |
-
if (array_key_exists('wpacu_no_css_combine', $
|
561 |
return false;
|
562 |
}
|
563 |
|
446 |
$cssContent = OptimizeCommon::stripSourceMap($cssContent, 'css');
|
447 |
}
|
448 |
|
449 |
+
$finalCombinedCssContent .= '/*!'.str_replace(Misc::getWpRootDirPath(), '/', $localAssetsPath)."*/\n";
|
450 |
$finalCombinedCssContent .= OptimizeCss::maybeFixCssContent($cssContent, $pathToAssetDir . '/') . "\n";
|
451 |
|
452 |
$finalCombinedCssContent = self::appendToCombineCss($localAssetsExtra, $assetHref, $pathToAssetDir, $finalCombinedCssContent);
|
557 |
public static function proceedWithCssCombine()
|
558 |
{
|
559 |
// Not on query string request (debugging purposes)
|
560 |
+
if ( ! empty($_REQUEST) && array_key_exists('wpacu_no_css_combine', $_REQUEST) ) {
|
561 |
return false;
|
562 |
}
|
563 |
|
classes/OptimiseAssets/CombineJs.php
CHANGED
@@ -447,6 +447,11 @@ HTML;
|
|
447 |
|
448 |
if ($isDeferAppliedOnBodyCombineGroupNo > 0 && $domTag = ObjectCache::wpacu_cache_get('wpacu_html_dom_body_tag_for_js')) {
|
449 |
$strPart = "id='wpacu-combined-js-body-group-".$isDeferAppliedOnBodyCombineGroupNo."' $typeAttr ";
|
|
|
|
|
|
|
|
|
|
|
450 |
list(,$htmlAfterFirstCombinedDeferScript) = explode($strPart, $htmlSource);
|
451 |
$htmlAfterFirstCombinedDeferScriptMaybeChanged = $htmlAfterFirstCombinedDeferScript;
|
452 |
$scriptTags = $domTag->getElementsByTagName('script');
|
@@ -615,7 +620,7 @@ HTML;
|
|
615 |
|
616 |
$pathToAssetDir = OptimizeCommon::getPathToAssetDir($assetHref);
|
617 |
|
618 |
-
$contentToAddToCombinedFile = '/*!'.str_replace(
|
619 |
|
620 |
// This includes the extra from 'data' (CDATA added via wp_localize_script()) & 'before' as they are both printed BEFORE the SCRIPT tag
|
621 |
$contentToAddToCombinedFile .= self::maybeWrapBetweenTryCatch(self::appendToCombineJs('translations', $localAssetsExtra, $assetHref, $pathToAssetDir), $assetHref);
|
@@ -830,7 +835,7 @@ JS;
|
|
830 |
public static function proceedWithJsCombine()
|
831 |
{
|
832 |
// not on query string request (debugging purposes)
|
833 |
-
if (
|
834 |
return false;
|
835 |
}
|
836 |
|
447 |
|
448 |
if ($isDeferAppliedOnBodyCombineGroupNo > 0 && $domTag = ObjectCache::wpacu_cache_get('wpacu_html_dom_body_tag_for_js')) {
|
449 |
$strPart = "id='wpacu-combined-js-body-group-".$isDeferAppliedOnBodyCombineGroupNo."' $typeAttr ";
|
450 |
+
|
451 |
+
if (strpos($htmlSource, $strPart) === false) {
|
452 |
+
return $htmlSource; // something is funny, do not continue
|
453 |
+
}
|
454 |
+
|
455 |
list(,$htmlAfterFirstCombinedDeferScript) = explode($strPart, $htmlSource);
|
456 |
$htmlAfterFirstCombinedDeferScriptMaybeChanged = $htmlAfterFirstCombinedDeferScript;
|
457 |
$scriptTags = $domTag->getElementsByTagName('script');
|
620 |
|
621 |
$pathToAssetDir = OptimizeCommon::getPathToAssetDir($assetHref);
|
622 |
|
623 |
+
$contentToAddToCombinedFile = '/*!'.str_replace(Misc::getWpRootDirPath(), '/', $localAssetsPath)."*/\n";
|
624 |
|
625 |
// This includes the extra from 'data' (CDATA added via wp_localize_script()) & 'before' as they are both printed BEFORE the SCRIPT tag
|
626 |
$contentToAddToCombinedFile .= self::maybeWrapBetweenTryCatch(self::appendToCombineJs('translations', $localAssetsExtra, $assetHref, $pathToAssetDir), $assetHref);
|
835 |
public static function proceedWithJsCombine()
|
836 |
{
|
837 |
// not on query string request (debugging purposes)
|
838 |
+
if ( isset($_REQUEST['wpacu_no_js_combine']) ) {
|
839 |
return false;
|
840 |
}
|
841 |
|
classes/OptimiseAssets/MinifyCss.php
CHANGED
@@ -298,12 +298,12 @@ class MinifyCss
|
|
298 |
// Request Minify On The Fly
|
299 |
// It will preview the page with CSS minified
|
300 |
// Only if the admin is logged-in as it uses more resources (CPU / Memory)
|
301 |
-
if (
|
302 |
self::isMinifyCssEnabledChecked('true');
|
303 |
return true;
|
304 |
}
|
305 |
|
306 |
-
if (
|
307 |
is_admin() || // not for Dashboard view
|
308 |
(! Main::instance()->settings['minify_loaded_css']) || // Minify CSS has to be Enabled
|
309 |
(Main::instance()->settings['test_mode'] && ! Menu::userCanManageAssets()) ) { // Does not trigger if "Test Mode" is Enabled
|
@@ -332,6 +332,7 @@ class MinifyCss
|
|
332 |
return false;
|
333 |
}
|
334 |
|
|
|
335 |
return true;
|
336 |
}
|
337 |
|
298 |
// Request Minify On The Fly
|
299 |
// It will preview the page with CSS minified
|
300 |
// Only if the admin is logged-in as it uses more resources (CPU / Memory)
|
301 |
+
if ( isset($_GET['wpacu_css_minify']) && Menu::userCanManageAssets() ) {
|
302 |
self::isMinifyCssEnabledChecked('true');
|
303 |
return true;
|
304 |
}
|
305 |
|
306 |
+
if ( isset($_REQUEST['wpacu_no_css_minify']) || // not on query string request (debugging purposes)
|
307 |
is_admin() || // not for Dashboard view
|
308 |
(! Main::instance()->settings['minify_loaded_css']) || // Minify CSS has to be Enabled
|
309 |
(Main::instance()->settings['test_mode'] && ! Menu::userCanManageAssets()) ) { // Does not trigger if "Test Mode" is Enabled
|
332 |
return false;
|
333 |
}
|
334 |
|
335 |
+
self::isMinifyCssEnabledChecked('true');
|
336 |
return true;
|
337 |
}
|
338 |
|
classes/OptimiseAssets/MinifyJs.php
CHANGED
@@ -262,12 +262,12 @@ class MinifyJs
|
|
262 |
// Request Minify On The Fly
|
263 |
// It will preview the page with JS minified
|
264 |
// Only if the admin is logged-in as it uses more resources (CPU / Memory)
|
265 |
-
if (
|
266 |
self::isMinifyJsEnabledChecked('true');
|
267 |
return true;
|
268 |
}
|
269 |
|
270 |
-
if (
|
271 |
is_admin() || // not for Dashboard view
|
272 |
(! Main::instance()->settings['minify_loaded_js']) || // Minify JS has to be Enabled
|
273 |
(Main::instance()->settings['test_mode'] && ! Menu::userCanManageAssets()) ) { // Does not trigger if "Test Mode" is Enabled
|
@@ -296,6 +296,7 @@ class MinifyJs
|
|
296 |
return false;
|
297 |
}
|
298 |
|
|
|
299 |
return true;
|
300 |
}
|
301 |
|
262 |
// Request Minify On The Fly
|
263 |
// It will preview the page with JS minified
|
264 |
// Only if the admin is logged-in as it uses more resources (CPU / Memory)
|
265 |
+
if ( isset($_GET['wpacu_js_minify']) && Menu::userCanManageAssets()) {
|
266 |
self::isMinifyJsEnabledChecked('true');
|
267 |
return true;
|
268 |
}
|
269 |
|
270 |
+
if ( isset($_REQUEST['wpacu_no_js_minify']) || // not on query string request (debugging purposes)
|
271 |
is_admin() || // not for Dashboard view
|
272 |
(! Main::instance()->settings['minify_loaded_js']) || // Minify JS has to be Enabled
|
273 |
(Main::instance()->settings['test_mode'] && ! Menu::userCanManageAssets()) ) { // Does not trigger if "Test Mode" is Enabled
|
296 |
return false;
|
297 |
}
|
298 |
|
299 |
+
self::isMinifyJsEnabledChecked('true');
|
300 |
return true;
|
301 |
}
|
302 |
|
classes/OptimiseAssets/OptimizeCommon.php
CHANGED
@@ -53,7 +53,7 @@ class OptimizeCommon
|
|
53 |
add_action('after_switch_theme', array($this, 'clearCache' ));
|
54 |
|
55 |
// Is WP Rocket's page cache cleared? Clear Asset CleanUp's CSS cache files too
|
56 |
-
if (
|
57 |
// Leave its default parameters, no redirect needed
|
58 |
add_action('init', static function() {
|
59 |
OptimizeCommon::clearCache();
|
@@ -211,7 +211,7 @@ class OptimizeCommon
|
|
211 |
|
212 |
// This is useful to avoid changing the DOM via wp_loaded action hook
|
213 |
// In order to check how fast the page loads without the DOM changes (for debugging purposes)
|
214 |
-
$wpacuNoHtmlChanges =
|
215 |
|
216 |
if ( $wpacuNoHtmlChanges || Plugin::preventAnyFrontendOptimization() ) {
|
217 |
/* [wpacu_timing] */ Misc::scriptExecTimer( 'alter_html_source', 'end' ); /* [/wpacu_timing] */
|
@@ -263,54 +263,66 @@ class OptimizeCommon
|
|
263 |
/* [wpacu_timing] */ Misc::scriptExecTimer( 'alter_html_source', 'end' ); /* [/wpacu_timing] */
|
264 |
|
265 |
// [wpacu_debug]
|
266 |
-
if (
|
267 |
-
$
|
268 |
-
|
269 |
-
|
270 |
|
271 |
-
|
272 |
-
|
273 |
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
278 |
|
279 |
-
|
280 |
-
|
281 |
-
'alter_html_source_unload_ignore_deps_css',
|
282 |
-
'alter_html_source_for_google_fonts_optimization_removal',
|
283 |
-
'alter_html_source_for_inline_css',
|
284 |
-
'alter_html_source_original_to_optimized_css',
|
285 |
-
'alter_html_source_for_preload_css',
|
286 |
|
287 |
-
|
288 |
-
|
|
|
|
|
289 |
|
290 |
-
|
291 |
-
|
292 |
-
|
|
|
|
|
|
|
|
|
293 |
|
294 |
-
|
295 |
-
|
296 |
-
'alter_html_source_for_combine_js',
|
297 |
|
298 |
-
|
299 |
-
|
|
|
300 |
|
301 |
-
|
|
|
|
|
302 |
|
303 |
-
|
304 |
-
|
305 |
-
);
|
306 |
|
307 |
-
|
308 |
-
|
309 |
-
|
|
|
|
|
|
|
|
|
|
|
310 |
}
|
311 |
-
// [wpacu_debug]
|
312 |
|
313 |
-
return
|
314 |
}
|
315 |
|
316 |
/**
|
@@ -493,7 +505,7 @@ class OptimizeCommon
|
|
493 |
$hrefRelPath = substr($hrefRelPath, 1);
|
494 |
}
|
495 |
|
496 |
-
$localAssetPath =
|
497 |
|
498 |
if (strpos($localAssetPath, '?ver') !== false) {
|
499 |
list($localAssetPathAlt,) = explode('?ver', $localAssetPath);
|
@@ -572,7 +584,7 @@ class OptimizeCommon
|
|
572 |
}
|
573 |
|
574 |
// Perhaps the URL starts with / (not //) and site_url() was not used
|
575 |
-
if (strpos($sourceFromTag, '/') === 0 && strpos($sourceFromTag, '//') !== 0 && is_file(
|
576 |
$isRelPath = true;
|
577 |
}
|
578 |
|
@@ -708,7 +720,17 @@ class OptimizeCommon
|
|
708 |
}
|
709 |
}
|
710 |
|
711 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
712 |
|
713 |
if (defined('WP_ROCKET_CACHE_BUSTING_URL') && function_exists('get_current_blog_id') && get_current_blog_id()) {
|
714 |
$finalRelPath = str_replace(
|
@@ -984,7 +1006,7 @@ class OptimizeCommon
|
|
984 |
Main::instance()->settings = $wpacuSettingsClass->getAll();
|
985 |
}
|
986 |
|
987 |
-
$isUriRequest =
|
988 |
$isAjaxCallOrUriRequest = (isset($_POST['action']) && $_POST['action'] === WPACU_PLUGIN_ID . '_clear_cache' && is_admin()) || $isUriRequest;
|
989 |
$clearedOutput = $keptOutput = array();
|
990 |
|
@@ -1115,7 +1137,7 @@ SQL;
|
|
1115 |
$jsonValueArray = @json_decode($optionValue, ARRAY_A);
|
1116 |
|
1117 |
if (isset($jsonValueArray['optimize_uri'])) {
|
1118 |
-
$allAssetsToKeep[] = rtrim(
|
1119 |
}
|
1120 |
}
|
1121 |
}
|
@@ -1336,7 +1358,7 @@ SQL;
|
|
1336 |
public static function doNotClearCache()
|
1337 |
{
|
1338 |
// WooCommerce GET or AJAX call
|
1339 |
-
if (
|
1340 |
return true;
|
1341 |
}
|
1342 |
|
53 |
add_action('after_switch_theme', array($this, 'clearCache' ));
|
54 |
|
55 |
// Is WP Rocket's page cache cleared? Clear Asset CleanUp's CSS cache files too
|
56 |
+
if ( isset($_GET['action']) && $_GET['action'] === 'purge_cache' ) {
|
57 |
// Leave its default parameters, no redirect needed
|
58 |
add_action('init', static function() {
|
59 |
OptimizeCommon::clearCache();
|
211 |
|
212 |
// This is useful to avoid changing the DOM via wp_loaded action hook
|
213 |
// In order to check how fast the page loads without the DOM changes (for debugging purposes)
|
214 |
+
$wpacuNoHtmlChanges = isset($_REQUEST['wpacu_no_html_changes']) || ( defined('WPACU_NO_HTML_CHANGES') && WPACU_NO_HTML_CHANGES );
|
215 |
|
216 |
if ( $wpacuNoHtmlChanges || Plugin::preventAnyFrontendOptimization() ) {
|
217 |
/* [wpacu_timing] */ Misc::scriptExecTimer( 'alter_html_source', 'end' ); /* [/wpacu_timing] */
|
263 |
/* [wpacu_timing] */ Misc::scriptExecTimer( 'alter_html_source', 'end' ); /* [/wpacu_timing] */
|
264 |
|
265 |
// [wpacu_debug]
|
266 |
+
if (isset($_GET['wpacu_debug'])) {
|
267 |
+
$htmlSource = self::applyDebugTiming($htmlSource);
|
268 |
+
}
|
269 |
+
// [wpacu_debug]
|
270 |
|
271 |
+
return apply_filters( 'wpacu_html_source_after_optimization', $htmlSource );
|
272 |
+
}
|
273 |
|
274 |
+
/**
|
275 |
+
* @param $htmlSource
|
276 |
+
*
|
277 |
+
* @return string|string[]
|
278 |
+
*/
|
279 |
+
public static function applyDebugTiming($htmlSource)
|
280 |
+
{
|
281 |
+
$timingKeys = array(
|
282 |
+
'prepare_optimize_files_css',
|
283 |
+
'prepare_optimize_files_js',
|
284 |
|
285 |
+
// All HTML alteration via "wp_loaded" action hook
|
286 |
+
'alter_html_source',
|
|
|
|
|
|
|
|
|
|
|
287 |
|
288 |
+
// HTML CleanUp
|
289 |
+
'alter_html_source_cleanup',
|
290 |
+
'alter_html_source_for_remove_html_comments',
|
291 |
+
'alter_html_source_for_remove_meta_generators',
|
292 |
|
293 |
+
// CSS
|
294 |
+
'alter_html_source_for_optimize_css',
|
295 |
+
'alter_html_source_unload_ignore_deps_css',
|
296 |
+
'alter_html_source_for_google_fonts_optimization_removal',
|
297 |
+
'alter_html_source_for_inline_css',
|
298 |
+
'alter_html_source_original_to_optimized_css',
|
299 |
+
'alter_html_source_for_preload_css',
|
300 |
|
301 |
+
'alter_html_source_for_combine_css',
|
302 |
+
'alter_html_source_for_minify_inline_style_tags',
|
|
|
303 |
|
304 |
+
// JS
|
305 |
+
'alter_html_source_for_optimize_js',
|
306 |
+
'alter_html_source_unload_ignore_deps_js',
|
307 |
|
308 |
+
'alter_html_source_original_to_optimized_js',
|
309 |
+
'alter_html_source_for_preload_js',
|
310 |
+
'alter_html_source_for_combine_js',
|
311 |
|
312 |
+
'fetch_strip_hardcoded_assets',
|
313 |
+
'fetch_all_hardcoded_assets',
|
|
|
314 |
|
315 |
+
'output_css_js_manager',
|
316 |
+
|
317 |
+
'style_loader_tag',
|
318 |
+
'script_loader_tag'
|
319 |
+
);
|
320 |
+
|
321 |
+
foreach ( $timingKeys as $timingKey ) {
|
322 |
+
$htmlSource = Misc::printTimingFor($timingKey, $htmlSource);
|
323 |
}
|
|
|
324 |
|
325 |
+
return $htmlSource;
|
326 |
}
|
327 |
|
328 |
/**
|
505 |
$hrefRelPath = substr($hrefRelPath, 1);
|
506 |
}
|
507 |
|
508 |
+
$localAssetPath = Misc::getWpRootDirPath() . $hrefRelPath;
|
509 |
|
510 |
if (strpos($localAssetPath, '?ver') !== false) {
|
511 |
list($localAssetPathAlt,) = explode('?ver', $localAssetPath);
|
584 |
}
|
585 |
|
586 |
// Perhaps the URL starts with / (not //) and site_url() was not used
|
587 |
+
if (strpos($sourceFromTag, '/') === 0 && strpos($sourceFromTag, '//') !== 0 && is_file(Misc::getWpRootDirPath() . $sourceFromTag)) {
|
588 |
$isRelPath = true;
|
589 |
}
|
590 |
|
720 |
}
|
721 |
}
|
722 |
|
723 |
+
if (strpos($finalRelPath, 'http') === 0) {
|
724 |
+
list(,$noProtocol) = explode('://', $finalBaseUrl);
|
725 |
+
$finalBaseUrls = array(
|
726 |
+
'http://'.$noProtocol,
|
727 |
+
'https://'.$noProtocol
|
728 |
+
);
|
729 |
+
} else {
|
730 |
+
$finalBaseUrls = array($finalBaseUrl);
|
731 |
+
}
|
732 |
+
|
733 |
+
$finalRelPath = str_replace($finalBaseUrls, '', $finalRelPath);
|
734 |
|
735 |
if (defined('WP_ROCKET_CACHE_BUSTING_URL') && function_exists('get_current_blog_id') && get_current_blog_id()) {
|
736 |
$finalRelPath = str_replace(
|
1006 |
Main::instance()->settings = $wpacuSettingsClass->getAll();
|
1007 |
}
|
1008 |
|
1009 |
+
$isUriRequest = isset($_GET['wpacu_clear_cache_print']);
|
1010 |
$isAjaxCallOrUriRequest = (isset($_POST['action']) && $_POST['action'] === WPACU_PLUGIN_ID . '_clear_cache' && is_admin()) || $isUriRequest;
|
1011 |
$clearedOutput = $keptOutput = array();
|
1012 |
|
1137 |
$jsonValueArray = @json_decode($optionValue, ARRAY_A);
|
1138 |
|
1139 |
if (isset($jsonValueArray['optimize_uri'])) {
|
1140 |
+
$allAssetsToKeep[] = rtrim(Misc::getWpRootDirPath(), '/') . $jsonValueArray['optimize_uri'];
|
1141 |
}
|
1142 |
}
|
1143 |
}
|
1358 |
public static function doNotClearCache()
|
1359 |
{
|
1360 |
// WooCommerce GET or AJAX call
|
1361 |
+
if (isset($_GET['wc-ajax']) && $_GET['wc-ajax']) {
|
1362 |
return true;
|
1363 |
}
|
1364 |
|
classes/OptimiseAssets/OptimizeCss.php
CHANGED
@@ -151,6 +151,8 @@ class OptimizeCss
|
|
151 |
$cssOptimizeList = array();
|
152 |
|
153 |
if (! empty($wpStylesDone) && ! empty($wpStylesRegistered)) {
|
|
|
|
|
154 |
foreach ( $wpStylesDone as $handle ) {
|
155 |
if ( ! isset( $wpStylesRegistered[ $handle ]->src ) ) {
|
156 |
continue;
|
@@ -163,7 +165,11 @@ class OptimizeCss
|
|
163 |
continue; // not a local file
|
164 |
}
|
165 |
|
166 |
-
$optimizeValues = self::maybeOptimizeIt(
|
|
|
|
|
|
|
|
|
167 |
ObjectCache::wpacu_cache_set( 'wpacu_maybe_optimize_it_css_' . $handle, $optimizeValues );
|
168 |
|
169 |
if ( ! empty( $optimizeValues ) ) {
|
@@ -183,10 +189,11 @@ class OptimizeCss
|
|
183 |
|
184 |
/**
|
185 |
* @param $value
|
|
|
186 |
*
|
187 |
* @return mixed
|
188 |
*/
|
189 |
-
public static function maybeOptimizeIt($value)
|
190 |
{
|
191 |
if ($optimizeValues = ObjectCache::wpacu_cache_get('wpacu_maybe_optimize_it_css_'.$value->handle)) {
|
192 |
return $optimizeValues;
|
@@ -202,7 +209,9 @@ class OptimizeCss
|
|
202 |
|
203 |
$doFileMinify = true;
|
204 |
|
205 |
-
$isMinifyCssFilesEnabled =
|
|
|
|
|
206 |
|
207 |
if (! $isMinifyCssFilesEnabled) {
|
208 |
$doFileMinify = false;
|
@@ -215,8 +224,16 @@ class OptimizeCss
|
|
215 |
|
216 |
$isCssFile = false;
|
217 |
|
218 |
-
|
219 |
-
if ($
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
220 |
if ($fileMTime = @filemtime($localAssetPath)) {
|
221 |
$dbVer = $fileMTime;
|
222 |
}
|
@@ -252,7 +269,7 @@ class OptimizeCss
|
|
252 |
// New File Version? Delete transient as it will be re-created with the new version
|
253 |
OptimizeCommon::deleteTransient($transientName);
|
254 |
} else {
|
255 |
-
$localPathToCssOptimized = str_replace( '//', '/',
|
256 |
|
257 |
// Read the file from its caching (that makes the processing faster)
|
258 |
if ( isset( $savedValuesArray['source_uri'] ) && is_file( $localPathToCssOptimized ) ) {
|
@@ -289,7 +306,7 @@ class OptimizeCss
|
|
289 |
|
290 |
if (Main::instance()->settings['cache_dynamic_loaded_css'] &&
|
291 |
$value->handle === 'sccss_style' &&
|
292 |
-
in_array('simple-custom-css/simple-custom-css.php',
|
293 |
) {
|
294 |
$pathToAssetDir = '';
|
295 |
$sourceBeforeOptimization = $value->src;
|
@@ -319,7 +336,7 @@ class OptimizeCss
|
|
319 |
|
320 |
$cssContent = FileSystem::file_get_contents($localAssetPath, 'combine_css_imports');
|
321 |
|
322 |
-
$sourceBeforeOptimization = str_replace(
|
323 |
}
|
324 |
|
325 |
$cssContent = trim($cssContent);
|
@@ -446,7 +463,7 @@ class OptimizeCss
|
|
446 |
public static function alterHtmlSource($htmlSource)
|
447 |
{
|
448 |
// There has to be at least one "<link" or "<style", otherwise, it could be a feed request or something similar (not page, post, homepage etc.)
|
449 |
-
if ( (stripos($htmlSource, '<link') === false && stripos($htmlSource, '<style') === false) ||
|
450 |
return $htmlSource;
|
451 |
}
|
452 |
|
@@ -724,7 +741,7 @@ class OptimizeCss
|
|
724 |
|
725 |
// If the minified files are deleted (e.g. /wp-content/cache/ is cleared)
|
726 |
// do not replace the CSS file path to avoid breaking the website
|
727 |
-
$localPathOptimizedFile = rtrim(
|
728 |
|
729 |
if (! is_file($localPathOptimizedFile)) {
|
730 |
continue;
|
@@ -781,9 +798,7 @@ class OptimizeCss
|
|
781 |
}
|
782 |
}
|
783 |
|
784 |
-
|
785 |
-
|
786 |
-
return $htmlSource;
|
787 |
}
|
788 |
|
789 |
/**
|
@@ -843,7 +858,7 @@ class OptimizeCss
|
|
843 |
}
|
844 |
|
845 |
// Deactivate it for debugging purposes via query string /?wpacu_no_inline_js
|
846 |
-
if (
|
847 |
return false;
|
848 |
}
|
849 |
|
151 |
$cssOptimizeList = array();
|
152 |
|
153 |
if (! empty($wpStylesDone) && ! empty($wpStylesRegistered)) {
|
154 |
+
$isMinifyCssFilesEnabled = MinifyCss::isMinifyCssEnabled() && in_array(Main::instance()->settings['minify_loaded_css_for'], array('href', 'all', ''));
|
155 |
+
|
156 |
foreach ( $wpStylesDone as $handle ) {
|
157 |
if ( ! isset( $wpStylesRegistered[ $handle ]->src ) ) {
|
158 |
continue;
|
165 |
continue; // not a local file
|
166 |
}
|
167 |
|
168 |
+
$optimizeValues = self::maybeOptimizeIt(
|
169 |
+
$value,
|
170 |
+
array( 'local_asset_path' => $localAssetPath, 'is_minify_css_enabled' => $isMinifyCssFilesEnabled )
|
171 |
+
);
|
172 |
+
|
173 |
ObjectCache::wpacu_cache_set( 'wpacu_maybe_optimize_it_css_' . $handle, $optimizeValues );
|
174 |
|
175 |
if ( ! empty( $optimizeValues ) ) {
|
189 |
|
190 |
/**
|
191 |
* @param $value
|
192 |
+
* @param array $fileAlreadyChecked
|
193 |
*
|
194 |
* @return mixed
|
195 |
*/
|
196 |
+
public static function maybeOptimizeIt($value, $fileAlreadyChecked = array())
|
197 |
{
|
198 |
if ($optimizeValues = ObjectCache::wpacu_cache_get('wpacu_maybe_optimize_it_css_'.$value->handle)) {
|
199 |
return $optimizeValues;
|
209 |
|
210 |
$doFileMinify = true;
|
211 |
|
212 |
+
$isMinifyCssFilesEnabled = (isset($fileAlreadyChecked['is_minify_css_enabled']) && $fileAlreadyChecked['is_minify_css_enabled'])
|
213 |
+
? $fileAlreadyChecked['is_minify_css_enabled']
|
214 |
+
: MinifyCss::isMinifyCssEnabled() && in_array(Main::instance()->settings['minify_loaded_css_for'], array('href', 'all', ''));
|
215 |
|
216 |
if (! $isMinifyCssFilesEnabled) {
|
217 |
$doFileMinify = false;
|
224 |
|
225 |
$isCssFile = false;
|
226 |
|
227 |
+
// Already checked? Do not reuse OptimizeCommon::getLocalAssetPath() and is_file()
|
228 |
+
if (isset($fileAlreadyChecked['local_asset_path']) && $fileAlreadyChecked['local_asset_path']) {
|
229 |
+
$localAssetPath = $fileAlreadyChecked['local_asset_path'];
|
230 |
+
$checkCond = $localAssetPath;
|
231 |
+
} else {
|
232 |
+
$localAssetPath = OptimizeCommon::getLocalAssetPath( $src, 'css' );
|
233 |
+
$checkCond = $localAssetPath && is_file($localAssetPath);
|
234 |
+
}
|
235 |
+
|
236 |
+
if ($checkCond) {
|
237 |
if ($fileMTime = @filemtime($localAssetPath)) {
|
238 |
$dbVer = $fileMTime;
|
239 |
}
|
269 |
// New File Version? Delete transient as it will be re-created with the new version
|
270 |
OptimizeCommon::deleteTransient($transientName);
|
271 |
} else {
|
272 |
+
$localPathToCssOptimized = str_replace( '//', '/', Misc::getWpRootDirPath() . $savedValuesArray['optimize_uri'] );
|
273 |
|
274 |
// Read the file from its caching (that makes the processing faster)
|
275 |
if ( isset( $savedValuesArray['source_uri'] ) && is_file( $localPathToCssOptimized ) ) {
|
306 |
|
307 |
if (Main::instance()->settings['cache_dynamic_loaded_css'] &&
|
308 |
$value->handle === 'sccss_style' &&
|
309 |
+
in_array('simple-custom-css/simple-custom-css.php', Misc::getActivePlugins())
|
310 |
) {
|
311 |
$pathToAssetDir = '';
|
312 |
$sourceBeforeOptimization = $value->src;
|
336 |
|
337 |
$cssContent = FileSystem::file_get_contents($localAssetPath, 'combine_css_imports');
|
338 |
|
339 |
+
$sourceBeforeOptimization = str_replace(Misc::getWpRootDirPath(), '/', $localAssetPath);
|
340 |
}
|
341 |
|
342 |
$cssContent = trim($cssContent);
|
463 |
public static function alterHtmlSource($htmlSource)
|
464 |
{
|
465 |
// There has to be at least one "<link" or "<style", otherwise, it could be a feed request or something similar (not page, post, homepage etc.)
|
466 |
+
if ( (stripos($htmlSource, '<link') === false && stripos($htmlSource, '<style') === false) || isset($_GET['wpacu_no_optimize_css']) ) {
|
467 |
return $htmlSource;
|
468 |
}
|
469 |
|
741 |
|
742 |
// If the minified files are deleted (e.g. /wp-content/cache/ is cleared)
|
743 |
// do not replace the CSS file path to avoid breaking the website
|
744 |
+
$localPathOptimizedFile = rtrim(Misc::getWpRootDirPath(), '/') . $listValues[1];
|
745 |
|
746 |
if (! is_file($localPathOptimizedFile)) {
|
747 |
continue;
|
798 |
}
|
799 |
}
|
800 |
|
801 |
+
return strtr($htmlSource, $linkTagsToUpdate);
|
|
|
|
|
802 |
}
|
803 |
|
804 |
/**
|
858 |
}
|
859 |
|
860 |
// Deactivate it for debugging purposes via query string /?wpacu_no_inline_js
|
861 |
+
if ( isset($_GET['wpacu_no_inline_css']) ) {
|
862 |
return false;
|
863 |
}
|
864 |
|
classes/OptimiseAssets/OptimizeJs.php
CHANGED
@@ -50,7 +50,10 @@ class OptimizeJs
|
|
50 |
// Collect all enqueued clean (no query strings) HREFs to later compare them against any hardcoded JS
|
51 |
$allEnqueuedCleanScriptSrcs = array();
|
52 |
|
|
|
53 |
if ( ! empty($wpScriptsList) ) {
|
|
|
|
|
54 |
foreach ( $wpScriptsList as $index => $scriptHandle ) {
|
55 |
if ( isset( Main::instance()->wpAllScripts['registered'][ $scriptHandle ]->src ) && ( $src = Main::instance()->wpAllScripts['registered'][ $scriptHandle ]->src ) ) {
|
56 |
$localAssetPath = OptimizeCommon::getLocalAssetPath( $src, 'js' );
|
@@ -74,29 +77,17 @@ class OptimizeJs
|
|
74 |
if ( isset( $cleanScriptSrcFromTagArray['source'] ) && $cleanScriptSrcFromTagArray['source'] ) {
|
75 |
$allEnqueuedCleanScriptSrcs[] = $cleanScriptSrcFromTagArray['source'];
|
76 |
}
|
77 |
-
}
|
78 |
-
}
|
79 |
-
}
|
80 |
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
continue;
|
86 |
-
}
|
87 |
|
88 |
-
|
89 |
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
}
|
94 |
-
|
95 |
-
$optimizeValues = self::maybeOptimizeIt( $value );
|
96 |
-
ObjectCache::wpacu_cache_set( 'wpacu_maybe_optimize_it_js_' . $handle, $optimizeValues );
|
97 |
-
|
98 |
-
if ( ! empty( $optimizeValues ) ) {
|
99 |
-
$jsOptimizeList[] = $optimizeValues;
|
100 |
}
|
101 |
}
|
102 |
}
|
@@ -108,10 +99,11 @@ class OptimizeJs
|
|
108 |
|
109 |
/**
|
110 |
* @param $value
|
|
|
111 |
*
|
112 |
* @return array
|
113 |
*/
|
114 |
-
public static function maybeOptimizeIt($value)
|
115 |
{
|
116 |
if ($optimizeValues = ObjectCache::wpacu_cache_get('wpacu_maybe_optimize_it_js_'.$value->handle)) {
|
117 |
return $optimizeValues;
|
@@ -127,7 +119,9 @@ class OptimizeJs
|
|
127 |
|
128 |
$doFileMinify = true;
|
129 |
|
130 |
-
$isMinifyJsFilesEnabled =
|
|
|
|
|
131 |
|
132 |
if (! $isMinifyJsFilesEnabled) {
|
133 |
$doFileMinify = false;
|
@@ -140,8 +134,16 @@ class OptimizeJs
|
|
140 |
|
141 |
$isJsFile = false;
|
142 |
|
143 |
-
|
144 |
-
if ($
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
145 |
if ($fileMTime = @filemtime($localAssetPath)) {
|
146 |
$dbVer = $fileMTime;
|
147 |
}
|
@@ -177,7 +179,7 @@ class OptimizeJs
|
|
177 |
// New File Version? Delete transient as it will be re-added to the database with the new version
|
178 |
OptimizeCommon::deleteTransient($transientName);
|
179 |
} else {
|
180 |
-
$localPathToJsOptimized = str_replace( '//', '/',
|
181 |
|
182 |
// Do not load any minified JS file (from the database transient cache) if it doesn't exist
|
183 |
// It will fallback to the original JS file
|
@@ -233,7 +235,7 @@ class OptimizeJs
|
|
233 |
* This is a local .JS file
|
234 |
*/
|
235 |
$pathToAssetDir = OptimizeCommon::getPathToAssetDir($value->src);
|
236 |
-
$sourceBeforeOptimization = str_replace(
|
237 |
|
238 |
$jsContent = $jsContentBefore = FileSystem::file_get_contents($localAssetPath);
|
239 |
}
|
@@ -527,7 +529,7 @@ class OptimizeJs
|
|
527 |
|
528 |
// If the minified files are deleted (e.g. /wp-content/cache/ is cleared)
|
529 |
// do not replace the JS file path to avoid breaking the website
|
530 |
-
$localPathOptimizedFile = rtrim(
|
531 |
|
532 |
if (! is_file($localPathOptimizedFile)) {
|
533 |
continue;
|
@@ -581,9 +583,7 @@ class OptimizeJs
|
|
581 |
}
|
582 |
}
|
583 |
|
584 |
-
|
585 |
-
|
586 |
-
return $htmlSource;
|
587 |
}
|
588 |
|
589 |
/**
|
@@ -635,7 +635,7 @@ class OptimizeJs
|
|
635 |
public static function alterHtmlSource($htmlSource)
|
636 |
{
|
637 |
// There has to be at least one "<script", otherwise, it could be a feed request or something similar (not page, post, homepage etc.)
|
638 |
-
if (stripos($htmlSource, '<script') === false ||
|
639 |
return $htmlSource;
|
640 |
}
|
641 |
|
50 |
// Collect all enqueued clean (no query strings) HREFs to later compare them against any hardcoded JS
|
51 |
$allEnqueuedCleanScriptSrcs = array();
|
52 |
|
53 |
+
// [Start] Collect for caching
|
54 |
if ( ! empty($wpScriptsList) ) {
|
55 |
+
$isMinifyJsFilesEnabled = MinifyJs::isMinifyJsEnabled() && in_array(Main::instance()->settings['minify_loaded_js_for'], array('src', 'all', ''));
|
56 |
+
|
57 |
foreach ( $wpScriptsList as $index => $scriptHandle ) {
|
58 |
if ( isset( Main::instance()->wpAllScripts['registered'][ $scriptHandle ]->src ) && ( $src = Main::instance()->wpAllScripts['registered'][ $scriptHandle ]->src ) ) {
|
59 |
$localAssetPath = OptimizeCommon::getLocalAssetPath( $src, 'js' );
|
77 |
if ( isset( $cleanScriptSrcFromTagArray['source'] ) && $cleanScriptSrcFromTagArray['source'] ) {
|
78 |
$allEnqueuedCleanScriptSrcs[] = $cleanScriptSrcFromTagArray['source'];
|
79 |
}
|
|
|
|
|
|
|
80 |
|
81 |
+
$optimizeValues = self::maybeOptimizeIt(
|
82 |
+
Main::instance()->wpAllScripts['registered'][ $scriptHandle ],
|
83 |
+
array( 'local_asset_path' => $localAssetPath, 'is_minify_js_enabled' => $isMinifyJsFilesEnabled )
|
84 |
+
);
|
|
|
|
|
85 |
|
86 |
+
ObjectCache::wpacu_cache_set( 'wpacu_maybe_optimize_it_js_' . $scriptHandle, $optimizeValues );
|
87 |
|
88 |
+
if ( ! empty( $optimizeValues ) ) {
|
89 |
+
$jsOptimizeList[] = $optimizeValues;
|
90 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
91 |
}
|
92 |
}
|
93 |
}
|
99 |
|
100 |
/**
|
101 |
* @param $value
|
102 |
+
* @param array $fileAlreadyChecked
|
103 |
*
|
104 |
* @return array
|
105 |
*/
|
106 |
+
public static function maybeOptimizeIt($value, $fileAlreadyChecked = array())
|
107 |
{
|
108 |
if ($optimizeValues = ObjectCache::wpacu_cache_get('wpacu_maybe_optimize_it_js_'.$value->handle)) {
|
109 |
return $optimizeValues;
|
119 |
|
120 |
$doFileMinify = true;
|
121 |
|
122 |
+
$isMinifyJsFilesEnabled = (isset($fileAlreadyChecked['is_minify_js_enabled']) && $fileAlreadyChecked['is_minify_js_enabled'])
|
123 |
+
? $fileAlreadyChecked['is_minify_js_enabled']
|
124 |
+
: MinifyJs::isMinifyJsEnabled() && in_array(Main::instance()->settings['minify_loaded_js_for'], array('src', 'all', ''));
|
125 |
|
126 |
if (! $isMinifyJsFilesEnabled) {
|
127 |
$doFileMinify = false;
|
134 |
|
135 |
$isJsFile = false;
|
136 |
|
137 |
+
// Already checked? Do not reuse OptimizeCommon::getLocalAssetPath() and is_file()
|
138 |
+
if (isset($fileAlreadyChecked['local_asset_path']) && $fileAlreadyChecked['local_asset_path']) {
|
139 |
+
$localAssetPath = $fileAlreadyChecked['local_asset_path'];
|
140 |
+
$checkCond = $localAssetPath;
|
141 |
+
} else {
|
142 |
+
$localAssetPath = OptimizeCommon::getLocalAssetPath( $src, 'js' );
|
143 |
+
$checkCond = $localAssetPath && is_file($localAssetPath);
|
144 |
+
}
|
145 |
+
|
146 |
+
if ($checkCond) {
|
147 |
if ($fileMTime = @filemtime($localAssetPath)) {
|
148 |
$dbVer = $fileMTime;
|
149 |
}
|
179 |
// New File Version? Delete transient as it will be re-added to the database with the new version
|
180 |
OptimizeCommon::deleteTransient($transientName);
|
181 |
} else {
|
182 |
+
$localPathToJsOptimized = str_replace( '//', '/', Misc::getWpRootDirPath() . $savedValuesArray['optimize_uri'] );
|
183 |
|
184 |
// Do not load any minified JS file (from the database transient cache) if it doesn't exist
|
185 |
// It will fallback to the original JS file
|
235 |
* This is a local .JS file
|
236 |
*/
|
237 |
$pathToAssetDir = OptimizeCommon::getPathToAssetDir($value->src);
|
238 |
+
$sourceBeforeOptimization = str_replace(Misc::getWpRootDirPath(), '/', $localAssetPath);
|
239 |
|
240 |
$jsContent = $jsContentBefore = FileSystem::file_get_contents($localAssetPath);
|
241 |
}
|
529 |
|
530 |
// If the minified files are deleted (e.g. /wp-content/cache/ is cleared)
|
531 |
// do not replace the JS file path to avoid breaking the website
|
532 |
+
$localPathOptimizedFile = rtrim(Misc::getWpRootDirPath(), '/') . $listValues[1];
|
533 |
|
534 |
if (! is_file($localPathOptimizedFile)) {
|
535 |
continue;
|
583 |
}
|
584 |
}
|
585 |
|
586 |
+
return strtr($htmlSource, $scriptTagsToUpdate);
|
|
|
|
|
587 |
}
|
588 |
|
589 |
/**
|
635 |
public static function alterHtmlSource($htmlSource)
|
636 |
{
|
637 |
// There has to be at least one "<script", otherwise, it could be a feed request or something similar (not page, post, homepage etc.)
|
638 |
+
if ( stripos($htmlSource, '<script') === false || isset($_GET['wpacu_no_optimize_js']) ) {
|
639 |
return $htmlSource;
|
640 |
}
|
641 |
|
classes/OwnAssets.php
CHANGED
@@ -44,7 +44,7 @@ class OwnAssets
|
|
44 |
$wpacu_object_data['ajax_url'] = admin_url('admin-ajax.php');
|
45 |
$wpacu_object_data['is_frontend_view'] = false;
|
46 |
|
47 |
-
if (
|
48 |
$wpacu_object_data['force_manage_dash'] = true;
|
49 |
}
|
50 |
|
@@ -317,23 +317,6 @@ class OwnAssets
|
|
317 |
</script>
|
318 |
<?php
|
319 |
}
|
320 |
-
|
321 |
-
global $current_screen;
|
322 |
-
|
323 |
-
if (isset($current_screen->id) && $current_screen->id === 'plugins') {
|
324 |
-
// Asset CleanUp Pro needs to have the page reloaded to perform the update 100% correctly
|
325 |
-
// as, for some reason, it sometimes gives an error of "Plugin failed" when updated via an AJAX call (no page reload)
|
326 |
-
?>
|
327 |
-
<script type="text/javascript">
|
328 |
-
jQuery(document).ready(function ($) {
|
329 |
-
$('tr[data-plugin="wp-asset-clean-up-pro/wpacu.php"]')
|
330 |
-
.find('div.update-message')
|
331 |
-
.find('.update-link').append(' (via page reload)')
|
332 |
-
.removeClass('update-link').addClass('wpacu-update-plugin');
|
333 |
-
});
|
334 |
-
</script>
|
335 |
-
<?php
|
336 |
-
}
|
337 |
}
|
338 |
|
339 |
/**
|
@@ -408,11 +391,11 @@ class OwnAssets
|
|
408 |
}
|
409 |
|
410 |
// Do not load any CSS & JS belonging to Asset CleanUp if in "Elementor" preview
|
411 |
-
if (Main::instance()->isFrontendEditView &&
|
412 |
return;
|
413 |
}
|
414 |
|
415 |
-
if (
|
416 |
return;
|
417 |
}
|
418 |
|
@@ -743,7 +726,7 @@ JS;
|
|
743 |
// [End] SweetAlert
|
744 |
}
|
745 |
|
746 |
-
if (in_array($page, array(WPACU_PLUGIN_ID . '_overview', WPACU_PLUGIN_ID . '_bulk_unloads'))) {
|
747 |
// [Start] Tooltipster Style
|
748 |
wp_enqueue_style(
|
749 |
WPACU_PLUGIN_ID . '-tooltipster-style',
|
44 |
$wpacu_object_data['ajax_url'] = admin_url('admin-ajax.php');
|
45 |
$wpacu_object_data['is_frontend_view'] = false;
|
46 |
|
47 |
+
if ( isset($_GET['wpacu_manage_dash']) ) {
|
48 |
$wpacu_object_data['force_manage_dash'] = true;
|
49 |
}
|
50 |
|
317 |
</script>
|
318 |
<?php
|
319 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
320 |
}
|
321 |
|
322 |
/**
|
391 |
}
|
392 |
|
393 |
// Do not load any CSS & JS belonging to Asset CleanUp if in "Elementor" preview
|
394 |
+
if (Main::instance()->isFrontendEditView && isset($_GET['elementor-preview']) && $_GET['elementor-preview']) {
|
395 |
return;
|
396 |
}
|
397 |
|
398 |
+
if ( isset($_GET['wpacu_clean_load']) ) {
|
399 |
return;
|
400 |
}
|
401 |
|
726 |
// [End] SweetAlert
|
727 |
}
|
728 |
|
729 |
+
if (in_array($page, array(WPACU_PLUGIN_ID . '_plugins_manager', WPACU_PLUGIN_ID . '_overview', WPACU_PLUGIN_ID . '_bulk_unloads'))) {
|
730 |
// [Start] Tooltipster Style
|
731 |
wp_enqueue_style(
|
732 |
WPACU_PLUGIN_ID . '-tooltipster-style',
|
classes/Plugin.php
CHANGED
@@ -399,7 +399,8 @@ HTACCESS;
|
|
399 |
}
|
400 |
|
401 |
// e.g. /amp/ - /amp? - /amp/? - /?amp or ending in /amp
|
402 |
-
$isAmpInRequestUri = ((isset($_SERVER['REQUEST_URI']) && (preg_match('/(\/amp$|\/amp\?)|(\/amp\/|\/amp\/\?)/', $_SERVER['REQUEST_URI'])))
|
|
|
403 |
|
404 |
// Is it an AMP endpoint?
|
405 |
if ( ($isAmpInRequestUri && Misc::isPluginActive('accelerated-mobile-pages/accelerated-mobile-pages.php')) // "AMP for WP – Accelerated Mobile Pages"
|
@@ -417,7 +418,7 @@ HTACCESS;
|
|
417 |
define('WPACU_DO_EXTRA_CHECKS_FOR_AMP', true);
|
418 |
}
|
419 |
|
420 |
-
if (
|
421 |
return true;
|
422 |
}
|
423 |
|
399 |
}
|
400 |
|
401 |
// e.g. /amp/ - /amp? - /amp/? - /?amp or ending in /amp
|
402 |
+
$isAmpInRequestUri = ( (isset($_SERVER['REQUEST_URI']) && (preg_match('/(\/amp$|\/amp\?)|(\/amp\/|\/amp\/\?)/', $_SERVER['REQUEST_URI'])))
|
403 |
+
|| isset($_GET['amp']) );
|
404 |
|
405 |
// Is it an AMP endpoint?
|
406 |
if ( ($isAmpInRequestUri && Misc::isPluginActive('accelerated-mobile-pages/accelerated-mobile-pages.php')) // "AMP for WP – Accelerated Mobile Pages"
|
418 |
define('WPACU_DO_EXTRA_CHECKS_FOR_AMP', true);
|
419 |
}
|
420 |
|
421 |
+
if ( isset($_GET['wpacu_clean_load']) ) {
|
422 |
return true;
|
423 |
}
|
424 |
|
classes/PluginReview.php
CHANGED
@@ -174,7 +174,7 @@ class PluginReview
|
|
174 |
public function showReviewNotice()
|
175 |
{
|
176 |
// On URL request (for debugging)
|
177 |
-
if (
|
178 |
return true;
|
179 |
}
|
180 |
|
@@ -245,7 +245,7 @@ class PluginReview
|
|
245 |
*/
|
246 |
public function doCloseNotice()
|
247 |
{
|
248 |
-
$doRedirect =
|
249 |
$reason = isset($_REQUEST['wpacu_close_reason']) ? $_REQUEST['wpacu_close_reason'] : false;
|
250 |
|
251 |
if (! $reason) {
|
174 |
public function showReviewNotice()
|
175 |
{
|
176 |
// On URL request (for debugging)
|
177 |
+
if ( isset($_GET['wpacu_show_review_notice']) ) {
|
178 |
return true;
|
179 |
}
|
180 |
|
245 |
*/
|
246 |
public function doCloseNotice()
|
247 |
{
|
248 |
+
$doRedirect = isset($_GET['wpacu_close_reason']) && ! defined('DOING_AJAX');
|
249 |
$reason = isset($_REQUEST['wpacu_close_reason']) ? $_REQUEST['wpacu_close_reason'] : false;
|
250 |
|
251 |
if (! $reason) {
|
classes/PluginTracking.php
CHANGED
@@ -69,7 +69,7 @@ class PluginTracking
|
|
69 |
*/
|
70 |
public function opt_in_out($isAjaxCall = false)
|
71 |
{
|
72 |
-
if (!
|
73 |
return false;
|
74 |
}
|
75 |
|
@@ -165,7 +165,7 @@ class PluginTracking
|
|
165 |
}
|
166 |
|
167 |
$plugins = array_keys(get_plugins());
|
168 |
-
$active_plugins =
|
169 |
|
170 |
foreach ($plugins as $key => $plugin) {
|
171 |
if (in_array($plugin, $active_plugins)) {
|
@@ -314,7 +314,7 @@ class PluginTracking
|
|
314 |
public function show_tracking_notice()
|
315 |
{
|
316 |
// On URL request (for debugging)
|
317 |
-
if (
|
318 |
return true;
|
319 |
}
|
320 |
|
@@ -339,8 +339,8 @@ class PluginTracking
|
|
339 |
}
|
340 |
|
341 |
if (false !== stripos(network_site_url('/'), 'dev') ||
|
342 |
-
|
343 |
-
|
344 |
) {
|
345 |
update_option(WPACU_PLUGIN_ID . '_tracking_notice', '1');
|
346 |
return false;
|
69 |
*/
|
70 |
public function opt_in_out($isAjaxCall = false)
|
71 |
{
|
72 |
+
if ( ! isset($_REQUEST['wpacu_action']) ) {
|
73 |
return false;
|
74 |
}
|
75 |
|
165 |
}
|
166 |
|
167 |
$plugins = array_keys(get_plugins());
|
168 |
+
$active_plugins = Misc::getActivePlugins();
|
169 |
|
170 |
foreach ($plugins as $key => $plugin) {
|
171 |
if (in_array($plugin, $active_plugins)) {
|
314 |
public function show_tracking_notice()
|
315 |
{
|
316 |
// On URL request (for debugging)
|
317 |
+
if ( isset($_GET['wpacu_show_tracking_notice']) ) {
|
318 |
return true;
|
319 |
}
|
320 |
|
339 |
}
|
340 |
|
341 |
if (false !== stripos(network_site_url('/'), 'dev') ||
|
342 |
+
false !== stripos(network_site_url('/'), 'localhost') ||
|
343 |
+
false !== strpos(network_site_url('/'), ':8888') // This is common with MAMP on OS X
|
344 |
) {
|
345 |
update_option(WPACU_PLUGIN_ID . '_tracking_notice', '1');
|
346 |
return false;
|
classes/PluginsManager.php
CHANGED
@@ -21,7 +21,6 @@ class PluginsManager
|
|
21 |
$this->data['active_plugins'] = self::getActivePlugins();
|
22 |
$this->data['plugins_icons'] = Misc::getAllActivePluginsIcons();
|
23 |
|
24 |
-
// echo '<pre>'; print_r($this->data['plugins_icons']);
|
25 |
Main::instance()->parseTemplate('admin-page-plugins-manager', $this->data, true);
|
26 |
}
|
27 |
|
@@ -35,16 +34,36 @@ class PluginsManager
|
|
35 |
// Get active plugins and their basic information
|
36 |
$activePlugins = wp_get_active_and_valid_plugins();
|
37 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
38 |
foreach ($activePlugins as $pluginPath) {
|
39 |
// Skip Asset CleanUp as it's obviously needed for the functionality
|
40 |
if (strpos($pluginPath, 'wp-asset-clean-up') !== false) {
|
41 |
continue;
|
42 |
}
|
43 |
|
|
|
|
|
44 |
$pluginRelPath = trim(str_replace(WP_PLUGIN_DIR, '', $pluginPath), '/');
|
45 |
|
46 |
$pluginData = get_plugin_data($pluginPath);
|
47 |
-
|
|
|
|
|
|
|
|
|
|
|
48 |
}
|
49 |
|
50 |
usort($activePluginsFinal, static function($a, $b)
|
21 |
$this->data['active_plugins'] = self::getActivePlugins();
|
22 |
$this->data['plugins_icons'] = Misc::getAllActivePluginsIcons();
|
23 |
|
|
|
24 |
Main::instance()->parseTemplate('admin-page-plugins-manager', $this->data, true);
|
25 |
}
|
26 |
|
34 |
// Get active plugins and their basic information
|
35 |
$activePlugins = wp_get_active_and_valid_plugins();
|
36 |
|
37 |
+
// Also check any network activated plugins in case we're dealing with a MultiSite setup
|
38 |
+
if ( is_multisite() ) {
|
39 |
+
$activeNetworkPlugins = wp_get_active_network_plugins();
|
40 |
+
|
41 |
+
if ( ! empty( $activeNetworkPlugins ) ) {
|
42 |
+
foreach ( $activeNetworkPlugins as $activeNetworkPlugin ) {
|
43 |
+
$activePlugins[] = $activeNetworkPlugin;
|
44 |
+
}
|
45 |
+
}
|
46 |
+
}
|
47 |
+
|
48 |
+
$activePlugins = array_unique($activePlugins);
|
49 |
+
|
50 |
foreach ($activePlugins as $pluginPath) {
|
51 |
// Skip Asset CleanUp as it's obviously needed for the functionality
|
52 |
if (strpos($pluginPath, 'wp-asset-clean-up') !== false) {
|
53 |
continue;
|
54 |
}
|
55 |
|
56 |
+
$networkActivated = isset($activeNetworkPlugins) && in_array($pluginPath, $activeNetworkPlugins);
|
57 |
+
|
58 |
$pluginRelPath = trim(str_replace(WP_PLUGIN_DIR, '', $pluginPath), '/');
|
59 |
|
60 |
$pluginData = get_plugin_data($pluginPath);
|
61 |
+
|
62 |
+
$activePluginsFinal[] = array(
|
63 |
+
'title' => $pluginData['Name'],
|
64 |
+
'path' => $pluginRelPath,
|
65 |
+
'network_activated' => $networkActivated
|
66 |
+
);
|
67 |
}
|
68 |
|
69 |
usort($activePluginsFinal, static function($a, $b)
|
classes/Preloads.php
CHANGED
@@ -373,14 +373,14 @@ class Preloads
|
|
373 |
* @return string
|
374 |
*/
|
375 |
public static function linkPreloadCssFormat($linkHref)
|
376 |
-
|
377 |
-
|
378 |
-
|
379 |
-
|
380 |
|
381 |
-
|
382 |
// [wpacu_lite]
|
383 |
-
|
384 |
// [/wpacu_lite]
|
385 |
}
|
386 |
|
@@ -426,11 +426,16 @@ class Preloads
|
|
426 |
*/
|
427 |
public static function updatePreloads()
|
428 |
{
|
429 |
-
if (
|
|
|
|
|
|
|
|
|
|
|
430 |
return;
|
431 |
}
|
432 |
|
433 |
-
if (! isset($
|
434 |
return;
|
435 |
}
|
436 |
|
@@ -443,8 +448,8 @@ class Preloads
|
|
443 |
$existingListData = Main::instance()->existingList($existingListJson, $existingListEmpty);
|
444 |
$existingList = $existingListData['list'];
|
445 |
|
446 |
-
if ( isset( $
|
447 |
-
foreach ( $
|
448 |
$stylePreload = trim( $stylePreload );
|
449 |
|
450 |
if ( $stylePreload === '' && isset( $existingList['styles'][ $globalKey ][ $styleHandle ] ) ) {
|
@@ -455,8 +460,8 @@ class Preloads
|
|
455 |
}
|
456 |
}
|
457 |
|
458 |
-
if ( isset( $
|
459 |
-
foreach ( $
|
460 |
$scriptPreload = trim( $scriptPreload );
|
461 |
|
462 |
if ( $scriptPreload === '' && isset( $existingList['scripts'][ $globalKey ][ $scriptHandle ] ) ) {
|
@@ -470,6 +475,30 @@ class Preloads
|
|
470 |
Misc::addUpdateOption($optionToUpdate, json_encode(Misc::filterList($existingList)));
|
471 |
}
|
472 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
473 |
/**
|
474 |
* Triggered from "Bulk Unloads" - "Preloaded CSS/JS"
|
475 |
* after the selection is made and button is clicked
|
373 |
* @return string
|
374 |
*/
|
375 |
public static function linkPreloadCssFormat($linkHref)
|
376 |
+
{
|
377 |
+
if (self::preventPreload()) {
|
378 |
+
return $linkHref;
|
379 |
+
}
|
380 |
|
381 |
+
if (OptimizeCss::wpfcMinifyCssEnabledOnly()) {
|
382 |
// [wpacu_lite]
|
383 |
+
return '<link rel=\'preload\' data-from-rel=\'stylesheet\' as=\'style\' data-href-before=\''.$linkHref.'\' href=\''.esc_attr($linkHref).'\' data-wpacu-preload-css-basic=\'1\' />' . "\n";
|
384 |
// [/wpacu_lite]
|
385 |
}
|
386 |
|
426 |
*/
|
427 |
public static function updatePreloads()
|
428 |
{
|
429 |
+
if ( (isset($_POST[WPACU_FORM_ASSETS_POST_KEY]['styles']) && ! empty($_POST[WPACU_FORM_ASSETS_POST_KEY]['styles']))
|
430 |
+
|| (isset($_POST[WPACU_FORM_ASSETS_POST_KEY]['scripts']) && ! empty($_POST[WPACU_FORM_ASSETS_POST_KEY]['scripts'])) ) {
|
431 |
+
$mainVarToUse = self::updatePreloadsAdapt($_POST[WPACU_FORM_ASSETS_POST_KEY]); // New form fields (starting from v1.1.9.9)
|
432 |
+
} elseif (Misc::isValidRequest('post', 'wpacu_preloads')) {
|
433 |
+
$mainVarToUse = $_POST;
|
434 |
+
} else {
|
435 |
return;
|
436 |
}
|
437 |
|
438 |
+
if (! isset($mainVarToUse['wpacu_preloads']['styles']) && ! isset($mainVarToUse['wpacu_preloads']['scripts'])) {
|
439 |
return;
|
440 |
}
|
441 |
|
448 |
$existingListData = Main::instance()->existingList($existingListJson, $existingListEmpty);
|
449 |
$existingList = $existingListData['list'];
|
450 |
|
451 |
+
if ( isset( $mainVarToUse['wpacu_preloads']['styles'] ) && ! empty( $mainVarToUse['wpacu_preloads']['styles'] ) ) {
|
452 |
+
foreach ( $mainVarToUse['wpacu_preloads']['styles'] as $styleHandle => $stylePreload ) {
|
453 |
$stylePreload = trim( $stylePreload );
|
454 |
|
455 |
if ( $stylePreload === '' && isset( $existingList['styles'][ $globalKey ][ $styleHandle ] ) ) {
|
460 |
}
|
461 |
}
|
462 |
|
463 |
+
if ( isset( $mainVarToUse['wpacu_preloads']['scripts'] ) && ! empty( $mainVarToUse['wpacu_preloads']['scripts'] ) ) {
|
464 |
+
foreach ( $mainVarToUse['wpacu_preloads']['scripts'] as $scriptHandle => $scriptPreload ) {
|
465 |
$scriptPreload = trim( $scriptPreload );
|
466 |
|
467 |
if ( $scriptPreload === '' && isset( $existingList['scripts'][ $globalKey ][ $scriptHandle ] ) ) {
|
475 |
Misc::addUpdateOption($optionToUpdate, json_encode(Misc::filterList($existingList)));
|
476 |
}
|
477 |
|
478 |
+
/**
|
479 |
+
* @param $mainFormArray
|
480 |
+
*
|
481 |
+
* @return array
|
482 |
+
*/
|
483 |
+
public static function updatePreloadsAdapt($mainFormArray)
|
484 |
+
{
|
485 |
+
$wpacuPreloadsList = array();
|
486 |
+
|
487 |
+
foreach (array('styles', 'scripts') as $assetKey) {
|
488 |
+
if (isset($mainFormArray[$assetKey]) && ! empty($mainFormArray[$assetKey])) {
|
489 |
+
foreach ($mainFormArray[$assetKey] as $assetHandle => $assetData) {
|
490 |
+
$wpacuPreloadsList['wpacu_preloads'][$assetKey][$assetHandle] = ''; // default
|
491 |
+
|
492 |
+
if (isset($assetData['preload']) && $assetData['preload']) {
|
493 |
+
$wpacuPreloadsList['wpacu_preloads'][ $assetKey ][ $assetHandle ] = $assetData['preload']; // 'basic' or 'async'
|
494 |
+
}
|
495 |
+
}
|
496 |
+
}
|
497 |
+
}
|
498 |
+
|
499 |
+
return $wpacuPreloadsList;
|
500 |
+
}
|
501 |
+
|
502 |
/**
|
503 |
* Triggered from "Bulk Unloads" - "Preloaded CSS/JS"
|
504 |
* after the selection is made and button is clicked
|
classes/Settings.php
CHANGED
@@ -293,6 +293,10 @@ class Settings
|
|
293 |
}
|
294 |
|
295 |
add_action( 'wp_ajax_' . WPACU_PLUGIN_ID . '_do_verifications', array( $this, 'ajaxDoVerifications' ) );
|
|
|
|
|
|
|
|
|
296 |
}
|
297 |
|
298 |
/**
|
@@ -455,16 +459,16 @@ class Settings
|
|
455 |
// No record in the database? Set the default values
|
456 |
// That could be because no changes were done on the "Settings" page
|
457 |
// OR a full reset of the plugin (via "Tools") was performed
|
458 |
-
$
|
459 |
|
460 |
foreach ($this->settingsKeys as $settingsKey) {
|
461 |
-
if (! array_key_exists($settingsKey, $
|
462 |
// Keep the keys with empty values to avoid notice errors
|
463 |
-
$
|
464 |
}
|
465 |
}
|
466 |
|
467 |
-
return $this->filterSettings($
|
468 |
}
|
469 |
|
470 |
/**
|
@@ -516,11 +520,11 @@ class Settings
|
|
516 |
{
|
517 |
// /?wpacu_test_mode (will load the page with "Test Mode" enabled disregarding the value from the plugin's "Settings")
|
518 |
// For debugging purposes (e.g. to make sure the HTML source is the same when a guest user accesses it as the one that is generated when the plugin is deactivated)
|
519 |
-
if (
|
520 |
$settings['test_mode'] = true;
|
521 |
}
|
522 |
|
523 |
-
if (
|
524 |
$settings['test_mode'] = false;
|
525 |
}
|
526 |
|
@@ -547,24 +551,24 @@ class Settings
|
|
547 |
}
|
548 |
|
549 |
// /?wpacu_skip_inline_css
|
550 |
-
if (
|
551 |
$settings['inline_css_files'] = false;
|
552 |
}
|
553 |
|
554 |
// /?wpacu_skip_inline_js
|
555 |
-
if (
|
556 |
$settings['inline_js_files'] = false;
|
557 |
}
|
558 |
|
559 |
// /?wpacu_manage_front -> "Manage in the Front-end" via query string request
|
560 |
// Useful when working for a client and you prefer him to view the pages (while logged-in) without the CSS/JS list at the bottom
|
561 |
-
if (
|
562 |
$settings['frontend_show'] = true;
|
563 |
}
|
564 |
|
565 |
// /?wpacu_manage_dash -> "Manage in the Dashboard" via query string request
|
566 |
// For debugging purposes
|
567 |
-
if (is_admin() && (
|
568 |
$settings['dashboard_show'] = true;
|
569 |
}
|
570 |
|
@@ -902,6 +906,31 @@ class Settings
|
|
902 |
exit();
|
903 |
}
|
904 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
905 |
/**
|
906 |
*
|
907 |
*/
|
293 |
}
|
294 |
|
295 |
add_action( 'wp_ajax_' . WPACU_PLUGIN_ID . '_do_verifications', array( $this, 'ajaxDoVerifications' ) );
|
296 |
+
|
297 |
+
// e.g. when "Contract All Groups" is used, the state is kept (the setting is updated in the background)
|
298 |
+
add_action( 'wp_ajax_' . WPACU_PLUGIN_ID . '_update_settings', array($this, 'ajaxUpdateSpecificSettings') );
|
299 |
+
add_action( 'wp_ajax_nopriv_' . WPACU_PLUGIN_ID . '_update_settings', array($this, 'ajaxUpdateSpecificSettings') );
|
300 |
}
|
301 |
|
302 |
/**
|
459 |
// No record in the database? Set the default values
|
460 |
// That could be because no changes were done on the "Settings" page
|
461 |
// OR a full reset of the plugin (via "Tools") was performed
|
462 |
+
$finalDefaultSettings = $this->defaultSettings;
|
463 |
|
464 |
foreach ($this->settingsKeys as $settingsKey) {
|
465 |
+
if (! array_key_exists($settingsKey, $finalDefaultSettings)) {
|
466 |
// Keep the keys with empty values to avoid notice errors
|
467 |
+
$finalDefaultSettings[$settingsKey] = '';
|
468 |
}
|
469 |
}
|
470 |
|
471 |
+
return $this->filterSettings($finalDefaultSettings);
|
472 |
}
|
473 |
|
474 |
/**
|
520 |
{
|
521 |
// /?wpacu_test_mode (will load the page with "Test Mode" enabled disregarding the value from the plugin's "Settings")
|
522 |
// For debugging purposes (e.g. to make sure the HTML source is the same when a guest user accesses it as the one that is generated when the plugin is deactivated)
|
523 |
+
if ( isset($_GET['wpacu_test_mode']) ) {
|
524 |
$settings['test_mode'] = true;
|
525 |
}
|
526 |
|
527 |
+
if ( isset($_GET['wpacu_skip_test_mode']) ) {
|
528 |
$settings['test_mode'] = false;
|
529 |
}
|
530 |
|
551 |
}
|
552 |
|
553 |
// /?wpacu_skip_inline_css
|
554 |
+
if (isset($_GET['wpacu_skip_inline_css_files'])) {
|
555 |
$settings['inline_css_files'] = false;
|
556 |
}
|
557 |
|
558 |
// /?wpacu_skip_inline_js
|
559 |
+
if (isset($_GET['wpacu_skip_inline_js_files'])) {
|
560 |
$settings['inline_js_files'] = false;
|
561 |
}
|
562 |
|
563 |
// /?wpacu_manage_front -> "Manage in the Front-end" via query string request
|
564 |
// Useful when working for a client and you prefer him to view the pages (while logged-in) without the CSS/JS list at the bottom
|
565 |
+
if (isset($_GET['wpacu_manage_front'])) {
|
566 |
$settings['frontend_show'] = true;
|
567 |
}
|
568 |
|
569 |
// /?wpacu_manage_dash -> "Manage in the Dashboard" via query string request
|
570 |
// For debugging purposes
|
571 |
+
if (is_admin() && (isset($_REQUEST['wpacu_manage_dash']) || isset($_REQUEST['force_manage_dash']))) {
|
572 |
$settings['dashboard_show'] = true;
|
573 |
}
|
574 |
|
906 |
exit();
|
907 |
}
|
908 |
|
909 |
+
/**
|
910 |
+
*
|
911 |
+
*/
|
912 |
+
public function ajaxUpdateSpecificSettings()
|
913 |
+
{
|
914 |
+
// Option: "On Assets List Layout Load, keep the groups:"
|
915 |
+
if (isset($_POST['wpacu_update_keep_the_groups'])) {
|
916 |
+
if ( ! isset( $_POST['action'], $_POST['wpacu_keep_the_groups_state'] ) || ! Menu::userCanManageAssets() ) {
|
917 |
+
return;
|
918 |
+
}
|
919 |
+
|
920 |
+
if ( $_POST['wpacu_update_keep_the_groups'] !== 'yes' ) {
|
921 |
+
return;
|
922 |
+
}
|
923 |
+
|
924 |
+
$newKeepTheGroupsState = $_POST['wpacu_keep_the_groups_state'];
|
925 |
+
|
926 |
+
$this->updateOption( 'assets_list_layout_areas_status', $newKeepTheGroupsState );
|
927 |
+
|
928 |
+
echo 'done';
|
929 |
+
}
|
930 |
+
|
931 |
+
exit();
|
932 |
+
}
|
933 |
+
|
934 |
/**
|
935 |
*
|
936 |
*/
|
classes/Sorting.php
CHANGED
@@ -93,7 +93,7 @@ class Sorting
|
|
93 |
str_replace(
|
94 |
'//',
|
95 |
'/',
|
96 |
-
str_replace(
|
97 |
);
|
98 |
|
99 |
$urlsToThemeDirs[] = $themeUrl;
|
93 |
str_replace(
|
94 |
'//',
|
95 |
'/',
|
96 |
+
str_replace(Misc::getWpRootDirPath(), '', $themeDirArray['theme_root']) . '/'. $themeDir . '/'
|
97 |
);
|
98 |
|
99 |
$urlsToThemeDirs[] = $themeUrl;
|
classes/Update.php
CHANGED
@@ -34,21 +34,42 @@ class Update
|
|
34 |
/**
|
35 |
* @var array
|
36 |
*/
|
37 |
-
public $
|
38 |
|
39 |
/**
|
40 |
* Update constructor.
|
41 |
*/
|
42 |
public function __construct()
|
43 |
{
|
44 |
-
$homePageSettingsUpdatedText
|
45 |
-
$this->
|
46 |
<span class="dashicons dashicons-yes"></span> {$homePageSettingsUpdatedText}
|
47 |
HTML;
|
48 |
|
49 |
-
$pageSettingsUpdatedText
|
50 |
-
$this->
|
51 |
<span class="dashicons dashicons-yes"></span> {$pageSettingsUpdatedText}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
52 |
HTML;
|
53 |
}
|
54 |
|
@@ -72,6 +93,10 @@ HTML;
|
|
72 |
|
73 |
// After an update, preload the page for the guest view (the preload for the admin is done within script.min.js own plugin file)
|
74 |
add_action('wp_ajax_' . WPACU_PLUGIN_ID . '_preload', array($this, 'ajaxPreloadGuest'), PHP_INT_MAX);
|
|
|
|
|
|
|
|
|
75 |
}
|
76 |
|
77 |
/**
|
@@ -111,7 +136,7 @@ HTML;
|
|
111 |
|
112 |
$updateAction = Misc::getVar('post', 'wpacu_update_asset_frontend');
|
113 |
|
114 |
-
if (
|
115 |
return;
|
116 |
}
|
117 |
|
@@ -120,15 +145,10 @@ HTML;
|
|
120 |
return;
|
121 |
}
|
122 |
|
123 |
-
if (! wp_verify_nonce($_POST[$nonceName], $nonceAction)) {
|
124 |
-
$postUrlAnchor = $_SERVER['REQUEST_URI'].'#wpacu_wrap_assets';
|
125 |
wp_die(
|
126 |
-
|
127 |
-
|
128 |
-
'<a href="'.$postUrlAnchor.'">',
|
129 |
-
'</a>'
|
130 |
-
),
|
131 |
-
__('Nonce Expired', 'wp-asset-clean-up')
|
132 |
);
|
133 |
}
|
134 |
|
@@ -160,10 +180,7 @@ HTML;
|
|
160 |
return;
|
161 |
}
|
162 |
|
163 |
-
|
164 |
-
self::updateHandleRowStatus();
|
165 |
-
|
166 |
-
// Any preloads
|
167 |
Preloads::updatePreloads();
|
168 |
|
169 |
// Any handle notes?
|
@@ -260,7 +277,7 @@ HTML;
|
|
260 |
// Could be just these fields available in the form (e.g. unavailable CSS/JS manager due to the page set to not load the plugin at all)
|
261 |
$this->updatePageOptions($post->ID);
|
262 |
|
263 |
-
|
264 |
// Otherwise, $_POST[WPACU_PLUGIN_ID] will be taken as empty which might be not if there are values in the database
|
265 |
if (! Misc::getVar('post', 'wpacu_unload_assets_area_loaded')) {
|
266 |
return;
|
@@ -318,10 +335,7 @@ HTML;
|
|
318 |
$this->saveToBulkUnloads($post);
|
319 |
$this->removeBulkUnloads($post->post_type);
|
320 |
|
321 |
-
|
322 |
-
self::updateHandleRowStatus();
|
323 |
-
|
324 |
-
// Any preloads
|
325 |
Preloads::updatePreloads();
|
326 |
|
327 |
// Any handle notes
|
@@ -387,7 +401,7 @@ HTML;
|
|
387 |
return;
|
388 |
}
|
389 |
|
390 |
-
|
391 |
return; // only arrays (empty or not) should be used
|
392 |
}
|
393 |
|
@@ -417,10 +431,7 @@ HTML;
|
|
417 |
|
418 |
add_action('wpacu_admin_notices', array($this, 'homePageUpdated'));
|
419 |
|
420 |
-
|
421 |
-
self::updateHandleRowStatus();
|
422 |
-
|
423 |
-
$this->frontEndUpdateFor['homepage'] = true;
|
424 |
|
425 |
self::clearTransients();
|
426 |
|
@@ -435,7 +446,7 @@ HTML;
|
|
435 |
{
|
436 |
?>
|
437 |
<div class="updated notice wpacu-notice is-dismissible">
|
438 |
-
<p><?php echo $this->
|
439 |
</div>
|
440 |
<?php
|
441 |
}
|
@@ -447,11 +458,23 @@ HTML;
|
|
447 |
{
|
448 |
?>
|
449 |
<div class="updated notice wpacu-notice is-dismissible">
|
450 |
-
<p><?php echo $this->
|
451 |
</div>
|
452 |
<?php
|
453 |
}
|
454 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
455 |
/**
|
456 |
* Lite: For Singular Page (Post, Page, Custom Post Type), Front Page (Home Page), On All Pages of a specific post type (post, page or custom)
|
457 |
* Pro: 'for_pro' would trigger the actions from the premium extension (if available)
|
@@ -630,9 +653,15 @@ HTML;
|
|
630 |
$formTargetKey = 'wpacu_load_it_logged_in';
|
631 |
$targetGlobalKey = 'load_it_logged_in';
|
632 |
|
633 |
-
|
634 |
-
|
635 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
636 |
|
637 |
if (! Misc::isValidRequest('post', $referenceKey)) {
|
638 |
return;
|
@@ -1063,11 +1092,14 @@ HTML;
|
|
1063 |
// No $mainVarToUse passed? Then it's a $_POST
|
1064 |
// Check if $_POST is empty via Misc::isValidRequest()
|
1065 |
if (empty($mainVarToUse)) {
|
1066 |
-
|
1067 |
-
|
1068 |
-
|
1069 |
-
|
1070 |
-
|
|
|
|
|
|
|
1071 |
}
|
1072 |
|
1073 |
if (! isset($mainVarToUse['wpacu_ignore_child']['styles']) && ! isset($mainVarToUse['wpacu_ignore_child']['scripts'])) {
|
@@ -1111,52 +1143,67 @@ HTML;
|
|
1111 |
}
|
1112 |
|
1113 |
/**
|
|
|
1114 |
*
|
|
|
1115 |
*/
|
1116 |
-
public static function
|
1117 |
-
|
1118 |
-
|
1119 |
|
1120 |
-
|
1121 |
-
|
1122 |
-
|
|
|
1123 |
|
1124 |
-
|
1125 |
-
|
1126 |
-
|
|
|
|
|
|
|
1127 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1128 |
$optionToUpdate = WPACU_PLUGIN_ID . '_global_data';
|
1129 |
$globalKey = 'handle_row_contracted'; // Contracted or Expanded (default)
|
1130 |
|
1131 |
$existingListEmpty = array('styles' => array($globalKey => array()), 'scripts' => array($globalKey => array()));
|
1132 |
-
|
1133 |
|
1134 |
$existingListData = Main::instance()->existingList($existingListJson, $existingListEmpty);
|
1135 |
$existingList = $existingListData['list'];
|
1136 |
|
1137 |
-
if (
|
1138 |
-
|
1139 |
-
|
1140 |
-
|
1141 |
-
|
1142 |
-
|
1143 |
-
|
1144 |
-
}
|
1145 |
-
}
|
1146 |
-
}
|
1147 |
|
1148 |
-
|
1149 |
-
|
1150 |
-
|
1151 |
-
|
1152 |
-
|
1153 |
-
|
1154 |
-
$existingList['scripts'][$globalKey][$scriptHandle] = $scriptContractedValue;
|
1155 |
-
}
|
1156 |
-
}
|
1157 |
-
}
|
1158 |
|
1159 |
Misc::addUpdateOption($optionToUpdate, json_encode(Misc::filterList($existingList)));
|
|
|
|
|
1160 |
}
|
1161 |
|
1162 |
/**
|
@@ -1297,6 +1344,32 @@ HTML;
|
|
1297 |
echo (isset($response['body']) ? $response['body'] : 'No "body" key found from wp_remote_get(), the preload might not have triggered');
|
1298 |
}
|
1299 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1300 |
exit();
|
1301 |
}
|
1302 |
}
|
34 |
/**
|
35 |
* @var array
|
36 |
*/
|
37 |
+
public $afterSubmitMsg = array();
|
38 |
|
39 |
/**
|
40 |
* Update constructor.
|
41 |
*/
|
42 |
public function __construct()
|
43 |
{
|
44 |
+
$homePageSettingsUpdatedText = __('The homepage\'s settings were updated. Please make sure the homepage\'s cache is cleared (if you\'re using a caching plugin or a server-side caching solution) to immediately have the changes applied for every visitor.', 'wp-asset-clean-up');
|
45 |
+
$this->afterSubmitMsg['homepage'] = <<<HTML
|
46 |
<span class="dashicons dashicons-yes"></span> {$homePageSettingsUpdatedText}
|
47 |
HTML;
|
48 |
|
49 |
+
$pageSettingsUpdatedText = __('This page\'s settings were updated. Please make sure the page\'s cache is cleared (if you\'re using a caching plugin or a server-side caching solution) to immediately have the changes applied for every visitor.', 'wp-asset-clean-up');
|
50 |
+
$this->afterSubmitMsg['page'] = <<<HTML
|
51 |
<span class="dashicons dashicons-yes"></span> {$pageSettingsUpdatedText}
|
52 |
+
HTML;
|
53 |
+
|
54 |
+
$invalidNonceText = sprintf(
|
55 |
+
__('The changes were not saved because the security nonce has expired (it took over 24 hours since you loaded this page) or it was not sent for verification in the first place because the form was partially submitted due to the input fields being stripped.', 'wp-asset-clean-up'),
|
56 |
+
ini_get('max_input_vars')
|
57 |
+
);
|
58 |
+
|
59 |
+
$maxInputVarsValue = (int)@ini_get('max_input_vars');
|
60 |
+
|
61 |
+
if ($maxInputVarsValue === 1000) {
|
62 |
+
$invalidNonceText .= ' '. sprintf(__('The value of <strong>max_input_vars</strong> is <strong>1000</strong> which is the default one in many hosting accounts. Increase it to a higher number, ideally over %d.'), 4000);
|
63 |
+
} elseif ($maxInputVarsValue < 1000) {
|
64 |
+
$invalidNonceText .= ' '. sprintf(__('The value of <strong>max_input_vars</strong> is <strong>%d</strong>. That\'s below <strong>1000</strong> (the default one in many hosting accounts). Increase it to a higher number, ideally over %d.'), $maxInputVarsValue, 4000);
|
65 |
+
} else {
|
66 |
+
$invalidNonceText .= ' '. sprintf(__('The value of <strong>max_input_vars</strong> is <strong>%d</strong>. You might need to increase it to a higher number.'), $maxInputVarsValue);
|
67 |
+
}
|
68 |
+
|
69 |
+
$invalidNonceText .= ' <a target="_blank" href="https://www.assetcleanup.com/docs/?p=1346">'.__('How to fix it?', 'wp-asset-clean-up').'</a>';
|
70 |
+
|
71 |
+
$this->afterSubmitMsg['invalid_nonce_error'] = <<<HTML
|
72 |
+
<span style="color: #cc0000;" class="dashicons dashicons-dismiss"></span> {$invalidNonceText}
|
73 |
HTML;
|
74 |
}
|
75 |
|
93 |
|
94 |
// After an update, preload the page for the guest view (the preload for the admin is done within script.min.js own plugin file)
|
95 |
add_action('wp_ajax_' . WPACU_PLUGIN_ID . '_preload', array($this, 'ajaxPreloadGuest'), PHP_INT_MAX);
|
96 |
+
|
97 |
+
// e.g. when "+" or "-" is used within an asset's row (CSS/JS manager), the state is updated in the background to be remembered
|
98 |
+
add_action( 'wp_ajax_' . WPACU_PLUGIN_ID . '_update_asset_row_state', array($this, 'ajaxUpdateAssetRowState') );
|
99 |
+
add_action( 'wp_ajax_nopriv_' . WPACU_PLUGIN_ID . '_update_asset_row_state', array($this, 'ajaxUpdateAssetRowState') );
|
100 |
}
|
101 |
|
102 |
/**
|
136 |
|
137 |
$updateAction = Misc::getVar('post', 'wpacu_update_asset_frontend');
|
138 |
|
139 |
+
if ($updateAction != 1 || ! Main::instance()->frontendShow()) {
|
140 |
return;
|
141 |
}
|
142 |
|
145 |
return;
|
146 |
}
|
147 |
|
148 |
+
if ( ! wp_verify_nonce($_POST[$nonceName], $nonceAction) ) {
|
|
|
149 |
wp_die(
|
150 |
+
$this->afterSubmitMsg['invalid_nonce_error'],
|
151 |
+
__('Nonce is missing or has expired', 'wp-asset-clean-up')
|
|
|
|
|
|
|
|
|
152 |
);
|
153 |
}
|
154 |
|
180 |
return;
|
181 |
}
|
182 |
|
183 |
+
// Any preloads
|
|
|
|
|
|
|
184 |
Preloads::updatePreloads();
|
185 |
|
186 |
// Any handle notes?
|
277 |
// Could be just these fields available in the form (e.g. unavailable CSS/JS manager due to the page set to not load the plugin at all)
|
278 |
$this->updatePageOptions($post->ID);
|
279 |
|
280 |
+
// This is triggered only if the "Asset CleanUp" meta box was loaded with the list of assets (either in edit post/page or in "CSS & JS Manager" -> "Manage CSS/JS")
|
281 |
// Otherwise, $_POST[WPACU_PLUGIN_ID] will be taken as empty which might be not if there are values in the database
|
282 |
if (! Misc::getVar('post', 'wpacu_unload_assets_area_loaded')) {
|
283 |
return;
|
335 |
$this->saveToBulkUnloads($post);
|
336 |
$this->removeBulkUnloads($post->post_type);
|
337 |
|
338 |
+
// Any preloads
|
|
|
|
|
|
|
339 |
Preloads::updatePreloads();
|
340 |
|
341 |
// Any handle notes
|
401 |
return;
|
402 |
}
|
403 |
|
404 |
+
if (! is_array($wpacuNoLoadAssets)) {
|
405 |
return; // only arrays (empty or not) should be used
|
406 |
}
|
407 |
|
431 |
|
432 |
add_action('wpacu_admin_notices', array($this, 'homePageUpdated'));
|
433 |
|
434 |
+
$this->frontEndUpdateFor['homepage'] = true;
|
|
|
|
|
|
|
435 |
|
436 |
self::clearTransients();
|
437 |
|
446 |
{
|
447 |
?>
|
448 |
<div class="updated notice wpacu-notice is-dismissible">
|
449 |
+
<p><?php echo $this->afterSubmitMsg['homepage']; ?></p>
|
450 |
</div>
|
451 |
<?php
|
452 |
}
|
458 |
{
|
459 |
?>
|
460 |
<div class="updated notice wpacu-notice is-dismissible">
|
461 |
+
<p><?php echo $this->afterSubmitMsg['page']; ?></p>
|
462 |
</div>
|
463 |
<?php
|
464 |
}
|
465 |
|
466 |
+
/**
|
467 |
+
*
|
468 |
+
*/
|
469 |
+
public function changesNotMadeInvalidNonce()
|
470 |
+
{
|
471 |
+
?>
|
472 |
+
<div class="error notice wpacu-error is-dismissible">
|
473 |
+
<p><?php echo $this->afterSubmitMsg['invalid_nonce_error']; ?></p>
|
474 |
+
</div>
|
475 |
+
<?php
|
476 |
+
}
|
477 |
+
|
478 |
/**
|
479 |
* Lite: For Singular Page (Post, Page, Custom Post Type), Front Page (Home Page), On All Pages of a specific post type (post, page or custom)
|
480 |
* Pro: 'for_pro' would trigger the actions from the premium extension (if available)
|
653 |
$formTargetKey = 'wpacu_load_it_logged_in';
|
654 |
$targetGlobalKey = 'load_it_logged_in';
|
655 |
|
656 |
+
if (Misc::isValidRequest('post', WPACU_FORM_ASSETS_POST_KEY)) {
|
657 |
+
// Starting from v1.1.9.9
|
658 |
+
$referenceKey = WPACU_FORM_ASSETS_POST_KEY;
|
659 |
+
} else {
|
660 |
+
// Legacy (in case a form with the old fields is submitted)
|
661 |
+
// This field is always passed when the management list submitted (to know if a handle's data is among the submitted one
|
662 |
+
// Useful to avoid adding an extra hidden field (and have more submitted fields, not good for hosts with submit limit) before the checkbox
|
663 |
+
$referenceKey = 'wpacu_preloads';
|
664 |
+
}
|
665 |
|
666 |
if (! Misc::isValidRequest('post', $referenceKey)) {
|
667 |
return;
|
1092 |
// No $mainVarToUse passed? Then it's a $_POST
|
1093 |
// Check if $_POST is empty via Misc::isValidRequest()
|
1094 |
if (empty($mainVarToUse)) {
|
1095 |
+
if ( (isset($_POST[WPACU_FORM_ASSETS_POST_KEY]['styles']) && ! empty($_POST[WPACU_FORM_ASSETS_POST_KEY]['styles']))
|
1096 |
+
|| (isset($_POST[WPACU_FORM_ASSETS_POST_KEY]['scripts']) && ! empty($_POST[WPACU_FORM_ASSETS_POST_KEY]['scripts'])) ) {
|
1097 |
+
$mainVarToUse = self::updateIgnoreChildAdapt($_POST[WPACU_FORM_ASSETS_POST_KEY]); // New form fields (starting from v1.1.9.9)
|
1098 |
+
} elseif (Misc::isValidRequest('post', 'wpacu_ignore_child')) {
|
1099 |
+
$mainVarToUse = $_POST;
|
1100 |
+
} else {
|
1101 |
+
return;
|
1102 |
+
}
|
1103 |
}
|
1104 |
|
1105 |
if (! isset($mainVarToUse['wpacu_ignore_child']['styles']) && ! isset($mainVarToUse['wpacu_ignore_child']['scripts'])) {
|
1143 |
}
|
1144 |
|
1145 |
/**
|
1146 |
+
* @param $mainFormArray
|
1147 |
*
|
1148 |
+
* @return array
|
1149 |
*/
|
1150 |
+
public static function updateIgnoreChildAdapt($mainFormArray)
|
1151 |
+
{
|
1152 |
+
$wpacuIgnoreChildList = array();
|
1153 |
|
1154 |
+
foreach (array('styles', 'scripts') as $assetKey) {
|
1155 |
+
if (isset($mainFormArray[$assetKey]) && ! empty($mainFormArray[$assetKey])) {
|
1156 |
+
foreach ($mainFormArray[$assetKey] as $assetHandle => $assetData) {
|
1157 |
+
$wpacuIgnoreChildList['wpacu_ignore_child'][$assetKey][$assetHandle] = ''; // default
|
1158 |
|
1159 |
+
if (isset($assetData['ignore_child']) && $assetData['ignore_child']) {
|
1160 |
+
$wpacuIgnoreChildList['wpacu_ignore_child'][ $assetKey ][ $assetHandle ] = 1;
|
1161 |
+
}
|
1162 |
+
}
|
1163 |
+
}
|
1164 |
+
}
|
1165 |
|
1166 |
+
return $wpacuIgnoreChildList;
|
1167 |
+
}
|
1168 |
+
|
1169 |
+
/**
|
1170 |
+
* This function is called via AJAX whenever "+" or "-" is used on an asset's row
|
1171 |
+
*
|
1172 |
+
* @param $newState
|
1173 |
+
* @param $handle
|
1174 |
+
* @param $handleFor
|
1175 |
+
*
|
1176 |
+
* @return array|false
|
1177 |
+
*/
|
1178 |
+
public static function updateHandleRowStatus($newState, $handle, $handleFor)
|
1179 |
+
{
|
1180 |
$optionToUpdate = WPACU_PLUGIN_ID . '_global_data';
|
1181 |
$globalKey = 'handle_row_contracted'; // Contracted or Expanded (default)
|
1182 |
|
1183 |
$existingListEmpty = array('styles' => array($globalKey => array()), 'scripts' => array($globalKey => array()));
|
1184 |
+
$existingListJson = get_option($optionToUpdate);
|
1185 |
|
1186 |
$existingListData = Main::instance()->existingList($existingListJson, $existingListEmpty);
|
1187 |
$existingList = $existingListData['list'];
|
1188 |
|
1189 |
+
if ($handleFor === 'style') {
|
1190 |
+
$keyList = 'styles';
|
1191 |
+
} elseif ($handleFor === 'script') {
|
1192 |
+
$keyList = 'scripts';
|
1193 |
+
} else {
|
1194 |
+
return false;
|
1195 |
+
}
|
|
|
|
|
|
|
1196 |
|
1197 |
+
// The database value should be equal with '1' suggesting it's contracted (no value means it's expanded by default)
|
1198 |
+
if ( $newState === 'expanded' && isset( $existingList[$keyList][ $globalKey ][ $handle ] ) ) {
|
1199 |
+
unset( $existingList[$keyList][ $globalKey ][ $handle ] ); // "expanded" (default)
|
1200 |
+
} elseif ( $newState === 'contracted' ) {
|
1201 |
+
$existingList[$keyList][ $globalKey ][ $handle ] = 1; // "contracted"
|
1202 |
+
}
|
|
|
|
|
|
|
|
|
1203 |
|
1204 |
Misc::addUpdateOption($optionToUpdate, json_encode(Misc::filterList($existingList)));
|
1205 |
+
|
1206 |
+
return $existingList[$keyList][$globalKey];
|
1207 |
}
|
1208 |
|
1209 |
/**
|
1344 |
echo (isset($response['body']) ? $response['body'] : 'No "body" key found from wp_remote_get(), the preload might not have triggered');
|
1345 |
}
|
1346 |
|
1347 |
+
exit();
|
1348 |
+
}
|
1349 |
+
|
1350 |
+
/**
|
1351 |
+
*
|
1352 |
+
*/
|
1353 |
+
public function ajaxUpdateAssetRowState()
|
1354 |
+
{
|
1355 |
+
// Option: "On Assets List Layout Load, keep the groups:"
|
1356 |
+
if (isset($_POST['wpacu_update_asset_row_state'])) {
|
1357 |
+
if ( ! isset( $_POST['action'], $_POST['wpacu_asset_row_state'], $_POST['wpacu_handle'], $_POST['wpacu_handle_for'] )
|
1358 |
+
|| ! Menu::userCanManageAssets() ) {
|
1359 |
+
return;
|
1360 |
+
}
|
1361 |
+
|
1362 |
+
if ( $_POST['wpacu_update_asset_row_state'] !== 'yes' ) {
|
1363 |
+
return;
|
1364 |
+
}
|
1365 |
+
|
1366 |
+
$assetRowState = $_POST['wpacu_asset_row_state'];
|
1367 |
+
|
1368 |
+
$newContractedList = self::updateHandleRowStatus($assetRowState, $_POST['wpacu_handle'], $_POST['wpacu_handle_for']);
|
1369 |
+
|
1370 |
+
echo "<pre>" . print_r($newContractedList, true);
|
1371 |
+
}
|
1372 |
+
|
1373 |
exit();
|
1374 |
}
|
1375 |
}
|
early-triggers.php
CHANGED
@@ -4,7 +4,7 @@ if (! defined('ABSPATH')) {
|
|
4 |
exit;
|
5 |
}
|
6 |
|
7 |
-
if (
|
8 |
// Autoptimize
|
9 |
$_GET['ao_noptimize'] = $_REQUEST['ao_noptimize'] = '1';
|
10 |
|
@@ -100,10 +100,8 @@ if (! function_exists('assetCleanUpRequestUriHasAnyPublicVar')) {
|
|
100 |
'year'
|
101 |
);
|
102 |
|
103 |
-
parse_str($urlQuery, $getOutput);
|
104 |
-
|
105 |
foreach ($publicQueryVars as $queryVar) {
|
106 |
-
if (
|
107 |
return true;
|
108 |
}
|
109 |
}
|
@@ -144,6 +142,11 @@ if (! function_exists('assetCleanUpHasNoLoadMatches')) {
|
|
144 |
return false; // Invalid request
|
145 |
}
|
146 |
|
|
|
|
|
|
|
|
|
|
|
147 |
$doNotLoadRegExps = array();
|
148 |
|
149 |
$wpacuPluginSettingsJson = get_option( WPACU_PLUGIN_ID . '_settings' );
|
@@ -171,7 +174,8 @@ if (! function_exists('assetCleanUpHasNoLoadMatches')) {
|
|
171 |
foreach ( $doNotLoadRegExps as $doNotLoadRegExp ) {
|
172 |
if ( @preg_match( $doNotLoadRegExp, $targetUri ) || (strpos($targetUri, $doNotLoadRegExp) !== false) ) {
|
173 |
// There's a match
|
174 |
-
|
|
|
175 |
}
|
176 |
}
|
177 |
}
|
@@ -205,7 +209,8 @@ if (! function_exists('assetCleanUpHasNoLoadMatches')) {
|
|
205 |
|
206 |
if (isset($globalPageOptionsList['page_options']['homepage']['no_wpacu_load'])
|
207 |
&& $globalPageOptionsList['page_options']['homepage']['no_wpacu_load'] == 1) {
|
208 |
-
|
|
|
209 |
}
|
210 |
}
|
211 |
}
|
@@ -219,7 +224,8 @@ if (! function_exists('assetCleanUpHasNoLoadMatches')) {
|
|
219 |
$pageOptions = @json_decode( $pageOptionsJson, ARRAY_A );
|
220 |
|
221 |
if (isset($pageOptions['no_wpacu_load']) && $pageOptions['no_wpacu_load'] == 1) {
|
222 |
-
|
|
|
223 |
}
|
224 |
} else {
|
225 |
// Visiting a post, page or custom post type but not the homepage
|
@@ -238,11 +244,15 @@ if (! function_exists('assetCleanUpHasNoLoadMatches')) {
|
|
238 |
$dbPageUri = str_replace( $rootUrl, '', $dbPageUrl );
|
239 |
|
240 |
if ( ( $dbPageUri === $targetUri ) || ( strpos( $targetUri, $dbPageUri ) === 0 ) ) {
|
241 |
-
|
|
|
242 |
}
|
243 |
}
|
244 |
}
|
245 |
}
|
|
|
|
|
|
|
246 |
return false;
|
247 |
}
|
248 |
}
|
@@ -260,14 +270,14 @@ if (! function_exists('assetCleanUpNoLoad')) {
|
|
260 |
}
|
261 |
|
262 |
// Hide top WordPress admin bar on request for debugging purposes and a cleared view of the tested page
|
263 |
-
if (
|
264 |
add_filter( 'show_admin_bar', '__return_false', PHP_INT_MAX );
|
265 |
}
|
266 |
|
267 |
// On request: for debugging purposes - e.g. https://yourwebsite.com/?wpacu_no_load
|
268 |
// Also make sure it's in the REQUEST URI and $_GET wasn't altered incorrectly before it's checked
|
269 |
// Technically, it will be like the plugin is not activated: no global settings and unload rules will be applied
|
270 |
-
if (
|
271 |
define( 'WPACU_NO_LOAD_SET', true );
|
272 |
|
273 |
return true;
|
@@ -312,6 +322,13 @@ if (! function_exists('assetCleanUpNoLoad')) {
|
|
312 |
return true;
|
313 |
}
|
314 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
315 |
// Image Edit via Media Library
|
316 |
if ( $wpacuIsAjaxRequest && isset( $_POST['action'], $_POST['postid'] ) && $_POST['action'] === 'image-editor' ) {
|
317 |
define( 'WPACU_NO_LOAD_SET', true );
|
4 |
exit;
|
5 |
}
|
6 |
|
7 |
+
if ( isset($_GET['wpacu_clean_load']) ) {
|
8 |
// Autoptimize
|
9 |
$_GET['ao_noptimize'] = $_REQUEST['ao_noptimize'] = '1';
|
10 |
|
100 |
'year'
|
101 |
);
|
102 |
|
|
|
|
|
103 |
foreach ($publicQueryVars as $queryVar) {
|
104 |
+
if (strpos('?'.$urlQuery, '&'.$queryVar.'=') !== false || strpos('?'.$urlQuery, '?'.$queryVar.'=') !== false) {
|
105 |
return true;
|
106 |
}
|
107 |
}
|
142 |
return false; // Invalid request
|
143 |
}
|
144 |
|
145 |
+
// Already detected? Avoid duplicate queries
|
146 |
+
if (isset($GLOBALS['wpacu_no_load_matches'][$targetUri])) {
|
147 |
+
return $GLOBALS['wpacu_no_load_matches'][$targetUri];
|
148 |
+
}
|
149 |
+
|
150 |
$doNotLoadRegExps = array();
|
151 |
|
152 |
$wpacuPluginSettingsJson = get_option( WPACU_PLUGIN_ID . '_settings' );
|
174 |
foreach ( $doNotLoadRegExps as $doNotLoadRegExp ) {
|
175 |
if ( @preg_match( $doNotLoadRegExp, $targetUri ) || (strpos($targetUri, $doNotLoadRegExp) !== false) ) {
|
176 |
// There's a match
|
177 |
+
$GLOBALS['wpacu_no_load_matches'][$targetUri] = 'is_set_in_settings';
|
178 |
+
return $GLOBALS['wpacu_no_load_matches'][$targetUri];
|
179 |
}
|
180 |
}
|
181 |
}
|
209 |
|
210 |
if (isset($globalPageOptionsList['page_options']['homepage']['no_wpacu_load'])
|
211 |
&& $globalPageOptionsList['page_options']['homepage']['no_wpacu_load'] == 1) {
|
212 |
+
$GLOBALS['wpacu_no_load_matches'][$targetUri] = 'is_set_in_page';
|
213 |
+
return $GLOBALS['wpacu_no_load_matches'][$targetUri];
|
214 |
}
|
215 |
}
|
216 |
}
|
224 |
$pageOptions = @json_decode( $pageOptionsJson, ARRAY_A );
|
225 |
|
226 |
if (isset($pageOptions['no_wpacu_load']) && $pageOptions['no_wpacu_load'] == 1) {
|
227 |
+
$GLOBALS['wpacu_no_load_matches'][$targetUri] = 'is_set_in_page';
|
228 |
+
return $GLOBALS['wpacu_no_load_matches'][$targetUri];
|
229 |
}
|
230 |
} else {
|
231 |
// Visiting a post, page or custom post type but not the homepage
|
244 |
$dbPageUri = str_replace( $rootUrl, '', $dbPageUrl );
|
245 |
|
246 |
if ( ( $dbPageUri === $targetUri ) || ( strpos( $targetUri, $dbPageUri ) === 0 ) ) {
|
247 |
+
$GLOBALS['wpacu_no_load_matches'][$targetUri] = 'is_set_in_page';
|
248 |
+
return $GLOBALS['wpacu_no_load_matches'][$targetUri];
|
249 |
}
|
250 |
}
|
251 |
}
|
252 |
}
|
253 |
+
|
254 |
+
$GLOBALS['wpacu_no_load_matches'][$targetUri] = false;
|
255 |
+
|
256 |
return false;
|
257 |
}
|
258 |
}
|
270 |
}
|
271 |
|
272 |
// Hide top WordPress admin bar on request for debugging purposes and a cleared view of the tested page
|
273 |
+
if ( isset($_REQUEST['wpacu_no_admin_bar']) ) {
|
274 |
add_filter( 'show_admin_bar', '__return_false', PHP_INT_MAX );
|
275 |
}
|
276 |
|
277 |
// On request: for debugging purposes - e.g. https://yourwebsite.com/?wpacu_no_load
|
278 |
// Also make sure it's in the REQUEST URI and $_GET wasn't altered incorrectly before it's checked
|
279 |
// Technically, it will be like the plugin is not activated: no global settings and unload rules will be applied
|
280 |
+
if ( isset($_GET['wpacu_no_load'], $_SERVER['REQUEST_URI']) && strpos( $_SERVER['REQUEST_URI'], 'wpacu_no_load' ) !== false ) {
|
281 |
define( 'WPACU_NO_LOAD_SET', true );
|
282 |
|
283 |
return true;
|
322 |
return true;
|
323 |
}
|
324 |
|
325 |
+
// On some hosts .css and .js files are loaded dynamically (e.g. through the WordPress environment)
|
326 |
+
if (isset($_SERVER['REQUEST_URI']) && preg_match('#.(css|js)\?ver=#', $_SERVER['REQUEST_URI'])) {
|
327 |
+
define( 'WPACU_NO_LOAD_SET', true );
|
328 |
+
|
329 |
+
return true;
|
330 |
+
}
|
331 |
+
|
332 |
// Image Edit via Media Library
|
333 |
if ( $wpacuIsAjaxRequest && isset( $_POST['action'], $_POST['postid'] ) && $_POST['action'] === 'image-editor' ) {
|
334 |
define( 'WPACU_NO_LOAD_SET', true );
|
readme.txt
CHANGED
@@ -3,8 +3,8 @@ Contributors: gabelivan
|
|
3 |
Tags: minify css, minify javascript, defer css javascript, page speed, dequeue, performance
|
4 |
Donate link: https://www.gabelivan.com/items/wp-asset-cleanup-pro/?utm_source=wp_org_lite&utm_medium=donate
|
5 |
Requires at least: 4.5
|
6 |
-
Tested up to: 5.
|
7 |
-
Stable tag: 1.3.8.
|
8 |
License: GPLv3
|
9 |
License URI: http://www.gnu.org/licenses/gpl.html
|
10 |
|
@@ -150,7 +150,7 @@ Whenever you unload certain CSS/JS files, you expect to either see an immediate
|
|
150 |
|
151 |
= How can I access all the features? =
|
152 |
|
153 |
-
You can get access to more features, priority support and automatic updates by <a href="https://www.gabelivan.com/items/wp-asset-cleanup-pro/?utm_source=wp_org_lite&utm_medium=inside_faq">
|
154 |
|
155 |
= jQuery and jQuery Migrate are often loading on pages/post. Are they always needed? =
|
156 |
|
@@ -190,6 +190,19 @@ With the recently released "Test Mode" feature, you can safely unload assets on
|
|
190 |
4. Homepage CSS & JS Management (List sorted by location)
|
191 |
|
192 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
193 |
= 1.3.8.0 =
|
194 |
* The meta box "Asset CleanUp Pro: Page Options" has had its contents moved to the "Page Options" area from the CSS/JS manager in any location the assets are managed
|
195 |
* Added "Page Options" for the homepage as well (e.g. latest posts) besides posts, pages, and any public custom post types (e.g. WooCommerce product pages)
|
3 |
Tags: minify css, minify javascript, defer css javascript, page speed, dequeue, performance
|
4 |
Donate link: https://www.gabelivan.com/items/wp-asset-cleanup-pro/?utm_source=wp_org_lite&utm_medium=donate
|
5 |
Requires at least: 4.5
|
6 |
+
Tested up to: 5.8
|
7 |
+
Stable tag: 1.3.8.1
|
8 |
License: GPLv3
|
9 |
License URI: http://www.gnu.org/licenses/gpl.html
|
10 |
|
150 |
|
151 |
= How can I access all the features? =
|
152 |
|
153 |
+
You can get access to more features, priority support and automatic updates by <a href="https://www.gabelivan.com/items/wp-asset-cleanup-pro/?utm_source=wp_org_lite&utm_medium=inside_faq">upgrading to the Pro version</a>. It's strongly recommended to avoid using any <a href="https://www.gabelivan.com/asset-cleanup-pro-nulled-wordpress-plugin/?utm_source=wp_org_lite&utm_medium=inside_faq_nulled_area">Asset CleanUp Pro nulled</a> versions as they might contain malware and you will also not get any official support and access to plugin updates (e.g. bug fixes).
|
154 |
|
155 |
= jQuery and jQuery Migrate are often loading on pages/post. Are they always needed? =
|
156 |
|
190 |
4. Homepage CSS & JS Management (List sorted by location)
|
191 |
|
192 |
== Changelog ==
|
193 |
+
= 1.3.8.1 =
|
194 |
+
* Reduce the total number of submitted fields whenever the form from the CSS/JS manager is used to avoid having problems if "max_input_vars" (php.ini) is equal with 1000 or lower / read more: https://www.assetcleanup.com/docs/sometimes-data-is-not-saving-after-submitting-a-form-why/
|
195 |
+
* UX improvement: The state of an asset row (contracted or expanded) is now done via AJAX on click (to reduce the number of inputs from the form)
|
196 |
+
* UX improvement: When CSS/JS groups are contracted / expanded, make sure the change is preserved (Setting's value: "On Assets List Layout Load, keep the groups:") for future visits
|
197 |
+
* Do not add any CSS/JS manager link to the post's actions (when the list of posts is viewed) if the post does not have the status of "publish" or "private"
|
198 |
+
* Highlight the fact that in the "Page Options" area within "Overview" (plugin's menu), there are posts that are not "publish" or "private"
|
199 |
+
* FlyWheel compatibility: The WordPress root directory has to be different than ABSPATH in relation to the assets from the plugins or the theme
|
200 |
+
* Added the plugin version under the "Lite" text next to the logo
|
201 |
+
* Do not show any "Manage CSS & JS" link when viewing certain post types (e.g. "ct_template" from Oxygen Builder)
|
202 |
+
* Fix: "Uncaught ReferenceError: wpacuLoadCSS is not defined" by updating the fallback script for async preloading CSS
|
203 |
+
* Fix: "Warning: Constant WPACU_PREVENT_ANY_FRONTEND_OPTIMIZATION already defined"
|
204 |
+
* Fix: More accuracy in detecting all the loaded assets when they have to be filtered for alternative loading of different content / read more: https://www.assetcleanup.com/docs/?p=988
|
205 |
+
|
206 |
= 1.3.8.0 =
|
207 |
* The meta box "Asset CleanUp Pro: Page Options" has had its contents moved to the "Page Options" area from the CSS/JS manager in any location the assets are managed
|
208 |
* Added "Page Options" for the homepage as well (e.g. latest posts) besides posts, pages, and any public custom post types (e.g. WooCommerce product pages)
|
templates/_admin-page-plugins-manager/_dash.php
CHANGED
@@ -22,7 +22,15 @@ if (! isset($data)) {
|
|
22 |
<?php } ?>
|
23 |
</td>
|
24 |
<td class="wpacu_plugin_details">
|
25 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
26 |
<div class="wpacu-clearfix"></div>
|
27 |
|
28 |
<div class="wrap_plugin_unload_rules_options">
|
22 |
<?php } ?>
|
23 |
</td>
|
24 |
<td class="wpacu_plugin_details">
|
25 |
+
<span class="wpacu_plugin_title"><?php echo $pluginData['title']; ?></span>
|
26 |
+
<span class="wpacu_plugin_path"> <small><?php echo $pluginData['path']; ?></small></span>
|
27 |
+
|
28 |
+
<?php
|
29 |
+
if ($pluginData['network_activated']) {
|
30 |
+
echo ' <span title="Network Activated" class="dashicons dashicons-admin-multisite wpacu-tooltip"></span>';
|
31 |
+
}
|
32 |
+
?>
|
33 |
+
|
34 |
<div class="wpacu-clearfix"></div>
|
35 |
|
36 |
<div class="wrap_plugin_unload_rules_options">
|
templates/_admin-page-plugins-manager/_front.php
CHANGED
@@ -22,8 +22,16 @@ if (! isset($data)) {
|
|
22 |
<?php } ?>
|
23 |
</td>
|
24 |
<td class="wpacu_plugin_details">
|
25 |
-
|
26 |
-
<
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
27 |
|
28 |
<div class="wrap_plugin_unload_rules_options">
|
29 |
<!-- [Start] Unload Rules -->
|
22 |
<?php } ?>
|
23 |
</td>
|
24 |
<td class="wpacu_plugin_details">
|
25 |
+
<span class="wpacu_plugin_title"><?php echo $pluginData['title']; ?></span>
|
26 |
+
<span class="wpacu_plugin_path"> <small><?php echo $pluginData['path']; ?></small></span>
|
27 |
+
|
28 |
+
<?php
|
29 |
+
if ($pluginData['network_activated']) {
|
30 |
+
echo ' <span title="Network Activated" class="dashicons dashicons-admin-multisite wpacu-tooltip"></span>';
|
31 |
+
}
|
32 |
+
?>
|
33 |
+
|
34 |
+
<div class="wpacu-clearfix"></div>
|
35 |
|
36 |
<div class="wrap_plugin_unload_rules_options">
|
37 |
<!-- [Start] Unload Rules -->
|
templates/_admin-page-settings-plugin-areas/_cdn-rewrite-urls.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/*
|
3 |
* No direct access to this file
|
4 |
*/
|
5 |
-
|
6 |
use WpAssetCleanUp\OptimiseAssets\OptimizeCommon;
|
7 |
|
8 |
if (! isset($data, $selectedTabArea)) {
|
@@ -31,7 +31,7 @@ HTML;
|
|
31 |
<tr valign="top">
|
32 |
<th scope="row" class="setting_title">
|
33 |
<label for="wpacu_cdn_rewrite_enable"><?php _e('Enable CDN URL rewrite?', 'wp-asset-clean-up'); ?></label>
|
34 |
-
<p class="wpacu_subtitle"><small><em><?php echo sprintf(__('This applies ONLY to files saved in %s', 'wp-asset-clean-up'), '<code style="font-size: inherit;">'.str_replace(
|
35 |
</th>
|
36 |
<td>
|
37 |
<label class="wpacu_switch">
|
2 |
/*
|
3 |
* No direct access to this file
|
4 |
*/
|
5 |
+
use WpAssetCleanUp\Misc;
|
6 |
use WpAssetCleanUp\OptimiseAssets\OptimizeCommon;
|
7 |
|
8 |
if (! isset($data, $selectedTabArea)) {
|
31 |
<tr valign="top">
|
32 |
<th scope="row" class="setting_title">
|
33 |
<label for="wpacu_cdn_rewrite_enable"><?php _e('Enable CDN URL rewrite?', 'wp-asset-clean-up'); ?></label>
|
34 |
+
<p class="wpacu_subtitle"><small><em><?php echo sprintf(__('This applies ONLY to files saved in %s', 'wp-asset-clean-up'), '<code style="font-size: inherit;">'.str_replace(Misc::getWpRootDirPath(), '', '/' . WP_CONTENT_DIR . OptimizeCommon::getRelPathPluginCacheDir().'</code>')); ?></em></small></p>
|
35 |
</th>
|
36 |
<td>
|
37 |
<label class="wpacu_switch">
|
templates/_admin-page-settings-plugin-areas/_fonts-google/_remove-area.php
CHANGED
@@ -1,4 +1,5 @@
|
|
1 |
<?php
|
|
|
2 |
use WpAssetCleanUp\OptimiseAssets\OptimizeCommon;
|
3 |
|
4 |
if (! isset($data)) {
|
@@ -73,5 +74,5 @@ CSS;
|
|
73 |
<p style="margin-bottom: 6px;"><strong style="border-bottom: 1px dotted black;">Is this solution working 100% for any website?</strong></p>
|
74 |
If you're already using "WebFontConfig" and it's hardcoded in your theme or one of the plugins, it's not easy to strip it via an universal pattern as its code can be scattered in various places and some attempts to strip it off might broke the JavaScript file that triggers it. Thus, in rare cases, you might have some traces left of Google Font requests and you'll need to strip that manually.
|
75 |
|
76 |
-
<p style="margin-top: 10px; font-size: inherit;" class="wpacu-warning"><strong>Note:</strong> After you enable this option, any options from "Optimize Font Delivery" won't trigger anymore. If @import or @font-face matches are found in CSS files, the new updated files will be cached and stored in <strong>/<?php echo str_replace(
|
77 |
</div>
|
1 |
<?php
|
2 |
+
use WpAssetCleanUp\Misc;
|
3 |
use WpAssetCleanUp\OptimiseAssets\OptimizeCommon;
|
4 |
|
5 |
if (! isset($data)) {
|
74 |
<p style="margin-bottom: 6px;"><strong style="border-bottom: 1px dotted black;">Is this solution working 100% for any website?</strong></p>
|
75 |
If you're already using "WebFontConfig" and it's hardcoded in your theme or one of the plugins, it's not easy to strip it via an universal pattern as its code can be scattered in various places and some attempts to strip it off might broke the JavaScript file that triggers it. Thus, in rare cases, you might have some traces left of Google Font requests and you'll need to strip that manually.
|
76 |
|
77 |
+
<p style="margin-top: 10px; font-size: inherit;" class="wpacu-warning"><strong>Note:</strong> After you enable this option, any options from "Optimize Font Delivery" won't trigger anymore. If @import or @font-face matches are found in CSS files, the new updated files will be cached and stored in <strong>/<?php echo str_replace(Misc::getWpRootDirPath(), '', WP_CONTENT_DIR) . OptimizeCommon::getRelPathPluginCacheDir(); ?></strong>. The original files (from either plugins or the theme) won't be altered in any way.</p>
|
78 |
</div>
|
templates/_admin-page-settings-plugin-areas/_optimize-css.php
CHANGED
@@ -167,7 +167,7 @@ $availableForPro = '<a class="go-pro-link-no-style" target="_blank" href="' . WP
|
|
167 |
name="<?php echo WPACU_PLUGIN_ID . '_settings'; ?>[combine_loaded_css]"
|
168 |
value="1" /> <span class="wpacu_slider wpacu_round"></span> </label>
|
169 |
|
170 |
-
<small>* if <code style="font-size: inherit;"><?php echo '/'.str_replace(
|
171 |
|
172 |
<?php
|
173 |
if (! empty($data['is_optimize_css_enabled_by_other_party'])) {
|
167 |
name="<?php echo WPACU_PLUGIN_ID . '_settings'; ?>[combine_loaded_css]"
|
168 |
value="1" /> <span class="wpacu_slider wpacu_round"></span> </label>
|
169 |
|
170 |
+
<small>* if <code style="font-size: inherit;"><?php echo '/'.str_replace(Misc::getWpRootDirPath(), '', WP_CONTENT_DIR) . \WpAssetCleanUp\OptimiseAssets\OptimizeCommon::getRelPathPluginCacheDir(); ?></code> directory is not writable for some reason, this feature will not work; requires the DOMDocument XML DOM Parser to be enabled in PHP (which it is by default) for maximum performance</small>
|
171 |
|
172 |
<?php
|
173 |
if (! empty($data['is_optimize_css_enabled_by_other_party'])) {
|
templates/_admin-page-settings-plugin-areas/_optimize-js.php
CHANGED
@@ -164,7 +164,7 @@ $availableForProMoveScriptsToBody = '<a class="go-pro-link-no-style" target="_bl
|
|
164 |
name="<?php echo WPACU_PLUGIN_ID . '_settings'; ?>[combine_loaded_js]"
|
165 |
value="1" /> <span class="wpacu_slider wpacu_round"></span> </label>
|
166 |
|
167 |
-
<small>* if <code style="font-size: inherit;"><?php echo '/'.str_replace(
|
168 |
|
169 |
<?php
|
170 |
if (! empty($data['is_optimize_js_enabled_by_other_party'])) {
|
164 |
name="<?php echo WPACU_PLUGIN_ID . '_settings'; ?>[combine_loaded_js]"
|
165 |
value="1" /> <span class="wpacu_slider wpacu_round"></span> </label>
|
166 |
|
167 |
+
<small>* if <code style="font-size: inherit;"><?php echo '/'.str_replace(Misc::getWpRootDirPath(), '', WP_CONTENT_DIR) . \WpAssetCleanUp\OptimiseAssets\OptimizeCommon::getRelPathPluginCacheDir(); ?></code> directory is not writable for some reason, this feature will not work; requires the DOMDocument XML DOM Parser to be enabled in PHP (which it is by default) for maximum performance</small>
|
168 |
|
169 |
<?php
|
170 |
if (! empty($data['is_optimize_js_enabled_by_other_party'])) {
|
templates/_admin-page-settings-plugin-areas/_strip-the-fat.php
CHANGED
@@ -2,7 +2,9 @@
|
|
2 |
/*
|
3 |
* No direct access to this file
|
4 |
*/
|
5 |
-
|
|
|
|
|
6 |
exit;
|
7 |
}
|
8 |
|
@@ -27,7 +29,7 @@ $styleTabContent = ($selectedTabArea === $tabIdArea) ? 'style="display: table-ce
|
|
27 |
<hr />
|
28 |
<div style="margin: 20px 0 10px;"><strong style="font-size: 15px; line-height: 17px;"><?php _e('Can this plugin make the pages load slower?', 'wp-asset-clean-up'); ?></strong></div>
|
29 |
<p><?php echo WPACU_PLUGIN_TITLE; ?> doesn't add any extra files to load in the front-end view that will increase the number of HTTP requests in any way as it will defy its purpose. It's main task is to prevent other files from loading and cleaning up the HTML code. Moreover, by enabling concatenation (if your website is not using the HTTP/2 protocol), you will reduce the number of HTTP requests further. If you're using another plugin that also has an option for minification/concatenation and you have enabled the feature on both plugins (never do it), or haven't configured something the right way, you could end up with extra CSS/JS loaded that will eventually lead to a poorer page speed score and a slower website.</p>
|
30 |
-
<p><?php echo WPACU_PLUGIN_TITLE; ?> will never alter (in any way) or delete CSS & JS files from their original source (e.g. plugins, themes). Files created through minification/concatenation are cached and stored in <code><em><?php echo '/'.str_replace(
|
31 |
<hr />
|
32 |
|
33 |
<label class="wpacu_switch">
|
2 |
/*
|
3 |
* No direct access to this file
|
4 |
*/
|
5 |
+
use WpAssetCleanUp\Misc;
|
6 |
+
|
7 |
+
if (! isset($data, $selectedTabArea)) {
|
8 |
exit;
|
9 |
}
|
10 |
|
29 |
<hr />
|
30 |
<div style="margin: 20px 0 10px;"><strong style="font-size: 15px; line-height: 17px;"><?php _e('Can this plugin make the pages load slower?', 'wp-asset-clean-up'); ?></strong></div>
|
31 |
<p><?php echo WPACU_PLUGIN_TITLE; ?> doesn't add any extra files to load in the front-end view that will increase the number of HTTP requests in any way as it will defy its purpose. It's main task is to prevent other files from loading and cleaning up the HTML code. Moreover, by enabling concatenation (if your website is not using the HTTP/2 protocol), you will reduce the number of HTTP requests further. If you're using another plugin that also has an option for minification/concatenation and you have enabled the feature on both plugins (never do it), or haven't configured something the right way, you could end up with extra CSS/JS loaded that will eventually lead to a poorer page speed score and a slower website.</p>
|
32 |
+
<p><?php echo WPACU_PLUGIN_TITLE; ?> will never alter (in any way) or delete CSS & JS files from their original source (e.g. plugins, themes). Files created through minification/concatenation are cached and stored in <code><em><?php echo '/'.str_replace(Misc::getWpRootDirPath(), '', WP_CONTENT_DIR) . \WpAssetCleanUp\OptimiseAssets\OptimizeCommon::getRelPathPluginCacheDir(); ?></em></code> directory.</p>
|
33 |
<hr />
|
34 |
|
35 |
<label class="wpacu_switch">
|
templates/_admin-pages-assets-manager/_homepage.php
CHANGED
@@ -105,7 +105,7 @@ if ($data['show_on_front'] === 'page' && $data['page_on_front']) {
|
|
105 |
|
106 |
$strAdminUrl = 'admin.php?page='.WPACU_PLUGIN_ID.'_assets_manager&wpacu_rand='.uniqid(time(), true);
|
107 |
|
108 |
-
if (
|
109 |
$strAdminUrl .= '&wpacu_manage_dash';
|
110 |
}
|
111 |
|
105 |
|
106 |
$strAdminUrl = 'admin.php?page='.WPACU_PLUGIN_ID.'_assets_manager&wpacu_rand='.uniqid(time(), true);
|
107 |
|
108 |
+
if ( isset($_GET['wpacu_manage_dash']) || isset($_GET['force_manage_dash']) ) { // For debugging purposes
|
109 |
$strAdminUrl .= '&wpacu_manage_dash';
|
110 |
}
|
111 |
|
templates/_admin-pages-assets-manager/_singular-page.php
CHANGED
@@ -51,7 +51,7 @@ if ( $data['for'] !== 'homepage' && isset($data['post_id']) && $data['post_id']
|
|
51 |
|
52 |
$strAdminUrl .= '&wpacu_rand='.uniqid(time(), true);
|
53 |
|
54 |
-
if (
|
55 |
$strAdminUrl .= '&wpacu_manage_dash';
|
56 |
}
|
57 |
|
51 |
|
52 |
$strAdminUrl .= '&wpacu_rand='.uniqid(time(), true);
|
53 |
|
54 |
+
if ( isset($_GET['wpacu_manage_dash']) || isset($_REQUEST['force_manage_dash']) ) { // For debugging purposes
|
55 |
$strAdminUrl .= '&wpacu_manage_dash';
|
56 |
}
|
57 |
|
templates/_top-area.php
CHANGED
@@ -87,7 +87,11 @@ $isSettingsCurrentPage = ($wpacuCurrentPage !== WPACU_PLUGIN_ID . '_settings');
|
|
87 |
<div id="wpacu-logo-wrap">
|
88 |
<a href="<?php echo $wpacuDefaultPageUrl; ?>">
|
89 |
<img alt="" src="<?php echo WPACU_PLUGIN_URL; ?>/assets/images/asset-cleanup-logo.png" />
|
90 |
-
<div class="wpacu-pro-sign wpacu-lite">
|
|
|
|
|
|
|
|
|
91 |
</a>
|
92 |
</div>
|
93 |
|
87 |
<div id="wpacu-logo-wrap">
|
88 |
<a href="<?php echo $wpacuDefaultPageUrl; ?>">
|
89 |
<img alt="" src="<?php echo WPACU_PLUGIN_URL; ?>/assets/images/asset-cleanup-logo.png" />
|
90 |
+
<div class="wpacu-pro-sign wpacu-lite">
|
91 |
+
<div>
|
92 |
+
LITE<div class="wpacu-version-text">v<?php echo WPACU_PLUGIN_VERSION; ?></div>
|
93 |
+
</div>
|
94 |
+
</div>
|
95 |
</a>
|
96 |
</div>
|
97 |
|
templates/admin-page-overview.php
CHANGED
@@ -182,9 +182,18 @@ include_once '_top-area.php';
|
|
182 |
}
|
183 |
|
184 |
if ( $hasPostsWithOptions ) {
|
185 |
-
foreach ($data['page_options_results']['posts'] as $results) {
|
186 |
-
|
187 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
188 |
<td>
|
189 |
<?php
|
190 |
$optionsForCurrentPage = array();
|
182 |
}
|
183 |
|
184 |
if ( $hasPostsWithOptions ) {
|
185 |
+
foreach ($data['page_options_results']['posts'] as $results) {
|
186 |
+
$postStatus = $postStatusText = get_post_status($results['post_id']);
|
187 |
+
|
188 |
+
$rowStyle = '';
|
189 |
+
|
190 |
+
if ( ! in_array($postStatus, array('publish', 'private')) ) {
|
191 |
+
$rowStyle = 'style="opacity: 0.6;"';
|
192 |
+
$postStatusText = '<span style="color: #cc0000;">'.$postStatus.'</span>';
|
193 |
+
}
|
194 |
+
?>
|
195 |
+
<tr <?php echo $rowStyle; ?>>
|
196 |
+
<td><?php echo get_the_title($results['post_id']); ?> / ID: <?php echo $results['post_id']; ?>, Status: <?php echo $postStatusText; ?><br /><small><a target="_blank" href="<?php echo get_permalink($results['post_id']); ?>"><?php echo get_permalink($results['post_id']); ?></a></small></td>
|
197 |
<td>
|
198 |
<?php
|
199 |
$optionsForCurrentPage = array();
|
templates/admin-page-plugins-manager.php
CHANGED
@@ -6,7 +6,7 @@ if (! isset($data)) {
|
|
6 |
exit;
|
7 |
}
|
8 |
|
9 |
-
$wpacuSubPage = (
|
10 |
|
11 |
include_once '_top-area.php';
|
12 |
|
6 |
exit;
|
7 |
}
|
8 |
|
9 |
+
$wpacuSubPage = (isset($_GET['wpacu_sub_page']) && $_GET['wpacu_sub_page']) ? $_GET['wpacu_sub_page'] : 'manage_plugins_front';
|
10 |
|
11 |
include_once '_top-area.php';
|
12 |
|
templates/admin-page-settings-plugin.php
CHANGED
@@ -22,7 +22,7 @@ do_action('wpacu_admin_notices');
|
|
22 |
$wikiStatus = ($data['wiki_read'] == 1) ? '<small style="font-weight: 200; color: green;">* '.__('read', 'wp-asset-clean-up').'</small>'
|
23 |
: '<small style="font-weight: 200; color: #cc0000;"><span class="dashicons dashicons-warning" style="width: 15px; height: 15px; margin: 2px 0 0 0; font-size: 16px;"></span> '.__('unread', 'wp-asset-clean-up').'</small>';
|
24 |
|
25 |
-
$showSettingsType =
|
26 |
$selectedTabArea = $selectedSubTabArea = '';
|
27 |
|
28 |
if ($showSettingsType === 'tabs') {
|
22 |
$wikiStatus = ($data['wiki_read'] == 1) ? '<small style="font-weight: 200; color: green;">* '.__('read', 'wp-asset-clean-up').'</small>'
|
23 |
: '<small style="font-weight: 200; color: #cc0000;"><span class="dashicons dashicons-warning" style="width: 15px; height: 15px; margin: 2px 0 0 0; font-size: 16px;"></span> '.__('unread', 'wp-asset-clean-up').'</small>';
|
24 |
|
25 |
+
$showSettingsType = isset($_GET['wpacu_show_all']) ? 'all' : 'tabs';
|
26 |
$selectedTabArea = $selectedSubTabArea = '';
|
27 |
|
28 |
if ($showSettingsType === 'tabs') {
|
templates/meta-box-loaded-assets/_asset-script-single-row.php
CHANGED
@@ -48,10 +48,7 @@ if (isset($data['handle_rows_contracted']['scripts'][$data['row']['obj']->handle
|
|
48 |
data-wpacu-handle-for="script"
|
49 |
class="wpacu_handle_row_expand_contract"
|
50 |
href="#"><span class="dashicons dashicons-<?php echo $dashSign; ?>"></span></a>
|
51 |
-
|
52 |
-
id="wpacu_script_<?php echo $data['row']['obj']->handle; ?>_row_contracted_area"
|
53 |
-
name="wpacu_handle_row_contracted_area[scripts][<?php echo $data['row']['obj']->handle; ?>]"
|
54 |
-
value="<?php echo $rowIsContracted; ?>" />
|
55 |
</div>
|
56 |
<?php
|
57 |
include '_asset-script-single-row/_handle.php';
|
48 |
data-wpacu-handle-for="script"
|
49 |
class="wpacu_handle_row_expand_contract"
|
50 |
href="#"><span class="dashicons dashicons-<?php echo $dashSign; ?>"></span></a>
|
51 |
+
<!-- -->
|
|
|
|
|
|
|
52 |
</div>
|
53 |
<?php
|
54 |
include '_asset-script-single-row/_handle.php';
|
templates/meta-box-loaded-assets/_asset-script-single-row/_loaded-rules.php
CHANGED
@@ -58,16 +58,17 @@ if (! isset($data)) {
|
|
58 |
<?php
|
59 |
$wpacuDataForId = 'wpacu_handle_media_query_load_script_'.$data['row']['obj']->handle;
|
60 |
?>
|
|
|
61 |
If kept loaded, make the browser download the file
|
62 |
-
|
63 |
-
|
|
|
64 |
class="wpacu-screen-size-load wpacu-for-script">
|
65 |
<option selected="selected" value="">on any screen size (default)</option>
|
66 |
<option disabled="disabled" value="1">if the media query is matched (Pro)</option>
|
67 |
</select>
|
68 |
<div style="display: inline-block; vertical-align: middle; margin-left: -2px;"><a class="wpacu-media-query-load-requires-pro-popup" href="<?php echo WPACU_PLUGIN_GO_PRO_URL; ?>?utm_source=manage_asset&utm_medium=media_query_load_js"><img width="20" height="20" src="<?php echo WPACU_PLUGIN_URL; ?>/assets/icons/icon-lock.svg" valign="top" alt="" /></a></div>
|
69 |
<div class="wpacu-helper-area" style="vertical-align: middle; margin-left: 6px;"><a style="text-decoration: none; color: inherit;" target="_blank" href="https://assetcleanup.com/docs/?p=1023"><span class="dashicons dashicons-editor-help"></span></a></div>
|
70 |
-
<input type="hidden" name="wpacu_media_queries_load[scripts][<?php echo $data['row']['obj']->handle; ?>][value]" value="" />
|
71 |
</div>
|
72 |
</div>
|
73 |
<?php
|
58 |
<?php
|
59 |
$wpacuDataForId = 'wpacu_handle_media_query_load_script_'.$data['row']['obj']->handle;
|
60 |
?>
|
61 |
+
|
62 |
If kept loaded, make the browser download the file
|
63 |
+
<select data-handle="<?php echo $data['row']['obj']->handle; ?>"
|
64 |
+
data-wpacu-input="media-query-select"
|
65 |
+
name="<?php echo WPACU_FORM_ASSETS_POST_KEY; ?>[scripts][<?php echo $data['row']['obj']->handle; ?>][media_query_load][enable]"
|
66 |
class="wpacu-screen-size-load wpacu-for-script">
|
67 |
<option selected="selected" value="">on any screen size (default)</option>
|
68 |
<option disabled="disabled" value="1">if the media query is matched (Pro)</option>
|
69 |
</select>
|
70 |
<div style="display: inline-block; vertical-align: middle; margin-left: -2px;"><a class="wpacu-media-query-load-requires-pro-popup" href="<?php echo WPACU_PLUGIN_GO_PRO_URL; ?>?utm_source=manage_asset&utm_medium=media_query_load_js"><img width="20" height="20" src="<?php echo WPACU_PLUGIN_URL; ?>/assets/icons/icon-lock.svg" valign="top" alt="" /></a></div>
|
71 |
<div class="wpacu-helper-area" style="vertical-align: middle; margin-left: 6px;"><a style="text-decoration: none; color: inherit;" target="_blank" href="https://assetcleanup.com/docs/?p=1023"><span class="dashicons dashicons-editor-help"></span></a></div>
|
|
|
72 |
</div>
|
73 |
</div>
|
74 |
<?php
|
templates/meta-box-loaded-assets/_asset-script-single-row/_source.php
CHANGED
@@ -79,7 +79,8 @@ if (isset($data['row']['obj']->src, $data['row']['obj']->srcHref) && $data['row'
|
|
79 |
⟶
|
80 |
Preload (if kept loaded)?
|
81 |
<select style="display: inline-block; width: auto; <?php if ($isJsPreload) { echo 'background: #f2faf2; padding: 5px; color: black;'; } ?>"
|
82 |
-
|
|
|
83 |
<option value="">No (default)</option>
|
84 |
<option <?php if ($isJsPreload) { ?>selected="selected"<?php } ?> value="basic">Yes, basic</option>
|
85 |
</select>
|
79 |
⟶
|
80 |
Preload (if kept loaded)?
|
81 |
<select style="display: inline-block; width: auto; <?php if ($isJsPreload) { echo 'background: #f2faf2; padding: 5px; color: black;'; } ?>"
|
82 |
+
data-wpacu-input="preload"
|
83 |
+
name="wpacu_preloads[scripts][<?php echo $data['row']['obj']->handle; ?>]">
|
84 |
<option value="">No (default)</option>
|
85 |
<option <?php if ($isJsPreload) { ?>selected="selected"<?php } ?> value="basic">Yes, basic</option>
|
86 |
</select>
|
templates/meta-box-loaded-assets/_asset-style-single-row.php
CHANGED
@@ -45,10 +45,7 @@ if (isset($data['handle_rows_contracted']['styles'][$data['row']['obj']->handle]
|
|
45 |
data-wpacu-handle-for="style"
|
46 |
class="wpacu_handle_row_expand_contract"
|
47 |
href="#"><span class="dashicons dashicons-<?php echo $dashSign; ?>"></span></a>
|
48 |
-
|
49 |
-
id="wpacu_style_<?php echo $data['row']['obj']->handle; ?>_row_contracted_area"
|
50 |
-
name="wpacu_handle_row_contracted_area[styles][<?php echo $data['row']['obj']->handle; ?>]"
|
51 |
-
value="<?php echo $rowIsContracted; ?>" />
|
52 |
</div>
|
53 |
<?php
|
54 |
include '_asset-style-single-row/_handle.php';
|
45 |
data-wpacu-handle-for="style"
|
46 |
class="wpacu_handle_row_expand_contract"
|
47 |
href="#"><span class="dashicons dashicons-<?php echo $dashSign; ?>"></span></a>
|
48 |
+
<!-- -->
|
|
|
|
|
|
|
49 |
</div>
|
50 |
<?php
|
51 |
include '_asset-style-single-row/_handle.php';
|
templates/meta-box-loaded-assets/_asset-style-single-row/_loaded-rules.php
CHANGED
@@ -43,16 +43,17 @@ if ( $showMatchMediaFeature && ! $linkHasDistinctiveMediaAttr ) {
|
|
43 |
<?php
|
44 |
$wpacuDataForId = 'wpacu_handle_media_query_load_style_'.$data['row']['obj']->handle;
|
45 |
?>
|
|
|
46 |
If kept loaded, make the browser download the file
|
47 |
-
|
48 |
-
|
|
|
49 |
class="wpacu-screen-size-load wpacu-for-style">
|
50 |
<option selected="selected" value="">on any screen size (default)</option>
|
51 |
<option disabled="disabled" value="1">if the media query is matched (Pro)</option>
|
52 |
</select>
|
53 |
<div style="display: inline-block; vertical-align: middle; margin-left: -2px;"><a class="wpacu-media-query-load-requires-pro-popup" href="<?php echo WPACU_PLUGIN_GO_PRO_URL; ?>?utm_source=manage_asset&utm_medium=media_query_load_css"><img width="20" height="20" src="<?php echo WPACU_PLUGIN_URL; ?>/assets/icons/icon-lock.svg" valign="top" alt="" /></a></div>
|
54 |
<div class="wpacu-helper-area" style="vertical-align: middle; margin-left: 6px;"><a style="text-decoration: none; color: inherit;" target="_blank" href="https://assetcleanup.com/docs/?p=1023"><span class="dashicons dashicons-editor-help"></span></a></div>
|
55 |
-
<input type="hidden" name="wpacu_media_queries_load[styles][<?php echo $data['row']['obj']->handle; ?>][value]" value="" />
|
56 |
</div>
|
57 |
<?php
|
58 |
}
|
43 |
<?php
|
44 |
$wpacuDataForId = 'wpacu_handle_media_query_load_style_'.$data['row']['obj']->handle;
|
45 |
?>
|
46 |
+
|
47 |
If kept loaded, make the browser download the file
|
48 |
+
<select data-handle="<?php echo $data['row']['obj']->handle; ?>"
|
49 |
+
data-wpacu-input="media-query-select"
|
50 |
+
name="<?php echo WPACU_FORM_ASSETS_POST_KEY; ?>[styles][<?php echo $data['row']['obj']->handle; ?>][media_query_load][enable]"
|
51 |
class="wpacu-screen-size-load wpacu-for-style">
|
52 |
<option selected="selected" value="">on any screen size (default)</option>
|
53 |
<option disabled="disabled" value="1">if the media query is matched (Pro)</option>
|
54 |
</select>
|
55 |
<div style="display: inline-block; vertical-align: middle; margin-left: -2px;"><a class="wpacu-media-query-load-requires-pro-popup" href="<?php echo WPACU_PLUGIN_GO_PRO_URL; ?>?utm_source=manage_asset&utm_medium=media_query_load_css"><img width="20" height="20" src="<?php echo WPACU_PLUGIN_URL; ?>/assets/icons/icon-lock.svg" valign="top" alt="" /></a></div>
|
56 |
<div class="wpacu-helper-area" style="vertical-align: middle; margin-left: 6px;"><a style="text-decoration: none; color: inherit;" target="_blank" href="https://assetcleanup.com/docs/?p=1023"><span class="dashicons dashicons-editor-help"></span></a></div>
|
|
|
57 |
</div>
|
58 |
<?php
|
59 |
}
|
templates/meta-box-loaded-assets/_asset-style-single-row/_source.php
CHANGED
@@ -123,7 +123,8 @@ SVG;
|
|
123 |
⟶
|
124 |
Preload (if kept loaded)?
|
125 |
<select style="display: inline-block; width: auto; <?php if ($isCssPreload) { echo 'background: #f2faf2; padding: 5px; color: black;'; } ?>"
|
126 |
-
|
|
|
127 |
<option value="">No (default)</option>
|
128 |
<option <?php if ($isCssPreload) { ?>selected="selected"<?php } ?> value="basic">Yes, basic</option>
|
129 |
<option disabled="disabled" value="async">Yes, async (Pro)</option>
|
123 |
⟶
|
124 |
Preload (if kept loaded)?
|
125 |
<select style="display: inline-block; width: auto; <?php if ($isCssPreload) { echo 'background: #f2faf2; padding: 5px; color: black;'; } ?>"
|
126 |
+
data-wpacu-input="preload"
|
127 |
+
name="wpacu_preloads[styles][<?php echo $data['row']['obj']->handle; ?>]">
|
128 |
<option value="">No (default)</option>
|
129 |
<option <?php if ($isCssPreload) { ?>selected="selected"<?php } ?> value="basic">Yes, basic</option>
|
130 |
<option disabled="disabled" value="async">Yes, async (Pro)</option>
|
templates/meta-box-loaded-assets/_assets-top-area.php
ADDED
@@ -0,0 +1,52 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
// no direct access
|
3 |
+
if (! isset($data)) {
|
4 |
+
exit;
|
5 |
+
}
|
6 |
+
?>
|
7 |
+
|
8 |
+
<p><?php echo sprintf(
|
9 |
+
__('Please select the styles & scripts that are %sNOT NEEDED%s from the list below. Not sure which ones to unload? %s Use "Test Mode" (to make the changes apply only to you), while you are going through the trial & error process.', 'wp-asset-clean-up'),
|
10 |
+
'<span style="color: #CC0000;"><strong>',
|
11 |
+
'</strong></span>',
|
12 |
+
'<img draggable="false" class="wpacu-emoji" style="max-width: 26px; max-height: 26px;" alt="" src="https://s.w.org/images/core/emoji/11.2.0/svg/1f914.svg">'
|
13 |
+
); ?></p>
|
14 |
+
|
15 |
+
<?php
|
16 |
+
if ($data['plugin_settings']['hide_core_files']) {
|
17 |
+
?>
|
18 |
+
<div class="wpacu_note"><span class="dashicons dashicons-info"></span> WordPress CSS & JavaScript core files are hidden as requested in the plugin's settings. They are meant to be managed by experienced developers in special situations.</div>
|
19 |
+
<div class="wpacu-clearfix" style="margin-top: 10px;"></div>
|
20 |
+
<?php
|
21 |
+
}
|
22 |
+
|
23 |
+
if ( ( (isset($data['core_styles_loaded']) && $data['core_styles_loaded']) || (isset($data['core_scripts_loaded']) && $data['core_scripts_loaded']) ) && ! $data['plugin_settings']['hide_core_files']) {
|
24 |
+
?>
|
25 |
+
<div class="wpacu_note wpacu_warning">
|
26 |
+
<em><?php echo sprintf(
|
27 |
+
__('Assets that are marked with %s are part of WordPress core files. Be careful if you decide to unload them! If you are not sure what to do, just leave them loaded by default and consult with a developer.', 'wp-asset-clean-up'),
|
28 |
+
'<span class="dashicons dashicons-wordpress-alt wordpress-core-file"></span>' );
|
29 |
+
?>
|
30 |
+
</em>
|
31 |
+
</div>
|
32 |
+
<?php
|
33 |
+
}
|
34 |
+
?>
|
35 |
+
|
36 |
+
<div style="margin: 10px 0;">
|
37 |
+
<?php echo $data['assets_list_layout_output']; ?>
|
38 |
+
</div>
|
39 |
+
|
40 |
+
<?php
|
41 |
+
$imgLoadingSpinner = '<img class="wpacu-ajax-loader" align="top" src="'.admin_url('images/spinner.gif').'" alt="" />';
|
42 |
+
?>
|
43 |
+
<div style="margin-bottom: 20px;" class="wpacu-contract-expand-area">
|
44 |
+
<div class="col-left">
|
45 |
+
<strong>➝ Total enqueued files (including core files): <?php echo (int)$data['total_styles'] + (int)$data['total_scripts']; ?></strong>
|
46 |
+
</div>
|
47 |
+
<div id="wpacu-assets-groups-change-state-area" data-wpacu-groups-current-state="<?php echo $data['plugin_settings']['assets_list_layout_areas_status']; ?>" class="col-right">
|
48 |
+
<button id="wpacu-assets-contract-all" class="wpacu-wp-button wpacu-wp-button-secondary"><?php echo $imgLoadingSpinner; ?> <span>Contract All Groups</span></button>
|
49 |
+
<button id="wpacu-assets-expand-all" class="wpacu-wp-button wpacu-wp-button-secondary"><?php echo $imgLoadingSpinner; ?> <span>Expand All Groups</span></button>
|
50 |
+
</div>
|
51 |
+
<div class="wpacu-clearfix"></div>
|
52 |
+
</div>
|
templates/meta-box-loaded-assets/_hardcoded/_asset-script-single-row-hardcoded.php
CHANGED
@@ -25,10 +25,7 @@ if (isset($data['handle_rows_contracted']['scripts'][$data['row']['obj']->handle
|
|
25 |
data-wpacu-handle-for="script"
|
26 |
class="wpacu_handle_row_expand_contract"
|
27 |
href="#"><span class="dashicons dashicons-<?php echo $dashSign; ?>"></span></a>
|
28 |
-
|
29 |
-
id="wpacu_script_<?php echo $data['row']['obj']->handle; ?>_row_contracted_area"
|
30 |
-
name="wpacu_handle_row_contracted_area[scripts][<?php echo $data['row']['obj']->handle; ?>]"
|
31 |
-
value="<?php echo $rowIsContracted; ?>" />
|
32 |
</div>
|
33 |
<?php
|
34 |
$insideIeCommentHtml = '<span class="wpacu_inside_cond_comm"><img style="vertical-align: middle;" width="25" height="25" src="'.WPACU_PLUGIN_URL.'/assets/icons/icon-ie.svg" alt="" title="Microsoft / Public domain" /> <span style="font-weight: 400; color: #1C87CF;">Loads only in Internet Explorer based on the following condition:</span> <em>if '.$data['row']['obj']->inside_conditional_comment.'</em></span>';
|
25 |
data-wpacu-handle-for="script"
|
26 |
class="wpacu_handle_row_expand_contract"
|
27 |
href="#"><span class="dashicons dashicons-<?php echo $dashSign; ?>"></span></a>
|
28 |
+
<!-- -->
|
|
|
|
|
|
|
29 |
</div>
|
30 |
<?php
|
31 |
$insideIeCommentHtml = '<span class="wpacu_inside_cond_comm"><img style="vertical-align: middle;" width="25" height="25" src="'.WPACU_PLUGIN_URL.'/assets/icons/icon-ie.svg" alt="" title="Microsoft / Public domain" /> <span style="font-weight: 400; color: #1C87CF;">Loads only in Internet Explorer based on the following condition:</span> <em>if '.$data['row']['obj']->inside_conditional_comment.'</em></span>';
|
templates/meta-box-loaded-assets/_hardcoded/_asset-style-single-row-hardcoded.php
CHANGED
@@ -25,10 +25,8 @@ if (isset($data['handle_rows_contracted']['styles'][$data['row']['obj']->handle]
|
|
25 |
data-wpacu-handle-for="style"
|
26 |
class="wpacu_handle_row_expand_contract"
|
27 |
href="#"><span class="dashicons dashicons-<?php echo $dashSign; ?>"></span></a>
|
28 |
-
|
29 |
-
|
30 |
-
name="wpacu_handle_row_contracted_area[styles][<?php echo $data['row']['obj']->handle; ?>]"
|
31 |
-
value="<?php echo $rowIsContracted; ?>" />
|
32 |
</div>
|
33 |
<?php
|
34 |
$insideIeCommentHtml = '<span class="wpacu_inside_cond_comm"><img style="vertical-align: middle;" width="25" height="25" src="'.WPACU_PLUGIN_URL.'/assets/icons/icon-ie.svg" alt="" title="Microsoft / Public domain" /> <span style="font-weight: 400; color: #1C87CF;">Loads only in Internet Explorer based on the following condition:</span> <em>if '.$data['row']['obj']->inside_conditional_comment.'</em></span>';
|
25 |
data-wpacu-handle-for="style"
|
26 |
class="wpacu_handle_row_expand_contract"
|
27 |
href="#"><span class="dashicons dashicons-<?php echo $dashSign; ?>"></span></a>
|
28 |
+
|
29 |
+
<!-- -->
|
|
|
|
|
30 |
</div>
|
31 |
<?php
|
32 |
$insideIeCommentHtml = '<span class="wpacu_inside_cond_comm"><img style="vertical-align: middle;" width="25" height="25" src="'.WPACU_PLUGIN_URL.'/assets/icons/icon-ie.svg" alt="" title="Microsoft / Public domain" /> <span style="font-weight: 400; color: #1C87CF;">Loads only in Internet Explorer based on the following condition:</span> <em>if '.$data['row']['obj']->inside_conditional_comment.'</em></span>';
|
templates/meta-box-loaded-assets/view-all.php
CHANGED
@@ -5,18 +5,14 @@ if (! isset($data)) {
|
|
5 |
}
|
6 |
|
7 |
$listAreaStatus = $data['plugin_settings']['assets_list_layout_areas_status'];
|
8 |
-
|
9 |
-
<div style="margin: 10px 0;">
|
10 |
-
<?php
|
11 |
-
echo $data['assets_list_layout_output'];
|
12 |
-
?>
|
13 |
-
</div>
|
14 |
-
<?php
|
15 |
/*
|
16 |
* ------------------------------
|
17 |
* [START] STYLES & SCRIPTS LIST
|
18 |
* ------------------------------
|
19 |
*/
|
|
|
|
|
20 |
?>
|
21 |
<div class="wpacu-assets-collapsible-wrap wpacu-wrap-all">
|
22 |
<a style="padding: 15px;" class="wpacu-assets-collapsible <?php if ($listAreaStatus !== 'contracted') { ?>wpacu-assets-collapsible-active<?php } ?>" href="#wpacu-assets-collapsible-content">
|
@@ -29,28 +25,6 @@ $listAreaStatus = $data['plugin_settings']['assets_list_layout_areas_status'];
|
|
29 |
<?php
|
30 |
if (! empty($data['all']['styles']) || ! empty($data['all']['scripts'])) {
|
31 |
?>
|
32 |
-
<p><?php echo sprintf(__('The following styles & scripts are loading on this page. Please select the ones that are %sNOT NEEDED%s. If you are not sure which ones to unload, it is better to leave them enabled and consult with a developer about unloading the assets.', 'wp-asset-clean-up'), '<span style="color: #CC0000;"><strong>', '</strong></span>'); ?></p>
|
33 |
-
<?php
|
34 |
-
if ($data['plugin_settings']['hide_core_files']) {
|
35 |
-
?>
|
36 |
-
<div class="wpacu_note"><span class="dashicons dashicons-info"></span> WordPress CSS & JavaScript core files are hidden as requested in the plugin's settings. They are meant to be managed by experienced developers in special situations.</div>
|
37 |
-
<div class="wpacu-clearfix" style="margin-top: 10px;"></div>
|
38 |
-
<?php
|
39 |
-
}
|
40 |
-
|
41 |
-
if ( ( (isset($data['core_styles_loaded']) && $data['core_styles_loaded']) || (isset($data['core_scripts_loaded']) && $data['core_scripts_loaded']) ) && ! $data['plugin_settings']['hide_core_files']) {
|
42 |
-
?>
|
43 |
-
<div class="wpacu_note wpacu_warning"><em><?php
|
44 |
-
echo sprintf(
|
45 |
-
__('Assets that are marked with %s are part of WordPress core files. Be careful if you decide to unload them! If you are not sure what to do, just leave them loaded by default and consult with a developer.', 'wp-asset-clean-up'),
|
46 |
-
'<span class="dashicons dashicons-warning"></span>'
|
47 |
-
);
|
48 |
-
?>
|
49 |
-
</em></div>
|
50 |
-
<?php
|
51 |
-
}
|
52 |
-
?>
|
53 |
-
|
54 |
<table class="wpacu_list_table wpacu_widefat wpacu_striped">
|
55 |
<tbody>
|
56 |
<?php
|
5 |
}
|
6 |
|
7 |
$listAreaStatus = $data['plugin_settings']['assets_list_layout_areas_status'];
|
8 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
/*
|
10 |
* ------------------------------
|
11 |
* [START] STYLES & SCRIPTS LIST
|
12 |
* ------------------------------
|
13 |
*/
|
14 |
+
|
15 |
+
require_once __DIR__.'/_assets-top-area.php';
|
16 |
?>
|
17 |
<div class="wpacu-assets-collapsible-wrap wpacu-wrap-all">
|
18 |
<a style="padding: 15px;" class="wpacu-assets-collapsible <?php if ($listAreaStatus !== 'contracted') { ?>wpacu-assets-collapsible-active<?php } ?>" href="#wpacu-assets-collapsible-content">
|
25 |
<?php
|
26 |
if (! empty($data['all']['styles']) || ! empty($data['all']['scripts'])) {
|
27 |
?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
28 |
<table class="wpacu_list_table wpacu_widefat wpacu_striped">
|
29 |
<tbody>
|
30 |
<?php
|
templates/meta-box-loaded-assets/view-by-loaded-unloaded.php
CHANGED
@@ -11,52 +11,9 @@ $listAreaStatus = $data['plugin_settings']['assets_list_layout_areas_status'];
|
|
11 |
* [START] BY Loaded or Unloaded
|
12 |
* -------------------------------
|
13 |
*/
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
if (! empty($data['all']['styles']) || ! empty($data['all']['scripts'])) {
|
18 |
-
?>
|
19 |
-
<p><?php echo sprintf(__('The following styles & scripts are loading on this page. Please select the ones that are %sNOT NEEDED%s. If you are not sure which ones to unload, it is better to enable "Test Mode" (to make the changes apply only to you), while you are going through the trial & error process.', 'wp-asset-clean-up'), '<span style="color: #CC0000;"><strong>', '</strong></span>'); ?></p>
|
20 |
-
<?php
|
21 |
-
if ($data['plugin_settings']['hide_core_files']) {
|
22 |
-
?>
|
23 |
-
<div class="wpacu_note"><span class="dashicons dashicons-info"></span> WordPress CSS & JavaScript core files are hidden as requested in the plugin's settings. They are meant to be managed by experienced developers in special situations.</div>
|
24 |
-
<div class="wpacu-clearfix" style="margin-top: 10px;"></div>
|
25 |
-
<?php
|
26 |
-
}
|
27 |
-
|
28 |
-
if ( ( (isset($data['core_styles_loaded']) && $data['core_styles_loaded']) || (isset($data['core_scripts_loaded']) && $data['core_scripts_loaded']) ) && ! $data['plugin_settings']['hide_core_files']) {
|
29 |
-
?>
|
30 |
-
<div class="wpacu_note wpacu_warning"><em><?php
|
31 |
-
echo sprintf(
|
32 |
-
__('Assets that are marked with %s are part of WordPress core files. Be careful if you decide to unload them! If you are not sure what to do, just leave them loaded by default and consult with a developer.', 'wp-asset-clean-up'),
|
33 |
-
'<span class="dashicons dashicons-warning"></span>'
|
34 |
-
);
|
35 |
-
?>
|
36 |
-
</em></div>
|
37 |
-
<?php
|
38 |
-
}
|
39 |
-
?>
|
40 |
-
</div>
|
41 |
-
|
42 |
-
<div style="margin: 10px 0;">
|
43 |
-
<?php
|
44 |
-
echo $data['assets_list_layout_output'];
|
45 |
-
?>
|
46 |
-
</div>
|
47 |
-
|
48 |
-
<div style="margin-bottom: 20px;" class="wpacu-contract-expand-area">
|
49 |
-
<div class="col-left">
|
50 |
-
<strong>➝ Total enqueued files (including core files): <?php echo (int)$data['total_styles'] + (int)$data['total_scripts']; ?></strong>
|
51 |
-
</div>
|
52 |
-
<div class="col-right">
|
53 |
-
<a href="#" id="wpacu-assets-contract-all" class="wpacu-wp-button wpacu-wp-button-secondary">Contract All Groups</a>
|
54 |
-
<a href="#" id="wpacu-assets-expand-all" class="wpacu-wp-button wpacu-wp-button-secondary">Expand All Groups</a>
|
55 |
-
</div>
|
56 |
-
<div class="wpacu-clearfix"></div>
|
57 |
-
</div>
|
58 |
-
|
59 |
-
<?php
|
60 |
$data['view_by_loaded_unloaded'] =
|
61 |
$data['rows_build_array'] =
|
62 |
$data['rows_by_loaded_unloaded'] = true;
|
11 |
* [START] BY Loaded or Unloaded
|
12 |
* -------------------------------
|
13 |
*/
|
14 |
+
if (! empty($data['all']['styles']) || ! empty($data['all']['scripts'])) {
|
15 |
+
require_once __DIR__.'/_assets-top-area.php';
|
16 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
17 |
$data['view_by_loaded_unloaded'] =
|
18 |
$data['rows_build_array'] =
|
19 |
$data['rows_by_loaded_unloaded'] = true;
|
templates/meta-box-loaded-assets/view-by-location.php
CHANGED
@@ -16,302 +16,264 @@ $pluginsAreaStatus = $data['plugin_settings']['assets_list_layout_plugin_area_st
|
|
16 |
* [START] BY EACH LOCATION
|
17 |
* -------------------------
|
18 |
*/
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
if (!
|
23 |
-
|
24 |
-
<p><?php echo sprintf(
|
25 |
-
__('Please select the styles & scripts that are %sNOT NEEDED%s from the list below. Not sure which ones to unload? %s Use "Test Mode" (to make the changes apply only to you), while you are going through the trial & error process.', 'wp-asset-clean-up'),
|
26 |
-
'<span style="color: #CC0000;"><strong>',
|
27 |
-
'</strong></span>',
|
28 |
-
'<img draggable="false" class="wpacu-emoji" style="max-width: 26px; max-height: 26px;" alt="" src="https://s.w.org/images/core/emoji/11.2.0/svg/1f914.svg">'
|
29 |
-
); ?></p>
|
30 |
-
<?php
|
31 |
-
if ($data['plugin_settings']['hide_core_files']) {
|
32 |
-
?>
|
33 |
-
<div class="wpacu_note"><span class="dashicons dashicons-info"></span> WordPress CSS & JavaScript core files are hidden as requested in the plugin's settings. They are meant to be managed by experienced developers in special situations.</div>
|
34 |
-
<div class="wpacu-clearfix" style="margin-top: 10px;"></div>
|
35 |
-
<?php
|
36 |
}
|
37 |
-
?>
|
38 |
-
</div>
|
39 |
-
|
40 |
-
<div style="margin: 10px 0;">
|
41 |
-
<?php
|
42 |
-
echo $data['assets_list_layout_output'];
|
43 |
-
?>
|
44 |
-
</div>
|
45 |
-
|
46 |
-
<div style="margin-bottom: 20px;" class="wpacu-contract-expand-area">
|
47 |
-
<div class="col-left">
|
48 |
-
<strong>➝ Total enqueued files (including core files): <?php echo (int)$data['total_styles'] + (int)$data['total_scripts']; ?></strong>
|
49 |
-
</div>
|
50 |
-
<div class="col-right">
|
51 |
-
<a href="#" id="wpacu-assets-contract-all" class="wpacu-wp-button wpacu-wp-button-secondary">Contract All Groups</a>
|
52 |
-
<a href="#" id="wpacu-assets-expand-all" class="wpacu-wp-button wpacu-wp-button-secondary">Expand All Groups</a>
|
53 |
-
</div>
|
54 |
-
<div class="wpacu-clearfix"></div>
|
55 |
-
</div>
|
56 |
-
|
57 |
-
<?php
|
58 |
-
if (! function_exists('get_plugins') && ! is_admin()) {
|
59 |
-
require_once ABSPATH . 'wp-admin/includes/plugin.php';
|
60 |
-
}
|
61 |
-
|
62 |
-
$allPlugins = get_plugins();
|
63 |
-
$allThemes = wp_get_themes();
|
64 |
-
$allActivePluginsIcons = \WpAssetCleanUp\Misc::getAllActivePluginsIcons();
|
65 |
-
|
66 |
-
$data['view_by_location'] =
|
67 |
-
$data['rows_build_array'] =
|
68 |
-
$data['rows_by_location'] = true;
|
69 |
-
|
70 |
-
$data['rows_assets'] = array();
|
71 |
-
|
72 |
-
require_once __DIR__.'/_asset-style-rows.php';
|
73 |
-
require_once __DIR__.'/_asset-script-rows.php';
|
74 |
-
|
75 |
-
$locationsText = array(
|
76 |
-
'plugins' => '<span class="dashicons dashicons-admin-plugins"></span> From Plugins (.css & .js)',
|
77 |
-
'themes' => '<span class="dashicons dashicons-admin-appearance"></span> From Themes (.css & .js)',
|
78 |
-
'uploads' => '<span class="dashicons dashicons-wordpress"></span> WordPress Uploads Directory (.css & .js)',
|
79 |
-
'wp_core' => '<span class="dashicons dashicons-wordpress"></span> WordPress Core (.css & .js)',
|
80 |
-
'external' => '<span class="dashicons dashicons-cloud"></span> External 3rd Party (.css & .js)'
|
81 |
-
);
|
82 |
-
|
83 |
-
if (! empty($data['rows_assets'])) {
|
84 |
-
// Sorting: Plugins, Themes, Uploads Directory and External Assets
|
85 |
-
$rowsAssets = array('plugins' => array(), 'themes' => array(), 'uploads' => array(), 'wp_core' => array(), 'external' => array());
|
86 |
-
|
87 |
-
foreach ($data['rows_assets'] as $locationMain => $values) {
|
88 |
-
$rowsAssets[$locationMain] = $values;
|
89 |
-
}
|
90 |
-
|
91 |
-
foreach ($rowsAssets as $locationMain => $values) {
|
92 |
-
ksort($values);
|
93 |
-
$totalLocationAssets = count($values);
|
94 |
-
$hideLocationMainArea = ($locationMain === 'uploads' && $totalLocationAssets === 0);
|
95 |
-
$hideListOfAssetsOnly = ($locationMain === 'wp_core' && $data['plugin_settings']['hide_core_files']);
|
96 |
-
|
97 |
-
ob_start();
|
98 |
-
?>
|
99 |
-
<div <?php if ($hideLocationMainArea) {
|
100 |
-
echo 'style="display: none;"';
|
101 |
-
} ?> class="wpacu-assets-collapsible-wrap wpacu-by-location wpacu-<?php echo $locationMain; ?>">
|
102 |
-
<a class="wpacu-assets-collapsible <?php if ($listAreaStatus !== 'contracted') { ?>wpacu-assets-collapsible-active<?php } ?>"
|
103 |
-
href="#wpacu-assets-collapsible-content-<?php echo $locationMain; ?>">
|
104 |
-
<?php echo $locationsText[$locationMain]; ?> ➝ Total files: {total_files_<?php echo $locationMain; ?>}
|
105 |
-
</a>
|
106 |
-
|
107 |
-
<div class="wpacu-assets-collapsible-content <?php if ($listAreaStatus !== 'contracted') { ?>wpacu-open<?php } ?>">
|
108 |
-
<?php if ($locationMain === 'external') { ?>
|
109 |
-
<p class="wpacu-assets-note"><strong>Note:</strong> External .css and .js assets are considered
|
110 |
-
those who are hosted on a different domain (e.g. Google Font API, assets loaded from external
|
111 |
-
CDNs) and the ones outside the WordPress "plugins" (usually /wp-content/plugins/), "themes"
|
112 |
-
(usually /wp-content/themes/) and "uploads" (usually /wp-content/uploads/) directories.</p>
|
113 |
-
<?php
|
114 |
-
// WP Core CSS/JS list is visible
|
115 |
-
} elseif ($locationMain === 'wp_core' && ! $data['plugin_settings']['hide_core_files']) { ?>
|
116 |
-
<p class="wpacu-assets-note"><span style="color: red;" class="dashicons dashicons-warning"></span> <strong>Warning:</strong> Please be careful when doing any changes to the
|
117 |
-
following core assets as they can break the functionality of the front-end website. If you're
|
118 |
-
not sure about unloading any asset, just leave it loaded.</p>
|
119 |
-
<?php
|
120 |
-
// WP Core CSS/JS list is hidden
|
121 |
-
} elseif ($locationMain === 'wp_core' && $data['plugin_settings']['hide_core_files']) {
|
122 |
-
?>
|
123 |
-
<p class="wpacu-assets-note"><strong>Note:</strong> By default, <?php echo WPACU_PLUGIN_TITLE; ?> does not show the list of CSS/JS loaded from the WordPress core. Usually, WordPress core files are loaded for a reason and this setting was applied to prevent accidental unload of files that could be needed (e.g. jQuery library, Underscore library etc.).</p>
|
124 |
-
<p class="wpacu-assets-note"><span class="dashicons dashicons-info"></span> If you believe that you do not need some of the loaded core files (e.g. WordPress Gutenberg styling - Handle: 'wp-block-library') and you want to manage the files loaded from <em>/wp-includes/</em>, you can go to the plugin's <strong>"Settings"</strong>, click on the <strong>"Plugin Usage Preferences"</strong> tab, scroll to <strong>"Hide WordPress Core Files From The Assets List?"</strong> and make sure the option <strong>is turned off</strong>.</p>
|
125 |
-
<?php
|
126 |
-
} elseif ($locationMain === 'uploads') { ?>
|
127 |
-
<p class="wpacu-assets-note" style="padding: 15px 15px 0 0;"><strong>Note:</strong> These are the
|
128 |
-
CSS/JS files load from the /wp-content/uploads/ WordPress directory. They were copied there by
|
129 |
-
other plugins or developers working on the website. In case the file was detected to be
|
130 |
-
generated by a specific plugin through various verification patterns (e.g. for plugins such as
|
131 |
-
Elementor, Oxygen Builder etc.), then it will be not listed here, but in the "From Plugins (.css
|
132 |
-
& .js)" area for the detected plugin. This is to have all the files related to a plugin
|
133 |
-
organised in one place.</p>
|
134 |
-
<?php
|
135 |
-
}
|
136 |
-
?>
|
137 |
-
|
138 |
-
<?php
|
139 |
-
$locationRowCount = 0;
|
140 |
-
$totalLocationAssets = count($values);
|
141 |
-
|
142 |
-
// Total files from all the plugins
|
143 |
-
$totalFilesArray[$locationMain] = 0;
|
144 |
-
|
145 |
-
// Default value (not contracted)
|
146 |
-
$pluginListContracted = false;
|
147 |
-
|
148 |
-
if ($totalLocationAssets > 0) {
|
149 |
-
$locI = 1;
|
150 |
-
|
151 |
-
// Going through each plugin/theme etc.
|
152 |
-
foreach ( $values as $locationChild => $values2 ) {
|
153 |
-
if ($locationMain === 'plugins') {
|
154 |
-
$totalPluginAssets = $totalBulkUnloadedAssetsPerPlugin = 0;
|
155 |
-
}
|
156 |
-
|
157 |
-
ksort( $values2 );
|
158 |
-
|
159 |
-
$assetRowsOutput = '';
|
160 |
-
|
161 |
-
// Going through each asset from the plugin/theme
|
162 |
-
foreach ( $values2 as $assetType => $assetRows ) {
|
163 |
-
foreach ( $assetRows as $assetRow ) {
|
164 |
-
$assetRowsOutput .= $assetRow . "\n";
|
165 |
-
|
166 |
-
if ( $locationMain === 'plugins' ) {
|
167 |
-
if (strpos( $assetRow, 'wpacu_is_bulk_unloaded' ) !== false ) {
|
168 |
-
$totalBulkUnloadedAssetsPerPlugin ++;
|
169 |
-
}
|
170 |
-
|
171 |
-
$totalPluginAssets ++;
|
172 |
-
}
|
173 |
-
|
174 |
-
$totalFilesArray[$locationMain] ++;
|
175 |
-
}
|
176 |
-
}
|
177 |
-
|
178 |
-
if ( $locationChild !== 'none' ) {
|
179 |
-
if ( $locationMain === 'plugins' ) {
|
180 |
-
$locationChildText = \WpAssetCleanUp\Info::getPluginInfo( $locationChild, $allPlugins, $allActivePluginsIcons );
|
181 |
-
|
182 |
-
$isLastPluginAsset = ( count( $values ) - 1 ) === $locationRowCount;
|
183 |
-
$pluginListContracted = ( $locationMain === 'plugins' && $pluginsAreaStatus === 'contracted' );
|
184 |
-
|
185 |
-
// Show it if there is at least one available "Unload on this page"
|
186 |
-
$showUnloadOnThisPageCheckUncheckAll = $totalPluginAssets !== $totalBulkUnloadedAssetsPerPlugin;
|
187 |
-
|
188 |
-
// Show it if all the assets from the plugin are bulk unloaded
|
189 |
-
$showLoadItOnThisPageCheckUncheckAll = $totalBulkUnloadedAssetsPerPlugin === $totalPluginAssets;
|
190 |
-
} elseif ( $locationMain === 'themes' ) {
|
191 |
-
$locationChildThemeArray = \WpAssetCleanUp\Info::getThemeInfo( $locationChild, $allThemes );
|
192 |
-
$locationChildText = $locationChildThemeArray['output'];
|
193 |
-
} else {
|
194 |
-
$locationChildText = $locationChild;
|
195 |
-
}
|
196 |
-
|
197 |
-
$extraClassesToAppend = '';
|
198 |
-
|
199 |
-
if ( $locationMain === 'plugins' && $isLastPluginAsset ) {
|
200 |
-
$extraClassesToAppend .= ' wpacu-area-last ';
|
201 |
-
}
|
202 |
|
203 |
-
|
204 |
-
|
205 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
206 |
|
207 |
-
// PLUGIN LIST: VIEW THEIR ASSETS
|
208 |
-
// EXPANDED (DEFAULT)
|
209 |
if ( $locationMain === 'plugins' ) {
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
232 |
?>
|
233 |
-
<
|
234 |
-
|
235 |
-
<div class="wpacu-
|
236 |
-
|
|
|
|
|
237 |
<?php
|
238 |
-
} else {
|
239 |
-
?>
|
240 |
<div data-wpacu-plugin="<?php echo $locationChild; ?>"
|
241 |
class="wpacu-location-child-area wpacu-area-expanded <?php echo $extraClassesToAppend; ?>">
|
242 |
-
<div class="wpacu-area-title"
|
|
|
|
|
|
|
|
|
|
|
243 |
</div>
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
<table <?php if ( $locationMain === 'plugins' ) {
|
262 |
-
echo ' data-wpacu-plugin="' . $locationChild . '" ';
|
263 |
-
} ?> class="wpacu_list_table wpacu_list_by_location wpacu_widefat wpacu_striped">
|
264 |
-
<tbody>
|
265 |
-
<?php
|
266 |
-
if ( $locationMain === 'plugins' ) {
|
267 |
-
do_action('wpacu_assets_plugin_notice_table_row', $locationChild);
|
268 |
-
}
|
269 |
-
|
270 |
-
echo $assetRowsOutput;
|
271 |
-
?>
|
272 |
-
</tbody>
|
273 |
-
</table>
|
274 |
-
</div>
|
275 |
-
<?php
|
276 |
-
$locationRowCount ++;
|
277 |
-
}
|
278 |
-
} else {
|
279 |
-
// There are no loaded CSS/JS
|
280 |
-
$showOxygenMsg = $locationMain === 'themes' && in_array('oxygen/functions.php', apply_filters('active_plugins', get_option('active_plugins', array())));
|
281 |
-
|
282 |
-
if ($showOxygenMsg) {
|
283 |
?>
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
|
290 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
291 |
<?php
|
292 |
-
|
293 |
-
|
294 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
295 |
</div>
|
296 |
-
|
297 |
-
|
298 |
-
|
299 |
-
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
}
|
|
|
307 |
|
308 |
-
|
309 |
-
|
310 |
-
|
311 |
-
|
312 |
-
|
313 |
-
}
|
314 |
}
|
|
|
315 |
/*
|
316 |
* -----------------------
|
317 |
* [END] BY EACH LOCATION
|
16 |
* [START] BY EACH LOCATION
|
17 |
* -------------------------
|
18 |
*/
|
19 |
+
if (! empty($data['all']['styles']) || ! empty($data['all']['scripts'])) {
|
20 |
+
require_once __DIR__.'/_assets-top-area.php';
|
21 |
+
|
22 |
+
if (! function_exists('get_plugins') && ! is_admin()) {
|
23 |
+
require_once ABSPATH . 'wp-admin/includes/plugin.php';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
24 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
25 |
|
26 |
+
$allPlugins = get_plugins();
|
27 |
+
$allThemes = wp_get_themes();
|
28 |
+
$allActivePluginsIcons = \WpAssetCleanUp\Misc::getAllActivePluginsIcons();
|
29 |
+
|
30 |
+
$data['view_by_location'] =
|
31 |
+
$data['rows_build_array'] =
|
32 |
+
$data['rows_by_location'] = true;
|
33 |
+
|
34 |
+
$data['rows_assets'] = array();
|
35 |
+
|
36 |
+
require_once __DIR__.'/_asset-style-rows.php';
|
37 |
+
require_once __DIR__.'/_asset-script-rows.php';
|
38 |
+
|
39 |
+
$locationsText = array(
|
40 |
+
'plugins' => '<span class="dashicons dashicons-admin-plugins"></span> From Plugins (.css & .js)',
|
41 |
+
'themes' => '<span class="dashicons dashicons-admin-appearance"></span> From Themes (.css & .js)',
|
42 |
+
'uploads' => '<span class="dashicons dashicons-wordpress"></span> WordPress Uploads Directory (.css & .js)',
|
43 |
+
'wp_core' => '<span class="dashicons dashicons-wordpress"></span> WordPress Core (.css & .js)',
|
44 |
+
'external' => '<span class="dashicons dashicons-cloud"></span> External 3rd Party (.css & .js)'
|
45 |
+
);
|
46 |
+
|
47 |
+
if (! empty($data['rows_assets'])) {
|
48 |
+
// Sorting: Plugins, Themes, Uploads Directory and External Assets
|
49 |
+
$rowsAssets = array('plugins' => array(), 'themes' => array(), 'uploads' => array(), 'wp_core' => array(), 'external' => array());
|
50 |
+
|
51 |
+
foreach ($data['rows_assets'] as $locationMain => $values) {
|
52 |
+
$rowsAssets[$locationMain] = $values;
|
53 |
+
}
|
54 |
+
|
55 |
+
foreach ($rowsAssets as $locationMain => $values) {
|
56 |
+
ksort($values);
|
57 |
+
$totalLocationAssets = count($values);
|
58 |
+
$hideLocationMainArea = ($locationMain === 'uploads' && $totalLocationAssets === 0);
|
59 |
+
$hideListOfAssetsOnly = ($locationMain === 'wp_core' && $data['plugin_settings']['hide_core_files']);
|
60 |
+
|
61 |
+
ob_start();
|
62 |
+
?>
|
63 |
+
<div <?php if ($hideLocationMainArea) {
|
64 |
+
echo 'style="display: none;"';
|
65 |
+
} ?> class="wpacu-assets-collapsible-wrap wpacu-by-location wpacu-<?php echo $locationMain; ?>">
|
66 |
+
<a class="wpacu-assets-collapsible <?php if ($listAreaStatus !== 'contracted') { ?>wpacu-assets-collapsible-active<?php } ?>"
|
67 |
+
href="#wpacu-assets-collapsible-content-<?php echo $locationMain; ?>">
|
68 |
+
<?php echo $locationsText[$locationMain]; ?> ➝ Total files: {total_files_<?php echo $locationMain; ?>}
|
69 |
+
</a>
|
70 |
+
|
71 |
+
<div class="wpacu-assets-collapsible-content <?php if ($listAreaStatus !== 'contracted') { ?>wpacu-open<?php } ?>">
|
72 |
+
<?php if ($locationMain === 'external') { ?>
|
73 |
+
<p class="wpacu-assets-note"><strong>Note:</strong> External .css and .js assets are considered
|
74 |
+
those who are hosted on a different domain (e.g. Google Font API, assets loaded from external
|
75 |
+
CDNs) and the ones outside the WordPress "plugins" (usually /wp-content/plugins/), "themes"
|
76 |
+
(usually /wp-content/themes/) and "uploads" (usually /wp-content/uploads/) directories.</p>
|
77 |
+
<?php
|
78 |
+
// WP Core CSS/JS list is visible
|
79 |
+
} elseif ($locationMain === 'wp_core' && ! $data['plugin_settings']['hide_core_files']) { ?>
|
80 |
+
<p class="wpacu-assets-note"><span style="color: red;" class="dashicons dashicons-warning"></span> <strong>Warning:</strong> Please be careful when doing any changes to the
|
81 |
+
following core assets as they can break the functionality of the front-end website. If you're
|
82 |
+
not sure about unloading any asset, just leave it loaded.</p>
|
83 |
+
<?php
|
84 |
+
// WP Core CSS/JS list is hidden
|
85 |
+
} elseif ($locationMain === 'wp_core' && $data['plugin_settings']['hide_core_files']) {
|
86 |
+
?>
|
87 |
+
<p class="wpacu-assets-note"><strong>Note:</strong> By default, <?php echo WPACU_PLUGIN_TITLE; ?> does not show the list of CSS/JS loaded from the WordPress core. Usually, WordPress core files are loaded for a reason and this setting was applied to prevent accidental unload of files that could be needed (e.g. jQuery library, Underscore library etc.).</p>
|
88 |
+
<p class="wpacu-assets-note"><span class="dashicons dashicons-info"></span> If you believe that you do not need some of the loaded core files (e.g. WordPress Gutenberg styling - Handle: 'wp-block-library') and you want to manage the files loaded from <em>/wp-includes/</em>, you can go to the plugin's <strong>"Settings"</strong>, click on the <strong>"Plugin Usage Preferences"</strong> tab, scroll to <strong>"Hide WordPress Core Files From The Assets List?"</strong> and make sure the option <strong>is turned off</strong>.</p>
|
89 |
+
<?php
|
90 |
+
} elseif ($locationMain === 'uploads') { ?>
|
91 |
+
<p class="wpacu-assets-note" style="padding: 15px 15px 0 0;"><strong>Note:</strong> These are the
|
92 |
+
CSS/JS files load from the /wp-content/uploads/ WordPress directory. They were copied there by
|
93 |
+
other plugins or developers working on the website. In case the file was detected to be
|
94 |
+
generated by a specific plugin through various verification patterns (e.g. for plugins such as
|
95 |
+
Elementor, Oxygen Builder etc.), then it will be not listed here, but in the "From Plugins (.css
|
96 |
+
& .js)" area for the detected plugin. This is to have all the files related to a plugin
|
97 |
+
organised in one place.</p>
|
98 |
+
<?php
|
99 |
+
}
|
100 |
+
?>
|
101 |
+
|
102 |
+
<?php
|
103 |
+
$locationRowCount = 0;
|
104 |
+
$totalLocationAssets = count($values);
|
105 |
+
|
106 |
+
// Total files from all the plugins
|
107 |
+
$totalFilesArray[$locationMain] = 0;
|
108 |
+
|
109 |
+
// Default value (not contracted)
|
110 |
+
$pluginListContracted = false;
|
111 |
+
|
112 |
+
if ($totalLocationAssets > 0) {
|
113 |
+
$locI = 1;
|
114 |
+
|
115 |
+
// Going through each plugin/theme etc.
|
116 |
+
foreach ( $values as $locationChild => $values2 ) {
|
117 |
+
if ($locationMain === 'plugins') {
|
118 |
+
$totalPluginAssets = $totalBulkUnloadedAssetsPerPlugin = 0;
|
119 |
+
}
|
120 |
+
|
121 |
+
ksort( $values2 );
|
122 |
+
|
123 |
+
$assetRowsOutput = '';
|
124 |
+
|
125 |
+
// Going through each asset from the plugin/theme
|
126 |
+
foreach ( $values2 as $assetType => $assetRows ) {
|
127 |
+
foreach ( $assetRows as $assetRow ) {
|
128 |
+
$assetRowsOutput .= $assetRow . "\n";
|
129 |
|
|
|
|
|
130 |
if ( $locationMain === 'plugins' ) {
|
131 |
+
if (strpos( $assetRow, 'wpacu_is_bulk_unloaded' ) !== false ) {
|
132 |
+
$totalBulkUnloadedAssetsPerPlugin ++;
|
133 |
+
}
|
134 |
+
|
135 |
+
$totalPluginAssets ++;
|
136 |
+
}
|
137 |
+
|
138 |
+
$totalFilesArray[$locationMain] ++;
|
139 |
+
}
|
140 |
+
}
|
141 |
+
|
142 |
+
if ( $locationChild !== 'none' ) {
|
143 |
+
if ( $locationMain === 'plugins' ) {
|
144 |
+
$locationChildText = \WpAssetCleanUp\Info::getPluginInfo( $locationChild, $allPlugins, $allActivePluginsIcons );
|
145 |
+
|
146 |
+
$isLastPluginAsset = ( count( $values ) - 1 ) === $locationRowCount;
|
147 |
+
$pluginListContracted = ( $locationMain === 'plugins' && $pluginsAreaStatus === 'contracted' );
|
148 |
+
|
149 |
+
// Show it if there is at least one available "Unload on this page"
|
150 |
+
$showUnloadOnThisPageCheckUncheckAll = $totalPluginAssets !== $totalBulkUnloadedAssetsPerPlugin;
|
151 |
+
|
152 |
+
// Show it if all the assets from the plugin are bulk unloaded
|
153 |
+
$showLoadItOnThisPageCheckUncheckAll = $totalBulkUnloadedAssetsPerPlugin === $totalPluginAssets;
|
154 |
+
} elseif ( $locationMain === 'themes' ) {
|
155 |
+
$locationChildThemeArray = \WpAssetCleanUp\Info::getThemeInfo( $locationChild, $allThemes );
|
156 |
+
$locationChildText = $locationChildThemeArray['output'];
|
157 |
+
} else {
|
158 |
+
$locationChildText = $locationChild;
|
159 |
+
}
|
160 |
+
|
161 |
+
$extraClassesToAppend = '';
|
162 |
+
|
163 |
+
if ( $locationMain === 'plugins' && $isLastPluginAsset ) {
|
164 |
+
$extraClassesToAppend .= ' wpacu-area-last ';
|
165 |
+
}
|
166 |
+
|
167 |
+
if ($locI === 1) {
|
168 |
+
$extraClassesToAppend .= ' wpacu-location-child-area-first ';
|
169 |
+
}
|
170 |
+
|
171 |
+
// PLUGIN LIST: VIEW THEIR ASSETS
|
172 |
+
// EXPANDED (DEFAULT)
|
173 |
+
if ( $locationMain === 'plugins' ) {
|
174 |
+
if ( $pluginListContracted ) {
|
175 |
+
// CONTRACTED (+ -)
|
176 |
?>
|
177 |
+
<a href="#"
|
178 |
+
class="wpacu-plugin-contracted-wrap-link wpacu-pro wpacu-link-closed <?php if ( ( count( $values ) - 1 ) === $locationRowCount ) { echo 'wpacu-last-wrap-link'; } ?>">
|
179 |
+
<div class="wpacu-plugin-title-contracted wpacu-area-contracted">
|
180 |
+
<?php echo $locationChildText; ?> <span style="font-weight: 200;">/</span> <span style="font-weight: 400;"><?php echo $totalPluginAssets; ?></span> files
|
181 |
+
</div>
|
182 |
+
</a>
|
183 |
<?php
|
184 |
+
} else { ?>
|
|
|
185 |
<div data-wpacu-plugin="<?php echo $locationChild; ?>"
|
186 |
class="wpacu-location-child-area wpacu-area-expanded <?php echo $extraClassesToAppend; ?>">
|
187 |
+
<div class="wpacu-area-title">
|
188 |
+
<?php echo $locationChildText; ?> <span style="font-weight: 200;">/</span> <span style="font-weight: 400;"><?php echo $totalPluginAssets; ?></span> files
|
189 |
+
<?php
|
190 |
+
include '_view-by-location/_plugin-list-expanded-actions.php';
|
191 |
+
?>
|
192 |
+
</div>
|
193 |
</div>
|
194 |
+
<?php }
|
195 |
+
} elseif ( $locationMain === 'themes' ) {
|
196 |
+
?>
|
197 |
+
<div data-wpacu-plugin="<?php echo $locationChild; ?>"
|
198 |
+
class="wpacu-location-child-area wpacu-area-expanded <?php echo $extraClassesToAppend; ?>">
|
199 |
+
<div class="wpacu-area-title <?php if ($locationChildThemeArray['has_icon'] === true) { echo 'wpacu-theme-has-icon'; } ?>"><?php echo $locationChildText; ?></div>
|
200 |
+
</div>
|
201 |
+
<?php
|
202 |
+
} else { // WordPress Core, Uploads, 3rd Party etc.
|
203 |
+
?>
|
204 |
+
<div data-wpacu-plugin="<?php echo $locationChild; ?>"
|
205 |
+
class="wpacu-location-child-area wpacu-area-expanded <?php echo $extraClassesToAppend; ?>">
|
206 |
+
<div class="wpacu-area-title"><?php echo $locationChildText; ?></div>
|
207 |
+
</div>
|
208 |
+
<?php
|
209 |
+
}
|
210 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
211 |
?>
|
212 |
+
|
213 |
+
<div class="wpacu-assets-table-list-wrap <?php if ( $locationMain === 'plugins' ) { ?> wpacu-plugin-assets-wrap <?php } ?> <?php if ( $pluginListContracted ) {
|
214 |
+
echo 'wpacu-area-closed';
|
215 |
+
} ?> <?php if ( $pluginListContracted && $isLastPluginAsset ) {
|
216 |
+
echo 'wpacu-plugin-assets-last';
|
217 |
+
} ?>">
|
218 |
+
<?php
|
219 |
+
// CONTRACTED (+ -)
|
220 |
+
if ( $locationMain === 'plugins' && $pluginListContracted ) {
|
221 |
+
include '_view-by-location/_plugin-list-contracted-actions.php';
|
222 |
+
}
|
223 |
+
?>
|
224 |
+
|
225 |
+
<table <?php if ( $locationMain === 'plugins' ) { echo ' data-wpacu-plugin="' . $locationChild . '" '; } ?> class="wpacu_list_table wpacu_list_by_location wpacu_widefat wpacu_striped">
|
226 |
+
<tbody>
|
227 |
+
<?php
|
228 |
+
if ( $locationMain === 'plugins' ) {
|
229 |
+
do_action('wpacu_assets_plugin_notice_table_row', $locationChild);
|
230 |
+
}
|
231 |
+
|
232 |
+
echo $assetRowsOutput;
|
233 |
+
?>
|
234 |
+
</tbody>
|
235 |
+
</table>
|
236 |
+
</div>
|
237 |
<?php
|
238 |
+
$locationRowCount ++;
|
239 |
+
}
|
240 |
+
} else {
|
241 |
+
// There are no loaded CSS/JS
|
242 |
+
$showOxygenMsg = $locationMain === 'themes' && in_array('oxygen/functions.php', \WpAssetCleanUp\Misc::getActivePlugins());
|
243 |
+
|
244 |
+
if ($showOxygenMsg) {
|
245 |
+
?>
|
246 |
+
<div style="padding: 12px 0;">
|
247 |
+
<img style="height: 30px; vertical-align: bottom;" src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHdpZHRoPSIzODFweCIgaGVpZ2h0PSIzODVweCIgdmlld0JveD0iMCAwIDM4MSAzODUiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+ICAgICAgICA8dGl0bGU+VW50aXRsZWQgMzwvdGl0bGU+ICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPiAgICA8ZGVmcz4gICAgICAgIDxwb2x5Z29uIGlkPSJwYXRoLTEiIHBvaW50cz0iMC4wNiAzODQuOTQgMzgwLjgwNSAzODQuOTQgMzgwLjgwNSAwLjYyOCAwLjA2IDAuNjI4Ij48L3BvbHlnb24+ICAgIDwvZGVmcz4gICAgPGcgaWQ9IlBhZ2UtMSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9IiNhMGE1YWEiIGZpbGwtcnVsZT0iZXZlbm9kZCI+ICAgICAgICA8ZyBpZD0iT3h5Z2VuLUljb24tQ01ZSyI+ICAgICAgICAgICAgPG1hc2sgaWQ9Im1hc2stMiIgZmlsbD0iI2EwYTVhYSI+ICAgICAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI3BhdGgtMSI+PC91c2U+ICAgICAgICAgICAgPC9tYXNrPiAgICAgICAgICAgIDxnIGlkPSJDbGlwLTIiPjwvZz4gICAgICAgICAgICA8cGF0aCBkPSJNMjk3LjUwOCwzNDkuNzQ4IEMyNzUuNDQzLDM0OS43NDggMjU3LjU1NiwzMzEuODYgMjU3LjU1NiwzMDkuNzk2IEMyNTcuNTU2LDI4Ny43MzEgMjc1LjQ0MywyNjkuODQ0IDI5Ny41MDgsMjY5Ljg0NCBDMzE5LjU3MywyNjkuODQ0IDMzNy40NiwyODcuNzMxIDMzNy40NiwzMDkuNzk2IEMzMzcuNDYsMzMxLjg2IDMxOS41NzMsMzQ5Ljc0OCAyOTcuNTA4LDM0OS43NDggTDI5Ny41MDgsMzQ5Ljc0OCBaIE0yMjIuMzA0LDMwOS43OTYgQzIyMi4zMDQsMzEyLjAzOSAyMjIuNDQ3LDMxNC4yNDcgMjIyLjYzOSwzMTYuNDQxIEMyMTIuMzMsMzE5LjA5MiAyMDEuNTI4LDMyMC41MDUgMTkwLjQwMywzMjAuNTA1IEMxMTkuMDEsMzIwLjUwNSA2MC45MjksMjYyLjQyMyA2MC45MjksMTkxLjAzMSBDNjAuOTI5LDExOS42MzggMTE5LjAxLDYxLjU1NyAxOTAuNDAzLDYxLjU1NyBDMjYxLjc5NCw2MS41NTcgMzE5Ljg3NywxMTkuNjM4IDMxOS44NzcsMTkxLjAzMSBDMzE5Ljg3NywyMDYuODMzIDMxNy4wMiwyMjEuOTc4IDMxMS44MTUsMjM1Ljk5IEMzMDcuMTc5LDIzNS4wOTcgMzAyLjQwNCwyMzQuNTkyIDI5Ny41MDgsMjM0LjU5MiBDMjU1Ljk3NCwyMzQuNTkyIDIyMi4zMDQsMjY4LjI2MiAyMjIuMzA0LDMwOS43OTYgTDIyMi4zMDQsMzA5Ljc5NiBaIE0zODAuODA1LDE5MS4wMzEgQzM4MC44MDUsODYuMDQyIDI5NS4zOTIsMC42MjggMTkwLjQwMywwLjYyOCBDODUuNDE0LDAuNjI4IDAsODYuMDQyIDAsMTkxLjAzMSBDMCwyOTYuMDIgODUuNDE0LDM4MS40MzMgMTkwLjQwMywzODEuNDMzIEMyMTIuNDk4LDM4MS40MzMgMjMzLjcwOCwzNzcuNjA5IDI1My40NTYsMzcwLjY1NyBDMjY1Ljg0NSwzNzkuNjQxIDI4MS4wMzQsMzg1IDI5Ny41MDgsMzg1IEMzMzkuMDQyLDM4NSAzNzIuNzEyLDM1MS4zMyAzNzIuNzEyLDMwOS43OTYgQzM3Mi43MTIsMjk2LjA5MiAzNjguOTg4LDI4My4yODMgMzYyLjU4NCwyNzIuMjE5IEMzNzQuMjUxLDI0Ny41NzUgMzgwLjgwNSwyMjAuMDU4IDM4MC44MDUsMTkxLjAzMSBMMzgwLjgwNSwxOTEuMDMxIFoiIGlkPSJGaWxsLTEiIGZpbGw9IiNhMGE1YWEiIG1hc2s9InVybCgjbWFzay0yKSI+PC9wYXRoPiAgICAgICAgPC9nPiAgICA8L2c+PC9zdmc+" alt="" />
|
248 |
+
You're using <a href="<?php echo admin_url('admin.php?page=ct_dashboard_page'); ?>" target="_blank"><span style="font-weight: 600; color: #6036ca;">Oxygen</span></a> to design your site, which disables the WordPress theme system. Thus, no assets related to the theme are loaded.
|
249 |
+
</div>
|
250 |
+
<?php } else { ?>
|
251 |
+
<div style="padding: 0 0 16px 16px;"><?php _e('There are no CSS/JS loaded from this location.', 'wp-asset-clean-up'); ?></div>
|
252 |
+
<?php } ?>
|
253 |
+
<?php
|
254 |
+
}
|
255 |
+
?>
|
256 |
</div>
|
257 |
+
</div>
|
258 |
+
<?php
|
259 |
+
$locationMainOutput = ob_get_clean();
|
260 |
+
$locationMainOutput = str_replace(
|
261 |
+
'{total_files_'.$locationMain.'}',
|
262 |
+
$totalFilesArray[$locationMain],
|
263 |
+
$locationMainOutput
|
264 |
+
);
|
265 |
+
|
266 |
+
echo $locationMainOutput;
|
267 |
}
|
268 |
+
}
|
269 |
|
270 |
+
if ( isset( $data['all']['hardcoded'] ) && ! empty( $data['all']['hardcoded'] ) ) {
|
271 |
+
$data['print_outer_html'] = true; // AJAX call from the Dashboard
|
272 |
+
include_once __DIR__ . '/_assets-hardcoded-list.php';
|
273 |
+
} elseif (isset($hardcodedManageAreaHtml, $data['is_frontend_view']) && $data['is_frontend_view']) {
|
274 |
+
echo $hardcodedManageAreaHtml; // AJAX call from the front-end view
|
|
|
275 |
}
|
276 |
+
}
|
277 |
/*
|
278 |
* -----------------------
|
279 |
* [END] BY EACH LOCATION
|
templates/meta-box-loaded-assets/view-by-parents.php
CHANGED
@@ -11,52 +11,9 @@ $listAreaStatus = $data['plugin_settings']['assets_list_layout_areas_status'];
|
|
11 |
* [START] BY EACH HANDLE STATUS (Parent or Not)
|
12 |
* ----------------------------------------------
|
13 |
*/
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
if (! empty($data['all']['styles']) || ! empty($data['all']['scripts'])) {
|
18 |
-
?>
|
19 |
-
<p><?php echo sprintf(__('The following styles & scripts are loading on this page. Please select the ones that are %sNOT NEEDED%s. If you are not sure which ones to unload, it is better to enable "Test Mode" (to make the changes apply only to you), while you are going through the trial & error process.', 'wp-asset-clean-up'), '<span style="color: #CC0000;"><strong>', '</strong></span>'); ?></p>
|
20 |
-
<?php
|
21 |
-
if ($data['plugin_settings']['hide_core_files']) {
|
22 |
-
?>
|
23 |
-
<div class="wpacu_note"><span class="dashicons dashicons-info"></span> WordPress CSS & JavaScript core files are hidden as requested in the plugin's settings. They are meant to be managed by experienced developers in special situations.</div>
|
24 |
-
<div class="wpacu-clearfix" style="margin-top: 10px;"></div>
|
25 |
-
<?php
|
26 |
-
}
|
27 |
-
|
28 |
-
if ( ( (isset($data['core_styles_loaded']) && $data['core_styles_loaded']) || (isset($data['core_scripts_loaded']) && $data['core_scripts_loaded']) ) && ! $data['plugin_settings']['hide_core_files']) {
|
29 |
-
?>
|
30 |
-
<div class="wpacu_note wpacu_warning"><em><?php
|
31 |
-
echo sprintf(
|
32 |
-
__('Assets that are marked with %s are part of WordPress core files. Be careful if you decide to unload them! If you are not sure what to do, just leave them loaded by default and consult with a developer.', 'wp-asset-clean-up'),
|
33 |
-
'<span class="dashicons dashicons-warning"></span>'
|
34 |
-
);
|
35 |
-
?>
|
36 |
-
</em></div>
|
37 |
-
<?php
|
38 |
-
}
|
39 |
-
?>
|
40 |
-
</div>
|
41 |
-
|
42 |
-
<div style="margin: 10px 0;">
|
43 |
-
<?php
|
44 |
-
echo $data['assets_list_layout_output'];
|
45 |
-
?>
|
46 |
-
</div>
|
47 |
-
|
48 |
-
<div style="margin-bottom: 20px;" class="wpacu-contract-expand-area">
|
49 |
-
<div class="col-left">
|
50 |
-
<strong>➝ Total enqueued files (including core files): <?php echo (int)$data['total_styles'] + (int)$data['total_scripts']; ?></strong>
|
51 |
-
</div>
|
52 |
-
<div class="col-right">
|
53 |
-
<a href="#" id="wpacu-assets-contract-all" class="wpacu-wp-button wpacu-wp-button-secondary">Contract All Groups</a>
|
54 |
-
<a href="#" id="wpacu-assets-expand-all" class="wpacu-wp-button wpacu-wp-button-secondary">Expand All Groups</a>
|
55 |
-
</div>
|
56 |
-
<div class="wpacu-clearfix"></div>
|
57 |
-
</div>
|
58 |
-
|
59 |
-
<?php
|
60 |
$data['view_by_parents'] =
|
61 |
$data['rows_build_array'] =
|
62 |
$data['rows_by_parents'] = true;
|
11 |
* [START] BY EACH HANDLE STATUS (Parent or Not)
|
12 |
* ----------------------------------------------
|
13 |
*/
|
14 |
+
if (! empty($data['all']['styles']) || ! empty($data['all']['scripts'])) {
|
15 |
+
require_once __DIR__.'/_assets-top-area.php';
|
16 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
17 |
$data['view_by_parents'] =
|
18 |
$data['rows_build_array'] =
|
19 |
$data['rows_by_parents'] = true;
|
templates/meta-box-loaded-assets/view-by-position.php
CHANGED
@@ -11,52 +11,9 @@ $listAreaStatus = $data['plugin_settings']['assets_list_layout_areas_status'];
|
|
11 |
* [START] BY EACH POSITION
|
12 |
* -------------------------
|
13 |
*/
|
14 |
-
?>
|
15 |
-
<div>
|
16 |
-
<?php
|
17 |
if (! empty($data['all']['styles']) || ! empty($data['all']['scripts'])) {
|
18 |
-
|
19 |
-
<p><?php echo sprintf(__('The following styles & scripts are loading on this page. Please select the ones that are %sNOT NEEDED%s. If you are not sure which ones to unload, it is better to enable "Test Mode" (to make the changes apply only to you), while you are going through the trial & error process.', 'wp-asset-clean-up'), '<span style="color: #CC0000;"><strong>', '</strong></span>'); ?></p>
|
20 |
-
<?php
|
21 |
-
if ($data['plugin_settings']['hide_core_files']) {
|
22 |
-
?>
|
23 |
-
<div class="wpacu_note"><span class="dashicons dashicons-info"></span> WordPress CSS & JavaScript core files are hidden as requested in the plugin's settings. They are meant to be managed by experienced developers in special situations.</div>
|
24 |
-
<div class="wpacu-clearfix" style="margin-top: 10px;"></div>
|
25 |
-
<?php
|
26 |
-
}
|
27 |
|
28 |
-
if ( ( (isset($data['core_styles_loaded']) && $data['core_styles_loaded']) || (isset($data['core_scripts_loaded']) && $data['core_scripts_loaded']) ) && ! $data['plugin_settings']['hide_core_files']) {
|
29 |
-
?>
|
30 |
-
<div class="wpacu_note wpacu_warning"><em><?php
|
31 |
-
echo sprintf(
|
32 |
-
__('Assets that are marked with %s are part of WordPress core files. Be careful if you decide to unload them! If you are not sure what to do, just leave them loaded by default and consult with a developer.', 'wp-asset-clean-up'),
|
33 |
-
'<span class="dashicons dashicons-warning"></span>'
|
34 |
-
);
|
35 |
-
?>
|
36 |
-
</em></div>
|
37 |
-
<?php
|
38 |
-
}
|
39 |
-
?>
|
40 |
-
</div>
|
41 |
-
|
42 |
-
<div style="margin: 10px 0;">
|
43 |
-
<?php
|
44 |
-
echo $data['assets_list_layout_output'];
|
45 |
-
?>
|
46 |
-
</div>
|
47 |
-
|
48 |
-
<div style="margin-bottom: 20px;" class="wpacu-contract-expand-area">
|
49 |
-
<div class="col-left">
|
50 |
-
<strong>➝ Total enqueued files (including core files): <?php echo (int)$data['total_styles'] + (int)$data['total_scripts']; ?></strong>
|
51 |
-
</div>
|
52 |
-
<div class="col-right">
|
53 |
-
<a href="#" id="wpacu-assets-contract-all" class="wpacu-wp-button wpacu-wp-button-secondary">Contract All Groups</a>
|
54 |
-
<a href="#" id="wpacu-assets-expand-all" class="wpacu-wp-button wpacu-wp-button-secondary">Expand All Groups</a>
|
55 |
-
</div>
|
56 |
-
<div class="wpacu-clearfix"></div>
|
57 |
-
</div>
|
58 |
-
|
59 |
-
<?php
|
60 |
$data['view_by_position'] =
|
61 |
$data['rows_build_array'] =
|
62 |
$data['rows_by_position'] = true;
|
11 |
* [START] BY EACH POSITION
|
12 |
* -------------------------
|
13 |
*/
|
|
|
|
|
|
|
14 |
if (! empty($data['all']['styles']) || ! empty($data['all']['scripts'])) {
|
15 |
+
require_once __DIR__.'/_assets-top-area.php';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
16 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
17 |
$data['view_by_position'] =
|
18 |
$data['rows_build_array'] =
|
19 |
$data['rows_by_position'] = true;
|
templates/meta-box-loaded-assets/view-by-preload.php
CHANGED
@@ -11,50 +11,9 @@ $listAreaStatus = $data['plugin_settings']['assets_list_layout_areas_status'];
|
|
11 |
* [START] BY PRELOAD STATUS (yes or no)
|
12 |
* --------------------------------------
|
13 |
*/
|
14 |
-
|
15 |
-
|
16 |
-
<?php
|
17 |
-
if (! empty($data['all']['styles']) || ! empty($data['all']['scripts'])) {
|
18 |
-
?>
|
19 |
-
<p><?php echo sprintf(__('The following styles & scripts are loading on this page. Please select the ones that are %sNOT NEEDED%s. If you are not sure which ones to unload, it is better to enable "Test Mode" (to make the changes apply only to you), while you are going through the trial & error process.', 'wp-asset-clean-up'), '<span style="color: #CC0000;"><strong>', '</strong></span>'); ?></p>
|
20 |
-
<?php
|
21 |
-
if ($data['plugin_settings']['hide_core_files']) {
|
22 |
-
?>
|
23 |
-
<div class="wpacu_note"><span class="dashicons dashicons-info"></span> WordPress CSS & JavaScript core files are hidden as requested in the plugin's settings. They are meant to be managed by experienced developers in special situations.</div>
|
24 |
-
<div class="wpacu-clearfix" style="margin-top: 10px;"></div>
|
25 |
-
<?php
|
26 |
-
}
|
27 |
|
28 |
-
if ( ( (isset($data['core_styles_loaded']) && $data['core_styles_loaded']) || (isset($data['core_scripts_loaded']) && $data['core_scripts_loaded']) ) && ! $data['plugin_settings']['hide_core_files']) {
|
29 |
-
?>
|
30 |
-
<div class="wpacu_note wpacu_warning"><em><?php
|
31 |
-
echo sprintf(
|
32 |
-
__('Assets that are marked with %s are part of WordPress core files. Be careful if you decide to unload them! If you are not sure what to do, just leave them loaded by default and consult with a developer.', 'wp-asset-clean-up'),
|
33 |
-
'<span class="dashicons dashicons-warning"></span>'
|
34 |
-
);
|
35 |
-
?>
|
36 |
-
</em></div>
|
37 |
-
<?php
|
38 |
-
}
|
39 |
-
?>
|
40 |
-
</div>
|
41 |
-
|
42 |
-
<div style="margin: 10px 0;">
|
43 |
-
<?php echo $data['assets_list_layout_output']; ?>
|
44 |
-
</div>
|
45 |
-
|
46 |
-
<div style="margin-bottom: 20px;" class="wpacu-contract-expand-area">
|
47 |
-
<div class="col-left">
|
48 |
-
<strong>➝ Total enqueued files (including core files): <?php echo (int)$data['total_styles'] + (int)$data['total_scripts']; ?></strong>
|
49 |
-
</div>
|
50 |
-
<div class="col-right">
|
51 |
-
<a href="#" id="wpacu-assets-contract-all" class="wpacu-wp-button wpacu-wp-button-secondary">Contract All Groups</a>
|
52 |
-
<a href="#" id="wpacu-assets-expand-all" class="wpacu-wp-button wpacu-wp-button-secondary">Expand All Groups</a>
|
53 |
-
</div>
|
54 |
-
<div class="wpacu-clearfix"></div>
|
55 |
-
</div>
|
56 |
-
|
57 |
-
<?php
|
58 |
$data['view_by_preload'] =
|
59 |
$data['rows_build_array'] =
|
60 |
$data['rows_by_preload'] = true;
|
11 |
* [START] BY PRELOAD STATUS (yes or no)
|
12 |
* --------------------------------------
|
13 |
*/
|
14 |
+
if (! empty($data['all']['styles']) || ! empty($data['all']['scripts'])) {
|
15 |
+
require_once __DIR__.'/_assets-top-area.php';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
16 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
17 |
$data['view_by_preload'] =
|
18 |
$data['rows_build_array'] =
|
19 |
$data['rows_by_preload'] = true;
|
templates/meta-box-loaded-assets/view-by-rules.php
CHANGED
@@ -11,50 +11,10 @@ $listAreaStatus = $data['plugin_settings']['assets_list_layout_areas_status'];
|
|
11 |
* [START] BY (ANY) RULES SET (yes or no)
|
12 |
* --------------------------------------
|
13 |
*/
|
14 |
-
?>
|
15 |
-
<div>
|
16 |
-
<?php
|
17 |
-
if (! empty($data['all']['styles']) || ! empty($data['all']['scripts'])) {
|
18 |
-
?>
|
19 |
-
<p><?php echo sprintf(__('The following styles & scripts are loading on this page. Please select the ones that are %sNOT NEEDED%s. If you are not sure which ones to unload, it is better to enable "Test Mode" (to make the changes apply only to you), while you are going through the trial & error process.', 'wp-asset-clean-up'), '<span style="color: #CC0000;"><strong>', '</strong></span>'); ?></p>
|
20 |
-
<?php
|
21 |
-
if ($data['plugin_settings']['hide_core_files']) {
|
22 |
-
?>
|
23 |
-
<div class="wpacu_note"><span class="dashicons dashicons-info"></span> WordPress CSS & JavaScript core files are hidden as requested in the plugin's settings. They are meant to be managed by experienced developers in special situations.</div>
|
24 |
-
<div class="wpacu-clearfix" style="margin-top: 10px;"></div>
|
25 |
-
<?php
|
26 |
-
}
|
27 |
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
echo sprintf(
|
32 |
-
__('Assets that are marked with %s are part of WordPress core files. Be careful if you decide to unload them! If you are not sure what to do, just leave them loaded by default and consult with a developer.', 'wp-asset-clean-up'),
|
33 |
-
'<span class="dashicons dashicons-warning"></span>'
|
34 |
-
);
|
35 |
-
?>
|
36 |
-
</em></div>
|
37 |
-
<?php
|
38 |
-
}
|
39 |
-
?>
|
40 |
-
</div>
|
41 |
-
|
42 |
-
<div style="margin: 10px 0;">
|
43 |
-
<?php echo $data['assets_list_layout_output']; ?>
|
44 |
-
</div>
|
45 |
-
|
46 |
-
<div style="margin-bottom: 20px;" class="wpacu-contract-expand-area">
|
47 |
-
<div class="col-left">
|
48 |
-
<strong>➝ Total enqueued files (including core files): <?php echo (int)$data['total_styles'] + (int)$data['total_scripts']; ?></strong>
|
49 |
-
</div>
|
50 |
-
<div class="col-right">
|
51 |
-
<a href="#" id="wpacu-assets-contract-all" class="wpacu-wp-button wpacu-wp-button-secondary">Contract All Groups</a>
|
52 |
-
<a href="#" id="wpacu-assets-expand-all" class="wpacu-wp-button wpacu-wp-button-secondary">Expand All Groups</a>
|
53 |
-
</div>
|
54 |
-
<div class="wpacu-clearfix"></div>
|
55 |
-
</div>
|
56 |
-
|
57 |
-
<?php
|
58 |
$data['view_by_rules'] =
|
59 |
$data['rows_build_array'] =
|
60 |
$data['rows_by_rules'] = true;
|
11 |
* [START] BY (ANY) RULES SET (yes or no)
|
12 |
* --------------------------------------
|
13 |
*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
|
15 |
+
if (! empty($data['all']['styles']) || ! empty($data['all']['scripts'])) {
|
16 |
+
require_once __DIR__.'/_assets-top-area.php';
|
17 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
18 |
$data['view_by_rules'] =
|
19 |
$data['rows_build_array'] =
|
20 |
$data['rows_by_rules'] = true;
|
templates/meta-box-loaded-assets/view-by-size.php
CHANGED
@@ -11,50 +11,9 @@ $listAreaStatus = $data['plugin_settings']['assets_list_layout_areas_status'];
|
|
11 |
* [START] BY PRELOAD STATUS (yes or no)
|
12 |
* --------------------------------------
|
13 |
*/
|
14 |
-
|
15 |
-
|
16 |
-
<?php
|
17 |
-
if (! empty($data['all']['styles']) || ! empty($data['all']['scripts'])) {
|
18 |
-
?>
|
19 |
-
<p><?php echo sprintf(__('The following styles & scripts are loading on this page. Please select the ones that are %sNOT NEEDED%s. If you are not sure which ones to unload, it is better to enable "Test Mode" (to make the changes apply only to you), while you are going through the trial & error process.', 'wp-asset-clean-up'), '<span style="color: #CC0000;"><strong>', '</strong></span>'); ?></p>
|
20 |
-
<?php
|
21 |
-
if ($data['plugin_settings']['hide_core_files']) {
|
22 |
-
?>
|
23 |
-
<div class="wpacu_note"><span class="dashicons dashicons-info"></span> WordPress CSS & JavaScript core files are hidden as requested in the plugin's settings. They are meant to be managed by experienced developers in special situations.</div>
|
24 |
-
<div class="wpacu-clearfix" style="margin-top: 10px;"></div>
|
25 |
-
<?php
|
26 |
-
}
|
27 |
|
28 |
-
if ( ( (isset($data['core_styles_loaded']) && $data['core_styles_loaded']) || (isset($data['core_scripts_loaded']) && $data['core_scripts_loaded']) ) && ! $data['plugin_settings']['hide_core_files']) {
|
29 |
-
?>
|
30 |
-
<div class="wpacu_note wpacu_warning"><em><?php
|
31 |
-
echo sprintf(
|
32 |
-
__('Assets that are marked with %s are part of WordPress core files. Be careful if you decide to unload them! If you are not sure what to do, just leave them loaded by default and consult with a developer.', 'wp-asset-clean-up'),
|
33 |
-
'<span class="dashicons dashicons-warning"></span>'
|
34 |
-
);
|
35 |
-
?>
|
36 |
-
</em></div>
|
37 |
-
<?php
|
38 |
-
}
|
39 |
-
?>
|
40 |
-
</div>
|
41 |
-
|
42 |
-
<div style="margin: 10px 0;">
|
43 |
-
<?php echo $data['assets_list_layout_output']; ?>
|
44 |
-
</div>
|
45 |
-
|
46 |
-
<div style="margin-bottom: 20px;" class="wpacu-contract-expand-area">
|
47 |
-
<div class="col-left">
|
48 |
-
<strong>➝ Total enqueued files (including core files): <?php echo (int)$data['total_styles'] + (int)$data['total_scripts']; ?></strong>
|
49 |
-
</div>
|
50 |
-
<div class="col-right">
|
51 |
-
<a href="#" id="wpacu-assets-contract-all" class="wpacu-wp-button wpacu-wp-button-secondary">Contract All Groups</a>
|
52 |
-
<a href="#" id="wpacu-assets-expand-all" class="wpacu-wp-button wpacu-wp-button-secondary">Expand All Groups</a>
|
53 |
-
</div>
|
54 |
-
<div class="wpacu-clearfix"></div>
|
55 |
-
</div>
|
56 |
-
|
57 |
-
<?php
|
58 |
$data['view_by_size'] =
|
59 |
$data['rows_build_array'] =
|
60 |
$data['rows_by_size'] = true;
|
11 |
* [START] BY PRELOAD STATUS (yes or no)
|
12 |
* --------------------------------------
|
13 |
*/
|
14 |
+
if (! empty($data['all']['styles']) || ! empty($data['all']['scripts'])) {
|
15 |
+
require_once __DIR__.'/_assets-top-area.php';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
16 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
17 |
$data['view_by_size'] =
|
18 |
$data['rows_build_array'] =
|
19 |
$data['rows_by_size'] = true;
|
templates/meta-box-loaded-assets/view-default.php
CHANGED
@@ -5,30 +5,15 @@ if (! isset($data)) {
|
|
5 |
}
|
6 |
|
7 |
$listAreaStatus = $data['plugin_settings']['assets_list_layout_areas_status'];
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
echo $data['assets_list_layout_output'];
|
12 |
-
?>
|
13 |
-
</div>
|
14 |
-
<?php
|
15 |
/*
|
16 |
-
*
|
17 |
-
* [START] STYLES LIST
|
18 |
-
*
|
19 |
-
*/
|
20 |
?>
|
21 |
-
<div class="wpacu-contract-expand-area">
|
22 |
-
<div class="col-left">
|
23 |
-
<strong>➝ Total enqueued files (including core files): <?php echo (int)$data['total_styles'] + (int)$data['total_scripts']; ?></strong>
|
24 |
-
</div>
|
25 |
-
<div class="col-right">
|
26 |
-
<a href="#" id="wpacu-assets-contract-all" class="wpacu-wp-button wpacu-wp-button-secondary">Contract All Groups</a>
|
27 |
-
<a href="#" id="wpacu-assets-expand-all" class="wpacu-wp-button wpacu-wp-button-secondary">Expand All Groups</a>
|
28 |
-
</div>
|
29 |
-
<div class="wpacu-clearfix"></div>
|
30 |
-
</div>
|
31 |
-
|
32 |
<div class="wpacu-assets-collapsible-wrap wpacu-wrap-area">
|
33 |
<a class="wpacu-assets-collapsible <?php if ($listAreaStatus !== 'contracted') { ?>wpacu-assets-collapsible-active<?php } ?>" href="#wpacu-assets-styles-collapsible-content">
|
34 |
<span class="dashicons dashicons-admin-appearance"></span> <?php _e('Styles (.css files)', 'wp-asset-clean-up'); ?> ➝ Total enqueued (+ core files): <?php echo $data['total_styles']; ?>
|
@@ -39,27 +24,6 @@ $listAreaStatus = $data['plugin_settings']['assets_list_layout_areas_status'];
|
|
39 |
<div>
|
40 |
<?php
|
41 |
if (! empty($data['all']['styles'])) {
|
42 |
-
?>
|
43 |
-
<p><?php echo sprintf(__('Please select the styles & scripts that are %sNOT NEEDED%s from the list below. Not sure which ones to unload? %s Use "Test Mode" (to make the changes apply only to you), while you are going through the trial & error process.', 'wp-asset-clean-up'), '<span style="color: #CC0000;"><strong>', '</strong></span>', '<img draggable="false" class="wpacu-emoji" alt="🤔" src="https://s.w.org/images/core/emoji/12.0.0-1/svg/1f914.svg" />'); ?></p>
|
44 |
-
<?php
|
45 |
-
if ($data['plugin_settings']['hide_core_files']) {
|
46 |
-
?>
|
47 |
-
<div class="wpacu_note"><span class="dashicons dashicons-info"></span> WordPress CSS core files are hidden as requested in the plugin's settings. They are meant to be managed by experienced developers in special situations.</div>
|
48 |
-
<div style="clear:both; margin-top: 10px;"></div>
|
49 |
-
<?php
|
50 |
-
}
|
51 |
-
|
52 |
-
if ((isset($data['core_styles_loaded']) && $data['core_styles_loaded']) && ! $data['plugin_settings']['hide_core_files']) {
|
53 |
-
?>
|
54 |
-
<div class="wpacu_note wpacu_warning"><em><?php
|
55 |
-
echo sprintf(
|
56 |
-
__('CSS files that are marked with %s are part of WordPress core files. Be careful if you decide to unload them! If you are not sure what to do, just leave them loaded by default and consult with a developer.', 'wp-asset-clean-up'),
|
57 |
-
'<span class="dashicons dashicons-warning"></span>'
|
58 |
-
);
|
59 |
-
?>
|
60 |
-
</em></div>
|
61 |
-
<?php
|
62 |
-
}
|
63 |
?>
|
64 |
<table class="wpacu_list_table wpacu_widefat wpacu_striped">
|
65 |
<tbody>
|
@@ -89,7 +53,6 @@ $listAreaStatus = $data['plugin_settings']['assets_list_layout_areas_status'];
|
|
89 |
* ---------------------
|
90 |
*/
|
91 |
?>
|
92 |
-
|
93 |
<div class="wpacu-assets-collapsible-wrap wpacu-wrap-area">
|
94 |
<a class="wpacu-assets-collapsible <?php if ($listAreaStatus !== 'contracted') { ?>wpacu-assets-collapsible-active<?php } ?>" href="#wpacu-assets-scripts-collapsible-content">
|
95 |
<span class="dashicons dashicons-media-code"></span> <?php _e('Scripts (.js files)', 'wp-asset-clean-up'); ?> ➝ Total enqueued (+ core files): <?php echo $data['total_scripts']; ?>
|
@@ -101,28 +64,6 @@ $listAreaStatus = $data['plugin_settings']['assets_list_layout_areas_status'];
|
|
101 |
<?php
|
102 |
if (! empty($data['all']['scripts'])) {
|
103 |
?>
|
104 |
-
<p><?php echo sprintf(__('Please select the styles & scripts that are %sNOT NEEDED%s from the list below. Not sure which ones to unload? %s Use "Test Mode" (to make the changes apply only to you), while you are going through the trial & error process.', 'wp-asset-clean-up'), '<span style="color: #CC0000;"><strong>', '</strong></span>', '<img draggable="false" class="wpacu-emoji" alt="🤔" src="https://s.w.org/images/core/emoji/12.0.0-1/svg/1f914.svg" />'); ?></p>
|
105 |
-
<?php
|
106 |
-
if ($data['plugin_settings']['hide_core_files']) {
|
107 |
-
?>
|
108 |
-
<div class="wpacu_note"><span class="dashicons dashicons-info"></span> WordPress JavaScript core files are hidden as requested in the plugin's settings. They are meant to be managed by experienced developers in special situations.</div>
|
109 |
-
<div style="clear:both; margin-top: 10px;"></div>
|
110 |
-
<?php
|
111 |
-
}
|
112 |
-
|
113 |
-
if ((isset($data['core_scripts_loaded']) && $data['core_scripts_loaded']) && ! $data['plugin_settings']['hide_core_files']) {
|
114 |
-
?>
|
115 |
-
<div class="wpacu_note wpacu_warning"><em><?php
|
116 |
-
echo sprintf(
|
117 |
-
__('JavaScript files that are marked with %s are part of WordPress core files. Be careful if you decide to unload them! If you are not sure what to do, just leave them loaded by default and consult with a developer.', 'wp-asset-clean-up'),
|
118 |
-
'<span class="dashicons dashicons-warning"></span>'
|
119 |
-
);
|
120 |
-
?>
|
121 |
-
</em></div>
|
122 |
-
<?php
|
123 |
-
}
|
124 |
-
?>
|
125 |
-
|
126 |
<table class="wpacu_list_table wpacu_widefat wpacu_striped">
|
127 |
<tbody>
|
128 |
<?php
|
5 |
}
|
6 |
|
7 |
$listAreaStatus = $data['plugin_settings']['assets_list_layout_areas_status'];
|
8 |
+
|
9 |
+
require_once __DIR__.'/_assets-top-area.php';
|
10 |
+
|
|
|
|
|
|
|
|
|
11 |
/*
|
12 |
+
* ---------------------
|
13 |
+
* [START] STYLES LIST
|
14 |
+
* ---------------------
|
15 |
+
*/
|
16 |
?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
17 |
<div class="wpacu-assets-collapsible-wrap wpacu-wrap-area">
|
18 |
<a class="wpacu-assets-collapsible <?php if ($listAreaStatus !== 'contracted') { ?>wpacu-assets-collapsible-active<?php } ?>" href="#wpacu-assets-styles-collapsible-content">
|
19 |
<span class="dashicons dashicons-admin-appearance"></span> <?php _e('Styles (.css files)', 'wp-asset-clean-up'); ?> ➝ Total enqueued (+ core files): <?php echo $data['total_styles']; ?>
|
24 |
<div>
|
25 |
<?php
|
26 |
if (! empty($data['all']['styles'])) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
27 |
?>
|
28 |
<table class="wpacu_list_table wpacu_widefat wpacu_striped">
|
29 |
<tbody>
|
53 |
* ---------------------
|
54 |
*/
|
55 |
?>
|
|
|
56 |
<div class="wpacu-assets-collapsible-wrap wpacu-wrap-area">
|
57 |
<a class="wpacu-assets-collapsible <?php if ($listAreaStatus !== 'contracted') { ?>wpacu-assets-collapsible-active<?php } ?>" href="#wpacu-assets-scripts-collapsible-content">
|
58 |
<span class="dashicons dashicons-media-code"></span> <?php _e('Scripts (.js files)', 'wp-asset-clean-up'); ?> ➝ Total enqueued (+ core files): <?php echo $data['total_scripts']; ?>
|
64 |
<?php
|
65 |
if (! empty($data['all']['scripts'])) {
|
66 |
?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
67 |
<table class="wpacu_list_table wpacu_widefat wpacu_striped">
|
68 |
<tbody>
|
69 |
<?php
|
templates/meta-box-restricted-page-load.php
CHANGED
@@ -74,7 +74,7 @@ if ($data['status'] === 5) {
|
|
74 |
</p>
|
75 |
|
76 |
<?php
|
77 |
-
if (
|
78 |
?>
|
79 |
<p style="color: #cc0000;"><strong>Note:</strong> You have enabled the following option which is meant to prevent the plugin from loading on this page: <em>"Do not load Asset CleanUp Pro on this page (this will disable any functionality of the plugin)"</em>. To help you manage the assets in the front-end view, for your convenience, the query string "<em>&wpacu_ignore_no_load_option</em>" has been added to the URL (after the settings were saved) which bypasses the inactivation of Asset CleanUp Pro.</small></p>
|
80 |
<?php
|
74 |
</p>
|
75 |
|
76 |
<?php
|
77 |
+
if ( isset($_GET['wpacu_ignore_no_load_option']) ) {
|
78 |
?>
|
79 |
<p style="color: #cc0000;"><strong>Note:</strong> You have enabled the following option which is meant to prevent the plugin from loading on this page: <em>"Do not load Asset CleanUp Pro on this page (this will disable any functionality of the plugin)"</em>. To help you manage the assets in the front-end view, for your convenience, the query string "<em>&wpacu_ignore_no_load_option</em>" has been added to the URL (after the settings were saved) which bypasses the inactivation of Asset CleanUp Pro.</small></p>
|
80 |
<?php
|
templates/settings-frontend.php
CHANGED
@@ -15,10 +15,10 @@ if (! isset($data)) {
|
|
15 |
?>
|
16 |
<div class="wpacu-updated-frontend"><em>
|
17 |
<?php if (\WpAssetCleanUp\Misc::isHomePage()) {
|
18 |
-
|
19 |
} else {
|
20 |
-
|
21 |
-
|
22 |
</em>
|
23 |
</div>
|
24 |
<?php
|
@@ -45,23 +45,23 @@ if (! isset($data)) {
|
|
45 |
}
|
46 |
}
|
47 |
|
48 |
-
|
49 |
-
|
50 |
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
?>
|
60 |
-
|
61 |
|
62 |
<?php
|
63 |
if ($data['is_woo_shop_page']) {
|
64 |
-
|
65 |
<p><strong><span style="color: #0f6cab;" class="dashicons dashicons-cart"></span> <?php _e('This a WooCommerce shop page (\'product\' type archive).', 'wp-asset-clean-up'); ?> <?php _e('Unloading CSS/JS will also take effect for the pagination/sorting pages', 'wp-asset-clean-up'); ?>(e.g. /2, /3, /?orderby=popularity etc.).</strong></p>
|
66 |
<?php
|
67 |
}
|
15 |
?>
|
16 |
<div class="wpacu-updated-frontend"><em>
|
17 |
<?php if (\WpAssetCleanUp\Misc::isHomePage()) {
|
18 |
+
echo $updateClass->afterSubmitMsg['homepage'];
|
19 |
} else {
|
20 |
+
echo $updateClass->afterSubmitMsg['page'];
|
21 |
+
} ?>
|
22 |
</em>
|
23 |
</div>
|
24 |
<?php
|
45 |
}
|
46 |
}
|
47 |
|
48 |
+
if (\WpAssetCleanUp\Misc::isPluginActive('perfmatters/perfmatters.php')) {
|
49 |
+
$perfmattersExtras = get_option('perfmatters_extras');
|
50 |
|
51 |
+
if (isset($perfmattersExtras['script_manager']) && (int)$perfmattersExtras['script_manager'] === 1) {
|
52 |
+
?>
|
53 |
+
<div class="wpacu-warning">
|
54 |
+
<span class="dashicons dashicons-warning" style="color: #cc0000;"></span> <?php _e('You\'ve enabled "Script Manager" within "Options" -> "Assets" from Perfmatters plugin.', 'wp-asset-clean-up'); ?> <?php _e('You\'re already using Asset CleanUp to manage the CSS/JS.', 'wp-asset-clean-up'); ?> <strong><?php _e('Try not to use both plugins for the same feature as you could end up with broken functionality on either end.', 'wp-asset-clean-up'); ?></strong>
|
55 |
+
</div>
|
56 |
+
<?php
|
57 |
+
}
|
58 |
+
}
|
59 |
?>
|
60 |
+
<p><small><?php _e('This area is shown only for the admin users and if "Manage in the Front-end?" was selected in the plugin\'s settings. Handles such as \'admin-bar\' and \'wpassetcleanup-style\' are not included as they are irrelevant since they are used by the plugin for this area.', 'wp-asset-clean-up'); ?></small></p>
|
61 |
|
62 |
<?php
|
63 |
if ($data['is_woo_shop_page']) {
|
64 |
+
?>
|
65 |
<p><strong><span style="color: #0f6cab;" class="dashicons dashicons-cart"></span> <?php _e('This a WooCommerce shop page (\'product\' type archive).', 'wp-asset-clean-up'); ?> <?php _e('Unloading CSS/JS will also take effect for the pagination/sorting pages', 'wp-asset-clean-up'); ?>(e.g. /2, /3, /?orderby=popularity etc.).</strong></p>
|
66 |
<?php
|
67 |
}
|
vendor/matthiasmullie/minify/src/CSS.php
CHANGED
@@ -256,7 +256,7 @@ class CSS extends Minify
|
|
256 |
// loop the matches
|
257 |
foreach ($matches as $match) {
|
258 |
$extension = substr(strrchr($match[2], '.'), 1);
|
259 |
-
if ($extension && !array_key_exists($extension, $this->importExtensions)) {
|
260 |
continue;
|
261 |
}
|
262 |
|
256 |
// loop the matches
|
257 |
foreach ($matches as $match) {
|
258 |
$extension = substr(strrchr($match[2], '.'), 1);
|
259 |
+
if ($extension && ! array_key_exists($extension, $this->importExtensions)) {
|
260 |
continue;
|
261 |
}
|
262 |
|
wpacu.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/*
|
3 |
* Plugin Name: Asset CleanUp: Page Speed Booster
|
4 |
* Plugin URI: https://wordpress.org/plugins/wp-asset-clean-up/
|
5 |
-
* Version: 1.3.8.
|
6 |
* Description: Unload Chosen Scripts & Styles from Posts/Pages to reduce HTTP Requests, Combine/Minify CSS/JS files
|
7 |
* Author: Gabe Livan
|
8 |
* Author URI: http://gabelivan.com/
|
@@ -27,7 +27,7 @@ if ( (defined('WPACU_PRO_NO_LITE_NEEDED') && WPACU_PRO_NO_LITE_NEEDED !== false
|
|
27 |
|
28 |
// Is the Pro version triggered before the Lite one and are both plugins active?
|
29 |
if (! defined('WPACU_PLUGIN_VERSION')) {
|
30 |
-
define('WPACU_PLUGIN_VERSION', '1.3.8.
|
31 |
}
|
32 |
|
33 |
// Exit if accessed directly
|
@@ -81,7 +81,7 @@ if ($wpacuWrongPhp && is_admin()) { // Dashboard
|
|
81 |
|
82 |
'</p></div>';
|
83 |
|
84 |
-
if (
|
85 |
unset($_GET['activate']);
|
86 |
}
|
87 |
});
|
@@ -97,7 +97,8 @@ define('WPACU_PLUGIN_URL', plugins_url('', WPACU_PLUGIN_FILE));
|
|
97 |
define('WPACU_PLUGIN_GO_PRO_URL', 'https://www.gabelivan.com/items/wp-asset-cleanup-pro/');
|
98 |
|
99 |
// Global Values
|
100 |
-
define('WPACU_LOAD_ASSETS_REQ_KEY',
|
|
|
101 |
|
102 |
$wpacuGetLoadedAssetsAction = ((isset($_REQUEST[WPACU_LOAD_ASSETS_REQ_KEY]) && $_REQUEST[WPACU_LOAD_ASSETS_REQ_KEY])
|
103 |
|| (isset($_REQUEST['action']) && $_REQUEST['action'] === WPACU_PLUGIN_ID.'_get_loaded_assets'));
|
2 |
/*
|
3 |
* Plugin Name: Asset CleanUp: Page Speed Booster
|
4 |
* Plugin URI: https://wordpress.org/plugins/wp-asset-clean-up/
|
5 |
+
* Version: 1.3.8.1
|
6 |
* Description: Unload Chosen Scripts & Styles from Posts/Pages to reduce HTTP Requests, Combine/Minify CSS/JS files
|
7 |
* Author: Gabe Livan
|
8 |
* Author URI: http://gabelivan.com/
|
27 |
|
28 |
// Is the Pro version triggered before the Lite one and are both plugins active?
|
29 |
if (! defined('WPACU_PLUGIN_VERSION')) {
|
30 |
+
define('WPACU_PLUGIN_VERSION', '1.3.8.1');
|
31 |
}
|
32 |
|
33 |
// Exit if accessed directly
|
81 |
|
82 |
'</p></div>';
|
83 |
|
84 |
+
if (isset($_GET['active'])) {
|
85 |
unset($_GET['activate']);
|
86 |
}
|
87 |
});
|
97 |
define('WPACU_PLUGIN_GO_PRO_URL', 'https://www.gabelivan.com/items/wp-asset-cleanup-pro/');
|
98 |
|
99 |
// Global Values
|
100 |
+
define('WPACU_LOAD_ASSETS_REQ_KEY', WPACU_PLUGIN_ID . '_load');
|
101 |
+
define('WPACU_FORM_ASSETS_POST_KEY', WPACU_PLUGIN_ID.'_form_assets'); // starting from Pro version 1.1.9.9 & Lite version 1.3.8.1
|
102 |
|
103 |
$wpacuGetLoadedAssetsAction = ((isset($_REQUEST[WPACU_LOAD_ASSETS_REQ_KEY]) && $_REQUEST[WPACU_LOAD_ASSETS_REQ_KEY])
|
104 |
|| (isset($_REQUEST['action']) && $_REQUEST['action'] === WPACU_PLUGIN_ID.'_get_loaded_assets'));
|