public function users()
{
$get = $this->httpGetParams();
list($offset, $limit) = $this->getOffsetAndLimit($get['page'] ?? 0);
$suffix = '';
$dir = 'ASC';
if (\array_key_exists('dir', $get)) {
if ($get['dir'] === 'DESC') {
$dir = 'DESC';
}
}
if (\array_key_exists('sort', $get)) {
switch ($get['sort']) {
case 'username':
case 'display_name':
$suffix = \http_build_query(['sort' => $get['sort'], 'dir' => $dir]) . '&';
$users = $this->account->listUsers($offset, $limit, $get['sort'], $dir);
break;
default:
$users = $this->account->listUsers($offset, $limit);
}
} else {
$users = $this->account->listUsers($offset, $limit);
}
$this->lens('crew/user_list', ['active_link' => 'bridge-link-admin-crew-users', 'users' => $users, 'pagination' => ['base' => $this->airship_cabin_prefix . '/crew/users', 'suffix' => '?' . $suffix . 'page=', 'count' => $this->account->numUsers(), 'page' => (int) \ceil($offset / ($limit ?? 1)) + 1, 'per_page' => $limit]]);
}