X-Git-Url: https://ruin.nu/git/?a=blobdiff_plain;f=lib%2FNDWeb%2FController%2FForum.pm;h=4cca534c3f7e2137cda1f3640dffed7d1edf2d7d;hb=62a6a11cc02a9d4f1125180708cf71d1a2ebdf9e;hp=a9a1f0d5dc98143bb3d37f8eea870ce947a10307;hpb=acd22833d74158d4b5320578987f372464bef7b7;p=ndwebbie.git diff --git a/lib/NDWeb/Controller/Forum.pm b/lib/NDWeb/Controller/Forum.pm index a9a1f0d..4cca534 100644 --- a/lib/NDWeb/Controller/Forum.pm +++ b/lib/NDWeb/Controller/Forum.pm @@ -33,7 +33,7 @@ SELECT fcid,category,fb.fbid,fb.board ,date_trunc('seconds',max(ft.mtime)::timestamp ) AS last_post FROM forum_categories fc JOIN forum_boards fb USING (fcid) - JOIN forum_threads ft USING (fbid) + LEFT OUTER JOIN forum_threads ft USING (fbid) LEFT OUTER JOIN (SELECT * FROM forum_thread_visits WHERE uid = $1) ftv USING (ftid) WHERE fbid IN (SELECT fbid FROM forum_access @@ -472,7 +472,7 @@ sub findUsers : Private { my $query = $dbh->prepare(q{SELECT uid,username FROM users WHERE uid > 0 AND uid IN (SELECT uid FROM groupmembers) - ORDER BY LOWER(username)}); + ORDER BY username}); $query->execute; $c->stash(users => $query->fetchall_arrayref({}) ); @@ -487,8 +487,8 @@ sub findThread : Private { FROM forum_boards fb NATURAL JOIN forum_threads ft NATURAL JOIN forum_categories fc - LEFT OUTER JOIN (SELECT * FROM forum_access - WHERE gid IN (SELECT groups($2)) + LEFT OUTER JOIN (SELECT fa.* FROM forum_access fa + JOIN (SELECT groups($2) AS gid) g USING (gid) ) fa USING (fbid) WHERE ft.ftid = $1 AND (fa.post IS NOT NULL OR ft.ftid IN (SELECT ftid FROM forum_priv_access WHERE uid = $2))