1 | <?php |
||
2 | |||
3 | namespace libphonenumber\prefixmapper; |
||
4 | |||
5 | /** |
||
6 | * A utility which knows the data files that are available for the phone prefix mappers to use. |
||
7 | * The data files contain mappings from phone number prefixes to text descriptions, and are |
||
8 | * organized by country calling code and language that the text descriptions are in. |
||
9 | * |
||
10 | * Class MappingFileProvider |
||
11 | * @package libphonenumber\prefixmapper |
||
12 | * @internal |
||
13 | */ |
||
14 | class MappingFileProvider |
||
15 | { |
||
16 | protected $map; |
||
17 | |||
18 | 253 | public function __construct($map) |
|
19 | { |
||
20 | 253 | $this->map = $map; |
|
21 | 253 | } |
|
22 | |||
23 | 25 | public function getFileName($countryCallingCode, $language, $script, $region) |
|
0 ignored issues
–
show
|
|||
24 | { |
||
25 | 25 | if (strlen($language) == 0) { |
|
26 | return ''; |
||
27 | } |
||
28 | |||
29 | 25 | if ($language === 'zh' && ($region == 'TW' || $region == 'HK' || $region == 'MO')) { |
|
30 | 1 | $language = 'zh_Hant'; |
|
31 | } |
||
32 | |||
33 | // Loop through the $countryCallingCode and load the prefix |
||
34 | 25 | $prefixLength = strlen($countryCallingCode); |
|
35 | |||
36 | 25 | for ($i = $prefixLength; $i > 0; $i--) { |
|
37 | 25 | $prefix = substr($countryCallingCode, 0, $i); |
|
38 | 25 | if ($this->inMap($language, $prefix)) { |
|
39 | 22 | return $language . DIRECTORY_SEPARATOR . $prefix . '.php'; |
|
40 | } |
||
41 | } |
||
42 | |||
43 | 8 | return ''; |
|
44 | } |
||
45 | |||
46 | 25 | protected function inMap($language, $countryCallingCode) |
|
47 | { |
||
48 | 25 | return (array_key_exists($language, $this->map) && in_array($countryCallingCode, $this->map[$language])); |
|
49 | } |
||
50 | } |
||
51 |
This check looks for parameters that have been defined for a function or method, but which are not used in the method body.