Exemplo n.º 1
0
 /**
  * protected функция производит редактирование данных в таблице БД - включая данные сервисных полей
  * Производит запись в таблицу подписки, если необходимо
  *
  * @param array $arrBindFields - массив полей обязательных для заполнения
  * @param array $arrNoBindFields - массив полей не обязательных для заполнения
  * @param array $arrServiceFields - массив сервисных полей
  * @param array $arrFieldsXmlData - массив полей данные которых храняться в XML-формате
  *
  * @return bool
  */
 protected function editAnnounceService(&$arrBindFields, &$arrNoBindFields, &$arrServiceFields, &$arrFieldsXmlData = false)
 {
     $typeAnnounce = $this->retTableName();
     $arrServiceFields['unikey'] = strings::getUnikey($arrBindFields);
     if (is_array($arrFieldsXmlData)) {
         $this->formXmlData($arrFieldsXmlData);
         $arrServiceFields['xml_data'] =& $this->arrServiceFields['xml_data'];
     }
     if (!empty($arrBindFields['image']) && !$this->imageProcessing($typeAnnounce, $arrBindFields['image'])) {
         return false;
     } elseif (!empty($arrNoBindFields['image']) && !$this->imageProcessing($typeAnnounce, $arrNoBindFields['image'])) {
         return false;
     }
     return !$this->setAnnounceSubj($arrBindFields, $arrNoBindFields, $arrServiceFields) || !$this->editEntry() ? false : true;
 }
Exemplo n.º 2
0
 }
 // END Блок валидации данных переданных из формы
 // очищаем предупреждение о платности услуги
 if (isset($arrWarnings['payment'])) {
     unset($arrWarnings['payment']);
 }
 // проверяем есть ли ошибки
 if (!empty($arrWarnings)) {
     // инициируем необходимые данные для отображения формы анкеты (исправление ошибок)
     $smarty->assignByRef('arrBindFields', $_POST['arrBindFields']);
     $smarty->assignByRef('arrNoBindFields', $_POST['arrNoBindFields']);
     $smarty->assignByRef('arrFieldsXmlData', $_POST['arrFieldsXmlData']);
 } else {
     // иначе, ошибок нет, обрабатываем полученные данные
     // проверяем, существует ли объявление с таким же уникальным ключом (дубль)
     if (!empty($arrActPage['add']) && $resume->issetAnnounce(strings::getUnikey($_POST['arrBindFields']))) {
         // отключаем отображение формы анкеты
         $arrActPage['add'] = false;
         // сообщаем пользователю об ошибке (дублирующее объявление)
         $arrErrors[] = ERROR_ANNOUNCE_ISSET;
     } elseif (CONF_ANNOUNCE_PREVIEW && !isset($_POST['save'])) {
         // отключаем отображение формы анкеты
         $arrActPage[$currAction] = false;
         // инициируем необходимые данные для отображения формы предпросмотра
         $arrActPage['preview'] = true;
         // инициируем "Наименование страницы" отображаемое в заголовке формы
         $arrNamePage[] = array('name' => FORM_PREVIEW_ANNOUNCE_HEAD, 'link' => false);
         $return_data = array('arrBindFields' => &$_POST['arrBindFields'], 'arrNoBindFields' => &$_POST['arrNoBindFields'], 'arrFieldsXmlData' => &$_POST['arrFieldsXmlData']);
         // парсим возвращаемые данные - формирование массива для заполнения скрытых полей формы предпросмотра
         tools::arrayMultyParser($return_data, $hidden_fields);
         // обрабатываем html-код полученный из формы