From 6966df3f27be9638976f4ba3767ef69e432f4381 Mon Sep 17 00:00:00 2001 From: Joe Hunt Date: Tue, 19 Aug 2008 14:23:23 +0000 Subject: [PATCH] Optimized the textwraplines in pdf_report.inc and header2.inc --- CHANGELOG.txt | 5 +++++ reporting/includes/header2.inc | 35 ++++++------------------------- reporting/includes/pdf_report.inc | 10 +++++++-- 3 files changed, 19 insertions(+), 31 deletions(-) diff --git a/CHANGELOG.txt b/CHANGELOG.txt index d205269d..b3b26f8f 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -19,6 +19,11 @@ Legend: ! -> Note $ -> Affected files +19-Aut-2008 Joe Hunt +! Optimized the textwraplines in pdf_report.inc and header2.inc + /reporting/includes/pdf_report.inc + /reporting/includes/header2.inc (This is important to download too!) + 19-Aug-2008 Joe Hunt ! Replacing the PDF Engine with a slightly modified TCPDF $ /reporting/fonts/helvetica*.php (new php files) diff --git a/reporting/includes/header2.inc b/reporting/includes/header2.inc index 31b0ad23..84d93e1e 100644 --- a/reporting/includes/header2.inc +++ b/reporting/includes/header2.inc @@ -84,7 +84,6 @@ if ($doctype == 9) { $this->Text($ccol, $myrow['name'], $icol); - $adr = array(); } else { @@ -92,12 +91,8 @@ $this->Text($ccol, $myrow['supp_name'], $icol); else $this->Text($ccol, $myrow['DebtorName'], $icol); - $adr = explode("\n", $myrow['address']); - } - for ($i = 0; $i < count($adr); $i++) - { $this->NewLine(); - $this->Text($ccol, $adr[$i], $icol); + $this->TextWrapLines($ccol, $icol - $ccol, $myrow['address']); } if ($sales_order != NULL) { @@ -106,12 +101,8 @@ $this->Text($mcol, $this->company['coy_name']); else $this->Text($mcol, $sales_order['deliver_to']); - $adr = explode("\n", $sales_order['delivery_address']); - for ($i = 0; $i < count($adr); $i++) - { - $this->NewLine(); - $this->Text($mcol, $adr[$i]); - } + $this->NewLine(); + $this->TextWrapLines($mcol, $this->rightMargin - $mcol, $sales_order['delivery_address']); } $this->row = $iline2 - 2 * $this->lineHeight; $this->Text($ccol, $doc_Shipping_Company . ":", $ccol2); @@ -212,13 +203,7 @@ $this->fontSize += 4; $this->NewLine(); $adrline = $this->row; - - $adr = explode("\n", $this->company['postal_address']); - for ($i = 0; $i < count($adr); $i++) - { - $this->Text($ccol, $adr[$i], $ccol2 + 40); - $this->NewLine(); - } + $this->TextWrapLines($ccol, $ccol2 + 40 - $ccol, $this->company['postal_address']); $this->row = $adrline; $this->Text($ccol2 + 30, $this->company['phone'], $mcol); $this->NewLine(); @@ -229,16 +214,8 @@ $this->row = $adrline; if (isset($bankaccount['bank_name'])) $this->Text($mcol, $bankaccount['bank_name'], $mcol2); - if (isset($bankaccount['bank_address'])) - $adr = explode("\n", $bankaccount['bank_address']); - else - $adr = array(); - for ($i = 0; $i < count($adr); $i++) - { - $this->NewLine(); - $this->Text($mcol, $adr[$i], $mcol2); - } - + $this->NewLine(); + $this->TextWrapLines($mcol, $mcol2 - $mcol, $bankaccount['bank_address']); $this->row = $adrline; if (isset($bankaccount['bank_account_name'])) $this->Text($mcol2, $bankaccount['bank_account_name']); diff --git a/reporting/includes/pdf_report.inc b/reporting/includes/pdf_report.inc index 9b0c9d45..744e92bf 100644 --- a/reporting/includes/pdf_report.inc +++ b/reporting/includes/pdf_report.inc @@ -314,7 +314,13 @@ class FrontReport extends Cpdf return $this->TextWrap($this->cols2[$c], $this->row - $r, $this->cols2[$n] - $this->cols2[$c] + $corr, $txt, $this->aligns2[$c]); } - function TextColLines($c, $n, $txt, $corr=0) + function TextColLines($c, $n, $txt, $corr=0, $r=0) + { + $this->row -= $r; + $this->TextWrapLines($this->cols[$c], $this->cols[$n] - $this->cols[$c] + $corr, $txt, $this->aligns[$c]); + } + + function TextWrapLines($c, $width, $txt, $align='left') { $str = Explode("\n", $txt); for ($i = 0; $i < count($str); $i++) @@ -322,7 +328,7 @@ class FrontReport extends Cpdf $l = $str[$i]; do { - $l = $this->TextCol($c, $n, $l, $corr); + $l = $this->TextWrap($c, $this->row , $width, $l, $align); $this->NewLine(); } while ($l != ''); -- 2.30.2