Registry::set('navigation.dynamic.sections', $sections); Registry::set('navigation.dynamic.active_section', 'translations'); list($lang_data, $search) = LanguageValues::getVariables($_REQUEST, Registry::get('settings.Appearance.admin_elements_per_page')); Tygh::$app['view']->assign('lang_data', $lang_data); Tygh::$app['view']->assign('search', $search); } elseif ($mode == 'update') { $lang_data = Languages::get(array('lang_id' => $_REQUEST['lang_id']), 'lang_id'); if (empty($lang_data[$_REQUEST['lang_id']])) { return array(CONTROLLER_STATUS_NO_PAGE); } else { $lang_data = $lang_data[$_REQUEST['lang_id']]; } Tygh::$app['view']->assign('lang_data', $lang_data); Tygh::$app['view']->assign('countries', fn_get_simple_countries(false, DESCR_SL)); } elseif ($mode == 'update_translation') { $lang_data = Languages::get(array('lang_id' => $_REQUEST['lang_id']), 'lang_id'); if (empty($lang_data[$_REQUEST['lang_id']])) { return array(CONTROLLER_STATUS_NO_PAGE); } else { $lang_data = $lang_data[$_REQUEST['lang_id']]; } Tygh::$app['view']->assign('lang_data', $lang_data); } /** * @deprecated * * Updates language * * @param array $language_data Language data * @param string $lang_id language id * @return string language id
/** * Imports nessesared languages * * @return bool true on success, false otherwise */ public function setupLanguages($demo) { $languages = $this->_cart_settings['languages']; if (!empty($languages)) { foreach ($languages as $lang_code) { $pack_path = Registry::get('config.dir.install') . App::DB_LANG . "/{$lang_code}/{$lang_code}.po"; $edition_pack_path = Registry::get('config.dir.install') . App::DB_LANG . "/{$lang_code}/{$lang_code}" . '_' . fn_get_edition_acronym(PRODUCT_EDITION) . '.po'; if (!file_exists($pack_path)) { App::instance()->setNotification('W', 'Missing language pack', 'Unable to find: ' . $pack_path . ' (skipped)', true); continue; } $this->_parseSql(Registry::get('config.dir.install') . App::DB_LANG . "/{$lang_code}/" . App::DB_LANG_DATA, 'text_installing_additional_language', array('lang_code' => $lang_code)); if ($demo) { $this->_parseSql(Registry::get('config.dir.install') . App::DB_LANG . "/{$lang_code}/" . App::DB_LANG_DEMO, 'text_installing_additional_language', array('lang_code' => $lang_code)); } // Install language variables from PO files $params = array('lang_code' => $lang_code); $_langs = Languages::get($params); $is_exists = count($_langs) > 0 ? true : false; Languages::installLanguagePack($pack_path, array('reinstall' => $is_exists)); if (file_exists($edition_pack_path)) { Languages::installLanguagePack($edition_pack_path, array('reinstall' => true)); } } // share all additional languages if (fn_allowed_for('ULTIMATE')) { db_query("REPLACE INTO ?:ult_objects_sharing (`share_company_id`, `share_object_id`, `share_object_type`) " . "SELECT ?:companies.company_id, ?:languages.lang_id, 'languages' " . "FROM ?:languages INNER JOIN ?:companies;"); } $languages = db_get_hash_array("SELECT * FROM ?:languages", 'lang_code'); Registry::set('languages', $languages); return true; } else { return false; } }