*
* accessdata ($ad) is a multidimensional array, holding
* role assignments (RAs), role-capabilities-perm sets
- * (Role Defs) and a list of courses we have loaded
+ * (role defs) and a list of courses we have loaded
* data for.
*
* Things are keyed on "contextpaths" (the path field of
}
- // handle role switching in courses
- if (!empty($USER->switchrole)) {
- foreach ($USER->switchrole as $contextid => $roleid) {
- $context = get_context_instance_by_id($contextid);
-
- // first prune context and any child contexts
- $children = array_keys(get_child_contexts($context));
- foreach ($children as $childid) {
- unset($USER->capabilities[$childid]);
- }
- unset($USER->capabilities[$contextid]);
-
- // now merge all switched role caps in context and bellow
- $swithccaps = get_role_context_caps($roleid, $context);
- $USER->capabilities = merge_role_caps($USER->capabilities, $swithccaps);
- }
- }
-
if (isset($USER->capabilities)) {
$USER->capabilities = merge_role_caps($USER->capabilities, $defcaps);
} else {
$strloggedinasguest = get_string('loggedinasguest');
print_header_simple('', '',
build_navigation(array(array('name' => $strloggedinasguest, 'link' => null, 'type' => 'misc'))));
- if (empty($USER->switchrole[$context->id])) { // Normal guest
+ if (empty($USER->access['rsw'][$context->path])) { // Normal guest
notice(get_string('guestsnotallowed', '', format_string($COURSE->fullname)), "$CFG->wwwroot/login/index.php");
} else {
notify(get_string('guestsnotallowed', '', format_string($COURSE->fullname)));