]> git.mjollnir.org Git - moodle.git/commitdiff
MDL-12373 - If you can see your user profile, but don't have moodle/course:viewpartic...
authortjhunt <tjhunt>
Wed, 9 Jan 2008 16:46:21 +0000 (16:46 +0000)
committertjhunt <tjhunt>
Wed, 9 Jan 2008 16:46:21 +0000 (16:46 +0000)
user/edit.php
user/editadvanced.php
user/messageselect.php

index db8a645f42f29189b82db8c79784b11e6bb52f90..8baf42d53dc644768a770483393f5fb327cbf7d7 100644 (file)
         redirect($CFG->wwwroot . "/user/view.php?course={$course->id}");
     }
 
+    if ($course->id == SITEID) {
+        $coursecontext = get_context_instance(CONTEXT_SYSTEM);   // SYSTEM context
+    } else {
+        $coursecontext = get_context_instance(CONTEXT_COURSE, $course->id);   // Course context
+    }
     $systemcontext   = get_context_instance(CONTEXT_SYSTEM);
     $personalcontext = get_context_instance(CONTEXT_USER, $user->id);
 
     $userfullname     = fullname($user, true);
 
     $navlinks = array();
-    $navlinks[] = array('name' => $strparticipants, 'link' => "index.php?id=$course->id", 'type' => 'misc');
+    if (has_capability('moodle/course:viewparticipants', $coursecontext) || has_capability('moodle/site:viewparticipants', $systemcontext)) {
+        $navlinks[] = array('name' => $strparticipants, 'link' => "index.php?id=$course->id", 'type' => 'misc');
+    }
     $navlinks[] = array('name' => $userfullname,
                         'link' => "view.php?id=$user->id&amp;course=$course->id",
                         'type' => 'misc');
index a03d52ed677e7a8417311985a5c0a9a77a86c602..98812c0d55cba4e1a6022dd52a211ef6b7906d02 100644 (file)
     }
     require_login($course->id);
 
+    if ($course->id == SITEID) {
+        $coursecontext = get_context_instance(CONTEXT_SYSTEM);   // SYSTEM context
+    } else {
+        $coursecontext = get_context_instance(CONTEXT_COURSE, $course->id);   // Course context
+    }
+    $systemcontext = get_context_instance(CONTEXT_SYSTEM);
+
     if ($id == -1) {
         // creating new user
-        require_capability('moodle/user:create', get_context_instance(CONTEXT_SYSTEM));
+        require_capability('moodle/user:create', $systemcontext);
         $user = new object();
         $user->id = -1;
         $user->auth = 'manual';
         $user->confirmed = 1;
     } else {
         // editing existing user
-        require_capability('moodle/user:update', get_context_instance(CONTEXT_SYSTEM));
+        require_capability('moodle/user:update', $systemcontext);
         if (!$user = get_record('user', 'id', $id)) {
             error('User ID was incorrect');
         }
         $userfullname     = fullname($user, true);
 
         $navlinks = array();
-        $navlinks[] = array('name' => $strparticipants, 'link' => "index.php?id=$course->id", 'type' => 'misc');
+        if (has_capability('moodle/course:viewparticipants', $coursecontext) || has_capability('moodle/site:viewparticipants', $systemcontext)) {
+            $navlinks[] = array('name' => $strparticipants, 'link' => "index.php?id=$course->id", 'type' => 'misc');
+        }
         $navlinks[] = array('name' => $userfullname,
                             'link' => "view.php?id=$user->id&amp;course=$course->id",
                             'type' => 'misc');
index 0228b632c202518bdccf3e9ff22b8d7f75690aab..fefe3a57cf7baad2b675e0f1774467b53f5e9570 100644 (file)
@@ -18,8 +18,9 @@
 
     require_login();
 
-    require_capability('moodle/course:bulkmessaging', get_context_instance(CONTEXT_COURSE, $id));
-
+    $coursecontext = get_context_instance(CONTEXT_COURSE, $id);   // Course context
+    $systemcontext = get_context_instance(CONTEXT_SYSTEM);   // SYSTEM context
+    require_capability('moodle/course:bulkmessaging', $coursecontext);
 
     if (empty($SESSION->emailto)) {
         $SESSION->emailto = array();
@@ -63,7 +64,9 @@
     }
 
     $navlinks = array();
-    $navlinks[] = array('name' => get_string('participants'), 'link' => "index.php?id=$course->id", 'type' => 'misc');
+    if (has_capability('moodle/course:viewparticipants', $coursecontext) || has_capability('moodle/site:viewparticipants', $systemcontext)) {
+        $navlinks[] = array('name' => get_string('participants'), 'link' => "index.php?id=$course->id", 'type' => 'misc');
+    }
     $navlinks[] = array('name' => $strtitle, 'link' => null, 'type' => 'misc');
     $navigation = build_navigation($navlinks);