shopgate_module - Version 2.9.39

Version Notes

Shopgate Modul

Download this release

Release Info

Developer Stephan Recknagel
Extension shopgate_module
Version 2.9.39
Comparing to
See all releases


Code changes from version 2.9.38 to 2.9.39

Files changed (29) hide show
  1. app/code/community/Shopgate/Framework/Block/Payment/MobilePayment.php +2 -21
  2. app/code/community/Shopgate/Framework/Block/Payment/Notice.php +93 -0
  3. app/code/community/Shopgate/Framework/Block/Payment/Shopgate.php +3 -16
  4. app/code/community/Shopgate/Framework/Helper/Data.php +8 -8
  5. app/code/community/Shopgate/Framework/Model/Carrier/Fix.php +21 -66
  6. app/code/community/Shopgate/Framework/Model/Export/Category/Xml.php +33 -42
  7. app/code/community/Shopgate/Framework/Model/Observer.php +27 -6
  8. app/code/community/Shopgate/Framework/Model/Payment/Abstract.php +10 -1
  9. app/code/community/Shopgate/Framework/Model/Payment/Cc/Usaepay.php +1 -1
  10. app/code/community/Shopgate/Framework/Model/Payment/Factory.php +32 -3
  11. app/code/community/Shopgate/Framework/Model/Payment/Interface.php +6 -4
  12. app/code/community/Shopgate/Framework/Model/Payment/Router.php +37 -20
  13. app/code/community/Shopgate/Framework/Model/Payment/Simple/Cod/Abstract.php +31 -4
  14. app/code/community/Shopgate/Framework/Model/Payment/Simple/Cod/Msp.php +5 -5
  15. app/code/community/Shopgate/Framework/Model/Payment/Simple/Cod/Phoenix107.php +6 -4
  16. app/code/community/Shopgate/Framework/Model/Payment/Simple/Cod/Phoenix108.php +5 -5
  17. app/code/community/Shopgate/Framework/Model/Sales/Quote/Address/Total/ShopgatePaymentFee.php +14 -24
  18. app/code/community/Shopgate/Framework/Model/Shopgate/Order.php +6 -3
  19. app/code/community/Shopgate/Framework/Model/Shopgate/Plugin.php +15 -11
  20. app/code/community/Shopgate/Framework/changelog.txt +8 -0
  21. app/code/community/Shopgate/Framework/etc/config.xml +10 -1
  22. app/design/adminhtml/default/default/layout/shopgate.xml +4 -0
  23. app/design/adminhtml/default/default/template/shopgate/payment/mobile_payment.phtml +2 -20
  24. app/design/adminhtml/default/default/template/shopgate/payment/notice.phtml +57 -0
  25. app/design/adminhtml/default/default/template/shopgate/payment/shopgate.phtml +25 -31
  26. lib/Shopgate/changelog.txt +6 -0
  27. lib/Shopgate/classes/apis.php +11 -5
  28. lib/Shopgate/classes/helper/redirect/Redirector.php +1 -1
  29. package.xml +4 -4
app/code/community/Shopgate/Framework/Block/Payment/MobilePayment.php CHANGED
@@ -21,13 +21,11 @@
21
  * @author Shopgate GmbH <interfaces@shopgate.com>
22
  */
23
 
 
24
  include_once Mage::getBaseDir("lib") . '/Shopgate/shopgate.php';
25
 
26
  /**
27
- * mobile payment block
28
- *
29
- * @author Shopgate GmbH, 35510 Butzbach, DE
30
- * @package Shopgate_Framework
31
  */
32
  class Shopgate_Framework_Block_Payment_MobilePayment extends Mage_Payment_Block_Info
33
  {
@@ -79,23 +77,6 @@ class Shopgate_Framework_Block_Payment_MobilePayment extends Mage_Payment_Block_
79
  return $data;
80
  }
81
 
82
- /**
83
- * @return bool
84
- */
85
- public function hasDifferentPrices()
86
- {
87
- $order = $this->getOrder();
88
- $shopgateOrder = $this->getShopgateOrder()->getShopgateOrderObject();
89
-
90
- if (!$shopgateOrder instanceof ShopgateOrder) {
91
- return false;
92
- }
93
-
94
- $isDifferent = !Mage::helper('shopgate')->isOrderTotalCorrect($shopgateOrder, $order, $msg);
95
-
96
- return $isDifferent;
97
- }
98
-
99
  /**
100
  * Error message wrapper
101
  *
21
  * @author Shopgate GmbH <interfaces@shopgate.com>
22
  */
23
 
24
+ /** @noinspection PhpIncludeInspection */
25
  include_once Mage::getBaseDir("lib") . '/Shopgate/shopgate.php';
26
 
27
  /**
28
+ * Handles mobile payment block printing in Mangeto Order view page
 
 
 
29
  */
30
  class Shopgate_Framework_Block_Payment_MobilePayment extends Mage_Payment_Block_Info
31
  {
77
  return $data;
78
  }
79
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
80
  /**
81
  * Error message wrapper
82
  *
app/code/community/Shopgate/Framework/Block/Payment/Notice.php ADDED
@@ -0,0 +1,93 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Shopgate GmbH
5
+ *
6
+ * URHEBERRECHTSHINWEIS
7
+ *
8
+ * Dieses Plugin ist urheberrechtlich geschützt. Es darf ausschließlich von Kunden der Shopgate GmbH
9
+ * zum Zwecke der eigenen Kommunikation zwischen dem IT-System des Kunden mit dem IT-System der
10
+ * Shopgate GmbH über www.shopgate.com verwendet werden. Eine darüber hinausgehende Vervielfältigung, Verbreitung,
11
+ * öffentliche Zugänglichmachung, Bearbeitung oder Weitergabe an Dritte ist nur mit unserer vorherigen
12
+ * schriftlichen Zustimmung zulässig. Die Regelungen der §§ 69 d Abs. 2, 3 und 69 e UrhG bleiben hiervon unberührt.
13
+ *
14
+ * COPYRIGHT NOTICE
15
+ *
16
+ * This plugin is the subject of copyright protection. It is only for the use of Shopgate GmbH customers,
17
+ * for the purpose of facilitating communication between the IT system of the customer and the IT system
18
+ * of Shopgate GmbH via www.shopgate.com. Any reproduction, dissemination, public propagation, processing or
19
+ * transfer to third parties is only permitted where we previously consented thereto in writing. The provisions
20
+ * of paragraph 69 d, sub-paragraphs 2, 3 and paragraph 69, sub-paragraph e of the German Copyright Act shall remain unaffected.
21
+ *
22
+ * @author Shopgate GmbH <interfaces@shopgate.com>
23
+ */
24
+
25
+ /** @noinspection PhpIncludeInspection */
26
+ include_once Mage::getBaseDir("lib") . '/Shopgate/shopgate.php';
27
+
28
+ /**
29
+ * Produces an info block for orders
30
+ */
31
+ class Shopgate_Framework_Block_Payment_Notice extends Mage_Core_Block_Template
32
+ {
33
+ /** @var Mage_Sales_Model_Order | Varien_Object */
34
+ protected $order;
35
+
36
+ /**
37
+ * @return Mage_Sales_Model_Order|Varien_Object
38
+ */
39
+ public function getOrder()
40
+ {
41
+ if (is_null($this->order)) {
42
+ if (Mage::registry('current_order')) {
43
+ $order = Mage::registry('current_order');
44
+ } elseif (Mage::registry('order')) {
45
+ $order = Mage::registry('order');
46
+ } else {
47
+ $order = new Varien_Object();
48
+ }
49
+ $this->order = $order;
50
+ }
51
+ return $this->order;
52
+ }
53
+
54
+ /**
55
+ * @return Shopgate_Framework_Model_Shopgate_Order
56
+ */
57
+ public function getShopgateOrder()
58
+ {
59
+ return Mage::getModel('shopgate/shopgate_order')->load($this->getOrder()->getId(), 'order_id');
60
+ }
61
+
62
+ /**
63
+ * Retrieves a warning if there is a difference between
64
+ * actual Order total and Shopgate order total passed
65
+ *
66
+ * @return bool
67
+ */
68
+ public function hasDifferentPrices()
69
+ {
70
+ $order = $this->getOrder();
71
+ $shopgateOrder = $this->getShopgateOrder()->getShopgateOrderObject();
72
+
73
+ if (!$shopgateOrder instanceof ShopgateOrder) {
74
+ return false;
75
+ }
76
+
77
+ $isDifferent = !Mage::helper('shopgate')->isOrderTotalCorrect($shopgateOrder, $order, $msg);
78
+
79
+ return $isDifferent;
80
+ }
81
+
82
+ /**
83
+ * @see Shopgate_Framework_Block_Payment_MobilePayment::printHtmlError
84
+ * @inheritdoc
85
+ */
86
+ public function printHtmlError($errorMessage)
87
+ {
88
+ /** @var Shopgate_Framework_Block_Payment_MobilePayment $mobile */
89
+ $mobile = Mage::getBlockSingleton('shopgate/payment_MobilePayment');
90
+ return $mobile->printHtmlError($errorMessage);
91
+ }
92
+
93
+ }
app/code/community/Shopgate/Framework/Block/Payment/Shopgate.php CHANGED
@@ -1,4 +1,5 @@
1
  <?php
 
2
  /**
3
  * Shopgate GmbH
4
  *
@@ -18,26 +19,12 @@
18
  * transfer to third parties is only permitted where we previously consented thereto in writing. The provisions
19
  * of paragraph 69 d, sub-paragraphs 2, 3 and paragraph 69, sub-paragraph e of the German Copyright Act shall remain unaffected.
20
  *
21
- * @author Shopgate GmbH <interfaces@shopgate.com>
22
- */
23
-
24
- /**
25
- * User: Peter Liebig
26
- * Date: 28.01.14
27
- * Time: 12:55
28
- * E-Mail: p.liebig@me.com
29
- */
30
-
31
- /**
32
- * shopgate payment block
33
- *
34
- * @author Shopgate GmbH, 35510 Butzbach, DE
35
- * @package Shopgate_Framework
36
  */
37
  class Shopgate_Framework_Block_Payment_Shopgate extends Shopgate_Framework_Block_Payment_MobilePayment
38
  {
39
  /**
40
- * construct
41
  */
42
  protected function _construct()
43
  {
1
  <?php
2
+
3
  /**
4
  * Shopgate GmbH
5
  *
19
  * transfer to third parties is only permitted where we previously consented thereto in writing. The provisions
20
  * of paragraph 69 d, sub-paragraphs 2, 3 and paragraph 69, sub-paragraph e of the German Copyright Act shall remain unaffected.
21
  *
22
+ * @author Shopgate GmbH <interfaces@shopgate.com>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
23
  */
24
  class Shopgate_Framework_Block_Payment_Shopgate extends Shopgate_Framework_Block_Payment_MobilePayment
25
  {
26
  /**
27
+ * Sets template directly
28
  */
29
  protected function _construct()
30
  {
app/code/community/Shopgate/Framework/Helper/Data.php CHANGED
@@ -499,16 +499,16 @@ class Shopgate_Framework_Helper_Data extends Mage_Core_Helper_Abstract
499
  $totalShopgate = $order->getAmountComplete();
500
  $totalMagento = $oMageOrder->getTotalDue() + $oMageOrder->getTotalPaid();
501
 
502
- ShopgateLogger::getInstance()->log(
503
- "Total Shopgate: {$totalShopgate} {$order->getCurrency()}
504
- Total Magento: {$totalMagento} {$order->getCurrency()}",
505
- ShopgateLogger::LOGTYPE_DEBUG
506
- );
507
 
508
  if (abs($totalShopgate - $totalMagento) > 0.02) {
509
- $msg = "differing total order amounts:\n";
510
- $msg .= "\tShopgate:\t{$totalShopgate} {$order->getCurrency()} \n";
511
- $msg .= "\tMagento:\t{$totalMagento} {$oMageOrder->getOrderCurrencyCode()}\n";
 
512
  $message = $msg;
513
  return false;
514
  }
499
  $totalShopgate = $order->getAmountComplete();
500
  $totalMagento = $oMageOrder->getTotalDue() + $oMageOrder->getTotalPaid();
501
 
502
+ $msg = "\tShopgate:\t{$totalShopgate} {$order->getCurrency()} \n";
503
+ $msg .= "\tMagento:\t{$totalMagento} {$oMageOrder->getOrderCurrencyCode()}\n";
504
+
505
+ ShopgateLogger::getInstance()->log($msg, ShopgateLogger::LOGTYPE_DEBUG);
 
506
 
507
  if (abs($totalShopgate - $totalMagento) > 0.02) {
508
+ $msg = "differing total order amounts:\n" . $msg;
509
+ $msg .= "\tMagento Order #\t{$oMageOrder->getIncrementId()} \n";
510
+ $msg .= "\tShopgate Order #\t{$order->getOrderNumber()} \n";
511
+
512
  $message = $msg;
513
  return false;
514
  }
app/code/community/Shopgate/Framework/Model/Carrier/Fix.php CHANGED
@@ -1,4 +1,5 @@
1
  <?php
 
2
  /**
3
  * Shopgate GmbH
4
  *
@@ -43,44 +44,37 @@ class Shopgate_Framework_Model_Carrier_Fix
43
 
44
  /**
45
  * @param Mage_Shipping_Model_Rate_Request $request
46
- * @return bool|Mage_Shipping_Model_Rate_Result|null
47
  */
48
  public function collectRates(Mage_Shipping_Model_Rate_Request $request)
49
  {
50
- $result = Mage::getModel('shipping/rate_result');
51
- $amount = array(
52
- 'shipping' => 0,
53
- 'payment' => 0
54
- );
55
-
56
  /* @var $sgOrder ShopgateOrder */
57
  $sgOrder = Mage::getSingleton('core/session')->getData('shopgate_order');
58
  if (!$sgOrder) {
59
  return false;
60
  }
61
 
62
- $shippingInfo = $sgOrder->getShippingInfos();
63
- $carrierTitle = Mage::getStoreConfig('shopgate/orders/shipping_title');
64
- $methodTitle = $shippingInfo->getName();
65
- $displayName = $shippingInfo->getDisplayName();
66
  if (!empty($displayName)) {
67
- $splittedTitle = explode('-', $displayName);
68
- if ($splittedTitle && is_array($splittedTitle) && count($splittedTitle) >= 2) {
69
- $carrierTitle = $splittedTitle[0];
70
  $carrierTitle = trim($carrierTitle);
71
- $methodTitle = $splittedTitle[1];
72
  $methodTitle = trim($methodTitle);
73
  }
74
  }
75
 
76
  $method = Mage::getModel('shipping/rate_result_method');
77
- $method->setCarrier($this->_code);
78
- $method->setCarrierTitle($carrierTitle);
79
- $method->setMethod($this->_method);
80
- $method->setMethodTitle($methodTitle);
81
-
82
- $scopeId = Mage::helper('shopgate/config')->getConfig()->getStoreViewId();
83
 
 
84
  $shippingIncludesTax = Mage::helper('tax')->shippingPriceIncludesTax($scopeId);
85
  $shippingTaxClass = Mage::helper('tax')->getShippingTaxClass($scopeId);
86
 
@@ -94,63 +88,24 @@ class Shopgate_Framework_Model_Carrier_Fix
94
  $calc = Mage::getSingleton('tax/calculation');
95
  $store = Mage::app()->getStore($scopeId);
96
  $taxRequest = $calc->getRateOriginRequest($store)
97
- ->setProductClassId($shippingTaxClass);
98
  $rate = $calc->getRate($taxRequest) / 100;
99
  $amountGross = $amountNet * (1 + $rate);
100
  }
101
- $amount['shipping'] = $amountGross;
102
  } else {
103
- $amount['shipping'] = $amountNet;
104
- }
105
-
106
- $amountShopPayment = $sgOrder->getAmountShopPayment();
107
- if ($amountShopPayment >= 0) {
108
- // set payment fee only if payment fee is positive or 0
109
- // and its not cod with phoenix_cod active
110
- if ($sgOrder->getPaymentMethod() != ShopgateOrder::COD
111
- || (!Mage::getConfig()->getModuleConfig('Phoenix_CashOnDelivery')->is('active', 'true')
112
- && !Mage::getConfig()->getModuleConfig('MSP_CashOnDelivery')->is('active', 'true'))
113
- ) {
114
- $amount['payment'] = $this->_getNetForGrossShipping($amountShopPayment);
115
- }
116
  }
117
 
118
  $exchangeRate = Mage::app()->getStore()->getCurrentCurrencyRate();
119
- $method->setPrice(array_sum($amount) / $exchangeRate);
 
 
120
  $result->append($method);
121
 
122
  return $result;
123
  }
124
 
125
- /**
126
- * @param float $amount
127
- * @param bool $amountContainsTax
128
- * @return float
129
- */
130
- protected function _getNetForGrossShipping($amount, $amountContainsTax = true)
131
- {
132
- $storeViewId = Mage::helper('shopgate/config')->getConfig()->getStoreViewId();
133
- $taxClassId = Mage::helper('tax')->getShippingTaxClass($storeViewId);
134
-
135
- $pseudoProduct = new Varien_Object();
136
- $pseudoProduct->setTaxClassId($taxClassId);
137
-
138
- $returnIncludesTax = Mage::helper('tax')->shippingPriceIncludesTax($storeViewId);
139
- $customerTaxClass = null;
140
-
141
- $amount = Mage::helper('tax')->getPrice(
142
- $pseudoProduct,
143
- $amount,
144
- $returnIncludesTax,
145
- null,
146
- null,
147
- null,
148
- $storeViewId,
149
- $amountContainsTax
150
- );
151
- return $amount;
152
- }
153
-
154
  /**
155
  * @return bool
156
  */
1
  <?php
2
+
3
  /**
4
  * Shopgate GmbH
5
  *
44
 
45
  /**
46
  * @param Mage_Shipping_Model_Rate_Request $request
47
+ * @return bool | Mage_Shipping_Model_Rate_Result | null
48
  */
49
  public function collectRates(Mage_Shipping_Model_Rate_Request $request)
50
  {
 
 
 
 
 
 
51
  /* @var $sgOrder ShopgateOrder */
52
  $sgOrder = Mage::getSingleton('core/session')->getData('shopgate_order');
53
  if (!$sgOrder) {
54
  return false;
55
  }
56
 
57
+ $shippingInfo = $sgOrder->getShippingInfos();
58
+ $carrierTitle = Mage::getStoreConfig('shopgate/orders/shipping_title');
59
+ $methodTitle = $shippingInfo->getName();
60
+ $displayName = $shippingInfo->getDisplayName();
61
  if (!empty($displayName)) {
62
+ $splitTitle = explode('-', $displayName);
63
+ if ($splitTitle && is_array($splitTitle) && count($splitTitle) >= 2) {
64
+ $carrierTitle = $splitTitle[0];
65
  $carrierTitle = trim($carrierTitle);
66
+ $methodTitle = $splitTitle[1];
67
  $methodTitle = trim($methodTitle);
68
  }
69
  }
70
 
71
  $method = Mage::getModel('shipping/rate_result_method');
72
+ $method->setData('carrier', $this->_code);
73
+ $method->setData('carrier_title', $carrierTitle);
74
+ $method->setData('method', $this->_method);
75
+ $method->setData('method_title', $methodTitle);
 
 
76
 
77
+ $scopeId = Mage::helper('shopgate/config')->getConfig()->getStoreViewId();
78
  $shippingIncludesTax = Mage::helper('tax')->shippingPriceIncludesTax($scopeId);
79
  $shippingTaxClass = Mage::helper('tax')->getShippingTaxClass($scopeId);
80
 
88
  $calc = Mage::getSingleton('tax/calculation');
89
  $store = Mage::app()->getStore($scopeId);
90
  $taxRequest = $calc->getRateOriginRequest($store)
91
+ ->setData('product_class_id', $shippingTaxClass);
92
  $rate = $calc->getRate($taxRequest) / 100;
93
  $amountGross = $amountNet * (1 + $rate);
94
  }
95
+ $shippingAmount = $amountGross;
96
  } else {
97
+ $shippingAmount = $amountNet;
 
 
 
 
 
 
 
 
 
 
 
 
98
  }
99
 
100
  $exchangeRate = Mage::app()->getStore()->getCurrentCurrencyRate();
101
+ $method->setPrice($shippingAmount / $exchangeRate);
102
+
103
+ $result = Mage::getModel('shipping/rate_result');
104
  $result->append($method);
105
 
106
  return $result;
107
  }
108
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
109
  /**
110
  * @return bool
111
  */
app/code/community/Shopgate/Framework/Model/Export/Category/Xml.php CHANGED
@@ -1,4 +1,5 @@
1
  <?php
 
2
  /**
3
  * Shopgate GmbH
4
  *
@@ -20,29 +21,15 @@
20
  *
21
  * @author Shopgate GmbH <interfaces@shopgate.com>
22
  */
23
-
24
- /**
25
- *
26
- * @Developer: srecknagel
27
- * @Date : 21.05.14
28
- * @Time : 14:46
29
- * @Email : mail@recknagel.io
30
- *
31
- */
32
-
33
- /**
34
- * @package Xml.php
35
- * @author Stephan Recknagel <mail@recknagel.io>
36
- */
37
  class Shopgate_Framework_Model_Export_Category_Xml extends Shopgate_Framework_Model_Export_Category
38
  {
39
- /**
40
- * @var null
41
- */
42
  protected $_maxPosition = null;
43
 
44
  /**
45
- * @param $position
46
  *
47
  * @return $this
48
  */
@@ -53,7 +40,7 @@ class Shopgate_Framework_Model_Export_Category_Xml extends Shopgate_Framework_Mo
53
  }
54
 
55
  /**
56
- * @return null
57
  */
58
  public function getMaximumPosition()
59
  {
@@ -61,7 +48,7 @@ class Shopgate_Framework_Model_Export_Category_Xml extends Shopgate_Framework_Mo
61
  }
62
 
63
  /**
64
- * generate data dom object
65
  *
66
  * @return $this
67
  */
@@ -75,7 +62,7 @@ class Shopgate_Framework_Model_Export_Category_Xml extends Shopgate_Framework_Mo
75
  }
76
 
77
  /**
78
- * set category id
79
  */
80
  public function setUid()
81
  {
@@ -83,15 +70,15 @@ class Shopgate_Framework_Model_Export_Category_Xml extends Shopgate_Framework_Mo
83
  }
84
 
85
  /**
86
- * set category sort order
87
  */
88
  public function setSortOrder()
89
  {
90
- parent::setSortOrder($this->getMaximumPosition() - $this->item->getPosition());
91
  }
92
 
93
  /**
94
- * set category name
95
  */
96
  public function setName()
97
  {
@@ -99,7 +86,7 @@ class Shopgate_Framework_Model_Export_Category_Xml extends Shopgate_Framework_Mo
99
  }
100
 
101
  /**
102
- * set parent category id
103
  */
104
  public function setParentUid()
105
  {
@@ -107,7 +94,7 @@ class Shopgate_Framework_Model_Export_Category_Xml extends Shopgate_Framework_Mo
107
  }
108
 
109
  /**
110
- * category link in shop
111
  */
112
  public function setDeeplink()
113
  {
@@ -115,35 +102,37 @@ class Shopgate_Framework_Model_Export_Category_Xml extends Shopgate_Framework_Mo
115
  }
116
 
117
  /**
118
- * check if category is anchor
119
  */
120
  public function setIsAnchor()
121
  {
122
- parent::setIsAnchor($this->item->getIsAnchor());
123
  }
124
 
125
  /**
126
- * set category image
127
  */
128
  public function setImage()
129
  {
130
- $imageItem = new Shopgate_Model_Media_Image();
 
131
 
132
- $imageItem->setUid(1);
133
- $imageItem->setSortOrder(1);
134
- $imageItem->setUrl($this->getImageUrl($this->item));
135
- $imageItem->setTitle($this->item->getName());
136
 
137
- parent::setImage($imageItem);
 
138
  }
139
 
140
  /**
141
- * set active state
142
  */
143
  public function setIsActive()
144
  {
145
  $catIds = Mage::getStoreConfig(
146
- Shopgate_Framework_Model_Config::XML_PATH_SHOPGATE_EXPORT_HIDDEN_CATEGORIES
147
  );
148
  $catIdsArray = array();
149
 
@@ -154,20 +143,22 @@ class Shopgate_Framework_Model_Export_Category_Xml extends Shopgate_Framework_Mo
154
  }
155
  }
156
 
157
- $isActive = $this->item->getIsActive();
158
  if (in_array($this->item->getId(), $catIdsArray)
159
  || array_intersect(
160
- $catIdsArray, $this->item->getParentIds()
 
161
  )
162
  ) {
163
  $isActive = 1;
164
  }
165
-
166
  if (Mage::getStoreConfig(Shopgate_Framework_Model_Config::XML_PATH_SHOPGATE_EXPORT_NAVIGATION_CATEGORIES_ONLY)
167
- && !$this->item->getIncludeInMenu()) {
 
168
  $isActive = 0;
169
  }
170
-
171
  parent::setIsActive($isActive);
172
  }
173
  }
1
  <?php
2
+
3
  /**
4
  * Shopgate GmbH
5
  *
21
  *
22
  * @author Shopgate GmbH <interfaces@shopgate.com>
23
  */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
24
  class Shopgate_Framework_Model_Export_Category_Xml extends Shopgate_Framework_Model_Export_Category
25
  {
26
+ /** @var Mage_Catalog_Model_Category */
27
+ protected $item;
28
+ /** @var int | null */
29
  protected $_maxPosition = null;
30
 
31
  /**
32
+ * @param int $position
33
  *
34
  * @return $this
35
  */
40
  }
41
 
42
  /**
43
+ * @return null | int
44
  */
45
  public function getMaximumPosition()
46
  {
48
  }
49
 
50
  /**
51
+ * Generate data dom object
52
  *
53
  * @return $this
54
  */
62
  }
63
 
64
  /**
65
+ * Set category id
66
  */
67
  public function setUid()
68
  {
70
  }
71
 
72
  /**
73
+ * Set category sort order
74
  */
75
  public function setSortOrder()
76
  {
77
+ parent::setSortOrder($this->getMaximumPosition() - $this->item->getData('position'));
78
  }
79
 
80
  /**
81
+ * Set category name
82
  */
83
  public function setName()
84
  {
86
  }
87
 
88
  /**
89
+ * Set parent category id
90
  */
91
  public function setParentUid()
92
  {
94
  }
95
 
96
  /**
97
+ * Category link in shop
98
  */
99
  public function setDeeplink()
100
  {
102
  }
103
 
104
  /**
105
+ * Check if category is anchor
106
  */
107
  public function setIsAnchor()
108
  {
109
+ parent::setIsAnchor($this->item->getData('is_anchor'));
110
  }
111
 
112
  /**
113
+ * Set category image
114
  */
115
  public function setImage()
116
  {
117
+ if ($this->item->getImageUrl()) {
118
+ $imageItem = new Shopgate_Model_Media_Image();
119
 
120
+ $imageItem->setUid(1);
121
+ $imageItem->setSortOrder(1);
122
+ $imageItem->setUrl($this->getImageUrl($this->item));
123
+ $imageItem->setTitle($this->item->getName());
124
 
125
+ parent::setImage($imageItem);
126
+ }
127
  }
128
 
129
  /**
130
+ * Set active state
131
  */
132
  public function setIsActive()
133
  {
134
  $catIds = Mage::getStoreConfig(
135
+ Shopgate_Framework_Model_Config::XML_PATH_SHOPGATE_EXPORT_HIDDEN_CATEGORIES
136
  );
137
  $catIdsArray = array();
138
 
143
  }
144
  }
145
 
146
+ $isActive = $this->item->getData('is_active');
147
  if (in_array($this->item->getId(), $catIdsArray)
148
  || array_intersect(
149
+ $catIdsArray,
150
+ $this->item->getParentIds()
151
  )
152
  ) {
153
  $isActive = 1;
154
  }
155
+
156
  if (Mage::getStoreConfig(Shopgate_Framework_Model_Config::XML_PATH_SHOPGATE_EXPORT_NAVIGATION_CATEGORIES_ONLY)
157
+ && !$this->item->getData('include_in_menu')
158
+ ) {
159
  $isActive = 0;
160
  }
161
+
162
  parent::setIsActive($isActive);
163
  }
164
  }
app/code/community/Shopgate/Framework/Model/Observer.php CHANGED
@@ -22,6 +22,7 @@
22
  */
23
 
24
  include_once(Mage::getBaseDir('lib') . '/Shopgate/shopgate.php');
 
25
  /**
26
  * observer for events
27
  *
@@ -625,8 +626,8 @@ class Shopgate_Framework_Model_Observer
625
  Mage::app()->setCurrentStore($storeViewId);
626
 
627
  $collection = Mage::getModel('catalog/product')
628
- ->getResourceCollection()
629
- ->addFieldToFilter('type_id', 'virtual');
630
 
631
  $helper = Mage::helper('shopgate/coupon');
632
 
@@ -689,9 +690,9 @@ class Shopgate_Framework_Model_Observer
689
  );
690
 
691
  $collection = Mage::getModel('core/config_data')
692
- ->getCollection()
693
- ->addFieldToFilter('path', Shopgate_Framework_Model_Config::XML_PATH_SHOPGATE_SHOP_NUMBER)
694
- ->addFieldToFilter('value', $shopnumber);
695
 
696
  if ($collection->getSize() && $collection->getFirstItem()->getScope() == 'websites') {
697
  Mage::getConfig()->saveConfig(
@@ -858,7 +859,7 @@ class Shopgate_Framework_Model_Observer
858
  */
859
  public function removeDefaultStore(Varien_Event_Observer $event)
860
  {
861
- $websiteId = $event->getStore()->getWebsiteId();
862
  if ($websiteId) {
863
  Mage::getModel('core/config')->deleteConfig(
864
  Shopgate_Framework_Model_Config::XML_PATH_SHOPGATE_SHOP_DEFAULT_STORE,
@@ -869,4 +870,24 @@ class Shopgate_Framework_Model_Observer
869
 
870
  return $this;
871
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
872
  }
22
  */
23
 
24
  include_once(Mage::getBaseDir('lib') . '/Shopgate/shopgate.php');
25
+
26
  /**
27
  * observer for events
28
  *
626
  Mage::app()->setCurrentStore($storeViewId);
627
 
628
  $collection = Mage::getModel('catalog/product')
629
+ ->getResourceCollection()
630
+ ->addFieldToFilter('type_id', 'virtual');
631
 
632
  $helper = Mage::helper('shopgate/coupon');
633
 
690
  );
691
 
692
  $collection = Mage::getModel('core/config_data')
693
+ ->getCollection()
694
+ ->addFieldToFilter('path', Shopgate_Framework_Model_Config::XML_PATH_SHOPGATE_SHOP_NUMBER)
695
+ ->addFieldToFilter('value', $shopnumber);
696
 
697
  if ($collection->getSize() && $collection->getFirstItem()->getScope() == 'websites') {
698
  Mage::getConfig()->saveConfig(
859
  */
860
  public function removeDefaultStore(Varien_Event_Observer $event)
861
  {
862
+ $websiteId = $event->getData('store')->getWebsiteId();
863
  if ($websiteId) {
864
  Mage::getModel('core/config')->deleteConfig(
865
  Shopgate_Framework_Model_Config::XML_PATH_SHOPGATE_SHOP_DEFAULT_STORE,
870
 
871
  return $this;
872
  }
873
+
874
+ /**
875
+ * Produces an info block in the Order View panel
876
+ *
877
+ * @param Varien_Event_Observer $observer
878
+ */
879
+ public function getSalesOrderViewShopgateNotice(Varien_Event_Observer $observer)
880
+ {
881
+ /** @var Mage_Adminhtml_Block_Sales_Order_View_Info $block */
882
+ $block = $observer->getData('block');
883
+ if ($block->getNameInLayout() === 'order_info') {
884
+ $child = $block->getChild('shopgate_payment_notice');
885
+ $transport = $observer->getData('transport');
886
+ if ($child && $transport) {
887
+ $html = $transport->getData('html');
888
+ $html .= $child->toHtml();
889
+ $transport->setHtml($html);
890
+ }
891
+ }
892
+ }
893
  }
app/code/community/Shopgate/Framework/Model/Payment/Abstract.php CHANGED
@@ -280,6 +280,15 @@ class Shopgate_Framework_Model_Payment_Abstract
280
  * ===========================================
281
  */
282
 
 
 
 
 
 
 
 
 
 
283
  /**
284
  * Default order creation if no payment matches
285
  *
@@ -331,7 +340,7 @@ class Shopgate_Framework_Model_Payment_Abstract
331
  * Default quote prepare handler
332
  *
333
  * @param Mage_Sales_Model_Quote $quote
334
- * @param $info
335
  *
336
  * @return Mage_Sales_Model_Quote
337
  */
280
  * ===========================================
281
  */
282
 
283
+ /**
284
+ * Set up function to be rewritten by payment
285
+ * methods if anything needs to be set up before
286
+ * general logic runs
287
+ */
288
+ public function setUp()
289
+ {
290
+ }
291
+
292
  /**
293
  * Default order creation if no payment matches
294
  *
340
  * Default quote prepare handler
341
  *
342
  * @param Mage_Sales_Model_Quote $quote
343
+ * @param array $info
344
  *
345
  * @return Mage_Sales_Model_Quote
346
  */
app/code/community/Shopgate/Framework/Model/Payment/Cc/Usaepay.php CHANGED
@@ -60,7 +60,6 @@ class Shopgate_Framework_Model_Payment_Cc_Usaepay extends Shopgate_Framework_Mod
60
  str_pad($paymentInfos['credit_card']['expiry_month'], 2, '0', STR_PAD_LEFT)
61
  );
62
  $order->getPayment()->setCcExpYear($paymentInfos['credit_card']['expiry_year']);
63
- $order->getPayment()->setLastTransId($paymentInfos['reference_number']);
64
 
65
  try {
66
  if (isset($paymentInfos['transaction_type']) && $paymentInfos['transaction_type'] === 'sale') {
@@ -68,6 +67,7 @@ class Shopgate_Framework_Model_Payment_Cc_Usaepay extends Shopgate_Framework_Mod
68
  $order->getPayment()->setAmountAuthorized($invoice->getGrandTotal());
69
  $order->getPayment()->setBaseAmountAuthorized($invoice->getBaseGrandTotal());
70
  $order->getPayment()->setBaseAmountPaidOnline($invoice->getBaseGrandTotal());
 
71
  $invoice->setIsPaid(true);
72
  $invoice->setTransactionId($paymentInfos['reference_number']);
73
  $invoice->pay();
60
  str_pad($paymentInfos['credit_card']['expiry_month'], 2, '0', STR_PAD_LEFT)
61
  );
62
  $order->getPayment()->setCcExpYear($paymentInfos['credit_card']['expiry_year']);
 
63
 
64
  try {
65
  if (isset($paymentInfos['transaction_type']) && $paymentInfos['transaction_type'] === 'sale') {
67
  $order->getPayment()->setAmountAuthorized($invoice->getGrandTotal());
68
  $order->getPayment()->setBaseAmountAuthorized($invoice->getBaseGrandTotal());
69
  $order->getPayment()->setBaseAmountPaidOnline($invoice->getBaseGrandTotal());
70
+ $order->getPayment()->setLastTransId($paymentInfos['reference_number']);
71
  $invoice->setIsPaid(true);
72
  $invoice->setTransactionId($paymentInfos['reference_number']);
73
  $invoice->pay();
app/code/community/Shopgate/Framework/Model/Payment/Factory.php CHANGED
@@ -30,6 +30,9 @@
30
  */
31
  class Shopgate_Framework_Model_Payment_Factory extends Shopgate_Framework_Model_Payment_Abstract
32
  {
 
 
 
33
  protected $_payment_class = null;
34
 
35
  /**
@@ -40,6 +43,7 @@ class Shopgate_Framework_Model_Payment_Factory extends Shopgate_Framework_Model_
40
  if (!$this->_payment_class) {
41
  $this->_payment_class = $this->calculatePaymentClass();
42
  }
 
43
  return $this->_payment_class;
44
  }
45
 
@@ -69,10 +73,23 @@ class Shopgate_Framework_Model_Payment_Factory extends Shopgate_Framework_Model_
69
  endif;
70
  }
71
 
 
 
 
 
 
 
 
 
 
 
 
 
72
  /**
73
  * Create order router
74
  *
75
  * @param Mage_Sales_Model_Quote $quote
 
76
  * @return Mage_Sales_Model_Order
77
  */
78
  public function createNewOrder($quote)
@@ -80,6 +97,7 @@ class Shopgate_Framework_Model_Payment_Factory extends Shopgate_Framework_Model_
80
  if ($this->validatePaymentClass()) {
81
  return $this->getPaymentClass()->createNewOrder($quote);
82
  }
 
83
  return parent::createNewOrder($quote);
84
  }
85
 
@@ -87,6 +105,7 @@ class Shopgate_Framework_Model_Payment_Factory extends Shopgate_Framework_Model_
87
  * Manipulate order router
88
  *
89
  * @param Mage_Sales_Model_Order $magentoOrder
 
90
  * @return Mage_Sales_Model_Order
91
  */
92
  public function manipulateOrderWithPaymentData($magentoOrder)
@@ -106,7 +125,8 @@ class Shopgate_Framework_Model_Payment_Factory extends Shopgate_Framework_Model_
106
  * Router for quoute preparation
107
  *
108
  * @param Mage_Sales_Model_Quote $quote
109
- * @param $info
 
110
  * @return Mage_Sales_Model_Quote
111
  */
112
  public function prepareQuote($quote, $info)
@@ -114,6 +134,7 @@ class Shopgate_Framework_Model_Payment_Factory extends Shopgate_Framework_Model_
114
  if ($this->validatePaymentClass()) {
115
  return $this->getPaymentClass()->prepareQuote($quote, $info);
116
  }
 
117
  return parent::prepareQuote($quote, $info);
118
  }
119
 
@@ -121,6 +142,7 @@ class Shopgate_Framework_Model_Payment_Factory extends Shopgate_Framework_Model_
121
  * Router for order status setting
122
  *
123
  * @param Mage_Sales_Model_Order $magentoOrder
 
124
  * @return mixed
125
  */
126
  public function setOrderStatus($magentoOrder)
@@ -128,19 +150,21 @@ class Shopgate_Framework_Model_Payment_Factory extends Shopgate_Framework_Model_
128
  if ($this->validatePaymentClass()) {
129
  return $this->getPaymentClass()->setOrderStatus($magentoOrder);
130
  }
 
131
  return parent::setOrderStatus($magentoOrder);
132
  }
133
 
134
  /**
135
  * Router for grabbing the correct payment model
136
- *
137
- * @return bool|mixed
138
  */
139
  public function getPaymentModel()
140
  {
141
  if ($this->validatePaymentClass()) {
142
  return $this->getPaymentClass()->getPaymentModel();
143
  }
 
144
  return parent::getPaymentModel();
145
  }
146
 
@@ -159,6 +183,7 @@ class Shopgate_Framework_Model_Payment_Factory extends Shopgate_Framework_Model_
159
  return true;
160
  }
161
  }
 
162
  return false;
163
  }
164
 
@@ -172,8 +197,10 @@ class Shopgate_Framework_Model_Payment_Factory extends Shopgate_Framework_Model_
172
  {
173
  if ($this->getPaymentMethod()) {
174
  $parts = explode('_', $this->getPaymentMethod());
 
175
  return count($parts) === 1;
176
  }
 
177
  return false;
178
  }
179
 
@@ -187,8 +214,10 @@ class Shopgate_Framework_Model_Payment_Factory extends Shopgate_Framework_Model_
187
  {
188
  if ($this->getPaymentMethod()) {
189
  $parts = explode('_', $this->getPaymentMethod());
 
190
  return count($parts) > 1;
191
  }
 
192
  return false;
193
  }
194
  }
30
  */
31
  class Shopgate_Framework_Model_Payment_Factory extends Shopgate_Framework_Model_Payment_Abstract
32
  {
33
+ /**
34
+ * @var null | false | Shopgate_Framework_Model_Payment_Interface
35
+ */
36
  protected $_payment_class = null;
37
 
38
  /**
43
  if (!$this->_payment_class) {
44
  $this->_payment_class = $this->calculatePaymentClass();
45
  }
46
+
47
  return $this->_payment_class;
48
  }
49
 
73
  endif;
74
  }
75
 
76
+ /**
77
+ * Runs initial setup functions
78
+ */
79
+ public function setUp()
80
+ {
81
+ if ($this->validatePaymentClass()) {
82
+ $this->getPaymentClass()->setUp();
83
+ }
84
+
85
+ parent::setUp();
86
+ }
87
+
88
  /**
89
  * Create order router
90
  *
91
  * @param Mage_Sales_Model_Quote $quote
92
+ *
93
  * @return Mage_Sales_Model_Order
94
  */
95
  public function createNewOrder($quote)
97
  if ($this->validatePaymentClass()) {
98
  return $this->getPaymentClass()->createNewOrder($quote);
99
  }
100
+
101
  return parent::createNewOrder($quote);
102
  }
103
 
105
  * Manipulate order router
106
  *
107
  * @param Mage_Sales_Model_Order $magentoOrder
108
+ *
109
  * @return Mage_Sales_Model_Order
110
  */
111
  public function manipulateOrderWithPaymentData($magentoOrder)
125
  * Router for quoute preparation
126
  *
127
  * @param Mage_Sales_Model_Quote $quote
128
+ * @param array $info
129
+ *
130
  * @return Mage_Sales_Model_Quote
131
  */
132
  public function prepareQuote($quote, $info)
134
  if ($this->validatePaymentClass()) {
135
  return $this->getPaymentClass()->prepareQuote($quote, $info);
136
  }
137
+
138
  return parent::prepareQuote($quote, $info);
139
  }
140
 
142
  * Router for order status setting
143
  *
144
  * @param Mage_Sales_Model_Order $magentoOrder
145
+ *
146
  * @return mixed
147
  */
148
  public function setOrderStatus($magentoOrder)
150
  if ($this->validatePaymentClass()) {
151
  return $this->getPaymentClass()->setOrderStatus($magentoOrder);
152
  }
153
+
154
  return parent::setOrderStatus($magentoOrder);
155
  }
156
 
157
  /**
158
  * Router for grabbing the correct payment model
159
+ *
160
+ * @return bool | mixed
161
  */
162
  public function getPaymentModel()
163
  {
164
  if ($this->validatePaymentClass()) {
165
  return $this->getPaymentClass()->getPaymentModel();
166
  }
167
+
168
  return parent::getPaymentModel();
169
  }
170
 
183
  return true;
184
  }
185
  }
186
+
187
  return false;
188
  }
189
 
197
  {
198
  if ($this->getPaymentMethod()) {
199
  $parts = explode('_', $this->getPaymentMethod());
200
+
201
  return count($parts) === 1;
202
  }
203
+
204
  return false;
205
  }
206
 
214
  {
215
  if ($this->getPaymentMethod()) {
216
  $parts = explode('_', $this->getPaymentMethod());
217
+
218
  return count($parts) > 1;
219
  }
220
+
221
  return false;
222
  }
223
  }
app/code/community/Shopgate/Framework/Model/Payment/Interface.php CHANGED
@@ -22,13 +22,15 @@
22
  */
23
 
24
  /**
25
- * Interface Shopgate_Framework_Model_Payment_Interface
26
- *
27
- * @author awesselburg <wesselburg@me.com>
28
- * @author Konstantin Kiritsenko <konstantin@kiritsenko.com>
29
  */
30
  interface Shopgate_Framework_Model_Payment_Interface
31
  {
 
 
 
 
 
32
  /**
33
  * @param Mage_Sales_Model_Order $order
34
  *
22
  */
23
 
24
  /**
25
+ * General payment interface functions required to exist
 
 
 
26
  */
27
  interface Shopgate_Framework_Model_Payment_Interface
28
  {
29
+ /**
30
+ * Used for setup of any kind
31
+ */
32
+ public function setUp();
33
+
34
  /**
35
  * @param Mage_Sales_Model_Order $order
36
  *
app/code/community/Shopgate/Framework/Model/Payment/Router.php CHANGED
@@ -41,22 +41,13 @@ class Shopgate_Framework_Model_Payment_Router extends Shopgate_Framework_Model_P
41
  * based on method identifier. This is recursive (sorta)!
42
  *
43
  * @return false|Shopgate_Framework_Model_Payment_Abstract
44
- * @throws Exception
45
  */
46
  public function getModelByPaymentMethod()
47
  {
48
  $class = $this->getClassFromMethod();
49
- $model = Mage::getModel($class, array($this->getShopgateOrder()));
50
 
51
- if ($model) {
52
- if ($model instanceof Shopgate_Framework_Model_Payment_Interface) {
53
- return $model;
54
- } elseif ($model instanceof Shopgate_Framework_Model_Payment_Router) {
55
- return $model->getModelByPaymentMethod();
56
- }
57
- }
58
-
59
- return false;
60
  }
61
 
62
  /**
@@ -88,7 +79,7 @@ class Shopgate_Framework_Model_Payment_Router extends Shopgate_Framework_Model_P
88
  {
89
  $endPart = strtolower($this->_getMethodPart());
90
  $current = $this->getCurrentClassShortName();
91
-
92
  return $current . '_' . $endPart;
93
  }
94
 
@@ -122,14 +113,10 @@ class Shopgate_Framework_Model_Payment_Router extends Shopgate_Framework_Model_P
122
  $class = $this->getCurrentClassShortName();
123
  foreach ($combinations as $combination) {
124
  $className = $class . $combination;
125
- $model = Mage::getModel($className, array($this->getShopgateOrder()));
126
- if ($model instanceof Shopgate_Framework_Model_Payment_Interface) {
 
127
  return $model;
128
- } elseif ($model instanceof Shopgate_Framework_Model_Payment_Router) {
129
- $model = $model->getModelByPaymentMethod();
130
- if ($model) {
131
- return $model;
132
- }
133
  }
134
  }
135
  return false;
@@ -178,7 +165,7 @@ class Shopgate_Framework_Model_Payment_Router extends Shopgate_Framework_Model_P
178
  /**
179
  * Resolves current class name to magento's
180
  * short class. Truncates Router as well.
181
- *
182
  * @return string
183
  */
184
  private function getCurrentClassShortName()
@@ -187,4 +174,34 @@ class Shopgate_Framework_Model_Payment_Router extends Shopgate_Framework_Model_P
187
  $class = preg_replace('/_Router$/', '', $class);
188
  return strtolower($class);
189
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
190
  }
41
  * based on method identifier. This is recursive (sorta)!
42
  *
43
  * @return false|Shopgate_Framework_Model_Payment_Abstract
 
44
  */
45
  public function getModelByPaymentMethod()
46
  {
47
  $class = $this->getClassFromMethod();
48
+ $model = $this->loadClass($class);
49
 
50
+ return $model ? $model : false;
 
 
 
 
 
 
 
 
51
  }
52
 
53
  /**
79
  {
80
  $endPart = strtolower($this->_getMethodPart());
81
  $current = $this->getCurrentClassShortName();
82
+
83
  return $current . '_' . $endPart;
84
  }
85
 
113
  $class = $this->getCurrentClassShortName();
114
  foreach ($combinations as $combination) {
115
  $className = $class . $combination;
116
+ $model = $this->loadClass($className);
117
+
118
+ if ($model) {
119
  return $model;
 
 
 
 
 
120
  }
121
  }
122
  return false;
165
  /**
166
  * Resolves current class name to magento's
167
  * short class. Truncates Router as well.
168
+ *
169
  * @return string
170
  */
171
  private function getCurrentClassShortName()
174
  $class = preg_replace('/_Router$/', '', $class);
175
  return strtolower($class);
176
  }
177
+
178
+ /**
179
+ * Takes short class name and attempts to load it
180
+ *
181
+ * @param string $class - short class name
182
+ * @return bool|Shopgate_Framework_Model_Payment_Abstract
183
+ */
184
+ private function loadClass($class)
185
+ {
186
+ $model = false;
187
+
188
+ try {
189
+ $model = Mage::getModel($class, array($this->getShopgateOrder()));
190
+ } catch (Exception $e) {
191
+ ShopgateLogger::getInstance()->log(
192
+ 'No payment mapping file exists. ' . $e->getMessage(),
193
+ ShopgateLogger::LOGTYPE_DEBUG
194
+ );
195
+ }
196
+
197
+ if ($model) {
198
+ if ($model instanceof Shopgate_Framework_Model_Payment_Interface) {
199
+ return $model;
200
+ } elseif ($model instanceof Shopgate_Framework_Model_Payment_Router) {
201
+ return $model->getModelByPaymentMethod();
202
+ }
203
+ }
204
+
205
+ return false;
206
+ }
207
  }
app/code/community/Shopgate/Framework/Model/Payment/Simple/Cod/Abstract.php CHANGED
@@ -22,11 +22,23 @@
22
  */
23
 
24
  /**
25
- * @author Konstantin Kiritsenko <konstantin@kiritsenko.com>
26
  */
27
- class Shopgate_Framework_Model_Payment_Simple_Cod_Abstract extends Shopgate_Framework_Model_Payment_Abstract
 
 
28
  {
29
- const PAYMENT_IDENTIFIER = ShopgateOrder::COD;
 
 
 
 
 
 
 
 
 
 
30
 
31
  /**
32
  * No need to pull status, it is assigned automatically,
@@ -37,6 +49,21 @@ class Shopgate_Framework_Model_Payment_Simple_Cod_Abstract extends Shopgate_Fram
37
  */
38
  public function setOrderStatus($magentoOrder)
39
  {
40
- return $magentoOrder->setShopgateStatusSet(true);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
41
  }
42
  }
22
  */
23
 
24
  /**
25
+ * General fallback for all COD methods
26
  */
27
+ class Shopgate_Framework_Model_Payment_Simple_Cod_Abstract
28
+ extends Shopgate_Framework_Model_Payment_Abstract
29
+ implements Shopgate_Framework_Model_Payment_Interface
30
  {
31
+ const PAYMENT_IDENTIFIER = ShopgateOrder::COD;
32
+ const XML_CONFIG_FEE_LOCAL = '';
33
+ const XML_CONFIG_FEE_FOREIGN = '';
34
+
35
+ /**
36
+ * Run fee processing before everything
37
+ */
38
+ public function setUp()
39
+ {
40
+ $this->processPaymentFee();
41
+ }
42
 
43
  /**
44
  * No need to pull status, it is assigned automatically,
49
  */
50
  public function setOrderStatus($magentoOrder)
51
  {
52
+ return $magentoOrder->setData('shopgate_status_set', true);
53
+ }
54
+
55
+ /**
56
+ * If the COD config has a payment fee set, overwrite the fee
57
+ * that is coming form Merchant API server
58
+ */
59
+ protected function processPaymentFee()
60
+ {
61
+ $local = $this->getConstant('XML_CONFIG_FEE_LOCAL');
62
+ $foreign = $this->getConstant('XML_CONFIG_FEE_FOREIGN');
63
+ $sgOrder = $this->getShopgateOrder();
64
+
65
+ if (Mage::getStoreConfig($local) || Mage::getStoreConfig($foreign)) {
66
+ $sgOrder->setAmountShopPayment(0);
67
+ }
68
  }
69
  }
app/code/community/Shopgate/Framework/Model/Payment/Simple/Cod/Msp.php CHANGED
@@ -23,14 +23,14 @@
23
 
24
  /**
25
  * Support for MSP_COD plugin added v1.2.5 and up
26
- *
27
- * @author Konstantin Kiritsenko <konstantin@kiritsenko.com>
28
  */
29
  class Shopgate_Framework_Model_Payment_Simple_Cod_Msp
30
  extends Shopgate_Framework_Model_Payment_Simple_Cod_Abstract
31
  implements Shopgate_Framework_Model_Payment_Interface
32
  {
33
- const MODULE_CONFIG = 'MSP_CashOnDelivery';
34
- const PAYMENT_MODEL = 'msp_cashondelivery/cashondelivery';
35
- const XML_CONFIG_ENABLED = 'payment/msp_cashondelivery/active';
 
 
36
  }
23
 
24
  /**
25
  * Support for MSP_COD plugin added v1.2.5 and up
 
 
26
  */
27
  class Shopgate_Framework_Model_Payment_Simple_Cod_Msp
28
  extends Shopgate_Framework_Model_Payment_Simple_Cod_Abstract
29
  implements Shopgate_Framework_Model_Payment_Interface
30
  {
31
+ const MODULE_CONFIG = 'MSP_CashOnDelivery';
32
+ const PAYMENT_MODEL = 'msp_cashondelivery/cashondelivery';
33
+ const XML_CONFIG_ENABLED = 'payment/msp_cashondelivery/active';
34
+ const XML_CONFIG_FEE_LOCAL = 'payment/msp_cashondelivery/standard_fixed_fee_local';
35
+ const XML_CONFIG_FEE_FOREIGN = 'payment/msp_cashondelivery/standard_fixed_fee_foreign';
36
  }
app/code/community/Shopgate/Framework/Model/Payment/Simple/Cod/Phoenix107.php CHANGED
@@ -23,14 +23,16 @@
23
 
24
  /**
25
  * Support for Phoenix_CashOnDelivery younger than v1.0.8 (not inclusive)
26
- *
27
  * @author Konstantin Kiritsenko <konstantin@kiritsenko.com>
28
  */
29
  class Shopgate_Framework_Model_Payment_Simple_Cod_Phoenix107
30
  extends Shopgate_Framework_Model_Payment_Simple_Cod_Abstract
31
  implements Shopgate_Framework_Model_Payment_Interface
32
  {
33
- const MODULE_CONFIG = 'Phoenix_CashOnDelivery';
34
- const PAYMENT_MODEL = 'cashondelivery/cashOnDelivery';
35
- const XML_CONFIG_ENABLED = 'payment/cashondelivery/active';
 
 
36
  }
23
 
24
  /**
25
  * Support for Phoenix_CashOnDelivery younger than v1.0.8 (not inclusive)
26
+ *
27
  * @author Konstantin Kiritsenko <konstantin@kiritsenko.com>
28
  */
29
  class Shopgate_Framework_Model_Payment_Simple_Cod_Phoenix107
30
  extends Shopgate_Framework_Model_Payment_Simple_Cod_Abstract
31
  implements Shopgate_Framework_Model_Payment_Interface
32
  {
33
+ const MODULE_CONFIG = 'Phoenix_CashOnDelivery';
34
+ const PAYMENT_MODEL = 'cashondelivery/cashOnDelivery';
35
+ const XML_CONFIG_ENABLED = 'payment/cashondelivery/active';
36
+ const XML_CONFIG_FEE_LOCAL = 'payment/cashondelivery/inlandcosts';
37
+ const XML_CONFIG_FEE_FOREIGN = 'payment/cashondelivery/foreigncountrycosts';
38
  }
app/code/community/Shopgate/Framework/Model/Payment/Simple/Cod/Phoenix108.php CHANGED
@@ -23,14 +23,14 @@
23
 
24
  /**
25
  * Support for Phoenix_CashOnDelivery v1.0.8 and older
26
- *
27
- * @author Konstantin Kiritsenko <konstantin@kiritsenko.com>
28
  */
29
  class Shopgate_Framework_Model_Payment_Simple_Cod_Phoenix108
30
  extends Shopgate_Framework_Model_Payment_Simple_Cod_Abstract
31
  implements Shopgate_Framework_Model_Payment_Interface
32
  {
33
- const MODULE_CONFIG = 'Phoenix_CashOnDelivery';
34
- const PAYMENT_MODEL = 'phoenix_cashondelivery/cashOnDelivery';
35
- const XML_CONFIG_ENABLED = 'payment/phoenix_cashondelivery/active';
 
 
36
  }
23
 
24
  /**
25
  * Support for Phoenix_CashOnDelivery v1.0.8 and older
 
 
26
  */
27
  class Shopgate_Framework_Model_Payment_Simple_Cod_Phoenix108
28
  extends Shopgate_Framework_Model_Payment_Simple_Cod_Abstract
29
  implements Shopgate_Framework_Model_Payment_Interface
30
  {
31
+ const MODULE_CONFIG = 'Phoenix_CashOnDelivery';
32
+ const PAYMENT_MODEL = 'phoenix_cashondelivery/cashOnDelivery';
33
+ const XML_CONFIG_ENABLED = 'payment/phoenix_cashondelivery/active';
34
+ const XML_CONFIG_FEE_LOCAL = 'payment/phoenix_cashondelivery/inlandcosts';
35
+ const XML_CONFIG_FEE_FOREIGN = 'payment/phoenix_cashondelivery/foreigncountrycosts';
36
  }
app/code/community/Shopgate/Framework/Model/Sales/Quote/Address/Total/ShopgatePaymentFee.php CHANGED
@@ -1,4 +1,5 @@
1
  <?php
 
2
  /**
3
  * Shopgate GmbH
4
  *
@@ -18,9 +19,8 @@
18
  * transfer to third parties is only permitted where we previously consented thereto in writing. The provisions
19
  * of paragraph 69 d, sub-paragraphs 2, 3 and paragraph 69, sub-paragraph e of the German Copyright Act shall remain unaffected.
20
  *
21
- * @author Shopgate GmbH <interfaces@shopgate.com>
22
  */
23
-
24
  class Shopgate_Framework_Model_Sales_Quote_Address_Total_ShopgatePaymentFee extends Mage_Sales_Model_Quote_Address_Total_Abstract
25
  {
26
 
@@ -36,7 +36,6 @@ class Shopgate_Framework_Model_Sales_Quote_Address_Total_ShopgatePaymentFee exte
36
  return Mage::helper('shopgate')->__('Payment Fee');
37
  }
38
 
39
-
40
  /**
41
  * @param Mage_Sales_Model_Quote_Address $address
42
  *
@@ -45,34 +44,25 @@ class Shopgate_Framework_Model_Sales_Quote_Address_Total_ShopgatePaymentFee exte
45
  public function collect(Mage_Sales_Model_Quote_Address $address)
46
  {
47
  parent::collect($address);
 
 
 
48
 
49
- if (Mage::helper("shopgate/config")->getIsMagentoVersionLower1410()) {
50
- $items = $address->getAllItems();
51
- } else {
52
- $items = $this->_getAddressItems($address);
53
- }
54
- $shopgateOrder = Mage::getSingleton("core/session")->getData("shopgate_order");
55
- if (!count($items)
56
  || is_null($shopgateOrder)
 
57
  ) {
58
- return $this; //this makes only address type shipping to come through
59
- }
60
-
61
- $quote = $address->getQuote();
62
- $amountShopPayment = $shopgateOrder->getAmountShopPayment();
63
-
64
- if ($amountShopPayment >= 0) {
65
  return $this;
66
  }
67
 
68
- $address->setShopgatePaymentFee($amountShopPayment);
69
- $address->setBaseShopgatePaymentFee($amountShopPayment);
70
 
71
- $quote->setShopgatePaymentFee($amountShopPayment);
72
- $quote->setBaseShopgatePaymentFee($amountShopPayment);
73
 
74
- $address->setGrandTotal($address->getGrandTotal() + $address->getShopgatePaymentFee());
75
- $address->setBaseGrandTotal($address->getBaseGrandTotal() + $address->getBaseShopgatePaymentFee());
76
 
77
  return $this;
78
  }
@@ -84,7 +74,7 @@ class Shopgate_Framework_Model_Sales_Quote_Address_Total_ShopgatePaymentFee exte
84
  */
85
  public function fetch(Mage_Sales_Model_Quote_Address $address)
86
  {
87
- $amt = $address->getShopgatePaymentFee();
88
  if ($amt != 0) {
89
  $address->addTotal(
90
  array('code' => $this->getCode(), 'title' => $this->getLabel(), 'value' => $amt)
1
  <?php
2
+
3
  /**
4
  * Shopgate GmbH
5
  *
19
  * transfer to third parties is only permitted where we previously consented thereto in writing. The provisions
20
  * of paragraph 69 d, sub-paragraphs 2, 3 and paragraph 69, sub-paragraph e of the German Copyright Act shall remain unaffected.
21
  *
22
+ * @author Shopgate GmbH <interfaces@shopgate.com>
23
  */
 
24
  class Shopgate_Framework_Model_Sales_Quote_Address_Total_ShopgatePaymentFee extends Mage_Sales_Model_Quote_Address_Total_Abstract
25
  {
26
 
36
  return Mage::helper('shopgate')->__('Payment Fee');
37
  }
38
 
 
39
  /**
40
  * @param Mage_Sales_Model_Quote_Address $address
41
  *
44
  public function collect(Mage_Sales_Model_Quote_Address $address)
45
  {
46
  parent::collect($address);
47
+ $shopgateOrder = Mage::getSingleton('core/session')->getData('shopgate_order');
48
+ $quote = $address->getQuote();
49
+ $paymentFee = $shopgateOrder->getAmountShopPayment();
50
 
51
+ if ($address->getAddressType() === Mage_Sales_Model_Quote_Address::TYPE_BILLING
 
 
 
 
 
 
52
  || is_null($shopgateOrder)
53
+ || $paymentFee == 0
54
  ) {
 
 
 
 
 
 
 
55
  return $this;
56
  }
57
 
58
+ $address->setData('shopgate_payment_fee', $paymentFee);
59
+ $address->setData('base_shopgate_payment_fee', $paymentFee);
60
 
61
+ $quote->setData('shopgate_payment_fee', $paymentFee);
62
+ $quote->setData('base_shopgate_payment_fee', $paymentFee);
63
 
64
+ $address->setGrandTotal($address->getGrandTotal() + $address->getData('shopgate_payment_fee'));
65
+ $address->setBaseGrandTotal($address->getBaseGrandTotal() + $address->getData('base_shopgate_payment_fee'));
66
 
67
  return $this;
68
  }
74
  */
75
  public function fetch(Mage_Sales_Model_Quote_Address $address)
76
  {
77
+ $amt = $address->getData('shopgate_payment_fee');
78
  if ($amt != 0) {
79
  $address->addTotal(
80
  array('code' => $this->getCode(), 'title' => $this->getLabel(), 'value' => $amt)
app/code/community/Shopgate/Framework/Model/Shopgate/Order.php CHANGED
@@ -63,17 +63,20 @@ class Shopgate_Framework_Model_Shopgate_Order extends Mage_Core_Model_Abstract
63
  }
64
 
65
  /**
66
- * @return ShopgateOrder
 
 
 
67
  */
68
  public function getShopgateOrderObject()
69
  {
70
  $data = $this->getReceivedData();
71
-
72
  if ($data) {
73
  $data = unserialize($data);
74
  }
75
 
76
- if (!$data instanceof ShopgateOrder) {
77
  $orderNumber = $this->getShopgateOrderNumber();
78
  ShopgateLogger::getInstance()->log("Could not unserialize order $orderNumber. Requesting Merchant API.");
79
  $config = Mage::helper('shopgate/config')->getConfig($this->getStoreId());
63
  }
64
 
65
  /**
66
+ * Retrieves the Shopgate order object from
67
+ * the database column
68
+ *
69
+ * @return string | ShopgateOrder
70
  */
71
  public function getShopgateOrderObject()
72
  {
73
  $data = $this->getReceivedData();
74
+
75
  if ($data) {
76
  $data = unserialize($data);
77
  }
78
 
79
+ if ($this->getId() && !$data instanceof ShopgateOrder) {
80
  $orderNumber = $this->getShopgateOrderNumber();
81
  ShopgateLogger::getInstance()->log("Could not unserialize order $orderNumber. Requesting Merchant API.");
82
  $config = Mage::helper('shopgate/config')->getConfig($this->getStoreId());
app/code/community/Shopgate/Framework/Model/Shopgate/Plugin.php CHANGED
@@ -352,9 +352,9 @@ class Shopgate_Framework_Model_Shopgate_Plugin extends ShopgatePlugin
352
  $this->log("# Add shopgate order to Session", ShopgateLogger::LOGTYPE_DEBUG);
353
  Mage::getSingleton("core/session")->setData("shopgate_order", $order);
354
  $this->log("# Create quote for order", ShopgateLogger::LOGTYPE_DEBUG);
355
-
 
356
  $quote = Mage::getModel('sales/quote')->setStoreId($this->_getConfig()->getStoreViewId());
357
-
358
  $quote->getBillingAddress()->setCartFixedRules(array());
359
  $quote->getShippingAddress()->setCartFixedRules(array());
360
  $quote = $this->executeLoaders($this->_getCreateOrderQuoteLoaders(), $quote, $order);
@@ -453,9 +453,11 @@ class Shopgate_Framework_Model_Shopgate_Plugin extends ShopgatePlugin
453
  $totalMagento = $magentoOrder->getTotalDue();
454
  $this->log(
455
  "
456
- Total Shopgate: {$totalShopgate} {$order->getCurrency()}
457
- Total Magento: {$totalMagento} {$order->getCurrency()}
458
- ",
 
 
459
  ShopgateLogger::LOGTYPE_DEBUG
460
  );
461
 
@@ -466,6 +468,10 @@ class Shopgate_Framework_Model_Shopgate_Plugin extends ShopgatePlugin
466
 
467
  $msg = "";
468
  if (!$this->_getHelper()->isOrderTotalCorrect($order, $magentoOrder, $msg)) {
 
 
 
 
469
  $this->log($msg);
470
  $warnings[] = array(
471
  "message" => $msg
@@ -1422,7 +1428,7 @@ class Shopgate_Framework_Model_Shopgate_Plugin extends ShopgatePlugin
1422
 
1423
  /**
1424
  * Sets the state & status of Magento order
1425
- *
1426
  * @param Mage_Sales_Model_Order $magentoOrder
1427
  * @param ShopgateOrder $shopgateOrder
1428
  *
@@ -1437,16 +1443,14 @@ class Shopgate_Framework_Model_Shopgate_Plugin extends ShopgatePlugin
1437
  /**
1438
  * Should stop support for this as this happens when Order is imported as Prepay and defaults to Mobile
1439
  */
1440
- if (!Mage::getStoreConfig(
1441
- Shopgate_Framework_Model_Config::XML_PATH_SHOPGATE_ORDER_MARK_UNBLOCKED_AS_PAID
1442
- )
1443
  ) {
1444
  if ($magentoOrder->canHold()) {
1445
  $magentoOrder->hold();
1446
- } else {
1447
- $this->_forceIsPaidStatus($magentoOrder, $shopgateOrder);
1448
  }
1449
  }
 
1450
  } else {
1451
  $stateObject = new Varien_Object();
1452
  $methodInstance = $magentoOrder->getPayment()->getMethodInstance();
352
  $this->log("# Add shopgate order to Session", ShopgateLogger::LOGTYPE_DEBUG);
353
  Mage::getSingleton("core/session")->setData("shopgate_order", $order);
354
  $this->log("# Create quote for order", ShopgateLogger::LOGTYPE_DEBUG);
355
+
356
+ $this->_getFactory()->getPayment()->setUp();
357
  $quote = Mage::getModel('sales/quote')->setStoreId($this->_getConfig()->getStoreViewId());
 
358
  $quote->getBillingAddress()->setCartFixedRules(array());
359
  $quote->getShippingAddress()->setCartFixedRules(array());
360
  $quote = $this->executeLoaders($this->_getCreateOrderQuoteLoaders(), $quote, $order);
453
  $totalMagento = $magentoOrder->getTotalDue();
454
  $this->log(
455
  "
456
+ Shopgate order ID: {$order->getOrderNumber()}
457
+ Magento order ID: {$magentoOrder->getId()}
458
+ Total Shopgate: {$totalShopgate} {$order->getCurrency()}
459
+ Total Magento: {$totalMagento} {$order->getCurrency()}
460
+ ",
461
  ShopgateLogger::LOGTYPE_DEBUG
462
  );
463
 
468
 
469
  $msg = "";
470
  if (!$this->_getHelper()->isOrderTotalCorrect($order, $magentoOrder, $msg)) {
471
+ if ($this->_getConfigHelper()->getIsMagentoVersionLower16()) {
472
+ $magentoOrder->addStatusHistoryComment(nl2br($msg), false);
473
+ $magentoOrder->save();
474
+ }
475
  $this->log($msg);
476
  $warnings[] = array(
477
  "message" => $msg
1428
 
1429
  /**
1430
  * Sets the state & status of Magento order
1431
+ *
1432
  * @param Mage_Sales_Model_Order $magentoOrder
1433
  * @param ShopgateOrder $shopgateOrder
1434
  *
1443
  /**
1444
  * Should stop support for this as this happens when Order is imported as Prepay and defaults to Mobile
1445
  */
1446
+ if (!Mage::getStoreConfig(Shopgate_Framework_Model_Config::XML_PATH_SHOPGATE_ORDER_MARK_UNBLOCKED_AS_PAID)
1447
+ && !$this->_getFactory()->getPayment()->getPaymentClass()
 
1448
  ) {
1449
  if ($magentoOrder->canHold()) {
1450
  $magentoOrder->hold();
 
 
1451
  }
1452
  }
1453
+ $this->_forceIsPaidStatus($magentoOrder, $shopgateOrder);
1454
  } else {
1455
  $stateObject = new Varien_Object();
1456
  $methodInstance = $magentoOrder->getPayment()->getMethodInstance();
app/code/community/Shopgate/Framework/changelog.txt CHANGED
@@ -1,3 +1,11 @@
 
 
 
 
 
 
 
 
1
  '''Version 2.9.38'''
2
  * Fixed placing of configurable products in order import
3
  * Prevent unnecessary error logging in stock validation
1
+ '''Version 2.9.39'''
2
+ * Updated to library version 2.9.44
3
+ * Orders are no longer on hold if a Prepay order is mapped to an enabled plugin
4
+ * Added an info block to View Order page to output Shopgate related warnings and general info
5
+ * Added Shopgate extra payment fee to order totals calculation inside Order_View/Invoice/Credit_Memo sections
6
+ * Made an adjustment for USAePay by providing the LastTransactionId on auth_capture only
7
+ * Optimized category image export by removing empty image url tags
8
+
9
  '''Version 2.9.38'''
10
  * Fixed placing of configurable products in order import
11
  * Prevent unnecessary error logging in stock validation
app/code/community/Shopgate/Framework/etc/config.xml CHANGED
@@ -2,7 +2,7 @@
2
  <config>
3
  <modules>
4
  <Shopgate_Framework>
5
- <version>2.9.38</version>
6
  </Shopgate_Framework>
7
  </modules>
8
  <phpunit>
@@ -282,6 +282,15 @@
282
  </website_store_removed>
283
  </observers>
284
  </store_delete>
 
 
 
 
 
 
 
 
 
285
  </events>
286
  </adminhtml>
287
  <frontend>
2
  <config>
3
  <modules>
4
  <Shopgate_Framework>
5
+ <version>2.9.39</version>
6
  </Shopgate_Framework>
7
  </modules>
8
  <phpunit>
282
  </website_store_removed>
283
  </observers>
284
  </store_delete>
285
+
286
+ <core_block_abstract_to_html_after>
287
+ <observers>
288
+ <shopgate_order_view_notice>
289
+ <class>shopgate/observer</class>
290
+ <method>getSalesOrderViewShopgateNotice</method>
291
+ </shopgate_order_view_notice>
292
+ </observers>
293
+ </core_block_abstract_to_html_after>
294
  </events>
295
  </adminhtml>
296
  <frontend>
app/design/adminhtml/default/default/layout/shopgate.xml CHANGED
@@ -65,6 +65,10 @@
65
  </adminhtml_shopgate_disconnect>
66
 
67
  <adminhtml_sales_order_view>
 
 
 
 
68
  <reference name="order_totals">
69
  <block name="shopgate_payment_fee" type="shopgate/totals_orderPaymentFee" before="tax"/>
70
  </reference>
65
  </adminhtml_shopgate_disconnect>
66
 
67
  <adminhtml_sales_order_view>
68
+ <reference name="order_info">
69
+ <block name="shopgate_payment_notice" type="shopgate/payment_notice" before="order_history"
70
+ template="shopgate/payment/notice.phtml"/>
71
+ </reference>
72
  <reference name="order_totals">
73
  <block name="shopgate_payment_fee" type="shopgate/totals_orderPaymentFee" before="tax"/>
74
  </reference>
app/design/adminhtml/default/default/template/shopgate/payment/mobile_payment.phtml CHANGED
@@ -23,24 +23,7 @@
23
  */
24
 
25
  /** @var Shopgate_Framework_Block_Payment_MobilePayment $this */
26
- $shopgateOrder = $this->getShopgateOrder();
27
- $shopgateObject = $shopgateOrder->getShopgateOrderObject();
28
-
29
- if (!$shopgateOrder->getId() || empty($shopgateObject)):
30
- echo $this->printHtmlError($this->__('Error importing order information: please contact Shopgate'));
31
- endif;
32
-
33
- if (!empty($shopgateObject) && $shopgateObject->getIsTest()):
34
- echo $this->printHtmlError($this->__('## This order is a TEST by Shopgate - DO NOT SHIP!'));
35
- endif;
36
-
37
- if ($this->hasDifferentPrices()):
38
- echo $this->printHtmlError(
39
- $this->__(
40
- '!! The total amount in Magento differs from the total amount at Shopgate. Please check your tax settings.'
41
- )
42
- );
43
- endif;
44
 
45
  if ($shopgateOrder->getIsShippingBlocked()):
46
  echo $this->printHtmlError($this->__('## Note: Shipping of this order is blocked by Shopgate!'));
@@ -49,8 +32,7 @@ endif;
49
  if ($shopgateOrder->getIsCustomerInvoiceBlocked()):
50
  echo $this->__('## Note: For this order you must not create an invoice!');
51
  endif;
52
-
53
- echo $this->__('Shopgate order number: %s', $shopgateOrder->getShopgateOrderNumber()); ?>
54
  <p style="margin-top: 1em;">
55
  <?php echo $this->printPaymentInfo($this->getPaymentInfos()); ?>
56
  </p>
23
  */
24
 
25
  /** @var Shopgate_Framework_Block_Payment_MobilePayment $this */
26
+ $shopgateOrder = $this->getShopgateOrder();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
27
 
28
  if ($shopgateOrder->getIsShippingBlocked()):
29
  echo $this->printHtmlError($this->__('## Note: Shipping of this order is blocked by Shopgate!'));
32
  if ($shopgateOrder->getIsCustomerInvoiceBlocked()):
33
  echo $this->__('## Note: For this order you must not create an invoice!');
34
  endif;
35
+ ?>
 
36
  <p style="margin-top: 1em;">
37
  <?php echo $this->printPaymentInfo($this->getPaymentInfos()); ?>
38
  </p>
app/design/adminhtml/default/default/template/shopgate/payment/notice.phtml ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Shopgate GmbH
4
+ *
5
+ * URHEBERRECHTSHINWEIS
6
+ *
7
+ * Dieses Plugin ist urheberrechtlich geschützt. Es darf ausschließlich von Kunden der Shopgate GmbH
8
+ * zum Zwecke der eigenen Kommunikation zwischen dem IT-System des Kunden mit dem IT-System der
9
+ * Shopgate GmbH über www.shopgate.com verwendet werden. Eine darüber hinausgehende Vervielfältigung, Verbreitung,
10
+ * öffentliche Zugänglichmachung, Bearbeitung oder Weitergabe an Dritte ist nur mit unserer vorherigen
11
+ * schriftlichen Zustimmung zulässig. Die Regelungen der §§ 69 d Abs. 2, 3 und 69 e UrhG bleiben hiervon unberührt.
12
+ *
13
+ * COPYRIGHT NOTICE
14
+ *
15
+ * This plugin is the subject of copyright protection. It is only for the use of Shopgate GmbH customers,
16
+ * for the purpose of facilitating communication between the IT system of the customer and the IT system
17
+ * of Shopgate GmbH via www.shopgate.com. Any reproduction, dissemination, public propagation, processing or
18
+ * transfer to third parties is only permitted where we previously consented thereto in writing. The provisions
19
+ * of paragraph 69 d, sub-paragraphs 2, 3 and paragraph 69, sub-paragraph e of the German Copyright Act shall remain unaffected.
20
+ *
21
+ * @author Shopgate GmbH <interfaces@shopgate.com>
22
+ *
23
+ * @var Shopgate_Framework_Block_Payment_Notice $this
24
+ */
25
+ $shopgateOrder = $this->getShopgateOrder();
26
+
27
+ if ($shopgateOrder->getId()): ?>
28
+ <?php $shopgateObject = $shopgateOrder->getShopgateOrderObject(); ?>
29
+ <div class="entry-edit box-left">
30
+ <div class="entry-edit-head">
31
+ <h4 class="icon-head"><?php echo $this->__('Shopgate Info') ?></h4>
32
+ </div>
33
+ <fieldset>
34
+ <div id="shopgate_payment_notice">
35
+ <?php
36
+ if (!$shopgateOrder->getId() || empty($shopgateObject)):
37
+ echo $this->printHtmlError($this->__('Error importing order information: please contact Shopgate'));
38
+ endif;
39
+
40
+ if ($shopgateObject && $shopgateObject->getIsTest()):
41
+ echo $this->printHtmlError("## This order is a TEST by Shopgate - DO NOT SHIP!");
42
+ endif;
43
+
44
+ if ($this->hasDifferentPrices()):
45
+ echo $this->printHtmlError(
46
+ "!! The total amount in Magento differs from the total amount at Shopgate. Please check your tax settings."
47
+ );
48
+ endif;
49
+
50
+ echo $this->__('Shopgate order number: %s', $shopgateOrder->getShopgateOrderNumber());
51
+ ?>
52
+ </div>
53
+ </fieldset>
54
+ </div>
55
+ <div class="clear"></div>
56
+
57
+ <?php endif; ?>
app/design/adminhtml/default/default/template/shopgate/payment/shopgate.phtml CHANGED
@@ -1,43 +1,37 @@
1
  <?php
2
- /**
3
- * User: Peter Liebig
4
- * Date: 27.01.14
5
- * Time: 15:58
6
- * E-Mail: p.liebig@me.com
7
- */
8
 
9
  /**
10
- * shopgate payment template
11
  *
12
- * @author Shopgate GmbH, 35510 Butzbach, DE
13
- * @package Shopgate_Framework
14
- * @author Shopgate GmbH Butzbach
15
- */
16
- /**
17
- * @var $this Shopgate_Framework_Block_Payment_Shopgate
 
 
 
 
 
 
 
 
 
 
 
 
18
  */
 
19
 
20
- if ($this->getShopgateOrder()->getShopgateOrderObject()->getIsTest()):?>
21
- <strong style="color: red; font-size: 1.2em;">
22
- <?php echo $this->__("## This order is a TEST by Shopgate - DO NOT SHIP!") ?></strong><br />
23
- <?php endif; ?>
24
-
25
- <?php if ($this->hasDifferentPrices()): ?>
26
- <strong style="color: red; font-size: 1.2em;">
27
- <?php echo $this->__("!! The total amount in Magento differs from the total amount at Shopgate. Please check your tax settings.") ?>
28
- </strong><br /><br />
29
- <?php endif; ?>
30
-
31
- <?php if ($this->getShopgateOrder()->getIsShippingBlocked()): ?>
32
- <strong style="color: red; font-size: 1.2em;">
33
- <?php echo $this->__("## Note: Shipping of this order is blocked by Shopgate!") ?></strong><br />
34
  <?php endif; ?>
35
 
36
- <?php if($this->getShopgateOrder()->getIsCustomerInvoiceBlocked()):?>
37
- <strong style="color: red; font-size: 1.2em;"><?php echo $this->__("## Note: For this order you must not create an invoice!")?></strong><br />
38
  <?php endif; ?>
39
 
40
- <?php echo $this->__('Shopgate order number: %s', $this->getShopgateOrderNumber()); ?>
41
  <p style="margin-top: 1em;">
42
- <?php echo $this->__("Payment is settled by Shopgate.") ?><br />
43
  </p>
1
  <?php
 
 
 
 
 
 
2
 
3
  /**
4
+ * Shopgate GmbH
5
  *
6
+ * URHEBERRECHTSHINWEIS
7
+ *
8
+ * Dieses Plugin ist urheberrechtlich geschützt. Es darf ausschließlich von Kunden der Shopgate GmbH
9
+ * zum Zwecke der eigenen Kommunikation zwischen dem IT-System des Kunden mit dem IT-System der
10
+ * Shopgate GmbH über www.shopgate.com verwendet werden. Eine darüber hinausgehende Vervielfältigung, Verbreitung,
11
+ * öffentliche Zugänglichmachung, Bearbeitung oder Weitergabe an Dritte ist nur mit unserer vorherigen
12
+ * schriftlichen Zustimmung zulässig. Die Regelungen der §§ 69 d Abs. 2, 3 und 69 e UrhG bleiben hiervon unberührt.
13
+ *
14
+ * COPYRIGHT NOTICE
15
+ *
16
+ * This plugin is the subject of copyright protection. It is only for the use of Shopgate GmbH customers,
17
+ * for the purpose of facilitating communication between the IT system of the customer and the IT system
18
+ * of Shopgate GmbH via www.shopgate.com. Any reproduction, dissemination, public propagation, processing or
19
+ * transfer to third parties is only permitted where we previously consented thereto in writing. The provisions
20
+ * of paragraph 69 d, sub-paragraphs 2, 3 and paragraph 69, sub-paragraph e of the German Copyright Act shall remain unaffected.
21
+ *
22
+ * @author Shopgate GmbH <interfaces@shopgate.com>
23
+ * @var Shopgate_Framework_Block_Payment_MobilePayment $this
24
  */
25
+ $shopgateOrder = $this->getShopgateOrder();
26
 
27
+ if ($shopgateOrder->getIsShippingBlocked()): ?>
28
+ <?php echo $this->printHtmlError('## Note: Shipping of this order is blocked by Shopgate!') ?>
 
 
 
 
 
 
 
 
 
 
 
 
29
  <?php endif; ?>
30
 
31
+ <?php if($shopgateOrder->getIsCustomerInvoiceBlocked()):?>
32
+ <?php echo $this->printHtmlError('## Note: For this order you must not create an invoice!')?>
33
  <?php endif; ?>
34
 
 
35
  <p style="margin-top: 1em;">
36
+ <?php echo $this->__('Payment is settled by Shopgate.') ?><br />
37
  </p>
lib/Shopgate/changelog.txt CHANGED
@@ -1,3 +1,9 @@
 
 
 
 
 
 
1
  '''Version 2.9.42'''
2
  * fixed an issue with home page infinite redirect loop
3
  * fixed a bug in processing the user agent blacklist used for mobile redirect
1
+ '''Version 2.9.44'''
2
+ * fixes redirect when a shop is not active & full view mode
3
+
4
+ '''Version 2.9.43'''
5
+ * changed error reporting settings for development environments
6
+
7
  '''Version 2.9.42'''
8
  * fixed an issue with home page infinite redirect loop
9
  * fixed a bug in processing the user agent blacklist used for mobile redirect
lib/Shopgate/classes/apis.php CHANGED
@@ -176,8 +176,14 @@ class ShopgatePluginApi extends ShopgateObject implements ShopgatePluginApiInter
176
  ShopgateLogger::getInstance()->keepDebugLog(!empty($this->params['keep_debug_log']));
177
  }
178
 
179
- // enable error reporting if requested
180
- if (!empty($this->params['error_reporting'])) {
 
 
 
 
 
 
181
  error_reporting($this->params['error_reporting']);
182
  ini_set('display_errors', (version_compare(PHP_VERSION, '5.2.4', '>=')) ? 'stdout' : true);
183
  }
@@ -192,9 +198,9 @@ class ShopgatePluginApi extends ShopgateObject implements ShopgatePluginApiInter
192
 
193
  // check if the request is for the correct shop number or an adapter-plugin
194
  if (
195
- !$this->config->getIsShopgateAdapter() &&
196
- !empty($this->params['shop_number']) &&
197
- ($this->params['shop_number'] != $this->config->getShopNumber())
198
  ) {
199
  throw new ShopgateLibraryException(ShopgateLibraryException::PLUGIN_API_UNKNOWN_SHOP_NUMBER, "{$this->params['shop_number']}");
200
  }
176
  ShopgateLogger::getInstance()->keepDebugLog(!empty($this->params['keep_debug_log']));
177
  }
178
 
179
+ // enable error reporting if requested or running on development environment
180
+ if (
181
+ !empty($this->params['error_reporting'])
182
+ || in_array($this->config->getServer(), array('custom', 'pg'))
183
+ ) {
184
+ if (!isset($this->params['error_reporting'])) {
185
+ $this->params['error_reporting'] = 32767; // equivalent to E_ALL before PHP 5.4
186
+ }
187
  error_reporting($this->params['error_reporting']);
188
  ini_set('display_errors', (version_compare(PHP_VERSION, '5.2.4', '>=')) ? 'stdout' : true);
189
  }
198
 
199
  // check if the request is for the correct shop number or an adapter-plugin
200
  if (
201
+ !$this->config->getIsShopgateAdapter() &&
202
+ !empty($this->params['shop_number']) &&
203
+ ($this->params['shop_number'] != $this->config->getShopNumber())
204
  ) {
205
  throw new ShopgateLibraryException(ShopgateLibraryException::PLUGIN_API_UNKNOWN_SHOP_NUMBER, "{$this->params['shop_number']}");
206
  }
lib/Shopgate/classes/helper/redirect/Redirector.php CHANGED
@@ -95,7 +95,7 @@ class Shopgate_Helper_Redirect_Redirector implements Shopgate_Helper_Redirect_Re
95
 
96
  public function redirect($url, $sendVary = true)
97
  {
98
- if ($this->settingsManager->isRedirectDisabled() && !$this->settingsManager->isMobileHeaderDisabled()) {
99
  $this->settingsManager->setCookie();
100
 
101
  return;
95
 
96
  public function redirect($url, $sendVary = true)
97
  {
98
+ if ($this->settingsManager->isRedirectDisabled()) {
99
  $this->settingsManager->setCookie();
100
 
101
  return;
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>shopgate_module</name>
4
- <version>2.9.38</version>
5
  <stability>stable</stability>
6
  <license uri="http://wiki.shopgate.com/Magento/de">Shopgate Plugin</license>
7
  <channel>community</channel>
@@ -10,9 +10,9 @@
10
  <description>Shopgate Plugin</description>
11
  <notes>Shopgate Modul</notes>
12
  <authors><author><name>Stephan Recknagel</name><user>Shopgate</user><email>stephan.recknagel@shopgate.com</email></author><author><name>Andr&#xE9; Kraus</name><user>Shopgate</user><email>andre.kraus@shopgate.com</email></author><author><name>Alexander Wesselburg</name><user>Shopgate</user><email>alexander.wesselburg@shopgate.com</email></author><author><name>Rainer Skistims</name><user>Shopgate</user><email>rainer.skistims@shopgate.com</email></author><author><name>Konstantin Kiritsenko</name><user>Shopgate</user><email>konstantin.kiritsenko@shopgate.com</email></author></authors>
13
- <date>2016-04-25</date>
14
- <time>14:39:21</time>
15
- <contents><target name="mageetc"><dir name="modules"><file name="Shopgate_Framework.xml" hash="029a3b0976d6f4de9146c8011124de93"/></dir></target><target name="magecommunity"><dir name="Shopgate"><dir name="Framework"><dir name="Block"><dir name="Adminhtml"><dir name="OAuth"><dir name="Config"><file name="Connector.php" hash="890d04b08bf692c12b02f29abf813f83"/></dir><dir name="Connect"><dir name="Add"><file name="Form.php" hash="45685099b41a46919a9900d22c30b711"/></dir><file name="Info.php" hash="ee7bbc837bf3f298791b8496f2d6d565"/><file name="Overlay.php" hash="a6496896dccb5898b36e3e65585650f4"/></dir><file name="Connect.php" hash="cc7e43ba447b6338f6c50ccaa5fd073a"/><file name="Data.php" hash="1903e819d5d16abba4c37d7823909260"/><file name="Disconnect.php" hash="2545e56bca73577ba5f73fce0501624a"/><dir name="Manage"><file name="Grid.php" hash="78357b78fed0e8b3535a7e505c8f6425"/></dir><file name="Manage.php" hash="a99e12333f7c27771ca42a0764108639"/></dir></dir><file name="Info.php" hash="3dd73900370546289a6033942a0c0528"/><dir name="Payment"><file name="MobilePayment.php" hash="59d29cc2dcf39652feafd8886e6a044e"/><file name="Shopgate.php" hash="67af406fa04da70461b3580b8adea89d"/></dir><dir name="Totals"><file name="AbstractPaymentFee.php" hash="5e36647f536d1c6daba33cd6e0a5e302"/><file name="CreditmemoPaymentFee.php" hash="4a287f54554d8d45772db386f54a45e7"/><file name="InvoicePaymentFee.php" hash="818164536fe249016af3046aef73f181"/><file name="OrderPaymentFee.php" hash="55c8f62c4da8014c99414ece9cd125c4"/></dir><file name="Version.php" hash="2f45712bb20635ac17d8bdee213819e5"/></dir><dir name="Helper"><dir name="Billsafe"><file name="Client.php" hash="ae85878961343c33ca32cb9964c8fae5"/><file name="Order.php" hash="474c2aa15f352224c11c8ab17e921c9d"/></dir><file name="Config.php" hash="3c4c745cae49363b7a118bf30e49efa9"/><file name="Coupon.php" hash="26dde886215b4e10276c9ae742ad6171"/><file name="Customer.php" hash="c68047909c0c6e14977336ab6afe2f6b"/><file name="Data.php" hash="f2f44b7052036735f7cdca9b8bfead2d"/><file name="Debug.php" hash="82c85038046fc9b2f994df18b7f202a6"/><file name="Export.php" hash="02c5dbce181e7489b5d75b20c1584aab"/><dir name="Import"><file name="Order.php" hash="e40ed484faf6f9757bee1970bafaed30"/></dir><file name="Install.php" hash="57f42693c9a6ddb18b8a25a2a5da7cf8"/><dir name="Payment"><file name="Abstract.php" hash="207f16aab8224761b7d91802b9fb10ee"/><file name="Payone.php" hash="ddced5955ff55105d8b3c91e0fcb0778"/><file name="Wspp.php" hash="4214f1d3332cd189cee3df48108ebd8d"/></dir><file name="Sales.php" hash="b9dc3427b8cdaa38c6a4b7ceb213b78b"/></dir><dir name="Model"><dir name="Carrier"><file name="Fix.php" hash="a232e49ed4dabb87fcc27d4a10705d22"/></dir><dir name="Cataloginventory"><file name="Stock.php" hash="42ffccc3d644f8b04358a3e76bda32dd"/></dir><dir name="Compiler"><file name="Process.php" hash="740452b7bc234417788db1f1ee892ef5"/></dir><file name="Config.php" hash="b8706fa9570bbe073c7438e78cb015b4"/><file name="Customer.php" hash="97ed53ca3f69c7a24fb40cce11f58721"/><dir name="DreamRobot"><file name="Observer.php" hash="7b4e8922a46f5974b8edf359c632a9d3"/></dir><dir name="Export"><file name="Abstract.php" hash="9e86667845e8cebd8e0ccb8879b70b6d"/><dir name="Category"><file name="Csv.php" hash="72f4f58345d95f8f621783bedf2a092e"/><file name="Xml.php" hash="12ab046b9a000636ed4ed5eefb770af2"/></dir><file name="Category.php" hash="5a41141ecec85669674ec818c4661cdc"/><dir name="Customer"><file name="Orders.php" hash="b033a463f19b5436e28897adebd634df"/></dir><file name="Customer.php" hash="2711476c9538a22242d1511649ec77f1"/><dir name="Product"><file name="Csv.php" hash="cc25a5c6a19233b33b1f1ec37837c404"/><file name="Xml.php" hash="48a15a1e2ca1730e64ec901d160ecdbb"/></dir><file name="Product.php" hash="d9c807df57af3f1cced2d9bb433338ec"/><dir name="Review"><file name="Csv.php" hash="5c72f802a2de256ca1ec8dab1b75b291"/><file name="Xml.php" hash="bc16f60d9ed20705422921955a5071fe"/></dir><file name="Review.php" hash="ad6f548035a30da642d2459354acbb40"/><file name="Settings.php" hash="960f3d9991ecca41bd9e8b4ba632e9ea"/></dir><file name="Factory.php" hash="ffc69a308b1d93247d8346c653b0d2ad"/><file name="Feed.php" hash="fb99cd7b2b3d94908848b722df666b67"/><dir name="Interfaces"><dir name="Modules"><file name="Router.php" hash="ca1de41cd4fce45d6af452879fc7ba1b"/><file name="Validator.php" hash="274be1cefc2e179ed33c703f76047cff"/></dir></dir><dir name="Mobile"><file name="Redirect.php" hash="6492fb81d950812af8db28e959ffcd7e"/></dir><dir name="Modules"><dir name="Affiliate"><file name="Factory.php" hash="a3de64c9c70b581a7a2b9975aaff7985"/><dir name="Packages"><dir name="Magestore"><file name="Redeem.php" hash="1084a868ec3bc0099cd860dfb2c5438f"/><file name="Utility.php" hash="825877604ccb52c1c8af34c7b5152a32"/><file name="Validator.php" hash="d79db83b85371c592ca8556c60fced7a"/></dir></dir><file name="Router.php" hash="e5968a99fb26d75e3bfafdb09930ae9d"/><file name="Utility.php" hash="62e51bfe3f4d789c04c4357f1174e089"/></dir><file name="Factory.php" hash="274d360ce8088cb0b140b2d0da09827a"/><file name="Validator.php" hash="8ac94d08fda28ee72ab18caa4523905e"/></dir><dir name="Mysql4"><dir name="Core"><file name="Core.php" hash="fc129d4d929f83e8389367b9c5d6d5e1"/></dir><dir name="Customer"><file name="Collection.php" hash="89d31997abc3c2145f74e02dd5456a7c"/></dir><file name="Customer.php" hash="d5f460b2d5bfa87b8368a8a6c6b51115"/><file name="Product.php" hash="6a99b3d0de44dfbd132ce9caca19034e"/><dir name="Shopgate"><dir name="Order"><file name="Collection.php" hash="e180ba816be47239828bea65cd5f8445"/></dir><file name="Order.php" hash="c297847e39ad01307dba4a69c13445f2"/></dir></dir><file name="Observer.php" hash="e5c9a67abe17a40938e95c5629fda1d5"/><dir name="Payment"><dir name="Abstract"><file name="AbstractPayol.php" hash="9ef2b4ce9b4e740da52308adbb50ceb5"/></dir><file name="Abstract.php" hash="29dd56fbc07930496b24c87dda721138"/><file name="Amazon.php" hash="908d7f65ae7a0513ff796b49f8b8a556"/><file name="Authorize.php" hash="f51637fcb5058620b359e066fa1a6dd3"/><file name="Billsafe.php" hash="abc7caf1d47a33353b4b575b237fee70"/><dir name="Cc"><file name="Abstract.php" hash="2b291ac14d9e1e3120416d6aeb4c3487"/><file name="Authn.php" hash="3d0af24fa01b3d878bfed81a87930b15"/><file name="AuthnAbstract.php" hash="bfb024a9e5ef4e4b671f98ebcb87c649"/><dir name="Authncim"><file name="Gateway.php" hash="1f8df3fe0e50f4729bebfc1d4763b015"/><file name="Method.php" hash="aa6916548a71848ad7c83e4f053bc27e"/></dir><file name="Authncim.php" hash="89f1c2a0bb59d08c895da84c14c325ff"/><file name="Chargeitpro.php" hash="6fd3a2fd42df00831d6e363a23a414f1"/><file name="Usaepay.php" hash="00bd8969c1eceb13eacbb37ed9a1f714"/></dir><file name="Cc.php" hash="3b8b092334fd1c72e824f560b9e33405"/><file name="Express.php" hash="6c8a2ea8ef4cebf40fe35b840f0d41d9"/><file name="Factory.php" hash="c31171980613fc74eff0ce727746f9ef"/><file name="Generic.php" hash="666f06186d1bb96b94af287d221e27c5"/><dir name="Ins"><file name="Payol.php" hash="b6961c4ab1fb9a95ab2d470aeaad8d29"/></dir><file name="Interface.php" hash="c59467883ede0cbd63be3f2535aaed65"/><dir name="Inv"><file name="Payol.php" hash="6d1c28b2ea2fb2fd63e09712f4533c77"/></dir><file name="MobilePayment.php" hash="59554c65e778831f6add450e0f846f42"/><dir name="Payone"><file name="Abstract.php" hash="fcc75447f2a2053d720289fb27b3c476"/><file name="BankAbstract.php" hash="0fdc5847e23c2aa4a9e4fee535d1df4c"/><file name="Cc.php" hash="fa47b35c9455bba74d2ef325835ab865"/><file name="Dbt.php" hash="7f098887ba6f12669a18f62d7885de6d"/><file name="Gp.php" hash="7686149aedae93b0d5eef0b06fc08d7e"/><file name="Idl.php" hash="57d144744565ff644db917cab7ef689e"/><file name="Inv.php" hash="91d893ee5eacdc00ff8fbb3f1b750894"/><file name="Klv.php" hash="f82fb0cc874ea8f1121f282372e4e404"/><file name="Pp.php" hash="1165aa67ef8ccdc93a2eb0b7bf03f3d0"/><file name="Prp.php" hash="367e84cc2089596dba96c5a7e9ae1723"/><file name="Sue.php" hash="31280f2c8abf21f0a582b656fb0d38ad"/></dir><dir name="Pp"><file name="Abstract.php" hash="9108e63c82d14a7cef72a58c5fd2df81"/><file name="Wspp.php" hash="a03e4e06431daac65d8ae5a79eb5335b"/></dir><file name="Pp.php" hash="c521bbb32aed313c0170dd6e8361f934"/><dir name="Ppal"><file name="Plus.php" hash="a26adaab47adb3f3b84ff872673b4ed1"/></dir><file name="Router.php" hash="8c5c3d698dbddeec2823d8e2ad284b72"/><file name="Shopgate.php" hash="f0d59e2a4369f7a22e47cf9c3bb9c44a"/><dir name="Simple"><file name="Billsafe.php" hash="d352d66d5101454f4cfec46e4fcaa88a"/><dir name="Cod"><file name="Abstract.php" hash="7bcb77e2906200f8a7576a24d782d541"/><file name="Msp.php" hash="0bb90c25c102ea55ead07312793c523b"/><file name="Native.php" hash="ac835fa8062afb1d3c77e67bc7b87b3c"/><file name="Phoenix107.php" hash="0172683522d4aad72e149a896aad757f"/><file name="Phoenix108.php" hash="b2fc93153eb4e11b0fcf567d66ef298d"/></dir><file name="Cod.php" hash="13329a686494412b304364f0707dd024"/><file name="Invoice.php" hash="a86d8500a0dee3056e56b0ccfb1fae3d"/><dir name="Mws"><file name="Abstract.php" hash="b4a90287eafca0d87087f6dede80dd2c"/><file name="Mws.php" hash="e919cd10f5be16e404a2aac43211005b"/><file name="Mws15.php" hash="db272b23821ea5010fe0e19023b9ca81"/></dir><file name="Mws.php" hash="e19cdfee86d84d80a234138a5f86c5af"/><dir name="Paypal"><file name="Express.php" hash="e2d33dbc600503d9a7541ab53df60662"/><file name="Standard.php" hash="5281ddc90f8f560b6cffa2e97fe08304"/><file name="Standard1400.php" hash="d80d26e8189b12c9796929dfad77f6c8"/></dir><file name="Paypal.php" hash="f9d9361711099812b46ac8335efef454"/><dir name="Prepay"><file name="Abstract.php" hash="89767868690e40bc3d96f8bee4484880"/><file name="Checkmo.php" hash="781dd32522f7bc97c62313cb76429633"/><file name="Native.php" hash="48542e3e9ad2bafb504a200a6529eccc"/><file name="Phoenix.php" hash="7118e404d6f1755cdab35dbc2c8f058d"/></dir><file name="Prepay.php" hash="75a238298ab408184e109411a8cc08b0"/><file name="Shopgate.php" hash="5fb1a053ac9b69e5d38bc9f6631ee8f1"/><dir name="Sue"><file name="Abstract.php" hash="d07d6b3a5702b458ed4e5f4574e3ced9"/><file name="Sue118.php" hash="759f4a7e103f9f9f4457aa1d0694c26d"/><file name="Sue300.php" hash="c804244222e5fe67ead8916c5c1ffef1"/></dir><file name="Sue.php" hash="6802dc052e2088957329689b003a16f8"/></dir><file name="Simple.php" hash="e4f0b3cd8282c2661cb19eabdb77d075"/><file name="Usaepay.php" hash="30f17f5a6bf8d0a68b2c14cd1d013885"/><file name="Wspp.php" hash="dbcd289795c112f2f0dbabeda19fbc69"/></dir><dir name="Resource"><dir name="Core"><file name="Config.php" hash="0ee7969070ab0dddfdd3bb2cc404cd3c"/></dir><dir name="Customer"><file name="Collection.php" hash="2ddb7db1355100bc9e86f966f1d4612c"/></dir><file name="Customer.php" hash="69848842d4be07be4d66d700a7b6695b"/><file name="Product.php" hash="5c62ef4cfc3f0ebbbe5a9a46d1c25dfa"/><file name="Setup.php" hash="7b5cc0f99c857e9292638c1fbeb43969"/><dir name="Shopgate"><dir name="Connection"><file name="Collection.php" hash="f294d4239cee276b7e3c5e6e2109de66"/><dir name="Grid"><file name="Collection.php" hash="d499139d50dffbfe1b1e868b5aeeee0f"/></dir></dir><dir name="Order"><file name="Collection.php" hash="2c18a4ca248ca8719e7ead85f0c57619"/></dir><file name="Order.php" hash="1942eeb8268781c499f8cad384081b02"/></dir></dir><dir name="Sales"><dir name="Creditmemo"><dir name="Total"><file name="ShopgatePaymentFee.php" hash="614d1e96cd2c97e0fcd7db86ee3aad89"/></dir></dir><dir name="Invoice"><dir name="Total"><file name="ShopgatePaymentFee.php" hash="c4400832de32367067fd5396bcf7bfc8"/></dir></dir><dir name="Quote"><dir name="Address"><dir name="Total"><file name="ShopgatePaymentFee.php" hash="7a309b69fb20fb6fcae5f3b77f5b7ba9"/></dir></dir></dir></dir><dir name="Search"><dir name="Shopgate"><file name="Order.php" hash="94dcf366528641687b89ab0c9f973ef5"/></dir></dir><dir name="Shopgate"><dir name="Cart"><dir name="Validation"><dir name="Stock"><file name="Bundle.php" hash="13180790586d19b04aa1cfcf1f88f0c8"/><file name="Simple.php" hash="b5af5f6906c75fa1148b4cbd355e595c"/></dir><file name="Stock.php" hash="03d8139aa9840d707c8e4cb991bca20f"/></dir></dir><file name="Connection.php" hash="ff0da764d444103f5892ef21e23ba353"/><file name="Order.php" hash="0fb57412d6aa625ce2c4d2a73c0a28b2"/><file name="Plugin.php" hash="0e7a74a1ab956fa009a9929f82cda7f9"/><dir name="Shipping"><dir name="Mapper"><file name="Carrier.php" hash="ef57904070fdf7921e51e88c3991c029"/><dir name="Method"><file name="Abstract.php" hash="bb402c49f3da66f7bd4baf5b215f989e"/><file name="Interface.php" hash="1bab00e6e0356184c3f213acfce601da"/><file name="Shopgate.php" hash="af8e1ade067d1b9fb0e5b493ad814576"/><file name="Usps.php" hash="fa7259d6751ce649e65159753c73fe60"/></dir></dir><file name="Mapper.php" hash="3ecd0aa8d8d16b6109c53ac8e636a672"/></dir></dir><dir name="System"><dir name="Config"><dir name="Source"><file name="Attribute.php" hash="8dfc3964b750aebac8db5f584559d5c3"/><dir name="Description"><file name="List.php" hash="c83f37019461ab7adc86a57400f63761"/></dir><file name="Description.php" hash="d0dcebc9d75fdb0bb80f3c3faba6397c"/><file name="Enabledisable.php" hash="7f189c26cd1c2c7f1cd6dc56379798b5"/><dir name="Item"><file name="Sort.php" hash="2dc75f9c1e8baaddbf895945acd2ff19"/></dir><dir name="Product"><file name="Image.php" hash="e9d0e7c5769446290094d2b67e5c468b"/><file name="Names.php" hash="98de8ee7ae9b3c504eb087f5e09d3afd"/><file name="Types.php" hash="007b54c2e095691380c21a5ab62846fc"/></dir><dir name="Redirect"><file name="Types.php" hash="c5d3c44ab1f5ba74224b41836b14afff"/></dir><file name="Server.php" hash="b569e24076ca68c4063729fb708b666a"/><file name="Store.php" hash="cb2998beb43ba8afeeaa5b64a5b5e946"/><dir name="Validation"><file name="Config.php" hash="64efaea0bcd38872b44e8fa5eb6ffa0d"/></dir><dir name="Variation"><dir name="Export"><file name="Type.php" hash="bb19358c2c2fbee3cb9776f3540faa20"/></dir></dir><dir name="Weight"><file name="Units.php" hash="10af44d670bcfdb559f4196c7006e893"/></dir></dir></dir></dir></dir><dir name="Test"><dir name="Controller"><dir name="FrameworkController"><dir name="fixtures"><file name="testPluginNotActive.yaml" hash="9e25f93814834419e9c83995021860c2"/></dir></dir><file name="FrameworkController.php" hash="f2332ffd91ff17cb73382210ba3301d7"/></dir><dir name="Helper"><dir name="Billsafe"><file name="ClientTest.php" hash="2e3427398bf45801753b32be01b07b26"/></dir><dir name="Data"><dir name="providers"><file name="testCalculateTaxRate.yaml" hash="2b1fb398f41a0d7706ab9701d77ce978"/></dir></dir><file name="Data.php" hash="e6892cda8a5c0a034657707ae6951317"/><dir name="Payment"><dir name="Wspp"><dir name="providers"><file name="testGetActionByStatus.yaml" hash="7c2d30f7e376da449185e19f3b2a642a"/><file name="testGetPaypalStatus.yaml" hash="8381a01d6d22190b4d1e5c14db984a5d"/></dir></dir><file name="Wspp.php" hash="8bda17bc29a6f006e51ec54063c7b42c"/></dir></dir><dir name="Model"><dir name="Modules"><dir name="Affiliate"><file name="RouterTest.php" hash="e84df3fe416472465a98742030f93662"/></dir></dir><file name="ObserverTest.php" hash="bd6dea886fed4a44f5a3f581621a833a"/><dir name="Payment"><dir name="Abstract"><dir name="fixtures"><file name="testIsDisabled.yaml" hash="53ed5e65872f20c2328430e0e395e70f"/><file name="testIsEnabled.yaml" hash="53ed5e65872f20c2328430e0e395e70f"/></dir></dir><file name="Abstract.php" hash="7dc37f4b6c2a911a726a0395ae5e49eb"/><dir name="Cc"><dir name="Abstract"><dir name="providers"><file name="testGetCcTypeName.yaml" hash="eaf5dc89060f82581dea1a116c58e5dc"/></dir></dir><file name="Abstract.php" hash="ccf09de30cde5ee26757794e2a509896"/><file name="Authn.php" hash="77306ad6afc450df8a45a1d6a177ff32"/><file name="AuthnAbstract.php" hash="11784c806b9ca43772af538a13dea371"/></dir><file name="Cc.php" hash="8da9d7be59ca374d8d69e587d6c47464"/><dir name="Pp"><file name="AbstractTest.php" hash="1369367e5198c8178a475eccd193da35"/></dir><dir name="Router"><file name="Exception.php" hash="f7619c0f81e3aec39171687b3fd44185"/><dir name="providers"><file name="testGetModelCombinations.yaml" hash="e74482392a5c0a767903c73628dbfc21"/><file name="testMethodPart.yaml" hash="f9e17d95fba5fed400d4bbfce722212d"/></dir></dir><file name="Router.php" hash="42c755b3d736deb853548db48e2cbe3f"/><file name="RouterAbstract.php" hash="8f3207a8c6db231f72c81d891919cdbd"/><dir name="Simple"><file name="Billsafe.php" hash="82672c2300658c22c6fe0165245b5590"/><dir name="Cod"><file name="Msp.php" hash="d87f920cb0db4267f7246ea5542c2867"/><file name="Native.php" hash="9699b7aa21466cb2014f27d924ac7717"/><file name="Phoenix107.php" hash="c482e1e2a78fc9c5d277d22c3e4271c2"/><file name="Phoenix108.php" hash="f0f6847ea8279388cb12915f7aeb6597"/><dir name="fixtures"><file name="testGetCodMspMethod.yaml" hash="877ac87663c27392723481e813adac94"/><file name="testGetCodNativeMethod.yaml" hash="78dec590236fda34a7baa1681f1f799b"/><file name="testGetCodPhoenixMethod.yaml" hash="d47bddf587fad20d43acec341eb97c55"/><file name="testGetNoCodMethod.yaml" hash="f598847006617b5ed14f83d677739951"/></dir></dir><file name="Cod.php" hash="03391eaa3b2233c8d51a020e09dacde4"/><file name="Invoice.php" hash="08161a51fab47b14b652da12819337bf"/><dir name="Mws"><file name="Mws.php" hash="ec0f5f5b20656367416e505213439819"/><file name="Mws15.php" hash="06b3ada52a543d31bbf877032450368e"/></dir><file name="Mws.php" hash="9645cc9098c989424644de6b2f8bcfbd"/><dir name="Paypal"><file name="Express.php" hash="23da162636ff6ccca1e703b1967c14cf"/><dir name="fixtures"><file name="testGetPpExpressMethod.yaml" hash="304d7be2dcefedfe925695b85ead1ef7"/><file name="testGetPpStandardMethod.yaml" hash="79830109fcd1f32140f97cfd0caf4ab3"/></dir></dir><file name="Paypal.php" hash="cce4b99dcf9ee10621af4c6b24538a8e"/><dir name="Prepay"><file name="Checkmo.php" hash="b4bf41747b9e20c76d22f39fdafe6318"/><file name="Native.php" hash="dd31b6d04518750a1d03a7f9b85510f0"/><file name="Phoenix.php" hash="c8c7a408d8bf13917083826eed369f12"/><dir name="fixtures"><file name="testGetAllPrepayEnabled.yaml" hash="f4fd365d15f4a72a27056abc86254d32"/><file name="testGetPrepayNativeMethod.yaml" hash="10fc3dd5a6ea63187eb11c0f8dfcdce4"/><file name="testGetPrepayPhoenixMethod.yaml" hash="e8e4ab7d7e995aea4e701e2aac72c9c0"/></dir></dir><file name="Prepay.php" hash="410b8d87c6c3c2d726cc3a4dd59e85fb"/><file name="Shopgate.php" hash="744c9424ad4db0917e437140662c6298"/><dir name="Sue"><file name="Sue118.php" hash="25daa525b66855a9c617d68f58818e1f"/><file name="Sue300.php" hash="38e4539f1adb242b67920f43d93a15fc"/></dir><file name="Sue.php" hash="c6b29f00dbf3e4177b1bc7da20c0af5c"/></dir><file name="Simple.php" hash="8f3d015f1f8e32ddef4ae60c681d6280"/></dir><file name="Utility.php" hash="f7b78aefc882670c716cbcf5cac4dc99"/></dir></dir><file name="changelog.txt" hash="7d6ffd21cfee06a64506aded5f3c5c93"/><dir name="controllers"><dir name="Adminhtml"><file name="ShopgateController.php" hash="b1bb6a24af72d5d151a6773be640c9e9"/></dir><file name="FrameworkController.php" hash="2152205bd372d999a56eb378ed810a8d"/></dir><dir name="etc"><file name="adminhtml.xml" hash="ed53de480c8a0642b7ae75c59f1ff8df"/><file name="config.xml" hash="8053524b1272a0a2e0966fd213620d45"/><file name="system.xml" hash="c7f55765dac95c436147785275f4b362"/></dir><file name="licence.txt" hash="dec6ca25c420b36a2e400caf1541c923"/><dir name="sql"><dir name="shopgate_setup"><file name="mysql4-install-0.1.0.php" hash="069abba038757da43b2ca6c5a0c82aba"/><file name="mysql4-install-2.1.45.php" hash="eddddf157e55a87edc77361dde564463"/><file name="mysql4-install-2.2.0.php" hash="eddddf157e55a87edc77361dde564463"/><file name="mysql4-upgrade-0.1.0-0.1.1.php" hash="cc637fc1bc511e745f02a56d0b36e3be"/><file name="mysql4-upgrade-1.0.5-1.0.7.php" hash="1e800d9d235b817bf5be698288bc0129"/><file name="mysql4-upgrade-2.1.44-2.1.45.php" hash="134d0b665746c61d364f6fd93d83f46c"/><file name="mysql4-upgrade-2.1.49-2.1.50.php" hash="e0fd395bb9c25c0e544c455186cfe7c9"/><file name="mysql4-upgrade-2.4.28-2.4.29.php" hash="9c8c868ce90e42b56182b23b78d6fbe7"/><file name="mysql4-upgrade-2.4.29-2.4.30.php" hash="ca3ee1e2f337bcea26264a17f603548e"/><file name="mysql4-upgrade-2.7.5-2.8.0.php" hash="34393a58a0b4ec90b4e618d3ff4cc565"/><file name="mysql4-upgrade-2.9.15-2.9.16.php" hash="980e7cc83f912ef4f630ef8d1cb964d1"/><file name="mysql4-upgrade-2.9.36-2.9.37.php" hash="07dafdabd4764c9685f1317ebbbe842f"/><file name="mysql4-upgrade-2.9.4-2.9.5.php" hash="dc6770e94c31d2f79915528c0993d546"/></dir></dir></dir></dir></target><target name="magelocale"><dir name="de_DE"><file name="Shopgate_Framework.csv" hash="eb25c8acdee6d7a4d6b51c354774e0ce"/></dir><dir name="de_CH"><file name="Shopgate_Framework.csv" hash="eb25c8acdee6d7a4d6b51c354774e0ce"/></dir><dir name="de_AT"><file name="Shopgate_Framework.csv" hash="2fb25887b4b9c89b2a241759ddc1590b"/></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="shopgate"><file name="logo.png" hash="b7139047ecc90b15a5710ab0fe77fc81"/><file name="logo_big.png" hash="b98bfcf09766589506a1cca24ca47972"/><file name="logo_small.png" hash="7abf7f774c592eb582c2856e027af798"/><file name="oauth_connect.js" hash="8e5c77d9ad1354f826445f03c91008f4"/><file name="shopgate_admin.css" hash="0fbc07171267b9fb5dba7004a0858f66"/><file name="target.js" hash="80484a4dae515f708c97545d9959673a"/></dir></dir></dir></dir></target><target name="magelib"><dir name="Shopgate"><dir name="assets"><file name="index.php" hash="bfc5021f1ee9b67f78a0fc9fdab6c558"/><file name="js_header.html" hash="7ff2c12f8b7c23542f3ff49b451720a8"/><file name="link_tag.html" hash="f7c53599b55d442fd49f970bd41eb2a4"/><file name="mobile_header.html" hash="17616650e160eaccd24e25729396c5a9"/></dir><file name="changelog.txt" hash="f9c3e9cfc0470a026fb9eaca705403b8"/><dir name="classes"><file name="apis.php" hash="8d89fdce7a3eeca342a5165bb9a2530b"/><file name="configuration.php" hash="264d43767346d16fd8c1fcfdcbec0ca2"/><file name="core.php" hash="754c598a012e63a23eccd600cc4618a6"/><file name="customers.php" hash="24c9dbbcafe379c224fcce4b02d58ad2"/><file name="external_orders.php" hash="7239071113b5decc70ec9672bf6fc3fe"/><dir name="helper"><file name="DataStructure.php" hash="ece9e9f855756777f543d090f5ecc710"/><file name="Pricing.php" hash="fd4c74999abc3bfa05fd74994a2ce78f"/><file name="String.php" hash="10c9396b2975bf0bde86f171932c3074"/><file name="index.php" hash="bfc5021f1ee9b67f78a0fc9fdab6c558"/><dir name="redirect"><file name="KeywordsManager.php" hash="3e8233fa248cb795642b4306b3ebdd13"/><file name="KeywordsManagerInterface.php" hash="32cda83161084b4f5904eeb5f50a6547"/><file name="LinkBuilder.php" hash="52d193384a8ffed61fd83c5e1befd63c"/><file name="LinkBuilderInterface.php" hash="a755af7b57fda9b9ff1564a0059529d1"/><file name="MobileRedirect.php" hash="1f58517a45d5d8814514001b1e690312"/><file name="MobileRedirectInterface.php" hash="80b8da18c8bf498461c2b8e183bce326"/><file name="Redirector.php" hash="1a06dc19980c8a51ae0cdbed4d04322d"/><file name="RedirectorInterface.php" hash="9a11e4e85b6005029458a035e4295935"/><file name="SettingsManager.php" hash="d1b1722715688da2a095fba8c607f45c"/><file name="SettingsManagerInterface.php" hash="ae16aa5ea4df7f0def80711f8cc14f70"/><file name="TagsGenerator.php" hash="de6e73da61a282d24226065671d67d6b"/><file name="TagsGeneratorInterface.php" hash="1a5c500631331a4ae970d2a442e5d7e2"/><file name="TemplateParser.php" hash="1e087c9ba5720c9065702d9ebfc5723a"/><file name="TemplateParserInterface.php" hash="d6897cd9e5622d1991bb7aab678e37f8"/></dir></dir><file name="index.php" hash="bfc5021f1ee9b67f78a0fc9fdab6c558"/><file name="items.php" hash="107f9bc5fcc0c0dbfe568a3b8235107c"/><dir name="models"><file name="Abstract.php" hash="a32633283eb403a55a166bbad70b3e2f"/><file name="AbstractExport.php" hash="f265f9e906208e1799994d117582be20"/><file name="XmlEmptyObject.php" hash="d6cfdae3bdd858d4f10fcebdb542f533"/><file name="XmlResultObject.php" hash="340804eb0f2ba6bcb6b05311b8bb1f11"/><dir name="catalog"><file name="Attribute.php" hash="28d8f3bc6c416661d1eaa77726ba7009"/><file name="AttributeGroup.php" hash="0270086ec8006ee8231c6b0baa8d6034"/><file name="Category.php" hash="beba58d2796cf7b4ca08ce68de65415b"/><file name="CategoryPath.php" hash="475869aef74c567c8569ee9953210faa"/><file name="Identifier.php" hash="d9a3b16d1fcdec641ca2b0fd77fbd625"/><file name="Input.php" hash="77df45fd89aec19565a5fae7178205bb"/><file name="Manufacturer.php" hash="e45f534f5f6acad118be24ffc63a0460"/><file name="Option.php" hash="fd95fe72bff985ae0b2861da115e2468"/><file name="Price.php" hash="3cb25372ae58bd0c71b342f9ef2dca73"/><file name="Product.php" hash="7e7c49e10b379eae5d0141efe2c91305"/><file name="Property.php" hash="5967f0403a606a27ea4fec71a8402327"/><file name="Relation.php" hash="263cde539af500af911baec4e354079e"/><file name="Review.php" hash="72c94cb1f2a54bafffdb5672d87ecd4d"/><file name="Shipping.php" hash="1fe425496bd9720dc18bd076e56aca9e"/><file name="Stock.php" hash="4e645877e778ec8d02ae98262bfa9663"/><file name="Tag.php" hash="39e7b845ab157d2f707707576e868d64"/><file name="TierPrice.php" hash="9dd757c9c3d193944a5727fbe5cf4704"/><file name="Validation.php" hash="0be71640c1df60ab809347194ec66457"/><file name="Visibility.php" hash="d60c6b8ec486da4afdc46a00d65ad172"/><file name="index.php" hash="bfc5021f1ee9b67f78a0fc9fdab6c558"/></dir><file name="index.php" hash="bfc5021f1ee9b67f78a0fc9fdab6c558"/><dir name="media"><file name="Attachment.php" hash="c074ef3426c2506350cbf5ff0133c89d"/><file name="Image.php" hash="c9319f2a82811239313e328eaf7e2094"/><file name="index.php" hash="bfc5021f1ee9b67f78a0fc9fdab6c558"/></dir><dir name="redirect"><file name="DeeplinkSuffix.php" hash="e6aebbb49db1b3b1d0bbb3a5f8e52927"/><file name="DeeplinkSuffixValue.php" hash="809684ff8f7d588d39060f5469e2c3b0"/><file name="DeeplinkSuffixValueDisabled.php" hash="83ff30aeeaf40c070f71b29b7f2bbbd8"/><file name="DeeplinkSuffixValueUnset.php" hash="1275996c7d012acfa3fbd6cbe43b08b3"/><file name="HtmlTag.php" hash="e5494a280dd090e3869445431e6c8c2a"/><file name="HtmlTagAttribute.php" hash="368c63b7c3043f7ae0bee107527152de"/><file name="HtmlTagVariable.php" hash="1484f93ec0e69b3f94313e4cac849e0f"/></dir></dir><file name="orders.php" hash="db9fb6643aafe97c93447e4fcc950b6b"/><file name="redirect.php" hash="75ba604b4a9885e861a96683e566ac5c"/></dir><dir name="config"><file name="index.php" hash="bfc5021f1ee9b67f78a0fc9fdab6c558"/></dir><file name="index.php" hash="de19abc78063ea9a4112964c79946f1c"/><file name="shopgate.php" hash="248033be19931f7eccdc40d12e59d1bf"/><file name="shopgate_license.txt" hash="21fbb2f00b832416916b27c5e3f5d6d1"/><dir name="temp"><dir name="cache"><file name="index.php" hash="7573387748996e2dd9e02a237056f158"/></dir><file name="index.php" hash="7573387748996e2dd9e02a237056f158"/><dir name="logs"><file name="index.php" hash="7573387748996e2dd9e02a237056f158"/></dir></dir><dir name="tests"><dir name="classes"><dir name="helper"><dir name="redirect"><file name="KeywordsManagerTest.php" hash="185c285d78e7c4e25ede957918018fe6"/><file name="TemplateParserTest.php" hash="aa7aea33f78f0fda58437c83421d2f31"/></dir></dir></dir></dir><dir name="vendors"><file name="2d_is.php" hash="087decaca87ee85d548d8caaa43f1212"/><file name="BSD_license.txt" hash="2df4dd93533ca2c19f6f2d601bc3e0d5"/><file name="JSON.php" hash="cbb23366cd8c20319292458a87dc2870"/><file name="index.php" hash="bfc5021f1ee9b67f78a0fc9fdab6c558"/></dir><file name=".htaccess" hash="34479bc8d9df775c38a980ecaf6f3f4b"/></dir></target><target name="mage"><dir name="app"><dir name="design"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="shopgate.xml" hash="608ba89093ef89e1c182cd6085dbf3b1"/></dir><dir name="template"><dir name="shopgate"><file name="mobile_website.phtml" hash="229cbefd12ea77676f8af9c7159528ea"/><dir name="payment"><file name="mobile_payment.phtml" hash="1e18979028fb13e99af7c595c75a5d27"/><file name="shopgate.phtml" hash="1e18979028fb13e99af7c595c75a5d27"/></dir></dir></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="shopgate.xml" hash="8bab300fb25a48cd2c8119ae1942ed54"/></dir><dir name="template"><dir name="shopgate"><dir name="oauth"><dir name="config"><file name="connector.phtml" hash="478c309bdde7834bf20a48b65a4699fb"/></dir><dir name="connect"><file name="info.phtml" hash="4f75dc4311616081873a7d416b96c1c2"/><file name="overlay.phtml" hash="2a17d5b6ff8023568437b194f8a9d482"/></dir><file name="connect.phtml" hash="6956aa22eedf549c4565304b4e4a4ab9"/><file name="data.phtml" hash="09b4c5d83863f104db7a018510cdb315"/><file name="disconnect.phtml" hash="2858cebe9004c9fb5764f79faee46f87"/><file name="manage.phtml" hash="1f99255efbce4dbdc1ee781820d455b8"/></dir><dir name="payment"><file name="mobile_payment.phtml" hash="c7ee8f42029c4baf7375e0f4afa611c3"/><file name="shopgate.phtml" hash="5457030290f8aa08c2711a8bd27c3dee"/></dir></dir></dir></dir></dir></dir></dir></dir></target></contents>
16
  <compatible/>
17
  <dependencies><required><php><min>5.3.0</min><max>6.0.0</max></php></required></dependencies>
18
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>shopgate_module</name>
4
+ <version>2.9.39</version>
5
  <stability>stable</stability>
6
  <license uri="http://wiki.shopgate.com/Magento/de">Shopgate Plugin</license>
7
  <channel>community</channel>
10
  <description>Shopgate Plugin</description>
11
  <notes>Shopgate Modul</notes>
12
  <authors><author><name>Stephan Recknagel</name><user>Shopgate</user><email>stephan.recknagel@shopgate.com</email></author><author><name>Andr&#xE9; Kraus</name><user>Shopgate</user><email>andre.kraus@shopgate.com</email></author><author><name>Alexander Wesselburg</name><user>Shopgate</user><email>alexander.wesselburg@shopgate.com</email></author><author><name>Rainer Skistims</name><user>Shopgate</user><email>rainer.skistims@shopgate.com</email></author><author><name>Konstantin Kiritsenko</name><user>Shopgate</user><email>konstantin.kiritsenko@shopgate.com</email></author></authors>
13
+ <date>2016-05-03</date>
14
+ <time>18:50:12</time>
15
+ <contents><target name="mageetc"><dir name="modules"><file name="Shopgate_Framework.xml" hash="029a3b0976d6f4de9146c8011124de93"/></dir></target><target name="magecommunity"><dir name="Shopgate"><dir name="Framework"><dir name="Block"><dir name="Adminhtml"><dir name="OAuth"><dir name="Config"><file name="Connector.php" hash="890d04b08bf692c12b02f29abf813f83"/></dir><dir name="Connect"><dir name="Add"><file name="Form.php" hash="45685099b41a46919a9900d22c30b711"/></dir><file name="Info.php" hash="ee7bbc837bf3f298791b8496f2d6d565"/><file name="Overlay.php" hash="a6496896dccb5898b36e3e65585650f4"/></dir><file name="Connect.php" hash="cc7e43ba447b6338f6c50ccaa5fd073a"/><file name="Data.php" hash="1903e819d5d16abba4c37d7823909260"/><file name="Disconnect.php" hash="2545e56bca73577ba5f73fce0501624a"/><dir name="Manage"><file name="Grid.php" hash="78357b78fed0e8b3535a7e505c8f6425"/></dir><file name="Manage.php" hash="a99e12333f7c27771ca42a0764108639"/></dir></dir><file name="Info.php" hash="3dd73900370546289a6033942a0c0528"/><dir name="Payment"><file name="MobilePayment.php" hash="40c1289ed7cf9e48d5f42fdea1ab30bf"/><file name="Notice.php" hash="9f323e7a356c9076e0d6a2e11130a011"/><file name="Shopgate.php" hash="9d880318624bb5f903236fd7b302ddf6"/></dir><dir name="Totals"><file name="AbstractPaymentFee.php" hash="5e36647f536d1c6daba33cd6e0a5e302"/><file name="CreditmemoPaymentFee.php" hash="4a287f54554d8d45772db386f54a45e7"/><file name="InvoicePaymentFee.php" hash="818164536fe249016af3046aef73f181"/><file name="OrderPaymentFee.php" hash="55c8f62c4da8014c99414ece9cd125c4"/></dir><file name="Version.php" hash="2f45712bb20635ac17d8bdee213819e5"/></dir><dir name="Helper"><dir name="Billsafe"><file name="Client.php" hash="ae85878961343c33ca32cb9964c8fae5"/><file name="Order.php" hash="474c2aa15f352224c11c8ab17e921c9d"/></dir><file name="Config.php" hash="3c4c745cae49363b7a118bf30e49efa9"/><file name="Coupon.php" hash="26dde886215b4e10276c9ae742ad6171"/><file name="Customer.php" hash="c68047909c0c6e14977336ab6afe2f6b"/><file name="Data.php" hash="19ef8e230f19e1cc68482a480f548244"/><file name="Debug.php" hash="82c85038046fc9b2f994df18b7f202a6"/><file name="Export.php" hash="02c5dbce181e7489b5d75b20c1584aab"/><dir name="Import"><file name="Order.php" hash="e40ed484faf6f9757bee1970bafaed30"/></dir><file name="Install.php" hash="57f42693c9a6ddb18b8a25a2a5da7cf8"/><dir name="Payment"><file name="Abstract.php" hash="207f16aab8224761b7d91802b9fb10ee"/><file name="Payone.php" hash="ddced5955ff55105d8b3c91e0fcb0778"/><file name="Wspp.php" hash="4214f1d3332cd189cee3df48108ebd8d"/></dir><file name="Sales.php" hash="b9dc3427b8cdaa38c6a4b7ceb213b78b"/></dir><dir name="Model"><dir name="Carrier"><file name="Fix.php" hash="c86ef925167e639e05c4514c41120025"/></dir><dir name="Cataloginventory"><file name="Stock.php" hash="42ffccc3d644f8b04358a3e76bda32dd"/></dir><dir name="Compiler"><file name="Process.php" hash="740452b7bc234417788db1f1ee892ef5"/></dir><file name="Config.php" hash="b8706fa9570bbe073c7438e78cb015b4"/><file name="Customer.php" hash="97ed53ca3f69c7a24fb40cce11f58721"/><dir name="DreamRobot"><file name="Observer.php" hash="7b4e8922a46f5974b8edf359c632a9d3"/></dir><dir name="Export"><file name="Abstract.php" hash="9e86667845e8cebd8e0ccb8879b70b6d"/><dir name="Category"><file name="Csv.php" hash="72f4f58345d95f8f621783bedf2a092e"/><file name="Xml.php" hash="85f6ef0714d470458b19111cb0b14b4a"/></dir><file name="Category.php" hash="5a41141ecec85669674ec818c4661cdc"/><dir name="Customer"><file name="Orders.php" hash="b033a463f19b5436e28897adebd634df"/></dir><file name="Customer.php" hash="2711476c9538a22242d1511649ec77f1"/><dir name="Product"><file name="Csv.php" hash="cc25a5c6a19233b33b1f1ec37837c404"/><file name="Xml.php" hash="48a15a1e2ca1730e64ec901d160ecdbb"/></dir><file name="Product.php" hash="d9c807df57af3f1cced2d9bb433338ec"/><dir name="Review"><file name="Csv.php" hash="5c72f802a2de256ca1ec8dab1b75b291"/><file name="Xml.php" hash="bc16f60d9ed20705422921955a5071fe"/></dir><file name="Review.php" hash="ad6f548035a30da642d2459354acbb40"/><file name="Settings.php" hash="960f3d9991ecca41bd9e8b4ba632e9ea"/></dir><file name="Factory.php" hash="ffc69a308b1d93247d8346c653b0d2ad"/><file name="Feed.php" hash="fb99cd7b2b3d94908848b722df666b67"/><dir name="Interfaces"><dir name="Modules"><file name="Router.php" hash="ca1de41cd4fce45d6af452879fc7ba1b"/><file name="Validator.php" hash="274be1cefc2e179ed33c703f76047cff"/></dir></dir><dir name="Mobile"><file name="Redirect.php" hash="6492fb81d950812af8db28e959ffcd7e"/></dir><dir name="Modules"><dir name="Affiliate"><file name="Factory.php" hash="a3de64c9c70b581a7a2b9975aaff7985"/><dir name="Packages"><dir name="Magestore"><file name="Redeem.php" hash="1084a868ec3bc0099cd860dfb2c5438f"/><file name="Utility.php" hash="825877604ccb52c1c8af34c7b5152a32"/><file name="Validator.php" hash="d79db83b85371c592ca8556c60fced7a"/></dir></dir><file name="Router.php" hash="e5968a99fb26d75e3bfafdb09930ae9d"/><file name="Utility.php" hash="62e51bfe3f4d789c04c4357f1174e089"/></dir><file name="Factory.php" hash="274d360ce8088cb0b140b2d0da09827a"/><file name="Validator.php" hash="8ac94d08fda28ee72ab18caa4523905e"/></dir><dir name="Mysql4"><dir name="Core"><file name="Core.php" hash="fc129d4d929f83e8389367b9c5d6d5e1"/></dir><dir name="Customer"><file name="Collection.php" hash="89d31997abc3c2145f74e02dd5456a7c"/></dir><file name="Customer.php" hash="d5f460b2d5bfa87b8368a8a6c6b51115"/><file name="Product.php" hash="6a99b3d0de44dfbd132ce9caca19034e"/><dir name="Shopgate"><dir name="Order"><file name="Collection.php" hash="e180ba816be47239828bea65cd5f8445"/></dir><file name="Order.php" hash="c297847e39ad01307dba4a69c13445f2"/></dir></dir><file name="Observer.php" hash="64f54ebdea9d3dce00e31d1ed5093eb1"/><dir name="Payment"><dir name="Abstract"><file name="AbstractPayol.php" hash="9ef2b4ce9b4e740da52308adbb50ceb5"/></dir><file name="Abstract.php" hash="e186c4bc87490fc3b3d0b115d47d85bd"/><file name="Amazon.php" hash="908d7f65ae7a0513ff796b49f8b8a556"/><file name="Authorize.php" hash="f51637fcb5058620b359e066fa1a6dd3"/><file name="Billsafe.php" hash="abc7caf1d47a33353b4b575b237fee70"/><dir name="Cc"><file name="Abstract.php" hash="2b291ac14d9e1e3120416d6aeb4c3487"/><file name="Authn.php" hash="3d0af24fa01b3d878bfed81a87930b15"/><file name="AuthnAbstract.php" hash="bfb024a9e5ef4e4b671f98ebcb87c649"/><dir name="Authncim"><file name="Gateway.php" hash="1f8df3fe0e50f4729bebfc1d4763b015"/><file name="Method.php" hash="aa6916548a71848ad7c83e4f053bc27e"/></dir><file name="Authncim.php" hash="89f1c2a0bb59d08c895da84c14c325ff"/><file name="Chargeitpro.php" hash="6fd3a2fd42df00831d6e363a23a414f1"/><file name="Usaepay.php" hash="ba0d7102eb8e911178bf1981850a0aa2"/></dir><file name="Cc.php" hash="3b8b092334fd1c72e824f560b9e33405"/><file name="Express.php" hash="6c8a2ea8ef4cebf40fe35b840f0d41d9"/><file name="Factory.php" hash="074c15298367bee2fe0ad88034562918"/><file name="Generic.php" hash="666f06186d1bb96b94af287d221e27c5"/><dir name="Ins"><file name="Payol.php" hash="b6961c4ab1fb9a95ab2d470aeaad8d29"/></dir><file name="Interface.php" hash="46336751792ff3e05a5be242e1a99715"/><dir name="Inv"><file name="Payol.php" hash="6d1c28b2ea2fb2fd63e09712f4533c77"/></dir><file name="MobilePayment.php" hash="59554c65e778831f6add450e0f846f42"/><dir name="Payone"><file name="Abstract.php" hash="fcc75447f2a2053d720289fb27b3c476"/><file name="BankAbstract.php" hash="0fdc5847e23c2aa4a9e4fee535d1df4c"/><file name="Cc.php" hash="fa47b35c9455bba74d2ef325835ab865"/><file name="Dbt.php" hash="7f098887ba6f12669a18f62d7885de6d"/><file name="Gp.php" hash="7686149aedae93b0d5eef0b06fc08d7e"/><file name="Idl.php" hash="57d144744565ff644db917cab7ef689e"/><file name="Inv.php" hash="91d893ee5eacdc00ff8fbb3f1b750894"/><file name="Klv.php" hash="f82fb0cc874ea8f1121f282372e4e404"/><file name="Pp.php" hash="1165aa67ef8ccdc93a2eb0b7bf03f3d0"/><file name="Prp.php" hash="367e84cc2089596dba96c5a7e9ae1723"/><file name="Sue.php" hash="31280f2c8abf21f0a582b656fb0d38ad"/></dir><dir name="Pp"><file name="Abstract.php" hash="9108e63c82d14a7cef72a58c5fd2df81"/><file name="Wspp.php" hash="a03e4e06431daac65d8ae5a79eb5335b"/></dir><file name="Pp.php" hash="c521bbb32aed313c0170dd6e8361f934"/><dir name="Ppal"><file name="Plus.php" hash="a26adaab47adb3f3b84ff872673b4ed1"/></dir><file name="Router.php" hash="c2192f71044ee9fbcc5508537a032da5"/><file name="Shopgate.php" hash="f0d59e2a4369f7a22e47cf9c3bb9c44a"/><dir name="Simple"><file name="Billsafe.php" hash="d352d66d5101454f4cfec46e4fcaa88a"/><dir name="Cod"><file name="Abstract.php" hash="9b675841e3513b2bcb4e7fb5883b594b"/><file name="Msp.php" hash="5f9d4b4b9623025246a7ef9617d0020f"/><file name="Native.php" hash="ac835fa8062afb1d3c77e67bc7b87b3c"/><file name="Phoenix107.php" hash="c49a893aeeb2b53105751f92a33fefdd"/><file name="Phoenix108.php" hash="bf6b0f735be28263602a0f98220caebd"/></dir><file name="Cod.php" hash="13329a686494412b304364f0707dd024"/><file name="Invoice.php" hash="a86d8500a0dee3056e56b0ccfb1fae3d"/><dir name="Mws"><file name="Abstract.php" hash="b4a90287eafca0d87087f6dede80dd2c"/><file name="Mws.php" hash="e919cd10f5be16e404a2aac43211005b"/><file name="Mws15.php" hash="db272b23821ea5010fe0e19023b9ca81"/></dir><file name="Mws.php" hash="e19cdfee86d84d80a234138a5f86c5af"/><dir name="Paypal"><file name="Express.php" hash="e2d33dbc600503d9a7541ab53df60662"/><file name="Standard.php" hash="5281ddc90f8f560b6cffa2e97fe08304"/><file name="Standard1400.php" hash="d80d26e8189b12c9796929dfad77f6c8"/></dir><file name="Paypal.php" hash="f9d9361711099812b46ac8335efef454"/><dir name="Prepay"><file name="Abstract.php" hash="89767868690e40bc3d96f8bee4484880"/><file name="Checkmo.php" hash="781dd32522f7bc97c62313cb76429633"/><file name="Native.php" hash="48542e3e9ad2bafb504a200a6529eccc"/><file name="Phoenix.php" hash="7118e404d6f1755cdab35dbc2c8f058d"/></dir><file name="Prepay.php" hash="75a238298ab408184e109411a8cc08b0"/><file name="Shopgate.php" hash="5fb1a053ac9b69e5d38bc9f6631ee8f1"/><dir name="Sue"><file name="Abstract.php" hash="d07d6b3a5702b458ed4e5f4574e3ced9"/><file name="Sue118.php" hash="759f4a7e103f9f9f4457aa1d0694c26d"/><file name="Sue300.php" hash="c804244222e5fe67ead8916c5c1ffef1"/></dir><file name="Sue.php" hash="6802dc052e2088957329689b003a16f8"/></dir><file name="Simple.php" hash="e4f0b3cd8282c2661cb19eabdb77d075"/><file name="Usaepay.php" hash="30f17f5a6bf8d0a68b2c14cd1d013885"/><file name="Wspp.php" hash="dbcd289795c112f2f0dbabeda19fbc69"/></dir><dir name="Resource"><dir name="Core"><file name="Config.php" hash="0ee7969070ab0dddfdd3bb2cc404cd3c"/></dir><dir name="Customer"><file name="Collection.php" hash="2ddb7db1355100bc9e86f966f1d4612c"/></dir><file name="Customer.php" hash="69848842d4be07be4d66d700a7b6695b"/><file name="Product.php" hash="5c62ef4cfc3f0ebbbe5a9a46d1c25dfa"/><file name="Setup.php" hash="7b5cc0f99c857e9292638c1fbeb43969"/><dir name="Shopgate"><dir name="Connection"><file name="Collection.php" hash="f294d4239cee276b7e3c5e6e2109de66"/><dir name="Grid"><file name="Collection.php" hash="d499139d50dffbfe1b1e868b5aeeee0f"/></dir></dir><dir name="Order"><file name="Collection.php" hash="2c18a4ca248ca8719e7ead85f0c57619"/></dir><file name="Order.php" hash="1942eeb8268781c499f8cad384081b02"/></dir></dir><dir name="Sales"><dir name="Creditmemo"><dir name="Total"><file name="ShopgatePaymentFee.php" hash="614d1e96cd2c97e0fcd7db86ee3aad89"/></dir></dir><dir name="Invoice"><dir name="Total"><file name="ShopgatePaymentFee.php" hash="c4400832de32367067fd5396bcf7bfc8"/></dir></dir><dir name="Quote"><dir name="Address"><dir name="Total"><file name="ShopgatePaymentFee.php" hash="970fcd333703eb9adb30f3925bb71ff4"/></dir></dir></dir></dir><dir name="Search"><dir name="Shopgate"><file name="Order.php" hash="94dcf366528641687b89ab0c9f973ef5"/></dir></dir><dir name="Shopgate"><dir name="Cart"><dir name="Validation"><dir name="Stock"><file name="Bundle.php" hash="13180790586d19b04aa1cfcf1f88f0c8"/><file name="Simple.php" hash="b5af5f6906c75fa1148b4cbd355e595c"/></dir><file name="Stock.php" hash="03d8139aa9840d707c8e4cb991bca20f"/></dir></dir><file name="Connection.php" hash="ff0da764d444103f5892ef21e23ba353"/><file name="Order.php" hash="c477803a1bb9f8deb214d4c070cd22de"/><file name="Plugin.php" hash="96be25b970aec59bf5aaf6ca741073cc"/><dir name="Shipping"><dir name="Mapper"><file name="Carrier.php" hash="ef57904070fdf7921e51e88c3991c029"/><dir name="Method"><file name="Abstract.php" hash="bb402c49f3da66f7bd4baf5b215f989e"/><file name="Interface.php" hash="1bab00e6e0356184c3f213acfce601da"/><file name="Shopgate.php" hash="af8e1ade067d1b9fb0e5b493ad814576"/><file name="Usps.php" hash="fa7259d6751ce649e65159753c73fe60"/></dir></dir><file name="Mapper.php" hash="3ecd0aa8d8d16b6109c53ac8e636a672"/></dir></dir><dir name="System"><dir name="Config"><dir name="Source"><file name="Attribute.php" hash="8dfc3964b750aebac8db5f584559d5c3"/><dir name="Description"><file name="List.php" hash="c83f37019461ab7adc86a57400f63761"/></dir><file name="Description.php" hash="d0dcebc9d75fdb0bb80f3c3faba6397c"/><file name="Enabledisable.php" hash="7f189c26cd1c2c7f1cd6dc56379798b5"/><dir name="Item"><file name="Sort.php" hash="2dc75f9c1e8baaddbf895945acd2ff19"/></dir><dir name="Product"><file name="Image.php" hash="e9d0e7c5769446290094d2b67e5c468b"/><file name="Names.php" hash="98de8ee7ae9b3c504eb087f5e09d3afd"/><file name="Types.php" hash="007b54c2e095691380c21a5ab62846fc"/></dir><dir name="Redirect"><file name="Types.php" hash="c5d3c44ab1f5ba74224b41836b14afff"/></dir><file name="Server.php" hash="b569e24076ca68c4063729fb708b666a"/><file name="Store.php" hash="cb2998beb43ba8afeeaa5b64a5b5e946"/><dir name="Validation"><file name="Config.php" hash="64efaea0bcd38872b44e8fa5eb6ffa0d"/></dir><dir name="Variation"><dir name="Export"><file name="Type.php" hash="bb19358c2c2fbee3cb9776f3540faa20"/></dir></dir><dir name="Weight"><file name="Units.php" hash="10af44d670bcfdb559f4196c7006e893"/></dir></dir></dir></dir></dir><dir name="Test"><dir name="Controller"><dir name="FrameworkController"><dir name="fixtures"><file name="testPluginNotActive.yaml" hash="9e25f93814834419e9c83995021860c2"/></dir></dir><file name="FrameworkController.php" hash="f2332ffd91ff17cb73382210ba3301d7"/></dir><dir name="Helper"><dir name="Billsafe"><file name="ClientTest.php" hash="2e3427398bf45801753b32be01b07b26"/></dir><dir name="Data"><dir name="providers"><file name="testCalculateTaxRate.yaml" hash="2b1fb398f41a0d7706ab9701d77ce978"/></dir></dir><file name="Data.php" hash="e6892cda8a5c0a034657707ae6951317"/><dir name="Payment"><dir name="Wspp"><dir name="providers"><file name="testGetActionByStatus.yaml" hash="7c2d30f7e376da449185e19f3b2a642a"/><file name="testGetPaypalStatus.yaml" hash="8381a01d6d22190b4d1e5c14db984a5d"/></dir></dir><file name="Wspp.php" hash="8bda17bc29a6f006e51ec54063c7b42c"/></dir></dir><dir name="Model"><dir name="Modules"><dir name="Affiliate"><file name="RouterTest.php" hash="e84df3fe416472465a98742030f93662"/></dir></dir><file name="ObserverTest.php" hash="bd6dea886fed4a44f5a3f581621a833a"/><dir name="Payment"><dir name="Abstract"><dir name="fixtures"><file name="testIsDisabled.yaml" hash="53ed5e65872f20c2328430e0e395e70f"/><file name="testIsEnabled.yaml" hash="53ed5e65872f20c2328430e0e395e70f"/></dir></dir><file name="Abstract.php" hash="7dc37f4b6c2a911a726a0395ae5e49eb"/><dir name="Cc"><dir name="Abstract"><dir name="providers"><file name="testGetCcTypeName.yaml" hash="eaf5dc89060f82581dea1a116c58e5dc"/></dir></dir><file name="Abstract.php" hash="ccf09de30cde5ee26757794e2a509896"/><file name="Authn.php" hash="77306ad6afc450df8a45a1d6a177ff32"/><file name="AuthnAbstract.php" hash="11784c806b9ca43772af538a13dea371"/></dir><file name="Cc.php" hash="8da9d7be59ca374d8d69e587d6c47464"/><dir name="Pp"><file name="AbstractTest.php" hash="1369367e5198c8178a475eccd193da35"/></dir><dir name="Router"><file name="Exception.php" hash="f7619c0f81e3aec39171687b3fd44185"/><dir name="providers"><file name="testGetModelCombinations.yaml" hash="e74482392a5c0a767903c73628dbfc21"/><file name="testMethodPart.yaml" hash="f9e17d95fba5fed400d4bbfce722212d"/></dir></dir><file name="Router.php" hash="42c755b3d736deb853548db48e2cbe3f"/><file name="RouterAbstract.php" hash="8f3207a8c6db231f72c81d891919cdbd"/><dir name="Simple"><file name="Billsafe.php" hash="82672c2300658c22c6fe0165245b5590"/><dir name="Cod"><file name="Msp.php" hash="d87f920cb0db4267f7246ea5542c2867"/><file name="Native.php" hash="9699b7aa21466cb2014f27d924ac7717"/><file name="Phoenix107.php" hash="c482e1e2a78fc9c5d277d22c3e4271c2"/><file name="Phoenix108.php" hash="f0f6847ea8279388cb12915f7aeb6597"/><dir name="fixtures"><file name="testGetCodMspMethod.yaml" hash="877ac87663c27392723481e813adac94"/><file name="testGetCodNativeMethod.yaml" hash="78dec590236fda34a7baa1681f1f799b"/><file name="testGetCodPhoenixMethod.yaml" hash="d47bddf587fad20d43acec341eb97c55"/><file name="testGetNoCodMethod.yaml" hash="f598847006617b5ed14f83d677739951"/></dir></dir><file name="Cod.php" hash="03391eaa3b2233c8d51a020e09dacde4"/><file name="Invoice.php" hash="08161a51fab47b14b652da12819337bf"/><dir name="Mws"><file name="Mws.php" hash="ec0f5f5b20656367416e505213439819"/><file name="Mws15.php" hash="06b3ada52a543d31bbf877032450368e"/></dir><file name="Mws.php" hash="9645cc9098c989424644de6b2f8bcfbd"/><dir name="Paypal"><file name="Express.php" hash="23da162636ff6ccca1e703b1967c14cf"/><dir name="fixtures"><file name="testGetPpExpressMethod.yaml" hash="304d7be2dcefedfe925695b85ead1ef7"/><file name="testGetPpStandardMethod.yaml" hash="79830109fcd1f32140f97cfd0caf4ab3"/></dir></dir><file name="Paypal.php" hash="cce4b99dcf9ee10621af4c6b24538a8e"/><dir name="Prepay"><file name="Checkmo.php" hash="b4bf41747b9e20c76d22f39fdafe6318"/><file name="Native.php" hash="dd31b6d04518750a1d03a7f9b85510f0"/><file name="Phoenix.php" hash="c8c7a408d8bf13917083826eed369f12"/><dir name="fixtures"><file name="testGetAllPrepayEnabled.yaml" hash="f4fd365d15f4a72a27056abc86254d32"/><file name="testGetPrepayNativeMethod.yaml" hash="10fc3dd5a6ea63187eb11c0f8dfcdce4"/><file name="testGetPrepayPhoenixMethod.yaml" hash="e8e4ab7d7e995aea4e701e2aac72c9c0"/></dir></dir><file name="Prepay.php" hash="410b8d87c6c3c2d726cc3a4dd59e85fb"/><file name="Shopgate.php" hash="744c9424ad4db0917e437140662c6298"/><dir name="Sue"><file name="Sue118.php" hash="25daa525b66855a9c617d68f58818e1f"/><file name="Sue300.php" hash="38e4539f1adb242b67920f43d93a15fc"/></dir><file name="Sue.php" hash="c6b29f00dbf3e4177b1bc7da20c0af5c"/></dir><file name="Simple.php" hash="8f3d015f1f8e32ddef4ae60c681d6280"/></dir><file name="Utility.php" hash="f7b78aefc882670c716cbcf5cac4dc99"/></dir></dir><file name="changelog.txt" hash="443f5b281a48700376317f1c171f579c"/><dir name="controllers"><dir name="Adminhtml"><file name="ShopgateController.php" hash="b1bb6a24af72d5d151a6773be640c9e9"/></dir><file name="FrameworkController.php" hash="2152205bd372d999a56eb378ed810a8d"/></dir><dir name="etc"><file name="adminhtml.xml" hash="ed53de480c8a0642b7ae75c59f1ff8df"/><file name="config.xml" hash="720b285db99fa33072ee1798c34e9d67"/><file name="system.xml" hash="c7f55765dac95c436147785275f4b362"/></dir><file name="licence.txt" hash="dec6ca25c420b36a2e400caf1541c923"/><dir name="sql"><dir name="shopgate_setup"><file name="mysql4-install-0.1.0.php" hash="069abba038757da43b2ca6c5a0c82aba"/><file name="mysql4-install-2.1.45.php" hash="eddddf157e55a87edc77361dde564463"/><file name="mysql4-install-2.2.0.php" hash="eddddf157e55a87edc77361dde564463"/><file name="mysql4-upgrade-0.1.0-0.1.1.php" hash="cc637fc1bc511e745f02a56d0b36e3be"/><file name="mysql4-upgrade-1.0.5-1.0.7.php" hash="1e800d9d235b817bf5be698288bc0129"/><file name="mysql4-upgrade-2.1.44-2.1.45.php" hash="134d0b665746c61d364f6fd93d83f46c"/><file name="mysql4-upgrade-2.1.49-2.1.50.php" hash="e0fd395bb9c25c0e544c455186cfe7c9"/><file name="mysql4-upgrade-2.4.28-2.4.29.php" hash="9c8c868ce90e42b56182b23b78d6fbe7"/><file name="mysql4-upgrade-2.4.29-2.4.30.php" hash="ca3ee1e2f337bcea26264a17f603548e"/><file name="mysql4-upgrade-2.7.5-2.8.0.php" hash="34393a58a0b4ec90b4e618d3ff4cc565"/><file name="mysql4-upgrade-2.9.15-2.9.16.php" hash="980e7cc83f912ef4f630ef8d1cb964d1"/><file name="mysql4-upgrade-2.9.36-2.9.37.php" hash="07dafdabd4764c9685f1317ebbbe842f"/><file name="mysql4-upgrade-2.9.4-2.9.5.php" hash="dc6770e94c31d2f79915528c0993d546"/></dir></dir></dir></dir></target><target name="magelocale"><dir name="de_DE"><file name="Shopgate_Framework.csv" hash="eb25c8acdee6d7a4d6b51c354774e0ce"/></dir><dir name="de_CH"><file name="Shopgate_Framework.csv" hash="eb25c8acdee6d7a4d6b51c354774e0ce"/></dir><dir name="de_AT"><file name="Shopgate_Framework.csv" hash="2fb25887b4b9c89b2a241759ddc1590b"/></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="shopgate"><file name="logo.png" hash="b7139047ecc90b15a5710ab0fe77fc81"/><file name="logo_big.png" hash="b98bfcf09766589506a1cca24ca47972"/><file name="logo_small.png" hash="7abf7f774c592eb582c2856e027af798"/><file name="oauth_connect.js" hash="8e5c77d9ad1354f826445f03c91008f4"/><file name="shopgate_admin.css" hash="0fbc07171267b9fb5dba7004a0858f66"/><file name="target.js" hash="80484a4dae515f708c97545d9959673a"/></dir></dir></dir></dir></target><target name="magelib"><dir name="Shopgate"><dir name="assets"><file name="index.php" hash="bfc5021f1ee9b67f78a0fc9fdab6c558"/><file name="js_header.html" hash="7ff2c12f8b7c23542f3ff49b451720a8"/><file name="link_tag.html" hash="f7c53599b55d442fd49f970bd41eb2a4"/><file name="mobile_header.html" hash="17616650e160eaccd24e25729396c5a9"/></dir><file name="changelog.txt" hash="2158a626d0ea2b75f227a3e85c64f258"/><dir name="classes"><file name="apis.php" hash="a5f9c6c69055ee0a836267d7077b8725"/><file name="configuration.php" hash="264d43767346d16fd8c1fcfdcbec0ca2"/><file name="core.php" hash="754c598a012e63a23eccd600cc4618a6"/><file name="customers.php" hash="24c9dbbcafe379c224fcce4b02d58ad2"/><file name="external_orders.php" hash="7239071113b5decc70ec9672bf6fc3fe"/><dir name="helper"><file name="DataStructure.php" hash="ece9e9f855756777f543d090f5ecc710"/><file name="Pricing.php" hash="fd4c74999abc3bfa05fd74994a2ce78f"/><file name="String.php" hash="10c9396b2975bf0bde86f171932c3074"/><file name="index.php" hash="bfc5021f1ee9b67f78a0fc9fdab6c558"/><dir name="redirect"><file name="KeywordsManager.php" hash="3e8233fa248cb795642b4306b3ebdd13"/><file name="KeywordsManagerInterface.php" hash="32cda83161084b4f5904eeb5f50a6547"/><file name="LinkBuilder.php" hash="52d193384a8ffed61fd83c5e1befd63c"/><file name="LinkBuilderInterface.php" hash="a755af7b57fda9b9ff1564a0059529d1"/><file name="MobileRedirect.php" hash="1f58517a45d5d8814514001b1e690312"/><file name="MobileRedirectInterface.php" hash="80b8da18c8bf498461c2b8e183bce326"/><file name="Redirector.php" hash="9513af3a164a0048c1a35f0d9205bffc"/><file name="RedirectorInterface.php" hash="9a11e4e85b6005029458a035e4295935"/><file name="SettingsManager.php" hash="d1b1722715688da2a095fba8c607f45c"/><file name="SettingsManagerInterface.php" hash="ae16aa5ea4df7f0def80711f8cc14f70"/><file name="TagsGenerator.php" hash="de6e73da61a282d24226065671d67d6b"/><file name="TagsGeneratorInterface.php" hash="1a5c500631331a4ae970d2a442e5d7e2"/><file name="TemplateParser.php" hash="1e087c9ba5720c9065702d9ebfc5723a"/><file name="TemplateParserInterface.php" hash="d6897cd9e5622d1991bb7aab678e37f8"/></dir></dir><file name="index.php" hash="bfc5021f1ee9b67f78a0fc9fdab6c558"/><file name="items.php" hash="107f9bc5fcc0c0dbfe568a3b8235107c"/><dir name="models"><file name="Abstract.php" hash="a32633283eb403a55a166bbad70b3e2f"/><file name="AbstractExport.php" hash="f265f9e906208e1799994d117582be20"/><file name="XmlEmptyObject.php" hash="d6cfdae3bdd858d4f10fcebdb542f533"/><file name="XmlResultObject.php" hash="340804eb0f2ba6bcb6b05311b8bb1f11"/><dir name="catalog"><file name="Attribute.php" hash="28d8f3bc6c416661d1eaa77726ba7009"/><file name="AttributeGroup.php" hash="0270086ec8006ee8231c6b0baa8d6034"/><file name="Category.php" hash="beba58d2796cf7b4ca08ce68de65415b"/><file name="CategoryPath.php" hash="475869aef74c567c8569ee9953210faa"/><file name="Identifier.php" hash="d9a3b16d1fcdec641ca2b0fd77fbd625"/><file name="Input.php" hash="77df45fd89aec19565a5fae7178205bb"/><file name="Manufacturer.php" hash="e45f534f5f6acad118be24ffc63a0460"/><file name="Option.php" hash="fd95fe72bff985ae0b2861da115e2468"/><file name="Price.php" hash="3cb25372ae58bd0c71b342f9ef2dca73"/><file name="Product.php" hash="7e7c49e10b379eae5d0141efe2c91305"/><file name="Property.php" hash="5967f0403a606a27ea4fec71a8402327"/><file name="Relation.php" hash="263cde539af500af911baec4e354079e"/><file name="Review.php" hash="72c94cb1f2a54bafffdb5672d87ecd4d"/><file name="Shipping.php" hash="1fe425496bd9720dc18bd076e56aca9e"/><file name="Stock.php" hash="4e645877e778ec8d02ae98262bfa9663"/><file name="Tag.php" hash="39e7b845ab157d2f707707576e868d64"/><file name="TierPrice.php" hash="9dd757c9c3d193944a5727fbe5cf4704"/><file name="Validation.php" hash="0be71640c1df60ab809347194ec66457"/><file name="Visibility.php" hash="d60c6b8ec486da4afdc46a00d65ad172"/><file name="index.php" hash="bfc5021f1ee9b67f78a0fc9fdab6c558"/></dir><file name="index.php" hash="bfc5021f1ee9b67f78a0fc9fdab6c558"/><dir name="media"><file name="Attachment.php" hash="c074ef3426c2506350cbf5ff0133c89d"/><file name="Image.php" hash="c9319f2a82811239313e328eaf7e2094"/><file name="index.php" hash="bfc5021f1ee9b67f78a0fc9fdab6c558"/></dir><dir name="redirect"><file name="DeeplinkSuffix.php" hash="e6aebbb49db1b3b1d0bbb3a5f8e52927"/><file name="DeeplinkSuffixValue.php" hash="809684ff8f7d588d39060f5469e2c3b0"/><file name="DeeplinkSuffixValueDisabled.php" hash="83ff30aeeaf40c070f71b29b7f2bbbd8"/><file name="DeeplinkSuffixValueUnset.php" hash="1275996c7d012acfa3fbd6cbe43b08b3"/><file name="HtmlTag.php" hash="e5494a280dd090e3869445431e6c8c2a"/><file name="HtmlTagAttribute.php" hash="368c63b7c3043f7ae0bee107527152de"/><file name="HtmlTagVariable.php" hash="1484f93ec0e69b3f94313e4cac849e0f"/></dir></dir><file name="orders.php" hash="db9fb6643aafe97c93447e4fcc950b6b"/><file name="redirect.php" hash="75ba604b4a9885e861a96683e566ac5c"/></dir><dir name="config"><file name="index.php" hash="bfc5021f1ee9b67f78a0fc9fdab6c558"/></dir><file name="index.php" hash="de19abc78063ea9a4112964c79946f1c"/><file name="shopgate.php" hash="248033be19931f7eccdc40d12e59d1bf"/><file name="shopgate_license.txt" hash="21fbb2f00b832416916b27c5e3f5d6d1"/><dir name="temp"><dir name="cache"><file name="index.php" hash="7573387748996e2dd9e02a237056f158"/></dir><file name="index.php" hash="7573387748996e2dd9e02a237056f158"/><dir name="logs"><file name="index.php" hash="7573387748996e2dd9e02a237056f158"/></dir></dir><dir name="tests"><dir name="classes"><dir name="helper"><dir name="redirect"><file name="KeywordsManagerTest.php" hash="185c285d78e7c4e25ede957918018fe6"/><file name="TemplateParserTest.php" hash="aa7aea33f78f0fda58437c83421d2f31"/></dir></dir></dir></dir><dir name="vendors"><file name="2d_is.php" hash="087decaca87ee85d548d8caaa43f1212"/><file name="BSD_license.txt" hash="2df4dd93533ca2c19f6f2d601bc3e0d5"/><file name="JSON.php" hash="cbb23366cd8c20319292458a87dc2870"/><file name="index.php" hash="bfc5021f1ee9b67f78a0fc9fdab6c558"/></dir><file name=".htaccess" hash="34479bc8d9df775c38a980ecaf6f3f4b"/></dir></target><target name="mage"><dir name="app"><dir name="design"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="shopgate.xml" hash="608ba89093ef89e1c182cd6085dbf3b1"/></dir><dir name="template"><dir name="shopgate"><file name="mobile_website.phtml" hash="229cbefd12ea77676f8af9c7159528ea"/><dir name="payment"><file name="mobile_payment.phtml" hash="1e18979028fb13e99af7c595c75a5d27"/><file name="shopgate.phtml" hash="1e18979028fb13e99af7c595c75a5d27"/></dir></dir></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="shopgate.xml" hash="b7050c6ea4568887cbbc0fc7d8346f97"/></dir><dir name="template"><dir name="shopgate"><dir name="oauth"><dir name="config"><file name="connector.phtml" hash="478c309bdde7834bf20a48b65a4699fb"/></dir><dir name="connect"><file name="info.phtml" hash="4f75dc4311616081873a7d416b96c1c2"/><file name="overlay.phtml" hash="2a17d5b6ff8023568437b194f8a9d482"/></dir><file name="connect.phtml" hash="6956aa22eedf549c4565304b4e4a4ab9"/><file name="data.phtml" hash="09b4c5d83863f104db7a018510cdb315"/><file name="disconnect.phtml" hash="2858cebe9004c9fb5764f79faee46f87"/><file name="manage.phtml" hash="1f99255efbce4dbdc1ee781820d455b8"/></dir><dir name="payment"><file name="mobile_payment.phtml" hash="75ead900487da35bb0c3c837dea608fa"/><file name="notice.phtml" hash="750562568091454029dc6b4db1221b5e"/><file name="shopgate.phtml" hash="441cb5df625ee88099feb137cff9fc85"/></dir></dir></dir></dir></dir></dir></dir></dir></target></contents>
16
  <compatible/>
17
  <dependencies><required><php><min>5.3.0</min><max>6.0.0</max></php></required></dependencies>
18
  </package>