isUserActive($_SESSION["ID"]); return $B_userActive; } public static function set_login($I_id){ self::start_session(); $_SESSION["ID"] = $I_id; } public static function login_or_die() { if (!self::is_login()) { $S_uri = null; // special case: user probably got there from the account button if (str_starts_with($_SERVER["REQUEST_URI"], "/user/") && isset($_SERVER["HTTP_REFERER"])) { $S_uri = $_SERVER['HTTP_REFERER']; } else { $S_uri = $_SERVER["REQUEST_URI"]; } header("Location: /user/login?return_uri=".$S_uri); throw new HTTPSpecialCaseException(403); } } public static function is_admin(){ if (!self::is_login()) return false; $O_userSessionModel = new UserSessionModel(); return $O_userSessionModel->isUserAdmin($_SESSION["ID"]); } public static function admin_or_die(){ Session::login_or_die(); if (!self::is_admin()) { throw new HTTPSpecialCaseException(403); } } }