projects
/
kivitendo-erp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Spool-Dateien: Handling vom wiederholten Spoolen desselben Beleges gefixt
[kivitendo-erp.git]
/
SL
/
Template
/
LaTeX.pm
diff --git
a/SL/Template/LaTeX.pm
b/SL/Template/LaTeX.pm
index
b70e152
..
a862431
100644
(file)
--- a/
SL/Template/LaTeX.pm
+++ b/
SL/Template/LaTeX.pm
@@
-5,6
+5,7
@@
use parent qw(SL::Template::Simple);
use strict;
use Cwd;
use strict;
use Cwd;
+use Unicode::Normalize qw();
sub new {
my $type = shift;
sub new {
my $type = shift;
@@
-62,6
+63,7
@@
sub parse_foreach {
$form->{"__odd__"} = (($i + 1) % 2) == 1;
$form->{"__counter__"} = $i + 1;
$form->{"__odd__"} = (($i + 1) % 2) == 1;
$form->{"__counter__"} = $i + 1;
+ #everything from here to the next marker should be removed after the release of 2.7.0
if ( ref $description_array eq 'ARRAY'
&& scalar @{$description_array} == scalar @{$ary}
&& $self->{"chars_per_line"} != 0)
if ( ref $description_array eq 'ARRAY'
&& scalar @{$description_array} == scalar @{$ary}
&& $self->{"chars_per_line"} != 0)
@@
-102,6
+104,7
@@
sub parse_foreach {
}
$current_line += $lines;
}
}
$current_line += $lines;
}
+ #stop removing code here.
if ( ref $linetotal_array eq 'ARRAY'
&& $i < scalar(@{$linetotal_array})) {
if ( ref $linetotal_array eq 'ARRAY'
&& $i < scalar(@{$linetotal_array})) {
@@
-353,8
+356,13
@@
sub parse {
return 0;
}
return 0;
}
- binmode OUT, ":utf8" if $::locale->is_utf8;
- print(OUT $new_contents);
+ if ($::locale->is_utf8) {
+ binmode OUT, ":utf8";
+ print OUT Unicode::Normalize::normalize('C', $new_contents);
+
+ } else {
+ print OUT $new_contents;
+ }
if ($form->{"format"} =~ /postscript/i) {
return $self->convert_to_postscript();
if ($form->{"format"} =~ /postscript/i) {
return $self->convert_to_postscript();
@@
-381,15
+389,17
@@
sub convert_to_postscript {
my $latex = $self->_get_latex_path();
my $old_home = $ENV{HOME};
my $latex = $self->_get_latex_path();
my $old_home = $ENV{HOME};
- $ENV{HOME} = $userspath =~ m|^/| ? $userspath : getcwd() . "/" . $userspath;
+ my $old_openin_any = $ENV{openin_any};
+ $ENV{HOME} = $userspath =~ m|^/| ? $userspath : getcwd();
+ $ENV{openin_any} = "p";
for (my $run = 1; $run <= 2; $run++) {
system("${latex} --interaction=nonstopmode $form->{tmpfile} " .
"> $form->{tmpfile}.err");
if ($?) {
$ENV{HOME} = $old_home;
for (my $run = 1; $run <= 2; $run++) {
system("${latex} --interaction=nonstopmode $form->{tmpfile} " .
"> $form->{tmpfile}.err");
if ($?) {
$ENV{HOME} = $old_home;
- $
self->{"error"} = $form->cleanup()
;
- $self->
cleanup(
);
+ $
ENV{openin_any} = $old_openin_any
;
+ $self->
{"error"} = $form->cleanup($latex
);
return 0;
}
}
return 0;
}
}
@@
-398,10
+408,11
@@
sub convert_to_postscript {
system("dvips $form->{tmpfile} -o -q > /dev/null");
$ENV{HOME} = $old_home;
system("dvips $form->{tmpfile} -o -q > /dev/null");
$ENV{HOME} = $old_home;
+ $ENV{openin_any} = $old_openin_any;
if ($?) {
$self->{"error"} = "dvips : $!";
if ($?) {
$self->{"error"} = "dvips : $!";
- $self->cleanup();
+ $self->cleanup(
'dvips'
);
return 0;
}
$form->{tmpfile} =~ s/dvi$/ps/;
return 0;
}
$form->{tmpfile} =~ s/dvi$/ps/;
@@
-427,20
+438,23
@@
sub convert_to_pdf {
my $latex = $self->_get_latex_path();
my $old_home = $ENV{HOME};
my $latex = $self->_get_latex_path();
my $old_home = $ENV{HOME};
- $ENV{HOME} = $userspath =~ m|^/| ? $userspath : getcwd() . "/" . $userspath;
+ my $old_openin_any = $ENV{openin_any};
+ $ENV{HOME} = $userspath =~ m|^/| ? $userspath : getcwd();
+ $ENV{openin_any} = "p";
for (my $run = 1; $run <= 2; $run++) {
system("${latex} --interaction=nonstopmode $form->{tmpfile} " .
"> $form->{tmpfile}.err");
if ($?) {
for (my $run = 1; $run <= 2; $run++) {
system("${latex} --interaction=nonstopmode $form->{tmpfile} " .
"> $form->{tmpfile}.err");
if ($?) {
- $ENV{HOME} = $old_home;
- $
self->{"error"} = $form->cleanup()
;
- $self->
cleanup(
);
+ $ENV{HOME}
= $old_home;
+ $
ENV{openin_any} = $old_openin_any
;
+ $self->
{error} = $form->cleanup($latex
);
return 0;
}
}
$ENV{HOME} = $old_home;
return 0;
}
}
$ENV{HOME} = $old_home;
+ $ENV{openin_any} = $old_openin_any;
$form->{tmpfile} =~ s/tex$/pdf/;
$self->cleanup();
$form->{tmpfile} =~ s/tex$/pdf/;
$self->cleanup();