diff --git a/mod/forum/report/summary/classes/summary_table.php b/mod/forum/report/summary/classes/summary_table.php index 76d0bc65cfd..deded92d651 100644 --- a/mod/forum/report/summary/classes/summary_table.php +++ b/mod/forum/report/summary/classes/summary_table.php @@ -568,7 +568,22 @@ class summary_table extends table_sql { $privaterepliesparams['privatereplyfrom'] = $USER->id; } - list($enrolleduserssql, $enrolledusersparams) = get_enrolled_sql($this->get_context()); + if ($this->iscoursereport) { + $course = get_course($this->courseid); + $groupmode = groups_get_course_groupmode($course); + } else { + $cm = \cm_info::create($this->cms[0]); + $groupmode = $cm->effectivegroupmode; + } + + if ($groupmode == SEPARATEGROUPS && !has_capability('moodle/site:accessallgroups', $this->get_context())) { + $groups = groups_get_all_groups($this->courseid, $USER->id, 0, 'g.id'); + $groupids = array_column($groups, 'id'); + } else { + $groupids = []; + } + + [$enrolleduserssql, $enrolledusersparams] = get_enrolled_sql($this->get_context(), '', $groupids); $this->sql->params += $enrolledusersparams; $queryattachments = 'SELECT COUNT(fi.id) AS attcount, fi.itemid AS postid, fi.userid