/** * 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 - 8 | SICSAL

Se encuentra usted aquí

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

Autor | Autores: 
Luis Van de Velde

Escuchar a Monseñor como luz en la historia de hoy exige que partamos de sus palabras.  Día a día con Monseñor Romero.     http://servicioskoinonia.org/romero/varios/RomeroOscar-DiaADiaConMonsRomero.pdf

Hacer nuestra propia reflexión y luego compartirla con otros/as... así aprendemos juntos/as a la luz del mensaje de Monseñor Romero. Compartiendo así otras siete reflexiones personales desde El Salvador, reflexiones para cada día.

247-2. Tenemos que respetar su memoria

En el mismo texto de su homilía del 23 de septiembre de 1979, Monseñor dice una frase que – cada vez cuando la leo o escucho – me pone de rodillas.   Dice que esos sacerdotes asesinados han dejado que les quitaran la vida, no han huido de sus responsabilidades pastorales con el pueblo, no han sido cobardes, se han situado en esa situación de tortura, sufrimiento, asesinato.   Digo que me pone de rodillas, porque mi salida de El Salvador en diciembre 1980, aunque era la petición de las CEBs en mi sector de San Ramón, y aunque era probablemente lo mejor, ha sido una huida. Monseñor habla de “cobardía”.  Es la herida – siempre abierta – de mi vida.  En abril 1979 Monseñor Romero me escribió (yo estaba en Bélgica) que regresara pronto para retomar el trabajo pastoral en la arquidiócesis.  Año y medio después salí.  ….  Varios años he vivido desconociendo la herida abierta.  Era hasta inicio de 2004 que Santiago de la CEB de Zacamil volvió a convocarme y más intensamente era en el XXV aniversario del martirio de Alfonso Acevedo (animador de las CEBs en el sector de San Ramón), cuando le escribí una carta, que Alfonso volvió a darme “la bienvenida” a la realidad de la Iglesia de las y los pobres. Es en este caminar con unas CEBs que encuentro el bálsamo que suaviza la herida, que la cura, aunque siempre está.  Duele recordarlo, pero siento que – Gracias a Dios – he iniciado  “respetando su memoria”.  Un camino a andar…

248.  Saber escuchar

Celos en la pastoral, celos de poder en la Iglesia, celos por las obras del Espíritu que no están bajo nuestro control, que nos salen de las manos….. Monseñor estaba consciente que tenía que escuchar al pueblo, escuchar lo que el Espíritu está diciendo “por medio del pueblo”.  No solo escuchar, sino también analizarlo y transformarlo junto al pueblo en construcción de Iglesia. 

La realidad hoy es diferente que en tiempos de Monseñor Romero.  El Papa Francisco ha abierto las puertas de la Iglesia para nuevos encuentros fraternos ecuménicos con otras iglesias.  Pide que los pastores huelan a “oveja”, a calle, a pobre.   Ahí está la llamada de Monseñor Romero: hay que saber escuchar al pueblo, hay que saber escuchar a las comunidades eclesiales de base también las que están en conflicto con el sacerdote o con el obispo, hay que saber escuchar lo que el Espíritu está haciendo en otras experiencias eclesiales.  “Nuestra Iglesia” no es dueña de la verdad. Sin escuchar no llegaremos a ninguna parte.  Sin analizar juntos/as no podremos aportar por la construcción de la Iglesia (signo e instrumento del Reino).  Lo mismo vale entre las diferentes experiencias de CEBs… nadie es dueña de la verdad. Respetar otras experiencias, respetar y escuchar de verdad, sin prejuicios, sin autoritarismo, sin humillaciones, escuchar y querer analizar juntos… construyendo los caminos nuevos del Reino.

249.  La propiedad privada

La idolatría de la “propiedad privada”, esa “absolutización” del derecho a la acumulación de riqueza como propiedad privada.  Monseñor lo llama francamente “paganismo”: la negación del Dios de la vida, para adorar al dios dinero, dios riqueza que exige sacrificios sangrientos de miles de pobres.  Monseñor habla de necesaria reestructuración de nuestro sistema económico y social. Añadimos el sistema político y judicial.  Todo el sistema en que nos  toca vivir está podrido por el fermento de la idolatría de la propiedad privada.  Por supuesto no se trata de la pequeña propiedad como vivienda, negocio, …. Estos son más bien derechos fundamentales de todos y todas.  Monseñor habla de la gran propiedad privada, la “empresa privada”, en El Salvador de hoy con el nombre de ANEP.  Como empresarios compran “conciencias”, “votos”, ofertan corrupción a los políticos y a los jueces.  Imponen salarios mínimos que son realmente pecado mortal: sacrificios sangrientos de las y los pobres que con su trabajo explotado hacen crecer la riqueza de los idólatras de la riqueza. 

Como provoca rechazo ver (por los medios) que algún sacerdote (y mejor si es un obispo) va a bendecir un nuevo edificio, un nuevo banco, un nuevo almacén,…. al servicio del dios dinero!    No pocas veces nos damos cuenta que empresarios (que se autoproclaman cristianos) utilizan dinámicas religiosas para adormecer las conciencias. No es así no más que en la oración a la bandera salvadoreña (tantas veces repetidas en este mes de la independencia) se dice “la religión que nos consuela”.   

Monseñor está claro: “el cristianismo no puede admitir una propiedad privada absoluta”.  ¿Qué hacemos hoy?

250.  Cristo presente en los pequeñitos.

El humilde, el excluido, el pobre, el enfermo,… abre el camino de la fe!  En ellos Cristo nos está llamando, hablando. Monseñor dice que ahí sucede la trascendencia y nos recuerda que Cristo nos pide abrazar al pobre como él abrazó al leproso, nos pide levantar  al herido, como lo hizo el samaritano.  Esta es la opción preferencias por los pobres. No es demagogia. Es Evangelio puro.   No es la doctrina, no es la catequesis, no son las celebraciones,…. son los pobres que abren el camino de la fe en Jesús de Nazaret.   Luego las reflexiones (bíblicas, comunitarias, ..) pueden ayudar a entender y a motivarnos, sobre todo en las dificultades.  Pero solamente en el encuentro directo y constante con las y los pobres (no lo olvidemos: empobrecidos) puede nacer y puede crecer la fe en Jesús.   Es la trascendencia. Y Monseñor todavía añade: “trascendencia, sin la cual no es posible una perspectiva de justicia social”.  

La lucha por la justicia social no es fácil.  Por supuesto es importante abrir espacios institucionales, públicas y estructurales, pero ahí mismo nacen muchos abusos, aprovechamientos, uso del pobre,….   Por supuesto que nuevas leyes para una mayor justicia económica, social, política,… es necesario, pero no basta. Monseñor se atreve, desde su fe, desde su encuentro diario que “heridos”, se atreve a decir “sin esa trascendencia no es posible una perspectiva de justicia social”.  Si Dios nos mira, nos toca, nos grita, nos abraza,… desde las y los pobres, y si nos atrevemos a responder esa mirada, tocar, escuchar, abrazar,….  Entonces encontraremos una fuente inagotable para el compromiso solidario y verdadera entrega, sin conservar nada para nosotros mismos.

251.  El matrimonio

Monseñor ubica el matrimonio en su contexto social: no se debe casarse para ser felices los dos, encerrados en la pareja.  Hace referencia en primer lugar a la responsabilidad de ser “antorcha que ilumina a su alrededor a otros matrimonios”.   Un matrimonio cristiano debe ser una luz en el camino, a veces muy oscuro, de la vida de otras parejas.  Cuantas parejas no se forman y ante los obstáculos en el camino (alimentados por muchos egoísmos) se sufre y se separa.  Matrimonios cristianos tienen la misión de ser apoyo a otros matrimonios, apoyo mutuo.   En segundo lugar Monseñor llama a los matrimonios “a salir del hogar”, a comprometerse en los caminos de las justicia, por los cambios necesarios en la sociedad.  Cuantas parejas no se encierran en su propia vida, viven lo suyo como que no existe el entorno de injusticia, mentira, corrupción, pobreza, insolidaridad,…   Un matrimonio cristiano tiene una misión socio-política.  No se vive el amor para encerrarse.  En tercer lugar Monseñor se refiere a la formación de niños y niñas en el seno de la familia.  Un matrimonio cristiano no vive por tener más, sino “para ser más”, no en conseguir para uno, sino “en darse a manos llenas a los demás”.  En el matrimonio se educa para el amor y amor significa “entregarse al bienestar de todos, es trabajar por la felicidad común”.

Cuando se ve la realidad de las parejas, de los matrimonios (también celebradas en Iglesias), observo que las palabras de Monseñor son un gran reto en las tres direcciones que menciona en su reflexión de hoy: apoyar a otros matrimonios, el compromiso socio-político por los cambios, la educación por el servicio a los demás.   ¡Cuán lejos estamos de esto!   Monseñor está consciente de esto cuando dijo que los cambios no se harán “mientras los hogares se opongan”. La sociedad de consumo,  el encierro para ver los programas de TV o estar en internet, cada uno con su Facebook o semejantes, los juegos de internet,…  tanta tentación de encierre para que no se viva el amor matrimonial. 

252. No basta ser bueno

Es muy importante y decisivo en nuestra humanidad “ser bueno”, “dejar de hacer el mal”.  En nuestra historia de ayer y de hoy, hay tanta maldad, tanta injusticia, tanta mentira, tanta muerte, tanta corrupción, tanta insolidaridad, tanta pobreza,….. y todo esto es resultado de seres humanos.   La bondad muchas veces se limita a espacios muy pequeños.   Monseñor hace un recordatorio que no basta ser bueno, ni basta no hacer maldad.   Ser cristiano/a va mucho más allá.  Si eres bueno y si dejas de hacer el mal, ya has avanzado mucho en verdadera humanidad, pero, dice Monseñor Romero, “no basta, Te falta mucho todavía”.

¿Qué es lo falta?  Me parece que tiene que ver con entrega total y radical al servicio de la liberación, de la vida, del amor universal.  En los años antes y durante la guerra en El Salvador, miles de jóvenes (juventud y adultos jóvenes) abandonaron todo (realmente todo), para arriesgarse en un proceso por detener la represión, por forjar nuevas condiciones para la construcción de una sociedad “de cambio”, de justicia, solidaridad, igualdad, verdad, …. Muchos de ellos/as no eran cristianos/as, otros muchos/as sí eran cristianos y su motivación por abandonar todo y arriesgar todo (hasta su vida, y muchos la perdieron) nació desde su fe en el Dios de Jesús.  Por supuesto no es algo exclusivo de cristianos/as, claro que no, pero sí es fundamental en una fe verdadera, una fe consecuente y radical.   Esos cristianos/as se convirtieron en signo claro del verdadero sentido de la vida humana en esta historia. Se hicieron “instrumento” de transformación de la historia.   ¿Cómo vivo yo hoy esa fe?

253.  Iglesia y gobierno

Cito: “Si hay un conflicto entre el gobierno y la Iglesia, no es porque la Iglesia sea opositora política del gobierno, sino porque el conflicto ya está establecido entre el gobierno y el pueblo, y la Iglesia defiende al pueblo”.   La Iglesia está del lado del pueblo.  Para Monseñor Romero “pueblo” significaba las grandes mayorías pobres, empobrecidas, excluidas, explotadas (y en aquel tiempo también reprimidas). Además motivó al “pueblo” a no ser una masa aplastada, desorientada, paralizada, sino a ser un pueblo consciente y activo, lleno de esperanza, en la lucha por exigir el respeto a sus derechos. 

Esta opción de “estar con el pueblo” exige de la Iglesia un constante esfuerzo en los procesos de concienciación: la toma de conciencia de las actuales y nuevas generaciones, la conciencia crítica ante la historia (contada por la clase dominante, y celebrada por la clase política), la organización popular desde abajo en función de sus necesidades,….  Si en una país como El Salvador, la  gran mayoría de las y los pobres “vota” por partidos de derecha, y especialmente por el partido de la oligarquía en su relación con el imperio, entonces es evidente que tampoco las Iglesias estamos cumpliendo con nuestra misión de “estar con el pueblo”, de “defender al pueblo”, así como Monseñor Romero lo ha proclamado con exigencia evangélica.   

En nuestro continente – aparentemente – estamos siendo vencidos por las fuerzas conservadoras, liberales de la derecha y se anuncia un nuevo período de retrocesos para el pueblo.  En este tema de reflexión me pregunto: ¿las iglesias no somos capaces de acompañar al pueblo en la construcción de los cambios bajo gobiernos de tendencia socialista?   ¿Solo somos capaces de criticar y no de construir?  Si en El Salvador las empresas no pagan impuestos por más de 1,500 millones de $ al año, y las Iglesias no movilizan al pueblo para exigir justicia, ¿qué estamos haciendo?

 

Temáticas: 

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