Пример #1
0
 public function testGetLanguageByBrowser()
 {
     $defaultLanguage = CMTest_TH::createLanguage('en');
     $browserLanguage = CMTest_TH::createLanguage('de');
     $this->assertEquals(CM_Model_Language::findDefault(), $defaultLanguage);
     $request = $this->_prepareRequest('/', array('Accept-Language' => 'de'));
     $this->assertEquals($request->getLanguage(), $browserLanguage);
     $request = $this->_prepareRequest('/', array('Accept-Language' => 'pl'));
     $this->assertEquals($request->getLanguage(), $defaultLanguage);
 }
Пример #2
0
 /**
  * @param bool|null $fallbackToDefault
  * @return CM_Model_Language|null
  */
 public function getLanguage($fallbackToDefault = null)
 {
     $language = $this->getEnvironment()->getLanguage();
     if (null === $language && $fallbackToDefault) {
         if ($viewer = $this->getViewer()) {
             $language = $viewer->getLanguage();
         }
         if (null === $language) {
             $language = CM_Model_Language::findDefault();
         }
     }
     return $language;
 }
Пример #3
0
 /**
  * @return CM_Model_Language|null
  */
 public function getLanguage()
 {
     if ($language = $this->_getLanguageViewer()) {
         return $language;
     }
     if ($language = $this->getLanguageUrl()) {
         return $language;
     }
     if ($language = $this->_getLanguageBrowser()) {
         return $language;
     }
     return CM_Model_Language::findDefault();
 }
Пример #4
0
 public function testFindDefault()
 {
     $language = CM_Model_Language::create('English', 'en', true);
     $this->assertEquals($language, CM_Model_Language::findDefault());
     $language->setEnabled(false);
     $this->assertEquals($language, CM_Model_Language::findDefault());
     CM_Cache_Local::getInstance()->flush();
     $this->assertNull(CM_Model_Language::findDefault());
 }