Доска объявлений v5
Каким образом можно в письме получать?:
ID объявления
Логин пользователя
Полный путь до объявления (Рубрики -> Рубрики -> Рубрики ->Объявление)
???
ID объявления
Логин пользователя
Полный путь до объявления (Рубрики -> Рубрики -> Рубрики ->Объявление)
???
CCron писал(а):
CCron писал(а):
CCron писал(а):
в API метод GetPathGroup()
ID объявления
$add_advertisement_id
CCron писал(а):
Логин пользователя
to_int($site_users_id)
CCron писал(а):
Полный путь до объявления (Рубрики -> Рубрики -> Рубрики ->Объявление)
в API метод GetPathGroup()
$SiteUsers = new SiteUsers();
$current_site_user_id = $SiteUsers->GetCurrentSiteUser();
if ($current_site_user_id > 0)
{
$name = $SiteUsers->GetSiteUser($current_site_user_id);
$treat = "";
if ($name['site_users_login'] != '')
{
$treat = $name['site_users_login'];
}
$text_user_user = "$treat";
}
else
{
$text_user_user = 'Аноним';
}
$message .= "Логин: ".to_int($site_users_id)."\n\n";
$current_site_user_id = $SiteUsers->GetCurrentSiteUser();
if ($current_site_user_id > 0)
{
$name = $SiteUsers->GetSiteUser($current_site_user_id);
$treat = "";
if ($name['site_users_login'] != '')
{
$treat = $name['site_users_login'];
}
$text_user_user = "$treat";
}
else
{
$text_user_user = 'Аноним';
}
$message .= "Логин: ".to_int($site_users_id)."\n\n";
Напишите пожалуйста по-подробней относительно всего остального.
CCron, в представленном Вами коде есть ряд логических ошибок. Правильней было бы вот так
<?
$SiteUsers = new SiteUsers();
$current_site_user_id = $SiteUsers->GetCurrentSiteUser();
if ($current_site_user_id > 0)
{
$name = $SiteUsers->GetSiteUser($current_site_user_id);
if ($name['site_users_login'] != '')
{
$text_user_user = $name['site_users_login'];
}
else
{
$text_user_user = '';
}
}
else
{
$text_user_user = 'Аноним';
}
$message .= "Логин: ". $text_user_user . "\n\n";
// Полный путь до объявления содержится в $path_string
$path_string = $shop->GetPathGroup($GLOBALS['shop_item_path']['group']);
?>
<?
$SiteUsers = new SiteUsers();
$current_site_user_id = $SiteUsers->GetCurrentSiteUser();
if ($current_site_user_id > 0)
{
$name = $SiteUsers->GetSiteUser($current_site_user_id);
if ($name['site_users_login'] != '')
{
$text_user_user = $name['site_users_login'];
}
else
{
$text_user_user = '';
}
}
else
{
$text_user_user = 'Аноним';
}
$message .= "Логин: ". $text_user_user . "\n\n";
// Полный путь до объявления содержится в $path_string
$path_string = $shop->GetPathGroup($GLOBALS['shop_item_path']['group']);
?>
// Полный путь до объявления содержится в $path_string
$path_string = $shop->GetPathGroup($GLOBALS['shop_item_path']['group']);
$path_string = $shop->GetPathGroup($GLOBALS['shop_item_path']['group']);
А как формировать этот путь, не по URL, а названиям?
Название рубрики -> Название рубрики -> Название рубрики
Для получения пути в по названиям необходимо использовать следующий код:
$mas_group_path = $shop->GetShopGroupsToRoot($GLOBALS['shop_item_path']['group'], $current_shop_id);
$group_path = '';
if (is_array($mas_group_path) && count($mas_group_path) > 0)
{
foreach ($mas_group_path as $key => $value)
{
$group_path = $value['shop_groups_name'] . (intval($key) != 0 ? ' → ' : '' ) . $group_path;
}
}
// Путь по именам содержится в переменной $group_path
echo $group_path;
$mas_group_path = $shop->GetShopGroupsToRoot($GLOBALS['shop_item_path']['group'], $current_shop_id);
$group_path = '';
if (is_array($mas_group_path) && count($mas_group_path) > 0)
{
foreach ($mas_group_path as $key => $value)
{
$group_path = $value['shop_groups_name'] . (intval($key) != 0 ? ' → ' : '' ) . $group_path;
}
}
// Путь по именам содержится в переменной $group_path
echo $group_path;
Если в коде динамической страницы:
То каким образом при подачи объявления, некоторые умудряются GIF присоединять? Как сделать чтобы такого в дальнейшем не было, только jpg (jpeg)?
else // Доп. свойство - файл
{
$item_dir_path = CMS_FOLDER . UPLOADDIR . 'shop_' . $current_shop_id . '/item_catalog_' . $add_advertisement_id;
$kernel = & singleton('kernel');
$ext = $kernel->GetExtension($_FILES['shop_item_property' . $group_propertys_result[$i]]['name']);
if(strtoupper($ext) == 'JPG' || strtoupper($ext) == 'JPEG')
{
if ($ext != '')
{
$ext = '.' . $ext;
}
$property_big_file = $item_dir_path . '/shop_property_file_' . $add_advertisement_id . '_' . $group_propertys_result[$i] . $ext;
$property_small_file = $item_dir_path . '/small_shop_property_file_' . $add_advertisement_id . '_' . $group_propertys_result[$i] . $ext;
$param_load_files = array();
$param_load_files['path_source_big_image'] = $_FILES['shop_item_property' . $group_propertys_result[$i]]['tmp_name'];
$param_load_files['path_source_small_image'] = '';
$param_load_files['original_file_name_big_image'] = to_str($_FILES['shop_item_property' . $group_propertys_result[$i]]['name']);
$param_load_files['path_target_big_image'] = $property_big_file;
$param_load_files['path_target_small_image'] = $property_small_file;
$param_load_files['original_file_name_small_image'] = $param_load_files['original_file_name_big_image'];
$param_load_files['use_big_image'] = true;
$param_load_files['max_width_big_image'] = to_int($GLOBALS['LA']['max_width_big_image']);
$param_load_files['max_height_big_image'] = to_int($GLOBALS['LA']['max_height_big_image']);
$param_load_files['max_width_small_image'] = to_int($GLOBALS['LA']['max_width_small_image']);
$param_load_files['max_height_small_image'] = to_int($GLOBALS['LA']['max_height_small_image']);
$param_load_files['used_watermark_big_image'] = false;
$param_load_files['used_watermark_small_image'] = false;
$param_load_files['isset_big_image'] = false;
$result = $kernel->AdminLoadFiles($param_load_files);
if ($result['big_image'])
{
$shop_properties_items_file = basename($property_big_file);
$property_value = $param_load_files['original_file_name_big_image'];
}
else
{
$property_value = '';
$shop_properties_items_file = '';
}
if ($result['small_image'])
{
$shop_properties_items_value_small = $param_load_files['original_file_name_small_image'];
$shop_properties_items_file_small = basename($property_small_file);
}
else
{
$shop_properties_items_value_small = '';
$shop_properties_items_file_small = '';
}
}
{
$item_dir_path = CMS_FOLDER . UPLOADDIR . 'shop_' . $current_shop_id . '/item_catalog_' . $add_advertisement_id;
$kernel = & singleton('kernel');
$ext = $kernel->GetExtension($_FILES['shop_item_property' . $group_propertys_result[$i]]['name']);
if(strtoupper($ext) == 'JPG' || strtoupper($ext) == 'JPEG')
{
if ($ext != '')
{
$ext = '.' . $ext;
}
$property_big_file = $item_dir_path . '/shop_property_file_' . $add_advertisement_id . '_' . $group_propertys_result[$i] . $ext;
$property_small_file = $item_dir_path . '/small_shop_property_file_' . $add_advertisement_id . '_' . $group_propertys_result[$i] . $ext;
$param_load_files = array();
$param_load_files['path_source_big_image'] = $_FILES['shop_item_property' . $group_propertys_result[$i]]['tmp_name'];
$param_load_files['path_source_small_image'] = '';
$param_load_files['original_file_name_big_image'] = to_str($_FILES['shop_item_property' . $group_propertys_result[$i]]['name']);
$param_load_files['path_target_big_image'] = $property_big_file;
$param_load_files['path_target_small_image'] = $property_small_file;
$param_load_files['original_file_name_small_image'] = $param_load_files['original_file_name_big_image'];
$param_load_files['use_big_image'] = true;
$param_load_files['max_width_big_image'] = to_int($GLOBALS['LA']['max_width_big_image']);
$param_load_files['max_height_big_image'] = to_int($GLOBALS['LA']['max_height_big_image']);
$param_load_files['max_width_small_image'] = to_int($GLOBALS['LA']['max_width_small_image']);
$param_load_files['max_height_small_image'] = to_int($GLOBALS['LA']['max_height_small_image']);
$param_load_files['used_watermark_big_image'] = false;
$param_load_files['used_watermark_small_image'] = false;
$param_load_files['isset_big_image'] = false;
$result = $kernel->AdminLoadFiles($param_load_files);
if ($result['big_image'])
{
$shop_properties_items_file = basename($property_big_file);
$property_value = $param_load_files['original_file_name_big_image'];
}
else
{
$property_value = '';
$shop_properties_items_file = '';
}
if ($result['small_image'])
{
$shop_properties_items_value_small = $param_load_files['original_file_name_small_image'];
$shop_properties_items_file_small = basename($property_small_file);
}
else
{
$shop_properties_items_value_small = '';
$shop_properties_items_file_small = '';
}
}
То каким образом при подачи объявления, некоторые умудряются GIF присоединять? Как сделать чтобы такого в дальнейшем не было, только jpg (jpeg)?
<?
$Captcha = new Captcha();
$xsl_catalog = to_str($GLOBALS['LA']['xsl_catalog']);
$xsl_item = to_str($GLOBALS['LA']['xsl_item']);
$current_shop_id = to_int($GLOBALS['LA']['shop_id']);
$param = array();
$shop = & singleton('shop');
if ($GLOBALS['shop_item_path'] != false)
{
if (class_exists("SiteUsers"))
{
/* Получаем id текущего пользователя сайта */
$SiteUsers = & singleton('SiteUsers');
$param['user_id'] = $SiteUsers->GetCurrentSiteUser();
}
$external_propertys = array();
$advertisement_title = '';
$advertisement_price = '';
$advertisement_text = '';
$advertisement_fio = '';
$advertisement_phone = '';
$advertisement_email = '';
// Обработка добавления объявления
if (isset($_REQUEST['add_advertisement']))
{
if (isset($_REQUEST['captcha_key']) && isset($_REQUEST['captcha_keystring']) &&
$Captcha->ValidCaptcha($_REQUEST['captcha_key'],$_REQUEST['captcha_keystring']))
{
$external_propertys['message'] = 'Спасибо, объявление добавлено!';
$div_style = 'none';
$param = array();
$param['shops_id'] = $current_shop_id;
$param['groups_id'] = $GLOBALS['shop_item_path']['group'];
$param['name'] = strip_tags(to_str($_POST['advertisement_title']));
$param['description'] = '';
$param['shop_items_catalog_date_time'] = date('Y-m-d H:i:s');
$param['text'] = strip_tags(to_str($_POST['advertisement_text']));
if (class_exists('typograph'))
{
$typograph = new typograph();
$param['text'] = $typograph->ProcessTypographic($param['text'], true);
}
$param['currency_id'] = 1;
$price = $GLOBALS['shops']->ConvertPrice($_POST['advertisement_price']);
$param['price'] = to_float($price);
$param['is_active'] = 1; //премодерация
//$param['is_active'] = to_int($GLOBALS['LA']['shop_item_is_active']);
$param['order'] = 0;
$param['indexation'] =1;
$param['seo_title'] = $param['name'];
$param['seo_description'] = $param['name'];
$param['seo_keywords'] = $param['name'];
$param['shop_sallers_id'] = 0;
$param['path_source_big_image'] = to_str($_FILES['advertisement_file']['tmp_name']);
//$param['path_source_small_image'] = $param['path_source_big_image'];
$param['original_file_name_big_image'] = to_str($_FILES['advertisement_file']['name']);
//$param['path_target_big_image'] = $item_big_image;
//$param['path_target_small_image'] = $item_small_image;
$param['original_file_name_small_image'] = $param['original_file_name_big_image'];
$param['use_big_image'] = true;
$param['max_width_big_image'] = to_int($GLOBALS['LA']['max_width_big_image']);
$param['max_height_big_image'] = to_int($GLOBALS['LA']['max_height_big_image']);
$param['max_width_small_image'] = to_int($GLOBALS['LA']['max_width_small_image']);
$param['max_height_small_image'] = to_int($GLOBALS['LA']['max_height_small_image']);
$param['used_watermark_big_image'] = false;
$param['used_watermark_small_image'] = false;
$param['isset_big_image'] = false;
$add_advertisement_id = $shop->InsertItem($param);
if ($add_advertisement_id)
{
// Добавляем Дату и время добавления объявления
$param = array();
$param['shop_items_catalog_item_id'] = $add_advertisement_id;
$param['shop_list_of_properties_id'] = 61;
$param['shop_properties_items_value'] = date('d.m.Y H:i:s');
$shop->InsertPropertiesItem($param);
// Добавляем ФИО
$param = array();
$param['shop_items_catalog_item_id'] = $add_advertisement_id;
$param['shop_list_of_properties_id'] = 4;
$param['shop_properties_items_value'] = strip_tags(to_str($_POST['advertisement_fio']));
$shop->InsertPropertiesItem($param);
// Добавляем Телефон
$param = array();
$param['shop_items_catalog_item_id'] = $add_advertisement_id;
$param['shop_list_of_properties_id'] = 5;
$param['shop_properties_items_value'] = strip_tags(to_str($_POST['advertisement_phone']));
$shop->InsertPropertiesItem($param);
// Добавляем E-mail
$param = array();
$param['shop_items_catalog_item_id'] = $add_advertisement_id;
$param['shop_list_of_properties_id'] = 6;
$param['shop_properties_items_value'] = strip_tags(to_str($_POST['advertisement_email']));
$shop->InsertPropertiesItem($param);
// Получаем список дополнительных свойств раздела объявлений
$group_propertys_result = $shop->GetPropertiesOfGroup($GLOBALS['shop_item_path']['group']);
$count_group_propertys = count($group_propertys_result);
// Для группы существуют доп. свойства
if ($count_group_propertys)
{
// В цикле получаем подробную информацию о дополнительных свойствах группы
for ($i = 0; $i < $count_group_propertys; $i++)
{
if (isset($_POST['shop_item_property' . $group_propertys_result[$i]])
|| isset($_FILES['shop_item_property' . $group_propertys_result[$i]]))
{
if (isset($_POST['shop_item_property' . $group_propertys_result[$i]]))
{
$item_property = $shop->GetPropretyOfItems($group_propertys_result[$i]);
// Доп. свойство - нефлажок и нефайл
if ($item_property['shop_list_of_properties_type'] != 7 && $item_property['shop_list_of_properties_type'] != 2)
{
$property_value = strip_tags(to_str($_POST['shop_item_property' . $group_propertys_result[$i]]));
}
// Доп. свойство - флажок
elseif ($item_property['shop_list_of_properties_type'] == 7)
{
$property_value = 1;
}
// Доп. свойство - список
elseif ($item_property['shop_list_of_properties_type'] == 2)
{
$property_value = to_int($_POST['shop_item_property' . $group_propertys_result[$i]]);
}
$shop_properties_items_value_small = '';
$shop_properties_items_file = '';
$shop_properties_items_file_small = '';
}
else // Доп. свойство - файл
{
$item_dir_path = CMS_FOLDER . UPLOADDIR . 'shop_' . $current_shop_id . '/item_catalog_' . $add_advertisement_id;
$kernel = & singleton('kernel');
$ext = $kernel->GetExtension($_FILES['shop_item_property' . $group_propertys_result[$i]]['name']);
if(strtoupper($ext) == 'JPG' || strtoupper($ext) == 'JPEG')
{
if ($ext != '')
{
$ext = '.' . $ext;
}
$property_big_file = $item_dir_path . '/shop_property_file_' . $add_advertisement_id . '_' . $group_propertys_result[$i] . $ext;
$property_small_file = $item_dir_path . '/small_shop_property_file_' . $add_advertisement_id . '_' . $group_propertys_result[$i] . $ext;
$param_load_files = array();
$param_load_files['path_source_big_image'] = $_FILES['shop_item_property' . $group_propertys_result[$i]]['tmp_name'];
$param_load_files['path_source_small_image'] = '';
$param_load_files['original_file_name_big_image'] = to_str($_FILES['shop_item_property' . $group_propertys_result[$i]]['name']);
$param_load_files['path_target_big_image'] = $property_big_file;
$param_load_files['path_target_small_image'] = $property_small_file;
$param_load_files['original_file_name_small_image'] = $param_load_files['original_file_name_big_image'];
$param_load_files['use_big_image'] = true;
$param_load_files['max_width_big_image'] = to_int($GLOBALS['LA']['max_width_big_image']);
$param_load_files['max_height_big_image'] = to_int($GLOBALS['LA']['max_height_big_image']);
$param_load_files['max_width_small_image'] = to_int($GLOBALS['LA']['max_width_small_image']);
$param_load_files['max_height_small_image'] = to_int($GLOBALS['LA']['max_height_small_image']);
$param_load_files['used_watermark_big_image'] = false;
$param_load_files['used_watermark_small_image'] = false;
$param_load_files['isset_big_image'] = false;
$result = $kernel->AdminLoadFiles($param_load_files);
if ($result['big_image'])
{
$shop_properties_items_file = basename($property_big_file);
$property_value = $param_load_files['original_file_name_big_image'];
}
else
{
$property_value = '';
$shop_properties_items_file = '';
}
if ($result['small_image'])
{
$shop_properties_items_value_small = $param_load_files['original_file_name_small_image'];
$shop_properties_items_file_small = basename($property_small_file);
}
else
{
$shop_properties_items_value_small = '';
$shop_properties_items_file_small = '';
}
}
}
$param = array();
$param['shop_items_catalog_item_id'] = $add_advertisement_id;
$param['shop_list_of_properties_id'] = $group_propertys_result[$i];
$param['shop_properties_items_value'] = $property_value;
$param['shop_properties_items_value_small'] = $shop_properties_items_value_small;
$param['shop_properties_items_file'] = $shop_properties_items_file;
$param['shop_properties_items_file_small'] = $shop_properties_items_file_small;
$shop->InsertPropertiesItem($param);
}
if($group_propertys_result[$i] == 212)
{
$SiteUsers = new SiteUsers();
$current_site_user_id = $SiteUsers->GetCurrentSiteUser();
if ($current_site_user_id > 0)
{
$property_value = 1;
}
else
{
$property_value = 0;
}
$param = array();
$param['shop_items_catalog_item_id'] = $add_advertisement_id;
$param['shop_list_of_properties_id'] = $group_propertys_result[$i];
$param['shop_properties_items_value'] = $property_value;
$param['shop_properties_items_value_small'] = "";
$param['shop_properties_items_file'] = "";
$param['shop_properties_items_file_small'] = "";
$shop->InsertPropertiesItem($param);
}
if($group_propertys_result[$i] == 217)
{
$kernel = & singleton ('kernel') ;
$property_value = $kernel->Guid();
$param = array();
$param['shop_items_catalog_item_id'] = $add_advertisement_id;
$param['shop_list_of_properties_id'] = $group_propertys_result[$i];
$param['shop_properties_items_value'] = $property_value;
$param['shop_properties_items_value_small'] = "";
$param['shop_properties_items_file'] = "";
$param['shop_properties_items_file_small'] = "";
$shop->InsertPropertiesItem($param);
}
if($group_propertys_result[$i] == 218)
{
$SiteUsers = new SiteUsers();
$current_site_user_id = $SiteUsers->GetCurrentSiteUser();
$property_value = $current_site_user_id;
$param = array();
$param['shop_items_catalog_item_id'] = $add_advertisement_id;
$param['shop_list_of_properties_id'] = $group_propertys_result[$i];
$param['shop_properties_items_value'] = $property_value;
$param['shop_properties_items_value_small'] = "";
$param['shop_properties_items_file'] = "";
$param['shop_properties_items_file_small'] = "";
$shop->InsertPropertiesItem($param);
}
if($group_propertys_result[$i] == 220)
{
$property_value = '463';
$param = array();
$param['shop_items_catalog_item_id'] = $add_advertisement_id;
$param['shop_list_of_properties_id'] = $group_propertys_result[$i];
$param['shop_properties_items_value'] = $property_value;
$param['shop_properties_items_value_small'] = "";
$param['shop_properties_items_file'] = "";
$param['shop_properties_items_file_small'] = "";
$shop->InsertPropertiesItem($param);
}
if($group_propertys_result[$i] == 221)
{
$property_value = '1';
$param = array();
$param['shop_items_catalog_item_id'] = $add_advertisement_id;
$param['shop_list_of_properties_id'] = $group_propertys_result[$i];
$param['shop_properties_items_value'] = $property_value;
$param['shop_properties_items_value_small'] = "";
$param['shop_properties_items_file'] = "";
$param['shop_properties_items_file_small'] = "";
$shop->InsertPropertiesItem($param);
}
}
}
// Отправка письма администратору
$message = "На сайте do.ru новое объявление.\n\n";
$message .= "ID: ". $add_advertisement_id ."\n";
// Полный путь до объявления содержится в $path_string
$path_string = $shop->GetPathGroup($GLOBALS['shop_item_path']['group']);
$message .= "Путь: $path_string ."item_". $add_advertisement_id ."\n\n";
$message .= "Заголовок: ".htmlspecialchars(strip_tags(to_str($_POST['advertisement_title'])))."\n\n";
$message .= "Текст объявления: ".htmlspecialchars(strip_tags(to_str($_POST['advertisement_text'])))."\n\n";
$SiteUsers = new SiteUsers();
$current_site_user_id = $SiteUsers->GetCurrentSiteUser();
if ($current_site_user_id > 0)
{
$name = $SiteUsers->GetSiteUser($current_site_user_id);
if ($name['site_users_login'] != '')
{
$text_user_user = $name['site_users_login'];
}
else
{
$text_user_user = '';
}
}
else
{
$text_user_user = 'Аноним';
}
$message .= "Логин: ". $text_user_user . "\n";
$message .= "ФИО: ".strip_tags(to_str($_POST['advertisement_fio']))."\n";
$message .= "Телефон: ".htmlspecialchars(strip_tags(to_str($_POST['advertisement_phone'])))."\n";
$message .= "E-mail: ".strip_tags(to_str($_POST['advertisement_email']))."\n";
$DateClass = new DateClass();
$date= date('Y-m-d H:i:s');
$message .= "Дата: ".$DateClass->datetime_format($date)."\n";
$message .= "IP-адрес: ".to_str($_SERVER['REMOTE_ADDR'])."\n";
$mas_group_path = $shop->GetShopGroupsToRoot($GLOBALS['shop_item_path']['group'], $current_shop_id);
$group_path = '';
if (is_array($mas_group_path) && count($mas_group_path) > 0)
{
foreach ($mas_group_path as $key => $value)
{
$group_path = $value['shop_groups_name'] . (intval($key) != 0 ? ' - ' : '' ) . $group_path;
}
}
// Путь по именам содержится в переменной $group_path
$subject = "Новое объявление: ". $group_path. ".";
$mail_send_to = 'wsm@do.ru';
$kernel = & singleton('kernel');
$kernel->SendMailWithFile($mail_send_to, EMAIL_TO, $subject, $message, array(), 'text/plain');
}
}
else // Ввели неправильный код подтверждения
{
$external_propertys['message'] = 'Вы ввели неправильный код подтверждения!';
$div_style = 'block';
$advertisement_title = strip_tags(to_str($_REQUEST['advertisement_title']));
$advertisement_price = strip_tags(to_str($_REQUEST['advertisement_price']));
$advertisement_text = strip_tags(to_str($_REQUEST['advertisement_text']));
$advertisement_fio = strip_tags(to_str($_REQUEST['advertisement_fio']));
$advertisement_phone = strip_tags(to_str($_REQUEST['advertisement_phone']));
$advertisement_email = strip_tags(to_str($_REQUEST['advertisement_email']));
}
}
else
{
$div_style = 'none';
}
/* Вывод списка */
if (!$GLOBALS['shop_item_path']['item'])
{
$param['current_group_id'] = $GLOBALS['shop_item_path']['group']; // корневая группа
/* Определяем номер элемента, с которого начинается показ в текущей группе */
$page = end($GLOBALS['URL_ARRAY']);
$page = to_str($page);
$shop_row = $GLOBALS['shops']->GetShop($current_shop_id);
if ($shop_row)
{
$items_on_page = $shop_row['shop_items_on_page'];
}
else
{
$items_on_page = 10;
}
/*
Порядок сортировки ('Asc' - по возрастанию, 'Desc' - по убыванию, 'Rand' - произвольный порядок)
$param['items_order']='Asc';
Поле, по которому сортируем (наименование элемента)
$param['items_field_order']='shop_items_catalog_name';
*/
/* Ограничиваем по производителю */
if (to_int($_GET['producer_id']) > 0)
{
$element['type'] = 0; // 0 - основное св-во, 1 - дополнительное
$element['name'] = 'shop_producers_list_id';
$element['prefix'] = 'AND'; // префикс
$element['if'] = '='; // Условие
$element['value'] = to_int($_GET['producer_id']);
$element['sufix'] = '';
$param['select'][] = $element;
$external_propertys['producer_id'] = to_int($_GET['producer_id']);
/* Применять фильтр */
$external_propertys['apply_filter'] = true;
}
/* Ограничиваем по продавцу */
if (to_int($_GET['saller_id']) > 0)
{
$element['type'] = 0; // 0 - основное св-во, 1 - дополнительное
$element['name'] = 'shop_sallers_id';
$element['prefix'] = 'AND'; // префикс
$element['if'] = '='; // Условие
$element['value'] = to_int($_GET['saller_id']);
$element['sufix'] = '';
$param['select'][] = $element;
$external_propertys['saller_id'] = to_int($_GET['saller_id']);
/* Применять фильтр */
$external_propertys['apply_filter'] = true;
}
$price_from = str_replace(',', '.', to_float($_GET['price_from']));
/* Ограничиваем по цене ОТ */
if ($price_from > 0)
{
$element['type'] = 0; // 0 - основное св-во, 1 - дополнительное
$element['name'] = 'shop_items_catalog_price';
$element['prefix'] = 'AND'; // префикс
$element['if'] = '>'; // Условие
$element['value'] = $price_from;
$element['sufix'] = '';
$param['select'][] = $element;
$external_propertys['price_from'] = $price_from;
/* Применять фильтр */
$external_propertys['apply_filter'] = true;
}
$price_to = str_replace(',', '.', to_float($_GET['price_to']));
/* Ограничиваем по цене ДО */
if ($price_to > 0)
{
$element['type'] = 0; // 0 - основное св-во, 1 - дополнительное
$element['name'] = 'shop_items_catalog_price';
$element['prefix'] = 'AND'; // префикс
$element['if'] = '<'; // Условие
$element['value'] = $price_to;
$element['sufix'] = '';
$param['select'][] = $element;
$external_propertys['price_to'] = $price_to;
/* Применять фильтр */
$external_propertys['apply_filter'] = true;
}
/* Число элементов на странице */
$on_page = to_int($_GET['on_page']);
if ($on_page > 0 && $on_page < 150)
{
$param['items_on_page'] = $on_page;
$external_propertys['on_page'] = $on_page;
/* Применять фильтр */
$external_propertys['apply_filter'] = true;
}
// Определяем номер страницы.
if ($on_page)
{
$items_on_page = $on_page;
}
if (ereg("^page-([0-9]*)$", $page, $regs) && to_int($regs[1]) > 1)
{
/* Страница умножается на кол-во элементов, выводимых на страницу */
$items_begin = ($regs[1] - 1) * $items_on_page;
}
else
{
$items_begin = 0;
}
$param['items_begin'] = $items_begin;
/* Направление сортировки, 0 - по-возрастанию, 1 - по-убыванию */
$order_direction = to_int($_GET['order_direction']);
switch ($order_direction)
{
case 1: /* По-возрастанию */
{
$order_direction = 'ASC';
break;
}
case 2: /* По-убыванию */
{
$order_direction = 'DESC';
break;
}
default: /* По-умолчанию */
{
$order_direction = 'ASC';
break;
}
}
/* Поле сортировки */
$sort_field = to_int($_GET['sort_by_field']);
switch ($sort_field)
{
case 1: /* По имени */
{
$param['items_field_order'] = 'shop_items_catalog_name';
$param['items_order'] = $order_direction;
$external_propertys['sort_by_field'] = $sort_field;
$external_propertys['order_direction'] = $order_direction;
break;
}
case 2: /* По цене */
{
$param['items_field_order'] = 'shop_items_catalog_price';
$param['items_order'] = $order_direction;
$external_propertys['sort_by_field'] = $sort_field;
$external_propertys['order_direction'] = $order_direction;
break;
}
}
/* Обработка дополнительных свойств.
Получаем список свойств, разрешенных для отображения в данной группе и в фильтре */
$resource_properties = $shop->GetPropertiesOfGroupForXml($current_shop_id, $param['current_group_id']);
if ($resource_properties)
{
$element['type'] = 0; /* 0 - основное св-во, 1 - дополнительное */
/* Префикс, если нужен. */
$element['prefix'] = ' and ('; // префикс
/* ОСТАВЛЯЕТЕ БЕЗ ИЗМЕНЕНИЙ, ЭТО НУЖНО ДЛЯ СОРТИРОВКИ */
$element['name'] = ''; // Имя
/* поля для основного св-ва, если тип = 1, то не указывается */
$element['if'] = ''; // Условие
/* Вот здесь передается ID доп. св-ва, по которому производится сортировка.
ID ВАШЕГО ПОЛЯ УКАЗЫВАЕТЕ ЗДЕСЬ */
$element['value'] = ''; /* Значение поля (или параметра) */
$element['sufix']=' ';
/* Добавляем в общий список условий */
$param['select'][] = $element;
$count_condition = 0;
$property_xml = '';
$count_properties = mysql_num_rows($resource_properties);
for ($i = 0; $i < $count_properties; $i++)
{
$row = mysql_fetch_assoc($resource_properties);
$element['value'] = 0;
foreach ($_GET as $key => $value)
{
if (preg_match("/property_id_{$row['shop_list_of_properties_id']}_item_id_(\d*)/", $key, $matches))
{
$get_param = 'property_id_'.$row['shop_list_of_properties_id'].'_item_id_'.$matches[1];
if (isset($_GET[$get_param]) > 0 && to_int($matches[1]) > 0)
{
$element['value'] = to_int($matches[1]);
$external_propertys['property_id_'.to_int($row['shop_list_of_properties_id']).'_item_id_'.$element['value']] = $element['value'];
$property_xml .= '&property_id_'.to_int($row['shop_list_of_properties_id']).'_item_id_'.$element['value'].'='.$element['value'];
}
}
}
/* Выбираем режим отображения */
$get_param = 'property_id_'.$row['shop_list_of_properties_id'];
if (isset($_GET[$get_param]))
{
if ($row['shop_list_of_properties_type'] == 0 || $row['shop_list_of_properties_show_kind'] == 1)
{
if (to_str($_GET[$get_param]) ==! "")
{
$element['value'] = quote_smart(to_str($_GET[$get_param]));
$external_propertys['property_id_'.to_int($row['shop_list_of_properties_id'])] = $element['value'];
$property_xml .= '&property_id_'.to_int($row['shop_list_of_properties_id']).'='.$element['value'];
}
}
// Флажок
elseif($row['shop_list_of_properties_type'] == 7)
{
$element['value'] = 1;
$external_propertys['property_id_'.to_int($row['shop_list_of_properties_id'])] = $element['value'];
$property_xml .= '&property_id_'.to_int($row['shop_list_of_properties_id']).'='.$element['value'];
}
else
{
if (to_int($_GET[$get_param]) > 0)
{
$element['value'] = to_int($_GET[$get_param]);
$external_propertys['property_id_'.to_int($row['shop_list_of_properties_id'])] = $element['value'];
$property_xml .= '&property_id_'.to_int($row['shop_list_of_properties_id']).'='.$element['value'];
}
}
}
if ($element['value'])
{
/* Применять фильтр */
$external_propertys['apply_filter'] = true;
$element['property_id'] = to_int($row['shop_list_of_properties_id']);
$element['type'] = 1; /* 0 - основное св-во, 1 - дополнительное */
//$element['prefix'] = 'AND'; /* префикс */
$element['if'] = '='; /* Условие */
$element['sufix'] = '';
if ($count_condition)
{
$element['prefix'] = ' or '; /* префикс */
}
else
{
$element['prefix'] = ' '; /* префикс */
}
++$count_condition;
$param['select'][] = $element;
}
}
if (!$count_condition)
{
$element['prefix'] = ' 1'; /* префикс */
}
else
{
$element['prefix'] = ''; // префикс
}
/* добавляем конечный элемент, содержащий HAVING */
$element['type'] = 0; /* 0 - основное св-во, 1 - дополнительное */
/* ОСТАВЛЯЕТЕ БЕЗ ИЗМЕНЕНИЙ, ЭТО НУЖНО ДЛЯ СОРТИРОВКИ */
$element['name'] = ''; /* Имя */
/* поля для основного св-ва, если тип = 1, то не указывается */
$element['if'] = ''; /* Условие */
/* Вот здесь передается ID доп. св-ва, по которому производится сортировка.
ID ВАШЕГО ПОЛЯ УКАЗЫВАЕТЕ ЗДЕСЬ */
$element['value'] = ''; // Значение поля (или параметра)
$having_count = '';
if ($count_condition != 0)
{
$having_count = 'GROUP BY shop_items_catalog_table.shop_items_catalog_item_id HAVING COUNT(shop_properties_items_table.shop_properties_items_id)= '.$count_condition.' ';
}
$element['sufix'] = ' ) ' . $having_count;
/* Добавляем в общий список условий */
$param['select'][] = $element;
}
if (!empty($property_xml))
{
$external_propertys['property_xml'] = $property_xml;
}
// Если передано имя тэга - фильтруем
if (isset($GLOBALS['shop_item_path']['tag_name']))
{
$oTag = & singleton('Tag');
$tag_row = $oTag->GetTagByName($GLOBALS['shop_item_path']['tag_name']);
$param['tags'] = array($tag_row['tag_id']);
// При выводе тэгов вывод элементов ведется из всех групп
$param['current_group_id'] = false;
}
// Формируем html-код формы добавления объявления
ob_start();
// Идентификатор текущей группы
$current_group_id = $GLOBALS['shop_item_path']['group'];
$shop = & singleton('shop');
$captcha_key = $Captcha->GetCaptchaID();
?>
<div id="FormAddAdvertisement" style="display: <?=$div_style?>">
<script language="JavaScript">
jQuery.validator.addMethod('linked', function(value, element, params) { return $('#advertisement_email').val().length > 0 || $('#advertisement_phone').val().length > 0; }, 'Please enter phone or email')
jQuery.validator.addMethod("phone", function(phone_number, element) {
phone_number = phone_number.replace(/\s+/g, "");
return this.optional(element) || phone_number.match(/^(\d|[()+-,()+-]){3,}$/);
}, "Please specify a valid phone number");
$().ready(function() {
$("#advertisement").validate(
{
rules:
{
advertisement_title: {
required: true,
minlength: 5,
maxlength: 120
},
advertisement_price: {
number: true,
maxlength: 10
},
advertisement_text: {
required: true,
maxlength: 330
},
advertisement_fio: {
maxlength: 60
},
advertisement_email: {
email: true,
linked: true,
maxlength: 60
},
advertisement_phone: {
phone: true,
linked: true,
maxlength: 60
}
},
messages:
{
advertisement_title: {
required: "<div>Введите заголовок</div>",
minlength : "<div>Заголовок должен быть больше 5 символов</div>",
maxlength : "<div>Заголовок должен быть меньше 120 символов</div>"
},
advertisement_price: {
number: "<div>Неправильный формат цены",
maxlength: "<div>Цена должна быть меньше 10 символов</div>"
},
advertisement_text: {
required: "<div>Введите текст",
maxlength: "<div>Текст должен быть меньше 330 символов</div>"
},
advertisement_fio: {
maxlength: "<div>Поле должно быть меньше 60 символов</div>"
},
advertisement_email: {
email: "<div>Неправильный формат электронного адреса</div>",
linked: "<div>Хотя бы одно из полей: "Телефон" или "e-mail" должно быть заполненным</div>",
maxlength: "<div>E-mail должен быть меньше 60 символов</div>"
},
advertisement_phone: {
phone: "<div>Неправильный формат телефонного номера</div>",
linked: "<div>Хотя бы одно из полей: "Телефон" или "e-mail" должно быть заполненным</div>",
maxlength: "<div>Телефон должен быть меньше 60 символов</div>"
}
}
}
);
});
</script>
<form id="advertisement" method="POST" action="./" enctype="multipart/form-data">
<table><tr><td valign="top">
<!-- Проверка юзера -->
<?
$SiteUsers = new SiteUsers();
$current_site_user_id = $SiteUsers->GetCurrentSiteUser();
if ($current_site_user_id > 0)
{
$name = $SiteUsers->GetSiteUser($current_site_user_id);
$treat = "";
if ($name['site_users_login'] != '')
{
$treat = $name['site_users_login'];
}
$text_user_user = "Вы вошли на сайт под логином: $treat";
}
else
{
$text_user_user = 'Вы не авторизированы на сайте.';
}
print_r($text_user_user);
?>
<table style="margin-top: 10px;">
<tr>
<td>
<?
$Shop = new Shop();
$param['shop_groups_id'] = $GLOBALS['shop_item_path']['group'];
$param['shop_properties_group_id'] = 6;
$raw = $Shop->GetPropertiesGroupValue($param);
//print_r($raw);
if ($raw['shop_properties_group_value_value'] == 623)
{
$view_field_value = 'Марка и модель авто';
}
else
{
$view_field_value = 'Заголовок';
}
echo $view_field_value;
?><font color="red">*</font> <i style="color: #888888;"><small>5-120 символов</small></i><br />
<input type="text" name="advertisement_title" size="70" value="<?=$advertisement_title;?>" />
</td>
</tr>
<tr>
<td>
Цена (руб.) <i style="color: #888888;"><small>не более 10 цифр без пробелов</small></i><br />
<input type="text" name="advertisement_price" size="70" value="<?=$advertisement_price;?>" />
</td>
</tr>
<tr>
<td>
Фото<br />
<input type="file" name="advertisement_file" size="59" />
</td>
</tr>
<tr>
<td>
ФИО <i style="color: #888888;"><small>не более 60 символов</small></i><br />
<input type="text" name="advertisement_fio" size="70" value="<?=$advertisement_fio;?>" />
</td>
</tr>
<tr>
<td>
Телефон <i style="color: #888888;"><small>не более 60 цифр</small></i><br />
<input type="text" id="advertisement_phone" name="advertisement_phone" size="70" value="<?=$advertisement_phone;?>" />
</td>
</tr>
<tr>
<td>
E-mail<br />
<input type="text" id="advertisement_email" name="advertisement_email" size="70" value="<?=$advertisement_email;?>" />
</td>
</tr>
<?
// Получаем список дополнительных свойств группы магазина
$group_propertys_result = $shop->GetPropertiesOfGroup($current_group_id);
$count_group_propertys = count($group_propertys_result);
// Для группы существуют доп. свойства
if ($count_group_propertys)
{
// В цикле получаем подробную информацию о дополнительных свойствах группы
for ($i = 0; $i < $count_group_propertys; $i++)
{
$item_property = $shop->GetPropretyOfItems($group_propertys_result[$i]);
if ($item_property)
{
if ($item_property['shop_list_of_properties_id'] != 4
&& $item_property['shop_list_of_properties_id'] != 5
&& $item_property['shop_list_of_properties_id'] != 212
&& $item_property['shop_list_of_properties_id'] != 217
&& $item_property['shop_list_of_properties_id'] != 218
&& $item_property['shop_list_of_properties_id'] != 220
&& $item_property['shop_list_of_properties_id'] != 221
&&
($item_property['shop_list_of_properties_type'] != 2 || $item_property['shop_list_of_properties_type'] == 2 && class_exists('lists')))
{
?>
<tr>
<td>
<?
switch ($item_property['shop_list_of_properties_type'])
{
case 0: // Строка
case 3: // Большое текстовое поле
case 4: // Визуальный редактор
case 5: // Дата
case 6: // Дата-время
{
echo $item_property['shop_list_of_properties_name'];
?>
<br />
<input type="text" name="shop_item_property<?=$item_property['shop_list_of_properties_id']?>" size="70" value="<?=to_str($_REQUEST['shop_item_property'.$item_property['shop_list_of_properties_id']])?>" />
<?
break;
}
case 1: // Файл
{
echo $item_property['shop_list_of_properties_name'];
?>
<br />
<input type="file" name="shop_item_property<?=$item_property['shop_list_of_properties_id']?>" size="59" />
<?
break;
}
case 2: // Список
{
if (class_exists('lists'))
{
$list = new lists();
$list_result = $list->SelectListsItems($item_property['lists_id']);
if ($list_result)
{
echo $item_property['shop_list_of_properties_name'];
?>
<br />
<select name="shop_item_property<?=$item_property['shop_list_of_properties_id']?>">
<?
while ($list_row = mysql_fetch_assoc($list_result))
{
$selected = '';
if ($list_row['lists_items_id'] == to_int($_REQUEST['shop_item_property' . $item_property['shop_list_of_properties_id']]))
{
$selected = ' selected="" ';
}
?>
<option value="<?=$list_row['lists_items_id']?>" <?=$selected?>><?=$list_row['lists_items_value']?></option>
<?
}
?>
</select>
<?
}
}
break;
}
case 7: // Флажок
{
if (isset($_REQUEST['shop_item_property' . $item_property['shop_list_of_properties_id']]))
{
$checked = ' checked="" ';
}
else
{
$checked = '';
}
?>
<input type="checkbox" name="shop_item_property<?=$item_property['shop_list_of_properties_id']?>" <?=$checked?> />
<?
echo $item_property['shop_list_of_properties_name'];
break;
}
default:
{
echo $item_property['shop_list_of_properties_name'];
?>
<br />
<input type="text" name="shop_item_property<?=$item_property['shop_list_of_properties_id']?>" size="70" />
<?
break;
}
}
?>
</td>
</tr>
<?
}
}
}
}
?>
<tr>
<td>
Текст объявления<font color="red">*</font> <i style="color: #888888;"><small>не более 330 символов</small></i><br />
<textarea name="advertisement_text" rows="5" cols="53"><?=$advertisement_text;?></textarea>
</td>
</tr>
<tr>
<td>
<!-- Проверка на платность -->
<?
$Shop = new Shop();
$param['shop_groups_id'] = $GLOBALS['shop_item_path']['group'];
$param['shop_properties_group_id'] = 5;
$raw = $Shop->GetPropertiesGroupValue($param);
//print_r($raw);
if ($raw['shop_properties_group_value_value'] == 465)
{
$payment_entries_value = 'Эта рубрика газеты <span style="color: #ff0000;">платная</span>, ваше объявление будет опубликовано<br/>только на сайте.';
}
else
{
$payment_entries_value = 'Ваше объявление будет опубликовано и в ближайшем<br/>номере газеты. Если вы не найдете в нем своего объявления,<br/>значит его ещё не успели проверить и одобрить.';
}
echo $payment_entries_value;
?>
</td></tr><tr>
<td>
<div style="clear: both; padding-top: 3px;">
Код подтверждения
</div>
<div style="float: left">
<img style="border: 1px solid #000000" src="/captcha.php?get_captcha=<?=$captcha_key?>&height=40" title="Код подтверждения"/>
</div>
<div style="float: left; margin-left: 5px;">
<input type="text" name="captcha_keystring"/>
<input type="hidden" name="captcha_key" value="<?=$captcha_key?>" size="5"/>
</div>
</td>
</tr>
<tr>
<td><input type="submit" name="add_advertisement" value="Отправить" /></td>
</tr>
</table>
</td><td valign="top">
<?
/* Вывод информационных систем */
$InformationSystem = new InformationSystem();
$external_propertys_shops=array();
$external_propertys_shops['ОтображатьСсылкуНаАрхив']=0;
$external_propertys_shops['ОтображатьСсылкиНаСледующиеСтраницы']=0;
$property['xml_show_group_type'] = 'all';
/* Количество выводимых элементов */
$item_count = 4;
$InformationSystemId = 23;
$InformationGroupId = false; // false - из всех групп, 0 - из корневой группы
$InformationSystem->ShowInformationSystem($InformationSystemId, $InformationGroupId, 'СписокЭлементовИнфосистемыНетЗагаловка',$item_count,0,$external_propertys_shops, $property);
?>
</td></tr></table>
</form>
</div>
<?
$form_add_advertisement = ob_get_contents();
ob_get_clean();
$external_propertys['ФормаДобавленияОбъявления'] = $form_add_advertisement;
// Begin * Сортировка по типу объявления
$shop = & singleton('shop');
// $param = array();
$param['current_group_id'] = $GLOBALS['shop_item_path']['group']; // Текущая группа
//$param['xml_show_group_type'] = 'none';
//$param['items_on_page'] = 20;
// Ограничение по доп. свойству
$element['type'] = 1; // 0 - основное св-во, 1 - дополнительное
$element['property_id'] = 212; // идентификатор доп. св-ва
$element['prefix'] = ' AND '; // префикс
$element['if'] = '!='; // Условие
$element['value'] = "''"; //
$element['sufix'] = '';
$param['select'][] = $element;
// Сортируем как число
$param['items_field_order'] = ' shop_properties_items_table.shop_properties_items_value DESC, shop_items_catalog_date_time';
$param['items_order'] = 'DESC';
// End * Сортировка по типу объявления
$GLOBALS['shops']->ShowShop($current_shop_id, $xsl_catalog, $param, $external_propertys);
?>
<table class="shop_block_baner">
<tr><td>
<?
$Advertisement = new Advertisement();
$banner_group = 15;
$Advertisement->ShowBannerGroup($banner_group);
?>
</td></tr></table>
<?
}
else
{
/* Вывод конкретного элемент */
$GLOBALS['shops']->ShowItem($GLOBALS['shop_item_path']['item'], $xsl_item, $param, $external_propertys);
?>
<table class="shop_block_baner">
<tr><td>
<?
$Advertisement = new Advertisement();
$banner_group = 14;
$Advertisement->ShowBannerGroup($banner_group);
?>
</td></tr></table>
<?
}
}
?>
$Captcha = new Captcha();
$xsl_catalog = to_str($GLOBALS['LA']['xsl_catalog']);
$xsl_item = to_str($GLOBALS['LA']['xsl_item']);
$current_shop_id = to_int($GLOBALS['LA']['shop_id']);
$param = array();
$shop = & singleton('shop');
if ($GLOBALS['shop_item_path'] != false)
{
if (class_exists("SiteUsers"))
{
/* Получаем id текущего пользователя сайта */
$SiteUsers = & singleton('SiteUsers');
$param['user_id'] = $SiteUsers->GetCurrentSiteUser();
}
$external_propertys = array();
$advertisement_title = '';
$advertisement_price = '';
$advertisement_text = '';
$advertisement_fio = '';
$advertisement_phone = '';
$advertisement_email = '';
// Обработка добавления объявления
if (isset($_REQUEST['add_advertisement']))
{
if (isset($_REQUEST['captcha_key']) && isset($_REQUEST['captcha_keystring']) &&
$Captcha->ValidCaptcha($_REQUEST['captcha_key'],$_REQUEST['captcha_keystring']))
{
$external_propertys['message'] = 'Спасибо, объявление добавлено!';
$div_style = 'none';
$param = array();
$param['shops_id'] = $current_shop_id;
$param['groups_id'] = $GLOBALS['shop_item_path']['group'];
$param['name'] = strip_tags(to_str($_POST['advertisement_title']));
$param['description'] = '';
$param['shop_items_catalog_date_time'] = date('Y-m-d H:i:s');
$param['text'] = strip_tags(to_str($_POST['advertisement_text']));
if (class_exists('typograph'))
{
$typograph = new typograph();
$param['text'] = $typograph->ProcessTypographic($param['text'], true);
}
$param['currency_id'] = 1;
$price = $GLOBALS['shops']->ConvertPrice($_POST['advertisement_price']);
$param['price'] = to_float($price);
$param['is_active'] = 1; //премодерация
//$param['is_active'] = to_int($GLOBALS['LA']['shop_item_is_active']);
$param['order'] = 0;
$param['indexation'] =1;
$param['seo_title'] = $param['name'];
$param['seo_description'] = $param['name'];
$param['seo_keywords'] = $param['name'];
$param['shop_sallers_id'] = 0;
$param['path_source_big_image'] = to_str($_FILES['advertisement_file']['tmp_name']);
//$param['path_source_small_image'] = $param['path_source_big_image'];
$param['original_file_name_big_image'] = to_str($_FILES['advertisement_file']['name']);
//$param['path_target_big_image'] = $item_big_image;
//$param['path_target_small_image'] = $item_small_image;
$param['original_file_name_small_image'] = $param['original_file_name_big_image'];
$param['use_big_image'] = true;
$param['max_width_big_image'] = to_int($GLOBALS['LA']['max_width_big_image']);
$param['max_height_big_image'] = to_int($GLOBALS['LA']['max_height_big_image']);
$param['max_width_small_image'] = to_int($GLOBALS['LA']['max_width_small_image']);
$param['max_height_small_image'] = to_int($GLOBALS['LA']['max_height_small_image']);
$param['used_watermark_big_image'] = false;
$param['used_watermark_small_image'] = false;
$param['isset_big_image'] = false;
$add_advertisement_id = $shop->InsertItem($param);
if ($add_advertisement_id)
{
// Добавляем Дату и время добавления объявления
$param = array();
$param['shop_items_catalog_item_id'] = $add_advertisement_id;
$param['shop_list_of_properties_id'] = 61;
$param['shop_properties_items_value'] = date('d.m.Y H:i:s');
$shop->InsertPropertiesItem($param);
// Добавляем ФИО
$param = array();
$param['shop_items_catalog_item_id'] = $add_advertisement_id;
$param['shop_list_of_properties_id'] = 4;
$param['shop_properties_items_value'] = strip_tags(to_str($_POST['advertisement_fio']));
$shop->InsertPropertiesItem($param);
// Добавляем Телефон
$param = array();
$param['shop_items_catalog_item_id'] = $add_advertisement_id;
$param['shop_list_of_properties_id'] = 5;
$param['shop_properties_items_value'] = strip_tags(to_str($_POST['advertisement_phone']));
$shop->InsertPropertiesItem($param);
// Добавляем E-mail
$param = array();
$param['shop_items_catalog_item_id'] = $add_advertisement_id;
$param['shop_list_of_properties_id'] = 6;
$param['shop_properties_items_value'] = strip_tags(to_str($_POST['advertisement_email']));
$shop->InsertPropertiesItem($param);
// Получаем список дополнительных свойств раздела объявлений
$group_propertys_result = $shop->GetPropertiesOfGroup($GLOBALS['shop_item_path']['group']);
$count_group_propertys = count($group_propertys_result);
// Для группы существуют доп. свойства
if ($count_group_propertys)
{
// В цикле получаем подробную информацию о дополнительных свойствах группы
for ($i = 0; $i < $count_group_propertys; $i++)
{
if (isset($_POST['shop_item_property' . $group_propertys_result[$i]])
|| isset($_FILES['shop_item_property' . $group_propertys_result[$i]]))
{
if (isset($_POST['shop_item_property' . $group_propertys_result[$i]]))
{
$item_property = $shop->GetPropretyOfItems($group_propertys_result[$i]);
// Доп. свойство - нефлажок и нефайл
if ($item_property['shop_list_of_properties_type'] != 7 && $item_property['shop_list_of_properties_type'] != 2)
{
$property_value = strip_tags(to_str($_POST['shop_item_property' . $group_propertys_result[$i]]));
}
// Доп. свойство - флажок
elseif ($item_property['shop_list_of_properties_type'] == 7)
{
$property_value = 1;
}
// Доп. свойство - список
elseif ($item_property['shop_list_of_properties_type'] == 2)
{
$property_value = to_int($_POST['shop_item_property' . $group_propertys_result[$i]]);
}
$shop_properties_items_value_small = '';
$shop_properties_items_file = '';
$shop_properties_items_file_small = '';
}
else // Доп. свойство - файл
{
$item_dir_path = CMS_FOLDER . UPLOADDIR . 'shop_' . $current_shop_id . '/item_catalog_' . $add_advertisement_id;
$kernel = & singleton('kernel');
$ext = $kernel->GetExtension($_FILES['shop_item_property' . $group_propertys_result[$i]]['name']);
if(strtoupper($ext) == 'JPG' || strtoupper($ext) == 'JPEG')
{
if ($ext != '')
{
$ext = '.' . $ext;
}
$property_big_file = $item_dir_path . '/shop_property_file_' . $add_advertisement_id . '_' . $group_propertys_result[$i] . $ext;
$property_small_file = $item_dir_path . '/small_shop_property_file_' . $add_advertisement_id . '_' . $group_propertys_result[$i] . $ext;
$param_load_files = array();
$param_load_files['path_source_big_image'] = $_FILES['shop_item_property' . $group_propertys_result[$i]]['tmp_name'];
$param_load_files['path_source_small_image'] = '';
$param_load_files['original_file_name_big_image'] = to_str($_FILES['shop_item_property' . $group_propertys_result[$i]]['name']);
$param_load_files['path_target_big_image'] = $property_big_file;
$param_load_files['path_target_small_image'] = $property_small_file;
$param_load_files['original_file_name_small_image'] = $param_load_files['original_file_name_big_image'];
$param_load_files['use_big_image'] = true;
$param_load_files['max_width_big_image'] = to_int($GLOBALS['LA']['max_width_big_image']);
$param_load_files['max_height_big_image'] = to_int($GLOBALS['LA']['max_height_big_image']);
$param_load_files['max_width_small_image'] = to_int($GLOBALS['LA']['max_width_small_image']);
$param_load_files['max_height_small_image'] = to_int($GLOBALS['LA']['max_height_small_image']);
$param_load_files['used_watermark_big_image'] = false;
$param_load_files['used_watermark_small_image'] = false;
$param_load_files['isset_big_image'] = false;
$result = $kernel->AdminLoadFiles($param_load_files);
if ($result['big_image'])
{
$shop_properties_items_file = basename($property_big_file);
$property_value = $param_load_files['original_file_name_big_image'];
}
else
{
$property_value = '';
$shop_properties_items_file = '';
}
if ($result['small_image'])
{
$shop_properties_items_value_small = $param_load_files['original_file_name_small_image'];
$shop_properties_items_file_small = basename($property_small_file);
}
else
{
$shop_properties_items_value_small = '';
$shop_properties_items_file_small = '';
}
}
}
$param = array();
$param['shop_items_catalog_item_id'] = $add_advertisement_id;
$param['shop_list_of_properties_id'] = $group_propertys_result[$i];
$param['shop_properties_items_value'] = $property_value;
$param['shop_properties_items_value_small'] = $shop_properties_items_value_small;
$param['shop_properties_items_file'] = $shop_properties_items_file;
$param['shop_properties_items_file_small'] = $shop_properties_items_file_small;
$shop->InsertPropertiesItem($param);
}
if($group_propertys_result[$i] == 212)
{
$SiteUsers = new SiteUsers();
$current_site_user_id = $SiteUsers->GetCurrentSiteUser();
if ($current_site_user_id > 0)
{
$property_value = 1;
}
else
{
$property_value = 0;
}
$param = array();
$param['shop_items_catalog_item_id'] = $add_advertisement_id;
$param['shop_list_of_properties_id'] = $group_propertys_result[$i];
$param['shop_properties_items_value'] = $property_value;
$param['shop_properties_items_value_small'] = "";
$param['shop_properties_items_file'] = "";
$param['shop_properties_items_file_small'] = "";
$shop->InsertPropertiesItem($param);
}
if($group_propertys_result[$i] == 217)
{
$kernel = & singleton ('kernel') ;
$property_value = $kernel->Guid();
$param = array();
$param['shop_items_catalog_item_id'] = $add_advertisement_id;
$param['shop_list_of_properties_id'] = $group_propertys_result[$i];
$param['shop_properties_items_value'] = $property_value;
$param['shop_properties_items_value_small'] = "";
$param['shop_properties_items_file'] = "";
$param['shop_properties_items_file_small'] = "";
$shop->InsertPropertiesItem($param);
}
if($group_propertys_result[$i] == 218)
{
$SiteUsers = new SiteUsers();
$current_site_user_id = $SiteUsers->GetCurrentSiteUser();
$property_value = $current_site_user_id;
$param = array();
$param['shop_items_catalog_item_id'] = $add_advertisement_id;
$param['shop_list_of_properties_id'] = $group_propertys_result[$i];
$param['shop_properties_items_value'] = $property_value;
$param['shop_properties_items_value_small'] = "";
$param['shop_properties_items_file'] = "";
$param['shop_properties_items_file_small'] = "";
$shop->InsertPropertiesItem($param);
}
if($group_propertys_result[$i] == 220)
{
$property_value = '463';
$param = array();
$param['shop_items_catalog_item_id'] = $add_advertisement_id;
$param['shop_list_of_properties_id'] = $group_propertys_result[$i];
$param['shop_properties_items_value'] = $property_value;
$param['shop_properties_items_value_small'] = "";
$param['shop_properties_items_file'] = "";
$param['shop_properties_items_file_small'] = "";
$shop->InsertPropertiesItem($param);
}
if($group_propertys_result[$i] == 221)
{
$property_value = '1';
$param = array();
$param['shop_items_catalog_item_id'] = $add_advertisement_id;
$param['shop_list_of_properties_id'] = $group_propertys_result[$i];
$param['shop_properties_items_value'] = $property_value;
$param['shop_properties_items_value_small'] = "";
$param['shop_properties_items_file'] = "";
$param['shop_properties_items_file_small'] = "";
$shop->InsertPropertiesItem($param);
}
}
}
// Отправка письма администратору
$message = "На сайте do.ru новое объявление.\n\n";
$message .= "ID: ". $add_advertisement_id ."\n";
// Полный путь до объявления содержится в $path_string
$path_string = $shop->GetPathGroup($GLOBALS['shop_item_path']['group']);
$message .= "Путь: $path_string ."item_". $add_advertisement_id ."\n\n";
$message .= "Заголовок: ".htmlspecialchars(strip_tags(to_str($_POST['advertisement_title'])))."\n\n";
$message .= "Текст объявления: ".htmlspecialchars(strip_tags(to_str($_POST['advertisement_text'])))."\n\n";
$SiteUsers = new SiteUsers();
$current_site_user_id = $SiteUsers->GetCurrentSiteUser();
if ($current_site_user_id > 0)
{
$name = $SiteUsers->GetSiteUser($current_site_user_id);
if ($name['site_users_login'] != '')
{
$text_user_user = $name['site_users_login'];
}
else
{
$text_user_user = '';
}
}
else
{
$text_user_user = 'Аноним';
}
$message .= "Логин: ". $text_user_user . "\n";
$message .= "ФИО: ".strip_tags(to_str($_POST['advertisement_fio']))."\n";
$message .= "Телефон: ".htmlspecialchars(strip_tags(to_str($_POST['advertisement_phone'])))."\n";
$message .= "E-mail: ".strip_tags(to_str($_POST['advertisement_email']))."\n";
$DateClass = new DateClass();
$date= date('Y-m-d H:i:s');
$message .= "Дата: ".$DateClass->datetime_format($date)."\n";
$message .= "IP-адрес: ".to_str($_SERVER['REMOTE_ADDR'])."\n";
$mas_group_path = $shop->GetShopGroupsToRoot($GLOBALS['shop_item_path']['group'], $current_shop_id);
$group_path = '';
if (is_array($mas_group_path) && count($mas_group_path) > 0)
{
foreach ($mas_group_path as $key => $value)
{
$group_path = $value['shop_groups_name'] . (intval($key) != 0 ? ' - ' : '' ) . $group_path;
}
}
// Путь по именам содержится в переменной $group_path
$subject = "Новое объявление: ". $group_path. ".";
$mail_send_to = 'wsm@do.ru';
$kernel = & singleton('kernel');
$kernel->SendMailWithFile($mail_send_to, EMAIL_TO, $subject, $message, array(), 'text/plain');
}
}
else // Ввели неправильный код подтверждения
{
$external_propertys['message'] = 'Вы ввели неправильный код подтверждения!';
$div_style = 'block';
$advertisement_title = strip_tags(to_str($_REQUEST['advertisement_title']));
$advertisement_price = strip_tags(to_str($_REQUEST['advertisement_price']));
$advertisement_text = strip_tags(to_str($_REQUEST['advertisement_text']));
$advertisement_fio = strip_tags(to_str($_REQUEST['advertisement_fio']));
$advertisement_phone = strip_tags(to_str($_REQUEST['advertisement_phone']));
$advertisement_email = strip_tags(to_str($_REQUEST['advertisement_email']));
}
}
else
{
$div_style = 'none';
}
/* Вывод списка */
if (!$GLOBALS['shop_item_path']['item'])
{
$param['current_group_id'] = $GLOBALS['shop_item_path']['group']; // корневая группа
/* Определяем номер элемента, с которого начинается показ в текущей группе */
$page = end($GLOBALS['URL_ARRAY']);
$page = to_str($page);
$shop_row = $GLOBALS['shops']->GetShop($current_shop_id);
if ($shop_row)
{
$items_on_page = $shop_row['shop_items_on_page'];
}
else
{
$items_on_page = 10;
}
/*
Порядок сортировки ('Asc' - по возрастанию, 'Desc' - по убыванию, 'Rand' - произвольный порядок)
$param['items_order']='Asc';
Поле, по которому сортируем (наименование элемента)
$param['items_field_order']='shop_items_catalog_name';
*/
/* Ограничиваем по производителю */
if (to_int($_GET['producer_id']) > 0)
{
$element['type'] = 0; // 0 - основное св-во, 1 - дополнительное
$element['name'] = 'shop_producers_list_id';
$element['prefix'] = 'AND'; // префикс
$element['if'] = '='; // Условие
$element['value'] = to_int($_GET['producer_id']);
$element['sufix'] = '';
$param['select'][] = $element;
$external_propertys['producer_id'] = to_int($_GET['producer_id']);
/* Применять фильтр */
$external_propertys['apply_filter'] = true;
}
/* Ограничиваем по продавцу */
if (to_int($_GET['saller_id']) > 0)
{
$element['type'] = 0; // 0 - основное св-во, 1 - дополнительное
$element['name'] = 'shop_sallers_id';
$element['prefix'] = 'AND'; // префикс
$element['if'] = '='; // Условие
$element['value'] = to_int($_GET['saller_id']);
$element['sufix'] = '';
$param['select'][] = $element;
$external_propertys['saller_id'] = to_int($_GET['saller_id']);
/* Применять фильтр */
$external_propertys['apply_filter'] = true;
}
$price_from = str_replace(',', '.', to_float($_GET['price_from']));
/* Ограничиваем по цене ОТ */
if ($price_from > 0)
{
$element['type'] = 0; // 0 - основное св-во, 1 - дополнительное
$element['name'] = 'shop_items_catalog_price';
$element['prefix'] = 'AND'; // префикс
$element['if'] = '>'; // Условие
$element['value'] = $price_from;
$element['sufix'] = '';
$param['select'][] = $element;
$external_propertys['price_from'] = $price_from;
/* Применять фильтр */
$external_propertys['apply_filter'] = true;
}
$price_to = str_replace(',', '.', to_float($_GET['price_to']));
/* Ограничиваем по цене ДО */
if ($price_to > 0)
{
$element['type'] = 0; // 0 - основное св-во, 1 - дополнительное
$element['name'] = 'shop_items_catalog_price';
$element['prefix'] = 'AND'; // префикс
$element['if'] = '<'; // Условие
$element['value'] = $price_to;
$element['sufix'] = '';
$param['select'][] = $element;
$external_propertys['price_to'] = $price_to;
/* Применять фильтр */
$external_propertys['apply_filter'] = true;
}
/* Число элементов на странице */
$on_page = to_int($_GET['on_page']);
if ($on_page > 0 && $on_page < 150)
{
$param['items_on_page'] = $on_page;
$external_propertys['on_page'] = $on_page;
/* Применять фильтр */
$external_propertys['apply_filter'] = true;
}
// Определяем номер страницы.
if ($on_page)
{
$items_on_page = $on_page;
}
if (ereg("^page-([0-9]*)$", $page, $regs) && to_int($regs[1]) > 1)
{
/* Страница умножается на кол-во элементов, выводимых на страницу */
$items_begin = ($regs[1] - 1) * $items_on_page;
}
else
{
$items_begin = 0;
}
$param['items_begin'] = $items_begin;
/* Направление сортировки, 0 - по-возрастанию, 1 - по-убыванию */
$order_direction = to_int($_GET['order_direction']);
switch ($order_direction)
{
case 1: /* По-возрастанию */
{
$order_direction = 'ASC';
break;
}
case 2: /* По-убыванию */
{
$order_direction = 'DESC';
break;
}
default: /* По-умолчанию */
{
$order_direction = 'ASC';
break;
}
}
/* Поле сортировки */
$sort_field = to_int($_GET['sort_by_field']);
switch ($sort_field)
{
case 1: /* По имени */
{
$param['items_field_order'] = 'shop_items_catalog_name';
$param['items_order'] = $order_direction;
$external_propertys['sort_by_field'] = $sort_field;
$external_propertys['order_direction'] = $order_direction;
break;
}
case 2: /* По цене */
{
$param['items_field_order'] = 'shop_items_catalog_price';
$param['items_order'] = $order_direction;
$external_propertys['sort_by_field'] = $sort_field;
$external_propertys['order_direction'] = $order_direction;
break;
}
}
/* Обработка дополнительных свойств.
Получаем список свойств, разрешенных для отображения в данной группе и в фильтре */
$resource_properties = $shop->GetPropertiesOfGroupForXml($current_shop_id, $param['current_group_id']);
if ($resource_properties)
{
$element['type'] = 0; /* 0 - основное св-во, 1 - дополнительное */
/* Префикс, если нужен. */
$element['prefix'] = ' and ('; // префикс
/* ОСТАВЛЯЕТЕ БЕЗ ИЗМЕНЕНИЙ, ЭТО НУЖНО ДЛЯ СОРТИРОВКИ */
$element['name'] = ''; // Имя
/* поля для основного св-ва, если тип = 1, то не указывается */
$element['if'] = ''; // Условие
/* Вот здесь передается ID доп. св-ва, по которому производится сортировка.
ID ВАШЕГО ПОЛЯ УКАЗЫВАЕТЕ ЗДЕСЬ */
$element['value'] = ''; /* Значение поля (или параметра) */
$element['sufix']=' ';
/* Добавляем в общий список условий */
$param['select'][] = $element;
$count_condition = 0;
$property_xml = '';
$count_properties = mysql_num_rows($resource_properties);
for ($i = 0; $i < $count_properties; $i++)
{
$row = mysql_fetch_assoc($resource_properties);
$element['value'] = 0;
foreach ($_GET as $key => $value)
{
if (preg_match("/property_id_{$row['shop_list_of_properties_id']}_item_id_(\d*)/", $key, $matches))
{
$get_param = 'property_id_'.$row['shop_list_of_properties_id'].'_item_id_'.$matches[1];
if (isset($_GET[$get_param]) > 0 && to_int($matches[1]) > 0)
{
$element['value'] = to_int($matches[1]);
$external_propertys['property_id_'.to_int($row['shop_list_of_properties_id']).'_item_id_'.$element['value']] = $element['value'];
$property_xml .= '&property_id_'.to_int($row['shop_list_of_properties_id']).'_item_id_'.$element['value'].'='.$element['value'];
}
}
}
/* Выбираем режим отображения */
$get_param = 'property_id_'.$row['shop_list_of_properties_id'];
if (isset($_GET[$get_param]))
{
if ($row['shop_list_of_properties_type'] == 0 || $row['shop_list_of_properties_show_kind'] == 1)
{
if (to_str($_GET[$get_param]) ==! "")
{
$element['value'] = quote_smart(to_str($_GET[$get_param]));
$external_propertys['property_id_'.to_int($row['shop_list_of_properties_id'])] = $element['value'];
$property_xml .= '&property_id_'.to_int($row['shop_list_of_properties_id']).'='.$element['value'];
}
}
// Флажок
elseif($row['shop_list_of_properties_type'] == 7)
{
$element['value'] = 1;
$external_propertys['property_id_'.to_int($row['shop_list_of_properties_id'])] = $element['value'];
$property_xml .= '&property_id_'.to_int($row['shop_list_of_properties_id']).'='.$element['value'];
}
else
{
if (to_int($_GET[$get_param]) > 0)
{
$element['value'] = to_int($_GET[$get_param]);
$external_propertys['property_id_'.to_int($row['shop_list_of_properties_id'])] = $element['value'];
$property_xml .= '&property_id_'.to_int($row['shop_list_of_properties_id']).'='.$element['value'];
}
}
}
if ($element['value'])
{
/* Применять фильтр */
$external_propertys['apply_filter'] = true;
$element['property_id'] = to_int($row['shop_list_of_properties_id']);
$element['type'] = 1; /* 0 - основное св-во, 1 - дополнительное */
//$element['prefix'] = 'AND'; /* префикс */
$element['if'] = '='; /* Условие */
$element['sufix'] = '';
if ($count_condition)
{
$element['prefix'] = ' or '; /* префикс */
}
else
{
$element['prefix'] = ' '; /* префикс */
}
++$count_condition;
$param['select'][] = $element;
}
}
if (!$count_condition)
{
$element['prefix'] = ' 1'; /* префикс */
}
else
{
$element['prefix'] = ''; // префикс
}
/* добавляем конечный элемент, содержащий HAVING */
$element['type'] = 0; /* 0 - основное св-во, 1 - дополнительное */
/* ОСТАВЛЯЕТЕ БЕЗ ИЗМЕНЕНИЙ, ЭТО НУЖНО ДЛЯ СОРТИРОВКИ */
$element['name'] = ''; /* Имя */
/* поля для основного св-ва, если тип = 1, то не указывается */
$element['if'] = ''; /* Условие */
/* Вот здесь передается ID доп. св-ва, по которому производится сортировка.
ID ВАШЕГО ПОЛЯ УКАЗЫВАЕТЕ ЗДЕСЬ */
$element['value'] = ''; // Значение поля (или параметра)
$having_count = '';
if ($count_condition != 0)
{
$having_count = 'GROUP BY shop_items_catalog_table.shop_items_catalog_item_id HAVING COUNT(shop_properties_items_table.shop_properties_items_id)= '.$count_condition.' ';
}
$element['sufix'] = ' ) ' . $having_count;
/* Добавляем в общий список условий */
$param['select'][] = $element;
}
if (!empty($property_xml))
{
$external_propertys['property_xml'] = $property_xml;
}
// Если передано имя тэга - фильтруем
if (isset($GLOBALS['shop_item_path']['tag_name']))
{
$oTag = & singleton('Tag');
$tag_row = $oTag->GetTagByName($GLOBALS['shop_item_path']['tag_name']);
$param['tags'] = array($tag_row['tag_id']);
// При выводе тэгов вывод элементов ведется из всех групп
$param['current_group_id'] = false;
}
// Формируем html-код формы добавления объявления
ob_start();
// Идентификатор текущей группы
$current_group_id = $GLOBALS['shop_item_path']['group'];
$shop = & singleton('shop');
$captcha_key = $Captcha->GetCaptchaID();
?>
<div id="FormAddAdvertisement" style="display: <?=$div_style?>">
<script language="JavaScript">
jQuery.validator.addMethod('linked', function(value, element, params) { return $('#advertisement_email').val().length > 0 || $('#advertisement_phone').val().length > 0; }, 'Please enter phone or email')
jQuery.validator.addMethod("phone", function(phone_number, element) {
phone_number = phone_number.replace(/\s+/g, "");
return this.optional(element) || phone_number.match(/^(\d|[()+-,()+-]){3,}$/);
}, "Please specify a valid phone number");
$().ready(function() {
$("#advertisement").validate(
{
rules:
{
advertisement_title: {
required: true,
minlength: 5,
maxlength: 120
},
advertisement_price: {
number: true,
maxlength: 10
},
advertisement_text: {
required: true,
maxlength: 330
},
advertisement_fio: {
maxlength: 60
},
advertisement_email: {
email: true,
linked: true,
maxlength: 60
},
advertisement_phone: {
phone: true,
linked: true,
maxlength: 60
}
},
messages:
{
advertisement_title: {
required: "<div>Введите заголовок</div>",
minlength : "<div>Заголовок должен быть больше 5 символов</div>",
maxlength : "<div>Заголовок должен быть меньше 120 символов</div>"
},
advertisement_price: {
number: "<div>Неправильный формат цены",
maxlength: "<div>Цена должна быть меньше 10 символов</div>"
},
advertisement_text: {
required: "<div>Введите текст",
maxlength: "<div>Текст должен быть меньше 330 символов</div>"
},
advertisement_fio: {
maxlength: "<div>Поле должно быть меньше 60 символов</div>"
},
advertisement_email: {
email: "<div>Неправильный формат электронного адреса</div>",
linked: "<div>Хотя бы одно из полей: "Телефон" или "e-mail" должно быть заполненным</div>",
maxlength: "<div>E-mail должен быть меньше 60 символов</div>"
},
advertisement_phone: {
phone: "<div>Неправильный формат телефонного номера</div>",
linked: "<div>Хотя бы одно из полей: "Телефон" или "e-mail" должно быть заполненным</div>",
maxlength: "<div>Телефон должен быть меньше 60 символов</div>"
}
}
}
);
});
</script>
<form id="advertisement" method="POST" action="./" enctype="multipart/form-data">
<table><tr><td valign="top">
<!-- Проверка юзера -->
<?
$SiteUsers = new SiteUsers();
$current_site_user_id = $SiteUsers->GetCurrentSiteUser();
if ($current_site_user_id > 0)
{
$name = $SiteUsers->GetSiteUser($current_site_user_id);
$treat = "";
if ($name['site_users_login'] != '')
{
$treat = $name['site_users_login'];
}
$text_user_user = "Вы вошли на сайт под логином: $treat";
}
else
{
$text_user_user = 'Вы не авторизированы на сайте.';
}
print_r($text_user_user);
?>
<table style="margin-top: 10px;">
<tr>
<td>
<?
$Shop = new Shop();
$param['shop_groups_id'] = $GLOBALS['shop_item_path']['group'];
$param['shop_properties_group_id'] = 6;
$raw = $Shop->GetPropertiesGroupValue($param);
//print_r($raw);
if ($raw['shop_properties_group_value_value'] == 623)
{
$view_field_value = 'Марка и модель авто';
}
else
{
$view_field_value = 'Заголовок';
}
echo $view_field_value;
?><font color="red">*</font> <i style="color: #888888;"><small>5-120 символов</small></i><br />
<input type="text" name="advertisement_title" size="70" value="<?=$advertisement_title;?>" />
</td>
</tr>
<tr>
<td>
Цена (руб.) <i style="color: #888888;"><small>не более 10 цифр без пробелов</small></i><br />
<input type="text" name="advertisement_price" size="70" value="<?=$advertisement_price;?>" />
</td>
</tr>
<tr>
<td>
Фото<br />
<input type="file" name="advertisement_file" size="59" />
</td>
</tr>
<tr>
<td>
ФИО <i style="color: #888888;"><small>не более 60 символов</small></i><br />
<input type="text" name="advertisement_fio" size="70" value="<?=$advertisement_fio;?>" />
</td>
</tr>
<tr>
<td>
Телефон <i style="color: #888888;"><small>не более 60 цифр</small></i><br />
<input type="text" id="advertisement_phone" name="advertisement_phone" size="70" value="<?=$advertisement_phone;?>" />
</td>
</tr>
<tr>
<td>
E-mail<br />
<input type="text" id="advertisement_email" name="advertisement_email" size="70" value="<?=$advertisement_email;?>" />
</td>
</tr>
<?
// Получаем список дополнительных свойств группы магазина
$group_propertys_result = $shop->GetPropertiesOfGroup($current_group_id);
$count_group_propertys = count($group_propertys_result);
// Для группы существуют доп. свойства
if ($count_group_propertys)
{
// В цикле получаем подробную информацию о дополнительных свойствах группы
for ($i = 0; $i < $count_group_propertys; $i++)
{
$item_property = $shop->GetPropretyOfItems($group_propertys_result[$i]);
if ($item_property)
{
if ($item_property['shop_list_of_properties_id'] != 4
&& $item_property['shop_list_of_properties_id'] != 5
&& $item_property['shop_list_of_properties_id'] != 212
&& $item_property['shop_list_of_properties_id'] != 217
&& $item_property['shop_list_of_properties_id'] != 218
&& $item_property['shop_list_of_properties_id'] != 220
&& $item_property['shop_list_of_properties_id'] != 221
&&
($item_property['shop_list_of_properties_type'] != 2 || $item_property['shop_list_of_properties_type'] == 2 && class_exists('lists')))
{
?>
<tr>
<td>
<?
switch ($item_property['shop_list_of_properties_type'])
{
case 0: // Строка
case 3: // Большое текстовое поле
case 4: // Визуальный редактор
case 5: // Дата
case 6: // Дата-время
{
echo $item_property['shop_list_of_properties_name'];
?>
<br />
<input type="text" name="shop_item_property<?=$item_property['shop_list_of_properties_id']?>" size="70" value="<?=to_str($_REQUEST['shop_item_property'.$item_property['shop_list_of_properties_id']])?>" />
<?
break;
}
case 1: // Файл
{
echo $item_property['shop_list_of_properties_name'];
?>
<br />
<input type="file" name="shop_item_property<?=$item_property['shop_list_of_properties_id']?>" size="59" />
<?
break;
}
case 2: // Список
{
if (class_exists('lists'))
{
$list = new lists();
$list_result = $list->SelectListsItems($item_property['lists_id']);
if ($list_result)
{
echo $item_property['shop_list_of_properties_name'];
?>
<br />
<select name="shop_item_property<?=$item_property['shop_list_of_properties_id']?>">
<?
while ($list_row = mysql_fetch_assoc($list_result))
{
$selected = '';
if ($list_row['lists_items_id'] == to_int($_REQUEST['shop_item_property' . $item_property['shop_list_of_properties_id']]))
{
$selected = ' selected="" ';
}
?>
<option value="<?=$list_row['lists_items_id']?>" <?=$selected?>><?=$list_row['lists_items_value']?></option>
<?
}
?>
</select>
<?
}
}
break;
}
case 7: // Флажок
{
if (isset($_REQUEST['shop_item_property' . $item_property['shop_list_of_properties_id']]))
{
$checked = ' checked="" ';
}
else
{
$checked = '';
}
?>
<input type="checkbox" name="shop_item_property<?=$item_property['shop_list_of_properties_id']?>" <?=$checked?> />
<?
echo $item_property['shop_list_of_properties_name'];
break;
}
default:
{
echo $item_property['shop_list_of_properties_name'];
?>
<br />
<input type="text" name="shop_item_property<?=$item_property['shop_list_of_properties_id']?>" size="70" />
<?
break;
}
}
?>
</td>
</tr>
<?
}
}
}
}
?>
<tr>
<td>
Текст объявления<font color="red">*</font> <i style="color: #888888;"><small>не более 330 символов</small></i><br />
<textarea name="advertisement_text" rows="5" cols="53"><?=$advertisement_text;?></textarea>
</td>
</tr>
<tr>
<td>
<!-- Проверка на платность -->
<?
$Shop = new Shop();
$param['shop_groups_id'] = $GLOBALS['shop_item_path']['group'];
$param['shop_properties_group_id'] = 5;
$raw = $Shop->GetPropertiesGroupValue($param);
//print_r($raw);
if ($raw['shop_properties_group_value_value'] == 465)
{
$payment_entries_value = 'Эта рубрика газеты <span style="color: #ff0000;">платная</span>, ваше объявление будет опубликовано<br/>только на сайте.';
}
else
{
$payment_entries_value = 'Ваше объявление будет опубликовано и в ближайшем<br/>номере газеты. Если вы не найдете в нем своего объявления,<br/>значит его ещё не успели проверить и одобрить.';
}
echo $payment_entries_value;
?>
</td></tr><tr>
<td>
<div style="clear: both; padding-top: 3px;">
Код подтверждения
</div>
<div style="float: left">
<img style="border: 1px solid #000000" src="/captcha.php?get_captcha=<?=$captcha_key?>&height=40" title="Код подтверждения"/>
</div>
<div style="float: left; margin-left: 5px;">
<input type="text" name="captcha_keystring"/>
<input type="hidden" name="captcha_key" value="<?=$captcha_key?>" size="5"/>
</div>
</td>
</tr>
<tr>
<td><input type="submit" name="add_advertisement" value="Отправить" /></td>
</tr>
</table>
</td><td valign="top">
<?
/* Вывод информационных систем */
$InformationSystem = new InformationSystem();
$external_propertys_shops=array();
$external_propertys_shops['ОтображатьСсылкуНаАрхив']=0;
$external_propertys_shops['ОтображатьСсылкиНаСледующиеСтраницы']=0;
$property['xml_show_group_type'] = 'all';
/* Количество выводимых элементов */
$item_count = 4;
$InformationSystemId = 23;
$InformationGroupId = false; // false - из всех групп, 0 - из корневой группы
$InformationSystem->ShowInformationSystem($InformationSystemId, $InformationGroupId, 'СписокЭлементовИнфосистемыНетЗагаловка',$item_count,0,$external_propertys_shops, $property);
?>
</td></tr></table>
</form>
</div>
<?
$form_add_advertisement = ob_get_contents();
ob_get_clean();
$external_propertys['ФормаДобавленияОбъявления'] = $form_add_advertisement;
// Begin * Сортировка по типу объявления
$shop = & singleton('shop');
// $param = array();
$param['current_group_id'] = $GLOBALS['shop_item_path']['group']; // Текущая группа
//$param['xml_show_group_type'] = 'none';
//$param['items_on_page'] = 20;
// Ограничение по доп. свойству
$element['type'] = 1; // 0 - основное св-во, 1 - дополнительное
$element['property_id'] = 212; // идентификатор доп. св-ва
$element['prefix'] = ' AND '; // префикс
$element['if'] = '!='; // Условие
$element['value'] = "''"; //
$element['sufix'] = '';
$param['select'][] = $element;
// Сортируем как число
$param['items_field_order'] = ' shop_properties_items_table.shop_properties_items_value DESC, shop_items_catalog_date_time';
$param['items_order'] = 'DESC';
// End * Сортировка по типу объявления
$GLOBALS['shops']->ShowShop($current_shop_id, $xsl_catalog, $param, $external_propertys);
?>
<table class="shop_block_baner">
<tr><td>
<?
$Advertisement = new Advertisement();
$banner_group = 15;
$Advertisement->ShowBannerGroup($banner_group);
?>
</td></tr></table>
<?
}
else
{
/* Вывод конкретного элемент */
$GLOBALS['shops']->ShowItem($GLOBALS['shop_item_path']['item'], $xsl_item, $param, $external_propertys);
?>
<table class="shop_block_baner">
<tr><td>
<?
$Advertisement = new Advertisement();
$banner_group = 14;
$Advertisement->ShowBannerGroup($banner_group);
?>
</td></tr></table>
<?
}
}
?>
Как в письме отправлять сообщения, добавлена ли фотография пользователем к объявлению или нет?
Авторизация