PHP Classes

File: web/SSO/SAML/admin/metadata-converter.php

Recommend this page to a friend!
  Classes of william amed   Raptor 2   web/SSO/SAML/admin/metadata-converter.php   Download  
File: web/SSO/SAML/admin/metadata-converter.php
Role: Example script
Content type: text/plain
Description: Example script
Class: Raptor 2
Framework that takes routes from annotations
Author: By
Last change:
Date: 8 years ago
Size: 1,598 bytes
 

Contents

Class file image Download
<?php

require_once('../_include.php');

$config = SimpleSAML_Configuration::getInstance();

if(
array_key_exists('xmldata', $_POST)) {
   
$xmldata = $_POST['xmldata'];

   
SimpleSAML_Utilities::validateXMLDocument($xmldata, 'saml-meta');
   
$entities = SimpleSAML_Metadata_SAMLParser::parseDescriptorsString($xmldata);

   
/* Get all metadata for the entities. */
   
foreach($entities as &$entity) {
       
$entity = array(
           
'shib13-sp-remote' => $entity->getMetadata1xSP(),
           
'shib13-idp-remote' => $entity->getMetadata1xIdP(),
           
'saml20-sp-remote' => $entity->getMetadata20SP(),
           
'saml20-idp-remote' => $entity->getMetadata20IdP(),
            );

    }

   
/* Transpose from $entities[entityid][type] to $output[type][entityid]. */
   
$output = SimpleSAML_Utilities::transposeArray($entities);

   
/* Merge all metadata of each type to a single string which should be
     * added to the corresponding file.
     */
   
foreach($output as $type => &$entities) {

       
$text = '';

        foreach(
$entities as $entityId => $entityMetadata) {

            if(
$entityMetadata === NULL) {
                continue;
            }

           
/* Remove the entityDescriptor element because it is unused, and only
             * makes the output harder to read.
             */
           
unset($entityMetadata['entityDescriptor']);

           
$text .= '$metadata[' . var_export($entityId, TRUE) . '] = ' .
               
var_export($entityMetadata, TRUE) . ";\n";
        }

       
$entities = $text;
    }

} else {
   
$xmldata = '';
   
$output = array();
}


$template = new SimpleSAML_XHTML_Template($config, 'metadata-converter.php', 'admin');

$template->data['xmldata'] = $xmldata;
$template->data['output'] = $output;

$template->show();