$arFields["arFILTER_ANSWER_TEXT"] = $_REQUEST['arFILTER_ANSWER_TEXT']; $arFields["arFILTER_ANSWER_VALUE"] = $_REQUEST['arFILTER_ANSWER_VALUE']; } else { $arFields["arFILTER_FIELD"] = $_REQUEST['arFILTER_FIELD']; } /* print "<pre>"; print_r($arFields); print "</pre>"; die(); */ if (strlen($strError) <= 0) { $res = intval(CFormField::Set($arFields, $ID)); if ($res > 0) { if (intval($ID) > 0) { CFormValidator::Clear($ID); } $ID = $res; // process field validators if ($additional != "Y") { $sValStructSerialized = $_REQUEST["VAL_STRUCTURE"]; if (CheckSerializedData($sValStructSerialized)) { $arValStructure = unserialize($sValStructSerialized); if (count($arValStructure) > 0) { CFormValidator::SetBatch($WEB_FORM_ID, $ID, $arValStructure); } } } if (strlen($strError) <= 0) { if (strlen($_REQUEST['save']) > 0) { LocalRedirect("form_field_list.php?WEB_FORM_ID=" . $WEB_FORM_ID . "&additional=" . $additional . "&lang=" . LANGUAGE_ID);
/** * <p>Удаляет <a href="http://dev.1c-bitrix.ru/api_help/form/terms.php#question">вопрос</a>/<a href="http://dev.1c-bitrix.ru/api_help/form/terms.php#field">поле</a> и все ответы на него из <a href="http://dev.1c-bitrix.ru/api_help/form/terms.php#result">результатов</a>. Возвращает "true" в случае положительного результата, и "false" - в противном случае.</p> * * * @param int $field_id ID <a href="http://dev.1c-bitrix.ru/api_help/form/terms.php#question">вопроса</a>/<a * href="http://dev.1c-bitrix.ru/api_help/form/terms.php#field">поля</a>. * * @param string $check_rights = "Y" Флаг необходимости проверки <a * href="http://dev.1c-bitrix.ru/api_help/form/terms.php#permissions">прав</a> текущего * пользователя. Возможны следующие значения: <ul> <li> <b>Y</b> - права * необходимо проверить; </li> <li> <b>N</b> - право не нужно проверять. </li> * </ul> Для успешного выполнения данной операции необходимо иметь <a * href="http://dev.1c-bitrix.ru/api_help/form/terms.php#permissions#form">право</a> <b>[30] Полный * доступ</b> на веб-форму, к которой принадлежит * <i>field_id</i>.<br><br>Параметр необязательный. По умолчанию - "Y" (права * необходимо проверить). * * @return bool * * <h4>Example</h4> * <pre> * <? * $FIELD_ID = 140; * // удалим вопрос #140 * if (<b>CFormField::Delete</b>($FIELD_ID)) * { * echo "Вопрос #140 удален."; * } * else * { * // выведем текст ошибки * global $strError; * echo $strError; * } * ?> * </pre> * * * <h4>See Also</h4> * <ul> <li> <a href="http://dev.1c-bitrix.ru/api_help/form/classes/cform/delete.php">CForm::Delete</a> </li> <li> <a * href="http://dev.1c-bitrix.ru/api_help/form/classes/cformanswer/delete.php">CFormAnswer::Delete</a> </li> <li> <a * href="http://dev.1c-bitrix.ru/api_help/form/classes/cformstatus/delete.php">CFormStatus::Delete</a> </li> <li> <a * href="http://dev.1c-bitrix.ru/api_help/form/classes/cformresult/delete.php">CFormResult::Delete</a> </li> </ul><a * name="examples"></a> * * * @static * @link http://dev.1c-bitrix.ru/api_help/form/classes/cformfield/delete.php * @author Bitrix */ public static function Delete($ID, $CHECK_RIGHTS = "Y") { global $DB, $strError; $err_mess = CAllFormField::err_mess() . "<br>Function: Delete<br>Line: "; $ID = intval($ID); $rsField = CFormField::GetByID($ID); if ($arField = $rsField->Fetch()) { $WEB_FORM_ID = intval($arField["FORM_ID"]); $F_RIGHT = $CHECK_RIGHTS != "Y" ? 30 : CForm::GetPermission($WEB_FORM_ID); if ($F_RIGHT >= 30) { // очищаем результаты по данному полю CFormField::Reset($ID, $CHECK_RIGHTS); // clear field validators CFormValidator::Clear($ID); // удаляем изображения поля $strSql = "SELECT IMAGE_ID FROM b_form_field WHERE ID='{$ID}' and IMAGE_ID>0"; $z = $DB->Query($strSql, false, $err_mess . __LINE__); while ($zr = $z->Fetch()) { CFile::Delete($zr["IMAGE_ID"]); } // удаляем варианты ответов на поле формы $DB->Query("DELETE FROM b_form_answer WHERE FIELD_ID='{$ID}'", false, $err_mess . __LINE__); // удаляем привязку к типам фильтра $DB->Query("DELETE FROM b_form_field_filter WHERE FIELD_ID='{$ID}'", false, $err_mess . __LINE__); // удаляем само поле $DB->Query("DELETE FROM b_form_field WHERE ID='{$ID}'", false, $err_mess . __LINE__); return true; } else { $strError .= GetMessage("FORM_ERROR_ACCESS_DENIED") . "<br>"; } } else { $strError .= GetMessage("FORM_ERROR_FIELD_NOT_FOUND") . "<br>"; } return false; }