<?
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(11111, 99999);
    
		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>
<?
}