foreach (cot_getextplugins('i18n.page.add.done') as $pl) { include $pl; } /* =============*/ cot_message('Added'); $page_urlp = empty($pag['page_alias']) ? "c={$pag['page_cat']}&id={$id}&l=" . $pag_i18n['ipage_locale'] : 'c=' . $pag['page_cat'] . '&al=' . $pag['page_alias'] . '&l=' . $pag_i18n['ipage_locale']; cot_redirect(cot_url('page', $page_urlp, '', true, false, true)); } $out['subtitle'] = $L['i18n_adding']; $t = new XTemplate(cot_tplfile('i18n.page', 'plug')); // Get locales list $lc_list = $i18n_locales; // Exclude default lang unset($lc_list[$cfg['defaultlang']]); // Exclude existing translations foreach (cot_i18n_list_page_locales($id) as $lc) { unset($lc_list[$lc]); } $lc_values = array_keys($lc_list); $lc_names = array_values($lc_list); if (empty($pag_i18n['ipage_text'])) { // Insert original page source into translation tab to keep markup $pag_i18n['ipage_text'] = $pag['page_text']; } $t->assign(array('I18N_ACTION' => cot_url('plug', "e=i18n&m=page&a=add&id={$id}"), 'I18N_TITLE' => $L['i18n_adding'], 'I18N_ORIGINAL_LANG' => $i18n_locales[$cfg['defaultlang']], 'I18N_LOCALIZED_LANG' => cot_selectbox('', 'locale', $lc_values, $lc_names, false), 'I18N_PAGE_TITLE' => htmlspecialchars($pag['page_title']), 'I18N_PAGE_DESC' => htmlspecialchars($pag['page_desc']), 'I18N_PAGE_TEXT' => cot_parse($pag['page_text'], $cfg['page']['markup']), 'I18N_IPAGE_TITLE' => htmlspecialchars($pag_i18n['ipage_title']), 'I18N_IPAGE_DESC' => htmlspecialchars($pag_i18n['ipage_desc']), 'I18N_IPAGE_TEXT' => cot_textarea('translate_text', $pag_i18n['ipage_text'], 32, 80, '', 'input_textarea_editor'))); cot_display_messages($t); /* === Hook === */ foreach (cot_getextplugins('i18n.page.translate.tags') as $pl) { include $pl; } /* =============*/
Hooks=page.tags Tags=page.tpl:{I18N_LANG_ROW_URL},{I18N_LANG_ROW_CODE},{I18N_LANG_ROW_TITLE},{I18N_LANG_ROW_CLASS},{I18N_LANG_ROW_SELECTED},{PAGE_I18N_TRANSLATE},{PAGE_I18N_DELETE} [END_COT_EXT] ==================== */ /** * Assigns i18n control tags for a page * * @package I18n * @copyright (c) Cotonti Team * @license https://github.com/Cotonti/Cotonti/blob/master/License.txt */ defined('COT_CODE') or die('Wrong URL'); if ($i18n_enabled) { $id = empty($id) ? $pag['page_id'] : $id; // Render language selection $pag_i18n_locales = cot_i18n_list_page_locales($id); if (count($pag_i18n_locales) > 0) { array_unshift($pag_i18n_locales, $cfg['defaultlang']); foreach ($pag_i18n_locales as $lc) { if ($lc == $i18n_locale) { $lc_class = 'selected'; $lc_selected = 'selected="selected"'; } else { $lc_class = ''; $lc_selected = ''; } $urlparams = empty($pag['page_alias']) ? array('c' => $pag['page_cat'], 'id' => $id) : array('c' => $pag['page_cat'], 'al' => $al); if (!$cfg['plugin']['i18n']['omitmain'] || $lc != $i18n_fallback) { $urlparams += array('l' => $lc); } $t->assign(array('I18N_LANG_ROW_URL' => cot_url('page', $urlparams, '', false, true), 'I18N_LANG_ROW_CODE' => $lc, 'I18N_LANG_ROW_TITLE' => $i18n_locales[$lc], 'I18N_LANG_ROW_CLASS' => $lc_class, 'I18N_LANG_ROW_SELECTED' => $lc_selected));