private function __construct() { $this->roleDao = BOL_AuthorizationRoleDao::getInstance(); $this->userRoleDao = BOL_AuthorizationUserRoleDao::getInstance(); $this->actionDao = BOL_AuthorizationActionDao::getInstance(); $this->groupDao = BOL_AuthorizationGroupDao::getInstance(); $this->permissionDao = BOL_AuthorizationPermissionDao::getInstance(); $this->moderatorDao = BOL_AuthorizationModeratorDao::getInstance(); $this->moderatorPermissionDao = BOL_AuthorizationModeratorPermissionDao::getInstance(); $this->groupDaoCache = $this->groupDao->findAll(); foreach ($this->groupDaoCache as $group) { /* @var $group BOL_AuthorizationGroup */ $this->groupCache[$group->name] = $group->id; } $moderatorDaoCache = $this->moderatorDao->findAll(); $this->superModeratorUserId = 0; foreach ($moderatorDaoCache as $moderator) { /* @var $moderator BOL_AuthorizationModerator */ $this->moderatorCache[$moderator->userId] = $moderator->id; if ($this->superModeratorUserId === 0 || (int) $this->moderatorCache[$moderator->userId] < (int) $this->moderatorCache[$this->superModeratorUserId]) { $this->superModeratorUserId = (int) $moderator->userId; } } $moderatorPermissionDaoCache = $this->moderatorPermissionDao->findAll(); foreach ($moderatorPermissionDaoCache as $perm) { /* @var $perm BOL_AuthorizationModeratorPermission */ $this->moderatorPermissionCache[$perm->moderatorId][$perm->groupId] = $perm->id; } $this->actionDaoCache = $this->actionDao->findAll(); foreach ($this->actionDaoCache as $action) { /* @var $action BOL_AuthorizationAction */ $this->actionCache[$action->name][$action->groupId] = $action->id; } $this->userRolesCache = array(); if (OW::getUser()->isAuthenticated()) { $this->userRolesCache[OW::getUser()->getId()] = $this->userRoleDao->getRoleIdList(OW::getUser()->getId()); } $permissionDaoCache = $this->permissionDao->findAll(); foreach ($permissionDaoCache as $permission) { /* @var $permission BOL_AuthorizationPermission */ $this->permissionCache[$permission->actionId][$permission->roleId] = $permission->id; } $this->roleDaoCache = $this->roleDao->findAll(); $this->guestRoleId = $this->getGuestRoleId(); }
public function onForumUninstall(OW_Event $event) { $config = OW::getConfig(); if ($config->getValue('groups', 'is_forum_connected')) { $event = new OW_Event('forum.delete_section', array('entity' => 'groups')); OW::getEventManager()->trigger($event); $event = new OW_Event('forum.delete_widget'); OW::getEventManager()->trigger($event); $config->saveConfig('groups', 'is_forum_connected', 0); $actionId = BOL_AuthorizationActionDao::getInstance()->getIdByName('add_topic'); BOL_AuthorizationService::getInstance()->deleteAction($actionId); } }
private function isAuthorizedForRole() { $groupId = BOL_AuthorizationService::getInstance()->findGroupIdByName('photo'); $photoAction = BOL_AuthorizationActionDao::getInstance()->findAction('view', $groupId); foreach (BOL_AuthorizationService::getInstance()->getRoleList() as $role) { if (BOL_AuthorizationPermissionDao::getInstance()->findByRoleIdAndActionId($role->id, $photoAction->id) !== null) { return true; } } return false; }