From d44968cd107fa331a6ef20296156d17683ac46c3 Mon Sep 17 00:00:00 2001 From: Marek Bachmann Date: Wed, 30 Nov 2022 01:05:32 +0100 Subject: [PATCH] split-off! Trends.php allow shorthands in the system.maximagesize --- src/Module/Api/Mastodon/Trends.php | 54 ++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 src/Module/Api/Mastodon/Trends.php diff --git a/src/Module/Api/Mastodon/Trends.php b/src/Module/Api/Mastodon/Trends.php new file mode 100644 index 000000000..c42a27641 --- /dev/null +++ b/src/Module/Api/Mastodon/Trends.php @@ -0,0 +1,54 @@ +. + * + */ + +namespace Friendica\Module\Api\Mastodon; + +use Friendica\Core\System; +use Friendica\DI; +use Friendica\Model\Tag; +use Friendica\Module\BaseApi; + +/** + * @see https://docs.joinmastodon.org/methods/instance/trends/ + */ +class Trends extends BaseApi +{ + /** + * @throws \Friendica\Network\HTTPException\InternalServerErrorException + */ + protected function rawContent(array $request = []) + { + $request = $this->getRequest([ + 'limit' => 20, // Maximum number of results to return. Defaults to 10. + ], $request); + + $trending = []; + $tags = Tag::getGlobalTrendingHashtags(24, 20); + foreach ($tags as $tag) { + $tag['name'] = $tag['term']; + $history = [['day' => (string)time(), 'uses' => (string)$tag['score'], 'accounts' => (string)$tag['authors']]]; + $hashtag = new \Friendica\Object\Api\Mastodon\Tag(DI::baseUrl(), $tag, $history); + $trending[] = $hashtag->toArray(); + } + + System::jsonExit(array_slice($trending, 0, $request['limit'])); + } +}