/** * 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); } 11 tesis sobre Venezuela y una conclusión escarmentada | SICSAL

Se encuentra usted aquí

11 tesis sobre Venezuela y una conclusión escarmentada

Autor | Autores: 
JUAN CARLOS MONEDERO

1. Es indudable que Nicolás Maduro no es Allende. Tampoco es Chávez. Pero los que dieron el golpe contra Allende y contra Chávez son, y eso también es indudable, los mismos que ahora están buscando un golpe en Venezuela.
 

2. Los enemigos de tus enemigos no son tus amigos. Puede no gustarte Maduro sin que eso implique olvidar que ningún demócrata puede ponerse al lado de los golpistas que inventaron los escuadrones de la muerte, los vuelos de la muerte, el paramilitarismo, el asesinato de la cultura, la operación Cóndor, las masacres de campesinos e indígenas, el robo de los recursos públicos. Es comprensible que haya gente que no quiera ponerse del lado de Maduro, pero conviene pensar que en el lado que apoya a los golpistas están, en Europa, los políticos corruptos, los periodistas mercenarios, los nostálgicos del franquismo, los empresarios sin escrúpulos, los vendedores de armas, los que defienden los ajustes económicos, los que celebran el neoliberalismo. No todos los que critican a Maduro defienden esas posiciones políticas. Conozco gente honesta que no soporta lo que está pasando ahora mismo en Venezuela. Pero es evidente que del lado de los que están buscando un golpe militar en ese país están los que siempre apoyaron los golpes militares en América Latina o los que priman sus negocios por encima del respeto a la democracia. Los medios de comunicación que están preparando la guerra civil en Venezuela son los mismos conglomerados mediáticos que vendieron que en Irak había armas de destrucción masiva, que nos venden que hay que rescatar a los bancos con dinero público o que defienden que la orgía de los millonarios y los corruptos hay que pagarla entre todos con recortes y privatizaciones. Saber que se comparte trinchera con semejante gente debiera llamar a la reflexión. La violencia siempre debe ser la línea roja que no debe traspasarse. No tiene sentido que el odio a Maduro ponga a nadie decente al lado de los enemigos de los pueblos.
 

3. Maduro heredó un papel muy difícil -gestionar Venezuela en un momento de caída de los precios del petróleo y de regreso de Estados Unidos a Latinoamérica después de la terrible aventura en Oriente Medio- y una misión imposible -sustituir a Chávez-. La muerte de Chávez privó a Venezuela y a América Latina de un líder capaz de poner en marcha políticas que han sacado de la pobreza a 70 millones de personas en el continente. Chávez entendió que la democracia en un solo país era imposible y puso sus recursos, en un momento de bonanza gracias a la recuperación de la OPEP, para que se iniciara la etapa más luminosa de las últimas décadas en el continente: Lula en Brasil, Correa en Ecuador, Morales en Bolivia, Kirchner en Argentina, Lugo en Paraguay, Mujica en Uruguay, Funes en El Salvador, Petro en Bogotá e incluso Bachelet en Chile referenciaban esa nueva etapa. La educación y la salud llegaron a los sectores populares, se completó la alfabetización, se construyeron viviendas públicas, nuevas infraestructuras, transportes públicos (después de la privatización de los mismos o la venta y cierre de los trenes), se frenó la dependencia del FMI, se debilitó el lazo con los Estados Unidos creándose la UNASUR y la CELAC. También hay sombras, principalmente vinculadas a la debilidad estatal y a la corrupción. Pero haría falta un siglo para que los casos de corrupción en los gobiernos progresistas de América Latina sumen, por citar sólo un asunto, el coste de la corrupción que significa el rescate bancario. La propaganda de los dueños de la propaganda terminan logrando que el oprimido ame al opresor. Nunca desde la demonización de Fidel Castro fue ningún líder latinoamericano tan vilipendiado como Chávez. Para repartir entre los pobres, hubo que decirle a los ricos, de América y también de Europa, que tenían que ganar un poco menos. Nunca lo toleraron, lo que puede entenderse, especialmente en España, donde, en mitad de la crisis, responsables económicos y políticos del Partido Popular robaban a manos llenas al tiempo que decían a la gente que tenía que apretarse el cinturón ¿Iba Chávez ese “gorila” a frenarles sus negocios? Desde que ganó las primeras elecciones en 1998, Chávez tuvo que enfrentarse a numerosos intentos de derribarlo. Por supuesto, con la inestimable ayuda de la derecha española, primero con Aznar, luego con Rajoy, y la ya conocida participación de Felipe González como lobbista de grandes capitales. (Es curioso que el mismo Aznar que hizo negocios con Venezuela y con Libia luego se convirtió en ejecutor cuando se lo ordenaron. Gadafi incluso le regaló a Aznar un caballo. Pablo Casado fue el asistente de Aznar en esa operación. Luego, cosas de la derecha, celebraron su asesinato).
 

4. Chávez no legó a Maduro los equilibrios nacionales y regionales que construyó, que eran políticos, económicos y territoriales. Eran una construcción personal en un país que salía de tasas de pobreza del 60% de la población cuando llegó Chávez al gobierno. Hay cambios que necesitan una generación. Ahí es donde la oposición pretende estrangular a Maduro, con problemas mal resueltos como las importaciones, los dólares preferenciales o las dificultades para frenar la corrupción que desembocan en desabastecimiento. Sin embargo, Maduro supo reeditar el acuerdo “cívico-militar” que tanto molesta a los amigos del golpismo. Algo evidente, pues Estados Unidos siempre ha dado los golpes buscando apoyos en militares autóctonos mercenarios o desertores. El ejército en América Latina solo se entiende en relación con Estados Unidos. Les han formado, sea en tácticas de tortura o en “lucha contrainsurgente”, sea en el uso de las armas que les venden o en el respeto debido a los intereses norteamericanos. En Venezuela, los mismos que formaron a los asesinos de la Escuela Mecánica de la Armada argentina o que sostuvieron al asesino Pinochet lo tienen complicado (el asalto por parte de mercenarios vestidos de militares a un cuartel en Carabobo buscaba construir la sensación de fisuras en el ejército, algo que a día de hoy no parece que exista). Igual que ha comprado militares, Estados Unidos siempre ha comprado jueces, periodistas, profesores, diputados, senadores, presidentes, sicarios y a quien hiciera falta para mantener a América como su “patio trasero”. El cártel mediático internacional siempre le ha cubierto las espaldas. Es la existencia de Estados Unidos como imperio lo que ha construido el ejército venezolano. Los nuevos oficiales se han formado en el discurso democrático soberano y antiimperialista. Son mayoría. Hay también una oficialidad -la mayoría ya jubilándose- que se formó en la vieja escuela y sus razones para defender la Constitución venezolana serán más particulares. Las deficiencias del Estado venezolano afectan también al ejército, aún más en zonas problemáticas como las fronteras. Pero los cuarteles en Venezuela están con el Presidente constitucional. Y por eso es aún más patético escuchar al demócrata Felipe González pedir a los militares venezolanos que den un golpe contra el gobierno de Nicolás Maduro.
 

5. A esas dificultades de heredar los equilibrios estatales y los acuerdos en la región (la amistad de Chávez con los Kirchner, con Lula, con Evo, con Correa, con Lugo), hay que añadir que la pugna de Arabia Saudí con el fracking y con Rusia, hundió los precios del petróleo, principal riqueza de Venezuela. Esta inesperada caída del precio del petróleo colocó al gobierno de Maduro en una situación complicada (es el problema de los “monocultivos”. Basta para entenderlo pensar qué ocurriría en España si se hundiera un 80% el turismo por causas ajenas a ningún gobierno. ¿Sacaría Rajoy siete u ocho millones de votos en una situación así?). Maduro ha tenido que reconstruir los equilibrios de poder en un momento de crisis económica brutal.
 

6. La oposición en Venezuela lleva intentando dar un golpe de Estado desde el mismo día que ganó Chávez. Venezuela fue el mascarón de proa del cambio continental. Acabar con Venezuela es abrir la espita para que ocurra lo mismo en los sitios donde aún no ha regresado el neoliberalismo. A las oligarquías les molestan los símbolos que debilitan sus puntos de vista. Pasó con la II República en 1936, pasó en Chile con Allende en 1973. Acabar con la Venezuela chavista es regresar a la hegemonía neoliberal e, incluso, a las tentaciones dictatoriales de los años setenta.
 

7. Venezuela tiene además las reservas de petróleo más grandes del mundo, agua, biodiversidad, el Amazonas, oro, coltán -quizá la reserva más grande del mundo de coltán-. Los mismos que han llevado la destrucción a Siria, a Irak o a Libia para robarles el petróleo, quieren hacer lo mismo en Venezuela. Necesitan ganarse previamente a la opinión pública para que el robo no sea tan evidente. Necesitan reproducir en Venezuela la misma estrategia que construyeron cuando hablaban de armas de destrucción masiva en Irak. ¿O no se creyó mucha gente honesta que había armas de destrucción masiva en Irak? Hoy, aquel país antaño próspero es una ruina. Quien se creyó aquellas mentiras del PP, que mire cómo está hoy Mosul. Enhorabuena a los ingenuos. Las mentiras siguen todos los días. La oposición puso una bomba al paso de policías en Caracas y todos los medios impresos publicaron la foto como si la responsabilidad fuera de Maduro. Un helicóptero robado lanzó granadas contra el Tribunal Supremo y los medios lo silencias. Son actos terroristas. De esos que abren portadas y los telediarios. Salvo cuando suceden en Venezuela. Un referéndum ilegal en Venezuela “presiona al régimen hasta el límite”. Un referéndum ilegal en Catalunya es un acto cercano al delito de sedición.
 

8. El cártel mediático internacional ha encontrado un filón. Se trata de una reedición del miedo ante la Rusia comunista, la Cuba dictatorial o el terrorismo internacional (nunca dirán que el ISIS es una construcción occidental financiada con capital norteamericano principalmente). Venezuela se ha convertido en el nuevo demonio. Así se les permite acusar de “chavistas” a los adversarios y les evita hablar de la corrupción, del vaciamiento de las pensiones, de la privatización de los hospitales, las escuelas y las universidades o de los rescates bancarios. Mélenchon, Corbyn, Sanders, Podemos o cualquier fuerza de cambio en América Latina son descalificados con la acusación de chavistas, ahora que acusar de comunistas o de etarras tiene poco recorrido. El periodismo mercenario lleva años con esa estrategia. Nadie nunca ha explicado qué política genuinamente bolivariana va en los programas de los partidos de cambio. Pero da lo mismo. Lo importante es difamar.Y gente de buena voluntad termina creyendo que hay armas de destrucción masiva o que Venezuela es una dictadura donde, curiosamente, todos los días la oposición se manifiesta (incluso atacando instalaciones militares), donde los medios critican libremente a Maduro (no como en Arabia Saudí, Marruecos o Estados Unidos) o donde la oposición gobierna en alcaldías y regiones. Es la misma táctica que construyó durante la guerra fría el “peligro comunista”. Por eso en España, con Venezuela, tenemos una nueva Comunidad Autónoma de la que solamente falta que nos digan al final de los telediario el tiempo que va a hacer en Caracas ese día. De cada cien veces que se dice “Venezuela”, noventa y cinco sólo buscan distraer, ocultar o mentir.
 

9. Venezuela tiene un problema histórico que no ha resuelto. Al carecer de minas durante la colonia, no fue un Virreinato, sino una simple capitanía general. El siglo XIX fue una guerra civil permanente, y en el siglo XX, cuando se empezó a construir el Estado, ya tenían petróleo. El Estado venezolano siempre ha sido rentista, carente de eficacia, agujereado por la corrupción y rehén de las necesidades económicas de los Estados Unidos acordadas con las oligarquías locales. El choque entre la Asamblea y la jefatura del Estado actual debiera haberse zanjado jurídicamente. Señales de la ineficiencia vienen siendo evidentes desde hace tiempo. El rentismo venezolano no se ha superado. Venezuela redistribuyó la renta del petróleo entre los más humildes, pero no ha superado esa cultura política rentista ni ha mejorado el funcionamiento de su estado. Pero no nos engañemos. Brasil tiene una estructura jurídica más consolidada y el Parlamento y algunos jueces han dado un golpe de Estado contra Dilma Roussef. Donald Trump puede cambiar a la Fiscal General y no pasa nada, pero si lo hace Maduro, Jefe del Estado igualmente elegido en unas elecciones, se le acusa de dictador. Una parte de las críticas a Maduro son tramposas porque olvidan que Venezuela es un sistema presidencialista. Es por eso que la Constitución permite al Presidente convocar una Asamblea Constituyente. Gustará más o menos, pero el artículo 348 de la Constitución vigente de Venezuela faculta al Presidente en esa tarea, igual que en España el Presidente del Gobierno puede disolver el Parlamento.
 

10. Zapatero y otros ex Presidentes, el Papa, Naciones Unidas vienen pidiendo a ambas partes en Venezuela que dialoguen. La oposición reunió en torno a siete millones de votos (si bien es más complicado que puedan llegar a ese acuerdo en torno a un candidato o candidata a la Presidencia del país). Maduro, en un contexto regional muy complicado, con fuertes estrecheces económicas que afectan a la compra de insumos básicos, incluidas medicinas, ha juntado ocho millones de votos (aunque sean siete, según las declaraciones tan sospechosas del Presidente de Smarmatic, que acaba de firmar un contrato millonario en Colombia). Venezuela está claramente dividida. La oposición, como otras veces, ha optado por la violencia y luego no entiende que Maduro sume tantos millones de apoyos. Si en España un grupo quemase centros de salud, quemase escuelas, disparara contra el Tribunal Supremo, asaltara cuarteles, contratara a marginales para sembrar el terror, impidiese con formas de lucha callejera el tránsito e, incluso, quemase vivas a personas por pensar diferente ¿alguien se extrañaría que la ciudadanía votase en la dirección contraria a esos locos?
 

11. Fracasada la vía violenta, a la oposición venezolana le quedan dos posibilidades: seguir con la vía insurreccional, alentada por el Partido  Popular de España, Donald Trump y la extrema derecha internacional, o intentar ganar en las urnas. Estados Unidos sigue presionando (en declaraciones a un semanario uruguayo, el Presidente Tabaré dijo que votó para expulsar ilegalmente a Venezuela del Mercosur por miedo a las represalias de los países grandes). 57 países de Naciones Unidas han exigido que se respete la soberanía de Venezuela. Como Estados Unidos no logra mayoría para forzar a Venezuela, insiste en inventar espacios (como la Declaración de Lima, sin ninguna fuerza jurídica porque no han conseguido mayoría en la OEA). La derecha mundial quiere acabar con Venezuela, aunque eso le cueste sangre y fuego a la población venezolana. Por eso algunos opositores, como Henry Ramos-Allup, han llamado al fin de la violencia. Venezuela tiene en el horizonte elecciones municipales y regionales. Es el escenario donde la oposición debiera demostrar esa mayoría que reclaman. Venezuela tiene que convocar esas elecciones y es una oportunidad excelente para medir electoralmente las fuerzas. Porque, de lo contrario, el choque que estamos viendo se enquistará y se convertirá en una gangrena terrible. ¿A quién le interesa una guerra civil en Venezuela? No nos engañemos. Ni al PP ni a Trump le interesan los derechos humanos. Si así fuera romperían con Arabia Saudí, que va a decapitar a quince jóvenes por manifestarse durante la Primavera Árabe, o dan latigazos a las mujeres que conducen; o con Colombia, donde van 150 asesinados por los paramilitares en los últimos meses; o en México, donde se asesina cada mes a algún periodista y aparecen fosas comunes con decenas de cadáveres. Penas de 75 años están pidiendo en Estados Unidos contra manifestantes contra las políticas de Trump. Venezuela se ha convertido en España en la 18 Comunidad Autónoma sólo porque el Presidente Rajoy ha tenido que comparecer como testigo por la corrupción en su partido. Es más airoso hablar de Venezuela que de la corrupción de los 800 cargos del PP imputados. Hay ingenuos que les creen. ¿Qué dirán ahora que el grueso de la oposición ha aceptado participar en las elecciones regionales? El pacto entre el PSOE y Podemos en Castilla-La Mancha ha sido presentado por la derecha manchega como el comienzo de la venezonalización de España. Cuánta caradura y cuánta estupidez. Hay gente que les cree. Mientras, el PP guarda silencio ante, por ejemplo, las persecuciones que la dictadura monárquica marroquí hace en España de los disidentes políticos, o encarcela por orden del dictador Erdogan a un periodista crítico con la dictadura turca. ¿Nos va a decir alguien que a estos gobiernos les interesan los derechos humanos?

Conclusión: no hace falta comulgar, ni mucho menos, con Maduro y su manera de hacer las cosas, para no aceptar el golpe de estado que se quiere construir en Venezuela. Estamos hablando de no volver a cometer los mismos errores creyéndonos las mentiras que construyen los medios. Venezuela tiene que solventar sus problemas dialogando. Y es evidente que tiene problemas. Pero dos mitades enfrentadas no van a ningún lado monologando. Aunque a una parte le apoyen los países más poderosos del ámbito neoliberal. Ni el PP ni la derecha quieren diálogo. Quieren que Maduro se entregue. ¿Y cree alguien que los ocho millones de votantes de la Asamblea Constituyente se iban a quedar de brazos cruzados? El nuevo gobierno les reprimiría e, incluso, les asesinaría. Los medios dirían que la democracia venezolana se estaría defendiendo de los enemigos de la democracia. Y volvería a haber gente ingénua que les creería. Desde el resto del mundo, en nombre de la democracia, bastan dos cosas: exigir y alentar el diálogo en Venezuela, y  entender que sería bueno no permitir ni al PP ni a las derechas internacionales, empezando por Donald Trump, reeditar una de sus miserias más horribles que consiste en sembrar dolor en otros sitios para ocultar el dolor que construyen en nuestros propios países.

 

 

Temáticas: 

Tema Danland para Drupal creado por Danetsoft y Danang Probo Sayekti inspirado en Maksimer