- Модуль: im
- Путь к файлу: ~/bitrix/modules/im/lib/call/background.php
- Класс: BitrixImCallBackground
- Вызов: Background::getCustom
static function getCustom()
{
$result = [];
if (!CIMDisk::Enabled())
{
return $result;
}
$folderModel = self::getUploadFolder();
if (!$folderModel)
{
return $result;
}
$securityContext = new BitrixDiskSecurityDiskSecurityContext(Common::getUserId());
$parameters = [
'filter' => [
'PARENT_ID' => $folderModel->getId(),
'STORAGE_ID' => $folderModel->getStorageId()
],
'order' => ['UPDATE_TIME' => 'DESC']
];
$parameters = BitrixDiskDriver::getInstance()->getRightsManager()->addRightsCheck($securityContext, $parameters, array('ID', 'CREATED_BY'));
$fileCollection = BitrixDiskFile::getModelList($parameters);
foreach ($fileCollection as $fileModel)
{
if ($fileModel->getTypeFile() == BitrixDiskTypeFile::IMAGE)
{
$supported = in_array(mb_strtolower($fileModel->getExtension()), ['png', 'jpg', 'jpeg'], true);
}
else if ($fileModel->getTypeFile() == BitrixDiskTypeFile::VIDEO)
{
$supported = in_array(mb_strtolower($fileModel->getExtension()), ['mp4', 'mov', 'avi'], true);
}
else
{
$supported = false;
}
$result[] = [
'id' => (int)$fileModel->getId(),
'title' => $fileModel->getName(),
'preview' => $supported? CIMDisk::GetPublicPath(CIMDisk::PATH_TYPE_PREVIEW, $fileModel, false): '',
'background' => $supported? CIMDisk::GetPublicPath(CIMDisk::PATH_TYPE_SHOW, $fileModel, false): '',
'isVideo' => $fileModel->getTypeFile() == BitrixDiskTypeFile::VIDEO,
'isSupported' => $supported,
];
}
return $result;
}