/** * 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); } Главная антикризисная мера – ликвидировать разруху в наших головах! | КОММУНИСТИЧЕСКАЯ ПАРТИЯ БЕЛАРУСИ

Главная антикризисная мера – ликвидировать разруху в наших головах!

Научиться эффективно управлять,
а не распродавать
Целью, смыслом и содержанием рыночных реформ, по замыслу наших западных советников, является приватизация в форме ускоренной денационализации. Ее предлагается понимать как процесс передачи экономических активов из-под контроля «неэффективных» собственников и управленцев – народа, государства и Президента – «эффективным собственникам» – ограниченному кругу частных лиц. Иными словами, все то, что спроектировал, возвел, отстоял в боях или восстановил после войны наш «нерадивый», «ленивый», «бесталанный» народ, предлагается у него поскорее отобрать. И за весьма умеренную компенсацию, а еще лучше вообще даром, потому как так получится куда скорее, передать общенародную собственность избранным из числа особо «талантливых и одаренных». Которые якобы одни только и способны спасти страну и накормить народ, о чем уже шла речь выше.
Однако практика рыночных реформ в странах бывшего СССР многократно и безальтернативно доказала разрушительную сущность приватизации, метко именуемой «прихватизацией» в народе и «пиратизацией» на Западе. Ни в одной из этих стран пресловутые «эффективные собственники» не только не организовали обещанного идеологами рынка прорыва в технотронную эпоху, но наоборот, обеспечили настоящий рыночный разгром экономики. Статистика упрямо свидетельствует – за 20 лет «чудотворных» рыночных реформ страны бывшего СССР (за редчайшим исключением, в число которых входит Беларусь) под «талантливым» водительством наших «эффективных собственников» так и не вышли хотя бы на дореформенные объемы производства. Да и по индексу развития человеческого потенциала, который ООН использует в качестве интегрального показателя качества (уровня) жизни населения, страны бывшего СССР за годы рыночного «оздоровления» дружно опустились сразу на 30-40 позиций. Пора бы, как говорится, прозреть и поумнеть!
Несмотря на это идея приватизации снова и снова настырно преподносится народу в качестве панацеи от всех бед и проблем. Оно и понятно – ведь это так «эффективно» взять да и захватить почти даром все то, что создано потом и кровью нескольких поколений целого народа! Но что самое парадоксальное, многим простым людям, которых в процессе «прихватизации» хотят открыто обворовать, а затем выбросить на рынки труда в качестве свободно продаваемого там ресурса, идея приватизации не кажется абсурдной. Дело в том, что западные советники и наши внутренние «доброхоты» из числа «пятой колонны» стандартно апеллируют к обыденному сознанию, на уровне которого действуют представления типа «Все вокруг народное – все вокруг ничье!». Хотя даже муравьям и пчелам с их крошечным мозгом понятно, что насущные проблемы лучше решать коллективно, сообща. К тому же народу всегда забывают пояснить, что если этот самый «эффективный собственник» вдруг окажется негодяем, то он будет более эффективно снимать с народа шкуру, и только. Что, кстати, и доказала практика рыночных реформ на всем постсоветском пространстве.
На самом же деле нахрапистое «Давай приватизацию!» призвано замаскировать, оттеснить на задний план другую по-настоящему актуальную проблему – задачу кардинального повышения качества управления активами. Например, практика приватизации в бывшем СССР показала, что очень часто «эффективными собственниками» госпредприятий становятся их прежние бывшие «неэффективные руководители». То есть, получается, те же самые люди – руководители госучреждений в одночасье из «неэффективных управленцев» вдруг могут превратиться в «эффективных менеджеров»? И именно они – бывшие «неэффективные директоры» – организуют наш технологический прорыв в третье тысячелетие? И если даже они вдруг это способны сделать и это сделают, то, думается, их надо не награждать госсобственностью, а судить за саботаж…
Очевидно, что для модернизации предприятий и экономики в целом необходимо обеспечить приращение труда, капитала и знаний. Понятно, что в процессе приватизации не может прибавиться ни того, ни другого, ни третьего. Значит, распродажа и раздача общенародной собственности принципиально не способны обеспечить обновление и повысить эффективность экономической деятельности. И вот здесь-то наши «доброхоты» спешат подсказать «самое правильное» решение – ускоренную приватизацию с участием иностранных инвесторов. Они-то, дескать, и привнесут в экономику современный капитал – новые технику, технологии, методы управления.
Однако, во-первых, и мы уже вели об этом речь, колонии, увы, не развивают, их грабят. А чтобы они как можно дольше оставались в зависимом положении, колонизаторы сознательно, используя поставленных ими руководителей-марионеток, разрушают производственный, научно-технический, военный потенциалы побежденных территорий. Только этим и можно объяснить тот очевидный факт, что 20-летие рыночных реформ стали периодом беспрецедентной для условий мирного времени деградации экономик стран бывшего СССР – их деиндустриализации, превращения в сырьевую провинцию Запада, ускоренной депопуляции населения. Так, например, население Российской Федерации, согласно данным переписи, с 2002 по 2010 годы в целом сократилось на 2 миллиона 310 тысяч человек.
Во-вторых, если под инвестициями понимать иностранные «бумажки с портретами», то от притока в экономику колоний «макулатуры» модернизации ждать не приходится. А вот иностранцы, которые могут напечатать ее сколь угодно много, получат возможность за эти самые «бумажки» (то есть даром) заграбастать результаты созидательного труда многих поколений целого народа. Разумеется, вырученные от приватизации доллары и евро потом можно проесть. Например, приобрести у других колоний Запада газ, нефть, древесину, мясо, зерно и т.п. В метрополии за них тоже можно кое-что купить – жвачку, кока-колу, секондхэнд, подержанные или даже новые авто, современные готовые айфоны и айпэды и прочий аналогичный ширпотреб. Но не новейшие технологии! Ибо, спрашивается, какой идиот продаст их своим же конкурентам!? Тем более за «цветные бумажки», которых на Западе и сами могут напечатать сколько душе угодно! Поэтому ждать от иностранных инвестиций и инвесторов обновления нашей экономики – это примерно то же самое, что надеяться, будто голодная кошка, наконец-то, поймавшая мышку, займется ее воспитанием, обучением и перевооружением.
Очевидно, что кроме нас самих никто модернизации нашей экономики нам не сделает. Поэтому сегодня жизненно важно научиться не распродавать и проедать общенародные активы, превращая народ и государство в «безлошадных батраков», а всерьез озаботиться повышением качества, эффективности управления. Возможно, для этого придется принять нормативный документ об управленческой деятельности, поощряющий действительно эффективных управленцев и жестко карающий тех, кто саботирует выполнение этой важной народнохозяйственной задачи сейчас.
Итак, приватизация – в интересах весьма ограниченной группы физических лиц. Народ же, сделавшись «безлошадным», неизбежно перейходит из разряда субъекта управления в категорию его объекта. При этом народ, превратившись в объект управления, перестает быть источником власти, что противоречит Конституции. Это значит, в интересах народа – не приватизация, распродажа и бездарное проедание общенародных активов, а эффективное управление ими.
Интеграция и сотрудничество вместо рыночной «войны всех со всеми»
Пора бы, наконец, проснуться и понять, что рынок, на который нас лукаво призывают возлагать большие надежды, давно умер. Конкурентно-рыночная доктрина постепенно уступила свое место интеграционной парадигме развития. Этот вывод неопровержимо подтверждается, например, практикой лидеров мировой экономики. Несмотря на то, что многие из нас на уровне обыденных представлений глубоко убеждены, что «своя рубашка ближе к телу», выживание и развитие нации возможно лишь при осознании приоритета общенародных интересов над частными запросами. Даже пчелам и муравьям, повторим это еще раз, с их крошечным мозгом ясно, что хозяйствовать лучше все-таки сообща, коллективно.
На национальном уровне «смерть рынка» протекает в форме концентрации капитала в рамках крупных и сверхкрупных корпораций, неумолимо монополизирующих национальные и мировую экономики. Например, в США в период с 1970 по 2005 годы доля малых и средних предприятий в национальном капитале и общей прибыли сократилась до единиц процентов. За тот же период аналогичная доля сверхкрупных компаний с уставным фондом более 10 миллиардов долл. кратно возросла до 80% и более. Это значит, что экономика западных стран уже не конкурентно-рыночная, а монополизированная, централизованно управляемая, планируемая крупным капиталом. Нас же постоянно пытаются вернуть в начало прошлого века, когда господствовали представления о «чудотворных» конкурентных рынках, где множество производителей и продавцов сталкиваются с множеством потребителей и покупателей.
При этом нас систематически зомбируют тем, что, дескать, только малый и средний бизнес, будучи вынужден конкурировать и угождать привередливому потребителю, по-настоящему гибок и склонен к инновациям. И, следовательно, только конкурентный рынок может обеспечить нам обновление и технологический прорыв. Однако именно требование ускоренного обновления и вызвало «смерть рынка». Дело в том, что нынешние исследования и разработки столь дорогостоящие, что затраты на них могут позволить себе только крупные и сверхкрупные компании, а малый и средний бизнес при этом, как говорится, отдыхает. Кроме того, в условиях рыночной конкуренции множество малых и средних фирм вынуждены многократно дублировать эти самые затраты, многократно изобретая, положим, тот же велосипед. Вот это самое нерациональное дублирование затрат на инновации и вызвало отказ на Западе от рыночной конкуренции в пользу концентрации капитала и монополизации экономики в условиях формирования инновационной экономики. Еще сотню лет тому назад, когда речь об инновационной экономике не шла, рынок и конкуренция действительно были эффективны. Сегодня же инновационность и глобальная конкурентоспособность обеспечиваются через концентрацию и интеграцию капитала.
Об «угасании рынка» свидетельствует и тот факт, что согласно исследованиям МВФ с 1870 по 1996 годы доля государственных расходов в ВВП тридцати наиболее развитых стран мира выросла с 10 до 45%. Ведь государство – мощнейший интегрирующий экономику и общество фактор. И усиление его роли – в русле глобальной тенденции отказа от рынка и конкуренции в пользу сотрудничества и интеграции.
На уровне мировой экономики «смерть рынка» подтверждается образованием мощных интеграционных группировок типа G7, ЕС, ОЭСР, НАТО и т.п. Лидеры мировой экономики прекрасно осознают, что проблемы лучше решать не через рыночную «войну всех со всеми», а коллегиально, сообща. При этом вполне логично, что нас лукаво толкают по заведомо ложному пути рыночной дезинтеграции и разобщения. На Западе хорошо представляют себе, что «экономический планктон», представленный нашими малыми и средними и к тому же конкурирующими друг с другом предприятиями, будет идеальной питательной средой для «китов мировой экономики» – западных транснациональных корпораций.
Таким образом, наивная вера в «чудотворность» конкурентных рынков – это еще одна сторона разрухи, царящей в наших головах, ключевой фактор нашей глобальной неконкурентоспособности и добровольного рабства.
К счастью, лидеры постсоветских стран после нашего «развода» в 1991 г. постепенно начали осознавать его губительность. Именно этим объясняется усиление в последнее время интеграционных процессов между нашими странами в рамках Союзного государства, Таможенного союза, Единого экономического пространства (ЕЭП), Евразийского экономического сообщества
(ЕврАзЭС) и, возможно, в будущем Евразийского союза (ЕАС). Белорусский Президент Александр Лукашенко в своей статье в газете «Известия» от 17 октября 2011г. «О судьбах нашей интеграции» так охарактеризовал значимость этого единения: «Надо добиться принципиального поворота лицом к интеграции в рамках всех интеграционных структур – Союзного государства, Таможенного союза, ЕЭП, ЕврАзЭС, СНГ – не на бумаге, а на деле. Сделать такой подход каждодневной практикой взаимодействия. Люди наших стран ждут этого уже сейчас, без промедления… И я как Президент Беларуси буду тесно взаимодействовать с руководством России и Казахстана, чтобы реализовать на практике эту правильную стратегию глубокой интеграции. Интеграция не самоцель. Это инструмент достижения наивысшей цели – роста благосостояния и качества жизни наших людей».
Таким образом, рыночная конкуренция как «война всех со всеми» – в интересах олигархов-людей и олигархов-стран, для которых конкурирующие, враждующие друг с другом народы обречены стать легкой добычей. Интеграция и сотрудничество с теми, с кем мы имеем общие духовные, культурные, исторические корни – в интересах народов бывшего СССР. Потому что либо мы будем вместе, либо нас сомнут!
Банки для страны,
а не страна для банков
Международная система эксплуатации долларом-евро, о чем шла речь выше, требует изменения кредитно-денежной политики. Существуют некоторые ключевые параметры работы кредитно-денежной системы, искажение которых надежно загоняет любую страну в систему эксплуатации мировыми деньгами. В одной из статей мы сравнили эти параметры с «красными флажками», которые будучи сами по себе вполне безобидны, все вместе, однако, загоняют «дичь» прямо на выстрел «охотника» (см. «Коммунист Беларуси. Мы и время». – 3 сентября 2011 г. – №36(767). – С. 4 5). При этом в роли охотников выступают т.н. развитые державы, а в роли дичи – развивающиеся и переходные страны.
В частности, страны бывшего СССР кардинально отличаются от лидеров мировой экономики и становятся в один ряд с Ботсваной, Уругваем, Мозамбиком и т.п. по следующим ключевым характеристикам кредитно-денежной политики. Во-первых, обеспеченность Беларуси, России, Украины и т.д. национальными деньгами в 3-5 раз ниже нормы, определяемой коэффициентом монетизации – отношением денежного агрегата М2 и ВВП – не менее 60%. Искусственно созданный дефицит национальных денег заполняется иностранной валютой и кредитной эмиссией банков, которые, спекулируя на нехватке денег, банально поднимают ссудный процент до заоблачных высот. Поэтому, и это, во-вторых, еще одним «красным флажком» является неподъемный, исчисляемый двузначными числами ссудный процент по банковским кредитам. Многочисленные отечественные предприятия вдоль всей длинной цепочки передела сырья в конечную продукцию, будучи вынуждены в условиях дефицита обычных денег брать кредиты у банков, многократно включают спекулятивный ссудный процент в себестоимость и цену производимых ими товаров. Поэтому заоблачный ссудный процент – главная причина нынешней инфляции в мире и на постсоветском пространстве, в частности. И, наконец, в-третьих, развитые и периферийные страны отличаются друга от друга таким параметром, как обменный курс национальной валюты. Мы уже неоднократно подробно писали о том, что лидеры мировой экономики поддерживают стоимость своих денежных единиц несколько выше справедливого уровня, определяемого паритетом покупательной способности – ППС. А вот периферийные страны, включая все без исключения союзные республики, обменивают свои национальные валюты по курсу в 3-5 раз ниже этого уровня (об этом см., например, «Коммунист Беларуси. Мы и время». – 23 июля 2011 г. – №30(761). – С. 4-5). В результате наши товары на Западе стоят существенно дешевле, а западные у нас – дороже их справедливой стоимости. Этот процесс есть не что иное, как экспорт инфляции, сгенерированной безудержной работой западного печатного станка, из глобального центра на периферию, то есть с Запада в Россию, Украину, Беларусь и т.д.
Не секрет, что перечисленные отклонения организованы в странах бывшего СССР по прямым указаниям Запада через МВФ. Выполнение его требований стало для нас обязательным после подписания «акта о безоговорочной капитуляции в Вискулях». Однако пора бы уже понять и усвоить следующее – 20 лет мы безуспешно боремся с инфляцией по рецептуре МВФ и именно его «дружеские» советы есть главная причина загадочно необоримого роста цен, основа кризисных процессов в экономике. Ведь рецепты МВФ составлены в интересах его хозяев – международной банковской системы, сильных мира сего.
Кроме того, важно понимать, что в условиях навязываемого нам рыночного либерализма национальная кредитно-денежная система очень быстро сделается составной частью того глобального банковского спрута, который с помощь долларовой эксплуатации и «кредитной удавки» закабалил почти весь мир. Однако чаяния народа выше интересов банковской системы. Этого требует статья 3 белорусской Конституции. Поэтому 30 августа 2011 г. белорусский Президент Александр Лукашенко на совещании по вопросам социально-экономического развития строго-настрого предупредил: «Каждый банковский работник должен понимать, что не страна работает, чтобы обеспечить благополучие банковской системы, а банковская система работает на страну».
В связи с этим, думается, что Беларуси настало время инициировать в рамках Единого экономического пространства, а также ЕврАзЭС масштабную международную программу изучения истинных причин инфляции и выработки совместной антиинфляционной, антикризисной политики. Целью этого мероприятия, кроме всего прочего, должно стать устранение перечисленных отклонений параметров кредитно-денежной политики от общепринятых во всем цивилизованном мире норм. Без этого наши страны обречены экспортировать и утилизировать негативные последствия нынешнего и всех грядущих мировых экономических кризисов. Ибо как писал известный английский экономист Джон Кейнс: «Нет более точного и верного способа переворота существующих основ общества, нежели подрыв его денежной системы. Этот процесс пробуждает все разрушительные силы, скрытые в экономических законах, а сама болезнь протекает так, что диагноз не может поставить ни один из многих миллионов человек».
Нет никаких сомнений в том, что ключевым пунктом антикризисной программы должна стать дедолларизация стран бывшего СССР. Ведь сегодня мы при торговле друг с другом используем доллары. Это значит, что прежде чем торговать между собой, мы должны отправить в Штаты и их подельникам товаров и услуг на ту же самую сумму для того, чтобы приобрести необходимые для торговых операций доллары. Это есть не что иное, как наша безвозмездная дань «западной орде». Поэтому важно через дедолларизацию избавиться от указанного нахлебничества. И эта идея уже поставлена на повестку дня белорусским Президентом, который 18 ноября 2011 г. в Москве в своем интервью программе «Вести в субботу» на телеканале «Россия-1» предложил: «Почему, рассчитываясь за энергоносители, сырье и прочее, что мы у вас (у России) покупаем, мы покупаем доллар, потом везем, платим его вам и так далее?.. Давайте в национальных валютах будем торговать, и мы меньше будем использовать американца (доллар) в своих расчетах…».
Однако ядром антикризисной программы все-таки должны стать меры по защите нашего традиционного коллективистского мировоззрения от его подмены западными индивидуалистскими ценностями. Важно остановить насильственное внедрение последних в сознание наших сограждан через СМИ, систему воспитания, науки и образования. Именно здесь осуществляется главная, наглая, замаскированная под распространение «общечеловеческих» ценностей агрессия против нас. Потому как наши недруги хорошо усвоили мысль одного китайского мудреца, который сказал: «Чтобы поработить народ, его необязательно завоевывать огнем и мечом. Достаточно получить возможность воспитывать и учить его детей».
Если мы не защитим наше традиционное мировоззрение и не ликвидируем разруху в наших головах, коварно привнесенную туда жаждущими мирового господства «общечеловеками», то наши дети и внуки, сделавшись холопами на чужом празднике жизни, проклянут нас!

Автор: 
Валерий БАЙНЕВ, профессор БГУ, д.э.н., Вячеслав ВИННИК, второй секретарь Фрунзенского РК КПБ города Минска
Номер газеты: