- Модуль: clouds
- Путь к файлу: ~/bitrix/modules/clouds/lib/filehash.php
- Класс: BitrixCloudsFileHashTable
- Вызов: FileHashTable::duplicateList
static function duplicateList($bucketId, $filter, $order, $limit = 0)
{
$connection = BitrixMainApplication::getConnection();
$query = BitrixMainFileInternalFileHashTable::query();
$query->setSelect([
'FILE_HASH',
'FILE_SIZE',
new ExpressionField(
'FILE_COUNT',
'COUNT(distinct %s, %s)',
['FILE.SUBDIR', 'FILE.FILE_NAME']
),
new ExpressionField(
'FILE_ID_MIN',
'MIN(%s)',
['FILE_ID']
),
new ExpressionField(
'FILE_ID_MAX',
'MAX(%s)',
['FILE_ID']
),
]);
$filter['=FILE.HANDLER_ID'] = $bucketId;
$filter['>FILE_COUNT'] = 1;
$query->setFilter($filter);
$query->setGroup(['FILE_HASH', 'FILE_SIZE']);
$query->setOrder($order);
if ($limit > 0)
{
$query->setLimit($limit);
}
$sql = $query->getQuery();
return $connection->query($sql);
}