Добавление свойств к гостевой книге

#
Добавление свойств к гостевой книге
Стоит задача прикрутить кучу дополнительных к гостевой книге, ок, сказано - сделано. Создаём допсвойства, редактируем ТДС. С текстовыми полями всё ок, а вот с полями типа "Файл" (в данном случае необходимо прикрутить возможность добавления пользователем 3 дополнительных картинок). С добавлением картинок с формы сделал, в админке могу видеть сами картинки, загружается всё почти корректно, но вот в XML 3 допсвойства с картинками добавлять в упор не хочет, не могу разобраться почему такая несправедливость.

собственно, мои добавления к ТДС.
С созданием малой картинки тоже не всё в порядке "Ошибка уменьшения малого изображения до максимально допустимого размера. Вероятной причиной является указание размера изображения меньше 0.". Где-то есть ошибка, только не могу понять где. Кто сталкивался, поделитесь опытом.

               // Вставляем запись
               $question_id = $InformationSystem->InsertInformationItems(0,   0,
               $InformationSystem_id, $group_id, $date, $subj, '',
               $item_status, $text, '', 0, to_str($_SERVER['REMOTE_ADDR']), '', 1, '', '', '', '', $param);

               $row = $InformationSystem->GetInformationSystemItems($question_id);
               //****************************************************
               foreach($_FILES as $name => $value) {
                  $information_system = & singleton('InformationSystem');
                  $kernel = & singleton('kernel');
                  $Image = & singleton('Image');
                  $DateClass = & singleton('DateClass');
                  $file = & singleton('File');
                  $type = 1;
                  
                  $gen_id = rand(1, 999);
                  
                  if ($name == "upload_photo") {
                     $new_file_name = "information_items";
                  } else {
                     $new_file_name = "information_items_property";
                  }
                  
                  $information_system_info = $information_system->GetInformationSystem($InformationSystem_id);
                  
                  // Формируем путь к папке информационного элемента по идентификатору информационного элемента
                  $item_dir = $InformationSystem->GetInformationItemDir($question_id);

                  $uploaddir = CMS_FOLDER . $item_dir;

                  $information_item_image = '';
                  $information_item_small_image = '';

                  if (isset($_FILES[$name]['tmp_name']) && $_FILES[$name]['size'])
                  {
                     // Создаем папку для информационного элемента
                     $kernel->PathMkdir($item_dir);

                     $file_name = $file->PathCorrection($_FILES[$name]['name']);

                     // Не преобразовываем название загружаемого файла
                     if ($information_system_info['information_systems_file_name_conversion'] == 0)
                     {
                        $information_item_image = $uploaddir . $file_name;

                        if (isset ($_POST['used_big_image_information_item_image']))
                        {
                           $information_item_small_image = $uploaddir . 'small_' . $file_name;
                        }
                     }
                     else // Преобразовываем название загружаемого файла
                     {
                        // Определяем расширение файла
                        $exp = mb_strtolower($kernel->GetExtension($_FILES[$name]['name']));

                        $information_item_image = $uploaddir . $new_file_name .'_'.$gen_id . $question_id . '.' . $exp;

                        if (isset ($_POST['used_big_image_information_item_image']))
                        {
                           $information_item_small_image = $uploaddir . 'small_'.$new_file_name.'_'.$gen_id . $question_id . '.' . $exp;
                        }
                     }
                  }

                  // Задано малое изображение и при этом не задано создание малого изображения
                  // из большого или задано создание малого изображения из большого и
                  // при этом не задано большое изображение.
                  
                  if (isset ($_FILES[$name]['tmp_name']) && $_FILES[$name]['size'])
                  {      
                     // Создаем папку для информационного элемента
                     $kernel->PathMkdir($item_dir);

                     // Определяем расширение файла.
                     $exp = mb_strtolower($kernel->GetExtension($_FILES[$name]['name']));

                     // Определяем создавать ли большое изображение из малого
                     // тип загружаемого файла является допустимым для загрузки файла.
                     if (in_array(mb_strtoupper($exp), $kernel->available_extantions))
                     {
                        // Добавление новой записи
                        if ($type == 0)
                        {
                           // Не задано большое изображение, создаем бальшое изображение из малого
                           if (!(isset ($_FILES[$name]['tmp_name']) && $_FILES[$name]['size']))
                           {
                              $create_big_image = true;
                           }
                           // Задано большое изображение
                           else
                           {
                              $create_big_image = false;
                           }
                        }
                        // Редактирование записи
                        else
                        {
                           // Определяем существует ли большое изображение для данного инфоэлемента
                           $mas_information_item = $information_system->GetInformationSystemItem($question_id);

                           // Для инфоэлемента ранее задано изображение
                           if ($mas_information_item['information_items_image'] != '')
                           {
                              // Существует ли большое изображение (true - существует, false - не существует (по умолчанию))
                              $param['isset_big_image'] = true;
                              $create_big_image = false;
                           }
                           else // Для инфоэлемента ранее не задано большое изображение - создаем из малого
                           {
                              if (empty ($information_item_image))
                              {
                                 $create_big_image = true;
                              }
                              else
                              {
                                 $create_big_image = false;
                              }
                           }
                        }
                     }
                     // Тип загружаемого файла является недопустимым для загрузки файла
                     else
                     {
                        $create_big_image = false;
                     }

                     $file_name = $file->PathCorrection($_FILES[$name]['name']);

                     if (in_array(mb_strtoupper($exp), $kernel->available_extantions))
                     {
                        // Не преобразовываем название файла
                        if ($information_system_info['information_systems_file_name_conversion'] == 0)
                        {
                           // Создаем большое изображение из малого
                           if ($create_big_image)
                           {
                              $information_item_image = $uploaddir . $file_name;
                              $information_item_small_image = $uploaddir . 'small_' . $file_name;
                           }
                           else
                           {
                              $information_item_small_image = $uploaddir . $file_name;
                           }
                        }
                        else
                        {
                           $information_item_small_image = $uploaddir . 'small_'.$new_file_name.'_' .$gen_id . $question_id . '.' . $exp;

                           if ($create_big_image)
                           {
                              $information_item_image = $uploaddir . $new_file_name .'_' .$gen_id . $question_id . '.' . $exp;
                           }
                        }
                     }
                     else
                     {
                        if ($create_big_image)
                        {
                           $information_item_image = '';
                        }

                        if ($information_system_info['information_systems_file_name_conversion'] == 0)
                        {
                           $information_item_small_image = $uploaddir . $file_name;
                        }
                        else
                        {
                           $information_item_small_image = $uploaddir . 'small_'.$new_file_name.'_' .$gen_id . $question_id . '.' . $exp;
                        }
                     }
                  }

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

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

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

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

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

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

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

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

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

                  $information_system_dir = CMS_FOLDER . UPLOADDIR . 'information_system_' . $InformationSystem_id . '/';

                  // Сохранять пропорции изображения для большого изображения
                  $param['preserve_aspect_ratio_for_big_image'] = isset ($_POST['big_image_preserve_aspect_ratio_information_item_image']);

                  // Сохранять пропорции изображения для малого изображения
                  $param['preserve_aspect_ratio_for_small_image'] = isset ($_POST['small_image_preserve_aspect_ratio_information_item_image']);
                  
                  $result = $kernel->AdminLoadFiles($param);
                  
                  if ($name == 'upload_photo') {
                     $param_img = array();
                     $param_img['information_items_id'] = $question_id;
                     $param_img['information_systems_id'] = $InformationSystem_id;
                     $param_img['information_groups_id'] = $group_id;
                     $param_img['information_items_image'] = 'information_items_'.$gen_id .$question_id.'.'.$exp;
                     $InformationSystem->InsertInformationItem($param_img);
                     //$InformationSystem->InsertInformationPropertysItems(0, 0, 17, $question_id, '', 'information_items_'.$name.'_'.$question_id.'.'.$exp);
                  } elseif ($name == 'upload_photo_2') {
                     $InformationSystem->InsertInformationPropertysItems(0, 0, 21, $question_id, '', 'information_items_property_'.$gen_id .$question_id.'.'.$exp);
                  } elseif ($name == 'upload_photo_3') {
                     $InformationSystem->InsertInformationPropertysItems(0, 0, 22, $question_id, '', 'information_items_property_'.$gen_id.$question_id.'.'.$exp);
                  } elseif ($name == 'upload_photo_4') {
                     $InformationSystem->InsertInformationPropertysItems(0, 0, 23, $question_id, '', 'information_items_property_'.$gen_id.$question_id.'.'.$exp);
                  }
               }
            
               //****************************************************
#
Re: Добавление свойств к гостевой книге
я больше никогда не буду копипастить чужой код не разобравшись в нём я больше никогда не буду копипастить чужой код не разобравшись в нём я больше никогда не буду копипастить чужой код не разобравшись в нём я больше никогда не буду копипастить чужой код не разобравшись в нём я больше никогда не буду копипастить чужой код не разобравшись в нём я больше никогда не буду копипастить чужой код не разобравшись в нём
Авторизация