
|
($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;
?>
| |