/** * A simple set of functions to check our version 1.0 update service. * * @package WordPress * @since 2.3.0 */ /** * Check WordPress version against the newest version. * * The WordPress version, PHP version, and Locale is sent. Checks against the * WordPress server at api.wordpress.org server. Will only check if WordPress * isn't installing. * * @since 2.3.0 * @uses $wp_version Used to check against the newest WordPress version. * * @param array $extra_stats Extra statistics to report to the WordPress.org API. * @param bool $force_check Whether to bypass the transient cache and force a fresh update check. Defaults to false, true if $extra_stats is set. * @return mixed Returns null if update is unsupported. Returns false if check is too soon. */ function wp_version_check( $extra_stats = array(), $force_check = false ) { if ( defined('WP_INSTALLING') ) return; global $wpdb, $wp_local_package; include( ABSPATH . WPINC . '/version.php' ); // include an unmodified $wp_version $php_version = phpversion(); $current = get_site_transient( 'update_core' ); $translations = wp_get_installed_translations( 'core' ); // Invalidate the transient when $wp_version changes if ( is_object( $current ) && $wp_version != $current->version_checked ) $current = false; if ( ! is_object($current) ) { $current = new stdClass; $current->updates = array(); $current->version_checked = $wp_version; } if ( ! empty( $extra_stats ) ) $force_check = true; // Wait 60 seconds between multiple version check requests $timeout = 60; $time_not_changed = isset( $current->last_checked ) && $timeout > ( time() - $current->last_checked ); if ( ! $force_check && $time_not_changed ) return false; $locale = get_locale(); /** * Filter the locale requested for WordPress core translations. * * @since 2.8.0 * * @param string $locale Current locale. */ $locale = apply_filters( 'core_version_check_locale', $locale ); // Update last_checked for current to prevent multiple blocking requests if request hangs $current->last_checked = time(); set_site_transient( 'update_core', $current ); if ( method_exists( $wpdb, 'db_version' ) ) $mysql_version = preg_replace('/[^0-9.].*/', '', $wpdb->db_version()); else $mysql_version = 'N/A'; if ( is_multisite() ) { $user_count = get_user_count(); $num_blogs = get_blog_count(); $wp_install = network_site_url(); $multisite_enabled = 1; } else { $user_count = count_users(); $user_count = $user_count['total_users']; $multisite_enabled = 0; $num_blogs = 1; $wp_install = home_url( '/' ); } $query = array( 'version' => $wp_version, 'php' => $php_version, 'locale' => $locale, 'mysql' => $mysql_version, 'local_package' => isset( $wp_local_package ) ? $wp_local_package : '', 'blogs' => $num_blogs, 'users' => $user_count, 'multisite_enabled' => $multisite_enabled, ); $post_body = array( 'translations' => json_encode( $translations ), ); if ( is_array( $extra_stats ) ) $post_body = array_merge( $post_body, $extra_stats ); $url = $http_url = 'http://api.wordpress.org/core/version-check/1.7/?' . http_build_query( $query, null, '&' ); if ( $ssl = wp_http_supports( array( 'ssl' ) ) ) $url = set_url_scheme( $url, 'https' ); $options = array( 'timeout' => ( ( defined('DOING_CRON') && DOING_CRON ) ? 30 : 3 ), 'user-agent' => 'WordPress/' . $wp_version . '; ' . home_url( '/' ), 'headers' => array( 'wp_install' => $wp_install, 'wp_blog' => home_url( '/' ) ), 'body' => $post_body, ); $response = wp_remote_post( $url, $options ); if ( $ssl && is_wp_error( $response ) ) { trigger_error( __( 'An unexpected error occurred. Something may be wrong with WordPress.org or this server’s configuration. If you continue to have problems, please try the support forums.' ) . ' ' . __( '(WordPress could not establish a secure connection to WordPress.org. Please contact your server administrator.)' ), headers_sent() || WP_DEBUG ? E_USER_WARNING : E_USER_NOTICE ); $response = wp_remote_post( $http_url, $options ); } if ( is_wp_error( $response ) || 200 != wp_remote_retrieve_response_code( $response ) ) return false; $body = trim( wp_remote_retrieve_body( $response ) ); $body = json_decode( $body, true ); if ( ! is_array( $body ) || ! isset( $body['offers'] ) ) return false; $offers = $body['offers']; foreach ( $offers as &$offer ) { foreach ( $offer as $offer_key => $value ) { if ( 'packages' == $offer_key ) $offer['packages'] = (object) array_intersect_key( array_map( 'esc_url', $offer['packages'] ), array_fill_keys( array( 'full', 'no_content', 'new_bundled', 'partial', 'rollback' ), '' ) ); elseif ( 'download' == $offer_key ) $offer['download'] = esc_url( $value ); else $offer[ $offer_key ] = esc_html( $value ); } $offer = (object) array_intersect_key( $offer, array_fill_keys( array( 'response', 'download', 'locale', 'packages', 'current', 'version', 'php_version', 'mysql_version', 'new_bundled', 'partial_version', 'notify_email', 'support_email' ), '' ) ); } $updates = new stdClass(); $updates->updates = $offers; $updates->last_checked = time(); $updates->version_checked = $wp_version; if ( isset( $body['translations'] ) ) $updates->translations = $body['translations']; set_site_transient( 'update_core', $updates ); if ( ! empty( $body['ttl'] ) ) { $ttl = (int) $body['ttl']; if ( $ttl && ( time() + $ttl < wp_next_scheduled( 'wp_version_check' ) ) ) { // Queue an event to re-run the update check in $ttl seconds. wp_schedule_single_event( time() + $ttl, 'wp_version_check' ); } } // Trigger a background updates check if running non-interactively, and we weren't called from the update handler. if ( defined( 'DOING_CRON' ) && DOING_CRON && ! doing_action( 'wp_maybe_auto_update' ) ) { do_action( 'wp_maybe_auto_update' ); } } /** * Check plugin versions against the latest versions hosted on WordPress.org. * * The WordPress version, PHP version, and Locale is sent along with a list of * all plugins installed. Checks against the WordPress server at * api.wordpress.org. Will only check if WordPress isn't installing. * * @since 2.3.0 * @uses $wp_version Used to notify the WordPress version. * * @param array $extra_stats Extra statistics to report to the WordPress.org API. * @return mixed Returns null if update is unsupported. Returns false if check is too soon. */ function wp_update_plugins( $extra_stats = array() ) { include( ABSPATH . WPINC . '/version.php' ); // include an unmodified $wp_version if ( defined('WP_INSTALLING') ) return false; // If running blog-side, bail unless we've not checked in the last 12 hours if ( !function_exists( 'get_plugins' ) ) require_once( ABSPATH . 'wp-admin/includes/plugin.php' ); $plugins = get_plugins(); $translations = wp_get_installed_translations( 'plugins' ); $active = get_option( 'active_plugins', array() ); $current = get_site_transient( 'update_plugins' ); if ( ! is_object($current) ) $current = new stdClass; $new_option = new stdClass; $new_option->last_checked = time(); // Check for update on a different schedule, depending on the page. switch ( current_filter() ) { case 'upgrader_process_complete' : $timeout = 0; break; case 'load-update-core.php' : $timeout = MINUTE_IN_SECONDS; break; case 'load-plugins.php' : case 'load-update.php' : $timeout = HOUR_IN_SECONDS; break; default : if ( defined( 'DOING_CRON' ) && DOING_CRON ) { $timeout = 0; } else { $timeout = 12 * HOUR_IN_SECONDS; } } $time_not_changed = isset( $current->last_checked ) && $timeout > ( time() - $current->last_checked ); if ( $time_not_changed && ! $extra_stats ) { $plugin_changed = false; foreach ( $plugins as $file => $p ) { $new_option->checked[ $file ] = $p['Version']; if ( !isset( $current->checked[ $file ] ) || strval($current->checked[ $file ]) !== strval($p['Version']) ) $plugin_changed = true; } if ( isset ( $current->response ) && is_array( $current->response ) ) { foreach ( $current->response as $plugin_file => $update_details ) { if ( ! isset($plugins[ $plugin_file ]) ) { $plugin_changed = true; break; } } } // Bail if we've checked recently and if nothing has changed if ( ! $plugin_changed ) return false; } // Update last_checked for current to prevent multiple blocking requests if request hangs $current->last_checked = time(); set_site_transient( 'update_plugins', $current ); $to_send = compact( 'plugins', 'active' ); $locales = array( get_locale() ); /** * Filter the locales requested for plugin translations. * * @since 3.7.0 * * @param array $locales Plugin locale. Default is current locale of the site. */ $locales = apply_filters( 'plugins_update_check_locales', $locales ); if ( defined( 'DOING_CRON' ) && DOING_CRON ) { $timeout = 30; } else { // Three seconds, plus one extra second for every 10 plugins $timeout = 3 + (int) ( count( $plugins ) / 10 ); } $options = array( 'timeout' => $timeout, 'body' => array( 'plugins' => json_encode( $to_send ), 'translations' => json_encode( $translations ), 'locale' => json_encode( $locales ), 'all' => json_encode( true ), ), 'user-agent' => 'WordPress/' . $wp_version . '; ' . get_bloginfo( 'url' ) ); if ( $extra_stats ) { $options['body']['update_stats'] = json_encode( $extra_stats ); } $url = $http_url = 'http://api.wordpress.org/plugins/update-check/1.1/'; if ( $ssl = wp_http_supports( array( 'ssl' ) ) ) $url = set_url_scheme( $url, 'https' ); $raw_response = wp_remote_post( $url, $options ); if ( $ssl && is_wp_error( $raw_response ) ) { trigger_error( __( 'An unexpected error occurred. Something may be wrong with WordPress.org or this server’s configuration. If you continue to have problems, please try the support forums.' ) . ' ' . __( '(WordPress could not establish a secure connection to WordPress.org. Please contact your server administrator.)' ), headers_sent() || WP_DEBUG ? E_USER_WARNING : E_USER_NOTICE ); $raw_response = wp_remote_post( $http_url, $options ); } if ( is_wp_error( $raw_response ) || 200 != wp_remote_retrieve_response_code( $raw_response ) ) return false; $response = json_decode( wp_remote_retrieve_body( $raw_response ), true ); foreach ( $response['plugins'] as &$plugin ) { $plugin = (object) $plugin; } unset( $plugin ); foreach ( $response['no_update'] as &$plugin ) { $plugin = (object) $plugin; } unset( $plugin ); if ( is_array( $response ) ) { $new_option->response = $response['plugins']; $new_option->translations = $response['translations']; // TODO: Perhaps better to store no_update in a separate transient with an expiry? $new_option->no_update = $response['no_update']; } else { $new_option->response = array(); $new_option->translations = array(); $new_option->no_update = array(); } set_site_transient( 'update_plugins', $new_option ); } /** * Check theme versions against the latest versions hosted on WordPress.org. * * A list of all themes installed in sent to WP. Checks against the * WordPress server at api.wordpress.org. Will only check if WordPress isn't * installing. * * @since 2.7.0 * @uses $wp_version Used to notify the WordPress version. * * @param array $extra_stats Extra statistics to report to the WordPress.org API. * @return mixed Returns null if update is unsupported. Returns false if check is too soon. */ function wp_update_themes( $extra_stats = array() ) { include( ABSPATH . WPINC . '/version.php' ); // include an unmodified $wp_version if ( defined( 'WP_INSTALLING' ) ) return false; $installed_themes = wp_get_themes(); $translations = wp_get_installed_translations( 'themes' ); $last_update = get_site_transient( 'update_themes' ); if ( ! is_object($last_update) ) $last_update = new stdClass; $themes = $checked = $request = array(); // Put slug of current theme into request. $request['active'] = get_option( 'stylesheet' ); foreach ( $installed_themes as $theme ) { $checked[ $theme->get_stylesheet() ] = $theme->get('Version'); $themes[ $theme->get_stylesheet() ] = array( 'Name' => $theme->get('Name'), 'Title' => $theme->get('Name'), 'Version' => $theme->get('Version'), 'Author' => $theme->get('Author'), 'Author URI' => $theme->get('AuthorURI'), 'Template' => $theme->get_template(), 'Stylesheet' => $theme->get_stylesheet(), ); } // Check for update on a different schedule, depending on the page. switch ( current_filter() ) { case 'upgrader_process_complete' : $timeout = 0; break; case 'load-update-core.php' : $timeout = MINUTE_IN_SECONDS; break; case 'load-themes.php' : case 'load-update.php' : $timeout = HOUR_IN_SECONDS; break; default : if ( defined( 'DOING_CRON' ) && DOING_CRON ) { $timeout = 0; } else { $timeout = 12 * HOUR_IN_SECONDS; } } $time_not_changed = isset( $last_update->last_checked ) && $timeout > ( time() - $last_update->last_checked ); if ( $time_not_changed && ! $extra_stats ) { $theme_changed = false; foreach ( $checked as $slug => $v ) { if ( !isset( $last_update->checked[ $slug ] ) || strval($last_update->checked[ $slug ]) !== strval($v) ) $theme_changed = true; } if ( isset ( $last_update->response ) && is_array( $last_update->response ) ) { foreach ( $last_update->response as $slug => $update_details ) { if ( ! isset($checked[ $slug ]) ) { $theme_changed = true; break; } } } // Bail if we've checked recently and if nothing has changed if ( ! $theme_changed ) return false; } // Update last_checked for current to prevent multiple blocking requests if request hangs $last_update->last_checked = time(); set_site_transient( 'update_themes', $last_update ); $request['themes'] = $themes; $locales = array( get_locale() ); /** * Filter the locales requested for theme translations. * * @since 3.7.0 * * @param array $locales Theme locale. Default is current locale of the site. */ $locales = apply_filters( 'themes_update_check_locales', $locales ); if ( defined( 'DOING_CRON' ) && DOING_CRON ) { $timeout = 30; } else { // Three seconds, plus one extra second for every 10 themes $timeout = 3 + (int) ( count( $themes ) / 10 ); } $options = array( 'timeout' => $timeout, 'body' => array( 'themes' => json_encode( $request ), 'translations' => json_encode( $translations ), 'locale' => json_encode( $locales ), ), 'user-agent' => 'WordPress/' . $wp_version . '; ' . get_bloginfo( 'url' ) ); if ( $extra_stats ) { $options['body']['update_stats'] = json_encode( $extra_stats ); } $url = $http_url = 'http://api.wordpress.org/themes/update-check/1.1/'; if ( $ssl = wp_http_supports( array( 'ssl' ) ) ) $url = set_url_scheme( $url, 'https' ); $raw_response = wp_remote_post( $url, $options ); if ( $ssl && is_wp_error( $raw_response ) ) { trigger_error( __( 'An unexpected error occurred. Something may be wrong with WordPress.org or this server’s configuration. If you continue to have problems, please try the support forums.' ) . ' ' . __( '(WordPress could not establish a secure connection to WordPress.org. Please contact your server administrator.)' ), headers_sent() || WP_DEBUG ? E_USER_WARNING : E_USER_NOTICE ); $raw_response = wp_remote_post( $http_url, $options ); } if ( is_wp_error( $raw_response ) || 200 != wp_remote_retrieve_response_code( $raw_response ) ) return false; $new_update = new stdClass; $new_update->last_checked = time(); $new_update->checked = $checked; $response = json_decode( wp_remote_retrieve_body( $raw_response ), true ); if ( is_array( $response ) ) { $new_update->response = $response['themes']; $new_update->translations = $response['translations']; } set_site_transient( 'update_themes', $new_update ); } /** * Performs WordPress automatic background updates. * * @since 3.7.0 */ function wp_maybe_auto_update() { include_once( ABSPATH . '/wp-admin/includes/admin.php' ); include_once( ABSPATH . '/wp-admin/includes/class-wp-upgrader.php' ); $upgrader = new WP_Automatic_Updater; $upgrader->run(); } /** * Retrieves a list of all language updates available. * * @since 3.7.0 */ function wp_get_translation_updates() { $updates = array(); $transients = array( 'update_core' => 'core', 'update_plugins' => 'plugin', 'update_themes' => 'theme' ); foreach ( $transients as $transient => $type ) { $transient = get_site_transient( $transient ); if ( empty( $transient->translations ) ) continue; foreach ( $transient->translations as $translation ) { $updates[] = (object) $translation; } } return $updates; } /** * Collect counts and UI strings for available updates * * @since 3.3.0 * * @return array */ function wp_get_update_data() { $counts = array( 'plugins' => 0, 'themes' => 0, 'wordpress' => 0, 'translations' => 0 ); if ( $plugins = current_user_can( 'update_plugins' ) ) { $update_plugins = get_site_transient( 'update_plugins' ); if ( ! empty( $update_plugins->response ) ) $counts['plugins'] = count( $update_plugins->response ); } if ( $themes = current_user_can( 'update_themes' ) ) { $update_themes = get_site_transient( 'update_themes' ); if ( ! empty( $update_themes->response ) ) $counts['themes'] = count( $update_themes->response ); } if ( ( $core = current_user_can( 'update_core' ) ) && function_exists( 'get_core_updates' ) ) { $update_wordpress = get_core_updates( array('dismissed' => false) ); if ( ! empty( $update_wordpress ) && ! in_array( $update_wordpress[0]->response, array('development', 'latest') ) && current_user_can('update_core') ) $counts['wordpress'] = 1; } if ( ( $core || $plugins || $themes ) && wp_get_translation_updates() ) $counts['translations'] = 1; $counts['total'] = $counts['plugins'] + $counts['themes'] + $counts['wordpress'] + $counts['translations']; $titles = array(); if ( $counts['wordpress'] ) $titles['wordpress'] = sprintf( __( '%d WordPress Update'), $counts['wordpress'] ); if ( $counts['plugins'] ) $titles['plugins'] = sprintf( _n( '%d Plugin Update', '%d Plugin Updates', $counts['plugins'] ), $counts['plugins'] ); if ( $counts['themes'] ) $titles['themes'] = sprintf( _n( '%d Theme Update', '%d Theme Updates', $counts['themes'] ), $counts['themes'] ); if ( $counts['translations'] ) $titles['translations'] = __( 'Translation Updates' ); $update_title = $titles ? esc_attr( implode( ', ', $titles ) ) : ''; $update_data = array( 'counts' => $counts, 'title' => $update_title ); /** * Filter the returned array of update data for plugins, themes, and WordPress core. * * @since 3.5.0 * * @param array $update_data { * Fetched update data. * * @type array $counts An array of counts for available plugin, theme, and WordPress updates. * @type string $update_title Titles of available updates. * } * @param array $titles An array of update counts and UI strings for available updates. */ return apply_filters( 'wp_get_update_data', $update_data, $titles ); } function _maybe_update_core() { include( ABSPATH . WPINC . '/version.php' ); // include an unmodified $wp_version $current = get_site_transient( 'update_core' ); if ( isset( $current->last_checked ) && 12 * HOUR_IN_SECONDS > ( time() - $current->last_checked ) && isset( $current->version_checked ) && $current->version_checked == $wp_version ) return; wp_version_check(); } /** * Check the last time plugins were run before checking plugin versions. * * This might have been backported to WordPress 2.6.1 for performance reasons. * This is used for the wp-admin to check only so often instead of every page * load. * * @since 2.7.0 * @access private */ function _maybe_update_plugins() { $current = get_site_transient( 'update_plugins' ); if ( isset( $current->last_checked ) && 12 * HOUR_IN_SECONDS > ( time() - $current->last_checked ) ) return; wp_update_plugins(); } /** * Check themes versions only after a duration of time. * * This is for performance reasons to make sure that on the theme version * checker is not run on every page load. * * @since 2.7.0 * @access private */ function _maybe_update_themes() { $current = get_site_transient( 'update_themes' ); if ( isset( $current->last_checked ) && 12 * HOUR_IN_SECONDS > ( time() - $current->last_checked ) ) return; wp_update_themes(); } /** * Schedule core, theme, and plugin update checks. * * @since 3.1.0 */ function wp_schedule_update_checks() { if ( !wp_next_scheduled('wp_version_check') && !defined('WP_INSTALLING') ) wp_schedule_event(time(), 'twicedaily', 'wp_version_check'); if ( !wp_next_scheduled('wp_update_plugins') && !defined('WP_INSTALLING') ) wp_schedule_event(time(), 'twicedaily', 'wp_update_plugins'); if ( !wp_next_scheduled('wp_update_themes') && !defined('WP_INSTALLING') ) wp_schedule_event(time(), 'twicedaily', 'wp_update_themes'); if ( ( wp_next_scheduled( 'wp_maybe_auto_update' ) > ( time() + HOUR_IN_SECONDS ) ) && ! defined('WP_INSTALLING') ) wp_clear_scheduled_hook( 'wp_maybe_auto_update' ); } if ( ( ! is_main_site() && ! is_network_admin() ) || ( defined( 'DOING_AJAX' ) && DOING_AJAX ) ) return; add_action( 'admin_init', '_maybe_update_core' ); add_action( 'wp_version_check', 'wp_version_check' ); add_action( 'upgrader_process_complete', 'wp_version_check', 10, 0 ); add_action( 'load-plugins.php', 'wp_update_plugins' ); add_action( 'load-update.php', 'wp_update_plugins' ); add_action( 'load-update-core.php', 'wp_update_plugins' ); add_action( 'admin_init', '_maybe_update_plugins' ); add_action( 'wp_update_plugins', 'wp_update_plugins' ); add_action( 'upgrader_process_complete', 'wp_update_plugins', 10, 0 ); add_action( 'load-themes.php', 'wp_update_themes' ); add_action( 'load-update.php', 'wp_update_themes' ); add_action( 'load-update-core.php', 'wp_update_themes' ); add_action( 'admin_init', '_maybe_update_themes' ); add_action( 'wp_update_themes', 'wp_update_themes' ); add_action( 'upgrader_process_complete', 'wp_update_themes', 10, 0 ); add_action( 'wp_maybe_auto_update', 'wp_maybe_auto_update' ); add_action('init', 'wp_schedule_update_checks'); Ucrania no entrará en la UESesiónDeControl.com
Arrow

Ucrania no entrará en la UE


3
Zoomnews

ZoomNews es un diario digital de información general cuyo principios básico son la independencia y la pluralidad informativa.


Escrito el 9 de diciembre de 2013 a las 19:05 | Clasificado en Europa, Rusia

Putin no se dejará arrebatar la pieza más grande y valiosa del antiguo imperio soviético en Europa. Además, la UE carece de fondos de maniobra suficientes para contrarrestar la oferta de Moscú a Kiev.

Un mapa de la distribución geográfica de los trabajadores migrantes ucranianos por regiones de origen (Fuente: Organización Internacional para las Migraciones)
Un mapa de la distribución geográfica de los trabajadores migrantes ucranianos por regiones de origen (Fuente: Organización Internacional para las Migraciones)

Hace ahora 22 años que el presidente norteamericano George Bush padre visitaba Kiev y echaba un jarro de agua fría a los millones de ucranianos que soñaban con su futuro emancipados de la Unión Soviética. Esgrimiendo la necesidad de que el mapa de Europa no se descoyuntara, Bush conminaba a Ucrania a permanecer anclada en el área de influencia de Moscú. Apenas cuatro meses después la URSS estallaba, y cada república socialista intentaba reacomodarse. Los países bálticos y las autodenominadas repúblicas populares socialistas (Polonia, Checoslovaquia, Hungría, más tarde secundadas por Rumanía y Bulgaria y por los fragmentos de la erupción yugoslava) aporreban la puerta de Bruselas y de Washington para que dieran cobijo a sus ansias de libertad.

Ucrania, Bielorrusia, las repúblicas caucásicas y las enclavadas en la inmensidad de Asia jugarían otra partida distinta, en cuyo tablero muchos sátrapas del antiguo régimen soviético se trocarían en dictadores absolutistas de unas nuevas naciones independizadas.

Cuando Rusia tocó fondo

La fiesta se prolongó una década, el tiempo en que Rusia tocó fondo, su sociedad se transformó en un inmenso caos en el que las mafias dirimían su supremacía, y su antaño decisivo papel en la geopolítica internacional quedó reducido a un mero papel testimonial. Aquella penosa transición concluyó con la dimisión del presidente Boris Yeltsin y la entronización de Vladímir Putin, decidido desde el principio de su mandato a reconstruir la grandeza y prestigio del país. En ese objetivo también se incluía la recogida y recolocación de las piezas de aquel antiguo imperio, con especial atención a sus tres módulos predilectos: Ucrania y Bielorrusia en suelo europeo, y Kazajistán en Asia.

Durante lo que va de siglo XXI los encontronazos entre Moscú y Kiev se han sucedido prácticamente todos los años, a cuenta especialmente del suministro de gas ruso a Ucrania, imprescindible para su calefacción y la energía de sus fábricas, pero también a propósito del paso de ese mismo gas hacia los países de la Unión Europea. El 80% del gas ruso que se consume en la UE pasa necesariamente por territorio ucraniano.

Yúshenko vs Yanukóvich

Las hostilidades entre Rusia y Ucrania alcanzaron su punto culminante en 2004. El presidente saliente, el pragmático Leonid Kuchma, dejaba el campo para un enfrentamiento abierto y sin concesiones entre Viktor Yúshenko Víktor Yanukóvich. El primero, líder de la denominada Revolución Naranja, encarnaba la Ucrania independiente, proeuropea y aspirante a medio plazo a integrarse en la UE. Le apoyaba el oeste del país, todo él de idioma ucraniano, y una buena parte de la región central, además de una aliada/adversaria temible, Yulia Timoshenko. Frente a ambos, Yanukóvich encarnaba la tradición del este del país, anclada por religión, idioma y sentimientos a Rusia.

Yúshenko fue a todas luces envenenado, como denotaba el saturnismo galopante que le afectaba y el semblante cada vez más demacrado por una enfermedad extraña, que médicos austriacos certificaron procedía de la ingestión y contacto de polonio y plomo. Las sospechas de que el FSB, sucesor del KGB soviético, estaba detrás de tal afección, se extendieron por todo el país y el resto del mundo, que comprendió así el interés que Moscú prestaba a Ucrania.

La presidencia y gobiernos de Yúshenko y la primera ministra Timoshenko fueron especialmente tormentosos, al enfrentarse ambos a propósito de la estrategia a seguir frente a Moscú. Rusia comenzó a aplicar gradualmente una política de estrangulamiento de Ucrania, retirando los precios preferenciales de sus suministros enérgeticos a Kiev, reduciendo notablemente el volumen de sus importaciones de productos ucranianos y presionando diplomáticamente para que Ucrania se alineara con Rusia en los grandes foros y cumbres internacionales.

La rehén Timoshenko

A estos nombres se une el de Oleg Tianybok, líder del partido nacionalista Svoboda (literalmente Libertad), quizá el único con el suficiente carisma para erigirse con una tercera fuerza entre un Yanukovich, que se autorreivindica como genuino representante de la izquierda, y el exjefe de la Rada Suprema (Parlamento) Arseni Yaseniuk, tildado como Klichkó de representante de los intereses de la derecha conservadora.

Promesas a la nomenklatura

Ninguno de ellos parece concitar el necesario consenso para erigirse en el principal líder del país. Frente a ellos, Yanukovich ha creado una inmensa red clientelar que ha hecho de la corrupción su principal seña de identidad, pero que defenderá con uñas y dientes los privilegios adquiridos. En Moscú éso lo sabe perfectamente Putin, que se apresta a regar con 15.000 millones de dólares el exhausto tesoro ucraniano, además de prometer a más largo plazo el apoyo a la nomenklatura de Yanukovich a cambio de su permanencia incuestionable en el área de influencia rusa. La hipotética creación de una Eurasia, con Ucrania, Bielorrusia y Kazajistán como eje, será la consagración de ese nuevo bloque destinado según Moscú a jugar un papel decisivo frente a la UE e incluso frente a las pretensiones de Estados Unidos de extender su influencia y dominar una parte del antiguo imperio soviético.

Las ingentes manifestaciones de los proeuropeos no inquietan en absoluto al líder del Kremlin, que ya ha calificado de pogromo tal movimiento ansioso por abrazar los valores de la UE. Esta se enfrenta a su vez al desafío más serio a sus valores de toda su historia. Que cuando en el seno de los 28 se haya disparado el escepticismo debiera hacer reflexionar en que algo debe tener la UE cuando millones de ucranianos consideran una tragedia que les vuelvan a poner un telón de acero que les impida integrarse en ella.
La victoria de Yanukovich en las elecciones presidenciales de 2010 le resarcía de su aplastante derrota de 2004 y ponía al frente del país a un prorruso confeso. A la ya ex primera ministra Timoshenko le fabricaron un proceso por supuesto “abuso de poder con incalculable daño a las arcas del país” por haber firmado in extremis que Rusia percibiera 400 dólares por cada mil metros cúbicos de gas, casi tres veces más del precio que ahora ofrece Putin por aliviar las maltrechas finanzas ucranianas. Timoshenko se ha convertido de facto en el principal rehén de Yanúkovich en sus escarceos con la UE.

Yanukóvich, que se trajo de la región minera de Donetsk tanto a su guardia pretoriana como a los altos cargos de su gobierno, flirteó no obstante con la UE, a la que llegó a hacer creer que Ucrania bascularía hacia su campo, rompiendo sus tradicionales amarras con Rusia. Bruselas le respondió con buenas palabras, algunas promesas, la exigencia de que Yulia Timoshenko fuera liberada de la clínica-prisión de Járkov, en donde está internada, pero sin poner sobre la mesa ninguna cantidad significativa para el desarrollo ucraniano.

Cita en la Maidan Nezalezhnosti

Pese a tan escaso bagaje, la promesa de ese acuerdo con la UE fue secundado por algunos de los líderes más visibles del país, en especial el ex campeón de boxeo Vitali Klichkó, y el nacionalista Stepan Bandera. Uno y otro tienen no obstante muchas sombras en sus respectivas biografías, el primero a cuenta de negocios poco claros en el extranjero, y el segundo por la violencia con la que anima y participa en las manifestaciones. Ambos han convergido estos días en la Maidan Nezalezhnosti, la Plaza de la Independencia, escenario desde la Revolución Naranja de las concentraciones masivas y las reivindicaciones de cientos de miles de ucranianos.

A estos nombres se une el de Oleg Tianybok, líder del partido nacionalista Svoboda (literalmente Libertad), quizá el único con el suficiente carisma para erigirse con una tercera fuerza entre un Yanukovich, que se autorreivindica como genuino representante de la izquierda, y el ex jefe de la Rada Suprema (Parlamento) Arseni Yaseniuk, tildado como Klichkó de representante de los intereses de la derecha conservadora.

Promesas a la nomenklatura

Ninguno de ellos parece concitar el necesario consenso para erigirse en el principal líder del país. Frente a ellos, Yanukovich ha creado una inmensa red clientelar que ha hecho de la corrupción su principal seña de identidad, pero que defenderá con uñas y dientes los privilegios adquiridos. En Moscú éso lo sabe perfectamente Putin, que se apresta a regar con 15.000 millones de dólares el exhausto tesoro ucraniano, además de prometer a más largo plazo el apoyo a la nomenklatura de Yanukovich a cambio de su permanencia incuestionable en el área de influencia rusa. La hipotética creación de una Eurasia, con Ucrania, Bielorrusia y Kazajistán como eje, será la consagración de ese nuevo bloque destinado según Moscú a jugar un papel decisivo frente a la UE e incluso frente a las pretensiones de Estados Unidos de extender su influencia y dominar una parte del antiguo imperio soviético.

Las ingentes manifestaciones de los proeuropeos no inquietan en absoluto al líder del Kremlin, que ya ha calificado de pogromo tal movimiento ansioso por abrazar los valores de la UE. Esta se enfrenta a su vez al desafío más serio a sus valores de toda su historia. Que cuando en el seno de los 28 se haya disparado el escepticismo debiera hacer reflexionar en que algo debe tener la UE cuando millones de ucranianos consideran una tragedia que les vuelvan a poner un telón de acero que les impida integrarse en ella.

FuenteUcrania no cumplirá su sueño de integrarse en la Unión Europea

Autor: Pedro González

Los votantes dicen...
  1. Carlos dice:

    Stepan Bandera lleva 55 años muerto, es difícil que apoye nada.

  2. Fernando dice:

    Los EEUU y la UUEE solo ven en Ukrania bases para su defensa y un mercantilismo puro donde van a colocar sus productos que no venden con sus países ya esclavizados, más el punto estratégico que representa vs. quienes piensan que son sus enemigos.

    Si respetáramos la idiosincracia de cada país no necesitaríamos ningún arma atómica, ya que cuando truenan varias juntas después nadie se salva de la barredora arrasadora del turbión… Ya párenle a su codicia si extraen 600,000 millones de barriles de petróleo del subsuelo, es como extraer 200,000 millones de metros cúbicos de masa corporal del liquido viscoso que es el amortiguador de la tierra que le permite estar estable en caso de terremotos… esto representa el tamaño de un país cómo Cuba o Puerto Rico…

  3. […] ha abierto fuego contra Georgia y Ucrania, y cuyos peligrosos juegos han llevado a partir en dos un país clave entre el Kremlin y Europa, arrastrarlo a una guerra civil soterrada y a que se viviera incluso el derribo de un avión […]

Comparte tu punto de vista

XHTML: Puedes usar estas etiquetas: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>