X-Git-Url: https://ruin.nu/git/?a=blobdiff_plain;f=ND%2FWeb%2FPages%2FForum.pm;h=55cbe9615481a4ca5ffe35c84ba6fb47e80bd5c7;hb=c7030fde80686d05805d02f3586ec23224e4c6e5;hp=06b3dfd5738e8a0b6d3b5e085b3f8bb60d034870;hpb=00e24fa419b422c8a8015a4b5249893de2877f62;p=ndwebbie.git diff --git a/ND/Web/Pages/Forum.pm b/ND/Web/Pages/Forum.pm index 06b3dfd..55cbe96 100644 --- a/ND/Web/Pages/Forum.pm +++ b/ND/Web/Pages/Forum.pm @@ -131,13 +131,15 @@ sub render_body { GROUP BY fb.fbid,fb.board ORDER BY fb.fbid }); - my $threads = $DBH->prepare(q{SELECT ft.ftid AS id,ft.subject, + my $threads = $DBH->prepare(q{SELECT ft.ftid AS id,u.username,ft.subject, count(NULLIF(COALESCE(fp.time > ftv.time,TRUE),FALSE)) AS unread,count(fp.fpid) AS posts, date_trunc('seconds',max(fp.time)::timestamp) as last_post, min(fp.time)::date as posting_date, ft.sticky - 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 + FROM forum_threads ft JOIN forum_posts fp USING (ftid) + JOIN users u ON u.uid = ft.uid + 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,ft.sticky + GROUP BY ft.ftid, ft.subject,ft.sticky,u.username HAVING count(NULLIF(COALESCE(fp.time > ftv.time,TRUE),FALSE)) >= $3 ORDER BY sticky DESC,last_post DESC}); @@ -225,6 +227,7 @@ sub render_body { ,undef,$board->{fcid}) or $ND::ERROR .= p($DBH->errstr); $BODY->param(Category => $category); + }elsif($self->{URI} =~ m{^/.*/search/(.*)}){ #List threads in this board }else{ #List boards $BODY->param(Overview => 1); $categories->execute or $ND::ERROR .= p($DBH->errstr);