package VNDB::Handler::Users; use strict; use warnings; use TUWF ':html'; use VNDB::Func; TUWF::register( qr{u([1-9]\d*)/posts} => \&posts, ); sub posts { my($self, $uid) = @_; # fetch user info my $u = $self->dbUserGet(uid => $uid, what => 'hide_list pubskin')->[0]; return $self->resNotFound if !$u->{id}; my $f = $self->formValidate( { get => 'p', required => 0, default => 1, template => 'page' } ); return $self->resNotFound if $f->{_err}; my($posts, $np) = $self->dbPostGet(uid => $uid, hide => 1, what => 'thread', page => $f->{p}, sort => 'date', reverse => 1); my $title = 'Posts made by '.VNWeb::HTML::user_displayname($u); $self->htmlHeader(title => $title, noindex => 1, pubskin => $u); $self->htmlMainTabs(u => $u, 'posts'); div class => 'mainbox'; h1 $title; if(!@$posts) { p VNWeb::HTML::user_displayname($u)." hasn't made any posts yet."; } end; $self->htmlBrowse( items => $posts, class => 'uposts', options => $f, nextpage => $np, pageurl => "/u$uid/posts", header => [ [ '' ], [ '' ], [ 'Date' ], [ 'Title' ], ], row => sub { my($s, $n, $l) = @_; Tr; td class => 'tc1'; a href => "/t$l->{tid}.$l->{num}", 't'.$l->{tid}; end; td class => 'tc2'; a href => "/t$l->{tid}.$l->{num}", '.'.$l->{num}; end; td class => 'tc3', fmtdate $l->{date}; td class => 'tc4'; a href => "/t$l->{tid}.$l->{num}", $l->{title}; b class => 'grayedout'; lit bb2html $l->{msg}, 150; end; end; end; }, ) if @$posts; $self->htmlFooter; } 1;