Esempio n. 1
0
 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();
 }