diff options
| author | Jan-Hendrik Willms <tleilax+studip@gmail.com> | 2024-07-03 07:14:47 +0000 |
|---|---|---|
| committer | Jan-Hendrik Willms <tleilax+studip@gmail.com> | 2024-07-03 07:14:47 +0000 |
| commit | 83358ee8215d40dec58c56d54a2a909fc23b9dc4 (patch) | |
| tree | f3d36cc570f4cd01ac7eb87454500b85ba681a53 | |
| parent | 873c7f3108a41decb1ca80f6ab2465b21c56a016 (diff) | |
fix userdomain lookup for selection 'no userdomain', fixes #4353
Closes #4353
Merge request studip/studip!3160
| -rw-r--r-- | lib/classes/UserLookup.php | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/lib/classes/UserLookup.php b/lib/classes/UserLookup.php index 62de8fd..063c324 100644 --- a/lib/classes/UserLookup.php +++ b/lib/classes/UserLookup.php @@ -441,10 +441,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; } /** |
