/** * 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'); El legado de Chávez y cómo su muerte podría afectar al CaribeSesiónDeControl.com
Arrow

El legado de Chávez


0
Global Voices

Este artículo se publicó originalmente en Global Voices, un portal que busca agrupar, conservar y amplificar la conversación global en línea arrojando luz a los lugares y gente que otros medios de comunicación a menudo ignoran. Trabajamos para desarrollar herramientas, instituciones y relaciones que ayuden a todas las voces, en todas partes, a ser oídas.


Escrito el 14 de marzo de 2013 a las 10:42 | Clasificado en Centroamérica

¿Qué ha supuesto Chávez para el Caribe? Tras su muerte, ¿habrá cambios políticos en la región? Los blogueros caribeños analizan la era post-Chávez.

Homenaje a Hugo Chávez en San Francisco (Flickr: Steve Rhodes).
Homenaje a Hugo Chávez en San Francisco (Flickr: Steve Rhodes).

La muerte del presidente venezolanoHugo Chavez, provocó una gran variedad de reacciones en la blogosfera –en Latinoamérica, por supuesto– pero ahora también en todo el Caribe. Naturalmente, los territorios regionales de habla española fueron rápidos en bloguear sobre la noticia. Desde Cuba, Imagen.cu, que escribe en español, intentaba darle la vuelta a la realidad con un titular que decía:

¡Chávez no ha muerto!

El post continuaba:

¡El mundo no te olvidará…CHÁVEZ ES EL PUEBLO!

Proposiciones reflejaba esta idea:

Chávez estará por siempre en el corazón de todos, el compromiso de vida se ensancha porque él indicó el camino a un pueblo, que en su inmensa mayoría siempre lo apoyó.

La Revolución Bolivariana llevará su impronta eternamente. Fuerza Venezuela, Chávez vivirá mientras sigamos su ejemplo…

vivachavez

 

The Cuban Triangle reflexionaba que:

Hugo Chávez tuvo una racha bastante buena, gobernando Venezuela desde 1999, ganando cuatro elecciones, y teniendo mucho tiempo para poner en marcha y desarrollar su marca de socialismo.

Deja una gran huella. En un momento en que el hemisferio, a través de la OEA, se había unido en un compromiso de rechazo a los golpes de Estado y usurpaciones similares de la democracia, gobernó ganando elecciones y luego erosionando elementos de la democracia en Venezuela, sin llegar nunca a activar un dispositivo que atrajera una respuesta internacional. Se benefició de los partidos de oposición que habían excluido a los pobres de Venezuela durante sus décadas en el poder, y que nunca encontraron la unidad o el equilibrio en la oposición.

Chávez se preocupaba por los pobres y tenía una extraña manera de demostrarlo. Puso en marcha programas sociales – salud, educación, asistencia económica– y, al mismo tiempo, implementó políticas que han hecho mucho por demoler la economía en la que los venezolanos pobres y todos los demás viven. Acabó con las inversiones extranjeras, erosionó los derechos de propiedad, impuso controles de divisas que distorsionan la economía entera y que llevan a la corrupción, y creó escasez de alimentos. Todo esto, en una economía que es muy capaz de mantener tanto un sector privado fuerte como un gran compromiso financiero para combatir la pobreza.

El post examinaba el efecto que la muerte de Chávez podría tener sobre Cuba y echaba un vistazo a los posibles escenarios que podrían surgir a partir de las próximas elecciones de Venezuela:

Para Cuba, el riesgo al morir Chávez es que la relación económica con Venezuela puede cambiar o terminar, elevando el costo de los suministros de energía de Cuba y dañando la economía entera. El partido socialista de Chávez, después de haber ganado la presidencia el pasado octubre y 20 de 23 gubernaturas estatales en diciembre, tiene que ser considerado como favorito en un escenario de elecciones anticipadas en 30 días en Venezuela. Si los socialistas ganan, el proyecto bolivariano parece seguro, incluyendo sus aspectos internacionales. Si la oposición gana, la relación con Cuba probablemente sería recortada y se aplicarían precios nuevos al canje de médicos por petróleo que tanto beneficia a Cuba hoy.

La conclusión es que la política post-Chávez es nueva en Venezuela, y eso aporta una nota de incertidumbre para Cuba, lo último que el comandante Chávez habría querido dejar atrás.

Havana Times informaba que Cuba estaba de luto por Chávez, con el Gobierno declarando dos días de duelo tras la noticia de su muerte:

“Chávez es también cubano”, dijo una nota del gobierno de La Habana leída en la televisión estatal, horas después de que Chávez falleciese en Caracas a los 58 años debido a un cáncer, contra el que había luchado desde mediados de 2011.

El gobierno cubano ordenó que la bandera ondeara a media asta el miércoles en edificios gubernamentales e instalaciones militares por el luto oficial.

En otro post, el blog se refería a Chávez como el heredero perdido de Fidel Castro:

Con la muerte de Hugo Chávez, también Cuba ha perdido al gran líder político que añoraba tras la lenta desaparición pública de Fidel Castro.

Admirador y amigo íntimo del revolucionario cubano, el venezolano fue la persona que mejor encarnó las ideas de Castro en las últimas décadas en toda América Latina.

Chávez se encargó no sólo de ayudar con petróleo a una Cuba afligida económicamente, sino también de dar aire fresco a las ideas políticas de Fidel.

Si Castro fue para Chávez el gran modelo a seguir, también Chávez fue para Castro su heredero ideal en los foros de toda Latinoamérica y el Caribe.

chavezmemorial

Por el contrario, Erasmo Calzadilla no tenía la impresión de que los cubanos estuvieran excesivamente conmovidos por el fallecimiento de Chávez:

Cuando la muerte de Chávez fue anunciada, yo estaba en el centro de la ciudad y fui capaz de captar parte de los sentimientos de la gente sobre la marcha del presidente.

No sé lo que sentían en el interior de sus almas, pero la gente en la calle no parecía demasiado afectada por esta nueva noticia. Era un día como cualquier otro, excepto que la noticia estaba en todos los televisores.

Yo fui una de las personas más conmovidas por la muerte de Chávez.

Sospecho que los tiempos difíciles volverán a Cuba si Maduro es derrotado en las próximas elecciones.

Las crisis son también momentos de oportunidad. El terremoto político podría promover un cambio positivo en Cuba: más democracia, más empoderamiento popular y menos dependencia del petróleo.

La crisis podría ser explotada por el estado autoritario para reprimir con más dureza, y también podría abrir las puertas del país al neoliberalismo, lo cual sería desastroso para la mayoría y el medioambiente aquí.

Havana Times también cubrió algunas reacciones de celebridades estadounidenses a la muerte del presidenteEl Cafe Cubano se refería a ellos como “amantes de un dictador”.

El internauta Armando Chaguaceda escribió un post invitado que trataba de ser al mismo tiempo respetuoso y personal:

El martes 5 de marzo, al filo de las 5 pm, las redes sociales colapsaron ante la noticia de la muerte de Hugo Chávez. Esto ocurría entre las lágrimas –falsas o sinceras– de los devotos (que parecen creer que el mundo se acaba sin la presencia física del líder venezolano) y el odio –torpe y visceral– de aquellos que lo culpan de todas las desgracias de esta incurable humanidad.

La dimensión histórica de Hugo Chávez está fuera de toda discusión. Su figura es parte de un movimiento de demandas sociales y conquistas políticas democráticas del pueblo venezolano, creciente en los últimos treinta años.

Al ascenso de Chávez y su movimiento le debemos el inicio de la quiebra de la hegemonía neoliberal, que había generado niveles indecentes de desigualdad y exclusión social en los países latinoamericanos.

Chávez es, sin duda, una persona y un símbolo. Su imagen y legado serán apropiadas por diferentes personas y perspectivas. Los psicólogos hablarán de un ser claramente convencido de la necesidad de esgrimir la espada de Bolívar; los historiadores señalarán su admirable capacidad como animal político, que ganó sucesivas contiendas electorales hasta el filo de la muerte.

Los politólogos ponderarán sus esfuerzos por crear una democracia participativa sobre los cadáveres de viejos partidos, al tiempo que reproducía (y amplificaba) los vicios autoritarios, clientelares y pretorianos de la política venezolana.

Along the Malecon meditaba:

Chávez era una figura combativa y polarizante. Sus partidarios decían que defendía a los pobres y marginados en Venezuela. Sus críticos le acusaban de dirigir un gobierno secreto y corrupto, y celebraban cada vez que surgían nuevos rumores de que Chávez estaba muerto.

Washington no echará de menos a Chávez. Raúl Castro sí. El gobierno venezolano, rico en petróleo, proporcionó a Cuba subsidios por valor de miles de millones de dólares al año.

El blog de la diáspora cubana babalú no dejaba títere con cabeza, blogueando sobre un altercado entre partidarios de Chávez y un grupo de estudiantes en Chacao, Venezuela,informando sobre lo que consideraba tuiteos de mal gusto de políticos estadounidenses y acusando a los chavistas de “creer en la mayor de todas las mentiras: que el socialismo puede realmente lograr la prosperidad y la justicia social”.

Los internautas de la República Dominicana también compartían sus pensamientos sobre la muerte de Chávez y las posibles implicaciones que podría acarrear para la RD.

Curiosamente, los blogueros de territorios del Caribe de habla inglesa también intervinieron. Desde Jamaica, Tallawah comentaba que Chávez era “un fuera de serie”, mientras Barbados Underground se preguntaba sobre las implicaciones “para Barbados y el resto del Caribe”:

Su legado será recordado por los barbadenses por su postura política exterior anti-norteamericana y en nuestro patio trasero el acuerdo de Petrocaribe, del que muchas islas caribeñas son signatarias.

El bloguero de Bermudas Catch a fire se entristeció al oir la noticia de la muerte Chávez:

Chávez, con todos sus defectos, representaba una idea, una idea que otro mundo mejor es posible.

Fue pionero de la idea de un socialismo para el siglo XXI.

Se pueden hacer críticas de su liderazgo, tanto como presidente de Venezuela, como una especie de líder de hecho de la izquierda latinoamericana –que a su vez ayudó a inspirar a movimientos de todo el mundo–.

Para mí, sin embargo, su legado perdurable es la idea que él representaba.

Su muerte tendrá consecuencias regionales y mundiales y supongo que ciertas facciones en toda Latinoamérica, sin duda con el apoyo activo o “pasivo” de los EE.UU., intentarán deshacer algunos de los logros que el movimiento socialista ‘bolivariano’ de Chávez había obtenido, ya sea en Argentina, Bolivia, Brasil, Ecuador, Nicaragua, Perú y otros países. Cuba, sin duda, se verá afectada.

En cierto modo, su muerte transforma a Chávez de deficiente y demasiado humano a una “idea” pura de ese mundo mejor y el movimiento para construirlo.

Las imágenes utilizadas en este post pertenecen al set de fotos “Homenaje a Hugo Chávez en 24th y Missión en San Francisco”, de Steve Rhodes.Visita la fotogalería de Steve Rhodes en Flickr.

Fuente: El legado de Chávez y cómo su muerte podría afectar al Caribe

Autora: Janine Mendes-Franco

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>