function loadRegisterXml($filename) { $xml = file_get_contents($filename); $resourceNode = @simplexml_load_string($xml); if (!$resourceNode) { throw new RuntimeException("Failed to parse " . $filename); } $resource = new Resource(); $resource->setType('perinatologie/dossier'); foreach ($resourceNode->property as $propertyNode) { $property = new Property((string) $propertyNode['name'], (string) $propertyNode); $resource->addProperty($property); } foreach ($resourceNode->share as $shareNode) { $share = new Share(); $share->setName((string) $shareNode->name); $share->setIdentifierType((string) $shareNode->identifier['type']); $share->setIdentifier((string) $shareNode->identifier); $share->setPermission((string) $shareNode->permission); $resource->addShare($share); } return $resource; }
private function parseShares($node) { $shares = []; foreach ($node as $shareNode) { $share = new Share(); $share->setName((string) $shareNode->granteeName); $share->setDisplayName((string) $shareNode->granteeDisplayName); $share->setPermission((string) $shareNode->permission); $shares[] = $share; } return $shares; }