function changeUF($arConfigs) { global $DB; $err_mess = "File: " . __FILE__ . "<br>Function: changeUF<br>Line: "; $ruleId = IntVal(IntVal($arConfigs['ID'])); $entityTypeId = $DB->ForSql($arConfigs['ENTITY_TYPE_ID']); $userFieldId = $DB->ForSql($arConfigs['ACTION_CONFIG']['CHANGE_UF']['UF_ID']); $userFieldValue = $DB->ForSql($arConfigs['ACTION_CONFIG']['CHANGE_UF']['UF_VALUE']); if (!empty($userFieldId)) { $strSql = "UPDATE b_uts_user uts SET uts.{$userFieldId} = '{$userFieldValue}'\n\t\t\t\t\t\tWHERE uts.VALUE_ID IN (\n\t\t\t\t\t\t\tSELECT prv.ENTITY_ID\n\t\t\t\t\t\t\tFROM b_rating_rule_vetting prv\n\t\t\t\t\t\t\tWHERE\n\t\t\t\t\t\t\t\tprv.RULE_ID = {$ruleId}\n\t\t\t\t\t\t\tAND prv.ENTITY_TYPE_ID = '{$entityTypeId}'\n\t\t\t\t\t\t\tAND prv.APPLIED = 'N'\n\t\t\t\t\t\t)"; $DB->Query($strSql, false, $err_mess . __LINE__); $strSql = "INSERT INTO b_uts_user (VALUE_ID, {$userFieldId})\n\t\t\t\t\t\tSELECT prv.ENTITY_ID, '{$userFieldValue}' as UF_VALUE\n\t\t\t\t\t\tFROM b_rating_rule_vetting prv\n\t\t\t\t\t\tWHERE\n\t\t\t\t\t\t\tprv.RULE_ID = {$ruleId}\n\t\t\t\t\t\tand prv.ENTITY_TYPE_ID = '{$entityTypeId}'\n\t\t\t\t\t\tand prv.ENTITY_ID NOT IN (\n\t\t\t\t\t\t\tSELECT uf.VALUE_ID FROM b_uts_user uf\n\t\t\t\t\t\t)\n\t\t\t\t\t\tand prv.APPLIED = 'N'\n\t\t\t\t\t\tGROUP BY ENTITY_ID\n\t\t\t\t\t\t"; $DB->Query($strSql, false, $err_mess . __LINE__); } CRatingRule::ApplyVetting($arConfigs); return true; }
function changeUF($arConfigs) { global $DB; $err_mess = "File: ".__FILE__."<br>Function: changeUF<br>Line: "; $ruleId = IntVal(IntVal($arConfigs['ID'])); $entityTypeId = $DB->ForSql($arConfigs['ENTITY_TYPE_ID']); $userFieldId = $DB->ForSql($arConfigs['ACTION_CONFIG']['CHANGE_UF']['UF_ID']); $userFieldValue = $DB->ForSql($arConfigs['ACTION_CONFIG']['CHANGE_UF']['UF_VALUE']); if (!empty($userFieldId)) { $strSql = "UPDATE b_uts_user uts SET uts.$userFieldId = '$userFieldValue' WHERE uts.VALUE_ID IN ( SELECT prv.ENTITY_ID FROM b_rating_rule_vetting prv WHERE prv.RULE_ID = $ruleId AND prv.ENTITY_TYPE_ID = '$entityTypeId' AND prv.APPLIED = 'N' )"; $DB->Query($strSql, false, $err_mess.__LINE__); $strSql = "INSERT INTO b_uts_user (VALUE_ID, $userFieldId) SELECT prv.ENTITY_ID, '$userFieldValue' as UF_VALUE FROM b_rating_rule_vetting prv WHERE prv.RULE_ID = $ruleId and prv.ENTITY_TYPE_ID = '$entityTypeId' and prv.ENTITY_ID NOT IN ( SELECT uf.VALUE_ID FROM b_uts_user uf ) and prv.APPLIED = 'N' GROUP BY ENTITY_ID "; $DB->Query($strSql, false, $err_mess.__LINE__); } CRatingRule::ApplyVetting($arConfigs); return true; }