public function delete() { $studid = $this->studentid; parent::delete(); $scheddata = $this->get_scheduler()->get_data(); scheduler_update_grades($scheddata, $studid); }
/** * Update all grades in gradebook. */ function scheduler_upgrade_grades() { global $DB; $sql = "SELECT COUNT('x')\n FROM {scheduler} s, {course_modules} cm, {modules} m\n WHERE m.name='scheduler' AND m.id=cm.module AND cm.instance=s.id"; $count = $DB->count_records_sql($sql); $sql = "SELECT s.*, cm.idnumber AS cmidnumber, s.course AS courseid\n FROM {scheduler} s, {course_modules} cm, {modules} m\n WHERE m.name='scheduler' AND m.id=cm.module AND cm.instance=s.id"; $rs = $DB->get_recordset_sql($sql); if ($rs->valid()) { $pbar = new progress_bar('schedulerupgradegrades', 500, true); $i = 0; foreach ($rs as $scheduler) { $i++; upgrade_set_timeout(60 * 5); // Set up timeout, may also abort execution. scheduler_update_grades($scheduler); $pbar->update($i, $count, "Updating scheduler grades ({$i}/{$count})."); } upgrade_set_timeout(); // Reset to default timeout. } $rs->close(); }