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