]> jfr.im git - irc/unrealircd/unrealircd-webpanel.git/commitdiff
Need to get the files out of the dir lol
authorValerie Pond <redacted>
Sat, 13 Jul 2024 00:13:57 +0000 (08:13 +0800)
committerValerie Pond <redacted>
Sat, 13 Jul 2024 00:13:57 +0000 (08:13 +0800)
Classes/class-upgrade.php

index 5e880d420e1fc80e3275a006f7d79280affa1633..cbb19aa67b239503fe1385a966c7926001f53978 100644 (file)
@@ -137,21 +137,7 @@ class Upgrade
     
     function extractToWebdir()
     {
-        $zip = new ZipArchive;
-        if ($zip->open($this->temp_dir."unrealircd-webpanel-upgrade.zip") === true)
-        {
-            $extracted = $zip->extractTo($this->web_dir);
-            $zip->close();
-            if (!$extracted)
-            {
-                error_log("Cannot extract to web directory. Permission denied.");
-                return false;
-            }
-            return true;
-        } else {
-            error_log("Cannot open zip at $this->temp_dir");
-            return false;
-        }
+        recurse_copy($this->temp_extracted_dir, $this->web_dir);
     }
     
     /**
@@ -258,4 +244,21 @@ function deleteDirectoryContents($dir) {
     closedir($handle);
 
     return true;
+}
+
+function recurse_copy($src, $dst) {
+    $dir = opendir($src);
+    @mkdir($dst);
+    while(false !== ( $file = readdir($dir)) )
+        if (( $file != '.' ) && ( $file != '..' ))
+        {
+            if ( is_dir($src . '/' . $file) )
+                recurse_copy($src . '/' . $file, $dst . '/' . $file);
+
+            else
+                copy($src . '/' . $file, $dst . '/' . $file);
+        }
+        
+
+    closedir($dir);
 }
\ No newline at end of file