Subversion-Projekte lars-tiefland.php_share

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
1 lars 1
<?php
2
/* vim: set expandtab tabstop=4 shiftwidth=4: */
3
// +----------------------------------------------------------------------+
4
// | PHP version 4.0                                                      |
5
// +----------------------------------------------------------------------+
6
// | Copyright (c) 1997, 1998, 1999, 2000, 2001, 2002, 2003 The PHP Group       |
7
// +----------------------------------------------------------------------+
8
// | This source file is subject to version 2.0 of the PHP license,       |
9
// | that is bundled with this package in the file LICENSE, and is        |
10
// | available at through the world-wide-web at                           |
11
// | http://www.php.net/license/2_02.txt.                                 |
12
// | If you did not receive a copy of the PHP license and are unable to   |
13
// | obtain it through the world-wide-web, please send a note to          |
14
// | license@php.net so we can mail you a copy immediately.               |
15
// +----------------------------------------------------------------------+
16
// | Authors: Naoki Shima <murahachibu@php.net>                           |
17
// |                                                                      |
18
// +----------------------------------------------------------------------+//
19
// $Id: Country.php 110339 2003-01-04 11:55:29Z mj $
20
 
21
require_once('I18N/Common.php');
22
 
23
class I18N_Country extends I18N_Common {
24
 
25
    // {{ constructor
26
 
27
    /**
28
     * Save list of ISO-3166 two letter country code to country name mapping to its initiating object
29
     *
30
     * @return: void
31
     * @access: public
32
     */
33
    function I18N_Country()
34
    {
35
    // call constructor of parent class
36
        parent::_constructor();
37
 
38
        /**
39
         * List of ISO-3166
40
         * Two letter code to Country name mapping.
41
         * @type  : array
42
         * @access: private
43
         */
44
        $this->_codes = array(
45
            'AF' => 'AFGHANISTAN',
46
            'AL' => 'ALBANIA',
47
            'DZ' => 'ALGERIA',
48
            'AS' => 'AMERICAN SAMOA',
49
            'AD' => 'ANDORRA',
50
            'AO' => 'ANGOLA',
51
            'AI' => 'ANGUILLA',
52
            'AQ' => 'ANTARCTICA',
53
            'AG' => 'ANTIGUA AND BARBUDA',
54
            'AR' => 'ARGENTINA',
55
            'AM' => 'ARMENIA',
56
            'AW' => 'ARUBA',
57
            'AU' => 'AUSTRALIA',
58
            'AT' => 'AUSTRIA',
59
            'AZ' => 'AZERBAIJAN',
60
            'BS' => 'BAHAMAS',
61
            'BH' => 'BAHRAIN',
62
            'BD' => 'BANGLADESH',
63
            'BB' => 'BARBADOS',
64
            'BY' => 'BELARUS',
65
            'BE' => 'BELGIUM',
66
            'BZ' => 'BELIZE',
67
            'BJ' => 'BENIN',
68
            'BM' => 'BERMUDA',
69
            'BT' => 'BHUTAN',
70
            'BO' => 'BOLIVIA',
71
            'BA' => 'BOSNIA AND HERZEGOWINA',
72
            'BW' => 'BOTSWANA',
73
            'BV' => 'BOUVET ISLAND',
74
            'BR' => 'BRAZIL',
75
            'IO' => 'BRITISH INDIAN OCEAN TERRITORY',
76
            'BN' => 'BRUNEI DARUSSALAM',
77
            'BG' => 'BULGARIA',
78
            'BF' => 'BURKINA FASO',
79
            'BI' => 'BURUNDI',
80
            'KH' => 'CAMBODIA',
81
            'CM' => 'CAMEROON',
82
            'CA' => 'CANADA',
83
            'CV' => 'CAPE VERDE',
84
            'KY' => 'CAYMAN ISLANDS',
85
            'CF' => 'CENTRAL AFRICAN REPUBLIC',
86
            'TD' => 'CHAD',
87
            'CL' => 'CHILE',
88
            'CN' => 'CHINA',
89
            'CX' => 'CHRISTMAS ISLAND',
90
            'CC' => 'COCOS (KEELING) ISLANDS',
91
            'CO' => 'COLOMBIA',
92
            'KM' => 'COMOROS',
93
            'CG' => 'CONGO',
94
            'CD' => 'CONGO, THE DEMOCRATIC REPUBLIC OF THE',
95
            'CK' => 'COOK ISLANDS',
96
            'CR' => 'COSTA RICA',
97
            'CI' => 'COTE D\'IVOIRE',
98
            'HR' => 'CROATIA (local name: Hrvatska)',
99
            'CU' => 'CUBA',
100
            'CY' => 'CYPRUS',
101
            'CZ' => 'CZECH REPUBLIC',
102
            'DK' => 'DENMARK',
103
            'DJ' => 'DJIBOUTI',
104
            'DM' => 'DOMINICA',
105
            'DO' => 'DOMINICAN REPUBLIC',
106
            'TP' => 'EAST TIMOR',
107
            'EC' => 'ECUADOR',
108
            'EG' => 'EGYPT',
109
            'SV' => 'EL SALVADOR',
110
            'GQ' => 'EQUATORIAL GUINEA',
111
            'ER' => 'ERITREA',
112
            'EE' => 'ESTONIA',
113
            'ET' => 'ETHIOPIA',
114
            'FK' => 'FALKLAND ISLANDS (MALVINAS)',
115
            'FO' => 'FAROE ISLANDS',
116
            'FJ' => 'FIJI',
117
            'FI' => 'FINLAND',
118
            'FR' => 'FRANCE',
119
            'FX' => 'FRANCE, METROPOLITAN',
120
            'GF' => 'FRENCH GUIANA',
121
            'PF' => 'FRENCH POLYNESIA',
122
            'TF' => 'FRENCH SOUTHERN TERRITORIES',
123
            'GA' => 'GABON',
124
            'GM' => 'GAMBIA',
125
            'GE' => 'GEORGIA',
126
            'DE' => 'GERMANY',
127
            'GH' => 'GHANA',
128
            'GI' => 'GIBRALTAR',
129
            'GR' => 'GREECE',
130
            'GL' => 'GREENLAND',
131
            'GD' => 'GRENADA',
132
            'GP' => 'GUADELOUPE',
133
            'GU' => 'GUAM',
134
            'GT' => 'GUATEMALA',
135
            'GN' => 'GUINEA',
136
            'GW' => 'GUINEA-BISSAU',
137
            'GY' => 'GUYANA',
138
            'HT' => 'HAITI',
139
            'HM' => 'HEARD AND MC DONALD ISLANDS',
140
            'VA' => 'HOLY SEE (VATICAN CITY STATE)',
141
            'HN' => 'HONDURAS',
142
            'HK' => 'HONG KONG',
143
            'HU' => 'HUNGARY',
144
            'IS' => 'ICELAND',
145
            'IN' => 'INDIA',
146
            'ID' => 'INDONESIA',
147
            'IR' => 'IRAN (ISLAMIC REPUBLIC OF)',
148
            'IQ' => 'IRAQ',
149
            'IE' => 'IRELAND',
150
            'IL' => 'ISRAEL',
151
            'IT' => 'ITALY',
152
            'JM' => 'JAMAICA',
153
            'JP' => 'JAPAN',
154
            'JO' => 'JORDAN',
155
            'KZ' => 'KAZAKHSTAN',
156
            'KE' => 'KENYA',
157
            'KI' => 'KIRIBATI',
158
            'KP' => 'KOREA, DEMOCRATIC PEOPLE\'S REPUBLIC OF',
159
            'KR' => 'KOREA, REPUBLIC OF',
160
            'KW' => 'KUWAIT',
161
            'KG' => 'KYRGYZSTAN',
162
            'LA' => 'LAO PEOPLE\'S DEMOCRATIC REPUBLIC',
163
            'LV' => 'LATVIA',
164
            'LB' => 'LEBANON',
165
            'LS' => 'LESOTHO',
166
            'LR' => 'LIBERIA',
167
            'LY' => 'LIBYAN ARAB JAMAHIRIYA',
168
            'LI' => 'LIECHTENSTEIN',
169
            'LT' => 'LITHUANIA',
170
            'LU' => 'LUXEMBOURG',
171
            'MO' => 'MACAU',
172
            'MK' => 'MACEDONIA, THE FORMER YUGOSLAV REPUBLIC OF',
173
            'MG' => 'MADAGASCAR',
174
            'MW' => 'MALAWI',
175
            'MY' => 'MALAYSIA',
176
            'MV' => 'MALDIVES',
177
            'ML' => 'MALI',
178
            'MT' => 'MALTA',
179
            'MH' => 'MARSHALL ISLANDS',
180
            'MQ' => 'MARTINIQUE',
181
            'MR' => 'MAURITANIA',
182
            'MU' => 'MAURITIUS',
183
            'YT' => 'MAYOTTE',
184
            'MX' => 'MEXICO',
185
            'FM' => 'MICRONESIA, FEDERATED STATES OF',
186
            'MD' => 'MOLDOVA, REPUBLIC OF',
187
            'MC' => 'MONACO',
188
            'MN' => 'MONGOLIA',
189
            'MS' => 'MONTSERRAT',
190
            'MA' => 'MOROCCO',
191
            'MZ' => 'MOZAMBIQUE',
192
            'MM' => 'MYANMAR',
193
            'NA' => 'NAMIBIA',
194
            'NR' => 'NAURU',
195
            'NP' => 'NEPAL',
196
            'NL' => 'NETHERLANDS',
197
            'AN' => 'NETHERLANDS ANTILLES',
198
            'NC' => 'NEW CALEDONIA',
199
            'NZ' => 'NEW ZEALAND',
200
            'NI' => 'NICARAGUA',
201
            'NE' => 'NIGER',
202
            'NG' => 'NIGERIA',
203
            'NU' => 'NIUE',
204
            'NF' => 'NORFOLK ISLAND',
205
            'MP' => 'NORTHERN MARIANA ISLANDS',
206
            'NO' => 'NORWAY',
207
            'OM' => 'OMAN',
208
            'PK' => 'PAKISTAN',
209
            'PW' => 'PALAU',
210
            'PS' => 'PALESTINIAN TERRITORY, OCCUPIED',
211
            'PA' => 'PANAMA',
212
            'PG' => 'PAPUA NEW GUINEA',
213
            'PY' => 'PARAGUAY',
214
            'PE' => 'PERU',
215
            'PH' => 'PHILIPPINES',
216
            'PN' => 'PITCAIRN',
217
            'PL' => 'POLAND',
218
            'PT' => 'PORTUGAL',
219
            'PR' => 'PUERTO RICO',
220
            'QA' => 'QATAR',
221
            'RE' => 'REUNION',
222
            'RO' => 'ROMANIA',
223
            'RU' => 'RUSSIAN FEDERATION',
224
            'RW' => 'RWANDA',
225
            'KN' => 'SAINT KITTS AND NEVIS',
226
            'LC' => 'SAINT LUCIA',
227
            'VC' => 'SAINT VINCENT AND THE GRENADINES',
228
            'WS' => 'SAMOA',
229
            'SM' => 'SAN MARINO',
230
            'ST' => 'SAO TOME AND PRINCIPE',
231
            'SA' => 'SAUDI ARABIA',
232
            'SN' => 'SENEGAL',
233
            'SC' => 'SEYCHELLES',
234
            'SL' => 'SIERRA LEONE',
235
            'SG' => 'SINGAPORE',
236
            'SK' => 'SLOVAKIA (Slovak Republic)',
237
            'SI' => 'SLOVENIA',
238
            'SB' => 'SOLOMON ISLANDS',
239
            'SO' => 'SOMALIA',
240
            'ZA' => 'SOUTH AFRICA',
241
            'GS' => 'SOUTH GEORGIA AND THE SOUTH SANDWICH ISLANDS',
242
            'ES' => 'SPAIN',
243
            'LK' => 'SRI LANKA',
244
            'SH' => 'ST. HELENA',
245
            'PM' => 'ST. PIERRE AND MIQUELON',
246
            'SD' => 'SUDAN',
247
            'SR' => 'SURINAME',
248
            'SJ' => 'SVALBARD AND JAN MAYEN ISLANDS',
249
            'SZ' => 'SWAZILAND',
250
            'SE' => 'SWEDEN',
251
            'CH' => 'SWITZERLAND',
252
            'SY' => 'SYRIAN ARAB REPUBLIC',
253
            'TW' => 'TAIWAN, PROVINCE OF CHINA',
254
            'TJ' => 'TAJIKISTAN',
255
            'TZ' => 'TANZANIA, UNITED REPUBLIC OF',
256
            'TH' => 'THAILAND',
257
            'TG' => 'TOGO',
258
            'TK' => 'TOKELAU',
259
            'TO' => 'TONGA',
260
            'TT' => 'TRINIDAD AND TOBAGO',
261
            'TN' => 'TUNISIA',
262
            'TR' => 'TURKEY',
263
            'TM' => 'TURKMENISTAN',
264
            'TC' => 'TURKS AND CAICOS ISLANDS',
265
            'TV' => 'TUVALU',
266
            'UG' => 'UGANDA',
267
            'UA' => 'UKRAINE',
268
            'AE' => 'UNITED ARAB EMIRATES',
269
            'GB' => 'UNITED KINGDOM',
270
            'US' => 'UNITED STATES',
271
            'UM' => 'UNITED STATES MINOR OUTLYING ISLANDS',
272
            'UY' => 'URUGUAY',
273
            'UZ' => 'UZBEKISTAN',
274
            'VU' => 'VANUATU',
275
            'VE' => 'VENEZUELA',
276
            'VN' => 'VIET NAM',
277
            'VG' => 'VIRGIN ISLANDS (BRITISH)',
278
            'VI' => 'VIRGIN ISLANDS (U.S.)',
279
            'WF' => 'WALLIS AND FUTUNA ISLANDS',
280
            'EH' => 'WESTERN SAHARA',
281
            'YE' => 'YEMEN',
282
            'YU' => 'YUGOSLAVIA',
283
            'ZM' => 'ZAMBIA',
284
            'ZW' => 'ZIMBABWE'
285
        );
286
    }
287
 
288
    // }}
289
    // {{ fake constructor
290
 
291
    /**
292
     * call actual constructor
293
     *
294
     *  @return: void
295
     *  @access: private
296
     */
297
    function _constructor()
298
    {
299
        $this->I18N_Country();
300
    }
301
 
302
    // }}
303
    // {{ isValidCode()
304
 
305
    function isValidCode($code)
306
    {
307
        return isset($this->_codes[strtoupper($code)]);
308
    }
309
 
310
    // }}
311
    // {{ getName()
312
 
313
    /**
314
     * Return name of the country for country code passed
315
     *
316
     *  @param : string     country code
317
     *
318
     *  @return: string     name of the country
319
     *  @access: public
320
     */
321
    function getName($code = '')
322
    {
323
        return $this->isValidCode($code = strtoupper($code)) ? $this->_codes[$code] : false;
324
    }
325
 
326
    // }}
327
}
328
?>