diff options
author | Olav Morken <olav.morken@uninett.no> | 2010-03-05 15:12:00 +0000 |
---|---|---|
committer | Olav Morken <olav.morken@uninett.no> | 2010-03-05 15:12:00 +0000 |
commit | 9df140ba6ed4d485d9760bc9d584a356dbaed9dd (patch) | |
tree | b735228ae33bdd52f3271d3c33284397ef6eb844 /lib/SAML2 | |
parent | 3f0b242e3232560a46d1c6af34067cf20c3246eb (diff) | |
download | simplesamlphp-9df140ba6ed4d485d9760bc9d584a356dbaed9dd.zip simplesamlphp-9df140ba6ed4d485d9760bc9d584a356dbaed9dd.tar.gz simplesamlphp-9df140ba6ed4d485d9760bc9d584a356dbaed9dd.tar.bz2 |
SAML2_Utils: Add the new extractStrings()-function.
git-svn-id: https://simplesamlphp.googlecode.com/svn/trunk@2199 44740490-163a-0410-bde0-09ae8108e29a
Diffstat (limited to 'lib/SAML2')
-rw-r--r-- | lib/SAML2/Assertion.php | 5 | ||||
-rw-r--r-- | lib/SAML2/Utils.php | 19 |
2 files changed, 20 insertions, 4 deletions
diff --git a/lib/SAML2/Assertion.php b/lib/SAML2/Assertion.php index f5b670c..6bbe562 100644 --- a/lib/SAML2/Assertion.php +++ b/lib/SAML2/Assertion.php @@ -338,10 +338,7 @@ class SAML2_Assertion implements SAML2_SignedElement { } switch ($node->localName) { case 'AudienceRestriction': - $audiences = SAML2_Utils::xpQuery($node, './saml_assertion:Audience'); - foreach ($audiences as &$audience) { - $audience = trim($audience->textContent); - } + $audiences = SAML2_Utils::extractStrings($node, './saml_assertion:Audience'); if ($this->validAudiences === NULL) { /* The first (and probably last) AudienceRestriction element. */ $this->validAudiences = $audiences; diff --git a/lib/SAML2/Utils.php b/lib/SAML2/Utils.php index 45bd0bb..8cf8442 100644 --- a/lib/SAML2/Utils.php +++ b/lib/SAML2/Utils.php @@ -348,4 +348,23 @@ class SAML2_Utils { return $ret; } + + /** + * Extract strings from a set of nodes. + * + * @param DOMElement $parent The element we should rund the XPath query on. + * @param string $query The XPath query we should use to retrieve the nodes. + * @return array The string values of the various nodes. + */ + public static function extractStrings(DOMElement $parent, $query) { + assert('is_string($query)'); + + $ret = array(); + foreach (self::xpQuery($parent, $query) as $node) { + $ret[] = trim($node->textContent); + } + + return $ret; + } + } |