From 03830799201db0b0f28e9c494fdd1b5b5143749c Mon Sep 17 00:00:00 2001 From: Michael Andreen Date: Sun, 7 Jan 2007 13:15:47 +0000 Subject: [PATCH] order by last post --- forum.pl | 6 ++++-- templates/forum.tmpl | 4 ++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/forum.pl b/forum.pl index cdd51fe..e006b20 100644 --- a/forum.pl +++ b/forum.pl @@ -61,11 +61,12 @@ if (defined param('cmd') && param('cmd') eq 'forumpost'){ } my $categories = $DBH->prepare(q{SELECT fcid AS id,category FROM forum_categories ORDER BY fcid}); -my $threads = $DBH->prepare(q{SELECT ft.ftid AS id,ft.subject,count(NULLIF(COALESCE(fp.time > ftv.time,TRUE),FALSE)) AS unread,count(fp.fpid) AS posts +my $threads = $DBH->prepare(q{SELECT ft.ftid AS id,ft.subject,count(NULLIF(COALESCE(fp.time > ftv.time,TRUE),FALSE)) AS unread,count(fp.fpid) AS posts, max(fp.time)::timestamp as last_post FROM forum_threads ft JOIN forum_posts fp USING (ftid) LEFT OUTER JOIN (SELECT * FROM forum_thread_visits WHERE uid = $2) ftv ON ftv.ftid = ft.ftid WHERE ft.fbid = $1 GROUP BY ft.ftid, ft.subject -HAVING count(NULLIF(COALESCE(fp.time > ftv.time,TRUE),FALSE)) >= $3}); +HAVING count(NULLIF(COALESCE(fp.time > ftv.time,TRUE),FALSE)) >= $3 +ORDER BY last_post DESC}); if ($thread){ #Display the thread $BODY->param(Thread => viewForumThread $thread); @@ -94,6 +95,7 @@ FROM forum_boards fb NATURAL JOIN forum_access fa WHERE fb.fcid = $1 AND (gid = -1 OR gid IN (SELECT gid FROM groupmembers WHERE uid = $2)) GROUP BY fb.fbid,fb.board +ORDER BY fb.fbid }); while (my $category = $categories->fetchrow_hashref){ $boards->execute($category->{id},$ND::UID) or $ERROR .= p($DBH->errstr); diff --git a/templates/forum.tmpl b/templates/forum.tmpl index 925e40b..8081a48 100644 --- a/templates/forum.tmpl +++ b/templates/forum.tmpl @@ -6,12 +6,14 @@ Unread Total Subject + Last post    + @@ -51,6 +53,7 @@ Unread Total Subject + Last post @@ -64,6 +67,7 @@    + -- 2.39.2