From 5e45e4512a92aa95da80a8c2741b663b461986ef Mon Sep 17 00:00:00 2001 From: David Siegfried <david.siegfried@uni-vechta.de> Date: Tue, 2 May 2023 14:37:32 +0000 Subject: [PATCH] prevent php8-warnings, closes #2597 Closes #2597 Merge request studip/studip!1751 --- app/controllers/multipersonsearch.php | 31 ++++++++++++++++----------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/app/controllers/multipersonsearch.php b/app/controllers/multipersonsearch.php index 01733cb3791..8a19099e1f6 100644 --- a/app/controllers/multipersonsearch.php +++ b/app/controllers/multipersonsearch.php @@ -26,15 +26,18 @@ class MultipersonsearchController extends AuthenticatedController $searchterm = preg_replace('/\s+/u', ' ', $searchterm); $result = []; + $alreadyMember = []; // execute searchobject if searchterm is at least 3 chars long if (mb_strlen($searchterm) >= 3) { $mp = MultiPersonSearch::load($name); $searchObject = $mp->getSearchObject(); - $result = array_map(function ($r) { - return $r['user_id']; - }, $searchObject->getResults($searchterm, [], 50)); - $result = User::findFullMany($result, 'ORDER BY Nachname ASC, Vorname ASC'); - $alreadyMember = $mp->getDefaultSelectedUsersIDs(); + if (isset($searchObject)) { + $result = array_map(function ($r) { + return $r['user_id']; + }, $searchObject->getResults($searchterm, [], 50)); + $result = User::findFullMany($result, 'ORDER BY Nachname ASC, Vorname ASC'); + $alreadyMember = $mp->getDefaultSelectedUsersIDs(); + } } $output = []; @@ -122,6 +125,7 @@ class MultipersonsearchController extends AuthenticatedController $this->selectableUsers = []; $this->selectedUsers = []; + $this->alreadyMemberUsers = []; $this->search = Request::get("freesearch"); $this->additionHTML = $mp->getAdditionHTML(); $previousSelectableUsers = json_decode(Request::get('search_persons_selectable_hidden'), true); @@ -252,16 +256,19 @@ class MultipersonsearchController extends AuthenticatedController $searchterm = preg_replace('/\s+/u', ' ', $searchterm); $result = []; + $alreadyMember = []; // execute searchobject if searchterm is at least 3 chars long if (mb_strlen($searchterm) >= 3) { $mp = MultiPersonSearch::load($name); $mp->setSearchObject(new StandardSearch('user_id')); $searchObject = $mp->getSearchObject(); - $result = array_map(function ($r) { - return $r['user_id']; - }, $searchObject->getResults($searchterm, [], 50)); - $result = User::findFullMany($result, 'ORDER BY Nachname ASC, Vorname ASC'); - $alreadyMember = $mp->getDefaultSelectedUsersIDs(); + if (isset($searchObject)) { + $result = array_map(function ($r) { + return $r['user_id']; + }, $searchObject->getResults($searchterm, [], 50)); + $result = User::findFullMany($result, 'ORDER BY Nachname ASC, Vorname ASC'); + $alreadyMember = $mp->getDefaultSelectedUsersIDs(); + } } $output = []; @@ -270,7 +277,7 @@ class MultipersonsearchController extends AuthenticatedController 'id' => $user->id, 'avatar' => Avatar::getAvatar($user->id)->getURL(Avatar::SMALL), 'text' => "{$user->nachname}, {$user->vorname} -- {$user->perms} ({$user->username})", - 'selected' => $alreadyMember === null ? false : in_array($user->id, $alreadyMember), + 'selected' => in_array($user->id, $alreadyMember), 'nachname' => $user->nachname, 'vorname' => $user->vorname, 'username' => $user->username, @@ -279,6 +286,4 @@ class MultipersonsearchController extends AuthenticatedController } $this->render_json($output); } - - } -- GitLab