X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/4e21af767175cdf19143b0b0776e111de3253103..c5642119f7fafdafdaff05c0d37e787de221e9e2:/IkiWiki/Plugin/comments.pm?ds=sidebyside diff --git a/IkiWiki/Plugin/comments.pm b/IkiWiki/Plugin/comments.pm index f0b67a9eb..b2243ce4c 100644 --- a/IkiWiki/Plugin/comments.pm +++ b/IkiWiki/Plugin/comments.pm @@ -442,8 +442,12 @@ sub editcomment ($$) { # - this means that if they do, rocks fall and everyone dies if ($form->submitted eq PREVIEW) { - $form->tmpl_param(page_preview => - previewcomment($content, $location, $page, time)); + my $preview=previewcomment($content, $location, $page, time); + IkiWiki::run_hooks(format => sub { + $preview = shift->(page => $page, + content => $preview); + }); + $form->tmpl_param(page_preview => $preview); } else { $form->tmpl_param(page_preview => ""); @@ -539,12 +543,14 @@ sub commentmoderation ($$) { if (defined $cgi->param('sid')) { IkiWiki::checksessionexpiry($cgi, $session); + my $rejectalldefer=$cgi->param('rejectalldefer'); + my %vars=$cgi->Vars; my $added=0; foreach my $id (keys %vars) { if ($id =~ /(.*)\Q._comment\E$/) { my $action=$cgi->param($id); - next if $action eq 'Defer'; + next if $action eq 'Defer' && ! $rejectalldefer; # Make sure that the id is of a legal # pending comment before untainting. @@ -601,11 +607,11 @@ sub commentmoderation ($$) { my ($id, $ctime)=@{$_}; my $file="$config{wikistatedir}/comments_pending/$id"; my $content=readfile($file); - my $ctime=(stat($file))[10]; + my $preview=previewcomment($content, $id, + IkiWiki::dirname($_), $ctime); { id => $id, - view => previewcomment($content, $id, - IkiWiki::dirname($_), $ctime), + view => $preview, } } sort { $b->[1] <=> $a->[1] } comments_pending(); @@ -615,7 +621,11 @@ sub commentmoderation ($$) { comments => \@comments, ); IkiWiki::printheader($session); - print IkiWiki::misctemplate(gettext("comment moderation"), $template->output); + my $out=$template->output; + IkiWiki::run_hooks(format => sub { + $out = shift->(page => "", content => $out); + }); + print IkiWiki::misctemplate(gettext("comment moderation"), $out); exit; } @@ -668,14 +678,8 @@ sub previewcomment ($$$) { my $preview = IkiWiki::htmlize($location, $page, '_comment', IkiWiki::linkify($location, $page, - IkiWiki::preprocess($location, $page, - IkiWiki::filter($location, - $page, $content), - 0, 1))); - IkiWiki::run_hooks(format => sub { - $preview = shift->(page => $page, - content => $preview); - }); + IkiWiki::preprocess($location, $page, + IkiWiki::filter($location, $page, $content), 0, 1))); my $template = template("comment.tmpl"); $template->param(content => $preview);