]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - IkiWiki/Plugin/editdiff.pm
more work on untrusted committers
[git.ikiwiki.info.git] / IkiWiki / Plugin / editdiff.pm
index 2a70ca0b81a49c3113e6074bcb797d94e41e133e..f5d7837fc4c4712de2b693497ce3dd1b7a977b59 100644 (file)
@@ -9,10 +9,19 @@ use HTML::Entities;
 use IPC::Open2;
 
 sub import { #{{{
+       hook(type => "getsetup", id => "editdiff", call => \&getsetup);
        hook(type => "formbuilder_setup", id => "editdiff",
                call => \&formbuilder_setup);
 } #}}}
 
+sub getsetup () { #{{{
+       return
+               plugin => {
+                       safe => 1,
+                       rebuild => 0,
+               },
+} #}}}
+
 sub diff ($$) { #{{{
        my $orig=shift;
        my $content=shift;
@@ -46,12 +55,11 @@ sub diff ($$) { #{{{
 sub formbuilder_setup { #{{{
        my %params=@_;
        my $form=$params{form};
-       my $page=$form->field("page");
 
-       return if $form->title ne "editpage"
-                 || $form->field("do") ne "edit";
+       return if ! defined $form->field("do") || $form->field("do") ne "edit";
 
-       $page = IkiWiki::titlepage(IkiWiki::possibly_foolish_untaint($page));
+       my $page=$form->field("page");
+       $page = IkiWiki::possibly_foolish_untaint($page);
        return unless exists $pagesources{$page};
 
        push @{$params{buttons}}, "Diff";