• Модуль: im
  • Путь к файлу: ~/bitrix/modules/im/lib/update/linkurlmigration.php
  • Класс: BitrixImUpdateLinkUrlMigration
  • Вызов: LinkUrlMigration::getParams
private function getParams(int $lastId): EO_MessageParam_Collection
{
	$params = MessageParamTable::query()
		->setSelect(['ID'])
		->where('PARAM_NAME', 'URL_ID')
		->where('ID', '>', $lastId)
		->setOrder(['ID' => 'ASC'])
		->setLimit((int)Option::get(self::$moduleId, self::OPTION_NAME_LIMIT, self::LIMIT_DEFAULT))
		->fetchCollection()
	;

	if ($params->count() === 0)
	{
		return $params;
	}

	$params->fill(['MESSAGE_ID', 'PARAM_VALUE']);

	$messageIds = $params->getMessageIdList();

	if (empty($messageIds))
	{
		return $params;
	}

	$messages = MessageTable::query()
		->setSelect(['ID', 'AUTHOR_ID', 'DATE_CREATE', 'CHAT_ID'])
		->whereIn('ID', $messageIds)
		->fetchCollection()
	;

	foreach ($params as $param)
	{
		$message = $messages->getByPrimary($param->getMessageId());
		if ($message !== null)
		{
			$param->setMessage($message);
		}
	}

	return $params;
}