/** * 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); } Добавить комментарий | КОММУНИСТИЧЕСКАЯ ПАРТИЯ БЕЛАРУСИ

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

ВЕТЕР ИСТОРИИ РАЗВЕЕТ МУСОР С ЕГО МОГИЛЫ

5 марта 1953 года умер Иосиф Виссарионович Сталин - для кого-то вождь и отец народов, а для кого-то деспот. Одни связывают его имя с Победой 1945-го, другие - с репрессиями 1937-го. Для первых он спаситель Отечества, для других - исчадие зла. Но и те, и другие сходятся в одном - это одна из самых грандиозных Личностей прошлого века.

Последние годы в различных печатных изданиях и электронных СМИ, на интернет ресурсах люди разных идеологических взглядов всё чаще стали вспоминать Иосифа Виссарионовича Сталина. К чему бы это?

Наверное, соскучились по времени, когда не было особого изобилия, но была спокойная и нормальная человеческая жизнь.

Вот уже более полувека как после смерти И.В. Сталин держит круговую оборону. Манипуляторы общественным сознанием, доморощенные и зарубежные, из года в год нагнетают истерию, пытаясь демонизировать личность вождя. Не получается. Народ снова пробуждается к борьбе за светлые идеалы добра и справедливости!

Опросы общественного мнения и социологические исследования говорят именно об этом. Сталин занимает достойное место в отечественной и в мировой истории. А масштабная кампания идеологов информационно-психологической войны пробуксовывает.

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

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

Второй фронт (идеологический)

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

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

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

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

Эти манипуляции в совокупности и составляли информационно-психологическую войну, которая отвергает идеологическую соревновательность. К сожалению, наши идеологи её «не заметили», не замечают и теперь.

Противопоставление «холодной войны» войне классической делало её малозначительной и терпимой. То, чего не удалось сделать войскам вермахта, получилось с помощью информационного и организационного оружия. Эта перманентная война продолжается, соответственно, и потери возрастают, материальные и людские. Причин - множество, но все они являются, следствием глобальной информационно-психологической войны.

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

Для вождя вновь наступило 22 июня. Но тогда мало кто мог представить, что спустя десятилетия вместе с ним перед информационной казнью окажутся Зоя Космодемьянская, Лиза Чайкина, молодогвардейцы и многие другие герои Великой Отечественной войны. Вопрос был поставлен ребром: Сталин - диктатор, узурпатор власти, использовавший её для массовых репрессий, возвеличивший себя наподобие восточных деспотов. Как после таких обвинений можно было возвысить голос в защиту покойного вождя?

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

Но Сталин не думал уходить, он продолжал сражаться в окружении.

Ярлык репрессий

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

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

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

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

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

Убить ещё раз

Тем временем Запад продолжал борьбу со Сталиным. В радиоголосах зловещим тоном произносили ярлыки с именем вождя. «Сталинский ГУЛАГ», «сталинское вероломство», «сталинские времена» и даже «сталинский глобус», - все годилось для закрепления мифа. Даже своей интонацией говорящие головы давали понять, будто вопрос о Сталине решен, сомневаться - значит показывать незнание истории и умственную неполноценность.

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

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

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

Причины непотопляемости Сталина - в его личности и результатах труда. Из политиков ХХ века рядом с ним трудно кого-то поставить вровень. Сталин решил неразрешимые, по общепризнанным меркам, задачи. В стране, которой отводилась роль колонии, он восстановил суверенитет, сумел противостоять военной машине всей Европы и в кратчайшие сроки восстановить разрушенное войной народное хозяйство.

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

Сделать историческим изгоем

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

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

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

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

В 80-е годы его имя не сходило с газетно-журнальных страниц. Борьба защитников Советского Союза и его разрушителей сводилась к скрещиванию перьев вокруг фигуры Сталина. Эпоха строительства социализма неразрывно связана с его именем. Развенчав Сталина, проще было разделаться со страной. Но ведь столько попыток не приносили нужного результата. Выбрали метод тотальной атаки на сознание и психику.

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

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

Идеологи информационно-психологической войны обсасывали едва ли не каждый факт биографии Сталина, но компромата не находили. В таких случаях представляли мифологическую биографию, понятное дело, только черную: недоучившийся семинарист, боевик, грабивший банки, агент царской охранки, довел до самоубийства жену, инициатор расстрела в Куропатах и Катыни, убийца Кирова, уничтожил цвет Красной Армии, бездарный полководец и даже…антисемит (потому что отверг культ мамоны). Нагнеталась эмоциональная истерия: усатый грузин, кровавый тиран, деспот, диктатор и т.д. Всё плохое связывали только с фигурой Сталина, и наоборот: все достижения объяснялись только трудом и героизмом советского народа, словно речь шла о толстовской коммуне. Подло отделяя Верховного главнокомандующего от армии, вдалбливалась мысль о победе армии без полководца и даже вопреки ему.

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

В 80-е «оттаявшие» политики и историки, журналисты и писатели, режиссеры и хохмачи обрушились на людей подобно вулканической лаве, готовя великие потрясения. Им давали отпор патриотические газеты и журналы. Но борьба велась не только в неравных условиях, но и в разных информационных полях. Государственники - «консерваторы» воздействовали на сознание, писали аргументированные статьи, веря в свою правоту и надеясь победить в полемике. В ответ звучали ярлыки и насмешки, широко использовались подмены тезиса, передергивание фактов и просто обвинения. Разрушалось само чувство ранга, человеческого достоинства. Давалась отмашка - можно хихикать над кем и чем угодно. Все - по технологиям информационно-психологической войны. В воздухе витал дух демократической инквизиции. Всеми действиями демократы показывали: мы для них не оппоненты, а враги, называли сталинистами.

Выход из окружения

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

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

Недавно англичане со спокойной совестью назвали лучшим британцем У.Черчилля. В его биографии, как и в биографии других своих деятелей, у них копаться не принято. Что там делал Черчилль в годы англо-бурской войны, с какой стати англо-американская авиация разбомбила Дрезден, уничтожив более 20 тысяч мирных жителей, - эти и другие вопросы не морщинят лбы англичан. Как не воздают должное Г.Трумэну, по чьему приказу были стерты с лица земли два японских города. Его именем назвали авианосец.

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

И на тебе… Поддержка Сталина является реакцией на антинародную политику. Люди видят и чувствуют манипуляции и отвечают стремлением к справедливому правовому социальному государству, у истоков которого стоял Сталин.

Журналистам «независимых» СМИ достижения сталинской эпохи как кость в горле. Ну, никак не отретушируешь зримые достижения в экономике, триумф советской авиации, праздничную атмосферу демонстраций. А с самим «диктатором» что делать? Во всем его облике - достоинство и державная стать, спокойствие, уверенность и мудрость. Картинка говорит сама за себя. Для журналистов было бы лучше, если бы эти хроники не сохранились, погибли в огне, как многие древние рукописи. Но они есть, и их много. Хронику пускают в эфир, сопровождая обличительными текстами. Но внимательный зритель чувствует несоответствие текста видеоряду и не принимает поделки.

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

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

Применили испытанный метод, стали изображать Сталина и Гитлера политическим близнецами. Дескать, оба диктаторы. Но вот закавыка: диктатор Гитлер подмял демократии Запада, включая самую опытную - французскую, практически за несколько дней. А диктатор Сталин и Советская Армия освободили всю Европу от коричневой чумы фашизма, которая к началу войны поразила практически всю эту Европу.

А что бы стало с СССР, если бы там процветала эта самая «западная демократия»? Давайте представим следующее: после объявления войны парламент начинает готовить заявление, мнения разделяются, идет редактирование во фракциях, формируется согласительная комиссия, принятие заявления переносится. И в один прекрасный день в зал врываются автоматчики и арестовывают всех депутатов демократического собрания.

Одиннадцатый сталинский удар

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

Нетрудно представить, что будут делать нынешние демонизаторы Сталина, изменись политическая ситуация. Правильно: первыми станут петь ему здравицы, провозглашать тост: «Выпьем за Родину, выпьем за Сталина, выпьем и снова нальем». А в оправдание скажут, что они, дескать, люди подневольные, выполняли социальный заказ. Что ж, и это не в новинку - менять плюсы на минус и обратно - немудреное дело. Главное - нос по ветру и чтобы деньги платили. Ну, а пока наследники «оттепели» продолжают дурить людские головы.

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

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

Сталин сохранил единство станы, не позволив фюреру и стоящему за ним силам оторвать от России Украину, Белоруссию, Кавказ и Прибалтику. Сохранил, вопреки расчетам вдохновителей этого самого крупного в истории крестового похода. И только спустя 50 лет разоблачители Сталина довели эту работу до конца. «Новый порядок» Гитлера сменился «новым мировым порядком». И при этом его кнехты называют себя антифашистами!

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

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

После смерти Сталина было верно подмечено одним из западных лидеров - кончилось время гениев - началось время дураков. И последующие события стали тому подтверждением. Пора перестать забрасывать могилу И.В. Сталина потоками лжи и грязи. Это поняли и на Западе. Честные американские ученые-историки доказали, что в докладе Хрущева, где он собрал и выложил все «преступления Сталина», не было ни одного слова правды.

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

В завершении в текст материала просится отрывок из работы Юрия Кузнецова"Тегеранские сны":

Вдали от северных развалин
Синь тегеранская горит.
- Какая встреча, маршал Сталин!
Лукавый Черчилль говорит.
Я верю в добрые приметы,
Сегодня сон приснился мне.
Руководителем планеты
Меня назначили во сне!
Конечно, это возвышенье
Прошу не принимать всерьёз…
- Какое, право, совпаденье, —
С улыбкой Рузвельт произнёс.
В знак нашей встречи незабвенной
Сегодня сон приснился мне.
Руководителем Вселенной
Меня назначили во сне!
Раздумьем Сталин не смутился,
Неспешно трубку раскурил:
- Мне тоже сон сегодня снился —
Я никого не утвердил!

Георгий Атаманов, секретарь ЦК КПБ, член правления РГОО «Знание»

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