<?php
/**
 * Nextcloud - Phone Sync
 *
 * This file is licensed under the Affero General Public License version 3 or
 * later. See the COPYING file.
 *
 * Reference:
 * [1] Country Codes: https://countrycode.org/
 *
 * Note: The above country code list mistakenly references some countries as
 *       (code)+(exchance), so for example, the Cayman Islands is listed as
 *		 "1-345", however it is really part of NANP and so it's country code
 *       is actually "1".  The below entries correct this so that each country
 *       has a single country code.
 *
 * @author Loic Blot <loic.blot@unix-experience.fr>
 * @contributor: stagprom <https://github.com/stagprom/>
 * @copyright Loic Blot 2014-2017
 */

namespace OCA\OcSms\Lib;

class CountryCodes {
	public static $codes = array(
		'Afghanistan' => '+93',
		'Albania' => '+355',
		'Algeria' => '+213',
		'American Samoa' => '+1',
		'Andorra' => '+376',
		'Angola' => '+244',
		'Anguilla' => '+1',
		'Antarctica' => '+672',
		'Antigua and Barbuda' => '+1',
		'Argentina' => '+54',
		'Armenia' => '+374',
		'Aruba' => '+297',
		'Australia' => '+61',
		'Austria' => '+43',
		'Azerbaijan' => '+994',
		'Bahamas' => '+1',
		'Bahrain' => '+973',
		'Bangladesh' => '+880',
		'Barbados' => '+1',
		'Belarus' => '+375',
		'Belgium' => '+32',
		'Belize' => '+501',
		'Benin' => '+229',
		'Bermuda' => '+1',
		'Bhutan' => '+975',
		'Bolivia' => '+591',
		'Bosnia and Herzegovina' => '+387',
		'Botswana' => '+267',
		'Brazil' => '+55',
		'British Indian Ocean Territory' => '+246',
		'British Virgin Islands' => '+1',
		'Brunei' => '+673',
		'Bulgaria' => '+359',
		'Burkina Faso' => '+226',
		'Burundi' => '+257',
		'Cambodia' => '+855',
		'Cameroon' => '+237',
		'Canada' => '+1',
		'Cape Verde' => '+238',
		'Cayman Islands' => '+1',
		'Central African Republic' => '+236',
		'Chad' => '+235',
		'Chile' => '+56',
		'China' => '+86',
		'Christmas Island' => '+61',
		'Cocos Islands' => '+61',
		'Colombia' => '+57',
		'Comoros' => '+269',
		'Cook Islands' => '+682',
		'Costa Rica' => '+506',
		'Croatia' => '+385',
		'Cuba' => '+53',
		'Curacao' => '+599',
		'Cyprus' => '+357',
		'Czech Republic' => '+420',
		'Democratic Republic of the Congo' => '+243',
		'Denmark' => '+45',
		'Djibouti' => '+253',
		'Dominica' => '+1',
		'Dominican Republic' => '+1',
		'East Timor' => '+670',
		'Ecuador' => '+593',
		'Egypt' => '+20',
		'El Salvador' => '+503',
		'Equatorial Guinea' => '+240',
		'Eritrea' => '+291',
		'Estonia' => '+372',
		'Ethiopia' => '+251',
		'Falkland Islands' => '+500',
		'Faroe Islands' => '+298',
		'Fiji' => '+679',
		'Finland' => '+358',
		'France' => '+33',
		'French Polynesia' => '+689',
		'Gabon' => '+241',
		'Gambia' => '+220',
		'Georgia' => '+995',
		'Germany' => '+49',
		'Ghana' => '+233',
		'Gibraltar' => '+350',
		'Greece' => '+30',
		'Greenland' => '+299',
		'Grenada' => '+1',
		'Guam' => '+1',
		'Guatemala' => '+502',
		'Guernsey' => '+44',
		'Guinea' => '+224',
		'Guinea-Bissau' => '+245',
		'Guyana' => '+592',
		'Haiti' => '+509',
		'Honduras' => '+504',
		'Hong Kong' => '+852',
		'Hungary' => '+36',
		'Iceland' => '+354',
		'India' => '+91',
		'Indonesia' => '+62',
		'Iran' => '+98',
		'Iraq' => '+964',
		'Ireland' => '+353',
		'Isle of Man' => '+44',
		'Israel' => '+972',
		'Italy' => '+39',
		'Ivory Coast' => '+225',
		'Jamaica' => '+1',
		'Japan' => '+81',
		'Jersey' => '+44',
		'Jordan' => '+962',
		'Kazakhstan' => '+7',
		'Kenya' => '+254',
		'Kiribati' => '+686',
		'Kosovo' => '+383',
		'Kuwait' => '+965',
		'Kyrgyzstan' => '+996',
		'Laos' => '+856',
		'Latvia' => '+371',
		'Lebanon' => '+961',
		'Lesotho' => '+266',
		'Liberia' => '+231',
		'Libya' => '+218',
		'Liechtenstein' => '+423',
		'Lithuania' => '+370',
		'Luxembourg' => '+352',
		'Macau' => '+853',
		'Macedonia' => '+389',
		'Madagascar' => '+261',
		'Malawi' => '+265',
		'Malaysia' => '+60',
		'Maldives' => '+960',
		'Mali' => '+223',
		'Malta' => '+356',
		'Marshall Islands' => '+692',
		'Mauritania' => '+222',
		'Mauritius' => '+230',
		'Mayotte' => '+262',
		'Mexico' => '+52',
		'Micronesia' => '+691',
		'Moldova' => '+373',
		'Monaco' => '+377',
		'Mongolia' => '+976',
		'Montenegro' => '+382',
		'Montserrat' => '+1',
		'Morocco' => '+212',
		'Mozambique' => '+258',
		'Myanmar' => '+95',
		'Namibia' => '+264',
		'Nauru' => '+674',
		'Nepal' => '+977',
		'Netherlands' => '+31',
		'Netherlands Antilles' => '+599',
		'New Caledonia' => '+687',
		'New Zealand' => '+64',
		'Nicaragua' => '+505',
		'Niger' => '+227',
		'Nigeria' => '+234',
		'Niue' => '+683',
		'North Korea' => '+850',
		'Northern Mariana Islands' => '+1',
		'Norway' => '+47',
		'Oman' => '+968',
		'Pakistan' => '+92',
		'Palau' => '+680',
		'Palestine' => '+970',
		'Panama' => '+507',
		'Papua New Guinea' => '+675',
		'Paraguay' => '+595',
		'Peru' => '+51',
		'Philippines' => '+63',
		'Pitcairn' => '+64',
		'Poland' => '+48',
		'Portugal' => '+351',
		'Puerto Rico' => '+1',
		'Qatar' => '+974',
		'Republic of the Congo' => '+242',
		'Reunion' => '+262',
		'Romania' => '+40',
		'Russia' => '+7',
		'Rwanda' => '+250',
		'Saint Barthelemy' => '+590',
		'Saint Helena' => '+290',
		'Saint Kitts and Nevis' => '+1',
		'Saint Lucia' => '+1',
		'Saint Martin' => '+590',
		'Saint Pierre and Miquelon' => '+508',
		'Saint Vincent and the Grenadines' => '+1',
		'Samoa' => '+685',
		'San Marino' => '+378',
		'Sao Tome and Principe' => '+239',
		'Saudi Arabia' => '+966',
		'Senegal' => '+221',
		'Serbia' => '+381',
		'Seychelles' => '+248',
		'Sierra Leone' => '+232',
		'Singapore' => '+65',
		'Sint Maarten' => '+1',
		'Slovakia' => '+421',
		'Slovenia' => '+386',
		'Solomon Islands' => '+677',
		'Somalia' => '+252',
		'South Africa' => '+27',
		'South Korea' => '+82',
		'South Sudan' => '+211',
		'Spain' => '+34',
		'Sri Lanka' => '+94',
		'Sudan' => '+249',
		'Suriname' => '+597',
		'Svalbard and Jan Mayen' => '+47',
		'Swaziland' => '+268',
		'Sweden' => '+46',
		'Switzerland' => '+41',
		'Syria' => '+963',
		'Taiwan' => '+886',
		'Tajikistan' => '+992',
		'Tanzania' => '+255',
		'Thailand' => '+66',
		'Togo' => '+228',
		'Tokelau' => '+690',
		'Tonga' => '+676',
		'Trinidad and Tobago' => '+1',
		'Tunisia' => '+216',
		'Turkey' => '+90',
		'Turkmenistan' => '+993',
		'Turks and Caicos Islands' => '+1',
		'Tuvalu' => '+688',
		'U.S. Virgin Islands' => '+1',
		'Uganda' => '+256',
		'Ukraine' => '+380',
		'United Arab Emirates' => '+971',
		'United Kingdom' => '+44',
		'United States' => '+1',
		'Uruguay' => '+598',
		'Uzbekistan' => '+998',
		'Vanuatu' => '+678',
		'Vatican' => '+379',
		'Venezuela' => '+58',
		'Vietnam' => '+84',
		'Wallis and Futuna' => '+681',
		'Western Sahara' => '+212',
		'Yemen' => '+967',
		'Zambia' => '+260',
		'Zimbabwe' => '+263',
	);

	public static $countries = array(
		'Afghanistan' => 'AF',
		'Albania' => 'AL',
		'Algeria' => 'DZ',
		'American Samoa' => 'AS',
		'Andorra' => 'AD',
		'Angola' => 'AO',
		'Anguilla' => 'AI',
		'Antarctica' => 'AQ',
		'Antigua and Barbuda' => 'AG',
		'Argentina' => 'AR',
		'Armenia' => 'AM',
		'Aruba' => 'AW',
		'Australia' => 'AU',
		'Austria' => 'AT',
		'Azerbaijan' => 'AZ',
		'Bahamas' => 'BS',
		'Bahrain' => 'BH',
		'Bangladesh' => 'BD',
		'Barbados' => 'BB',
		'Belarus' => 'BY',
		'Belgium' => 'BE',
		'Belize' => 'BZ',
		'Benin' => 'BJ',
		'Bermuda' => 'BM',
		'Bhutan' => 'BT',
		'Bolivia' => 'BO',
		'Bosnia and Herzegovina' => 'BA',
		'Botswana' => 'BW',
		'Brazil' => 'BR',
		'British Indian Ocean Territory' => 'IO',
		'British Virgin Islands' => 'VG',
		'Brunei' => 'BN',
		'Bulgaria' => 'BG',
		'Burkina Faso' => 'BF',
		'Burundi' => 'BI',
		'Cambodia' => 'KH',
		'Cameroon' => 'CM',
		'Canada' => 'CA',
		'Cape Verde' => 'CV',
		'Cayman Islands' => 'KY',
		'Central African Republic' => 'CF',
		'Chad' => 'TD',
		'Chile' => 'CL',
		'China' => 'CN',
		'Christmas Island' => 'CX',
		'Cocos Islands' => 'CC',
		'Colombia' => 'CO',
		'Comoros' => 'KM',
		'Cook Islands' => 'CK',
		'Costa Rica' => 'CR',
		'Croatia' => 'HR',
		'Cuba' => 'CU',
		'Curacao' => 'CW',
		'Cyprus' => 'CY',
		'Czech Republic' => 'CZ',
		'Democratic Republic of the Congo' => 'CD',
		'Denmark' => 'DK',
		'Djibouti' => 'DJ',
		'Dominica' => 'DM',
		'Dominican Republic' => 'DO',
		'East Timor' => 'TL',
		'Ecuador' => 'EC',
		'Egypt' => 'EG',
		'El Salvador' => 'SV',
		'Equatorial Guinea' => 'GQ',
		'Eritrea' => 'ER',
		'Estonia' => 'EE',
		'Ethiopia' => 'ET',
		'Falkland Islands' => 'FK',
		'Faroe Islands' => 'FO',
		'Fiji' => 'FJ',
		'Finland' => 'FI',
		'France' => 'FR',
		'French Polynesia' => 'PF',
		'Gabon' => 'GA',
		'Gambia' => 'GM',
		'Georgia' => 'GE',
		'Germany' => 'DE',
		'Ghana' => 'GH',
		'Gibraltar' => 'GI',
		'Greece' => 'GR',
		'Greenland' => 'GL',
		'Grenada' => 'GD',
		'Guam' => 'GU',
		'Guatemala' => 'GT',
		'Guernsey' => 'GG',
		'Guinea' => 'GN',
		'Guinea-Bissau' => 'GW',
		'Guyana' => 'GY',
		'Haiti' => 'HT',
		'Honduras' => 'HN',
		'Hong Kong' => 'HK',
		'Hungary' => 'HU',
		'Iceland' => 'IS',
		'India' => 'IN',
		'Indonesia' => 'ID',
		'Iran' => 'IR',
		'Iraq' => 'IQ',
		'Ireland' => 'IE',
		'Isle of Man' => 'IM',
		'Israel' => 'IL',
		'Italy' => 'IT',
		'Ivory Coast' => 'CI',
		'Jamaica' => 'JM',
		'Japan' => 'JP',
		'Jersey' => 'JE',
		'Jordan' => 'JO',
		'Kazakhstan' => 'KZ',
		'Kenya' => 'KE',
		'Kiribati' => 'KI',
		'Kosovo' => 'XK',
		'Kuwait' => 'KW',
		'Kyrgyzstan' => 'KG',
		'Laos' => 'LA',
		'Latvia' => 'LV',
		'Lebanon' => 'LB',
		'Lesotho' => 'LS',
		'Liberia' => 'LR',
		'Libya' => 'LY',
		'Liechtenstein' => 'LI',
		'Lithuania' => 'LT',
		'Luxembourg' => 'LU',
		'Macau' => 'MO',
		'Macedonia' => 'MK',
		'Madagascar' => 'MG',
		'Malawi' => 'MW',
		'Malaysia' => 'MY',
		'Maldives' => 'MV',
		'Mali' => 'ML',
		'Malta' => 'MT',
		'Marshall Islands' => 'MH',
		'Mauritania' => 'MR',
		'Mauritius' => 'MU',
		'Mayotte' => 'YT',
		'Mexico' => 'MX',
		'Micronesia' => 'FM',
		'Moldova' => 'MD',
		'Monaco' => 'MC',
		'Mongolia' => 'MN',
		'Montenegro' => 'ME',
		'Montserrat' => 'MS',
		'Morocco' => 'MA',
		'Mozambique' => 'MZ',
		'Myanmar' => 'MM',
		'Namibia' => 'NA',
		'Nauru' => 'NR',
		'Nepal' => 'NP',
		'Netherlands' => 'NL',
		'Netherlands Antilles' => 'AN',
		'New Caledonia' => 'NC',
		'New Zealand' => 'NZ',
		'Nicaragua' => 'NI',
		'Niger' => 'NE',
		'Nigeria' => 'NG',
		'Niue' => 'NU',
		'North Korea' => 'KP',
		'Northern Mariana Islands' => 'MP',
		'Norway' => 'NO',
		'Oman' => 'OM',
		'Pakistan' => 'PK',
		'Palau' => 'PW',
		'Palestine' => 'PS',
		'Panama' => 'PA',
		'Papua New Guinea' => 'PG',
		'Paraguay' => 'PY',
		'Peru' => 'PE',
		'Philippines' => 'PH',
		'Pitcairn' => 'PN',
		'Poland' => 'PL',
		'Portugal' => 'PT',
		'Puerto Rico' => 'PR',
		'Qatar' => 'QA',
		'Republic of the Congo' => 'CG',
		'Reunion' => 'RE',
		'Romania' => 'RO',
		'Russia' => 'RU',
		'Rwanda' => 'RW',
		'Saint Barthelemy' => 'BL',
		'Saint Helena' => 'SH',
		'Saint Kitts and Nevis' => 'KN',
		'Saint Lucia' => 'LC',
		'Saint Martin' => 'MF',
		'Saint Pierre and Miquelon' => 'PM',
		'Saint Vincent and the Grenadines' => 'VC',
		'Samoa' => 'WS',
		'San Marino' => 'SM',
		'Sao Tome and Principe' => 'ST',
		'Saudi Arabia' => 'SA',
		'Senegal' => 'SN',
		'Serbia' => 'RS',
		'Seychelles' => 'SC',
		'Sierra Leone' => 'SL',
		'Singapore' => 'SG',
		'Sint Maarten' => 'SX',
		'Slovakia' => 'SK',
		'Slovenia' => 'SI',
		'Solomon Islands' => 'SB',
		'Somalia' => 'SO',
		'South Africa' => 'ZA',
		'South Korea' => 'KR',
		'South Sudan' => 'SS',
		'Spain' => 'ES',
		'Sri Lanka' => 'LK',
		'Sudan' => 'SD',
		'Suriname' => 'SR',
		'Svalbard and Jan Mayen' => 'SJ',
		'Swaziland' => 'SZ',
		'Sweden' => 'SE',
		'Switzerland' => 'CH',
		'Syria' => 'SY',
		'Taiwan' => 'TW',
		'Tajikistan' => 'TJ',
		'Tanzania' => 'TZ',
		'Thailand' => 'TH',
		'Togo' => 'TG',
		'Tokelau' => 'TK',
		'Tonga' => 'TO',
		'Trinidad and Tobago' => 'TT',
		'Tunisia' => 'TN',
		'Turkey' => 'TR',
		'Turkmenistan' => 'TM',
		'Turks and Caicos Islands' => 'TC',
		'Tuvalu' => 'TV',
		'U.S. Virgin Islands' => 'VI',
		'Uganda' => 'UG',
		'Ukraine' => 'UA',
		'United Arab Emirates' => 'AE',
		'United Kingdom' => 'GB',
		'United States' => 'US',
		'Uruguay' => 'UY',
		'Uzbekistan' => 'UZ',
		'Vanuatu' => 'VU',
		'Vatican' => 'VA',
		'Venezuela' => 'VE',
		'Vietnam' => 'VN',
		'Wallis and Futuna' => 'WF',
		'Western Sahara' => 'EH',
		'Yemen' => 'YE',
		'Zambia' => 'ZM',
		'Zimbabwe' => 'ZW',
	);
};