From bf0536ac9c8bf3a776c81c66335f7f7c126fd14c Mon Sep 17 00:00:00 2001 From: Lain Iwakura Date: Mon, 16 Jun 2025 03:09:14 +0300 Subject: [PATCH] added admin panel (let the gates of hell open) --- main/admin.php | 146 +++++++++++++++++++++++++++++++++++++++++++++++++ main/index.php | 3 + main/login.php | 3 +- 3 files changed, 151 insertions(+), 1 deletion(-) create mode 100644 main/admin.php diff --git a/main/admin.php b/main/admin.php new file mode 100644 index 0000000..31b69ac --- /dev/null +++ b/main/admin.php @@ -0,0 +1,146 @@ +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"; + } + } +} + +$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 + + + + +
+
+

Admin Panel

+ +
+ + +
+ + +
+ + + + + + + + + + + + + + + + + + + + + +
UsernameStatusCreatedActions
+ + Banned + + Moderator + + Active + + + +
+ + + + + + + + +
+ +
+
+ + \ No newline at end of file diff --git a/main/index.php b/main/index.php index 0da0eae..8515adf 100644 --- a/main/index.php +++ b/main/index.php @@ -84,6 +84,9 @@ try { Source code 👤 + + Admin Panel + Logout Login diff --git a/main/login.php b/main/login.php index 52e32c7..5a9835e 100644 --- a/main/login.php +++ b/main/login.php @@ -31,7 +31,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') { if ($username && $password) { try { - $stmt = $db->prepare('SELECT id, password, is_blocked, login_attempts, last_attempt FROM users WHERE username = ?'); + $stmt = $db->prepare('SELECT id, password, is_blocked, login_attempts, last_attempt, is_moderator FROM users WHERE username = ?'); $stmt->execute([$username]); $user = $stmt->fetch(PDO::FETCH_ASSOC); @@ -45,6 +45,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') { $stmt->execute([$user['id']]); $_SESSION['user_id'] = $user['id']; $_SESSION['username'] = $username; + $_SESSION['is_moderator'] = $user['is_moderator']; header('Location: index.php'); exit; } else {