Файл: plugins/user/password.php
Строк: 34
<?php
core::only('user');
$title = 'Смена пароля';
require (SYS.'head.php');
if (isset($_POST['save']))
{
if (isset($_POST['pass_old']) && $db->query("SELECT `id` FROM `users` WHERE `id` = '".$user['id']."' AND `password` = '".core::encode($_POST['pass_old'])."' ")->num_rows == 0)
{
$error = 'Старый пароль неверен.';
}
elseif ($_POST['pass_new_1'] != $_POST['pass_new_2'])
{
$error = 'Новый пароль не совпадает с подтверждением.';
}
elseif (core::strlen($_POST['pass_new_1']) < 6)
{
$error = 'Короткий пароль.';
}
elseif (core::strlen($_POST['pass_new_1']) > 32)
{
$error = 'Длинный пароль.';
}
elseif (empty($error))
{
$hash = core::encode(rand(10000, 99999));
$db->query("UPDATE `users` SET `password` = '".core::encode($_POST['pass_new_1'])."', `hash` = '".$hash."' WHERE `id` = '".$user['id']."' LIMIT 1");
setcookie('hash', $hash, time()+60*60*24*365, '/');
core::show('success', 'Пароль успешно изменен.');
}
}
core::show('error');
$elements[] = [
'type' => 'input',
'title' => 'Старый пароль',
'br' => 1,
'info' => [
'name' => 'pass_old'
]
];
$elements[] = [
'type' => 'input',
'title' => 'Новый пароль',
'br' => 1,
'info' => [
'name' => 'pass_new_1'
]
];
$elements[] = [
'type' => 'input',
'title' => 'Повторите пароль',
'br' => 1,
'info' => [
'name' => 'pass_new_2'
]
];
$elements[] = [
'type' => 'submit',
'br' => 0,
'info' => [
'name' => 'save',
'value' => 'Применить'
]
];
$smarty->assign([
'method' => 'POST',
'action' => '?',
'el' => $elements
]);
$smarty->display('form.tpl');
require (SYS.'foot.php');