示例#1
0
     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;
 }
 /* =============*/
示例#2
0
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));