email) && isset($this->password)){ $userData = Main::select('users', ['email', 'username', 'password', 'id'], ['email' => trim($this->email)]); if(!$userData){ return false; } if(password_verify($this->password, $userData['password'])){ $sid = bin2hex(random_bytes(16)); $payload = [ 'uid' => (int)$userData['id'], 'sid' => $sid, 'exp' => time() + 86400 ]; if(Sys::cookieSet('v_auth', $payload)){ Sys::validateSession($sid); Sys::session('uid', (int)$userData['id']); Sys::session('logged_in_at', time()); return true; } } } return false; } public function logout(){ Sys::cookieClear('v_auth'); if(session_status() === PHP_SESSION_ACTIVE){ session_unset(); session_destroy(); } return true; } } ?>