/** * This function retrieves statistics about all memcache server groups. * * @return Array with the names of each stat and an array with the value for each * server group. */ public static function getStats() { $ret = array(); foreach (self::getMemcacheServers() as $sg) { $stats = $sg->getExtendedStats(); if ($stats === FALSE) { throw new Exception('Failed to get memcache server status.'); } $stats = SimpleSAML_Utilities::transposeArray($stats); $ret = array_merge_recursive($ret, $stats); } return $ret; }
<?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; }
function transaleXMLToSsPHP($xmldata) { if (!empty($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('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 { $output = array(); } return $output; }