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

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

ЯЛТА-1945: УРОКИ ИСТОРИИ ДЛЯ СОВРЕМЕННОСТИ

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

Дело в том, что все основные решения Ялтинской конференции основывались на фундаментальном принципе советской внешней политике о мирном сосуществовании государств с различным общественно-политическим и экономическим строем. Именно из этого принципа вытекала философия советской внешней политики и дипломатии о неделимости мира и безопасности для всех стран и народов, заявленная Советским Союзом еще в 1930-е годы при разработке проекта создания системы коллективной безопасности для противодействия агрессии фашистских государств в Европе и в Азии.

В 1933-1937 годах развернулась острая борьба между двумя противоборствующими силами: между Советским Союзом, возглавлявшим силы мира и прогресса, и фашиствующими странами, пользовавшимися поддержкой мировой реакции. Здесь важно уяснить понятие «фашизм», поскольку в настоящее время это общесоциальное понятие пытаются подменить узконациональным «нацизм». «Фашизм», - как отмечает известный российский историк Л.И. Ольштынский, - это социально-политическое явление первой половины XX века, последствие Первой мировой войны. Фашизм – общее понятие, он имеет различные национальные формы: итальянский фашизм (родоначальник явления с 1920-х гг.); германский фашизм – нацизм; японский фашизм – японский милитаризм. Сущность у них одна – наиболее реакционная, террористическая диктатура крупного капитала с целью порабощения других народов путем войны – агрессивный империализм. Японский фашизм не менее чудовищен, чем германский. В странах-сателлитах этих ведущих фашистских держав – Венгрии, Румынии, Болгарии, Норвегии и других, устанавливались национальные формы фашизма. Ныне фашизм возрождается также в национальных формах.

После утверждения фашизма в Германии создается в 1936 году военно-политический союз фашистских государств под названием «Антикоминтерновский пакт», официально для борьбы с СССР, фактически для завоевания мирового господства с установлением «нового мирового порядка». Германия намечала создание «Тысячелетнего Рейха» в Европе как центра своих интересов в мире, Италия – «Римской империи», Япония – «Зоны великого процветания Азии». Что за «новый порядок» нес фашизм народам мира свидетельствуют материалы Нюрнбергского, Токийского и Хабаровского трибуналов. В опровержение антисоветских фальсификаций следует подчеркнуть, что советское социалистическое общество – общество социального и национального равноправия антагонистично фашизму. Советский Союз был главным идеологическим и политическим противником фашизма, и всякое приравнивание социализма к фашизму есть безграмотная и злостная клевета» [1, c. 136-137].

Борьба между СССР и фашистскими государствами шла по основному вопросу – мир или война. СССР выступал за мир, за развитие равноправного взаимовыгодного торгово-экономического сотрудничества с капиталистическими странами.

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

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

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

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

Именно поэтому разоблачение подоплеки фальшивого миролюбия фашистских правительств и их внезапной «приверженности» двусторонним договорам о ненападении было одной из важнейших задач советской внешней политики и дипломатии. Нарком иностранных дел СССР М.М. Литвинов говорил, что «двусторонние пакты о ненападении не всегда служат целям мира. Самое заведомо агрессивное государство может заключать пакты о ненападении с одними государствами, чтобы развязать себе руки и обеспечивать себе тыл или фланги для нападения на другие государства. Мы знаем примеры, когда государство, упорно отказываясь от заключения пакта о ненападении с одним соседом, с таким же упорством хочет навязать его другому соседу, действуя по принципу «divide et impera» (разделяй и властвуй)» [2, c. 723].

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

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

Антисоветское правительство Польши одно из первых ухватилось за троянского коня гитлеровской дипломатии о двусторонних соглашениях: оно дало согласие на заключение договора о ненападении с Германией, который и был подписан в форме декларации 26 января 1934 года. «Этот пакт нужен был Гитлеру для того, - говорится в исторической справке «Фальсификаторы истории», - чтобы расстроить ряды сторонников коллективной безопасности и показать на этом примере, что Европа нуждается не в коллективной безопасности, а в двусторонних соглашениях. Это давало возможность немецкой агрессии самой решать…на кого и когда произвести нападение. Несомненно, что немецко-польский пакт был первой серьезной брешью в здании коллективной безопасности» [3, c. 14].

Антисоветское и русофобское правительство Польши заключает договор о ненападении с Германией и начинает рассматривать себя в качестве союзника немецкого фашизма. Как отмечал известный российский интеллектуал Станислав Куняев, «поляки очень хотят забыть позорные страницы своей истории, когда Польша изо всех сил старалась вписаться в европейскую фашистскую империю, которую выстраивал с середины 30-х годов Адольф Гитлер» [4, с.120]. Польский посол в Париже Ю. Лукасевич 25 сентября 1938 года высокомерно заявил послу США У. Буллиту: «Начинается религиозная война между фашизмом и большевизмом, и в случае оказания Советским Союзом помощи Чехословакии Польша готова к войне с СССР плечом к плечу с Германией. Польское правительство уверено в том, что в течение трех месяцев русские войска будут полностью разгромлены, и Россия не будет более представлять собой даже подобие государства» [ 5 ]. Таким образом, панско-шляхетская Польша, всячески противодействуя созданию системы коллективной безопасности в Европе, объективно сыграла роль поджигателя Второй мировой войны, в огне которой сгорела и сама Речь Посполитая.

Ялтинская конференция 4-11 февраля 1945 года – это триумф советской внешней политики и дипломатии. То, что не удалось сделать СССР по созданию системы коллективной безопасности для мирового сообщества в 1930-годы, было полностью реализовано на Ялтинской конференции.

В Ялте была подписана Декларация об Освобожденной Европе, определившая принципы послевоенной политики победившей Антифашистской коалиции. Она предполагала, в частности, восстановление суверенных прав народов на освобожденных от фашизма территориях. В декларации говорилось: «Установление порядка в Европе и переустройство национально-экономической жизни должно быть достигнуто таким путём, который позволит освобождённым народам уничтожить последние следы нацизма и фашизма и создать демократические учреждения по их собственному выбору».

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

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

Сталин добился согласия союзников по Антифашистской коалиции на то, чтобы в числе учредителей и членов ООН был не только СССР, но и как наиболее пострадавшие от войны Украинская ССР и Белорусская ССР. И именно в ялтинских документах появилась дата «25 апреля 1945 года» — дата начала Сан-Францисской конференции, которой было предназначено выработать Устав ООН.

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

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

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

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

Какие уроки истории «Ялты-1945» вытекают для современности?

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

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

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

В-четвертых, необходимо проводить бескомпромиссную государственную политику в наших странах и на международной арене, направленную на разоблачение фальсификаций истории Второй мировой войны и истории Великой Отечественной войны, а также законодательного запрета глорификации и героизации фашизма, нацизма и коллаборационизма (бандеровцев, прибалтийских эсэсовцев, власовцев, аковцев) и их символики, которые пышным цветом расцвели в ряде постсоветских стран (Украина), в государствах Европейского союза (Латвия, Литва, Эстония, Польша, Чехия) и в США.

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

Литература

1.Ольштынский, Л.И. Угроза фашистского мирового господства. Начало Второй мировой войны. Уроки истории //Политическое просвещение. – М., 2020. - № 1.
2.Внешняя политика СССР. Сборник документов. – М., 1945. – Т. III.
3.Фальсификаторы истории. Историческая справка. – М., 1952.
5.Куняев, Станислав. Русский полонез. – М., 2006.
6.Крестовый поход Запада против России // http: // www. km. ru (дата доступа: 20.07.2015).

Лев Криштапович, доктор философских наук

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