Handle rare case where contact doesn't exist in Model\Group::getIdsByContactId
- Address https://github.com/friendica/friendica/issues/11632#issuecomment-1193953621
This commit is contained in:
parent
a5d679ea95
commit
488f4dcaa4
|
@ -138,25 +138,29 @@ class Group
|
||||||
*/
|
*/
|
||||||
public static function getIdsByContactId(int $cid): array
|
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]);
|
$stmt = DBA::select('group_member', ['gid'], ['contact-id' => $cid]);
|
||||||
while ($group = DBA::fetch($stmt)) {
|
while ($group = DBA::fetch($stmt)) {
|
||||||
$return[] = $group['gid'];
|
$groupIds[] = $group['gid'];
|
||||||
}
|
}
|
||||||
DBA::close($stmt);
|
DBA::close($stmt);
|
||||||
|
|
||||||
// Meta-groups
|
// Meta-groups
|
||||||
$contact = Contact::getById($cid, ['rel']);
|
|
||||||
if ($contact['rel'] == Contact::FOLLOWER || $contact['rel'] == Contact::FRIEND) {
|
if ($contact['rel'] == Contact::FOLLOWER || $contact['rel'] == Contact::FRIEND) {
|
||||||
$return[] = self::FOLLOWERS;
|
$groupIds[] = self::FOLLOWERS;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($contact['rel'] == Contact::FRIEND) {
|
if ($contact['rel'] == Contact::FRIEND) {
|
||||||
$return[] = self::MUTUALS;
|
$groupIds[] = self::MUTUALS;
|
||||||
}
|
}
|
||||||
|
|
||||||
return $return;
|
return $groupIds;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue
Block a user