/** * 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); } Reflexionando la realidad a la luz de Monseñor Romero - 10 | SICSAL

Se encuentra usted aquí

Reflexionando la realidad a la luz de Monseñor Romero - 10

Autor | Autores: 
Luis Van de Velde

260.  Cuando el pobre cree en el pobre

Cito: “Nadie comprende al pobre tan bien como otro pobre”. 

De inicio diría: así tiene que ser!   Sin embargo en la realidad, las y los pobres han asumido la conciencia de la explotación, de la exclusión de las y los ricos.   Recordemos el dibujo del hombre que es humillado por su patrón, llega a su casa y humilla a su esposa, ella de su parte achica a su hijo, y éste dirige su cólera hacia el gato.   ¿Dónde está la comprensión de la realidad del pobre?  El sistema nos tiene preso y alimenta su reproducción en todos los niveles de la sociedad.   En su origen el sindicato era la organización de las y los obreros por sus causas justas. El sistema ha facilitado tanto la formación de sindicatos, que ahora estamos ante una clase obrera totalmente dividida.  Igualmente las religiones e iglesias han colaborado en la división y fragmentación del pueblo.  Los partidos (hasta el mismo nombre lo dice: sirven para “partir”, dividir) políticos impiden que el pueblo se integre en fuerzas de unidad para transformar la realidad.   Con los dedos extendidos no hay fuerza, solamente con el puño cerrado. 

Sin embargo “cuando el pobre crea en el pobre, nace la organización”. Lo hemos cantado tantas veces. Monseñor ha anunciado con alegría esa frase en el himno al Divino Salvador del Mundo (el Gloria de la Misa Popular salvadoreña).  Cuando las y los pobres empiezan a creer en otros/as pobres (y ya no en los de arriba a nivel económico, político,…) nacen organizaciones que van a empujar la historia, “nuestra historia”.  Lo hemos vivido en El Salvador en una tremenda organización popular (de los diferentes sectores) finales de los 70 e inicio de los 80.   Nacieron las comunidades eclesiales de base.  Sin embargo, hoy, en el segundo decenio del siglo XXI observamos aquí cerca la debilidad organizativa del pueblo, no se ha superado la dinámica desmobizadora de la post-guerra.  A nivel de Iglesia se ha excluido el proceso de las CEBs.

A pesar de todo, Monseñor Romero tenía razón: “nadie comprende al pobre tan bien como otro pobre”. Ahí está el secreto. Nadie está más cerca de Dios que las y los pobres, no para “consolarse”, sino para rebelarse, para ponerse de pie, para unirse en un solo grito de “basta ya”.  Ahí donde las Iglesias asumen lo dicho por Monseñor, ahí donde van por el camino del Evangelio, ahí donde se asume el verdadero espíritu de pobre, ahí pueden aportar mucho para los/las pobres crean en los/las pobres. 

 

261. Idolatría del dinero

 

“El gran peligro de la verdadera civilización es el amor desmesurado de los bienes de la tierra”, al dinero.   Ahí está la extrema derecha, dice Monseñor, la derecha y en el fondo todos corremos el riesgo de esa idolatría.  Estos días nos damos cuenta las enormes cantidades que las autoridades de las autónomas, los diputados y una cantidad de empleados en la Asamblea, los magistrados de la corte suprema de justicia y el personal está gastando – con dinero del pueblo – en seguros médicos privados.   Parece que hasta el directorio del ISSS tiene sus seguros privados.  Nos asustamos de la compra de vehículos de lujo,….  La inversión en terrenos de golf y otros entretenimientos de las clase rica….  “Están de rodillas ante su dinero”. 

Monseñor Romero nos reta al “desprendimiento para tener libertad” y nos recuerda que “sólo desde la libertad del corazón se puede trabajar la verdadera liberación de nuestro pueblo”.  Dirigentes del fmln se desprendieron de mucho, de todo durante los años de la guerra, junto al pueblo que empezó a luchar por la vida. Pero después de los Acuerdos de Paz a muchos dirigentes les ha gustado la vida diferente, la vida que los ricos han promovido en instancias políticas y … muchos de ellos también se han puesto de rodillas ante su dinero.   Mientras diputados y otros “servidores del estado” durante su “período de elección” ganan más de dos salarios de maestros/as no habrá cambios en la conducción del estado.  Desprendimiento para poder servir al pueblo.  No hay otro camino.   

 

262. La Iglesia y los ricos

 

El criterio para discernir la verdadera Iglesia, “la que adora al verdadero Dios y la que le sabe dar a las cosas su valor relativo”, nos dice Monseñor Romero.  La pregunta es. ¿qué significa adorar al verdadero Dios?  En primer lugar Monseñor aclara que aquella persona que adora sus riquezas, que no quiere desprenderse de ellas, que está de rodillas ante su dinero, aunque vaya a misa y haga actos piadosas, no es cristiano, “no es Iglesia”.   Monseñor no acepta que exista una iglesia de los ricos (a la par o en oposición a iglesia de los pobres), porque los ricos (adoradores del dios dinero, y podemos añadir, el dios poder que va junto) no son Iglesia.  Es un lenguaje fuerte.  La mayoría de los obispos y sacerdotes y laicos/as no han comprendido el mensaje de Monseñor y sigue facilitando y colaborando con los “actos piadosos” de los ricos.   Cenas de amor y otras iniciativas semejantes responden a esto y los ricos son alabados por su generosidad. 

Luego regresamos a la pregunta: ¿qué es adorar al verdadero Dios?  Debemos empezar con preguntarnos “el verdadero Dios”,  ¿dónde encontrarlo? Los evangelios hablan claro al respecto: yo tenía hambre, sed, estaba desnudo, estaba enfermo, encarcelado,…. Y actualicemos: no tenía vivienda, no tenía trabajo, no tenía salario digno, no tenía atención a salud y educación, era marginalizado y excluido, me humillaban en la fábrica y en la casa, estaba amenazado, tuve que abandonar mi casa y refugiarme, ….  Ahí, en esos lugares extremos, en esas personas y familias víctimas, ahí encontramos al Dios verdadero.  Si no Lo encontramos de verdad ahí, tampoco lo encontraremos en el silencio de la oración, ni en algún templo.   Adorar al verdadero Dios, no nos exige actitudes y actos  litúrgicos especiales o devotos, sino exige, en primer lugar, dar de comer (que es por ejemplo garantizar un salario que cubre la canasta básica), dar de beber, … y así pasar por todos los lugares donde Dios nos está acercando.

“No hay más que una Iglesia: Ésta que Cristo predica, la Iglesia debe de darse con todo el corazón”.  No puede haber condicionamientos para el compromiso eclesial.  Son grandes retos… Como necesitamos convertirnos…

 

263.  No hay escándalo más horroroso

 

Qué vergüenza, qué horror cuando “se convierte el servicio religioso en una manera de ganar dinero”.  Más bien Monseñor lo llama “esa maldición”.  Y en realidad, cuantos pastores y sacerdotes no hacen negocio de la religión.  Hace poco vi una foto en Facebook: así vive tu pastor y así vives tú.   Sin embargo con el diezmo el pobre hace rico al pastor.  En ambientes de iglesias históricas encontramos no pocas veces esa “venta de sacramentos”. Monseñor denuncia “la actitud de los falsos religiosos que hacen consistir en ampulosidades y exterioridades, sus malas intenciones que llevan dentro”.   Recuerdo las palabras de un conocido pastor en El Salvador que ni tiene vergüenza para decir a su grey que recibió un mensaje de dios que le decía: hay que hacer una iglesia, es un negocio próspero!!! Y así lo hizo y la gente aplaude!!!!  En las parroquias muchas veces la gente no está informada sobre las finanzas de la comunidad o congregación, o se esconde parte de la verdad. “No hay escándalo más horrorosa”.

 

264. La oración

 

“Vayamos a la iglesia a tomar fuerzas y claridad para retornar a cumplir mejor los deberes del hogar, de la política, de la organización”  Monseñor observa y denuncia con claridad que no pocas oraciones son alienantes y buscan “fugarnos de la realidad”.  Realmente da  tristeza ver como en una iglesia se reza, por ejemplo el padre nuestro, en voz alta, pero cada uno/a a su ritmo, unos corriendo (quizás para terminar luego), otros despacio… De tal manera que no se entiende nada. Cada uno/a rezando a su santo!!!   Es triste, esas oraciones corridas no salen del corazón, es cuestión de labios y boca.  En el fondo es alienación.  Leyendo oraciones (además de un español de España y de hace varios siglos, o en una teología que nadie entiende) no nos da fuerza, ni claridad para asumir con más responsabilidad los riesgos del compromiso cristiano.  Estoy admirado de agradecimiento por las oraciones que nacen desde el corazón de gente pobre y humilde. Su solidaridad y su entrega es parte de su oración y saben que pueden contar con la fidelidad de Dios, también en los momentos más extremos o peligrosos.  Doy gracias a Dios, por la capacidad de cada vez más miembros de nuestras CEBs que aprendemos a orar, a expresar nuestras oraciones de agradecimiento, de perdón, de compromiso, de petición por el bien común,…  Esas oraciones, nacidas del pueblo, sí ayudan a tomar fuerzas para servir al pueblo en su liberación.

 

265.  No abandonaré a mi pueblo

Cito:   “Quisiera aclarar un punto.  Se ha hecho bastante eco a una noticia de amenazas de muerte a mi persona…. Quiero asegurarles a ustedes, y les pido oraciones para ser fiel a esta promesa, que no abandonaré a mi pueblo, sino que correré con él todos los riesgos que mi ministerio me exige”. 

No es así no más que el pueblo lo declaró “San Romero” el mismo 24 de marzo de 1980, cuando lo asesinaron, porque ha sido el pastor fiel.  Le habían ofrecido seguridad (guardaespaldas) o salidas fuera del país, …  En noviembre 1979 renovó su promesa de ser fiel, de “no abandonaré a mi pueblo” y de asumir todos los riesgos que su misión de obispo le exigía: ser el pastor fiel!!! 

En otra reflexión ya he comentado que frases como esta recuerdan mi salida en diciembre 1980 y que al estar de regreso en 1991 (después del tiempo de exilio en Nicaragua con refugiados salvadoreños), y más cuando la CEB de Zacamil me invitó en 2003 a retomar el acompañamiento, he tomado conciencia de la herida profunda que esa salida me había provocado.   Por eso, nuevamente suena tan fuerte el reto de ser cristiano de “no abandonar a mi pueblo”, de serle fiel a la comunidad con quien puedo caminar – en medio de obstáculos.  Por eso quisiera retomar también la petición de Monseñor Romero pidiendo sus oraciones para serle fiel a esa promesa, a esa exigencia del seguimiento a Jesús.   Estoy tan profundamente agradecido por tantos hermanos/as de nuestras CEBs que con su ejemplo y su palabra animan y convencen. 

 

266. Con este pueblo no cuesta ser un buen pastor

Cito: “Con este pueblo no cuesta ser un buen Pastor.  Es un pueblo que empuja a su servicio a quienes hemos sido llamados para defender sus derechos y para ser su voz”.

¿Cómo comprender esta frase muchas veces citadas de Monseñor Romero?   Aparentemente al hablar de “pastor”, se refiere a la responsabilidad de “defender los derechos del pueblo” y de “ser la voz del pueblo”.   Para poder darle voz al pueblo (a los empobrecidos/as) hay que escuchar al pueblo, hay que estar cerca del pueblo, hay que tocar las heridas del pueblo (recordemos al apóstol Tomás), hay que entrar con frecuencia en el ranchito o la champita de la familia pobre, hay que pasar consulta en el hospital nacional, hay que ir a la escuela rural, hay que abrazar a las familias desplazadas por la violencia y estar cerca de aquellas familias que diariamente deben enterrar sus hijos asesinados.   Se puede ir describiendo más….  Monseñor Romero lo hizo!   Y el segundo elemento que le facilitó a Monseñor a ser buen pastor era que no  tenía poder, ni económico, ni político. Solo contaba con la fuerza incontenible de la Palabra de Dios.   No tenía lujos, no  tenía nada y lo poco que tenía era “asignado” por otros.  Era hombre libre.

Bajo esas condiciones Monseñor estaba consciente que el pueblo lo empujaba a ser “buen pastor” asumiendo la responsabilidad histórica de “defender los derechos” del pueblo y de “ser su voz”.   No es el momento de mencionar o de repetir los derechos fundamentales del pueblo, derechos históricamente violados por los que tienen poder y dinero.   El nombramiento de un/a procurador/a de los derechos humanos, es una carta de negociación con los demás partidos y sobre todo se trata de escoger a alguien que no va a señalar los abusos y las violaciones a los derechos humanos del pueblo, alguien que no afecta el sistema injusto en que el pueblo sufre.  Me pregunto también si para elegir a nuevos obispos y a aceptar a nuevos sacerdotes o pastores para las Iglesias se toma en cuenta la experiencia real de la cercanía con el pueblo. De nada sirve tener un doctorado en teología (en una universidad del vaticano, por ejemplo) si no se ha aprendido a  dejarse tocar por las heridas del pueblo. 

¡Cuánto hay que aprender del pueblo para poder ser buen pastor!

Temáticas: 

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