Вход Регистрация
Файл: top_reit/rustats.su/system/model/pass.class.php
Строк: 48
<?php 


class pass_model{

        public function 
pass(){
        if(isset(
$_POST['mail'])){
        if(
Core::count("SELECT COUNT(*) FROM `users` WHERE `email` = ?", array($_POST['mail'])) == false){
Core::redirect('/pass''Такого пользователя не существует.');
}
$mail $_POST['mail'];
$ank Core::query("SELECT * FROM `user_sites` WHERE `id` = ?", array($_GET['get'])) -> fetch();

if(!
preg_match('/[0-9a-z_-]+@[0-9a-z_-^.]+.[a-z]{2,6}/i'$mail)) $err 'E-mail введен неверно<br />';

if(!
$err){
$ank Core::query("SELECT * FROM `users` WHERE `email` = ?", array($mail)) -> fetch();
$hash_pass=md5(mt_rand(1111,99999).$ank['id'].$ank['login']);
Core::query("UPDATE `users` SET `hash_pass_new` = ? WHERE `id`=?", array($hash_pass$ank['id']));

$subject " Восстановление пароля :: NewStats";
$regmail "Здравствуйте, ".$ank['login']."!<br/><br />Для восстановления пароля перейдите по ссылке http://newstats.ru/pass/new_pass/".$hash_pass."<br/> Ссылка действительна до первой смены пароля или авторизации.<br /><br /><br />С Уважением команда топа NewStats.Ru.";
$adds="From: "support@$_SERVER[HTTP_HOST]" <support@$_SERVER[HTTP_HOST]>n";
$adds .= "Content-Type: text/html; charset=utf-8n";
mail($ank['email'],'=?utf-8?B?'.base64_encode($subject).'?=',$regmail,$adds);

Core::redirect('/pass''Инструкция по восстановлению отправлена вам на e-mail.');
}else{
Core::redirect('/pass'$err);
}
}
        }

            public function 
new_pass(){
          if(isset(
$_POST['hash_pass']) || isset($_POST['pass1']) || isset($_POST['pass2'])){
        
$pass1 md5(md5($_POST['pass1']));
        
$pass2 md5(md5($_POST['pass2']));
        
$hash Protect::generate(32);
        
$hash_pass $_POST['hash_pass'];
        
$pass $_POST['pass1'];
$ank  Core::query("SELECT * FROM `users` WHERE `hash_pass_new` = ?", array($hash_pass)) -> fetch();
if(
$pass1!=$pass2)$err='Пароли не совпадают';
if(
$pass_star!=$user['pass'])$err='Старый пароль введен не верно';
if(
$pass1==$ank['pass'])$err='Старый пароль совпадает с новым';
if(
strlen($pass) < or strlen($pass) > 20)$err='Пароль должен быть в пределах 6 - 20 символов';
if(!
$err){
Core::query("UPDATE `users` SET `hash` = ? WHERE `id` = ?", array($hash$ank['id']));
Core::query("UPDATE `users` SET `pass` = ?, `hash_pass_new`='' WHERE `id`=?", array($pass1$ank['id']));
                
setcookie('userlogin'$ank['login'], time()+86400*365'/');
                
setcookie('userhash'$hashtime()+86400*365'/');
$subject "Восстановление пароля :: NewStats";
$regmail "Здравствуйте, ".$ank['login'].'!<br/><br />На Вашем профиле был восстановлен пароль.<br/> Новые данные для входа:<br/>Логин: '.$ank['login'].' <br/>Пароль: '.$pass."<br /><br /><br />С Уважением команда топа NewStats.Ru.";
$adds="From: "support@$_SERVER[HTTP_HOST]" <support@$_SERVER[HTTP_HOST]>n";
$adds .= "Content-Type: text/html; charset=utf-8n";
mail($ank['email'],'=?utf-8?B?'.base64_encode($subject).'?=',$regmail,$adds);
Core::redirect('/cabinet''Пароль успешно восстановлен. Новый пароль выслан вам на e-mail');
}else{
Core::redirect('?'$err);
}
        }


}
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
}
?>
Онлайн: 1
Реклама