]> git.mjollnir.org Git - moodle.git/commitdiff
MDL-15904 fixed assignment reset
authorskodak <skodak>
Sun, 17 Aug 2008 12:04:42 +0000 (12:04 +0000)
committerskodak <skodak>
Sun, 17 Aug 2008 12:04:42 +0000 (12:04 +0000)
mod/assignment/lib.php

index 02ffc55490de253a932eafb8988430a8f71f6944..cde83f67a61e63380db120cd57312987b3eac81c 100644 (file)
@@ -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');
                 }
             }