Extend the require_login in require_capability a bit

This commit is contained in:
moodler 2006-09-24 13:15:13 +00:00
parent 6df3c7df7a
commit 11ac79ff0e

View File

@ -236,6 +236,12 @@ function require_capability($capability, $context=NULL, $userid=NULL, $doanythin
if (empty($userid) and empty($USER->id)) {
if ($context && ($context->contextlevel == CONTEXT_COURSE)) {
require_login($context->instanceid);
} else if ($context && ($context->contextlevel == CONTEXT_MODULE)) {
if ($cm = get_record('course_modules','id',$context->instanceid)) {
require_login($cm->course, true, $cm);
} else {
require_login();
}
} else {
require_login();
}
@ -418,6 +424,10 @@ function capability_search($capability, $context, $capabilities) {
global $USER, $CFG;
if (!isset($context->id)) {
return 0;
}
if (isset($capabilities[$context->id][$capability])) {
debugging("Found $capability in context $context->id at level $context->contextlevel: ".$capabilities[$context->id][$capability], DEBUG_DEVELOPER);
return ($capabilities[$context->id][$capability]);