#!/usr/bin/perl use strict; use warnings; use POSIX; use Storable; use lib './lib'; use Packages::CommonCode qw(:all); use Packages::Config qw( $TOPDIR $DBDIR @ARCHIVES @SUITES @LANGUAGES ); use Packages::Template; use Packages::I18N::Locale; use Packages::Sections; &Packages::Config::init( './' ); my $wwwdir = "$TOPDIR/www"; my $subsections = retrieve "$DBDIR/subsections.info"; #use Data::Dumper; #print STDERR Dumper($sections, $subsections, $priorities); my (%pages); my $template = new Packages::Template( "$TOPDIR/templates", 'html'); print "write suite index files ...\n"; foreach my $s (@SUITES) { my $key = $s; mkdirp ( "$wwwdir/$key" ); mkdirp ( "$wwwdir/source/$key" ); foreach my $lang (@LANGUAGES) { my $charset = 'UTF-8'; my $cat = Packages::I18N::Locale->get_handle($lang) or die "get_handle failed for $lang"; print "writing $key/index (lang=$lang)...\n"; my %content = ( subsections => [], suite => $s, po_lang => $lang, ddtp_lang => $lang, charset => $charset, cat => $cat, used_langs => \@LANGUAGES, suites => \@SUITES ); foreach my $ssec (sort (keys %{$subsections->{$s}}, 'virtual')) { next if $ssec eq '-'; if ($sections_descs{$ssec}) { push @{$content{subsections}}, { id => $ssec, name => $cat->g($sections_descs{$ssec}[0]), desc => $cat->g($sections_descs{$ssec}[1]), }; } } $template->page( 'suite_index', \%content, "$wwwdir/$key/index.$lang.html.new"); activate( "$wwwdir/$key/index.$lang.html" ); $content{source} = 'source'; $template->page( 'suite_index', \%content, "$wwwdir/source/$key/index.$lang.html.new"); activate( "$wwwdir/source/$key/index.$lang.html" ); } }