OSDN Git Service

Add apache like request logger.
authorKazuki Przyborowski <kazuki.przyborowski@gmail.com>
Mon, 13 Jun 2011 05:27:16 +0000 (05:27 +0000)
committerKazuki Przyborowski <kazuki.przyborowski@gmail.com>
Mon, 13 Jun 2011 05:27:16 +0000 (05:27 +0000)
Update to useragent list.

git-svn-id: svn://svn.code.sf.net/p/intdb/svn/trunk@669 2b68903e-0b30-0410-9a39-a2e4f3c5be39

inc/admin/main.php
inc/function.php
inc/misc/useragents.php
inc/versioninfo.php
logs/.htaccess [new file with mode: 0644]
logs/index.php [new file with mode: 0644]
setup/mkconfig.php
sql.php

index 4c3a445..4210171 100644 (file)
@@ -11,7 +11,7 @@
     Copyright 2004-2011 iDB Support - http://idb.berlios.de/
     Copyright 2004-2011 Game Maker 2k - http://gamemaker2k.org/
 
-    $FileInfo: main.php - Last Update: 06/11/2011 SVN 666 - Author: cooldude2k $
+    $FileInfo: main.php - Last Update: 06/13/2011 SVN 669 - Author: cooldude2k $
 */
 $File3Name = basename($_SERVER['SCRIPT_NAME']);
 if ($File3Name=="main.php"||$File3Name=="/main.php") {
@@ -205,6 +205,7 @@ $BoardSettings=$pretext2[0]."\n".
 "\$Settings['enable_pathinfo'] = ".null_string($Settings['enable_pathinfo']).";\n".
 "\$Settings['rssurl'] = ".null_string($Settings['rssurl']).";\n".
 "\$Settings['board_offline'] = ".null_string($Settings['board_offline']).";\n".
+"\$Settings['log_http_request'] = ".null_string($Settings['log_http_request']).";\n".
 "\$Settings['BoardUUID'] = ".null_string($Settings['BoardUUID']).";\n".
 "\$Settings['KarmaBoostDays'] = ".null_string($Settings['KarmaBoostDays']).";\n".
 "\$Settings['KBoostPercent'] = ".null_string($Settings['KBoostPercent']).";\n".$pretext2[1]."\n".
@@ -214,6 +215,7 @@ $BoardSettings=$pretext2[0]."\n".
 "\$SettInfo['Description'] = ".null_string($SettInfo['Description']).";\n".$pretext2[2]."\n".
 "\$SettDir['maindir'] = ".null_string($SettDir['maindir']).";\n".
 "\$SettDir['inc'] = ".null_string($SettDir['inc']).";\n".
+"\$SettDir['logs'] = ".null_string($SettDir['logs']).";\n".
 "\$SettDir['archive'] = ".null_string($SettDir['archive']).";\n".
 "\$SettDir['misc'] = ".null_string($SettDir['misc']).";\n".
 "\$SettDir['sql'] = ".null_string($SettDir['sql']).";\n".
@@ -849,6 +851,7 @@ $BoardSettings=$pretext2[0]."\n".
 "\$Settings['enable_pathinfo'] = ".null_string($Settings['enable_pathinfo']).";\n".
 "\$Settings['rssurl'] = ".null_string($Settings['rssurl']).";\n".
 "\$Settings['board_offline'] = ".null_string($Settings['board_offline']).";\n".
+"\$Settings['log_http_request'] = ".null_string($Settings['log_http_request']).";\n".
 "\$Settings['BoardUUID'] = ".null_string($Settings['BoardUUID']).";\n".
 "\$Settings['KarmaBoostDays'] = ".null_string($Settings['KarmaBoostDays']).";\n".
 "\$Settings['KBoostPercent'] = ".null_string($Settings['KBoostPercent']).";\n".$pretext2[1]."\n".
@@ -858,6 +861,7 @@ $BoardSettings=$pretext2[0]."\n".
 "\$SettInfo['Description'] = ".null_string($SettInfo['Description']).";\n".$pretext2[2]."\n".
 "\$SettDir['maindir'] = ".null_string($SettDir['maindir']).";\n".
 "\$SettDir['inc'] = ".null_string($SettDir['inc']).";\n".
+"\$SettDir['logs'] = ".null_string($SettDir['logs']).";\n".
 "\$SettDir['archive'] = ".null_string($SettDir['archive']).";\n".
 "\$SettDir['misc'] = ".null_string($SettDir['misc']).";\n".
 "\$SettDir['sql'] = ".null_string($SettDir['sql']).";\n".
@@ -1023,6 +1027,7 @@ $BoardSettings=$pretext2[0]."\n".
 "\$Settings['enable_pathinfo'] = ".null_string($Settings['enable_pathinfo']).";\n".
 "\$Settings['rssurl'] = ".null_string($Settings['rssurl']).";\n".
 "\$Settings['board_offline'] = ".null_string($Settings['board_offline']).";\n".
+"\$Settings['log_http_request'] = ".null_string($Settings['log_http_request']).";\n".
 "\$Settings['BoardUUID'] = ".null_string($Settings['BoardUUID']).";\n".
 "\$Settings['KarmaBoostDays'] = ".null_string($Settings['KarmaBoostDays']).";\n".
 "\$Settings['KBoostPercent'] = ".null_string($Settings['KBoostPercent']).";\n".$pretext2[1]."\n".
@@ -1032,6 +1037,7 @@ $BoardSettings=$pretext2[0]."\n".
 "\$SettInfo['Description'] = ".null_string($SettInfo['Description']).";\n".$pretext2[2]."\n".
 "\$SettDir['maindir'] = ".null_string($SettDir['maindir']).";\n".
 "\$SettDir['inc'] = ".null_string($SettDir['inc']).";\n".
+"\$SettDir['logs'] = ".null_string($SettDir['logs']).";\n".
 "\$SettDir['archive'] = ".null_string($SettDir['archive']).";\n".
 "\$SettDir['misc'] = ".null_string($SettDir['misc']).";\n".
 "\$SettDir['sql'] = ".null_string($SettDir['sql']).";\n".
@@ -1180,6 +1186,7 @@ $BoardSettings=$pretext2[0]."\n".
 "\$Settings['enable_pathinfo'] = ".null_string($Settings['enable_pathinfo']).";\n".
 "\$Settings['rssurl'] = ".null_string($Settings['rssurl']).";\n".
 "\$Settings['board_offline'] = ".null_string($Settings['board_offline']).";\n".
+"\$Settings['log_http_request'] = ".null_string($Settings['log_http_request']).";\n".
 "\$Settings['BoardUUID'] = ".null_string($Settings['BoardUUID']).";\n".
 "\$Settings['KarmaBoostDays'] = ".null_string($Settings['KarmaBoostDays']).";\n".
 "\$Settings['KBoostPercent'] = ".null_string($Settings['KBoostPercent']).";\n".$pretext2[1]."\n".
@@ -1189,6 +1196,7 @@ $BoardSettings=$pretext2[0]."\n".
 "\$SettInfo['Description'] = ".null_string($_POST['Description']).";\n".$pretext2[2]."\n".
 "\$SettDir['maindir'] = ".null_string($SettDir['maindir']).";\n".
 "\$SettDir['inc'] = ".null_string($SettDir['inc']).";\n".
+"\$SettDir['logs'] = ".null_string($SettDir['logs']).";\n".
 "\$SettDir['archive'] = ".null_string($SettDir['archive']).";\n".
 "\$SettDir['misc'] = ".null_string($SettDir['misc']).";\n".
 "\$SettDir['sql'] = ".null_string($SettDir['sql']).";\n".
index 50346e1..2ad43cb 100644 (file)
@@ -11,7 +11,7 @@
     Copyright 2004-2011 iDB Support - http://idb.berlios.de/
     Copyright 2004-2011 Game Maker 2k - http://gamemaker2k.org/
 
-    $FileInfo: function.php - Last Update: 05/25/2011 SVN 658 - Author: cooldude2k $
+    $FileInfo: function.php - Last Update: 06/13/2011 SVN 669 - Author: cooldude2k $
 */
 $File3Name = basename($_SERVER['SCRIPT_NAME']);
 if ($File3Name=="function.php"||$File3Name=="/function.php") {
@@ -420,4 +420,24 @@ $qsep = htmlentities($qsep, ENT_QUOTES, $icharset); }
 $OldBoardQuery = preg_replace("/".$pregqstr."/isxS", $qstr, $_SERVER['QUERY_STRING']);
 $BoardQuery = "?".$OldBoardQuery;
 return $BoardQuery; }
+function apache_log_maker($logtxt,$logfile=null) {
+global $Settings;
+if(!isset($_SERVER['HTTP_REFERER'])) { $URL_REFERER = "-"; }
+if(isset($_SERVER['HTTP_REFERER'])) { $URL_REFERER = $_SERVER['HTTP_REFERER']; }
+$logtxt = preg_replace("/".preg_quote("%h", "/")."/s", $_SERVER['REMOTE_ADDR'], $logtxt);
+$logtxt = preg_replace("/".preg_quote("%l", "/")."/s", "-", $logtxt);
+$logtxt = preg_replace("/".preg_quote("%u", "/")."/s", "-", $logtxt);
+$logtxt = preg_replace("/".preg_quote("%t", "/")."/s", "[".date("d/M/Y:H:i:s O")."]", $logtxt);
+$logtxt = preg_replace("/".preg_quote("%r", "/")."/s", $_SERVER["REQUEST_METHOD"]." ".$_SERVER["REQUEST_URI"], $logtxt);
+$logtxt = preg_replace("/".preg_quote("%s", "/")."/s", "200", $logtxt);
+$logtxt = preg_replace("/".preg_quote("%>s", "/")."/s", "200", $logtxt);
+$logtxt = preg_replace("/".preg_quote("%b", "/")."/s", "-", $logtxt);
+$logtxt = preg_replace("/".preg_quote("%{Referer}i", "/")."/s", $URL_REFERER, $logtxt);
+$logtxt = preg_replace("/".preg_quote("%{User-Agent}i", "/")."/s", $_SERVER["HTTP_USER_AGENT"], $logtxt);
+if(isset($logfile)&&$logfile!==null) {
+       $fp = fopen($logfile, "a+");
+       $logtxtnew = $logtxt."\r\n";
+       fwrite($fp, $logtxtnew, strlen($logtxtnew));
+       fclose($fp); }
+return $logtxt; }
 ?>
index 88b6da4..a50f0a2 100644 (file)
@@ -11,7 +11,7 @@
     Copyright 2004-2011 iDB Support - http://idb.berlios.de/
     Copyright 2004-2011 Game Maker 2k - http://gamemaker2k.org/
 
-    $FileInfo: useragents.php - Last Update: 06/12/2011 SVN 668 - Author: cooldude2k $
+    $FileInfo: useragents.php - Last Update: 06/13/2011 SVN 669 - Author: cooldude2k $
 */
 // User Agent Checker
 function user_agent_check($user_agent) {
@@ -101,6 +101,8 @@ if (preg_match("/".preg_quote("smerity")."/i", $user_agent)) {
     return "Schwa Lab"; }
 if (preg_match("/".preg_quote("ScoutJet")."/i", $user_agent)) {
     return "ScoutJet"; }
+if (preg_match("/".preg_quote("Setooz")."/i", $user_agent)) {
+    return "Setooz"; }
 if (preg_match("/".preg_quote("Argus")."/i", $user_agent)) {
     return "Simpy"; }
 if (preg_match("/".preg_quote("Sogou")."/i", $user_agent)) {
index aa0877d..18318f3 100644 (file)
@@ -11,7 +11,7 @@
     Copyright 2004-2011 iDB Support - http://idb.berlios.de/
     Copyright 2004-2011 Game Maker 2k - http://gamemaker2k.org/
 
-    $FileInfo: versioninfo.php - Last Update: 06/12/2011 SVN 668 - Author: cooldude2k $
+    $FileInfo: versioninfo.php - Last Update: 06/13/2011 SVN 669 - Author: cooldude2k $
 */
 $File3Name = basename($_SERVER['SCRIPT_NAME']);
 if ($File3Name=="versioninfo.php"||$File3Name=="/versioninfo.php") {
@@ -27,8 +27,8 @@ function version_info($proname,$subver,$ver,$supver,$reltype,$svnver,$showsvn) {
        return $return_var; }
 // Version number and date stuff. :P
 $VER1[0] = 0; $VER1[1] = 4; $VER1[2] = 4; $VERFull[1] = $VER1[0].".".$VER1[1].".".$VER1[2];
-$VER2[0] = "Alpha"; $VER2[1] = "Al"; $VER2[2] = "SVN"; $SubVerN = 668;
-$SVNDay[0] = 06; $SVNDay[1] = 12; $SVNDay[2] = 2011; $SVNDay[3] = $SVNDay[0]."/".$SVNDay[1]."/".$SVNDay[2];
+$VER2[0] = "Alpha"; $VER2[1] = "Al"; $VER2[2] = "SVN"; $SubVerN = 669;
+$SVNDay[0] = 06; $SVNDay[1] = 13; $SVNDay[2] = 2011; $SVNDay[3] = $SVNDay[0]."/".$SVNDay[1]."/".$SVNDay[2];
 $AltName = "RDB"; $AltName2 = "ReneeDB"; $RName = "iDB"; $SFName = "IntDB";
 $RFullName = "Internet Discussion Boards"; $AltFullName = "Renee Discussion Boards";
 if(!isset($Settings['usealtname'])) { $Settings['usealtname'] = "no"; }
diff --git a/logs/.htaccess b/logs/.htaccess
new file mode 100644 (file)
index 0000000..2859d7f
--- /dev/null
@@ -0,0 +1,2 @@
+Order Deny,Allow
+Deny from all
\ No newline at end of file
diff --git a/logs/index.php b/logs/index.php
new file mode 100644 (file)
index 0000000..45a6fac
--- /dev/null
@@ -0,0 +1,17 @@
+<?php
+/*
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the Revised BSD License.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    Revised BSD License for more details.
+
+    Copyright 2004-2011 iDB Support - http://idb.berlios.de/
+    Copyright 2004-2011 Game Maker 2k - http://gamemaker2k.org/
+
+    $FileInfo: index.php - Last Update: 06/13/2011 SVN 669 - Author: cooldude2k $
+*/
+header('Location: ../index.php');
+?>
\ No newline at end of file
index 3bbfdf3..846e3ca 100644 (file)
@@ -12,7 +12,7 @@
     Copyright 2004-2011 Game Maker 2k - http://gamemaker2k.org/
     iDB Installer made by Game Maker 2k - http://idb.berlios.net/
 
-    $FileInfo: mkconfig.php - Last Update: 06/09/2011 SVN 662 - Author: cooldude2k $
+    $FileInfo: mkconfig.php - Last Update: 06/13/2011 SVN 669 - Author: cooldude2k $
 */
 $File3Name = basename($_SERVER['SCRIPT_NAME']);
 if ($File3Name=="mkconfig.php"||$File3Name=="/mkconfig.php") {
@@ -324,6 +324,7 @@ $BoardSettings=$pretext2[0]."\n".
 "\$Settings['enable_pathinfo'] = 'off';\n".
 "\$Settings['rssurl'] = 'off';\n".
 "\$Settings['board_offline'] = 'off';\n".
+"\$Settings['log_http_request'] = 'off';\n".
 "\$Settings['BoardUUID'] = '".$ServerUUID."';\n".
 "\$Settings['KarmaBoostDays'] = '".$KarmaBoostDay."';\n".
 "\$Settings['KBoostPercent'] = '6|10';\n".$pretext2[1]."\n".
@@ -333,6 +334,7 @@ $BoardSettings=$pretext2[0]."\n".
 "\$SettInfo['Description'] = '".$_POST['NewBoardName'].",".$_POST['AdminUser']."';\n".$pretext2[2]."\n".
 "\$SettDir['maindir'] = '".$idbdir."';\n".
 "\$SettDir['inc'] = 'inc/';\n".
+"\$SettDir['logs'] = 'logs/';\n".
 "\$SettDir['archive'] = 'archive/';\n".
 "\$SettDir['misc'] = 'inc/misc/';\n".
 "\$SettDir['sql'] = 'inc/misc/sql/';\n".
diff --git a/sql.php b/sql.php
index de58522..bc61ea9 100644 (file)
--- a/sql.php
+++ b/sql.php
@@ -11,7 +11,7 @@
     Copyright 2004-2011 iDB Support - http://idb.berlios.de/
     Copyright 2004-2011 Game Maker 2k - http://gamemaker2k.org/
 
-    $FileInfo: sql.php - Last Update: 04/05/2011 SVN 627 - Author: cooldude2k $
+    $FileInfo: sql.php - Last Update: 06/13/2011 SVN 669 - Author: cooldude2k $
 */
 /* Some ini setting changes uncomment if you need them. 
    Display PHP Errors */
@@ -175,6 +175,14 @@ if($Settings['use_hashtype']!="md2"&&
 require_once($SettDir['misc'].'setcheck.php');
 $dayconv = array('second' => 1, 'minute' => 60, 'hour' => 3600, 'day' => 86400, 'week' => 604800, 'month' => 2630880, 'year' => 31570560, 'decade' => 315705600);
 require_once($SettDir['inc'].'function.php');
+if(!isset($Settings['log_http_request'])) {
+       $Settings['log_http_request'] = "off"; }
+if(isset($Settings['log_http_request'])&&$Settings['log_http_request']=="on"&&
+       $Settings['log_http_request']!==null&&$Settings['log_http_request']!="off") {
+apache_log_maker("%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"", $SettDir['logs'].$Settings['sqltable'].date("m-d-Y").".log"); }
+if(isset($Settings['log_http_request'])&&$Settings['log_http_request']!="on"&&
+       $Settings['log_http_request']!==null&&$Settings['log_http_request']!="off") {
+apache_log_maker("%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"", $SettDir['logs'].$Settings['log_http_request']); }
 $iDBVerName = "iDB|".$VER2[1]."|".$VER1[0].".".$VER1[1].".".$VER1[2]."|".$VER2[2]."|".$SubVerN;
 /* 
 This way checks iDB version by sending the iDBVerName to the iDB Version Checker.