function ResetResult($ID, $WEB_FORM_ID, $DELETE_IMAGES = true, $DELETE_ADDITIONAL = "N", $arrException = array()) { return CFormResult::Reset($ID, $DELETE_IMAGES, $DELETE_ADDITIONAL, $arrException); }
/** * <p>Удаляет указанный <a href="http://dev.1c-bitrix.ru/api_help/form/terms.php#result">результат</a>. В случае успеха функция возвращает "true", иначе - "false".</p> * * * * * @param int $result_id ID <a href="http://dev.1c-bitrix.ru/api_help/form/terms.php#result">результата</a>. * * * * @param string $check_rights = "Y" Флаг необходимости проверки прав текущего пользователя. * Возможны следующие значения: <ul> <li> <b>Y</b> - права необходимо * проверить; </li> <li> <b>N</b> - права не нужно проверять. </li> </ul> Для * успешного удаления <a * href="http://dev.1c-bitrix.ru/api_help/form/terms.php#result">результата</a> необходимо * обладать следующими <a * href="http://dev.1c-bitrix.ru/api_help/form/permissions.php">правами</a>: <ol> <li>На веб-форму, к * которой принадлежит редактируемый результат: <br><br><b>[20] Работа со * всеми результатами в соответствии с их статусами</b> <br><br>или, в * случае, если вы являетесь создателем удаляемого результата, * достаточно права <br><br><b>[15] Работа со своим результатом в * соответствии с его статусом.</b> <br> </li> <li>На статус в котором * находится редактируемый результат необходимо иметь право: * <br><br><b>[DELETE] удаление.</b> </li> </ol> Параметр необязательный. По * умолчанию - "Y" (права необходимо проверить). * * * * @return bool * * * <h4>Example</h4> * <pre> * <? * $RESULT_ID = 189; // ID результата * * // удалим результат с проверкой прав текущего пользователя * if (<b>CFormResult::Delete</b>($RESULT_ID)) * { * echo "Результат # ".$RESULT_ID." успешно удален."; * } * 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/cformfield/delete.php">CFormField::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> </ul><a * name="examples"></a> * * * @static * @link http://dev.1c-bitrix.ru/api_help/form/classes/cformresult/delete.php * @author Bitrix */ public static function Delete($RESULT_ID, $CHECK_RIGHTS="Y") { // echo $RESULT_ID; exit(); global $DB, $USER, $APPLICATION, $strError; $strError = ''; $err_mess = (CAllFormResult::err_mess())."<br>Function: Delete<br>Line: "; $RESULT_ID = intval($RESULT_ID); $strSql = "SELECT FORM_ID FROM b_form_result WHERE ID='".$RESULT_ID."'"; $q = $DB->Query($strSql,false,$err_mess.__LINE__); if ($qr = $q->Fetch()) { // rights check $F_RIGHT = ($CHECK_RIGHTS!="Y") ? 20 : CForm::GetPermission($qr["FORM_ID"]); if ($F_RIGHT>=20) $RIGHT_OK = "Y"; else { $strSql = "SELECT USER_ID FROM b_form_result WHERE ID='".$RESULT_ID."'"; $z = $DB->Query($strSql,false,$err_mess.__LINE__); $zr = $z->Fetch(); if ($F_RIGHT>=15 && intval($USER->GetID())==$zr["USER_ID"]) $RIGHT_OK = "Y"; } if ($RIGHT_OK=="Y") { // rights check by status if ($CHECK_RIGHTS == 'Y') { $arrRESULT_PERMISSION = CFormResult::GetPermissions($RESULT_ID, $v); $RIGHT_OK = in_array("DELETE", $arrRESULT_PERMISSION) ? 'Y' : 'N'; } if ($RIGHT_OK=="Y") // delete rights ok { $dbEvents = GetModuleEvents('form', 'onBeforeResultDelete'); while ($arEvent = $dbEvents->Fetch()) { ExecuteModuleEventEx($arEvent, array($qr["FORM_ID"], $RESULT_ID, $CHECK_RIGHTS)); if ($ex = $APPLICATION->GetException()) { $strError .= $ex->GetString().'<br />'; $APPLICATION->ResetException(); } } if (strlen($strError) <= 0) { CForm::ExecHandlerBeforeChangeStatus($RESULT_ID, "DELETE"); if (CFormResult::Reset($RESULT_ID, true, "Y")) { // delete result $DB->Query("DELETE FROM b_form_result WHERE ID='$RESULT_ID'", false, $err_mess.__LINE__); return true; } } } } else $strError .= GetMessage("FORM_ERROR_ACCESS_DENIED")."<br>"; } else $strError .= GetMessage("FORM_ERROR_RESULT_NOT_FOUND")."<br>"; return false; }
function Delete($RESULT_ID, $CHECK_RIGHTS = "Y") { global $DB, $USER, $strError; $err_mess = CAllFormResult::err_mess() . "<br>Function: Delete<br>Line: "; $RESULT_ID = intval($RESULT_ID); $strSql = "SELECT FORM_ID FROM b_form_result WHERE ID='" . $RESULT_ID . "'"; $q = $DB->Query($strSql, false, $err_mess . __LINE__); if ($qr = $q->Fetch()) { // проверим общие права $F_RIGHT = $CHECK_RIGHTS != "Y" ? 20 : CForm::GetPermission($qr["FORM_ID"]); if ($F_RIGHT >= 20) { $RIGHT_OK = "Y"; } else { $strSql = "SELECT USER_ID FROM b_form_result WHERE ID='" . $RESULT_ID . "'"; $z = $DB->Query($strSql, false, $err_mess . __LINE__); $zr = $z->Fetch(); if ($F_RIGHT >= 15 && intval($USER->GetID()) == $zr["USER_ID"]) { $RIGHT_OK = "Y"; } } if ($RIGHT_OK == "Y") { // проверим право на результат в зависимости от статуса результата $arrRESULT_PERMISSION = CFormResult::GetPermissions($RESULT_ID, $v); if (in_array("DELETE", $arrRESULT_PERMISSION)) { CForm::ExecHandlerBeforeChangeStatus($RESULT_ID, "DELETE"); if (CFormResult::Reset($RESULT_ID, true, "Y")) { // удаляем результат $DB->Query("DELETE FROM b_form_result WHERE ID='{$RESULT_ID}'", false, $err_mess . __LINE__); return true; } } } else { $strError .= GetMessage("FORM_ERROR_ACCESS_DENIED") . "<br>"; } } else { $strError .= GetMessage("FORM_ERROR_RESULT_NOT_FOUND") . "<br>"; } return false; }