public function updateAccount(UpdateAccountCommand $command, $login = null) { try { $user = $this->getUserOrCurrentUser($login); foreach ($this->updateAccountMethodMap as $getter => $setter) { $value = call_user_func([$command, $getter]); if ($value !== null) { call_user_func([$user, $setter], $value); } } $this->userManager->update($user, true); } catch (\Exception $e) { throw new AccountException('Account update failed:' . $e->getMessage(), 0, $e); } }
/** * Logs a user query. * * @param User $user * @param string $query */ public function logQuery(User $user, $query) { $userQuery = new UserQuery(); $userQuery->setUser($user); $userQuery->setQuery($query); $user->addQuery($userQuery); $this->manager->update($user); }