From: Frederic Massart Date: Wed, 12 Dec 2012 06:37:55 +0000 (+0800) Subject: MDL-32639 files: Zipping a folder does not overwrite existing files X-Git-Tag: v2.3.4~13^2 X-Git-Url: http://git.moodle.org/gw?p=moodle.git;a=commitdiff_plain;h=03f8841d9b809e35f228ffb2415f027e188c9795;hp=-c;ds=sidebyside MDL-32639 files: Zipping a folder does not overwrite existing files --- 03f8841d9b809e35f228ffb2415f027e188c9795 diff --git a/repository/draftfiles_ajax.php b/repository/draftfiles_ajax.php index 5e894500d22..31b7e151b1c 100644 --- a/repository/draftfiles_ajax.php +++ b/repository/draftfiles_ajax.php @@ -222,8 +222,9 @@ switch ($action) { $filepath = explode('/', trim($file->get_filepath(), '/')); $filepath = array_pop($filepath); + $zipfile = repository::get_unused_filename($draftid, $parent_path, $filepath . '.zip'); - if ($newfile = $zipper->archive_to_storage(array($filepath => $file), $user_context->id, 'user', 'draft', $draftid, $parent_path, $filepath.'.zip', $USER->id)) { + if ($newfile = $zipper->archive_to_storage(array($filepath => $file), $user_context->id, 'user', 'draft', $draftid, $parent_path, $zipfile, $USER->id)) { $return = new stdClass(); $return->filepath = $parent_path; echo json_encode($return); diff --git a/repository/draftfiles_manager.php b/repository/draftfiles_manager.php index fa966fca21d..7f4dee76e44 100644 --- a/repository/draftfiles_manager.php +++ b/repository/draftfiles_manager.php @@ -168,6 +168,7 @@ case 'zip': $filename = $filepath.'.zip'; } + $filename = repository::get_unused_filename($itemid, $parent_path, $filename); $newfile = $zipper->archive_to_storage(array($filepath => $file), $user_context->id, 'user', 'draft', $itemid, $parent_path, $filename, $USER->id); $home_url->param('action', 'browse');