This is not needed by the use I'm doing of it, but seems more consistent to me.
Future users of this hook may need this data to make their mind.
Signed-off-by: intrigeri <intrigeri@boum.org>
return undef;
}
-sub canrename ($$$) {
- my ($page, $cgi, $session) = (shift, shift, shift);
+sub canrename ($$@) {
+ my ($cgi, $session) = (shift, shift);
+ my %params = @_;
- if (istranslation($page)) {
- my $masterpage = masterpage($page);
+ if (istranslation($params{src})) {
+ my $masterpage = masterpage($params{src});
# Tell the difference between:
# - a translation being renamed as a consequence of its master page
# being renamed, which is allowed
my $canrename;
IkiWiki::run_hooks(canrename => sub {
return if defined $canrename;
- my $ret=shift->($src, $q, $session);
+ my $ret=shift->($q, $session, src => $src, srcfile => $srcfile,
+ dest => $dest, destfile => $destfile);
if (defined $ret) {
if ($ret eq "") {
$canrename=1;
This hook can be used to implement arbitrary access methods to control when
a page can be renamed using the web interface (commits from revision control
-bypass it). It works exactly like the `canedit` hook.
+bypass it). It works exactly like the `canedit` and `canremove` hook,
+but is passed:
+* a CGI object
+* a session object
+* the named parameters `src`, `srcfile`, `dest` and `destfile`.
### editcontent