diff --git a/public/admin/users.php b/public/admin/users.php
index 9f2fe91..8060779 100644
--- a/public/admin/users.php
+++ b/public/admin/users.php
@@ -11,6 +11,27 @@ list($per_page, $current_page) = pp_setup_pagination();
$total_users = User::count();
$all_users = User::limit($per_page)->offset($current_page * $per_page)->get();
+
+if ($_SERVER['REQUEST_METHOD'] === 'POST') {
+ if (!verifyCsrfToken()) {
+ flashError('Invalid CSRF token.');
+ goto Render;
+ } elseif (!isset($_POST['user_id'])) {
+ flashError('No user ID specified.');
+ goto Render;
+ }
+
+ $user = User::find($_POST['user_id']);
+
+ if (!$user) {
+ flashError('User not found.');
+ goto Render;
+ }
+}
+
+Render:
+
+$csrf_token = setupCsrfToken();
?>
@@ -111,9 +132,7 @@ $all_users = User::limit($per_page)->offset($current_page * $per_page)->get();
Username |
Date Registered |
- Ban User |
- Profile |
- Delete |
+ Actions |
@@ -123,6 +142,13 @@ $all_users = User::limit($per_page)->offset($current_page * $per_page)->get();
= pp_html_escape($user->username); ?>
= pp_html_escape($user->created_at); ?> |
+
+
+ |
diff --git a/public/user.php b/public/user.php
index 56d937e..d6081d0 100644
--- a/public/user.php
+++ b/public/user.php
@@ -17,7 +17,7 @@ $profile_username = trim($_GET['user']);
$profile_info = User::with('favourites')
->where('username', $profile_username)
- ->select('id', 'created_at', 'badge')
+ ->select('id', 'created_at', 'badge', 'role')
->first();
if (!$profile_info) {
@@ -39,6 +39,18 @@ if ($can_administrate) {
flashSuccess('Password reset to ' . $new_password);
}
+ } elseif (isset($_POST['change_role'])) {
+ if (!verifyCsrfToken()) {
+ flashError('Invalid CSRF token (do you have cookies enabled?)');
+ } else {
+ if ($profile_info->role === User::ROLE_MODERATOR) {
+ $profile_info->role = 0;
+ } elseif ($profile_info->role === 0) {
+ $profile_info->role = User::ROLE_MODERATOR;
+ }
+ $profile_info->save();
+ flashSuccess('Role changed.');
+ }
}
}
diff --git a/theme/bulma/user_profile.php b/theme/bulma/user_profile.php
index c9dc100..fb6877d 100644
--- a/theme/bulma/user_profile.php
+++ b/theme/bulma/user_profile.php
@@ -1,7 +1,8 @@
'[ProbablyAutistic] Have more than fifty pastes',
25 => '[Writefag] Have twenty-five or more pastes',
5 => '[NewWritefag] Have five or more pastes',
@@ -53,6 +54,11 @@