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';
?>