diff options
author | Olav Morken <olav.morken@uninett.no> | 2011-01-05 12:17:59 +0000 |
---|---|---|
committer | Olav Morken <olav.morken@uninett.no> | 2011-01-05 12:17:59 +0000 |
commit | 3707ceabbae18b3a6d4d9cc48e1b643948fc56be (patch) | |
tree | 90d2967796fd4d0401ba67edfdf6c55a098d66cc /lib/SAML2/XML/samlp/Extensions.php | |
parent | 73cf5412848022f8db47e37663f459d9d13fe8fb (diff) | |
download | simplesamlphp-3707ceabbae18b3a6d4d9cc48e1b643948fc56be.zip simplesamlphp-3707ceabbae18b3a6d4d9cc48e1b643948fc56be.tar.gz simplesamlphp-3707ceabbae18b3a6d4d9cc48e1b643948fc56be.tar.bz2 |
saml:IdP: Extract extensions from authentication request.
Thanks to Andjelko Horvat for implementing this!
git-svn-id: https://simplesamlphp.googlecode.com/svn/trunk@2701 44740490-163a-0410-bde0-09ae8108e29a
Diffstat (limited to 'lib/SAML2/XML/samlp/Extensions.php')
-rw-r--r-- | lib/SAML2/XML/samlp/Extensions.php | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/lib/SAML2/XML/samlp/Extensions.php b/lib/SAML2/XML/samlp/Extensions.php new file mode 100644 index 0000000..ad86c3f --- /dev/null +++ b/lib/SAML2/XML/samlp/Extensions.php @@ -0,0 +1,48 @@ +<?php + +/** + * Class for handling SAML2 extensions. + * + * @package simpleSAMLphp + * @version $Id$ + */ +class SAML2_XML_samlp_Extensions { + + /** + * Get a list of Extensions in the given element. + * + * @param DOMElement $parent The element that may contain the samlp:Extensions element. + * @return array Array of extensions. + */ + public static function getList(DOMElement $parent) { + + $ret = array(); + foreach (SAML2_Utils::xpQuery($parent, './saml_protocol:Extensions/*') as $node) { + $ret[] = new SAML2_XML_Chunk($node); + } + + return $ret; + } + + + /** + * Add a list of Extensions to the given element. + * + * @param DOMElement $parent The element we should add the extensions to. + * @param array $extensions List of extension objects. + */ + public static function addList(DOMElement $parent, array $extensions) { + + if (empty($extensions)) { + return; + } + + $extElement = $parent->ownerDocument->createElementNS(SAML2_Const::NS_SAMLP, 'samlp:Extensions'); + $parent->appendChild($extElement); + + foreach ($extensions as $ext) { + $ext->toXML($extElement); + } + } + +} |