summaryrefslogtreecommitdiff
path: root/src/application/actions/pwreset/get.php
diff options
context:
space:
mode:
Diffstat (limited to 'src/application/actions/pwreset/get.php')
-rw-r--r--src/application/actions/pwreset/get.php29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/application/actions/pwreset/get.php b/src/application/actions/pwreset/get.php
new file mode 100644
index 0000000..c66b28d
--- /dev/null
+++ b/src/application/actions/pwreset/get.php
@@ -0,0 +1,29 @@
+<?php
+
+$token = $_GET["token"] ?? null;
+$signature = $_GET["sig"] ?? null;
+
+if ($token !== null && $signature !== null) {
+ $resetUser = decodePasswordResetLink($db, $token, $signature);
+ if ($resetUser === null) {
+ http_response_code(400);
+ msg_error(__("The password reset link is either invalid or it expired"), true);
+ exit;
+ }
+
+ _view("template_start", [ "_title" => __("Reset password") ]);
+ _view("template_navigation_start");
+ _view("template_navigation_end");
+ _view("form_new_password", [
+ "token" => $token,
+ "signature" => $signature,
+ ]);
+ _view("template_end", [...getThemeAndLangInfo()]);
+} else {
+ _view("template_start", [ "_title" => __("Reset password") ]);
+ _view("template_navigation_start");
+ _view("template_navigation", ["user" => null]);
+ _view("template_navigation_end");
+ _view("form_password_reset");
+ _view("template_end", [...getThemeAndLangInfo()]);
+}