From dcffbe5411350c35a9d025505dffd512b254dbd0 Mon Sep 17 00:00:00 2001 From: Martin Dougiamas Date: Thu, 8 Jul 2010 03:34:22 +0000 Subject: [PATCH] MDL-21861 Made these assignment events more generic, so that they can be used by other activity modules (like Workshop etc). assessable_file_uploaded and assessable_files_done We are doing it this way because MULTIPLE plagiarism **plugins** may need to handle these events using cron, so it's good to get them in a queue. The other way to do this would be to call a function in plagiarism core and have that generate the event, but there is not really any advantage in that. Conceivably something other than plagiarism plugins might be interested in these events later on. --- .../type/upload/assignment.class.php | 32 ++++++++++--------- .../type/uploadsingle/assignment.class.php | 17 +++++----- 2 files changed, 26 insertions(+), 23 deletions(-) diff --git a/mod/assignment/type/upload/assignment.class.php b/mod/assignment/type/upload/assignment.class.php index bc1d760dcdc..2a7486fdd11 100644 --- a/mod/assignment/type/upload/assignment.class.php +++ b/mod/assignment/type/upload/assignment.class.php @@ -594,15 +594,16 @@ class assignment_upload extends assignment_base { if (!$this->drafts_tracked()) { $this->email_teachers($submission); } - //trigger event with information about this file. + + // Let Moodle know that an assessable file was uploaded (eg for plagiarism detection) $eventdata = new object(); - $eventdata->component = 'mod/assignment'; - $eventdata->course = $this->course; - $eventdata->assignment = $this->assignment; - $eventdata->cm = $this->cm; - $eventdata->user = $USER; - $eventdata->file = $file; - events_trigger('assignment_file_sent', $eventdata); + $eventdata->modulename = 'assignment'; + $eventdata->cmid = $this->cm->id; + $eventdata->itemid = $submission->id; + $eventdata->courseid = $this->course->id; + $eventdata->userid = $USER->id; + $eventdata->file = $file; + events_trigger('assessable_file_uploaded', $eventdata); redirect('view.php?id='.$this->cm->id); } else { @@ -709,14 +710,15 @@ class assignment_upload extends assignment_base { $this->view_footer(); die; } - //trigger event with information about this file. + + // Trigger assessable_files_done event to show files are complete $eventdata = new object(); - $eventdata->component = 'mod/assignment'; - $eventdata->course = $this->course; - $eventdata->assignment = $this->assignment; - $eventdata->cm = $this->cm; - $eventdata->user = $USER; - events_trigger('assignment_finalize_sent', $eventdata); + $eventdata->modulename = 'assignment'; + $eventdata->cmid = $this->cm->id; + $eventdata->itemid = $submission->id; + $eventdata->courseid = $this->course->id; + $eventdata->userid = $USER->id; + events_trigger('assessable_files_done', $eventdata); redirect($returnurl); } diff --git a/mod/assignment/type/uploadsingle/assignment.class.php b/mod/assignment/type/uploadsingle/assignment.class.php index 94539dfcb7f..2c2fdb86cac 100644 --- a/mod/assignment/type/uploadsingle/assignment.class.php +++ b/mod/assignment/type/uploadsingle/assignment.class.php @@ -114,15 +114,16 @@ class assignment_uploadsingle extends assignment_base { 'view.php?a='.$this->assignment->id, $this->assignment->id, $this->cm->id); $this->update_grade($submission); $this->email_teachers($submission); - //trigger event with information about this file. + + // Let Moodle know that an assessable file was uploaded (eg for plagiarism detection) $eventdata = new object(); - $eventdata->component = 'mod/assignment'; - $eventdata->course = $this->course; - $eventdata->assignment = $this->assignment; - $eventdata->cm = $this->cm; - $eventdata->user = $USER; - $eventdata->file = $file; - events_trigger('assignment_file_sent', $eventdata); + $eventdata->modulename = 'assignment'; + $eventdata->cmid = $this->cm->id; + $eventdata->itemid = $submission->id; + $eventdata->courseid = $this->course->id; + $eventdata->userid = $USER->id; + $eventdata->file = $file; + events_trigger('assessable_file_uploaded', $eventdata); redirect('view.php?id='.$this->cm->id, get_string('uploadedfile')); }