• Модуль: disk
  • Путь к файлу: ~/bitrix/modules/disk/lib/file.php
  • Класс: BitrixDiskFile
  • Вызов: File::getView
public function getView()
{
	if (!$this->view)
	{
		$isTransformationEnabledInStorage = true;
		$storage = $this->getStorage();
		if ($storage)
		{
			$isTransformationEnabledInStorage = $storage->isEnabledTransformation();
		}

		$previewData = FilePreviewTable::getList(['filter' => ['FILE_ID' => $this->getFileId(),],])->fetch();
		$viewId = isset($previewData['PREVIEW_ID'])? $previewData['PREVIEW_ID'] : null;
		$imageId = isset($previewData['PREVIEW_IMAGE_ID'])? $previewData['PREVIEW_IMAGE_ID'] : null;

		if (TypeFile::isDocument($this))
		{
			$this->view = new ViewDocument($this->getName(), $this->getFileId(), $viewId, $imageId, $isTransformationEnabledInStorage);
		}
		elseif (TypeFile::isVideo($this))
		{
			$this->view = new ViewVideo($this->getName(), $this->getFileId(), $viewId, $imageId, $isTransformationEnabledInStorage);
		}
		else
		{
			$this->view = new ViewBase($this->getName(), $this->getFileId(), $viewId, $imageId, $isTransformationEnabledInStorage);
		}
	}

	return $this->view;
}