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

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

НАЦИОНАЛЬНО-ОСВОБОДИТЕЛЬНЫЙ ХАРАКТЕР ГРАЖДАНСКОЙ ВОЙНЫ В НАШЕМ ОТЕЧЕСТВЕ

К 100-летию окончания Гражданской войны в России

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

Идея расчленения и закабаления России получила конкретное выражение в решениях англо-французской конференции 9-10 декабря 1917 года, а 23 декабря было подписано соглашение о совместной интервенции и разделе сфер влияния под названием «Условия конвенции, согласованной в Париже 23 декабря 1917 г.» В нем предусматривалась зона английского влияния – территория казаков, Армения, Грузия; французская зона – Бессарабия, Украина, Крым. Генералу М.В.Алексееву на организацию армии в Новочеркасске (Добровольческая армия) выделялось 100 млн. руб. Этот план поддержало правительство США. Расчленение России должно осуществляться, по мнению американского руководства, путем «признания временных правительств в различных районах России, предоставления помощи этим правительствам и через эти правительства».

Первой начала интервенцию Румыния, оккупировав в начале 1918 года Бессарабию. 9 марта 1918 года в Мурманске высадился английский десант, затем к нему присоединились французские и американские войска. В начале апреля 1918 года между правительствами США, Японии, Англии и Франции достигнуто соглашение о начале совместной интервенции на Дальне Востоке и в Сибири. 5 апреля 1918 года японцы высадились во Владивостоке, затем сюда прибыли американские, французские и английские интервенты. Общее количество интервентов составляло 100 тысяч солдат и офицеров, из них больше половины японские. «Вскоре Забайкальская, Амурская и Приморская области оказались оккупированными интервентами».

Зловещую роль в развертывании иностранной интервенции сыграл мятеж cформированного из военнопленных чехов и словаков чехословацкого корпуса. Этот корпус (50 тысяч человек) с 15 февраля 1918 года был включен в состав французской армии. Эшелоны корпуса растянулись от Пензы до Владивостока. Мятеж был подготовлен руководством Антанты в апреле-мае 1918 года в качестве «авангарда союзной армии для проведения интервенции».

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

Уинстон Черчилль ликовал: «Вся русская территория от реки Волги до Тихого океана, почти не меньшая по размерам, чем африканский континент, перешла под контроль союзников».

После окончания Первой мировой войны (ноябрь 1918 г.) иностранная интервенция в Россию приобрела новых размах. На юге России высаживаются десанты, войска интервентов вводятся в Закавказье. Интервенты заняли Новороссийск, Севастополь, Херсон, Одессу, Николаев. Французские войска продвинулись в глубь Украины на 150 километров, англичане заняли Баку, Батум и Тифлис. К осени на Севере России было уже более 30 тысяч английских, французских, американских и белогвардейских солдат и офицеров. Дипломатические и военные миссии стран интервентов направляются в районы белого движения для оказания ему военно-экономической помощи.

Весной 1919 года объединенные силы интервентов и белогвардейцев начали новое наступление против Советской России. Для участия в этой интервенции привлекались армии белогвардейцев (Колчака, Деникина, Юденича, Миллера), а также войска Латвии, Литвы, Эстонии, Польши, Финляндии, Чехословакии, Сербии, Греции, Румынии и, наконец, собственные войска Антанты. «Общая численность войск малых государств, которые предполагалось использовать, по подсчетам Военного комитета Антанты, составляла как минимум 600-650 тыс. солдат и офицеров, а белогвардейцев – около 370 тыс. человек. Численность собственных войск союзников в России определялась в 310 тыс. человек.

Но дальнейший ход иностранной интервенции привел к неожиданному для интервентов повороту. Солдаты стран Антанты под революционным воздействием Русской революции и на практике удостоверившиеся в очевидной захватнической политике своих правительств начали отказываться от войны против Советской власти и потребовали от своего командования возвращения домой. Показательна в этом плане ситуация в Севастополе. Севастопольский гарнизон интервентов, состоящий из 22 тысяч греков, сенегальцев и французов, не проявил особого желания сражаться с красными, а 19-20 апреля 1919 года на французских кораблях произошли волнения – экипажи требовали возвращения домой. 1 мая 1919 года эскадра интервентов покинула Севастополь, и красные без боя вступили в город. Все это заставило Вильсона, а затем Ллойда-Джорджа и Клемансо заявить, что ни американских, ни английских, ни французских солдат нельзя больше посылать в Россию. Антанта вынуждена была увести войска с юга России и начать эвакуацию своих войск из района Архангельска и Мурманска. «Эта победа, - говорил Ленин, - которую мы одержали, вынудив убрать английские и французские войска, была самой главной победой, которую мы одержали над Антантой. Мы у нее отняли ее солдат».

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

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

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

Следующие свидетельства. В январе 1921 года в Париже прошло совещание 33 членов бывшего Учредительного собрания под руководством Милюкова и Керенского. Оно отмечало, что внутренняя контрреволюция сознательно пошла на приглашение иностранных войск из-за своего бессилия, хотя отдавала себе отчет о совершении этим предательства национальных интересов. Совещание признало, что «приглашение союзников» обернулось захватом ряда регионов на территории России в безраздельное владение оккупантов».

«Белая» идея «спасения и восстановления Российского государства», - как писал Деникин, - «все более вырождалась в борьбу за реванш» свергнутых господствующих классов, разгул насилия, злобную мстительную расправу сознающей свое бессилие реакции.

Выход России из состояния катастрофы смогли предложить только Ленин и большевики. Кстати, это признал эмигрировавший философ Николай Бердяев, прямо писавший: «Ленин и большевики спасли Россию». Признал это и великий князь Александр Михайлович Романов – брат императора Александра III, дядя и близкий друг императора Николая II. Вот слова из книги «Воспоминаний», изданных в США и во Франции в 1933 году, этого представителя монаршей семьи, потерявшего в горниле революции и гражданской войны более 20 ближайших родственников, но нашедшего силы написать: «…на страже русских национальных интересов стоял не кто иной, как интернационалист Ленин, который в своих постоянных выступлениях не щадил сил, чтобы протестовать против раздела бывшей Российской империи, апеллируя к трудящимся всего мира…». Напомним, что с трибуны Мавзолея 7 ноября 1941 года уходившие на защиту Москвы воины прямо с парада по случаю годовщины Великого Октября напутствовались Верховным Главнокомандующим Сталиным словами: «Пусть осенит вас непобедимое знамя великого Ленина! За полный разгром немецких захватчиков! Смерть немецким оккупантам! Да здравствует наша славная Родина, ее свобода, ее независимость! Под знаменем Ленина – вперед, к победе!».

Один из идеологов белогвардейщины, потомок рюриковичей, Василий Витальевич Шульгин, будучи уже в эмиграции, в своих воспоминаниях «Годы. Дни» (1920) писал: «…Они (большевики) восстановили русскую армию… Знамя Единой России фактически подняли большевики… нельзя не видеть, что русский язык во славу Интернационала опять занял шестую часть суши…».

Из воспоминаний Уинстона Черчилля о роли Антанты в организации интервенции в Советскую Россию: «По совету генерального штаба, начиная с июля месяца 1919 г., Англия оказывала ему (Деникину) главную помощь, и не менее 250 тыс. ружей, 200 пушек, 30 танков и громадные запасы оружия и снарядов были посланы через Дарданеллы и Черное море в Новороссийск. Несколько сотен британских армейских офицеров и добровольцев в качестве советников, инструкторов, хранителей складов и даже несколько авиаторов помогали организации деникинских армий…

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

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

Находясь в эмиграции, белогвардейское движение продолжало искать иностранных интервентов для вторжения в СССР. В этом плане показательна судьба белоэмигранта Павла Горгулова, который стал ярым поклонником нацизма и составил план иностранной интервенции в Советский Союз. Свои фашистские идеи об организации внешней интервенции в СССР он предварил убийством в 1932 году президента Франции Поля Думера, одного из наиболее здравомыслящих и уважаемых французами политиков своей страны. За убийство Поля Думера Павел Горгулов был гильотинирован.

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

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

На стороне фашистской Германии в составе вермахта воевала и так называемая 1-я Русская национальная армия (РНА) или дивизия «Руссланд», насчитывающая до 10 тысяч человек и состоявшая в основном из предателей Родины – белых эмигрантов и их детей.

По инициативе белогвардейских офицеров С.Н.Иванова, И.К.Сахарова, К.Г.Кромиади из белоэмигрантов в 1942 году была образована так называемая Русская национальная народная армия (РННА), которая базировалась в Беларуси, недалеко от Орши (поселок Осинторф) и занималась в основном пропагандистской и диверсионной деятельностью в советском тылу, а также борьбой с белорусскими партизанами. Но белоэмигрантское прислужничество фашистам было столь мизерным, что в августе 1942 года немецкое командование приняло решение, что эксперимент с РННА закончился провалом, и белоэмигранты были отстранены от командования РННА.

Но больше всех сотрудничеством с фашистами прославился XV Казачий Кавалерийский Корпус, возглавляемый белыми генералами П.Н.Красновым и А.Г.Шкуро. В корпус входили две дивизии и Пластунская бригада. Данные соединения сражались с Красной Армией вплоть до мая 1945 года.

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

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

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

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

То, что отдельные представители белой эмиграции сочувствовали борьбе Красной Армии против фашистской Германии и отказались от сотрудничества с гитлеровцами (к примеру, Деникин, Милюков, Шульгин), нисколько не опровергает нашего утверждения, что белоэмигрантское движение как социально-политическое явление в Великую Отечественную войну оказалось на стороне фашизма - злейшего врага русского народа.

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

Заключение. Как отмечает известный российский интеллектуал Михаил Демурин, на днях, например, в Москве были представлены очередные книги русского философа-белоэмигранта Ивана Ильина. А ведь кто такой Ильин по отношению к фашизму? Это человек, оправдывавший его, в том числе и после Нюрнбергского трибунала. Так, в 1948 году он писал о том, что фашизм — это явление сложное, многостороннее и, главное, «далеко ещё не изжитое». Что в качестве «реакции на большевизм» фашизм был явлением «здоровым, необходимым и неизбежным», что он искал «справедливых социально-политических реформ…»

Но самой многозначительной в нашем сегодняшнем контексте является мысль Ильина, изложенная в его работе «Новый дух». В ней он указывал на родство немецкого национал-социализма не только с итальянским фашизмом, но и, подчёркиваю, «духом русского белого движения». Иван Ильин вполне искренне и добровольно подчеркивал родство белогвардейщины с фашизмом и нацизмом, ставя в один ряд барона Врангеля с Гитлером и Муссолини. В таком случае очевидно, что из этого ряда нельзя исключать и Колчака, и Деникина, и Каппеля, и других белогвардейских генералов и атаманов. Белые генералы Краснов и Шкуро за сотрудничество с гитлеровцами были повешены в 1947 году. Но суровые уроки истории нисколько не повлияли на «идеалы» И.А. Ильина. Пересидев в Швейцарии Вторую мировую войну и разгром фашизма, он по-прежнему был убежден, что фашистская идея бессмертна, и в 1948 году разглагольствует о фашизме религиозном, многопартийном, толерантном к инакомыслию, свято блюдущем частную собственность и избегающим культа личности. В борьбе с неофашизмом на Украине и в целом на Западе нам хорошо бы не забывать и об этом! Как и о том, что история доказала: самыми последовательными противниками нацизма и фашизма были только коммунисты», — отметил Михаил Демурин. Справедливые слова.

Отсюда вывод: на Украине сегодня идет не просто гражданская война, а Отечественная война наших братских народов против иностранных интервентов в лице США и НАТО и их марионеток - бандеровцев за свою общерусскую цивилизацию за свое единое Отечество от Карпат до Курил.

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

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