From c7b3c071c7ab0faccfcb6a6540bfea0b43b5947d Mon Sep 17 00:00:00 2001 From: Michael Date: Tue, 1 Feb 2022 19:12:33 +0000 Subject: [PATCH] Issue 11034: Use the profile photo for local users --- src/Module/Photo.php | 21 ++++++++++++++++++- view/templates/profile/vcard.tpl | 7 ++----- .../duepuntozero/templates/profile/vcard.tpl | 2 +- view/theme/frio/templates/profile/vcard.tpl | 9 -------- .../theme/quattro/templates/profile/vcard.tpl | 2 +- view/theme/vier/templates/profile/vcard.tpl | 6 +----- 6 files changed, 25 insertions(+), 22 deletions(-) diff --git a/src/Module/Photo.php b/src/Module/Photo.php index 6f58cb7f57..c67520b554 100644 --- a/src/Module/Photo.php +++ b/src/Module/Photo.php @@ -265,10 +265,29 @@ class Photo extends BaseModule return MPhoto::createPhotoForExternalResource($link['url'], (int)local_user(), $link['mimetype']); case "contact": - $contact = Contact::getById($id, ['uid', 'url', 'avatar', 'photo', 'xmpp', 'addr']); + $contact = Contact::getById($id, ['uid', 'url', 'nurl', 'avatar', 'photo', 'xmpp', 'addr']); if (empty($contact)) { return false; } + + // For local users directly use the photo record that is marked as the profile + if (Network::isLocalLink($contact['url'])) { + $contact = Contact::selectFirst(['uid', 'url', 'avatar', 'photo', 'xmpp', 'addr'], ['nurl' => $contact['nurl'], 'self' => true]); + if (!empty($contact)) { + if ($customsize <= Proxy::PIXEL_MICRO) { + $scale = 6; + } elseif ($customsize <= Proxy::PIXEL_THUMB) { + $scale = 5; + } else { + $scale = 4; + } + $photo = MPhoto::selectFirst([], ["scale" => $scale, "uid" => $contact['uid'], "profile" => 1]); + if (!empty($photo)) { + return $photo; + } + } + } + If (($contact['uid'] != 0) && empty($contact['photo']) && empty($contact['avatar'])) { $contact = Contact::getByURL($contact['url'], false, ['avatar', 'photo', 'xmpp', 'addr']); } diff --git a/view/templates/profile/vcard.tpl b/view/templates/profile/vcard.tpl index bc39dcce4b..fed6fb251a 100644 --- a/view/templates/profile/vcard.tpl +++ b/view/templates/profile/vcard.tpl @@ -5,11 +5,8 @@ {{if $profile.addr}}
{{$profile.addr}}
{{/if}} - {{if $profile.picdate}} -
{{$profile.name}}
- {{else}} -
{{$profile.name}}
- {{/if}} +
{{$profile.name}}
+ {{if $account_type}}
{{$account_type}}
{{/if}} {{if $profile.network_link}}
{{$network}}
{{$profile.network_link nofilter}}
{{/if}} {{if $location}} diff --git a/view/theme/duepuntozero/templates/profile/vcard.tpl b/view/theme/duepuntozero/templates/profile/vcard.tpl index cba78da6af..c6af35ba00 100644 --- a/view/theme/duepuntozero/templates/profile/vcard.tpl +++ b/view/theme/duepuntozero/templates/profile/vcard.tpl @@ -5,7 +5,7 @@ {{if $profile.addr}}
{{$profile.addr}}
{{/if}} -
{{$profile.name}}
+
{{$profile.name}}
{{if $account_type}}
{{$account_type}}
{{/if}} diff --git a/view/theme/frio/templates/profile/vcard.tpl b/view/theme/frio/templates/profile/vcard.tpl index ba66882e2e..b91c14168b 100644 --- a/view/theme/frio/templates/profile/vcard.tpl +++ b/view/theme/frio/templates/profile/vcard.tpl @@ -1,12 +1,7 @@
- {{if $profile.picdate}} - {{$profile.name}} - {{else}} {{$profile.name}} - {{/if}} -
{{if $profile.edit}}
@@ -21,11 +16,7 @@