X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/741b26aa176b34d0359a2b89dd6d8293fcdf2b3d..ae75c9bee683d5645b033ddea5b211cc99416d19:/IkiWiki/Plugin/remove.pm?ds=inline diff --git a/IkiWiki/Plugin/remove.pm b/IkiWiki/Plugin/remove.pm index 2e3614cca..0fc180f69 100644 --- a/IkiWiki/Plugin/remove.pm +++ b/IkiWiki/Plugin/remove.pm @@ -18,6 +18,7 @@ sub getsetup () { plugin => { safe => 1, rebuild => 0, + section => "web", }, } @@ -48,17 +49,17 @@ sub check_canremove ($$$) { # This is sorta overkill, but better safe than sorry. if (! defined pagetype($pagesources{$page})) { if (IkiWiki::Plugin::attachment->can("check_canattach")) { - IkiWiki::Plugin::attachment::check_canattach($session, $page, $file); + IkiWiki::Plugin::attachment::check_canattach($session, $page, "$config{srcdir}/$file"); } else { - error("renaming of attachments is not allowed"); + error("removal of attachments is not allowed"); } } my $canremove; IkiWiki::run_hooks(canremove => sub { return if defined $canremove; - my $ret=shift->($page, $q, $session); + my $ret=shift->(page => $page, cgi => $q, session => $session); if (defined $ret) { if ($ret eq "") { $canremove=1; @@ -73,7 +74,6 @@ sub check_canremove ($$$) { } } }); - return $canremove; } sub formbuilder_setup (@) { @@ -167,7 +167,7 @@ sub formbuilder (@) { removal_confirm($q, $session, 0, $form->field("page")); } elsif ($form->submitted eq "Remove Attachments") { - my @selected=$q->param("attachment_select"); + my @selected=map { Encode::decode_utf8($_) } $q->param("attachment_select"); if (! @selected) { error(gettext("Please select the attachments to remove.")); } @@ -188,7 +188,7 @@ sub sessioncgi ($$) { postremove($session); } elsif ($form->submitted eq 'Remove' && $form->validate) { - my @pages=$q->param("page"); + my @pages=$form->field("page"); # Validate removal by checking that the page exists, # and that the user is allowed to edit(/remove) it. @@ -238,7 +238,7 @@ sub sessioncgi ($$) { } } else { - IkiWiki::showform($form, $buttons, $session, $q); + removal_confirm($q, $session, 0, $form->field("page")); } exit 0;