diff options
author | Joey Hess <joey@kitenet.net> | 2011-03-24 19:44:32 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2011-03-24 19:44:32 -0400 |
commit | 7821965ef0c8c49b233d8abb621af33f1f7a31bd (patch) | |
tree | 99fc202151cbb3f09baeeec188788a79fd3d7119 | |
parent | f39d02583abee54d1c7792dcc171db6bba226091 (diff) | |
download | ikiwiki-7821965ef0c8c49b233d8abb621af33f1f7a31bd.tar ikiwiki-7821965ef0c8c49b233d8abb621af33f1f7a31bd.tar.gz |
fix targetpage replacement to support 3 argument form
Oddly, this hadn't caused any visible breakage. Possibly inline,
which is the only thing to use targetpage, resolves the function
to the "real" one before po gets loaded?
-rw-r--r-- | IkiWiki/Plugin/po.pm | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/IkiWiki/Plugin/po.pm b/IkiWiki/Plugin/po.pm index 0ea35b21c..9ccc79268 100644 --- a/IkiWiki/Plugin/po.pm +++ b/IkiWiki/Plugin/po.pm @@ -624,20 +624,24 @@ sub mybeautify_urlpath ($) { return $res; } -sub mytargetpage ($$) { +sub mytargetpage ($$;$) { my $page=shift; my $ext=shift; + my $filename=shift; if (istranslation($page) || istranslatable($page)) { my ($masterpage, $lang) = (masterpage($page), lang($page)); - if (! $config{usedirs} || $masterpage eq 'index') { + if (defined $filename) { + return $masterpage . "/" . $filename . "." . $lang . "." . $ext; + } + elsif (! $config{usedirs} || $masterpage eq 'index') { return $masterpage . "." . $lang . "." . $ext; } else { return $masterpage . "/index." . $lang . "." . $ext; } } - return $origsubs{'targetpage'}->($page, $ext); + return $origsubs{'targetpage'}->($page, $ext, $filename); } sub myurlto ($;$$) { |