// date: dec 18 2007 // rev: v1.0 dec 18 2007 // desc: This file has a form for users to upload a .log file. This page checks // the uploaded file to confim it's properties. Then it uploads the file // to its own directory and runs the tf2 log parser on it. if ($_SERVER['SERVER_ADDR'] != $_SERVER['REMOTE_ADDR']) { echo 'Exit!'; exit; } include 'database.php'; include 'parser.php'; $database = new Database(); exec('ls -t ~/stats.tf2pug.org/logs/ | grep -v \'L.*[0-9]\\.log\' | head -n100', $latestFiles); foreach ($latestFiles as $fileName) { $explodedFileName = explode(".", $fileName); $explodedFileName = $database->sqlEscapeString($explodedFileName); if (count($explodedFileName) == 2 && $explodedFileName[1] == log && filesize('./logs/' . $fileName) > 20000) { exec('grep \' tv_record \' ~/stats.tf2pug.org/logs/' . $fileName, $mapName); $mapName = explode(" ", $mapName[0]); $mapName = explode("_", $mapName[count($mapName) - 1]); $logDate = $mapName[0]; $mapName = $mapName[4]; if ($mapName) { $logDate = str_replace('h', ':', $logDate); $logDate = str_replace('m', '', $logDate); $logDate = strtotime($logDate); $server = explode("_", $explodedFileName[0]); $server = $server[0]; $newFileName = $server . '_' . $logDate . '_' . $mapName; if (!$database->queryAssoc("SELECT * FROM files WHERE fileName = '{$newFileName}'")) { $directory = './log/' . $newFileName;
// file: list.php // author: rusty fausak // date: dec 15 2007 // rev: v1.1 dec 18 2007 // desc: This file scans $_GET['dir'] or the current directory and prints a // formatted list that has all folders containing a 'log.log' file in // them. It does not recurse to subdirectories. // v1.1: Added paging through $_GET['sel'] to signify the selection. include 'database.php'; include 'page.php'; $database = new Database(); $search = $_REQUEST['search']; if ($search == '') { $search = date('m\\/Y'); } $search = $database->sqlEscapeString($search); foreach (explode(" ", $search) as $searchString) { if ($searchString == '') { continue; } $escapedSearchString = $database->sqlEscapeString($searchString); //echo "<pre>"; $results = $database->queryAssoc("SELECT * FROM statsIndex WHERE id like '%{$escapedSearchString}%'"); //echo "SELECT * FROM statsIndex WHERE id like '%$escapedSearchString%'"; foreach ($results as $result) { foreach ($files = explode(":", $result['files']) as $file) { $fileIndex[$file]++; $keywordsMatched[$file][] = $escapedSearchString; } } //print_r($results);