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);
}
}