Commit 1d34c237 authored by lpsolit%gmail.com's avatar lpsolit%gmail.com

Bug 433282: Template hooks do not work if HTTP_ACCEPT_LANGUAGE doesn't match any…

Bug 433282: Template hooks do not work if HTTP_ACCEPT_LANGUAGE doesn't match any language available - Patch by Fré©ric Buclin <LpSolit@gmail.com> r/a=mkanat
parent 03ee2cb6
......@@ -26,7 +26,7 @@ package Bugzilla::Template::Plugin::Hook;
use strict;
use Bugzilla::Constants;
use Bugzilla::Install::Util;
use Bugzilla::Install::Util qw(include_languages);
use Bugzilla::Template;
use Bugzilla::Util;
use Bugzilla::Error;
......@@ -66,7 +66,7 @@ sub process {
# munge the filename to create the extension hook filename:
my $extensiontemplate = $subpath.'/'.$templatename.'-'.$hook_name.'.'.$type.'.tmpl';
my @extensions = glob(bz_locations()->{'extensionsdir'} . "/*");
my @usedlanguages = getLanguages();
my @usedlanguages = include_languages({use_languages => Bugzilla->languages});
foreach my $extension (@extensions) {
foreach my $language (@usedlanguages) {
my $file = $extension.'/template/'.$language.'/'.$extensiontemplate;
......@@ -104,27 +104,6 @@ sub process {
return $output;
}
# get a list of languages we accept so we can find the hook
# that corresponds to our desired languages:
sub getLanguages() {
my $languages = join(',', @{Bugzilla->languages});
if (not ($languages =~ /,/)) { # only one language
return $languages;
}
# XXX This should probably be re-worked so that we don't have to
# reach into the internals of another module to get languages.
my @languages = Bugzilla::Install::Util::_sort_accept_language($languages);
my @accept_language = Bugzilla::Install::Util::_sort_accept_language(
$ENV{'HTTP_ACCEPT_LANGUAGE'} || "" );
my @usedlanguages;
foreach my $lang (@accept_language) {
if(my @found = grep /^\Q$lang\E(-.+)?$/i, @languages) {
push (@usedlanguages, @found);
}
}
return @usedlanguages;
}
1;
__END__
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment