diff options
Diffstat (limited to 'IkiWiki/Plugin/rename.pm')
-rw-r--r-- | IkiWiki/Plugin/rename.pm | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/IkiWiki/Plugin/rename.pm b/IkiWiki/Plugin/rename.pm index b1bb15767..2200235f6 100644 --- a/IkiWiki/Plugin/rename.pm +++ b/IkiWiki/Plugin/rename.pm @@ -195,7 +195,7 @@ sub postrename ($;$$$) { # Update edit form content to fix any links present # on it. $postrename->param("editcontent", - renamepage_hook($dest, $src, $dest, + renamelink_hook($dest, $src, $dest, $postrename->param("editcontent"))); # Get a new edit token; old was likely invalidated. @@ -338,10 +338,16 @@ sub sessioncgi ($$) { sprintf(gettext("rename %s to %s"), $srcfile, $destfile), $session->param("name"), $ENV{REMOTE_ADDR}) if $config{rcs}; - # Then link fixups. foreach my $rename (@torename) { next if $rename->{src} eq $rename->{dest}; next if $rename->{error}; + IkiWiki::run_hooks(rename => sub { + shift->( + oldpage => $src, + newpage => $dest, + ); + }); + # Then link fixups. foreach my $p (fixlinks($rename, $session)) { # map old page names to new foreach my $r (@torename) { @@ -420,10 +426,10 @@ sub sessioncgi ($$) { } } -sub renamepage_hook ($$$$) { +sub renamelink_hook ($$$$) { my ($page, $src, $dest, $content)=@_; - IkiWiki::run_hooks(renamepage => sub { + IkiWiki::run_hooks(renamelink => sub { $content=shift->( page => $page, oldpage => $src, @@ -480,7 +486,7 @@ sub fixlinks ($$$) { if ($needfix) { my $file=$pagesources{$page}; my $oldcontent=readfile($config{srcdir}."/".$file); - my $content=renamepage_hook($page, $rename->{src}, $rename->{dest}, $oldcontent); + my $content=renamelink_hook($page, $rename->{src}, $rename->{dest}, $oldcontent); if ($oldcontent ne $content) { my $token=IkiWiki::rcs_prepedit($file); eval { writefile($file, $config{srcdir}, $content) }; |