From b8682190de8bce2cebb80635a2fa03482d37eeae Mon Sep 17 00:00:00 2001 From: Michael Date: Thu, 16 Jul 2020 04:18:33 +0000 Subject: [PATCH] Fix fallback on unknown contact --- mod/display.php | 2 +- mod/suggest.php | 2 +- src/Core/Search.php | 8 ++++---- src/Module/AllFriends.php | 2 +- src/Module/Profile/Contacts.php | 2 +- src/Module/Search/Index.php | 2 +- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/mod/display.php b/mod/display.php index 61e1529e4d..1a429948a9 100644 --- a/mod/display.php +++ b/mod/display.php @@ -164,7 +164,7 @@ function display_fetchauthor($a, $item) $profiledata["about"] = ""; } - $profiledata = array_merge($profiledata, Contact::getByURLForUser($profiledata["url"], local_user())); + $profiledata = Contact::getByURLForUser($profiledata["url"], local_user()) ?: $profiledata; if (!empty($profiledata["photo"])) { $profiledata["photo"] = DI::baseUrl()->remove($profiledata["photo"]); diff --git a/mod/suggest.php b/mod/suggest.php index 068b9e366b..9cd2fb1cd9 100644 --- a/mod/suggest.php +++ b/mod/suggest.php @@ -104,7 +104,7 @@ function suggest_content(App $a) 'hide' => [DI::l10n()->t('Ignore/Hide'), $ignlnk] ]; - $contact_details = array_merge($rr, Contact::getByURLForUser($rr["url"], local_user())); + $contact_details = Contact::getByURLForUser($rr["url"], local_user()) ?: $rr; $entry = [ 'url' => Contact::magicLink($rr['url']), diff --git a/src/Core/Search.php b/src/Core/Search.php index d6ed9b6bfb..60137e66f7 100644 --- a/src/Core/Search.php +++ b/src/Core/Search.php @@ -202,7 +202,7 @@ class Search return $resultList; } - $data = DBA::select('gcontact', ['nurl'], [ + $data = DBA::select('gcontact', ['nurl', 'name', 'addr', 'url', 'photo', 'network', 'keywords'], [ 'NOT `hide` AND `network` IN (?, ?, ?, ?) AND ((`last_contact` >= `last_failure`) OR (`updated` >= `last_failure`)) @@ -232,7 +232,7 @@ class Search continue; } - $contact = Contact::getByURLForUser($row["nurl"], local_user()); + $contact = Contact::getByURLForUser($row["nurl"], local_user()) ?: $row; if ($contact["name"] == "") { $contact["name"] = end(explode("/", $urlParts["path"])); @@ -245,8 +245,8 @@ class Search $contact["url"], $contact["photo"], $contact["network"], - $contact["cid"], - $contact["zid"], + $contact["cid"] ?? 0, + $contact["zid"] ?? 0, $contact["keywords"] ); diff --git a/src/Module/AllFriends.php b/src/Module/AllFriends.php index 2932930627..0a95256172 100644 --- a/src/Module/AllFriends.php +++ b/src/Module/AllFriends.php @@ -79,7 +79,7 @@ class AllFriends extends BaseModule $entries = []; foreach ($friends as $friend) { //get further details of the contact - $contactDetails = array_merge($friend, Model\Contact::getByURLForUser($friend['url'], $uid)); + $contactDetails = Model\Contact::getByURLForUser($friend['url'], $uid) ?: $friend; $connlnk = ''; // $friend[cid] is only available for common contacts. So if the contact is a common one, use contact_photo_menu to generate the photoMenu diff --git a/src/Module/Profile/Contacts.php b/src/Module/Profile/Contacts.php index 508fe37624..3d55c57f48 100644 --- a/src/Module/Profile/Contacts.php +++ b/src/Module/Profile/Contacts.php @@ -103,7 +103,7 @@ class Contacts extends BaseProfile continue; } - $contact_details = array_merge($contact, Contact::getByURLForUser($contact['url'], $a->profile['uid'])); + $contact_details = Contact::getByURLForUser($contact['url'], $a->profile['uid']) ?: $contact; $contacts[] = [ 'id' => $contact['id'], diff --git a/src/Module/Search/Index.php b/src/Module/Search/Index.php index 34085e339e..23f12d2638 100644 --- a/src/Module/Search/Index.php +++ b/src/Module/Search/Index.php @@ -239,7 +239,7 @@ class Index extends BaseSearch if ($isAddr) { $contact = Contact::selectFirst(['id'], ['addr' => $search, 'uid' => 0]); } else { - $contact = array_merge(['id' => 0], Contact::getByURL($search, null, ['id'])); + $contact = Contact::getByURL($search, null, ['id']) ?: ['id' => 0]; } if (DBA::isResult($contact)) {