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

Памяти павших будем достойны! Мифы о Великой Отечественной войне (часть 2)

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

Предвоенное время
Одним из самых распространенных является проплаченный Западом миф о так называемом пакте Молотова-Риббентропа, а точнее, о причинах подписания этого договора. Утверждается, будто бы Сталин так боялся Гитлера, что хотел стать его союзником и помогать в войне против Европы, и что в итоге подписание договора оказалось невыгодным для СССР. На самом деле подписание данного пакта являлось политической победой СССР. Без каких-либо материальных или людских потерь Советский Союз смог:
- отсрочить начало войны, что дало время для подготовки армии и укрепления обороны;
- разрушить планы японцев ударить по СССР вторым фронтом, чего они всеми силами пытались добиться — подписание пакта вынудило их просить перемирия на Халхин-Голе;
- получить в сферу своих интересов независимую Прибалтику, а затем присоединить ее, избежав при этом противодействия Германии и Запада;
- присоединить Западную Украину и Западную Белоруссию — вхождение в состав Советского Союза новых западных территорий позволило существенно увеличить путь немецким танкам до ключевых городов СССР (в среднем в ходе границы СССР отодвинулись к западу на 600 км);
- предотвратить создание
коалиции Германии и стран Европы против СССР, что впоследствии заставило Гитлера воевать на два фронта.

Миф: СССР напал на слабую Польшу, поддержав тем самым Третий Рейх
СССР действительно провел военную кампанию против Польши в сентябре 1939 года, разделив ее территорию с Германией. Но это событие многими трактуется совершенно неверно.

Планы Германии о нападении на Польшу и возможные реакции СССР
Уже после войны на Нюрнбергском процессе было установлено, что 11 апреля 1939 г., то есть задолго до подписания пакта о ненападении с СССР, Гитлер утвердил «Белый план» нападения на Польшу, а 3 апреля наметил его дату — «не позднее 1.09.1939 г.»[2] Таким образом, инициатива начала войны и захвата Польши принадлежала не СССР и осуществить план нападения предполагалось вне зависимости от позиции СССР.

Перед СССР был выбор между полным невмешательством, попытками поддержать Польшу либо принятием участия в ее очередном разделе. Невмешательство, очевидно, было самым невыгодным вариантом — отдать всю Польшу Германии означало бы чрезмерно приблизить к советским промышленным центрам и чрезмерно усилить враждебно настроенный к коммунистам и русским 3-й Рейх, который мог бы далее напасть на СССР в коалиции с другими европейскими странами. Да и не мог СССР просто так отдать нацистам жителей Западной Украины и Белоруссии.

Нежелание Польши сотрудничать с СССР
На вопрос, а что же мешало Советскому Союзу поддержать Польшу в войне с Германией, ответ прост: Польша попросту не желала поддержки СССР. Более того, менее чем за год до польской кампании Польша сама была не прочь оказаться на стороне Германии в будущей войне с СССР.

Из письма посла Польши в Германии Ю. Липского министру иностранных дел Польши Ю. Беку от 1 октября 1938 г.:
«В случае польско-советского конфликта правительство Германии займет по отношению к Польше позицию более чем доброжелательную. При этом он дал ясно понять, что правительство Германии оказало бы помощь<.>Совершенно невероятно, чтобы рейх мог не помочь Польше в ее борьбе с Советами».

Из беседы советника посольства Германии в Польше Р. Шелии с вице-директором политического департамента министерства иностранных дел Польши М. Кобыляньским:
«Если Карпатская Русь отойдет к Венгрии, то Польша будет согласна впоследствии выступить на стороне Германии в походе на Советскую Украину.»

Из беседы советника посольства Германии в Польше Р. Шелии с посланником Польши в Иране Я. Каршо-Седлевским от 28 декабря 1938 г.:
«Для Польши лучше до конфликта совершенно определенно стать на сторону Германии, так как территориальные интересы Польши на западе и политические цели Польши на востоке, прежде всего на Украине, могут быть обеспечены лишь путем заранее достигнутого польско-германского соглашения. Он, Каршо-Седлевский, подчинит свою деятельность в качестве польского посланника в Тегеране осуществлению этой великой восточной концепции, так как необходимо, в конце концов убедить и побудить также персов и афганцев играть активную роль в будущей войне против Советов.»

Из беседы министра иностранных дел Германии И. Риббентропа с министром иностранных дел Польши Ю. Беком от 26 января 1939 г.:
«Г-н Бек не скрывал, что Польша претендует на Советскую Украину и на выход к Черному морю.»

В 1938 году Польша не позволила войскам СССР прийти на помощь Чехословакии, когда ту аннексировал Гитлер. Более того, за это, после захвата Чехословакии, Гитлер позволил Польше аннексировать часть территории Чехословакии (Тешинскую область).

Польша отказалась принимать помощь СССР даже в августе 1939, когда военное столкновение между 3-м Рейхом и Польшей стало практически неизбежным. Так, 19 августа маршал польской армии Эдвард Ридз-Смиглы гордо заявил:
«Независимо от последствий, ни одного дюйма польской территории никогда не будет разрешено занять русским войскам.»

Заметим, что на тот момент пакт Молотова-Риббентропа еще не был подписан и Германия с СССР были врагами, но вариант помощи со стороны СССР Польшей не рассматривался.

Предательство Польши союзниками — Англией и Францией
А на чью же помощь тогда рассчитывала Польша? На помощь своих западных союзников — Англии и Франции. Ведь совокупных сил возможного альянса Польша-Франция-Англия было достаточно, чтобы разгромить армию Гитлера до того, как она успела окрепнуть. На Западном германском фронте численность французских войск в несколько раз превосходила численность немецких, у которых при этом не было ни одного танка. И неудивительно: все силы Гитлер бросили на войну с Польшей. Воспользовались ли преимуществом союзники? Увы, нет. На западном фронте началась так называемая странная война, которая вроде бы шла, а никаких крупных боевых действий не предпринималось.[7] Фактически польские союзники сдали Польшу Гитлеру, как до того сдали Чехословакию и Австрию куда более слабому в то время Рейху.

Германия не нуждалась в военной помощи СССР, чтобы разгромить Польшу
И что же оставалось в такой ситуации сделать Советскому Союзу? Ввести свои войска в восточную Польшу (то есть, в Западную Украину и Западную Белоруссию). Никакой военной помощи 3-му Рейху советские войска этим не оказали. Ведь произошло это лишь 17 сентября, когда польская армия была разбита, Варшава пала, а польское правительство, «поджав хвосты» бежало за границу. СССР, конечно же, мог постоять в сторонке и понаблюдать, но в таком случае Германия готовилась оккупировать всю Польшу. Но инициатива СССР не только позволила защитить этнических белорусов и украинцев, но и отодвинула будущую линию фронта на 300 километров на запад, что позволило выиграть время в грядущей войне.

Нежелание Великобритании и Франции сотрудничать с СССР в 1939 году
При этом практически до самого последнего момента перед подписанием пакта с Германией СССР вел переговоры с Англией и Францией, но те не проявили интереса к созданию коалиции с СССР против Германии. Возможно, Англия и Франция рассчитывали на то, что после поражения Польши немецкие нацисты направили бы свои дальнейшие усилия на Восток и столкнулись бы со своими злейшими врагами — коммунистами, и уже после столкновения Германии с СССР и тяжелой ослабившей обоих противников борьбы англичане и французы смогли бы всерьез вмешаться в войну и решить ее исход к своей собственной выгоде, выступив на той или иной стороне. Но этот их план удался лишь частично и с запозданием: после заключения пакта с СССР и раздела Польши Гитлер направил агрессию на Запад, а не на на Восток, и в короткий срок нанёс неожиданное сокрушительное поражение Франции, оккупировав её и вступив в полноценную войну с Англией в небе и на море. И лишь спустя более полутора лет Гитлер все-таки пошел на Восток, на СССР. Таким образом, заключение пакта не только спутало англо-французские планы и выиграло время для СССР, но и во многом предопределило союз Запада с СССР против Гитлера.

Миф: СССР развязал Вторую мировую войну
Резунизм

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

Книги Суворова-Резуна пестрят фактическими ошибками, передергиваниями и просто откровенным враньем. Несмотря на это у него довольно много сторонников, в том числе в России. В качестве «разбора полетов» Резуна-Суворова рекомендуются к прочтению:

«Как Виктор Суворов сочинял историю» Владимира Грызуна — отличная стебная книга, написана легко и с изрядной долей здорового юмора.

«Антисуворов» Алексея Исаева — намного более «академичная», но от этого не менее интересная книга.

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

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

Продолжение статьи читайте в следующем номере газеты «Коммунист Беларуси. Мы и время»

Автор: 
по материалам пресс-службы КПУ
Номер газеты: 

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

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