Вход Регистрация
Файл: 3020.ru/file_3020/plugins/user.password.php
Строк: 79
<?
if ($level == 0) {
  die(
'У вас нет прав доступа');
}

if (isset(
$_POST['oldpass']) && isset($_POST['pass1']) && isset($_POST['pass2']) && !isset($_SESSION['code'])) {
    
$password $sql->esc($_POST['oldpass']);
    
$newpassword $sql->esc($_POST['pass1']);
    
    if (
$sql -> selectCount("SELECT COUNT(*) FROM `users` WHERE `id` = '" $user['id'] . "' AND `password` = '" md5($password) . "'") == 0) {
        
$err[] = 'Неверный старый пароль';
    }
  
    if (
$_POST['pass1'] && !preg_match("#^([A-z0-9])+$#ui"$_POST['pass1'])) {
        
$err[] = 'Пароль должен содержать только английские буквы и цифры';
    }
    
    if (
$_POST['pass1'] != $_POST['pass2']) {
        
$err[] = 'Пароли не совпадают';
    }
    
    if (
strlen2($_POST['pass1']) > 20) {
        
$err[] = 'Пароль слишком длинный';
    } elseif (
strlen2($_POST['pass1']) < 6) {
        
$err[] = 'Пароль слишком короткий';
    } 
  
  if (!isset(
$err)) {
    
$_SESSION['new_password'] = $newpassword;
    
    
$code mt_rand(1111199999);
    
        if (
function_exists('mail')) {

    
// в этом массиве то, что попадет в наш HTML шаблон письма
    
$array = array('hello' => 'Здравствуйте ' $user['login'], // {hello} . Приветствие  
    
'message' => 'Вы хотите изменить свой пароль на сайте <b>' text($_SERVER['SERVER_NAME']) . '</b> <br />
            Ваш код подтверждения на смену пароля: ' 
$code '
            '
// обязательно текст письма, но само завизит от того что в шаблоне указано. у меня {message}
    
'linkbutton' => 'http://' $_SERVER['HTTP_HOST'] . '/?func=user.auth'// у меня в шаблоне кнопка, это ссылка в ней {linkbutton}
    
'textbutton' => 'Авторизация' // а это название моей кнопки {textbutton}
    
);

        
$Subject 'Подтверждение Смены Пароля';  // обязательно заголовок письма
        
$addAdress $user['email']; // сверх важно!! кому письмо
        
$template 'default'// название шаблона и папки в которой он лежит. Если у вас свой шаблон, напишите название воего 


        // пробуем выслать наше письмо
        
$OutMailer Mailer($array$Subject$addAdress$template);

        if (
$OutMailer === false)
        {
        
        }
else  echo 
$OutMailer// если есть ошибки, их покажет        
        
}
    
    
$_SESSION['code'] = $code;
  }
}

if (isset(
$_POST['code'])) {
  if (isset(
$_POST['code']) && $_SESSION['code'] != $_POST['code']) {
    
$err[] = 'Неверный код подтверждения';
  }
  
    if (!isset(
$err)) {
        
$sql -> update("UPDATE `users` SET `password` = '" md5($_SESSION['new_password']) . "' WHERE `id` = '$user[id]' LIMIT 1");
    
                if (
function_exists('mail')) {
            
            
// в этом массиве то, что попадет в наш HTML шаблон письма
    
$array = array('hello' => 'Здравствуйте ' $user['login'], // {hello} . Приветствие  
    
'message' => 'Вы успешно изменили пароль от вашего аккаунта на сайте <b>' text($_SERVER['SERVER_NAME']) . '</b> <br />
            Ваш логин: ' 
text($user['login']) . ' [ID ' $user['id'] . ']<br />
            Ваш пароль: ******<br />
            '
// обязательно текст письма, но само завизит от того что в шаблоне указано. у меня {message}
    
'linkbutton' => 'http://' $_SERVER['HTTP_HOST'] . '/?func=user.auth'// у меня в шаблоне кнопка, это ссылка в ней {linkbutton}
    
'textbutton' => 'Авторизация' // а это название моей кнопки {textbutton}
    
);

        
$Subject 'Изменение пароля';  // обязательно заголовок письма
        
$addAdress $user['email']; // сверх важно!! кому письмо
        
$template 'default'// название шаблона и папки в которой он лежит. Если у вас свой шаблон, напишите название воего 


        // пробуем выслать наше письмо
        
$OutMailer Mailer($array$Subject$addAdress$template);

        if (
$OutMailer === false)
        {
        
        }
else  echo 
$OutMailer// если есть ошибки, их покажет            
        
}
      
        
$_SESSION['id_user'] = $user['id'];
        
setcookie('id_user'$user['id'], time() + 60 60 24 365);
        
setcookie('pass'cookie_encrypt($_SESSION['new_password'], $user['id']), time() + 60 60 24 365);
    unset(
$_SESSION['new_password']);
    unset(
$_SESSION['code']);
        
$messages[] = 'Вы успешно изменили свой пароль';
    }  
}


$system['title'] = 'Смена пароля';
require 
SYS 'header.php';

if (isset(
$_SESSION['code'])) {
?>
<div class="alert alert-success" style="margin: 2px;">
  <button type="button" class="close" data-dismiss="alert">&times;</button>
  На ваш Email выслано письмо, с кодом подтверждения.
</div>

<div class="nav2">
  
  <form class="form-horizontal" action="?func=user.password" method="POST">
    <div class="control-group">
      <label class="control-label" for="code">Введите код</label>
      <div class="controls">
        <input type="text" id="code" name="code" placeholder="Код полученный по Email..">
      </div>
    </div>
    
    <div class="control-group">
      <div class="controls">
        <button type="submit" class="btn">Изменить</button>
      </div>
    </div>
  </form>
</div>
<?
} else {
?>
<div class="nav2">
  <form class="form-horizontal" action="?func=user.password" method="POST">
    <div class="control-group">
      <label class="control-label" for="oldpass">Старый пароль</label>
      <div class="controls">
        <input type="text" id="oldpass" name="oldpass" placeholder="Старый пароль..">
      </div>
    </div>
    
    <div class="control-group">
      <label class="control-label" for="pass1">Новый пароль</label>
      <div class="controls">
        <input type="password" id="pass1" name="pass1" placeholder="Пароль..">
      </div>
    </div>
    
    <div class="control-group">
      <label class="control-label" for="pass2">Повторите пароль</label>
      <div class="controls">
        <input type="password" id="pass2" name="pass2" placeholder="Повторите пароль..">
      </div>
    </div>
    
    <div class="control-group">
      <div class="controls">
        <button type="submit" class="btn">Продолжить</button>
      </div>
    </div>
  </form>
</div>
<?
}
if (
$level >= 3) {

?>
<div class="foot">
&laquo; <a href="?func=admin">Админ панель</a>
</div>
<?
}
Онлайн: 2
Реклама