X-Git-Url: https://jfr.im/git/irc/unrealircd/unrealircd-webpanel.git/blobdiff_plain/091cbfa15867cbcbeca96b1d941bfc99cf100e68..cd26522ba6ff68c18e1504b022ca92f4d01827be:/Classes/class-upgrade.php diff --git a/Classes/class-upgrade.php b/Classes/class-upgrade.php index 5e880d4..e29f6df 100644 --- a/Classes/class-upgrade.php +++ b/Classes/class-upgrade.php @@ -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(self::$temp_extracted_dir, $this->web_dir); } /** @@ -258,4 +244,21 @@ function deleteDirectoryContents($dir) { closedir($handle); return true; -} \ No newline at end of file +} + +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); +}