- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/classes/general/rating_rule.php
- Класс: CRatingRule
- Вызов: CRatingRule::Apply
static function Apply($ID)
{
global $DB;
$ID = intval($ID);
$err_mess = (CRatingRule::err_mess())."
Function: Apply
Line: ";
$ratingRule = CRatingRule::GetByID($ID);
$arConfigs = $ratingRule->Fetch();
if ($arConfigs['ACTIVE'] == 'Y')
{
$arConfigs['CONDITION_CONFIG'] = unserialize(htmlspecialcharsback($arConfigs['CONDITION_CONFIG']), ['allowed_classes' => false]);
$arConfigs['ACTION_CONFIG'] = unserialize(htmlspecialcharsback($arConfigs['ACTION_CONFIG']), ['allowed_classes' => false]);
$arConfigs['CONDITION_MODULE'] = isset($arConfigs['CONDITION_MODULE']) && $arConfigs['CONDITION_MODULE'] <> ''? $arConfigs['CONDITION_MODULE']: 'main';
if(CModule::IncludeModule(mb_strtolower($arConfigs['CONDITION_MODULE']))) {
if (method_exists($arConfigs['CONDITION_CLASS'], $arConfigs['CONDITION_METHOD']))
call_user_func(array($arConfigs['CONDITION_CLASS'], $arConfigs['CONDITION_METHOD']), $arConfigs);
$DB->Query("DELETE FROM b_rating_rule_vetting WHERE RULE_ID = $ID AND APPLIED = 'Y'", false, $err_mess.__LINE__);
}
if (method_exists($arConfigs['ACTIVATE_CLASS'], $arConfigs['ACTIVATE_METHOD']))
call_user_func(array($arConfigs['ACTIVATE_CLASS'], $arConfigs['ACTIVATE_METHOD']), $arConfigs);
$DB->Query("UPDATE b_rating_rule SET LAST_APPLIED = ".$DB->GetNowFunction()." WHERE ID = $ID", false, $err_mess.__LINE__);
}
return "CRatingRule::Apply($ID);";
}