<?php
/**
 * Система управления сайтом HostCMS v. 5.xx
 * Copyright © 2005-2010 ООО "Хостмэйк" (Hostmake LLC), http://www.hostcms.ru
 *
 * Обработчик добавления/редактирования меток.
 * 
 * Файл: /admin/tag/action/add_edit_tag.php
 * 
 * @author Hostmake LLC
 * @version 5.x
 */
// Получаем переданные поля
$param = array();

$param['tag_id'] = to_int($_REQUEST['tag_id']);

$param['tags_group_id'] = to_int($_REQUEST['new_tags_group_parent_id']);

$param['tag_description'] = to_str($_REQUEST['tag_description']);

if (isset($_REQUEST['users_id']) && $_REQUEST['users_id'] !== false)
{
	$param['users_id'] = intval($_REQUEST['users_id']);
}
else
{
	$param['users_id'] = false;
}

$Tag = & singleton('Tag');

$error = false;

$tag_name = trim(to_str($_POST['tag_name']));

if (!empty($tag_name))
{
	$tags_array = explode("\n", to_str($_POST['tag_name']));
	
	// Путь для метки учитываем в случае вставки одной метки
	if (count($tags_array) == 1)
	{
		$param['tag_path'] = to_str($_REQUEST['tag_path']);
	}	

	foreach ($tags_array as $key => $val)
	{
		if (trim($val) != '')
		{
			$param['tag_name'] = trim($val);
			
			if (!($tag_id = $Tag->InsertTag($param)))
			{
				// Если добавление прошло успешно, обязательно добавим на форму скрытое поле с ID добавленной записи
				$admin_forms = new admin_forms();
				$window_id = $admin_forms->GetWindowId();
				?><script type="text/javascript">
				$.appendInput('<?php echo $window_id?>', 'EditAddTag', 'tag_id', '<?php echo $tag_id?>');
				</script><?php

				$error = true;
			}
		}
	}
}
else
{	
	$error = true;	
}

// Если добавление прошло успешно, обязательно добавим на форму скрытое поле с ID добавленной записи
if (!$error)
{	
	// Редактирование сущности
	if (isset($_REQUEST['tag_id']))
	{
		show_message($GLOBALS['MSG_tag']['edit_tag_success']);
	}
	// Добавление сущности
	else
	{
		show_message($GLOBALS['MSG_tag']['add_tag_success']);
	}
}
// Ошибка добавления/редактирования
else
{
	if (isset($_REQUEST['tag_id']))
	{
		show_error_message($GLOBALS['MSG_tag']['edit_tag_error']);
	}
	else
	{
		show_error_message($GLOBALS['MSG_tag']['add_tag_error']);
	}
}
?>