]> _ Git - cubist_util.git/commitdiff
wait #5867
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Wed, 19 Apr 2023 09:17:46 +0000 (11:17 +0200)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Wed, 19 Apr 2023 09:17:46 +0000 (11:17 +0200)
src/Zip.php

index 259715bbb686c9ab5a039d15aa4992bba86676c6..ba099df9e22178c268ba7c18f6b0ff1898a81ea6 100644 (file)
@@ -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;
     }