diff options
Diffstat (limited to 'src/application/actions/pwreset/get.php')
| -rw-r--r-- | src/application/actions/pwreset/get.php | 29 | 
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()]); +} |