From 80ee9add2dec44ee501c9fc02b66066cc701b75a Mon Sep 17 00:00:00 2001 From: sam marshall Date: Thu, 2 Oct 2014 10:39:20 +0100 Subject: [PATCH] MDL-47481 Availability: Profile condition error if no users --- availability/condition/group/classes/condition.php | 6 ++++++ availability/condition/grouping/classes/condition.php | 5 +++++ availability/condition/profile/classes/condition.php | 5 +++++ 3 files changed, 16 insertions(+) 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));