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