rename: implemented new canrename hook
Signed-off-by: intrigeri <intrigeri@boum.org>master
parent
741b26aa17
commit
3316f9cc73
|
@ -87,6 +87,26 @@ 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->($src, $q, $session);
|
||||
if (defined $ret) {
|
||||
if ($ret eq "") {
|
||||
$canrename=1;
|
||||
}
|
||||
elsif (ref $ret eq 'CODE') {
|
||||
$ret->();
|
||||
$canrename=0;
|
||||
}
|
||||
elsif (defined $ret) {
|
||||
error($ret);
|
||||
$canrename=0;
|
||||
}
|
||||
}
|
||||
});
|
||||
return $canrename;
|
||||
}
|
||||
|
||||
sub rename_form ($$$) {
|
||||
|
|
|
@ -329,6 +329,14 @@ This hook can be used to implement arbitrary access methods to control when
|
|||
a page can be removed using the web interface (commits from revision control
|
||||
bypass it). It works exactly like the `canedit` hook.
|
||||
|
||||
### canrename
|
||||
|
||||
hook(type => "canrename", id => "foo", call => \&canrename);
|
||||
|
||||
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.
|
||||
|
||||
### editcontent
|
||||
|
||||
hook(type => "editcontent", id => "foo", call => \&editcontent);
|
||||
|
|
Loading…
Reference in New Issue