-sub print {
- $lxdebug->enter_sub();
-
- $auth->assert('cash');
-
- my ($whole, $check, %queued, $spool, $filename, $userspath);
-
- &check_form;
-
- ($whole, $form->{decimal}) = split(/\./, $form->{amount});
-
- $form->{amount} = $form->format_amount(\%myconfig, $form->{amount}, 2);
-
- #$form->{decimal} .= "00";
- $form->{decimal} = substr($form->{decimal}, 0, 2);
-
- $check = new CP $myconfig{countrycode};
- $check->init;
- $form->{text_amount} = $check->num2text($whole);
-
- if ($form->{vc} eq 'customer') {
- IS->customer_details(\%myconfig, $form);
- } else {
- IR->vendor_details(\%myconfig, $form);
- }
-
- $form->{callback} = "";
-
- $form->{templates} = "$myconfig{templates}";
- $form->{IN} = "$form->{formname}.tex";
-
- if ($form->{format} eq 'postscript') {
- $form->{postscript} = 1;
- }
- if ($form->{format} eq 'pdf') {
- $form->{pdf} = 1;
- }
-
- delete $form->{OUT};
-
- if ($form->{media} eq 'printer') {
- $form->{OUT} = "| $myconfig{printer}";
- }
- if ($form->{media} eq 'queue') {
- %queued = map { s|.*/|| } split / /, $form->{queued};
-
- if ($filename = $queued{ $form->{formname} }) {
- unlink "$spool/$filename";
- $filename =~ s/\..*$//g;
- } else {
- $filename = time;
- $filename .= $$;
- }
- $filename .= ($form->{postscript}) ? '.ps' : '.pdf';
- $form->{queued} = "$form->{formname} $filename";
- $form->{OUT} = ">$spool/$filename";
-
- $form->update_status(\%myconfig);
-
- }
-
- $form->{company} = $myconfig{company};
- $form->{address} = $myconfig{address};
-
- $form->parse_template(\%myconfig, $userspath);
-
- if ($form->{media} ne 'screen') {
- $form->{callback} = "cp.pl?action=payment&vc=$form->{vc}&all_vc=$form->{all_vc}";
-
- $form->redirect if (CP->process_payment(\%myconfig, \%$form));
- $form->error($locale->text('Cannot post payment!'));
- }
-
- $lxdebug->leave_sub();
-}
-