safe => 1,
rebuild => 1,
},
+ po_strictly_refresh_backlinks => {
+ type => "boolean",
+ example => 1,
+ description => "refresh a page when a backlinked page is changed (can hit performance)",
+ safe => 1,
+ rebuild => 1,
+ },
}
sub checkconfig () {
! defined $config{po_translation_status_in_links}) {
$config{po_translation_status_in_links}=1;
}
+ if (! exists $config{po_strictly_refresh_backlinks} ||
+ ! defined $config{po_strictly_refresh_backlinks}) {
+ $config{po_strictly_refresh_backlinks}=1;
+ }
push @{$config{wiki_file_prune_regexps}}, qr/\.pot$/;
}
$template->param(percenttranslated => percenttranslated($page));
}
if ($template->query(name => "istranslation")) {
- $template->param(istranslation => istranslation($page));
+ $template->param(istranslation => scalar istranslation($page));
}
if ($template->query(name => "istranslatable")) {
$template->param(istranslatable => istranslatable($page));
sub postscan (@) {
my %params = @_;
- my $page = $params{page};
+ return unless $config{po_strictly_refresh_backlinks};
+
+ my $page = $params{page};
# backlinks involve back-dependencies, so that nicepagetitle effects,
# such as translation status displayed in links, are updated
use IkiWiki::Render;
return undef;
}
-sub canremove ($$$) {
- my ($page, $cgi, $session) = (shift, shift, shift);
+sub canremove (@) {
+ my %params = @_;
- if (istranslation($page)) {
+ if (istranslation($params{page})) {
return gettext("Can not remove a translation. Removing the master page, ".
"though, removes its translations as well.");
}