--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/web/wp-content/plugins/event-calendar/tz.php Wed Feb 03 15:37:20 2010 +0000
@@ -0,0 +1,575 @@
+<?php
+/*
+Copyright (c) 2006, Alex Tingle. $Revision: 236 $
+
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+*/
+
+// Deal with timezones differently, depending upon what PHP has to offer.
+if(function_exists('date_default_timezone_get')):
+
+ // PHP5
+ function ec3_tz_push($tz)
+ {
+ $old_tz=date_default_timezone_get();
+ date_default_timezone_set($tz);
+ return $old_tz;
+ }
+ function ec3_tz_pop($tz)
+ {
+ date_default_timezone_set($tz);
+ }
+
+elseif(ini_get('safe_mode')):
+
+ // PHP4 safe mode.
+ function ec3_tz_push($tz)
+ {
+ return $tz;
+ }
+ function ec3_tz_pop($tz)
+ {
+ // do nothing
+ }
+ $ec3->tz_disabled=true;
+ $ec3->tz=getenv('TZ');
+
+else:
+
+ // PHP4 safe mode OFF
+ function ec3_tz_push($tz)
+ {
+ $old_tz=getenv('TZ');
+ putenv("TZ=$tz");
+ return $old_tz;
+ }
+ function ec3_tz_pop($tz)
+ {
+ putenv("TZ=$tz");
+ }
+
+endif;
+
+
+/** Converts a WordPress timestamp to Unix time. */
+function ec3_to_time($timestamp)
+{
+ global $ec3;
+ // Parse $timestamp and extract the Unix time.
+ $old_tz=ec3_tz_push($ec3->tz);
+ $unix_time = strtotime($timestamp);
+ ec3_tz_pop($old_tz);
+ // Unix time is seconds since the epoch (in UTC).
+ return $unix_time;
+}
+
+/** Converts a WordPress timestamp to UTC. */
+function ec3_to_utc($timestamp,$fmt='%Y%m%dT%H%M00Z')
+{
+ $result = gmstrftime($fmt,ec3_to_time($timestamp));
+ return $result;
+}
+
+/** Formats a Unix time as a time in the current timezone. */
+function ec3_strftime($format,$unix_time=0)
+{
+ global $ec3;
+ if(!$unix_time)
+ $unix_time=time();
+ // Express the Unix time as a string for timezone $ec3->tz.
+ $old_tz=ec3_tz_push($ec3->tz);
+ $result = strftime($format,$unix_time);
+ ec3_tz_pop($old_tz);
+ return $result;
+}
+
+
+$ec3->today=ec3_strftime("%Y-%m-%d 00:00:00");
+
+
+/** Call from within a <select>. Echos grouped options for all timezones. */
+function ec3_get_tz_options($selected='')
+{
+ /** All possible timezones, by group. */
+ $groups = array(
+ 'Africa' => array(
+ 'Abidjan',
+ 'Accra',
+ 'Addis_Ababa',
+ 'Algiers',
+ 'Asmera',
+ 'Bamako',
+ 'Bangui',
+ 'Banjul',
+ 'Bissau',
+ 'Blantyre',
+ 'Brazzaville',
+ 'Bujumbura',
+ 'Cairo',
+ 'Casablanca',
+ 'Ceuta',
+ 'Conakry',
+ 'Dakar',
+ 'Dar_es_Salaam',
+ 'Djibouti',
+ 'Douala',
+ 'El_Aaiun',
+ 'Freetown',
+ 'Gaborone',
+ 'Harare',
+ 'Johannesburg',
+ 'Kampala',
+ 'Khartoum',
+ 'Kigali',
+ 'Kinshasa',
+ 'Lagos',
+ 'Libreville',
+ 'Lome',
+ 'Luanda',
+ 'Lubumbashi',
+ 'Lusaka',
+ 'Malabo',
+ 'Maputo',
+ 'Maseru',
+ 'Mbabane',
+ 'Mogadishu',
+ 'Monrovia',
+ 'Nairobi',
+ 'Ndjamena',
+ 'Niamey',
+ 'Nouakchott',
+ 'Ouagadougou',
+ 'Porto-Novo',
+ 'Sao_Tome',
+ 'Timbuktu',
+ 'Tripoli',
+ 'Tunis',
+ 'Windhoek'
+ ),
+ 'America' => array(
+ 'Adak',
+ 'Anchorage',
+ 'Anguilla',
+ 'Antigua',
+ 'Araguaina',
+ 'Argentina/Buenos_Aires',
+ 'Argentina/Catamarca',
+ 'Argentina/ComodRivadavia',
+ 'Argentina/Cordoba',
+ 'Argentina/Jujuy',
+ 'Argentina/La_Rioja',
+ 'Argentina/Mendoza',
+ 'Argentina/Rio_Gallegos',
+ 'Argentina/San_Juan',
+ 'Argentina/Tucuman',
+ 'Argentina/Ushuaia',
+ 'Aruba',
+ 'Asuncion',
+ 'Atikokan',
+ 'Atka',
+ 'Bahia',
+ 'Barbados',
+ 'Belem',
+ 'Belize',
+ 'Blanc-Sablon',
+ 'Boa_Vista',
+ 'Bogota',
+ 'Boise',
+ 'Buenos_Aires',
+ 'Cambridge_Bay',
+ 'Campo_Grande',
+ 'Cancun',
+ 'Caracas',
+ 'Catamarca',
+ 'Cayenne',
+ 'Cayman',
+ 'Chicago',
+ 'Chihuahua',
+ 'Coral_Harbour',
+ 'Cordoba',
+ 'Costa_Rica',
+ 'Cuiaba',
+ 'Curacao',
+ 'Danmarkshavn',
+ 'Dawson',
+ 'Dawson_Creek',
+ 'Denver',
+ 'Detroit',
+ 'Dominica',
+ 'Edmonton',
+ 'Eirunepe',
+ 'El_Salvador',
+ 'Ensenada',
+ 'Fort_Wayne',
+ 'Fortaleza',
+ 'Glace_Bay',
+ 'Godthab',
+ 'Goose_Bay',
+ 'Grand_Turk',
+ 'Grenada',
+ 'Guadeloupe',
+ 'Guatemala',
+ 'Guayaquil',
+ 'Guyana',
+ 'Halifax',
+ 'Havana',
+ 'Hermosillo',
+ 'Indiana/Indianapolis',
+ 'Indiana/Knox',
+ 'Indiana/Marengo',
+ 'Indiana/Petersburg',
+ 'Indiana/Vevay',
+ 'Indiana/Vincennes',
+ 'Indianapolis',
+ 'Inuvik',
+ 'Iqaluit',
+ 'Jamaica',
+ 'Jujuy',
+ 'Juneau',
+ 'Kentucky/Louisville',
+ 'Kentucky/Monticello',
+ 'Knox_IN',
+ 'La_Paz',
+ 'Lima',
+ 'Los_Angeles',
+ 'Louisville',
+ 'Maceio',
+ 'Managua',
+ 'Manaus',
+ 'Martinique',
+ 'Mazatlan',
+ 'Mendoza',
+ 'Menominee',
+ 'Merida',
+ 'Mexico_City',
+ 'Miquelon',
+ 'Moncton',
+ 'Monterrey',
+ 'Montevideo',
+ 'Montreal',
+ 'Montserrat',
+ 'Nassau',
+ 'New_York',
+ 'Nipigon',
+ 'Nome',
+ 'Noronha',
+ 'North_Dakota/Center',
+ 'North_Dakota/New_Salem',
+ 'Panama',
+ 'Pangnirtung',
+ 'Paramaribo',
+ 'Phoenix',
+ 'Port-au-Prince',
+ 'Port_of_Spain',
+ 'Porto_Acre',
+ 'Porto_Velho',
+ 'Puerto_Rico',
+ 'Rainy_River',
+ 'Rankin_Inlet',
+ 'Recife',
+ 'Regina',
+ 'Rio_Branco',
+ 'Rosario',
+ 'Santiago',
+ 'Santo_Domingo',
+ 'Sao_Paulo',
+ 'Scoresbysund',
+ 'Shiprock',
+ 'St_Johns',
+ 'St_Kitts',
+ 'St_Lucia',
+ 'St_Thomas',
+ 'St_Vincent',
+ 'Swift_Current',
+ 'Tegucigalpa',
+ 'Thule',
+ 'Thunder_Bay',
+ 'Tijuana',
+ 'Toronto',
+ 'Tortola',
+ 'Vancouver',
+ 'Virgin',
+ 'Whitehorse',
+ 'Winnipeg',
+ 'Yakutat',
+ 'Yellowknife'
+ ),
+ 'Antarctica' => array(
+ 'Casey',
+ 'Davis',
+ 'DumontDUrville',
+ 'Mawson',
+ 'McMurdo',
+ 'Palmer',
+ 'Rothera',
+ 'South_Pole',
+ 'Syowa',
+ 'Vostok'
+ ),
+ 'Arctic' => array('Longyearbyen'),
+ 'Asia' => array(
+ 'Aden',
+ 'Almaty',
+ 'Amman',
+ 'Anadyr',
+ 'Aqtau',
+ 'Aqtobe',
+ 'Ashgabat',
+ 'Ashkhabad',
+ 'Baghdad',
+ 'Bahrain',
+ 'Baku',
+ 'Bangkok',
+ 'Beirut',
+ 'Bishkek',
+ 'Brunei',
+ 'Calcutta',
+ 'Choibalsan',
+ 'Chongqing',
+ 'Chungking',
+ 'Colombo',
+ 'Dacca',
+ 'Damascus',
+ 'Dhaka',
+ 'Dili',
+ 'Dubai',
+ 'Dushanbe',
+ 'Gaza',
+ 'Harbin',
+ 'Hong_Kong',
+ 'Hovd',
+ 'Irkutsk',
+ 'Istanbul',
+ 'Jakarta',
+ 'Jayapura',
+ 'Jerusalem',
+ 'Kabul',
+ 'Kamchatka',
+ 'Karachi',
+ 'Kashgar',
+ 'Katmandu',
+ 'Krasnoyarsk',
+ 'Kuala_Lumpur',
+ 'Kuching',
+ 'Kuwait',
+ 'Macao',
+ 'Macau',
+ 'Magadan',
+ 'Makassar',
+ 'Manila',
+ 'Muscat',
+ 'Nicosia',
+ 'Novosibirsk',
+ 'Omsk',
+ 'Oral',
+ 'Phnom_Penh',
+ 'Pontianak',
+ 'Pyongyang',
+ 'Qatar',
+ 'Qyzylorda',
+ 'Rangoon',
+ 'Riyadh',
+ 'Saigon',
+ 'Sakhalin',
+ 'Samarkand',
+ 'Seoul',
+ 'Shanghai',
+ 'Singapore',
+ 'Taipei',
+ 'Tashkent',
+ 'Tbilisi',
+ 'Tehran',
+ 'Tel_Aviv',
+ 'Thimbu',
+ 'Thimphu',
+ 'Tokyo',
+ 'Ujung_Pandang',
+ 'Ulaanbaatar',
+ 'Ulan_Bator',
+ 'Urumqi',
+ 'Vientiane',
+ 'Vladivostok',
+ 'Yakutsk',
+ 'Yekaterinburg',
+ 'Yerevan'
+ ),
+ 'Atlantic' => array(
+ 'Azores',
+ 'Bermuda',
+ 'Canary',
+ 'Cape_Verde',
+ 'Faeroe',
+ 'Jan_Mayen',
+ 'Madeira',
+ 'Reykjavik',
+ 'South_Georgia',
+ 'St_Helena',
+ 'Stanley',
+ ),
+ 'Australia' => array(
+ 'ACT',
+ 'Adelaide',
+ 'Brisbane',
+ 'Broken_Hill',
+ 'Canberra',
+ 'Currie',
+ 'Darwin',
+ 'Hobart',
+ 'LHI',
+ 'Lindeman',
+ 'Lord_Howe',
+ 'Melbourne',
+ 'North',
+ 'NSW',
+ 'Perth',
+ 'Queensland',
+ 'South',
+ 'Sydney',
+ 'Tasmania',
+ 'Victoria',
+ 'West',
+ 'Yancowinna'
+ ),
+ 'Europe' => array(
+ 'Amsterdam',
+ 'Andorra',
+ 'Athens',
+ 'Belfast',
+ 'Belgrade',
+ 'Berlin',
+ 'Bratislava',
+ 'Brussels',
+ 'Bucharest',
+ 'Budapest',
+ 'Chisinau',
+ 'Copenhagen',
+ 'Dublin',
+ 'Gibraltar',
+ 'Guernsey',
+ 'Helsinki',
+ 'Isle_of_Man',
+ 'Istanbul',
+ 'Jersey',
+ 'Kaliningrad',
+ 'Kiev',
+ 'Lisbon',
+ 'Ljubljana',
+ 'London',
+ 'Luxembourg',
+ 'Madrid',
+ 'Malta',
+ 'Mariehamn',
+ 'Minsk',
+ 'Monaco',
+ 'Moscow',
+ 'Nicosia',
+ 'Oslo',
+ 'Paris',
+ 'Prague',
+ 'Riga',
+ 'Rome',
+ 'Samara',
+ 'San_Marino',
+ 'Sarajevo',
+ 'Simferopol',
+ 'Skopje',
+ 'Sofia',
+ 'Stockholm',
+ 'Tallinn',
+ 'Tirane',
+ 'Tiraspol',
+ 'Uzhgorod',
+ 'Vaduz',
+ 'Vatican',
+ 'Vienna',
+ 'Vilnius',
+ 'Volgograd',
+ 'Warsaw',
+ 'Zagreb',
+ 'Zaporozhye',
+ 'Zurich'
+ ),
+ 'Indian' => array(
+ 'Antananarivo',
+ 'Chagos',
+ 'Christmas',
+ 'Cocos',
+ 'Comoro',
+ 'Kerguelen',
+ 'Mahe',
+ 'Maldives',
+ 'Mauritius',
+ 'Mayotte',
+ 'Reunion'
+ ),
+ 'Pacific' => array(
+ 'Apia',
+ 'Auckland',
+ 'Chatham',
+ 'Easter',
+ 'Efate',
+ 'Enderbury',
+ 'Fakaofo',
+ 'Fiji',
+ 'Funafuti',
+ 'Galapagos',
+ 'Gambier',
+ 'Guadalcanal',
+ 'Guam',
+ 'Honolulu',
+ 'Johnston',
+ 'Kiritimati',
+ 'Kosrae',
+ 'Kwajalein',
+ 'Majuro',
+ 'Marquesas',
+ 'Midway',
+ 'Nauru',
+ 'Niue',
+ 'Norfolk',
+ 'Noumea',
+ 'Pago_Pago',
+ 'Palau',
+ 'Pitcairn',
+ 'Ponape',
+ 'Port_Moresby',
+ 'Rarotonga',
+ 'Saipan',
+ 'Samoa',
+ 'Tahiti',
+ 'Tarawa',
+ 'Tongatapu',
+ 'Truk',
+ 'Wake',
+ 'Wallis',
+ 'Yap'
+ )
+ );
+
+ foreach($groups as $group => $zones)
+ {
+ echo "<optgroup label='$group'>\n";
+ foreach($zones as $z)
+ {
+ echo "<option value='$group/$z'";
+ if($selected=="$group/$z")
+ echo ' selected="selected"';
+ echo ">$z</option>\n";
+ }
+ echo '</optgroup>\n';
+ }
+} // end function ec3_get_tz_options()
+
+?>