protected function _setupLanguage() { $WeTransfer_Languages = new WeTransfer_Languages(); if (isset($_SESSION['user']['lang_override'])) { if ($_SESSION['user']['lang_override']) { $_SESSION['user']['language_id'] = $_SESSION['user']['selected_lang_id']; } } // we merge the default language w/ the detected language, in case // phrases do not exist in the detected language // @TODO: there should be no merge if the selected language matches the site default $siteDefaultLanguageId = $WeTransfer_Languages->fetchLanguageIdByIso31661(SITE_DEFAULT_LANGUAGE); if (!@$_SESSION['user']['lang_override']) { $_SESSION['user']['language_id'] = $WeTransfer_Languages->fetchLanguageIdByLocale($_SESSION['user']['locale']); $_SESSION['user']['site_language'] = $_SESSION['user']['language_id']; } else { $_SESSION['user']['site_language'] = $_SESSION['user']['language_id']; } $siteDefaultPhrases = $WeTransfer_Languages->fetchPhrasesByLanguageId($siteDefaultLanguageId); $_SESSION['site']['phrases'] = $WeTransfer_Languages->fetchPhrasesByLanguageId($_SESSION['user']['language_id']); $_SESSION['site']['phrases'] = array_merge($siteDefaultPhrases, $_SESSION['site']['phrases']); }
public function phrasesAction() { if (!in_array('can_admin_site_phrases', $_SESSION['site']['permissions']['admin'])) { // $this->_forward($action, $controller = null, $module = null, array $params = null) $this->_forward('login'); } if (!empty($_POST)) { // $_POST['id'] is an array of phrases $this->_WeTransfer_Site_Phrases->updateSitePhrases($_POST['id']); $this->view->update = true; } $phrases = $this->_WeTransfer_Site_Phrases->fetchAllPhrases(); foreach ($phrases as $key => $value) { $phrases[$key]['friendly_name'] = WeTransfer_Languages::fetchFriendlyNameById($value['language_id']); } // START: sort by language name $phrasesFinal = array(); foreach ($phrases as $key => $value) { $phrasesFinal[$value['friendly_name']][] = $value; } // END: sort by languaga name $this->view->phrases = $phrasesFinal; }