/**
* 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');
}