Файл: other/recover.php
Строк: 57
<?php
// by Mike O. (mides), coolcms.org
$title = 'Восстановление пароля';
require_once '../includes/sys.php';
require_once '../includes/header.php';
if ($u['id']) header('location: ../');
switch ($act) {
    default:    
        tp('Восстановления пароля');
        echo '<div class="body">';
        echo '<form name="form" action="?act=do" method="post" name="form">
        Ваш логин:<br /><input name="username" type="text" maxlength="12" size="12" /><br />
        Ваш E-mail:<br /><input name="email" type="text" maxlength="50" size="12" /><br />
        Провер. код:<br />
        <img src="../images/code.php" alt="" /><br />
        <input name="code" maxlength="5" size="12" /><br />
        <input name="submit" type="submit" value="Продолжить" /></form>';
        nav('login.php');
    break;
    case 'do':
        if (empty($_POST['username']) or empty($_POST['email']) or empty($_POST['code'])) {
            error('Вы не заполнили поля.');
            nav('?');
            break;
        }
        
        $code = intval($_POST['code']);
        if ($_SESSION['code'] != $code or empty($code)) {
            error('Вы ввели неверный проверочный код.');
            nav('?');
            break;
        }
        
        $username = check($_POST['username']);
        $email = check($_POST['email']);
        $new_pass = generate(8);
        
        $isset_u = mysql_result(mysql_query("SELECT COUNT(`id`) FROM `users` WHERE `username` = '$username' and `email` = '$email'"), 0);
        if ($isset_u == 0) {
            error('Введенные данные неверны.');
            nav('?');
            break;
        }
        mysql_query("UPDATE `users` SET `password` = '".md5(md5($new_pass))."' WHERE `username` = '$username'");
        // sending e-mail
        $email_a = 'robot@'.HOME;
        $message = 'Уважаемый пользователь!
        Вы запросили смену пароля на сайте '.$config['copy'].'.
        Ваш новый пароль: '.$new_pass.'
        Автологин: http://'.HOME.'/a.php?l='.$username.'&p='.$new_pass.'
        ---
        С уважением, администрация '.$config['copy'];
        
        mail($email, '=?utf-8?B?'.base64_encode('Смена пароля на '.HOME).'?=', $message, "From: $email_arnContent-type: text/plain; charset=utf-8;rnX-Mailer: PHP;");
        
        info('Новый пароль был сгенерирован и выслан на Ваш e-mail.');
        nav('login.php');
        session_destroy();
break;
}
require_once '../includes/tail.php';
?>