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); }
/** * @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; }
/** * @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(); }
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()); }