]> git.mjollnir.org Git - moodle.git/commitdiff
Bug #5909 - Fix use of user_group() because it returns arrays now - part 2 forum...
authorskodak <skodak>
Tue, 4 Jul 2006 08:32:05 +0000 (08:32 +0000)
committerskodak <skodak>
Tue, 4 Jul 2006 08:32:05 +0000 (08:32 +0000)
mod/forum/lib.php
mod/forum/search.php
mod/forum/user.php

index e7493e4d21fe8c4605d96580f38d6f9ff868279d..f552f212be59a476ac6e979d5fd440c8eacb0af9 100644 (file)
@@ -1104,7 +1104,7 @@ function forum_get_child_posts($parent, $forumid) {
 }
 
 
-function forum_search_posts($searchterms, $courseid, $page=0, $recordsperpage=50, &$totalcount, $groupid=0, $extrasql='') {
+function forum_search_posts($searchterms, $courseid, $page=0, $recordsperpage=50, &$totalcount, $sepgroups=0, $extrasql='') {
 /// Returns a list of posts found using an array of search terms
 /// eg   word  +word -word
 ///
@@ -1116,12 +1116,13 @@ function forum_search_posts($searchterms, $courseid, $page=0, $recordsperpage=50
         $forummodule = get_record("modules", "name", "forum");
         $onlyvisible = "AND d.forum = f.id AND f.id = cm.instance AND cm.visible = 1 AND cm.module = $forummodule->id";
         $onlyvisibletable = ", {$CFG->prefix}course_modules cm, {$CFG->prefix}forum f";
-        if ($groupid) {
+        if (!empty($sepgroups)) {
             $separategroups = SEPARATEGROUPS;
             $selectgroup = " AND ( NOT (cm.groupmode='$separategroups'".
                                       " OR (c.groupmode='$separategroups' AND c.groupmodeforce='1') )";//.
-            foreach ($groupid as $index => $value){
-                $selectgroup .= " OR d.groupid = '$value'";
+            $selectgroup .= " OR d.groupid = '-1'"; //search inside discussions for all groups too
+            foreach ($sepgroups as $sepgroup){
+                $selectgroup .= " OR d.groupid = '$sepgroup->id'";
             }
             $selectgroup .= ")";
 
index 6d8e36ce4f33ad4c58f20bfc7921a6983e17e587..727743e3a2d069b5d6d1a1de5b42626998f75595 100644 (file)
 
     $searchform = forum_search_form($course, $search);
 
-    if ($group = user_group($course->id, $USER->id)) {
-        $groupid = $group->id;
+    if ((!isteacheredit($course->id)) and forum_get_separate_modules($course->id)) {
+        $sepgroups = user_group($course->id, $USER->id);
     } else {
-        $groupid = 0;
+        $sepgroups = false;
     }
 
-    if (!$posts = forum_search_posts($searchterms, $course->id, $page*$perpage, $perpage, $totalcount, $groupid)) {
+    if (!$posts = forum_search_posts($searchterms, $course->id, $page*$perpage, $perpage, $totalcount, $sepgroups)) {
 
         print_header_simple("$strsearchresults", "",
                 "<a href=\"index.php?id=$course->id\">$strforums</a> ->
index 185921f584143cade107ba9459f346a676fab2e9..424b287c59bad9302c6c4902c24308091400c851 100644 (file)
     $currenttab = $mode;
     include($CFG->dirroot.'/user/tabs.php');   /// Prints out tabs as part of user page
 
-    $isseparategroups = /*(($course->groupmode == SEPARATEGROUPS and
-                         $course->groupmodeforce and
-                         !isteacheredit($course->id))*/forum_get_separate_modules($course->id);
-
-    //editting teacher can view everything so do not pass in groupid
-    if (isteacheredit ($course->id)){
-        $isseparategroups = false;
+    if ((!isteacheredit($course->id)) and forum_get_separate_modules($course->id)) {
+        $sepgroups = user_group($course->id, $USER->id);
+    } else {
+        $sepgroups = false;
     }
 
-    $groupid = $isseparategroups ? /*get_current_group*/mygroupid($course->id) : NULL;
-
     switch ($mode) {
         case 'posts' :
             $searchterms = array('userid:'.$user->id);
@@ -74,7 +69,7 @@
     
     echo '<div class="user-content">';
     if ($posts = forum_search_posts($searchterms, $course->id, $page*$perpage, $perpage, 
-                                    $totalcount, $groupid, $extrasql)) {
+                                    $totalcount, $sepgroups, $extrasql)) {
         print_paging_bar($totalcount, $page, $perpage, 
                          "user.php?id=$user->id&amp;course=$course->id&amp;mode=$mode&amp;perpage=$perpage&amp;");
         foreach ($posts as $post) {