/** * This function extends the course navigation with the report items * * @param navigation_node $navigation The navigation node to extend * @param stdClass $user * @param stdClass $course The course to object for the report */ function report_stats_extend_navigation_user($navigation, $user, $course) { global $CFG; if (!empty($CFG->enablestats)) { return; } if (report_stats_can_access_user_report($user, $course)) { $url = new moodle_url('/report/stats/user.php', array('id'=>$user->id, 'course'=>$course->id)); $navigation->add(get_string('stats'), $url); } }
$PAGE->set_context($coursecontext); if (!empty($userid)) { $user = $DB->get_record('user', array('id'=>$userid, 'deleted'=>0), '*', MUST_EXIST); $personalcontext = context_user::instance($user->id); if ($USER->id != $user->id and has_capability('moodle/user:viewuseractivitiesreport', $personalcontext) and !is_enrolled($coursecontext, $USER) and is_enrolled($coursecontext, $user)) { //TODO: do not require parents to be enrolled in courses - this is a hack! require_login(); $PAGE->set_course($course); } else { require_login($course); } if (!report_stats_can_access_user_report($user, $course, true)) { require_capability('report/stats:view', $coursecontext); } } else { require_capability('report/stats:view', $coursecontext); } add_to_log($course->id, 'course', 'report stats', "report/stats/graph.php?userid=$userid&id=$course->id&mode=$mode&roleid=$roleid", $course->id); stats_check_uptodate($course->id); $param = stats_get_parameters($time,$report,$course->id,$mode); if (!empty($userid)) { $param->table = 'user_'.$param->table;
/** * Add nodes to myprofile page. * * @param \core_user\output\myprofile\tree $tree Tree object * @param stdClass $user user object * @param bool $iscurrentuser * @param stdClass $course Course object * @return bool */ function report_stats_myprofile_navigation(core_user\output\myprofile\tree $tree, $user, $iscurrentuser, $course) { global $CFG; if (empty($CFG->enablestats)) { return false; } if (empty($course)) { // We want to display these reports under the site context. $course = get_fast_modinfo(SITEID)->get_course(); } if (report_stats_can_access_user_report($user, $course)) { $url = new moodle_url('/report/stats/user.php', array('id' => $user->id, 'course' => $course->id)); $node = new core_user\output\myprofile\node('reports', 'stats', get_string('stats'), null, $url); $tree->add_node($node); } }