- Модуль: im
- Путь к файлу: ~/bitrix/modules/im/lib/update/deletedmessagefiles.php
- Класс: BitrixImUpdateDeletedMessageFiles
- Вызов: DeletedMessageFiles::getFileIdsFromDeletedMessage
private function getFileIdsFromDeletedMessage(array &$option): array
{
$result = MessageParamTable::query()
->setSelect(['LINK_MESSAGE_ID' => 'LINK_FILE.MESSAGE_ID'])
->where('MESSAGE_ID', '>', $option['lastId'] ?? 0)
->setOrder(['MESSAGE_ID'])
->where('PARAM_NAME', 'IS_DELETED')
->registerRuntimeField(
'LINK_FILE',
new Reference(
'LINK_FILE',
LinkFileTable::class,
Join::on('this.MESSAGE_ID', 'ref.MESSAGE_ID'),
['join_type' => Join::TYPE_INNER]
)
)
->setLimit(self::LIMIT)
->fetchAll()
;
if (empty($result))
{
return [];
}
$messageIds = array_unique(array_map('intval', array_column($result, 'LINK_MESSAGE_ID')));
$option['lastId'] = max($messageIds);
return $this->getFileIdsByMessageIds($messageIds);
}