diff --git a/mod/glossary/lib.php b/mod/glossary/lib.php index 243f4a13df0..9c961a7a8a7 100644 --- a/mod/glossary/lib.php +++ b/mod/glossary/lib.php @@ -2721,7 +2721,7 @@ function glossary_extend_navigation($navigation, $course, $module, $cm) { * @param navigation_node $glossarynode The node to add module settings to */ function glossary_extend_settings_navigation(settings_navigation $settings, navigation_node $glossarynode) { - global $PAGE, $DB, $CFG, $USER, $COURSE; + global $PAGE, $DB, $CFG, $USER; $mode = optional_param('mode', '', PARAM_ALPHA); $hook = optional_param('hook', 'ALL', PARAM_CLEAN); @@ -2744,7 +2744,8 @@ function glossary_extend_settings_navigation(settings_navigation $settings, navi $glossary = $DB->get_record('glossary', array("id" => $PAGE->cm->instance)); - if (!empty($CFG->enablerssfeeds) && !empty($CFG->glossary_enablerssfeeds) && $glossary->rsstype && $glossary->rssarticles && can_access_course($COURSE, $USER)) { + $coursecontext = get_context_instance(CONTEXT_COURSE, $PAGE->course->id, MUST_EXIST); + if (!empty($CFG->enablerssfeeds) && !empty($CFG->glossary_enablerssfeeds) && $glossary->rsstype && $glossary->rssarticles && can_access_course($coursecontext, $USER)) { require_once("$CFG->libdir/rsslib.php"); $string = get_string('rsstype','forum'); diff --git a/mod/glossary/rsslib.php b/mod/glossary/rsslib.php index d2448abb849..b4c4fb7b05a 100644 --- a/mod/glossary/rsslib.php +++ b/mod/glossary/rsslib.php @@ -17,10 +17,15 @@ $cm = get_coursemodule_from_instance('glossary', $glossaryid, 0, false, MUST_EXIST); if ($cm) { $modcontext = get_context_instance(CONTEXT_MODULE, $cm->id); - + if ($COURSE->id == $cm->course) { + $course = $COURSE; + } else { + $course = $DB->get_record('course', array('id'=>$cm->course), '*', MUST_EXIST); + } + $coursecontext = get_context_instance(CONTEXT_COURSE, $course->id, MUST_EXIST); //context id from db should match the submitted one //no specific capability required to view glossary entries so just check user is enrolled - if ($context->id != $modcontext->id || !can_access_course($COURSE, $USER)) { + if ($context->id != $modcontext->id || !can_access_course($coursecontext, $USER)) { return null; } }