Skip to content

Commit c2806bb

Browse files
committed
Validate user profile update form
1 parent 8e6b8d7 commit c2806bb

File tree

1 file changed

+18
-11
lines changed

1 file changed

+18
-11
lines changed

app/controller/user/profile.php

+18-11
Original file line numberDiff line numberDiff line change
@@ -25,22 +25,29 @@
2525
use function Vvveb\__;
2626
use Vvveb\Sql\UserSQL;
2727
use Vvveb\System\User\User;
28+
use Vvveb\System\Validator;
2829

2930
class Profile extends Base {
3031
function save() {
31-
if (isset($this->request->post['user'])) {
32-
$user = $this->request->post['user'];
33-
$user['user_id'] = $this->global['user_id'];
34-
unset($user['status'], $user['user'], $user['token'], $user['created_at']);
35-
36-
$result = User::update($user, ['user_id' => $this->global['user_id']]);
32+
$validator = new Validator(['user']);
3733

38-
if (! $result) {
39-
$userModel = new UserSQL();
40-
$this->view->errors = [$userModel->error];
34+
if (isset($this->request->post['user'])) {
35+
if (($errors = $validator->validate($this->request->post['user'])) === true) {
36+
$user = $this->request->post['user'];
37+
$user['user_id'] = $this->global['user_id'];
38+
unset($user['username'], $user['status'], $user['user'], $user['token'], $user['created_at']);
39+
40+
$result = User::update($user, ['user_id' => $this->global['user_id']]);
41+
42+
if (! $result) {
43+
$userModel = new UserSQL();
44+
$this->view->errors = [$userModel->error];
45+
} else {
46+
$message = __('Profile saved!');
47+
$this->view->success[] = $message;
48+
}
4149
} else {
42-
$message = __('Profile saved!');
43-
$this->view->success[] = $message;
50+
$this->view->errors = $errors;
4451
}
4552
}
4653

0 commit comments

Comments
 (0)