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

Горжусь высоким званием коммуниста

Первый секретарь ЦК КПБ Игорь КАРПЕНКО дал интервью журналу «Беларуская думка», который до 1991 года носил другое название – «Коммунист Белоруссии». Это был центральный орган КПБ, на страницах которого публиковались статьи, служившие для членов партии руководством к действию. Полный вариант интервью мы публикуем сегодня в нашем издании.
– Игорь Васильевич, Вы относительно недавно, с октября 2012 года, возглавляете Коммунистическую партию Беларуси, занимая одновременно должность заместителя председателя Минского городского исполкома. Что значит быть партийным лидером в современной Беларуси – ответственность, долг или дополнительное бремя?
– В Коммунистической партии, исходя из наших программных и уставных принципов, единоличного лидерства не существует. Партией руководит коллегиальный орган – Центральный комитет. И на нынешнюю должность я пришел с поста второго секретаря ЦК – до этого был членом ЦК, секретарем ЦК, возглавлял Минскую городскую организацию КПБ. Так что избрание первым секретарем можно рассматривать как закономерность. Любая структура должна заботиться о том, кто придет на смену. А это значит не просто выдвигать на руководящие должности энергичных людей, зарекомендовавших себя среди однопартийцев, но и учить, передавать опыт партийной работы. Сегодня мало разделять идеологические взгляды, нужно еще уметь организовывать партийную жизнь, политическую
деятельность. Не нужно забывать и про экономику партии, финансовую составляющую.
– Вы в партию вступили еще в советское время?
– Да. В 1984 году, еще во время службы в Советской армии, и с той поры храню партийный билет. Сначала год был кандидатом в члены КПСС, потом в двадцать лет меня приняли в партию.
– Вы известный в стране человек и достаточно успешный. Прошли большой трудовой путь в педагогическом университете, дважды избирались депутатом Палаты представителей. Но Игорь Карпенко, хоть и первый секретарь, всего лишь один из 6 тысяч членов КПБ. Кто эти люди? Каков социальный портрет современного белорусского коммуниста?
– Социальный состав нашей партии полностью соответствует белорусскому обществу. Правда, есть определенный возрастной дисбаланс. У нас очень много людей глубоко пенсионного возраста, а молодежи порядка 20 %. Я не думаю, что наличие большого числа людей в возрасте – это какая­-то проблема.
Наоборот, представители старшего поколения, как показывают все исследования, наиболее политически активны, они несут с собой опыт. Да и энергии многих из них позавидуют некоторые молодые. Но, конечно, хотелось бы, чтобы средняя возрастная прослойка была более широкой. И здесь у нас большие надежды на тех, кто был коммунистом, но по разным причинам приостановил свое членство. Мы ведем работу, чтобы они восстановились в партии.
– Практически на протяжении всей истории Коммунистической партии вступить в нее было непросто. Существовали строгие требования к кандидатам, требовались рекомендации. А сейчас есть какие­-либо категории людей, которых ни при каких условиях в КПБ не примут?
– В нашем современном уставе вы этого не увидите. Да и раньше такого не было. Скажем, Савва Морозов, хотя и не был официально членом партии большевиков, тем не менее поддерживал партию и сочувствовал ей. Причем у него были неплохие контакты с большевистским руководством. Мы не воспринимаем предпринимателей как чуждый элемент. Бизнес, если он социально ответственен, платит налоги, работает на страну, на людей, создает рабочие места, вовсе не враждебен трудящимся. Должна быть более гибкая система отношений. И у нас в партии есть бизнесмены.
– А какой именно бизнес представлен в вашей партии? Все-­таки у Ленина и Маркса было деление буржуазии на крупную, среднюю и мелкую.
– Скорее, средний класс. Представителей его, конечно, немного в нашей партии, но они есть. А к какой буржуазии отнести индивидуального предпринимателя? И буржуазия ли это вообще? В Японии есть предприятия, где владелец - частник, а все полностью автоматизировано и работают роботы, то есть фактически наемных рабочих нет, все обслуживается одним семейством собственника. Есть здесь эксплуатация человека человеком или нет? Во всяком случае, мы в своей партийной программе достаточно гибко отразили эти моменты. Однако мы по­-прежнему признаем, что частнособственническая идея размывает сознание человека и даже его развращает. Но это уже вопрос идей, насколько они завладевают людьми. Поэтому идея создания общества на принципах равенства и социальной справедливости, общества, которое бы давало людям равные возможности, будоражит умы многих современников. Компартия – не первооткрыватель идей социального равенства. Вспомним «Город солнца» Томмазо Кампанеллы, работы Томаса Мора, Савонаролы. Да еще античные философы уделяли много внимания этому.
– Мне лично довелось наблюдать за той большой работой, которая проводилась в КПБ, над изменениями в Программе партии. Состоялась большая научная конференция, прошли внутрипартийные дискуссии. Вы консультировались с коллегами из Компартии Российской Федерации, других зарубежных компартий. Что принципиально нового появилось в основном идеологическом документе КПБ?
– Нужно помнить, что коммунисты – это не какие-­то динозавры, как нас пытаются представить наши противники. Коммунистические идеи эволюционируют. Марксистско­ленинская теория уникальна тем, что является сегодня методологией познания мира. Конечно, мы рассматриваем ее не как догму, а именно как методологию. При оценке современных событий основываемся на глубоком причинно-­следственном анализе того, что происходит. И уже затем вырабатываем стратегию и тактику действий. Скажем, сегодня появились социально-­экономические феномены, которых во времена Маркса вообще не было: акционерные общества, индивидуальные предприниматели, так называемый «офисный пролетариат». Как к этому относиться? Как воспринимать? Поэтому, на мой взгляд, требуются новые методы работы, которые затем будут перетекать в серьезные теоретические основы и закладываться непосредственно в программные документы.
Отношение к религии среди коммунистов неоднозначное, но, учитывая современные тенденции, предыдущий опыт, в программе содержатся более гибкие формулировки по отношению к религии. Коммунисты с уважением относятся ко всем конфессиям, существующим в стране, как, впрочем, и к атеистическим ценностям. Человек должен сам определять свое отношение к религии. Я убежден, что сегодня нам не нужен воинствующий атеизм, поскольку это не способствует консолидации общества. Ведь если хочешь раскачать и развалить государство, то надо начать делить людей по национальному и религиозному принципу. Так нужно ли нам, если мы ставим целью построение общества социальной справедливости, акцентировать внимание на вещах, которые бы заставляли разделять людей? В идеологической гибкости есть и политическая целесообразность. И мы должны расширять свою социальную базу, чтобы прийти к власти и проводить политику, соответствующую нашей программе. Недавно я встречался с главой государства, и, обсуждая эти темы, он подчеркивал, что партия должна быть узнаваемой именно с точки зрения программы, идеи, целей и задач.
Сейчас все чаще приходится сталкиваться с манипулированием общественным мнением. Оппозиционные партии, которые проповедуют идеи либерализма и свободного рынка, вдруг заговорили о социальной справедливости, даже стали выступать против приватизации. Выходит, в программах записано одно, а лозунги совершенно другие. Для чего это делается? Чтобы отвлечь внимание людей от их подлинных целей. Но если они придут к власти, то будут проводить ту политику, которая им выгодна. Поэтому наши сограждане должны четко понимать, что будет со страной в случае прихода к власти той или иной политической силы.
(продолжение на стр.2)
(начало на стр.1)
– 30 декабря исполнилось 90 лет с момента создания СССР. Компартия ассоциируется у многих с историей Советского Союза. История эта неоднозначна. В ней были великие свершения и великие преступления. Каково отношение современных коммунистов к 70­-летней советской истории?
– Давайте порассуждаем именно с точки зрения исторической ответственности. Если бы мы знали, как все должно быть, то это было бы идеальное общество. К сожалению, ко многим нашим целям приходилось идти методом проб и ошибок. Людям свойственно ошибаться. Политическим партиям тоже. Но коммунисты никогда не боялись в открытую называть и признавать проблемы и ошибки. В этом плане наша партия выгодно отличается от других. Мы сами указывали, где допустили ошибки или просчеты. Проводили анализ, открыто подходили к людям. Назовите мне хоть одну партию, которая поступала бы так же честно? В США две партии устраивают политическое шоу. И никто не рассказывает гражданам честно и открыто, почему государство влезло в такие долги, почему напечатали столько долларов, кто несет ответственность за это. Никто ни за что не отвечает. Коммунисты же всегда были честны со своим народом. Поэтому нас не нужно призывать к покаянию. Мы всегда на виду. Да, у нас есть свои проблемы. Мы их обсуждаем на пленумах, вырабатываем коллегиально решения, которые потом должны реализовываться в полном объеме. Мы ведем себя последовательно и целеустремленно. Если не поддерживаем идеи свободного рынка, то говорим об этом открыто.
– Можно ли сказать, что партия коммунистов – это партия сталинистов?
– Фигура Сталина для КПБ, как и многие другие исторические фигуры, очень важна. Сейчас много пишут об этом человеке, в том числе разные небылицы, домыслы. Появляется масса различных фильмов. Значит, Сталин привлекает к себе. Не случайно кто-то из писателей, то ли Симонов, то ли Шолохов, сказал, что был культ личности, но была и личность. Вклад Сталина в историю отрицать нельзя. Как и у любой личности, особенно такого масштаба и влияния, у Сталина были свои ошибки, неправильные подходы, которые сейчас неоднозначно воспринимаются общественным сознанием. Но это мы сегодня так оцениваем. А ведь трудно сказать, как бы мы себя повели в тех условиях, в которых приходилось действовать Сталину. Возьмем знаменитый «пакт Молотова­-Риббентропа». Много говорят и пишут о его неправедности, несправедливости, забывая при этом о причинно­следственной связи, о тех событиях, которые предшествовали этому соглашению, прежде всего, о Мюнхенском сговоре. А для Беларуси этот пакт вообще был исторически справедливым, он помог нам вернуть в состав белорусского государства западные области.
Вы помните, Вадим Францевич, как мы с Вами посещали ныне покойного Виктора Илюхина, тогда депутата Госдумы России. Он нам показывал уникальные свидетельства того, как совершаются архивные фальсификации, по сути фабрикуются документы, которые касались Катынского дела, начального периода войны. Поэтому и ко многим «историческим доказательствам» нужно относиться осторожно. Коммунисты оценивают сталинскую эпоху в целом, в контексте исторического процесса. Ведь было же много свершений! В первую очередь, масштабная индустриализация. Кто-­то скажет, что достигли этих результатов при помощи кирки и примитивного физического труда. Но ведь сколько лет было у советского государства, чтобы создать свою промышленность? 10–15! Если бы мы не достигли такого уровня индустриализации, нас бы в 1941 году вообще стерли в порошок. СССР сумел в краткие сроки перевести промышленность на военный лад, рассредоточить стратегические предприятия в тылу, что способствовало повышению обороноспособности страны. Мы до сих пор пользуемся тем промышленным потенциалом, который был создан в сталинское время.
Недавно в Москве на торжественном собрании, посвященном 90-­летию СССР, Михаил Ножкин, известный актер, композитор и певец, сказал, что самое высокое достижение Советского Союза – это создание «Бурана». Кто­-то возразит: лучше бы стиральные машины выпускали, а не «Буран». Дескать, все деньги ушли в оборонку. Но в оборонке развивались мощными темпами новейшие технологии. Нам сейчас подсовывают идею, что услуги должны заменить промышленность. Это происходит потому, что нашу территорию воспринимают как определенный экономический придаток, куда можно сплавлять свои товары. А миром будут управлять те страны, где сосредоточено и развивается производство. Тот, кто владеет технологиями. Военпром США не ликвидирован, так же, как и в ЕС. Все высокие технологии там. Что же тогда получается? Советского Союза нет, якобы «исчадие зла» исчезло. Почему же тогда развивается такими темпами военно­-промышленный сектор западных стран?
Сталин был очень дальновидным человеком и прекрасно понимал эти процессы. Ведь даже выход в космос, хоть он произошел хронологически уже при Хрущеве, закладывался при Сталине. То же касается и прорывных медицинских технологий.
– Вернемся от истории к современности. Недавно в Беларуси состоялись парламентские выборы. Всего три, по другим данным - уже четыре коммуниста были избраны в нижнюю палату Национального собрания. Количество членов КПБ, представленных в парламенте, с каждым созывом уменьшается. Если судить по этому показателю, то авторитет партии падает, она переживает кризис?
– Однозначно, нет. Дело в том, что избрание в парламент - не совсем точный показатель партийного влияния. У нас были кандидаты, которые вышли на вторые места, показав при этом очень хороший результат. Значит, у КПБ есть серьезная электоральная база, значительная прослойка людей, которые разделяют наши взгляды. То, что наши представители не прошли в парламент, еще не означает, что народ не реагирует на программу Коммунистической партии. Главное, что в депутаты не попал ни один радикал­-оппозиционер. Те силы, которые представлены в Национальном собрании, близки нам по идеологии, по своему видению развития Беларуси. Если в парламент шел член БРСМ, разделяющий политику социально ориентированного государства, которая близка компартии, то нужно ли было нам создавать ему конкуренцию? Так ведь можно и заиграться. Это вопросы политической тактики.
Коммунисты в парламенте не чувствуют дискомфорта при работе с другими депутатами. Мы в состоянии обсуждать
проблемные вопросы и реагировать на них. В нынешнем составе Палаты представителей есть люди, у которых партбилет сохранился еще с советских времен. В дальнейшем мы можем восстановить определенное количество членов партии: такой опыт есть и по работе прошлых созывов парламента. Но следует учитывать и другой аспект. У нас коммунисты представлены и в местных органах – Советах, исполнительных комитетах. Сегодня нужно сделать прорывной скачок в плане омоложения партийных рядов, подтянуть идейных, убежденных людей, которые разделяют наши программные цели и задачи, нашу идеологию. Их надо обучить партийной работе, чтобы они составили достойную смену старшему поколению коммунистов, умудренному опытом. Имеется в виду не только молодежь до 31 года, но и люди 40–50 лет, которых нужно выдвигать в депутаты различного уровня. Мы далеки от мысли, что само членство в компартии дает человеку возможность предлагать себя в качестве народного избранника. Это большая ответственность, к которой нужно готовиться. Члены КПБ не смогли в эту избирательную кампанию быть представлены во всех 110 округах, но мы к этому и не стремились – выдвинули тех, в которых уверены, за которых партия готова поручиться. Это была принципиальная позиция.
– В стране существуют 15 политических партий, более 2200 общественных объединений. У них разная идеология, разные программы. Кого КПБ рассматривает в качестве своих политических союзников, а на кого смотрит как на соперников и даже противников?
– Во всяком случае, как Калякин мы не поступим. Он, точнее его партия, вступил в коалицию с праворадикальными и националистическими движениями. Национализм для КПБ не приемлем. Мы считаем, что нужно выстраивать более гибкую систему отношений, и в этом плане придерживаемся идей интернационализма, а не ущемления людей по расовому, религиозному признаку. Сейчас появились такие группировки, течения, которые козыряют оригинальным названием – национал-­большевики. Этого не может быть в природе. И мы никогда не будем такие взгляды поддерживать. Подобные названия вносят раскол в коммунистическое движение, его дискредитируют, подставляют в глазах избирателей.
– Вам не нравится слово «большевик»?
– Оно мне нравится – я сам являюсь большевиком. Но за словами стоят реальные убеждения и дела. А сейчас этим словом часто прикрывают шовинистические идеи, которые к настоящему коммунизму и большевизму не имеют никакого отношения. Происходит фактическая подмена понятий для дезориентации людей: используются пиар­технологии. Настоящий большевик, коммунист – это интернационалист, ему чужды всякие националистические и шовинистические идеи.
– И все же. В Беларуси довольно много партий левой идеологии. Это и Белорусская социал-­демократическая Громада, и Белорусская социал­демократическая партия (Грамада), и Белорусская партия левых «Справедливый мир», и Социал-­демократическая партия Народного согласия. Рассматривает ли руководство КПБ возможность создания широкого социалистического фронта в нашей стране?
– Мы же видим реальную деятельность социал­-демократов по всему миру. Они дружно кричат левые лозунги, но когда приходят к власти, то ничего в стране не меняется. Поэтому нам больше импонирует беспартийный Александр Лукашенко, который проводит социально ориентированную политику, более близкую к китайскому эволюционному пути развития. Коммунисты, видя своей конечной целью построение социалистического общества, считают этот курс более соответствующим провозглашенным идеалам, нежели позиция социал-­демократов. Они говорят, что сначала нужно укоренить капиталистические основы, дождаться, когда они вызреют, когда люди станут богатыми, а после этого думать о социальной справедливости. Это неправильно. Я за то, чтобы бизнес был социально ответственным, чтобы сохранялись и создавались рабочие места, люди получали достойную зарплату и не было дичайшего расслоения общества. А во многих негативных явлениях на Западе заслуга как раз социал­-демократов. Они регулярно приходят к власти - почему же нет никаких сдвигов в тех странах в плане построения социализма?
– Вы против социал-­реформизма?
– Конечно. Вы говорили о возможности создания широкого левого фронта. А с кем его создавать? Со «Справедливым миром»? Те, кто в этой партии мог с нами сотрудничать, уже перешли в КПБ. На определенном этапе Партия коммунистов белорусская, предшественник «Справедливого мира», сыграла положительную роль. Потом партийное руководство заигралось с грантами и стало обслуживать тех, кто давал эти гранты. Если вы получаете деньги с Запада, то рано или поздно приходится их отрабатывать, даже если это идет вразрез с вашими убеждениями. Поэтому для сохранения чистоты идей нельзя брать деньги на партийное развитие из­-за границы. Ориентироваться нужно на своих граждан, идти в массы и убеждать их, чтобы тебя поддержали, а не так, как это делает Калякин: ездить за грантами за рубеж, одновременно кричать о социальной справедливости и оправдываться перед праворадикальными силами за то, что возложили цветы к памятнику Ленина…
– В последнее время много говорится о политической модернизации в Беларуси. При этом предлагаются самые разные ее сценарии. Одной из наиболее актуальных тем является совершенствование избирательной системы, а именно – возможный переход от мажоритарной к смешанной системе. Как Вы к этому относитесь и готова ли к таким преобразованиям КПБ?
– Я в избирательном процессе не новичок. Был в составе участковой комиссии, долгое время возглавлял городскую комиссию, дважды избирался депутатом парламента, работал в составе агитационных групп на недавних выборах, то есть видел выборы с разных сторон. Поэтому могу сказать однозначно: сегодня ни одна страна в мире не может похвастаться тем, что ее избирательная система идеальна. А если такие заявления и последуют, то их нужно ставить под сомнение. В том же Евросоюзе порог явки избирателей снижен и европарламентариев избирают 12–13 % граждан. Фактически сегодня белорусский коммунист, который на последних выборах не прошел в парламент, но занял второе место и набрал определенное количество голосов, намного более легитимен, чем депутат, избранный в ЕС. Я спокойно отношусь к реформированию избирательной системы. Наша партия готова участвовать в выборах как по мажоритарной системе, так и по пропорциональной и смешанной.
КПБ поддержала изменения в Избирательный кодекс, внесенные ранее, в частности, право партий выдвигать своих кандидатов в тех округах, где у них не создано первичных ячеек. У нас первички есть везде – их более 400, и будет еще больше, поэтому мы готовы к любому сценарию. Но я как депутат парламента тогда голосовал за эти изменения, потому что они могут дать толчок развитию партийной системы в стране. Однако этого не произошло. Другие партии не сумели воспользоваться изменениями в законодательство и не стремятся развивать свои партийные структуры. Во многих районах страны не существует иных партийных организаций, кроме коммунистической. Для нас избирательная система – это не какая­-то лазейка во власть, а возможность доносить нашу программу до избирателей, конкурировать с другими на равных. Мы готовы к любому реформированию избирательной системы.
– У КПБ самое большое среди белорусских партий представительство в местных Советах – более 300 человек. Что это дает? Возможно, назрела реформа местного самоуправления и пора дать Советам больше полномочий?
– Об этом тоже говорил Президент Беларуси: возможно, есть необходимость пересмотреть распределение определенных функций между ветвями власти на местах, найти баланс. Но здесь нужно быть очень аккуратными. Когда мы ведем серьезную экономическую модернизацию, хотим уйти от энергетической зависимости, выстроить инновационную экономику, то главное не потеряться в политическом хаосе. Для нас крайне важны внутриполитическая стабильность, мир и согласие, преемственность власти.
Выбирая между модернизацией политической и экономической, приоритет необходимо отдать второй. Если мы этого не сделаем, то нашей стране будет достаточно сложно дальше конкурировать. Мы это очень сильно почувствовали в период мирового экономического кризиса.
Сейчас важная работа проводится по оптимизации системы образования, государственного аппарата, рациональному использованию бюджетных средств. Объявлен Год бережливости. Нужно думать о дальнейшей диверсификации внешней торговли, о том, как создавать новые производства, которые будут давать высокий уровень добавленной стоимости, что позволит получать дополнительный доход в бюджет. А эти задачи не соотносятся с резкой ломкой политической системы. Мы это уже видели на примере наших соседей, в том числе тех, кто присоединился к Евросоюзу. Этот процесс сопровождался закрытием десятков предприятий, а люди оставались без работы.
– Президент страны неоднократно говорил о низкой роли в белорусском обществе политических партий и необходимости повышать их влияние. Солидарны с ним и эксперты­-политологи. В чем причины недостаточного партийного авторитета? Как преодолеть эту тенденцию?
– В определенной степени, причина заключается в нашем славянском менталитете. Ведь почему люди не идут в партии? Считают, будто кто-­то должен сделать это, только не они. А граждане, которые понимают, что от их голоса, позиции зависит будущее страны, должны приходить в политические партии и брать на себя определенную долю ответственности. Сейчас на себе многое вытягивает Президент: наверное, в президентской республике, какой является Беларусь, это оправданно. Но одновременно мы должны развивать институты гражданского общества.
Другая причина – в ангажированности многих партий. О какой ответственности гражданского общества можно говорить, если партийные активисты получают гранты из­-за рубежа? Они попросту выполняют чужой заказ. В России это тоже очень хорошо почувствовали и ввели для таких организаций статус «иностранных агентов».
Негативное отношение к политическим партиям вызывает та партийная чехарда, которую наши граждане видят в других странах. Падение влияния партий – это не чисто белорусское явление. В странах Евросоюза огромное количество избирателей вообще не ходит на выборы, значит, они не доверяют своей политической системе. Кроме того, сами политические партии не всегда активны. Они более энергично работают в период выборов, а политическая работа должна быть постоянной и системной. Нужно общаться с людьми, расширять сеть своей партии. Белорусские коммунисты работают над этим, и наша партия чувствует поддержку. Мы за своих шесть тысяч партийцев отвечаем. У нас есть ведомость, где видно, что люди платят взносы, а это главное подтверждение их членства в партии. Наши люди еще работают в первичных организациях, участвуют в других формах партийной работы, подписываются на газету «Коммунист Беларуси. Мы и время». Готовы ли другие партии представить подобные свидетельства, подтверждающие заявленное количество членов? Сомневаюсь.
– Одной из причин слабости кадрового состава белорусских партий представляется отсутствие у них полноценных молодежных отделений. Есть ли у коммунистов планы возродить собственный комсомол?
– Нужно подумать. Мы работаем с БРСМ. И эта работа получается. Конечно, в КПБ не считают, что все члены БРСМ должны перейти в Коммунистическую партию. Но в определенном смысле – это наш кадровый резерв. БРСМ сегодня выстроена на основе ценностных ориентаций социального общества. В их идеологии много общего с теми идеями, которые разделяют и коммунисты. Это очень широкое поле для подпитки левопатриотических сил, не только коммунистов. Мы видим свою задачу в том, чтобы на основе нашей программы научить молодежь тем принципам, формам и методам работы, которые у нас есть, поделиться опытом.
– А за счет чего живет Коммунистическая партия? Насколько я понимаю, рассказы о пресловутом партийном золоте – это миф?
– Разумеется. Основные источники финансирования – членские взносы и средства от подписки на газету. В ближайшее время рассчитываем прирасти подписчиками. Если это удастся сделать, то средства ЦК будут расходоваться не на дотации газете, а на другие мероприятия. Руководство компартии ищет и дополнительные способы финансирования. Нам сегодня надо поработать с сочувствующими нашей партии, которые могли бы выступать спонсорами. Используем и такую форму, как проведение мероприятий при поддержке других общественных объединений, политических партий или государственных структур. Получается, что финансируется не напрямую партия, а те акции, в которых участвуют ее члены. Кроме того, мы пользуемся поддержкой некоторых фондов. Например, при организации международных встреч коммунистических партий. Думаю, КПБ стоит серьезно поработать в плане выпуска и реализации своей символики, вещей, которые могут выступать в качестве сувениров. Правда, для этого нужны оборотные средства, но первый шаг уже сделан – наш значок и логотип официально зарегистрированы.
Стоит посмотреть и на опыт других стран. Там существует такая форма поддержки партий, как бюджетное финансирование: партия, прошедшая в парламент, получает финансирование на свои мероприятия (проведение съездов, агитацию, пропаганду и т.д.) пропорционально численности своих депутатских мандатов. В России эта схема уже применяется. Такая форма бюджетной поддержки серьезно стимулирует деятельность партий, желание участвовать в избирательных кампаниях, повышает ценность депутатского мандата. Но, безусловно, это не может быть единственным источником финансирования.
– Коммунисты всегда стремились к доминированию в любой политической системе. Но КПБ нельзя назвать правящей партией. Не является она и оппозиционной. Как Вы определяете место своей партии в современной Республике Беларусь? Вы лоялисты?
– Я не могу назвать нашу партию лоялистской. Если бы мы были таковыми, то глава государства не шел бы навстречу КПБ. Скажу больше. Когда мы встречались, то Президент особо подчеркнул, что ему не нужна слепая поддержка, а важно знать разные точки зрения, разные мнения – чем больше будет объективной информация с мест, тем лучше.
Мы объективно оцениваем то, что сделано при А. Лукашенко. Совершенно очевидно, что Президент не отступает от тех программ, которые были приняты Всебелорусскими народными собраниями. Конечно, могут меняться какие­-то формы и методы, но курс остается неизменным. Коммунисты участвовали в разработке программных документов, следовательно, мы отвечаем за их успешность и реализацию. Поэтому сегодня мы во власти, но при этом не имеем большинства в парламенте и правительстве. Хотя у нас есть рычаги определенного влияния, донесения информации, взаимодействия с другими политическими силами. В нашей программе ясно записано, что цель компартии – приход к власти всеми законными методами. И мы к этому будем стремиться. Но сегодня мы стоим на платформе конструктивного взаимодействия с правительством, а не жесткой оппозиционности.
– КПБ проявляет большую активность на международной арене. Очертите, пожалуйста, основные направления этой работы.
– Сегодня наша партия входит в международное рабочее коммунистическое движение, которое объединяет 112 политических партий. Среди них такие крупные, как компартии Российской Федерации, Украины, Испании, Греции, Португалии. Это
серьезные организации, имеющие большой вес в своих странах, собственные СМИ, в том числе печатные издания с большими тиражами. Уровень КПБ на этом фоне достаточно серьезен: она входит в рабочую группу этого международного объединения. От всех стран СНГ входим только мы и КПРФ. Само собой, у нас отличные отношения с Компартией Китая, которая является самой крупной политической партией в мире…
– О каком объединении Вы говорите? Это что – новый Коминтерн?
– Нет. Коммунистический Интернационал был более централизованной структурой. Сейчас мы организуем совместные встречи, договариваемся о формах коммунистической межпартийной солидарности, рассматриваем заявки на участие в нашем движении новых партий. Хотя со временем централизация может усилиться.
Должен сказать, что авторитету нашей партии в международном коммунистическом движении во многом способствует та политика, которая проводится в Беларуси. К нам часто приезжают товарищи из­-за рубежа. Одну международную встречу коммунистических партий мы проводили в Минске в 2007 году. Члены КПБ участвуют в расширенных встречах левых партий, не только коммунистических. Я побывал на таком семинаре «Политические партии. Новое общество», который ежегодно проводит Партия труда Мексики. Там был представлен широкий политический спектр участников: от коммунистов до социалистов и трудовиков. Когда я там выступал с докладом, то мой коллега из Партии труда Мексики взял слово вне очереди и стал с восхищением рассказывать о том, что в нашей стране матерям предоставляют декретный отпуск на три года, платят пособие по уходу за ребенком. Женщины в зале встали, принялись аплодировать и скандировать: «Вива, Лукашенко!» Многие наши коллеги за рубежом считают, что в Беларуси строится социализм, и это очень хорошо воспринимается. За левыми идеями будущее. Посмотрите, что происходит: Латинская Америка сегодня очень здорово полевела. У КПБ отличные отношения с латино-американскими товарищами: здесь нам очень помогают Коммунистическая партия Кубы и Компартия Венесуэлы. Кстати, правящая партия Уго Чавеса – не коммунистическая, а народно-­социалистическая. Но это партия, с которой мы способны вести дружественный диалог, потому что у нас очень много общих позиций.
На постсоветском пространстве также происходит координация деятельности коммунистического движения. Создан и действует Союз коммунистических партий – Коммунистическая партия Советского Союза (СКП – КПСС) – очень важный механизм межпартийного сотрудничества. Свои международные контакты используем, чтобы сверять взгляды на практику и теорию. Когда начался мировой финансово-­экономический кризис, мы дружно обменивались информацией, анализировали, что происходит и как. В Глобальной сети действует коммунистический информаци­онный портал www.solidnet.org. У КПБ, к сожалению, пока не хватает финансовых ресурсов, чтобы более активно заявлять там свою информацию. В этом плане нам помогают КПРФ и КПУ. Представители нашей партии регулярно выступают на страницах газеты «Правда», на коммунистических сайтах в Интернете, которых довольно много. Приятно, когда бываешь на международных мероприятиях и к тебе подходят и говорят: «Вы из Беларуси? Мы все за вас болеем. За Лукашенко – горой! Держитесь! Не подда­вайтесь!»
– Игорь Васильевич, так когда ожидать построения коммунизма?
– Мне часто задают такой вопрос. Я не буду заниматься таким волюнтаризмом, как Хрущев, и бросаться многообещающи­ми заявлениями. Ни Маркс, ни Ленин не ставили конкретные хронологические рамки. Но мы сегодня должны создать условия для построения социалистического общества. Это ближайшая и очевидная цель, к которой нужно стремиться.

Автор: 
Вадим ГИГИН
Номер газеты: