X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=reporting%2Fincludes%2Fpdf_report.inc;h=c8bd32550b1204d028fdf0305cf1ff34b2af6c35;hb=17b390efcf904072b02ec866b2a427490471a260;hp=20b96bd4dc117553f39c593fd8e85c50521b2d9a;hpb=0489317205141deaecefe3a7243d11a3e38a51d0;p=fa-stable.git diff --git a/reporting/includes/pdf_report.inc b/reporting/includes/pdf_report.inc index 20b96bd4..c8bd3255 100644 --- a/reporting/includes/pdf_report.inc +++ b/reporting/includes/pdf_report.inc @@ -20,6 +20,7 @@ */ include_once(dirname(__FILE__)."/class.pdf.inc"); include_once(dirname(__FILE__)."/printer_class.inc"); +include_once($path_to_root . "/reporting/includes/reporting.inc"); include_once($path_to_root . "/admin/db/company_db.inc"); include_once($path_to_root . "/admin/db/fiscalyears_db.inc"); include_once($path_to_root . "/admin/db/printers_db.inc"); @@ -253,12 +254,12 @@ class FrontReport extends Cpdf $cols2 = null, $headers2 = null, $aligns2 = null, $companylogoenable = false, $footerenable = false, $footertext = '') { - global $app_title, $version, $power_by, $power_url; + global $SysPrefs, $version; $this->addInfo('Title', $this->title); $this->addInfo('Subject', $this->title); - $this->addInfo('Author', $app_title . ' ' . $version); - $this->addInfo('Creator',$power_by . ' - ' . $power_url); + $this->addInfo('Author', $SysPrefs->app_title . ' ' . $version); + $this->addInfo('Creator',$SysPrefs->power_by . ' - ' . $SysPrefs->power_url); $year = get_current_fiscalyear(); if ($year['closed'] == 0) $how = _("Active"); @@ -423,14 +424,15 @@ class FrontReport extends Cpdf */ function Header2() { - global $path_to_root, $print_as_quote, - $print_invoice_no, $packing_slip, $dflt_lang; // FIXME should be passed as params + global $dflt_lang; // FIXME should be passed as params + $this->SetLang(@$this->formData['rep_lang'] ? $this->formData['rep_lang'] : $dflt_lang); $doctype = $this->formData['doctype']; $header2type = true; + $lang = user_language(); $this->SetLang(@$this->formData['rep_lang'] ? $this->formData['rep_lang'] - : ($_SESSION["wa_current_user"]->prefs->language ? $_SESSION["wa_current_user"]->prefs->language : $dflt_lang)); + : ( $lang ? $lang : $dflt_lang)); // leave layout files names without path to enable including // modified versions from company/x/reporting directory @@ -520,15 +522,14 @@ class FrontReport extends Cpdf $this->fontSize = HEADER1_FONT_SIZE; // Print company logo if present and requested, or else just print company name - if ($this->companyLogoEnable && ($this->company['coy_logo'] != '')) + // Build a string specifying the location of the company logo file + $logo = company_path() . "/images/" . $this->company['coy_logo']; + if ($this->companyLogoEnable && ($this->company['coy_logo'] != '') && file_exists($logo)) { - // Build a string specifying the location of the company logo file - $logo = company_path() . "/images/" . $this->company['coy_logo']; - // Width being zero means that the image will be scaled to the specified height // keeping its aspect ratio intact. if ($this->scaleLogoWidth) - $this->AddImage($logo, $companyCol, $this->row, COMPANY_WIDTH, 0); + $this->AddImage($logo, $companyCol, $this->row + 15, COMPANY_WIDTH, 0); else $this->AddImage($logo, $companyCol, $this->row - (LOGO_HEIGHT * LOGO_Y_POS_ADJ_FACTOR), 0, LOGO_HEIGHT); } @@ -946,21 +947,14 @@ class FrontReport extends Cpdf $this->{$this->headerTmpl}(); } - function recalculate_cols(&$cols) - { - $factor = (user_pagesize() == "A4" ? 1.4 : 1.3); - foreach($cols as $key => $col) - $cols[$key] = intval($col * $factor); - } - function End($email=0, $subject='') { - global $pdf_debug, $path_to_root; + global $SysPrefs, $path_to_root; - if ($pdf_debug == 1) + if ($SysPrefs->pdf_debug == 1) { $pdfcode = $this->Output('','S'); - $pdfcode = str_replace("\n", "\n
", htmlspecialchars($pdfcode)); + $pdfcode = str_replace("\n", "\n
", html_specials_encode($pdfcode)); echo ''; echo trim($pdfcode); echo ''; @@ -983,15 +977,21 @@ class FrontReport extends Cpdf if ($email == 1) { - if(!count($this->contactData)) { + $contactData = array(); + if ($this->contactData) + foreach($this->contactData as $contact) + if (!empty($contact['email'])) + $contactData[] = $contact; + + if(!count($contactData)) { $this->SetLang(user_language()); - display_error(_("You have no email contact defined for this type of document")); + display_warning(sprintf(_("You have no email contact defined for this type of document for '%s'."), $this->formData['recipient_name'])); } else { $sent = $try = 0; $emails = ""; if(!$subject) $subject = $this->formData['document_name'] . ' '. $this->formData['document_number']; - foreach($this->contactData as $contact) { + foreach($contactData as $contact) { if (!isset($contact['email'])) continue; $emailtype = true; @@ -1033,9 +1033,9 @@ class FrontReport extends Cpdf unlink($fname); $this->SetLang(user_language()); if (!$try) { - display_error(_("There is no contact email set for this document type.")); + display_warning(sprintf(_("You have no email contact defined for this type of document for '%s'."), $this->formData['recipient_name'])); } elseif (!$sent) - display_error($this->title . " " . $this->formData['document_number'] . ". " + display_warning($this->title . " " . $this->formData['document_number'] . ". " . _("Sending document by email failed") . ". " . _("Email:") . $emails); else display_notification($this->title . " " . $this->formData['document_number'] . " " @@ -1090,4 +1090,3 @@ class FrontReport extends Cpdf } } -?> \ No newline at end of file