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

if (isset($_POST['edit_producer']))
{
	$param['id'] = to_int($_POST['edit_producer']);
}

$param['name'] = to_str($_POST['producer_name']);
$param['description'] = to_str($_POST['producer_description']);
$param['image'] = to_str($_REQUEST['producer_image']);
$param['small_image'] = to_str($_REQUEST['producer_image_small']);
$param['order'] = to_str($_POST['producer_order']);
$param['path'] = to_str($_POST['producer_path']);

$param['shop_producers_list_address'] = $_POST['shop_producers_list_address'];
$param['shop_producers_list_phone'] = $_POST['shop_producers_list_phone'];
$param['shop_producers_list_fax'] = $_POST['shop_producers_list_fax'];
$param['shop_producers_list_site'] = $_POST['shop_producers_list_site'];
$param['shop_producers_list_email'] = $_POST['shop_producers_list_email'];
$param['shop_producers_list_inn'] = $_POST['shop_producers_list_inn'];
$param['shop_producers_list_kpp'] = $_POST['shop_producers_list_kpp'];
$param['shop_producers_list_ogrn'] = $_POST['shop_producers_list_ogrn'];
$param['shop_producers_list_okpo'] = $_POST['shop_producers_list_okpo'];
$param['shop_producers_list_okved'] = $_POST['shop_producers_list_okved'];
$param['shop_producers_list_bik'] = $_POST['shop_producers_list_bik'];
$param['shop_producers_list_account'] = $_POST['shop_producers_list_account'];
$param['shop_producers_list_corr_account'] = $_POST['shop_producers_list_corr_account'];
$param['shop_producers_list_bank_name'] = $_POST['shop_producers_list_bank_name'];
$param['shop_producers_list_bank_address'] = $_POST['shop_producers_list_bank_address'];

$param['shop_producers_list_seo_title'] = $_POST['shop_producers_list_seo_title'];
$param['shop_producers_list_seo_description'] = $_POST['shop_producers_list_seo_description'];
$param['shop_producers_list_seo_keywords'] = $_POST['shop_producers_list_seo_keywords'];

/* Идентификатор магазина */
$param['shops_id'] = to_str($_POST['shop_shops_id']);

if (isset($param['id']))
{
	$producer_id = $param['id'];

	// Если мы редактруем, то нужно проверить существует ли изображение для данного элемента в базе, и если существует
	if ($param['image'] == '' || $param['small_image'] == '')
	{	
		$param_producer['cache_off'] = true;
		$res = $shop->GetProducer($producer_id, $param_producer['cache_off']);

		$param['image'] = $res['shop_producers_list_image'];
		$param['small_image'] = $res['shop_producers_list_small_image'];
	}
}

if ($producer_id = $shop->InsertProducer($param))
{
	$admin_forms = new admin_forms();
	$window_id = $admin_forms->GetWindowId();
	?><script type="text/javascript">
	$.appendInput('<?php echo $window_id?>', 'EditAddProducer', 'edit_producer', '<?php echo $producer_id?>');
	</script><?php
}

if ($producer_id || $param['path'] == '')
{
	if ($param['path'] == '')
	{
		$param['path'] .= 'Producer_';
		$param['path'] .= to_str($producer_id);
		if (!isset($param['id']))
		{
			$path = $param['path'];
			$query = "UPDATE shop_producers_list_table SET shop_producers_list_path='$path' WHERE shop_producers_list_id='$producer_id'";
			$db->query($query);
		}
		else 
		{
			$id = $param['id'];
			$path = $param['path'];
			$query = "UPDATE shop_producers_list_table SET shop_producers_list_path='$path' WHERE shop_producers_list_id='$id'";
			$db->query($query);
		}
	}
	else
	{
		$path = $param['path'];
		$query = "SELECT * FROM shop_producers_list_table WHERE `shop_producers_list_path` = '$path' AND `shop_producers_list_id`!='$producer_id'";
		$result = $db->select($query);
		$result = $db->get_count_row($result);
		if ($result != 0)
		{
			$param['path'] = 'Producer_';
			$param['path'] .= to_str($producer_id);
			if (!isset($param['id']))
			{
				$path = htmlspecialchars($param['path']);
				$query = "UPDATE shop_producers_list_table SET shop_producers_list_path='$path' WHERE shop_producers_list_id='$producer_id'";
				$db->query($query);
			}
		}

	}
}

$param = array();

if ($producer_id)
{
	if ((isset($_FILES['producer_image']['name']) && $_FILES['producer_image']['name'] != '') || (isset($_FILES['producer_image_small']['name']) && $_FILES['producer_image_small']['name'] != ''))
	{
		// Путь к файлу источнику большого изображения
		$param['path_source_big_image'] = to_str($_FILES['producer_image']['tmp_name']);

		// Оригинальное имя файла большого изображения
		$param['original_file_name_big_image'] = to_str($_FILES['producer_image']['name']);

		// Максимальная ширина большого изображения
		$param['max_width_big_image'] = to_int($_REQUEST['big_image_max_width_producer_image']);

		// Маскимальная высота большого изображения
		$param['max_height_big_image'] = to_int($_REQUEST['big_image_max_height_producer_image']);

		// Определяем расширения файла большого изображения
		$exp = mb_strtolower($kernel->GetExtension($_FILES['producer_image']['name']));

		$f_name = CMS_FOLDER.UPLOADDIR . 'shop_' . $_POST['shop_shops_id'] . '/producers';

		if (!is_dir($f_name))
		{
			@mkdir($f_name);
		}

		// Получаем имя файла большого изображение
		$fname_big = CMS_FOLDER.UPLOADDIR . 'shop_' . $_POST['shop_shops_id'] . '/producers/' . 'shop_producer_image'.$producer_id.'.'.$exp;

		// Путь к создаваемому файлу большого изображения
		$param['path_target_big_image'] = to_str($fname_big);

		$param['use_big_image'] = 1;
		
		// Максимальная ширина малого изображения
		$param['max_width_small_image'] = to_int($_REQUEST['small_image_max_width_producer_image']);
		
		// Маскимальная высота большого изображения
		$param['max_height_small_image'] = to_int($_REQUEST['small_image_max_height_producer_image']);
		
		
		// Если нам передали малое изображение 
		if (isset($_FILES['producer_image_small']['name']) && $_FILES['producer_image_small']['name'] != '')
		{
			$param['use_big_image'] = 0;
			
			// Путь к файлу источнику малого изображения
			$param['path_source_small_image'] = to_str($_FILES['producer_image_small']['tmp_name']);
			
			// Оригинальное имя файла малого изображения
			$param['original_file_name_small_image'] = to_str($_FILES['producer_image_small']['name']);

			$f_name = CMS_FOLDER.UPLOADDIR . 'shop_' . $_POST['shop_shops_id'] . '/producers';

			if (!is_dir($f_name))
			{
				@mkdir($f_name);
			}
			
			// Определяем расширения файла большого изображения
			$exp = mb_strtolower($kernel->GetExtension($_FILES['producer_image_small']['name']));
			
			// Получаем имя файла большого изображение
			$fname_small = CMS_FOLDER.UPLOADDIR . 'shop_' . $_POST['shop_shops_id'] . '/producers/' . 'small_shop_producer_image'.$producer_id.'.'.$exp;

			// Путь к создаваемому файлу большого изображения
			$param['path_target_small_image'] = to_str($fname_small);
		}
		else
		{
			// Путь к файлу источнику малого изображения - целевой файл большого изображения
			$param['path_source_small_image'] = $param['path_target_big_image'];
			
			$param['original_file_name_small_image'] = $param['original_file_name_big_image'];
			
			// Получаем имя файла большого изображение
			$fname_small = CMS_FOLDER.UPLOADDIR . 'shop_' . $_POST['shop_shops_id'] . '/producers/' . 'small_shop_producer_image'.$producer_id.'.'.$exp;

			// Путь к создаваемому файлу большого изображения
			$param['path_target_small_image'] = to_str($fname_small);
		}
		
		// Вызываем метод сохранения изображений
		$result = $kernel->AdminLoadFiles($param);

		// Если метод вернул путь к большому изображению, следует извлечь из этого пути название файла
		if ($result['big_image'])
		{
			$shop_group_image = basename($param['path_target_big_image']);

			$query = "UPDATE `shop_producers_list_table` SET `shop_producers_list_image` = '$shop_group_image' WHERE `shop_producers_list_id` = '$producer_id'";

			$DataBase->query($query);
		}
		
		// Если метод вернул путь к малому изображению, следует извлечь из этого пути название файла
		if ($result['small_image'])
		{
			$shop_group_small_image = basename($param['path_target_small_image']);

			$query = "UPDATE `shop_producers_list_table` SET `shop_producers_list_small_image` = '$shop_group_small_image' WHERE `shop_producers_list_id` = '$producer_id'";

			$DataBase->query($query);
		}
	}

	if (!isset($param['id']))
	{
		if (isset($_POST['edit_producer']))
		{
			show_message($GLOBALS['MSG_shops']['success_edit_producer']);
		}
		else
		{
			show_message($GLOBALS['MSG_shops']['success_add_producer']);
		}
	}
	else
	{
		if ($shop->UpdateProducer($param))
		{
			show_message($GLOBALS['MSG_shops']['success_update_producer']);
		}
		else
		{
			show_error_message($GLOBALS['MSG_shops']['error_update_producer']);
		}
	}
}
else
{
	if (isset($_POST['edit_producer']))
	{
		show_error_message($GLOBALS['MSG_shops']['error_edit_producer']);
	}
	else
	{
		show_error_message($GLOBALS['MSG_shops']['error_add_producer']);
	}
}
?>