Нестандартная форма добавления обьявлений.

#
Нестандартная форма добавления обьявлений.
Создал свою форму добавления обьявлений на доску.
Сделал отдельный шаблон, скопипастил туда форму из настроек ТДС "Доска обьявлений", добавил поле для выбора раздела добавления.

<?php
$Captcha = new Captcha();
$captcha_key = $Captcha->GetCaptchaID();
?>
<script language="javascript">
function goToStepTwo()
{
f1 = document.getElementById('step_1');
f2 = document.getElementById('step_2');

document.getElementById('user_name').innerHTML =   document.getElementById('user_name_src').value;
document.getElementById('user_mail').innerHTML =   document.getElementById('user_mail_src').value;
document.getElementById('user_phone').innerHTML =   document.getElementById('user_phone_src').value;
document.getElementById('ad_info').innerHTML =   '<p>'+document.getElementById('ad_group_src').options[document.getElementById('ad_group_src').selectedIndex].text+'<p><h6>'+document.getElementById('ad_name_src').value+'</h6>'+document.getElementById('ad_text_src').value;
document.getElementById('ad_price').innerHTML =   document.getElementById('ad_price_src').value+' '+document.getElementById('ad_curr_src').options[document.getElementById('ad_curr_src').selectedIndex].text;


f1.style.display = 'none';
f2.style.display = 'block'
}

function goToStepOne()
{
f1 = document.getElementById('step_1');
f2 = document.getElementById('step_2');

f2.style.display = 'none';
f1.style.display = 'block'
}
</script>

<form method="post" action="/board/" class="f_st1">
<div id="step_1">
<h6 class="ch">Подача объявления</h6>
                   <div class="fh"><p>Поля обязательные для заполнения:</p></div>
                   <div class="form_b_st1">
                        <div class="f_st1_b">
                            
                             <div class="st1_lit">
                                  <div class="st1_lit_b">
                                       <h6>Личные данные</h6>
                                       <table>
                                           <tbody><tr>
                                               <td class="ft_1">Ваше имя:</td>
                                               <td class="ft_2"><input type="text" name="advertisement_fio" class="in1" gtbfieldid="6" id='user_name_src'>
                                               <!-- span><img alt="PASS" src="/images/pass.gif"> <img alt="OK" src="/images/ok.gif"></span --></td>
                                           </tr>
                                           <tr>
                                               <td class="ft_1">Регион:</td>
                                               <td class="ft_2"><select class="slt" name=""><option>Все</option></select>
                                               <!-- span><img alt="PASS" src="/images/pass.gif"> <img alt="OK" src="/images/ok.gif"></span --></td>
                                           </tr>
                                       </tbody></table>
                                  </div>
                             </div>
                     
                             <div class="st1_lit">
                                  <div class="st1_lit_b">
                                       <h6>Личные данные</h6>
                                       <h5>Выберети один или оба способа связи:</h5>
                                       <table>
                                           <tbody><tr>
                                               <td class="ft_1">E-mail:</td>
                                               <td class="ft_2"><input type="text" name="advertisement_email" class="in1" gtbfieldid="7" id='user_mail_src'>
                                               <!-- span><img alt="PASS" src="/images/pass.gif"><img alt="OK" src="/images/ok.gif"></span --></td>
                                               <td rowspan="3">
                                                   <div class="st1_inf">
                                                       <ul>
                                                           <li>На ваш адрес не будет рассылаться спам и другие нехорошие вещи.</li>
                                                           <li>На ваш телефон не будет рассылаться спам и другие нехорошие вещи.</li>
                                                       </ul>
                                                   </div>
                                               </td>
                                           </tr>
                                           <tr>
                                               <td class="ft_1">Телефон:</td>
                                               <td class="ft_2"><input type="text" value="" size="70" name="advertisement_phone" class="in1" id="user_phone_src">
                                               <!-- span><img alt="PASS" src="/images/pass.gif"> <img alt="OK" src="/images/ok.gif"></span --></td>
                                           </tr>
                                       </tbody></table>
                                  </div>
                             </div>
                     
                             <div class="st1_lit">
                                  <div class="st1_lit_b">
                                       <h6>Характеристики объявления</h6>
                                       <table>
                                           <tbody><tr>
                                               <td class="ft_1"></td>
                                               <td class="ft_2"><label class="lb_l">Купля<input type="radio" name=""></label>
                                               <label>Продажа  <input type="radio" name=""></label></td>
                                           </tr>
                                           <tr>
                                               <td class="ft_1">Категория:</td>
                                               <td class="ft_2">
<select class="slt" name="group_id" id='ad_group_src'>
<?php
   $shop = new shop();
   $ShopId = 2;
   $rez = array();
   $rez = $shop->GetItemPath($ShopId);
   $external_propertys = array();
   $external_propertys['ТекущаяГруппа'] = $rez['group'];
   $param = array('current_group_id' => 0, 'items_on_page' => 10);
   $param['xml_show_group_type'] = 'all';
   $xsl_catalog = 'выборКатегорииДобавления';
   $shop->ShowShop($ShopId, $xsl_catalog, $param, $external_propertys);
?>
</select>
                                               <!-- span><img alt="PASS" src="/images/pass.gif"> <img alt="OK" src="/images/ok.gif"></span --></td>
                                           </tr>
                                          <tr>
                                               <td class="ft_1">Заголовок объявления:</td>
                                               <td class="ft_2"><input type="text" value="" name="advertisement_title" class="in1" id="ad_name_src"/>
                                               <!-- span><img alt="PASS" src="/images/pass.gif"> <img alt="OK" src="/images/ok.gif"></span --></td>
                                           </tr>
                                           <tr>
                                               <td class="ft_1">Текст объявления:</td>
                                               <td class="ft_3"><textarea cols="0" rows="0" class="txt_a" name="advertisement_text"  id="ad_text_src"></textarea>
                                               <!-- span><img alt="PASS" src="/images/pass.gif"> <img alt="OK" src="/images/ok.gif"></span --></td>
                                           </tr>
                                           <tr>
                                               <td class="ft_1">Цена:</td>
                                               <td class="ft_2"><input type="text" name="advertisement_price" class="in4" gtbfieldid="10"  id="ad_price_src">
<select name="advertisement_currency" id="ad_curr_src">
                       <option value="1">Руб.</option>
                  <option value="2">EUR</option>
                  <option value="3">USD</option>
               </select>
                                               <!-- span><img alt="PASS" src="/images/pass.gif"> <img alt="OK" src="/images/ok.gif"></span --></td>
                                           </tr>
<tr>
<td>Файл изображения:</td>
<td><input type="file" size="59" name="advertisement_file" class="in1" id="ad_file_src"/></td>
</tr>
<tr>
<td>Контрольные цифры:</td>
<td>
<img style="border: 1px solid #000000"
         src="/captcha.php?get_captcha=<?php echo $captcha_key?>&amp;height=30&amp;width=100"
         title="Код подтверждения" name="captcha" /></div>
      <div id="captcha" style="clear: both;"><img style="border: 0px"
         src="/hostcmsfiles/images/refresh.gif" /> <a href="javascript:void(0);"   onclick="ReNewCaptcha(<?php echo $captcha_key?>, 30);return false;">Показать другое число</a></div>
      <div style="float: left; margin-left: 5px;"><input type="text"
         name="captcha_keystring" /> <input type="hidden" name="captcha_key"
         value="<?php echo $captcha_key?>" size="15" /></div>
      <div id="captcha" style="clear: both;">Введите число, которое указано
      выше.</div>
</td>
</tr>

                                       </tbody></table>
                                  </div>
                             </div>
                     
                        </div>
                   </div>
                  
  <div class="inf_pages">                
<a href="javascript:void(0)" title="Отправить" class="ip_r" onClick="goToStepTwo()">Отправить</a>  
</div>
</div>  
<div id="step_2" style="display: none;">
<h6 class="ch">Подтверждение данных</h6>
<div class="r_info">
                   <table>
                       <tbody><tr>
                           <td class="ri_l">Имя:</td>
                           <td id='user_name'></td>
                       </tr>
                       <tr class="ri_padd">
                           <td class="ri_l">Регион:</td>
                           <td>Все</td>
                       </tr>
                       <tr>
                           <td class="ri_l">Телефон:</td>
                           <td id='user_phone'></td>
                       </tr>
                       <tr class="ri_padd">
                           <td class="ri_l">E-mail:</td>
                           <td id='user_mail'></td>
                       </tr>
                       <tr class="ri_padd">
                           <td class="ri_l">Объявление:</td>
                           <td id='ad_info'></td>
                       </tr>
                       <tr class="ri_padd">
                           <td class="ri_l">Цена:</td>
                           <td><b id='ad_price'></b></td>
                       </tr>
                    
                   </tbody></table>
                   <div class="inf_pages"><a href="javascript:void(0)" title="Редактировать" class="ip_l" onClick=" goToStepOne()" style="margin-right:50px;">Редактировать</a><input type="submit" name="add_advertisement" value=" " title="OK" class="send_btn"></div>
              </div>

</div>
</form>

Форма POST, направлена на /board/, но при отправке формы пользователь видит белую страничку с единственной надписью "unknown", почему так происходит я не разобрался но проблему решил добавиви в конец обработчика формы (в настройках ТДС) header("location: /adSign/complete/"; для перехода на страничку "Спасибо за ваше обьявление".

Но проблема возникла другая, во-первых в писмах подтверждения отсутсвует email и название раздела (хотя в обьявлении они присутствуют и все добавляется куда надо) и не добавляется картинка, хотя название поля я перенес без изменений.

Кто нибудь уже делал свои формы добавления обьявлений, и сталки вался ли с подобным?

Настройки ТДС Доски.
<?php

/* Создаем экземпляр класса магазина (при создании устанавливаем флаг необходимости очистки cookie) */
$shop = & singleton('shop');

$kernel = & singleton('kernel');

$current_shop_id = to_int($GLOBALS['LA']['shop_id']);

// получаем для пути ассоциативный массив с id группы и id/url элемента
$GLOBALS['shop_item_path'] = $shop->GetItemPath($current_shop_id);

// Массив разрешенных расширений при загрузке файла
$allow_ext = array('JPG', 'JPEG');

// Обработка AJAX-запроса при формирвоании формы для добавления объявления
if (isset ($_REQUEST['action']) && $_REQUEST['action'] == 'show_form_add_item' && isset ($_REQUEST['group_id']))
{
   // Формируем html-код формы добавления объявления
   ob_start();

   // Идентификатор текущей группы
   $current_group_id = to_int($_REQUEST['group_id']);

   $Captcha = new Captcha();
   $captcha_key = $Captcha->GetCaptchaID();

   $advertisement_title = '';
   $advertisement_price = '';
   $advertisement_text = '';
   $advertisement_fio = '';
   $advertisement_phone = '';
   $advertisement_email = '';
   $advertisement_title = '';
   ?>
<div class="comment">
<div class="tl"></div>
<div class="tr"></div>
<div class="bl"></div>
<div class="br"></div>

<form method="POST" action="./" enctype="multipart/form-data">
<table>
   <tr>
      <td>Заголовок<br />
      <input type="text" name="advertisement_title" size="70"
         value="<?php echo $advertisement_title;?>" /></td>
   </tr>
   <tr>
      <td>Цена<br />
      <input type="text" name="advertisement_price" size="70"
         value="<?php echo $advertisement_price;?>" /></td>
   </tr>
   <tr>
      <td>Текст объявления<br />
      <textarea name="advertisement_text" rows="5" cols="53"><?php echo $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="<?php echo $advertisement_fio;?>" /></td>
   </tr>

   <tr>
      <td>Тел.<br />
      <input type="text" name="advertisement_phone" size="70"
         value="<?php echo $advertisement_phone;?>" /></td>
   </tr>

   <tr>
      <td>E-mail<br />
      <input type="text" name="advertisement_email" size="70"
         value="<?php echo $advertisement_email;?>" /></td>
   </tr>

   <?php

   // Получаем список валют, используемых в доске объявлений
   $result_currency = $shop->GetAllCurrency();
   ?>
   <tr>
      <td>Валюта<br />
      <select name="advertisement_currency">
      <?php

      while ($row_currency = mysql_fetch_assoc($result_currency))
      {
         ?>
         <option value="<?php echo $row_currency['shop_currency_id'];?>"><?php echo $row_currency['shop_currency_international_name'];?></option>
         <?php
      }
      ?>
      </select></td>
   </tr>
   <?php

   // Получаем список дополнительных свойств группы магазина
   $group_propertys_result = $shop->GetPropertiesOfGroup($current_group_id, false, $current_shop_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'] != 385 && $item_property['shop_list_of_properties_id'] != 129 && $item_property['shop_list_of_properties_id'] != to_int($GLOBALS['LA']['site_users_of_properties_id']) && ($item_property['shop_list_of_properties_type'] != 2 || $item_property['shop_list_of_properties_type'] == 2 && class_exists('lists')))
            {
               ?>
   <tr>
      <td><?php


      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<?php echo $item_property['shop_list_of_properties_id']?>"
         size="70"
         value="<?php echo htmlspecialchars(to_str($_REQUEST['shop_item_property'.$item_property['shop_list_of_properties_id']]))?>" />
         <?php

         break;
            }

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

         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<?php echo $item_property['shop_list_of_properties_id']?>">
         <?php

         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="<?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 ($_REQUEST['shop_item_property'.$item_property['shop_list_of_properties_id']]))
      {
         $checked = ' checked="" ';
      }
      else
      {
         $checked = '';
      }
      ?> <input type="checkbox"
         name="shop_item_property<?php echo $item_property['shop_list_of_properties_id']?>"
         <?php echo $checked?> /> <?php

         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<?php echo $item_property['shop_list_of_properties_id']?>"
         size="70" /> <?php

         break;
   }
      }
      ?></td>
   </tr>

   <?php

            }
         }
      }
   }
   ?>
   <tr>
      <td>
      <div style="clear: both; padding-top: 3px;">Контрольные цифры:</div>
      <div style="float: left"><img style="border: 1px solid #000000"
         src="/captcha.php?get_captcha=<?php echo $captcha_key?>&amp;height=30&amp;width=100"
         title="Код подтверждения" name="captcha" /></div>
      <div id="captcha" style="clear: both;"><img style="border: 0px"
         src="/hostcmsfiles/images/refresh.gif" /> <a
         href="javascript:void(0);"
         onclick="ReNewCaptcha(<?php echo $captcha_key?>, 30);return false;">Показать
      другое число</a></div>
      <div style="float: left; margin-left: 5px;"><input type="text"
         name="captcha_keystring" /> <input type="hidden" name="captcha_key"
         value="<?php echo $captcha_key?>" size="15" /></div>
      <div id="captcha" style="clear: both;">Введите число, которое указано
      выше.</div>
      </td>
   </tr>
   <tr>
      <td><input type="submit" name="add_advertisement" value="Отправить"
         onclick="return AjaxSendForm(callbackfunction_SendFormItem, '', this)" /></td>
   </tr>
</table>
</form>
</div>
   <?php

   $form_add_advertisement = ob_get_clean();

   $JsHttpRequest = new JsHttpRequest(SITE_CODING);

   $GLOBALS['_RESULT'] = array (
      'result' => $form_add_advertisement
   );

   echo $JsHttpRequest->LOADER;
   exit ();
}

// Обработка добавления объявления
if (isset ($_REQUEST['add_advertisement']))
{
   ob_start();

   $Captcha = new Captcha();

   if (isset ($_REQUEST['captcha_key']) && isset ($_REQUEST['captcha_keystring']) && $Captcha->ValidCaptcha($_REQUEST['captcha_key'], $_REQUEST['captcha_keystring']))
   {
      $param = array ();

      $param['shops_id'] = $current_shop_id;
      //$param['groups_id'] = $GLOBALS['shop_item_path']['group'];
      $param['groups_id'] = intval($_POST['group_id']);
      $param['name'] = htmlspecialchars(strip_tags(to_str($_POST['advertisement_title'])));
      $param['description'] = '';
      $param['shop_items_catalog_date_time'] = date('Y-m-d H:i:s');

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

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

      $price_val = str_replace(" ", "", to_str($_POST['advertisement_price']));

      $param['currency_id'] = intval($_POST['advertisement_currency']);
      $param['price'] = to_float($price_val);
      $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;

      if (class_exists("SiteUsers"))
      {
         /* Получаем id текущего пользователя сайта */
         $SiteUsers = & singleton('SiteUsers');
         $param['site_users_id'] = $SiteUsers->GetCurrentSiteUser();
      }
      else
      {
         $param['site_users_id'] = 0;
      }

      if (isset ($_FILES['advertisement_file']['name']))
      {
         $ext = $kernel->GetExtension($_FILES['advertisement_file']['name']);

         // Если расширение файла разрешено
         if (in_array(strtoupper($ext), $allow_ext))
         {
            $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($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'] = htmlspecialchars(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'] = htmlspecialchars(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'] = 385;
         $param['shop_properties_items_value'] = htmlspecialchars(strip_tags(to_str($_POST['advertisement_email'])));

         $shop->InsertPropertiesItem($param);

         // Получаем список дополнительных свойств раздела объявлений
         $group_propertys_result = $shop->GetPropertiesOfGroup($GLOBALS['shop_item_path']['group'], false, $current_shop_id);

         $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 = htmlspecialchars(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;

                     $ext = $kernel->GetExtension($_FILES['shop_item_property'.$group_propertys_result[$i]]['name']);

                     // Если расширение файла разрешено
                     if (in_array(strtoupper($ext), $allow_ext))
                     {
                        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
                        {
                           $shop_properties_items_file = '';
                           $property_value = '';
                        }

                        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 = '';
                        }
                     }
                     else
                     {
                        $shop_properties_items_file = '';
                        $property_value = '';
                        $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);
               }
            }
         }

         // Отправка письма администратору
         $message = "Доброе время суток, уважаемый Администратор!\n\nНа доску объявлений была добавлена запись:\n";
         $message .= "Автор: ".strip_tags(to_str($_POST['advertisement_fio']))."\n";
         $message .= "E-mail: ".strip_tags(to_str($_POST['advertisement_email']))."\n";
         $message .= "Доска объявлений: ".to_str($shop_row['shop_shops_name'])."\n";

         $shop_group_row = $shop->GetGroup($GLOBALS['shop_item_path']['group']);
         $message .= "Раздел доски объявлений: ".to_str($shop_group_row['shop_groups_name'])."\n";

         $DateClass = new DateClass();
         $date = date('Y-m-d H:i:s');
         $message .= "Дата: ".$DateClass->datetime_format($date)."\n";
         $message .= "IP-адрес: ".to_str($_SERVER['REMOTE_ADDR'])."\n";
         $message .= "Заголовок: ".htmlspecialchars(strip_tags(to_str($_POST['advertisement_title'])))."\n";
         $message .= "Текст объявления: ".htmlspecialchars(strip_tags(to_str($_POST['advertisement_text'])));

         $subject = 'Новое объявление';

         $kernel->SendMailWithFile(EMAIL_TO, EMAIL_TO, $subject, $message, array (), 'text/plain');
            
header("location: /adSign/complete/");

      }
   }
   else // Ввели неправильный код подтверждения
   {
      ?>
<div id="error">Вы ввели неправильный код подтверждения!</div>

<script type="text/javascript" language="JavaScript">
      var captcha_key_input = document.getElementsByName('captcha_key');

      if (captcha_key_input[0])
      {
         ReNewCaptcha(captcha_key_input[0].value, 30);
      }
      </script>
      <?php
   }

   $message = ob_get_clean();

   $JsHttpRequest = new JsHttpRequest(SITE_CODING);

   $GLOBALS['_RESULT'] = array (
      'message' => $message
   );

   echo $JsHttpRequest->LOADER;
   exit ();
}

/* Если путь существует */
if ($GLOBALS['shop_item_path'])
{
   $group_path = '';

   // получаем массив с деревом от текущей группы до корня
   $mas_groups_to_root = $shop->GetShopGroupsToRoot($GLOBALS['shop_item_path']['group'], $current_shop_id);

   // получаем данные о группе
   $row_group = $shop->GetGroup($GLOBALS['shop_item_path']['group']);

   // получаем данные из seo - полей для групп
   $seo_title = trim($row_group['shop_groups_seo_title']);
   $seo_description = trim($row_group['shop_groups_seo_description']);
   $seo_keywords = trim($row_group['shop_groups_seo_keywords']);

   // цикл по массиву с деревом для формирования пути по группам
   $count_groups = count($mas_groups_to_root);

   for ($i = $count_groups -1; $i >= 0; $i--)
   {

      if ($i < $count_groups -1)
      {
         $group_path .= ' - ';
      }

      if (trim($mas_groups_to_root[$i]['shop_groups_seo_title']) == '')
      {
         $group_path .= $mas_groups_to_root[$i]['shop_groups_name'];
      }
      else
      {
         $group_path .= $mas_groups_to_root[$i]['shop_groups_seo_title'];
      }
   }

   $item_name = '';

   /* Если вывод информационного элемента */

   if ($GLOBALS['shop_item_path']['item'])
   {
      // получаем данные о товаре
      $row_item = $shop->GetItem($GLOBALS['shop_item_path']['item']);

      // имя элемента
      $item_name = $row_item['shop_items_catalog_name'];

      // проверяем если seo_title непустой, то в заголовок страницы подставляем его

      if (trim($row_item['shop_items_catalog_seo_title']) != '')
      {
         $item_name = trim($row_item['shop_items_catalog_seo_title']);
      }

      if ($group_path != '')
      {
         $item_name = ' - '.$item_name;
      }
   }

   /* формируем заголовок страницы */
   $new_title = $group_path.$item_name;
}
else
{
   // Элемент/группа не найдены, возвращаем 404 ошибку.
   ShowHeader404();

   // Запрещаем отдавать 200-й заголовок
   if (!defined('IS_ERROR_404'))
   {
      define('IS_ERROR_404', true);
   }
   
   $site = & singleton('site');
   $site_row = $site->GetSite(CURRENT_SITE);

   if ($site_row['site_error404'])
   {
      $structure = & singleton('Structure');

      $structure_id = intval($site_row['site_error404']);
      $structure_row = $structure->GetStructureItem($structure_id);

      // Если тип - страница
      if ($structure_row['structure_type'] == 0)
      {
         $document = & singleton('documents');

         $documents_version_row = $document->GetCurrentDocumentVersion($structure_row['documents_id']);
         $documents_version_id = $documents_version_row['documents_version_id'];

         // Текущая страница
         $kernel->set_current_page(PAGE_DIR . 'documents' . $documents_version_id . '.html');
      }
      elseif ($structure_row['structure_type'] == 1)
      {
         // Текущая страница - модуль
         $kernel->set_current_page(CMS_FOLDER . 'structure/Modules/Module' . $structure_id . '.php');
      }
      else
      {
         /* типовая динамическая страница */
         $lib_id = intval($structure_row['lib_id']);

         /* Получаем параметры типовой динамической страницы */
         $lib = new lib();
         $GLOBALS['LA'] = $lib->LoadLibPropertiesValue($lib_id, $structure_id);

         $kernel->set_current_page(CMS_FOLDER . "lib/lib_$lib_id/lib_$lib_id.php");
      }

      // Шаблон вывода для страницы
      $kernel->set_current_page_data_template($structure_row['data_templates_id']);
   }
   elseif (to_str($_SERVER['REQUEST_URI']) != '/')
   {
      header('Location: /');

      // Прекращаем выполнение
      exit();
   }
}

if (!empty ($new_title))
{
   // отображаем группу

   if (!isset ($row_item))
   {
      // Заголовок для группы задан

      if (!empty ($seo_title))
      {
         $kernel->set_title($seo_title);
      }
      else // Описание для группы не задано
      {
         $kernel->set_title($new_title);
      }

      // Описание для группы задано

      if (!empty ($seo_description))
      {
         $kernel->set_description($seo_description);
      }
      else // Описание для группы не задано
      {
         $kernel->set_description($new_title);
      }
      // Ключевые слова для группы заданы

      if (!empty ($seo_keywords))
      {
         $kernel->set_keywords($seo_keywords);
      }
      else // Ключевые слова для группы не заданы
      {
         $kernel->set_keywords($new_title);
      }
   }
   else // отображаем элемент
   {
      // Описание для элемента задано

      if (!empty ($row_item['shop_items_catalog_seo_title']))
      {
         $kernel->set_title(trim($row_item['shop_items_catalog_seo_title']));
      }
      else // Описание для элемента не задано
      {
         $kernel->set_title($new_title);
      }

      // Описание для элемента задано

      if (!empty ($row_item['shop_items_catalog_seo_description']))
      {
         $kernel->set_description(trim($row_item['shop_items_catalog_seo_description']));
      }
      else // Описание для элемента не задано
      {
         $kernel->set_description($new_title);
      }

      // Ключевые слова для элемента заданы

      if (!empty ($row_item['shop_items_catalog_seo_keywords']))
      {
         $kernel->set_keywords(trim($row_item['shop_items_catalog_seo_keywords']));
      }
      else // Ключевые слова для элемента не заданы
      {
         $kernel->set_keywords($new_title);
      }
   }
}
?>
#
Re: Нестандартная форма добавления обьявлений.
Подскажите хоть в какую сторону копать, судя по тому что обьявление все же добавляется, форма отправляется штатно, но почему не заливаются картинки? Есть ли возможность дебага в какой бы то ни было форме?
#
Re: Нестандартная форма добавления обьявлений.
wingedlion1 писал(а):
Есть ли возможность дебага в какой бы то ни было форме?
А форма дебага тут почти везде одна.
echo '<pre>';
в самом начале ТДС, а потом в каждом сомнительном месте выводить сомнительные переменные, с помощью, либо
echo 'variable_name = ' . $variable_name . "\n";
либо
print_r($variable_name);
, и смотреть где что не так.
Например, в самом начале обработки добавления выводите
print_r($_POST)
и смотрите все ли передалось. Если не все, то ищите причину, если все то переходите к следующему шагу обработки и выводите там участвующие в деле переменные, например распечатываете массив $param, передаваемый в метод InsertPropertiesItem($param) и смотрите все ли туда передалось из того что должно было. А скорее всего не все, тогда значит ошибка где-то между этими двумя выводами переменных.

А по существу вопроса ничего не скажу - своих форм к доске не прикручивал.
Заказов не беру. Консультирую редко.
#
Re: Нестандартная форма добавления обьявлений.
если убрать header(...),  а как известно он и сам не сработает если произвести какой нибудь вывод до него, то попадаю на пустую страницу с одним словом "unknown" (((  
Модератор
#
Re: Нестандартная форма добавления обьявлений.
wingedlion1,
Только по коду боюсь на форуме помочь не удастся, нужно в поддержку обращаться.
#
Re: Нестандартная форма добавления обьявлений.
Обратился в понедельник, пока не отвечают.
#
Re: Нестандартная форма добавления обьявлений.
Проблема с картинкой решилась, я забыл указать "multipart/formdata" в форме.
Авторизация