Revision 9b0a9214
Von G. Richardson vor mehr als 12 Jahren hinzugefügt
bin/mozilla/io.pl | ||
---|---|---|
1535 | 1535 |
my %queued = map { s|.*/|| } split / /, $form->{queued}; |
1536 | 1536 |
|
1537 | 1537 |
my $filename; |
1538 |
my $suffix = ($form->{postscript}) ? '.ps' : '.pdf'; |
|
1538 | 1539 |
if ($filename = $queued{ $form->{formname} }) { |
1539 | 1540 |
$form->{queued} =~ s/\Q$form->{formname} $filename\E//; |
1540 | 1541 |
unlink $::lx_office_conf{paths}->{spool} . "/$filename"; |
1541 | 1542 |
$filename =~ s/\..*$//g; |
1543 |
$filename .= $suffix; |
|
1544 |
$form->{OUT} = $::lx_office_conf{paths}->{spool} . "/$filename"; |
|
1545 |
$form->{OUT_MODE} = '>'; |
|
1542 | 1546 |
} else { |
1543 |
$filename = time; |
|
1544 |
$filename .= $$; |
|
1547 |
my $temp_fh; |
|
1548 |
($temp_fh, $filename) = File::Temp::tempfile( |
|
1549 |
'kivitendo-spoolXXXXXX', |
|
1550 |
SUFFIX => "$suffix", |
|
1551 |
DIR => $::lx_office_conf{paths}->{spool}, |
|
1552 |
); |
|
1553 |
close $temp_fh; |
|
1554 |
$form->{OUT} = "$filename"; |
|
1555 |
# use >> for OUT_MODE because file is already created by File::Temp |
|
1556 |
$form->{OUT_MODE} = '>>'; |
|
1557 |
# strip directory so that only filename is stored in table status |
|
1558 |
($filename) = $filename =~ /^$::lx_office_conf{paths}->{spool}\/(.*)/; |
|
1545 | 1559 |
} |
1546 | 1560 |
|
1547 |
$filename .= ($form->{postscript}) ? '.ps' : '.pdf'; |
|
1548 |
$form->{OUT} = $::lx_office_conf{paths}->{spool} . "/$filename"; |
|
1549 |
$form->{OUT_MODE} = '>'; |
|
1550 |
|
|
1551 | 1561 |
# add type |
1552 | 1562 |
$form->{queued} .= " $form->{formname} $filename"; |
1553 |
|
|
1554 | 1563 |
$form->{queued} =~ s/^ //; |
1555 | 1564 |
} |
1556 | 1565 |
my $queued = $form->{queued}; |
Auch abrufbar als: Unified diff
Bug 1926 - Zufälliger Dateiname für PDF Spooldateien
Beim Erstellen der Spooldatei beim Warteschlangendruck den Dateinamen per
File::Temp::tempfile erstellen. Die bisherige Kombination aus time und PID hat
PDF-Dateien überschrieben, wenn zwei Spooldateien in der gleichen Sekunde
erstellt wurden.
Beispiel alter Spoolname: 134012447722563.pdf
Beispiel neuer Spoolname: kivitendo-spoolJKuGZM.pdf