} $cm = get_coursemodule_from_instance('lesson', $lesson->id); $context = get_context_instance(CONTEXT_MODULE, $cm->id); if ($lesson->deadline == 0) { $due = $strnodeadline; } else { if ($lesson->deadline > $timenow) { $due = userdate($lesson->deadline); } else { $due = "<font color=\"red\">" . userdate($lesson->deadline) . "</font>"; } } if ($course->format == "weeks" or $course->format == "topics") { if (has_capability('mod/lesson:manage', $context)) { $grade_value = $lesson->grade; } else { // it's a student, show their grade $grade_value = 0; if ($return = lesson_get_user_grades($lesson, $USER->id)) { $grade_value = $return[$USER->id]->rawgrade; } } $table->data[] = array($lesson->section, $link, $grade_value, $due); } else { $table->data[] = array($link, $lesson->grade, $due); } } echo "<br />"; print_table($table); /// Finish the page print_footer($course);
/** * Update grades in central gradebook * * @param object $lesson null means all lessons * @param int $userid specific user only, 0 mean all */ function lesson_update_grades($lesson = null, $userid = 0, $nullifnone = true) { global $CFG; if (!function_exists('grade_update')) { //workaround for buggy PHP versions require_once $CFG->libdir . '/gradelib.php'; } if ($lesson != null) { if ($grades = lesson_get_user_grades($lesson, $userid)) { lesson_grade_item_update($lesson, $grades); } else { if ($userid and $nullifnone) { $grade = new object(); $grade->userid = $userid; $grade->rawgrade = NULL; lesson_grade_item_update($lesson, $grade); } else { lesson_grade_item_update($lesson); } } } else { $sql = "SELECT l.*, cm.idnumber as cmidnumber, l.course as courseid\n FROM {$CFG->prefix}lesson l, {$CFG->prefix}course_modules cm, {$CFG->prefix}modules m\n WHERE m.name='lesson' AND m.id=cm.module AND cm.instance=l.id"; if ($rs = get_recordset_sql($sql)) { while ($lesson = rs_fetch_next_record($rs)) { if ($lesson->grade != 0) { lesson_update_grades($lesson, 0, false); } else { lesson_grade_item_update($lesson); } } rs_close($rs); } } }
/** * Update grades in central gradebook * * @category grade * @param object $lesson * @param int $userid specific user only, 0 means all * @param bool $nullifnone */ function lesson_update_grades($lesson, $userid = 0, $nullifnone = true) { global $CFG, $DB; require_once $CFG->libdir . '/gradelib.php'; if ($lesson->grade == 0) { lesson_grade_item_update($lesson); } else { if ($grades = lesson_get_user_grades($lesson, $userid)) { lesson_grade_item_update($lesson, $grades); } else { if ($userid and $nullifnone) { $grade = new stdClass(); $grade->userid = $userid; $grade->rawgrade = NULL; lesson_grade_item_update($lesson, $grade); } else { lesson_grade_item_update($lesson); } } } }