| 1 |
<?php |
<?php |
| 2 |
// $Id: location.inc,v 1.97 2009/03/24 17:58:51 bdragon Exp $ |
// $Id: location.inc,v 1.98 2009/07/08 20:52:09 bdragon Exp $ |
| 3 |
|
|
| 4 |
/** |
/** |
| 5 |
* @defgroup Location Location: An API for working with locations. |
* @defgroup Location Location: An API for working with locations. |
| 567 |
* ISO 3166-1 alpha-2 |
* ISO 3166-1 alpha-2 |
| 568 |
*/ |
*/ |
| 569 |
function location_get_iso3166_list($upper = FALSE) { |
function location_get_iso3166_list($upper = FALSE) { |
| 570 |
static $countries; |
include_once DRUPAL_ROOT .'/includes/locale.inc'; |
| 571 |
|
|
| 572 |
if (isset($countries)) { |
$countries = country_get_list(); |
| 573 |
// In fact, the ISO codes for countries are all Upper Case. |
|
| 574 |
// So, if someone needs the list as the official records, |
if (empty($upper)) { |
| 575 |
// it will convert. |
return array_change_key_case($countries, CASE_LOWER); |
|
if (!empty($upper)) { |
|
|
return array_change_key_case($countries, CASE_UPPER); |
|
|
} |
|
|
return $countries; |
|
|
} |
|
|
|
|
|
$countries = array( |
|
|
'ad' => t('Andorra'), |
|
|
'ae' => t('United Arab Emirates'), |
|
|
'af' => t('Afghanistan'), |
|
|
'ag' => t('Antigua and Barbuda'), |
|
|
'ai' => t('Anguilla'), |
|
|
'al' => t('Albania'), |
|
|
'am' => t('Armenia'), |
|
|
'an' => t('Netherlands Antilles'), |
|
|
'ao' => t('Angola'), |
|
|
'aq' => t('Antarctica'), |
|
|
'ar' => t('Argentina'), |
|
|
'as' => t('American Samoa'), |
|
|
'at' => t('Austria'), |
|
|
'au' => t('Australia'), |
|
|
'aw' => t('Aruba'), |
|
|
'ax' => t('Aland Islands'), |
|
|
'az' => t('Azerbaijan'), |
|
|
'ba' => t('Bosnia and Herzegovina'), |
|
|
'bb' => t('Barbados'), |
|
|
'bd' => t('Bangladesh'), |
|
|
'be' => t('Belgium'), |
|
|
'bf' => t('Burkina Faso'), |
|
|
'bg' => t('Bulgaria'), |
|
|
'bh' => t('Bahrain'), |
|
|
'bi' => t('Burundi'), |
|
|
'bj' => t('Benin'), |
|
|
'bm' => t('Bermuda'), |
|
|
'bn' => t('Brunei'), |
|
|
'bo' => t('Bolivia'), |
|
|
'br' => t('Brazil'), |
|
|
'bs' => t('Bahamas'), |
|
|
'bt' => t('Bhutan'), |
|
|
'bv' => t('Bouvet Island'), |
|
|
'bw' => t('Botswana'), |
|
|
'by' => t('Belarus'), |
|
|
'bz' => t('Belize'), |
|
|
'ca' => t('Canada'), |
|
|
'cc' => t('Cocos (Keeling) Islands'), |
|
|
'cd' => t('Congo (Kinshasa)'), |
|
|
'cf' => t('Central African Republic'), |
|
|
'cg' => t('Congo (Brazzaville)'), |
|
|
'ch' => t('Switzerland'), |
|
|
'ci' => t('Ivory Coast'), |
|
|
'ck' => t('Cook Islands'), |
|
|
'cl' => t('Chile'), |
|
|
'cm' => t('Cameroon'), |
|
|
'cn' => t('China'), |
|
|
'co' => t('Colombia'), |
|
|
'cr' => t('Costa Rica'), |
|
|
'cs' => t('Serbia And Montenegro'), // Transitional reservation |
|
|
'cu' => t('Cuba'), |
|
|
'cv' => t('Cape Verde'), |
|
|
'cx' => t('Christmas Island'), |
|
|
'cy' => t('Cyprus'), |
|
|
'cz' => t('Czech Republic'), |
|
|
'de' => t('Germany'), |
|
|
'dj' => t('Djibouti'), |
|
|
'dk' => t('Denmark'), |
|
|
'dm' => t('Dominica'), |
|
|
'do' => t('Dominican Republic'), |
|
|
'dz' => t('Algeria'), |
|
|
'ec' => t('Ecuador'), |
|
|
'ee' => t('Estonia'), |
|
|
'eg' => t('Egypt'), |
|
|
'eh' => t('Western Sahara'), |
|
|
'er' => t('Eritrea'), |
|
|
'es' => t('Spain'), |
|
|
'et' => t('Ethiopia'), |
|
|
'fi' => t('Finland'), |
|
|
'fj' => t('Fiji'), |
|
|
'fk' => t('Falkland Islands'), |
|
|
'fm' => t('Micronesia'), |
|
|
'fo' => t('Faroe Islands'), |
|
|
'fr' => t('France'), |
|
|
'ga' => t('Gabon'), |
|
|
'gd' => t('Grenada'), |
|
|
'ge' => t('Georgia'), |
|
|
'gf' => t('French Guiana'), |
|
|
'gg' => t('Guernsey'), |
|
|
'gh' => t('Ghana'), |
|
|
'gi' => t('Gibraltar'), |
|
|
'gl' => t('Greenland'), |
|
|
'gm' => t('Gambia'), |
|
|
'gn' => t('Guinea'), |
|
|
'gp' => t('Guadeloupe'), |
|
|
'gq' => t('Equatorial Guinea'), |
|
|
'gr' => t('Greece'), |
|
|
'gs' => t('South Georgia and the South Sandwich Islands'), |
|
|
'gt' => t('Guatemala'), |
|
|
'gu' => t('Guam'), |
|
|
'gw' => t('Guinea-Bissau'), |
|
|
'gy' => t('Guyana'), |
|
|
'hk' => t('Hong Kong S.A.R., China'), |
|
|
'hm' => t('Heard Island and McDonald Islands'), |
|
|
'hn' => t('Honduras'), |
|
|
'hr' => t('Croatia'), |
|
|
'ht' => t('Haiti'), |
|
|
'hu' => t('Hungary'), |
|
|
'id' => t('Indonesia'), |
|
|
'ie' => t('Ireland'), |
|
|
'il' => t('Israel'), |
|
|
'im' => t('Isle of Man'), |
|
|
'in' => t('India'), |
|
|
'io' => t('British Indian Ocean Territory'), |
|
|
'iq' => t('Iraq'), |
|
|
'ir' => t('Iran'), |
|
|
'is' => t('Iceland'), |
|
|
'it' => t('Italy'), |
|
|
'je' => t('Jersey'), |
|
|
'jm' => t('Jamaica'), |
|
|
'jo' => t('Jordan'), |
|
|
'jp' => t('Japan'), |
|
|
'ke' => t('Kenya'), |
|
|
'kg' => t('Kyrgyzstan'), |
|
|
'kh' => t('Cambodia'), |
|
|
'ki' => t('Kiribati'), |
|
|
'km' => t('Comoros'), |
|
|
'kn' => t('Saint Kitts and Nevis'), |
|
|
'kp' => t('North Korea'), |
|
|
'kr' => t('South Korea'), |
|
|
'kw' => t('Kuwait'), |
|
|
'ky' => t('Cayman Islands'), |
|
|
'kz' => t('Kazakhstan'), |
|
|
'la' => t('Laos'), |
|
|
'lb' => t('Lebanon'), |
|
|
'lc' => t('Saint Lucia'), |
|
|
'li' => t('Liechtenstein'), |
|
|
'lk' => t('Sri Lanka'), |
|
|
'lr' => t('Liberia'), |
|
|
'ls' => t('Lesotho'), |
|
|
'lt' => t('Lithuania'), |
|
|
'lu' => t('Luxembourg'), |
|
|
'lv' => t('Latvia'), |
|
|
'ly' => t('Libya'), |
|
|
'ma' => t('Morocco'), |
|
|
'mc' => t('Monaco'), |
|
|
'md' => t('Moldova'), |
|
|
'me' => t('Montenegro'), |
|
|
'mg' => t('Madagascar'), |
|
|
'mh' => t('Marshall Islands'), |
|
|
'mk' => t('Macedonia'), |
|
|
'ml' => t('Mali'), |
|
|
'mm' => t('Myanmar'), |
|
|
'mn' => t('Mongolia'), |
|
|
'mo' => t('Macao S.A.R., China'), |
|
|
'mp' => t('Northern Mariana Islands'), |
|
|
'mq' => t('Martinique'), |
|
|
'mr' => t('Mauritania'), |
|
|
'ms' => t('Montserrat'), |
|
|
'mt' => t('Malta'), |
|
|
'mu' => t('Mauritius'), |
|
|
'mv' => t('Maldives'), |
|
|
'mw' => t('Malawi'), |
|
|
'mx' => t('Mexico'), |
|
|
'my' => t('Malaysia'), |
|
|
'mz' => t('Mozambique'), |
|
|
'na' => t('Namibia'), |
|
|
'nc' => t('New Caledonia'), |
|
|
'ne' => t('Niger'), |
|
|
'nf' => t('Norfolk Island'), |
|
|
'ng' => t('Nigeria'), |
|
|
'ni' => t('Nicaragua'), |
|
|
'nl' => t('Netherlands'), |
|
|
'no' => t('Norway'), |
|
|
'np' => t('Nepal'), |
|
|
'nr' => t('Nauru'), |
|
|
'nu' => t('Niue'), |
|
|
'nz' => t('New Zealand'), |
|
|
'om' => t('Oman'), |
|
|
'pa' => t('Panama'), |
|
|
'pe' => t('Peru'), |
|
|
'pf' => t('French Polynesia'), |
|
|
'pg' => t('Papua New Guinea'), |
|
|
'ph' => t('Philippines'), |
|
|
'pk' => t('Pakistan'), |
|
|
'pl' => t('Poland'), |
|
|
'pm' => t('Saint Pierre and Miquelon'), |
|
|
'pn' => t('Pitcairn'), |
|
|
'pr' => t('Puerto Rico'), |
|
|
'ps' => t('Palestinian Territory'), |
|
|
'pt' => t('Portugal'), |
|
|
'pw' => t('Palau'), |
|
|
'py' => t('Paraguay'), |
|
|
'qa' => t('Qatar'), |
|
|
're' => t('Reunion'), |
|
|
'ro' => t('Romania'), |
|
|
'rs' => t('Serbia'), |
|
|
'ru' => t('Russia'), |
|
|
'rw' => t('Rwanda'), |
|
|
'sa' => t('Saudi Arabia'), |
|
|
'sb' => t('Solomon Islands'), |
|
|
'sc' => t('Seychelles'), |
|
|
'sd' => t('Sudan'), |
|
|
'se' => t('Sweden'), |
|
|
'sg' => t('Singapore'), |
|
|
'sh' => t('Saint Helena'), |
|
|
'si' => t('Slovenia'), |
|
|
'sj' => t('Svalbard and Jan Mayen'), |
|
|
'sk' => t('Slovakia'), |
|
|
'sl' => t('Sierra Leone'), |
|
|
'sm' => t('San Marino'), |
|
|
'sn' => t('Senegal'), |
|
|
'so' => t('Somalia'), |
|
|
'sr' => t('Suriname'), |
|
|
'st' => t('Sao Tome and Principe'), |
|
|
'sv' => t('El Salvador'), |
|
|
'sy' => t('Syria'), |
|
|
'sz' => t('Swaziland'), |
|
|
'tc' => t('Turks and Caicos Islands'), |
|
|
'td' => t('Chad'), |
|
|
'tf' => t('French Southern Territories'), |
|
|
'tg' => t('Togo'), |
|
|
'th' => t('Thailand'), |
|
|
'tj' => t('Tajikistan'), |
|
|
'tk' => t('Tokelau'), |
|
|
'tl' => t('East Timor'), |
|
|
'tm' => t('Turkmenistan'), |
|
|
'tn' => t('Tunisia'), |
|
|
'to' => t('Tonga'), |
|
|
'tr' => t('Turkey'), |
|
|
'tt' => t('Trinidad and Tobago'), |
|
|
'tv' => t('Tuvalu'), |
|
|
'tw' => t('Taiwan'), |
|
|
'tz' => t('Tanzania'), |
|
|
'ua' => t('Ukraine'), |
|
|
'ug' => t('Uganda'), |
|
|
'uk' => t('United Kingdom'), |
|
|
'um' => t('United States Minor Outlying Islands'), |
|
|
'us' => t('United States'), |
|
|
'uy' => t('Uruguay'), |
|
|
'uz' => t('Uzbekistan'), |
|
|
'va' => t('Vatican'), |
|
|
'vc' => t('Saint Vincent and the Grenadines'), |
|
|
've' => t('Venezuela'), |
|
|
'vg' => t('British Virgin Islands'), |
|
|
'vi' => t('U.S. Virgin Islands'), |
|
|
'vn' => t('Vietnam'), |
|
|
'vu' => t('Vanuatu'), |
|
|
'wf' => t('Wallis and Futuna'), |
|
|
'ws' => t('Samoa'), |
|
|
'ye' => t('Yemen'), |
|
|
'yt' => t('Mayotte'), |
|
|
'za' => t('South Africa'), |
|
|
'zm' => t('Zambia'), |
|
|
'zw' => t('Zimbabwe'), |
|
|
); |
|
|
|
|
|
// Sort the list. |
|
|
natcasesort($countries); |
|
|
|
|
|
// In fact, the ISO codes for countries are all Upper Case. |
|
|
// So, if someone needs the list as the official records, |
|
|
// it will convert. |
|
|
if (!empty($upper)) { |
|
|
return array_change_key_case($countries, CASE_UPPER); |
|
| 576 |
} |
} |
| 577 |
return $countries; |
return $countries; |
| 578 |
} |
} |