View file 2/3020.ru/users/profile/settings/content/password.php

File size: 3.74Kb
<?php
  
/*
------
Пароль
------
*/
  
ECHO "<div class='navigation'>";
ECHO "<a href='/'>".ICONS('home', 25, 'fa-fw')."</a>";
ECHO "".ICONS('angle-right', 22, 'fa-fw')."";
ECHO "<a href='/id".$user['ID']."'>".TEXT_ABSOLUTE($user['LOGIN'])."</a>";
ECHO "".ICONS('angle-right', 22, 'fa-fw')."";
ECHO "<a href='?path=settings'>".LG('Настройки аккаунта')."</a>";
ECHO "".ICONS('angle-right', 22, 'fa-fw')."";
ECHO "".LG('Пароль')."";
ECHO "</div>";

IF (POST('ok')){
  
  $password = POST('pass');
  $password2 = POST('pass_old');
  
  $err_data = 0;
  
  IF (DB::GET_COLUMN("SELECT COUNT(*) FROM `USERS` WHERE `ID` = '".$user['ID']."' AND `PASSWORD` = '".SHIF($password2)."' LIMIT 1") == 0) {
    
    ERROR('Старый пароль неверный', 'session');
    $err_data = 1;
    
  }
  
  IF (!POST('captcha') OR !POST('captcha_key')) {
    
    ERROR('Вы не ввели числа с картинки', 'session');
    $err_data = 1;
  
  }
  
  IF (MD5((int)POST('captcha') + $captcha_random_seed) != POST('captcha_key')) { 
    
    ERROR('Числа с картинки введены неверно', 'session');
    $err_data = 1;
  
  }
  
  IF ($password == $password2){
    
    ERROR('Новый пароль совпадает со старым', 'session');
    $err_data = 1;
  
  }
  
  IF (STR($password) > 20){
    
    ERROR('Пароль не может быть больше 20 символов', 'session');
    $err_data = 1;
  
  }
  
  IF (STR($password) < 8){
    
    ERROR('Пароль не может быть меньше 8 символов', 'session');
    $err_data = 1;
  
  }
  
  IF (!PREG_MATCH("#^([A-z0-9\-\_])+$#ui", $password)) {
    
    ERROR('В пароле присутствуют запрещенные символы. Используйте только буквы английского алфавита и цифры', 'session');
    $err_data = 1;
  
  }
  
  $world_set_update = $password;
  $file_default = FILE_GET_CONTENTS(ROOT.'/system/config/password.txt');
  
  IF (STRIPOS($file_default, $world_set_update) !== FALSE) {
    
    ERROR('Пароль слишком простой. Придумайте более сложный используя и цифры и буквы вместе', 'session');
    $err_data = 1;
  
  }
  
  IF ($err_data == 1){
    
    REDIRECT('?path=settings&section=password');
  
  }
  
  $hash = USER_HASH($user['ID']);
  
  $_SESSION['HASH'] = $hash;
  
  SETCOOKIE('DOUBLE', 1, TIME() + 60 * 60 * 24 * 365);
  SETCOOKIE('USER_ID', $user['ID'], TIME() + 60 * 60 * 24 * 365);
  SETCOOKIE('PASSWORD', ENCRYPT($password, $user['ID']), TIME() + 60 * 60 * 24 * 365);
  
  DB::GET_SET("UPDATE `USERS` SET `PASSWORD` = '".SHIF($password)."' WHERE `ID` = '".$user['ID']."' LIMIT 1");
  
  SUCCESS('Измненения успешно приняты', 'session');
  
  REDIRECT('?path=settings&section=password');
  
}

ECHO "<div class='list'>";

ECHO "<form method='post'>";
  
HTML::INPUT('pass_old', 'Старый пароль', 'Введите старый пароль:', NULL, NULL);
HTML::INPUT('pass', 'Новый пароль', 'Введите новый пароль:', NULL, NULL);
  
CAPTCHA('Введите числа с картинки', 'form-control-30');
  
HTML::BUTTON('btn-big', 'ok', 'save', 'Сохранить');
  
ECHO "</form>";

ECHO "</div>";

ECHO "<div class='navigation'>";
ECHO "<a href='/'>".ICONS('home', 25, 'fa-fw')."</a>";
ECHO "".ICONS('angle-right', 22, 'fa-fw')."";
ECHO "<a href='/id".$user['ID']."'>".TEXT_ABSOLUTE($user['LOGIN'])."</a>";
ECHO "".ICONS('angle-right', 22, 'fa-fw')."";
ECHO "<a href='?path=settings'>".LG('Настройки аккаунта')."</a>";
ECHO "".ICONS('angle-right', 22, 'fa-fw')."";
ECHO "".LG('Пароль')."";
ECHO "</div>";
  
?>