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));
696 }
697 // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
698 ?>