/** * 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 лет. Вспоминая погибших, в этой страшной войне, проводятся мероприятия, помогающие всем и особенно молодежи, усвоить трагические уроки прошлого… Недавно в Москве прошел «круглый стол» на котором коллектив редакции газеты «Правда» и российские ученые с социалистическим мировоззрением обсуждали трагические события Первой мировой войны...

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

Разговор на актуальную тему начал главный редактор «Правды», член Президиума ЦК КПРФ, депутат Государственной думы РФ Борис Олегович КОМОЦКИЙ.

- Первая мировая. Нас в этом большом вопросе интересует, разумеется, не только исторический аспект. Нынешние разговоры вокруг той войны имеют прежде всего политическое значение. Дело в том, что многие нынешние приверженцы буржуазно-либерального мировидения, являющиеся, как правило, по совместительству оголтелыми антисоветчиками, придают событиям вековой давности зачастую толкование: дескать, царская Россия вполне могла бы сесть со странами-победительницами за стол «версальского пира», получить там свой кусок пирога и жить счастливо. Если бы, конечно, не «подлые большевики», которые нанесли Российской империи удар в спину, разложив армию. А после справили-де на германские деньги свою революцию.

Вот такие, истрепанные, как солдатская портянка, «аргументы» фальсификаторов истории охотно распространялись в канун 100-летия трагического события. На это необходимо ответить правдой, аргументированной, доказательной правдой о той войне - о ее причинах и последствиях, чтобы не дать трагедии повториться.

Ожидавшаяся трагедия народов
Дискуссия предложил член президиума Центрального совета РУСО, главный научный сотрудник Института российской истории РАН, доктор исторических наук, профессор Владислав Якимович ГРОСУЛ.
- Сейчас активно муссируется тезис, будто Первая мировая - война неизвестная, неизученная, что в советское время на эту тему ничего не публиковалось.

Однако это совершенно не соответствует реальности. Вот лишь несколько работ, изданных в СССР в 20 - 30-е годы прошлого века и посвященных той трагедии.

Прежде всего это три книги генерала А. Зайончковского, крупного военного специалиста, который во время Первой мировой командовал Добруджанской армией, а после Великого Октября перешел на сторону Советской власти. Его классическими трудами ныне пользуется любой специалист по Первой мировой войне. Тогда же, в 1920-е годы, вышла книга М. Петрова «Подготовка России к мировой войне на море».

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

В послевоенное время в стране появился целый ряд крупных работ, посвященных Первой мировой войне. Ю. Писарев, крупнейший специалист по балканской истории, в 1968 году издал книгу «Сербия и Черногория в Первой мировой войне». В. Виноградов, представил работу о том, что происходило в 1916-1917 годах в Румынии.

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

Повторю: утверждать, что это неизвестная война, - значит идти против истины. Историография на эту тему колоссальная. Посвящена она не только военным действиям, но и экономической истории, в том числе и финансовой, а также революционному движению и международным отношениям в тот период.

В стране существует и значительная мемуаристика, отразившая то время. Это известные мемуары генерала А. Брусилова, а также воспоминания А. Поливанова, В. Сухомлинова и т.д.

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

Интересное письмо в середине ноября 1916 года направил Николаю II живший тогда в Англии великий князь Михаил Романов: «Я только что возвратился из Бэкингемского дворца.

Жоржи (английский король Георг V) очень огорчен политическим положением в России. Агенты Интеллидженс Сервис (служба британской разведки), обычно очень хорошо осведомленные, предсказывают в ближайшем будущем в России революцию. Я искренно надеюсь, Никки, что ты найдешь возможным удовлетворить справедливые требования народа, пока еще не поздно».

Ситуация становится критической в конце 1916 года. Отсюда убийство Г. Распутина, отсюда боязнь того, что Николай II заключит сепаратный мир с Германией. При помощи Антанты организуется заговор. Февральская революция была очень своеобразна: это сочетание заговора с широким низовым народным движением. Россия уже тогда фактически рухнула, и было ясно, что такая страна выиграть войну уже не сможет.

Профессор В.Я. Гросул обратил внимание на то, что Первая мировая война не была неожиданностью, что ее наступление стало рассматриваться как неизбежность по окончании Крымской кампании (в Западной Европе она больше известна как Восточная война 1853 - 1856 годов).

Эту мысль убедительно развил на «круглом столе» кандидат исторических наук, доцент Московской государственной академии спорта Валерий Петрович РЫБАЛКИН.

- То, что грядущая война будет именно мировой, не было неожиданностью. О ее приближении основоположники марксизма-ленинизма говорили еще с середины XIX века. К. Маркс и Ф. Энгельс не только предвидели Первую мировую войну, но и вскрыли ее корни.

Более того, они указали на неизбежные итоги войны. Ф. Энгельс прямо писал, что «начать ее ничего не стоит», она «немного раньше или немного позже - неизбежна». Он отмечал, что «достаточно малейшего повода, чтобы война началась». И добавлял: «Стоит... раздаться только первому выстрелу, как вожжи выпадут из рук, и лошадь может понести».

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

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

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

Милитаризм господствует над Европой и пожирает ее». В 1889 году он в связи с этим вновь замечает: «Усиливающееся вооружение всех держав толкает к войне».

Ф. Энгельс развил мысль К. Маркса, высказанную еще в 1850 году, о том, что предстоящая война будет «общеевропейской и даже мировой». В 1886 году Энгельс специально обращает внимание на то, что противоречия между ведущими странами мира делают невозможной локализацию военных конфликтов между ними, а через год прямо указывает, что «время локализованных войн прошло».

Как известно, в Первой мировой войне участвовали 38 стран, хотя началась она между Австро-Венгрией и Сербией.

Маркс и Энгельс правильно предвидели будущие блоки стран, которые столкнулись в Первой мировой войне. Уже в середине 70-х годов XIX века они предсказали: Россия в союзе с Францией будет воевать против «дуэта» Германии и Австро-Венгрии. В 1886 году Энгельс повторил этот прогноз, а спустя два года уточнил, что именно война между Австро-Венгрией и Россией может охватить всю Европу . Действительно, в 1893 году, как известно, оформился русско-французский союз, и группировки, воевавшие между собой в Первой мировой войне, были именно такими, какими их предсказывали классики научного коммунизма.

Энгельс предполагал, что в мировой войне будут участвовать от 10 до 20 миллионов человек. Заметим, что в действующих армиях в январе 1917 года было около 37 миллионов человек, а всего в армии воюющих стран было мобилизовано около 70 миллионов. Энгельс также говорил, что «по сравнению с будущей войной все прежние войны покажутся детской забавой», что эта война будет «более яростной, кровавой... и изнуряющей, чем какая бы ни было из прежних войн». Интересно и такое предвидение Энгельса: война продлится 3 - 4 года и закончится поражением Германии.

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

В то же время классики марксизма оценивали грядущую мировую войну диалектически.

Маркс еще в 1850 году предупреждал, что мировая война приведет к революции. Энгельс дополнял: «Эта война должна либо привести к немедленной победе социализма, либо настолько потрясти старый порядок вещей, что существование старого капиталистического общества стало бы еще более невозможным, чем прежде, и социальная революция, хотя и отодвинутая на десять или на пятнадцать лет, должна была бы затем одержать более быструю и основательную победу». Энгельс предвидел, что ужасы войны увеличат армию сторонников социализма и приведут капитализм к гигантскому кризису, к краху монархий. И надо констатировать, что вслед за Россией, где в 1917 году произошли две революции, в 1918 - 1919 годах революции потрясли Финляндию, Германию, Австро-Венгрию, Турцию. В те же годы пали монархии в России, Германии, Австро-Венгрии; распались Австро-Венгерская и Османская империи.

Примечательно, что Энгельс пророчески предсказал, что будущая война приведет к очищению пролетарских партий: «Новая партия, которая в конце концов должна была бы создаться в результате... освободилась бы во всех европейских странах от всяческих колебаний... которые теперь повсюду тормозят движение». Действительно, Первая мировая война привела не только к краху оппортунистического II Интернационала, но и к созданию III, Коммунистического Интернационала.

Итак, важнейший вывод марксизма-ленинизма: мировая война приведет к краху капитализма и к неизбежной победе социалистических революций.

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

Доктор философских наук, профессор Высшей школы экономики Александр Терентьевич ДРОБАН сконцентрировал свое внимание на геополитических противоречиях.

- Борьба за территорию, сухопутную и морскую, за коммуникации, за подчинение населения постоянно сопровождает развитие человеческих общностей. Она сохранится вплоть до сознательной организации этих отношений грядущим коммунизмом. Что касается прошлого, то примером геополитических отношений в древности можно назвать Троянскую войну, а это еще XIII век до нашей эры. Кстати, она была войной коалиций континентальных греческих полисов против Трои, господствовавшей на Геллеспонте, то есть в современных Дарданеллах, извлекая из этого немалую стратегическую и экономическую выгоду. Это позволяет говорить, что геополитические противоречия, приведшие к Первой мировой войне, являются в определенной мере продолжением тысячелетия существовавших проблем. Межимпериалистические противоречия начала ХХ века выступали тоже в форме геополитического противоборства.

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

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

Третий аспект геополитических противоборств рубежа XIX и XX веков - это проливы Босфор и Дарданеллы. Происходила экспансия Германской империи и ее подчиненного союзника Австро-Венгрии в сторону Балкан и Османской империи. Уже в 1840-е годы немецкий экономист Лист писал о том, что обширные пространства Османской империи могут служить полем экономической эксплуатации Германии.

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

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

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

Системный анализ противоречий, приведших к началу Первой мировой войны, дала в своем выступлении члена ЦКРК КПРФ, доктор исторических наук, ведущий научный сотрудник Института российской истории РАН Елена Гавриловна КОСТРИКОВА.

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

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

Свидетельством обострения борьбы за мировое господство были международные конфликты, интенсивность которых нарастала по мере приближения к роковой черте. Десятилетие с 1904 по 1914 год вместило в себя Русско-японскую, Итало-турецкую, две Балканские войны, два острых дипломатических кризиса между Францией и Германией из-за Марокко, Боснийский кризис и ряд других.

Почему Россия оказалась в составе Антанты? В определении ее стратегических партнеров решающую роль сыграли геополитические и экономические факторы. Приоритетным направлением российской внешней политики традиционно были Балканы и Ближний Восток. Здесь ее главными соперниками являлись Австро-Венгрия и Германия. Для Англии и Франции Россия, обладавшая самой многочисленной армией и богатыми природными ресурсами, была ценным союзником, способным отвлечь значительные силы противника на Восточном фронте. Поэтому Лондон и Париж сделали все возможное, чтобы как можно прочнее привязать ее к себе экономически. Опутанная долгами, Российская империя была вынуждена следовать в фарватере своих союзниц.

Мировая война не только была неизбежна, она могла начаться даже на несколько лет раньше. Осенью 1908 года Австро-Венгрия аннексировала две провинции с преимущественно сербским населением - Боснию и Герцеговину, что вызвало острый международный конфликт. В финале Боснийского кризиса Германия в ультимативной форме потребовала от России признания аннексии. Если бы Петербург не уступил, то столкновение произошло бы в марте 1909 года. За эту уступку Россия заплатила немалую цену: пострадал ее престиж как великой державы, снизился ее авторитет на Балканах. В русском обществе отступление назвали «дипломатической Цусимой».

Защиту от немецкого Drang nach Osten видели в объединении славян, и оно состоялось.

Весной 1912 года при содействии русской дипломатии был заключен Балканский союз.

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

В числе особо пострадавших вновь оказалась Сербия. Ее вынудили оставить порт Дураццо (Дуррес). Выход на Адриатику был жизненно необходим сербскому государству для преодоления экономической зависимости от Австро-Венгрии. К чести русской дипломатии, в этом вопросе она боролась до конца, но не получила поддержки ни от Франции, ни от Англии. Дураццо был включен в состав автономной Албании, созданной по настоянию Австро-Венгрии в качестве ее форпоста на Балканах. Албания получила и город Скутари (Шкодер), занятый черногорскими войсками. Болгарию лишили Адрианополя, доставшегося ей ценой кровопролитного сражения. Борьба по этим вопросам достигла такой остроты, что грозила выйти за дипломатические рамки. Весной 1913 года Европа вновь оказалась на грани войны. Министр иностранных дел С.Д. Сазонов признал: «Скутари могло отойти к Черногории не иначе, как ценой удачной войны с Тройственным союзом».

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

Если бы державы Антанты поддержали Россию, то Балканский союз не распался и геополитическая ситуация в регионе была бы совершенно иной. Избежать мировой войны вряд ли бы удалось, однако она началась бы позже и при более благоприятных для России условиях. Но в том-то и дело, что славянское единство никогда не соответствовало интересам западных держав. Пророчески звучали сказанные в 1913 году слова писателя Михаила Осоргина о том, что скоро балканский вопрос «встанет с новой силой, и возможно, что нынешняя жестокая война была лишь пустяковой прелюдией к войне гораздо более жестокой и кровавой».

На рубеже 1913 - 1914 годов имел место еще один эпизод, который мог ускорить начало Первой мировой войны. В ноябре 1913 года по инициативе Вильгельма II в Константинополь была направлена военная миссия под командованием генерала Лимана фон Сандерса.

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

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

Имели они преобладание также в военно-экономическом потенциале и в людских ресурсах.

Однако Россия не успела завершить свою военную подготовку.

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

10(23) июля в Белграде был вручен австрийский ультиматум, условия которого означали утрату сербской независимости.

Узнав об этом, Сазонов воскликнул: «Это европейская война!» Россия оказалась в наиболее трудном положении. Защищая Сербию, она была вынуждена первой вступить в военное столкновение с державами Тройственного союза, не будучи до конца уверенной в поддержке союзниц по Антанте. Ключ к решению вопроса находился в Лондоне. Твердая позиция Великобритании могла остановить Германию, но Э. Грей заявил, что его страна не прибегнет к оружию из-за такого государства, как Сербия. У Германии появились основания рассчитывать на английский нейтралитет.

Спустя неделю правительство Англии заявило, что не останется в стороне, если в войну вступят Германия и Франция. Эти слова произвели в Берлине отрезвляющее впечатление, но было уже поздно.
15(28) июля 1914 года Австрия объявила Сербии войну. Генштаб России признал необходимость всеобщей мобилизации.

16(29) июля Николай II получил телеграмму от Вильгельма II с просьбой не доводить дело до войны. Царь колебался. Сазонов и военные убеждали его, что война неизбежна. Николай II сдался и отдал приказ о начале мобилизации.

В годы войны Англия и Франция продолжили в отношении России ранее принятый образ действий, что в полной мере проявилось в борьбе за расширение Антанты. Для России особое значение имела Болгария.

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

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

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

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

В Первой мировой войне наша страна потеряла убитыми и пропавшими без вести 855268 человек, были ранены 2754202 человека, в плену оказались 3409443 солдата и офицера. Несмотря на огромные потери, Россия продолжала откликаться на призывы союзников о помощи. Цена такой поддержки не очень беспокоила правительства Англии и Франции. Английский посол Дж. Бьюкенен в разговоре с Николаем II цинично заметил, что «Россия не исчерпала своих огромных запасов человеческой силы». Французский посол М. Палеолог настаивал: «Нужно, чтобы ваши потери были в четыре с половиной раза больше наших». В своих записках он пошел еще дальше: «По культурности и развитию французы и русские стоят не на одном уровне. Россия одна из самых отсталых стран в свете...

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

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

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

(Окончание - в следующем номере газеты)

Автор: 
по материалам сайта KPRF.RU
Номер газеты: 

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

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