]> _ Git - fluidbook-toolbox.git/commitdiff
wip #6247 @1
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Tue, 5 Sep 2023 17:29:04 +0000 (19:29 +0200)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Tue, 5 Sep 2023 17:29:04 +0000 (19:29 +0200)
app/Fluidbook/SocialImage.php
app/Http/Controllers/Admin/Operations/FluidbookPublication/PreviewOperation.php
app/Models/FluidbookPublication.php

index 0d8f70606c38c50689c85013c1c328abee89f2fb..102f017299300fa682ba37f3e92fb791bbf37542 100644 (file)
@@ -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;
         }
index 82510514928dbacf787fbb8ab66b91d8063e5a00..9771ea2c6d345be11aa50efc41b705fac883b38a 100644 (file)
@@ -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);
index f24ed74c3e10fdbf3d24a845d51920faa5f4ba27..d67b1d96e427753f5ed2633cab6146812b303973 100644 (file)
@@ -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]);
     }