public function LoginHistoryController::generateReportTable in Login History 8
Renders login histories as a table.
Parameters
array $history: A list of login history objects to output.
array $header: An array containing table header data.
Return value
array A table render array.
Throws
\Drupal\Component\Plugin\Exception\PluginNotFoundException
\Drupal\Component\Plugin\Exception\InvalidPluginDefinitionException
1 call to LoginHistoryController::generateReportTable()
- LoginHistoryController::report in src/
Controller/ LoginHistoryController.php - Displays a report of user logins.
File
- src/
Controller/ LoginHistoryController.php, line 128
Class
- LoginHistoryController
- Controller routines for Login history routes.
Namespace
Drupal\login_history\ControllerCode
public function generateReportTable(array $history, array $header) {
// Load all users first.
$uids = [];
foreach ($history as $entry) {
$uids[] = $entry->uid;
}
/** @var \Drupal\user\Entity\User[] $users */
$users = $this->entityTypeManager
->getStorage('user')
->loadMultiple($uids);
$rows = [];
foreach ($history as $entry) {
$rows[] = [
$this->dateFormatter
->format($entry->login, 'short'),
$users[$entry->uid]
->getAccountName(),
$entry->hostname,
empty($entry->one_time) ? $this
->t('Regular login') : $this
->t('One-time login'),
$entry->user_agent,
];
}
$output['history'] = [
'#theme' => 'table',
'#header' => $header,
'#rows' => $rows,
'#empty' => $this
->t('No login history available.'),
];
$output['pager'] = [
'#type' => 'pager',
];
return $output;
}