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

Истоки военной катастрофы России
Эту тему на «круглом столе» поднял кандидат исторических наук, профессор Института военной истории, генерал-лейтенант Владислав Таирович ИМИНОВ.

Первая мировая война 1914-1918 годов породила цепь мировых катастроф, социальных и политических катаклизмов, коренным образом изменивших политическую карту и расстановку сил в мире. И прежде всего в Европе. Вызванный этой войной экономический, социальный и духовный кризис повлек за собой крушение четырех империй (Российской, Германской, Австро-Венгерской, Турецкой), инициировал прокатившуюся по Европейскому континенту волну революций.

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

Они никогда не относили Россию к числу победителей и до сих пор таковой ее не считают.

Поистине неисчислимые бедствия принесла Первая мировая народным массам. 10 миллионов убитых и умерших от ран только среди военнослужащих (столько погибло во всех европейских войнах за 1000 лет) и 20 миллионов раненых (из них 3,5 миллиона человек остались калеками) - таков ее кровавый итог. Оставшиеся в живых стали частью того, что позже будет названо «потерянным поколением». По числу людей, погибавших в среднем ежедневно, Первая мировая война превзошла Русско-японскую 1904 - 1905 годов в 23 раза, Русско-турецкую 1877 - 1878 годов - в 30 раз, Крымскую, или Восточную, 1853 - 1856 годов - в 45 раз. К людским потерям, вызванным Первой мировой, стоит отнести и преждевременную смертность в результате ухудшения жизни населения. В Европе из-за войны его убыль составила 15 миллионов человек.

Наибольшие потери военнослужащих по сравнению с другими государствами - участниками военных коалиций, в том числе и побежденными год спустя Германией и Австро-Венгрией, понесла в Первой мировой российская армия. Они составили в общей сложности 9347,3 тысячи человек, из них безвозвратные потери - 2254,4 тысячи (по другим источникам, до 3,5 млн. человек), санитарные - 3749 тысяч, попавшие в плен (без учета возвратившихся оттуда в ходе войны) - 3343,9 тысячи (по другим источникам, до 5 млн. человек).

Уже к середине 1917 года Вооруженные силы России потеряли 63 - 65% рядового состава.

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

Оказалась выбитой и большая часть кадрового офицерского состава: 25 - 30 тысяч человек из 50 тысяч. Подобная участь постигла унтер-офицеров, элитные гвардейские соединения и части, которые использовались на наиболее ответственных участках австро-германского фронта. Столь большие потери русской армии привели в то время к катастрофическому падению ее боеспособности, а в конце 1917-го - начале 1918 года армия практически развалилась.

Это обусловливалось целым рядом как объективных, так и субъективных причин.

Первая из них - крайне невыгодное геополитическое положение Российской империи по сравнению с другими странами Антанты. В результате русской армии впервые в мировой практике в течение трех с половиной лет пришлось удерживать огромный фронт протяженностью 1934 километра, не считая более чем 1100-километровый фронт на Кавказе. На столь протяженном фронте приходилось противостоять объединенным силам Германии, Австро-Венгрии и Турции. В то же время на Западном фронте протяженностью 630 километров против германской армии совместно действовали вооруженные силы Франции, Англии и Бельгии, к которым в 1917 году присоединилась еще и армия США. Там же, кстати, сражались и четыре русские бригады (так называемый Русский экспедиционный корпус) численностью до 40 тысяч человек, направленные во Францию в 1916 году.

Не могли не привести российскую армию к краху и плохое руководство со стороны Верховного главнокомандования и царского правительства, практически полная зависимость их оперативно-стратегического планирования от требований западных союзников в ущерб российским национальным интересам. Характерным тому примером может служить кампания 1914 года. Тогда наступление русского Северо-Западного фронта в Восточной Пруссии по настоянию Франции началось чуть ли не на 15-й день мобилизации, то есть еще до того, как было закончено сосредоточение сил и средств, подтянуты тылы, созданы материальные запасы, налажены управление, взаимодействие и снабжение. Такое неподготовленное наступление привело к тяжелому поражению войск фронта. В частности, к гибели почти всей его 2-й армии под командованием генерала от кавалерии А.В. Самсонова. Но вместе с тем оно вынудило германское командование в самый критический для союзников России момент битвы на Марне перебросить на восток против русских армий два корпуса и кавалерийскую дивизию из состава наступавшей на Париж ударной группировки. Это спасло Францию и не позволило немецкому воинству вновь, как и в феврале 1871 года, промаршировать по Монмартру и Елисейским полям.

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

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

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

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

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

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

Флот в Первой мировой войне
Анализ военного аспекта Первой мировой войны продолжил член Ревизионной комиссии РУСО, кандидат исторических наук, профессор Московской государственной академии водного транспорта, контр-адмирал Василий Андреевич ПОПОВИЧ.

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

Австро-Венгрия 14 (27) июля 1914 года объявила войну Сербии. 17 (30) июля Россия начала всеобщую мобилизацию, а 1 августа Германия объявила войну России. 2 - 3 августа Франция заявила о поддержке России, а Англия - о поддержке Франции. Вечером 3 августа Германия объявила войну Франции, а 6 августа войну России объявила Австро-Венгрия. Так началась одна из самых кровавых войн начала ХХ века.

Та война названа мировой не только из-за участия в ней 38 государств (на стороне Антанты - 34 государства, на стороне Австро-Германского блока - 4) с населением 1,5 миллиарда человек (это три четверти тогдашних жителей планеты), но прежде всего потому, что велась в Европе, Азии и Африке, на многих морях и океанах. Число мобилизованных в воюющие армии достигло около 70 миллионов человек. Сражения велись с 1 августа 1914-го по 11 ноября 1918 года и повлекли катастрофические последствия: 9,5 миллиона погибших, около 20 миллионов раненых, 3,5 миллиона калек.

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

Первая мировая война резко изменила расстановку сил на море. На океанский простор вышли подводные лодки, которые все чаще имели успех над эсминцами, крейсерами и линкорами. Об эффективности применения подлодок свидетельствовало уже то, что до января 1916 года подводники Германии отправили на дно 225 английских судов, из которых 54 - в Средиземном море. Потери немцев составили всего 17 подлодок.

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

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

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

Французскому флоту отводилась роль защиты побережья и сообщений в Средиземном море: не допустить выхода флота Австро-Венгрии из Адриатического моря, блокировать итальянский флот (в случае выступления Италии не на стороне Антанты). Основная задача австро-венгерского флота заключалась в обороне побережья и блокаде Черногории. В апреле 1917 года США выступили на стороне Антанты.
Война на море в 1914 - 1918 годах существенно отличалась от предыдущих морских сражений. Она велась в трех измерениях: в воздухе, на поверхности моря и под водой. Впервые на море применялась авиация.

Значительным событием стало сражение английских и немецких кораблей у острова Гельголанд 28 августа 1914 года. В ходе боя немцы потерпели поражение. 4 сентября кайзер Германии Вильгельм II запретил выход в море крупным немецким кораблям. Однако 22 сентября командир немецкой подлодки «U-9» О. Веддиген тремя торпедами потопил три английских крейсера. Атака немецких подводников привела к переполоху среди англичан, а немцы получили надежду на успех на море.

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

Великобритания блокировала побережье Германии, чем нарушила Лондонскую декларацию 1909 года, согласно которой нейтральным государствам разрешалось вести торговлю с воюющими странами. В ответ на действие англичан 4 февраля 1915 года кайзер Вильгельм подписал декларацию, согласно которой воды вокруг Британских островов объявлялись зоной войны, где спустя две недели будут уничтожаться все торговые суда без гарантий спасения их экипажей и пассажиров. В марте 1915 года премьер-министр Великобритании Асквит объявил о полном прекращении морской торговли с Германией, а через десять дней был принят «акт о репрессалиях», по которому ни одно нейтральное судно не имело права ни заходить в германские порты, ни покидать их. 7 мая 1915 года немецкая подлодка потопила британское судно «Лузитания» с 1200 пассажирами на борту, 128 из которых были американскими подданными. В августе на Мадагаскаре англичанами был захвачен крейсер «Кенигсберг». На Балтике в середине 1915 года на минах получили серьезные повреждения 15 немецких кораблей и 14 транспортов.

Присоединение в январе 1916 года к центральным державам Болгарии дало возможность немецкому генштабу провести успешную компанию по разгрому Сербии и обеспечить более надежную связь с Турцией. Немцы укрепили позиции на сухопутных фронтах.

Морские и сухопутные силы России оказались подорваны, а ресурсы истощены.

В мае - июне 1916 года в Ютландском бою англичане потеряли 14 кораблей, были убиты 6097 человек, ранены - 510, взяты в плен - 177. Немцы потеряли 11 кораблей, 2551 человек убитыми, 507 - ранеными.

Но обе стороны сумели сохранить флот.

В конце августа к военному руководству Германии пришли генералы П. Гинденбург и Э. Людендорф - сторонники войны до победного конца. Людендорф считал, что неограниченная подводная война является последним средством закончить ее победоносно. 9 января 1917 года германское руководство одобрило решение о начале неограниченной подводной войны. Дальнейшие события показали, что это решение было ошибочным, ибо послужило основанием для конфликта с США.

Линейные корабли Англии и Германии, на строительство которых были затрачены огромные средства, оказались на приколе. Началось активное строительство подводных лодок. Так, к середине 1917 года немцы строили в среднем 8 лодок в месяц. Из-за интенсивных действий немецких подлодок потери флота Антанты увеличились.

Последний этап борьбы на море начался в феврале 1917 года, когда кайзер Вильгельм II принял решение о неограниченной подводной войне. В феврале союзники потеряли корабли водоизмещением 540 тысяч тонн (из них Англия - 313 тысяч тонн).

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

Немцам не удалось разгромить английский флот, хотя они и нанесли ему значительные потери.

США и Англии приходилось привлекать для борьбы с подлодками свыше 5000 кораблей различных классов, около 3000 тральщиков, до 2500 самолетов, 200 аэростатов. Против немецких подлодок ими было поставлено около 170000 мин.

Общие потери англичан на море составили 39940 человек.

Общие морские потери Германии достигли 65596 человек.

Первыми русскими кораблями, вступившими в бой, были крейсеры «Аскольд» и «Жемчуг», вошедшие в состав союзной англо-французской эскадры. В конце октября 1914 года крейсер «Жемчуг» в районе Никобарских и Адаманских островов вошел в порт Пенанг для ремонта. Командир корабля Черкасов, не приняв мер безопасности, сошел на берег. 28 октября на рассвете германский крейсер «Эмден» вошел в порт, торпедировал «Жемчуг» и обстрелял его из орудий. От полученных повреждений корабль затонул. В то же время крейсер «Аскольд» успешно сражался с турками.

19 июня 1915 года у острова Готланд в Балтийском море состоялся бой между русскими и немецкими кораблями. Благодаря мужеству русских моряков немцев не допустили в Финский, Ботнический и Рижский заливы. Для укрепления Балтфлота в августе 1915 года подлодки «Щука» и «Сом» были переданы из Черноморского флота на Балтику.

На Черноморском театре русские моряки потопили один легкий турецкий крейсер, три эскадренных миноносца, четыре канонерских лодки, один минный заградитель. На поставленных подлодкой «Краб» минах подорвались немецкий крейсер «Бреслау» и минный крейсер «Берк». Вершиной оперативного искусства русского Черноморского флота в 1916 году была установка блокады пролива Босфор с помощью минного оружия. На минах противник потерял миноносец, канонерскую лодку и подводную лодку, несколько тральщиков, два крупных транспорта и значительное количество малых паровых и парусных судов. Всего на морских сообщениях Черноморского флота противник потерял более 10 боевых кораблей, 100 транспортов и сотни парусных и моторных судов.

В августе 1916 года в Кольском заливе ошвартовались эсминцы «Властный» и «Грозовой», а в октябре 1917-го - эсминцы «Лейтенант Юрасовский», «Бесшумный», «Лейтенант Сергеев» и «Бесстрашный». Они совершили переход через четыре океана - Тихий, Индийский, Атлантический и Северный Ледовитый. Наряду с надводными кораблями перебрасывались и подлодки. На Северном морском театре эсминец «Грозовой» (командир М.М. Коренев) атаковал и потопил у острова Хорпо германскую подводную лодку «U-56», эсминец «Властный» (командир С.А. Бутвиловский) вступил в схватку с двумя немецкими подлодками и нанес им серьезные повреждения.

Последнее сражение русского флота в Первую мировую состоялось на Балтике 10 - 17 октября 1917 года в районе Моонзунда.

После свержения царского режима командование линейным флотом Германии, имея сведения о развале армии и флота России, оживилось. Единственный раз за всю Первую мировую войну на восток были двинуты главные силы Флота открытого моря. В операции участвовали 10 новых линкоров, линейный крейсер, 9 легких крейсеров, около 47 эскадренных миноносцев, 27 линейных тральщиков, 66 малых тральщиков, 6 подводных лодок и около 100 вспомогательных судов (транспорты, тральщики, моторные катера, искатели и пр.). Всего - 350 единиц. Немцы использовали до 100 самолетов. На транспортах находились около 25000 солдат и 60 орудий. Командовал этой армадой адмирал Шмидт.

Россия у Моонзунда сосредоточила более 120 кораблей и судов, из которых 80 вспомогательных, и 30 самолетов. Командовал российским флотом адмирал М.К. Бахирев. Гарнизон Моонзундских островов - Эзель и Даго - насчитывал около 20 тысяч человек, но командующему флотом не подчинялся.

14 октября на Кассарском плесе произошло сражение между 17 германскими кораблями и 7 русскими. Это сражение успеха обоим сторонам не принесло.

Потери российского флота за годы Первой мировой войны составили: боевых кораблей - 113, вспомогательных судов - 227, коммерческих - 241, а всего - 581 единицу.

Перемены в расстановке мировых сил
Своеобразным обобщением разноплановой дискуссии на «круглом столе» стало выступление известного историка и писателя, кандидата исторических наук Юрия Васильевича ЕМЕЛЬЯНОВА.

Вопреки правительственным планам и прогнозам генштабов война оказалась затяжной. Центральные державы, рассчитывавшие на скорую победу, потерпели поражение. К тому же почти в каждой из них (исключение - Болгария) существовавшие к началу войны монархические режимы были свергнуты. При этом АвстроВенгрия распалась, Германия утратила все колонии, а турецкая держава потеряла большую часть своих владений.

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

При этом в России был свергнут существовавший строй и ряд национальных окраин вышли из ее состава.

Неоспоримым победителем стали Северо-Американские Соединенные Штаты (САСШ), которые вплоть до весны 1917 года не входили ни в один из воюющих блоков. С начала войны САСШ преодолели экономический кризис, после чего промышленное производство стало расти как на дрожжах.

Выплавка стали в 1916-м составила 180% от уровня 1914 года.

Фантастически быстрыми темпами развивалась химическая промышленность страны, занятая производством взрывчатых и отравляющих веществ. Если в 1913 году пороховые заводы Дюпона произвели около 500 тысяч фунтов взрывчатых веществ, то в 1915 - 1916 годах они ежемесячно (!) давали около 30 миллионов фунтов.

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

Историки супруги Берд писали, что за годы Первой мировой войны число состоятельных и очень богатых людей в этой стране выросло примерно в три раза: в Америке насчитывалось 42554 миллионера. Действительно, к концу войны здесь было сосредоточено 40% мирового золотого запаса. К ноябрю 1922 года общая задолженность иностранных государств Соединенным Штатам достигла (с неоплаченными процентами) 11,6 миллиарда долларов. Из них Великобритания задолжала 4,7 миллиарда долларов, Франция - 3,8 миллиарда, Италия - 1,9 миллиарда, Бельгия - около 0,5 миллиарда. Вместе с другими видами капиталовложений экономическая поддержка, оказанная САСШ европейским странам, выразилась в сумме почти 20 миллиардов долларов. Как отмечалось в 3-м томе «Истории дипломатии», выпущенной в 1945 году, «погашение этого огромного долга хотя бы по 400 миллионов в год должно было растянуться на десятки лет. Таким образом, в результате войны крупнейшие страны Европы оказались данниками Соединенных Штатов по крайней мере на два поколения».

Так как американские войска принимали участие в сражениях в Европе лишь с лета 1918 года, их потери были несопоставимы с потерями армий других стран.

Они составили 53 тысячи убитыми, тогда как у России - 2 миллиона 300 тысяч солдат, у Германии - 2 миллиона, у Австро-Венгрии - 1 миллион 440 тысяч. Невелик был и вклад американских войск в общую победу. Однако рост влияния САСШ и их правительства в годы мировой войны привел к тому, что канцлер Германии принц Макс Баденский направил 5 октября 1918 года просьбу о перемирии на основе 14 пунктов американского президента Вудро Вильсона. Некоторое время союзники Америки возражали против переговоров с Германией на такой основе. Тогда правительство САСШ пригрозило подписать с Германией сепаратный мир. Испугавшись ухода американских войск с Западного фронта, союзники согласились с Вильсоном.

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

Сменивший Вильсона лидер республиканской партии, 29-й президент САСШ Уоррен Гардинг (1921 - 1923 гг.) заявлял: «Мы, американцы, сделали больше для развития человечества за полтора столетия, чем все народы мира вместе за всю их историю... Мы провозглашаем американизм и приветствуем Америку». Так американские победители в Первой мировой войне делали заявку на мировое господство, от которого они не собираются отказываться и до сих пор. Нет принципиальной разницы между высказываниями Гардинга 1921 года и речами Обамы 2014 года.

В ходе Первой мировой войны поражение потерпели не только те, кто возглавлял две главные империалистические группировки в 1914 году, но и те, кто к 1914 году возглавлял главных противников капиталистического строя, - вожди партий II Интернационала. До лета 1914 года они уверяли, что в случае развязывания мировой войны возглавят рабочих своих стран и поведут на свержение капиталистического строя. Так, на 10-м Базельском конгрессе (1912 г.) был принят манифест, в котором говорилось: «Пусть правительства хорошо запомнят, что при современном состоянии Европы и настроении умов в среде рабочего класса они не могут развязать войну, не подвергая опасности самих себя... Пролетарии считают преступлением стрелять друг в друга ради увеличения прибылей капиталистов».

О верности марксизму и принципам пролетарского интернационализма постоянно говорили такие руководители социал-демократических партий II Интернационала, как К. Каутский (СДПГ), Р Макдональд (Лейбористская партия Англии), А. Тома (СФИО), Э. Вандервельде (Бельгийская социалистическая партия), О. Бауэр (АСДП). Редактор главного печатного органа Итальянской социалистической партии «Аванти!» Бенито Муссолини в своих передовицах в 1914 году писал о том, что «частная собственность является кражей», и поэтому должна быть ликвидирована по мере того, как «Италия через коллективизацию перейдет к окончательной цели - коммунизму».

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

В первые дни войны Б. Муссолини в своих редакционных статьях осуждал войну как «капиталистическое дело». Однако уже в ноябре 1914 года он вышел из социалистической партии и создал новую газету «Иль пополо д'Италиа», в которой стал призывать к участию Италии в войне против Австро-Венгрии с целью завладеть Триестом, Далмацией и другими землями. Под влиянием позиции своих вождей значительная часть трудящихся всех стран - участниц войны была охвачена шовинистическим угаром.

23 марта 1919 года в Милане, в зале, арендованном членами Ассоциации итальянских промышленников, собралась пара сотен бывших ветеранов войны.

Перед ним выступил Бенито Муссолини. Он выкрикивал: «Для спасения Италии надо расстрелять несколько десятков депутатов! Я верю, что парламент - бубонная чума, отравляющая кровь нации! Его надо истребить!» Собрание приняло решение о создании движения «боевых дружин» под названием «Фаши ди комбаттименто». Через три недели, 15 апреля, под руководством художника-футуриста Маринетти фашисты ворвались в издательство «Аванти!», разгромив типографское оборудование газеты и уничтожив документы издательства.

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

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

Вскоре фашистские диктатуры были установлены в Италии и Германии. Профашистские режимы существовали в Венгрии, Польше, прибалтийских республиках, странах Пиринейского полуострова. Профашистский диктатор Литвы Сметона в 1934 году провозгласил: «ХХ век - век фашизма».

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

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

Преобладали французские и бельгийские.

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

Итоги обстоятельного, теоретически насыщенного разговора подвел главный редактор «Правды Борис Олегович КОМОЦКИЙ.

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

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

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