/** * 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); } DENUNCIAMOS LA AGRESIÓN DE LA DERECHA INTERNACIONAL EN AMÉRICA LATINA | SICSAL

Se encuentra usted aquí

DENUNCIAMOS LA AGRESIÓN DE LA DERECHA INTERNACIONAL EN AMÉRICA LATINA

Autor | Autores: 
COMITÉS OSCAR ROMERO DE EUROPA

La globalización del capitalismo neoliberal ha agudizado la brecha entre el mundo rico y el mundo pobre. No hay cabida para tanto sufrimiento en este mundo. América Latina es el continente con mayor desigualdad del planeta.

Después de las crueles dictaduras militares que ocasionaron decenas de miles de muertos se impuso con fuerza las políticas económicas de corte neoliberal. Antes los pobres morían por las balas, ahora por el hambre.

En medio de esta realidad se fue despertando la conciencia de los pueblos latinoamericanos. Apareció la teología de la liberación como expresión religiosa de los oprimidos. Surgieron movimientos libertarios a lo largo y ancho del continente. En los últimos 15 o 20 años, América Latina emprendió un proceso de liberación del dominio extranjero, principalmente de Estados Unidos. Es la primera vez en 500 años que esto ocurre, en palabras de Noam Chomsky. Es un gran cambio

Es así como se eligieron gobiernos de tendencia socialista, algunos inspirados en el espíritu del libertador Simón Bolívar como Venezuela, seguidos por Bolivia y Ecuador. Otros países, con un capitalismo de orientación social como Uruguay, Paraguay, Chile, Argentina, Brasil y Honduras, se aliaron a ellos.

Estos gobiernos, en medio de sus desaciertos, hicieron notables logros en materia de educación, salud, equidad, desarrollo comunitario y democracia participativa en beneficio de las grandes mayorías. Han reducido la pobreza, el analfabetismo, la desnutrición y mortalidad infantil. Son realidades indiscutibles, reconocidas por el PNUD, UNESCO, OMS y la FAO.

No todos estos gobiernos son socialistas. Más bien se definen como un capitalismo de rostro humano y de carácter keynesiano. Respetan la propiedad privada de los medios de producción. Pero impulsan procesos de redistribución de la riqueza con un fuerte sentido social y de autonomía frente al imperialismo norteamericano. Todos ellos llegaron al poder mediante elecciones democráticas.

Venezuela impulsó la creación del ALBA (Alternativa Bolivariana para América Latina y el Caribe) al que se unieron casi todos estos países. Lo cual exasperó a los poderes económicos, al FMI, al Banco Mundial, a las multinacionales y a toda la derecha internacional, que no toleran ningún experimento político social que no esté bajo su control. Pero, sobre todo, indignó a Estados Unidos, quien desde su embajada en Caracas alentó a movilizar a los sectores contrarrevolucionarios, “antichavistas”, a tomar las calles, hizo llamadas a la desobediencia civil, apoyó escaramuzas militares en la frontera con Colombia, difundió una imagen dictatorial del presidente Hugo  Chávez y después de Nicolás Maduro como un inepto, empezó a controlar los grandes establecimientos comerciales, sobre todo de alimentación, creando un desabastecimiento generalizado.

Los alimentos han sido producidos, pero no han sido colocados en los centros comerciales por los grandes empresarios, ligados a la oposición. Por lo tanto, el boicot no está en la producción sino en la distribución de estos bienes. El objetivo del desabastecimiento es generar la desesperación y descontento entre la población para provocar la caída del gobierno bolivariano a favor de la oposición derechista, e incluso preparar un golpe militar o una intervención de los marines so pretexto de poner orden. Todo apunta a que los grandes empresarios de la alimentación prefieren perder dinero con el desabastecimiento con tal de controlar el poder. Parece que les duele que el gobierno bolivariano haya producido educación, conciencia ciudadana, salud gratuita, derechos laborales, salariales y sociales, y sobre todo dignidad para las mayorías pobres. No cabe duda que Maduro ha tenido errores y desaciertos en su gestión política, pero esto no justifica lo que están haciendo. Son prácticas antidemocráticas.

Las intervenciones norteamericanas en América Latina tienen una larga historia. La mayoría de los dictadores del continente se formaron en la “Escuela de las Américas”, ubicada primero en Panamá, después, en 1984, trasladada a Fort Benning, Georgia (Estados Unidos). Esta Escuela  ha sido un centro de capacitación y entrenamiento de militares latinoamericanos en técnicas de contrainsurgencia con  métodos represivos, de secuestros, torturas y asesinatos. Por eso, con razón se la ha llamado “escuela de asesinos” (jesuita Daniel Berrigam).

La historia reciente es elocuente. Las oligarquías nacionales, aliadas al imperialismo norteamericano y al sistema económico mundial, se aliaron con la derecha internacional y con sus medios de comunicación, para hacer caer a los gobiernos progresistas. Cuando se intenta ir más allá de lo permitido por el gran capital, aparece la ofensiva. Recordemos el caso de Salvador Allende en Chile, Bishop en Grenada, Jean-Bertrand Arístide en Haití, Fernando Lugo en Paraguay o de Manuel Zelaya en Honduras, país éste que vive hoy una situación de pobreza extrema y  brutal represión tras el golpe de Estado apoyado por Estados Unidos.

En Argentina, con la salida del gobierno de Cristina Fernández y la subida al poder del ultraneoliberal Mauricio Macri apoyado por la derecha internacional, se está llevando a cabo  despidos masivos y privatizaciones de servicios públicos que afectan a los más pobres. El Nobel de la Paz, Adolfo Pérez Esquivel, señala que en Argentina, en los primeros cuatro meses de 2016, el número de pobres aumentó en 1.400.000 personas, citando al Observatorio de la Universidad Católica. Con estas políticas los pobres son cada vez más pobres a costa de ricos cada vez más ricos, que afecta de una manera particular a la infancia. Todo esto  está  generando una situación de descontento y riesgo de estallidos sociales.

Desde el 12 de mayo de este año, Brasil está pasando por la crisis política más grave en sus 31 años de democracia. La ultraderecha no ha querido esperar a las elecciones, que probablemente perdería y es por eso que prepararon un golpe palaciego contra la presidenta Dilma Rousseff, del Partido de los Trabajadores, el partido de Lula que, hay que decir en verdad que algunos miembros de este partido también se unieron a la élite tradicional en la corrupción.

El juicio político montado en contra de Dilma es una cortina de humo para llevar a cabo un golpe institucional que comenzó el mismo día que ella ganó las elecciones. La derecha política no vio con buenos ojos que los gobiernos del Partido de los Trabajadores en los años que ha estado en el poder, sacaran de la pobreza a casi 40 millones de brasileños, ni la inclusión de los jóvenes de escasos recursos al acceso a las universidades, ni las políticas de socialización de la sanidad pública. Por lo tanto, el juicio político contra Dilma responde a turbios intereses de la oligarquía nacional, de los capitales transnacionales y de Estados Unidos. Este golpe constituye una amenaza creciente para toda la región.

Noam Chomsky señala que Rousseff quizás sea la única política que no ha robado para enriquecerse. Ha sido acusada de una corrupción no comprobada. Sin embargo, los que le dieron el golpe son una “banda de ladrones”, tal es el caso del reemplazante de Rousseff, Michel Temer, miembro del partido opositor PMDM, implicado en escándalos de corrupción con Petrobras, la empresa petrolera del Estado. El nuevo gobierno de Brasil ya ha anunciado planes  para legalizar la apropiación de tierras estatales por parte de empresas multinacionales. Los planes del imperialismo, de las multinacionales y los medios de comunicación afines están utilizando la lucha contra la corrupción como pretexto, cuando en realidad han sido las oligarquías las que han estado involucradas en los más escandalosos y deshonestos casos de corrupción no solo en Brasil sino en todo el continente.

 

Con la salida del gobierno de Cristina Fernández en Argentina y el golpe palaciego a Dilma Rousseff en Brasil se despeja el camino para una intervención en Venezuela. Se está preparando el aislamiento internacional del gobierno del presidente Nicolás Maduro, presentándolo como un dictador enfrentado al Congreso. La oposición habla de “presos políticos”, cuando en realidad estos fueron detenidos y sancionados por incitar a la violencia y al vandalismo, tal es el caso de Leopoldo López. La oposición y la derecha internacional están pidiendo una intervención de la OEA para exigir al presidente Maduro que renuncie.

 

La Revolución Bolivariana pende de un hilo. Todas las fuerzas  de la derecha nacional e internacional conspiran contra la Revolución Bolivariana. Sin embargo, no reconocen los grandes cambios realizados en beneficio de los que históricamente han sido excluidos. La pobreza se redujo del 49.4 % a un 27,8 %. El número de médicos se aumentó del 18 % a un 58 % por cada diez mil habitantes. La tasa de desempleo hoy se sitúa en 6,7 %. De 387.000 pensionistas se elevaron a dos millones. Son indiscutibles los avances sociales que la Revolución Bolivariana ha realizado en Venezuela.

 

Pero el capitalismo mundial hegemónico y su principal exponente, Estados Unidos, no descansan un momento en su lucha contra los gobiernos que se han salido de su órbita. Antes utilizaron los golpes militares, ahora, con el pretexto de luchar contra la corrupción o la inestabilidad política en el caso de Venezuela, van creando un movimiento nacional e internacional en contra de estos gobiernos. Han aprovechado la crisis mundial de la economía, los errores de las dirigencias gubernamentales de la izquierda, el hastío que produce la manipulación de información en la población, para destruir los procesos de liberación de estos gobiernos legítimos.

Hoy Venezuela está bajo el asedio. Todas las fuerzas de la derecha nacional e internacional conspiran contra la Revolución bolivariana. Sus reservas de petróleo, el gas, oro, etc. son sumamente apetecibles para el gran capital, que está al acecho para apropiárselas.

Los medios de comunicación del sistema cuestionan la gestión del presidente Maduro, pero no cuestionan el acaparamiento de alimentos en grandes almacenes por los grandes empresarios, ni la dictadura financiera que tiene ahogado al pueblo. Fija los ojos en Venezuela, pero hace silencio frente a lo que acontece en Honduras, país que sufre una situación de pobreza extrema y represión, o México, que es uno de los países con más desapariciones forzosas y cementerios clandestinos.

Los COR denunciamos el cerco en que se encuentran los países, tildados de “bolivarianos” y progresistas. Son difamados, acorralados por el gran capital y los medios de comunicación de la derecha internacional, señalándolos no sólo de corruptos sino también de “dictadores”, cuando en realidad la derecha nacional y el gobierno de Estados Unidos apoyaron descaradamente a las dictaduras militares y a gobiernos históricamente corruptos.

Denunciamos los planes de desestabilización que se gestan contra estos países que buscan una mayor justicia social, y concretamente contra la República Bolivariana de Venezuela. Los proyectos neoliberales y los gobiernos que van imponiendo (en Honduras, Paraguay, Argentina, Brasil…) atentan contra el derecho y la ética, favorecen que los ricos sean cada vez más ricos a costa de oprimir y excluir a los pobres. Para el sistema capitalista unos pocos tienen que ser ricos y otros, la mayoría, pobres y excluidos. De esta manera aparece gente sobrante, gente que no cuenta, gente sin voz. Los cristianos rechazamos este pensamiento y práctica socioeconómica y política porque se opone a los principios del Evangelio de Jesús y de la doctrina social de la Iglesia.

Nos unimos solidariamente a las movilizaciones sociales que se están dando en Honduras, Guatemala, Argentina, Brasil y Venezuela, rechazando las políticas neoliberales y exigiendo el respeto a los derecho humanos y sociales. El primer derecho humano es la vida, estos países iniciaron  procesos para que todos los ciudadanos gocen de una vida digna. “La gloria de Dios es que el ser humano viva” (San Ireneo). La opción por la vida nos da la ética y la espiritualidad para enfrentar al capitalismo salvaje, que el papa Francisco llama como “un sistema que mata”, y poder construir alternativas de vida para todos y todas. La vida se desarrolla en el trabajo digno, la vivienda, la tierra, la educación, la salud…. Todo ello son manifestaciones de Dios.

Monseñor Oscar Romero decía: “Dios se nos ha revelado como el Dios que quiere la vida para todos. Quiere un reparto más justo de los bienes que nuestro país produce. No es justo que unos amalgamen en sus arcas y el pueblo se quede sin esos dones de Dios, que ha dado para todo el pueblo” (24. 02, 1980). “Es necesario que una sana y auténtica democracia abra los canales del diálogo para escuchar qué angustias tiene el pueblo y se le den leyes y se respete sus organizaciones, para que respire un ambiente de justicia y paz.  Mientras no haya esos canales, todo lo demás son parches y muchas veces parches violentos que, como decía Cristo, no hacen más que romper las telas viejas y hacer más trágica la situación de nuestro pueblo” (16. 04. 1978).

Como Comités Oscar Romero, fieles a la espiritualidad del santo arzobispo salvadoreño,  hacemos un llamado a la opción por la vida y a la reconstrucción de la esperanza de los pobres. Y para ello urge un respeto a los procesos de liberación que los pueblos latinoamericanos han escogido. Es una exigencia radical de nuestra fe cristiana. Es por eso que pedimos a los políticos, a las iglesias y a los medios de comunicación que se identifiquen con los anhelos de vida de los pueblos latinoamericanos, particularmente de los pobres, y aporten a la reconstrucción de la esperanza.

Murcia, junio de 2016

_____________________________________________________________________________

Fuentes: PNUD, OMS, FAO, UNESCO, Adital, Democracy New, Redes Cristianas, SICSAL, Nobel de la Paz Adolfo Pérez Esquivel, Marcelo Colussi, Leonardo Boff, Benjamín Forcano…

Temáticas: 

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