check_feature('feature_multilingual'); $access->check_permission('tiki_p_admin'); $multilingualLib = TikiLib::lib('multilingual'); $languageLib = TikiLib::lib('language'); $prefsLib = TikiLib::lib('prefs'); $preference = $_REQUEST['pref']; $usedLanguages = []; $translatedVal = []; $defaultLanguage = $prefs['site_language'] ? $prefs['site_language'] : 'en'; $definition = $prefsLib->getPreference($preference); if (empty($preference)) { $smarty->assign('msg', tra('No preference given.')); $smarty->assign('errortype', 0); $smarty->display("error.tpl"); die; } if ($definition['translatable'] != 'y') { $smarty->assign('msg', tra('This preference is not translatable.')); $smarty->assign('errortype', 0); $smarty->display("error.tpl"); die; } if (isset($_POST['save']) && $access->checkCsrf()) { if (! empty($preference)) { foreach ($_POST['new_val'] as $lang => $val) { $prefsLib->setTranslatedPreference($preference, $lang, $val, $defaultLanguage); } } } $translatedVal[$defaultLanguage] = $prefsLib->getTranslatedPreference($preference, $defaultLanguage); $preferredLanguages = $multilingualLib->preferredLangs(); foreach ($preferredLanguages as $l) { $usedLanguages[$l] = true; if ($l != $defaultLanguage) { $translatedVal[$l] = $prefsLib->getTranslatedPreference($preference, $l); } } if ( array_key_exists('additional_languages', $_POST) && is_array($_POST['additional_languages']) && $access->checkCsrf() ) { foreach ($_POST['additional_languages'] as $lang) { if ($lang != $defaultLanguage) { $usedLanguages[$lang] = true; $translatedVal[$lang] = $prefsLib->getTranslatedPreference($preference, $lang); } } } $usedLanguages = array_keys($usedLanguages); $allLanguages = $languageLib->list_languages(); $smarty->assign('pref', $preference); $smarty->assign('languageList', $usedLanguages); $smarty->assign('translated_val', $translatedVal); $smarty->assign('fullLanguageList', $allLanguages); $smarty->assign('default_language', $defaultLanguage); // Display the template $smarty->assign('mid', 'tiki-preference_translate.tpl'); $smarty->display("tiki.tpl");