From 75cf9199320379c7a36d0ce50b248b7f149b3dd2 Mon Sep 17 00:00:00 2001 From: Vincent Vanwaelscappel Date: Tue, 5 Sep 2023 19:29:04 +0200 Subject: [PATCH] wip #6247 @1 --- app/Fluidbook/SocialImage.php | 8 ++++++-- .../Operations/FluidbookPublication/PreviewOperation.php | 4 ++++ app/Models/FluidbookPublication.php | 6 ++++++ 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/app/Fluidbook/SocialImage.php b/app/Fluidbook/SocialImage.php index 0d8f70606..102f01729 100644 --- a/app/Fluidbook/SocialImage.php +++ b/app/Fluidbook/SocialImage.php @@ -16,6 +16,10 @@ class SocialImage */ public static function createSocialImage($fluidbook, $force = false) { + if ($fluidbook->getPagesNumber() === 0) { + return false; + } + $id = $fluidbook->id; $wid = $fluidbook->getAssetDir() . '/'; @@ -69,9 +73,9 @@ class SocialImage * @return array * @throws \Exception */ - public static function getSocialImageSize($fluidbook, $image=null) + public static function getSocialImageSize($fluidbook, $image = null) { - $socialImage = self::socialImagePath($fluidbook->id,$image); + $socialImage = self::socialImagePath($fluidbook->id, $image); if (!file_exists($socialImage)) { return null; } diff --git a/app/Http/Controllers/Admin/Operations/FluidbookPublication/PreviewOperation.php b/app/Http/Controllers/Admin/Operations/FluidbookPublication/PreviewOperation.php index 825105149..9771ea2c6 100644 --- a/app/Http/Controllers/Admin/Operations/FluidbookPublication/PreviewOperation.php +++ b/app/Http/Controllers/Admin/Operations/FluidbookPublication/PreviewOperation.php @@ -119,6 +119,10 @@ trait PreviewOperation { PHP::neverStop(false); + if ($fluidbook->getPagesNumber() === 0) { + abort(404, __('Cette publication ne comporte aucune page')); + } + $isScorm = $version === 'scorm'; $dest = $fluidbook->getFinalPath($theme, $isScorm); diff --git a/app/Models/FluidbookPublication.php b/app/Models/FluidbookPublication.php index f24ed74c3..d67b1d96e 100644 --- a/app/Models/FluidbookPublication.php +++ b/app/Models/FluidbookPublication.php @@ -493,6 +493,9 @@ class FluidbookPublication extends ToolboxSettingsModel if ($page < 1) { $page = 1; } + if ($page > $this->getPagesNumber()) { + return null; + } return self::_getDocument($this->getComposition()[$page][0]); } @@ -502,6 +505,9 @@ class FluidbookPublication extends ToolboxSettingsModel $page = 1; } $document = $this->getDocument($page); + if(null===$document){ + return null; + } return $document->getPageSize($this->getComposition()[$page][1]); } -- 2.39.5