diff options
author | intrigeri <intrigeri@boum.org> | 2009-08-27 20:31:44 +0200 |
---|---|---|
committer | intrigeri <intrigeri@boum.org> | 2009-08-27 20:31:44 +0200 |
commit | cdc3576c8d1efb2593cac2d9da3f2393a2afe26e (patch) | |
tree | b8af4995c52151591f3e91ed8223c41a78886610 /IkiWiki | |
parent | 6c0f9c691c3df3a2ec30dec626c997623568a400 (diff) |
po: do not inject custom bestlink function when po_link_to eq default
Signed-off-by: intrigeri <intrigeri@boum.org>
Diffstat (limited to 'IkiWiki')
-rw-r--r-- | IkiWiki/Plugin/po.pm | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/IkiWiki/Plugin/po.pm b/IkiWiki/Plugin/po.pm index 2b2839f24..12f41f6de 100644 --- a/IkiWiki/Plugin/po.pm +++ b/IkiWiki/Plugin/po.pm @@ -51,8 +51,6 @@ sub import { hook(type => "formbuilder_setup", id => "po", call => \&formbuilder_setup, last => 1); hook(type => "formbuilder", id => "po", call => \&formbuilder); - $origsubs{'bestlink'}=\&IkiWiki::bestlink; - inject(name => "IkiWiki::bestlink", call => \&mybestlink); $origsubs{'beautify_urlpath'}=\&IkiWiki::beautify_urlpath; inject(name => "IkiWiki::beautify_urlpath", call => \&mybeautify_urlpath); $origsubs{'targetpage'}=\&IkiWiki::targetpage; @@ -153,6 +151,10 @@ sub checkconfig () { warn(gettext('po_link_to=negotiated requires usedirs to be enabled, falling back to po_link_to=default')); $config{po_link_to}='default'; } + unless ($config{po_link_to} eq 'default') { + $origsubs{'bestlink'}=\&IkiWiki::bestlink; + inject(name => "IkiWiki::bestlink", call => \&mybestlink); + } push @{$config{wiki_file_prune_regexps}}, qr/\.pot$/; @@ -543,16 +545,13 @@ sub formbuilder (@) { # `---- # Implement po_link_to 'current' and 'negotiated' settings. +# Not injected otherwise. sub mybestlink ($$) { my $page=shift; my $link=shift; - return $origsubs{'bestlink'}->($page, $link) - if $config{po_link_to} eq "default"; - my $res=$origsubs{'bestlink'}->(masterpage($page), $link); if (length $res - && ($config{po_link_to} eq "current" || $config{po_link_to} eq "negotiated") && istranslatable($res) && istranslation($page)) { return $res . "." . lang($page); |