/** * 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; }