From: Vincent Vanwaelscappel Date: Thu, 13 Mar 2025 18:30:28 +0000 (+0100) Subject: wip #7390 @0.25 X-Git-Url: http://git.cubedesigners.com/?a=commitdiff_plain;h=fae358cec793ebb60fb73be54e8eb0bf23c206df;p=fluidbook-toolbox.git wip #7390 @0.25 --- diff --git a/app/Http/Controllers/Admin/Operations/FluidbookPublication/Services/ExportPdfOperation.php b/app/Http/Controllers/Admin/Operations/FluidbookPublication/Services/ExportPdfOperation.php index 8c78fa558..9ab58ab67 100644 --- a/app/Http/Controllers/Admin/Operations/FluidbookPublication/Services/ExportPdfOperation.php +++ b/app/Http/Controllers/Admin/Operations/FluidbookPublication/Services/ExportPdfOperation.php @@ -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'); }