The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
Fix vbShout Timezone problem Details »» | |||||||||||||||||||||||||
This vbShout plugin: http://www.vbhackers.com/f76/ajax-fl...ut-2-1-a-4536/
Has a serious bug with Time Zone changing to that of the last person to post in the shout box. Here is a fix so that each user will see the time in their local timezone correctly. 1. Open template forumhome_vbshout_shout Find this (should be at the very beginning): Code:
<tr> Code:
<td nowrap align="left" valign="top"> <font size="1"> <date>{$Shout['time']}</date> </font> </td> 2. Open template forumhome_vbshout Find: Code:
Shouts.innerHTML = '<table cellpadding="1" cellspacing="3" border="0" width="95%" align="left">' + ShoutRequest.handler.responseText + '</table>' Code:
var formatMe = ShoutRequest.handler.responseText formatMe = replaceDates(formatMe); Shouts.innerHTML = '<table cellpadding="1" cellspacing="0" border="0" width="100%" align="left">' + formatMe + '</table>' Find this: Code:
function sb_CollectHV(sbForm) Code:
// replaces <date> tags function replaceDates(s) { var ret = ""; var matches = s.match(/<date>\d+<\/date>/g); for(var i = 0; matches != null && i < matches.length; i++) { var utc = matches[i].match(/\d+/); var date = new Date(utc * 1000); ret = ret + s.substr(0, s.indexOf(matches[i])); ret = ret + (date.getMonth()+1) + "/" + date.getDate() + "/" + date.getFullYear() + " " + date.getHours() + ":" + ((date.getMinutes() < 10) ? "0" : "") + date.getMinutes() + ":" + ((date.getSeconds() < 10) ? "0" : "") + date.getSeconds() + " "; s = s.substr(s.indexOf(matches[i]) + matches[i].length); } ret = ret + s; return ret; } 3. Open file vbshout.php FInd this (There are similar code blocks, this should be in the function rewrite_shoutbox_flatfile() around line 226): Code:
$Shout['time'] = buildTime($Shout['s_time']); $Shout['s_shout'] = bbcodeparser($Shout['s_shout']); $Shout['style'] = ''; $Shout['data'] = unserialize($Shout['s_data']); $Shout['username'] = fetch_musername($Shout, 'usergroupid'); if (preg_match("#(\#)?0099FF#i", $Shout['data']['color']) && $Shout['s_by'] != 1) { $Shout['data']['color'] = ''; } Code:
// $Shout['time'] = buildTime($Shout['s_time']); $Shout['time'] = $Shout['s_time']; $Shout['s_shout'] = bbcodeparser($Shout['s_shout']); $Shout['style'] = ''; $Shout['data'] = unserialize($Shout['s_data']); $Shout['username'] = fetch_musername($Shout, 'usergroupid'); if (preg_match("#(\#)?0099FF#i", $Shout['data']['color']) && $Shout['s_by'] != 1) { $Shout['data']['color'] = ''; } This should now pass the date as UTC and JavaScript will convert it on the client side to the appropriate date. Show Your Support
|
Comments |
#32
|
|||
|
|||
Np, i'll be on this thread frequently, so if u need anything, ill help you provide information.
|
#33
|
|||
|
|||
Btw, here are the codes:
The codes are: /*me bla bla bla->without the * the irc like command that says "nick bla bla bla" /prune -> deletes all the shouts /prune nick -> deletes all that nick's shouts /prunshout bla bla -> deletes the latest shout which is the words "bla bla" be careful: if you want to delete a shout that contains a smilie you have to type the smilie code also |
#34
|
|||
|
|||
Quote:
|
#35
|
|||
|
|||
The /prune is working, but it displays a "Loading..." text. It suppose to say that the shoutbox has been cleared.
|
#36
|
|||
|
|||
Quote:
This: Code:
for(var i = 0; i < matches.length; i++) { Code:
for(var i = 0; matches != null && i < matches.length; i++) { That I will try to work on tomorrow... or tonight, maybe.. hm. I'll go edit my original post to reflect this. |
#37
|
|||
|
|||
Ive installed this with a fresh version of shoutbox and it still switches the the to the currently users time zone.
|
#38
|
|||
|
|||
Yeah this is something that was missed big time by my members at first, but now im not sure if i want it back lol.
|
#39
|
|||
|
|||
Quote:
Code:
<date>{$Shout['time']}</date> Code:
{$Shout['time']} Are your users' local clocks set correctly? |
#40
|
|||
|
|||
If they are using Windows, make sure they update there computers. Windows have a special patch, to correct the effect of the daylight savings.
|
#41
|
|||
|
|||
Quote:
|
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|