summaryrefslogtreecommitdiff
path: root/lib/VNWeb/Discussions
diff options
context:
space:
mode:
authorYorhel <git@yorhel.nl>2020-08-19 08:39:33 +0200
committerYorhel <git@yorhel.nl>2020-08-19 08:39:33 +0200
commit31367028391ec4ba9a8d2d9837651b5a522b3340 (patch)
treee4e84742aea6dbf9e8bf826f7cebdd747d108fe9 /lib/VNWeb/Discussions
parentae0749087980fa99dbe439937c4b3496ca40f697 (diff)
reviews: Count & list review comments as posts on user page
Diffstat (limited to 'lib/VNWeb/Discussions')
-rw-r--r--lib/VNWeb/Discussions/UPosts.pm30
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;