From: skodak Date: Sun, 17 Aug 2008 12:04:42 +0000 (+0000) Subject: MDL-15904 fixed assignment reset X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=4e866d5e9bae03859aaa58c710d639b54905e74f;p=moodle.git MDL-15904 fixed assignment reset --- diff --git a/mod/assignment/lib.php b/mod/assignment/lib.php index 02ffc55490..cde83f67a6 100644 --- a/mod/assignment/lib.php +++ b/mod/assignment/lib.php @@ -1889,7 +1889,6 @@ class assignment_base { */ function reset_userdata($data) { global $CFG, $DB; - require_once($CFG->libdir.'/filelib.php'); if (!$DB->count_records('assignment', array('course'=>$data->courseid, 'assignmenttype'=>$this->type))) { return array(); // no assignments of this type present @@ -1908,9 +1907,16 @@ class assignment_base { $DB->delete_records_select('assignment_submissions', "assignment IN ($assignmentssql)", $params); + // now get rid of all attachments + $fs = get_file_storage(); if ($assignments = $DB->get_records_sql($assignmentssql, $params)) { foreach ($assignments as $assignmentid=>$unused) { - fulldelete($CFG->dataroot.'/'.$data->courseid.'/moddata/assignment/'.$assignmentid); + if (!$cm = get_coursemodule_from_instance('assignment', $assignmentid)) { + continue; + } + $context = get_context_instance(CONTEXT_MODULE, $cm->id); + $fs->delete_area_files($context->id, 'assignment_submission'); + $fs->delete_area_files($context->id, 'assignment_response'); } }