diff --git a/Application/Model/AbstractClasses/pdfDocuments_generic.php b/Application/Model/AbstractClasses/pdfDocuments_generic.php index fb1ab7e..4d7645e 100644 --- a/Application/Model/AbstractClasses/pdfDocuments_generic.php +++ b/Application/Model/AbstractClasses/pdfDocuments_generic.php @@ -17,13 +17,25 @@ namespace D3\PdfDocuments\Application\Model\AbstractClasses; -use D3\PdfDocuments\Application\Model\Interfaces\pdfdocuments_generic as genericInterface; +use D3\PdfDocuments\Application\Model\Interfaces\pdfdocuments_generic_interface as genericInterface; use OxidEsales\Eshop\Core\Registry; use Smarty; use Spipu\Html2Pdf\Html2Pdf; abstract class pdfDocuments_generic implements genericInterface { + /** @var Smarty */ + public $oSmarty; + + /** + * pdfDocuments_generic constructor. + */ + public function __construct() + { + /** @var Smarty $oSmarty */ + $this->oSmarty = Registry::getUtilsView()->getSmarty(); + } + /** * @param $sFilename * @param int $iSelLang @@ -33,25 +45,17 @@ abstract class pdfDocuments_generic implements genericInterface { $sFilename = $this->getFilename( $sFilename); - $oPdf = call_user_func_array('oxNew', array_merge([Html2Pdf::class], $this->getPdfProperties())); - //$oPdf = oxNew(Html2Pdf::class, 'P', 'A4', 'de'); + $oPdf = oxNew(Html2Pdf::class, ...$this->getPdfProperties()); $oPdf->writeHTML($this->getHTMLContent($iSelLang)); $oPdf->output($sFilename, $target); } - /** - * @param Smarty $smarty - * - * @return Smarty - */ - public function setSmartyVars($smarty) + public function setSmartyVars() { - $smarty->assign('oConfig', Registry::getSession()->getConfig()); - $smarty->assign('oViewConf', Registry::getSession()->getConfig()->getActiveView()->getViewConfig()); - $smarty->assign('shop', Registry::getSession()->getConfig()->getActiveShop()); - $smarty->assign('lang', Registry::getLang()); - - return $smarty; + $this->oSmarty->assign('oConfig', Registry::getSession()->getConfig()); + $this->oSmarty->assign('oViewConf', Registry::getSession()->getConfig()->getActiveView()->getViewConfig()); + $this->oSmarty->assign('shop', Registry::getSession()->getConfig()->getActiveShop()); + $this->oSmarty->assign('lang', Registry::getLang()); } /** @@ -73,15 +77,12 @@ abstract class pdfDocuments_generic implements genericInterface { $lang = Registry::getLang(); - /** @var Smarty $oSmarty */ - $oSmarty = Registry::getUtilsView()->getSmarty(); - $currTplLang = $lang->getTplLanguage(); $lang->setTplLanguage($iSelLang); - $oSmarty = $this->setSmartyVars($oSmarty); + $this->setSmartyVars(); - $content = $oSmarty->fetch($this->getTemplate()); + $content = $this->oSmarty->fetch($this->getTemplate()); $lang->setTplLanguage($currTplLang); diff --git a/Application/Model/AbstractClasses/pdfDocuments_order.php b/Application/Model/AbstractClasses/pdfDocuments_order.php index 7e4f89e..f28f5be 100644 --- a/Application/Model/AbstractClasses/pdfDocuments_order.php +++ b/Application/Model/AbstractClasses/pdfDocuments_order.php @@ -17,11 +17,10 @@ namespace D3\PdfDocuments\Application\Model\AbstractClasses; -use D3\PdfDocuments\Application\Model\Interfaces\pdfdocuments_order as orderInterface; +use D3\PdfDocuments\Application\Model\Interfaces\pdfdocuments_order_interface as orderInterface; use \OxidEsales\Eshop\Application\Model\Order; use OxidEsales\Eshop\Application\Model\Payment; use OxidEsales\Eshop\Application\Model\User; -use Smarty; abstract class pdfDocuments_order extends pdfDocuments_generic implements orderInterface { @@ -44,26 +43,19 @@ abstract class pdfDocuments_order extends pdfDocuments_generic implements orderI return $this->oOrder; } - /** - * @param Smarty $smarty - * - * @return Smarty - */ - public function setSmartyVars($smarty) + public function setSmartyVars() { - $smarty = parent::setSmartyVars($smarty); + parent::setSmartyVars(); - $smarty->assign('order', $this->getOrder()); + $this->oSmarty->assign('order', $this->getOrder()); $oUser = oxNew(User::Class); $oUser->load($this->getOrder()->getFieldData('oxuserid')); - $smarty->assign('user', $oUser); + $this->oSmarty->assign('user', $oUser); $oPayment = oxNew(Payment::class); $oPayment->load($this->getOrder()->getFieldData('oxpaymenttype')); - $smarty->assign('payment', $oPayment); - - return $smarty; + $this->oSmarty->assign('payment', $oPayment); } /** diff --git a/Application/Model/Documents/invoicePdf.php b/Application/Model/Documents/invoicePdf.php index d7e019b..1c9e397 100644 --- a/Application/Model/Documents/invoicePdf.php +++ b/Application/Model/Documents/invoicePdf.php @@ -18,9 +18,9 @@ namespace D3\PdfDocuments\Modules\Application\Model\Documents; use D3\PdfDocuments\Application\Model\AbstractClasses\pdfDocuments_order; -use D3\PdfDocuments\Application\Model\Interfaces\pdfdocuments_orderinvoice; +use D3\PdfDocuments\Application\Model\Interfaces\pdfdocuments_orderinvoice_interface; -class invoicePdf extends pdfDocuments_order implements pdfdocuments_orderinvoice +class invoicePdf extends pdfDocuments_order implements pdfdocuments_orderinvoice_interface { protected $blIsNewOrder = false; diff --git a/Application/Model/Interfaces/pdfdocuments_generic.php b/Application/Model/Interfaces/pdfdocuments_generic_interface.php similarity index 95% rename from Application/Model/Interfaces/pdfdocuments_generic.php rename to Application/Model/Interfaces/pdfdocuments_generic_interface.php index 607aa77..924dd6b 100644 --- a/Application/Model/Interfaces/pdfdocuments_generic.php +++ b/Application/Model/Interfaces/pdfdocuments_generic_interface.php @@ -17,7 +17,7 @@ namespace D3\PdfDocuments\Application\Model\Interfaces; -interface pdfdocuments_generic +interface pdfdocuments_generic_interface { /** * @return string diff --git a/Application/Model/Interfaces/pdfdocuments_order.php b/Application/Model/Interfaces/pdfdocuments_order_interface.php similarity index 90% rename from Application/Model/Interfaces/pdfdocuments_order.php rename to Application/Model/Interfaces/pdfdocuments_order_interface.php index 4a562a2..1a28938 100644 --- a/Application/Model/Interfaces/pdfdocuments_order.php +++ b/Application/Model/Interfaces/pdfdocuments_order_interface.php @@ -19,7 +19,7 @@ namespace D3\PdfDocuments\Application\Model\Interfaces; use OxidEsales\Eshop\Application\Model\Order; -interface pdfdocuments_order extends pdfdocuments_generic +interface pdfdocuments_order_interface extends pdfdocuments_generic_interface { /** * @param Order $order diff --git a/Application/Model/Interfaces/pdfdocuments_orderinvoice.php b/Application/Model/Interfaces/pdfdocuments_orderinvoice_interface.php similarity index 88% rename from Application/Model/Interfaces/pdfdocuments_orderinvoice.php rename to Application/Model/Interfaces/pdfdocuments_orderinvoice_interface.php index 9dcc216..91f7ece 100644 --- a/Application/Model/Interfaces/pdfdocuments_orderinvoice.php +++ b/Application/Model/Interfaces/pdfdocuments_orderinvoice_interface.php @@ -17,7 +17,7 @@ namespace D3\PdfDocuments\Application\Model\Interfaces; -interface pdfdocuments_orderinvoice extends pdfdocuments_order +interface pdfdocuments_orderinvoice_interface extends pdfdocuments_order_interface { public function setInvoiceNumber(); diff --git a/Modules/Application/Model/d3_Order_PdfDocuments.php b/Modules/Application/Model/d3_Order_PdfDocuments.php index 9a8de66..53deaae 100644 --- a/Modules/Application/Model/d3_Order_PdfDocuments.php +++ b/Modules/Application/Model/d3_Order_PdfDocuments.php @@ -17,7 +17,7 @@ namespace D3\PdfDocuments\Modules\Application\Model; -use D3\PdfDocuments\Application\Model\Interfaces\pdfdocuments_order as OrderPdfInterface; +use D3\PdfDocuments\Application\Model\Interfaces\pdfdocuments_orderInterface as OrderPdfInterface; use D3\PdfDocuments\Modules\Application\Model\Documents\invoicePdf; use D3\PdfDocuments\Modules\Application\Model\Documents\deliverynotePdf; use OxidEsales\Eshop\Core\Registry; diff --git a/composer.json b/composer.json index 9923320..3888376 100644 --- a/composer.json +++ b/composer.json @@ -30,7 +30,9 @@ } }, "require": { - "oxid-esales/oxideshop-ce": "6.0 - 6.3" + "php": ">=5.6", + "oxid-esales/oxideshop-ce": "6.0 - 6.3", + "spipu/html2pdf": "^5.2" }, "autoload": { "psr-4": {