/** * 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(); } }
$ugrade = key($grades); } else { $ugrade = $elluminate->grade; } if (!($grade = $DB->get_record('elluminate_attendance', array('elluminateid' => $elluminate->id, 'userid' => $USER->id)))) { $grade = new stdClass(); $grade->elluminateid = $elluminate->id; $grade->userid = $USER->id; $grade->grade = $ugrade; $grade->timemodified = time(); $DB->insert_record('elluminate_attendance', $grade); elluminate_update_grades($elluminate, $USER->id); } else { $grade->attended = $ugrade; $DB->update_record('elluminate_attendance', $grade); elluminate_update_grades($elluminate, $USER->id); } } if (!empty($cm)) { $cmid = $cm->id; } else { $cmid = 0; } add_to_log($elluminate->course, 'elluminate', 'view meeting', 'loadmeeting.php?id=' . $elluminate->id, $elluminate->id, $cmid, $USER->id); if (empty($elluminate->meetingid)) { elluminate_group_instance_check($elluminate, $cm->id); } $modinsession = false; if ($ismoderator) { $modinsession = elluminate_is_participant($elluminate->id, $USER->id, true); }
elluminate_update_grades($meeting, $userid); } } else { $ea = new Object(); $ea->userid = $userid; $ea->elluminateid = $meeting->id; $ea->grade = $meeting->grade; $DB->insert_record('elluminate_attendance', $ea); elluminate_update_grades($meeting, $userid); } } else { if ($ea = $DB->get_record('elluminate_attendance', array('userid' => $userid, 'elluminateid' => $meeting->id))) { if (!empty($ea->grade)) { $ea->grade = 0; $DB->update_record('elluminate_attendance', $ea); elluminate_update_grades($meeting, $userid); } } } } } $strattendancefor = get_string('attendancefor', 'elluminate', stripslashes($meeting->name)); $strelluminates = get_string('modulenameplural', 'elluminate'); $strelluminate = get_string('modulename', 'elluminate'); /// Print header. $navigation = build_navigation($strattendancefor, $cm); print_header_simple(format_string($meeting->name), "", $navigation, "", "", true, ''); /// Get a list of user IDs for students who are allowed to participate in this meeting. $userids = array(); // Get meeting participants. if ($meeting->sessiontype == 0) {
/** * 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); } } }