global $arrConfModule; if (is_array($arrConfModule)) { $arrConf = array_merge($arrConf, $arrConfModule); } } // Cargar las traducciones para el módulo elegido load_language_module($selectedMenu); require_once "apps/_elastixutils/index.php"; echo _moduleContent($smarty, $selectedMenu); return; } // Inicializa el objeto palosanto navigation $oPn = new paloSantoNavigation($arrMenuFiltered, $smarty, $selectedMenu); $selectedMenu = $oPn->getSelectedModule(); // Obtener contenido del módulo, si usuario está autorizado a él $bModuleAuthorized = $pACL->isUserAuthorizedById($idUser, $selectedMenu); $sModuleContent = $bModuleAuthorized ? $oPn->showContent() : array('data' => ''); // rawmode es un modo de operacion que pasa directamente a la pantalla la salida // del modulo. Esto es util en ciertos casos. $rawmode = getParameter("rawmode"); if (isset($rawmode) && $rawmode == 'yes') { echo $sModuleContent['data']; } else { $oPn->renderMenuTemplates(); if (file_exists($arrConf['basePath'] . '/web/themes/' . $arrConf['mainTheme'] . '/themesetup.php')) { require_once $arrConf['basePath'] . '/web/themes/' . $arrConf['mainTheme'] . '/themesetup.php'; themeSetup($smarty, $selectedMenu, $pdbACL, $pACL, $idUser); } // Autorizacion if ($bModuleAuthorized) { // Guardar historial de la navegación
$pDBMenu = new paloDB($arrConf['elastix_dsn']['elastix']); $pMenu = new paloMenu($pDBMenu); $arrMenu = $pMenu->cargar_menu(); if (!empty($pDB->errMsg)) { echo "ERROR DE DB: {$pDB->errMsg} <br>"; } $pACL = new paloACL($pDB); $arrTmp = array(); if (!empty($_SESSION['elastix_user'])) { $idUser = $pACL->getIdUser($_SESSION['elastix_user']); //- TODO: Mejorar el siguiente bloque. Seguro debe de haber una forma mas //- eficiente de hacerlo //- Primero me barro todos los submenus foreach ($arrMenu as $idMenu => $arrMenuItem) { if (!empty($arrMenuItem['IdParent'])) { if ($pACL->isUserAuthorizedById($idUser, "access", $idMenu)) { $arrSubmenu[$idMenu] = $arrMenuItem; $arrMenuFiltered[$idMenu] = $arrMenuItem; } } } //- Ahora me barro el menu principal foreach ($arrMenu as $idMenu => $arrMenuItem) { if (empty($arrMenuItem['IdParent'])) { foreach ($arrSubmenu as $idSubMenu => $arrSubMenuItem) { if ($arrSubMenuItem['IdParent'] == $idMenu) { $arrMenuFiltered[$idMenu] = $arrMenuItem; } } } }