aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan-Hendrik Willms <tleilax+studip@gmail.com>2024-07-03 07:14:47 +0000
committerJan-Hendrik Willms <tleilax+studip@gmail.com>2024-07-03 07:14:47 +0000
commit83358ee8215d40dec58c56d54a2a909fc23b9dc4 (patch)
treef3d36cc570f4cd01ac7eb87454500b85ba681a53
parent873c7f3108a41decb1ca80f6ab2465b21c56a016 (diff)
fix userdomain lookup for selection 'no userdomain', fixes #4353
Closes #4353 Merge request studip/studip!3160
-rw-r--r--lib/classes/UserLookup.php20
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;
}
/**