| 
#!/usr/bin/env php<?php
 
 
 /* This is the base directory of the simpleSAMLphp installation. */
 $baseDir = dirname(dirname(dirname(dirname(__FILE__))));
 
 /* Add library autoloader. */
 require_once($baseDir . '/lib/_autoload.php');
 
 /* Initialize the configuration. */
 SimpleSAML_Configuration::setConfigDir($baseDir . '/config');
 
 SimpleSAML_Utilities::initTimezone();
 
 $progName = array_shift($argv);
 $debug = FALSE;
 $dryrun = FALSE;
 
 foreach($argv as $a) {
 if(strlen($a) === 0) continue;
 
 if(strpos($a, '=') !== FALSE) {
 $p = strpos($a, '=');
 $v = substr($a, $p + 1);
 $a = substr($a, 0, $p);
 } else {
 $v = NULL;
 }
 
 /* Map short options to long options. */
 $shortOptMap = array(
 '-d' => '--debug',
 );
 if(array_key_exists($a, $shortOptMap))  $a = $shortOptMap[$a];
 
 switch($a) {
 case '--help':
 printHelp();
 exit(0);
 case '--debug':
 $debug = TRUE;
 break;
 case '--dry-run':
 $dryrun = TRUE;
 break;
 default:
 echo('Unknown option: ' . $a . "\n");
 echo('Please run `' . $progName . ' --help` for usage information.' . "\n");
 exit(1);
 }
 }
 
 $aggregator = new sspmod_statistics_Aggregator(TRUE);
 $aggregator->dumpConfig();
 $aggregator->debugInfo();
 $results = $aggregator->aggregate($debug);
 $aggregator->debugInfo();
 
 if (!$dryrun) {
 $aggregator->store($results);
 }
 
 
 foreach ($results AS $slot => $val) {
 foreach ($val AS $sp => $no) {
 echo $sp . " " . count($no) . " - ";
 }
 echo "\n";
 }
 
 
 
 
 /**
 * This function prints the help output.
 */
 function printHelp() {
 global $progName;
 
 /*   '======================================================================' */
 echo('Usage: ' . $progName . ' [options]
 
 This program parses and aggregates SimpleSAMLphp log files.
 
 Options:
 -d, --debug            Used when configuring the log file syntax. See doc.
 --dry-run            Aggregate but do not store the results.
 
 ');
 }
 
 
 |