/** * Removes all grades from gradebook * @param int $courseid * @param string optional type */ function glossary_reset_gradebook($courseid, $type = '') { global $CFG; switch ($type) { case 'main': $type = "AND g.mainglossary=1"; break; case 'secondary': $type = "AND g.mainglossary=0"; break; default: $type = ""; //all } $sql = "SELECT g.*, cm.idnumber as cmidnumber, g.course as courseid\n FROM {$CFG->prefix}glossary g, {$CFG->prefix}course_modules cm, {$CFG->prefix}modules m\n WHERE m.name='glossary' AND m.id=cm.module AND cm.instance=g.id AND g.course={$courseid} {$type}"; if ($glossarys = get_records_sql($sql)) { foreach ($glossarys as $glossary) { glossary_grade_item_update($glossary, 'reset'); } } }
/** * Removes all grades from gradebook * * @global object * @param int $courseid * @param string optional type */ function glossary_reset_gradebook($courseid, $type='') { global $DB; switch ($type) { case 'main' : $type = "AND g.mainglossary=1"; break; case 'secondary' : $type = "AND g.mainglossary=0"; break; default : $type = ""; //all } $sql = "SELECT g.*, cm.idnumber as cmidnumber, g.course as courseid FROM {glossary} g, {course_modules} cm, {modules} m WHERE m.name='glossary' AND m.id=cm.module AND cm.instance=g.id AND g.course=? $type"; if ($glossarys = $DB->get_records_sql($sql, array($courseid))) { foreach ($glossarys as $glossary) { glossary_grade_item_update($glossary, 'reset'); } } }
/** * Update grades by firing grade_updated event * * @param object $glossary null means all glossaries * @param int $userid specific user only, 0 mean all */ function glossary_update_grades($glossary = null, $userid = 0, $nullifnone = true) { global $CFG; require_once $CFG->libdir . '/gradelib.php'; if ($glossary != null) { if ($grades = glossary_get_user_grades($glossary, $userid)) { grade_update('mod/glossary', $glossary->course, 'mod', 'glossary', $glossary->id, 0, $grades); } else { if ($userid and $nullifnone) { $grade = new object(); $grade->userid = $userid; $grade->rawgrade = NULL; grade_update('mod/glossary', $glossary->course, 'mod', 'glossary', $glossary->id, 0, $grade); } } } else { $sql = "SELECT g.*, cm.idnumber as cmidnumber\n FROM {$CFG->prefix}glossary g, {$CFG->prefix}course_modules cm, {$CFG->prefix}modules m\n WHERE m.name='glossary' AND m.id=cm.module AND cm.instance=g.id"; if ($rs = get_recordset_sql($sql)) { if ($rs->RecordCount() > 0) { while ($glossary = rs_fetch_next_record($rs)) { glossary_grade_item_update($glossary); if ($glossary->assessed) { glossary_update_grades($glossary, 0, false); } } } rs_close($rs); } } }