From e51cad296be8d2e1c8e15d0280d2984d0ef9bacb Mon Sep 17 00:00:00 2001 From: Vincent Vanwaelscappel Date: Wed, 19 Apr 2023 11:17:46 +0200 Subject: [PATCH] wait #5867 --- src/Zip.php | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/src/Zip.php b/src/Zip.php index 259715b..ba099df 100644 --- a/src/Zip.php +++ b/src/Zip.php @@ -55,22 +55,16 @@ class Zip * @param int $compression * @return CommandLine */ - public static function archive($source, $zip, $compression = 0) + public static function archive($source, $zip, $compression = 0, $keepSymbolicLinks = true) { $zipexe = 'zip'; $dir = dirname($zip); Files::mkdir($dir); - - if (!is_numeric($compression)) { - $compression = 0; - } - $compression = round($compression); - $compression = max(0, min(9, $compression)); - $cl = new CommandLine($zipexe); + $cl->setArg(max(0, min(9, round($compression)))); if (is_array($source)) { - $cl->setArg($compression); + $cl->setArg('j'); $cl->setArg(null, $zip); foreach ($source as $item) { @@ -86,6 +80,9 @@ class Zip $cl->setArg(null, $zip); $cl->setArg(null, '*'); } + if ($keepSymbolicLinks) { + $cl->setArg('symlinks'); + } $cl->execute(); return $cl; } -- 2.39.5