From 17b12bd9c0f0a0bb81e1f951fb1bb4f744cb44f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=85kre=20Solberg?= <andreas.solberg@uninett.no> Date: Fri, 15 May 2009 09:40:04 +0000 Subject: [PATCH] Add support for excluding tags in metadata aggregator git-svn-id: https://simplesamlphp.googlecode.com/svn/trunk@1503 44740490-163a-0410-bde0-09ae8108e29a --- modules/aggregator/www/index.php | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/modules/aggregator/www/index.php b/modules/aggregator/www/index.php index 0b0dd375e..b866f4220 100644 --- a/modules/aggregator/www/index.php +++ b/modules/aggregator/www/index.php @@ -40,28 +40,36 @@ try { var_export($id, TRUE) . ': ' . $e->getMessage()); } +$exclude = NULL; +if (array_key_exists('exclude', $_REQUEST)) $exclude = $_REQUEST['exclude']; + +#echo $exclude; exit; /* Find list of all available entities. */ $entities = array(); foreach ($sources as $source) { foreach ($metadataSets as $set) { foreach ($source->getMetadataSet($set) as $entityId => $metadata) { - if (!array_key_exists($entityId, $entities)) { - $entities[$entityId] = array(); + if (isset($exclude) && + array_key_exists('tags', $metadata) && + in_array($exclude, $metadata['tags'])) { + SimpleSAML_Logger::debug('Excluding entity ID [' . $entityId . '] becuase it is tagged with [' . $exclude . ']'); + continue; + } else { + #echo('<pre>'); print_r($metadata); exit; } - + if (!array_key_exists($entityId, $entities)) + $entities[$entityId] = array(); + if (array_key_exists($set, $entities[$entityId])) { /* Entity already has metadata for the given set. */ continue; } - + $entities[$entityId][$set] = $metadata; } } } - - - $xml = new DOMDocument(); $entitiesDescriptor = $xml->createElementNS('urn:oasis:names:tc:SAML:2.0:metadata', 'EntitiesDescriptor'); $entitiesDescriptor->setAttribute('Name', $id); -- GitLab