From b6accf69a0a9f2483fd3dbd060e11e65ee6b567b Mon Sep 17 00:00:00 2001 From: Dongsheng Cai Date: Tue, 4 May 2010 06:59:03 +0000 Subject: [PATCH] "MDL-13766, fixed download dir" --- files/files_ajax.php | 8 ++++---- lib/filelib.php | 15 +++++++++++++++ 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/files/files_ajax.php b/files/files_ajax.php index 088ecc3191b..55a7955d396 100755 --- a/files/files_ajax.php +++ b/files/files_ajax.php @@ -154,8 +154,8 @@ case 'zip': case 'downloaddir': $zipper = new zip_packer(); $fs = get_file_storage(); - $draftarea = file_get_draft_area_info($itemid); - if ($draftarea['filecount'] == 0) { + $area = file_get_user_area_info($itemid, $filearea); + if ($area['filecount'] == 0) { echo json_encode(false); die; } @@ -171,9 +171,9 @@ case 'downloaddir': // archive compressed file to an unused draft area $newdraftitemid = file_get_unused_draft_itemid(); - if ($newfile = $zipper->archive_to_storage(array($stored_file), $user_context->id, $filearea, $newdraftitemid, '/', $filename, $USER->id)) { + if ($newfile = $zipper->archive_to_storage(array($stored_file), $user_context->id, 'user_draft', $newdraftitemid, '/', $filename, $USER->id)) { $return = new stdclass; - $return->fileurl = $CFG->wwwroot . '/draftfile.php/' . $user_context->id .'/'.$filearea.'/'.$newdraftitemid.'/'.$filename; + $return->fileurl = $CFG->wwwroot . '/draftfile.php/' . $user_context->id .'/user_draft/'.$newdraftitemid.'/'.$filename; $return->filepath = $parent_path; echo json_encode($return); } else { diff --git a/lib/filelib.php b/lib/filelib.php index 6899c15b4b1..944bbb7ea9a 100644 --- a/lib/filelib.php +++ b/lib/filelib.php @@ -484,6 +484,21 @@ function file_get_draft_area_info($draftitemid) { return $results; } +function file_get_user_area_info($draftitemid, $filearea = 'user_draft') { + global $CFG, $USER; + + $usercontext = get_context_instance(CONTEXT_USER, $USER->id); + $fs = get_file_storage(); + + $results = array(); + + // The number of files + $draftfiles = $fs->get_area_files($usercontext->id, $filearea, $draftitemid, 'id', false); + $results['filecount'] = count($draftfiles); + + return $results; +} + /** * Convert any string to a valid filepath