Services\UserManager::updateUser PHP Method

updateUser() public method

Update an existing user
public updateUser ( $id, array $input = [] ) : mixed | void
$id
$input array
return mixed | void
    public function updateUser($id, $input = array())
    {
        $input['id'] = $id;
        $user = Sentry::findUserById($id);
        $photo = isset($input['photo']) && $input['photo'] ? $this->uploadImage($input['photo']) : $user->photo;
        // Update the user details
        $user->username = $input['username'];
        $user->email = $input['email'];
        if (isset($input['password']) && $input['password'] != '') {
            $user->password = $input['password'];
            $user->last_pw_changed = date('Y-m-d h:i:s');
        }
        $user->photo = $photo;
        $user->first_name = $input['first_name'];
        $user->last_name = $input['last_name'];
        $user->company_id = isset($input['company_id']) ? json_encode($input['company_id']) : null;
        if (isset($input['security_question'])) {
            $user->security_question = $input['security_question'];
        }
        if (isset($input['security_answer'])) {
            $user->security_answer = $input['security_answer'];
        }
        $user->auto_logout_time = $input['auto_logout_time'];
        $user->save();
        if (isset($input['user-group']) && !Str::contains(URL::previous(), '/profiles/')) {
            // Remove previous groups
            foreach ($this->getUserGroups($user) as $group) {
                $user->removeGroup($group);
            }
            // Assign user groups
            $this->addUserToGroup($input['user-group'], $user);
        }
    }