Вход Регистрация
Файл: Modules/recoveryPassword.php
Строк: 42
<?php
$title 
'Восстановление пароля';
require_once (
'Sys/head.php');
switch (
$act)
    {
        default:
        
unreg();
        echo
'';
        if(!isset(
$_POST['ok']))
            {
                echo 
'    <div id="st21">
 <div class="st2">
                             <h2 class="title">Восстановление пароля</h2>
                               <div class="middle_back">'
;
                echo 
'<small>На E-Mail, указанный при регистрации, будет выслана ссылка для восстановления пароля.<br/></small>';
                echo
'
                <form action="" method="post">
                Логин:<br/>
                  <input name="login" type="text" class="form" value="" />
                <br/>
                <input name="ok" type="submit" class="button" value="Восстановить" /></form><br/>
                '
;
                echo 
'</div></div><br /></div>';
            }
        else
            {
                
$error '';
                if(empty(
$_POST['login']))
                    {
                        
$error .= 'Логин не введен.<br/>';
                    }
                if(
mb_strlen($_POST['login']) > 500 OR mb_strlen($_POST['login']) < 1)
                    {
                        
$error .= 'Поле "Логин" должно быть не меньше 1 и не больше 500 символов.<br/>';
                    }
                if(!empty(
$error))
                    {
                        echo 
'<div id="st21">
 <div class="st2">
                             <h2 class="title">Восстановление пароля</h2>
                               <div class="middle_back">'
;
                        echo 
'В результате заполнения полей , выявились ошибки:<br/>';
                        echo 
$error;
                        echo 
'<a href="http://'.$_SERVER['HTTP_HOST'].'/recoveryPassword">Повторить</a><br/>';
                        echo 
'</div></div><br /></div>';
                    }
                else
                    {
                        
$login filter($_POST['login']);
                        
$userIsset $mysqli->query("SELECT `id`,`losttime`,`mail` FROM `".$prefix."users` WHERE `login` = '".$login."'");

                        if(
$userIsset->num_rows 0)
                            {
                                
$row $userIsset->fetch_assoc();
                                
$error '';
                                if(
$row['losttime'] > $time-$set['TimerecoveryPassword'])
                                    {
                                        
$error .= 'Нельзя так часто восстанавливать пароль.<br/>';
                                    }
                                if(
$row['mail'] == '')
                                    {
                                        
$error .= 'У данного пользователя не указан e-mail, обратитесь к администратору.<br/>';
                                    }
                                if(!empty(
$error))
                                    {
                                        echo 
'<div id="st21">
 <div class="st2">
                             <h2 class="title">Восстановление пароля</h2>
                               <div class="middle_back">'
;
                                        echo 
'В результате заполнения полей , выявились ошибки:<br/>';
                                        echo 
$error;
                                        echo 
'<a href="http://'.$_SERVER['HTTP_HOST'].'/recoveryPassword">Повторить</a><br/>';
                                        echo 
'</div></div><br /></div>';
                                    }
                                else
                                    {
                                        
$key keyRand();
                                        
$update $mysqli->query("UPDATE `".$prefix."users` SET `losttime` = '".$time."', `lostkey` = '".$key."' WHERE `id` = '".$row['id']."'");
                                        
$subject "Восстановление пароля на сайте ".$_SERVER['HTTP_HOST'];
                                        
$body "Вы создали запрос на восстановление пароля к аккаунту на сайте ".$_SERVER['HTTP_HOST']."n";
                                        
$body .= "Для восстановления пароля , вам необходимо пройти по ссылке ниже:n";
                                        
$body .= "http://".$_SERVER['HTTP_HOST']."/recoveryPassword/".$row['id']."/".$key." n";
                                        
$headers "From: ".$set['mail']." n";
                                        
$headers .= "Content-Type: text/plain; charset=utf-8n";
                                        
mail($row['mail'], $subject$body$headers);
                                        echo 
'<div id="st21">
 <div class="st2">
                             <h2 class="title">Восстановление пароля</h2>
                               <div class="middle_back">На e-mail, указанный в аккаунте, отправлена инструкция по восстановлению пароля.</div></div></div>'
;
                                    }
                            }
                        else
                            {
                                echo 
'<div id="st21">
 <div class="st2"><h2 class="title">Восстановление пароля</h2>
                               <div class="middle_back">'
;
                                echo 
'Пользователь не найден, или данные не верны.<br/>';
                                echo 
'<a href="http://'.$_SERVER['HTTP_HOST'].'/recoveryPassword">Повторить</a><br/>';
                                echo 
'</div></div><br /></div>';
                            }
                    }
            }
        break;
        case 
'good':
        if(isset(
$_GET['uid']) AND isset($_GET['key']))
            {
                
$uid abs(intval($_GET['uid']));
                
$key filter($_GET['key']);
                
$usr $mysqli->query("SELECT `id`,`mail` FROM `".$prefix."users` WHERE `id` = '".$uid."' AND `lostkey` = '".$key."' AND `losttime` > '".($time-$set['TimerecoveryPassword'])."'");
                if(
$usr->num_rows 0)
                    {
                        
$row $usr->fetch_assoc();
                        
$newPass password();
                        
$update $mysqli->query("UPDATE `".$prefix."users` SET `lostkey` = '', `password` = '".md5($newPass)."' WHERE `id` = '".$uid."'");
                        echo 
'<div id="st21">
 <div class="st2"><h2 class="title">Восстановление пароля</h2>
                               <div class="middle_back">'
;
                        echo 
'Пароль успешно восстановлен.<br/>';
                        echo 
'Новый пароль: '.$newPass.'<br/>';
                        echo 
'<small>Новый пароль также отправлен на E-MAIL указанный при регистрации.</small>';
                        echo 
'</div></div></div>';
                        
$subject "Новый пароль на сайте ".$_SERVER['HTTP_HOST'];
                        
$body "У вас установлен новый пароль от аккаунта на сайте ".$_SERVER['HTTP_HOST']."n";
                        
$body .= "Новый пароль: ".$newPass." n";
                        
$headers "From: ".$set['mail']." n";
                        
$headers .= "Content-Type: text/plain; charset=utf-8n";
                        
mail($row['mail'], $subject$body$headers);
                    }
                else
                    {
                                echo 
'<div id="st21">
 <div class="st2"><h2 class="title">Восстановление пароля</h2>
                               <div class="middle_back">'
;
                                echo 
'Пароль не восстановлен.<br/>';
                                echo 
'</div></div><br /></div>';
                    }
            }
        else
            {
                echo 
'<div id="st21">
 <div class="st2"><h2 class="title">Восстановление пароля</h2>
                               <div class="middle_back">'
;
                echo 
'Пароль не восстановлен.<br/>';
                echo 
'</div></div><br /></div>';
            }
        break;
    }
?>
Онлайн: 1
Реклама