Version Description
- Compatibility with "AMP (Official AMP Plugin for WordPress)" and "AMP for WP Accelerated Mobile Pages" plugins: If the page is of AMP type, no Asset CleanUp settings/rules will be triggered to avoid validation errors; Moreover, NOSCRIPT tags added by Asset CleanUp are moved to the BODY tag (they are no longer stored in the HEAD tag) to avoid further validation errors in case other AMP plugins/scripts are used and Asset CleanUp Pro doesn't detect them
- New Feature: Skip "Test Mode" on page request for debugging purposes via /?wpacu_skip_test_mode - e.g. useful when you have to check a website and you don't have admin access and "Test Mode" is enabled (you can check if anything is broken there while the page loads fine for other visitors)
- Improvement: Changed the way the assets list is showing up for management by reducing the size of each row (with CSS/JS file details) so it's easier for scrolling (e.g. load exceptions are showing up only if you chosen a bulk unload option, reduced the height of some of the areas, such as "Handle:", "Source:" and notes area).
- Improvement: The number of total submitted fields is smaller now as the assets list area is not as cluttered since irrelevant fields are not submitted anymore with an empty value (this is not only useful for aesthetic reasons, but it's limiting the risk of submitting over 1000 fields where max_input_vars from php.ini is limited to only 1000 inputs)
- Improvement: No matter what type of layout to show the assets list is chosen from "Assets List Layout:", it will show the total number of CSS/JS for each group (e.g. total files from the theme, total files from all the active plugins, etc.)
- Improvement: Option to choose how the caching information (asset details including its location in the caching directory) is retrieved in "Plugin Usage Preferences" (useful to reduce database queries in case one has a large database that is slow in retrieving information)
- Improvement: If all CSS/JS from a plugin (when the assets list is grouped by location) are bulk unloaded (e.g. on all posts, site-wide), then "Unload on this page" (Check All | Uncheck All) is replaced with 'Make exception from bulk unload, "Load it on this page"' (Check All | Uncheck All)
Download this release
Release Info
Developer | gabelivan |
Plugin | Asset CleanUp: Page Speed Booster |
Version | 1.3.4.8 |
Comparing to | |
See all releases |
Code changes from version 1.3.4.7 to 1.3.4.8
- assets/script.min.js +1 -1
- assets/style.min.css +1 -1
- classes/Main.php +162 -134
- classes/Misc.php +10 -4
- classes/OptimiseAssets/OptimizeCommon.php +6 -2
- classes/OptimiseAssets/OptimizeCss.php +67 -5
- classes/OptimiseAssets/OptimizeJs.php +12 -3
- classes/Plugin.php +76 -35
- classes/Settings.php +8 -1
- classes/Update.php +93 -93
- early-triggers.php +21 -12
- readme.txt +10 -1
- templates/_admin-page-settings-bulk-changes/_regex-unloads.php +27 -0
- templates/_admin-page-settings-plugin-areas/_plugin-usage-settings.php +65 -34
- templates/_top-area.php +15 -8
- templates/admin-page-settings-bulk-changes.php +22 -19
- templates/meta-box-loaded-assets/_asset-script-rows.php +2 -2
- templates/meta-box-loaded-assets/_asset-script-single-row.php +142 -96
- templates/meta-box-loaded-assets/_asset-style-rows.php +2 -2
- templates/meta-box-loaded-assets/_asset-style-single-row.php +107 -61
- templates/meta-box-loaded-assets/_inline_js.php +3 -3
- templates/meta-box-loaded-assets/_view-by-location/_plugin-list-expanded-actions.php +47 -0
- templates/meta-box-loaded-assets/view-by-loaded-unloaded.php +20 -15
- templates/meta-box-loaded-assets/view-by-location.php +135 -71
- templates/meta-box-loaded-assets/view-by-parents.php +22 -15
- templates/meta-box-loaded-assets/view-by-position.php +19 -14
- templates/meta-box-loaded-assets/view-by-preload.php +19 -13
- wpacu-load.php +11 -13
- wpacu.php +3 -3
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)}jQuery(document).ready(function(a){function b(){if(!a("#wpacu_ajax_fetch_assets_list_dashboard_view").length)return!1;var b={};"direct"===wpacu_object.dom_get_type?(b[wpacu_object.plugin_name+"_load"]=1,b[wpacu_object.plugin_name+"_time_r"]=(new Date).getTime(),a.ajax({method:"GET",url:wpacu_object.page_url,data:b,cache:!1,complete:function(b,c){if("error"===b.statusText){var d=wpacu_object.ajax_direct_fetch_error;d=d.replace(/\{wpacu_output\}/,b.responseText),d=d.replace(/\{wpacu_status_code_error\}/,b.status),a("#wpacu_meta_box_content").html(d)}}}).done(function(b){var c=b.substring(b.lastIndexOf(wpacu_object.start_del)+wpacu_object.start_del.length,b.lastIndexOf(wpacu_object.end_del)),d={action:wpacu_object.plugin_name+"_get_loaded_assets",wpacu_list:c,post_id:wpacu_object.post_id,page_url:wpacu_object.page_url,tag_id:wpacu_object.tag_id,time_r:(new Date).getTime()};a.post(wpacu_object.ajax_url,d,function(b){if(!b)return!1;a("#wpacu_meta_box_content").html(b),a("#wpacu_home_page_form").length>0&&a("#submit").show(),setTimeout(function(){e.load(),a(".wpacu_asset_row").removeClass("wpacu-loading"),a("#wpacu-assets-reloading").remove()},200)})})):"wp_remote_post"===wpacu_object.dom_get_type&&(b={action:wpacu_object.plugin_name+"_get_loaded_assets",post_id:wpacu_object.post_id,page_url:wpacu_object.page_url,tag_id:wpacu_object.tag_id,time_r:(new Date).getTime()},a.post(wpacu_object.ajax_url,b,function(b){if(!b)return!1;a("#wpacu_meta_box_content").html(b),a("#wpacu_home_page_form").length>0&&a("#submit").show(),setTimeout(function(){e.load()},200)}))}a('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("#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 c,d;a("#wpacu-reset-drop-down").on("change keyup keydown mouseup mousedown click",function(){""===a(this).val()?(a("#wpacu-warning-read").removeClass("wpacu-visible"),a("#wpacu-reset-submit-btn").attr("disabled","disabled").removeClass("button-primary").addClass("button-secondary")):("reset_everything"===a(this).val()?a("#wpacu-license-data-remove-area").addClass("wpacu-visible"):a("#wpacu-license-data-remove-area").removeClass("wpacu-visible"),a("#wpacu-warning-read").addClass("wpacu-visible"),a("#wpacu-reset-submit-btn").removeAttr("disabled").removeClass("button-secondary").addClass("button-primary")),a(".wpacu-tools-area .wpacu-warning").hide(),c=a(this).find("option:selected"),a("#"+c.attr("data-id")).show()}),a("#wpacu-reset-submit-btn").on("click",function(){if("reset_settings"===a("#wpacu-reset-drop-down").val()?d=wpacu_object.reset_settings_confirm_msg:"reset_everything_except_settings"===a("#wpacu-reset-drop-down").val()?d=wpacu_object.reset_everything_except_settings_confirm_msg:"reset_everything"===a("#wpacu-reset-drop-down").val()&&(d=wpacu_object.reset_everything_confirm_msg),!confirm(d))return!1;a("#wpacu-action-confirmed").val("yes"),setTimeout(function(){"yes"===a("#wpacu-action-confirmed").val()&&a("#wpacu-tools-form").submit()},1e3)}),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 e={load:function(){var b;a(".input-unload-on-this-page").on("click change",function(){a(this).prop("checked")?(e.uncheckAllOtherUnloadRules(a(this)),a(this).closest("tr").addClass("wpacu_not_load")):a(this).closest("tr").removeClass("wpacu_not_load")}),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(".input-unload-on-this-page.wpacu-not-locked").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(".input-unload-on-this-page.wpacu-not-locked").prop("checked",!1).closest("tr").removeClass("wpacu_not_load")}),a(".wpacu_global_unload").click(function(){b=a(this).attr("data-handle"),a(this).prop("checked")?(a(this).parent("label").addClass("wpacu_input_load_checked"),a(this).closest("tr").addClass("wpacu_not_load"),e.uncheckAllOtherUnloadRules(a(this))):(a(this).parent("label").removeClass("wpacu_input_load_checked"),a(this).closest("tr").removeClass("wpacu_not_load"))}),a(".wpacu_keep_bulk_rule").click(function(){a(this).prop("checked")&&a(this).parents("li").next().removeClass("remove_rule")}),a(".wpacu_remove_bulk_rule").click(function(){a(this).prop("checked")&&a(this).parents("li").addClass("remove_rule")}),a(".wpacu_bulk_unload").click(function(){b=a(this).attr("data-handle"),a(this).prop("checked")?(a(this).parent("label").addClass("wpacu_input_load_checked"),a(this).closest("tr").addClass("wpacu_not_load"),e.uncheckAllOtherUnloadRules(a(this))):(a(this).parent("label").removeClass("wpacu_input_load_checked"),a(this).closest("tr").removeClass("wpacu_not_load"))}),a(".wpacu_load_it_option_one").click(function(){var b=a(this).attr("data-handle");if(a(this).prop("checked")){a(this).parent("label").addClass("wpacu_global_unload_exception");var c="";a(this).hasClass("wpacu_style")?c="style":a(this).hasClass("wpacu_script")&&(c="script"),a("#"+c+"_"+b).prop("checked",!1).trigger("change")}else a(this).parent("label").removeClass("wpacu_global_unload_exception")}),a(".wpacu_load_it_option_two").click(function(){a(this).prop("checked")?(a(this).parents("li").find("label").addClass("wpacu_bold"),a(this).parents("li").find('input[type="text"]').focus().removeClass("wpacu_disabled")):(a(this).parents("li").find("label").removeClass("wpacu_bold"),a(this).parents("li").find('input[type="text"]').blur().addClass("wpacu_disabled"))}),a(".wpacu-add-handle-note").on("click",function(b){b.preventDefault();var c,d=a(this).attr("data-handle");a(this).hasClass("wpacu-for-script")?c=a('.wpacu-handle-notes-field[data-script-handle="'+d+'"]'):a(this).hasClass("wpacu-for-style")&&(c=a('.wpacu-handle-notes-field[data-style-handle="'+d+'"]')),c.is(":hidden")?c.show():c.hide()}),a(".wpacu-external-file-size").on("click",function(b){b.preventDefault();var c,d=a(this);d.hide(),c=d.next(),c.show(),a.post(wpacu_object.ajax_url,{action:"get_external_file_size",wpacu_remote_file:d.attr("data-src")},function(a){c.html(a)})})},uncheckAllOtherUnloadRules:function(a){a.closest("tr").find(".wpacu_unload_rule_input").not(a).prop("checked",!1).parent("label").removeClass("wpacu_input_load_checked")}};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]").click(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 f=a('#wpacu-update-button-area input[type="submit"]');f.click(function(){a("#wpacu-updating-settings").show()});var g=a("#wpacu-update-front-settings-area .wpacu_update_btn");if(g.parents("form").submit(function(){return g.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 f.attr("disabled",!0),!0}),a(".wpacu_remove_rule").click(function(){var b=a(this).parents(".wpacu_global_rule_row");a(this).prop("checked")?b.addClass("selected"):b.removeClass("selected")}),a(".wpacu_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(){e.load()},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(),clearInterval(d)}},d=setInterval(c,900)})});
|
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"}jQuery(document).ready(function(a){function b(){if(!a("#wpacu_ajax_fetch_assets_list_dashboard_view").length)return!1;var b={};"direct"===wpacu_object.dom_get_type?(b[wpacu_object.plugin_name+"_load"]=1,b[wpacu_object.plugin_name+"_time_r"]=(new Date).getTime(),a.ajax({method:"GET",url:wpacu_object.page_url,data:b,cache:!1,complete:function(b,c){if("error"===b.statusText){var d=wpacu_object.ajax_direct_fetch_error;d=d.replace(/\{wpacu_output\}/,b.responseText),d=d.replace(/\{wpacu_status_code_error\}/,b.status),a("#wpacu_meta_box_content").html(d)}}}).done(function(b){var c=b.substring(b.lastIndexOf(wpacu_object.start_del)+wpacu_object.start_del.length,b.lastIndexOf(wpacu_object.end_del)),d={action:wpacu_object.plugin_name+"_get_loaded_assets",wpacu_list:c,post_id:wpacu_object.post_id,page_url:wpacu_object.page_url,tag_id:wpacu_object.tag_id,time_r:(new Date).getTime()};a.post(wpacu_object.ajax_url,d,function(b){if(!b)return!1;a("#wpacu_meta_box_content").html(b),a("#wpacu_home_page_form").length>0&&a("#submit").show(),setTimeout(function(){e.load(),a(".wpacu_asset_row").removeClass("wpacu-loading"),a("#wpacu-assets-reloading").remove()},200)})})):"wp_remote_post"===wpacu_object.dom_get_type&&(b={action:wpacu_object.plugin_name+"_get_loaded_assets",post_id:wpacu_object.post_id,page_url:wpacu_object.page_url,tag_id:wpacu_object.tag_id,time_r:(new Date).getTime()},a.post(wpacu_object.ajax_url,b,function(b){if(!b)return!1;a("#wpacu_meta_box_content").html(b),a("#wpacu_home_page_form").length>0&&a("#submit").show(),setTimeout(function(){e.load()},200)}))}a('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("#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 c,d;a("#wpacu-reset-drop-down").on("change keyup keydown mouseup mousedown click",function(){""===a(this).val()?(a("#wpacu-warning-read").removeClass("wpacu-visible"),a("#wpacu-reset-submit-btn").attr("disabled","disabled").removeClass("button-primary").addClass("button-secondary")):("reset_everything"===a(this).val()?a("#wpacu-license-data-remove-area").addClass("wpacu-visible"):a("#wpacu-license-data-remove-area").removeClass("wpacu-visible"),a("#wpacu-warning-read").addClass("wpacu-visible"),a("#wpacu-reset-submit-btn").removeAttr("disabled").removeClass("button-secondary").addClass("button-primary")),a(".wpacu-tools-area .wpacu-warning").hide(),c=a(this).find("option:selected"),a("#"+c.attr("data-id")).show()}),a("#wpacu-reset-submit-btn").on("click",function(){if("reset_settings"===a("#wpacu-reset-drop-down").val()?d=wpacu_object.reset_settings_confirm_msg:"reset_everything_except_settings"===a("#wpacu-reset-drop-down").val()?d=wpacu_object.reset_everything_except_settings_confirm_msg:"reset_everything"===a("#wpacu-reset-drop-down").val()&&(d=wpacu_object.reset_everything_confirm_msg),!confirm(d))return!1;a("#wpacu-action-confirmed").val("yes"),setTimeout(function(){"yes"===a("#wpacu-action-confirmed").val()&&a("#wpacu-tools-form").submit()},1e3)}),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 e={load:function(){var b,c,d,f=".input-unload-on-this-page.wpacu-not-locked";a(".input-unload-on-this-page").on("click change",function(){a(this).prop("checked")?(e.uncheckAllOtherUnloadRules(a(this)),d=a(this).parents(".wpacu_asset_row"),b=a(this).attr("data-handle"),c=a(this).hasClass("wpacu_unload_rule_for_style")?"style":"script",e.hideLoadExceptionArea(d,b,c),a(this).closest("tr").addClass("wpacu_not_load")):a(this).closest("tr").removeClass("wpacu_not_load")}),a(".wpacu-plugin-check-all").on("click",function(b){b.preventDefault();var c=a(this).attr("data-wpacu-plugin");a('table.wpacu_list_by_location[data-wpacu-plugin="'+c+'"]').find(f).prop("checked",!0).closest("tr").addClass("wpacu_not_load")}),a(".wpacu-plugin-uncheck-all").on("click",function(b){b.preventDefault();var c=a(this).attr("data-wpacu-plugin");a('table.wpacu_list_by_location[data-wpacu-plugin="'+c+'"]').find(f).prop("checked",!1).closest("tr").removeClass("wpacu_not_load")}),a(".wpacu-plugin-check-load-all").on("click change",function(b){b.preventDefault();var c=a(this).attr("data-wpacu-plugin"),d=a('table.wpacu_list_by_location[data-wpacu-plugin="'+c+'"]');d.find(".wpacu_load_it_option_one.wpacu_load_exception").prop("checked",!0).closest("tr.wpacu_is_bulk_unloaded").removeClass("wpacu_not_load"),d.find(f).prop("checked",!1).trigger("change")}),a(".wpacu-plugin-uncheck-load-all").on("click change",function(b){b.preventDefault();var c=a(this).attr("data-wpacu-plugin"),d=a('table.wpacu_list_by_location[data-wpacu-plugin="'+c+'"]');d.find(".wpacu_load_it_option_one.wpacu_load_exception").prop("checked",!1).closest("tr.wpacu_is_bulk_unloaded").addClass("wpacu_not_load"),d.find(f).prop("checked",!1).trigger("change")}),a(".wpacu_global_unload").click(function(){b=a(this).attr("data-handle"),a(this).prop("checked")?(a(this).parent("label").addClass("wpacu_input_load_checked"),a(this).closest("tr").addClass("wpacu_not_load"),e.uncheckAllOtherUnloadRules(a(this))):(a(this).parent("label").removeClass("wpacu_input_load_checked"),a(this).closest("tr").removeClass("wpacu_not_load"))}),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(){b=a(this).attr("data-handle"),c=a(this).attr("data-handle-for"),d=a("[data-"+c+'-handle-row="'+b+'"]'),a(this).prop("checked")?(a(this).hasClass("wpacu_unload_it_regex_checkbox")||(a(this).parent("label").addClass("wpacu_input_load_checked"),a(this).closest("tr").addClass("wpacu_not_load")),a("div.wpacu_exception_options_area_wrap[data-"+c+'-handle="'+b+'"]').removeClass("wpacu_hide"),e.uncheckAllOtherUnloadRules(a(this))):(a(this).hasClass("wpacu_unload_it_regex_checkbox")||(a(this).parent("label").removeClass("wpacu_input_load_checked"),a(this).closest("tr").removeClass("wpacu_not_load")),e.hideLoadExceptionArea(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_unload_it_regex_checkbox").on("click change",function(){var b=a(this).parents("li");a(this).prop("checked")?(b.find("label").addClass("wpacu_bold"),b.find('input[type="text"]').prop("disabled",!1).focus().removeClass("wpacu_disabled"),b.find(".wpacu_handle_unload_regex_input_wrap").removeClass("wpacu_hide")):(b.find("label").removeClass("wpacu_bold"),b.find('input[type="text"]').blur().addClass("wpacu_disabled"),""===b.find('input[type="text"]').val().trim()&&(b.find('input[type="text"]').prop("disabled",!0).val(""),b.find(".wpacu_handle_unload_regex_input_wrap").addClass("wpacu_hide")))}),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('input[type="text"]').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('input[type="text"]').blur().addClass("wpacu_disabled"),""===b.find('input[type="text"]').val().trim()&&(b.find('input[type="text"]').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:"get_external_file_size",wpacu_remote_file:e},function(a){c.html(a)})})},hideLoadExceptionArea:function(b,c,d){b.hasClass("wpacu_is_bulk_unloaded")||b.find(".wpacu_bulk_unload").is(":checked")||a("div.wpacu_exception_options_area_wrap[data-"+d+'-handle="'+c+'"]').addClass("wpacu_hide")},uncheckAllOtherUnloadRules:function(a){a.closest("tr").find(".wpacu_unload_rule_input").not(a).prop("checked",!1).parent("label").removeClass("wpacu_input_load_checked")}};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]").click(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 f=a('#wpacu-update-button-area input[type="submit"]');f.click(function(){a("#wpacu-updating-settings").show()});var g=a("#wpacu-update-front-settings-area .wpacu_update_btn");if(g.parents("form").submit(function(){return g.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 f.attr("disabled",!0),!0}),a(".wpacu_remove_rule").click(function(){var b=a(this).parents(".wpacu_global_rule_row");a(this).prop("checked")?b.addClass("selected"):b.removeClass("selected")}),a(".wpacu_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(){e.load()},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(),clearInterval(d)}},d=setInterval(c,900)})});
|
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;margin:0 auto;padding:0;max-width:1200px;list-style:none;-ms-box-orient:horizontal;-ms-box-pack:center;-webkit-flex-flow:row wrap;-moz-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-justify-content:center;-moz-justify-content:center;-ms-justify-content:center;justify-content:center}.wpacu-tabs nav ul li{position:relative;z-index:1;display:block;margin:0;text-align:center;-webkit-flex:1;-moz-flex:1;-ms-flex:1;flex:1}.wpacu-tabs nav ul li span.extra-info{position:absolute;font-size:12px;left:0;right:50%;bottom:12px;-webkit-transform:translate(50%,50%);transform:translate(50%,50%)}.wpacu-tabs nav ul li span.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:1200px;margin:20px auto 30px 0;width:100%;font-weight:300;text-decoration:none}.wpacu-tabs-style-topline nav li{border:1px solid rgba(40,44,42,.1)}.wpacu-tabs-style-topline nav li:not(:last-child){border-right:none}.wpacu-tabs-style-topline nav li.wpacu-tab-current{border-top-color:#008f9c;border-bottom:none}.wpacu-tabs-style-topline nav a{padding:20px 18px;background:rgba(40,44,42,.05);color:#74777b;line-height:1;-webkit-transition:color .2s;transition:color .2s;text-decoration:none}.wpacu-tabs-style-topline nav a:focus,.wpacu-tabs-style-topline nav a:hover{background:0 0;color:#008f9c}.wpacu-tabs-style-topline nav li.wpacu-tab-current a{background:0 0;box-shadow:inset 0 3px 0 #008f9c;color:#008f9c}.wpacu-tabs-style-topline nav li.wpacu-tab-current a span:not(.dashicons){font-weight:600}.wpacu-tabs-style-topline nav a span{text-transform:uppercase;font-weight:400}.wpacu-tab-nav-wrapper{border-bottom:none!important}.wpacu-tab-nav-wrapper .nav-tab.nav-tab-active{background:#fff;position:relative}.wpacu-tab-nav-wrapper .nav-tab.nav-tab-active:after{content:"";width:100%;bottom:-2px;left:0;position:absolute;border-bottom:2px solid #fff}.wpacu-script-attributes-area{margin:12px 0 0!important}.wpacu-script-attributes-area.wpacu-lite ul.wpacu-script-attributes-settings{padding:5px 7px!important}.wpacu-script-attributes-area.wpacu-lite ul.wpacu-script-attributes-settings.wpacu-first{margin:0 28px 0 0!important}.wpacu-script-attributes-area.wpacu-lite ul.wpacu-script-attributes-settings label{margin:0!important}.wpacu-script-attributes-area.wpacu-lite ul.wpacu-script-attributes-settings li{margin:0 16px 0 0!important}.wpacu-script-attributes-area.wpacu-lite ul.wpacu-script-attributes-settings li:first-child{margin:0 10px 0 0!important}.wpacu-script-attributes-area.wpacu-lite ul.wpacu-script-attributes-settings li:last-child{margin:0 2px 0 0!important}.wpacu-script-attributes-area .wpacu-script-attributes-settings{background:#fff!important;border:1px solid #eee!important;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;padding:5px 10px!important;list-style:none;display:inline-block;margin:0}.wpacu-script-attributes-area .wpacu-script-attributes-settings input[type=radio]{width:auto;padding:0;margin:0 5px 0 0}.wpacu-script-attributes-area .wpacu-script-attributes-settings.wpacu-first{margin:0 34px 0 0!important}.wpacu-script-attributes-area .wpacu-script-attributes-settings li{float:left;margin:0 17px 0 0}.wpacu-script-attributes-area .wpacu-script-attributes-settings li:first-child{margin:0 10px 0 0!important}.wpacu-script-attributes-area .wpacu-script-attributes-settings li:last-child{margin:0}.wpacu-script-attributes-area .wpacu-script-attributes-settings:hover{background:#f2faf2}tr.wpacu_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_meta_box_content,.wpacu_widefat{width:99%}.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 .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{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-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_exception_options_area_wrap{padding:5px 10px 7px;background:#fff!important;border:1px solid #eee!important}.wpacu_exception_options_area_wrap label.wpacu_bold span{font-weight:600!important}.wpacu_exception_options_area_wrap input[type=text]{line-height:normal;min-height:20px;min-width:300px;padding:4px}.wpacu_exception_options_area_wrap input[type=text].wpacu_disabled{background:#fbfafa!important;color:inherit}.wpacu_exception_options_area_wrap p:first-of-type{margin-top:0}#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.wpacu_exception_options_area li{display:inline-block;float:left;margin:1px 25px 1px 0;line-height:30px}#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: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.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{color:red!important}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_global_rule_row.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,.wpacu_list_table div,.wpacu_list_table li,.wpacu_list_table p{font-weight:400}.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 .wpacu-tooltip,.wordpress-core-file .wpacu-tooltip{line-height:18px;z-index:1;text-align:center;-webkit-transition:.1s all ease;font-size:14px}.go-pro-link-no-style>img{max-width:20px;max-height:20px}.go-pro-link-no-style .wpacu-tooltip{position:absolute;visibility:hidden;width:160px;background-color:#00a7a7;color:#fff;padding:8px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;bottom:100%;bottom:calc(100% + 15px);left:50%;margin-left:-65px;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{position:absolute;visibility:hidden;width:160px;background-color:#c00;color:#fff;padding:6px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;bottom:100%;bottom:calc(100% + 15px);left:50%;margin-left:-86px;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:auto;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:150px}.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]: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-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{margin-top:10px!important}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{margin-top:12px!important;padding-top:5px;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:inline-flex;-webkit-flex-wrap:wrap;flex-wrap:wrap}.wrap_bulk_unload_options .wpacu_asset_options_wrap{flex-grow:1;margin:5px 10px 14px 0!important;padding:8px 10px 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_slider_text{position:absolute;left:62px;top:3px}.editor-post-saved-state.is-wpacu-reloading{animation:edit-post__loading-fade-animation .5s infinite}body.wp-admin .wpacu_asset_row.wpacu-loading{position:relative}body.wp-admin .wpacu_asset_row.wpacu-loading .wpacu-ajax-loader{display:block!important}body.wp-admin .wpacu_asset_row .wpacu-ajax-loader{display:none;width:58px;height:58px;position:absolute;bottom:0;right:0;opacity:.75}.wpacu_asset_row input{width:auto;height:auto;min-height:16px}.wpacu_asset_row .tip{background:inherit;border-left:4px solid #e7e7e7;margin:5px 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 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: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{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 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 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 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-toggle-all{display:inline-block;padding:7px 12px 16px;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-assets-last{margin-bottom:18px}.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{font-size:80%;padding:0 8px;max-height:0;overflow:hidden;background-color:#fbfbfb8c}.wpacu-assets-inline-code-collapsible-content>div{padding:7px 8px 0}.wpacu-assets-inline-code-collapsible-content>div>p{line-height:normal!important}.wpacu-assets-inline-code-collapsible-content>div>p:first-child{margin-top:0}.wpacu-assets-inline-code-collapsible-content.wpacu-open{max-height:100%}.wpacu_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_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}.wp-list-table .wpacu_remove_global_attr_row.wpacu_selected,.wp-list-table .wpacu_restore_position_row.wpacu_selected{background:#e7e7e7}ul.hire-reasons{margin-bottom:20px}ul.hire-reasons li{font-size:14px;line-height:22px;margin-bottom:12px}ul.hire-reasons li .dashicons{font-size:23px;line-height:23px}ul.hire-reasons li .dashicons.dashicons-yes{color:green}ol.getting-started li{font-size:14px;line-height:22px;margin-bottom:8px}.wpacu-get-help-wrap p{font-size:14px}.wpacu-get-help-wrap .help-content-wrap{margin:20px 0 25px;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-moz-flex;display:-webkit-flex;display:flex;width:100%}@media only screen and (min-width:768px){.wpacu-get-help-wrap .help-content-wrap{-webkit-box-align:start;-ms-flex-align:start;-ms-grid-row-align:flex-start;align-items:flex-start}}@media only screen and (max-width:767px){.wpacu-get-help-wrap .help-content-wrap{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.wpacu-get-help-wrap .help-content-wrap .help-content{padding:15px;background:#fff;border:1px solid #E0E0E0;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px;box-shadow:2px 3px 8px 0 #231f2038;flex:1 1 50%;margin-bottom:10px}.wpacu-get-help-wrap .help-content-wrap .help-content .content-title{margin:5px 0 15px}.wpacu-get-help-wrap .help-content-wrap .help-content .cols-wrap{width:100%;margin:0 auto;display:table}.wpacu-get-help-wrap .help-content-wrap .help-content .wpacu-image-area{margin:5px 0 0;position:relative}.wpacu-get-help-wrap .help-content-wrap .help-content .wpacu-image-area.col-left{float:left;width:48%}.wpacu-get-help-wrap .help-content-wrap .help-content .wpacu-image-area.col-right{float:right;width:48%}.wpacu-get-help-wrap .help-content-wrap .help-content .wpacu-image-area.activate-plugin img{max-width:280px}.wpacu-get-help-wrap .help-content-wrap .help-content .wpacu-image-area img{width:99%;margin:8px 0;border:1px solid #cdcdcd;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px}.wpacu-get-help-wrap .help-content-wrap .help-content.upgrade-help{order:2}@media only screen and (min-width:768px){.wpacu-get-help-wrap .help-content-wrap .help-content{margin-right:24px}.wpacu-get-help-wrap .help-content-wrap .help-content.upgrade-help{margin-right:0}}.wpacu-get-help-wrap .help-content-wrap .help-content.tech-help{order:1}@media only screen and (max-width:767px){.wpacu-get-help-wrap .help-content-wrap .help-content.tech-help{margin-bottom:30px}}.wpacu-get-help-wrap .help-content-wrap .help-content ul{list-style:none;padding-left:0}.wpacu-get-help-wrap .help-content-wrap .help-content ul li{font-size:14px;line-height:22px;margin-bottom:15px}.wpacu-get-help-wrap .help-content-wrap .help-content p:last-child,.wpacu-get-help-wrap .help-content-wrap .help-content ul li:last-child{margin-bottom:0}#wpacu-license-data-remove-area{display:none;margin:10px 0 25px}#wpacu-license-data-remove-area.wpacu-visible{display:block}span#wpacu-license-data-removed-msg{display:block;padding-left:26px}#wpacu-warning-read{display:none;margin:10px 0}#wpacu-warning-read span.dashicons-warning{color:#c00}#wpacu-warning-read.wpacu-visible{display:block}#wpacu-reset-submit-area{margin:10px 0;clear:both}#wpacu-reset-submit-btn{margin:10px 0 0}.wpacu-tools-area{margin:10px 20px 0 2px}.wpacu-tools-area .wpacu-tools-container{background:#fff;padding:15px;border:1px solid #cdcdcd;width:96%}.wpacu-tools-area .wpacu-tools-container form>div:first-child{margin:0 0 10px}.wpacu-tools-area .wpacu-tools-container form .wpacu-warning{display:none;box-sizing:border-box;margin-top:10px}.wpacu-tools-area .wpacu-tools-container form .wpacu-warning p{margin:0 0 10px;line-height:22px}.wpacu-tools-area .wpacu-tools-container form .wpacu-warning p:only-child{margin:0}.wpacu-tools-area .wpacu-tools-container form .wpacu-warning ul{font-size:13px;list-style-type:disc;padding-left:30px}.wpacu-tools-area .wpacu-tools-container form .wpacu-warning.wpacu-visible{display:block}.wpacu-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;border:1px solid #DDD;padding:10px 16px;empty-cells:show;text-align:left}@media only screen and (max-width:767px){.wpacu-lite-vs-pro-wrap td,.wpacu-lite-vs-pro-wrap th{font-size:14px}}.wpacu-lite-vs-pro-wrap td+td,.wpacu-lite-vs-pro-wrap th+th{text-align:center;display:none}.wpacu-lite-vs-pro-wrap td.default{display:table-cell}.wpacu-lite-vs-pro-wrap .txt-l{font-size:28px;font-weight:700}.wpacu-lite-vs-pro-wrap .txt-top{position:relative;top:-9px;left:-2px}.wpacu-lite-vs-pro-wrap svg{width:18px;height:18px}.wpacu-lite-vs-pro-wrap svg path{fill:green}.wpacu-lite-vs-pro-wrap .tick{color:#2CA01C}.wpacu-lite-vs-pro-wrap .tick img{fill:#2CA01C}@media only screen and (max-width:767px){.wpacu-lite-vs-pro-wrap .txt-l{font-size:20px}.wpacu-lite-vs-pro-wrap .tick{font-size:15px}}.wpacu-lite-vs-pro-wrap .na{font-size:18px;opacity:.3;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=30)"}.wpacu-lite-vs-pro-wrap .hide{border:0;background:0 0}.wpacu-lite-vs-pro-wrap td,.wpacu-lite-vs-pro-wrap th{display:table-cell!important;width:auto}.wpacu-lite-vs-pro-wrap td+td,.wpacu-lite-vs-pro-wrap th+th{width:130px}@media only screen and (max-width:767px){.wpacu-lite-vs-pro-wrap .na{font-size:15px}.wpacu-lite-vs-pro-wrap td+td,.wpacu-lite-vs-pro-wrap th+th{width:42px}}@media only screen and (min-width:768px){.wpacu-lite-vs-pro-wrap td .button{font-size:16px!important}}@media only screen and (max-width:767px){.wpacu-lite-vs-pro-wrap td .button{font-size:14px!important;padding:0 20px!important}.wpacu-lite-vs-pro-wrap td .button.button-primary{margin-top:6px;margin-bottom:14px}}@media only screen and (min-width:768px){.wpacu-lite-vs-pro-wrap{margin-bottom:40px;clear:both}}.wpacu-video-areas>div{padding:20px;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px}.wpacu-video-areas>div:nth-child(odd){background:#fff}.wpacu-video-areas>div:nth-child(even){background:inherit}@media only screen and (min-width:1200px){.wpacu-video-areas .wpacu-video-area-wrapper{margin:0 0 15px;display:flex}.wpacu-video-areas .wpacu-video-area-wrapper .wpacu-col-right{padding:0 20px 0 25px}}@media only screen and (min-width:992px) and (max-width:1199px){.wpacu-video-areas .wpacu-video-area-wrapper{margin:0 0 40px}}.wpacu-video-areas .wpacu-video-area-wrapper ol{font-size:14px}.wpacu-video-areas .wpacu-video-area-wrapper ul{font-size:14px;list-style:disc;margin-left:22px}@media only screen and (min-width:1200px){.wpacu-video-areas .wpacu-video-area-wrapper .wpacu-col-right p:first-child{margin-top:0}.wpacu-video-areas .wpacu-video-area-wrapper .wpacu-col-right p:last-child{margin-bottom:0}}@media only screen and (max-width:1199px){.wpacu-video-areas .wpacu-video-area-wrapper .wpacu-video-wrapper{position:relative;padding-bottom:56.25%;padding-top:30px;height:0;overflow:hidden}.wpacu-video-areas .wpacu-video-area-wrapper .wpacu-video-wrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%}}#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-content{background-color:#fefefe;margin:auto;padding:20px;border:1px solid #888;width:80%;max-width:600px;border-radius:10px}body.wp-admin .wpacu-close{color:#aaa;float:right;font-size:28px;font-weight:700}body.wp-admin .wpacu-close:focus,body.wp-admin .wpacu-close:hover{color:#000;text-decoration:none;cursor:pointer}.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}
|
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;margin:0 auto;padding:0;max-width:1200px;list-style:none;-ms-box-orient:horizontal;-ms-box-pack:center;-webkit-flex-flow:row wrap;-moz-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-justify-content:center;-moz-justify-content:center;-ms-justify-content:center;justify-content:center}.wpacu-tabs nav ul li{position:relative;z-index:1;display:block;margin:0;text-align:center;-webkit-flex:1;-moz-flex:1;-ms-flex:1;flex:1}.wpacu-tabs nav ul li span.extra-info{position:absolute;font-size:12px;left:0;right:50%;bottom:12px;-webkit-transform:translate(50%,50%);transform:translate(50%,50%)}.wpacu-tabs nav ul li span.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:1200px;margin:20px auto 30px 0;width:100%;font-weight:300;text-decoration:none}.wpacu-tabs-style-topline nav li{border:1px solid rgba(40,44,42,.1)}.wpacu-tabs-style-topline nav li:not(:last-child){border-right:none}.wpacu-tabs-style-topline nav li.wpacu-tab-current{border-top-color:#008f9c;border-bottom:none}.wpacu-tabs-style-topline nav a{padding:20px 18px;background:rgba(40,44,42,.05);color:#74777b;line-height:1;-webkit-transition:color .2s;transition:color .2s;text-decoration:none}.wpacu-tabs-style-topline nav a:focus,.wpacu-tabs-style-topline nav a:hover{background:0 0;color:#008f9c}.wpacu-tabs-style-topline nav li.wpacu-tab-current a{background:0 0;box-shadow:inset 0 3px 0 #008f9c;color:#008f9c}.wpacu-tabs-style-topline nav li.wpacu-tab-current a span:not(.dashicons){font-weight:600}.wpacu-tabs-style-topline nav a span{text-transform:uppercase;font-weight:400}.wpacu-tab-nav-wrapper{border-bottom:none!important}.wpacu-tab-nav-wrapper .nav-tab.nav-tab-active{background:#fff;position:relative}.wpacu-tab-nav-wrapper .nav-tab.nav-tab-active:after{content:"";width:100%;bottom:-2px;left:0;position:absolute;border-bottom:2px solid #fff}.wpacu_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_meta_box_content,.wpacu_widefat{width:99%}.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 .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{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;vertical-align:middle}#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 .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_handle_unload_regex_input_wrap{display:block}@media only screen and (min-width:1200px){.wpacu_load_regex_input_wrap{display:inline-block}}.wpacu_exception_options_area_wrap{display:table;padding:4px 10px 5px;background:#fff!important;border:1px solid #eee!important}.wpacu_exception_options_area_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_exception_options_area_wrap input[type=text].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:middle;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.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: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.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{color:red!important}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_global_rule_row.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,.wpacu_list_table div,.wpacu_list_table li,.wpacu_list_table p{font-weight:400}.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-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-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:auto;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:150px}.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]: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-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:inline-flex;-webkit-flex-wrap:wrap;flex-wrap:wrap}.wrap_bulk_unload_options .wpacu_asset_options_wrap{flex-grow:1;margin:5px 10px 14px 0!important;padding:8px 10px 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_slider_text{position:absolute;left:62px;top:3px}.wpacu-wrap tr.wpacu_regex_rule_row{opacity:.45}.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 .wpacu_asset_row.wpacu-loading{position:relative}body.wp-admin .wpacu_asset_row.wpacu-loading .wpacu-ajax-loader{display:block!important}body.wp-admin .wpacu_asset_row .wpacu-ajax-loader{display:none;width:58px;height:58px;position:absolute;bottom:0;right:0;opacity:.75}.wpacu_asset_row input{width:auto;height:auto;min-height:16px}.wpacu_asset_row .tip{background:inherit;border-left:4px solid #e7e7e7;margin:0 0 5px;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 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{font-size:80%;padding:0 8px;max-height:0;overflow:hidden;background-color:#fbfbfb8c}.wpacu-assets-inline-code-collapsible-content>div{padding:7px 8px 0}.wpacu-assets-inline-code-collapsible-content>div>p{line-height:normal!important}.wpacu-assets-inline-code-collapsible-content>div>p:first-child{margin-top:0}.wpacu-assets-inline-code-collapsible-content.wpacu-open{max-height:100%}.wpacu_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_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] table.wp-list-table tr:not(:first-of-type):not(.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}ol.getting-started li{font-size:14px;line-height:22px;margin-bottom:8px}.wpacu-get-help-wrap p{font-size:14px}.wpacu-get-help-wrap .help-content-wrap{margin:20px 0 25px;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-moz-flex;display:-webkit-flex;display:flex;width:100%}@media only screen and (min-width:768px){.wpacu-get-help-wrap .help-content-wrap{-webkit-box-align:start;-ms-flex-align:start;-ms-grid-row-align:flex-start;align-items:flex-start}}@media only screen and (max-width:767px){.wpacu-get-help-wrap .help-content-wrap{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.wpacu-get-help-wrap .help-content-wrap .help-content{padding:15px;background:#fff;border:1px solid #E0E0E0;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px;box-shadow:2px 3px 8px 0 #231f2038;flex:1 1 50%;margin-bottom:10px}.wpacu-get-help-wrap .help-content-wrap .help-content .content-title{margin:5px 0 15px}.wpacu-get-help-wrap .help-content-wrap .help-content .cols-wrap{width:100%;margin:0 auto;display:table}.wpacu-get-help-wrap .help-content-wrap .help-content .wpacu-image-area{margin:5px 0 0;position:relative}.wpacu-get-help-wrap .help-content-wrap .help-content .wpacu-image-area.col-left{float:left;width:48%}.wpacu-get-help-wrap .help-content-wrap .help-content .wpacu-image-area.col-right{float:right;width:48%}.wpacu-get-help-wrap .help-content-wrap .help-content .wpacu-image-area.activate-plugin img{max-width:280px}.wpacu-get-help-wrap .help-content-wrap .help-content .wpacu-image-area img{width:99%;margin:8px 0;border:1px solid #cdcdcd;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px}.wpacu-get-help-wrap .help-content-wrap .help-content.upgrade-help{order:2}@media only screen and (min-width:768px){.wpacu-get-help-wrap .help-content-wrap .help-content{margin-right:24px}.wpacu-get-help-wrap .help-content-wrap .help-content.upgrade-help{margin-right:0}}.wpacu-get-help-wrap .help-content-wrap .help-content.tech-help{order:1}@media only screen and (max-width:767px){.wpacu-get-help-wrap .help-content-wrap .help-content.tech-help{margin-bottom:30px}}.wpacu-get-help-wrap .help-content-wrap .help-content ul{list-style:none;padding-left:0}.wpacu-get-help-wrap .help-content-wrap .help-content ul li{font-size:14px;line-height:22px;margin-bottom:15px}.wpacu-get-help-wrap .help-content-wrap .help-content p:last-child,.wpacu-get-help-wrap .help-content-wrap .help-content ul li:last-child{margin-bottom:0}#wpacu-license-data-remove-area{display:none;margin:10px 0 25px}#wpacu-license-data-remove-area.wpacu-visible{display:block}span#wpacu-license-data-removed-msg{display:block;padding-left:26px}#wpacu-warning-read{display:none;margin:10px 0}#wpacu-warning-read span.dashicons-warning{color:#c00}#wpacu-warning-read.wpacu-visible{display:block}#wpacu-reset-submit-area{margin:10px 0;clear:both}#wpacu-reset-submit-btn{margin:10px 0 0}.wpacu-tools-area{margin:10px 20px 0 2px}.wpacu-tools-area .wpacu-tools-container{background:#fff;padding:15px;border:1px solid #cdcdcd;width:96%}.wpacu-tools-area .wpacu-tools-container form>div:first-child{margin:0 0 10px}.wpacu-tools-area .wpacu-tools-container form .wpacu-warning{display:none;box-sizing:border-box;margin-top:10px}.wpacu-tools-area .wpacu-tools-container form .wpacu-warning p{margin:0 0 10px;line-height:22px}.wpacu-tools-area .wpacu-tools-container form .wpacu-warning p:only-child{margin:0}.wpacu-tools-area .wpacu-tools-container form .wpacu-warning ul{font-size:13px;list-style-type:disc;padding-left:30px}.wpacu-tools-area .wpacu-tools-container form .wpacu-warning.wpacu-visible{display:block}.wpacu-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;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-content{background-color:#fefefe;margin:auto;padding:20px;border:1px solid #888;width:80%;max-width:600px;border-radius:10px}body.wp-admin .wpacu-close{color:#aaa;float:right;font-size:28px;font-weight:700}body.wp-admin .wpacu-close:focus,body.wp-admin .wpacu-close:hover{color:#000;text-decoration:none;cursor:pointer}.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}
|
classes/Main.php
CHANGED
@@ -252,20 +252,28 @@ class Main
|
|
252 |
add_action( 'wp_print_footer_scripts', array( $this, 'filterScripts' ), 1 );
|
253 |
add_action( 'wp_print_footer_scripts', array( $this, 'filterStyles' ), 1 );
|
254 |
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
|
261 |
echo Preloads::DEL_STYLES_PRELOADS . Preloads::DEL_SCRIPTS_PRELOADS;
|
262 |
}, 1);
|
263 |
|
264 |
add_filter('style_loader_tag', static function($styleTag, $tagHandle) {
|
|
|
|
|
|
|
|
|
265 |
return str_replace('<link ', '<link data-wpacu-style-handle=\'' . $tagHandle . '\' ', $styleTag);
|
266 |
}, 10, 2);
|
267 |
|
268 |
add_filter('script_loader_tag', static function($scriptTag, $tagHandle) {
|
|
|
|
|
|
|
|
|
269 |
$scriptTag = str_replace('<script ', '<script data-wpacu-script-handle=\'' . $tagHandle . '\' ', $scriptTag);
|
270 |
|
271 |
if ($tagHandle === 'jquery-core') {
|
@@ -322,7 +330,7 @@ SQL;
|
|
322 |
*/
|
323 |
public function triggersAfterInit()
|
324 |
{
|
325 |
-
|
326 |
$this->settings = $wpacuSettingsClass->getAll();
|
327 |
|
328 |
if ($this->settings['dashboard_show'] && $this->settings['dom_get_type']) {
|
@@ -443,7 +451,14 @@ SQL;
|
|
443 |
$this->loadExceptions = $this->getLoadExceptions($type, $this->currentPostId);
|
444 |
|
445 |
// [wpacu_pro]
|
446 |
-
$this->
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
447 |
// [wpacu_pro]
|
448 |
|
449 |
}
|
@@ -532,9 +547,9 @@ SQL;
|
|
532 |
}
|
533 |
}
|
534 |
|
535 |
-
|
536 |
-
|
537 |
-
|
538 |
}
|
539 |
|
540 |
// Nothing to unload
|
@@ -662,6 +677,7 @@ SQL;
|
|
662 |
$allStyles = $this->wpStylesFilter($wp_styles, 'registered', $list);
|
663 |
|
664 |
if ($allStyles !== null && ! empty($allStyles->registered)) {
|
|
|
665 |
foreach ($allStyles->registered as $handle => $value) {
|
666 |
// This could be triggered several times, check if the style already exists
|
667 |
if (! isset($this->wpAllStyles['registered'][$handle])) {
|
@@ -720,50 +736,44 @@ SQL;
|
|
720 |
{
|
721 |
global $wp_styles, $oxygen_vsb_css_styles;
|
722 |
|
723 |
-
if ($listType === 'registered') {
|
724 |
-
|
725 |
-
$stylesSpecialCases = array();
|
726 |
|
727 |
-
|
728 |
-
|
729 |
-
|
730 |
-
|
731 |
-
|
732 |
-
|
733 |
|
734 |
-
|
735 |
|
736 |
-
|
737 |
-
|
738 |
-
|
739 |
-
}
|
740 |
}
|
|
|
741 |
|
742 |
-
|
743 |
-
|
744 |
-
|
745 |
-
|
746 |
-
}
|
747 |
}
|
748 |
|
749 |
-
if ($listType === 'done') {
|
750 |
-
|
751 |
-
|
752 |
-
|
753 |
-
|
754 |
-
|
755 |
-
}
|
756 |
-
}
|
757 |
}
|
758 |
|
759 |
-
if ($listType === 'queue') {
|
760 |
-
|
761 |
-
|
762 |
-
|
763 |
-
|
764 |
-
|
765 |
-
}
|
766 |
-
}
|
767 |
}
|
768 |
|
769 |
return $wpStylesFilter;
|
@@ -805,84 +815,74 @@ SQL;
|
|
805 |
}
|
806 |
|
807 |
/**
|
808 |
-
* Alter CSS list marked for dequeue
|
809 |
-
*
|
810 |
* @return mixed
|
811 |
*/
|
812 |
-
public function
|
813 |
{
|
814 |
-
$
|
815 |
-
|
816 |
-
if (isset($_GET['wpacu_unload_css']) && $_GET['wpacu_unload_css']) {
|
817 |
-
$unloadCss = $_GET['wpacu_unload_css'];
|
818 |
|
819 |
-
|
820 |
-
|
821 |
-
|
822 |
-
$this->ignoreChildrenHandlesOnTheFly['styles'][] = $unloadCss;
|
823 |
-
}
|
824 |
|
825 |
-
|
826 |
-
} else {
|
827 |
-
$unloadCssList = explode(',', $unloadCss);
|
828 |
|
829 |
-
|
830 |
-
|
|
|
|
|
|
|
831 |
|
832 |
-
|
833 |
-
|
834 |
-
|
835 |
-
|
836 |
-
}
|
837 |
|
838 |
-
|
|
|
|
|
|
|
839 |
}
|
|
|
|
|
840 |
}
|
841 |
}
|
842 |
}
|
843 |
|
844 |
-
return $
|
845 |
}
|
846 |
|
847 |
/**
|
848 |
-
|
849 |
*
|
850 |
* @return mixed
|
851 |
*/
|
852 |
-
public function
|
853 |
-
|
854 |
-
|
|
|
|
|
855 |
|
856 |
-
|
857 |
-
|
|
|
|
|
|
|
|
|
858 |
|
859 |
-
|
860 |
-
|
861 |
-
|
862 |
-
|
863 |
}
|
|
|
|
|
864 |
|
865 |
-
|
866 |
-
|
867 |
-
$unloadCssList = explode(',', $unloadJs);
|
868 |
-
|
869 |
-
foreach ($unloadCssList as $unloadJs) {
|
870 |
-
$unloadJs = trim($unloadJs);
|
871 |
-
|
872 |
-
if ($unloadJs) {
|
873 |
-
if (strpos($unloadJs, '[ignore-deps]') !== false) {
|
874 |
-
$unloadJs = str_replace('[ignore-deps]', '', $unloadJs);
|
875 |
-
$this->ignoreChildrenHandlesOnTheFly['scripts'][] = $unloadJs;
|
876 |
-
}
|
877 |
-
|
878 |
-
$jsHandles[] = $unloadJs;
|
879 |
-
}
|
880 |
-
}
|
881 |
-
}
|
882 |
-
}
|
883 |
-
|
884 |
-
return $jsHandles;
|
885 |
-
}
|
886 |
|
887 |
/**
|
888 |
* @param string $type
|
@@ -923,7 +923,7 @@ SQL;
|
|
923 |
);
|
924 |
}
|
925 |
|
926 |
-
|
927 |
$exceptionsList = json_decode($exceptionsListJson, true);
|
928 |
|
929 |
if (Misc::jsonLastError() !== JSON_ERROR_NONE) {
|
@@ -931,21 +931,32 @@ SQL;
|
|
931 |
}
|
932 |
}
|
933 |
|
934 |
-
|
|
|
|
|
|
|
935 |
}
|
936 |
|
937 |
/**
|
938 |
-
|
939 |
-
*
|
|
|
|
|
|
|
940 |
* @return array
|
941 |
*/
|
942 |
-
public static function
|
943 |
{
|
944 |
$regExes = array('styles' => array(), 'scripts' => array());
|
945 |
|
946 |
$regExDbListJson = get_option(WPACU_PLUGIN_ID . '_global_data');
|
947 |
|
948 |
-
|
|
|
|
|
|
|
|
|
|
|
949 |
|
950 |
if ($regExDbListJson) {
|
951 |
$regExDbList = @json_decode($regExDbListJson, true);
|
@@ -955,7 +966,7 @@ SQL;
|
|
955 |
return $regExes;
|
956 |
}
|
957 |
|
958 |
-
// Are
|
959 |
foreach (array('styles', 'scripts') as $assetKey) {
|
960 |
if ( isset( $regExDbList[$assetKey][$globalKey] ) && ! empty( $regExDbList[$assetKey][$globalKey] ) ) {
|
961 |
$regExes[$assetKey] = $regExDbList[$assetKey][$globalKey];
|
@@ -1189,6 +1200,10 @@ SQL;
|
|
1189 |
*/
|
1190 |
public function printScriptsStyles()
|
1191 |
{
|
|
|
|
|
|
|
|
|
1192 |
// Not for WordPress AJAX calls
|
1193 |
if (self::$domGetType === 'direct' && defined('DOING_AJAX') && DOING_AJAX) {
|
1194 |
return;
|
@@ -1399,7 +1414,7 @@ SQL;
|
|
1399 |
|
1400 |
$data['wpacu_page_just_updated'] = false;
|
1401 |
|
1402 |
-
if (get_transient('wpacu_page_just_updated')) {
|
1403 |
$data['wpacu_page_just_updated'] = true;
|
1404 |
delete_transient('wpacu_page_just_updated');
|
1405 |
}
|
@@ -1479,10 +1494,6 @@ SQL;
|
|
1479 |
$data['preloads'] = Preloads::instance()->getPreloads();
|
1480 |
$data['handle_notes'] = $this->getHandleNotes();
|
1481 |
|
1482 |
-
// [wpacu_pro]
|
1483 |
-
$data['handle_load_regex'] = self::getLoadRegexExceptions();
|
1484 |
-
// [/wpacu_pro]
|
1485 |
-
|
1486 |
$data['ignore_child'] = $this->getIgnoreChildren();
|
1487 |
|
1488 |
$this->parseTemplate('settings-frontend', $data, true);
|
@@ -1650,11 +1661,6 @@ SQL;
|
|
1650 |
|
1651 |
$data['load_exceptions'] = $this->getLoadExceptions($type, $postId);
|
1652 |
|
1653 |
-
// [wpacu_pro]
|
1654 |
-
// e.g. Load it if URL matches chosen RegEx
|
1655 |
-
$data['handle_load_regex'] = self::getLoadRegexExceptions();
|
1656 |
-
// [/wpacu_pro]
|
1657 |
-
|
1658 |
$data['total_styles'] = ! empty($data['all']['styles']) ? count($data['all']['styles']) : 0;
|
1659 |
$data['total_scripts'] = ! empty($data['all']['scripts']) ? count($data['all']['scripts']) : 0;
|
1660 |
|
@@ -1754,17 +1760,17 @@ SQL;
|
|
1754 |
$data['all']['styles'][$key]->baseUrl = $localSrc['base_url'];
|
1755 |
}
|
1756 |
|
1757 |
-
|
1758 |
-
|
1759 |
-
|
1760 |
-
|
1761 |
-
|
1762 |
-
|
1763 |
-
|
1764 |
-
|
1765 |
-
|
1766 |
-
|
1767 |
-
|
1768 |
$parentDir = isset($parts[1]) ? $parts[1] : '';
|
1769 |
|
1770 |
// Loaded from WordPress directories (Core)
|
@@ -1886,7 +1892,7 @@ SQL;
|
|
1886 |
$assetsRemovedDecoded = json_decode($this->assetsRemoved, ARRAY_A);
|
1887 |
|
1888 |
if (Misc::getVar('get', 'wpacu_unload_css')) {
|
1889 |
-
$cssOnTheFlyList = $this->
|
1890 |
|
1891 |
if (! empty($cssOnTheFlyList)) {
|
1892 |
foreach ($cssOnTheFlyList as $cssHandle) {
|
@@ -1896,7 +1902,7 @@ SQL;
|
|
1896 |
}
|
1897 |
|
1898 |
if (Misc::getVar('get', 'wpacu_unload_js')) {
|
1899 |
-
$jsOnTheFlyList = $this->
|
1900 |
|
1901 |
if (! empty($jsOnTheFlyList)) {
|
1902 |
foreach ($jsOnTheFlyList as $jsHandle) {
|
@@ -2121,8 +2127,8 @@ SQL;
|
|
2121 |
}
|
2122 |
|
2123 |
// Is test mode enabled? Unload assets ONLY for the admin
|
2124 |
-
if (
|
2125 |
-
return true; // visitors (non-logged in) will view the pages with all the assets loaded
|
2126 |
}
|
2127 |
|
2128 |
if (defined('WPACU_CURRENT_PAGE_ID') && WPACU_CURRENT_PAGE_ID > 0) {
|
@@ -2136,6 +2142,28 @@ SQL;
|
|
2136 |
return false;
|
2137 |
}
|
2138 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2139 |
/**
|
2140 |
* @return bool
|
2141 |
*/
|
@@ -2176,8 +2204,8 @@ SQL;
|
|
2176 |
*/
|
2177 |
public function wpacuHtmlNoticeForAdmin()
|
2178 |
{
|
2179 |
-
add_action('wp_footer', function() {
|
2180 |
-
if (! apply_filters('wpacu_show_admin_console_notice', true)) {
|
2181 |
return;
|
2182 |
}
|
2183 |
|
252 |
add_action( 'wp_print_footer_scripts', array( $this, 'filterScripts' ), 1 );
|
253 |
add_action( 'wp_print_footer_scripts', array( $this, 'filterStyles' ), 1 );
|
254 |
|
255 |
+
// Preloads
|
256 |
+
add_action('wp_head', static function() {
|
257 |
+
if ( Plugin::preventAnyChanges() || self::isTestModeActive() ) {
|
258 |
+
return;
|
259 |
+
}
|
260 |
|
261 |
echo Preloads::DEL_STYLES_PRELOADS . Preloads::DEL_SCRIPTS_PRELOADS;
|
262 |
}, 1);
|
263 |
|
264 |
add_filter('style_loader_tag', static function($styleTag, $tagHandle) {
|
265 |
+
if ( Plugin::preventAnyChanges() || self::isTestModeActive() ) {
|
266 |
+
return $styleTag;
|
267 |
+
}
|
268 |
+
|
269 |
return str_replace('<link ', '<link data-wpacu-style-handle=\'' . $tagHandle . '\' ', $styleTag);
|
270 |
}, 10, 2);
|
271 |
|
272 |
add_filter('script_loader_tag', static function($scriptTag, $tagHandle) {
|
273 |
+
if ( Plugin::preventAnyChanges() || self::isTestModeActive() ) {
|
274 |
+
return $scriptTag;
|
275 |
+
}
|
276 |
+
|
277 |
$scriptTag = str_replace('<script ', '<script data-wpacu-script-handle=\'' . $tagHandle . '\' ', $scriptTag);
|
278 |
|
279 |
if ($tagHandle === 'jquery-core') {
|
330 |
*/
|
331 |
public function triggersAfterInit()
|
332 |
{
|
333 |
+
$wpacuSettingsClass = new Settings();
|
334 |
$this->settings = $wpacuSettingsClass->getAll();
|
335 |
|
336 |
if ($this->settings['dashboard_show'] && $this->settings['dom_get_type']) {
|
451 |
$this->loadExceptions = $this->getLoadExceptions($type, $this->currentPostId);
|
452 |
|
453 |
// [wpacu_pro]
|
454 |
+
if ($this->frontendShow()) { // For Lite
|
455 |
+
// Only relevant if a downgrade was done from Pro to Lite
|
456 |
+
// and the admin will notice any RegEx data added
|
457 |
+
// [wpacu_pro]
|
458 |
+
$this->unloadsRegEx = self::getRegExRules('unloads');
|
459 |
+
$this->loadExceptionsRegEx = self::getRegExRules('load_exceptions');
|
460 |
+
// [/wpacu_pro]
|
461 |
+
}
|
462 |
// [wpacu_pro]
|
463 |
|
464 |
}
|
547 |
}
|
548 |
}
|
549 |
|
550 |
+
if (isset($this->wpAllScripts['queue']) && ! empty($this->wpAllScripts['queue'])) {
|
551 |
+
$this->wpAllScripts['queue'] = array_unique( $this->wpAllScripts['queue'] );
|
552 |
+
}
|
553 |
}
|
554 |
|
555 |
// Nothing to unload
|
677 |
$allStyles = $this->wpStylesFilter($wp_styles, 'registered', $list);
|
678 |
|
679 |
if ($allStyles !== null && ! empty($allStyles->registered)) {
|
680 |
+
// Going through all the registered styles
|
681 |
foreach ($allStyles->registered as $handle => $value) {
|
682 |
// This could be triggered several times, check if the style already exists
|
683 |
if (! isset($this->wpAllStyles['registered'][$handle])) {
|
736 |
{
|
737 |
global $wp_styles, $oxygen_vsb_css_styles;
|
738 |
|
739 |
+
if ( ( $listType === 'registered' ) && isset( $oxygen_vsb_css_styles->registered ) && is_object( $oxygen_vsb_css_styles ) && ! empty( $oxygen_vsb_css_styles->registered ) ) {
|
740 |
+
$stylesSpecialCases = array();
|
|
|
741 |
|
742 |
+
foreach ($oxygen_vsb_css_styles->registered as $oxygenHandle => $oxygenValue) {
|
743 |
+
if (! array_key_exists($oxygenHandle, $wp_styles->registered)) {
|
744 |
+
$wpStylesFilter->registered[$oxygenHandle] = $oxygenValue;
|
745 |
+
$stylesSpecialCases[$oxygenHandle] = $oxygenValue->src;
|
746 |
+
}
|
747 |
+
}
|
748 |
|
749 |
+
$unloadedSpecialCases = array();
|
750 |
|
751 |
+
foreach ($unloadedList as $unloadedHandle) {
|
752 |
+
if (array_key_exists($unloadedHandle, $stylesSpecialCases)) {
|
753 |
+
$unloadedSpecialCases[$unloadedHandle] = $stylesSpecialCases[$unloadedHandle];
|
|
|
754 |
}
|
755 |
+
}
|
756 |
|
757 |
+
if (! empty($unloadedSpecialCases)) {
|
758 |
+
// This will be later used in 'wp_loaded' below to extract the special styles
|
759 |
+
echo self::$wpStylesSpecialDelimiters['start'] . json_encode($unloadedSpecialCases) . self::$wpStylesSpecialDelimiters['end'];
|
760 |
+
}
|
|
|
761 |
}
|
762 |
|
763 |
+
if ( ( $listType === 'done' ) && isset( $oxygen_vsb_css_styles->done ) && is_object( $oxygen_vsb_css_styles ) ) {
|
764 |
+
foreach ($oxygen_vsb_css_styles->done as $oxygenHandle) {
|
765 |
+
if (! in_array($oxygenHandle, $wp_styles->done)) {
|
766 |
+
$wpStylesFilter[] = $oxygenHandle;
|
767 |
+
}
|
768 |
+
}
|
|
|
|
|
769 |
}
|
770 |
|
771 |
+
if ( ( $listType === 'queue' ) && isset( $oxygen_vsb_css_styles->queue ) && is_object( $oxygen_vsb_css_styles ) ) {
|
772 |
+
foreach ($oxygen_vsb_css_styles->queue as $oxygenHandle) {
|
773 |
+
if (! in_array($oxygenHandle, $wp_styles->queue)) {
|
774 |
+
$wpStylesFilter[] = $oxygenHandle;
|
775 |
+
}
|
776 |
+
}
|
|
|
|
|
777 |
}
|
778 |
|
779 |
return $wpStylesFilter;
|
815 |
}
|
816 |
|
817 |
/**
|
818 |
+
* Alter CSS/JS list marked for dequeue
|
819 |
+
* @param $for
|
820 |
* @return mixed
|
821 |
*/
|
822 |
+
public function unloadAssetOnTheFly($for)
|
823 |
{
|
824 |
+
$assetType = ($for === 'css') ? 'styles' : 'scripts';
|
825 |
+
$assetIndex = 'wpacu_unload_'.$for;
|
|
|
|
|
826 |
|
827 |
+
if (! ($unloadAsset = Misc::getVar('get', $assetIndex))) {
|
828 |
+
return array();
|
829 |
+
}
|
|
|
|
|
830 |
|
831 |
+
$assetHandles = array();
|
|
|
|
|
832 |
|
833 |
+
if (strpos($unloadAsset, ',') === false) {
|
834 |
+
if (strpos($unloadAsset, '[ignore-deps]') === false) {
|
835 |
+
$unloadAsset = str_replace('[ignore-deps]', '', $unloadAsset);
|
836 |
+
$this->ignoreChildrenHandlesOnTheFly[$assetType][] = $unloadAsset;
|
837 |
+
}
|
838 |
|
839 |
+
$assetHandles[] = $unloadAsset;
|
840 |
+
} else {
|
841 |
+
foreach (explode(',', $unloadAsset) as $unloadAsset) {
|
842 |
+
$unloadAsset = trim($unloadAsset);
|
|
|
843 |
|
844 |
+
if ($unloadAsset) {
|
845 |
+
if (strpos($unloadAsset, '[ignore-deps]') === false) {
|
846 |
+
$unloadAsset = str_replace('[ignore-deps]', '', $unloadAsset);
|
847 |
+
$this->ignoreChildrenHandlesOnTheFly[$assetType][] = $unloadAsset;
|
848 |
}
|
849 |
+
|
850 |
+
$assetHandles[] = $unloadAsset;
|
851 |
}
|
852 |
}
|
853 |
}
|
854 |
|
855 |
+
return $assetHandles;
|
856 |
}
|
857 |
|
858 |
/**
|
859 |
+
* @param $exceptionsList
|
860 |
*
|
861 |
* @return mixed
|
862 |
*/
|
863 |
+
public function makeLoadExceptionOnTheFly($exceptionsList)
|
864 |
+
{
|
865 |
+
foreach (array('css', 'js') as $assetExt) {
|
866 |
+
$assetKey = ($assetExt === 'css') ? 'styles' : 'scripts';
|
867 |
+
$indexToCheck = 'wpacu_load_'.$assetExt;
|
868 |
|
869 |
+
if ( ! ($loadAsset = Misc::getVar('get', $indexToCheck)) ) {
|
870 |
+
if (strpos($loadAsset, ',') === false) {
|
871 |
+
$exceptionsList[$assetKey][] = $loadAsset;
|
872 |
+
} else {
|
873 |
+
foreach (explode(',', $loadAsset) as $loadAsset) {
|
874 |
+
$loadAsset = trim($loadAsset);
|
875 |
|
876 |
+
if ($loadAsset) {
|
877 |
+
$exceptionsList[$assetKey][] = $loadAsset;
|
878 |
+
}
|
879 |
+
}
|
880 |
}
|
881 |
+
}
|
882 |
+
}
|
883 |
|
884 |
+
return $exceptionsList;
|
885 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
886 |
|
887 |
/**
|
888 |
* @param string $type
|
923 |
);
|
924 |
}
|
925 |
|
926 |
+
if ($exceptionsListJson) {
|
927 |
$exceptionsList = json_decode($exceptionsListJson, true);
|
928 |
|
929 |
if (Misc::jsonLastError() !== JSON_ERROR_NONE) {
|
931 |
}
|
932 |
}
|
933 |
|
934 |
+
// Any exceptions on the fly added for debugging purposes? Make sure to grab them
|
935 |
+
$exceptionsList = $this->makeLoadExceptionOnTheFly($exceptionsList);
|
936 |
+
|
937 |
+
return $exceptionsList;
|
938 |
}
|
939 |
|
940 |
/**
|
941 |
+
* Case 1: UNLOAD style/script (based on the handle) for URLs matching a specified RegExp
|
942 |
+
* Case 2: LOAD (make exception) style/script (based on the handle) for URLs matching a specified RegExp
|
943 |
+
*
|
944 |
+
* @param $for
|
945 |
+
*
|
946 |
* @return array
|
947 |
*/
|
948 |
+
public static function getRegExRules($for = 'load_exceptions')
|
949 |
{
|
950 |
$regExes = array('styles' => array(), 'scripts' => array());
|
951 |
|
952 |
$regExDbListJson = get_option(WPACU_PLUGIN_ID . '_global_data');
|
953 |
|
954 |
+
// DB Key (how it's saved in the database)
|
955 |
+
if ($for === 'load_exceptions') {
|
956 |
+
$globalKey = 'load_regex';
|
957 |
+
} else {
|
958 |
+
$globalKey = 'unload_regex';
|
959 |
+
}
|
960 |
|
961 |
if ($regExDbListJson) {
|
962 |
$regExDbList = @json_decode($regExDbListJson, true);
|
966 |
return $regExes;
|
967 |
}
|
968 |
|
969 |
+
// Are there any load exceptions / unload RegExes?
|
970 |
foreach (array('styles', 'scripts') as $assetKey) {
|
971 |
if ( isset( $regExDbList[$assetKey][$globalKey] ) && ! empty( $regExDbList[$assetKey][$globalKey] ) ) {
|
972 |
$regExes[$assetKey] = $regExDbList[$assetKey][$globalKey];
|
1200 |
*/
|
1201 |
public function printScriptsStyles()
|
1202 |
{
|
1203 |
+
if (Plugin::preventAnyChanges()) {
|
1204 |
+
return;
|
1205 |
+
}
|
1206 |
+
|
1207 |
// Not for WordPress AJAX calls
|
1208 |
if (self::$domGetType === 'direct' && defined('DOING_AJAX') && DOING_AJAX) {
|
1209 |
return;
|
1414 |
|
1415 |
$data['wpacu_page_just_updated'] = false;
|
1416 |
|
1417 |
+
if (isset($_GET['wpacu_time'], $_GET['nocache']) && get_transient('wpacu_page_just_updated')) {
|
1418 |
$data['wpacu_page_just_updated'] = true;
|
1419 |
delete_transient('wpacu_page_just_updated');
|
1420 |
}
|
1494 |
$data['preloads'] = Preloads::instance()->getPreloads();
|
1495 |
$data['handle_notes'] = $this->getHandleNotes();
|
1496 |
|
|
|
|
|
|
|
|
|
1497 |
$data['ignore_child'] = $this->getIgnoreChildren();
|
1498 |
|
1499 |
$this->parseTemplate('settings-frontend', $data, true);
|
1661 |
|
1662 |
$data['load_exceptions'] = $this->getLoadExceptions($type, $postId);
|
1663 |
|
|
|
|
|
|
|
|
|
|
|
1664 |
$data['total_styles'] = ! empty($data['all']['styles']) ? count($data['all']['styles']) : 0;
|
1665 |
$data['total_scripts'] = ! empty($data['all']['scripts']) ? count($data['all']['scripts']) : 0;
|
1666 |
|
1760 |
$data['all']['styles'][$key]->baseUrl = $localSrc['base_url'];
|
1761 |
}
|
1762 |
|
1763 |
+
$part = str_replace(
|
1764 |
+
array(
|
1765 |
+
'http://',
|
1766 |
+
'https://',
|
1767 |
+
'//'
|
1768 |
+
),
|
1769 |
+
'',
|
1770 |
+
$obj->src
|
1771 |
+
);
|
1772 |
+
|
1773 |
+
$parts = explode('/', $part);
|
1774 |
$parentDir = isset($parts[1]) ? $parts[1] : '';
|
1775 |
|
1776 |
// Loaded from WordPress directories (Core)
|
1892 |
$assetsRemovedDecoded = json_decode($this->assetsRemoved, ARRAY_A);
|
1893 |
|
1894 |
if (Misc::getVar('get', 'wpacu_unload_css')) {
|
1895 |
+
$cssOnTheFlyList = $this->unloadAssetOnTheFly('css');
|
1896 |
|
1897 |
if (! empty($cssOnTheFlyList)) {
|
1898 |
foreach ($cssOnTheFlyList as $cssHandle) {
|
1902 |
}
|
1903 |
|
1904 |
if (Misc::getVar('get', 'wpacu_unload_js')) {
|
1905 |
+
$jsOnTheFlyList = $this->unloadAssetOnTheFly('js');
|
1906 |
|
1907 |
if (! empty($jsOnTheFlyList)) {
|
1908 |
foreach ($jsOnTheFlyList as $jsHandle) {
|
2127 |
}
|
2128 |
|
2129 |
// Is test mode enabled? Unload assets ONLY for the admin
|
2130 |
+
if (self::isTestModeActive()) {
|
2131 |
+
return true; // visitors (non-logged in) will view the pages with all the assets loaded
|
2132 |
}
|
2133 |
|
2134 |
if (defined('WPACU_CURRENT_PAGE_ID') && WPACU_CURRENT_PAGE_ID > 0) {
|
2142 |
return false;
|
2143 |
}
|
2144 |
|
2145 |
+
/**
|
2146 |
+
* @param array $settings
|
2147 |
+
*
|
2148 |
+
* @return bool
|
2149 |
+
*/
|
2150 |
+
public static function isTestModeActive($settings = array())
|
2151 |
+
{
|
2152 |
+
if (defined('WPACU_IS_TEST_MODE_ACTIVE')) {
|
2153 |
+
return WPACU_IS_TEST_MODE_ACTIVE;
|
2154 |
+
}
|
2155 |
+
|
2156 |
+
if (! $settings) {
|
2157 |
+
$settings = self::instance()->settings;
|
2158 |
+
}
|
2159 |
+
|
2160 |
+
$wpacuIsTestModeActive = isset($settings['test_mode']) && $settings['test_mode'] && ! Menu::userCanManageAssets();
|
2161 |
+
|
2162 |
+
define('WPACU_IS_TEST_MODE_ACTIVE', $wpacuIsTestModeActive);
|
2163 |
+
|
2164 |
+
return $wpacuIsTestModeActive;
|
2165 |
+
}
|
2166 |
+
|
2167 |
/**
|
2168 |
* @return bool
|
2169 |
*/
|
2204 |
*/
|
2205 |
public function wpacuHtmlNoticeForAdmin()
|
2206 |
{
|
2207 |
+
add_action('wp_footer', static function() {
|
2208 |
+
if (! apply_filters('wpacu_show_admin_console_notice', true) || Plugin::preventAnyChanges()) {
|
2209 |
return;
|
2210 |
}
|
2211 |
|
classes/Misc.php
CHANGED
@@ -541,11 +541,15 @@ HTML;
|
|
541 |
}
|
542 |
|
543 |
/**
|
|
|
|
|
|
|
|
|
544 |
* @return int
|
545 |
*/
|
546 |
-
public static function getTotalUnloadedAssets()
|
547 |
{
|
548 |
-
if ($unloadedTotalAssets = get_transient(WPACU_PLUGIN_ID. '
|
549 |
return $unloadedTotalAssets;
|
550 |
}
|
551 |
|
@@ -592,10 +596,12 @@ SQL;
|
|
592 |
}
|
593 |
}
|
594 |
|
595 |
-
$
|
|
|
|
|
596 |
|
597 |
// To avoid the complex SQL query next time
|
598 |
-
set_transient(WPACU_PLUGIN_ID. '
|
599 |
|
600 |
return $unloadedTotalAssets;
|
601 |
}
|
541 |
}
|
542 |
|
543 |
/**
|
544 |
+
* @param $type
|
545 |
+
* e.g. 'per_page' will fetch only per page rules, excluding the bulk ones
|
546 |
+
* such as unload everywhere, on this post type etc.
|
547 |
+
*
|
548 |
* @return int
|
549 |
*/
|
550 |
+
public static function getTotalUnloadedAssets($type = 'all')
|
551 |
{
|
552 |
+
if ($unloadedTotalAssets = get_transient(WPACU_PLUGIN_ID. '_total_unloaded_assets_'.$type)) {
|
553 |
return $unloadedTotalAssets;
|
554 |
}
|
555 |
|
596 |
}
|
597 |
}
|
598 |
|
599 |
+
if ($type === 'all') {
|
600 |
+
$unloadedTotalAssets += self::getTotalBulkUnloadsFor( 'all' );
|
601 |
+
}
|
602 |
|
603 |
// To avoid the complex SQL query next time
|
604 |
+
set_transient(WPACU_PLUGIN_ID. '_total_unloaded_assets_'.$type, $unloadedTotalAssets, 28800);
|
605 |
|
606 |
return $unloadedTotalAssets;
|
607 |
}
|
classes/OptimiseAssets/OptimizeCommon.php
CHANGED
@@ -96,6 +96,10 @@ class OptimizeCommon
|
|
96 |
*/
|
97 |
public static function alterHtmlSource($htmlSource)
|
98 |
{
|
|
|
|
|
|
|
|
|
99 |
$htmlSource = apply_filters('wpacu_html_source_before_optimization', $htmlSource);
|
100 |
|
101 |
$htmlSource = OptimizeCss::alterHtmlSource($htmlSource);
|
@@ -919,7 +923,7 @@ SQL;
|
|
919 |
$contents = '';
|
920 |
|
921 |
// Local record
|
922 |
-
if ($fromLocation === '
|
923 |
$dirToFilename = WP_CONTENT_DIR . self::getRelPathPluginCacheDir() . '_storage/'.self::$optimizedSingleFilesDir.'/';
|
924 |
$assetsFile = $dirToFilename . $transient.'.json';
|
925 |
|
@@ -927,7 +931,7 @@ SQL;
|
|
927 |
$contents = trim(FileSystem::file_get_contents($assetsFile));
|
928 |
|
929 |
if (! $contents) {
|
930 |
-
// Empty file? Something weird, use the MySQL record as a fallback
|
931 |
return get_transient($transient);
|
932 |
}
|
933 |
}
|
96 |
*/
|
97 |
public static function alterHtmlSource($htmlSource)
|
98 |
{
|
99 |
+
if (Plugin::preventAnyChanges()) {
|
100 |
+
return $htmlSource;
|
101 |
+
}
|
102 |
+
|
103 |
$htmlSource = apply_filters('wpacu_html_source_before_optimization', $htmlSource);
|
104 |
|
105 |
$htmlSource = OptimizeCss::alterHtmlSource($htmlSource);
|
923 |
$contents = '';
|
924 |
|
925 |
// Local record
|
926 |
+
if ($fromLocation === 'disk') {
|
927 |
$dirToFilename = WP_CONTENT_DIR . self::getRelPathPluginCacheDir() . '_storage/'.self::$optimizedSingleFilesDir.'/';
|
928 |
$assetsFile = $dirToFilename . $transient.'.json';
|
929 |
|
931 |
$contents = trim(FileSystem::file_get_contents($assetsFile));
|
932 |
|
933 |
if (! $contents) {
|
934 |
+
// Empty file? Something weird, use the MySQL record as a fallback (if any)
|
935 |
return get_transient($transient);
|
936 |
}
|
937 |
}
|
classes/OptimiseAssets/OptimizeCss.php
CHANGED
@@ -1,6 +1,7 @@
|
|
1 |
<?php
|
2 |
namespace WpAssetCleanUp\OptimiseAssets;
|
3 |
|
|
|
4 |
use WpAssetCleanUp\Preloads;
|
5 |
use WpAssetCleanUp\FileSystem;
|
6 |
use WpAssetCleanUp\CleanUp;
|
@@ -14,6 +15,11 @@ use WpAssetCleanUp\Misc;
|
|
14 |
*/
|
15 |
class OptimizeCss
|
16 |
{
|
|
|
|
|
|
|
|
|
|
|
17 |
/**
|
18 |
* @var float|int
|
19 |
*/
|
@@ -26,6 +32,16 @@ class OptimizeCss
|
|
26 |
{
|
27 |
add_action('init', array($this, 'triggersAfterInit'));
|
28 |
add_action('wp_footer', array($this, 'prepareOptimizeList'), PHP_INT_MAX);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
29 |
}
|
30 |
|
31 |
/**
|
@@ -86,7 +102,7 @@ class OptimizeCss
|
|
86 |
*/
|
87 |
public function prepareOptimizeList()
|
88 |
{
|
89 |
-
if (! self::isWorthCheckingForOptimization()) {
|
90 |
return;
|
91 |
}
|
92 |
|
@@ -183,8 +199,15 @@ class OptimizeCss
|
|
183 |
|
184 |
$transientName = 'wpacu_css_optimize_'.$handleDbStr;
|
185 |
|
186 |
-
if (
|
187 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
188 |
$savedValues = OptimizeCommon::getTransient($transientName, $fromLocation);
|
189 |
|
190 |
if ( $savedValues ) {
|
@@ -196,14 +219,20 @@ class OptimizeCss
|
|
196 |
} else {
|
197 |
$localPathToCssOptimized = str_replace( '//', '/', ABSPATH . $savedValuesArray['optimize_uri'] );
|
198 |
|
|
|
199 |
if ( isset( $savedValuesArray['source_uri'] ) && file_exists( $localPathToCssOptimized ) ) {
|
200 |
-
|
|
|
|
|
201 |
return array(
|
202 |
$savedValuesArray['source_uri'],
|
203 |
$savedValuesArray['optimize_uri'],
|
204 |
$value->src
|
205 |
);
|
206 |
}
|
|
|
|
|
|
|
207 |
}
|
208 |
}
|
209 |
// Check if it starts without "/" or a protocol; e.g. "wp-content/theme/style.css"
|
@@ -334,7 +363,7 @@ class OptimizeCss
|
|
334 |
'ver' => $dbVer
|
335 |
);
|
336 |
|
337 |
-
//
|
338 |
OptimizeCommon::setTransient($transientName, json_encode($saveValues));
|
339 |
|
340 |
return array(
|
@@ -408,6 +437,9 @@ class OptimizeCss
|
|
408 |
// Alter HTML Source for Google Fonts Optimization / Removal
|
409 |
$htmlSource = FontsGoogle::alterHtmlSource($htmlSource);
|
410 |
|
|
|
|
|
|
|
411 |
return $htmlSource;
|
412 |
}
|
413 |
|
@@ -1050,4 +1082,34 @@ class OptimizeCss
|
|
1050 |
return array('after' => $styleExtraAfter);
|
1051 |
}
|
1052 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1053 |
}
|
1 |
<?php
|
2 |
namespace WpAssetCleanUp\OptimiseAssets;
|
3 |
|
4 |
+
use WpAssetCleanUp\Plugin;
|
5 |
use WpAssetCleanUp\Preloads;
|
6 |
use WpAssetCleanUp\FileSystem;
|
7 |
use WpAssetCleanUp\CleanUp;
|
15 |
*/
|
16 |
class OptimizeCss
|
17 |
{
|
18 |
+
/**
|
19 |
+
*
|
20 |
+
*/
|
21 |
+
const MOVE_NOSCRIPT_TO_BODY_FOR_ASYNC_PRELOADS = '<meta name="wpacu-generator" content="ASSET CLEANUP NOSCRIPT FOR ASYNC PRELOADS">';
|
22 |
+
|
23 |
/**
|
24 |
* @var float|int
|
25 |
*/
|
32 |
{
|
33 |
add_action('init', array($this, 'triggersAfterInit'));
|
34 |
add_action('wp_footer', array($this, 'prepareOptimizeList'), PHP_INT_MAX);
|
35 |
+
|
36 |
+
add_action('wp_footer', static function() {
|
37 |
+
if ( Plugin::preventAnyChanges() || Main::isTestModeActive() ) {
|
38 |
+
return;
|
39 |
+
}
|
40 |
+
|
41 |
+
echo self::MOVE_NOSCRIPT_TO_BODY_FOR_ASYNC_PRELOADS;
|
42 |
+
}, PHP_INT_MAX);
|
43 |
+
|
44 |
+
add_filter('wpacu_add_async_preloads_noscript', array($this, 'appendNoScriptAsyncPreloads'));
|
45 |
}
|
46 |
|
47 |
/**
|
102 |
*/
|
103 |
public function prepareOptimizeList()
|
104 |
{
|
105 |
+
if ( ! self::isWorthCheckingForOptimization() || Plugin::preventAnyChanges() ) {
|
106 |
return;
|
107 |
}
|
108 |
|
199 |
|
200 |
$transientName = 'wpacu_css_optimize_'.$handleDbStr;
|
201 |
|
202 |
+
if (Main::instance()->settings['fetch_cached_files_details_from'] === 'db_disk') {
|
203 |
+
if ( ! isset( $GLOBALS['wpacu_from_location_inc'] ) ) {
|
204 |
+
$GLOBALS['wpacu_from_location_inc'] = 1;
|
205 |
+
}
|
206 |
+
$fromLocation = ( $GLOBALS['wpacu_from_location_inc'] % 2 ) ? 'db' : 'disk';
|
207 |
+
} else {
|
208 |
+
$fromLocation = Main::instance()->settings['fetch_cached_files_details_from'];
|
209 |
+
}
|
210 |
+
|
211 |
$savedValues = OptimizeCommon::getTransient($transientName, $fromLocation);
|
212 |
|
213 |
if ( $savedValues ) {
|
219 |
} else {
|
220 |
$localPathToCssOptimized = str_replace( '//', '/', ABSPATH . $savedValuesArray['optimize_uri'] );
|
221 |
|
222 |
+
// Read the file from its caching (that makes the processing faster)
|
223 |
if ( isset( $savedValuesArray['source_uri'] ) && file_exists( $localPathToCssOptimized ) ) {
|
224 |
+
if (Main::instance()->settings['fetch_cached_files_details_from'] === 'db_disk') {
|
225 |
+
$GLOBALS['wpacu_from_location_inc']++;
|
226 |
+
}
|
227 |
return array(
|
228 |
$savedValuesArray['source_uri'],
|
229 |
$savedValuesArray['optimize_uri'],
|
230 |
$value->src
|
231 |
);
|
232 |
}
|
233 |
+
|
234 |
+
// If nothing valid gets returned above, make sure the transient gets deleted as it's re-added later on
|
235 |
+
OptimizeCommon::deleteTransient($transientName);
|
236 |
}
|
237 |
}
|
238 |
// Check if it starts without "/" or a protocol; e.g. "wp-content/theme/style.css"
|
363 |
'ver' => $dbVer
|
364 |
);
|
365 |
|
366 |
+
// Re-add transient
|
367 |
OptimizeCommon::setTransient($transientName, json_encode($saveValues));
|
368 |
|
369 |
return array(
|
437 |
// Alter HTML Source for Google Fonts Optimization / Removal
|
438 |
$htmlSource = FontsGoogle::alterHtmlSource($htmlSource);
|
439 |
|
440 |
+
// NOSCRIPT fallbacks: Applies for Google Fonts (async) (Lite and Pro) and Preloads (Async in Pro version)
|
441 |
+
$htmlSource = apply_filters('wpacu_add_async_preloads_noscript', $htmlSource);
|
442 |
+
|
443 |
return $htmlSource;
|
444 |
}
|
445 |
|
1082 |
return array('after' => $styleExtraAfter);
|
1083 |
}
|
1084 |
|
1085 |
+
/**
|
1086 |
+
* @param $htmlSource
|
1087 |
+
*
|
1088 |
+
* @return mixed
|
1089 |
+
*/
|
1090 |
+
public function appendNoScriptAsyncPreloads($htmlSource)
|
1091 |
+
{
|
1092 |
+
preg_match_all('#<link[^>]*(data-wpacu-preload-it-async)[^>]*(>)#Umi', $htmlSource, $matchesSourcesFromTags, PREG_SET_ORDER);
|
1093 |
+
|
1094 |
+
$noScripts = '';
|
1095 |
+
|
1096 |
+
if (! empty($matchesSourcesFromTags)) {
|
1097 |
+
foreach ($matchesSourcesFromTags as $matchedValues) {
|
1098 |
+
$matchedTag = $matchedValues[0];
|
1099 |
+
|
1100 |
+
preg_match_all('#media=(["\'])' . '(.*)' . '(["\'])#Usmi', $matchedTag, $outputMatchesMedia);
|
1101 |
+
$mediaAttrValue = isset($outputMatchesMedia[2][0]) ? trim($outputMatchesMedia[2][0], '"\'') : '';
|
1102 |
+
|
1103 |
+
preg_match_all('#href=(["\'])' . '(.*)' . '(["\'])#Usmi', $matchedTag, $outputMatchesMedia);
|
1104 |
+
$hrefAttrValue = isset($outputMatchesMedia[2][0]) ? trim($outputMatchesMedia[2][0], '"\'') : '';
|
1105 |
+
|
1106 |
+
$noScripts .= '<noscript><link rel="stylesheet" href="'.$hrefAttrValue.'" media="'.$mediaAttrValue.'" /></noscript>'."\n";
|
1107 |
+
}
|
1108 |
+
|
1109 |
+
$htmlSource = str_replace(self::MOVE_NOSCRIPT_TO_BODY_FOR_ASYNC_PRELOADS, $noScripts, $htmlSource);
|
1110 |
+
}
|
1111 |
+
|
1112 |
+
return $htmlSource;
|
1113 |
+
}
|
1114 |
+
|
1115 |
}
|
classes/OptimiseAssets/OptimizeJs.php
CHANGED
@@ -118,8 +118,15 @@ class OptimizeJs
|
|
118 |
|
119 |
$transientName = 'wpacu_js_optimize_'.$handleDbStr;
|
120 |
|
121 |
-
if (
|
122 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
123 |
$savedValues = OptimizeCommon::getTransient($transientName, $fromLocation);
|
124 |
|
125 |
if ( $savedValues ) {
|
@@ -134,7 +141,9 @@ class OptimizeJs
|
|
134 |
// Do not load any minified JS file (from the database transient cache) if it doesn't exist
|
135 |
// It will fallback to the original JS file
|
136 |
if ( isset( $savedValuesArray['source_uri'] ) && file_exists( $localPathToJsOptimized ) ) {
|
137 |
-
|
|
|
|
|
138 |
|
139 |
return array(
|
140 |
$savedValuesArray['source_uri'],
|
118 |
|
119 |
$transientName = 'wpacu_js_optimize_'.$handleDbStr;
|
120 |
|
121 |
+
if (Main::instance()->settings['fetch_cached_files_details_from'] === 'db_disk') {
|
122 |
+
if ( ! isset( $GLOBALS['wpacu_from_location_inc'] ) ) {
|
123 |
+
$GLOBALS['wpacu_from_location_inc'] = 1;
|
124 |
+
}
|
125 |
+
$fromLocation = ( $GLOBALS['wpacu_from_location_inc'] % 2 ) ? 'db' : 'disk';
|
126 |
+
} else {
|
127 |
+
$fromLocation = Main::instance()->settings['fetch_cached_files_details_from'];
|
128 |
+
}
|
129 |
+
|
130 |
$savedValues = OptimizeCommon::getTransient($transientName, $fromLocation);
|
131 |
|
132 |
if ( $savedValues ) {
|
141 |
// Do not load any minified JS file (from the database transient cache) if it doesn't exist
|
142 |
// It will fallback to the original JS file
|
143 |
if ( isset( $savedValuesArray['source_uri'] ) && file_exists( $localPathToJsOptimized ) ) {
|
144 |
+
if (Main::instance()->settings['fetch_cached_files_details_from'] === 'db_disk') {
|
145 |
+
$GLOBALS['wpacu_from_location_inc']++;
|
146 |
+
}
|
147 |
|
148 |
return array(
|
149 |
$savedValuesArray['source_uri'],
|
classes/Plugin.php
CHANGED
@@ -22,7 +22,13 @@ class Plugin
|
|
22 |
public function __construct()
|
23 |
{
|
24 |
register_activation_hook(WPACU_PLUGIN_FILE, array($this, 'whenActivated'));
|
|
|
25 |
|
|
|
|
|
|
|
|
|
|
|
26 |
// After fist time activation or in specific situations within the Dashboard
|
27 |
add_action('admin_init', array($this, 'adminInit'));
|
28 |
|
@@ -44,6 +50,10 @@ class Plugin
|
|
44 |
*/
|
45 |
public function loadTextDomain()
|
46 |
{
|
|
|
|
|
|
|
|
|
47 |
load_plugin_textdomain('wp-asset-clean-up',
|
48 |
FALSE,
|
49 |
basename(WPACU_PLUGIN_DIR) . '/languages/'
|
@@ -91,8 +101,8 @@ class Plugin
|
|
91 |
self::triggerFirstUsage();
|
92 |
|
93 |
/**
|
94 |
-
|
95 |
-
|
96 |
* /wp-content/cache/asset-cleanup/
|
97 |
* /wp-content/cache/asset-cleanup/index.php
|
98 |
* /wp-content/cache/asset-cleanup/.htaccess
|
@@ -102,7 +112,7 @@ class Plugin
|
|
102 |
* /wp-content/cache/asset-cleanup/css/index.php
|
103 |
* /wp-content/cache/asset-cleanup/css/logged-in/
|
104 |
* /wp-content/cache/asset-cleanup/css/logged-in/index.php
|
105 |
-
|
106 |
* /wp-content/cache/asset-cleanup/js/
|
107 |
* /wp-content/cache/asset-cleanup/js/item/
|
108 |
* /wp-content/cache/asset-cleanup/js/index.php
|
@@ -142,51 +152,51 @@ class Plugin
|
|
142 |
return;
|
143 |
}
|
144 |
|
145 |
-
|
146 |
<?php
|
147 |
// Silence is golden.
|
148 |
TEXT;
|
149 |
|
150 |
-
|
151 |
<IfModule mod_autoindex.c>
|
152 |
Options -Indexes
|
153 |
</IfModule>
|
154 |
HTACCESS;
|
155 |
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
|
169 |
if ( ! is_dir( $cacheDir . OptimizeCommon::$optimizedSingleFilesDir ) ) {
|
170 |
@mkdir( $cacheDir . OptimizeCommon::$optimizedSingleFilesDir, 0755 );
|
171 |
}
|
172 |
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
|
178 |
-
|
179 |
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
|
191 |
$storageDir = WP_CONTENT_DIR . OptimiseAssets\OptimizeCommon::getRelPathPluginCacheDir() . '_storage/';
|
192 |
|
@@ -209,16 +219,16 @@ HTACCESS;
|
|
209 |
if (strpos($_SERVER['REQUEST_URI'], '/plugins.php') !== false && get_transient(WPACU_PLUGIN_ID . '_redirect_after_activation')) {
|
210 |
// Remove it as only one redirect is needed (first time the plugin is activated)
|
211 |
delete_transient(WPACU_PLUGIN_ID . '_redirect_after_activation');
|
212 |
-
|
213 |
// Do the 'first activation time' redirection
|
214 |
wp_redirect(admin_url('admin.php?page=' . WPACU_ADMIN_PAGE_ID_START));
|
215 |
exit();
|
216 |
}
|
217 |
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
|
223 |
// No first usage timestamp set, yet? Set it now!
|
224 |
if ($triggerFirstUsage) {
|
@@ -259,4 +269,35 @@ HTACCESS;
|
|
259 |
}
|
260 |
}
|
261 |
|
262 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
22 |
public function __construct()
|
23 |
{
|
24 |
register_activation_hook(WPACU_PLUGIN_FILE, array($this, 'whenActivated'));
|
25 |
+
}
|
26 |
|
27 |
+
/**
|
28 |
+
*
|
29 |
+
*/
|
30 |
+
public function init()
|
31 |
+
{
|
32 |
// After fist time activation or in specific situations within the Dashboard
|
33 |
add_action('admin_init', array($this, 'adminInit'));
|
34 |
|
50 |
*/
|
51 |
public function loadTextDomain()
|
52 |
{
|
53 |
+
if (! is_admin()) { // relevant only in the front-end view
|
54 |
+
define( 'WPACU_ALL_ACTIVE_PLUGINS_LOADED', true );
|
55 |
+
}
|
56 |
+
|
57 |
load_plugin_textdomain('wp-asset-clean-up',
|
58 |
FALSE,
|
59 |
basename(WPACU_PLUGIN_DIR) . '/languages/'
|
101 |
self::triggerFirstUsage();
|
102 |
|
103 |
/**
|
104 |
+
* Note: Could be /wp-content/uploads/ if constant WPACU_CACHE_DIR was used
|
105 |
+
*
|
106 |
* /wp-content/cache/asset-cleanup/
|
107 |
* /wp-content/cache/asset-cleanup/index.php
|
108 |
* /wp-content/cache/asset-cleanup/.htaccess
|
112 |
* /wp-content/cache/asset-cleanup/css/index.php
|
113 |
* /wp-content/cache/asset-cleanup/css/logged-in/
|
114 |
* /wp-content/cache/asset-cleanup/css/logged-in/index.php
|
115 |
+
*
|
116 |
* /wp-content/cache/asset-cleanup/js/
|
117 |
* /wp-content/cache/asset-cleanup/js/item/
|
118 |
* /wp-content/cache/asset-cleanup/js/index.php
|
152 |
return;
|
153 |
}
|
154 |
|
155 |
+
$emptyPhpFileContents = <<<TEXT
|
156 |
<?php
|
157 |
// Silence is golden.
|
158 |
TEXT;
|
159 |
|
160 |
+
$htAccessContents = <<<HTACCESS
|
161 |
<IfModule mod_autoindex.c>
|
162 |
Options -Indexes
|
163 |
</IfModule>
|
164 |
HTACCESS;
|
165 |
|
166 |
+
if ( ! is_dir( $cacheDir ) ) {
|
167 |
+
@mkdir( $cacheDir, 0755, true );
|
168 |
+
}
|
169 |
|
170 |
+
if ( ! is_file( $cacheDir . 'index.php' ) ) {
|
171 |
+
// /wp-content/cache/asset-cleanup/cache/{$assetType}/index.php
|
172 |
+
FileSystem::file_put_contents( $cacheDir . 'index.php', $emptyPhpFileContents );
|
173 |
+
}
|
174 |
|
175 |
+
if ( ! is_dir( $cacheDir . 'logged-in' ) ) {
|
176 |
+
@mkdir( $cacheDir . 'logged-in', 0755 );
|
177 |
+
}
|
178 |
|
179 |
if ( ! is_dir( $cacheDir . OptimizeCommon::$optimizedSingleFilesDir ) ) {
|
180 |
@mkdir( $cacheDir . OptimizeCommon::$optimizedSingleFilesDir, 0755 );
|
181 |
}
|
182 |
|
183 |
+
if ( ! is_file( $cacheDir . 'logged-in/index.php' ) ) {
|
184 |
+
// /wp-content/cache/asset-cleanup/cache/{$assetType}/logged-in/index.html
|
185 |
+
FileSystem::file_put_contents( $cacheDir . 'logged-in/index.php', $emptyPhpFileContents );
|
186 |
+
}
|
187 |
|
188 |
+
$htAccessFilePath = dirname( $cacheDir ) . '/.htaccess';
|
189 |
|
190 |
+
if ( ! is_file( $htAccessFilePath ) ) {
|
191 |
+
// /wp-content/cache/asset-cleanup/.htaccess
|
192 |
+
FileSystem::file_put_contents( $htAccessFilePath, $htAccessContents );
|
193 |
+
}
|
194 |
|
195 |
+
if ( ! is_file( dirname( $cacheDir ) . '/index.php' ) ) {
|
196 |
+
// /wp-content/cache/asset-cleanup/index.php
|
197 |
+
FileSystem::file_put_contents( dirname( $cacheDir ) . '/index.php', $emptyPhpFileContents );
|
198 |
+
}
|
199 |
+
}
|
200 |
|
201 |
$storageDir = WP_CONTENT_DIR . OptimiseAssets\OptimizeCommon::getRelPathPluginCacheDir() . '_storage/';
|
202 |
|
219 |
if (strpos($_SERVER['REQUEST_URI'], '/plugins.php') !== false && get_transient(WPACU_PLUGIN_ID . '_redirect_after_activation')) {
|
220 |
// Remove it as only one redirect is needed (first time the plugin is activated)
|
221 |
delete_transient(WPACU_PLUGIN_ID . '_redirect_after_activation');
|
222 |
+
|
223 |
// Do the 'first activation time' redirection
|
224 |
wp_redirect(admin_url('admin.php?page=' . WPACU_ADMIN_PAGE_ID_START));
|
225 |
exit();
|
226 |
}
|
227 |
|
228 |
+
$triggerFirstUsage = (strpos($_SERVER['REQUEST_URI'], '/plugins.php') !== false ||
|
229 |
+
strpos($_SERVER['REQUEST_URI'], '/plugin-install.php') !== false ||
|
230 |
+
strpos($_SERVER['REQUEST_URI'], '/options-general.php') !== false ||
|
231 |
+
strpos($_SERVER['REQUEST_URI'], '/update-core.php') !== false);
|
232 |
|
233 |
// No first usage timestamp set, yet? Set it now!
|
234 |
if ($triggerFirstUsage) {
|
269 |
}
|
270 |
}
|
271 |
|
272 |
+
/**
|
273 |
+
* This works like /?wpacu_no_load with a fundamental difference:
|
274 |
+
* It needs to be triggered through a very early 'init' action hook after all plugins are loaded, thus it can't be used in /early-triggers.php
|
275 |
+
* e.g. in situations when the page is an AMP one, prevent any changes to the HTML source by Asset CleanUp Pro
|
276 |
+
*
|
277 |
+
* @return bool
|
278 |
+
*/
|
279 |
+
public static function preventAnyChanges()
|
280 |
+
{
|
281 |
+
// Only relevant if all the plugins are already loaded
|
282 |
+
if (! defined('WPACU_ALL_ACTIVE_PLUGINS_LOADED')) {
|
283 |
+
return false;
|
284 |
+
}
|
285 |
+
|
286 |
+
if (defined('WPACU_PREVENT_ANY_CHANGES')) {
|
287 |
+
return WPACU_PREVENT_ANY_CHANGES;
|
288 |
+
}
|
289 |
+
|
290 |
+
// Is it an AMP endpoint?
|
291 |
+
// Checks for "AMP – WordPress plugin", "AMP for WP – Accelerated Mobile Pages"
|
292 |
+
if ( (function_exists('is_amp_endpoint') && is_amp_endpoint())
|
293 |
+
|| (Misc::isPluginActive('amp/amp.php') && ((isset($_SERVER['REQUEST_URI']) && (preg_match('/(\/amp$|\/amp\?)|(\/amp\/|\/amp\/\?)/', $_SERVER['REQUEST_URI']))) || (array_key_exists('amp', $_GET)))) // in case the first check fails
|
294 |
+
|| (function_exists('ampforwp_is_amp_endpoint') && ampforwp_is_amp_endpoint())
|
295 |
+
) {
|
296 |
+
define('WPACU_PREVENT_ANY_CHANGES', true);
|
297 |
+
return true; // do not print anything on an AMP page
|
298 |
+
}
|
299 |
+
|
300 |
+
define('WPACU_PREVENT_ANY_CHANGES', false);
|
301 |
+
return false;
|
302 |
+
}
|
303 |
+
}
|
classes/Settings.php
CHANGED
@@ -136,6 +136,9 @@ class Settings
|
|
136 |
// Allow Usage Tracking
|
137 |
'allow_usage_tracking',
|
138 |
|
|
|
|
|
|
|
139 |
// Clear Cached CSS/JS files after (x) days
|
140 |
'clear_cached_files_after',
|
141 |
|
@@ -463,11 +466,15 @@ class Settings
|
|
463 |
public function filterSettings($settings)
|
464 |
{
|
465 |
// /?wpacu_test_mode (will load the page with "Test Mode" enabled disregarding the value from the plugin's "Settings")
|
466 |
-
// For debugging purposes
|
467 |
if (array_key_exists('wpacu_test_mode', $_GET)) {
|
468 |
$settings['test_mode'] = true;
|
469 |
}
|
470 |
|
|
|
|
|
|
|
|
|
471 |
return $settings;
|
472 |
}
|
473 |
|
136 |
// Allow Usage Tracking
|
137 |
'allow_usage_tracking',
|
138 |
|
139 |
+
// Serve cached CSS/JS details from: Database or Disk
|
140 |
+
'fetch_cached_files_details_from',
|
141 |
+
|
142 |
// Clear Cached CSS/JS files after (x) days
|
143 |
'clear_cached_files_after',
|
144 |
|
466 |
public function filterSettings($settings)
|
467 |
{
|
468 |
// /?wpacu_test_mode (will load the page with "Test Mode" enabled disregarding the value from the plugin's "Settings")
|
469 |
+
// For debugging purposes (e.g. to make sure the HTML source is the same when a guest user accesses it as the one that is generated when the plugin is deactivated)
|
470 |
if (array_key_exists('wpacu_test_mode', $_GET)) {
|
471 |
$settings['test_mode'] = true;
|
472 |
}
|
473 |
|
474 |
+
if (array_key_exists('wpacu_skip_test_mode', $_GET)) {
|
475 |
+
$settings['test_mode'] = false;
|
476 |
+
}
|
477 |
+
|
478 |
return $settings;
|
479 |
}
|
480 |
|
classes/Update.php
CHANGED
@@ -27,9 +27,9 @@ class Update
|
|
27 |
* @var array
|
28 |
*/
|
29 |
public $frontEndUpdateFor = array(
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
|
34 |
/**
|
35 |
* @var array
|
@@ -52,13 +52,13 @@ HTML;
|
|
52 |
HTML;
|
53 |
}
|
54 |
|
55 |
-
|
56 |
*
|
57 |
*/
|
58 |
public function init()
|
59 |
{
|
60 |
-
|
61 |
-
|
62 |
|
63 |
// After post/page is saved - update your styles/scripts lists
|
64 |
// This triggers ONLY in the Dashboard after "Update" button is clicked (on Edit mode)
|
@@ -69,19 +69,18 @@ HTML;
|
|
69 |
*
|
70 |
*/
|
71 |
public function triggersAfterInit()
|
72 |
-
|
73 |
-
|
74 |
if (! empty($_POST)) {
|
75 |
-
add_action(
|
76 |
}
|
77 |
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
|
82 |
/**
|
83 |
-
*
|
84 |
-
* Form was submitted in the frontend view (not Dashboard) from a singular page, front-page etc.
|
85 |
*/
|
86 |
public function frontendUpdate()
|
87 |
{
|
@@ -97,8 +96,8 @@ HTML;
|
|
97 |
|
98 |
$updateAction = Misc::getVar('post', 'wpacu_update_asset_frontend');
|
99 |
|
100 |
-
|
101 |
-
|
102 |
}
|
103 |
|
104 |
// only for admins
|
@@ -121,7 +120,7 @@ HTML;
|
|
121 |
$this->frontEndUpdateTriggered = true;
|
122 |
|
123 |
// Was the Assets List Layout changed?
|
124 |
-
|
125 |
|
126 |
// Form submitted from the homepage
|
127 |
// e.g. from a page such as latest blog posts, not a static page that was selected as home page)
|
@@ -140,10 +139,10 @@ HTML;
|
|
140 |
return;
|
141 |
}
|
142 |
|
143 |
-
|
144 |
-
|
145 |
|
146 |
-
|
147 |
self::updateHandleNotes();
|
148 |
|
149 |
// Any ignore deps
|
@@ -157,14 +156,13 @@ HTML;
|
|
157 |
*
|
158 |
*/
|
159 |
public static function updateAssetListLayoutSettings()
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
|
169 |
/**
|
170 |
*
|
@@ -181,7 +179,7 @@ HTML;
|
|
181 |
$location = $parseUrl['path'];
|
182 |
|
183 |
$paramsToAdd = array(
|
184 |
-
|
185 |
'nocache' => 'true'
|
186 |
);
|
187 |
|
@@ -207,7 +205,7 @@ HTML;
|
|
207 |
set_transient('wpacu_page_just_updated', 1, 30);
|
208 |
|
209 |
wp_safe_redirect($location);
|
210 |
-
|
211 |
}
|
212 |
|
213 |
/**
|
@@ -218,15 +216,15 @@ HTML;
|
|
218 |
* Front-end view: triggered by direct call
|
219 |
*
|
220 |
* @param $postId
|
221 |
-
* @param
|
222 |
*/
|
223 |
-
public function savePost($postId, $post =
|
224 |
{
|
225 |
if (empty($post) || $post === '') {
|
226 |
global $post;
|
227 |
}
|
228 |
|
229 |
-
if (! isset($post->ID
|
230 |
return;
|
231 |
}
|
232 |
|
@@ -293,7 +291,7 @@ HTML;
|
|
293 |
// Any positions changed?
|
294 |
// For Pro Only
|
295 |
|
296 |
-
|
297 |
Preloads::updatePreloads();
|
298 |
|
299 |
// Any handle notes
|
@@ -328,7 +326,7 @@ HTML;
|
|
328 |
|
329 |
$jsonNoAssetsLoadList = json_encode($wpacuNoLoadAssets);
|
330 |
|
331 |
-
|
332 |
|
333 |
// If globally disabled, make exception to load for submitted assets
|
334 |
$this->saveLoadExceptions('front_page');
|
@@ -336,8 +334,8 @@ HTML;
|
|
336 |
// Add / Remove Site-wide Unloads
|
337 |
$this->updateEverywhereUnloads();
|
338 |
|
339 |
-
|
340 |
-
|
341 |
|
342 |
// Any handle notes
|
343 |
self::updateHandleNotes();
|
@@ -345,12 +343,12 @@ HTML;
|
|
345 |
// Any ignore deps
|
346 |
self::updateIgnoreChild();
|
347 |
|
348 |
-
self::clearTransients();
|
349 |
-
|
350 |
add_action('wpacu_admin_notices', array($this, 'homePageUpdated'));
|
351 |
|
352 |
$this->frontEndUpdateFor['homepage'] = true;
|
353 |
|
|
|
|
|
354 |
// Clear all cache
|
355 |
OptimizeCommon::clearAllCache();
|
356 |
}
|
@@ -359,13 +357,13 @@ HTML;
|
|
359 |
*
|
360 |
*/
|
361 |
public function homePageUpdated()
|
362 |
-
|
363 |
-
|
364 |
-
|
365 |
-
|
366 |
-
|
367 |
-
|
368 |
-
|
369 |
|
370 |
/**
|
371 |
* Lite: For Singular Page (Post, Page, Custom Post Type) and Front Page (Home Page)
|
@@ -396,7 +394,9 @@ HTML;
|
|
396 |
// Clear existing list first
|
397 |
if ($type === 'post') {
|
398 |
delete_post_meta($postId, '_' . WPACU_PLUGIN_ID . '_load_exceptions');
|
399 |
-
}
|
|
|
|
|
400 |
delete_option( WPACU_PLUGIN_ID . '_front_page_load_exceptions');
|
401 |
}
|
402 |
|
@@ -458,47 +458,46 @@ HTML;
|
|
458 |
if (! add_post_meta($postId, '_' . WPACU_PLUGIN_ID . '_load_exceptions', $jsonLoadExceptions, true)) {
|
459 |
update_post_meta($postId, '_' . WPACU_PLUGIN_ID . '_load_exceptions', $jsonLoadExceptions);
|
460 |
}
|
461 |
-
} elseif ($type === 'front_page') {
|
462 |
-
Misc::addUpdateOption( WPACU_PLUGIN_ID . '_front_page_load_exceptions', $jsonLoadExceptions);
|
463 |
}
|
464 |
|
465 |
-
|
|
|
|
|
|
|
466 |
}
|
467 |
|
468 |
-
|
469 |
-
|
470 |
-
|
471 |
-
|
472 |
-
|
473 |
-
|
474 |
-
|
475 |
-
|
476 |
-
|
477 |
-
|
478 |
-
return;
|
479 |
-
}
|
480 |
|
481 |
-
|
482 |
|
483 |
-
|
484 |
-
|
485 |
-
|
486 |
-
|
487 |
-
|
488 |
|
489 |
-
|
490 |
-
|
491 |
-
|
492 |
-
|
493 |
-
|
494 |
-
|
495 |
|
496 |
-
|
497 |
|
498 |
-
|
499 |
-
|
500 |
-
|
501 |
-
|
502 |
|
503 |
/**
|
504 |
* Triggers either "saveToEverywhereUnloads" or "removeEverywhereUnloads" methods
|
@@ -693,7 +692,7 @@ HTML;
|
|
693 |
}
|
694 |
}
|
695 |
|
696 |
-
|
697 |
}
|
698 |
|
699 |
/**
|
@@ -716,8 +715,8 @@ HTML;
|
|
716 |
|
717 |
$bulkType = 'post_type';
|
718 |
|
719 |
-
$stylesList = Misc::getVar('post', 'wpacu_options_'
|
720 |
-
$scriptsList = Misc::getVar('post', 'wpacu_options_'
|
721 |
|
722 |
if (empty($stylesList) && empty($scriptsList)) {
|
723 |
return false;
|
@@ -765,20 +764,20 @@ HTML;
|
|
765 |
continue;
|
766 |
}
|
767 |
|
768 |
-
|
769 |
-
|
770 |
-
|
771 |
-
|
772 |
-
|
773 |
-
|
774 |
}
|
775 |
|
776 |
-
|
777 |
}
|
778 |
|
779 |
return $isUpdated;
|
780 |
}
|
781 |
-
|
782 |
/**
|
783 |
*
|
784 |
*/
|
@@ -877,7 +876,8 @@ HTML;
|
|
877 |
*
|
878 |
*/
|
879 |
public static function clearTransients()
|
880 |
-
|
881 |
-
|
882 |
-
|
|
|
883 |
}
|
27 |
* @var array
|
28 |
*/
|
29 |
public $frontEndUpdateFor = array(
|
30 |
+
'homepage' => false,
|
31 |
+
'page' => false
|
32 |
+
);
|
33 |
|
34 |
/**
|
35 |
* @var array
|
52 |
HTML;
|
53 |
}
|
54 |
|
55 |
+
/**
|
56 |
*
|
57 |
*/
|
58 |
public function init()
|
59 |
{
|
60 |
+
// Triggers on front-end view
|
61 |
+
add_action('init', array($this, 'triggersAfterInit'), 11);
|
62 |
|
63 |
// After post/page is saved - update your styles/scripts lists
|
64 |
// This triggers ONLY in the Dashboard after "Update" button is clicked (on Edit mode)
|
69 |
*
|
70 |
*/
|
71 |
public function triggersAfterInit()
|
72 |
+
{
|
73 |
+
if (! is_admin() && Main::instance()->frontendShow()) {
|
74 |
if (! empty($_POST)) {
|
75 |
+
add_action('wp', array($this, 'frontendUpdate'), 9);
|
76 |
}
|
77 |
|
78 |
+
add_action('template_redirect', array($this, 'redirectAfterFrontEndUpdate'));
|
79 |
+
}
|
80 |
+
}
|
81 |
|
82 |
/**
|
83 |
+
*
|
|
|
84 |
*/
|
85 |
public function frontendUpdate()
|
86 |
{
|
96 |
|
97 |
$updateAction = Misc::getVar('post', 'wpacu_update_asset_frontend');
|
98 |
|
99 |
+
if (! isset($_POST[$nonceName]) || $updateAction != 1 || ! Main::instance()->frontendShow()) {
|
100 |
+
return;
|
101 |
}
|
102 |
|
103 |
// only for admins
|
120 |
$this->frontEndUpdateTriggered = true;
|
121 |
|
122 |
// Was the Assets List Layout changed?
|
123 |
+
self::updateAssetListLayoutSettings();
|
124 |
|
125 |
// Form submitted from the homepage
|
126 |
// e.g. from a page such as latest blog posts, not a static page that was selected as home page)
|
139 |
return;
|
140 |
}
|
141 |
|
142 |
+
// Any preloads
|
143 |
+
Preloads::updatePreloads();
|
144 |
|
145 |
+
// Any handle notes?
|
146 |
self::updateHandleNotes();
|
147 |
|
148 |
// Any ignore deps
|
156 |
*
|
157 |
*/
|
158 |
public static function updateAssetListLayoutSettings()
|
159 |
+
{
|
160 |
+
// Was the Assets List Layout changed?
|
161 |
+
if ($assetsListLayout = Misc::getVar('post', 'wpacu_assets_list_layout')) {
|
162 |
+
$settingsClass = new Settings();
|
163 |
+
$settingsClass->updateOption('assets_list_layout', $assetsListLayout);
|
164 |
+
}
|
165 |
+
}
|
|
|
166 |
|
167 |
/**
|
168 |
*
|
179 |
$location = $parseUrl['path'];
|
180 |
|
181 |
$paramsToAdd = array(
|
182 |
+
'wpacu_time' => time(),
|
183 |
'nocache' => 'true'
|
184 |
);
|
185 |
|
205 |
set_transient('wpacu_page_just_updated', 1, 30);
|
206 |
|
207 |
wp_safe_redirect($location);
|
208 |
+
exit();
|
209 |
}
|
210 |
|
211 |
/**
|
216 |
* Front-end view: triggered by direct call
|
217 |
*
|
218 |
* @param $postId
|
219 |
+
* @param mixed $post
|
220 |
*/
|
221 |
+
public function savePost($postId, $post = '')
|
222 |
{
|
223 |
if (empty($post) || $post === '') {
|
224 |
global $post;
|
225 |
}
|
226 |
|
227 |
+
if (! isset($post->ID) || ! isset($post->post_type)) {
|
228 |
return;
|
229 |
}
|
230 |
|
291 |
// Any positions changed?
|
292 |
// For Pro Only
|
293 |
|
294 |
+
// Any preloads
|
295 |
Preloads::updatePreloads();
|
296 |
|
297 |
// Any handle notes
|
326 |
|
327 |
$jsonNoAssetsLoadList = json_encode($wpacuNoLoadAssets);
|
328 |
|
329 |
+
Misc::addUpdateOption(WPACU_PLUGIN_ID . '_front_page_no_load', $jsonNoAssetsLoadList);
|
330 |
|
331 |
// If globally disabled, make exception to load for submitted assets
|
332 |
$this->saveLoadExceptions('front_page');
|
334 |
// Add / Remove Site-wide Unloads
|
335 |
$this->updateEverywhereUnloads();
|
336 |
|
337 |
+
// Any preloads
|
338 |
+
Preloads::updatePreloads();
|
339 |
|
340 |
// Any handle notes
|
341 |
self::updateHandleNotes();
|
343 |
// Any ignore deps
|
344 |
self::updateIgnoreChild();
|
345 |
|
|
|
|
|
346 |
add_action('wpacu_admin_notices', array($this, 'homePageUpdated'));
|
347 |
|
348 |
$this->frontEndUpdateFor['homepage'] = true;
|
349 |
|
350 |
+
self::clearTransients();
|
351 |
+
|
352 |
// Clear all cache
|
353 |
OptimizeCommon::clearAllCache();
|
354 |
}
|
357 |
*
|
358 |
*/
|
359 |
public function homePageUpdated()
|
360 |
+
{
|
361 |
+
?>
|
362 |
+
<div class="updated notice wpacu-notice is-dismissible">
|
363 |
+
<p><?php echo $this->updateDoneMsg['homepage']; ?></p>
|
364 |
+
</div>
|
365 |
+
<?php
|
366 |
+
}
|
367 |
|
368 |
/**
|
369 |
* Lite: For Singular Page (Post, Page, Custom Post Type) and Front Page (Home Page)
|
394 |
// Clear existing list first
|
395 |
if ($type === 'post') {
|
396 |
delete_post_meta($postId, '_' . WPACU_PLUGIN_ID . '_load_exceptions');
|
397 |
+
}
|
398 |
+
|
399 |
+
if ($type === 'front_page') {
|
400 |
delete_option( WPACU_PLUGIN_ID . '_front_page_load_exceptions');
|
401 |
}
|
402 |
|
458 |
if (! add_post_meta($postId, '_' . WPACU_PLUGIN_ID . '_load_exceptions', $jsonLoadExceptions, true)) {
|
459 |
update_post_meta($postId, '_' . WPACU_PLUGIN_ID . '_load_exceptions', $jsonLoadExceptions);
|
460 |
}
|
|
|
|
|
461 |
}
|
462 |
|
463 |
+
if ($type === 'front_page') {
|
464 |
+
Misc::addUpdateOption( WPACU_PLUGIN_ID . '_front_page_load_exceptions', $jsonLoadExceptions);
|
465 |
+
}
|
466 |
+
}
|
467 |
}
|
468 |
|
469 |
+
/*
|
470 |
+
* This method should ONLY be triggered when the "Asset CleanUp Options" area is visible
|
471 |
+
*/
|
472 |
+
public function updatePageOptions($postId)
|
473 |
+
{
|
474 |
+
// Is the "Asset CleanUp: Page Options" meta box not loaded?
|
475 |
+
// Then do not perform any update below
|
476 |
+
if (! Misc::getVar('post', 'wpacu_meta_box_page_options_loaded', false)) {
|
477 |
+
return;
|
478 |
+
}
|
|
|
|
|
479 |
|
480 |
+
$pageOptions = Misc::getVar('post', WPACU_PLUGIN_ID.'_page_options', array());
|
481 |
|
482 |
+
// In order for the "Apply the selected options" to work
|
483 |
+
// At least one of the checkboxes above have to be enabled
|
484 |
+
if (isset($pageOptions['apply_options_for']) && $pageOptions['apply_options_for'] && count($pageOptions) === 1) {
|
485 |
+
$pageOptions = array();
|
486 |
+
}
|
487 |
|
488 |
+
// No page options? Delete any entry from the database to free up space
|
489 |
+
// instead of updating it as an empty entry
|
490 |
+
if (empty($pageOptions)) {
|
491 |
+
delete_post_meta($postId, '_' . WPACU_PLUGIN_ID . '_page_options');
|
492 |
+
return;
|
493 |
+
}
|
494 |
|
495 |
+
$pageOptionsJson = json_encode($pageOptions);
|
496 |
|
497 |
+
if (! add_post_meta($postId, '_' . WPACU_PLUGIN_ID . '_page_options', $pageOptionsJson, true)) {
|
498 |
+
update_post_meta($postId, '_' . WPACU_PLUGIN_ID . '_page_options', $pageOptionsJson);
|
499 |
+
}
|
500 |
+
}
|
501 |
|
502 |
/**
|
503 |
* Triggers either "saveToEverywhereUnloads" or "removeEverywhereUnloads" methods
|
692 |
}
|
693 |
}
|
694 |
|
695 |
+
Misc::addUpdateOption( WPACU_PLUGIN_ID . '_bulk_unload', json_encode($existingList));
|
696 |
}
|
697 |
|
698 |
/**
|
715 |
|
716 |
$bulkType = 'post_type';
|
717 |
|
718 |
+
$stylesList = Misc::getVar('post', 'wpacu_options_'.$bulkType.'_styles', array());
|
719 |
+
$scriptsList = Misc::getVar('post', 'wpacu_options_'.$bulkType.'_scripts', array());
|
720 |
|
721 |
if (empty($stylesList) && empty($scriptsList)) {
|
722 |
return false;
|
764 |
continue;
|
765 |
}
|
766 |
|
767 |
+
foreach ( $existingList[ $assetType ][ $bulkType ][ $value ] as $handleKey => $handle ) {
|
768 |
+
if ( in_array( $handle, $list ) ) {
|
769 |
+
unset( $existingList[ $assetType ][ $bulkType ][ $value ][ $handleKey ] );
|
770 |
+
$isUpdated = true;
|
771 |
+
}
|
772 |
+
}
|
773 |
}
|
774 |
|
775 |
+
Misc::addUpdateOption( WPACU_PLUGIN_ID . '_bulk_unload', json_encode($existingList));
|
776 |
}
|
777 |
|
778 |
return $isUpdated;
|
779 |
}
|
780 |
+
|
781 |
/**
|
782 |
*
|
783 |
*/
|
876 |
*
|
877 |
*/
|
878 |
public static function clearTransients()
|
879 |
+
{
|
880 |
+
delete_transient(WPACU_PLUGIN_ID. '_total_unloaded_assets_all');
|
881 |
+
delete_transient(WPACU_PLUGIN_ID. '_total_unloaded_assets_per_page');
|
882 |
+
}
|
883 |
}
|
early-triggers.php
CHANGED
@@ -13,13 +13,24 @@ if (! function_exists('assetCleanUpNoLoad')) {
|
|
13 |
*/
|
14 |
function assetCleanUpNoLoad()
|
15 |
{
|
|
|
|
|
|
|
|
|
|
|
16 |
// On request: for debugging purposes - e.g. https://yourwebsite.com/?wpacu_no_load
|
17 |
// Also make sure it's in the REQUEST URI and $_GET wasn't altered incorrectly before it's checked
|
18 |
-
// Technically, it will be like
|
19 |
if (array_key_exists('wpacu_no_load', $_GET) && strpos($_SERVER['REQUEST_URI'], 'wpacu_no_load') !== false) {
|
20 |
return true;
|
21 |
}
|
22 |
|
|
|
|
|
|
|
|
|
|
|
|
|
23 |
// "Elementor" plugin Admin Area: Edit Mode
|
24 |
if (isset($_GET['post'], $_GET['action']) && $_GET['post'] && $_GET['action'] === 'elementor' && is_admin()) {
|
25 |
return true;
|
@@ -140,21 +151,19 @@ if (! function_exists('assetCleanUpNoLoad')) {
|
|
140 |
// AJAX Requests from various plugins/themes
|
141 |
if ($wpacuIsAjaxRequest && isset($_GET['action'])
|
142 |
&& (strpos($_GET['action'], 'woocommerce') === 0
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
)) {
|
152 |
return true;
|
153 |
}
|
154 |
|
155 |
-
|
156 |
-
// or from a different plugin that triggers before Asset CleanUp which is less reliable
|
157 |
-
return apply_filters('wpacu_plugin_no_load', false);
|
158 |
}
|
159 |
}
|
160 |
|
13 |
*/
|
14 |
function assetCleanUpNoLoad()
|
15 |
{
|
16 |
+
// Hide top WordPress admin bar on request for debugging purposes and a cleared view of the tested page
|
17 |
+
if (array_key_exists('wpacu_no_admin_bar', $_GET)) {
|
18 |
+
add_filter('show_admin_bar', '__return_false', PHP_INT_MAX);
|
19 |
+
}
|
20 |
+
|
21 |
// On request: for debugging purposes - e.g. https://yourwebsite.com/?wpacu_no_load
|
22 |
// Also make sure it's in the REQUEST URI and $_GET wasn't altered incorrectly before it's checked
|
23 |
+
// Technically, it will be like the plugin is not activated: no global settings and unload rules will be applied
|
24 |
if (array_key_exists('wpacu_no_load', $_GET) && strpos($_SERVER['REQUEST_URI'], 'wpacu_no_load') !== false) {
|
25 |
return true;
|
26 |
}
|
27 |
|
28 |
+
// Needs to be called ideally from a MU plugin which always loads before Asset CleanUp
|
29 |
+
// or from a different plugin that triggers before Asset CleanUp which is less reliable
|
30 |
+
if (apply_filters('wpacu_plugin_no_load', false)) {
|
31 |
+
return true;
|
32 |
+
}
|
33 |
+
|
34 |
// "Elementor" plugin Admin Area: Edit Mode
|
35 |
if (isset($_GET['post'], $_GET['action']) && $_GET['post'] && $_GET['action'] === 'elementor' && is_admin()) {
|
36 |
return true;
|
151 |
// AJAX Requests from various plugins/themes
|
152 |
if ($wpacuIsAjaxRequest && isset($_GET['action'])
|
153 |
&& (strpos($_GET['action'], 'woocommerce') === 0
|
154 |
+
|| strpos($_GET['action'], 'wc_') === 0
|
155 |
+
|| strpos($_GET['action'], 'jetpack') === 0
|
156 |
+
|| strpos($_GET['action'], 'wpfc_') === 0
|
157 |
+
|| strpos($_GET['action'], 'oxygen_') === 0
|
158 |
+
|| strpos($_GET['action'], 'oxy_') === 0
|
159 |
+
|| strpos($_GET['action'], 'w3tc_') === 0
|
160 |
+
|| strpos($_GET['action'], 'wpforms_') === 0
|
161 |
+
|| strpos($_GET['action'], 'wdi_') === 0
|
162 |
)) {
|
163 |
return true;
|
164 |
}
|
165 |
|
166 |
+
return false;
|
|
|
|
|
167 |
}
|
168 |
}
|
169 |
|
readme.txt
CHANGED
@@ -4,7 +4,7 @@ Tags: minify css, minify javascript, defer css javascript, page speed, dequeue,
|
|
4 |
Donate link: https://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.2.4
|
7 |
-
Stable tag: 1.3.4.
|
8 |
License: GPLv3
|
9 |
License URI: http://www.gnu.org/licenses/gpl.html
|
10 |
|
@@ -178,6 +178,15 @@ With the recently released "Test Mode" feature, you can safely unload assets on
|
|
178 |
4. Homepage CSS & JS Management (List sorted by location)
|
179 |
|
180 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
181 |
= 1.3.4.7 =
|
182 |
* Improvement: When assets are fetched to show in the load manager, prevent WP Rocket from running as well as Query Monitor from outputting information
|
183 |
* "Duplicate Post" compatibility fix: Make sure Asset CleanUp's meta values are taken into account when a post is cloned
|
4 |
Donate link: https://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.2.4
|
7 |
+
Stable tag: 1.3.4.8
|
8 |
License: GPLv3
|
9 |
License URI: http://www.gnu.org/licenses/gpl.html
|
10 |
|
178 |
4. Homepage CSS & JS Management (List sorted by location)
|
179 |
|
180 |
== Changelog ==
|
181 |
+
= 1.3.4.8 =
|
182 |
+
* Compatibility with "AMP (Official AMP Plugin for WordPress)" and "AMP for WP – Accelerated Mobile Pages" plugins: If the page is of AMP type, no Asset CleanUp settings/rules will be triggered to avoid validation errors; Moreover, NOSCRIPT tags added by Asset CleanUp are moved to the BODY tag (they are no longer stored in the HEAD tag) to avoid further validation errors in case other AMP plugins/scripts are used and Asset CleanUp Pro doesn't detect them
|
183 |
+
* New Feature: Skip "Test Mode" on page request for debugging purposes via /?wpacu_skip_test_mode - e.g. useful when you have to check a website and you don't have admin access and "Test Mode" is enabled (you can check if anything is broken there while the page loads fine for other visitors)
|
184 |
+
* Improvement: Changed the way the assets list is showing up for management by reducing the size of each row (with CSS/JS file details) so it's easier for scrolling (e.g. load exceptions are showing up only if you chosen a bulk unload option, reduced the height of some of the areas, such as "Handle:", "Source:" and notes area).
|
185 |
+
* Improvement: The number of total submitted fields is smaller now as the assets list area is not as cluttered since irrelevant fields are not submitted anymore with an empty value (this is not only useful for aesthetic reasons, but it's limiting the risk of submitting over 1000 fields where max_input_vars from php.ini is limited to only 1000 inputs)
|
186 |
+
* Improvement: No matter what type of layout to show the assets list is chosen from "Assets List Layout:", it will show the total number of CSS/JS for each group (e.g. total files from the theme, total files from all the active plugins, etc.)
|
187 |
+
* Improvement: Option to choose how the caching information (asset details including its location in the caching directory) is retrieved in "Plugin Usage Preferences" (useful to reduce database queries in case one has a large database that is slow in retrieving information)
|
188 |
+
* Improvement: If all CSS/JS from a plugin (when the assets list is grouped by location) are bulk unloaded (e.g. on all posts, site-wide), then "Unload on this page" (Check All | Uncheck All) is replaced with 'Make exception from bulk unload, "Load it on this page"' (Check All | Uncheck All)
|
189 |
+
|
190 |
= 1.3.4.7 =
|
191 |
* Improvement: When assets are fetched to show in the load manager, prevent WP Rocket from running as well as Query Monitor from outputting information
|
192 |
* "Duplicate Post" compatibility fix: Make sure Asset CleanUp's meta values are taken into account when a post is cloned
|
templates/_admin-page-settings-bulk-changes/_regex-unloads.php
ADDED
@@ -0,0 +1,27 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/*
|
3 |
+
* No direct access to this file
|
4 |
+
*/
|
5 |
+
if (! isset($data)) {
|
6 |
+
exit;
|
7 |
+
}
|
8 |
+
|
9 |
+
if (! defined('WPACU_USE_MODAL_BOX')) {
|
10 |
+
define('WPACU_USE_MODAL_BOX', true);
|
11 |
+
}
|
12 |
+
?>
|
13 |
+
<div class="wpacu-clearfix"></div>
|
14 |
+
|
15 |
+
<p>This is the list of all the CSS/JS that has unload RegEx rules associated with them. <a id="wpacu-regex-rules-info-target" href="#wpacu-regex-rules-info" style="text-decoration: none;"><span class="dashicons dashicons-info"></span> How the list below gets filled?</a></p>
|
16 |
+
|
17 |
+
<p>This feature is available only in the<img style="opacity: 0.6;" width="20" height="20" src="<?php echo WPACU_PLUGIN_URL; ?>/assets/icons/icon-lock.svg" valign="top" alt="" /> <a href="<?php echo WPACU_PLUGIN_GO_PRO_URL; ?>?utm_source=plugin_bulk_changes&utm_medium=regex_unloads"> Pro version</a>.</p>
|
18 |
+
|
19 |
+
<!-- Start Site-Wide Modal -->
|
20 |
+
<div id="wpacu-regex-rules-info" class="wpacu-modal">
|
21 |
+
<div class="wpacu-modal-content">
|
22 |
+
<span class="wpacu-close">×</span>
|
23 |
+
<h2><?php _e('Unloading CSS/JS site-wide or for a group of pages', 'wp-asset-clean-up'); ?></h2>
|
24 |
+
<p>This is an overview of all the assets that have unload RegEx rules applied to them. Anything you see on this page is filled the moment you go to edit a page via the "CSS & JavaScript Load Manager" (e.g. homepage or any other page, post etc.) and enable the option "<strong>Unload it for URLs with request URI matching this RegEx</strong>" (needs to have a valid input).</p>
|
25 |
+
</div>
|
26 |
+
</div>
|
27 |
+
<!-- End Site-Wide Modal -->
|
templates/_admin-page-settings-plugin-areas/_plugin-usage-settings.php
CHANGED
@@ -41,28 +41,28 @@ foreach (\WpAssetCleanUp\MetaBoxes::$noMetaBoxesForPostTypes as $noMetaBoxesForP
|
|
41 |
|
42 |
<div id="wpacu-settings-assets-retrieval-mode" <?php if (! ($data['dashboard_show'] == 1)) { echo 'style="display: none;"'; } ?>>
|
43 |
<ul id="wpacu-dom-get-type-selections">
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
|
67 |
<div class="wpacu-clearfix" style="height: 0;"></div>
|
68 |
|
@@ -218,7 +218,7 @@ foreach (\WpAssetCleanUp\MetaBoxes::$noMetaBoxesForPostTypes as $noMetaBoxesForP
|
|
218 |
<label class="wpacu_switch">
|
219 |
<input id="wpacu_hide_from_admin_bar"
|
220 |
type="checkbox"
|
221 |
-
|
222 |
name="<?php echo WPACU_PLUGIN_ID . '_settings'; ?>[hide_from_admin_bar]"
|
223 |
value="1" /> <span class="wpacu_slider wpacu_round"></span> </label>
|
224 |
|
@@ -264,21 +264,21 @@ foreach (\WpAssetCleanUp\MetaBoxes::$noMetaBoxesForPostTypes as $noMetaBoxesForP
|
|
264 |
<td>
|
265 |
<ul class="assets_list_inline_code_status_choices">
|
266 |
<li>
|
267 |
-
<label for="
|
268 |
-
<input id="
|
269 |
-
|
270 |
type="radio"
|
271 |
name="<?php echo WPACU_PLUGIN_ID . '_settings'; ?>[assets_list_inline_code_status]"
|
272 |
-
value="
|
273 |
</label>
|
274 |
</li>
|
275 |
<li>
|
276 |
-
<label for="
|
277 |
-
<input id="
|
278 |
-
<?php if ($data['assets_list_inline_code_status'] === '
|
279 |
type="radio"
|
280 |
name="<?php echo WPACU_PLUGIN_ID . '_settings'; ?>[assets_list_inline_code_status]"
|
281 |
-
value="
|
282 |
</label>
|
283 |
</li>
|
284 |
</ul>
|
@@ -350,7 +350,20 @@ foreach (\WpAssetCleanUp\MetaBoxes::$noMetaBoxesForPostTypes as $noMetaBoxesForP
|
|
350 |
name="<?php echo WPACU_PLUGIN_ID . '_settings'; ?>[allow_usage_tracking]"
|
351 |
value="1" /> <span class="wpacu_slider wpacu_round"></span> </label>
|
352 |
|
353 |
-
Allow
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
354 |
</td>
|
355 |
</tr>
|
356 |
<tr valign="top">
|
@@ -364,7 +377,7 @@ foreach (\WpAssetCleanUp\MetaBoxes::$noMetaBoxesForPostTypes as $noMetaBoxesForP
|
|
364 |
style="width: 60px; margin-bottom: 10px;"
|
365 |
name="<?php echo WPACU_PLUGIN_ID . '_settings'; ?>[clear_cached_files_after]"
|
366 |
value="<?php echo $data['clear_cached_files_after']; ?>" /> days <small>(setting the value to 0 will result in all the previously cached CSS/JS files to be deleted).</small>
|
367 |
-
<br />This is relevant
|
368 |
</td>
|
369 |
</tr>
|
370 |
<!-- [wpacu_lite] -->
|
@@ -418,6 +431,23 @@ foreach (\WpAssetCleanUp\MetaBoxes::$noMetaBoxesForPostTypes as $noMetaBoxesForP
|
|
418 |
</div>
|
419 |
</div>
|
420 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
421 |
<div id="wpacu-deactivate-modal-info" class="wpacu-modal" style="padding-top: 60px;">
|
422 |
<div class="wpacu-modal-content" style="max-width: 650px;">
|
423 |
<span class="wpacu-close">×</span>
|
@@ -427,4 +457,5 @@ foreach (\WpAssetCleanUp\MetaBoxes::$noMetaBoxesForPostTypes as $noMetaBoxesForP
|
|
427 |
<hr />
|
428 |
<img style="margin: 0 auto; width: 100%; max-width: 500px; display: table;" src="<?php echo WPACU_PLUGIN_URL. '/assets/images/wpacu-deactivate-modal.jpg'; ?>" alt="" />
|
429 |
</div>
|
430 |
-
</div>
|
|
41 |
|
42 |
<div id="wpacu-settings-assets-retrieval-mode" <?php if (! ($data['dashboard_show'] == 1)) { echo 'style="display: none;"'; } ?>>
|
43 |
<ul id="wpacu-dom-get-type-selections">
|
44 |
+
<li>
|
45 |
+
<label for="wpacu_dom_get_type"><?php _e('Select a retrieval way', 'wp-asset-clean-up'); ?>:</label>
|
46 |
+
</li>
|
47 |
+
<li>
|
48 |
+
<label>
|
49 |
+
<input class="wpacu-dom-get-type-selection"
|
50 |
+
data-target="wpacu-dom-get-type-direct-info"
|
51 |
+
<?php if ($data['dom_get_type'] === 'direct') { ?>checked="checked"<?php } ?>
|
52 |
+
type="radio" name="<?php echo WPACU_PLUGIN_ID . '_settings'; ?>[dom_get_type]"
|
53 |
+
value="direct" /> <?php _e('Direct', 'wp-asset-clean-up'); ?>
|
54 |
+
</label>
|
55 |
+
</li>
|
56 |
+
<li>
|
57 |
+
<label>
|
58 |
+
<input class="wpacu-dom-get-type-selection"
|
59 |
+
data-target="wpacu-dom-get-type-wp-remote-post-info"
|
60 |
+
<?php if ($data['dom_get_type'] === 'wp_remote_post') { ?>checked="checked"<?php } ?>
|
61 |
+
type="radio" name="<?php echo WPACU_PLUGIN_ID . '_settings'; ?>[dom_get_type]"
|
62 |
+
value="wp_remote_post" /> WP Remote Post
|
63 |
+
</label>
|
64 |
+
</li>
|
65 |
+
</ul>
|
66 |
|
67 |
<div class="wpacu-clearfix" style="height: 0;"></div>
|
68 |
|
218 |
<label class="wpacu_switch">
|
219 |
<input id="wpacu_hide_from_admin_bar"
|
220 |
type="checkbox"
|
221 |
+
<?php echo (($data['hide_from_admin_bar'] == 1) ? 'checked="checked"' : ''); ?>
|
222 |
name="<?php echo WPACU_PLUGIN_ID . '_settings'; ?>[hide_from_admin_bar]"
|
223 |
value="1" /> <span class="wpacu_slider wpacu_round"></span> </label>
|
224 |
|
264 |
<td>
|
265 |
<ul class="assets_list_inline_code_status_choices">
|
266 |
<li>
|
267 |
+
<label for="assets_list_inline_code_status_contracted">
|
268 |
+
<input id="assets_list_inline_code_status_contracted"
|
269 |
+
<?php if ($data['assets_list_inline_code_status'] === 'contracted') { ?>checked="checked"<?php } ?>
|
270 |
type="radio"
|
271 |
name="<?php echo WPACU_PLUGIN_ID . '_settings'; ?>[assets_list_inline_code_status]"
|
272 |
+
value="contracted"> <?php _e('Contracted', 'wp-asset-clean-up'); ?> (<?php _e('Default', 'wp-asset-clean-up'); ?>)
|
273 |
</label>
|
274 |
</li>
|
275 |
<li>
|
276 |
+
<label for="assets_list_inline_code_status_expanded">
|
277 |
+
<input id="assets_list_inline_code_status_expanded"
|
278 |
+
<?php if (! $data['assets_list_inline_code_status'] || $data['assets_list_inline_code_status'] === 'expanded') { ?>checked="checked"<?php } ?>
|
279 |
type="radio"
|
280 |
name="<?php echo WPACU_PLUGIN_ID . '_settings'; ?>[assets_list_inline_code_status]"
|
281 |
+
value="expanded"> <?php _e('Expanded', 'wp-asset-clean-up'); ?>
|
282 |
</label>
|
283 |
</li>
|
284 |
</ul>
|
350 |
name="<?php echo WPACU_PLUGIN_ID . '_settings'; ?>[allow_usage_tracking]"
|
351 |
value="1" /> <span class="wpacu_slider wpacu_round"></span> </label>
|
352 |
|
353 |
+
Allow <?php echo WPACU_PLUGIN_TITLE; ?> to anonymously track plugin usage in order to help us make the plugin better? No sensitive or personal data is collected. <span style="color: #004567;" class="dashicons dashicons-info"></span> <a id="wpacu-show-tracked-data-list-modal-target" href="#wpacu-show-tracked-data-list-modal">What kind of data will be sent for the tracking?</a>
|
354 |
+
</td>
|
355 |
+
</tr>
|
356 |
+
<tr valign="top">
|
357 |
+
<th scope="row">
|
358 |
+
<label for="wpacu_fetch_cached_files_details_from"><?php _e('Fetch assets\' caching information from:', 'wp-asset-clean-up'); ?></label>
|
359 |
+
</th>
|
360 |
+
<td>
|
361 |
+
<select id="wpacu_fetch_cached_files_details_from"
|
362 |
+
name="<?php echo WPACU_PLUGIN_ID . '_settings'; ?>[fetch_cached_files_details_from]">
|
363 |
+
<option <?php if ($data['fetch_cached_files_details_from'] === 'db_disk') { ?>selected="selected"<?php } ?> value="db_disk">Database & Disk (50% / 50%)</option>
|
364 |
+
<option <?php if ($data['fetch_cached_files_details_from'] === 'db') { ?>selected="selected"<?php } ?> value="db">Database</option>
|
365 |
+
<option <?php if ($data['fetch_cached_files_details_from'] === 'disk') { ?>selected="selected"<?php } ?> value="disk">Disk</option>
|
366 |
+
</select> <span style="color: #004567; vertical-align: middle;" class="dashicons dashicons-info"></span> <a style="vertical-align: middle;" id="wpacu-fetch-assets-details-location-modal-target" href="#wpacu-fetch-assets-details-location-modal">Read more</a>
|
367 |
</td>
|
368 |
</tr>
|
369 |
<tr valign="top">
|
377 |
style="width: 60px; margin-bottom: 10px;"
|
378 |
name="<?php echo WPACU_PLUGIN_ID . '_settings'; ?>[clear_cached_files_after]"
|
379 |
value="<?php echo $data['clear_cached_files_after']; ?>" /> days <small>(setting the value to 0 will result in all the previously cached CSS/JS files to be deleted).</small>
|
380 |
+
<br />This is relevant in case there are alterations made to the content of the CSS/JS files via minification, combination or any other settings that would require an update to the content of a file (e.g. apply "font-display" to @font-face in stylesheets). When the caching is cleared, the previously cached CSS/JS files stored in <code><?php echo \WpAssetCleanUp\OptimiseAssets\OptimizeCommon::getRelPathPluginCacheDir(); ?></code> that are older than (X) days will be deleted as they are outdated and likely not referenced anymore in any source code (e.g. old cached pages, Google Search cached version etc.). <span style="color: #004567;" class="dashicons dashicons-info"></span> <a href="https://assetcleanup.com/docs/?p=237" target="_blank">Read more</a>
|
381 |
</td>
|
382 |
</tr>
|
383 |
<!-- [wpacu_lite] -->
|
431 |
</div>
|
432 |
</div>
|
433 |
|
434 |
+
<div id="wpacu-fetch-assets-details-location-modal" class="wpacu-modal" style="padding-top: 100px;">
|
435 |
+
<div class="wpacu-modal-content" style="max-width: 800px;">
|
436 |
+
<span class="wpacu-close">×</span>
|
437 |
+
<p>Any optimized files (e.g. via minification, combination) have their caching information (such as original location, new optimized location, version) stored in both the database and the disk by default to balance the usage of resources when you have loads of files to have their details fetched.</p>
|
438 |
+
|
439 |
+
<p>The contents are stored like in the following example:</p>
|
440 |
+
<p><code>{"source_uri":"\/wp-content\/plugins\/plugin-title-here\/assets\/style.css","optimize_uri":"\/wp-content\/uploads\/asset-cleanup\/css\/item\/handle-title-here-v10-8683e3d8975dab70c7f368d58203e66e70fb3e06.css","ver":10}</code></p>
|
441 |
+
|
442 |
+
<p>Once this information is retrieved, the file's original URL will be updated to match the optimized one for the file's content stored in <code><?php echo \WpAssetCleanUp\OptimiseAssets\OptimizeCommon::getRelPathPluginCacheDir(); ?></code>.</p>
|
443 |
+
|
444 |
+
<p>If, for instance, on a page, there are 19 CSS/JS files which are optimized & cached, 10 would have their caching information fetched from the database while 9 from the disk in case you leave it to the default option which is <strong>Database & Disk (50% / 50%)</strong>. If your website has a very large database and you will want to reduce the database queries, you could choose to get the information from the <strong>Disk</strong> instead.</p>
|
445 |
+
|
446 |
+
<p><strong>Note:</strong> If you are using a plugin such as WP Rocket, WP Fastest Cache or the caching system provided by your hosting company, then this fetching process would be significantly reduced as visitors will access static HTML pages read from the caching. Technically, no SQL queries should be made as the WordPress environment would not be loaded as it happens with a non-cached page (e.g. when you are logged-in and access the front-end pages).</p>
|
447 |
+
</div>
|
448 |
+
</div>
|
449 |
+
|
450 |
+
<!-- [wpacu_lite] -->
|
451 |
<div id="wpacu-deactivate-modal-info" class="wpacu-modal" style="padding-top: 60px;">
|
452 |
<div class="wpacu-modal-content" style="max-width: 650px;">
|
453 |
<span class="wpacu-close">×</span>
|
457 |
<hr />
|
458 |
<img style="margin: 0 auto; width: 100%; max-width: 500px; display: table;" src="<?php echo WPACU_PLUGIN_URL. '/assets/images/wpacu-deactivate-modal.jpg'; ?>" alt="" />
|
459 |
</div>
|
460 |
+
</div>
|
461 |
+
<!-- [/wpacu_lite] -->
|
templates/_top-area.php
CHANGED
@@ -83,31 +83,38 @@ $goBackToCurrentUrl = '&_wp_http_referer=' . urlencode( wp_unslash( $_SERVER['RE
|
|
83 |
<div class="wpacu-tabs wpacu-tabs-style-topline">
|
84 |
<nav>
|
85 |
<ul>
|
86 |
-
<?php
|
|
|
87 |
$wpacuIsCurrentPage = ($wpacuCurrentPage === $wpacuInfo['page']);
|
88 |
$wpacuIsLoadManagerPageLink = ($wpacuInfo['page'] === 'wpassetcleanup_assets_manager');
|
89 |
$wpacuIsBulkUnloadsPageLink = ($wpacuInfo['page'] === 'wpassetcleanup_bulk_unloads');
|
90 |
?>
|
91 |
-
|
92 |
<?php
|
93 |
if ($wpacuIsLoadManagerPageLink) {
|
94 |
-
$totalUnloadedAssets = Misc::getTotalUnloadedAssets();
|
95 |
|
96 |
if ($totalUnloadedAssets === 0) {
|
97 |
?>
|
98 |
-
<span class="extra-info assets-unloaded-false"><span class="dashicons dashicons-warning"></span> No
|
99 |
<?php
|
100 |
} elseif ($totalUnloadedAssets > 0) {
|
101 |
?>
|
102 |
-
<span class="extra-info assets-unloaded-true"><strong><?php echo $totalUnloadedAssets; ?></strong> unloaded files</span>
|
103 |
<?php
|
104 |
}
|
105 |
-
}
|
|
|
|
|
106 |
$totalBulkUnloadRules = Misc::getTotalBulkUnloadsFor('all');
|
107 |
|
108 |
-
if ($totalBulkUnloadRules
|
|
|
|
|
|
|
|
|
109 |
?>
|
110 |
-
<span class="extra-info assets-unloaded-true"><strong><?php echo $totalBulkUnloadRules; ?></strong> bulk
|
111 |
<?php
|
112 |
}
|
113 |
}
|
83 |
<div class="wpacu-tabs wpacu-tabs-style-topline">
|
84 |
<nav>
|
85 |
<ul>
|
86 |
+
<?php
|
87 |
+
foreach ($wpacuTopAreaLinks as $wpacuLink => $wpacuInfo) {
|
88 |
$wpacuIsCurrentPage = ($wpacuCurrentPage === $wpacuInfo['page']);
|
89 |
$wpacuIsLoadManagerPageLink = ($wpacuInfo['page'] === 'wpassetcleanup_assets_manager');
|
90 |
$wpacuIsBulkUnloadsPageLink = ($wpacuInfo['page'] === 'wpassetcleanup_bulk_unloads');
|
91 |
?>
|
92 |
+
<li class="<?php if ($wpacuIsCurrentPage) { echo 'wpacu-tab-current'; } ?>">
|
93 |
<?php
|
94 |
if ($wpacuIsLoadManagerPageLink) {
|
95 |
+
$totalUnloadedAssets = Misc::getTotalUnloadedAssets('per_page');
|
96 |
|
97 |
if ($totalUnloadedAssets === 0) {
|
98 |
?>
|
99 |
+
<span class="extra-info assets-unloaded-false"><span class="dashicons dashicons-warning"></span> No unloads per page</span>
|
100 |
<?php
|
101 |
} elseif ($totalUnloadedAssets > 0) {
|
102 |
?>
|
103 |
+
<span class="extra-info assets-unloaded-true"><strong><?php echo $totalUnloadedAssets; ?></strong> unloaded files per page</span>
|
104 |
<?php
|
105 |
}
|
106 |
+
}
|
107 |
+
|
108 |
+
if ($wpacuIsBulkUnloadsPageLink) {
|
109 |
$totalBulkUnloadRules = Misc::getTotalBulkUnloadsFor('all');
|
110 |
|
111 |
+
if ($totalBulkUnloadRules === 0) {
|
112 |
+
?>
|
113 |
+
<span class="extra-info no-bulk-unloads assets-unloaded-false"><span class="dashicons dashicons-warning"></span> No bulk unloads</span>
|
114 |
+
<?php
|
115 |
+
} elseif ($totalBulkUnloadRules > 0) {
|
116 |
?>
|
117 |
+
<span class="extra-info assets-unloaded-true"><strong><?php echo $totalBulkUnloadRules; ?></strong> bulk unloads</span>
|
118 |
<?php
|
119 |
}
|
120 |
}
|
templates/admin-page-settings-bulk-changes.php
CHANGED
@@ -11,33 +11,36 @@ include_once '_top-area.php';
|
|
11 |
$wpacuTabCurrent = isset($_REQUEST['wpacu_bulk_menu_tab']) ? $_REQUEST['wpacu_bulk_menu_tab'] : 'bulk_unloaded';
|
12 |
|
13 |
$wpacuTabList = array(
|
14 |
-
'bulk_unloaded' => __('Bulk Unloaded', 'wp-asset-clean-up'),
|
|
|
15 |
'preloaded_assets' => __('Preloaded CSS/JS', 'wp-asset-clean-up'),
|
16 |
-
'script_attrs' => __('Defer & Async
|
17 |
'assets_positions' => __('Updated CSS/JS positions', 'wp-asset-clean-up')
|
18 |
);
|
19 |
?>
|
20 |
-
<div class="wpacu-wrap">
|
21 |
<ul class="wpacu-bulk-changes-tabs">
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
<li <?php if ($wpacuTabKey === $wpacuTabCurrent) { ?>class="current"<?php } ?>>
|
26 |
<a href="<?php echo admin_url('admin.php?page=wpassetcleanup_bulk_unloads&wpacu_bulk_menu_tab='.$wpacuTabKey); ?>"><?php echo $wpacuTabValue; ?></a>
|
27 |
</li>
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
</ul>
|
32 |
-
|
33 |
-
|
34 |
-
|
|
|
|
|
35 |
} elseif ($wpacuTabCurrent === 'preloaded_assets') {
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
</div>
|
11 |
$wpacuTabCurrent = isset($_REQUEST['wpacu_bulk_menu_tab']) ? $_REQUEST['wpacu_bulk_menu_tab'] : 'bulk_unloaded';
|
12 |
|
13 |
$wpacuTabList = array(
|
14 |
+
'bulk_unloaded' => __('Bulk Unloaded (page types)', 'wp-asset-clean-up'),
|
15 |
+
'regex_unloads' => __('RegEx Unloads', 'wp-asset-clean-up'),
|
16 |
'preloaded_assets' => __('Preloaded CSS/JS', 'wp-asset-clean-up'),
|
17 |
+
'script_attrs' => __('Defer & Async applied site-wide', 'wp-asset-clean-up'),
|
18 |
'assets_positions' => __('Updated CSS/JS positions', 'wp-asset-clean-up')
|
19 |
);
|
20 |
?>
|
21 |
+
<div class="wpacu-wrap <?php if ($data['plugin_settings']['input_style'] !== 'standard') { echo 'wpacu-switch-enhanced'; } ?>">
|
22 |
<ul class="wpacu-bulk-changes-tabs">
|
23 |
+
<?php
|
24 |
+
foreach ($wpacuTabList as $wpacuTabKey => $wpacuTabValue) {
|
25 |
+
?>
|
26 |
<li <?php if ($wpacuTabKey === $wpacuTabCurrent) { ?>class="current"<?php } ?>>
|
27 |
<a href="<?php echo admin_url('admin.php?page=wpassetcleanup_bulk_unloads&wpacu_bulk_menu_tab='.$wpacuTabKey); ?>"><?php echo $wpacuTabValue; ?></a>
|
28 |
</li>
|
29 |
+
<?php
|
30 |
+
}
|
31 |
+
?>
|
32 |
</ul>
|
33 |
+
<?php
|
34 |
+
if ($wpacuTabCurrent === 'bulk_unloaded') {
|
35 |
+
include_once '_admin-page-settings-bulk-changes/_bulk-unloaded.php';
|
36 |
+
} elseif($wpacuTabCurrent === 'regex_unloads') {
|
37 |
+
include_once '_admin-page-settings-bulk-changes/_regex-unloads.php';
|
38 |
} elseif ($wpacuTabCurrent === 'preloaded_assets') {
|
39 |
+
include_once '_admin-page-settings-bulk-changes/_preloaded-assets.php';
|
40 |
+
} elseif ($wpacuTabCurrent === 'script_attrs') {
|
41 |
+
include_once '_admin-page-settings-bulk-changes/_script-attrs.php';
|
42 |
+
} elseif ($wpacuTabCurrent === 'assets_positions') {
|
43 |
+
include_once '_admin-page-settings-bulk-changes/_assets-positions.php';
|
44 |
+
}
|
45 |
+
?>
|
46 |
</div>
|
templates/meta-box-loaded-assets/_asset-script-rows.php
CHANGED
@@ -9,7 +9,7 @@ foreach ($data['all']['scripts'] as $obj) {
|
|
9 |
|
10 |
$active = (isset($data['current']['scripts']) && in_array($data['row']['obj']->handle, $data['current']['scripts']));
|
11 |
|
12 |
-
$data['row']['class']
|
13 |
$data['row']['checked'] = $active ? 'checked="checked"' : '';
|
14 |
|
15 |
/*
|
@@ -31,7 +31,7 @@ foreach ($data['all']['scripts'] as $obj) {
|
|
31 |
}
|
32 |
}
|
33 |
|
34 |
-
$isLoadException = in_array($data['row']['obj']->handle, $data['load_exceptions']['scripts']);
|
35 |
|
36 |
if ($isLoadException) {
|
37 |
$data['row']['is_load_exception'] = true;
|
9 |
|
10 |
$active = (isset($data['current']['scripts']) && in_array($data['row']['obj']->handle, $data['current']['scripts']));
|
11 |
|
12 |
+
$data['row']['class'] = $active ? 'wpacu_not_load' : '';
|
13 |
$data['row']['checked'] = $active ? 'checked="checked"' : '';
|
14 |
|
15 |
/*
|
31 |
}
|
32 |
}
|
33 |
|
34 |
+
$isLoadException = isset($data['load_exceptions']['scripts']) && in_array($data['row']['obj']->handle, $data['load_exceptions']['scripts']);
|
35 |
|
36 |
if ($isLoadException) {
|
37 |
$data['row']['is_load_exception'] = true;
|
templates/meta-box-loaded-assets/_asset-script-single-row.php
CHANGED
@@ -9,7 +9,7 @@ if (! isset($data)) {
|
|
9 |
$inlineCodeStatus = $data['plugin_settings']['assets_list_inline_code_status'];
|
10 |
$isCoreFile = isset($data['row']['obj']->wp) && $data['row']['obj']->wp;
|
11 |
$hideCoreFiles = $data['plugin_settings']['hide_core_files'];
|
12 |
-
$isBulkUnloaded = $data['row']['
|
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();
|
@@ -17,10 +17,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="" />';
|
19 |
$jqueryIconHtmlDepends = '<img src="'.WPACU_PLUGIN_URL.'/assets/icons/handles/icon-jquery.png" style="max-width: 22px; max-height: 22px; vertical-align: text-top; margin-bottom: 0;" width="16" height="16" alt="" />';
|
|
|
|
|
|
|
|
|
20 |
?>
|
21 |
-
<tr
|
|
|
|
|
22 |
<td valign="top">
|
23 |
-
|
24 |
<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>
|
25 |
<em>* JavaScript (.js)</em>
|
26 |
<?php if ($isCoreFile && ! $hideCoreFiles) { ?>
|
@@ -28,8 +34,7 @@ $jqueryIconHtmlDepends = '<img src="'.WPACU_PLUGIN_URL.'/assets/icons/handles/ic
|
|
28 |
<?php
|
29 |
}
|
30 |
?>
|
31 |
-
</
|
32 |
-
|
33 |
<?php
|
34 |
if (! empty($childHandles)) {
|
35 |
$ignoreChild = (isset($data['ignore_child']['scripts'][$data['row']['obj']->handle]) && $data['ignore_child']['scripts'][$data['row']['obj']->handle]);
|
@@ -45,39 +50,39 @@ $jqueryIconHtmlDepends = '<img src="'.WPACU_PLUGIN_URL.'/assets/icons/handles/ic
|
|
45 |
<label for="script_<?php echo $data['row']['obj']->handle; ?>_ignore_children">
|
46 |
<input type="hidden" name="wpacu_ignore_child[scripts][<?php echo $data['row']['obj']->handle; ?>]" value="" />
|
47 |
⟶ <input id="script_<?php echo $data['row']['obj']->handle; ?>_ignore_children"
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
</label>
|
53 |
</p>
|
54 |
-
|
55 |
}
|
56 |
?>
|
57 |
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
|
62 |
-
|
63 |
-
|
64 |
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
|
69 |
-
|
70 |
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
<p>
|
80 |
-
|
81 |
⟶
|
82 |
Preload (if kept loaded)?
|
83 |
<select style="display: inline-block; width: auto;"
|
@@ -87,15 +92,15 @@ $jqueryIconHtmlDepends = '<img src="'.WPACU_PLUGIN_URL.'/assets/icons/handles/ic
|
|
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 |
</p>
|
90 |
-
|
91 |
-
|
92 |
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
<div class="tip"><strong>Tip:</strong> <?php echo $assetTip; ?></div>
|
97 |
-
|
98 |
-
|
99 |
$extraInfo = array();
|
100 |
|
101 |
if (isset($data['row']['obj']->deps) && ! empty($data['row']['obj']->deps)) {
|
@@ -110,20 +115,20 @@ $jqueryIconHtmlDepends = '<img src="'.WPACU_PLUGIN_URL.'/assets/icons/handles/ic
|
|
110 |
$dependsOnText = __('"Child" of "parent" JS file(s):', 'wp-asset-clean-up');
|
111 |
}
|
112 |
|
113 |
-
|
114 |
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
|
120 |
-
|
121 |
-
|
122 |
|
123 |
-
|
124 |
|
125 |
-
|
126 |
-
|
127 |
|
128 |
$extraInfo[] = __('Version:', 'wp-asset-clean-up').' '.$ver;
|
129 |
|
@@ -138,19 +143,19 @@ $jqueryIconHtmlDepends = '<img src="'.WPACU_PLUGIN_URL.'/assets/icons/handles/ic
|
|
138 |
// [/wpacu_lite]
|
139 |
|
140 |
if (! empty($extraInfo)) {
|
141 |
-
echo '<
|
142 |
}
|
143 |
?>
|
144 |
|
145 |
-
<div
|
146 |
<div class="wpacu_asset_options_wrap" style="padding: 8px 10px 6px !important;">
|
147 |
-
<ul class="wpacu_asset_options" <?php
|
148 |
<li class="wpacu_unload_this_page">
|
149 |
<label class="wpacu_switch">
|
150 |
<input data-handle="<?php echo $data['row']['obj']->handle; ?>"
|
151 |
class="input-unload-on-this-page <?php if (! $isBulkUnloaded) { echo 'wpacu-not-locked'; } ?> wpacu_unload_rule_input wpacu_unload_rule_for_script"
|
152 |
id="script_<?php echo $data['row']['obj']->handle; ?>"
|
153 |
-
<?php
|
154 |
echo $data['row']['checked']; ?>
|
155 |
name="<?php echo WPACU_PLUGIN_ID; ?>[scripts][]"
|
156 |
type="checkbox"
|
@@ -165,7 +170,7 @@ $jqueryIconHtmlDepends = '<img src="'.WPACU_PLUGIN_URL.'/assets/icons/handles/ic
|
|
165 |
|
166 |
<?php
|
167 |
if ($isBulkUnloaded) {
|
168 |
-
|
169 |
<p style="margin: 0 !important;">
|
170 |
<em>
|
171 |
<?php echo sprintf(
|
@@ -186,19 +191,19 @@ $jqueryIconHtmlDepends = '<img src="'.WPACU_PLUGIN_URL.'/assets/icons/handles/ic
|
|
186 |
// Unloaded Everywhere
|
187 |
if ($data['row']['global_unloaded']) {
|
188 |
?>
|
189 |
-
<
|
190 |
-
<div class="wpacu-clearfix" style="margin-top: -5px; height: 0;"></div>
|
191 |
<?php
|
192 |
}
|
193 |
?>
|
194 |
|
195 |
-
<ul class="wpacu_asset_options"
|
196 |
<?php
|
197 |
// [START] UNLOAD EVERYWHERE
|
198 |
if ($data['row']['global_unloaded']) {
|
199 |
?>
|
200 |
<li>
|
201 |
-
<label
|
|
|
202 |
class="wpacu_bulk_option wpacu_script wpacu_keep_site_wide_rule"
|
203 |
type="radio"
|
204 |
name="wpacu_options_scripts[<?php echo $data['row']['obj']->handle; ?>]"
|
@@ -207,8 +212,9 @@ $jqueryIconHtmlDepends = '<img src="'.WPACU_PLUGIN_URL.'/assets/icons/handles/ic
|
|
207 |
<?php _e('Keep site-wide rule', 'wp-asset-clean-up'); ?></label>
|
208 |
</li>
|
209 |
|
210 |
-
<li>
|
211 |
-
<label
|
|
|
212 |
class="wpacu_bulk_option wpacu_script wpacu_remove_site_wide_rule"
|
213 |
type="radio"
|
214 |
name="wpacu_options_scripts[<?php echo $data['row']['obj']->handle; ?>]"
|
@@ -220,7 +226,8 @@ $jqueryIconHtmlDepends = '<img src="'.WPACU_PLUGIN_URL.'/assets/icons/handles/ic
|
|
220 |
?>
|
221 |
<li>
|
222 |
<label><input data-handle="<?php echo $data['row']['obj']->handle; ?>"
|
223 |
-
|
|
|
224 |
id="wpacu_global_unload_script_<?php echo $data['row']['obj']->handle; ?>"
|
225 |
type="checkbox"
|
226 |
name="wpacu_global_unload_scripts[]"
|
@@ -231,14 +238,13 @@ $jqueryIconHtmlDepends = '<img src="'.WPACU_PLUGIN_URL.'/assets/icons/handles/ic
|
|
231 |
}
|
232 |
// [END] UNLOAD EVERYWHERE
|
233 |
?>
|
234 |
-
|
235 |
</ul>
|
236 |
</div>
|
237 |
|
238 |
<?php
|
239 |
if ($data['bulk_unloaded_type'] === 'post_type') {
|
240 |
?>
|
241 |
-
|
242 |
<?php
|
243 |
// Unloaded On All Pages Belonging to the page's Post Type
|
244 |
if ($data['row']['is_post_type_unloaded']) {
|
@@ -295,6 +301,7 @@ $jqueryIconHtmlDepends = '<img src="'.WPACU_PLUGIN_URL.'/assets/icons/handles/ic
|
|
295 |
?>
|
296 |
<li>
|
297 |
<label><input data-handle="<?php echo $data['row']['obj']->handle; ?>"
|
|
|
298 |
class="wpacu_bulk_unload wpacu_post_type_unload wpacu_post_type_script wpacu_unload_rule_input wpacu_unload_rule_for_script"
|
299 |
id="wpacu_global_unload_post_type_script_<?php echo $data['row']['obj']->handle; ?>"
|
300 |
type="checkbox"
|
@@ -311,12 +318,57 @@ $jqueryIconHtmlDepends = '<img src="'.WPACU_PLUGIN_URL.'/assets/icons/handles/ic
|
|
311 |
}
|
312 |
// [END] ALL PAGES HAVING THE SAME POST TYPE
|
313 |
?>
|
314 |
-
<div class="wpacu-clearfix"></div>
|
315 |
-
</div>
|
316 |
|
317 |
-
|
318 |
-
|
319 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
320 |
<li id="wpacu_load_it_option_script_<?php echo $data['row']['obj']->handle; ?>">
|
321 |
<label><input data-handle="<?php echo $data['row']['obj']->handle; ?>"
|
322 |
id="wpacu_load_it_option_script_<?php echo $data['row']['obj']->handle; ?>"
|
@@ -327,34 +379,26 @@ $jqueryIconHtmlDepends = '<img src="'.WPACU_PLUGIN_URL.'/assets/icons/handles/ic
|
|
327 |
value="<?php echo $data['row']['obj']->handle; ?>" />
|
328 |
Load it on this page</label>
|
329 |
</li>
|
330 |
-
|
331 |
-
|
332 |
-
|
333 |
-
|
334 |
-
|
335 |
-
|
336 |
-
|
337 |
-
|
338 |
-
|
339 |
-
|
340 |
-
|
341 |
-
|
342 |
-
|
343 |
-
|
344 |
-
|
345 |
-
|
346 |
-
|
347 |
-
|
348 |
-
disabled="disabled"
|
349 |
-
<?php if ($handleLoadRegex['enable']) { ?> checked="checked" <?php } ?>
|
350 |
-
value="1" />
|
351 |
-
Load it for URLs with request URI matching this RegEx: <a class="go-pro-link-no-style" href="<?php echo WPACU_PLUGIN_GO_PRO_URL; ?>"><span class="wpacu-tooltip wpacu-larger"><?php _e('This feature is available in the premium version of the plugin.', 'wp-asset-clean-up'); ?><br /> <?php _e('Click here to upgrade to Pro', 'wp-asset-clean-up'); ?>!</span><img width="20" height="20" src="<?php echo WPACU_PLUGIN_URL; ?>/assets/icons/icon-lock.svg" valign="top" alt="" /></a> <input type="text" style="min-width: 150px;" disabled="disabled" value="<?php echo esc_attr($handleLoadRegex['value']); ?>" /> <a style="text-decoration: none; color: inherit;" target="_blank" href="https://assetcleanup.com/docs/?p=21#wpacu-method-2"><span class="dashicons dashicons-editor-help"></span></a></label>
|
352 |
</li>
|
353 |
-
<?php
|
354 |
-
// [/wpacu_pro]
|
355 |
-
?>
|
356 |
</ul>
|
357 |
-
<div class="wpacu-clearfix"></div>
|
358 |
</div>
|
359 |
|
360 |
<?php
|
@@ -379,20 +423,20 @@ $jqueryIconHtmlDepends = '<img src="'.WPACU_PLUGIN_URL.'/assets/icons/handles/ic
|
|
379 |
<!-- [wpacu_lite] -->
|
380 |
<?php if (isset($data['row']['obj']->src) && $data['row']['obj']->src !== '') { ?>
|
381 |
<div class="wpacu-script-attributes-area wpacu-lite">
|
382 |
-
<
|
383 |
-
|
384 |
<ul class="wpacu-script-attributes-settings wpacu-first">
|
385 |
<li><a class="go-pro-link-no-style" href="<?php echo WPACU_PLUGIN_GO_PRO_URL; ?>"><span class="wpacu-tooltip wpacu-larger"><?php _e('This feature is available in the premium version of the plugin.', 'wp-asset-clean-up'); ?><br /> <?php _e('Click here to upgrade to Pro', 'wp-asset-clean-up'); ?>!</span><img width="20" height="20" src="<?php echo WPACU_PLUGIN_URL; ?>/assets/icons/icon-lock.svg" valign="top" alt="" /></a> <strong>async</strong> ⟶</li>
|
386 |
-
<li><label
|
387 |
-
<li><label
|
388 |
</ul>
|
389 |
-
|
390 |
<ul class="wpacu-script-attributes-settings">
|
391 |
<li><a class="go-pro-link-no-style" href="<?php echo WPACU_PLUGIN_GO_PRO_URL; ?>"><span class="wpacu-tooltip wpacu-larger"><?php _e('This feature is available in the premium version of the plugin.', 'wp-asset-clean-up'); ?><br /> <?php _e('Click here to upgrade to Pro', 'wp-asset-clean-up'); ?>!</span><img width="20" height="20" src="<?php echo WPACU_PLUGIN_URL; ?>/assets/icons/icon-lock.svg" valign="top" alt="" /></a> <strong>defer</strong> ⟶</li>
|
392 |
-
<li><label
|
393 |
-
<li><label
|
394 |
</ul>
|
|
|
395 |
</div>
|
|
|
396 |
<?php } ?>
|
397 |
<!-- [/wpacu_lite] -->
|
398 |
|
@@ -410,6 +454,8 @@ $jqueryIconHtmlDepends = '<img src="'.WPACU_PLUGIN_URL.'/assets/icons/handles/ic
|
|
410 |
<div <?php if ($handleNote) { echo 'style="display: block;"'; } ?> data-script-handle="<?php echo $data['row']['obj']->handle; ?>" class="wpacu-handle-notes-field">
|
411 |
<textarea id="wpacu_handle_note_script_<?php echo $data['row']['obj']->handle; ?>"
|
412 |
rows="3"
|
|
|
|
|
413 |
placeholder="<?php echo esc_attr('Add your note here about this JavaScript file', 'wp-asset-clean-up'); ?>"
|
414 |
name="wpacu_handle_notes[scripts][<?php echo $data['row']['obj']->handle; ?>]"><?php echo esc_textarea($handleNote); ?></textarea>
|
415 |
</div>
|
9 |
$inlineCodeStatus = $data['plugin_settings']['assets_list_inline_code_status'];
|
10 |
$isCoreFile = isset($data['row']['obj']->wp) && $data['row']['obj']->wp;
|
11 |
$hideCoreFiles = $data['plugin_settings']['hide_core_files'];
|
12 |
+
$isBulkUnloaded = $data['row']['is_global_rule'];
|
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();
|
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="" />';
|
19 |
$jqueryIconHtmlDepends = '<img src="'.WPACU_PLUGIN_URL.'/assets/icons/handles/icon-jquery.png" style="max-width: 22px; max-height: 22px; vertical-align: text-top; margin-bottom: 0;" width="16" height="16" alt="" />';
|
20 |
+
|
21 |
+
if ($isBulkUnloaded) {
|
22 |
+
$data['row']['class'] .= ' wpacu_is_bulk_unloaded';
|
23 |
+
}
|
24 |
?>
|
25 |
+
<tr data-script-handle-row="<?php echo $data['row']['obj']->handle; ?>"
|
26 |
+
class="wpacu_asset_row <?php echo $data['row']['class']; ?>"
|
27 |
+
style="<?php if ($isCoreFile && $hideCoreFiles) { echo 'display: none;'; } ?>">
|
28 |
<td valign="top">
|
29 |
+
<div class="wpacu_handle" style="margin: 0 0 -8px;">
|
30 |
<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>
|
31 |
<em>* JavaScript (.js)</em>
|
32 |
<?php if ($isCoreFile && ! $hideCoreFiles) { ?>
|
34 |
<?php
|
35 |
}
|
36 |
?>
|
37 |
+
</div>
|
|
|
38 |
<?php
|
39 |
if (! empty($childHandles)) {
|
40 |
$ignoreChild = (isset($data['ignore_child']['scripts'][$data['row']['obj']->handle]) && $data['ignore_child']['scripts'][$data['row']['obj']->handle]);
|
50 |
<label for="script_<?php echo $data['row']['obj']->handle; ?>_ignore_children">
|
51 |
<input type="hidden" name="wpacu_ignore_child[scripts][<?php echo $data['row']['obj']->handle; ?>]" value="" />
|
52 |
⟶ <input id="script_<?php echo $data['row']['obj']->handle; ?>_ignore_children"
|
53 |
+
type="checkbox"
|
54 |
+
<?php if ($ignoreChild) { ?>checked="checked"<?php } ?>
|
55 |
+
name="wpacu_ignore_child[scripts][<?php echo $data['row']['obj']->handle; ?>]"
|
56 |
+
value="1" /> <small><?php _e('Ignore dependency rule and keep the "children" loaded', 'wp-asset-clean-up'); ?></small>
|
57 |
</label>
|
58 |
</p>
|
59 |
+
<?php
|
60 |
}
|
61 |
?>
|
62 |
|
63 |
+
<?php
|
64 |
+
$ver = (isset($data['row']['obj']->ver) && trim($data['row']['obj']->ver)) ? $data['row']['obj']->ver : $data['wp_version'];
|
65 |
+
$data['row']['obj']->preload_status = 'not_preloaded'; // default
|
66 |
|
67 |
+
if (isset($data['row']['obj']->src, $data['row']['obj']->srcHref) && $data['row']['obj']->src !== '' && $data['row']['obj']->srcHref) {
|
68 |
+
$relSrc = str_replace(site_url(), '', $data['row']['obj']->src);
|
69 |
|
70 |
+
if (isset($data['row']['obj']->baseUrl)) {
|
71 |
+
$relSrc = str_replace($data['row']['obj']->baseUrl, '/', $relSrc);
|
72 |
+
}
|
73 |
|
74 |
+
$appendAfterSrcHref = (strpos($data['row']['obj']->srcHref, '?') === false) ? '?' : '&';
|
75 |
|
76 |
+
$isJsPreload = (isset($data['preloads']['scripts'][$data['row']['obj']->handle]) && $data['preloads']['scripts'][$data['row']['obj']->handle])
|
77 |
+
? $data['preloads']['scripts'][$data['row']['obj']->handle]
|
78 |
+
: false;
|
79 |
|
80 |
+
if ($isJsPreload) {
|
81 |
+
$data['row']['obj']->preload_status = 'preloaded';
|
82 |
+
}
|
83 |
+
?>
|
84 |
<p>
|
85 |
+
<?php _e('Source:', 'wp-asset-clean-up'); ?> <a target="_blank" style="color: green;" href="<?php echo $data['row']['obj']->srcHref . $appendAfterSrcHref . 'ver='. $ver; ?>"><?php echo $relSrc; ?></a>
|
86 |
⟶
|
87 |
Preload (if kept loaded)?
|
88 |
<select style="display: inline-block; width: auto;"
|
92 |
</select>
|
93 |
<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>
|
94 |
</p>
|
95 |
+
<?php
|
96 |
+
}
|
97 |
|
98 |
+
// Any tips?
|
99 |
+
if (isset($data['tips']['js'][$data['row']['obj']->handle]) && ($assetTip = $data['tips']['js'][$data['row']['obj']->handle])) {
|
100 |
+
?>
|
101 |
<div class="tip"><strong>Tip:</strong> <?php echo $assetTip; ?></div>
|
102 |
+
<?php
|
103 |
+
}
|
104 |
$extraInfo = array();
|
105 |
|
106 |
if (isset($data['row']['obj']->deps) && ! empty($data['row']['obj']->deps)) {
|
115 |
$dependsOnText = __('"Child" of "parent" JS file(s):', 'wp-asset-clean-up');
|
116 |
}
|
117 |
|
118 |
+
$depsOutput .= $dependsOnText.' ';
|
119 |
|
120 |
+
foreach ($data['row']['obj']->deps as $depHandle) {
|
121 |
+
if ($depHandle === 'jquery' || strpos($depHandle, 'jquery-ui-') === 0) {
|
122 |
+
$depHandle .= ' '.$jqueryIconHtmlDepends;
|
123 |
+
}
|
124 |
|
125 |
+
$depsOutput .= '<span style="color: green; font-weight: 300;">'.$depHandle.'</span>, ';
|
126 |
+
}
|
127 |
|
128 |
+
$depsOutput = rtrim($depsOutput, ', ');
|
129 |
|
130 |
+
$extraInfo[] = $depsOutput;
|
131 |
+
}
|
132 |
|
133 |
$extraInfo[] = __('Version:', 'wp-asset-clean-up').' '.$ver;
|
134 |
|
143 |
// [/wpacu_lite]
|
144 |
|
145 |
if (! empty($extraInfo)) {
|
146 |
+
echo '<div style="margin: 0 0 10px;">'.implode(' / ', $extraInfo).'</div>';
|
147 |
}
|
148 |
?>
|
149 |
|
150 |
+
<div class="wrap_bulk_unload_options">
|
151 |
<div class="wpacu_asset_options_wrap" style="padding: 8px 10px 6px !important;">
|
152 |
+
<ul class="wpacu_asset_options" <?php if ($isBulkUnloaded) { echo 'style="display: none;"'; } ?>>
|
153 |
<li class="wpacu_unload_this_page">
|
154 |
<label class="wpacu_switch">
|
155 |
<input data-handle="<?php echo $data['row']['obj']->handle; ?>"
|
156 |
class="input-unload-on-this-page <?php if (! $isBulkUnloaded) { echo 'wpacu-not-locked'; } ?> wpacu_unload_rule_input wpacu_unload_rule_for_script"
|
157 |
id="script_<?php echo $data['row']['obj']->handle; ?>"
|
158 |
+
<?php if ($isBulkUnloaded) { echo 'disabled="disabled"'; }
|
159 |
echo $data['row']['checked']; ?>
|
160 |
name="<?php echo WPACU_PLUGIN_ID; ?>[scripts][]"
|
161 |
type="checkbox"
|
170 |
|
171 |
<?php
|
172 |
if ($isBulkUnloaded) {
|
173 |
+
?>
|
174 |
<p style="margin: 0 !important;">
|
175 |
<em>
|
176 |
<?php echo sprintf(
|
191 |
// Unloaded Everywhere
|
192 |
if ($data['row']['global_unloaded']) {
|
193 |
?>
|
194 |
+
<div style="display: inline-block; margin-right: 15px;"><strong style="color: #d54e21;"><?php _e('This JavaScript file is unloaded site-wide (everywhere)', 'wp-asset-clean-up'); ?></strong></div>
|
|
|
195 |
<?php
|
196 |
}
|
197 |
?>
|
198 |
|
199 |
+
<ul class="wpacu_asset_options" <?php if ($data['row']['global_unloaded']) { echo 'style="display: inline-block; margin-right: 0;"'; } ?>>
|
200 |
<?php
|
201 |
// [START] UNLOAD EVERYWHERE
|
202 |
if ($data['row']['global_unloaded']) {
|
203 |
?>
|
204 |
<li>
|
205 |
+
<label>
|
206 |
+
<input data-handle="<?php echo $data['row']['obj']->handle; ?>"
|
207 |
class="wpacu_bulk_option wpacu_script wpacu_keep_site_wide_rule"
|
208 |
type="radio"
|
209 |
name="wpacu_options_scripts[<?php echo $data['row']['obj']->handle; ?>]"
|
212 |
<?php _e('Keep site-wide rule', 'wp-asset-clean-up'); ?></label>
|
213 |
</li>
|
214 |
|
215 |
+
<li style="margin-right: 0;">
|
216 |
+
<label>
|
217 |
+
<input data-handle="<?php echo $data['row']['obj']->handle; ?>"
|
218 |
class="wpacu_bulk_option wpacu_script wpacu_remove_site_wide_rule"
|
219 |
type="radio"
|
220 |
name="wpacu_options_scripts[<?php echo $data['row']['obj']->handle; ?>]"
|
226 |
?>
|
227 |
<li>
|
228 |
<label><input data-handle="<?php echo $data['row']['obj']->handle; ?>"
|
229 |
+
data-handle-for="script"
|
230 |
+
class="wpacu_global_unload wpacu_bulk_unload wpacu_global_script wpacu_unload_rule_input wpacu_unload_rule_for_script"
|
231 |
id="wpacu_global_unload_script_<?php echo $data['row']['obj']->handle; ?>"
|
232 |
type="checkbox"
|
233 |
name="wpacu_global_unload_scripts[]"
|
238 |
}
|
239 |
// [END] UNLOAD EVERYWHERE
|
240 |
?>
|
|
|
241 |
</ul>
|
242 |
</div>
|
243 |
|
244 |
<?php
|
245 |
if ($data['bulk_unloaded_type'] === 'post_type') {
|
246 |
?>
|
247 |
+
<div class="wpacu_asset_options_wrap">
|
248 |
<?php
|
249 |
// Unloaded On All Pages Belonging to the page's Post Type
|
250 |
if ($data['row']['is_post_type_unloaded']) {
|
301 |
?>
|
302 |
<li>
|
303 |
<label><input data-handle="<?php echo $data['row']['obj']->handle; ?>"
|
304 |
+
data-handle-for="script"
|
305 |
class="wpacu_bulk_unload wpacu_post_type_unload wpacu_post_type_script wpacu_unload_rule_input wpacu_unload_rule_for_script"
|
306 |
id="wpacu_global_unload_post_type_script_<?php echo $data['row']['obj']->handle; ?>"
|
307 |
type="checkbox"
|
318 |
}
|
319 |
// [END] ALL PAGES HAVING THE SAME POST TYPE
|
320 |
?>
|
|
|
|
|
321 |
|
322 |
+
<?php
|
323 |
+
// Only show it if "Unload site-wide" is NOT enabled
|
324 |
+
// Otherwise, there's no point to use an unload regex if the asset is unloaded site-wide
|
325 |
+
if (! $data['row']['global_unloaded']) {
|
326 |
+
?>
|
327 |
+
<div data-script-handle="<?php echo $data['row']['obj']->handle; ?>" class="wpacu_asset_options_wrap wpacu_unload_regex_area_wrap">
|
328 |
+
<ul class="wpacu_asset_options">
|
329 |
+
<li>
|
330 |
+
<label for="wpacu_unload_it_regex_option_script_<?php echo $data['row']['obj']->handle; ?>">
|
331 |
+
<input data-handle="<?php echo $data['row']['obj']->handle; ?>"
|
332 |
+
id="wpacu_unload_it_regex_option_script_<?php echo $data['row']['obj']->handle; ?>"
|
333 |
+
class="wpacu_unload_it_regex_checkbox"
|
334 |
+
type="checkbox"
|
335 |
+
disabled="disabled"
|
336 |
+
value="1"/> <span>Unload it for URLs with request URI matching this RegEx:</span>
|
337 |
+
|
338 |
+
<a class="go-pro-link-no-style"
|
339 |
+
href="<?php echo WPACU_PLUGIN_GO_PRO_URL; ?>?utm_source=manage_asset&utm_medium=unload_script_by_regex"><span
|
340 |
+
class="wpacu-tooltip wpacu-larger"><?php _e( 'This feature is available in the premium version of the plugin.',
|
341 |
+
'wp-asset-clean-up' ); ?><br/> <?php _e( 'Click here to upgrade to Pro',
|
342 |
+
'wp-asset-clean-up' ); ?>!</span><img width="20" height="20"
|
343 |
+
src="<?php echo WPACU_PLUGIN_URL; ?>/assets/icons/icon-lock.svg"
|
344 |
+
valign="top" alt=""/></a>
|
345 |
+
</label>
|
346 |
+
|
347 |
+
<a style="text-decoration: none; color: inherit; vertical-align: middle;" target="_blank"
|
348 |
+
href="https://assetcleanup.com/docs/?p=313#wpacu-unload-by-regex"><span
|
349 |
+
class="dashicons dashicons-editor-help"></span></a>
|
350 |
+
</li>
|
351 |
+
</ul>
|
352 |
+
</div>
|
353 |
+
<?php
|
354 |
+
}
|
355 |
+
?>
|
356 |
+
<div class="wpacu-clearfix"></div>
|
357 |
+
</div>
|
358 |
+
<?php
|
359 |
+
// Hide make exception area if no bulk unload rules are set or selected
|
360 |
+
?>
|
361 |
+
<div data-script-handle="<?php echo $data['row']['obj']->handle; ?>"
|
362 |
+
style="margin-bottom: 12px;"
|
363 |
+
class="wpacu_exception_options_area_wrap <?php if (! $isBulkUnloaded) { echo 'wpacu_hide'; } ?>">
|
364 |
+
<div class="wpacu_area_one">
|
365 |
+
<?php if ($isBulkUnloaded) { ?>
|
366 |
+
<strong>Make exception</strong> and always load it:
|
367 |
+
<?php } else { ?>
|
368 |
+
If unloaded by any of the bulk rules (e.g. everywhere), <strong>make exception</strong> and always:
|
369 |
+
<?php } ?>
|
370 |
+
</div>
|
371 |
+
<ul class="wpacu_area_two wpacu_asset_options wpacu_exception_options_area">
|
372 |
<li id="wpacu_load_it_option_script_<?php echo $data['row']['obj']->handle; ?>">
|
373 |
<label><input data-handle="<?php echo $data['row']['obj']->handle; ?>"
|
374 |
id="wpacu_load_it_option_script_<?php echo $data['row']['obj']->handle; ?>"
|
379 |
value="<?php echo $data['row']['obj']->handle; ?>" />
|
380 |
Load it on this page</label>
|
381 |
</li>
|
382 |
+
<li>
|
383 |
+
<label for="wpacu_load_it_regex_option_script_<?php echo $data['row']['obj']->handle; ?>"><input
|
384 |
+
data-handle="<?php echo $data['row']['obj']->handle; ?>"
|
385 |
+
id="wpacu_load_it_regex_option_script_<?php echo $data['row']['obj']->handle; ?>"
|
386 |
+
class="wpacu_load_it_option_two wpacu_script wpacu_load_exception"
|
387 |
+
type="checkbox"
|
388 |
+
disabled="disabled"
|
389 |
+
value="1"/>
|
390 |
+
Load it for URLs with request URI matching this RegEx: <a class="go-pro-link-no-style"
|
391 |
+
href="<?php echo WPACU_PLUGIN_GO_PRO_URL; ?>?utm_source=manage_asset&utm_medium=load_via_regex_make_exception"><span
|
392 |
+
class="wpacu-tooltip wpacu-larger"><?php _e( 'This feature is available in the premium version of the plugin.',
|
393 |
+
'wp-asset-clean-up' ); ?><br/> <?php _e( 'Click here to upgrade to Pro',
|
394 |
+
'wp-asset-clean-up' ); ?>!</span><img width="20" height="20"
|
395 |
+
src="<?php echo WPACU_PLUGIN_URL; ?>/assets/icons/icon-lock.svg"
|
396 |
+
valign="top" alt=""/></a> <a
|
397 |
+
style="text-decoration: none; color: inherit;" target="_blank"
|
398 |
+
href="https://assetcleanup.com/docs/?p=21#wpacu-method-2"><span
|
399 |
+
class="dashicons dashicons-editor-help"></span></a></label>
|
|
|
|
|
|
|
|
|
400 |
</li>
|
|
|
|
|
|
|
401 |
</ul>
|
|
|
402 |
</div>
|
403 |
|
404 |
<?php
|
423 |
<!-- [wpacu_lite] -->
|
424 |
<?php if (isset($data['row']['obj']->src) && $data['row']['obj']->src !== '') { ?>
|
425 |
<div class="wpacu-script-attributes-area wpacu-lite">
|
426 |
+
<div>If kept loaded, apply the following attributes: <em><a class="go-pro-link-no-style" href="<?php echo WPACU_PLUGIN_GO_PRO_URL; ?>">* <?php _e('Pro version', 'wp-asset-clean-up'); ?></a></em></div>
|
|
|
427 |
<ul class="wpacu-script-attributes-settings wpacu-first">
|
428 |
<li><a class="go-pro-link-no-style" href="<?php echo WPACU_PLUGIN_GO_PRO_URL; ?>"><span class="wpacu-tooltip wpacu-larger"><?php _e('This feature is available in the premium version of the plugin.', 'wp-asset-clean-up'); ?><br /> <?php _e('Click here to upgrade to Pro', 'wp-asset-clean-up'); ?>!</span><img width="20" height="20" src="<?php echo WPACU_PLUGIN_URL; ?>/assets/icons/icon-lock.svg" valign="top" alt="" /></a> <strong>async</strong> ⟶</li>
|
429 |
+
<li><label><input disabled="disabled" type="checkbox" value="on_this_page" /><?php _e('on this page', 'wp-asset-clean-up'); ?></label></li>
|
430 |
+
<li><label><input disabled="disabled" type="checkbox" value="everywhere" /><?php _e('everywhere', 'wp-asset-clean-up'); ?></label></li>
|
431 |
</ul>
|
|
|
432 |
<ul class="wpacu-script-attributes-settings">
|
433 |
<li><a class="go-pro-link-no-style" href="<?php echo WPACU_PLUGIN_GO_PRO_URL; ?>"><span class="wpacu-tooltip wpacu-larger"><?php _e('This feature is available in the premium version of the plugin.', 'wp-asset-clean-up'); ?><br /> <?php _e('Click here to upgrade to Pro', 'wp-asset-clean-up'); ?>!</span><img width="20" height="20" src="<?php echo WPACU_PLUGIN_URL; ?>/assets/icons/icon-lock.svg" valign="top" alt="" /></a> <strong>defer</strong> ⟶</li>
|
434 |
+
<li><label><input disabled="disabled" type="checkbox" value="on_this_page" /><?php _e('on this page', 'wp-asset-clean-up'); ?></label></li>
|
435 |
+
<li><label><input disabled="disabled" type="checkbox" value="everywhere" /><?php _e('everywhere', 'wp-asset-clean-up'); ?></label></li>
|
436 |
</ul>
|
437 |
+
<div class="wpacu-clearfix"></div>
|
438 |
</div>
|
439 |
+
<div class="wpacu-clearfix"></div>
|
440 |
<?php } ?>
|
441 |
<!-- [/wpacu_lite] -->
|
442 |
|
454 |
<div <?php if ($handleNote) { echo 'style="display: block;"'; } ?> data-script-handle="<?php echo $data['row']['obj']->handle; ?>" class="wpacu-handle-notes-field">
|
455 |
<textarea id="wpacu_handle_note_script_<?php echo $data['row']['obj']->handle; ?>"
|
456 |
rows="3"
|
457 |
+
data-wpacu-is-empty-on-page-load="<?php echo (! $handleNote) ? 'true' : 'false'; ?>"
|
458 |
+
<?php if (! $handleNote) { echo 'disabled="disabled"'; } ?>
|
459 |
placeholder="<?php echo esc_attr('Add your note here about this JavaScript file', 'wp-asset-clean-up'); ?>"
|
460 |
name="wpacu_handle_notes[scripts][<?php echo $data['row']['obj']->handle; ?>]"><?php echo esc_textarea($handleNote); ?></textarea>
|
461 |
</div>
|
templates/meta-box-loaded-assets/_asset-style-rows.php
CHANGED
@@ -32,7 +32,7 @@ foreach ($data['all']['styles'] as $obj) {
|
|
32 |
}
|
33 |
}
|
34 |
|
35 |
-
$isLoadException = in_array($data['row']['obj']->handle, $data['load_exceptions']['styles']);
|
36 |
|
37 |
if ($isLoadException) {
|
38 |
$data['row']['is_load_exception'] = true;
|
@@ -64,7 +64,7 @@ foreach ($data['all']['styles'] as $obj) {
|
|
64 |
if (isset($data['rows_by_location']) && $data['rows_by_location']) {
|
65 |
$data['rows_assets']
|
66 |
[$data['row']['obj']->locationMain] // 'plugins', 'themes' etc.
|
67 |
-
[$data['row']['obj']->locationChild]
|
68 |
[$uniqueHandle]
|
69 |
['style'] = $templateRowOutput;
|
70 |
} elseif (isset($data['rows_by_position']) && $data['rows_by_position']) {
|
32 |
}
|
33 |
}
|
34 |
|
35 |
+
$isLoadException = isset($data['load_exceptions']['styles']) && in_array($data['row']['obj']->handle, $data['load_exceptions']['styles']);
|
36 |
|
37 |
if ($isLoadException) {
|
38 |
$data['row']['is_load_exception'] = true;
|
64 |
if (isset($data['rows_by_location']) && $data['rows_by_location']) {
|
65 |
$data['rows_assets']
|
66 |
[$data['row']['obj']->locationMain] // 'plugins', 'themes' etc.
|
67 |
+
[$data['row']['obj']->locationChild] // Theme/Plugin Title
|
68 |
[$uniqueHandle]
|
69 |
['style'] = $templateRowOutput;
|
70 |
} elseif (isset($data['rows_by_position']) && $data['rows_by_position']) {
|
templates/meta-box-loaded-assets/_asset-style-single-row.php
CHANGED
@@ -14,10 +14,16 @@ $isBulkUnloaded = $data['row']['global_unloaded'] || $data['row']['is_post_typ
|
|
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 |
-
<tr
|
|
|
|
|
19 |
<td valign="top">
|
20 |
-
<
|
21 |
<label for="style_<?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></label>
|
22 |
<em>* Stylesheet (.css)</em>
|
23 |
<?php if ($isCoreFile && ! $hideCoreFiles) { ?>
|
@@ -25,8 +31,7 @@ sort($childHandles);
|
|
25 |
<?php
|
26 |
}
|
27 |
?>
|
28 |
-
</
|
29 |
-
|
30 |
<?php
|
31 |
if (! empty($childHandles)) {
|
32 |
$ignoreChild = (isset($data['ignore_child']['styles'][$data['row']['obj']->handle]) && $data['ignore_child']['styles'][$data['row']['obj']->handle]);
|
@@ -170,30 +175,31 @@ sort($childHandles);
|
|
170 |
}
|
171 |
// [/wpacu_lite]
|
172 |
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
?>
|
177 |
|
178 |
<div class="wrap_bulk_unload_options">
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
<?php echo $data['
|
194 |
-
|
195 |
-
|
196 |
-
|
|
|
197 |
|
198 |
<?php
|
199 |
if ($isBulkUnloaded) {
|
@@ -218,13 +224,12 @@ sort($childHandles);
|
|
218 |
// Unloaded Everywhere
|
219 |
if ($data['row']['global_unloaded']) {
|
220 |
?>
|
221 |
-
<
|
222 |
-
<div class="wpacu-clearfix"></div>
|
223 |
<?php
|
224 |
}
|
225 |
?>
|
226 |
|
227 |
-
<ul class="wpacu_asset_options"
|
228 |
<?php
|
229 |
// [START] UNLOAD EVERYWHERE
|
230 |
if ($data['row']['global_unloaded']) {
|
@@ -239,7 +244,7 @@ sort($childHandles);
|
|
239 |
<?php _e('Keep site-wide rule', 'wp-asset-clean-up'); ?></label>
|
240 |
</li>
|
241 |
|
242 |
-
<li>
|
243 |
<label><input data-handle="<?php echo $data['row']['obj']->handle; ?>"
|
244 |
class="wpacu_global_option wpacu_style wpacu_remove_site_wide_rule"
|
245 |
type="radio"
|
@@ -251,10 +256,12 @@ sort($childHandles);
|
|
251 |
} else {
|
252 |
?>
|
253 |
<li>
|
254 |
-
<label
|
255 |
-
|
256 |
-
|
257 |
-
|
|
|
|
|
258 |
<?php _e('Unload site-wide', 'wp-asset-clean-up'); ?> (<?php _e('everywhere', 'wp-asset-clean-up'); ?>) <small>* bulk unload</small></label>
|
259 |
</li>
|
260 |
<?php
|
@@ -281,7 +288,7 @@ sort($childHandles);
|
|
281 |
$alreadyUnloadedBulkText = sprintf(__('This stylesheet file is unloaded on all <u>%s</u> post types', 'wp-asset-clean-up'), $data['post_type']);
|
282 |
}
|
283 |
?>
|
284 |
-
<
|
285 |
<?php
|
286 |
}
|
287 |
?>
|
@@ -324,6 +331,7 @@ sort($childHandles);
|
|
324 |
?>
|
325 |
<li>
|
326 |
<label><input data-handle="<?php echo $data['row']['obj']->handle; ?>"
|
|
|
327 |
class="wpacu_bulk_unload wpacu_post_type_unload wpacu_post_type_style wpacu_unload_rule_input wpacu_unload_rule_for_style"
|
328 |
id="wpacu_bulk_unload_post_type_style_<?php echo $data['row']['obj']->handle; ?>"
|
329 |
type="checkbox"
|
@@ -340,12 +348,54 @@ sort($childHandles);
|
|
340 |
}
|
341 |
// [END] ALL PAGES HAVING THE SAME POST TYPE
|
342 |
?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
343 |
<div class="wpacu-clearfix"></div>
|
344 |
</div>
|
345 |
|
346 |
-
|
347 |
-
|
348 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
349 |
<li id="wpacu_load_it_option_style_<?php echo $data['row']['obj']->handle; ?>">
|
350 |
<label><input data-handle="<?php echo $data['row']['obj']->handle; ?>"
|
351 |
id="wpacu_style_load_it_<?php echo $data['row']['obj']->handle; ?>"
|
@@ -356,31 +406,25 @@ sort($childHandles);
|
|
356 |
value="<?php echo $data['row']['obj']->handle; ?>"/>
|
357 |
Load it on this page</label>
|
358 |
</li>
|
359 |
-
|
360 |
-
|
361 |
-
|
362 |
-
|
363 |
-
|
364 |
-
|
365 |
-
|
366 |
-
|
367 |
-
|
368 |
-
|
369 |
-
|
370 |
-
|
371 |
-
|
372 |
-
|
373 |
-
|
374 |
-
|
375 |
-
|
376 |
-
|
377 |
-
<?php if ($handleLoadRegex['enable']) { ?> checked="checked" <?php } ?>
|
378 |
-
value="1" />
|
379 |
-
Load it for URLs with request URI matching this RegEx: <a class="go-pro-link-no-style" href="<?php echo WPACU_PLUGIN_GO_PRO_URL; ?>"><span class="wpacu-tooltip wpacu-larger"><?php _e('This feature is available in the premium version of the plugin.', 'wp-asset-clean-up'); ?><br /> <?php _e('Click here to upgrade to Pro', 'wp-asset-clean-up'); ?>!</span><img width="20" height="20" src="<?php echo WPACU_PLUGIN_URL; ?>/assets/icons/icon-lock.svg" valign="top" alt="" /></a> <input type="text" style="min-width: 150px;" disabled="disabled" value="<?php echo esc_attr($handleLoadRegex['value']); ?>" /> <a style="text-decoration: none; color: inherit;" target="_blank" href="https://assetcleanup.com/docs/?p=21#wpacu-method-2"><span class="dashicons dashicons-editor-help"></span></a></label>
|
380 |
</li>
|
381 |
-
<?php
|
382 |
-
// [/wpacu_pro]
|
383 |
-
?>
|
384 |
</ul>
|
385 |
<div class="wpacu-clearfix"></div>
|
386 |
</div>
|
@@ -419,6 +463,8 @@ sort($childHandles);
|
|
419 |
<div <?php if ($handleNote) { echo 'style="display: block;"'; } ?> data-style-handle="<?php echo $data['row']['obj']->handle; ?>" class="wpacu-handle-notes-field">
|
420 |
<textarea id="wpacu_handle_note_style_<?php echo $data['row']['obj']->handle; ?>"
|
421 |
rows="3"
|
|
|
|
|
422 |
placeholder="<?php echo esc_attr('Add your note here about this stylesheet file', 'wp-asset-clean-up'); ?>"
|
423 |
name="wpacu_handle_notes[styles][<?php echo $data['row']['obj']->handle; ?>]"><?php echo esc_textarea($handleNote); ?></textarea>
|
424 |
</div>
|
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 |
+
if ($isBulkUnloaded) {
|
19 |
+
$data['row']['class'] .= ' wpacu_is_bulk_unloaded';
|
20 |
+
}
|
21 |
?>
|
22 |
+
<tr data-style-handle-row="<?php echo $data['row']['obj']->handle; ?>"
|
23 |
+
class="wpacu_asset_row <?php echo $data['row']['class']; ?>"
|
24 |
+
style="<?php if ($isCoreFile && $hideCoreFiles) { echo 'display: none;'; } ?>">
|
25 |
<td valign="top">
|
26 |
+
<div class="wpacu_handle" style="margin: 0 0 -8px;">
|
27 |
<label for="style_<?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></label>
|
28 |
<em>* Stylesheet (.css)</em>
|
29 |
<?php if ($isCoreFile && ! $hideCoreFiles) { ?>
|
31 |
<?php
|
32 |
}
|
33 |
?>
|
34 |
+
</div>
|
|
|
35 |
<?php
|
36 |
if (! empty($childHandles)) {
|
37 |
$ignoreChild = (isset($data['ignore_child']['styles'][$data['row']['obj']->handle]) && $data['ignore_child']['styles'][$data['row']['obj']->handle]);
|
175 |
}
|
176 |
// [/wpacu_lite]
|
177 |
|
178 |
+
if (! empty($extraInfo)) {
|
179 |
+
echo '<div style="margin: 0 0 10px;">'.implode(' / ', $extraInfo).'</div>';
|
180 |
+
}
|
181 |
?>
|
182 |
|
183 |
<div class="wrap_bulk_unload_options">
|
184 |
+
<div class="wpacu_asset_options_wrap" style="padding: 8px 10px 6px !important;">
|
185 |
+
<ul class="wpacu_asset_options" <?php if ($isBulkUnloaded) { echo 'style="display: none;"'; } ?>>
|
186 |
+
<li class="wpacu_unload_this_page">
|
187 |
+
<label class="wpacu_switch">
|
188 |
+
<input data-handle="<?php echo $data['row']['obj']->handle; ?>"
|
189 |
+
class="input-unload-on-this-page <?php if (! $isBulkUnloaded) { echo 'wpacu-not-locked'; } ?> wpacu_unload_rule_input wpacu_unload_rule_for_style"
|
190 |
+
id="style_<?php echo $data['row']['obj']->handle; ?>"
|
191 |
+
<?php if ($isBulkUnloaded) { echo 'disabled="disabled"'; }
|
192 |
+
echo $data['row']['checked']; ?>
|
193 |
+
name="<?php echo WPACU_PLUGIN_ID; ?>[styles][]"
|
194 |
+
type="checkbox"
|
195 |
+
value="<?php echo $data['row']['obj']->handle; ?>" />
|
196 |
+
<span class="wpacu_slider wpacu_round"></span>
|
197 |
+
</label>
|
198 |
+
<label class="wpacu_slider_text" for="style_<?php echo $data['row']['obj']->handle; ?>">
|
199 |
+
<?php echo $data['page_unload_text']; ?>
|
200 |
+
</label>
|
201 |
+
</li>
|
202 |
+
</ul>
|
203 |
|
204 |
<?php
|
205 |
if ($isBulkUnloaded) {
|
224 |
// Unloaded Everywhere
|
225 |
if ($data['row']['global_unloaded']) {
|
226 |
?>
|
227 |
+
<div style="display: inline-block; margin-right: 15px;"><strong style="color: #d54e21;"><?php _e('This stylesheet file is unloaded everywhere', 'wp-asset-clean-up'); ?></strong></div>
|
|
|
228 |
<?php
|
229 |
}
|
230 |
?>
|
231 |
|
232 |
+
<ul class="wpacu_asset_options" <?php if ($data['row']['global_unloaded']) { echo 'style="display: inline-block; margin-right: 0;"'; } ?>>
|
233 |
<?php
|
234 |
// [START] UNLOAD EVERYWHERE
|
235 |
if ($data['row']['global_unloaded']) {
|
244 |
<?php _e('Keep site-wide rule', 'wp-asset-clean-up'); ?></label>
|
245 |
</li>
|
246 |
|
247 |
+
<li style="margin-right: 0;">
|
248 |
<label><input data-handle="<?php echo $data['row']['obj']->handle; ?>"
|
249 |
class="wpacu_global_option wpacu_style wpacu_remove_site_wide_rule"
|
250 |
type="radio"
|
256 |
} else {
|
257 |
?>
|
258 |
<li>
|
259 |
+
<label>
|
260 |
+
<input data-handle="<?php echo $data['row']['obj']->handle; ?>"
|
261 |
+
data-handle-for="style"
|
262 |
+
class="wpacu_global_unload wpacu_bulk_unload wpacu_global_style wpacu_unload_rule_input wpacu_unload_rule_for_style"
|
263 |
+
id="wpacu_global_unload_style_<?php echo $data['row']['obj']->handle; ?>" type="checkbox"
|
264 |
+
name="wpacu_global_unload_styles[]" value="<?php echo $data['row']['obj']->handle; ?>"/>
|
265 |
<?php _e('Unload site-wide', 'wp-asset-clean-up'); ?> (<?php _e('everywhere', 'wp-asset-clean-up'); ?>) <small>* bulk unload</small></label>
|
266 |
</li>
|
267 |
<?php
|
288 |
$alreadyUnloadedBulkText = sprintf(__('This stylesheet file is unloaded on all <u>%s</u> post types', 'wp-asset-clean-up'), $data['post_type']);
|
289 |
}
|
290 |
?>
|
291 |
+
<div style="margin: 0 0 4px!important;"><strong style="color: #d54e21;"><?php echo $alreadyUnloadedBulkText; ?>.</strong></div>
|
292 |
<?php
|
293 |
}
|
294 |
?>
|
331 |
?>
|
332 |
<li>
|
333 |
<label><input data-handle="<?php echo $data['row']['obj']->handle; ?>"
|
334 |
+
data-handle-for="style"
|
335 |
class="wpacu_bulk_unload wpacu_post_type_unload wpacu_post_type_style wpacu_unload_rule_input wpacu_unload_rule_for_style"
|
336 |
id="wpacu_bulk_unload_post_type_style_<?php echo $data['row']['obj']->handle; ?>"
|
337 |
type="checkbox"
|
348 |
}
|
349 |
// [END] ALL PAGES HAVING THE SAME POST TYPE
|
350 |
?>
|
351 |
+
<?php
|
352 |
+
// Only show it if "Unload site-wide" is NOT enabled
|
353 |
+
// Otherwise, there's no point to use an unload regex if the asset is unloaded site-wide
|
354 |
+
if (! $data['row']['global_unloaded']) {
|
355 |
+
?>
|
356 |
+
<div class="wpacu_asset_options_wrap wpacu_unload_regex_area_wrap">
|
357 |
+
<ul class="wpacu_asset_options">
|
358 |
+
<li>
|
359 |
+
<label for="wpacu_unload_it_regex_option_style_<?php echo $data['row']['obj']->handle; ?>">
|
360 |
+
<input data-handle="<?php echo $data['row']['obj']->handle; ?>"
|
361 |
+
id="wpacu_unload_it_regex_option_style_<?php echo $data['row']['obj']->handle; ?>"
|
362 |
+
class="wpacu_unload_it_regex_checkbox wpacu_unload_rule_input"
|
363 |
+
type="checkbox"
|
364 |
+
disabled="disabled"
|
365 |
+
value="1"/> <span>Unload it for URLs with request URI matching this RegEx:</span>
|
366 |
+
|
367 |
+
<a class="go-pro-link-no-style"
|
368 |
+
href="<?php echo WPACU_PLUGIN_GO_PRO_URL; ?>?utm_source=manage_asset&utm_medium=unload_style_by_regex"><span
|
369 |
+
class="wpacu-tooltip wpacu-larger"><?php _e( 'This feature is available in the premium version of the plugin.',
|
370 |
+
'wp-asset-clean-up' ); ?><br/> <?php _e( 'Click here to upgrade to Pro',
|
371 |
+
'wp-asset-clean-up' ); ?>!</span><img width="20" height="20"
|
372 |
+
src="<?php echo WPACU_PLUGIN_URL; ?>/assets/icons/icon-lock.svg"
|
373 |
+
valign="top" alt=""/></a> </label>
|
374 |
+
<a style="text-decoration: none; color: inherit; vertical-align: middle;" target="_blank"
|
375 |
+
href="https://assetcleanup.com/docs/?p=313#wpacu-unload-by-regex"><span
|
376 |
+
class="dashicons dashicons-editor-help"></span></a>
|
377 |
+
</li>
|
378 |
+
</ul>
|
379 |
+
</div>
|
380 |
+
<?php
|
381 |
+
}
|
382 |
+
?>
|
383 |
<div class="wpacu-clearfix"></div>
|
384 |
</div>
|
385 |
|
386 |
+
<?php
|
387 |
+
// Hide make exception area if no bulk unload rules are set or selected
|
388 |
+
?>
|
389 |
+
<div data-style-handle="<?php echo $data['row']['obj']->handle; ?>"
|
390 |
+
class="wpacu_exception_options_area_wrap <?php if (! $isBulkUnloaded) { echo 'wpacu_hide'; } ?>">
|
391 |
+
<div class="wpacu_area_one">
|
392 |
+
<?php if ($isBulkUnloaded) { ?>
|
393 |
+
<strong>Make exception</strong> and always:
|
394 |
+
<?php } else { ?>
|
395 |
+
If unloaded by any of the bulk rules (e.g. everywhere), <strong>make exception</strong> and always:
|
396 |
+
<?php } ?>
|
397 |
+
</div>
|
398 |
+
<ul class="wpacu_area_two wpacu_asset_options wpacu_exception_options_area">
|
399 |
<li id="wpacu_load_it_option_style_<?php echo $data['row']['obj']->handle; ?>">
|
400 |
<label><input data-handle="<?php echo $data['row']['obj']->handle; ?>"
|
401 |
id="wpacu_style_load_it_<?php echo $data['row']['obj']->handle; ?>"
|
406 |
value="<?php echo $data['row']['obj']->handle; ?>"/>
|
407 |
Load it on this page</label>
|
408 |
</li>
|
409 |
+
<li>
|
410 |
+
<label for="wpacu_load_it_regex_option_style_<?php echo $data['row']['obj']->handle; ?>"><input
|
411 |
+
data-handle="<?php echo $data['row']['obj']->handle; ?>"
|
412 |
+
id="wpacu_load_it_regex_option_style_<?php echo $data['row']['obj']->handle; ?>"
|
413 |
+
class="wpacu_load_it_option_two wpacu_style wpacu_load_exception"
|
414 |
+
type="checkbox"
|
415 |
+
disabled="disabled"
|
416 |
+
value="1"/>
|
417 |
+
Load it for URLs with request URI matching this RegEx: <a class="go-pro-link-no-style"
|
418 |
+
href="<?php echo WPACU_PLUGIN_GO_PRO_URL; ?>?utm_source=manage_asset&utm_medium=load_via_regex_make_exception"><span
|
419 |
+
class="wpacu-tooltip wpacu-larger"><?php _e( 'This feature is available in the premium version of the plugin.',
|
420 |
+
'wp-asset-clean-up' ); ?><br/> <?php _e( 'Click here to upgrade to Pro',
|
421 |
+
'wp-asset-clean-up' ); ?>!</span><img width="20" height="20"
|
422 |
+
src="<?php echo WPACU_PLUGIN_URL; ?>/assets/icons/icon-lock.svg"
|
423 |
+
valign="top" alt=""/></a> <a
|
424 |
+
style="text-decoration: none; color: inherit;" target="_blank"
|
425 |
+
href="https://assetcleanup.com/docs/?p=21#wpacu-method-2"><span
|
426 |
+
class="dashicons dashicons-editor-help"></span></a></label>
|
|
|
|
|
|
|
427 |
</li>
|
|
|
|
|
|
|
428 |
</ul>
|
429 |
<div class="wpacu-clearfix"></div>
|
430 |
</div>
|
463 |
<div <?php if ($handleNote) { echo 'style="display: block;"'; } ?> data-style-handle="<?php echo $data['row']['obj']->handle; ?>" class="wpacu-handle-notes-field">
|
464 |
<textarea id="wpacu_handle_note_style_<?php echo $data['row']['obj']->handle; ?>"
|
465 |
rows="3"
|
466 |
+
data-wpacu-is-empty-on-page-load="<?php echo (! $handleNote) ? 'true' : 'false'; ?>"
|
467 |
+
<?php if (! $handleNote) { echo 'disabled="disabled"'; } ?>
|
468 |
placeholder="<?php echo esc_attr('Add your note here about this stylesheet file', 'wp-asset-clean-up'); ?>"
|
469 |
name="wpacu_handle_notes[styles][<?php echo $data['row']['obj']->handle; ?>]"><?php echo esc_textarea($handleNote); ?></textarea>
|
470 |
</div>
|
templates/meta-box-loaded-assets/_inline_js.php
CHANGED
@@ -22,7 +22,7 @@ if (! isset($data)) {
|
|
22 |
assetsListContent.style.maxHeight = null;
|
23 |
} else {
|
24 |
//assetsListContent.style.maxHeight = assetsListContent.scrollHeight + "px";
|
25 |
-
assetsListContent.style.maxHeight =
|
26 |
}
|
27 |
});
|
28 |
}
|
@@ -39,7 +39,7 @@ if (! isset($data)) {
|
|
39 |
if (assetInlineCodeContent.style.maxHeight) {
|
40 |
assetInlineCodeContent.style.maxHeight = null;
|
41 |
} else {
|
42 |
-
assetInlineCodeContent.style.maxHeight = assetInlineCodeContent.scrollHeight +
|
43 |
}
|
44 |
});
|
45 |
}
|
@@ -69,7 +69,7 @@ if (! isset($data)) {
|
|
69 |
wpacuContentLinks[wpacuI].classList.add('wpacu-assets-collapsible-active');
|
70 |
assetsListContent = wpacuContentLinks[wpacuI].nextElementSibling;
|
71 |
//assetsListContent.style.maxHeight = assetsListContent.scrollHeight + 'px';
|
72 |
-
assetsListContent.style.maxHeight = '
|
73 |
assetsListContent.classList.remove('wpacu-open');
|
74 |
}
|
75 |
}
|
22 |
assetsListContent.style.maxHeight = null;
|
23 |
} else {
|
24 |
//assetsListContent.style.maxHeight = assetsListContent.scrollHeight + "px";
|
25 |
+
assetsListContent.style.maxHeight = 'inherit';
|
26 |
}
|
27 |
});
|
28 |
}
|
39 |
if (assetInlineCodeContent.style.maxHeight) {
|
40 |
assetInlineCodeContent.style.maxHeight = null;
|
41 |
} else {
|
42 |
+
assetInlineCodeContent.style.maxHeight = assetInlineCodeContent.scrollHeight + 'px';
|
43 |
}
|
44 |
});
|
45 |
}
|
69 |
wpacuContentLinks[wpacuI].classList.add('wpacu-assets-collapsible-active');
|
70 |
assetsListContent = wpacuContentLinks[wpacuI].nextElementSibling;
|
71 |
//assetsListContent.style.maxHeight = assetsListContent.scrollHeight + 'px';
|
72 |
+
assetsListContent.style.maxHeight = 'inherit';
|
73 |
assetsListContent.classList.remove('wpacu-open');
|
74 |
}
|
75 |
}
|
templates/meta-box-loaded-assets/_view-by-location/_plugin-list-expanded-actions.php
ADDED
@@ -0,0 +1,47 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
if (! isset($showUnloadOnThisPageCheckUncheckAll, $showLoadItOnThisPageCheckUncheckAll, $locationChild)) {
|
3 |
+
exit;
|
4 |
+
}
|
5 |
+
?>
|
6 |
+
<div class="wpacu-plugin-toggle-all-wrap">
|
7 |
+
<?php
|
8 |
+
// Only show if there is at least one "Unload on this page" checkbox available
|
9 |
+
// It won't be if there are only bulk unloads
|
10 |
+
if ( $showUnloadOnThisPageCheckUncheckAll ) { ?>
|
11 |
+
<div class="wpacu-plugin-toggle-all">
|
12 |
+
<ul>
|
13 |
+
<li>"Unload on this page"</li>
|
14 |
+
<li>
|
15 |
+
<a class="wpacu-plugin-check-all"
|
16 |
+
data-wpacu-plugin="<?php echo $locationChild; ?>"
|
17 |
+
href="#">Check All</a>
|
18 |
+
|
|
19 |
+
<a class="wpacu-plugin-uncheck-all"
|
20 |
+
data-wpacu-plugin="<?php echo $locationChild; ?>"
|
21 |
+
href="#">Uncheck All</a>
|
22 |
+
</li>
|
23 |
+
</ul>
|
24 |
+
</div>
|
25 |
+
<?php } ?>
|
26 |
+
<?php
|
27 |
+
// Only show if there is at least one bulk unloaded asset
|
28 |
+
// Otherwise, there is no load exception to make
|
29 |
+
if ( $showLoadItOnThisPageCheckUncheckAll ) {
|
30 |
+
?>
|
31 |
+
<div class="wpacu-plugin-toggle-all" style="min-width: 370px;">
|
32 |
+
<ul>
|
33 |
+
<li>Make exception from bulk unload, "Load it on this page"</li>
|
34 |
+
<li>
|
35 |
+
<a class="wpacu-plugin-check-load-all"
|
36 |
+
data-wpacu-plugin="<?php echo $locationChild; ?>"
|
37 |
+
href="#">Check All</a>
|
38 |
+
|
|
39 |
+
<a class="wpacu-plugin-uncheck-load-all"
|
40 |
+
data-wpacu-plugin="<?php echo $locationChild; ?>"
|
41 |
+
href="#">Uncheck All</a>
|
42 |
+
</li>
|
43 |
+
</div>
|
44 |
+
<?php
|
45 |
+
}
|
46 |
+
?>
|
47 |
+
</div>
|
templates/meta-box-loaded-assets/view-by-loaded-unloaded.php
CHANGED
@@ -12,7 +12,6 @@ $listAreaStatus = $data['plugin_settings']['assets_list_layout_areas_status'];
|
|
12 |
* -------------------------------
|
13 |
*/
|
14 |
?>
|
15 |
-
|
16 |
<div>
|
17 |
<?php
|
18 |
if (! empty($data['all']['styles']) || ! empty($data['all']['scripts'])) {
|
@@ -59,12 +58,7 @@ $listAreaStatus = $data['plugin_settings']['assets_list_layout_areas_status'];
|
|
59 |
</div>
|
60 |
|
61 |
<?php
|
62 |
-
|
63 |
-
'loaded' => '<span style="color: green;" class="dashicons dashicons-yes"></span> All loaded (.css & .js)',
|
64 |
-
'unloaded' => '<span style="color: #cc0000;" class="dashicons dashicons-no-alt"></span> All unloaded (.css & .js)'
|
65 |
-
);
|
66 |
-
|
67 |
-
$data['view_by_loaded_unloaded'] =
|
68 |
$data['rows_build_array'] =
|
69 |
$data['rows_by_loaded_unloaded'] = true;
|
70 |
|
@@ -74,6 +68,11 @@ $listAreaStatus = $data['plugin_settings']['assets_list_layout_areas_status'];
|
|
74 |
require_once __DIR__.'/_asset-script-rows.php';
|
75 |
|
76 |
if (! empty($data['rows_assets'])) {
|
|
|
|
|
|
|
|
|
|
|
77 |
// Sorting: loaded & unloaded
|
78 |
$rowsAssets = array('loaded' => array(), 'unloaded' => array());
|
79 |
|
@@ -83,10 +82,22 @@ $listAreaStatus = $data['plugin_settings']['assets_list_layout_areas_status'];
|
|
83 |
|
84 |
foreach ($rowsAssets as $handleStatus => $values) {
|
85 |
ksort($values);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
86 |
?>
|
87 |
<div class="wpacu-assets-collapsible-wrap wpacu-by-parents wpacu-wrap-area wpacu-<?php echo $handleStatus; ?>">
|
88 |
<a class="wpacu-assets-collapsible <?php if ($listAreaStatus !== 'contracted') { ?>wpacu-assets-collapsible-active<?php } ?>" href="#wpacu-assets-collapsible-content-<?php echo $handleStatus; ?>">
|
89 |
-
<?php echo $handleStatusesText[$handleStatus]; ?>
|
90 |
</a>
|
91 |
|
92 |
<div class="wpacu-assets-collapsible-content <?php if ($listAreaStatus !== 'contracted') { ?>wpacu-open<?php } ?>">
|
@@ -112,13 +123,7 @@ $listAreaStatus = $data['plugin_settings']['assets_list_layout_areas_status'];
|
|
112 |
<table class="wpacu_list_table wpacu_list_by_parents wpacu_widefat wpacu_striped">
|
113 |
<tbody>
|
114 |
<?php
|
115 |
-
$
|
116 |
-
|
117 |
-
foreach ($values as $assetType => $assetRows) {
|
118 |
-
foreach ($assetRows as $assetRow) {
|
119 |
-
echo $assetRow . "\n";
|
120 |
-
}
|
121 |
-
}
|
122 |
?>
|
123 |
</tbody>
|
124 |
</table>
|
12 |
* -------------------------------
|
13 |
*/
|
14 |
?>
|
|
|
15 |
<div>
|
16 |
<?php
|
17 |
if (! empty($data['all']['styles']) || ! empty($data['all']['scripts'])) {
|
58 |
</div>
|
59 |
|
60 |
<?php
|
61 |
+
$data['view_by_loaded_unloaded'] =
|
|
|
|
|
|
|
|
|
|
|
62 |
$data['rows_build_array'] =
|
63 |
$data['rows_by_loaded_unloaded'] = true;
|
64 |
|
68 |
require_once __DIR__.'/_asset-script-rows.php';
|
69 |
|
70 |
if (! empty($data['rows_assets'])) {
|
71 |
+
$handleStatusesText = array(
|
72 |
+
'loaded' => '<span style="color: green;" class="dashicons dashicons-yes"></span> All loaded (.css & .js)',
|
73 |
+
'unloaded' => '<span style="color: #cc0000;" class="dashicons dashicons-no-alt"></span> All unloaded (.css & .js)',
|
74 |
+
);
|
75 |
+
|
76 |
// Sorting: loaded & unloaded
|
77 |
$rowsAssets = array('loaded' => array(), 'unloaded' => array());
|
78 |
|
82 |
|
83 |
foreach ($rowsAssets as $handleStatus => $values) {
|
84 |
ksort($values);
|
85 |
+
|
86 |
+
$assetRowsOutput = '';
|
87 |
+
|
88 |
+
$totalFiles = 0;
|
89 |
+
$assetRowIndex = 1;
|
90 |
+
|
91 |
+
foreach ($values as $assetType => $assetRows) {
|
92 |
+
foreach ($assetRows as $assetRow) {
|
93 |
+
$assetRowsOutput .= $assetRow . "\n";
|
94 |
+
$totalFiles++;
|
95 |
+
}
|
96 |
+
}
|
97 |
?>
|
98 |
<div class="wpacu-assets-collapsible-wrap wpacu-by-parents wpacu-wrap-area wpacu-<?php echo $handleStatus; ?>">
|
99 |
<a class="wpacu-assets-collapsible <?php if ($listAreaStatus !== 'contracted') { ?>wpacu-assets-collapsible-active<?php } ?>" href="#wpacu-assets-collapsible-content-<?php echo $handleStatus; ?>">
|
100 |
+
<?php echo $handleStatusesText[$handleStatus]; ?> ➝ Total files: <?php echo $totalFiles; ?>
|
101 |
</a>
|
102 |
|
103 |
<div class="wpacu-assets-collapsible-content <?php if ($listAreaStatus !== 'contracted') { ?>wpacu-open<?php } ?>">
|
123 |
<table class="wpacu_list_table wpacu_list_by_parents wpacu_widefat wpacu_striped">
|
124 |
<tbody>
|
125 |
<?php
|
126 |
+
echo $assetRowsOutput;
|
|
|
|
|
|
|
|
|
|
|
|
|
127 |
?>
|
128 |
</tbody>
|
129 |
</table>
|
templates/meta-box-loaded-assets/view-by-location.php
CHANGED
@@ -25,7 +25,7 @@ $listAreaStatus = $data['plugin_settings']['assets_list_layout_areas_status'];
|
|
25 |
__('Please select the styles & scripts that are %sNOT NEEDED%s from the list below. Not sure which ones to unload? %s Use "Test Mode" (to make the changes apply only to you), while you are going through the trial & error process.', 'wp-asset-clean-up'),
|
26 |
'<span style="color: #CC0000;"><strong>',
|
27 |
'</strong></span>',
|
28 |
-
'<img draggable="false" class="wpacu-emoji" alt="
|
29 |
); ?> <?php echo __('"Load in on this page (make exception)" will take effect when a bulk unload rule is used. Otherwise, the asset will load anyway unless you select it for unload.', 'wp-asset-clean-up'); ?></p>
|
30 |
<?php
|
31 |
if ($data['plugin_settings']['hide_core_files']) {
|
@@ -63,14 +63,6 @@ $listAreaStatus = $data['plugin_settings']['assets_list_layout_areas_status'];
|
|
63 |
$allThemes = wp_get_themes();
|
64 |
$allActivePluginsIcons = \WpAssetCleanUp\Misc::getAllActivePluginsIcons();
|
65 |
|
66 |
-
$locationsText = array(
|
67 |
-
'plugins' => '<span class="dashicons dashicons-admin-plugins"></span> From Plugins (.css & .js)',
|
68 |
-
'themes' => '<span class="dashicons dashicons-admin-appearance"></span> From Themes (.css & .js)',
|
69 |
-
'uploads' => '<span class="dashicons dashicons-wordpress"></span> WordPress Uploads Directory (.css & .js)',
|
70 |
-
'wp_core' => '<span class="dashicons dashicons-wordpress"></span> WordPress Core (.css & .js)',
|
71 |
-
'external' => '<span class="dashicons dashicons-cloud"></span> External 3rd Party (.css & .js)'
|
72 |
-
);
|
73 |
-
|
74 |
$data['view_by_location'] =
|
75 |
$data['rows_build_array'] =
|
76 |
$data['rows_by_location'] = true;
|
@@ -80,9 +72,17 @@ $listAreaStatus = $data['plugin_settings']['assets_list_layout_areas_status'];
|
|
80 |
require_once __DIR__.'/_asset-style-rows.php';
|
81 |
require_once __DIR__.'/_asset-script-rows.php';
|
82 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
83 |
if (! empty($data['rows_assets'])) {
|
84 |
// Sorting: Plugins, Themes, Uploads Directory and External Assets
|
85 |
-
$rowsAssets = array('plugins' => array(), 'themes' => array(), 'uploads' => array(), 'external' => array());
|
86 |
|
87 |
foreach ($data['rows_assets'] as $locationMain => $values) {
|
88 |
$rowsAssets[$locationMain] = $values;
|
@@ -93,13 +93,15 @@ $listAreaStatus = $data['plugin_settings']['assets_list_layout_areas_status'];
|
|
93 |
$totalLocationAssets = count($values);
|
94 |
$hideLocationMainArea = ($locationMain === 'uploads' && $totalLocationAssets === 0);
|
95 |
$hideListOfAssetsOnly = ($locationMain === 'wp_core' && $data['plugin_settings']['hide_core_files']);
|
|
|
|
|
96 |
?>
|
97 |
<div <?php if ($hideLocationMainArea) {
|
98 |
echo 'style="display: none;"';
|
99 |
} ?> class="wpacu-assets-collapsible-wrap wpacu-by-location wpacu-<?php echo $locationMain; ?>">
|
100 |
<a class="wpacu-assets-collapsible <?php if ($listAreaStatus !== 'contracted') { ?>wpacu-assets-collapsible-active<?php } ?>"
|
101 |
href="#wpacu-assets-collapsible-content-<?php echo $locationMain; ?>">
|
102 |
-
<?php
|
103 |
</a>
|
104 |
|
105 |
<div class="wpacu-assets-collapsible-content <?php if ($listAreaStatus !== 'contracted') { ?>wpacu-open<?php } ?>">
|
@@ -123,74 +125,128 @@ $listAreaStatus = $data['plugin_settings']['assets_list_layout_areas_status'];
|
|
123 |
<?php
|
124 |
} elseif ($locationMain === 'uploads') { ?>
|
125 |
<p class="wpacu-assets-note" style="padding: 15px 15px 0 0;"><strong>Note:</strong> These are the CSS/JS files load from the /wp-content/uploads/ WordPress directory. They were copied there by other plugins or developers working on the website. In case the file was detected to be generated by a specific plugin through various verification patterns (e.g. for plugins such as Elementor, Oxygen Builder etc.), then it will be not listed here, but in the "From Plugins (.css & .js)" area for the detected plugin. This is to have all the files related to a plugin organised in one place.</p>
|
126 |
-
|
127 |
|
128 |
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
129 |
if ($totalLocationAssets > 0) {
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
159 |
</div>
|
160 |
-
<?php } ?>
|
161 |
-
</div>
|
162 |
-
</div>
|
163 |
-
<?php } ?>
|
164 |
-
<table <?php
|
165 |
-
if ($locationMain === 'plugins') {
|
166 |
-
echo 'data-wpacu-plugin="' . $locationChild . '" ';
|
167 |
-
}
|
168 |
-
|
169 |
-
if ($hideListOfAssetsOnly) {
|
170 |
-
echo ' style="display: none;"';
|
171 |
-
}
|
172 |
-
?>
|
173 |
-
class="wpacu_list_table wpacu_list_by_location wpacu_widefat wpacu_striped">
|
174 |
-
<tbody>
|
175 |
<?php
|
176 |
-
|
177 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
178 |
}
|
|
|
|
|
179 |
|
180 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
181 |
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
$locI++;
|
192 |
-
}
|
193 |
-
} else {
|
194 |
// There are no loaded CSS/JS
|
195 |
$showOxygenMsg = $locationMain === 'themes' && in_array('oxygen/functions.php', apply_filters('active_plugins', get_option('active_plugins')));
|
196 |
|
@@ -209,6 +265,14 @@ $listAreaStatus = $data['plugin_settings']['assets_list_layout_areas_status'];
|
|
209 |
</div>
|
210 |
</div>
|
211 |
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
212 |
}
|
213 |
}
|
214 |
}
|
25 |
__('Please select the styles & scripts that are %sNOT NEEDED%s from the list below. Not sure which ones to unload? %s Use "Test Mode" (to make the changes apply only to you), while you are going through the trial & error process.', 'wp-asset-clean-up'),
|
26 |
'<span style="color: #CC0000;"><strong>',
|
27 |
'</strong></span>',
|
28 |
+
'<img draggable="false" class="wpacu-emoji" style="max-width: 26px; max-height: 26px;" alt="" src="https://s.w.org/images/core/emoji/11.2.0/svg/1f914.svg">'
|
29 |
); ?> <?php echo __('"Load in on this page (make exception)" will take effect when a bulk unload rule is used. Otherwise, the asset will load anyway unless you select it for unload.', 'wp-asset-clean-up'); ?></p>
|
30 |
<?php
|
31 |
if ($data['plugin_settings']['hide_core_files']) {
|
63 |
$allThemes = wp_get_themes();
|
64 |
$allActivePluginsIcons = \WpAssetCleanUp\Misc::getAllActivePluginsIcons();
|
65 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
66 |
$data['view_by_location'] =
|
67 |
$data['rows_build_array'] =
|
68 |
$data['rows_by_location'] = true;
|
72 |
require_once __DIR__.'/_asset-style-rows.php';
|
73 |
require_once __DIR__.'/_asset-script-rows.php';
|
74 |
|
75 |
+
$locationsText = array(
|
76 |
+
'plugins' => '<span class="dashicons dashicons-admin-plugins"></span> From Plugins (.css & .js)',
|
77 |
+
'themes' => '<span class="dashicons dashicons-admin-appearance"></span> From Themes (.css & .js)',
|
78 |
+
'uploads' => '<span class="dashicons dashicons-wordpress"></span> WordPress Uploads Directory (.css & .js)',
|
79 |
+
'wp_core' => '<span class="dashicons dashicons-wordpress"></span> WordPress Core (.css & .js)',
|
80 |
+
'external' => '<span class="dashicons dashicons-cloud"></span> External 3rd Party (.css & .js)',
|
81 |
+
);
|
82 |
+
|
83 |
if (! empty($data['rows_assets'])) {
|
84 |
// Sorting: Plugins, Themes, Uploads Directory and External Assets
|
85 |
+
$rowsAssets = array('plugins' => array(), 'themes' => array(), 'uploads' => array(), 'wp_core' => array(), 'external' => array());
|
86 |
|
87 |
foreach ($data['rows_assets'] as $locationMain => $values) {
|
88 |
$rowsAssets[$locationMain] = $values;
|
93 |
$totalLocationAssets = count($values);
|
94 |
$hideLocationMainArea = ($locationMain === 'uploads' && $totalLocationAssets === 0);
|
95 |
$hideListOfAssetsOnly = ($locationMain === 'wp_core' && $data['plugin_settings']['hide_core_files']);
|
96 |
+
|
97 |
+
ob_start();
|
98 |
?>
|
99 |
<div <?php if ($hideLocationMainArea) {
|
100 |
echo 'style="display: none;"';
|
101 |
} ?> class="wpacu-assets-collapsible-wrap wpacu-by-location wpacu-<?php echo $locationMain; ?>">
|
102 |
<a class="wpacu-assets-collapsible <?php if ($listAreaStatus !== 'contracted') { ?>wpacu-assets-collapsible-active<?php } ?>"
|
103 |
href="#wpacu-assets-collapsible-content-<?php echo $locationMain; ?>">
|
104 |
+
<?php echo $locationsText[$locationMain]; ?> ➝ Total files: {total_files_<?php echo $locationMain; ?>}
|
105 |
</a>
|
106 |
|
107 |
<div class="wpacu-assets-collapsible-content <?php if ($listAreaStatus !== 'contracted') { ?>wpacu-open<?php } ?>">
|
125 |
<?php
|
126 |
} elseif ($locationMain === 'uploads') { ?>
|
127 |
<p class="wpacu-assets-note" style="padding: 15px 15px 0 0;"><strong>Note:</strong> These are the CSS/JS files load from the /wp-content/uploads/ WordPress directory. They were copied there by other plugins or developers working on the website. In case the file was detected to be generated by a specific plugin through various verification patterns (e.g. for plugins such as Elementor, Oxygen Builder etc.), then it will be not listed here, but in the "From Plugins (.css & .js)" area for the detected plugin. This is to have all the files related to a plugin organised in one place.</p>
|
128 |
+
<?php } ?>
|
129 |
|
130 |
<?php
|
131 |
+
$locationRowCount = 0;
|
132 |
+
$totalLocationAssets = count($values);
|
133 |
+
|
134 |
+
// Total files from all the plugins
|
135 |
+
$totalFilesArray[$locationMain] = 0;
|
136 |
+
|
137 |
if ($totalLocationAssets > 0) {
|
138 |
+
$locI = 1;
|
139 |
+
|
140 |
+
// Going through each plugin/theme etc.
|
141 |
+
foreach ( $values as $locationChild => $values2 ) {
|
142 |
+
if ($locationMain === 'plugins') {
|
143 |
+
$totalPluginAssets = $totalBulkUnloadedAssetsPerPlugin = 0;
|
144 |
+
}
|
145 |
+
|
146 |
+
ksort( $values2 );
|
147 |
+
|
148 |
+
$assetRowsOutput = '';
|
149 |
+
|
150 |
+
// Going through each asset from the plugin/theme
|
151 |
+
foreach ( $values2 as $assetType => $assetRows ) {
|
152 |
+
foreach ( $assetRows as $assetRow ) {
|
153 |
+
$assetRowsOutput .= $assetRow . "\n";
|
154 |
+
|
155 |
+
if ( $locationMain === 'plugins' ) {
|
156 |
+
if (strpos( $assetRow, 'wpacu_is_bulk_unloaded' ) !== false ) {
|
157 |
+
$totalBulkUnloadedAssetsPerPlugin ++;
|
158 |
+
}
|
159 |
+
|
160 |
+
$totalPluginAssets ++;
|
161 |
+
}
|
162 |
+
|
163 |
+
$totalFilesArray[$locationMain] ++;
|
164 |
+
}
|
165 |
+
}
|
166 |
+
|
167 |
+
if ( $locationChild !== 'none' ) {
|
168 |
+
if ( $locationMain === 'plugins' ) {
|
169 |
+
$locationChildText = \WpAssetCleanUp\Info::getPluginInfo( $locationChild, $allPlugins, $allActivePluginsIcons );
|
170 |
+
|
171 |
+
$isLastPluginAsset = ( count( $values ) - 1 ) === $locationRowCount;
|
172 |
+
|
173 |
+
// Show it if there is at least one available "Unload on this page"
|
174 |
+
$showUnloadOnThisPageCheckUncheckAll = $totalPluginAssets !== $totalBulkUnloadedAssetsPerPlugin;
|
175 |
+
|
176 |
+
// Show it if all the assets from the plugin are bulk unloaded
|
177 |
+
$showLoadItOnThisPageCheckUncheckAll = $totalBulkUnloadedAssetsPerPlugin === $totalPluginAssets;
|
178 |
+
} elseif ( $locationMain === 'themes' ) {
|
179 |
+
$locationChildThemeArray = \WpAssetCleanUp\Info::getThemeInfo( $locationChild, $allThemes );
|
180 |
+
$locationChildText = $locationChildThemeArray['output'];
|
181 |
+
} else {
|
182 |
+
$locationChildText = $locationChild;
|
183 |
+
}
|
184 |
+
|
185 |
+
$extraClassesToAppend = '';
|
186 |
+
|
187 |
+
if ( $locationMain === 'plugins' && $isLastPluginAsset ) {
|
188 |
+
$extraClassesToAppend .= ' wpacu-area-last ';
|
189 |
+
}
|
190 |
+
|
191 |
+
if ($locI === 1) {
|
192 |
+
$extraClassesToAppend .= ' wpacu-location-child-area-first ';
|
193 |
+
}
|
194 |
+
|
195 |
+
// PLUGIN LIST: VIEW THEIR ASSETS
|
196 |
+
// EXPANDED (DEFAULT)
|
197 |
+
if ( $locationMain === 'plugins' ) {
|
198 |
+
?>
|
199 |
+
<div data-wpacu-plugin="<?php echo $locationChild; ?>"
|
200 |
+
class="wpacu-location-child-area wpacu-area-expanded <?php echo $extraClassesToAppend; ?>">
|
201 |
+
<div class="wpacu-area-title">
|
202 |
+
<?php echo $locationChildText; ?> <span style="font-weight: 200;">/</span> <span style="font-weight: 400;"><?php echo $totalPluginAssets; ?></span> files
|
203 |
+
<?php
|
204 |
+
include '_view-by-location/_plugin-list-expanded-actions.php';
|
205 |
+
?>
|
206 |
+
</div>
|
207 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
208 |
<?php
|
209 |
+
} elseif ( $locationMain === 'themes' ) {
|
210 |
+
?>
|
211 |
+
<div data-wpacu-plugin="<?php echo $locationChild; ?>"
|
212 |
+
class="wpacu-location-child-area wpacu-area-expanded <?php echo $extraClassesToAppend; ?>">
|
213 |
+
<div class="wpacu-area-title <?php if ($locationChildThemeArray['has_icon'] === true) { echo 'wpacu-theme-has-icon'; } ?>"><?php echo $locationChildText; ?></div>
|
214 |
+
</div>
|
215 |
+
<?php
|
216 |
+
} else { // WordPress Core, Uploads, 3rd Party etc.
|
217 |
+
?>
|
218 |
+
<div data-wpacu-plugin="<?php echo $locationChild; ?>"
|
219 |
+
class="wpacu-location-child-area wpacu-area-expanded <?php echo $extraClassesToAppend; ?>">
|
220 |
+
<div class="wpacu-area-title"><?php echo $locationChildText; ?></div>
|
221 |
+
</div>
|
222 |
+
<?php
|
223 |
}
|
224 |
+
}
|
225 |
+
?>
|
226 |
|
227 |
+
<div class="wpacu-assets-table-list-wrap <?php if ( $locationMain === 'plugins' ) { ?> wpacu-plugin-assets-wrap <?php } ?> <?php if ( $pluginListContracted ) {
|
228 |
+
echo 'wpacu-area-closed';
|
229 |
+
} ?> <?php if ( $isLastPluginAsset ) {
|
230 |
+
echo 'wpacu-plugin-assets-last';
|
231 |
+
} ?>">
|
232 |
+
<table <?php if ( $locationMain === 'plugins' ) {
|
233 |
+
echo ' data-wpacu-plugin="' . $locationChild . '" ';
|
234 |
+
} ?> class="wpacu_list_table wpacu_list_by_location wpacu_widefat wpacu_striped">
|
235 |
+
<tbody>
|
236 |
+
<?php
|
237 |
+
if ( $locationMain === 'plugins' ) {
|
238 |
+
do_action('wpacu_assets_plugin_notice_table_row', $locationChild);
|
239 |
+
}
|
240 |
|
241 |
+
echo $assetRowsOutput;
|
242 |
+
?>
|
243 |
+
</tbody>
|
244 |
+
</table>
|
245 |
+
</div>
|
246 |
+
<?php
|
247 |
+
$locationRowCount ++;
|
248 |
+
}
|
249 |
+
} else {
|
|
|
|
|
|
|
250 |
// There are no loaded CSS/JS
|
251 |
$showOxygenMsg = $locationMain === 'themes' && in_array('oxygen/functions.php', apply_filters('active_plugins', get_option('active_plugins')));
|
252 |
|
265 |
</div>
|
266 |
</div>
|
267 |
<?php
|
268 |
+
$locationMainOutput = ob_get_clean();
|
269 |
+
$locationMainOutput = str_replace(
|
270 |
+
'{total_files_'.$locationMain.'}',
|
271 |
+
$totalFilesArray[$locationMain],
|
272 |
+
$locationMainOutput
|
273 |
+
);
|
274 |
+
|
275 |
+
echo $locationMainOutput;
|
276 |
}
|
277 |
}
|
278 |
}
|
templates/meta-box-loaded-assets/view-by-parents.php
CHANGED
@@ -12,7 +12,6 @@ $listAreaStatus = $data['plugin_settings']['assets_list_layout_areas_status'];
|
|
12 |
* ----------------------------------------------
|
13 |
*/
|
14 |
?>
|
15 |
-
|
16 |
<div>
|
17 |
<?php
|
18 |
if (! empty($data['all']['styles']) || ! empty($data['all']['scripts'])) {
|
@@ -59,12 +58,6 @@ $listAreaStatus = $data['plugin_settings']['assets_list_layout_areas_status'];
|
|
59 |
</div>
|
60 |
|
61 |
<?php
|
62 |
-
$handleStatusesText = array(
|
63 |
-
'parent' => '<span class="dashicons dashicons-groups"></span> \'Parents\' with \'children\' (.css & .js)',
|
64 |
-
'child' => '<span class="dashicons dashicons-admin-users"></span> \'Children\' of \'parents\' (.css & .js)',
|
65 |
-
'independent' => '<span class="dashicons dashicons-admin-users"></span> Independent (.css & .js)'
|
66 |
-
);
|
67 |
-
|
68 |
$data['view_by_parents'] =
|
69 |
$data['rows_build_array'] =
|
70 |
$data['rows_by_parents'] = true;
|
@@ -74,6 +67,13 @@ $listAreaStatus = $data['plugin_settings']['assets_list_layout_areas_status'];
|
|
74 |
require_once __DIR__.'/_asset-style-rows.php';
|
75 |
require_once __DIR__.'/_asset-script-rows.php';
|
76 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
77 |
if (! empty($data['rows_assets'])) {
|
78 |
// Sorting: parent & non_parent
|
79 |
$rowsAssets = array('parent' => array(), 'child' => array(), 'independent' => array());
|
@@ -84,10 +84,23 @@ $listAreaStatus = $data['plugin_settings']['assets_list_layout_areas_status'];
|
|
84 |
|
85 |
foreach ($rowsAssets as $handleStatus => $values) {
|
86 |
ksort($values);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
87 |
?>
|
88 |
<div class="wpacu-assets-collapsible-wrap wpacu-by-parents wpacu-wrap-area wpacu-<?php echo $handleStatus; ?>">
|
89 |
<a class="wpacu-assets-collapsible <?php if ($listAreaStatus !== 'contracted') { ?>wpacu-assets-collapsible-active<?php } ?>" href="#wpacu-assets-collapsible-content-<?php echo $handleStatus; ?>">
|
90 |
-
<?php echo $handleStatusesText[$handleStatus]; ?>
|
91 |
</a>
|
92 |
|
93 |
<div class="wpacu-assets-collapsible-content <?php if ($listAreaStatus !== 'contracted') { ?>wpacu-open<?php } ?>">
|
@@ -103,13 +116,7 @@ $listAreaStatus = $data['plugin_settings']['assets_list_layout_areas_status'];
|
|
103 |
<table class="wpacu_list_table wpacu_list_by_parents wpacu_widefat wpacu_striped">
|
104 |
<tbody>
|
105 |
<?php
|
106 |
-
$
|
107 |
-
|
108 |
-
foreach ($values as $assetType => $assetRows) {
|
109 |
-
foreach ($assetRows as $assetRow) {
|
110 |
-
echo $assetRow . "\n";
|
111 |
-
}
|
112 |
-
}
|
113 |
?>
|
114 |
</tbody>
|
115 |
</table>
|
12 |
* ----------------------------------------------
|
13 |
*/
|
14 |
?>
|
|
|
15 |
<div>
|
16 |
<?php
|
17 |
if (! empty($data['all']['styles']) || ! empty($data['all']['scripts'])) {
|
58 |
</div>
|
59 |
|
60 |
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
61 |
$data['view_by_parents'] =
|
62 |
$data['rows_build_array'] =
|
63 |
$data['rows_by_parents'] = true;
|
67 |
require_once __DIR__.'/_asset-style-rows.php';
|
68 |
require_once __DIR__.'/_asset-script-rows.php';
|
69 |
|
70 |
+
$handleStatusesText = array(
|
71 |
+
'parent' => '<span class="dashicons dashicons-groups"></span> \'Parents\' with \'children\' (.css & .js)',
|
72 |
+
'child' => '<span class="dashicons dashicons-admin-users"></span> \'Children\' of \'parents\' (.css & .js)',
|
73 |
+
'independent' => '<span class="dashicons dashicons-admin-users"></span> Independent (.css & .js)'
|
74 |
+
);
|
75 |
+
|
76 |
+
|
77 |
if (! empty($data['rows_assets'])) {
|
78 |
// Sorting: parent & non_parent
|
79 |
$rowsAssets = array('parent' => array(), 'child' => array(), 'independent' => array());
|
84 |
|
85 |
foreach ($rowsAssets as $handleStatus => $values) {
|
86 |
ksort($values);
|
87 |
+
|
88 |
+
$assetRowIndex = 1;
|
89 |
+
|
90 |
+
$assetRowsOutput = '';
|
91 |
+
|
92 |
+
$totalFiles = 0;
|
93 |
+
|
94 |
+
foreach ($values as $assetType => $assetRows) {
|
95 |
+
foreach ($assetRows as $assetRow) {
|
96 |
+
$assetRowsOutput .= $assetRow . "\n";
|
97 |
+
$totalFiles++;
|
98 |
+
}
|
99 |
+
}
|
100 |
?>
|
101 |
<div class="wpacu-assets-collapsible-wrap wpacu-by-parents wpacu-wrap-area wpacu-<?php echo $handleStatus; ?>">
|
102 |
<a class="wpacu-assets-collapsible <?php if ($listAreaStatus !== 'contracted') { ?>wpacu-assets-collapsible-active<?php } ?>" href="#wpacu-assets-collapsible-content-<?php echo $handleStatus; ?>">
|
103 |
+
<?php echo $handleStatusesText[$handleStatus]; ?> ➝ Total files: <?php echo $totalFiles; ?>
|
104 |
</a>
|
105 |
|
106 |
<div class="wpacu-assets-collapsible-content <?php if ($listAreaStatus !== 'contracted') { ?>wpacu-open<?php } ?>">
|
116 |
<table class="wpacu_list_table wpacu_list_by_parents wpacu_widefat wpacu_striped">
|
117 |
<tbody>
|
118 |
<?php
|
119 |
+
echo $assetRowsOutput;
|
|
|
|
|
|
|
|
|
|
|
|
|
120 |
?>
|
121 |
</tbody>
|
122 |
</table>
|
templates/meta-box-loaded-assets/view-by-position.php
CHANGED
@@ -12,7 +12,6 @@ $listAreaStatus = $data['plugin_settings']['assets_list_layout_areas_status'];
|
|
12 |
* -------------------------
|
13 |
*/
|
14 |
?>
|
15 |
-
|
16 |
<div>
|
17 |
<?php
|
18 |
if (! empty($data['all']['styles']) || ! empty($data['all']['scripts'])) {
|
@@ -59,11 +58,6 @@ $listAreaStatus = $data['plugin_settings']['assets_list_layout_areas_status'];
|
|
59 |
</div>
|
60 |
|
61 |
<?php
|
62 |
-
$positionsText = array(
|
63 |
-
'head' => '<span class="dashicons dashicons-editor-code"></span> HEAD tag (.css & .js)',
|
64 |
-
'body' => '<span class="dashicons dashicons-editor-code"></span> BODY tag (.css & .js)'
|
65 |
-
);
|
66 |
-
|
67 |
$data['view_by_position'] =
|
68 |
$data['rows_build_array'] =
|
69 |
$data['rows_by_position'] = true;
|
@@ -73,6 +67,11 @@ $listAreaStatus = $data['plugin_settings']['assets_list_layout_areas_status'];
|
|
73 |
require_once __DIR__.'/_asset-style-rows.php';
|
74 |
require_once __DIR__.'/_asset-script-rows.php';
|
75 |
|
|
|
|
|
|
|
|
|
|
|
76 |
if (! empty($data['rows_assets'])) {
|
77 |
// Sorting: head and body
|
78 |
$rowsAssets = array('head' => array(), 'body' => array());
|
@@ -83,10 +82,22 @@ $listAreaStatus = $data['plugin_settings']['assets_list_layout_areas_status'];
|
|
83 |
|
84 |
foreach ($rowsAssets as $positionMain => $values) {
|
85 |
ksort($values);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
86 |
?>
|
87 |
<div class="wpacu-assets-collapsible-wrap wpacu-by-position wpacu-wrap-area wpacu-<?php echo $positionMain; ?>">
|
88 |
<a class="wpacu-assets-collapsible <?php if ($listAreaStatus !== 'contracted') { ?>wpacu-assets-collapsible-active<?php } ?>" href="#wpacu-assets-collapsible-content-<?php echo $positionMain; ?>">
|
89 |
-
<?php echo $positionsText[$positionMain]; ?>
|
90 |
</a>
|
91 |
|
92 |
<div class="wpacu-assets-collapsible-content <?php if ($listAreaStatus !== 'contracted') { ?>wpacu-open<?php } ?>">
|
@@ -100,13 +111,7 @@ $listAreaStatus = $data['plugin_settings']['assets_list_layout_areas_status'];
|
|
100 |
<table class="wpacu_list_table wpacu_list_by_position wpacu_widefat wpacu_striped">
|
101 |
<tbody>
|
102 |
<?php
|
103 |
-
$
|
104 |
-
|
105 |
-
foreach ($values as $assetType => $assetRows) {
|
106 |
-
foreach ($assetRows as $assetRow) {
|
107 |
-
echo $assetRow . "\n";
|
108 |
-
}
|
109 |
-
}
|
110 |
?>
|
111 |
</tbody>
|
112 |
</table>
|
12 |
* -------------------------
|
13 |
*/
|
14 |
?>
|
|
|
15 |
<div>
|
16 |
<?php
|
17 |
if (! empty($data['all']['styles']) || ! empty($data['all']['scripts'])) {
|
58 |
</div>
|
59 |
|
60 |
<?php
|
|
|
|
|
|
|
|
|
|
|
61 |
$data['view_by_position'] =
|
62 |
$data['rows_build_array'] =
|
63 |
$data['rows_by_position'] = true;
|
67 |
require_once __DIR__.'/_asset-style-rows.php';
|
68 |
require_once __DIR__.'/_asset-script-rows.php';
|
69 |
|
70 |
+
$positionsText = array(
|
71 |
+
'head' => '<span class="dashicons dashicons-editor-code"></span> HEAD tag (.css & .js)',
|
72 |
+
'body' => '<span class="dashicons dashicons-editor-code"></span> BODY tag (.css & .js)'
|
73 |
+
);
|
74 |
+
|
75 |
if (! empty($data['rows_assets'])) {
|
76 |
// Sorting: head and body
|
77 |
$rowsAssets = array('head' => array(), 'body' => array());
|
82 |
|
83 |
foreach ($rowsAssets as $positionMain => $values) {
|
84 |
ksort($values);
|
85 |
+
|
86 |
+
$assetRowsOutput = '';
|
87 |
+
|
88 |
+
$totalFiles = 0;
|
89 |
+
$assetRowIndex = 1;
|
90 |
+
|
91 |
+
foreach ($values as $assetType => $assetRows) {
|
92 |
+
foreach ($assetRows as $assetRow) {
|
93 |
+
$assetRowsOutput .= $assetRow . "\n";
|
94 |
+
$totalFiles++;
|
95 |
+
}
|
96 |
+
}
|
97 |
?>
|
98 |
<div class="wpacu-assets-collapsible-wrap wpacu-by-position wpacu-wrap-area wpacu-<?php echo $positionMain; ?>">
|
99 |
<a class="wpacu-assets-collapsible <?php if ($listAreaStatus !== 'contracted') { ?>wpacu-assets-collapsible-active<?php } ?>" href="#wpacu-assets-collapsible-content-<?php echo $positionMain; ?>">
|
100 |
+
<?php echo $positionsText[$positionMain]; ?> ➝ Total files: <?php echo $totalFiles; ?>
|
101 |
</a>
|
102 |
|
103 |
<div class="wpacu-assets-collapsible-content <?php if ($listAreaStatus !== 'contracted') { ?>wpacu-open<?php } ?>">
|
111 |
<table class="wpacu_list_table wpacu_list_by_position wpacu_widefat wpacu_striped">
|
112 |
<tbody>
|
113 |
<?php
|
114 |
+
echo $assetRowsOutput;
|
|
|
|
|
|
|
|
|
|
|
|
|
115 |
?>
|
116 |
</tbody>
|
117 |
</table>
|
templates/meta-box-loaded-assets/view-by-preload.php
CHANGED
@@ -56,11 +56,6 @@ $listAreaStatus = $data['plugin_settings']['assets_list_layout_areas_status'];
|
|
56 |
</div>
|
57 |
|
58 |
<?php
|
59 |
-
$preloadsText = array(
|
60 |
-
'preloaded' => '<span class="dashicons dashicons-upload"></span> Preloaded assets (.css & .js)',
|
61 |
-
'not_preloaded' => '<span class="dashicons dashicons-download"></span> Not-preloaded (default status) assets (.css & .js)'
|
62 |
-
);
|
63 |
-
|
64 |
$data['view_by_preload'] =
|
65 |
$data['rows_build_array'] =
|
66 |
$data['rows_by_preload'] = true;
|
@@ -70,6 +65,11 @@ $listAreaStatus = $data['plugin_settings']['assets_list_layout_areas_status'];
|
|
70 |
require_once __DIR__.'/_asset-style-rows.php';
|
71 |
require_once __DIR__.'/_asset-script-rows.php';
|
72 |
|
|
|
|
|
|
|
|
|
|
|
73 |
if (! empty($data['rows_assets'])) {
|
74 |
// Sorting: Preloaded and Not Preloaded (standard loading)
|
75 |
$rowsAssets = array('preloaded' => array(), 'not_preloaded' => array());
|
@@ -80,10 +80,22 @@ $listAreaStatus = $data['plugin_settings']['assets_list_layout_areas_status'];
|
|
80 |
|
81 |
foreach ($rowsAssets as $preloadStatus => $values) {
|
82 |
ksort($values);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
83 |
?>
|
84 |
<div class="wpacu-assets-collapsible-wrap wpacu-by-preloads wpacu-wrap-area wpacu-<?php echo $preloadStatus; ?>">
|
85 |
<a class="wpacu-assets-collapsible <?php if ($listAreaStatus !== 'contracted') { ?>wpacu-assets-collapsible-active<?php } ?>" href="#wpacu-assets-collapsible-content-<?php echo $preloadStatus; ?>">
|
86 |
-
<?php echo $preloadsText[$preloadStatus]; ?>
|
87 |
</a>
|
88 |
|
89 |
<div class="wpacu-assets-collapsible-content <?php if ($listAreaStatus !== 'contracted') { ?>wpacu-open<?php } ?>">
|
@@ -104,13 +116,7 @@ $listAreaStatus = $data['plugin_settings']['assets_list_layout_areas_status'];
|
|
104 |
<table class="wpacu_list_table wpacu_list_by_preload wpacu_widefat wpacu_striped">
|
105 |
<tbody>
|
106 |
<?php
|
107 |
-
$
|
108 |
-
|
109 |
-
foreach ($values as $assetType => $assetRows) {
|
110 |
-
foreach ($assetRows as $assetRow) {
|
111 |
-
echo $assetRow . "\n";
|
112 |
-
}
|
113 |
-
}
|
114 |
?>
|
115 |
</tbody>
|
116 |
</table>
|
56 |
</div>
|
57 |
|
58 |
<?php
|
|
|
|
|
|
|
|
|
|
|
59 |
$data['view_by_preload'] =
|
60 |
$data['rows_build_array'] =
|
61 |
$data['rows_by_preload'] = true;
|
65 |
require_once __DIR__.'/_asset-style-rows.php';
|
66 |
require_once __DIR__.'/_asset-script-rows.php';
|
67 |
|
68 |
+
$preloadsText = array(
|
69 |
+
'preloaded' => '<span class="dashicons dashicons-upload"></span> Preloaded assets (.css & .js)',
|
70 |
+
'not_preloaded' => '<span class="dashicons dashicons-download"></span> Not-preloaded (default status) assets (.css & .js)',
|
71 |
+
);
|
72 |
+
|
73 |
if (! empty($data['rows_assets'])) {
|
74 |
// Sorting: Preloaded and Not Preloaded (standard loading)
|
75 |
$rowsAssets = array('preloaded' => array(), 'not_preloaded' => array());
|
80 |
|
81 |
foreach ($rowsAssets as $preloadStatus => $values) {
|
82 |
ksort($values);
|
83 |
+
|
84 |
+
$assetRowsOutput = '';
|
85 |
+
|
86 |
+
$totalFiles = 0;
|
87 |
+
$assetRowIndex = 1;
|
88 |
+
|
89 |
+
foreach ($values as $assetType => $assetRows) {
|
90 |
+
foreach ($assetRows as $assetRow) {
|
91 |
+
$assetRowsOutput .= $assetRow . "\n";
|
92 |
+
$totalFiles++;
|
93 |
+
}
|
94 |
+
}
|
95 |
?>
|
96 |
<div class="wpacu-assets-collapsible-wrap wpacu-by-preloads wpacu-wrap-area wpacu-<?php echo $preloadStatus; ?>">
|
97 |
<a class="wpacu-assets-collapsible <?php if ($listAreaStatus !== 'contracted') { ?>wpacu-assets-collapsible-active<?php } ?>" href="#wpacu-assets-collapsible-content-<?php echo $preloadStatus; ?>">
|
98 |
+
<?php echo $preloadsText[$preloadStatus]; ?> ➝ Total files: <?php echo $totalFiles; ?>
|
99 |
</a>
|
100 |
|
101 |
<div class="wpacu-assets-collapsible-content <?php if ($listAreaStatus !== 'contracted') { ?>wpacu-open<?php } ?>">
|
116 |
<table class="wpacu_list_table wpacu_list_by_preload wpacu_widefat wpacu_striped">
|
117 |
<tbody>
|
118 |
<?php
|
119 |
+
echo $assetRowsOutput;
|
|
|
|
|
|
|
|
|
|
|
|
|
120 |
?>
|
121 |
</tbody>
|
122 |
</table>
|
wpacu-load.php
CHANGED
@@ -29,28 +29,24 @@ function includeWpAssetCleanUpClassesAutoload($class)
|
|
29 |
spl_autoload_register('includeWpAssetCleanUpClassesAutoload');
|
30 |
|
31 |
// Main Class
|
32 |
-
WpAssetCleanUp\Main::instance();
|
33 |
|
34 |
-
|
35 |
-
|
|
|
|
|
|
|
36 |
|
37 |
// Plugin's Assets (used only when you're logged in)
|
38 |
$wpacuOwnAssets = new \WpAssetCleanUp\OwnAssets;
|
39 |
$wpacuOwnAssets->init();
|
40 |
|
41 |
// Add / Update / Remove Settings
|
42 |
-
$wpacuUpdate = new WpAssetCleanUp\Update;
|
43 |
$wpacuUpdate->init();
|
44 |
|
45 |
-
// Settings
|
46 |
-
$wpacuSettings = new WpAssetCleanUp\Settings;
|
47 |
-
|
48 |
-
if (is_admin()) {
|
49 |
-
$wpacuSettings->adminInit();
|
50 |
-
}
|
51 |
-
|
52 |
// Various functions
|
53 |
-
new WpAssetCleanUp\Misc;
|
54 |
|
55 |
// Menu
|
56 |
new \WpAssetCleanUp\Menu;
|
@@ -85,7 +81,9 @@ if (is_admin()) {
|
|
85 |
/*
|
86 |
* Trigger only within the Dashboard view (e.g. within /wp-admin/)
|
87 |
*/
|
88 |
-
new \WpAssetCleanUp\Plugin;
|
|
|
|
|
89 |
new \WpAssetCleanUp\PluginReview();
|
90 |
|
91 |
$wpacuPluginTracking = new \WpAssetCleanUp\PluginTracking();
|
29 |
spl_autoload_register('includeWpAssetCleanUpClassesAutoload');
|
30 |
|
31 |
// Main Class
|
32 |
+
\WpAssetCleanUp\Main::instance();
|
33 |
|
34 |
+
$wpacuSettingsClass = new \WpAssetCleanUp\Settings();
|
35 |
+
|
36 |
+
if (is_admin()) {
|
37 |
+
$wpacuSettingsClass->adminInit();
|
38 |
+
}
|
39 |
|
40 |
// Plugin's Assets (used only when you're logged in)
|
41 |
$wpacuOwnAssets = new \WpAssetCleanUp\OwnAssets;
|
42 |
$wpacuOwnAssets->init();
|
43 |
|
44 |
// Add / Update / Remove Settings
|
45 |
+
$wpacuUpdate = new \WpAssetCleanUp\Update;
|
46 |
$wpacuUpdate->init();
|
47 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
48 |
// Various functions
|
49 |
+
new \WpAssetCleanUp\Misc;
|
50 |
|
51 |
// Menu
|
52 |
new \WpAssetCleanUp\Menu;
|
81 |
/*
|
82 |
* Trigger only within the Dashboard view (e.g. within /wp-admin/)
|
83 |
*/
|
84 |
+
$wpacuPlugin = new \WpAssetCleanUp\Plugin;
|
85 |
+
$wpacuPlugin->init();
|
86 |
+
|
87 |
new \WpAssetCleanUp\PluginReview();
|
88 |
|
89 |
$wpacuPluginTracking = new \WpAssetCleanUp\PluginTracking();
|
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.4.
|
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.4.
|
16 |
}
|
17 |
|
18 |
// Exit if accessed directly
|
@@ -108,7 +108,7 @@ if (! is_admin()) {
|
|
108 |
}
|
109 |
|
110 |
// [wpacu_lite]
|
111 |
-
$wpacuSettingsList = $
|
112 |
|
113 |
if (! $wpacuSettingsList['disable_freemius']) {
|
114 |
require_once WPACU_PLUGIN_DIR . '/freemius-load.php';
|
2 |
/*
|
3 |
* Plugin Name: Asset CleanUp: Page Speed Booster
|
4 |
* Plugin URI: https://wordpress.org/plugins/wp-asset-clean-up/
|
5 |
+
* Version: 1.3.4.8
|
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.4.8');
|
16 |
}
|
17 |
|
18 |
// Exit if accessed directly
|
108 |
}
|
109 |
|
110 |
// [wpacu_lite]
|
111 |
+
$wpacuSettingsList = $wpacuSettingsClass->getAll();
|
112 |
|
113 |
if (! $wpacuSettingsList['disable_freemius']) {
|
114 |
require_once WPACU_PLUGIN_DIR . '/freemius-load.php';
|