Code

Updated client dns handling
[gosa.git] / include / class_timezones.inc
1 <?php 
2 /*
3    This code is part of GOsa (https://gosa.gonicus.de)
4    Copyright (C) 2007  Fabian Hickert <hickert@gonicus.de>
6    This program is free software; you can redistribute it and/or modify
7    it under the terms of the GNU General Public License as published by
8    the Free Software Foundation; either version 2 of the License, or
9    (at your option) any later version.
11    This program is distributed in the hope that it will be useful,
12    but WITHOUT ANY WARRANTY; without even the implied warranty of
13    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14    GNU General Public License for more details.
16    You should have received a copy of the GNU General Public License
17    along with this program; if not, write to the Free Software
18    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19  */
22 /* This function returns the offset for the default timezone. 
23  * $stamp is used to detect summer or winter time.
24  * In case of PHP5, the integrated timezone functions are used.
25  * For PHP4 we query an array for offset and add summertime hour.
26  */
27 function get_default_timezone($stamp = NULL)
28 {
29   global $config;
30   $tz ="";
32   /* Default return value if zone could not be detected */
33   $zone = array("name" => "unconfigured", "value" => 0);
35   /* Use current timestamp if $stamp is not set */
36   if($stamp == NULL){
37     $stamp = time();
38   }
40   /* Is there a timezone configured in the gosa configuration (gosa.conf) */
41   if(isset($config->current['TIMEZONE']) || isset($config->data['MAIN']['TIMEZONE'])){
43     /* Get zonename */
44     if(isset($config->current['TIMEZONE'])){
45       $tz = $config->current['TIMEZONE'];
46     }else{
47       $tz = $config->data['MAIN']['TIMEZONE'];
48     }
50     /* Check if we could use the PHP5 default timezone functions */
51     if(function_exists("date_default_timezone_set")){
52       if(!@date_default_timezone_set($tz)){
53         print_red(sprintf(_("The timezone setting \"".$tz."\" in your gosa.conf is not valid. Can not calculate correct timezone offest."),$tz));
54       }
55       $tz_delta = date("Z", $stamp);
56       $tz_delta = $tz_delta / 3600 ;
57       return(array("name" => $tz, "value" => $tz_delta));
59     }else{
61       /* We can't use the PHP integrated functions
62        *  so we use the zone informations returned by _get_tz_zones 
63        *  and calculate the the zone offset.
64        */
65       $tmp        = _get_tz_zones();
66       $zones      = $tmp['TIMEZONES'];
67       $dst_zones  = $tmp['DST_ZONES'];
69       /* Detect zone and calculate offset */
70       $found = FALSE;
71       foreach($zones as $name => $value){
72         if(preg_match("#".normalizePreg($name)."#i",$tz)){
73           $offset = $value / 3600 ;
74           if(isset($dst_zones[$name]) && (date("I",$stamp) == 1)){
75             $offset ++;
76           }
77           $zone = array("name" => $name, "value" => $offset);
78           $found = TRUE;
79           break;
80         }
81       }
82       if(!$found){
83         print_red(sprintf(_("The timezone setting \"".$tz."\" in your gosa.conf is not valid. Can not calculate correct timezone offest."),
84 $tz));
85       }
86     }
87   }
88   return($zone);
89 }
92 /* Return zone informations */
93 function _get_tz_zones()
94 {
95   $timezones = array(
96       'Africa/Abidjan' => 0,
97       'Africa/Accra' => 0,
98       'Africa/Addis_Ababa' => 10800,
99       'Africa/Algiers' => 3600,
100       'Africa/Asmera' => 10800,
101       'Africa/Bamako' => 0,
102       'Africa/Bangui' => 3600,
103       'Africa/Banjul' => 0,
104       'Africa/Bissau' => 0,
105       'Africa/Blantyre' => 7200,
106       'Africa/Brazzaville' => 3600,
107       'Africa/Bujumbura' => 7200,
108       'Africa/Cairo' => 7200,
109       'Africa/Casablanca' => 0,
110       'Africa/Ceuta' => 3600,
111       'Africa/Conakry' => 0,
112       'Africa/Dakar' => 0,
113       'Africa/Dar_es_Salaam' => 10800,
114       'Africa/Djibouti' => 10800,
115       'Africa/Douala' => 3600,
116       'Africa/El_Aaiun' => 0,
117       'Africa/Freetown' => 0,
118       'Africa/Gaborone' => 7200,
119       'Africa/Harare' => 7200,
120       'Africa/Johannesburg' => 7200,
121       'Africa/Kampala' => 10800,
122       'Africa/Khartoum' => 10800,
123       'Africa/Kigali' => 7200,
124       'Africa/Kinshasa' => 3600,
125       'Africa/Lagos' => 3600,
126       'Africa/Libreville' => 3600,
127       'Africa/Lome' => 0,
128       'Africa/Luanda' => 3600,
129       'Africa/Lubumbashi' => 7200,
130       'Africa/Lusaka' => 7200,
131       'Africa/Malabo' => 3600,
132       'Africa/Maputo' => 7200,
133       'Africa/Maseru' => 7200,
134       'Africa/Mbabane' => 7200,
135       'Africa/Mogadishu' => 10800,
136       'Africa/Monrovia' => 0,
137       'Africa/Nairobi' => 10800,
138       'Africa/Ndjamena' => 3600,
139       'Africa/Niamey' => 3600,
140       'Africa/Nouakchott' => 0,
141       'Africa/Ouagadougou' => 0,
142       'Africa/Porto-Novo' => 3600,
143       'Africa/Sao_Tome' => 0,
144       'Africa/Timbuktu' => 0,
145       'Africa/Tripoli' => 7200,
146       'Africa/Tunis' => 3600,
147       'Africa/Windhoek' => 3600,
148       'America/Adak' => -36000,
149       'America/Anchorage' => -32400,
150       'America/Anguilla' => -14400,
151       'America/Antigua' => -14400,
152       'America/Araguaina' => -10800,
153       'America/Argentina/Buenos_Aires' => 0,
154       'America/Argentina/Catamarca' => 0,
155       'America/Argentina/ComodRivadavia' => 0,
156       'America/Argentina/Cordoba' => 0,
157       'America/Argentina/Jujuy' => 0,
158       'America/Argentina/La_Rioja' => 0,
159       'America/Argentina/Mendoza' => 0,
160       'America/Argentina/Rio_Gallegos' => 0,
161       'America/Argentina/San_Juan' => 0,
162       'America/Argentina/Tucuman' => 0,
163       'America/Argentina/Ushuaia' => 0,
164       'America/Aruba' => -14400,
165       'America/Asuncion' => -14400,
166       'America/Atikokan' => 0,
167       'America/Atka' => -36000,
168       'America/Bahia' => 0,
169       'America/Barbados' => -14400,
170       'America/Belem' => -10800,
171       'America/Belize' => -21600,
172       'America/Blanc-Sablon' => 0,
173       'America/Boa_Vista' => -14400,
174       'America/Bogota' => -18000,
175       'America/Boise' => -25200,
176       'America/Buenos_Aires' => -10800,
177       'America/Cambridge_Bay' => -25200,
178       'America/Campo_Grande' => 0,
179       'America/Cancun' => -21600,
180       'America/Caracas' => -14400,
181       'America/Catamarca' => -10800,
182       'America/Cayenne' => -10800,
183       'America/Cayman' => -18000,
184       'America/Chicago' => -21600,
185       'America/Chihuahua' => -25200,
186       'America/Coral_Harbour' => 0,
187       'America/Cordoba' => -10800,
188       'America/Costa_Rica' => -21600,
189       'America/Cuiaba' => -14400,
190       'America/Curacao' => -14400,
191       'America/Danmarkshavn' => 0,
192       'America/Dawson' => -28800,
193       'America/Dawson_Creek' => -25200,
194       'America/Denver' => -25200,
195       'America/Detroit' => -18000,
196       'America/Dominica' => -14400,
197       'America/Edmonton' => -25200,
198       'America/Eirunepe' => -18000,
199       'America/El_Salvador' => -21600,
200       'America/Ensenada' => -28800,
201       'America/Fort_Wayne' => -18000,
202       'America/Fortaleza' => -10800,
203       'America/Glace_Bay' => -14400,
204       'America/Godthab' => -10800,
205       'America/Goose_Bay' => -14400,
206       'America/Grand_Turk' => -18000,
207       'America/Grenada' => -14400,
208       'America/Guadeloupe' => -14400,
209       'America/Guatemala' => -21600,
210       'America/Guayaquil' => -18000,
211       'America/Guyana' => -14400,
212       'America/Halifax' => -14400,
213       'America/Havana' => -18000,
214       'America/Hermosillo' => -25200,
215       'America/Indiana/Indianapolis' => -18000,
216       'America/Indiana/Knox' => -18000,
217       'America/Indiana/Marengo' => -18000,
218       'America/Indiana/Petersburg' => 0,
219       'America/Indiana/Vevay' => -18000,
220       'America/Indiana/Vincennes' => 0,
221       'America/Indianapolis' => -18000,
222       'America/Inuvik' => -25200,
223       'America/Iqaluit' => -18000,
224       'America/Jamaica' => -18000,
225       'America/Jujuy' => -10800,
226       'America/Juneau' => -32400,
227       'America/Kentucky/Louisville' => -18000,
228       'America/Kentucky/Monticello' => -18000,
229       'America/Knox_IN' => -18000,
230       'America/La_Paz' => -14400,
231       'America/Lima' => -18000,
232       'America/Los_Angeles' => -28800,
233       'America/Louisville' => -18000,
234       'America/Maceio' => -10800,
235       'America/Managua' => -21600,
236       'America/Manaus' => -14400,
237       'America/Martinique' => -14400,
238       'America/Mazatlan' => -25200,
239       'America/Mendoza' => -10800,
240       'America/Menominee' => -21600,
241       'America/Merida' => -21600,
242       'America/Mexico_City' => -21600,
243       'America/Miquelon' => -10800,
244       'America/Moncton' => 0,
245       'America/Monterrey' => -21600,
246       'America/Montevideo' => -10800,
247       'America/Montreal' => -18000,
248       'America/Montserrat' => -14400,
249       'America/Nassau' => -18000,
250       'America/New_York' => -18000,
251       'America/Nipigon' => -18000,
252       'America/Nome' => -32400,
253       'America/Noronha' => -7200,
254       'America/North_Dakota/Center' => -21600,
255       'America/North_Dakota/New_Salem' => 0,
256       'America/Panama' => -18000,
257       'America/Pangnirtung' => -18000,
258       'America/Paramaribo' => -10800,
259       'America/Phoenix' => -25200,
260       'America/Port-au-Prince' => -18000,
261       'America/Port_of_Spain' => -14400,
262       'America/Porto_Acre' => -18000,
263       'America/Porto_Velho' => -14400,
264       'America/Puerto_Rico' => -14400,
265       'America/Rainy_River' => -21600,
266       'America/Rankin_Inlet' => -21600,
267       'America/Recife' => -10800,
268       'America/Regina' => -21600,
269       'America/Rio_Branco' => -18000,
270       'America/Rosario' => -10800,
271       'America/Santiago' => -14400,
272       'America/Santo_Domingo' => -14400,
273       'America/Sao_Paulo' => -10800,
274       'America/Scoresbysund' => -3600,
275       'America/Shiprock' => -25200,
276       'America/St_Johns' => -12600,
277       'America/St_Kitts' => -14400,
278       'America/St_Lucia' => -14400,
279       'America/St_Thomas' => -14400,
280       'America/St_Vincent' => -14400,
281       'America/Swift_Current' => -21600,
282       'America/Tegucigalpa' => -21600,
283       'America/Thule' => -14400,
284       'America/Thunder_Bay' => -18000,
285       'America/Tijuana' => -28800,
286       'America/Toronto' => 0,
287       'America/Tortola' => -14400,
288       'America/Vancouver' => -28800,
289       'America/Virgin' => -14400,
290       'America/Whitehorse' => -28800,
291       'America/Winnipeg' => -21600,
292       'America/Yakutat' => -32400,
293       'America/Yellowknife' => -25200,
294       'Antarctica/Casey' => 28800,
295       'Antarctica/Davis' => 25200,
296       'Antarctica/DumontDUrville' => 36000,
297       'Antarctica/Mawson' => 21600,
298       'Antarctica/McMurdo' => 43200,
299       'Antarctica/Palmer' => -14400,
300       'Antarctica/Rothera' => 0,
301       'Antarctica/South_Pole' => 43200,
302       'Antarctica/Syowa' => 10800,
303       'Antarctica/VostokArctic/Longyearbyen' => 0,
304       'Asia/Aden' => 10800,
305       'Asia/Almaty' => 21600,
306       'Asia/Amman' => 7200,
307       'Asia/Anadyr' => 43200,
308       'Asia/Aqtau' => 14400,
309       'Asia/Aqtobe' => 18000,
310       'Asia/Ashgabat' => 18000,
311       'Asia/Ashkhabad' => 18000,
312       'Asia/Baghdad' => 10800,
313       'Asia/Bahrain' => 10800,
314       'Asia/Baku' => 14400,
315       'Asia/Bangkok' => 25200,
316       'Asia/Beirut' => 7200,
317       'Asia/Bishkek' => 18000,
318       'Asia/Brunei' => 28800,
319       'Asia/Calcutta' => 19800,
320       'Asia/Choibalsan' => 32400,
321       'Asia/Chongqing' => 28800,
322       'Asia/Chungking' => 28800,
323       'Asia/Colombo' => 21600,
324       'Asia/Dacca' => 21600,
325       'Asia/Damascus' => 7200,
326       'Asia/Dhaka' => 21600,
327       'Asia/Dili' => 32400,
328       'Asia/Dubai' => 14400,
329       'Asia/Dushanbe' => 18000,
330       'Asia/Gaza' => 7200,
331       'Asia/Harbin' => 28800,
332       'Asia/Hong_Kong' => 28800,
333       'Asia/Hovd' => 25200,
334       'Asia/Irkutsk' => 28800,
335       'Asia/Istanbul' => 7200,
336       'Asia/Jakarta' => 25200,
337       'Asia/Jayapura' => 32400,
338       'Asia/Jerusalem' => 7200,
339       'Asia/Kabul' => 16200,
340       'Asia/Kamchatka' => 43200,
341       'Asia/Karachi' => 18000,
342       'Asia/Kashgar' => 28800,
343       'Asia/Katmandu' => 20700,
344       'Asia/Krasnoyarsk' => 25200,
345       'Asia/Kuala_Lumpur' => 28800,
346       'Asia/Kuching' => 28800,
347       'Asia/Kuwait' => 10800,
348       'Asia/Macao' => 28800,
349       'Asia/Macau' => 0,
350       'Asia/Magadan' => 39600,
351       'Asia/Makassar' => 0,
352       'Asia/Manila' => 28800,
353       'Asia/Muscat' => 14400,
354       'Asia/Nicosia' => 7200,
355       'Asia/Novosibirsk' => 21600,
356       'Asia/Omsk' => 21600,
357       'Asia/Oral' => 0,
358       'Asia/Phnom_Penh' => 25200,
359       'Asia/Pontianak' => 25200,
360       'Asia/Pyongyang' => 32400,
361       'Asia/Qatar' => 10800,
362       'Asia/Qyzylorda' => 0,
363       'Asia/Rangoon' => 23400,
364       'Asia/Riyadh' => 10800,
365       'Asia/Saigon' => 25200,
366       'Asia/Sakhalin' => 36000,
367       'Asia/Samarkand' => 18000,
368       'Asia/Seoul' => 32400,
369       'Asia/Shanghai' => 28800,
370       'Asia/Singapore' => 28800,
371       'Asia/Taipei' => 28800,
372       'Asia/Tashkent' => 18000,
373       'Asia/Tbilisi' => 14400,
374       'Asia/Tehran' => 12600,
375       'Asia/Tel_Aviv' => 7200,
376       'Asia/Thimbu' => 21600,
377       'Asia/Thimphu' => 21600,
378       'Asia/Tokyo' => 32400,
379       'Asia/Ujung_Pandang' => 28800,
380       'Asia/Ulaanbaatar' => 28800,
381       'Asia/Ulan_Bator' => 28800,
382       'Asia/Urumqi' => 28800,
383       'Asia/Vientiane' => 25200,
384       'Asia/Vladivostok' => 36000,
385       'Asia/Yakutsk' => 32400,
386       'Asia/Yekaterinburg' => 18000,
387       'Asia/YerevanAtlantic/Azores' => 0,
388       'Atlantic/Bermuda' => -14400,
389       'Atlantic/Canary' => 0,
390       'Atlantic/Cape_Verde' => -3600,
391       'Atlantic/Faeroe' => 0,
392       'Atlantic/Jan_Mayen' => 3600,
393       'Atlantic/Madeira' => 0,
394       'Atlantic/Reykjavik' => 0,
395       'Atlantic/South_Georgia' => -7200,
396       'Atlantic/St_Helena' => 0,
397       'Atlantic/Stanley' => -14400,
398       'Australia/ACT' => 36000,
399       'Australia/Adelaide' => 34200,
400       'Australia/Brisbane' => 36000,
401       'Australia/Broken_Hill' => 34200,
402       'Australia/Canberra' => 36000,
403       'Australia/Currie' => 0,
404       'Australia/Darwin' => 34200,
405       'Australia/Hobart' => 36000,
406       'Australia/LHI' => 37800,
407       'Australia/Lindeman' => 36000,
408       'Australia/Lord_Howe' => 37800,
409       'Australia/Melbourne' => 36000,
410       'Australia/NSW' => 36000,
411       'Australia/North' => 34200,
412       'Australia/Perth' => 28800,
413       'Australia/Queensland' => 36000,
414       'Australia/South' => 34200,
415       'Australia/Sydney' => 36000,
416       'Australia/Tasmania' => 36000,
417       'Australia/Victoria' => 36000,
418       'Australia/West' => 28800,
419       'Australia/Yancowinna' => 34200,
420       'Europe/Amsterdam' => 3600,
421       'Europe/Andorra' => 3600,
422       'Europe/Athens' => 7200,
423       'Europe/Belfast' => 0,
424       'Europe/Belgrade' => 3600,
425       'Europe/Berlin' => 3600,
426       'Europe/Bratislava' => 3600,
427       'Europe/Brussels' => 3600,
428       'Europe/Bucharest' => 7200,
429       'Europe/Budapest' => 3600,
430       'Europe/Chisinau' => 7200,
431       'Europe/Copenhagen' => 3600,
432       'Europe/Dublin' => 0,
433       'Europe/Gibraltar' => 3600,
434       'Europe/Guernsey' => 0,
435       'Europe/Helsinki' => 7200,
436       'Europe/Isle_of_Man' => 0,
437       'Europe/Istanbul' => 7200,
438       'Europe/Jersey' => 0,
439       'Europe/Kaliningrad' => 7200,
440       'Europe/Kiev' => 7200,
441       'Europe/Lisbon' => 0,
442       'Europe/Ljubljana' => 3600,
443       'Europe/London' => 0,
444       'Europe/Luxembourg' => 3600,
445       'Europe/Madrid' => 3600,
446       'Europe/Malta' => 3600,
447       'Europe/Mariehamn' => 0,
448       'Europe/Minsk' => 7200,
449       'Europe/Monaco' => 3600,
450       'Europe/Moscow' => 10800,
451       'Europe/Nicosia' => 7200,
452       'Europe/Oslo' => 3600,
453       'Europe/Paris' => 3600,
454       'Europe/Prague' => 3600,
455       'Europe/Riga' => 7200,
456       'Europe/Rome' => 3600,
457       'Europe/Samara' => 14400,
458       'Europe/San_Marino' => 3600,
459       'Europe/Sarajevo' => 3600,
460       'Europe/Simferopol' => 7200,
461       'Europe/Skopje' => 3600,
462       'Europe/Sofia' => 7200,
463       'Europe/Stockholm' => 3600,
464       'Europe/Tallinn' => 7200,
465       'Europe/Tirane' => 3600,
466       'Europe/Tiraspol' => 7200,
467       'Europe/Uzhgorod' => 7200,
468       'Europe/Vaduz' => 3600,
469       'Europe/Vatican' => 3600,
470       'Europe/Vienna' => 3600,
471       'Europe/Vilnius' => 7200,
472       'Europe/Volgograd' => 0,
473       'Europe/Warsaw' => 3600,
474       'Europe/Zagreb' => 3600,
475       'Europe/Zaporozhye' => 7200,
476       'Europe/Zurich' => 3600,
477       'Indian/Antananarivo' => 10800,
478       'Indian/Chagos' => 21600,
479       'Indian/Christmas' => 25200,
480       'Indian/Cocos' => 23400,
481       'Indian/Comoro' => 10800,
482       'Indian/Kerguelen' => 18000,
483       'Indian/Mahe' => 14400,
484       'Indian/Maldives' => 18000,
485       'Indian/Mauritius' => 14400,
486       'Indian/Mayotte' => 10800,
487       'Indian/Reunion' => 14400,
488       'Pacific/Apia' => -39600,
489       'Pacific/Auckland' => 43200,
490       'Pacific/Chatham' => 45900,
491       'Pacific/Easter' => -21600,
492       'Pacific/Efate' => 39600,
493       'Pacific/Enderbury' => 46800,
494       'Pacific/Fakaofo' => -36000,
495       'Pacific/Fiji' => 43200,
496       'Pacific/Funafuti' => 43200,
497       'Pacific/Galapagos' => -21600,
498       'Pacific/Gambier' => -32400,
499       'Pacific/Guadalcanal' => 39600,
500       'Pacific/Guam' => 36000,
501       'Pacific/Honolulu' => -36000,
502       'Pacific/Johnston' => -36000,
503       'Pacific/Kiritimati' => 50400,
504       'Pacific/Kosrae' => 39600,
505       'Pacific/Kwajalein' => 43200,
506       'Pacific/Majuro' => 43200,
507       'Pacific/Marquesas' => -34200,
508       'Pacific/Midway' => -39600,
509       'Pacific/Nauru' => 43200,
510       'Pacific/Niue' => -39600,
511       'Pacific/Norfolk' => 41400,
512       'Pacific/Noumea' => 39600,
513       'Pacific/Pago_Pago' => -39600,
514       'Pacific/Palau' => 32400,
515       'Pacific/Pitcairn' => -28800,
516       'Pacific/Ponape' => 39600,
517       'Pacific/Port_Moresby' => 36000,
518       'Pacific/Rarotonga' => -36000,
519       'Pacific/Saipan' => 36000,
520       'Pacific/Samoa' => -39600,
521       'Pacific/Tahiti' => -36000,
522       'Pacific/Tarawa' => 43200,
523       'Pacific/Tongatapu' => 46800,
524       'Pacific/Truk' => 36000,
525       'Pacific/Wake' => 43200,
526       'Pacific/Wallis' => 43200,
527       'Pacific/Yap' => 36000 );          
529   $dst_timezones = array (  
530       'America/Adak' => 1,
531       'America/Atka' => 1,
532       'America/Anchorage' => 1,
533       'America/Juneau' => 1,
534       'America/Nome' => 1,
535       'America/Yakutat' => 1,
536       'America/Dawson' => 1,
537       'America/Ensenada' => 1,
538       'America/Los_Angeles' => 1,
539       'America/Tijuana' => 1,
540       'America/Vancouver' => 1,
541       'America/Whitehorse' => 1,
542       'America/Boise' => 1,
543       'America/Cambridge_Bay' => 1,
544       'America/Chihuahua' => 1,
545       'America/Denver' => 1,
546       'America/Edmonton' => 1,
547       'America/Inuvik' => 1,
548       'America/Mazatlan' => 1,
549       'America/Shiprock' => 1,
550       'America/Yellowknife' => 1,
551       'America/Cancun' => 1,
552       'America/Chicago' => 1,
553       'America/Menominee' => 1,
554       'America/Merida' => 1,
555       'America/Monterrey' => 1,
556       'America/North_Dakota/Center' => 1,
557       'America/Rainy_River' => 1,
558       'America/Rankin_Inlet' => 1,
559       'America/Winnipeg' => 1,
560       'Pacific/Easter' => 1,
561       'America/Detroit' => 1,
562       'America/Grand_Turk' => 1,
563       'America/Havana' => 1,
564       'America/Iqaluit' => 1,
565       'America/Kentucky/Louisville' => 1,
566       'America/Kentucky/Monticello' => 1,
567       'America/Louisville' => 1,
568       'America/Montreal' => 1,
569       'America/Nassau' => 1,
570       'America/New_York' => 1,
571       'America/Nipigon' => 1,
572       'America/Pangnirtung' => 1,
573       'America/Thunder_Bay' => 1,
574       'America/Asuncion' => 1,
575       'America/Cuiaba' => 1,
576       'America/Glace_Bay' => 1,
577       'America/Goose_Bay' => 1,
578       'America/Halifax' => 1,
579       'America/Santiago' => 1,
580       'Antarctica/Palmer' => 1,
581       'Atlantic/Bermuda' => 1,
582       'Atlantic/Stanley' => 1,
583       'America/St_Johns' => 1,
584       'America/Araguaina' => 1,
585       'America/Fortaleza' => 1,
586       'America/Godthab' => 1,
587       'America/Maceio' => 1,
588       'America/Miquelon' => 1,
589       'America/Recife' => 1,
590       'America/Sao_Paulo' => 1,
591       'America/Scoresbysund' => 1,
592       'Atlantic/Canary' => 1,
593       'Atlantic/Faeroe' => 1,
594       'Atlantic/Madeira' => 1,
595       'Europe/Belfast' => 1,
596       'Europe/Dublin' => 1,
597       'Europe/Lisbon' => 1,
598       'Europe/London' => 1,
599       'Africa/Ceuta' => 1,
600       'Africa/Windhoek' => 1,
601       'Atlantic/Jan_Mayen' => 1,
602       'Europe/Amsterdam' => 1,
603       'Europe/Andorra' => 1,
604       'Europe/Belgrade' => 1,
605       'Europe/Berlin' => 1,
606       'Europe/Bratislava' => 1,
607       'Europe/Brussels' => 1,
608       'Europe/Budapest' => 1,
609       'Europe/Copenhagen' => 1,
610       'Europe/Gibraltar' => 1,
611       'Europe/Ljubljana' => 1,
612       'Europe/Luxembourg' => 1,
613       'Europe/Madrid' => 1,
614       'Europe/Malta' => 1,
615       'Europe/Monaco' => 1,
616       'Europe/Oslo' => 1,
617       'Europe/Paris' => 1,
618       'Europe/Prague' => 1,
619       'Europe/Rome' => 1,
620       'Europe/San_Marino' => 1,
621       'Europe/Sarajevo' => 1,
622       'Europe/Skopje' => 1,
623       'Europe/Stockholm' => 1,
624       'Europe/Tirane' => 1,
625       'Europe/Vaduz' => 1,
626       'Europe/Vatican' => 1,
627       'Europe/Vienna' => 1,
628       'Europe/Warsaw' => 1,
629       'Europe/Zagreb' => 1,
630       'Europe/Zurich' => 1,
631       'Africa/Cairo' => 1,
632       'Asia/Amman' => 1,
633       'Asia/Beirut' => 1,
634       'Asia/Damascus' => 1,
635       'Asia/Gaza' => 1,
636       'Asia/Istanbul' => 1,
637       'Asia/Jerusalem' => 1,
638       'Asia/Nicosia' => 1,
639       'Asia/Tel_Aviv' => 1,
640       'Europe/Athens' => 1,
641       'Europe/Bucharest' => 1,
642       'Europe/Chisinau' => 1,
643       'Europe/Helsinki' => 1,
644       'Europe/Istanbul' => 1,
645       'Europe/Kaliningrad' => 1,
646       'Europe/Kiev' => 1,
647       'Europe/Minsk' => 1,
648       'Europe/Nicosia' => 1,
649       'Europe/Riga' => 1,
650       'Europe/Simferopol' => 1,
651       'Europe/Sofia' => 1,
652       'Europe/Tiraspol' => 1,
653       'Europe/Uzhgorod' => 1,
654       'Europe/Zaporozhye' => 1,
655       'Asia/Baghdad' => 1,
656       'Europe/Moscow' => 1,
657       'Asia/Tehran' => 1,
658       'Asia/Aqtau' => 1,
659       'Asia/Baku' => 1,
660       'Asia/Tbilisi' => 1,
661       'Europe/Samara' => 1,
662       'Asia/Aqtobe' => 1,
663       'Asia/Bishkek' => 1,
664       'Asia/Yekaterinburg' => 1,
665       'Asia/Almaty' => 1,
666       'Asia/Novosibirsk' => 1,
667       'Asia/Omsk' => 1,
668       'Asia/Krasnoyarsk' => 1,
669       'Asia/Irkutsk' => 1,
670       'Asia/Yakutsk' => 1,
671       'Australia/Adelaide' => 1,
672       'Australia/Broken_Hill' => 1,
673       'Australia/South' => 1,
674       'Australia/Yancowinna' => 1,
675       'Asia/Sakhalin' => 1,
676       'Asia/Vladivostok' => 1,
677       'Australia/ACT' => 1,
678       'Australia/Canberra' => 1,
679       'Australia/Hobart' => 1,
680       'Australia/Melbourne' => 1,
681       'Australia/NSW' => 1,
682       'Australia/Sydney' => 1,
683       'Australia/Tasmania' => 1,
684       'Australia/Victoria' => 1,
685       'Australia/LHI' => 1,
686       'Australia/Lord_Howe' => 1,
687       'Asia/Magadan' => 1,
688       'Antarctica/McMurdo' => 1,
689       'Antarctica/South_Pole' => 1,
690       'Asia/Anadyr' => 1,
691       'Asia/Kamchatka' => 1,
692       'Pacific/Auckland' => 1,
693       'Pacific/Chatham' => 1,
694       );  
695   return(array("TIMEZONES" => $timezones, "DST_ZONES" => $dst_timezones));
697 // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
698 ?>