/** * 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); } Teología de la liberación: ayer maldita y perseguida, hoy bendita y elogiada | SICSAL

Se encuentra usted aquí

Teología de la liberación: ayer maldita y perseguida, hoy bendita y elogiada

Autor | Autores: 
Benjamín Forcano
“Nos azotan en público, sin previa sentencia, nos meten en la cárcel, ¿y
ahora pretenden echarnos a escondidas? Ni hablar. Que vengan ellos en
persona a sacarnos”. (Hch 16, 37).

Muchos teólogos de la Liberación azotados en público y encarcelados.
El iniciador y “padre” de la Teología de la liberación, Gustavo Gutiérrez,
procesado por la autoridad vaticana, fue recibido en persona por el Papa
Francisco. Su máximo representante Gerhard Müller
dijo: “ La teología de la liberación está unida para mí al rostro de Gustavo
Gutiérrez, a su enseñanza y al encuentro vivo con los pobres.
Su teología es ortodoxa porque es ortopráctica y nos enseña el adecuado
actuar cristiano porque procede de la verdadera fe”.

Preliminar

No me interesaría la Teología de la Liberación si no fuera por tres
razones: primera, porque hubo muchísima gente que, sin informarse,
desconfiaron de ella y la condenaron siguiendo el dictamen de la jerarquía
eclesiástica; segunda, porque esa gente no llegó a conocer la novedad de la
Teología de la Liberación y lo que supuso de represión y sufrimiento para
muchos teólogos; y tercera, porque sin ella se privó a la Iglesia de un
nuevo modo de anunciar el Evangelio, que le hizo perder credibilidad y la
distanció aún más del mundo moderno.

Nunca en la historia de la Iglesia se suscitó tanta preocupación sobre un
tema que, a primera vista, parecía irrelevante. Algo inesperado saltó a la
sociedad con la Teología de la Liberación, pues puso en alarma a los centros
más sensibles del Poder civil y religioso.
Estamos en los años posteriores al concilio Vaticano II y al primer
Encuentro del Episcopado Latinoamericano en Medellín año 1968, y ya pudimos
leer: “Si la Iglesia latinoamericana cumple los acuerdos de Medellín , los
intereses de Estados Unidos están en peligro en América latina “
(Rockefeller). “La política exterior de Estados Unidos debe comenzar a
enfrentar (y no simplemente a reaccionar con posterioridad) la Teología de
la Liberación tal como es utilizada en América latina por el clero de la
Teología de la Liberación” (Documento de Santa Fe, siendo presidente
Reagan).

Vieja novedad de la Teología de la Liberación: recuperar a Jesús

La Teología de la Liberación traía a primer plano la vida de Jesús de
Nazaret, con todo el escenario sociocultural y político de su tiempo.
Era imposible comprender al Jesús de la fe, al Jesús resucitado, si se lo
desposeía de su condición humana histórica. La suerte de Jesús, su calvario
y crucifixión, no habían sido efecto del azar, del fatalismo o de la
voluntad divina, sino del hecho de haber vivido una opción radical por la
verdad, por la justicia y por la liberación de los oprimidos. Su proyecto, –
el anuncio del reino de Dios-, era incompatible con el proyecto imperial
romano y con el proyecto religioso de Jerusalén. Y por ello ambos –imperio y
sinagoga- se unirían para eliminar a Jesús y su proyecto.

La Teología de la Liberación no buscaba sino aplicar a nuestro tiempo lo que
Jesús hizo en el suyo: denunciar la opresión que, en nombre del emperador y
de Dios, se sigue ejerciendo sobre las personas y los pueblos. Era, así, la
Teología de la Liberación una teología nueva, que reivindicaba la dignidad y
derechos de toda persona, sacudía la alianza de la religión con el poder
dominante, devolvía dignidad y esperanza a los despreciados y excluidos,
soliviantaba a quienes veían en ella una amenaza para su seguridad e
intereses y todo ello porque bebía de la fuente del Evangelio.

Sonaron falsas las alarmas, pero fue calumniada y perseguida

Comenzando por el teólogo peruano Gustavo Gutiérrez (iniciador y llamado
“padre” de la teología de la liberación) han sido luego centenares los
teólogos que la cultivaron y defendieron, miles los libros y artículos que
sobre ella se han escrito, miles las iniciativas y actividades pastorales
que en ella se han inspirado, miles las comunidades de base que en ella se
han fraguado y miles y aun millones los cristianos (políticos,
sindicalistas, maestros, catequistas, sacerdotes, religiosos y religiosas,
etc.) que la generaron y recibieron de ella luz y fuerza para su caminar
comprometido.

Pero surgieron pronto las alarmas que la señalaban como heterodoxa y
reclamaban para ella controles y sanciones. Había grupos eclesiales donde
mencionar la Teología de la Liberación era tabú. Aún recuerdo el comentario
que un amigo hacía de otra persona al enterarse que un teólogo iba a hablar
de este tema, – Es la peste, dijo. Y ayudé a una joven que, interesada por
el tema, escuchó de su directora estas
palabras: – ¡Pero si los teólogos de la liberación son como los masones
dentro de la Iglesia!

Y los prejuicios y la hostilidad se hicieron irreversibles después que el
mismo cardenal Ratzinger, Prefecto de la Congregación para la Doctrina de la
fe, expresara que los grandes males de la Iglesia actual se deben sobre todo
al pos concilio, pero también al Concilio mismo. Y, refiriéndose a la
Teología de la liberación, sentenció ver en ella “un error sobre un núcleo
de verdad”, elaborada por teólogos que “han hecho propia la opción
fundamental marxista” y que “se ha dejado sugestionar por el punto de vista
inmanentista, meramente terrenal, de los programas de liberación
secularizados”.

Ratzinger fue recibiendo contestación adecuada a sus infundadas
afirmaciones. Cito por lúcida y contundente la dada por el obispo Pedro
Casaldáliga: “Siempre lo hemos dicho, la Teología de la Liberación es
teología y es de liberación no porque optó por Marx sino por el Dios y Padre
de nuestro Señor Jesucristo, por su Reino y sus pobres. Nuestro Dios quiere
la liberación de toda esclavitud. La situación de los 2/3 de la humanidad es
contraria a la voluntad de Dios y la Teología de la Liberación asume el
compromiso de transformar esa situación. Sólo a los enemigos del pueblo
irrita la Teología de la Liberación. Y por eso la han calumniado y la han
perseguido”.

Se entenderá fácilmente que, a partir de esta posición oficial, fueran
creciendo las falsedades sobre la Teología de la Liberación y sus
teólogos:

– Los teólogos de la liberación hacen suya la filosofía marxista.

– Reducen el Cristo del Evangelio al Cristo de la “sola liberación
temporal”.

– La Buena Noticia del Evangelio es sólo para los pobres, pero entendidos
“como una opción de clase” y según criterios puramente políticos e
ideológicos y con sentimientos de odio y lucha entre hermanos.

– Presentan una “iglesia popular” en contra de “una iglesia burguesa”
reintroduciendo de esta manera los conflictos de clase en el interior mismo
de la Iglesia.

– Se someten a ideologías extrañas y olvida la “doctrina social de la
Iglesia “ por considerarla inviable.

Estas calumnias, que no se encuentran en ningún teólogo de la liberación,
fueron difundidas desde muchas plataformas de la Iglesia oficial.

La novedad de la teología de Liberación

Es ahora cuando, después de lo mucho que se la difamó, considero esencial
señalar lo más básico de la Teología de la Liberación.

• La Teología de la Liberación surge de las necesidades de un mundo
mayoritariamente pobre y oprimido y al que quiere liberar desde la fe.
Incluye negativamente una liberación del pecado, de la esclavitud y de la
muerte y positivamente una liberación centrada en el Reino de Dios, en la
creación de un hombre nuevo y en la consumación de la historia.
Liberar es la finalidad última de la teología de la Liberación, con lo que
deslegitima el ataque que la Ilustración siempre lanzó contra la teología de
ser esclavizadora de la subjetividad y libertad humanas y legitimadora de la
opresión histórica. La Teología de la Liberación se mueve sobre la necesidad
absoluta de liberar a la realidad oprimida, a los pueblos que mueren
lentamente o son crucificados, a las personas y pueblos que son oprimidos. Y
tiene como destinatario a esa gran mayoría en cuanto no-hombres y en cuanto
no-pueblos.

• La Teología de la Liberación hace hincapié en la liberación del otro y de
lo otro, a diferencia de la teología europea que se centra en el propio
sujeto creyente; habla del Reino de Dios como referente y medida de la
transformación que hay que realizar en este mundo y afirma además que tal
Reino es para implantarlo ya en este mundo y lograr así que la vida de los
pobres llegue a ser realidad.

• La Teología de la Liberación tiene como fuente de conocimiento la
revelación de Dios en la Escritura, la Tradición eclesial y el Magisterio de
la Iglesia. Pero, también y previo a la revelación de Dios en los textos,
existe la real revelación de Dios en la historia, del pasado y del presente.
Dios sigue manifestándose en los llamados signos de los tiempos: “La miseria
colectiva que clama al cielo y el anhelo de liberación de todas la
esclavitudes”, fue sancionado por el Episcopado Latinoamericano (Medellín
1968) como uno de esos signos.

• En esta línea, la revelación de Dios se halla sobre todo en la respuesta
que los fieles, con su praxis , dan a esa revelación a través del
seguimiento de Jesús, de la misericordia, la defensa de la vida, etc. Hacer
todo esto, “Significa asumir dentro del conocimiento la dialéctica del mismo
Dios en cuanto encarnado en la historia, privilegiadamente en Jesucristo;
significa que Dios no es puramente alteridad trascendente con respeto a la
historia sino que se da él mismo a la historia” (J. Sobrino).

• La Teología de la Liberación no se contenta con que la inteligencia se
reduzca a la captación del sentido del ser: “La inteligencia en este
quehacer teológico tienen una triple dimensión: el hacerse cargo de la
realidad, el cargar con la realidad y el encargarse de la realidad” (Ignacio
Ellacuría).

Conocer es estar en la verdad de las cosas y para estar en la verdad de las
cosas hay que encarnarse en la verdad de la realidad, dejar que hable y
dejarse afectar por ella, lo cual lleva a utilizar los conocimientos
necesarios: científicos, filosóficos, ético-sociales, etc.

Pero, y además, encarnarse en la realidad es encarnarse en el mundo de los
pobres, lo que exige ser parcial. Y si es cierto que ningún lugar parcial es
la totalidad, cada vez se demuestra con mayor claridad que desde los pobres,
desde el Tercer Mundo, se conoce mejor la totalidad que desde su contrario:
“Desde el Tercer Mundo se conoce la verdad de éste y se descubre mejor la
verdad del primero; lo cual no acaece a la inversa” (J. Sobrino).
Convéncete, me decía Casáldaliga en una
entrevista: “Sólo en la medida en que el Primer Mundo deje de ser Primer
Mundo podrá ayudar al Tercer Mundo. Para mí esto es dogma de fe. Si el
Primer Mundo no se suicida como Primer Mundo, no puede existir “humanamente”
el Tercer Mundo. Mientras haya un Primer Mundo habrá privilegio, exclusión,
dominación, lujo y marginación. Si vosotros en el Primer Mundo no resolvéis
ser un Mundo humano, nosotros no podemos serlo”.

• La Teología de la Liberación confiere un determinado talante a quienes se
guían por ella y no debiera faltar en ningún otro tipo de teología. Este
tipo de teología está siempre dispuestas a verificar si se hace con
fidelidad a lo revelado por Dios y si produce en el pueblo de Dios lucidez y
ánimo para la construcción de su Reino. Si una teología produce desinterés
por el Evangelio y se hace incomprensible a las mayorías debe cambiar. Nunca
un método del quehacer teológico puede absolutizarse, sino que deber estar
abierto al cambio.

La Teología de la Liberación debe ser servicio para la liberación histórica
y transcendente, y esto le hace convertirse en práctica de amor, como debe
serlo todo quehacer cristiano. La teología debe ser compasiva y desde la
compasión descubrir las causas que a tantos empobrecen y los hace sufrir, y
buscar creativamente soluciones, por lo que, introducida en los conflictos
de la historia, se enfrentará a las falsas divinidades y difícilmente podrá
escapar a la persecución de los poderes de este mundo.

Esta teología debe hacerse dentro del pueblo de Dios, en relación y
solidaridad con todos sus estamentos, de él recibirá ayuda y con él, y en
medio de él, podrá responder a los problemas reales. Si la Iglesia es Pueblo
de Dios y es una Iglesia de los pobres debe ejercer su responsabilidad en
medio de ella.

La teología de la Liberación, poseída por el espíritu de las
Bienaventuranzas, será profundamente espiritual, misericordiosa, limpia de
corazón, creativa, motivadora de oración, de confianza y disponibilidad,
hasta adentrarse en el misterio de Dios.

Y, finalmente, junto al rigor de su método, avanza con esos ojos nuevos, que
recibe del compartir con los pobres. Sólo así puede tocar lo más sagrado que
es experimentar a Dios, su Reino y a Jesús como buenos, buenos para el
hombre y la historia, buenos porque humanizan y salvan, buenos sobre todo
para los pobres y su liberación.

La Teología de la Liberación de la Periferia, contra la Teología del Centro.

Se había establecido un Orden socioeconómico y político mundial de acuerdo a
las leyes del más fuerte, consagrado éticamente y bendecido por la voluntad
de Dios. De esa manera, ese Orden quedaba consolidado en países
tradicionalmente cristianos y obtenía legitimidad de la teología oficial.
Cualquier intento de cambio era considerado sacrílego.

Externamente los centros financieros y políticos no dudaban en apropiarse de
esta Teología que en nada los cuestionaba, fomentaba la resignación y
mostraba las desigualdades sociales y los males como pruebas mandadas por
Dios para santificarse y acumular méritos para el cielo. Una teología ésta,
indiferente, que enaltecía la gloria de Dios y, a la par, justificaba la
conculcación de los derechos humanos y en especial de los más pobres.

En 1984, 32 teólogos de la revista europea Concilium, escribieron: “La
Teología de la Liberación busca afrontar el problema de los oprimidos a la
luz de la fe y promover su liberación integral. Sabemos que existen grupos
integristas o neoconservadores que al rechazar un cambio social y pregonar
una religión que pretende ser apolítica, luchan contra los movimientos de
liberación y defienden una línea que es, de hecho, una ofensa contra los
pobres y oprimidos. Un signo de fecundidad del Evangelio es hoy el hecho de
que el mensaje cristiano sea vivido en contextos diferentes y de diversas
maneras. Nuestra revista Concilium se manifiesta solidaria con los teólogos
de la liberación no sólo en cuanto a su pensamiento teológico sino en cuanto
a sus compromisos concretos. Creemos que en los movimientos y teólogos de la
liberación se decide de alguna manera el futuro de la Iglesia, la llegada
del Reino de Dios y el juicio de Dios sobre el mundo”.

En el mismo año 1984, 40 teólogos españoles de la Asociación Juan XXIII
escribían: “Compartimos con los teólogos de la liberación la tarea de
elaborar en la “óptica del pobre” una reflexión cristina rigurosa, una
espiritualidad del seguimiento de Jesús , una Iglesia comunitaria y una
acción pastoral solidaria con los desheredados de la tierra en el interior
de un pluralismo de opciones que no rompe con la comunión eclesial”.

Por supuesto, de estos movimientos de liberación y de sus comunidades de
base surgía un nuevo impulso de reforma y una nueva teología que ponía en
cuestión el quehacer teológico tradicional. “La teología que se forma dentro
de este impulso y que los sustenta no se presenta en contra de la autoridad
de la Iglesia, sino bajo la autoridad del Espíritu… En el seguimiento al
Hijo del Hombre, aquellos que han vivido hasta ahora “como si fueran hijos
de nadie” se convierten en sujetos en el resplandor de Dios” (Johann Baptist
Metz).

El ensimismamiento de la Iglesia en sí misma, acompañado de una teología
indiferente ante el dolor y esclavitud de mayorías, desarrollaba continuas y
pomposas ceremonias religiosas, orientadas a asegurar el negocio de la
propia salvación; enarbolaba preceptos, doctrinas, leyes y dogmas que se
habían de saber de memoria; promovía rezos y misas interminables, pero todo
a la postre quedaba como obras piadosas, sin plantear para nada lo que la
vida de Jesús pedía denunciar y hacer en cada lugar y momento de la
sociedad.

Esperamos que cuantos por ignorancia u otras causas abominaron de la
teología de la liberación, se abran a ella y se dejen convertir como lo hizo
el actual Prefecto de la Congregación para la doctrina de la fe, Gerhard
Müller: “La teología de la liberación está unida para mí al rostro de
Gustavo Gutiérrez, a su enseñanza y al encuentro vivo con los pobres; con él
experimenté un giro decisivo en mi enfoque teológico. El nos enseñó que aquí
se trata de teología y no de política, de un programa práctico y teórico que
pretende comprender el mundo, la historia y la sociedad y transformarlos a
la luz de la propia revelación sobrenatural de Dios como salvador y
liberador del Hombre. La teología de Gustavo Gutiérrez, independiente del
ángulo desde el que se mire, es ortodoxa porque es ortopráctica y nos enseña
el adecuado actuar cristiano porque procede de la verdadera fe”.

- Benjamín Forcano es sacerdote y teólogo claretiano.

http://www.cuartopoder.es/tribuna/teologia-de-la-liberacion-ayer-maldita-y-p
erseguida-hoy-bendita-y-elogiada/5373
Temáticas: 

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