• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/ui/viewer/previewmanager.php
  • Класс: BitrixMainUIViewerPreviewManager
  • Вызов: PreviewManager::attachPreviewToFileId
public function attachPreviewToFileId(int $fileId, ?int $previewId, ?int $previewImageId): MainORMDataResult
{
	$updatedFields = array_filter([
		'PREVIEW_IMAGE_ID' => $previewImageId,
		'PREVIEW_ID' => $previewId,
	]);

	if (empty($updatedFields))
	{
		return new MainORMDataResult();
	}

	$alreadyPreview = $this->getFilePreviewEntryByFileId($fileId);
	if (isset($alreadyPreview['ID']))
	{
		$result = FilePreviewTable::update($fileId, $updatedFields);
	}
	else
	{
		$addedFields = $updatedFields;
		$addedFields['FILE_ID'] = $fileId;

		$result = FilePreviewTable::add($addedFields);
	}

	return $result;
}