use strict;
use IkiWiki 3.00;
use Encode;
-BEGIN {
- eval 'use Locale::Po4a::Common qw(nowrapi18n)';
- if ($@) {
- warning(sprintf(gettext('%s is too old, can not disable %s; '.
- 'a denial of service can thus be '.
- 'triggered by malicious content'),
- 'Locale::Po4a', 'Text::WrapI18N'));
- eval 'use Locale::Po4a::Common';
- }
-}
+use Locale::Po4a::Common qw(nowrapi18n);
use Locale::Po4a::Chooser;
use Locale::Po4a::Po;
use File::Basename;
# 2. Injected functions
# 3. Blackboxes for private data
# 4. Helper functions
-# 5. PageSpec's
+# 5. PageSpecs
# ,----
# force content to be htmlize'd as if it was the same type as the master page
return IkiWiki::htmlize($page, $page,
- pagetype(srcfile($pagesources{masterpage($page)})),
- $content);
+ pagetype(srcfile($pagesources{masterpage($page)})),
+ $content);
}
sub pagetemplate (@) {
# Known limitations are preferred to future random bugs.
if ($template->param('discussionlink') && istranslation($page)) {
$template->param('discussionlink' => htmllink(
- $page,
- $destpage,
- $masterpage . '/' . gettext("Discussion"),
- noimageinline => 1,
- forcesubpage => 0,
- linktext => gettext("Discussion"),
- ));
+ $page,
+ $destpage,
+ $masterpage . '/' . gettext("Discussion"),
+ noimageinline => 1,
+ forcesubpage => 0,
+ linktext => gettext("Discussion"),
+ ));
}
# Remove broken parentlink to ./index.html on home page's translations.
# It works because this hook has the "last" parameter set, to ensure it
my $page=shift;
my $destpage=shift;
- return ( exists $filtered{$page}{$destpage}
- && $filtered{$page}{$destpage} eq 1 );
+ return exists $filtered{$page}{$destpage}
+ && $filtered{$page}{$destpage} eq 1;
}
sub setalreadyfiltered($$) {
my $file=shift;
return 0 unless defined $file;
- return 0 if (defined pagetype($file) && pagetype($file) eq 'po');
+ return 0 if defined pagetype($file) && pagetype($file) eq 'po';
return 0 if $file =~ /\.pot$/;
return 0 unless -e "$config{srcdir}/$file"; # underlay dirs may be read-only
return 1 if pagespec_match(pagename($file), $config{po_translatable_pages});
sub _istranslation ($) {
my $page=shift;
- $page='' unless (defined $page && length $page);
+ $page='' unless defined $page && length $page;
my $hasleadingslash = ($page=~s#^/##);
my $file=$pagesources{$page};
- return 0 unless (defined $file
+ return 0 unless defined $file
&& defined pagetype($file)
- && pagetype($file) eq 'po');
+ && pagetype($file) eq 'po';
return 0 if $file =~ /\.pot$/;
my ($masterpage, $lang) = ($page =~ /(.*)[.]([a-z]{2})$/);
- return 0 unless (defined $masterpage && defined $lang
+ return 0 unless defined $masterpage && defined $lang
&& length $masterpage && length $lang
&& defined $pagesources{$masterpage}
- && defined $config{po_slave_languages}{$lang});
+ && defined $config{po_slave_languages}{$lang};
return (maybe_add_leading_slash($masterpage, $hasleadingslash), $lang)
if istranslatable($masterpage);
sub islanguagecode ($) {
my $code=shift;
- return ($code =~ /^[a-z]{2}$/);
+ return $code =~ /^[a-z]{2}$/;
}
sub otherlanguage ($$) {
my $page=shift;
my %ret;
- return \%ret unless (istranslation($page) || istranslatable($page));
+ return \%ret unless istranslation($page) || istranslatable($page);
my $curlang=lang($page);
foreach my $lang
($config{po_master_language}{code}, keys %{$config{po_slave_languages}}) {
}
# ,----
-# | PageSpec's
+# | PageSpecs
# `----
package IkiWiki::PageSpec;
-use warnings;
-use strict;
-use IkiWiki 2.00;
sub match_istranslation ($;@) {
my $page=shift;
my $regexp=IkiWiki::glob2re($wanted);
my $lang=IkiWiki::Plugin::po::lang($page);
- if ($lang!~/^$regexp$/i) {
+ if ($lang !~ /^$regexp$/i) {
return IkiWiki::FailReason->new("file language is $lang, not $wanted");
}
else {