. /** * Definition of the grade_user_report class is defined * * @package gradereport_user * @copyright 2007 Nicolas Connault * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ use core_user\output\myprofile\tree; require_once($CFG->dirroot . '/grade/report/lib.php'); require_once($CFG->libdir.'/tablelib.php'); define("GRADE_REPORT_USER_HIDE_HIDDEN", 0); define("GRADE_REPORT_USER_HIDE_UNTIL", 1); define("GRADE_REPORT_USER_SHOW_HIDDEN", 2); define("GRADE_REPORT_USER_VIEW_SELF", 1); define("GRADE_REPORT_USER_VIEW_USER", 2); function grade_report_user_settings_definition(&$mform) { global $CFG; $options = [ -1 => get_string('default', 'grades'), 0 => get_string('hide'), 1 => get_string('show') ]; if (empty($CFG->grade_report_user_showrank)) { $options[-1] = get_string('defaultprev', 'grades', $options[0]); } else { $options[-1] = get_string('defaultprev', 'grades', $options[1]); } $mform->addElement('select', 'report_user_showrank', get_string('showrank', 'grades'), $options); $mform->addHelpButton('report_user_showrank', 'showrank', 'grades'); if (empty($CFG->grade_report_user_showpercentage)) { $options[-1] = get_string('defaultprev', 'grades', $options[0]); } else { $options[-1] = get_string('defaultprev', 'grades', $options[1]); } $mform->addElement('select', 'report_user_showpercentage', get_string('showpercentage', 'grades'), $options); $mform->addHelpButton('report_user_showpercentage', 'showpercentage', 'grades'); if (empty($CFG->grade_report_user_showgrade)) { $options[-1] = get_string('defaultprev', 'grades', $options[0]); } else { $options[-1] = get_string('defaultprev', 'grades', $options[1]); } $mform->addElement('select', 'report_user_showgrade', get_string('showgrade', 'grades'), $options); if (empty($CFG->grade_report_user_showfeedback)) { $options[-1] = get_string('defaultprev', 'grades', $options[0]); } else { $options[-1] = get_string('defaultprev', 'grades', $options[1]); } $mform->addElement('select', 'report_user_showfeedback', get_string('showfeedback', 'grades'), $options); if (empty($CFG->grade_report_user_showweight)) { $options[-1] = get_string('defaultprev', 'grades', $options[0]); } else { $options[-1] = get_string('defaultprev', 'grades', $options[1]); } $mform->addElement('select', 'report_user_showweight', get_string('showweight', 'grades'), $options); if (empty($CFG->grade_report_user_showaverage)) { $options[-1] = get_string('defaultprev', 'grades', $options[0]); } else { $options[-1] = get_string('defaultprev', 'grades', $options[1]); } $mform->addElement('select', 'report_user_showaverage', get_string('showaverage', 'grades'), $options); $mform->addHelpButton('report_user_showaverage', 'showaverage', 'grades'); if (empty($CFG->grade_report_user_showlettergrade)) { $options[-1] = get_string('defaultprev', 'grades', $options[0]); } else { $options[-1] = get_string('defaultprev', 'grades', $options[1]); } $mform->addElement('select', 'report_user_showlettergrade', get_string('showlettergrade', 'grades'), $options); if (empty($CFG->grade_report_user_showcontributiontocoursetotal)) { $options[-1] = get_string('defaultprev', 'grades', $options[0]); } else { $options[-1] = get_string('defaultprev', 'grades', $options[$CFG->grade_report_user_showcontributiontocoursetotal]); } $mform->addElement('select', 'report_user_showcontributiontocoursetotal', get_string('showcontributiontocoursetotal', 'grades'), $options); $mform->addHelpButton('report_user_showcontributiontocoursetotal', 'showcontributiontocoursetotal', 'grades'); if (empty($CFG->grade_report_user_showrange)) { $options[-1] = get_string('defaultprev', 'grades', $options[0]); } else { $options[-1] = get_string('defaultprev', 'grades', $options[1]); } $mform->addElement('select', 'report_user_showrange', get_string('showrange', 'grades'), $options); $options = [ 0 => 0, 1 => 1, 2 => 2, 3 => 3, 4 => 4, 5 => 5 ]; if (!empty($CFG->grade_report_user_rangedecimals)) { $options[-1] = $options[$CFG->grade_report_user_rangedecimals]; } $mform->addElement('select', 'report_user_rangedecimals', get_string('rangedecimals', 'grades'), $options); $options = [ -1 => get_string('default', 'grades'), 0 => get_string('shownohidden', 'grades'), 1 => get_string('showhiddenuntilonly', 'grades'), 2 => get_string('showallhidden', 'grades') ]; if (empty($CFG->grade_report_user_showhiddenitems)) { $options[-1] = get_string('defaultprev', 'grades', $options[0]); } else { $options[-1] = get_string('defaultprev', 'grades', $options[$CFG->grade_report_user_showhiddenitems]); } $mform->addElement('select', 'report_user_showhiddenitems', get_string('showhiddenitems', 'grades'), $options); $mform->addHelpButton('report_user_showhiddenitems', 'showhiddenitems', 'grades'); $options = [ -1 => get_string('default', 'grades'), GRADE_REPORT_HIDE_TOTAL_IF_CONTAINS_HIDDEN => get_string('hide'), GRADE_REPORT_SHOW_TOTAL_IF_CONTAINS_HIDDEN => get_string('hidetotalshowexhiddenitems', 'grades'), GRADE_REPORT_SHOW_REAL_TOTAL_IF_CONTAINS_HIDDEN => get_string('hidetotalshowinchiddenitems', 'grades') ]; if (empty($CFG->grade_report_user_showtotalsifcontainhidden)) { $options[-1] = get_string('defaultprev', 'grades', $options[0]); } else { $options[-1] = get_string('defaultprev', 'grades', $options[$CFG->grade_report_user_showtotalsifcontainhidden]); } $mform->addElement('select', 'report_user_showtotalsifcontainhidden', get_string('hidetotalifhiddenitems', 'grades'), $options); $mform->addHelpButton('report_user_showtotalsifcontainhidden', 'hidetotalifhiddenitems', 'grades'); } /** * Profile report callback. * * @param object $course The course. * @param object $user The user. * @param boolean $viewasuser True when we are viewing this as the targetted user sees it. */ function grade_report_user_profilereport(object $course, object $user, bool $viewasuser = false) { if (!empty($course->showgrades)) { $context = context_course::instance($course->id); // Fetch the return tracking object. $gpr = new grade_plugin_return( ['type' => 'report', 'plugin' => 'user', 'courseid' => $course->id, 'userid' => $user->id] ); // Create a report instance. $report = new gradereport_user\report\user($course->id, $gpr, $context, $user->id, $viewasuser); // Print the page. // A css fix to share styles with real report page. echo '