<?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()]); }