From 50a19cc127fc5c9284e21e67f9e89082ade0d5d2 Mon Sep 17 00:00:00 2001 From: Vincent Vanwaelscappel Date: Tue, 15 Jul 2025 17:59:00 +0200 Subject: [PATCH] wip #7556 @1 --- .docker/dev/docker-compose.yml | 2 +- app/Fluidbook/Compiler/Compiler.php | 6 +++++- app/Models/FluidbookDocument.php | 19 +++++++++++++------ 3 files changed, 19 insertions(+), 8 deletions(-) diff --git a/.docker/dev/docker-compose.yml b/.docker/dev/docker-compose.yml index c465adb44..443b888a2 100644 --- a/.docker/dev/docker-compose.yml +++ b/.docker/dev/docker-compose.yml @@ -38,7 +38,7 @@ services: - '/home/toolbox/dev/.docker/config/rsyslog/rsyslog.conf:/etc/rsyslog.conf' - '/home/toolbox/dev/.docker/config/rsyslog/50-default.conf:/etc/rsyslog.d/50-default.conf' # Supervisor - - '/home/toolbox/dev/.docker/config/supervisor/:/etc/supervisor/conf.d/' + - '/home/toolbox/dev/.docker/config/supervisor/:/etc/supervisor/' # Composer - '/home/toolbox/dev/.docker/config/composer/:/root/.config/composer/' - '/home/toolbox/dev/.docker/config/composer/:/application/.config/composer/' diff --git a/app/Fluidbook/Compiler/Compiler.php b/app/Fluidbook/Compiler/Compiler.php index cfdef504b..9ed818c8f 100644 --- a/app/Fluidbook/Compiler/Compiler.php +++ b/app/Fluidbook/Compiler/Compiler.php @@ -1207,7 +1207,11 @@ class Compiler extends Base implements CompilerInterface, IVirtualDirectoryError } $svg = str_replace('$bookmark-color', Color::colorToCSS($this->themeSettings->bookmarkBackgroundColor), $svg); $res = []; - $xml = simplexml_load_string($svg); + try { + $xml = simplexml_load_string($svg); + } catch (\ErrorException $e) { + return $res; + } if (!$xml) { return $res; } diff --git a/app/Models/FluidbookDocument.php b/app/Models/FluidbookDocument.php index 2eb9d60a1..de07efbcf 100644 --- a/app/Models/FluidbookDocument.php +++ b/app/Models/FluidbookDocument.php @@ -83,16 +83,18 @@ class FluidbookDocument extends ToolboxModel Farm::setRegion($this->getRegion()); $this->processSync = $sync; - $this->updateProgression($uploadID, __('Nettoyage du document'), 1.3); + $this->updateProgression($uploadID, __('Nettoyage du document'), 1.2); $this->fixPDF(); - $this->updateProgression($uploadID, __('Découpe du document'), 1.4); + $this->updateProgression($uploadID, __('Découpe du document'), 1.3); $this->cropAndCut(); - $this->updateProgression($uploadID, __('Analyse du document'), 1.5); + $this->updateProgression($uploadID, __('Analyse du document'), 1.4); $this->checkInfos(true); - $this->updateProgression($uploadID, __('Séparation des pages'), 1.6); + $this->updateProgression($uploadID, __('Séparation des pages'), 1.5); $this->splitPDF(); - $this->updateProgression($uploadID, __('Extraction des textes'), 1.75); + $this->updateProgression($uploadID, __('Extraction des textes'), 1.6); $this->extractTexts(); + $this->updateProgression($uploadID, __('Extraction du HTML'), 1.75); + $this->extractMarkdown(); $this->updateProgression($uploadID, __('Extraction des liens'), 1.9); $this->extractLinks(); $this->updateProgression($uploadID, __('Conversion des pages'), 2); @@ -152,6 +154,11 @@ class FluidbookDocument extends ToolboxModel Farm::extractHighlightsData($this->getPDFSource(), $this->path(), 'standard', ''); } + public function extractMarkdown() + { + Farm::extractMarkdown($this->getPDFSource(), $this->path()); + } + public function extractLinks() { Farm::extractLinks($this->getPDFSource(), $this->path()); @@ -642,7 +649,7 @@ class FluidbookDocument extends ToolboxModel $moveFunction = ($file instanceof UploadedFile) ? 'move_uploaded_file' : 'rename'; $moveFunction($file->getPathname(), Files::mkdir($document->path()) . 'original.pdf'); - FluidbookDocumentUpload::updateProgression($uploadID, $document->id, __('Mise en file d\'attente du traitement du document'), 1.2); + FluidbookDocumentUpload::updateProgression($uploadID, $document->id, __('Mise en file d\'attente du traitement du document'), 1.05); $dispatch = $async ? 'dispatch' : 'dispatchSync'; FluidbookDocumentUpload::$dispatch($uploadID, $document, backpack_user(), $fluidbook->id); return ['uploadID' => $uploadID, 'document' => $document->id]; -- 2.39.5