From 488f4dcaa46ef6c3dd18f2c7a8ce06fded716b91 Mon Sep 17 00:00:00 2001 From: Hypolite Petovan Date: Mon, 25 Jul 2022 09:13:42 -0400 Subject: [PATCH] Handle rare case where contact doesn't exist in Model\Group::getIdsByContactId - Address https://github.com/friendica/friendica/issues/11632#issuecomment-1193953621 --- src/Model/Group.php | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/Model/Group.php b/src/Model/Group.php index 268680a165..4dec84c3a3 100644 --- a/src/Model/Group.php +++ b/src/Model/Group.php @@ -138,25 +138,29 @@ class Group */ public static function getIdsByContactId(int $cid): array { - $return = []; + $contact = Contact::getById($cid, ['rel']); + if (!$contact) { + return []; + } + + $groupIds = []; $stmt = DBA::select('group_member', ['gid'], ['contact-id' => $cid]); while ($group = DBA::fetch($stmt)) { - $return[] = $group['gid']; + $groupIds[] = $group['gid']; } DBA::close($stmt); // Meta-groups - $contact = Contact::getById($cid, ['rel']); if ($contact['rel'] == Contact::FOLLOWER || $contact['rel'] == Contact::FRIEND) { - $return[] = self::FOLLOWERS; + $groupIds[] = self::FOLLOWERS; } if ($contact['rel'] == Contact::FRIEND) { - $return[] = self::MUTUALS; + $groupIds[] = self::MUTUALS; } - return $return; + return $groupIds; } /**