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