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(); }