function construct_local_full_user_stat_html_table($attendance, $course, $user) { global $CFG; $gradeable = $attendance->grade > 0; $statuses = local_att_get_statuses($attendance->id); $userstatusesstat = local_att_get_user_statuses_stat($attendance->id, $course->startdate, $user->id); $stat['completed'] = local_att_get_user_taken_sessions_count($attendance->id, $course->startdate, $user->id); $stat['statuses'] = $userstatusesstat; if ($gradeable) { $grade = local_att_get_user_grade($userstatusesstat, $statuses); $maxgrade = local_att_get_user_max_grade(local_att_get_user_taken_sessions_count($attendance->id, $course->startdate, $user->id), $statuses); if (!$decimalpoints = grade_get_setting($course->id, 'decimalpoints')) { $decimalpoints = $CFG->grade_decimalpoints; } } else { $grade = 0; $maxgrade = 0; $decimalpoints = 0; } return construct_user_data_stat($stat, $statuses, $gradeable, $grade, $maxgrade, $decimalpoints); }
private function construct_user_data(attendance_user_data $userdata) { $o = html_writer::tag('h2', fullname($userdata->user)); if ($userdata->pageparams->mode == att_view_page_params::MODE_THIS_COURSE) { $o .= html_writer::empty_tag('hr'); $o .= construct_user_data_stat($userdata->stat, $userdata->statuses, $userdata->gradable, $userdata->grade, $userdata->maxgrade, $userdata->decimalpoints); $o .= $this->render_attendance_filter_controls($userdata->filtercontrols); $o .= $this->construct_user_sessions_log($userdata); } else { $prevcid = 0; foreach ($userdata->coursesatts as $ca) { if ($prevcid != $ca->courseid) { $o .= html_writer::empty_tag('hr'); $prevcid = $ca->courseid; $o .= html_writer::tag('h3', $ca->coursefullname); } $o .= html_writer::tag('h4', $ca->attname); $o .= construct_user_data_stat($userdata->stat[$ca->attid], $userdata->statuses[$ca->attid], $userdata->gradable[$ca->attid], $userdata->grade[$ca->attid], $userdata->maxgrade[$ca->attid], $userdata->decimalpoints); } } return $o; }