*/
function capability_search($capability, $context, $capabilities, $switchroleactive=false) {
- global $USER, $CFG, $COURSE;
+ global $USER, $CFG;
if (!isset($context->id)) {
return 0;
break;
case CONTEXT_COURSECAT: // Coursecat -> coursecat or site
- static $categorycache = null; // caching of parent categories - these are never changing on one page
- if (!isset($categorycache)) {
- $categorycache = array();
- }
- if (!array_key_exists($context->instanceid, $categorycache)) {
- $coursecat = get_record('course_categories','id',$context->instanceid);
- $categorycache[$context->instanceid] = $coursecat->parent;
- }
- if (!empty($categorycache[$context->instanceid])) { // return parent value if it exists
- $parentcontext = get_context_instance(CONTEXT_COURSECAT, $categorycache[$context->instanceid]);
+ $coursecat = get_record('course_categories','id',$context->instanceid);
+ if (!empty($coursecat->parent)) { // return parent value if it exists
+ $parentcontext = get_context_instance(CONTEXT_COURSECAT, $coursecat->parent);
} else { // else return site value
$parentcontext = get_context_instance(CONTEXT_SYSTEM);
}
case CONTEXT_COURSE: // 1 to 1 to course cat
if (empty($switchroleactive)) {
// find the course cat, and return its value
- if ($context->instanceid == $COURSE->id) {
- $course = $COURSE; // reuse the global COURSE we already have ;-)
- } else {
- $course = get_record('course','id',$context->instanceid);
- }
+ $course = get_record('course','id',$context->instanceid);
if ($course->id == SITEID) { // In 1.8 we've separated site course and system
$parentcontext = get_context_instance(CONTEXT_SYSTEM);
} else {