예제 #1
0
 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;
 }