aboutsummaryrefslogtreecommitdiff
path: root/views
diff options
context:
space:
mode:
authorSyndamia <kamen@syndamia.com>2025-02-02 13:43:26 +0200
committerSyndamia <kamen@syndamia.com>2025-02-02 13:43:26 +0200
commit0e4f90e6a82f0fc275d65bf0e4f4c2842052dde9 (patch)
tree892ccf952d364f03734ed95950845037fef26179 /views
parent168abc2c8512343f2a65461c6791ae852ae64665 (diff)
downloadnowayforward_human-0e4f90e6a82f0fc275d65bf0e4f4c2842052dde9.tar
nowayforward_human-0e4f90e6a82f0fc275d65bf0e4f4c2842052dde9.tar.gz
nowayforward_human-0e4f90e6a82f0fc275d65bf0e4f4c2842052dde9.zip
feat(views/user): Implement account deletion
Diffstat (limited to 'views')
-rw-r--r--views/global/router.php2
-rw-r--r--views/user/delete/index.php35
-rw-r--r--views/user/delete/meta.php5
-rw-r--r--views/user/index.php4
4 files changed, 46 insertions, 0 deletions
diff --git a/views/global/router.php b/views/global/router.php
index 2a02e22..661e116 100644
--- a/views/global/router.php
+++ b/views/global/router.php
@@ -33,6 +33,8 @@ function route_view() {
case '/list/delete': return '/list/delete';
case '/archive/create': return '/archive/create';
+
+ case '/user/delete': return '/user/delete';
}
switch ($root) {
diff --git a/views/user/delete/index.php b/views/user/delete/index.php
new file mode 100644
index 0000000..d1ce8b9
--- /dev/null
+++ b/views/user/delete/index.php
@@ -0,0 +1,35 @@
+<?php
+ $user = require_login();
+ $to_delete = null;
+
+ try {
+ $to_delete = Database\User::fromDB($username);
+ }
+ catch(Exception $e) {}
+?>
+
+<?php if ($to_delete !== null && $user->UID === $to_delete->UID): ?>
+ <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">
+ <input type="hidden" name="method" value="DELETE">
+ <?php if (isset($user_status)): ?>
+ <?php if ($user_status !== ""): ?>
+ <p class="item error"><span>
+ <strong>Error:</strong> <?= $user_status ?>
+ </span></p>
+ <?php endif; ?>
+ <?php endif; ?>
+
+ <input type="hidden" name="uid" value="<?= $to_delete->UID ?>">
+ <input type="submit" value="Delete forever!">
+ </form>
+
+<?php elseif ($to_delete === null): ?>
+ <h2>The user "<?= $username ?>" doesn't exist!</h2>
+
+<?php else: ?>
+ <h2>You have no permission to delete <?= $to_delete->Username ?>!</h2>
+
+<?php endif; ?>
+
diff --git a/views/user/delete/meta.php b/views/user/delete/meta.php
new file mode 100644
index 0000000..c84ee9d
--- /dev/null
+++ b/views/user/delete/meta.php
@@ -0,0 +1,5 @@
+<?php
+
+$username = $_GET['username'];
+$title = "Delete $username";
+$controller = 'user';
diff --git a/views/user/index.php b/views/user/index.php
index 1462e26..c837556 100644
--- a/views/user/index.php
+++ b/views/user/index.php
@@ -18,6 +18,10 @@
<form action="/list/new" method="GET">
<input type="submit" value="Create a new list">
</form>
+ <form action="/user/delete" method="GET">
+ <input type="hidden" name="username" value="<?= $user->Username ?>">
+ <input type="submit" value="Delete your account">
+ </form>
</section>
<script type="text/javascript">
function showUserButtons() {