/** * Contiene la funcionalidad de control sobre el usuario. * @param base_model $obj_model Instancia de un modelo * @param string $str_username Identificador de usuario * @param string $str_userpswd Clave de acceso a validar. * @return boolean TRUE si tiene acceso, FALSE si no. */ function processUser(&$obj_model, $str_username, $str_userpswd) { $ret_val = false; if (isset($str_username) && $str_username != '') { if (isset($str_userpswd) && $str_userpswd != '') { include_once Util::app_Path("common/control/classes/miguel_userinfo.class.php"); if (miguel_UserInfo::hasAccess($obj_model, $str_username, $str_userpswd)) { if (miguel_UserInfo::isLogged($obj_model, $str_username)) { if ($this->getSessionElement('userinfo', 'name') == $str_username) { //Control sobre re-login $ret_val = true; } else { $arr_userinfo = miguel_UserInfo::getInfo($obj_model, $str_username); $arr_userinfo['isadmin'] = miguel_UserInfo::isAdmin($obj_model, $str_username); $this->setSessionArray('userinfo', $arr_userinfo); $ok = miguel_UserInfo::setLogin($obj_model, $str_username); $ret_val = true; } } } //Debug::oneVar($_SESSION, __FILE__, __LINE__); } } return $ret_val; }
function prepareTheme($theme) { include_once Util::base_Path('include/classes/theme.class.php'); //Comprobamos si el tema existe if (!Theme::existTheme($theme)) { $theme = Session::getContextValue('theme'); } //Configuración theme $file = MIGUELBASE_THEME_DIR . $theme . '/theme.xml'; if (file_exists($file)) { miguel_UserInfo::_processXMLInitData($file); } else { $this->_setError("miguel_UserInfo:: el tema visual no está configurado"); } }
function processPetition() { $this->setMessage('Administración'); $user_id = $this->getSessionElement('userinfo', 'user_id'); if (isset($user_id) && $user_id != '') { $user = $this->getSessionElement('userinfo', 'user_alias'); if (miguel_UserInfo::isAdmin(&$this->obj_data, $user)) { $this->addNavElement(Util::format_URLPath('admin/index.php'), 'Administración'); if ($this->issetViewVariable('admin_screen')) { $str_screen = $this->getViewVariable('admin_screen'); } else { if ($this->issetViewVariable('id')) { $str_screen = $this->getViewVariable('id'); } } switch ($str_screen) { case 'users': //Procesar pantalla "Gestión de usuarios" $this->addNavElement(Util::format_URLPath('admin/index.php', 'admin_screen=users'), 'Gestión de usuarios'); $this->setMessage('Gestión de usuarios'); break; case 'courses': //Procesar pantalla "Gestión de cursos" $this->addNavElement(Util::format_URLPath('admin/index.php', 'admin_screen=courses'), 'Gestión de cursos'); $this->setMessage('Gestión de cursos'); break; case 'petitions': //Procesar pantalla "Procesar peticiones" $this->addNavElement(Util::format_URLPath('admin/index.php', 'admin_screen=petitions'), 'Procesar peticiones'); $this->setMessage('Procesar las peticiones al administrador'); break; case 'sysconfig': //Procesar pantalla "Configuración del sistema" $this->addNavElement(Util::format_URLPath('admin/index.php', 'admin_screen=sysconfig'), 'Configuración del sistema'); $this->setMessage('Configuración del sistema'); break; case 'add_user': //Procesar pantalla "Dar de alta usuarios" (en "Gestión de usuarios") $this->addNavElement(Util::format_URLPath('admin/index.php', 'admin_screen=users'), 'Gestión de usuarios'); $this->addNavElement(Util::format_URLPath('admin/index.php', 'admin_screen=add_user'), 'Altas'); $this->setMessage('Dar de alta usuarios'); $this->_processAddUser(); break; case 'del_user': //Procesar pantalla "Dar de baja usuarios" (en "Gestión de usuarios") $this->addNavElement(Util::format_URLPath('admin/index.php', 'admin_screen=users'), 'Gestión de usuarios'); $this->addNavElement(Util::format_URLPath('admin/index.php', 'admin_screen=del_user'), 'Bajas'); $this->setMessage('Dar de baja usuarios'); $this->_processDelUser(); break; case 'edit_user_profile': //Procesar pantalla "Editar perfil de un usuario" (en "Gestión de usuarios") $this->addNavElement(Util::format_URLPath('admin/index.php', 'admin_screen=users'), 'Gestión de usuarios'); $this->addNavElement(Util::format_URLPath('admin/index.php', 'admin_screen=edit_user_profile'), 'Editar'); $this->setMessage('Editar perfil de un usuario'); $this->_processEditUserProfile(); break; case 'add_user_list': //Procesar pantalla "Importar lista de usuarios" (en "Gestión de usuarios") $this->addNavElement(Util::format_URLPath('admin/index.php', 'admin_screen=users'), 'Gestión de usuarios'); $this->addNavElement(Util::format_URLPath('admin/index.php', 'admin_screen=add_user_list'), 'Importar lista de usuarios'); $this->setMessage('Importar una lista de usuarios'); $this->_processAddUserList(); break; case 'user_list': //Procesar pantalla "Lista de usuarios" (en "Gestión de usuarios") $this->addNavElement(Util::format_URLPath('admin/index.php', 'admin_screen=users'), 'Gestión de usuarios'); $this->addNavElement(Util::format_URLPath('admin/index.php', 'admin_screen=user_list'), 'Lista de usuarios'); $this->setMessage('Lista de usuarios'); $this->_processUserList(); break; //case 'add_course': //Procesar pantalla "Crear un curso" (en "Gestión de cursos") // $this->setMessage('Crear un curso'); // $this->_processAddCourse(); // break; //case 'course_list': //Procesar pantalla "Lista de cursos" (en "Gestión de cursos") // $this->setMessage('Lista de cursos'); // $this->_processCourseList(); // break; //case 'del_course': //Procesar pantalla "Borrar un curso" (en "Gestión de cursos") // $this->setMessage('Borrar curso'); // $this->_processDelCourse(); // break; //case 'edit_course': //Procesar pantalla "Editar un curso" (en "Gestión de cursos") // $this->setMessage('Editar curso'); // $this->_processEditCourse(); // break; //case 'add_course': //Procesar pantalla "Crear un curso" (en "Gestión de cursos") // $this->setMessage('Crear un curso'); // $this->_processAddCourse(); // break; //case 'course_list': //Procesar pantalla "Lista de cursos" (en "Gestión de cursos") // $this->setMessage('Lista de cursos'); // $this->_processCourseList(); // break; //case 'del_course': //Procesar pantalla "Borrar un curso" (en "Gestión de cursos") // $this->setMessage('Borrar curso'); // $this->_processDelCourse(); // break; //case 'edit_course': //Procesar pantalla "Editar un curso" (en "Gestión de cursos") // $this->setMessage('Editar curso'); // $this->_processEditCourse(); // break; default: break; } $this->setSessionElement('admin_screen', $str_screen); $this->setViewVariable('admin_screen', $str_screen); } else { $this->setViewVariable('admin_error', 'no_auth'); $this->setViewClass('miguel_VAdmin'); return false; } } else { $this->setViewVariable('admin_error', 'no_logged'); $this->setViewClass('miguel_VAdmin'); return false; } }