]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - IkiWiki/Plugin/recentchanges.pm
update
[git.ikiwiki.info.git] / IkiWiki / Plugin / recentchanges.pm
index 44c981548a6913a0c6bc9e860743ec5a84eae9e1..fe414d8659ef071cd51c377d999ad3bc96cf647f 100644 (file)
@@ -93,7 +93,12 @@ sub sessioncgi ($$) {
 
        return unless $do eq 'revert' && $rev;
 
-       IkiWiki::rcs_preprevert(cgi => $q, session => $session, rev => $rev);
+       my @changes=$IkiWiki::hooks{rcs}{rcs_preprevert}{call}->($rev);
+       IkiWiki::check_canchange(
+               cgi => $q,
+               session => $session,
+               changes => \@changes,
+       );
 
        my ($form, $buttons) = confirmation_form($q, $session);
        IkiWiki::decode_form_utf8($form);
@@ -101,7 +106,7 @@ sub sessioncgi ($$) {
        if ($form->submitted eq 'Revert' && $form->validate) {
                IkiWiki::checksessionexpiry($q, $session, $q->param('sid'));
                IkiWiki::disable_commit_hook();
-               my $r = IkiWiki::rcs_revert($rev);
+               my $r = $IkiWiki::hooks{rcs}{rcs_revert}{call}->($rev);
                if (! defined $r) { # success
                        rcs_commit_staged(
                                message => sprintf(gettext("This reverts commit %s"), $rev),
@@ -186,7 +191,9 @@ sub store ($$$) {
        ];
        push @{$change->{pages}}, { link => '...' } if $is_excess;
        
-       if (length $config{cgiurl}) {
+       if (length $config{cgiurl} &&
+           exists $IkiWiki::hooks{rcs}{rcs_preprevert} &&
+           exists $IkiWiki::hooks{rcs}{rcs_revert}) {
                $change->{reverturl} = IkiWiki::cgiurl(
                        do => "revert",
                        rev => $change->{rev}