* requerimiento nuevo que no sea un módulo debe de agregarse aquí */ // TODO: agregar manera de rutear _elastixutils a través de paloSantoNavigation if (!is_null($selectedMenu) && $selectedMenu == '_elastixutils' && file_exists("{$elxPath}/apps/_elastixutils/index.php")) { // Cargar las configuraciones para el módulo elegido if (file_exists("{$elxPath}/apps/_elastixutils/configs/default.conf.php")) { require_once "apps/_elastixutils/configs/default.conf.php"; global $arrConf; 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();
private function includeModule($module) { if (!file_exists("modules/{$module}/index.php")) { return "Error: The module <b>modules/{$module}/index.php</b> could not be found!<br/>"; } /* // Cargar las configuraciones para el módulo elegido if (file_exists("modules/$module/configs/default.conf.php")) { require_once "modules/$module/configs/default.conf.php"; global $arrConf; global $arrConfModule; $arrConf = array_merge($arrConf, $arrConfModule); } // Cargar las traducciones para el módulo elegido load_language_module($module); */ ini_set('include_path', dirname($_SERVER['SCRIPT_FILENAME']) . "/modules/{$module}/libs:" . ini_get('include_path')); require_once "modules/{$module}/index.php"; if (!function_exists("_moduleContent")) { return "Wrong module: modules/{$module}/index.php"; } $this->putHEAD_MODULE_HTML($module); return _moduleContent($this->_smarty, $module); }
echo "ERROR DE DB: {$pDB->errMsg} <br>"; } $pACL = new paloACL($pDB); if (!empty($pACL->errMsg)) { echo "ERROR DE DB: {$pACL->errMsg} <br>"; } // Load smarty $arrConf['mainTheme'] = load_theme($arrConf['basePath'] . "/"); $smarty = getSmarty($arrConf['mainTheme']); $pDBMenu = new paloDB($arrConf['elastix_dsn']['elastix']); // 2) Autentico usuario if (isset($_SESSION['elastix_user']) && isset($_SESSION['elastix_pass']) && $pACL->authenticateUser($_SESSION['elastix_user'], $_SESSION['elastix_pass']) or $developerMode == true) { $idUser = $pACL->getIdUser($_SESSION['elastix_user']); // 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') { // Autorizacion si es usuario admin echo _moduleContent($smarty, $module); } } else { $smarty->assign("THEMENAME", $arrConf['mainTheme']); $smarty->assign("currentyear", date("Y")); $smarty->assign("PAGE_NAME", _tr('Login page')); $smarty->assign("WELCOME", _tr('Welcome to Elastix')); $smarty->assign("ENTER_USER_PASSWORD", _tr('Please enter your username and password')); $smarty->assign("USERNAME", _tr('Username')); $smarty->assign("PASSWORD", _tr('Password')); $smarty->assign("SUBMIT", _tr('Submit')); $smarty->display("_common/login.tpl"); }
private function includeModule($module) { global $arrConf; //comprobamos que exista el index del modulo if (!file_exists("{$arrConf['elxPath']}/apps/{$module}/index.php")) { return array('data' => "Error: The module <b>{$arrConf['elxPath']}/apps/{$module}/index.php</b> could not be found!<br/>"); } require_once "apps/{$module}/index.php"; //si existe el archivo de configuracion del modulo se los incluye y se cargan las configuraciones //especificas del modulo elegido if (file_exists("{$arrConf['elxPath']}/apps/{$module}/configs/default.conf.php")) { include_once "apps/{$module}/configs/default.conf.php"; global $arrConf; global $arrConfModule; if (is_array($arrConfModule)) { $arrConf = array_merge($arrConf, $arrConfModule); } } //se incluyen las librerias que esten dentro de apps/$module/libs $dirLibs = "{$arrConf['elxPath']}/apps/{$module}/libs"; if (is_dir($dirLibs)) { $arr_libs = $this->obtainFiles($dirLibs, "class.php"); if ($arr_libs != false && count($arr_libs) > 0) { for ($i = 0; $i < count($arr_libs); $i++) { include_once "apps/{$module}/libs/" . $arr_libs[$i]; } } } // Cargar las traducciones para el módulo elegido load_language_module($module); // Cargar las creadenciales del usuario global $arrCredentials; $arrCredentials = getUserCredentials($_SESSION['elastix_user']); if ($arrCredentials == false) { return array('data' => "Error to load User Credentials: {$_SESSION['elastix_user']}"); } //cargar los permisos del modulo global $arrPermission; $arrPermission = getResourceActionsByUser($arrCredentials['idUser'], $module); if ($arrPermission == false) { return array('data' => "Error to load Module Permissions: {$module}"); } if (!function_exists("_moduleContent")) { return array('data' => "Wrong module: apps/{$module}/index.php"); } $CssJsModule = $this->putHEAD_MODULE_HTML($module); $moduleContent = _moduleContent($this->_smarty, $module); return array("data" => $moduleContent, "JS_CSS_HEAD" => $CssJsModule); }