messaging MDL-23223 Fixed navigation link being added when messaging disabled
This commit is contained in:
+17
-11
@@ -1479,10 +1479,10 @@ class global_navigation extends navigation_node {
|
||||
}
|
||||
// Add a branch for the current user
|
||||
$usernode = $usersnode->add(fullname($user, true), null, self::TYPE_USER, null, $user->id);
|
||||
}
|
||||
|
||||
if ($this->page->context->contextlevel == CONTEXT_USER && $user->id == $this->page->context->instanceid) {
|
||||
$usernode->force_open();
|
||||
if ($this->page->context->contextlevel == CONTEXT_USER && $user->id == $this->page->context->instanceid) {
|
||||
$usernode->make_active();
|
||||
}
|
||||
}
|
||||
|
||||
// If the user is the current user or has permission to view the details of the requested
|
||||
@@ -1521,12 +1521,14 @@ class global_navigation extends navigation_node {
|
||||
}
|
||||
}
|
||||
|
||||
$messageargs = null;
|
||||
if ($USER->id!=$user->id) {
|
||||
$messageargs = array('id'=>$user->id);
|
||||
if (!empty($CFG->messaging)) {
|
||||
$messageargs = null;
|
||||
if ($USER->id!=$user->id) {
|
||||
$messageargs = array('id'=>$user->id);
|
||||
}
|
||||
$url = new moodle_url('/message/index.php',$messageargs);
|
||||
$usernode->add(get_string('messages', 'message'), $url, self::TYPE_SETTING, null, 'messages');
|
||||
}
|
||||
$url = new moodle_url('/message/index.php',$messageargs);
|
||||
$usernode->add(get_string('messages', 'message'), $url, self::TYPE_SETTING, null, 'messages');
|
||||
|
||||
// TODO: Private file capability check
|
||||
if ($iscurrentuser) {
|
||||
@@ -3051,6 +3053,10 @@ class settings_navigation extends navigation_node {
|
||||
// Add a user setting branch
|
||||
$usersetting = $this->add(get_string($gstitle, 'moodle', $fullname), null, self::TYPE_CONTAINER, null, $key);
|
||||
$usersetting->id = 'usersettings';
|
||||
if ($this->page->context->contextlevel == CONTEXT_USER && $this->page->context->instanceid == $user->id) {
|
||||
// Automatically start by making it active
|
||||
$usersetting->make_active();
|
||||
}
|
||||
|
||||
// Check if the user has been deleted
|
||||
if ($user->deleted) {
|
||||
@@ -3184,10 +3190,10 @@ class settings_navigation extends navigation_node {
|
||||
}
|
||||
|
||||
// Messaging
|
||||
// TODO this is adding itself to the messaging settings for other people based on one's own setting
|
||||
if (has_capability('moodle/user:editownmessageprofile', $systemcontext)) {
|
||||
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, 'course'=>$course->id));
|
||||
$usersetting->add(get_string('editmymessage', 'message'), $url, self::TYPE_SETTING);
|
||||
// Hide the node if messaging disabled
|
||||
$usersetting->add(get_string('editmymessage', 'message'), $url, self::TYPE_SETTING)->display = !empty($CFG->messaging);
|
||||
}
|
||||
|
||||
// Blogs
|
||||
|
||||
Reference in New Issue
Block a user