OSDN Git Service

Small update/bug fix.
authorKazuki Przyborowski <kazuki.przyborowski@gmail.com>
Thu, 29 Sep 2011 07:38:28 +0000 (07:38 +0000)
committerKazuki Przyborowski <kazuki.przyborowski@gmail.com>
Thu, 29 Sep 2011 07:38:28 +0000 (07:38 +0000)
Now online userlist should work with php suhosin extension.

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

inc/members.php
inc/stats.php
inc/versioninfo.php
setup/sql/cubrid.php
setup/sql/mysql.php
setup/sql/pgsql.php
setup/sql/sqlite.php
sql.php

index 43ac8a4..af4a417 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: members.php - Last Update: 09/11/2011 SVN 756 - Author: cooldude2k $
+    $FileInfo: members.php - Last Update: 09/29/2011 SVN 760 - Author: cooldude2k $
 */
 $File3Name = basename($_SERVER['SCRIPT_NAME']);
 if ($File3Name=="members.php"||$File3Name=="/members.php") {
@@ -278,11 +278,11 @@ $i=0;
 $uolcuttime = GMTimeStamp();
 $uoltime = $uolcuttime - ini_get("session.gc_maxlifetime");
 if($_GET['list']=="members") {
-$query = sql_pre_query("SELECT * FROM \"".$Settings['sqltable']."sessions\" WHERE \"expires\" >= %i AND \"session_data\" NOT LIKE '%s' ORDER BY \"expires\" DESC ".$SQLimit, array($uoltime,"%UserGroup|s:".strlen($Settings['GuestGroup']).":\"".$Settings['GuestGroup']."\";%",$PageLimit,$Settings['max_memlist'])); 
-$rnquery = sql_pre_query("SELECT COUNT(*) FROM \"".$Settings['sqltable']."sessions\" WHERE \"expires\" >= %i AND \"session_data\" NOT LIKE '%s'", array($uoltime,"%UserGroup|s:".strlen($Settings['GuestGroup']).":\"".$Settings['GuestGroup']."\";%")); }
+$query = sql_pre_query("SELECT * FROM \"".$Settings['sqltable']."sessions\" WHERE \"expires\" >= %i AND \"serialized_data\" NOT LIKE '%s' ORDER BY \"expires\" DESC ".$SQLimit, array($uoltime,"%UserGroup|s:".strlen($Settings['GuestGroup']).":\"".$Settings['GuestGroup']."\";%",$PageLimit,$Settings['max_memlist'])); 
+$rnquery = sql_pre_query("SELECT COUNT(*) FROM \"".$Settings['sqltable']."sessions\" WHERE \"expires\" >= %i AND \"serialized_data\" NOT LIKE '%s'", array($uoltime,"%UserGroup|s:".strlen($Settings['GuestGroup']).":\"".$Settings['GuestGroup']."\";%")); }
 if($_GET['list']=="guests") {
-$query = sql_pre_query("SELECT * FROM \"".$Settings['sqltable']."sessions\" WHERE \"expires\" >= %i AND \"session_data\" LIKE '%s' ORDER BY \"expires\" DESC ".$SQLimit, array($uoltime,"%UserGroup|s:".strlen($Settings['GuestGroup']).":\"".$Settings['GuestGroup']."\";%",$PageLimit,$Settings['max_memlist'])); 
-$rnquery = sql_pre_query("SELECT COUNT(*) FROM \"".$Settings['sqltable']."sessions\" WHERE \"expires\" >= %i AND \"session_data\" LIKE '%s'", array($uoltime,"%UserGroup|s:".strlen($Settings['GuestGroup']).":\"".$Settings['GuestGroup']."\";%")); }
+$query = sql_pre_query("SELECT * FROM \"".$Settings['sqltable']."sessions\" WHERE \"expires\" >= %i AND \"serialized_data\" LIKE '%s' ORDER BY \"expires\" DESC ".$SQLimit, array($uoltime,"%UserGroup|s:".strlen($Settings['GuestGroup']).":\"".$Settings['GuestGroup']."\";%",$PageLimit,$Settings['max_memlist'])); 
+$rnquery = sql_pre_query("SELECT COUNT(*) FROM \"".$Settings['sqltable']."sessions\" WHERE \"expires\" >= %i AND \"serialized_data\" LIKE '%s'", array($uoltime,"%UserGroup|s:".strlen($Settings['GuestGroup']).":\"".$Settings['GuestGroup']."\";%")); }
 if($_GET['list']=="all") {
 $query = sql_pre_query("SELECT * FROM \"".$Settings['sqltable']."sessions\" WHERE \"expires\" >= %i ORDER BY \"expires\" DESC ".$SQLimit, array($uoltime,$PageLimit,$Settings['max_memlist'])); 
 $rnquery = sql_pre_query("SELECT COUNT(*) FROM \"".$Settings['sqltable']."sessions\" WHERE \"expires\" >= %i", array($uoltime)); }
@@ -413,13 +413,15 @@ if($pagenum>1) {
 <?php
 while ($i < $num) {
 $AmIHiddenUser = "no";
-$session_data=sql_result($result,$i,"session_data"); 
+$session_data=sql_result($result,$i,"session_data");
+$serialized_data=sql_result($result,$i,"serialized_data");
 $session_user_agent=sql_result($result,$i,"user_agent"); 
 $session_ip_address=sql_result($result,$i,"ip_address"); 
 $session_expires=sql_result($result,$i,"expires"); 
 $session_expires = GMTimeChange($_SESSION['iDBDateFormat'].", ".$_SESSION['iDBTimeFormat'],$session_expires,$_SESSION['UserTimeZone'],0,$_SESSION['UserDST']);
 if(isset($UserSessInfo)) { $UserSessInfo = null; }
-$UserSessInfo = unserialize_session($session_data);
+//$UserSessInfo = unserialize_session($session_data);
+$UserSessInfo = unserialize($serialized_data);
 if(!isset($UserSessInfo['ShowActHidden'])) { $UserSessInfo['ShowActHidden'] = "no"; }
 if(!isset($UserSessInfo['UserGroup'])) { 
        $UserSessInfo['UserGroup'] = $Settings['GuestGroup']; }
index 93ce5ff..24788ef 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: stats.php - Last Update: 08/02/2011 SVN 738 - Author: cooldude2k $
+    $FileInfo: stats.php - Last Update: 09/29/2011 SVN 760 - Author: cooldude2k $
 */
 $File3Name = basename($_SERVER['SCRIPT_NAME']);
 if ($File3Name=="stats.php"||$File3Name=="/stats.php") {
@@ -38,9 +38,11 @@ $uoli=0; $olmn = 0; $olgn = 0; $olan = 0; $olmbn = 0;
 $MembersOnline = null; $GuestsOnline = null;
 while ($uoli < $uolnum) {
 $session_data=sql_result($uolresult,$uoli,"session_data"); 
+$serialized_data=sql_result($uolresult,$uoli,"serialized_data");
 $session_user_agent=sql_result($uolresult,$uoli,"user_agent"); 
 $session_ip_address=sql_result($uolresult,$uoli,"ip_address");
-$UserSessInfo = unserialize_session($session_data);
+//$UserSessInfo = unserialize_session($session_data);
+$UserSessInfo = unserialize($serialized_data);
 if(!isset($UserSessInfo['UserGroup'])) { $UserSessInfo['UserGroup'] = $Settings['GuestGroup']; }
 $AmIHiddenUser = "no";
 $user_agent_check = false;
index b8f0515..2d4d0c1 100644 (file)
@@ -11,7 +11,7 @@
     Copyright 2008-2011 iDB Support - http://idb.berlios.de/
     Copyright 2008-2011 Game Maker 2k - http://gamemaker2k.org/
 
-    $FileInfo: versioninfo.php - Last Update: 09/21/2011 SVN 759 - Author: cooldude2k $
+    $FileInfo: versioninfo.php - Last Update: 09/29/2011 SVN 760 - 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] = 7; $VERFull[1] = $VER1[0].".".$VER1[1].".".$VER1[2];
-$VER2[0] = "Alpha"; $VER2[1] = "Al"; $VER2[2] = "SVN"; $SubVerN = 759;
-$SVNDay[0] = 09; $SVNDay[1] = 21; $SVNDay[2] = 2011; $SVNDay[3] = $SVNDay[0]."/".$SVNDay[1]."/".$SVNDay[2];
+$VER2[0] = "Alpha"; $VER2[1] = "Al"; $VER2[2] = "SVN"; $SubVerN = 760;
+$SVNDay[0] = 09; $SVNDay[1] = 29; $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"; $AltGM2k = "ReneeDB Team";
 $VerCheckName = "iDB"; $AltVerCheckName = "RDB"; $AltiDBHome = "http://duckduckgo.com/?q=ReneeDB";
index 01c2880..b9e8113 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: cubrid.php - Last Update: 08/12/2011 SVN 748 - Author: cooldude2k $
+    $FileInfo: cubrid.php - Last Update: 09/29/2011 SVN 760 - Author: cooldude2k $
 */
 $File3Name = basename($_SERVER['SCRIPT_NAME']);
 if ($File3Name=="cubrid.php"||$File3Name=="/cubrid.php") {
@@ -296,6 +296,7 @@ sql_query($query,$SQLStat);
 $query=sql_pre_query("CREATE TABLE \"".$_POST['tableprefix']."sessions\" (\n".
 "  \"session_id\" VARCHAR(250) NOT NULL default '' PRIMARY KEY,\n".
 "  \"session_data\" STRING NOT NULL,\n".
+"  \"serialized_data\" STRING NOT NULL,\n".
 "  \"user_agent\" STRING NOT NULL,\n".
 "  \"ip_address\" VARCHAR(20) NOT NULL default '',\n".
 "  \"expires\" INTEGER NOT NULL default '0'\n".
index eab28d9..1ee028b 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: mysql.php - Last Update: 08/12/2011 SVN 748 - Author: cooldude2k $
+    $FileInfo: mysql.php - Last Update: 09/29/2011 SVN 760 - Author: cooldude2k $
 */
 $File3Name = basename($_SERVER['SCRIPT_NAME']);
 if ($File3Name=="mysql.php"||$File3Name=="/mysql.php") {
@@ -331,6 +331,7 @@ sql_query($query,$SQLStat);
 $query=sql_pre_query("CREATE TABLE IF NOT EXISTS \"".$_POST['tableprefix']."sessions\" (\n".
 "  \"session_id\" VARCHAR(250) COLLATE ".$Settings['sql_collate']." NOT NULL default '',\n".
 "  \"session_data\" text COLLATE ".$Settings['sql_collate']." NOT NULL,\n".
+"  \"serialized_data\" text COLLATE ".$Settings['sql_collate']." NOT NULL,\n".
 "  \"user_agent\" text COLLATE ".$Settings['sql_collate']." NOT NULL,\n".
 "  \"ip_address\" varchar(20) COLLATE ".$Settings['sql_collate']." NOT NULL default '',\n".
 "  \"expires\" int(15) NOT NULL default '0',\n".
index 6a86c74..601582d 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: pgsql.php - Last Update: 08/12/2011 SVN 748 - Author: cooldude2k $
+    $FileInfo: pgsql.php - Last Update: 09/29/2011 SVN 760 - Author: cooldude2k $
 */
 $File3Name = basename($_SERVER['SCRIPT_NAME']);
 if ($File3Name=="pgsql.php"||$File3Name=="/pgsql.php") {
@@ -303,6 +303,7 @@ sql_query($query,$SQLStat);
 $query=sql_pre_query("CREATE TABLE \"".$_POST['tableprefix']."sessions\" (\n".
 "  \"session_id\" VARCHAR(250) PRIMARY KEY NOT NULL default '',\n".
 "  \"session_data\" text NOT NULL,\n".
+"  \"serialized_data\" text NOT NULL,\n".
 "  \"user_agent\" text NOT NULL,\n".
 "  \"ip_address\" varchar(20) NOT NULL default '',\n".
 "  \"expires\" numeric(15) NOT NULL default '0'\n".
index d851fa5..f4e335d 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: sqlite.php - Last Update: 08/12/2011 SVN 748 - Author: cooldude2k $
+    $FileInfo: sqlite.php - Last Update: 09/29/2011 SVN 760 - Author: cooldude2k $
 */
 $File3Name = basename($_SERVER['SCRIPT_NAME']);
 if ($File3Name=="sqlite.php"||$File3Name=="/sqlite.php") {
@@ -332,6 +332,7 @@ sql_query($query,$SQLStat);
 $query=sql_pre_query("CREATE TABLE \"".$_POST['tableprefix']."sessions\" (\n".
 "  \"session_id\" VARCHAR(250) PRIMARY KEY NOT NULL default '',\n".
 "  \"session_data\" TEXT NOT NULL,\n".
+"  \"serialized_data\" TEXT NOT NULL,\n".
 "  \"user_agent\" TEXT NOT NULL,\n".
 "  \"ip_address\" VARCHAR(20) NOT NULL default '',\n".
 "  \"expires\" INTEGER NOT NULL default '0'\n".
diff --git a/sql.php b/sql.php
index 10e765d..ae1ccf1 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: 09/11/2011 SVN 756 - Author: cooldude2k $
+    $FileInfo: sql.php - Last Update: 09/29/2011 SVN 760 - Author: cooldude2k $
 */
 /* Some ini setting changes uncomment if you need them. 
    Display PHP Errors */
@@ -335,6 +335,18 @@ $MkIndexFile = $exfile['index'].$Settings['file_ext']; }
 if($Settings['file_ext']=="no+ext"||$Settings['file_ext']=="no ext") {
 $MkIndexFile = $exfile['index']; }
 $temp_session_data = "ViewingPage|s:9:\"?act=view\";ViewingFile|s:".strlen($MkIndexFile).":\"".$MkIndexFile."\";PreViewingTitle|s:7:\"Viewing\";ViewingTitle|s:11:\"Board index\";UserID|s:1:\"0\";UserIP|s:".strlen($_SERVER['REMOTE_ADDR']).":\"".$_SERVER['REMOTE_ADDR']."\";UserGroup|s:".strlen($Settings['GuestGroup']).":\"".$Settings['GuestGroup']."\";UserGroupID|s:1:\"4\";UserTimeZone|s:".strlen($Settings['DefaultTimeZone']).":\"".$Settings['DefaultTimeZone']."\";UserDST|s:".strlen($Settings['DefaultDST']).":\"".$Settings['DefaultDST']."\";";
+$alt_temp_session_data['ViewingPage'] = "?act=view";
+$alt_temp_session_data['ViewingFile'] = $MkIndexFile;
+$alt_temp_session_data['PreViewingTitle'] = "Viewing";
+$alt_temp_session_data['ViewingTitle'] = "Board index";
+$alt_temp_session_data['UserID'] = "0";
+$alt_temp_session_data['UserIP'] = $_SERVER['REMOTE_ADDR'];
+$alt_temp_session_data['UserGroupID'] = "4";
+$alt_temp_session_data['UserTimeZone'] = $Settings['DefaultTimeZone'];
+$alt_temp_session_data['UserDST'] = $Settings['DefaultDST'];
+$alttemp_session_data = serialize($alt_temp_session_data);
+$alt_temp_session_data = $alttemp_session_data;
+$alttemp_session_data = null;
 $SQLSType = $Settings['sqltype'];
 //Session Open Function
 function sql_session_open($save_path, $session_name ) {
@@ -350,13 +362,13 @@ sql_disconnect_db($SQLStat); }
 return true; }
 //Session Read Function
 function sql_session_read($id) {
-global $sqltable,$SQLStat,$SQLSType,$temp_user_ip,$temp_user_agent,$temp_session_data;
+global $sqltable,$SQLStat,$SQLSType,$temp_user_ip,$temp_user_agent,$temp_session_data,$alt_temp_session_data;
 $result = sql_query(sql_pre_query("SELECT * FROM \"".$sqltable."sessions\" WHERE \"session_id\" = '%s'", array($id)),$SQLStat);
 if (!sql_num_rows($result)) {
 sql_query(sql_pre_query("DELETE FROM \"".$sqltable."sessions\" WHERE \"session_id\"<>'%s' AND \"ip_address\"='%s' AND \"user_agent\"='%s'", array($id,$temp_user_ip,$temp_user_agent)),$SQLStat);
 $time = GMTimeStamp();
-sql_query(sql_pre_query("INSERT INTO \"".$sqltable."sessions\" (\"session_id\", \"session_data\", \"user_agent\", \"ip_address\", \"expires\") VALUES\n".
-"('%s', '%s', '%s', '%s', %i)", array($id,$temp_session_data,$temp_user_agent,$temp_user_ip,$time)),$SQLStat);
+sql_query(sql_pre_query("INSERT INTO \"".$sqltable."sessions\" (\"session_id\", \"session_data\", \"serialized_data\", \"user_agent\", \"ip_address\", \"expires\") VALUES\n".
+"('%s', '%s', '%s', '%s', '%s', %i)", array($id,$temp_session_data,$alt_temp_session_data,$temp_user_agent,$temp_user_ip,$time)),$SQLStat);
 return '';
 } else {
 $time = GMTimeStamp();
@@ -371,7 +383,7 @@ return $data; } }
 function sql_session_write($id,$data) {
 global $sqltable,$SQLStat,$SQLSType,$temp_user_ip,$temp_user_agent;
 $time = GMTimeStamp();
-$rs = sql_query(sql_pre_query("UPDATE \"".$sqltable."sessions\" SET \"session_data\"='%s',\"user_agent\"='%s',\"ip_address\"='%s',\"expires\"=%i WHERE \"session_id\"='%s'", array($data,$temp_user_agent,$temp_user_ip,$time,$id)),$SQLStat);
+$rs = sql_query(sql_pre_query("UPDATE \"".$sqltable."sessions\" SET \"session_data\"='%s',\"serialized_data\"='%s',\"user_agent\"='%s',\"ip_address\"='%s',\"expires\"=%i WHERE \"session_id\"='%s'", array($data,serialize($_SESSION),$temp_user_agent,$temp_user_ip,$time,$id)),$SQLStat);
 return true; }
 //Session Destroy Function
 function sql_session_destroy($id) {