Version Description
- New Feature in the CSS/JS Manager: The handle rows can be contracted/expanded (their status is saved when the form is submitted); This is useful to make the whole area smaller (less scrolling) as there will likely be CSS/JS files that you know you will never edit for a long time (if ever) and it's better to have them contracted
- New Option in "Settings" - "Plugin Usage Preferences": Hide Dashboard's "Asset CleanUp Pro" menu from the left sidebar in case you don't use the plugin too often or wish to have a cleaner sidebar (read more: https://assetcleanup.com/docs/?p=584)
- Compatibility with Ronneby Theme: Alter the style/script tag later (e.g. by appending plugin markers) after plugins such as "Ronneby Core" alter it (in this case it prevents the URLs from the LINK tags to be stripped)
- When listing dependencies in the CSS JS managing list (e.g. the "children" of a "parent"), show the unloaded ones in the red font; Dependency handles are linked as anchors for easier navigation between them
- WP Rocket compatibility: Make sure HTML changes made by Asset CleanUp Pro are always applied (via "rocket_buffer" filter hook) before WP Rocket saves the HTML content to the cached file
- Fix: After updating the the CSS/JS manager on any page, the page preloads for the guest visitors; Make sure the response from wp_remote_get() is always checked to avoid PHP errors logged to error_log (even though the errors are harmless for the front-end view, the error log files can get too big)
- Fix (unstyled CSS/JS management area in front-end view): Make sure the plugin's own style is properly loaded asynchronously in Firefox in any situation
Download this release
Release Info
Developer | gabelivan |
Plugin | Asset CleanUp: Page Speed Booster |
Version | 1.3.6.3 |
Comparing to | |
See all releases |
Code changes from version 1.3.6.2 to 1.3.6.3
- assets/script.min.js +1 -1
- assets/style.min.css +1 -1
- classes/CleanUp.php +3 -10
- classes/Main.php +440 -265
- classes/Misc.php +18 -12
- classes/OptimiseAssets/OptimizeCommon.php +10 -6
- classes/OptimiseAssets/OptimizeCss.php +14 -2
- classes/Overview.php +2 -2
- classes/OwnAssets.php +109 -77
- classes/PluginsManager.php +17 -17
- classes/Settings.php +3 -1
- classes/Update.php +68 -2
- readme.txt +10 -1
- templates/_admin-page-settings-plugin-areas/_plugin-usage-settings.php +24 -11
- templates/meta-box-loaded-assets/_asset-script-rows.php +45 -31
- templates/meta-box-loaded-assets/_asset-script-single-row.php +67 -43
- templates/meta-box-loaded-assets/_asset-script-single-row/_handle.php +25 -4
- templates/meta-box-loaded-assets/_asset-script-single-row/_handle_deps.php +5 -2
- templates/meta-box-loaded-assets/_asset-script-single-row/_source.php +42 -11
- templates/meta-box-loaded-assets/_asset-style-rows.php +47 -29
- templates/meta-box-loaded-assets/_asset-style-single-row.php +61 -37
- templates/meta-box-loaded-assets/_asset-style-single-row/_handle.php +25 -6
- templates/meta-box-loaded-assets/_asset-style-single-row/_handle_deps.php +5 -1
- templates/meta-box-loaded-assets/_asset-style-single-row/_source.php +45 -13
- templates/meta-box-loaded-assets/_hardcoded/_asset-script-single-row-hardcoded.php +63 -26
- templates/meta-box-loaded-assets/_hardcoded/_asset-style-single-row-hardcoded.php +64 -27
- templates/meta-box-loaded-assets/view-by-loaded-unloaded.php +2 -2
- templates/meta-box-loaded-assets/view-by-location.php +3 -3
- templates/meta-box-loaded-assets/view-by-parents.php +2 -2
- templates/meta-box-loaded-assets/view-by-position.php +2 -2
- templates/meta-box-loaded-assets/view-by-preload.php +2 -2
- templates/meta-box-loaded-assets/view-default.php +2 -2
- wpacu.php +2 -2
assets/script.min.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
function wpacuTabOpenSettingsArea(a,b){a.preventDefault();var c,d,e;for(d=document.getElementsByClassName("wpacu-settings-tab-content"),c=0;c<d.length;c++)d[c].style.display="none";for(e=document.getElementsByClassName("wpacu-settings-tab-link"),c=0;c<e.length;c++)e[c].className=e[c].className.replace(" active","");document.getElementById(b).style.display="table-cell",jQuery('a[href="#'+b+'"]').addClass("active"),jQuery("#wpacu-selected-tab-area").val(b)}function wpacuBytesToSize(a){return 0===a?"N/A":(a/1024).toFixed(4)+" KB"}function wpacuAjaxClearCache(){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,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,time_r:(new Date).getTime()})})},150)})}function wpacuClearAutoptimizeCache(){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){}})}jQuery(document).ready(function(a){function b(){if(!a("#wpacu_ajax_fetch_assets_list_dashboard_view").length)return!1;var b={};if("direct"===wpacu_object.dom_get_type)b[wpacu_object.plugin_name+"_load"]=1,b[wpacu_object.plugin_name+"_time_r"]=(new Date).getTime(),a.ajax({method:"GET",url:wpacu_object.page_url,data:b,cache:!1,complete:function(b,d){if("error"===b.statusText){if(404===b.status)return void c(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(a){c(a)});else if("wp_remote_post"===wpacu_object.dom_get_type){var d={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()};a.post(wpacu_object.ajax_url,d,function(b){if(!b)return!1;a("#wpacu_meta_box_content").html(b),a("#wpacu_home_page_form").length>0&&a("#submit").show(),setTimeout(function(){f.load(),setTimeout(function(){f.checkSourcesFor404Errors()},100)},200)})}}function c(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 e=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:e,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,time_r:(new Date).getTime()};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_home_page_form").length>0&&a("#submit").show(),setTimeout(function(){f.load(),a(".wpacu_asset_row").removeClass("wpacu-loading"),a("#wpacu-assets-reloading").remove(),f.checkSourcesFor404Errors()},200))})}a('input[name="wpacu_sub_tab_area"]').click(function(){a(this).prop("checked")&&a("#wpacu-selected-sub-tab-area").val(a(this).val())}),a("#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").click(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("#wpacu-mark-license-valid-button").click(function(){return confirm(wpacu_object.mark_license_valid_confirm)}),a("#wpacu-license-form").submit(function(){a("#edd_license_activate_btn").attr("disabled","disabled"),a("#edd_license_deactivate_btn").attr("disabled","disabled"),a(".wpacu-license-spinner").show()});var d,e;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(),d=a(this).find("option:selected"),a("#"+d.attr("data-id")).show()}),a("#wpacu-reset-submit-btn").on("click",function(){if("reset_settings"===a("#wpacu-reset-drop-down").val()?e=wpacu_object.reset_settings_confirm_msg:"reset_everything_except_settings"===a("#wpacu-reset-drop-down").val()?e=wpacu_object.reset_everything_except_settings_confirm_msg:"reset_everything"===a("#wpacu-reset-drop-down").val()&&(e=wpacu_object.reset_everything_confirm_msg),!confirm(e))return!1;a("#wpacu-action-confirmed").val("yes"),setTimeout(function(){"yes"===a("#wpacu-action-confirmed").val()&&a("#wpacu-tools-form").submit()},1e3)}),a("#wpacu-import-form").submit(function(){if(!confirm(wpacu_object.import_confirm_msg))return!1;a(this).find("button").addClass("wpacu-importing").prop("disabled",!0)});var f={load:function(){var b,c,d,e=".input-unload-on-this-page.wpacu-not-locked";a(".input-unload-on-this-page").on("click change",function(e){if(b=a(this).attr("data-handle"),c=a(this).hasClass("wpacu_unload_rule_for_style")?"style":"script",a(this).prop("checked")){if("click"===e.type&&!f.triggerAlertWhenAnyUnloadRuleIsChosen(b,c))return!1;f.uncheckAllOtherBulkUnloadRules(a(this),!1),f.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"),f.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(e).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(e).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(e).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(e).prop("checked",!1).trigger("change")}),a(".wpacu_keep_bulk_rule").click(function(){a(this).prop("checked")&&a(this).parents("li").next().removeClass("remove_rule")}),a(".wpacu_remove_bulk_rule").click(function(){a(this).prop("checked")&&a(this).parents("li").addClass("remove_rule")}),a(".wpacu_bulk_unload").on("click change",function(e){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"===e.type&&!f.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")),f.showHandleLoadExceptionArea(c,b),a(this).hasClass("wpacu_global_unload")?(f.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")&&(f.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")),f.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(".wpacu_load_it_option_one.wpacu_load_exception").on("click change",function(){var b=a(this).attr("data-handle");if(a(this).prop("checked")){a(this).parent("label").addClass("wpacu_global_unload_exception");var c="";a(this).hasClass("wpacu_style")?c="style":a(this).hasClass("wpacu_script")&&(c="script"),a("#"+c+"_"+b).prop("checked",!1).trigger("change")}else a(this).parent("label").removeClass("wpacu_global_unload_exception")}),a(".wpacu_load_it_option_two").on("click change",function(){var b=a(this).parents("li");a(this).prop("checked")?(b.find("label").addClass("wpacu_bold"),b.find("textarea").prop("disabled",!1).focus().removeClass("wpacu_disabled"),b.find(".wpacu_load_regex_input_wrap").removeClass("wpacu_hide")):(b.find("label").removeClass("wpacu_bold"),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(".wpacu_script_attr_rule_input").on("click change",function(){a(this).is(":checked")&&(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(".wpacu-add-handle-note").on("click",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(".wpacu-external-file-size").on("click",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},function(a){c.html(a)})}),a(".wpacu_handle_row_expand_contract").on("click",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(""))});a('[data-is-hardcoded-asset="true"]').length>0&&(a.each(a('[data-is-hardcoded-asset="true"]'),function(b,c){f.updateHardcodedDataHiddenFieldStatus(a(this))}),a('[data-is-hardcoded-asset="true"]').on("click",".wpacu_unload_rule_input",function(){f.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(("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")&&(f.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_radio[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_radio[data-wpacu-plugin-path="'+b+'"]').parent("label").removeClass("wpacu_plugin_unload_rule_input_checked"),a('.wpacu_plugin_unload_regex_input_wrap[data-wpacu-plugin-path="'+b+'"]').addClass("wpacu_hide"),f.showPluginLoadExceptionArea(b)):(a(this).parent("label").removeClass("wpacu_plugin_unload_rule_input_checked"),a('.wrap_plugin_load_exception_options[data-wpacu-plugin-path="'+b+'"]').addClass("wpacu_hide").find('input[type="checkbox"]').prop("disabled",!0))}),a(".wpacu_plugin_unload_regex_radio").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"),f.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"),a('.wrap_plugin_load_exception_options[data-wpacu-plugin-path="'+b+'"]').addClass("wpacu_hide"))}),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_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"]').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")},checkSourcesFor404Errors:function(){var b=a("[data-wpacu-external-source]");if(!(b.length<1)){var c=b.length,d="";b.each(function(b){var e=a(this),f=e.attr("data-wpacu-external-source");d+=f+"-at-wpacu-at-",b===c-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:d},function(b){var c=jQuery.parseJSON(b);a.each(c,function(b,c){a('[data-wpacu-external-source="'+c+'"]').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>")})})})}}};a(window).load(function(){f.checkSourcesFor404Errors()}),a("#wpacu_post_type_select").change(function(){a("#wpacu_post_type_form").submit()}),a("#wpacu_taxonomy_select").change(function(){a("#wpacu_taxonomy_form").submit()}),a("#wpacu_dashboard").click(function(){a(this).prop("checked")?a("#wpacu-settings-assets-retrieval-mode").show():a("#wpacu-settings-assets-retrieval-mode").hide()}),a(".wpacu-dom-get-type-selection").change(function(){a(this).is(":checked")&&(a(".wpacu-dom-get-type-info").hide(),a("#"+a(this).attr("data-target")).fadeIn("fast"))}),a("#wpacu_frontend").click(function(){a(this).prop("checked")?a("#wpacu-settings-frontend-exceptions").show():a("#wpacu-settings-frontend-exceptions").hide()}),a(".google_fonts_combine_type").change(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_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})}),a(".wpacu-combine-loaded-js-level").change(function(){a(this).is(":checked")&&(a(".wpacu_combine_loaded_js_level_area").removeClass("wpacu_active"),a("#"+a(this).attr("data-target")).addClass("wpacu_active"))});var g=a('#wpacu-update-button-area input[type="submit"]');g.parents("form").submit(function(){g.attr("disabled",!0),a("#wpacu-updating-settings").show()});var h=a("#wpacu-update-front-settings-area .wpacu_update_btn");if(h.parents("form").submit(function(){return h.attr("disabled",!0).addClass("wpacu_submitting"),a("#wpacu-updating-front-settings").show(),!0}),a("form#wpacu-settings-form, form#wpacu_home_page_form").submit(function(){return g.attr("disabled",!0),!0}),a(".wpacu_bulk_rule_checkbox, .wpacu_remove_preload").click(function(){var b=a(this).parents(".wpacu_bulk_change_row");a(this).prop("checked")?b.addClass("wpacu_selected"):b.removeClass("wpacu_selected")}),a(".wpacu_remove_regex").click(function(){var b=a(this).parents(".wpacu_regex_rule_row");a(this).prop("checked")?b.addClass("wpacu_enabled"):b.removeClass("wpacu_enabled")}),a(".wpacu_restore_position").click(function(){var b=a(this).parents(".wpacu_restore_position_row");a(this).prop("checked")?b.addClass("wpacu_selected"):b.removeClass("wpacu_selected")}),a(".wpacu_remove_global_attr").click(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(){f.load()},200),a("#wpacu-plugins-load-manager-wrap").length>0&&setTimeout(function(){f.pluginLoadManager()},200),"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)&&b(),"fetch_on_click"===wpacu_object.list_show_status&&a("#wpacu_ajax_fetch_on_click_btn").click(function(c){c.preventDefault(),a(this).hide(),a("#wpacu_fetching_assets_list_wrap").show(),b()}),a(document).on("click",".wp-admin.post-php .edit-post-header__settings button.is-primary",function(){var c=function(){if(0===a(".edit-post-header__settings .is-saving").length){if(a("#wpacu_unload_assets_area_loaded").length>0&&a("#wpacu_unload_assets_area_loaded").val()){a("#wpacu-assets-reloading").remove();var c='<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(c)}a(".wpacu_asset_row").addClass("wpacu-loading"),b(),wpacuAjaxClearCache(),clearInterval(d)}},d=setInterval(c,900)})}),""!==wpacu_object.clear_cache_on_page_load&&wpacuAjaxClearCache(),""!==wpacu_object.clear_other_caches&&setTimeout(function(){wpacuClearAutoptimizeCache()},150),jQuery(document).ready(function(a){try{var b;a('input[type="hidden"][name="_wp_http_referer"]').length>0&&(b=a('input[type="hidden"][name="_wp_http_referer"]').val(),b.includes("term.php?taxonomy=")&&b.includes("message=")&&wpacuAjaxClearCache(),b.includes("post.php?post=")&&b.includes("message=")&&wpacuAjaxClearCache())}catch(a){console.log(a)}});
|
1 |
+
function wpacuTabOpenSettingsArea(a,b){a.preventDefault();var c,d,e;for(d=document.getElementsByClassName("wpacu-settings-tab-content"),c=0;c<d.length;c++)d[c].style.display="none";for(e=document.getElementsByClassName("wpacu-settings-tab-link"),c=0;c<e.length;c++)e[c].className=e[c].className.replace(" active","");document.getElementById(b).style.display="table-cell",jQuery('a[href="#'+b+'"]').addClass("active"),jQuery("#wpacu-selected-tab-area").val(b)}function wpacuBytesToSize(a){return 0===a?"N/A":(a/1024).toFixed(4)+" KB"}function wpacuAjaxClearCache(){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,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,time_r:(new Date).getTime()})})},150)})}function wpacuClearAutoptimizeCache(){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){}})}jQuery(document).ready(function(a){function b(){if(!a("#wpacu_ajax_fetch_assets_list_dashboard_view").length)return!1;var b={};if("direct"===wpacu_object.dom_get_type)b[wpacu_object.plugin_name+"_load"]=1,b[wpacu_object.plugin_name+"_time_r"]=(new Date).getTime(),a.ajax({method:"GET",url:wpacu_object.page_url,data:b,cache:!1,complete:function(b,d){if("error"===b.statusText){if(404===b.status)return void c(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(a){c(a)});else if("wp_remote_post"===wpacu_object.dom_get_type){var d={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()};a.post(wpacu_object.ajax_url,d,function(b){if(!b)return!1;a("#wpacu_meta_box_content").html(b),a("#wpacu_home_page_form").length>0&&a("#submit").show(),setTimeout(function(){f.load(),setTimeout(function(){f.checkSourcesFor404Errors()},100)},200)})}}function c(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 e=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:e,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,time_r:(new Date).getTime()};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_home_page_form").length>0&&a("#submit").show(),setTimeout(function(){f.load(),a(".wpacu_asset_row").removeClass("wpacu-loading"),a("#wpacu-assets-reloading").remove(),f.checkSourcesFor404Errors()},200))})}a('input[name="wpacu_sub_tab_area"]').click(function(){a(this).prop("checked")&&a("#wpacu-selected-sub-tab-area").val(a(this).val())}),a("#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").click(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("#wpacu-mark-license-valid-button").click(function(){return confirm(wpacu_object.mark_license_valid_confirm)}),a("#wpacu-license-form").submit(function(){a("#edd_license_activate_btn").attr("disabled","disabled"),a("#edd_license_deactivate_btn").attr("disabled","disabled"),a(".wpacu-license-spinner").show()});var d,e;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(),d=a(this).find("option:selected"),a("#"+d.attr("data-id")).show()}),a("#wpacu-reset-submit-btn").on("click",function(){if("reset_settings"===a("#wpacu-reset-drop-down").val()?e=wpacu_object.reset_settings_confirm_msg:"reset_everything_except_settings"===a("#wpacu-reset-drop-down").val()?e=wpacu_object.reset_everything_except_settings_confirm_msg:"reset_everything"===a("#wpacu-reset-drop-down").val()&&(e=wpacu_object.reset_everything_confirm_msg),!confirm(e))return!1;a("#wpacu-action-confirmed").val("yes"),setTimeout(function(){"yes"===a("#wpacu-action-confirmed").val()&&a("#wpacu-tools-form").submit()},1e3)}),a("#wpacu-import-form").submit(function(){if(!confirm(wpacu_object.import_confirm_msg))return!1;a(this).find("button").addClass("wpacu-importing").prop("disabled",!0)});var f={load:function(){var b,c,d,e=".input-unload-on-this-page.wpacu-not-locked";a(".input-unload-on-this-page").on("click change",function(e){if(b=a(this).attr("data-handle"),c=a(this).hasClass("wpacu_unload_rule_for_style")?"style":"script",a(this).prop("checked")){if("click"===e.type&&!f.triggerAlertWhenAnyUnloadRuleIsChosen(b,c))return!1;f.uncheckAllOtherBulkUnloadRules(a(this),!1),f.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"),f.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(e).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(e).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(e).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(e).prop("checked",!1).trigger("change")}),a(".wpacu_keep_bulk_rule").click(function(){a(this).prop("checked")&&a(this).parents("li").next().removeClass("remove_rule")}),a(".wpacu_remove_bulk_rule").click(function(){a(this).prop("checked")&&a(this).parents("li").addClass("remove_rule")}),a(".wpacu_bulk_unload").on("click change",function(e){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"===e.type&&!f.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")),f.showHandleLoadExceptionArea(c,b),a(this).hasClass("wpacu_global_unload")?(f.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")&&(f.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")),f.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(".wpacu_load_it_option_one.wpacu_load_exception").on("click change",function(){var b=a(this).attr("data-handle");if(a(this).prop("checked")){a(this).parent("label").addClass("wpacu_global_unload_exception");var c="";a(this).hasClass("wpacu_style")?c="style":a(this).hasClass("wpacu_script")&&(c="script"),a("#"+c+"_"+b).prop("checked",!1).trigger("change")}else a(this).parent("label").removeClass("wpacu_global_unload_exception")}),a(".wpacu_load_it_option_two").on("click change",function(){var b=a(this).parents("li");a(this).prop("checked")?(b.find("label").addClass("wpacu_bold"),b.find("textarea").prop("disabled",!1).focus().removeClass("wpacu_disabled"),b.find(".wpacu_load_regex_input_wrap").removeClass("wpacu_hide")):(b.find("label").removeClass("wpacu_bold"),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(".wpacu_script_attr_rule_input").on("click change",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(".wpacu-add-handle-note").on("click",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(".wpacu-external-file-size").on("click",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},function(a){c.html(a)})}),a(".wpacu_handle_row_expand_contract").on("click",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(""))});a('[data-is-hardcoded-asset="true"]').length>0&&(a.each(a('[data-is-hardcoded-asset="true"]'),function(b,c){f.updateHardcodedDataHiddenFieldStatus(a(this))}),a('[data-is-hardcoded-asset="true"]').on("click",".wpacu_unload_rule_input",function(){f.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(("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")&&(f.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_radio[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_radio[data-wpacu-plugin-path="'+b+'"]').parent("label").removeClass("wpacu_plugin_unload_rule_input_checked"),a('.wpacu_plugin_unload_regex_input_wrap[data-wpacu-plugin-path="'+b+'"]').addClass("wpacu_hide"),f.showPluginLoadExceptionArea(b)):(a(this).parent("label").removeClass("wpacu_plugin_unload_rule_input_checked"),a('.wrap_plugin_load_exception_options[data-wpacu-plugin-path="'+b+'"]').addClass("wpacu_hide").find('input[type="checkbox"]').prop("disabled",!0))}),a(".wpacu_plugin_unload_regex_radio").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"),f.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"),a('.wrap_plugin_load_exception_options[data-wpacu-plugin-path="'+b+'"]').addClass("wpacu_hide"))}),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_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"]').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")},checkSourcesFor404Errors:function(){var b=a("[data-wpacu-external-source]");if(!(b.length<1)){var c=b.length,d="";b.each(function(b){var e=a(this),f=e.attr("data-wpacu-external-source");d+=f+"-at-wpacu-at-",b===c-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:d},function(b){var c=jQuery.parseJSON(b);a.each(c,function(b,c){a('[data-wpacu-external-source="'+c+'"]').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>")})})})}}};a(window).load(function(){f.checkSourcesFor404Errors()}),a("#wpacu_post_type_select").change(function(){a("#wpacu_post_type_form").submit()}),a("#wpacu_taxonomy_select").change(function(){a("#wpacu_taxonomy_form").submit()}),a("#wpacu_dashboard").click(function(){a(this).prop("checked")?a("#wpacu-settings-assets-retrieval-mode").show():a("#wpacu-settings-assets-retrieval-mode").hide()}),a(".wpacu-dom-get-type-selection").change(function(){a(this).is(":checked")&&(a(".wpacu-dom-get-type-info").hide(),a("#"+a(this).attr("data-target")).fadeIn("fast"))}),a("#wpacu_frontend").click(function(){a(this).prop("checked")?a("#wpacu-settings-frontend-exceptions").show():a("#wpacu-settings-frontend-exceptions").hide()}),a(".google_fonts_combine_type").change(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_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})}),a(".wpacu-combine-loaded-js-level").change(function(){a(this).is(":checked")&&(a(".wpacu_combine_loaded_js_level_area").removeClass("wpacu_active"),a("#"+a(this).attr("data-target")).addClass("wpacu_active"))});var g=a('#wpacu-update-button-area input[type="submit"]');g.parents("form").submit(function(){g.attr("disabled",!0),a("#wpacu-updating-settings").show()});var h=a("#wpacu-update-front-settings-area .wpacu_update_btn");if(h.parents("form").submit(function(){return h.attr("disabled",!0).addClass("wpacu_submitting"),a("#wpacu-updating-front-settings").show(),!0}),a("form#wpacu-settings-form, form#wpacu_home_page_form").submit(function(){return g.attr("disabled",!0),!0}),a(".wpacu_bulk_rule_checkbox, .wpacu_remove_preload").click(function(){var b=a(this).parents(".wpacu_bulk_change_row");a(this).prop("checked")?b.addClass("wpacu_selected"):b.removeClass("wpacu_selected")}),a(".wpacu_remove_regex").click(function(){var b=a(this).parents(".wpacu_regex_rule_row");a(this).prop("checked")?b.addClass("wpacu_enabled"):b.removeClass("wpacu_enabled")}),a(".wpacu_restore_position").click(function(){var b=a(this).parents(".wpacu_restore_position_row");a(this).prop("checked")?b.addClass("wpacu_selected"):b.removeClass("wpacu_selected")}),a(".wpacu_remove_global_attr").click(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(){f.load()},200),a("#wpacu-plugins-load-manager-wrap").length>0&&setTimeout(function(){f.pluginLoadManager()},200),"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)&&b(),"fetch_on_click"===wpacu_object.list_show_status&&a("#wpacu_ajax_fetch_on_click_btn").click(function(c){c.preventDefault(),a(this).hide(),a("#wpacu_fetching_assets_list_wrap").show(),b()}),a(document).on("click",".wp-admin.post-php .edit-post-header__settings button.is-primary",function(){var c=function(){if(0===a(".edit-post-header__settings .is-saving").length){if(a("#wpacu_unload_assets_area_loaded").length>0&&a("#wpacu_unload_assets_area_loaded").val()){a("#wpacu-assets-reloading").remove();var c='<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(c)}a(".wpacu_asset_row").addClass("wpacu-loading"),b(),wpacuAjaxClearCache(),clearInterval(d)}},d=setInterval(c,900)})}),""!==wpacu_object.clear_cache_on_page_load&&wpacuAjaxClearCache(),""!==wpacu_object.clear_other_caches&&setTimeout(function(){wpacuClearAutoptimizeCache()},150),jQuery(document).ready(function(a){try{var b;a('input[type="hidden"][name="_wp_http_referer"]').length>0&&(b=a('input[type="hidden"][name="_wp_http_referer"]').val(),b.includes("term.php?taxonomy=")&&b.includes("message=")&&wpacuAjaxClearCache(),b.includes("post.php?post=")&&b.includes("message=")&&wpacuAjaxClearCache())}catch(a){console.log(a)}});
|
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-license-area .notice .dashicons,.wpacu-settings-area .notice .dashicons,.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-script-attributes-area,tr.wpacu_not_load th .wpacu-assets-inline-code-wrap,tr.wpacu_not_load th .wpacu-script-attributes-area{filter:alpha(opacity=45);opacity:.45}.dashicons-wpacu{width:17px;height:17px;margin:2px 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 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 .wpacu_verified{padding:10px;background-color:#f5f5f5;border-left:1px solid #ddd}#wpacu_meta_box_content .wpacu_verified span{color:#0073aa;font-weight:700}#wpacu_meta_box_content div.wpacu_warning{border:1px solid #c00}#wpacu_meta_box_content ul.wpacu_asset_options{margin:0;padding:0}#wpacu_meta_box_content ul.wpacu_asset_options li{list-style:none;display:inline-block}#wpacu_meta_box_content ul.wpacu_asset_options label{font-weight:400;margin-right:5px;margin-top:5px;margin-bottom:5px}.wpacu-updated-frontend{font-weight:400;background-color:#fff;border-left:4px solid #46b450;border-top:1px solid #46b450;border-right:1px solid #46b450;border-bottom:1px solid #46b450;padding:9px 14px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.wpacu_exception_options_area_wrap label.wpacu_bold span,.wpacu_load_regex_area_wrap label.wpacu_bold span,.wpacu_unload_regex_area_wrap label.wpacu_bold span{font-weight:600!important}.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_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,.wpacu_is_global_unloaded .wpacu_exception_options_area_wrap .wpacu_load_regex_input_wrap{display:block}.wpacu_exception_options_area_wrap{display:table;background:#fff!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,.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}#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{margin:0 0 10px!important}.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}.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}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{-moz-box-shadow:inset 0 1px 0 0 #54a3f7!important;-webkit-box-shadow:inset 0 1px 0 0 #54a3f7!important;box-shadow:inset 0 1px 0 0 #54a3f7!important;background:-webkit-gradient(linear,left top,left bottom,color-stop(.05,#007dc1),color-stop(1,#0061a7))!important;background:-moz-linear-gradient(top,#007dc1 5%,#0061a7 100%)!important;background:-webkit-linear-gradient(top,#007dc1 5%,#0061a7 100%)!important;background:-o-linear-gradient(top,#007dc1 5%,#0061a7 100%)!important;background:-ms-linear-gradient(top,#007dc1 5%,#0061a7 100%)!important;background:linear-gradient(to bottom,#007dc1 5%,#0061a7 100%)!important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#007dc1", endColorstr="#0061a7", GradientType=0)!important;background-color:#007dc1!important;-moz-border-radius:3px!important;-webkit-border-radius:3px!important;border-radius:3px!important;border:1px solid #124d77!important;display:inline-block!important;cursor:pointer!important;color:#fff!important;font-size:15px!important;padding:10px 24px!important;text-decoration:none!important;text-shadow:0 1px 0 #154682!important;height:auto!important;line-height:normal!important}.wpacu-btns .btn:focus,.wpacu-btns .btn:hover,.wpacu-btns a{text-decoration:none}.wpacu_update_btn.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;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#0061a7", endColorstr="#007dc1", GradientType=0)!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 .btn{display:inline-block;font-weight:400;line-height:1.25;text-align:center;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid transparent;padding:.5rem 1rem;font-size:1rem;-webkit-border-radius:.25rem;-moz-border-radius:.25rem;border-radius:.25rem;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.wpacu-btns .btn.focus,.wpacu-btns .btn:focus{outline:0;-webkit-box-shadow:0 0 0 2px rgba(2,117,216,.25);box-shadow:0 0 0 2px rgba(2,117,216,.25)}.wpacu-btns .btn.disabled,.wpacu-btns .btn:disabled{cursor:not-allowed;opacity:.65}.wpacu-btns .btn.active,.wpacu-btns .btn:active{background-image:none}.wpacu-btns a.btn.disabled,.wpacu-btns fieldset[disabled] a.btn{pointer-events:none}.wpacu-btns .btn-primary{color:#fff;background-color:#0275d8;border-color:#0275d8}.wpacu-btns .btn-primary:hover{color:#fff;background-color:#025aa5;border-color:#01549b}.wpacu-btns .btn-primary.focus,.wpacu-btns .btn-primary:focus{-webkit-box-shadow:0 0 0 2px rgba(2,117,216,.5);box-shadow:0 0 0 2px rgba(2,117,216,.5)}.wpacu-btns .btn-primary.disabled,.wpacu-btns .btn-primary:disabled{background-color:#0275d8;border-color:#0275d8}.wpacu-btns .btn-primary.active,.wpacu-btns .btn-primary:active,.wpacu-btns .show>.btn-primary.dropdown-toggle{color:#fff;background-color:#025aa5;background-image:none;border-color:#01549b}.wpacu-btns .btn-secondary{color:#292b2c;background-color:#fff;border-color:#ccc}.wpacu-btns .btn-secondary:hover{color:#292b2c;background-color:#e6e6e6;border-color:#adadad}.wpacu-btns .btn-secondary.focus,.wpacu-btns .btn-secondary:focus{-webkit-box-shadow:0 0 0 2px rgba(204,204,204,.5);box-shadow:0 0 0 2px rgba(204,204,204,.5)}.wpacu-btns .btn-secondary.disabled,.wpacu-btns .btn-secondary:disabled{background-color:#fff;border-color:#ccc}.wpacu-btns .btn-secondary.active,.wpacu-btns .btn-secondary:active,.wpacu-btns .show>.btn-secondary.dropdown-toggle{color:#292b2c;background-color:#e6e6e6;background-image:none;border-color:#adadad}.wpacu-btns .btn-info{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.wpacu-btns .btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#2aabd2}.wpacu-btns .btn-info.focus,.wpacu-btns .btn-info:focus{-webkit-box-shadow:0 0 0 2px rgba(91,192,222,.5);box-shadow:0 0 0 2px rgba(91,192,222,.5)}.wpacu-btns .btn-info.disabled,.wpacu-btns .btn-info:disabled{background-color:#5bc0de;border-color:#5bc0de}.wpacu-btns .btn-info.active,.wpacu-btns .btn-info:active,.wpacu-btns .show>.btn-info.dropdown-toggle{color:#fff;background-color:#31b0d5;background-image:none;border-color:#2aabd2}.wpacu-btns .btn-success{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.wpacu-btns .btn-success:hover{color:#fff;background-color:#449d44;border-color:#419641}.wpacu-btns .btn-success.focus,.wpacu-btns .btn-success:focus{-webkit-box-shadow:0 0 0 2px rgba(92,184,92,.5);box-shadow:0 0 0 2px rgba(92,184,92,.5)}.wpacu-btns .btn-success.disabled,.wpacu-btns .btn-success:disabled{background-color:#5cb85c;border-color:#5cb85c}.wpacu-btns .btn-success.active,.wpacu-btns .btn-success:active,.wpacu-btns .show>.btn-success.dropdown-toggle{color:#fff;background-color:#449d44;background-image:none;border-color:#419641}.wpacu-btns .btn-warning{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.wpacu-btns .btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#eb9316}.wpacu-btns .btn-warning.focus,.wpacu-btns .btn-warning:focus{-webkit-box-shadow:0 0 0 2px rgba(240,173,78,.5);box-shadow:0 0 0 2px rgba(240,173,78,.5)}.wpacu-btns .btn-warning.disabled,.wpacu-btns .btn-warning:disabled{background-color:#f0ad4e;border-color:#f0ad4e}.wpacu-btns .btn-warning.active,.wpacu-btns .btn-warning:active,.wpacu-btns .show>.btn-warning.dropdown-toggle{color:#fff;background-color:#ec971f;background-image:none;border-color:#eb9316}.wpacu-btns .btn-danger{color:#fff;background-color:#d9534f;border-color:#d9534f}.wpacu-btns .btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#c12e2a}.wpacu-btns .btn-danger.focus,.wpacu-btns .btn-danger:focus{-webkit-box-shadow:0 0 0 2px rgba(217,83,79,.5);box-shadow:0 0 0 2px rgba(217,83,79,.5)}.wpacu-btns .btn-danger.disabled,.wpacu-btns .btn-danger:disabled{background-color:#d9534f;border-color:#d9534f}.wpacu-btns .btn-danger.active,.wpacu-btns .btn-danger:active,.wpacu-btns .show>.btn-danger.dropdown-toggle{color:#fff;background-color:#c9302c;background-image:none;border-color:#c12e2a}.wpacu-btns .btn-outline-primary{color:#0275d8;background-image:none;background-color:transparent;border-color:#0275d8}.wpacu-btns .btn-outline-primary:hover{color:#fff;background-color:#0275d8;border-color:#0275d8}.wpacu-btns .btn-outline-primary.focus,.wpacu-btns .btn-outline-primary:focus{-webkit-box-shadow:0 0 0 2px rgba(2,117,216,.5);box-shadow:0 0 0 2px rgba(2,117,216,.5)}.wpacu-btns .btn-outline-primary.disabled,.wpacu-btns .btn-outline-primary:disabled{color:#0275d8;background-color:transparent}.wpacu-btns .btn-outline-primary.active,.wpacu-btns .btn-outline-primary:active,.wpacu-btns .show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#0275d8;border-color:#0275d8}.wpacu-btns .btn-outline-secondary{color:#ccc;background-image:none;background-color:transparent;border-color:#ccc}.wpacu-btns .btn-outline-secondary:hover{color:#fff;background-color:#ccc;border-color:#ccc}.wpacu-btns .btn-outline-secondary.focus,.wpacu-btns .btn-outline-secondary:focus{-webkit-box-shadow:0 0 0 2px rgba(204,204,204,.5);box-shadow:0 0 0 2px rgba(204,204,204,.5)}.wpacu-btns .btn-outline-secondary.disabled,.wpacu-btns .btn-outline-secondary:disabled{color:#ccc;background-color:transparent}.wpacu-btns .btn-outline-secondary.active,.wpacu-btns .btn-outline-secondary:active,.wpacu-btns .show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#ccc;border-color:#ccc}.wpacu-btns .btn-outline-info{color:#5bc0de;background-image:none;background-color:transparent;border-color:#5bc0de}.wpacu-btns .btn-outline-info:hover{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.wpacu-btns .btn-outline-info.focus,.wpacu-btns .btn-outline-info:focus{-webkit-box-shadow:0 0 0 2px rgba(91,192,222,.5);box-shadow:0 0 0 2px rgba(91,192,222,.5)}.wpacu-btns .btn-outline-info.disabled,.wpacu-btns .btn-outline-info:disabled{color:#5bc0de;background-color:transparent}.wpacu-btns .btn-outline-info.active,.wpacu-btns .btn-outline-info:active,.wpacu-btns .show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.wpacu-btns .btn-outline-success{color:#5cb85c;background-image:none;background-color:transparent;border-color:#5cb85c}.wpacu-btns .btn-outline-success:hover{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.wpacu-btns .btn-outline-success.focus,.wpacu-btns .btn-outline-success:focus{-webkit-box-shadow:0 0 0 2px rgba(92,184,92,.5);box-shadow:0 0 0 2px rgba(92,184,92,.5)}.wpacu-btns .btn-outline-success.disabled,.wpacu-btns .btn-outline-success:disabled{color:#5cb85c;background-color:transparent}.wpacu-btns .btn-outline-success.active,.wpacu-btns .btn-outline-success:active,.wpacu-btns .show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.wpacu-btns .btn-outline-warning{color:#f0ad4e;background-image:none;background-color:transparent;border-color:#f0ad4e}.wpacu-btns .btn-outline-warning:hover{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.wpacu-btns .btn-outline-warning.focus,.wpacu-btns .btn-outline-warning:focus{-webkit-box-shadow:0 0 0 2px rgba(240,173,78,.5);box-shadow:0 0 0 2px rgba(240,173,78,.5)}.wpacu-btns .btn-outline-warning.disabled,.wpacu-btns .btn-outline-warning:disabled{color:#f0ad4e;background-color:transparent}.wpacu-btns .btn-outline-warning.active,.wpacu-btns .btn-outline-warning:active,.wpacu-btns .show>.btn-outline-warning.dropdown-toggle{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.wpacu-btns .btn-outline-danger{color:#d9534f;background-image:none;background-color:transparent;border-color:#d9534f}.wpacu-btns .btn-outline-danger:hover{color:#fff;background-color:#d9534f;border-color:#d9534f}.wpacu-btns .btn-outline-danger.focus,.wpacu-btns .btn-outline-danger:focus{-webkit-box-shadow:0 0 0 2px rgba(217,83,79,.5);box-shadow:0 0 0 2px rgba(217,83,79,.5)}.wpacu-btns .btn-outline-danger.disabled,.wpacu-btns .btn-outline-danger:disabled{color:#d9534f;background-color:transparent}.wpacu-btns .btn-outline-danger.active,.wpacu-btns .btn-outline-danger:active,.wpacu-btns .show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#d9534f;border-color:#d9534f}.wpacu-btns .btn-link{font-weight:400;color:#0275d8;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.wpacu-btns .btn-link,.wpacu-btns .btn-link.active,.wpacu-btns .btn-link:active,.wpacu-btns .btn-link:disabled{background-color:transparent}.wpacu-btns .btn-link,.wpacu-btns .btn-link:active,.wpacu-btns .btn-link:focus,.wpacu-btns .btn-link:hover{border-color:transparent}.wpacu-btns .btn-link:focus,.wpacu-btns .btn-link:hover{color:#014c8c;text-decoration:underline;background-color:transparent}.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}.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}.wordpress-core-file:hover .wpacu-tooltip{visibility:visible}.ajax-direct-call-error-area{background:#fff;padding:10px;border:1px solid #c00;-webkit-border-radius:8px;-moz-border-radius:8px;border-radius:8px}.ajax-direct-call-error-area td{padding:6px}.ajax-direct-call-error-area .note{margin-top:0;padding-top:0}.ajax-direct-call-error-area .error-code{color:#c00;font-weight:700}.ajax-wp-remote-post-call-error-area{background:#fff;padding:20px}.ajax-wp-remote-post-call-error-area .table-data{background:0 0;border:1px solid #c66;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px}.ajax-wp-remote-post-call-error-area .table-data td{padding:10px}.wrap-upgrade-info{background:#fff;padding:0 15px;border:1px solid #cdcdcd;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px}.wpacu-notice{margin:20px 20px 0 0!important}.wpacu-notice p{font-weight:600!important;font-style:italic}.wpacu-notice .dashicons{font-weight:inherit!important;color:#46b450!important;margin-right:4px;vertical-align:text-bottom;font-size:27px}.wpacu-notice-info{padding:12px 12px 12px 16px;background:#fff;border-left:4px solid #008f9c}.wpacu-notice-info p{margin-top:8px}.wpacu-notice-info p:first-child{margin-top:0}.wpacu-notice-info p:last-child{margin-bottom:0}.wpacu-warning{font-size:15px;padding:10px;background:#fffcec;border:1px solid #fdd5c9;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;margin:0 0 5px;width:100%}.pro-page-unlock-notice{-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px;padding:10px;background:#f2faf2;border:1px solid #c0e8c0;width:auto;display:block}.wpacu-license-area .notice,.wpacu-settings-area .notice{margin-left:0;padding:10px!important;width:97%;box-sizing:border-box;font-weight:600;font-style:italic}#wpacu-dom-get-type-selections,.wpacu-radio-selections{float:none;clear:both;width:auto;display:inline-block;margin-bottom:0;margin-top:0}#wpacu-dom-get-type-selections.wpacu-vertical,.wpacu-radio-selections.wpacu-vertical{display:block;margin-top:15px;margin-bottom:18px}#wpacu-dom-get-type-selections.wpacu-vertical li,.wpacu-radio-selections.wpacu-vertical li{float:none;margin-bottom:12px}#wpacu-dom-get-type-selections.wpacu-vertical li:last-child,.wpacu-radio-selections.wpacu-vertical li:last-child{margin-bottom:0}#wpacu-dom-get-type-selections li,.wpacu-radio-selections li{margin-right:30px;float:left;margin-bottom:0}#wpacu-dom-get-type-selections li:first-child,.wpacu-radio-selections li:first-child{margin-right:15px}#wpacu-dom-get-type-selections li:last-child,.wpacu-radio-selections li:last-child{margin-right:0}.wpacu_combine_loaded_js_level_area{display:none;background:0 0;border-left:2px solid #008f9c;padding-top:8px;padding-bottom:8px;padding-right:10px;padding-left:10px;margin:20px 0 15px}.wpacu_combine_loaded_js_level_area.wpacu_active{display:block}#wpacu-dom-get-type-infos{margin-bottom:0}#wpacu-dom-get-type-infos li{margin-bottom:0;line-height:20px}.wpacu-wrap 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-switch-enhanced .wpacu_asset_row .wpacu_switch .wpacu_slider.wpacu_round,.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch .wpacu_slider.wpacu_round{border-radius:29px}.wpacu-wrap.wpacu-settings-show-all #wpacu-update-button-area,.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:11px 28px;height:38px;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 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:before{border-radius:50%}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch.wpacu_disabled,.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch.wpacu_locked_for_pro{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]:checked,.wpacu-form-table .wpacu-fancy-checkbox input[type=checkbox]:hover,.wpacu-form-table label input[type=checkbox]:checked,.wpacu-form-table label input[type=checkbox]:hover{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:400 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}.wpacu-form-table .wpacu-fancy-radio input[type=radio]:checked,.wpacu-form-table .wpacu-fancy-radio input[type=radio]:hover{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:400 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}#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,#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}.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}}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:5px 18px;height:38px;font-size:15px}#wpacu-updating-settings{position:absolute;margin-left:183px;top:28px;display:none}#combine_loaded_js_info_area{position:relative}#combine_loaded_js_info_area.locked-for-pro:before{position:absolute;content:"";height:100%;width:100%;background:#fff;opacity:.5;z-index:10000}.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}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}.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: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-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;-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{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=contracted] .wpacu_hardcoded_part_if_contracted,.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 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 .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 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{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{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 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-clearfix:after,.wpacu-clearfix:before{display:table;content:""}.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:after{clear:both}.wpacu-wp-button{color:#555;border-color:#ccc;background:#f7f7f7;box-shadow:0 1px 0 #ccc;vertical-align:top}body.wp-admin .wpacu-wp-button{font-size:13px;line-height:26px;height:28px}.wpacu-wp-button.wpacu-wp-button-secondary{display:inline-block;text-decoration:none;height:auto;margin:0 5px 0 0;padding:0 10px 1px;cursor:pointer;border-width:1px;border-style:solid;-webkit-appearance:none;border-radius:3px;white-space:nowrap;box-sizing:border-box}.wpacu-wp-button:hover{background:#fafafa;border-color:#999;color:#23282d}.distinguish-asset-list{list-style:none;margin-left:0;margin-bottom:5px;display:inline-block}.distinguish-asset-list li{float:left;margin-right:20px}.distinguish-asset-list li:last-child{margin-right:0}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;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;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;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;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;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;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: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_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_table_wrap{margin:20px 0 0}.wpacu_table_wrap>table{border:1px solid #cdcdcd}.wpacu_table_wrap .table{width:100%;max-width:100%;margin-bottom:1rem;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px}.wpacu_table_wrap .table td,.wpacu_table_wrap .table th{padding:.75rem;vertical-align:top;border-top:1px solid #eceeef}.wpacu_table_wrap .table thead th{vertical-align:bottom;border-bottom:2px solid #eceeef}.wpacu_table_wrap .table tbody+tbody{border-top:2px solid #eceeef}.wpacu_table_wrap .table .table{background-color:#fff}.wpacu_table_wrap .table-sm td,.wpacu_table_wrap .table-sm th{padding:.3rem}.wpacu_table_wrap .table-bordered,.wpacu_table_wrap .table-bordered td,.wpacu_table_wrap .table-bordered th{border:1px solid #eceeef}.wpacu_table_wrap .table-bordered thead td,.wpacu_table_wrap .table-bordered thead th{border-bottom-width:2px}.wpacu_table_wrap .table-striped tbody tr:nth-of-type(even){background-color:#f9f9f9}.wpacu_table_wrap .table-striped tbody tr:nth-of-type(odd){background-color:#fff}.wpacu_table_wrap .table-active,.wpacu_table_wrap .table-active>td,.wpacu_table_wrap .table-active>th,.wpacu_table_wrap .table-hover .table-active:hover,.wpacu_table_wrap .table-hover .table-active:hover>td,.wpacu_table_wrap .table-hover .table-active:hover>th,.wpacu_table_wrap .table-hover tbody tr:hover{background-color:rgba(0,0,0,.075)}.wpacu_table_wrap .table-success,.wpacu_table_wrap .table-success>td,.wpacu_table_wrap .table-success>th{background-color:#dff0d8}.wpacu_table_wrap .table-hover .table-success:hover,.wpacu_table_wrap .table-hover .table-success:hover>td,.wpacu_table_wrap .table-hover .table-success:hover>th{background-color:#d0e9c6}.wpacu_table_wrap .table-info,.wpacu_table_wrap .table-info>td,.wpacu_table_wrap .table-info>th{background-color:#d9edf7}.wpacu_table_wrap .table-hover .table-info:hover,.wpacu_table_wrap .table-hover .table-info:hover>td,.wpacu_table_wrap .table-hover .table-info:hover>th{background-color:#c4e3f3}.wpacu_table_wrap .table-warning,.wpacu_table_wrap .table-warning>td,.wpacu_table_wrap .table-warning>th{background-color:#fcf8e3}.wpacu_table_wrap .table-hover .table-warning:hover,.wpacu_table_wrap .table-hover .table-warning:hover>td,.wpacu_table_wrap .table-hover .table-warning:hover>th{background-color:#faf2cc}.wpacu_table_wrap .table-danger,.wpacu_table_wrap .table-danger>td,.wpacu_table_wrap .table-danger>th{background-color:#f2dede}.wpacu_table_wrap .table-hover .table-danger:hover,.wpacu_table_wrap .table-hover .table-danger:hover>td,.wpacu_table_wrap .table-hover .table-danger:hover>th{background-color:#ebcccc}.wpacu_table_wrap .thead-inverse th{color:#fff;background-color:#292b2c}.wpacu_table_wrap .thead-default th{color:#464a4c;background-color:#eceeef}.wpacu_table_wrap .table-inverse{color:#fff;background-color:#292b2c}.wpacu_table_wrap .table-inverse td,.wpacu_table_wrap .table-inverse th,.wpacu_table_wrap .table-inverse thead th{border-color:#fff}.wpacu_table_wrap .table-inverse.table-bordered,.wpacu_table_wrap .table-responsive.table-bordered{border:0}.wpacu_table_wrap .table-responsive{display:block;width:100%;overflow-x:auto;-ms-overflow-style:-ms-autohiding-scrollbar}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) tr:not(:first-of-type):not(.wpacu_selected):hover,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}.wp-list-table .wpacu_remove_global_attr_row.wpacu_selected,.wp-list-table .wpacu_restore_position_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}#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,#wpacu-warning-read span.dashicons-warning,#wpacu-warning-read span.dashicons-wordpress-alt{color:#c00}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 (max-width:767px){.wpacu-get-help-wrap .help-content-wrap{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.wpacu-get-help-wrap .help-content-wrap .help-content{padding:15px;background:#fff;border:1px solid #E0E0E0;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px;box-shadow:2px 3px 8px 0 #231f2038;flex:1 1 50%;margin-bottom:10px}.wpacu-get-help-wrap .help-content-wrap .help-content .content-title{margin:5px 0 15px}.wpacu-get-help-wrap .help-content-wrap .help-content .cols-wrap{width:100%;margin:0 auto;display:table}.wpacu-get-help-wrap .help-content-wrap .help-content .wpacu-image-area{margin:5px 0 0;position:relative}.wpacu-get-help-wrap .help-content-wrap .help-content .wpacu-image-area.col-left{float:left;width:48%}.wpacu-get-help-wrap .help-content-wrap .help-content .wpacu-image-area.col-right{float:right;width:48%}.wpacu-get-help-wrap .help-content-wrap .help-content .wpacu-image-area.activate-plugin img{max-width:280px}.wpacu-get-help-wrap .help-content-wrap .help-content .wpacu-image-area img{width:99%;margin:8px 0;border:1px solid #cdcdcd;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px}.wpacu-get-help-wrap .help-content-wrap .help-content.upgrade-help{order:2}@media only screen and (min-width:768px){.wpacu-get-help-wrap .help-content-wrap .help-content{margin-right:24px}.wpacu-get-help-wrap .help-content-wrap .help-content.upgrade-help{margin-right:0}}.wpacu-get-help-wrap .help-content-wrap .help-content.tech-help{order:1}@media only screen and (max-width:767px){.wpacu-get-help-wrap .help-content-wrap .help-content.tech-help{margin-bottom:30px}}.wpacu-get-help-wrap .help-content-wrap .help-content ul{list-style:none;padding-left:0}.wpacu-get-help-wrap .help-content-wrap .help-content ul li{font-size:14px;line-height:22px;margin-bottom:15px}.wpacu-get-help-wrap .help-content-wrap .help-content p:last-child,.wpacu-get-help-wrap .help-content-wrap .help-content ul li:last-child{margin-bottom:0}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.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}.wpacu-about-wrap .wpacu-about-text img{width:auto;height:150px;position:absolute;top:20px;right:-20px}@media only screen and (max-width:767px){.wpacu-about-wrap h1{margin:20px}.wpacu-about-wrap .wpacu-about-text img{display:none}.wpacu-about-wrap .wpacu-about-text{margin:20px}}.wpacu-about-wrap .about-wrap-content .area-title{font-size:19px;line-height:19px;margin-bottom:0}.wpacu-about-wrap hr{margin:10px 0}.wpacu-lite-vs-pro-wrap ul{display:flex;top:0;z-index:10;padding-bottom:14px}.wpacu-lite-vs-pro-wrap li{list-style:none;flex:1}.wpacu-lite-vs-pro-wrap li:last-child{border-right:1px solid #DDD}.wpacu-lite-vs-pro-wrap button{width:100%;border:1px solid #DDD;border-right:0;border-top:0;padding:10px;background:#FFF;font-size:14px;font-weight:700;height:60px;color:#999}.wpacu-lite-vs-pro-wrap li.active button{background:#F5F5F5;color:#000}.wpacu-lite-vs-pro-wrap table{border-collapse:collapse;table-layout:fixed;width:100%}.wpacu-lite-vs-pro-wrap th{background:inherit}.wpacu-lite-vs-pro-wrap tr.first{background:inherit;font-size:18px}.wpacu-lite-vs-pro-wrap tr.first .bg-lite{border-top:4px solid #6d6e70;background:#fff;color:#6d6e70}.wpacu-lite-vs-pro-wrap tr.first .bg-pro{border-top:4px solid green;background:#fff;color:green}.wpacu-lite-vs-pro-wrap tr:not(.first){background:#fff}.wpacu-lite-vs-pro-wrap tr:not(:last-child):hover{background:#f8f8f8}.wpacu-lite-vs-pro-wrap td,.wpacu-lite-vs-pro-wrap th{height:53px;line-height:22px;border:1px solid #DDD;padding:10px 16px;empty-cells:show;text-align:left}@media only screen and (max-width:767px){.wpacu-lite-vs-pro-wrap td,.wpacu-lite-vs-pro-wrap th{font-size:14px}}.wpacu-lite-vs-pro-wrap td+td,.wpacu-lite-vs-pro-wrap th+th{text-align:center;display:none}.wpacu-lite-vs-pro-wrap td.default{display:table-cell}.wpacu-lite-vs-pro-wrap .txt-l{font-size:28px;font-weight:700}.wpacu-lite-vs-pro-wrap .txt-top{position:relative;top:-9px;left:-2px}.wpacu-lite-vs-pro-wrap svg{width:18px;height:18px}.wpacu-lite-vs-pro-wrap svg path{fill:green}.wpacu-lite-vs-pro-wrap .tick{color:#2CA01C}.wpacu-lite-vs-pro-wrap .tick img{fill:#2CA01C}@media only screen and (max-width:767px){.wpacu-lite-vs-pro-wrap .txt-l{font-size:20px}.wpacu-lite-vs-pro-wrap .tick{font-size:15px}}.wpacu-lite-vs-pro-wrap .na{font-size:18px;opacity:.3;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=30)"}.wpacu-lite-vs-pro-wrap .hide{border:0;background:0 0}.wpacu-lite-vs-pro-wrap td,.wpacu-lite-vs-pro-wrap th{display:table-cell!important;width:auto}.wpacu-lite-vs-pro-wrap td+td,.wpacu-lite-vs-pro-wrap th+th{width:130px}@media only screen and (max-width:767px){.wpacu-lite-vs-pro-wrap .na{font-size:15px}.wpacu-lite-vs-pro-wrap td+td,.wpacu-lite-vs-pro-wrap th+th{width:42px}}@media only screen and (min-width:768px){.wpacu-lite-vs-pro-wrap td .button{font-size:16px!important}}@media only screen and (max-width:767px){.wpacu-lite-vs-pro-wrap td .button{font-size:14px!important;padding:0 20px!important}.wpacu-lite-vs-pro-wrap td .button.button-primary{margin-top:6px;margin-bottom:14px}}@media only screen and (min-width:768px){.wpacu-lite-vs-pro-wrap{margin-bottom:40px;clear:both}}.wpacu-video-areas>div{padding:20px;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px}.wpacu-video-areas>div:nth-child(odd){background:#fff}.wpacu-video-areas>div:nth-child(even){background:inherit}@media only screen and (min-width:1200px){.wpacu-video-areas .wpacu-video-area-wrapper{margin:0 0 15px;display:flex}.wpacu-video-areas .wpacu-video-area-wrapper .wpacu-col-right{padding:0 20px 0 25px}}@media only screen and (min-width:992px) and (max-width:1199px){.wpacu-video-areas .wpacu-video-area-wrapper{margin:0 0 40px}}.wpacu-video-areas .wpacu-video-area-wrapper ol{font-size:14px}.wpacu-video-areas .wpacu-video-area-wrapper ul{font-size:14px;list-style:disc;margin-left:22px}@media only screen and (min-width:1200px){.wpacu-video-areas .wpacu-video-area-wrapper .wpacu-col-right p:first-child{margin-top:0}.wpacu-video-areas .wpacu-video-area-wrapper .wpacu-col-right p:last-child{margin-bottom:0}}@media only screen and (max-width:1199px){.wpacu-video-areas .wpacu-video-area-wrapper .wpacu-video-wrapper{position:relative;padding-bottom:56.25%;padding-top:30px;height:0;overflow:hidden}}.wpacu-video-areas .wpacu-video-area-wrapper .wpacu-video-wrapper iframe{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 input[type=radio].wpacu_plugin_load_it:before{background-color:green}#wpacu-plugins-load-manager-wrap .wrap_plugin_unload_rules_options .wpacu_plugin_rules_wrap ul.wpacu_plugin_rules label input[type=radio].wpacu_plugin_unload_rule_input:before{background-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-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_exception_options_area textarea,#wpacu-plugins-load-manager-wrap textarea:focus{width:100%}#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}#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.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.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-script-attributes-area,tr.wpacu_not_load th .wpacu-assets-inline-code-wrap,tr.wpacu_not_load th .wpacu-script-attributes-area{filter:alpha(opacity=45);opacity:.45}.dashicons-wpacu{width:17px;height:17px;margin:2px 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 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 .wpacu_verified{padding:10px;background-color:#f5f5f5;border-left:1px solid #ddd}#wpacu_meta_box_content .wpacu_verified span{color:#0073aa;font-weight:700}#wpacu_meta_box_content div.wpacu_warning{border:1px solid #c00}#wpacu_meta_box_content ul.wpacu_asset_options{margin:0;padding:0}#wpacu_meta_box_content ul.wpacu_asset_options li{list-style:none;display:inline-block}#wpacu_meta_box_content ul.wpacu_asset_options label{font-weight:400;margin-right:5px;margin-top:5px;margin-bottom:5px}.wpacu-updated-frontend{font-weight:400;background-color:#fff;border-left:4px solid #46b450;border-top:1px solid #46b450;border-right:1px solid #46b450;border-bottom:1px solid #46b450;padding:9px 14px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.wpacu_exception_options_area_wrap label.wpacu_bold span,.wpacu_load_regex_area_wrap label.wpacu_bold span,.wpacu_unload_regex_area_wrap label.wpacu_bold span{font-weight:600!important}.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_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,.wpacu_is_global_unloaded .wpacu_exception_options_area_wrap .wpacu_load_regex_input_wrap{display:block}.wpacu_exception_options_area_wrap{display:table;background:#fff!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,.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}#wpacu_wrap_assets,.wpacu_striped>tbody>:nth-child(even),ul.wpacu_striped>:nth-child(even){background-color:#fff!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}#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{margin:0 0 10px!important}.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}.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}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(odd),ul.wpacu_striped>:nth-child(odd){background-color:#f9f9f9!important}.wpacu_update_btn{-moz-box-shadow:inset 0 1px 0 0 #54a3f7!important;-webkit-box-shadow:inset 0 1px 0 0 #54a3f7!important;box-shadow:inset 0 1px 0 0 #54a3f7!important;background:-webkit-gradient(linear,left top,left bottom,color-stop(.05,#007dc1),color-stop(1,#0061a7))!important;background:-moz-linear-gradient(top,#007dc1 5%,#0061a7 100%)!important;background:-webkit-linear-gradient(top,#007dc1 5%,#0061a7 100%)!important;background:-o-linear-gradient(top,#007dc1 5%,#0061a7 100%)!important;background:-ms-linear-gradient(top,#007dc1 5%,#0061a7 100%)!important;background:linear-gradient(to bottom,#007dc1 5%,#0061a7 100%)!important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#007dc1", endColorstr="#0061a7", GradientType=0)!important;background-color:#007dc1!important;-moz-border-radius:3px!important;-webkit-border-radius:3px!important;border-radius:3px!important;border:1px solid #124d77!important;display:inline-block!important;cursor:pointer!important;color:#fff!important;font-size:15px!important;padding:10px 24px!important;text-decoration:none!important;text-shadow:0 1px 0 #154682!important;height:auto!important;line-height:normal!important}.wpacu-btns .btn:focus,.wpacu-btns .btn:hover,.wpacu-btns a{text-decoration:none}.wpacu_update_btn.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;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#0061a7", endColorstr="#007dc1", GradientType=0)!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 .btn{display:inline-block;font-weight:400;line-height:1.25;text-align:center;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid transparent;padding:.5rem 1rem;font-size:1rem;-webkit-border-radius:.25rem;-moz-border-radius:.25rem;border-radius:.25rem;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.wpacu-btns .btn.focus,.wpacu-btns .btn:focus{outline:0;-webkit-box-shadow:0 0 0 2px rgba(2,117,216,.25);box-shadow:0 0 0 2px rgba(2,117,216,.25)}.wpacu-btns .btn.disabled,.wpacu-btns .btn:disabled{cursor:not-allowed;opacity:.65}.wpacu-btns .btn.active,.wpacu-btns .btn:active{background-image:none}.wpacu-btns a.btn.disabled,.wpacu-btns fieldset[disabled] a.btn{pointer-events:none}.wpacu-btns .btn-primary{color:#fff;background-color:#0275d8;border-color:#0275d8}.wpacu-btns .btn-primary:hover{color:#fff;background-color:#025aa5;border-color:#01549b}.wpacu-btns .btn-primary.focus,.wpacu-btns .btn-primary:focus{-webkit-box-shadow:0 0 0 2px rgba(2,117,216,.5);box-shadow:0 0 0 2px rgba(2,117,216,.5)}.wpacu-btns .btn-primary.disabled,.wpacu-btns .btn-primary:disabled{background-color:#0275d8;border-color:#0275d8}.wpacu-btns .btn-primary.active,.wpacu-btns .btn-primary:active,.wpacu-btns .show>.btn-primary.dropdown-toggle{color:#fff;background-color:#025aa5;background-image:none;border-color:#01549b}.wpacu-btns .btn-secondary{color:#292b2c;background-color:#fff;border-color:#ccc}.wpacu-btns .btn-secondary:hover{color:#292b2c;background-color:#e6e6e6;border-color:#adadad}.wpacu-btns .btn-secondary.focus,.wpacu-btns .btn-secondary:focus{-webkit-box-shadow:0 0 0 2px rgba(204,204,204,.5);box-shadow:0 0 0 2px rgba(204,204,204,.5)}.wpacu-btns .btn-secondary.disabled,.wpacu-btns .btn-secondary:disabled{background-color:#fff;border-color:#ccc}.wpacu-btns .btn-secondary.active,.wpacu-btns .btn-secondary:active,.wpacu-btns .show>.btn-secondary.dropdown-toggle{color:#292b2c;background-color:#e6e6e6;background-image:none;border-color:#adadad}.wpacu-btns .btn-info{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.wpacu-btns .btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#2aabd2}.wpacu-btns .btn-info.focus,.wpacu-btns .btn-info:focus{-webkit-box-shadow:0 0 0 2px rgba(91,192,222,.5);box-shadow:0 0 0 2px rgba(91,192,222,.5)}.wpacu-btns .btn-info.disabled,.wpacu-btns .btn-info:disabled{background-color:#5bc0de;border-color:#5bc0de}.wpacu-btns .btn-info.active,.wpacu-btns .btn-info:active,.wpacu-btns .show>.btn-info.dropdown-toggle{color:#fff;background-color:#31b0d5;background-image:none;border-color:#2aabd2}.wpacu-btns .btn-success{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.wpacu-btns .btn-success:hover{color:#fff;background-color:#449d44;border-color:#419641}.wpacu-btns .btn-success.focus,.wpacu-btns .btn-success:focus{-webkit-box-shadow:0 0 0 2px rgba(92,184,92,.5);box-shadow:0 0 0 2px rgba(92,184,92,.5)}.wpacu-btns .btn-success.disabled,.wpacu-btns .btn-success:disabled{background-color:#5cb85c;border-color:#5cb85c}.wpacu-btns .btn-success.active,.wpacu-btns .btn-success:active,.wpacu-btns .show>.btn-success.dropdown-toggle{color:#fff;background-color:#449d44;background-image:none;border-color:#419641}.wpacu-btns .btn-warning{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.wpacu-btns .btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#eb9316}.wpacu-btns .btn-warning.focus,.wpacu-btns .btn-warning:focus{-webkit-box-shadow:0 0 0 2px rgba(240,173,78,.5);box-shadow:0 0 0 2px rgba(240,173,78,.5)}.wpacu-btns .btn-warning.disabled,.wpacu-btns .btn-warning:disabled{background-color:#f0ad4e;border-color:#f0ad4e}.wpacu-btns .btn-warning.active,.wpacu-btns .btn-warning:active,.wpacu-btns .show>.btn-warning.dropdown-toggle{color:#fff;background-color:#ec971f;background-image:none;border-color:#eb9316}.wpacu-btns .btn-danger{color:#fff;background-color:#d9534f;border-color:#d9534f}.wpacu-btns .btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#c12e2a}.wpacu-btns .btn-danger.focus,.wpacu-btns .btn-danger:focus{-webkit-box-shadow:0 0 0 2px rgba(217,83,79,.5);box-shadow:0 0 0 2px rgba(217,83,79,.5)}.wpacu-btns .btn-danger.disabled,.wpacu-btns .btn-danger:disabled{background-color:#d9534f;border-color:#d9534f}.wpacu-btns .btn-danger.active,.wpacu-btns .btn-danger:active,.wpacu-btns .show>.btn-danger.dropdown-toggle{color:#fff;background-color:#c9302c;background-image:none;border-color:#c12e2a}.wpacu-btns .btn-outline-primary{color:#0275d8;background-image:none;background-color:transparent;border-color:#0275d8}.wpacu-btns .btn-outline-primary:hover{color:#fff;background-color:#0275d8;border-color:#0275d8}.wpacu-btns .btn-outline-primary.focus,.wpacu-btns .btn-outline-primary:focus{-webkit-box-shadow:0 0 0 2px rgba(2,117,216,.5);box-shadow:0 0 0 2px rgba(2,117,216,.5)}.wpacu-btns .btn-outline-primary.disabled,.wpacu-btns .btn-outline-primary:disabled{color:#0275d8;background-color:transparent}.wpacu-btns .btn-outline-primary.active,.wpacu-btns .btn-outline-primary:active,.wpacu-btns .show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#0275d8;border-color:#0275d8}.wpacu-btns .btn-outline-secondary{color:#ccc;background-image:none;background-color:transparent;border-color:#ccc}.wpacu-btns .btn-outline-secondary:hover{color:#fff;background-color:#ccc;border-color:#ccc}.wpacu-btns .btn-outline-secondary.focus,.wpacu-btns .btn-outline-secondary:focus{-webkit-box-shadow:0 0 0 2px rgba(204,204,204,.5);box-shadow:0 0 0 2px rgba(204,204,204,.5)}.wpacu-btns .btn-outline-secondary.disabled,.wpacu-btns .btn-outline-secondary:disabled{color:#ccc;background-color:transparent}.wpacu-btns .btn-outline-secondary.active,.wpacu-btns .btn-outline-secondary:active,.wpacu-btns .show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#ccc;border-color:#ccc}.wpacu-btns .btn-outline-info{color:#5bc0de;background-image:none;background-color:transparent;border-color:#5bc0de}.wpacu-btns .btn-outline-info:hover{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.wpacu-btns .btn-outline-info.focus,.wpacu-btns .btn-outline-info:focus{-webkit-box-shadow:0 0 0 2px rgba(91,192,222,.5);box-shadow:0 0 0 2px rgba(91,192,222,.5)}.wpacu-btns .btn-outline-info.disabled,.wpacu-btns .btn-outline-info:disabled{color:#5bc0de;background-color:transparent}.wpacu-btns .btn-outline-info.active,.wpacu-btns .btn-outline-info:active,.wpacu-btns .show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.wpacu-btns .btn-outline-success{color:#5cb85c;background-image:none;background-color:transparent;border-color:#5cb85c}.wpacu-btns .btn-outline-success:hover{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.wpacu-btns .btn-outline-success.focus,.wpacu-btns .btn-outline-success:focus{-webkit-box-shadow:0 0 0 2px rgba(92,184,92,.5);box-shadow:0 0 0 2px rgba(92,184,92,.5)}.wpacu-btns .btn-outline-success.disabled,.wpacu-btns .btn-outline-success:disabled{color:#5cb85c;background-color:transparent}.wpacu-btns .btn-outline-success.active,.wpacu-btns .btn-outline-success:active,.wpacu-btns .show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.wpacu-btns .btn-outline-warning{color:#f0ad4e;background-image:none;background-color:transparent;border-color:#f0ad4e}.wpacu-btns .btn-outline-warning:hover{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.wpacu-btns .btn-outline-warning.focus,.wpacu-btns .btn-outline-warning:focus{-webkit-box-shadow:0 0 0 2px rgba(240,173,78,.5);box-shadow:0 0 0 2px rgba(240,173,78,.5)}.wpacu-btns .btn-outline-warning.disabled,.wpacu-btns .btn-outline-warning:disabled{color:#f0ad4e;background-color:transparent}.wpacu-btns .btn-outline-warning.active,.wpacu-btns .btn-outline-warning:active,.wpacu-btns .show>.btn-outline-warning.dropdown-toggle{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.wpacu-btns .btn-outline-danger{color:#d9534f;background-image:none;background-color:transparent;border-color:#d9534f}.wpacu-btns .btn-outline-danger:hover{color:#fff;background-color:#d9534f;border-color:#d9534f}.wpacu-btns .btn-outline-danger.focus,.wpacu-btns .btn-outline-danger:focus{-webkit-box-shadow:0 0 0 2px rgba(217,83,79,.5);box-shadow:0 0 0 2px rgba(217,83,79,.5)}.wpacu-btns .btn-outline-danger.disabled,.wpacu-btns .btn-outline-danger:disabled{color:#d9534f;background-color:transparent}.wpacu-btns .btn-outline-danger.active,.wpacu-btns .btn-outline-danger:active,.wpacu-btns .show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#d9534f;border-color:#d9534f}.wpacu-btns .btn-link{font-weight:400;color:#0275d8;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.wpacu-btns .btn-link,.wpacu-btns .btn-link.active,.wpacu-btns .btn-link:active,.wpacu-btns .btn-link:disabled{background-color:transparent}.wpacu-btns .btn-link,.wpacu-btns .btn-link:active,.wpacu-btns .btn-link:focus,.wpacu-btns .btn-link:hover{border-color:transparent}.wpacu-btns .btn-link:focus,.wpacu-btns .btn-link:hover{color:#014c8c;text-decoration:underline;background-color:transparent}.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%}.go-pro-button,.go-pro-link-no-style,.wordpress-core-file{display:inline-block;text-decoration:none}.wpacu-btns .btn-block+.btn-block{margin-top:.5rem}.wpacu-btns input[type=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;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;color:inherit}.go-pro-link-no-style .wpacu-tooltip,.wordpress-core-file .wpacu-tooltip{line-height:18px;width:160px;color:#fff;text-align:center;font-size:14px;z-index:1}.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{position:absolute;visibility:hidden;background-color:#00a7a7;padding:8px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;bottom:100%;bottom:calc(100% + 15px);left:50%;margin-left:-65px;-webkit-transition:.1s all ease;transition:.1s all ease;-webkit-transition-delay:0s;transition-delay:0s}.go-pro-link-no-style .wpacu-tooltip:after{content:"";position:absolute;border-width:10px;border-style:solid;top:100%;left:50%;left:calc(50% - 10px);border-color:#00a7a7 transparent transparent}.go-pro-link-no-style .wpacu-tooltip.wpacu-on-pages-btn{cursor:pointer;margin-left:-77px;width:130px}.go-pro-link-no-style .wpacu-tooltip.wpacu-larger{width:240px}.go-pro-link-no-style:hover .wpacu-tooltip{visibility:visible}.wpacu_list_table tr:first-child .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;font-style:normal;color:inherit}.wordpress-core-file .wpacu-tooltip{position:absolute;visibility:hidden;background-color:#c00;padding:6px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;bottom:100%;bottom:calc(100% + 15px);left:50%;margin-left:-86px;-webkit-transition:.1s all ease;transition:.1s all ease;-webkit-transition-delay:0s;transition-delay:0s}.wordpress-core-file .wpacu-tooltip:after{content:"";position:absolute;border-width:10px;border-style:solid;top:100%;left:50%;left:calc(50% - 10px);border-color:#c00 transparent transparent}.wordpress-core-file:hover .wpacu-tooltip{visibility:visible}.ajax-direct-call-error-area{background:#fff;padding:10px;border:1px solid #c00;-webkit-border-radius:8px;-moz-border-radius:8px;border-radius:8px}.ajax-direct-call-error-area td{padding:6px}.ajax-direct-call-error-area .note{margin-top:0;padding-top:0}.ajax-direct-call-error-area .error-code{color:#c00;font-weight:700}.ajax-wp-remote-post-call-error-area{background:#fff;padding:20px}.ajax-wp-remote-post-call-error-area .table-data{background:0 0;border:1px solid #c66;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px}.ajax-wp-remote-post-call-error-area .table-data td{padding:10px}.wrap-upgrade-info{background:#fff;padding:0 15px;border:1px solid #cdcdcd;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px}.wpacu-notice{margin:20px 20px 0 0!important}.wpacu-notice p{font-weight:600!important;font-style:italic}.wpacu-notice .dashicons{font-weight:inherit!important;color:#46b450!important;margin-right:4px;vertical-align:text-bottom;font-size:27px}.wpacu-notice-info{padding:12px 12px 12px 16px;background:#fff;border-left:4px solid #008f9c}.wpacu-notice-info p{margin-top:8px}.wpacu-notice-info p:first-child{margin-top:0}.wpacu-notice-info p:last-child{margin-bottom:0}.wpacu-warning{font-size:15px;padding:10px;background:#fffcec;border:1px solid #fdd5c9;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;margin:0 0 5px;width:100%}.pro-page-unlock-notice{-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px;padding:10px;background:#f2faf2;border:1px solid #c0e8c0;width:auto;display:block}.wpacu-license-area .notice,.wpacu-settings-area .notice{margin-left:0;padding:10px!important;width:97%;box-sizing:border-box;font-weight:600;font-style:italic}.wpacu-license-area .notice .dashicons,.wpacu-settings-area .notice .dashicons{color:green}#wpacu-dom-get-type-selections,.wpacu-radio-selections{float:none;clear:both;width:auto;display:inline-block;margin-bottom:0;margin-top:0}#wpacu-dom-get-type-selections.wpacu-vertical,.wpacu-radio-selections.wpacu-vertical{display:block;margin-top:15px;margin-bottom:18px}#wpacu-dom-get-type-selections.wpacu-vertical li,.wpacu-radio-selections.wpacu-vertical li{float:none;margin-bottom:12px}#wpacu-dom-get-type-selections.wpacu-vertical li:last-child,.wpacu-radio-selections.wpacu-vertical li:last-child{margin-bottom:0}#wpacu-dom-get-type-selections li,.wpacu-radio-selections li{margin-right:30px;float:left;margin-bottom:0}#wpacu-dom-get-type-selections li:first-child,.wpacu-radio-selections li:first-child{margin-right:15px}#wpacu-dom-get-type-selections li:last-child,.wpacu-radio-selections li:last-child{margin-right:0}.wpacu_combine_loaded_js_level_area{display:none;background:0 0;border-left:2px solid #008f9c;padding-top:8px;padding-bottom:8px;padding-right:10px;padding-left:10px;margin:20px 0 15px}.wpacu_combine_loaded_js_level_area.wpacu_active{display:block}#wpacu-dom-get-type-infos{margin-bottom:0}#wpacu-dom-get-type-infos li{margin-bottom:0;line-height:20px}.wpacu-wrap 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,.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:11px 28px;height:38px;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 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_disabled,.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch.wpacu_locked_for_pro{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]:checked,.wpacu-form-table .wpacu-fancy-checkbox input[type=checkbox]:hover,.wpacu-form-table label input[type=checkbox]:checked,.wpacu-form-table label input[type=checkbox]:hover{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:400 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}.wpacu-form-table .wpacu-fancy-radio input[type=radio]:checked,.wpacu-form-table .wpacu-fancy-radio input[type=radio]:hover{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:400 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}#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,#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}.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}}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:5px 18px;height:38px;font-size:15px}#wpacu-updating-settings{position:absolute;margin-left:183px;top:28px;display:none}#combine_loaded_js_info_area{position:relative}#combine_loaded_js_info_area.locked-for-pro:before{position:absolute;content:"";height:100%;width:100%;background:#fff;opacity:.5;z-index:10000}.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}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}.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 .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;-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{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=contracted] .wpacu_hardcoded_part_if_contracted,.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 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 .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 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{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{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 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-clearfix:after,.wpacu-clearfix:before{display:table;content:""}.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:after{clear:both}.wpacu-wp-button{color:#555;border-color:#ccc;background:#f7f7f7;box-shadow:0 1px 0 #ccc;vertical-align:top}body.wp-admin .wpacu-wp-button{font-size:13px;line-height:26px;height:28px}.wpacu-wp-button.wpacu-wp-button-secondary{display:inline-block;text-decoration:none;height:auto;margin:0 5px 0 0;padding:0 10px 1px;cursor:pointer;border-width:1px;border-style:solid;-webkit-appearance:none;border-radius:3px;white-space:nowrap;box-sizing:border-box}.wpacu-wp-button:hover{background:#fafafa;border-color:#999;color:#23282d}.distinguish-asset-list{list-style:none;margin-left:0;margin-bottom:5px;display:inline-block}.distinguish-asset-list li{float:left;margin-right:20px}.distinguish-asset-list li:last-child{margin-right:0}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;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;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;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;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;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;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: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_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_table_wrap{margin:20px 0 0}.wpacu_table_wrap>table{border:1px solid #cdcdcd}.wpacu_table_wrap .table{width:100%;max-width:100%;margin-bottom:1rem;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px}.wpacu_table_wrap .table td,.wpacu_table_wrap .table th{padding:.75rem;vertical-align:top;border-top:1px solid #eceeef}.wpacu_table_wrap .table thead th{vertical-align:bottom;border-bottom:2px solid #eceeef}.wpacu_table_wrap .table tbody+tbody{border-top:2px solid #eceeef}.wpacu_table_wrap .table .table{background-color:#fff}.wpacu_table_wrap .table-sm td,.wpacu_table_wrap .table-sm th{padding:.3rem}.wpacu_table_wrap .table-bordered,.wpacu_table_wrap .table-bordered td,.wpacu_table_wrap .table-bordered th{border:1px solid #eceeef}.wpacu_table_wrap .table-bordered thead td,.wpacu_table_wrap .table-bordered thead th{border-bottom-width:2px}.wpacu_table_wrap .table-striped tbody tr:nth-of-type(even){background-color:#f9f9f9}.wpacu_table_wrap .table-striped tbody tr:nth-of-type(odd){background-color:#fff}.wpacu_table_wrap .table-active,.wpacu_table_wrap .table-active>td,.wpacu_table_wrap .table-active>th,.wpacu_table_wrap .table-hover .table-active:hover,.wpacu_table_wrap .table-hover .table-active:hover>td,.wpacu_table_wrap .table-hover .table-active:hover>th,.wpacu_table_wrap .table-hover tbody tr:hover{background-color:rgba(0,0,0,.075)}.wpacu_table_wrap .table-success,.wpacu_table_wrap .table-success>td,.wpacu_table_wrap .table-success>th{background-color:#dff0d8}.wpacu_table_wrap .table-hover .table-success:hover,.wpacu_table_wrap .table-hover .table-success:hover>td,.wpacu_table_wrap .table-hover .table-success:hover>th{background-color:#d0e9c6}.wpacu_table_wrap .table-info,.wpacu_table_wrap .table-info>td,.wpacu_table_wrap .table-info>th{background-color:#d9edf7}.wpacu_table_wrap .table-hover .table-info:hover,.wpacu_table_wrap .table-hover .table-info:hover>td,.wpacu_table_wrap .table-hover .table-info:hover>th{background-color:#c4e3f3}.wpacu_table_wrap .table-warning,.wpacu_table_wrap .table-warning>td,.wpacu_table_wrap .table-warning>th{background-color:#fcf8e3}.wpacu_table_wrap .table-hover .table-warning:hover,.wpacu_table_wrap .table-hover .table-warning:hover>td,.wpacu_table_wrap .table-hover .table-warning:hover>th{background-color:#faf2cc}.wpacu_table_wrap .table-danger,.wpacu_table_wrap .table-danger>td,.wpacu_table_wrap .table-danger>th{background-color:#f2dede}.wpacu_table_wrap .table-hover .table-danger:hover,.wpacu_table_wrap .table-hover .table-danger:hover>td,.wpacu_table_wrap .table-hover .table-danger:hover>th{background-color:#ebcccc}.wpacu_table_wrap .thead-inverse th{color:#fff;background-color:#292b2c}.wpacu_table_wrap .thead-default th{color:#464a4c;background-color:#eceeef}.wpacu_table_wrap .table-inverse{color:#fff;background-color:#292b2c}.wpacu_table_wrap .table-inverse td,.wpacu_table_wrap .table-inverse th,.wpacu_table_wrap .table-inverse thead th{border-color:#fff}.wpacu_table_wrap .table-inverse.table-bordered,.wpacu_table_wrap .table-responsive.table-bordered{border:0}.wpacu_table_wrap .table-responsive{display:block;width:100%;overflow-x:auto;-ms-overflow-style:-ms-autohiding-scrollbar}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) tr:not(:first-of-type):not(.wpacu_selected):hover,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}.wp-list-table .wpacu_remove_global_attr_row.wpacu_selected,.wp-list-table .wpacu_restore_position_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}#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,#wpacu-warning-read span.dashicons-warning,#wpacu-warning-read span.dashicons-wordpress-alt{color:#c00}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 (max-width:767px){.wpacu-get-help-wrap .help-content-wrap{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.wpacu-get-help-wrap .help-content-wrap .help-content{padding:15px;background:#fff;border:1px solid #E0E0E0;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px;box-shadow:2px 3px 8px 0 #231f2038;flex:1 1 50%;margin-bottom:10px}.wpacu-get-help-wrap .help-content-wrap .help-content .content-title{margin:5px 0 15px}.wpacu-get-help-wrap .help-content-wrap .help-content .cols-wrap{width:100%;margin:0 auto;display:table}.wpacu-get-help-wrap .help-content-wrap .help-content .wpacu-image-area{margin:5px 0 0;position:relative}.wpacu-get-help-wrap .help-content-wrap .help-content .wpacu-image-area.col-left{float:left;width:48%}.wpacu-get-help-wrap .help-content-wrap .help-content .wpacu-image-area.col-right{float:right;width:48%}.wpacu-get-help-wrap .help-content-wrap .help-content .wpacu-image-area.activate-plugin img{max-width:280px}.wpacu-get-help-wrap .help-content-wrap .help-content .wpacu-image-area img{width:99%;margin:8px 0;border:1px solid #cdcdcd;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px}.wpacu-get-help-wrap .help-content-wrap .help-content.upgrade-help{order:2}@media only screen and (min-width:768px){.wpacu-get-help-wrap .help-content-wrap .help-content{margin-right:24px}.wpacu-get-help-wrap .help-content-wrap .help-content.upgrade-help{margin-right:0}}.wpacu-get-help-wrap .help-content-wrap .help-content.tech-help{order:1}@media only screen and (max-width:767px){.wpacu-get-help-wrap .help-content-wrap .help-content.tech-help{margin-bottom:30px}}.wpacu-get-help-wrap .help-content-wrap .help-content ul{list-style:none;padding-left:0}.wpacu-get-help-wrap .help-content-wrap .help-content ul li{font-size:14px;line-height:22px;margin-bottom:15px}.wpacu-get-help-wrap .help-content-wrap .help-content p:last-child,.wpacu-get-help-wrap .help-content-wrap .help-content ul li:last-child{margin-bottom:0}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.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}.wpacu-about-wrap .wpacu-about-text img{width:auto;height:150px;position:absolute;top:20px;right:-20px}@media only screen and (max-width:767px){.wpacu-about-wrap h1{margin:20px}.wpacu-about-wrap .wpacu-about-text img{display:none}.wpacu-about-wrap .wpacu-about-text{margin:20px}}.wpacu-about-wrap .about-wrap-content .area-title{font-size:19px;line-height:19px;margin-bottom:0}.wpacu-about-wrap hr{margin:10px 0}.wpacu-lite-vs-pro-wrap ul{display:flex;top:0;z-index:10;padding-bottom:14px}.wpacu-lite-vs-pro-wrap li{list-style:none;flex:1}.wpacu-lite-vs-pro-wrap li:last-child{border-right:1px solid #DDD}.wpacu-lite-vs-pro-wrap button{width:100%;border:1px solid #DDD;border-right:0;border-top:0;padding:10px;background:#FFF;font-size:14px;font-weight:700;height:60px;color:#999}.wpacu-lite-vs-pro-wrap li.active button{background:#F5F5F5;color:#000}.wpacu-lite-vs-pro-wrap table{border-collapse:collapse;table-layout:fixed;width:100%}.wpacu-lite-vs-pro-wrap th{background:inherit}.wpacu-lite-vs-pro-wrap tr.first{background:inherit;font-size:18px}.wpacu-lite-vs-pro-wrap tr.first .bg-lite{border-top:4px solid #6d6e70;background:#fff;color:#6d6e70}.wpacu-lite-vs-pro-wrap tr.first .bg-pro{border-top:4px solid green;background:#fff;color:green}.wpacu-lite-vs-pro-wrap tr:not(.first){background:#fff}.wpacu-lite-vs-pro-wrap tr:not(:last-child):hover{background:#f8f8f8}.wpacu-lite-vs-pro-wrap td,.wpacu-lite-vs-pro-wrap th{height:53px;line-height:22px;border:1px solid #DDD;padding:10px 16px;empty-cells:show;text-align:left}@media only screen and (max-width:767px){.wpacu-lite-vs-pro-wrap td,.wpacu-lite-vs-pro-wrap th{font-size:14px}}.wpacu-lite-vs-pro-wrap td+td,.wpacu-lite-vs-pro-wrap th+th{text-align:center;display:none}.wpacu-lite-vs-pro-wrap td.default{display:table-cell}.wpacu-lite-vs-pro-wrap .txt-l{font-size:28px;font-weight:700}.wpacu-lite-vs-pro-wrap .txt-top{position:relative;top:-9px;left:-2px}.wpacu-lite-vs-pro-wrap svg{width:18px;height:18px}.wpacu-lite-vs-pro-wrap svg path{fill:green}.wpacu-lite-vs-pro-wrap .tick{color:#2CA01C}.wpacu-lite-vs-pro-wrap .tick img{fill:#2CA01C}@media only screen and (max-width:767px){.wpacu-lite-vs-pro-wrap .txt-l{font-size:20px}.wpacu-lite-vs-pro-wrap .tick{font-size:15px}}.wpacu-lite-vs-pro-wrap .na{font-size:18px;opacity:.3;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=30)"}.wpacu-lite-vs-pro-wrap .hide{border:0;background:0 0}.wpacu-lite-vs-pro-wrap td,.wpacu-lite-vs-pro-wrap th{display:table-cell!important;width:auto}.wpacu-lite-vs-pro-wrap td+td,.wpacu-lite-vs-pro-wrap th+th{width:130px}@media only screen and (max-width:767px){.wpacu-lite-vs-pro-wrap .na{font-size:15px}.wpacu-lite-vs-pro-wrap td+td,.wpacu-lite-vs-pro-wrap th+th{width:42px}}@media only screen and (min-width:768px){.wpacu-lite-vs-pro-wrap td .button{font-size:16px!important}}@media only screen and (max-width:767px){.wpacu-lite-vs-pro-wrap td .button{font-size:14px!important;padding:0 20px!important}.wpacu-lite-vs-pro-wrap td .button.button-primary{margin-top:6px;margin-bottom:14px}}@media only screen and (min-width:768px){.wpacu-lite-vs-pro-wrap{margin-bottom:40px;clear:both}}.wpacu-video-areas>div{padding:20px;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px}.wpacu-video-areas>div:nth-child(odd){background:#fff}.wpacu-video-areas>div:nth-child(even){background:inherit}@media only screen and (min-width:1200px){.wpacu-video-areas .wpacu-video-area-wrapper{margin:0 0 15px;display:flex}.wpacu-video-areas .wpacu-video-area-wrapper .wpacu-col-right{padding:0 20px 0 25px}}@media only screen and (min-width:992px) and (max-width:1199px){.wpacu-video-areas .wpacu-video-area-wrapper{margin:0 0 40px}}.wpacu-video-areas .wpacu-video-area-wrapper ol{font-size:14px}.wpacu-video-areas .wpacu-video-area-wrapper ul{font-size:14px;list-style:disc;margin-left:22px}@media only screen and (min-width:1200px){.wpacu-video-areas .wpacu-video-area-wrapper .wpacu-col-right p:first-child{margin-top:0}.wpacu-video-areas .wpacu-video-area-wrapper .wpacu-col-right p:last-child{margin-bottom:0}}@media only screen and (max-width:1199px){.wpacu-video-areas .wpacu-video-area-wrapper .wpacu-video-wrapper{position:relative;padding-bottom:56.25%;padding-top:30px;height:0;overflow:hidden}}.wpacu-video-areas .wpacu-video-area-wrapper .wpacu-video-wrapper iframe{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 input[type=radio].wpacu_plugin_load_it:before{background-color:green}#wpacu-plugins-load-manager-wrap .wrap_plugin_unload_rules_options .wpacu_plugin_rules_wrap ul.wpacu_plugin_rules label input[type=radio].wpacu_plugin_unload_rule_input:before{background-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-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_exception_options_area textarea,#wpacu-plugins-load-manager-wrap textarea:focus{width:100%}#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}#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.wpacu_disabled{background:#fbfafa!important;color:inherit}
|
classes/CleanUp.php
CHANGED
@@ -216,6 +216,7 @@ class CleanUp
|
|
216 |
);
|
217 |
|
218 |
if ( strpos( $outerTagRegExp, '<meta' ) !== false ) {
|
|
|
219 |
preg_match_all( '#' . $outerTagRegExp . '#si', $htmlSource, $matches );
|
220 |
|
221 |
if ( isset( $matches[0][0] ) && ! empty( $matches[0][0] ) && strip_tags( $matches[0][0] ) === '' ) {
|
@@ -244,7 +245,7 @@ class CleanUp
|
|
244 |
*
|
245 |
* @return string|string[]
|
246 |
*/
|
247 |
-
public static function removeHtmlComments($htmlSource, $ignoreExceptions = false
|
248 |
{
|
249 |
// No comments? Do not continue
|
250 |
if (strpos($htmlSource, '<!--') === false) {
|
@@ -255,15 +256,7 @@ class CleanUp
|
|
255 |
return $htmlSource;
|
256 |
}
|
257 |
|
258 |
-
$domTag = '';
|
259 |
-
|
260 |
-
if ($for === 'cleaner_dom_to_fetch') {
|
261 |
-
$domTag = OptimizeCommon::getDomLoadedTag($htmlSource, 'removeHtmlComments');
|
262 |
-
}
|
263 |
-
|
264 |
-
if ($for === 'final_output') {
|
265 |
-
$domTag = OptimizeCommon::getDomLoadedTag($htmlSource, 'removeHtmlCommentsFinal');
|
266 |
-
}
|
267 |
|
268 |
if (! $domTag) {
|
269 |
return $htmlSource;
|
216 |
);
|
217 |
|
218 |
if ( strpos( $outerTagRegExp, '<meta' ) !== false ) {
|
219 |
+
$outerTagRegExp = str_replace('#', '\#', $outerTagRegExp);
|
220 |
preg_match_all( '#' . $outerTagRegExp . '#si', $htmlSource, $matches );
|
221 |
|
222 |
if ( isset( $matches[0][0] ) && ! empty( $matches[0][0] ) && strip_tags( $matches[0][0] ) === '' ) {
|
245 |
*
|
246 |
* @return string|string[]
|
247 |
*/
|
248 |
+
public static function removeHtmlComments($htmlSource, $ignoreExceptions = false)
|
249 |
{
|
250 |
// No comments? Do not continue
|
251 |
if (strpos($htmlSource, '<!--') === false) {
|
256 |
return $htmlSource;
|
257 |
}
|
258 |
|
259 |
+
$domTag = OptimizeCommon::getDomLoadedTag($htmlSource, 'removeHtmlComments');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
260 |
|
261 |
if (! $domTag) {
|
262 |
return $htmlSource;
|
classes/Main.php
CHANGED
@@ -17,22 +17,22 @@ class Main
|
|
17 |
*/
|
18 |
const END_DEL_ENQUEUED = 'END WPACU PLUGIN JSON ENQUEUED';
|
19 |
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
|
37 |
/**
|
38 |
* @var string
|
@@ -44,24 +44,24 @@ class Main
|
|
44 |
*
|
45 |
* @var array
|
46 |
*/
|
47 |
-
public $allUnloadedAssets = array('css' => array(), 'js' => array());
|
48 |
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
|
59 |
/**
|
60 |
* Rule that applies site-wide: if the user is logged-in
|
61 |
*
|
62 |
* @var array
|
63 |
*/
|
64 |
-
public $loadExceptionsLoggedInGlobal = array('styles' => array(), 'scripts' => array());
|
65 |
|
66 |
/**
|
67 |
* @var
|
@@ -76,28 +76,28 @@ class Main
|
|
76 |
// [/wpacu_lite]
|
77 |
|
78 |
/**
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
|
102 |
/**
|
103 |
* @var array
|
@@ -109,20 +109,20 @@ class Main
|
|
109 |
*/
|
110 |
public $scriptsInHead = array();
|
111 |
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
|
127 |
/**
|
128 |
* @var array
|
@@ -138,14 +138,14 @@ class Main
|
|
138 |
* @var int
|
139 |
*/
|
140 |
public static $wpStylesSpecialDelimiters = array(
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
|
150 |
/**
|
151 |
* @var array
|
@@ -158,8 +158,8 @@ class Main
|
|
158 |
public $isAjaxCall = false;
|
159 |
|
160 |
/**
|
161 |
-
|
162 |
-
|
163 |
* @var bool
|
164 |
*/
|
165 |
public $isGetAssetsCall = false;
|
@@ -169,56 +169,62 @@ class Main
|
|
169 |
*
|
170 |
* @var array
|
171 |
*/
|
172 |
-
public $skipAssets = array('styles' => array(), 'scripts' => array());
|
173 |
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
{
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
|
188 |
-
|
189 |
-
|
190 |
|
191 |
/**
|
192 |
* Parser constructor.
|
193 |
*/
|
194 |
public function __construct()
|
195 |
{
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
206 |
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
|
215 |
-
|
216 |
-
|
217 |
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
|
223 |
// Do not output Query Monitor's information as it's irrelevant in this context
|
224 |
if (class_exists('\QueryMonitor') && class_exists('\QM_Plugin')) {
|
@@ -228,183 +234,198 @@ class Main
|
|
228 |
}, 10, 1);
|
229 |
}
|
230 |
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
|
268 |
-
|
269 |
-
|
270 |
-
|
271 |
|
272 |
-
|
273 |
-
|
274 |
-
|
275 |
-
// [END] Unload CSS/JS on page request (for debugging)
|
276 |
|
277 |
-
|
278 |
-
|
279 |
-
|
280 |
-
|
281 |
|
282 |
-
|
|
|
|
|
|
|
283 |
|
284 |
-
|
285 |
-
add_action( 'wp_print_scripts', array( $this, 'filterScripts' ), 100000 ); // Unload Scripts - HEAD
|
286 |
|
287 |
-
|
288 |
-
|
289 |
-
// Sometimes styles are loaded in the BODY section of the page
|
290 |
-
add_action( 'wp_print_footer_scripts', array( $this, 'onPrintFooterScriptsStyles' ), 1 );
|
291 |
|
292 |
-
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
-
}
|
297 |
|
298 |
-
|
299 |
-
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
-
}
|
304 |
-
}
|
305 |
-
}, 1);
|
306 |
-
|
307 |
-
add_filter('style_loader_tag', static function($styleTag, $tagHandle) {
|
308 |
-
// Preload the plugin's CSS for assets management layout (for faster content paint if the user is logged-in and manages the assets in the front-end)
|
309 |
-
// For a better admin experience
|
310 |
-
if ($tagHandle === WPACU_PLUGIN_ID . '-style') {
|
311 |
-
$styleTag = str_ireplace(
|
312 |
-
array('<link ', 'rel=\'stylesheet\'', 'rel="stylesheet"', 'id=\'', 'id="'),
|
313 |
-
array('<link rel=\'preload\' as=\'style\' data-wpacu-preload-it-async=\'1\' ', 'onload="this.rel=\'stylesheet\'"', 'onload="this.rel=\'stylesheet\'"', 'id=\'wpacu-preload-', 'id="wpacu-preload-'),
|
314 |
-
$styleTag
|
315 |
-
);
|
316 |
-
}
|
317 |
|
318 |
-
|
319 |
-
|
320 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
321 |
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
if (array_key_exists('wpacu_show_handle_names', $_GET)) {
|
326 |
-
$styleTag = str_replace('<link ', '<link data-wpacu-debug-style-handle=\'' . $tagHandle . '\' ', $styleTag);
|
327 |
-
}
|
328 |
|
329 |
-
|
330 |
-
|
331 |
-
|
|
|
|
|
|
|
|
|
332 |
|
333 |
-
|
334 |
-
|
|
|
|
|
335 |
|
336 |
-
|
337 |
-
|
338 |
-
// e.g. you're working on a website and there is no Dashboard access and you want to determine the handle name
|
339 |
-
// if the handle name is not showing up, then the SCRIPT has been hardcoded (not enqueued the WordPress way)
|
340 |
-
if (array_key_exists('wpacu_show_handle_names', $_GET)) {
|
341 |
-
$scriptTag = str_replace('<script ', '<script data-wpacu-debug-script-handle=\'' . $tagHandle . '\' ', $scriptTag);
|
342 |
-
}
|
343 |
|
344 |
-
|
345 |
-
|
346 |
-
|
347 |
-
|
348 |
-
|
|
|
|
|
|
|
349 |
|
350 |
-
|
351 |
-
|
352 |
-
|
|
|
|
|
|
|
353 |
|
354 |
-
|
355 |
-
|
356 |
-
|
357 |
|
358 |
-
|
359 |
-
|
360 |
-
|
|
|
361 |
|
362 |
-
|
363 |
-
|
364 |
-
|
365 |
|
366 |
-
|
367 |
-
|
|
|
368 |
|
369 |
-
|
370 |
-
|
371 |
|
372 |
-
|
373 |
-
|
374 |
-
add_action('admin_footer', array($this, 'ajaxFetchActivePluginsJsFooterCode'));
|
375 |
-
add_action('wp_ajax_' . WPACU_PLUGIN_ID . '_fetch_active_plugins_icons', array($this, 'ajaxFetchActivePluginsIcons'));
|
376 |
-
}
|
377 |
|
378 |
-
|
379 |
-
|
380 |
-
|
|
|
|
|
381 |
|
382 |
-
|
383 |
-
|
384 |
-
|
385 |
|
386 |
-
|
387 |
-
|
|
|
|
|
|
|
|
|
388 |
|
389 |
-
|
390 |
|
391 |
-
|
392 |
SELECT `meta_key` FROM {$wpdb->postmeta} WHERE meta_key LIKE '{$metaKeyLike}' AND post_id='{$postId}'
|
393 |
SQL;
|
394 |
-
|
395 |
|
396 |
-
|
397 |
-
|
398 |
-
|
399 |
-
|
400 |
|
401 |
-
|
402 |
-
|
403 |
|
404 |
-
|
405 |
|
406 |
-
|
407 |
-
|
408 |
|
409 |
/**
|
410 |
*
|
@@ -546,6 +567,71 @@ SQL;
|
|
546 |
}
|
547 |
}
|
548 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
549 |
/**
|
550 |
* In case there were assets enqueued within "wp_footer" action hook, instead of the standard "wp_enqueue_scripts"
|
551 |
*/
|
@@ -1094,25 +1180,29 @@ SQL;
|
|
1094 |
*/
|
1095 |
public function makeLoadExceptionOnTheFly($exceptionsList)
|
1096 |
{
|
|
|
|
|
1097 |
foreach (array('css', 'js') as $assetExt) {
|
1098 |
$assetKey = ($assetExt === 'css') ? 'styles' : 'scripts';
|
1099 |
$indexToCheck = 'wpacu_load_'.$assetExt;
|
1100 |
|
1101 |
if ($loadAsset = Misc::getVar('get', $indexToCheck)) {
|
1102 |
-
if (strpos($loadAsset, ',') === false) {
|
1103 |
$exceptionsList[$assetKey][] = $loadAsset;
|
|
|
1104 |
} else {
|
1105 |
foreach (explode(',', $loadAsset) as $loadAsset) {
|
1106 |
-
$loadAsset = trim($loadAsset)
|
1107 |
-
|
1108 |
-
if ($loadAsset) {
|
1109 |
$exceptionsList[$assetKey][] = $loadAsset;
|
|
|
1110 |
}
|
1111 |
}
|
1112 |
}
|
1113 |
}
|
1114 |
}
|
1115 |
|
|
|
|
|
1116 |
return $exceptionsList;
|
1117 |
}
|
1118 |
|
@@ -1121,6 +1211,7 @@ SQL;
|
|
1121 |
*
|
1122 |
* @param string $type
|
1123 |
* @param string $postId
|
|
|
1124 |
* @return array|mixed|object
|
1125 |
*/
|
1126 |
public function getLoadExceptions($type = 'post', $postId = '')
|
@@ -1755,7 +1846,24 @@ SQL;
|
|
1755 |
// [wpacu_lite]
|
1756 |
if ($this->isUpdateable) {
|
1757 |
// [/wpacu_lite]
|
1758 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1759 |
$data['all']['scripts'] = $list['scripts'];
|
1760 |
$data['all']['styles'] = $list['styles'];
|
1761 |
|
@@ -1783,7 +1891,23 @@ SQL;
|
|
1783 |
}
|
1784 |
$data['wpacu_type'] = $type;
|
1785 |
|
1786 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1787 |
// [wpacu_lite]
|
1788 |
} else {
|
1789 |
$data['is_updateable'] = false;
|
@@ -1831,6 +1955,8 @@ SQL;
|
|
1831 |
$data['handle_load_logged_in'] = $this->getHandleLoadLoggedIn();
|
1832 |
$data['handle_notes'] = $this->getHandleNotes();
|
1833 |
|
|
|
|
|
1834 |
$data['ignore_child'] = $this->getIgnoreChildren();
|
1835 |
|
1836 |
ObjectCache::wpacu_cache_set('wpacu_settings_frontend_data', $data);
|
@@ -2057,6 +2183,8 @@ SQL;
|
|
2057 |
|
2058 |
$data['load_exceptions'] = $this->getLoadExceptions($type, $postId);
|
2059 |
|
|
|
|
|
2060 |
$data['total_styles'] = ! empty($data['all']['styles']) ? count($data['all']['styles']) : 0;
|
2061 |
$data['total_scripts'] = ! empty($data['all']['scripts']) ? count($data['all']['scripts']) : 0;
|
2062 |
|
@@ -2295,6 +2423,7 @@ SQL;
|
|
2295 |
* Including 404, date and search pages (they are considered as ONE page with the same rules for any URL variation)
|
2296 |
*
|
2297 |
* @param int $postId
|
|
|
2298 |
* @return string (The returned value must be a JSON one)
|
2299 |
*/
|
2300 |
public function getAssetsUnloaded($postId = 0)
|
@@ -2323,25 +2452,35 @@ SQL;
|
|
2323 |
|
2324 |
$assetsRemovedDecoded = json_decode( $this->assetsRemoved, ARRAY_A );
|
2325 |
|
2326 |
-
|
2327 |
-
|
2328 |
|
2329 |
-
|
2330 |
-
|
2331 |
-
$assetsRemovedDecoded['styles'][] = $cssHandle;
|
2332 |
-
}
|
2333 |
-
}
|
2334 |
-
}
|
2335 |
|
2336 |
-
|
2337 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
2338 |
|
2339 |
-
|
2340 |
-
|
2341 |
-
|
2342 |
-
|
2343 |
-
|
2344 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2345 |
|
2346 |
$this->assetsRemoved = json_encode( $assetsRemovedDecoded );
|
2347 |
}
|
@@ -2356,22 +2495,27 @@ SQL;
|
|
2356 |
*/
|
2357 |
public function getAllDeps($allAssets)
|
2358 |
{
|
2359 |
-
$
|
2360 |
|
2361 |
foreach (array('styles', 'scripts') as $assetType) {
|
2362 |
if ( ! (isset($allAssets[$assetType]) && ! empty($allAssets[$assetType])) ) {
|
2363 |
continue;
|
2364 |
}
|
|
|
2365 |
foreach ($allAssets[$assetType] as $assetObj) {
|
2366 |
if (isset($assetObj->deps) && ! empty($assetObj->deps)) {
|
2367 |
foreach ($assetObj->deps as $dep) {
|
2368 |
-
$
|
|
|
2369 |
}
|
2370 |
}
|
2371 |
}
|
2372 |
}
|
2373 |
|
2374 |
-
return
|
|
|
|
|
|
|
2375 |
}
|
2376 |
|
2377 |
/**
|
@@ -2460,6 +2604,37 @@ SQL;
|
|
2460 |
return $this->currentPost;
|
2461 |
}
|
2462 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2463 |
/**
|
2464 |
* @param $data
|
2465 |
*
|
17 |
*/
|
18 |
const END_DEL_ENQUEUED = 'END WPACU PLUGIN JSON ENQUEUED';
|
19 |
|
20 |
+
/**
|
21 |
+
*
|
22 |
+
*/
|
23 |
+
const START_DEL_HARDCODED = 'BEGIN WPACU PLUGIN JSON HARDCODED';
|
24 |
|
25 |
+
/**
|
26 |
+
*
|
27 |
+
*/
|
28 |
+
const END_DEL_HARDCODED = 'END WPACU PLUGIN JSON HARDCODED';
|
29 |
|
30 |
+
/**
|
31 |
+
* @var string
|
32 |
+
* Can be managed in the Dashboard within the plugin's settings
|
33 |
+
* e.g. 'direct', 'wp_remote_post'
|
34 |
+
*/
|
35 |
+
public static $domGetType = 'direct';
|
36 |
|
37 |
/**
|
38 |
* @var string
|
44 |
*
|
45 |
* @var array
|
46 |
*/
|
47 |
+
public $allUnloadedAssets = array( 'css' => array(), 'js' => array() );
|
48 |
|
49 |
+
/**
|
50 |
+
* @var array
|
51 |
+
*/
|
52 |
+
public $globalUnloaded = array();
|
53 |
|
54 |
+
/**
|
55 |
+
* @var array
|
56 |
+
*/
|
57 |
+
public $loadExceptions = array( 'styles' => array(), 'scripts' => array() );
|
58 |
|
59 |
/**
|
60 |
* Rule that applies site-wide: if the user is logged-in
|
61 |
*
|
62 |
* @var array
|
63 |
*/
|
64 |
+
public $loadExceptionsLoggedInGlobal = array( 'styles' => array(), 'scripts' => array() );
|
65 |
|
66 |
/**
|
67 |
* @var
|
76 |
// [/wpacu_lite]
|
77 |
|
78 |
/**
|
79 |
+
* @var int
|
80 |
+
*/
|
81 |
+
public $currentPostId = 0;
|
82 |
|
83 |
+
/**
|
84 |
+
* @var array
|
85 |
+
*/
|
86 |
+
public $currentPost = array();
|
87 |
|
88 |
+
/**
|
89 |
+
* @var array
|
90 |
+
*/
|
91 |
+
public $vars = array( 'woo_url_not_match' => false, 'is_woo_shop_page' => false );
|
92 |
|
93 |
+
/**
|
94 |
+
* This is set to `true` only if "Manage in the Front-end?" is enabled in plugin's settings
|
95 |
+
* and the logged-in administrator with plugin activation privileges
|
96 |
+
* is outside the Dashboard viewing the pages like a visitor
|
97 |
+
*
|
98 |
+
* @var bool
|
99 |
+
*/
|
100 |
+
public $isFrontendEditView = false;
|
101 |
|
102 |
/**
|
103 |
* @var array
|
109 |
*/
|
110 |
public $scriptsInHead = array();
|
111 |
|
112 |
+
/**
|
113 |
+
* @var array
|
114 |
+
*/
|
115 |
+
public $assetsInFooter = array( 'styles' => array(), 'scripts' => array() );
|
116 |
|
117 |
+
/**
|
118 |
+
* @var array
|
119 |
+
*/
|
120 |
+
public $wpAllScripts = array();
|
121 |
|
122 |
+
/**
|
123 |
+
* @var array
|
124 |
+
*/
|
125 |
+
public $wpAllStyles = array();
|
126 |
|
127 |
/**
|
128 |
* @var array
|
138 |
* @var int
|
139 |
*/
|
140 |
public static $wpStylesSpecialDelimiters = array(
|
141 |
+
'start' => '<!--START-WPACU-SPECIAL-STYLES',
|
142 |
+
'end' => 'END-WPACU-SPECIAL-STYLES-->'
|
143 |
+
);
|
144 |
|
145 |
+
/**
|
146 |
+
* @var array
|
147 |
+
*/
|
148 |
+
public $postTypesUnloaded = array();
|
149 |
|
150 |
/**
|
151 |
* @var array
|
158 |
public $isAjaxCall = false;
|
159 |
|
160 |
/**
|
161 |
+
* Fetch CSS/JS list from the Dashboard
|
162 |
+
*
|
163 |
* @var bool
|
164 |
*/
|
165 |
public $isGetAssetsCall = false;
|
169 |
*
|
170 |
* @var array
|
171 |
*/
|
172 |
+
public $skipAssets = array( 'styles' => array(), 'scripts' => array() );
|
173 |
|
174 |
+
/**
|
175 |
+
* @var Main|null
|
176 |
+
*/
|
177 |
+
private static $singleton;
|
178 |
|
179 |
+
/**
|
180 |
+
* @return null|Main
|
181 |
+
*/
|
182 |
+
public static function instance()
|
183 |
{
|
184 |
+
if ( self::$singleton === null ) {
|
185 |
+
self::$singleton = new self();
|
186 |
+
}
|
187 |
|
188 |
+
return self::$singleton;
|
189 |
+
}
|
190 |
|
191 |
/**
|
192 |
* Parser constructor.
|
193 |
*/
|
194 |
public function __construct()
|
195 |
{
|
196 |
+
$this->skipAssets['styles'] = array(
|
197 |
+
WPACU_PLUGIN_ID . '-style',
|
198 |
+
// Asset CleanUp Styling (for admin use only)
|
199 |
+
'admin-bar',
|
200 |
+
// The top admin bar
|
201 |
+
'yoast-seo-adminbar',
|
202 |
+
// Yoast "WordPress SEO" plugin
|
203 |
+
'autoptimize-toolbar',
|
204 |
+
'query-monitor',
|
205 |
+
'wp-fastest-cache-toolbar',
|
206 |
+
// WP Fastest Cache plugin toolbar CSS
|
207 |
+
'litespeed-cache',
|
208 |
+
// LiteSpeed toolbar
|
209 |
+
'siteground-optimizer-combined-styles-header'
|
210 |
+
// Combine CSS in SG Optimiser (irrelevant as it made from the combined handles)
|
211 |
+
);
|
212 |
|
213 |
+
$this->skipAssets['scripts'] = array(
|
214 |
+
WPACU_PLUGIN_ID . '-script', // Asset CleanUp Script (for admin use only)
|
215 |
+
'admin-bar', // The top admin bar
|
216 |
+
'autoptimize-toolbar',
|
217 |
+
'query-monitor',
|
218 |
+
'wpfc-toolbar' // WP Fastest Cache plugin toolbar JS
|
219 |
+
);
|
220 |
|
221 |
+
$this->isAjaxCall = ( ! empty( $_SERVER['HTTP_X_REQUESTED_WITH'] ) && strtolower( $_SERVER['HTTP_X_REQUESTED_WITH'] ) === 'xmlhttprequest' );
|
222 |
+
$this->isGetAssetsCall = isset( $_REQUEST[ WPACU_LOAD_ASSETS_REQ_KEY ] ) && $_REQUEST[ WPACU_LOAD_ASSETS_REQ_KEY ];
|
223 |
|
224 |
+
if ( $this->isGetAssetsCall ) {
|
225 |
+
// Do not trigger "WP Rocket" as it's irrelevant in this context
|
226 |
+
add_action( 'plugins_loaded', static function() { remove_action( 'plugins_loaded', 'rocket_init' ); }, 1 );
|
227 |
+
add_action( 'plugins_loaded', static function() { remove_action( 'plugins_loaded', 'rocket_init' ); }, 99 );
|
228 |
|
229 |
// Do not output Query Monitor's information as it's irrelevant in this context
|
230 |
if (class_exists('\QueryMonitor') && class_exists('\QM_Plugin')) {
|
234 |
}, 10, 1);
|
235 |
}
|
236 |
|
237 |
+
add_filter( 'style_loader_tag', static function( $styleTag, $tagHandle ) {
|
238 |
+
// This is used to determine if the LINK is enqueued later on
|
239 |
+
// If the handle name is not showing up, then the LINK stylesheet has been hardcoded (not enqueued the WordPress way)
|
240 |
+
return str_replace( '<link ', '<link data-wpacu-style-handle=\'' . $tagHandle . '\' ', $styleTag );
|
241 |
+
}, PHP_INT_MAX, 2 ); // Trigger it later in case plugins such as "Ronneby Core" plugin alters it
|
242 |
|
243 |
+
add_filter( 'script_loader_tag', static function( $scriptTag, $tagHandle ) {
|
244 |
+
// This is used to determine if the SCRIPT is enqueued later on
|
245 |
+
// If the handle name is not showing up, then the SCRIPT has been hardcoded (not enqueued the WordPress way)
|
246 |
+
$reps = array( '<script ' => '<script data-wpacu-script-handle=\'' . $tagHandle . '\' ' );
|
247 |
|
248 |
+
return str_replace( array_keys( $reps ), array_values( $reps ), $scriptTag );
|
249 |
+
}, PHP_INT_MAX, 2 );
|
250 |
+
}
|
251 |
|
252 |
+
// Early Triggers
|
253 |
+
add_action( 'wp', array( $this, 'setVarsBeforeUpdate' ), 8 );
|
254 |
+
add_action( 'wp', array( $this, 'setVarsAfterAnyUpdate' ), 10 );
|
255 |
|
256 |
+
// Fetch Assets AJAX Call? Make sure the output is as clean as possible (no plugins interfering with it)
|
257 |
+
// It can also be used for debugging purposes (via /?wpacu_clean_load) when you want to view all the CSS/JS
|
258 |
+
// that are loaded in the HTML source code before they are unloaded or altered in any way
|
259 |
+
if ( $this->isGetAssetsCall || array_key_exists( 'wpacu_clean_load', $_GET ) ) {
|
260 |
+
$wpacuCleanUp = new CleanUp();
|
261 |
+
$wpacuCleanUp->cleanUpHtmlOutputForAssetsCall();
|
262 |
+
}
|
263 |
|
264 |
+
// "Direct" AJAX call or "WP Remote Post" method used?
|
265 |
+
// Do not trigger the admin bar as it's not relevant
|
266 |
+
if ( $this->isAjaxCall || $this->isGetAssetsCall ) {
|
267 |
+
add_filter( 'show_admin_bar', '__return_false' );
|
268 |
+
}
|
269 |
|
270 |
+
// This is triggered AFTER "saveSettings" from 'Settings' class
|
271 |
+
// In case the settings were just updated, the script will get the latest values
|
272 |
+
add_action( 'init', array( $this, 'triggersAfterInit' ), 10 );
|
273 |
|
274 |
+
// Front-end View - Unload the assets
|
275 |
+
// If there are reasons to prevent the unloading in case 'test mode' is enabled,
|
276 |
+
// then the prevention will trigger within filterStyles() and filterScripts()
|
277 |
|
278 |
+
if ( ! is_admin() ) {
|
279 |
+
$this->alterWpStylesScriptsObj();
|
280 |
+
}
|
|
|
281 |
|
282 |
+
if ( ! $this->isGetAssetsCall && ! is_admin() ) { // No AJAX call from the Dashboard? Trigger the code below
|
283 |
+
// [START] Unload CSS/JS on page request (for debugging)
|
284 |
+
add_filter( 'wpacu_ignore_child_parent_list', array( $this, 'filterIgnoreChildParentList' ) );
|
285 |
+
// [END] Unload CSS/JS on page request (for debugging)
|
286 |
|
287 |
+
// SG Optimizer Compatibility: Unload Styles - HEAD (Before pre_combine_header_styles() from Combinator)
|
288 |
+
if ( get_option( 'siteground_optimizer_combine_css' ) ) {
|
289 |
+
add_action( 'wp_print_styles', array( $this, 'filterStyles' ), 9 ); // priority should be below 10
|
290 |
+
}
|
291 |
|
292 |
+
$this->filterStylesSpecialCases(); // e.g. CSS enqueued in a different way via Oxygen Builder
|
|
|
293 |
|
294 |
+
add_action( 'wp_print_styles', array( $this, 'filterStyles' ), 100000 ); // Unload Styles - HEAD
|
295 |
+
add_action( 'wp_print_scripts', array( $this, 'filterScripts' ), 100000 ); // Unload Scripts - HEAD
|
|
|
|
|
296 |
|
297 |
+
// Unload Styles & Scripts - FOOTER
|
298 |
+
// Needs to be triggered very soon as some old plugins/themes use wp_footer() to enqueue scripts
|
299 |
+
// Sometimes styles are loaded in the BODY section of the page
|
300 |
+
add_action( 'wp_print_footer_scripts', array( $this, 'onPrintFooterScriptsStyles' ), 1 );
|
|
|
301 |
|
302 |
+
// Preloads
|
303 |
+
add_action( 'wp_head', static function() {
|
304 |
+
if ( Plugin::preventAnyChanges() || self::isTestModeActive() ) {
|
305 |
+
return;
|
306 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
307 |
|
308 |
+
// Only place the market IF there's at least one preload
|
309 |
+
$preloadsClass = new Preloads();
|
310 |
+
foreach ( array( 'styles', 'scripts' ) as $assetType ) {
|
311 |
+
if ( isset( $preloadsClass->preloads[ $assetType ] ) && ! empty( $preloadsClass->preloads[ $assetType ] ) ) {
|
312 |
+
echo ( $assetType === 'styles' ) ? Preloads::DEL_STYLES_PRELOADS : Preloads::DEL_SCRIPTS_PRELOADS;
|
313 |
+
}
|
314 |
+
}
|
315 |
+
}, 1 );
|
316 |
+
|
317 |
+
add_filter( 'style_loader_tag', static function( $styleTag, $tagHandle ) {
|
318 |
+
// Preload the plugin's CSS for assets management layout (for faster content paint if the user is logged-in and manages the assets in the front-end)
|
319 |
+
// For a better admin experience
|
320 |
+
if ( $tagHandle === WPACU_PLUGIN_ID . '-style' ) {
|
321 |
+
$styleTag = str_ireplace(
|
322 |
+
array( '<link ', 'rel=\'stylesheet\'', 'rel="stylesheet"', 'id=\'', 'id="' ),
|
323 |
+
array(
|
324 |
+
'<link rel=\'preload\' as=\'style\' data-wpacu-preload-it-async=\'1\' ',
|
325 |
+
'onload="this.onload=null;this.rel=\'stylesheet\'"',
|
326 |
+
'onload="this.rel=\'stylesheet\'"',
|
327 |
+
'id=\'wpacu-preload-',
|
328 |
+
'id="wpacu-preload-'
|
329 |
+
),
|
330 |
+
$styleTag
|
331 |
+
);
|
332 |
+
}
|
333 |
|
334 |
+
if ( Plugin::preventAnyChanges() || self::isTestModeActive() ) {
|
335 |
+
return $styleTag;
|
336 |
+
}
|
|
|
|
|
|
|
337 |
|
338 |
+
// Alter for debugging purposes; triggers before anything else
|
339 |
+
// e.g. you're working on a website and there is no Dashboard access and you want to determine the handle name
|
340 |
+
// if the handle name is not showing up, then the LINK stylesheet has been hardcoded (not enqueued the WordPress way)
|
341 |
+
if ( array_key_exists( 'wpacu_show_handle_names', $_GET ) ) {
|
342 |
+
$styleTag = str_replace( '<link ', '<link data-wpacu-debug-style-handle=\'' . $tagHandle . '\' ',
|
343 |
+
$styleTag );
|
344 |
+
}
|
345 |
|
346 |
+
if ( strpos( $styleTag, 'data-wpacu-style-handle' ) === false ) {
|
347 |
+
$styleTag = str_replace( '<link ', '<link data-wpacu-style-handle=\'' . $tagHandle . '\' ',
|
348 |
+
$styleTag );
|
349 |
+
}
|
350 |
|
351 |
+
return $styleTag;
|
352 |
+
}, PHP_INT_MAX, 2 ); // Trigger it later in case plugins such as "Ronneby Core" plugin alters it
|
|
|
|
|
|
|
|
|
|
|
353 |
|
354 |
+
add_filter( 'script_loader_tag', static function( $scriptTag, $tagHandle ) {
|
355 |
+
// Alter for debugging purposes; triggers before anything else
|
356 |
+
// e.g. you're working on a website and there is no Dashboard access and you want to determine the handle name
|
357 |
+
// if the handle name is not showing up, then the SCRIPT has been hardcoded (not enqueued the WordPress way)
|
358 |
+
if ( array_key_exists( 'wpacu_show_handle_names', $_GET ) ) {
|
359 |
+
$scriptTag = str_replace( '<script ',
|
360 |
+
'<script data-wpacu-debug-script-handle=\'' . $tagHandle . '\' ', $scriptTag );
|
361 |
+
}
|
362 |
|
363 |
+
if ( strpos( $scriptTag, 'data-wpacu-script-handle' ) === false
|
364 |
+
&& Menu::userCanManageAssets()
|
365 |
+
&& self::instance()->isFrontendEditView ) {
|
366 |
+
$scriptTag = str_replace( '<script ', '<script data-wpacu-script-handle=\'' . $tagHandle . '\' ',
|
367 |
+
$scriptTag );
|
368 |
+
}
|
369 |
|
370 |
+
if ( Plugin::preventAnyChanges() || self::isTestModeActive() ) {
|
371 |
+
return $scriptTag;
|
372 |
+
}
|
373 |
|
374 |
+
if ( strpos( $scriptTag, 'data-wpacu-script-handle' ) === false ) {
|
375 |
+
$scriptTag = str_replace( '<script ', '<script data-wpacu-script-handle=\'' . $tagHandle . '\' ',
|
376 |
+
$scriptTag );
|
377 |
+
}
|
378 |
|
379 |
+
if ( $tagHandle === 'jquery-core' ) {
|
380 |
+
$scriptTag = str_replace( '<script ', '<script data-wpacu-jquery-core-handle=1 ', $scriptTag );
|
381 |
+
}
|
382 |
|
383 |
+
if ( $tagHandle === 'jquery-migrate' ) {
|
384 |
+
$scriptTag = str_replace( '<script ', '<script data-wpacu-jquery-migrate-handle=1 ', $scriptTag );
|
385 |
+
}
|
386 |
|
387 |
+
return $scriptTag;
|
388 |
+
}, PHP_INT_MAX, 2 );
|
389 |
|
390 |
+
Preloads::instance()->init();
|
391 |
+
}
|
|
|
|
|
|
|
392 |
|
393 |
+
// Only trigger it within the Dashboard when an Asset CleanUp page is accessed and the transient is non-existent or expired
|
394 |
+
if ( is_admin() ) {
|
395 |
+
add_action( 'admin_footer', array( $this, 'ajaxFetchActivePluginsJsFooterCode' ) );
|
396 |
+
add_action( 'wp_ajax_' . WPACU_PLUGIN_ID . '_fetch_active_plugins_icons', array( $this, 'ajaxFetchActivePluginsIcons' ) );
|
397 |
+
}
|
398 |
|
399 |
+
add_filter( 'duplicate_post_meta_keys_filter', static function( $meta_keys ) {
|
400 |
+
// Get the original post ID
|
401 |
+
$postId = isset( $_GET['post'] ) ? $_GET['post'] : false;
|
402 |
|
403 |
+
if ( ! $postId ) {
|
404 |
+
$postId = isset( $_POST['post'] ) ? $_POST['post'] : false;
|
405 |
+
}
|
406 |
+
|
407 |
+
if ( $postId ) {
|
408 |
+
global $wpdb;
|
409 |
|
410 |
+
$metaKeyLike = '_' . WPACU_PLUGIN_ID . '_%';
|
411 |
|
412 |
+
$assetCleanUpMetaKeysQuery = <<<SQL
|
413 |
SELECT `meta_key` FROM {$wpdb->postmeta} WHERE meta_key LIKE '{$metaKeyLike}' AND post_id='{$postId}'
|
414 |
SQL;
|
415 |
+
$assetCleanUpMetaKeys = $wpdb->get_col( $assetCleanUpMetaKeysQuery );
|
416 |
|
417 |
+
if ( ! empty( $assetCleanUpMetaKeys ) ) {
|
418 |
+
$meta_keys = array_merge( $meta_keys, $assetCleanUpMetaKeys );
|
419 |
+
}
|
420 |
+
}
|
421 |
|
422 |
+
return $meta_keys;
|
423 |
+
} );
|
424 |
|
425 |
+
$this->wpacuHtmlNoticeForAdmin();
|
426 |
|
427 |
+
add_action( 'wp_ajax_' . WPACU_PLUGIN_ID . '_check_external_urls_for_status_code', array( $this, 'ajaxCheckExternalUrlsForStatusCode' ) );
|
428 |
+
}
|
429 |
|
430 |
/**
|
431 |
*
|
567 |
}
|
568 |
}
|
569 |
|
570 |
+
/**
|
571 |
+
* This is useful to change via hooks the "src", "ver" or other values of the loaded handle
|
572 |
+
* Example: You have your theme's main style.css that is needed on every page
|
573 |
+
* On some pages, you only need only 20% of it to load and you can manually trim the other 80% (if you're sure you know which CSS is not used)
|
574 |
+
* You can use a filter hook such as 'wpacu_{main_theme_handle_name_here}_css_handle_obj' to filter the "src" of the object and load an alternative purified CSS file
|
575 |
+
*/
|
576 |
+
public function alterWpStylesScriptsObj()
|
577 |
+
{
|
578 |
+
add_action('wp_print_styles', function() {
|
579 |
+
global $wp_styles;
|
580 |
+
$wpStylesList = array_unique(array_merge($wp_styles->done, $wp_styles->queue));
|
581 |
+
|
582 |
+
if (! empty($wpStylesList)) {
|
583 |
+
foreach ($wpStylesList as $styleHandle) {
|
584 |
+
$wp_styles->registered[$styleHandle] = $this->maybeFilterAssetObject($wp_styles->registered[$styleHandle], 'css');
|
585 |
+
}
|
586 |
+
}
|
587 |
+
});
|
588 |
+
|
589 |
+
foreach (array('wp_print_scripts', 'wp_print_footer_scripts') as $actionToAdd) {
|
590 |
+
add_action( $actionToAdd, function() {
|
591 |
+
global $wp_scripts;
|
592 |
+
$wpScriptsList = array_unique( array_merge( $wp_scripts->done, $wp_scripts->queue ) );
|
593 |
+
|
594 |
+
if ( ! empty( $wpScriptsList ) ) {
|
595 |
+
foreach ( $wpScriptsList as $scriptHandle ) {
|
596 |
+
$wp_scripts->registered[$scriptHandle] = $this->maybeFilterAssetObject($wp_scripts->registered[$scriptHandle], 'js');
|
597 |
+
}
|
598 |
+
}
|
599 |
+
} );
|
600 |
+
}
|
601 |
+
}
|
602 |
+
|
603 |
+
/**
|
604 |
+
* @param $object | as returned from $wp_styles or $wp_scripts
|
605 |
+
* @param $assetType | "css" or "js"
|
606 |
+
*
|
607 |
+
* @return mixed
|
608 |
+
*/
|
609 |
+
public function maybeFilterAssetObject($object, $assetType)
|
610 |
+
{
|
611 |
+
if ( ! isset($object->handle, $object->src, $object->ver) ) {
|
612 |
+
return $object;
|
613 |
+
}
|
614 |
+
|
615 |
+
$filterTagName = 'wpacu_'.$object->handle.'_'.$assetType.'_handle_data';
|
616 |
+
|
617 |
+
if ( has_filter($filterTagName) ) {
|
618 |
+
$originData = (array)$object;
|
619 |
+
$newData = apply_filters( $filterTagName, $originData );
|
620 |
+
|
621 |
+
if ( $newData['src'] !== $originData['src'] ) {
|
622 |
+
$object->src = $newData['src'];
|
623 |
+
$object->src_origin = $originData['src'];
|
624 |
+
}
|
625 |
+
|
626 |
+
if ( $newData['ver'] !== $originData['ver'] ) {
|
627 |
+
$object->ver = $newData['ver'];
|
628 |
+
$object->ver_origin = $originData['ver'];
|
629 |
+
}
|
630 |
+
}
|
631 |
+
|
632 |
+
return $object;
|
633 |
+
}
|
634 |
+
|
635 |
/**
|
636 |
* In case there were assets enqueued within "wp_footer" action hook, instead of the standard "wp_enqueue_scripts"
|
637 |
*/
|
1180 |
*/
|
1181 |
public function makeLoadExceptionOnTheFly($exceptionsList)
|
1182 |
{
|
1183 |
+
$exceptionsListDebug = array('styles' => array(), 'scripts' => array());
|
1184 |
+
|
1185 |
foreach (array('css', 'js') as $assetExt) {
|
1186 |
$assetKey = ($assetExt === 'css') ? 'styles' : 'scripts';
|
1187 |
$indexToCheck = 'wpacu_load_'.$assetExt;
|
1188 |
|
1189 |
if ($loadAsset = Misc::getVar('get', $indexToCheck)) {
|
1190 |
+
if (strpos($loadAsset, ',') === false && (! in_array($loadAsset, $exceptionsList[$assetKey]))) {
|
1191 |
$exceptionsList[$assetKey][] = $loadAsset;
|
1192 |
+
$exceptionsListDebug[$assetKey][] = $loadAsset;
|
1193 |
} else {
|
1194 |
foreach (explode(',', $loadAsset) as $loadAsset) {
|
1195 |
+
if (($loadAsset = trim($loadAsset)) && (! in_array($loadAsset, $exceptionsList[$assetKey]))) {
|
|
|
|
|
1196 |
$exceptionsList[$assetKey][] = $loadAsset;
|
1197 |
+
$exceptionsListDebug[$assetKey][] = $loadAsset;
|
1198 |
}
|
1199 |
}
|
1200 |
}
|
1201 |
}
|
1202 |
}
|
1203 |
|
1204 |
+
ObjectCache::wpacu_cache_add('wpacu_exceptions_list_page_request', $exceptionsListDebug);
|
1205 |
+
|
1206 |
return $exceptionsList;
|
1207 |
}
|
1208 |
|
1211 |
*
|
1212 |
* @param string $type
|
1213 |
* @param string $postId
|
1214 |
+
*
|
1215 |
* @return array|mixed|object
|
1216 |
*/
|
1217 |
public function getLoadExceptions($type = 'post', $postId = '')
|
1846 |
// [wpacu_lite]
|
1847 |
if ($this->isUpdateable) {
|
1848 |
// [/wpacu_lite]
|
1849 |
+
|
1850 |
+
$data['current'] = $currentUnloaded;
|
1851 |
+
|
1852 |
+
if ($currentDebug = ObjectCache::wpacu_cache_get('wpacu_assets_unloaded_list_page_request')) {
|
1853 |
+
foreach ( array( 'styles', 'scripts' ) as $assetType ) {
|
1854 |
+
if ( isset( $data['current'][ $assetType ] ) && ! empty( $data['current'][ $assetType ] ) ) {
|
1855 |
+
foreach ( $data['current'][ $assetType ] as $handleKey => $handle ) {
|
1856 |
+
if ( isset( $currentDebug[ $assetType ] ) && in_array( $handle, $currentDebug[ $assetType ] ) ) {
|
1857 |
+
unset( $data['current'][ $assetType ][ $handleKey ] );
|
1858 |
+
}
|
1859 |
+
}
|
1860 |
+
}
|
1861 |
+
}
|
1862 |
+
}
|
1863 |
+
|
1864 |
+
// e.g. /?wpacu_unload_(css|js)=
|
1865 |
+
$data['current_debug'] = ObjectCache::wpacu_cache_get('wpacu_assets_unloaded_list_page_request');
|
1866 |
+
|
1867 |
$data['all']['scripts'] = $list['scripts'];
|
1868 |
$data['all']['styles'] = $list['styles'];
|
1869 |
|
1891 |
}
|
1892 |
$data['wpacu_type'] = $type;
|
1893 |
|
1894 |
+
$data['load_exceptions'] = $this->getLoadExceptions($type, $this->getCurrentPostId());
|
1895 |
+
|
1896 |
+
// Avoid the /?wpacu_load_(css|js) to interfere with the form inputs
|
1897 |
+
if ($loadExceptionsDebug = ObjectCache::wpacu_cache_get( 'wpacu_exceptions_list_page_request' )) {
|
1898 |
+
foreach ( array( 'styles', 'scripts' ) as $assetType ) {
|
1899 |
+
if ( isset( $data['load_exceptions'][ $assetType ] ) && isset( $loadExceptionsDebug[ $assetType ] ) && ! empty( $data['load_exceptions'][ $assetType ] ) ) {
|
1900 |
+
foreach ( $data['load_exceptions'][ $assetType ] as $handleKey => $handle ) {
|
1901 |
+
if ( in_array( $handle, $loadExceptionsDebug[ $assetType ] ) ) {
|
1902 |
+
unset( $data['load_exceptions'][ $assetType ][ $handleKey ] );
|
1903 |
+
}
|
1904 |
+
}
|
1905 |
+
}
|
1906 |
+
}
|
1907 |
+
|
1908 |
+
// e.g. /?wpacu_load_(css|js)=
|
1909 |
+
$data['load_exceptions_debug'] = $loadExceptionsDebug;
|
1910 |
+
}
|
1911 |
// [wpacu_lite]
|
1912 |
} else {
|
1913 |
$data['is_updateable'] = false;
|
1955 |
$data['handle_load_logged_in'] = $this->getHandleLoadLoggedIn();
|
1956 |
$data['handle_notes'] = $this->getHandleNotes();
|
1957 |
|
1958 |
+
$data['handle_rows_contracted'] = self::getHandleRowStatus();
|
1959 |
+
|
1960 |
$data['ignore_child'] = $this->getIgnoreChildren();
|
1961 |
|
1962 |
ObjectCache::wpacu_cache_set('wpacu_settings_frontend_data', $data);
|
2183 |
|
2184 |
$data['load_exceptions'] = $this->getLoadExceptions($type, $postId);
|
2185 |
|
2186 |
+
$data['handle_rows_contracted'] = self::getHandleRowStatus();
|
2187 |
+
|
2188 |
$data['total_styles'] = ! empty($data['all']['styles']) ? count($data['all']['styles']) : 0;
|
2189 |
$data['total_scripts'] = ! empty($data['all']['scripts']) ? count($data['all']['scripts']) : 0;
|
2190 |
|
2423 |
* Including 404, date and search pages (they are considered as ONE page with the same rules for any URL variation)
|
2424 |
*
|
2425 |
* @param int $postId
|
2426 |
+
*
|
2427 |
* @return string (The returned value must be a JSON one)
|
2428 |
*/
|
2429 |
public function getAssetsUnloaded($postId = 0)
|
2452 |
|
2453 |
$assetsRemovedDecoded = json_decode( $this->assetsRemoved, ARRAY_A );
|
2454 |
|
2455 |
+
/* [START] Unload CSS/JS on page request for debugging purposes */
|
2456 |
+
$assetsUnloadedOnTheFly = array( 'styles' => array(), 'scripts' => array() );
|
2457 |
|
2458 |
+
if ( Misc::getVar( 'get', 'wpacu_unload_css' ) ) {
|
2459 |
+
$cssOnTheFlyList = $this->unloadAssetOnTheFly( 'css' );
|
|
|
|
|
|
|
|
|
2460 |
|
2461 |
+
if ( ! empty( $cssOnTheFlyList ) ) {
|
2462 |
+
foreach ( $cssOnTheFlyList as $cssHandle ) {
|
2463 |
+
if ( ! in_array( $cssHandle, $assetsRemovedDecoded['styles'] ) ) {
|
2464 |
+
$assetsRemovedDecoded['styles'][] = $assetsUnloadedOnTheFly['styles'][] = $cssHandle;
|
2465 |
+
}
|
2466 |
+
}
|
2467 |
+
}
|
2468 |
+
}
|
2469 |
|
2470 |
+
if ( Misc::getVar( 'get', 'wpacu_unload_js' ) ) {
|
2471 |
+
$jsOnTheFlyList = $this->unloadAssetOnTheFly( 'js' );
|
2472 |
+
|
2473 |
+
if ( ! empty( $jsOnTheFlyList ) ) {
|
2474 |
+
foreach ( $jsOnTheFlyList as $jsHandle ) {
|
2475 |
+
if ( ! in_array( $jsHandle, $assetsRemovedDecoded['scripts'] ) ) {
|
2476 |
+
$assetsRemovedDecoded['scripts'][] = $assetsUnloadedOnTheFly['scripts'][] = $jsHandle;
|
2477 |
+
}
|
2478 |
+
}
|
2479 |
+
}
|
2480 |
+
}
|
2481 |
+
|
2482 |
+
ObjectCache::wpacu_cache_add( 'wpacu_assets_unloaded_list_page_request', $assetsUnloadedOnTheFly );
|
2483 |
+
/* [END] Unload CSS/JS on page request for debugging purposes */
|
2484 |
|
2485 |
$this->assetsRemoved = json_encode( $assetsRemovedDecoded );
|
2486 |
}
|
2495 |
*/
|
2496 |
public function getAllDeps($allAssets)
|
2497 |
{
|
2498 |
+
$allDepsParentToChild = $allDepsChildToParent = array('styles' => array(), 'scripts' => array());
|
2499 |
|
2500 |
foreach (array('styles', 'scripts') as $assetType) {
|
2501 |
if ( ! (isset($allAssets[$assetType]) && ! empty($allAssets[$assetType])) ) {
|
2502 |
continue;
|
2503 |
}
|
2504 |
+
|
2505 |
foreach ($allAssets[$assetType] as $assetObj) {
|
2506 |
if (isset($assetObj->deps) && ! empty($assetObj->deps)) {
|
2507 |
foreach ($assetObj->deps as $dep) {
|
2508 |
+
$allDepsParentToChild[$assetType][$dep][] = $assetObj->handle;
|
2509 |
+
$allDepsChildToParent[$assetType][$assetObj->handle][] = $dep;
|
2510 |
}
|
2511 |
}
|
2512 |
}
|
2513 |
}
|
2514 |
|
2515 |
+
return array(
|
2516 |
+
'parent_to_child' => $allDepsParentToChild,
|
2517 |
+
'child_to_parent' => $allDepsChildToParent
|
2518 |
+
);
|
2519 |
}
|
2520 |
|
2521 |
/**
|
2604 |
return $this->currentPost;
|
2605 |
}
|
2606 |
|
2607 |
+
/**
|
2608 |
+
* Get all contracted rows
|
2609 |
+
*
|
2610 |
+
* @return array
|
2611 |
+
*/
|
2612 |
+
public static function getHandleRowStatus()
|
2613 |
+
{
|
2614 |
+
$handleRowStatus = array('styles' => array(), 'scripts' => array());
|
2615 |
+
|
2616 |
+
$handleRowStatusListJson = get_option(WPACU_PLUGIN_ID . '_global_data');
|
2617 |
+
$globalKey = 'handle_row_contracted';
|
2618 |
+
|
2619 |
+
if ($handleRowStatusListJson) {
|
2620 |
+
$handleRowStatusList = @json_decode($handleRowStatusListJson, true);
|
2621 |
+
|
2622 |
+
// Issues with decoding the JSON file? Return an empty list
|
2623 |
+
if (Misc::jsonLastError() !== JSON_ERROR_NONE) {
|
2624 |
+
return $handleRowStatus;
|
2625 |
+
}
|
2626 |
+
|
2627 |
+
// Are new positions set for styles and scripts?
|
2628 |
+
foreach (array('styles', 'scripts') as $assetKey) {
|
2629 |
+
if ( isset( $handleRowStatusList[$assetKey][$globalKey] ) && ! empty( $handleRowStatusList[$assetKey][$globalKey] ) ) {
|
2630 |
+
$handleRowStatus[$assetKey] = $handleRowStatusList[$assetKey][$globalKey];
|
2631 |
+
}
|
2632 |
+
}
|
2633 |
+
}
|
2634 |
+
|
2635 |
+
return $handleRowStatus;
|
2636 |
+
}
|
2637 |
+
|
2638 |
/**
|
2639 |
* @param $data
|
2640 |
*
|
classes/Misc.php
CHANGED
@@ -44,7 +44,7 @@ class Misc
|
|
44 |
public function getActiveCachePlugins()
|
45 |
{
|
46 |
if (empty($this->activeCachePlugins)) {
|
47 |
-
$activePlugins = get_option( 'active_plugins' );
|
48 |
|
49 |
foreach ( self::$potentialCachePlugins as $cachePlugin ) {
|
50 |
if ( in_array( $cachePlugin, $activePlugins ) ) {
|
@@ -399,7 +399,7 @@ class Misc
|
|
399 |
*/
|
400 |
public static function isPluginActive($plugin)
|
401 |
{
|
402 |
-
return in_array($plugin, apply_filters('active_plugins', get_option('active_plugins')));
|
403 |
}
|
404 |
|
405 |
/**
|
@@ -458,15 +458,21 @@ class Misc
|
|
458 |
}
|
459 |
|
460 |
/**
|
|
|
461 |
*
|
|
|
462 |
*/
|
463 |
-
public static function preloadAsyncCssFallbackOutput()
|
464 |
{
|
465 |
-
|
466 |
-
|
467 |
-
|
|
|
|
|
|
|
468 |
|
469 |
-
|
|
|
470 |
|
471 |
return <<<HTML
|
472 |
<script id="wpacu-preload-async-css-fallback">
|
@@ -727,7 +733,7 @@ SQL;
|
|
727 |
if (isset($matches[1][0]) && $matches[1][0]) {
|
728 |
$pluginDirName = $matches[1][0];
|
729 |
|
730 |
-
$activePlugins = get_option( 'active_plugins' );
|
731 |
$activePluginsStr = implode(',', $activePlugins);
|
732 |
|
733 |
if (strpos($activePluginsStr, $pluginDirName.'/') === false) {
|
@@ -760,7 +766,7 @@ SQL;
|
|
760 |
if (strpos($relSrc, '/') !== false) {
|
761 |
list ( $pluginDirName, ) = explode( '/', $relSrc );
|
762 |
|
763 |
-
$activePlugins = get_option( 'active_plugins' );
|
764 |
$activePluginsStr = implode(',', $activePlugins);
|
765 |
|
766 |
if (strpos($activePluginsStr, $pluginDirName.'/') === false) {
|
@@ -794,7 +800,7 @@ SQL;
|
|
794 |
return array();
|
795 |
}
|
796 |
|
797 |
-
$allActivePlugins = get_option('active_plugins');
|
798 |
|
799 |
if (empty($allActivePlugins)) {
|
800 |
return array();
|
@@ -901,7 +907,7 @@ SQL;
|
|
901 |
|
902 |
$allActivePluginsIcons = self::fetchActiveFreePluginsIcons(true) ?: array();
|
903 |
|
904 |
-
foreach (get_option('active_plugins') as $activePlugin) {
|
905 |
if (strpos($activePlugin, '/') !== false) {
|
906 |
list ($pluginSlug) = explode('/', $activePlugin);
|
907 |
|
@@ -1002,7 +1008,7 @@ SQL;
|
|
1002 |
public static function formatBytes($size, $precision = 2)
|
1003 |
{
|
1004 |
if ((int)$size === 0) {
|
1005 |
-
return '<span style="vertical-align: middle;" class="dashicons dashicons-warning"></span>
|
1006 |
}
|
1007 |
|
1008 |
// In case a string is passed, make it to float
|
44 |
public function getActiveCachePlugins()
|
45 |
{
|
46 |
if (empty($this->activeCachePlugins)) {
|
47 |
+
$activePlugins = get_option( 'active_plugins', array() );
|
48 |
|
49 |
foreach ( self::$potentialCachePlugins as $cachePlugin ) {
|
50 |
if ( in_array( $cachePlugin, $activePlugins ) ) {
|
399 |
*/
|
400 |
public static function isPluginActive($plugin)
|
401 |
{
|
402 |
+
return in_array($plugin, apply_filters('active_plugins', get_option('active_plugins', array())));
|
403 |
}
|
404 |
|
405 |
/**
|
458 |
}
|
459 |
|
460 |
/**
|
461 |
+
* @param bool $forceReturn
|
462 |
*
|
463 |
+
* @return string
|
464 |
*/
|
465 |
+
public static function preloadAsyncCssFallbackOutput($forceReturn = false)
|
466 |
{
|
467 |
+
// Unless it has to be returned (e.g. for debugging purposes), check it if it was returned before
|
468 |
+
// To avoid duplicated HTML code
|
469 |
+
if (! $forceReturn) {
|
470 |
+
if ( defined( 'WPACU_PRELOAD_ASYNC_SCRIPT_SHOWN' ) ) {
|
471 |
+
return '';
|
472 |
+
}
|
473 |
|
474 |
+
define( 'WPACU_PRELOAD_ASYNC_SCRIPT_SHOWN', 1 ); // mark it as already printed
|
475 |
+
}
|
476 |
|
477 |
return <<<HTML
|
478 |
<script id="wpacu-preload-async-css-fallback">
|
733 |
if (isset($matches[1][0]) && $matches[1][0]) {
|
734 |
$pluginDirName = $matches[1][0];
|
735 |
|
736 |
+
$activePlugins = get_option( 'active_plugins', array() );
|
737 |
$activePluginsStr = implode(',', $activePlugins);
|
738 |
|
739 |
if (strpos($activePluginsStr, $pluginDirName.'/') === false) {
|
766 |
if (strpos($relSrc, '/') !== false) {
|
767 |
list ( $pluginDirName, ) = explode( '/', $relSrc );
|
768 |
|
769 |
+
$activePlugins = get_option( 'active_plugins', array() );
|
770 |
$activePluginsStr = implode(',', $activePlugins);
|
771 |
|
772 |
if (strpos($activePluginsStr, $pluginDirName.'/') === false) {
|
800 |
return array();
|
801 |
}
|
802 |
|
803 |
+
$allActivePlugins = array_unique(get_option('active_plugins', array()));
|
804 |
|
805 |
if (empty($allActivePlugins)) {
|
806 |
return array();
|
907 |
|
908 |
$allActivePluginsIcons = self::fetchActiveFreePluginsIcons(true) ?: array();
|
909 |
|
910 |
+
foreach (array_unique(get_option('active_plugins', array())) as $activePlugin) {
|
911 |
if (strpos($activePlugin, '/') !== false) {
|
912 |
list ($pluginSlug) = explode('/', $activePlugin);
|
913 |
|
1008 |
public static function formatBytes($size, $precision = 2)
|
1009 |
{
|
1010 |
if ((int)$size === 0) {
|
1011 |
+
return '<span style="vertical-align: middle;" class="dashicons dashicons-warning"></span> '.__('The file appears to be empty', 'wp-asset-clean-up');
|
1012 |
}
|
1013 |
|
1014 |
// In case a string is passed, make it to float
|
classes/OptimiseAssets/OptimizeCommon.php
CHANGED
@@ -99,6 +99,14 @@ class OptimizeCommon
|
|
99 |
return self::alterHtmlSource($htmlSource);
|
100 |
}, 1, 1);
|
101 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
102 |
// Is Smart Slider 3 used?
|
103 |
add_action('init', static function() {
|
104 |
if (defined('NEXTEND_SMARTSLIDER_3_URL_PATH') && class_exists('\N2WordpressAssetInjector') && method_exists('\N2WordpressAssetInjector', 'platformRenderEnd')) {
|
@@ -188,7 +196,7 @@ class OptimizeCommon
|
|
188 |
/* [wpacu_timing] */ Misc::scriptExecTimer( 'alter_html_source_cleanup' ); /* [/wpacu_timing] */
|
189 |
|
190 |
/* [wpacu_timing] */ Misc::scriptExecTimer('alter_html_source_for_remove_html_comments'); /* [/wpacu_timing] */
|
191 |
-
$htmlSource = Main::instance()->settings['remove_html_comments'] ? CleanUp::removeHtmlComments( $htmlSource, false
|
192 |
/* [wpacu_timing] */ Misc::scriptExecTimer('alter_html_source_for_remove_html_comments', 'end'); /* [/wpacu_timing] */
|
193 |
|
194 |
/* [wpacu_timing] */ Misc::scriptExecTimer('alter_html_source_for_remove_meta_generators'); /* [/wpacu_timing] */
|
@@ -277,14 +285,10 @@ class OptimizeCommon
|
|
277 |
|
278 |
// [HTML CleanUp]
|
279 |
if ($for === 'removeHtmlComments') {
|
280 |
-
//
|
281 |
$cleanerDomRegEx = '';
|
282 |
}
|
283 |
|
284 |
-
if ($for === 'removeHtmlCommentsFinal') {
|
285 |
-
$cleanerDomRegEx = array('@<(script|style)[^>]*?>.*?</\\1>@si', '#<(meta|link|img)([^<>]+)/?>#iU');
|
286 |
-
}
|
287 |
-
|
288 |
if ($for === 'removeMetaGenerators') {
|
289 |
$cleanerDomRegEx = array('@<(noscript|style|script)[^>]*?>.*?</\\1>@si', '#<(link|img)([^<>]+)/?>#iU');
|
290 |
}
|
99 |
return self::alterHtmlSource($htmlSource);
|
100 |
}, 1, 1);
|
101 |
|
102 |
+
// Make sure HTML changes, especially rules such as the ones from "Ignore dependency rules and keep 'children' loaded"
|
103 |
+
// are applied to cached pages from "WP Rocket" plugin
|
104 |
+
if (Misc::isPluginActive('wp-rocket/wp-rocket.php')) {
|
105 |
+
add_filter('rocket_buffer', static function($htmlSource) {
|
106 |
+
return self::alterHtmlSource($htmlSource);
|
107 |
+
});
|
108 |
+
}
|
109 |
+
|
110 |
// Is Smart Slider 3 used?
|
111 |
add_action('init', static function() {
|
112 |
if (defined('NEXTEND_SMARTSLIDER_3_URL_PATH') && class_exists('\N2WordpressAssetInjector') && method_exists('\N2WordpressAssetInjector', 'platformRenderEnd')) {
|
196 |
/* [wpacu_timing] */ Misc::scriptExecTimer( 'alter_html_source_cleanup' ); /* [/wpacu_timing] */
|
197 |
|
198 |
/* [wpacu_timing] */ Misc::scriptExecTimer('alter_html_source_for_remove_html_comments'); /* [/wpacu_timing] */
|
199 |
+
$htmlSource = Main::instance()->settings['remove_html_comments'] ? CleanUp::removeHtmlComments( $htmlSource, false ) : $htmlSource;
|
200 |
/* [wpacu_timing] */ Misc::scriptExecTimer('alter_html_source_for_remove_html_comments', 'end'); /* [/wpacu_timing] */
|
201 |
|
202 |
/* [wpacu_timing] */ Misc::scriptExecTimer('alter_html_source_for_remove_meta_generators'); /* [/wpacu_timing] */
|
285 |
|
286 |
// [HTML CleanUp]
|
287 |
if ($for === 'removeHtmlComments') {
|
288 |
+
// They could contain anything
|
289 |
$cleanerDomRegEx = '';
|
290 |
}
|
291 |
|
|
|
|
|
|
|
|
|
292 |
if ($for === 'removeMetaGenerators') {
|
293 |
$cleanerDomRegEx = array('@<(noscript|style|script)[^>]*?>.*?</\\1>@si', '#<(link|img)([^<>]+)/?>#iU');
|
294 |
}
|
classes/OptimiseAssets/OptimizeCss.php
CHANGED
@@ -120,7 +120,7 @@ class OptimizeCss
|
|
120 |
// Collect all enqueued clean (no query strings) HREFs to later compare them against any hardcoded CSS
|
121 |
$allEnqueuedCleanLinkHrefs = array();
|
122 |
|
123 |
-
foreach ($wpStylesDone as $styleHandle) {
|
124 |
if (isset(Main::instance()->wpAllStyles['registered'][$styleHandle]->src) && ($src = Main::instance()->wpAllStyles['registered'][$styleHandle]->src)) {
|
125 |
$localAssetPath = OptimizeCommon::getLocalAssetPath($src, 'css');
|
126 |
|
@@ -132,6 +132,12 @@ class OptimizeCss
|
|
132 |
$wp_styles->do_item($styleHandle);
|
133 |
$linkSourceTag = trim(ob_get_clean());
|
134 |
|
|
|
|
|
|
|
|
|
|
|
|
|
135 |
$cleanLinkHrefFromTagArray = OptimizeCommon::getLocalCleanSourceFromTag($linkSourceTag, 'href');
|
136 |
|
137 |
if (isset($cleanLinkHrefFromTagArray['source']) && $cleanLinkHrefFromTagArray['source']) {
|
@@ -268,7 +274,7 @@ class OptimizeCss
|
|
268 |
|
269 |
if (Main::instance()->settings['cache_dynamic_loaded_css'] &&
|
270 |
$value->handle === 'sccss_style' &&
|
271 |
-
in_array('simple-custom-css/simple-custom-css.php', apply_filters('active_plugins', get_option('active_plugins')))
|
272 |
) {
|
273 |
$pathToAssetDir = '';
|
274 |
$sourceBeforeOptimization = $value->src;
|
@@ -638,6 +644,7 @@ class OptimizeCss
|
|
638 |
$cdnUrls = OptimizeCommon::getAnyCdnUrls();
|
639 |
$cdnUrlForCss = isset($cdnUrls['css']) ? $cdnUrls['css'] : false;
|
640 |
|
|
|
641 |
preg_match_all('#<link[^>]*(stylesheet|(as(\s+|)=(\s+|)(|"|\')style(|"|\')))[^>]*>#Umi', OptimizeCommon::cleanerHtmlSource( $htmlSource, array( 'for_fetching_link_tags' ) ), $matchesSourcesFromTags, PREG_SET_ORDER);
|
642 |
|
643 |
if (empty($matchesSourcesFromTags)) {
|
@@ -654,6 +661,11 @@ class OptimizeCss
|
|
654 |
continue;
|
655 |
}
|
656 |
|
|
|
|
|
|
|
|
|
|
|
657 |
$cleanLinkHrefFromTagArray = OptimizeCommon::getLocalCleanSourceFromTag($linkSourceTag, 'href');
|
658 |
|
659 |
// Skip external links, no point in carrying on
|
120 |
// Collect all enqueued clean (no query strings) HREFs to later compare them against any hardcoded CSS
|
121 |
$allEnqueuedCleanLinkHrefs = array();
|
122 |
|
123 |
+
foreach ($wpStylesDone as $index => $styleHandle) {
|
124 |
if (isset(Main::instance()->wpAllStyles['registered'][$styleHandle]->src) && ($src = Main::instance()->wpAllStyles['registered'][$styleHandle]->src)) {
|
125 |
$localAssetPath = OptimizeCommon::getLocalAssetPath($src, 'css');
|
126 |
|
132 |
$wp_styles->do_item($styleHandle);
|
133 |
$linkSourceTag = trim(ob_get_clean());
|
134 |
|
135 |
+
// Check if the CSS has any 'data-wpacu-skip' attribute; if it does, do not alter it
|
136 |
+
if (preg_match('#data-wpacu-skip([=>/ ])#i', $linkSourceTag)) {
|
137 |
+
unset($wpStylesDone[$index]);
|
138 |
+
continue;
|
139 |
+
}
|
140 |
+
|
141 |
$cleanLinkHrefFromTagArray = OptimizeCommon::getLocalCleanSourceFromTag($linkSourceTag, 'href');
|
142 |
|
143 |
if (isset($cleanLinkHrefFromTagArray['source']) && $cleanLinkHrefFromTagArray['source']) {
|
274 |
|
275 |
if (Main::instance()->settings['cache_dynamic_loaded_css'] &&
|
276 |
$value->handle === 'sccss_style' &&
|
277 |
+
in_array('simple-custom-css/simple-custom-css.php', apply_filters('active_plugins', get_option('active_plugins', array())))
|
278 |
) {
|
279 |
$pathToAssetDir = '';
|
280 |
$sourceBeforeOptimization = $value->src;
|
644 |
$cdnUrls = OptimizeCommon::getAnyCdnUrls();
|
645 |
$cdnUrlForCss = isset($cdnUrls['css']) ? $cdnUrls['css'] : false;
|
646 |
|
647 |
+
// Grabs both LINK "stylesheet" and those with as="style" which is for preloaded LINK tags
|
648 |
preg_match_all('#<link[^>]*(stylesheet|(as(\s+|)=(\s+|)(|"|\')style(|"|\')))[^>]*>#Umi', OptimizeCommon::cleanerHtmlSource( $htmlSource, array( 'for_fetching_link_tags' ) ), $matchesSourcesFromTags, PREG_SET_ORDER);
|
649 |
|
650 |
if (empty($matchesSourcesFromTags)) {
|
661 |
continue;
|
662 |
}
|
663 |
|
664 |
+
// Check if the CSS has any 'data-wpacu-skip' attribute; if it does, do not alter it
|
665 |
+
if (preg_match('#data-wpacu-skip([=>/ ])#i', $linkSourceTag)) {
|
666 |
+
continue;
|
667 |
+
}
|
668 |
+
|
669 |
$cleanLinkHrefFromTagArray = OptimizeCommon::getLocalCleanSourceFromTag($linkSourceTag, 'href');
|
670 |
|
671 |
// Skip external links, no point in carrying on
|
classes/Overview.php
CHANGED
@@ -450,7 +450,7 @@ SQL;
|
|
450 |
$handleAttrsExceptionsList .= ' Date Archive, ';
|
451 |
}
|
452 |
|
453 |
-
if ( $attrSetIn ===
|
454 |
$handleAttrsExceptionsList .= ' 404 Not Found, ';
|
455 |
}
|
456 |
|
@@ -614,7 +614,7 @@ SQL;
|
|
614 |
if ($bulkType === 'search' && $bulkValue === 1) {
|
615 |
$handleChangesOutput['bulk'] .= ' Unloaded on `Search` page (any keyword), ';
|
616 |
}
|
617 |
-
if ($bulkType ===
|
618 |
$handleChangesOutput['bulk'] .= ' Unloaded on `404 Not Found` page (any URL), ';
|
619 |
}
|
620 |
}
|
450 |
$handleAttrsExceptionsList .= ' Date Archive, ';
|
451 |
}
|
452 |
|
453 |
+
if ( (int)$attrSetIn === 404 && in_array($attrValue, $attrSetValues) ) {
|
454 |
$handleAttrsExceptionsList .= ' 404 Not Found, ';
|
455 |
}
|
456 |
|
614 |
if ($bulkType === 'search' && $bulkValue === 1) {
|
615 |
$handleChangesOutput['bulk'] .= ' Unloaded on `Search` page (any keyword), ';
|
616 |
}
|
617 |
+
if ($bulkType === 404 && $bulkValue === 1) {
|
618 |
$handleChangesOutput['bulk'] .= ' Unloaded on `404 Not Found` page (any URL), ';
|
619 |
}
|
620 |
}
|
classes/OwnAssets.php
CHANGED
@@ -24,15 +24,13 @@ class OwnAssets
|
|
24 |
add_action('wp_enqueue_scripts', array($this, 'stylesAndScriptsForPublic'));
|
25 |
|
26 |
// Code only for the Dashboard
|
27 |
-
add_action('admin_head', array($this, '
|
|
|
28 |
|
29 |
// Code for both the Dashboard and the Front-end view
|
30 |
add_action('admin_head', array($this, 'inlineCode'));
|
31 |
add_action('wp_head', array($this, 'inlineCode'));
|
32 |
|
33 |
-
add_action('admin_footer', array($this, 'inlineFooterCode'));
|
34 |
-
|
35 |
-
|
36 |
// Rename ?ver= to ?wpacuversion to prevent other plugins from stripping "ver"
|
37 |
// This is valid in the front-end and the Dashboard
|
38 |
add_filter('script_loader_src', array($this, 'ownAssetLoaderSrc'), 10, 2);
|
@@ -51,7 +49,7 @@ class OwnAssets
|
|
51 |
$wpacu_object_data['is_frontend_view'] = true;
|
52 |
}
|
53 |
|
54 |
-
|
55 |
'There are currently other JavaScript "children" files connected to it, that will stop working, if this library is unloaded'."\n\n".
|
56 |
'If you are positive this page does not require jQuery (very rare cases), then you can continue by pressing "OK"'."\n\n".
|
57 |
'Otherwise, it is strongly recommended to keep this library loaded by pressing "Cancel" to avoid breaking the functionality of the website.';
|
@@ -152,21 +150,126 @@ class OwnAssets
|
|
152 |
}
|
153 |
</style>
|
154 |
<?php
|
|
|
|
|
|
|
155 |
}
|
156 |
}
|
157 |
|
158 |
/**
|
159 |
*
|
160 |
*/
|
161 |
-
public function
|
162 |
{
|
163 |
?>
|
164 |
<style type="text/css" data-wpacu-own-inline-style="true">
|
165 |
.menu-top.toplevel_page_wpassetcleanup_getting_started .wp-menu-image > img { width: 26px; position: absolute; left: 8px; top: -4px; }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
166 |
</style>
|
167 |
<?php
|
168 |
}
|
169 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
170 |
/**
|
171 |
*
|
172 |
*/
|
@@ -618,75 +721,4 @@ JS;
|
|
618 |
|
619 |
return $tag;
|
620 |
}
|
621 |
-
|
622 |
-
/**
|
623 |
-
*
|
624 |
-
*/
|
625 |
-
public function inlineFooterCode()
|
626 |
-
{
|
627 |
-
if (defined('WPACU_USE_MODAL_BOX') && WPACU_USE_MODAL_BOX === true) { ?>
|
628 |
-
<script type="text/javascript">
|
629 |
-
jQuery(document).ready(function ($) {
|
630 |
-
/*
|
631 |
-
* START WPACU MODAL
|
632 |
-
*/
|
633 |
-
var wpacuCurrentModal, $wpacuModals = $('.wpacu-modal');
|
634 |
-
|
635 |
-
if ($wpacuModals.length < 1) {
|
636 |
-
return;
|
637 |
-
}
|
638 |
-
|
639 |
-
$wpacuModals.each(function (wpacuIndex) {
|
640 |
-
var wpacuModalId = $(this).attr('id');
|
641 |
-
|
642 |
-
// Get the modal
|
643 |
-
var wpacuModal = document.getElementById(wpacuModalId);
|
644 |
-
|
645 |
-
// Get the link/button that opens the modal
|
646 |
-
var wpacuTarget = document.getElementById(wpacuModalId + '-target');
|
647 |
-
|
648 |
-
// When the user clicks the button, open the modal
|
649 |
-
wpacuTarget.onclick = function () {
|
650 |
-
wpacuModal.style.display = 'block';
|
651 |
-
wpacuCurrentModal = wpacuModal;
|
652 |
-
};
|
653 |
-
|
654 |
-
// Get the <span> element that closes the modal
|
655 |
-
var wpacuSpan = document.getElementsByClassName('wpacu-close')[wpacuIndex];
|
656 |
-
|
657 |
-
// When the user clicks on <span> (x), close the modal
|
658 |
-
wpacuSpan.onclick = function () {
|
659 |
-
wpacuModal.style.display = 'none';
|
660 |
-
};
|
661 |
-
});
|
662 |
-
|
663 |
-
// When the user clicks anywhere outside of the modal, close it
|
664 |
-
window.onclick = function (event) {
|
665 |
-
if (event.target === wpacuCurrentModal) {
|
666 |
-
wpacuCurrentModal.style.display = 'none';
|
667 |
-
}
|
668 |
-
};
|
669 |
-
/*
|
670 |
-
* END WPACU MODAL
|
671 |
-
*/
|
672 |
-
});
|
673 |
-
</script>
|
674 |
-
<?php }
|
675 |
-
|
676 |
-
if (isset($_GET['page']) && $_GET['page'] === WPACU_PLUGIN_ID.'_settings') {
|
677 |
-
// Only relevant in the "Settings" area
|
678 |
-
?>
|
679 |
-
<script type="text/javascript">
|
680 |
-
// Tab Area | Keep selected tab after page reload
|
681 |
-
if (location.href.indexOf('#') !== -1) {
|
682 |
-
var hashFromUrl = location.href.substr(location.href.indexOf('#'));
|
683 |
-
//wpacuTabOpenSettingsArea(event, hashFromUrl.substring(1));
|
684 |
-
//console.log(hashFromUrl);
|
685 |
-
jQuery('a[href="'+ hashFromUrl +'"]').trigger('click');
|
686 |
-
//console.log(hashFromUrl.substring(1));
|
687 |
-
}
|
688 |
-
</script>
|
689 |
-
<?php
|
690 |
-
}
|
691 |
-
}
|
692 |
}
|
24 |
add_action('wp_enqueue_scripts', array($this, 'stylesAndScriptsForPublic'));
|
25 |
|
26 |
// Code only for the Dashboard
|
27 |
+
add_action('admin_head', array($this, 'inlineAdminHeadCode'));
|
28 |
+
add_action('admin_footer', array($this, 'inlineAdminFooterCode'));
|
29 |
|
30 |
// Code for both the Dashboard and the Front-end view
|
31 |
add_action('admin_head', array($this, 'inlineCode'));
|
32 |
add_action('wp_head', array($this, 'inlineCode'));
|
33 |
|
|
|
|
|
|
|
34 |
// Rename ?ver= to ?wpacuversion to prevent other plugins from stripping "ver"
|
35 |
// This is valid in the front-end and the Dashboard
|
36 |
add_filter('script_loader_src', array($this, 'ownAssetLoaderSrc'), 10, 2);
|
49 |
$wpacu_object_data['is_frontend_view'] = true;
|
50 |
}
|
51 |
|
52 |
+
$wpacu_object_data['jquery_unload_alert'] = 'jQuery library is a WordPress library that it is used in WordPress plugins/themes most of the time.'."\n\n".
|
53 |
'There are currently other JavaScript "children" files connected to it, that will stop working, if this library is unloaded'."\n\n".
|
54 |
'If you are positive this page does not require jQuery (very rare cases), then you can continue by pressing "OK"'."\n\n".
|
55 |
'Otherwise, it is strongly recommended to keep this library loaded by pressing "Cancel" to avoid breaking the functionality of the website.';
|
150 |
}
|
151 |
</style>
|
152 |
<?php
|
153 |
+
if (wp_style_is(WPACU_PLUGIN_ID . '-style', 'enqueued')) {
|
154 |
+
echo Misc::preloadAsyncCssFallbackOutput();
|
155 |
+
}
|
156 |
}
|
157 |
}
|
158 |
|
159 |
/**
|
160 |
*
|
161 |
*/
|
162 |
+
public function inlineAdminHeadCode()
|
163 |
{
|
164 |
?>
|
165 |
<style type="text/css" data-wpacu-own-inline-style="true">
|
166 |
.menu-top.toplevel_page_wpassetcleanup_getting_started .wp-menu-image > img { width: 26px; position: absolute; left: 8px; top: -4px; }
|
167 |
+
<?php
|
168 |
+
if (Main::instance()->settings['hide_from_side_bar']) {
|
169 |
+
// Just hide the menu without removing any of its pages from the menu (for sidebar cleanup purposes)
|
170 |
+
?>
|
171 |
+
#toplevel_page_wpassetcleanup_getting_started { display: none !important; }
|
172 |
+
<?php
|
173 |
+
} elseif (isset($_GET['page']) && strpos($_GET['page'], WPACU_PLUGIN_ID.'_') === 0) {
|
174 |
+
// The menu is shown: make the sidebar area a bit larger so the whole "Asset CleanUp Pro" menu text is seen properly when viewing its pages
|
175 |
+
?>
|
176 |
+
#adminmenuback, #adminmenuwrap, #adminmenu, #adminmenu .wp-submenu { width: 172px; }
|
177 |
+
#wpcontent, #wpfooter { margin-left: 172px; }
|
178 |
+
<?php
|
179 |
+
}
|
180 |
+
?>
|
181 |
</style>
|
182 |
<?php
|
183 |
}
|
184 |
|
185 |
+
/**
|
186 |
+
*
|
187 |
+
*/
|
188 |
+
public function inlineAdminFooterCode()
|
189 |
+
{
|
190 |
+
if (defined('WPACU_USE_MODAL_BOX') && WPACU_USE_MODAL_BOX === true) { ?>
|
191 |
+
<script type="text/javascript">
|
192 |
+
jQuery(document).ready(function ($) {
|
193 |
+
/*
|
194 |
+
* START WPACU MODAL
|
195 |
+
*/
|
196 |
+
var wpacuCurrentModal, $wpacuModals = $('.wpacu-modal');
|
197 |
+
|
198 |
+
if ($wpacuModals.length < 1) {
|
199 |
+
return;
|
200 |
+
}
|
201 |
+
|
202 |
+
$wpacuModals.each(function (wpacuIndex) {
|
203 |
+
var wpacuModalId = $(this).attr('id');
|
204 |
+
|
205 |
+
// Get the modal
|
206 |
+
var wpacuModal = document.getElementById(wpacuModalId);
|
207 |
+
|
208 |
+
// Get the link/button that opens the modal
|
209 |
+
var wpacuTarget = document.getElementById(wpacuModalId + '-target');
|
210 |
+
|
211 |
+
// When the user clicks the button, open the modal
|
212 |
+
wpacuTarget.onclick = function () {
|
213 |
+
wpacuModal.style.display = 'block';
|
214 |
+
wpacuCurrentModal = wpacuModal;
|
215 |
+
};
|
216 |
+
|
217 |
+
// Get the <span> element that closes the modal
|
218 |
+
var wpacuSpan = document.getElementsByClassName('wpacu-close')[wpacuIndex];
|
219 |
+
|
220 |
+
// When the user clicks on <span> (x), close the modal
|
221 |
+
wpacuSpan.onclick = function () {
|
222 |
+
wpacuModal.style.display = 'none';
|
223 |
+
};
|
224 |
+
});
|
225 |
+
|
226 |
+
// When the user clicks anywhere outside of the modal, close it
|
227 |
+
window.onclick = function (event) {
|
228 |
+
if (event.target === wpacuCurrentModal) {
|
229 |
+
wpacuCurrentModal.style.display = 'none';
|
230 |
+
}
|
231 |
+
};
|
232 |
+
/*
|
233 |
+
* END WPACU MODAL
|
234 |
+
*/
|
235 |
+
});
|
236 |
+
</script>
|
237 |
+
<?php }
|
238 |
+
|
239 |
+
if (isset($_GET['page']) && $_GET['page'] === WPACU_PLUGIN_ID.'_settings') {
|
240 |
+
// Only relevant in the "Settings" area
|
241 |
+
?>
|
242 |
+
<script type="text/javascript">
|
243 |
+
// Tab Area | Keep selected tab after page reload
|
244 |
+
if (location.href.indexOf('#') !== -1) {
|
245 |
+
var hashFromUrl = location.href.substr(location.href.indexOf('#'));
|
246 |
+
//wpacuTabOpenSettingsArea(event, hashFromUrl.substring(1));
|
247 |
+
//console.log(hashFromUrl);
|
248 |
+
jQuery('a[href="'+ hashFromUrl +'"]').trigger('click');
|
249 |
+
//console.log(hashFromUrl.substring(1));
|
250 |
+
}
|
251 |
+
</script>
|
252 |
+
<?php
|
253 |
+
}
|
254 |
+
|
255 |
+
global $current_screen;
|
256 |
+
|
257 |
+
if (isset($current_screen->id) && $current_screen->id === 'plugins') {
|
258 |
+
// Asset CleanUp Pro needs to have the page reloaded to perform the update 100% correctly
|
259 |
+
// as, for some reason, it sometimes gives an error of "Plugin failed" when updated via an AJAX call (no page reload)
|
260 |
+
?>
|
261 |
+
<script type="text/javascript">
|
262 |
+
jQuery(document).ready(function ($) {
|
263 |
+
$('tr[data-plugin="wp-asset-clean-up-pro/wpacu.php"]')
|
264 |
+
.find('div.update-message')
|
265 |
+
.find('.update-link').append(' (via page reload)')
|
266 |
+
.removeClass('update-link').addClass('wpacu-update-plugin');
|
267 |
+
});
|
268 |
+
</script>
|
269 |
+
<?php
|
270 |
+
}
|
271 |
+
}
|
272 |
+
|
273 |
/**
|
274 |
*
|
275 |
*/
|
721 |
|
722 |
return $tag;
|
723 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
724 |
}
|
classes/PluginsManager.php
CHANGED
@@ -29,27 +29,27 @@ class PluginsManager
|
|
29 |
* @return array
|
30 |
*/
|
31 |
public static function getActivePlugins()
|
32 |
-
|
33 |
-
|
34 |
|
35 |
-
|
36 |
-
|
37 |
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
|
53 |
-
|
54 |
}
|
55 |
}
|
29 |
* @return array
|
30 |
*/
|
31 |
public static function getActivePlugins()
|
32 |
+
{
|
33 |
+
$activePluginsFinal = array();
|
34 |
|
35 |
+
// Get active plugins and their basic information
|
36 |
+
$activePlugins = array_unique(get_option('active_plugins', array()));
|
37 |
|
38 |
+
foreach ($activePlugins as $plugin) {
|
39 |
+
// Skip Asset CleanUp as it's obviously needed for the functionality
|
40 |
+
if (strpos($plugin, 'wp-asset-clean-up') !== false) {
|
41 |
+
continue;
|
42 |
+
}
|
43 |
|
44 |
+
$pluginData = get_plugin_data(WP_CONTENT_DIR . '/plugins/'.$plugin);
|
45 |
+
$activePluginsFinal[] = array('title' => $pluginData['Name'], 'path' => $plugin);
|
46 |
+
}
|
47 |
|
48 |
+
usort($activePluginsFinal, static function($a, $b)
|
49 |
+
{
|
50 |
+
return strcmp($a['title'], $b['title']);
|
51 |
+
});
|
52 |
|
53 |
+
return $activePluginsFinal;
|
54 |
}
|
55 |
}
|
classes/Settings.php
CHANGED
@@ -29,7 +29,9 @@ class Settings
|
|
29 |
'frontend_show',
|
30 |
'frontend_show_exceptions',
|
31 |
|
|
|
32 |
'hide_from_admin_bar',
|
|
|
33 |
|
34 |
// The way the CSS/JS list is showing (various ways depending on the preference)
|
35 |
'assets_list_layout',
|
@@ -227,7 +229,7 @@ class Settings
|
|
227 |
// [/wpacu_pro]
|
228 |
|
229 |
'combine_loaded_css_exceptions' => '/plugins/wd-instagram-feed/(.*?).css',
|
230 |
-
|
231 |
|
232 |
// [wpacu_pro]
|
233 |
'defer_css_loaded_body' => 'moved',
|
29 |
'frontend_show',
|
30 |
'frontend_show_exceptions',
|
31 |
|
32 |
+
// Hide plugin's menus to make the top admin bar / left sidebar within the Dashboard cleaner (if the plugin is not used much)
|
33 |
'hide_from_admin_bar',
|
34 |
+
'hide_from_side_bar', // Since v1.1.7.1 (Pro)
|
35 |
|
36 |
// The way the CSS/JS list is showing (various ways depending on the preference)
|
37 |
'assets_list_layout',
|
229 |
// [/wpacu_pro]
|
230 |
|
231 |
'combine_loaded_css_exceptions' => '/plugins/wd-instagram-feed/(.*?).css',
|
232 |
+
'combine_loaded_js_exceptions' => '/plugins/wd-instagram-feed/(.*?).js',
|
233 |
|
234 |
// [wpacu_pro]
|
235 |
'defer_css_loaded_body' => 'moved',
|
classes/Update.php
CHANGED
@@ -151,6 +151,9 @@ HTML;
|
|
151 |
return;
|
152 |
}
|
153 |
|
|
|
|
|
|
|
154 |
// Any preloads
|
155 |
Preloads::updatePreloads();
|
156 |
|
@@ -303,6 +306,9 @@ HTML;
|
|
303 |
$this->saveToBulkUnloads();
|
304 |
$this->removeBulkUnloads($post->post_type);
|
305 |
|
|
|
|
|
|
|
306 |
// Any preloads
|
307 |
Preloads::updatePreloads();
|
308 |
|
@@ -367,6 +373,9 @@ HTML;
|
|
367 |
|
368 |
add_action('wpacu_admin_notices', array($this, 'homePageUpdated'));
|
369 |
|
|
|
|
|
|
|
370 |
$this->frontEndUpdateFor['homepage'] = true;
|
371 |
|
372 |
self::clearTransients();
|
@@ -959,6 +968,55 @@ HTML;
|
|
959 |
Misc::addUpdateOption($optionToUpdate, json_encode(Misc::filterList($existingList)));
|
960 |
}
|
961 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
962 |
/**
|
963 |
* This is triggered automatically and sets a transient with the handles info
|
964 |
* It doesn't require any manual action from the user
|
@@ -1049,6 +1107,7 @@ HTML;
|
|
1049 |
}
|
1050 |
|
1051 |
OptimizeCommon::clearCache();
|
|
|
1052 |
exit();
|
1053 |
}
|
1054 |
|
@@ -1075,8 +1134,15 @@ HTML;
|
|
1075 |
|
1076 |
$response = wp_remote_get($pageUrlPreload);
|
1077 |
|
1078 |
-
|
1079 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1080 |
exit();
|
1081 |
}
|
1082 |
}
|
151 |
return;
|
152 |
}
|
153 |
|
154 |
+
// "Contracted" or "Expanded" when managing the assets (for admin use only)
|
155 |
+
self::updateHandleRowStatus();
|
156 |
+
|
157 |
// Any preloads
|
158 |
Preloads::updatePreloads();
|
159 |
|
306 |
$this->saveToBulkUnloads();
|
307 |
$this->removeBulkUnloads($post->post_type);
|
308 |
|
309 |
+
// "Contracted" or "Expanded" when managing the assets (for admin use only)
|
310 |
+
self::updateHandleRowStatus();
|
311 |
+
|
312 |
// Any preloads
|
313 |
Preloads::updatePreloads();
|
314 |
|
373 |
|
374 |
add_action('wpacu_admin_notices', array($this, 'homePageUpdated'));
|
375 |
|
376 |
+
// "Contracted" or "Expanded" when managing the assets (for admin use only)
|
377 |
+
self::updateHandleRowStatus();
|
378 |
+
|
379 |
$this->frontEndUpdateFor['homepage'] = true;
|
380 |
|
381 |
self::clearTransients();
|
968 |
Misc::addUpdateOption($optionToUpdate, json_encode(Misc::filterList($existingList)));
|
969 |
}
|
970 |
|
971 |
+
/**
|
972 |
+
*
|
973 |
+
*/
|
974 |
+
public static function updateHandleRowStatus()
|
975 |
+
{
|
976 |
+
$formKey = 'wpacu_handle_row_contracted_area';
|
977 |
+
|
978 |
+
if (! Misc::isValidRequest('post', $formKey)) {
|
979 |
+
return;
|
980 |
+
}
|
981 |
+
|
982 |
+
if (! isset($_POST[$formKey]['styles']) && ! isset($_POST[$formKey]['scripts'])) {
|
983 |
+
return;
|
984 |
+
}
|
985 |
+
|
986 |
+
$optionToUpdate = WPACU_PLUGIN_ID . '_global_data';
|
987 |
+
$globalKey = 'handle_row_contracted'; // Contracted or Expanded (default)
|
988 |
+
|
989 |
+
$existingListEmpty = array('styles' => array($globalKey => array()), 'scripts' => array($globalKey => array()));
|
990 |
+
$existingListJson = get_option($optionToUpdate);
|
991 |
+
|
992 |
+
$existingListData = Main::instance()->existingList($existingListJson, $existingListEmpty);
|
993 |
+
$existingList = $existingListData['list'];
|
994 |
+
|
995 |
+
if (isset($_POST[$formKey]['styles']) && ! empty($_POST[$formKey]['styles'])) {
|
996 |
+
foreach ($_POST[$formKey]['styles'] as $styleHandle => $styleContractedValue) {
|
997 |
+
// $styleContractedValue should be equal with '1' suggesting it's ON (no value means it's expanded by default)
|
998 |
+
if ($styleContractedValue === '' && isset($existingList['styles'][$globalKey][$styleHandle])) {
|
999 |
+
unset($existingList['styles'][$globalKey][$styleHandle]);
|
1000 |
+
} elseif ($styleContractedValue !== '') {
|
1001 |
+
$existingList['styles'][$globalKey][$styleHandle] = $styleContractedValue;
|
1002 |
+
}
|
1003 |
+
}
|
1004 |
+
}
|
1005 |
+
|
1006 |
+
if (isset($_POST[$formKey]['scripts']) && ! empty($_POST[$formKey]['scripts'])) {
|
1007 |
+
foreach ($_POST[$formKey]['scripts'] as $scriptHandle => $scriptContractedValue) {
|
1008 |
+
// $scriptContractedValue should be equal with '1' suggesting it's ON (no value means it's expanded by default)
|
1009 |
+
if ($scriptContractedValue === '' && isset($existingList['scripts'][$globalKey][$scriptHandle])) {
|
1010 |
+
unset($existingList['scripts'][$globalKey][$scriptHandle]);
|
1011 |
+
} elseif ($scriptContractedValue !== '') {
|
1012 |
+
$existingList['scripts'][$globalKey][$scriptHandle] = $scriptContractedValue;
|
1013 |
+
}
|
1014 |
+
}
|
1015 |
+
}
|
1016 |
+
|
1017 |
+
Misc::addUpdateOption($optionToUpdate, json_encode(Misc::filterList($existingList)));
|
1018 |
+
}
|
1019 |
+
|
1020 |
/**
|
1021 |
* This is triggered automatically and sets a transient with the handles info
|
1022 |
* It doesn't require any manual action from the user
|
1107 |
}
|
1108 |
|
1109 |
OptimizeCommon::clearCache();
|
1110 |
+
|
1111 |
exit();
|
1112 |
}
|
1113 |
|
1134 |
|
1135 |
$response = wp_remote_get($pageUrlPreload);
|
1136 |
|
1137 |
+
if (is_wp_error($response)) {
|
1138 |
+
// Any error generated during the fetch? Print it
|
1139 |
+
echo 'Error: '.$response->get_error_code();
|
1140 |
+
} else {
|
1141 |
+
// No errors
|
1142 |
+
echo 'Status Code: '.wp_remote_retrieve_response_code($response).' / Page URL (preload): ' . $pageUrlPreload . "\n\n";
|
1143 |
+
echo (isset($response['body']) ? $response['body'] : 'No "body" key found from wp_remote_get(), the preload might not have triggered');
|
1144 |
+
}
|
1145 |
+
|
1146 |
exit();
|
1147 |
}
|
1148 |
}
|
readme.txt
CHANGED
@@ -4,7 +4,7 @@ Tags: minify css, minify javascript, defer css javascript, page speed, dequeue,
|
|
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.4.1
|
7 |
-
Stable tag: 1.3.6.
|
8 |
License: GPLv3
|
9 |
License URI: http://www.gnu.org/licenses/gpl.html
|
10 |
|
@@ -179,6 +179,15 @@ With the recently released "Test Mode" feature, you can safely unload assets on
|
|
179 |
4. Homepage CSS & JS Management (List sorted by location)
|
180 |
|
181 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
182 |
= 1.3.6.2 =
|
183 |
* Once a page is updated, the plugin preloads that page for both the admin and the guest visitor, making sure any new changes would take effect, saving the admin's time and making sure any first visitor coming to that page will access it faster (not having to wait for the caching to re-built)
|
184 |
* If the attribute "data-wpacu-skip" is applied to any CSS/JS, then no alteration (e.g. no minify and no addition to any combine list) will be applied to that file (apart from the actual unload or attributes such as async/defer)
|
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.4.1
|
7 |
+
Stable tag: 1.3.6.3
|
8 |
License: GPLv3
|
9 |
License URI: http://www.gnu.org/licenses/gpl.html
|
10 |
|
179 |
4. Homepage CSS & JS Management (List sorted by location)
|
180 |
|
181 |
== Changelog ==
|
182 |
+
= 1.3.6.3 =
|
183 |
+
* New Feature in the CSS/JS Manager: The handle rows can be contracted/expanded (their status is saved when the form is submitted); This is useful to make the whole area smaller (less scrolling) as there will likely be CSS/JS files that you know you will never edit for a long time (if ever) and it's better to have them contracted
|
184 |
+
* New Option in "Settings" - "Plugin Usage Preferences": Hide Dashboard's "Asset CleanUp Pro" menu from the left sidebar in case you don't use the plugin too often or wish to have a cleaner sidebar (read more: https://assetcleanup.com/docs/?p=584)
|
185 |
+
* Compatibility with Ronneby Theme: Alter the style/script tag later (e.g. by appending plugin markers) after plugins such as "Ronneby Core" alter it (in this case it prevents the URLs from the LINK tags to be stripped)
|
186 |
+
* When listing dependencies in the CSS JS managing list (e.g. the "children" of a "parent"), show the unloaded ones in the red font; Dependency handles are linked as anchors for easier navigation between them
|
187 |
+
* WP Rocket compatibility: Make sure HTML changes made by Asset CleanUp Pro are always applied (via "rocket_buffer" filter hook) before WP Rocket saves the HTML content to the cached file
|
188 |
+
* Fix: After updating the the CSS/JS manager on any page, the page preloads for the guest visitors; Make sure the response from wp_remote_get() is always checked to avoid PHP errors logged to error_log (even though the errors are harmless for the front-end view, the error log files can get too big)
|
189 |
+
* Fix (unstyled CSS/JS management area in front-end view): Make sure the plugin's own style is properly loaded asynchronously in Firefox in any situation
|
190 |
+
|
191 |
= 1.3.6.2 =
|
192 |
* Once a page is updated, the plugin preloads that page for both the admin and the guest visitor, making sure any new changes would take effect, saving the admin's time and making sure any first visitor coming to that page will access it faster (not having to wait for the caching to re-built)
|
193 |
* If the attribute "data-wpacu-skip" is applied to any CSS/JS, then no alteration (e.g. no minify and no addition to any combine list) will be applied to that file (apart from the actual unload or attributes such as async/defer)
|
templates/_admin-page-settings-plugin-areas/_plugin-usage-settings.php
CHANGED
@@ -212,24 +212,37 @@ foreach (\WpAssetCleanUp\MetaBoxes::$noMetaBoxesForPostTypes as $noMetaBoxesForP
|
|
212 |
</tr>
|
213 |
|
214 |
<tr valign="top">
|
215 |
-
<th scope="row">
|
216 |
-
<label
|
|
|
217 |
</th>
|
218 |
<td>
|
219 |
-
<
|
220 |
-
<
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
227 |
</td>
|
228 |
</tr>
|
229 |
|
230 |
<tr valign="top">
|
231 |
<th scope="row">
|
232 |
-
<label><?php _e('On Assets List Layout Load, keep the
|
233 |
</th>
|
234 |
<td>
|
235 |
<ul class="assets_list_layout_areas_status_choices">
|
212 |
</tr>
|
213 |
|
214 |
<tr valign="top">
|
215 |
+
<th scope="row" class="setting_title">
|
216 |
+
<label><?php echo sprintf(__('Hide %s menus', 'wp-asset-clean-up'), '"'.WPACU_PLUGIN_TITLE.'"'); ?></label>
|
217 |
+
<p class="wpacu_subtitle"><small><em><?php _e('Are you rarely using the plugin and want to make some space in the admin menus?', 'wp-asset-clean-up'); ?></em></small></p>
|
218 |
</th>
|
219 |
<td>
|
220 |
+
<ul style="padding: 0;">
|
221 |
+
<li style="margin-bottom: 14px;">
|
222 |
+
<label for="wpacu_hide_from_admin_bar">
|
223 |
+
<input id="wpacu_hide_from_admin_bar"
|
224 |
+
type="checkbox"
|
225 |
+
<?php echo (($data['hide_from_admin_bar'] == 1) ? 'checked="checked"' : ''); ?>
|
226 |
+
name="<?php echo WPACU_PLUGIN_ID . '_settings'; ?>[hide_from_admin_bar]"
|
227 |
+
value="1" /> <span class="wpacu_slider wpacu_round"></span>
|
228 |
+
<span>Hide it from the top admin bar</span> / This could be useful if your top admin bar is filled with too many items and you rarely use the plugin.</label> <span style="color: #004567;" class="dashicons dashicons-info"></span> <a href="https://assetcleanup.com/docs/?p=187" target="_blank">Read more</a>
|
229 |
+
</li>
|
230 |
+
<li>
|
231 |
+
<label for="wpacu_hide_from_side_bar">
|
232 |
+
<input id="wpacu_hide_from_side_bar"
|
233 |
+
type="checkbox"
|
234 |
+
<?php echo (($data['hide_from_side_bar'] == 1) ? 'checked="checked"' : ''); ?>
|
235 |
+
name="<?php echo WPACU_PLUGIN_ID . '_settings'; ?>[hide_from_side_bar]"
|
236 |
+
value="1" /> <span class="wpacu_slider wpacu_round"></span>
|
237 |
+
<span>Hide it from the left sidebar within the Dashboard</span> / The only access will be from <em>"Settings" -> "<?php echo WPACU_PLUGIN_TITLE; ?>"</em>.</label> <span style="color: #004567;" class="dashicons dashicons-info"></span> <a href="https://assetcleanup.com/docs/?p=584" target="_blank">Read more</a>
|
238 |
+
</li>
|
239 |
+
</ul>
|
240 |
</td>
|
241 |
</tr>
|
242 |
|
243 |
<tr valign="top">
|
244 |
<th scope="row">
|
245 |
+
<label><?php _e('On Assets List Layout Load, keep the groups:', 'wp-asset-clean-up'); ?></label>
|
246 |
</th>
|
247 |
<td>
|
248 |
<ul class="assets_list_layout_areas_status_choices">
|
templates/meta-box-loaded-assets/_asset-script-rows.php
CHANGED
@@ -3,56 +3,70 @@ if (! isset($data)) {
|
|
3 |
exit; // no direct access
|
4 |
}
|
5 |
|
6 |
-
|
7 |
-
|
8 |
-
$data['row']['obj'] = $obj;
|
9 |
|
10 |
-
|
|
|
|
|
11 |
|
12 |
-
|
13 |
-
|
|
|
|
|
14 |
|
15 |
/*
|
16 |
-
* $
|
17 |
*/
|
18 |
-
$
|
19 |
|
20 |
// Mark it as unloaded - Everywhere
|
21 |
-
if (in_array($
|
22 |
-
$
|
23 |
}
|
24 |
|
25 |
// Mark it as unloaded - for the Current Post Type
|
26 |
-
if ($data['bulk_unloaded_type'] && in_array($
|
27 |
-
$
|
28 |
|
29 |
-
if ($data['bulk_unloaded_type'] === 'post_type') {
|
30 |
-
$
|
31 |
}
|
32 |
}
|
33 |
|
34 |
-
$isLoadExceptionPerPage = isset($data['load_exceptions']['scripts']) && in_array($
|
35 |
|
36 |
-
$
|
37 |
|
38 |
$isLoadException = $isLoadExceptionPerPage;
|
39 |
|
40 |
// No load exception of any kind and a bulk unload rule is applied? Append the CSS class for unloading
|
41 |
-
if (! $isLoadException && $
|
42 |
-
$
|
43 |
}
|
44 |
|
45 |
-
|
|
|
|
|
|
|
|
|
|
|
46 |
// "data": CDATA added via wp_localize_script()
|
47 |
// "before" / "after" the tag inline content added via wp_add_inline_script()
|
48 |
-
$
|
49 |
|
50 |
-
if ( ! $
|
51 |
-
$
|
52 |
}
|
53 |
}
|
54 |
|
55 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
56 |
|
57 |
// Load Template
|
58 |
$templateRowOutput = \WpAssetCleanUp\Main::instance()->parseTemplate(
|
@@ -61,7 +75,7 @@ foreach ($data['all']['scripts'] as $obj) {
|
|
61 |
);
|
62 |
|
63 |
if (isset($data['rows_build_array']) && $data['rows_build_array']) {
|
64 |
-
$uniqueHandle = $
|
65 |
|
66 |
if (array_key_exists($uniqueHandle, $data['rows_assets'])) {
|
67 |
$uniqueHandle .= 1; // make sure each key is unique
|
@@ -69,30 +83,30 @@ foreach ($data['all']['scripts'] as $obj) {
|
|
69 |
|
70 |
if (isset($data['rows_by_location']) && $data['rows_by_location']) {
|
71 |
$data['rows_assets']
|
72 |
-
[$
|
73 |
-
[$
|
74 |
[$uniqueHandle]
|
75 |
['script'] = $templateRowOutput;
|
76 |
} elseif (isset($data['rows_by_position']) && $data['rows_by_position']) {
|
77 |
-
$handlePosition = $
|
78 |
|
79 |
$data['rows_assets']
|
80 |
[$handlePosition] // 'head', 'body'
|
81 |
[$uniqueHandle]
|
82 |
['script'] = $templateRowOutput;
|
83 |
} elseif (isset($data['rows_by_preload']) && $data['rows_by_preload']) {
|
84 |
-
$preloadStatus = $
|
85 |
|
86 |
$data['rows_assets']
|
87 |
[$preloadStatus] // 'preloaded', 'not_preloaded'
|
88 |
[$uniqueHandle]
|
89 |
['script'] = $templateRowOutput;
|
90 |
} elseif (isset($data['rows_by_parents']) && $data['rows_by_parents']) {
|
91 |
-
$childHandles = isset($data['all_deps']['
|
92 |
|
93 |
if (! empty($childHandles)) {
|
94 |
$handleStatus = 'parent';
|
95 |
-
} elseif (isset($
|
96 |
$handleStatus = 'child';
|
97 |
} else {
|
98 |
$handleStatus = 'independent';
|
@@ -103,7 +117,7 @@ foreach ($data['all']['scripts'] as $obj) {
|
|
103 |
[$uniqueHandle]
|
104 |
['scripts'] = $templateRowOutput;
|
105 |
} elseif (isset($data['rows_by_loaded_unloaded']) && $data['rows_by_loaded_unloaded']) {
|
106 |
-
$handleStatus = (strpos($
|
107 |
|
108 |
$data['rows_assets']
|
109 |
[$handleStatus] // 'loaded', 'unloaded'
|
3 |
exit; // no direct access
|
4 |
}
|
5 |
|
6 |
+
$allAssets = $data['all']['scripts'];
|
7 |
+
$allAssetsFinal = $data['unloaded_js_handles'] = array();
|
|
|
8 |
|
9 |
+
foreach ($allAssets as $obj) {
|
10 |
+
$row = array();
|
11 |
+
$row['obj'] = $obj;
|
12 |
|
13 |
+
$active = ( isset( $data['current']['scripts'] ) && in_array( $row['obj']->handle, $data['current']['scripts'] ) );
|
14 |
+
|
15 |
+
$row['class'] = $active ? 'wpacu_not_load' : '';
|
16 |
+
$row['checked'] = $active ? 'checked="checked"' : '';
|
17 |
|
18 |
/*
|
19 |
+
* $row['is_group_unloaded'] is only used to apply a red background in the script's area to point out that the script is unloaded
|
20 |
*/
|
21 |
+
$row['global_unloaded'] = $row['is_post_type_unloaded'] = $row['is_load_exception_per_page'] = $row['is_group_unloaded'] = false;
|
22 |
|
23 |
// Mark it as unloaded - Everywhere
|
24 |
+
if ( in_array( $row['obj']->handle, $data['global_unload']['scripts'] ) && ! $row['class'] ) {
|
25 |
+
$row['global_unloaded'] = $row['is_group_unloaded'] = true;
|
26 |
}
|
27 |
|
28 |
// Mark it as unloaded - for the Current Post Type
|
29 |
+
if ( $data['bulk_unloaded_type'] && in_array( $row['obj']->handle, $data['bulk_unloaded'][ $data['bulk_unloaded_type'] ]['scripts'] ) ) {
|
30 |
+
$row['is_group_unloaded'] = true;
|
31 |
|
32 |
+
if ( $data['bulk_unloaded_type'] === 'post_type' ) {
|
33 |
+
$row['is_post_type_unloaded'] = true;
|
34 |
}
|
35 |
}
|
36 |
|
37 |
+
$isLoadExceptionPerPage = isset( $data['load_exceptions']['scripts'] ) && in_array( $row['obj']->handle, $data['load_exceptions']['scripts'] );
|
38 |
|
39 |
+
$row['is_load_exception_per_page'] = $isLoadExceptionPerPage;
|
40 |
|
41 |
$isLoadException = $isLoadExceptionPerPage;
|
42 |
|
43 |
// No load exception of any kind and a bulk unload rule is applied? Append the CSS class for unloading
|
44 |
+
if ( ! $isLoadException && $row['is_group_unloaded']) {
|
45 |
+
$row['class'] .= ' wpacu_not_load';
|
46 |
}
|
47 |
|
48 |
+
if (strpos($row['class'], 'wpacu_not_load') !== false) {
|
49 |
+
// Actually unloaded JS, not just marked for unload
|
50 |
+
$data['unloaded_js_handles'][] = $row['obj']->handle;
|
51 |
+
}
|
52 |
+
|
53 |
+
foreach ( array( 'data', 'before', 'after' ) as $extraKey ) {
|
54 |
// "data": CDATA added via wp_localize_script()
|
55 |
// "before" / "after" the tag inline content added via wp_add_inline_script()
|
56 |
+
$row[ 'extra_' . $extraKey . '_js' ] = ( is_object( $row['obj']->extra ) && isset( $row['obj']->extra->{$extraKey} ) ) ? $row['obj']->extra->{$extraKey} : false;
|
57 |
|
58 |
+
if ( ! $row[ 'extra_' . $extraKey . '_js' ] ) {
|
59 |
+
$row[ 'extra_' . $extraKey . '_js' ] = ( is_array( $row['obj']->extra ) && isset( $row['obj']->extra[ $extraKey ] ) ) ? $row['obj']->extra[ $extraKey ] : false;
|
60 |
}
|
61 |
}
|
62 |
|
63 |
+
$row['class'] .= ' script_' . $row['obj']->handle;
|
64 |
+
|
65 |
+
$allAssetsFinal[$obj->handle] = $row;
|
66 |
+
}
|
67 |
+
|
68 |
+
foreach ($allAssetsFinal as $assetHandle => $row) {
|
69 |
+
$data['row'] = $row;
|
70 |
|
71 |
// Load Template
|
72 |
$templateRowOutput = \WpAssetCleanUp\Main::instance()->parseTemplate(
|
75 |
);
|
76 |
|
77 |
if (isset($data['rows_build_array']) && $data['rows_build_array']) {
|
78 |
+
$uniqueHandle = $row['obj']->handle;
|
79 |
|
80 |
if (array_key_exists($uniqueHandle, $data['rows_assets'])) {
|
81 |
$uniqueHandle .= 1; // make sure each key is unique
|
83 |
|
84 |
if (isset($data['rows_by_location']) && $data['rows_by_location']) {
|
85 |
$data['rows_assets']
|
86 |
+
[$row['obj']->locationMain]
|
87 |
+
[$row['obj']->locationChild]
|
88 |
[$uniqueHandle]
|
89 |
['script'] = $templateRowOutput;
|
90 |
} elseif (isset($data['rows_by_position']) && $data['rows_by_position']) {
|
91 |
+
$handlePosition = $row['obj']->position;
|
92 |
|
93 |
$data['rows_assets']
|
94 |
[$handlePosition] // 'head', 'body'
|
95 |
[$uniqueHandle]
|
96 |
['script'] = $templateRowOutput;
|
97 |
} elseif (isset($data['rows_by_preload']) && $data['rows_by_preload']) {
|
98 |
+
$preloadStatus = $row['obj']->preload_status;
|
99 |
|
100 |
$data['rows_assets']
|
101 |
[$preloadStatus] // 'preloaded', 'not_preloaded'
|
102 |
[$uniqueHandle]
|
103 |
['script'] = $templateRowOutput;
|
104 |
} elseif (isset($data['rows_by_parents']) && $data['rows_by_parents']) {
|
105 |
+
$childHandles = isset($data['all_deps']['parent_to_child']['scripts'][$row['obj']->handle]) ? $data['all_deps']['parent_to_child']['scripts'][$row['obj']->handle] : array();
|
106 |
|
107 |
if (! empty($childHandles)) {
|
108 |
$handleStatus = 'parent';
|
109 |
+
} elseif (isset($row['obj']->deps) && ! empty($row['obj']->deps)) {
|
110 |
$handleStatus = 'child';
|
111 |
} else {
|
112 |
$handleStatus = 'independent';
|
117 |
[$uniqueHandle]
|
118 |
['scripts'] = $templateRowOutput;
|
119 |
} elseif (isset($data['rows_by_loaded_unloaded']) && $data['rows_by_loaded_unloaded']) {
|
120 |
+
$handleStatus = (strpos($row['class'], 'wpacu_not_load') !== false) ? 'unloaded' : 'loaded';
|
121 |
|
122 |
$data['rows_assets']
|
123 |
[$handleStatus] // 'loaded', 'unloaded'
|
templates/meta-box-loaded-assets/_asset-script-single-row.php
CHANGED
@@ -12,7 +12,7 @@ $hideCoreFiles = $data['plugin_settings']['hide_core_files'];
|
|
12 |
$isGroupUnloaded = $data['row']['is_group_unloaded'] || $data['row']['is_post_type_unloaded'];
|
13 |
|
14 |
// Does it have "children"? - other JS file(s) depending on it
|
15 |
-
$childHandles = isset($data['all_deps']['scripts'][$data['row']['obj']->handle]) ? $data['all_deps']['scripts'][$data['row']['obj']->handle] : array();
|
16 |
sort($childHandles);
|
17 |
|
18 |
$jqueryIconHtmlHandle = '<img src="'.WPACU_PLUGIN_URL.'/assets/icons/handles/icon-jquery.png" style="max-width: 22px; max-height: 22px; margin-bottom: 0;" width="18" height="18" title="" alt="" />';
|
@@ -27,11 +27,32 @@ if ($data['row']['global_unloaded']) {
|
|
27 |
if ($isGroupUnloaded) {
|
28 |
$data['row']['class'] .= ' wpacu_is_bulk_unloaded';
|
29 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
?>
|
31 |
<tr data-script-handle-row="<?php echo $data['row']['obj']->handle; ?>"
|
|
|
32 |
class="wpacu_asset_row <?php echo $data['row']['class']; ?>"
|
33 |
style="<?php if ($isCoreFile && $hideCoreFiles) { echo 'display: none;'; } ?>">
|
34 |
-
<td valign="top">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
35 |
<?php
|
36 |
include '_asset-script-single-row/_handle.php';
|
37 |
|
@@ -51,62 +72,65 @@ if ($isGroupUnloaded) {
|
|
51 |
<div class="tip"><strong>Tip:</strong> <?php echo $assetTip; ?></div>
|
52 |
<?php
|
53 |
}
|
|
|
|
|
|
|
|
|
54 |
|
55 |
-
|
56 |
-
|
57 |
-
include '_asset-script-single-row/_handle_deps.php';
|
58 |
|
59 |
-
|
60 |
|
61 |
-
|
62 |
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
|
69 |
-
|
70 |
-
|
71 |
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
|
85 |
-
|
86 |
-
|
87 |
|
88 |
-
|
89 |
-
|
90 |
|
91 |
-
|
92 |
-
|
93 |
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
|
104 |
-
|
105 |
-
|
106 |
|
107 |
-
|
108 |
-
|
109 |
-
|
|
|
110 |
<img style="display: none;" class="wpacu-ajax-loader" src="<?php echo WPACU_PLUGIN_URL; ?>/assets/icons/icon-ajax-loading-spinner.svg" alt="" />
|
111 |
</td>
|
112 |
</tr>
|
12 |
$isGroupUnloaded = $data['row']['is_group_unloaded'] || $data['row']['is_post_type_unloaded'];
|
13 |
|
14 |
// Does it have "children"? - other JS file(s) depending on it
|
15 |
+
$childHandles = isset($data['all_deps']['parent_to_child']['scripts'][$data['row']['obj']->handle]) ? $data['all_deps']['parent_to_child']['scripts'][$data['row']['obj']->handle] : array();
|
16 |
sort($childHandles);
|
17 |
|
18 |
$jqueryIconHtmlHandle = '<img src="'.WPACU_PLUGIN_URL.'/assets/icons/handles/icon-jquery.png" style="max-width: 22px; max-height: 22px; margin-bottom: 0;" width="18" height="18" title="" alt="" />';
|
27 |
if ($isGroupUnloaded) {
|
28 |
$data['row']['class'] .= ' wpacu_is_bulk_unloaded';
|
29 |
}
|
30 |
+
|
31 |
+
$rowIsContracted = '';
|
32 |
+
$dashSign = 'minus';
|
33 |
+
$dataRowStatusAttr = 'expanded';
|
34 |
+
|
35 |
+
if (isset($data['handle_rows_contracted']['scripts'][$data['row']['obj']->handle]) && $data['handle_rows_contracted']['scripts'][$data['row']['obj']->handle]) {
|
36 |
+
$rowIsContracted = 1;
|
37 |
+
$dashSign = 'plus';
|
38 |
+
$dataRowStatusAttr = 'contracted';
|
39 |
+
}
|
40 |
?>
|
41 |
<tr data-script-handle-row="<?php echo $data['row']['obj']->handle; ?>"
|
42 |
+
id="wpacu_script_row_<?php echo $data['row']['obj']->handle; ?>"
|
43 |
class="wpacu_asset_row <?php echo $data['row']['class']; ?>"
|
44 |
style="<?php if ($isCoreFile && $hideCoreFiles) { echo 'display: none;'; } ?>">
|
45 |
+
<td valign="top" style="position: relative;" data-wpacu-row-status="<?php echo $dataRowStatusAttr; ?>">
|
46 |
+
<div class="wpacu_handle_row_expand_contract_area">
|
47 |
+
<a data-wpacu-handle="<?php echo $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 |
+
<input type="hidden"
|
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';
|
58 |
|
72 |
<div class="tip"><strong>Tip:</strong> <?php echo $assetTip; ?></div>
|
73 |
<?php
|
74 |
}
|
75 |
+
?>
|
76 |
+
<div class="wpacu_handle_row_expanded_area <?php if ($rowIsContracted) { echo 'wpacu_hide'; } ?>">
|
77 |
+
<?php
|
78 |
+
$extraInfo = array();
|
79 |
|
80 |
+
include '_asset-script-single-row/_handle_deps.php';
|
|
|
|
|
81 |
|
82 |
+
$extraInfo[] = __('Version:', 'wp-asset-clean-up').' '.$ver;
|
83 |
|
84 |
+
include '_asset-script-single-row/_position.php';
|
85 |
|
86 |
+
// [wpacu_lite]
|
87 |
+
if (isset($data['row']['obj']->src) && $data['row']['obj']->src) {
|
88 |
+
$extraInfo[] = __('File Size:', 'wp-asset-clean-up') . ' <a class="go-pro-link-no-style" href="' . WPACU_PLUGIN_GO_PRO_URL . '?utm_source=manage_asset&utm_medium=file_size"><span class="wpacu-tooltip">Upgrade to Pro and unlock all features</span><img width="20" height="20" src="' . WPACU_PLUGIN_URL . '/assets/icons/icon-lock.svg" valign="top" alt="" /> Pro Version</a>';
|
89 |
+
}
|
90 |
+
// [/wpacu_lite]
|
91 |
|
92 |
+
if (! empty($extraInfo)) {
|
93 |
+
$stylingDiv = 'margin: 10px 0';
|
94 |
|
95 |
+
if (isset($hasNoSrc) && $hasNoSrc) {
|
96 |
+
$stylingDiv = 'margin: 15px 0 10px;';
|
97 |
+
}
|
98 |
|
99 |
+
echo '<div style="'.$stylingDiv.'">'.implode(' / ', $extraInfo).'</div>';
|
100 |
+
}
|
101 |
+
?>
|
102 |
|
103 |
+
<div class="wrap_bulk_unload_options">
|
104 |
+
<?php
|
105 |
+
// Unload on this page
|
106 |
+
include '_asset-script-single-row/_unload-per-page.php';
|
107 |
|
108 |
+
// Unload site-wide (everywhere)
|
109 |
+
include '_asset-script-single-row/_unload-site-wide.php';
|
110 |
|
111 |
+
// Unload on all pages of [post] post type (if applicable)
|
112 |
+
include '_asset-script-single-row/_unload-post-type.php';
|
113 |
|
114 |
+
// Unload via RegEx (if site-wide is not already chosen)
|
115 |
+
include '_asset-script-single-row/_unload-via-regex.php';
|
116 |
|
117 |
+
// If any bulk unload rule is set, show the load exceptions
|
118 |
+
include '_asset-script-single-row/_load-exceptions.php';
|
119 |
+
?>
|
120 |
+
<div class="wpacu-clearfix"></div>
|
121 |
+
</div>
|
122 |
|
123 |
+
<?php
|
124 |
+
// Extra inline associated with the SCRIPT tag
|
125 |
+
include '_asset-script-single-row/_extra_inline.php';
|
126 |
|
127 |
+
// Async, Defer (only in Pro)
|
128 |
+
include '_asset-script-single-row/_attrs.php';
|
129 |
|
130 |
+
// Handle Note
|
131 |
+
include '_asset-script-single-row/_notes.php';
|
132 |
+
?>
|
133 |
+
</div>
|
134 |
<img style="display: none;" class="wpacu-ajax-loader" src="<?php echo WPACU_PLUGIN_URL; ?>/assets/icons/icon-ajax-loading-spinner.svg" alt="" />
|
135 |
</td>
|
136 |
</tr>
|
templates/meta-box-loaded-assets/_asset-script-single-row/_handle.php
CHANGED
@@ -7,7 +7,7 @@ if ( ! isset($data, $isCoreFile, $hideCoreFiles, $jqueryIconHtmlHandle, $childHa
|
|
7 |
exit; // no direct access
|
8 |
}
|
9 |
?>
|
10 |
-
<div class="wpacu_handle"
|
11 |
<label for="script_<?php echo $data['row']['obj']->handle; ?>"> <?php _e('Handle:', 'wp-asset-clean-up'); ?> <strong><span style="color: green;"><?php echo $data['row']['obj']->handle; ?></span></strong> <?php if (in_array($data['row']['obj']->handle, array('jquery', 'jquery-core', 'jquery-migrate'))) { echo ' '.$jqueryIconHtmlHandle; } ?></label>
|
12 |
<em>* JavaScript (.js)</em>
|
13 |
<?php if ($isCoreFile && ! $hideCoreFiles) { ?>
|
@@ -15,6 +15,14 @@ if ( ! isset($data, $isCoreFile, $hideCoreFiles, $jqueryIconHtmlHandle, $childHa
|
|
15 |
<?php
|
16 |
}
|
17 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
18 |
// Any conditions set such as "IE" or "lt IE 8"?
|
19 |
$dataRowExtra = (array)$data['row']['obj']->extra;
|
20 |
if (isset($dataRowExtra['conditional']) && $dataRowExtra['conditional']) {
|
@@ -48,9 +56,22 @@ if (! empty($childHandles)) {
|
|
48 |
<em style="font-size: 85%;">
|
49 |
<span style="color: #0073aa; width: 19px; height: 19px; vertical-align: middle;" class="dashicons dashicons-info"></span>
|
50 |
There are JS "children" files depending on this file. By unloading it, the following will also be unloaded:
|
51 |
-
<span style="color: green; font-weight:
|
52 |
-
|
53 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
54 |
</em>
|
55 |
<div class="wpacu_hide_if_handle_row_contracted">
|
56 |
<label for="script_<?php echo $data['row']['obj']->handle; ?>_ignore_children">
|
7 |
exit; // no direct access
|
8 |
}
|
9 |
?>
|
10 |
+
<div class="wpacu_handle">
|
11 |
<label for="script_<?php echo $data['row']['obj']->handle; ?>"> <?php _e('Handle:', 'wp-asset-clean-up'); ?> <strong><span style="color: green;"><?php echo $data['row']['obj']->handle; ?></span></strong> <?php if (in_array($data['row']['obj']->handle, array('jquery', 'jquery-core', 'jquery-migrate'))) { echo ' '.$jqueryIconHtmlHandle; } ?></label>
|
12 |
<em>* JavaScript (.js)</em>
|
13 |
<?php if ($isCoreFile && ! $hideCoreFiles) { ?>
|
15 |
<?php
|
16 |
}
|
17 |
|
18 |
+
if (isset($data['load_exceptions_debug']['scripts']) && in_array($data['row']['obj']->handle, $data['load_exceptions_debug']['scripts'])) {
|
19 |
+
// '/?wpacu_load_js=' was used and has the handle within its value
|
20 |
+
echo ' <span style="color: green; font-style: italic;"><strong>Load Exception:</strong> This handle is loading for you on this page as requested via the "wpacu_load_js" value from the current page URL (for debugging purposes).</span>';
|
21 |
+
} elseif (isset($data['current_debug']['scripts']) && in_array($data['row']['obj']->handle, $data['current_debug']['scripts'])) {
|
22 |
+
// '/?wpacu_unload_js=' was used and has the handle within its value
|
23 |
+
echo ' <span style="color: #cc0000; font-style: italic;"><strong>Unload Exception:</strong> This handle is unloaded for you on this page as requested via the "wpacu_unload_js" value from the current page URL (for debugging purposes).</span>';
|
24 |
+
}
|
25 |
+
|
26 |
// Any conditions set such as "IE" or "lt IE 8"?
|
27 |
$dataRowExtra = (array)$data['row']['obj']->extra;
|
28 |
if (isset($dataRowExtra['conditional']) && $dataRowExtra['conditional']) {
|
56 |
<em style="font-size: 85%;">
|
57 |
<span style="color: #0073aa; width: 19px; height: 19px; vertical-align: middle;" class="dashicons dashicons-info"></span>
|
58 |
There are JS "children" files depending on this file. By unloading it, the following will also be unloaded:
|
59 |
+
<span style="color: green; font-weight: 400;">
|
60 |
+
<?php
|
61 |
+
$childHandlesOutput = '';
|
62 |
+
foreach ($childHandles as $childHandle) {
|
63 |
+
$childHandleText = $childHandle;
|
64 |
+
$title = '';
|
65 |
+
$color = 'green';
|
66 |
+
if (in_array($childHandle, $data['unloaded_js_handles'])) {
|
67 |
+
$color = '#cc0000';
|
68 |
+
$title = __('This JS handle is already unloaded.', 'wp-asset-clean-up');
|
69 |
+
}
|
70 |
+
$childHandlesOutput .= '<a title="'.$title.'" style="color:'.$color.';font-weight:300;" href="#wpacu_script_row_'.$childHandle.'">'.$childHandle.'</a>, ';
|
71 |
+
}
|
72 |
+
echo trim($childHandlesOutput, ', ');
|
73 |
+
?>
|
74 |
+
</span>
|
75 |
</em>
|
76 |
<div class="wpacu_hide_if_handle_row_contracted">
|
77 |
<label for="script_<?php echo $data['row']['obj']->handle; ?>_ignore_children">
|
templates/meta-box-loaded-assets/_asset-script-single-row/_handle_deps.php
CHANGED
@@ -22,11 +22,14 @@ if (isset($data['row']['obj']->deps) && ! empty($data['row']['obj']->deps)) {
|
|
22 |
$depsOutput .= $dependsOnText.' ';
|
23 |
|
24 |
foreach ($data['row']['obj']->deps as $depHandle) {
|
|
|
|
|
|
|
25 |
if ($depHandle === 'jquery' || strpos($depHandle, 'jquery-ui-') === 0) {
|
26 |
-
$
|
27 |
}
|
28 |
|
29 |
-
$depsOutput .= '<
|
30 |
}
|
31 |
|
32 |
$depsOutput = rtrim($depsOutput, ', ');
|
22 |
$depsOutput .= $dependsOnText.' ';
|
23 |
|
24 |
foreach ($data['row']['obj']->deps as $depHandle) {
|
25 |
+
$depHandleText = $depHandle;
|
26 |
+
$color = in_array($depHandle, $data['unloaded_js_handles']) ? '#cc0000' : 'green';
|
27 |
+
|
28 |
if ($depHandle === 'jquery' || strpos($depHandle, 'jquery-ui-') === 0) {
|
29 |
+
$depHandleText .= ' '.$jqueryIconHtmlDepends;
|
30 |
}
|
31 |
|
32 |
+
$depsOutput .= '<a style="color:'.$color.';font-weight:300;" href="#wpacu_script_row_'.$depHandle.'"><span>'.$depHandleText.'</span></a>, ';
|
33 |
}
|
34 |
|
35 |
$depsOutput = rtrim($depsOutput, ', ');
|
templates/meta-box-loaded-assets/_asset-script-single-row/_source.php
CHANGED
@@ -17,6 +17,15 @@ if (isset($data['row']['obj']->src, $data['row']['obj']->srcHref) && $data['row'
|
|
17 |
$isExternalSrc = false;
|
18 |
}
|
19 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20 |
$relSrc = str_replace(site_url(), '', $data['row']['obj']->src);
|
21 |
|
22 |
if (isset($data['row']['obj']->baseUrl)) {
|
@@ -26,7 +35,7 @@ if (isset($data['row']['obj']->src, $data['row']['obj']->srcHref) && $data['row'
|
|
26 |
if ($isExternalSrc) {
|
27 |
$verToAppend = ''; // no need for any "ver"
|
28 |
} else {
|
29 |
-
$appendAfterSrcHref = ( strpos( $
|
30 |
|
31 |
if ( isset( $data['row']['obj']->ver ) && $data['row']['obj']->ver ) {
|
32 |
$verToAppend = $appendAfterSrcHref .
|
@@ -47,19 +56,41 @@ if (isset($data['row']['obj']->src, $data['row']['obj']->srcHref) && $data['row'
|
|
47 |
$data['row']['obj']->preload_status = 'preloaded';
|
48 |
}
|
49 |
?>
|
50 |
-
<div class="wpacu-source-row"
|
51 |
-
<?php
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
60 |
</div>
|
61 |
<?php
|
62 |
} else {
|
|
|
63 |
?>
|
64 |
<input type="hidden" name="wpacu_preloads[scripts][<?php echo $data['row']['obj']->handle; ?>]" value="" />
|
65 |
<?php
|
17 |
$isExternalSrc = false;
|
18 |
}
|
19 |
|
20 |
+
$srcHref = $data['row']['obj']->srcHref;
|
21 |
+
|
22 |
+
// If the source starts with ../ mark it as external to be checked via the AJAX call (special case)
|
23 |
+
if (strpos($srcHref, '../') === 0) {
|
24 |
+
$currentPageUrl = \WpAssetCleanUp\Misc::getCurrentPageUrl();
|
25 |
+
$srcHref = trim($currentPageUrl, '/') . '/'. $data['row']['obj']->srcHref;
|
26 |
+
$isExternalSrc = true; // simulation
|
27 |
+
}
|
28 |
+
|
29 |
$relSrc = str_replace(site_url(), '', $data['row']['obj']->src);
|
30 |
|
31 |
if (isset($data['row']['obj']->baseUrl)) {
|
35 |
if ($isExternalSrc) {
|
36 |
$verToAppend = ''; // no need for any "ver"
|
37 |
} else {
|
38 |
+
$appendAfterSrcHref = ( strpos( $srcHref, '?' ) === false ) ? '?' : '&';
|
39 |
|
40 |
if ( isset( $data['row']['obj']->ver ) && $data['row']['obj']->ver ) {
|
41 |
$verToAppend = $appendAfterSrcHref .
|
56 |
$data['row']['obj']->preload_status = 'preloaded';
|
57 |
}
|
58 |
?>
|
59 |
+
<div class="wpacu-source-row">
|
60 |
+
<?php
|
61 |
+
if (isset($data['row']['obj']->src_origin, $data['row']['obj']->ver_origin)
|
62 |
+
&& $data['row']['obj']->src_origin
|
63 |
+
&& $data['row']['obj']->ver_origin) {
|
64 |
+
$sourceText = __('Source (updated):', 'wp-asset-clean-up');
|
65 |
+
?>
|
66 |
+
<a style="text-decoration: none;" href="#" id="wpacu-filter-handle-js-<?php echo $data['row']['obj']->handle; ?>"><span class="dashicons dashicons-filter"></span></a>
|
67 |
+
<script type="text/javascript" data-wpacu-own-inline-script="true">
|
68 |
+
document.getElementById("wpacu-filter-handle-js-<?php echo $data['row']['obj']->handle; ?>").addEventListener("click", function (event) {
|
69 |
+
var handleFilteredMsg = 'On this page, the `<?php echo $data['row']['obj']->handle; ?>` handle had its source updated via `wpacu_<?php echo $data['row']['obj']->handle; ?>_js_handle_data` filter tag.'+"\n\n"+
|
70 |
+
'Original Source: <?php echo $data['row']['obj']->src_origin; ?> (v<?php echo $data['row']['obj']->ver_origin; ?>)';
|
71 |
+
alert(handleFilteredMsg);
|
72 |
+
event.preventDefault();
|
73 |
+
}, false);
|
74 |
+
</script>
|
75 |
+
<?php } else {
|
76 |
+
$sourceText = __('Source:', 'wp-asset-clean-up'); // as it is, no replacement
|
77 |
+
}
|
78 |
+
echo $sourceText; ?>
|
79 |
+
<a target="_blank" style="color: green;" <?php if ($isExternalSrc) { ?> data-wpacu-external-source="<?php echo $srcHref . $verToAppend; ?>" <?php } ?> href="<?php echo $srcHref . $verToAppend; ?>"><?php echo $relSrc; ?></a> <?php if ($isExternalSrc) { ?><span data-wpacu-external-source-status></span><?php } ?>
|
80 |
+
<div class="wpacu_hide_if_handle_row_contracted">
|
81 |
+
⟶
|
82 |
+
Preload (if kept loaded)?
|
83 |
+
<select style="display: inline-block; width: auto; <?php if ($isJsPreload) { echo 'background: #f2faf2; padding: 5px; color: black;'; } ?>"
|
84 |
+
name="wpacu_preloads[scripts][<?php echo $data['row']['obj']->handle; ?>]">
|
85 |
+
<option value="">No (default)</option>
|
86 |
+
<option <?php if ($isJsPreload) { ?>selected="selected"<?php } ?> value="basic">Yes, basic</option>
|
87 |
+
</select>
|
88 |
+
<small>* applies site-wide</small> <small><a style="text-decoration: none; color: inherit;" target="_blank" href="https://assetcleanup.com/docs/?p=202"><span class="dashicons dashicons-editor-help"></span></a></small>
|
89 |
+
</div>
|
90 |
</div>
|
91 |
<?php
|
92 |
} else {
|
93 |
+
$hasNoSrc = true;
|
94 |
?>
|
95 |
<input type="hidden" name="wpacu_preloads[scripts][<?php echo $data['row']['obj']->handle; ?>]" value="" />
|
96 |
<?php
|
templates/meta-box-loaded-assets/_asset-style-rows.php
CHANGED
@@ -3,50 +3,68 @@ if (! isset($data)) {
|
|
3 |
exit; // no direct access
|
4 |
}
|
5 |
|
6 |
-
|
7 |
-
|
8 |
-
$data['row']['obj'] = $obj;
|
9 |
|
10 |
-
|
|
|
|
|
11 |
|
12 |
-
$data['
|
13 |
-
|
|
|
|
|
14 |
|
15 |
/*
|
16 |
-
* $
|
17 |
* is set to `true` if either the asset is unloaded everywhere or it's unloaded on a group of pages (such as all pages belonging to 'page' post type)
|
18 |
*/
|
19 |
-
$
|
20 |
|
21 |
// Mark it as unloaded - Everywhere
|
22 |
-
if (in_array($
|
23 |
-
$
|
24 |
}
|
25 |
|
26 |
// Mark it as unloaded - for the Current Post Type
|
27 |
-
if ($data['bulk_unloaded_type'] && in_array($
|
28 |
-
$
|
29 |
|
30 |
-
if ($data['bulk_unloaded_type'] === 'post_type') {
|
31 |
-
$
|
32 |
}
|
33 |
}
|
34 |
|
35 |
-
$isLoadExceptionPerPage = isset($data['load_exceptions']['styles']) && in_array($
|
|
|
|
|
36 |
|
37 |
-
$
|
38 |
|
39 |
-
if ($
|
40 |
-
$
|
41 |
}
|
42 |
|
43 |
-
|
|
|
|
|
|
|
|
|
|
|
44 |
|
45 |
-
if (! $
|
46 |
-
$
|
47 |
}
|
48 |
|
49 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
50 |
|
51 |
// Load Template
|
52 |
$templateRowOutput = \WpAssetCleanUp\Main::instance()->parseTemplate(
|
@@ -55,7 +73,7 @@ foreach ($data['all']['styles'] as $obj) {
|
|
55 |
);
|
56 |
|
57 |
if (isset($data['rows_build_array']) && $data['rows_build_array']) {
|
58 |
-
$uniqueHandle = $uniqueHandleOriginal = $
|
59 |
|
60 |
if (array_key_exists($uniqueHandle, $data['rows_assets'])) {
|
61 |
$uniqueHandle .= 1; // make sure each key is unique
|
@@ -63,8 +81,8 @@ foreach ($data['all']['styles'] as $obj) {
|
|
63 |
|
64 |
if (isset($data['rows_by_location']) && $data['rows_by_location']) {
|
65 |
$data['rows_assets']
|
66 |
-
[$
|
67 |
-
[$
|
68 |
[$uniqueHandle]
|
69 |
['style'] = $templateRowOutput;
|
70 |
} elseif (isset($data['rows_by_position']) && $data['rows_by_position']) {
|
@@ -75,18 +93,18 @@ foreach ($data['all']['styles'] as $obj) {
|
|
75 |
[$uniqueHandle]
|
76 |
['style'] = $templateRowOutput;
|
77 |
} elseif (isset($data['rows_by_preload']) && $data['rows_by_preload']) {
|
78 |
-
$preloadStatus = $
|
79 |
|
80 |
$data['rows_assets']
|
81 |
[$preloadStatus] // 'preloaded', 'not_preloaded'
|
82 |
[$uniqueHandle]
|
83 |
['style'] = $templateRowOutput;
|
84 |
} elseif (isset($data['rows_by_parents']) && $data['rows_by_parents']) {
|
85 |
-
$childHandles = isset($data['all_deps']['
|
86 |
|
87 |
if (! empty($childHandles)) {
|
88 |
$handleStatus = 'parent';
|
89 |
-
} elseif (isset($
|
90 |
$handleStatus = 'child';
|
91 |
} else {
|
92 |
$handleStatus = 'independent';
|
@@ -97,7 +115,7 @@ foreach ($data['all']['styles'] as $obj) {
|
|
97 |
[$uniqueHandle]
|
98 |
['style'] = $templateRowOutput;
|
99 |
} elseif (isset($data['rows_by_loaded_unloaded']) && $data['rows_by_loaded_unloaded']) {
|
100 |
-
$handleStatus = (strpos($
|
101 |
|
102 |
$data['rows_assets']
|
103 |
[$handleStatus] // 'loaded', 'unloaded'
|
3 |
exit; // no direct access
|
4 |
}
|
5 |
|
6 |
+
$allAssets = $data['all']['styles'];
|
7 |
+
$allAssetsFinal = $data['unloaded_css_handles'] = array();
|
|
|
8 |
|
9 |
+
foreach ($allAssets as $obj) {
|
10 |
+
$row = array();
|
11 |
+
$row['obj'] = $obj;
|
12 |
|
13 |
+
$active = ( isset( $data['current']['styles'] ) && in_array( $row['obj']->handle, $data['current']['styles'] ) );
|
14 |
+
|
15 |
+
$row['class'] = $active ? 'wpacu_not_load' : '';
|
16 |
+
$row['checked'] = $active ? 'checked="checked"' : '';
|
17 |
|
18 |
/*
|
19 |
+
* $row['is_group_unloaded'] is only used to apply a red background in the style's area to point out that the style is unloaded
|
20 |
* is set to `true` if either the asset is unloaded everywhere or it's unloaded on a group of pages (such as all pages belonging to 'page' post type)
|
21 |
*/
|
22 |
+
$row['global_unloaded'] = $row['is_post_type_unloaded'] = $row['is_load_exception_per_page'] = $row['is_group_unloaded'] = $row['is_regex_unload_match'] = false;
|
23 |
|
24 |
// Mark it as unloaded - Everywhere
|
25 |
+
if ( in_array( $row['obj']->handle, $data['global_unload']['styles'] ) ) {
|
26 |
+
$row['global_unloaded'] = $row['is_group_unloaded'] = true;
|
27 |
}
|
28 |
|
29 |
// Mark it as unloaded - for the Current Post Type
|
30 |
+
if ( $data['bulk_unloaded_type'] && in_array( $row['obj']->handle, $data['bulk_unloaded'][ $data['bulk_unloaded_type'] ]['styles'] ) ) {
|
31 |
+
$row['is_group_unloaded'] = true;
|
32 |
|
33 |
+
if ( $data['bulk_unloaded_type'] === 'post_type' ) {
|
34 |
+
$row['is_post_type_unloaded'] = true;
|
35 |
}
|
36 |
}
|
37 |
|
38 |
+
$isLoadExceptionPerPage = isset( $data['load_exceptions']['styles'] ) && in_array( $row['obj']->handle, $data['load_exceptions']['styles'] );
|
39 |
+
|
40 |
+
$row['is_load_exception_per_page'] = $isLoadExceptionPerPage;
|
41 |
|
42 |
+
$isLoadException = $isLoadExceptionPerPage;
|
43 |
|
44 |
+
if ( ! $isLoadException && $row['is_group_unloaded'] ) {
|
45 |
+
$row['class'] .= ' wpacu_not_load';
|
46 |
}
|
47 |
|
48 |
+
if (strpos($row['class'], 'wpacu_not_load') !== false) {
|
49 |
+
// Actually unloaded CSS, not just marked for unload
|
50 |
+
$data['unloaded_css_handles'][] = $row['obj']->handle;
|
51 |
+
}
|
52 |
+
|
53 |
+
$row['extra_data_css_list'] = ( is_object( $row['obj']->extra ) && isset( $row['obj']->extra->after ) ) ? $row['obj']->extra->after : array();
|
54 |
|
55 |
+
if ( ! $row['extra_data_css_list'] ) {
|
56 |
+
$row['extra_data_css_list'] = ( is_array( $row['obj']->extra ) && isset( $row['obj']->extra['after'] ) ) ? $row['obj']->extra['after'] : array();
|
57 |
}
|
58 |
|
59 |
+
$row['class'] .= ' style_' . $row['obj']->handle;
|
60 |
+
|
61 |
+
$allAssetsFinal[$obj->handle] = $row;
|
62 |
+
}
|
63 |
+
|
64 |
+
//echo '<pre>'; print_r($data['unloaded_css_handles']); exit;
|
65 |
+
|
66 |
+
foreach ($allAssetsFinal as $assetHandle => $row) {
|
67 |
+
$data['row'] = $row;
|
68 |
|
69 |
// Load Template
|
70 |
$templateRowOutput = \WpAssetCleanUp\Main::instance()->parseTemplate(
|
73 |
);
|
74 |
|
75 |
if (isset($data['rows_build_array']) && $data['rows_build_array']) {
|
76 |
+
$uniqueHandle = $uniqueHandleOriginal = $row['obj']->handle;
|
77 |
|
78 |
if (array_key_exists($uniqueHandle, $data['rows_assets'])) {
|
79 |
$uniqueHandle .= 1; // make sure each key is unique
|
81 |
|
82 |
if (isset($data['rows_by_location']) && $data['rows_by_location']) {
|
83 |
$data['rows_assets']
|
84 |
+
[$row['obj']->locationMain] // 'plugins', 'themes' etc.
|
85 |
+
[$row['obj']->locationChild] // Theme/Plugin Title
|
86 |
[$uniqueHandle]
|
87 |
['style'] = $templateRowOutput;
|
88 |
} elseif (isset($data['rows_by_position']) && $data['rows_by_position']) {
|
93 |
[$uniqueHandle]
|
94 |
['style'] = $templateRowOutput;
|
95 |
} elseif (isset($data['rows_by_preload']) && $data['rows_by_preload']) {
|
96 |
+
$preloadStatus = $row['obj']->preload_status;
|
97 |
|
98 |
$data['rows_assets']
|
99 |
[$preloadStatus] // 'preloaded', 'not_preloaded'
|
100 |
[$uniqueHandle]
|
101 |
['style'] = $templateRowOutput;
|
102 |
} elseif (isset($data['rows_by_parents']) && $data['rows_by_parents']) {
|
103 |
+
$childHandles = isset($data['all_deps']['parent_to_child']['styles'][$row['obj']->handle]) ? $data['all_deps']['parent_to_child']['styles'][$row['obj']->handle] : array();
|
104 |
|
105 |
if (! empty($childHandles)) {
|
106 |
$handleStatus = 'parent';
|
107 |
+
} elseif (isset($row['obj']->deps) && ! empty($row['obj']->deps)) {
|
108 |
$handleStatus = 'child';
|
109 |
} else {
|
110 |
$handleStatus = 'independent';
|
115 |
[$uniqueHandle]
|
116 |
['style'] = $templateRowOutput;
|
117 |
} elseif (isset($data['rows_by_loaded_unloaded']) && $data['rows_by_loaded_unloaded']) {
|
118 |
+
$handleStatus = (strpos($row['class'], 'wpacu_not_load') !== false) ? 'unloaded' : 'loaded';
|
119 |
|
120 |
$data['rows_assets']
|
121 |
[$handleStatus] // 'loaded', 'unloaded'
|
templates/meta-box-loaded-assets/_asset-style-single-row.php
CHANGED
@@ -12,7 +12,7 @@ $hideCoreFiles = $data['plugin_settings']['hide_core_files'];
|
|
12 |
$isGroupUnloaded = $data['row']['is_group_unloaded'] || $data['row']['is_post_type_unloaded'];
|
13 |
|
14 |
// Does it have "children"? - other CSS file(s) depending on it
|
15 |
-
$childHandles = isset($data['all_deps']['styles'][$data['row']['obj']->handle]) ? $data['all_deps']['styles'][$data['row']['obj']->handle] : array();
|
16 |
sort($childHandles);
|
17 |
|
18 |
// Unloaded site-wide
|
@@ -24,11 +24,32 @@ if ($data['row']['global_unloaded']) {
|
|
24 |
if ($isGroupUnloaded) {
|
25 |
$data['row']['class'] .= ' wpacu_is_bulk_unloaded';
|
26 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
27 |
?>
|
28 |
<tr data-style-handle-row="<?php echo $data['row']['obj']->handle; ?>"
|
|
|
29 |
class="wpacu_asset_row <?php echo $data['row']['class']; ?>"
|
30 |
style="<?php if ($isCoreFile && $hideCoreFiles) { echo 'display: none;'; } ?>">
|
31 |
-
<td valign="top">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32 |
<?php
|
33 |
include '_asset-style-single-row/_handle.php';
|
34 |
|
@@ -49,54 +70,57 @@ if ($isGroupUnloaded) {
|
|
49 |
<div class="tip"><strong>Tip:</strong> <?php echo $assetTip; ?></div>
|
50 |
<?php
|
51 |
}
|
|
|
|
|
|
|
|
|
52 |
|
53 |
-
|
54 |
|
55 |
-
|
56 |
|
57 |
-
|
58 |
|
59 |
-
|
|
|
|
|
|
|
|
|
60 |
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
|
|
|
|
72 |
|
73 |
-
|
74 |
-
|
75 |
-
// Unload on this page
|
76 |
-
include '_asset-style-single-row/_unload-per-page.php';
|
77 |
|
78 |
-
|
79 |
-
|
80 |
|
81 |
-
|
82 |
-
|
|
|
|
|
|
|
83 |
|
84 |
-
|
85 |
-
|
|
|
86 |
|
87 |
-
|
88 |
-
|
89 |
?>
|
90 |
-
<div class="wpacu-clearfix"></div>
|
91 |
</div>
|
92 |
-
|
93 |
-
<?php
|
94 |
-
// Extra inline associated with the LINK tag
|
95 |
-
include '_asset-style-single-row/_extra_inline.php';
|
96 |
-
|
97 |
-
// Handle Note
|
98 |
-
include '_asset-style-single-row/_notes.php';
|
99 |
-
?>
|
100 |
<img style="display: none;" class="wpacu-ajax-loader" src="<?php echo WPACU_PLUGIN_URL; ?>/assets/icons/icon-ajax-loading-spinner.svg" alt="" />
|
101 |
</td>
|
102 |
</tr>
|
12 |
$isGroupUnloaded = $data['row']['is_group_unloaded'] || $data['row']['is_post_type_unloaded'];
|
13 |
|
14 |
// Does it have "children"? - other CSS file(s) depending on it
|
15 |
+
$childHandles = isset($data['all_deps']['parent_to_child']['styles'][$data['row']['obj']->handle]) ? $data['all_deps']['parent_to_child']['styles'][$data['row']['obj']->handle] : array();
|
16 |
sort($childHandles);
|
17 |
|
18 |
// Unloaded site-wide
|
24 |
if ($isGroupUnloaded) {
|
25 |
$data['row']['class'] .= ' wpacu_is_bulk_unloaded';
|
26 |
}
|
27 |
+
|
28 |
+
$rowIsContracted = '';
|
29 |
+
$dashSign = 'minus';
|
30 |
+
$dataRowStatusAttr = 'expanded';
|
31 |
+
|
32 |
+
if (isset($data['handle_rows_contracted']['styles'][$data['row']['obj']->handle]) && $data['handle_rows_contracted']['styles'][$data['row']['obj']->handle]) {
|
33 |
+
$rowIsContracted = 1;
|
34 |
+
$dashSign = 'plus';
|
35 |
+
$dataRowStatusAttr = 'contracted';
|
36 |
+
}
|
37 |
?>
|
38 |
<tr data-style-handle-row="<?php echo $data['row']['obj']->handle; ?>"
|
39 |
+
id="wpacu_style_row_<?php echo $data['row']['obj']->handle; ?>"
|
40 |
class="wpacu_asset_row <?php echo $data['row']['class']; ?>"
|
41 |
style="<?php if ($isCoreFile && $hideCoreFiles) { echo 'display: none;'; } ?>">
|
42 |
+
<td valign="top" style="position: relative;" data-wpacu-row-status="<?php echo $dataRowStatusAttr; ?>">
|
43 |
+
<div class="wpacu_handle_row_expand_contract_area">
|
44 |
+
<a data-wpacu-handle="<?php echo $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 |
+
<input type="hidden"
|
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';
|
55 |
|
70 |
<div class="tip"><strong>Tip:</strong> <?php echo $assetTip; ?></div>
|
71 |
<?php
|
72 |
}
|
73 |
+
?>
|
74 |
+
<div class="wpacu_handle_row_expanded_area <?php if ($rowIsContracted) { echo 'wpacu_hide'; } ?>">
|
75 |
+
<?php
|
76 |
+
$extraInfo = array();
|
77 |
|
78 |
+
include '_asset-style-single-row/_handle_deps.php';
|
79 |
|
80 |
+
$extraInfo[] = __('Version:', 'wp-asset-clean-up').' '.$ver;
|
81 |
|
82 |
+
include '_asset-style-single-row/_position.php';
|
83 |
|
84 |
+
// [wpacu_lite]
|
85 |
+
if (isset($data['row']['obj']->src) && $data['row']['obj']->src) {
|
86 |
+
$extraInfo[] = __('File Size:', 'wp-asset-clean-up') . ' <a href="' . WPACU_PLUGIN_GO_PRO_URL . '?utm_source=manage_asset&utm_medium=file_size" class="go-pro-link-no-style"><span class="wpacu-tooltip">Upgrade to Pro and unlock all features</span><img width="20" height="20" src="' . WPACU_PLUGIN_URL . '/assets/icons/icon-lock.svg" valign="top" alt="" /> Pro Version</a>';
|
87 |
+
}
|
88 |
+
// [/wpacu_lite]
|
89 |
|
90 |
+
if (! empty($extraInfo)) {
|
91 |
+
$spacingAdj = (isset($noSrcLoadedIn) && $noSrcLoadedIn) ? '18px 0 10px' : '2px 0 10px';
|
92 |
+
echo '<div style="margin: '.$spacingAdj.';">'.implode(' / ', $extraInfo).'</div>';
|
93 |
+
}
|
94 |
+
?>
|
95 |
|
96 |
+
<div class="wrap_bulk_unload_options">
|
97 |
+
<?php
|
98 |
+
// Unload on this page
|
99 |
+
include '_asset-style-single-row/_unload-per-page.php';
|
100 |
+
|
101 |
+
// Unload site-wide (everywhere)
|
102 |
+
include '_asset-style-single-row/_unload-site-wide.php';
|
103 |
|
104 |
+
// Unload on all pages of [post] post type (if applicable)
|
105 |
+
include '_asset-style-single-row/_unload-post-type.php';
|
|
|
|
|
106 |
|
107 |
+
// Unload via RegEx (if site-wide is not already chosen)
|
108 |
+
include '_asset-style-single-row/_unload-via-regex.php';
|
109 |
|
110 |
+
// If any bulk unload rule is set, show the load exceptions
|
111 |
+
include '_asset-style-single-row/_load-exceptions.php';
|
112 |
+
?>
|
113 |
+
<div class="wpacu-clearfix"></div>
|
114 |
+
</div>
|
115 |
|
116 |
+
<?php
|
117 |
+
// Extra inline associated with the LINK tag
|
118 |
+
include '_asset-style-single-row/_extra_inline.php';
|
119 |
|
120 |
+
// Handle Note
|
121 |
+
include '_asset-style-single-row/_notes.php';
|
122 |
?>
|
|
|
123 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
124 |
<img style="display: none;" class="wpacu-ajax-loader" src="<?php echo WPACU_PLUGIN_URL; ?>/assets/icons/icon-ajax-loading-spinner.svg" alt="" />
|
125 |
</td>
|
126 |
</tr>
|
templates/meta-box-loaded-assets/_asset-style-single-row/_handle.php
CHANGED
@@ -15,6 +15,14 @@ if ( ! isset($data, $isCoreFile, $hideCoreFiles, $childHandles) ) {
|
|
15 |
<?php
|
16 |
}
|
17 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
18 |
// Any conditions set such as "IE" or "lt IE 8"?
|
19 |
$dataRowExtra = (array)$data['row']['obj']->extra;
|
20 |
if (isset($dataRowExtra['conditional']) && $dataRowExtra['conditional']) {
|
@@ -31,13 +39,24 @@ if ( ! isset($data, $isCoreFile, $hideCoreFiles, $childHandles) ) {
|
|
31 |
if (! empty($childHandles)) {
|
32 |
$ignoreChild = (isset($data['ignore_child']['styles'][$data['row']['obj']->handle]) && $data['ignore_child']['styles'][$data['row']['obj']->handle]);
|
33 |
?>
|
34 |
-
|
35 |
<em style="font-size: 85%;">
|
36 |
<span style="color: #0073aa; width: 19px; height: 19px; vertical-align: middle;" class="dashicons dashicons-info"></span>
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
41 |
</em>
|
42 |
<label for="style_<?php echo $data['row']['obj']->handle; ?>_ignore_children">
|
43 |
⟶ <input id="style_<?php echo $data['row']['obj']->handle; ?>_ignore_children"
|
@@ -46,6 +65,6 @@ if (! empty($childHandles)) {
|
|
46 |
name="wpacu_ignore_child[styles][<?php echo $data['row']['obj']->handle; ?>]"
|
47 |
value="1" /> <small><?php _e('Ignore dependency rule and keep the "children" loaded', 'wp-asset-clean-up'); ?></small>
|
48 |
</label>
|
49 |
-
</
|
50 |
<?php
|
51 |
}
|
15 |
<?php
|
16 |
}
|
17 |
|
18 |
+
if (isset($data['load_exceptions_debug']['styles']) && in_array($data['row']['obj']->handle, $data['load_exceptions_debug']['styles'])) {
|
19 |
+
// '/?wpacu_load_css=' was used and has the handle within its value
|
20 |
+
echo ' <span style="color: green; font-style: italic;"><strong>Load Exception:</strong> This handle is loading for you on this page as requested via the "wpacu_load_css" value from the current page URL (for debugging purposes).</span>';
|
21 |
+
} elseif (isset($data['current_debug']['styles']) && in_array($data['row']['obj']->handle, $data['current_debug']['styles'])) {
|
22 |
+
// '/?wpacu_unload_css=' was used and has the handle within its value
|
23 |
+
echo ' <span style="color: #cc0000; font-style: italic;"><strong>Unload Exception:</strong> This handle is unloaded for you on this page as requested via the "wpacu_unload_css" value from the current page URL (for debugging purposes).</span>';
|
24 |
+
}
|
25 |
+
|
26 |
// Any conditions set such as "IE" or "lt IE 8"?
|
27 |
$dataRowExtra = (array)$data['row']['obj']->extra;
|
28 |
if (isset($dataRowExtra['conditional']) && $dataRowExtra['conditional']) {
|
39 |
if (! empty($childHandles)) {
|
40 |
$ignoreChild = (isset($data['ignore_child']['styles'][$data['row']['obj']->handle]) && $data['ignore_child']['styles'][$data['row']['obj']->handle]);
|
41 |
?>
|
42 |
+
<div class="wpacu_dependency_notice_area">
|
43 |
<em style="font-size: 85%;">
|
44 |
<span style="color: #0073aa; width: 19px; height: 19px; vertical-align: middle;" class="dashicons dashicons-info"></span>
|
45 |
+
There are CSS "children" files depending on this file. By unloading it, the following will also be unloaded:
|
46 |
+
<?php
|
47 |
+
$childHandlesOutput = '';
|
48 |
+
foreach ($childHandles as $childHandle) {
|
49 |
+
$childHandleText = $childHandle;
|
50 |
+
$title = '';
|
51 |
+
$color = 'green';
|
52 |
+
if (in_array($childHandle, $data['unloaded_css_handles'])) {
|
53 |
+
$color = '#cc0000';
|
54 |
+
$title = __('This CSS handle is already unloaded.', 'wp-asset-clean-up');
|
55 |
+
}
|
56 |
+
$childHandlesOutput .= '<a title="'.$title.'" style="color:'.$color.';font-weight:300;" href="#wpacu_style_row_'.$childHandle.'"><span>'.$childHandleText.'</span></a>, ';
|
57 |
+
}
|
58 |
+
echo trim($childHandlesOutput, ', ');
|
59 |
+
?>
|
60 |
</em>
|
61 |
<label for="style_<?php echo $data['row']['obj']->handle; ?>_ignore_children">
|
62 |
⟶ <input id="style_<?php echo $data['row']['obj']->handle; ?>_ignore_children"
|
65 |
name="wpacu_ignore_child[styles][<?php echo $data['row']['obj']->handle; ?>]"
|
66 |
value="1" /> <small><?php _e('Ignore dependency rule and keep the "children" loaded', 'wp-asset-clean-up'); ?></small>
|
67 |
</label>
|
68 |
+
</div>
|
69 |
<?php
|
70 |
}
|
templates/meta-box-loaded-assets/_asset-style-single-row/_handle_deps.php
CHANGED
@@ -6,6 +6,7 @@ if (! isset($data)) {
|
|
6 |
exit; // no direct access
|
7 |
}
|
8 |
|
|
|
9 |
if (isset($data['row']['obj']->deps) && ! empty($data['row']['obj']->deps)) {
|
10 |
$depsOutput = '';
|
11 |
|
@@ -21,10 +22,13 @@ if (isset($data['row']['obj']->deps) && ! empty($data['row']['obj']->deps)) {
|
|
21 |
$depsOutput .= $dependsOnText.' ';
|
22 |
|
23 |
foreach ($data['row']['obj']->deps as $depHandle) {
|
24 |
-
$
|
|
|
|
|
25 |
}
|
26 |
|
27 |
$depsOutput = rtrim($depsOutput, ', ');
|
28 |
|
29 |
$extraInfo[] = $depsOutput;
|
30 |
}
|
|
6 |
exit; // no direct access
|
7 |
}
|
8 |
|
9 |
+
// [Start] Any dependencies
|
10 |
if (isset($data['row']['obj']->deps) && ! empty($data['row']['obj']->deps)) {
|
11 |
$depsOutput = '';
|
12 |
|
22 |
$depsOutput .= $dependsOnText.' ';
|
23 |
|
24 |
foreach ($data['row']['obj']->deps as $depHandle) {
|
25 |
+
$depHandleText = $depHandle;
|
26 |
+
$color = in_array($depHandle, $data['unloaded_css_handles']) ? '#cc0000' : 'green';
|
27 |
+
$depsOutput .= '<a style="color:'.$color.';font-weight:300;" href="#wpacu_style_row_'.$depHandle.'"><span>'.$depHandleText.'</span></a>, ';
|
28 |
}
|
29 |
|
30 |
$depsOutput = rtrim($depsOutput, ', ');
|
31 |
|
32 |
$extraInfo[] = $depsOutput;
|
33 |
}
|
34 |
+
// [End] Any dependencies
|
templates/meta-box-loaded-assets/_asset-style-single-row/_source.php
CHANGED
@@ -29,6 +29,15 @@ if (isset($data['row']['obj']->src, $data['row']['obj']->srcHref) && $data['row'
|
|
29 |
$data['row']['obj']->src = str_replace(' ', '+', $data['row']['obj']->src);
|
30 |
$data['row']['obj']->srcHref = str_replace(' ', '+', $data['row']['obj']->srcHref);
|
31 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32 |
$relSrc = str_replace(site_url(), '', $data['row']['obj']->src);
|
33 |
|
34 |
if (isset($data['row']['obj']->baseUrl)) {
|
@@ -42,7 +51,7 @@ if (isset($data['row']['obj']->src, $data['row']['obj']->srcHref) && $data['row'
|
|
42 |
if ($isExternalSrc) {
|
43 |
$verToAppend = ''; // no need for any "ver"
|
44 |
} else {
|
45 |
-
$appendAfterSrcHref = ( strpos( $
|
46 |
|
47 |
if ( isset( $data['row']['obj']->ver ) && $data['row']['obj']->ver ) {
|
48 |
$verToAppend = $appendAfterSrcHref .
|
@@ -68,20 +77,43 @@ if (isset($data['row']['obj']->src, $data['row']['obj']->srcHref) && $data['row'
|
|
68 |
}
|
69 |
|
70 |
if ($showGoogleFontRemoveNotice) {
|
71 |
-
echo
|
72 |
}
|
73 |
?>
|
74 |
-
<div class="wpacu-source-row"
|
75 |
-
<?php
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
85 |
</div>
|
86 |
<?php
|
87 |
} else {
|
29 |
$data['row']['obj']->src = str_replace(' ', '+', $data['row']['obj']->src);
|
30 |
$data['row']['obj']->srcHref = str_replace(' ', '+', $data['row']['obj']->srcHref);
|
31 |
|
32 |
+
$srcHref = $data['row']['obj']->srcHref;
|
33 |
+
|
34 |
+
// If the source starts with ../ mark it as external to be checked via the AJAX call (special case)
|
35 |
+
if (strpos($srcHref, '../') === 0) {
|
36 |
+
$currentPageUrl = \WpAssetCleanUp\Misc::getCurrentPageUrl();
|
37 |
+
$srcHref = trim($currentPageUrl, '/') . '/'. $data['row']['obj']->srcHref;
|
38 |
+
$isExternalSrc = true; // simulation
|
39 |
+
}
|
40 |
+
|
41 |
$relSrc = str_replace(site_url(), '', $data['row']['obj']->src);
|
42 |
|
43 |
if (isset($data['row']['obj']->baseUrl)) {
|
51 |
if ($isExternalSrc) {
|
52 |
$verToAppend = ''; // no need for any "ver"
|
53 |
} else {
|
54 |
+
$appendAfterSrcHref = ( strpos( $srcHref, '?' ) === false ) ? '?' : '&';
|
55 |
|
56 |
if ( isset( $data['row']['obj']->ver ) && $data['row']['obj']->ver ) {
|
57 |
$verToAppend = $appendAfterSrcHref .
|
77 |
}
|
78 |
|
79 |
if ($showGoogleFontRemoveNotice) {
|
80 |
+
echo '<p>'.$showGoogleFontRemoveNotice.'</p>';
|
81 |
}
|
82 |
?>
|
83 |
+
<div class="wpacu-source-row">
|
84 |
+
<?php
|
85 |
+
if (isset($data['row']['obj']->src_origin, $data['row']['obj']->ver_origin)
|
86 |
+
&& $data['row']['obj']->src_origin
|
87 |
+
&& $data['row']['obj']->ver_origin) {
|
88 |
+
$sourceText = __('Source (updated):', 'wp-asset-clean-up');
|
89 |
+
?>
|
90 |
+
<a style="text-decoration: none;" href="#" id="wpacu-filter-handle-css-<?php echo $data['row']['obj']->handle; ?>"><span class="dashicons dashicons-filter"></span></a>
|
91 |
+
<script type="text/javascript" data-wpacu-own-inline-script="true">
|
92 |
+
document.getElementById("wpacu-filter-handle-css-<?php echo $data['row']['obj']->handle; ?>").addEventListener("click", function (event) {
|
93 |
+
var handleFilteredMsg = 'On this page, the `<?php echo $data['row']['obj']->handle; ?>` handle had its source updated via `wpacu_<?php echo $data['row']['obj']->handle; ?>_css_handle_data` filter tag.'+"\n\n"+
|
94 |
+
'Original Source: <?php echo $data['row']['obj']->src_origin; ?> (v<?php echo $data['row']['obj']->ver_origin; ?>)';
|
95 |
+
alert(handleFilteredMsg);
|
96 |
+
event.preventDefault();
|
97 |
+
}, false);
|
98 |
+
</script>
|
99 |
+
<?php
|
100 |
+
} else {
|
101 |
+
$sourceText = __('Source:', 'wp-asset-clean-up'); // as it is, no replacement
|
102 |
+
}
|
103 |
+
echo $sourceText;
|
104 |
+
?>
|
105 |
+
<a <?php if ($isExternalSrc) { ?>data-wpacu-external-source="<?php echo $srcHref . $verToAppend; ?>" <?php } ?> target="_blank" style="color: green;" href="<?php echo $srcHref . $verToAppend; ?>"><?php echo $relSrc; ?></a> <?php if ($isExternalSrc) { ?><span data-wpacu-external-source-status></span><?php } ?>
|
106 |
+
<div class="wpacu_hide_if_handle_row_contracted">
|
107 |
+
⟶
|
108 |
+
Preload (if kept loaded)?
|
109 |
+
<select style="display: inline-block; width: auto; <?php if ($isCssPreload) { echo 'background: #f2faf2; padding: 5px; color: black;'; } ?>"
|
110 |
+
name="wpacu_preloads[styles][<?php echo $data['row']['obj']->handle; ?>]">
|
111 |
+
<option value="">No (default)</option>
|
112 |
+
<option <?php if ($isCssPreload) { ?>selected="selected"<?php } ?> value="basic">Yes, basic</option>
|
113 |
+
<option disabled="disabled" value="async">Yes, async (Pro)</option>
|
114 |
+
</select>
|
115 |
+
<small>* applies site-wide</small> <small><a style="text-decoration: none; color: inherit;" target="_blank" href="https://assetcleanup.com/docs/?p=202"><span class="dashicons dashicons-editor-help"></span></a></small>
|
116 |
+
</div>
|
117 |
</div>
|
118 |
<?php
|
119 |
} else {
|
templates/meta-box-loaded-assets/_hardcoded/_asset-script-single-row-hardcoded.php
CHANGED
@@ -5,24 +5,49 @@
|
|
5 |
if (! isset($data)) {
|
6 |
exit; // no direct access
|
7 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
?>
|
9 |
<tr data-script-handle-row="<?php echo $data['row']['obj']->handle; ?>"
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
// Source
|
15 |
include '_asset-script-single-row-hardcoded/_source.php';
|
16 |
?>
|
17 |
<div style="margin: 10px 0;">File Size: Pro version</div>
|
18 |
<?php
|
19 |
if ($data['row']['obj']->inside_conditional_comment) {
|
20 |
-
echo
|
21 |
}
|
22 |
?>
|
23 |
-
|
24 |
-
|
25 |
-
|
|
|
|
|
26 |
<?php
|
27 |
} else {
|
28 |
// SCRIPT inline tag
|
@@ -45,29 +70,45 @@ if (! isset($data)) {
|
|
45 |
}
|
46 |
?>
|
47 |
<div class="wpacu-hardcoded-code-area">
|
48 |
-
<div class="<?php if ($enableViewMore) { ?>wpacu-has-view-more<?php } ?>">
|
49 |
<?php
|
50 |
if ($tagBelongsTo = \WpAssetCleanUp\HardcodedAssets::belongsTo($data['row']['obj']->tag_output)) {
|
51 |
echo '<div style="margin-bottom: 10px;">'.__('Belongs to', 'wp-asset-clean-up').': <strong>'.$tagBelongsTo . '</strong></div>';
|
52 |
}
|
53 |
|
54 |
if ($data['row']['obj']->inside_conditional_comment) {
|
55 |
-
echo
|
56 |
}
|
57 |
?>
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
|
|
|
|
66 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
67 |
</div>
|
68 |
<?php
|
69 |
}
|
70 |
?>
|
|
|
71 |
<div class="wrap_bulk_unload_options">
|
72 |
<?php
|
73 |
// Unload on this page
|
@@ -89,14 +130,10 @@ if (! isset($data)) {
|
|
89 |
<?php
|
90 |
// Handle Note
|
91 |
include '_asset-script-single-row-hardcoded/_notes.php';
|
92 |
-
|
93 |
-
// Preloads (none for the hardcoded scripts)
|
94 |
?>
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
class="wpacu-ajax-loader"
|
100 |
-
src="<?php echo WPACU_PLUGIN_URL; ?>/assets/icons/icon-ajax-loading-spinner.svg" alt="" />
|
101 |
</td>
|
102 |
</tr>
|
5 |
if (! isset($data)) {
|
6 |
exit; // no direct access
|
7 |
}
|
8 |
+
|
9 |
+
$rowIsContracted = '';
|
10 |
+
$dashSign = 'minus';
|
11 |
+
$dataRowStatusAttr = 'expanded';
|
12 |
+
|
13 |
+
if (isset($data['handle_rows_contracted']['scripts'][$data['row']['obj']->handle]) && $data['handle_rows_contracted']['scripts'][$data['row']['obj']->handle]) {
|
14 |
+
$rowIsContracted = 1;
|
15 |
+
$dashSign = 'plus';
|
16 |
+
$dataRowStatusAttr = 'contracted';
|
17 |
+
}
|
18 |
?>
|
19 |
<tr data-script-handle-row="<?php echo $data['row']['obj']->handle; ?>"
|
20 |
+
data-is-hardcoded-asset="true"
|
21 |
+
class="wpacu_asset_row <?php echo $data['row']['class']; ?>">
|
22 |
+
<td style="position: relative;" data-wpacu-row-status="<?php echo $dataRowStatusAttr; ?>">
|
23 |
+
<div class="wpacu_handle_row_expand_contract_area">
|
24 |
+
<a data-wpacu-handle="<?php echo $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 |
+
<input type="hidden"
|
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>';
|
35 |
+
|
36 |
+
if (isset($data['row']['obj']->src) && $data['row']['obj']->src) {
|
37 |
// Source
|
38 |
include '_asset-script-single-row-hardcoded/_source.php';
|
39 |
?>
|
40 |
<div style="margin: 10px 0;">File Size: Pro version</div>
|
41 |
<?php
|
42 |
if ($data['row']['obj']->inside_conditional_comment) {
|
43 |
+
echo $insideIeCommentHtml;
|
44 |
}
|
45 |
?>
|
46 |
+
<div class="wpacu_hardcoded_part_if_expanded">
|
47 |
+
<div class="wpacu-hardcoded-code-area">
|
48 |
+
HTML Output: <code><?php echo htmlentities( $data['row']['obj']->tag_output ); ?></code>
|
49 |
+
</div>
|
50 |
+
</div>
|
51 |
<?php
|
52 |
} else {
|
53 |
// SCRIPT inline tag
|
70 |
}
|
71 |
?>
|
72 |
<div class="wpacu-hardcoded-code-area">
|
|
|
73 |
<?php
|
74 |
if ($tagBelongsTo = \WpAssetCleanUp\HardcodedAssets::belongsTo($data['row']['obj']->tag_output)) {
|
75 |
echo '<div style="margin-bottom: 10px;">'.__('Belongs to', 'wp-asset-clean-up').': <strong>'.$tagBelongsTo . '</strong></div>';
|
76 |
}
|
77 |
|
78 |
if ($data['row']['obj']->inside_conditional_comment) {
|
79 |
+
echo $insideIeCommentHtml;
|
80 |
}
|
81 |
?>
|
82 |
+
|
83 |
+
<div class="wpacu_hardcoded_part_if_expanded <?php if ($enableViewMore) { ?>wpacu-has-view-more<?php } ?>">
|
84 |
+
<div>
|
85 |
+
<pre><code><?php echo htmlentities( $data['row']['obj']->tag_output ); ?></code></pre>
|
86 |
+
</div>
|
87 |
+
<?php if ($enableViewMore) {
|
88 |
+
$wpacuViewMoreCodeBtnClass = ! is_admin() ? 'wpacu-view-more-code' : 'button';
|
89 |
+
?>
|
90 |
+
<p class="wpacu-view-more-link-area" style="margin: 0 !important; padding: 15px !important;"><a href="#" class="<?php echo $wpacuViewMoreCodeBtnClass; ?>"><?php _e('View more', 'wp-asset-clean-up'); ?></a></p>
|
91 |
+
<?php } ?>
|
92 |
</div>
|
93 |
+
|
94 |
+
<div class="wpacu_hardcoded_part_if_contracted">
|
95 |
+
<code>
|
96 |
+
<?php
|
97 |
+
if (strlen($data['row']['obj']->tag_output) > 100) {
|
98 |
+
$tagOutputPart = substr( $data['row']['obj']->tag_output, 0, 100 ). '...';
|
99 |
+
} else {
|
100 |
+
$tagOutputPart = $data['row']['obj']->tag_output;
|
101 |
+
}
|
102 |
+
|
103 |
+
echo htmlentities($tagOutputPart);
|
104 |
+
?>
|
105 |
+
</code>
|
106 |
+
</div>
|
107 |
</div>
|
108 |
<?php
|
109 |
}
|
110 |
?>
|
111 |
+
<div class="wpacu_handle_row_expanded_area <?php if ($rowIsContracted) { echo 'wpacu_hide'; } ?>">
|
112 |
<div class="wrap_bulk_unload_options">
|
113 |
<?php
|
114 |
// Unload on this page
|
130 |
<?php
|
131 |
// Handle Note
|
132 |
include '_asset-script-single-row-hardcoded/_notes.php';
|
|
|
|
|
133 |
?>
|
134 |
+
</div>
|
135 |
+
<img style="display: none;"
|
136 |
+
class="wpacu-ajax-loader"
|
137 |
+
src="<?php echo WPACU_PLUGIN_URL; ?>/assets/icons/icon-ajax-loading-spinner.svg" alt="" />
|
|
|
|
|
138 |
</td>
|
139 |
</tr>
|
templates/meta-box-loaded-assets/_hardcoded/_asset-style-single-row-hardcoded.php
CHANGED
@@ -5,24 +5,49 @@
|
|
5 |
if (! isset($data)) {
|
6 |
exit; // no direct access
|
7 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
?>
|
9 |
<tr data-style-handle-row="<?php echo $data['row']['obj']->handle; ?>"
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
// Source
|
15 |
include '_asset-style-single-row-hardcoded/_source.php';
|
16 |
?>
|
17 |
<div style="margin: 10px 0;">File Size: Pro version</div>
|
18 |
<?php
|
19 |
if ($data['row']['obj']->inside_conditional_comment) {
|
20 |
-
echo
|
21 |
}
|
22 |
?>
|
23 |
-
<div
|
24 |
-
|
25 |
-
|
|
|
|
|
26 |
<?php
|
27 |
} else {
|
28 |
// STYLE inline tag
|
@@ -45,16 +70,17 @@ if (! isset($data)) {
|
|
45 |
}
|
46 |
?>
|
47 |
<div class="wpacu-hardcoded-code-area">
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
|
|
58 |
<div>
|
59 |
<pre><code><?php echo htmlentities( $data['row']['obj']->tag_output ); ?></code></pre>
|
60 |
</div>
|
@@ -64,10 +90,25 @@ if (! isset($data)) {
|
|
64 |
<p class="wpacu-view-more-link-area" style="margin: 0 !important; padding: 15px !important;"><a href="#" class="<?php echo $wpacuViewMoreCodeBtnClass; ?>"><?php _e('View more', 'wp-asset-clean-up'); ?></a></p>
|
65 |
<?php } ?>
|
66 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
67 |
</div>
|
68 |
<?php
|
69 |
}
|
70 |
?>
|
|
|
71 |
<div class="wrap_bulk_unload_options">
|
72 |
<?php
|
73 |
$tagType = '';
|
@@ -95,14 +136,10 @@ if (! isset($data)) {
|
|
95 |
<?php
|
96 |
// Handle Note
|
97 |
include '_asset-style-single-row-hardcoded/_notes.php';
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
value="" />
|
104 |
-
<img style="display: none;"
|
105 |
-
class="wpacu-ajax-loader"
|
106 |
-
src="<?php echo WPACU_PLUGIN_URL; ?>/assets/icons/icon-ajax-loading-spinner.svg" alt="" />
|
107 |
</td>
|
108 |
</tr>
|
5 |
if (! isset($data)) {
|
6 |
exit; // no direct access
|
7 |
}
|
8 |
+
|
9 |
+
$rowIsContracted = '';
|
10 |
+
$dashSign = 'minus';
|
11 |
+
$dataRowStatusAttr = 'expanded';
|
12 |
+
|
13 |
+
if (isset($data['handle_rows_contracted']['styles'][$data['row']['obj']->handle]) && $data['handle_rows_contracted']['styles'][$data['row']['obj']->handle]) {
|
14 |
+
$rowIsContracted = 1;
|
15 |
+
$dashSign = 'plus';
|
16 |
+
$dataRowStatusAttr = 'contracted';
|
17 |
+
}
|
18 |
?>
|
19 |
<tr data-style-handle-row="<?php echo $data['row']['obj']->handle; ?>"
|
20 |
+
data-is-hardcoded-asset="true"
|
21 |
+
class="wpacu_asset_row <?php echo $data['row']['class']; ?>">
|
22 |
+
<td style="position: relative;" data-wpacu-row-status="<?php echo $dataRowStatusAttr; ?>">
|
23 |
+
<div class="wpacu_handle_row_expand_contract_area">
|
24 |
+
<a data-wpacu-handle="<?php echo $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 |
+
<input type="hidden"
|
29 |
+
id="wpacu_style_<?php echo $data['row']['obj']->handle; ?>_row_contracted_area"
|
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>';
|
35 |
+
|
36 |
+
if (isset($data['row']['obj']->src) && $data['row']['obj']->src) {
|
37 |
// Source
|
38 |
include '_asset-style-single-row-hardcoded/_source.php';
|
39 |
?>
|
40 |
<div style="margin: 10px 0;">File Size: Pro version</div>
|
41 |
<?php
|
42 |
if ($data['row']['obj']->inside_conditional_comment) {
|
43 |
+
echo $insideIeCommentHtml;
|
44 |
}
|
45 |
?>
|
46 |
+
<div class="wpacu_hardcoded_part_if_expanded">
|
47 |
+
<div style="margin: 10px 0;" class="wpacu-hardcoded-code-area">
|
48 |
+
HTML Output: <code><?php echo htmlentities( $data['row']['obj']->tag_output ); ?></code>
|
49 |
+
</div>
|
50 |
+
</div>
|
51 |
<?php
|
52 |
} else {
|
53 |
// STYLE inline tag
|
70 |
}
|
71 |
?>
|
72 |
<div class="wpacu-hardcoded-code-area">
|
73 |
+
<?php
|
74 |
+
if ($tagBelongsTo = \WpAssetCleanUp\HardcodedAssets::belongsTo($data['row']['obj']->tag_output)) {
|
75 |
+
echo '<div style="margin-bottom: 10px;">'.__('Belongs to', 'wp-asset-clean-up').': <strong>'.$tagBelongsTo . '</strong></div>';
|
76 |
+
}
|
77 |
+
|
78 |
+
if ($data['row']['obj']->inside_conditional_comment) {
|
79 |
+
echo $insideIeCommentHtml;
|
80 |
+
}
|
81 |
+
?>
|
82 |
+
|
83 |
+
<div class="wpacu_hardcoded_part_if_expanded <?php if ($enableViewMore) { ?>wpacu-has-view-more<?php } ?>">
|
84 |
<div>
|
85 |
<pre><code><?php echo htmlentities( $data['row']['obj']->tag_output ); ?></code></pre>
|
86 |
</div>
|
90 |
<p class="wpacu-view-more-link-area" style="margin: 0 !important; padding: 15px !important;"><a href="#" class="<?php echo $wpacuViewMoreCodeBtnClass; ?>"><?php _e('View more', 'wp-asset-clean-up'); ?></a></p>
|
91 |
<?php } ?>
|
92 |
</div>
|
93 |
+
|
94 |
+
<div class="wpacu_hardcoded_part_if_contracted">
|
95 |
+
<code>
|
96 |
+
<?php
|
97 |
+
if (strlen($data['row']['obj']->tag_output) > 100) {
|
98 |
+
$tagOutputPart = substr( $data['row']['obj']->tag_output, 0, 100 ). '...';
|
99 |
+
} else {
|
100 |
+
$tagOutputPart = $data['row']['obj']->tag_output;
|
101 |
+
}
|
102 |
+
|
103 |
+
echo htmlentities($tagOutputPart);
|
104 |
+
?>
|
105 |
+
</code>
|
106 |
+
</div>
|
107 |
</div>
|
108 |
<?php
|
109 |
}
|
110 |
?>
|
111 |
+
<div class="wpacu_handle_row_expanded_area <?php if ($rowIsContracted) { echo 'wpacu_hide'; } ?>">
|
112 |
<div class="wrap_bulk_unload_options">
|
113 |
<?php
|
114 |
$tagType = '';
|
136 |
<?php
|
137 |
// Handle Note
|
138 |
include '_asset-style-single-row-hardcoded/_notes.php';
|
139 |
+
?>
|
140 |
+
</div>
|
141 |
+
<img style="display: none;"
|
142 |
+
class="wpacu-ajax-loader"
|
143 |
+
src="<?php echo WPACU_PLUGIN_URL; ?>/assets/icons/icon-ajax-loading-spinner.svg" alt="" />
|
|
|
|
|
|
|
|
|
144 |
</td>
|
145 |
</tr>
|
templates/meta-box-loaded-assets/view-by-loaded-unloaded.php
CHANGED
@@ -51,8 +51,8 @@ $listAreaStatus = $data['plugin_settings']['assets_list_layout_areas_status'];
|
|
51 |
<strong>➝ Total enqueued files (including core files): <?php echo (int)$data['total_styles'] + (int)$data['total_scripts']; ?></strong>
|
52 |
</div>
|
53 |
<div class="col-right">
|
54 |
-
<a href="#" id="wpacu-assets-contract-all" class="wpacu-wp-button wpacu-wp-button-secondary">Contract
|
55 |
-
<a href="#" id="wpacu-assets-expand-all" class="wpacu-wp-button wpacu-wp-button-secondary">Expand
|
56 |
</div>
|
57 |
<div class="wpacu-clearfix"></div>
|
58 |
</div>
|
51 |
<strong>➝ Total enqueued files (including core files): <?php echo (int)$data['total_styles'] + (int)$data['total_scripts']; ?></strong>
|
52 |
</div>
|
53 |
<div class="col-right">
|
54 |
+
<a href="#" id="wpacu-assets-contract-all" class="wpacu-wp-button wpacu-wp-button-secondary">Contract All Groups</a>
|
55 |
+
<a href="#" id="wpacu-assets-expand-all" class="wpacu-wp-button wpacu-wp-button-secondary">Expand All Groups</a>
|
56 |
</div>
|
57 |
<div class="wpacu-clearfix"></div>
|
58 |
</div>
|
templates/meta-box-loaded-assets/view-by-location.php
CHANGED
@@ -47,8 +47,8 @@ $listAreaStatus = $data['plugin_settings']['assets_list_layout_areas_status'];
|
|
47 |
<strong>➝ Total enqueued files (including core files): <?php echo (int)$data['total_styles'] + (int)$data['total_scripts']; ?></strong>
|
48 |
</div>
|
49 |
<div class="col-right">
|
50 |
-
<a href="#" id="wpacu-assets-contract-all" class="wpacu-wp-button wpacu-wp-button-secondary">Contract All
|
51 |
-
<a href="#" id="wpacu-assets-expand-all" class="wpacu-wp-button wpacu-wp-button-secondary">Expand All
|
52 |
</div>
|
53 |
<div class="wpacu-clearfix"></div>
|
54 |
</div>
|
@@ -245,7 +245,7 @@ $listAreaStatus = $data['plugin_settings']['assets_list_layout_areas_status'];
|
|
245 |
}
|
246 |
} else {
|
247 |
// There are no loaded CSS/JS
|
248 |
-
$showOxygenMsg = $locationMain === 'themes' && in_array('oxygen/functions.php', apply_filters('active_plugins', get_option('active_plugins')));
|
249 |
|
250 |
if ($showOxygenMsg) {
|
251 |
?>
|
47 |
<strong>➝ Total enqueued files (including core files): <?php echo (int)$data['total_styles'] + (int)$data['total_scripts']; ?></strong>
|
48 |
</div>
|
49 |
<div class="col-right">
|
50 |
+
<a href="#" id="wpacu-assets-contract-all" class="wpacu-wp-button wpacu-wp-button-secondary">Contract All Groups</a>
|
51 |
+
<a href="#" id="wpacu-assets-expand-all" class="wpacu-wp-button wpacu-wp-button-secondary">Expand All Groups</a>
|
52 |
</div>
|
53 |
<div class="wpacu-clearfix"></div>
|
54 |
</div>
|
245 |
}
|
246 |
} else {
|
247 |
// There are no loaded CSS/JS
|
248 |
+
$showOxygenMsg = $locationMain === 'themes' && in_array('oxygen/functions.php', apply_filters('active_plugins', get_option('active_plugins', array())));
|
249 |
|
250 |
if ($showOxygenMsg) {
|
251 |
?>
|
templates/meta-box-loaded-assets/view-by-parents.php
CHANGED
@@ -51,8 +51,8 @@ $listAreaStatus = $data['plugin_settings']['assets_list_layout_areas_status'];
|
|
51 |
<strong>➝ Total enqueued files (including core files): <?php echo (int)$data['total_styles'] + (int)$data['total_scripts']; ?></strong>
|
52 |
</div>
|
53 |
<div class="col-right">
|
54 |
-
<a href="#" id="wpacu-assets-contract-all" class="wpacu-wp-button wpacu-wp-button-secondary">Contract All
|
55 |
-
<a href="#" id="wpacu-assets-expand-all" class="wpacu-wp-button wpacu-wp-button-secondary">Expand All
|
56 |
</div>
|
57 |
<div class="wpacu-clearfix"></div>
|
58 |
</div>
|
51 |
<strong>➝ Total enqueued files (including core files): <?php echo (int)$data['total_styles'] + (int)$data['total_scripts']; ?></strong>
|
52 |
</div>
|
53 |
<div class="col-right">
|
54 |
+
<a href="#" id="wpacu-assets-contract-all" class="wpacu-wp-button wpacu-wp-button-secondary">Contract All Groups</a>
|
55 |
+
<a href="#" id="wpacu-assets-expand-all" class="wpacu-wp-button wpacu-wp-button-secondary">Expand All Groups</a>
|
56 |
</div>
|
57 |
<div class="wpacu-clearfix"></div>
|
58 |
</div>
|
templates/meta-box-loaded-assets/view-by-position.php
CHANGED
@@ -51,8 +51,8 @@ if ( ( (isset($data['core_styles_loaded']) && $data['core_styles_loaded']) || (i
|
|
51 |
<strong>➝ Total enqueued files (including core files): <?php echo (int)$data['total_styles'] + (int)$data['total_scripts']; ?></strong>
|
52 |
</div>
|
53 |
<div class="col-right">
|
54 |
-
<a href="#" id="wpacu-assets-contract-all" class="wpacu-wp-button wpacu-wp-button-secondary">Contract
|
55 |
-
<a href="#" id="wpacu-assets-expand-all" class="wpacu-wp-button wpacu-wp-button-secondary">Expand
|
56 |
</div>
|
57 |
<div class="wpacu-clearfix"></div>
|
58 |
</div>
|
51 |
<strong>➝ Total enqueued files (including core files): <?php echo (int)$data['total_styles'] + (int)$data['total_scripts']; ?></strong>
|
52 |
</div>
|
53 |
<div class="col-right">
|
54 |
+
<a href="#" id="wpacu-assets-contract-all" class="wpacu-wp-button wpacu-wp-button-secondary">Contract All Groups</a>
|
55 |
+
<a href="#" id="wpacu-assets-expand-all" class="wpacu-wp-button wpacu-wp-button-secondary">Expand All Groups</a>
|
56 |
</div>
|
57 |
<div class="wpacu-clearfix"></div>
|
58 |
</div>
|
templates/meta-box-loaded-assets/view-by-preload.php
CHANGED
@@ -49,8 +49,8 @@ $listAreaStatus = $data['plugin_settings']['assets_list_layout_areas_status'];
|
|
49 |
<strong>➝ Total enqueued files (including core files): <?php echo (int)$data['total_styles'] + (int)$data['total_scripts']; ?></strong>
|
50 |
</div>
|
51 |
<div class="col-right">
|
52 |
-
<a href="#" id="wpacu-assets-contract-all" class="wpacu-wp-button wpacu-wp-button-secondary">Contract
|
53 |
-
<a href="#" id="wpacu-assets-expand-all" class="wpacu-wp-button wpacu-wp-button-secondary">Expand
|
54 |
</div>
|
55 |
<div class="wpacu-clearfix"></div>
|
56 |
</div>
|
49 |
<strong>➝ Total enqueued files (including core files): <?php echo (int)$data['total_styles'] + (int)$data['total_scripts']; ?></strong>
|
50 |
</div>
|
51 |
<div class="col-right">
|
52 |
+
<a href="#" id="wpacu-assets-contract-all" class="wpacu-wp-button wpacu-wp-button-secondary">Contract All Groups</a>
|
53 |
+
<a href="#" id="wpacu-assets-expand-all" class="wpacu-wp-button wpacu-wp-button-secondary">Expand All Groups</a>
|
54 |
</div>
|
55 |
<div class="wpacu-clearfix"></div>
|
56 |
</div>
|
templates/meta-box-loaded-assets/view-default.php
CHANGED
@@ -23,8 +23,8 @@ $listAreaStatus = $data['plugin_settings']['assets_list_layout_areas_status'];
|
|
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
|
27 |
-
<a href="#" id="wpacu-assets-expand-all" class="wpacu-wp-button wpacu-wp-button-secondary">Expand
|
28 |
</div>
|
29 |
<div class="wpacu-clearfix"></div>
|
30 |
</div>
|
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>
|
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.6.
|
6 |
* Description: Unload Chosen Scripts & Styles from Posts/Pages to reduce HTTP Requests, Combine/Minify CSS/JS files
|
7 |
* Author: Gabriel Livan
|
8 |
* Author URI: http://gabelivan.com/
|
@@ -12,7 +12,7 @@
|
|
12 |
|
13 |
// Is the Pro version triggered before the Lite one and are both plugins active?
|
14 |
if (! defined('WPACU_PLUGIN_VERSION')) {
|
15 |
-
define('WPACU_PLUGIN_VERSION', '1.3.6.
|
16 |
}
|
17 |
|
18 |
// Exit if accessed directly
|
2 |
/*
|
3 |
* Plugin Name: Asset CleanUp: Page Speed Booster
|
4 |
* Plugin URI: https://wordpress.org/plugins/wp-asset-clean-up/
|
5 |
+
* Version: 1.3.6.3
|
6 |
* Description: Unload Chosen Scripts & Styles from Posts/Pages to reduce HTTP Requests, Combine/Minify CSS/JS files
|
7 |
* Author: Gabriel Livan
|
8 |
* Author URI: http://gabelivan.com/
|
12 |
|
13 |
// Is the Pro version triggered before the Lite one and are both plugins active?
|
14 |
if (! defined('WPACU_PLUGIN_VERSION')) {
|
15 |
+
define('WPACU_PLUGIN_VERSION', '1.3.6.3');
|
16 |
}
|
17 |
|
18 |
// Exit if accessed directly
|