X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=reporting%2Fincludes%2Fpdf_report.inc;h=af7ba6cc6f51dafae4c98be5d0a317e34a2a36e7;hb=c31829537f02787dd94654820dd74168c054b8c4;hp=8c5d5727d42d1d6e11b41f327451c2369c39f1de;hpb=ad96cd0abbfd826592b851b8e0cb6d89e450fdf4;p=fa-stable.git diff --git a/reporting/includes/pdf_report.inc b/reporting/includes/pdf_report.inc index 8c5d5727..af7ba6cc 100644 --- a/reporting/includes/pdf_report.inc +++ b/reporting/includes/pdf_report.inc @@ -9,8 +9,6 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License here . ***********************************************************************/ -/* $Revision$ */ -$page_security = 8; //include_once($path_to_root . "reporting/includes/class.pdf.inc"); include_once(dirname(__FILE__)."/class.pdf.inc"); include_once(dirname(__FILE__)."/printer_class.inc"); @@ -52,9 +50,16 @@ class FrontReport extends Cpdf function FrontReport($title, $filename, $size = 'A4', $fontsize = 9) { + global $page_security; + if (!$_SESSION["wa_current_user"]->can_access_page($page_security)) + { + display_error(_("The security settings on your account do not permit you to print this report")); + end_page(); + exit; + } switch ($size) { - + default: case 'A4': case 'a4': $this->pageWidth=595; @@ -204,6 +209,8 @@ class FrontReport extends Cpdf $str = _("Print Out Date") . ':'; $this->Text($this->leftMargin, $str, $this->titleCol); $str = Today() . ' ' . Now(); + if ($this->company['time_zone']) + $str .= ' ' . date('O') . ' GMT'; $this->Text($this->titleCol, $str, $this->companyCol); $this->Text($this->companyCol, $this->host); @@ -265,7 +272,7 @@ class FrontReport extends Cpdf if ($this->pageNumber > 1) $this->newPage(); $header2type = true; - if ($this->currency != $myrow['curr_code']) + if (isset($myrow['curr_code']) && $this->currency != $myrow['curr_code']) { include($path_to_root . "/reporting/includes/doctext2.inc"); } @@ -406,7 +413,10 @@ class FrontReport extends Cpdf } // do not use standard filenames or your sensitive company data // are world readable - $fname = $dir.'/'.uniqid('').'.pdf'; + if ($email == 1) + $fname = $dir.'/'.$this->filename; + else + $fname = $dir.'/'.uniqid('').'.pdf'; $this->Output($fname, 'F'); if ($email == 1) { @@ -419,13 +429,14 @@ class FrontReport extends Cpdf { include("doctext.inc"); } - require_once($path_to_root . "reporting/includes/class.mail.inc"); + require_once($path_to_root . "/reporting/includes/class.mail.inc"); $mail = new email($this->company['coy_name'], $this->company['email']); - $from = $this->company['coy_name'] . " <" . $this->company['email'] . ">"; + if (!isset($myrow['email']) || $myrow['email'] == '') + $myrow['email'] = $myrow['contact_email']; $to = $myrow['DebtorName'] . " <" . $myrow['email'] . ">"; - $msg = $doc_Dear_Sirs . ",\n\n" . $doc_AttachedFile . " " . $subject . + $msg = $doc_Dear_Sirs . " " . $myrow['DebtorName'] . ",\n\n" . $doc_AttachedFile . " " . $subject . "\n\n"; - if ($myrow['dimension_id'] > 0 && $doctype == 10) // helper for payment links + if (isset($myrow['dimension_id']) && $myrow['dimension_id'] > 0 && $doctype == 10) // helper for payment links { if ($myrow['dimension_id'] == 1) { @@ -438,33 +449,18 @@ class FrontReport extends Cpdf } } $msg .= $doc_Kindest_regards . "\n\n"; - $sender = $this->user . "\n" . $this->company['coy_name']; + $sender = $this->user . "\n" . $this->company['coy_name'] . "\n" . $this->company['postal_address'] . "\n" . $this->company['email'] . "\n" . $this->company['phone']; $mail->to($to); $mail->subject($subject); $mail->text($msg . $sender); $mail->attachment($fname); $ret = $mail->send(); - if (1 == 1) // just for fun and for debugging purposes!! - { - $from = str_replace("<", "(", $from); - $from = str_replace(">", ")", $from); - $to = str_replace("<", "(", $to); - $to = str_replace(">", ")", $to); - $msg2 = "
From: " . $from; - $msg2 .= "
To: " . $to; - $msg2 .= "
Subject: " . $subject; - $msg2 .= "
Msg: " . nl2br($msg); - $msg2 .= nl2br($sender) . "
"; - $msg2 .= "
Filepath: " . $fname . "
Filename: " . $this->filename . "
"; - } - if ($ret) - $str = "
" . $this->title . " " . $myrow['reference'] . " " . _("sent to") . " "; - else - $str = "
" . $this->title . " " . $myrow['reference'] . " " . _("NOT sent to") . " "; - $msg2 .= $str . $myrow['DebtorName'] . " - " . $myrow['email']; - echo ""; - echo $msg2; - echo ""; + if (!$ret) + display_error(_("Sending document by email failed")); + else + display_notification($this->title . " " . $myrow['reference'] . " " + . _("has been sent by email.")); + unlink($fname); } else { @@ -493,6 +489,7 @@ class FrontReport extends Cpdf header('Expires: 0'); header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); header('Pragma: public'); + $this->Stream(); } } else { // send report to network printer