hook(type => "delete", id => "po", call => \&mydelete);
hook(type => "change", id => "po", call => \&change);
hook(type => "canremove", id => "po", call => \&canremove);
+ hook(type => "canrename", id => "po", call => \&canrename);
hook(type => "editcontent", id => "po", call => \&editcontent);
$origsubs{'bestlink'}=\&IkiWiki::bestlink;
return undef;
}
+sub canrename ($$$) {
+ my ($page, $cgi, $session) = (shift, shift, shift);
+
+ if (istranslation($page)) {
+ return gettext("Can not rename a translation. Renaming the master page,".
+ "though, renames its translations as well.");
+ }
+ return undef;
+}
+
# As we're previewing or saving a page, the content may have
# changed, so tell the next filter() invocation it must not be lazy.
sub editcontent () {
See [[contrib/po|contrib/po]].
-Renaming/deleting pages
------------------------
-
-Renaming or deleting a translation in the CGI should be forbidden.
-Implementing this requires two new hooks: `canrename` and `canremove`,
-that would be run respectively by the `rename` and the `remove` plugins.
-
Robustness tests
----------------