getPreviousLine(); while($line !== FALSE && ($i++ < $cut)){ if(strstr($line, '[' . $tag . ']')){ $results[] = $line; } $line = $objFile->getPreviousLine(); } $results[] = 'Searched ' . $i . ' lines backward. ' . count($results) . ' lines found.'; $results = array_reverse($results); return $results; } $config = SimpleSAML_Configuration::getInstance(); $session = SimpleSAML_Session::getSessionFromRequest(); SimpleSAML_Utilities::requireAdmin(); $logpeekconfig = SimpleSAML_Configuration::getConfig('module_logpeek.php'); $logfile = $logpeekconfig->getValue('logfile', '/var/simplesamlphp.log'); $blockSize = $logpeekconfig->getValue('blocksz', 8192); $myLog = new sspmod_logpeek_File_reverseRead($logfile, $blockSize); $results = NULL; if (isset($_REQUEST['tag'])) { $results = logFilter($myLog, $_REQUEST['tag'], $logpeekconfig->getValue('lines', 500)); } $fileModYear = date("Y", $myLog->getFileMtime()); $firstLine = $myLog->getFirstLine(); $firstTimeEpoch = sspmod_logpeek_Syslog_parseLine::getUnixTime($firstLine, $fileModYear); $lastLine = $myLog->getLastLine(); $lastTimeEpoch = sspmod_logpeek_Syslog_parseLine::getUnixTime($lastLine, $fileModYear); $fileSize = $myLog->getFileSize(); $t = new SimpleSAML_XHTML_Template($config, 'logpeek:logpeek.php'); $t->data['results'] = $results; $t->data['trackid'] = $session->getTrackID(); $t->data['timestart'] = date(DATE_RFC822, $firstTimeEpoch); $t->data['endtime'] = date(DATE_RFC822, $lastTimeEpoch); $t->data['filesize'] = $fileSize; $t->show(); ?>