Merged fixes from stable for MDL-8741
authormoodler <moodler>
Mon, 5 Mar 2007 02:15:32 +0000 (02:15 +0000)
committermoodler <moodler>
Mon, 5 Mar 2007 02:15:32 +0000 (02:15 +0000)
group/lib/legacylib.php
mod/forum/discuss.php
mod/forum/index.php
mod/forum/search.php
mod/forum/view.php

index 5bdaec48892d757fb1075edbe89b921a0a6fe341..aaea991f55e50fc259e0c54a12c99efee7e147dc 100644 (file)
@@ -151,12 +151,13 @@ function mygroupid($courseid) {
 }
 
 /**
- * This now returns either false or SEPARATEGROUPS. If you want VISIBLE GROUPS 
- * with legacy code, you'll need to upgrade. 
+ * Returns the current group mode for a given course or activity module
+ * 
+ * Could be false, SEPARATEGROUPS or VISIBLEGROUPS    (<-- Martin)
  */
 function groupmode($course, $cm=null) {
 
-    if (is_object($cm) && isset($cm->groupmode) && !isset($course->groupmodeforce)) {
+    if (isset($cm->groupmode) && empty($course->groupmodeforce)) {
         return $cm->groupmode;
     }
     return $course->groupmode;
@@ -407,4 +408,4 @@ function groups_get_groups_users($userids, $courseid) {
     return $groups_users;
 }
 
-?>
\ No newline at end of file
+?>
index 7e838640d776ab6d17824dbb756ae31c4577b048..209c41735ee368b834d36fe350c43e355795ceba 100644 (file)
     $groupmode = groupmode($course, $cm);
     
     
-    if ($groupmode && $course->groupmodeforce && !has_capability('moodle/site:accessallgroups', $modcontext)) {   
+    if ($groupmode && !has_capability('moodle/site:accessallgroups', $modcontext)) {   
         // Groups must be kept separate
         //change this to ismember
         $mygroupid = mygroupid($course->id); //only useful if 0, otherwise it's an array now
index 14bcff3147628189325ee421cdbfce61c475cf39..1ed6565f9fccbbfe10e0ec75ae64409d86464561 100644 (file)
             $cm = get_coursemodule_from_instance("forum", $forum->id, $course->id);
             $context = get_context_instance(CONTEXT_MODULE, $cm->id);
            
-           if (isset($forum->groupmode)) {
+            if (isset($forum->groupmode)) {
                 $groupmode = groupmode($course, $forum);  /// Can do this because forum->groupmode is defined
             } else {
                 $groupmode = NOGROUPS;
index cb2b46aa4a3454b42609ee42e45e6680555fe1b4..2778efb37473e5d4400345b394f276ca44824563 100644 (file)
@@ -399,15 +399,16 @@ function forum_menu_list($course)  {
 
         foreach ($forums as $forum) {
             if ($cm = get_coursemodule_from_instance('forum', $forum->id, $course->id)) {
+                $context = get_context_instance(CONTEXT_MODULE, $cm->id);
                 if (!isset($forum->visible)) {
-                    $context = get_context_instance(CONTEXT_MODULE, $cm->id);
                     if (!instance_is_visible("forum", $forum) &&
                             !has_capability('moodle/course:viewhiddenactivities', $context)) {
                         continue;
                     }
                 }
                 $groupmode = groupmode($course, $cm);   // Groups are being used
-                if (($groupmode == SEPARATEGROUPS) and ($currentgroup === false)) {
+                if ($groupmode == SEPARATEGROUPS && ($currentgroup === false) &&
+                                  !has_capability('moodle/site:accessallgroups', $context)) {
                     continue;
                 }
             }
index a63266a2b6a600952a474090a303377f1cc468e0..c68741e6ddf60a851fb0d6c7e10db3d92cf50b10 100644 (file)
@@ -82,7 +82,7 @@
     $groupmode = groupmode($course, $cm);
     $currentgroup = get_and_set_current_group($course, $groupmode, $changegroup);
     
-    if ($groupmode and ($currentgroup === false) and
+    if ($groupmode == SEPARATEGROUPS && ($currentgroup === false) &&
             !has_capability('moodle/site:accessallgroups', $context)) {
         notice(get_string('notingroup', 'forum'));
     }