From dc317981311d42664375484e777b20e81f41e841 Mon Sep 17 00:00:00 2001 From: horus Date: Sun, 29 Mar 2026 16:51:34 +0200 Subject: fix rss feeds --- app/Http/Controllers/FeedController.php | 22 +++++++++++++++++++--- app/Libraries/Helper.php | 3 +++ 2 files changed, 22 insertions(+), 3 deletions(-) (limited to 'app') 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"); } diff --git a/app/Libraries/Helper.php b/app/Libraries/Helper.php index 924c1db..fcf7e5b 100644 --- a/app/Libraries/Helper.php +++ b/app/Libraries/Helper.php @@ -37,6 +37,8 @@ class Helper { $feed_description = 'All articles for "' . $title . '".'; break; } + $feed_title .= " | mostdiscussed.com"; + // create new feed $feed = FeedFactory::create(); @@ -53,6 +55,7 @@ class Helper { // set your feed's title, description, link, pubdate and language $feed->setTitle($feed_title); $feed->setDescription($feed_description); + $feed->setSubtitle($feed_description); #$feed->setLogo('http://yoursite.tld/logo.jpg'); $feed->setLink(url('feed/' . $title)); $feed->setDateFormat('datetime'); // 'datetime', 'timestamp' or 'carbon' -- cgit v1.2.3