X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/cbf1c8b810cf782e36bbe87343d5f4a81f5dd52e..0c3291d4f32efd1ccfcfca86429db67e7b1a0c35:/IkiWiki/Plugin/remove.pm?ds=sidebyside diff --git a/IkiWiki/Plugin/remove.pm b/IkiWiki/Plugin/remove.pm index f263db9b8..9666408bc 100644 --- a/IkiWiki/Plugin/remove.pm +++ b/IkiWiki/Plugin/remove.pm @@ -6,13 +6,22 @@ use strict; use IkiWiki 2.00; sub import { #{{{ + hook(type => "getsetup", id => "remove", call => \&getsetup); hook(type => "formbuilder_setup", id => "remove", call => \&formbuilder_setup); hook(type => "formbuilder", id => "remove", call => \&formbuilder); hook(type => "sessioncgi", id => "remove", call => \&sessioncgi); } # }}} -sub check_canremove ($$$$) { +sub getsetup () { #{{{ + return + plugin => { + safe => 1, + rebuild => 0, + }, +} #}}} + +sub check_canremove ($$$$) { #{{{ my $page=shift; my $q=shift; my $session=shift; @@ -42,7 +51,7 @@ sub check_canremove ($$$$) { if ($attachment) { IkiWiki::Plugin::attachment::check_canattach($session, $page, $file); } -} +} #}}} sub formbuilder_setup (@) { #{{{ my %params=@_; @@ -79,7 +88,7 @@ sub confirmation_form ($$) { #{{{ return $f, ["Remove", "Cancel"]; } #}}} -sub removal_confirm ($$@) { +sub removal_confirm ($$@) { #{{{ my $q=shift; my $session=shift; my $attachment=shift; @@ -107,9 +116,9 @@ sub removal_confirm ($$@) { IkiWiki::showform($f, $buttons, $session, $q); exit 0; -} +} #}}} -sub postremove ($) { +sub postremove ($) { #{{{ my $session=shift; # Load saved form state and return to edit form. @@ -117,7 +126,7 @@ sub postremove ($) { $session->clear("postremove"); IkiWiki::cgi_savesession($session); IkiWiki::cgi($postremove, $session); -} +} #}}} sub formbuilder (@) { #{{{ my %params=@_; @@ -171,11 +180,10 @@ sub sessioncgi ($$) { #{{{ if ($config{rcs}) { IkiWiki::disable_commit_hook(); foreach my $file (@files) { - my $token=IkiWiki::rcs_prepedit($file); IkiWiki::rcs_remove($file); - IkiWiki::rcs_commit($file, gettext("removed"), - $token, $session->param("name"), $ENV{REMOTE_ADDR}); } + IkiWiki::rcs_commit_staged(gettext("removed"), + $session->param("name"), $ENV{REMOTE_ADDR}); IkiWiki::enable_commit_hook(); IkiWiki::rcs_update(); }