X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/kivitendo-erp.git/blobdiff_plain/5ada8632263f93bfaa78d9136cc815fbeee95ead..7b2d21f4b1f77c5de36a43f1a8a338c09caacc7b:/SL/Template.pm diff --git a/SL/Template.pm b/SL/Template.pm index f6afe692a..e6d7e1060 100644 --- a/SL/Template.pm +++ b/SL/Template.pm @@ -99,38 +99,7 @@ sub format_string { my ($self, $variable) = @_; my $form = $self->{"form"}; - my %replace = - ('order' => [quotemeta("\\"), - '', - '&', quotemeta("\n"), - '"', '\$', '%', '_', '#', quotemeta('^'), - '{', '}', '<', '>', '£', "\r", '±', '\xe1', - '²', '³', - - ], - quotemeta("\\") => '\\textbackslash ', - '' => '', - '"' => "''", - '&' => '\&', - '\$' => '\$', - '%' => '\%', - '_' => '\_', - '#' => '\#', - '{' => '\{', - '}' => '\}', - '<' => '$<$', - '>' => '$>$', - '£' => '\pounds ', - "\r" => "", - '±' => '$\pm$', - '\xe1' => '$\bullet$', - quotemeta('^') => '\^\\', - quotemeta("\n") => '\newline ', - '²' => '$^2$', - '³' => '$^3$', - ); - - map({ $variable =~ s/$_/$replace{$_}/g; } @{ $replace{"order"} }); + $variable = $main::locale->quote_special_chars('Template/LaTeX', $variable); # Allow some HTML markup to be converted into the output format's # corresponding markup code, e.g. bold or italic. @@ -503,7 +472,7 @@ sub convert_to_postscript { return 0; } - $form->{tmpfile} =~ s/$userspath\///g; + $form->{tmpfile} =~ s/\Q$userspath\E\///g; for (my $run = 1; $run <= 2; $run++) { system("latex --interaction=nonstopmode $form->{tmpfile} " . @@ -542,7 +511,7 @@ sub convert_to_pdf { return 0; } - $form->{tmpfile} =~ s/$userspath\///g; + $form->{tmpfile} =~ s/\Q$userspath\E\///g; for (my $run = 1; $run <= 2; $run++) { system("pdflatex --interaction=nonstopmode $form->{tmpfile} " . @@ -594,14 +563,7 @@ sub format_string { my ($self, $variable) = @_; my $form = $self->{"form"}; - my %replace = - ('order' => ['<', '>', quotemeta("\n")], - '<' => '<', - '>' => '>', - quotemeta("\n") => '
', - ); - - map({ $variable =~ s/$_/$replace{$_}/g; } @{ $replace{"order"} }); + $variable = $main::locale->quote_special_chars('Template/HTML', $variable); # Allow some HTML markup to be converted into the output format's # corresponding markup code, e.g. bold or italic. @@ -650,7 +612,7 @@ sub convert_to_postscript { return 0; } - $form->{"tmpfile"} =~ s/$userspath\///g; + $form->{"tmpfile"} =~ s/\Q$userspath\E\///g; my $psfile = $form->{"tmpfile"}; $psfile =~ s/.html/.ps/; if ($psfile eq $form->{"tmpfile"}) { @@ -683,7 +645,7 @@ sub convert_to_pdf { return 0; } - $form->{"tmpfile"} =~ s/$userspath\///g; + $form->{"tmpfile"} =~ s/\Q$userspath\E\///g; my $pdffile = $form->{"tmpfile"}; $pdffile =~ s/.html/.pdf/; if ($pdffile eq $form->{"tmpfile"}) { @@ -1342,21 +1304,7 @@ sub format_string { my $form = $self->{"form"}; my $iconv = $self->{"iconv"}; - my %replace = - ('order' => ['&', '<', '>', '"', "'", - '\x80', # Euro - quotemeta("\n"), quotemeta("\r")], - '<' => '<', - '>' => '>', - '"' => '"', - "'" => ''', - '&' => '&', - '\x80' => chr(0xa4), # Euro - quotemeta("\n") => '', - quotemeta("\r") => '', - ); - - map({ $variable =~ s/$_/$replace{$_}/g; } @{ $replace{"order"} }); + $variable = $main::locale->quote_special_chars('Template/OpenDocument', $variable); # Allow some HTML markup to be converted into the output format's # corresponding markup code, e.g. bold or italic. @@ -1366,7 +1314,7 @@ sub format_string { foreach my $key (keys(%markup_replace)) { my $value = $markup_replace{$key}; - $variable =~ s|\<${key}\>||gi; + $variable =~ s|\<${key}\>||gi; #" $variable =~ s|\</${key}\>||gi; } @@ -1409,14 +1357,7 @@ sub format_string { my ($self, $variable) = @_; my $form = $self->{"form"}; - my %replace = - ('order' => ['<', '>', quotemeta("\n")], - '<' => '<', - '>' => '>', - quotemeta("\n") => '
', - ); - - map({ $variable =~ s/$_/$replace{$_}/g; } @{ $replace{"order"} }); + $variable = $main::locale->quote_special_chars('Template/XML', $variable); # Allow no markup to be converted into the output format my @markup_replace = ('b', 'i', 's', 'u', 'sub', 'sup');