• Модуль: disk
  • Путь к файлу: ~/bitrix/modules/disk/lib/volume/file.php
  • Класс: BitrixDiskVolumeFile
  • Вызов: File::getUrl
static function getUrl(VolumeFragment $fragment): ?string
{
	$file = $fragment->getFile();
	if (!$file instanceof DiskFile)
	{
		throw new ArgumentTypeException('Fragment must be subclass of '.DiskFile::className());
	}

	// Im
	if (in_array($fragment->getEntityType(), VolumeModuleIm::getEntityType()))
	{
		return null;
	}
	// Mail
	if (in_array($fragment->getEntityType(), VolumeModuleMail::getEntityType()))
	{
		return null;
	}
	// Documentgenerator
	if (in_array($fragment->getEntityType(), VolumeModuleDocumentgenerator::getEntityType()))
	{
		return null;
	}

	$urlManager = DiskDriver::getInstance()->getUrlManager();

	if ($file->isDeleted())
	{
		$url = $urlManager->getUrlFocusController('openTrashcanFileDetail', ['fileId' => $file->getId()]);
	}
	else
	{
		$url = $urlManager->getUrlFocusController('openFileDetail', ['fileId' => $file->getId()]);
	}

	return $url;
}