• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/classes/general/ratings.php
  • Класс: CAllRatings
  • Вызов: CAllRatings::OnAfterUserRegister
static function OnAfterUserRegister($arFields)
{
	global $DB;
	$err_mess = (CRatings::err_mess())."
Function: OnAfterUserRegister
Line: "; if (isset($arFields['EXTERNAL_AUTH_ID']) && in_array($arFields['EXTERNAL_AUTH_ID'], BitrixMainUserTable::getExternalUserTypes(), true)) { return false; } $userId = isset($arFields["USER_ID"]) ? (int)$arFields["USER_ID"] : (isset($arFields["ID"]) ? (int)$arFields["ID"] : 0); if($userId>0) { $authorityRatingId = CRatings::GetAuthorityRating(); $ratingStartValue = COption::GetOptionString("main", "rating_start_authority", 3); $ratingCountVote = COption::GetOptionString("main", "rating_count_vote", 10); $arParam = array( 'RATING_ID' => $authorityRatingId, 'ENTITY_ID' => $userId, 'BONUS' => (int)$ratingStartValue, 'VOTE_WEIGHT' => (int)$ratingStartValue *COption::GetOptionString("main", "rating_vote_weight", 1), 'VOTE_COUNT' => (int)$ratingCountVote + (int)$ratingStartValue, ); CRatings::UpdateRatingUserBonus($arParam); if (IsModuleInstalled("intranet")) { $strSql = "INSERT INTO b_rating_subordinate (RATING_ID, ENTITY_ID, VOTES) VALUES ('".$authorityRatingId."', '".$userId."', '".((int)$ratingCountVote + (int)$ratingStartValue)."')"; $DB->Query($strSql, false, $err_mess.__LINE__); } $sRatingAssignType = COption::GetOptionString("main", "rating_assign_type", 'manual'); if ($sRatingAssignType === 'auto') { $assignRatingGroup = COption::GetOptionString("main", "rating_assign_rating_group", 0); $assignAuthorityGroup = COption::GetOptionString("main", "rating_assign_authority_group", 0); if ($assignRatingGroup == 0 && $assignAuthorityGroup == 0) return false; $arGroups = array(); if ($assignRatingGroup > 0) $arGroups[] = (int)$assignRatingGroup; if ($assignAuthorityGroup > 0 && $assignRatingGroup != $assignAuthorityGroup) $arGroups[] = (int)$assignAuthorityGroup; if(!empty($arGroups)) CUser::AppendUserGroup($userId, $arGroups); } if (CACHED_b_rating_vote!==false) { global $CACHE_MANAGER; $bucket_size = (int)CACHED_b_rating_bucket_size; if($bucket_size <= 0) $bucket_size = 100; $bucket = (int)($userId / $bucket_size); $CACHE_MANAGER->Clean("b_rvu_".$authorityRatingId.$bucket, "b_rating_user"); } } }