Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/bitrix/ext_www/rospirotorg.ru/bitrix/modules/form/classes/general/ |
Upload File : |
<?php class CAllFormField { public static function GetList($WEB_FORM_ID, $get_fields, $by = 's_sort', $order = 'asc', $arFilter = []) { global $DB, $strError; $WEB_FORM_ID = intval($WEB_FORM_ID); $str = ""; if ($get_fields <> '' && $get_fields!="ALL") { InitBVar($get_fields); $str = "and ADDITIONAL='$get_fields'"; } $arSqlSearch = Array(); $strSqlSearch = ""; if (is_array($arFilter)) { if(isset($arFilter["SID"]) && $arFilter["SID"] <> '') { $arFilter["VARNAME"] = $arFilter["SID"]; } elseif(isset($arFilter["VARNAME"]) && $arFilter["VARNAME"] <> '') { $arFilter["SID"] = $arFilter["VARNAME"]; } $filter_keys = array_keys($arFilter); $keyCount = count($filter_keys); for ($i=0; $i<$keyCount; $i++) { $key = $filter_keys[$i]; $val = $arFilter[$filter_keys[$i]]; if ((string)$val == '' || $val=="NOT_REF") continue; if (is_array($val) && empty($val)) continue; $match_value_set = (in_array($key."_EXACT_MATCH", $filter_keys)); $key = strtoupper($key); switch($key) { case "ID": case "SID": $match = ($arFilter[$key."_EXACT_MATCH"]=="N" && $match_value_set) ? "Y" : "N"; $arSqlSearch[] = GetFilterQuery("F.".$key, $val, $match); break; case "TITLE": case "COMMENTS": $match = ($arFilter[$key."_EXACT_MATCH"]=="Y" && $match_value_set) ? "N" : "Y"; $arSqlSearch[] = GetFilterQuery("F.".$key, $val, $match); break; case "ACTIVE": case "IN_RESULTS_TABLE": case "IN_EXCEL_TABLE": case "IN_FILTER": case "REQUIRED": $arSqlSearch[] = ($val=="Y") ? "F.".$key."='Y'" : "F.".$key."='N'"; break; } } } if ($by == "s_id") $strSqlOrder = "ORDER BY F.ID"; elseif ($by == "s_active") $strSqlOrder = "ORDER BY F.ACTIVE"; elseif ($by == "s_varname" || $by == "s_sid") $strSqlOrder = "ORDER BY F.SID"; elseif ($by == "s_c_sort" || $by == "s_sort") $strSqlOrder = "ORDER BY F.C_SORT"; elseif ($by == "s_title") $strSqlOrder = "ORDER BY F.TITLE"; elseif ($by == "s_comments") $strSqlOrder = "ORDER BY F.COMMENTS"; elseif ($by == "s_required") $strSqlOrder = "ORDER BY F.REQUIRED"; elseif ($by == "s_in_results_table") $strSqlOrder = "ORDER BY F.IN_RESULTS_TABLE"; elseif ($by == "s_in_excel_table") $strSqlOrder = "ORDER BY F.IN_EXCEL_TABLE"; elseif ($by == "s_field_type") $strSqlOrder = "ORDER BY F.FIELD_TYPE"; else { $strSqlOrder = "ORDER BY F.C_SORT"; } if ($order!="desc") { $strSqlOrder .= " asc "; } else { $strSqlOrder .= " desc "; } $strSqlSearch = GetFilterSqlSearch($arSqlSearch); $strSql = " SELECT F.*, F.SID as VARNAME, ".$DB->DateToCharFunction("F.TIMESTAMP_X")." TIMESTAMP_X FROM b_form_field F WHERE $strSqlSearch $str and FORM_ID='$WEB_FORM_ID' $strSqlOrder "; $res = $DB->Query($strSql); return $res; } public static function GetByID($ID) { global $DB; $ID = intval($ID); $strSql = " SELECT F.*, F.SID as VARNAME, ".$DB->DateToCharFunction("F.TIMESTAMP_X")." TIMESTAMP_X FROM b_form_field F WHERE F.ID = $ID "; $res = $DB->Query($strSql); return $res; } public static function GetBySID($SID, $FORM_ID = false) { $FORM_ID = intval($FORM_ID); global $DB; $strSql = " SELECT F.*, F.SID as VARNAME, ".$DB->DateToCharFunction("F.TIMESTAMP_X")." TIMESTAMP_X FROM b_form_field F WHERE F.SID = '".$DB->ForSql($SID,50)."' "; if ($FORM_ID > 0) $strSql .= " AND F.FORM_ID='".$DB->ForSql($FORM_ID)."'"; $res = $DB->Query($strSql); return $res; } public static function GetNextSort($WEB_FORM_ID) { global $DB; $WEB_FORM_ID = intval($WEB_FORM_ID); $strSql = "SELECT max(C_SORT) as MAX_SORT FROM b_form_field WHERE FORM_ID='$WEB_FORM_ID'"; $z = $DB->Query($strSql); $zr = $z->Fetch(); return (intval($zr["MAX_SORT"])+100); } public static function Copy($ID, $CHECK_RIGHTS="Y", $NEW_FORM_ID=false) { global $DB, $strError; $ID = intval($ID); $NEW_FORM_ID = intval($NEW_FORM_ID); $rsField = CFormField::GetByID($ID); if ($arField = $rsField->Fetch()) { $RIGHT_OK = "N"; if ($CHECK_RIGHTS!="Y" || CForm::IsAdmin()) $RIGHT_OK="Y"; else { $F_RIGHT = CForm::GetPermission($arField["FORM_ID"]); if ($F_RIGHT>=25) { if ($NEW_FORM_ID>0) { $NEW_F_RIGHT = CForm::GetPermission($NEW_FORM_ID); if ($NEW_F_RIGHT>=30) $RIGHT_OK = "Y"; } elseif ($F_RIGHT>=30) { $RIGHT_OK = "Y"; } } } if ($RIGHT_OK=="Y") { if (!$NEW_FORM_ID) { while(true) { $SID = $arField["SID"]; if (mb_strlen($SID) > 44) $SID = mb_substr($SID, 0, 44); $SID .= "_".RandString(5); $strSql = "SELECT 'x' FROM b_form WHERE SID='".$DB->ForSql($SID,50)."'"; $z = $DB->Query($strSql); if (!($zr = $z->Fetch())) { $strSql = "SELECT 'x' FROM b_form_field WHERE SID='".$DB->ForSql($SID,50)."' AND FORM_ID='".$arField["FORM_ID"]."'"; $t = $DB->Query($strSql); if (!($tr = $t->Fetch())) break; } } } else { $SID = $arField["SID"]; } $arFields = array( "FORM_ID" => ($NEW_FORM_ID>0) ? $NEW_FORM_ID : $arField["FORM_ID"], "ACTIVE" => $arField["ACTIVE"], "TITLE" => $arField["TITLE"], "TITLE_TYPE" => $arField["TITLE_TYPE"], "SID" => $SID, "C_SORT" => $arField["C_SORT"], "ADDITIONAL" => $arField["ADDITIONAL"], "REQUIRED" => $arField["REQUIRED"], "IN_FILTER" => $arField["IN_FILTER"], "IN_RESULTS_TABLE" => $arField["IN_RESULTS_TABLE"], "IN_EXCEL_TABLE" => $arField["IN_EXCEL_TABLE"], "FIELD_TYPE" => $arField["FIELD_TYPE"], "COMMENTS" => $arField["COMMENTS"], "FILTER_TITLE" => $arField["FILTER_TITLE"], "RESULTS_TABLE_TITLE" => $arField["RESULTS_TABLE_TITLE"], ); if (intval($arField["IMAGE_ID"])>0) { $arIMAGE = CFile::MakeFileArray(CFile::CopyFile($arField["IMAGE_ID"])); $arIMAGE["MODULE_ID"] = "form"; $arFields["arIMAGE"] = $arIMAGE; } $z = CFormField::GetFilterList($arField["FORM_ID"], Array("FIELD_ID" => $ID, "FIELD_ID_EXACT_MATCH" => "Y")); while ($zr = $z->Fetch()) { if ($arField["ADDITIONAL"]!="Y") $arFields["arFILTER_".$zr["PARAMETER_NAME"]][] = $zr["FILTER_TYPE"]; elseif ($zr["PARAMETER_NAME"]=="USER") $arFields["arFILTER_FIELD"][] = $zr["FILTER_TYPE"]; } $NEW_ID = CFormField::Set($arFields); if (intval($NEW_ID)>0) { if ($arField["ADDITIONAL"]!="Y") { $rsAnswer = CFormAnswer::GetList($ID, 'ID', 'ASC'); while ($arAnswer = $rsAnswer->Fetch()) CFormAnswer::Copy($arAnswer["ID"], $NEW_ID); $dbValidators = CFormValidator::GetList($ID); while ($arVal = $dbValidators->Fetch()) { CFormValidator::Set($arField['FORM_ID'], $NEW_ID, $arVal['NAME'], $arVal['PARAMS'], $arVal['C_SORT']); } } } return $NEW_ID; } else $strError .= GetMessage("FORM_ERROR_ACCESS_DENIED")."<br>"; } else $strError .= GetMessage("FORM_ERROR_FIELD_NOT_FOUND")."<br>"; return false; } public static function Delete($ID, $CHECK_RIGHTS="Y") { global $DB, $strError; $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); while ($zr = $z->Fetch()) CFile::Delete($zr["IMAGE_ID"]); $DB->Query("DELETE FROM b_form_answer WHERE FIELD_ID='$ID'"); $DB->Query("DELETE FROM b_form_field_filter WHERE FIELD_ID='$ID'"); $DB->Query("DELETE FROM b_form_field WHERE ID='$ID'"); return true; } else $strError .= GetMessage("FORM_ERROR_ACCESS_DENIED")."<br>"; } else $strError .= GetMessage("FORM_ERROR_FIELD_NOT_FOUND")."<br>"; return false; } public static function Reset($ID, $CHECK_RIGHTS="Y") { global $DB, $strError; $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) { $DB->Query("DELETE FROM b_form_result_answer WHERE FIELD_ID='".$ID."'"); return true; } else $strError .= GetMessage("FORM_ERROR_ACCESS_DENIED")."<br>"; } else $strError .= GetMessage("FORM_ERROR_FIELD_NOT_FOUND")."<br>"; return false; } public static function GetFilterTypeList(&$arrUSER, &$arrANSWER_TEXT, &$arrANSWER_VALUE, &$arrFIELD) { $arrUSER = array( "reference_id" => array( "text", "integer", "date", "exist", ), "reference" => array( GetMessage("FORM_TEXT_FIELD"), GetMessage("FORM_NUMERIC_INTERVAL"), GetMessage("FORM_DATE_INTERVAL"), GetMessage("FORM_EXIST_FLAG"), ) ); $arrANSWER_TEXT = array( "reference_id" => array( "text", "integer", "dropdown", "exist", ), "reference" => array( GetMessage("FORM_TEXT_FIELD"), GetMessage("FORM_NUMERIC_INTERVAL"), GetMessage("FORM_DROPDOWN_LIST"), GetMessage("FORM_EXIST_FLAG"), ) ); $arrANSWER_VALUE = array( "reference_id" => array( "text", "integer", "dropdown", "exist", ), "reference" => array( GetMessage("FORM_TEXT_FIELD"), GetMessage("FORM_NUMERIC_INTERVAL"), GetMessage("FORM_DROPDOWN_LIST"), GetMessage("FORM_EXIST_FLAG"), ) ); $arrFIELD = array( "reference_id" => array( "text", "integer", "date", "exist", ), "reference" => array( GetMessage("FORM_TEXT_FIELD"), GetMessage("FORM_NUMERIC_INTERVAL"), GetMessage("FORM_DATE_INTERVAL"), GetMessage("FORM_EXIST_FLAG"), ) ); } public static function GetTypeList() { $arr = array( "reference_id" => array( "text", "integer", "date"), "reference" => array( GetMessage("FORM_FIELD_TEXT"), GetMessage("FORM_FIELD_INTEGER"), GetMessage("FORM_FIELD_DATE") ) ); return $arr; } public static function GetFilterList($WEB_FORM_ID, $arFilter=Array()) { global $DB; $WEB_FORM_ID = intval($WEB_FORM_ID); $arSqlSearch = Array(); $strSqlSearch = ""; if (is_array($arFilter)) { $filter_keys = array_keys($arFilter); $keyCount = count($filter_keys); for ($i=0; $i<$keyCount; $i++) { $key = $filter_keys[$i]; $val = $arFilter[$filter_keys[$i]]; if ((string)$val == '' || $val=="NOT_REF") continue; if (is_array($val) && empty($val)) continue; $match_value_set = (in_array($key."_EXACT_MATCH", $filter_keys)); $key = mb_strtoupper($key); switch($key) { case "FIELD_ID": $match = ($arFilter[$key."_EXACT_MATCH"]=="N" && $match_value_set) ? "Y" : "N"; $arSqlSearch[] = GetFilterQuery("F.ID",$val,$match); break; case "FIELD_SID": $match = ($arFilter[$key."_EXACT_MATCH"]=="N" && $match_value_set) ? "Y" : "N"; $arSqlSearch[] = GetFilterQuery("F.SID",$val,$match); break; case "ACTIVE": $arSqlSearch[] = ($val=="Y") ? "F.ACTIVE='Y'" : "F.ACTIVE='N'"; break; case "FILTER_TYPE": $match = ($arFilter[$key."_EXACT_MATCH"]=="N" && $match_value_set) ? "Y" : "N"; $arSqlSearch[] = GetFilterQuery("L.FILTER_TYPE", $val, $match); break; case "PARAMETER_NAME": $match = ($arFilter[$key."_EXACT_MATCH"]=="Y" && $match_value_set) ? "N" : "Y"; $arSqlSearch[] = GetFilterQuery("L.PARAMETER_NAME", $val, $match); break; } } } $strSqlSearch = GetFilterSqlSearch($arSqlSearch); $strSql = " SELECT F.*, F.SID as VARNAME, L.PARAMETER_NAME, L.FILTER_TYPE FROM b_form_field F, b_form_field_filter L WHERE $strSqlSearch and F.FORM_ID = $WEB_FORM_ID and F.IN_FILTER = 'Y' and L.FIELD_ID = F.ID ORDER BY F.C_SORT, L.PARAMETER_NAME, L.FILTER_TYPE desc "; $res = $DB->Query($strSql); return $res; } public static function CheckFields(&$arFields, $FIELD_ID, $CHECK_RIGHTS="Y") { global $DB, $strError; $str = ""; $FIELD_ID = intval($FIELD_ID); $FORM_ID = intval($arFields["FORM_ID"]); if ($FORM_ID<=0) $str .= GetMessage("FORM_ERROR_FORM_ID_NOT_DEFINED")."<br>"; else { $RIGHT_OK = "N"; if ($CHECK_RIGHTS!="Y" || CForm::IsAdmin()) $RIGHT_OK = "Y"; else { $F_RIGHT = CForm::GetPermission($FORM_ID); if ($F_RIGHT>=30) $RIGHT_OK = "Y"; } if ($RIGHT_OK=="Y") { if (trim($arFields["SID"]) <> '') $arFields["VARNAME"] = $arFields["SID"]; elseif ($arFields["VARNAME"] <> '') $arFields["SID"] = $arFields["VARNAME"]; if ($FIELD_ID<=0 && !is_set($arFields, 'ADDITIONAL')) $arFields['ADDITIONAL'] = 'N'; if ($FIELD_ID<=0 || ($FIELD_ID>0 && is_set($arFields, "SID"))) { if (trim($arFields["SID"]) == '') $str .= GetMessage("FORM_ERROR_FORGOT_SID")."<br>"; if (preg_match("/[^A-Za-z_01-9]/",$arFields["SID"])) $str .= GetMessage("FORM_ERROR_INCORRECT_SID")."<br>"; else { $strSql = "SELECT ID, ADDITIONAL FROM b_form_field WHERE SID='".$DB->ForSql(trim($arFields["SID"]),50)."' and ID<>'".$FIELD_ID."' AND FORM_ID='".$DB->ForSql($arFields["FORM_ID"])."'"; $z = $DB->Query($strSql); if ($zr = $z->Fetch()) { $s = ($zr["ADDITIONAL"]=="Y") ? str_replace("#TYPE#", GetMessage("FORM_TYPE_FIELD"), GetMessage("FORM_ERROR_WRONG_SID")) : str_replace("#TYPE#", GetMessage("FORM_TYPE_QUESTION"), GetMessage("FORM_ERROR_WRONG_SID")); $s = str_replace("#ID#",$zr["ID"],$s); $str .= $s."<br>"; } else { $strSql = "SELECT ID FROM b_form WHERE SID='".$DB->ForSql(trim($arFields["SID"]),50)."'"; $z = $DB->Query($strSql); if ($zr = $z->Fetch()) { $s = str_replace("#TYPE#", GetMessage("FORM_TYPE_FORM"), GetMessage("FORM_ERROR_WRONG_SID")); $s = str_replace("#ID#",$zr["ID"],$s); $str .= $s."<br>"; } } } } if (isset($arFields["arIMAGE"])) { $str .= CFile::CheckImageFile($arFields["arIMAGE"]); } } else $str .= GetMessage("FORM_ERROR_ACCESS_DENIED"); } $strError .= $str; if ($str <> '') return false; else return true; } public static function Set($arFields, $FIELD_ID=false, $CHECK_RIGHTS="Y", $UPDATE_FILTER="Y") { global $DB; if (CFormField::CheckFields($arFields, $FIELD_ID, $CHECK_RIGHTS)) { $arFields_i = array(); if (trim($arFields["SID"]) <> '') $arFields["VARNAME"] = $arFields["SID"]; elseif ($arFields["VARNAME"] <> '') $arFields["SID"] = $arFields["VARNAME"]; $arFields_i["TIMESTAMP_X"] = $DB->GetNowFunction(); if (is_set($arFields, "ACTIVE")) $arFields_i["ACTIVE"] = ($arFields["ACTIVE"]=="Y") ? "'Y'" : "'N'"; if (is_set($arFields, "TITLE")) $arFields_i["TITLE"] = "'".$DB->ForSql($arFields["TITLE"], 2000)."'"; if (is_set($arFields, "TITLE_TYPE")) $arFields_i["TITLE_TYPE"] = ($arFields["TITLE_TYPE"]=="html") ? "'html'" : "'text'"; if (is_set($arFields, "SID")) $arFields_i["SID"] = "'".$DB->ForSql($arFields["SID"],50)."'"; if (is_set($arFields, "C_SORT")) $arFields_i["C_SORT"] = "'".intval($arFields["C_SORT"])."'"; if (is_set($arFields, "ADDITIONAL")) $arFields_i["ADDITIONAL"] = ($arFields["ADDITIONAL"]=="Y") ? "'Y'" : "'N'"; if (is_set($arFields, "REQUIRED")) $arFields_i["REQUIRED"] = ($arFields["REQUIRED"]=="Y") ? "'Y'" : "'N'"; if (is_set($arFields, "IN_RESULTS_TABLE")) $arFields_i["IN_RESULTS_TABLE"] = ($arFields["IN_RESULTS_TABLE"]=="Y") ? "'Y'" : "'N'"; if (is_set($arFields, "IN_EXCEL_TABLE")) $arFields_i["IN_EXCEL_TABLE"] = ($arFields["IN_EXCEL_TABLE"]=="Y") ? "'Y'" : "'N'"; if (is_set($arFields, "FIELD_TYPE")) $arFields_i["FIELD_TYPE"] = "'".$DB->ForSql($arFields["FIELD_TYPE"],50)."'"; if (is_set($arFields, "COMMENTS")) $arFields_i["COMMENTS"] = "'".$DB->ForSql($arFields["COMMENTS"],2000)."'"; if (is_set($arFields, "FILTER_TITLE")) $arFields_i["FILTER_TITLE"] = "'".$DB->ForSql($arFields["FILTER_TITLE"],2000)."'"; if (is_set($arFields, "RESULTS_TABLE_TITLE")) $arFields_i["RESULTS_TABLE_TITLE"] = "'".$DB->ForSql($arFields["RESULTS_TABLE_TITLE"],2000)."'"; if (!empty($arFields["arIMAGE"]["name"]) || !empty($arFields["arIMAGE"]["del"])) { if (!array_key_exists("MODULE_ID", $arFields["arIMAGE"]) || $arFields["arIMAGE"]["MODULE_ID"] == '') $arFields["arIMAGE"]["MODULE_ID"] = "form"; $fid = CFile::SaveFile($arFields["arIMAGE"], "form"); if (intval($fid)>0) $arFields_i["IMAGE_ID"] = intval($fid); else $arFields_i["IMAGE_ID"] = "null"; } $FIELD_ID = intval($FIELD_ID); if ($FIELD_ID>0) { $DB->Update("b_form_field", $arFields_i, "WHERE ID='".$FIELD_ID."'"); } else { $arFields_i["FORM_ID"] = "'".intval($arFields["FORM_ID"])."'"; $FIELD_ID = $DB->Insert("b_form_field", $arFields_i); } if ($FIELD_ID>0) { if ((!isset($arFields["ADDITIONAL"]) || $arFields["ADDITIONAL"] != "Y") && is_set($arFields, "arANSWER")) { $arANSWER = $arFields["arANSWER"]; if (is_array($arANSWER) && count($arANSWER)>0) { $arrAnswers = array(); $rs = CFormAnswer::GetList($FIELD_ID, 'ID', 'ASC'); while($ar = $rs->Fetch()) $arrAnswers[] = $ar["ID"]; foreach($arANSWER as $arA) { $answer_id = in_array($arA["ID"], $arrAnswers) ? intval($arA["ID"]) : 0; if ($arA["DELETE"]=="Y" && $answer_id>0) CFormAnswer::Delete($answer_id, $FIELD_ID); else { if ($answer_id>0 || ($answer_id<=0 && $arA["MESSAGE"] <> '')) { $arFields_a = array( "FIELD_ID" => $FIELD_ID, "MESSAGE" => $arA["MESSAGE"], "VALUE" => $arA["VALUE"], "C_SORT" => $arA["C_SORT"], "ACTIVE" => $arA["ACTIVE"], "FIELD_TYPE" => $arA["FIELD_TYPE"], "FIELD_WIDTH" => $arA["FIELD_WIDTH"], "FIELD_HEIGHT" => $arA["FIELD_HEIGHT"], "FIELD_PARAM" => $arA["FIELD_PARAM"], ); CFormAnswer::Set($arFields_a, $answer_id, $FIELD_ID); } } } } } CForm::SetMailTemplate(intval($arFields["FORM_ID"]),"N"); if ($UPDATE_FILTER == 'Y') { $in_filter="N"; $DB->Query("UPDATE b_form_field SET IN_FILTER='N' WHERE ID='".$FIELD_ID."'"); $arrFilterType = array( "arFILTER_USER" => "USER", "arFILTER_ANSWER_TEXT" => "ANSWER_TEXT", "arFILTER_ANSWER_VALUE" => "ANSWER_VALUE", "arFILTER_FIELD" => "USER", ); foreach ($arrFilterType as $key => $value) { if (is_set($arFields, $key)) { $strSql = "DELETE FROM b_form_field_filter WHERE FIELD_ID='".$FIELD_ID."' and PARAMETER_NAME='".$value."'"; $DB->Query($strSql); if (is_array($arFields[$key])) { reset($arFields[$key]); foreach($arFields[$key] as $type) { $arFields_i = array( "FIELD_ID" => "'".intval($FIELD_ID)."'", "FILTER_TYPE" => "'".$DB->ForSql($type,50)."'", "PARAMETER_NAME" => "'".$value."'", ); $DB->Insert("b_form_field_filter",$arFields_i); $in_filter="Y"; } } } } if ($in_filter=="Y") $DB->Query("UPDATE b_form_field SET IN_FILTER='Y' WHERE ID='".$FIELD_ID."'"); } } return $FIELD_ID; } return false; } }