/** * Create a language object * * @access private * @return object Jlanguage16 * @since 1.5 */ function &_createLanguage() { jimport('joomla.language.language'); $conf =& JFactory::getConfig(); $locale = $conf->getValue('config.language'); $lang =& Jlanguage16::getInstance($locale); $lang->setDebug($conf->getValue('config.debug_lang')); return $lang; }
function shSetJfLanguage($requestlang) { if (empty($requestlang)) { return; } // get instance of JoomFishManager to obtain active language list and config values $jfm =& JoomFishManager::getInstance(); $activeLanguages = $jfm->getActiveLanguages(); // get the name of the language file for joomla $jfLang = TableJFLanguage::createByShortcode($requestlang, true); // set Joomfish stuff // Get the global configuration object global $mainframe; $registry =& JFactory::getConfig(); $params = $registry->getValue("jfrouter.params"); $enableCookie = empty($params) ? 1 : $params->get('enableCookie', 1); if ($enableCookie) { setcookie("lang", "", time() - 1800, "/"); setcookie("jfcookie", "", time() - 1800, "/"); setcookie("jfcookie[lang]", $jfLang->shortcode, time() + 24 * 3600, '/'); } $GLOBALS['iso_client_lang'] = $jfLang->shortcode; $GLOBALS['mosConfig_lang'] = $jfLang->code; $mainframe->setUserState('application.lang', $jfLang->code); $registry->setValue("config.jflang", $jfLang->code); $registry->setValue("config.lang_site", $jfLang->code); $registry->setValue("config.language", $jfLang->code); $registry->setValue("joomfish.language", $jfLang); // Force factory static instance to be updated if necessary $lang =& JFactory::getLanguage(); if ($jfLang->code != $lang->getTag()) { $lang = JFactory::_createLanguage(); } $lang16 =& shjlang16Helper::getLanguage(); if ($jfLang->code != $lang16->getTag()) { $lang16 = Jlanguage16::createLanguage(); } // overwrite with the valued from $jfLang $params = new JParameter($jfLang->params); $paramarray = $params->toArray(); foreach ($paramarray as $key => $val) { $registry->setValue("config." . $key, $val); if (defined("_JLEGACY")) { $name = 'mosConfig_' . $key; $GLOBALS[$name] = $val; } } // set our own data $GLOBALS['shMosConfig_lang'] = $lang->get('backwardlang', 'english'); $GLOBALS['shMosConfig_locale'] = $jfLang->code; $GLOBALS['shMosConfig_shortcode'] = $jfLang->shortcode; }