- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/classes/general/ratings.php
- Класс: CAllRatings
- Вызов: CAllRatings::__AddComponents
static function __AddComponents($ID, $arFields)
{
global $DB;
$arRatingConfigs = CRatings::GetRatingConfigs($arFields["ENTITY_ID"], false);
$ID = (int)$ID;
$err_mess = (CRatings::err_mess())."
Function: __AddComponents
Line: ";
foreach ($arFields['CONFIGS'] as $MODULE_ID => $RAT_ARRAY)
{
if (!is_array($RAT_ARRAY))
continue;
foreach ($RAT_ARRAY as $RAT_TYPE => $COMPONENT)
{
if (!is_array($COMPONENT))
continue;
foreach ($COMPONENT as $COMPONENT_NAME => $COMPONENT_VALUE)
{
if (!isset($arRatingConfigs[$MODULE_ID][$MODULE_ID."_".$RAT_TYPE."_".$COMPONENT_NAME]))
continue;
$arFields_i = Array(
"RATING_ID" => $ID,
"ACTIVE" => isset($COMPONENT_VALUE["ACTIVE"]) && $COMPONENT_VALUE["ACTIVE"] === 'Y' ? 'Y' : 'N',
"ENTITY_ID" => $arFields["ENTITY_ID"],
"MODULE_ID" => $MODULE_ID,
"RATING_TYPE" => $RAT_TYPE,
"NAME" => $COMPONENT_NAME,
"COMPLEX_NAME" => $arFields["ENTITY_ID"].'_'.$MODULE_ID.'_'.$RAT_TYPE.'_'.$COMPONENT_NAME,
"CLASS" => $arRatingConfigs[$MODULE_ID][$MODULE_ID."_".$RAT_TYPE."_".$COMPONENT_NAME]["CLASS"],
"CALC_METHOD" => $arRatingConfigs[$MODULE_ID][$MODULE_ID."_".$RAT_TYPE."_".$COMPONENT_NAME]["CALC_METHOD"],
"EXCEPTION_METHOD" => $arRatingConfigs[$MODULE_ID][$MODULE_ID."_".$RAT_TYPE."_".$COMPONENT_NAME]["EXCEPTION_METHOD"],
"REFRESH_INTERVAL" => $arRatingConfigs[$MODULE_ID][$MODULE_ID."_".$RAT_TYPE."_".$COMPONENT_NAME]["REFRESH_TIME"],
"~LAST_MODIFIED" => $DB->GetNowFunction(),
"~NEXT_CALCULATION" => $DB->GetNowFunction(),
"IS_CALCULATED" => "N",
"~CONFIG" => "'".serialize($COMPONENT_VALUE)."'",
);
$DB->Add("b_rating_component", $arFields_i, array(), "", false, $err_mess.__LINE__);
}
}
}
return true;
}