Example #1
0
/**
 * 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);
}
Example #2
0
/**
 * 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);
}