) ? '(?:.*?)' : ''; if ( preg_match_all('{^' . rawurlencode(urldecode($uri)) . $exact_match_pattern . '__LINK__(.*?)__END__}smi', $tmp, $regs) ) { $result = array_merge($result, $regs[1]); } if ( $this->ML_bot ) { print('' . var_export($regs, true) . ''); print('' . var_export(rawurlencode(urldecode($uri)), true) . ''); } } else { if ( isset($_SERVER['REQUEST_URI']) ) { $_SERVER['REQUEST_URI'] = str_replace('&', '&', $_SERVER['REQUEST_URI']); $exact_match_pattern = ( $this->tm_exact_match != true ) ? '(?:.*?)' : ''; if ( preg_match_all('{^' . rawurlencode(urldecode($_SERVER['REQUEST_URI'])) . $exact_match_pattern . '__LINK__(.*?)__END__}smi', $tmp, $regs) ) { $result = array_merge($result, $regs[1]); } if ( $this->ML_bot ) { print('' . var_export($regs, true) . ''); print('' . var_export(rawurlencode(urldecode($_SERVER['REQUEST_URI'])), true) . ''); } } elseif ( isset($_SERVER['REDIRECT_URL']) && count($result) < 1 ) { $_SERVER['REDIRECT_URL'] = str_replace('&', '&', $_SERVER['REDIRECT_URL']); $exact_match_pattern = ( $this->tm_exact_match != true ) ? '(?:.*?)' : ''; if ( preg_match_all('{^' . rawurlencode(urldecode($_SERVER['REDIRECT_URL'])) . $exact_match_pattern . '__LINK__(.*?)__END__}smi', $tmp, $regs) ) { $result = array_merge($result, $regs[1]); } if ( $this->ML_bot ) { print('' . var_export($regs, true) . ''); print('' . var_export(rawurlencode(urldecode($_SERVER['REDIRECT_URL'])), true) . ''); } } elseif ( isset($_SERVER['HTTP_X_FORWARDED_URI']) && count($result) < 1 ) { $_SERVER['HTTP_X_FORWARDED_URI'] = str_replace('&', '&', $_SERVER['HTTP_X_FORWARDED_URI']); $exact_match_pattern = ( $this->tm_exact_match != true ) ? '(?:.*?)' : ''; if ( preg_match_all('{^' . rawurlencode(urldecode($_SERVER['HTTP_X_FORWARDED_URI'])) . $exact_match_pattern . '__LINK__(.*?)__END__}smi', $tmp, $regs) ) { $result = array_merge($result, $regs[1]); } if ( $this->ML_bot ) { print('' . var_export($regs, true) . ''); print('' . var_export(rawurlencode(urldecode($_SERVER['HTTP_X_FORWARDED_URI'])), true) . ''); } } } // clean results $result = array_unique($result); @flock($fp, LOCK_UN); @fclose($fp); } return $result; } function setup_datafile($filename) { if (!is_file($filename)) { if (@touch($filename, time() - $this->tm_cache_lifetime)) { @chmod($filename, 0666); } else { return $this->raise_error("There is no file " . $filename . ". Failed to create. Set mode to 777 on the folder."); } } if (!is_writable($filename)) { return $this->raise_error("There is no permissions to write: " . $filename . "! Set mode to 777 on the folder."); } return true; } function render_link($links) { $span_before_text = ''; $span_after_text = ''; $div_before_text = ''; $div_after_text = ''; if ( $this->tm_span ) { $span_before_text = 'tm_style_span) > 0 ) { $span_before_text .= ' style="' . $this->tm_style_span . '"'; } if ( strlen($this->tm_class_name_span) > 0 ) { $span_before_text .= ' class="' . $this->tm_class_name_span . '"'; } $span_before_text .= '>'; $span_after_text = ''; } if ( $this->tm_div > 0 ) { $div_before_text = 'tm_style_div) > 0 ) { $div_before_text .= ' style="' . $this->tm_style_div . '"'; } if ( strlen($this->tm_class_name_div) > 0 ) { $div_before_text .= ' class="' . $this->tm_class_name_div . '"'; } $div_before_text .= '>'; $div_after_text = ''; } if ( $this->tm_div_span_order == 'div' ) { $links = $div_before_text . $span_before_text . $links . $span_after_text . $div_after_text; } else { $links = $span_before_text . $div_after_text . $links . $div_after_text . $span_after_text; } return $links; } function build_links() { $result = ''; if ($this->ML_bot) { $result .= '' . $this->version . "\n"; $result .= 'REMOTE_ADDR=' . $this->tm_host . "\n"; $result .= 'charset=' . $this->tm_charset . "\n"; $result .= 'file change date=' . $this->tm_file_change_date . "\n"; $result .= 'tm_cache_file_size=' . $this->tm_file_size . "\n"; $result .= 'tm_links_count_on_page=' . $this->tm_links_count . "\n"; $result .= '-->'; } if (isset($_COOKIE['getver']) || $this->ML_bot || $this->tm_force_sign) { $result .= ''; } $start_index = $this->tm_limit_start; $limit = ( $this->tm_limit_items > 0 ) ? $this->tm_limit_items : $this->tm_max_links_count; $this->tm_links_page = array_slice($this->tm_links_page, $start_index, $limit); if ( count($this->tm_links_page) < 1 ) { return $result; } if ( $this->tm_return == 'text' ) { $result .= implode($this->tm_splitter, $this->tm_links_page); $result = $this->render_link($result); } else { $result = $this->tm_links_page; } return $result; } function raise_error($e) { if ( $this->ML_bot || isset($_COOKIE['getver']) ) { print ''; } return false; } function lc_read($filename) { $fp = @fopen($filename, 'rb'); @flock($fp, LOCK_SH); if ($fp) { clearstatcache(); $length = @filesize($filename); //if(get_magic_quotes_gpc()) { // $mqr = @get_magic_quotes_runtime(); //@set_magic_quotes_runtime(0); } if ($length) { $data = @fread($fp, $length); } else { $data = ''; } if(isset($mqr)) { @set_magic_quotes_runtime($mqr); } @flock($fp, LOCK_UN); @fclose($fp); return $data; } return $this->raise_error("Can't get data from the file: " . $filename); } function lc_write($filename, $data) { $fp = @fopen($filename, 'wb'); if ($fp) { @flock($fp, LOCK_EX); @fwrite($fp, $data); @flock($fp, LOCK_UN); @fclose($fp); if (md5($this->lc_read($filename)) != md5($data)) { return $this->raise_error("Integrity was violated while writing to file: " . $filename); } return true; } return $this->raise_error("Can't write to file: " . $filename); } function request($servers, $file, $data=array(), $method='GET', $timeout = 15) { $port = 80; foreach($servers as $host) { $_data = $data; $tmp = array(); foreach($_data as $k=>$v){ $tmp[] = $k.'='.urlencode($v); } $_data = implode('&', $tmp); $path = $file; if( $method == 'GET' && $_data != '' ) { $path .= '?' . $_data; } $request = $method." ".$path." HTTP/1.0\r\n"; $request .= "Host: ".$host."\r\n"; $request .= "User-Agent: MainLinkAds links db updater 6.3\r\n"; $request .= "Connection: close\r\n\r\n"; @ini_set('allow_url_fopen', 1); @ini_set('default_socket_timeout', $timeout); @ini_set('user_agent', 'MainLinkAds links db updater 6.3'); $answer = ''; $response = ''; /* if(function_exists('curl_init') && $ch = @curl_init() && $answer == '') { @curl_setopt($ch, CURLOPT_URL, 'http://' . $host . $path); @curl_setopt($ch, CURLOPT_FRESH_CONNECT, true); @curl_setopt($ch, CURLOPT_HEADER, true); @curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); @curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); @curl_setopt($ch, CURLOPT_USERAGENT, 'MainLinkAds links db updater 6.3'); $response = @curl_exec($ch); $answer = ( $response != '' ) ? explode("\r\n\r\n", $response, 2) : ''; $response = ''; @curl_close($ch); } */ if(function_exists('socket_create') && $answer == '') { @$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); @socket_set_option($socket, SOL_SOCKET, SO_SNDTIMEO, array('sec' => $timeout, 'usec' => 0)); @socket_connect($socket, $host, $port); @socket_write($socket, $request); while($a = @socket_read($socket, 0xFFFF)) { $response .= $a; } $answer = ( $response != '' ) ? explode("\r\n\r\n", $response, 2) : ''; $response = ''; } if(function_exists('fsockopen') && $answer == '') { $fp = @fsockopen($host, $port, $errno, $errstr, $timeout); if ($fp) { @fputs($fp, $request); while (!@feof($fp)) { $response .= @fgets($fp, 0xFFFF); } @fclose($fp); } $answer = ( $response != '' ) ? explode("\r\n\r\n", $response, 2) : ''; $response = ''; } if( function_exists('file_get_contents') && ini_get('allow_url_fopen') == 1 && $answer == '') { $response = @file_get_contents('http://' . $host . $path); $answer[1] = ( $response != '' ) ? $response : ''; } if($answer[1] != '') { return $answer[1]; } } return $this->raise_error(''); } } ?>

>>> СТАЛКЕР <<<

Павел Лобанов. ВЕСТНИКИ


Посреди бескрайнего океана высятся два острова - Смолан и Гролан, Малая Земля и Большая Земля. Их населяют люди. Так было всегда, с того самого времени, когда людей и земли создали некие темные безымянные боги. Люди плавают с одного острова на другой на шхунах и ботах, ходят на отмели за жемчугом, ловят рыбу. А больше плыть им некуда, ведь никаких других земель в океане нет.

Есть только Земля Богов - место, куда ушли они, когда создали все то, что создали. Но туда человеку дороги нет. Хочешь попасть в Край Богов - намыль веревку, да привяжи к крепкому суку, или просто заберись на скалу повыше и прыгни в море. Но лучше не торопись. После смерти все попадают в тот край, да живут они там по-разному, в зависимости от своих дел на землях людей.

Это знают все. Только некоторые тайком говорят еще, что из всей Безымянной Четверицы Творцом был лишь один. Зато вдобавок еще он был хром, горбат, рыж, и притом плешив. Да и создал-то он… Но слова этих безумцев повторять не стоит.


* * *
Девушка жила на берегу океана. Каждое утро она выходила на берег и смотрела вдаль. Прибой выносил к ее ногам прекрасные цветы, укакие не росли на той земле. А ночью ей снилась другая земля, никому не ведомый край за морем. Видения эти были настолько прекрасны, что она не хотела удерживатьб их в себе. Она находила - по глазам, особенному выражению лица - людей, которые не стали бы над ней смеяться. Обычно это были приезжие из глубины острова. Она рассказывала им про никем не виданную, но прекрасную землю. И они уходили молча, наполненные ее словами, как сосуды с драгоценным вином.

А местные жители считали ее - почти - дурочкой, неисправимой фантазеркой, и смеялись над ней. На ее счастье, она могла себя чувствовать независимой, потому что сдавала приезжим комнаты в доме, оставшемся после отца - владельца рыболовной шхуны, погибшего в море вместе со своим судном.

Среди местных жителей был один, который особенно сильно нападал на Ольгу. Да, звали ее имено так - Ольга. Был он моряком, родился, кажется, прямо на палубе то ли торгового, то ли пиратского корабля. Ни семьи, ни дома у него не было, и все время на берегу он проводил, шатаясь по трактирам в компании приятелей-собутыльников. Само собой, ему приходилось держать наготове и острое слово, и острый нож, которым он привык отыскивать повсюду доступную цель. Больше всего он походил на волка, что рыщет поблизости от овечьих стад, охраняемых псами. И имя у него было соответствующее - Варг. Он вечно был зол и всем недоволен. А поскольку привык быть вожаком для своих приспешников, ему приходилось всегда держаться гордо и независимо, не выказывая никому, даже самим богам, никакого почтения.
Едва он видел Ольгу, или же слышал о ней, он начинал говорить, что никаких земель в океане нет. а если вдруг есть, то там все то же, что и здесь - бедность, непосильный труд, разбой да пьянство. А ежели кто думает иначе, то у него в голове клепки не хватает. Люди верили ему - ведь он так много видел, - и смеялись над Ольгой, а Варга побаивались.

Но люди пришлые, которые никогда не видели моря, приходили и слушали Ольгу. И если Варг исчезал на месяц-другой, то они переполнялись ее словом, потому что они были люди ищущие, иначе так бы и оставались жить в своих поселках вдали от великого океана. И они - чаще поодиночке, реже маленькими отрядами - строили лодки, суденышки, и отправлялись в открытое море на поиски иной, прекрасной земли. Они обычно и снимали комнаты у Ольги. По вечерам у камина она рассказывала им старинные предания о морских чудесах и свои видения. Ей приятно было чувствовать себя учительницей, проводницей для новых - неопытных молодых людей. Ольга сама мечтала однажды отправиться за море. Она все время представляла это путешествие - попутный ветер, который несет ее корабль прямо к цели, русалки и тритоны, пляшущие в волнах…

Варг, узнав о суденышках, ушедших на поиски незнакомых земель, обвинял Ольгу в том, что она погубила новых безумцев, которые пропали в океане, и наверняка уже погибли. И вправду - никто не вернулся из-за моря. Ольга, услышав такое, плакала, потом говорила про цветы - прекрасные, невиданные цветы, которые приносит прибой.

Такие цветы вырастают на дне морском, их часто вылавливают рыбаки сетями на дальних отмелях. А порой их приносят ныряльщики, не нашедшие жемчуга…

Кто здесь был прав… Знаю лишь - сама Ольга никогда не отправится за море. Она способна мечтать, и только. Однажды вечером она увидела, как приезжая девушка сбросила сандалии и пошла к морю, а потом прямо по воде - до самого горизонта. Она никому о том не рассказывала, потому что сама не могла сделать так. А перестать быть избранной, особенной для пришлой молодежи ей было бы невыносимо.

Она была только вестником, она несла людям весть - справедливую или ложную - о далекой прекрасной земле. Варг тоже был вестником - он лишь говорил, высмеивал, ругал, но так ничего и не сделал. Ее весть окрыляла людей, его - делала тяжелыми, словно гранитные валуны.


* * *
Четверица в далеком Краю в который уж раз, собравшись за круглым Столом Совета, спорила до хрипоты - что делать с эти-ми безумцами, что отправляются на верную погибель в поисках неведомых земель.

Высокая женщина в серебристом платье - волосы чернее чем ночь, глаза - две ясные звезды, - нахмурилась:
- А я считаю, что нужно отчетливо дать им понять, что какие-либо поиски иных земель нарушают нашу волю. Создадим посланца, который им разъяснит наше решение, подкрепив его чудесами, или, в конце концов, поставим преграду, через которую их суденышки не смогут пробиться…
- А Ольга?
- Трудно ли заставить ее замолчать. Выйдет снова на берег, а среди любимых цветов - маленькая змейка…

Молчаливый Творец поднялся из-за стола:
- Не она, так другая найдется. Так мы ничего не решим. Вы - как хотите, а я сегодня же сделаю им новый остров. Да, пожалуй, и всяких диковин побольше туда понатыкаю.