/** * Update grades by firing grade_updated event * * @param object $attforblock null means all attforblocks * @param int $userid specific user only, 0 mean all */ function attforblock_update_grades($attforblock = null, $userid = 0, $nullifnone = true) { global $CFG; if (!function_exists('grade_update')) { //workaround for buggy PHP versions require_once $CFG->libdir . '/gradelib.php'; } if ($attforblock != null) { if ($grades = attforblock_get_user_grades($attforblock, $userid)) { foreach ($grades as $k => $v) { if ($v->rawgrade == -1) { $grades[$k]->rawgrade = null; } } attforblock_grade_item_update($attforblock, $grades); } else { attforblock_grade_item_update($attforblock); } } else { $sql = "SELECT a.*, cm.idnumber as cmidnumber, a.course as courseid\n FROM {$CFG->prefix}attforblock a, {$CFG->prefix}course_modules cm, {$CFG->prefix}modules m\n WHERE m.name='attforblock' AND m.id=cm.module AND cm.instance=a.id"; if ($rs = get_recordset_sql($sql)) { while ($attforblock = rs_fetch_next_record($rs)) { // if ($attforblock->grade != 0) { attforblock_update_grades($attforblock); // } else { // attforblock_grade_item_update($attforblock); // } } rs_close($rs); } } }
$i++; } } $attforblockrecord = $DB->get_record('attforblock', array('course' => $course->id)); foreach ($students as $student) { if ($log = $DB->get_record('attendance_log', array('sessionid' => $sessionid, 'studentid' => $student->studentid))) { $student->id = $log->id; // this is id of log $DB->update_record('attendance_log', $student); } else { $DB->insert_record('attendance_log', $student); } } $DB->set_field('attendance_sessions', 'lasttaken', $now, array('id' => $sessionid)); $DB->set_field('attendance_sessions', 'lasttakenby', $USER->id, array('id' => $sessionid)); attforblock_update_grades($attforblockrecord); add_to_log($course->id, 'attendance', 'updated', 'mod/attforblock/report.php?id=' . $id, $user->lastname . ' ' . $user->firstname); redirect('manage.php?id=' . $id, get_string('attendancesuccess', 'attforblock'), 3); exit; } /// Print headers $navlinks[] = array('name' => $attforblock->name, 'link' => "view.php?id={$id}", 'type' => 'activity'); $navlinks[] = array('name' => get_string('update', 'attforblock'), 'link' => null, 'type' => 'activityinstance'); print_header("{$course->shortname}: " . $attforblock->name . ' - ' . get_string('update', 'attforblock'), $course->fullname, $navlinks, "", "", true, " ", navmenu($course)); //check for hack if (!($sessdata = $DB->get_record('attendance_sessions', array('id' => $sessionid)))) { print_error("Required Information is missing", "manage.php?id=" . $id); } $help = $OUTPUT->help_icon('updateattendance', 'attforblock', ''); $update = $DB->count_records('attendance_log', array('sessionid' => $sessionid)); if ($update) {
function config_save() { global $course, $user, $attforblockrecord; $sessiontitle = required_param('sessiontitle'); foreach ($sessiontitle as $id => $v) { $rec = get_record('attendance_sessiontitles', 'id', $id); $rec->sessiontitle = $sessiontitle[$id]; update_record('attendance_sessiontitles', $rec); add_to_log($course->id, 'attforblock', 'sessiontitles updated', 'addtitles.php?course=' . $course->id, $user->lastname . ' ' . $user->firstname); } attforblock_update_grades($attforblockrecord); }
function config_save() { global $course, $user, $attforblockrecord, $DB; $acronym = required_param('acronym', PARAM_RAW); $description = required_param('description', PARAM_RAW); $grade = required_param('grade', PARAM_INT); foreach ($acronym as $id => $v) { $rec = $DB->get_record('attendance_statuses', array('id' => $id)); $rec->acronym = $acronym[$id]; $rec->description = $description[$id]; $rec->grade = $grade[$id]; $DB->update_record('attendance_statuses', $rec); add_to_log($course->id, 'attendance', 'settings updated', 'mod/attforblock/attsettings.php?course=' . $course->id, $user->lastname . ' ' . $user->firstname); } attforblock_update_grades($attforblockrecord); }
function config_save() { global $course, $user, $attforblockrecord; $teacher = required_param('teacher'); foreach ($teacher as $id => $v) { $rec = get_record('attendance_teachers', 'id', $id); $rec->teacher = $teacher[$id]; update_record('attendance_teachers', $rec); add_to_log($course->id, 'attforblock', 'teachers updated', 'addteachers.php?course=' . $course->id, $user->lastname . ' ' . $user->firstname); } attforblock_update_grades($attforblockrecord); }
function config_save() { global $course, $user, $attforblockrecord; $acronym = required_param('acronym'); $description = required_param('description'); $grade = required_param('grade', PARAM_INT); $makeupnote = required_param('makeupnote', PARAM_MULTILANG); $sicknote = required_param('sicknote', PARAM_MULTILANG); $startlogic = required_param('startlogic', PARAM_MULTILANG); $afterstart = required_param('afterstart', PARAM_INT); $finishlogic = required_param('finishlogic', PARAM_MULTILANG); $beforefinish = required_param('beforefinish', PARAM_INT); $percentageattended = required_param('percentageattended', PARAM_INT); $logicoperator = required_param('logicoperator', PARAM_MULTILANG); foreach ($acronym as $id => $v) { $rec = get_record('attendance_statuses', 'id', $id); $rec->acronym = $acronym[$id]; $rec->description = $description[$id]; $rec->grade = $grade[$id]; $rec->makeupnote = $makeupnote[$id]; $rec->sicknote = $sicknote[$id]; $rec->finishlogic = $finishlogic[$id]; $rec->beforefinish = $beforefinish[$id]; $rec->logicoperator = $logicoperator[$id]; $rec->startlogic = $startlogic[$id]; $rec->afterstart = $afterstart[$id]; $rec->percentageattended = $percentageattended[$id]; update_record('attendance_statuses', $rec); add_to_log($course->id, 'attforblock', 'settings updated', 'attsettings.php?course=' . $course->id, $user->lastname . ' ' . $user->firstname); } attforblock_update_grades($attforblockrecord); }