diff --git a/lib/SimpleSAML/Metadata/SAMLBuilder.php b/lib/SimpleSAML/Metadata/SAMLBuilder.php index a41031764c3bc7f971f9b418abb796506b56776d..80de944f9b134a13b8a0d3f957ff0e0e7dd445cb 100644 --- a/lib/SimpleSAML/Metadata/SAMLBuilder.php +++ b/lib/SimpleSAML/Metadata/SAMLBuilder.php @@ -149,7 +149,7 @@ class SimpleSAML_Metadata_SAMLBuilder { - private function addOrganizationInfo($metadata) { + public function addOrganizationInfo($metadata) { if (array_key_exists('name', $metadata)) { $org = $this->createElement('Organization'); @@ -225,6 +225,8 @@ class SimpleSAML_Metadata_SAMLBuilder { default: SimpleSAML_Logger::warning('Unable to generate metadata for unknown type \'' . $set . '\'.'); } + + // $this->addOrganizationInfo($metadata); } /** @@ -320,7 +322,7 @@ class SimpleSAML_Metadata_SAMLBuilder { $this->entityDescriptor->appendChild($e); - $this->addOrganizationInfo($metadata); + if (array_key_exists('contacts', $metadata) && is_array($metadata['contacts']) ) { foreach($metadata['contacts'] AS $contact) { @@ -392,7 +394,7 @@ class SimpleSAML_Metadata_SAMLBuilder { $this->entityDescriptor->appendChild($e); - $this->addOrganizationInfo($metadata); + if (array_key_exists('contacts', $metadata) && is_array($metadata['contacts']) ) { foreach($metadata['contacts'] AS $contact) { diff --git a/modules/aggregator/www/index.php b/modules/aggregator/www/index.php index 08f7439b8ff2ce891b58b9c8e6101107ee31e851..aa1e88eabceccac88c4c652ee62bb9ef60a6a10d 100644 --- a/modules/aggregator/www/index.php +++ b/modules/aggregator/www/index.php @@ -112,10 +112,13 @@ foreach ($entities as $entity => $sets) { } else { $tmp = new SimpleSAML_Metadata_SAMLBuilder($entity, $aggregatorConfig->getValue('maxCache', NULL), $aggregatorConfig->getValue('maxDuration', NULL)); - + + $orgmeta = NULL; foreach ($sets as $set => $metadata) { $tmp->addMetadata($set, $metadata); + $orgmeta = $metadata; } + $tmp->addOrganizationInfo($orgmeta); $entityDescriptor = $tmp->getEntityDescriptor(); }