plugins\i18n\i18n.page.tags.php

<?php
/* ====================
[BEGIN_COT_EXT]
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
			));
			$t->parse('MAIN.I18N_LANG.I18N_LANG_ROW');
		}
		$t->parse('MAIN.I18N_LANG');
	}
 
	if ($i18n_write)
	{
		// Translation tags
		if ($pag_i18n)
		{
			if ($i18n_admin || $pag_i18n['ipage_translatorid'] == $usr['id'])
			{
				// Edit translation
				$url_i18n = cot_url('plug', "e=i18n&m=page&a=edit&id=$id&l=$i18n_locale");
				$t->assign(array(
					'PAGE_ADMIN_EDIT' => cot_rc_link($url_i18n, $L['Edit']),
					'PAGE_ADMIN_EDIT_URL' => $url_i18n
				));
			}
		}
		else
		{
			if (count($pag_i18n_locales) < count($i18n_locales))
			{
				// Translate button
				$url_i18n = cot_url('plug', "e=i18n&m=page&a=add&id=$id");
				$t->assign(array(
					'PAGE_I18N_TRANSLATE' => cot_rc_link($url_i18n, $L['i18n_translate']),
					'PAGE_I18N_TRANSLATE_URL' => $url_i18n
				));
			}
		}
	}
 
	if ($i18n_admin)
	{
		// Control tags
		if ($pag_i18n)
		{
			// Delete translation
			$url_i18n = cot_url('plug', "e=i18n&m=page&a=delete&id=$id&l=$i18n_locale");
			$t->assign(array(
				'PAGE_I18N_DELETE' => cot_rc_link($url_i18n, $L['Delete']),
				'PAGE_I18N_DELETE_URL' => $url_i18n
			));
		}
	}
}