aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan-Hendrik Willms <tleilax+studip@gmail.com>2024-07-03 07:14:47 +0000
committerJan-Hendrik Willms <tleilax+github@gmail.com>2024-07-03 16:12:54 +0200
commit5ecea7b3e8bb65790a97fa43e71daaf7979191ef (patch)
treecbbfb80d3e7aa0175e0352d079f9f74c54509207
parentf0b2cf9a5fa9380f25de6390a18b4042335e6c76 (diff)
fix userdomain lookup for selection 'no userdomain', fixes #4353
Closes #4353 Merge request studip/studip!3160
-rw-r--r--lib/classes/UserLookup.class.php20
1 files changed, 18 insertions, 2 deletions
diff --git a/lib/classes/UserLookup.class.php b/lib/classes/UserLookup.class.php
index 61732ae..b1e41f3 100644
--- a/lib/classes/UserLookup.class.php
+++ b/lib/classes/UserLookup.class.php
@@ -437,10 +437,26 @@ class UserLookup
return [];
}
- $query = "SELECT `user_id`
+ $query = "SELECT DISTINCT `user_id`
FROM `user_userdomains`
WHERE `userdomain_id` IN (?)";
- return DBManager::get()->fetchFirst($query, [$needles]);
+ $result = DBManager::get()->fetchFirst($query, [$needles]);
+
+ if (in_array('keine', $needles)) {
+ $query = "SELECT `user_id`
+ FROM `auth_user_md5`
+ WHERE `user_id` NOT IN (
+ SELECT `user_id`
+ FROM `user_userdomains`
+ )";
+ $result = array_merge(
+ $result,
+ DBManager::get()->fetchFirst($query)
+ );
+ $result = array_unique($result);
+ }
+
+ return $result;
}
/**