]> _ Git - fluidbook-toolbox.git/commitdiff
wip #6265 @0:10
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Mon, 11 Sep 2023 12:50:19 +0000 (14:50 +0200)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Mon, 11 Sep 2023 12:50:19 +0000 (14:50 +0200)
app/Fluidbook/Link/LinksData.php

index d0fcf69fe1b225effc3b3c6070a4af562a3bce5b..e470dc3dadabac59cea961c908328bb24d2975f3 100644 (file)
@@ -177,24 +177,29 @@ class LinksData
         }
 
         $r = self::_decodegzfile($file);
-        $meta = array_merge(['version' => 2, 'onepage' => false], self::_decodegzfile($metafile));
+        if (is_array($r)) {
+            $meta = array_merge(['version' => 2, 'onepage' => false], self::_decodegzfile($metafile));
 
-        /** @var FluidbookPublication $fluidbook */
-        $fluidbook = FluidbookPublication::withoutGlobalScopes()->find($book_id);
-        if ($fluidbook->isOnePage() && !$meta['onepage']) {
-            self::_moveToOnePageLinks($r['links'], $r['rulers'], $fluidbook);
-        }
+            /** @var FluidbookPublication $fluidbook */
+            $fluidbook = FluidbookPublication::withoutGlobalScopes()->find($book_id);
+            if ($fluidbook->isOnePage() && !$meta['onepage']) {
+                self::_moveToOnePageLinks($r['links'], $r['rulers'], $fluidbook);
+            }
 
-        $links = self::_UID($r['links']);
-        $rulers = self::_UID($r['rulers']);
+            $links = self::_UID($r['links']);
+            $rulers = self::_UID($r['rulers']);
 
-        if ($forceDecrypt || can('fluidbook-publication:links:edit-animations')) {
-            $links = Link::decryptLinks($links);
+            if ($forceDecrypt || can('fluidbook-publication:links:edit-animations')) {
+                $links = Link::decryptLinks($links);
+            } else {
+                $links = Link::encryptLinks($links);
+            }
+
+            self::_fixLinks($links);
         } else {
-            $links = Link::encryptLinks($links);
+            $links = [];
+            $rulers = [];
         }
-
-        self::_fixLinks($links);
     }
 
     protected static function _decodegzfile($file)