�T 1639146110.M681832P1121.server416223.servidoresdedicados.com,S=102355,W=103736(�}(TK1644178009.M120337P23507.server416223.servidoresdedicados.com,S=3279,W=33564.(TK1631898035.M766738P381.server416223.servidoresdedicados.com,S=45586,W=463422�z(XO1640726956.M794764P17379.server416223.servidoresdedicados.com,S=102359,W=103740�Y(XO1636812228.M427064P32732.server416223.servidoresdedicados.com,S=102939,W=104328��J(TL1635417063.M729168P8483.server416223.servidoresdedicados.com,S=46430,W=47199�N(TJ1641963654.M618686P4478.server416223.servidoresdedicados.com,S=3216,W=3293R)(TK1631215822.M572488P12350.server416223.servidoresdedicados.com,S=3227,W=3304�S(TK1636306901.M856995P32546.server416223.servidoresdedicados.com,S=3369,W=3449%7(TK1641294973.M440392P14436.server416223.servidoresdedicados.com,S=3206,W=3283k(TK1638738886.M999720P19984.server416223.servidoresdedicados.com,S=2298,W=23705+D(XM1634665120.M831145P16911.server416223.servidoresdedicados.com,S=58779,W=59733�a(TK1637662671.M357036P10922.server416223.servidoresdedicados.com,S=3515,W=35920O(XM1631948429.M310627P26987.server416223.servidoresdedicados.com,S=47398,W=48181$(XM1631359544.M252395P17225.server416223.servidoresdedicados.com,S=58782,W=59736630z(XO1640679703.M970732P27873.server416223.servidoresdedicados.com,S=102994,W=104383�,(TL1631800403.M605415P7880.server416223.servidoresdedicados.com,S=45535,W=46291Z](XO1637186608.M126051P31610.server416223.servidoresdedicados.com,S=102355,W=1037362f(TK1638207985.M722330P29275.server416223.servidoresdedicados.com,S=2293,W=236558(XM1633335124.M677234P19693.server416223.servidoresdedicados.com,S=45962,W=46763sY(XM1636758885.M255127P31820.server416223.servidoresdedicados.com,S=41442,W=42143�}(TK1644101653.M401871P31592.server416223.servidoresdedicados.com,S=3219,W=3296��(TJ1644352986.M895268P8338.server416223.servidoresdedicados.com,S=3251,W=3335I�(TK1644843704.M850565P11708.server416223.servidoresdedicados.com,S=3452,W=3529��(TI1646562060.M2258P29914.server416223.servidoresdedicados.com,S=3268,W=3345��(TK1647194236.M824951P21119.server416223.servidoresdedicados.com,S=4257,W=4334��(TK1647778236.M260933P21918.server416223.servidoresdedicados.com,S=3336,W=3414M�(TK1648073094.M607745P11192.server416223.servidoresdedicados.com,S=3263,W=3341x�(TJ1649692066.M72539P21275.server416223.servidoresdedicados.com,S=3476,W=3554]�(XM1651071026.M703823P13491.server416223.servidoresdedicados.com,S=19344,W=19638Z�(XM1652891483.M683132P13660.server416223.servidoresdedicados.com,S=47491,W=48299F�(LK1653130814.M550796P19953.server416223.servidoresdedicados.com,S=3293,W=3368�ɍX���X�x�ITL(��pT@ˁ�T^����T
َ�T�!َ0T¾�T"X��ŏX��ߏT��,X����X搎�sT���BXB��XX4_��Te��X�9�nXE�GX��i��T�i���XJ%ϑ�T���X^� ��XpY"���f�+��T8\K�3X�a��Xbځ�[T�����T\���T��Ē�Tv�͒^TZ�ْrT��ݒEX���2TL�8��XF�O��X
@_�X�銓�TF�ד�Xd=�]T,�>��X��A��XԢ���T && module_exists('taxonomy') && preg_match('/taxonomy\/term\/([0-9]+)$/', $current_path, $matches)) {
// So the feature is enabled, as is taxonomy module and the current request is a taxonomy term page.
// NOTE: This will only match taxonomy term pages WITHOUT a depth modifier
$term = taxonomy_term_load($matches[1]);
// Get the term path for this term (handler is defined in the vocab table under module). If it differs from the request, then redirect.
if (!empty($term) && ($term_path = entity_uri('taxonomy_term', $term)) && $term_path['path'] != $current_path) {
$current_path = $term_path['path'];
}
}
// If Content Translation module is enabled then check the path is correct.
if ($settings['language_redirect'] && module_exists('translation') && preg_match('/node\/([0-9]+)(\/.+|)$/', $current_path, $matches)) {
switch (variable_get('locale_language_negotiation_url_part', LOCALE_LANGUAGE_NEGOTIATION_URL_PREFIX)) {
case LOCALE_LANGUAGE_NEGOTIATION_URL_PREFIX:
// Check if there's a translation for the current language of the requested node...
// $matches[0] is the entire matches path from above
$node_translations = translation_path_get_translations($matches[0]);
// If there is, go to the translation.
if (!empty($node_translations[$language->language]) && $node_translations[$language->language] != $matches[0]) {
globalredirect_goto($node_translations[$language->language], $options);
}
// If there is no translation, change the language to fit the content
else {
$node = node_load($matches[1]);
// Check the node has a language set, that it isn't "NONE" (und) and that it dosn't match the site's current language
if (isset($node->language) && $node->language != LANGUAGE_NONE && $node->language != $language->language) {
$all_languages = language_list();
// TODO: Is it possible to get here with a node in a language not in $all_languages?
// Change the global $language's prefix, to make drupal_goto()
// follow the proper prefix
$options['language'] = $language = $all_languages[$node->language];
globalredirect_goto('node/' . $node->nid . $matches[2], $options);
}
}
break;
case LOCALE_LANGUAGE_NEGOTIATION_URL_DOMAIN:
// Let's check is there other languages on site.
$all_languages = language_list();
if (count($all_languages) > 1) {
foreach ($all_languages as $l => $lang) {
// Only test for languages other than the current one.
if ($lang->language != $language->language) {
$alias = drupal_get_path_alias($current_path, $lang->language);
// There is a matching language for this alias
if ($alias != $current_path) {
if (isset($lang->domain)) {
drupal_goto($lang->domain . '/' . $alias, $options, 301);
}
break;
}
}
}
}
break;
}
}
// Find an alias (if any) for the request
$langcode = isset($options['language']->language) ? $options['language']->language : '';
$alias = drupal_get_path_alias($current_path, $langcode);
// Modules may alter outbound links by reference
drupal_alter('url_outbound', $alias, $options, $current_path);
// If we have a prefix AND an alias, we need to make sure the prefix end with
// a slash
if ($prefix && $alias) {
$prefix .= '/';
}
// Alias case sensitivity check.
// NOTE: This has changed. In D6 the $alias matched the request (in terms of
// case). However in D7 $alias is already a true alias (accurate in case),
// and therefore not the "true" request. So, if the alias and the request
// path are case-insensitive the same then, if case sensitive URL's are
// enabled, the alias SHOULD be the accurate $alias from above, otherwise it
// should be the request_path().
// TODO: Test if this breaks the language checking above!
if (strcasecmp($alias, request_path()) == 0) {
// The alias and the request are identical (case insensitive)... Therefore...
$alias = $settings['case_sensitive_urls'] ? $alias : request_path();
}
// Compare the request to the alias. This also works as a 'deslashing'
// agent. If we have a language prefix then prefix the alias
if ($request_path != $prefix . $alias) {
// If it's not just a slash or user has deslash on, redirect
if (str_replace($prefix . $alias, '', $request_path) != '/' || $settings['deslash']) {
globalredirect_goto($alias, $options);
}
}
// If no alias was returned, the final check is to direct non-clean to
// clean - if clean is enabled
if ($settings['nonclean_to_clean'] && ((bool)variable_get('clean_url', 0)) && strpos(request_uri(), '?q=')) {
globalredirect_goto($current_path, $options);
}
// Restore the destination from earlier so its available in other places.
if (isset($destination)) {
$_GET['destination'] = $destination;
}
// Add the canonical link to the head of the document if desired.
// TODO - The Canonical already gets set by Core for node page views... See http://api.drupal.org/api/function/node_page_view/7
if ($settings['canonical']) {
drupal_add_html_head_link(array(
'rel' => 'canonical',
'href' => url(drupal_is_front_page() ? '' : $request_path, array('absolute' => TRUE, 'query' => $query_string)),
));
}
// Add the Content-Location header to the page
if ($settings['content_location_header']) {
drupal_add_http_header('Content-Location', url(drupal_is_front_page() ? '' : $request_path, array('absolute' => TRUE, 'query' => $query_string)));
}
}
/**
* A wrapper for drupal_goto() that does not pass through if $path is an
* external URL.
*/
function globalredirect_goto($path = '', array $options = array(), $http_response_code = 301) {
if (!globalredirect_url_is_external($path)) {
return drupal_goto($path, $options, $http_response_code);
}
}
/**
* Check if a path is external (e.g. http://example.com).
*
* This is a simple copy of url_is_external() which if given an URL with an
* invalid protocal will return FALSE, an undesired value. This function will
* return TRUE given an URL with an invalid protocol.
*/
function globalredirect_url_is_external($path) {
$colonpos = strpos($path, ':');
return $colonpos !== FALSE && !preg_match('![/?#]!', drupal_substr($path, 0, $colonpos));
}
/**
* Implements hook_menu().
*/
function globalredirect_menu() {
$items['admin/config/system/globalredirect'] = array(
'title' => 'Global Redirect',
'description' => 'Chose which features you would like enabled for Global Redirect',
'page callback' => 'drupal_get_form',
'page arguments' => array('globalredirect_settings'),
'access arguments' => array('administer site configuration'),
'file' => 'globalredirect.admin.inc',
);
return $items;
}
/**
* Internal function to determine if GlobalRedirect is active.
* Several rules have to be checked prior to execution, such as an empty post array,
* the site must be online and we cannot be running in CLI mode (eg Drush).
*/
function _globalredirect_is_active($settings) {
/**
* We need to do a test to make sure we only clean up URL's for the main
* request. This stops modules such as the Ad Module which had its own script
* in its folder doing a bootstrap which invoked hook_init() and caused some
* banners to get "cleaned up"
*
* @see http://drupal.org/node/205810
* @see http://drupal.org/node/278615
*/
if ($_SERVER['SCRIPT_NAME'] != $GLOBALS['base_path'] . 'index.php') {
return FALSE;
}
/**
* If this is a command line request (Drush, etc), skip processing.
*/
if (drupal_is_cli()) {
return FALSE;
}
/**
* If the site is in offline mode there is little point doing any of this as
* you might end up redirecting to a 503.
*/
if (variable_get('site_offline', 0) == 1) {
return FALSE;
}
/**
* If there is something posted, GlobalRedirect is not active
*/
if (!empty($_POST)) {
return FALSE;
}
/**
* If drupal_get_path_alias isn't preset, GlobalRedirect is not active
*/
if (!function_exists('drupal_get_path_alias')) {
return FALSE;
}
/**
* If menu_check is enabled AND the menu_get_item function is missing,
* GlobalRedirect is disabled.
*/
if ($settings['menu_check'] && !function_exists('menu_get_item')) {
return FALSE;
}
/**
* If we're going to ignore the admin path, return false.
* This is added to allow people to continue to get to the 'admin*' paths,
* even if the module is misbehaving.
*/
if ($settings['ignore_admin_path'] && (arg(0) == 'admin' || arg(0) == 'batch')) {
return FALSE;
}
/**
* We seem to have passed all the tests - let say we're active
*/
return TRUE;
}
/**
* Return the settings with any defaults mapped over the top
*/
function _globalredirect_get_settings($default_only = FALSE) {
$defaults = array(
'deslash' => 1,
'nonclean_to_clean' => 1,
'trailing_zero' => 0,
'menu_check' => 0,
'case_sensitive_urls' => 1,
'language_redirect' => 0,
'canonical' => 0,
'content_location_header' => 0,
'term_path_handler' => 1,
'frontpage_redirect' => 1,
'ignore_admin_path' => 1,
);
if ($default_only) {
return $defaults;
}
return variable_get('globalredirect_settings', array()) + $defaults;
}
/**
* globalredirect_request_path() is borrowed from request_uri(), but it only ltrim's..
*/
function globalredirect_request_path() {
if (request_uri()) {
if (isset($_REQUEST['q'])) {
$path = $_REQUEST['q'];
}
else {
// This is a request using a clean URL. Extract the path from REQUEST_URI.
$request_path = strtok(request_uri(), '?');
$base_path_len = drupal_strlen(rtrim(dirname($_SERVER['SCRIPT_NAME']), '\/'));
// Unescape and strip $base_path prefix, leaving q without a leading slash.
$path = drupal_substr(urldecode($request_path), $base_path_len + 1);
}
}
else {
// This is the front page.
$path = '';
}
// Under certain conditions Apache's RewriteRule directive prepends the value
// assigned to $_GET['q'] with a slash. Moreover we can always have a trailing
// slash in place, hence we need to normalize $_GET['q'].
$path = ltrim($path, '/');
return $path;
}
Event Calendar | Real Hermandad de Jesús con la Cruz y Cristo Resucitado