/** * Method to create a select list of the installed components * * @access public * @param int ID of current item * @param string name of select list * @param boolean if true, changing selected item will submit the form (assume is an "adminForm") * @param boolean, if true, a line 'Select all' is inserted at the start of the list * @param string the "Select all" to be displayed, if $addSelectAll is true * @return string HTML output */ public static function buildLanguagesSelectList($current, $name, $autoSubmit = false, $addSelectAll = false, $selectAllTitle = '', $customSubmit = '') { // load languages from DB $languages = Sh404sefHelperGeneral::getInstalledLanguagesList(); // adjust to require format $data = array(); if (!empty($languages)) { foreach ($languages as $languages) { $data[] = array('id' => $languages->shortcode, 'title' => $languages->name); } } // use helper to build html $list = self::buildSelectList($data, $current, $name, $autoSubmit, $addSelectAll, $selectAllTitle, $customSubmit); // return list return $list; }
function shGetNameFromIsoCode($langCode) { static $shLangNameCache = null; global $shMosConfig_lang, $shMosConfig_locale, $shLangNameCache; if (empty($shLangNameCache)) { $type = shIsMultilingual(); if ($type !== false) { $languages = Sh404sefHelperGeneral::getInstalledLanguagesList(); foreach ($languages as $language) { $jfIsoCode = empty($language->shortcode) ? $language->iso : $language->shortcode; $shLangNameCache[$jfIsoCode] = $language->code; } return empty($shLangNameCache[$langCode]) ? $shMosConfig_locale : $shLangNameCache[$langCode]; } else { // no joomfish, so it has to be default language return $shMosConfig_locale; } } else { return empty($shLangNameCache[$langCode]) ? $shMosConfig_locale : $shLangNameCache[$langCode]; } }