diff options
author | ivan <ivan> | 2004-05-26 11:11:12 +0000 |
---|---|---|
committer | ivan <ivan> | 2004-05-26 11:11:12 +0000 |
commit | 0765c82e06ac81519c92ca476e783c2dc8fcfd3f (patch) | |
tree | 97483544d050543781a32b145ddc2880f3bc2b86 | |
parent | 4c480e0ef1029d4c29ebb02b05dd7b2e285b7163 (diff) |
use File::Temp for filenames and store the temp files in cache.datasrc instead of /tmp
-rw-r--r-- | FS/FS/cust_bill.pm | 27 |
1 files changed, 17 insertions, 10 deletions
diff --git a/FS/FS/cust_bill.pm b/FS/FS/cust_bill.pm index 61cc22922..d3f8ddaad 100644 --- a/FS/FS/cust_bill.pm +++ b/FS/FS/cust_bill.pm @@ -13,6 +13,7 @@ use Date::Format; use Mail::Internet 1.44; use Mail::Header; use Text::Template; +use File::Temp; use FS::UID qw( datasrc ); use FS::Record qw( qsearch qsearchs ); use FS::cust_main; @@ -1505,17 +1506,17 @@ sub print_latex { $var; } - my $dir = '/tmp'; #! /usr/local/etc/freeside/invoices.datasrc/ - my $unique = int(rand(2**31)); #UGH... use File::Temp or something + my $dir = $FS::UID::conf_dir. "cache.". $FS::UID::datasrc; + my $fh = new File::Temp( TEMPLATE => 'invoice.'. $self->invnum. '.XXXXXXXX', + DIR => $dir + SUFFIX => '.tex', + UNLINK => 0, + ) or die "can't open temp file: $!\n"; + print $fh join("\n", @filled_in ), "\n"; + close $fh; - chdir($dir); - my $file = $self->invnum. ".$unique"; - - open(TEX,">$file.tex") or die "can't open $file.tex: $!\n"; - print TEX join("\n", @filled_in ), "\n"; - close TEX; - - return $file; + $fh->filename =~ /^(.*).tex$/ or die "unparsable filename: ". $fh->filename; + return $1; } @@ -1535,6 +1536,9 @@ sub print_ps { my $file = $self->print_latex(@_); + my $dir = $FS::UID::conf_dir. "cache.". $FS::UID::datasrc; + chdir($dir); + system("pslatex $file.tex >/dev/null 2>&1") == 0 or die "pslatex failed: $!"; system("pslatex $file.tex >/dev/null 2>&1") == 0 @@ -1575,6 +1579,9 @@ sub print_pdf { my $file = $self->print_latex(@_); + my $dir = $FS::UID::conf_dir. "cache.". $FS::UID::datasrc; + chdir($dir); + #system('pdflatex', "$file.tex"); #system('pdflatex', "$file.tex"); #! LaTeX Error: Unknown graphics extension: .eps. |