X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/e4b7f6badfdc26afc0b6a86a11404e3d8c82170e..ea753782b222bf4ba2fb4683b6363afdd9055b64:/IkiWiki/Plugin/rename.pm diff --git a/IkiWiki/Plugin/rename.pm b/IkiWiki/Plugin/rename.pm index fa0358843..f39c93332 100644 --- a/IkiWiki/Plugin/rename.pm +++ b/IkiWiki/Plugin/rename.pm @@ -87,6 +87,27 @@ sub check_canrename ($$$$$$) { IkiWiki::Plugin::attachment::check_canattach($session, $dest, $srcfile); } } + + my $canrename; + IkiWiki::run_hooks(canrename => sub { + return if defined $canrename; + my $ret=shift->(cgi => $q, session => $session, + src => $src, srcfile => $srcfile, + dest => $dest, destfile => $destfile); + if (defined $ret) { + if ($ret eq "") { + $canrename=1; + } + elsif (ref $ret eq 'CODE') { + $ret->(); + $canrename=0; + } + elsif (defined $ret) { + error($ret); + $canrename=0; + } + } + }); } sub rename_form ($$$) { @@ -291,6 +312,14 @@ sub sessioncgi ($$) { required => 1, }; + IkiWiki::run_hooks(rename => sub { + @torename=shift->( + torename => \@torename, + cgi => $q, + session => $session + ); + }); + # See if any subpages need to be renamed. if ($q->param("subpages") && $src ne $dest) { foreach my $p (keys %pagesources) { @@ -417,6 +446,7 @@ sub linklist { { page => htmllink($dest, $dest, $_, noimageinline => 1, + linktext => pagetitle($_), ) } } @{$list}]