Skip to content

Commit e0c3adf

Browse files
author
Paul Bönisch
committed
adding ISO requirement switch
1 parent 9f70d98 commit e0c3adf

1 file changed

Lines changed: 46 additions & 3 deletions

File tree

src/CountriesArray.php

Lines changed: 46 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -266,10 +266,53 @@ class CountriesArray{
266266
"EH" => array( 'alpha2'=>'EH', 'alpha3'=>'ESH', 'num'=>'732', 'isd'=> '212', "name" => "Western Sahara", "continent" => "Africa"),
267267
"YE" => array( 'alpha2'=>'YE', 'alpha3'=>'YEM', 'num'=>'887', 'isd'=> '967', "name" => "Yemen", "continent" => "Asia"),
268268
"ZM" => array( 'alpha2'=>'ZM', 'alpha3'=>'ZMB', 'num'=>'894', 'isd'=> '260', "name" => "Zambia", "continent" => "Africa"),
269-
"ZW" => array( 'alpha2'=>'ZW', 'alpha3'=>'ZWE', 'num'=>'716', 'isd'=> '263', "name" => "Zimbabwe", "continent" => "Africa"),
269+
"ZW" => array( 'alpha2'=>'ZW', 'alpha3'=>'ZWE', 'num'=>'716', 'isd'=> '263', "name" => "Zimbabwe", "continent" => "Africa")
270+
);
271+
272+
/**
273+
* Non iso countries
274+
* @var array
275+
*/
276+
public static $countries_non_iso = array(
270277
"XK" => array( 'alpha2'=>'XK', 'alpha3'=>'KOS', 'num'=>'383', 'isd'=> '383', "name" => "Kosovo", "continent" => "Europe", ),
271278
);
272279

280+
/**
281+
* CountriesArray constructor.
282+
* @param boolean $iso
283+
* @author Paul Bönisch - <paul.boenisch@umwerk.net>
284+
*/
285+
public function __construct($iso)
286+
{
287+
if(!$iso){
288+
self::$countries = array_merge(self::$countries, self::$countries_non_iso);
289+
}
290+
}
291+
292+
/**
293+
* Returns countries array depending on iso flag
294+
* @param bool $iso
295+
* @return array
296+
* @author Paul Bönisch - <paul.boenisch@umwerk.net>
297+
*/
298+
public static function getCountries($iso = true){
299+
$result = self::$countries;
300+
if(!$iso){
301+
$result = array_merge($result, self::$countries_non_iso);
302+
}
303+
304+
return $result;
305+
}
306+
307+
/**
308+
* Returns instance of ContriesArray with $iso property according to $value parameter
309+
* @param $value
310+
* @return CountriesArray
311+
* @author Paul Bönisch - <paul.boenisch@umwerk.net>
312+
*/
313+
public static function iso($value){
314+
return new CountriesArray($value);
315+
}
273316

274317
/*
275318
* function get()
@@ -380,15 +423,15 @@ public static function getFromContinent( $keyField = 'alpha2', $requestedField =
380423
if ( $continent ) {
381424
if ( $country['continent'] == $continent ) {
382425
$result[ $country[ $keyField ] ] = $country[ $requestedField ];
383-
}
426+
}
384427
} else {
385428
$result[ $country[ $keyField ] ] = $country[ $requestedField ];
386429
}
387430
} else {
388431
if ( $continent ) {
389432
if ( $country['continent'] == $continent ) {
390433
$result[] = $country[ $requestedField ];
391-
}
434+
}
392435
} else {
393436
$result[] = $country[ $requestedField ];
394437
}

0 commit comments

Comments
 (0)