public function grade_jclic($jclic, $userid, $record) { global $CFG, $DB; $record = (object) (array) $record; $defaultsettings = array('userid' => $userid, 'attempts' => 1, 'totaltime' => "1' 13''", 'starttime' => time(), 'done' => true, 'rawgrade' => 0); foreach ($defaultsettings as $name => $value) { if (!isset($record->{$name})) { $record->{$name} = $value; } } $grades = array($userid => $record); $cm = get_coursemodule_from_instance('jclic', $jclic->id); $jclic->cmidnumber = $cm->idnumber; return jclic_grade_item_update($jclic, $grades); }
/** * Update the gradebook information for this jclic. * * @param bool $reset If true, will reset all grades in the gradbook for this jclic * @param int $coursemoduleid This is required because it might not exist in the database yet * @return bool */ public function update_gradebook($reset, $coursemoduleid) { global $CFG; require_once $CFG->dirroot . '/mod/jclic/lib.php'; $jclic = clone $this->instance; $jclic->cmidnumber = $coursemoduleid; $param = null; if ($reset) { $param = 'reset'; } return jclic_grade_item_update($jclic, $param); }
/** * Removes all grades from gradebook * @param int $courseid * @param string optional type */ function jclic_reset_gradebook($courseid) { global $CFG, $DB; $params = array('courseid' => $courseid); $sql = "SELECT j.*, cm.idnumber as cmidnumber, j.course as courseid\n FROM {jclic} j, {course_modules} cm, {modules} m\n WHERE m.name='jclic' AND m.id=cm.module AND cm.instance=j.id AND j.course=:courseid "; if ($jclics = $DB->get_records_sql($sql, $params)) { foreach ($jclics as $jclic) { jclic_grade_item_update($jclic, 'reset'); } } }