Skip to content
Browse files

Merge branch 'wip-MDL-26500-22' of git://github.com/danpoltawski/mood…

…le into MOODLE_22_STABLE
  • Loading branch information...
2 parents f7de3d4 + 54ba4bf commit 5a2d320ca6764afe9028a620b77a14ccf762084a @stronk7 stronk7 committed Apr 24, 2012
Showing with 31 additions and 26 deletions.
  1. +3 −1 blog/rsslib.php
  2. +14 −12 mod/forum/rsslib.php
  3. +14 −13 mod/glossary/rsslib.php
View
4 blog/rsslib.php
@@ -164,7 +164,9 @@ function blog_rss_get_feed($context, $args) {
$item->title = $blog_entry->subject;
$item->pubdate = $blog_entry->lastmodified;
$item->link = $CFG->wwwroot.'/blog/index.php?entryid='.$blog_entry->id;
- $item->description = format_text($blog_entry->summary, $blog_entry->format);
+ $summary = file_rewrite_pluginfile_urls($blog_entry->summary, 'pluginfile.php',
+ $sitecontext->id, 'blog', 'post', $blog_entry->id);
+ $item->description = format_text($summary, $blog_entry->format);
if ( !empty($CFG->usetags) && ($blogtags = tag_get_tags_array('post', $blog_entry->id)) ) {
if ($blogtags) {
$item->tags = $blogtags;
View
26 mod/forum/rsslib.php
@@ -45,13 +45,11 @@ function forum_rss_get_feed($context, $args) {
$forumid = clean_param($args[3], PARAM_INT);
$cm = get_coursemodule_from_instance('forum', $forumid, 0, false, MUST_EXIST);
- if ($cm) {
- $modcontext = get_context_instance(CONTEXT_MODULE, $cm->id);
+ $modcontext = get_context_instance(CONTEXT_MODULE, $cm->id);
- //context id from db should match the submitted one
- if ($context->id != $modcontext->id || !has_capability('mod/forum:viewdiscussion', $modcontext)) {
- return null;
- }
+ //context id from db should match the submitted one
+ if ($context->id != $modcontext->id || !has_capability('mod/forum:viewdiscussion', $modcontext)) {
+ return null;
}
$forum = $DB->get_record('forum', array('id' => $forumid), '*', MUST_EXIST);
@@ -75,7 +73,7 @@ function forum_rss_get_feed($context, $args) {
$dontrecheckcutoff = time()-60;
if ( $dontrecheckcutoff > $cachedfilelastmodified && forum_rss_newstuff($forum, $cm, $cachedfilelastmodified)) {
//need to regenerate the cached version
- $result = forum_rss_feed_contents($forum, $sql);
+ $result = forum_rss_feed_contents($forum, $sql, $modcontext);
if (!empty($result)) {
$status = rss_save_file('mod_forum',$filename,$result);
}
@@ -172,7 +170,7 @@ function forum_rss_feed_discussions_sql($forum, $cm, $newsince=0) {
}
$forumsort = "d.timemodified DESC";
- $postdata = "p.id, p.subject, p.created as postcreated, p.modified, p.discussion, p.userid, p.message as postmessage, p.messageformat AS postformat, p.messagetrust AS posttrust";
+ $postdata = "p.id AS postid, p.subject, p.created as postcreated, p.modified, p.discussion, p.userid, p.message as postmessage, p.messageformat AS postformat, p.messagetrust AS posttrust";
$sql = "SELECT $postdata, d.id as discussionid, d.name as discussionname, d.timemodified, d.usermodified, d.groupid, d.timestart, d.timeend,
u.firstname as userfirstname, u.lastname as userlastname, u.email, u.picture, u.imagealt
@@ -258,10 +256,12 @@ function forum_rss_get_group_sql($cm, $groupmode, $currentgroup, $modcontext=nul
* This function return the XML rss contents about the forum
* It returns false if something is wrong
*
- * @param object $forum
- * @param bool
+ * @param stdClass $forum the forum object
+ * @param string $sql The SQL used to retrieve the contents from the database
+ * @param object $context the context this forum relates to
+ * @return bool|string false if the contents is empty, otherwise the contents of the feed is returned
*/
-function forum_rss_feed_contents($forum, $sql) {
+function forum_rss_feed_contents($forum, $sql, $context) {
global $CFG, $DB;
$status = true;
@@ -300,7 +300,9 @@ function forum_rss_feed_contents($forum, $sql) {
}
$formatoptions->trusted = $rec->posttrust;
- $item->description = format_text($rec->postmessage,$rec->postformat,$formatoptions,$forum->course);
+ $message = file_rewrite_pluginfile_urls($rec->postmessage, 'pluginfile.php', $context->id,
+ 'mod_forum', 'post', $rec->postid);
+ $item->description = format_text($message, $rec->postformat, $formatoptions, $forum->course);
//TODO: implement post attachment handling
/*if (!$isdiscussion) {
View
27 mod/glossary/rsslib.php
@@ -15,18 +15,16 @@ function glossary_rss_get_feed($context, $args) {
$glossaryid = clean_param($args[3], PARAM_INT);
$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);
- }
- //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)) {
- return null;
- }
+ $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);
+ }
+ //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)) {
+ return null;
}
$glossary = $DB->get_record('glossary', array('id' => $glossaryid), '*', MUST_EXIST);
@@ -71,7 +69,10 @@ function glossary_rss_get_feed($context, $args) {
$item->pubdate = $rec->entrytimecreated;
$item->link = $CFG->wwwroot."/mod/glossary/showentry.php?courseid=".$glossary->course."&eid=".$rec->entryid;
- $item->description = format_text($rec->entrydefinition,$rec->entryformat,$formatoptions,$glossary->course);
+
+ $definition = file_rewrite_pluginfile_urls($rec->entrydefinition, 'pluginfile.php',
+ $modcontext->id, 'mod_glossary', 'entry', $rec->entryid);
+ $item->description = format_text($definition, $rec->entryformat, $formatoptions, $glossary->course);
$items[] = $item;
}

0 comments on commit 5a2d320

Please sign in to comment.
Something went wrong with that request. Please try again.