File indexing completed on 2024-12-22 05:36:34
0001 <?php 0002 /** 0003 * Zend Framework 0004 * 0005 * LICENSE 0006 * 0007 * This source file is subject to the new BSD license that is bundled 0008 * with this package in the file LICENSE.txt. 0009 * It is also available through the world-wide-web at this URL: 0010 * http://framework.zend.com/license/new-bsd 0011 * If you did not receive a copy of the license and are unable to 0012 * obtain it through the world-wide-web, please send an email 0013 * to license@zend.com so we can send you a copy immediately. 0014 * 0015 * @category Zend 0016 * @package Zend_Date 0017 * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com) 0018 * @license http://framework.zend.com/license/new-bsd New BSD License 0019 * @version $Id$ 0020 */ 0021 0022 /** 0023 * Additional data for sunset/sunrise calculations 0024 * 0025 * Holds the geographical data for all capital cities and many others worldwide 0026 * Original data from http://www.fallingrain.com/world/ 0027 * 0028 * @category Zend 0029 * @package Zend_Date 0030 * @subpackage Zend_Date_Cities 0031 * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com) 0032 * @license http://framework.zend.com/license/new-bsd New BSD License 0033 */ 0034 class Zend_Date_Cities 0035 { 0036 /** 0037 * Array Collection of known cities 0038 * 0039 * The array contains 'latitude' and 'longitude' for every known city 0040 * 0041 * @var Array 0042 */ 0043 public static $cities = array( 0044 'Abidjan' => array('latitude' => 5.3411111, 'longitude' => -4.0280556), 0045 'Abu Dhabi' => array('latitude' => 24.4666667, 'longitude' => 54.3666667), 0046 'Abuja' => array('latitude' => 9.1758333, 'longitude' => 7.1808333), 0047 'Accra' => array('latitude' => 5.55, 'longitude' => -0.2166667), 0048 'Adamstown' => array('latitude' => -25.0666667, 'longitude' => -130.0833333), 0049 'Addis Ababa' => array('latitude' => 9.0333333, 'longitude' => 38.7), 0050 'Adelaide' => array('latitude' => -34.9333333, 'longitude' => 138.6), 0051 'Algiers' => array('latitude' => 36.7630556, 'longitude' => 3.0505556), 0052 'Alofi' => array('latitude' => -19.0166667, 'longitude' => -169.9166667), 0053 'Amman' => array('latitude' => 31.95, 'longitude' => 35.9333333), 0054 'Amsterdam' => array('latitude' => 52.35, 'longitude' => 4.9166667), 0055 'Andorra la Vella' => array('latitude' => 42.5, 'longitude' => 1.5166667), 0056 'Ankara' => array('latitude' => 39.9272222, 'longitude' => 32.8644444), 0057 'Antananarivo' => array('latitude' => -18.9166667, 'longitude' => 47.5166667), 0058 'Apia' => array('latitude' => -13.8333333, 'longitude' => -171.7333333), 0059 'Ashgabat' => array('latitude' => 37.95, 'longitude' => 58.3833333), 0060 'Asmara' => array('latitude' => 15.3333333, 'longitude' => 38.9333333), 0061 'Astana' => array('latitude' => 51.1811111, 'longitude' => 71.4277778), 0062 'Asunción' => array('latitude' => -25.2666667, 'longitude' => -57.6666667), 0063 'Athens' => array('latitude' => 37.9833333, 'longitude' => 23.7333333), 0064 'Auckland' => array('latitude' => -36.8666667, 'longitude' => 174.7666667), 0065 'Avarua' => array('latitude' => -21.2, 'longitude' => -159.7666667), 0066 'Baghdad' => array('latitude' => 33.3386111, 'longitude' => 44.3938889), 0067 'Baku' => array('latitude' => 40.3952778, 'longitude' => 49.8822222), 0068 'Bamako' => array('latitude' => 12.65, 'longitude' => -8), 0069 'Bandar Seri Begawan' => array('latitude' => 4.8833333, 'longitude' => 114.9333333), 0070 'Bankok' => array('latitude' => 13.5833333, 'longitude' => 100.2166667), 0071 'Bangui' => array('latitude' => 4.3666667, 'longitude' => 18.5833333), 0072 'Banjul' => array('latitude' => 13.4530556, 'longitude' => -16.5775), 0073 'Basel' => array('latitude' => 47.5666667, 'longitude' => 7.6), 0074 'Basseterre' => array('latitude' => 17.3, 'longitude' => -62.7166667), 0075 'Beijing' => array('latitude' => 39.9288889, 'longitude' => 116.3883333), 0076 'Beirut' => array('latitude' => 33.8719444, 'longitude' => 35.5097222), 0077 'Belgrade' => array('latitude' => 44.8186111, 'longitude' => 20.4680556), 0078 'Belmopan' => array('latitude' => 17.25, 'longitude' => -88.7666667), 0079 'Berlin' => array('latitude' => 52.5166667, 'longitude' => 13.4), 0080 'Bern' => array('latitude' => 46.9166667, 'longitude' => 7.4666667), 0081 'Bishkek' => array('latitude' => 42.8730556, 'longitude' => 74.6002778), 0082 'Bissau' => array('latitude' => 11.85, 'longitude' => -15.5833333), 0083 'Bloemfontein' => array('latitude' => -29.1333333, 'longitude' => 26.2), 0084 'Bogotá' => array('latitude' => 4.6, 'longitude' => -74.0833333), 0085 'Brasilia' => array('latitude' => -15.7833333, 'longitude' => -47.9166667), 0086 'Bratislava' => array('latitude' => 48.15, 'longitude' => 17.1166667), 0087 'Brazzaville' => array('latitude' => -4.2591667, 'longitude' => 15.2847222), 0088 'Bridgetown' => array('latitude' => 13.1, 'longitude' => -59.6166667), 0089 'Brisbane' => array('latitude' => -27.5, 'longitude' => 153.0166667), 0090 'Brussels' => array('latitude' => 50.8333333, 'longitude' => 4.3333333), 0091 'Bucharest' => array('latitude' => 44.4333333, 'longitude' => 26.1), 0092 'Budapest' => array('latitude' => 47.5, 'longitude' => 19.0833333), 0093 'Buenos Aires' => array('latitude' => -34.5875, 'longitude' => -58.6725), 0094 'Bujumbura' => array('latitude' => -3.3761111, 'longitude' => 29.36), 0095 'Cairo' => array('latitude' => 30.05, 'longitude' => 31.25), 0096 'Calgary' => array('latitude' => 51.0833333, 'longitude' => -114.0833333), 0097 'Canberra' => array('latitude' => -35.2833333, 'longitude' => 149.2166667), 0098 'Cape Town' => array('latitude' => -33.9166667, 'longitude' => 18.4166667), 0099 'Caracas' => array('latitude' => 10.5, 'longitude' => -66.9166667), 0100 'Castries' => array('latitude' => 14, 'longitude' => -61), 0101 'Charlotte Amalie' => array('latitude' => 18.34389, 'longitude' => -64.93111), 0102 'Chicago' => array('latitude' => 41.85, 'longitude' => -87.65), 0103 'Chisinau' => array('latitude' => 47.055556, 'longitude' => 28.8575), 0104 'Cockburn Town' => array('latitude' => 21.4666667, 'longitude' => -71.1333333), 0105 'Colombo' => array('latitude' => 6.9319444, 'longitude' => 79.8477778), 0106 'Conakry' => array('latitude' => 9.5091667, 'longitude' => -13.7122222), 0107 'Copenhagen' => array('latitude' => 55.6666667, 'longitude' => 12.5833333), 0108 'Cotonou' => array('latitude' => 6.35, 'longitude' => 2.4333333), 0109 'Dakar' => array('latitude' => 14.6708333, 'longitude' => -17.4380556), 0110 'Damascus' => array('latitude' => 33.5, 'longitude' => 36.3), 0111 'Dar es Salaam' => array('latitude' => -6.8, 'longitude' => 39.2833333), 0112 'Dhaka' => array('latitude' => 23.7230556, 'longitude' => 90.4086111), 0113 'Dili' => array('latitude' => -8.5586111, 'longitude' => 125.5736111), 0114 'Djibouti' => array('latitude' => 11.595, 'longitude' => 43.1480556), 0115 'Dodoma' => array('latitude' => -6.1833333, 'longitude' => 35.75), 0116 'Doha' => array('latitude' => 25.2866667, 'longitude' => 51.5333333), 0117 'Dubai' => array('latitude' => 25.2522222, 'longitude' => 55.28), 0118 'Dublin' => array('latitude' => 53.3330556, 'longitude' => -6.2488889), 0119 'Dushanbe' => array('latitude' => 38.56, 'longitude' => 68.7738889 ), 0120 'Fagatogo' => array('latitude' => -14.2825, 'longitude' => -170.69), 0121 'Fongafale' => array('latitude' => -8.5166667, 'longitude' => 179.2166667), 0122 'Freetown' => array('latitude' => 8.49, 'longitude' => -13.2341667), 0123 'Gaborone' => array('latitude' => -24.6463889, 'longitude' => 25.9119444), 0124 'Geneva' => array('latitude' => 46.2, 'longitude' => 6.1666667), 0125 'George Town' => array('latitude' => 19.3, 'longitude' => -81.3833333), 0126 'Georgetown' => array('latitude' => 6.8, 'longitude' => -58.1666667), 0127 'Gibraltar' => array('latitude' => 36.1333333, 'longitude' => -5.35), 0128 'Glasgow' => array('latitude' => 55.8333333, 'longitude' => -4.25), 0129 'Guatemala la Nueva' => array('latitude' => 14.6211111, 'longitude' => -90.5269444), 0130 'Hagatna' => array('latitude' => 13.47417, 'longitude' => 144.74778), 0131 'The Hague' => array('latitude' => 52.0833333, 'longitude' => 4.3), 0132 'Hamilton' => array('latitude' => 32.2941667, 'longitude' => -64.7838889), 0133 'Hanoi' => array('latitude' => 21.0333333, 'longitude' => 105.85), 0134 'Harare' => array('latitude' => -17.8177778, 'longitude' => 31.0447222), 0135 'Havana' => array('latitude' => 23.1319444, 'longitude' => -82.3641667), 0136 'Helsinki' => array('latitude' => 60.1755556, 'longitude' => 24.9341667), 0137 'Honiara' => array('latitude' => -9.4333333, 'longitude' => 159.95), 0138 'Islamabad' => array('latitude' => 30.8486111, 'longitude' => 72.4944444), 0139 'Istanbul' => array('latitude' => 41.0186111, 'longitude' => 28.9647222), 0140 'Jakarta' => array('latitude' => -6.1744444, 'longitude' => 106.8294444), 0141 'Jamestown' => array('latitude' => -15.9333333, 'longitude' => -5.7166667), 0142 'Jerusalem' => array('latitude' => 31.7666667, 'longitude' => 35.2333333), 0143 'Johannesburg' => array('latitude' => -26.2, 'longitude' => 28.0833333), 0144 'Kabul' => array('latitude' => 34.5166667, 'longitude' => 69.1833333), 0145 'Kampala' => array('latitude' => 0.3155556, 'longitude' => 32.5655556), 0146 'Kathmandu' => array('latitude' => 27.7166667, 'longitude' => 85.3166667), 0147 'Khartoum' => array('latitude' => 15.5880556, 'longitude' => 32.5341667), 0148 'Kigali' => array('latitude' => -1.9536111, 'longitude' => 30.0605556), 0149 'Kingston' => array('latitude' => -29.05, 'longitude' => 167.95), 0150 'Kingstown' => array('latitude' => 13.1333333, 'longitude' => -61.2166667), 0151 'Kinshasa' => array('latitude' => -4.3, 'longitude' => 15.3), 0152 'Kolkata' => array('latitude' => 22.5697222, 'longitude' => 88.3697222), 0153 'Kuala Lumpur' => array('latitude' => 3.1666667, 'longitude' => 101.7), 0154 'Kuwait City' => array('latitude' => 29.3697222, 'longitude' => 47.9783333), 0155 'Kiev' => array('latitude' => 50.4333333, 'longitude' => 30.5166667), 0156 'La Paz' => array('latitude' => -16.5, 'longitude' => -68.15), 0157 'Libreville' => array('latitude' => 0.3833333, 'longitude' => 9.45), 0158 'Lilongwe' => array('latitude' => -13.9833333, 'longitude' => 33.7833333), 0159 'Lima' => array('latitude' => -12.05, 'longitude' => -77.05), 0160 'Lisbon' => array('latitude' => 38.7166667, 'longitude' => -9.1333333), 0161 'Ljubljana' => array('latitude' => 46.0552778, 'longitude' => 14.5144444), 0162 'Lobamba' => array('latitude' => -26.4666667, 'longitude' => 31.2), 0163 'Lomé' => array('latitude' => 9.7166667, 'longitude' => 38.3), 0164 'London' => array('latitude' => 51.5, 'longitude' => -0.1166667), 0165 'Los Angeles' => array('latitude' => 34.05222, 'longitude' => -118.24278), 0166 'Luanda' => array('latitude' => -8.8383333, 'longitude' => 13.2344444), 0167 'Lusaka' => array('latitude' => -15.4166667, 'longitude' => 28.2833333), 0168 'Luxembourg' => array('latitude' => 49.6116667, 'longitude' => 6.13), 0169 'Madrid' => array('latitude' => 40.4, 'longitude' => -3.6833333), 0170 'Majuro' => array('latitude' => 7.1, 'longitude' => 171.3833333), 0171 'Malabo' => array('latitude' => 3.75, 'longitude' => 8.7833333), 0172 'Managua' => array('latitude' => 12.1508333, 'longitude' => -86.2683333), 0173 'Manama' => array('latitude' => 26.2361111, 'longitude' => 50.5830556), 0174 'Manila' => array('latitude' => 14.6041667, 'longitude' => 120.9822222), 0175 'Maputo' => array('latitude' => -25.9652778, 'longitude' => 32.5891667), 0176 'Maseru' => array('latitude' => -29.3166667, 'longitude' => 27.4833333), 0177 'Mbabane' => array('latitude' => -26.3166667, 'longitude' => 31.1333333), 0178 'Melbourne' => array('latitude' => -37.8166667, 'longitude' => 144.9666667), 0179 'Melekeok' => array('latitude' => 7.4933333, 'longitude' => 134.6341667), 0180 'Mexiko City' => array('latitude' => 19.4341667, 'longitude' => -99.1386111), 0181 'Minsk' => array('latitude' => 53.9, 'longitude' => 27.5666667), 0182 'Mogadishu' => array('latitude' => 2.0666667, 'longitude' => 45.3666667), 0183 'Monaco' => array('latitude' => 43.7333333, 'longitude' => 7.4166667), 0184 'Monrovia' => array('latitude' => 6.3105556, 'longitude' => -10.8047222), 0185 'Montevideo' => array('latitude' => -34.8580556, 'longitude' => -56.1708333), 0186 'Montreal' => array('latitude' => 45.5, 'longitude' => -73.5833333), 0187 'Moroni' => array('latitude' => -11.7041667, 'longitude' => 43.2402778), 0188 'Moscow' => array('latitude' => 55.7522222, 'longitude' => 37.6155556), 0189 'Muscat' => array('latitude' => 23.6133333, 'longitude' => 58.5933333), 0190 'Nairobi' => array('latitude' => -1.3166667, 'longitude' => 36.8333333), 0191 'Nassau' => array('latitude' => 25.0833333, 'longitude' => -77.35), 0192 'N´Djamena' => array('latitude' => 12.1130556, 'longitude' => 15.0491667), 0193 'New Dehli' => array('latitude' => 28.6, 'longitude' => 77.2), 0194 'New York' => array('latitude' => 40.71417, 'longitude' => -74.00639), 0195 'Newcastle' => array('latitude' => -32.9166667, 'longitude' => 151.75), 0196 'Niamey' => array('latitude' => 13.6666667, 'longitude' => 1.7833333), 0197 'Nicosia' => array('latitude' => 35.1666667, 'longitude' => 33.3666667), 0198 'Nouakchott' => array('latitude' => 18.0863889, 'longitude' => -15.9752778), 0199 'Noumea' => array('latitude' => -22.2666667, 'longitude' => 166.45), 0200 'Nuku´alofa' => array('latitude' => -21.1333333, 'longitude' => -175.2), 0201 'Nuuk' => array('latitude' => 64.1833333, 'longitude' => -51.75), 0202 'Oranjestad' => array('latitude' => 12.5166667, 'longitude' => -70.0333333), 0203 'Oslo' => array('latitude' => 59.9166667, 'longitude' => 10.75), 0204 'Ouagadougou' => array('latitude' => 12.3702778, 'longitude' => -1.5247222), 0205 'Palikir' => array('latitude' => 6.9166667, 'longitude' => 158.15), 0206 'Panama City' => array('latitude' => 8.9666667, 'longitude' => -79.5333333), 0207 'Papeete' => array('latitude' => -17.5333333, 'longitude' => -149.5666667), 0208 'Paramaribo' => array('latitude' => 5.8333333, 'longitude' => -55.1666667), 0209 'Paris' => array('latitude' => 48.8666667, 'longitude' => 2.3333333), 0210 'Perth' => array('latitude' => -31.9333333, 'longitude' => 115.8333333), 0211 'Phnom Penh' => array('latitude' => 11.55, 'longitude' => 104.9166667), 0212 'Podgorica' => array('latitude' => 43.7752778, 'longitude' => 19.6827778), 0213 'Port Louis' => array('latitude' => -20.1666667, 'longitude' => 57.5), 0214 'Port Moresby' => array('latitude' => -9.4647222, 'longitude' => 147.1925), 0215 'Port-au-Prince' => array('latitude' => 18.5391667, 'longitude' => -72.335), 0216 'Port of Spain' => array('latitude' => 10.6666667, 'longitude' => -61.5), 0217 'Porto-Novo' => array('latitude' => 6.4833333, 'longitude' => 2.6166667), 0218 'Prague' => array('latitude' => 50.0833333, 'longitude' => 14.4666667), 0219 'Praia' => array('latitude' => 14.9166667, 'longitude' => -23.5166667), 0220 'Pretoria' => array('latitude' => -25.7069444, 'longitude' => 28.2294444), 0221 'Pyongyang' => array('latitude' => 39.0194444, 'longitude' => 125.7547222), 0222 'Quito' => array('latitude' => -0.2166667, 'longitude' => -78.5), 0223 'Rabat' => array('latitude' => 34.0252778, 'longitude' => -6.8361111), 0224 'Reykjavik' => array('latitude' => 64.15, 'longitude' => -21.95), 0225 'Riga' => array('latitude' => 56.95, 'longitude' => 24.1), 0226 'Rio de Janero' => array('latitude' => -22.9, 'longitude' => -43.2333333), 0227 'Road Town' => array('latitude' => 18.4166667, 'longitude' => -64.6166667), 0228 'Rome' => array('latitude' => 41.9, 'longitude' => 12.4833333), 0229 'Roseau' => array('latitude' => 15.3, 'longitude' => -61.4), 0230 'Rotterdam' => array('latitude' => 51.9166667, 'longitude' => 4.5), 0231 'Salvador' => array('latitude' => -12.9833333, 'longitude' => -38.5166667), 0232 'San José' => array('latitude' => 9.9333333, 'longitude' => -84.0833333), 0233 'San Juan' => array('latitude' => 18.46833, 'longitude' => -66.10611), 0234 'San Marino' => array('latitude' => 43.5333333, 'longitude' => 12.9666667), 0235 'San Salvador' => array('latitude' => 13.7086111, 'longitude' => -89.2030556), 0236 'Sanaá' => array('latitude' => 15.3547222, 'longitude' => 44.2066667), 0237 'Santa Cruz' => array('latitude' => -17.8, 'longitude' => -63.1666667), 0238 'Santiago' => array('latitude' => -33.45, 'longitude' => -70.6666667), 0239 'Santo Domingo' => array('latitude' => 18.4666667, 'longitude' => -69.9), 0240 'Sao Paulo' => array('latitude' => -23.5333333, 'longitude' => -46.6166667), 0241 'Sarajevo' => array('latitude' => 43.85, 'longitude' => 18.3833333), 0242 'Seoul' => array('latitude' => 37.5663889, 'longitude' => 126.9997222), 0243 'Shanghai' => array('latitude' => 31.2222222, 'longitude' => 121.4580556), 0244 'Sydney' => array('latitude' => -33.8833333, 'longitude' => 151.2166667), 0245 'Singapore' => array('latitude' => 1.2930556, 'longitude' => 103.8558333), 0246 'Skopje' => array('latitude' => 42, 'longitude' => 21.4333333), 0247 'Sofia' => array('latitude' => 42.6833333, 'longitude' => 23.3166667), 0248 'St. George´s' => array('latitude' => 12.05, 'longitude' => -61.75), 0249 'St. John´s' => array('latitude' => 17.1166667, 'longitude' => -61.85), 0250 'Stanley' => array('latitude' => -51.7, 'longitude' => -57.85), 0251 'Stockholm' => array('latitude' => 59.3333333, 'longitude' => 18.05), 0252 'Suva' => array('latitude' => -18.1333333, 'longitude' => 178.4166667), 0253 'Taipei' => array('latitude' => 25.0166667, 'longitude' => 121.45), 0254 'Tallinn' => array('latitude' => 59.4338889, 'longitude' => 24.7280556), 0255 'Tashkent' => array('latitude' => 41.3166667, 'longitude' => 69.25), 0256 'Tbilisi' => array('latitude' => 41.725, 'longitude' => 44.7908333), 0257 'Tegucigalpa' => array('latitude' => 14.1, 'longitude' => -87.2166667), 0258 'Tehran' => array('latitude' => 35.6719444, 'longitude' => 51.4244444), 0259 'The Hague' => array('latitude' => 52.0833333, 'longitude' => 4.3), 0260 'Thimphu' => array('latitude' => 27.4833333, 'longitude' => 89.6), 0261 'Tirana' => array('latitude' => 41.3275, 'longitude' => 19.8188889), 0262 'Tiraspol' => array('latitude' => 46.8402778, 'longitude' => 29.6433333), 0263 'Tokyo' => array('latitude' => 35.685, 'longitude' => 139.7513889), 0264 'Toronto' => array('latitude' => 43.6666667, 'longitude' => -79.4166667), 0265 'Tórshavn' => array('latitude' => 62.0166667, 'longitude' => -6.7666667), 0266 'Tripoli' => array('latitude' => 32.8925, 'longitude' => 13.18), 0267 'Tunis' => array('latitude' => 36.8027778, 'longitude' => 10.1797222), 0268 'Ulaanbaatar' => array('latitude' => 47.9166667, 'longitude' => 106.9166667), 0269 'Vaduz' => array('latitude' => 47.1333333, 'longitude' => 9.5166667), 0270 'Valletta' => array('latitude' => 35.8997222, 'longitude' => 14.5147222), 0271 'Valparaiso' => array('latitude' => -33.0477778, 'longitude' => -71.6011111), 0272 'Vancouver' => array('latitude' => 49.25, 'longitude' => -123.1333333), 0273 'Vatican City' => array('latitude' => 41.9, 'longitude' => 12.4833333), 0274 'Victoria' => array('latitude' => -4.6166667, 'longitude' => 55.45), 0275 'Vienna' => array('latitude' => 48.2, 'longitude' => 16.3666667), 0276 'Vientaine' => array('latitude' => 17.9666667, 'longitude' => 102.6), 0277 'Vilnius' => array('latitude' => 54.6833333, 'longitude' => 25.3166667), 0278 'Warsaw' => array('latitude' => 52.25, 'longitude' => 21), 0279 'Washington dc' => array('latitude' => 38.895, 'longitude' => -77.03667), 0280 'Wellington' => array('latitude' => -41.3, 'longitude' => 174.7833333), 0281 'Willemstad' => array('latitude' => 12.1, 'longitude' => -68.9166667), 0282 'Windhoek' => array('latitude' => -22.57, 'longitude' => 17.0836111), 0283 'Yamoussoukro' => array('latitude' => 6.8166667, 'longitude' => -5.2833333), 0284 'Yaoundé' => array('latitude' => 3.8666667, 'longitude' => 11.5166667), 0285 'Yerevan' => array('latitude' => 40.1811111, 'longitude' => 44.5136111), 0286 'Zürich' => array('latitude' => 47.3666667, 'longitude' => 8.55), 0287 'Zagreb' => array('latitude' => 45.8, 'longitude' => 16) 0288 ); 0289 0290 /** 0291 * Returns the location from the selected city 0292 * 0293 * @param string $city City to get location for 0294 * @param string $horizon Horizon to use : 0295 * default: effective 0296 * others are civil, nautic, astronomic 0297 * @return array 0298 * @throws Zend_Date_Exception When city is unknown 0299 */ 0300 public static function City($city, $horizon = false) 0301 { 0302 foreach (self::$cities as $key => $value) { 0303 if (strtolower($key) === strtolower($city)) { 0304 $return = $value; 0305 $return['horizon'] = $horizon; 0306 return $return; 0307 } 0308 } 0309 // require_once 'Zend/Date/Exception.php'; 0310 throw new Zend_Date_Exception('unknown city'); 0311 } 0312 0313 /** 0314 * Return a list with all known cities 0315 * 0316 * @return array 0317 */ 0318 public static function getCityList() 0319 { 0320 return array_keys(self::$cities); 0321 } 0322 }