/** * Adds a temp role to current USER->access array. * * Useful for the "temporary guest" access we grant to logged-in users. * @since 2.2 * * @param context_course $coursecontext * @param int $roleid * @return void */ function load_temp_course_role(context_course $coursecontext, $roleid) { global $USER, $SITE; if (empty($roleid)) { debugging('invalid role specified in load_temp_course_role()'); return; } if ($coursecontext->instanceid == $SITE->id) { debugging('Can not use temp roles on the frontpage'); return; } if (!isset($USER->access)) { load_all_capabilities(); } $coursecontext->reload_if_dirty(); if (isset($USER->access['ra'][$coursecontext->path][$roleid])) { return; } // load course stuff first load_course_context($USER->id, $coursecontext, $USER->access); $USER->access['ra'][$coursecontext->path][(int) $roleid] = (int) $roleid; load_role_access_by_context($roleid, $coursecontext, $USER->access); }
/** * Adds a temp role to current USER->access array. * * Useful for the "temporary guest" access we grant to logged-in users. * @since 2.2 * * @param context_course $coursecontext * @param int $roleid * @return void */ function load_temp_course_role(context_course $coursecontext, $roleid) { global $USER; //TODO: this gets removed if there are any dirty contexts, we should probably store list of these temp roles somewhere (skodak) if (empty($roleid)) { debugging('invalid role specified in load_temp_course_role()'); return; } if (!isset($USER->access)) { load_all_capabilities(); } $coursecontext->reload_if_dirty(); if (isset($USER->access['ra'][$coursecontext->path][$roleid])) { return; } // load course stuff first load_course_context($USER->id, $coursecontext, $USER->access); $USER->access['ra'][$coursecontext->path][(int) $roleid] = (int) $roleid; load_role_access_by_context($roleid, $coursecontext, $USER->access); }