my $sections = retrieve "$DBDIR/sections.info";
my $subsections = retrieve "$DBDIR/subsections.info";
-# work around problems with non-US security updates
-$subsections->{oldstable}{us}{'non-US'}++;
my $priorities = retrieve "$DBDIR/priorities.info";
#use Data::Dumper;
#print STDERR Dumper($sections, $subsections, $priorities);
-my (%pages);
+my (%pages, %tt_vars);
-my $template = new Packages::Template( "$TOPDIR/templates", 'html', {} );
+$tt_vars{make_search_url} = sub { return &Packages::CGI::make_search_url(@_) };
+$tt_vars{make_url} = sub { return &Packages::CGI::make_url(@_) };
+# needed to work around the limitations of the the FILTER syntax
+$tt_vars{html_encode} = sub { return HTML::Entities::encode_entities(@_,'<>&"') };
+$tt_vars{uri_escape} = sub { return URI::Escape::uri_escape(@_) };
+$tt_vars{quotemeta} = sub { return quotemeta($_[0]) };
+
+my $template = new Packages::Template( "$TOPDIR/templates", 'html', \%tt_vars );
print "write suite index files ...\n";
foreach my $s (@SUITES) {
mkpath ( "$wwwdir/source/$key" );
foreach my $lang (@LANGUAGES) {
my $locale = get_locale( $lang );
- my $charset = get_locale( $lang );
+ my $charset = get_charset( $lang );
setlocale ( LC_ALL, $locale ) or do {
warn "couldn't set locale ($lang/$locale)\n";
next;
my %content = ( subsections => [], suite => $s,
lang => $lang, charset => $charset,
- suites => \@SUITES );
- $content{make_search_url} = sub { return &Packages::CGI::make_search_url(@_) };
- $content{make_url} = sub { return &Packages::CGI::make_url(@_) };
- # needed to work around the limitations of the the FILTER syntax
- $content{html_encode} = sub { return HTML::Entities::encode_entities(@_,'<>&"') };
- $content{uri_escape} = sub { return URI::Escape::uri_escape(@_) };
- $content{quotemeta} = sub { return quotemeta($_[0]) };
-
+ used_langs => \@LANGUAGES, suites => \@SUITES );
foreach my $ssec ((keys %{$subsections->{$s}}, 'virtual')) {
next if $ssec eq '-';
if ($sections_descs{$ssec}) {
open $pages{$key}{$lang}{index}{fh}, '>', "$wwwdir/$key/index.$lang.html.new"
or die "can't open index file for output: $!";
print {$pages{$key}{$lang}{index}{fh}} $template->page( 'suite_index', \%content );
- print {$pages{$key}{$lang}{index}{fh}} $template->trailer( 'index', $lang, \@LANGUAGES );
close $pages{$key}{$lang}{index}{fh} or
warn "can't close index file $wwwdir/$key/index.$lang.html.new: $!";
rename( "$wwwdir/$key/index.$lang.html.new",
open $pages{$key}{$lang}{source_index}{fh}, '>', "$wwwdir/source/$key/index.$lang.html.new"
or die "can't open index file for output: $!";
print {$pages{$key}{$lang}{source_index}{fh}} $template->page( 'suite_index', \%content );
- print {$pages{$key}{$lang}{source_index}{fh}} $template->trailer( 'index', $lang, \@LANGUAGES );
close $pages{$key}{$lang}{source_index}{fh} or
warn "can't close index file $wwwdir/source/$key/index.$lang.html.new: $!";
rename( "$wwwdir/source/$key/index.$lang.html.new",