function Set($arFields, $ANSWER_ID = false) { $err_mess = CAllFormAnswer::err_mess() . "<br>Function: Set<br>Line: "; global $DB, $USER, $strError, $APPLICATION; $ANSWER_ID = intval($ANSWER_ID); if (CFormAnswer::CheckFields($arFields, $ANSWER_ID)) { $arFields_i = array(); $arFields_i["TIMESTAMP_X"] = $DB->GetNowFunction(); if (is_set($arFields, "MESSAGE")) { $arFields_i["MESSAGE"] = "'" . $DB->ForSql($arFields["MESSAGE"], 2000) . "'"; } if (is_set($arFields, "VALUE")) { $arFields_i["VALUE"] = "'" . $DB->ForSql($arFields["VALUE"], 2000) . "'"; } if (is_set($arFields, "ACTIVE")) { $arFields_i["ACTIVE"] = $arFields["ACTIVE"] == "Y" ? "'Y'" : "'N'"; } if (is_set($arFields, "C_SORT")) { $arFields_i["C_SORT"] = "'" . intval($arFields["C_SORT"]) . "'"; } if (is_set($arFields, "FIELD_TYPE")) { $arFields_i["FIELD_TYPE"] = "'" . $DB->ForSql($arFields["FIELD_TYPE"], 255) . "'"; } if (is_set($arFields, "FIELD_WIDTH")) { $arFields_i["FIELD_WIDTH"] = "'" . intval($arFields["FIELD_WIDTH"]) . "'"; } if (is_set($arFields, "FIELD_HEIGHT")) { $arFields_i["FIELD_HEIGHT"] = "'" . intval($arFields["FIELD_HEIGHT"]) . "'"; } if (is_set($arFields, "FIELD_PARAM")) { $arFields_i["FIELD_PARAM"] = "'" . $DB->ForSql($arFields["FIELD_PARAM"], 2000) . "'"; } if ($ANSWER_ID > 0) { $DB->Update("b_form_answer", $arFields_i, "WHERE ID='" . $ANSWER_ID . "'", $err_mess . __LINE__); // обновим все результаты для данного ответа $arFields_u = array(); $arFields_u["ANSWER_TEXT"] = $arFields_i["MESSAGE"]; $arFields_u["ANSWER_VALUE"] = $arFields_i["VALUE"]; if (intval($CURRENT_FIELD_ID) > 0) { $str = " FIELD_ID = " . intval($CURRENT_FIELD_ID) . " and "; } $DB->Update("b_form_result_answer", $arFields_u, "WHERE " . $str . " ANSWER_ID='" . $ANSWER_ID . "'", $err_mess . __LINE__); } else { if (intval($arFields["QUESTION_ID"]) > 0) { $arFields["FIELD_ID"] = $arFields["QUESTION_ID"]; } else { $arFields["QUESTION_ID"] = $arFields["FIELD_ID"]; } $arFields_i["FIELD_ID"] = "'" . intval($arFields["QUESTION_ID"]) . "'"; $ANSWER_ID = $DB->Insert("b_form_answer", $arFields_i, $err_mess . __LINE__); $ANSWER_ID = intval($ANSWER_ID); } return $ANSWER_ID; } return false; }