OSDN Git Service

Small update theme update.
[idb/iDB.git.git] / sql.php
diff --git a/sql.php b/sql.php
index 84db9c0..6de5772 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: 08/06/2011 SVN 743 - Author: cooldude2k $
+    $FileInfo: sql.php - Last Update: 10/26/2011 SVN 765 - Author: cooldude2k $
 */
 /* Some ini setting changes uncomment if you need them. 
    Display PHP Errors */
@@ -30,7 +30,8 @@ if(!in_array("ini_set", $disfunc)) {
 //@ini_set("log_errors","On"); 
 @ini_set("docref_ext", "");
 @ini_set("docref_root", "http://php.net/"); }
-@error_reporting(E_ALL ^ E_NOTICE);
+if(!defined("E_DEPRECATED")) { define("E_DEPRECATED", 0); }
+@error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED);
 /* Get rid of session id in urls */
 if(!in_array("ini_set", $disfunc)) {
 @ini_set("date.timezone","UTC"); 
@@ -67,11 +68,12 @@ if(!in_array("ini_set", $disfunc)&&$Settings['qstr']!="/"&&$Settings['qstr']!="&
 ini_set("arg_separator.output",htmlentities($Settings['qstr'], ENT_QUOTES, $Settings['charset']));
 ini_set("arg_separator.input",$Settings['qstr']); } }
 if(!isset($Settings['idburl'])) { $Settings['idburl'] = null; }
+if(isset($Settings['BoardUUID'])) { $Settings['BoardUUID'] = base64_decode($Settings['BoardUUID']); 
+header("Board-Unique-ID: ".$Settings['BoardUUID']); }
 if(!isset($Settings['fixbasedir'])) { $Settings['fixbasedir'] = null; }
 if(!isset($Settings['fixpathinfo'])) { $Settings['fixpathinfo'] = null; }
 if(!isset($Settings['fixcookiedir'])) { $Settings['fixcookiedir'] = null; }
 if(!isset($Settings['fixredirectdir'])) { $Settings['fixcookiedir'] = null; }
-$Settings['bid'] = base64_encode(urlencode($Settings['idburl']));
 if(!isset($Settings['idb_time_format'])) { $Settings['idb_time_format'] = "g:i A"; }
 if(!isset($Settings['idb_date_format'])) { $Settings['idb_date_format'] = "F j Y"; }
 if(!isset($Settings['showverinfo'])) { 
@@ -201,12 +203,15 @@ if($Settings['use_hashtype']!="md2"&&
    $Settings['use_hashtype']!="salsa20"&&
    $Settings['use_hashtype']!="snefru"&&
    $Settings['use_hashtype']!="snefru256"&&
-   $Settings['use_hashtype']!="gost") {
+   $Settings['use_hashtype']!="gost"&&
+   $Settings['use_hashtype']!="joaat") {
        $Settings['use_hashtype'] = "sha1"; } }
 // Check to see if variables are set
 require_once($SettDir['misc'].'setcheck.php');
 $dayconv = array("year" => 29030400, "month" => 2419200, "week" => 604800, "day" => 86400, "hour" => 3600, "minute" => 60, "second" => 1);
 require_once($SettDir['inc'].'function.php');
+$Settings['bid'] = base64_encode(urlencode($Settings['idburl'].url_maker($exfile['index'],$Settings['file_ext'],"act=versioninfo",$Settings['qstr'],$Settings['qsep'],$prexqstr['index'],$exqstr['index'],false)));
+$Settings['ubid'] = base64_encode(urlencode($Settings['idburl'].url_maker($exfile['index'],$Settings['file_ext'],"act=versioninfo",$Settings['qstr'],$Settings['qsep'],$prexqstr['index'],$exqstr['index'],false)));
 if($Settings['enable_pathinfo']=="on") { 
        mrstring(); /* Change Path info to Get Vars :P */ }
 // Check to see if variables are set
@@ -331,6 +336,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 ) {
@@ -346,13 +363,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();
@@ -367,7 +384,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) {
@@ -429,13 +446,13 @@ if($Settings['hideverinfohttp']=="on") {
 $qstrtest = htmlentities($Settings['qstr'], ENT_QUOTES, $Settings['charset']);
 $qseptest = htmlentities($Settings['qsep'], ENT_QUOTES, $Settings['charset']);
 $isiteurl = $Settings['idburl'].url_maker($exfile['index'],$Settings['file_ext'],"act=view",$Settings['qstr'],$Settings['qsep'],$prexqstr['index'],$exqstr['index']);
-@ini_set("user_agent", "Mozilla/5.0 (compatible; ".$VerCheckName."/".$iverstring."; +".$isiteurl.")"); 
+@ini_set("user_agent", "Mozilla/5.0 (compatible; ".$UserAgentName."/".$iverstring."; +".$isiteurl.")"); 
 if (function_exists("stream_context_create")) {
 $iopts = array(
   'http' => array(
     'method' => "GET",
     'header' => "Accept-Language: *\r\n".
-                "User-Agent: Mozilla/5.0 (compatible; ".$VerCheckName."/".$iverstring."; +".$isiteurl.")\r\n".
+                "User-Agent: Mozilla/5.0 (compatible; ".$UserAgentName."/".$iverstring."; +".$isiteurl.")\r\n".
                 "Accept: */*\r\n".
                 "Connection: keep-alive\r\n".
                 "Referer: ".$isiteurl."\r\n".
@@ -565,6 +582,17 @@ echo "Sorry the board is off line.\nIf you are a admin you can login by the admi
 if(isset($Settings['offline_text'])) { echo $Settings['offline_text']; } $urlstatus = 503;
 //echo "\n".sql_errorno($SQLStat);
 gzip_page($Settings['use_gzip'],$GZipEncode['Type']); session_write_close(); die(); }
+//Time Format Set
+if(!isset($_SESSION['iDBDateFormat'])) { 
+       if(isset($Settings['idb_date_format'])) { 
+       $_SESSION['iDBDateFormat'] = $Settings['idb_date_format'];
+       if(!isset($Settings['idb_date_format'])) { 
+       $_SESSION['iDBDateFormat'] = "g:i A"; } } }
+if(!isset($_SESSION['iDBTimeFormat'])) { 
+       if(isset($Settings['idb_time_format'])) { 
+       $_SESSION['iDBTimeFormat'] = $Settings['idb_time_format'];
+       if(!isset($Settings['idb_time_format'])) { 
+       $_SESSION['iDBTimeFormat'] = "F j Y"; } } }
 //Time Zone Set
 if(!isset($_SESSION['UserTimeZone'])) { 
        if(isset($Settings['DefaultTimeZone'])) {