login: include form to set email address
authorMischa POSLAWSKY <perl@shiar.org>
Fri, 22 Dec 2017 23:57:49 +0000 (00:57 +0100)
committerMischa POSLAWSKY <perl@shiar.org>
Fri, 22 Dec 2017 23:59:18 +0000 (00:59 +0100)
admin/setmail.php [new file with mode: 0644]
login.html

diff --git a/admin/setmail.php b/admin/setmail.php
new file mode 100644 (file)
index 0000000..e95c3bd
--- /dev/null
@@ -0,0 +1,35 @@
+<?php
+if ($_POST and isset($_POST['email'])) {
+       if ($error = setmailform($_POST)) {
+               print "<p class=warn>$error</p>\n\n";
+       }
+       else {
+               print "<p>Het e-mailadres is ingesteld.</p>\n\n";
+       }
+}
+
+function setmailform($input = [])
+{
+       global $User;
+       $setfile = "{$User['dir']}/email.txt";
+       if (!is_writable(file_exists($setfile) ? $setfile : dirname($setfile))) {
+               return "Het e-mailadres kan niet worden aangepast voor deze gebruiker.";
+       }
+       if (!file_put_contents($setfile, @$_POST['email'])) {
+               return "Het e-mailadres kon niet worden opgeslagen. Probeer het later nog eens.";
+       }
+       return;
+}
+
+$usermail = @file_get_contents("{$User['dir']}/email.txt");
+?>
+<form method="post" class="inline">
+       <p>
+       Geef een e-mailadres op waarmee we u kunnen bereiken indien nodig.
+       Wij zullen dit adres nooit vrij- of doorgeven.
+       </p>
+       <p>
+       <input type="email" name="email" id="email" value="<?= htmlspecialchars($usermail) ?>" placeholder="Geen e-mailadres ingesteld" />
+       <input type="submit" value="Opslaan" />
+       </p>
+</form>
index 7039aabfe27645172d33dd3a1dff008eed74d403..662b3cc20f4385c2b71ed9f4ebd20311bffa7f83 100644 (file)
@@ -2,4 +2,6 @@
 
 <p>Ingelogd als <em>[[user]]</em>.</p>
 
+<?php include('admin/setmail.php'); ?>
+
 <p class="nav"><a href="?logout">Uitloggen</a></p>