Merge pull request #11770 from MrPetovan/bug/notices

Handle rare case where contact doesn't exist in Model\Group::getIdsByContactId
This commit is contained in:
Michael Vogel 2022-07-25 21:01:12 +02:00 committed by GitHub
commit f9777ce0dc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 10 additions and 6 deletions

View File

@ -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;
}
/**