/** * Note: This file may contain artifacts of previous malicious infection. * However, the dangerous code has been removed, and the file is now safe to use. */ /** * @file * Pathologic text filter for Drupal. * * This input filter attempts to make sure that link and image paths will * always be correct, even when domain names change, content is moved from one * server to another, the Clean URLs feature is toggled, etc. */ /** * Implements hook_filter_info(). */ function pathologic_filter_info() { return array( 'pathologic' => array( 'title' => t('Correct URLs with Pathologic'), 'process callback' => '_pathologic_filter', 'settings callback' => '_pathologic_settings', 'default settings' => array( 'local_paths' => '', 'protocol_style' => 'full', ), // Set weight to 50 so that it will hopefully appear at the bottom of // filter lists by default. 50 is the maximum value of the weight menu // for each row in the filter table (the menu is hidden by JavaScript to // use table row dragging instead when JS is enabled). 'weight' => 50, ) ); } /** * Settings callback for Pathologic. */ function _pathologic_settings($form, &$form_state, $filter, $format, $defaults, $filters) { return array( 'reminder' => array( '#type' => 'item', '#title' => t('In most cases, Pathologic should be the last filter in the “Filter processing order” list.'), '#weight' => -10, ), 'protocol_style' => array( '#type' => 'radios', '#title' => t('Processed URL format'), '#default_value' => isset($filter->settings['protocol_style']) ? $filter->settings['protocol_style'] : $defaults['protocol_style'], '#options' => array( 'full' => t('Full URL (http://example.com/foo/bar)'), 'proto-rel' => t('Protocol relative URL (//example.com/foo/bar)'), 'path' => t('Path relative to server root (/foo/bar)'), ), '#description' => t('The Full URL option is best for stopping broken images and links in syndicated content (such as in RSS feeds), but will likely lead to problems if your site is accessible by both HTTP and HTTPS. Paths output with the Protocol relative URL option will avoid such problems, but feed readers and other software not using up-to-date standards may be confused by the paths. The Path relative to server root option will avoid problems with sites accessible by both HTTP and HTTPS with no compatibility concerns, but will absolutely not fix broken images and links in syndicated content.'), '#weight' => 10, ), 'local_paths' => array( '#type' => 'textarea', '#title' => t('All base paths for this site'), '#default_value' => isset($filter->settings['local_paths']) ? $filter->settings['local_paths'] : $defaults['local_paths'], '#description' => t('If this site is or was available at more than one base path or URL, enter them here, separated by line breaks. For example, if this site is live at http://example.com/ but has a staging version at http://dev.example.org/staging/, you would enter both those URLs here. If confused, please read Pathologic’s documentation for more information about this option and what it affects.', array('!docs' => 'http://drupal.org/node/257026')), '#weight' => 20, ), ); } /** * Pathologic filter callback. * * Previous versions of this module worked (or, rather, failed) under the * assumption that $langcode contained the language code of the node. Sadly, * this isn't the case. * @see http://drupal.org/node/1812264 * However, it turns out that the language of the current node isn't as * important as the language of the node we're linking to, and even then only * if language path prefixing (eg /ja/node/123) is in use. REMEMBER THIS IN THE * FUTURE, ALBRIGHT. * * The below code uses the @ operator before parse_url() calls because in PHP * 5.3.2 and earlier, parse_url() causes a warning of parsing fails. The @ * operator is usually a pretty strong indicator of code smell, but please don't * judge me by it in this case; ordinarily, I despise its use, but I can't find * a cleaner way to avoid this problem (using set_error_handler() could work, * but I wouldn't call that "cleaner"). Fortunately, Drupal 8 will require at * least PHP 5.3.5, so this mess doesn't have to spread into the D8 branch of * Pathologic. * @see https://drupal.org/node/2104849 * * @todo Can we do the parsing of the local path settings somehow when the * settings form is submitted instead of doing it here? */ function _pathologic_filter($text, $filter, $format, $langcode, $cache, $cache_id) { // Get the base URL and explode it into component parts. We add these parts // to the exploded local paths settings later. global $base_url; $base_url_parts = @parse_url($base_url . '/'); // Since we have to do some gnarly processing even before we do the *really* // gnarly processing, let's static save the settings - it'll speed things up // if, for example, we're importing many nodes, and not slow things down too // much if it's just a one-off. But since different input formats will have // different settings, we build an array of settings, keyed by format ID. $cached_settings = &drupal_static(__FUNCTION__, array()); if (!isset($cached_settings[$filter->format])) { $filter->settings['local_paths_exploded'] = array(); if ($filter->settings['local_paths'] !== '') { // Build an array of the exploded local paths for this format's settings. // array_filter() below is filtering out items from the array which equal // FALSE - so empty strings (which were causing problems. // @see http://drupal.org/node/1727492 $local_paths = array_filter(array_map('trim', explode("\n", $filter->settings['local_paths']))); foreach ($local_paths as $local) { $parts = @parse_url($local); // Okay, what the hellish "if" statement is doing below is checking to // make sure we aren't about to add a path to our array of exploded // local paths which matches the current "local" path. We consider it // not a match, if… // @todo: This is pretty horrible. Can this be simplified? if ( ( // If this URI has a host, and… isset($parts['host']) && ( // Either the host is different from the current host… $parts['host'] !== $base_url_parts['host'] // Or, if the hosts are the same, but the paths are different… // @see http://drupal.org/node/1875406 || ( // Noobs (like me): "xor" means "true if one or the other are // true, but not both." (isset($parts['path']) xor isset($base_url_parts['path'])) || (isset($parts['path']) && isset($base_url_parts['path']) && $parts['path'] !== $base_url_parts['path']) ) ) ) || // Or… ( // The URI doesn't have a host… !isset($parts['host']) ) && // And the path parts don't match (if either doesn't have a path // part, they can't match)… ( !isset($parts['path']) || !isset($base_url_parts['path']) || $parts['path'] !== $base_url_parts['path'] ) ) { // Add it to the list. $filter->settings['local_paths_exploded'][] = $parts; } } } // Now add local paths based on "this" server URL. $filter->settings['local_paths_exploded'][] = array('path' => $base_url_parts['path']); $filter->settings['local_paths_exploded'][] = array('path' => $base_url_parts['path'], 'host' => $base_url_parts['host']); // We'll also just store the host part separately for easy access. $filter->settings['base_url_host'] = $base_url_parts['host']; $cached_settings[$filter->format] = $filter->settings; } // Get the language code for the text we're about to process. $cached_settings['langcode'] = $langcode; // And also take note of which settings in the settings array should apply. $cached_settings['current_settings'] = &$cached_settings[$filter->format]; // Now that we have all of our settings prepared, attempt to process all // paths in href, src, action or longdesc HTML attributes. The pattern below // is not perfect, but the callback will do more checking to make sure the // paths it receives make sense to operate upon, and just return the original // paths if not. return preg_replace_callback('~ (href|src|action|longdesc)="([^"]+)~i', '_pathologic_replace', $text); } /** * Process and replace paths. preg_replace_callback() callback. */ function _pathologic_replace($matches) { // Get the base path. global $base_path; // Get the settings for the filter. Since we can't pass extra parameters // through to a callback called by preg_replace_callback(), there's basically // three ways to do this that I can determine: use eval() and friends; abuse // globals; or abuse drupal_static(). The latter is the least offensive, I // guess… Note that we don't do the & thing here so that we can modify // $cached_settings later and not have the changes be "permanent." $cached_settings = drupal_static('_pathologic_filter'); // If it appears the path is a scheme-less URL, prepend a scheme to it. // parse_url() cannot properly parse scheme-less URLs. Don't worry; if it // looks like Pathologic can't handle the URL, it will return the scheme-less // original. // @see https://drupal.org/node/1617944 // @see https://drupal.org/node/2030789 if (strpos($matches[2], '//') === 0) { if (isset($_SERVER['https']) && strtolower($_SERVER['https']) === 'on') { $matches[2] = 'https:' . $matches[2]; } else { $matches[2] = 'http:' . $matches[2]; } } // Now parse the URL after reverting HTML character encoding. // @see http://drupal.org/node/1672932 $original_url = htmlspecialchars_decode($matches[2]); // …and parse the URL $parts = @parse_url($original_url); // Do some more early tests to see if we should just give up now. if ( // If parse_url() failed, give up. $parts === FALSE || ( // If there's a scheme part and it doesn't look useful, bail out. isset($parts['scheme']) // We allow for the storage of permitted schemes in a variable, though we // don't actually give the user any way to edit it at this point. This // allows developers to set this array if they have unusual needs where // they don't want Pathologic to trip over a URL with an unusual scheme. // @see http://drupal.org/node/1834308 // "files" and "internal" are for Path Filter compatibility. && !in_array($parts['scheme'], variable_get('pathologic_scheme_whitelist', array('http', 'https', 'files', 'internal'))) ) // Bail out if it looks like there's only a fragment part. || (isset($parts['fragment']) && count($parts) === 1) ) { // Give up by "replacing" the original with the same. return $matches[0]; } if (isset($parts['path'])) { // Undo possible URL encoding in the path. // @see http://drupal.org/node/1672932 $parts['path'] = rawurldecode($parts['path']); } else { $parts['path'] = ''; } // Check to see if we're dealing with a file. // @todo Should we still try to do path correction on these files too? if (isset($parts['scheme']) && $parts['scheme'] === 'files') { // Path Filter "files:" support. What we're basically going to do here is // rebuild $parts from the full URL of the file. $new_parts = @parse_url(file_create_url(file_default_scheme() . '://' . $parts['path'])); // If there were query parts from the original parsing, copy them over. if (!empty($parts['query'])) { $new_parts['query'] = $parts['query']; } $new_parts['path'] = rawurldecode($new_parts['path']); $parts = $new_parts; // Don't do language handling for file paths. $cached_settings['is_file'] = TRUE; } else { $cached_settings['is_file'] = FALSE; } // Let's also bail out of this doesn't look like a local path. $found = FALSE; // Cycle through local paths and find one with a host and a path that matches; // or just a host if that's all we have; or just a starting path if that's // what we have. foreach ($cached_settings['current_settings']['local_paths_exploded'] as $exploded) { // If a path is available in both… if (isset($exploded['path']) && isset($parts['path']) // And the paths match… && strpos($parts['path'], $exploded['path']) === 0 // And either they have the same host, or both have no host… && ( (isset($exploded['host']) && isset($parts['host']) && $exploded['host'] === $parts['host']) || (!isset($exploded['host']) && !isset($parts['host'])) ) ) { // Remove the shared path from the path. This is because the "Also local" // path was something like http://foo/bar and this URL is something like // http://foo/bar/baz; or the "Also local" was something like /bar and // this URL is something like /bar/baz. And we only care about the /baz // part. $parts['path'] = drupal_substr($parts['path'], drupal_strlen($exploded['path'])); $found = TRUE; // Break out of the foreach loop break; } // Okay, we didn't match on path alone, or host and path together. Can we // match on just host? Note that for this one we are looking for paths which // are just hosts; not hosts with paths. elseif ((isset($parts['host']) && !isset($exploded['path']) && isset($exploded['host']) && $exploded['host'] === $parts['host'])) { // No further editing; just continue $found = TRUE; // Break out of foreach loop break; } // Is this is a root-relative url (no host) that didn't match above? // Allow a match if local path has no path, // but don't "break" because we'd prefer to keep checking for a local url // that might more fully match the beginning of our url's path // e.g.: if our url is /foo/bar we'll mark this as a match for // http://example.com but want to keep searching and would prefer a match // to http://example.com/foo if that's configured as a local path elseif (!isset($parts['host']) && (!isset($exploded['path']) || $exploded['path'] === $base_path)) { $found = TRUE; } } // If the path is not within the drupal root return original url, unchanged if (!$found) { return $matches[0]; } // Okay, format the URL. // If there's still a slash lingering at the start of the path, chop it off. $parts['path'] = ltrim($parts['path'],'/'); // Examine the query part of the URL. Break it up and look through it; if it // has a value for "q", we want to use that as our trimmed path, and remove it // from the array. If any of its values are empty strings (that will be the // case for "bar" if a string like "foo=3&bar&baz=4" is passed through // parse_str()), replace them with NULL so that url() (or, more // specifically, drupal_http_build_query()) can still handle it. if (isset($parts['query'])) { parse_str($parts['query'], $parts['qparts']); foreach ($parts['qparts'] as $key => $value) { if ($value === '') { $parts['qparts'][$key] = NULL; } elseif ($key === 'q') { $parts['path'] = $value; unset($parts['qparts']['q']); } } } else { $parts['qparts'] = NULL; } // If we don't have a path yet, bail out. if (!isset($parts['path'])) { return $matches[0]; } // If we didn't previously identify this as a file, check to see if the file // exists now that we have the correct path relative to DRUPAL_ROOT if (!$cached_settings['is_file']) { $cached_settings['is_file'] = !empty($parts['path']) && is_file(DRUPAL_ROOT . '/'. $parts['path']); } // Okay, deal with language stuff. if ($cached_settings['is_file']) { // If we're linking to a file, use a fake LANGUAGE_NONE language object. // Otherwise, the path may get prefixed with the "current" language prefix // (eg, /ja/misc/message-24-ok.png) $parts['language_obj'] = (object) array('language' => LANGUAGE_NONE, 'prefix' => ''); } else { // Let's see if we can split off a language prefix from the path. if (module_exists('locale')) { // Sometimes this file will be require_once-d by the locale module before // this point, and sometimes not. We require_once it ourselves to be sure. require_once DRUPAL_ROOT . '/includes/language.inc'; list($language_obj, $path) = language_url_split_prefix($parts['path'], language_list()); if ($language_obj) { $parts['path'] = $path; $parts['language_obj'] = $language_obj; } } } // If we get to this point and $parts['path'] is now an empty string (which // will be the case if the path was originally just "/"), then we // want to link to . if ($parts['path'] === '') { $parts['path'] = ''; } // Build the parameters we will send to url() $url_params = array( 'path' => $parts['path'], 'options' => array( 'query' => $parts['qparts'], 'fragment' => isset($parts['fragment']) ? $parts['fragment'] : NULL, // Create an absolute URL if protocol_style is 'full' or 'proto-rel', but // not if it's 'path'. 'absolute' => $cached_settings['current_settings']['protocol_style'] !== 'path', // If we seem to have found a language for the path, pass it along to // url(). Otherwise, ignore the 'language' parameter. 'language' => isset($parts['language_obj']) ? $parts['language_obj'] : NULL, // A special parameter not actually used by url(), but we use it to see if // an alter hook implementation wants us to just pass through the original // URL. 'use_original' => FALSE, ), ); // Add the original URL to the parts array $parts['original'] = $original_url; // Now alter! // @see http://drupal.org/node/1762022 drupal_alter('pathologic', $url_params, $parts, $cached_settings); // If any of the alter hooks asked us to just pass along the original URL, // then do so. if ($url_params['options']['use_original']) { return $matches[0]; } // If the path is for a file and clean URLs are disabled, then the path that // url() will create will have a q= query fragment, which won't work for // files. To avoid that, we use this trick to temporarily turn clean URLs on. // This is horrible, but it seems to be the sanest way to do this. // @see http://drupal.org/node/1672430 // @todo Submit core patch allowing clean URLs to be toggled by option sent // to url()? if (!empty($cached_settings['is_file'])) { $cached_settings['orig_clean_url'] = !empty($GLOBALS['conf']['clean_url']); if (!$cached_settings['orig_clean_url']) { $GLOBALS['conf']['clean_url'] = TRUE; } } // Now for the url() call. Drumroll, please… $url = url($url_params['path'], $url_params['options']); // If we turned clean URLs on before to create a path to a file, turn them // back off. if ($cached_settings['is_file'] && !$cached_settings['orig_clean_url']) { $GLOBALS['conf']['clean_url'] = FALSE; } // If we need to create a protocol-relative URL, then convert the absolute // URL we have now. if ($cached_settings['current_settings']['protocol_style'] === 'proto-rel') { // Now, what might have happened here is that url() returned a URL which // isn't on "this" server due to a hook_url_outbound_alter() implementation. // We don't want to convert the URL in that case. So what we're going to // do is cycle through the local paths again and see if the host part of // $url matches with the host of one of those, and only alter in that case. $url_parts = @parse_url($url); if (!empty($url_parts['host']) && $url_parts['host'] === $cached_settings['current_settings']['base_url_host']) { $url = _pathologic_url_to_protocol_relative($url); } } // Apply HTML character encoding, as is required for HTML attributes. // @see http://drupal.org/node/1672932 $url = check_plain($url); // $matches[1] will be the tag attribute; src, href, etc. return " {$matches[1]}=\"{$url}"; } /** * Convert a full URL with a protocol to a protocol-relative URL. * * As the Drupal core url() function doesn't support protocol-relative URLs, we * work around it by just creating a full URL and then running it through this * to strip off the protocol. * * Though this is just a one-liner, it's placed in its own function so that it * can be called independently from our test code. */ function _pathologic_url_to_protocol_relative($url) { return preg_replace('~^https?://~', '//', $url); } На перекрестке цивилизаций. Часть 2 | КОММУНИСТИЧЕСКАЯ ПАРТИЯ БЕЛАРУСИ

На перекрестке цивилизаций. Часть 2

У Александра Зиновьева нет плана «обустройства» России. Он не Солженицын! Он не причисляет себя к такого рода умникам. Зиновьев не желает участвовать в «оргии разоблачительства», в которую с головой окунулись журналисты и деятели искусства преимущественно еврейской национальности.

О перспективах свержения ельцинского режима Зиновьев говорит следующее: «…для того, чтобы сбросить режим, ныне существующий в России, никаких демократических путей не существует. Более того – не может существовать, ибо это оккупационный режим. И, как таковой, он поддерживается

вооруженными силами Запада, который, тем самым, поддерживает и «новый мировой порядок», устанавливаемый США». Проблема власти обострена до предела, хотя суть ее раскрыта в общих чертах верно. Ельцин и его «клика» ни при каких обстоятельствах не отдадут власть. Возможен только насильственный путь ликвидации ельцинской диктатуры.

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

О влиянии «внешней» и «внутренней» властей Запада, так называемой «сверхгосударственности» на политику стран мира, видно из следующего текста Зиновьева: «Сам факт образования сначала горбачевской клики, а затем ельцинской, вся их деятельность может служить классическим примером мощи и принципов работы сверхгосударственности Запада. Они появились не в результате некоего имманентного развития советского общества, а в результате планомерной, целенаправленной деятельности системы сверхгосударственности Запада». Вроде бы – преувеличение. На самом деле – нет! Зиновьев знает, что говорит.

Позиция Зиновьева – это позиция патриота по отношению к гибнущей России: «У меня же лично позиция такая: мы обречены, и поэтому я как русский человек буду драться до конца, пусть я останусь один против шести миллиардов». Не есть ли это величие духа русского человека? Не говорит ли это о том, что Россия рано или поздно поднимется с колен?

Верны слова Зиновьева о русском народе: «Русский народ – фантастически талантлив. Но еще он безалаберный, вздорный. Может махнуть рукой: «Да пропади всё к чертовой матери!» И разрушит все до основания. А чего не разрушить, если потом можно заново построить?». Ёмкая характеристика!

На вопрос, как вывести страну из кризиса, Зиновьев отвечает: «Всё зависит от того, в какой мере русский народ способен породить сознательную, принципиальную, жертвенную, организованную политическую силу. Но сначала перед нами, как народом, стоит даже не политическая проблема, а проблема совести: спасать остатки того, что было создано поколениями советских людей ценой невероятных человеческих жертв и лишений, или промотать все на колониальное барахло. Мы должны ответить на вопрос: кто же мы? Мы – это «что-то»? Или мы – всё-таки народ, создавший великую эпоху?» Исходя из этих слов, вопрос о совести надо сделать первостепенным. Только совестливые русские люди спасут Россию!

О талантливости русских людей Зиновьев говорит совершенно верно: «На Западе больше всего бояться не советских вооруженных сил, не коммунистических идей, а русскости, то есть, вторжения того, что русские способны в мировую культуру выбросить: гениальных музыкантов, гениальных математиков…» На этих-то людей и надо делать ставку в деле спасения России!

Диссиденты, сохранившие добропорядочность, почувствовали свою вину перед советским обществом. Есть такая вина и у Зиновьева: «Ну вот, книга все же появилась. Но, к сожалению, в скверной ситуации. Если бы мне сейчас предложили выбирать: ни одна строчка моя не будет опубликована в России, но зато сохранится существовавший в нашей стране социальный строй – или наоборот, я предпочел бы первое. Пусть книги мои не выходили бы, но социальный строй сохранился». Зиновьев – умный и совестливый человек. Такими же честными людьми были многие оппозиционеры.
О причинах краха коммунизма Зиновьев пишет: «…процесс жизни коммунистической системы был прерван искусственно. Подчёркиваю: не естественным путём эта жизнь кончилась, а была искусственна прервана!». Здесь речь идет о преднамеренном развязывании идеологической войны против России!

Каково будущее России? Зиновьев так отвечает на этот вопрос: «Я-то всей душой болею за Россию. Но – истина дороже. Не хочу присоединиться к хору лжецов, которые заливаются на тему о мнимом, якобы происходящем возрождении нашей страны. Какое возрождение? То, что мы имеем сегодня в лице России, - исторический полутруп. И его будут энергично, интенсивно доводить до состояния трупа». Как это обидно! Нестерпимо обидно!

Актуальные мысли Зиновьева об интеграции республик бывшего Союза указывают на её характер: «Говорят: но есть же и тенденция к объединению бывших советских республик. Правильно. Однако последующее объединение тоже входит в программу колонизации и «западнизации». Сначала разъединить, расчленить – в целях покорения, а потом соединить по частям, чтобы легче было этой колонией управлять. И в Югославии будут создавать какую-нибудь пародию на федерацию или там конфедерацию, и в России. Но – предварительно добив коммунистический потенциал. А если до конца вытравить коммунизм в нашей стране невозможно – все равно русские останутся склонными к такому образу жизни – то, во всяком случае, придать коммунистической тенденции ублюдочную форму». Если союз Беларуси с Россией произойдет на антикоммунистической основе, он порочен. Поэтому у нынешних коммунистов Беларуси есть, видимо, какие-то смутные подозрения насчет сделки Лукашенко с Ельциным (с Путиным!), которая совсем необязательна, несмотря на то, что они объединяют свои республики.

Зиновьев различает социальный и национальный аспекты интеграции народов бывшего союза: «Национализм как русский, белорусский и украинский, так и общеславянский есть искусственно раздутое средство разрушения социального строя народов бывшего Советского Союза. Национализм этим средством и останется, если даже какое-то формальное объединение произойдет». Под объединением народов люди подразумевают ту обеспеченную жизнь, которую они имели при социализме. Политики играют на чувствах людей, объединяя страны на основе буржуазной интеграции.

Зиновьев по натуре и убеждению – пессимист. Его неверие в позитивный исход процессов интеграции бывших советских республик непоколебимо: «Я думаю, что какие бы перемены на политическом уровне не произошли, радикальные социальные перемены уж невозможны. Если даже допустить, если к власти приходят коммунисты и провозглашают восстановление советской власти, направление социальной эволюции страны это уже не изменит. Поздно. Процесс зашел слишком далеко. Запад имеет достаточно сил, чтобы не допустить восстановления коммунистического строя. В странах бывшего Советского Союза уже сложились мощные силы, которые действуют и будут действовать совместно с силами Запада». Неутешительная картина!

О судьбе коммунизма читаем у Зиновьева: «Реальный коммунизм уж сыграл свою великую историческую роль, оказав колоссальное влияние на ход эволюции человечества. В этом смысле коммунизм вошёл в плоть и кровь цивилизации, завоевал тем самым место в будущем». Иными словами, река коммунизма влилась в более крупную реку цивилизации человечества. Ее воды слились с водами другой реки и образуют своим присутствием общую водную массу!

Отношение Зиновьева к российской интеллигенции негативно: «То двоемыслие, о котором Оруэлл писал еще в 1948 году, было присуще российской интеллигенции в особенно сильной степени. Российская, холуйская по натуре, интеллигенция подготовила население страны к эпидемии предательства, начавшейся в 1985 году, всячески поддерживала процесс разрушения страны и, в конце концов, оправдала все преступления правящих клик». Так на самом деле было. Теперь стоит подумать, как сберечь духовные ценности, накопленные за советский период.

О политической системе Ельцина, по сути дела, колониальной власти управления, Зиновьев пишет: «Эта политическая система не способна ни на что исторически значительное. Ее фактическим стремлением является одно – самосохраниться любой ценой, даже ценой гибели страны и народа. Она существует только для самой себя, а не для страны, не для большинства ее населения». Чтобы сохранить свою власть, Ельцин пойдёт на разрушение целостности России, что он уже делает на практике, вступив в сделку с чеченскими сепаратистами».

Что следует делать коммунистам в Государственной Думе? У Зиновьева однозначный ответ: «Но если уж вы, заявляя о себе как о коммунистах, попали в Государственную Думу, то не было бы более достойным использовать думскую трибуну не для неких «конструктивных предложений», которые в любом варианте могли лишь укрепить правящий режим, а для обличения этого режима, для его устранения? Как это и делали депутаты-коммунисты в IV государственной думе. Коммунисты начала века не боялись репрессий властей. А вы, коммунисты конца XX века, какие жертвы вы принесли на алтарь Отечества?» Справедливо. Без обострения отношений с кликой Ельцина ничего не завоюешь.

О методах и формах смены существующей власти у Зиновьева есть тонкое наблюдение: «Замечу, что мирный и ненасильственный путь – это не одно и то же. Можно мирным путем, то есть, без выстрелов и убийств, осуществить насилие. Вся «холодная война» была мирной, а по степени насилия и по жертвам она превзошла все немирные войны прошлого». Не есть ли это ключ к будущей борьбе с режимом «демократов», которая окажется мирной по форме и наступательной по сути (надо развернуть беспощадную идеологическую войну с «демократами», т.е. провести «контр холодную войну»).

Зиновьев решителен в выборе средств и методов борьбы Коммунистической партии за власть. Он даёт совет: «Критерием оценки деятельности партии настоящих коммунистов должно стать не число мест в липовом парламенте, а её вклад в борьбу за свои идеалы. Чем больше партия коммунистов завоюет мест в парламенте, тем меньше шансов на то, что ей удастся восстановить в России коммунистический строй. Надо сыграть роль в Великой Истории, а не приспосабливаться к мелким текущим обстоятельствам». Будь на месте Геннадия Зюганова более энергичный и последовательный деятель, он, возможно, работал бы в трех направлениях одновременно:

1. бескомпромиссная подпольная борьба (левая часть партии);

2. легальная борьба и участие в выборах в Государственную Думу (ответственная часть парламента);

3. негласная «контр холодная война».

Нельзя не принять во внимание мысль Зиновьева о «глобальном обществе»: «В моем понимании глобальное общество есть образование нового социального феномена в качестве общества второго, более высокого уровня по отношению к существующим странам мира… Это своего рода надстройка над человечеством. Она использует всё остальное человечество как зону своего обитания, как базис своего существования». В наше время «глобальное общество» (а его можно назвать еще «глобальное государство» или «планетарное государство») большинством людей только ощущается, аналитиками – фиксируется. Предстоит научиться работать с ним, как с реальным фактом.

Кем управляется «глобальное общество» или «сверхобщество» - не масонами ли и евреями? Зиновьев отвечает: «Насчет масонов ничего не знаю. А что касается евреев в этом сверхобществе, то оно – реальный факт. И я никого за это не осуждаю и не порицаю. Это сверхобщество нуждается в очень высоком интеллектуальном потенциале. И могу лишь заметить, что евреи вносят в это свой огромный вклад. Это бесспорно». Да, и здесь они впереди. И здесь – в сверхобществе – они у руководства!

На Земле было две цивилизации – западная и русская. Одна победила другую. Что из этого вышло – видно со слов Зиновьева: «Увы, у нас «уничтожение империи инков» задумано в более грандиозных масштабах. Уже потому, что коммунистическая цивилизация ничуть не уступала западной цивилизации. А во многом ее превосходила. Так что в нашем случае произошел не просто разгром – задавлен в корне возможный прогресс всего человечества. В результате, в чем я глубоко убежден, человечество отбрасывается во многих отношениях на много столетий назад». Интеллектуально, морально, духовно – да! Но все-таки этот «зигзаг» истории есть временное отступление, и он даст новый импульс для развития человечества (не заключается ли в этом жертвенная миссия России?).

О государственности России находим у Зиновьева такие слова: «Тут всегда решающим фактором организации общества и его эволюции была не экономика, а система государственности, которая развивала и использовала экономику по своей инициативе и в своих интересах. В советский период это достигло апогея. И теперь власть остаётся доминирующей силой, несмотря ни на что. Крах политической системы советского общества привел к краху всего общества, включая экономику. И первое, что выросло на его развалинах, это не экономическая, а политическая система». Эта мысль лишний раз подчеркивает ту роль и то значение, какое играет идеология в политической системе России.

О борьбе оппозиции за власть Зиновьев говорит пророческие слова: «Возможно, эти новые силы и группировки добьются каких-то успехов в том смысле, что проведут своих людей в «парламент» и в администрацию президента. Я даже допускаю, что они протолкнут своего кандидата в президенты. А изменится ли от этого положение в России и России в мире радикальным образом? Ведь все решающие факторы современной истории остаются все равно вне этой локальной российской суеты. Именно суеты, которая лишь в воображении ее участников выглядит как нечто значительное. Это лишь перетасовка все в том же множестве индивидов и все же в тех же условиях. Как тут не вспомнить Крылова: «А вы, друзья, как ни садитесь, все ж в музыканты не годитесь». Пожалуй, прав аналитик. У него действительно есть пророческое видение будущего.

Об интегральных процессах в бывшем СССР Зиновьев мыслит прагматично: «Но для меня бесспорно одно: идея интеграции народов бывшего Советского союза в любом варианте (Советского Союза, «Державы», Великой России и т.п.) есть идея в пользу складывающейся социально-политической посткоммунистической системы; есть элементы посткоммунистической идеологии, а не идея реставрационная. Вспомните, что образование Советского Союза в 1922 году не имело ничего общего с реставрацией дореволюционной социально-политической системы, хотя это и было восстановление империи». Насчет реставрации – верно. Насчет империи – сомнительно!

Нельзя пройти мимо в высшей степени ценных и неординарных суждений Зиновьева о советской идеологии: «Должен заметить, что благодаря ей советские люди в массе своей стали продолжателями многовековой российской традиции, несмотря ни на что. Советская идеологическая сфера впитала в себя, сохранила, продолжила и усилила многие черты дореволюционной традиции. Многое отбросила и разрушила. Но многое и сохранила. Думаю, что сохранила больше и сохранила лучшее, что было в духовной сфере России. Коммунистическая революция явилась великим переломом в социально-политической сфере, но не была катастрофой в сфере идейного, морального и психологического состояния россиян. Катастрофа наступила лишь теперь, после 1985 года». В первые годы советской власти культурный уровень народа (если под народом понимать этническую целостность) сузился. Хотя для низших слоёв он значительно расширился. Вступили в противоречие два начала: элитарное общечеловеческое знание высших слоев населения дореволюционной России и обыденное знание простых людей послереволюционной России. Первое стремилось дать максимальное развитие для второго.

Как никому другому, Зиновьеву видна сущность западной идеологии: «В результате постоянной и всеобъемлющей идеологической обработки менталитета западных людей тут сложился и стал преемственным тип человека, который уже не в состоянии обходиться без той идейной пищи, какая для него изготовляется на западной идеологической кухне, и не способен потреблять пищу иного рода. Такой идеологически обработанный человек является марионеткой незримой идеологической машины, воображая при этом, будто он свободен от всякой идеологии». Сравнивая западную и советскую идеологии, умные люди поймут, в чем заключается разница воздействия противоположных по смыслу идеологий. Малообразованный и движимый темными инстинктами человек этой разницы обычно не замечает.

Об американской идеологии Зиновьев судит вполне трезво: «Разрушьте американский идентитет, и вы увидите, как стремительно начнет разлагаться американское общество. Лидеры американского общества понимают это и прилагают титанические усилия, чтобы не допустить такого. А как повели себя лидеры советского общества?!» Урок дан России поучительный! Извлечёт ли она что-либо из него?

О типах цивилизаций Зиновьев рассуждает здраво: «Современная цивилизация есть цивилизация западная прежде всего и в основе. Никакой «цивилизации вообще» нет, как нет «человека вообще», «животного вообще» и т.п. Это пустые абстракции. Когда в Советском Союзе заговорили о приобщении к некоей «цивилизации вообще», фактически имели в виду западную цивилизацию, игнорируя, что советские народы начали стремительно развивать свою форму цивилизации, в каких-то отношениях превосходившую западную. Что из этого получилось – теперь очевидно даже идиотам, реформаторам. Я думаю, что западная цивилизация является чужеродной для большинства народов планеты». Западная цивилизация прижилась в Японии, возможно, приживется и в России. Здесь, видимо, надо говорить о наслаивании одного типа цивилизации на другой, о сосуществовании разных цивилизаций одновременно (несколько пластов земли не будут мешать растениям культуры развиваться полноценно).

Как вывести народ из тупика, как восстановить психическое здоровье русского народа – вот что серьезно тревожит Зиновьева: «Разрушение психики русского народа началось именно с нее, причем как целенаправленное и организованное враждебное наступление. Очевидно, с нее должно начаться и оздоровление. Найдется ли в России достаточно большое число людей, способных взять в свои руки инициативу в этой сфере и выполнить свой долг перед народом, - от этого зависит и успех лечения». Без оздоровления народа в области культуры и общественной жизни, без отрицательной реакции на идеологическую агрессию со стороны Запада не добьемся успехов в развитии русской цивилизации.

Горячий сторонник русской цивилизации, Зиновьев проявляет осторожность в вопросе объединения бывших республик и в вопросе по поводу беловежских соглашений, принятых Государственной Думой. В связи с этим он пишет: «Восстановление Советского Союза должно назреть как потребность народов. И должно оно произойти прежде всего явочным порядком. И только потом следует закрепить это законодательно… Восстановление Советского Союза, если оно сейчас произойдет, не принесет с собой решения реальных проблем и не принесет никакого улучшения условий жизни, никакой нормализации системы власти и управления, всей социальной организации страны». Как видим Александр Зиновьев не соглашается с Зюгановым по вопросу объединения бывших советских республик.

Значительны по содержанию мысли Зиновьева о культуре и духовном облике народа: «Нам нужно организовать свою сферу духа, но делать это нужно только самим, выделяя все лучшее, что создается нашими людьми». Это прямо указывает на то, что сегодня необходимо создать Институт духовности, где ученые займутся изучением духовного наследия народов, ранее входивших в состав Советского Союза.

Автор: 
Виталий РОДИОНОВ, член Союза писателей и Союза композиторов Беларуси
Номер газеты: 

Добавить комментарий

CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.
2 + 5 =
Решите эту простую математическую задачу и введите результат. Например, для 1+3, введите 4.