diff --git a/classes/MarketRelease.class.php b/classes/MarketRelease.class.php index 22c941706d03c57db08ccca1a0b2b14e63b52a07..cb45d5e205f5fa5c70ed8fb052b0d5ad1c0ae2f9 100755 --- a/classes/MarketRelease.class.php +++ b/classes/MarketRelease.class.php @@ -1,6 +1,5 @@ <?php -require_once 'lib/datei.inc.php'; require_once __DIR__."/../vendor/Parsedown.php"; class MarketRelease extends SimpleORMap { @@ -46,7 +45,7 @@ class MarketRelease extends SimpleORMap { } else { return false; } - unzip_file($file, $tmp_folder); + Studip\ZipArchive::extractToPath($file, $tmp_folder); $objects = scandir($tmp_folder); if (count($objects) === 3) { foreach ($objects as $object) { @@ -179,8 +178,9 @@ class MarketRelease extends SimpleORMap { file_put_contents($dir."/plugin.manifest", $this->createManifest($manifest)); $hash = md5(uniqid()); $plugin_raw = $GLOBALS['TMP_PATH']."/plugin_$hash.zip"; - create_zip_from_directory($dir, $plugin_raw); - + $zip = Studip\ZipArchive::create($plugin_raw); + $zip->addFromPath($dir); + $zip->close(); if ($manifest['studipMaxVersion'] !== $this['studip_max_version']) { copy($plugin_raw, $this->getFilePath()); } else {