diff --git a/copy_this/modules/d3/d3dev/IntelliSenseHelper.php b/copy_this/modules/d3/d3dev/IntelliSenseHelper.php
index abe55d0..67aef4a 100644
--- a/copy_this/modules/d3/d3dev/IntelliSenseHelper.php
+++ b/copy_this/modules/d3/d3dev/IntelliSenseHelper.php
@@ -1,47 +1,47 @@
-
- * @link http://www.oxidmodule.com
- */
-
-class d3_dev_thankyou_parent extends thankyou {}
-
-/**
- * Class d3_dev_oxorder_parent
- */
-class d3_dev_oxorder_parent extends oxorder {}
-
-/**
- * Class d3_dev_oxorderarticle
- */
-class d3_dev_oxorderarticle_parent extends oxOrderArticle {}
-
-/**
- * Class d3_dev_oxemail_parent
- */
-class d3_dev_oxemail_parent extends oxemail {}
-
-/**
- * Class d3_dev_order_parent
- */
-class d3_dev_order_parent extends order {}
-
-/**
- * Class d3_dev_oxbasket_parent
- */
-class d3_dev_oxbasket_parent extends oxbasket {}
-
-/**
- * Class d3_dev_oxbasketitem_parent
- */
+
+ * @link http://www.oxidmodule.com
+ */
+
+class d3_dev_thankyou_parent extends thankyou {}
+
+/**
+ * Class d3_dev_oxorder_parent
+ */
+class d3_dev_oxorder_parent extends oxorder {}
+
+/**
+ * Class d3_dev_oxorderarticle
+ */
+class d3_dev_oxorderarticle_parent extends oxOrderArticle {}
+
+/**
+ * Class d3_dev_oxemail_parent
+ */
+class d3_dev_oxemail_parent extends oxemail {}
+
+/**
+ * Class d3_dev_order_parent
+ */
+class d3_dev_order_parent extends order {}
+
+/**
+ * Class d3_dev_oxbasket_parent
+ */
+class d3_dev_oxbasket_parent extends oxbasket {}
+
+/**
+ * Class d3_dev_oxbasketitem_parent
+ */
class d3_dev_oxbasketitem_parent extends oxBasketItem {}
\ No newline at end of file
diff --git a/copy_this/modules/d3/d3dev/controllers/d3dev.php b/copy_this/modules/d3/d3dev/controllers/d3dev.php
index d1375a7..4c8e320 100644
--- a/copy_this/modules/d3/d3dev/controllers/d3dev.php
+++ b/copy_this/modules/d3/d3dev/controllers/d3dev.php
@@ -1,38 +1,38 @@
-
- * @link http://www.oxidmodule.com
- */
-
-class d3dev extends oxUBase
-{
- public function showOrderMailContent()
- {
- if (oxRegistry::getConfig()->getActiveShop()->oxshops__oxproductive->value
- || false == oxRegistry::getConfig()->getConfigParam('blD3DevShowOrderMailsInBrowser')
- ) {
- oxRegistry::getUtils()->redirect(oxRegistry::getConfig()->getShopUrl().'index.php?cl=start');
- }
-
- $sTpl = oxRegistry::getConfig()->getRequestParameter('type');
-
- /** @var d3_dev_thankyou $oThankyou */
- $oThankyou = oxNew('thankyou');
- $oOrder = $oThankyou->d3GetLastOrder();
-
- /** @var d3_dev_oxemail $oEmail */
- $oEmail = oxNew('oxemail');
- echo $oEmail->d3GetOrderMailContent($oOrder, $sTpl);
- die();
- }
-}
+
+ * @link http://www.oxidmodule.com
+ */
+
+class d3dev extends oxUBase
+{
+ public function showOrderMailContent()
+ {
+ if (oxRegistry::getConfig()->getActiveShop()->oxshops__oxproductive->value
+ || false == oxRegistry::getConfig()->getConfigParam('blD3DevShowOrderMailsInBrowser')
+ ) {
+ oxRegistry::getUtils()->redirect(oxRegistry::getConfig()->getShopUrl().'index.php?cl=start');
+ }
+
+ $sTpl = oxRegistry::getConfig()->getRequestParameter('type');
+
+ /** @var d3_dev_thankyou $oThankyou */
+ $oThankyou = oxNew('thankyou');
+ $oOrder = $oThankyou->d3GetLastOrder();
+
+ /** @var d3_dev_oxemail $oEmail */
+ $oEmail = oxNew('oxemail');
+ echo $oEmail->d3GetOrderMailContent($oOrder, $sTpl);
+ die();
+ }
+}
diff --git a/copy_this/modules/d3/d3dev/metadata.php b/copy_this/modules/d3/d3dev/metadata.php
index 7e9ad1b..ace5541 100644
--- a/copy_this/modules/d3/d3dev/metadata.php
+++ b/copy_this/modules/d3/d3dev/metadata.php
@@ -1,82 +1,82 @@
- 'd3dev',
- 'title' =>
- (class_exists('d3utils') ? d3utils::getInstance()->getD3Logo() : 'D³') .
- ' TPL Development Tool',
- 'description' => array(
- 'de' => '
-
Sicherheitshinweis
- Diese Shoperweiterung stellt Entwicklungshilfen zur Verfügung, die im Livebetrieb sicherheitskritisch sein können. Es können Kunden- und Bestelldaten ausgelesen und auch Shopfunktionen manipuliert werden. Aktivieren Sie diese Erweiterung daher nur in einem Umfeld, in dem Sie Missbrauch ausschließen können. Für entstandene Schäden lehnen wir jede Haftung ab.
- Jede dieser Optionen muss aus Sicherheitsgründen unter "Einstell." aktiviert werden. Weiterhin darf der Shop nicht im Produktivmodus betrieben werden.',
- 'en' => ''),
- // 'thumbnail' => 'picture.png',
- 'version' => '0.1',
- 'author' => 'D³ Data Development (Inh.: Thomas Dartsch)',
- 'email' => 'support@shopmodule.com',
- 'url' => 'http://www.oxidmodule.com/',
- 'extend' => array(
- 'thankyou' => 'd3/d3dev/modules/controllers/d3_dev_thankyou',
- 'oxorder' => 'd3/d3dev/modules/models/d3_dev_oxorder',
- 'oxorderarticle' => 'd3/d3dev/modules/models/d3_dev_oxorderarticle',
- 'oxemail' => 'd3/d3dev/modules/models/d3_dev_oxemail',
- 'oxbasket' => 'd3/d3dev/modules/models/d3_dev_oxbasket',
- 'oxbasketitem' => 'd3/d3dev/modules/models/d3_dev_oxbasketitem',
- ),
- 'files' => array(
- 'd3dev' => 'd3/d3dev/controllers/d3dev.php',
- ),
- 'templates' => array(
- ),
- 'events' => array(
- ),
- 'blocks' => array(
- ),
- 'settings' => array(
- array(
- 'group' => 'd3dev_order',
- 'name' => 'blD3DevAvoidDelBasket',
- 'type' => 'bool',
- 'value' => 'false'
- ),
- array(
- 'group' => 'd3dev_order',
- 'name' => 'blD3DevShowThankyou',
- 'type' => 'bool',
- 'value' => 'false'
- ),
- array(
- 'group' => 'd3dev_mail',
- 'name' => 'blD3DevShowOrderMailsInBrowser',
- 'type' => 'bool',
- 'value' => 'false'
- ),
- ),
-);
+ 'd3dev',
+ 'title' =>
+ (class_exists('d3utils') ? d3utils::getInstance()->getD3Logo() : 'D³') .
+ ' TPL Development Tool',
+ 'description' => array(
+ 'de' => '
+ Sicherheitshinweis
+ Diese Shoperweiterung stellt Entwicklungshilfen zur Verfügung, die im Livebetrieb sicherheitskritisch sein können. Es können Kunden- und Bestelldaten ausgelesen und auch Shopfunktionen manipuliert werden. Aktivieren Sie diese Erweiterung daher nur in einem Umfeld, in dem Sie Missbrauch ausschließen können. Für entstandene Schäden lehnen wir jede Haftung ab.
+ Jede dieser Optionen muss aus Sicherheitsgründen unter "Einstell." aktiviert werden. Weiterhin darf der Shop nicht im Produktivmodus betrieben werden.',
+ 'en' => ''),
+ // 'thumbnail' => 'picture.png',
+ 'version' => '0.1',
+ 'author' => 'D³ Data Development (Inh.: Thomas Dartsch)',
+ 'email' => 'support@shopmodule.com',
+ 'url' => 'http://www.oxidmodule.com/',
+ 'extend' => array(
+ 'thankyou' => 'd3/d3dev/modules/controllers/d3_dev_thankyou',
+ 'oxorder' => 'd3/d3dev/modules/models/d3_dev_oxorder',
+ 'oxorderarticle' => 'd3/d3dev/modules/models/d3_dev_oxorderarticle',
+ 'oxemail' => 'd3/d3dev/modules/models/d3_dev_oxemail',
+ 'oxbasket' => 'd3/d3dev/modules/models/d3_dev_oxbasket',
+ 'oxbasketitem' => 'd3/d3dev/modules/models/d3_dev_oxbasketitem',
+ ),
+ 'files' => array(
+ 'd3dev' => 'd3/d3dev/controllers/d3dev.php',
+ ),
+ 'templates' => array(
+ ),
+ 'events' => array(
+ ),
+ 'blocks' => array(
+ ),
+ 'settings' => array(
+ array(
+ 'group' => 'd3dev_order',
+ 'name' => 'blD3DevAvoidDelBasket',
+ 'type' => 'bool',
+ 'value' => 'false'
+ ),
+ array(
+ 'group' => 'd3dev_order',
+ 'name' => 'blD3DevShowThankyou',
+ 'type' => 'bool',
+ 'value' => 'false'
+ ),
+ array(
+ 'group' => 'd3dev_mail',
+ 'name' => 'blD3DevShowOrderMailsInBrowser',
+ 'type' => 'bool',
+ 'value' => 'false'
+ ),
+ ),
+);
diff --git a/copy_this/modules/d3/d3dev/modules/controllers/d3_dev_thankyou.php b/copy_this/modules/d3/d3dev/modules/controllers/d3_dev_thankyou.php
index 0a7c42c..d87a98b 100644
--- a/copy_this/modules/d3/d3dev/modules/controllers/d3_dev_thankyou.php
+++ b/copy_this/modules/d3/d3dev/modules/controllers/d3_dev_thankyou.php
@@ -1,55 +1,55 @@
-
- * @link http://www.oxidmodule.com
- */
-
-class d3_dev_thankyou extends d3_dev_thankyou_parent
-{
- public function init()
- {
- $sSessChallenge = oxRegistry::getSession()->getVariable('sess_challenge');
-
- parent::init();
-
- oxRegistry::getSession()->setVariable('sess_challenge', $sSessChallenge);
-
- if (oxRegistry::getConfig()->getRequestParameter('d3dev')
- && false == (bool) oxRegistry::getConfig()->getActiveShop()->oxshops__oxproductive->value
- && oxRegistry::getConfig()->getConfigParam('blD3DevShowThankyou')
- ) {
- $oOrder = $this->d3GetLastOrder();
- $oBasket = $oOrder->d3DevGetOrderBasket();
- $this->_oBasket = $oBasket;
- }
- }
-
- /**
- * @return d3_dev_oxorder
- */
- public function d3GetLastOrder()
- {
- if (oxRegistry::getConfig()->getActiveShop()->oxshops__oxproductive->value) {
- return false;
- }
-
- /** @var d3_dev_oxorder $oOrder */
- $oOrder = oxNew('oxorder');
- $oOrder->d3getLastOrder();
-
- return $oOrder;
- }
-}
+
+ * @link http://www.oxidmodule.com
+ */
+
+class d3_dev_thankyou extends d3_dev_thankyou_parent
+{
+ public function init()
+ {
+ $sSessChallenge = oxRegistry::getSession()->getVariable('sess_challenge');
+
+ parent::init();
+
+ oxRegistry::getSession()->setVariable('sess_challenge', $sSessChallenge);
+
+ if (oxRegistry::getConfig()->getRequestParameter('d3dev')
+ && false == (bool) oxRegistry::getConfig()->getActiveShop()->oxshops__oxproductive->value
+ && oxRegistry::getConfig()->getConfigParam('blD3DevShowThankyou')
+ ) {
+ $oOrder = $this->d3GetLastOrder();
+ $oBasket = $oOrder->d3DevGetOrderBasket();
+ $this->_oBasket = $oBasket;
+ }
+ }
+
+ /**
+ * @return d3_dev_oxorder
+ */
+ public function d3GetLastOrder()
+ {
+ if (oxRegistry::getConfig()->getActiveShop()->oxshops__oxproductive->value) {
+ return false;
+ }
+
+ /** @var d3_dev_oxorder $oOrder */
+ $oOrder = oxNew('oxorder');
+ $oOrder->d3getLastOrder();
+
+ return $oOrder;
+ }
+}
diff --git a/copy_this/modules/d3/d3dev/modules/models/d3_dev_oxbasket.php b/copy_this/modules/d3/d3dev/modules/models/d3_dev_oxbasket.php
index 562e783..e70f18a 100644
--- a/copy_this/modules/d3/d3dev/modules/models/d3_dev_oxbasket.php
+++ b/copy_this/modules/d3/d3dev/modules/models/d3_dev_oxbasket.php
@@ -1,59 +1,59 @@
-
- * @link http://www.oxidmodule.com
- */
-
-class d3_dev_oxbasket extends d3_dev_oxbasket_parent
-{
- public function deleteBasket()
- {
- if (oxRegistry::getConfig()->getActiveShop()->oxshops__oxproductive->value
- || false == oxRegistry::getConfig()->getConfigParam('blD3DevAvoidDelBasket')
- ) {
- parent::deleteBasket();
- }
-
- // else do nothing;
- }
-
- public function d3ClearBasketItemArticles()
- {
- /** @var d3_dev_oxbasketitem $oBasketItem */
- foreach ($this->_aBasketContents as $oBasketItem) {
- $oBasketItem->d3ClearArticle();
- }
- }
-
- /**
- * Calculates total basket discount value.
- */
- protected function _calcBasketTotalDiscount()
- {
- if ($this->_oTotalDiscount === null || (!$this->isAdmin())) {
- $this->_oTotalDiscount = $this->_getPriceObject();
-
- if (is_array($this->_aDiscounts)) {
- foreach ($this->_aDiscounts as $oDiscount) {
- // skipping bundle discounts
- if ($oDiscount->sType == 'itm') {
- continue;
- }
-
- // add discount value to total basket discount
- $this->_oTotalDiscount->add($oDiscount->dDiscount);
- }
- }
- }
- }
-}
+
+ * @link http://www.oxidmodule.com
+ */
+
+class d3_dev_oxbasket extends d3_dev_oxbasket_parent
+{
+ public function deleteBasket()
+ {
+ if (oxRegistry::getConfig()->getActiveShop()->oxshops__oxproductive->value
+ || false == oxRegistry::getConfig()->getConfigParam('blD3DevAvoidDelBasket')
+ ) {
+ parent::deleteBasket();
+ }
+
+ // else do nothing;
+ }
+
+ public function d3ClearBasketItemArticles()
+ {
+ /** @var d3_dev_oxbasketitem $oBasketItem */
+ foreach ($this->_aBasketContents as $oBasketItem) {
+ $oBasketItem->d3ClearArticle();
+ }
+ }
+
+ /**
+ * Calculates total basket discount value.
+ */
+ protected function _calcBasketTotalDiscount()
+ {
+ if ($this->_oTotalDiscount === null || (!$this->isAdmin())) {
+ $this->_oTotalDiscount = $this->_getPriceObject();
+
+ if (is_array($this->_aDiscounts)) {
+ foreach ($this->_aDiscounts as $oDiscount) {
+ // skipping bundle discounts
+ if ($oDiscount->sType == 'itm') {
+ continue;
+ }
+
+ // add discount value to total basket discount
+ $this->_oTotalDiscount->add($oDiscount->dDiscount);
+ }
+ }
+ }
+ }
+}
diff --git a/copy_this/modules/d3/d3dev/modules/models/d3_dev_oxbasketitem.php b/copy_this/modules/d3/d3dev/modules/models/d3_dev_oxbasketitem.php
index 03e0c65..cb6598c 100644
--- a/copy_this/modules/d3/d3dev/modules/models/d3_dev_oxbasketitem.php
+++ b/copy_this/modules/d3/d3dev/modules/models/d3_dev_oxbasketitem.php
@@ -1,23 +1,23 @@
-
- * @link http://www.oxidmodule.com
- */
-
-class d3_dev_oxbasketitem extends d3_dev_oxbasketitem_parent
-{
- public function d3ClearArticle()
- {
- $this->_oArticle = null;
- }
-}
+
+ * @link http://www.oxidmodule.com
+ */
+
+class d3_dev_oxbasketitem extends d3_dev_oxbasketitem_parent
+{
+ public function d3ClearArticle()
+ {
+ $this->_oArticle = null;
+ }
+}
diff --git a/copy_this/modules/d3/d3dev/modules/models/d3_dev_oxemail.php b/copy_this/modules/d3/d3dev/modules/models/d3_dev_oxemail.php
index 6551754..ebff34d 100644
--- a/copy_this/modules/d3/d3dev/modules/models/d3_dev_oxemail.php
+++ b/copy_this/modules/d3/d3dev/modules/models/d3_dev_oxemail.php
@@ -1,82 +1,82 @@
-
- * @link http://www.oxidmodule.com
- */
-
-class d3_dev_oxemail extends d3_dev_oxemail_parent
-{
- /**
- * @param d3_dev_oxorder $oOrder
- *
- * @return mixed|string
- */
- public function d3GetOrderMailContent($oOrder, $sType)
- {
- if (oxRegistry::getConfig()->getActiveShop()->oxshops__oxproductive->value) {
- return '';
- }
-
- switch (strtolower($sType)) {
- case 'owner_html':
- $sTpl = $this->_sOrderOwnerTemplate;
- break;
- case 'owner_plain':
- $sTpl = $this->_sOrderOwnerPlainTemplate;
- break;
- case 'user_plain':
- $sTpl = $this->_sOrderUserPlainTemplate;
- break;
- case 'user_html':
- default:
- $sTpl = $this->_sOrderUserTemplate;
- }
-
- $myConfig = $this->getConfig();
-
- $oShop = $this->_getShop();
-
- // cleanup
- $this->_clearMailer();
-
- // add user defined stuff if there is any
- $oOrder = $this->_addUserInfoOrderEMail($oOrder);
-
- $oUser = $oOrder->getOrderUser();
- $this->setUser($oUser);
-
- // send confirmation to shop owner
- // send not pretending from order user, as different email domain rise spam filters
- $this->setFrom($oShop->oxshops__oxowneremail->value);
-
- $oLang = oxRegistry::getLang();
- $iOrderLang = $oLang->getObjectTplLanguage();
-
- // if running shop language is different from admin lang. set in config
- // we have to load shop in config language
- if ($oShop->getLanguage() != $iOrderLang) {
- $oShop = $this->_getShop($iOrderLang);
- }
-
- $this->setSmtp($oShop);
-
- // create messages
- $oSmarty = $this->_getSmarty();
- $this->setViewData("order", $oOrder);
-
- // Process view data array through oxoutput processor
- $this->_processViewArray();
-
- return $oSmarty->fetch($myConfig->getTemplatePath($sTpl, false));
- }
-}
+
+ * @link http://www.oxidmodule.com
+ */
+
+class d3_dev_oxemail extends d3_dev_oxemail_parent
+{
+ /**
+ * @param d3_dev_oxorder $oOrder
+ *
+ * @return mixed|string
+ */
+ public function d3GetOrderMailContent($oOrder, $sType)
+ {
+ if (oxRegistry::getConfig()->getActiveShop()->oxshops__oxproductive->value) {
+ return '';
+ }
+
+ switch (strtolower($sType)) {
+ case 'owner_html':
+ $sTpl = $this->_sOrderOwnerTemplate;
+ break;
+ case 'owner_plain':
+ $sTpl = $this->_sOrderOwnerPlainTemplate;
+ break;
+ case 'user_plain':
+ $sTpl = $this->_sOrderUserPlainTemplate;
+ break;
+ case 'user_html':
+ default:
+ $sTpl = $this->_sOrderUserTemplate;
+ }
+
+ $myConfig = $this->getConfig();
+
+ $oShop = $this->_getShop();
+
+ // cleanup
+ $this->_clearMailer();
+
+ // add user defined stuff if there is any
+ $oOrder = $this->_addUserInfoOrderEMail($oOrder);
+
+ $oUser = $oOrder->getOrderUser();
+ $this->setUser($oUser);
+
+ // send confirmation to shop owner
+ // send not pretending from order user, as different email domain rise spam filters
+ $this->setFrom($oShop->oxshops__oxowneremail->value);
+
+ $oLang = oxRegistry::getLang();
+ $iOrderLang = $oLang->getObjectTplLanguage();
+
+ // if running shop language is different from admin lang. set in config
+ // we have to load shop in config language
+ if ($oShop->getLanguage() != $iOrderLang) {
+ $oShop = $this->_getShop($iOrderLang);
+ }
+
+ $this->setSmtp($oShop);
+
+ // create messages
+ $oSmarty = $this->_getSmarty();
+ $this->setViewData("order", $oOrder);
+
+ // Process view data array through oxoutput processor
+ $this->_processViewArray();
+
+ return $oSmarty->fetch($myConfig->getTemplatePath($sTpl, false));
+ }
+}
diff --git a/copy_this/modules/d3/d3dev/modules/models/d3_dev_oxorder.php b/copy_this/modules/d3/d3dev/modules/models/d3_dev_oxorder.php
index 1ce011b..2ef868c 100644
--- a/copy_this/modules/d3/d3dev/modules/models/d3_dev_oxorder.php
+++ b/copy_this/modules/d3/d3dev/modules/models/d3_dev_oxorder.php
@@ -1,94 +1,94 @@
-
- * @link http://www.oxidmodule.com
- */
-
-class d3_dev_oxorder extends d3_dev_oxorder_parent
-{
- /**
- * @return d3_dev_oxbasket
- */
- public function d3DevGetOrderBasket()
- {
- /** @var d3_dev_oxbasket $oBasket */
- $oBasket = $this->_getOrderBasket();
-
- // unsetting bundles
- $oOrderArticles = $this->getOrderArticles();
- foreach ($oOrderArticles as $sItemId => $oItem) {
- if ($oItem->isBundle()) {
- $oOrderArticles->offsetUnset($sItemId);
- }
- }
-
- // add this order articles to basket and recalculate basket
- $this->_addOrderArticlesToBasket($oBasket, $oOrderArticles);
- // recalculating basket
- $oBasket->calculateBasket(true);
- $oBasket->d3ClearBasketItemArticles();
-
- $this->_oPayment = $this->_setPayment($oBasket->getPaymentId());
-
- return $oBasket;
- }
-
- /**
- * @return string
- */
- public function d3getLastOrderId()
- {
- if (oxRegistry::getConfig()->getRequestParameter('d3ordernr')) {
- $sWhere = ' oxordernr = ' . (int) oxRegistry::getConfig()->getRequestParameter('d3ordernr');
- } else {
- $sWhere = 1;
- }
-
- $sSelect = "SELECT oxid FROM ".getViewName('oxorder')." WHERE ".$sWhere." ORDER BY oxorderdate DESC LIMIT 1";
-
- return oxDb::getDb(oxDb::FETCH_MODE_ASSOC)->getOne($sSelect);
- }
-
- public function d3getLastOrder()
- {
- $this->load($this->d3getLastOrderId());
- $this->_d3AddVouchers();
- }
-
- /**
- * @return oxBasket
- */
- public function getBasket()
- {
- $oBasket = parent::getBasket();
-
- if (false == $oBasket && oxRegistry::getConfig()->getActiveView()->getClassName() == 'd3dev') {
- $oBasket = $this->d3DevGetOrderBasket();
- }
-
- return $oBasket;
- }
-
- protected function _d3AddVouchers()
- {
- $sSelect = "SELECT oxid FROM oxvouchers WHERE oxorderid = ".oxDb::getDb(oxDb::FETCH_MODE_ASSOC)->quote($this->getId()).";";
-
- $aResult = oxDb::getDb(oxDb::FETCH_MODE_ASSOC)->getArray($sSelect);
-
- foreach ($aResult as $aFields) {
- $oVoucher = oxNew('oxvoucher');
- $oVoucher->load($aFields['oxid']);
- $this->_aVoucherList[$oVoucher->getId()] = $oVoucher;
- }
- }
-}
+
+ * @link http://www.oxidmodule.com
+ */
+
+class d3_dev_oxorder extends d3_dev_oxorder_parent
+{
+ /**
+ * @return d3_dev_oxbasket
+ */
+ public function d3DevGetOrderBasket()
+ {
+ /** @var d3_dev_oxbasket $oBasket */
+ $oBasket = $this->_getOrderBasket();
+
+ // unsetting bundles
+ $oOrderArticles = $this->getOrderArticles();
+ foreach ($oOrderArticles as $sItemId => $oItem) {
+ if ($oItem->isBundle()) {
+ $oOrderArticles->offsetUnset($sItemId);
+ }
+ }
+
+ // add this order articles to basket and recalculate basket
+ $this->_addOrderArticlesToBasket($oBasket, $oOrderArticles);
+ // recalculating basket
+ $oBasket->calculateBasket(true);
+ $oBasket->d3ClearBasketItemArticles();
+
+ $this->_oPayment = $this->_setPayment($oBasket->getPaymentId());
+
+ return $oBasket;
+ }
+
+ /**
+ * @return string
+ */
+ public function d3getLastOrderId()
+ {
+ if (oxRegistry::getConfig()->getRequestParameter('d3ordernr')) {
+ $sWhere = ' oxordernr = ' . (int) oxRegistry::getConfig()->getRequestParameter('d3ordernr');
+ } else {
+ $sWhere = 1;
+ }
+
+ $sSelect = "SELECT oxid FROM ".getViewName('oxorder')." WHERE ".$sWhere." ORDER BY oxorderdate DESC LIMIT 1";
+
+ return oxDb::getDb(oxDb::FETCH_MODE_ASSOC)->getOne($sSelect);
+ }
+
+ public function d3getLastOrder()
+ {
+ $this->load($this->d3getLastOrderId());
+ $this->_d3AddVouchers();
+ }
+
+ /**
+ * @return oxBasket
+ */
+ public function getBasket()
+ {
+ $oBasket = parent::getBasket();
+
+ if (false == $oBasket && oxRegistry::getConfig()->getActiveView()->getClassName() == 'd3dev') {
+ $oBasket = $this->d3DevGetOrderBasket();
+ }
+
+ return $oBasket;
+ }
+
+ protected function _d3AddVouchers()
+ {
+ $sSelect = "SELECT oxid FROM oxvouchers WHERE oxorderid = ".oxDb::getDb(oxDb::FETCH_MODE_ASSOC)->quote($this->getId()).";";
+
+ $aResult = oxDb::getDb(oxDb::FETCH_MODE_ASSOC)->getArray($sSelect);
+
+ foreach ($aResult as $aFields) {
+ $oVoucher = oxNew('oxvoucher');
+ $oVoucher->load($aFields['oxid']);
+ $this->_aVoucherList[$oVoucher->getId()] = $oVoucher;
+ }
+ }
+}
diff --git a/copy_this/modules/d3/d3dev/modules/models/d3_dev_oxorderarticle.php b/copy_this/modules/d3/d3dev/modules/models/d3_dev_oxorderarticle.php
index 24a9ee6..8595bcd 100644
--- a/copy_this/modules/d3/d3dev/modules/models/d3_dev_oxorderarticle.php
+++ b/copy_this/modules/d3/d3dev/modules/models/d3_dev_oxorderarticle.php
@@ -1,28 +1,28 @@
-
- * @link http://www.oxidmodule.com
- */
-
-class d3_dev_oxorderarticle extends d3_dev_oxorderarticle_parent
-{
- /**
- * @return array
- */
- public function getCustomerAlsoBoughtThisProducts()
- {
- $oArticle = $this->getArticle();
-
- return $oArticle->getCustomerAlsoBoughtThisProducts();
- }
-}
+
+ * @link http://www.oxidmodule.com
+ */
+
+class d3_dev_oxorderarticle extends d3_dev_oxorderarticle_parent
+{
+ /**
+ * @return array
+ */
+ public function getCustomerAlsoBoughtThisProducts()
+ {
+ $oArticle = $this->getArticle();
+
+ return $oArticle->getCustomerAlsoBoughtThisProducts();
+ }
+}
diff --git a/copy_this/modules/d3/d3dev/views/admin/de/d3dev_lang.php b/copy_this/modules/d3/d3dev/views/admin/de/d3dev_lang.php
index 20cc08f..9b9cd23 100644
--- a/copy_this/modules/d3/d3dev/views/admin/de/d3dev_lang.php
+++ b/copy_this/modules/d3/d3dev/views/admin/de/d3dev_lang.php
@@ -1,49 +1,49 @@
-
- * @link http://www.oxidmodule.com
- */
-
-$sLangName = "Deutsch";
-
-// -------------------------------
-// RESOURCE IDENTITFIER = STRING
-// -------------------------------
-$aLang = array(
- //Navigation
- 'charset' => 'ISO-8859-15',
-
- 'SHOP_MODULE_GROUP_d3dev_order' => 'Bestellungsablauf manipulieren',
- 'SHOP_MODULE_blD3DevAvoidDelBasket' => 'Warenkorb wird nach Bestellabschluss nicht geleert',
- 'HELP_SHOP_MODULE_blD3DevAvoidDelBasket' => 'Damit kann auf der Bestellbestätigungsseite '.
- '(Thankyou) durch den "zurück"-Button in den Warenkorb Schritt 4 gewechselt werden und die Bestellung erneut '.
- 'abgeschickt werden. Eine erneute Bestückung des Warenkorbs ist nicht nötig. Beim erneuten Absenden wird '.
- 'jeweils eine weitere Bestellung angelegt werden. Eventuell verwendete Gutscheine müssen so eingestellt '.
- 'werden, dass diese mehrfach verwendet werden können.',
- 'SHOP_MODULE_blD3DevShowThankyou' => 'Thankyou-Seite kann auch ohne Bestellung '.
- 'aufgerufen werden',
- 'HELP_SHOP_MODULE_blD3DevShowThankyou' => 'Ohne abgesendete Bestellung läßt sich die '.
- 'Thankyou-Seite im Standardshop nicht aufrufen. Diese Option stellt dies für Entwicklungszwecke zur '.
- 'Verfügung.
Den Link zum Seitenaufruf haben wir hier im Stamm-Tab hinterlegt. Die Seite öffnet sich in '.
- 'einem neuen Browserfenster.
Für die Anzeige wird die letzte vorliegende Bestellung geladen. Über den '.
- 'Parameter "d3ordernr=X" kann eine bestimmten Bestellung vorgegeben werden.',
-
- 'SHOP_MODULE_GROUP_d3dev_mail' => 'Mailanzeige',
- 'SHOP_MODULE_blD3DevShowOrderMailsInBrowser' => 'Bestellbestätigungsmails können im Browser '.
- 'angezeigt werden',
- 'HELP_SHOP_MODULE_blD3DevShowOrderMailsInBrowser' => 'Die Links zu den '.
- 'jeweiligen Mails sind im Stamm-Tab aufgelistet.
Für die Anzeige wird ohne Angabe der Bestellnummer die '.
- 'letzte vorliegende Bestellung geladen. Über den Parameter "d3ordernr=X" kann eine bestimmten Bestellung '.
- 'vorgegeben werden.',
-);
+
+ * @link http://www.oxidmodule.com
+ */
+
+$sLangName = "Deutsch";
+
+// -------------------------------
+// RESOURCE IDENTITFIER = STRING
+// -------------------------------
+$aLang = array(
+ //Navigation
+ 'charset' => 'ISO-8859-15',
+
+ 'SHOP_MODULE_GROUP_d3dev_order' => 'Bestellungsablauf manipulieren',
+ 'SHOP_MODULE_blD3DevAvoidDelBasket' => 'Warenkorb wird nach Bestellabschluss nicht geleert',
+ 'HELP_SHOP_MODULE_blD3DevAvoidDelBasket' => 'Damit kann auf der Bestellbestätigungsseite '.
+ '(Thankyou) durch den "zurück"-Button in den Warenkorb Schritt 4 gewechselt werden und die Bestellung erneut '.
+ 'abgeschickt werden. Eine erneute Bestückung des Warenkorbs ist nicht nötig. Beim erneuten Absenden wird '.
+ 'jeweils eine weitere Bestellung angelegt werden. Eventuell verwendete Gutscheine müssen so eingestellt '.
+ 'werden, dass diese mehrfach verwendet werden können.',
+ 'SHOP_MODULE_blD3DevShowThankyou' => 'Thankyou-Seite kann auch ohne Bestellung '.
+ 'aufgerufen werden',
+ 'HELP_SHOP_MODULE_blD3DevShowThankyou' => 'Ohne abgesendete Bestellung läßt sich die '.
+ 'Thankyou-Seite im Standardshop nicht aufrufen. Diese Option stellt dies für Entwicklungszwecke zur '.
+ 'Verfügung.
Den Link zum Seitenaufruf haben wir hier im Stamm-Tab hinterlegt. Die Seite öffnet sich in '.
+ 'einem neuen Browserfenster.
Für die Anzeige wird die letzte vorliegende Bestellung geladen. Über den '.
+ 'Parameter "d3ordernr=X" kann eine bestimmten Bestellung vorgegeben werden.',
+
+ 'SHOP_MODULE_GROUP_d3dev_mail' => 'Mailanzeige',
+ 'SHOP_MODULE_blD3DevShowOrderMailsInBrowser' => 'Bestellbestätigungsmails können im Browser '.
+ 'angezeigt werden',
+ 'HELP_SHOP_MODULE_blD3DevShowOrderMailsInBrowser' => 'Die Links zu den '.
+ 'jeweiligen Mails sind im Stamm-Tab aufgelistet.
Für die Anzeige wird ohne Angabe der Bestellnummer die '.
+ 'letzte vorliegende Bestellung geladen. Über den Parameter "d3ordernr=X" kann eine bestimmten Bestellung '.
+ 'vorgegeben werden.',
+);
diff --git a/setup+doku/changelog.txt b/setup+doku/changelog.txt
index 141ade5..56a0bc7 100644
--- a/setup+doku/changelog.txt
+++ b/setup+doku/changelog.txt
@@ -1,4 +1,4 @@
-=> 1.0.0.0
-- unterbindet das Löschen des Warenkorbs nach Bestellabschluss
-- Thankyou ist ohne Bestellabschluss aufrufbar (unter Angabe der Bestellnummer auch für eine bestimmte Bestellung)
+=> 1.0.0.0
+- unterbindet das Löschen des Warenkorbs nach Bestellabschluss
+- Thankyou ist ohne Bestellabschluss aufrufbar (unter Angabe der Bestellnummer auch für eine bestimmte Bestellung)
- Bestellbestätigungsmails sind im Browser darstellbar (unter Angabe der Bestellnummer auch für eine bestimmte Bestellung)
\ No newline at end of file