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

Интервью с командиром международного стройотряда

Комсомольцы из Беларуси, России и Украины трудятся на строительстве Центра олимпийской подготовки по художественной гимнастике в Минске. Вместе с комсомольцами работают профессиональные строители, а также студенты столичного БНТУ. Бойцы подают кирпич, раствор, монтируют строительные леса, убирают мусор, ведут работы по утеплению. Строят ударно: на разгрузке минваты ребята разгружали по 40 тонн за день.

В перерывах между трудовыми буднями «Коммунист Беларуси» побеседовал с командиром международного комсомольского стройотряда Денисом Чубахой, первым секретарем Комсомола Донецкой области о ситуации в Украине, образовании, занятости молодежи, миграции и информационном противоборстве.

- Как зарабатывает молодежь в Украине? Существуют ли сложности при легальном трудоустройстве?

Украина в настоящий момент не является ни агарной, ни индустриальной страной, трудно сравнимой даже с Африкой. Промышленность и сельское хозяйство практически уничтожены, фермы демонтированы, а земля сдается в аренду ТНК. Доходит до того, что в Данию из Полтавской области вывозится чернозем, на восстановление которого потребуется не одна сотня лет.
Молодежи найти работу практически нереально; как правило, молодые люди устраиваются на кабальных условиях либо в теневом секторе экономики.

Несмотря на то, что Россия объявлена «агрессором», у большинства украинцев сохранились родственные связи в Российской Федерации; люди по-прежнему выезжают на заработки. На сегодняшний день самые популярные автобусные рейсы – на Москву, как с Западной, так и Восточной Украины, несмотря на досмотры и поборы на блокпостах и таможне.

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

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

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

- Идет ли молодежь на военную службу и в силовые структуры?

Многие идут служить по контракту в ВСУ, даже с Востока Украины, ради зарплаты – военнослужащие получают от 7000 гривен, а в зоне АТО выплачивают до 12 тыс. (280, 480 у.е. – ред.) Но при этом боевые действия ведутся всегда, что бы ни рассказывала пропаганда. Вопрос, скорее, в их массовости и интенсивности, но, к примеру, обстрелы присутствуют постоянно, идет «война артиллерии».

Радикальная молодежь приходит и в военизированные формирования МВД, вроде «Азова». Данные формирования существуют за счет грабежей, рейдерства, контроля контрабанды и торговли с Донбассом. Какими бы политическими лозунгами они не прикрывались – основная их задача криминальная: контролировать транспортные потоки, контрабанду.
В Донецкой области отдельные блокпосты контролировались обозначенными батальонами, это – так называем ЧВК (частные военные компании – ред.) Формально они имеют статус сотрудников МВД, но даже МВД их полностью не контролирует.

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

- Расскажите, что происходит на левом поле. К примеру, анонсировано, что Соцпартию Украины возглавит некий Кива, который обязался придать ей «национал-социальную» ориентацию. Это попытка власти контролировать левые настроения или же идет передел партийных активов?

Власть всегда брала на вооружение левые лозунги, это популистский прием. Соцпартия была создана после запрета КПУ, однако отказалась вливаться после ее восстановления. За это ее лидер Мороз в разное время получал преференции, вплоть до постов спикера Верховной Рады.

В последние годы о Морозе практически ничего не было слышно. Кива же, вероятно, пришел в партию через махинации. За него не голосовали.
Общая задача подобных псевдолевых организаций – отколоть голоса от Компартии. Если в начале 2015 года в Украине было зарегистрировано около 200 политических партий, то на сегодняшний день их количество превысило 300. Их цель – регистрация за год до каких-либо выборов, чтобы быть допущенными к участию. Впоследствии партии переименовываются, перепродаются. Ни одна из этих партий не имеет рабочей структуры, только юридический адрес и регистрацию.

Партией в полном ее понимании является только Компартия Украины. У КПУ действует структура с первичными партийными организациями в городах и районах, регулярно проводятся бюро, съезды, пленумы, отчетно-выборные собрания. Больше этого не делает ни одна партия.

- Каково положение Комсомола Украины?

Молодежная организация подвергается жесткому давлению со стороны спецслужб, физическим расправам. 1 августа в Житомире СБУ арестовало комсомольца Василия Муравицкого, бывшего редактора газеты «Новая волна». Он обвиняется якобы в получении гонораров из Российской Федерации. При этом Муравицкий критикует власть, анализирует положение в стране, является достаточно известным публицистом.

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

При этом материалы, которые публикует СБУ – это направленный вброс. Хотя уголовные дела зачастую не доходят до суда, преследуется иная цель – людям внушают, что Компартия запрещена, запугивают, лгут.

- Запрет российских сервисов mail.ru и Вконтакте помог властям контролировать информационное поле?

«Mail.ru group» потеряла порядка 15 процентов рынка. Пользователи научились обходить блокировку, тем не менее, посещаемость социальных сетей упала.
Несмотря на политический подтекст, данная мера направлена в первую очередь на передел рынка. К примеру, канадцы уже предложили свои услуги по созданию украинской социальной сети. Надо также учитывать, что в санкционном списке были не только социальные сети и почта, но и бухгалтерская программа 1С, которой массово пользуются украинские предприятия и госструктуры. Очевидно, кто-то займет освободившуюся нишу. Люди же пока не перестроились, поскольку альтернативы нет, программные продукты не обновляются.

- Если выборы пройдут завтра, какие партии будут пользоваться популярностью?

Никакие, поскольку крайне вероятна неявка.

Более того, как показали последние президентские выборы, власть делает все, чтобы люди не пришли на выборы, переубеждает, запугивает. Те же, кто приходит – это окружение власти либо подкупленные лица. В итоге при явке 18% процентов можно сделать любой необходимый результат, поскольку нижний порог явки не ограничен. Кроме того, сейчас идет передел административных единиц – громад, нарезка новых округов. При этом на Донбассе последние выборы прошли семь лет назад – в АТО действует временная военно-гражданская администрация. Выборы прошли только в некоторых районах, где власть была уверена в поддержке.

- По прошествии двух лет, каковы итоги политики декоммунизации?

Большая часть улиц переименована; причем некоторые – дважды, по решению местных громад. Вероятно, это сделано для того, чтобы в случае отмены т.н. закона о декоммунизации невозможно было вернуть старые названия. Памятники Ленину демонтированы практически везде либо сданы на хранение. Хотя при этом на улицах частично сохранена советская символика – например, гербы, звезды, барельефы, но только в труднодоступных местах.

Кроме того, появляются признаки новой волны декоммунизации. К примеру, недавно «активисты» Красноармейска (переименован в Покровск) требовали убрать танк Т-34 с постамента у могил освободителей города. Основания при этом крайне абсурдные, например, «кладбище не должно вызывать страх у людей». Однако прямо говорить о своих мотивах они пока сами боятся.

- К 9 мая Порошенко анонсировал День примирения. Как это восприняло общество?

В большей степени не восприняло, хотя на Западной Украине особая ситуация. С кем примиряться? С врагами? Фашистами? Власть прекрасно это понимает, и пытается переформатировать сознание людей. Тем не менее, как показала практика, в этом году Харьковская, Донецкая, Николаевская, Запорожская, Киевская области вышли со Знамёнами Победы, красными полотнищами. Людям не безразлично, когда коммунисты и комсомольцы объединяются с городским шествием, они аплодируют, поддерживают.
Какие СМИ сейчас популярны в Украине? Как коммунисты работают в сложных условиях?

Молодежь не читает практически ничего, кроме картинок с подписями в социальных сетях. Телеканалы принадлежат олигархам и ведут политику в одном русле, создают фон ненависти.
По-прежнему действует сайт Компартии Украины, но наш телеканал «Гамма» и газеты были закрыты под давлением; выходит только наша «Рабочая газета». В настоящий момент мы действуем своими силами. Я, к примеру, веду городской ресурс – «Константиновка Мой Дом» левого направления, группы в социальных сетях.

Люди плохо воспринимают политику, подорвано доверие к партиям и лидерам. К коммунистам доверие осталось, но в отношении Компартии власть действует иными методами – КПУ объявляют запрещенной, несмотря на отсутствие решения апелляционного суда, раскручивают партии-спойлеры, которые оттягивают левый электорат.
В целом же у людей преобладает установка «не пойду на выборы, за меня уже все решили».

Политика Компартии – в первую очередь прекратить войну, сесть за стол переговоров. К сожалению, Киев никоим образом не собирается исполнять минские соглашения – вести войну выгодно, она оправдывает любые внутренние действия. Кроме того, они боятся проведения выборов в Донецкой области, как это предусмотрено соглашениями, поскольку в результате в Раде окажется сильная донецкая фракция. Киев не может этого допустить, для них это самое страшное – всплывут многие темные дела: контрабанда, контроль финансовых потоков, торговля углем. К примеру, нам рассказывают, что уголь якобы закупается в ЮАР, Австралии и Пенсильвании, деньги на его импорт якобы тратятся, но в итоге по-прежнему поставляет донецкий уголь, только под другой маркировкой.

- В АТО молодежь целенаправленно повязали кровью. Сможет ли нация примириться, когда война закончится?

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

25 лет молодежи в голову вкладывали вакуум. Потом вакуум заполнил национализм, нацизм, фашизм. Система образования, которая навязывается, форматирует сознание детей. Они не знают, что такое история в целом, не говоря уже о конкретных ее периодах – Второй мировой войне, Великой Отечественной. Им рассказывают сказки из учебников – к примеру, что древние укры вырыли Черное море и насыпали гору Арарат. Это не шутка и не анекдот, это современная учебная программа.

Все, кто раньше выступал против народа, убивал и грабил, теперь объявлены национальными героями.

Структуры, вроде Института национальной памяти(«беспамятства»), сидят на грантовом финансировании. Гранты раздаются на любые цели, а взамен диктуется навязанная повестка. При этом грантовые средства не контролируются даже государством и СБУ. За эти деньги открывают офисы, платят зарплаты, покупают канцелярию. Так запад прикармливает в Украине свою агентуру.

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

Нынешней власти не нужны рабочие – никто ничего не собираемся здесь производить. Напомню, что 4,5 миллиона человек работает в России, 3,5 млн. – в ЕС, 200 тыс. приняла Беларусь. А по статистике, ежедневно хлеба в Украине выпускается всего на 24 миллиона человек. Так сколько нас осталось на самом деле? Не известно. А сколько убито, сколько не родилось, сколько пенсионеров поставлены в условия, когда пенсия составляет 80 долларов, а квартплата – 120 долларов. Медицина полностью уничтожена, болезни не лечат. Люди не пациенты, а клиенты.
Телевизор при этом во всех бедах обвиняет Россию. Тем не менее, люди продолжают работать в Российской Федерации, поддерживают родственных связи. По своему опыту скажу, что россияне относятся к украинцам значительно лучше, чем украинцы к россиянам.

- Присутствует ли Беларусь в украинском информационном поле?

Практически не присутствует. Хотя, когда были отключены российские телеканалы, в некоторых кабельных сетях появилась «Беларусь-24» и другие каналы, на выбор операторов.
Белорусское телевидение напоминает советское: оно сдержанное, строгое, даже картинка отличается. У нас же целыми днями идут развлекательные шоу, некоторые по 3-5 часов, с перерывами на новости о войне и «агрессоре». Полностью скопирована западная модель телевидения, а с этого информационного пространства можно рассказывать все, что угодно, и под шумок делать темные дела.

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

- Как строите отношения с российскими коммунистами и комсомольцами?

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

Конечно, обсуждаем предстоящий Фестиваль молодежи в Сочи, связанные с ним трудности. Например, министр спорта и туризма Украины даже обратился к контрразведке и СБУ, чтобы те препятствовали выезду молодежи на фестиваль, а также препятствовали проезду иностранных граждан транзитом через Украину.

Анализируем и ситуация в России: КПРФ имеет мощный информационный ресурс, их представители появляются на передовых, ведущих каналах.

И хотя настроения населения переменчивы, на уровне простого человека ситуация схожа и в Беларуси, и в Украине, и в России. С людьми надо работать лично, разговаривать. Телевидение и СМИ – важны, но если не будет живого общения с избирателем, то не будет и результата. Если же коммунисты смогут убедить каждого своего сторонника прийти на выборы – итоговые цифры голосования будут просто колоссальными.

Пресс-служба КПБ

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

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