$studentnamelink = html_writer::link(new moodle_url('/user/view.php', array('id' => $report->user->id, 'course' => $courseid)), fullname($report->user)); print_grade_page_head($courseid, 'report', 'user', get_string('pluginname', 'gradereport_user') . ' - ' . $studentnamelink, false, false, true, null, null, $report->user); groups_print_course_menu($course, $gpr->get_return_url('index.php?id=' . $courseid, array('userid' => 0))); if ($user_selector) { $renderer = $PAGE->get_renderer('gradereport_user'); $showallusersoptions = true; echo $renderer->graded_users_selector('user', $course, $userid, $currentgroup, $showallusersoptions); } if ($currentgroup and !groups_is_member($currentgroup, $userid)) { echo $OUTPUT->notification(get_string('groupusernotmember', 'error')); } else { if ($report->fill_table()) { echo '<br />' . $report->print_table(true, $userid, $courseid); //START BY @HARSHA //echo '<br />'.$report->print_table(true); } } } } else { //Students will see just their own report // Create a report instance $report = new grade_report_user($courseid, $gpr, $context, $userid); // print the page print_grade_page_head($courseid, 'report', 'user', get_string('pluginname', 'gradereport_user') . ' - ' . fullname($report->user)); if ($report->fill_table()) { echo '<br />' . $report->print_table(true); } } // Trigger report viewed event. $report->viewed(); echo $OUTPUT->footer();
/** * Trigger the user report events, do the same that the web interface view of the report * * @param int $courseid id of course * @param int $userid id of the user the report belongs to * @return array of warnings and status result * @since Moodle 2.9 * @throws moodle_exception */ public static function view_grade_report($courseid, $userid = 0) { global $CFG, $USER; require_once $CFG->dirroot . "/grade/lib.php"; require_once $CFG->dirroot . "/grade/report/user/lib.php"; $params = self::validate_parameters(self::view_grade_report_parameters(), array('courseid' => $courseid, 'userid' => $userid)); $warnings = array(); $course = get_course($params['courseid']); $context = context_course::instance($course->id); self::validate_context($context); $userid = $params['userid']; if (empty($userid)) { $userid = $USER->id; } else { $user = core_user::get_user($userid, '*', MUST_EXIST); core_user::require_active_user($user); } $access = false; if (has_capability('moodle/grade:viewall', $context)) { // Can view all course grades (any user). $access = true; } else { if ($userid == $USER->id and has_capability('moodle/grade:view', $context) and $course->showgrades) { // View own grades. $access = true; } } if (!$access) { throw new moodle_exception('nopermissiontoviewgrades', 'error'); } // Create a report instance. We don't need the gpr second parameter. $report = new grade_report_user($course->id, null, $context, $userid); $report->viewed(); $result = array(); $result['status'] = true; $result['warnings'] = $warnings; return $result; }