From df05d6b52a73a0696d04131caf74cb2697e14c13 Mon Sep 17 00:00:00 2001 From: Michael Date: Tue, 22 Jun 2021 13:58:29 +0000 Subject: [PATCH] Transmit mediaType for headers as well / use blank image for empty header --- src/Object/Api/Mastodon/Account.php | 3 ++- src/Protocol/ActivityPub/Transmitter.php | 8 ++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/Object/Api/Mastodon/Account.php b/src/Object/Api/Mastodon/Account.php index 58a7c5ffe6..9b5639949d 100644 --- a/src/Object/Api/Mastodon/Account.php +++ b/src/Object/Api/Mastodon/Account.php @@ -26,6 +26,7 @@ use Friendica\BaseDataTransferObject; use Friendica\Collection\Api\Mastodon\Fields; use Friendica\Content\Text\BBCode; use Friendica\Database\DBA; +use Friendica\DI; use Friendica\Model\Contact; use Friendica\Util\DateTimeFormat; use Friendica\Util\Proxy; @@ -115,7 +116,7 @@ class Account extends BaseDataTransferObject $this->url = $publicContact['url']; $this->avatar = ($userContact['photo'] ?? $publicContact['photo']) ?: Proxy::proxifyUrl($userContact['avatar'] ?? $publicContact['avatar']); $this->avatar_static = $this->avatar; - $this->header = Proxy::proxifyUrl($userContact['header'] ?? $publicContact['header'] ?? ''); + $this->header = Proxy::proxifyUrl($userContact['header'] ?? $publicContact['header'] ?? '') ?: DI::baseUrl() . '/images/blank.png'; $this->header_static = $this->header; $this->followers_count = $apcontact['followers_count'] ?? 0; $this->following_count = $apcontact['following_count'] ?? 0; diff --git a/src/Protocol/ActivityPub/Transmitter.php b/src/Protocol/ActivityPub/Transmitter.php index 17fd1b1502..435cab3d04 100644 --- a/src/Protocol/ActivityPub/Transmitter.php +++ b/src/Protocol/ActivityPub/Transmitter.php @@ -391,6 +391,14 @@ class Transmitter if (!empty($contact['header'])) { $data['image'] = ['type' => 'Image', 'url' => $contact['header']]; + + $resourceid = Photo::ridFromURI($contact['header']); + if (!empty($resourceid)) { + $photo = Photo::selectFirst(['type'], ["resource-id" => $resourceid]); + if (!empty($photo['type'])) { + $data['image']['mediaType'] = $photo['type']; + } + } } $data['generator'] = self::getService();