Welcome to Geeklog, Anonymous Sunday, November 24 2024 @ 08:09 am EST

Geeklog Forums

Timezone Hack

Page navigation


Anonymous

Anonymous
config.php
=======

add line
Text Formatted Code

$_CONF['timezone']  = 'Asia/Kuala_Lumpur';

 


lib-common.php
==========

add line after
Text Formatted Code

require_once('/path/to/config.php');

if ( !empty($_CONF['timezone'])
    && !ini_get("safe_mode")) {
    putenv("TZ=".$_CONF['timezone']);
}

 


This Timezone hack only work when safe_mode is OFF.


Yew Loong
www.edynasys.com
Timezone list (from Squirrelmail)
=====================
Text Formatted Code

Africa/Abidjan
Africa/Accra
Africa/Addis_Ababa
Africa/Algiers
Africa/Asmera
Africa/Bamako
Africa/Bangui
Africa/Banjul
Africa/Bissau
Africa/Blantyre
Africa/Brazzaville
Africa/Bujumbura
Africa/Cairo
Africa/Casablanca
Africa/Ceuta
Africa/Conakry
Africa/Dakar
Africa/Dar_es_Salaam
Africa/Djibouti
Africa/Douala
Africa/El_Aaiun
Africa/Freetown
Africa/Gaborone
Africa/Harare
Africa/Johannesburg
Africa/Kampala
Africa/Khartoum
Africa/Kigali
Africa/Kinshasa
Africa/Lagos
Africa/Libreville
Africa/Lome
Africa/Luanda
Africa/Lubumbashi
Africa/Lusaka
Africa/Malabo
Africa/Maputo
Africa/Maseru
Africa/Mbabane
Africa/Mogadishu
Africa/Monrovia
Africa/Nairobi
Africa/Ndjamena
Africa/Niamey
Africa/Nouakchott
Africa/Ouagadougou
Africa/Porto-Novo
Africa/Sao_Tome
Africa/Timbuktu
Africa/Tripoli
Africa/Tunis
Africa/Windhoek
America/Adak
America/Anchorage
America/Anguilla
America/Antigua
America/Araguaina
America/Aruba
America/Asuncion
America/Atka
America/Barbados
America/Belem
America/Belize
America/Boa_Vista
America/Bogota
America/Boise
America/Buenos_Aires
America/Cambridge_Bay
America/Cancun
America/Caracas
America/Catamarca
America/Cayenne
America/Cayman
America/Chicago
America/Chihuahua
America/Cordoba
America/Costa_Rica
America/Cuiaba
America/Curacao
America/Danmarkshavn
America/Dawson
America/Dawson_Creek
America/Denver
America/Detroit
America/Dominica
America/Edmonton
America/Eirunepe
America/El_Salvador
America/Ensenada
America/Fort_Wayne
America/Fortaleza
America/Glace_Bay
America/Godthab
America/Goose_Bay
America/Grand_Turk
America/Grenada
America/Guadeloupe
America/Guatemala
America/Guayaquil
America/Guyana
America/Halifax
America/Havana
America/Hermosillo
America/Indiana/Indianapolis
America/Indiana/Knox
America/Indiana/Marengo
America/Indiana/Vevay
America/Indianapolis
America/Inuvik
America/Iqaluit
America/Jamaica
America/Jujuy
America/Juneau
America/Kentucky/Louisville
America/Kentucky/Monticello
America/Knox_IN
America/La_Paz
America/Lima
America/Los_Angeles
America/Louisville
America/Maceio
America/Managua
America/Manaus
America/Martinique
America/Mazatlan
America/Mendoza
America/Menominee
America/Merida
America/Mexico_City
America/Miquelon
America/Monterrey
America/Montevideo
America/Montreal
America/Montserrat
America/Nassau
America/New_York
America/Nipigon
America/Nome
America/Noronha
America/North_Dakota/Center
America/Panama
America/Pangnirtung
America/Paramaribo
America/Phoenix
America/Port-au-Prince
America/Port_of_Spain
America/Porto_Acre
America/Porto_Velho
America/Puerto_Rico
America/Rainy_River
America/Rankin_Inlet
America/Recife
America/Regina
America/Rio_Branco
America/Rosario
America/Santiago
America/Santo_Domingo
America/Sao_Paulo
America/Scoresbysund
America/Shiprock
America/St_Johns
America/St_Kitts
America/St_Lucia
America/St_Thomas
America/St_Vincent
America/Swift_Current
America/Tegucigalpa
America/Thule
America/Thunder_Bay
America/Tijuana
America/Tortola
America/Vancouver
America/Virgin
America/Whitehorse
America/Winnipeg
America/Yakutat
America/Yellowknife
Antarctica/Casey
Antarctica/Davis
Antarctica/DumontDUrville
Antarctica/Mawson
Antarctica/McMurdo
Antarctica/Palmer
Antarctica/South_Pole
Antarctica/Syowa
Antarctica/Vostok
Arctic/Longyearbyen
Asia/Aden
Asia/Almaty
Asia/Amman
Asia/Anadyr
Asia/Aqtau
Asia/Aqtobe
Asia/Ashgabat
Asia/Ashkhabad
Asia/Baghdad
Asia/Bahrain
Asia/Baku
Asia/Bangkok

Asia/Beirut
Asia/Bishkek
Asia/Brunei
Asia/Calcutta
Asia/Choibalsan
Asia/Chongqing
Asia/Chungking
Asia/Colombo
Asia/Dacca
Asia/Damascus
Asia/Dhaka
Asia/Dili
Asia/Dubai
Asia/Dushanbe
Asia/Gaza
Asia/Harbin
Asia/Hong_Kong
Asia/Hovd
Asia/Irkutsk
Asia/Ishigaki
Asia/Istanbul
Asia/Jakarta
Asia/Jayapura
Asia/Jerusalem
Asia/Kabul
Asia/Kamchatka
Asia/Karachi
Asia/Kashgar
Asia/Katmandu
Asia/Krasnoyarsk
Asia/Kuala_Lumpur
Asia/Kuching
Asia/Kuwait
Asia/Macao
Asia/Macau
Asia/Magadan
Asia/Manila
Asia/Muscat
Asia/Nicosia
Asia/Novosibirsk
Asia/Omsk
Asia/Oral
Asia/Phnom_Penh
Asia/Pontianak
Asia/Pyongyang
Asia/Qatar
Asia/Qyzylorda
Asia/Rangoon
Asia/Riyadh
Asia/Riyadh87
Asia/Riyadh88
Asia/Riyadh89
Asia/Saigon
Asia/Sakhalin
Asia/Samarkand
Asia/Seoul
Asia/Shanghai
Asia/Singapore
Asia/Taipei
Asia/Tashkent
Asia/Tbilisi
Asia/Tehran
Asia/Tel_Aviv
Asia/Thimbu
Asia/Thimphu
Asia/Tokyo
Asia/Ujung_Pandang
Asia/Ulaanbaatar
Asia/Ulan_Bator
Asia/Urumqi
Asia/Vientiane
Asia/Vladivostok
Asia/Yakutsk
Asia/Yekaterinburg
Asia/Yerevan
Atlantic/Azores
Atlantic/Bermuda
Atlantic/Canary
Atlantic/Cape_Verde
Atlantic/Faeroe
Atlantic/Jan_Mayen
Atlantic/Madeira
Atlantic/Reykjavik
Atlantic/South_Georgia
Atlantic/St_Helena
Atlantic/Stanley
Australia/ACT
Australia/Adelaide
Australia/Brisbane
Australia/Broken_Hill
Australia/Canberra
Australia/Darwin
Australia/Hobart
Australia/LHI
Australia/Lindeman
Australia/Lord_Howe
Australia/Melbourne
Australia/NSW
Australia/North
Australia/Perth
Australia/Queensland
Australia/South
Australia/Sydney
Australia/Tasmania
Australia/Victoria
Australia/West
Australia/Yancowinna
Brazil/Acre
Brazil/DeNoronha
Brazil/East
Brazil/West
CET
CST6CDT
Canada/Atlantic
Canada/Central
Canada/East-Saskatchewan
Canada/Eastern
Canada/Mountain
Canada/Newfoundland
Canada/Pacific
Canada/Saskatchewan
Canada/Yukon
Chile/Continental
Chile/EasterIsland
China/Beijing
China/Shanghai
Cuba
EET
EST
EST5EDT
Egypt
Eire
Etc/GMT
Etc/GMT+0
Etc/GMT+1
Etc/GMT+10
Etc/GMT+11
Etc/GMT+12
Etc/GMT+2
Etc/GMT+3
Etc/GMT+4
Etc/GMT+5
Etc/GMT+6
Etc/GMT+7
Etc/GMT+8
Etc/GMT+9
Etc/GMT-0
Etc/GMT-1
Etc/GMT-10
Etc/GMT-11
Etc/GMT-12
Etc/GMT-13
Etc/GMT-14
Etc/GMT-2
Etc/GMT-3
Etc/GMT-4
Etc/GMT-5
Etc/GMT-6
Etc/GMT-7
Etc/GMT-8
Etc/GMT-9
Etc/GMT0
Etc/Greenwich
Etc/UCT
Etc/UTC
Etc/Universal
Etc/Zulu
Europe/Amsterdam
Europe/Andorra
Europe/Athens
Europe/Belfast
Europe/Belgrade
Europe/Berlin
Europe/Bratislava
Europe/Brussels
Europe/Bucharest
Europe/Budapest
Europe/Chisinau
Europe/Copenhagen
Europe/Dublin
Europe/Gibraltar
Europe/Helsinki
Europe/Istanbul
Europe/Kaliningrad
Europe/Kiev
Europe/Lisbon
Europe/Ljubljana
Europe/London
Europe/Luxembourg
Europe/Madrid
Europe/Malta
Europe/Minsk
Europe/Monaco
Europe/Moscow
Europe/Nicosia
Europe/Oslo
Europe/Paris
Europe/Prague
Europe/Riga
Europe/Rome
Europe/Samara
Europe/San_Marino
Europe/Sarajevo
Europe/Simferopol
Europe/Skopje
Europe/Sofia
Europe/Stockholm
Europe/Tallinn
Europe/Tirane
Europe/Tiraspol
Europe/Uzhgorod
Europe/Vaduz
Europe/Vatican
Europe/Vienna
Europe/Vilnius
Europe/Warsaw
Europe/Zagreb
Europe/Zaporozhye
Europe/Zurich
Factory
GB
GB-Eire
GMT
GMT+0
GMT-0
GMT0
Greenwich
HST
Hongkong
Iceland
Indian/Antananarivo
Indian/Chagos
Indian/Christmas
Indian/Cocos
Indian/Comoro
Indian/Kerguelen
Indian/Mahe
Indian/Maldives
Indian/Mauritius
Indian/Mayotte
Indian/Reunion
Iran
Israel
Jamaica
Japan
Kwajalein
Libya
MET
MST
MST7MDT
Mexico/BajaNorte
Mexico/BajaSur
Mexico/General
Mideast/Riyadh87
Mideast/Riyadh88
Mideast/Riyadh89
NZ
NZ-CHAT
Navajo
PRC
PST8PDT
Pacific/Apia
Pacific/Auckland
Pacific/Chatham
Pacific/Easter
Pacific/Efate
Pacific/Enderbury
Pacific/Fakaofo
Pacific/Fiji
Pacific/Funafuti
Pacific/Galapagos
Pacific/Gambier
Pacific/Guadalcanal
Pacific/Guam
Pacific/Honolulu
Pacific/Johnston
Pacific/Kiritimati
Pacific/Kosrae
Pacific/Kwajalein
Pacific/Majuro
Pacific/Marquesas
Pacific/Midway
Pacific/Nauru
Pacific/Niue
Pacific/Norfolk
Pacific/Noumea
Pacific/Pago_Pago
Pacific/Palau
Pacific/Pitcairn
Pacific/Ponape
Pacific/Port_Moresby
Pacific/Rarotonga
Pacific/Saipan
Pacific/Samoa
Pacific/Tahiti
Pacific/Tarawa
Pacific/Tongatapu
Pacific/Truk
Pacific/Wake
Pacific/Wallis
Pacific/Yap
Poland
Portugal
ROC
ROK
Singapore
SystemV/AST4
SystemV/AST4ADT
SystemV/CST6
SystemV/CST6CDT
SystemV/EST5
SystemV/EST5EDT
SystemV/HST10
SystemV/MST7
SystemV/MST7MDT
SystemV/PST8
SystemV/PST8PDT
SystemV/YST9
SystemV/YST9YDT
Turkey
UCT
US/Alaska
US/Aleutian
US/Arizona
US/Central
US/East-Indiana
US/Eastern
US/Hawaii
US/Indiana-Starke
US/Michigan
US/Mountain
US/Pacific
US/Samoa
UTC
Universal
W-SU
WET
Zulu

 
 Quote

Status: offline

etegration

Forum User
Full Member
Registered: 02/20/02
Posts: 179
this hack is what many need but this guy just dont have an example site to show us and he didn't reg, how to contact him? *sigh*
http://www.etegration.com.sg
http://www.itcow.com
http://www.ministryofhosting.com
 Quote

Anonymous

Anonymous
This hack works great on my Geeklog 1.3.6! Thanks alot!
 Quote

Anonymous

Anonymous
This hack works fantastic, thanks very much.. This is really great. Now why can't this be an option in user settings ?????
 Quote

Anonymous

Anonymous
How do I tell if I'm in safe mode?
 Quote

Status: offline

John_Self

Forum User
Newbie
Registered: 12/23/02
Posts: 1
Are we going to see a similar hack included in future GL releases? And has anyone confirmed that this hack works with all time-stamped submissions throughout GL? Thanks, John
 Quote

PantherX

Anonymous
Well... this does work for display... but when I post a story, it posts it an hour early, which isn't that big of a deal, but it's mildly annoying. FYI I am in CST, and my server is EST. This needs a fix. Hopefully in the next version, or perhaps in another hack.
 Quote

CharlieDancey

Anonymous
Yeah, I had that problem too, I'm in the UK, but my server is in the USA under EST.

My posts were being moved 5 hours forwards in time after applying the hack - which was both insanely annoying and totally impractical.

After three hours poring over PHP and nearly going insane trying to work out what doing what to which (time stuff is a nightmare) I finally arrived at a very dirty little hack that fixed it.

WARNING:This is a hack-in-progress and is a very nasty cludge - so be warned that this is not (yet) an elegant solution

Here's what I did: Open up story.php (in your admin directory) and search for calls to the function "strtotime()" - there are two calls, one at line 185 and one at line 884. "strtotime" takes a plaintext string, describing a date, and converts it into UNIX time.

OK, so at the end of the string you are going to add a description of you time zone (mine is BST, British Summer Time) and then an offset in hours (i.e the time difference between where your server really is, and where you'd like it to pretend it is).

Confused? Yeah me too, here's an example showing how line 884 looked after I'd hacked it:

$unixdate = strtotime("$publish_month/$publish_day/$publish_year $publish_hour:$publish_minute:$publish_second BST -5 hours");

Let me explain: My timezone is Europe/London - where we are on BST - which is what I want displayed on my site. BST is 5 hours ahead of EST, where my web server lives. You may think that adding both BST and -5 hours is just plain wrong - and you'd be right (I said it was a dirty hack). The point is, it works.

The whole reason for this mess is that the timezone PHP hack only affects PHP - but story.php gets it's dates by asking MySQL what the time is - so GeekLog ends up wiith two conflicting ideas about the time.

One more thing, this hack is likely to go wrong when we move in or out of daylight saving time.

It's all very complex: the GeekLog database dates articles in UNIX time (which is a sort of GMT). Your server works in it's local time, and then you hack your PHP environment to look like it's in yet another time zone. No wonder stuff goes wrong!

Charlie Dancey

 Quote

Status: offline

destr0yr

Forum User
Full Member
Registered: 07/06/02
Posts: 324
confused
soooooo is there any definitive time-hack for GL 1.3.8 ? My www is hosted in EST and i'm in PST or "Canada/Pacific" When i add the following to my lib-common.php i get a lil error...
Text Formatted Code
if ( !empty($_CONF['timezone'])
&& !ini_get("safe_mode") {
putenv("TZ=".$_CONF['timezone']);
}
The error:
Text Formatted Code
Parse error: parse error in /home/okanagan/public_html/lib-common.php on line 73

Fatal error: Call to undefined function: plg_showcenterblock() in /home/okanagan/public_html/index.php on line 67

-- destr0yr
"I love deadlines. I like the whooshing sound they make as they fly by." -- Douglas Adams
 Quote

Status: offline

Dirk

Site Admin
Admin
Registered: 01/12/02
Posts: 13073
Location:Stuttgart, Germany
You\'re missing a closing bracket after the ini_get ... bye, Dirk
 Quote

Status: offline

DTrumbower

Forum User
Moderator
Registered: 01/08/03
Posts: 507
I would move it to lib-custom.php instead of lib-common.php. Won\'t have to change it on next upgrade.
 Quote

Status: offline

ola_one

Forum User
Full Member
Registered: 06/28/03
Posts: 186
Hello guys, I just saw this thread and I am totally interested. Can you please tell me where in config.php (Anywhere or right after a particular statement or at the bootom) I have to insert the suggested line for timezone, and secondly, am I required to key in all the timezones or just my timezone. May sound stupid but I just want to be sure. In addition, DTrumbower suggested using lib-custom.php instead of lib-common.php for the second entry on the hack. Lastly Dirk, you said the person with the error message was missing a closing bracket after the ini_get, I looked and did not see an opening bracket.. Please correct me if am wrong... I am also running 1.3.8... if ( !empty($_CONF[\'timezone\']) && !ini_get(\"safe_mode\") { putenv(\"TZ=\".$_CONF[\'timezone\']); } Thank you all Ola
 Quote

Status: offline

Dirk

Site Admin
Admin
Registered: 01/12/02
Posts: 13073
Location:Stuttgart, Germany
Count all the opening brackets in that piece of code. Now count the closing brackets. See? Wink The position of the new variable in config.php shouldn\'t matter. bye, Dirk
 Quote

Status: offline

DTrumbower

Forum User
Moderator
Registered: 01/08/03
Posts: 507
It should look like this.
Text Formatted Code
if ( !empty($_CONF['timezone'])
&& !ini_get("safe_mode")) {
putenv("TZ=".$_CONF['timezone']);
}
 Quote

Status: offline

josheli

Forum User
Newbie
Registered: 08/16/03
Posts: 7
he means parentheses, not bracket.
 Quote

Joe

Anonymous
I think I found the issue with changing timezones and the story edit not working properly.

On line 910, I changed the DB_save call a little. Instead of storing $date, I changed it to FROM_UNIXTIME($unixdate).

That seemed to solve the issue with having a different time after a story is stored.
 Quote

Status: offline

geKow

Forum User
Full Member
Registered: 01/12/03
Posts: 445
Could you explain that a bit more detailed?
Does that mean replace ...,'$date', with ...,'FROM_UNIXTIME($unixdate)',... ?
(that causes an SQL error)

geKow
 Quote

Status: offline

geKow

Forum User
Full Member
Registered: 01/12/03
Posts: 445
Ok, I got it (dont use the ') and it seems to work good. Thank you Smile

geKow
 Quote

awdsmirk

Anonymous
I read through this Article
And it seems like a possible solution...can anyone with way more coding experience than me take a look and see if it's something we can all use in our lib-custom.php file? Thanks in advance...
 Quote

Status: offline

destr0yr

Forum User
Full Member
Registered: 07/06/02
Posts: 324
Curious if GL could do something like phpBB and have the GMT's listed for where the server exists and allowing a user to specify which timezone they are in... I guess I could put that in the feature request.
-- destr0yr
"I love deadlines. I like the whooshing sound they make as they fly by." -- Douglas Adams
 Quote

Page navigation

All times are EST. The time is now 08:09 am.

  • Normal Topic
  • Sticky Topic
  • Locked Topic
  • New Post
  • Sticky Topic W/ New Post
  • Locked Topic W/ New Post
  •  View Anonymous Posts
  •  Able to post
  •  Filtered HTML Allowed
  •  Censored Content