From e5d694f7fabd19ab61d3b35f1a1a3556edf66092 Mon Sep 17 00:00:00 2001 From: Michael Date: Sun, 20 Jan 2019 21:52:43 +0000 Subject: [PATCH] AP: Only reshare stuff that is AP content --- src/Protocol/ActivityPub/Transmitter.php | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/Protocol/ActivityPub/Transmitter.php b/src/Protocol/ActivityPub/Transmitter.php index be2337ff76..cab0030577 100644 --- a/src/Protocol/ActivityPub/Transmitter.php +++ b/src/Protocol/ActivityPub/Transmitter.php @@ -548,7 +548,18 @@ class Transmitter */ private static function getTypeOfItem($item) { - if (!empty(Diaspora::isReshare($item['body'], false))) { + $reshared = false; + + // Only check for a reshare, if it is a real reshare and no quoted reshare + if (strpos($item['body'], "[share") === 0) { + $announce = api_share_as_retweet($item); + if (!empty($announce['plink'])) { + $data = ActivityPub::fetchContent($announce['plink'], $item['uid']); + $reshared = !empty($data); + } + } + + if ($reshared) { $type = 'Announce'; } elseif ($item['verb'] == ACTIVITY_POST) { if ($item['created'] == $item['edited']) { @@ -1018,6 +1029,7 @@ class Transmitter return self::createNote($item); } + /// @todo Better fetch the real object url. return $announce['plink']; }