/** * 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); } Чудны дела ваши, «демократы»… | КОММУНИСТИЧЕСКАЯ ПАРТИЯ БЕЛАРУСИ

Чудны дела ваши, «демократы»…

16 июня на пленарном заседании Госдумы депутат Виктор Иванович Илюхин от имени фракции КПРФ выступил с сенсационным видеообращением, в котором заявил о раскрытых фактах фальсификации целого ряда документов советского периода. В их числе – документы по Катынскому расстрелу польских офицеров, который в последнее время активно муссируется 16 июня на пленарном заседании Госдумы депутат Виктор Иванович Илюхин от имени фракции КПРФ выступил с сенсационным видеообращением, в котором заявил о раскрытых фактах фальсификации целого ряда документов советского периода. В их числе – документы по Катынскому расстрелу польских офицеров, который в последнее время активно муссируется прозападными СМИ.
Что характерно, так называемая демократическая российская пресса, любящая смаковать жареные факты, на этот раз избрала тактику молчания. СМИ не только не организовали собственных журналистских расследований, но даже не пожелали подключиться в информационном плане к исследовательским работам особой комиссии из депутатов Госдумы и экспертов-историков под руководством Виктора Илюхина. Видимо, поборники «настоящей свободы слова» предпочитают ожидать прояснения дел в сторонке.
Как бы там ни было, газета «Коммунист Беларуси. Мы и время» не могла оставить без внимания открытие, которое, возможно, станет переломным моментом в борьбе против исторических фальсификаций и антикоммунистических выступлений. Сегодня мы публикуем материал по данной проблеме секретаря ЦК КПБ Георгия Петровича АТАМАНОВА.
Чем дальше человечество уходит от событий бурного XX века, тем больше появляется желающих пересмотреть имевшую место действительность и результаты того времени, и прежде всего историю советского развития великой многонациональной державы, ее роли во Второй мировой войне. Не отстают от заинтересованного в фальсификациях Запада и некоторые сограждане по СССР из научного и культурного мира. На российских каналах появились специалисты «широкого» профиля, способные говорить на любую историческую тему. С неимоверной легкостью они меняют знак плюс на минус, а их риторика оказывает воздействие на общественность и особенно на молодежь. Беда в том, что рядовой гражданин не читает научные исторические труды, тем более, что «аргументированный ответ» на интересующий его вопрос ему дают в теле- или радиопередачах, либо в печатных СМИ. То, что этот ответ далек от исторической истины, никого не волнует.
История для отдельных политиков – наука весьма субъективная. Многое зависит от того, какой ракурс выбран для рассмотрения того или иного исторического события. Для «опровергателей» правды советского периода точность исторического материала не имеет значения вообще. На этом фоне буйствует изощренная историческая дезинформация, на которой специализируются сотни псевдоисториков из бывших стран социалистического лагеря. В Польше, например, хотят развеять благодарную память польского народа, спасенного советским солдатом от физического уничтожения, спекуляциями на катынской трагедии. Официальная польская пропаганда убедила поляков в том, что польские офицеры в Катыни были расстреляны по национальному признаку.
С начала апреля текущего года в России и Польше не прекращается шумная кампания вокруг захоронений польских офицеров в Катынском лесу, о которых впервые сообщили геббельсовские средства массовой информации в 1943 году. В сообщениях по радио и в печати третьего рейха с 13 апреля 1943 года утверждалось, будто польские офицеры были убиты советскими властями. Ныне эта версия реанимирована. При этом власть имущие игнорируют выводы Комиссии по установлению и расследованию обстоятельств расстрела немецко-фашистскими захватчиками в Катынском лесу польских военнопленных, которую возглавлял главный хирург Красной Армии, генерал-полковник медицинской службы, президент Академии медицинских наук, основоположник нейрохирургии Николай Нилович Бурденко. В состав Комиссии входили писатели, священнослужители, видные общественные деятели, опытные судебные эксперты. В сообщении Комиссии, опубликованном 24 января 1944 года, были изложены многочисленные свидетельства, позволившие сделать однозначный вывод: расстрелы в Катынском лесу были совершены немцами.
Поводы злословить в отношении советского прошлого Родины своим историческим невежеством дает «демократическое» руководство современной буржуазной России. 2 апреля по телеканалу «Россия К» был показан фильм Анджея Вайды «Катынь», в котором вина за расстрелы поляков была возложена на советские власти. В обсуждении фильма приняли участие представители московской интеллигенции – кинорежиссер Н.Михалков, историк А.Чубарьян и руководитель Федерального архивного агентства А.Артизов, фактически солидаризировавшиеся с содержанием фильма и его выводами.
7 апреля на кладбище в Катынском лесу состоялась траурная церемония, для участия в которой прибыл премьер-министр Польши Д.Туск. В этой церемонии участвовал глава российского правительства В.Путин, который в своем выступлении возложил ответст­венность за гибель поляков на советское правительство. Гибель 10 апреля другой польской делегации во главе с президентом Польши Лехом Качиньским, направлявшейся в Катынь, стала поводом для новых акций в связи с событиями многолетней давности.
Через неделю тему Катыни подхватил и президент России. Прибыв 18 апреля в Краков на похороны Качиньского, он обвинил лично Сталина в организации массовых казней в Катынском лесу. Д.Медведев вернулся к вопросу о Катыни и в ходе своей поездки по Скандинавским странам. Повторяя обвинения в адрес советских властей с эмоциональным накалом, Д.Медведев 28 апреля объявил на пресс-конференции в Копенгагене о своем распоряжении разместить на правительственном сайте материалы, относящиеся к катынскому делу.
Президент России продемонстрировал высокую степень значимости для него вопроса, который стал предметом гласности 67 лет назад, и фактическое согласие с утверждениями гитлеровской пропаганды того времени по поводу захоронений в Катынском лесу.
Глава российского правительства В.Путин публично озвучил домыслы о «массовом расстреле» польских офицеров под Катынью как мести Сталина за гибель в польском плену советских военнопленных. Якобы в беседе с учеными-историками он узнал, что И.Сталин лично руководил операцией в ходе советско-польского конфликта, по итогам которого советская сторона потерпела поражение. «Полагаю, И.Сталин чувствовал свою личную ответственность и совершил этот расстрел из чувства мести. Но мы этого точно не знаем, и в документах этого нет» – подчеркнул он в одном из выступлений. Интересно, от каких «историков» Путин узнал, что «Сталин руководил операцией»? Далее глава правительства заявил, что «нет рационального объяснения» тому, почему некоторые пленные были сосланы в сибирские лагеря, а другие расстреляны под Смоленском. «Непонятно, зачем это сделано, и никакого намека на это в документах нет», – признается он.
Читатель, прошу: внимательно прочтите еще раз, что он сказал: «нет рационального объяснения»... Он же, как унтер-офицерcкая вдова, сам себя высек... Ведь этим заявлением прямо указывается, что мотивов расстреливать польских офицеров не было. Зачем это было нужно, он не знает, в документах на этот счет нет и намеков. Вы поняли, что он сказал? Прямо указано – у Сталина не было личных мотивов для расстрела польских офицеров.
Странно слышать такие вещи от государственного мужа, который при желании мог иметь в распоряжении подлинные исторические материалы истории Отечества российского. Правительственные консультанты «от истории» нередко берутся разъяснять вопросы, в которых недостаточно сведущи. Достоверно известно: в советско-польскую войну 1920-1921 годов главнокомандующим Красной Армией был не Иосиф Сталин, как кто-то мог бы подумать, а Сергей Каменев. Летом 1920 года Иосиф Сталин являлся членом Революционно-военного совета Юго-Западного фронта, наступавшего на Львов, которым командовал будущий маршал Александр Егоров. А Западным фронтом, наступавшим на Варшаву, командовал будущий «гениальный стратег» Михаил Тухачевский – именно он оставил в польском плену десятки тысяч солдат Красной Армии, уничтоженных поляками.
Надо полагать, что польскую сторону, и не только, поставила в недоумение и цифра в 32 тысячи красноармейцев, погибших в польском плену в 1919-1922 годах, названная российским премьером. Известно, что в 1921 году нарком по иностранным делам Г.Чичерин ставил перед польским правительством вопрос о гибели 60 тысяч пленных красноармейцев. В 1998 году Генеральная прокуратура России просила Генеральную прокуратуру Польши расследовать гибель 82 500 пленных красноармейцев. Польская сторона настаивает, что в польском плену якобы от болезней умерло 16-18 тысяч красноармейцев. Что же касается 32 тысяч погибших красноармейцев, то даже ведущий российский эксперт по вопросам пленных красноармейцев, заведующий кафедрой МГУ, член Группы по сложным вопросам российско-польских отношений Геннадий Матвеев не располагает информацией, на основании каких исследований она появилась.
В связи с этим следует напомнить, что в апреле 2010 года исполнилось 90 лет, как Польша Пилсудского предприняла агрессию против советской России. Польско-советская война 1920-1921 годов стоила Красной Армии 216 тысяч пленных, из которых по пути в польские лагеря и непосредственно в них погибло более 80 тысяч красноармейцев. Известно, что в конце 2009 года Группа по сложным вопросам польско-российских отношений предложила провести в Польше мемориальные церемонии в местах гибели пленных красноармейцев. К сожалению, Путин не счел нужным спросить, готова ли Польша организовать эти мероприятия.
На фоне выявленных свидетельств о причастности нацистов к катынскому преступлению заявление российского премьера о единоличной ответственности довоенного советского руководства за гибель польских офицеров выглядело, конечно, поспешным и абсолютно нелепым.
19 апреля по инициативе депутата Виктора Илюхина в Государственной Думе Российской Федерации состоялся «круглый стол»: «Катынская трагедия, правовые и политические аспекты», собравший ведущих российских историков, представителей Главной военной прокуратуры России, общественных деятелей и исследователей, занимающихся катынской темой. В пресс-конференции приняли участие доктор исторических наук А.Н.Колесник, профессор истории А.Ю.Плотников, писатель Ю.И.Мухин, историк С.Э.Стрыгин, доктор исторических наук Ю.Н.Жуков. Вниманию журналистов были представлены новые доказательства виновности немецкой стороны в массовом расстреле польских военно­служащих.
Экспертиза доказала (это не отрицает и польская сторона), что польские военнопленные были расстреляны из немецкого оружия. Руки погибших были связаны не пеньковым шпагатом, производимым в СССР, а бумажным, который изготавливался в Германии. Трупы были в теплой одежде, хотя, по версии Геббельса и антисоветчиков, сотрудники НКВД производили расстрел в мае 1940 года. Место расстрела – рядом с автострадой и пионерскими лагерями. Вряд ли в мирном 1940 году там стали бы устраивать массовые расстрелы. Расстрелы производили поздней осенью 1941 года немцы.
Прозвучали аргументированные свидетельства и факты, позволяющие сделать вывод, что официальное российское 14-летнее расследование «катынского преступления» проводилось односторонне и не вполне профессионально, с грубыми процессуальными нарушениями. Весьма примечательный факт, что группа российских следователей в ходе их работы неоднократно приглашалась польской стороной на фуршеты, позднее всех их отметили польскими наградами.
Имеют место серьезные разночтения и в цифрах «расстрелянных поляков». Известно, что в 1939 году в плен войсками Красной Армии было взято около 150 тысяч польских военнослужащих. Из них 42 тысячи были отправлены обратно в Польшу, еще 42 000 отпущены на территории, занятой советскими войсками. 73 000 поляков было в польской Армии Андерса. На советской территории формировалась дивизия Тадеуша Костюшки, потом она реорганизовалась в Первую польскую армию. Откуда же тогда взялась еще 21 тысяча поляков, которых якобы расстреляли русские, да еще из немецких пистолетов системы «Вальтер»? Это сколько же надо было времени, чтобы из пистолета расстрелять такое количество!
Доктор исторических наук, профессор МГУ им. М.В.Ломоносова Валентин Александрович Сахаров отмечает, что «катынская история, вопреки насаждавшимся в обществе наивным ожиданиям, стремительно превращается во все более тяжелую в морально-психологическом и политическом отношениях проблему для России, ее народов, прежде всего, русского народа. Совершенно несостоятельными оказались попытки снять ее политическую остроту с помощью признания вины за никем не доказанный факт расстрела военнопленных польских офицеров органами НКВД СССР».
18 июня на пресс-конференции в Госдуме российским парламентарием В.И.Илюхиным озвучено сенсационное заявление о подлоге архивных документов в Государственный архив России, правопреемницы Советского Союза. Ныне нетрудно понять, как, с чьей подачи и с какой целью на Западе штампуют фальшивки, которые подхватываются «демократами» всех мастей и оттенков, в том числе и российскими. И делается это с одной целью – отравив сознание, особенно молодых людей, и представив советский период как сплошные репрессии и насилие, сохранить насквозь коррумпированную власть современных российских буржуа.
По утверждению В.Илюхина, есть свидетель, который обратился к нему и утверждает, что он имеет непосредственное отношение к изготовлению и подделке архивных документов, в том числе и по расстрелу пленных поляков. В начале 90-х годов прошлого века аппарат Б.Ельцина создал специальную группу, которая занималась массовой фальсификацией документов и базировалась на бывших дачах КПСС в поселке Нагорный. Работа членов группы хорошо оплачивалась. Возможно, что эта группа действует и сегодня, не исключил он.
«В 90-х годах прошлого века Гос­архив напоминал большую барахолку», – сказал В.Илюхин. В частности, стало известно, что сотни документов были вывезены соратником Б.Ельцина, перевертышем-антисоветчиком генерал-полковником Д.Волко­гоновым из секретного архива в библиотеку конгресса США. Сейчас уже доказано, что в тот период были сфальсифицированы свидетельства о том, что И.В.Сталин был агентом царской охранки, так называемое завещание В.И.Ленина и документы, связанные с отречением Николая II.
В.Илюхин проинформировал: «Свидетель сообщил, что ими была изготовлена записка Л.Берии в Политбюро ВКП(б) от марта 1940 года, в которой предлагалось расстрелять более 20 тысяч польских военнопленных. При этом он продемонстрировал механизм подделки подписей Л.Берии, И.Сталина (смотри копии листов).
…его группой была изготовлена фальшивая записка Шелепина на имя Хрущева от 3 марта 1959 года. Непосредственное участие в написании текста принял полковник Климов.
…в Нагорное доставлялся необходимый заказ, текст для документа, который следовало изготовить, или текст, чтобы внести его в существующий архивный документ, изготовить под текстом или на тексте подпись того или иного должностного лица.
…над смысловым содержанием проектов текстов работала группа лиц, в которую якобы входили бывший руководитель Рос­архива Пихоя, приближенный к первому российскому президенту М.Полторанин. Названа также фамилия первого заместителя руководителя службы безопасности президента Г.Рогозина.
Группа проработала в пос. Нагорное до 1996 года, а потом была перемещена в населенный пункт Заречье. Ему известно, что с архивными документами в таком же ключе работали сотрудники 6-го института (Молчанов) Генштаба ВС РФ.
Он утверждает, что в российские архивы за этот период были вброшены сотни фальшивых исторических документов и еще столько же были сфальсифицированы путем внесения в них искаженных сведений, а так же путем подделки подписей. В подтверждение сказанного собеседник представил ряд бланков 40-х годов прошлого века, а также поддельные оттиски штампов, подписей и т.д. Он по­обещал представить дополнительные материалы. Одновременно заявил, что у него частенько вызывает иронию представления общественности тех или иных архивных документов как достоверных, хотя к их фальсификации «приложила» руку названная группа людей.
Им представлено, как он утверждает, архивное дело Спецфонда № 29, том 7 «Переписка НКГБ – НКВД с ЦК ВКП(б) в период с 02.01.1941 по 05.05.1941 г. О приготовлении Германии к войне против СССР» (фонд 9). Дело на 202 листах, подшито по описи 30 августа 1944 года. На обложке дела имеются следующие отметки: «Хранить вечно. Рассекречиванию не подлежит».
По его заявлению, данное архивное дело оказалось у него в связи с участием в начале 90-х годов прошлого века в работе группы специалистов по подделке исторических документов. Доступ к архивным материалам у них был свободным. Многие документы привозились в пос. Нагорное без всякого учета и контроля за их движением. Их получение не фиксировалось какими-либо расписками и обязательствами по хранению.
В деле действительно подшито 202 листа переписки со Сталиным, докладные записки руководителей НКВД, НКГБ СССР, Украины, пограничных служб, а также некоторые директивные записки. Данный том был изъят из архива, по мнению источника, с одной целью: чтобы в него вложить изготовленную в начале 90-х годов докладную записку от имени Народного комиссара обороны СССР маршала Советского Союза С.Тимошенко, Начальника Генерального штаба Красной Армии генерала армии Г.Жукова. Исполнитель записки генерал-майор А.Василевский.
Записка действительно расположена на листах дела под порядковыми номерами 0072-0081 с грифом «Особой важности», «Строжайше секретно», датирована 11 марта 1941 года.
В записке дается оценка политической обстановки в Европе с предложениями обратить особое внимание на оборону наших западных границ. Отмечается, что на стороне Германии в войну против СССР могут быть вовлечены Финляндия, Румыния, Венгрия и другие союзники Гитлера. Дается расклад наших войсковых частей на Западе с предложениями по их усилению.
Источник заявил, что в таком же порядке в дело внесена и еще одна докладная записка на имя Сталина за подписями тех же, ранее названных лиц, от 4 апреля 1941 года (№ 961), размещена в деле под порядковыми номерами 0109-0115.
В записке дается характеристика численного состава германских войск, развернутых вблизи границ СССР. Высказано мнение, что Гитлер может начать войну против Советского Союза «в ближайшем обозримом будущем», сроки начала войны «от двух ближайших месяцев до года». Одновременно предлагались меры по развертыванию советских войск и ведению войны на территории противника.
Источник пояснил, что эти два фальшивых документа (докладные записки), на сколько ему известно, готовились в основном военными специалистами Генерального штаба Вооруженных Сил РФ, скорее всего, как он понял, для поднятия авторитета и значимости Генштаба Красной Армии».
Свидетель, который пожелал остаться неизвестным, передал целый том искусно изготовленных фальшивых документов, в числе которых документы о сотрудничестве НКВД с гестапо. Как установила экспертиза, на подписи Мюллера стоит поддельная печать, а подпись Берии подделана.
Присутствующие на пресс-конференции представители польских СМИ и российской антисоветской организации «Мемориал» буквально взбеленились. Они безуспешно пытались поставить своими вопросами депутата-коммуниста в тупик. Не получилось. Больше всего антисоветчики интересовались, почему на пресс-конференции не был представлен тот самый свидетель, который рассказал о секретной группе из поселка Нагорный. «Мы опасаемся за его жизнь, – ответил В.Илюхин. – Свидетель будет представлен следствию, если оно будет проводиться на государственном уровне». Виктор Иванович также рассказал, что на участников его независимой комиссии оказывается давление, им предлагается официально отказаться от тех или иных заявлений.
После пресс-конференции журналистам были представлены на обозрение поддельные оттиски, пустые бланки 30-40-х годов, а также подлинные печати и штампы, которые использовались для изготовления фальшивок.
К сожалению, официальные российские СМИ, в первую очередь крупные телеканалы, продолжили тактику замалчивания данных расследования, проведенного независимой комиссией. Хотя бесспорно, что обнародованная ею информация является сенсационной. Увы, таковы правила, по которым играют современные российские «демократы» и так называемая «независимая пресса». Они все больше заняты то очередным газовым шантажом, то нефтяными пошлинами или ценой на углеводородное сырье, прихватизированное нуворишами, то поиском поводов для «винных, молочных либо сахарных войн», то «объективными» оценками киргизской трагедии, то предстоящими выборами, в том числе и в соседних странах, да вообще мало ли чем… Только не бедами, навалившимися с их приходом к власти на великую и некогда заслуженно уважаемую мировым сообществом Россию…
Как можно понять тех людей, что стоят за колоссальным по тяжести и возможным последствиям преступлением, совершенным против Отечества, исковеркавших огромный пласт истории страны и ее исторической науки, запустив, в том числе и в научный оборот, искусно изготовленный исторический фальсификат? Как же надо было ненавидеть страну, давшую жизнь, выучившую, предоставившую все возможности для самореализации человека, явивших миру гениев в науке, культуре и искусстве, первой направившей человека в космос, отстоявшей честь и независимость собственного народа и освободивших народы Европы от порабощения в кровопролитнейшей схватке с фашизмом, чтобы совершить такую подлость?
Совершенно прав коммунист В.Илюхин когда говорит, что «разносчиками идеологической отравы в основном стали дети и внуки «репрессированных» (читай – осужденных за преступления против советской власти – Г.А.), бежавших из Советского Союза и сотрудничавших с разведцентрами и спецслужбами зарубежных государств. Их наследники перестали замалчивать свое происхождение, наоборот, публично демонстрируют принадлежность к дворянским, помещичьим корням, а там, где они слабо просматриваются, не стесняются и врать. Антисоветчина, установленная государственной властью, ныне стала ее основной, официальной идеологией».
Провокации нынешней рос­сийской власти очевидны: очерняя СССР и социализм, она уводит народы от настоящего, в котором Россия грабится и уничтожается. Она пытается заграбастать все, что еще можно, в том числе и в постсоветских государствах, образовавшихся после умышленного разрушения народного по сути и социального по содержанию Советского Союза. Буржуазная власть пугает народ прошлым, чтобы не дать патриотам социалистического Отечества вернуть власть тому, кому она должна принадлежать и по праву и по совести – НАРОДУ.
Оголтело растаптывая советскую историю, нынешние «демократы», дорвавшись до властных государственных постов в России, легко идут на любые преступления, в том числе и на предательство во имя барышей и прибылей за счет украденных у народа природных ресурсов, фабрик и заводов. Небезызвестные яковлевы, волкогоновы, резуны, всевозможные национал-либералы и демократы белорусского разлива, новоявленные страдальцы за либерализацию… вольно или нет, оказались вовлеченными во все тяжкие против истины и трудового народа.
В конце 80-х – начале 90-х годов прошлого столетия катынская история получила импульс с подачи лидеров БНФ, настоявших сначала на проверке, а потом и на расследовании уголовного дела о судьбе польских офицеров, что и послужило еще одной спекуляцией вокруг СССР. Начавшееся расследование неизбежно перекинулось в Смоленскую область. При этом правоохранительные органы Беларуси: прокуратура, милиция, госбезопасность подверглись жесточайшему шельмованию и давлению, а их сотрудники в определенной мере оказались деморализованы, шли на поводу так называемых демократических, а точнее националистических сил.
Катынское дело в течение десятилетий считалось совершенно ясным. Раздутые в 1943 году геббельсовской пропагандой россказни о «злодеянии большевиков» повсюду были восприняты как фальшивка, коварно задуманная и исполненная фашистская провокация. Единственным, кто ее поддержал, было марионеточное «польское правительство» в изгнании, находившееся в Англии. Отчет советской комиссии во главе с президентом Академии медицинских наук Н.Бурденко по расследованию преступлений фашистов на советской территории внес в вопрос полную ясность. Операцию по якобы уничтожению оказавшихся в советском плену польских офицеров после возвращения Советскому Союзу Красной Армией Западной Белоруссии и Западной Украины совершили сами немцы. Это произошло в захваченной гитлеровцами Смоленской области, чтобы затем приписать зверства советскому НКВД. Такой вывод никто даже не пытался опровергнуть, пока существовал СССР и были живы свидетели преступления в Катыни.
Позиция тогдашнего политического руководства М.Горбачева, а затем Б.Ельцина, С.Шушкевича и других, ставших в одночасье «демократами», фактически и предопределила исход дальнейшего расследования трагедии польских офицеров, которое проводила уже Главная военная прокуратура России. Уголовное дело по Катыни прекращено в связи со смертью бывших руководителей Советского Союза. Главная военная прокуратура вынесла по делу вердикт 21 сентября 2004 года. Было официально объявлено: «по результатам проведенного в течение 14 лет расследования данного уголовного дела»: расстрел 21 857 граждан Польши (14 552 военнопленных из трех спецлагерей НКВД СССР и 7305 заключенных из тюрем Западной Украины и Западной Белоруссии) датирован апрелем – маем 1940 года. Виновными в совершении катынского преступления признаны члены Политбюро ЦК ВКП(б), руководители Народного комиссариата внутренних дел СССР периода 1940 года и непосредственные исполнители из числа сотрудников НКВД СССР.
Бывший начальник Управления Генеральной прокуратуры Союза ССР по надзору за исполнением законов о государственной безопасности В.Илюхин считает, что «Выводы Главной военной прокуратуры и извинения президентов видятся ничтожными и оскорбительными для нашего народа». На пресс-конференции он сообщил, что единственными документами, на которые опираются главная военная прокуратура, являются «вдруг обнаруженные» в горбачевские времена записка Л.Берии и два решения ЦК ВКП(б) от 5 марта 1940 года о ликвидации находящихся в тюрьмах и лагерях бывших польских офицеров, чиновников, помещиков, полицейских, разведчиков, жандармов и тюремщиков. Будь они достоверными, Н.Хрущев неизбежно воспользовался бы ими, когда развенчивал так называемый культ личности И.Сталина.
Антисоветчики ссылаются на записку Берии в Политбюро ЦК ВКП(б), где он предлагает расстрелять вышеуказанное количество военнопленных поляков. Но почерковедческая экспертиза установила, что эта записка почему-то была изготовлена на нескольких пишущих машинках, что в делопроизводстве того времени просто не допускалось. На решении Политбюро нет ни одной подписи и печати. Мало того, на выписке из решения почему-то стоит печать КПСС (именно этот документ недавно обнародовал Госархив по указанию Д.Медведева).
Сомнения о подлинности этих материалов высказывались давно. Исследователи указывали на ряд деталей их оформления, подчистки, невозможные в проходивших тогда через Общий отдел ЦК документах. Так, доктор исторических наук В.Жухрай, отмечает, что изготовление и внедрение фальшивок такого рода входит в методику работы английской разведки. Там работают прекрасные специалисты, оснащенные самой совершенной техникой. Он считает, что фальшивки были помещены в партийные архивы зарубежной агентурой в смутное после смерти И.Сталина время.
Все предшествующие годы документы по Катыни хранились в Особом секторе Общего отдела ЦК в запечатанном пакете. Он вскрывался только два раза – Ю.Андроповым и М.Горбачевым, затем был вновь запечатан. И вот к В.Болдину, в бытность его заведующим Общим отделом, еще до прихода Б.Ельцина к власти, является корреспондент газеты «Вашингтон пост» и предъявляет на предмет комментариев эти самые документы. Получить их он мог лишь у изготовителей.
В записке на имя директора РГАСПИ, направленной 14 февраля 2005 года группой сотрудников Государственного архива по катынскому делу, признается факт «…отсутствия в деле к пункту 215 «Вопросы НКВД» протокола Политбюро от 22 июля–24 августа 1940г…», что «в архивном экземпляре выписки из протокола Политбюро от 5 марта 1940 года, касающегося судьбы польских офицеров, направленной бывшему руководителю КГБ СССР А.Шелепину 27 февраля 1959 г., присутствуют грубые подчистки исходного текста, исправления и допечатки текста на пишущей машинке с другим шрифтом». В упомянутой записке Л.Берии, на которой стоит дата «5 марта 1940 года», на самом деле на бланке вообще нет числа «5».
Подлинность хранящихся в Российском государственном архиве социально-политической истории (РГАСПИ) многих документов вызывает, мягко говоря, сомнение. Чудны ваши дела, господа «демократы». Эти сомнения высказывают многие историки и исследователи отечественной истории. Как теперь можно доверять архивным документам, к которым приложились ярый антисоветчик А.Яковлев и компания? Что будут делать с кандидатскими и докторскими диссертациями, защищенными на документах архивного новодела?
Поневоле приходят на память упоминания о Катыни Геббельса в своем дневнике. Он писал, что «сделает из этого колоссальный скандал, который и много лет спустя будет доставлять Советам огромные неприятности».
Видимо, чувствовал, что у него окажутся старательные последователи...
Георгий Атаманов,
секретарь ЦК КПБ
 

Автор: 
Георгий Атаманов
Номер газеты: