From: Vincent Vanwaelscappel Date: Mon, 25 Sep 2023 14:05:58 +0000 (+0200) Subject: wait #6188 @0.5 X-Git-Url: http://git.cubedesigners.com/?a=commitdiff_plain;h=0711089cff3aa891a21b4275344179312e4e7ad9;p=fluidbook-toolbox.git wait #6188 @0.5 --- diff --git a/app/Http/Controllers/Admin/Operations/FluidbookPublication/CompositionOperation.php b/app/Http/Controllers/Admin/Operations/FluidbookPublication/CompositionOperation.php index dc2e1af14..25e530cdb 100644 --- a/app/Http/Controllers/Admin/Operations/FluidbookPublication/CompositionOperation.php +++ b/app/Http/Controllers/Admin/Operations/FluidbookPublication/CompositionOperation.php @@ -24,24 +24,28 @@ trait CompositionOperation Route::match(['post'], $segment . '/uploaddocument', $controller . '@upload'); Route::match(['get'], $segment . '/uploadProgress/{uploadID}', $controller . '@uploadProgress'); Route::match(['get'], $segment . '/docInfos/{doc_id}', $controller . '@docInfos'); - Route::match(['get'], $segment . '/{fluidbook_id}/{type}/{page}.txt', $controller . '@getPageText'); + Route::match(['get'], $segment . '/{fluidbook_id}/{type}/{page}.{ext}', $controller . '@getPageAsset'); } protected function setupCompositionDefaults() { } - protected function getPageText($fluidbook_id, $type, $page) + protected function getPageAsset($fluidbook_id, $type, $page, $ext) { - $types = ['texts' => FluidbookDocument::TEXT_PLAIN, 'index' => FluidbookDocument::TEXT_INDEX, 'layout' => FluidbookDocument::TEXT_LAYOUT]; - if (!isset($types[$type])) { - abort(404, 'Text type not found'); - } if (!FluidbookPublication::hasPermission($fluidbook_id)) { abort(401); } /** @var FluidbookPublication $fb */ $fb = FluidbookPublication::withoutGlobalScopes()->find($fluidbook_id); + if ($type === 'originalpdf') { + $doc = $fb->getDocument($page); + return XSendFileController::sendfile(protected_path('fluidbookpublication/docs/' . $doc->id . '/original.pdf'), 86400, ['Content-Disposition', 'attachment; filename="' . $doc->id . '.pdf"']); + } + $types = ['texts' => FluidbookDocument::TEXT_PLAIN, 'index' => FluidbookDocument::TEXT_INDEX, 'layout' => FluidbookDocument::TEXT_LAYOUT]; + if (!isset($types[$type])) { + abort(404, 'Text type not found'); + } $contentType = 'text/plain'; if ($type == FluidbookDocument::TEXT_LAYOUT) { $path = $fb->getHightlightFile($page); diff --git a/resources/views/fields/fluidbook_composition.blade.php b/resources/views/fields/fluidbook_composition.blade.php index 896d0a88b..88015880b 100644 --- a/resources/views/fields/fluidbook_composition.blade.php +++ b/resources/views/fields/fluidbook_composition.blade.php @@ -463,6 +463,12 @@ foldsee: { name: "{{__('Visualiser')}}", items: { + originalpdf: { + name: "{{__('PDF Original')}}", + callback: function (key, opt) { + window.open('/fluidbook-publication/' + {{$entry->id}} + '/originalpdf/' + ($(opt.$trigger[0]).index() + 1) + '.pdf'); + }, + }, seetexts: { name: "{{__('Textes extraits')}}", callback: function (key, opt) {