connProvider = $connProvider; } public function canAccess(): bool { parent::handleSession(); if (isset($_SESSION['UUID'])) { // User level or existence of account may have changed since session was created $getLevel = $this->connProvider->db()->prepare('SELECT UserLevel FROM UserAccounts WHERE PrincipalID = ?'); $getLevel->execute([$_SESSION['UUID']]); if ($row = $getLevel->fetch()) { $_SESSION['LEVEL'] = $row['UserLevel']; session_set_cookie_params(86400); return true; } else { session_unset(); session_destroy(); return false; } } return false; } public function handleUnauthorized(): void { header('Location: index.php?page=login'); } }