]> git.mjollnir.org Git - moodle.git/commitdiff
Addition of exercise_refresh_events function.
authorrkingdon <rkingdon>
Tue, 5 Oct 2004 20:16:28 +0000 (20:16 +0000)
committerrkingdon <rkingdon>
Tue, 5 Oct 2004 20:16:28 +0000 (20:16 +0000)
mod/exercise/lib.php

index 8f99520fef3bb021a03d49d3a389681de2c496ae..f2a406207b48bbb1d74692f73c1dde9c0301f5d1 100644 (file)
@@ -424,6 +424,51 @@ function exercise_print_recent_activity($course, $isteacher, $timestart) {
 }
 
 
+///////////////////////////////////////////////////////////////////////////////
+function exercise_refresh_events($courseid = 0) {
+// This standard function will check all instances of this module
+// and make sure there are up-to-date events created for each of them.
+// If courseid = 0, then every exercise event in the site is checked, else
+// only exercise events belonging to the course specified are checked.
+// This function is used, in its new format, by restore_refresh_events()
+
+    if ($courseid == 0) {
+        if (! $exercises = get_records("exercise")) {
+            return true;        
+        }   
+    } else {
+        if (! $exercises = get_records("exercise", "course", $courseid)) {
+            return true;
+        }
+    }
+    $moduleid = get_field('modules', 'id', 'name', 'exercise');
+    
+    foreach ($exercises as $exercise) {
+        $event = NULL;
+        $event->name        = addslashes($exercise->name);
+        $event->description = addslashes($exercise->description);
+        $event->timestart   = $exercise->deadline;
+
+        if ($event->id = get_field('event', 'id', 'modulename', 'exercise', 'instance', $exercise->id)) {
+            update_event($event);
+    
+        } else {
+            $event->courseid    = $exercise->course;
+            $event->groupid     = 0;
+            $event->userid      = 0;
+            $event->modulename  = 'exercise';
+            $event->instance    = $exercise->id; 
+            $event->eventtype   = 'deadline';
+            $event->timeduration = 0;
+            $event->visible     = get_field('course_modules', 'visible', 'module', $moduleid, 'instance', $exercise->id); 
+            add_event($event);
+        }
+
+    }
+    return true;
+}   
+
+
 /*******************************************************************/
 function exercise_update_instance($exercise) {
 // Given an object containing all the necessary data,