From d348f31dece9e196de60d4d33ffffe979cfa50f8 Mon Sep 17 00:00:00 2001 From: fBrignoli Date: Thu, 15 Dec 2011 09:05:16 +0000 Subject: [PATCH] [*] PDF : You can now enable diskcache --- classes/pdf/PDF.php | 23 +++++++++++----------- classes/pdf/PDFGenerator.php | 6 +++--- controllers/admin/AdminPdfController.php | 25 +++++++----------------- 3 files changed, 21 insertions(+), 33 deletions(-) diff --git a/classes/pdf/PDF.php b/classes/pdf/PDF.php index 115152731..ea5c6b2c4 100755 --- a/classes/pdf/PDF.php +++ b/classes/pdf/PDF.php @@ -43,7 +43,7 @@ class PDFCore public function __construct($objects, $template, $smarty) { - $this->pdf_renderer = new PDFGenerator(); + $this->pdf_renderer = new PDFGenerator((bool)Configuration::get('PS_PDF_USE_CACHE')); $this->template = $template; $this->smarty = $smarty; @@ -58,17 +58,17 @@ class PDFCore $this->pdf_renderer->setFontForLang('fr'); foreach ($this->objects as $object) { - $template = $this->getTemplateObject($object); - if (!$template) - continue; + $template = $this->getTemplateObject($object); + if (!$template) + continue; + + if (empty($this->filename)) + { + $this->filename = $template->getFilename(); + if (count($this->objects) > 1) + $this->filename = $template->getBulkFilename(); + } - if (empty($this->filename)) - { - $this->filename = $template->getFilename(); - if (count($this->objects) > 1) - $this->filename = $template->getBulkFilename(); - } - $template->assignHookData($object); $this->pdf_renderer->createHeader($template->getHeader()); @@ -82,7 +82,6 @@ class PDFCore if ($render) $this->pdf_renderer->render($this->filename); - } public function getTemplateObject($object) diff --git a/classes/pdf/PDFGenerator.php b/classes/pdf/PDFGenerator.php index e4629a262..64e89ecef 100755 --- a/classes/pdf/PDFGenerator.php +++ b/classes/pdf/PDFGenerator.php @@ -44,9 +44,9 @@ class PDFGeneratorCore extends TCPDF public $font_by_lang = array('jp' => 'cid0jp'); - public function __construct() + public function __construct($use_cache = false) { - parent::__construct('P', 'mm', 'A4', true, 'UTF-8', false, false); + parent::__construct('P', 'mm', 'A4', true, 'UTF-8', $use_cache, false); } /** @@ -90,7 +90,7 @@ class PDFGeneratorCore extends TCPDF /** * Change the font - * @param unknown_type $iso_lang + * @param string $iso_lang */ public function setFontForLang($iso_lang) { diff --git a/controllers/admin/AdminPdfController.php b/controllers/admin/AdminPdfController.php index 87a15258b..d66cf0d90 100644 --- a/controllers/admin/AdminPdfController.php +++ b/controllers/admin/AdminPdfController.php @@ -72,29 +72,18 @@ class AdminPdfControllerCore extends AdminController 'icon' => 'pdf', 'class' => 'width2', 'fields' => array( - 'PS_PDF_ENCODING' => array( - 'title' => $this->l('Encoding:'), - 'desc' => $this->l('Encoding for PDF invoice'), - 'type' => 'selectLang', - 'cast' => 'strval', - 'identifier' => 'mode', - 'list' => $this->encoding_list - ), - 'PS_PDF_FONT' => array( - 'title' => $this->l('Font:'), - 'desc' => $this->l('Font for PDF invoice'), - 'type' => 'selectLang', - 'cast' => 'strval', - 'identifier' => 'mode', - 'list' => $this->font_list - ) + 'PS_PDF_USE_CACHE' => array( + 'title' => $this->l('Use disk as cache'), + 'desc' => $this->l('Save memory but slow down the rendering process.'), + 'validation' => 'isBool', + 'cast' => 'intval', + 'type' => 'bool' + ) ), 'submit' => array() ) ); - $this->context->smarty->assign('custom_key', 'PS_PDF_ENCODING¤PS_PDF_FONT'); - parent::__construct(); } }