Вход Регистрация
Файл: modules/recovery/ajax.php
Строк: 65
<?
if($CONFIG['uid']!=0) die('Access denied.');

switch(
$this->Act){

case 
'send':
      
$login $_POST['email'];
      
$tmstmp Core::MysqlSelect('users','`last_recovery`',array('email'=>$login));
      if(
filter_var($loginFILTER_VALIDATE_EMAIL) && is_array($tmstmp) && (strtotime('-1 day'time())>strtotime($tmstmp[0]['last_recovery']) ||  strtotime($tmstmp[0]['last_recovery'])=='0')){
      
  
$chars 'abdefhiknrstyzABDEFGHKNQRSTYZ23456789';
  
$numChars strlen($chars);
  
$string '';
  for (
$i 0$i 8$i++) {
    
$string .= substr($charsrand(1$numChars) - 11);
  }
  
$q mysql_query("UPDATE `users` SET `code_recovery`='$string' WHERE email = '$login';");
        
$subject 'Сброс пароля';
        
$key Confirm::GenKey($login,$string.'recovery');
      
$message '
      <html>
      <head>
        <title>Enterlike.com</title>
      </head>
      <body>
        <p>Здравствуйте. Вам нужно подтвердить сброс пароля на Enterlike.com <br />
        <a href="http://enterlike.com/ajax/recovery/confirm?email={login}&key={key}&code={code}">Сбросить</a></p>
        <p><br />Если кнопка "Сбросить" не работает, скопируйте следующую ссылку и откройте в своём браузере: http://enterlike.com/ajax/recovery/confirm?email={login}&key={key}&code={code}</p>
      </body>
      </html>
      '
;
      
$message str_replace('{key}',$key,$message);
      
$message str_replace('{login}',$login,$message);
      
$message str_replace('{code}',$string,$message);

        
$m= new Mail("utf-8"); // начинаем 
        
$m->From"info@enterlike.com" ); // от кого отправляется почта 
        
$m->To$login ); // кому адресованно
        
$m->Subject$subject );
        
$m->Body$message "html" );    
        
$m->smtp_on"smtp.yandex.ru""info@enterlike.com""f9qxka52" ) ; // если указана эта команда, отправка пойдет через SMTP 
        
$m->Send();    // а теперь пошла отправка
        
echo 'ok';
        
//print_r($tmstmp);
      
} else {
        echo 
'err';
      }
break;


case 
'confirm':
      
$login $_GET['email'];
      if(
filter_var($loginFILTER_VALIDATE_EMAIL)){
        
$key Confirm::GenKey($login,$_GET['code'].'recovery');
        
$code Core::MysqlSelect('users','`code_recovery`',array('email'=>$login));
        if(
$key==$_GET['key'] && $code[0]['code_recovery']==$_GET['code']){

  
$chars 'abdefhiknrstyzABDEFGHKNQRSTYZ23456789';
  
$numChars strlen($chars);
  
$password '';
  for (
$i 0$i 8$i++) {
    
$password .= substr($charsrand(1$numChars) - 11);
  }
  
      
$md5pass md5(md5($password));
      
$q mysql_query("UPDATE `users` SET `password`='$md5pass' WHERE email = '$login';");

      
$subject 'Новый пароль';
      
$message '
      <html>
      <head>
        <title>Enterlike.com</title>
      </head>
      <body>
        <p>Здравствуйте. Вы сбросили пароль на Enterlike.com<br />
        <p>Новый пароль: {password}</p>
      </body>
      </html>
      '
;
      
$message str_replace('{password}',$password,$message);

        
$m= new Mail("utf-8"); // начинаем 
        
$m->From"info@enterlike.com" ); // от кого отправляется почта 
        
$m->To$login ); // кому адресованно
        
$m->Subject$subject );
        
$m->Body$message "html" );    
        
$m->smtp_on"smtp.yandex.ru""info@enterlike.com""f9qxka52" ) ; // если указана эта команда, отправка пойдет через SMTP 
        
$m->Send();    // а теперь пошла отправка
        
echo 'Новый пароль отправлен вам на email';
        
$q mysql_query("UPDATE `users` SET `code_recovery`='0' WHERE email = '$login';");
        
        } else {
        echo 
'Ошибка! Пароль не может быть отправлен.';
        }
      }
break;

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