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