예제 #1
0
/**
 * cron hook to update aggregator2 metadata.
 *
 * @param array &$croninfo  Output
 */
function aggregator2_hook_cron(&$croninfo)
{
    assert('is_array($croninfo)');
    assert('array_key_exists("summary", $croninfo)');
    assert('array_key_exists("tag", $croninfo)');
    $cronTag = $croninfo['tag'];
    $config = SimpleSAML_Configuration::getConfig('module_aggregator2.php');
    $config = $config->toArray();
    foreach ($config as $id => $c) {
        if (!isset($c['cron.tag'])) {
            continue;
        }
        if ($c['cron.tag'] !== $cronTag) {
            continue;
        }
        try {
            $a = sspmod_aggregator2_Aggregator::getAggregator($id);
            $a->updateCache();
        } catch (Exception $e) {
            $croninfo['summary'][] = 'Error during aggregator2 cacheupdate: ' . $e->getMessage();
        }
    }
}
예제 #2
0
파일: get.php 프로젝트: danielkjfrog/docker
<?php

if (!isset($_REQUEST['id'])) {
    throw new SimpleSAML_Error_BadRequest('Missing required id-parameter.');
}
$id = (string) $_REQUEST['id'];
$aggregator = sspmod_aggregator2_Aggregator::getAggregator($id);
$xml = $aggregator->getMetadata();
header('Content-Type: application/samlmetadata+xml');
header('Content-Length: ' . strlen($xml));
/*
 * At this point, if the ID was forged, getMetadata() would
 * have failed to find a valid metadata set, so we can trust it.
 */
header('Content-Disposition: filename=' . $id . '.xml');
echo $xml;