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