From 833d23be33c5eea2783a4d85b90de4e0124cdb99 Mon Sep 17 00:00:00 2001 From: Vincent Vanwaelscappel Date: Thu, 14 Sep 2023 09:31:24 +0200 Subject: [PATCH] wip #6188 @0.25 --- app/Fluidbook/Compiler/Links.php | 7 ++++--- app/Fluidbook/Compiler/Search.php | 11 +++++++++-- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/app/Fluidbook/Compiler/Links.php b/app/Fluidbook/Compiler/Links.php index d8d915368..c115034f2 100644 --- a/app/Fluidbook/Compiler/Links.php +++ b/app/Fluidbook/Compiler/Links.php @@ -148,7 +148,6 @@ trait Links $linksCopy = $links; - foreach ($linksCopy as $k => $linkData) { if ($linkData['type'] == Link::LAYER && $linkData['to'] == 'text') { $dupData = $linkData; @@ -161,6 +160,7 @@ trait Links array_push($links, $linkData); unset($links[$k]); } + if ($this->fluidbookSettings->PDFRendererIframe === 'svg' && (($linkData['type'] == Link::IFRAME && stristr($linkData['to'], '.pdf')) || ($linkData['type'] == Link::MULTIMEDIA && stristr($linkData['to'], '.pdf')))) { $ofile = $this->wdir . '/' . $linkData['to']; $dfile = $this->wdir . '/' . $linkData['to'] . '.svg'; @@ -173,10 +173,12 @@ trait Links $linkData['backgroundColor'] = '#fff'; $links[$k] = $linkData; } + if ($linkData['type'] == Link::PAGE_LABEL || $linkData == Link::ANCHOR) { $linkData['to'] = AnchorLink::normalizeAnchor($linkData['to']); $anchorExists[$linkData['to']] = $linkData; } + if ($linkData['type'] == Link::TEXT || $linkData['type'] == Link::IMAGE || $linkData['type'] == Link::LAYER) { $linkData = Link::decryptLink($linkData); $animations = ContentLink::parseAnimations($linkData['image_rollover'] ?? 'none'); @@ -195,6 +197,7 @@ trait Links } } } + if (isset($linkData['image']) && $linkData['image'] && $linkData['type'] != Link::ARTICLE && $linkData['type'] != Link::TEXT && $linkData['type'] != Link::COLOR && $linkData['type'] != Link::LAYER && $linkData['type'] != Link::IMAGE) { $dupData = $linkData; $dupData['image'] = ''; @@ -260,7 +263,6 @@ trait Links } } - if ($this->fluidbookSettings->anchorsAliases && file_exists($this->fluidbookSettings->anchorsAliases)) { $aliases = []; for ($i = 0; $i <= 2; $i++) { @@ -296,7 +298,6 @@ trait Links } } - $this->config->pagesOfCustomLinks = $pagesOfCustomLinks; $i = 1; diff --git a/app/Fluidbook/Compiler/Search.php b/app/Fluidbook/Compiler/Search.php index a10a8bb96..87840035e 100644 --- a/app/Fluidbook/Compiler/Search.php +++ b/app/Fluidbook/Compiler/Search.php @@ -10,7 +10,14 @@ trait Search { public function writeSearch() { - $cache = sha1($this->fluidbookSettings->highlightResults . '/--/' . $this->fluidbookSettings->searchWordSelectionAlgorithm . '///' . $this->fluidbookSettings->textExtraction . '|--|' . $this->fluidbookSettings->ignoreSearchSeparators . '|||' . $this->getFluidbook()->getCompositionUpdate() . '()()()' . FWSTK::lastUpdate()); + $cache = sha1($this->fluidbookSettings->highlightResults . '/--/' . + $this->fluidbookSettings->searchWordSelectionAlgorithm . '///' . + $this->fluidbookSettings->textExtraction . '|--|' . + $this->fluidbookSettings->ignoreSearchSeparators . '|||' . + $this->getFluidbook()->getCompositionUpdate() . '()()()' . + FWSTK::lastUpdate() . '$$$' . + $this->fluidbookSettings->search_mode . '=+=' + ); $cacheDir = Files::mkdir(protected_path('fluidbookpublication/index/' . $this->book_id . '/' . $cache . '/')); $indexFile = $cacheDir . '/search.index.js'; $textFile = $cacheDir . '/search.texts.js'; @@ -28,7 +35,7 @@ trait Search if ($this->fluidbookSettings->highlightResults) { $this->vdir->copy($cacheDir . '/search.highlight.js', 'data/search.highlight.js'); } - if ($this->fluidbookSettings->search_mode==='robust' || $this->fluidbookSettings->searchWordSelectionAlgorithm == 'expression') { + if ($this->fluidbookSettings->search_mode === 'robust' || $this->fluidbookSettings->searchWordSelectionAlgorithm == 'expression') { $this->vdir->copy($cacheDir . '/search.texts.js', 'data/search.texts.js'); } } -- 2.39.5