PATH:
var
/
www
/
vhosts
/
sandbox.dos-group.com
/
beacons.sandbox.dos-group.com
/
vendor
/
dos
/
common
/
src
/
Dos
/
Intl
<?php /** * Created by PhpStorm. * User: Stefano.Balzarotti * Date: 11.12.2015 * Time: 17:05 */ namespace Dos\Intl; use Dos\Exception\PathNotFoundException; class LocaleManager implements LocaleManagerInterface { /** * @var string */ private $locale; /** * @var LocaleDomainInterface[] */ private $localeDomains; /** * LocaleManager constructor. * @param string $locale * @param LocaleDomain[] $localeDomains */ public function __construct($locale, array $localeDomains = []) { $this->locale = $locale; $this->localeDomains = $localeDomains; } /** * @param LocaleDomainInterface $domain */ public function registerLocaleDomain(LocaleDomainInterface $domain) { $this->localeDomains[] = $domain; } /** * @return LocaleDomainInterface[] */ public function getLocaleDomains() { return $this->localeDomains; } /** * @return string */ public function getBestLocale() { switch ($this->getLanguageCode()) { case 'it': $locale = 'it_IT'; break; case 'de': $locale = 'de_DE'; break; case 'fr': $locale = 'fr_FR'; break; case 'es': $locale = 'es_ES'; break; case 'cz': $locale = 'cs_CZ'; break; case 'cs': $locale = 'cs_CZ'; break; default: $locale = 'en_GB'; } return $locale; } /** * @return string */ public function getLanguageCode() { return \Locale::getPrimaryLanguage($this->getLocale()); } /** * @throws \ErrorException * @throws \DomainException * @throws PathNotFoundException */ public function registerMessages() { putenv('LC_ALL='.$this->getBestLocale()); putenv('LANGUAGE='.$this->getBestLocale()); setlocale(LC_ALL,$this->getBestLocale()); foreach ($this->getLocaleDomains() as $localeDomain) { foreach ($localeDomain->getDomains() as $domain) { bindtextdomain($domain, $localeDomain->getPath()); //ex: messages.po bind_textdomain_codeset($domain, $localeDomain->getEncoding()); //ex: messages.po, UTF-8 textdomain($domain); //ex: messages.po } $this->includeMessages($localeDomain->getPath()); } } /** * @param string $locale */ public function setLocale($locale) { $this->locale = $locale; } /** * @return string */ public function getLocale() { return $this->locale; } /** * @param string $path * @param string $fileName * @return bool * Load defines file */ protected function includeMessages($path, $fileName = 'defines.php') { $filePath = $path . DIRECTORY_SEPARATOR . $fileName; if (file_exists($filePath) && is_file($filePath)) { include_once($filePath); return true; } else { return false; } } }
[-] LocaleDALInterface.php
[open]
[-] LocaleDomainInterface.php
[open]
[+]
..
[-] LocaleDomain.php
[open]
[-] LocaleManagerInterface.php
[open]
[-] LocaleManager.php
[open]