Permalink
Browse files

MDL-25241 forum: reimplemented the display of ratings on the forum se…

…arch page
  • Loading branch information...
andyjdavis committed Sep 19, 2011
1 parent 51e1e3d commit 1239f5a5c49c32a5781330b9b9b02f91caf5b286
Showing with 28 additions and 0 deletions.
  1. +28 −0 mod/forum/search.php
View
@@ -158,6 +158,17 @@
exit;
}
+//including this here to prevent it being included if there are no search results
+require_once($CFG->dirroot.'/rating/lib.php');
+
+//set up the ratings information that will be the same for all posts
+$ratingoptions = new stdClass();
+$ratingoptions->component = 'mod_forum';
+$ratingoptions->ratingarea = 'post';
+$ratingoptions->userid = $USER->id;
+$ratingoptions->returnurl = $PAGE->url->out(false);
+$rm = new rating_manager();
+
$PAGE->set_title($strsearchresults);
$PAGE->set_heading($course->fullname);
$PAGE->set_button($searchform);
@@ -227,6 +238,23 @@
$post->subject = $fullsubject;
$post->subjectnoformat = true;
+ //add the ratings information to the post
+ //Unfortunately seem to have do this individually as posts may be from different forums
+ if ($forum->assessed != RATING_AGGREGATE_NONE) {
+ $modcontext = get_context_instance(CONTEXT_MODULE, $cm->id);
+ $ratingoptions->context = $modcontext;
+ $ratingoptions->items = array($post);
+ $ratingoptions->aggregate = $forum->assessed;//the aggregation method
+ $ratingoptions->scaleid = $forum->scale;
+ $ratingoptions->assesstimestart = $forum->assesstimestart;
+ $ratingoptions->assesstimefinish = $forum->assesstimefinish;
+ $postswithratings = $rm->get_ratings($ratingoptions);
+
+ if ($postswithratings && count($postswithratings)==1) {
+ $post = $postswithratings[0];
+ }
+ }
+
// Identify search terms only found in HTML markup, and add a warning about them to
// the start of the message text. However, do not do the highlighting here. forum_print_post
// will do it for us later.

0 comments on commit 1239f5a

Please sign in to comment.