diff options
author | Yorhel <git@yorhel.nl> | 2020-08-19 08:39:33 +0200 |
---|---|---|
committer | Yorhel <git@yorhel.nl> | 2020-08-19 08:39:33 +0200 |
commit | 31367028391ec4ba9a8d2d9837651b5a522b3340 (patch) | |
tree | e4e84742aea6dbf9e8bf826f7cebdd747d108fe9 /lib/VNWeb/Discussions | |
parent | ae0749087980fa99dbe439937c4b3496ca40f697 (diff) |
reviews: Count & list review comments as posts on user page
Diffstat (limited to 'lib/VNWeb/Discussions')
-rw-r--r-- | lib/VNWeb/Discussions/UPosts.pm | 30 |
1 files changed, 18 insertions, 12 deletions
diff --git a/lib/VNWeb/Discussions/UPosts.pm b/lib/VNWeb/Discussions/UPosts.pm index 771fb3a9..0a0165d0 100644 --- a/lib/VNWeb/Discussions/UPosts.pm +++ b/lib/VNWeb/Discussions/UPosts.pm @@ -18,8 +18,8 @@ sub listing_ { td_ class => 'tc4', 'Title'; }}; tr_ sub { - my $url = "/$_->{tid}.$_->{num}"; - td_ class => 'tc1', sub { a_ href => $url, $_->{tid} }; + my $url = "/$_->{id}.$_->{num}"; + td_ class => 'tc1', sub { a_ href => $url, $_->{id} }; td_ class => 'tc2', sub { a_ href => $url, '.'.$_->{num} }; td_ class => 'tc3', fmtdate $_->{date}; td_ class => 'tc4', sub { @@ -40,17 +40,23 @@ TUWF::get qr{/$RE{uid}/posts}, sub { my $page = tuwf->validate(get => p => { upage => 1 })->data; - my $from_and_where = sql - 'FROM threads_posts tp - JOIN threads t ON t.id = tp.tid - WHERE NOT t.private AND NOT t.hidden AND NOT tp.hidden AND tp.uid =', \$u->{id}; + my $sql = sql '( + SELECT tp.tid, tp.num, tp.msg, t.title, tp.date + FROM threads_posts tp + JOIN threads t ON t.id = tp.tid + WHERE NOT t.private AND NOT t.hidden AND NOT tp.hidden AND tp.uid =', \$u->{id}, ' + UNION ALL + SELECT rp.id, rp.num, rp.msg, v.title, rp.date + FROM reviews_posts rp + JOIN reviews r ON r.id = rp.id + JOIN vn v ON v.id = r.vid + WHERE NOT rp.hidden AND rp.uid =', \$u->{id}, ' + ) p(id,num,msg,title,date)'; - my $count = tuwf->dbVali('SELECT count(*)', $from_and_where); - my $list = $count && tuwf->dbPagei( - { results => 50, page => $page }, - 'SELECT tp.tid, tp.num, substring(tp.msg from 1 for 1000) as msg, t.title - , ', sql_totime('tp.date'), 'as date', - $from_and_where, 'ORDER BY tp.date DESC' + my $count = tuwf->dbVali('SELECT count(*) FROM', $sql); + my $list = $count && tuwf->dbPagei({ results => 50, page => $page }, + 'SELECT id, num, substring(msg from 1 for 1000) as msg, title, ', sql_totime('date'), 'as date + FROM ', $sql, 'ORDER BY date DESC' ); my $own = auth && $u->{id} == auth->uid; |