From 6245e0f77046614391a03ba18b2bc530d9b1b1a7 Mon Sep 17 00:00:00 2001 From: Matthieu Napoli Date: Wed, 31 Dec 2014 13:57:34 +1300 Subject: Created data provider classes in a new Intl component Less code in `Piwik\Common`, less static classes, more isolated components. --- core/Intl/Data/Provider/LanguageDataProvider.php | 45 ++++++++++++++++++++++ core/Intl/Data/Provider/RegionDataProvider.php | 49 ++++++++++++++++++++++++ 2 files changed, 94 insertions(+) create mode 100644 core/Intl/Data/Provider/LanguageDataProvider.php create mode 100644 core/Intl/Data/Provider/RegionDataProvider.php (limited to 'core/Intl') diff --git a/core/Intl/Data/Provider/LanguageDataProvider.php b/core/Intl/Data/Provider/LanguageDataProvider.php new file mode 100644 index 0000000000..8369d8b1a7 --- /dev/null +++ b/core/Intl/Data/Provider/LanguageDataProvider.php @@ -0,0 +1,45 @@ + language name (in english). + * E.g. `array('en' => 'English', 'ja' => 'Japanese')`. + * @api + */ + public static function getLanguageList() + { + require_once PIWIK_INCLUDE_PATH . '/core/DataFiles/Languages.php'; + + $languagesList = $GLOBALS['Piwik_LanguageList']; + return $languagesList; + } + + /** + * Returns the list of language to country mappings. + * + * @return string[] Array of 2 letter ISO language code => 2 letter ISO country code. + * E.g. `array('fr' => 'fr') // French => France`. + * @api + */ + public static function getLanguageToCountryList() + { + require_once PIWIK_INCLUDE_PATH . '/core/DataFiles/LanguageToCountry.php'; + + $languagesList = $GLOBALS['Piwik_LanguageToCountry']; + return $languagesList; + } +} diff --git a/core/Intl/Data/Provider/RegionDataProvider.php b/core/Intl/Data/Provider/RegionDataProvider.php new file mode 100644 index 0000000000..b47aa4ab9c --- /dev/null +++ b/core/Intl/Data/Provider/RegionDataProvider.php @@ -0,0 +1,49 @@ + 3 letter continent code + * @api + */ + public static function getCountryList($includeInternalCodes = false) + { + require_once PIWIK_INCLUDE_PATH . '/core/DataFiles/Countries.php'; + + $countriesList = $GLOBALS['Piwik_CountryList']; + $extras = $GLOBALS['Piwik_CountryList_Extras']; + + if ($includeInternalCodes) { + return array_merge($countriesList, $extras); + } + + return $countriesList; + } +} -- cgit v1.2.3