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