/** * Prepares a table row for output with data of the given User * * @param User $user The user * @return array */ protected function getTableRowForUser(User $user) { $roleNames = array(); $accountIdentifiers = array(); foreach ($user->getAccounts() as $account) { /** @var Account $account */ $authenticationProviderName = $account->getAuthenticationProviderName(); if ($authenticationProviderName !== $this->userService->getDefaultAuthenticationProviderName()) { $authenticationProviderLabel = ' (' . (isset($this->authenticationProviderSettings[$authenticationProviderName]['label']) ? $this->authenticationProviderSettings[$authenticationProviderName]['label'] : $authenticationProviderName) . ')'; } else { $authenticationProviderLabel = ''; } $accountIdentifiers[] = $account->getAccountIdentifier() . $authenticationProviderLabel; foreach ($account->getRoles() as $role) { /** @var Role $role */ $roleNames[] = $role->getIdentifier(); } } return array($user->getName()->getFullName(), $user->getPrimaryElectronicAddress(), implode(', ', $accountIdentifiers), implode(', ', $roleNames), $user->isActive() ? 'yes' : 'no'); }