$context = get_record('context', 'id', $contextid);
+ $participants = get_string("participants");
+ $user = get_record('user', 'id', $userid);
+ $fullname = fullname($user, isteacher($course->id));
+
// we got a few tabs there
if ($context->level == CONTEXT_USERID) {
- print_header();
+ /// course header
+ if ($courseid!= SITEID) {
+ print_header("$fullname", "$fullname",
+ "<a href=\"../course/view.php?id=$course->id\">$course->shortname</a> ->
+ <a href=\"".$CFG->wwwroot."/user/index.php?id=$course->id\">$participants</a> -> <a href=\"".$CFG->wwwroot."/user/view.php?id=".$userid."&course=".$courseid."\">$fullname</a> ->".get_string('assign', 'roles'),
+ "", "", true, " ", navmenu($course));
+
+ /// site header
+ } else {
+ print_header("$course->fullname: $fullname", "$course->fullname",
+ "<a href=\"".$CFG->wwwroot."/user/view.php?id=".$userid."&course=".$courseid."\">$fullname</a> -> $straction", "", "", true, " ", navmenu($course));
+ }
+
$showroles = 1;
$currenttab = 'assign';
include_once($CFG->dirroot.'/user/tabs.php');
$contextlevel = $capability->contextlevel;
$component = $capability->component;
- // check the capability override for this cap, this role in this context
+ // check the capability override for this cap, this role in this context
+ $sitecontext = get_context_instance(CONTEXT_SYSTEM, SITEID);
- $SQL = "select * from {$CFG->prefix}role_capabilities where
- roleid = $roleid and capability = '$capability->name' and contextid = $contextid";
- get_record_sql($SQL);
-
- $localoverride = get_local_override($roleid, $contextid, $capability->name);
-
- if (isset($r_caps[$capability->name])) {
- $isallow = $r_caps[$capability->name] > 0;
- $isprevent = $r_caps[$capability->name] < 0 && $r_caps[$capability->name] > -500;
- $isprohibit = $r_caps[$capability->name] <= -500;
- } else {
- $isallow = 0;
- $isprevent = 0;
- $isprohibit = 0;
- }
+ $localoverride = get_local_override($roleid, $sitecontext->id, $capability->name);
?>
$strshowall = get_string('showall');
$context = get_record('context', 'id', $contextid);
-
- $straction = get_string('overrideroles', 'role');
+ $participants = get_string("participants");
+ $user = get_record('user', 'id', $userid);
+ $fullname = fullname($user, isteacher($course->id));
+ $straction = get_string('overrideroles', 'role');
+
// we got a few tabs there
if ($context->level == CONTEXT_USERID) {
- print_header();
+
+ /// course header
+ if ($courseid!= SITEID) {
+ print_header("$fullname", "$fullname",
+ "<a href=\"../course/view.php?id=$course->id\">$course->shortname</a> ->
+ <a href=\"".$CFG->wwwroot."/user/index.php?id=$course->id\">$participants</a> -> <a href=\"".$CFG->wwwroot."/user/view.php?id=".$userid."&course=".$courseid."\">$fullname</a> -> $straction",
+ "", "", true, " ", navmenu($course));
+
+ /// site header
+ } else {
+ print_header("$course->fullname: $fullname", "$course->fullname",
+ "<a href=\"".$CFG->wwwroot."/user/view.php?id=".$userid."&course=".$courseid."\">$fullname</a> -> $straction", "", "", true, " ", navmenu($course));
+ }
$showroles = 1;
$currenttab = 'override';
include_once($CFG->dirroot.'/user/tabs.php');
}
$SQL = "select * from {$CFG->prefix}role_capabilities where
- roleid = $roleid and capability = '$capname' and contextid = $contextid";
+ roleid = $roleid and capability = '$capname' and contextid = $contextid";
- $localoverride = get_record_sql($SQL);
+ $localoverride = get_record_sql($SQL);
if ($localoverride) { // update current overrides
$localoverride->permission = $value;
$localoverride->timemodified = time();
$localoverride->modifierid = $USER->id;
+
update_record('role_capabilities', $localoverride);
}
} /// close switch
// prints the tabs
-$showroles = 1;
+if ($filtertype=='user') {
+ $showroles = 1;
+}
$currenttab = 'blogs';
$user = $USER;
if (!$course) {
/// /user/edit.php
/// /course/user.php
$currenttab = $mode;
+ $showroles = 1;
include($CFG->dirroot.'/user/tabs.php');
get_all_mods($course->id, $mods, $modnames, $modnamesplural, $modnamesused);
}
$currenttab = $mode;
+ $showroles = 1;
include($CFG->dirroot.'/user/tabs.php'); /// Prints out tabs as part of user page
$isseparategroups = /*
/// /user/view.php
/// /user/edit.php
/// /course/user.php
+ $showroles = 1;
$currenttab = 'editprofile';
include('tabs.php');
}
$toprow[] = new tabobject('profile', $CFG->wwwroot.'/user/view.php?id='.$user->id.'&course='.$course->id, get_string('profile'));
-
+ $personalcontext = get_context_instance(CONTEXT_USERID, $user->id);
/// Can only edit profile if it belongs to user or current user is admin and not editing primary admin
if (($mainadmin = get_admin()) === false) {
$toprow[] = new tabobject('editprofile', $wwwroot.'/user/edit.php?id='.$user->id.'&course='.$course->id, get_string('editmyprofile'));
}
-
/// Everyone can see posts for this user
+
+ /// add logic to see course read posts permission
+ if (has_capability('moodle/user:readuserposts', $personalcontext) || has_capability('mod/forum:viewdiscussion', get_context_instance(CONTEXT_COURSE, $courseid))) {
+ $toprow[] = new tabobject('forumposts', $CFG->wwwroot.'/mod/forum/user.php?id='.$user->id.'&course='.$course->id,
+ get_string('forumposts', 'forum'));
- $toprow[] = new tabobject('forumposts', $CFG->wwwroot.'/mod/forum/user.php?id='.$user->id.'&course='.$course->id,
- get_string('forumposts', 'forum'));
-
- if (in_array($currenttab, array('posts', 'discussions'))) {
- $inactive = array('forumposts');
- $activetwo = array('forumposts');
+ if (in_array($currenttab, array('posts', 'discussions'))) {
+ $inactive = array('forumposts');
+ $activetwo = array('forumposts');
- $secondrow = array();
- $secondrow[] = new tabobject('posts', $CFG->wwwroot.'/mod/forum/user.php?course='.$course->id.
+ $secondrow = array();
+ $secondrow[] = new tabobject('posts', $CFG->wwwroot.'/mod/forum/user.php?course='.$course->id.
'&id='.$user->id.'&mode=posts', get_string('posts', 'forum'));
- $secondrow[] = new tabobject('discussions', $CFG->wwwroot.'/mod/forum/user.php?course='.$course->id.
+ $secondrow[] = new tabobject('discussions', $CFG->wwwroot.'/mod/forum/user.php?course='.$course->id.
'&id='.$user->id.'&mode=discussions', get_string('discussions', 'forum'));
- }
-
+ }
+ }
/// Blog entry, everyone can view
- if ($CFG->bloglevel > 0) { // only if blog is enabled. Permission check kicks in when display list
+ if ($CFG->bloglevel > 0 && has_capability('moodle/user:readuserblogs')) { // only if blog is enabled. Permission check kicks in when display list
$toprow[] = new tabobject('blogs', $CFG->wwwroot.'/blog/index.php?userid='.$user->id.'&courseid='.$course->id, get_string('blogs', 'blog'));
}
//print_object($course);
//print_object($user);
- if (isteacher($course->id) or ($course->showreports and $USER->id == $user->id)) {
+
+ // add in logic to check course read report
+ if (has_capability('moodle/user:viewactivitiesreport', $personalcontext) || ($course->showreports and $USER->id == $user->id)) {
$toprow[] = new tabobject('reports', $CFG->wwwroot.'/course/user.php?id='.$course->id.
'&user='.$user->id.'&mode=outline', get_string('activityreports'));
$secondrow = array();
$secondrow[] = new tabobject('assign', $CFG->wwwroot.'/admin/roles/assign.php?contextid='.$usercontext->id.'&userid='.$user->id.'&courseid='.$course->id
- ,get_string('assign'));
+ ,get_string('assignroles', 'role'));
$secondrow[] = new tabobject('override', $CFG->wwwroot.'/admin/roles/override.php?contextid='.$usercontext->id.'&userid='.$user->id.'&courseid='.$course->id
- ,get_string('override'));
+ ,get_string('overrideroles', 'role'));
}
}