Skip to content

Commit 5879fb7

Browse files
authored
Merge pull request #143 from sumaiyamannan/search_users_add_capability_check
Search users group add capability check
2 parents 7c74844 + ddd946e commit 5879fb7

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

classes/local/course_enrolment_manager.php

+8-3
Original file line numberDiff line numberDiff line change
@@ -46,18 +46,22 @@ public function search_users_with_groups(string $search = '', bool $searchanywhe
4646
$fields = 'SELECT ' . $ufields;
4747
$countfields = 'SELECT COUNT(u.id)';
4848
list($insql, $inparams) = $DB->get_in_or_equal(array_keys($groups), SQL_PARAMS_NAMED);
49-
49+
$capability = 'mod/dialogue:receive';
50+
$context = $this->context;
51+
[$enrolledsql, $enrolledparams] = get_enrolled_sql($context, $capability, 0, true);
5052
$sql = " FROM {user} u
5153
$joins
5254
JOIN {user_enrolments} ue ON ue.userid = u.id
5355
JOIN {enrol} e ON ue.enrolid = e.id
5456
JOIN ({groups_members} gm JOIN {groups} g ON (g.id = gm.groupid))
5557
ON (u.id = gm.userid AND g.courseid = e.courseid)
58+
JOIN ($enrolledsql) je ON je.id = u.id
5659
WHERE $wherecondition
60+
AND u.suspended = 0
5761
AND e.courseid = :courseid
5862
AND g.id $insql";
5963
$params['courseid'] = $this->course->id;
60-
$params = array_merge($params, $inparams);
64+
$params = array_merge($params, $inparams, $enrolledparams);
6165
return $this->execute_search_queries($search, $fields, $countfields, $sql, $params, $page, $perpage, 0, false);
6266
}
6367

@@ -106,7 +110,8 @@ public function search_users(string $search = '', bool $searchanywhere = false,
106110
$sql = " FROM {user} u
107111
$joins
108112
JOIN ($enrolledsql) je ON je.id = u.id
109-
WHERE $wherecondition";
113+
WHERE $wherecondition
114+
AND u.suspended = 0";
110115

111116
$params = array_merge($params, $enrolledparams);
112117

0 commit comments

Comments
 (0)