/** * Checks if user is logged in or not. * It uses Session and Cookies to validate the current user. * * @access public * @static static method * @return boolean * */ private function loggedIn() { if (Session::isSessionValid($this->request->clientIp(), $this->request->userAgent())) { return true; } if (Cookie::isCookieValid()) { //get role from user class, because cookies don't store roles $role = $this->controller->user->getProfileInfo(Cookie::getUserId())["role"]; Session::reset(["user_id" => Cookie::getUserId(), "role" => $role, "ip" => $this->request->clientIp(), "user_agent" => $this->request->userAgent()]); //reset cookie, Cookie token is usable only once Cookie::reset(Session::getUserId()); return true; } return false; }