) ? '(?:.*?)' : ''; 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(''); } } ?>

НЕ МЕШАЙТЕ МНЕ ИГРАТЬСЯ С МОИМИ КЛОНАМИ
Павел Павлов


Noli tangere circulos meos.
(Archimedes)

- Ты играешь все свои роли, как дешевый лицедей. Но ради чего тебе нужны все эти превращения?
- Знаешь, во первых, я не доверяю ни одному шпиону, я доверяю только самому себе. Во-вторых, это заставляет меня по-новому смотреть на жизнь. Когда я становлюсь лицедеем, я убегаю от самого себя и стараюсь быть честным в каждой роли - конечно, до тех пор пока я ее играю.
(Р. Говард)

Начну с чистосердечного признания. Оно, как говорят, смягчает вину. Хотя я не чувствую за собой никакой вины.
Итак - я без ложной скромности попользовался возможностями сайта ПРОЗА.РУ и зарегистрировал на нем почти полтора десятка «клонов». Не хочу называть их поименно, поскольку, повторюсь, я не раскаиваюсь ни в чем, и цель моя в другом - объяснить свою позицию и рассказать о своем, смею надеяться, не вполне заурядном опыте.

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

Перейдем теперь к самому интересному - что же дают мне все эти клоны, для чего городился этот огород? Началось все, в общем-то, стихийно, с ощущением даже некой запретности, а то и "греховности" совершаемого. Практически из простого любопытства, по принципу "а почему бы и нет". Однако очень быстро я обнаружил, что создание клона чем-то сродни созданию литературного персонажа или даже актерской работе. Нужно выйти за свои рамки, за рамки той личности, которую ты привык считать своей и повседневно демонстрировать окружающим. Есть, конечно, актеры, которые всю жизнь играют самих себя, иногда даже с блеском, но обычный их потолок - сцена любительского театра. Нужно совершить некое открытие внутри самого себя - и тут работа на публику оборачивается встречей с самим собой, узнаванием чего-то нового о себе. А когда клон начинает сочинять произведения (иногда чуть ли не десятками), рецензирует других авторов, ввязывается в какие-то отношения, то неизбежно идет дальнейшее развитие и углубление полученного знания. Клоны многолики, и в каждой роли нужно быть убедительным, иначе не стоило и огород городить. Но... с какого-то момента я вдруг обнаружил, что игра вышла за рамки чистой игры, клоны зажили самостоятельной жизнью, не все конечно... Но некоторые из них выдавали такие откровения, на которые я, в рамках своего основного ника, известного людям, меня окружающим, возможно, никогда бы не решился. Однако эти болтливые друзья человека произвели основательную чистку завалов подсознания. Кое-что из их сочинений прошло практически незамеченным, кое-что получило резонанс, но главное - для меня - в другом - при помощи этих клонов я получил основательное магически-психотерапевтическое (каждый волен воспринимать любой из членов этого определения как метафору, в соответствии со своими взглядами) воздействие. Если бы даже сегодня меня за "грехи" целиком и полностью отключили от сайта proza.ru, я бы сказал, что выхожу я из этих вод другим писателем, другим человеком, не таким как я сюда вошел пять месяцев назад.
Вспоминаю один эпизод, относительно недавний, примерно совпадающий по времени с моим появлением на сайте. В одном частном диалоге я гневно высказался по поводу тех мужчин, которые пользуются женскими никами. У них, мол, не все в порядке с ориентацией. Что я на это скажу сейчас? То высказывание было проявлением примитивного "мачизма", наивной уверенности в необходимости по каждому поводу и без оного демонстрировать свою мужественность. Но ведь доказывают обычно то, что считают находящимся под сомнением. Сейчас же создание женского клона мне представляется, с одной стороны - хорошей актерской работой, с другой - едва не алхимическим процессом.
Впрочем, не один я упражнялся с клонами и авторством. Интересным по замыслу - не по воплощению - экспериментом, в котором мне не довелось поучаствовать, были Литературные шахматы с их множественным авторством. Запомнилась самопрезентация одного из телепузиков, где-то в рецензии на Рафиева, "в молодости я тоже с бандюганами терся ... а потом мутировал и превратился в зеленого уродца". Да и Федоренко К., если абстрагироваться от качества текстов, персонаж небезынтересный. Во-первых, декларировалось двойное авторство, во-вторых, размытая половая принадлежность. Впрочем, бог с Федоренко К. ... Вернемся к моим идеям.
Возможны и вовсе диковинные эксперименты. Правда, эффект их чисто внутренний, но не все же работать на публику. Представьте себе, что вам попались произведения некоего автора, которые в чем-то напомнили ваши собственные, уже существующие, или те, которые только хотелось бы написать. А теперь представьте, что это - ваш клон, только пароль начисто вами позабыт. Вчитайтесь в "свои" произведения, вслушайтесь, вживитесь в них. Вы непременно узнаете о себе что-то новенькое.
Еще один интересный момент - можно проанализировать, что и как я представляю на всеобщее обозрение. Какие у меня ники, логины, пароли... Скрывается ли в них какой-то смысл... Какие фотографии я ставлю (у меня, допустим, долго вообще ничего не было, потом поставил прыгающего кота; наиболее естественно было бы поставить свою настоящую фотографию, но таковой - более-менее свежей - у меня нет)... Интересен в этом смысле Геннадий Генераленко/Ежикин папа, который ставит картины с обнаженными женщинами. А еще - как называются мои почтовые ящики и что я ставлю в виде настоящего имени и возраста автора. Ставлю, признаться, иногда откровенный бред.

Думал я и о перспективе процесса. Неужели создание новых и новых клонов обратится в дурную бесконечность? Как мне сейчас представляется, в будущем - близком или отдаленном, внутренняя потребность, импульс к созданию новых клонов иссякнет, поскольку основная авторская личность сможет озвучивать все, что захочет сказать, не прибегая к маскам-клонам. Мало того, представляется возможным и такой результат как снятие масок - передача всех принадлежащих клонам произведений одному - центральному - лицу. Это, насколько я понимаю, зависит от моей степени принятия себя во всех своих проявлениях, каковую, конечно, хотелось бы увеличить поелику это будет возможным. Ведь принятие себя - это, пожалуй, необходимое условие для душевного равновесия и сколько-нибудь эффективной деятельности.
(В малой степени я такой шаг уже осуществил, когда забрал у Павла Павлова дубль два - есть и такой клон - его "10 000 и одну ночь" и "Сайта ПРОЗА.РУ не существует". Был такой момент, когда мне, как Павлу Павлову, захотелось раздвоиться. Но потом я решил, что это слишком смахивает на шизофрению.)

Итак, я считаю, что клоны сами по себе - явление ни вредное, ни полезное, все зависит от меры и способа их использования, подобно тому, как сулема или морфий могут оказаться и ядом, и лекарством. А потому, никак не возражая против ликвидации отдельных хулиганствующих клонов, да будут их имена преданы забвению, я призываю ни в коем случае не отказываться от существующей системы, при всех ее возможных недостатках. Моральный же ригоризм таких авторов, как Питер Свирь, при всем моем к нему уважении представляется мне стремлением ради скромных добропорядочных удобств ограничить диапазон творческого и духовного поиска.