X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FTemplate%2FSimple.pm;h=c525dabe49e1db83fcc9e6c641ed3be080027c2e;hb=5e96049428deceda2ef857930bbf67311deccbcb;hp=926ef1f7f95347abaef79354467d3fe6601541fa;hpb=c0abdaa624bce372518dfd30fd1a9b68d5251f72;p=kivitendo-erp.git diff --git a/SL/Template/Simple.pm b/SL/Template/Simple.pm index 926ef1f7f..c525dabe4 100644 --- a/SL/Template/Simple.pm +++ b/SL/Template/Simple.pm @@ -30,12 +30,16 @@ sub new { } sub _init { - my $self = shift; + my ($self, %params) = @_; + + $params{myconfig} ||= \%::myconfig; + $params{userspath} ||= $::lx_office_conf{paths}->{userspath}; - $self->{source} = shift; - $self->{form} = shift; - $self->{myconfig} = shift; - $self->{userspath} = shift; + $self->{$_} = $params{$_} for keys %params; + + $self->{variable_content_types} ||= {}; + $self->{variable_content_types}->{$_} = lc $self->{variable_content_types}->{$_} for keys %{ $self->{variable_content_types} }; + $self->{default_variable_content_type} = 'text'; $self->{error} = undef; $self->{quot_re} = '"'; @@ -48,6 +52,7 @@ sub set_tag_style { my $tag_start = shift; my $tag_end = shift; + $self->{custom_tag_style} = 1; $self->{tag_start} = $tag_start; $self->{tag_end} = $tag_end; $self->{tag_start_qm} = quotemeta $tag_start; @@ -56,6 +61,13 @@ sub set_tag_style { $self->{substitute_vars_re} = "$self->{tag_start_qm}(.+?)$self->{tag_end_qm}"; } +sub set_use_template_toolkit { + my $self = shift; + my $value = shift; + + $self->{use_template_toolkit} = $value; +} + sub cleanup { my ($self) = @_; } @@ -130,7 +142,7 @@ sub substitute_vars { my $value = $self->_get_loop_variable($var, 0, @indices); $value = $form->parse_amount({ numberformat => $::myconfig{output_numberformat} || $::myconfig{numberformat} }, $value) if $options{NOFORMAT}; - $value = $self->format_string($value) unless $options{NOESCAPE}; + $value = $self->format_string($value, $var) unless $options{NOESCAPE}; substr($text, $tag_pos, $tag_len, $value); }