diff --git a/src/Protocol/ActivityPub/Processor.php b/src/Protocol/ActivityPub/Processor.php index f2b277e44..ad1b9d8bd 100644 --- a/src/Protocol/ActivityPub/Processor.php +++ b/src/Protocol/ActivityPub/Processor.php @@ -93,22 +93,21 @@ class Processor /** * Add attachment data to the item array * - * @param array $attachments + * @param array $activity * @param array $item - * @param boolean $no_images * * @return array array */ - private static function constructAttachList($attachments, $item, $no_images) + private static function constructAttachList($activity, $item) { - if (empty($attachments)) { + if (empty($activity['attachments'])) { return $item; } - foreach ($attachments as $attach) { + foreach ($activity['attachments'] as $attach) { $filetype = strtolower(substr($attach['mediaType'], 0, strpos($attach['mediaType'], '/'))); if ($filetype == 'image') { - if ($no_images) { + if (!empty($activity['source']) && strpos($activity['source'], $attach['url'])) { continue; } @@ -407,7 +406,7 @@ class Processor $item['plink'] = $activity['alternate-url'] ?? $item['uri']; - $item = self::constructAttachList($activity['attachments'], $item, !empty($activity['source'])); + $item = self::constructAttachList($activity, $item); $stored = false; diff --git a/src/Worker/Delivery.php b/src/Worker/Delivery.php index c98c60f42..d9a2109ba 100644 --- a/src/Worker/Delivery.php +++ b/src/Worker/Delivery.php @@ -15,6 +15,7 @@ use Friendica\Model; use Friendica\Protocol\DFRN; use Friendica\Protocol\Diaspora; use Friendica\Protocol\Email; +use Friendica\Protocol\Activity; use Friendica\Util\Strings; use Friendica\Util\Network; use Friendica\Core\Worker; @@ -500,6 +501,10 @@ class Delivery extends BaseObject return; } + if ($target_item['verb'] != Activity::POST) { + return; + } + if (!empty($thr_parent['object'])) { $data = json_decode($thr_parent['object'], true); if (!empty($data['reply_to'])) {