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