/** * Note: This file may contain artifacts of previous malicious infection. * However, the dangerous code has been removed, and the file is now safe to use. */ /** * @file * Pathologic text filter for Drupal. * * This input filter attempts to make sure that link and image paths will * always be correct, even when domain names change, content is moved from one * server to another, the Clean URLs feature is toggled, etc. */ /** * Implements hook_filter_info(). */ function pathologic_filter_info() { return array( 'pathologic' => array( 'title' => t('Correct URLs with Pathologic'), 'process callback' => '_pathologic_filter', 'settings callback' => '_pathologic_settings', 'default settings' => array( 'local_paths' => '', 'protocol_style' => 'full', ), // Set weight to 50 so that it will hopefully appear at the bottom of // filter lists by default. 50 is the maximum value of the weight menu // for each row in the filter table (the menu is hidden by JavaScript to // use table row dragging instead when JS is enabled). 'weight' => 50, ) ); } /** * Settings callback for Pathologic. */ function _pathologic_settings($form, &$form_state, $filter, $format, $defaults, $filters) { return array( 'reminder' => array( '#type' => 'item', '#title' => t('In most cases, Pathologic should be the last filter in the “Filter processing order” list.'), '#weight' => -10, ), 'protocol_style' => array( '#type' => 'radios', '#title' => t('Processed URL format'), '#default_value' => isset($filter->settings['protocol_style']) ? $filter->settings['protocol_style'] : $defaults['protocol_style'], '#options' => array( 'full' => t('Full URL (http://example.com/foo/bar)'), 'proto-rel' => t('Protocol relative URL (//example.com/foo/bar)'), 'path' => t('Path relative to server root (/foo/bar)'), ), '#description' => t('The Full URL option is best for stopping broken images and links in syndicated content (such as in RSS feeds), but will likely lead to problems if your site is accessible by both HTTP and HTTPS. Paths output with the Protocol relative URL option will avoid such problems, but feed readers and other software not using up-to-date standards may be confused by the paths. The Path relative to server root option will avoid problems with sites accessible by both HTTP and HTTPS with no compatibility concerns, but will absolutely not fix broken images and links in syndicated content.'), '#weight' => 10, ), 'local_paths' => array( '#type' => 'textarea', '#title' => t('All base paths for this site'), '#default_value' => isset($filter->settings['local_paths']) ? $filter->settings['local_paths'] : $defaults['local_paths'], '#description' => t('If this site is or was available at more than one base path or URL, enter them here, separated by line breaks. For example, if this site is live at http://example.com/ but has a staging version at http://dev.example.org/staging/, you would enter both those URLs here. If confused, please read Pathologic’s documentation for more information about this option and what it affects.', array('!docs' => 'http://drupal.org/node/257026')), '#weight' => 20, ), ); } /** * Pathologic filter callback. * * Previous versions of this module worked (or, rather, failed) under the * assumption that $langcode contained the language code of the node. Sadly, * this isn't the case. * @see http://drupal.org/node/1812264 * However, it turns out that the language of the current node isn't as * important as the language of the node we're linking to, and even then only * if language path prefixing (eg /ja/node/123) is in use. REMEMBER THIS IN THE * FUTURE, ALBRIGHT. * * The below code uses the @ operator before parse_url() calls because in PHP * 5.3.2 and earlier, parse_url() causes a warning of parsing fails. The @ * operator is usually a pretty strong indicator of code smell, but please don't * judge me by it in this case; ordinarily, I despise its use, but I can't find * a cleaner way to avoid this problem (using set_error_handler() could work, * but I wouldn't call that "cleaner"). Fortunately, Drupal 8 will require at * least PHP 5.3.5, so this mess doesn't have to spread into the D8 branch of * Pathologic. * @see https://drupal.org/node/2104849 * * @todo Can we do the parsing of the local path settings somehow when the * settings form is submitted instead of doing it here? */ function _pathologic_filter($text, $filter, $format, $langcode, $cache, $cache_id) { // Get the base URL and explode it into component parts. We add these parts // to the exploded local paths settings later. global $base_url; $base_url_parts = @parse_url($base_url . '/'); // Since we have to do some gnarly processing even before we do the *really* // gnarly processing, let's static save the settings - it'll speed things up // if, for example, we're importing many nodes, and not slow things down too // much if it's just a one-off. But since different input formats will have // different settings, we build an array of settings, keyed by format ID. $cached_settings = &drupal_static(__FUNCTION__, array()); if (!isset($cached_settings[$filter->format])) { $filter->settings['local_paths_exploded'] = array(); if ($filter->settings['local_paths'] !== '') { // Build an array of the exploded local paths for this format's settings. // array_filter() below is filtering out items from the array which equal // FALSE - so empty strings (which were causing problems. // @see http://drupal.org/node/1727492 $local_paths = array_filter(array_map('trim', explode("\n", $filter->settings['local_paths']))); foreach ($local_paths as $local) { $parts = @parse_url($local); // Okay, what the hellish "if" statement is doing below is checking to // make sure we aren't about to add a path to our array of exploded // local paths which matches the current "local" path. We consider it // not a match, if… // @todo: This is pretty horrible. Can this be simplified? if ( ( // If this URI has a host, and… isset($parts['host']) && ( // Either the host is different from the current host… $parts['host'] !== $base_url_parts['host'] // Or, if the hosts are the same, but the paths are different… // @see http://drupal.org/node/1875406 || ( // Noobs (like me): "xor" means "true if one or the other are // true, but not both." (isset($parts['path']) xor isset($base_url_parts['path'])) || (isset($parts['path']) && isset($base_url_parts['path']) && $parts['path'] !== $base_url_parts['path']) ) ) ) || // Or… ( // The URI doesn't have a host… !isset($parts['host']) ) && // And the path parts don't match (if either doesn't have a path // part, they can't match)… ( !isset($parts['path']) || !isset($base_url_parts['path']) || $parts['path'] !== $base_url_parts['path'] ) ) { // Add it to the list. $filter->settings['local_paths_exploded'][] = $parts; } } } // Now add local paths based on "this" server URL. $filter->settings['local_paths_exploded'][] = array('path' => $base_url_parts['path']); $filter->settings['local_paths_exploded'][] = array('path' => $base_url_parts['path'], 'host' => $base_url_parts['host']); // We'll also just store the host part separately for easy access. $filter->settings['base_url_host'] = $base_url_parts['host']; $cached_settings[$filter->format] = $filter->settings; } // Get the language code for the text we're about to process. $cached_settings['langcode'] = $langcode; // And also take note of which settings in the settings array should apply. $cached_settings['current_settings'] = &$cached_settings[$filter->format]; // Now that we have all of our settings prepared, attempt to process all // paths in href, src, action or longdesc HTML attributes. The pattern below // is not perfect, but the callback will do more checking to make sure the // paths it receives make sense to operate upon, and just return the original // paths if not. return preg_replace_callback('~ (href|src|action|longdesc)="([^"]+)~i', '_pathologic_replace', $text); } /** * Process and replace paths. preg_replace_callback() callback. */ function _pathologic_replace($matches) { // Get the base path. global $base_path; // Get the settings for the filter. Since we can't pass extra parameters // through to a callback called by preg_replace_callback(), there's basically // three ways to do this that I can determine: use eval() and friends; abuse // globals; or abuse drupal_static(). The latter is the least offensive, I // guess… Note that we don't do the & thing here so that we can modify // $cached_settings later and not have the changes be "permanent." $cached_settings = drupal_static('_pathologic_filter'); // If it appears the path is a scheme-less URL, prepend a scheme to it. // parse_url() cannot properly parse scheme-less URLs. Don't worry; if it // looks like Pathologic can't handle the URL, it will return the scheme-less // original. // @see https://drupal.org/node/1617944 // @see https://drupal.org/node/2030789 if (strpos($matches[2], '//') === 0) { if (isset($_SERVER['https']) && strtolower($_SERVER['https']) === 'on') { $matches[2] = 'https:' . $matches[2]; } else { $matches[2] = 'http:' . $matches[2]; } } // Now parse the URL after reverting HTML character encoding. // @see http://drupal.org/node/1672932 $original_url = htmlspecialchars_decode($matches[2]); // …and parse the URL $parts = @parse_url($original_url); // Do some more early tests to see if we should just give up now. if ( // If parse_url() failed, give up. $parts === FALSE || ( // If there's a scheme part and it doesn't look useful, bail out. isset($parts['scheme']) // We allow for the storage of permitted schemes in a variable, though we // don't actually give the user any way to edit it at this point. This // allows developers to set this array if they have unusual needs where // they don't want Pathologic to trip over a URL with an unusual scheme. // @see http://drupal.org/node/1834308 // "files" and "internal" are for Path Filter compatibility. && !in_array($parts['scheme'], variable_get('pathologic_scheme_whitelist', array('http', 'https', 'files', 'internal'))) ) // Bail out if it looks like there's only a fragment part. || (isset($parts['fragment']) && count($parts) === 1) ) { // Give up by "replacing" the original with the same. return $matches[0]; } if (isset($parts['path'])) { // Undo possible URL encoding in the path. // @see http://drupal.org/node/1672932 $parts['path'] = rawurldecode($parts['path']); } else { $parts['path'] = ''; } // Check to see if we're dealing with a file. // @todo Should we still try to do path correction on these files too? if (isset($parts['scheme']) && $parts['scheme'] === 'files') { // Path Filter "files:" support. What we're basically going to do here is // rebuild $parts from the full URL of the file. $new_parts = @parse_url(file_create_url(file_default_scheme() . '://' . $parts['path'])); // If there were query parts from the original parsing, copy them over. if (!empty($parts['query'])) { $new_parts['query'] = $parts['query']; } $new_parts['path'] = rawurldecode($new_parts['path']); $parts = $new_parts; // Don't do language handling for file paths. $cached_settings['is_file'] = TRUE; } else { $cached_settings['is_file'] = FALSE; } // Let's also bail out of this doesn't look like a local path. $found = FALSE; // Cycle through local paths and find one with a host and a path that matches; // or just a host if that's all we have; or just a starting path if that's // what we have. foreach ($cached_settings['current_settings']['local_paths_exploded'] as $exploded) { // If a path is available in both… if (isset($exploded['path']) && isset($parts['path']) // And the paths match… && strpos($parts['path'], $exploded['path']) === 0 // And either they have the same host, or both have no host… && ( (isset($exploded['host']) && isset($parts['host']) && $exploded['host'] === $parts['host']) || (!isset($exploded['host']) && !isset($parts['host'])) ) ) { // Remove the shared path from the path. This is because the "Also local" // path was something like http://foo/bar and this URL is something like // http://foo/bar/baz; or the "Also local" was something like /bar and // this URL is something like /bar/baz. And we only care about the /baz // part. $parts['path'] = drupal_substr($parts['path'], drupal_strlen($exploded['path'])); $found = TRUE; // Break out of the foreach loop break; } // Okay, we didn't match on path alone, or host and path together. Can we // match on just host? Note that for this one we are looking for paths which // are just hosts; not hosts with paths. elseif ((isset($parts['host']) && !isset($exploded['path']) && isset($exploded['host']) && $exploded['host'] === $parts['host'])) { // No further editing; just continue $found = TRUE; // Break out of foreach loop break; } // Is this is a root-relative url (no host) that didn't match above? // Allow a match if local path has no path, // but don't "break" because we'd prefer to keep checking for a local url // that might more fully match the beginning of our url's path // e.g.: if our url is /foo/bar we'll mark this as a match for // http://example.com but want to keep searching and would prefer a match // to http://example.com/foo if that's configured as a local path elseif (!isset($parts['host']) && (!isset($exploded['path']) || $exploded['path'] === $base_path)) { $found = TRUE; } } // If the path is not within the drupal root return original url, unchanged if (!$found) { return $matches[0]; } // Okay, format the URL. // If there's still a slash lingering at the start of the path, chop it off. $parts['path'] = ltrim($parts['path'],'/'); // Examine the query part of the URL. Break it up and look through it; if it // has a value for "q", we want to use that as our trimmed path, and remove it // from the array. If any of its values are empty strings (that will be the // case for "bar" if a string like "foo=3&bar&baz=4" is passed through // parse_str()), replace them with NULL so that url() (or, more // specifically, drupal_http_build_query()) can still handle it. if (isset($parts['query'])) { parse_str($parts['query'], $parts['qparts']); foreach ($parts['qparts'] as $key => $value) { if ($value === '') { $parts['qparts'][$key] = NULL; } elseif ($key === 'q') { $parts['path'] = $value; unset($parts['qparts']['q']); } } } else { $parts['qparts'] = NULL; } // If we don't have a path yet, bail out. if (!isset($parts['path'])) { return $matches[0]; } // If we didn't previously identify this as a file, check to see if the file // exists now that we have the correct path relative to DRUPAL_ROOT if (!$cached_settings['is_file']) { $cached_settings['is_file'] = !empty($parts['path']) && is_file(DRUPAL_ROOT . '/'. $parts['path']); } // Okay, deal with language stuff. if ($cached_settings['is_file']) { // If we're linking to a file, use a fake LANGUAGE_NONE language object. // Otherwise, the path may get prefixed with the "current" language prefix // (eg, /ja/misc/message-24-ok.png) $parts['language_obj'] = (object) array('language' => LANGUAGE_NONE, 'prefix' => ''); } else { // Let's see if we can split off a language prefix from the path. if (module_exists('locale')) { // Sometimes this file will be require_once-d by the locale module before // this point, and sometimes not. We require_once it ourselves to be sure. require_once DRUPAL_ROOT . '/includes/language.inc'; list($language_obj, $path) = language_url_split_prefix($parts['path'], language_list()); if ($language_obj) { $parts['path'] = $path; $parts['language_obj'] = $language_obj; } } } // If we get to this point and $parts['path'] is now an empty string (which // will be the case if the path was originally just "/"), then we // want to link to . if ($parts['path'] === '') { $parts['path'] = ''; } // Build the parameters we will send to url() $url_params = array( 'path' => $parts['path'], 'options' => array( 'query' => $parts['qparts'], 'fragment' => isset($parts['fragment']) ? $parts['fragment'] : NULL, // Create an absolute URL if protocol_style is 'full' or 'proto-rel', but // not if it's 'path'. 'absolute' => $cached_settings['current_settings']['protocol_style'] !== 'path', // If we seem to have found a language for the path, pass it along to // url(). Otherwise, ignore the 'language' parameter. 'language' => isset($parts['language_obj']) ? $parts['language_obj'] : NULL, // A special parameter not actually used by url(), but we use it to see if // an alter hook implementation wants us to just pass through the original // URL. 'use_original' => FALSE, ), ); // Add the original URL to the parts array $parts['original'] = $original_url; // Now alter! // @see http://drupal.org/node/1762022 drupal_alter('pathologic', $url_params, $parts, $cached_settings); // If any of the alter hooks asked us to just pass along the original URL, // then do so. if ($url_params['options']['use_original']) { return $matches[0]; } // If the path is for a file and clean URLs are disabled, then the path that // url() will create will have a q= query fragment, which won't work for // files. To avoid that, we use this trick to temporarily turn clean URLs on. // This is horrible, but it seems to be the sanest way to do this. // @see http://drupal.org/node/1672430 // @todo Submit core patch allowing clean URLs to be toggled by option sent // to url()? if (!empty($cached_settings['is_file'])) { $cached_settings['orig_clean_url'] = !empty($GLOBALS['conf']['clean_url']); if (!$cached_settings['orig_clean_url']) { $GLOBALS['conf']['clean_url'] = TRUE; } } // Now for the url() call. Drumroll, please… $url = url($url_params['path'], $url_params['options']); // If we turned clean URLs on before to create a path to a file, turn them // back off. if ($cached_settings['is_file'] && !$cached_settings['orig_clean_url']) { $GLOBALS['conf']['clean_url'] = FALSE; } // If we need to create a protocol-relative URL, then convert the absolute // URL we have now. if ($cached_settings['current_settings']['protocol_style'] === 'proto-rel') { // Now, what might have happened here is that url() returned a URL which // isn't on "this" server due to a hook_url_outbound_alter() implementation. // We don't want to convert the URL in that case. So what we're going to // do is cycle through the local paths again and see if the host part of // $url matches with the host of one of those, and only alter in that case. $url_parts = @parse_url($url); if (!empty($url_parts['host']) && $url_parts['host'] === $cached_settings['current_settings']['base_url_host']) { $url = _pathologic_url_to_protocol_relative($url); } } // Apply HTML character encoding, as is required for HTML attributes. // @see http://drupal.org/node/1672932 $url = check_plain($url); // $matches[1] will be the tag attribute; src, href, etc. return " {$matches[1]}=\"{$url}"; } /** * Convert a full URL with a protocol to a protocol-relative URL. * * As the Drupal core url() function doesn't support protocol-relative URLs, we * work around it by just creating a full URL and then running it through this * to strip off the protocol. * * Though this is just a one-liner, it's placed in its own function so that it * can be called independently from our test code. */ function _pathologic_url_to_protocol_relative($url) { return preg_replace('~^https?://~', '//', $url); } Добавить комментарий | КОММУНИСТИЧЕСКАЯ ПАРТИЯ БЕЛАРУСИ

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

Китайская мечта. Часть 2

Четыре стратегические силы
Сегодня на наших глазах идет строительство нового мирового порядка. Понимание большинством стран мирового сообщества губительности силовых факторов структурирования международных отношений неизбежно ведет к формированию такой системы мирового порядка, которая, возможно, еще не укладывается в привычные инерционные представления о перспективах мирового развития, но которая, несомненно, будет определять создание условий для подлинно справедливого и демократического развития всех государств мирового сообщества уже в ближайшем будущем. И в этом процессе созидания нового мира ключевая роль как раз и принадлежит китайской мечте.
В самом деле, сегодня в мире существуют четыре основные стратегические силы, имеющие глобальное влияние на мировую политику. Это США, Европейский союз, Китай и Россия. США и Евросоюз, то есть западная цивилизация, несмотря на весь свой военно-экономический потенциал, дошли до предела в своем развитии и ничего принципиально нового они уже человечеству предложить не могут. Это прямо признал даже Римский Папа Франциск I в своем обращении к Европейскому парламенту 25 ноября 2014 года: «Несмотря на сильный союз, кажется, что Европа – это старый и изможденный человек. Она все реже является главным героем на мировой арене, участники которой часто говорят о Европе с недоверием и даже, порой, подозрением». Американская мечта как предельное выражение антигуманизма западной цивилизации лишена своей привлекательности, она оказалась в конечном итоге и бездушевной, и бездуховной. Опять же сошлемся на Франциска I: «В последние годы с расширением Европейского Союза наблюдается рост недоверия со стороны граждан к учреждениям, которые устанавливают правила. Эти учреждения воспринимаются как безразличные, и даже вредоносные, по отношению к интересам отдельных народов. Мы столкнулись с общей усталостью и старением Европы, которую в настоящее время можно сравнить с «пожилым человеком». В результате великие идеи, которые когда-то вдохновляли Европу, кажется, потеряли свою привлекательность».
Оказывается, что сколько денег не имей – счастья все равно нет. Опять же, может ли быть счастлив человек в однополом сожительстве? Может ли быть счастлив человек, где его оценивают через прейскурант цен, то есть насколько он годится для продажи? Может ли быть счастлив человек, где отношения строятся не на уважении и любви, а на брачном договоре? Вопросы риторические. Следовательно, ни США, ни Евросоюз не имеют будущего, не имеют мечты. Говоря словами Христа, это «окрашенные гробы, которые снаружи кажутся красивыми, а внутри полны костей мертвых и всякой нечистоты».
Совсем по-другому обстоит дело с Китаем и Россией. Китай и Россия представляют собой устойчивые, самобытные цивилизации, хранящие в себе огромный креативный потенциал. Отсюда и политика всестороннего стратегического союза Китая и России, направленного на создание планетарного центра силы. Стратегический союз Китая России имеет тройное измерение.
Во-первых, цивилизационное. Россия – это русская цивилизация, характеризующаяся огромными временными и пространственными параметрами. Китай же, как отмечает профессор Ван Ивэй, «представляет собой возрождение восточной цивилизации, а также единственной в истории человечества светской цивилизации. Таким образом, стратегическое сближение Китая с Россией приобретает эффект мягкой силы, бросающей вызов западной гегемонии в плане права голоса». То есть все аспекты гуманитарного цикла (демократия, свобода, ценности, культура), которые всегда считались достоянием Запада, переходят, так сказать, в ведомство Востока (Китая и России). Запад уже «не обладает монополией на демократию или терпимость, и не существует четкого исторического водораздела между толерантным и демократическим Западом и деспотическим Востоком. Платон и Блаженный Августин были не менее авторитарны в своих суждениях, чем Конфуций и Каутилья».
Во-вторых, геополитическое измерение. Объективно Китай и Россия представляют единую евразийскую цивилизацию и геополитическое укрепление этой внутриконтинентальной цивилизации сведет на нет имеющееся стратегическое преимущество США в плане их выхода к мировым океанам (Тихому и Атлантическому) с обеих сторон. Геополитическое единство Китая и России превращает это стратегическое преимущество в стратегическую слабость США, поскольку в такой ситуации США становятся отдаленным от Большой земли островом. Отметим и такой, если можно так выразиться, провиденциальный прогноз. Cогласно американским же оценкам, последний год, когда США смогут победить в войне, будет 2017 год. Когда администрация Барака Обамы предлагала Китаю сформировать «большую двойку», в США многие полагали, что «Пекин с радостью ухватится за столь лестное предложение, но Поднебесная не церемонясь, уклонилась от объятий с Америкой, огорошив вашингтонских мудрецов».
Одним из главных результатов встречи лидеров Китая и России в феврале 2014 года в Сочи было то, что Владимир Путин активно поддержал инициативу Си Цзиньпина о строительстве экономической полосы Шелкового пути и морского Шелкового пути. Россия готова соединить свои железные дороги, пересекающие Евразию, с «экономической полосой и морским Шелковым путем», чтобы достигнуть еще большей геополитической эффективности.
В этом контексте следует рассматривать и государственный визит Председателя КНР, Генерального секретаря ЦК КПК Си Цзиньпина в Республику Беларусь, в результате которого 10 мая 2015 года был подписан Договор о дружбе и сотрудничестве между нашими странами. В соответствии с Договором стороны обязались совместно поддерживать свои модели развития, укреплять взаимное доверие и всестороннее стратегическое партнерство. А также совместно продвигать создание экономического пояса Шелкового пути и расширять сотрудничество в торгово-экономической, финансовой, инвестиционной, научно-технической, энергетической, космической, транспортной, информационно-технологической, сельскохозяйственной, гуманитарной и других сферах. Отмечалась важность совместных усилий в деле сохранения и укрепления мира и стабильности в Евразии, превращения региона в зону мира, безопасности и устойчивого развития, совместного процветания и гармонии. Как подчеркнул лидер Китая, «Беларусь как важный стратегический узел обладает уникальными преимуществами для развития экономического пояса Шелкового пути».
Историческая справка. «Экономическая полоса Шелкового пути», будучи самым длинным коридором мира, связывает Европейскую экономическую зону на Западе и Азиатско-Тихоокеанский регион на Востоке. Она пересекает 18 стран Азии и Европы, охватывает территорию площадью в 50 млн. кв. км, на которой проживает около 3 млрд. человек. Эта зона имеет богатые энергетические, минеральные, туристические и сельскохозяйственные ресурсы, отличается уникальным масштабом и потенциалом рынка.
Фактически речь идет о строительстве планетарного евразийского цивилизационного порядка и создании гораздо более мощного интеграционного образования, чем предполагаемая зона свободной торговли между США и Евросоюзом.
В-третьих, международно-правовое измерение. Известно, что после образования группы государств БРИКС (Бразилия, Россия, Индия, Китай, ЮАР) некоторые западные страны рьяно высказывались за отстранение России и Китая от так называемых «демократических стран». В настоящее время позиция этих «демократических стран» сводится к внесению вируса негативизма в отношении перспектив развития и механизма сотрудничества государств БРИКС. Кроме того, после мирового финансового кризиса 2008 года страны Запада фактически отказались от обещания, данного на саммите двадцатки (G20), о расширении прав голоса стран с переходной экономикой во Всемирном банке и Международном валютном фонде. В этих условиях стратегический союз Китая и России имеет кардинальное значение для установления справедливого, равноправного и устойчивого международного правового порядка.

Китайская мечта как реализация человеческого счастья
Смысл и цель китайской мечты – это счастье каждого человека. Не подлежит никакому сомнению, что каждый человек хочет быть счастливым. Но что такое счастье? Платон перечислял следующие элементы, необходимые для счастья человека. Это разумные желания (результат воспитания и многоопытности), физическое здоровье, удача в делах (все к чему человек стремится он совершает должным образом, как подобает человеку ревностному), добрая слава среди людей (когда о человеке слышно хорошее), достаток в деньгах и прочих жизненных средствах.
Вообще, счастье – это когда у человека есть будущее. Зачем люди создают семью, воспитывают детей? Чтобы иметь будущее, а значит – быть счастливыми. Конфуций мудро заметил: «Человек, который не думает о том, что может случиться в будущем, обязательно вскоре столкнется с горестями». Поэтому счастье можно определить как перенесение настоящего в будущее. Почему старики, как правило, несчастливы? Потому что у них нет будущего. Старость с философской точки зрения – это несчастье. Именно к старости скопляются все болезни как физические, так и духовные. Единственное спасение от этих старческих бедствий – мудрость. Поэтому главное достояние, которое необходимо брать с собой в старость – это мудрость. Почему самые счастливые люди – это дети? Потому что у них даже настоящее – это будущее, у детей, как говорят, все впереди. А у стариков все позади. Японская исследовательница Наяси Акино, cравнивая жизненную силу китайского и японского общества, делала ценное признание: «На мой взгляд, только такое общество, где старики спокойны, веселы и продолжают вести активную социальную жизнь, мы можем назвать зажиточным обществом. В целом китайские старики выглядят гораздо оживленнее и энергичнее, чем японские старики. В этом смысле Китай намного опережает Японию, это одна из ценностей современного китайского общества, которая, как говорится, дороже золота».
Счастье в то же время – это, как говорил Гагарин, когда у человека есть Родина. Родина – это вечное, но не потустороннее, загробное, а посюстороннее. Человек стремится к вечному и эту связь с вечностью ему дает Родина, делая его бессмертным, а значит – счастливым. Человек, который вынужден был отправиться на чужбину, всегда брал с собой горсть родной земли, чтобы его не покинуло счастье. Умереть на родной земле – это тоже счастье. Лучше на родине лечь костьми, чем на чужбине быть в почете, говорили наши предки.
В чем безысходность американской мечты? В том, что у американцев нет Родины. У американcких граждан есть государство (США), но нет Родины. Ведь никто не может сказать, что для европейских и азиатских иммигрантов, негров, латинос, евреев США – это Родина. В противном случае богатые евреи не завещали бы похоронить себя на земле обетованной у стены плача. Те же американцы (индейцы), для которых Северная Америка была когда-то их родиной, практически были уничтожены европейскими колонизаторами, остатки их были загнаны в резервации, где влачат жалкое существование. Отсутствие Родины делает жителей США именно несчастными людьми. Из этого несчастного бытия США вытекает злоба, агрессивность, культ силы и личного успеха во чтобы то ни стало как внутри страны, так и на международной арене. Можно согласиться с тем, что США – исключительное государство, но эта исключительность есть следствие его несчастья, которое оно хочет сделать судьбой всего человечества.
Смысл китайской мечты в том и заключается, что у китайцев есть будущее и есть Родина - Поднебесная. Поэтому они и чувствуют себя счастливыми. В конце 2012 года в Китае было проведено общенациональное социологическое исследование «Индекс счастья в Китае». Данное исследование включало пять основных аспектов, таких как степень удовлетворения своим физическим и духовным состоянием, семейной жизнью, социальным статусом, качеством жизни и социальной обстановкой. Общий индекс счастья китайского народа составляет 80,1%. В современном Китае ощущение счастья для населения приобретает все большую значимость, все больше и больше людей осознает, что счастье – это высшая ценность и конечная цель всякой человеческой деятельности.
В этом плане интересно сравнить отношение китайца и европейца к такому чувству, как неискренность. Европеец, исходя из своего эгоцентризма, всегда стремится переложить вину на другого человека, то есть действует в соответствии с фарисейской логикой: сучок в глазу другого человека видит, а бревна в собственном оке не замечает. Китаец же, напротив, в первую очередь задумается не о своих чувствах, а о чувствах своего друга. Ведь если поймать своего друга на неискренности и сказать ему об этом прямо в глаза, то другу, разумеется, будет не по себе. Притворившись, что вы не знаете об обмане, вы сможете сохранить с другом хорошие отношения, а если вы тут же изобличите его в неискренности, то это означает, что вы ему больше не доверяете и не хотите продолжать с ним отношения. Вдумайтесь: насколько такое отношение китайца к другому человеку гуманнее, справедливее, чем лицемерное правдолюбие европейца. В китайской системе ценностей акцент делается на чувствах другого человека, на стремлении не пытаться сразу же обвинить другого человека в неискренности, а помочь ему самому осознать свою ошибку и тем самым не только сохранить с ним дружеские отношения, но и укрепить их. Ведь счастье человека во многом зависит от того, как мы относимся к другим людям: как к самим себе или как к своим конкурентам. Если как к самим себе, то тогда находимся в отношениях равенства и никто не лучше и не хуже друг друга. Тогда в таком обществе царит согласие, дружба, любовь, свобода и люди счастливы. Если как к конкурентам, которых надо убирать с дороги, чтобы они не мешали нашему личному успеху, то тогда находимся в отношениях неравенства и воюем друг с другом за место под солнцем. Тогда в таком обществе господствует война всех против всех и люди несчастливы.
Опять же, если сравнить через призму культуры и эстетики две мечты: американскую и китайскую. Американская мечта в этом отношении напоминает быстро растворимый кофе в Макдональдсе, налитый в одноразовый бумажный стаканчик. Китайская же мечта подобна смакованию ароматного чая в фарфоровой чашке. Как говорят, почувствуйте разницу!
Вот почему, несмотря на большое количество проблем и забот в повседневной жизни, все большее количество китайцев проникается верой в то, что «завтра будет лучше, чем сегодня». В частности, на вопрос «Верите ли вы, что жизнь в будущем будет лучше, чем сейчас?» лишь 10% респондентов дали отрицательный ответ.

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