public function logout() { $user = Models\User::getCurrent(); if ($user instanceof Models\User) { TigerApp::log("Logout for {$user->username}"); } Session::dispose('user'); $this->slim->response()->redirect("/login"); }
/** * @param $username * @param $password * @return bool */ public function doLogin($username, $password) { // Support logging in with email address $user = Models\User::search()->where('email', $username)->execOne(); // Support logging in with username if (!$user instanceof Models\User) { $user = Models\User::search()->where('username', $username)->execOne(); } if (!$user instanceof Models\User) { TigerApp::log("No such user {$username}", Slim\Log::WARN); return false; } elseif ($user->checkPassword($password)) { Session::set("user", $user); return true; } else { TigerApp::log("Failed login for {$username}", Slim\Log::WARN); return false; } }
/** * Set the current user. * @param User $user * @return bool */ public static function setCurrent(User $user = null) { Session::set('user', $user); return true; }