diff --git a/mod/forum/lib.php b/mod/forum/lib.php index a4736f62a07..2b246188947 100644 --- a/mod/forum/lib.php +++ b/mod/forum/lib.php @@ -1515,7 +1515,7 @@ function forum_print_recent_activity($course, $viewfullnames, $timestart) { $modinfo->groups = groups_get_user_groups($course->id); // load all my groups and cache it in modinfo } - if (!array_key_exists($post->groupid, $modinfo->groups[0])) { + if (!in_array($post->groupid, $modinfo->get_groups($cm->groupingid))) { continue; } } @@ -6010,12 +6010,10 @@ function forum_get_recent_mod_activity(&$activities, &$index, $timestart, $cours } if ($groupid) { - $groupselect = "AND gm.groupid = ?"; - $groupjoin = "JOIN {groups_members} gm ON gm.userid=u.id"; + $groupselect = "AND d.groupid = ?"; $params[] = $groupid; } else { $groupselect = ""; - $groupjoin = ""; } if (!$posts = $DB->get_records_sql("SELECT p.*, f.type AS forumtype, d.forum, d.groupid, @@ -6025,7 +6023,6 @@ function forum_get_recent_mod_activity(&$activities, &$index, $timestart, $cours JOIN {forum_discussions} d ON d.id = p.discussion JOIN {forum} f ON f.id = d.forum JOIN {user} u ON u.id = p.userid - $groupjoin WHERE p.created > ? AND f.id = ? $userselect $groupselect ORDER BY p.id ASC", $params)) { // order by initial posting date @@ -6061,7 +6058,7 @@ function forum_get_recent_mod_activity(&$activities, &$index, $timestart, $cours continue; } - if (!array_key_exists($post->groupid, $modinfo->groups[0])) { + if (!in_array($post->groupid, $modinfo->get_groups($cm->groupingid))) { continue; } }