diff --git a/lib/navigationlib.php b/lib/navigationlib.php index 967481da8a6..8046f899d4f 100644 --- a/lib/navigationlib.php +++ b/lib/navigationlib.php @@ -3909,10 +3909,11 @@ class settings_navigation extends navigation_node { } } else { $canviewusercourse = has_capability('moodle/user:viewdetails', $coursecontext); - $canaccessallgroups = has_capability('moodle/site:accessallgroups', $coursecontext); - if ((!$canviewusercourse && !$canviewuser) || !can_access_course($course, $user->id)) { + $userisenrolled = is_enrolled($coursecontext, $user->id); + if ((!$canviewusercourse && !$canviewuser) || !$userisenrolled) { return false; } + $canaccessallgroups = has_capability('moodle/site:accessallgroups', $coursecontext); if (!$canaccessallgroups && groups_get_course_groupmode($course) == SEPARATEGROUPS) { // If groups are in use, make sure we can see that group return false; @@ -4033,23 +4034,6 @@ class settings_navigation extends navigation_node { $usersetting->add(get_string('securitykeys', 'webservice'), $url, self::TYPE_SETTING); } - // Repository - if (!$currentuser && $usercontext->contextlevel == CONTEXT_USER) { - if (!$this->cache->cached('contexthasrepos'.$usercontext->id)) { - require_once($CFG->dirroot . '/repository/lib.php'); - $editabletypes = repository::get_editable_types($usercontext); - $haseditabletypes = !empty($editabletypes); - unset($editabletypes); - $this->cache->set('contexthasrepos'.$usercontext->id, $haseditabletypes); - } else { - $haseditabletypes = $this->cache->{'contexthasrepos'.$usercontext->id}; - } - if ($haseditabletypes) { - $url = new moodle_url('/repository/manage_instances.php', array('contextid'=>$usercontext->id)); - $usersetting->add(get_string('repositories', 'repository'), $url, self::TYPE_SETTING); - } - } - // Messaging if (($currentuser && has_capability('moodle/user:editownmessageprofile', $systemcontext)) || (!isguestuser($user) && has_capability('moodle/user:editmessageprofile', $usercontext) && !is_primary_admin($user->id))) { $url = new moodle_url('/message/edit.php', array('id'=>$user->id));