Merge branch 'MDL-28186' of git://git.luns.net.uk/moodle
authorEloy Lafuente (stronk7) <stronk7@moodle.org>
Mon, 11 Jul 2011 13:20:56 +0000 (15:20 +0200)
committerEloy Lafuente (stronk7) <stronk7@moodle.org>
Mon, 11 Jul 2011 13:20:56 +0000 (15:20 +0200)
lib/messagelib.php
lib/navigationlib.php

index 5fbc20b..d6a6c97 100644 (file)
@@ -373,7 +373,7 @@ function message_get_my_providers() {
  * @return array of message providers
  */
 function message_get_providers_for_user($userid) {
-    global $DB;
+    global $DB, $CFG;
 
     $systemcontext = get_context_instance(CONTEXT_SYSTEM);
 
@@ -386,6 +386,10 @@ function message_get_providers_for_user($userid) {
                 unset($providers[$providerid]);   // Not allowed to see this
             }
         }
+        // Ensure user is not allowed to configure instantmessage if it is globally disabled.
+        if (!$CFG->messaging && $provider->name == 'instantmessage') {
+            unset($providers[$providerid]);
+        }
     }
 
     return $providers;
index 1f70476..52011cc 100644 (file)
@@ -3673,8 +3673,7 @@ class settings_navigation extends navigation_node {
         // 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, 'course'=>$course->id));
-            // Hide the node if messaging disabled
-            $usersetting->add(get_string('editmymessage', 'message'), $url, self::TYPE_SETTING)->display = !empty($CFG->messaging);
+            $usersetting->add(get_string('editmymessage', 'message'), $url, self::TYPE_SETTING);
         }
 
         // Blogs