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

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

«Коричневые пятна» расползаются по планете. Часть 2

80-летие VII конгресса Коммунистического Интернационала - это яркое событие не только в истории международного коммунистического и рабочего движения, но и своеобразный маяк, помогающий современным коммунистам, пролетариату начала XXI столетия более точно оценивать происходящие сегодня процессы.

Конечно, от руководства страны, ставшей в 1938 году жертвой мюнхенского сговора Запада с Гитлером, можно было бы ожидать и более жестких формулировок. Это, в частности, было бы особенно логично в связи с решением киевских властей «уравнять» гитлеровскую Германию и СССР как якобы равно ответственных за развязывание Второй мировой войны.
Надо заметить, что очень четко высказался по этому поводу руководитель израильского Центра Визенталя Эфраим Цурофф. Он заявил: «Решение запретить нацизм и коммунизм уподобляет самый страшный в истории человечества режим геноцида режиму, который освободил Освенцим и помог положить конец правлению страха третьего рейха».
Центр Симона Визенталя, основанный в 1977 году, занимается поисками нацистских военных преступников, борьбой с неонацизмом и антисемитизмом, изучает историю геноцида евреев Европы. В настоящее время он считается одной из крупнейших в мире еврейских правозащитных организаций. Недавно эта организация впервые понизила рейтинг США в деле охоты за нацистами с A на B. Об этом сообщает «Ассошиэйтед Пресс» со ссылкой на ежегодный доклад организации. По словам директора центра, такое решение было принято в связи с тем, что американские власти не предпринимают никаких действий в отношении нациста Майкла Каркоца, проживающего на территории США практически с момента окончания Второй мировой войны.
В 2013 году агентство «Ассошиэйтед Пресс» провело расследование, в результате которого стало известно, что в США был обнаружен бывший командир украинской роты СС, занимавшийся карательными операциями на Восточном фронте во время Второй мировой войны. Речь идет о дивизии СС «Галичина», сформированной нацистами из жителей Западной Украины, разделявших идеалы нацизма.
Еще один интересный и важный факт: в декабре 2010 года представитель Российской Федерации в Генеральной Ассамблее ООН предложил проект резолюции, которая призывает членов Организации бороться против прославления фашизма.
Этот документ поддержали 129 стран, но против проголосовали США, единственная из великих держав. Иными словами, 129 государств заявили, что они намерены бороться против прославления фашизма на своих территориях, а Америка провозгласила нечто противоположное - готовность прославлять фашизм - и не подписала этот документ. Не случайно ряд известных деятелей антифашистского движения сегодня обращают внимание на то, что центр международного неофашизма переместился за океан - в Соединенные Штаты Америки.

Еврофашизм в деле
А теперь снова обратим свой взор на Европу. Как в государствах - членах ЕС, так и во всем европейском пространстве радикализм набирает силу. Уже появилось особое понятие: еврофашизм. Оно призвано подчеркнуть специфические особенности современного, реанимируемого крупным, прежде всего банковским, капиталом неофашизма.
Вызывает беспокойство, что его носители в общественном сознании выглядят все более и более «нормальными», вполне приемлемыми для «цивилизованной публики» участниками государственного управления.
«Цивилизованность» неофашизма происходит на фоне растущей деградации традиционных партий, которые уже не могут и даже просто не хотят поддерживать демократический консенсус, который требует не допускать к власти экстремистов. Испугавшись за свое выживание, они зачастую покорно принимают радикальную повестку дня и риторику.
Фактически повторяется история 80-летней давности. На VII конгрессе Коммунистического Интернационала Г. Димитров отмечал особую динамику становления фашистской диктатуры: «До установления фашистской диктатуры буржуазные правительства обычно проходят через ряд подготовительных этапов и осуществляют ряд реакционных мероприятий, помогающих непосредственно приходу фашизма к власти. Кто не борется на этих подготовительных этапах против реакционных мероприятий буржуазии и против нарастающего фашизма, тот не в состоянии помешать победе фашизма, а наоборот, облегчает ее». Именно под таким углом зрения мы должны рассматривать современные действия правительств ведущих империалистических государств. Пока есть возможность, пока нет крайней необходимости, держащий в своих руках государственную власть крупный капитал максимально усердно воплощает в жизнь интересы крайней реакции, используя для этого инструменты буржуазной демократии.
Вот некоторые результаты этого процесса. Британский премьер-министр обещает референдум о выходе Великобритании из Европейского союза, расшатывая внешнеполитические устои и репутацию страны. Он делает это с позиций национализма. Так «респектабельный» кабинет выполняет работу национальной политической реакции. А не пообещал бы - популистская Партия независимости Объединенного Королевства (UKIP), которая желает освободить народ Великобритании от «европейских пут», получила бы за счет тори дополнительный политический капитал.
Еврофашизм пока щеголяет в костюме буржуазной демократии. Руководство ЕС испытывает явное облегчение, что правительство Греции образует «левое» объединение радикал-популистов СИРИЗА, каким бы неудобным партнером для Брюсселя по переговорам оно ни было бы в данный момент. У ЕС было бы куда больше проблем, связанных с поддержанием собственной внешней респектабельности, если бы в Греции было правительство с министрами из неонацистской «Золотой зари». Неудобства испытывали бы даже правители ведущего государства Евросоюза - Германии.
В Германии с начала этого года участились массовые выступления ультраправых и неонацистов под антиисламскими лозунгами. Речь идет о возрождении идей ультраправого национализма в стране, пережившей «прививку от нацизма» и считавшейся вроде бы даже конструктивным партнером России в Европе. Многое нынче напоминает шествия всевозможных «патриотов Германии», «ветеранов войны» и членов стрелковых союзов в веймарский период немецкой истории. Однако есть и отличия: тогда объектом ненависти служили коммунисты Тельмана и евреи, сейчас - иммигранты, мусульмане и беженцы из стран третьего мира.
Организатор и «идейный вдохновитель» большинства неонацистских митингов и шествий - движение ПЕГИДА. Это название - аббревиатура немецких слов «Патриотичные европейцы против исламизации Запада». Примечательно, что «Запад» в названии этого движения обозначен не традиционным немецким «West», а термином «Abendland» - «Закатные страны».
Немецких ультраправых привлекает в движении ПЕГИДА не только способность собирать масштабные марши по объявлению в социальных сетях. Само движение близко к неонацистам в плане политических и социальных ценностей. Опасный и ориентированный на насилие феномен движения ПЕГИДА будет развиваться и принимать новые формы. Тем не менее, уже сегодня ясно: неонацизм и национализм становятся частью политической реальности современной Германии. От того, как будет решать эту проблему правоцентристское правительство Меркель, зависит, избежит ли крупнейшая держава Европы «правого поворота». Но тут для иллюзий тоже оснований нет.
Ведь в том, что неонацистские, ультранационалистические группы и партии вольготно себя чувствуют в Европе, во многом повинны правящие круги европейских стран. Циничная поддержка киевского режима является тому примером. Создается впечатление, что рожденные после войны лидеры Германии, Франции и других стран не знают историю, не помнят, к чему привел Мюнхенский сговор и какими были решения Нюрнбергского процесса.
Германия во главе с А. Меркель вновь командует Европой. То, чего третий рейх добивался танками, сегодня достигается другими методами, но главная цель остается прежней: завоевание Европы. А для капитала всегда «цель оправдывает средства». Нужно было смять Кипр, где у власти находились коммунисты, А. Меркель довела эту страну до разорения. Греция стала очередной жертвой немецкой политики. Но здесь было не все так просто. Греки оказали жесточайшее сопротивление вермахту в годы войны с фашизмом, и сегодня они встали на защиту суверенитета Эллады. Их «нет» ультиматуму Евросоюза - это «нет» диктату А. Меркель и ей подобных. Санкции, запретительные списки против России - это последние «достижения» европейских политиков. Проводником этой политики является именно А. Меркель. Порой кажется, что индоктринированная комсомолка времен ГДР стала наследницей традиций гитлерюгенда. В Европе она фактически построила новую берлинскую стену. Не хватает обнести Россию колючей проволокой, превратить ее в концентрационный лагерь и запереть в него всех нас. Правда, вряд ли ей это удастся.
Подобные ситуации происходят практически во всех странах Европейского союза. Вновь множатся поклонники всяческих вариаций идей национализма, а по сути, «поднимается с колен» современный фашизм. Его стержнем является попытка США и их союзников контролировать мир, создать «новый мировой порядок» с единой общемировой властью.

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

Автор: 
Яна РОГОВА, газета «Правда»
Номер газеты: 
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.
2 + 1 =
Решите эту простую математическую задачу и введите результат. Например, для 1+3, введите 4.