X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2FFS%2Fcust_bill.pm;h=802e2bfbde839dd3126d6a7fa1a69784abefd63b;hp=b2495338d96d05fcf9a530f78eef63c73f1d7c0a;hb=101cc49024f693a837e2ff74a89a300b7ecb8976;hpb=af723d02722d00c863ec4552627fe4ad77973d75 diff --git a/FS/FS/cust_bill.pm b/FS/FS/cust_bill.pm index b2495338d..802e2bfbd 100644 --- a/FS/FS/cust_bill.pm +++ b/FS/FS/cust_bill.pm @@ -6,6 +6,7 @@ use vars qw( $invoice_lines @buf ); #yuck use Date::Format; use Text::Template; use File::Temp 0.14; +use String::ShellQuote; use FS::UID qw( datasrc ); use FS::Record qw( qsearch qsearchs ); use FS::Misc qw( send_email ); @@ -682,7 +683,7 @@ sub _agent_invoice_from { sub _agent_plandata { my( $self, $option ) = @_; - my $cust_bill_event = qsearchs( 'part_bill_event', + my $part_bill_event = qsearchs( 'part_bill_event', { 'payby' => $self->cust_main->payby, 'plan' => 'send_agent', @@ -696,12 +697,13 @@ sub _agent_plandata { 'ORDER BY seconds LIMIT 1' ); - return '' unless $cust_bill_event; + return '' unless $part_bill_event; - if ( $cust_bill_event->plandata =~ /^$option (.*)$/m ) { + if ( $part_bill_event->plandata =~ /^$option (.*)$/m ) { return $1; } else { - warn "can't parse plandata for $1"; + warn "can't parse part_bill_event eventpart#". $part_bill_event->eventpart. + " plandata for $option"; return ''; } @@ -1161,9 +1163,11 @@ sub print_ps { my $dir = $FS::UID::conf_dir. "cache.". $FS::UID::datasrc; chdir($dir); - system("pslatex $file.tex >/dev/null 2>&1") == 0 + my $sfile = shell_quote $file; + + system("pslatex $sfile.tex >/dev/null 2>&1") == 0 or die "pslatex $file.tex failed: $!"; - system("pslatex $file.tex >/dev/null 2>&1") == 0 + system("pslatex $sfile.tex >/dev/null 2>&1") == 0 or die "pslatex $file.tex failed: $!"; system('dvips', '-q', '-t', 'letter', "$file.dvi", '-o', "$file.ps" ) == 0 @@ -1208,15 +1212,17 @@ sub print_pdf { #system('pdflatex', "$file.tex"); #! LaTeX Error: Unknown graphics extension: .eps. - system("pslatex $file.tex >/dev/null 2>&1") == 0 + my $sfile = shell_quote $file; + + system("pslatex $sfile.tex >/dev/null 2>&1") == 0 or die "pslatex $file.tex failed: $!"; - system("pslatex $file.tex >/dev/null 2>&1") == 0 + system("pslatex $sfile.tex >/dev/null 2>&1") == 0 or die "pslatex $file.tex failed: $!"; #system('dvipdf', "$file.dvi", "$file.pdf" ); system( - "dvips -q -t letter -f $file.dvi ". - "| gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=$file.pdf ". + "dvips -q -t letter -f $sfile.dvi ". + "| gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=$sfile.pdf ". " -c save pop -" ) == 0 or die "dvips | gs failed: $!";