• Модуль: disk
  • Путь к файлу: ~/bitrix/modules/disk/lib/ui/preview/externallink.php
  • Класс: BitrixDiskUiPreviewExternalLink
  • Вызов: ExternalLink::buildPreview
static function buildPreview(array $params)
{
	global $APPLICATION;

	if($params['action'] == 'default' && isset($params['hash']))
	{
		if(!BitrixDiskExternalLink::isValidValueForField('HASH', $params['hash']))
		{
			//bad hash
			return null;
		}
		$externalLink = BitrixDiskExternalLink::load(array('=HASH' => $params['hash']), array('OBJECT'));
		if (
			!$externalLink ||
			$externalLink->isExpired() ||
			$externalLink->hasPassword() ||
			!($externalLink->getObject() instanceof File))
		{
			//could not make preview
			return null;
		}
		$file = $externalLink->getFile();
		$params['fileId'] = $file->getId();
		$params['externalLink'] = true;
		ob_start();
		$APPLICATION->includeComponent(
				'bitrix:disk.file.preview',
				'',
				$params
		);
		return ob_get_clean();
	}
	return null;
}