l($t('set the site timezone name'), 'admin/settings/date-time'))); } elseif (function_exists('date_create')) { $date = date_make_date('now', $tz_name); if (date_offset_get($date) != variable_get('date_default_timezone', 0)) { $error = TRUE; $value = $t('The !link may not be correct.', array('!link' => l($t('site timezone name'), 'admin/settings/date-time'))); $severity = REQUIREMENT_WARNING; } } } if ($error) { $requirements['date_default_timezone'] = array( 'title' => $t('Date Timezone requirements'), 'value' => $value, 'severity' => $severity, ); } return $requirements; } /** * Get rid of deprecated timezone names. */ function date_timezone_update_5200() { $ret = array(); $old = variable_get('date_default_timezone_name', NULL); if (!empty($old)) { $new = _date_timezone_replacement($old); if (!empty($new) && $new != $old) { variable_set('date_default_timezone_name', $new); } } $results = db_query("SELECT DISTINCT timezone_name FROM {users} ORDER BY timezone_name"); while ($row = db_fetch_object($results)) { if (!empty($row->timezone_name)) { $new = _date_timezone_replacement($row->timezone_name); if (!empty($new) && $new != $row->timezone_name) { db_query("UPDATE {users} SET timezone_name = '%s' WHERE timezone_name = '%s'", $new, $row->timezone_name); } } } // Make sure the timezone name list gets updated. cache_clear_all('date_timezone_identifiers_list', 'cache'); return $ret; } /** * Create replacement values for deprecated timezone names. */ function _date_timezone_replacement($old) { $replace = array( 'Brazil/Acre' => 'America/Rio_Branco', 'Brazil/DeNoronha' => 'America/Noronha', 'Brazil/East' => 'America/Recife', 'Brazil/West' => 'America/Manaus', 'Canada/Atlantic' => 'America/Halifax', 'Canada/Central' => 'America/Winnipeg', 'Canada/East-Saskatchewan' => 'America/Regina', 'Canada/Eastern' => 'America/Toronto', 'Canada/Mountain' => 'America/Edmonton', 'Canada/Newfoundland' => 'America/St_Johns', 'Canada/Pacific' => 'America/Vancouver', 'Canada/Saskatchewan' => 'America/Regina', 'Canada/Yukon' => 'America/Whitehorse', 'CET' => 'Europe/Berlin', 'Chile/Continental' => 'America/Santiago', 'Chile/EasterIsland' => 'Pacific/Easter', 'CST6CDT' => 'America/Chicago', 'Cuba' => 'America/Havana', 'EET' => 'Europe/Bucharest', 'Egypt' => 'Africa/Cairo', 'Eire' => 'Europe/Belfast', 'EST' => 'America/New_York', 'EST5EDT' => 'America/New_York', 'GB' => 'Europe/London', 'GB-Eire' => 'Europe/Belfast', 'Etc/GMT' => 'UTC', 'Etc/GMT+0' => 'UTC', 'Etc/GMT+1' => 'UTC', 'Etc/GMT+10' => 'UTC', 'Etc/GMT+11' => 'UTC', 'Etc/GMT+12' => 'UTC', 'Etc/GMT+2' => 'UTC', 'Etc/GMT+3' => 'UTC', 'Etc/GMT+4' => 'UTC', 'Etc/GMT+5' => 'UTC', 'Etc/GMT+6' => 'UTC', 'Etc/GMT+7' => 'UTC', 'Etc/GMT+8' => 'UTC', 'Etc/GMT+9' => 'UTC', 'Etc/GMT-0' => 'UTC', 'Etc/GMT-1' => 'UTC', 'Etc/GMT-10' => 'UTC', 'Etc/GMT-11' => 'UTC', 'Etc/GMT-12' => 'UTC', 'Etc/GMT-13' => 'UTC', 'Etc/GMT-14' => 'UTC', 'Etc/GMT-2' => 'UTC', 'Etc/GMT-3' => 'UTC', 'Etc/GMT-4' => 'UTC', 'Etc/GMT-5' => 'UTC', 'Etc/GMT-6' => 'UTC', 'Etc/GMT-7' => 'UTC', 'Etc/GMT-8' => 'UTC', 'Etc/GMT-9' => 'UTC', 'Etc/GMT0' => 'UTC', 'Etc/Greenwich' => 'UTC', 'Etc/UCT' => 'UTC', 'Etc/Universal' => 'UTC', 'Etc/UTC' => 'UTC', 'Etc/Zulu' => 'UTC', 'Factory' => 'UTC', 'GMT' => 'UTC', 'GMT+0' => 'UTC', 'GMT-0' => 'UTC', 'GMT0' => 'UTC', 'Hongkong' => 'Asia/Hong_Kong', 'HST' => 'Pacific/Honolulu', 'Iceland' => 'Atlantic/Reykjavik', 'Iran' => 'Asia/Tehran', 'Israel' => 'Asia/Tel_Aviv', 'Jamaica' => 'America/Jamaica', 'Japan' => 'Asia/Tokyo', 'Kwajalein' => 'Pacific/Kwajalein', 'Libya' => 'Africa/Tunis', 'MET' => 'Europe/Budapest', 'Mexico/BajaNorte' => 'America/Tijuana', 'Mexico/BajaSur' => 'America/Mazatlan', 'Mexico/General' => 'America/Mexico_City', 'MST' => 'America/Boise', 'MST7MDT' => 'America/Boise', 'Navajo' => 'America/Phoenix', 'NZ' => 'Pacific/Auckland', 'NZ-CHAT' => 'Pacific/Chatham', 'Poland' => 'Europe/Warsaw', 'Portugal' => 'Europe/Lisbon', 'PRC' => 'Asia/Chongqing', 'PST8PDT' => 'America/Los_Angeles', 'ROC' => 'Asia/Taipei', 'ROK' => 'Asia/Seoul', 'Singapore' => 'Asia/Singapore', 'Turkey' => 'Europe/Istanbul', 'US/Alaska' => 'America/Anchorage', 'US/Aleutian' => 'America/Adak', 'US/Arizona' => 'America/Phoenix', 'US/Central' => 'America/Chicago', 'US/East-Indiana' => 'America/Indianapolis', 'US/Eastern' => 'America/New_York', 'US/Hawaii' => 'Pacific/Honolulu', 'US/Indiana-Starke' => 'America/Indiana/Knox', 'US/Michigan' => 'America/Detroit', 'US/Mountain' => 'America/Boise', 'US/Pacific' => 'America/Los_Angeles', 'US/Pacific-New' => 'America/Los_Angeles', 'US/Samoa' => 'Pacific/Samoa', 'W-SU' => 'Europe/Moscow', 'WET' => 'Europe/Paris', ); if (array_key_exists($old, $replace)) { return $replace[$old]; } else { return $old; } } /** * These strings exist only for the extractor to pick them up and make them * available for translation. Putting them here keeps them from being parsed * on normal pages. * * Idea borrowed from Event module. Thanks killes! */ function date_timezone_translate() { t('Africa/Algiers'); t('Africa/Asmera'); t('Africa/Bangui'); t('Africa/Blantyre'); t('Africa/Brazzaville'); t('Africa/Bujumbura'); t('Africa/Cairo'); t('Africa/Ceuta'); t('Africa/Dar_es_Salaam'); t('Africa/Djibouti'); t('Africa/Douala'); t('Africa/Gaborone'); t('Africa/Harare'); t('Africa/Johannesburg'); t('Africa/Kampala'); t('Africa/Khartoum'); t('Africa/Kigali'); t('Africa/Kinshasa'); t('Africa/Lagos'); t('Africa/Libreville'); t('Africa/Luanda'); t('Africa/Lubumbashi'); t('Africa/Lusaka'); t('Africa/Malabo'); t('Africa/Maputo'); t('Africa/Maseru'); t('Africa/Mbabane'); t('Africa/Mogadishu'); t('Africa/Nairobi'); t('Africa/Ndjamena'); t('Africa/Niamey'); t('Africa/Porto-Novo'); t('Africa/Tripoli'); t('Africa/Tunis'); t('Africa/Windhoek'); t('America/Adak'); t('America/Anchorage'); t('America/Anguilla'); t('America/Antigua'); t('America/Araguaina'); t('America/Aruba'); t('America/Asuncion'); t('America/Atka'); t('America/Barbados'); t('America/Belem'); t('America/Belize'); t('America/Boa_Vista'); t('America/Bogota'); t('America/Boise'); t('America/Buenos_Aires'); t('America/Cambridge_Bay'); t('America/Cancun'); t('America/Caracas'); t('America/Catamarca'); t('America/Cayenne'); t('America/Cayman'); t('America/Chicago'); t('America/Chihuahua'); t('America/Cordoba'); t('America/Costa_Rica'); t('America/Cuiaba'); t('America/Curacao'); t('America/Dawson'); t('America/Dawson_Creek'); t('America/Denver'); t('America/Detroit'); t('America/Dominica'); t('America/Edmonton'); t('America/Eirunepe'); t('America/El_Salvador'); t('America/Ensenada'); t('America/Fort_Wayne'); t('America/Fortaleza'); t('America/Glace_Bay'); t('America/Godthab'); t('America/Goose_Bay'); t('America/Grand_Turk'); t('America/Grenada'); t('America/Guadeloupe'); t('America/Guatemala'); t('America/Guayaquil'); t('America/Guyana'); t('America/Halifax'); t('America/Havana'); t('America/Hermosillo'); t('America/Indiana/Indianapolis'); t('America/Indiana/Knox'); t('America/Indiana/Marengo'); t('America/Indiana/Vevay'); t('America/Indianapolis'); t('America/Inuvik'); t('America/Iqaluit'); t('America/Jamaica'); t('America/Jujuy'); t('America/Juneau'); t('America/Kentucky/Louisville'); t('America/Kentucky/Monticello'); t('America/Knox_IN'); t('America/La_Paz'); t('America/Lima'); t('America/Los_Angeles'); t('America/Louisville'); t('America/Maceio'); t('America/Managua'); t('America/Manaus'); t('America/Martinique'); t('America/Mazatlan'); t('America/Mendoza'); t('America/Menominee'); t('America/Merida'); t('America/Mexico_City'); t('America/Miquelon'); t('America/Monterrey'); t('America/Montevideo'); t('America/Montreal'); t('America/Montserrat'); t('America/Nassau'); t('America/New_York'); t('America/Nipigon'); t('America/Nome'); t('America/Noronha'); t('America/Panama'); t('America/Pangnirtung'); t('America/Paramaribo'); t('America/Phoenix'); t('America/Port-au-Prince'); t('America/Port_of_Spain'); t('America/Porto_Acre'); t('America/Porto_Velho'); t('America/Puerto_Rico'); t('America/Rainy_River'); t('America/Rankin_Inlet'); t('America/Recife'); t('America/Regina'); t('America/Rio_Branco'); t('America/Rosario'); t('America/Santiago'); t('America/Santo_Domingo'); t('America/Sao_Paulo'); t('America/Scoresbysund'); t('America/Shiprock'); t('America/St_Johns'); t('America/St_Kitts'); t('America/St_Lucia'); t('America/St_Thomas'); t('America/St_Vincent'); t('America/Swift_Current'); t('America/Tegucigalpa'); t('America/Thule'); t('America/Thunder_Bay'); t('America/Tijuana'); t('America/Tortola'); t('America/Vancouver'); t('America/Virgin'); t('America/Whitehorse'); t('America/Winnipeg'); t('America/Yakutat'); t('America/Yellowknife'); t('Antarctica/Casey'); t('Antarctica/Davis'); t('Antarctica/DumontDUrville'); t('Antarctica/Mawson'); t('Antarctica/McMurdo'); t('Antarctica/Palmer'); t('Antarctica/South_Pole'); t('Antarctica/Syowa'); t('Antarctica/Vostok'); t('Arctic/Longyearbyen'); t('Asia/Aden'); t('Asia/Almaty'); t('Asia/Amman'); t('Asia/Anadyr'); t('Asia/Aqtau'); t('Asia/Aqtobe'); t('Asia/Ashgabat'); t('Asia/Ashkhabad'); t('Asia/Baghdad'); t('Asia/Bahrain'); t('Asia/Baku'); t('Asia/Bangkok'); t('Asia/Beirut'); t('Asia/Bishkek'); t('Asia/Brunei'); t('Asia/Calcutta'); t('Asia/Chungking'); t('Asia/Colombo'); t('Asia/Dacca'); t('Asia/Damascus'); t('Asia/Dhaka'); t('Asia/Dili'); t('Asia/Dubai'); t('Asia/Dushanbe'); t('Asia/Gaza'); t('Asia/Harbin'); t('Asia/Hong_Kong'); t('Asia/Hovd'); t('Asia/Irkutsk'); t('Asia/Istanbul'); t('Asia/Jakarta'); t('Asia/Jayapura'); t('Asia/Jerusalem'); t('Asia/Kabul'); t('Asia/Kamchatka'); t('Asia/Karachi'); t('Asia/Kashgar'); t('Asia/Katmandu'); t('Asia/Krasnoyarsk'); t('Asia/Kuala_Lumpur'); t('Asia/Kuching'); t('Asia/Kuwait'); t('Asia/Macao'); t('Asia/Magadan'); t('Asia/Manila'); t('Asia/Muscat'); t('Asia/Nicosia'); t('Asia/Novosibirsk'); t('Asia/Omsk'); t('Asia/Phnom_Penh'); t('Asia/Pyongyang'); t('Asia/Qatar'); t('Asia/Rangoon'); t('Asia/Riyadh'); t('Asia/Riyadh87'); t('Asia/Riyadh88'); t('Asia/Riyadh89'); t('Asia/Saigon'); t('Asia/Samarkand'); t('Asia/Seoul'); t('Asia/Shanghai'); t('Asia/Singapore'); t('Asia/Taipei'); t('Asia/Tashkent'); t('Asia/Tbilisi'); t('Asia/Tehran'); t('Asia/Tel_Aviv'); t('Asia/Thimbu'); t('Asia/Thimphu'); t('Asia/Tokyo'); t('Asia/Ujung_Pandang'); t('Asia/Ulaanbaatar'); t('Asia/Ulan_Bator'); t('Asia/Urumqi'); t('Asia/Vientiane'); t('Asia/Vladivostok'); t('Asia/Yakutsk'); t('Asia/Yekaterinburg'); t('Asia/Yerevan'); t('Atlantic/Azores'); t('Atlantic/Bermuda'); t('Atlantic/Canary'); t('Atlantic/Cape_Verde'); t('Atlantic/Faeroe'); t('Atlantic/Jan_Mayen'); t('Atlantic/Madeira'); t('Atlantic/South_Georgia'); t('Atlantic/Stanley'); t('Australia/ACT'); t('Australia/Adelaide'); t('Australia/Brisbane'); t('Australia/Broken_Hill'); t('Australia/Canberra'); t('Australia/Darwin'); t('Australia/Hobart'); t('Australia/LHI'); t('Australia/Lindeman'); t('Australia/Lord_Howe'); t('Australia/Melbourne'); t('Australia/NSW'); t('Australia/North'); t('Australia/Perth'); t('Australia/Queensland'); t('Australia/South'); t('Australia/Sydney'); t('Australia/Tasmania'); t('Australia/Victoria'); t('Australia/West'); t('Australia/Yancowinna'); t('Europe/Amsterdam'); t('Europe/Andorra'); t('Europe/Athens'); t('Europe/Belfast'); t('Europe/Belgrade'); t('Europe/Berlin'); t('Europe/Bratislava'); t('Europe/Brussels'); t('Europe/Bucharest'); t('Europe/Budapest'); t('Europe/Chisinau'); t('Europe/Copenhagen'); t('Europe/Dublin'); t('Europe/Gibraltar'); t('Europe/Helsinki'); t('Europe/Istanbul'); t('Europe/Kaliningrad'); t('Europe/Kiev'); t('Europe/Lisbon'); t('Europe/Ljubljana'); t('Europe/London'); t('Europe/Luxembourg'); t('Europe/Madrid'); t('Europe/Malta'); t('Europe/Minsk'); t('Europe/Monaco'); t('Europe/Moscow'); t('Europe/Nicosia'); t('Europe/Oslo'); t('Europe/Paris'); t('Europe/Prague'); t('Europe/Riga'); t('Europe/Rome'); t('Europe/Samara'); t('Europe/San_Marino'); t('Europe/Sarajevo'); t('Europe/Simferopol'); t('Europe/Skopje'); t('Europe/Sofia'); t('Europe/Stockholm'); t('Europe/Tallinn'); t('Europe/Tirane'); t('Europe/Tiraspol'); t('Europe/Uzhgorod'); t('Europe/Vaduz'); t('Europe/Vatican'); t('Europe/Vienna'); t('Europe/Vilnius'); t('Europe/Warsaw'); t('Europe/Zagreb'); t('Europe/Zaporozhye'); t('Europe/Zurich'); t('Indian/Antananarivo'); t('Indian/Chagos'); t('Indian/Christmas'); t('Indian/Cocos'); t('Indian/Comoro'); t('Indian/Kerguelen'); t('Indian/Mahe'); t('Indian/Maldives'); t('Indian/Mauritius'); t('Indian/Mayotte'); t('Indian/Reunion'); t('Pacific/Apia'); t('Pacific/Auckland'); t('Pacific/Chatham'); t('Pacific/Easter'); t('Pacific/Efate'); t('Pacific/Enderbury'); t('Pacific/Fakaofo'); t('Pacific/Fiji'); t('Pacific/Funafuti'); t('Pacific/Galapagos'); t('Pacific/Gambier'); t('Pacific/Guadalcanal'); t('Pacific/Guam'); t('Pacific/Honolulu'); t('Pacific/Johnston'); t('Pacific/Kiritimati'); t('Pacific/Kosrae'); t('Pacific/Kwajalein'); t('Pacific/Majuro'); t('Pacific/Marquesas'); t('Pacific/Midway'); t('Pacific/Nauru'); t('Pacific/Niue'); t('Pacific/Norfolk'); t('Pacific/Noumea'); t('Pacific/Pago_Pago'); t('Pacific/Palau'); t('Pacific/Pitcairn'); t('Pacific/Ponape'); t('Pacific/Port_Moresby'); t('Pacific/Rarotonga'); t('Pacific/Saipan'); t('Pacific/Samoa'); t('Pacific/Tahiti'); t('Pacific/Tarawa'); t('Pacific/Tongatapu'); t('Pacific/Truk'); t('Pacific/Wake'); t('Pacific/Wallis'); t('Pacific/Yap'); t('Pacific/French_Polynesia-Marquesas_Islands'); t('UTC'); }