<?php 
 
$config = SimpleSAML_Configuration::getInstance(); 
$mconfig = SimpleSAML_Configuration::getOptionalConfig('config-metarefresh.php'); 
 
SimpleSAML_Utilities::requireAdmin(); 
 
SimpleSAML_Logger::setCaptureLog(TRUE); 
 
 
$sets = $mconfig->getConfigList('sets', array()); 
 
foreach ($sets AS $setkey => $set) { 
 
    SimpleSAML_Logger::info('[metarefresh]: Executing set [' . $setkey . ']'); 
 
    try { 
         
 
        $expireAfter = $set->getInteger('expireAfter', NULL); 
        if ($expireAfter !== NULL) { 
            $expire = time() + $expireAfter; 
        } else { 
            $expire = NULL; 
        } 
 
        $metaloader = new sspmod_metarefresh_MetaLoader($expire); 
 
        # Get global black/whitelists 
        $blacklist = $mconfig->getArray('blacklist', array()); 
        $whitelist = $mconfig->getArray('whitelist', array()); 
 
        foreach($set->getArray('sources') AS $source) { 
 
            # Merge global and src specific blacklists 
            if(isset($source['blacklist'])) { 
                $source['blacklist'] = array_unique(array_merge($source['blacklist'], $blacklist)); 
            } else { 
                $source['blacklist'] = $blacklist; 
            } 
 
            # Merge global and src specific whitelists 
            if(isset($source['whitelist'])) { 
                $source['whitelist'] = array_unique(array_merge($source['whitelist'], $whitelist)); 
            } else { 
                $source['whitelist'] = $whitelist; 
            } 
 
            SimpleSAML_Logger::debug('[metarefresh]: In set [' . $setkey . '] loading source ['  . $source['src'] . ']'); 
            $metaloader->loadSource($source); 
        } 
 
        $outputDir = $set->getString('outputDir'); 
        $outputDir = $config->resolvePath($outputDir); 
 
        $outputFormat = $set->getValueValidate('outputFormat', array('flatfile', 'serialize'), 'flatfile'); 
        switch ($outputFormat) { 
            case 'flatfile': 
                $metaloader->writeMetadataFiles($outputDir); 
                break; 
            case 'serialize': 
                $metaloader->writeMetadataSerialize($outputDir); 
                break; 
        } 
    } catch (Exception $e) { 
        $e = SimpleSAML_Error_Exception::fromException($e); 
        $e->logWarning(); 
    } 
     
 
} 
 
$logentries = SimpleSAML_Logger::getCapturedLog(); 
 
$t = new SimpleSAML_XHTML_Template($config, 'metarefresh:fetch.tpl.php'); 
$t->data['logentries'] = $logentries; 
$t->show();
 
 |