From 50a00347440fea21889ee07eb3079503e0521638 Mon Sep 17 00:00:00 2001 From: Michael Date: Sat, 4 Jun 2022 07:57:11 +0000 Subject: [PATCH] Fix avatar for messages and feeds --- mod/message.php | 4 ++-- src/Content/Widget/VCard.php | 10 ++++++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/mod/message.php b/mod/message.php index a007de8d84..a07c8b4493 100644 --- a/mod/message.php +++ b/mod/message.php @@ -308,7 +308,7 @@ function message_content(App $a) $body_e = BBCode::convertForUriId($message['uri-id'], $message['body']); $to_name_e = $message['name']; - $contact = Contact::getByURL($message['from-url'], false, ['thumb', 'addr', 'id', 'avatar']); + $contact = Contact::getByURL($message['from-url'], false, ['thumb', 'addr', 'id', 'avatar', 'url']); $from_photo = Contact::getThumb($contact); $mails[] = [ @@ -440,7 +440,7 @@ function render_messages(array $msg, $t) continue; } - $contact = Contact::getByURL($rr['url'], false, ['thumb', 'addr', 'id', 'avatar']); + $contact = Contact::getByURL($rr['url'], false, ['thumb', 'addr', 'id', 'avatar', 'url']); $from_photo = Contact::getThumb($contact); $rslt .= Renderer::replaceMacros($tpl, [ diff --git a/src/Content/Widget/VCard.php b/src/Content/Widget/VCard.php index 7f75c6c9c0..96f35e6584 100644 --- a/src/Content/Widget/VCard.php +++ b/src/Content/Widget/VCard.php @@ -62,17 +62,23 @@ class VCard $unfollow_link = ''; $wallmessage_link = ''; + $photo = Contact::getPhoto($contact); + if (local_user()) { if ($contact['uid']) { $id = $contact['id']; $rel = $contact['rel']; $pending = $contact['pending']; } else { - $pcontact = Contact::selectFirst(['id', 'rel', 'pending'], ['uid' => local_user(), 'uri-id' => $contact['uri-id']]); + $pcontact = Contact::selectFirst([], ['uid' => local_user(), 'uri-id' => $contact['uri-id']]); $id = $pcontact['id'] ?? 0; $rel = $pcontact['rel'] ?? Contact::NOTHING; $pending = $pcontact['pending'] ?? false; + + if (!empty($pcontact) && in_array($pcontact['network'], [Protocol::MAIL, Protocol::FEED])) { + $photo = Contact::getPhoto($pcontact); + } } if (empty($contact['self']) && Protocol::supportsFollow($contact['network'])) { @@ -90,7 +96,7 @@ class VCard return Renderer::replaceMacros(Renderer::getMarkupTemplate('widget/vcard.tpl'), [ '$contact' => $contact, - '$photo' => Contact::getPhoto($contact), + '$photo' => $photo, '$url' => Contact::magicLinkByContact($contact, $contact['url']), '$about' => BBCode::convertForUriId($contact['uri-id'] ?? 0, $contact['about'] ?? ''), '$xmpp' => DI::l10n()->t('XMPP:'), -- 2.39.5