From 5c59ad63df5fb618a9088fb74e496eccdf5b759d Mon Sep 17 00:00:00 2001 From: intrigeri Date: Thu, 15 Jan 2009 21:49:32 +0100 Subject: po: fix broken links from slave pages ... by overriding cgiurl. Signed-off-by: intrigeri --- IkiWiki/Plugin/po.pm | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'IkiWiki/Plugin') diff --git a/IkiWiki/Plugin/po.pm b/IkiWiki/Plugin/po.pm index 157575483..a050d2b71 100644 --- a/IkiWiki/Plugin/po.pm +++ b/IkiWiki/Plugin/po.pm @@ -56,6 +56,8 @@ sub import { inject(name => "IkiWiki::urlto", call => \&myurlto); $origsubs{'nicepagetitle'}=\&IkiWiki::nicepagetitle; inject(name => "IkiWiki::nicepagetitle", call => \&mynicepagetitle); + $origsubs{'cgiurl'}=\&IkiWiki::cgiurl; + inject(name => "IkiWiki::cgiurl", call => \&mycgiurl); } @@ -599,6 +601,16 @@ sub mynicepagetitle ($;$) { return $res.' ('.percenttranslated($page).' %)'; } +sub mycgiurl (@) { + my %params=@_; + + # slave pages have no subpages + if (istranslation($params{'from'})) { + $params{'from'} = masterpage($params{'from'}); + } + return $origsubs{'cgiurl'}->(%params); +} + # ,---- # | Blackboxes for private data # `---- -- cgit v1.2.3