package SL::ReportGenerator;
+#use strict;
+
use Encode;
use IO::Wrap;
use List::Util qw(max);
use Text::CSV_XS;
use Text::Iconv;
+#use PDF::API2; # these two eat up to .75s on startup. only load them if we actually need them
+#use PDF::Table;
use SL::Form;
my $allow_pdf_export = $opts->{allow_pdf_export};
- eval { require PDF::API2; require PDF::Table; };
- $allow_pdf_export |= 1 if (! $@);
-
my $variables = {
'TITLE' => $opts->{title},
'TOP_INFO_TEXT' => $self->html_format($opts->{top_info_text}),
my $self = shift;
my $variables = $self->prepare_html_content();
- $main::lxdebug->dump(0, "VARs", $variables->{HEADER_ROWS});
-
return $self->{form}->parse_html_template($self->{options}->{html_template}, $variables);
}
my $font_encoding = $main::dbcharset || 'ISO-8859-15';
$self->{text_is_utf8} = $font_encoding =~ m/^utf-?8$/i;
- foreach $name (@visible_columns) {
+ foreach my $name (@visible_columns) {
push @column_props, { 'justify' => $self->{columns}->{$name}->{align} eq 'right' ? 'right' : 'left' };
}
push @data, $data_row;
push @cell_props, $cell_props_row;
- foreach $name (@visible_columns) {
- $column = $self->{columns}->{$name};
+ foreach my $name (@visible_columns) {
+ my $column = $self->{columns}->{$name};
push @{ $data_row }, $self->_decode_text($column->{text});
push @{ $cell_props_row }, {};
=item allow_pdf_export
-Used to determine if a button for PDF export should be displayed. Default is yes. The PDF button is hidden if neither the Perl module PDF::API2 nor the external applications html2ps and Ghostscript are available regardless of this parameter's value.
+Used to determine if a button for PDF export should be displayed. Default is yes.
=item allow_csv_export