diff --git a/availability/condition/group/classes/condition.php b/availability/condition/group/classes/condition.php index 39050603269..2445cdc963f 100644 --- a/availability/condition/group/classes/condition.php +++ b/availability/condition/group/classes/condition.php @@ -176,6 +176,12 @@ class condition extends \core_availability\condition { public function filter_user_list(array $users, $not, \core_availability\info $info, \core_availability\capability_checker $checker) { global $CFG, $DB; + + // If the array is empty already, just return it. + if (!$users) { + return $users; + } + require_once($CFG->libdir . '/grouplib.php'); $course = $info->get_course(); diff --git a/availability/condition/grouping/classes/condition.php b/availability/condition/grouping/classes/condition.php index a538704b38f..e0b59976ba8 100644 --- a/availability/condition/grouping/classes/condition.php +++ b/availability/condition/grouping/classes/condition.php @@ -209,6 +209,11 @@ class condition extends \core_availability\condition { \core_availability\capability_checker $checker) { global $CFG, $DB; + // If the array is empty already, just return it. + if (!$users) { + return $users; + } + // List users for this course who match the condition. $groupingusers = $DB->get_records_sql(" SELECT DISTINCT gm.userid diff --git a/availability/condition/profile/classes/condition.php b/availability/condition/profile/classes/condition.php index 0007e8751fc..59d06175ee1 100644 --- a/availability/condition/profile/classes/condition.php +++ b/availability/condition/profile/classes/condition.php @@ -416,6 +416,11 @@ class condition extends \core_availability\condition { \core_availability\capability_checker $checker) { global $CFG, $DB; + // If the array is empty already, just return it. + if (!$users) { + return $users; + } + // Get all users from the list who match the condition. list ($sql, $params) = $DB->get_in_or_equal(array_keys($users));