diff --git a/dev_db/install_mongo.dump b/dev_db/install_mongo.dump index eab2e008b..04241baa2 100644 Binary files a/dev_db/install_mongo.dump and b/dev_db/install_mongo.dump differ diff --git a/dev_db/mariadb.sql b/dev_db/mariadb.sql index 1ba9415a9..afed87890 100644 --- a/dev_db/mariadb.sql +++ b/dev_db/mariadb.sql @@ -933,7 +933,7 @@ CREATE TABLE `contact_address` ( `email` varchar(255) DEFAULT NULL, `type` int(1) NOT NULL, `company` varchar(100) DEFAULT NULL, - `anrede` varchar(100) NOT NULL, + `anrede` varchar(100) DEFAULT 1, `country` varchar(100) DEFAULT NULL, `fax` varchar(255) DEFAULT NULL, `company2` varchar(255) DEFAULT NULL, diff --git a/src/new/src/PSC/Shop/EntityBundle/Document/Order.php b/src/new/src/PSC/Shop/EntityBundle/Document/Order.php index 7b990330b..5e89b53f5 100755 --- a/src/new/src/PSC/Shop/EntityBundle/Document/Order.php +++ b/src/new/src/PSC/Shop/EntityBundle/Document/Order.php @@ -2,10 +2,10 @@ namespace PSC\Shop\EntityBundle\Document; -use Doctrine\ODM\MongoDB\Mapping\Annotations\Field; -use Doctrine\ODM\MongoDB\Mapping\Annotations\Id; use Doctrine\ODM\MongoDB\Mapping\Annotations\Document; use Doctrine\ODM\MongoDB\Mapping\Annotations\EmbedOne; +use Doctrine\ODM\MongoDB\Mapping\Annotations\Field; +use Doctrine\ODM\MongoDB\Mapping\Annotations\Id; use PSC\Shop\EntityBundle\Document\Embed\Operator; #[Document] @@ -18,7 +18,7 @@ class Order protected $uid; #[Field(type: 'string')] - protected ?string $notices = ""; + protected null|string $notices = ''; #[Field(type: 'bool')] protected $packageExported; @@ -30,17 +30,23 @@ class Order protected $draft = false; #[Field(type: 'raw')] - protected string $vouchers = ""; + protected string $vouchers = ''; #[Field(type: 'raw')] - protected string $discounts = ""; + protected string $discounts = ''; + #[Field(type: 'collection')] + protected $voucherProduct = []; + #[Field(type: 'collection')] + protected $voucherPayment = []; + #[Field(type: 'collection')] + protected $voucherShipping = []; /** * @return bool */ public function isSendDataToShipping(): bool { - return (bool)$this->sendDataToShipping; + return (bool) $this->sendDataToShipping; } /** @@ -50,22 +56,23 @@ class Order { $this->sendDataToShipping = $sendDataToShipping; } + /** - * @var string $externalOrderNumber; - */ + * @var string $externalOrderNumber; + */ #[Field(type: 'string')] protected $externalOrderNumber; /** - * @var string $paymentRef; - */ + * @var string $paymentRef; + */ #[Field(type: 'string')] protected $paymentRef; #[Field(type: 'string')] protected $paymentGateway; /** - * @var string $paymentToken; - */ + * @var string $paymentToken; + */ #[Field(type: 'string')] protected $paymentToken; #[Field(type: 'hash')] @@ -79,15 +86,16 @@ class Order #[EmbedOne] protected $senderAddressSaved; #[EmbedOne] - protected ?Operator $operator = null; + protected null|Operator $operator = null; #[EmbedOne] protected $contactSaved; /** - * @var boolean $withTax - */ + * @var boolean $withTax + */ #[Field(type: 'bool')] protected $withTax; + /** * @return string */ @@ -191,16 +199,16 @@ class Order */ public function setPluginSettingModule($module, $key, $value) { - $this->pluginSettings[$module ] [$key] = $value; + $this->pluginSettings[$module][$key] = $value; } public function getPluginSettingModule($module, $key) { - if (!isset($this->pluginSettings[$module ]) || !isset($this->pluginSettings[$module ] [$key])) { + if (!isset($this->pluginSettings[$module]) || !isset($this->pluginSettings[$module][$key])) { return null; } - return $this->pluginSettings[$module ] [$key]; + return $this->pluginSettings[$module][$key]; } /** @@ -272,7 +280,7 @@ class Order */ public function getExternalOrderNumber(): string { - return (string)$this->externalOrderNumber; + return (string) $this->externalOrderNumber; } /** @@ -286,25 +294,25 @@ class Order /** * @return ?float */ - public function getGutscheinAbzugNetto(): ?float + public function getGutscheinAbzugNetto(): null|float { - return (float)$this->gutscheinAbzugNetto; + return (float) $this->gutscheinAbzugNetto; } /** * @param ?float $gutscheinAbzugNetto */ - public function setGutscheinAbzugNetto(?float $gutscheinAbzugNetto): void + public function setGutscheinAbzugNetto(null|float $gutscheinAbzugNetto): void { $this->gutscheinAbzugNetto = $gutscheinAbzugNetto; } - public function getNotices(): ?string + public function getNotices(): null|string { return $this->notices; } - public function setNotices(?string $notices): void + public function setNotices(null|string $notices): void { $this->notices = $notices; } @@ -340,27 +348,127 @@ class Order { $this->paymentGateway = $paymentGateway; } + public function setDiscounts(string $discounts): void { $this->discounts = $discounts; } + public function getDiscounts(): string { return $this->discounts; } + public function setVouchers(string $vouchers): void { $this->vouchers = $vouchers; } + public function getVouchers(): string { return $this->vouchers; } - public function setOperator(?Operator $operator): void + + public function setVoucherProduct(array $var): void + { + $this->voucherProduct = $var; + } + + public function getVoucherProduct(): array + { + return (array) $this->voucherProduct; + } + + public function setVoucherPayment(array $var): void + { + $this->voucherPayment = $var; + } + + public function getVoucherPayment(): array + { + return (array) $this->voucherPayment; + } + + public function setVoucherShipping(array $var): void + { + $this->voucherShipping = $var; + } + + public function getVoucherShipping(): array + { + return (array) $this->voucherShipping; + } + + public function getOverallSumNetto(): float + { + $alleArrays = array_merge($this->voucherProduct, $this->voucherPayment, $this->voucherShipping); + $netto = 0; + foreach ($alleArrays as $item) { + $netto += $item['netto']; + } + + return $netto; + } + + public function getOverallSumSteuer(): float + { + $alleArrays = array_merge($this->voucherProduct, $this->voucherPayment, $this->voucherShipping); + $netto = 0; + foreach ($alleArrays as $item) { + $netto += $item['steuer']; + } + + return $netto; + } + + public function getOverallSumBrutto(): float + { + $alleArrays = array_merge($this->voucherProduct, $this->voucherPayment, $this->voucherShipping); + $netto = 0; + foreach ($alleArrays as $item) { + $netto += $item['brutto']; + } + + return $netto; + } + + public function getVoucherSum(): array + { + $alleArrays = array_merge($this->voucherProduct, $this->voucherPayment, $this->voucherShipping); + + // Summen nach Prozentsatz gruppieren + $summen = []; + + foreach ($alleArrays as $item) { + $prozent = $item['prozent']; + + if (!isset($summen[$prozent])) { + $summen[$prozent] = [ + 'brutto' => 0, + 'netto' => 0, + 'prozent' => $prozent, + 'steuer' => 0, + 'rabatt' => 0, + ]; + } + + $summen[$prozent]['brutto'] += $item['brutto']; + $summen[$prozent]['netto'] += $item['netto']; + $summen[$prozent]['steuer'] += $item['steuer']; + $summen[$prozent]['rabatt'] += $item['rabatt']; + } + + // Umwandeln in numerisch indiziertes Array (optional) + $summen = array_values($summen); + return $summen; + } + + public function setOperator(null|Operator $operator): void { $this->operator = $operator; } - public function getOperator(): ?Operator + + public function getOperator(): null|Operator { return $this->operator; } diff --git a/src/new/src/PSC/System/SettingsBundle/Service/TemplateVars.php b/src/new/src/PSC/System/SettingsBundle/Service/TemplateVars.php index 5d214e117..343165d12 100755 --- a/src/new/src/PSC/System/SettingsBundle/Service/TemplateVars.php +++ b/src/new/src/PSC/System/SettingsBundle/Service/TemplateVars.php @@ -65,10 +65,17 @@ class TemplateVars protected Base $orderModel; - protected $twigVars = array(); + protected $twigVars = []; - public function __construct($projectDir, EntityManagerInterface $em, TokenStorageInterface $tokenStorage, DocumentManager $mongoManager, Environment $twig, PaperDB $paperDb, Order $orderService) - { + public function __construct( + $projectDir, + EntityManagerInterface $em, + TokenStorageInterface $tokenStorage, + DocumentManager $mongoManager, + Environment $twig, + PaperDB $paperDb, + Order $orderService, + ) { $this->entityManager = $em; $this->tokenStorage = $tokenStorage; $this->mongoManager = $mongoManager; @@ -78,17 +85,15 @@ class TemplateVars $this->orderService = $orderService; } - public function loadOrder($uuid) { - if ($this->loaded && $this->order->getUuid() == $uuid) { return true; } $orderRepo = $this->entityManager->getRepository('PSC\Shop\EntityBundle\Entity\Order'); - $this->order = $orderRepo->findOneBy(array('uuid' => $uuid)); + $this->order = $orderRepo->findOneBy(['uuid' => $uuid]); $this->positions = $this->order->getPositions(); $this->orderModel = $this->orderService->getOrderByUuid($uuid); $this->generateTwigVars(); @@ -100,18 +105,17 @@ class TemplateVars private function generateTwigVars() { - /** @var \PSC\Shop\EntityBundle\Document\Order $orderObj */ $orderObj = $this->mongoManager ->getRepository('PSC\Shop\EntityBundle\Document\Order') - ->findOneBy(array('uid' => (string) $this->order->getUid())); + ->findOneBy(['uid' => (string) $this->order->getUid()]); $contact = $this->order->getContact(); /** @var \PSC\Shop\EntityBundle\Document\Contact $contactObj */ $contactObj = $this->mongoManager ->getRepository('PSC\Shop\EntityBundle\Document\Contact') - ->findOneBy(array('uid' => (string) $contact->getId())); + ->findOneBy(['uid' => (string) $contact->getId()]); $invoiceAddress = null; $deliveryAddress = null; $senderAddress = null; @@ -135,36 +139,41 @@ class TemplateVars $shipping = $this->order->getShippingType(); $payment = $this->order->getPaymentType(); - $positions = array(); + $positions = []; - $mwert = array(); + $mwert = []; /** @var Orderpos $pos */ foreach ($this->positions as $pos) { - /** @var Position $objDoc */ - $objDoc = $this->mongoManager - ->getRepository(Position::class) - ->findOneBy(['uid' => (string)$pos->getId()]); + $objDoc = $this->mongoManager->getRepository(Position::class)->findOneBy(['uid' => (string) $pos->getId()]); /** @var \TP_Basket_Item $objPosition */ - $objPosition = unserialize(($pos->getData())); + $objPosition = unserialize($pos->getData()); $paperContainer = new PaperContainer(); $paperContainer->parse(simplexml_load_string($shop->getInstall()->getPaperContainer())); /** @var \PSC\Shop\EntityBundle\Document\Product $productDoc */ $productDoc = $this->mongoManager ->getRepository('PSC\Shop\EntityBundle\Document\Product') - ->findOneBy(array('uid' => (string) $pos->getProduct()->getUid())); + ->findOneBy(['uid' => (string) $pos->getProduct()->getUid()]); if (isset($mwert[$pos->getProduct()->getMwert()])) { - $mwert[$pos->getProduct()->getMwert()] = ['netto' => $pos->getPriceAllNetto() + $mwert[$pos->getProduct()->getMwert()]['netto'], 'brutto' => $pos->getPriceAllBrutto() + $mwert[$pos->getProduct()->getMwert()]['brutto'], 'steuer' => $pos->getPriceAllSteuer() + $mwert[$pos->getProduct()->getMwert()]['steuer']]; + $mwert[$pos->getProduct()->getMwert()] = [ + 'netto' => $pos->getPriceAllNetto() + $mwert[$pos->getProduct()->getMwert()]['netto'], + 'brutto' => $pos->getPriceAllBrutto() + $mwert[$pos->getProduct()->getMwert()]['brutto'], + 'steuer' => $pos->getPriceAllSteuer() + $mwert[$pos->getProduct()->getMwert()]['steuer'], + ]; } else { - $mwert[$pos->getProduct()->getMwert()] = ['netto' => $pos->getPriceAllNetto(), 'brutto' => $pos->getPriceAllBrutto(), 'steuer' => $pos->getPriceAllSteuer()]; + $mwert[$pos->getProduct()->getMwert()] = [ + 'netto' => $pos->getPriceAllNetto(), + 'brutto' => $pos->getPriceAllBrutto(), + 'steuer' => $pos->getPriceAllSteuer(), + ]; } - if (trim($pos->getProduct()->getScaledPrice()) != "") { - $tmp = array( + if (trim($pos->getProduct()->getScaledPrice()) != '') { + $tmp = [ 'pos' => $pos->getPos(), 'count' => $objPosition->getOptions()['auflage'], 'product' => $pos->getProduct(), @@ -174,8 +183,8 @@ class TemplateVars 'objDoc' => $objDoc, 'engine' => false, 'calc' => false, - 'set' => false - ); + 'set' => false, + ]; } elseif ($pos->hasCalcXml()) { $engine = new Engine(); $engine->setPaperRepository($this->paperDb); @@ -200,7 +209,7 @@ class TemplateVars if (isset($objPosition->getOptions()['kalk_artikel'])) { $engine->setActiveArticle($objPosition->getOptions()['kalk_artikel']); } - if ($objPosition->getXmlProduct() != "") { + if ($objPosition->getXmlProduct() != '') { $engine->setActiveArticle($objPosition->getXmlProduct()); } $engine->calc(); @@ -214,7 +223,7 @@ class TemplateVars $count = $auflage->getRawValue(); } - $tmp = array( + $tmp = [ 'pos' => $pos->getPos(), 'count' => $count, 'product' => $pos->getProduct(), @@ -225,10 +234,9 @@ class TemplateVars 'engine' => $engine, 'set' => false, 'rabatte' => $tmpDiscounts, - ); - + ]; } else { - $tmp = array( + $tmp = [ 'pos' => $pos->getPos(), 'count' => $pos->getCount(), 'product' => $pos->getProduct(), @@ -238,8 +246,8 @@ class TemplateVars 'objDoc' => $objDoc, 'engine' => false, 'calc' => false, - 'set' => false - ); + 'set' => false, + ]; } $setConfig = $pos->getProduct()->getSetConfig(); @@ -254,7 +262,7 @@ class TemplateVars } if (count($setConfig) > 0) { - $productSets = array(); + $productSets = []; foreach ($setConfig as $conf) { /** @var Product $product */ $product = $productRepo->findOneBy(['uid' => $conf->article_id]); @@ -288,16 +296,17 @@ class TemplateVars $tmp['set'] = $productSets; } - if ($objDoc && $objDoc->getLayouterId() != "") { + if ($objDoc && $objDoc->getLayouterId() != '') { /** @var Layoutdesigndata $layoutData */ $layoutData = $this->entityManager - ->getRepository('PSC\Shop\EntityBundle\Entity\Layoutdesigndata')->findOneBy(array('uuid' => $objDoc->getLayouterId())); + ->getRepository('PSC\Shop\EntityBundle\Entity\Layoutdesigndata') + ->findOneBy(['uuid' => $objDoc->getLayouterId()]); if ($layoutData) { $config = $layoutData->getDesign(); if (isset($config['products'])) { - $productSets = array(); + $productSets = []; foreach ($config['products'] as $art) { if (isset($art['uid'])) { @@ -331,7 +340,6 @@ class TemplateVars } } - $tmp['set'] = $productSets; } } @@ -343,24 +351,65 @@ class TemplateVars /** @var \PSC\Shop\EntityBundle\Document\Shop $shop */ $shopDoc = $this->mongoManager ->getRepository('PSC\Shop\EntityBundle\Document\Shop') - ->findOneBy(array('uid' => (string) $shop->getUid())); + ->findOneBy(['uid' => (string) $shop->getUid()]); if ($this->order->getZahlKosten() != 0) { if (isset($mwert[$payment->getTaxClass()])) { - $mwert[$payment->getTaxClass()] = ['netto' => $mwert[$payment->getTaxClass()]['netto'] + $this->order->getZahlKosten(), 'brutto' => $mwert[$payment->getTaxClass()]['brutto'] + $this->order->getZahlKosten() + ($this->order->getZahlKosten() / 100 * $payment->getTaxClass()) , 'steuer' => $mwert[$payment->getTaxClass()]['steuer'] + ($this->order->getZahlKosten() / 100 * $payment->getTaxClass())]; + $mwert[$payment->getTaxClass()] = [ + 'netto' => $mwert[$payment->getTaxClass()]['netto'] + $this->order->getZahlKosten(), + 'brutto' => + + $mwert[$payment->getTaxClass()]['brutto'] + + $this->order->getZahlKosten() + + (($this->order->getZahlKosten() / 100) * $payment->getTaxClass()) + , + 'steuer' => + + $mwert[$payment->getTaxClass()]['steuer'] + + (($this->order->getZahlKosten() / 100) * $payment->getTaxClass()) + , + ]; } else { - $mwert[$payment->getTaxClass()] = ['netto' => $this->order->getZahlKosten(), 'brutto' => $this->order->getZahlKosten() + ($this->order->getZahlKosten() / 100 * $payment->getTaxClass()), 'steuer' => $this->order->getZahlKosten() / 100 * $payment->getTaxClass()]; + $mwert[$payment->getTaxClass()] = [ + 'netto' => $this->order->getZahlKosten(), + 'brutto' => + + $this->order->getZahlKosten() + + (($this->order->getZahlKosten() / 100) * $payment->getTaxClass()) + , + 'steuer' => ($this->order->getZahlKosten() / 100) * $payment->getTaxClass(), + ]; } } if ($this->order->getVersandKosten() != 0) { if (isset($mwert[$shipping->getTaxClass()])) { - $mwert[$shipping->getTaxClass()] = ['netto' => $mwert[$shipping->getTaxClass()]['netto'] + $this->order->getVersandKosten(), 'brutto' => $mwert[$shipping->getTaxClass()]['brutto'] + $this->order->getVersandKosten() + ($this->order->getVersandKosten() / 100 * $payment->getTaxClass()), 'steuer' => $mwert[$shipping->getTaxClass()]['steuer'] + ($this->order->getVersandKosten() / 100 * $payment->getTaxClass())]; + $mwert[$shipping->getTaxClass()] = [ + 'netto' => $mwert[$shipping->getTaxClass()]['netto'] + $this->order->getVersandKosten(), + 'brutto' => + + $mwert[$shipping->getTaxClass()]['brutto'] + + $this->order->getVersandKosten() + + (($this->order->getVersandKosten() / 100) * $payment->getTaxClass()) + , + 'steuer' => + + $mwert[$shipping->getTaxClass()]['steuer'] + + (($this->order->getVersandKosten() / 100) * $payment->getTaxClass()) + , + ]; } else { - $mwert[$shipping->getTaxClass()] = ['netto' => $this->order->getVersandKosten(), 'brutto' => $this->order->getVersandKosten() + ($this->order->getVersandKosten() / 100 * $payment->getTaxClass()), 'steuer' => $this->order->getVersandKosten() / 100 * $payment->getTaxClass()]; + $mwert[$shipping->getTaxClass()] = [ + 'netto' => $this->order->getVersandKosten(), + 'brutto' => + + $this->order->getVersandKosten() + + (($this->order->getVersandKosten() / 100) * $payment->getTaxClass()) + , + 'steuer' => ($this->order->getVersandKosten() / 100) * $payment->getTaxClass(), + ]; } } - - $this->twigVars = array( + $this->twigVars = [ 'contact' => $contact, 'contactDoc' => $contactObj, 'account' => $contact->getAccount(), @@ -376,8 +425,8 @@ class TemplateVars 'orderObj' => $orderObj, 'orderDoc' => $orderObj, 'positions' => $positions, - 'orderModel' => $this->orderModel - ); + 'orderModel' => $this->orderModel, + ]; } /** @@ -397,21 +446,33 @@ class TemplateVars public static function getHelp() { - return [[ - \PSC\Shop\QueueBundle\Help\Shop::getColumn(), - \PSC\Shop\QueueBundle\Help\Contact::getColumn(), - \PSC\Shop\QueueBundle\Help\Payment::getColumn(), - \PSC\Shop\QueueBundle\Help\Shipping::getColumn() - ], [ - \PSC\Shop\QueueBundle\Help\Address::getColumn('invoiceAddress.', 'Rechnungsadresse'), - \PSC\Shop\QueueBundle\Help\Address::getColumn('deliveryAddress.', 'Lieferadresse'), - \PSC\Shop\QueueBundle\Help\Address::getColumn('senderAddress.', 'Absenderadresse'), - \PSC\Shop\QueueBundle\Help\Position::getColumn(), - ]]; + return [ + [ + \PSC\Shop\QueueBundle\Help\Shop::getColumn(), + \PSC\Shop\QueueBundle\Help\Contact::getColumn(), + \PSC\Shop\QueueBundle\Help\Payment::getColumn(), + \PSC\Shop\QueueBundle\Help\Shipping::getColumn(), + ], + [ + \PSC\Shop\QueueBundle\Help\Address::getColumn('invoiceAddress.', 'Rechnungsadresse'), + \PSC\Shop\QueueBundle\Help\Address::getColumn('deliveryAddress.', 'Lieferadresse'), + \PSC\Shop\QueueBundle\Help\Address::getColumn('senderAddress.', 'Absenderadresse'), + \PSC\Shop\QueueBundle\Help\Position::getColumn(), + ], + ]; } - public function getProductTwigVars(Product $product, Contact $contact, $count, $options, $additionalInfos, $netto, $steuer, $brutto, $xmlProduct = "") - { + public function getProductTwigVars( + Product $product, + Contact $contact, + $count, + $options, + $additionalInfos, + $netto, + $steuer, + $brutto, + $xmlProduct = '', + ) { $shop = $product->getShop(); $account = new Account(); @@ -422,13 +483,12 @@ class TemplateVars /** @var \PSC\Shop\EntityBundle\Document\Product $productDoc */ $productDoc = $this->mongoManager ->getRepository('PSC\Shop\EntityBundle\Document\Product') - ->findOneBy(array('uid' => (string) $product->getUid())); + ->findOneBy(['uid' => (string) $product->getUid()]); /** @var \PSC\Shop\EntityBundle\Document\Contact $contactObj */ $contactObj = $this->mongoManager ->getRepository('PSC\Shop\EntityBundle\Document\Contact') - ->findOneBy(array('uid' => (string) $contact->getId())); - + ->findOneBy(['uid' => (string) $contact->getId()]); $anonym = true; if ($contact->getUid() != null) { @@ -439,8 +499,8 @@ class TemplateVars $anonym = false; } - if ($product->getScaledPrice() != "") { - $tmp = array( + if ($product->getScaledPrice() != '') { + $tmp = [ 'count' => $options['auflage'], 'product' => $product, 'productObj' => $productDoc, @@ -450,7 +510,7 @@ class TemplateVars 'netto' => $netto, 'steuer' => $steuer, 'brutto' => $brutto, - ); + ]; } elseif ($product->hasCalcXml() && $product->getType() == 6) { $paperContainer = new PaperContainer(); $paperContainer->parse(simplexml_load_string($shop->getInstall()->getPaperContainer())); @@ -470,14 +530,14 @@ class TemplateVars if (isset($options['kalk_artikel'])) { $engine->setActiveArticle($options['kalk_artikel']); } - if ($xmlProduct != "") { + if ($xmlProduct != '') { $engine->setActiveArticle($xmlProduct); } $articleCalc = $engine->getArticle(); - $tmp = array( - 'count' => (isset($options['auflage'])) ? $options['auflage'] : $count, + $tmp = [ + 'count' => isset($options['auflage']) ? $options['auflage'] : $count, 'product' => $product, 'productObj' => $productDoc, 'calc' => $articleCalc, @@ -486,9 +546,9 @@ class TemplateVars 'netto' => $engine->getPrice(), 'steuer' => $engine->getTaxPrice(), 'brutto' => $engine->getPrice() + $engine->getTaxPrice(), - ); + ]; } else { - $tmp = array( + $tmp = [ 'count' => $count, 'product' => $product, 'productObj' => $productDoc, @@ -498,13 +558,13 @@ class TemplateVars 'netto' => $netto, 'steuer' => $steuer, 'brutto' => $brutto, - 'additionalInfos' => $additionalInfos - ); + 'additionalInfos' => $additionalInfos, + ]; } /** @var \PSC\Shop\EntityBundle\Document\Shop $shop */ $shopDoc = $this->mongoManager ->getRepository('PSC\Shop\EntityBundle\Document\Shop') - ->findOneBy(array('uid' => (string) $shop->getUid())); + ->findOneBy(['uid' => (string) $shop->getUid()]); return [ 'contact' => $contact, diff --git a/src/new/var/plugins/Custom/PSC/CollectLayouter/Helper/SaveFiles.php b/src/new/var/plugins/Custom/PSC/CollectLayouter/Helper/SaveFiles.php index 2054d6747..ed70640d4 100755 --- a/src/new/var/plugins/Custom/PSC/CollectLayouter/Helper/SaveFiles.php +++ b/src/new/var/plugins/Custom/PSC/CollectLayouter/Helper/SaveFiles.php @@ -140,8 +140,12 @@ class SaveFiles if ($elm = $this->data->getElement($element, $this->contact)) { if ($element->getType() == ElementType::Image && $elm['value'] != '') { $media = $this->mediaManager->getModelByUuid($elm['value']); - $elmMedia = $media->getVariant($element->getImage()->aspectRatio); - $formData[$element->getId()] = ['value' => $elmMedia, 'enable' => (bool) $elm['enable']]; + if ($element->getImage()->aspectRatio == null) { + $formData[$element->getId()] = ['value' => $media, 'enable' => (bool) $elm['enable']]; + } else { + $elmMedia = $media->getVariant($element->getImage()->aspectRatio); + $formData[$element->getId()] = ['value' => $elmMedia, 'enable' => (bool) $elm['enable']]; + } } else { $formData[$element->getId()] = ['value' => $elm['value'], 'enable' => $elm['enable']]; } diff --git a/src/new/var/plugins/Custom/PSC/CollectLayouter/Model/Element.php b/src/new/var/plugins/Custom/PSC/CollectLayouter/Model/Element.php index 8e03bca10..a54246c2b 100755 --- a/src/new/var/plugins/Custom/PSC/CollectLayouter/Model/Element.php +++ b/src/new/var/plugins/Custom/PSC/CollectLayouter/Model/Element.php @@ -6,24 +6,24 @@ use PSC\Shop\MediaBundle\Model\Media; class Element { - private ?ElementBinding $binding = null; - private ?ElementType $type = null; - private ?string $label = ""; - private ?bool $optional = false; - private ?bool $optionalDefault = true; - private ?string $default1 = ""; - private ?string $default2 = ""; - private ?string $default3 = ""; - private ?string $default4 = ""; - private ?bool $saveBack = false; - private ?bool $required = false; - private ?bool $list = false; - private ?string $id = ""; + private null|ElementBinding $binding = null; + private null|ElementType $type = null; + private null|string $label = ''; + private null|bool $optional = false; + private null|bool $optionalDefault = true; + private null|string $default1 = ''; + private null|string $default2 = ''; + private null|string $default3 = ''; + private null|string $default4 = ''; + private null|bool $saveBack = false; + private null|bool $required = false; + private null|bool $list = false; + private null|string $id = ''; - private ?int $pos = 1; + private null|int $pos = 1; - private ?Phone $phone = null; - private ?Image $image = null; + private null|Phone $phone = null; + private null|Image $image = null; public function __construct() { @@ -33,166 +33,168 @@ class Element $this->type = ElementType::eMail; } - public function getLabel(): ?string + public function getLabel(): null|string { return $this->label; } - public function setLabel(?string $label): void + public function setLabel(null|string $label): void { $this->label = $label; } - public function getOptional(): ?bool + public function getOptional(): null|bool { return $this->optional; } - public function setOptional(?bool $optional): void + public function setOptional(null|bool $optional): void { $this->optional = $optional; } public function getDefault1(): string { - return (string)$this->default1; + return (string) $this->default1; } - public function setDefault1(?string $default1): void + public function setDefault1(null|string $default1): void { $this->default1 = $default1; } - public function getSaveBack(): ?bool + public function getSaveBack(): null|bool { return $this->saveBack; } - public function setSaveBack(?bool $saveBack): void + public function setSaveBack(null|bool $saveBack): void { $this->saveBack = $saveBack; } - public function getBinding(): ?ElementBinding + public function getBinding(): null|ElementBinding { return $this->binding; } - public function setBinding(?ElementBinding $binding): void + public function setBinding(null|ElementBinding $binding): void { $this->binding = $binding; } - public function getType(): ?ElementType + public function getType(): null|ElementType { return $this->type; } - public function setType(?ElementType $type): void + public function setType(null|ElementType $type): void { $this->type = $type; } - public function getId(): ?string + public function getId(): null|string { return $this->id; } - public function setId(?string $id): void + public function setId(null|string $id): void { $this->id = $id; } - public function getOptionalDefault(): ?bool + public function getOptionalDefault(): null|bool { return $this->optionalDefault; } - public function setOptionalDefault(?bool $optionalDefault): void + public function setOptionalDefault(null|bool $optionalDefault): void { $this->optionalDefault = $optionalDefault; } public function getDefault2(): string { - return (string)$this->default2; + return (string) $this->default2; } - public function setDefault2(?string $default2): void + public function setDefault2(null|string $default2): void { $this->default2 = $default2; } public function getDefault3(): string { - return (string)$this->default3; + return (string) $this->default3; } - public function setDefault3(?string $default3): void + public function setDefault3(null|string $default3): void { $this->default3 = $default3; } public function getDefault4(): string { - return (string)$this->default4; + return (string) $this->default4; } - public function setDefault4(?string $default4): void + public function setDefault4(null|string $default4): void { $this->default4 = $default4; } public function getDefaultForType(): null|string|array { - return match($this->type) { - + return match ($this->type) { default => $this->default1, ElementType::eMail, ElementType::Text, ElementType::Image => $this->default1, ElementType::Phone => [$this->default1, $this->default2, $this->default3, $this->default4], ElementType::StreetHouseNumber, ElementType::ZipCity => [$this->default1, $this->default2], - }; } public function getDefaultForTypePreview(): null|string|array { - return match($this->type) { + return match ($this->type) { default => $this->default1, ElementType::eMail, ElementType::Text, ElementType::Image => $this->default1, - ElementType::Phone => ['areacode' => $this->default1, 'prefix' => $this->default2, 'number' => $this->default3, 'appendix' => $this->default4], + ElementType::Phone => [ + 'areacode' => $this->default1, + 'prefix' => $this->default2, + 'number' => $this->default3, + 'appendix' => $this->default4, + ], ElementType::StreetHouseNumber => ['street' => $this->default1, 'houseNumber' => $this->default2], ElementType::ZipCity => ['zip' => $this->default1, 'city' => $this->default2], - }; } - public function getRequired(): ?bool + public function getRequired(): null|bool { return $this->required; } - public function setRequired(?bool $required): void + public function setRequired(null|bool $required): void { $this->required = $required; } - public function getImage(): ?Image + public function getImage(): null|Image { return $this->image; } - public function setImage(?Image $image): void + public function setImage(null|Image $image): void { $this->image = $image; } - public function getPhone(): ?Phone + public function getPhone(): null|Phone { return $this->phone; } - public function setPhone(?Phone $phone): void + public function setPhone(null|Phone $phone): void { $this->phone = $phone; } @@ -202,62 +204,64 @@ class Element if ($this->type === ElementType::Image && $value != null && $value instanceof Media) { $this->setDefault1($value->getUuid()); $this->image->url = $value->getUrl(); - $this->image->variantUrl = $value->getVariant($this->image->aspectRatio)->getUrl(); + if ($this->image->aspectRatio != null) { + $this->image->variantUrl = $value->getVariant($this->image->aspectRatio)->getUrl(); + } else { + } + $this->image->title = $value->getTitle(); return; } if ($this->type === ElementType::Phone) { if (isset($value[0]) && !$this->phone->fixAreaCode) { - $this->setDefault1((string)$value[0]); + $this->setDefault1((string) $value[0]); } if (isset($value[1]) && !$this->phone->fixPrefix) { - $this->setDefault2((string)$value[1]); + $this->setDefault2((string) $value[1]); } if (isset($value[2]) && !$this->phone->fixNumber) { - $this->setDefault3((string)$value[2]); + $this->setDefault3((string) $value[2]); } if (isset($value[3]) && !$this->phone->fixAppendix) { - $this->setDefault4((string)$value[3]); + $this->setDefault4((string) $value[3]); } return; } if (is_array($value)) { if (isset($value[0])) { - $this->setDefault1((string)$value[0]); + $this->setDefault1((string) $value[0]); } if (isset($value[1])) { - $this->setDefault2((string)$value[1]); + $this->setDefault2((string) $value[1]); } if (isset($value[2])) { - $this->setDefault3((string)$value[2]); + $this->setDefault3((string) $value[2]); } if (isset($value[3])) { - $this->setDefault4((string)$value[3]); + $this->setDefault4((string) $value[3]); } } else { - $this->setDefault1((string)$value); + $this->setDefault1((string) $value); } } - public function getPos(): ?int + public function getPos(): null|int { - return (int)$this->pos; + return (int) $this->pos; } - public function setPos(?int $pos): void + public function setPos(null|int $pos): void { $this->pos = $pos; } - public function getList(): ?bool + public function getList(): null|bool { return $this->list; } - public function setList(?bool $list): void + public function setList(null|bool $list): void { $this->list = $list; } - - } diff --git a/src/new/var/plugins/System/PSC/Bootstrap4/Form/Field/Formulare.php b/src/new/var/plugins/System/PSC/Bootstrap4/Form/Field/Formulare.php index 4fd9eeebc..0478a7ac4 100755 --- a/src/new/var/plugins/System/PSC/Bootstrap4/Form/Field/Formulare.php +++ b/src/new/var/plugins/System/PSC/Bootstrap4/Form/Field/Formulare.php @@ -91,31 +91,47 @@ class Formulare extends AbstractController implements Field '/data/www/old/application/design/vorlagen/' . $shopEntity->getLayout() . '/config/user/registercontact.ini'; - $handleregister = fopen($filenameregister, 'r'); - $txtregister = fread($handleregister, filesize($filenameregister)); - fclose($handleregister); + if (file_exists($filenameregister)) { + $handleregister = fopen($filenameregister, 'r'); + $txtregister = fread($handleregister, filesize($filenameregister)); + fclose($handleregister); + } else { + $txtregister = ''; + } $filenamepass = '/data/www/old/application/design/vorlagen/' . $shopEntity->getLayout() . '/config/user/resetpassword.ini'; - $handlepass = fopen($filenamepass, 'r'); - $txtpass = fread($handlepass, filesize($filenamepass)); - fclose($handlepass); + if (file_exists($filenamepass)) { + $handlepass = fopen($filenamepass, 'r'); + $txtpass = fread($handlepass, filesize($filenamepass)); + fclose($handlepass); + } else { + $txtpass = ''; + } $filenameaddress = '/data/www/old/application/design/vorlagen/' . $shopEntity->getLayout() . '/config/user/updatecontact.ini'; - $handleaddress = fopen($filenameaddress, 'r'); - $txtaddress = fread($handleaddress, filesize($filenameaddress)); - fclose($handleaddress); + if (file_exists($filenameaddress)) { + $handleaddress = fopen($filenameaddress, 'r'); + $txtaddress = fread($handleaddress, filesize($filenameaddress)); + fclose($handleaddress); + } else { + $txtaddress = ''; + } $filenameaddaddress = '/data/www/old/application/design/vorlagen/' . $shopEntity->getLayout() . '/config/user/address.ini'; - $handleaddaddress = fopen($filenameaddaddress, 'r'); - $txtaddaddress = fread($handleaddaddress, filesize($filenameaddaddress)); - fclose($handleaddaddress); + if (file_exists($filenameaddaddress)) { + $handleaddaddress = fopen($filenameaddaddress, 'r'); + $txtaddaddress = fread($handleaddaddress, filesize($filenameaddaddress)); + fclose($handleaddaddress); + } else { + $txtaddaddress = ''; + } } $builder @@ -210,54 +226,74 @@ class Formulare extends AbstractController implements Field '/data/www/old/application/design/vorlagen/' . $_POST['settings']['bootstrap4General']['layout'] . '/config/user/login.ini'; - $handlelogin = fopen($filenamelogin, 'w'); - \fwrite($handlelogin, $event->getForm()->get('bootstrap4Formulare')->get('formularelogin')->getData()); - fclose($handlelogin); + if (is_dir(dirname($filenamelogin))) { + $handlelogin = @fopen($filenamelogin, 'w'); + if ($handlelogin !== false) { + \fwrite($handlelogin, $event->getForm()->get('bootstrap4Formulare')->get('formularelogin')->getData()); + fclose($handlelogin); + } + } } if ($event->getForm()->get('bootstrap4Formulare')->get('formulareregisteredit')->getData() == '1') { $filenameregister = '/data/www/old/application/design/vorlagen/' . $_POST['settings']['bootstrap4General']['layout'] . '/config/user/registercontact.ini'; - $handleregister = fopen($filenameregister, 'w'); - \fwrite( - $handleregister, - $event->getForm()->get('bootstrap4Formulare')->get('formulareregister')->getData(), - ); - fclose($handleregister); + if (is_dir(dirname($filenameregister))) { + $handleregister = @fopen($filenameregister, 'w'); + if ($handleregister !== false) { + \fwrite( + $handleregister, + $event->getForm()->get('bootstrap4Formulare')->get('formulareregister')->getData(), + ); + fclose($handleregister); + } + } } if ($event->getForm()->get('bootstrap4Formulare')->get('formularepassedit')->getData() == '1') { $filenamepass = '/data/www/old/application/design/vorlagen/' . $_POST['settings']['bootstrap4General']['layout'] . '/config/user/resetpassword.ini'; - $handlepass = fopen($filenamepass, 'w'); - \fwrite($handlepass, $event->getForm()->get('bootstrap4Formulare')->get('formularepass')->getData()); - fclose($handlepass); + if (is_dir(dirname($filenamepass))) { + $handlepass = @fopen($filenamepass, 'w'); + if ($handlepass !== false) { + \fwrite($handlepass, $event->getForm()->get('bootstrap4Formulare')->get('formularepass')->getData()); + fclose($handlepass); + } + } } if ($event->getForm()->get('bootstrap4Formulare')->get('formulareaddressedit')->getData() == '1') { $filenameaddress = '/data/www/old/application/design/vorlagen/' . $_POST['settings']['bootstrap4General']['layout'] . '/config/user/updatecontact.ini'; - $handleaddress = fopen($filenameaddress, 'w'); - \fwrite( - $handleaddress, - $event->getForm()->get('bootstrap4Formulare')->get('formulareaddress')->getData(), - ); - fclose($handleaddress); + if (is_dir(dirname($filenameaddress))) { + $handleaddress = @fopen($filenameaddress, 'w'); + if ($handleaddress !== false) { + \fwrite( + $handleaddress, + $event->getForm()->get('bootstrap4Formulare')->get('formulareaddress')->getData(), + ); + fclose($handleaddress); + } + } } if ($event->getForm()->get('bootstrap4Formulare')->get('formulareaddaddressedit')->getData() == '1') { $filenameaddaddress = '/data/www/old/application/design/vorlagen/' . $_POST['settings']['bootstrap4General']['layout'] . '/config/user/address.ini'; - $handleaddaddress = fopen($filenameaddaddress, 'w'); - \fwrite( - $handleaddaddress, - $event->getForm()->get('bootstrap4Formulare')->get('formulareaddaddress')->getData(), - ); - fclose($handleaddaddress); + if (is_dir(dirname($filenameaddaddress))) { + $handleaddaddress = @fopen($filenameaddaddress, 'w'); + if ($handleaddaddress !== false) { + \fwrite( + $handleaddaddress, + $event->getForm()->get('bootstrap4Formulare')->get('formulareaddaddress')->getData(), + ); + fclose($handleaddaddress); + } + } } } $shopEntity->setDisplayArticleCount( diff --git a/src/new/var/plugins/System/PSC/Bootstrap4/Form/Field/Images.php b/src/new/var/plugins/System/PSC/Bootstrap4/Form/Field/Images.php index 5fba2b655..2a03c9835 100755 --- a/src/new/var/plugins/System/PSC/Bootstrap4/Form/Field/Images.php +++ b/src/new/var/plugins/System/PSC/Bootstrap4/Form/Field/Images.php @@ -146,9 +146,13 @@ class Images extends AbstractController implements Field '/data/www/old/application/design/vorlagen/' . $_POST['settings']['bootstrap4General']['layout'] . '/config/images.ini'; - $handle = fopen($filename, 'w'); - \fwrite($handle, $event->getForm()->get('bootstrap4Images')->get('imagesini')->getData()); - fclose($handle); + if (is_dir(dirname($filename))) { + $handle = fopen($filename, 'w'); + if ($handle !== false) { + \fwrite($handle, $event->getForm()->get('bootstrap4Images')->get('imagesini')->getData()); + fclose($handle); + } + } } } $shopEntity->setDisplayArticleCount( @@ -179,4 +183,3 @@ class Images extends AbstractController implements Field { } } - diff --git a/src/new/var/plugins/System/PSC/Bootstrap4/Form/Field/Sites.php b/src/new/var/plugins/System/PSC/Bootstrap4/Form/Field/Sites.php index c2443f7ba..f71394f2d 100755 --- a/src/new/var/plugins/System/PSC/Bootstrap4/Form/Field/Sites.php +++ b/src/new/var/plugins/System/PSC/Bootstrap4/Form/Field/Sites.php @@ -66,81 +66,124 @@ if(isset($_POST["settings"]["bootstrap4Images"]["layout"])) { } else { //copy("/data/www/old/public/styles/vorlagen/" . $shopEntity->getLayout() . "/bootstrap/css/style.css","/data/www/old/public/styles/vorlagen/" . $shopEntity->getLayout() . "/bootstrap/css/style_bakup.css"); $filenamedefault = "/data/www/old/application/design/vorlagen/" . $shopEntity->getLayout() . "/layout/default.phtml"; - $handledefault = fopen($filenamedefault, 'r'); - $txtdefault = fread($handledefault, filesize($filenamedefault)); - fclose($handledefault); + $txtdefault = ''; + if (file_exists($filenamedefault)) { + $handledefault = fopen($filenamedefault, 'r'); + $txtdefault = fread($handledefault, filesize($filenamedefault)); + fclose($handledefault); + } $filenamehauptmenu = "/data/www/old/application/design/vorlagen/" . $shopEntity->getLayout() . "/layout/_hauptmenu.phtml"; - $handlehauptmenu = fopen($filenamehauptmenu, 'r'); - $txthauptmenu = fread($handlehauptmenu, filesize($filenamehauptmenu)); - fclose($handlehauptmenu); - + $txthauptmenu = ''; + if (file_exists($filenamehauptmenu)) { + $handlehauptmenu = fopen($filenamehauptmenu, 'r'); + $txthauptmenu = fread($handlehauptmenu, filesize($filenamehauptmenu)); + fclose($handlehauptmenu); + } + $filenamebasketindex = "/data/www/old/application/design/vorlagen/" . $shopEntity->getLayout() . "/templates/basket/index.phtml"; - $handlebasketindex = fopen($filenamebasketindex, 'r'); - $txtbasketindex = fread($handlebasketindex, filesize($filenamebasketindex)); - fclose($handlebasketindex); + $txtbasketindex = ''; + if (file_exists($filenamebasketindex)) { + $handlebasketindex = fopen($filenamebasketindex, 'r'); + $txtbasketindex = fread($handlebasketindex, filesize($filenamebasketindex)); + fclose($handlebasketindex); + } $filenamereview = "/data/www/old/application/design/vorlagen/" . $shopEntity->getLayout() . "/templates/basket/review.phtml"; - $handlereview = fopen($filenamereview, 'r'); - $txtreview = fread($handlereview, filesize($filenamereview)); - fclose($handlereview); + $txtreview = ''; + if (file_exists($filenamereview)) { + $handlereview = fopen($filenamereview, 'r'); + $txtreview = fread($handlereview, filesize($filenamereview)); + fclose($handlereview); + } $filenamefinish = "/data/www/old/application/design/vorlagen/" . $shopEntity->getLayout() . "/templates/basket/finish.phtml"; - $handlefinish = fopen($filenamefinish, 'r'); - $txtfinish = fread($handlefinish, filesize($filenamefinish)); - fclose($handlefinish); + $txtfinish = ''; + if (file_exists($filenamefinish)) { + $handlefinish = fopen($filenamefinish, 'r'); + $txtfinish = fread($handlefinish, filesize($filenamefinish)); + fclose($handlefinish); + } $filenamedone = "/data/www/old/application/design/vorlagen/" . $shopEntity->getLayout() . "/templates/basket/done.phtml"; - $handledone = fopen($filenamedone, 'r'); - $txtdone = fread($handledone, filesize($filenamedone)); - fclose($handledone); + $txtdone = ''; + if (file_exists($filenamedone)) { + $handledone = fopen($filenamedone, 'r'); + $txtdone = fread($handledone, filesize($filenamedone)); + fclose($handledone); + } $filenamewarehouse = "/data/www/old/application/design/vorlagen/" . $shopEntity->getLayout() . "/articletemplates/scripts/2_basket_index.phtml"; - $handlewarehouse = fopen($filenamewarehouse, 'r'); - $txtwarehouse = fread($handlewarehouse, filesize($filenamewarehouse)); - fclose($handlewarehouse); + $txtwarehouse = ''; + if (file_exists($filenamewarehouse)) { + $handlewarehouse = fopen($filenamewarehouse, 'r'); + $txtwarehouse = fread($handlewarehouse, filesize($filenamewarehouse)); + fclose($handlewarehouse); + } $filenamekalkproducts = "/data/www/old/application/design/vorlagen/" . $shopEntity->getLayout() . "/articletemplates/scripts/6_basket_index.phtml"; - $handlekalkproducts = fopen($filenamekalkproducts, 'r'); - $txtkalkproducts = fread($handlekalkproducts, filesize($filenamekalkproducts)); - fclose($handlekalkproducts); + $txtkalkproducts = ''; + if (file_exists($filenamekalkproducts)) { + $handlekalkproducts = fopen($filenamekalkproducts, 'r'); + $txtkalkproducts = fread($handlekalkproducts, filesize($filenamekalkproducts)); + fclose($handlekalkproducts); + } $filenamelogin= "/data/www/old/application/design/vorlagen/" . $shopEntity->getLayout() . "/templates/user/login.phtml"; - $handlelogin = fopen($filenamelogin, 'r'); - $txtlogin = fread($handlelogin, filesize($filenamelogin)); - fclose($handlelogin); - + $txtlogin = ''; + if (file_exists($filenamelogin)) { + $handlelogin = fopen($filenamelogin, 'r'); + $txtlogin = fread($handlelogin, filesize($filenamelogin)); + fclose($handlelogin); + } + $filenameregister= "/data/www/old/application/design/vorlagen/" . $shopEntity->getLayout() . "/templates/user/register.phtml"; - $handleregister = fopen($filenameregister, 'r'); - $txtregister = fread($handleregister, filesize($filenameregister)); - fclose($handleregister); + $txtregister = ''; + if (file_exists($filenameregister)) { + $handleregister = fopen($filenameregister, 'r'); + $txtregister = fread($handleregister, filesize($filenameregister)); + fclose($handleregister); + } $filenamemyoverview= "/data/www/old/application/design/vorlagen/" . $shopEntity->getLayout() . "/templates/user/myoverview.phtml"; - $handlemyoverview = fopen($filenamemyoverview, 'r'); - $txtmyoverview = fread($handlemyoverview, filesize($filenamemyoverview)); - fclose($handlemyoverview); + $txtmyoverview = ''; + if (file_exists($filenamemyoverview)) { + $handlemyoverview = fopen($filenamemyoverview, 'r'); + $txtmyoverview = fread($handlemyoverview, filesize($filenamemyoverview)); + fclose($handlemyoverview); + } $filenamewarehousedetails = "/data/www/old/application/design/vorlagen/" . $shopEntity->getLayout() . "/articletemplates/scripts/2.phtml"; - $handlewarehousedetails = fopen($filenamewarehousedetails, 'r'); - $txtwarehousedetails = fread($handlewarehousedetails, filesize($filenamewarehousedetails)); - fclose($handlewarehousedetails); + $txtwarehousedetails = ''; + if (file_exists($filenamewarehousedetails)) { + $handlewarehousedetails = fopen($filenamewarehousedetails, 'r'); + $txtwarehousedetails = fread($handlewarehousedetails, filesize($filenamewarehousedetails)); + fclose($handlewarehousedetails); + } $filenamekalkproductsdetails = "/data/www/old/application/design/vorlagen/" . $shopEntity->getLayout() . "/articletemplates/scripts/6.phtml"; - $handlekalkproductsdetails = fopen($filenamekalkproductsdetails, 'r'); - $txtkalkproductsdetails = fread($handlekalkproductsdetails, filesize($filenamekalkproductsdetails)); - fclose($handlekalkproductsdetails); + $txtkalkproductsdetails = ''; + if (file_exists($filenamekalkproductsdetails)) { + $handlekalkproductsdetails = fopen($filenamekalkproductsdetails, 'r'); + $txtkalkproductsdetails = fread($handlekalkproductsdetails, filesize($filenamekalkproductsdetails)); + fclose($handlekalkproductsdetails); + } $filenamesaxoprintdetails = "/data/www/old/application/design/vorlagen/" . $shopEntity->getLayout() . "/articletemplates/scripts/100.phtml"; + $txtsaxoprintdetails = ''; if (file_exists($filenamesaxoprintdetails)) { - $handlesaxoprintdetails = fopen($filenamesaxoprintdetails, 'r'); - $txtsaxoprintdetails = fread($handlesaxoprintdetails, filesize($filenamesaxoprintdetails)); - fclose($handlesaxoprintdetails); + $handlesaxoprintdetails = fopen($filenamesaxoprintdetails, 'r'); + $txtsaxoprintdetails = fread($handlesaxoprintdetails, filesize($filenamesaxoprintdetails)); + fclose($handlesaxoprintdetails); } $filenamecmsindex= "/data/www/old/application/design/vorlagen/" . $shopEntity->getLayout() . "/templates/cms/index.phtml"; - $handlecmsindex = fopen($filenamecmsindex, 'r'); - $txtcmsindex = fread($handlecmsindex, filesize($filenamecmsindex)); - fclose($handlecmsindex); + $txtcmsindex = ''; + if (file_exists($filenamecmsindex)) { + $handlecmsindex = fopen($filenamecmsindex, 'r'); + $txtcmsindex = fread($handlecmsindex, filesize($filenamecmsindex)); + fclose($handlecmsindex); + } } $builder @@ -291,96 +334,154 @@ if(isset($_POST["settings"]["bootstrap4Images"]["layout"])) { if($event->getForm()->get('bootstrap4Style')->get('write')->getData() == "1") { if($event->getForm()->get('bootstrap4Sites')->get('defaultedit')->getData() == "1") { $filenamedefault = "/data/www/old/application/design/vorlagen/" . $_POST["settings"]["bootstrap4General"]["layout"] . "/layout/default.phtml"; - $handledefault = fopen($filenamedefault, 'w'); - fputs($handledefault, $event->getForm()->get('bootstrap4Sites')->get('default')->getData()); - fclose($handledefault); + if (is_dir(dirname($filenamedefault))) { + $handledefault = @fopen($filenamedefault, 'w'); + if ($handledefault !== false) { + fputs($handledefault, $event->getForm()->get('bootstrap4Sites')->get('default')->getData()); + fclose($handledefault); + } + } } if($event->getForm()->get('bootstrap4Sites')->get('hauptmenuedit')->getData() == "1") { $filenamehauptmenu = "/data/www/old/application/design/vorlagen/" . $_POST["settings"]["bootstrap4General"]["layout"] . "/layout/_hauptmenu.phtml"; - $handlehauptmenu = fopen($filenamehauptmenu, 'w'); - fputs($handlehauptmenu, $event->getForm()->get('bootstrap4Sites')->get('hauptmenu')->getData()); - fclose($handlehauptmenu); + if (is_dir(dirname($filenamehauptmenu))) { + $handlehauptmenu = @fopen($filenamehauptmenu, 'w'); + if ($handlehauptmenu !== false) { + fputs($handlehauptmenu, $event->getForm()->get('bootstrap4Sites')->get('hauptmenu')->getData()); + fclose($handlehauptmenu); + } + } } if($event->getForm()->get('bootstrap4Sites')->get('basketindexedit')->getData() == "1") { $filenamebasketindex = "/data/www/old/application/design/vorlagen/" . $_POST["settings"]["bootstrap4General"]["layout"] . "/templates/basket/index.phtml"; - $handlebasketindex = fopen($filenamebasketindex, 'w'); - fputs($handlebasketindex, $event->getForm()->get('bootstrap4Sites')->get('basketindex')->getData()); - fclose($handlebasketindex); + if (is_dir(dirname($filenamebasketindex))) { + $handlebasketindex = @fopen($filenamebasketindex, 'w'); + if ($handlebasketindex !== false) { + fputs($handlebasketindex, $event->getForm()->get('bootstrap4Sites')->get('basketindex')->getData()); + fclose($handlebasketindex); + } + } } if($event->getForm()->get('bootstrap4Sites')->get('basketreviewedit')->getData() == "1") { $filenamereview = "/data/www/old/application/design/vorlagen/" . $_POST["settings"]["bootstrap4General"]["layout"] . "/templates/basket/review.phtml"; - $handlereview = fopen($filenamereview, 'w'); - fputs($handlereview, $event->getForm()->get('bootstrap4Sites')->get('basketreview')->getData()); - fclose($handlereview); + if (is_dir(dirname($filenamereview))) { + $handlereview = @fopen($filenamereview, 'w'); + if ($handlereview !== false) { + fputs($handlereview, $event->getForm()->get('bootstrap4Sites')->get('basketreview')->getData()); + fclose($handlereview); + } + } } if($event->getForm()->get('bootstrap4Sites')->get('basketfinishedit')->getData() == "1") { $filenamefinish = "/data/www/old/application/design/vorlagen/" . $_POST["settings"]["bootstrap4General"]["layout"] . "/templates/basket/finish.phtml"; - $handlefinish = fopen($filenamefinish, 'w'); - fputs($handlefinish, $event->getForm()->get('bootstrap4Sites')->get('basketfinish')->getData()); - fclose($handlefinish); + if (is_dir(dirname($filenamefinish))) { + $handlefinish = @fopen($filenamefinish, 'w'); + if ($handlefinish !== false) { + fputs($handlefinish, $event->getForm()->get('bootstrap4Sites')->get('basketfinish')->getData()); + fclose($handlefinish); + } + } } if($event->getForm()->get('bootstrap4Sites')->get('basketdoneedit')->getData() == "1") { $filenamedone = "/data/www/old/application/design/vorlagen/" . $_POST["settings"]["bootstrap4General"]["layout"] . "/templates/basket/done.phtml"; - $handledone = fopen($filenamedone, 'w'); - fputs($handledone, $event->getForm()->get('bootstrap4Sites')->get('basketdone')->getData()); - fclose($handledone); + if (is_dir(dirname($filenamedone))) { + $handledone = @fopen($filenamedone, 'w'); + if ($handledone !== false) { + fputs($handledone, $event->getForm()->get('bootstrap4Sites')->get('basketdone')->getData()); + fclose($handledone); + } + } } if($event->getForm()->get('bootstrap4Sites')->get('warehouseedit')->getData() == "1") { $filenamedone = "/data/www/old/application/design/vorlagen/" . $_POST["settings"]["bootstrap4General"]["layout"] . "/articletemplates/scripts/2_basket_index.phtml"; - $handledone = fopen($filenamedone, 'w'); - fputs($handledone, $event->getForm()->get('bootstrap4Sites')->get('warehouse')->getData()); - fclose($handledone); + if (is_dir(dirname($filenamedone))) { + $handledone = @fopen($filenamedone, 'w'); + if ($handledone !== false) { + fputs($handledone, $event->getForm()->get('bootstrap4Sites')->get('warehouse')->getData()); + fclose($handledone); + } + } } if($event->getForm()->get('bootstrap4Sites')->get('kalkproductsedit')->getData() == "1") { $filenamedone = "/data/www/old/application/design/vorlagen/" . $_POST["settings"]["bootstrap4General"]["layout"] . "/articletemplates/scripts/6_basket_index.phtml"; - $handledone = fopen($filenamedone, 'w'); - fputs($handledone, $event->getForm()->get('bootstrap4Sites')->get('kalkproducts')->getData()); - fclose($handledone); + if (is_dir(dirname($filenamedone))) { + $handledone = @fopen($filenamedone, 'w'); + if ($handledone !== false) { + fputs($handledone, $event->getForm()->get('bootstrap4Sites')->get('kalkproducts')->getData()); + fclose($handledone); + } + } } if($event->getForm()->get('bootstrap4Sites')->get('userloginedit')->getData() == "1") { $filenamedone = "/data/www/old/application/design/vorlagen/" . $_POST["settings"]["bootstrap4General"]["layout"] . "/templates/user/login.phtml"; - $handledone = fopen($filenamedone, 'w'); - fputs($handledone, $event->getForm()->get('bootstrap4Sites')->get('userlogin')->getData()); - fclose($handledone); + if (is_dir(dirname($filenamedone))) { + $handledone = @fopen($filenamedone, 'w'); + if ($handledone !== false) { + fputs($handledone, $event->getForm()->get('bootstrap4Sites')->get('userlogin')->getData()); + fclose($handledone); + } + } } if($event->getForm()->get('bootstrap4Sites')->get('userregisteredit')->getData() == "1") { $filenameregister = "/data/www/old/application/design/vorlagen/" . $_POST["settings"]["bootstrap4General"]["layout"] . "/templates/user/register.phtml"; - $handleregister = fopen($filenameregister, 'w'); - fputs($handleregister, $event->getForm()->get('bootstrap4Sites')->get('userregister')->getData()); - fclose($handleregister); + if (is_dir(dirname($filenameregister))) { + $handleregister = @fopen($filenameregister, 'w'); + if ($handleregister !== false) { + fputs($handleregister, $event->getForm()->get('bootstrap4Sites')->get('userregister')->getData()); + fclose($handleregister); + } + } } if($event->getForm()->get('bootstrap4Sites')->get('usermyoverviewedit')->getData() == "1") { $filenamemyoverview = "/data/www/old/application/design/vorlagen/" . $_POST["settings"]["bootstrap4General"]["layout"] . "/templates/user/myoverview.phtml"; - $handlemyoverview = fopen($filenamemyoverview, 'w'); - fputs($handlemyoverview, $event->getForm()->get('bootstrap4Sites')->get('usermyoverview')->getData()); - fclose($handlemyoverview); + if (is_dir(dirname($filenamemyoverview))) { + $handlemyoverview = @fopen($filenamemyoverview, 'w'); + if ($handlemyoverview !== false) { + fputs($handlemyoverview, $event->getForm()->get('bootstrap4Sites')->get('usermyoverview')->getData()); + fclose($handlemyoverview); + } + } } if($event->getForm()->get('bootstrap4Sites')->get('warehousedetailsedit')->getData() == "1") { $filenamedone = "/data/www/old/application/design/vorlagen/" . $_POST["settings"]["bootstrap4General"]["layout"] . "/articletemplates/scripts/2.phtml"; - $handledone = fopen($filenamedone, 'w'); - fputs($handledone, $event->getForm()->get('bootstrap4Sites')->get('warehousedetails')->getData()); - fclose($handledone); + if (is_dir(dirname($filenamedone))) { + $handledone = @fopen($filenamedone, 'w'); + if ($handledone !== false) { + fputs($handledone, $event->getForm()->get('bootstrap4Sites')->get('warehousedetails')->getData()); + fclose($handledone); + } + } } if($event->getForm()->get('bootstrap4Sites')->get('kalkproductsdetailsedit')->getData() == "1") { $filenamedone = "/data/www/old/application/design/vorlagen/" . $_POST["settings"]["bootstrap4General"]["layout"] . "/articletemplates/scripts/6.phtml"; - $handledone = fopen($filenamedone, 'w'); - fputs($handledone, $event->getForm()->get('bootstrap4Sites')->get('kalkproductsdetails')->getData()); - fclose($handledone); + if (is_dir(dirname($filenamedone))) { + $handledone = @fopen($filenamedone, 'w'); + if ($handledone !== false) { + fputs($handledone, $event->getForm()->get('bootstrap4Sites')->get('kalkproductsdetails')->getData()); + fclose($handledone); + } + } } $filenamesaxoprintdetails = "/data/www/old/application/design/vorlagen/" . $shopEntity->getLayout() . "/articletemplates/scripts/100.phtml"; - if (file_exists($filenamesaxoprintdetails)) { + if (is_dir(dirname($filenamesaxoprintdetails))) { if($event->getForm()->get('bootstrap4Sites')->get('saxoprintdetailsedit')->getData() == "1") { $filenamedone = "/data/www/old/application/design/vorlagen/" . $_POST["settings"]["bootstrap4General"]["layout"] . "/articletemplates/scripts/100.phtml"; - $handledone = fopen($filenamedone, 'w'); - fputs($handledone, $event->getForm()->get('bootstrap4Sites')->get('saxoprintdetails')->getData()); - fclose($handledone); + $handledone = @fopen($filenamedone, 'w'); + if ($handledone !== false) { + fputs($handledone, $event->getForm()->get('bootstrap4Sites')->get('saxoprintdetails')->getData()); + fclose($handledone); + } } } if($event->getForm()->get('bootstrap4Sites')->get('cmsindexedit')->getData() == "1") { $filenamecmsindex = "/data/www/old/application/design/vorlagen/" . $_POST["settings"]["bootstrap4General"]["layout"] . "/templates/cms/index.phtml"; - $handlecmsindex = fopen($filenamecmsindex, 'w'); - fputs($handlecmsindex, $event->getForm()->get('bootstrap4Sites')->get('cmsindex')->getData()); - fclose($handlecmsindex); + if (is_dir(dirname($filenamecmsindex))) { + $handlecmsindex = @fopen($filenamecmsindex, 'w'); + if ($handlecmsindex !== false) { + fputs($handlecmsindex, $event->getForm()->get('bootstrap4Sites')->get('cmsindex')->getData()); + fclose($handlecmsindex); + } + } } } $shopEntity->setDisplayArticleCount($event->getForm()->get('bootstrap4General')->get('displayArticleCount')->getData()); diff --git a/src/new/var/plugins/System/PSC/Bootstrap4/Form/Field/Style.php b/src/new/var/plugins/System/PSC/Bootstrap4/Form/Field/Style.php index 6249b6577..35799326c 100755 --- a/src/new/var/plugins/System/PSC/Bootstrap4/Form/Field/Style.php +++ b/src/new/var/plugins/System/PSC/Bootstrap4/Form/Field/Style.php @@ -118,9 +118,13 @@ if(isset($_POST["settings"]["bootstrap4General"]["layout"])) { if($event->getForm()->get('bootstrap4Style')->get('write')->getData() == "1") { if($event->getForm()->get('bootstrap4Style')->get('stylecssedit')->getData() == "1") { $filename = "/data/www/old/public/styles/vorlagen/" . $_POST["settings"]["bootstrap4General"]["layout"] . "/bootstrap/css/style.css"; - $handle = fopen($filename, 'w'); - fputs($handle, $event->getForm()->get('bootstrap4Style')->get('stylecss')->getData()); - fclose($handle); + if (is_dir(dirname($filename))) { + $handle = @fopen($filename, 'w'); + if ($handle !== false) { + fputs($handle, $event->getForm()->get('bootstrap4Style')->get('stylecss')->getData()); + fclose($handle); + } + } } } $shopEntity->setDisplayArticleCount($event->getForm()->get('bootstrap4General')->get('displayArticleCount')->getData()); diff --git a/src/old/application/data/models/Orders.php b/src/old/application/data/models/Orders.php index c8cd86815..0b61eea6e 100755 --- a/src/old/application/data/models/Orders.php +++ b/src/old/application/data/models/Orders.php @@ -35,7 +35,6 @@ */ class Orders extends BaseOrders { - protected $packageExported = false; public $mongoLoaded = false; protected $paymentRef = ''; @@ -44,13 +43,16 @@ class Orders extends BaseOrders protected $invoiceAddressSaved = []; protected $deliveryAddressSaved = []; protected $senderAddressSaved = []; + protected $voucherProduct = []; + protected $voucherPayment = []; + protected $voucherShipping = []; protected $withTax = true; protected $gutscheinAbzugNetto = 0; protected $sendDataToShipping = false; private array $gutscheinAbzugMwSt = []; - public function preSave($event) { - + public function preSave($event) + { if ($this->uuid == '') { $this->uuid = TP_Util::uuid(); } @@ -64,20 +66,20 @@ class Orders extends BaseOrders $this->created = date('Y-m-d H:i:s'); $this->updated = date('Y-m-d H:i:s'); } - if ($this->version == "") { + if ($this->version == '') { $this->version = 0; } - if ($this->type == "") { + if ($this->type == '') { $this->type = 1; } $this->version = $this->version + 1; } - public function getPayment() { - + public function getPayment() + { $paymenttype = Doctrine_Query::create() ->from('Paymenttype c') - ->where('c.id = ?', array(intval($this->paymenttype_id))) + ->where('c.id = ?', [intval($this->paymenttype_id)]) ->fetchOne(); if ($paymenttype != false) { @@ -86,10 +88,11 @@ class Orders extends BaseOrders return new Paymenttype(); } - public function getShipping() { + public function getShipping() + { $shippingtype = Doctrine_Query::create() ->from('Shippingtype c') - ->where('c.id = ?', array(intval($this->shippingtype_id))) + ->where('c.id = ?', [intval($this->shippingtype_id)]) ->fetchOne(); if ($shippingtype != false) { @@ -98,69 +101,64 @@ class Orders extends BaseOrders return new Shippingtype(); } - public function getInvoiceAddress() { + public function getInvoiceAddress() + { if ($this->invoice_address != 0) { - $address = Doctrine_Query::create() ->from('ContactAddress c') - ->where('c.id = ?', array(intval($this->invoice_address))) + ->where('c.id = ?', [intval($this->invoice_address)]) ->fetchOne(); - } else { - $address = Doctrine_Query::create() ->from('ContactAddress c') - ->where('c.id = ?', array(intval($this->delivery_address))) + ->where('c.id = ?', [intval($this->delivery_address)]) ->fetchOne(); - } return $address; } - public function getDeliveryAddress() { - + public function getDeliveryAddress() + { $address = Doctrine_Query::create() ->from('ContactAddress c') - ->where('c.id = ?', array(intval($this->delivery_address))) + ->where('c.id = ?', [intval($this->delivery_address)]) ->fetchOne(); - if(!$address) { + if (!$address) { return new ContactAddress(); } return $address; } - public function getSenderAddress() { + public function getSenderAddress() + { if ($this->sender_address != 0) { - $address = Doctrine_Query::create() ->from('ContactAddress c') - ->where('c.id = ?', array(intval($this->sender_address))) + ->where('c.id = ?', [intval($this->sender_address)]) ->fetchOne(); - } else { - $address = Doctrine_Query::create() ->from('ContactAddress c') - ->where('c.id = ?', array(intval($this->invoice_address))) + ->where('c.id = ?', [intval($this->invoice_address)]) ->fetchOne(); - } - if(!$address) { + if (!$address) { $address = Doctrine_Query::create() ->from('ContactAddress c') - ->where('c.id = ?', array(intval($this->delivery_address))) + ->where('c.id = ?', [intval($this->delivery_address)]) ->fetchOne(); } return $address; } - public function getInfo() { - if($this->info == "") { - return array(); + public function getInfo() + { + if ($this->info == '') { + return []; } return json_decode($this->info, true); @@ -183,16 +181,32 @@ class Orders extends BaseOrders $this->packageExported = $packageExported; } - public function loadMongo() { - if($this->mongoLoaded) { + public function setVoucherProduct(array $voucherProduct): void + { + $this->voucherProduct = $voucherProduct; + } + + public function setVoucherPayment(array $voucherPayment): void + { + $this->voucherPayment = $voucherPayment; + } + + public function setVoucherShipping(array $voucherShipping): void + { + $this->voucherShipping = $voucherShipping; + } + + public function loadMongo() + { + if ($this->mongoLoaded) { return true; } $dbMongo = TP_Mongo::getInstance(); - $obj = $dbMongo->Order->findOne(array('uid' => (string)$this->id)); - if(!$obj) { - $obj = $dbMongo->Order->findOne(array('uid' => $this->id)); + $obj = $dbMongo->Order->findOne(['uid' => (string) $this->id]); + if (!$obj) { + $obj = $dbMongo->Order->findOne(['uid' => $this->id]); } - if($obj) { + if ($obj) { $this->packageExported = $obj['packageExported']; $this->paymentRef = $obj['paymentRef']; $this->mongoLoaded = true; @@ -201,26 +215,31 @@ class Orders extends BaseOrders $this->deliveryAddressSaved = $obj['deliveryAddressSaved']; $this->senderAddressSaved = $obj['senderAddressSaved']; $this->gutscheinAbzugNetto = $obj['gutscheinAbzugNetto']; - $this->gutscheinAbzugMwSt = (array)$obj['gutscheinAbzugMwSt']; + $this->gutscheinAbzugMwSt = (array) $obj['gutscheinAbzugMwSt']; $this->sendDataToShipping = $obj['sendDataToShipping']; + $this->voucherProduct = $obj['voucherProduct']; + $this->voucherPayment = $obj['voucherPayment']; + $this->voucherShipping = $obj['voucherShipping']; $this->withTax = $obj['withTax']; } } - public function saveMongo() { + public function saveMongo() + { $this->loadMongo(); $dbMongo = TP_Mongo::getInstance(); - $obj = $dbMongo->Order->findOne(array('uid' => $this->id)); - if($obj) { - $dbMongo->Order->updateOne(array('uid' => $this->id), [ '$set' => $this->getArray()]); - }else{ + $obj = $dbMongo->Order->findOne(['uid' => $this->id]); + if ($obj) { + $dbMongo->Order->updateOne(['uid' => $this->id], ['$set' => $this->getArray()]); + } else { $dbMongo->Order->insertOne($this->getArray()); - } $this->mongoLoaded = true; - + } + $this->mongoLoaded = true; } - public function getArray() { - return array( + public function getArray() + { + return [ 'uid' => $this->id, 'packageExported' => $this->packageExported, 'paymentRef' => $this->paymentRef, @@ -232,8 +251,11 @@ class Orders extends BaseOrders 'gutscheinAbzugNetto' => $this->gutscheinAbzugNetto, 'gutscheinAbzugMwSt' => $this->gutscheinAbzugMwSt, 'sendDataToShipping' => $this->sendDataToShipping, + 'voucherProduct' => $this->voucherProduct, + 'voucherShipping' => $this->voucherShipping, + 'voucherPayment' => $this->voucherPayment, 'withTax' => $this->withTax, - ); + ]; } /** @@ -252,6 +274,7 @@ class Orders extends BaseOrders { $this->paymentRef = $paymentRef; } + /** * @return string */ @@ -385,6 +408,5 @@ class Orders extends BaseOrders { $this->gutscheinAbzugMwSt = $gutscheinAbzugMwSt; } +} - -} \ No newline at end of file diff --git a/src/old/application/design/vorlagen/bootstrap4_api/templates/basket/index.phtml b/src/old/application/design/vorlagen/bootstrap4_api/templates/basket/index.phtml index 20c27fd6b..4cc15739b 100755 --- a/src/old/application/design/vorlagen/bootstrap4_api/templates/basket/index.phtml +++ b/src/old/application/design/vorlagen/bootstrap4_api/templates/basket/index.phtml @@ -1,4 +1,5 @@ headScript()->prependFile('/scripts/underscore.js'); $this->headScript()->prependFile('/' . $this->designPath . '/basket/index.js'); ?> @@ -15,30 +16,40 @@ $this->headScript()->prependFile('/' . $this->designPath . '/basket/index.js'); - basketIsEmpty) : ?> + basketIsEmpty): ?>