X-Git-Url: https://sipb.mit.edu/gitweb.cgi/ikiwiki.git/blobdiff_plain/8ff761afa24febdb280c672b3b31d6145990f050..93d77673e44c1c4019a2fcbae2e450f095c4426a:/IkiWiki/Plugin/remove.pm diff --git a/IkiWiki/Plugin/remove.pm b/IkiWiki/Plugin/remove.pm index d23b2cc10..1717c8cf3 100644 --- a/IkiWiki/Plugin/remove.pm +++ b/IkiWiki/Plugin/remove.pm @@ -42,9 +42,6 @@ sub check_canremove ($$$) { error(sprintf(gettext("%s is not a file"), $file)); } - # Must be editable. - IkiWiki::check_canedit($page, $q, $session); - # If a user can't upload an attachment, don't let them delete it. # This is sorta overkill, but better safe than sorry. if (! defined pagetype($pagesources{$page})) { @@ -74,6 +71,7 @@ sub check_canremove ($$$) { } } }); + return defined $canremove ? $canremove : 1; } sub formbuilder_setup (@) { @@ -121,6 +119,7 @@ sub removal_confirm ($$@) { my @pages=@_; foreach my $page (@pages) { + IkiWiki::check_canedit($page, $q, $session); check_canremove($page, $q, $session); } @@ -198,6 +197,7 @@ sub sessioncgi ($$) { # and that the user is allowed to edit(/remove) it. my @files; foreach my $page (@pages) { + IkiWiki::check_canedit($page, $q, $session); check_canremove($page, $q, $session); # This untaint is safe because of the @@ -213,8 +213,10 @@ sub sessioncgi ($$) { foreach my $file (@files) { IkiWiki::rcs_remove($file); } - IkiWiki::rcs_commit_staged(gettext("removed"), - $session->param("name"), $ENV{REMOTE_ADDR}); + IkiWiki::rcs_commit_staged( + message => gettext("removed"), + session => $session, + ); IkiWiki::enable_commit_hook(); IkiWiki::rcs_update(); }