Admin
09-15-2001, 10:00 PM
This hack adds an option for the user to select the date format and time format he wants to use in the forum.
Good for people from different countries, that use different formats.
Requested by markrt.
Demo:
http://www.vbulletin.com/forum/attachment.php?s=&postid=172339
Run this query:
ALTER TABLE user ADD dateformat VARCHAR(4) DEFAULT '-1' not null AFTER timezoneoffset, ADD timeformat VARCHAR(4) DEFAULT '-1' not null AFTER dateformat;
(for more information on running queries visit the Troubleshooting and Problems forum)
In your modifyoptions template add this code:
<tr>
<td bgcolor="{secondaltcolor}"><normalfont><b>Date format</b></normalfont><br>
<smallfont>Select what format you would like to use for dates.</smallfont></td>
<td bgcolor="{secondaltcolor}"><smallfont>
<select name="newdateformat">
<option value="-1" $datedefselected>Use forum default</option>
<option value="0" $date0selected>04-25-1998</option>
<option value="1" $date1selected>04-25-98</option>
<option value="2" $date2selected>04.25.1998</option>
<option value="3" $date3selected>04.25.98</option>
<option value="4" $date4selected>25-04-1998</option>
<option value="5" $date5selected>25-04-98</option>
<option value="6" $date6selected>25.04.1998</option>
<option value="7" $date7selected>25.04.98</option>
<option value="8" $date8selected>April 25th, 1998</option>
<option value="9" $date9selected>Saturday, April 25th, 1998</option>
<option value="10" $date10selected>25th April 1998</option>
<option value="11" $date11selected>Saturday, 25th April 1998</option>
</select></smallfont></td>
</tr>
<tr>
<td bgcolor="{firstaltcolor}"><normalfont><b>Time format</b></normalfont><br>
<smallfont>Select what format you would like to use for times.</smallfont></td>
<td bgcolor="{firstaltcolor}"><smallfont>
<select name="newtimeformat">
<option value="-1" $timedefselected>Use forum default</option>
<option value="0" $time0selected>08:15 pm</option>
<option value="1" $time1selected>08:15:48 pm</option>
<option value="2" $time2selected>08:15 PM</option>
<option value="3" $time3selected>08:15:48 PM</option>
<option value="4" $time4selected>20:15</option>
<option value="5" $time5selected>20:15:48</option>
</select></smallfont></td>
</tr>
right after
<option value="+12" $timezonesel[120]>(GMT +12:00 hours) Auckland, Wellington, Fiji, Kamchatka, Marshall Island</option>
</select></smallfont></td>
</tr>
In member.php add this code:
if ($bbuserinfo[dateformat]!=-1) {
$dateformat="date".$bbuserinfo[dateformat]."selected";
$$dateformat = "selected";
} else {
$datedefselected = "selected";
}
if ($bbuserinfo[timeformat]!=-1) {
$timeformatsel="time".$bbuserinfo[timeformat]."selected";
$$timeformatsel = "selected";
} else {
$timedefselected = "selected";
}
right after
if ($bbuserinfo[timezoneoffset]<0) {
$timezonesel["n".(-$bbuserinfo[timezoneoffset]*10)]="selected";
} else {
$timezonesel[$bbuserinfo[timezoneoffset]*10]="selected";
}
Still in member.php, replace this code:
$DB_site->query("UPDATE user
SET ".$updatestyles."adminemail='$adminemail',
showemail='$showemail',invisible='$invisible',cook ieuser='$cookieuser',
maxposts='".addslashes($umaxposts)."',daysprune='".addslashes($prunedays)."',
timezoneoffset='".addslashes($timezoneoffset)."',emailnotification='$emailnotification',
startofweek='".addslashes($startofweek)."',options='$options',receivepm='$receivepm',
emailonpm='$emailonpm',pmpopup='$pmpopup',usergrou pid='$bbuserinfo[usergroupid]',
nosessionhash='$nosessionhash'
WHERE userid='$bbuserinfo[userid]'");
with this code:
$DB_site->query("UPDATE user
SET ".$updatestyles."adminemail='$adminemail',
showemail='$showemail',invisible='$invisible',cook ieuser='$cookieuser',
maxposts='".addslashes($umaxposts)."',daysprune='".addslashes($prunedays)."',
dateformat='".addslashes($newdateformat)."',timeformat='".addslashes($newtimeformat)."',
timezoneoffset='".addslashes($timezoneoffset)."',emailnotification='$emailnotification',
startofweek='".addslashes($startofweek)."',options='$options',receivepm='$receivepm',
emailonpm='$emailonpm',pmpopup='$pmpopup',usergrou pid='$bbuserinfo[usergroupid]',
nosessionhash='$nosessionhash'
WHERE userid='$bbuserinfo[userid]'");
(note: this code might be changed in your file due to another hack. If so, just add the code that is in red)
In global.php (main directory) add this code:
// change to right date format
if ($bbuserinfo[dateformat]!="-1") {
if ($bbuserinfo[dateformat]=="0") {
$dateformat = "m-d-Y";
} elseif ($bbuserinfo[dateformat]=="1") {
$dateformat = "m-d-y";
} elseif ($bbuserinfo[dateformat]=="2") {
$dateformat = "m.d.Y";
} elseif ($bbuserinfo[dateformat]=="3") {
$dateformat = "m.d.y";
} elseif ($bbuserinfo[dateformat]=="4") {
$dateformat = "d-m-Y";
} elseif ($bbuserinfo[dateformat]=="5") {
$dateformat = "d.m.y";
} elseif ($bbuserinfo[dateformat]=="6") {
$dateformat = "d.m.y";
} elseif ($bbuserinfo[dateformat]=="7") {
$dateformat = "d.m.y";
} elseif ($bbuserinfo[dateformat]=="8") {
$dateformat = "F jS, Y";
} elseif ($bbuserinfo[dateformat]=="9") {
$dateformat = "l, F jS, Y";
} elseif ($bbuserinfo[dateformat]=="10") {
$dateformat = "jS F Y";
} elseif ($bbuserinfo[dateformat]=="11") {
$dateformat = "l, jS F Y";
} else {
$dateformat = "$dateformat";
}
}
// change to right time format
if ($bbuserinfo[timeformat]!="-1") {
if ($bbuserinfo[timeformat]=="0") {
$timeformat = "h:i a";
} elseif ($bbuserinfo[timeformat]=="1") {
$timeformat = "h:i:s a";
} elseif ($bbuserinfo[timeformat]=="2") {
$timeformat = "h:i A";
} elseif ($bbuserinfo[timeformat]=="3") {
$timeformat = "h:i:s A";
} elseif ($bbuserinfo[timeformat]=="4") {
$timeformat = "H:i";
} elseif ($bbuserinfo[timeformat]=="5") {
$timeformat = "H:i:s";
} else {
$timeformat = "$timeformat";
}
}
right after
// ###################### Referrer Stuff #########################
That's it. :D
I know it might look long, but it's really very very easy to install.
If you have any troubles with that block I told you about, ask for help here.
Feedback please! :)
Good for people from different countries, that use different formats.
Requested by markrt.
Demo:
http://www.vbulletin.com/forum/attachment.php?s=&postid=172339
Run this query:
ALTER TABLE user ADD dateformat VARCHAR(4) DEFAULT '-1' not null AFTER timezoneoffset, ADD timeformat VARCHAR(4) DEFAULT '-1' not null AFTER dateformat;
(for more information on running queries visit the Troubleshooting and Problems forum)
In your modifyoptions template add this code:
<tr>
<td bgcolor="{secondaltcolor}"><normalfont><b>Date format</b></normalfont><br>
<smallfont>Select what format you would like to use for dates.</smallfont></td>
<td bgcolor="{secondaltcolor}"><smallfont>
<select name="newdateformat">
<option value="-1" $datedefselected>Use forum default</option>
<option value="0" $date0selected>04-25-1998</option>
<option value="1" $date1selected>04-25-98</option>
<option value="2" $date2selected>04.25.1998</option>
<option value="3" $date3selected>04.25.98</option>
<option value="4" $date4selected>25-04-1998</option>
<option value="5" $date5selected>25-04-98</option>
<option value="6" $date6selected>25.04.1998</option>
<option value="7" $date7selected>25.04.98</option>
<option value="8" $date8selected>April 25th, 1998</option>
<option value="9" $date9selected>Saturday, April 25th, 1998</option>
<option value="10" $date10selected>25th April 1998</option>
<option value="11" $date11selected>Saturday, 25th April 1998</option>
</select></smallfont></td>
</tr>
<tr>
<td bgcolor="{firstaltcolor}"><normalfont><b>Time format</b></normalfont><br>
<smallfont>Select what format you would like to use for times.</smallfont></td>
<td bgcolor="{firstaltcolor}"><smallfont>
<select name="newtimeformat">
<option value="-1" $timedefselected>Use forum default</option>
<option value="0" $time0selected>08:15 pm</option>
<option value="1" $time1selected>08:15:48 pm</option>
<option value="2" $time2selected>08:15 PM</option>
<option value="3" $time3selected>08:15:48 PM</option>
<option value="4" $time4selected>20:15</option>
<option value="5" $time5selected>20:15:48</option>
</select></smallfont></td>
</tr>
right after
<option value="+12" $timezonesel[120]>(GMT +12:00 hours) Auckland, Wellington, Fiji, Kamchatka, Marshall Island</option>
</select></smallfont></td>
</tr>
In member.php add this code:
if ($bbuserinfo[dateformat]!=-1) {
$dateformat="date".$bbuserinfo[dateformat]."selected";
$$dateformat = "selected";
} else {
$datedefselected = "selected";
}
if ($bbuserinfo[timeformat]!=-1) {
$timeformatsel="time".$bbuserinfo[timeformat]."selected";
$$timeformatsel = "selected";
} else {
$timedefselected = "selected";
}
right after
if ($bbuserinfo[timezoneoffset]<0) {
$timezonesel["n".(-$bbuserinfo[timezoneoffset]*10)]="selected";
} else {
$timezonesel[$bbuserinfo[timezoneoffset]*10]="selected";
}
Still in member.php, replace this code:
$DB_site->query("UPDATE user
SET ".$updatestyles."adminemail='$adminemail',
showemail='$showemail',invisible='$invisible',cook ieuser='$cookieuser',
maxposts='".addslashes($umaxposts)."',daysprune='".addslashes($prunedays)."',
timezoneoffset='".addslashes($timezoneoffset)."',emailnotification='$emailnotification',
startofweek='".addslashes($startofweek)."',options='$options',receivepm='$receivepm',
emailonpm='$emailonpm',pmpopup='$pmpopup',usergrou pid='$bbuserinfo[usergroupid]',
nosessionhash='$nosessionhash'
WHERE userid='$bbuserinfo[userid]'");
with this code:
$DB_site->query("UPDATE user
SET ".$updatestyles."adminemail='$adminemail',
showemail='$showemail',invisible='$invisible',cook ieuser='$cookieuser',
maxposts='".addslashes($umaxposts)."',daysprune='".addslashes($prunedays)."',
dateformat='".addslashes($newdateformat)."',timeformat='".addslashes($newtimeformat)."',
timezoneoffset='".addslashes($timezoneoffset)."',emailnotification='$emailnotification',
startofweek='".addslashes($startofweek)."',options='$options',receivepm='$receivepm',
emailonpm='$emailonpm',pmpopup='$pmpopup',usergrou pid='$bbuserinfo[usergroupid]',
nosessionhash='$nosessionhash'
WHERE userid='$bbuserinfo[userid]'");
(note: this code might be changed in your file due to another hack. If so, just add the code that is in red)
In global.php (main directory) add this code:
// change to right date format
if ($bbuserinfo[dateformat]!="-1") {
if ($bbuserinfo[dateformat]=="0") {
$dateformat = "m-d-Y";
} elseif ($bbuserinfo[dateformat]=="1") {
$dateformat = "m-d-y";
} elseif ($bbuserinfo[dateformat]=="2") {
$dateformat = "m.d.Y";
} elseif ($bbuserinfo[dateformat]=="3") {
$dateformat = "m.d.y";
} elseif ($bbuserinfo[dateformat]=="4") {
$dateformat = "d-m-Y";
} elseif ($bbuserinfo[dateformat]=="5") {
$dateformat = "d.m.y";
} elseif ($bbuserinfo[dateformat]=="6") {
$dateformat = "d.m.y";
} elseif ($bbuserinfo[dateformat]=="7") {
$dateformat = "d.m.y";
} elseif ($bbuserinfo[dateformat]=="8") {
$dateformat = "F jS, Y";
} elseif ($bbuserinfo[dateformat]=="9") {
$dateformat = "l, F jS, Y";
} elseif ($bbuserinfo[dateformat]=="10") {
$dateformat = "jS F Y";
} elseif ($bbuserinfo[dateformat]=="11") {
$dateformat = "l, jS F Y";
} else {
$dateformat = "$dateformat";
}
}
// change to right time format
if ($bbuserinfo[timeformat]!="-1") {
if ($bbuserinfo[timeformat]=="0") {
$timeformat = "h:i a";
} elseif ($bbuserinfo[timeformat]=="1") {
$timeformat = "h:i:s a";
} elseif ($bbuserinfo[timeformat]=="2") {
$timeformat = "h:i A";
} elseif ($bbuserinfo[timeformat]=="3") {
$timeformat = "h:i:s A";
} elseif ($bbuserinfo[timeformat]=="4") {
$timeformat = "H:i";
} elseif ($bbuserinfo[timeformat]=="5") {
$timeformat = "H:i:s";
} else {
$timeformat = "$timeformat";
}
}
right after
// ###################### Referrer Stuff #########################
That's it. :D
I know it might look long, but it's really very very easy to install.
If you have any troubles with that block I told you about, ask for help here.
Feedback please! :)