Compare commits
162 Commits
Author | SHA1 | Date |
---|---|---|
Daniel Seifert | e9987b5221 | |
Daniel Seifert | 010dda9050 | |
Daniel Seifert | 1e91990a28 | |
MaxBUhe | 93fd76de19 | |
Daniel Seifert | da203be4f9 | |
Daniel Seifert | e0ab753ef2 | |
Daniel Seifert | 34498edfa4 | |
Daniel Seifert | 88e3af9a51 | |
Daniel Seifert | d835b64fe3 | |
Daniel Seifert | 66ff1aa732 | |
Daniel Seifert | 31aa9ac3be | |
Daniel Seifert | 76aa27b843 | |
Daniel Seifert | 57839562f2 | |
Daniel Seifert | 2963aced46 | |
Daniel Seifert | 53048b0189 | |
Daniel Seifert | ad00dfdea8 | |
Daniel Seifert | 694fd9f142 | |
Daniel Seifert | d7b279a4aa | |
Daniel Seifert | 293a8a9427 | |
Daniel Seifert | c82fa1f01f | |
Daniel Seifert | 64c1d3f398 | |
Daniel Seifert | 09f6111c4d | |
Daniel Seifert | a8ef16a4b2 | |
Daniel Seifert | 720a506da3 | |
Daniel Seifert | b506d4e7c7 | |
Daniel Seifert | 850976e386 | |
Daniel Seifert | 369eee2b5c | |
Daniel Seifert | 7d27e27764 | |
Daniel Seifert | f0eb1423ee | |
Daniel Seifert | 282c7d1a12 | |
Daniel Seifert | f86633a260 | |
Daniel Seifert | c353175701 | |
Daniel Seifert | 883b4b18d3 | |
Daniel Seifert | 5d54fa90b4 | |
Daniel Seifert | 201e713672 | |
Daniel Seifert | e1be86ca6b | |
Daniel Seifert | caad509386 | |
Daniel Seifert | 80df5f14cb | |
Daniel Seifert | 4a02e3fd86 | |
Daniel Seifert | 52f904318e | |
Daniel Seifert | 64ddda7825 | |
Daniel Seifert | 772ccfef19 | |
Daniel Seifert | 5541acaab0 | |
Daniel Seifert | 242610a8cf | |
Daniel Seifert | 9c3a2e5680 | |
Daniel Seifert | 0654ae6e26 | |
Daniel Seifert | 28ad51b5e3 | |
Daniel Seifert | cfc3d8104d | |
Daniel Seifert | a2d5dbf6aa | |
Daniel Seifert | 8d0a9e6fac | |
Daniel Seifert | f8f226914d | |
Daniel Seifert | 7c3608efaf | |
Daniel Seifert | 2cf6ce6f4f | |
Daniel Seifert | 2f1c256779 | |
Daniel Seifert | 9cd96631ad | |
Daniel Seifert | 91dfce774f | |
Daniel Seifert | 71d91b4136 | |
Daniel Seifert | b73219f6b5 | |
Daniel Seifert | 484d85e431 | |
Daniel Seifert | bac56b8c56 | |
Daniel Seifert | c7cf568e89 | |
Daniel Seifert | c6e12da6d4 | |
Daniel Seifert | c7da3e2b91 | |
Daniel Seifert | bb1073b894 | |
MaxBUhe | b850cd11ec | |
Daniel Seifert | 7de9a940cd | |
Daniel Seifert | d06c822126 | |
MaxBUhe | a6b6918827 | |
MaxBUhe | 83f58d806b | |
MaxBUhe | 21e819afea | |
MaxBUhe | 5db3bca501 | |
MaxBUhe | 4c64993f03 | |
MaxBUhe | 59b11667f8 | |
MaxBUhe | b3a8269fcd | |
MaxBUhe | ea290f8bf2 | |
MaxBUhe | 2264fa99ca | |
MaxBUhe | 916e0807b4 | |
MaxBUhe | 007ea1a41f | |
MaxBUhe | b72f5088dd | |
MaxBUhe | 9ca4b5c4ef | |
MaxBUhe | 0ea3f0e201 | |
Daniel Seifert | 46f3285322 | |
Daniel Seifert | adff842b8e | |
MaxBUhe | 56d4d08f89 | |
Daniel Seifert | 7019053b50 | |
Daniel Seifert | d49135f6ee | |
MaxBUhe | f9a0dd11e2 | |
Daniel Seifert | 15f02f45f0 | |
Daniel Seifert | 3d0128ed0e | |
MaxBUhe | b20fb0db72 | |
MaxBUhe | 334122ff3a | |
Daniel Seifert | 03984e39e9 | |
Daniel Seifert | cf2c61078a | |
Daniel Seifert | 4c561976a6 | |
Daniel Seifert | 7eb770440d | |
Daniel Seifert | 5232b1e5a5 | |
Daniel Seifert | 5e0b488ca8 | |
MaxBUhe | 0fedcf4d9f | |
MaxBUhe | c5ef48d2fc | |
MaxBUhe | bdec638f14 | |
MaxBUhe | b37280fcbf | |
MaxBUhe | 5135e63a6b | |
MaxBUhe | 95a73b8ef8 | |
Daniel Seifert | 0edb64153a | |
Daniel Seifert | d13dda978d | |
Daniel Seifert | 015e85c942 | |
Daniel Seifert | 0ccbcd07c6 | |
Daniel Seifert | 157d9540b3 | |
Daniel Seifert | 8affd5e4ae | |
Daniel Seifert | ccb8ffe403 | |
MaxBUhe | 6a931daa70 | |
MaxBUhe | 468339da09 | |
MaxBUhe | 109f248457 | |
Daniel Seifert | e9ae890046 | |
Daniel Seifert | 895ea19f89 | |
Daniel Seifert | efdc63225e | |
Daniel Seifert | fa96df326d | |
Daniel Seifert | 3c2dc2df5f | |
Daniel Seifert | 0ecdc1281b | |
Daniel Seifert | f7cfdccefd | |
Daniel Seifert | 3da3d1e3ab | |
Daniel Seifert | eddef3bbbf | |
Daniel Seifert | 5b43b21df1 | |
Daniel Seifert | 1abce50eda | |
Daniel Seifert | 226f56db2e | |
Daniel Seifert | 0749221899 | |
Daniel Seifert | a6378dabe9 | |
Daniel Seifert | caeaa02aa6 | |
Daniel Seifert | 5ffd071954 | |
Daniel Seifert | aa2072d985 | |
Daniel Seifert | 61f0823051 | |
Daniel Seifert | 85c8d76da3 | |
Daniel Seifert | 8437314019 | |
Daniel Seifert | 02d16f4f5e | |
Daniel Seifert | 7357722a8f | |
Daniel Seifert | ac8498044d | |
Daniel Seifert | 738f5ec772 | |
Daniel Seifert | 5465a7eebd | |
Daniel Seifert | 0c36330610 | |
Daniel Seifert | db13ac943c | |
Daniel Seifert | 3969d3695e | |
Daniel Seifert | 02a6022bb6 | |
MaxBUhe | 4eec91e84b | |
MaxBUhe | 3349b72a57 | |
MaxBUhe | 4351677b6e | |
MaxBUhe | a7026c6b6c | |
MaxBUhe | c9e9f8b8a6 | |
MaxBUhe | af76a9f8f6 | |
MaxBUhe | d1a09fc220 | |
MaxBUhe | bfe16ec517 | |
MaxBUhe | cdaad56455 | |
MaxBUhe | c6d916fedd | |
MaxBUhe | 7258d22df1 | |
MaxBUhe | d8e0bda67e | |
MaxBUhe | 59798d12ec | |
MaxBUhe | 64988576c8 | |
MaxBUhe | 0e8737750c | |
MaxBUhe | 9fdaecb37e | |
MaxBUhe | 3aaa2f8e2c | |
MaxBUhe | 703a75962a | |
MaxBUhe | 59e49490b2 | |
Daniel Seifert | e7ad653268 |
|
@ -10,6 +10,8 @@
|
|||
|
||||
namespace D3\PdfDocuments\Application\Model\AbstractClasses;
|
||||
|
||||
use Assert\InvalidArgumentException;
|
||||
use D3\ModCfg\Application\Model\d3filesystem;
|
||||
use D3\PdfDocuments\Application\Model\Exceptions\pdfGeneratorExceptionAbstract;
|
||||
use D3\PdfDocuments\Application\Model\Interfaces\pdfdocumentsGenericInterface as genericInterface;
|
||||
use OxidEsales\Eshop\Core\Base;
|
||||
|
@ -47,7 +49,7 @@ abstract class pdfdocumentsGeneric extends Base implements genericInterface
|
|||
parent::__construct();
|
||||
|
||||
/** @var Smarty $oSmarty */
|
||||
$this->oSmarty = Registry::getUtilsView()->getSmarty();
|
||||
$this->oSmarty = Registry::getUtilsView()->getSmarty(true);
|
||||
}
|
||||
|
||||
public function runPreAction()
|
||||
|
@ -93,6 +95,9 @@ abstract class pdfdocumentsGeneric extends Base implements genericInterface
|
|||
} catch (pdfGeneratorExceptionAbstract $e) {
|
||||
Registry::get(UtilsView::class)->addErrorToDisplay($e);
|
||||
Registry::getLogger()->error($e);
|
||||
} catch (InvalidArgumentException $e) {
|
||||
Registry::get(UtilsView::class)->addErrorToDisplay($e);
|
||||
Registry::getLogger()->error($e);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -116,6 +121,9 @@ abstract class pdfdocumentsGeneric extends Base implements genericInterface
|
|||
} catch (pdfGeneratorExceptionAbstract $e) {
|
||||
Registry::get(UtilsView::class)->addErrorToDisplay($e);
|
||||
Registry::getLogger()->error($e);
|
||||
} catch (InvalidArgumentException $e) {
|
||||
Registry::get(UtilsView::class)->addErrorToDisplay($e);
|
||||
Registry::getLogger()->error($e);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -136,6 +144,9 @@ abstract class pdfdocumentsGeneric extends Base implements genericInterface
|
|||
} catch (pdfGeneratorExceptionAbstract $e) {
|
||||
Registry::get(UtilsView::class)->addErrorToDisplay($e);
|
||||
Registry::getLogger()->error($e);
|
||||
} catch (InvalidArgumentException $e) {
|
||||
Registry::get(UtilsView::class)->addErrorToDisplay($e);
|
||||
Registry::getLogger()->error($e);
|
||||
}
|
||||
|
||||
return null;
|
||||
|
@ -158,6 +169,7 @@ abstract class pdfdocumentsGeneric extends Base implements genericInterface
|
|||
* @param int $iSelLang
|
||||
*
|
||||
* @return mixed
|
||||
* @throws InvalidArgumentException
|
||||
*/
|
||||
public function getHTMLContent($iSelLang = 0)
|
||||
{
|
||||
|
@ -218,15 +230,15 @@ abstract class pdfdocumentsGeneric extends Base implements genericInterface
|
|||
{
|
||||
// forced filename from setFilename()
|
||||
if ($this->filename) {
|
||||
return $this->addFilenameExtension(
|
||||
$this->makeValidFileName(
|
||||
return $this->makeValidFileName(
|
||||
$this->addFilenameExtension(
|
||||
$this->filename
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
return $this->addFilenameExtension(
|
||||
$this->makeValidFileName(
|
||||
return $this->makeValidFileName(
|
||||
$this->addFilenameExtension(
|
||||
$this->getTypeForFilename()
|
||||
)
|
||||
);
|
||||
|
@ -241,7 +253,7 @@ abstract class pdfdocumentsGeneric extends Base implements genericInterface
|
|||
{
|
||||
$extension = $this->filenameExtension;
|
||||
$extensionLength = (strlen($extension) + 1) * -1;
|
||||
if ((bool) strlen($extension) && substr($filename, $extensionLength) != '.'.$extension) {
|
||||
if (strlen($extension) && substr($filename, $extensionLength) != '.'.$extension) {
|
||||
$filename .= '.'.$extension;
|
||||
}
|
||||
|
||||
|
@ -257,10 +269,8 @@ abstract class pdfdocumentsGeneric extends Base implements genericInterface
|
|||
*/
|
||||
public function makeValidFileName($sFilename)
|
||||
{
|
||||
$sFilename = preg_replace('/[\s]+/', '_', $sFilename);
|
||||
$sFilename = preg_replace('/[^a-zA-Z0-9_\.-]/', '', $sFilename);
|
||||
|
||||
return str_replace(' ', '_', $sFilename);
|
||||
$fs = oxNew(d3filesystem::class);
|
||||
return $fs->filterFilename($sFilename);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -305,7 +315,7 @@ abstract class pdfdocumentsGeneric extends Base implements genericInterface
|
|||
if (ob_get_contents()) {
|
||||
$oPdf->pdf->Error('Some data has already been output, can\'t send PDF file');
|
||||
}
|
||||
if (php_sapi_name() != 'cli') {
|
||||
if (substr(php_sapi_name(), 0, 3) != 'cli') {
|
||||
//We send to a browser
|
||||
header('Content-Type: text/html');
|
||||
if (headers_sent()) {
|
||||
|
|
|
@ -10,9 +10,10 @@
|
|||
|
||||
namespace D3\PdfDocuments\Application\Model\AbstractClasses;
|
||||
|
||||
use D3\PdfDocuments\Application\Model\Exceptions\noBaseObjectSetException;
|
||||
use Assert\Assert;
|
||||
use Assert\InvalidArgumentException;
|
||||
use D3\PdfDocuments\Application\Model\Interfaces\pdfdocumentsOrderInterface as orderInterface;
|
||||
use \OxidEsales\Eshop\Application\Model\Order;
|
||||
use OxidEsales\Eshop\Application\Model\Order;
|
||||
use OxidEsales\Eshop\Application\Model\Payment;
|
||||
use OxidEsales\Eshop\Application\Model\User;
|
||||
use OxidEsales\Eshop\Core\Registry;
|
||||
|
@ -22,6 +23,14 @@ abstract class pdfdocumentsOrder extends pdfdocumentsGeneric implements orderInt
|
|||
/** @var Order */
|
||||
public $oOrder;
|
||||
|
||||
/**
|
||||
* don't use order as constructor argument because of same method interface for all document types
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Order $order
|
||||
*/
|
||||
|
@ -31,15 +40,22 @@ abstract class pdfdocumentsOrder extends pdfdocumentsGeneric implements orderInt
|
|||
}
|
||||
|
||||
/**
|
||||
* @throws InvalidArgumentException
|
||||
* @return Order
|
||||
*/
|
||||
public function getOrder()
|
||||
{
|
||||
Assert::lazy()
|
||||
->that($this->oOrder)->isInstanceOf(Order::class, 'no order for pdf generator set')
|
||||
->that($this->oOrder->isLoaded())->true('given order is not loaded')
|
||||
->verifyNow();
|
||||
|
||||
return $this->oOrder;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param int $iSelLang
|
||||
* @throws InvalidArgumentException
|
||||
*/
|
||||
public function setSmartyVars($iSelLang)
|
||||
{
|
||||
|
@ -58,13 +74,14 @@ abstract class pdfdocumentsOrder extends pdfdocumentsGeneric implements orderInt
|
|||
|
||||
/**
|
||||
* @return string
|
||||
* @throws InvalidArgumentException
|
||||
*/
|
||||
public function getFilename()
|
||||
{
|
||||
// forced filename from setFilename()
|
||||
if ($this->filename) {
|
||||
return $this->addFilenameExtension(
|
||||
$this->makeValidFileName(
|
||||
return $this->makeValidFileName(
|
||||
$this->addFilenameExtension(
|
||||
$this->filename
|
||||
)
|
||||
);
|
||||
|
@ -72,8 +89,8 @@ abstract class pdfdocumentsOrder extends pdfdocumentsGeneric implements orderInt
|
|||
|
||||
$sTrimmedBillName = trim($this->getOrder()->getFieldData('oxbilllname'));
|
||||
|
||||
return $this->addFilenameExtension(
|
||||
$this->makeValidFileName(
|
||||
return $this->makeValidFileName(
|
||||
$this->addFilenameExtension(
|
||||
implode(
|
||||
'_',
|
||||
[
|
||||
|
@ -86,21 +103,6 @@ abstract class pdfdocumentsOrder extends pdfdocumentsGeneric implements orderInt
|
|||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $sFilename
|
||||
* @param int $iSelLang
|
||||
* @param string $target
|
||||
* @return mixed|string|null
|
||||
*/
|
||||
public function genPdf($sFilename, $iSelLang = 0, $target = 'I')
|
||||
{
|
||||
if (false == $this->getOrder()) {
|
||||
throw oxNew(noBaseObjectSetException::class);
|
||||
}
|
||||
|
||||
return parent::genPdf($sFilename, $iSelLang, $target);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return int
|
||||
*/
|
||||
|
@ -115,6 +117,7 @@ abstract class pdfdocumentsOrder extends pdfdocumentsGeneric implements orderInt
|
|||
|
||||
/**
|
||||
* @return false|string
|
||||
* @throws InvalidArgumentException
|
||||
*/
|
||||
public function getPayableUntilDate()
|
||||
{
|
||||
|
|
|
@ -10,10 +10,9 @@
|
|||
|
||||
namespace D3\PdfDocuments\Application\Model\Documents;
|
||||
|
||||
use Assert\InvalidArgumentException;
|
||||
use D3\PdfDocuments\Application\Model\AbstractClasses\pdfdocumentsOrder;
|
||||
use D3\PdfDocuments\Application\Model\Exceptions\noBaseObjectSetException;
|
||||
use D3\PdfDocuments\Application\Model\Interfaces\pdfdocumentsOrderinvoiceInterface;
|
||||
use Spipu\Html2Pdf\Exception\Html2PdfException;
|
||||
|
||||
class invoicePdf extends pdfdocumentsOrder implements pdfdocumentsOrderinvoiceInterface
|
||||
{
|
||||
|
@ -43,6 +42,10 @@ class invoicePdf extends pdfdocumentsOrder implements pdfdocumentsOrderinvoiceIn
|
|||
return 'invoice';
|
||||
}
|
||||
|
||||
/**
|
||||
* @return void
|
||||
* @throws InvalidArgumentException
|
||||
*/
|
||||
public function runPreAction()
|
||||
{
|
||||
parent::runPreAction();
|
||||
|
@ -52,10 +55,12 @@ class invoicePdf extends pdfdocumentsOrder implements pdfdocumentsOrderinvoiceIn
|
|||
$this->saveOrderOnChanges();
|
||||
}
|
||||
|
||||
/**
|
||||
* @return void
|
||||
* @throws InvalidArgumentException
|
||||
*/
|
||||
public function setInvoiceNumber()
|
||||
{
|
||||
$this->blIsNewOrder = false;
|
||||
|
||||
if (!$this->getOrder()->getFieldData('oxbillnr')) {
|
||||
$this->getOrder()->assign(['oxbillnr' => $this->getOrder()->getNextBillNum()]);
|
||||
|
||||
|
@ -63,6 +68,10 @@ class invoicePdf extends pdfdocumentsOrder implements pdfdocumentsOrderinvoiceIn
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @return void
|
||||
* @throws InvalidArgumentException
|
||||
*/
|
||||
public function setInvoiceDate()
|
||||
{
|
||||
if ($this->getOrder()->getFieldData('oxbilldate') == '0000-00-00') {
|
||||
|
@ -74,6 +83,10 @@ class invoicePdf extends pdfdocumentsOrder implements pdfdocumentsOrderinvoiceIn
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @return void
|
||||
* @throws InvalidArgumentException
|
||||
*/
|
||||
public function saveOrderOnChanges()
|
||||
{
|
||||
if ($this->blIsNewOrder) {
|
||||
|
@ -87,6 +100,7 @@ class invoicePdf extends pdfdocumentsOrder implements pdfdocumentsOrderinvoiceIn
|
|||
|
||||
/**
|
||||
* @return string
|
||||
* @throws InvalidArgumentException
|
||||
*/
|
||||
public function getFilename()
|
||||
{
|
||||
|
|
|
@ -17,8 +17,7 @@ class invoicewithoutlogoPdf extends invoicePdf
|
|||
*/
|
||||
public function getRequestId()
|
||||
{
|
||||
// same like in OXID PDF module
|
||||
return 'standart_without_logo';
|
||||
return 'invoice_without_logo';
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -1,21 +0,0 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* See LICENSE file for license details.
|
||||
*
|
||||
* @copyright (C) D3 Data Development (Inh. Thomas Dartsch)
|
||||
* @author D3 Data Development - Daniel Seifert <support@shopmodule.com>
|
||||
* @link http://www.oxidmodule.com
|
||||
*/
|
||||
|
||||
namespace D3\PdfDocuments\Application\Model\Exceptions;
|
||||
|
||||
use Exception;
|
||||
|
||||
class noBaseObjectSetException extends pdfGeneratorExceptionAbstract
|
||||
{
|
||||
public function __construct( $sMessage = "no base object (e.g. order) for pdf generator set", $iCode = 0, Exception $previous = null )
|
||||
{
|
||||
parent::__construct( $sMessage, $iCode, $previous );
|
||||
}
|
||||
}
|
|
@ -10,8 +10,6 @@
|
|||
|
||||
namespace D3\PdfDocuments\Application\Model\Interfaces;
|
||||
|
||||
use D3\PdfDocuments\Application\Model\Exceptions\noBaseObjectSetException;
|
||||
|
||||
interface pdfdocumentsGenericInterface
|
||||
{
|
||||
/**
|
||||
|
@ -58,7 +56,6 @@ interface pdfdocumentsGenericInterface
|
|||
* @param string $target
|
||||
*
|
||||
* @return mixed
|
||||
* @throws noBaseObjectSetException
|
||||
*/
|
||||
public function genPdf($sFilename, $iSelLang = 0, $target = 'I');
|
||||
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
|
||||
namespace D3\PdfDocuments\Application\Model\Interfaces;
|
||||
|
||||
use Assert\InvalidArgumentException;
|
||||
use OxidEsales\Eshop\Application\Model\Order;
|
||||
|
||||
interface pdfdocumentsOrderInterface extends pdfdocumentsGenericInterface
|
||||
|
@ -20,6 +21,7 @@ interface pdfdocumentsOrderInterface extends pdfdocumentsGenericInterface
|
|||
public function setOrder(Order $order);
|
||||
|
||||
/**
|
||||
* @throws InvalidArgumentException
|
||||
* @return Order
|
||||
*/
|
||||
public function getOrder();
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
[{assign var="defaultPagePadding" value=","|explode:"45,15,25,25"}] [{* top, right, bottom, left *}]
|
||||
[{assign var="pagePadding" value=$pagePadding|default:$defaultPagePadding}]
|
||||
|
||||
<style type="text/css">
|
||||
<style>
|
||||
.marks {
|
||||
position: absolute;
|
||||
left: [{math equation="left - padding" left=5 padding=$pagePadding.3}]mm ;
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
[{* rulers *}]
|
||||
[{* include file="d3pdfrulers.tpl" pagePadding=$pagePadding *}]
|
||||
|
||||
<style type="text/css">
|
||||
<style>
|
||||
.rulerItemHorizontal {
|
||||
position: absolute;
|
||||
top: -[{$pagePadding.0}]mm;
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
[{assign var="defaultPagePadding" value=","|explode:"45,15,25,25"}] [{* top, right, bottom, left *}]
|
||||
[{assign var="pagePadding" value=$pagePadding|default:$defaultPagePadding}]
|
||||
|
||||
<style type="text/css">
|
||||
<style>
|
||||
[{foreach from=$pdfBlock_style item="_block"}]
|
||||
[{$_block}]
|
||||
[{/foreach}]
|
||||
|
|
|
@ -11,11 +11,9 @@
|
|||
namespace D3\PdfDocuments\Modules\Application\Controller;
|
||||
|
||||
use D3\PdfDocuments\Application\Controller\orderOverviewPdfGenerator;
|
||||
use D3\PdfDocuments\Application\Model\Exceptions\noBaseObjectSetException;
|
||||
use D3\PdfDocuments\Application\Model\Exceptions\noPdfHandlerFoundException;
|
||||
use D3\PdfDocuments\Application\Model\Exceptions\pdfGeneratorExceptionAbstract;
|
||||
use D3\PdfDocuments\Application\Model\Registries\registryOrderoverview;
|
||||
use D3\PdfDocuments\Modules\Application\Model\d3_Order_PdfDocuments;
|
||||
use OxidEsales\Eshop\Application\Controller\Admin\OrderOverview;
|
||||
use OxidEsales\Eshop\Application\Model\Order;
|
||||
use OxidEsales\Eshop\Core\DatabaseProvider;
|
||||
|
@ -45,12 +43,11 @@ class d3_overview_controller_pdfdocuments extends d3_overview_controller_pdfdocu
|
|||
$viewNameGenerator = Registry::get(TableViewNameGenerator::class);
|
||||
$sTable = $viewNameGenerator->getViewName("oxorderarticles");
|
||||
|
||||
$sQ = "select count(oxid) from {$sTable} where oxorderid = " . $masterDb->quote($sOrderId) . " and oxstorno = 0";
|
||||
$sQ = "select count(oxid) from $sTable where oxorderid = " . $masterDb->quote($sOrderId) . " and oxstorno = 0";
|
||||
return (bool) $masterDb->getOne($sQ);
|
||||
}
|
||||
|
||||
/**
|
||||
* @throws noBaseObjectSetException
|
||||
* @throws noPdfHandlerFoundException
|
||||
* @throws pdfGeneratorExceptionAbstract
|
||||
*/
|
||||
|
@ -58,7 +55,7 @@ class d3_overview_controller_pdfdocuments extends d3_overview_controller_pdfdocu
|
|||
{
|
||||
$soxId = $this->getEditObjectId();
|
||||
if ($soxId != "-1" && isset($soxId)) {
|
||||
/** @var d3_Order_PdfDocuments $oOrder */
|
||||
/** @var Order $oOrder */
|
||||
$oOrder = oxNew(Order::class);
|
||||
if ($oOrder->load($soxId)) {
|
||||
$generator = oxNew( orderOverviewPdfGenerator::class );
|
||||
|
|
|
@ -13,7 +13,7 @@ The module can be easily extended to adapt existing documents or add new ones. E
|
|||
## System requirements:
|
||||
|
||||
- installed OXID eShop version from 6.1
|
||||
- PHP version for which installation packages are available (PHP 7)
|
||||
- PHP version for which installation packages are available (PHP 7 + 8)
|
||||
- Installation via Composer
|
||||
|
||||
## Compatibility:
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
PDF-Dokumentgenerator fĂĽr OXID eShop
|
||||
|
||||
Erstellen Sie unterschiedlichste statische oder dynamische PDF-Dokument auf Kopfdruck. Der Dokumentinhalt wird aus Smartytemplates erstellt.
|
||||
Erstellen Sie unterschiedliche statische oder dynamische PDF-Dokumente auf Kopfdruck. Der Dokumentinhalt wird aus Smartytemplates erstellt.
|
||||
|
||||
An den Bestellungen Ihres OXID-Shops steht Ihnen die Erstellung von Rechnung und Lieferschein zur VerfĂĽgung.
|
||||
|
||||
|
@ -13,7 +13,7 @@ Das Modul kann einfach erweitert werden, um bestehende Dokumente anzupassen oder
|
|||
## Systemanforderungen:
|
||||
|
||||
- installierter OXID eShop in Version ab 6.1
|
||||
- PHP-Version, fĂĽr die Installationspakete verfĂĽgbar sind (PHP 7)
|
||||
- PHP-Version, fĂĽr die Installationspakete verfĂĽgbar sind (PHP 7 + 8)
|
||||
- Installation via Composer
|
||||
|
||||
## Kompatibilität:
|
||||
|
|
|
@ -31,9 +31,11 @@
|
|||
}
|
||||
},
|
||||
"require": {
|
||||
"php": "^7.0",
|
||||
"oxid-esales/oxideshop-ce": "6.3 - 6.5",
|
||||
"spipu/html2pdf": "^5.2"
|
||||
"php": "^7.0 || ^8.0",
|
||||
"oxid-esales/oxideshop-ce": "6.3 - 6.14",
|
||||
"spipu/html2pdf": "^5.2",
|
||||
"d3/modcfg": "^5.3.6.000 || ^6",
|
||||
"beberlei/assert": "^3.3.2"
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
|
|
|
@ -2,12 +2,42 @@
|
|||
title: Changelog
|
||||
---
|
||||
|
||||
## noch nicht veröffentlicht
|
||||
All notable changes to this project will be documented in this file.
|
||||
|
||||
---
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
## 1.0.0.0 - (2020-08-13)
|
||||
## [Unreleased](https://git.d3data.de/D3Public/pdfdokumente/compare/1.0.4.0...rel_1.x)
|
||||
|
||||
## [1.0.4.0](https://git.d3data.de/D3Public/pdfdokumente/compare/1.0.3.1...1.0.4.0) - 2023-12-22
|
||||
### Added
|
||||
- installierbar in OXID 6.5.2 + 6.5.3 (CE 6.14)
|
||||
- Modullogo
|
||||
|
||||
### Changed
|
||||
- behandelt fehlende Bestellung bei auf Bestellungen basierenden Dokumenten
|
||||
|
||||
## [1.0.3.1](https://git.d3data.de/D3Public/pdfdokumente/compare/1.0.3.0...1.0.3.1) - 2023-05-09
|
||||
### Fixed
|
||||
- kann mehrere Dokumente auf einmal generieren
|
||||
|
||||
## [1.0.3.0](https://git.d3data.de/D3Public/pdfdokumente/compare/1.0.2.0...1.0.3.0) - 2023-01-04
|
||||
### Added
|
||||
- installierbar in OXID 6.4 und 6.5
|
||||
|
||||
## [1.0.2.0](https://git.d3data.de/D3Public/pdfdokumente/compare/1.0.1.0...1.0.2.0) - 2021-04-30
|
||||
### Added
|
||||
- installierbar in OXID 6.2.4 und 6.3.0
|
||||
- Dateinamen werden auf GĂĽltigkeit hin korrigiert
|
||||
|
||||
### Fixed
|
||||
- Setzen der Rechnungsnummer setzt den "neue Bestellung"-Status nicht zurĂĽck
|
||||
|
||||
## [1.0.1.0](https://git.d3data.de/D3Public/pdfdokumente/compare/1.0.0.0...1.0.1.0) - 2020-08-20
|
||||
### Changed
|
||||
- Dokumentid fĂĽr "Rechnung ohne Logo" angepasst
|
||||
|
||||
## [1.0.1.0](https://git.d3data.de/D3Public/pdfdokumente/tag/1.0.0.0) - 2020-08-13
|
||||
#### Added
|
||||
- Framework zur Erstellung unterschiedlichster PDF Dokumente
|
||||
- ermöglicht Generierung von Rechnungen und Lieferscheinen für Bestellungen aus dem Adminbereich
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
{
|
||||
"title": "<i class='fab fa-d3 d3fa-color-blue'></i> PDF Dokumente",
|
||||
"moduleversion": "1.0.0.0",
|
||||
"moduleversion": "1.0.4.0",
|
||||
"titledesc": "fĂĽr den Oxid eShop",
|
||||
"author": "DÂł Data Development",
|
||||
"moduledate": "13.08.2020",
|
||||
"moduledate": "22.12.2023",
|
||||
"editors": "",
|
||||
"tagline": "",
|
||||
"image": "",
|
||||
|
|
|
@ -3,13 +3,17 @@ title: Systemanforderungen
|
|||
---
|
||||
|
||||
* PHP Version
|
||||
* 7.0.x bis 7.4.x
|
||||
* 7.0.x bis 8.x
|
||||
* Shopversionen / -editionen
|
||||
* OXID eShop Community Edition (CE), Professional Edition (PE) oder Enterprise Edition (EE) in Compilation Version
|
||||
* 6.1.x
|
||||
* 6.2.x
|
||||
* 6.3.x
|
||||
* 6.4.x
|
||||
* 6.5.x
|
||||
* Themes
|
||||
* Diese Modul bindet sich nicht in Frontendthemes ein und ist daher davon unabhängig
|
||||
* (D3) Modul-Connector ([kostenfrei bei D3 erhältlich](https://www.oxidmodule.com/connector/)) ab Version 5.3.6.0
|
||||
* Template-Engine
|
||||
* Smarty
|
||||
* Installation via [Composer](https://getcomposer.org)
|
||||
|
|
|
@ -28,14 +28,15 @@ $aModule = [
|
|||
'de' => $logo.' PDF-Dokumente',
|
||||
'en' => $logo.' PDF documents',
|
||||
],
|
||||
'version' => '1.0',
|
||||
'version' => '1.0.4.0',
|
||||
'author' => 'D³ Data Development (Inh.: Thomas Dartsch)',
|
||||
'email' => 'support@shopmodule.com',
|
||||
'url' => 'http://www.oxidmodule.com/',
|
||||
'url' => 'https://www.oxidmodule.com/',
|
||||
'extend' => [
|
||||
OrderOverview::class => d3_overview_controller_pdfdocuments::class
|
||||
],
|
||||
'controllers' => [],
|
||||
'thumbnail' => 'picture.svg',
|
||||
'templates' => [
|
||||
'd3orderoverview_pdfform.tpl' => 'd3/pdfdocuments/Application/views/tpl/admin/orderoverview_pdfform.tpl',
|
||||
|
||||
|
|
|
@ -0,0 +1,57 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
width="201px" height="124px" viewBox="0 0 201 124" enable-background="new 0 0 201 124" xml:space="preserve">
|
||||
<g>
|
||||
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="47.0591" y1="67.5117" x2="47.0591" y2="54.6143">
|
||||
<stop offset="0.0056" style="stop-color:#3266A9"/>
|
||||
<stop offset="1" style="stop-color:#0099FF"/>
|
||||
</linearGradient>
|
||||
<path fill="url(#SVGID_1_)" d="M50.282,55.502c-0.784-0.592-2.104-0.888-3.961-0.888h-1.376l-2.283,12.898h1.779
|
||||
c3.76,0,6.032-2.245,6.815-6.733c0.134-0.871,0.202-1.642,0.202-2.313C51.457,57.081,51.064,56.093,50.282,55.502z"/>
|
||||
<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="65.9609" y1="49.104" x2="65.9609" y2="36.9434">
|
||||
<stop offset="0.0056" style="stop-color:#3266A9"/>
|
||||
<stop offset="1" style="stop-color:#0099FF"/>
|
||||
</linearGradient>
|
||||
<path fill="url(#SVGID_2_)" d="M65.72,40.482c1.074,0,1.611,0.381,1.611,1.143c0,0.701-0.321,1.201-0.962,1.5
|
||||
c-0.209,0.119-0.366,0.194-0.471,0.224c-0.065,0.019-0.158,0.037-0.271,0.056c1.98,1.621,3.702,3.544,5.097,5.699
|
||||
c0.117-0.321,0.21-0.658,0.277-1.013l0.09-1.008c0-1.223-0.568-2.081-1.701-2.574c0.776-0.402,1.376-0.94,1.801-1.611
|
||||
c0.425-0.672,0.638-1.418,0.638-2.239c0-0.642-0.198-1.265-0.593-1.868c-0.396-0.605-0.98-1.049-1.757-1.333
|
||||
c-0.433-0.193-0.876-0.328-1.332-0.402c-0.456-0.075-1.003-0.113-1.645-0.113c-0.82,0-1.663,0.124-2.529,0.37
|
||||
c-0.865,0.246-1.6,0.563-2.204,0.952s-1.13,0.907-1.578,1.557c-0.036,0.052-0.066,0.109-0.101,0.163
|
||||
c1.196,0.534,2.341,1.163,3.426,1.874C63.947,40.943,64.68,40.482,65.72,40.482z"/>
|
||||
<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="50.0576" y1="87.0566" x2="50.0576" y2="37.8525">
|
||||
<stop offset="0.0056" style="stop-color:#3266A9"/>
|
||||
<stop offset="1" style="stop-color:#0099FF"/>
|
||||
</linearGradient>
|
||||
<path fill="url(#SVGID_3_)" d="M70.725,49.104c-0.433,1.189-1.208,2.147-2.331,2.871c-1.425,0.918-3.182,1.377-5.271,1.377
|
||||
c-1.179,0-2.175-0.176-2.988-0.525c-0.813-0.35-1.444-0.864-1.891-1.543c-0.448-0.678-0.671-1.481-0.671-2.405l0.022-0.694
|
||||
l0.156-0.693h4.367l-0.028,0.179v0.179v0.246c0,1.164,0.628,1.746,1.884,1.746c0.635,0,1.201-0.217,1.696-0.649
|
||||
c0.495-0.434,0.742-0.94,0.742-1.522c0-0.522-0.194-0.887-0.582-1.097c-0.329-0.208-1.007-0.313-2.036-0.313l0.47-2.754
|
||||
l1.141-0.067c0.083-0.011,0.154-0.022,0.221-0.033c-0.674-0.551-1.378-1.067-2.11-1.546c-0.044,0.096-0.087,0.195-0.125,0.302
|
||||
h-4.185c0.192-0.837,0.49-1.56,0.884-2.175c-3.064-1.372-6.46-2.133-10.034-2.133c-13.588,0-24.603,11.014-24.603,24.601
|
||||
c0,13.59,11.015,24.604,24.603,24.604S74.66,76.043,74.66,62.453C74.66,57.532,73.214,52.949,70.725,49.104z M59.413,59.233
|
||||
l-0.168,1.275c-0.538,2.953-1.511,5.404-2.921,7.35c-1.298,1.835-3.016,3.179-5.153,4.028c-2.138,0.851-4.494,1.274-7.067,1.274
|
||||
H33.731l4.264-24.198h10.441c1.141,0,2.204,0.073,3.189,0.218c0.984,0.146,1.868,0.364,2.651,0.655
|
||||
c1.611,0.537,2.887,1.471,3.827,2.802c0.94,1.332,1.41,2.992,1.41,4.984L59.413,59.233z"/>
|
||||
</g>
|
||||
<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="107.3027" y1="105.8555" x2="93.0727" y2="16.0106">
|
||||
<stop offset="0" style="stop-color:#B2B2B2;stop-opacity:0"/>
|
||||
<stop offset="0.2" style="stop-color:#B2B2B2"/>
|
||||
<stop offset="0.8" style="stop-color:#B2B2B2"/>
|
||||
<stop offset="1" style="stop-color:#B2B2B2;stop-opacity:0"/>
|
||||
</linearGradient>
|
||||
<rect x="99.875" y="14.933" fill="url(#SVGID_4_)" width="0.625" height="92"/>
|
||||
<script xmlns=""></script>
|
||||
<path d="M126.531,43.25c0-3.446,2.801-6.25,6.25-6.25h15.624v12.5c0,1.729,1.398,3.125,3.126,3.125h12.5v14.063h-20.313
|
||||
c-3.448,0-6.25,2.801-6.25,6.25V87h-4.688c-3.449,0-6.25-2.801-6.25-6.248V43.25z M164.031,49.5h-12.5V37L164.031,49.5z
|
||||
M143.719,71.375h3.125c3.018,0,5.469,2.451,5.469,5.469s-2.451,5.471-5.469,5.471h-1.563v3.123c0,0.861-0.702,1.563-1.563,1.563
|
||||
c-0.861,0-1.563-0.701-1.563-1.563v-4.686v-7.814C142.156,72.076,142.857,71.375,143.719,71.375z M146.844,79.188
|
||||
c1.3,0,2.343-1.043,2.343-2.344c0-1.299-1.043-2.344-2.343-2.344h-1.563v4.688H146.844z M156.218,71.375h3.125
|
||||
c2.589,0,4.688,2.102,4.688,4.688v6.252c0,2.586-2.1,4.686-4.688,4.686h-3.125c-0.86,0-1.562-0.701-1.562-1.563v-12.5
|
||||
C154.656,72.076,155.357,71.375,156.218,71.375z M159.343,83.875c0.861,0,1.563-0.703,1.563-1.561v-6.252
|
||||
c0-0.861-0.702-1.563-1.563-1.563h-1.563v9.375H159.343z M167.155,72.938c0-0.861,0.703-1.563,1.563-1.563h4.688
|
||||
c0.861,0,1.563,0.701,1.563,1.563s-0.701,1.563-1.563,1.563h-3.124v3.125h3.124c0.861,0,1.563,0.703,1.563,1.563
|
||||
s-0.701,1.564-1.563,1.564h-3.124v4.686c0,0.861-0.703,1.563-1.563,1.563c-0.859,0-1.563-0.701-1.563-1.563v-6.25V72.938z"/>
|
||||
</svg>
|
After Width: | Height: | Size: 4.8 KiB |
Loading…
Reference in New Issue