/** * <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; }
function Reset($ID, $CHECK_RIGHTS = "Y") { global $DB, $strError; $err_mess = CAllForm::err_mess() . "<br>Function: Reset<br>Line: "; $ID = intval($ID); $F_RIGHT = $CHECK_RIGHTS != "Y" ? 30 : CForm::GetPermission($ID); if ($F_RIGHT >= 30) { // обнул¤ем пол¤ формы $rsFields = CFormField::GetList($ID, "ALL", $by, $order, array(), $is_filtered); while ($arField = $rsFields->Fetch()) { CFormField::Reset($arField["ID"], "N"); } // удал¤ем результаты данной формы $DB->Query("DELETE FROM b_form_result WHERE FORM_ID='{$ID}'", false, $err_mess . __LINE__); return true; } else { $strError .= GetMessage("FORM_ERROR_ACCESS_DENIED") . "<br>"; } return false; }
function ResetField($WEB_FORM_ID, $ID, $CHECK_RIGHTS = "Y") { return CFormField::Reset($ID, $CHECK_RIGHTS); }