• Модуль: documentgenerator
  • Путь к файлу: ~/bitrix/modules/documentgenerator/lib/model/externallinktable.php
  • Класс: BitrixDocumentGeneratorModelExternalLinkTable
  • Вызов: ExternalLinkTable::getPublicUrlsByDocumentId
static function getPublicUrlsByDocumentId(int $documentId, bool $isAbsolute = false): array
{
	$result = [];
	if($documentId > 0)
	{
		$item = static::getList([
			'select' => ['HASH', 'DOCUMENT_PDF_ID' => 'DOCUMENT.PDF_ID', 'DOCUMENT_IMAGE_ID' => 'DOCUMENT.IMAGE_ID'],
			'filter' => ['=DOCUMENT_ID' => $documentId],
		])->fetch();
		if($item)
		{
			$hash = $item['HASH'];
			$urlManager = UrlManager::getInstance();
			$result['hash'] = $hash;
			$result['publicDownloadUrl'] = $urlManager->create('documentgenerator.api.publicdocument.getFile', [
				'id' => $documentId,
				'hash' => $hash,
			], $isAbsolute);
			if($item['DOCUMENT_IMAGE_ID'] > 0)
			{
				$result['imageUrl'] = $urlManager->create('documentgenerator.api.publicdocument.getImage', [
					'id' => $documentId,
					'hash' => $hash,
				], $isAbsolute);
			}
			if($item['DOCUMENT_PDF_ID'] > 0)
			{
				$result['pdfUrl'] = $urlManager->create('documentgenerator.api.publicdocument.getPdf', [
					'id' => $documentId,
					'hash' => $hash,
				], $isAbsolute);
				$result['printUrl'] = $urlManager->create('documentgenerator.api.publicdocument.showPdf', [
					'print' => 'y',
					'id' => $documentId,
					'hash' => $hash,
				], $isAbsolute);
			}
		}
	}

	return $result;
}