X-Git-Url: https://ruin.nu/git/?a=blobdiff_plain;f=NDWeb%2FPages%2FForum.pm;fp=NDWeb%2FPages%2FForum.pm;h=2696dd79733e90d5d82c6349407d911dba29ccce;hb=f147fbcd423310c1002b463bf27dbaad5a95c050;hp=d494b2587dd81979f1b0baca331b05773cad0b35;hpb=721d34ecc1ac357cd325c08790ca41c6218de7d5;p=ndwebbie.git diff --git a/NDWeb/Pages/Forum.pm b/NDWeb/Pages/Forum.pm index d494b25..2696dd7 100644 --- a/NDWeb/Pages/Forum.pm +++ b/NDWeb/Pages/Forum.pm @@ -254,12 +254,13 @@ sub render_body { }else{ #List boards $BODY->param(Overview => 1); my $boards = $DBH->prepare(q{SELECT fcid,category,fb.fbid AS id,fb.board - ,count(NULLIF(COALESCE(fp.time > ftv.time,TRUE),FALSE)) AS unread + ,count(NULLIF(COALESCE(fp.fpid::BOOLEAN,FALSE) + AND COALESCE(fp.time > ftv.time,TRUE),FALSE)) AS unread ,date_trunc('seconds',max(fp.time)::timestamp) as last_post FROM forum_categories JOIN forum_boards fb USING (fcid) - JOIN forum_threads ft USING (fbid) - JOIN forum_posts fp USING (ftid) + LEFT OUTER JOIN forum_threads ft USING (fbid) + LEFT OUTER JOIN forum_posts fp USING (ftid) LEFT OUTER JOIN (SELECT * FROM forum_thread_visits WHERE uid = $1) ftv USING (ftid) WHERE EXISTS (SELECT fbid FROM forum_access WHERE fbid = fb.fbid AND gid IN (SELECT groups($1))) GROUP BY fcid,category,fb.fbid, fb.board