diff options
author | Gervase Markham <gerv@mozilla.org> | 2014-12-18 17:08:19 +0100 |
---|---|---|
committer | Gervase Markham <gerv@gerv.net> | 2014-12-18 17:08:19 +0100 |
commit | 323acaaecd742e195c718e696e3206c516ccda32 (patch) | |
tree | d2d2c2ee8b71c9d776fef5c83551be3af44c6870 /Bugzilla | |
parent | 1365815665b01b62e5085130eb3a690abf2aff24 (diff) | |
download | bugzilla-323acaaecd742e195c718e696e3206c516ccda32.tar.gz bugzilla-323acaaecd742e195c718e696e3206c516ccda32.tar.xz |
Bug 399068: Remove the docs_urlbase parameter. r=LpSolit, a=dkl.
Diffstat (limited to 'Bugzilla')
-rw-r--r-- | Bugzilla/Config/Common.pm | 13 | ||||
-rw-r--r-- | Bugzilla/Config/General.pm | 7 | ||||
-rw-r--r-- | Bugzilla/Template.pm | 36 |
3 files changed, 33 insertions, 23 deletions
diff --git a/Bugzilla/Config/Common.pm b/Bugzilla/Config/Common.pm index f7e37c6fc..b6e58b318 100644 --- a/Bugzilla/Config/Common.pm +++ b/Bugzilla/Config/Common.pm @@ -22,7 +22,7 @@ use Bugzilla::Status; use parent qw(Exporter); @Bugzilla::Config::Common::EXPORT = - qw(check_multi check_numeric check_regexp check_url check_group + qw(check_multi check_numeric check_regexp check_group check_sslbase check_priority check_severity check_platform check_opsys check_shadowdb check_urlbase check_user_verify_class check_ip check_mail_delivery_method check_notification check_utf8 @@ -211,15 +211,6 @@ sub check_urlbase { return ""; } -sub check_url { - my ($url) = (@_); - return '' if $url eq ''; # Allow empty URLs - if ($url !~ m:/$:) { - return 'must be a legal URL, absolute or relative, ending with a slash.'; - } - return ''; -} - sub check_user_verify_class { # doeditparams traverses the list of params, and for each one it checks, # then updates. This means that if one param checker wants to look at @@ -491,8 +482,6 @@ valid group is provided. =item check_smtp_auth -=item check_url - =item check_urlbase =item check_email diff --git a/Bugzilla/Config/General.pm b/Bugzilla/Config/General.pm index 5efaa6f6c..380680590 100644 --- a/Bugzilla/Config/General.pm +++ b/Bugzilla/Config/General.pm @@ -25,13 +25,6 @@ use constant get_param_list => ( }, { - name => 'docs_urlbase', - type => 't', - default => 'docs/%lang%/html/', - checker => \&check_url - }, - - { name => 'utf8', type => 'b', default => '0', diff --git a/Bugzilla/Template.pm b/Bugzilla/Template.pm index 2b068dc2c..066f9dc30 100644 --- a/Bugzilla/Template.pm +++ b/Bugzilla/Template.pm @@ -1028,10 +1028,38 @@ sub create { 'urlbase' => sub { return Bugzilla::Util::correct_urlbase(); }, # Allow templates to access docs url with users' preferred language - 'docs_urlbase' => sub { - my $language = Bugzilla->current_language; - my $docs_urlbase = Bugzilla->params->{'docs_urlbase'}; - $docs_urlbase =~ s/\%lang\%/$language/; + # We fall back to English if documentation in the preferred + # language is not available + 'docs_urlbase' => sub { + my $docs_urlbase; + my $lang = Bugzilla->current_language; + # Translations currently available on readthedocs.org + my @rtd_translations = ('en', 'fr'); + + if ($lang ne 'en' && -f "docs/$lang/html/index.html") { + $docs_urlbase = "docs/$lang/html/"; + } + elsif (-f "docs/en/html/index.html") { + $docs_urlbase = "docs/en/html/"; + } + else { + if (!grep { $_ eq $lang } @rtd_translations) { + $lang = "en"; + } + + my $version = BUGZILLA_VERSION; + $version =~ /^(\d+)\.(\d+)/; + if ($2 % 2 == 1) { + # second number is odd; development version + $version = 'latest'; + } + else { + $version = "$1.$2"; + } + + $docs_urlbase = "https://bugzilla.readthedocs.org/$lang/$version/"; + } + return $docs_urlbase; }, |