summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoey Hess <joey@kitenet.net>2011-03-24 19:44:32 -0400
committerJoey Hess <joey@kitenet.net>2011-03-24 19:44:32 -0400
commit7821965ef0c8c49b233d8abb621af33f1f7a31bd (patch)
tree99fc202151cbb3f09baeeec188788a79fd3d7119
parentf39d02583abee54d1c7792dcc171db6bba226091 (diff)
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.pm10
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 ($;$$) {