From dfbec4d492f60cdbc12b15e05cc1c07de0213b90 Mon Sep 17 00:00:00 2001 From: toyomoyo Date: Fri, 15 Jun 2007 09:13:13 +0000 Subject: [PATCH] user grade report development code --- grade/report/user/index.php | 99 ++++++++++++++++++++++++++++++++++++- 1 file changed, 98 insertions(+), 1 deletion(-) diff --git a/grade/report/user/index.php b/grade/report/user/index.php index f8c1e807f5..3de62baaaa 100644 --- a/grade/report/user/index.php +++ b/grade/report/user/index.php @@ -2,8 +2,105 @@ /// This creates and handles the whole user report interface, sans header and footer +print_heading('User Grades Report'); - print_heading('User Grades Report'); +include_once($CFG->libdir.'/gradelib.php'); +$courseid = required_param('id', PARAM_INT); +if (!$userid = optional_param('user', 9, PARAM_INT)) { + // current user + $userid = $USER->id; +} + +// get all the grade_items +$gradeitems = grade_get_items($courseid); +$gradetotal = 0; +$gradesum = 0; +/* + * + * Table has 6 columns + *| pic | itemname/description | grade (grade_final) | percentage | rank | feedback | + * + */ +echo ' + + + + + + + '; + +foreach ($gradeitems as $gradeitem) { + + echo ''; + + $params->itemid = $gradeitem->id; + $params->userid = $userid; + $grade_grades_final = new grade_grades_final($params); + $grade_text = $grade_grades_final->load_text(); + + /// prints mod icon if available + echo ''; + + /// prints grade item name + if ($gradeitem->itemtype == 'category') { + echo ''; + } else { + echo ''; + } + + /// prints the grade + echo ''; + + /// prints percentage + + if ($gradeitem->gradetype == 1) { + // processing numeric grade + if ($grade_grades_final->gradevalue) { + $percentage = $grade_grades_final->gradevalue / $gradeitem->grademax * 100 .'%'; + } else { + $percentage = '-'; + } + $gradetotal += $gradeitem->grademax; + $gradesum += $grade_grades_final->gradevalue; + } else if ($gradeitem->gradetype == 2) { + // processing scale grade + $scale = get_record('scale', 'id', $gradeitem->scaleid); + $scalevals = explode(",", $scale->scale); + $percentage = ($grade_grades_final->gradevalue -1) / count($scalevals); + $gradesum += count($scalevals); + $gradetotal += $grade_grades_final->gradevalue; + } else { + // text grade + $percentage = '-'; + } + + echo ''; + + /// prints rank + echo ''; + + /// prints notes + echo ''; + + /// close row tag + echo ''; +} + +/// prints the total +echo ''; +echo ''; +echo ''; +echo ''; +echo '
'.get_string('gradeitem', 'grades').''.get_string('grade','grades').''.get_string('percentage', 'grades').''.get_string('rank', 'grades').''.get_string('feedback').'
'; + if ($gradeitem->itemtype == 'mod') { + $iconpath = $CFG->dirroot.'/mod/'.$gradeitem->itemmodule.'/icon.gif'; + $icon = $CFG->wwwroot.'/mod/'.$gradeitem->itemmodule.'/icon.gif'; + if (file_exists($iconpath)) { + echo ''.$gradeitem->itemname.''; + } + } + echo ''.$gradeitem->itemname.''.$gradeitem->itemname.''.$grade_grades_final->gradevalue.''.$percentage.''.$grade_text->feedback.'
'.get_string('total').''.$gradesum.'/'.$gradetotal.' 
'; ?> -- 2.39.5