|
1
|
|
|
<?php |
|
2
|
|
|
|
|
3
|
|
|
namespace eXpansion\Framework\Core\Helpers; |
|
4
|
|
|
|
|
5
|
|
|
class Countries |
|
6
|
|
|
{ |
|
7
|
|
|
|
|
8
|
|
|
public static $countries = array( |
|
9
|
|
|
'Afghanistan' => 'AFG', |
|
10
|
|
|
'Albania' => 'ALB', |
|
11
|
|
|
'Algeria' => 'ALG', |
|
12
|
|
|
'Andorra' => 'AND', |
|
13
|
|
|
'Angola' => 'ANG', |
|
14
|
|
|
'Argentina' => 'ARG', |
|
15
|
|
|
'Armenia' => 'ARM', |
|
16
|
|
|
'Aruba' => 'ARU', |
|
17
|
|
|
'Australia' => 'AUS', |
|
18
|
|
|
'Austria' => 'AUT', |
|
19
|
|
|
'Azerbaijan' => 'AZE', |
|
20
|
|
|
'Bahamas' => 'BAH', |
|
21
|
|
|
'Bahrain' => 'BRN', |
|
22
|
|
|
'Bangladesh' => 'BAN', |
|
23
|
|
|
'Barbados' => 'BAR', |
|
24
|
|
|
'Belarus' => 'BLR', |
|
25
|
|
|
'Belgium' => 'BEL', |
|
26
|
|
|
'Belize' => 'BIZ', |
|
27
|
|
|
'Benin' => 'BEN', |
|
28
|
|
|
'Bermuda' => 'BER', |
|
29
|
|
|
'Bhutan' => 'BHU', |
|
30
|
|
|
'Bolivia' => 'BOL', |
|
31
|
|
|
'Bosnia&Herzegovina' => 'BIH', |
|
32
|
|
|
'Botswana' => 'BOT', |
|
33
|
|
|
'Brazil' => 'BRA', |
|
34
|
|
|
'Brunei' => 'BRU', |
|
35
|
|
|
'Bulgaria' => 'BUL', |
|
36
|
|
|
'Burkina Faso' => 'BUR', |
|
37
|
|
|
'Burundi' => 'BDI', |
|
38
|
|
|
'Cambodia' => 'CAM', |
|
39
|
|
|
'Cameroon' => 'CAR', |
|
40
|
|
|
'Canada' => 'CAN', |
|
41
|
|
|
'Cape Verde' => 'CPV', |
|
42
|
|
|
'Central African Republic' => 'CAF', |
|
43
|
|
|
'Chad' => 'CHA', |
|
44
|
|
|
'Chile' => 'CHI', |
|
45
|
|
|
'China' => 'CHN', |
|
46
|
|
|
'Chinese Taipei' => 'TPE', |
|
47
|
|
|
'Colombia' => 'COL', |
|
48
|
|
|
'Congo' => 'CGO', |
|
49
|
|
|
'Costa Rica' => 'CRC', |
|
50
|
|
|
'Croatia' => 'CRO', |
|
51
|
|
|
'Cuba' => 'CUB', |
|
52
|
|
|
'Cyprus' => 'CYP', |
|
53
|
|
|
'Czech Republic' => 'CZE', |
|
54
|
|
|
'Czech republic' => 'CZE', |
|
55
|
|
|
'DR Congo' => 'COD', |
|
56
|
|
|
'Denmark' => 'DEN', |
|
57
|
|
|
'Djibouti' => 'DJI', |
|
58
|
|
|
'Dominica' => 'DMA', |
|
59
|
|
|
'Dominican Republic' => 'DOM', |
|
60
|
|
|
'Ecuador' => 'ECU', |
|
61
|
|
|
'Egypt' => 'EGY', |
|
62
|
|
|
'El Salvador' => 'ESA', |
|
63
|
|
|
'Eritrea' => 'ERI', |
|
64
|
|
|
'Estonia' => 'EST', |
|
65
|
|
|
'Ethiopia' => 'ETH', |
|
66
|
|
|
'Fiji' => 'FIJ', |
|
67
|
|
|
'Finland' => 'FIN', |
|
68
|
|
|
'France' => 'FRA', |
|
69
|
|
|
'Gabon' => 'GAB', |
|
70
|
|
|
'Gambia' => 'GAM', |
|
71
|
|
|
'Georgia' => 'GEO', |
|
72
|
|
|
'Germany' => 'DEU', |
|
73
|
|
|
'Ghana' => 'GHA', |
|
74
|
|
|
'Greece' => 'GRE', |
|
75
|
|
|
'Grenada' => 'GRN', |
|
76
|
|
|
'Guam' => 'GUM', |
|
77
|
|
|
'Guatemala' => 'GUA', |
|
78
|
|
|
'Guinea' => 'GUI', |
|
79
|
|
|
'Guinea-Bissau' => 'GBS', |
|
80
|
|
|
'Guyana' => 'GUY', |
|
81
|
|
|
'Haiti' => 'HAI', |
|
82
|
|
|
'Honduras' => 'HON', |
|
83
|
|
|
'Hong Kong' => 'HKG', |
|
84
|
|
|
'Hungary' => 'HUN', |
|
85
|
|
|
'Iceland' => 'ISL', |
|
86
|
|
|
'India' => 'IND', |
|
87
|
|
|
'Indonesia' => 'INA', |
|
88
|
|
|
'Iran' => 'IRI', |
|
89
|
|
|
'Iraq' => 'IRQ', |
|
90
|
|
|
'Ireland' => 'IRL', |
|
91
|
|
|
'Israel' => 'ISR', |
|
92
|
|
|
'Italy' => 'ITA', |
|
93
|
|
|
'Ivory Coast' => 'CIV', |
|
94
|
|
|
'Jamaica' => 'JAM', |
|
95
|
|
|
'Japan' => 'JPN', |
|
96
|
|
|
'Jordan' => 'JOR', |
|
97
|
|
|
'Kazakhstan' => 'KAZ', |
|
98
|
|
|
'Kenya' => 'KEN', |
|
99
|
|
|
'Kiribati' => 'KIR', |
|
100
|
|
|
'Korea' => 'KOR', |
|
101
|
|
|
'Kuwait' => 'KUW', |
|
102
|
|
|
'Kyrgyzstan' => 'KGZ', |
|
103
|
|
|
'Laos' => 'LAO', |
|
104
|
|
|
'Latvia' => 'LAT', |
|
105
|
|
|
'Lebanon' => 'LIB', |
|
106
|
|
|
'Lesotho' => 'LES', |
|
107
|
|
|
'Liberia' => 'LBR', |
|
108
|
|
|
'Libya' => 'LBA', |
|
109
|
|
|
'Liechtenstein' => 'LIE', |
|
110
|
|
|
'Lithuania' => 'LTU', |
|
111
|
|
|
'Luxembourg' => 'LUX', |
|
112
|
|
|
'Macedonia' => 'MKD', |
|
113
|
|
|
'Malawi' => 'MAW', |
|
114
|
|
|
'Malaysia' => 'MAS', |
|
115
|
|
|
'Mali' => 'MLI', |
|
116
|
|
|
'Malta' => 'MLT', |
|
117
|
|
|
'Mauritania' => 'MTN', |
|
118
|
|
|
'Mauritius' => 'MRI', |
|
119
|
|
|
'Mexico' => 'MEX', |
|
120
|
|
|
'Moldova' => 'MDA', |
|
121
|
|
|
'Monaco' => 'MON', |
|
122
|
|
|
'Mongolia' => 'MGL', |
|
123
|
|
|
'Montenegro' => 'MNE', |
|
124
|
|
|
'Morocco' => 'MAR', |
|
125
|
|
|
'Mozambique' => 'MOZ', |
|
126
|
|
|
'Myanmar' => 'MYA', |
|
127
|
|
|
'Namibia' => 'NAM', |
|
128
|
|
|
'Nauru' => 'NRU', |
|
129
|
|
|
'Nepal' => 'NEP', |
|
130
|
|
|
'Netherlands' => 'NED', |
|
131
|
|
|
'New Zealand' => 'NZL', |
|
132
|
|
|
'Nicaragua' => 'NCA', |
|
133
|
|
|
'Niger' => 'NIG', |
|
134
|
|
|
'Nigeria' => 'NGR', |
|
135
|
|
|
'Norway' => 'NOR', |
|
136
|
|
|
'Oman' => 'OMA', |
|
137
|
|
|
'Other Countries' => 'OTH', |
|
138
|
|
|
'Pakistan' => 'PAK', |
|
139
|
|
|
'Palau' => 'PLW', |
|
140
|
|
|
'Palestine' => 'PLE', |
|
141
|
|
|
'Panama' => 'PAN', |
|
142
|
|
|
'Paraguay' => 'PAR', |
|
143
|
|
|
'Peru' => 'PER', |
|
144
|
|
|
'Philippines' => 'PHI', |
|
145
|
|
|
'Poland' => 'POL', |
|
146
|
|
|
'Portugal' => 'POR', |
|
147
|
|
|
'Puerto Rico' => 'PUR', |
|
148
|
|
|
'Qatar' => 'QAT', |
|
149
|
|
|
'Romania' => 'ROM', |
|
150
|
|
|
'Russia' => 'RUS', |
|
151
|
|
|
'Rwanda' => 'RWA', |
|
152
|
|
|
'Samoa' => 'SAM', |
|
153
|
|
|
'San Marino' => 'SMR', |
|
154
|
|
|
'Saudi Arabia' => 'KSA', |
|
155
|
|
|
'Senegal' => 'SEN', |
|
156
|
|
|
'Serbia' => 'SCG', |
|
157
|
|
|
'Sierra Leone' => 'SLE', |
|
158
|
|
|
'Singapore' => 'SIN', |
|
159
|
|
|
'Slovakia' => 'SVK', |
|
160
|
|
|
'Slovenia' => 'SLO', |
|
161
|
|
|
'Somalia' => 'SOM', |
|
162
|
|
|
'South Africa' => 'RSA', |
|
163
|
|
|
'Spain' => 'ESP', |
|
164
|
|
|
'Sri Lanka' => 'SRI', |
|
165
|
|
|
'Sudan' => 'SUD', |
|
166
|
|
|
'Suriname' => 'SUR', |
|
167
|
|
|
'Swaziland' => 'SWZ', |
|
168
|
|
|
'Sweden' => 'SWE', |
|
169
|
|
|
'Switzerland' => 'SUI', |
|
170
|
|
|
'Syria' => 'SYR', |
|
171
|
|
|
'Taiwan' => 'TWN', |
|
172
|
|
|
'Tajikistan' => 'TJK', |
|
173
|
|
|
'Tanzania' => 'TAN', |
|
174
|
|
|
'Thailand' => 'THA', |
|
175
|
|
|
'Togo' => 'TOG', |
|
176
|
|
|
'Tonga' => 'TGA', |
|
177
|
|
|
'Trinidad and Tobago' => 'TRI', |
|
178
|
|
|
'Tunisia' => 'TUN', |
|
179
|
|
|
'Turkey' => 'TUR', |
|
180
|
|
|
'Turkmenistan' => 'TKM', |
|
181
|
|
|
'Tuvalu' => 'TUV', |
|
182
|
|
|
'Uganda' => 'UGA', |
|
183
|
|
|
'Ukraine' => 'UKR', |
|
184
|
|
|
'United Arab Emirates' => 'UAE', |
|
185
|
|
|
'United Kingdom' => 'GBR', |
|
186
|
|
|
'United States of America' => 'USA', |
|
187
|
|
|
'Uruguay' => 'URU', |
|
188
|
|
|
'Uzbekistan' => 'UZB', |
|
189
|
|
|
'Vanuatu' => 'VAN', |
|
190
|
|
|
'Venezuela' => 'VEN', |
|
191
|
|
|
'Vietnam' => 'VIE', |
|
192
|
|
|
'Yemen' => 'YEM', |
|
193
|
|
|
'Zambia' => 'ZAM', |
|
194
|
|
|
'Zimbabwe' => 'ZIM', |
|
195
|
|
|
); |
|
196
|
|
|
|
|
197
|
|
|
/** |
|
198
|
|
|
* Get 3-letter country code from full country name |
|
199
|
|
|
* |
|
200
|
|
|
* @param $country |
|
201
|
|
|
* @return mixed|string |
|
202
|
|
|
*/ |
|
203
|
|
|
public static function getCodeFromCountry($country) |
|
204
|
|
|
{ |
|
205
|
|
|
$countries = self::$countries; |
|
206
|
|
|
|
|
207
|
|
|
$output = 'OTH'; |
|
208
|
|
|
if (array_key_exists($country, $countries)) { |
|
209
|
|
|
$output = $countries[$country]; |
|
210
|
|
|
} |
|
211
|
|
|
|
|
212
|
|
|
return $output; |
|
213
|
|
|
} |
|
214
|
|
|
|
|
215
|
|
|
/** |
|
216
|
|
|
* Get full country name from 3-letter country code |
|
217
|
|
|
* |
|
218
|
|
|
* @param string $code |
|
219
|
|
|
* @return string |
|
220
|
|
|
*/ |
|
221
|
|
|
public static function getCountryFromCode($code) |
|
222
|
|
|
{ |
|
223
|
|
|
$countries = self::$countries; |
|
224
|
|
|
|
|
225
|
|
|
$code = strtoupper($code); |
|
226
|
|
|
$output = "Other"; |
|
227
|
|
|
if (in_array($code, $countries)) { |
|
228
|
|
|
foreach ($countries as $country => $short) { |
|
229
|
|
|
if (strtoupper($code) == $short) { |
|
230
|
|
|
$output = $country; |
|
231
|
|
|
break; |
|
232
|
|
|
} |
|
233
|
|
|
} |
|
234
|
|
|
} |
|
235
|
|
|
|
|
236
|
|
|
return $output; |
|
237
|
|
|
} |
|
238
|
|
|
|
|
239
|
|
|
/** |
|
240
|
|
|
* Parses country from maniaplanet player objects' path |
|
241
|
|
|
* |
|
242
|
|
|
* @param string $path Maniaplanet path from player object |
|
243
|
|
|
* @return string long country name |
|
244
|
|
|
*/ |
|
245
|
|
|
public static function parseCountryFromPath($path) |
|
246
|
|
|
{ |
|
247
|
|
|
$parts = explode("|", $path, 3); |
|
248
|
|
|
if (count($parts)>= 2) { |
|
249
|
|
|
return $parts[2]; |
|
250
|
|
|
} |
|
251
|
|
|
|
|
252
|
|
|
return "Other"; |
|
253
|
|
|
} |
|
254
|
|
|
} |
|
255
|
|
|
|