コード例 #1
0
     $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);
コード例 #2
0
 /**
  * <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>
  * &lt;?
  * $FIELD_ID = 140;
  * // удалим вопрос #140
  * if (<b>CFormField::Delete</b>($FIELD_ID))
  * {
  *     echo "Вопрос #140 удален.";
  * }
  * else
  * {
  *     // выведем текст ошибки
  *     global $strError;
  *     echo $strError;
  * }
  * ?&gt;
  * </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;
 }