From 7070268ecfcdbaeecb2336bae1734f5217b74510 Mon Sep 17 00:00:00 2001 From: moodler Date: Fri, 29 Aug 2008 06:03:52 +0000 Subject: [PATCH] This makes draft files appear inHTML editor etc It's almost an exact copy of userfile.php --- draftfile.php | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 70 insertions(+), 1 deletion(-) diff --git a/draftfile.php b/draftfile.php index 41d10f4d8639c..1c4210bf16f0e 100644 --- a/draftfile.php +++ b/draftfile.php @@ -1 +1,70 @@ -contextlevel != CONTEXT_USER) { + print_error('invalidarguments'); + } + + $userid = $context->instanceid; + if ($USER->id != $userid) { + print_error('invaliduserid'); + } + + switch ($filearea) { + case 'user_draft' : $itemid = (int)array_shift($args); break; + default: not_found(); + } + + $relativepath = '/'.implode('/', $args); + + + $fs = get_file_storage(); + + $fullpath = $context->id.$filearea.$itemid.$relativepath; + + if (!$file = $fs->get_file_by_hash(sha1($fullpath)) or $file->get_filename() == '.') { + not_found(); + } + + // ======================================== + // finally send the file + // ======================================== + session_write_close(); // unlock session during fileserving + send_stored_file($file, 0, false, $forcedownload); + + function not_found() { + global $CFG; + header('HTTP/1.0 404 not found'); + print_error('filenotfound', 'error', $CFG->wwwroot.'/'); //this is not displayed on IIS?? + }