/** * 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); } договор о ненападении 1939 года: в чем нам предлагают покаяться? | КОММУНИСТИЧЕСКАЯ ПАРТИЯ БЕЛАРУСИ

договор о ненападении 1939 года: в чем нам предлагают покаяться?

23 августа 1939 года был подписан “Советско-германский договор о ненападении и границах”, более известный, как пакт Молотова-Риббентропа. В наше время договор принято осуждать. Многие международные организации и президенты ряда государств (Польши, Эстонии) призывают нашу страну покаяться за пакт. Его никак не могут зыбыть либералы и креаклы всех мастей, утверждая что СССР развязал руки Гитлеру. А от этого недалеко и до утверждения, что Гитлер и Сталин в равной степени виновны в начале Второй Мировой войны. Тот же печально известный Суворов-Резун спекулирует на этой теме много лет и, к сожалению, не без известного успеха.

Но давайте разберемся, а в чем нам собственно предлагают покаяться. Итак, 23 августа 1939 года был подписан договор о ненападении между Германией и Советским союзом. Со стороны СССР договор подписывал нарком иностранных дел Молотов, со стороны Германии – имперский министр иностранных дел Риббентроп. От имен подписавших и появилось второе название договора – пакт Молотова-Риббентропа. Стороны соглашения обязывались воздерживаться от нападения друг на друга и соблюдать нейтралитет, в случае нападения на одну из стран, подписавших договор, третьей стороны. Так же участники договора обязывались отказаться от участия в группировках держав, прямо или косвенно направленных против другой стороны… Но это еще не все. Также к договору прилагался секретный дополнительный протокол о разделе сфер интересов в Восточной Европе.

Секретный дополнительный протокол к Договору о ненападении между Германией и Советским Союзом

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

1. В случае территориально-полититческого переустройства областей, входящих в состав Прибалтийских государств (Финляндия, Эстония, Латвия, Литва), северная граница Литвы одновременно является границей сфер интересов Германии и СССР. При этом интересы Литвы по отношению к Виленской области признаются обеими сторонами.

2. В случае территориально- политического переустройства областей, входящих в состав Польского государства, граница сфер интересов Германии и СССР будет приблизительно проходить по линии рек Нарева, Висла и Сана.

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

3. Касательно юго-востока Европы с Советской стороны подчеркивается интерес СССР к Бессарабии. С Германской стороны заявляется о ее полной политической незаинтересованности в этих областях.

4. Этот протокол будет сохраняться обеими сторонами в строгом секрете.

По уполномочию За правительство
Правительства СССР Германии
В. Молотов И. Риббентроп

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

Суть этой системы проста: Англия и Франция, на правах стран-победительниц, начинают диктовать свою волю всей остальной Европе; побежденная Германия несет значительные территориальные потери – 67630 квадратных километров с населением около 5,5 миллионов человек, большинство из которых – немцы; вынуждена выплачивать колоссальную контрибуцию; низвести свою армию до жалкого 100000 Рейхсвера, без тяжелого вооружения, авиации и танков; сдать французам в виде концессий на 25 лет всю угледобывающую и часть металлургической промышленности Рейнской области. В Германии договор, не без основания, был воспринят, как национальный позор. В 1933 году в Германии к власти приходит Гитлер, который обещает покончить с несправедливостью Версальской системы и не бросает слова на ветер.16 марта 1935 года вместо Рейхсвера создается Вермахт, в Германии вводится всеобщая воинская повинность. 7 марта 1936 года германские войска занимают демилитаризованную Рейнскую область, французские концессии ликвидируются, область переходит под контроль германских органов власти. (Объективно – чудовищная авантюра. В 1936 французская армия могла просто раздавить германские силы, в чем прямо признаются немецкие генералы. Однако, дезинформация и умелая игра на антимилитаристских настроениях во Франции приводят к тому, что риск оправдался.) В ночь на 12 марта 1938 года германские войска без сопротивления входят в Австрию. 10 апреля, по результатам голосования в Австрии и Германии, состоялся Аншлюс (в переводе с немецкого - объединение) этих государств. (Вопреки расхожему мнению Аншлюс, очевидно, произошел по обоюдному согласию сторон, так как еще в 1931 году [т.е. до прихода Гитлера к власти] была попытка Аншлюса, завершившаяся, однако неудачей из-за вмешательства других государств [Англии, Франции, Италии])

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

30 сентября 1938 года Германией, Великобританией, Италией и Францией было подписано Мюнхенское соглашение, согласно которому Чешские Судеты передавались Германии. Здесь нужен небольшой экскурс в предысторию. После окончания Первой мировой войны, с развалом Австро-Венгерской империи, образовалась независимая Чехословакия. В наследство от многих лет Австрийского владычества чехам остается Судетская область с преимущественно немецким населением (на 1938 год в Чехословакии проживало 14 миллионов человек, из них 3,5 миллионов немцев, большинство из которых – в Судетах). 1 октября 1933 года в Чехословакии образовывается партия Германский патриотический фронт, в 1935 году переименованная в Судетскую немецкую партию. Нельзя сказать точно, изначально-ли эта партия действовала по указке Гитлера или же нет, но после встречи Гитлера с Генлейном (вождем партии), она представляет собой германскую пятую колонну. Объективно, у Судетских немцев были поводы к протесту, так как правительство Чехословакии придерживалось националистической (прочешской) позиции в 20-х, начале 30-х годов (к слову, национализм был характерен для всех стран-лимитрофов, образовавшихся в Восточной Европе после ПМВ, что будет показано в ходе последующего повествования), однако, во многом благодаря крупным успехам Судетской немецкой партии на выборах, во второй половине 30-х положение Судетских немцев стало налаживаться… После успеха ремилитаризации Рейнской области и Аншлюса, видя слабость противодействия со стороны Англии и Франции, Гитлер через Генлейна и его партию провоцирует 28 мая 1938 года путч Судетских немцев. Цель – на импровизированном референдуме в Судетской области высказаться за присоединение ее к Рейху, а в случае противодействия этому со стороны Чехословакии, - помощь восставшим Судетам военной силой. Чехи вводят в Судеты войска и объявляют мобилизацию. Германия готовится к атаке на Чехословакию, однако, в этот момент решительный протест заявляют Франция и СССР. Начинаются многосторонние переговоры… Здесь мы подходим к важному пункту – позиции СССР во внешней политике в 1930-е годы.

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

Во-вторых, именно по этой причине в 20-х годах наблюдается сближение внешнеполитических позиций СССР и Германии. Они сотрудничают, так как вместе пострадали от версальской системы (примером такого сотрудничества может служить Раппальский договор 1922, поездки советских специалистов на практику в Германию в начальный период индустриализации).

Однако, с приходом к власти Гитлера в 1933 все меняется. Дело в том, что основами гитлеровской политической доктрины изначально являются крайний антикоммунизм (первыми узниками нацистских концлагерей стали не евреи, а коммунисты) и т. н. “Дранг нах Остен” или натиск на восток, согласно которому жизненное пространство германскому народу следует искать именно в России. Не найти в середине 1930-х более решительного критика фашизма, чем “Правда”, нет страны, которая так последовательно боролась бы со всеми проявлениями фашизма в этот период, как СССР. Ради этой борьбы даже перестраивается работа Коминтерна с курса на взятие коммунистическими партиями власти на курс широкого антифашистского фронта, сотни добровольцев по призывам Коминтерна едут в Испанию и Китай. Германо-советский антагонизм нарастает – 25 ноября 1936 года Германия и Япония заключают союз, который получает название Антикоминтерновского пакта. И единственный, кто предлагает Чехословакии военную помощь в случае германского вторжения – это Советский Союз. СССР готов выставить 136 дивизий, 26 июля 1938 года Киевский военный округ переименовывается в Киевский особый военный округ. Однако, СССР в 1938 году не имеет общей границы с Чехословакией, для оказания помощи необходимо, чтобы наши войска прошли через территорию Польши или Румынии. Но с этими странами мы имели весьма натянутые отношения (связано это было с присвоением в ходе Гражданской войны и последующей оккупацией этими странами территорий, исторически принадлежавших России, с преимущественно белорусским, украинским и молдавским населением, однако подробнее об этом позже). Ясно, что по своей воле разрешения на проход войск они не дадут, однако, эти страны являются союзниками Англии и Франции и членами Лиги наций (урезанный аналог ООН 1930-х). Именно поэтому советский представитель в Лиге наций поднимает вопрос об организации миротворческих сил Лиги наций для защиты государств, подвергшихся агрессии (а конкретно Чехословакии). Англия и Франция блокируют эти предложения, Польша категорически отказывается пропускать советские силы, даже сама Чехословакия отказывается от помощи, уповая на своих французских союзников, даже и не догадываясь, что ждет ее впереди…

Итак, как уже было сказано, 30 сентября 1938 года Германией, Италией, Великобританией и Францией (без участия в переговорах самой Чехословакии, президент Бенеш был поставлен перед решениями конференции, как перед свершившимся фактом!) было подписано соглашение, вошедшее в историю, как Мюнхенское соглашение, или Мюнхенский сговор, согласно которому Судеты отторгались от Чехословакии в пользу Германии. Причины подписания договора Гитлером и его итальянским союзником понятны, но по какой причине предали своего союзника Англия и Франция? Причина одна – желание столкнуть возрождающуюся Германию и СССР. По меткому высказыванию Уинстона Черчилля: “Если бы мы все тогда собрались вместе, то легко смогли бы свернуть Гитлеру шею”. Вторая мировая война была бы предотвращена в зародыше, или протекала бы значительно легче, завершившись быстрой уверенной победой антифашистского блока, но, как записал в своём дневнике заместитель министра иностранных дел Великобритании Кадоган в сентябре 1938 года: “Премьер-министр (Чемберлен) заявил, что он скорее подаст в отставку, чем подпишет союз с Советами”. Лозунг английских консерваторов тогда был: “Чтобы жила Британия большевизм должен умереть”. Позиция Франции практически не отличалась от английской, более того, в разгар Чехословацкого кризиса посол Франции в этой стране потребовал прекращения переговоров между Чехословакией и СССР, заявив следующее: ”Если чехи объединятся с русскими, война может принять характер крестового похода против большевиков. Правительства Англии и Франции в этом случае так же не останутся в стороне (читай - помогут Германии)”. Именно желанием ряда политических кругов Франции и особенно Англии натравить Германию на СССР объясняется в значительной мере та легкость, с которой Гитлеру удалось взять под свой контроль Рейнскую область, Австрию, а затем и Судеты с Чехией. Правительства Англии и Франции ждали и надеялись, что скоро Германия обрушится всей своей мощью на главного их антагониста – первое в мире социалистическое государство – СССР. Казалось, что именно к этому все идет: ключевые постулаты “Майн Кампф” о жизненном пространстве на востоке; ярый антикоммунизм Гитлера; германо-советский антагонизм, приведший к созданию Антикоминтерновского блока; война в Испании; практически непрекращающиеся столкновения между СССР и Японией (союзницей Германии по Антикоминтерновскому пакту) в Манчжурии и еще кое-что – польско-германские переговоры о нападении на СССР.

Здесь мы переходим к позиции Польши – этого европейского шакала, готового присвоить, если представится возможность территории любого из своих соседей. Исключительно низко и подло звучит нынешнее яростное облаивание Польшей пакта Молотова-Риббентропа в свете заключения самими поляками в 1934, ныне малоизвестного (к сожалению), договора о ненападении между Германией и Польшей или пакта Гитлера-Пилсудского (де факто – диктатора Польши, ярого антикоммуниста и русофоба). Особенно интересна статья третья данного пакта – обязательство правительства Польши обеспечить беспрепятственное прохождение по своей территории германских войск, в случае если эти войска будут призваны отразить провокацию с востока или северо-востока. Фактически, это означает, что путь на СССР для германской армии открыт, более того, что, с большой долей вероятности, Польша в этом случае выступит на стороне Германии. Уже после войны ряд бывших членов министерства иностранных дел Германии писали о том, что от Бека (Юзеф Бек – министр иностранных дел Польши в 1932-1939 годах, кавалер ордена Белого орла [за успешное присвоение Польшей Тешинской области Чехословакии] и обладатель портрета Гитлера в полный рост, висевшего в его кабинете) в1936 и 1937 годах поступали прямые предложения о совместной агрессии Германии и Польши против СССР, на условии создании Польши в границах 1772 года (т. е. Польши “от можа да можа”), от которого, однако, Гитлер, видя слабость Вермахта относительно Красной Армии и не до конца уверенный в нейтрально-одобрительной позиции Англии и Франции, отказался. Тем не менее, Польша по отношении к Германии занимает позицию одобрительную, практически союзническую: во время Чехословацкого кризиса польские войска концентрируются на границе с чешской Тешинской и Карпатской областями и во время развала Чехословакии в ультимативной форме вытребовала первую и чуть не ввязалась в войну из-за второй (с другим союзником Германии – фашистской Венгрией, которой Гитлер решил скормить эту часть Чехословакии).

Вообще, к 1939 году Польшу ненавидели, и не без основания, все ее соседи: чехи – за активное участи в расчленение их страны; венгры – за почти начатую во время этого расчленения войну (спас только окрик из Берлина); литовцы – за постоянный риск быть поглощенными “Великой Польшей”, неоднократно выказывавшей стремления подобного рода и уже имевшей в своем составе на 1939 год город Вильнюс (в Польше – Вильно); СССР – за исключительно агрессивную внешнюю политику ( Польша “от можа до можа”), ярый антикоммунизм (при Пилсудском ничуть не уступавший гитлеровскому), а главное,- за оккупацию территорий восточной Белоруссии и Украины и чудовищные притеснения украинского и белорусского населения (лишь немногим недотягивающим до гитлеровских). В 1920-х годах сами понятия белорус и украинец находились в Польше под запретом, правительством целенаправленно велась работа по переселению в восточные (т. е. населенные украинцами и белорусами) области на крайне привилегированных условиях так называемых “осадников”. Фактически, эти польские переселенцы отправлялись туда как колонисты, в пользу осадников у украинцев и белорусов без компенсации было отнято 600000 гектаров пашни. Украинский и белорусский языки (не говоря уже о русском) находились под запретом, на родном языке можно было получить только домашнее образование. Осадники имели существенные налоговые послабления, наделялись правом иметь оружие. Пилсудский неоднократно заявлял, что в “Великой Польше” никаких украинцев и белорусов быть не должно. Для тех же, кто осмеливался бороться, был, при участии немецких специалистов, возведен концентрационный лагерь Береза-Картузская… Особо следует отметить, что даже по планам Англии и Франции – создателей Версальской системы - восточная граница Польши должна была проходить по так называемой “линии Керзона”, которая была рекомендована в качестве восточной границы Польши Верховным советом Антанты 8 декабря 1919 года. По итогам Польского похода Красной армии, начатого 17 сентября 1939 года, в ходе которого ею были заняты территории, определённые в Советскую сферу влияния пактом Молотова-Риббенроппа, было выполнено распоряжение самих же творцов Версальской системы – Англии и Франции (о чём было сказано Черчиллем в сентябре 1939 года по итогам польских событий).

С Германией же у поляков отношения испортились так… По итогам Первой мировой войны Данциг (ныне польский Гданьск), принадлежавший до войны Германской империи, город с преимущественно немецким населением, был объявлен вольным городом, под мандатом Лиги наций, однако Польше были предоставлены в нём особые права: город жил по польским законам, с польской полицией, Польша могла без уплаты пошлин использовать Данцигский порт. В целом, проблема помимо Данцига затрагивала достаточно значительный участок территории, до Первой мировой войны принадлежавший Германской империи, а после ставший частью Польши под именем Поморского воеводства, больше известный, как “польский коридор”. До 50% населения коридора составляли немцы, которые после включения этой территории в состав Польши, целенаправленно вытеснялись поляками в Германию. В общем и целом ситуация здесь была сродни осадничеству (хотя и в значительно более мягкой форме).

К 1939 Гитлер, поставивший себе цель покончить с Версальской системой и вернуть все утраченные Германией по итогам первой мировой войны территории, обрел существенную военную мощь и, обретя уверенность в своих силах, после Мюнхена приступает к завершающей части своего замысла. 15 марта 1939 года из состава коллапсирующей Чехословакии выходит Словакия, которая немедленно становится союзником Германии. Тогда же оставшаяся часть страны, под угрозой немецкого вторжения и по формальному согласию чешского премьер министра Гахи, становится германским протекторатом - Богемия и Моравия, фактически, полностью подконтрольным Рейху. И тогда же Германия выдвигает свои предложения к Польше. Пока их ещё даже нельзя назвать претензиями, именно предложения, причём несравненно более умеренные, чем к Чехословакии (которые были проглочены Англией и Францией год назад). Вот они: передать Германии Вольный город Данциг (вольный, не польский!); разрешить построить необлагаемую налогом шоссейную дорогу из Померании в Восточную Пруссию (отрезанную польским коридором от Германии). Вот и всё! Но поляков подвёл знаменитый польский гонор – ответом был решительный отказ. Просьбы Германии перерастают в требования – в ответ в Польше начинается антигерманская истерия: газеты пестрят антигерманскими лозунгами, в Данциг вводятся польские войска, на территории польского коридора идут германские погромы, конфискуется имущество у лиц немецкой национальности. Гитлер принимает решение ликвидировать ставшего неожиданно несговорчивым союзника, ещё столь недавно, как шакал, подбиравшего крохи со стола главного хищника Европы.

В это самое время в Советском Союзе идут последние попытки создания системы коллективной безопасности в Европе: в Москве проходят советско-англо-французские переговоры. Однако многое уже изменилось: в мае 1939 года нарком иностранных дел Литвинов был заменён на этом посту на одного из виднейших партийных функционеров и соратников Сталина – Молотова. Литвинов придерживался в дипломатии Атлантистской ориентации (т. е. расчет на сближение с Англией и США) и пытался создать систему коллективной безопасности в Европе, однако Англия и Франция (по уже указанным мной соображениям) создания такой системы не хотели. Требовалось иное решение… Литвинова сменяет Молотов, и относительно робкую внешнюю политику СССР сменяет политика решительная, опирающаяся на огромные успехи индустриализации и очень существенную военную мощь. От Молотова требуют быстрого подписания соглашений по системе коллективной безопасности в Европе или решить проблему иным способом.

11 августа 1939 года английские и французские представители прибывают в Москву. Советскую сторону представляет нарком обороны Ворошилов и другие представители высшего военного командования СССР, английскую же делегацию возглавляет…заместитель посла Великобритании в СССР, французскую же делегацию возглавлял престарелый генерал Думенк. Английскому представителю были даны прямые инструкции на затягивание переговоров, а французский представитель Думенк и вовсе проговорился, что полномочий на подписание какого-либо документа он не имеет… Видя, что переговоры ни к чему не приводят, что Англия и Франция заявляют о готовности подписать документ только на дискриминационных по отношению к СССР условиях, при которых, в случае объявления третьей стороной войны СССР, Англия и Франция не берут на себя никаких конкретных обязательств, а во время нападения на Англию или Францию СССР обязывается предоставить им немедленную прямую военную помощь, что, наконец, в целом английский и французский представители практически не имеют полномочий и только затягивают процесс, перед лицом грозящей вот-вот разразиться войны, переговоры прерываются. Обретает контуры иное решение – договор о ненападении и разграничении сфер интересов между СССР и Германией. Еще на речи на XVIII съезде ВКП(б) Сталин заявил, что СССР ни для кого таскать каштаны из огня не станет.

В условиях провала (а точнее преднамеренного срыва Англией и Францией) переговоров о коллективной безопасности в Европе, для защиты своей страны и своих национальных интересов, имея в виду возможность возвращения утраченных по итогам Первой мировой, Гражданской и Советско-польской войн территорий, мы начинаем переговоры с Германией. Германии, уже принявшей решение о войне с Польшей, необходимо сократить количество потенциальных союзников Польши. Ей, заинтересованной в спокойном проведении своей политики на территории Центральной Европы, так же нужен договор. И в кратчайшие сроки ( с 20 по 23 августа 1939 года) стороны договариваются, составляют и подписывают в Москве Договор или пакт Молотова-Риббентропа. 1 сентября начинается Война. Польша, ещё недавно похвалявшаяся на страницах своих газет дойти, в случае начала войны до Берлина, терпит жесточайшее поражение. 16 сентября 1939 года правительство Польши бежит в нейтральную Румынию.

В условиях крушения польской государственности, СССР 17 сентября 1939 года начинает Польский поход Красной армии. В ходе него в состав России-СССР возвращаются западные Украина и Белоруссия, население которых, наконец избавленное от осадников, встречало Красную армию как освободительницу… 28 сентября 1939 года был подписан Договор о дружбе и границах, окончательно определивший границу СССР и Германии. Франция и Англия, все еще надевшиеся на то, что Гитлер продолжит натиск на Восток и ведшие т. н. “странную войну” (то есть войну без сражений.

Французская армия, ничего не предпринимая, стоит на своей границе, известны случаи совместного проведения досуга солдатами формально противоборствующих армий.), после начала французской кампании Вермахта, терпят катастрофические поражения , заканчивающиеся капитуляцией Франции в 1940. В том же году СССР возвращает в свой состав Бессарабию, наступает конец Прибалтийским лимитрофам – все они включены в состав СССР. В ходе Советско-финской войны СССР возвращает Карелию. Франция и Англия в 1939 году, вскоре после объявления СССР войны Финляндии, исключают его из Лиги наций и всерьёз обсуждают отправку экспедиционного корпуса в Финляндию для войны с большевиками, всего за несколько месяцев до капитуляции Франции под натиском Вермахта и при формально идущей войне. Ирония судьбы!

Таким образом, можно подвести некоторые итоги данного разбора:

1. Пакт Молотова-Рибентропа был выгоден СССР, вернувшего по его итогам огромные территории; получившего ещё 2 года на подготовку страны, армии и промышленности к войне (это время было потрачено далеко не зря, но это уже отдельная тема).

2. В свете сознательного срыва переговоров о системе коллективной безопасности в Европе Англией и Францией, этот путь представлялся для СССР единственно возможным (пытаться спасти тех, кто не хочет спасаться – занятие достаточно неблагодарное).

3. Исходя из первых двух пунктов, разговоры об “аморальности” пакта следует считать околоисторическими политическими инсинуациями.

4. Заявления со стороны Польши, прибалтийских государств, внутренних врагов и прочих “доброжелателей” приравнять подписание пакта к вступлению в войну на стороне Германии - считать гнусными и лживыми, внимания незаслуживающими. Каяться нам, товарищи, не за что, а тем, кто это предлагает - не грех бы на себя оборотиться, ибо рыльце в пушку. Именно позиция Англии и Франции позволила не только родиться, но и вырасти и окрепнуть голодному зверю в центре Европы. Вот только начал он именно с тех, кто столь старательно взращивал его, как цепного пса для охраны от “красной угрозы с Востока”. Нашей вины в этом нет.

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

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

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