#use Data::Dumper;
#print STDERR Dumper($sections, $subsections, $priorities);
-my (%pages, %tt_vars);
-
-$tt_vars{make_search_url} = sub { return &Packages::CGI::make_search_url(@_) };
-$tt_vars{make_url} = sub { return &Packages::CGI::make_url(@_) };
-$tt_vars{g} = sub { return &Packages::I18N::Locale::tt_gettext(@_) };
-# 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 );
-my $txt_template = new Packages::Template( "$TOPDIR/templates", 'txt', \%tt_vars );
+my (%pages);
+
+my $template = new Packages::Template( "$TOPDIR/templates", 'html');
+my $txt_template = new Packages::Template( "$TOPDIR/templates", 'txt');
print "write suite index files ...\n";
foreach my $s (@SUITES) {
my %content = ( vocabulary => \%voc,
facets => \@facets, tags => \@tags,
tags_by_facet => \%tags_by_facet );
-# 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]) };
-$content{string2id} = sub { return &Packages::CGI::string2id(@_) };
-
print TAGLST $template->page( 'tag_index', \%content );
close TAGLST or warn "Couldn't close tag list: $!";
use CGI;
use POSIX;
use File::Basename;
-use URI;
-use URI::Escape;
-use HTML::Entities;
use Template;
use DB_File;
+use URI::Escape;
use Benchmark ':hireswallclock';
use I18N::AcceptLanguage;
use Locale::gettext;
$page_content{opts} = \%opts;
$page_content{params} = \%params;
- $page_content{make_search_url} = sub { return &Packages::CGI::make_search_url(@_) };
- $page_content{make_url} = sub { return &Packages::CGI::make_url(@_) };
- $page_content{extract_host} = sub { my $uri = URI->new($_[0]);
- my $host = $uri->host;
- $host .= ':'.$uri->port if $uri->port != $uri->default_port;
- return $host;
- };
- $page_content{g} = sub { return &Packages::I18N::Locale::tt_gettext(@_) };
- # needed to work around the limitations of the the FILTER syntax
- $page_content{html_encode} = sub { return HTML::Entities::encode_entities(@_,'<>&"') };
- $page_content{uri_escape} = sub { return URI::Escape::uri_escape(@_) };
- $page_content{quotemeta} = sub { return quotemeta($_[0]) };
- $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;
use Template;
use Locale::gettext;
+use URI ();
+use HTML::Entities ();
+use URI::Escape ();
use Benchmark ':hireswallclock';
use Packages::CGI;
sub new {
my ($classname, $include, $format, $vars, $options) = @_;
+ $vars ||= {};
$options ||= {};
my $self = {};
year => $timestamp[5]+1900,
string => scalar gmtime() .' UTC',
};
+ $vars->{make_search_url} = sub { return &Packages::CGI::make_search_url(@_) };
+ $vars->{make_url} = sub { return &Packages::CGI::make_url(@_) };
+ $vars->{g} = sub { return &Packages::I18N::Locale::tt_gettext(@_) };
+ $vars->{extract_host} = sub { my $uri = URI->new($_[0]);
+ my $host = $uri->host;
+ $host .= ':'.$uri->port if $uri->port != $uri->default_port;
+ return $host;
+ };
+ # needed to work around the limitations of the the FILTER syntax
+ $vars->{html_encode} = sub { return HTML::Entities::encode_entities(@_,'<>&"') };
+ $vars->{uri_escape} = sub { return URI::Escape::uri_escape(@_) };
+ $vars->{quotemeta} = sub { return quotemeta($_[0]) };
+ $vars->{string2id} = sub { return &Packages::CGI::string2id(@_) };
$self->{template} = Template->new( {
PRE_PROCESS => [ 'config.tmpl' ],