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

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

Отмена, подмена, подтасовка как метод искажения истины

После контрреволюции августа 1991 года и развала Советского Союза пришедшие к власти современные Геростраты начали отменять все, что составляло гордость советского народа и сущность социалистических ценностей.

Начали с переименования Великой Октябрьской социалистической революции, убрав слова «Великая» и «социалистическая», а вслед за этим отменили и сам праздник (Беларусь - исключение). Праздник Первомая, возникший еще в ХIХ веке как День международной солидарности трудящихся, отменили, а вместо него ввели праздник Труда, не несущий классового оттенка. Отменили социализм, а вместо него стали внедрять капитализм. Общественную собственность заменили частной, которую всячески поддерживают. Отказались от невыгодного им классового подхода к оценке общественных отношений, чтобы скрыть свою истинную сущность защитников интересов класса эксплуататоров. Факты продолжают множиться. Самопровозглашенные власти Украины не признают Великую Отечественную войну, она для них - Вторая мировая война, не хотят считаться с волеизлиянием людей целых регионов, ведут, сопровождающуюся кровопролитием, так называемую антитеррористическую операцию против мирных граждан юго-восточных и южных областей. Одновременно с ног на голову переворачивают факты, обвиняя не истинных виновников преступлений на киевском Майдане и в Доме профсоюзов Одессы, а их жертв. Перечисление можно было продолжать долго. Но это по крупному. А сколько примеров поменьше и кажущихся незначительными?

Поразмышляем над некоторыми из тех, которые появились в последнее время и призваны заложить в сознание граждан искаженное представление о реальности.

Севастополь – город-герой
9 мая в Интернете появилось сообщение: в 1944-м году «войска 4-го Украинского фронта во взаимодействии с Черноморским флотом освободили от фашистов Севастополь. Указом Президиума Верховного Совета СССР от 8 мая 1965 года он удостоен почетного звания «Город-герой». Это ошибочное утверждение. Уже сам заголовок названого Указа опровергает его. Чтобы не было сомнений, приведу дословно заголовок и смысловую часть названного Указа: «О вручении Городу-герою Севастополю ордена Ленина и медали «Золотая Звезда». За выдающиеся заслуги перед Родиной, мужество и героизм, проявленными трудящимися города Севастополя в борьбе с немецко-фашистскими захватчиками и в ознаменование 20-летия победы советского народа в Великой Отечественной войне 1941-1945 гг. вручить городу-герою Севастополю орден Ленина и медаль «Золотая звезда». В тот же день аналогичные Указы были приняты и в отношении остальных городов-героев. Где же видно, что Указ присваивает городу Севастополю почетное наименование город-герой? По смыслу Указа Севастополь к моменту его подписания уже давно был Городом-героем. Равно как Ленинград, Сталинград и Одесса.

Советский народ, наша общественность, средства массовой информации уже в годы войны называли эти четыре города героями. Высокую оценку подвига славных городов целиком разделяли руководящие органы СССР. Это подчеркивает учреждение в Советском Союзе 22 декабря 1942 года медалей «За оборону Ленинграда», «За оборону Одессы», «За оборону Севастополя» и «За оборону Сталинграда». В годы войны эти города назывались городами-героями в печати, по радио, в киножурналах, на плакатах, в том числе даже на миниатюрах, каковыми являются почтовые марки. Передо мной серия из четырех почтовых марок «Города-герои», выпущенная 27 марта 1944 года и из двух марок с надписью «Сталинград-город герой», которая вышла в марте-апреле 1945 года.

Указ Президиума Верховного Совета СССР о присвоении почетного звания первым четырем городам-героям никогда не издавался. Первым нормативным документом, в котором городами-героями названы Ленинград, Сталинград, Одесса, Севастополь, был Приказ Верховного Главнокомандующего Маршала Советского Союза И.В.Сталина от 1 мая 1945 года. В нем требовалось произвести праздничный салют в столицах союзных республик и городах-героях с их перечислением. В последующем в приказах Верховного Главнокомандующего, а после войны в Приказах Министра Обороны СССР(до 1962 года) поименно назывались четыре города-героя. И вот после этого нам пытаются внушить, что Севастополю (как и остальным трем городам) звание города-героя присвоено только в 1965 году.

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

В год 70-й годовщины победы в Сталинградской битве этот вопрос уже возникал относительно времени присвоения звания Город-герой Сталинграду, когда либеральные политиканы пытались доказать, что Городом–героем является не Сталинград, а Волгоград. Патриотическая общественность Минска поднимала вопрос о замене на площади Победы надписи на мемориальной плите с «Город-герой Волгоград» на «Сталинград». И тогда отдельные научные сотрудники Музея истории Великой Отечественной войны доказывали то же самое, что сообщает нам Интернет и, видимо, внесли свой вклад в отсутствие положительного реагирования компетентных органов на предложения патриотической общественности. Готовясь к 70-й годовщине Великой Победы, патриотические силы, несомненно, вновь будут добиваться восстановления исторической справедливости и увековеченья на площади Победы столицы Беларуси героического имени «Сталинград», как это уже сделано в Москве четыре года назад.

«На» или «в Украине»?
С некоторых пор в обиходе многих политиков, ученых, журналистов, средств массовой информации вместо привычного словосочетания «на Украине», «на Украину» появилось «в Украину», «в Украине». Точнее, это возникло вскоре после контрреволюции 1991-1993 годов. Мне, как человеку, родившемуся, росшему, учившемуся на Украине, такая новация ухо режет и кажется надуманной. Говорить «в Украине» - это то же, что сказать в Дальний Восток, в Таймыр, в Чукотку, что нелепо. Могут возразить, что это окраинные территории, как и Украина и потому используется словосочетание с предлогом «на». А как же тогда объяснить привычное «на Рязанщину, на Орловщину, на Тамбовщину», если эти территории отнюдь не являются окраинными? Видимо, здесь мы имеем дело с традицией, сложившейся за многие годы и даже столетия. А ломать устоявшиеся традиции дело недостойное. И так думают многие.

Народный артист Российской Федерации и Украины Владимир Бортко (член ЦК КПРФ) на заседании Государственной Думы России раскритиковал думцев и других любителей новизны в лексике, не считающихся с многолетними традициями. За необоснованный переход к употреблению словосочетания «в Украине» депутат Думы В.Бортко, талантливый режиссер известного кинофильма «Тарас Бульба», обратил внимание депутатов на позицию Т.Г.Шевченко, основоположника украинского литературного языка, который развивался по тем же законам, что и русский. Великий поэт писал:

«Як умру, то поховайтэ мэнэ на могыли
Сэрэд стэпу шырокого, на Вкрайини мылий».

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

Слово Украина происходит от общеславянского «оукраина», что означает окраина. Она всегда была окраиной Руси. Впервые упоминание об Украине помещено в 1187 году в Ипатьевской летописи. И применялся в ней предлог «на». Известный российский лингвист профессор В.В.Лопатин утверждает, что исторически нормативным является употребление «на Украину(е)». Именно форма «на Украине» являлась единственной нормативной до 1992 года.

К сожалению, нашлись умники, которые клюнули на наживку, брошенную националистически и антироссийски настроенными лингвистами Украины. Кстати, еще раньше ее заглотили правители самостийной и суверенной Украины, которые усмотрели в замене «на» на «в» способ поднять престиж и укрепить суверенитет нового государства. В 1993 году Правительство Украины издало постановление, предписывающие признать нормативными для русского языка варианты в Украину. Это, по мнению Правительства страны, «позволило бы разорвать неприемлемую для независимого государства этимологическую связь конструкции «на Украине» и «на окраине», отражающую, с точки зрения патриотически настроенных лингвистов, великодержавное пренебрежение со стороны России и русских… Украина, таким образом, получила бы лингвистическое подтверждение своего статуса независимого государства, а не подчиненного региона (по аналогии с другими наименованиями независимых государств – как то в Германию, в Швецию, в Японию)» (приводится по тексту Постановления Правительства Украины 1993 года). Эти суждения, рожденные оживлением на Украине пещерного национализма, свидетельствуют о вторжении политики в несвойственную им сферу своего влияния - грамматику. С этой точки зрения представляют интерес обобщенные свидетельства ученых лингвистов России, помещенные в Интернете Википедией. Воспроизведем фрагмент: «Согласно правилам русского языка, следует говорить только «на Украине». Суверенность другого государства не может влиять на грамматику».

Отрадно, что выступление В.Бортко в Государственной Думе Российской Федерации, было встречено с пониманием. Уже не один месяц политики, журналисты, средства массовой информации России вернулись к устоявшейся лингвистической форме «на Украине». Часто в выступлениях Президента России В.Путина в последние месяцы речь идет о событиях «на Украине», такое же словосочетание употребляют и другие государственные деятели. А Геннадий Зюганов и ранее был солидарен с В.Бортко.

К сожалению, в Беларуси не считаются с единственной нормативной формой «на Украине» и продолжают потворствовать украинским националистам, твердя о событиях «в Украине».

Сейчас на Украине обстановка очень сложная. Фактически идет гражданская война. Одной из причин трагических событий на Украине является разгул национализма, расползающийся из западных областей и частично из столицы. Свою лепту в это нездоровое зловещее явление внесли «патриотически настроенные лингвисты», а если быть точным ярые националисты, окопавшиеся в филологических институтах Киева и некоторых других городов, прежде всего Западной Украины. (Прискорбно, но для киевских властителей, видимо, патриотизм и национализм одно и то же). Несомненно, эти «патриотически настроенные» внесли свой вклад в формирование тех националистических сил в стране, которые помогли киевской хунте, пролив кровь, захватить власть на Украине. Уму непостижимо, но движущей силой Майдана стали пособники гитлеровцев бандэровцы и «правый сектор», взращенные на фашистской, ультранационалистической идеологии, на антикоммунизме, антисоветизме и русофобии. А все начиналось с потворства национализму, в том числе и безобидной замены «на» на «в», и других мелочей, попустительствующих националистическим проявлениям и сепаратизму.

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

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

Почему же такое несоответствие? Замена названия ленточки - лукавый ход кремлевских сидельцев и верных им средств массовой информации, пытающихся использовать любую возможность, чтобы замолчать реальные факторы, обеспечившие нашу победу и заставить людей забыть советские награды, а одновременно подменить советские ценности на царские. Налицо и стремление приспособить Великую победу советского народа под свои нужды. Сейчас стало модно, как в мировом, так и в региональном масштабе, урвать себе долю почета от разгрома нацистской Германии. США и некоторые страны Западной Европы из кожи вон лезут доказать, что это не Советский Союз, а они сломали хребет фашистской машине. Даже патриарх Кирилл объявил, что к отпору оккупантам Русская православная церковь первой призвала (аким образом? Ведь клирики не имели средств массовой информации) и внесла чуть ли не решающий вклад в победу над врагом. Хотя мы не видели существенную роль этого вклада в 1941-45 годах, кроме внесения церковью некоторых средств в фонд обороны страны. Так и происходят подтасовки и примазывание к чужой славе.

Пусть не обманывает наших читателей и изменение риторики лидеров России на патриотический лад. Они вынуждены считаться с настроениями граждан своей страны, и приспосабливаются к реальностям, дабы удержаться у власти. Но как последовательные сторонники и защитники буржуазно-олигархического режима, были и остаются антисоветчиками и антикоммунистами. В этом убеждаешься, знакомясь с документами КПРФ, выступлениями лидера Компартии России Г.А.Зюганова и материалами, публикуемыми в коммунистической партийной печати.

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

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