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

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

В будущее – с Лениным!

В братских партиях
Обращение Центрального Комитета КПРФ к народу России.

Уважаемые соотечественники!

Товарищи и друзья!

Каждый из нас видит, что человечество и в третьем тысячелетии не избавилось от бед и страданий. От ужасов войн и кровавых конфликтов. От массовой нищеты. Мировой капитал толкает нас во мрак реакции и насилия. Всё безжалостнее оскал хищников, желающих разодрать мир на куски и утвердить своё господство. И чем глубже трагизм событий, тем ярче озаряет нас великий пример подвижников и борцов за счастье и достойную жизнь трудового народа.

России необычайно повезло. В самый сложный для неё период распада, разрухи, всеохватного кризиса появился человек, как никто понимающий суть переломных событий и пути выхода из трагического положения. Он нащупал «нерв истории» и возглавил движение вперёд. Имя этого человека – Владимир Ильич Ленин. Исполняется 100 лет с того дня, когда остановилось его большое и доброе сердце. Начинается второе столетие ленинского бессмертия.

Владимир Ильич Ленин ушёл из жизни 21 января 1924 года. Горестная весть поразила Советский Союз, созданный его гением. Глубокая скорбь наполнила сердца миллионов трудящихся по всей планете. Несмотря на лютую стужу, массы народа стекались в Москву. В Колонный зал Дома Союзов пришло до полумиллиона человек. Каждому из них было важно почтить память того, кто навсегда изменил мир, сделал его чище и справедливее.

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

Казалось бы, ничто не вечно под луной. И всё-таки жизнь доказывает: время не преграда для истинно великих идей. Испытав на прочность, мать-история поднимает их на невероятную высоту. Со дня появления «Манифеста Коммунистической партии» прошло уже 175 лет. Но забвение не постигло идеи К. Маркса и Ф. Энгельса, подхваченные и блестяще реализованные В.И. Лениным.

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

Отвергая попытки обречь людей труда на вечное угнетение, теория социализма дала людям магистральную карту движения к справедливости. Это великое знание помогает им не плутать в закоулках «сошедшего с ума» капитализма, а выбирать верную дорогу и надёжный путь в будущее. Перед такими свершениями бессильны любые недоброжелатели, лжецы и предатели.

Даже самые сильные враги Ленина считались с его непобедимостью. Дабы не выглядеть мелкими, злобными, недалёкими, они соглашались признать ленинское величие. «Ни один азиатский завоеватель, ни Тамерлан, ни Чингисхан не пользовались такой славой, как Ленин», – писал убеждённый антикоммунист Уинстон Черчилль.

Конечно, попытки посягать на титана были. Но совершавшие их выглядели беспомощными и жалкими. Как Александр Солженицын, состряпавший свой пасквиль «Ленин в Цюрихе». Сегодня стало очевидно, что во всем мире не смогли собрать столько грязи, чтобы очернить имя основателя большевизма.

Ныне либеральная пропаганда всех мастей, с одной стороны, и черносотенные наскоки – с другой, продолжают лжесловить и искажать образ Владимира Ильича. Враги социализма вменяют ему в вину то «деньги Парвуса», то «философский пароход», то Брестский мир. У них нет желания и задачи вникнуть и разобраться. Они приняли на себя роль информационных киллеров. Их расчет – на бесчеловечность психологической войны нового века. Через беспощадную деформацию сознания эти холуи при власти жаждут похоронить авторитет Ленина под пластами наветов и вранья.

Но истина жива и свидетельствует: вся деятельность Ульянова-Ленина была великим подвигом ради освобождения трудящихся от угнетения и насилия. Ради преображения общества на началах справедливости и гуманизма, равенства и созидания. Основатель большевизма действовал во имя народного большинства. Оно – главный союзник Ленина. Это большинство – его соратник и последователь, доброжелатель и друг. И ничто не может сравниться с таким союзником!

Люди большого полёта с высоты ими достигнутого ещё лучше видели значение ленинского вклада в мировую историю. Великий ученый Альберт Эйнштейн говорил об основателе Советского государства: «Я чту в Ленине человека, который с полным самопожертвованием отдал все свои силы делу осуществления социальной справедливости... Подобные ему люди являются хранителями и обновителями совести человечества».

Для всех, кто способен мыслить и чувствовать, В.И. Ленин – гигант, творчески развивший учение научного коммунизма. Как выдающийся теоретик он в совершенстве владел диалектикой Маркса и Энгельса. Был блестящим пропагандистом их идей. Развивал и воплощал всё это в повседневной жизни. В жёсткой полемике с правыми и левыми оппортунистами Владимир Ильич по-рыцарски решительно противостоял попыткам подвергнуть марксизм ревизии.

Вклад самого Ленина в марксизм был столь велик, что в жизни коммунистического учения начался новый этап целостного и органичного развития. В начале XX века марксизм-ленинизм стал настоящей идейно-теоретической новацией. Сила этой науки в способности глубоко осмысливать сложные процессы, обобщать накопленный опыт и предложить пути разрешения главных противоречий эпохи.

Марксистско-ленинская теория универсальна. Она столь же актуальна сегодня, как и в начале XX века. Её идейный каркас – основа всех программ коммунистических и рабочих партий планеты. В 2021 году в книге «Мысли о социализме с китайской спецификой для новой эры» Си Цзиньпин прямо сказал, что историю нужно оценивать «с точки зрения исторического материализма». Он подчеркнул, что «сам марксизм есть истина», блеск которой «проявляется в ее непрерывном развитии во времени и на практике». Для Маркса исход борьбы с капитализмом не подлежал сомнению – коммунизм победит. Си Цзиньпин напомнил, с распадом Советского Союза многие усомнились в этом, но Китай все сомнения опроверг. И лидер КНР полностью прав: грандиозные успехи его страны стали доказательством победы марксизма.

В теснейшей связи с практикой – сила коммунистического движения. Эту традицию сам Ленин настойчиво укреплял. Именно поэтому, создав партию нового типа, он уверенно провёл её через горнила трёх революций и пожары Гражданской войны. Партия большевиков вдохнула в миллионы сердец громадную веру в то, что справедливый мир возможен.

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

Ум Ленина охватывал явления планетарного масштаба и гениально решал практические вопросы управления гигантской страной. Эта исполинская мощь поражала современников. Осмысление масштаба его личности отливалось в художественные образы колоссальной силы, как у Владимира Маяковского:

Он

в черепе

сотней губерний ворочал,

людей

носил

до миллиардов полутора,

Он

взвешивал

мир

в течение ночи...

Для пролетарского поэта Ленин – это человек, который «Землю всю охватывая разом, видел то, что временем закрыто».

Трезвый политический расчёт, точность в оценках и выводах соединялись у Ленина с величайшей смелостью революционера. Это он победоносно нацелил партию на перерастание буржуазной революции в социалистическую. Это он настоял на Брестском мире – крайне тяжёлом решении, которое обернулось новыми победами. Ленинский поворот к НЭПу был совершён вопреки недоумению многих соратников, но лидер партии вновь оказался прав!

Именно Ленин в обстановке всеобщей разрухи, голода и тифозных эпидемий нашёл, как вывести израненную Родину на передовые рубежи технического прогресса. Он выдвинул лозунг: «Коммунизм — это есть советская власть плюс электрификация всей страны». В этой формуле содержится завет всем поколениям коммунистов: на каждом витке истории находить самое перспективное и осваивать истинно передовое, ставя его на службу социализму.

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

Подходы Ленина требовали высокой культуры. И потому, изумляя многих участников III съезда комсомола, Ленин говорит не о геройских победах на фронте, а заявляет: «Пролетарская культура не является выскочившей неизвестно откуда, не является выдумкой людей, которые называют себя специалистами по пролетарской культуре. Это все сплошной вздор». Пролетарскую культуру он называет результатом развития накопленных запасов знания, и потому: «Коммунистом стать можно лишь тогда, когда обогатишь свою память знанием всех тех богатств, которые выработало человечество». Эти слова были сказаны в адрес всех поколений борцов и строителей коммунизма.

Соединяя в себе мужество вождя, железную волю и бесстрашие, Владимир Ильич оставался внимателен и чуток к людям. С особой надеждой относился он к молодёжи. Его забота о воспитании подрастающего поколения, живой интерес к деятельности комсомола очень помогали Советской власти в формировании нового человека – героя и созидателя.

Видя все детали сложных проблем, Ленин умел выделять главное, действительно судьбоносное. Ясно понимая законы развития, он никогда не впадал в панику или унынье, сохранял веру в революционное творчество масс. Как мощный организатор он учитывал всё до мелочей и ощущал огромную ответственность за каждое принятое решение.

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

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

В период деятельности Временного буржуазного правительства старая форма российского государства была уничтожена. Её возрождение на новой основе обеспечили ленинские декреты октября 1917 года. Дальнейшая преемственность выглядела так: РСФСР – СССР – Российская Федерация. Таким образом, именно В.И. Ленин стал отцом-основателем и нынешней российской государственности. Он стоял у истоков формирования всех основных институтов жизнедеятельности страны. Так, создание Красной Армии стало важнейшим условием победы над иностранными интервентами и их белогвардейскими пособниками.

В основу социалистического народовластия была положена система Советов. Она была рождена живым творчеством трудящихся в революционных событиях 1905–1907 годов. Идея Советов полностью соответствовала русской традиции. Ленин сразу разглядел в ней огромный потенциал и помог партии надёжно ею вооружиться.

Экономические и социальные, научные и культурные результаты ленинско-сталинской модернизации не знают аналогов в мировой истории. Ленинский план ГОЭЛРО стал основой для мощного индустриального рывка. Созданные тогда электростанции и сейчас снабжают энергией города и сёла по всей России.

За свои первые 30 лет СССР увеличил промышленное производство почти в 13 раз. США нарастили его за тот же период лишь вдвое, а Великобритания – на 60 %. Тяжёлая промышленность Союза ССР выросла за этот период почти втрое, а машиностроение – в 4 раза. Производительность труда увеличилась почти на треть.

За годы довоенных пятилеток было построено 9 тысяч крупных предприятий промышленности. Её валовая продукция в сравнении с 1913 годом увеличилась почти в 8 раз. С нуля были созданы новые отрасли, в числе которых станкостроение, тракторостроение, химическая промышленность, авиастроение.

К моменту разрушения СССР на долю РСФСР приходилось 9 % мировой промышленной продукции, на Советский Союз – 20 %, на государства социалистического содружества – 40 %. Сегодня же доля России в мировом промышленном производстве значительно снизилась.

С 1921 по 1967 годы реальные доходы советских рабочих выросли почти в 7 раз, а крестьян – в 8,5 раза. Уже за первые 20 лет Советская власть покончила с безработицей и безграмотностью. Наша страна первой на планете победила опаснейшие инфекции. Каждый четвертый ученый в мире был советским гражданином. Каждый третий авиапассажир летал на советских самолетах, которым не было равных по надежности.

К началу XX века население Российской империи составляло 125 миллионов человек. Население СССР к 1991 году насчитывало уже 294 – почти в 2,5 раза больше. Спустя полвека после победы социализма наши граждане стали жить в среднем на 38 лет дольше. В США за тот же период средняя продолжительность жизни выросла только на 18 лет.

Великая Октябрьская социалистическая революция дала огромный толчок коммунистическому и национально-освободительному движению. Был создан и пользовался огромным влиянием Коммунистический Интернационал. От колониальной зависимости освободились страны Азии, Африки, Латинской Америки. Их народы и сегодня хранят благодарную память о Советском Союзе. Вместе с Китаем и Россией они вносят свой вклад в борьбу с новыми колониалистами ХХI века.

Ленинские идеи надёжно сплотили советский народ. Преодолев социальный раскол, СССР создал прочную основу Великой Победы в мае 1945-го. Выкованный большевиками меч справедливости отсёк головы мерзкой многоголовой гидре гитлеровского нацизма, общеевропейского фашизма и японского милитаризма. Всем русофобам и антисоветчикам хотели бы напомнить, что в истории побеждали нацизм и фашизм только коммунисты.

Идеи Ленина стали началом всех наших побед в ХХ столетии. В его вселенском образе соединились и послевоенное восстановление, и создание ракетно-ядерного щита, и открытие космической эры. Юрий Гагарин говорил: «Чтобы подняться к звёздам, мало разорвать путы земного притяжения – нужно было прежде сбросить оковы, в которых томились до Октября труд, разум, душа человека! Недаром называли коммунаров «людьми, штурмующими небо». Штурм космоса начался не 12 апреля 1961 года... Всё началось с выстрела «Авроры», со штурма Зимнего».

Наши противники утверждают, что разрушение СССР доказало «негодность» идей Маркса и Ленина. Но это неуклюжая подтасовка! Всё точно наоборот! Та трагедия подтвердила важность предупреждений Ленина о том, что партии коммунистов необходима идейная чистота и верность марксизму. Его верный ученик Сталин выразил это в формуле: «Без теории нам смерть». Увы, хрущёвские шараханья и горбачёвско-ельцинское предательство подтвердили данную истину.

Судьба России и мира после 1991 года прямо доказывает правоту Маркса, Энгельса и Ленина. Сладенькие речи о «гуманизации капитализма», пустые надежды на конвергенцию, умозаключения о «конце истории» оказались прикрытием всё более жёсткого, всеохватывающего гнёта. В руках капитала оказались новые рычаги воздействия на сознание и подсознание людей. Он навязывает предельный эгоизм и потребительство, убивает культуру и продвигает откровенные извращения. Мировая олигархия видит в этом шанс закрепить свою власть над миллиардами угнетённых и ограбленных, голодающих и лишённых доступа к образованию и современной медицине.

С разрушением СССР глобалисты распоясались. Они прямо виновны в росте масштабов неравенства, насилия и бедности. Планы ООН победить глобальную нищету к 2030 году пошли прахом. На национальном уровне этого достиг только социалистический Китай. Треть населения Земли постоянно недоедает. 10 миллионов голодных смертей каждый год – вот цена капиталистической дикости. Только законченные мерзавцы способны считать это нормой.

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

Пока буржуазная реакция обескровливала Россию, внешние угрозы только нарастали. Законные требования «учитывать наши национальные интересы» Запад цинично игнорировал. Последствия преступной приватизации обернулись осложнением крайне необходимой специальной военной операции. НАТО, обосновавшись в Восточной Европе, захватывает теперь Финляндию и Швецию.

Глобальный капитал нацелен подчинить и разрушить нашу страну. А власть пытается отстоять суверенитет, оставаясь в рамках старой системы. «Мы считали, что мы свои, буржуинские, мы хотим быть в этой семье так называемых цивилизованных народов», – открыто и саркастично признаёт президент В. Путин. Но судьбоносные выводы откровенно запаздывают, американщина и пятая колонна продолжают душить Россию. Раздвоенность власти становится крайне опасной.

Как и в канун 1917 года, наша страна стоит на развилке. Один путь – блуждание в болоте олигархического капитализма и катастрофа. Другой – курс на социализм, на созидание и духовное возрождение. Только так мы обеспечим своё достойное будущее. И без ленинских идей здесь не обойтись. Они как воздух нужны нам, нашей Отчизне, нашему народу.

Особая заслуга В.И. Ленина – разработка теории империализма. Установив признаки высшей стадии капитализма, он сделал вывод об обострении его противоречий и создании предпосылок социализма. А когда условия для перехода мира к социализму созрели, «война капиталистов за привилегии и монополии» стала ещё и способом «отсрочить крах капитализма», писал Ленин в 1915 году. В этом – причина трагедий целых народов и в наши дни.

На обострение кризиса капитал отвечает усилением эксплуатации трудящихся, уничтожением прав и свобод, развязыванием войн и конфликтов. Сегодня рубцы кровавых расколов пролегли на Украине, Ближнем Востоке и в Африке. Империализм США рвётся к мировому господству и утверждению новой колониальной системы. Объединённый Запад осуществляет злобную агрессию в отношении России. Он использует антикоммунизм и русофобию, взращивает фашизм. Навязывая идеи о чуждых нациях, религиях, расах, буржуазия получает свободу рук и «пушечное мясо» для своих авантюр.

Опасность глобального конфликта с использованием ядерного оружия растёт с каждым днём. Предотвратить его может только единение трудящихся всех стран ради прорыва в социализм. Ленин и здесь помогает нам идеями о гегемонии пролетариата в революции, о его союзе с трудовым крестьянством, о возможности мирного развития революции, о связи борьбы за социализм с национально-освободительным движением.

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

Россия обязана отвечать на вызовы времени на всех фронтах гибридной войны. Прежде всего – на экономическом, научно-техническом, социальном и демографическом. Но курс правящих кругов этим задачам не соответствует. За этим стоит попытка отгородиться от исторических вызовов и жить дальше по рецептам либеральных фундаменталистов.

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

КПРФ накопила большой опыт созидания. Правительство Примакова – Маслюкова спасло страну после дефолта 1998 года. Народные предприятия П. Грудинина, И. Казанкова, И. Богачёва, И. Сумарокова многие годы демонстрируют успешный опыт развития на коллективных началах. Команды коммунистов А. Локтя, С. Левченко, А. Клычкова, В. Коновалова, А. Русских достигли важных результатов в развитии Новосибирска, Иркутской и Орловской областей, Республики Хакасия, Ульяновской области.

КПРФ настойчиво обобщает лучшую практику управления и созидания. В опоре на неё партия предлагает свои законопроекты, государственные программы и национальные проекты. Большой вклад в их разработку вносят И. Мельников и В. Кашин, Н. Харитонов и Ю. Афонин, Д. Новиков и Л. Калашников, Н. Коломейцев и С. Савицкая, Н. Арефьев и К. Тайсаев, О. Смолин и Н. Иванов, Н. Останина и Ю. Синельщиков, В. Соболев и Н. Осадчий, С. Казанков и А. Куринный, Г. Камнев и В. Исаков, вся депутатская вертикаль КПРФ.

Наша Программа Победы гарантирует принципиальную смену проводимой политики. Её требования направлены на повышение качества жизни и благополучие граждан. В их числе:

- национализация стратегически важных отраслей;

- долгосрочное социально-экономическое планирование;

- отстранение олигархии от управления экономикой;

- кардинальное увеличение инвестиций государства в высокотехнологичную экономику, в науку, образование и здравоохранение;

- прекращение вывода капитала из страны;

- всесторонняя поддержка народных и коллективных предприятий;

- рост благосостояния людей и широкий доступ к достижениям культуры.

Наиважнейшим делом мы считаем сплочение общества и мобилизацию ресурсов, сил и средств для победы над теми, кто объявил войну русскому миру. Каждый патриот должен ощущать личную ответственность за защиту Родины и её великое будущее.

Только решив стратегические задачи, можно уверенно двигаться вперёд. Воплощение в жизнь наших идей гарантирует достойную жизнь рабочих и крестьян, интеллигенции и военных, ветеранов и молодёжи.

КПРФ честно выполняет свой долг перед народом России. Сформировав команду созидания и разработав Программу Победы, мы многое сделали, чтобы защитить национальную память и право граждан гордиться героями Советской эпохи. И мы продолжим эту работу на пути к 100-летию со дня памяти В.И. Ленина.

Мы объявили Ленинский призыв и зовём в ряды КПРФ всех, кто нацелен на борьбу за социализм. Подготовка нашей боевой смены – принципиальная задача. Идейная стойкость и сплочённость коммунистов крайне важны. Ленин научил нас, что у организованности нет альтернативы. Он писал: «Партия – сознательный, передовой слой класса, его авангард. Сила этого авангарда раз в 10, в 100 раз и более велика, чем его численность... Организация удесятеряет силы».

Коммунисты XXI века помнят учение о партии нового типа. «Роль передового борца может выполнить только партия, руководимая передовой теорией», – подчёркивал Ленин. Он настаивал: без опоры на рабочий класс партия выродится в секту, а без революционной теории не сможет вести за собой трудящихся. Ленинскую правоту подтвердила участь ренегатов II Интернационала и тех левых партий, что превратились в придатки буржуазной системы. Псевдолевых организаций в мире немало и сегодня. Чтобы уберечь трудящихся от этих обманок, партия коммунистов призвана деятельно выполнять роль политического авангарда масс.

КПРФ открыта к тому, чтобы принять в свои ряды тех, для кого имя Ленина является символом гениальности и доблести. Мы зовем вместе продолжать его дело, осуществлять Программу Победы, идти к социализму, возрождать свою любимую страну.

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

Да, сто лет назад ленинское сердце остановилось. Но главное было сделано. Мир изменился. Изменился к лучшему и навсегда. Наследие Ленина – наше бесценное сокровище. В его идеях – заряд огромной созидательной силы. Его мысль, воля и свершения продолжают озарять ход мирового развития.

Уже тогда, в холодном январе 1924 года всенародное прощание с Владимиром Ильичом подтвердило: на скрижалях истории его имя будет начертано золотыми буквами. Михаил Исаковский отразил это очень точно:

«Проходит ночь. И над землёй всё шире

Заря встаёт, светла…

Не умер он: повсюду в этом мире

Живут его дела».

Общенациональный траур свидетельствовал, сколь бесконечно много значил В.И. Ленин для народов нашей страны. Когда его сердце перестало биться, партия объявила призыв в свои ряды. В отчёте XIII Съезду РКП(б) 24 мая 1924 г. Генеральный секретарь ЦК И.В. Сталин подвёл промежуточные итоги Ленинского призыва. Численность партии выросла с 485 тысяч до 680 тысяч человек. Выражая их мысли и чувства, их волю и выбор, Александр Безыменский писал:

Я в Партию иду. Я — сын Страны Советов.

Ты слышишь, Партия?.. Даю тебе обет:

Пройдут лишь месяцы — сто тысяч партбилетов

Заменят ленинский утраченный билет.

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

Отныне из века в век – вместе с самыми светлыми мечтами трудящихся – следует образ Владимира Ильича Ленина, великого провидца и мечтателя, гениального теоретика и практика. Это образ Мыслителя, Революционера, Созидателя, шагнувшего 100 лет назад в бессмертие. И мы без тени сомнений, отчётливо и гордо повторяем за Владимиром Маяковским:

Ленин жил,

Ленин жив,

Ленин будет жить!

Так что, уважаемые соотечественники, вперёд под Победоносным Ленинским Знаменем – в Будущее! В Сильную, Справедливую, Социалистическую Россию!

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