Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 2.x > vBulletin 2.x Full Releases

Reply
 
Thread Tools
Details »»

Version: , by Admin (Coder) Admin is offline
Developer Last Online: Nov 2024 Show Printable Version Email this Page

Version: 2.2.x Rating:
Released: 09-15-2001 Last Update: Never Installs: 23
 
No support by the author.

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:


Run this query:
Code:
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:
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
Code:
		<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:
PHP 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
PHP Code:
  if ($bbuserinfo[timezoneoffset]<0) {
    
$timezonesel["n".(-$bbuserinfo[timezoneoffset]*10)]="selected";
  } else {
    
$timezonesel[$bbuserinfo[timezoneoffset]*10]="selected";
  } 
Still in member.php, replace this code:
Code:
  $DB_site->query("UPDATE user
                   SET ".$updatestyles."adminemail='$adminemail',
                      showemail='$showemail',invisible='$invisible',cookieuser='$cookieuser',
                      maxposts='".addslashes($umaxposts)."',daysprune='".addslashes($prunedays)."',
                      timezoneoffset='".addslashes($timezoneoffset)."',emailnotification='$emailnotification',
                      startofweek='".addslashes($startofweek)."',options='$options',receivepm='$receivepm',
                      emailonpm='$emailonpm',pmpopup='$pmpopup',usergroupid='$bbuserinfo[usergroupid]',
                      nosessionhash='$nosessionhash'
                   WHERE userid='$bbuserinfo[userid]'");
with this code:
Code:
  $DB_site->query("UPDATE user
                   SET ".$updatestyles."adminemail='$adminemail',
                      showemail='$showemail',invisible='$invisible',cookieuser='$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',usergroupid='$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:
PHP 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
PHP Code:
// ###################### Referrer Stuff ######################### 
That's it.
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!

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.

Comments
  #22  
Old 09-25-2001, 12:22 PM
Admin's Avatar
Admin Admin is offline
Coder
 
Join Date: Oct 2023
Location: Server
Posts: 1
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Soul Lord XL:
I can't really be more specific.
Everything is in my first post, add X after/before Y in file Z.php, or add A to the B template.
What exactly don't you understand?

ubje:
Code:
ALTER TABLE user DROP dateformat, DROP timeformat
Reply With Quote
  #23  
Old 11-04-2001, 10:51 PM
|DarkManX|'s Avatar
|DarkManX| |DarkManX| is offline
 
Join Date: Oct 2001
Posts: 161
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

awesome hack, works great, installed easily
Reply With Quote
  #24  
Old 03-04-2002, 06:55 AM
Stretchr's Avatar
Stretchr Stretchr is offline
 
Join Date: Dec 2001
Location: Georgia, USA
Posts: 84
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hello, FireFly.

Thank you for this hack. I'm having one problem, though. When I go into the CP and change the date and time format, they revert to the default. It's also happening with my thread settings. Any idea what could cause this? I cleared the IE cookie cache and that didn't fix it. My users are getting the same thing. Any help will greatly appreciated.
Reply With Quote
  #25  
Old 03-16-2002, 10:46 PM
kidney kidney is offline
 
Join Date: Mar 2002
Posts: 31
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hi firefly!

Is there a hack that will force the user to choose a timezone? Most user leave the one that is there by default. I would like to force them to choose their time zone.
Reply With Quote
  #26  
Old 03-17-2002, 02:20 PM
Stretchr's Avatar
Stretchr Stretchr is offline
 
Join Date: Dec 2001
Location: Georgia, USA
Posts: 84
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I believe you can just add a first field with something like "Choose a Timezone", then require validation and disallow the first choice in the form value. HTH.
Reply With Quote
  #27  
Old 03-18-2002, 06:00 AM
Tim Wheatley's Avatar
Tim Wheatley Tim Wheatley is offline
 
Join Date: Nov 2001
Location: England
Posts: 489
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Yes if you follow the instructions this does work on 2.2.4 (and on 2.2.2 and 2.2.3 - and probably others).
Reply With Quote
  #28  
Old 03-18-2002, 06:17 PM
Tim Wheatley's Avatar
Tim Wheatley Tim Wheatley is offline
 
Join Date: Nov 2001
Location: England
Posts: 489
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Is there any way of adding another choice to use 'yesterday' and 'today' too?
Reply With Quote
  #29  
Old 03-18-2002, 08:48 PM
Austin Dea's Avatar
Austin Dea Austin Dea is offline
 
Join Date: Dec 2001
Location: Denver, CO, USA
Posts: 342
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Query doesn't work ;_;

Quote:
MySQL said:


Duplicate column name 'dateformat'
Reply With Quote
  #30  
Old 03-19-2002, 05:11 AM
Admin's Avatar
Admin Admin is offline
Coder
 
Join Date: Oct 2023
Location: Server
Posts: 1
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Austin Dea - the column is already there, you don't need to run the query again.
Reply With Quote
  #31  
Old 03-23-2002, 04:26 AM
kidney kidney is offline
 
Join Date: Mar 2002
Posts: 31
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Well I did the hack that I requested a couple of post earlier.
You can force people to choose a time when they register.
https://vborg.vbsupport.ru/showthrea...threadid=36446
Reply With Quote
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 03:16 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.06840 seconds
  • Memory Usage 2,343KB
  • Queries Executed 25 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (6)bbcode_code
  • (4)bbcode_php
  • (1)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (6)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (3)pagenav_pagelink
  • (11)post_thanks_box
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (11)postbit_onlinestatus
  • (11)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete