add reject all marked defer checkbox

master
Joey Hess 2009-01-25 22:25:45 -05:00
parent 4e21af7671
commit 9d4f396b13
2 changed files with 17 additions and 12 deletions

View File

@ -539,12 +539,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,7 +603,6 @@ sub commentmoderation ($$) {
my ($id, $ctime)=@{$_};
my $file="$config{wikistatedir}/comments_pending/$id";
my $content=readfile($file);
my $ctime=(stat($file))[10];
{
id => $id,
view => previewcomment($content, $id,
@ -668,14 +669,12 @@ 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::preprocess($location, $page,
IkiWiki::filter($location, $page, $content), 0, 1)));
IkiWiki::run_hooks(format => sub {
$preview = shift->(page => $page,
content => $preview);
});
$preview = shift->(page => $page,
content => $preview);
});
my $template = template("comment.tmpl");
$template->param(content => $preview);

View File

@ -3,18 +3,24 @@
<form action="<TMPL_VAR CGIURL>" method="post">
<input type="hidden" name="do" value="commentmoderation" />
<input type="hidden" name="sid" value="<TMPL_VAR SID>" />
<input type="submit" value="Submit" />
<input type="checkbox" name="rejectalldefer" value="1" />Reject
all comments marked <em>Defer</em>
<br />
<TMPL_LOOP NAME="COMMENTS">
<div>
<div>
<TMPL_VAR VIEW>
</div>
<input type="radio" value="Defer" name="<TMPL_VAR ID>" checked>Defer</input>
<input type="radio" value="Accept" name="<TMPL_VAR ID>">Accept</input>
<input type="radio" value="Reject" name="<TMPL_VAR ID>">Reject</input>
<input type="radio" value="Defer" name="<TMPL_VAR ID>" checked />Defer
<input type="radio" value="Accept" name="<TMPL_VAR ID>" />Accept
<input type="radio" value="Reject" name="<TMPL_VAR ID>" />Reject
</div>
<br />
</TMPL_LOOP>
<input type="submit" value="Submit" />
<input type="checkbox" name="rejectalldefer" value="1" />Reject
all comments marked <em>Defer</em>
</form>
<TMPL_ELSE>
<p>