Code

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