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

В.Е.Егорычев: В борьбе за чистоту жизни

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

120 лет назад впервые прозвучало новое, непривычное тогда слово – «большевик». На II съезде РСДРП возник раскол между сторонниками В.И.Ленина, который отстаивал твердую организованность и единую дисциплину для всех членов партии революционного пролетариата, и его противниками, готовыми считать членами партии всякого, кто того пожелает – кто сочувствует рабочему классу. Название «большевики» возникло, можно сказать, по воле случая: при выборах центральных органов партии сторонники Ленина оказались в большинстве. Но как привилось это слово, как много вобрало в себя смысла! Какой известностью стало пользоваться не только в России – во всем мире. Какие высокие чувства будило и будит у всех борцов за правое дело, за прогресс, за социализм – и какую ненависть и злобу вызывало и вызывает у всех врагов социализма, защитников капитала…

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

С чего началась партия? Не с того, что ее основатели однажды прочитали К.Маркса. Партия началась с человеческого возмущения тяжелым положением трудящихся классов, большинства народа, с сочувствия, сострадания униженным и оскорбленным. Партия выросла из гуманистических устремлений, это ее общечеловеческие питающие корни. Она возникла как нравственная, духовная сила. Можно сказать, что нравственные требования, нравственная конституция человечества вошли в политическую программу партии как ее сущностная, корневая основа, как основа ее народности.
Ленинская партия большевиков в условиях подполья и жесточайших репрессий сумела возглавить рабочий класс России, сплотить его под руководством самые широкие трудящиеся массы, поднять их на победоносную социалистическую революцию, которая, как показал опыт истории, была единственным спасением от общенациональной катастрофы. Еще в работе «Что делать?», созданной 110 лет назад, В.И.Ленин писал: «Из того, что экономические интересы играют решающую роль, отнюдь не следует никакого вывода о первостепенном значении экономической (=профессиональной) борьбы, ибо самые существенные, решающие интересы классов могут быть удовлетворены только коренными политическими преобразованиями вообще; в частности, основной экономический интерес пролетариата может быть удовлетворен только посредством политической революции, заменяющей диктатуру буржуазии диктатурой пролетариата». Почему ей это удалось? Да, сыграла роль верная революционная теория, крепкая организация, гибкая тактика, умелая, доходчивая пропаганда и агитация. Но главное состояло в том, что и в теории, и в действиях своих большевики выражали коренные интересы народных масс. И выражали достойно.

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

Единство с трудовым народом – характерная черта теории и политики, практической деятельности большевиков. А какие еще черты приходят на ум при слове «большевик»? Преданность революции. Высокая идейность. Единство слова и дела. Умение противостоять любым трудностям. Принципиальность, доходящая до непреклонности (не зря говорили «твердокаменный большевик» - кто с уважением, кто с опаской). Сознательная дисциплина. Развитое чувство товарищества. Простота и скромность, правдивость. Есть ли все это у современных партийцев в наше переломное время?
Думается, поэтому так понятен интерес к ленинской этике большевизма. Суть ее выражена в поступках, поведении, во всей жизнедеятельности лучших представителей большевизма, соратников и последователей Ленина, но прежде всего - самого Владимира Ильича. Ленин не просто основал партию большевиков – он ее, можно сказать, выпестовал. Его идеи, его заветы стали духовным стержнем большевистской нравственности. И его жизненный пример, ибо в делах своих он выражал революционные идеи и принципы до конца последовательно.

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

Сестра и соратник Владимира Ильича Мария Ильинична Ульянова («Маняша», как он звал ее), взявшая на себя заботы о быте и здоровье брата и жившая с ним бок о бок до последних его дней, очень точно оценила великую роль нравственного примера Ленина. «Владимир Ильич, - писала она, - был подлинным коммунистом, и большее знакомство с его жизнью, с его характером, чертами и обычаями принесет многим и многим из молодых членов партии большую непосредственную пользу, будет иметь для них воспитательное значение, показав им, как должен проявлять себя настоящий коммунист, предохранит от многих неправильностей, высокомерия и зазнайства» (Воспоминания о В.И.Ленине. – М., 1979, Т.1 – С.200).

Можем ли мы сказать, что теперешние юноши и девушки достаточно хорошо знают жизнь Ленина, понимают особенности его личности, усвоили его нравственные принципы, его взгляды по проблемам морали, неотделимые от всех его поступков, от его великого дела? Думается, безоговорочного ответа в наше «демократическое» время ждать не приходится…

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

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

«В основе коммунистической нравственности, - говорил Ленин, - лежит борьба за укрепление и завершение коммунизма» (Ленин В.И.Полн.собр.соч, Т.Ч.1. – С.313). А борьба эта строится на прочной базе марксистско-ленинской революционной теории. Там, где нарушаются гуманистические идеалы коммунизма, ищите огрехи в теории, отступления от истины. Там, где пренебрегают наукой, истиной, омертвляя теорию в догмы либо действуя волюнтаристски, всегда можно обнаружить прямой или косвенный ущерб делу коммунизма, отход от требований реального гуманизма и демократизма.
Все это относится не только к крупным историческим действиям: то же самое можно сказать и об общественно значимом поведении личности каждого человека. В поведении, в поступках отчетливо обнаруживается единство свободы и ответственности личности. Свобода состоит в том, что поступок совершается не по чьему-то приказу, не по принуждению, а по собственному разумению, по совести, вполне самостоятельно. Чем самостоятельнее принимаемое решение и чем серьезнее последствия поступка, тем выше ответственность. Значит, тем важнее действовать не наобум, а со знанием дела.
Ленин, большевики никогда не боялись ответственности, всегда были готовы взять на себя инициативу, но в этом не было ни лихости, ни легкомысленного расчета на «авось». И всегда - с учетом нравственных средств достижения революционных целей.

Требования разума, обогащенного научными знаниями, - это всегда требования правды. Идти против правды может только тот, кого не стесняют соображения нравственности. Идя против истины или закрывая глаза на реальность, не давая себе труда верно оценить веления жизни, человек неизбежно расходится в своих поступках с нравственностью. И наоборот, нарушая нравственные нормы, приглушая голос совести, не считаясь с ценностями гуманизма, человек столь же неизбежно отдает предпочтение лжи. Какой бы пример так называемых негативных явлений ни взять, всюду мы найдем подтверждение сказанному. Приписки? Да это по самому смыслу ложь и обман. Спекуляция? Она вся сплошь замешана на нечестности. Взяточничество? Казнокрадство? И так далее…
Правда и нравственность неразделимы.

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

В речи «Задачи союзов молодежи», посмеявшись над начетниками, «изучавшими» коммунизм поверхностно, по популярным книгам и брошюрам, он подчеркнул: «Еще более опасным было бы, если бы мы начали усваивать только коммунистические лозунги. Если бы мы вовремя эту опасность не поняли и если бы мы всю нашу работу не направили на то, чтобы эту опасность устранить, тогда наличие полумиллиона или миллиона людей, молодых юношей и девушек, которые после такого обучения коммунизму будут называть себя коммунистами, принесло бы только великий ущерб для дела коммунизма» (Там же, С.302). Даже из благих побуждений невежда может принести вред – нравственный, политический и иной – другим людям, обществу.

Не может себя считать вполне современным и передовым человеком полузнайка, верхогляд. «Коммунистом, - указывал Ленин, - стать можно лишь тогда, когда обогатишь свою память знанием всех тех богатств, которые выработало человечество» (Там же, С.305).

Марксистско-ленинская наука раздвинула горизонты морального сознания. Если человека формируют общественные условия, в которых он живет и действует, то все они подлежат нравственной оценке. Предметом становится экономика, политика, другие общественные явления и процессы. Конечно, от этого связь нравственных проблем с внутренним миром личности не порывается. Просто в сферу индивидуального сознания входят все прочнее и органичнее вопрос широкого общественного значения, в том числе и мирового масштаба. Можно ли в наше время представить трезвомыслящего человека, устраняющегося от нравственных раздумий по вопросам войны и мира? Социально-политические проблемы все более явно выступают как решающий критерий нравственности. Причем то, что имеет более фундаментальное, базовое значение для общественного развития, должно иметь такое же значение и для общественного сознания, в том числе для нравственности.
* * *
Именно поэтому классовый подход – это альфа и омега ленинской этики большевизма. Характерный пример – слова Ленина из его речи на митинге рабочих завода б.Михельсона, после которого враги совершили покушение на Владимира Ильича: «У нас же один только лозунг, один девиз: всякий, кто трудится, тот имеет право пользоваться благами жизни. Тунеядцы, паразиты, высасывающие кровь из трудящегося народа, должны быть лишены этих благ. И мы провозглашаем: все - рабочим, все – трудящимся!» (Т.37. –С.84). Более столетия прошло с той поры; принципы социализма не только не повлекли, но, напротив, доказали свое значение решающего критерия социальной справедливости, гуманности, нравственности. Творческий, высокопроизводительный труд, талант, реальный вклад человека в общее дело нужно всемерно поощрять. И напротив, пассивность, бездеятельность, низкая культура труда, антиобщественные проявления должны оцениваться соответствующим образом – социально и экономически. Именно в этом состоит социалистическое содержание социалистической справедливости. Но это вовсе не значит, что мы должны просто принять эту общую истину как нечто неподвижное и в таком виде ею пользоваться. Это ненаучно - ибо истина всегда конкретна - и потому безнравственно.

Хорошо известно, что большевистская партия после того, как стала правящей столкнулась с такими нравственными деформациями (карьеризм, комчванство, бюрократизм, распространение сплетен и т.д.), от которых раньше во много была застрахована суровыми условиями подполья, войны и других экстремальных ситуаций. В целях борьбы с негативными процессами в 1920г. решением ІХ Всероссийской конференции РКП (б) создается обладающая широкими полномочиями, существующая наряду с ЦК, самостоятельная в своих решениях и действиях Контрольная комиссия, которая видела свою задачу в том, чтобы снять остроту вопроса «о так называемых «верхах» и «низах» внутри нашей партии», стать «органом борьбы с бюрократизмом и злоупотреблениями своим положением со стороны некоторых групп партийных работников»…

Властвовать надо, и власть портит! Где же выход? Предложенное участниками дискуссии решение состояло в том, чтобы взять под прямой непосредственный контроль поведение коммунистов и с помощью специальных комиссий, а также систематических чисток уничтожить то, что постоянно воспроизводится объективными обстоятельствами. Эта позиция, несомненно, была пронизана героическим пафосом. Однако она содержала в себе также изрядную долю донкихотства, этического насилия над действительностью.

Хотя участники дискуссии выступили против мелочной моральной опеки, попыток давать партийную оценку поведению коммунистов исходя из норм некоей абстрактной святости, они, тем не менее, сами в значительной мере оставались на абстрактных позициях. Руководствуясь требованиями и поведенческими критериями периода подполья, участники дискуссии распространяли их на новые условия деятельности. А условия, между тем, изменились коренным образом. Во-первых партия выросла численно. «Превосходные душевные качества, - отмечал В.И.Ленин, - бывают у небольшого числа людей…». (Ленин В.И. Полн.собр.соч., Т.45.-С.94.).

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

Политическая власть вообще сталкивается с двумя основными нравственными опасностями: аскетическими тенденциями и проявлениями морального цинизма. При всей противоположности аскетизм и цинизм сходятся между собой в том, что они ослабляют и даже подрывают власть, хотя, правда, на разный манер. Аскетические установки ведут к тому, что власть предъявляет к людям чрезмерные, выходящие за пределы нормальных человеческих возможностей требования, а когда эти требования не выполняются (ибо они вообще не могут быть выполнены), в ход идут разного рода репрессивные меры. Власть ужесточается, а ее враждебность к обществу достигает размеров, которые оказываются гибельными для самой власти. Цинизм и моральное разложение представителей власти опасны тем, что эти последние попадают в зависимость от тех, по отношению к которым обязаны осуществлять контрольные функции. Власть в результате расшатывается, теряет энергию, внутреннюю силу.

Эти соображения о моральных основах политической власти, подтверждаемые общеисторическими наблюдениями, подкрепляются также опытом послеоктябрьского развития. В 30-40-е годы в партийных нравах довлели аскетические нормы: личная неприхотливость, суровая требовательность к себе и другим, самоотречение во имя общего дела считались похвальными и даже обязательными качествами руководителя. (См.: А.Гельман. Нравственный облик партийца. – В кн.: Уроки горькие, но необходимые. – М.: «Мысль, 1988. – С.331).

Сейчас много разговоров идет (имею в виду также художественную литературу и публицистику) о незаконных репрессиях в 30-е годы. Много споров, особенно вокруг личности И.В.Сталина, причем нередко бывает, что спорящие напоминают глухих: каждый твердит свое, не только не желая, но даже не имея возможности услышать оппонента, настолько далеки их позиции.

Хорошо, что сегодня для общественного мнения нет запретных предметов, хорошо, что начинают исчезать «белые пятна» в нашей истории, хорошо, что широкой стала гласность, составляющая важное условие демократизации общественной жизни. Только не следует придавать гласности базарный оттенок, а это случается с авторитетными писателями, и с талантливыми публицистами. Их мнение о событиях тех лет подчас грешит односторонностью, замыкаясь, например, на личности Сталина (такой перекос ощущается даже в сильном, талантливом романе А.Рыбакова «Дети Арбата»). Грешит как раз потому, что авторы выносят свое нравственное суждение о прошлом, избегая научной оценки, игнорируя именно классовый подход; вопрос же настолько волнующий, возбуждающий эмоции, что требования разума, требования поиска истины порой пренебрегаются даже учеными – историками. Скажем так, историческую правду не следует восстанавливать примитивной заменой плюса на минус, из эмоций исходя. Историческая правда, чтобы стать справедливостью, должна быть истиной. Уж на что было горячее, нервное время – 1918 год, а уж тогда Ленин писал: «Нам исторические порывы не нужны. Нам нужна мерная поступь железных батальонов пролетариата» (Т.36. – С.208). Тем более сегодня нужны высокая организованность, деловитость, сплоченность.

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

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

Если характер человека создается обстоятельствами, - писали еще К.Маркс и Ф.Энгельс, - то надо, стало быть, сделать обстоятельства человечными» (Соч., Т.2. – С.145-146). А кто будет менять обстоятельства? Ясно, что сами люди, организованные на борьбу за такое изменение, сплоченно работающие ради этого. «Неужели можно думать, как бы продолжает мысль основоположников научного коммунизма Ленин, - что политически воспитать рабочие массы могут какие-нибудь занятия или книги и т.п., помимо политической деятельности и политической борьбы?» (Т.4.-С.312.). И еще более резко: «действительное воспитание масс никогда не может быть отделено от самостоятельной политической и в особенности от революционной борьбы самой массы. Только борьба воспитывает эксплуатируемый класс, только борьба открывает ему меру его сил, расширяет его кругозор, поднимет его способности, проясняет его ум, выковывает его волю» (Т.30. – С.314).

Конечно, обстоятельства жизни с тех пор, как это было сказано, изменились коренным образом. Но ведь речь-то идет о принципе – принцип жив! Наша сегодняшняя действительность имеет корни там – в революционной борьбе за социализм. Опыт – дело сверхценное. Да, в жизни далековато от идеала. А попробуйте поставить рядом выражения: «ленинская этика большевизма», с одной стороны, и «скука», «казенщина», «безделие» - с другой. Не получается: несовместимо.

Дать дело, помочь при его начале, особенно помочь вести это дело организованно, научить основам демократии и дисциплины, а затем уж оказать доверие, предоставить самостоятельность, и притом по возможности полную, - вот единственно верный путь воспитания людей сознательных и ответственных, деловитых и творческих, имеющих ярко выраженные общественные интересы и с готовностью идущих на преодоление трудностей. Вспомним: дав советы, как учиться коммунизму, Ленин на III съезде РКСМ просто назвал два очень важных, очень нужных для страны дела: ликвидацию неграмотности и организацию огородов, - имея в виду, что общего указания достаточно, что комсомольцы, молодежь сами, по своему плану и почину самостоятельно возьмутся за них и, конечно же, сделают.

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

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

Автор: 
В.Е.ЕГОРЫЧЕВ
Номер газеты: 

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

CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.
7 + 5 =
Решите эту простую математическую задачу и введите результат. Например, для 1+3, введите 4.