public function getAccessListItems($accessType = PermissionKey::ACCESS_TYPE_INCLUDE, $filterEntities = array(), $checkCache = true)
 {
     if ($checkCache) {
         $cache = \Core::make('cache/request');
         $item = $cache->getItem($this->getCacheIdentifier($accessType, $filterEntities));
         if (!$item->isMiss()) {
             return $item->get();
         }
         $item->lock();
     }
     $db = Database::connection();
     $list = parent::getAccessListItems($accessType, $filterEntities, false);
     foreach ($list as $l) {
         $pe = $l->getAccessEntityObject();
         if (isset($this->permissionObjectToCheck) && $this->permissionObjectToCheck instanceof Page && $l->getAccessType() == PermissionKey::ACCESS_TYPE_INCLUDE) {
             $permission = 'A';
         } else {
             $permission = $db->fetchColumn('select permission from BlockTypePermissionBlockTypeAccessList where paID = ? and peID = ?', array($l->getPermissionAccessID(), $pe->getAccessEntityID()));
             if ($permission != 'N' && $permission != 'C') {
                 $permission = 'A';
             }
         }
         $l->setBlockTypesAllowedPermission($permission);
         if ($permission == 'C') {
             $btIDs = $db->GetCol('select btID from BlockTypePermissionBlockTypeAccessListCustom where paID = ? and peID = ?', array($l->getPermissionAccessID(), $pe->getAccessEntityID()));
             $l->setBlockTypesAllowedArray($btIDs);
         }
     }
     if ($checkCache) {
         $cache->save($item->set($list));
     }
     return $list;
 }
 public function getAccessListItems($accessType = PermissionKey::ACCESS_TYPE_INCLUDE, $filterEntities = array())
 {
     $db = Database::connection();
     $list = parent::getAccessListItems($accessType, $filterEntities);
     foreach ($list as $l) {
         $pe = $l->getAccessEntityObject();
         if (isset($this->permissionObjectToCheck) && $this->permissionObjectToCheck instanceof Page && $l->getAccessType() == PermissionKey::ACCESS_TYPE_INCLUDE) {
             $permission = 'A';
         } else {
             $permission = $db->fetchColumn('select permission from BlockTypePermissionBlockTypeAccessList where paID = ? and peID = ?', array($l->getPermissionAccessID(), $pe->getAccessEntityID()));
             if ($permission != 'N' && $permission != 'C') {
                 $permission = 'A';
             }
         }
         $l->setBlockTypesAllowedPermission($permission);
         if ($permission == 'C') {
             $btIDs = $db->GetCol('select btID from BlockTypePermissionBlockTypeAccessListCustom where paID = ? and peID = ?', array($l->getPermissionAccessID(), $pe->getAccessEntityID()));
             $l->setBlockTypesAllowedArray($btIDs);
         }
     }
     return $list;
 }