$page = 'membership';
require 'header.php';
if ($user) {
    fURL::redirect('/members');
}
if (isset($_POST['reset'])) {
    try {
        fRequest::validateCSRFToken($_POST['token']);
        $validator = new fValidation();
        $validator->addRequiredFields('password');
        $validator->validate();
        if ($_POST['password'] != $_POST['passwordconfirm']) {
            throw new fValidationException('Passwords do not match');
        }
        $user = User::checkPasswordResetToken($_POST['resettoken']);
        if ($user == False) {
            throw new fValidationException('Invalid token, please make sure you followed the correct link');
        }
        $user->setPassword(fCryptography::hashPassword($_POST['password']));
        $user->store();
        fURL::redirect('/login.php');
        exit;
    } catch (fValidationException $e) {
        echo "<p>" . $e->printMessage() . "</p>";
    } catch (fSQLException $e) {
        echo "<p>An unexpected error occurred, please try again later</p>";
        trigger_error($e);
    }
} elseif (isset($_POST['sendtoken'])) {
    try {