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

$kernel = & singleton('kernel');

$param = array();

// Получаем данные из запроса в массив параметров для вставки в БД
if (isset($_REQUEST['shop_eitem_id']))
{
	$param['shop_eitem_id'] = to_int($_REQUEST['shop_eitem_id']);
}

$shop_shops_id = to_int($_REQUEST['shop_shops_id']);
$item_id = to_int($_REQUEST['item_id']);
$param['shop_items_catalog_item_id'] = to_int($_REQUEST['shop_items_catalog_item_id']);
$param['shop_eitem_name'] = to_str($_REQUEST['shop_eitem_name']);
$param['shop_eitem_value'] = to_str($_REQUEST['shop_eitem_value']);
$param['shop_eitem_count'] = to_int($_REQUEST['shop_eitem_count']);

if ($eitem_id = $shop->InsertEItem($param))
{
	$admin_forms = new admin_forms();
	$window_id = $admin_forms->GetWindowId();
	?><script type="text/javascript">
	$.appendInput('<?php echo $window_id?>', 'EditAddEitem', 'shop_eitem_id', '<?php echo $eitem_id?>');
	</script><?php

	$param = array();

	if (isset($_FILES['shop_eitem_filename']['name']) && $_FILES['shop_eitem_filename']['name'] != '')
	{
		// Получаем информацию об электронном товаре до обновления
		$old_row = $shop->GetEItem($eitem_id);

		$eitem_path = UPLOADDIR . 'shop_' . $shop_shops_id . '/eitems/item_catalog_' . $item_id . '/';
		
		// Если был установлен старый файл, получаем полный путь к нему в файловой системе
		if ($old_row['shop_eitem_filename'] != '')
		{
			// Имя файла, без расширения
			$old_f_name = $old_row['shop_eitem_id'];

			// Расширение старого файла
			$old_f_ext = $kernel->GetExtension($old_row['shop_eitem_filename']);
			
			if($old_f_ext != '')
			{
				$old_f_ext = "." . $old_f_ext;
			}

			// Генерируем имя старого файла
			$old_file_name = CMS_FOLDER . $eitem_path . $old_f_name . $old_f_ext;

			// Если старый файл существует, удаляем его
			if (is_file($old_file_name))
			{
				@unlink($old_file_name);
			}
		}

		$param['shop_eitem_id'] = $eitem_id;

		// Оригинальное имя файла
		$param['shop_eitem_filename'] = to_str($_FILES['shop_eitem_filename']['name']);

		// Вызываем метод для обновления информации об оригинальном имени файла
		$shop->InsertEItem($param);

		// Создаем каталоги
		$kernel->PathMkdir($eitem_path);

		// Получаем расширение файла
		$exp = $kernel->GetExtension($_FILES['shop_eitem_filename']['name']);
		
		$file_path = CMS_FOLDER . $eitem_path . $eitem_id . '.' . $exp;
		
		if (!move_uploaded_file($_FILES['shop_eitem_filename']['tmp_name'], $file_path))
		{
			// Отображаем ошибку
			show_error_message($GLOBALS['MSG_shops']['eitems_add_edit_form_error']);

			$param = array();

			// Стираем информацию о файле из БД
			$param['shop_eitem_id'] = $eitem_id;

			// Оригинальное имя файла
			$param['shop_eitem_filename'] = '';

			// Вызываем метод для обновления информации об оригинальном имени файла
			$shop->InsertEItem($param);
		}
		else
		{
			/* Устанавливаем права */
			@chmod($file_path, CHMOD_FILE);
		}
	}
}
?>