public function testGetAclCapabilityKeysReturnsContentOfStaticArray() { $this->assertSame($this->getStaticAttribute('\\Dkd\\PhpCmis\\Bindings\\Browser\\JSONConstants', 'ACL_CAPABILITY_KEYS'), JSONConstants::getAclCapabilityKeys()); }
/** * @param array|null $data * @return AclCapabilities|null */ public function convertAclCapabilities(array $data = null) { if (empty($data)) { return null; } $aclCapabilities = new AclCapabilities(); $aclCapabilities->setSupportedPermissions(SupportedPermissions::cast($data[JSONConstants::JSON_ACLCAP_SUPPORTED_PERMISSIONS])); $aclCapabilities->setAclPropagation(AclPropagation::cast($data[JSONConstants::JSON_ACLCAP_ACL_PROPAGATION])); if (isset($data[JSONConstants::JSON_ACLCAP_PERMISSIONS]) && is_array($data[JSONConstants::JSON_ACLCAP_PERMISSIONS])) { $permissionsData = $data[JSONConstants::JSON_ACLCAP_PERMISSIONS]; $permissionDefinitionList = array(); if (is_array($permissionsData)) { foreach ($permissionsData as $permissionData) { $permissionDefinition = new PermissionDefinition(); $permissionDefinition->setId((string) $permissionData[JSONConstants::JSON_ACLCAP_PERMISSION_PERMISSION]); $permissionDefinition->setDescription((string) $permissionData[JSONConstants::JSON_ACLCAP_PERMISSION_DESCRIPTION]); // handle extensions $permissionDefinition->setExtensions($this->convertExtension($permissionData, JSONConstants::getAclCapabilityPermissionKeys())); $permissionDefinitionList[] = $permissionDefinition; } } $aclCapabilities->setPermissions($permissionDefinitionList); } if (isset($data[JSONConstants::JSON_ACLCAP_PERMISSION_MAPPING]) && is_array($data[JSONConstants::JSON_ACLCAP_PERMISSION_MAPPING])) { $permissionMappingData = $data[JSONConstants::JSON_ACLCAP_PERMISSION_MAPPING]; $permissionMappingList = array(); foreach ($permissionMappingData as $permissionMapping) { $mapping = new PermissionMapping(); $key = (string) $permissionMapping[JSONConstants::JSON_ACLCAP_MAPPING_KEY]; $mapping->setKey($key); $permissionList = array(); if (isset($permissionMapping[JSONConstants::JSON_ACLCAP_MAPPING_PERMISSION]) && is_array($permissionMapping[JSONConstants::JSON_ACLCAP_MAPPING_PERMISSION])) { foreach ($permissionMapping[JSONConstants::JSON_ACLCAP_MAPPING_PERMISSION] as $permission) { if (!empty($permission)) { $permissionList[] = (string) $permission; } } } $mapping->setPermissions($permissionList); $mapping->setExtensions($this->convertExtension($permissionMapping, JSONConstants::getAclCapabilityMappingKeys())); $permissionMappingList[$key] = $mapping; } $aclCapabilities->setPermissionMapping($permissionMappingList); } // handle extensions $aclCapabilities->setExtensions($this->convertExtension($data, JSONConstants::getAclCapabilityKeys())); return $aclCapabilities; }