/** * Check to see if a user is in a group * * @param integer $userId User ID * @param integer $groupId Group ID * @param OutputInterface $output Output object */ public function inGroup($userId, $groupId, $output) { $group = Gatekeeper::findGroupById($groupId); $result = Gatekeeper::findUserById($userId)->inGroup($groupId); $output->writeln($result === true ? "User in group '" . $group->description . "'." : "User <options=bold>not</options=bold> in group '" . $group->description . "'."); return $result; }
public function upsertGroupProcessAction() { $id = $_POST['id'] ?? null; if ($id && !ctype_digit($id)) { $this->flasher->error('E01 Invalid group ID: ' . $id); $this->redirect('/users/groups'); } $group = null; if ($id) { $group = Gatekeeper::findGroupById($id); if (!$group) { $this->flasher->error('E02 Invalid group ID: ' . $id); } } try { v::alnum('-._')->setName('Group name')->check($_POST['name']); } catch (ValidationException $e) { $this->flasher->error($e->getMainMessage()); echo $this->twig->render('users/groups/upsert.twig', ['flashes' => $this->flasher->display(), 'group' => $group ?: $_POST]); return false; } if ($group) { $group->name = $_POST['name']; $group->description = $_POST['description']; $group->save(); } else { Gatekeeper::createGroup($_POST); if (Gatekeeper::getLastError()) { $this->flasher->error($this->site['debug'] ? Gatekeeper::getLastError() : "Could not create group!"); echo $this->twig->render('users/groups/upsert.twig', ['flashes' => $this->flasher->display(), 'user' => $group ?: $_POST]); return false; } $this->flasher->success('Successfully created group.'); $this->redirect('/users/groups'); } }
$view->render('json.php', $groups->toArray(true)); }); $app->get('/user', function ($id) use($app, $view) { $users = g::findPermissionById($id)->users; $view->render('json.php', $users->toArray(true)); }); $app->delete('/user/:userId', function ($permId, $userId) use($app, $view) { $user = g::findUserById($userId); $user->revokePermission($permId); }); $app->delete('/group/:groupId', function ($permId, $groupId) use($app, $view) { $group = g::findGroupById($groupId); $group->removePermission($permId); }); $app->put('/group/:groupId', function ($permId, $groupId) use($app, $view) { $group = g::findGroupById($groupId); $group->addPermission($permId); }); $app->put('/user/:userId', function ($permId, $userId) use($app, $view) { $user = g::findUserById($userId); $user->addPermission($permId); }); }); }); // Pages $app->group('/permissions', function () use($app, $view) { $app->get('/', function () use($app, $view) { $permissions = g::findPermissions(); $data = ['permissions' => $permissions->toArray(true)]; $view->render('permissions/index.php', $data); });