MDL-57001 switchroles: Move to user menu

Take this out of the navigation and force it in the user menu.
This commit is contained in:
Damyon Wiese
2016-11-24 15:11:19 +08:00
parent 7095f5be97
commit 70b03eff02
5 changed files with 64 additions and 71 deletions
-29
View File
@@ -4263,35 +4263,6 @@ class settings_navigation extends navigation_node {
}
// Switch roles
$roles = array();
$assumedrole = $this->in_alternative_role();
if ($assumedrole !== false) {
$roles[0] = get_string('switchrolereturn');
}
if ($adminoptions->roles) {
$availableroles = get_switchable_roles($coursecontext);
if (is_array($availableroles)) {
foreach ($availableroles as $key=>$role) {
if ($assumedrole == (int)$key) {
continue;
}
$roles[$key] = $role;
}
}
}
if (is_array($roles) && count($roles)>0) {
$url = new moodle_url('/course/switchrole.php', array('id'=>$course->id, 'switchrole'=>'-1', 'returnurl'=>$this->page->url->out_as_local_url(false)));
$switchroles = $coursenode->add(get_string('switchroleto'), $url, self::TYPE_CONTAINER, null, 'switchroleto');
if ((count($roles)==1 && array_key_exists(0, $roles))|| $assumedrole!==false) {
$switchroles->force_open();
}
foreach ($roles as $key => $name) {
$url = new moodle_url('/course/switchrole.php', array('id'=>$course->id, 'sesskey'=>sesskey(), 'switchrole'=>$key, 'returnurl'=>$this->page->url->out_as_local_url(false)));
$switchroles->add($name, $url, self::TYPE_SETTING, null, $key, new pix_icon('i/switchrole', ''));
}
}
// Let plugins hook into course navigation.
$pluginsfunction = get_plugins_with_function('extend_navigation_course', 'lib.php');
foreach ($pluginsfunction as $plugintype => $plugins) {