• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/classes/general/ratings.php
  • Класс: CAllRatings
  • Вызов: CAllRatings::Add
static function Add($arFields)
{
	global $DB, $stackCacheManager;

	$err_mess = (CRatings::err_mess())."
Function: Add
Line: "; // check only general field if(!CRatings::__CheckFields($arFields)) return false; $arFields_i = Array( "ACTIVE" => $arFields["ACTIVE"] === 'Y' ? 'Y' : 'N', "POSITION" => $arFields["POSITION"] === 'Y' ? 'Y' : 'N', "AUTHORITY" => $arFields["AUTHORITY"] === 'Y' ? 'Y' : 'N', "NAME" => $arFields["NAME"], "ENTITY_ID" => $arFields["ENTITY_ID"], "CALCULATION_METHOD" => $arFields["CALCULATION_METHOD"], "~CREATED" => $DB->GetNowFunction(), "~LAST_MODIFIED" => $DB->GetNowFunction(), ); $ID = $DB->Add("b_rating", $arFields_i); // queries modules and give them to inspect the field settings foreach(GetModuleEvents("main", "OnAfterAddRating", true) as $arEvent) $arFields = ExecuteModuleEventEx($arEvent, array($ID, $arFields)); CRatings::__AddComponents($ID, $arFields); $arFields_u = Array( "CONFIGS" => "'".$DB->ForSQL(serialize($arFields["CONFIGS"]))."'", ); $DB->Update("b_rating", $arFields_u, "WHERE ID = ".$ID); if ($arFields['AUTHORITY'] === 'Y') CRatings::SetAuthorityRating($ID); CAgent::AddAgent("CRatings::Calculate($ID);", "main", "N", 3600, "", "Y", ""); $stackCacheManager->Clear("b_rating"); return $ID; }