/** * 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 (DwAuth::logout()) { //Registro la salida Acceso::setAcceso(Acceso::SALIDA, $usuario); return true; } DwMessage::error(DwAuth::getError()); } else { if ($opt == 'open') { if (DwAuth::isLogged()) { return true; } else { if (DwForm::isValidToken()) { if (DwAuth::login(array('login' => $user), array('password' => sha1($pass)), $mode)) { $usuario = self::getUsuarioLogueado(); if ($usuario->id != 2 && $usuario->estado_usuario != EstadoUsuario::ACTIVO) { DwAuth::logout(); DwMessage::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('foto', $usuario->fotografia); Session::set("ip", DwUtils::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); DwMessage::info("¡ Bienvenido <strong>{$usuario->login}</strong> !."); return true; } else { DwMessage::error(DwAuth::getError()); } } else { DwMessage::info('La llave de acceso ha caducado. <br />Por favor ' . Html::link('sistema/login/entrar/', 'recarga la página <b>aquí</b>')); } } } else { DwMessage::error('No se ha podido establecer la sesión actual.'); } } return false; }
/** * 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') { //Cerrar Sesión $usuario = Session::get('id'); if (DwAuth::logout()) { //Registro la salida Acceso::setAcceso(Acceso::SALIDA, $usuario); return TRUE; } Flash::error(DwAuth::getError()); } else { if ($opt == 'open') { //Abrir Sesión if (DwAuth::isLogged()) { return TRUE; } else { if (DwForm::isValidToken()) { //Si el formulario es válido if (DwAuth::login(array('login' => $user), array('password' => $pass), $mode)) { $usuario = self::getUsuarioLogueado(); if ($usuario->perfil_id != Perfil::SUPER_USUARIO && $usuario->estado_usuario != EstadoUsuario::ACTIVO) { DwAuth::logout(); Flash::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("ip", DwUtils::getIp()); Session::set('perfil', $usuario->perfil); //Registro el acceso Acceso::setAcceso(Acceso::ENTRADA, $usuario->id); Flash::info("¡ Bienvenido <strong>{$usuario->login}</strong> !."); return TRUE; } else { Flash::error(DwAuth::getError()); } } else { Flash::info('La llave de acceso ha caducado. <br />Por favor ' . Html::link('sistema/login/entrar/', 'recarga la página <b>aquí</b>')); } } } else { Flash::error('No se ha podido establecer la sesión actual.'); } } return FALSE; }
/** * 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 (DwAuth::logout()) { //Registro la salida Acceso::setAcceso(Acceso::SALIDA, $usuario); return true; } DwMessage::error(DwAuth::getError()); } else { if ($opt == 'open') { if (DwAuth::isLogged()) { return true; } else { if (DwForm::isValidToken()) { if (DwAuth::login(array('login' => strtoupper($user)), array('password' => sha1(strtoupper($pass))), $mode)) { $usuario = self::getUsuarioLogueado(); $usuval = UsuarioClave::clave_valida($usuario->id); $usuintentos = self::usuario_intentos($usuario->id); if ($usuario->estatus != 1) { DwAuth::logout(); DwMessage::error('Lo sentimos pero tu cuenta se encuentra inactiva. <br />Si esta información es incorrecta contacta al administrador del sistema.'); return false; } if ($usuintentos == 2) { // DwAuth::logout(); //Session::set('perfil_id', '8'); //Session::set('tema', 'default'); //Session::set('nombre1', $usuario->nombre1); //Session::set('apellido1', $usuario->apellido1); //return DwRedirect::to('sistema/usuario_clave/cambiar_clave'); //DwMessage::error('usuintentos. '.$usuintentos.'<br />Si esta información es incorrecta contacta al administrador del sistema.'); } if ($usuval != 1) { // DwAuth::logout(); Session::set('perfil_id', '8'); Session::set('tema', 'default'); Session::set('nombres', $usuario->nombres); Session::set('apellidos', $usuario->apellidos); return DwRedirect::to('sistema/usuario_clave/cambiar_clave'); } Session::set('nombres', $usuario->nombres); Session::set('apellidos', $usuario->apellidos); Session::set('ip', DwUtils::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); DwMessage::info("¡ Bienvenido <strong>{$usuario->nombres} {$usuario->apellidos}</strong> !."); return true; } else { DwMessage::error(DwAuth::getError()); } } else { DwMessage::info('La llave de acceso ha caducado. <br />Por favor ' . Html::link('sistema/login/entrar/', 'recarga la página <b>aquí</b>')); } } } else { DwMessage::error('No se ha podido establecer la sesión actual.'); } } return false; }