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