X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/669a5f5ecc0d50daf96d8dc2af219c94c8625fb4..a2d9705dfb9c6fa51ea04a51b386ebe09b421a8f:/IkiWiki/Plugin/remove.pm diff --git a/IkiWiki/Plugin/remove.pm b/IkiWiki/Plugin/remove.pm index d48b28f95..859c39066 100644 --- a/IkiWiki/Plugin/remove.pm +++ b/IkiWiki/Plugin/remove.pm @@ -23,6 +23,7 @@ sub getsetup () { } sub allowed_dirs { + no warnings 'once'; return grep { defined $_ } ( $config{srcdir}, $IkiWiki::Plugin::transient::transientdir, @@ -195,7 +196,9 @@ sub formbuilder (@) { my $session=$params{session}; if ($form->submitted eq "Remove" && $form->field("do") eq "edit") { - removal_confirm($q, $session, 0, $form->field("page")); + # deliberately taking multiple values of page + my @pages = $form->field("page"); + removal_confirm($q, $session, 0, @pages); } elsif ($form->submitted eq "Remove Attachments") { my @selected=map { Encode::decode_utf8($_) } $q->param("attachment_select"); @@ -215,14 +218,15 @@ sub sessioncgi ($$) { my ($form, $buttons)=confirmation_form($q, $session); IkiWiki::decode_form_utf8($form); + # deliberately taking multiple values of page + my @pages = $form->field("page"); + if ($form->submitted eq 'Cancel') { postremove($session); } elsif ($form->submitted eq 'Remove' && $form->validate) { - IkiWiki::checksessionexpiry($q, $session, $q->param('sid')); + IkiWiki::checksessionexpiry($q, $session); - my @pages=$form->field("page"); - # Validate removal by checking that the page exists, # and that the user is allowed to edit(/remove) it. my @files; @@ -287,7 +291,7 @@ sub sessioncgi ($$) { } } else { - removal_confirm($q, $session, 0, $form->field("page")); + removal_confirm($q, $session, 0, @pages); } exit 0;