Новый класс UserStats для параметров персонажа. Перенос некоторых проверок в геттеры. Удаление неиспользуемых сеттеров.

This commit is contained in:
lopar
2021-03-10 23:38:14 +02:00
parent eacde76543
commit 0a07d53be7
6 changed files with 285 additions and 405 deletions
+9 -5
View File
@@ -8,7 +8,6 @@ require_once 'functions.php';
$name = filter_input(INPUT_POST, 'name', FILTER_SANITIZE_STRING);
$oldpsw = filter_input(INPUT_POST, 'oldpsw', FILTER_SANITIZE_SPECIAL_CHARS);
$newpsw = filter_input(INPUT_POST, 'newpsw', FILTER_SANITIZE_SPECIAL_CHARS);
$color = filter_input(INPUT_POST, 'color', FILTER_VALIDATE_INT);
$hobbie = filter_input(INPUT_POST, 'hobbie', FILTER_SANITIZE_STRING);
$hobbie = str_replace("\\n", "<br />", $hobbie);
$hobbie = str_replace("\\r", "", $hobbie);
@@ -18,14 +17,19 @@ if ($name || $hobbie) {
if (strlen($hobbie) > User::INFO_CHAR_LIMIT) {
err('Максимальная длинна поля Хобби: ' . User::INFO_CHAR_LIMIT . ' символов!');
} else {
$values = ['realname' => $name, 'color' => $color, 'info' => $hobbie];
db::c()->query('UPDATE users SET ?As WHERE id = ?i', $values, $user->getId());
if ($name) {
$user->setRealname($name);
}
if ($hobbie) {
$user->setInfo($hobbie);
}
$user->saveAnketa();
}
}
if ($oldpsw && $newpsw) {
if (password_verify($oldpsw, $user->getPass())) {
db::c()->query('UPDATE `users` SET `pass` = "?s" WHERE `id` = ?i', password_hash($newpsw, PASSWORD_DEFAULT), $user->getId());
$user->setPass(password_hash($newpsw, PASSWORD_DEFAULT));
$user->savePass();
} else {
err('Неверный текущий пароль!');
}