• Модуль: socialnetwork
  • Путь к файлу: ~/bitrix/modules/socialnetwork/lib/commentaux/base.php
  • Класс: BitrixSocialnetworkCommentAuxBase
  • Вызов: Base::sendRatingNotification
public function sendRatingNotification($fields = [], $ratingVoteParams = []): void
{
	$userId = (
		is_array($ratingVoteParams)
		&& isset($ratingVoteParams['OWNER_ID'])
			? (int)$ratingVoteParams['OWNER_ID']
			: 0
	);

	if (
		!$this->checkRatingNotificationData($userId, $fields)
		|| !$this->setRatingNotificationParams($fields)
	)
	{
		return;
	}

	$followValue = $this->getRatingNotificationFollowValue($userId, $ratingVoteParams, $fields);

	if ($followValue === 'N')
	{
		return;
	}

	$ratingVoteParams['ENTITY_LINK'] = $this->getRatingCommentLink([
		'commentId' => $fields['ID'],
		'commentAuthorId' => $ratingVoteParams['OWNER_ID'],
		'ratingEntityTypeId' => $ratingVoteParams['ENTITY_TYPE_ID'],
		'ratingEntityId' => $ratingVoteParams['ENTITY_ID'],
	]);

	$ratingVoteParams['ENTITY_PARAM'] = 'COMMENT';
	$ratingVoteParams['ENTITY_MESSAGE'] = $this->getRatingNotificationEntityMessage();
	$ratingVoteParams['ENTITY_TITLE'] = $ratingVoteParams['ENTITY_MESSAGE'];

	$messageFields = [
		'MESSAGE_TYPE' => IM_MESSAGE_SYSTEM,
		'TO_USER_ID' => $userId,
		'FROM_USER_ID' => (int)$ratingVoteParams['USER_ID'],
		'NOTIFY_TYPE' => IM_NOTIFY_FROM,
		'NOTIFY_MODULE' => 'main',
		'NOTIFY_EVENT' => 'rating_vote',
		'NOTIFY_TAG' => $this->getRatingNotificationNotigyTag($ratingVoteParams, $fields),
		'NOTIFY_MESSAGE' => CIMEvent::getMessageRatingVote($ratingVoteParams),
		'NOTIFY_MESSAGE_OUT' => CIMEvent::getMessageRatingVote($ratingVoteParams, true),
	];

	CIMNotify::add($messageFields);
}