/** * Update grades by firing grade_updated event * * @param object $elluminate null means all elluminates * @param int $userid specific user only, 0 mean all */ function elluminate_update_grades($elluminate = null, $userid = 0, $nullifnone = true) { global $CFG; if (!function_exists('grade_update')) { //workaround for buggy PHP versions require_once $CFG->libdir . '/gradelib.php'; } if ($elluminate != null) { if ($grades = elluminate_get_user_grades($elluminate, $userid)) { foreach ($grades as $k => $v) { if ($v->rawgrade == -1) { $grades[$k]->rawgrade = null; } } elluminate_grade_item_update($elluminate, $grades); } else { elluminate_grade_item_update($elluminate); } } else { /*$sql = "SELECT a.*, cm.idnumber as cmidnumber, a.course as courseid FROM {elluminate} a INNER JOIN {course_modules} cm ON cm.instance = a.id INNER JOIN {modules} m ON m.id = cm.module WHERE m.name='elluminate'";*/ $params = array('a.id', 'cm.module', 'elluminate'); $sql = "SELECT a.*, cm.idnumber as cmidnumber, a.course as courseid\n\t\t\tFROM {elluminate} a\n\t\t\tINNER JOIN {course_modules} cm ON cm.instance = ?\n\t\t\tINNER JOIN {modules} m ON m.id = ?\n\t\t\tWHERE m.name=?"; $rs = $DB->get_recordset_sql($sql, $params); foreach ($rs as $elluminate) { if ($elluminate->grade != 0) { elluminate_update_grades($elluminate); } else { elluminate_grade_item_update($elluminate); } } $rs->close(); } }
/** * Update grades by firing grade_updated event * * @param object $elluminate null means all elluminates * @param int $userid specific user only, 0 mean all */ function elluminate_update_grades($elluminate = null, $userid = 0, $nullifnone = true) { global $CFG; if (!function_exists('grade_update')) { //workaround for buggy PHP versions require_once $CFG->libdir . '/gradelib.php'; } if ($elluminate != null) { if ($grades = elluminate_get_user_grades($elluminate, $userid)) { foreach ($grades as $k => $v) { if ($v->rawgrade == -1) { $grades[$k]->rawgrade = null; } } elluminate_grade_item_update($elluminate, $grades); } else { elluminate_grade_item_update($elluminate); } } else { $sql = "SELECT a.*, cm.idnumber as cmidnumber, a.course as courseid\n\t\t\t\t\t\t\t\t FROM {$CFG->prefix}elluminate a\n\t\t\t\t\t\t\t\t INNER JOIN {$CFG->prefix}course_modules cm ON cm.instance = a.id\n\t\t\t\t\t\t\t\t\t INNER JOIN {$CFG->prefix}modules m ON m.id = cm.module\n\t\t\t\t\t\t\t\t\t WHERE m.name='elluminate'"; if ($rs = get_recordset_sql($sql)) { while ($elluminate = rs_fetch_next_record($rs)) { if ($elluminate->grade != 0) { elluminate_update_grades($elluminate); } else { elluminate_grade_item_update($elluminate); } } rs_close($rs); } } }