battles/rememberpassword.php
2022-01-27 18:28:32 +02:00

46 lines
1.9 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
use Battles\Template, Battles\RememberPassword;
require_once("config.php");
$login = filter_input(INPUT_POST, 'loginid', FILTER_SANITIZE_SPECIAL_CHARS);
$password = isset($_POST['psw']) ? password_hash($_POST['psw'], PASSWORD_DEFAULT) : null;
$_GET['change'] = $_GET['change'] ?? null;
$newPassword = $_POST['newpasswd'] ?? 0;
$hashCheck = $_POST['hashcheck'] ?? 0;
$operation = new RememberPassword();
if ($login) {
$statusMessage = $operation->sendRecoveryMail($login);
}
if ($newPassword && $hashCheck) {
$statusMessage = $operation->setNewPassword($newPassword, $hashCheck);
}
Template::header('Восстановление пароля');
?>
<a href="/"> ← на главную</a>
<?php if (!empty($statusMessage)): ?>
<h3><?php echo $statusMessage; ?></h3>
<?php endif; ?>
<?php if ($operation->isAllowed($_GET['change']) === true): ?>
<h1>Создайте себе новый пароль</h1>
<form method="post">
<label>
<input required name="newpasswd" placeholder="Новый пароль"> Новый пароль.
</label>
<input type="hidden" name="hashcheck" value="<?= $_GET['change'] ?>"><br>
<input type=submit>
</form>
<?php else: ?>
<h1>Восстановление пароля</h1>
<p>Для восстановления пароля введите свой login и нажмите кнопку &laquo;Отправить письмо&raquo;.<br>
Письмо будет выслано на email адрес, указанный вами при регистрации.<br>
Восстанавливать пароль можно только раз в сутки.</p>
<form method="post">
<label>
<input required name="loginid" placeholder="Имя персонажа" value="<?= $login ?>"> Имя персонажа.
</label><br>
<input type=submit>
</form>
<?php endif;