- Модуль: im
- Путь к файлу: ~/bitrix/modules/im/lib/V2/Message/Reaction/ReactionMessages.php
- Класс: BitrixImV2MessageReactionReactionMessages
- Вызов: ReactionMessages::fillUsers
private function fillUsers(): self
{
$messagesNeedFillUsers = [];
foreach ($this as $reactionMessage)
{
if ($reactionMessage->haveDisplayedUsers(self::COUNT_DISPLAYED_USERS))
{
$messagesNeedFillUsers[] = $reactionMessage->getMessageId();
}
}
if (empty($messagesNeedFillUsers))
{
return $this;
}
$result = ReactionTable::query()
->setSelect(['MESSAGE_ID', 'REACTION', 'USERS_GROUP'])
->whereIn('MESSAGE_ID', $messagesNeedFillUsers)
->having('COUNT', '<=', self::COUNT_DISPLAYED_USERS)
->fetchAll()
;
foreach ($result as $row)
{
$userIds = array_map('intval', explode(',', $row['USERS_GROUP']));
$this->getReactionMessage((int)$row['MESSAGE_ID'])->addUsers($row['REACTION'], $userIds);
}
return $this;
}