• Модуль: im
  • Путь к файлу: ~/bitrix/modules/im/classes/general/im_disk.php
  • Класс: CIMDisk
  • Вызов: CIMDisk::GetHistoryFilesByName
static function GetHistoryFilesByName($chatId, $name)
{
	$fileArray = [];
	if (!self::Enabled())
	{
		return $fileArray;
	}

	if ((int)$chatId <= 0)
	{
		return $fileArray;
	}

	$name = trim($name);
	if ($name == '')
	{
		return $fileArray;
	}

	$folderModel = self::getFolderModel($chatId, false);
	if (!$folderModel)
	{
		return $fileArray;
	}

	$filter = Array(
		'PARENT_ID' => $folderModel->getId(),
		'STORAGE_ID' => $folderModel->getStorageId(),
		'%=NAME' => str_replace("%", '', $name)."%",
	);

	$relation = CIMChat::GetRelationById($chatId, self::GetUserId(), true, false);
	if (!$relation)
	{
		return $fileArray;
	}

	if ($relation['LAST_FILE_ID'] > 0)
	{
		$filter['>ID'] = $relation['LAST_FILE_ID'];
	}

	/**
	 * @see BitrixImDiskProxyTypeIm::getSecurityContextByUser
	 */
	$securityContext = new BitrixDiskSecurityDiskSecurityContext(self::GetUserId());

	$parameters = Array(
		'filter' => $filter,
		'with' => Array('CREATE_USER'),
		'limit' => 100,
		'order' => Array('UPDATE_TIME' => 'DESC')
	);
	$parameters = BitrixDiskDriver::getInstance()->getRightsManager()->addRightsCheck($securityContext, $parameters, array('ID', 'CREATED_BY'));

	$fileCollection = BitrixDiskFile::getModelList($parameters);

	foreach ($fileCollection as $fileModel)
	{
		$fileArray[$fileModel->getId()] = self::GetFileParams($chatId, $fileModel);
	}

	return $fileArray;
}