X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/2c5fbe844b3137b2e3f84d5f1d1ea9ef37564852..5c7771e01aafb7b2e197f58a725132e4c2f4bde8:/IkiWiki/Plugin/editdiff.pm?ds=sidebyside diff --git a/IkiWiki/Plugin/editdiff.pm b/IkiWiki/Plugin/editdiff.pm index 46eb1168e..f5d7837fc 100644 --- a/IkiWiki/Plugin/editdiff.pm +++ b/IkiWiki/Plugin/editdiff.pm @@ -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; @@ -25,7 +34,7 @@ sub diff ($$) { #{{{ print DIFFIN $content; close DIFFIN; - my $ret; + my $ret=''; while () { if (defined $ret) { $ret.=$_; @@ -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";