prepare("SELECT isBanned FROM users WHERE userId = ?"); $stmt->execute([$userId]); $userData = $stmt->fetch(PDO::FETCH_ASSOC); if (!$userData || $userData['isBanned'] == 0) { header("Location: /"); exit(); } $stmt = $pdo->prepare("SELECT * FROM bans WHERE UserId = ? ORDER BY ID DESC LIMIT 1"); $stmt->execute([$userId]); $banData = $stmt->fetch(PDO::FETCH_ASSOC); $isWarning = isset($banData['isWarning']) ? (int)$banData['isWarning'] : 0; $banType = $banData['BanType'] ?? ''; $reviewedAt = $banData['ReviewedAt'] ?? 0; $modNote = $banData['ModNote'] ?? 'No moderator note'; $reviewDate = date("n/j/Y g:i:s A", $reviewedAt); $currentTime = time(); $banLengthSeconds = isset($banData['BanLength']) ? (int)$banData['BanLength'] : 0; $isPermanentBan = in_array($banLengthSeconds, [999999999, 999999998, 999999997]); $unbanReady = false; $durations = [ 'Ban 1 Day' => 1, 'Ban 3 Days' => 3, 'Ban 7 Days' => 7, 'Ban 14 Days' => 14 ]; if ($isWarning === 1 || $banLengthSeconds === 0) { $unbanReady = true; } elseif ($banLengthSeconds > 0 && $banLengthSeconds < 999999997) { $banEnd = $reviewedAt + $banLengthSeconds; if ($currentTime >= $banEnd) { $unbanReady = true; } } if ($_SERVER['REQUEST_METHOD'] === 'POST') { if (isset($_POST['logout'])) { logout(); header("Location: /"); exit(); } if (isset($_POST['reactivate']) && $unbanReady) { $updateStmt = $pdo->prepare("UPDATE users SET isBanned = 0 WHERE userId = ?"); $updateStmt->execute([$userId]); header("Location: /"); exit(); } } $banLengths = [ 'warn' => 0, 'ban1' => 86400, 'ban3' => 259200, 'ban7' => 604800, 'ban14' => 1209600, 'delete' => 999999999, 'poison' => 999999998, 'macban' => 999999997, ]; $reverseBanLengths = array_flip($banLengths); $banKey = $reverseBanLengths[$banLengthSeconds] ?? null; $banTextMap = [ 'warn' => 'Warning', 'ban1' => 'Banned for 1 day', 'ban3' => 'Banned for 3 days', 'ban7' => 'Banned for 7 days', 'ban14' => 'Banned for 14 days', 'delete' => 'Account Deleted', 'poison' => 'Poison Banned', 'macban' => 'MAC Banned', ]; if ($isWarning == 1) { $pageTitle = "Warning | Afterworld"; $headingText = "Warning"; } else { $pageTitle = "Afterworld | Disabled Account"; if ($banKey !== null && isset($banTextMap[$banKey])) { $headingText = $banTextMap[$banKey]; } else { $headingText = "Banned"; } } ?> <?= htmlspecialchars($pageTitle) ?>