Мои объявления

#
Мои объявления
Снова здрасте)

подскажите, как в "Моих объявлениях" выводить только обявления с доски (основа ИМ)... а то заходишь в "Мои объявления" и там все магазины сайта, а нужно, что бы был магазин с ID=7 и не ссылка, на мои объявления там, а сразу список объявлений...т.е. пропустить шаг выбора магазина...
понимаю, что изменения надо вносить в XSL "СписокМагазинов" но какие не догоняю - с XSL тяжко пока....
#
Re: Мои объявления
Думаю, что XSL тут даже и не при чем, а смотреть надо в ТДС "Мои объявления".

В 34й строке кода ТДС происходит определение чего отображать - список магазинов (если условие в if() дает false) или список объявлений (если, соответственно, true):
// Отображаем список объявлений пользователя
if (isset($GLOBALS['ShopResult']['shop_id']) && to_int($GLOBALS['ShopResult']['shop_id']) > 0)


Вот отсюда и надо "плясать", например, прикрутив к ТДС еще один параметр, под названием ID отображаемого магазина, и задавая его в соотв. разделе в Структуре сайта. Ну или просто прописав хардкодом нужное значение, хоть это и не кошерно.
Заказов не беру. Консультирую редко.
#
Re: Мои объявления
Любезный Kotoff!
не могли бы вы поподробнее написать что и как, прошлый программер свинтил, а я тут разбираюсь...
спасибо)
#
Re: Мои объявления
Уважаемый MAP!O!
Что и как я вам уже в общих чертах подсказал. Давать более точные рекомендации не зная специфики вашего сайта не рискну, чтобы не попасть пальцем в небо.
Если вам нужно "дотянуть" проект оставшийся от свинтившего программера - стучитесь в аську (103-три-девять-шесть-301), договоримся
Заказов не беру. Консультирую редко.
#
Re: Мои объявления
подскажите пожалуйста, каким образом можно "прикрутить" ID магазина к ТДС?
в голове крутится, а собразить не могу?
#
Re: Мои объявления
самое банальное - это хардкод. Создать переменную выше, чем приведенный мною фрагмент ТДС, присвоить ей нужное значение, и проверить ее в приведенном мною условии, вместо того что там есть.
А дальше по тексту ТДС использовать значение этой переменой в месте где выбирается нужный магазин для показа объявлений.
Заказов не беру. Консультирую редко.
#
Re: Мои объявления
Более красивый способ - создать копию этой ТДС, создать для нее дополнительный Параметр, для которого подсмотреть как извлекается список магазинов, скажем в параметрах ТДС "Интернет-магазин", и в Струкутре, в настройках страницы, выбирать нужный вам магазин в качестве источника объявлений.
Потом, уже в ТДС, получать в переменную значение этой настройки, аналогично тому как получаются названия XSL-шаблонов, и дальше действовать по варианту предолженному выше )
Заказов не беру. Консультирую редко.
#
Re: Мои объявления
бр-р-р-р)))) мало что понял)
<?php

// Получаем информацию о текущем пользователе
if (class_exists('SiteUsers'))
{
   $SiteUsers = & singleton('SiteUsers');
   $site_user_id = $SiteUsers->GetCurrentSiteUser();
}
else
{
   ?>
   <h1>Модуль "Пользователи сайта" отключен!</h1>
   <?php
   return ;
}

$shop = & singleton('shop');

// Массив дополнительных параметров
$property = array();

$property['site_users_id'] = $site_user_id;

/* Массив внешних параметров, передаваемых в XML */
$external_propertys = array();

// XSL шаблон для отображения списка объявлений пользователя
$xsl_catalog = to_str($GLOBALS['LA']['xsl_catalog']);

// XSL шаблон для отображения списка магазинов
$xsl_list = to_str($GLOBALS['LA']['xsl_shops']);

// Отображаем список объявлений пользователя
if (isset($GLOBALS['ShopResult']['shop_id']) && to_int($GLOBALS['ShopResult']['shop_id']) > 0)
{
   $shop_id = to_int($GLOBALS['ShopResult']['shop_id']);

   // Получаем информацию о магазине
   $shop_row = $shop->GetShop($shop_id);

   if ($shop_row)
   {
      // Проверяем необходимость отображения кнопки "Добавить объявление" пользователю (Возможность добавления объявлений только определенной группе пользователей)
      // Получаем список групп, в которые входит пользователь
      $SiteUsers = & singleton('SiteUsers');
            $external_propertys['show_button_add_advertisement'] = 1;// УДАЛИТЬ СТРОКУ, ЕСЛИ ОБЪЯВЛЕНИЕ МОЖЕТ ДОБАВЛЯТЬ ОПРЕДЕЛЕННАЯ ГРУППА ПОЛЬЗОВАТЕЛЕЙ И РАСКОММЕНТИРОВАТЬ СЛЕДУЮЩИЙ КОД:
      /*$groups_user_res = $SiteUsers->GetGroupsForUser($site_user_id);

      if ($groups_user_res)
      {
         if (in_array(7, $groups_user_res))// 6 - Идентификатолр нужной группы
         {
            $external_propertys['show_button_add_advertisement'] = 1;
         }
      }*/

      $shop_name = $shop_row['shop_shops_name'];

      // Берем из настроек магазина максимальные значения длины и ширины
      if ($shop_row)
      {
         $max_width_big_image = $shop_row['shop_image_big_max_width'];
         $max_height_big_image = $shop_row['shop_image_big_max_height'];
         $max_width_small_image = $shop_row['shop_image_small_max_width'];
         $max_height_small_image = $shop_row['shop_image_small_max_height'];
      }
      else
      {
         $max_width_big_image = 325;
         $max_height_big_image = 325;
         $max_width_small_image = 100;
         $max_height_small_image = 100;
      }

      if (isset($_REQUEST['delete_file']) || isset($_REQUEST['delete_file_advertisement']))
      {
         $advertisement_id = to_int($_REQUEST['edit_advertisement_id']);

         // Получаем информацию об объявлении
         $advertisement_row = $shop->GetItem($advertisement_id);

         if ($advertisement_row)
         {
            $site_users_id_autor = to_int($advertisement_row['site_users_id']);

            // Если объявление принадлежит пользователю
            if ($site_users_id_autor == $site_user_id && $site_users_id_autor > 0)
            {
               $DataBase = & singleton('DataBase');

               if (isset($_REQUEST['delete_file_advertisement']))
               {
                  // Удаляем файл

                  $shop_items_catalog_image = $advertisement_row['shop_items_catalog_image'];
                  $shop_items_catalog_small_image = $advertisement_row['shop_items_catalog_small_image'];

                  if (is_dir(CMS_FOLDER . UPLOADDIR))
                  {
                     // Путь к большой картинке
                     $fname = CMS_FOLDER . UPLOADDIR .'shop_' . $shop_id . '/item_catalog_' . $advertisement_id . '/' . $shop_items_catalog_image;

                     // Файл большого изображения существует
                     if (is_file($fname))
                     {
                        // Файл большого изображения удален
                        if (unlink($fname))
                        {
                           // Удаляем файл из таблицы
                           $query = "UPDATE `shop_items_catalog_table`
                              SET  `shop_items_catalog_image` = '',
                              `shop_items_catalog_big_image_height` = '0',
                              `shop_items_catalog_big_image_width` = '0'
                              WHERE `shop_items_catalog_item_id` = '{$advertisement_id}'";
                           $DataBase->query($query);
                        }
                     }

                     // Путь к малой картинке
                     $fname = CMS_FOLDER . UPLOADDIR . 'shop_' . $shop_id . '/item_catalog_' . $advertisement_id . '/' . $shop_items_catalog_small_image;

                     // Файл малого изображения существует
                     if (is_file($fname))
                     {
                        // Файл малого изображения удален
                        if (unlink($fname))
                        {
                           // Удаляем файл из таблицы
                           $query = "UPDATE `shop_items_catalog_table`
                              SET  `shop_items_catalog_small_image` = '',
                              `shop_items_catalog_small_image_height` = '0',
                              `shop_items_catalog_small_image_width` = '0'
                              WHERE `shop_items_catalog_item_id` = '{$advertisement_id}'";
                           $DataBase->query($query);
                        }

                     }
                  }
               }
            }
            elseif (isset($_REQUEST['property_id']) && to_int($_REQUEST['property_id']) > 0)
            {
               $property_id = to_int($_REQUEST['property_id']);

               // Удаляем файл
               // Получаем значение доп.свойства
               $property_value = $shop->GetValueItemProperty($advertisement_id, $property_id);

               if ($property_value)
               {
                  $file_property_name = $property_value['shop_properties_items_file'];
                  $file_small_property_name = $property_value['shop_properties_items_file_small'];

                  if (is_dir(CMS_FOLDER . UPLOADDIR))
                  {
                     // Путь к большой картинке
                     $fname = CMS_FOLDER . UPLOADDIR .'shop_' . $shop_id . '/item_catalog_' . $advertisement_id . '/' . $file_property_name;

                     // Файл большого изображения существует
                     if (is_file($fname))
                     {
                        // Файл большого изображения удален
                        if (unlink($fname))
                        {
                           // Удаляем файл из таблицы
                           $query = "UPDATE `shop_properties_items_table`
                              SET  `shop_properties_items_value` = '',
                              `shop_properties_items_file` = ''
                              WHERE `shop_items_catalog_item_id` = '{$advertisement_id}'
                              AND `shop_list_of_properties_id` = '{$property_id}'";
                           $DataBase->query($query);
                        }
                     }

                     // Путь к малой картинке
                     $fname = CMS_FOLDER . UPLOADDIR . 'shop_' . $shop_id . '/item_catalog_' . $advertisement_id . '/' . $file_small_property_name;

                     // Файл малого изображения существует
                     if (is_file($fname))
                     {
                        // Файл малого изображения удален
                        if (unlink($fname))
                        {
                           // Удаляем файл из таблицы
                           $query = "UPDATE `shop_properties_items_table`
                              SET  `shop_properties_items_value_small` = '',
                              `shop_properties_items_file_small` = ''
                              WHERE `shop_items_catalog_item_id` = '{$advertisement_id}'
                              AND `shop_list_of_properties_id` = '{$property_id}'";
                           $DataBase->query($query);
                        }
                     }
                  }
               }
            }

            unset($DataBase);
            unset($advertisement_row);
         }
      }

      // Редактирование объявления
      if (isset($_REQUEST['edit_advertisement_id']) && to_int($_REQUEST['edit_advertisement_id']) > 0)
      {
         $advertisement_id = to_int($_REQUEST['edit_advertisement_id']);

         $param['cache_off'] = true;

         // Получаем информацию об объявлении
         $item_row = $shop->GetItem($advertisement_id, $param);

         if ($item_row)
         {
            // ID автора объявления
            $advertisement_site_users_id = $item_row['site_users_id'];

            // Проверяем, действительно ли данное объявление принадлежит пользователю
            if ($advertisement_site_users_id > 0 && $advertisement_site_users_id == $site_user_id)
            {
               // Получаем информацию о доп.свойствах объявления
               $item_property_res = $shop->GetAllPropertiesItem($advertisement_id, array('cache_off' => 'false'));

               if ($item_property_res)
               {
                  foreach ($item_property_res as $key => $row)
                  {
                     // ФИО
                     if ($row['shop_list_of_properties_id'] == 4)
                     {
                        $fio = $row['shop_properties_items_value'];
                     }

                     // Телефон
                     if ($row['shop_list_of_properties_id'] == 5)
                     {
                        $telephone = $row['shop_properties_items_value'];
                     }

                     // E-mail
                     if ($row['shop_list_of_properties_id'] == 385)
                     {
                        $email = $row['shop_properties_items_value'];
                     }
                  }
               }

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

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

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

               // Получаем информацию о дополнительных свойствах группы объявлений
               $fields_res = $shop->GetPropertiesOfGroup($item_row['shop_groups_id'], $advertisement_id);

               $form_field = array();

               if ($fields_res)
               {
                  $i = 0;

                  // Формируем массив полей для формы редактирования объявления
                  foreach ($fields_res as $key => $properties_id)
                  {
                     // Получаем значение доп.свойства
                     $properties = $shop-> GetValueItemProperty($advertisement_id, $properties_id);
                     $fields_row[$i]['shop_properties_items_value'] = $properties['shop_properties_items_value'];
                     $fields_row[$i]['shop_properties_items_file'] = $properties['shop_properties_items_file'];

                     // Получаем информацию о доп.свойстве
                     $properties_info = $shop->GetPropretyOfItems($properties_id);
                     $fields_row[$i]['shop_list_of_properties_id'] = $properties_id;
                     $fields_row[$i]['shop_list_of_properties_type'] = $properties_info['shop_list_of_properties_type'];
                     $fields_row[$i]['shop_list_of_properties_name'] = $properties_info['shop_list_of_properties_name'];
                     $fields_row[$i]['shop_list_of_properties_xml_name'] = $properties_info['shop_list_of_properties_xml_name'];
                     $fields_row[$i]['lists_id'] = $properties_info['lists_id'];
                     $i++;
                  }

                  // Формируем html-код формы редактирования объявления
                  ob_start();
                  ?>      
                  <h1><?php echo $item_row['shop_items_catalog_name'] ?></h1>   
                                    
                  <!-- Форма редактирования объявления-->   
                  <form action="./" name="advertisement_form_<?php echo $advertisement_id ?>" method="post" enctype="multipart/form-data">
                  <table>
                     <tr>
                        <td>
                        <input type="hidden" name="MAX_FILE_SIZE" value="1000000000"/>
                        </td>
                     </tr>
                     <tr>
                        <td>   
                        <input type="hidden" name="advertisement_id" value="<?php echo $advertisement_id ?>"/>
                        </td>
                     </tr>
                     <tr>
                        <td>   
                        <input type="hidden" name="site_user_id" value="<?php echo $site_user_id ?>"/>
                        </td>
                     </tr>                     
                     <tr>
                        <td>
                        Заголовок
                        <br/>
                        <input type="text" size="70" name="advertisement_title" value="<?php echo $item_row['shop_items_catalog_name'] ?>"/>
                        </td>
                     </tr>
                     
                     <tr>
                        <td>
                        Цена
                        <br/>
                        <input type="text" name="advertisement_price" size="70" value="<?php echo $item_row['shop_items_catalog_price'] ?>"/>               
                        </td>
                     </tr>
                     
                     <tr>
                        <td>
                        Текст объявления
                        <br/>
                        <textarea name="advertisement_text" cols="53" rows="5"><?php echo $item_row['shop_items_catalog_text'] ?></textarea>               
                        </td>
                     </tr>               
                     
                     <tr>
                          <td>
                        Фото
                        <br/>
                        <input type="file" size="59" name="advertisement_file" value="<?php echo $item_row['shop_items_catalog_image'] ?>"/>
                        <?php                        
                        if (trim($item_row['shop_items_catalog_image']) != '')
                        {
                           ?>
                           <a href="<?php echo '/' . UPLOADDIR . 'shop_' . $shop_id . '/item_catalog_' . $advertisement_id . '/' . $item_row['shop_items_catalog_image'] ?>" target="_blank"><img src="/admin/images/eye.gif"/></a>
                           <a href="<?php echo './?edit_advertisement_id=' . $advertisement_id . '&delete_file_advertisement' ?>" onclick="return confirm('Вы действительно хотите удалить файл?');"><img src="/admin/images/delete.gif"/></a>
                           <?php
                        }
                        ?>   
                        </td>
                      </tr>

                     <tr>
                         <td>
                           ФИО<br />
                           <input type="text" name="advertisement_fio" size="70" value="<?php echo $fio;?>" />
                         </td>
                      </tr>
         
                      <tr>
                         <td>
                           Тел.<br />
                           <input type="text" name="advertisement_phone" size="70" value="<?php echo $telephone;?>" />
                         </td>
                      </tr>
         
                      <tr>
                         <td>
                           E-mail<br />
                           <input type="text" name="advertisement_email" size="70" value="<?php echo $email;?>" />
                         </td>
                      </tr>
                     <?php   
                     foreach ($fields_row as $key => $fields)
                     {
                        if ($fields['shop_list_of_properties_id'] != 61
                        && $fields['shop_list_of_properties_id'] != 4
                        && $fields['shop_list_of_properties_id'] != 5
                        && $fields['shop_list_of_properties_id'] != 385
                        && $fields['shop_list_of_properties_id'] != 129
                        && $fields['shop_list_of_properties_id'] != 385
                        && $fields['shop_list_of_properties_id'] != 6
                        && ($fields['shop_list_of_properties_type'] != 2 || $fields['shop_list_of_properties_type'] == 2 && class_exists('lists')))
                        {
                              ?>
                     <tr>
                         <td>
                         <?php
                         switch ($fields['shop_list_of_properties_type'])
                         {
                            case 0: // Строка
                            case 3: // Большое текстовое поле
                            case 4: // Визуальный редактор
                            case 5: // Дата
                            case 6: // Дата-время
                            {
                               echo $fields['shop_list_of_properties_name'];
                                    ?>
                                    <br />
                                    <input type="text" name="<?php echo $fields['shop_list_of_properties_xml_name']?>" size="70" value="<?php echo $fields['shop_properties_items_value'] ?>" />
                                    <?php
                                    break;
                            }

                            case 1: // Файл
                            {
                               echo $fields['shop_list_of_properties_name'];
                                    ?>
                                    <br />
                                    <input type="file" name="<?php echo $fields['shop_list_of_properties_xml_name']?>" size="59" value="<?php echo $fields['shop_properties_items_value']?>"/>
                                    <?php

                                    if (trim(to_str($fields['shop_properties_items_file'])) != '')
                                    {
                                       ?>
                                       <a href="<?php echo '/' . UPLOADDIR . 'shop_' . $shop_id . '/item_catalog_' . $advertisement_id . '/' . $fields['shop_properties_items_file'] ?>" target="_blank"><img src="/admin/images/eye.gif"/></a>
                                       <a href="<?php echo './?edit_advertisement_id=' . $advertisement_id . '&delete_file&property_id=' . $fields['shop_list_of_properties_id']; ?>" onclick="return confirm('Вы действительно хотите удалить файл?');"><img src="/admin/images/delete.gif"/></a>
                                       <?php
                                    }

                                    break;
                            }
                            case 2: // Список
                            {
                               if (class_exists('lists'))
                               {
                                  $list = new lists();

                                  $list_result = $list->SelectListsItems($fields['lists_id']);

                                  if ($list_result)
                                  {
                                     echo $fields['shop_list_of_properties_name'];
                                          ?>
                                          <br />
                                          <select name="<?php echo $fields['shop_list_of_properties_xml_name']?>">
                                          <?php

                                          while ($list_row = mysql_fetch_assoc($list_result))
                                          {
                                             $selected = '';

                                             if ($list_row['lists_items_id'] == $fields['shop_properties_items_value'])
                                             {
                                                $selected = ' selected="" ';
                                             }

                                             ?>
                                             <option value="<?php echo $list_row['lists_items_id']?>" <?php echo $selected?>><?php echo $list_row['lists_items_value']?></option>
                                             <?php    

                                          }
                                          ?>
                                          </select>
                                          <?php
                                  }
                               }

                               break;
                            }
                            case 7: // Флажок
                            {
                               if (isset($fields['shop_properties_items_value']) && $fields['shop_properties_items_value'] == 1)
                               {
                                  $checked = ' checked="" ';
                               }
                               else
                               {
                                  $checked = '';
                               }

                                    ?>
                                    <input type="checkbox" name="<?php echo $fields['shop_list_of_properties_xml_name']?>"  <?php echo $checked?> />
                                    <?php
                                    echo $fields['shop_list_of_properties_name'];
                                    break;
                            }
                            default:
                               {
                                  echo $fields['shop_list_of_properties_name'];
                                       ?>
                                       <br />
                                       <input type="text" name="<?php echo $fields['shop_list_of_properties_xml_name']?>" size="70" />
                                       <?php
                                       break;
                               }
                         }
                              ?>   
                        </td>
                      </tr><?php
                        }
                     }
                        ?>
                     <tr>
                         <td>
                           <input type="submit" name="edit_advertisement" value="Сохранить"/>
                           </td>
                      </tr>
                   </table>
                     </form>
                     <?php
                     $edit_advertisement_form =  ob_get_clean();

                     echo $edit_advertisement_form;
               }
            }
            else
            {
               ?> <h1>У Вас недостаточно прав для редактирования данного объявления.</h1> <?php
            }
         }
         /*         }*/
      }
      // Обработка редактирования объявления
      elseif (isset($_POST['edit_advertisement']))
      {
         $param = array();

         $param['shops_id'] = $shop_id;
         $param['name'] = htmlspecialchars(strip_tags(to_str($_POST['advertisement_title'])));
         $param['shop_items_catalog_date_time'] = date('Y-m-d H:i:s');

         $param['text'] = htmlspecialchars(strip_tags(to_str($_POST['advertisement_text'])));

         if (class_exists('typograph'))
         {
            $typograph = new typograph();
            $param['text'] = $typograph->ProcessTypographic($param['text'], true);
         }

         $param['price'] = to_float($_POST['advertisement_price']);

         $param['path_source_big_image'] =  to_str($_FILES['advertisement_file']['tmp_name']);
         $param['original_file_name_big_image'] = to_str($_FILES['advertisement_file']['name']);
         $param['original_file_name_small_image'] = $param['original_file_name_big_image'];
         $param['use_big_image'] = true;

         $param['max_width_big_image'] =  to_int($max_width_big_image);
         $param['max_height_big_image'] =  to_int($max_height_big_image);
         $param['max_width_small_image'] = to_int($max_width_small_image);
         $param['max_height_small_image'] = to_int($max_height_small_image);

         $param['used_watermark_big_image'] = false;
         $param['used_watermark_small_image'] = false;
         $param['isset_big_image'] = false;
         $param['item_id'] = to_int($_POST['advertisement_id']);

         $param['site_users_id'] = to_int($site_user_id);

         $add_advertisement_id = $shop->InsertItem($param);

         if ($add_advertisement_id)
         {
            // Получаем информацию об объявлении
            $item_row = $shop->GetItem($add_advertisement_id);

            if ($item_row)
            {
               // Получаем информацию о дополнительных свойствах объявления
               $fields_res = $shop->GetPropertiesOfGroup($item_row['shop_groups_id'], $add_advertisement_id);

               $form_field = array();

               if ($fields_res)
               {
                  $i = 0;

                  // Формируем массив полей для формы редактирования объявления
                  foreach ($fields_res as $key => $properties_id)
                  {
                     // Получаем значение доп.свойства
                     $properties = $shop-> GetValueItemProperty($add_advertisement_id, $properties_id);
                     $fields_row[$i]['shop_properties_items_value'] = $properties['shop_properties_items_value'];

                     // Получаем информацию о доп.свойстве
                     $properties_info = $shop->GetPropretyOfItems($properties_id);
                     $fields_row[$i]['shop_list_of_properties_id'] = $properties_info['shop_list_of_properties_id'];
                     $fields_row[$i]['shop_list_of_properties_type'] = $properties_info['shop_list_of_properties_type'];
                     $fields_row[$i]['shop_list_of_properties_name'] = $properties_info['shop_list_of_properties_name'];
                     $fields_row[$i]['shop_list_of_properties_xml_name'] = $properties_info['shop_list_of_properties_xml_name'];
                     $fields_row[$i]['lists_id'] = $properties_info['lists_id'];
                     $i++;
                  }

                  if ($fields_row)
                  {
                     $i = 0;
                     $form_field = array();

                     // Добавляем Дату и время добавления объявления
                     $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'] = $_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'] = $_POST['advertisement_phone'];

                     $shop->InsertPropertiesItem($param);

                     // Email
                     $param = array();
                     $param['shop_items_catalog_item_id'] = $add_advertisement_id;
                     $param['shop_list_of_properties_id'] = 385;
                     $param['shop_properties_items_value'] = $_POST['advertisement_email'];

                     $shop->InsertPropertiesItem($param);

                     // Обновляем доп.свойства
                     foreach ($fields_row as $key => $properties)
                     {
                        if ($properties['shop_list_of_properties_id'] != 61
                        && $properties['shop_list_of_properties_id'] != 4
                        && $properties['shop_list_of_properties_id'] != 5
                        && $properties['shop_list_of_properties_id'] != 385
                        && $properties['shop_list_of_properties_id'] != 6)
                        {
                           if (isset($_POST[$properties['shop_list_of_properties_xml_name']])
                           || (isset($_FILES[$properties['shop_list_of_properties_xml_name']]['name']) && $_FILES[$properties['shop_list_of_properties_xml_name']]['size'] > 0))
                           {
                              if (isset($_POST[$properties['shop_list_of_properties_xml_name']]))
                              {
                                 // Доп. свойство - не флажок и не список
                                 if ($properties['shop_list_of_properties_type'] != 7 && $properties['shop_list_of_properties_type'] != 2)
                                 {
                                    $property_value = strip_tags(to_str($_POST[$properties['shop_list_of_properties_xml_name']]));
                                 }
                                 // Доп. свойство - флажок
                                 elseif ($properties['shop_list_of_properties_type'] == 7)
                                 {
                                    $property_value = 1;
                                 }
                                 // Доп. свойство - список
                                 elseif ($properties['shop_list_of_properties_type'] == 2)
                                 {
                                    $property_value = to_int($_POST[$properties['shop_list_of_properties_xml_name']]);
                                 }

                                 $shop_properties_items_value_small = '';
                                 $shop_properties_items_file = '';
                                 $shop_properties_items_file_small = '';

                              }
                              else // Доп. свойство - файл
                              {
                                 $item_dir_path = CMS_FOLDER . UPLOADDIR . 'shop_' . $shop_id . '/item_catalog_' . $add_advertisement_id;

                                 $kernel = & singleton('kernel');

                                 $ext = $kernel->GetExtension($_FILES[$properties['shop_list_of_properties_xml_name']]['name']);

                                 if ($ext != '')
                                 {
                                    $ext = '.' . $ext;
                                 }

                                 $property_big_file = $item_dir_path . '/shop_property_file_' . $add_advertisement_id . '_' . $properties['shop_list_of_properties_id'] . $ext;

                                 $property_small_file = $item_dir_path . '/small_shop_property_file_' . $add_advertisement_id . '_' . $properties['shop_list_of_properties_id'] . $ext;

                                 $param_load_files = array();
                                 $param_load_files['path_source_big_image'] =  $_FILES[$properties['shop_list_of_properties_xml_name']]['tmp_name'];
                                 $param_load_files['path_source_small_image'] = '';
                                 $param_load_files['original_file_name_big_image'] = to_str($_FILES[$properties['shop_list_of_properties_xml_name']]['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($max_width_big_image);
                                 $param_load_files['max_height_big_image'] =  to_int($max_height_big_image);
                                 $param_load_files['max_width_small_image'] = to_int($max_width_small_image);
                                 $param_load_files['max_height_small_image'] = to_int($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'] = $properties['shop_list_of_properties_id'];
                              $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);
                           }
                           elseif(!isset($_POST[$properties['shop_list_of_properties_xml_name']]) && $properties['shop_list_of_properties_type'] == 7)
                           {
                              $property_value = 0;
                              $param['shop_items_catalog_item_id'] = $add_advertisement_id;
                              $param['shop_list_of_properties_id'] = $properties['shop_list_of_properties_id'];
                              $param['shop_properties_items_value'] =  $property_value;
                              $shop->InsertPropertiesItem($param);
                           }
                        }
                     }
                  }
               }

               $path = "./";
               $time = 5; // секунд

               ?>
               <h1>Редактирование объявления</h1>
               <p>Объявление успешно отредактировано. Через <?php echo $time?> секунд Вы вернетесь к списку Ваших объявлений.</p>
               <p>Если Вы не хотите ждать, перейдите по <a href="<?php echo $path?>">ссылке</a>.</p>
               <script language="JavaScript" type="text/javascript">
               <!--
               function set_location()
               {
                  location="<?php echo $path?>";
               }
               setTimeout('set_location()', <?php echo $time * 1000?>);
               //-->
               </script>
               <?php
            }
         }
      }
      // Обработка удаления объявления
      elseif (isset($_REQUEST['delete_advertisement_id']) && to_int($_REQUEST['delete_advertisement_id']) > 0)
      {
         $advertisement_id = to_int($_REQUEST['delete_advertisement_id']);

         // Получаем информацию об объявлении
         $item_row = $shop->GetItem($advertisement_id);

         // Если объявление принадлежит пользователю
         if ($item_row && $item_row['site_users_id'] && $item_row['site_users_id'] == $site_user_id)
         {
            // Удаляем объявление
            $delete_result = $shop->DeleteItem($advertisement_id);

            if ($delete_result)
            {
               $path = "./";
               $time = 5; // секунд

                  ?>
                  <h1>Удаление объявления</h1>
                  <p>Объявление успешно удалено. Через <?php echo $time?> секунд Вы вернетесь к списку Ваших объявлений.</p>
                  <p>Если Вы не хотите ждать, перейдите по <a href="<?php echo $path?>">ссылке</a>.</p>
                  <script language="JavaScript" type="text/javascript">
                  <!--
                  function set_location()
                  {
                     location="<?php echo $path?>";
                  }
                  setTimeout('set_location()', <?php echo $time * 1000?>);
                  //-->
                  </script>
                  <?php
            }
            else
            {
               $path = "./";
               $time = 5; // секунд

                  ?>
                  <h1>Удаление объявления</h1>
                  <p>Объявление не удалено. Через <?php echo $time?> секунд Вы вернетесь к списку Ваших объявлений.</p>
                  <p>Если Вы не хотите ждать, перейдите по <a href="<?php echo $path?>">ссылке</a>.</p>
                  <script language="JavaScript" type="text/javascript">
                  <!--
                  function set_location()
                  {
                     location="<?php echo $path?>";
                  }
                  setTimeout('set_location()', <?php echo $time * 1000?>);
                  //-->
                  </script>
                  <?php
            }
         }
         else
         {
            $path = "./";
            $time = 5; // секунд

            ?>
            <h1>Удаление объявления</h1>
            <p>Объявление не удалено. У Вас нет прав на удаление данного объявления. Через <?php echo $time?> секунд Вы вернетесь к списку Ваших объявлений.</p>
            <p>Если Вы не хотите ждать, перейдите по <a href="<?php echo $path?>">ссылке</a>.</p>
            <script language="JavaScript" type="text/javascript">
            <!--
            function set_location()
            {
               location="<?php echo $path?>";
            }
            setTimeout('set_location()', <?php echo $time * 1000?>);
            //-->
            </script>
            <?php
         }
      }
      else
      {
         // Число элементов на страницу
         if (isset($GLOBALS['ShopResult']['advertisement_on_page']))
         {
            if ($GLOBALS['ShopResult']['advertisement_on_page'] !== true)
            {
               $property['advertisement_on_page'] = to_int($GLOBALS['ShopResult']['advertisement_on_page']);
            }
         }
         else
         {
            $property['advertisement_on_page'] = 10;
         }

         // Номер объявления, с которого начинается показ
         if (isset($GLOBALS['ShopResult']['advertisement_begin']))
         {
            $property['advertisement_begin'] = to_int($GLOBALS['ShopResult']['advertisement_begin']);
         }
         else
         {
            $property['advertisement_begin'] = 0;
         }

         // Отображаем
         $site_id = CURRENT_SITE;

         $external_propertys['url'] = $GLOBALS['ShopResult']['url'];

         // Отображаем только те элементы, которые принадлежат пользователю сайта
         $element = array();
         $element['type'] = 0; // 0 - основное св-во, 1 - дополнительное
         $element['prefix'] = 'and'; // префикс
         $element['name'] = 'site_users_id'; // ID дополнительного св-ва, указывается если тип = 1
         $element['if'] = '='; // Условие
         $element['value'] = $site_user_id;
         $element['sufix'] = '';
         $property['select'][] = $element;

         $property['current_group_id'] = false;
         $property['items_on_page'] = $GLOBALS['ShopResult']['item_on_page'];
         $property['current_page'] = $GLOBALS['ShopResult']['current_page'];
         $property['items_begin'] = $GLOBALS['ShopResult']['item_begin'];
         $property['show_catalog_item_type'] = array('active', 'inactive');

         $property['cache'] = false;

         // Отображаем список объявлений
         $shop->ShowShop($GLOBALS['ShopResult']['shop_id'], $xsl_catalog, $property, $external_propertys);
      }
   }
   else
   {
         ?>
         <h1>Магазин с идентификатором <?php echo $shop_id ?> не найден!</h1>
         <?php
         return ;
   }
}
// Отображаем список магазинов
else
{
   $site_id = CURRENT_SITE;

   $property['xml_show_group_type'] = 'none';
   $property['xml_show_group_property'] = false;
   $property['show_text'] = false;
   $property['xml_show_tying_products'] = false;
   $property['xml_show_group_property_id'] = array(0 => $GLOBALS['LA']['site_users_of_properties_id']);

   // Отображаем список магазинов
   $shop->ShowShops($site_id, $xsl_list, $property, $external_propertys);
}
?>


если не сложно, "деревянный" (некашерный метод в коде)
#
Re: Мои объявления
Предположительно вот так:

<?php

// Получаем информацию о текущем пользователе
if (class_exists('SiteUsers'))
{
   $SiteUsers = & singleton('SiteUsers');
   $site_user_id = $SiteUsers->GetCurrentSiteUser();
}
else
{
   ?>
   <h1>Модуль "Пользователи сайта" отключен!</h1>
   <?php
   return ;
}

$shop = & singleton('shop');

// Массив дополнительных параметров
$property = array();

$property['site_users_id'] = $site_user_id;

/* Массив внешних параметров, передаваемых в XML */
$external_propertys = array();

// XSL шаблон для отображения списка объявлений пользователя
$xsl_catalog = to_str($GLOBALS['LA']['xsl_catalog']);

// XSL шаблон для отображения списка магазинов
$xsl_list = to_str($GLOBALS['LA']['xsl_shops']);

// Отображаем список объявлений пользователя

$shop_id = 7;  // прописываем здесь нужный идентификатор магазина.

   // Получаем информацию о магазине
   $shop_row = $shop->GetShop($shop_id);

   if ($shop_row)
   {
      // Проверяем необходимость отображения кнопки "Добавить объявление" пользователю (Возможность добавления объявлений только определенной группе пользователей)
      // Получаем список групп, в которые входит пользователь
      $SiteUsers = & singleton('SiteUsers');
            $external_propertys['show_button_add_advertisement'] = 1;// УДАЛИТЬ СТРОКУ, ЕСЛИ ОБЪЯВЛЕНИЕ МОЖЕТ ДОБАВЛЯТЬ ОПРЕДЕЛЕННАЯ ГРУППА ПОЛЬЗОВАТЕЛЕЙ И РАСКОММЕНТИРОВАТЬ СЛЕДУЮЩИЙ КОД:
      /*$groups_user_res = $SiteUsers->GetGroupsForUser($site_user_id);

      if ($groups_user_res)
      {
         if (in_array(7, $groups_user_res))// 6 - Идентификатолр нужной группы
         {
            $external_propertys['show_button_add_advertisement'] = 1;
         }
      }*/

      $shop_name = $shop_row['shop_shops_name'];

      // Берем из настроек магазина максимальные значения длины и ширины
      if ($shop_row)
      {
         $max_width_big_image = $shop_row['shop_image_big_max_width'];
         $max_height_big_image = $shop_row['shop_image_big_max_height'];
         $max_width_small_image = $shop_row['shop_image_small_max_width'];
         $max_height_small_image = $shop_row['shop_image_small_max_height'];
      }
      else
      {
         $max_width_big_image = 325;
         $max_height_big_image = 325;
         $max_width_small_image = 100;
         $max_height_small_image = 100;
      }

      if (isset($_REQUEST['delete_file']) || isset($_REQUEST['delete_file_advertisement']))
      {
         $advertisement_id = to_int($_REQUEST['edit_advertisement_id']);

         // Получаем информацию об объявлении
         $advertisement_row = $shop->GetItem($advertisement_id);

         if ($advertisement_row)
         {
            $site_users_id_autor = to_int($advertisement_row['site_users_id']);

            // Если объявление принадлежит пользователю
            if ($site_users_id_autor == $site_user_id && $site_users_id_autor > 0)
            {
               $DataBase = & singleton('DataBase');

               if (isset($_REQUEST['delete_file_advertisement']))
               {
                  // Удаляем файл

                  $shop_items_catalog_image = $advertisement_row['shop_items_catalog_image'];
                  $shop_items_catalog_small_image = $advertisement_row['shop_items_catalog_small_image'];

                  if (is_dir(CMS_FOLDER . UPLOADDIR))
                  {
                     // Путь к большой картинке
                     $fname = CMS_FOLDER . UPLOADDIR .'shop_' . $shop_id . '/item_catalog_' . $advertisement_id . '/' . $shop_items_catalog_image;

                     // Файл большого изображения существует
                     if (is_file($fname))
                     {
                        // Файл большого изображения удален
                        if (unlink($fname))
                        {
                           // Удаляем файл из таблицы
                           $query = "UPDATE `shop_items_catalog_table`
                              SET  `shop_items_catalog_image` = '',
                              `shop_items_catalog_big_image_height` = '0',
                              `shop_items_catalog_big_image_width` = '0'
                              WHERE `shop_items_catalog_item_id` = '{$advertisement_id}'";
                           $DataBase->query($query);
                        }
                     }

                     // Путь к малой картинке
                     $fname = CMS_FOLDER . UPLOADDIR . 'shop_' . $shop_id . '/item_catalog_' . $advertisement_id . '/' . $shop_items_catalog_small_image;

                     // Файл малого изображения существует
                     if (is_file($fname))
                     {
                        // Файл малого изображения удален
                        if (unlink($fname))
                        {
                           // Удаляем файл из таблицы
                           $query = "UPDATE `shop_items_catalog_table`
                              SET  `shop_items_catalog_small_image` = '',
                              `shop_items_catalog_small_image_height` = '0',
                              `shop_items_catalog_small_image_width` = '0'
                              WHERE `shop_items_catalog_item_id` = '{$advertisement_id}'";
                           $DataBase->query($query);
                        }

                     }
                  }
               }
            }
            elseif (isset($_REQUEST['property_id']) && to_int($_REQUEST['property_id']) > 0)
            {
               $property_id = to_int($_REQUEST['property_id']);

               // Удаляем файл
               // Получаем значение доп.свойства
               $property_value = $shop->GetValueItemProperty($advertisement_id, $property_id);

               if ($property_value)
               {
                  $file_property_name = $property_value['shop_properties_items_file'];
                  $file_small_property_name = $property_value['shop_properties_items_file_small'];

                  if (is_dir(CMS_FOLDER . UPLOADDIR))
                  {
                     // Путь к большой картинке
                     $fname = CMS_FOLDER . UPLOADDIR .'shop_' . $shop_id . '/item_catalog_' . $advertisement_id . '/' . $file_property_name;

                     // Файл большого изображения существует
                     if (is_file($fname))
                     {
                        // Файл большого изображения удален
                        if (unlink($fname))
                        {
                           // Удаляем файл из таблицы
                           $query = "UPDATE `shop_properties_items_table`
                              SET  `shop_properties_items_value` = '',
                              `shop_properties_items_file` = ''
                              WHERE `shop_items_catalog_item_id` = '{$advertisement_id}'
                              AND `shop_list_of_properties_id` = '{$property_id}'";
                           $DataBase->query($query);
                        }
                     }

                     // Путь к малой картинке
                     $fname = CMS_FOLDER . UPLOADDIR . 'shop_' . $shop_id . '/item_catalog_' . $advertisement_id . '/' . $file_small_property_name;

                     // Файл малого изображения существует
                     if (is_file($fname))
                     {
                        // Файл малого изображения удален
                        if (unlink($fname))
                        {
                           // Удаляем файл из таблицы
                           $query = "UPDATE `shop_properties_items_table`
                              SET  `shop_properties_items_value_small` = '',
                              `shop_properties_items_file_small` = ''
                              WHERE `shop_items_catalog_item_id` = '{$advertisement_id}'
                              AND `shop_list_of_properties_id` = '{$property_id}'";
                           $DataBase->query($query);
                        }
                     }
                  }
               }
            }

            unset($DataBase);
            unset($advertisement_row);
         }
      }

      // Редактирование объявления
      if (isset($_REQUEST['edit_advertisement_id']) && to_int($_REQUEST['edit_advertisement_id']) > 0)
      {
         $advertisement_id = to_int($_REQUEST['edit_advertisement_id']);

         $param['cache_off'] = true;

         // Получаем информацию об объявлении
         $item_row = $shop->GetItem($advertisement_id, $param);

         if ($item_row)
         {
            // ID автора объявления
            $advertisement_site_users_id = $item_row['site_users_id'];

            // Проверяем, действительно ли данное объявление принадлежит пользователю
            if ($advertisement_site_users_id > 0 && $advertisement_site_users_id == $site_user_id)
            {
               // Получаем информацию о доп.свойствах объявления
               $item_property_res = $shop->GetAllPropertiesItem($advertisement_id, array('cache_off' => 'false'));

               if ($item_property_res)
               {
                  foreach ($item_property_res as $key => $row)
                  {
                     // ФИО
                     if ($row['shop_list_of_properties_id'] == 4)
                     {
                        $fio = $row['shop_properties_items_value'];
                     }

                     // Телефон
                     if ($row['shop_list_of_properties_id'] == 5)
                     {
                        $telephone = $row['shop_properties_items_value'];
                     }

                     // E-mail
                     if ($row['shop_list_of_properties_id'] == 385)
                     {
                        $email = $row['shop_properties_items_value'];
                     }
                  }
               }

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

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

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

               // Получаем информацию о дополнительных свойствах группы объявлений
               $fields_res = $shop->GetPropertiesOfGroup($item_row['shop_groups_id'], $advertisement_id);

               $form_field = array();

               if ($fields_res)
               {
                  $i = 0;

                  // Формируем массив полей для формы редактирования объявления
                  foreach ($fields_res as $key => $properties_id)
                  {
                     // Получаем значение доп.свойства
                     $properties = $shop-> GetValueItemProperty($advertisement_id, $properties_id);
                     $fields_row[$i]['shop_properties_items_value'] = $properties['shop_properties_items_value'];
                     $fields_row[$i]['shop_properties_items_file'] = $properties['shop_properties_items_file'];

                     // Получаем информацию о доп.свойстве
                     $properties_info = $shop->GetPropretyOfItems($properties_id);
                     $fields_row[$i]['shop_list_of_properties_id'] = $properties_id;
                     $fields_row[$i]['shop_list_of_properties_type'] = $properties_info['shop_list_of_properties_type'];
                     $fields_row[$i]['shop_list_of_properties_name'] = $properties_info['shop_list_of_properties_name'];
                     $fields_row[$i]['shop_list_of_properties_xml_name'] = $properties_info['shop_list_of_properties_xml_name'];
                     $fields_row[$i]['lists_id'] = $properties_info['lists_id'];
                     $i++;
                  }

                  // Формируем html-код формы редактирования объявления
                  ob_start();
                  ?>      
                  <h1><?php echo $item_row['shop_items_catalog_name'] ?></h1>   
                                    
                  <!-- Форма редактирования объявления-->   
                  <form action="./" name="advertisement_form_<?php echo $advertisement_id ?>" method="post" enctype="multipart/form-data">
                  <table>
                     <tr>
                        <td>
                        <input type="hidden" name="MAX_FILE_SIZE" value="1000000000"/>
                        </td>
                     </tr>
                     <tr>
                        <td>   
                        <input type="hidden" name="advertisement_id" value="<?php echo $advertisement_id ?>"/>
                        </td>
                     </tr>
                     <tr>
                        <td>   
                        <input type="hidden" name="site_user_id" value="<?php echo $site_user_id ?>"/>
                        </td>
                     </tr>                     
                     <tr>
                        <td>
                        Заголовок
                        <br/>
                        <input type="text" size="70" name="advertisement_title" value="<?php echo $item_row['shop_items_catalog_name'] ?>"/>
                        </td>
                     </tr>
                     
                     <tr>
                        <td>
                        Цена
                        <br/>
                        <input type="text" name="advertisement_price" size="70" value="<?php echo $item_row['shop_items_catalog_price'] ?>"/>               
                        </td>
                     </tr>
                     
                     <tr>
                        <td>
                        Текст объявления
                        <br/>
                        <textarea name="advertisement_text" cols="53" rows="5"><?php echo $item_row['shop_items_catalog_text'] ?></textarea>               
                        </td>
                     </tr>               
                     
                     <tr>
                          <td>
                        Фото
                        <br/>
                        <input type="file" size="59" name="advertisement_file" value="<?php echo $item_row['shop_items_catalog_image'] ?>"/>
                        <?php                        
                        if (trim($item_row['shop_items_catalog_image']) != '')
                        {
                           ?>
                           <a href="<?php echo '/' . UPLOADDIR . 'shop_' . $shop_id . '/item_catalog_' . $advertisement_id . '/' . $item_row['shop_items_catalog_image'] ?>" target="_blank"><img src="/admin/images/eye.gif"/></a>
                           <a href="<?php echo './?edit_advertisement_id=' . $advertisement_id . '&delete_file_advertisement' ?>" onclick="return confirm('Вы действительно хотите удалить файл?');"><img src="/admin/images/delete.gif"/></a>
                           <?php
                        }
                        ?>   
                        </td>
                      </tr>

                     <tr>
                         <td>
                           ФИО<br />
                           <input type="text" name="advertisement_fio" size="70" value="<?php echo $fio;?>" />
                         </td>
                      </tr>
         
                      <tr>
                         <td>
                           Тел.<br />
                           <input type="text" name="advertisement_phone" size="70" value="<?php echo $telephone;?>" />
                         </td>
                      </tr>
         
                      <tr>
                         <td>
                           E-mail<br />
                           <input type="text" name="advertisement_email" size="70" value="<?php echo $email;?>" />
                         </td>
                      </tr>
                     <?php   
                     foreach ($fields_row as $key => $fields)
                     {
                        if ($fields['shop_list_of_properties_id'] != 61
                        && $fields['shop_list_of_properties_id'] != 4
                        && $fields['shop_list_of_properties_id'] != 5
                        && $fields['shop_list_of_properties_id'] != 385
                        && $fields['shop_list_of_properties_id'] != 129
                        && $fields['shop_list_of_properties_id'] != 385
                        && $fields['shop_list_of_properties_id'] != 6
                        && ($fields['shop_list_of_properties_type'] != 2 || $fields['shop_list_of_properties_type'] == 2 && class_exists('lists')))
                        {
                              ?>
                     <tr>
                         <td>
                         <?php
                         switch ($fields['shop_list_of_properties_type'])
                         {
                            case 0: // Строка
                            case 3: // Большое текстовое поле
                            case 4: // Визуальный редактор
                            case 5: // Дата
                            case 6: // Дата-время
                            {
                               echo $fields['shop_list_of_properties_name'];
                                    ?>
                                    <br />
                                    <input type="text" name="<?php echo $fields['shop_list_of_properties_xml_name']?>" size="70" value="<?php echo $fields['shop_properties_items_value'] ?>" />
                                    <?php
                                    break;
                            }

                            case 1: // Файл
                            {
                               echo $fields['shop_list_of_properties_name'];
                                    ?>
                                    <br />
                                    <input type="file" name="<?php echo $fields['shop_list_of_properties_xml_name']?>" size="59" value="<?php echo $fields['shop_properties_items_value']?>"/>
                                    <?php

                                    if (trim(to_str($fields['shop_properties_items_file'])) != '')
                                    {
                                       ?>
                                       <a href="<?php echo '/' . UPLOADDIR . 'shop_' . $shop_id . '/item_catalog_' . $advertisement_id . '/' . $fields['shop_properties_items_file'] ?>" target="_blank"><img src="/admin/images/eye.gif"/></a>
                                       <a href="<?php echo './?edit_advertisement_id=' . $advertisement_id . '&delete_file&property_id=' . $fields['shop_list_of_properties_id']; ?>" onclick="return confirm('Вы действительно хотите удалить файл?');"><img src="/admin/images/delete.gif"/></a>
                                       <?php
                                    }

                                    break;
                            }
                            case 2: // Список
                            {
                               if (class_exists('lists'))
                               {
                                  $list = new lists();

                                  $list_result = $list->SelectListsItems($fields['lists_id']);

                                  if ($list_result)
                                  {
                                     echo $fields['shop_list_of_properties_name'];
                                          ?>
                                          <br />
                                          <select name="<?php echo $fields['shop_list_of_properties_xml_name']?>">
                                          <?php

                                          while ($list_row = mysql_fetch_assoc($list_result))
                                          {
                                             $selected = '';

                                             if ($list_row['lists_items_id'] == $fields['shop_properties_items_value'])
                                             {
                                                $selected = ' selected="" ';
                                             }

                                             ?>
                                             <option value="<?php echo $list_row['lists_items_id']?>" <?php echo $selected?>><?php echo $list_row['lists_items_value']?></option>
                                             <?php    

                                          }
                                          ?>
                                          </select>
                                          <?php
                                  }
                               }

                               break;
                            }
                            case 7: // Флажок
                            {
                               if (isset($fields['shop_properties_items_value']) && $fields['shop_properties_items_value'] == 1)
                               {
                                  $checked = ' checked="" ';
                               }
                               else
                               {
                                  $checked = '';
                               }

                                    ?>
                                    <input type="checkbox" name="<?php echo $fields['shop_list_of_properties_xml_name']?>"  <?php echo $checked?> />
                                    <?php
                                    echo $fields['shop_list_of_properties_name'];
                                    break;
                            }
                            default:
                               {
                                  echo $fields['shop_list_of_properties_name'];
                                       ?>
                                       <br />
                                       <input type="text" name="<?php echo $fields['shop_list_of_properties_xml_name']?>" size="70" />
                                       <?php
                                       break;
                               }
                         }
                              ?>   
                        </td>
                      </tr><?php
                        }
                     }
                        ?>
                     <tr>
                         <td>
                           <input type="submit" name="edit_advertisement" value="Сохранить"/>
                           </td>
                      </tr>
                   </table>
                     </form>
                     <?php
                     $edit_advertisement_form =  ob_get_clean();

                     echo $edit_advertisement_form;
               }
            }
            else
            {
               ?> <h1>У Вас недостаточно прав для редактирования данного объявления.</h1> <?php
            }
         }
         /*         }*/
      }
      // Обработка редактирования объявления
      elseif (isset($_POST['edit_advertisement']))
      {
         $param = array();

         $param['shops_id'] = $shop_id;
         $param['name'] = htmlspecialchars(strip_tags(to_str($_POST['advertisement_title'])));
         $param['shop_items_catalog_date_time'] = date('Y-m-d H:i:s');

         $param['text'] = htmlspecialchars(strip_tags(to_str($_POST['advertisement_text'])));

         if (class_exists('typograph'))
         {
            $typograph = new typograph();
            $param['text'] = $typograph->ProcessTypographic($param['text'], true);
         }

         $param['price'] = to_float($_POST['advertisement_price']);

         $param['path_source_big_image'] =  to_str($_FILES['advertisement_file']['tmp_name']);
         $param['original_file_name_big_image'] = to_str($_FILES['advertisement_file']['name']);
         $param['original_file_name_small_image'] = $param['original_file_name_big_image'];
         $param['use_big_image'] = true;

         $param['max_width_big_image'] =  to_int($max_width_big_image);
         $param['max_height_big_image'] =  to_int($max_height_big_image);
         $param['max_width_small_image'] = to_int($max_width_small_image);
         $param['max_height_small_image'] = to_int($max_height_small_image);

         $param['used_watermark_big_image'] = false;
         $param['used_watermark_small_image'] = false;
         $param['isset_big_image'] = false;
         $param['item_id'] = to_int($_POST['advertisement_id']);

         $param['site_users_id'] = to_int($site_user_id);

         $add_advertisement_id = $shop->InsertItem($param);

         if ($add_advertisement_id)
         {
            // Получаем информацию об объявлении
            $item_row = $shop->GetItem($add_advertisement_id);

            if ($item_row)
            {
               // Получаем информацию о дополнительных свойствах объявления
               $fields_res = $shop->GetPropertiesOfGroup($item_row['shop_groups_id'], $add_advertisement_id);

               $form_field = array();

               if ($fields_res)
               {
                  $i = 0;

                  // Формируем массив полей для формы редактирования объявления
                  foreach ($fields_res as $key => $properties_id)
                  {
                     // Получаем значение доп.свойства
                     $properties = $shop-> GetValueItemProperty($add_advertisement_id, $properties_id);
                     $fields_row[$i]['shop_properties_items_value'] = $properties['shop_properties_items_value'];

                     // Получаем информацию о доп.свойстве
                     $properties_info = $shop->GetPropretyOfItems($properties_id);
                     $fields_row[$i]['shop_list_of_properties_id'] = $properties_info['shop_list_of_properties_id'];
                     $fields_row[$i]['shop_list_of_properties_type'] = $properties_info['shop_list_of_properties_type'];
                     $fields_row[$i]['shop_list_of_properties_name'] = $properties_info['shop_list_of_properties_name'];
                     $fields_row[$i]['shop_list_of_properties_xml_name'] = $properties_info['shop_list_of_properties_xml_name'];
                     $fields_row[$i]['lists_id'] = $properties_info['lists_id'];
                     $i++;
                  }

                  if ($fields_row)
                  {
                     $i = 0;
                     $form_field = array();

                     // Добавляем Дату и время добавления объявления
                     $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'] = $_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'] = $_POST['advertisement_phone'];

                     $shop->InsertPropertiesItem($param);

                     // Email
                     $param = array();
                     $param['shop_items_catalog_item_id'] = $add_advertisement_id;
                     $param['shop_list_of_properties_id'] = 385;
                     $param['shop_properties_items_value'] = $_POST['advertisement_email'];

                     $shop->InsertPropertiesItem($param);

                     // Обновляем доп.свойства
                     foreach ($fields_row as $key => $properties)
                     {
                        if ($properties['shop_list_of_properties_id'] != 61
                        && $properties['shop_list_of_properties_id'] != 4
                        && $properties['shop_list_of_properties_id'] != 5
                        && $properties['shop_list_of_properties_id'] != 385
                        && $properties['shop_list_of_properties_id'] != 6)
                        {
                           if (isset($_POST[$properties['shop_list_of_properties_xml_name']])
                           || (isset($_FILES[$properties['shop_list_of_properties_xml_name']]['name']) && $_FILES[$properties['shop_list_of_properties_xml_name']]['size'] > 0))
                           {
                              if (isset($_POST[$properties['shop_list_of_properties_xml_name']]))
                              {
                                 // Доп. свойство - не флажок и не список
                                 if ($properties['shop_list_of_properties_type'] != 7 && $properties['shop_list_of_properties_type'] != 2)
                                 {
                                    $property_value = strip_tags(to_str($_POST[$properties['shop_list_of_properties_xml_name']]));
                                 }
                                 // Доп. свойство - флажок
                                 elseif ($properties['shop_list_of_properties_type'] == 7)
                                 {
                                    $property_value = 1;
                                 }
                                 // Доп. свойство - список
                                 elseif ($properties['shop_list_of_properties_type'] == 2)
                                 {
                                    $property_value = to_int($_POST[$properties['shop_list_of_properties_xml_name']]);
                                 }

                                 $shop_properties_items_value_small = '';
                                 $shop_properties_items_file = '';
                                 $shop_properties_items_file_small = '';

                              }
                              else // Доп. свойство - файл
                              {
                                 $item_dir_path = CMS_FOLDER . UPLOADDIR . 'shop_' . $shop_id . '/item_catalog_' . $add_advertisement_id;

                                 $kernel = & singleton('kernel');

                                 $ext = $kernel->GetExtension($_FILES[$properties['shop_list_of_properties_xml_name']]['name']);

                                 if ($ext != '')
                                 {
                                    $ext = '.' . $ext;
                                 }

                                 $property_big_file = $item_dir_path . '/shop_property_file_' . $add_advertisement_id . '_' . $properties['shop_list_of_properties_id'] . $ext;

                                 $property_small_file = $item_dir_path . '/small_shop_property_file_' . $add_advertisement_id . '_' . $properties['shop_list_of_properties_id'] . $ext;

                                 $param_load_files = array();
                                 $param_load_files['path_source_big_image'] =  $_FILES[$properties['shop_list_of_properties_xml_name']]['tmp_name'];
                                 $param_load_files['path_source_small_image'] = '';
                                 $param_load_files['original_file_name_big_image'] = to_str($_FILES[$properties['shop_list_of_properties_xml_name']]['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($max_width_big_image);
                                 $param_load_files['max_height_big_image'] =  to_int($max_height_big_image);
                                 $param_load_files['max_width_small_image'] = to_int($max_width_small_image);
                                 $param_load_files['max_height_small_image'] = to_int($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'] = $properties['shop_list_of_properties_id'];
                              $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);
                           }
                           elseif(!isset($_POST[$properties['shop_list_of_properties_xml_name']]) && $properties['shop_list_of_properties_type'] == 7)
                           {
                              $property_value = 0;
                              $param['shop_items_catalog_item_id'] = $add_advertisement_id;
                              $param['shop_list_of_properties_id'] = $properties['shop_list_of_properties_id'];
                              $param['shop_properties_items_value'] =  $property_value;
                              $shop->InsertPropertiesItem($param);
                           }
                        }
                     }
                  }
               }

               $path = "./";
               $time = 5; // секунд

               ?>
               <h1>Редактирование объявления</h1>
               <p>Объявление успешно отредактировано. Через <?php echo $time?> секунд Вы вернетесь к списку Ваших объявлений.</p>
               <p>Если Вы не хотите ждать, перейдите по <a href="<?php echo $path?>">ссылке</a>.</p>
               <script language="JavaScript" type="text/javascript">
               <!--
               function set_location()
               {
                  location="<?php echo $path?>";
               }
               setTimeout('set_location()', <?php echo $time * 1000?>);
               //-->
               </script>
               <?php
            }
         }
      }
      // Обработка удаления объявления
      elseif (isset($_REQUEST['delete_advertisement_id']) && to_int($_REQUEST['delete_advertisement_id']) > 0)
      {
         $advertisement_id = to_int($_REQUEST['delete_advertisement_id']);

         // Получаем информацию об объявлении
         $item_row = $shop->GetItem($advertisement_id);

         // Если объявление принадлежит пользователю
         if ($item_row && $item_row['site_users_id'] && $item_row['site_users_id'] == $site_user_id)
         {
            // Удаляем объявление
            $delete_result = $shop->DeleteItem($advertisement_id);

            if ($delete_result)
            {
               $path = "./";
               $time = 5; // секунд

                  ?>
                  <h1>Удаление объявления</h1>
                  <p>Объявление успешно удалено. Через <?php echo $time?> секунд Вы вернетесь к списку Ваших объявлений.</p>
                  <p>Если Вы не хотите ждать, перейдите по <a href="<?php echo $path?>">ссылке</a>.</p>
                  <script language="JavaScript" type="text/javascript">
                  <!--
                  function set_location()
                  {
                     location="<?php echo $path?>";
                  }
                  setTimeout('set_location()', <?php echo $time * 1000?>);
                  //-->
                  </script>
                  <?php
            }
            else
            {
               $path = "./";
               $time = 5; // секунд

                  ?>
                  <h1>Удаление объявления</h1>
                  <p>Объявление не удалено. Через <?php echo $time?> секунд Вы вернетесь к списку Ваших объявлений.</p>
                  <p>Если Вы не хотите ждать, перейдите по <a href="<?php echo $path?>">ссылке</a>.</p>
                  <script language="JavaScript" type="text/javascript">
                  <!--
                  function set_location()
                  {
                     location="<?php echo $path?>";
                  }
                  setTimeout('set_location()', <?php echo $time * 1000?>);
                  //-->
                  </script>
                  <?php
            }
         }
         else
         {
            $path = "./";
            $time = 5; // секунд

            ?>
            <h1>Удаление объявления</h1>
            <p>Объявление не удалено. У Вас нет прав на удаление данного объявления. Через <?php echo $time?> секунд Вы вернетесь к списку Ваших объявлений.</p>
            <p>Если Вы не хотите ждать, перейдите по <a href="<?php echo $path?>">ссылке</a>.</p>
            <script language="JavaScript" type="text/javascript">
            <!--
            function set_location()
            {
               location="<?php echo $path?>";
            }
            setTimeout('set_location()', <?php echo $time * 1000?>);
            //-->
            </script>
            <?php
         }
      }
      else
      {
         // Число элементов на страницу
         if (isset($GLOBALS['ShopResult']['advertisement_on_page']))
         {
            if ($GLOBALS['ShopResult']['advertisement_on_page'] !== true)
            {
               $property['advertisement_on_page'] = to_int($GLOBALS['ShopResult']['advertisement_on_page']);
            }
         }
         else
         {
            $property['advertisement_on_page'] = 10;
         }

         // Номер объявления, с которого начинается показ
         if (isset($GLOBALS['ShopResult']['advertisement_begin']))
         {
            $property['advertisement_begin'] = to_int($GLOBALS['ShopResult']['advertisement_begin']);
         }
         else
         {
            $property['advertisement_begin'] = 0;
         }

         // Отображаем
         $site_id = CURRENT_SITE;

         $external_propertys['url'] = $GLOBALS['ShopResult']['url'];

         // Отображаем только те элементы, которые принадлежат пользователю сайта
         $element = array();
         $element['type'] = 0; // 0 - основное св-во, 1 - дополнительное
         $element['prefix'] = 'and'; // префикс
         $element['name'] = 'site_users_id'; // ID дополнительного св-ва, указывается если тип = 1
         $element['if'] = '='; // Условие
         $element['value'] = $site_user_id;
         $element['sufix'] = '';
         $property['select'][] = $element;

         $property['current_group_id'] = false;
         $property['items_on_page'] = $GLOBALS['ShopResult']['item_on_page'];
         $property['current_page'] = $GLOBALS['ShopResult']['current_page'];
         $property['items_begin'] = $GLOBALS['ShopResult']['item_begin'];
         $property['show_catalog_item_type'] = array('active', 'inactive');

         $property['cache'] = false;

         // Отображаем список объявлений
         $shop->ShowShop($GLOBALS['ShopResult']['shop_id'], $xsl_catalog, $property, $external_propertys);
      }
   }
   else
   {
         ?>
         <h1>Магазин с идентификатором <?php echo $shop_id ?> не найден!</h1>
         <?php
         return ;
   }

?>


Не проверял, так что может еще чего-то упустил, ХЗ.
Заказов не беру. Консультирую редко.
#
Re: Мои объявления
нет...если мы явно задаём магазин с ID=7 то следующие строки надо как то модифицировать....
Авторизация