• Модуль: disk
  • Путь к файлу: ~/bitrix/modules/disk/lib/controller/baseobject.php
  • Класс: BitrixDiskControllerBaseObject
  • Вызов: BaseObject::parseExternalLinkObject
private function parseExternalLinkObject(DiskExternalLink $extLink): array
{
	$driver = Driver::getInstance();
	$link = new Uri($driver->getUrlManager()->getShortUrlExternalLink(array(
		'hash' => $extLink->getHash(),
		'action' => 'default',
	), true));

	$canEditDocument = null;
	$availableEdit = $extLink->availableEdit();
	if ($availableEdit)
	{
		$canEditDocument = $extLink->getAccessRight() === $extLink::ACCESS_RIGHT_EDIT;
	}

	return [
		'externalLink' => [
			'id' => $extLink->getId(),
			'objectId' => $extLink->getObjectId(),
			'hash' => $extLink->getHash(),
			'link' => $link,
			'hasPassword' => $extLink->hasPassword(),
			'hasDeathTime' => $extLink->hasDeathTime(),
			'availableEdit' => $availableEdit,
			'canEditDocument' => $canEditDocument,
			'deathTime' => $extLink->getDeathTime(),
			'deathTimeTimestamp' => $extLink->hasDeathTime()? $extLink->getDeathTime()->getTimestamp() : null,
		],
	];
}