public static function getDefaultSystemLanguage() { try { $defaultLanguage = Gpf_Db_Table_Languages::getInstance()->getDefaultLanguage(); $langCode = $defaultLanguage->getCode(); if ($langCode != null) { return $langCode; } } catch (Exception $e) { } return Gpf_Application::getInstance()->getDefaultLanguage(); }
/** * Set language as default and unset another default language * * @service language write * @param Gpf_Rpc_Params $params * @return Gpf_Rpc_Action */ public function setLanguageAsDefault(Gpf_Rpc_Params $params) { $action = new Gpf_Rpc_Action($params); try { Gpf_Db_Table_Languages::getInstance()->unsetDefaultLanguage($action->getParam(Gpf_Db_Table_Languages::ID)); $lang = new Gpf_Db_Language(); $lang->setId($action->getParam(Gpf_Db_Table_Languages::ID)); $lang->load(); $lang->setIsDefault(true); $lang->save(); } catch (Exception $e) { $action->addError(); $action->setErrorMessage($this->_('Failed to set default language with error: %s', $e->getMessage())); return $action; } $action->setInfoMessage($this->_('Language %s set as default.', $lang->getEnglishName())); $action->addOk(); return $action; }
private function checkIsDefaultStatus() { if (!$this->isActive() && $this->isDefault()) { throw new Gpf_Exception($this->_('Default language has to be active !')); } try { $defLang = Gpf_Db_Table_Languages::getInstance()->getDefaultLanguage(); if (($this->getCode() == $defLang->getCode() || !strlen($defLang->getCode())) && $this->isDefault() === false) { $this->setIsDefault(true); } } catch (Gpf_DbEngine_NoRowException $e) { $this->setIsDefault(true); } if ($this->isDefault()) { Gpf_Db_Table_Languages::getInstance()->unsetDefaultLanguage($this->getId()); } }