コード例 #1
0
 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;
 }