コード例 #1
0
 public function createAclResourceForCustomBackendModule()
 {
     if ($this->is_custom_backend_module) {
         $module = $this->custom_backend_module_data;
         if (isset($module['aclResourceId'])) {
             if (trim($module['aclResourceId']) != '') {
                 $resource = Acl::getResourceData(Acl::RESOURCE_GROUP_MODULES, $module['aclResourceId']);
                 if ($resource === false) {
                     Acl::registerResource(Acl::RESOURCE_GROUP_MODULES, $module['aclResourceId'], $module['name'], Acl::RESOURCE_USER_WHITELIST);
                 }
             }
         }
     }
 }
コード例 #2
0
 protected function copyElements($elements, $dest_id, $position = null)
 {
     $counter = 0;
     foreach ($elements as $element) {
         if ($position !== null) {
             $dest_position = $position + $counter;
         } else {
             $dest_position = null;
         }
         $result = $this->pages->copy($element['id'], $dest_id, $dest_position);
         if ($result === false) {
             return false;
         }
         $newId = $result;
         $existing_acl_resource = Acl::getResourceData(Acl::RESOURCE_GROUP_PAGES, $element['id']);
         if ($existing_acl_resource !== false) {
             $new_acl_resource_id = Acl::registerResource(Acl::RESOURCE_GROUP_PAGES, $newId, $this->pages->getAnyCaption($result), $existing_acl_resource['user-groups-mode']);
             $user_groups = Acl::getUserGroups(Acl::RESOURCE_GROUP_PAGES, $element['id']);
             if ($user_groups !== false) {
                 Acl::assignUserGroupsById($new_acl_resource_id, $user_groups);
             }
         }
         $children = $this->pages->getChildren($element['id'], false);
         if ($children !== false) {
             if (count($children) > 0) {
                 if ($this->copyElements($children, $newId) === false) {
                     return false;
                 }
             }
         }
         $counter++;
     }
     return true;
 }