From 6d01b92012d3482421527a1e07441c64bd1b63ea Mon Sep 17 00:00:00 2001 From: Vincent Vanwaelscappel Date: Thu, 14 Oct 2021 20:53:21 +0200 Subject: [PATCH] wip #4793 @0.25 --- app/Jobs/ProcessFluidbook.php | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/app/Jobs/ProcessFluidbook.php b/app/Jobs/ProcessFluidbook.php index bbe5e81..e254cd9 100644 --- a/app/Jobs/ProcessFluidbook.php +++ b/app/Jobs/ProcessFluidbook.php @@ -64,6 +64,24 @@ class ProcessFluidbook extends Compiler return $fname; } + protected function _zipAssets($id) + { + /** @var Asset $asset */ + $asset = Asset::find($id); + $collection = $asset->getMediaInField($asset->getAttributeValue('file_upload')); + $tmp = Files::tmpdir(); + $zip = Files::tempnam() . '.zip'; + + foreach ($collection as $item) { + /** @var $item Media */ + copy($item->getPath(), $tmp); + } + Zip::archive($tmp, $zip); + Files::rmdir($tmp); + return $zip; + } + + public function getLinks() { $links = $this->getLinksFromPDF(); @@ -107,6 +125,14 @@ class ProcessFluidbook extends Compiler $link['loop'] = false; $link['sound'] = true; } + } else if (stripos($e[0], 'slideshow/') === 0) { + $link['inline'] = $e[0] === 'slideshow/inline'; + $link['to'] = $this->_zipAssets($e[1]); + if ($link['inline']) { + $link['type'] = 15; + } else { + $link['type'] = 30; + } } $res[$k] = $link; } -- 2.39.5