X-Git-Url: https://git.deb.at/w?a=blobdiff_plain;f=cgi-bin%2Fdispatcher.pl;h=b4374cbe99d56df4bec424dc6b589e4c416f1985;hb=49052885778c856da9b93a5f2f9e8877a827c3c5;hp=4b413d71d99fb4bd85ce45e67728aa230f4acb8d;hpb=e595f3c41afd93472c0cef7a259c9be65912f9fb;p=deb%2Fpackages.git diff --git a/cgi-bin/dispatcher.pl b/cgi-bin/dispatcher.pl index 4b413d7..b4374cb 100755 --- a/cgi-bin/dispatcher.pl +++ b/cgi-bin/dispatcher.pl @@ -25,7 +25,7 @@ use Locale::gettext; use Deb::Versions; use Packages::Config qw( $DBDIR $ROOT $TEMPLATEDIR $CACHEDIR @SUITES @SECTIONS @ARCHIVES @ARCHITECTURES @PRIORITIES - @LANGUAGES $LOCALES ); + @LANGUAGES @DDTP_LANGUAGES $LOCALES ); use Packages::CGI qw( :DEFAULT error get_all_messages ); use Packages::DB; use Packages::Search qw( :all ); @@ -75,9 +75,11 @@ my $homedir = dirname($ENV{SCRIPT_FILENAME}).'/../'; &Packages::DB::init(); my $acc = I18N::AcceptLanguage->new(); +my %all_langs = map { $_ => 1 } (@LANGUAGES, @DDTP_LANGUAGES); +my @all_langs = sort keys %all_langs; my $http_lang = $acc->accepts( $input->http("Accept-Language"), - \@LANGUAGES ) || 'en'; -debug( "LANGUAGES=@LANGUAGES header=". + \@all_langs ) || 'en'; +debug( "LANGUAGES=@all_langs header=". ($input->http("Accept-Language")||''). " http_lang=$http_lang", 2 ) if DEBUG; bindtextdomain ( 'pdo', $LOCALES ); @@ -297,11 +299,10 @@ unless (-e "$TEMPLATEDIR/$opts{format}/${what_to_do}.tmpl") { "406 requested format not available"); } -my (%html_header, %page_content); +my (%page_content); unless (@Packages::CGI::fatal_errors) { no strict 'refs'; - &{"do_$what_to_do"}( \%params, \%opts, \%html_header, - \%page_content ); + &{"do_$what_to_do"}( \%params, \%opts, \%page_content ); } $page_content{opts} = \%opts; @@ -318,7 +319,7 @@ $page_content{string2id} = sub { return &Packages::CGI::string2id(@_) }; unless (@Packages::CGI::fatal_errors) { print $input->header(-charset => $charset, -type => get_mime($opts{format}) ); #use Data::Dumper; - #print '
'.Dumper(\%ENV, \%html_header, \%page_content, get_all_messages()).'
'; + #print '
'.Dumper(\%ENV, \%page_content, get_all_messages()).'
'; print $template->page( $what_to_do, { %page_content, %{ get_all_messages() } } ); my $tet1 = new Benchmark; my $tetd = timediff($tet1, $tet0);