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

$shop = new shop();

$shop_shops_id = to_int($_REQUEST['shop_shops_id']);

$is_file_was_moved = false;

$DataBase = & singleton('DataBase');
$Image = & singleton('Image');

// получаем информацию о магазине
$shop_row = $shop->GetShop(to_int($_REQUEST['shop_shops_id']));

$param['shop_groups_name'] = quote_smart(to_str($_REQUEST['groups_name']));
$param['shop_groups_description'] = to_str($_REQUEST['groups_description']);
$param['shop_shops_id'] = to_int($_REQUEST['shop_shops_id']);
$param['shop_groups_image'] = quote_smart(to_str($_FILES['groups_image']['name']));
$param['groups_image_small'] = quote_smart(to_str($_REQUEST['groups_image_small']));
$param['shop_groups_path'] = quote_smart(to_str($_REQUEST['groups_path']));
$param['shop_groups_parent_id'] = to_int($_REQUEST['shop_groups_parent_id2']);
$param['shop_groups_seo_title'] = to_str($_REQUEST['groups_seo_title']);
$param['shop_groups_seo_description'] = to_str($_REQUEST['groups_seo_description']);
//$param['shop_groups_seo_keywords'] = to_str($_REQUEST['groups_seo_keywords']);
$param['shop_groups_order'] = to_int($_REQUEST['groups_order']);
$param['shop_groups_cml_id'] = to_str($_REQUEST['shop_groups_cml_id']);
// Максимальная высота малого изображения
$param['shop_groups_small_image_height'] = to_int($_REQUEST['shop_image_small_max_height']);

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

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

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

/* Проверяем подключен ли модуль типографики */
if (class_exists("typograph"))
{
	/* Модуль типографики подключен, проверяем, нужно ли применять типографику описания */
	if (isset ($_REQUEST['use_typograph_for_desc']))
	{
		/* Создаем объект типографа и типографируем текст */
		$typograph = & singleton('typograph');
		$param['shop_groups_description'] = $typograph->ProcessTypographic($param['shop_groups_description'], isset ($_REQUEST['trailing_punctuation_for_desc']));
	}
}

$param['shop_groups_seo_keywords'] = trim(to_str($_REQUEST['groups_seo_keywords']));

// Обработка ключевых слов группы //
if ($param['shop_groups_seo_keywords'] == '')
{
	if (class_exists('Tag'))
	{
		$Tag = & singleton('Tag');
		$kernel = & singleton('kernel');
		
		// Вставка тэгов автоматически разрешена
		if ($shop_row && $shop_row['shop_shops_apply_keywords_automatic'] == 1)
		{
			// получаем хэш названия и описания группы
			$array_text = $kernel->ClearHtml(to_str($_REQUEST['groups_name']) . " " . $param['shop_groups_description'], array (
				'hash_function' => 'crc32'
			));

			// Получаем список меток
			$tags_result = $Tag->GetAllTags();

			// Есть хотя бы одна метка
			if (mysql_num_rows($tags_result))
			{
				$coeff_intersect = array ();

				while ($tag_row = mysql_fetch_assoc($tags_result))
				{
					// получаем хэш тэга
					$array_tags = $kernel->ClearHtml($tag_row['tag_name'], array (
						'hash_function' => 'crc32'
					));

					// получаем коэффициент схожести текста каталога с тэгом
					$array_text = array_unique($array_text);
					$array_tags = array_unique($array_tags);

					// Текст метки меньше текста товара, т.к. должна входить метка в текст товара, а не наоборот
					if (count($array_text) > count($array_tags))
					{
						// Расчитываем пересечение
						$intersect = count(array_intersect($array_text, $array_tags));

						if (count($array_tags) != 0)
						{
							$coefficient = $intersect / count($array_tags);
						}
						else
						{
							$coefficient = 0;
						}

						// Найдено полное вхождение
						if ($coefficient == 1)
						{
							// Если тэг еще не учтен
							if (!in_array($tag_row['tag_name'], $coeff_intersect))
							{
								// Добавляем в массив
								$coeff_intersect[] = $tag_row['tag_name'];
							}
						}
					}
				}

				// Найдено соответствие с тэгами
				if (count($coeff_intersect) > 0)
				{
					$param['shop_groups_seo_keywords'] = implode(", ", $coeff_intersect);
				}
			}
		}
	}
}

if (isset ($_REQUEST['groups_indexation']))
{
	$param['shop_groups_indexation'] = 1;
}
else
{
	$param['shop_groups_indexation'] = 0;
}

$param['parent_id'] = to_int($_REQUEST['shop_groups_parent_id']);
if (isset ($_REQUEST['edit_groups']))
{
	$param['group_id'] = to_int($_REQUEST['edit_groups']);
	$group_id = to_int($_REQUEST['edit_groups']);

	/* Само обновление ниже (т.к. нужно еще картинки изменить). */
	$group_id = $shop->InsertGroup($param);
}
else
{
	$group_id = $shop->InsertGroup($param);
}

if (!is_dir(CMS_FOLDER . UPLOADDIR . 'shop_' . $shop_shops_id . '/shop_group_' . $group_id))
{
	mkdir(CMS_FOLDER . UPLOADDIR . 'shop_' . $shop_shops_id . '/shop_group_' . $group_id);
}

if (isset ($_REQUEST['edit_groups']))
{
	show_message($GLOBALS['MSG_shops']['success_edit_group']);
}
else
{
	show_message($GLOBALS['MSG_shops']['success_add_group']);
}

// Обработка файлов
////////////////////////////////////////////////

$param = array ();

$shop_item_catalog_image = '';
$shop_item_catalog_small_image = '';

if (isset ($_FILES['groups_image']['tmp_name']) && $_FILES['groups_image']['size'])
{
	// Преобразовываем название файлов
	if ($shop_row['shop_shops_file_name_conversion'] == 1)
	{
		// Определяем расширение файла
		$exp = strtolower($kernel->GetExtension($_FILES['groups_image']['name']));
	
		$shop_group_image = CMS_FOLDER . UPLOADDIR . 'shop_' . $shop_shops_id .
		'/shop_group_' . $group_id . '/shop_group_image' . $group_id . '.' . $exp;
		$shop_group_small_image = CMS_FOLDER . UPLOADDIR . 'shop_' . $shop_shops_id .
		'/shop_group_' . $group_id . '/small_shop_group_image' . $group_id . '.' . $exp;
	}
	else
	{
		$shop_group_image = CMS_FOLDER . UPLOADDIR . 'shop_' . $shop_shops_id .
		'/shop_group_' . $group_id . '/' . $_FILES['groups_image']['name'];
		$shop_group_small_image = CMS_FOLDER . UPLOADDIR . 'shop_' . $shop_shops_id .
		'/shop_group_' . $group_id . '/small_'. $_FILES['groups_image']['name'];
	}
}

// Задано малое изображение и при этом не задано создание малого изображения
// из большого или задано создание малого изображения из большого и
// при этом не задано большое изображение.

$available_extantions = array (
	'JPG',
	'JPEG',
	'PNG',
	'GIF'
);

if (isset ($_FILES['groups_image_small']['tmp_name']) && $_FILES['groups_image_small']['size'])
{
	// Определяем расширение файла.
	$exp = strtolower($kernel->GetExtension($_FILES['groups_image_small']['name']));

	// Определяем создавать ли большое изображение из малого
	// тип загружаемого файла является допустимым для загрузки файла.
	if (in_array(strtoupper($exp), $available_extantions))
	{
		// Определяем существует ли большое изображение для данной единицы товара
		//$mas_information_item = $information_system->GetInformationSystemItem($information_item_id);

		//		$mas_shop_group_item = $shop->GetItem($group_id);
		$mas_shop_group_item = $shop->GetGroup($group_id);

		// Для товара ранее задано изображение
		if ($mas_shop_group_item['shop_groups_image'] != '')
		{
			// Существует ли большое изображение (true - существует, false - не существует (по умолчанию))
			
			$create_big_image = false;
		}
		else // Для товара ранее не задано большое изображение - создаем из малого
		{
			$create_big_image = true;
		}

	}
	// Тип загружаемого файла является недопустимым для загрузки файла
	else
	{
		$create_big_image = false;
	}
	
	$param['isset_big_image'] = !$create_big_image;

	//$shop_group_small_image = $uploaddir . 'small_information_items_' . date("U") . '.' . $exp;
	//$shop_group_small_image = CMS_FOLDER . UPLOADDIR . 'shop_' . $shop_shops_id . '/shop_group_' . $group_id . '/small_shop_group_image' . $group_id . '.' . $exp;

	if ($create_big_image)
	{
		if (in_array(strtoupper($exp), $available_extantions))
		{
			//$shop_group_image = $uploaddir . 'information_items_' . date("U") . '.' . $exp;
			if ($shop_row['shop_shops_file_name_conversion'] == 1)
			{				
				$shop_group_image = CMS_FOLDER . UPLOADDIR . 'shop_' . $shop_shops_id . '/shop_group_' . $group_id . '/shop_group_image' . $group_id . '.' . $exp;
				$shop_group_small_image = CMS_FOLDER . UPLOADDIR . 'shop_' . $shop_shops_id . '/shop_group_' . $group_id . '/small_shop_group_image' . $group_id . '.' . $exp;
			}
			else
			{
				$shop_group_image = CMS_FOLDER . UPLOADDIR . 'shop_' . $shop_shops_id . '/shop_group_' . $group_id . '/' . $_FILES['groups_image_small']['name'];
				$shop_group_small_image = CMS_FOLDER . UPLOADDIR . 'shop_' . $shop_shops_id . '/shop_group_' . $group_id . '/small_' . $_FILES['groups_image_small']['name'];
			}
		}
		else
		{
			$shop_group_image = '';
			
			if ($shop_row['shop_shops_file_name_conversion'] == 1)
			{			
				$shop_group_small_image = CMS_FOLDER . UPLOADDIR . 'shop_' . $shop_shops_id . '/shop_group_' . $group_id . '/small_shop_group_image' . $group_id . '.' . $exp;
			}
			else
			{				
				$shop_group_small_image = CMS_FOLDER . UPLOADDIR . 'shop_' . $shop_shops_id . '/shop_group_' . $group_id . '/' . $_FILES['groups_image_small']['name'];
			}
		}
		
	}
	else
	{
		// Преобразовываем название фалов
		if ($shop_row['shop_shops_file_name_conversion'] == 1)
		{
			$shop_group_small_image = CMS_FOLDER . UPLOADDIR . 'shop_' . $shop_shops_id . '/shop_group_' . $group_id . '/small_shop_group_image' . $group_id . '.' . $exp;
		}
		else
		{
			$shop_group_small_image = CMS_FOLDER . UPLOADDIR . 'shop_' . $shop_shops_id . '/shop_group_' . $group_id . '/' . $_FILES['groups_image_small']['name'];			
		}
	}
}

// Путь к файлу-источнику большого изображения;
$param['path_source_big_image'] = to_str($_FILES['groups_image']['tmp_name']);

if (isset ($_FILES['groups_image_small']['tmp_name']) && $_FILES['groups_image_small']['tmp_name'] != '')
{
	// Путь к файлу-источнику малого изображения;
	$param['path_source_small_image'] = to_str($_FILES['groups_image_small']['tmp_name']);
}

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

if (!isset ($shop_group_image))
{
	$shop_group_image = '';
}

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

if (!isset ($shop_group_small_image))
{
	$shop_group_small_image = '';
}

// Путь к создаваемому файлу малого изображения;
$param['path_target_small_image'] = $shop_group_small_image;

// Оригинальное имя файла малого изображения
$param['original_file_name_small_image'] = $_FILES['groups_image_small']['name'];
// Использовать большое изображение для создания малого (true - использовать (по умолчанию), false - не использовать)
$param['use_big_image'] = isset ($_POST['used_big_image_groups_image']);

// Значение максимальной ширины большого изображения
$param['max_width_big_image'] = to_int($_POST['big_image_max_width_groups_image']);

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

// Значение максимальной ширины малого изображения;
$param['max_width_small_image'] = to_int($_POST['small_image_max_width_groups_image']);

// Значение максимальной высоты малого изображения;
$param['max_height_small_image'] = to_int($_POST['small_image_max_height_groups_image']);

//$InformationSystemRow = $information_system->GetInformationSystem(to_int($_POST['information_system_id']));

//$ShopRow = $shop->GetShop($shop_shops_id);

// Для магазина задан "водяной знак"
if ($shop_row['shop_watermark_file'] != '' && is_file(CMS_FOLDER . UPLOADDIR . 'shop_' . $shop_shops_id . '/watermarks/' . $shop_row['shop_watermark_file']))
{
	$watermark_file = CMS_FOLDER . UPLOADDIR . 'shop_' . $shop_shops_id . '/watermarks/' . $shop_row['shop_watermark_file'];
}
else
{
	$watermark_file = '';
}

// Путь к файлу с "водяным знаком"
$param['watermark_file_path'] = $watermark_file;

// Позиция "водяного знака" по оси X
$param['watermark_position_x'] = to_str($_POST['image_watermark_position_x_information_item_image']);

// Позиция "водяного знака" по оси Y
$param['watermark_position_y'] = to_str($_POST['image_watermark_position_y_information_item_image']);

// Наложить "водяной знак" на большое изображение (true - наложить (по умолчанию), false - не наложить);
$param['used_watermark_big_image'] = isset ($_POST['big_image_is_use_watermark_groups_image']);

// Наложить "водяной знак" на малое изображение (true - наложить (по умолчанию), false - не наложить);
$param['used_watermark_small_image'] = isset ($_POST['small_image_is_use_watermark_groups_image']);

$result = $kernel->AdminLoadFiles($param);

// Отсутствует массив с данными о товаре
if (!isset ($mas_shop_group_item))
{
	// Получаем информацию о товаре
	$mas_shop_group_item = $shop->GetGroup($group_id);
}

if ($result['big_image'])
{

	$shop_group_image = basename($param['path_target_big_image']);

	// Созданный файл имеет название, отличное от названия файла - большого изображения товара
	if ($mas_shop_group_item['shop_groups_image'] != $shop_group_image)
	{
		// Удаляем преждний файл - большое изображение
		$old_big_file_path = CMS_FOLDER . UPLOADDIR . 'shop_' . $shop_shops_id . '/shop_group_' . $group_id . '/' . $mas_shop_group_item['shop_groups_image'];

		if (is_file($old_big_file_path))
		{
			@ unlink($old_big_file_path);
		}
	}

	// Если картинка, получаем ее размеры
	if (exif_imagetype($param['path_target_big_image']))
	{
		$res_arr_image_size = $Image->GetImageSize($param['path_target_big_image']);
		$width = $res_arr_image_size['width'];
		$height = $res_arr_image_size['height'];
	}
	else
	{
		$width = 0;
		$height = 0;
	}

	$query = "UPDATE `shop_groups_table` SET `shop_groups_image` = '$shop_group_image', `shop_groups_big_image_height` = '$height', `shop_groups_big_image_width` = '$width' WHERE `shop_groups_id` = '$group_id'";

	$DataBase->query($query);
}

if ($result['small_image'])
{
	$shop_group_small_image = basename($param['path_target_small_image']);

	// Созданный файл имеет название, отличное от названия файла - малого изображения товара
	if ($mas_shop_group_item['shop_groups_small_image'] != $shop_group_small_image)
	{
		;
		// Удаляем преждний файл - малое изображение товара
		$old_small_file_path = CMS_FOLDER . UPLOADDIR . 'shop_' . $shop_shops_id . '/shop_group_' . $group_id . '/' . $mas_shop_group_item['shop_groups_small_image'];

		if (is_file($old_small_file_path))
		{
			@ unlink($old_small_file_path);
		}
	}

	// Если картинка, получаем ее размеры
	if (exif_imagetype($param['path_target_small_image']))
	{
		$res_arr_image_size = $Image->GetImageSize($param['path_target_small_image']);

		$width = $res_arr_image_size['width'];

		$height = $res_arr_image_size['height'];
	}
	else
	{
		$width = 0;

		$height = 0;
	}

	$query = "UPDATE `shop_groups_table` SET `shop_groups_small_image` = '$shop_group_small_image', `shop_groups_small_image_height` = '$height', `shop_groups_small_image_width` = '$width' WHERE `shop_groups_id` = '$group_id'";

	$DataBase->query($query);
}
else
{
	$shop_group_small_image = '';
}


// Обрабатываем дополнительные свойства
$group_properties_res = $shop->GetAllPropretyOfGroup($shop_shops_id);
/*
if (!is_dir(CMS_FOLDER . UPLOADDIR . 'shop_' . $shop_shops_id . '/shop_group_' . $group_id))
{
	mkdir(CMS_FOLDER . UPLOADDIR . 'shop_' . $shop_shops_id . '/shop_group_' . $group_id);
}
*/
while ($group_properties_row = mysql_fetch_assoc($group_properties_res))
{
	if (isset ($_REQUEST['add_value_' . $group_properties_row['shop_properties_group_id']]) || isset ($_FILES['add_value_' . $group_properties_row['shop_properties_group_id']]))
	{

		$id = to_int($group_properties_row['shop_properties_group_id']);
		// Если обнаружили в параметрах поле с данными о значении дополнительного свойства, получаем эти данные
		switch ($group_properties_row['shop_properties_group_type'])
		{
			// Строка
			case 0 :
				{
					// Обработка данных
					if (!$shop->InsertPropertiesGroupValue(array (
							'shop_properties_group_value_value' => $_REQUEST['add_value_' . $group_properties_row['shop_properties_group_id']],
							'shop_properties_group_id' => $group_properties_row['shop_properties_group_id'],
							'shop_groups_id' => $group_id
						)))
					{
						// Ошибка! Допсвойство не вставлено/обновлено!
					}
					break;
				}
				// Файл
			case 1 :
				{
					/////////////////////////////////////////
					$shop_catalog_image = '';
					$shop_catalog_small_image = '';

					if (to_str($_FILES['add_value_' . $group_properties_row['shop_properties_group_id']]['tmp_name']) != '' && to_int($_FILES['add_value_' . $group_properties_row['shop_properties_group_id']]['size']) > 0)
					{
						// Не преоразовывать имена файлов
						if ($shop_row['shop_shops_file_name_conversion'] == 1)
						{
							// Определяем расширение файла
							$exp = strtolower($kernel->GetExtension($_FILES['add_value_' . $group_properties_row['shop_properties_group_id']]['name']));
	
							$shop_catalog_image = CMS_FOLDER . UPLOADDIR . 'shop_' . $shop_shops_id . '/shop_group_' . $group_id . '/shop_property_file_' . $group_id . '_' . $id . '.' . $exp;
	
							$shop_catalog_small_image = CMS_FOLDER . UPLOADDIR . 'shop_' . $shop_shops_id . '/shop_group_' . $group_id . '/small_shop_property_file_' . $group_id . '_' . $id . '.' . $exp;
						}
						else
						{
							$shop_catalog_image = CMS_FOLDER . UPLOADDIR . 'shop_' . $shop_shops_id . '/shop_group_' . $group_id . '/' . $_FILES['add_value_' . $group_properties_row['shop_properties_group_id']]['name'];
	
							$shop_catalog_small_image = CMS_FOLDER . UPLOADDIR . 'shop_' . $shop_shops_id . '/shop_group_' . $group_id . '/small_' . $_FILES['add_value_' . $group_properties_row['shop_properties_group_id']]['name'];
						}	
					}

					// Задано малое изображение и при этом не задано создание малого изображения
					// из большого или задано создание малого изображения из большого и
					// при этом не задано большое изображение.

					if (to_str($_FILES['add_value_' . $group_properties_row['shop_properties_group_id'] . '_small']['tmp_name']) != '' && to_int($_FILES['add_value_' . $group_properties_row['shop_properties_group_id'] . '_small']['size']) > 0)
					{						
						// Определяем расширение файла.
						$exp = strtolower($kernel->GetExtension($_FILES['add_value_' . $group_properties_row['shop_properties_group_id'] . '_small']['name']));

						// Определяем создавать ли большое изображение из малого
						// тип загружаемого файла является допустимым для загрузки файла.
						if (in_array(strtoupper($exp), $available_extantions))
						{							
							// Редактирование группы
							if (to_int($_REQUEST['edit_groups']) > 0)
							{
								if ($shop_catalog_image != '')
								{
									// Существует ли большое изображение (true - существует, false - не существует (по умолчанию))
									//$param['isset_big_image'] = true;
	
									$create_big_image = false;
								}
								else // Для доп. свойства группы товара не передано большое изображение
								{
									// Проверяем задано ли значение для текущего дополнительного свойства группы 									
									$property_param = array();
									$property_param['shop_groups_id'] = $_REQUEST['edit_groups'];
									$property_param['shop_properties_group_id'] = $group_properties_row['shop_properties_group_id']; 									
									$group_property_info = $shop->GetPropertiesGroupValue($property_param);
									
									// Для доп. свойства группы ранее загружен файл 
									if ($group_property_info['shop_properties_group_value_file'] != '')
									{
										//$param['isset_big_image'] = true;
										
										$create_big_image = false;										
									}
									else
									{
										$create_big_image = true;	
									}									
								}
							}
							else
							{
								$create_big_image = empty($shop_catalog_image);								
							}
						}
						// Тип загружаемого файла является недопустимым для загрузки файла
						else
						{														
							$create_big_image = false;
						}
						
						$param['isset_big_image'] = !$create_big_image;

						// Создаем большое изображение из малого
						if ($create_big_image)
						{							
							if (in_array(strtoupper($exp), $available_extantions))
							{
								if ($shop_row['shop_shops_file_name_conversion'] == 1)
								{
									$shop_catalog_image = CMS_FOLDER . UPLOADDIR . 'shop_' . $shop_shops_id . '/shop_group_' . $group_id . '/shop_property_file_' . $group_id . '_' . $id . '.' . $exp;
									$shop_catalog_small_image = CMS_FOLDER . UPLOADDIR . 'shop_' . $shop_shops_id . '/shop_group_' . $group_id . '/small_shop_property_file_' . $group_id . '_' . $id . '.' . $exp;
								}
								else
								{
									$shop_catalog_image = CMS_FOLDER . UPLOADDIR . 'shop_' . $shop_shops_id . '/shop_group_' . $group_id . '/' . $_FILES['add_value_' . $group_properties_row['shop_properties_group_id'] . '_small']['name'];
									$shop_catalog_small_image = CMS_FOLDER . UPLOADDIR . 'shop_' . $shop_shops_id . '/shop_group_' . $group_id . '/small_' . $_FILES['add_value_' . $group_properties_row['shop_properties_group_id'] . '_small']['name'];
								}
							}
							else
							{
								$shop_catalog_image = '';
								
								if ($shop_row['shop_shops_file_name_conversion'] == 1)
								{
									$shop_catalog_small_image = CMS_FOLDER . UPLOADDIR . 'shop_' . $shop_shops_id . '/shop_group_' . $group_id . '/small_shop_property_file_' . $group_id . '_' . $id . '.' . $exp;		
								}
								else
								{
									$shop_catalog_small_image = CMS_FOLDER . UPLOADDIR . 'shop_' . $shop_shops_id . '/shop_group_' . $group_id . '/' . $_FILES['add_value_' . $group_properties_row['shop_properties_group_id'] . '_small']['name'];
								}
							}
						}
						else
						{												
							if ($shop_row['shop_shops_file_name_conversion'] == 1)
							{
								$shop_catalog_small_image = CMS_FOLDER . UPLOADDIR . 'shop_' . $shop_shops_id . '/shop_group_' . $group_id . '/small_shop_property_file_' . $group_id . '_' . $id . '.' . $exp;		
							}
							else
							{
								$shop_catalog_small_image = CMS_FOLDER . UPLOADDIR . 'shop_' . $shop_shops_id . '/shop_group_' . $group_id . '/' . $_FILES['add_value_' . $group_properties_row['shop_properties_group_id'] . '_small']['name'];
							}
						}						
					}

					// Путь к файлу-источнику большого изображения;
					$param['path_source_big_image'] = to_str($_FILES['add_value_' . $group_properties_row['shop_properties_group_id']]['tmp_name']);

					if (isset ($_FILES['add_value_' . $group_properties_row['shop_properties_group_id'] . '_small']['tmp_name']) && $_FILES['add_value_' . $group_properties_row['shop_properties_group_id'] . '_small']['tmp_name'] != '')
					{
						// Путь к файлу-источнику малого изображения;
						$param['path_source_small_image'] = to_str($_FILES['add_value_' . $group_properties_row['shop_properties_group_id'] . '_small']['tmp_name']);
					}

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

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

					// Путь к создаваемому файлу малого изображения;
					$param['path_target_small_image'] = $shop_catalog_small_image;

					if (isset ($_FILES['add_value_' . $group_properties_row['shop_properties_group_id'] . '_small']['name']))
					{
						// Оригинальное имя файла малого изображения
						$param['original_file_name_small_image'] = $_FILES['add_value_' . $group_properties_row['shop_properties_group_id'] . '_small']['name'];
					}
					else
					{
						$param['original_file_name_small_image'] = '';
					}

					// Использовать большое изображение для создания малого (true - использовать (по умолчанию), false - не использовать)
					$param['use_big_image'] = isset ($_POST['used_big_image_add_value_' . $group_properties_row['shop_properties_group_id']]);

					// Значение максимальной ширины большого изображения
					$param['max_width_big_image'] = to_int($_POST['big_image_max_width_add_value_' . $id]);

					// Значение максимальной высоты большого изображения
					$param['max_height_big_image'] = to_int($_POST['big_image_max_height_add_value_' . $id]);

					// Значение максимальной ширины малого изображения;
					$param['max_width_small_image'] = to_int($_POST['small_image_max_width_add_value_' . $id]);

					// Значение максимальной высоты малого изображения;
					$param['max_height_small_image'] = to_int($_POST['small_image_max_height_add_value_' . $id]);

					//$InformationSystemRow = $information_system->GetInformationSystem(to_int($_POST['information_system_id']));

					//$ShopRow = $shop->GetShop($shop_shops_id);

					// Для магазина задан "водяной знак"
					if ($shop_row['shop_watermark_file'] != '' && is_file(CMS_FOLDER . UPLOADDIR . 'shop_' . $shop_shops_id . '/watermarks/' . $shop_row['shop_watermark_file']))
					{
						$watermark_file = CMS_FOLDER . UPLOADDIR . 'shop_' . $shop_shops_id . '/watermarks/' . $shop_row['shop_watermark_file'];
					}
					else
					{
						$watermark_file = '';
					}

					// Путь к файлу с "водяным знаком"
					$param['watermark_file_path'] = $watermark_file;

					// Позиция "водяного знака" по оси X
					$param['watermark_position_x'] = to_str($_POST['image_watermark_position_x_add_value_' . $id]);

					// Позиция "водяного знака" по оси Y
					$param['watermark_position_y'] = to_str($_POST['image_watermark_position_y_add_value_' . $id]);

					// Наложить "водяной знак" на большое изображение (true - наложить (по умолчанию), false - не наложить);
					$param['used_watermark_big_image'] = isset ($_POST['big_image_is_use_watermark_add_value_' . $id]);

					// Наложить "водяной знак" на малое изображение (true - наложить (по умолчанию), false - не наложить);
					$param['used_watermark_small_image'] = isset ($_POST['small_image_is_use_watermark_add_value_' . $id]);
					
					$result = $kernel->AdminLoadFiles($param);

					if ($result['big_image'])
					{
						$shop_catalog_image = basename($param['path_target_big_image']);

						// Получаем оригинальное имя большого изображения
						$original_big_image_name = $param['original_file_name_big_image'];
						
						//$original_big_image_name = $shop_catalog_image;

						// Проверяем идет вставка или обновление записи о дополнительном свойстве
						$shop->InsertPropertiesGroupValue(array (
							'shop_properties_group_value_value' => $original_big_image_name,
							'shop_properties_group_value_file' => $shop_catalog_image,
							'shop_properties_group_id' => $id,
							'shop_groups_id' => $group_id
						));

					}

					if ($result['small_image'])
					{
						$shop_catalog_small_image = basename($shop_catalog_small_image);

						// Получаем оригинальное имя малого изображения
						$original_small_image_name = $param['original_file_name_small_image'];
						
						//$original_small_image_name = $shop_catalog_small_image;

						$property_rows = $shop->GetValueItemProperty($group_id, $id);
						$shop->InsertPropertiesGroupValue(array (
							'shop_properties_group_value_value_small' => $original_small_image_name,
							'shop_properties_group_value_file_small' => $shop_catalog_small_image,
							'shop_properties_group_id' => $id,
							'shop_groups_id' => $group_id
						));

					}
					break;
				}
				// Список
			case 2 :
				{
					// Необходимо проверить, существует ли класс "Списки"
					if (!class_exists('lists'))
					{
						break;
					}

					// Передали пустое значение свойства
					if (!$_REQUEST['add_value_' . $group_properties_row['shop_properties_group_id']])
					{
						$param_delete_property_value['shop_groups_id'] = $group_id;
						$param_delete_property_value['shop_properties_group_id'] = $group_properties_row['shop_properties_group_id'];

						$shop->DeletePropertiesGroupValue($param_delete_property_value);

						break;
					}

					if (!$shop->InsertPropertiesGroupValue(array (
							'shop_properties_group_value_value' => $_REQUEST['add_value_' . $group_properties_row['shop_properties_group_id']],
							'shop_properties_group_id' => $group_properties_row['shop_properties_group_id'],
							'shop_groups_id' => $group_id
						)))
					{
						// Ошибка! Допсвойство не вставлено/обновлено!
					}
					break;
				}
				// Большое текстовое поле
			case 3 :
				{
					if (!$shop->InsertPropertiesGroupValue(array (
							'shop_properties_group_value_value' => $_REQUEST['add_value_' . $group_properties_row['shop_properties_group_id']],
							'shop_properties_group_id' => $group_properties_row['shop_properties_group_id'],
							'shop_groups_id' => $group_id
						)))
					{
						// Ошибка! Допсвойство не вставлено/обновлено!
					}
					break;
				}
				// Визуальный редактор
			case 4 :
				{
					if (!$shop->InsertPropertiesGroupValue(array (
							'shop_properties_group_value_value' => $_REQUEST['add_value_' . $group_properties_row['shop_properties_group_id']],
							'shop_properties_group_id' => $group_properties_row['shop_properties_group_id'],
							'shop_groups_id' => $group_id
						)))
					{
						// Ошибка! Допсвойство не вставлено/обновлено!
					}
					break;
				}
				// Дата
			case 5 :
				{
					$DateTime = & singleton('DateClass');
					if (!$shop->InsertPropertiesGroupValue(array (
							'shop_properties_group_value_value' => $DateTime->date_format_sql($_REQUEST['add_value_' . $group_properties_row['shop_properties_group_id']]),
							'shop_properties_group_id' => $group_properties_row['shop_properties_group_id'],
							'shop_groups_id' => $group_id
						)))
					{
						// Ошибка! Допсвойство не вставлено/обновлено!
					}
					break;
				}
				// ДатаВремя
			case 6 :
				{
					$DateTime = & singleton('DateClass');
					if (!$shop->InsertPropertiesGroupValue(array (
							'shop_properties_group_value_value' => $DateTime->datetime_format_sql($_REQUEST['add_value_' . $group_properties_row['shop_properties_group_id']]),
							'shop_properties_group_id' => $group_properties_row['shop_properties_group_id'],
							'shop_groups_id' => $group_id
						)))
					{
						// Ошибка! Допсвойство не вставлено/обновлено!
					}
					break;
				}
		}
	}
	if ($group_properties_row['shop_properties_group_type'] == 7)
	{
		if (!$shop->InsertPropertiesGroupValue(array (
				'shop_properties_group_value_value' => (isset ($_REQUEST['add_value_' . $group_properties_row['shop_properties_group_id']])) ? 1 : 0,
				'shop_properties_group_id' => $group_properties_row['shop_properties_group_id'],
				'shop_groups_id' => $group_id
			)))
		{
			// Ошибка! Допсвойство не вставлено/обновлено!
		}
	}
}
?>