From 47cd1edb9fd3155a192690667e8471a5a2564f9f Mon Sep 17 00:00:00 2001 From: Michael Date: Fri, 13 May 2022 03:42:04 +0000 Subject: [PATCH] Change the featured collection to fix communication issues with Pleroma --- src/Protocol/ActivityPub/Transmitter.php | 34 +++++++++++++----------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/src/Protocol/ActivityPub/Transmitter.php b/src/Protocol/ActivityPub/Transmitter.php index e3df1a7a32..baaaba0680 100644 --- a/src/Protocol/ActivityPub/Transmitter.php +++ b/src/Protocol/ActivityPub/Transmitter.php @@ -334,32 +334,34 @@ class Transmitter } if (empty($page)) { - $data['first'] = DI::baseUrl() . '/featured/' . $owner['nickname'] . '?page=1'; + $items = Post::select(['id'], $condition, ['limit' => 20, 'order' => ['created' => true]]); } else { $data['type'] = 'OrderedCollectionPage'; - $list = []; - $items = Post::select(['id'], $condition, ['limit' => [($page - 1) * 20, 20], 'order' => ['created' => true]]); - while ($item = Post::fetch($items)) { - $activity = self::createActivityFromItem($item['id'], true); - $activity['type'] = $activity['type'] == 'Update' ? 'Create' : $activity['type']; + } + $list = []; - // Only list "Create" activity objects here, no reshares - if (!empty($activity['object']) && ($activity['type'] == 'Create')) { - $list[] = $activity['object']; - } - } - DBA::close($items); + while ($item = Post::fetch($items)) { + $activity = self::createActivityFromItem($item['id'], true); + $activity['type'] = $activity['type'] == 'Update' ? 'Create' : $activity['type']; - if (count($list) == 20) { - $data['next'] = DI::baseUrl() . '/featured/' . $owner['nickname'] . '?page=' . ($page + 1); + // Only list "Create" activity objects here, no reshares + if (!empty($activity['object']) && ($activity['type'] == 'Create')) { + $list[] = $activity['object']; } + } + DBA::close($items); - $data['partOf'] = DI::baseUrl() . '/featured/' . $owner['nickname']; + if (count($list) == 20) { + $data['next'] = DI::baseUrl() . '/featured/' . $owner['nickname'] . '?page=' . ($page + 1); + } - $data['orderedItems'] = $list; + if (!empty($page)) { + $data['partOf'] = DI::baseUrl() . '/featured/' . $owner['nickname']; } + $data['orderedItems'] = $list; + return $data; } -- 2.39.5