diff options
| author | Jan-Hendrik Willms <tleilax+studip@gmail.com> | 2024-07-03 07:14:47 +0000 |
|---|---|---|
| committer | Jan-Hendrik Willms <tleilax+github@gmail.com> | 2024-07-03 16:12:54 +0200 |
| commit | 5ecea7b3e8bb65790a97fa43e71daaf7979191ef (patch) | |
| tree | cbbfb80d3e7aa0175e0352d079f9f74c54509207 | |
| parent | f0b2cf9a5fa9380f25de6390a18b4042335e6c76 (diff) | |
fix userdomain lookup for selection 'no userdomain', fixes #4353
Closes #4353
Merge request studip/studip!3160
| -rw-r--r-- | lib/classes/UserLookup.class.php | 20 |
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; } /** |
