aboutsummaryrefslogtreecommitdiff
path: root/classes/correspondence.class.php
diff options
context:
space:
mode:
Diffstat (limited to 'classes/correspondence.class.php')
-rw-r--r--classes/correspondence.class.php460
1 files changed, 230 insertions, 230 deletions
diff --git a/classes/correspondence.class.php b/classes/correspondence.class.php
index efe4c8d..979f4ee 100644
--- a/classes/correspondence.class.php
+++ b/classes/correspondence.class.php
@@ -27,239 +27,239 @@ require_once('fpdf.php');
* An extension of FPDF to generate personalized correspondence PDFs
*/
class correspondence extends FPDF {
- var $contact, $language;
-
- /**
- * If you'd want, you could change these constants to encode an RGB colour for headings in your PDFs
- */
- const HEAD_RED = 0;
- const HEAD_GREEN = 0;
- const HEAD_BLUE = 0;
+ var $contact, $language;
+
+ /**
+ * If you'd want, you could change these constants to encode an RGB colour for headings in your PDFs
+ */
+ const HEAD_RED = 0;
+ const HEAD_GREEN = 0;
+ const HEAD_BLUE = 0;
- /**
- * Array holding the translations
- *
- * @see _() A function to translate
- */
- protected static $translations = array(
- 'adres' => array(
- 'en' => 'Address',
- 'nl' => 'Adres'),
- 'amount' => array(
- 'en' => 'Amount',
- 'nl' => 'Subtotaal'),
- 'amount-due' => array(
- 'en' => 'Total amount due',
- 'nl' => 'Te voldoen'),
- 'biccode' => array(
- 'en' => 'The BIC code of our bank is %%.',
- 'nl' => 'De BIC-code van de bank is %%.'),
- 'btwnr' => array(
- 'en' => 'VAT nr',
- 'nl' => 'BTW nr'),
- 'description' => array(
- 'en' => 'Description',
- 'nl' => 'Omschrijving'),
- 'due-date' => array(
- 'en' => 'Due date',
- 'nl' => 'Vervaldatum'),
- 'email' => array(
- 'en' => 'Email',
- 'nl' => 'Email'),
- 'iban' => array(
- 'en' => 'IBAN',
- 'nl' => 'IBAN'),
- 'invoice' => array(
- 'en' => 'Invoice',
- 'nl' => 'Factuur'),
- 'invoice-date' => array(
- 'en' => 'Invoice date',
- 'nl' => 'Factuurdatum'),
- 'invoice-nr' => array(
- 'en' => 'Invoice number',
- 'nl' => 'Factuurnummer'),
- 'price-excl' => array(
- 'en' => 'Price excl.',
- 'nl' => 'Prijs excl.'),
- 'price-incl' => array(
- 'en' => 'Price incl.',
- 'nl' => 'Prijs incl.'),
- 'request' => array(
- 'en' => 'You are kindly requested to transfer the total amount before the due date to the provided IBAN nr.',
- 'nl' => 'U wordt vriendelijk verzocht het te voldoen bedrag voor de vervaldatum van de factuur over te maken naar opgegeven IBAN-nummer.'),
- 'tel-nr' => array(
- 'en' => 'Tel.',
- 'nl' => 'Tel.'),
- 'total' => array(
- 'en' => 'Total',
- 'nl' => 'Totaal'),
- 'vat' => array(
- 'en' => 'VAT',
- 'nl' => 'BTW'),
- );
+ /**
+ * Array holding the translations
+ *
+ * @see _() A function to translate
+ */
+ protected static $translations = array(
+ 'adres' => array(
+ 'en' => 'Address',
+ 'nl' => 'Adres'),
+ 'amount' => array(
+ 'en' => 'Amount',
+ 'nl' => 'Subtotaal'),
+ 'amount-due' => array(
+ 'en' => 'Total amount due',
+ 'nl' => 'Te voldoen'),
+ 'biccode' => array(
+ 'en' => 'The BIC code of our bank is %%.',
+ 'nl' => 'De BIC-code van de bank is %%.'),
+ 'btwnr' => array(
+ 'en' => 'VAT nr',
+ 'nl' => 'BTW nr'),
+ 'description' => array(
+ 'en' => 'Description',
+ 'nl' => 'Omschrijving'),
+ 'due-date' => array(
+ 'en' => 'Due date',
+ 'nl' => 'Vervaldatum'),
+ 'email' => array(
+ 'en' => 'Email',
+ 'nl' => 'Email'),
+ 'iban' => array(
+ 'en' => 'IBAN',
+ 'nl' => 'IBAN'),
+ 'invoice' => array(
+ 'en' => 'Invoice',
+ 'nl' => 'Factuur'),
+ 'invoice-date' => array(
+ 'en' => 'Invoice date',
+ 'nl' => 'Factuurdatum'),
+ 'invoice-nr' => array(
+ 'en' => 'Invoice number',
+ 'nl' => 'Factuurnummer'),
+ 'price-excl' => array(
+ 'en' => 'Price excl.',
+ 'nl' => 'Prijs excl.'),
+ 'price-incl' => array(
+ 'en' => 'Price incl.',
+ 'nl' => 'Prijs incl.'),
+ 'request' => array(
+ 'en' => 'You are kindly requested to transfer the total amount before the due date to the provided IBAN nr.',
+ 'nl' => 'U wordt vriendelijk verzocht het te voldoen bedrag voor de vervaldatum van de factuur over te maken naar opgegeven IBAN-nummer.'),
+ 'tel-nr' => array(
+ 'en' => 'Tel.',
+ 'nl' => 'Tel.'),
+ 'total' => array(
+ 'en' => 'Total',
+ 'nl' => 'Totaal'),
+ 'vat' => array(
+ 'en' => 'VAT',
+ 'nl' => 'BTW'),
+ );
- /**
- * Translate a string
- *
- * @see $translations The array holding the translations
- *
- * @param string $key The string to translate
- * @param string $lang The language to translate to (two-letter code)
- *
- * @return string The translated string
- */
- public function _($key) {
- if (!array_key_exists($key, self::$translations))
- return $key;
- return self::$translations[$key][$this->language];
- }
-
- /**
- * Create a new PDF
- *
- * @param string $orientation See the FPDF class specs
- * @param string $unit See the FPDF class specs
- * @param string $size See the FPDF class specs
- */
- function __construct($orientation='P',$unit='mm',$size='A4') {
- $this->FPDF($orientation,$unit,$size);
-
- $this->SetMargins(30,20,20);
- $this->SetAuthor(constants::invoice_name);
- $this->SetCreator('BusinessAdmin Correspondence Generator');
- $this->SetDisplayMode('fullpage','continuous');
- }
+ /**
+ * Translate a string
+ *
+ * @see $translations The array holding the translations
+ *
+ * @param string $key The string to translate
+ * @param string $lang The language to translate to (two-letter code)
+ *
+ * @return string The translated string
+ */
+ public function _($key) {
+ if (!array_key_exists($key, self::$translations))
+ return $key;
+ return self::$translations[$key][$this->language];
+ }
+
+ /**
+ * Create a new PDF
+ *
+ * @param string $orientation See the FPDF class specs
+ * @param string $unit See the FPDF class specs
+ * @param string $size See the FPDF class specs
+ */
+ function __construct($orientation='P',$unit='mm',$size='A4') {
+ $this->FPDF($orientation,$unit,$size);
+
+ $this->SetMargins(30,20,20);
+ $this->SetAuthor(constants::invoice_name);
+ $this->SetCreator('BusinessAdmin Correspondence Generator');
+ $this->SetDisplayMode('fullpage','continuous');
+ }
- /**
- * Set the language of the correspondence (used to translate stuff)
- *
- * @param string $lang The language, two letter code ('en', 'nl', ...)
- */
- function SetLangauge($lang) {
- $supported = array('nl', 'en');
- if (!in_array($lang, $supported)) {
- throw new Exception("Language not supported");
- } else {
- $this->language = $lang;
- }
- }
-
- /**
- * Set the contact to whom this correspondence will be sent (used for the address)
- *
- * @param contact $contact The contact
- */
- function SetContact($contact) {
- $this->contact = $contact;
+ /**
+ * Set the language of the correspondence (used to translate stuff)
+ *
+ * @param string $lang The language, two letter code ('en', 'nl', ...)
+ */
+ function SetLangauge($lang) {
+ $supported = array('nl', 'en');
+ if (!in_array($lang, $supported)) {
+ throw new Exception("Language not supported");
+ } else {
+ $this->language = $lang;
+ }
+ }
+
+ /**
+ * Set the contact to whom this correspondence will be sent (used for the address)
+ *
+ * @param contact $contact The contact
+ */
+ function SetContact($contact) {
+ $this->contact = $contact;
- $this->language = $contact->getLanguage();
- }
+ $this->language = $contact->getLanguage();
+ }
- /**
- * Makes a header with your details and the address of the contact
- */
- function CorrespondenceHeader() {
- if (file_exists(constants::files_folder . 'logo-correspondence.png')) {
- $this->Image(constants::files_folder . 'logo-correspondence.png',30,20,50);
- }
-
- $this->SetFont('Helvetica','',7);
- $this->Cell(110,20);
- $this->Cell(12,1,' ','T');
- $this->Cell(2,1);
- $this->Cell(35,1,' ','T');
- $this->Ln();
-
- $this->Cell(110,3.5);
- $this->SetFont('','B');
- $this->Cell(12,3.5,$this->_('adres'),'',0,'R');
- $this->Cell(2,3.5);
- $this->SetFont('','');
- $this->Cell(35,3.5, constants::invoice_name);
- $this->Ln();
-
- $this->Cell(124,3.5);
- $this->Cell(35,3.5, constants::invoice_address_1);
- $this->Ln();
- $this->Cell(124,3.5);
- $this->Cell(35,3.5, constants::invoice_address_2);
- $this->Ln();
- $this->Cell(124,3.5);
- $this->Cell(35,3.5, constants::invoice_address_3);
- $this->Ln();
- $this->Cell(160,1.5);
- $this->Ln();
- $this->Cell(110,3.5);
- $this->SetFont('','B');
- $this->Cell(12,3.5,$this->_('btwnr'),'',0,'R');
- $this->Cell(2,3.5);
- $this->SetFont('','');
- $this->Cell(35,3.5, constants::invoice_tax_nr);
- $this->Ln();
- $this->Cell(160,1.5);
- $this->Ln();
- $this->Cell(110,3.5);
- $this->SetFont('','B');
- $this->Cell(12,3.5, $this->_('iban'),'',0,'R');
- $this->Cell(2,3.5);
- $this->SetFont('','');
- $this->Cell(35,3.5, constants::invoice_iban);
- $this->Ln();
- $this->Cell(160,1.5);
- $this->Ln();
- $this->Cell(110,3.5);
- $this->SetFont('','B');
- $this->Cell(12,3.5, $this->_('tel-nr'),'',0,'R');
- $this->Cell(2,3.5);
- $this->SetFont('','',7);
- $this->Cell(35,3.5, constants::invoice_tel_nr);
- $this->Ln();
- $this->Cell(110,3.5);
- $this->SetFont('','B');
- $this->Cell(12,3.5, $this->_('email'),'',0,'R');
- $this->Cell(2,3.5);
- $this->SetFont('','');
- $this->Cell(35,3.5, constants::invoice_email);
- $this->Ln();
- $this->Cell(110,1);
- $this->Cell(12,1,' ','B');
- $this->Cell(2,1);
- $this->Cell(35,1,' ','B');
- $this->Ln();
- $this->Cell(160,15);
- $this->Ln();
-
- $this->SetFont('','',11);
- $this->SetXY(30,56.5);
- $this->Cell(90,5.5,utf8_decode($this->contact->getName()));
- $this->Ln();
- $this->SetXY(30,61.5);
- $this->Cell(90,5.5,utf8_decode($this->contact->getAddress()));
- $this->Ln();
- $this->SetXY(30,66.5);
- $this->Cell(90,5.5,utf8_decode($this->contact->getPostalCode().' '.$this->contact->getCity()));
- $this->Ln();
- $this->SetXY(30,71.5);
- $this->Cell(90,5.5,utf8_decode($this->contact->getCountry()));
- $this->Ln();
- }
-
- /**
- * Put PDF information
- */
- function _putinfo()
- {
- $this->_out('/Producer '.$this->_textstring('BusinessAdmin Correspondence Generator'));
- if(!empty($this->title))
- $this->_out('/Title '.$this->_textstring($this->title));
- if(!empty($this->subject))
- $this->_out('/Subject '.$this->_textstring($this->subject));
- if(!empty($this->author))
- $this->_out('/Author '.$this->_textstring($this->author));
- if(!empty($this->keywords))
- $this->_out('/Keywords '.$this->_textstring($this->keywords));
- if(!empty($this->creator))
- $this->_out('/Creator '.$this->_textstring($this->creator));
- $this->_out('/CreationDate '.$this->_textstring('D:'.@date('YmdHis')));
- }
+ /**
+ * Makes a header with your details and the address of the contact
+ */
+ function CorrespondenceHeader() {
+ if (file_exists(constants::files_folder . 'logo-correspondence.png')) {
+ $this->Image(constants::files_folder . 'logo-correspondence.png',30,20,50);
+ }
+
+ $this->SetFont('Helvetica','',7);
+ $this->Cell(110,20);
+ $this->Cell(12,1,' ','T');
+ $this->Cell(2,1);
+ $this->Cell(35,1,' ','T');
+ $this->Ln();
+
+ $this->Cell(110,3.5);
+ $this->SetFont('','B');
+ $this->Cell(12,3.5,$this->_('adres'),'',0,'R');
+ $this->Cell(2,3.5);
+ $this->SetFont('','');
+ $this->Cell(35,3.5, constants::invoice_name);
+ $this->Ln();
+
+ $this->Cell(124,3.5);
+ $this->Cell(35,3.5, constants::invoice_address_1);
+ $this->Ln();
+ $this->Cell(124,3.5);
+ $this->Cell(35,3.5, constants::invoice_address_2);
+ $this->Ln();
+ $this->Cell(124,3.5);
+ $this->Cell(35,3.5, constants::invoice_address_3);
+ $this->Ln();
+ $this->Cell(160,1.5);
+ $this->Ln();
+ $this->Cell(110,3.5);
+ $this->SetFont('','B');
+ $this->Cell(12,3.5,$this->_('btwnr'),'',0,'R');
+ $this->Cell(2,3.5);
+ $this->SetFont('','');
+ $this->Cell(35,3.5, constants::invoice_tax_nr);
+ $this->Ln();
+ $this->Cell(160,1.5);
+ $this->Ln();
+ $this->Cell(110,3.5);
+ $this->SetFont('','B');
+ $this->Cell(12,3.5, $this->_('iban'),'',0,'R');
+ $this->Cell(2,3.5);
+ $this->SetFont('','');
+ $this->Cell(35,3.5, constants::invoice_iban);
+ $this->Ln();
+ $this->Cell(160,1.5);
+ $this->Ln();
+ $this->Cell(110,3.5);
+ $this->SetFont('','B');
+ $this->Cell(12,3.5, $this->_('tel-nr'),'',0,'R');
+ $this->Cell(2,3.5);
+ $this->SetFont('','',7);
+ $this->Cell(35,3.5, constants::invoice_tel_nr);
+ $this->Ln();
+ $this->Cell(110,3.5);
+ $this->SetFont('','B');
+ $this->Cell(12,3.5, $this->_('email'),'',0,'R');
+ $this->Cell(2,3.5);
+ $this->SetFont('','');
+ $this->Cell(35,3.5, constants::invoice_email);
+ $this->Ln();
+ $this->Cell(110,1);
+ $this->Cell(12,1,' ','B');
+ $this->Cell(2,1);
+ $this->Cell(35,1,' ','B');
+ $this->Ln();
+ $this->Cell(160,15);
+ $this->Ln();
+
+ $this->SetFont('','',11);
+ $this->SetXY(30,56.5);
+ $this->Cell(90,5.5,utf8_decode($this->contact->getName()));
+ $this->Ln();
+ $this->SetXY(30,61.5);
+ $this->Cell(90,5.5,utf8_decode($this->contact->getAddress()));
+ $this->Ln();
+ $this->SetXY(30,66.5);
+ $this->Cell(90,5.5,utf8_decode($this->contact->getPostalCode().' '.$this->contact->getCity()));
+ $this->Ln();
+ $this->SetXY(30,71.5);
+ $this->Cell(90,5.5,utf8_decode($this->contact->getCountry()));
+ $this->Ln();
+ }
+
+ /**
+ * Put PDF information
+ */
+ function _putinfo()
+ {
+ $this->_out('/Producer '.$this->_textstring('BusinessAdmin Correspondence Generator'));
+ if(!empty($this->title))
+ $this->_out('/Title '.$this->_textstring($this->title));
+ if(!empty($this->subject))
+ $this->_out('/Subject '.$this->_textstring($this->subject));
+ if(!empty($this->author))
+ $this->_out('/Author '.$this->_textstring($this->author));
+ if(!empty($this->keywords))
+ $this->_out('/Keywords '.$this->_textstring($this->keywords));
+ if(!empty($this->creator))
+ $this->_out('/Creator '.$this->_textstring($this->creator));
+ $this->_out('/CreationDate '.$this->_textstring('D:'.@date('YmdHis')));
+ }
} \ No newline at end of file