}
}
}
-
-/**
- * Regular jobs to execute via cron
- */
-function workshopallocation_scheduled_cron() {
- global $CFG, $DB;
-
- $sql = "SELECT w.*
- FROM {workshopallocation_scheduled} a
- JOIN {workshop} w ON a.workshopid = w.id
- WHERE a.enabled = 1
- AND w.phase = 20
- AND w.submissionend > 0
- AND w.submissionend < ?
- AND (a.timeallocated IS NULL OR a.timeallocated < w.submissionend)";
-
- $workshops = $DB->get_records_sql($sql, array(time()));
-
- if (empty($workshops)) {
- mtrace('... no workshops awaiting scheduled allocation. ', '');
- return;
- }
-
- mtrace('... executing scheduled allocation in '.count($workshops).' workshop(s) ... ', '');
-
- // let's have some fun!
- require_once($CFG->dirroot.'/mod/workshop/locallib.php');
-
- foreach ($workshops as $workshop) {
- $cm = get_coursemodule_from_instance('workshop', $workshop->id, $workshop->course, false, MUST_EXIST);
- $course = $DB->get_record('course', array('id' => $cm->course), '*', MUST_EXIST);
- $workshop = new workshop($workshop, $cm, $course);
- $allocator = $workshop->allocator_instance('scheduled');
- $result = $allocator->execute();
-
- // todo inform the teachers about the results
- }
-}