コード例 #1
0
ファイル: rating_rules.php プロジェクト: DarneoStudio/bitrix
 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;
 }
コード例 #2
0
ファイル: rating_rules.php プロジェクト: ASDAFF/open_bx
	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;
	}