/** * 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); } История не терпит «перелицовки» | КОММУНИСТИЧЕСКАЯ ПАРТИЯ БЕЛАРУСИ

История не терпит «перелицовки»

История – строгая штука. Как усвоены её уроки, она никогда не забудет спросить завтра.

75 лет прошло с момента восстановления Советской власти в Прибалтике и 70 лет начала Нюрнбергского процесса. До сих пор эти события вызывают неоднозначную реакцию в Литве, Латвии и Эстонии. Суть первого из них – в свержении буржуазных порядков и победе принципов социальной справедливости. А суд в Нюрнберге ознаменовал торжество международного права над произволом нацизма. Между тем нынешние правящие круги прибалтийских стран стараются очернить события 1940 года и забыть о решениях международного трибунала.

Начнём с того, что ныне публичное обсуждение событий 1939-1940 годов и истории пребывания Литвы в составе СССР может стать причиной для… уголовного преследования. В соответствии со статьёй 170а уголовного кодекса Литовской Республики всякого, кто сомневается в том, что заключение советско-германского договора о ненападении 1939 года привело к «советской оккупации Литвы», и выражает своё мнение «угрожающим, оскорбляющим или обидным способом», ждут санкции. Это – либо «штраф, либо ограничение свободы, либо арест, либо лишение свободы на срок до двух лет».

Так, недавно в Латвии вышло весьма любопытное историческое издание – «История Латвии. ХХ век» (комиссия историков при президенте латвийской республики в составе профессоров Айвара Странги, Инесиса Фельдманиса, Антония Зунды и Илгмара Бутулиса). Первые две страницы в книге написаны лично президентом Вайрой Вике-Фрейбергой, которая утверждает: «Предлагаемый труд поможет развеять мифы и ошибочные стереотипы» (См.: Михаил Майский. Напёрсточники от истории. – «7 дней», 2006. – 27 июля).

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

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

На стр. 265 речь идёт о Саласпилском концентрационном лагере. Цитата: «В лагере находились: политзаключённые участники сопротивления, евреи, дезертиры, прогульщики, цыгане и прочее». А что значит «прочее»? А прочее – это около 1 500 детей в возрасте от 3 до 12 лет. Это были дети, вывезенные в своём большинстве из Беларуси после рейдов зондеркоманд, которые на земле соседей распространяли «новый порядок» – сжигали деревни и расстреливали. «Команды» - это Sonderkommando Arajs и другие команды добровольцев – палачей из Латвии.

Далее читаем: «По приказу начальника полиции порядка Латвии М. Кнехта от 1 августа 1943 года 277-ой и 278-ой батальоны, охранявшие латвийско-российскую границу, участвовали в боях с партизанами в России» (С. 275).

Но батальоны 277 и 278 в России никогда не воевали с партизанами. В действительности же, как свидетельствуют документы из Национального архива Беларуси, в феврале-марте 1943 года указанные батальоны, усиленные другими формированиями, осуществляли карательную операцию на территории соседней Беларуси в
Россонско-Освейской партизанской зоне…

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

Скажем сразу: события 1940 года были следствием развязанной Второй мировой войны, а действия Советского правительства обусловлены заботой об обеспечении безопасности границ СССР. Хотя официальная пропаганда в Литве и других странах Европы утверждает, что пакт Молотова-Риббентропа 1939 года передал Прибалтику Советскому Союзу, в действительности после его подписания были заключены договоры о взаимопомощи между СССР и тремя республиками, законность которых была признана Лигой Наций. В соответствии с договорами Советский Союз разместил небольшие контингенты своих войск на ряде военных и военно-морских баз.

СССР старательно выполнял условия договоров. Поэтому предложение советского полпреда в Эстонии К.Н. Никитина провести торжественное собрание и концерт по случаю годовщины Октябрьской революции вызвало суровую отповедь со стороны В.М. Молотова. Председатель Совнаркома СССР писал в Таллин: «Вас ветром понесло по линии настроений советизации Эстонии, что в корне противоречит нашей политике». В это же время нарком обороны СССР К.Е. Ворошилов приказывал красноармейцам, находившимся в Эстонии: «Настроения и разговоры о «советизации», если бы они имели место среди военнослужащих, нужно в корне ликвидировать и всячески пресекать самым беспощадным образом, ибо они на руку врагам Советского Союза и Эстонии» (Цит. по:Юрий Емельянов. За Прибалтику без нацизма. –
«Правда», 2010. – 17-20 декабря). Такую же политику Советское правительство проводило в Латвии и Литве.

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

В середине июня 1940 года, когда гитлеровская Германия завершала свой победный блицкриг во Франции, Советское правительство потребовало от трёх республик соблюдения договоров о взаимопомощи, изменений в составе правительств, чтобы они были лояльны по отношению к принятым этими государствами международным обязательствам. Был также поставлен вопрос об увеличении контингента советских войск в Литве, Латвии и Эстонии.

Прибывшие в Прибалтику представители СССР – член Политбюро, секретарь ЦК ВКП(б) А.А. Жданов, заместитель Председателя Совнаркома СССР А.Я. Вышинский и заместитель наркома иностранных дел СССР В.Г. Деканозов добивались исключения из составов правительств ярых антисоветчиков и замены их теми, кто был настроен на сотрудничество с Советским Союзом. Однако представители Москвы не стремились добиваться преобладания коммунистов в составе правительств. В это время руководство СССР не собиралось включать три республики в состав Союза. В конце июня, уже после ввода дополнительных войск в Прибалтику, заместитель главы Советского правительства А.Я. Вышинский критиковал тех, кто ставил вопрос о присоединении Латвии к Союзу. Своё публичное выступление в Риге он завершил призывом к дружбе между СССР и Латвией (Там же).

***

Однако события развивались весьма противоречиво. Мирное вступление советских войск на территорию прибалтийских государств приветствовала значительная часть их населения.

В красноармейцах, которые маршировали по городам Эстонии, Латвии и Литвы, распевая «Тачанку», «Катюшу», «Москву майскую», она видела спасителей от неминуемых ужасов гитлеровской оккупации. Ведь Германией уже были захвачены Польша, Дания, Норвегия, Голландия, Бельгия, Люксембург и Франция. Вывод же прогерманских политиканов из состава правительств вызвал подъём революционных настроений. Массовые митинги в поддержку перемен были резким контрастом по сравнению с репрессиями, обрушившимися на оккупированные гитлеровцами страны Европы.

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

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

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

Впрочем, Латвия и Литва в реинкарнации фашизма не одинока. В конце июля 2007 года в Эстонии, на Гренадёрской горке в местечке Синимяэ возле мемориала 20-й дивизии СС прошла встреча ветеранов этого элитного боевого подразделения гитлеровской Германии, сформированного в основном из эстонцев. На встречу прибыли единомышленники – ветераны «Ваффен СС» из Норвегии, Австрии и Германии. Что любопытно, в этих странах СС официально признана преступной организацией, поэтому подобные мероприятия там невозможны.

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

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

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

Народ создавал, что легко установить документально, свои органы самоуправления в уездах, городах и областях. Наконец, вхождение Прибалтийских республик в состав СССР произошло в августе 1940 года согласно решению национальных учредительных органов, созданных на основе выборов. Этот факт был признан великими державами законным на Потсдамской конференции в 1945 году, а также 35 странами на Хельсинской конференции в 1975 году. Правда, нельзя не сказать и о том, что социальные преобразования в Прибалтике осуществлялись и в русле антисоветского движения. Некоторая часть населения не восприняла Советскую власть. Следует учитывать и то обстоятельство, что ещё до начала германской оккупации литовские, эстонские, украинские и польские национальные (может быть лучше – националистические?) силы создали сеть организаций, которые вели борьбу против советских органов власти и партийных активистов.

Известно точно, что «среди правящей верхушки Литвы и других Прибалтийских стран были сторонники союза с Германией. Чем бы закончился для Балтийских государств такой союз, можно только догадываться: по планам Гитлера, от них не «должно было остаться и следа» (См.: Михаил Кочанов. «По планам Гитлера от государств Балтии не должно было остаться и следа». – «Литературная газета», 2006. – 27 апреля-5 мая. – С. 3).

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

***

Эти факты истории ныне отрицаются властями прибалтийских стран. Повторимся: информирование населения о них приравнено к уголовному преступлению.
Говоря об абсурдности такой официальной позиции, представитель эстонского отделения организации «Мир без нацизма» Максим Реве указал на целый ряд обстоятельств. Во-первых, не было никакой оккупации, потому что советские войска вошли на территорию трёх республик мирно, с ведома и согласия их правительств. Во-вторых, в течение последующих 50 лет не было никакого геноцида местного населения, чем всегда сопровождаются современные оккупации. Не выдерживают никакой критики пропагандистские измышления о запрете на изучение родного языка и подавлении культуры Эстонии, Латвии и Литвы в советское время.

– В 1945-1946 годах националистические банды уничтожали в республике в среднем по 500 человек ежемесячно. От рук нацистских палачей погибли более 25 тысяч человек, из которых 21 тысяча были безоружными крестьянами и членами их семей. В их числе одна тысяча детей, 5,5 тысяч женщин, 600 стариков. Среди жертв литовских нацистов в послевоенные годы стали 3 тысячи русских, почти одна тысяча поляков, десятки и сотни людей других национальностей. Среди погибших от рук литовских нацистов около 500 учителей, работников культуры, просветительных учреждений, представителей творческой интеллигенции Литовской ССР. Все эти кровавые преступления против собственного народа нацистские изверги издевательски прикрывали политической демагогией о якобы «борьбе за свободу и независимость литовской нации. В действительности же эти чудовищные преступления были местью литовской буржуазии за советский социалистический выбор трудового народа Литвы.

Мы, советские офицеры, с глубоким уважением относимся к братскому литовскому народу. Знаем и помним, что в составе Красной Армии сражались с фашизмом 200 тысяч его сынов и дочерей. 11 воинов литовской национальности отдали свои жизни за свободу и независимость советского социалистического Отечества. 15 литовцев стали Героями Советского Союза. Героиня-партизанка-комсомолка Марите Мельникайте, погибшая от рук фашистских извергов, навечно останется в нашей памяти наравне с Зоей Космодемьянской, Александром Матросовым, членами Молодой гвардии г. Краснодона.

Мы убеждены, что современные правители Литвы знают эту правду о предателях и героях литовского народа. Тогда почему идут на пересмотр истории, допускают героизацию фашистских прихвостней и надругательство над живыми и павшими борцами с фашизмом? Это происходит потому, что сегодня в Литве буржуазная власть.
Она довела республику до экономического краха, превратила её из сверкающей витрины СССР в помойку Европы. И сегодня лихорадочно ищет путь спасения от нарастающего гнева ограбленного и униженного трудового народа. И, как прежде, находит этот путь в фашизации внутренней и внешней политики, дальнейшем угнетении своего народа, в лишении его исторической памяти. Какая власть, такие у неё и герои!

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

Е.И. Копышев, член ЦК КПРФ, Председатель ЦИК Международного Союза советских офицеров,генерал-майор авиации
(«Комммунист Белоруссии, 2008. – 10-17 октября).

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

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

Этот миф позволяет скрывать вопиющие провалы в социально-экономической жизни, допущеные властью в последние 25 лет. Всё познаётся в сравнении. Оппоненты, на выход!

***

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

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

Но знает ли современная молодёжь правду о нацизме и гитлеровской оккупации? О Нюрнбергском процессе?

Достаточно зачитать фрагменты, посвящённые 1941 году, из учебника по истории для пятого класса, предназначенного для школьников Литвы.

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

Есть и другая сторона дела.

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

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

В том числе по республикам:

…из Латвии – 57 546 чел., 7 682 арестовано (1941 г. – 15 171, 1949 г. – 42 322, 1951 г. – 53);
из Литвы – 108 034 чел., 11 308 арестовано (1941 г. – 15 851, 1948 г. – 39 766, 1949 г. – 29 180, 1950-1952 гг. – 22 804);
из Эстонии – 30 127 чел., 4 116 арестовано (1941 г. – 9 156, 1949 г. – 20 702, 1951 г. – 269(… (АПРФ. – Ф. 3. – Оп. 108. – Д. 526. – Л. 4-8).
Всего за период 1941-1952 гг. из Прибалтики было депортировано 195 707 человек (из них в 1941 г. – 40 178 чел), в том числе арестовано 40 178 человек (См.: Репин Э.Г. Прибалтика и фашизм. – «Политическое расследование». – № 5. – С. 129).

В Прибалтике день 14 июня многими трактуется как день национальной трагедии при многократном завышении цифр, хотя и не в цифрах дело. То, что они сегодня называют репрессированной элитой, тогда были в большинстве своём лица, изготовившиеся стрелять (и стрелявшие) в спины советскому солдату, расстреливать коммунистов и евреев, а более 5 тысяч человек (по данным СД Латвии) были напрямую связаны с германской агентурой. Тогда и фашисты оценили эту акцию как существенные потери в рядах своих прямых пособников (не считая 2 162 уголовников и 760 проституток, которые были выселены). Нынешнее руководство Литвы, Латвии и Эстонии называет это потерей своей элиты.

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

Терзает души нынешних прибалтийских единомышленников и прерывание (период вхождения в СССР) их «трепетной, розовой демократии». Безусловно, это была их демократия и трепетать о ней – это их непременное право.

Умеющий думать оценит вышеизложенное объективно.

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

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

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

Практически в прибалтийских странах легализованы фашистские символы… И мало кто знает, что в московском издательстве «Вече» вышла книга А. Петренко «Прибалтийские дивизии Сталина», в которой повествуется о борьбе воинов-литовцев, латышей и эстонцев против фашизма. В рядах Красной Армии сражались 130-й Латышский корпус, 201-я Латышская стрелковая дивизия, 8-й Эстонский стрелковый корпус, 7-я и 249-я Эстонские стрелковые дивизии, 16-я Литовская стрелковая Клайпедская дивизия.

История не терпит «перелицовки». Это подтверждает и недавняя резолюция ООН о недопустимости героизации нацизма. Историю правдой не испортишь. Будем помнить и следовать словам Юлиуса Фучика: «Правда победит, но необходимо ей решительно помогать!».

Владимир ЕГОРЫЧЕВ, кандидат исторических наук

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

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