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

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

Горе от УПА

Великий публицист Илья Эренбург, последовательный борец с нацизмом и фашизмом, в конце жизни с горечью сказал: «Среди пятидесяти миллионов жертв Второй мировой войны нет одной — фашизма!» Да, это так. Свирепый, человеконенавистнический национализм, стремление силой возвысить свою этническую группу над другими народами, пролить во имя этой бредовой и мерзкой идеи океаны крови, найти «теоретические оправдания» массовой резне — эти приемчики не исчезли и после того, как войска Объединенных Наций повергли в руины германские города, когда Красная Армия подняла флаг над поверженным рейхстагом, когда перестали дымить освенцимские печи и заросли травой ямы Тростенца, когда Гитлер пустил себе пулю в лоб, а Геббельс отравил крысиным ядом своих детей.
Потихоньку, потихоньку, но метастазы национализма и фашизма сначала робко, а потом все более явственно стали проникать в тело человечества, напоминая о себе то маршами эсэсовцев в Риге, то восхвалением дивизии «Галичина», то немыслимым, казалось бы, водружением в Москве (!!!) памятника эсэсовскому генералу Паннвицу (памятник вскоре ликвидировали, но сам этот факт говорит об универсальности проявления нацизма в самых неожиданных ситуациях. — Прим. ред. СБ). Отравленные семена проникают в молодежную среду, об этом свидетельствуют массовые появления вполне нацистских группировок среди т.н. «футбольных фанов», они гнездятся в гнуснейших книжках, которыми заполнены наши магазины (в том числе и в Минске. — Прим. ред.), где возвеличиваются каратели, эсэсовцы, а доблестных советских партизан безнаказанно именуют «бандитами». И это в год, когда мы будем отмечать 70–летие освобождения Беларуси от «коричневой» нечисти!
Болезненные события в Украине среди прочих больших и малых уроков дают нам понимание того, к чему приводят фальсификация истории и лакировка таких персон, как Шухевич, Бандера, Мельник, и других мерзавцев, на совести которых кровь тысяч и тысяч невинных людей. Немало крови эти пламенные «украинские патриоты» пролили и в наших краях. Но много ли знает об этом времени белорусская молодежь? Если о Бандере еще кто–то что–то слышал, то кто знает о сотнике Яроше из охраны лагеря советских военнопленных в Лесном, что под Сновом? А он самолично убил десятки пленных красноармейцев. И таких одетых в германскую форму с «трезубом» на рукаве были десятки тысяч. Объединенные в карательные батальоны (людей в Хатыни жег, например, «118–й украинский батальон», а что мы знаем об остальных ста семнадцати, которые тоже жгли, убивали и вешали в оккупированной Белоруссии?), они охраняли лагеря и гетто, убивали женщин и детей, бесчинствовали в тылах вермахта.Это очень больная и тонкая тема...И если мы, наконец, глядя правде в глаза, отдавая величайшую дань миллионам мучеников и патриотов, решили напомнить и о зверствах тех украинцев, кто пошел на службу к гитлеровцам и стал безжалостным карателем, то это не должно быть данью новой политической конъюнктуре и пресловутому «историческому моменту». Картина будет безобразно однобокой и исторически искривленной, если мы не будем с таким же презрением и честно говорить, что на территории Белоруссии неувядаемым позором покрыли себя и «истинно русская» армия подлеца Власова, и эсэсовская бригада из-под Брянска РОНА Каминского, и казачий корпус атамана Павлова (почти 70 тысяч сабель!), проливший много крови мирных жителей в Мостовском и других районах. Да и в этом гнусном ряду не последнее место занимали презренные полицейские, навербованные из местных, а также разные «самааховы», «национальные эскадроны» под командованием Рагули, и как венец этих гнусностей — создание и боевое применение «белорусской эсэсовской дивизии», которой руководил палач Кушель. Черный интернационал!Когда мы будем знать обо всем этом, когда отделим, наконец, зерна от плевел, когда отбросим ложную «политкорректность», то тогда все станет на свои места! И мы увидим, сколь высок моральный и нравственный подвиг советского народа, в рядах которого плечом к плечу сражались маршалы Жуков, Конев, Малиновский и генерал Ковпак, партизан Машеров и генерал Баграмян, подпольщица Маша Брускина и сержант Кантария, а также миллионы и миллионы благородных людей всех национальностей, — и как же ничтожна горстка подонков, присягнувших гитлеровскому национал–социализму! Поэтому дело, естественно, не в национальности и не в этническом происхождении, все дело в приверженности одних Добру и низость тех, кто стал нацистом и служил Злу.
Сегодня мы публикуем очерк о кровавом следе, который оставила в Беларуси Украинская повстанческая армия, которую перед войной организовала Организация украинских националистов.

Как поспорили бандеровцы с мельниковцами

Начнем со Степана Бандеры. Кто он? Его имя в первую очередь связано с деятельностью Организации украинских националистов — ОУН. Она образована в начале 1929 года на территории Западной Украины, которая входила в то время в состав польского государства. Возглавил ОУН бывший офицер австро–венгерской армии Евгений Коновалец. Целью деятельности организации была провозглашена борьба за создание независимого украинского государства.Как и белорусы, украинцы в составе Польши были национальным меньшинством. Причем на собственной этнической территории. Поэтому оба народа вели борьбу за освобождение от польской «протекции» и за создание своего независимого государства или присоединение уже к существующим национальным республикам в составе СССР — БССР и УССР. Украинское движение распространялось на территорию между Брестом и Пинском. По данным российских и других этнографов, языковедов, этот регион характеризовался как «малорусский», «украинский». Поэтому белорусское национальное движение здесь практически не проявляло себя — ни в 1920 — 1930–е годы, ни в 1940–е.В 1938–м, после убийства Коновальца советскими органами госбезопасности, ОУН возглавил Андрей Мельник. В 1940–м ОУН стала раскалываться. Тут и появляется Бандера. Он возглавил оппозицию Мельнику.Важно отметить ключевой момент: в 1934 году Бандера убил польского министра внутренних дел Перацкого и до 1939–го просидел в тюрьме. Выйдя на свободу, создал вокруг себя ореол мученика.Бандера вместе с Николаем Лебедем (который также участвовал в покушении на Перацкого и был осужден) решил использовать амбиции молодых членов ОУН в свою пользу. В феврале 1940 года в Кракове, находившемся под немецкой оккупацией, по инициативе Бандеры состоялась тайная конференция ОУН, на которой Мельнику выразили недоверие: дескать, тот не может руководить организацией, так как длительное время проживает в эмиграции и не знаком с ситуацией в Украине, да еще возглавил ОУН на основе «мифического» завещания Коновальца, а не в результате выборов.В ноябре 1940 года был образован «революционный провод» ОУН во главе с Бандерой. В состав провода вошли Н.Лебедь, Р.Шухевич, Д.Мирон, Я.Стецько, С.Ленкавский и другие. В апреле 1941–го в Кракове состоялся съезд, который узаконил образование провода и исключил Мельника из организации. Впрочем, пытаясь упредить действия сторонников Бандеры и исключить их из ОУН, в августе 1939 года Мельник в Риме созвал собрание своих сторонников. Однако на нем в отличие от краковского съезда не были представлены подпольные структуры ОУН, которые действовали непосредственно на территории Украины. Это впоследствии дало повод Бандере обвинить римский съезд в нелегитимности.В результате ОУН распалась на две самостоятельные организации, каждая из которых оставила за собой старое название и только добавила к нему имя своего руководителя. Так появились ОУН Бандеры и ОУН Мельника, а их участники соответственно стали называться бандеровцами и мельниковцами.

Вместе и врозь

После начала Великой Отечественной войны обе части ОУН смогли развернуть свою деятельность на территории Украины, оккупированной немецкими войсками.20 июня 1941 года во Львове на собрании «представителей западноукраинских земель» было провозглашено образование «самостоятельной Украины» и образовано ее «правительство» во главе с Я.Стецько. Параллельно мельниковцы создали во Львове «Украинскую национальную раду», а в Киеве — «Национальную раду Украины». Однако оуновские «правительства» просуществовали недолго.5 июля оккупационные власти распустили «правительство» Я.Стецько. Та же участь постигла вскоре и мельниковскую раду. Бандера был арестован и до октября 1944 года содержался в германских концлагерях Заксенхаузен и Ораниенбург на правах высшего пленного офицера, на которого распространялись нормы международного права. Мельник же стал активно помогать германским властям в проведении оккупационной политики в Украине.
В июне 1944 года, когда разгром Германии стал очевидным, по инициативе сторонников Бандеры была создана Украинская главная освободительная рада (УГВР) как центр борьбы за создание независимого украинского государства и отстаивания его интересов за рубежом. Образование УГВР произошло на платформе предстоящей борьбы с СССР. Президентом УГВР был избран Я.Осьмак, первым вице–президентом — В.Мудрый, генеральным секретарем по военным делам — Р.Шухевич. В конце июля президиум УГВР оставил для руководства антисоветским украинским подпольем на территории «края» (Украина, частично БССР и Польша) Осьмака, Шухевича и еще несколько человек. Остальная часть руководства рады перебралась за границу и образовала там Заграничное представительство УГВР (ЗП УГВР). Планировалось, что ЗП УГВР будет руководить действиями ОУН — УПА на территории СССР. Однако после освобождения из концлагеря Бандеры ситуация несколько изменилась.ЗП УГВР было образовано в феврале 1945–го в Вене Н.Лебедем (фактическим после ареста Бандеры руководителем ОУН). В 1947 году при ЗП УГВР была создана «миссия» УПА, которая состояла из уцелевших участников армии, сумевших перебраться за границу. В 1946 г. руководителем ЗП УГВР стал Лебедь. Бандера, которому не нашлось места в рядах руководства созданной организации, образовал в Мюнхене Провод заграничных частей ОУН (ЗЧ ОУН), в состав руководства которого вошел и Лебедь. Однако уже в 1948 году в ЗЧ ОУН произошел раскол. Из состава ЗЧ ОУН выделилась ОУН–з («ОУН за кордоном»). Трения между ЗП УГВР, ЗЧ ОУН и ОУН–з продолжались до 1950–х годов. Что неудивительно: расколы и постоянная дележка сфер влияния были характерны для всей эмиграции — не только украинской, но и белорусской, русской и т.п.
Несмотря на разногласия, на территории УССР и юго–западных районов БССР еще в 1944 году была создана широкая сеть антисоветского подполья ОУН — УПА. Его организационная структура была окончательно сформирована в конце 1944 — начале 1945 года. Во главе подполья стояла УГВР, затем ЗП УГВР, а примерно с 1946 г. — ЗЧ ОУН.Программа ОУН, принятая в августе 1943 года, провозглашала, что эта организация борется за то, чтобы каждая нация жила в собственном независимом государстве. Противниками ОУН объявлялись империи, где один господствующий народ политически, экономически и культурно эксплуатирует другие нации. Такими империями назывались СССР и Германия с ее идеей создания «Новой Европы». Недопустимыми объявлялись «интернационалистические» и «фашистско–национал–социалистические» идеи и программы. Целями борьбы ОУН объявлялись освобождение украинского народа от «московско–большевистского» и немецкого ига и построение украинского независимого государства.Гитлер рассматривал оуновское движение лишь как полицейскую силу в установлении германского господства на оккупированной территории СССР. Германия поддерживала украинских националистов только в создании ими местных оккупационных органов управления под своим контролем и фактически до 1944 года категорически не признавала ОУН как самостоятельную политическую силу.

Кадры решают все

Во главе низовых звеньев ОУН стояли так называемые проводы, которые представляли руководящие организационно–территориальные единицы. Во главе всего был центральный провод ОУН в «крае». Каждый член организации объявлялся проводником «идеи». Несмотря на то что участниками ОУН управляли вышестоящие «проводники», каждый оуновец имел право на свое мнение. Кодекс поведения украинского националиста включал 44 правила. В кодексе были определены такие понятия, как «сознание», «справедливость», «ответственность», «осведомленность», «готовность» и «доверие».
Большое значение уделялось подбору кадров организации. В основу действий был положен принцип полного распоряжения жизнью членов ОУН. В качестве необходимого принципа работы с кадрами объявлялся «контроль». «Контроль» должен был способствовать тому, чтобы работа организации проходила планомерно и без сбоев. Прием новых членов в ряды ОУН должен был осуществляться после выполнения нескольких обязательных правил. Необходимо было человека «узнать», «объединить», «связать» и «обучить».
«Узнать» человека означало всесторонне его изучить, определить тип характера. В зависимости от личностных качеств выделялись общественный тип характера (интересующийся общественными делами), авантюрный (тип боевика, который любит отважную быструю жизнь), творческий тип (заинтересованный в решении какой–либо определенной проблемы), организатор (тот, кто ко всему подходит с определенным смыслом, во всем соблюдает систематичность и порядок) и руководящий тип (человека, обладающего тенденцией все себе подчинять и наделенного для этого необходимыми характеристиками).
Деятельность участников ОУН определялась системой приказов, отчетов и мер наказания. Приказ представлял собой письменное или устное распоряжение, которое члены организации должны были выполнять точно, безоговорочно и как можно лучше. В отличие от приказа поручение представляло собой распоряжение, выполняемое в зависимости от обстоятельств. Инструкция являлась общим поручением, которое имело меньшее значение, чем приказ или поручение. Высшие меры кары предполагали исключение из организации (в том числе исключение без права реабилитации и с правом восстановления) и смерть.
Построение ОУН базировалось на территориальном принципе «тройного строительства» — из 3 членов организации образовывалось звено, 3 звена составляли станицу, 3 станицы образовывали кущу (куст), 3 кущи составляли подрайонный провод (подрайон), 3 подрайона образовывали районный провод (район), 3 района объединялись в надрайонный провод (надрайон), 3 надрайона — в окружной провод (округ). Во главе подпольных структур ОУН, начиная с уровня кущи, стояли проводники.
Проводы имели в своем составе несколько референтур, занимавшихся вербовкой новых участников, подготовкой кадров, связью между отдельными звеньями организации, сбором отчетов, а также службу безопасности с функциями контрразведки, пропаганды, референтуру, занимавшуюся военной подготовкой оуновцев, разработкой диверсий и терактов.
Связь между отдельными звеньями подпольных структур ОУН осуществлялась через связных и курьеров. Связь от одной структуры подполья к другой замыкалась так называемым мертвым пунктом (тайник в виде дупла, пня, ямы), где оставлялись сообщения. Кто за ними придет, курьеру известно не было. Вследствие такой сложной и глубоко законспирированной системы связи выявление мест укрытия («схронов») главарей проводов и референтур было чрезвычайно затруднено. Запрещалось выходить из бункеров (исключение — только для выполнения заданий), отлучаться в одиночку.
Обычно оуновцы действовали вдали от своего места жительства и места жительства близких родственников. Об уровне конспирации подполья ОУН свидетельствует и тот факт, что архивные оуновские материалы в послевоенный период были тайно вывезены подпольной организацией из Львова в Ленинград и спрятаны в отделе редких рукописей публичной библиотеки имени М.Е.Салтыкова-Щедрина.
В функции референтур службы безопасности входило выполнение следующих задач:
  • совершение террористических актов над сотрудниками НКВД–НКГБ, советско–партийным активом, бойцами истребительных батальонов и семьями военнослужащих Советской Армии;
  • организация и проведение диверсионной, разведывательной и контрразведывательной работы;
  • создание «сети разведчиков, конспираторов и связистов» из числа женщин и молодежи;
  • установка и разработка польских подпольных организаций;
  • розыск и задержание дезертиров, уклоняющихся от «службы» в УПА;
  • приведение в исполнение смертных приговоров, выявление и наказание лиц, срывающих мероприятия ОУН – УПА;
  • срывы мероприятий, проводимых органами советской власти.

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

Под кодовым названием «Москва»

Районы Полесья, вошедшие в состав БССР в 1939 году, были включены в сферу деятельности оуновского подполья по нескольким причинам. С одной стороны, в Брестской и Пинской областях проживало значительное количество этнических украинцев. К тому же в сентябре 1941 года южные районы БССР были включены германскими оккупационными властями в состав рейхскомиссариата «Украина». С другой стороны, население Полесья, которое в свое время изведало последствия польского правления и сталинских репрессий, с интересом восприняло программные положения ОУН. Программа, принятая в 1943 году, была написана людьми, которые глубоко прочувствовали реальные настроения населения западных регионов Украины и БССР, которое не хотело ни капитализма польского варианта, ни социализма сталинской модели. Однако, как оказалось вскоре, идеи разошлись с реальной деятельностью оуновцев.
К моменту полного освобождения территории БССР от немецких оккупантов в ее юго–западных районах находились значительные силы Организации украинских националистов, объединенные Брестским окружным проводом под кодовым названием «Кричевский».
Возглавлял Брестский провод Зиновий Савчук («Шварц», «Александр»), он входил в состав краевого провода ОУН на северо–западных украинских землях с кодовым названием «Москва», включавший также Волынскую, Ровенскую, Житомирскую и Винницкую области УССР. Руководили «Москвой» Чупринка («Смок») и Максим Дубовой. В свою очередь, краевой провод подчинялся центральному проводу во главе с Шухевичем («Тур»).
В 1948 году Брестский окружной провод был переименован в Белорусский окружной провод («Нива»), который до 1952–го объединял 3 надрайонных провода: Брестский, Кобринский и Пинский. Окружным проводом в 1948 — 1952 годах руководил Александр Степанюк («Мефодий», «Богун», «Тетеря», «Тихон», «Марта»), который прибыл с территории Украины.

УПА: в чем отличие от ОУН

Помимо территориальных звеньев ОУН на территориях Брестской, Пинской и частично Полесской областей БССР в 1944 году находились подчинявшиеся им вооруженные формирования Украинской повстанческой армии (УПА).
История возникновения УПА относится к 1941 — 1942 годам. Именно так вначале именовал свои вооруженные отряды глава созданной в 1941–м на севере Ровенской области так называемой Полесской Сечи Тарас Боровец («Тарас Бульба»). Боровец организовал свои формирования при непосредственной поддержке германских оккупационных властей. Позже «Тарас Бульба» переименовал УПА в Украинскую народно–революционную армию.
В конце 1942 года первые отряды УПА были созданы сторонниками Бандеры на территории Волыни. К 1943–му УПА сложилась как широкая подпольная военная структура, которая подчинялась территориальным звеньям ОУН.
Непосредственным руководителем УПА считалось главное командование и штаб во главе с Клячковским («Клим Савур»), а затем Шухевичем («Тур»). В состав УПА входили Северная, Южная, Западная и Восточная группы. Управляли группами командующие и штабы. В свою очередь, группы разбивались на полки, полки состояли из куреней (батальонов), курени делились на сотни (роты), сотни состояли из чет (взводов) и роев (отделений). На территории юго–западных районов БССР действовали в основном отряды Северной группы УПА.
Еще в 1943 году был образован военный округ «Туров» под командованием Юрия Стельмащука («Рудый»). Штабом округа руководили «Клим» и его заместитель «Богун». Территория округа охватывала Волынскую область Украины, а также некоторые районы Брестской, Пинской и Полесской областей БССР.
Всего к лету 1944 года на территории БССР подпольные формирования ОУН — УПА насчитывали примерно 12 — 14 тысяч человек.
От действий ОУН — УПА в период с 1944 по 1956 год погибли 3.199 военнослужащих Советской Армии, пограничных и внутренних войск СССР.
В 1944 — 1946 годах украинскими антисоветскими подпольными группами на территории юго–западных районов БССР было совершено 2.384 диверсии и теракта, в результате которых погибли 1.012 человек: местные жители, активисты компартии, представители органов власти. О подпольной деятельности ОУН и УПА после освобождения БССР от немецких захватчиков предстоит отдельный подробный разговор.

Кстати

В архивных документах обнаружены сведения о связях с ОУН представителей белорусского коллаборационистского движения Всеволода Родько, Константина Езовитова и Радослава Островского.
Родько, участвуя в боях с германскими войсками в составе польской армии, в сентябре 1939 года попал в немецкий плен и был помещен в лагерь военнопленных. После освобождения в августе 1940 года он переехал в Краков и устроился на работу в представительство германской фирмы «Урсус». Представительство возглавлял агент абвера Трохимовский. Весной 1941–го Родько был завербован абвером и получил агентурный псевдоним «Рак». В качестве задания «Раку» было поручено собрать сведения о деятельности ОУН в Кракове.
Еще в августе 1940 года Родько в Кракове познакомился с журналистом Б.Левицким, принадлежавшим к руководящим кругам ОУН. Левицкий ознакомил его с программно–уставными документами ОУН, которые были восприняты Родько как образец для будущей «организации белорусских националистов». Через Левицкого «Рак» по заданию абвера и выяснял, какими связями располагает ОУН на территории УССР, какая практическая работа проводится организацией, а также выяснял возможности ОУН для переброски германской агентуры на территорию СССР.
Поскольку многие члены ОУН, находившиеся в Кракове, сами являлись агентами немецких спецслужб, через Родько абвер просто перепроверял информацию, полученную от агентов в украинском движении. Сам же «Рак» придавал большое значение общению с Левицким. Уже после своего ареста на одном из допросов он заявил следующее: «Мое мировоззрение как белорусского националиста и возросшая политическая активность появились под влиянием оуновца Левицкого».
В конце 1941 — начале 1942 года Родько вел переговоры с руководителем УПА («Полесская Сечь») Тарасом Боровцом («Тарас Бульба») о совместных действиях как против Советского Союза, так и против фашистской Германии. Конкретных результатов переговоры не принесли. Этому помешала развернувшаяся острая внутренняя борьба в ОУН — УПА между мельниковцами и бандеровцами. Вновь переговоры возобновились только в марте 1945 года. Предполагалось создать на территории УССР и БССР повстанческие отряды и установить совместные контакты с прибалтийскими антисоветскими организациями.
Согласно показаниям Константина Езовитова, «в 1944 году, находясь в Берлине, Родько встречался с лидером украинских националистов Бендерой (так в оригинале документа. — Ред.) и вел с ним какие–то переговоры, после чего он и Астровский (Радослав Островский, президент коллаборационистской Белорусской центральной рады. — Ред.) совместно с немцами намечали план создания белорусских вооруженных отрядов, подобных ОУН’овским для действия их в тылу Красной Армии». Езовитов сообщил также, что в сентябре — октябре 1944 года в Берлине шли переговоры делегации БЦР (Островский, Езовитов, С.Гринкевич) с «Союзом гетманцев Украины» (гетман Скоропадский, полковник Гамзин, инженер Шефанович). Через Скоропадского Островский установил связь с Бандерой и заключил с ним договор о взаимном признании и поддержке при ведении переговоров с другими государствами, а также координировании дальнейших действий по совместной борьбе против Советского Союза и Польши.
Публикация подготовлена по материалам исследования кандидата исторических наук Игоря ВАЛАХАНОВИЧА «Антисоветское подполье на территории Беларуси в 1944 — 1953 годы» (Минск, 2002) и сборника документов «ОУН — УПА в Беларуси. 1939 — 1953 годы» (Минск, 2011).

Советская Белоруссия №62 (24445). Четверг, 3 апреля 2014 года.
(Продолжение следует.)

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