174 lines
7.2 KiB
PHP
174 lines
7.2 KiB
PHP
<?php
|
|
session_start();
|
|
$_SESSION["token"] = bin2hex(random_bytes(32));
|
|
?>
|
|
|
|
|
|
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
<meta name="author" content="Florine W. Dekker" />
|
|
<meta name="application-name" content="Death Notifier" />
|
|
<meta name="description" content="Get notified when a famous person dies." />
|
|
<meta name="theme-color" content="#0033cc" />
|
|
|
|
<title>Death Notifier | FWDekker</title>
|
|
|
|
<link rel="stylesheet" href="https://static.fwdekker.com/fonts/roboto/roboto.css" />
|
|
<link rel="stylesheet" href="https://static.fwdekker.com/lib/template/2.x.x/template.css" />
|
|
<!--suppress HtmlUnknownTarget -->
|
|
<!-- <link rel="stylesheet" href="main.css?v=%%VERSION_NUMBER%%" />-->
|
|
<script async src="https://stats.fwdekker.com/count.js"
|
|
data-goatcounter="https://stats.fwdekker.com/count"></script>
|
|
</head>
|
|
<body>
|
|
<noscript>
|
|
<img src="https://stats.fwdekker.com/count?p=/tools/death-notifier/" alt="Counting pixel" />
|
|
|
|
<p>
|
|
This website does not function if JavaScript is disabled.
|
|
Please check the
|
|
<a href="https://www.enable-javascript.com/">instructions on how to enable JavaScript in your web browser</a>.
|
|
</p>
|
|
</noscript>
|
|
<main class="hidden">
|
|
<div id="nav"></div>
|
|
<div id="contents">
|
|
<div id="header"></div>
|
|
|
|
<section class="container">
|
|
<div class="row hidden" id="loginRow">
|
|
<div class="column">
|
|
<h2>Log in</h2>
|
|
<p>Already have an account? Welcome back!</p>
|
|
<form id="loginForm" onsubmit="return false;">
|
|
<p class="error"></p>
|
|
<input type="hidden" name="token" value="<?= $_SESSION["token"] ?>" />
|
|
<label>
|
|
Email
|
|
<input type="email" name="email" />
|
|
</label>
|
|
<label>
|
|
Password
|
|
<input type="password" name="password" />
|
|
</label>
|
|
<button>Log in</button>
|
|
</form>
|
|
</div>
|
|
<div class="column">
|
|
<h2>Register</h2>
|
|
<p>
|
|
New user?
|
|
Create an account!
|
|
You can always delete your account and associated data.
|
|
Check the <a href="https://fwdekker.com/privacy/">privacy policy</a> for more information.
|
|
</p>
|
|
<form id="registerForm" onsubmit="return false;">
|
|
<p class="error"></p>
|
|
<input type="hidden" name="token" value="<?= $_SESSION["token"] ?>" />
|
|
<label>
|
|
Email
|
|
<input type="email" name="email" />
|
|
</label>
|
|
<label>
|
|
Password
|
|
<input type="password" name="password" />
|
|
</label>
|
|
<label>
|
|
Confirm password
|
|
<input type="password" name="password_confirm" />
|
|
</label>
|
|
<button>Create account</button>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row hidden" id="trackingRow">
|
|
<div class="column">
|
|
<h2>Trackings</h2>
|
|
<pre id="trackings"></pre>
|
|
</div>
|
|
<div class="column">
|
|
<h3>Add tracking</h3>
|
|
<form id="addTrackingForm" onsubmit="return false;">
|
|
<p class="error"></p>
|
|
<input type="hidden" name="token" value="<?= $_SESSION["token"] ?>" />
|
|
<label>
|
|
Person name
|
|
<input name="person_name" />
|
|
</label>
|
|
<button>Add tracking</button>
|
|
</form>
|
|
</div>
|
|
<div class="column">
|
|
<h3>Delete tracking</h3>
|
|
<form id="deleteTrackingForm" onsubmit="return false;">
|
|
<p class="error"></p>
|
|
<input type="hidden" name="token" value="<?= $_SESSION["token"] ?>" />
|
|
<label>
|
|
Person name
|
|
<input name="person_name" />
|
|
</label>
|
|
<button>Delete tracking</button>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row hidden" id="accountRow">
|
|
<div class="column">
|
|
<h2>Manage account</h2>
|
|
<form id="logoutForm" onsubmit="return false;">
|
|
<p class="error"></p>
|
|
<input type="hidden" name="token" value="<?= $_SESSION["token"] ?>" />
|
|
<button>Log out</button>
|
|
</form>
|
|
</div>
|
|
<div class="column">
|
|
<h3>Change email</h3>
|
|
Current email: TODO<br />
|
|
Verified? TODO
|
|
<form action="api.php" method="post">
|
|
<input type="hidden" name="action" value="user-update-email" />
|
|
<input type="hidden" name="token" value="<?= $_SESSION["token"] ?>" />
|
|
<label>
|
|
Email
|
|
<input type="email" name="email" />
|
|
</label>
|
|
<input type="submit" value="Change email" />
|
|
</form>
|
|
</div>
|
|
<div class="column">
|
|
<h3>Change password</h3>
|
|
Last changed: TODO
|
|
<form action="api.php" method="post">
|
|
<input type="hidden" name="action" value="user-update-password" />
|
|
<input type="hidden" name="token" value="<?= $_SESSION["token"] ?>" />
|
|
<label>
|
|
Old password
|
|
<input type="password" name="password_old" />
|
|
</label>
|
|
<label>
|
|
New password
|
|
<input type="password" name="password_new" />
|
|
</label>
|
|
<label>
|
|
Confirm new password
|
|
<input type="password" name="password_confirm" />
|
|
</label>
|
|
<input type="submit" value="Change password" />
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
<div id="footer"></div>
|
|
</main>
|
|
|
|
<script src="https://static.fwdekker.com/lib/template/2.x.x/template.js"></script>
|
|
<!--suppress HtmlUnknownTarget -->
|
|
<script src="bundle.js?v=%%VERSION_NUMBER%%"></script>
|
|
</body>
|
|
</html>
|