Completed
Push — master ( bb42d5...3141b5 )
by Adam
01:00
created

Locale::countryCodeToLocale()   A

Complexity

Conditions 4
Paths 2

Size

Total Lines 16
Code Lines 10

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
c 1
b 0
f 1
dl 0
loc 16
rs 9.2
cc 4
eloc 10
nc 2
nop 2
1
<?php
2
3
namespace IPub\FormPhone\Locale;
4
5
use Giggsey;
6
7
class Locale extends Giggsey\Locale\Locale
8
{
9
	/**
10
	 * @link http://stackoverflow.com/a/10375234/403165
11
	 * @param string $countryCode
12
	 * @param string $languageCode
13
	 *
14
	 * @return string
15
	 */
16
	public static function countryCodeToLocale($countryCode, $languageCode = '')
17
	{
18
		$locale = 'en-' . $countryCode;
19
		$localeRegion = locale_get_region($locale);
20
		$localeLanguage = locale_get_primary_language($locale);
21
		$localeArray= [
22
			'language' => $localeLanguage,
23
			'region' => $localeRegion,
24
		];
25
26
		if (strtoupper($countryCode) === $localeRegion && ($languageCode === '' || strtolower($languageCode) === $localeLanguage)) {
27
			return locale_compose($localeArray);
28
		}
29
30
		return NULL;
31
	}
32
}
33