From 7588cc6302b78e1059f1821b3a87e97f8d7f9f51 Mon Sep 17 00:00:00 2001 From: Adrian Greeve Date: Wed, 8 Apr 2015 15:25:39 +0800 Subject: [PATCH] MDL-45774 navigation: Added general reports on a site level These reports are located on the full user profile page. --- report/log/lib.php | 34 ++++++++++++++++++---------------- report/outline/lib.php | 6 +++++- 2 files changed, 23 insertions(+), 17 deletions(-) diff --git a/report/log/lib.php b/report/log/lib.php index b268f67f79d..50438409f36 100644 --- a/report/log/lib.php +++ b/report/log/lib.php @@ -160,23 +160,25 @@ function report_log_page_type_list($pagetype, $parentcontext, $currentcontext) { * @return bool */ function report_log_myprofile_navigation(core_user\output\myprofile\tree $tree, $user, $iscurrentuser, $course) { - if (!empty($course)) { - list($all, $today) = report_log_can_access_user_report($user, $course); - if ($today) { - // Today's log. - $url = new moodle_url('/report/log/user.php', - array('id' => $user->id, 'course' => $course->id, 'mode' => 'today')); - $node = new core_user\output\myprofile\node('reports', 'todayslogs', get_string('todaylogs'), null, $url); - $tree->add_node($node); - } + if (empty($course)) { + // We want to display these reports under the site context. + $course = get_fast_modinfo(SITEID)->get_course(); + } + list($all, $today) = report_log_can_access_user_report($user, $course); + if ($today) { + // Today's log. + $url = new moodle_url('/report/log/user.php', + array('id' => $user->id, 'course' => $course->id, 'mode' => 'today')); + $node = new core_user\output\myprofile\node('reports', 'todayslogs', get_string('todaylogs'), null, $url); + $tree->add_node($node); + } - if ($all) { - // All logs. - $url = new moodle_url('/report/log/user.php', - array('id' => $user->id, 'course' => $course->id, 'mode' => 'all')); - $node = new core_user\output\myprofile\node('reports', 'alllogs', get_string('alllogs'), null, $url); - $tree->add_node($node); - } + if ($all) { + // All logs. + $url = new moodle_url('/report/log/user.php', + array('id' => $user->id, 'course' => $course->id, 'mode' => 'all')); + $node = new core_user\output\myprofile\node('reports', 'alllogs', get_string('alllogs'), null, $url); + $tree->add_node($node); } return true; } diff --git a/report/outline/lib.php b/report/outline/lib.php index 945ea4b2ac2..876e3498835 100644 --- a/report/outline/lib.php +++ b/report/outline/lib.php @@ -131,7 +131,11 @@ function report_outline_supports_logstore($instance) { * @return bool */ function report_outline_myprofile_navigation(core_user\output\myprofile\tree $tree, $user, $iscurrentuser, $course) { - if (!empty($course) && report_outline_can_access_user_report($user, $course)) { + if (empty($course)) { + // We want to display these reports under the site context. + $course = get_fast_modinfo(SITEID)->get_course(); + } + if (report_outline_can_access_user_report($user, $course)) { $url = new moodle_url('/report/outline/user.php', array('id' => $user->id, 'course' => $course->id, 'mode' => 'outline')); $node = new core_user\output\myprofile\node('reports', 'outline', get_string('outlinereport'), null, $url); -- 2.17.1