Revision: 2161
Author: olavmrk
Date: Mon Feb  8 01:12:50 2010
Log: SAMLBuilder: Add addOrganization-function.
http://code.google.com/p/simplesamlphp/source/detail?r=2161

Modified:
 /trunk/lib/SimpleSAML/Metadata/SAMLBuilder.php

=======================================
--- /trunk/lib/SimpleSAML/Metadata/SAMLBuilder.php      Fri Jan 15 02:10:50 2010
+++ /trunk/lib/SimpleSAML/Metadata/SAMLBuilder.php      Mon Feb  8 01:12:50 2010
@@ -137,11 +137,45 @@
                        }
                }
        }
+
+
+       /**
+        * Add Organization element.
+        *
+        * This function adds an organization element to the metadata.
+        *
+        * @param array $orgName  An array with the localized OrganizatioName.
+ * @param array $orgDisplayName An array with the localized OrganizatioDisplayName.
+        * @param array $orgURL  An array with the localized OrganizatioURL.
+        */
+ public function addOrganization(array $orgName, array $orgDisplayName, array $orgURL) {
+
+               $org = $this->createElement('Organization');
+
+               foreach ($orgName AS $lang => $localname) {
+                       $e = $this->createTextElement('OrganizationName', 
$localname);
+                       $e->setAttribute('xml:lang', $lang);
+                       $org->appendChild($e);
+               }
+
+               foreach ($orgDisplayName AS $lang => $localname) {
+                       $e = 
$this->createTextElement('OrganizationDisplayName', $localname);
+                       $e->setAttribute('xml:lang', $lang);
+                       $org->appendChild($e);
+               }
+
+               foreach ($orgURL AS $lang => $locallink) {
+                       $e = $this->createTextElement('OrganizationURL', 
$locallink);
+                       $e->setAttribute('xml:lang', $lang);
+                       $org->appendChild($e);
+               }
+
+               $this->entityDescriptor->appendChild($org);
+       }


        public function addOrganizationInfo($metadata) {
                if (array_key_exists('name', $metadata)) {
-                       $org = $this->createElement('Organization');

                        if (is_array($metadata['name'])) {
                                $name = $metadata['name'];
@@ -149,17 +183,6 @@
                                $name = array('en' => $metadata['name']);
                        }

-                       foreach($name AS $lang => $localname) {
-                               $orgname = 
$this->createTextElement('OrganizationName', $localname);
-                               $orgname->setAttribute('xml:lang', $lang);
-                               $org->appendChild($orgname);
-                       }
-
-                       foreach($name AS $lang => $localname) {
- $orgname = $this->createTextElement('OrganizationDisplayName', $localname);
-                               $orgname->setAttribute('xml:lang', $lang);
-                               $org->appendChild($orgname);
-                       }

                        if (!array_key_exists('url', $metadata)) {
                                /*
@@ -173,13 +196,7 @@
                                $url = array('en' => $metadata['url']);
                        }

-                       foreach($url AS $lang => $locallink) {
-                               $uel = 
$this->createTextElement('OrganizationURL', $locallink);
-                               $uel->setAttribute('xml:lang', $lang);
-                               $org->appendChild($uel);
-                       }
-
-                       $this->entityDescriptor->appendChild($org);
+                       $this->addOrganization($name, $name, $url);
                }
        }

@@ -281,7 +298,6 @@
SimpleSAML_Logger::warning('Unable to generate metadata for unknown type \'' . $set . '\'.');
                }

-               // $this->addOrganizationInfo($metadata);
        }

        /**

--
You received this message because you are subscribed to the Google Groups 
"simpleSAMLphp commits" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/simplesamlphp-commits?hl=en.

Reply via email to