From 000b1ef6ee040425fa12213245f9f2c5bdb1ffa2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=85kre=20Solberg?= <andreas.solberg@uninett.no> Date: Sat, 29 Nov 2008 08:04:17 +0000 Subject: [PATCH] Added support for merging templates info stored data from configuration. git-svn-id: https://simplesamlphp.googlecode.com/svn/trunk@1033 44740490-163a-0410-bde0-09ae8108e29a --- modules/metarefresh/lib/MetaLoader.php | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/modules/metarefresh/lib/MetaLoader.php b/modules/metarefresh/lib/MetaLoader.php index 4bc0947a8..272d10900 100644 --- a/modules/metarefresh/lib/MetaLoader.php +++ b/modules/metarefresh/lib/MetaLoader.php @@ -30,13 +30,13 @@ class sspmod_metarefresh_MetaLoader { * * @param $src Filename of the metadata file. */ - public function loadSource($source, $validateFingerprint = NULL, $template = NULL) { + public function loadSource($source) { $entities = SimpleSAML_Metadata_SAMLParser::parseDescriptorsFile($source['src']); foreach($entities as $entity) { - if($validateFingerprint !== NULL) { - if(!$entity->validateFingerprint($validateFingerprint)) { + if($source['validateFingerprint'] !== NULL) { + if(!$entity->validateFingerprint($source['validateFingerprint'])) { SimpleSAML_Logger::info('Skipping "' . $entity->getEntityId() . '" - could not verify signature.' . "\n"); continue; } @@ -48,11 +48,13 @@ class sspmod_metarefresh_MetaLoader { continue; } } + $template = NULL; + if (array_key_exists('template', $source)) $template = $source['template']; - $this->addMetadata($src, $entity->getMetadata1xSP(), 'shib13-sp-remote'); - $this->addMetadata($src, $entity->getMetadata1xIdP(), 'shib13-idp-remote'); - $this->addMetadata($src, $entity->getMetadata20SP(), 'saml20-sp-remote'); - $this->addMetadata($src, $entity->getMetadata20IdP(), 'saml20-idp-remote'); + $this->addMetadata($source['src'], $entity->getMetadata1xSP(), 'shib13-sp-remote', $template); + $this->addMetadata($source['src'], $entity->getMetadata1xIdP(), 'shib13-idp-remote', $template); + $this->addMetadata($source['src'], $entity->getMetadata20SP(), 'saml20-sp-remote', $template); + $this->addMetadata($source['src'], $entity->getMetadata20IdP(), 'saml20-idp-remote', $template); } } @@ -95,12 +97,20 @@ class sspmod_metarefresh_MetaLoader { * @param $metadata The metadata. * @param $type The metadata type. */ - private function addMetadata($filename, $metadata, $type) { + private function addMetadata($filename, $metadata, $type, $template = NULL) { if($metadata === NULL) { return; } + if (isset($template)) { +// foreach($metadata AS $mkey => $mentry) { +// echo '<pre>'; print_r($metadata); exit; +// $metadata[$mkey] = array_merge($mentry, $template); +// } + $metadata = array_merge($metadata, $template); + } + if(!array_key_exists($type, $this->metadata)) { $this->metadata[$type] = array(); } -- GitLab