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

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

	if ($fileId === false || $fileId === null)
	{
		if (!is_array($fileId))
		{
			$fileId = Array($fileId);
		}
		foreach ($fileId as $key => $value)
		{
			$fileId[$key] = (int)$value;
		}
	}
	if (empty($fileId))
	{
		return $fileArray;
	}
	$folderModel = self::getFolderModel($chatId, false);
	if (!$folderModel)
	{
		return $fileArray;
	}
	$filter = Array(
		'PARENT_ID' => $folderModel->getId(),
		'STORAGE_ID' => $folderModel->getStorageId()
	);
	if ($fileId)
	{
		$filter['ID'] = array_values($fileId);
	}

	if ($checkPermission)
	{
		$securityContext = new BitrixDiskSecurityDiskSecurityContext(self::GetUserId());
	}
	else
	{
		$securityContext = BitrixDiskDriver::getInstance()->getFakeSecurityContext();
	}

	$parameters = Array(
		'filter' => $filter,
		'with' => Array('CREATE_USER')
	);
	$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;
}