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