aboutsummaryrefslogtreecommitdiff
path: root/views/user
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/user
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/user')
-rw-r--r--views/user/delete/index.php35
-rw-r--r--views/user/delete/meta.php5
-rw-r--r--views/user/index.php4
3 files changed, 44 insertions, 0 deletions
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() {