124 public static function GetDataByID($RESULT_ID, $arrFIELD_SID, &$arrRES, &$arrANSWER)
128 $arrReturn =
array();
129 $RESULT_ID = intval($RESULT_ID);
131 if ($arrRES =
$z->Fetch())
134 if (is_array($arrFIELD_SID) &&
count($arrFIELD_SID)>0)
137 foreach($arrFIELD_SID as $field)
$str .=
",'".$DB->ForSql($field,50).
"'";
139 if (
$str <> '') $s =
"and SID in ($str)";
141 $strSql =
"SELECT ID, SID, SID as VARNAME FROM b_form_field WHERE FORM_ID='".$arrRES[
"FORM_ID"].
"' " . $s;
142 $q =
$DB->Query($strSql);
143 while ($qr = $q->Fetch())
145 $arrFIELDS[$qr[
"ID"]] = $qr[
"SID"];
147 if (is_array($arrFIELDS)) $arrKeys = array_keys($arrFIELDS);
150 foreach ($arrAnswers[$RESULT_ID] as $fid => $arrAns)
152 if (is_array($arrKeys))
154 if (in_array($fid,$arrKeys))
156 $sid = $arrFIELDS[$fid];
157 $arrANSWER[$sid] = $arrAns;
158 $arrA = array_values($arrAns);
159 foreach($arrA as
$arr) $arrReturn[$sid][] =
$arr;
166 if (is_array($arrANSWER)) reset($arrANSWER);
167 if (is_array($arrReturn)) reset($arrReturn);
168 if (is_array($arrRES)) reset($arrRES);
182 $additional = ($GET_ADDITIONAL==
"Y") ?
"ALL" :
"N";
184 $WEB_FORM_ID =
CForm::GetDataByID($arrResult[
"FORM_ID"], $arForm, $arQuestions, $arAnswers, $arDropDown, $arMultiSelect, $additional);
187 $arrResultAnswers = $arrResultAnswers[$RESULT_ID];
190 foreach ($arQuestions as $arQuestion)
192 if ($arQuestion[
"ADDITIONAL"]!=
"Y")
194 $FIELD_SID = $arQuestion[
"SID"];
195 if (is_array($arAnswers[$FIELD_SID]))
197 foreach ($arAnswers[$FIELD_SID] as $arAnswer)
199 $arrResultAnswer = $arrResultAnswers[$arQuestion[
"ID"]][$arAnswer[
"ID"]];
200 $FIELD_TYPE = $arAnswer[
"FIELD_TYPE"];
201 switch ($FIELD_TYPE) :
205 if (intval($arrResultAnswer[
"ANSWER_ID"])>0)
207 $fname =
"form_".mb_strtolower($FIELD_TYPE).
"_".$FIELD_SID;
208 $DB_VARS[$fname] = $arrResultAnswer[
"ANSWER_ID"];
214 if (intval($arrResultAnswer[
"ANSWER_ID"])>0)
216 $fname =
"form_".mb_strtolower($FIELD_TYPE).
"_".$FIELD_SID;
217 $DB_VARS[$fname][] = $arrResultAnswer[
"ANSWER_ID"];
222 if ($arrResultAnswer[
"USER_DATE"] <>
'')
224 $arrResultAnswer[
"USER_TEXT"] =
$DB->FormatDate(
225 $arrResultAnswer[
"USER_DATE"],
230 $fname =
"form_".mb_strtolower($FIELD_TYPE).
"_".$arAnswer[
"ID"];
231 $DB_VARS[$fname] = $arrResultAnswer[
"USER_TEXT"];
242 if ($arrResultAnswer[
"USER_TEXT"] <>
'')
244 $fname =
"form_".mb_strtolower($FIELD_TYPE).
"_".$arAnswer[
"ID"];
245 $DB_VARS[$fname] = $arrResultAnswer[
"USER_TEXT"];
251 if (intval($arrResultAnswer[
"USER_FILE_ID"])>0)
253 $fname =
"form_".mb_strtolower($FIELD_TYPE).
"_".$arAnswer[
"ID"];
254 $DB_VARS[$fname] = $arrResultAnswer[
"USER_FILE_ID"];
264 $FIELD_TYPE = $arQuestion[
"FIELD_TYPE"];
265 $arrResultAnswer = $arrResultAnswers[$arQuestion[
"ID"]][0];
266 switch ($FIELD_TYPE) :
268 if ($arrResultAnswer[
"USER_TEXT"] <>
'')
270 $fname =
"form_textarea_ADDITIONAL_".$arQuestion[
"ID"];
271 $DB_VARS[$fname] = $arrResultAnswer[
"USER_TEXT"];
275 if ($arrResultAnswer[
"USER_TEXT"] <>
'')
277 $fname =
"form_text_ADDITIONAL_".$arQuestion[
"ID"];
278 $DB_VARS[$fname] = $arrResultAnswer[
"USER_TEXT"];
282 $fname =
"form_date_ADDITIONAL_".$arQuestion[
"ID"];
283 $DB_VARS[$fname] = $arrResultAnswer[
"USER_TEXT"];
294 public static function Add($WEB_FORM_ID, $arrVALUES=
false, $CHECK_RIGHTS=
"Y", $USER_ID=
false)
297 if ($arrVALUES===
false) $arrVALUES =
$_REQUEST;
299 if ($CHECK_RIGHTS !=
"N") $CHECK_RIGHTS =
"Y";
301 $WEB_FORM_ID = intval($WEB_FORM_ID);
305 $WEB_FORM_ID = intval($WEB_FORM_ID);
309 $arQuestions =
array();
310 $arAnswers =
array();
311 $arDropDown =
array();
312 $arMultiSelect =
array();
314 $WEB_FORM_ID =
CForm::GetDataByID($WEB_FORM_ID, $arForm, $arQuestions, $arAnswers, $arDropDown, $arMultiSelect);
322 if (intval($F_RIGHT)>=10 || $CHECK_RIGHTS==
"N")
324 if (intval($USER_ID)<=0)
327 $USER_ID = intval($_SESSION[
"SESS_LAST_USER_ID"]);
328 if (intval(
$USER->GetID())>0)
331 $USER_ID = intval(
$USER->GetID());
334 else $USER_AUTH =
"Y";
337 $fname =
"status_".$arForm[
"SID"];
338 $STATUS_ID = (intval($arrVALUES[$fname] ?? 0) <=0) ?
CFormStatus::GetDefault($WEB_FORM_ID) : intval($arrVALUES[$fname]);
347 if ($CHECK_RIGHTS !=
"N")
352 if ($CHECK_RIGHTS ==
"N" || in_array(
"MOVE", $arPerm))
356 if ($arForm[
"USE_RESTRICTIONS"] ==
"Y" && intval($USER_ID) > 0)
359 if ($arForm[
"RESTRICT_STATUS"] <>
'')
361 $arStatus = explode(
",", $arForm[
"RESTRICT_STATUS"]);
365 if (intval($arForm[
"RESTRICT_USER"]) > 0)
369 while ($rsFormResult->Fetch())
371 if (++$num >= $arForm[
"RESTRICT_USER"])
379 if (
$strError ==
'' && intval($arForm[
"RESTRICT_TIME"]) > 0)
382 $DC1 = $DC2 - intval($arForm[
"RESTRICT_TIME"]);
384 "TIME_CREATE_1" => ConvertTimeStamp($DC1,
"FULL"),
385 "TIME_CREATE_2" => ConvertTimeStamp($DC2,
"FULL"),
388 CTimeZone::Disable();
392 if ($rsFormResult->Fetch())
403 "TIMESTAMP_X" =>
$DB->GetNowFunction(),
404 "DATE_CREATE" =>
$DB->GetNowFunction(),
405 "STATUS_ID" => $STATUS_ID,
406 "FORM_ID" => $WEB_FORM_ID,
407 "USER_ID" => intval($USER_ID),
408 "USER_AUTH" =>
"'".$USER_AUTH.
"'",
409 "STAT_GUEST_ID" => intval($_SESSION[
"SESS_GUEST_ID"]),
410 "STAT_SESSION_ID" => intval($_SESSION[
"SESS_SESSION_ID"]),
411 "SENT_TO_CRM" =>
"'N'",
414 foreach (
GetModuleEvents(
'form',
'onBeforeResultAdd',
true) as $arEvent)
433 $RESULT_ID = intval($RESULT_ID);
437 $arrANSWER_TEXT =
array();
438 $arrANSWER_VALUE =
array();
439 $arrUSER_TEXT =
array();
442 foreach ($arQuestions as $arQuestion)
444 $FIELD_ID = $arQuestion[
"ID"];
445 $FIELD_SID = $arQuestion[
"SID"];
450 if (is_array($arAnswers[$FIELD_SID]))
453 foreach ($arAnswers[$FIELD_SID] as $arAnswer)
455 $FIELD_TYPE = $arAnswer[
"FIELD_TYPE"];
462 if (($radio==
"N" && $FIELD_TYPE==
"radio") ||
463 ($dropdown==
"N" && $FIELD_TYPE==
"dropdown"))
465 $fname =
"form_".$FIELD_TYPE.
"_".$FIELD_SID;
466 $ANSWER_ID = intval($arrVALUES[$fname]);
470 if (
$zr =
$z->Fetch())
473 "RESULT_ID" => $RESULT_ID,
474 "FORM_ID" => $WEB_FORM_ID,
475 "FIELD_ID" => $FIELD_ID,
476 "ANSWER_ID" => $ANSWER_ID,
477 "ANSWER_TEXT" => trim(
$zr[
"MESSAGE"]),
478 "ANSWER_VALUE" =>
$zr[
"VALUE"]
480 $arrANSWER_TEXT[$FIELD_ID][] = mb_strtoupper(
$arFields[
"ANSWER_TEXT"]);
481 $arrANSWER_VALUE[$FIELD_ID][] = mb_strtoupper(
$arFields[
"ANSWER_VALUE"]);
484 if ($FIELD_TYPE==
"radio") $radio =
"Y";
485 if ($FIELD_TYPE==
"dropdown") $dropdown =
"Y";
494 if (($checkbox==
"N" && $FIELD_TYPE==
"checkbox") ||
495 ($multiselect==
"N" && $FIELD_TYPE==
"multiselect"))
497 $fname =
"form_".$FIELD_TYPE.
"_".$FIELD_SID;
498 if (is_array($arrVALUES[$fname]) &&
count($arrVALUES[$fname])>0)
500 foreach($arrVALUES[$fname] as $ANSWER_ID)
502 $ANSWER_ID = intval($ANSWER_ID);
506 if (
$zr =
$z->Fetch())
509 "RESULT_ID" => $RESULT_ID,
510 "FORM_ID" => $WEB_FORM_ID,
511 "FIELD_ID" => $FIELD_ID,
512 "ANSWER_ID" => $ANSWER_ID,
513 "ANSWER_TEXT" => trim(
$zr[
"MESSAGE"]),
514 "ANSWER_VALUE" =>
$zr[
"VALUE"]
516 $arrANSWER_TEXT[$FIELD_ID][] = mb_strtoupper(
$arFields[
"ANSWER_TEXT"]);
517 $arrANSWER_VALUE[$FIELD_ID][] = mb_strtoupper(
$arFields[
"ANSWER_VALUE"]);
522 if ($FIELD_TYPE==
"checkbox") $checkbox =
"Y";
523 if ($FIELD_TYPE==
"multiselect") $multiselect =
"Y";
536 $fname =
"form_".$FIELD_TYPE.
"_".$arAnswer[
"ID"];
537 $ANSWER_ID = intval($arAnswer[
"ID"]);
539 if (
$zr =
$z->Fetch())
542 "RESULT_ID" => $RESULT_ID,
543 "FORM_ID" => $WEB_FORM_ID,
544 "FIELD_ID" => $FIELD_ID,
545 "ANSWER_ID" => $ANSWER_ID,
546 "ANSWER_TEXT" => trim(
$zr[
"MESSAGE"]),
547 "ANSWER_VALUE" =>
$zr[
"VALUE"],
548 "USER_TEXT" => $arrVALUES[$fname]
551 $arrANSWER_TEXT[$FIELD_ID][] = mb_strtoupper(
$arFields[
"ANSWER_TEXT"]);
552 $arrANSWER_VALUE[$FIELD_ID][] = mb_strtoupper(
$arFields[
"ANSWER_VALUE"]);
553 $arrUSER_TEXT[$FIELD_ID][] = mb_strtoupper(
$arFields[
"USER_TEXT"]);
561 $fname =
"form_".$FIELD_TYPE.
"_".$arAnswer[
"ID"];
562 $ANSWER_ID = intval($arAnswer[
"ID"]);
563 $USER_DATE = $arrVALUES[$fname];
567 if (
$zr =
$z->Fetch())
570 "RESULT_ID" => $RESULT_ID,
571 "FORM_ID" => $WEB_FORM_ID,
572 "FIELD_ID" => $FIELD_ID,
573 "ANSWER_ID" => $ANSWER_ID,
574 "ANSWER_TEXT" => trim(
$zr[
"MESSAGE"]),
575 "ANSWER_VALUE" =>
$zr[
"VALUE"],
576 "USER_DATE" => $USER_DATE,
577 "USER_TEXT" => $USER_DATE
579 $arrANSWER_TEXT[$FIELD_ID][] = mb_strtoupper(
$arFields[
"ANSWER_TEXT"]);
580 $arrANSWER_VALUE[$FIELD_ID][] = mb_strtoupper(
$arFields[
"ANSWER_VALUE"]);
581 $arrUSER_TEXT[$FIELD_ID][] = mb_strtoupper(
$arFields[
"USER_TEXT"]);
589 $fname =
"form_".$FIELD_TYPE.
"_".$arAnswer[
"ID"];
590 $arIMAGE = $arrVALUES[$fname] ?? $_FILES[$fname] ??
null;
592 if (CFile::CheckImageFile($arIMAGE) ==
'')
594 if (!empty($arIMAGE[
"name"]))
596 $ANSWER_ID = intval($arAnswer[
"ID"]);
597 $arIMAGE[
"MODULE_ID"] =
"form";
598 $fid = CFile::SaveFile($arIMAGE,
"form");
602 $md5 = md5(uniqid(mt_rand(),
true).time());
604 if (
$zr =
$z->Fetch())
607 "RESULT_ID" => $RESULT_ID,
608 "FORM_ID" => $WEB_FORM_ID,
609 "FIELD_ID" => $FIELD_ID,
610 "ANSWER_ID" => $ANSWER_ID,
611 "ANSWER_TEXT" => trim(
$zr[
"MESSAGE"]),
612 "ANSWER_VALUE" =>
$zr[
"VALUE"],
613 "USER_TEXT" => $arIMAGE[
"name"],
614 "USER_FILE_ID" => $fid,
615 "USER_FILE_IS_IMAGE" =>
"Y",
616 "USER_FILE_HASH" =>
$md5,
617 "USER_FILE_NAME" => $arIMAGE[
"name"],
618 "USER_FILE_SIZE" => $arIMAGE[
"size"],
620 $arrANSWER_TEXT[$FIELD_ID][] = mb_strtoupper(
$arFields[
"ANSWER_TEXT"]);
621 $arrANSWER_VALUE[$FIELD_ID][] = mb_strtoupper(
$arFields[
"ANSWER_VALUE"]);
622 $arrUSER_TEXT[$FIELD_ID][] = mb_strtoupper(
$arFields[
"USER_TEXT"]);
633 $fname =
"form_".$FIELD_TYPE.
"_".$arAnswer[
"ID"];
634 $arFILE = $arrVALUES[$fname] ?? $_FILES[$fname] ??
null;
636 if (!empty($arFILE[
"name"]))
638 $ANSWER_ID = intval($arAnswer[
"ID"]);
639 $arFILE[
"MODULE_ID"] =
"form";
640 $original_name = $arFILE[
"name"];
641 $upload_dir = COption::GetOptionString(
"form",
"NOT_IMAGE_UPLOAD_DIR");
643 $fid = (int)CFile::SaveFile($arFILE, $upload_dir);
646 $md5 = md5(uniqid(mt_rand(),
true).time());
648 if (
$zr =
$z->Fetch())
651 "RESULT_ID" => $RESULT_ID,
652 "FORM_ID" => $WEB_FORM_ID,
653 "FIELD_ID" => $FIELD_ID,
654 "ANSWER_ID" => $ANSWER_ID,
655 "ANSWER_TEXT" => trim(
$zr[
"MESSAGE"]),
656 "ANSWER_VALUE" =>
$zr[
"VALUE"],
657 "USER_TEXT" => $original_name,
658 "USER_FILE_ID" => $fid,
659 "USER_FILE_NAME" => $original_name,
660 "USER_FILE_IS_IMAGE" =>
"N",
661 "USER_FILE_HASH" =>
$md5,
662 "USER_FILE_SIZE" => $arFILE[
"size"],
664 $arrANSWER_TEXT[$FIELD_ID][] = mb_strtoupper(
$arFields[
"ANSWER_TEXT"]);
665 $arrANSWER_VALUE[$FIELD_ID][] = mb_strtoupper(
$arFields[
"ANSWER_VALUE"]);
666 $arrUSER_TEXT[$FIELD_ID][] = mb_strtoupper(
$arFields[
"USER_TEXT"]);
676 $arrANSWER_TEXT_upd = $arrANSWER_TEXT[$FIELD_ID];
677 $arrANSWER_VALUE_upd = $arrANSWER_VALUE[$FIELD_ID];
678 $arrUSER_TEXT_upd = $arrUSER_TEXT[$FIELD_ID];
682 if (is_array($arrANSWER_TEXT_upd)) $vl_ANSWER_TEXT = trim(implode(
" ",$arrANSWER_TEXT_upd));
683 if (is_array($arrANSWER_VALUE_upd)) $vl_ANSWER_VALUE = trim(implode(
" ",$arrANSWER_VALUE_upd));
684 if (is_array($arrUSER_TEXT_upd)) $vl_USER_TEXT = trim(implode(
" ",$arrUSER_TEXT_upd));
685 if ($vl_ANSWER_TEXT ==
'') $vl_ANSWER_TEXT =
false;
686 if ($vl_ANSWER_VALUE ==
'') $vl_ANSWER_VALUE =
false;
687 if ($vl_USER_TEXT ==
'') $vl_USER_TEXT =
false;
689 "ANSWER_TEXT_SEARCH" => $vl_ANSWER_TEXT,
690 "ANSWER_VALUE_SEARCH" => $vl_ANSWER_VALUE,
691 "USER_TEXT_SEARCH" => $vl_USER_TEXT
697 foreach (
GetModuleEvents(
'form',
'onAfterResultAdd',
true) as $arEvent)
708 return intval($RESULT_ID)>0 ? intval($RESULT_ID) :
false;
712 public static function Update($RESULT_ID, $arrVALUES=
false, $UPDATE_ADDITIONAL=
"N", $CHECK_RIGHTS=
"Y")
715 if ($arrVALUES===
false) $arrVALUES =
$_REQUEST;
717 InitBvar($UPDATE_ADDITIONAL);
719 $RESULT_ID = intval($RESULT_ID);
724 $additional = ($UPDATE_ADDITIONAL==
"Y") ?
"ALL" :
"N";
726 $WEB_FORM_ID =
CForm::GetDataByID($arrResult[
"FORM_ID"], $arForm, $arQuestions, $arAnswers, $arDropDown, $arMultiSelect, $additional);
731 if ($F_RIGHT>=20 || ($F_RIGHT>=15 && $arrResult[
"USER_ID"]==
$USER->GetID()))
737 if (in_array(
"EDIT", $arrRESULT_PERMISSION))
741 $fname =
"status_".$arForm[
"SID"];
742 $STATUS_ID = intval($arrVALUES[$fname]);
744 $bUpdateStatus =
false;
752 if (in_array(
"MOVE",$arrNEW_STATUS_PERMISSION))
755 $bUpdateStatus =
true;
756 $arFields[
"STATUS_ID"] = intval($arrVALUES[$fname]);
762 foreach (
GetModuleEvents(
'form',
'onBeforeResultStatusChange',
true) as $arEvent)
776 foreach (
GetModuleEvents(
'form',
'onBeforeResultUpdate',
true) as $arEvent)
792 foreach (
GetModuleEvents(
'form',
'onAfterResultStatusChange',
true) as $arEvent)
801 $arrException =
array();
817 RESULT_ID = $RESULT_ID
820 $q =
$DB->Query($strSql);
821 while ($qr = $q->Fetch()) $arrFILES[$qr[
"ANSWER_ID"]] = $qr;
823 if (is_array($arrVALUES[
"ARR_CLS"])) $arrException = array_merge($arrException, $arrVALUES[
"ARR_CLS"]);
829 foreach ($arQuestions as $arQuestion)
831 $FIELD_ID = $arQuestion[
"ID"];
832 if (is_array($arrException) &&
count($arrException)>0)
834 if (in_array($FIELD_ID, $arrException))
continue;
836 $FIELD_SID = $arQuestion[
"SID"];
837 if ($arQuestion[
"ADDITIONAL"]!=
"Y")
840 $arrANSWER_TEXT =
array();
841 $arrANSWER_VALUE =
array();
842 $arrUSER_TEXT =
array();
848 if (is_array($arAnswers[$FIELD_SID]))
850 foreach ($arAnswers[$FIELD_SID] as $arAnswer)
852 $FIELD_TYPE = $arAnswer[
"FIELD_TYPE"];
854 switch ($FIELD_TYPE) :
859 if (($radio==
"N" && $FIELD_TYPE==
"radio") ||
860 ($dropdown==
"N" && $FIELD_TYPE==
"dropdown"))
862 $fname =
"form_".$FIELD_TYPE.
"_".$FIELD_SID;
863 $ANSWER_ID = intval($arrVALUES[$fname]);
867 if (
$zr =
$z->Fetch())
870 "RESULT_ID" => $RESULT_ID,
871 "FORM_ID" => $WEB_FORM_ID,
872 "FIELD_ID" => $FIELD_ID,
873 "ANSWER_ID" => $ANSWER_ID,
874 "ANSWER_TEXT" => trim(
$zr[
"MESSAGE"]),
875 "ANSWER_VALUE" =>
$zr[
"VALUE"]
877 $arrANSWER_TEXT[$FIELD_ID][] = mb_strtoupper(
$arFields[
"ANSWER_TEXT"]);
878 $arrANSWER_VALUE[$FIELD_ID][] = mb_strtoupper(
$arFields[
"ANSWER_VALUE"]);
881 if ($FIELD_TYPE==
"radio") $radio =
"Y";
882 if ($FIELD_TYPE==
"dropdown") $dropdown =
"Y";
891 if (($checkbox==
"N" && $FIELD_TYPE==
"checkbox") ||
892 ($multiselect==
"N" && $FIELD_TYPE==
"multiselect"))
894 $fname =
"form_".$FIELD_TYPE.
"_".$FIELD_SID;
895 if (is_array($arrVALUES[$fname]) &&
count($arrVALUES[$fname])>0)
897 foreach($arrVALUES[$fname] as $ANSWER_ID)
899 $ANSWER_ID = intval($ANSWER_ID);
903 if (
$zr =
$z->Fetch())
906 "RESULT_ID" => $RESULT_ID,
907 "FORM_ID" => $WEB_FORM_ID,
908 "FIELD_ID" => $FIELD_ID,
909 "ANSWER_ID" => $ANSWER_ID,
910 "ANSWER_TEXT" => trim(
$zr[
"MESSAGE"]),
911 "ANSWER_VALUE" =>
$zr[
"VALUE"]
913 $arrANSWER_TEXT[$FIELD_ID][] = mb_strtoupper(
$arFields[
"ANSWER_TEXT"]);
914 $arrANSWER_VALUE[$FIELD_ID][] = mb_strtoupper(
$arFields[
"ANSWER_VALUE"]);
919 if ($FIELD_TYPE==
"checkbox") $checkbox =
"Y";
920 if ($FIELD_TYPE==
"multiselect") $multiselect =
"Y";
932 $fname =
"form_".$FIELD_TYPE.
"_".$arAnswer[
"ID"];
933 $ANSWER_ID = intval($arAnswer[
"ID"]);
935 if (
$zr =
$z->Fetch())
938 "RESULT_ID" => $RESULT_ID,
939 "FORM_ID" => $WEB_FORM_ID,
940 "FIELD_ID" => $FIELD_ID,
941 "ANSWER_ID" => $ANSWER_ID,
942 "ANSWER_TEXT" => trim(
$zr[
"MESSAGE"]),
943 "ANSWER_VALUE" =>
$zr[
"VALUE"],
944 "USER_TEXT" => $arrVALUES[$fname]
946 $arrANSWER_TEXT[$FIELD_ID][] = mb_strtoupper(
$arFields[
"ANSWER_TEXT"]);
947 $arrANSWER_VALUE[$FIELD_ID][] = mb_strtoupper(
$arFields[
"ANSWER_VALUE"]);
948 $arrUSER_TEXT[$FIELD_ID][] = mb_strtoupper(
$arFields[
"USER_TEXT"]);
956 $fname =
"form_".$FIELD_TYPE.
"_".$arAnswer[
"ID"];
957 $ANSWER_ID = intval($arAnswer[
"ID"]);
958 $USER_DATE = $arrVALUES[$fname];
962 if (
$zr =
$z->Fetch())
965 "RESULT_ID" => $RESULT_ID,
966 "FORM_ID" => $WEB_FORM_ID,
967 "FIELD_ID" => $FIELD_ID,
968 "ANSWER_ID" => $ANSWER_ID,
969 "ANSWER_TEXT" => trim(
$zr[
"MESSAGE"]),
970 "ANSWER_VALUE" =>
$zr[
"VALUE"],
971 "USER_DATE" => $USER_DATE,
972 "USER_TEXT" => $USER_DATE
974 $arrANSWER_TEXT[$FIELD_ID][] = mb_strtoupper(
$arFields[
"ANSWER_TEXT"]);
975 $arrANSWER_VALUE[$FIELD_ID][] = mb_strtoupper(
$arFields[
"ANSWER_VALUE"]);
976 $arrUSER_TEXT[$FIELD_ID][] = mb_strtoupper(
$arFields[
"USER_TEXT"]);
984 $fname =
"form_".$FIELD_TYPE.
"_".$arAnswer[
"ID"];
985 $ANSWER_ID = intval($arAnswer[
"ID"]);
986 $arIMAGE = $arrVALUES[$fname] ?? $_FILES[$fname] ??
null;
989 if (!empty($arIMAGE[
"name"]) || !empty($arIMAGE[
"del"]))
991 $arIMAGE[
"old_file"] = $arrFILES[$ANSWER_ID][
"USER_FILE_ID"];
992 $arIMAGE[
"del"] = $arrVALUES[$fname.
"_del"];
993 $arIMAGE[
"MODULE_ID"] =
"form";
995 if (!empty($arIMAGE[
"del"]) || CFile::CheckImageFile($arIMAGE) ==
'')
997 $fid = CFile::SaveFile($arIMAGE,
"form");
1002 $fid = $arrFILES[$ANSWER_ID][
"USER_FILE_ID"];
1005 $fid = intval($fid);
1009 if (
$zr =
$z->Fetch())
1012 "RESULT_ID" => $RESULT_ID,
1013 "FORM_ID" => $WEB_FORM_ID,
1014 "FIELD_ID" => $FIELD_ID,
1015 "ANSWER_ID" => $ANSWER_ID,
1016 "ANSWER_TEXT" => trim(
$zr[
"MESSAGE"]),
1017 "ANSWER_VALUE" =>
$zr[
"VALUE"],
1018 "USER_FILE_ID" => $fid,
1019 "USER_FILE_IS_IMAGE" =>
"Y"
1023 $arFields[
"USER_FILE_NAME"] = $arIMAGE[
"name"];
1024 $arFields[
"USER_FILE_SIZE"] = $arIMAGE[
"size"];
1025 $arFields[
"USER_FILE_HASH"] = md5(uniqid(mt_rand(),
true).time());
1030 $arFields[
"USER_FILE_NAME"] = $arrFILES[$ANSWER_ID][
"USER_FILE_NAME"];
1031 $arFields[
"USER_FILE_SIZE"] = $arrFILES[$ANSWER_ID][
"USER_FILE_SIZE"];
1032 $arFields[
"USER_FILE_HASH"] = $arrFILES[$ANSWER_ID][
"USER_FILE_HASH"];
1036 $arrANSWER_TEXT[$FIELD_ID][] = mb_strtoupper(
$arFields[
"ANSWER_TEXT"]);
1037 $arrANSWER_VALUE[$FIELD_ID][] = mb_strtoupper(
$arFields[
"ANSWER_VALUE"]);
1038 $arrUSER_TEXT[$FIELD_ID][] = mb_strtoupper(
$arFields[
"USER_TEXT"]);
1047 $fname =
"form_".$FIELD_TYPE.
"_".$arAnswer[
"ID"];
1048 $ANSWER_ID = intval($arAnswer[
"ID"]);
1049 $arFILE = $arrVALUES[$fname] ?? $_FILES[$fname] ??
null;
1052 if (!empty($arFILE[
"name"]) || !empty($arFILE[
"del"]))
1054 $arFILE[
"old_file"] = $arrFILES[$ANSWER_ID][
"USER_FILE_ID"];
1055 $arFILE[
"del"] = $arrVALUES[$fname.
"_del"];
1056 $arFILE[
"MODULE_ID"] =
"form";
1058 $original_name = $arFILE[
"name"];
1059 $upload_dir = COption::GetOptionString(
"form",
"NOT_IMAGE_UPLOAD_DIR");
1061 $fid = CFile::SaveFile($arFILE, $upload_dir);
1065 $fid = $arrFILES[$ANSWER_ID][
"USER_FILE_ID"];
1068 $fid = intval($fid);
1073 if (
$zr =
$z->Fetch())
1076 "RESULT_ID" => $RESULT_ID,
1077 "FORM_ID" => $WEB_FORM_ID,
1078 "FIELD_ID" => $FIELD_ID,
1079 "ANSWER_ID" => $ANSWER_ID,
1080 "ANSWER_TEXT" => trim(
$zr[
"MESSAGE"]),
1081 "ANSWER_VALUE" =>
$zr[
"VALUE"],
1082 "USER_FILE_ID" => $fid,
1086 $arFields[
"USER_FILE_NAME"] = $original_name;
1088 $arFields[
"USER_FILE_HASH"] = md5(uniqid(mt_rand(),
true).time());
1089 $arFields[
"USER_FILE_SIZE"] = $arFILE[
"size"];
1093 $arFields[
"USER_FILE_NAME"] = $arrFILES[$ANSWER_ID][
"USER_FILE_NAME"];
1094 $arFields[
"USER_FILE_IS_IMAGE"] = $arrFILES[$ANSWER_ID][
"USER_FILE_IS_IMAGE"];
1095 $arFields[
"USER_FILE_HASH"] = $arrFILES[$ANSWER_ID][
"USER_FILE_HASH"];
1096 $arFields[
"USER_FILE_SUFFIX"] = $arrFILES[$ANSWER_ID][
"USER_FILE_SUFFIX"];
1097 $arFields[
"USER_FILE_SIZE"] = $arrFILES[$ANSWER_ID][
"USER_FILE_SIZE"];
1101 $arrANSWER_TEXT[$FIELD_ID][] = mb_strtoupper(
$arFields[
"ANSWER_TEXT"]);
1102 $arrANSWER_VALUE[$FIELD_ID][] = mb_strtoupper(
$arFields[
"ANSWER_VALUE"]);
1103 $arrUSER_TEXT[$FIELD_ID][] = mb_strtoupper(
$arFields[
"USER_TEXT"]);
1114 $arrANSWER_TEXT_upd = $arrANSWER_TEXT[$FIELD_ID];
1115 $arrANSWER_VALUE_upd = $arrANSWER_VALUE[$FIELD_ID];
1116 $arrUSER_TEXT_upd = $arrUSER_TEXT[$FIELD_ID];
1118 TrimArr($arrANSWER_VALUE_upd);
1120 if (is_array($arrANSWER_TEXT_upd)) $vl_ANSWER_TEXT = trim(implode(
" ",$arrANSWER_TEXT_upd));
1121 if (is_array($arrANSWER_VALUE_upd)) $vl_ANSWER_VALUE = trim(implode(
" ",$arrANSWER_VALUE_upd));
1122 if (is_array($arrUSER_TEXT_upd)) $vl_USER_TEXT = trim(implode(
" ",$arrUSER_TEXT_upd));
1123 if ($vl_ANSWER_TEXT ==
'') $vl_ANSWER_TEXT =
false;
1124 if ($vl_ANSWER_VALUE ==
'') $vl_ANSWER_VALUE =
false;
1125 if ($vl_USER_TEXT ==
'') $vl_USER_TEXT =
false;
1127 "ANSWER_TEXT_SEARCH" => $vl_ANSWER_TEXT,
1128 "ANSWER_VALUE_SEARCH" => $vl_ANSWER_VALUE,
1129 "USER_TEXT_SEARCH" => $vl_USER_TEXT
1135 $FIELD_TYPE = $arQuestion[
"FIELD_TYPE"];
1136 switch ($FIELD_TYPE) :
1139 $fname =
"form_textarea_ADDITIONAL_".$arQuestion[
"ID"];
1141 "RESULT_ID" => $RESULT_ID,
1142 "FORM_ID" => $WEB_FORM_ID,
1143 "FIELD_ID" => $FIELD_ID,
1144 "USER_TEXT" => $arrVALUES[$fname],
1145 "USER_TEXT_SEARCH" => mb_strtoupper($arrVALUES[$fname])
1152 $fname =
"form_text_ADDITIONAL_".$arQuestion[
"ID"];
1154 "RESULT_ID" => $RESULT_ID,
1155 "FORM_ID" => $WEB_FORM_ID,
1156 "FIELD_ID" => $FIELD_ID,
1157 "USER_TEXT" => $arrVALUES[$fname],
1158 "USER_TEXT_SEARCH" => mb_strtoupper($arrVALUES[$fname])
1166 $fname =
"form_date_ADDITIONAL_".$arQuestion[
"ID"];
1167 $USER_DATE = $arrVALUES[$fname];
1171 "RESULT_ID" => $RESULT_ID,
1172 "FORM_ID" => $WEB_FORM_ID,
1173 "FIELD_ID" => $FIELD_ID,
1174 "USER_DATE" => $USER_DATE,
1175 "USER_TEXT" => $USER_DATE,
1176 "USER_TEXT_SEARCH" => mb_strtoupper($USER_DATE)
1186 foreach (
GetModuleEvents(
'form',
'onAfterResultUpdate',
true) as $arEvent)
1203 public static function SetField($RESULT_ID, $FIELD_SID, $VALUE=
false)
1207 $RESULT_ID = intval($RESULT_ID);
1218 $z =
$DB->Query($strSql);
1220 $WEB_FORM_ID =
$zr[
"FORM_ID"];
1221 if (intval($WEB_FORM_ID)>0)
1231 FORM_ID = $WEB_FORM_ID
1232 and SID = '".$DB->ForSql($FIELD_SID,50).
"'
1234 $q =
$DB->Query($strSql);
1235 if ($arField = $q->Fetch())
1237 $FIELD_ID = $arField[
"ID"];
1238 $IS_FIELD = $arField[
"ADDITIONAL"]==
"Y";
1244 b_form_result_answer
1246 RESULT_ID = $RESULT_ID
1247 and FIELD_ID = $FIELD_ID
1250 $DB->Query($strSql);
1255 $FIELD_TYPE = $arField[
"FIELD_TYPE"];
1256 switch ($FIELD_TYPE) :
1262 "RESULT_ID" => $RESULT_ID,
1263 "FORM_ID" => $WEB_FORM_ID,
1264 "FIELD_ID" => $FIELD_ID,
1265 "USER_TEXT" => $VALUE,
1266 "USER_TEXT_SEARCH" => mb_strtoupper($VALUE)
1276 "RESULT_ID" => $RESULT_ID,
1277 "FORM_ID" => $WEB_FORM_ID,
1278 "FIELD_ID" => $FIELD_ID,
1279 "USER_DATE" => $VALUE,
1280 "USER_TEXT" => $VALUE,
1281 "USER_TEXT_SEARCH" => mb_strtoupper($VALUE)
1296 b_form_result_answer
1298 RESULT_ID = $RESULT_ID
1299 and FIELD_ID = $FIELD_ID
1302 $rsFiles =
$DB->Query($strSql);
1303 while ($arFile = $rsFiles->Fetch()) CFile::Delete($arFile[
"USER_FILE_ID"]);
1307 b_form_result_answer
1309 RESULT_ID = $RESULT_ID
1310 and FIELD_ID = $FIELD_ID
1312 $DB->Query($strSql);
1314 if (is_array($VALUE) &&
count($VALUE)>0)
1316 $arrANSWER_TEXT =
array();
1317 $arrANSWER_VALUE =
array();
1318 $arrUSER_TEXT =
array();
1319 foreach ($VALUE as $ANSWER_ID =>
$val)
1322 if ($arAnswer = $rsAnswer->Fetch())
1324 switch ($arAnswer[
"FIELD_TYPE"])
1333 "RESULT_ID" => $RESULT_ID,
1334 "FORM_ID" => $WEB_FORM_ID,
1335 "FIELD_ID" => $FIELD_ID,
1336 "ANSWER_ID" => $ANSWER_ID,
1337 "ANSWER_TEXT" => trim($arAnswer[
"MESSAGE"]),
1338 "ANSWER_VALUE" => $arAnswer[
"VALUE"],
1341 $arrANSWER_TEXT[$FIELD_ID][] = mb_strtoupper(
$arFields[
"ANSWER_TEXT"]);
1342 $arrANSWER_VALUE[$FIELD_ID][] = mb_strtoupper(
$arFields[
"ANSWER_VALUE"]);
1354 "RESULT_ID" => $RESULT_ID,
1355 "FORM_ID" => $WEB_FORM_ID,
1356 "FIELD_ID" => $FIELD_ID,
1357 "ANSWER_ID" => $ANSWER_ID,
1358 "ANSWER_TEXT" => trim($arAnswer[
"MESSAGE"]),
1359 "ANSWER_VALUE" => $arAnswer[
"VALUE"],
1360 "USER_TEXT" =>
$val,
1363 $arrANSWER_TEXT[$FIELD_ID][] = mb_strtoupper(
$arFields[
"ANSWER_TEXT"]);
1364 $arrANSWER_VALUE[$FIELD_ID][] = mb_strtoupper(
$arFields[
"ANSWER_VALUE"]);
1365 $arrUSER_TEXT[$FIELD_ID][] = mb_strtoupper(
$arFields[
"USER_TEXT"]);
1374 "RESULT_ID" => $RESULT_ID,
1375 "FORM_ID" => $WEB_FORM_ID,
1376 "FIELD_ID" => $FIELD_ID,
1377 "ANSWER_ID" => $ANSWER_ID,
1378 "ANSWER_TEXT" => trim($arAnswer[
"MESSAGE"]),
1379 "ANSWER_VALUE" => $arAnswer[
"VALUE"],
1380 "USER_TEXT" =>
$val,
1384 $arrANSWER_TEXT[$FIELD_ID][] = mb_strtoupper(
$arFields[
"ANSWER_TEXT"]);
1385 $arrANSWER_VALUE[$FIELD_ID][] = mb_strtoupper(
$arFields[
"ANSWER_VALUE"]);
1386 $arrUSER_TEXT[$FIELD_ID][] = mb_strtoupper(
$arFields[
"USER_TEXT"]);
1394 if (is_array($arIMAGE) &&
count($arIMAGE)>0)
1396 $arIMAGE[
"MODULE_ID"] =
"form";
1397 if (CFile::CheckImageFile($arIMAGE) ==
'')
1399 $fid = CFile::SaveFile($arIMAGE,
"form");
1403 "RESULT_ID" => $RESULT_ID,
1404 "FORM_ID" => $WEB_FORM_ID,
1405 "FIELD_ID" => $FIELD_ID,
1406 "ANSWER_ID" => $ANSWER_ID,
1407 "ANSWER_TEXT" => trim($arAnswer[
"MESSAGE"]),
1408 "ANSWER_VALUE" => $arAnswer[
"VALUE"],
1409 "USER_FILE_ID" => $fid,
1410 "USER_FILE_IS_IMAGE" =>
"Y",
1411 "USER_FILE_NAME" => $arIMAGE[
"name"],
1412 "USER_FILE_SIZE" => $arIMAGE[
"size"],
1413 "USER_TEXT" => $arIMAGE[
"name"]
1416 $arrANSWER_TEXT[$FIELD_ID][] = mb_strtoupper(
$arFields[
"ANSWER_TEXT"]);
1417 $arrANSWER_VALUE[$FIELD_ID][] = mb_strtoupper(
$arFields[
"ANSWER_VALUE"]);
1418 $arrUSER_TEXT[$FIELD_ID][] = mb_strtoupper(
$arFields[
"USER_TEXT"]);
1428 if (is_array($arFILE) &&
count($arFILE)>0)
1430 $arFILE[
"MODULE_ID"] =
"form";
1431 $original_name = $arFILE[
"name"];
1432 $upload_dir = COption::GetOptionString(
"form",
"NOT_IMAGE_UPLOAD_DIR");
1433 $fid = CFile::SaveFile($arFILE, $upload_dir);
1437 "RESULT_ID" => $RESULT_ID,
1438 "FORM_ID" => $WEB_FORM_ID,
1439 "FIELD_ID" => $FIELD_ID,
1440 "ANSWER_ID" => $ANSWER_ID,
1441 "ANSWER_TEXT" => trim($arAnswer[
"MESSAGE"]),
1442 "ANSWER_VALUE" => $arAnswer[
"VALUE"],
1443 "USER_FILE_ID" => $fid,
1444 "USER_FILE_IS_IMAGE" =>
"N",
1445 "USER_FILE_NAME" => $original_name,
1446 "USER_FILE_HASH" => md5(uniqid(mt_rand(),
true).time()),
1447 "USER_FILE_SIZE" => $arFILE[
"size"],
1448 "USER_TEXT" => $original_name,
1451 $arrANSWER_TEXT[$FIELD_ID][] = mb_strtoupper(
$arFields[
"ANSWER_TEXT"]);
1452 $arrANSWER_VALUE[$FIELD_ID][] = mb_strtoupper(
$arFields[
"ANSWER_VALUE"]);
1453 $arrUSER_TEXT[$FIELD_ID][] = mb_strtoupper(
$arFields[
"USER_TEXT"]);
1462 $arrANSWER_TEXT_upd = $arrANSWER_TEXT[$FIELD_ID];
1463 $arrANSWER_VALUE_upd = $arrANSWER_VALUE[$FIELD_ID];
1464 $arrUSER_TEXT_upd = $arrUSER_TEXT[$FIELD_ID];
1466 TrimArr($arrANSWER_VALUE_upd);
1468 if (is_array($arrANSWER_TEXT_upd)) $vl_ANSWER_TEXT = trim(implode(
" ",$arrANSWER_TEXT_upd));
1469 if (is_array($arrANSWER_VALUE_upd)) $vl_ANSWER_VALUE = trim(implode(
" ",$arrANSWER_VALUE_upd));
1470 if (is_array($arrUSER_TEXT_upd)) $vl_USER_TEXT = trim(implode(
" ",$arrUSER_TEXT_upd));
1471 if ($vl_ANSWER_TEXT ==
'') $vl_ANSWER_TEXT =
false;
1472 if ($vl_ANSWER_VALUE ==
'') $vl_ANSWER_VALUE =
false;
1473 if ($vl_USER_TEXT ==
'') $vl_USER_TEXT =
false;
1475 "ANSWER_TEXT_SEARCH" => $vl_ANSWER_TEXT,
1476 "ANSWER_VALUE_SEARCH" => $vl_ANSWER_VALUE,
1477 "USER_TEXT_SEARCH" => $vl_USER_TEXT
1694 public static function Mail($RESULT_ID, $TEMPLATE_ID =
false)
1698 $RESULT_ID = intval($RESULT_ID);
1700 CTimeZone::Disable();
1702 CTimeZone::Enable();
1706 if ($arrFORM =
$z->Fetch())
1708 $TEMPLATE_ID = intval($TEMPLATE_ID);
1711 $arrFormSites = (is_array($arrFormSites)) ? $arrFormSites :
array();
1713 if (!defined(
'SITE_ID') || !in_array(
SITE_ID, $arrFormSites))
1716 $rs = CSite::GetList(
"sort",
"asc",
array(
'ID' => implode(
'|', $arrFormSites)));
1717 $arrSites =
array();
1718 while (
$ar =
$rs->Fetch())
1720 $arrSites[
$ar[
"ID"]] =
$ar;
1724 $arrFormTemplates = (is_array($arrFormTemplates)) ? $arrFormTemplates :
array();
1726 $arrTemplates =
array();
1730 "EVENT_NAME" => $arrFORM[
"MAIL_EVENT_TYPE"]
1733 while (
$ar =
$rs->Fetch())
1737 if ($TEMPLATE_ID ==
$ar[
"ID"])
1739 $arrTemplates[
$ar[
"ID"]] =
$ar;
1743 elseif (in_array(
$ar[
"ID"],$arrFormTemplates)) $arrTemplates[
$ar[
"ID"]] =
$ar;
1746 foreach($arrTemplates as $arrTemplate)
1751 IncludeModuleLangFile(
$_SERVER[
"DOCUMENT_ROOT"].
"/bitrix/modules/form/admin/form_mail.php", $arrSites[$arrTemplate[
"SITE_ID"]][
"LANGUAGE_ID"]);
1754 if (intval($arrRES[
"USER_ID"])>0)
1756 $w = CUser::GetByID($arrRES[
"USER_ID"]);
1757 $arrUSER = $w->Fetch();
1758 $USER_ID = $arrUSER[
"ID"];
1759 $USER_EMAIL = $arrUSER[
"EMAIL"];
1760 $USER_NAME = $arrUSER[
"NAME"].
" ".$arrUSER[
"LAST_NAME"];
1761 if ($arrRES[
"USER_AUTH"]!=
"Y") $USER_AUTH=
"(".GetMessage(
"FORM_NOT_AUTHORIZED").
")";
1765 $USER_ID =
GetMessage(
"FORM_NOT_REGISTERED");
1771 $arEventFields =
array(
1772 "RS_FORM_ID" => $arrFORM[
"ID"],
1773 "RS_FORM_NAME" => $arrFORM[
"NAME"],
1774 "RS_FORM_VARNAME" => $arrFORM[
"SID"],
1775 "RS_FORM_SID" => $arrFORM[
"SID"],
1776 "RS_RESULT_ID" => $arrRES[
"ID"],
1777 "RS_DATE_CREATE" => $arrRES[
"DATE_CREATE"],
1778 "RS_USER_ID" => $USER_ID,
1779 "RS_USER_EMAIL" => $USER_EMAIL,
1780 "RS_USER_NAME" => $USER_NAME,
1781 "RS_USER_AUTH" => $USER_AUTH,
1782 "RS_STAT_GUEST_ID" => $arrRES[
"STAT_GUEST_ID"],
1783 "RS_STAT_SESSION_ID" => $arrRES[
"STAT_SESSION_ID"]
1786 while ($wr=$w->Fetch())
1790 if (is_array($arrResult[$wr[
"SID"]]))
1792 $bHasDiffTypes =
false;
1794 foreach ($arrResult[$wr[
'SID']] as $arrA)
1796 if ($lastType ==
'') $lastType = $arrA[
'FIELD_TYPE'];
1797 elseif ($arrA[
'FIELD_TYPE'] != $lastType)
1799 $bHasDiffTypes =
true;
1804 foreach($arrResult[$wr[
"SID"]] as $arrA)
1806 if ($wr[
'ADDITIONAL'] ==
'Y')
1807 $arrA[
'FIELD_TYPE'] = $wr[
'FIELD_TYPE'];
1809 $USER_TEXT_EXIST = (trim($arrA[
"USER_TEXT"]) <>
'');
1810 $ANSWER_TEXT_EXIST = (trim($arrA[
"ANSWER_TEXT"]) <>
'');
1811 $ANSWER_VALUE_EXIST = (trim($arrA[
"ANSWER_VALUE"]) <>
'');
1812 $USER_FILE_EXIST = (intval($arrA[
"USER_FILE_ID"])>0);
1814 if ($arrTemplate[
"BODY_TYPE"]==
"html")
1822 $arrA[
'FIELD_TYPE'] ==
'text'
1824 $arrA[
'FIELD_TYPE'] ==
'textarea'
1829 if (trim($answer) <>
'') $answer .=
"<br />";
1830 if (trim($answer_raw) <>
'') $answer_raw .=
",";
1832 if ($ANSWER_TEXT_EXIST)
1833 $answer .= $arrA[
"ANSWER_TEXT"].
': ';
1835 switch ($arrA[
'FIELD_TYPE'])
1844 if ($USER_TEXT_EXIST)
1846 $answer .= trim($arrA[
"USER_TEXT"]);
1847 $answer_raw .= trim($arrA[
"USER_TEXT"]);
1855 if ($USER_TEXT_EXIST)
1857 $answer .=
'<a href="'.($arrA[
'FIELD_TYPE'] ==
'email' ?
'mailto:' :
'').trim($arrA[
"USER_TEXT"]).
'">'.trim($arrA[
"USER_TEXT"]).
'</a>';
1858 $answer_raw .= trim($arrA[
"USER_TEXT"]);
1868 if ($ANSWER_TEXT_EXIST)
1870 $answer = mb_substr($answer, 0, -2).
' ';
1871 $answer_raw .= $arrA[
'ANSWER_TEXT'];
1874 if ($ANSWER_VALUE_EXIST)
1876 $answer .=
'('.$arrA[
'ANSWER_VALUE'].
') ';
1877 if (!$ANSWER_TEXT_EXIST)
1878 $answer_raw .= $arrA[
'ANSWER_VALUE'];
1881 if (!$ANSWER_VALUE_EXIST && !$ANSWER_TEXT_EXIST)
1882 $answer_raw .= $arrA[
'ANSWER_ID'];
1884 $answer .=
'['.$arrA[
'ANSWER_ID'].
']';
1891 if ($USER_FILE_EXIST)
1893 $f = CFile::GetByID($arrA[
"USER_FILE_ID"]);
1894 if ($fr =
$f->Fetch())
1896 $file_size = CFile::FormatSize($fr[
"FILE_SIZE"]);
1897 $url = (
$APPLICATION->IsHTTPS() ?
"https://" :
"http://").$_SERVER[
"HTTP_HOST"].
"/bitrix/tools/form_show_file.php?rid=".$RESULT_ID.
"&hash=".$arrA[
"USER_FILE_HASH"].
"&lang=".LANGUAGE_ID;
1899 if ($arrA[
"USER_FILE_IS_IMAGE"]==
"Y")
1901 $answer .=
"<a href=\"$url\">".$arrA[
"USER_FILE_NAME"].
"</a> [".$fr[
"WIDTH"].
" x ".$fr[
"HEIGHT"].
"] (".$file_size.
")";
1905 $answer .=
"<a href=\"$url&action=download\">".$arrA[
"USER_FILE_NAME"].
"</a> (".$file_size.
")";
1908 $answer_raw .= $arrA[
'USER_FILE_NAME'];
1923 $arrA[
'FIELD_TYPE'] ==
'text'
1925 $arrA[
'FIELD_TYPE'] ==
'textarea'
1930 if (trim($answer) <>
'') $answer .=
"\n";
1931 if (trim($answer_raw) <>
'') $answer_raw .=
",";
1933 if ($ANSWER_TEXT_EXIST)
1934 $answer .= $arrA[
"ANSWER_TEXT"].
': ';
1936 switch ($arrA[
'FIELD_TYPE'])
1947 if ($USER_TEXT_EXIST)
1949 $answer .= trim($arrA[
"USER_TEXT"]);
1950 $answer_raw .= trim($arrA[
"USER_TEXT"]);
1960 if ($ANSWER_TEXT_EXIST)
1962 $answer = mb_substr($answer, 0, -2).
' ';
1963 $answer_raw .= $arrA[
'ANSWER_TEXT'];
1966 if ($ANSWER_VALUE_EXIST)
1968 $answer .=
'('.$arrA[
'ANSWER_VALUE'].
') ';
1969 if (!$ANSWER_TEXT_EXIST)
1971 $answer_raw .= $arrA[
'ANSWER_VALUE'];
1975 if (!$ANSWER_VALUE_EXIST && !$ANSWER_TEXT_EXIST)
1977 $answer_raw .= $arrA[
'ANSWER_ID'];
1980 $answer .=
'['.$arrA[
'ANSWER_ID'].
']';
1987 if ($USER_FILE_EXIST)
1989 $f = CFile::GetByID($arrA[
"USER_FILE_ID"]);
1990 if ($fr =
$f->Fetch())
1992 $file_size = CFile::FormatSize($fr[
"FILE_SIZE"]);
1993 $url = (
$APPLICATION->IsHTTPS() ?
"https://" :
"http://").$_SERVER[
"HTTP_HOST"].
"/bitrix/tools/form_show_file.php?rid=".$RESULT_ID.
"&hash=".$arrA[
"USER_FILE_HASH"].
"&action=download&lang=".LANGUAGE_ID;
1995 if ($arrA[
"USER_FILE_IS_IMAGE"]==
"Y")
1997 $answer .= $arrA[
"USER_FILE_NAME"].
" [".$fr[
"WIDTH"].
" x ".$fr[
"HEIGHT"].
"] (".$file_size.
")\n".
$url;
2001 $answer .= $arrA[
"USER_FILE_NAME"].
" (".$file_size.
")\n".
$url.
"&action=download";
2005 $answer_raw .= $arrA[
'USER_FILE_NAME'];
2014 $arEventFields[$wr[
"SID"]] = ($answer ==
'') ?
" " : $answer;
2015 $arEventFields[$wr[
"SID"].
'_RAW'] = ($answer_raw ==
'') ?
" " : $answer_raw;
2018 CEvent::Send($arrTemplate[
"EVENT_NAME"], $arrTemplate[
"SITE_ID"], $arEventFields,
"Y", $arrTemplate[
"ID"]);