Welcome to Geeklog Thursday, November 21 2019 @ 06:05 am EST

Geeklog Forums

Timezone Hack

Page navigation


Anonymous

Anonymous
config.php
=======

add line
[code] $_CONF['timezone'] = 'Asia/Kuala_Lumpur'; [/code]

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

add line after
[code] require_once('/path/to/config.php'); if ( !empty($_CONF['timezone']) && !ini_get("safe_mode")) { putenv("TZ=".$_CONF['timezone']); } [/code]

This Timezone hack only work when safe_mode is OFF.


Yew Loong
www.edynasys.com
Timezone list (from Squirrelmail)
=====================
[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 [/code]
 Quote

Status: offline

etegration

Forum User
Full Member
Registered: 20/02/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: 23/12/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: 06/07/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... [code]if ( !empty($_CONF['timezone']) && !ini_get("safe_mode") { putenv("TZ=".$_CONF['timezone']); }[/code] The error: [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[/code]
-- 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: 12/01/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: 08/01/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: 28/06/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: 12/01/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: 08/01/03
Posts: 507
It should look like this. [code]if ( !empty($_CONF['timezone']) && !ini_get("safe_mode")) { putenv("TZ=".$_CONF['timezone']); }[/code]
 Quote

Status: offline

josheli

Forum User
Newbie
Registered: 16/08/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: 12/01/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: 12/01/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: 06/07/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 06:05 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