aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--controllers/user.php8
-rw-r--r--views/admin/index.php7
-rw-r--r--views/user/delete/index.php2
-rw-r--r--views/user/index.php22
4 files changed, 28 insertions, 11 deletions
diff --git a/controllers/user.php b/controllers/user.php
index ac906a0..bc3da70 100644
--- a/controllers/user.php
+++ b/controllers/user.php
@@ -65,8 +65,9 @@ function on_delete() {
global $user_status;
$user_status = "";
+ $user = null;
try {
- Database\Cookie::fromDB($TOKEN);
+ $user = Database\Cookie::fromDB($TOKEN);
}
catch (Exception $e) {
$user_status = 'Invalid token!';
@@ -82,6 +83,11 @@ function on_delete() {
return;
}
+ if ($user->UID !== $to_delete->UID && $user->Role !== 'Admin') {
+ $list_status = 'You have no permission to delete this user!';
+ return;
+ }
+
$to_delete->delete();
header('Location: /');
diff --git a/views/admin/index.php b/views/admin/index.php
index 69495d6..750a246 100644
--- a/views/admin/index.php
+++ b/views/admin/index.php
@@ -28,6 +28,13 @@
<input type="submit" value="Modify">
</form>
+ <h2>Delete</h2>
+
+ <form action="/user/delete" method="GET" class="font-115">
+ <input type="text" name="username" placeholder="Username">
+ <input type="submit" value="Delete">
+ </form>
+
<?php else: ?>
<h2>Permission denied, you're not an admin!</h2>
diff --git a/views/user/delete/index.php b/views/user/delete/index.php
index d1ce8b9..cdc61ac 100644
--- a/views/user/delete/index.php
+++ b/views/user/delete/index.php
@@ -8,7 +8,7 @@
catch(Exception $e) {}
?>
-<?php if ($to_delete !== null && $user->UID === $to_delete->UID): ?>
+<?php if ($to_delete !== null && ($user->UID === $to_delete->UID || $user->Role === 'Admin')): ?>
<h1>Are you sure you want to delete <?= $to_delete->Username ?>?</h1>
<form action="#" method="POST" class="font-115 flex-col-centered max-width-20 center-margin">
diff --git a/views/user/index.php b/views/user/index.php
index 82c95c8..40995d2 100644
--- a/views/user/index.php
+++ b/views/user/index.php
@@ -1,7 +1,9 @@
<?php
$user = null;
+ $loggedin = null;
try {
$user = Database\User::fromDB($username);
+ $loggedin = Database\Cookie::fromDB($TOKEN);
}
catch(Exception $e) {}
?>
@@ -15,16 +17,18 @@
<div class="user-blank-afterspace"></div>
<section id="user-buttons" hidden>
- <form action="/list/new" method="GET">
- <input type="submit" value="Create a new list">
- </form>
- <form action="/user/settings" method="GET">
- <input type="submit" value="Account settings">
- </form>
- <?php if ($user->Role === 'Admin'): ?>
- <form action="/admin" method="GET">
- <input type="submit" value="Admin panel">
+ <?php if ($user !== null && $loggedin !== null && $user->UID === $loggedin->UID): ?>
+ <form action="/list/new" method="GET">
+ <input type="submit" value="Create a new list">
</form>
+ <form action="/user/settings" method="GET">
+ <input type="submit" value="Account settings">
+ </form>
+ <?php if ($user->Role === 'Admin'): ?>
+ <form action="/admin" method="GET">
+ <input type="submit" value="Admin panel">
+ </form>
+ <?php endif; ?>
<?php endif; ?>
</section>
<script type="text/javascript">