}
} // End foreach $courses
+ //print_object($courses);
+ //print_object($readableforums);
+
return $readableforums;
}
* @param $extrasql
* @return array of posts found
*/
-function forum_search_posts($searchterms, $courseid=0, $page=0, $recordsperpage=50,
+function forum_search_posts($searchterms, $courseid=0, $limitfrom=0, $limitnum=50,
&$totalcount, $extrasql='') {
global $CFG, $USER;
require_once($CFG->libdir.'/searchlib.php');
$forums = forum_get_readable_forums($USER->id, $courseid);
-
+
+ if (count($forums) == 0) {
+ return false;
+ }
for ($i=0; $i<count($forums); $i++) {
if ($i == 0) {
FROM $fromsql
WHERE $selectsql";
- $searchsql = "SELECT p.*,
+ $searchsql = "SELECT DISTINCT(p.id), p.*,
d.forum,
u.firstname,
u.lastname,
WHERE $selectsql
ORDER BY p.modified DESC";
- //print_object($searchsql); // Debug.
-
$totalcount = count_records_sql($countsql);
- return get_records_sql($searchsql, $page, $recordsperpage);
+
+ return get_records_sql($searchsql, $limitfrom, $limitnum);
}
}
echo '<div class="user-content">';
- // Get the posts regardless of group first.
- if ($posts = forum_search_posts($searchterms, $course->id, $page*$perpage, $perpage,
+
+
+ if ($course->id == SITEID) {
+ // Search throughout the whole site.
+ $searchcourse = 0;
+ } else {
+ // Search only for posts the user made in this course.
+ $searchcourse = $course->id;
+ }
+
+ // Get the posts.
+ if ($posts = forum_search_posts($searchterms, $searchcourse, $page*$perpage, $perpage,
$totalcount, $extrasql)) {
print_paging_bar($totalcount, $page, $perpage,
"user.php?id=$user->id&course=$course->id&mode=$mode&perpage=$perpage&");
+
foreach ($posts as $post) {
if (! $discussion = get_record('forum_discussions', 'id', $post->discussion)) {
get_string("postincontext", "forum")."</a>";
forum_print_post($post, $course->id, false, false, false, false, $fulllink);
-
echo "<br />";
}
echo '</div>';
print_footer($course);
-?>
-
+?>
\ No newline at end of file