getValue('config'); } public function setUser(array $user) { $_SESSION['user_id'] = $user['id']; $_SESSION['username'] = $user['username']; $_SESSION['is_admin'] = (bool) $user['is_admin']; return $this; } public function getUserId() { return $this->getValue('user_id'); } public function getUsername() { return $this->getValue('username'); } public function isAdmin() { return $this->getValue('is_admin'); } public function isLogged() { return $this->getValue('user_id') !== null; } public function setFlashMessage($message) { $_SESSION['flash_message'] = $message; return $this; } public function setFlashErrorMessage($message) { $_SESSION['flash_error_message'] = $message; return $this; } public function getFlashMessage() { $message = $this->getValue('flash_message'); unset($_SESSION['flash_message']); return $message; } public function getFlashErrorMessage() { $message = $this->getValue('flash_error_message'); unset($_SESSION['flash_error_message']); return $message; } protected function getValue($key) { return isset($_SESSION[$key]) ? $_SESSION[$key] : null; } }