- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/classes/general/rating_rules.php
- Класс: CAllRatingRulesMain
- Вызов: CAllRatingRulesMain::removeFromGroup
static function removeFromGroup($arConfigs)
{
global $DB;
$err_mess = "File: ".__FILE__."
Function: addToGroup
Line: ";
$ruleId = intval(IntVal($arConfigs['ID']));
$groupId = intval($arConfigs['ACTION_CONFIG']['REMOVE_FROM_GROUP']['GROUP_ID']);
$entityTypeId = $DB->ForSql($arConfigs['ENTITY_TYPE_ID']);
// remove the group from all users who it is, but you need to remove it
$strSql = "SELECT prv.ENTITY_ID
FROM b_rating_rule_vetting prv
WHERE
prv.RULE_ID = $ruleId
and prv.ENTITY_TYPE_ID = '$entityTypeId'
and prv.ENTITY_ID IN (
SELECT ug.USER_ID FROM b_user_group ug WHERE ug.GROUP_ID = $groupId
)
and prv.APPLIED = 'N'";
$res = $DB->Query($strSql, false, $err_mess.__LINE__);
$arDelete = array();
while($row = $res->Fetch())
$arDelete[] = $row['ENTITY_ID'];
if (!empty($arDelete))
{
$strSql = "DELETE FROM b_user_group WHERE GROUP_ID = $groupId and USER_ID IN (".implode(',', $arDelete).")";
$DB->Query($strSql, false, $err_mess.__LINE__);
}
CRatingRule::ApplyVetting($arConfigs);
return true;
}