From 4ccbdf0623923c062843e878f859474f7dc62444 Mon Sep 17 00:00:00 2001 From: Daniel Seifert Date: Wed, 16 Dec 2015 17:44:47 +0100 Subject: [PATCH] add inquiry templates to debug --- .../modules/d3/d3dev/IntelliSenseHelper.php | 97 ++++---- .../modules/d3/d3dev/controllers/d3dev.php | 96 +++++--- copy_this/modules/d3/d3dev/metadata.php | 174 ++++++------- .../modules/controllers/d3_dev_thankyou.php | 126 +++++----- .../d3dev/modules/models/d3_dev_d3inquiry.php | 154 ++++++++++++ .../models/d3_dev_d3inquiryarticle.php | 38 +++ .../d3dev/modules/models/d3_dev_oxbasket.php | 118 ++++----- .../modules/models/d3_dev_oxbasketitem.php | 46 ++-- .../d3dev/modules/models/d3_dev_oxemail.php | 228 +++++++++++------- .../d3dev/modules/models/d3_dev_oxorder.php | 188 +++++++-------- .../modules/models/d3_dev_oxorderarticle.php | 56 ++--- .../d3/d3dev/views/admin/de/d3dev_lang.php | 98 ++++---- setup+doku/changelog.txt | 6 +- 13 files changed, 866 insertions(+), 559 deletions(-) create mode 100644 copy_this/modules/d3/d3dev/modules/models/d3_dev_d3inquiry.php create mode 100644 copy_this/modules/d3/d3dev/modules/models/d3_dev_d3inquiryarticle.php diff --git a/copy_this/modules/d3/d3dev/IntelliSenseHelper.php b/copy_this/modules/d3/d3dev/IntelliSenseHelper.php index abe55d0..384d771 100644 --- a/copy_this/modules/d3/d3dev/IntelliSenseHelper.php +++ b/copy_this/modules/d3/d3dev/IntelliSenseHelper.php @@ -1,47 +1,52 @@ - - * @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_d3inquiry_parent + */ +class d3_dev_d3inquiry_parent extends d3inquiry {} + +/** + * 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..5f4a05f 100644 --- a/copy_this/modules/d3/d3dev/controllers/d3dev.php +++ b/copy_this/modules/d3/d3dev/controllers/d3dev.php @@ -1,38 +1,58 @@ - - * @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(); + } + + public function showInquiryMailContent() + { + 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->d3GetLastInquiry(); + + /** @var d3_dev_oxemail $oEmail */ + $oEmail = oxNew('oxemail'); + echo $oEmail->d3GetInquiryMailContent($oOrder, $sTpl); + die(); + } +} diff --git a/copy_this/modules/d3/d3dev/metadata.php b/copy_this/modules/d3/d3dev/metadata.php index 7e9ad1b..b54d207 100644 --- a/copy_this/modules/d3/d3dev/metadata.php +++ b/copy_this/modules/d3/d3dev/metadata.php @@ -1,82 +1,92 @@ - 'd3dev', - 'title' => - (class_exists('d3utils') ? d3utils::getInstance()->getD3Logo() : 'D³') . - ' TPL Development Tool', - 'description' => array( - 'de' => ' -

Sicherheitshinweis

- - 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

+ + 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' + ), + ), +); + + +if (class_exists('d3inquiry')) { + $aModule['extend']['d3inquiry'] = 'd3/d3dev/modules/models/d3_dev_d3inquiry'; + $aModule['extend']['d3inquiryarticle'] = 'd3/d3dev/modules/models/d3_dev_d3inquiryarticle'; +} 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..85bb3ea 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,71 @@ - - * @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; + } + + /** + * @return d3_dev_d3inquiry + */ + public function d3GetLastInquiry() + { + if (oxRegistry::getConfig()->getActiveShop()->oxshops__oxproductive->value) { + return false; + } + + /** @var d3_dev_d3inquiry $oInquiry */ + $oInquiry = oxNew('d3inquiry'); + $oInquiry->d3getLastInquiry(); + + return $oInquiry; + } +} diff --git a/copy_this/modules/d3/d3dev/modules/models/d3_dev_d3inquiry.php b/copy_this/modules/d3/d3dev/modules/models/d3_dev_d3inquiry.php new file mode 100644 index 0000000..b931c91 --- /dev/null +++ b/copy_this/modules/d3/d3dev/modules/models/d3_dev_d3inquiry.php @@ -0,0 +1,154 @@ + + * @link http://www.oxidmodule.com + */ + +class d3_dev_d3inquiry extends d3_dev_d3inquiry_parent +{ + protected $_oOrderBasket = null; + + /** + * @return d3_dev_oxbasket + */ + public function d3DevGetOrderBasket() + { + /** @var oxbasket $oBasket */ + $oBasket = $this->_getInquiryBasket(); + + // unsetting bundles + $oOrderArticles = $this->getInquiryArticles(); + foreach ($oOrderArticles as $sItemId => $oItem) { + if ($oItem->isBundle()) { + $oOrderArticles->offsetUnset($sItemId); + } + } + + // add this order articles to basket and recalculate basket + $oBasket = $this->_addInquiryArticlesToBasket($this->getInquiryUser(), $oOrderArticles); + // recalculating basket + $oBasket->calculateBasket(true); + $oBasket->d3ClearBasketItemArticles(); + + return $oBasket; + } + + /** + * @return string + */ + public function d3getLastInquiryId() + { + if (oxRegistry::getConfig()->getRequestParameter('d3inquirynr')) { + $sWhere = ' oxinquirynr = ' . (int) oxRegistry::getConfig()->getRequestParameter('d3inquirynr'); + } else { + $sWhere = 1; + } + + $sSelect = "SELECT oxid FROM ".getViewName('d3inquiry')." WHERE ".$sWhere." ORDER BY oxinquirydate DESC LIMIT 1"; + + return oxDb::getDb(oxDb::FETCH_MODE_ASSOC)->getOne($sSelect); + } + + public function d3getLastInquiry() + { + $this->load($this->d3getLastInquiryId()); + //$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; + } + } + + /** + * Returns basket object filled up with discount, delivery, wrapping and all other info + * + * @param bool $blStockCheck perform stock check or not (default true) + * + * @return oxBasket + */ + protected function _getInquiryBasket($blStockCheck = true) + { + $this->_oOrderBasket = oxNew("oxBasket"); + $this->_oOrderBasket->enableSaveToDataBase(false); + + //setting recalculation mode + $this->_oOrderBasket->setCalculationModeNetto($this->isNettoMode()); + + // setting stock check mode + $this->_oOrderBasket->setStockCheckMode($blStockCheck); + + // setting virtual basket user + $this->_oOrderBasket->setBasketUser($this->getInquiryUser()); + + // transferring order id + $this->_oOrderBasket->setInquiryId($this->getId()); + + // setting basket currency order uses + $aCurrencies = $this->getConfig()->getCurrencyArray(); + foreach ($aCurrencies as $oCur) { + if ($oCur->name == $this->oxorder__oxcurrency->value) { + $oBasketCur = $oCur; + break; + } + } + + // setting currency + $this->_oOrderBasket->setBasketCurrency($oBasketCur); + + // set basket card id and message + $this->_oOrderBasket->setCardId($this->oxorder__oxcardid->value); + $this->_oOrderBasket->setCardMessage($this->oxorder__oxcardtext->value); + + if ($this->_blReloadDiscount) { + $oDb = oxDb::getDb(oxDb::FETCH_MODE_ASSOC); + // disabling availability check + $this->_oOrderBasket->setSkipVouchersChecking(true); + + // add previously used vouchers + $sQ = 'select oxid from oxvouchers where oxorderid = ' . $oDb->quote($this->getId()); + $aVouchers = $oDb->getAll($sQ); + foreach ($aVouchers as $aVoucher) { + $this->_oOrderBasket->addVoucher($aVoucher['oxid']); + } + } else { + $this->_oOrderBasket->setDiscountCalcMode(false); + $this->_oOrderBasket->setVoucherDiscount($this->oxorder__oxvoucherdiscount->value); + $this->_oOrderBasket->setTotalDiscount($this->oxorder__oxdiscount->value); + } + + return $this->_oOrderBasket; + } +} diff --git a/copy_this/modules/d3/d3dev/modules/models/d3_dev_d3inquiryarticle.php b/copy_this/modules/d3/d3dev/modules/models/d3_dev_d3inquiryarticle.php new file mode 100644 index 0000000..4a224db --- /dev/null +++ b/copy_this/modules/d3/d3dev/modules/models/d3_dev_d3inquiryarticle.php @@ -0,0 +1,38 @@ + + * @link http://www.oxidmodule.com + */ + +class d3_dev_d3inquiryarticle extends d3_dev_d3inquiryarticle_parent +{ + /** + * @return array + */ + public function getCustomerAlsoBoughtThisProducts() + { + $oArticle = $this->getArticle(); + + return $oArticle->getCustomerAlsoBoughtThisProducts(); + } + + /** + * Returns true if ordered product is bundle + * + * @return bool + */ + public function isBundle() + { + return ( bool ) $this->d3inquiryarticles__oxisbundle->value; + } +} 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..1c6a66f 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,146 @@ - - * @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)); + } + + /** + * @param d3_dev_d3inquiry $oInquiry + * + * @return mixed|string + */ + public function d3GetInquiryMailContent($oInquiry, $sType) + { + if (oxRegistry::getConfig()->getActiveShop()->oxshops__oxproductive->value) { + return ''; + } + + switch (strtolower($sType)) { + case 'owner_html': + $sTpl = $this->_sInquiryOwnerTemplate; + break; + case 'owner_plain': + $sTpl = $this->_sInquiryOwnerPlainTemplate; + break; + case 'user_plain': + $sTpl = $this->_sInquiryUserPlainTemplate; + break; + case 'user_html': + default: + $sTpl = $this->_sInquiryUserTemplate; + } + + $myConfig = $this->getConfig(); + + $oShop = $this->_getShop(); + + // cleanup + $this->_clearMailer(); + + // add user defined stuff if there is any + $oInquiry = $this->_addUserInfoOrderEMail($oInquiry); + + $oUser = $oInquiry->getInquiryUser(); + $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("inquiry", $oInquiry); + + // 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