#!/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'); $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(); $results = $aggregator->aggregate($debug); 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. '); }