From 83358ee8215d40dec58c56d54a2a909fc23b9dc4 Mon Sep 17 00:00:00 2001 From: Jan-Hendrik Willms <tleilax+studip@gmail.com> Date: Wed, 3 Jul 2024 07:14:47 +0000 Subject: [PATCH] fix userdomain lookup for selection 'no userdomain', fixes #4353 Closes #4353 Merge request studip/studip!3160 --- lib/classes/UserLookup.php | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/lib/classes/UserLookup.php b/lib/classes/UserLookup.php index 62de8fd4eb8..063c3243a3e 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; } /** -- GitLab