Esempio n. 1
0
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;
 }