accesslib: MDL-18604 you should never be allowed to switch to a role with moodle/site:doanything.

Further logic correction.
This commit is contained in:
tjhunt
2009-03-25 02:37:27 +00:00
parent da9429c8e6
commit 5df04607be
+2 -2
View File
@@ -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")) {