/** * Show the permissions for a user * * @param array $options Command line options * @param OutputInterface $output Output interface object */ public function showUserGroups(array $options = array(), $output) { if (empty($options['id'])) { throw new \InvalidArgumentException('You must specify a user ID!'); } $user = Gatekeeper::findUserById($options['id']); $output->writeln("\n" . 'Showing groups for <options=bold>' . $user->username . '</options=bold>'); $params = array('userId' => $options['id']); $columns = array('name' => 'Name', 'description' => 'Description', 'created' => 'Date Created', 'updated' => 'Date Updated', 'id' => 'ID'); $data = array(); $ds = Gatekeeper::getDatasource(); $groups = Gatekeeper::findUserGroups($params); foreach ($groups->toArray(true) as $group) { $groupModel = new \Psecio\Gatekeeper\GroupModel($ds); $groupModel = $ds->find($groupModel, array('id' => $group['groupId'])); $data[] = $groupModel->toArray(); } $this->buildTable($columns, $data, $output); }