Beispiel #1
0
 /**
  * Método para abrir y cerrar sesión
  * @param type $opt
  * @return boolean
  */
 public static function setSession($opt = 'open', $user = NULL, $pass = NULL, $mode = NULL)
 {
     if ($opt == 'close') {
         $usuario = Session::get('id');
         if (MkcAuth::logout()) {
             //Registro la salida
             Acceso::setAcceso(Acceso::SALIDA, $usuario);
             return true;
         }
         MkcMessage::error(MkcAuth::getError());
     } else {
         if ($opt == 'open') {
             if (MkcAuth::isLogged()) {
                 return true;
             } else {
                 if (MkcForm::isValidToken()) {
                     if (MkcAuth::login(array('login' => $user), array('password' => sha1($pass)), $mode)) {
                         $usuario = self::getUsuarioLogueado();
                         if ($usuario->id != 2 && $usuario->estado_usuario != EstadoUsuario::ACTIVO) {
                             MkcAuth::logout();
                             MkcMessage::error('Lo sentimos pero tu cuenta se encuentra inactiva. <br />Si esta información es incorrecta contacta al administrador del sistema.');
                             return false;
                         }
                         Session::set('nombre', $usuario->nombre);
                         Session::set('apellido', $usuario->apellido);
                         Session::set('cargo', $usuario->cargo);
                         Session::set('fotografia', $usuario->fotografia);
                         Session::set("ip", MkcUtils::getIp());
                         Session::set('perfil', $usuario->perfil);
                         Session::set('tema', $usuario->tema);
                         Session::set('app_ajax', $usuario->app_ajax);
                         //Registro el acceso
                         Acceso::setAcceso(Acceso::ENTRADA, $usuario->id);
                         MkcMessage::info("¡ Bienvenido <strong>{$usuario->login}</strong> !.");
                         return true;
                     } else {
                         MkcMessage::error(MkcAuth::getError());
                     }
                 } else {
                     MkcMessage::info('La llave de acceso ha caducado. <br />Por favor ' . Html::link('sistema/login/entrar/', 'recarga la página <b>aquí</b>'));
                 }
             }
         } else {
             MkcMessage::error('No se ha podido establecer la sesión actual.');
         }
     }
     return false;
 }