39 $arBy =
array(
"ACTIVE",
"C_SORT",
"VALIDATOR_SID",
"FIELD_ID");
40 $by = strtoupper($by);
41 if (!in_array($by, $arBy))
54 $arWhere[] =
"FORM_ID='".intval($value).
"'";
58 $arWhere[] =
"FIELD_ID='".intval($value).
"'";
62 $arWhere[] =
"ACTIVE='".($value ==
"N" ?
"N" :
"Y").
"'";
66 $arWhere[] =
"VALIDATOR_SID='".$DB->ForSql($value).
"'";
71 if (
count($arWhere) > 0)
72 $strWhere =
"WHERE ".implode(
" AND ", $arWhere);
76 $query =
"SELECT * FROM b_form_field_validator ".$strWhere.
" ORDER BY ".$by.
" ".
$order;
79 $arCurrentValidators =
array();
81 $arFullList = $rsFullList->arResult;
82 while ($arCurVal = $rsList->Fetch())
86 if (
$arVal[
"NAME"] == $arCurVal[
"VALIDATOR_SID"])
88 $arCurVal[
"NAME"] =
$arVal[
"NAME"];
89 unset($arCurVal[
"VALIDATOR_SID"]);
90 if ($arCurVal[
"PARAMS"] <>
'')
95 $arCurrentValidators[] = $arCurVal;
102 $rsList =
new CDBResult();
103 $rsList->InitFromArray($arCurrentValidators);
124 $is_filtered =
false;
128 if (!empty($ValList))
131 foreach ($ValList as $arValidator)
137 if (is_array($arValidatorInfo[
"TYPES"]))
140 (is_array($arType) &&
count(array_intersect($arType, $arValidatorInfo[
"TYPES"])))
142 (!is_array($arType) && in_array($arType, $arValidatorInfo[
"TYPES"]))
160 $rsValList =
new CDBResult;
174 public static function Execute($arValidator, $arQuestion, $arAnswers, $arAnswerValues)
179 if ($arValidatorInfo[
"NAME"] == $arValidator[
"NAME"])
183 if ($arValidatorInfo)
185 if ($arValidatorInfo[
"HANDLER"])
187 return call_user_func($arValidatorInfo[
"HANDLER"], $arValidator[
"PARAMS"], $arQuestion, $arAnswers, $arAnswerValues);
203 public static function Set($WEB_FORM_ID, $FIELD_ID, $sValSID,
$arParams =
array(), $C_SORT = 100)
208 while (
$arVal = $rsValList->Fetch())
210 if (
$arVal[
"NAME"] == $sValSID)
212 $arQueryFields =
array(
213 "~TIMESTAMP_X" =>
$DB->CurrentTimeFunction(),
214 "FORM_ID" => intval($WEB_FORM_ID),
215 "FIELD_ID" => intval($FIELD_ID),
217 "C_SORT" => intval($C_SORT),
218 "VALIDATOR_SID" =>
$DB->ForSql($sValSID),
224 $arQueryFields[
"PARAMS"] = $strParams;
227 return $DB->Add(
"b_form_field_validator", $arQueryFields);
241 public static function SetBatch($WEB_FORM_ID, $FIELD_ID, $arValidators)
246 $arValList =
array();
247 while (
$arVal = $rsValList->Fetch())
253 foreach ($arValidators as
$key => $arFieldVal)
255 if (
$arVal = $arValList[$arFieldVal[
"NAME"]])
258 $arQueryFields =
array(
259 "~TIMESTAMP_X" =>
$DB->CurrentTimeFunction(),
260 "FORM_ID" => intval($WEB_FORM_ID),
261 "FIELD_ID" => intval($FIELD_ID),
264 "VALIDATOR_SID" => $arFieldVal[
"NAME"],
267 if (is_array($arFieldVal[
"PARAMS"]) &&
is_set(
$arVal,
"CONVERT_TO_DB"))
270 foreach ($arFieldVal[
"PARAMS"] as $arParam)
272 $arParams[$arParam[
"NAME"]] = $arParam[
"VALUE"];
278 $arQueryFields[
"PARAMS"] = $strParams;
282 $DB->Add(
"b_form_field_validator", $arQueryFields);
291 $strParams = call_user_func($arValidator[
"CONVERT_TO_DB"],
$arParams);
298 if ($strParams <>
'' &&
is_set($arValidator,
"CONVERT_FROM_DB"))
300 $arParams = call_user_func($arValidator[
"CONVERT_FROM_DB"], $strParams);
307 if (
is_set($arValidator,
"SETTINGS"))
309 $arSettings = call_user_func($arValidator[
"SETTINGS"]);
319 public static function Clear($FIELD_ID)
322 $query =
"DELETE FROM b_form_field_validator WHERE FIELD_ID='".$DB->ForSql($FIELD_ID).
"'";
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
ExecuteModuleEventEx($arEvent, $arParams=[])
GetModuleEvents($MODULE_ID, $MESSAGE_ID, $bReturnArray=false)
if(empty($signedUserToken)) $key
</p ></td >< td valign=top style='border-top:none;border-left:none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 2.0pt 0cm 2.0pt;height:9.0pt'>< p class=Normal align=center style='margin:0cm;margin-bottom:.0001pt;text-align:center;line-height:normal'>< a name=ТекстовоеПоле54 ></a ><?=($taxRate > count( $arTaxList) > 0) ? $taxRate."%"