MDL-30376 - Glossary - Fixing ability to see the RSS feed for a glossary
authorJason Fowler <phalacee@gmail.com>
Wed, 30 Nov 2011 06:36:22 +0000 (14:36 +0800)
committerJason Fowler <phalacee@gmail.com>
Wed, 30 Nov 2011 06:43:08 +0000 (14:43 +0800)
mod/glossary/lib.php
mod/glossary/rsslib.php

index 89d992d..98bc0e6 100644 (file)
@@ -2748,7 +2748,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;
+    global $PAGE, $DB, $CFG, $USER, $COURSE;
 
     $mode = optional_param('mode', '', PARAM_ALPHA);
     $hook = optional_param('hook', 'ALL', PARAM_CLEAN);
@@ -2771,7 +2771,7 @@ 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) {
+    if (!empty($CFG->enablerssfeeds) && !empty($CFG->glossary_enablerssfeeds) && $glossary->rsstype && $glossary->rssarticles  && can_access_course($COURSE, $USER)) {
         require_once("$CFG->libdir/rsslib.php");
 
         $string = get_string('rsstype','forum');
index 3ab155d..d2448ab 100644 (file)
@@ -4,7 +4,7 @@
     //This function is the main entry point to glossary
     //rss feeds generation.
     function glossary_rss_get_feed($context, $args) {
-        global $CFG, $DB;
+        global $CFG, $DB, $COURSE, $USER;
 
         $status = true;
 
@@ -20,7 +20,7 @@
 
             //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 || !is_enrolled($context)) {
+            if ($context->id != $modcontext->id || !can_access_course($COURSE, $USER)) {
                 return null;
             }
         }