Доска объявлений v5

#
Re: Доска объявлений v5
CCron, объект класса kernel не создали. Вызывать методы класса без создания его экземпляра нельзя:
$kernel = & singleton('kernel';

#
Re: Доска объявлений v5
Запрос должен изменять дополнительный параментр группы, в зависимости от её названия. В чем ошибка?

UPDATE `shop_properties_group_value_table` SET `shop_properties_group_value_value` = '1'
WHERE `shop_properties_group_id` = '2' AND `shop_groups_id` = '172'  AND
(SELECT `shop_groups_name` FROM `shop_groups_table` WHERE `shop_properties_group_value_table`.`shop_groups_id`=`shop_groups_table`.`shop_groups_id` ) IN ('Покупка', 'Продажа', 'Прочее';
#
Re: Доска объявлений v5
Извините, ответ не требуется, ошибку нашли.
#
Re: Доска объявлений v5
В рубрике 1811 объявлений, а постраничная навигация не отображается, в чем может быть проблема?
http://www.do.ru/board/avto/saleimported/
#
Re: Доска объявлений v5
CCron, приведите код тип. дин. страницы
#
Re: Доска объявлений v5
Иногда показывается нормально, иногда съедается постраничная навигация. Тоже самое в админке, иногда не показывается больше 5-ти страниц, если очень много элементов в группе.

<?
$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;
         $param['price'] = to_float($_POST['advertisement_price']);
         $param['is_active'] = 0; //премодерация
         //$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 ($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);
                  }

               }
            }

         }
      }
      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?>">
      <form method="POST" action="./" enctype="multipart/form-data">
<table><tr><td>
     <table>
         <tr>
            <td>
            Заголовок<br />
            <input type="text" name="advertisement_title" size="70" value="<?=$advertisement_title;?>" />
            </td>
         </tr>
         <tr>
            <td>
            Цена<br />
            <input type="text" name="advertisement_price" size="70" value="<?=$advertisement_price;?>" />
            </td>
         </tr>
         <tr>
            <td>
            Текст объявления<br />
            <textarea name="advertisement_text" rows="5" cols="53"><?=$advertisement_text;?></textarea>
            </td>
         </tr>
        
         <tr>
            <td>
            Фото<br />
            <input type="file" name="advertisement_file" size="59" />
            </td>
         </tr>
        
         <tr>
            <td>
            ФИО<br />
            <input type="text" name="advertisement_fio" size="70" value="<?=$advertisement_fio;?>" />
            </td>
         </tr>
        
         <tr>
            <td>
            Тел.<br />
            <input type="text" name="advertisement_phone" size="70" value="<?=$advertisement_phone;?>" />
            </td>
         </tr>
        
         <tr>
            <td>
            E-mail<br />
            <input type="text" 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'] !=61 && $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'] != 6 &&
               ($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>Код подтверждения</td>-->
         <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?>&amp;height=20" 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=array();
         $external_propertys['ОтображатьСсылкуНаАрхив']=0;
         $external_propertys['ОтображатьСсылкиНаСледующиеСтраницы']=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, $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 = 12;
$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>
<?              
   }

}
?>
#
Re: Доска объявлений v5
CCron, сообщите данные доступа к разделу администрирования на адрес поддержки.
#
Re: Доска объявлений v5
После захода тех. поддержки на сайт, на всех страницах доски объявлений, отображается:

Array ( [user_id] => 0 [current_group_id] => 36 [items_begin] => 0 [select] => Array ( [0] => Array ( [type] => 0 [prefix] => and ( [name] => [if] => [value] => [sufix] => ) [1] => Array ( [type] => 0 [prefix] => 1 [name] => [if] => [value] => [sufix] => ) ) [2] => Array ( [type] => 1 [prefix] => AND [name] => [if] => != [value] => '' [sufix] => [property_id] => 212 ) ) [items_field_order] => shop_properties_items_table.shop_properties_items_value DESC, shop_items_catalog_date_time [items_order] => DESC )
#
Re: Доска объявлений v5
CCron, на вашем сайте ведутся работы по решению проблемы с выводом ссылок на страницы доски объявлений.
#
Re: Доска объявлений v5
1. Заводим дополнительное свойство для товара, "В газету" (newspaper).
2. Указываем в настройках, что это "флажок" и по умолчанию он должен быть выбран.
3. Заходим в нужную рубрику Доски Объявлений, и нажимаем "Добавить объявление в этот раздел", и этот пункт всё равно по умолчанию не выбран, в общем галочка там не стоит.

Как сделать чтобы, пункт был по умолчанию выбран?
Авторизация