#TITLE tForum b0.93.2.4 #IFNOT includes/functions.php $fSettings['Version'] = 'b0.93.2.3'; #INFO This .tmi file can only be used to upgrade from tForum b0.93.2.3 to tForum b0.93.2.4! #CANCEL #ENDIF #QUESTION This will upgrade your tForum to b0.93.2.4. Do you want to continue? #ELSE #CANCEL #ENDIF #OPEN admin/avatars.php #FIND if (@touch('../avatars/touchfile')==FALSE) #REPLACE if (@touch($fSettings['ScriptPath'].'/avatars/touchfile')==FALSE) #FIND { @unlink('../avatars/touchfile');?> #REPLACE { @unlink($fSettings['ScriptPath'].'/avatars/touchfile');?> #FIND $query = 'UPDATE '.$sql->tbl_prefix.'avatars SET AvatarOrder=AvatarOrder-1'; $query.= ' WHERE AvatarOrder>'.$AvatarOrder; $sql->query($query); #REPLACE if ($AvatarOrder>0) { $query = 'UPDATE '.$sql->tbl_prefix.'avatars SET AvatarOrder=AvatarOrder-1'; $query.= ' WHERE AvatarOrder>'.$AvatarOrder; $sql->query($query); } #FIND { $AvatarData = trim(fread(@fopen($uploadfile,'r'),$uploadfile_size)); } #REPLACE { $AvatarData = trim(fread(@fopen($uploadfile,'r'),$uploadfile_size)); } #OPEN admin/board.php #FIND $sql->query($query); // Delete board #REPLACE $sql->query($query); // Delete board #OPEN admin/index.php #FIND \#divCont .clTop .clSub a:hover {color:#111111; text-decoration:none;} #REPLACE \#divCont .clTop .clSub a:hover {color:#111111; text-decoration:none;} #FIND FoldoutMenu #REPLACE FoldoutMenu #FIND * Script date: 09/04/2001 (keep this date to check versions) #REPLACE * Script date: 09/04/2001 (keep this date to check versions) #FIND this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom && !this.opera5)?1:0; #REPLACE this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom && !this.opera5)?1:0; #FIND this.ns6=(this.dom && parseInt(this.ver) >= 5) ?1:0; #REPLACE this.ns6=(this.dom && parseInt(this.ver) >= 5) ?1:0; #FIND this.el= bw.ie4?document.all[obj]:bw.ns4?eval(nest+'document.'+obj):document.getElementById(obj); #REPLACE this.el= bw.ie4?document.all[obj]:bw.ns4?eval(nest+'document.'+obj):document.getElementById(obj); #FIND this.ref= bw.ns4?this.el.document:document; #REPLACE this.ref= bw.ns4?this.el.document:document; #FIND for(var i=1; itbl_prefix.'users SET TitleID='.$titles[($numpost-$newdif)].' WHERE UserID='.$user; #FIND { $query = 'UPDATE tbl_users SET TitleID='.$titles[($numpost-$newdif)].' WHERE UserID='.$UserID; #REPLACE { $query = 'UPDATE '.$sql->tbl_prefix.'users SET TitleID='.$titles[($numpost-$newdif)].' WHERE UserID='.$UserID; #FIND { $query = 'UPDATE tbl_users SET TitleID='.$titles[($numpost-$newdif)].' WHERE UserID='.$UserID; #REPLACE { $query = 'UPDATE '.$sql->tbl_prefix.'users SET TitleID='.$titles[($numpost-$newdif)].' WHERE UserID='.$UserID; #FIND $query = 'SELECT * FROM '.$sql->tbl_prefix.'usertitles WHERE TitleID='.$TitleID; $sql->query($query); if ($row = $sql->get_assoc()) { #REPLACE $query = 'SELECT * FROM '.$sql->tbl_prefix.'usertitles WHERE TitleID='.$TitleID; $sql->query($query); if ($row = $sql->get_assoc()) { #FIND { $query = 'UPDATE tbl_users SET TitleID='.$titles[($numpost-$newdif)].' WHERE UserID='.$UserID; #REPLACE { $query = 'UPDATE '.$sql->tbl_prefix.'users SET TitleID='.$titles[($numpost-$newdif)].' WHERE UserID='.$UserID; #FIND { $query = 'UPDATE tbl_users SET TitleID='.$titles[($numpost-$newdif)].' WHERE UserID='.$UserID; #REPLACE { $query = 'UPDATE '.$sql->tbl_prefix.'users SET TitleID='.$titles[($numpost-$newdif)].' WHERE UserID='.$UserID; #OPEN includes/avatars.php #FIND $ent['rowspan'] = ($fSettings['canavatarupload']!='y') ? 1 : 2; #REPLACE $ent['rowspan'] = ($fSettings['canavatarupload']!='y' || !CheckBit($CurrentUser['GPermMask'],$UGPermDefs,'canuploadavatar')) ? 1 : 2; #OPEN includes/functions.php #FIND $fSettings['Version'] = 'b0.93.2.3'; #REPLACE $fSettings['Version'] = 'b0.93.2.4'; #FIND $timestamp+=($offset+date(I,time()))*3600; #REPLACE $timestamp+=($offset+date('I',$timestamp))*3600; #FIND { $offset += date(I,time()); #REPLACE { $offset += date('I',$timestamp); #FIND $ModList .= ''.$row['UserName'].''; #REPLACE $ModList .= ''.$row['UserName'].''; #FIND $DomainInfo['path'] = substr($DomainInfo['path'],0,strrpos($DomainInfo['path'], '/')+1); #REPLACE // $DomainInfo['path'] = substr($DomainInfo['path'],0,strrpos($DomainInfo['path'], '/')+1); #FIND $query = 'SELECT A.*,isadmin,issupermod,GPermMask,GroupTitle,TitleName'; #REPLACE $query = 'SELECT A.*,isadmin,issupermod,GPermMask,GroupTitle,TitleName,TitleColor'; #OPEN templates/editavatar.html #FIND #REPLACE #OPEN templates/pmflat.html #FIND #REPLACE
:
#OPEN templates/pminbox.html #FIND at #REPLACE at #OPEN templates/pmoutbox.html #FIND at #REPLACE at #OPEN templates/pmviewmsg.html #FIND #REPLACE
:
#OPEN templates/statsforum.html #FIND #REPLACE #FIND #REPLACE #FIND #REPLACE #FIND #REPLACE #FIND #REPLACE #FIND #REPLACE #OPEN templates/statsmembers.html #FIND #REPLACE #FIND #REPLACE #OPEN templates/viewannouncement.html #FIND

#REPLACE
:
:
:


#OPEN templates/viewtopic.html #FIND


#REPLACE
: :
:


#OPEN CHANGES.txt #FIND b.93.2.3 #REPLACE b.93.2.4 - Fixed a problem with deleting private avatars which would frell up the AvatarOrder of Global avatars - Fixed a daylight saving problem with the date function - Fixed a problem with EnableHTML within user's posts - Fixed a problem with editing UserTitles - Fixed a problem with the edit avatar page when usergroups are specifically disallowed from having private avatars - Fixed an HTML problem in the private message inbox and outbox regarding background colors - Fixed a bug involving the word filter not filtering out text in replies - Fixed the reply review in both messages and pms to sensor words - Fixed a problem where the buddylist did not correctly show the user online or offline - Fixed a problem with the user profile link in private messaging in flat mode - Changed a few things regarding the template and text entities within viewtopic, viewannouncement, pmviewmsg, and pmflat - Added Titlecolor to the list of things retrieved by GetUserInfo b.93.2.3 #OPEN message.php #FIND $ent['UserID'] = $CookieInfo['userid']; #ADDAFTER #FIND $OptNum = (isset($OptNum)) ? intval($OptNum) : 0; #ADDAFTER $Sensor = array(); if ($fSettings['Sensor']=='y') { $Sensor = GrabSensoredText(); } #FIND function Post($MsgID,$TopicID,$BoardID,$OptNum=0) { global $CookieInfo,$post,$pollopt,$querycount,$start_time,$buttons; global $topictype,$action,$fSettings,$ent,$txt; #REPLACE function Post($MsgID,$TopicID,$BoardID,$OptNum=0) { global $CookieInfo,$post,$pollopt,$querycount,$start_time,$buttons; global $topictype,$action,$fSettings,$ent,$txt,$Sensor; #FIND $MsgTypeMask = ($post['html']!='y') ? $MsgTypeMask : SetBit($MsgTypeMask,$MsgPostDefs,'html'); #REPLACE $MsgTypeMask = ($post['EnableHTML']!='y') ? $MsgTypeMask : SetBit($MsgTypeMask,$MsgPostDefs,'html'); #FIND $post['MsgTypeMask'] = ($post['html']!='y') ? $post['MsgTypeMask'] : SetBit($post['MsgTypeMask'],$MsgPostDefs,'html'); #REPLACE $post['MsgTypeMask'] = ($post['EnableHTML']!='y') ? $post['MsgTypeMask'] : SetBit($post['MsgTypeMask'],$MsgPostDefs,'html'); #FIND $check = ($post['html']=='y') ? 'checked' : ''; #REPLACE $check = ($post['EnableHTML']=='y') ? 'checked' : ''; #FIND $ent['replyreview'] = GetReplyReview($TopicID); #ADDAFTER $TopicInfo['Subject'] = ($fSettings['Sensor']=='y') ? SensorLine($Sensor,$TopicInfo['Subject']) : $TopicInfo['Subject']; #FIND $ent['subjectbox'] = MakeInputBox('post[subject]',$txt['re'].preg_replace('#^'.$txt['re'].'#i','',$msgInfo['Subject'])); #ADDAFTER $msgInfo['Message'] = ($fSettings['Sensor']=='y') ? SensorLine($Sensor,$msgInfo['Message']):trim($msgInfo['Message']); #FIND $MsgTypeMask = ($post['html']!='y') ? $MsgTypeMask : SetBit($MsgTypeMask,$MsgPostDefs,'html'); #REPLACE $MsgTypeMask = ($post['EnableHTML']!='y') ? $MsgTypeMask : SetBit($MsgTypeMask,$MsgPostDefs,'html'); #FIND $post['MsgTypeMask'] = ($post['html']!='y') ? $post['MsgTypeMask'] : SetBit($post['MsgTypeMask'],$MsgPostDefs,'html'); #REPLACE $post['MsgTypeMask'] = ($post['EnableHTML']!='y') ? $post['MsgTypeMask'] : SetBit($post['MsgTypeMask'],$MsgPostDefs,'html'); #FIND $check = ($post['html']=='y') ? 'checked' : ''; #REPLACE $check = ($post['EnableHTML']=='y') ? 'checked' : ''; #FIND function GetReplyReview($TopicID) { global $fSettings,$txt,$ent; #REPLACE function GetReplyReview($TopicID) { global $fSettings,$txt,$ent,$Sensor; #FIND $ent['ReplySubject'] = $msgInfo['Subject']; #REPLACE $ent['ReplySubject'] = ($fSettings['Sensor']=='y') ? SensorLine($Sensor,$msgInfo['Subject']) : $msgInfo['Subject']; #OPEN pm.php #FIND function NewPM($pmID=0,$Reply=0,$Quote=0) { global $fSettings,$ent,$txt,$buttons,$CurrentUser,$PMPostDefs,$querycount,$start_time,$action; #REPLACE function NewPM($pmID=0,$Reply=0,$Quote=0) { global $fSettings,$ent,$txt,$buttons,$CurrentUser,$PMPostDefs,$querycount,$start_time,$action,$Sensor; #FIND if ($sql->num_rows()<=0) { UhOh($txt['errpmIDNotFound']); //Redundant? Yep... } #ADDAFTER $post['ReplyMsg'] = ($fSettings['Sensor']=='y') ? SensorLine($Sensor,$post['ReplyMsg']):$post['ReplyMsg']; #FIND $ent['messagebox'] = MakeTextArea('post[Message]','[quote][b]'.$ent['ReplyUserName'].' wrote[/b]:'."\r\n".htmlspecialchars($post['ReplyMsg']).'[/quote]'); } $ent['ToUserbox'] = $ent['ReplyUserName'].' '.MakeHiddenField('post[ToUser]',$ent['ReplyUserName']); #ADDAFTER $ReSubject = ($fSettings['Sensor']=='y') ? SensorLine($Sensor,$ReSubject) : trim($ReSubject); #FIND function PMReplyReview($pmID) { global $fSettings,$txt,$ent,$PMPostDefs; #REPLACE function PMReplyReview($pmID) { global $fSettings,$txt,$ent,$PMPostDefs,$Sensor; #FIND $ent['ReplyMessage'] = Parse_MSG($msgInfo); #ADDAFTER $ent['ReplySubject'] = ($fSettings['Sensor']=='y') ? SensorLine($Sensor,$ent['ReplySubject']) : $ent['ReplySubject']; #FIND function InBox() { global $fSettings,$ent,$txt,$CurrentUser,$PMPostDefs,$querycount,$start_time,$buttons; #REPLACE function InBox() { global $fSettings,$ent,$txt,$CurrentUser,$PMPostDefs,$querycount,$start_time,$buttons,$Sensor; #FIND { if (!in_array($ent['FromUserID'],$IgnoreList)) #REPLACE { $ent['pmSubject'] = ($fSettings['Sensor']=='y') ? SensorLine($Sensor,$ent['pmSubject']) : $ent['pmSubject']; if (!in_array($ent['FromUserID'],$IgnoreList)) #FIND $ent['DelChecked'] = MakeButton('Delete Checked'); $ent['pmSubject'] = $ent['pmSubject']; #REPLACE $ent['DelChecked'] = MakeButton('Delete Checked'); #FIND function OutBox() { global $fSettings,$ent,$txt,$CurrentUser,$PMPostDefs,$querycount,$start_time,$buttons; #REPLACE function OutBox() { global $fSettings,$ent,$txt,$CurrentUser,$PMPostDefs,$querycount,$start_time,$buttons,$Sensor; #FIND $ent['pmSubject'] = $ent['pmSubject']; #REPLACE $ent['pmSubject'] = ($fSettings['Sensor']=='y') ? SensorLine($Sensor,$ent['pmSubject']) : $ent['pmSubject']; #FIND $OtherUserID = $pmInfo['ToUserID']; } #ADDAFTER $pmInfo['Subject'] = ($fSettings['Sensor']=='y') ? SensorLine($Sensor,$pmInfo['Subject']) : trim($pmInfo['Subject']); #FIND $ent['UserName'] = ''.$UserInfo[$row['FromUserID']]['UserName'].'
'; #REPLACE $ent['UserName'] = $UserInfo[$row['FromUserID']]['UserName']; #FIND $ent['UserTitle'] = $txt['Status'].': '.$UserInfo[$row['FromUserID']]['TitleName'].'
'; $ent['UserTitleIcon'] = ($UserInfo[$row['FromUserID']]['TitleIcon']!='') ? '
' : ''; $ent['DatePosted'] = FormatDate($row['DateSent'],$UserInfo[$CurrentUserID]['TimeZone']); $ent['TimePosted'] = FormatTime($row['DateSent'],$UserInfo[$CurrentUserID]['TimeZone']); $ent['userprofile'] = ' '.$buttons['profile'].''; #REPLACE $ent['UserTitle'] = $UserInfo[$row['FromUserID']]['TitleName'].'
'; $ent['UserTitleIcon'] = ($UserInfo[$row['FromUserID']]['TitleIcon']!='') ? '
' : ''; $ent['UserTitleColor'] = $UserInfo[$row['FromUserID']]['TitleColor']; $ent['DatePosted'] = FormatDate($row['DateSent'],$UserInfo[$CurrentUserID]['TimeZone']); $ent['TimePosted'] = FormatTime($row['DateSent'],$UserInfo[$CurrentUserID]['TimeZone']); $ent['userprofile'] = ' '.$buttons['profile'].''; #FIND { $CachedUserInfo[$pmInfo['ToUserID']] = GetUserInfo($pmInfo['ToUserID']); } $ent['title'].= ' - '.$pmInfo['Subject']; #REPLACE { $CachedUserInfo[$pmInfo['ToUserID']] = GetUserInfo($pmInfo['ToUserID']); } $ent['pmSubject'] = ($fSettings['Sensor']=='y') ? SensorLine($Sensor,$pmInfo['Subject']) : trim($pmInfo['Subject']); $ent['title'].= ' - '.$ent['pmSubject']; #FIND $ent['pmSubject'] = $pmInfo['Subject']; $ent['pmIcon'] = (isset($pmInfo['PosticonFilename'])) ? $pmInfo['PosticonFilename'] : 'blank.gif'; #REPLACE $ent['pmIcon'] = (isset($pmInfo['PosticonFilename'])) ? $pmInfo['PosticonFilename'] : 'blank.gif'; #FIND $ent['pmFromUserTitle'] = $txt['Status'].': '.$CachedUserInfo[$pmInfo['FromUserID']]['TitleName'].'
'; $ent['pmFromUserTitleIcon'] = ($CachedUserInfo[$pmInfo['FromUserID']]['TitleIcon']!='') ? '
' : ''; #REPLACE $ent['UserName'] = $CachedUserInfo[$pmInfo['FromUserID']]['UserName']; $ent['UserTitle'] = $CachedUserInfo[$pmInfo['FromUserID']]['TitleName']; $ent['UserTitleColor'] = $CachedUserInfo[$pmInfo['FromUserID']]['TitleColor']; $ent['UserTitleIcon'] = ($CachedUserInfo[$pmInfo['FromUserID']]['TitleIcon']!='') ? '
' : ''; #OPEN stats.php #FIND $imgwidth = 400; #REPLACE $imgwidth = 200; #OPEN viewannouncement.php #FIND $ent['PosterRegDate'] = $txt['RegDate'].': '.FormatDate($row['RegDate']).'
'; $ent['PosterNumPost'] = $txt['Posts'].': '.$row['NumPost'].'
'; $ent['UserTitle'] = $txt['Status'].': '.$row['TitleName'].'
'; #REPLACE $ent['PosterRegDate'] = FormatDate($row['RegDate']); $ent['PosterNumPost'] = $row['NumPost']; $ent['UserTitle'] = $row['TitleName']; #OPEN viewtopic.php #FIND $messagesperpage = $fSettings['messagesperpage']; $limit = $page*$messagesperpage; $posticon_arr = GetPostIcons(); $query = 'SELECT A.*,B.*,TitleName,TitleIcon,TitleColor'; $query.= ' FROM (('.$sql->tbl_prefix.'messages AS A LEFT OUTER JOIN '.$sql->tbl_prefix.'users AS B ON UserID=PosterID)'; $query.= ' LEFT OUTER JOIN '.$sql->tbl_prefix.'usertitles AS C ON B.TitleID=C.TitleID)'; $query.= ' WHERE TopicID='.$TopicID.' ORDER BY MsgID ASC LIMIT '.$limit.','.$messagesperpage; #REPLACE $limit = $page*$fSettings['messagesperpage']; $posticon_arr = GetPostIcons(); $query = 'SELECT A.*,B.*,TitleName,TitleIcon,TitleColor'; $query.= ' FROM (('.$sql->tbl_prefix.'messages AS A LEFT OUTER JOIN '.$sql->tbl_prefix.'users AS B ON UserID=PosterID)'; $query.= ' LEFT OUTER JOIN '.$sql->tbl_prefix.'usertitles AS C ON B.TitleID=C.TitleID)'; $query.= ' WHERE TopicID='.$TopicID.' ORDER BY MsgID ASC LIMIT '.$limit.','.$fSettings['messagesperpage']; #FIND $ent['toppagespan'] = DoPageSpanDropDown($messagesperpage,$row2['numPosts'],'viewtopic.php?TopicID='.$TopicID,$page); $ent['pagespan'] = DoPageSpan($messagesperpage,$row2['numPosts'],'viewtopic.php?TopicID='.$TopicID,$page); #REPLACE $ent['toppagespan'] = DoPageSpanDropDown($fSettings['messagesperpage'],$row2['numPosts'],'viewtopic.php?TopicID='.$TopicID,$page); $ent['pagespan'] = DoPageSpan($fSettings['messagesperpage'],$row2['numPosts'],'viewtopic.php?TopicID='.$TopicID,$page); #FIND $ent['UserTitle'] = $txt['Status'].': '.$GuestTitle['TitleName'].'
'; $ent['UserTitleIcon'] = ($GuestTitle['TitleIcon']!='') ? '
' : ''; #REPLACE $ent['PosterNumPost'] = 'N/A'; $ent['UserTitle'] = $GuestTitle['TitleName']; $ent['UserTitleIcon'] = ($GuestTitle['TitleIcon']!='') ? '
' : ''; $ent['OnlineStatus'] = ''; #FIND $ent['searchposts'] = ' '.$buttons['search'].''; $ent['PosterRegDate'] = $txt['RegDate'].': '.FormatDate($row['RegDate']).'
'; $ent['PosterNumPost'] = $txt['Posts'].': '.$row['NumPost'].'
'; $ent['UserTitleIcon'] = ($row['TitleIcon']!='') ? '
' : ''; $ent['UserTitle'] = $txt['Status'].': '.$row['TitleName'].'
'; #REPLACE $ent['OnlineStatus'] = $row['LastActive']; $ent['searchposts'] = ' '.$buttons['search'].''; $ent['PosterRegDate'] = FormatDate($row['RegDate']); $ent['PosterNumPost'] = $row['NumPost']; $ent['UserTitleIcon'] = ($row['TitleIcon']!='') ? '
' : ''; $ent['UserTitle'] = $row['TitleName']; #END