View file shcms/pass.php

File size: 5.43Kb
<?
/*
=============================================
Движок: SHCMS Engine
=============================================
Название файла: Смена пороля
=============================================
Official website: http://shcms.ru
=============================================
*/
define('SHCMS', true);
include_once'../system/inc/basic_settings.php';
$shcmsengine['title'] = 'Смена пороля';
include_once'../template/head.php';
registrat();
function dpass_errors($err_pass = false, $link = '') {
if ($err_pass) {$out = '';if (is_array($err_pass)) {foreach ($err_pass as $val)$out .= '<div>' . $val . '</div>';}
else {$out .= '<br />' . $err_pass;}$out .= '</p><p>' . $link . '</p></div>';return $out;} 
else {return false;}}
if (!$user_id) {
    dpass_errors('Только для зарегистрированных посетителей');
    	include_once'../template/foot.php';
    exit;
}if ($id && $id != $user_id) {
    $mysql_p = mysql_query("SELECT * FROM `users` WHERE `id` = '$id' LIMIT 1");
    if (mysql_num_rows($mysql_p)) {
        $user = mysql_fetch_assoc($mysql_p);}
    else {echo 'Пользователя несуществует';
 exit();}}else {$id = false;$user = $datauser;}
echo '<hr/>';
$te = mysql_fetch_array(mysql_query("SELECT * FROM pass_secure WHERE user_id='$user_id' ORDER BY id DESC"));
if($te['user_id'] == $user_id)
{echo 'Последний раз пороль был изменен ('.date('d.m.y',$te['time']) .' в '. date('H:s:i',$te['time']) .')';}
else{echo 'Вы не меняли еще пороль.';}
echo '<hr/>';
switch ($secure_pass) {case 'ok_pass' :
$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 ($sys_b >= 7) {if (!$password_new || !$password_new2){echo 'Обязательно заполните все поля';header('Refresh: 1; url=pass.php?' . $conservation . '&' );
	include_once'../template/foot.php';
exit();}}
else {if (!$pass_st || !$password_new || !$password_new2){echo 'Обязательно заполните все поля';header('Refresh: 1; url=pass.php?' . $conservation . '&' );
	include_once'../template/foot.php';
exit();
}}if (!$err_pass && md5(md5($pass_st)) !== $user['password']){echo 'Вы неправильно ввели старый пороль';header('Refresh: 1; url=pass.php?' . $conservation . '&' );exit();}
if ($password_new != $password_new2){echo 'Новые пароли не совпадают';header('Refresh: 1; url=pass.php?' . $conservation . '&' );
exit();}if (preg_match("/[^\da-zA-Z_]+/", $password_new) && !$err_pass){echo 'В новом пороле имеются недопустимые символы';header('Refresh: 1; url=pass.php?' . $conservation . '&' );
	include_once'../template/foot.php';
exit();}
if (!$err_pass && (strlen($password_new) < 2 or strlen($password_new) > 20))
{echo  'Длина пароля должна быть не больше 20символов';header('Refresh: 1; url=pass.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 = '".$user['id']."'LIMIT 1");
mysql_query("INSERT INTO pass_secure (time,user_id) VALUES('".time()."','$user_id')");
if (isset ($_COOKIE['cuid']) && isset ($_COOKIE['cups']))
setcookie('cups', md5($password_new), time() + 3600 * 24 * 365);
echo '<div class="actshcms">Ваш старый пороль успешно изменен на новый ('.$password_new.') для безопастности он был выслан вам на e-mail '.$user['email'].' и на внутреннюю почту</div><br />';
		$adress = "$user[email]";
		$tex = 'Смена пороля';	
		$contr = 'Вы успешно сменили пороль вашего логина('.$user['login'].') на сайте '.$_SERVER['HTTP_HOST'].'. Вот ваш новый пороль ('.$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 = 'Вы успешно сменили пороль вашего логина( '.$user['login'].' ) <br/>на сайте '.$_SERVER['HTTP_HOST'].'. <br/>Вот ваш новый пороль ('.$password_new.')<br /><hr/>Отправлено:' . date("d.m.y", $time_date) .' в ' . date("H.i.s", $time_date);
		mysql_query("INSERT INTO `mail` SET`user` = '$user[login]',`text` = '$text',`author` = 'Системный робот',`time` = '$time_date',`type` = 'in',`chit` = 'no'");
			header('Refresh: 1; url=pass.php?' . $conservation . '&' );}
        else {echo dpass_errors($err_pass);header('Refresh: 1; url=pass.php?' . $conservation . '&' );}break;default :
        echo '<form action="?secure_pass=ok_pass" method="post">';echo 'Старый пороль:<br /><input type="password" name="pass_st" /><br/>';
		echo 'Новый пороль:<br /><input type="password" name="password_new" /><br />';
		echo 'Подтверждение:<br /><input type="password" name="password_new2" /><br/>';
        echo '<input type="submit" name="submit" value="Сменить"/>';
        echo '</form>';
}
include_once'../template/foot.php';
?>