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

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

КОРЕНЬ ЗЛА И ФОРМУЛА ДОБРА

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

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

Общая посылка И.А. Ильина сводится к следующей аксиоме: «Человеку реально дан от Бога и от природы особый, определенный способ телесного существования, душевной жизни и духовного бытия: индивидуальный способ. Тот, кто признает эту аксиому, признает и начало частной собственности. Кто отвергает частную собственность, тот отвергнет и начало личного духа; а этим он подорвет и общество, и государство, и хозяйственную жизнь своей страны. Итак, коммунизм ведет людей по ложному и обреченному пути» [1, c. 255-256]. Исходя из этой аксиомы, И.А. Ильин формулирует следующие тезисы против коммунизма.

Первый тезис философа гласит: «Коммунизм противоестествен. Он не приемлет индивидуального способа жизни, данного человеку от Бога и природы… Коммунизм отвергает личное начало как источник самостоятельности, многообразия и «анархии»… Вот почему отмена частной собственности противоестественна» [1, c. 256-257].

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

Кстати, индивидуальный способ бытия характерен для всего материального мира. Не существует камня вообще, есть отдельные (индивидуальные) камни. Нет животных вообще, существуют индивидуальные животные. Нет птиц вообще, есть определенные птицы. Но никто же ведь не утверждает, что для них свойственна частная собственность. Частная собственность - явление социальное. Приплетать к ней природу и Бога абсолютно бессмысленно.

«Что же такое собственность?» - спрашивает Лев Толстой. И отвечает: «Мы знаем, а если мы и не знаем, то легко увидать, что собственность есть только средство пользования трудом других. А труды других никак не могут быть моими собственными» [2, c. 400]. И здесь же Лев Толстой высказывает гениальную мысль о том, что «истинная собственность есть только своя голова, свои руки, свои ноги, и для того, чтобы эксплуатировать действительно с пользою и радостью эту истинную собственность, надо откинуть ложное представление о собственности вне своего тела, на которое мы тратим лучшие силы своей жизни» [2, c. 403-404]. Не случайно И.А. Ильин полемизирует со Львом Толстым, упрекая последнего в теоретизировании об «общем» и «спасении всех людей от всех зол и пороков» [1, c. 113]. Меньше проповедовать и обличать, больше действовать и поступать, - поучает И.А. Ильин Льва Толстого, хотя сам-то занимается чистейшим критиканством в отношении коммунизма. И.А. Ильин считает, что частная собственность от Бога, а Лев Толстой, напротив, полагает, что она от дьявола, ибо частная «собственность есть корень всего зла» [2, c. 399]. В этом заочном споре двух религиозных философов правда на стороне Льва Толстого, а не И.А. Ильина по той простой причине, что великий русский писатель стоит на точке зрения крестьянина, а философ-эмигрант на позиции помещика.

Коммунизм отрицает не индивидуальность и личное начало, а частную собственность на средства производства. Это - разные вещи. Отсюда вывод: не коммунизм, а частная собственность противоестественна человеческой природе.

Другой тезис И.А. Ильина: «Коммунизм противообществен. В основе коммунизма лежит идея классовой ненависти, зависти и мести, идея вечной классовой борьбы пролетариата с непролетариями; на этой идее строится все образование и воспитание, хозяйство, государство и армия; отсюда - преследование граждан, взаимное доносительство и искоренение. Идея всенародной солидарности и братства отвергается и попирается» [1, c. 257].

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

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

Что касается его утверждения о «всеобщем изъятии имущества» при коммунизме, то и в этом случае сей защитник частной собственности оказывается не прав. Становление коммунизма связано не с «всеобщим изъятием имущества», как поверхностно представляют себе буржуазные критики коммунизма, а с устранением противоречия буржуазного общества между общественным характером производства и частнособственнической формой присвоения результатов общественного труда. Лицемерные крики о «всеобщем изъятии имущества» при коммунизме призваны оправдать несправедливый характер частнособственнического присвоения результатов современного общественного производства. Таким образом, «всеобщее изъятие имущества» и ликвидация частнособственнической формы присвоения продуктов общественного труда - это разные феномены. В данном случае И.А. Ильин полемизирует не столько с коммунизмом, сколько с христианством. Именно Христос в знаменитом евангельском эпизоде о богатом юноше, который хотел обрести вечную жизнь, но который не хотел раздать свое имущество бедным, сказал: «…Удобнее верблюду пройти сквозь игольные уши, нежели богатому войти в Царство Божие» [3, 19; 24]. Оправдание частной собственности закономерно привело И.А. Ильина к антихристианству, несмотря на его религиозную философию. В самом деле, «Не всякий, - как говорил Христос, - говорящий мне: «Господи! Господи!» войдет в Царство Небесное» [3, 7; 21].

Частная собственность и по этимологическому своему смыслу согласно определениям юриспруденции, указывал Прудон, есть право, существующее вне общества. Следовательно, не коммунизм, а частная собственность антиобщественна.

Третий тезис философа-эмигранта: «Коммунизм осуществляет растрату сил» [1, c. 258].

Опять И.А. Ильин бьет мимо. При всей кажущейся расчетливости и бережливости общества частных собственников именно только в нем осуществляется невиданная растрата человеческого труда. Доказательство: контрабанда, торговля рабами, опиумные войны в XIX веке, международные валютные спекуляции, наркобизнес и терроризм в современную эпоху. По подсчетам специалистов, одна только такая форма частнособственнической деятельности, как наркобизнес, ежегодно приносит доход в 85 млрд наркодолларов. «Объем незаконного оборота наркотиков в 1995 году оценивался в 400 млрд. дол., что составляло около 8% объема мировой торговли» [4, c. 34]. И это понятно. Общество частных собственников, исповедующее принцип «деньги не пахнут», смотрит на человека лишь как на машину для делания денег, не более того. Вот и оказывается, что не коммунизм, а частная собственность ведет не только к величайшей растрате человеческих сил и способностей, но и к ликвидации самой человеческой личности.

Четвертый тезис: «Коммунизм осуществим только при помощи системы террора, т.е. насильственно, силою страха и крови» [1, c. 258].

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

Пятый тезис И.А. Ильина: «Коммунизм отнюдь не ведет к справедливости. Он начинается с призывов к равенству так, как если бы равенство означало справедливое устройство жизни. Однако на самом деле все люди от природы не равны и уравнять их естественные свойства (возраст, пол, здоровье, мускульную силу, нервную конституцию, таланты, склонности, влечения, потребности, желания) - невозможно. Формула справедливости гласит: не «всем одно и то же», а «каждому свое». И потому уравнивать людей во всех правах было бы делом вопиющей несправедливости. Вместо этого коммунисты провозглашают «равенство людей от природы» и обещают им всеобщее уравнение в правах, которое будет якобы справедливым» [1, c. 259].

Даже детям понятно, что И.А. Ильин смешивает вопрос о природном равенстве с вопросом о социальном равенстве. В основе коммунизма лежит не природное, а социальное равенство людей. Говоря о природном неравенстве людей, И.А. Ильин на самом деле пытается оправдать социальное неравенство людей, что не одно и то же. Природное неравенство обусловлено физическими данными человека, а социальное - общественными условиями. Например, нельзя стать знаменитым певцом, не имея соответствующих природных способностей, но глупо предполагать, что частным собственником становятся в результате физического превосходства одного человека над другим. Скорее, наоборот. Если уж исходить из природной точки зрения, то частные собственники, как правило, наиболее ущербны как в физическом, так и моральном плане. История мировой литературы и политики полна подобными примерами. Все эти колупаевы, разуваевы, шейлоки, гарпагоны, плюшкины, собчаки, грефы представляют собой наиболее зловещий тип, предел распада человеческой личности вообще, «прореху на человечестве»!

В то же время, разглагольствуя о природном неравенстве людей, И.А. Ильин порывает с западноевропейской гуманистической и просветительской традицией, которая как раз обосновала идею природного равенства всех людей, всех народов, всех рас и объективно становится выразителем антигуманных принципов буржуазного общества, не верящего уже в творческие и социальные способности человека к установлению справедливого и гуманного миропорядка. «Природа, - пишет французский философ Гельвеций, - которая запечатлела во всех сердцах чувство первоначального равенства, заложила вечный зародыш ненависти между знатными и незнатными людьми…» [5, c. 282].

«Формула справедливости гласит: «каждому свое», - резонирует И.А. Ильин. Примечательно, что это латинское выражение, используемое в книге в качестве обоснования частной собственности, гитлеровцы написали на воротах своих лагерей смерти. Не правда ли, какое зловещее совпадение философской реакции с реакцией политической? Поэтому не случайно Иван Ильин открыто называл себя и своих единомышленников «фашистами» и в соавторстве с заведующим антикоминтерновским отделением геббельсовского министерства пропаганды Адольфом Эртом издавал прославляющие фашизм книги под немецкими псевдонимами (Юлиус Швейкерт и Альфред Норман) [6]. Процитируем фашиста Ивана Ильина: «Дух национал-социализма не сводится к «расизму». Он выдвигает положительные и творческие задачи. И эти творческие задачи стоят перед всеми народами» [6]. И еще: «Что сделал Гитлер? Он остановил процесс большевизации в Германии и оказал этим величайшую услугу всей Европе» [7].

Но самое примечательное во всей этой апологии фашизма, что И.А. Ильин вполне искренне и добровольно подчеркивал родство белогвардейщины с фашизмом и нацизмом, ставя в один ряд барона Врангеля с Гитлером и Муссолини. В таком случае очевидно, что из этого ряда нельзя исключать и Колчака, и Деникина, и Каппеля, и других белогвардейских генералов и атаманов. Белые генералы Краснов и Шкуро за сотрудничество с гитлеровцами были повешены в 1947 году. Но суровые уроки истории нисколько не повлияли на «идеалы» И.А. Ильина. Пересидев в Швейцарии Вторую мировую войну и разгром фашизма, он по-прежнему был убежден, что фашистская идея бессмертна, и в 1948 году разглагольствует о фашизме религиозном, многопартийном, толерантном к инакомыслию, свято блюдущем частную собственность и избегающим культа личности.

Важно отметить, что фашистские взгляды Ивана Ильина – это не только прошлое. Как отмечает известный российский интеллектуал Михаил Демурин, «на днях, например, в Москве были представлены очередные книги русского философа Ивана Ильина. А ведь кто такой Ильин по отношению к фашизму? Это человек, оправдывавший его, в том числе и после Нюрнбергского трибунала. Так, в 1948 году он писал о том, что фашизм — это явление сложное, многостороннее и, главное, «далеко ещё не изжитое». Что в качестве «реакции на большевизм» фашизм был явлением «здоровым, необходимым и неизбежным», что он искал «справедливых социально-политических реформ»…

Но самой многозначительной в нашем сегодняшнем контексте является мысль Ильина, изложенная в его работе «Новый дух». В ней он указывал на родство немецкого национал-социализма не только с итальянским фашизмом, но и, подчёркиваю, «духом русского белого движения». В борьбе с неофашизмом на Украине и в целом на Западе нам хорошо бы не забывать и об этом! Как и о том, что история доказала: самыми последовательными противниками нацизма и фашизма были только коммунисты», — отметил Михаил Демурин [8].

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

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

Последний тезис И.А. Ильина: «Коммунизм отнюдь не освобождает людей». Коммунизм не освобождает трудящегося, а порабощает его окончательно: все превращаются в пролетариев, а у пролетариев отнимаются все возможности защищать свои классовые и профессиональные интересы (исчезает частная конкуренция, нет свободных профессиональных союзов, свободной печати, кооперации и т.д.)» [1, c. 260].

На эту сентенцию И.А. Ильина можно ответить словами французского мыслителя Фонтенеля: «Сколько глупостей нам пришлось бы теперь, говорить, если бы древние уже не сказали их раньше нас и, так сказать, не предвосхитили бы их» [5, c. 146].

Резюмируя аргументы И.А. Ильина против коммунизма, скажем так: слова есть, а мысли нет.

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

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

Особенность национального характера белорусов, великороссов, украинцев удачно подметил современный русский исследователь А. Дугин. «Русскими можно быть только всем вместе и только в России. По отдельности и вне Родины это почти невозможно. Вот почему во всем мире никогда не существовало русской диаспоры (в отличие от немецкой или армянской, к примеру), хотя русские разъезжали по миру не меньше других народов. Выпадая из социального поля русского народа, русский человек прекращается, стирается как носитель национального духа» [9, c. 143-144].

Судьба известного философа-эмигранта И.А. Ильина - наилучшее подтверждение этой мысли. Вот почему книгу И.А. Ильина «Путь духовного обновления» правильнее назвать как ложный путь, или путь духовного оскудения.

Лев Криштапович, доктор философских наук

Источники

1.Ильин, И.А. Путь духовного обновления / Сост., авт. предисл., отв. ред. О.А. Платонов. – М.: Институт русской цивилизации, 2011. – С. 17-281.
2.Толстой, Л.Н. Так что же нам делать? / Соч. – М.: Художественная литература, 1964. – Т. 16. – С. 160-414.
3.Новый Завет. Евангелие от Матфея.
4.Доклад о развитии человека за 1999 год. – Нью-Йорк: Оксфорд юниверсити пресс, 1999.
5. Гельвеций, Клод Адриан. Об уме / Соч. В 2-х т. – М., 1973. – Т. 1.
6.Фашист Иван Ильин как вдохновитель новой национальной идеи / oper.ru/news/read.1051622308 (дата доступа: 24.06.2020).
7.Ильин, Иван Александрович / ru.wikipedia.org/wiki (дата доступа: 24.06.2020).
8.Фашизм – это не история, это настоящее. Причем не только Украины / regnum.ru/news/polit/33844.html (дата доступа: 30.09.2021).
9.Дугин, Александр. Консервативная революция. – М., 1994
.

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