Ejemplo n.º 1
0
 /**
  * Obtenemos si hay un usuario logueado o no.
  * @return bool
  */
 public static function is_login()
 {
     // Verifico si ya tengo un valor.
     if (!isset(self::$is_login)) {
         // Verifico cookie + session.
         if (!isset($_SESSION['usuario_id'])) {
             if (Cookie::cookie_exists('usuario_id')) {
                 $_SESSION['usuario_id'] = Cookie::get_cookie_value($cookiename);
             }
         }
         // Verifico si existe el valor en la session.
         if (isset($_SESSION['usuario_id'])) {
             // Verifico si está en la base de datos.
             $model_session = new Model_Session(session_id());
             // Verifico el tiempo.
             if ($model_session->expira !== NULL) {
                 if ($model_session->expira->getTimestamp() < time()) {
                     // Termino la sessión.
                     $model_session->borrar();
                     self::$is_login = FALSE;
                 } else {
                     // Actualizo la session.
                     $model_session->actualizar_expira(session_cache_expire() * 60);
                     self::$is_login = TRUE;
                 }
             } else {
                 self::$is_login = FALSE;
             }
             unset($model_session);
         } else {
             self::$is_login = FALSE;
         }
     }
     return self::$is_login;
 }
Ejemplo n.º 2
0
 /**
  * Redireccionamos a la ruta provista.
  * @param string|array $url URL o segmentos de la URL a donde redireccionar.
  * @param bool $save_current Si guardamos la URL para que el usuario pueda regresar.
  * @param bool $go_saved Si tratamos de ir a una ruta guardada.
  */
 public static function redirect($url, $save_current = FALSE, $go_saved = FALSE)
 {
     // Verifico ruta guardada.
     if ($go_saved && Cookie::cookie_exists('r_u')) {
         $url = Cookie::get_cookie_value('r_u');
         Cookie::delete_cookie('r_u');
     }
     // Si tenemos los segmentos generamos la URL.
     if (is_array($url)) {
         $url = '/' . implode('/', $url);
     }
     if ($url[0] == '/') {
         $url = substr($url, 1);
     }
     $url = SITE_URL . $url;
     // Verifico si tengo que guardar la URL.
     if ($save_current) {
         Cookie::set_classic_cookie('r_u', Request::current());
     }
     // Redireccionamos.
     header("Location: {$url}");
     die;
 }