diff options
| author | horus | 2026-03-29 16:51:34 +0200 |
|---|---|---|
| committer | horus | 2026-03-29 16:51:34 +0200 |
| commit | dc317981311d42664375484e777b20e81f41e841 (patch) | |
| tree | dd1b03f6a29009f0b0af691531f092425b8209c1 /app/Http | |
| parent | 4123e50ad63c2db8150bed396c6de44ec30fbffd (diff) | |
| download | curious-dc317981311d42664375484e777b20e81f41e841.tar.gz | |
fix rss feeds
Diffstat (limited to 'app/Http')
| -rw-r--r-- | app/Http/Controllers/FeedController.php | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/app/Http/Controllers/FeedController.php b/app/Http/Controllers/FeedController.php index 43b31ef..6dadf8f 100644 --- a/app/Http/Controllers/FeedController.php +++ b/app/Http/Controllers/FeedController.php @@ -15,18 +15,34 @@ class FeedController extends Controller public function new() { // creating rss feed with our most recent 20 posts - $articles = Article::orderBy('created_at', 'desc')->take(20)->get(); + $articles = Article::join('discussion', 'discussion.article_id', '=', 'view_article.id') + ->select('view_article.id', 'view_article.article_id', 'view_article.url', 'view_article.title', 'view_article.excerpt_html', 'view_article.impact', 'view_article.upvotes', 'view_article.comments', 'view_article.repost') + ->groupBy('view_article.id', 'view_article.article_id', 'view_article.url', 'view_article.title', 'view_article.excerpt_html', 'view_article.impact', 'view_article.upvotes', 'view_article.comments', 'view_article.repost') + ->orderByRaw('MAX(discussion.posted_on) DESC') + ->take(20) + ->get(); + return Helper::makeFeed($articles, "new"); } public function mastodon() { - $articles = Article::orderBy('created_at', 'desc')->take(20)->get(); + $articles = Article::join('discussion', 'discussion.article_id', '=', 'view_article.id') + ->select('view_article.id', 'view_article.article_id', 'view_article.url', 'view_article.title', 'view_article.excerpt_html', 'view_article.impact', 'view_article.upvotes', 'view_article.comments', 'view_article.repost') + ->groupBy('view_article.id', 'view_article.article_id', 'view_article.url', 'view_article.title', 'view_article.excerpt_html', 'view_article.impact', 'view_article.upvotes', 'view_article.comments', 'view_article.repost') + ->orderByRaw('MAX(discussion.posted_on) DESC') + ->take(20) + ->get(); return Helper::makeFeed($articles, "mastodon"); } public function mastodon_test() { - $articles = Article::orderBy('created_at', 'desc')->take(20)->get(); + $articles = Article::join('discussion', 'discussion.article_id', '=', 'view_article.id') + ->select('view_article.id', 'view_article.article_id', 'view_article.url', 'view_article.title', 'view_article.excerpt_html', 'view_article.impact', 'view_article.upvotes', 'view_article.comments', 'view_article.repost') + ->groupBy('view_article.id', 'view_article.article_id', 'view_article.url', 'view_article.title', 'view_article.excerpt_html', 'view_article.impact', 'view_article.upvotes', 'view_article.comments', 'view_article.repost') + ->orderByRaw('MAX(discussion.posted_on) DESC') + ->take(20) + ->get(); return Helper::makeFeed($articles, "mastodon_test"); } |
