芝麻web文件管理V1.00
编辑当前文件:/home/conskgoa/doughi.co.uk/blocker.zip
PK 6\ѫѕ Exclusions/GDPR.phpnu [ * @copyright 2023 wp-meteor.com * @license GPL 2.0+ * @link https://wp-meteor.com */ namespace WP_Meteor\Blocker\Exclusions; /** * Provide Import and Export of the settings of the plugin */ class GDPR extends \WP_Meteor\Blocker\Base { public $adminPriority = -2; public $priority = 99; public $tab = 'exclusions'; public $title = 'Exclude GDPR/Cookie popups '; public $description = "Most of the time, you want your GDPR/Cookie to be displayed instantly, keep it enabled if that's the case.
Please let me know if it doesn't work for your GDPR banner"; public $defaultEnabled = true; public function __construct() { parent::__construct(); $settings = wpmeteor_get_settings(); $regexp = null; if ( isset($settings[$this->id]) && @$settings[$this->id]['enabled'] ) { \add_filter('wpmeteor_exclude', function ($exclude, $content) { if ($exclude) { return $exclude; } $value = [ "https://ap\.legalblink\.it/api/scripts/lb_cs\.js", // legalblink // "cookie-cracker/assets/cc-cookies\.js", // https://marketpress.de/shop/plugins/cookie-cracker/ // "cookie-cracker/assets/cc-ihavecookies\.js", // https://marketpress.de/shop/plugins/cookie-cracker/ ]; // https://wordpress.org/support/topic/newest-version-3-2-3-causes-a-fatal-error/#post-16861528 if (!\function_exists('is_plugin_active') || \is_plugin_active('complianz-gdpr-premium/complianz-gpdr-premium.php') || is_plugin_active('complianz-gdpr/complianz-gpdr.php')) { $value = array_merge($value, ['cmplz-cookiebanner']); // matching by id // $value = array_merge($value, [ // "\bcomplianz\s*", // "/cookiebanner/js/complianz(?:\.min)?\.js", // "\bcmplzBlockedContent\b", // ]); } if (!\function_exists('is_plugin_active') || \is_plugin_active('cookie-notice/cookie-notice.php')) { $value = array_merge($value, [ "var cnArgs", "/cookie-notice/js/front(?:\.min)?\.js", ]); } if (!\function_exists('is_plugin_active') || \is_plugin_active('gdpr-cookie-compliance/moove-gdpr.php')) { $value = array_merge($value, [ "/jquery(?:\.min)?.js", "var moove_frontend_gdpr_scripts", "var gdpr_consent__strict", "/gdpr-cookie-compliance/dist/scripts/main\.js", ]); } if (!\function_exists('is_plugin_active') || \is_plugin_active('cookie-law-info/cookie-law-info.php')) { $value = array_merge($value, [ "var _ckyConfig", "/cookie-law-info/lite/frontend/js/script(?:\.min)?.js", ]); } if (!\function_exists('is_plugin_active') || \is_plugin_active('eu-cookie-law-compliance/tplis-cookies.php')) { $value = array_merge($value, [ "/jquery(?:\.min)?.js", "window\.hasPolisClConsent", ]); } if (!\function_exists('is_plugin_active') || \is_plugin_active('iubenda-cookie-law-solution/iubenda_cookie_solution.php')) { $value = array_merge($value, [ "var _iub", "//cdn\.iubenda\.com/", ]); } if (!\function_exists('is_plugin_active') || \is_plugin_active('cookiebot/cookiebot.php')) { $value = array_merge($value, [ "//consent\.cookiebot\.com/uc\.js", ]); } if (!\function_exists('is_plugin_active') || \is_plugin_active('cookie-script-com/cookie-script.php')) { $value = array_merge($value, [ "cookie-script.com/s/\w+\.js", ]); } if (!$value) { return; } $regexp = "#(" . join('|', array_filter($value, function ($value) { return $value && @preg_match("#{$value}#", "") !== false; })) . ")#"; if (preg_match($regexp, $content)) { return true; } return $exclude; }, null, 2); } } public function backend_display_settings() { echo '
'; } public function backend_adjust_wpmeteor($wpmeteor, $settings) { $wpmeteor['blockers'] = @$wpmeteor['blockers'] ?: []; $wpmeteor['blockers'][$this->id] = $settings[$this->id]; return $wpmeteor; } public function backend_save_settings($sanitized, $settings) { $exists = isset($sanitized[$this->id]['enabled']); $sanitized[$this->id] = array_merge($settings[$this->id], @$sanitized[$this->id] ?: []); $sanitized[$this->id]['enabled'] = $exists; return $sanitized; } /* triggered from wpmeteor_load_settings */ public function load_settings($settings) { $settings[$this->id] = isset($settings[$this->id]) ? $settings[$this->id] : ['enabled' => $this->defaultEnabled]; $settings[$this->id]['id'] = $this->id; $settings[$this->id]['description'] = $this->description; return $settings; } public function frontend_adjust_wpmeteor($wpmeteor, $settings) { if ($settings[$this->id]['enabled']) { $wpmeteor[$this->id] = true; } return $wpmeteor; } } PK 6\KPX Exclusions/Exclude.phpnu [ * @copyright 2020 wp-meteor.com * @license GPL 2.0+ * @link https://wp-meteor.com */ namespace WP_Meteor\Blocker\Exclusions; /** * Provide Import and Export of the settings of the plugin */ class Exclude extends \WP_Meteor\Blocker\Base { public $adminPriority = -1; public $priority = 99; public $tab = 'exclusions'; public $title = 'Exclude scripts matching regexp from optimization'; public $description = "Specify URLs or keywords or regular expressions, that can identify inline or src of javascript to be excluded from delaying execution (one per line). This is a good place to put your menus, hero area carousels, GA and GTM"; public $defaultEnabled = false; public function __construct() { parent::__construct(); $settings = wpmeteor_get_settings(); $regexp = null; if ( isset($settings[$this->id]) && @$settings[$this->id]['enabled'] && @$settings[$this->id]['value'] ) { $value = array_map(function ($value) { return str_replace('#', '\#', $value); // return preg_quote(str_replace('#', '\#', $value), '#'); }, $settings[$this->id]['value']); $regexp = "#(" . join('|', array_filter($value, function ($value) { return $value && @preg_match("#{$value}#", "") !== false; })) . ")#"; if ($regexp !== '#()#') { add_filter('wpmeteor_exclude', function ($exclude, $content) use ($regexp) { if ($exclude) { return $exclude; } if (preg_match($regexp, $content)) { return true; } return $exclude; }, null, 2); } } } public function backend_display_settings() { echo '
'; } public function backend_adjust_wpmeteor($wpmeteor, $settings) { $wpmeteor['blockers'] = @$wpmeteor['blockers'] ?: []; $wpmeteor['blockers'][$this->id] = $settings[$this->id]; return $wpmeteor; } public function backend_save_settings($sanitized, $settings) { $exists = isset($sanitized[$this->id]['enabled']); $sanitized[$this->id] = array_merge($settings[$this->id], $sanitized[$this->id] ?: []); $sanitized[$this->id]['enabled'] = $exists; $value = explode("\n", $sanitized[$this->id]['value']); $value = array_map('trim', $value); $value = array_filter($value); $sanitized[$this->id]['value'] = $value; return $sanitized; } /* triggered from wpmeteor_load_settings */ public function load_settings($settings) { $settings[$this->id] = isset($settings[$this->id]) ? $settings[$this->id] : ['enabled' => $this->defaultEnabled]; $settings[$this->id]['id'] = $this->id; $settings[$this->id]['description'] = $this->description; return $settings; } public function frontend_adjust_wpmeteor($wpmeteor, $settings) { if ($settings[$this->id]['enabled']) { $wpmeteor[$this->id] = true; } return $wpmeteor; } } PK 6\SZ Z Exclusions/Compatibility.phpnu [ * @copyright 2020 wp-meteor.com * @license GPL 2.0+ * @link https://wp-meteor.com */ namespace WP_Meteor\Blocker\Exclusions; /** * Provide Import and Export of the settings of the plugin */ class Compatibility extends \WP_Meteor\Blocker\Base { public $adminPriority = -1; public $priority = 100; public $defaultEnabled = true; public $rocket_delay_js_script_regexp = ''; public function __construct() { parent::__construct(); add_filter('wpmeteor_exclude', function ($exclude, $content) { if ($exclude) { return $exclude; } $scripts = [ 'function fvmuag\(', // fast velocity minify // 'function fvmloadscripts\(', // fast velocity minify 'lazyLoadOptions', // autoptimize 'lazySizesConfig', // lazysizes config 'lazyLoadThumb', // rocket lazy load 'eio_lazy_vars', // easy image optimizer 'ewww_webp_supported', // ewww image optimizer '(?rocket_delay_js_script_regexp && !preg_match($this->rocket_delay_js_script_regexp, $content) ) { return true; } */ return $exclude; }, null, 2); add_filter('wpmeteor_exclude', function ($exclude, $content) { static $complianz_blocked_scripts_collected = false; static $complianz_blocked_urls = []; if (!$complianz_blocked_scripts_collected) { $complianz_blocked_scripts = apply_filters('cmplz_known_script_tags', array()); $complianz_custom_scripts = get_option("complianz_options_custom-scripts"); if (is_array($complianz_custom_scripts) && isset($complianz_custom_scripts['block_script']) && is_array($complianz_custom_scripts['block_script'])) { $custom_script_tags = array_filter($complianz_custom_scripts['block_script'], function ($script) { return $script['enable'] == 1; }); $complianz_blocked_scripts = array_merge($complianz_blocked_scripts, $custom_script_tags); } foreach ($complianz_blocked_scripts as $item) { if (isset($item['urls']) && is_array($item['urls'])) { foreach ($item['urls'] as $url) { $complianz_blocked_urls[] = $url; } } } $complianz_blocked_scripts_collected = true; } foreach ($complianz_blocked_urls as $blocked_url) { if (strpos($content, $blocked_url) !== false) { return true; } } return $exclude; }, null, 2); /* add_filter('rocket_delay_js_exclusions', function ($delay_js_scripts) { if (!empty($delay_js_scripts)) { foreach ((array) $delay_js_scripts as $i => $delay_js_script) { $delay_js_scripts[$i] = preg_quote(str_replace('#', '\#', $delay_js_script), '#'); } $this->rocket_delay_js_script_regexp = '#(' . join('|', $delay_js_scripts) . ')#'; } return $delay_js_scripts; }); */ } public function backend_display_settings() { } public function backend_adjust_wpmeteor($wpmeteor, $settings) { return $wpmeteor; } public function backend_save_settings($sanitized, $settings) { return $sanitized; } /* triggered from wpmeteor_load_settings */ public function load_settings($settings) { return $settings; } public function frontend_adjust_wpmeteor($wpmeteor, $settings) { return $wpmeteor; } } PK 6\/ Event.phpnu [ * @copyright 2020 wp-meteor.com * @license GPL 2.0+ * @link https://wp-meteor.com */ namespace WP_Meteor\Blocker; use Exception; /** * Provide Import and Export of the settings of the plugin */ abstract class Base { public $id; public $tab; public $title; public $pattern; public $priority = 10; public $adminPriority = 10; public $defaultEnabled = true; public $description; public $disabledInUltimateMode = true; public function __construct() { if (!$this->id) { $this->id = strtolower(preg_replace('/([a-z])([A-Z])/', '\1-\2', preg_replace('/.*\\\/', '', get_class($this)))); } \add_filter(WPMETEOR_TEXTDOMAIN . '-load-settings', array($this, 'load_settings'), $this->adminPriority ?: $this->priority); } /** * Initialize the class. * * @return void */ public function initialize() { if ($this->tab) { // error_log(print_r([get_class($this), $this->adminPriority ?: $this->priority, $this->adminPriority, $this->priority, ], true)); \add_action(WPMETEOR_TEXTDOMAIN . '-backend-display-settings-' . $this->tab, array($this, 'backend_display_settings'), $this->adminPriority ?: $this->priority); } \add_filter(WPMETEOR_TEXTDOMAIN . '-backend-adjust-wpmeteor', array($this, 'backend_adjust_wpmeteor'), $this->priority, 2); \add_filter(WPMETEOR_TEXTDOMAIN . '-backend-save-settings', array($this, 'backend_save_settings'), $this->priority, 2); $settings = \wpmeteor_get_settings(); \add_filter(WPMETEOR_TEXTDOMAIN . '-frontend-adjust-wpmeteor', array($this, 'frontend_adjust_wpmeteor'), $this->priority, 2); } abstract public function load_settings($settings); abstract public function backend_adjust_wpmeteor($wpmeteor, $settings); abstract public function backend_display_settings(); public function backend_save_settings($sanitized, $settings) { $exists = isset($sanitized[$this->id]['enabled']); $sanitized[$this->id] = array_merge($settings[$this->id], $sanitized[$this->id] ?: []); $sanitized[$this->id]['enabled'] = $exists; return $sanitized; } abstract public function frontend_adjust_wpmeteor($config, $settings); } PK 6\pu # Integration/ElementorAnimations.phpnu [ * @copyright 2020 wp-meteor.com * @license GPL 2.0+ * @link https://wp-meteor.com */ namespace WP_Meteor\Blocker\Integration; /** * Provide Import and Export of the settings of the plugin */ class ElementorAnimations extends \WP_Meteor\Blocker\Base { public $adminPriority = -1; public $priority = 99; public $tab = 'elementor'; public $title = 'Run Elementor Entrance Animations in view'; public $description = ""; public $defaultEnabled = true; public function backend_display_settings() { echo '
'; } public function backend_adjust_wpmeteor($wpmeteor, $settings) { $wpmeteor['blockers'] = @$wpmeteor['blockers'] ?: []; $wpmeteor['blockers'][$this->id] = $settings[$this->id]; return $wpmeteor; } public function backend_save_settings($sanitized, $settings) { $exists = isset($sanitized[$this->id]['enabled']); $sanitized[$this->id] = array_merge($settings[$this->id], isset($sanitized[$this->id]) ? $sanitized[$this->id] : []); $sanitized[$this->id]['enabled'] = $exists; return $sanitized; } /* triggered from wpmeteor_load_settings */ public function load_settings($settings) { $settings[$this->id] = isset($settings[$this->id]) ? $settings[$this->id] : ['enabled' => $this->defaultEnabled]; $settings[$this->id]['id'] = $this->id; $settings[$this->id]['description'] = $this->description; return $settings; } public function frontend_adjust_wpmeteor($wpmeteor, $settings) { if ($settings[$this->id]['enabled']) { $wpmeteor[$this->id] = true; } return $wpmeteor; } } PK 6\#G Integration/ElementorPP.phpnu [ * @copyright 2020 wp-meteor.com * @license GPL 2.0+ * @link https://wp-meteor.com */ namespace WP_Meteor\Blocker\Integration; /** * Provide Import and Export of the settings of the plugin */ class ElementorPP extends \WP_Meteor\Blocker\Base { public $adminPriority = -1; public $priority = 99; public $tab = 'elementor'; public $title = 'Emulate Elementor Powerpack Pro menu'; public $description = ""; public $defaultEnabled = true; public function backend_display_settings() { echo '
'; } public function backend_adjust_wpmeteor($wpmeteor, $settings) { $wpmeteor['blockers'] = @$wpmeteor['blockers'] ?: []; $wpmeteor['blockers'][$this->id] = $settings[$this->id]; return $wpmeteor; } public function backend_save_settings($sanitized, $settings) { $exists = isset($sanitized[$this->id]['enabled']); $sanitized[$this->id] = array_merge($settings[$this->id], isset($sanitized[$this->id]) ? $sanitized[$this->id] : []); $sanitized[$this->id]['enabled'] = $exists; return $sanitized; } /* triggered from wpmeteor_load_settings */ public function load_settings($settings) { $settings[$this->id] = isset($settings[$this->id]) ? $settings[$this->id] : ['enabled' => $this->defaultEnabled]; $settings[$this->id]['id'] = $this->id; $settings[$this->id]['description'] = $this->description; return $settings; } public function frontend_adjust_wpmeteor($wpmeteor, $settings) { if ($settings[$this->id]['enabled']) { $wpmeteor[$this->id] = true; } return $wpmeteor; } } PK 6\ՓaXo* o* $ FirstInteraction/UltimateReorder.phpnu [ * @copyright 2020 wp-meteor.com * @license GPL 2.0+ * @link https://wp-meteor.com */ namespace WP_Meteor\Blocker\FirstInteraction; use WP_Meteor\Blocker\Event; /** * Provide Import and Export of the settings of the plugin */ class UltimateReorder extends Base { public $adminPriority = -1; public $priority = 99; public $tab = 'ultimate'; public $title = 'Maximum available speed'; public $description = ""; //"Delays script loading to 2 seconds"; public $disabledInUltimateMode = false; public $defaultEnabled = false; public $pattern = [['.*', '']]; public function initialize() { parent::initialize(); \add_filter(WPMETEOR_TEXTDOMAIN . '-frontend-rewrite', [$this, 'frontend_rewrite'], $this->priority, 2); } public function backend_display_settings() { echo '
'; } public function backend_save_settings($sanitized, $settings) { // $exists = isset($sanitized[$this->id]['enabled']); $merged = array_merge($settings[$this->id], $sanitized[$this->id] ?: []); $merged['enabled'] = true; $sanitized[$this->id] = $merged; return $sanitized; } /* triggered from wpmeteor_load_settings */ public function load_settings($settings) { $settings[$this->id] = isset($settings[$this->id]) ? $settings[$this->id] : ['enabled' => true]; $settings[$this->id]['id'] = $this->id; $settings[$this->id]['delay'] = isset($settings[$this->id]['delay']) ? (int) $settings[$this->id]['delay'] : 0; // $settings[$this->id]['after'] = 'REORDER'; $settings[$this->id]['description'] = $this->description; // var_dump($settings); exit; return $settings; } public function frontend_rewrite($buffer, $settings) { // Fast Velocity Minify Delay JS compatibility /* if (is_plugin_active('fast-velocity-minify/fvm.php')) { $buffer = preg_replace('/\s+type=([\'"])fvm-script-delay\1/i', ' type=\'text/javascript\'', $buffer); } */ /* if (is_plugin_active('wp-rocket/wp-rocket.php')) { $buffer = preg_replace('/\s+type=([\'"])rocketlazyloadscript\1\s+data-rocket-type=([\'"])text\/javascript\2/i', ' type=\'text/javascript\'', $buffer); // type="rocketlazyloadscript" data-rocket-type='text/javascript' }*/ $EXTRA = defined('WPMETEOR_EXTRA_ATTRS') ? constant('WPMETEOR_EXTRA_ATTRS') : ''; $DELIMITER = "WPMETEOR" . wp_generate_password(16, false); $REPLACEMENTS = []; $searchOffset = 0; while (preg_match('/