From 423e0c5bb7befec8fc33f180059ab497ba980571 Mon Sep 17 00:00:00 2001 From: Vincent Vanwaelscappel Date: Fri, 15 Oct 2021 09:42:24 +0200 Subject: [PATCH] wip #4793 @0.25 --- src/Compiler/Compiler.php | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/Compiler/Compiler.php b/src/Compiler/Compiler.php index ea92527..bc78d8b 100644 --- a/src/Compiler/Compiler.php +++ b/src/Compiler/Compiler.php @@ -5,6 +5,7 @@ namespace Fluidbook\Tools\Compiler; use Cubist\Util\Files\Files; use Cubist\Util\Files\VirtualDirectory; use Cubist\Util\PHP; +use Cubist\Util\Zip; use Exception; use Fluidbook\Tools\Jobs\ProcessFile; use Fluidbook\Tools\Jobs\ProcessPage; @@ -19,6 +20,7 @@ use Illuminate\Queue\Jobs\SyncJob; use Illuminate\Queue\SerializesModels; use JsonException; use stdClass; +use ZipStream\File; class Compiler implements ShouldQueue, ShouldBeUnique { @@ -262,6 +264,24 @@ class Compiler implements ShouldQueue, ShouldBeUnique } } + public function unzipFile($file, $moveAssets = false, $baseDir = null) + { + $fdir = is_null($baseDir) ? 'data/links/' . str_replace('.', '_', $file) : $baseDir; + + $tmp = Files::tmpdir(); + $dir = $tmp . '/' . $fdir; + Files::mkdir($dir); + + Zip::extract($this->wdir . '/' . $file, $dir); + + if ($moveAssets) { + `mv $dir/Assets/* $dir`; + rmdir($dir . '/Assets'); + } + + return array('dir' => $dir, 'fdir' => $fdir); + } + protected function compilePageNumbers() { -- 2.39.5