/// this needs permission checkings
- $usercontext = get_context_instance(CONTEXT_USER, $user->id);
- if (!empty($showroles) && has_capability('moodle/role:assign',$usercontext)) { // this variable controls whether this roles is showed, or not, so only user/view page should set this flag
- $toprow[] = new tabobject('roles', $CFG->wwwroot.'/'.$CFG->admin.'/roles/assign.php?contextid='.$usercontext->id.'&userid='.$user->id.'&courseid='.$course->id
- ,get_string('roles'));
-
- if (in_array($currenttab, array('assign', 'override'))) {
- $inactive = array('roles');
- $activetwo = array('roles');
-
- $secondrow = array();
- $secondrow[] = new tabobject('assign', $CFG->wwwroot.'/'.$CFG->admin.'/roles/assign.php?contextid='.$usercontext->id.'&userid='.$user->id.'&courseid='.$course->id
- ,get_string('assignroles', 'role'));
- $secondrow[] = new tabobject('override', $CFG->wwwroot.'/'.$CFG->admin.'/roles/override.php?contextid='.$usercontext->id.'&userid='.$user->id.'&courseid='.$course->id
- ,get_string('overrideroles', 'role'));
-
+
+ if (!empty($showroles) and !empty($user)) { // this variable controls whether this roles is showed, or not, so only user/view page should set this flag
+ $usercontext = get_context_instance(CONTEXT_USER, $user->id);
+ if (has_capability('moodle/role:assign',$usercontext)) {
+ $toprow[] = new tabobject('roles', $CFG->wwwroot.'/'.$CFG->admin.'/roles/assign.php?contextid='.$usercontext->id.'&userid='.$user->id.'&courseid='.$course->id
+ ,get_string('roles'));
+
+ if (in_array($currenttab, array('assign', 'override'))) {
+ $inactive = array('roles');
+ $activetwo = array('roles');
+
+ $secondrow = array();
+ $secondrow[] = new tabobject('assign', $CFG->wwwroot.'/'.$CFG->admin.'/roles/assign.php?contextid='.$usercontext->id.'&userid='.$user->id.'&courseid='.$course->id
+ ,get_string('assignroles', 'role'));
+ $secondrow[] = new tabobject('override', $CFG->wwwroot.'/'.$CFG->admin.'/roles/override.php?contextid='.$usercontext->id.'&userid='.$user->id.'&courseid='.$course->id
+ ,get_string('overrideroles', 'role'));
+
+ }
}
}
/// Add second row to display if there is one