diff --git a/lib/rsslib.php b/lib/rsslib.php
index 67bd403a68a..930ae0e576d 100644
--- a/lib/rsslib.php
+++ b/lib/rsslib.php
@@ -23,6 +23,12 @@
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
+ function rss_add_http_header($context, $modname, $modinstance, $title) {
+ global $PAGE, $USER;
+ $rsspath = rss_get_url($context->id, $USER->id, $modname, $modinstance->id);
+ $PAGE->add_alternate_version($title, $rsspath, 'application/rss+xml');
+ }
+
/**
* This function returns the icon (from theme) with the link to rss/file.php
*
diff --git a/mod/data/lib.php b/mod/data/lib.php
index 41e4278e5e1..8659fd9d675 100755
--- a/mod/data/lib.php
+++ b/mod/data/lib.php
@@ -2809,11 +2809,9 @@ function data_extend_navigation($navigation, $course, $module, $cm) {
* @param navigation_node $datanode The node to add module settings to
*/
function data_extend_settings_navigation(settings_navigation $settings, navigation_node $datanode) {
- global $PAGE;
+ global $PAGE, $DB, $CFG, $USER;
- // We only actually need the id here for functions
- $data = new stdClass;
- $data->id = $PAGE->cm->instance;
+ $data = $DB->get_record('data', array("id" => $PAGE->cm->instance));
$currentgroup = groups_get_activity_group($PAGE->cm);
$groupmode = groups_get_activity_groupmode($PAGE->cm);
@@ -2855,4 +2853,13 @@ function data_extend_settings_navigation(settings_navigation $settings, navigati
$datanode->add(get_string('fields', 'data'), new moodle_url('/mod/data/field.php', array('d'=>$data->id)));
$datanode->add(get_string('presets', 'data'), new moodle_url('/mod/data/preset.php', array('d'=>$data->id)));
}
+
+ if (!empty($CFG->enablerssfeeds) && !empty($CFG->data_enablerssfeeds) && $data->rssarticles > 0) {
+ require_once("$CFG->libdir/rsslib.php");
+
+ $string = get_string('rsstype','forum');
+
+ $url = new moodle_url(rss_get_url($PAGE->cm->context->id, $USER->id, 'data', $data->id));
+ $datanode->add($string, $url, settings_navigation::TYPE_SETTING, null, null, new pix_icon('i/rss', ''));
+ }
}
diff --git a/mod/data/view.php b/mod/data/view.php
index 4f353f46b46..3579984f55e 100755
--- a/mod/data/view.php
+++ b/mod/data/view.php
@@ -266,9 +266,8 @@
/// RSS and CSS and JS meta
$meta = '';
if (!empty($CFG->enablerssfeeds) && !empty($CFG->data_enablerssfeeds) && $data->rssarticles > 0) {
- $rsspath = rss_get_url($context->id, $USER->id, 'data', $data->id);
- $PAGE->add_alternate_version(format_string($course->shortname) . ': %fullname%',
- $rsspath, 'application/rss+xml');
+ $rsstitle = format_string($course->shortname) . ': %fullname%';
+ rss_add_http_header($context, 'data', $data, $rsstitle);
}
if ($data->csstemplate) {
$PAGE->requires->css('/mod/data/css.php?d='.$data->id);
@@ -315,12 +314,13 @@
echo $OUTPUT->heading(format_string($data->name));
// Do we need to show a link to the RSS feed for the records?
- if (!empty($CFG->enablerssfeeds) && !empty($CFG->data_enablerssfeeds) && $data->rssarticles > 0) {
+ //this links has been Settings (database activity administration) block
+ /*if (!empty($CFG->enablerssfeeds) && !empty($CFG->data_enablerssfeeds) && $data->rssarticles > 0) {
echo '
';
rss_print_link($context->id, $USER->id, 'data', $data->id, get_string('rsstype'));
echo '
';
echo '';
- }
+ }*/
if ($data->intro and empty($page) and empty($record) and $mode != 'single') {
$options = new object();
diff --git a/mod/forum/discuss.php b/mod/forum/discuss.php
index d4c57b18b50..42d5ad41cf2 100644
--- a/mod/forum/discuss.php
+++ b/mod/forum/discuss.php
@@ -79,6 +79,13 @@
$modcontext = get_context_instance(CONTEXT_MODULE, $cm->id);
require_capability('mod/forum:viewdiscussion', $modcontext, NULL, true, 'noviewdiscussionspermission', 'forum');
+ if (!empty($CFG->enablerssfeeds) && !empty($CFG->forum_enablerssfeeds) && $forum->rsstype && $forum->rssarticles) {
+ require_once("$CFG->libdir/rsslib.php");
+
+ $rsstitle = format_string($course->shortname) . ': %fullname%';
+ rss_add_http_header($modcontext, 'forum', $forum, $rsstitle);
+ }
+
if ($forum->type == 'news') {
if (!($USER->id == $discussion->userid || (($discussion->timestart == 0
|| $discussion->timestart <= time())
diff --git a/mod/forum/index.php b/mod/forum/index.php
index a58ef5da7b8..a09e7804577 100644
--- a/mod/forum/index.php
+++ b/mod/forum/index.php
@@ -248,11 +248,11 @@ if ($generalforums) {
//If this forum has RSS activated, calculate it
if ($show_rss) {
if ($forum->rsstype and $forum->rssarticles) {
- //Calculate the tolltip text
+ //Calculate the tooltip text
if ($forum->rsstype == 1) {
- $tooltiptext = get_string('rsssubscriberssdiscussions', 'forum', format_string($forum->name));
+ $tooltiptext = get_string('rsssubscriberssdiscussions', 'forum');
} else {
- $tooltiptext = get_string('rsssubscriberssposts', 'forum', format_string($forum->name));
+ $tooltiptext = get_string('rsssubscriberssposts', 'forum');
}
//Get html code for RSS link
$row[] = rss_get_link($context->id, $USER->id, 'forum', $forum->id, $tooltiptext);
@@ -384,9 +384,9 @@ if ($course->id != SITEID) { // Only real courses have learning forums
if ($forum->rsstype and $forum->rssarticles) {
//Calculate the tolltip text
if ($forum->rsstype == 1) {
- $tooltiptext = get_string('rsssubscriberssdiscussions', 'forum', format_string($forum->name));
+ $tooltiptext = get_string('rsssubscriberssdiscussions', 'forum');
} else {
- $tooltiptext = get_string('rsssubscriberssposts', 'forum', format_string($forum->name));
+ $tooltiptext = get_string('rsssubscriberssposts', 'forum');
}
//Get html code for RSS link
$row[] = rss_get_link($context->id, $USER->id, 'forum', $forum->id, $tooltiptext);
diff --git a/mod/forum/lib.php b/mod/forum/lib.php
index 802a3d1f77e..15cc2532a9e 100644
--- a/mod/forum/lib.php
+++ b/mod/forum/lib.php
@@ -7503,9 +7503,9 @@ function forum_extend_settings_navigation(settings_navigation $settingsnav, navi
}
if ($forumobject->rsstype == 1) {
- $string = get_string("rsssubscriberssdiscussions","forum",format_string($forumobject->name));
+ $string = get_string('rsssubscriberssdiscussions','forum');
} else {
- $string = get_string("rsssubscriberssposts","forum",format_string($forumobject->name));
+ $string = get_string('rsssubscriberssposts','forum');
}
if (!isloggedin()) {
$userid = 0;
diff --git a/mod/forum/view.php b/mod/forum/view.php
index f9e204b88e1..4d3a8c4ed39 100644
--- a/mod/forum/view.php
+++ b/mod/forum/view.php
@@ -23,7 +23,6 @@
require_once('../../config.php');
require_once('lib.php');
- require_once("$CFG->libdir/rsslib.php");
$id = optional_param('id', 0, PARAM_INT); // Course Module ID
@@ -91,6 +90,13 @@
$context = get_context_instance(CONTEXT_MODULE, $cm->id);
$PAGE->set_context($context);
+ if (!empty($CFG->enablerssfeeds) && !empty($CFG->forum_enablerssfeeds) && $forum->rsstype && $forum->rssarticles) {
+ require_once("$CFG->libdir/rsslib.php");
+
+ $rsstitle = format_string($course->shortname) . ': %fullname%';
+ rss_add_http_header($context, 'forum', $forum, $rsstitle);
+ }
+
/// Print header.
/// Add ajax-related libs for ratings if required MDL-20119
diff --git a/mod/glossary/lib.php b/mod/glossary/lib.php
index 0f9e7af4ca2..4fc6fd71d33 100644
--- a/mod/glossary/lib.php
+++ b/mod/glossary/lib.php
@@ -2581,7 +2581,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;
+ global $PAGE, $DB, $CFG, $USER;
$mode = optional_param('mode', '', PARAM_ALPHA);
$hook = optional_param('hook', 'ALL', PARAM_CLEAN);
@@ -2601,4 +2601,16 @@ function glossary_extend_settings_navigation(settings_navigation $settings, navi
if (has_capability('mod/glossary:write', $PAGE->cm->context)) {
$glossarynode->add(get_string('addentry', 'glossary'), new moodle_url('/mod/glossary/edit.php', array('cmid'=>$PAGE->cm->id)));
}
+
+ $glossary = $DB->get_record('glossary', array("id" => $PAGE->cm->instance));
+
+ if (!empty($CFG->enablerssfeeds) && !empty($CFG->glossary_enablerssfeeds)
+ && $glossary->rsstype && $glossary->rssarticles) {
+ require_once("$CFG->libdir/rsslib.php");
+
+ $string = get_string('rsstype','forum');
+
+ $url = new moodle_url(rss_get_url($PAGE->cm->context->id, $USER->id, 'glossary', $glossary->id));
+ $glossarynode->add($string, $url, settings_navigation::TYPE_SETTING, null, null, new pix_icon('i/rss', ''));
+ }
}
diff --git a/mod/glossary/view.php b/mod/glossary/view.php
index 1c5f4ef4aac..80c8bc557b2 100644
--- a/mod/glossary/view.php
+++ b/mod/glossary/view.php
@@ -236,6 +236,14 @@ if (isset($mode)) {
$url->param('mode', $mode);
}
$PAGE->set_url($url);
+
+if (!empty($CFG->enablerssfeeds) && !empty($CFG->glossary_enablerssfeeds)
+ && $glossary->rsstype && $glossary->rssarticles) {
+
+ $rsstitle = format_string($course->shortname) . ': %fullname%';
+ rss_add_http_header($context, 'glossary', $glossary, $rsstitle);
+}
+
if ($tab == GLOSSARY_APPROVAL_VIEW) {
require_capability('mod/glossary:approve', $context);
$PAGE->navbar->add($strwaitingapproval);
@@ -251,7 +259,7 @@ if ($showcommonelements) {
$availableoptions = '';
/// Decide about to print the import link
- if (has_capability('mod/glossary:import', $context)) {
+ /*if (has_capability('mod/glossary:import', $context)) {
$availableoptions = '' .
'' .
@@ -269,7 +277,7 @@ if ($showcommonelements) {
' title="' . s(get_string('exportentries', 'glossary')) . '">' .
get_string('exportentries', 'glossary') . '' .
'';
- }
+ }*/
/// Decide about to print the approval link
if (has_capability('mod/glossary:approve', $context)) {
@@ -293,10 +301,10 @@ if ($showcommonelements) {
echo $availableoptions;
/// If rss are activated at site and glossary level and this glossary has rss defined, show link
- if (isset($CFG->enablerssfeeds) && isset($CFG->glossary_enablerssfeeds) &&
- $CFG->enablerssfeeds && $CFG->glossary_enablerssfeeds && $glossary->rsstype && $glossary->rssarticles) {
+ /*if (!empty($CFG->enablerssfeeds) && !empty($CFG->glossary_enablerssfeeds)
+ && $glossary->rsstype && $glossary->rssarticles) {
- $tooltiptext = get_string("rsssubscriberss","glossary",format_string($glossary->name,true));
+ $tooltiptext = get_string("rsssubscriberss",'glossary',format_string($glossary->name,true));
if (!isloggedin()) {
$userid = 0;
} else {
@@ -307,7 +315,7 @@ if ($showcommonelements) {
rss_print_link($context->id, $userid, "glossary", $glossary->id, $tooltiptext);
echo '';
// print_box_end();
- }
+ }*/
/// The print icon
if ( $showcommonelements and $mode != 'search') {