From a2be7e386f6ce789d3dc914c5e588025a976319b Mon Sep 17 00:00:00 2001 From: Michael Date: Wed, 2 Jun 2021 07:11:18 +0000 Subject: [PATCH] API: Lim it the elements for the context --- src/Module/Api/Mastodon/Statuses/Context.php | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/Module/Api/Mastodon/Statuses/Context.php b/src/Module/Api/Mastodon/Statuses/Context.php index 345a473dbe..afa42f7b40 100644 --- a/src/Module/Api/Mastodon/Statuses/Context.php +++ b/src/Module/Api/Mastodon/Statuses/Context.php @@ -44,6 +44,10 @@ class Context extends BaseApi DI::mstdnError()->UnprocessableEntity(); } + $request = self::getRequest([ + 'limit' => 40, // Maximum number of results to return. Defaults to 40. + ]); + $id = $parameters['id']; $parent = Post::selectFirst(['parent-uri-id'], ['uri-id' => $id]); @@ -70,22 +74,22 @@ class Context extends BaseApi $ancestors = []; foreach (self::getParents($id, $parents) as $ancestor) { - $ancestors[$ancestor] = DI::mstdnStatus()->createFromUriId($ancestor, $uid); + $ancestors[] = $ancestor; } - ksort($ancestors); - foreach ($ancestors as $ancestor) { - $statuses['ancestors'][] = $ancestor; + asort($ancestors); + foreach (array_slice($ancestors, 0, $request['limit']) as $ancestor) { + $statuses['ancestors'][] = DI::mstdnStatus()->createFromUriId($ancestor, $uid);; } $descendants = []; foreach (self::getChildren($id, $children) as $descendant) { - $descendants[] = DI::mstdnStatus()->createFromUriId($descendant, $uid); + $descendants[] = $descendant; } - ksort($descendants); - foreach ($descendants as $descendant) { - $statuses['descendants'][] = $descendant; + asort($descendants); + foreach (array_slice($descendants, 0, $request['limit']) as $descendant) { + $statuses['descendants'][] = DI::mstdnStatus()->createFromUriId($descendant, $uid); } System::jsonExit($statuses);