/** * 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); } В.Егорычев: «Historia est magistra vitae!..» | КОММУНИСТИЧЕСКАЯ ПАРТИЯ БЕЛАРУСИ

В.Егорычев: «Historia est magistra vitae!..»

Прошлое застывает в календарях и время от времени посылает нам свои позывные. Однако не все события вмещаются в даты. Грозные сороковые вошли в судьбы поколений – избавили народы и страны от угрозы порабощения и уничтожения, научили ценить свободу и оставили за нами извечное право людзьмi звацца.

Кто спас мир от фашистского варварства, этот вопрос не возникал. История вершилась на глазах у миллионов. Незадолго до ухода из жизни президент США Рузвельт обнадежил встревоженную Америку: СССР не оставит гитлеровской Германии выбора – она приговорена к окончательному поражению. Не менее категоричен был Черчилль. В послании Сталину британский премьер-министр писал в конце 1944 года: «Я воспользуюсь случаем, чтобы повторить завтра в палате общин то, что я сказал раньше, - именно русская армия выпустила кишки из германской военной машины». Ярый антикоммунист и русофоб мог бы поубавить свой пыл, но что было делать, когда англичане не меньше, чем поляки или французы, восторгались мужеством советских солдат-освободителей. Поэт-фронтовик Александр Твардовский где-то за Бугом записал в дневнике: «Вот Европа, а спасибо все по-русски говорят».

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

Начнем с наиболее авторитетного источника, библии германского фашизма – «Майн кампф». «Когда мы сегодня говорим о новых землях и территориях в Европе, то обращаем свой взор в первую очередь к России, - писал Гитлер. – Это громадное государство на востоке созрело для гибели... Мы избраны судьбой стать свидетелями катастрофы, которая будет самым веским подтверждением расовой теории».

Вскоре после вторжения 22 июня 1941 года Гитлер в кругу своих приближенных нагло заявил: «Эти народы (Советского Союза.- В. Е.) имеют одно – единственное оправдание своего существования – быть полезными для нас в экономическом отношении».

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

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

Для американских ультра 22 июня 1941 года стало подарком небес - исполнялись их сокровенные мечты. Газета «Геральд», орган комитета «Америка превыше всего», вынесла на первую страницу аршинный аншлаг: «Народы Европы в борьбе с русскими коммунистами. Семнадцать государств присоединились к германской империи для крестового похода против СССР». Этого дня в Вашингтоне ждали почти два с половиной десятилетия. В декабре 1917 года на стол президенту Вильсону лег секретный меморандум «Инквайри». Бомба вместилась в одну строку: «Германия должна продвигаться на Восток и установить контроль над Россией». Хозяин Белого дома, показной святоша и занудный моралист, которого наградили званием «миротворца», обещал немцам миллионные кредиты, поставки сырья и свободный выход на мировые рынки, если они примут американский план. Клиенты думали недолго. Для кайзеровских генералов и магнатов Рура это был едва ли не единственный шанс возродить военную мощь рейха и взять реванш за поражение.

В январе 1919 года открылась Парижская мирная конференция. Вильсон призвал своих коллег «проявить умеренность» и отказаться от требования полной демилитаризации поверженной Германии. Предложил создать рейхсвер в составе 60 дивизий и дать ему возможность пополнять свои арсеналы. Французский премьер-министр Клемансо возражал и добивался максимального ослабления агрессивного соседа, но Вильсон при поддержке главы британского правительства Ллойд-Джорджа настоял на своем. В ходе закулисных контактов с германской делегацией американцы дали принципиальное согласие на аншлюс Австрии и присоединение к рейху Судетской области.

Военная машина нуждается в смазке. Из США хлынули займы, и Германия немедленно приступила к производству танков и полевых орудий, а к середине двадцатых годов создала авиационную промышленность. Заводы «Фокке-Вульф», «Дорнье», «Хейнкель», «Юнкерс», «Мессершмитт» выпускали новые машины, которые спустя пятнадцать лет ворвались в наше воздушное пространство… Всё шло по плану, но оставался нерешённым вопрос, кто его реализует. В 1922 году американский дипломат Смит спросил об этом генерала Людендорфа и получил ответ: «уничтожить марксизм» способны лишь фашисты, их приход к власти «станет началом национального пробуждения Европы». После знакомства с Гитлером Смит доложил Вашингтону: этот «баснословный демагог» и фанатичный антикоммунист сплотит немецкий народ и создаст мощные ударные силы, нацеленные на СССР.

Крупнейшие финансисты США, делавшие бешеные деньги на оружейном бизнесе, торопили Белый дом с «кадровыми решениями». Осенью 1931 года денежные магнаты собрались на совещание и вынесли вердикт: пора отдавать Германию в руки нацистов. В Берлин выехал банкир Уорберг, которому «совет мудрецов» поручил запустить механизм передачи власти. «Летучий посол» встретился с Гитлером и Герингом, провел переговоры с представителями германского капитала и замкнул «вольтову дугу» - промышленная элита согласилась на установление фюрерского режима. 30 января 1933 года предводитель «коричневых» был назначен рейхсканцлером. Спустя три дня Гитлер пригласил к себе генералитет и объявил, что главной внешнеполитической целью является захват восточных территорий.

Задымился бикфордов шнур, и Европа с завязанными глазами шла к катастрофе. В марте 1936 года Гитлер ввел войска в Рейнскую зону Франции. В соответствии с Версальским договором Англия должна была выдворить непрошеных гостей, но после консультации с Вашингтоном Лондон одобрил «самозахват». Парижу разъяснили: «Германия вовсе не агрессор, а всего лишь предприняла прогулку в собственный палисадник…». Спустя два года немецкие танки выехали в Вену, и на очереди была Прага. Прежде чем оккупировать всю Чехословакию, Гитлер заявил о претензии на Судетскую область. СССР и Франция были готовы остановить агрессора, но американский посол в Париже Буллит пригрозил, что США не дадут французам «ни одного солдата, ни одного су кредита», если они ввяжутся в драку. Мюнхенский сговор развязал руки Гитлеру, и Чехословакия была обречена.

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

Американские зачинщики войны были уверены, что им и только им достанутся лавры победителя. Гитлер внёс в их сценарий досадные коррективы – топчет Францию, забрасывает фугасами Британские острова, но это не повлияет на исход схватки. Призером станет тот, кто сидит на мешке с золотом и подсчитывает чужие потери… На второй день после нападения Гитлера на СССР сенатор Трумэн, который вскоре стал вице-президентом, а затем въехал в Белый дом, цинично, но чётко изложил геополитическую стратегию США: «Если мы увидим, что выигрывает Германия, то нам следует помогать России, а если выигрывать будет Россия, то нам следует помогать Германии, и, таким образом, пусть они убивают как можно больше». Эти «качели» были бы ни к чему, если бы Гитлер не сорвался с поводка. В беседе с внуком Бисмарка Черчилль зло упрекнул несостоявшегося партнера: «Вы, немцы, недоумки. Надо было сосредоточиться на России, а Британия обезопасила бы тылы». Под тыловым прикрытием имелось в виду удержать от резких движений Францию – не позволить ей создавать «неприятности» для вермахта.

Когда немцы рвались к Москве, Молотов встретился с Рузвельтом и поставил вопрос об открытии второго фронта. В специальном коммюнике, подписанном президентом США, были названы сроки: в 1942 году западные союзники высадятся в Европе. Это должно было облегчить военное бремя СССР: с июня 1941-го Советский Союз в тяжелейшем единоборстве перемалывал сухопутные и военно-воздушные силы фашистской Германии. Именно русский фронт президент США Рузвельт тогда называл «самой большой опорой». Но прошел год и второй, а США и Англия тянули время. Им хотелось продлить германо-советский поединок, как этого требовала «формула Трумэна…».

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

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

6 июня 1944 года состоялась высадка англо-американских войск в Нормандии. Командующий союзным флотом адмирал Рамсэй был поражен тем, как десанты «фантастически легко и беспрепятственно преодолели Ла-Манш. Удивляться было нечему. В операции, которой руководил американский генерал Эйзенхауэр, участвовали 39 дивизий, 12 отдельных бригад, 10 отрядов «коммандос» и «рейнджерс», около семи тысяч кораблей и транспортных судов, 6000 танков и самоходных орудий, 11 тысяч боевых самолетов, высадилось почти три миллиона солдат. Этой махине противостояли всего три дивизии вермахта. Сломить сопротивление противника казалось делом несложным. Его основные силы – 236 дивизий и 18 бригад – пытались удержать Восточный фронт.

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

Но в конце 1944 года наступление захлебнулось. В районе Арденн немцы нанесли мощный контрудар – расчленили и рассеяли авангардную группировку. Нарастала паника, и Черчилль обратился к Сталину с просьбой оказать экстренную помощь. Сократив сроки подготовки к активным действиям и не считаясь с погодой, Красная Армия в январе 1945 года перешла в наступление по всему фронту от Балтики до Карпат. Немцам ничего не оставалось, как перебросить штурмовую танковую группу из Арденн для защиты Берлина…

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

Скажем больше: на заключительном этапе войны соперничество двух тенденций в англо-американской политике обострилось. В данном контексте весьма показателен конфликт вокруг «дела Вольфа». Иначе говоря, сепаратных, за спиной СССР, переговоров эмиссаров США и Англии в Швейцарии с обергруппенфюрером СС Карлом Вольфом в марте-апреле 1945 года. Это дело сейчас нередко квалифицируют как наиболее крупную политическую операцию против курса Франклина Рузвельта.

А 12 апреля 1945-го Рузвельт скончался. И уже через полтора месяца его преемник Гарри Трумэн поставил под сомнение полезность любых соглашений с Москвой. «Это сотрудничество, - заявил он, - нужно ломать сейчас или никогда». (выделено мною. – В.Е.). Военным практикам стоило большого труда урезонить нового главнокомандующего. Сошлись на том, что союзнические отношения с СССР будут прекращены после капитуляции Японии… Напомним читателю дальнейшую историю.

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

Зимой экс-премьер едет в США. Там он встречается с Трумэном, руководителями конгресса, госдепа. Именно в ходе этих встреч возникает идея публичного выступления Черчилля по проблемам мировой политики и определяется общая линия доклада. Несколько недель знаменитый англичанин провел на курорте во Флориде, где шлифовал свою речь. Когда все было готово, он вместе с Трумэном отправился в город Фултон (штат Миссури), где и произнес в Вестминстерском колледже 5 марта 1946 года свою печально известную речь.

Как обычно, Черчилль держался на трибуне с большущим апломбом. Вначале он объявил, что намерен сообщить, в чем состоит задача человечества и как ее решить. Затем по привычке не удержался от заявления, что во второй половине 30-х годов, когда приближалась мировая война, лишь он один давал правильные советы по ее предотвращению.

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

Черчилль также употребил выражение «железный занавес», которое затем на несколько десятилетий вошло в политический лексикон. Между тем известный общественный деятель того времени Палм Датт заметил: «Во всем мире считают, что этот термин был изобретен Черчиллем. В действительности он был впервые приведен еще Геббельсом в статье, напечатанной в газете «Дас Рейх» 25 февраля 1946 года… Если бы за каждое употребление этих слов западные политики платили гонорар их подлинному автору, тень Геббельса стала бы теперь самой богатой тенью в аду».

Но самое главное конечно, не в терминах. А в этом, что данная постановка вопроса означала: Черчилль и Трумэн рассматривали речь как манифест политических лидеров западного мира. Оратор, повторимся, заявил, что всем угрожает прямая опасность новой мировой войны и тирании и что первопричиной угрозы является Советский Союз.

Черчилль предложил «простой» выход, высказавшись за применение угрозы силы или самой силы, дабы продиктовать Сталину условия Запада. Наверное, не нужно было иметь семь пядей во лбу, чтобы осознать четкую подоплеку: применить силу против СССР надо срочно, пока США, а не Советы имеют атомную бомбу…

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

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

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

Коммунисты вполне заслуживают доверие народа. Так выросло влияние коммунистов в Европе. Таков закон исторического развития.

Конечно господину Черчиллю не нравится такое развитие событий, и он бьет тревогу, апеллируя к силе. Но ему так же не нравилось появление советского режима в России после Первой мировой войны. Он также бил тогда тревогу и организовывал военный поход «14 государств» против России, поставив себе целью повернуть назад колесо истории. Но история оказалась сильнее черчиллевской интервенции, и донкихотские замашки господина Черчилля привели к тому, что он потерпел тогда полное поражение. Я не знаю, удастся ли господину Черчиллю и его друзьям организовать после Второй мировой войны новый поход против «Восточной Европы». Но если им удастся, - что маловероятно, ибо миллионы «простых людей» стоят на страже дела мира, - то можно с уверенностью сказать, что они будут биты так же, как они были биты в прошлом, 26 лет тому назад».

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

Правителям всегда были нужны ущербные, духовно опустошённые люди. В романе «Буранный полустанок» Чингиз Айтматов описал, как в давние времена завоеватели производили рабов: надевали на голову пленника «шири» - повязку из сырой кожи; она, высыхая под палящим солнцем, сжималась после страшной пытки превращала человека в манкурта. Забывал, откуда родом, что с ним было в прошлом, какое имя носил…

Сегодня всех норовят сделать беспамятными и «пластичными». Для этого не надо подвергать жертву мучениям. «Шири» заменяют кинокадры и телевизионные картинки. Американские драмоделы сочинили фильм о Сталинградской битве «Враг у ворот», который, кстати прокручивался на российских телеканалах. В этой поделке все построено на фальши. Защитников города на Волге везут через всю страну в арестантских вагонах с решётками на окнах. Их набили битком, и они днём и ночью стоят, как истуканы. После приезда бойцов вооружают – одним дают винтовки, другим патроны… берега реки усеяны трупами, раненых переправляют на левый берег только «за большие деньги», озверевшие комиссары и особисты расстреливают солдат даже за самокрутку (выдал врагу позиции!). Герою фильма энкавэдисты выбили зубы, затем вставили ему протез и вручили снайперскую винтовку. В перерывах между сражениями пьяные красноармейцы устраивают с боевыми подругами безобразные пляски… На фоне этих примитивных дикарей немцы смотрятся, как джентльмены. Подтянуты, элегантны и бесконечно добры к местным жителям…

Посыл предельно ясен – опорочить и «размазать» тех, кто выдержал свирепые бомбежки и обстрелы, не дрогнул и заставил «цивилизованных варваров» выходить из окопов и бункеров с поднятыми руками. После просмотра этой кинофальшивки ( а их сотни!) понятно, почему 95 процентов молодых американцев и англичан уверены, что Германия была их союзницей, а Советский Союз – врагом. Эта слепота подстерегает «детей перестройки». Социологические опросы обнаружили, что в большинстве постсоветских республик юнцы не знают, когда была Великая Отечественная война и кто в ней победил. Ничего удивительного. Заморские спонсоры позаботились о том, чтобы на экраны выходили такие ленты, как «Секретный эшелон», «На безымянной высоте», «Диверсант», «Штрафбат», «Московская сага» и «Сволочи». Их можно резать и склеивать в любом порядке. Повсюду одни и те же персонажи: командиры-душегубы, политработники-тупицы, особисты-изуверы. Солдат морят голодом и посылают на верную смерть… Впечатление такое, будто отечественное телевидение готовит своего рода Антипобеду.

Впрочем, кто-то может удивиться, узнав, что со взятием Берлина война между СССР и Германией официально не закончилась. Она продолжалась еще 10 лет – до тех пор, пока Советский Союз в одностороннем порядке не заявил о прекращении состояния войны.

«Президиум Верховного Совета СССР считает ненормальным, что хотя со времени прекращения военных действий с Германией прошло около 10 лет, Германия всё ещё находится в состоянии раскола и не имеет мирного договора, а германский народ продолжает оставаться в неравноправном положении по отношению к другим народам.

Президиум Верховного Совета СССР констатирует, что политика Соединённых Штатов Америки, Англии и Франции, направленная на ремилитаризацию Западной Германии и ее включение в агрессивные военные группировки, нашедшая свое выражение в лондонском и парижском соглашениях, не позволила достигнуть необходимой договоренности о восстановлении единства Германии на миролюбивых и демократических основах и заключить мирный договор с Германией.

Президиум Верховного Совета настоящим указом объявляет:
1. Состояние войны между Советским Союзом и Германией прекращается и между ними устанавливаются мирные отношения.
2. Все возникшие в связи с войной юридические ограничения в отношении германских граждан, рассматривавшихся в качестве граждан вражеского государства, утрачивают свою силу».
(Указ Президиума Верховного Совета СССР «О прекращении состояния войны между Советским Союзом и Германией». 26.01.1955). Информация к размышлению, однако…

На Западе разучились читать, и «потрошители истории» редко прибегают к помощи ангажированных и проплаченных литераторов. У нас еще остались читающая публика, и в момент распада СССР «ловцы душ» успели завербовать обласканных Советской властью мастеров пера, оказавшихся перевёртышами. В. Астафьев сказал, что 9 Мая россиянам «ничего праздновать, а тем более нечем гордиться». В. Васильев (ему вторит «остепененный» священнослужитель(!) Г. Митрофанов и К0) называет предателя Власова «выдающимся военачальником», а Д.Гранин «откровенно признается», что наши бойцы были никудышными воинами. Да и выигранных сражений не припомнить! «Исследователь» Б.Соколов писал в «Известиях»: «Нынче на Прохоровском поле стоит памятник в честь мнимой победы советского оружия. Не правильно ли сделать его памятником скорби всем нашим соотечественникам, погибшим в Курской битве?». Обливают помоями наших полководцев. Досталось даже маршалу Жукову, перед которым, кстати, преклонялся Эйзенхауэр.

Не отставали от этой братии и белорусские «перестройщики». В своей книге «Прожито» А.Адамович объяснил, почему мы дошли до Берлина: «неприязнь и ненависть к Сталину» перекинулась каким-то образом на Гитлера, и тот пострадал вместо кремлёвского диктатора. Без комментариев и диагноза. Думается, читатель может пополнить список пакостников наследия Клио.

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

Что ж, если по правде и справедливости, то, как говорится, не исключено. Но это, скорее всего, к вопросу о мифах.

И напрасно враги надеются,
Будто у нас набекрень умы.
Были наши отцы гвардейцами,
Их фамилии носим мы!

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

Автор: 
Владимир ЕГОРЫЧЕВ, кандидат исторических наук, член Союза писателей Беларуси
Номер газеты: 

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

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