Merge commit 'intrigeri/po'

master
Joey Hess 2009-08-28 19:48:32 -04:00
commit 3811c5f559
2 changed files with 40 additions and 12 deletions

View File

@ -306,17 +306,7 @@ sub preprocess_inline (@) {
# Add a blog post form, with feed buttons.
my $formtemplate=template("blogpost.tmpl", blind_cache => 1);
$formtemplate->param(cgiurl => $config{cgiurl});
my $rootpage;
if (exists $params{rootpage}) {
$rootpage=bestlink($params{page}, $params{rootpage});
if (!length $rootpage) {
$rootpage=$params{rootpage};
}
}
else {
$rootpage=$params{page};
}
$formtemplate->param(rootpage => $rootpage);
$formtemplate->param(rootpage => rootpage(%params));
$formtemplate->param(rssurl => $rssurl) if $feeds && $rss;
$formtemplate->param(atomurl => $atomurl) if $feeds && $atom;
if (exists $params{postformtext}) {
@ -653,4 +643,21 @@ sub pingurl (@) {
exit 0; # daemon done
}
sub rootpage (@) {
my %params=@_;
my $rootpage;
if (exists $params{rootpage}) {
$rootpage=bestlink($params{page}, $params{rootpage});
if (!length $rootpage) {
$rootpage=$params{rootpage};
}
}
else {
$rootpage=$params{page};
}
return $rootpage;
}
1

View File

@ -59,6 +59,8 @@ sub import {
inject(name => "IkiWiki::urlto", call => \&myurlto);
$origsubs{'cgiurl'}=\&IkiWiki::cgiurl;
inject(name => "IkiWiki::cgiurl", call => \&mycgiurl);
$origsubs{'rootpage'}=\&IkiWiki::rootpage;
inject(name => "IkiWiki::rootpage", call => \&myrootpage);
}
@ -566,9 +568,12 @@ sub mybestlink ($$) {
my $link=shift;
my $res=$origsubs{'bestlink'}->(masterpage($page), $link);
my @caller = caller(1);
if (length $res
&& istranslatable($res)
&& istranslation($page)) {
&& istranslation($page)
&& !(exists $caller[3] && defined $caller[3]
&& ($caller[3] eq "IkiWiki::PageSpec::match_link"))) {
return $res . "." . lang($page);
}
return $res;
@ -651,6 +656,22 @@ sub mycgiurl (@) {
return $origsubs{'cgiurl'}->(%params);
}
sub myrootpage (@) {
my %params=@_;
my $rootpage;
if (exists $params{rootpage}) {
$rootpage=$origsubs{'bestlink'}->($params{page}, $params{rootpage});
if (!length $rootpage) {
$rootpage=$params{rootpage};
}
}
else {
$rootpage=masterpage($params{page});
}
return $rootpage;
}
# ,----
# | Blackboxes for private data
# `----