summaryrefslogtreecommitdiff
path: root/app/Http/Controllers
diff options
context:
space:
mode:
authorhorus2026-03-29 16:51:34 +0200
committerhorus2026-03-29 16:51:34 +0200
commitdc317981311d42664375484e777b20e81f41e841 (patch)
treedd1b03f6a29009f0b0af691531f092425b8209c1 /app/Http/Controllers
parent4123e50ad63c2db8150bed396c6de44ec30fbffd (diff)
downloadcurious-dc317981311d42664375484e777b20e81f41e841.tar.gz
fix rss feeds
Diffstat (limited to 'app/Http/Controllers')
-rw-r--r--app/Http/Controllers/FeedController.php22
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");
}