View file shcms/password.php

File size: 5.84Kb
<?
/*
=============================================
Движок: SHCMS Engine
=============================================
Название файла: Изменение пороля
=============================================
Official website: http://shcms.ru
=============================================
Данный код зашищен авторскими правами
=============================================
*/
define('SHCMS', true);
include_once'../system/inc/system_core.php';
$shcmsengine['title'] = Lang::get('Изменение пороля');
include_once'../template/head.php';
engine::available();
echo '<div class="posts">';

$flodpass = mysql_fetch_array(mysql_query("SELECT * FROM `pass_secure` WHERE `user_id`='$user_id' ORDER BY `id` DESC"));

	if($flodpass['user_id'] == $user_id){
       echo Lang::get('Последний раз пороль был изменен:').'  <strong>'.$timedate->times($flodpass['time']).'</strong>';
	}
	else{
       engine::correct(Lang::get('Вы еще не использовали смену пороля'));
	}
       echo '</div>';
	   
	if(isset($_POST['submit'])) {$submit = $_POST['submit'];}
	
	if(isset($submit)) {
       $err_pass = array();
       $pass_st = isset ($_POST['pass_st']) ? trim($_POST['pass_st']) : '';
       $password_new = isset ($_POST['password_new']) ? trim($_POST['password_new']) : '';
	   $password_new2 = isset ($_POST['password_new2']) ? trim($_POST['password_new2']) : '';
	   
	if (!$password_new || !$password_new2){
       engine::errors(Lang::get('Обязательно заполните все поля'));
	   header('Refresh: 1; url=password.php?');
	   include_once'../template/foot.php';
       exit();
	}
    else {
	if (!$pass_st || !$password_new || !$password_new2){
       engine::errors(Lang::get('Обязательно заполните все поля'));
	   header('Refresh: 1; url=password.php?');
	   include_once'../template/foot.php';
       exit();
    }}
	if (!$err_pass && md5(md5($pass_st)) != $user4['password']){
       engine::errors(Lang::get('Вы неправильно ввели старый пороль'));
	   header('Refresh: 1; url=password.php?');
	   exit();
	}
    
	if ($password_new != $password_new2){
       engine::errors(Lang::get('Новые пароли не совпадают'));
	   header('Refresh: 1; url=password.php?');
       exit();
	}
	if (preg_match("/[^\da-zA-Z_]+/", $password_new) && !$err_pass){
       engine::errors(Lang::get('В новом пороле имеются недопустимые символы'));
	   header('Refresh: 1; url=password.php?');
	   include_once'../template/foot.php';
       exit();
	}
    
	if (!$err_pass && (strlen($password_new) < 2 or strlen($password_new) > 50))
    {
	engine::errors(Lang::get('Длина пароля должна быть не больше 50символов'));
	header('Refresh: 1; url=password.php?' . $conservation . '&' );
	include_once'../template/foot.php';
    exit();
	}
    if (!$err_pass) {
       mysql_query("UPDATE `users` SET `password` = '".mysql_real_escape_string(md5(md5($password_new)))."' WHERE `id` = '$user4[id]' LIMIT 1");
       mysql_query("INSERT INTO `pass_secure` (`time`,`user_id`) VALUES ('".time()."','$user_id')");
    
	if (isset ($_COOKIE['COOKIE_ID']) && isset ($_COOKIE['COOKIE_PASS']))
       setcookie('COOKIE_PASS', md5($password_new), time() + 3600 * 24 * 365);
       echo '<div class="actshcms">'.Lang::get('Ваш старый пороль успешно изменен на новый').' ('.$password_new.') 
	        '.Lang::get('для безопастности он был выслан вам на e-mail %s и на внутреннюю почту',$user4['email']).'</div><br />';
			
			$adress = "$user4[email]";
			$tex = Lang::get('Смена пороля');	
			$contr = Lang::get('Вы успешно сменили пороль вашего аккаунта(%s) на сайте',$user4['login']).$_SERVER['HTTP_HOST'].Lang::get('Вот ваш новый пороль (%s)',$password_new);
			$conte = "From: <'secure@".$_SERVER['HTTP_HOST']."'>\r\n";
			$conte .= "Content-Type: text/plain; charset=\"utf-8\"\r\n";
			mail($adress,$tex,$contr,$conte);
			$text = Lang::get('Вы успешно сменили пороль вашего аккаунта (%s)',$user4['login']).' <br/>'.Lang::get('на сайте').$_SERVER['HTTP_HOST'].'. <br/>
			         '.Lang::get('Вот ваш новый пороль:').' <strong>'.$password_new.'</strong><br /><hr/>'.Lang::get('Отправлено:').$timedate->times(time());
		mysql_query("INSERT INTO `mails` SET`user_id` = '$user_id',`text` = '$text',`posted` = '0',`time` = '".time()."',`read` = 'no'");
			header('Refresh: 1; url=password.php?');
	}
    else {
		echo engine::errors($err_pass);
		header('Refresh: 1; url=password.php?');
	}
	
	}
		echo '<div class="posts">';
        $form = new form("?");
		$form->input(Lang::get('Текущий пороль:'),'pass_st','password',false,true);
		$form->input(Lang::get('Новый пороль:'),'password_new','text',false,true);
		$form->input(Lang::get('Еще раз новый пороль:'),'password_new2','text',false,true);
		$form->submit(Lang::get('Сменить пороль'),'submit');
		$form->finish();
		echo Lang::get('<small>Из соображений безопасности советуем вам использовать особый пароль, который вы больше нигде не используете. 
		               Чтобы повысить уровень надежности. Например:<ul><li>Qwerty, 123456 - короткий и очевидный пароль; </li><li>Vjq1gfhjkm2 - сложный и достойный пароль.</li></ul></small>').'
		</div>';
include_once'../template/foot.php';
?>