X-Git-Url: https://ruin.nu/git/?a=blobdiff_plain;f=ND%2FWeb%2FForum.pm;h=6b122c67e30122e36a8a11320db66388bb339179;hb=f6cfe40e6a8da61229131a2d38a2535ae66da359;hp=8eca745423053ee6332f147d8c9df52f00a5cc7e;hpb=b1e161e396d3c759403c6e3cbd8da1be7fe84715;p=ndwebbie.git diff --git a/ND/Web/Forum.pm b/ND/Web/Forum.pm index 8eca745..6b122c6 100644 --- a/ND/Web/Forum.pm +++ b/ND/Web/Forum.pm @@ -34,11 +34,10 @@ sub viewForumThread { my $template = HTML::Template->new(filename => "templates/viewthread.tmpl", global_vars => 1, cache => 1); - $template->param(Subject => $thread->{subject}); $template->param(Id => $thread->{id}); $template->param(Post => $thread->{post}); - my $posts = $ND::DBH->prepare(q{SELECT u.username,date_trunc('minute',fp.time::timestamp) AS time,fp.message,COALESCE(fp.time > ftv.time,TRUE) AS unread + my $posts = $ND::DBH->prepare(q{SELECT u.username,date_trunc('seconds',fp.time::timestamp) AS time,fp.message,COALESCE(fp.time > ftv.time,TRUE) AS unread FROM forum_threads ft JOIN forum_posts fp USING (ftid) JOIN users u USING (uid) LEFT OUTER JOIN (SELECT * FROM forum_thread_visits WHERE uid = $2) ftv ON ftv.ftid = ft.ftid WHERE ft.ftid = $1 ORDER BY fp.time ASC @@ -54,6 +53,17 @@ ORDER BY fp.time ASC $post->{message} = parseMarkup($post->{message}); push @posts,$post; } + + if (defined param('cmd') && param('cmd') eq 'Preview'){ + my $text = parseMarkup(escapeHTML(param('message'))); + $text .= p b $@ if $@; + push @posts,{message => $text, unread => 1, username => 'PREVIEW', Time => 'Not submitted yet', NewPosts => $old ? 1 : 0}; + + $text = escapeHTML param('message'); + $text =~ s/\x{3}\d\d?//g; #mirc color TODO: possibly match until \x{0F} and change to [color] block + $text =~ s/[^\x{9}\x{A}\x{D}\x{20}-\x{D7FF}\x{E000}-\x{FFFD}\x{10000}-\x{10FFFF}]//g; + $template->param(Message => $text); + } $template->param(Posts => \@posts); markThreadAsRead($thread->{id});