- Модуль: 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);
}