]> _ Git - fluidbook-toolbox.git/commitdiff
wip #7390 @0.25
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Thu, 13 Mar 2025 18:30:28 +0000 (19:30 +0100)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Thu, 13 Mar 2025 18:30:28 +0000 (19:30 +0100)
app/Http/Controllers/Admin/Operations/FluidbookPublication/Services/ExportPdfOperation.php

index 8c78fa558b8c6bbc76fcdc9326fe62dde377de0a..9ab58ab670ca2020a73fe42ebfe50627d023ac62 100644 (file)
@@ -36,7 +36,13 @@ trait ExportPdfOperation
     {
         set_time_limit(0);
         /** @var FluidbookPublication $book */
-        $book = FluidbookPublication::withoutGlobalScopes()->where('cid', $cid)->first();
+
+        $e = explode('-', $cid);
+        if (count($e) == 2) {
+            $book = FluidbookPublication::withoutGlobalScopes()->where('id', $e[0])->where('cid', $e[1])->first();
+        } else {
+            $book = FluidbookPublication::withoutGlobalScopes()->where('cid', $cid)->first();
+        }
         // Return the file
         return XSendFileController::sendfileNoCache($this->getPDFComplex($book, $range, $print));
     }
@@ -101,7 +107,7 @@ trait ExportPdfOperation
         // Paths init
         $baseDocument = $this->getPDFComplexBaseDocument($book);
         $destDir = Files::mkdir($book->protected_path('fluidbookpublication/cache/exportpdf/' . $book->id));
-        $fname = md5($baseDocument) . '-' . md5(implode(',%ù', $range) . ($print ? '1' : '0')) . '.pdf';
+        $fname = Files::hashFileAttributes($baseDocument) . '-' . md5(implode(',%ù', $range) . ($print ? '1' : '0')) . '.pdf';
         $destFile = $destDir . '/' . $fname;
 
         // If result exists, don't make the pdf again
@@ -151,7 +157,6 @@ trait ExportPdfOperation
 
     public function getPDFComplexBaseDocument($book, $force = false)
     {
-        global $core;
         $mode = $force ? $force : $book->bookmarkUsePDF;
         /** @var $book FluidbookPublication */
         $wid = $book->getAssetDir();
@@ -166,6 +171,7 @@ trait ExportPdfOperation
             default:
                 break;
         }
+
         if (!$res || !file_exists($res) || is_dir($res)) {
             $res = Files::firstThatExists($book->getPDFDir() . 'original.pdf', $book->getPDFDir() . 'normal.pdf');
         }