* @link http://www.oxidmodule.com */ namespace D3\PdfDocuments\Modules\Application\Model; use D3\PdfDocuments\Modules\Application\Model\deliverynotePdf; use OxidEsales\EshopCommunity\Application\Model\User; use OxidEsales\EshopCommunity\Application\Model\Payment; use OxidEsales\Eshop\Core\Registry; use Spipu\Html2Pdf\Exception\Html2PdfException; use Spipu\Html2Pdf\Html2Pdf; class d3_Order_PdfDocuments extends d3_Order_PdfDocuments_parent { /** * @param string $sFilename * @param int $iSelLang * @param string $target * @throws Html2PdfException */ public function genPdf($sFilename, $iSelLang = 0, $target = 'I') { $Pdf= $this->getPdfClass(); $Pdf->setOrder($this); $Pdf->genPdf($sFilename, $iSelLang = 0, $target = 'I'); } public function getPdfClass(){ switch (Registry::getRequest()->getRequestParameter('pdftype')) { case ('dnote'): case ('dnote_without_logo'): $pdfInstance= oxNew(deliverynotePdf::class); $pdfInstance->setOrder($this); return $pdfInstance; case ('standart'): case('standart_without_logo'): $pdfInvoice= oxNew(invoicePdf::class); $pdfInvoice->setOrder($this); return $pdfInvoice; default: return $this->getCustomPdfClass(); } } /** * @return albatros * @throws \OxidEsales\Eshop\Core\Exception\SystemComponentException * @throws \oxSystemComponentException */ public function getCustomPdfClass() { $pdfInvoice= oxNew(invoicePdf::class); $pdfInvoice->setOrder($this); return $pdfInvoice; } }