From 5df04607beef69347d6eafe21b8e8ac26e25d769 Mon Sep 17 00:00:00 2001 From: tjhunt Date: Wed, 25 Mar 2009 02:37:27 +0000 Subject: [PATCH] accesslib: MDL-18604 you should never be allowed to switch to a role with moodle/site:doanything. Further logic correction. --- lib/accesslib.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/accesslib.php b/lib/accesslib.php index 61abc43e14b..473e4df3e27 100755 --- a/lib/accesslib.php +++ b/lib/accesslib.php @@ -4262,9 +4262,9 @@ function get_assignable_roles_for_switchrole($context, $field='name', $rolenamed {$CFG->prefix}role_capabilities rc WHERE ra.userid = $USER->id AND ra.contextid IN ($contexts) AND raa.roleid = ra.roleid AND r.id = raa.allowassign - AND r.id = rc.roleid AND rc.capability = 'moodle/course:view' + AND r.id = rc.roleid AND rc.capability = 'moodle/course:view' AND rc.permission = " . CAP_ALLOW . " AND NOT EXISTS (SELECT 1 FROM {$CFG->prefix}role_capabilities irc - WHERE irc.roleid = r.id AND irc.capability = 'moodle/site:doanything') + WHERE irc.roleid = r.id AND irc.capability = 'moodle/site:doanything' AND irc.permission = " . CAP_ALLOW . ") ) inline_view WHERE ro.id = inline_view.id ORDER BY ro.sortorder ASC")) {