:: :: :: :: ::

($currentSection) && (empty($currentSection->address)) //{JMGG} ANTES HAY QUE COMPROBAR QUE NO ES UN MÓDULO && (!isset($currentSection->sectionLanguages[$idLanguage]))) { $logMessage = sprintf("%s: La sección %d que se corresponde con el parámetro ids '%s' no tiene contenido en el idioma '%s'", __FILE__, $currentSection->id, $_GET['ids'], $idLanguage); $log->add($logMessage, LOG_MESSAGE_WARNING); unset($currentSection); } } // Si no hay ninguna sección seleccionada para presentar, se localiza la primera sección // de nivel principal en el sitio web que se está presentando y en el idioma actual. if (!isset($currentSection)) { $query = sprintf("SELECT s.`id_section`" . " FROM `sections` s" . " INNER JOIN `section_languages` sl on s.id_section = sl.id_section and sl.id_language = '%s'" . " WHERE s.id_parent = 0" . " AND `id_website` = %d" . " ORDER BY `order` ASC" . " LIMIT 1", sqldaoEscape($idLanguage), $website->id); $result = $dbConn->sqlQuery($query); if ($result->exec() > 0) { $data = $result->fetch(); $currentSection = new Section((int) $data['id_section']); unset($data); } else { $logMessage = sprintf("No se ha encontrado ninguna sección que mostrar en el lenguaje '%s'", $idLanguage); $log->add($logMessage, LOG_MESSAGE_ERROR); die('Parámetros incorrectos'); } unset($result); } // Se obtiene el objeto plantilla unset($template); if ($currentSection->idSectionType == SECTION_TYPE_TEMPLATE) $template = new Template($currentSection->id); // Si se ha solicitado la ejecución de un comando, se localiza el script y se inserta en el actual. if (isset($_POST['command'])) { $commandFilename = sprintf('cmd-%s.php', $_POST['command']); if (is_file($commandFilename)) { require $commandFilename; } else { $log->add( sprintf("Se ha solicitado la ejecución del comando '%s', pero no se ha encontrado el script '%s'.\n\$_POST = %s", $_POST['command'], $commandFilename, print_r($_POST, true) ), LOG_MESSAGE_WARNING ); } } if (isset($currentSection->sectionLanguages[$idLanguage])) { $pageTitle = empty($currentSection->sectionLanguages[$idLanguage]->title) ? $currentSection->sectionLanguages[$idLanguage]->section : $currentSection->sectionLanguages[$idLanguage]->title; } else { $log->add(sprintf('No se ha podido estimar el título de la página web %s', getExternalAddress()), LOG_MESSAGE_WARNING); $pageTitle = ''; } // Si lo que se está presentando es un módulo de programación o una sección fija--e.g., servicio web--, se estima // un identificador textual en función del nombre del script a cargar. El identificador se utiliza más adelante // para cargar hojas de estilos y scripts JavaScript asociados. if (($currentSection->idSectionType == SECTION_TYPE_MODULE) || ($currentSection->idSectionType == SECTION_TYPE_FIXED)) { $matches = array(); if (preg_match('/^(.*\/)?([^\/]+)\.[^\.]{2,4}$/', $currentSection->address, $matches) > 0) { $currentModule = $matches[count($matches) - 1]; } else { $currentModule = $currentSection->address; } $loaderFile = sprintf("modules/_%s_loader.php", $currentModule); if (is_file($loaderFile)) { include sprintf("modules/_%s_loader.php", $currentModule); } } header('Content-Type: text/html; charset=iso-8859-15'); $firefoxBrowser = (preg_match('/firefox/i', $_SERVER['HTTP_USER_AGENT']) > 0) ? true : false; $pageContainsIframe = ($currentSection->idSectionType == SECTION_TYPE_WEB_PAGE) || ($currentSection->idSectionType == SECTION_TYPE_EXTERNAL_WEB_PAGE); if ($pageContainsIframe || (($currentSection->idSectionType == SECTION_TYPE_TEMPLATE) && isset($template) && ($template->idTemplateType == TPL_GRID) && $firefoxBrowser)) { $dtd = XHTML10T; } else { $dtd = XHTML11; } echo $dtd; ?>