Skip to content

Instantly share code, notes, and snippets.

@ronlobo
Created August 5, 2013 03:44
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ronlobo/6153341 to your computer and use it in GitHub Desktop.
Save ronlobo/6153341 to your computer and use it in GitHub Desktop.
concrete5 permission programatically
$speakersPE = GroupPermissionAccessEntity::getOrCreate($speakers);
$speakersPEID = $speakersPE->getAccessEntityID();
$adminsPE = GroupPermissionAccessEntity::getOrCreate($admins);
$adminsPEID = $adminsPE->getAccessEntityID();
$suPE = UserPermissionAccessEntity::getOrCreate($suUI);
$suPEID = $suPE->getAccessEntityID();
$manageSessionsEntities = array($speakersPE, $adminsPE, $suPE);
$pk = SitemapPermissionKey::getByHandle('access_sitemap');
$pt = $pk->getPermissionAssignmentObject();
$pa = $pk->getPermissionAccessObject();
if (!is_object($pa)) {
$pa = PermissionAccess::create($pk);
}
foreach ($manageSessionsEntities as $pe) {
$pa->addListItem($pe, false, PermissionKey::ACCESS_TYPE_INCLUDE);
}
$pk = FileSetPermissionKey::getByHandle('add_file');
$fs = FileSet::getGlobal();
$pk->setPermissionObject($fs);
$pt = $pk->getPermissionAssignmentObject();
$pa = $pk->getPermissionAccessObject();
if (!is_object($pa)) {
$pa = PermissionAccess::create($pk);
}
foreach ($manageSessionsEntities as $pe) {
$pa->addListItem($pe, false, PermissionKey::ACCESS_TYPE_INCLUDE);
}
$pk = FileSetPermissionKey::getByHandle('search_file_set');
$pk->setPermissionObject($fs);
$pt = $pk->getPermissionAssignmentObject();
$pa = $pk->getPermissionAccessObject();
if (!is_object($pa)) {
$pa = PermissionAccess::create($pk);
}
foreach ($manageSessionsEntities as $pe) {
$pa->addListItem($pe, false, PermissionKey::ACCESS_TYPE_INCLUDE);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment