setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$error = '';
$success = '';
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
if (isset($_POST['action']) && isset($_POST['username'])) {
$username = filter_input(INPUT_POST, 'username', FILTER_SANITIZE_STRING);
if ($_POST['action'] === 'ban') {
$stmt = $db->prepare('UPDATE users SET is_blocked = 1 WHERE username = ?');
$stmt->execute([$username]);
$success = "User $username has been banned";
} elseif ($_POST['action'] === 'unban') {
$stmt = $db->prepare('UPDATE users SET is_blocked = 0 WHERE username = ?');
$stmt->execute([$username]);
$success = "User $username has been unbanned";
} elseif ($_POST['action'] === 'preventive_ban') {
if (!preg_match('/^[a-zA-Z0-9_]+$/', $username)) {
$error = "Invalid username format";
} else {
$stmt = $db->prepare('INSERT INTO banned_usernames (username) VALUES (?)');
try {
$stmt->execute([$username]);
$success = "Username $username has been preventively banned";
} catch (PDOException $e) {
$error = "Username already banned";
}
}
} elseif ($_POST['action'] === 'preventive_unban') {
$stmt = $db->prepare('DELETE FROM banned_usernames WHERE username = ?');
$stmt->execute([$username]);
$success = "Username $username has been preventively unbanned";
}
}
}
$stmt = $db->query('SELECT username, is_blocked, is_moderator, created_at FROM users ORDER BY created_at DESC');
$users = $stmt->fetchAll(PDO::FETCH_ASSOC);
?>
Text0Nly - Admin Panel
= htmlspecialchars($error) ?>
= htmlspecialchars($success) ?>
Preventive Ban
Preventively Banned Usernames
Username
Banned At
Actions
query('SELECT username, created_at FROM banned_usernames ORDER BY created_at DESC');
$banned_usernames = $stmt->fetchAll(PDO::FETCH_ASSOC);
foreach ($banned_usernames as $banned): ?>
= htmlspecialchars($banned['username']) ?>
= $banned['created_at'] ?>
Users
Username
Status
Created
Actions
= htmlspecialchars($user['username']) ?>
Banned
Moderator
Active
= $user['created_at'] ?>