shopgate_module - Version 2.9.25

Version Notes

Shopgate Modul

Download this release

Release Info

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


Code changes from version 2.9.24 to 2.9.25

app/code/community/Shopgate/Framework/Helper/Config.php CHANGED
@@ -80,8 +80,9 @@ class Shopgate_Framework_Helper_Config extends Mage_Core_Helper_Abstract
80
  */
81
  public function __construct()
82
  {
83
- $this->_magentoVersion1700 = ($this->getEdition() == 'Enterprise') ? '1.12.0.0' : '1.7.0.0';
84
  $this->_magentoVersion1701 = ($this->getEdition() == 'Enterprise') ? '1.12.0.2' : '1.7.0.1';
 
85
  $this->_magentoVersion15 = ($this->getEdition() == 'Enterprise') ? '1.9.1.0' : '1.5';
86
  $this->_magentoVersion1410 = ($this->getEdition() == 'Enterprise') ? '1.9.0.0' : '1.4.1.0';
87
  }
@@ -201,19 +202,19 @@ class Shopgate_Framework_Helper_Config extends Mage_Core_Helper_Abstract
201
  $table_config_data = $resource->getTableName('core/config_data');
202
  $collection = Mage::getModel('core/config_data')->getCollection()
203
  ->addFieldToFilter(
204
- '`main_table`.`path`',
205
  Shopgate_Framework_Model_Config::XML_PATH_SHOPGATE_SHOP_NUMBER
206
  )
207
- ->addFieldToFilter('`main_table`.`scope`', 'websites')
208
- ->addFieldToFilter('`main_table`.`value`', array('nin' => array('', null)))
209
  ->addFieldToFilter(
210
- '`dsv`.`path`',
211
  Shopgate_Framework_Model_Config::XML_PATH_SHOPGATE_SHOP_DEFAULT_STORE
212
  )
213
  ->getSelect()
214
  ->joinInner(
215
  array('dsv' => $table_config_data),
216
- '`dsv`.`scope` = `main_table`.`scope` AND `dsv`.`scope_id` = `main_table`.`scope_id`',
217
  array('default_store_view' => 'value')
218
  )->query()
219
  ->fetchAll();
80
  */
81
  public function __construct()
82
  {
83
+ $this->_magentoVersion1922 = ($this->getEdition() == 'Enterprise') ? '1.14.2.2' : '1.9.2.2';
84
  $this->_magentoVersion1701 = ($this->getEdition() == 'Enterprise') ? '1.12.0.2' : '1.7.0.1';
85
+ $this->_magentoVersion1700 = ($this->getEdition() == 'Enterprise') ? '1.12.0.0' : '1.7.0.0';
86
  $this->_magentoVersion15 = ($this->getEdition() == 'Enterprise') ? '1.9.1.0' : '1.5';
87
  $this->_magentoVersion1410 = ($this->getEdition() == 'Enterprise') ? '1.9.0.0' : '1.4.1.0';
88
  }
202
  $table_config_data = $resource->getTableName('core/config_data');
203
  $collection = Mage::getModel('core/config_data')->getCollection()
204
  ->addFieldToFilter(
205
+ 'main_table.path',
206
  Shopgate_Framework_Model_Config::XML_PATH_SHOPGATE_SHOP_NUMBER
207
  )
208
+ ->addFieldToFilter('main_table.scope', 'websites')
209
+ ->addFieldToFilter('main_table.value', array('nin' => array('', null)))
210
  ->addFieldToFilter(
211
+ 'dsv.path',
212
  Shopgate_Framework_Model_Config::XML_PATH_SHOPGATE_SHOP_DEFAULT_STORE
213
  )
214
  ->getSelect()
215
  ->joinInner(
216
  array('dsv' => $table_config_data),
217
+ 'dsv.scope = main_table.scope AND dsv.scope_id = main_table.scope_id',
218
  array('default_store_view' => 'value')
219
  )->query()
220
  ->fetchAll();
app/code/community/Shopgate/Framework/Helper/Data.php CHANGED
@@ -981,4 +981,19 @@ class Shopgate_Framework_Helper_Data extends Mage_Core_Helper_Abstract
981
  }
982
 
983
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
984
  }
981
  }
982
 
983
  }
984
+
985
+ /**
986
+ * Checks if totals from shopgate and magento differ by 1 cent
987
+ *
988
+ * @param ShopgateOrder $shopgateOrder
989
+ * @param Mage_Sales_Model_Order $magentoOrder
990
+ * @return bool
991
+ */
992
+ public function oneCentBugDetected($shopgateOrder, $magentoOrder)
993
+ {
994
+ $config = $this->getConfig();
995
+ $bugDetected = round(abs($shopgateOrder->getAmountComplete() - $magentoOrder->getQuoteBaseGrandTotal()), 2) == 0.01;
996
+ $shouldFixBug = $config->getFixOneCentBug();
997
+ return $bugDetected && $shouldFixBug;
998
+ }
999
  }
app/code/community/Shopgate/Framework/Helper/Export.php CHANGED
@@ -442,7 +442,10 @@ class Shopgate_Framework_Helper_Export extends Mage_Core_Helper_Abstract
442
  $attributeCode = trim($attributeCode);
443
 
444
  if (!empty($attributeCode)) {
445
- $description1 = $product->getData($attributeCode);
 
 
 
446
  if (in_array("2", $convertDescription)) {
447
  $description1 = nl2br($description1);
448
  }
@@ -451,6 +454,7 @@ class Shopgate_Framework_Helper_Export extends Mage_Core_Helper_Abstract
451
  }
452
  $description .= $description1;
453
  }
 
454
  $counter++;
455
  }
456
  }
442
  $attributeCode = trim($attributeCode);
443
 
444
  if (!empty($attributeCode)) {
445
+ /** @var Mage_Catalog_Model_Resource_Eav_Attribute $attribute */
446
+ $attribute = $product->getResource()->getAttribute($attributeCode);
447
+ $values = explode(',', $attribute->getFrontend()->getValue($product));
448
+ $description1 = implode('<br />', $values);
449
  if (in_array("2", $convertDescription)) {
450
  $description1 = nl2br($description1);
451
  }
454
  }
455
  $description .= $description1;
456
  }
457
+
458
  $counter++;
459
  }
460
  }
app/code/community/Shopgate/Framework/Model/Config.php CHANGED
@@ -96,10 +96,12 @@ class Shopgate_Framework_Model_Config extends ShopgateConfig
96
  const XML_PATH_SHOPGATE_ORDER_SEND_NEW_ORDER_MAIL = "shopgate/orders/send_new_order_mail";
97
  const XML_PATH_SHOPGATE_ORDER_CUSTOMFIELDS_TO_STATUSHISTORY = "shopgate/orders/write_customfields_into_statushistory";
98
  const XML_PATH_SHOPGATE_ORDER_ADD_ONLY_SIMPLE = "shopgate/orders/add_only_simple";
 
99
  const XML_PATH_SHOPGATE_REDIRECT_TYPE = "shopgate/mobile/redirect_type";
100
  const XML_PATH_SHOPGATE_SERVER = "shopgate/debug/server";
101
  const XML_PATH_SHOPGATE_SHOP_NUMBER = "shopgate/option/shop_number";
102
  const XML_PATH_SHOPGATE_SHOP_ACTIVE = "shopgate/hidden/shop_is_active";
 
103
  const XML_PATH_SHOPGATE_SHOP_DEFAULT_STORE = "shopgate/option/default_store";
104
  const XML_PATH_SHOPGATE_UPC_ATTR_CODE = "shopgate/export/upc_attr_code";
105
  const XML_PATH_SHOPGATE_WEIGHT_UNIT = "shopgate/export/weight_unit";
@@ -118,6 +120,29 @@ class Shopgate_Framework_Model_Config extends ShopgateConfig
118
  */
119
  protected $_storeViewId;
120
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
121
  /**
122
  * Sets the given fields with the given values in ShopgateConfig Model
123
  *
@@ -295,6 +320,8 @@ class Shopgate_Framework_Model_Config extends ShopgateConfig
295
  "available_text_attribute_code"
296
  => self::XML_PATH_SHOPGATE_EXPORT_AVAILABLE_TEXT_ATTRIBUTE_CODE,
297
  "add_only_simple" => self::XML_PATH_SHOPGATE_ORDER_ADD_ONLY_SIMPLE,
 
 
298
  "upc_attr_code" => self::XML_PATH_SHOPGATE_UPC_ATTR_CODE
299
  );
300
  }
@@ -312,6 +339,7 @@ class Shopgate_Framework_Model_Config extends ShopgateConfig
312
  "always_use_ssl" => self::XML_PATH_SHOPGATE_ALWAYS_USE_SSL,
313
  "mobile_header_parent" => self::XML_PATH_SHOPGATE_MOBILE_HEADER_PARENT,
314
  "mobile_header_prepend" => self::XML_PATH_SHOPGATE_MOBILE_HEADER_PREPEND,
 
315
  );
316
  }
317
 
@@ -1010,4 +1038,17 @@ class Shopgate_Framework_Model_Config extends ShopgateConfig
1010
  $this->getStoreViewId()
1011
  );
1012
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
1013
  }
96
  const XML_PATH_SHOPGATE_ORDER_SEND_NEW_ORDER_MAIL = "shopgate/orders/send_new_order_mail";
97
  const XML_PATH_SHOPGATE_ORDER_CUSTOMFIELDS_TO_STATUSHISTORY = "shopgate/orders/write_customfields_into_statushistory";
98
  const XML_PATH_SHOPGATE_ORDER_ADD_ONLY_SIMPLE = "shopgate/orders/add_only_simple";
99
+ const XML_PATH_SHOPGATE_ORDER_USE_SHOPGATE_PRICES = "shopgate/orders/use_shopgate_prices";
100
  const XML_PATH_SHOPGATE_REDIRECT_TYPE = "shopgate/mobile/redirect_type";
101
  const XML_PATH_SHOPGATE_SERVER = "shopgate/debug/server";
102
  const XML_PATH_SHOPGATE_SHOP_NUMBER = "shopgate/option/shop_number";
103
  const XML_PATH_SHOPGATE_SHOP_ACTIVE = "shopgate/hidden/shop_is_active";
104
+ const XML_PATH_SHOPGATE_FIX_ONE_CENT_BUG = "shopgate/hidden/fix_one_cent_bug";
105
  const XML_PATH_SHOPGATE_SHOP_DEFAULT_STORE = "shopgate/option/default_store";
106
  const XML_PATH_SHOPGATE_UPC_ATTR_CODE = "shopgate/export/upc_attr_code";
107
  const XML_PATH_SHOPGATE_WEIGHT_UNIT = "shopgate/export/weight_unit";
120
  */
121
  protected $_storeViewId;
122
 
123
+ /**
124
+ * Fix one cent bug
125
+ *
126
+ * @var integer|bool
127
+ */
128
+ protected $fix_one_cent_bug;
129
+
130
+ /**
131
+ * @param $value
132
+ */
133
+ public function setFixOneCentBug($value)
134
+ {
135
+ $this->fix_one_cent_bug = $value;
136
+ }
137
+
138
+ /**
139
+ * @return bool|int
140
+ */
141
+ public function getFixOneCentBug()
142
+ {
143
+ return $this->fix_one_cent_bug;
144
+ }
145
+
146
  /**
147
  * Sets the given fields with the given values in ShopgateConfig Model
148
  *
320
  "available_text_attribute_code"
321
  => self::XML_PATH_SHOPGATE_EXPORT_AVAILABLE_TEXT_ATTRIBUTE_CODE,
322
  "add_only_simple" => self::XML_PATH_SHOPGATE_ORDER_ADD_ONLY_SIMPLE,
323
+ "fix_one_cent_bug" => self::XML_PATH_SHOPGATE_FIX_ONE_CENT_BUG,
324
+ "use_shopgate_prices" => self::XML_PATH_SHOPGATE_ORDER_USE_SHOPGATE_PRICES,
325
  "upc_attr_code" => self::XML_PATH_SHOPGATE_UPC_ATTR_CODE
326
  );
327
  }
339
  "always_use_ssl" => self::XML_PATH_SHOPGATE_ALWAYS_USE_SSL,
340
  "mobile_header_parent" => self::XML_PATH_SHOPGATE_MOBILE_HEADER_PARENT,
341
  "mobile_header_prepend" => self::XML_PATH_SHOPGATE_MOBILE_HEADER_PREPEND,
342
+ "fix_one_cent_bug" => self::XML_PATH_SHOPGATE_FIX_ONE_CENT_BUG
343
  );
344
  }
345
 
1038
  $this->getStoreViewId()
1039
  );
1040
  }
1041
+
1042
+ /**
1043
+ * Returns if prices from shopgate should be used to overwrite the magento ones
1044
+ *
1045
+ * @return mixed
1046
+ */
1047
+ public function useShopgatePrices()
1048
+ {
1049
+ return Mage::getStoreConfigFlag(
1050
+ Shopgate_Framework_Model_Config::XML_PATH_SHOPGATE_ORDER_USE_SHOPGATE_PRICES,
1051
+ $this->getStoreViewId()
1052
+ );
1053
+ }
1054
  }
app/code/community/Shopgate/Framework/Model/Export/Product/Xml.php CHANGED
@@ -238,7 +238,10 @@ class Shopgate_Framework_Model_Export_Product_Xml
238
  parent::setTaxPercent(max($taxRates));
239
  } else {
240
  if(!($this->item->getTaxClassId() == Shopgate_Framework_Model_Export_Product_Xml::DEFAULT_TAX_CLASS_ID_NONE && $this->_parent)) {
241
- parent::setTaxPercent($this->_getTaxRate($this->item));
 
 
 
242
  }
243
  }
244
  }
@@ -267,7 +270,10 @@ class Shopgate_Framework_Model_Export_Product_Xml
267
  parent::setTaxClass(array_search(max($taxRates), $taxRates));
268
  } else {
269
  if(!($this->item->getTaxClassId() == Shopgate_Framework_Model_Export_Product_Xml::DEFAULT_TAX_CLASS_ID_NONE && $this->_parent)) {
270
- parent::setTaxClass($this->item->getTaxClassId());
 
 
 
271
  }
272
  }
273
  }
@@ -773,7 +779,7 @@ class Shopgate_Framework_Model_Export_Product_Xml
773
  {
774
  $imageUrls = array();
775
  foreach ($images as $_imageObject) {
776
- if (!array_key_exists($imageUrls, $_imageObject['url'])) {
777
  $imageUrls[$_imageObject['url']] = $_imageObject;
778
  }
779
  }
238
  parent::setTaxPercent(max($taxRates));
239
  } else {
240
  if(!($this->item->getTaxClassId() == Shopgate_Framework_Model_Export_Product_Xml::DEFAULT_TAX_CLASS_ID_NONE && $this->_parent)) {
241
+ $taxPercent = $this->_getTaxRate($this->item);
242
+ if(!empty($taxPercent)) {
243
+ parent::setTaxPercent($this->_getTaxRate($this->item));
244
+ }
245
  }
246
  }
247
  }
270
  parent::setTaxClass(array_search(max($taxRates), $taxRates));
271
  } else {
272
  if(!($this->item->getTaxClassId() == Shopgate_Framework_Model_Export_Product_Xml::DEFAULT_TAX_CLASS_ID_NONE && $this->_parent)) {
273
+ $taxClassId = $this->item->getTaxClassId();
274
+ if(!empty($taxClassId)) {
275
+ parent::setTaxClass($taxClassId);
276
+ }
277
  }
278
  }
279
  }
779
  {
780
  $imageUrls = array();
781
  foreach ($images as $_imageObject) {
782
+ if (!array_key_exists($_imageObject['url'], $imageUrls)) {
783
  $imageUrls[$_imageObject['url']] = $_imageObject;
784
  }
785
  }
app/code/community/Shopgate/Framework/Model/Payment/Abstract.php CHANGED
@@ -102,11 +102,13 @@ class Shopgate_Framework_Model_Payment_Abstract extends Mage_Core_Model_Abstract
102
 
103
  /**
104
  * @param $shopgateOrder ShopgateOrder
 
105
  * @return $this
106
  */
107
  public function setShopgateOrder(ShopgateOrder $shopgateOrder)
108
  {
109
  $this->_shopgate_order = $shopgateOrder;
 
110
  return $this;
111
  }
112
 
@@ -120,11 +122,13 @@ class Shopgate_Framework_Model_Payment_Abstract extends Mage_Core_Model_Abstract
120
 
121
  /**
122
  * @param $paymentMethod string
 
123
  * @return $this
124
  */
125
  public function setPaymentMethod($paymentMethod)
126
  {
127
  $this->_payment_method = $paymentMethod;
 
128
  return $this;
129
  }
130
 
@@ -136,6 +140,7 @@ class Shopgate_Framework_Model_Payment_Abstract extends Mage_Core_Model_Abstract
136
  if (!$this->_payment_method) {
137
  $this->_payment_method = $this->getShopgateOrder()->getPaymentMethod();
138
  }
 
139
  return $this->_payment_method;
140
  }
141
 
@@ -153,6 +158,7 @@ class Shopgate_Framework_Model_Payment_Abstract extends Mage_Core_Model_Abstract
153
  * Helps initialize magento order
154
  *
155
  * @param Mage_Sales_Model_Order $order
 
156
  * @return Mage_Sales_Model_Order
157
  */
158
  public function setOrder(Mage_Sales_Model_Order $order)
@@ -168,6 +174,7 @@ class Shopgate_Framework_Model_Payment_Abstract extends Mage_Core_Model_Abstract
168
  protected function _getVersion()
169
  {
170
  $constant = $this->getConstant('MODULE_CONFIG');
 
171
  return Mage::getConfig()->getModuleConfig($constant)->version;
172
  }
173
 
@@ -229,6 +236,7 @@ class Shopgate_Framework_Model_Payment_Abstract extends Mage_Core_Model_Abstract
229
  );
230
  ShopgateLogger::getInstance()->log($debug, ShopgateLogger::LOGTYPE_DEBUG);
231
  }
 
232
  return $enabled;
233
  }
234
 
@@ -274,6 +282,7 @@ class Shopgate_Framework_Model_Payment_Abstract extends Mage_Core_Model_Abstract
274
  * Default order creation if no payment matches
275
  *
276
  * @param Mage_Sales_Model_Quote $quote
 
277
  * @return Mage_Sales_Model_Order
278
  * @throws Exception
279
  */
@@ -282,6 +291,7 @@ class Shopgate_Framework_Model_Payment_Abstract extends Mage_Core_Model_Abstract
282
  $service = Mage::getModel('sales/service_quote', $quote);
283
  if (!Mage::helper("shopgate/config")->getIsMagentoVersionLower15()) {
284
  $service->submitAll();
 
285
  return $this->setOrder($service->getOrder());
286
  } else {
287
  return $this->setOrder($service->submit());
@@ -292,6 +302,7 @@ class Shopgate_Framework_Model_Payment_Abstract extends Mage_Core_Model_Abstract
292
  * Generic order manipulation, taken originally from Plugin::_setOrderPayment()
293
  *
294
  * @param Mage_Sales_Model_Order $magentoOrder
 
295
  * @return Mage_Sales_Model_Order
296
  */
297
  public function manipulateOrderWithPaymentData($magentoOrder)
@@ -319,6 +330,7 @@ class Shopgate_Framework_Model_Payment_Abstract extends Mage_Core_Model_Abstract
319
  *
320
  * @param Mage_Sales_Model_Quote $quote
321
  * @param $info
 
322
  * @return Mage_Sales_Model_Quote
323
  */
324
  public function prepareQuote($quote, $info)
@@ -330,6 +342,7 @@ class Shopgate_Framework_Model_Payment_Abstract extends Mage_Core_Model_Abstract
330
  * Setting for default magento status
331
  *
332
  * @param $magentoOrder Mage_Sales_Model_Order
 
333
  * @return mixed
334
  */
335
  public function setOrderStatus($magentoOrder)
@@ -376,9 +389,64 @@ class Shopgate_Framework_Model_Payment_Abstract extends Mage_Core_Model_Abstract
376
  ShopgateLogger::getInstance()->log($debug, ShopgateLogger::LOGTYPE_DEBUG);
377
  $model = Mage::getModel(self::PAYMENT_MODEL);
378
  }
 
379
  return $model;
380
  }
381
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
382
  /**
383
  * =======================================
384
  * ============ Helpers ==================
@@ -414,11 +482,13 @@ class Shopgate_Framework_Model_Payment_Abstract extends Mage_Core_Model_Abstract
414
  * constant retrieval
415
  *
416
  * @param string $input
 
417
  * @return mixed
418
  */
419
  protected final function getConstant($input)
420
  {
421
  $configClass = new ReflectionClass($this);
 
422
  return $configClass->getConstant($input);
423
  }
424
  }
102
 
103
  /**
104
  * @param $shopgateOrder ShopgateOrder
105
+ *
106
  * @return $this
107
  */
108
  public function setShopgateOrder(ShopgateOrder $shopgateOrder)
109
  {
110
  $this->_shopgate_order = $shopgateOrder;
111
+
112
  return $this;
113
  }
114
 
122
 
123
  /**
124
  * @param $paymentMethod string
125
+ *
126
  * @return $this
127
  */
128
  public function setPaymentMethod($paymentMethod)
129
  {
130
  $this->_payment_method = $paymentMethod;
131
+
132
  return $this;
133
  }
134
 
140
  if (!$this->_payment_method) {
141
  $this->_payment_method = $this->getShopgateOrder()->getPaymentMethod();
142
  }
143
+
144
  return $this->_payment_method;
145
  }
146
 
158
  * Helps initialize magento order
159
  *
160
  * @param Mage_Sales_Model_Order $order
161
+ *
162
  * @return Mage_Sales_Model_Order
163
  */
164
  public function setOrder(Mage_Sales_Model_Order $order)
174
  protected function _getVersion()
175
  {
176
  $constant = $this->getConstant('MODULE_CONFIG');
177
+
178
  return Mage::getConfig()->getModuleConfig($constant)->version;
179
  }
180
 
236
  );
237
  ShopgateLogger::getInstance()->log($debug, ShopgateLogger::LOGTYPE_DEBUG);
238
  }
239
+
240
  return $enabled;
241
  }
242
 
282
  * Default order creation if no payment matches
283
  *
284
  * @param Mage_Sales_Model_Quote $quote
285
+ *
286
  * @return Mage_Sales_Model_Order
287
  * @throws Exception
288
  */
291
  $service = Mage::getModel('sales/service_quote', $quote);
292
  if (!Mage::helper("shopgate/config")->getIsMagentoVersionLower15()) {
293
  $service->submitAll();
294
+
295
  return $this->setOrder($service->getOrder());
296
  } else {
297
  return $this->setOrder($service->submit());
302
  * Generic order manipulation, taken originally from Plugin::_setOrderPayment()
303
  *
304
  * @param Mage_Sales_Model_Order $magentoOrder
305
+ *
306
  * @return Mage_Sales_Model_Order
307
  */
308
  public function manipulateOrderWithPaymentData($magentoOrder)
330
  *
331
  * @param Mage_Sales_Model_Quote $quote
332
  * @param $info
333
+ *
334
  * @return Mage_Sales_Model_Quote
335
  */
336
  public function prepareQuote($quote, $info)
342
  * Setting for default magento status
343
  *
344
  * @param $magentoOrder Mage_Sales_Model_Order
345
+ *
346
  * @return mixed
347
  */
348
  public function setOrderStatus($magentoOrder)
389
  ShopgateLogger::getInstance()->log($debug, ShopgateLogger::LOGTYPE_DEBUG);
390
  $model = Mage::getModel(self::PAYMENT_MODEL);
391
  }
392
+
393
  return $model;
394
  }
395
 
396
+ /**
397
+ * Manipulation of new magento order, BEFORE payment is processed
398
+ *
399
+ * @param Mage_Sales_Model_Order $magentoOrder
400
+ *
401
+ * @return Mage_Sales_Model_Order
402
+ */
403
+ protected function _beforeOrderManipulate($magentoOrder)
404
+ {
405
+ $shopgateOrder = $this->getShopgateOrder();
406
+
407
+ if ($this->_getHelper()->oneCentBugDetected($shopgateOrder, $magentoOrder)) {
408
+ $fixedOrderAmount = $shopgateOrder->getAmountComplete();
409
+ $magentoOrder->setBaseTotalDue($fixedOrderAmount);
410
+ $magentoOrder->setTotalDue($fixedOrderAmount);
411
+ $magentoOrder->setBaseGrandTotal($fixedOrderAmount);
412
+ $magentoOrder->setGrandTotal($fixedOrderAmount);
413
+ }
414
+
415
+ return $magentoOrder;
416
+ }
417
+
418
+ /**
419
+ * Manipulation of new magento order, AFTER payment is processed
420
+ *
421
+ * @param Mage_Sales_Model_Order $magentoOrder
422
+ *
423
+ * @return Mage_Sales_Model_Order
424
+ */
425
+ protected function _afterOrderManipulate($magentoOrder)
426
+ {
427
+ $shopgateOrder = $this->getShopgateOrder();
428
+
429
+ if ($this->_getHelper()->oneCentBugDetected($shopgateOrder, $magentoOrder)) {
430
+ $fixedOrderAmount = $shopgateOrder->getAmountComplete();
431
+ $magentoOrder->getPayment()->setAmountOrdered($fixedOrderAmount);
432
+ $magentoOrder->getPayment()->setBaseAmountOrdered($fixedOrderAmount);
433
+
434
+ if ($magentoOrder->getInvoiceCollection()->count() == 1) {
435
+ foreach ($magentoOrder->getInvoiceCollection() as $invoice) {
436
+ $invoice->setGrandTotal($magentoOrder->getGrandTotal());
437
+ $invoice->setBaseGrandTotal($magentoOrder->getBaseGrandTotal());
438
+
439
+ $magentoOrder->setBaseTotalInvoiced($invoice->getBaseGrandTotal());
440
+ $magentoOrder->setTotalInvoiced($invoice->getGrandTotal());
441
+ $magentoOrder->setTotalPaid($invoice->getGrandTotal());
442
+ $magentoOrder->setBaseTotalPaid($magentoOrder->getBaseTotalInvoiced());
443
+ }
444
+ }
445
+ }
446
+
447
+ return $magentoOrder;
448
+ }
449
+
450
  /**
451
  * =======================================
452
  * ============ Helpers ==================
482
  * constant retrieval
483
  *
484
  * @param string $input
485
+ *
486
  * @return mixed
487
  */
488
  protected final function getConstant($input)
489
  {
490
  $configClass = new ReflectionClass($this);
491
+
492
  return $configClass->getConstant($input);
493
  }
494
  }
app/code/community/Shopgate/Framework/Model/Payment/Cc.php CHANGED
@@ -34,7 +34,7 @@ class Shopgate_Framework_Model_Payment_Cc extends Shopgate_Framework_Model_Payme
34
  {
35
  /**
36
  * Temp rewrite for edge case where AUTHN_CC needs to be
37
- * handled by AuthorizeCIM.
38
  *
39
  * @return false|Shopgate_Framework_Model_Payment_Abstract
40
  * @throws Exception
@@ -43,6 +43,8 @@ class Shopgate_Framework_Model_Payment_Cc extends Shopgate_Framework_Model_Payme
43
  {
44
  if (Mage::getModel('shopgate/payment_cc_authncim', $this->getShopgateOrder())->isValid()) {
45
  $this->setPaymentMethod('AUTHNCIM_CC');
 
 
46
  }
47
 
48
  return parent::getModelByPaymentMethod();
34
  {
35
  /**
36
  * Temp rewrite for edge case where AUTHN_CC needs to be
37
+ * handled by AuthorizeCIM or USAEPAY_CC by ChargeItPro
38
  *
39
  * @return false|Shopgate_Framework_Model_Payment_Abstract
40
  * @throws Exception
43
  {
44
  if (Mage::getModel('shopgate/payment_cc_authncim', $this->getShopgateOrder())->isValid()) {
45
  $this->setPaymentMethod('AUTHNCIM_CC');
46
+ } elseif (Mage::getModel('shopgate/payment_cc_chargeitpro', $this->getShopgateOrder())->isValid()) {
47
+ $this->setPaymentMethod('CHARGEITPRO_CC');
48
  }
49
 
50
  return parent::getModelByPaymentMethod();
app/code/community/Shopgate/Framework/Model/Payment/Cc/Authn.php CHANGED
@@ -159,8 +159,8 @@ class Shopgate_Framework_Model_Payment_Cc_Authn
159
  ->setCcType($this->_getCcTypeName($paymentInfos['credit_card']['type']))
160
  ->setCcOwner($paymentInfos['credit_card']['holder'])
161
  ->setCcLast4($lastFour)
162
- ->setCcExpMonth("")
163
- ->setCcExpYear("")
164
  ->setCcSsIssue("")
165
  ->setCcSsStartMonth("")
166
  ->setCcSsStartYear("");
159
  ->setCcType($this->_getCcTypeName($paymentInfos['credit_card']['type']))
160
  ->setCcOwner($paymentInfos['credit_card']['holder'])
161
  ->setCcLast4($lastFour)
162
+ ->setCcExpMonth($paymentInfos['credit_card']['expiry_month'])
163
+ ->setCcExpYear($paymentInfos['credit_card']['expiry_year'])
164
  ->setCcSsIssue("")
165
  ->setCcSsStartMonth("")
166
  ->setCcSsStartYear("");
app/code/community/Shopgate/Framework/Model/Payment/Cc/Chargeitpro.php ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
+ class Shopgate_Framework_Model_Payment_Cc_Chargeitpro
25
+ extends Shopgate_Framework_Model_Payment_Cc_Usaepay
26
+ {
27
+ const XML_CONFIG_ENABLED = 'payment/chargeitpro/active';
28
+ const XML_CONFIG_STATUS_PAID = 'payment/chargeitpro/order_status';
29
+ const MODULE_CONFIG = 'Chargeitpro_Chargeitpro';
30
+
31
+ /**
32
+ * Get the payment model to use withing class and direct children only
33
+ *
34
+ * @return Chargeitpro_Chargeitpro_Model_ChargeItPro
35
+ */
36
+ protected function _getLocalPaymentModel()
37
+ {
38
+ return Mage::getModel('chargeitpro/chargeItPro');
39
+ }
40
+ }
app/code/community/Shopgate/Framework/Model/Payment/Cc/Usaepay.php CHANGED
@@ -22,7 +22,7 @@
22
  */
23
 
24
  /**
25
- * Native model for usa epay
26
  *
27
  * @package Shopgate_Framework_Model_Payment_Usaepay
28
  * @author Peter Liebig <p.liebig@me.com, peter.liebig@magcorp.de>
@@ -36,18 +36,17 @@ class Shopgate_Framework_Model_Payment_Cc_Usaepay extends Shopgate_Framework_Mod
36
  const MODULE_CONFIG = 'Mage_Usaepay';
37
 
38
  /**
39
- * @param $order Mage_Sales_Model_Order
40
  *
41
  * @return Mage_Sales_Model_Order
42
  */
43
  public function manipulateOrderWithPaymentData($order)
44
  {
45
- $paymentInfos = $this->getShopgateOrder()->getPaymentInfos();
46
- // changing order payment method here cause otherwise validation fails cause not CC number, no expiration date
47
- $paymentUsaepay = Mage::getModel('usaepay/CCPaymentAction');
48
- $order->getPayment()->setMethod($paymentUsaepay->getCode());
49
- $paymentUsaepay->setInfoInstance($order->getPayment());
50
- $order->getPayment()->setMethodInstance($paymentUsaepay);
51
  $order->save();
52
 
53
  $lastFour = substr($paymentInfos['credit_card']['masked_number'], -4);
@@ -57,69 +56,42 @@ class Shopgate_Framework_Model_Payment_Cc_Usaepay extends Shopgate_Framework_Mod
57
  $order->getPayment()->setCcApproval($paymentInfos['authorization_number']);
58
  $order->getPayment()->setCcType($this->_getCcTypeName($paymentInfos['credit_card']['type']));
59
  $order->getPayment()->setCcOwner($paymentInfos['credit_card']['holder']);
 
 
 
 
60
  $order->getPayment()->setLastTransId($paymentInfos['reference_number']);
61
 
62
- // C or A type. no const in usa epay model for this
63
- $paymentStatus = $this->getShopgateOrder()->getIsPaid() ? 'C' : 'A';
64
  try {
65
- $invoice = $this->_getPaymentHelper()->createOrderInvoice($order);
66
- switch ($paymentStatus) {
67
- case 'C':
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();
74
- $invoice->save();
75
- $order->addRelatedObject($invoice);
76
- break;
77
- case 'A':
78
- $order->getPayment()->setAmountAuthorized($order->getGrandTotal());
79
- $order->getPayment()->setBaseAmountAuthorized($order->getBaseGrandTotal());
80
- $order->getPayment()->setIsTransactionPending(true);
81
- $invoice->setIsPaid(false);
82
- $invoice->save();
83
- $order->addRelatedObject($invoice);
84
- break;
85
- default:
86
- throw new Exception("Cannot handle payment status '{$paymentStatus}'.");
87
  }
88
- } catch (Exception $x) {
89
- $order->addStatusHistoryComment(Mage::helper('sales')->__('Note: %s', $x->getMessage()));
90
- Mage::logException($x);
91
  }
92
  return $order;
93
  }
94
 
95
  /**
96
- * A bit dirty, but status setting can be complicated
97
  *
98
- * @param Mage_Sales_Model_Order $magentoOrder
99
- * @return Mage_Sales_Model_Order
100
  */
101
- public function setOrderStatus($magentoOrder)
102
  {
103
- if ($this->getShopgateOrder()->getIsPaid()) {
104
- $total = $magentoOrder->getBaseCurrency()->formatTxt($magentoOrder->getBaseGrandTotal());
105
- $status = Mage::getStoreConfig(self::XML_CONFIG_STATUS_PAID, $magentoOrder->getStoreId());
106
- if (!$status) {
107
- $state = Mage_Sales_Model_Order::STATE_PROCESSING;
108
- $status = Mage::helper('shopgate')->getStatusFromState($state);
109
- } else {
110
- $state = Mage::helper('shopgate')->getStateForStatus($status);
111
- }
112
- $message = Mage::helper('sales')->__('Captured amount of %s online.', $total);
113
- } else {
114
- $state = Mage::helper("shopgate")->getStateForStatus("payment_review");
115
- $status = Mage::helper('shopgate')->getStatusFromState($state);
116
- $due = $magentoOrder->getBaseCurrency()->formatTxt($magentoOrder->getTotalDue());
117
- $message = Mage::helper('paypal')->__('Authorized amount of %s.', $due);
118
- }
119
-
120
- $magentoOrder->setState($state, $status, $message);
121
- $magentoOrder->setShopgateStatusSet(true);
122
-
123
- return $magentoOrder;
124
  }
125
  }
22
  */
23
 
24
  /**
25
+ * Native model for USA ePay
26
  *
27
  * @package Shopgate_Framework_Model_Payment_Usaepay
28
  * @author Peter Liebig <p.liebig@me.com, peter.liebig@magcorp.de>
36
  const MODULE_CONFIG = 'Mage_Usaepay';
37
 
38
  /**
39
+ * @param $order Mage_Sales_Model_Order
40
  *
41
  * @return Mage_Sales_Model_Order
42
  */
43
  public function manipulateOrderWithPaymentData($order)
44
  {
45
+ $paymentInfos = $this->getShopgateOrder()->getPaymentInfos();
46
+ $paymentInstance = $this->_getLocalPaymentModel();
47
+ $order->getPayment()->setMethod($paymentInstance->getCode());
48
+ $paymentInstance->setInfoInstance($order->getPayment());
49
+ $order->getPayment()->setMethodInstance($paymentInstance);
 
50
  $order->save();
51
 
52
  $lastFour = substr($paymentInfos['credit_card']['masked_number'], -4);
56
  $order->getPayment()->setCcApproval($paymentInfos['authorization_number']);
57
  $order->getPayment()->setCcType($this->_getCcTypeName($paymentInfos['credit_card']['type']));
58
  $order->getPayment()->setCcOwner($paymentInfos['credit_card']['holder']);
59
+ $order->getPayment()->setCcExpMonth(
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') {
67
+ $invoice = $this->_getPaymentHelper()->createOrderInvoice($order);
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();
74
+ $invoice->save();
75
+ $order->addRelatedObject($invoice);
76
+ } else {
77
+ $order->getPayment()->setAmountAuthorized($order->getGrandTotal());
78
+ $order->getPayment()->setBaseAmountAuthorized($order->getBaseGrandTotal());
79
+ $order->getPayment()->setIsTransactionPending(true);
 
 
 
 
 
 
 
 
80
  }
81
+ } catch (Exception $e) {
82
+ $order->addStatusHistoryComment(Mage::helper('sales')->__('Note: %s', $e->getMessage()));
83
+ Mage::logException($e);
84
  }
85
  return $order;
86
  }
87
 
88
  /**
89
+ * Get the payment model to use withing class and direct children only
90
  *
91
+ * @return Mage_Usaepay_Model_CCPaymentAction
 
92
  */
93
+ protected function _getLocalPaymentModel()
94
  {
95
+ return Mage::getModel('usaepay/CCPaymentAction');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
96
  }
97
  }
app/code/community/Shopgate/Framework/Model/Payment/Express.php CHANGED
@@ -22,7 +22,11 @@
22
  */
23
 
24
  /**
25
- * @deprecated v.2.9.18 - use Shopgate_Framework_Model_Payment_Pp_Paypal instead
 
 
 
 
26
  * @package Shopgate_Framework_Model_Payment_Express
27
  * @author Peter Liebig <p.liebig@me.com, peter.liebig@magcorp.de
28
  * @author Konstantin Kiritsenko <konstantin@kiritsenko.com>
@@ -31,38 +35,44 @@ class Shopgate_Framework_Model_Payment_Express
31
  {
32
 
33
  /**
34
- * create new order for paypal express (type wspp)
 
 
35
  *
36
- * @deprecated v.2.9.18
37
  * @param $quote Mage_Sales_Model_Quote
 
38
  * @return Mage_Sales_Model_Order
39
  * @throws Exception
40
  */
41
  public function createNewOrder($quote)
42
  {
43
- return Mage::getModel('shopgate/payment_pp_paypal', new ShopgateOrder())->createNewOrder($quote);
44
  }
45
 
46
  /**
47
  * @deprecated v.2.9.18
 
48
  * @param $order Mage_Sales_Model_Order
49
  * @param $shopgateOrder ShopgateOrder
 
50
  * @return Mage_Sales_Model_Order
51
  */
52
  public function manipulateOrderWithPaymentData($order, $shopgateOrder)
53
  {
54
- return Mage::getModel('shopgate/payment_pp_paypal', $shopgateOrder)->manipulateOrderWithPaymentData($order);
55
  }
56
 
57
  /**
58
  * @deprecated v.2.9.18
 
59
  * @param $quote Mage_Sales_Model_Quote
60
  * @param $data array
 
61
  * @return Mage_Sales_Model_Quote
62
  */
63
  public function prepareQuote($quote, $data)
64
  {
65
- return Mage::getModel('shopgate/payment_pp_paypal', new ShopgateOrder())->prepareQuote($quote, $data);
66
  }
67
 
68
  /**
22
  */
23
 
24
  /**
25
+ * This class is no longer needed due to the payment system changes. We are keeping this class
26
+ * to be compatible with our own adaptions that overwrite methods in Plugin.php that still call
27
+ * this class
28
+ *
29
+ * @deprecated v.2.9.18 - use Shopgate_Framework_Model_Payment_Simple_Paypal_Express instead
30
  * @package Shopgate_Framework_Model_Payment_Express
31
  * @author Peter Liebig <p.liebig@me.com, peter.liebig@magcorp.de
32
  * @author Konstantin Kiritsenko <konstantin@kiritsenko.com>
35
  {
36
 
37
  /**
38
+ * Create new order for paypal express (type wspp)
39
+ *
40
+ * @deprecated v.2.9.18 - in case adaptions still use this classes
41
  *
 
42
  * @param $quote Mage_Sales_Model_Quote
43
+ *
44
  * @return Mage_Sales_Model_Order
45
  * @throws Exception
46
  */
47
  public function createNewOrder($quote)
48
  {
49
+ return Mage::getModel('shopgate/payment_simple_paypal_express', new ShopgateOrder())->createNewOrder($quote);
50
  }
51
 
52
  /**
53
  * @deprecated v.2.9.18
54
+ *
55
  * @param $order Mage_Sales_Model_Order
56
  * @param $shopgateOrder ShopgateOrder
57
+ *
58
  * @return Mage_Sales_Model_Order
59
  */
60
  public function manipulateOrderWithPaymentData($order, $shopgateOrder)
61
  {
62
+ return Mage::getModel('shopgate/payment_simple_paypal_express', $shopgateOrder)->manipulateOrderWithPaymentData($order);
63
  }
64
 
65
  /**
66
  * @deprecated v.2.9.18
67
+ *
68
  * @param $quote Mage_Sales_Model_Quote
69
  * @param $data array
70
+ *
71
  * @return Mage_Sales_Model_Quote
72
  */
73
  public function prepareQuote($quote, $data)
74
  {
75
+ return Mage::getModel('shopgate/payment_simple_paypal_express', new ShopgateOrder())->prepareQuote($quote, $data);
76
  }
77
 
78
  /**
app/code/community/Shopgate/Framework/Model/Payment/Factory.php CHANGED
@@ -91,10 +91,15 @@ class Shopgate_Framework_Model_Payment_Factory extends Shopgate_Framework_Model_
91
  */
92
  public function manipulateOrderWithPaymentData($magentoOrder)
93
  {
94
- if ($this->validatePaymentClass()) {
95
- return $this->getPaymentClass()->manipulateOrderWithPaymentData($magentoOrder);
96
- }
97
- return parent::manipulateOrderWithPaymentData($magentoOrder);
 
 
 
 
 
98
  }
99
 
100
  /**
91
  */
92
  public function manipulateOrderWithPaymentData($magentoOrder)
93
  {
94
+ $magentoOrder = $this->_beforeOrderManipulate($magentoOrder);
95
+
96
+ $magentoOrder = $this->validatePaymentClass()
97
+ ? $this->getPaymentClass()->manipulateOrderWithPaymentData($magentoOrder)
98
+ : parent::manipulateOrderWithPaymentData($magentoOrder);
99
+
100
+ $magentoOrder = $this->_afterOrderManipulate($magentoOrder);
101
+
102
+ return $magentoOrder;
103
  }
104
 
105
  /**
app/code/community/Shopgate/Framework/Model/Payment/Ppal/Plus.php ADDED
@@ -0,0 +1,178 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Class to manipulate the order payment data with amazon payment data
4
+ *
5
+ * @package Shopgate_Framework
6
+ * @author Shopgate GmbH Butzbach
7
+ */
8
+ class Shopgate_Framework_Model_Payment_Ppal_Plus
9
+ extends Shopgate_Framework_Model_Payment_Pp_Abstract
10
+ implements Shopgate_Framework_Model_Payment_Interface
11
+ {
12
+ const PAYMENT_IDENTIFIER = ShopgateOrder::PPAL_PLUS;
13
+ const MODULE_CONFIG = 'Iways_PayPalPlus';
14
+ const PAYMENT_MODEL = 'iways_paypalplus/payment';
15
+ const XML_CONFIG_ENABLED = 'payment/iways_paypalplus_payment/active';
16
+
17
+ /**
18
+ * Create new order for PayPal Plus
19
+ *
20
+ * @param $quote Mage_Sales_Model_Quote
21
+ * @return Mage_Sales_Model_Order
22
+ * @throws Exception
23
+ */
24
+ public function createNewOrder($quote)
25
+ {
26
+ $convert = Mage::getModel('sales/convert_quote');
27
+ $transaction = Mage::getModel('core/resource_transaction');
28
+
29
+ if ($quote->getCustomerId()) {
30
+ $transaction->addObject($quote->getCustomer());
31
+ }
32
+
33
+ $transaction->addObject($quote);
34
+ if ($quote->isVirtual()) {
35
+ $order = $convert->addressToOrder($quote->getBillingAddress());
36
+ } else {
37
+ $order = $convert->addressToOrder($quote->getShippingAddress());
38
+ }
39
+ $order->setBillingAddress($convert->addressToOrderAddress($quote->getBillingAddress()));
40
+ if ($quote->getBillingAddress()->getCustomerAddress()) {
41
+ $order->getBillingAddress()->setCustomerAddress($quote->getBillingAddress()->getCustomerAddress());
42
+ }
43
+ if (!$quote->isVirtual()) {
44
+ $order->setShippingAddress($convert->addressToOrderAddress($quote->getShippingAddress()));
45
+ if ($quote->getShippingAddress()->getCustomerAddress()) {
46
+ $order->getShippingAddress()->setCustomerAddress($quote->getShippingAddress()->getCustomerAddress());
47
+ }
48
+ }
49
+
50
+ $order->setPayment($convert->paymentToOrderPayment($quote->getPayment()));
51
+ $order->getPayment()->setTransactionId($quote->getPayment()->getTransactionId());
52
+ foreach ($quote->getAllItems() as $item) {
53
+ /** @var Mage_Sales_Model_Order_Item $item */
54
+ $orderItem = $convert->itemToOrderItem($item);
55
+ if ($item->getParentItem()) {
56
+ $orderItem->setParentItem($order->getItemByQuoteItemId($item->getParentItem()->getId()));
57
+ }
58
+ $order->addItem($orderItem);
59
+ }
60
+ $order->setQuote($quote);
61
+ $order->setExtOrderId($quote->getPayment()->getTransactionId());
62
+ $order->setCanSendNewEmailFlag(false);
63
+ $transaction->addObject($order);
64
+ $transaction->addCommitCallback(array($order, 'save'));
65
+
66
+ try {
67
+ $transaction->save();
68
+ Mage::dispatchEvent(
69
+ 'sales_model_service_quote_submit_success',
70
+ array(
71
+ 'order' => $order,
72
+ 'quote' => $quote
73
+ )
74
+ );
75
+ } catch (Exception $e) {
76
+ //reset order ID's on exception, because order not saved
77
+ $order->setId(null);
78
+ /** @var $item Mage_Sales_Model_Order_Item */
79
+ foreach ($order->getItemsCollection() as $item) {
80
+ $item->setOrderId(null);
81
+ $item->setItemId(null);
82
+ }
83
+
84
+ Mage::dispatchEvent(
85
+ 'sales_model_service_quote_submit_failure',
86
+ array(
87
+ 'order' => $order,
88
+ 'quote' => $quote
89
+ )
90
+ );
91
+ throw $e;
92
+ }
93
+ Mage::dispatchEvent('checkout_submit_all_after', array('order' => $order, 'quote' => $quote));
94
+ Mage::dispatchEvent('sales_model_service_quote_submit_after', array('order' => $order, 'quote' => $quote));
95
+
96
+ return $order;
97
+ }
98
+
99
+ /**
100
+ * @param $order Mage_Sales_Model_Order
101
+ * @return Mage_Sales_Model_Order
102
+ */
103
+ public function manipulateOrderWithPaymentData($order)
104
+ {
105
+ $paymentInfos = $this->getShopgateOrder()->getPaymentInfos();
106
+
107
+ $trans = Mage::getModel('sales/order_payment_transaction');
108
+ $trans->setOrderPaymentObject($order->getPayment());
109
+ $trans->setIsClosed(false);
110
+ $trans->setTxnId($paymentInfos['payment_id']);
111
+
112
+ try {
113
+ $invoice = $this->_getPaymentHelper()->createOrderInvoice($order);
114
+ switch ($paymentInfos['status']) {
115
+ case $this->_getPaymentHelper()->getPaypalCompletedStatus():
116
+ $trans->setTxnType(Mage_Sales_Model_Order_Payment_Transaction::TYPE_AUTH);
117
+ $order->getPayment()->setAmountAuthorized($order->getTotalDue());
118
+ $trans->setIsClosed(true);
119
+ if ($order->getPayment()->getIsTransactionPending()) {
120
+ $invoice->setIsPaid(false);
121
+ } else { // normal online capture: invoice is marked as "paid"
122
+ $invoice->setIsPaid(true);
123
+ $invoice->pay();
124
+ }
125
+ break;
126
+ case $this->_getPaymentHelper()->getPaypalRefundedStatus():
127
+ break;
128
+ case $this->_getPaymentHelper()->getPaypalPendingStatus():
129
+
130
+ $trans->setTxnType(Mage_Sales_Model_Order_Payment_Transaction::TYPE_AUTH);
131
+ $invoice->setIsPaid(false);
132
+ $order->getPayment()->setAmountAuthorized($order->getTotalDue());
133
+ break;
134
+ default:
135
+ throw new Exception("Cannot handle payment status '{$paymentInfos['status']}'.");
136
+ }
137
+ $trans->save();
138
+ $invoice->setTransactionId($paymentInfos['payment_transaction_id']);
139
+ $this->_getPaymentHelper()->importPaymentInformation($order->getPayment(), $paymentInfos);
140
+ $invoice->save();
141
+ $order->addRelatedObject($invoice);
142
+ $order->getPayment()->setLastTransId($paymentInfos['payment_id']);
143
+ } catch (Exception $x) {
144
+ $comment = $this->_getPaymentHelper()->createIpnComment(
145
+ $order,
146
+ Mage::helper('paypal')->__('Note: %s', $x->getMessage()),
147
+ true
148
+ );
149
+ $comment->save();
150
+ Mage::logException($x);
151
+ }
152
+ return $order;
153
+ }
154
+
155
+ /**
156
+ * @param $quote Mage_Sales_Model_Quote
157
+ * @param $data array
158
+ * @return Mage_Sales_Model_Quote
159
+ */
160
+ public function prepareQuote($quote, $data)
161
+ {
162
+ $quote->getPayment()->setTransactionId($data['payment_transaction_id']);
163
+ $quote->getPayment()->setStatus($data['status']);
164
+ return $quote;
165
+ }
166
+
167
+ /**
168
+ * Set order status
169
+ *
170
+ * @param Mage_Sales_Model_Order $magentoOrder
171
+ * @return Mage_Sales_Model_Order
172
+ */
173
+ public function setOrderStatus($magentoOrder)
174
+ {
175
+ return $this->orderStatusManager($magentoOrder);
176
+ }
177
+
178
+ }
app/code/community/Shopgate/Framework/Model/Shopgate/Plugin.php CHANGED
@@ -516,14 +516,19 @@ class Shopgate_Framework_Model_Shopgate_Plugin extends ShopgatePlugin
516
  continue;
517
  }
518
 
519
- $orderInfo = $item->getInternalOrderInfo();
520
- $orderInfo = $this->jsonDecode($orderInfo, true);
 
521
 
522
  $stackQuantity = 1;
523
  if (!empty($orderInfo['stack_quantity']) && $orderInfo['stack_quantity'] > 1) {
524
  $stackQuantity = $orderInfo['stack_quantity'];
525
  }
526
 
 
 
 
 
527
  $pId = $orderInfo["product_id"];
528
  /** @var Mage_Catalog_Model_Product $product */
529
  $product = Mage::getModel('catalog/product')->setStoreId($this->_getConfig()->getStoreViewId())
@@ -600,7 +605,13 @@ class Shopgate_Framework_Model_Shopgate_Plugin extends ShopgatePlugin
600
  }
601
  }
602
  $quoteItem = $quote->getItemByProduct($product);
 
 
 
 
 
603
  $quoteItem->setTaxPercent($item->getTaxPercent());
 
604
  if (!is_null($productWeight)) {
605
  $quoteItem->setWeight($productWeight);
606
  }
@@ -1271,7 +1282,7 @@ class Shopgate_Framework_Model_Shopgate_Plugin extends ShopgatePlugin
1271
  */
1272
  protected function _updateOrderPayment($magentoOrder, $shopgateOrder)
1273
  {
1274
- if ($shopgateOrder->getUpdatePayment()) {
1275
  $this->log("# Update payment", ShopgateLogger::LOGTYPE_DEBUG);
1276
  $magentoOrder = $this->_setOrderPayment($magentoOrder, $shopgateOrder);
1277
  $this->log("# Update payment successful", ShopgateLogger::LOGTYPE_DEBUG);
@@ -1288,7 +1299,17 @@ class Shopgate_Framework_Model_Shopgate_Plugin extends ShopgatePlugin
1288
  */
1289
  protected function _updateOrderShipping($magentoOrder, $shopgateOrder, $magentoShopgateOrder)
1290
  {
1291
- if ($shopgateOrder->getUpdateShipping()) {
 
 
 
 
 
 
 
 
 
 
1292
  $this->log("# Update shipping", ShopgateLogger::LOGTYPE_DEBUG);
1293
  $magentoOrder = $this->_setOrderState($magentoOrder, $shopgateOrder);
1294
  if ($this->_isValidShipping($magentoOrder, $shopgateOrder, $magentoShopgateOrder)) {
516
  continue;
517
  }
518
 
519
+ $orderInfo = $item->getInternalOrderInfo();
520
+ $orderInfo = $this->jsonDecode($orderInfo, true);
521
+ $amountWithTax = $item->getUnitAmountWithTax();
522
 
523
  $stackQuantity = 1;
524
  if (!empty($orderInfo['stack_quantity']) && $orderInfo['stack_quantity'] > 1) {
525
  $stackQuantity = $orderInfo['stack_quantity'];
526
  }
527
 
528
+ if ($stackQuantity > 1) {
529
+ $amountWithTax = $amountWithTax / $stackQuantity;
530
+ }
531
+
532
  $pId = $orderInfo["product_id"];
533
  /** @var Mage_Catalog_Model_Product $product */
534
  $product = Mage::getModel('catalog/product')->setStoreId($this->_getConfig()->getStoreViewId())
605
  }
606
  }
607
  $quoteItem = $quote->getItemByProduct($product);
608
+
609
+ if ($this->_getConfig()->useShopgatePrices()) {
610
+ $quoteItem->setCustomPrice($amountWithTax);
611
+ $quoteItem->setOriginalCustomPrice($amountWithTax);
612
+ }
613
  $quoteItem->setTaxPercent($item->getTaxPercent());
614
+
615
  if (!is_null($productWeight)) {
616
  $quoteItem->setWeight($productWeight);
617
  }
1282
  */
1283
  protected function _updateOrderPayment($magentoOrder, $shopgateOrder)
1284
  {
1285
+ if ($shopgateOrder->getUpdatePayment() && $magentoOrder->getTotalDue() > 0) {
1286
  $this->log("# Update payment", ShopgateLogger::LOGTYPE_DEBUG);
1287
  $magentoOrder = $this->_setOrderPayment($magentoOrder, $shopgateOrder);
1288
  $this->log("# Update payment successful", ShopgateLogger::LOGTYPE_DEBUG);
1299
  */
1300
  protected function _updateOrderShipping($magentoOrder, $shopgateOrder, $magentoShopgateOrder)
1301
  {
1302
+ $updateShipment = false;
1303
+
1304
+ foreach ($magentoOrder->getAllItems() as $orderItem) {
1305
+ /** @var $orderItem Mage_Sales_Model_Order_Item */
1306
+ if ($orderItem->getQtyShipped() != $orderItem->getQtyOrdered()) {
1307
+ $updateShipment = true;
1308
+ break;
1309
+ }
1310
+ }
1311
+
1312
+ if ($shopgateOrder->getUpdateShipping() && $updateShipment) {
1313
  $this->log("# Update shipping", ShopgateLogger::LOGTYPE_DEBUG);
1314
  $magentoOrder = $this->_setOrderState($magentoOrder, $shopgateOrder);
1315
  if ($this->_isValidShipping($magentoOrder, $shopgateOrder, $magentoShopgateOrder)) {
app/code/community/Shopgate/Framework/changelog.txt CHANGED
@@ -1,5 +1,12 @@
1
  '''English'''
2
 
 
 
 
 
 
 
 
3
  '''Version 2.9.24'''
4
  * fix Quote order problems
5
  * fixed payment fees are now possible for cash on delivery
1
  '''English'''
2
 
3
+ '''Version 2.9.25'''
4
+ * map payment method Paypal Plus
5
+ * fix multiple payment and shipping execution
6
+ * adding credit card expiration date for authorize.net payment method
7
+ * Added configuration, whether the magento or shopgate product prices should be used during addOrder
8
+ * fix custom description attribute codes
9
+
10
  '''Version 2.9.24'''
11
  * fix Quote order problems
12
  * fixed payment fees are now possible for cash on delivery
app/code/community/Shopgate/Framework/etc/config.xml CHANGED
@@ -2,7 +2,7 @@
2
  <config>
3
  <modules>
4
  <Shopgate_Framework>
5
- <version>2.9.24</version>
6
  </Shopgate_Framework>
7
  </modules>
8
  <global>
@@ -353,6 +353,7 @@
353
  <payment_title>Shopgate</payment_title>
354
  <shipping_title>Shopgate</shipping_title>
355
  <add_only_simple>0</add_only_simple>
 
356
  </orders>
357
  <shipping>
358
  <carriers>
2
  <config>
3
  <modules>
4
  <Shopgate_Framework>
5
+ <version>2.9.25</version>
6
  </Shopgate_Framework>
7
  </modules>
8
  <global>
353
  <payment_title>Shopgate</payment_title>
354
  <shipping_title>Shopgate</shipping_title>
355
  <add_only_simple>0</add_only_simple>
356
+ <use_shopgate_prices>0</use_shopgate_prices>
357
  </orders>
358
  <shipping>
359
  <carriers>
app/code/community/Shopgate/Framework/etc/system.xml CHANGED
@@ -517,6 +517,16 @@
517
  <show_in_website>1</show_in_website>
518
  <show_in_store>1</show_in_store>
519
  </add_only_simple>
 
 
 
 
 
 
 
 
 
 
520
  </fields>
521
  </orders>
522
  </groups>
517
  <show_in_website>1</show_in_website>
518
  <show_in_store>1</show_in_store>
519
  </add_only_simple>
520
+ <use_shopgate_prices translate="label comment">
521
+ <label>Use product prices from shopgate</label>
522
+ <comment>Note: If you plan to use special discount for mobile, this option needs to be activated.</comment>
523
+ <frontend_type>select</frontend_type>
524
+ <source_model>adminhtml/system_config_source_yesno</source_model>
525
+ <sort_order>70</sort_order>
526
+ <show_in_default>0</show_in_default>
527
+ <show_in_website>1</show_in_website>
528
+ <show_in_store>1</show_in_store>
529
+ </use_shopgate_prices>
530
  </fields>
531
  </orders>
532
  </groups>
app/locale/de_AT/Shopgate_Framework.csv CHANGED
@@ -243,3 +243,5 @@
243
  "Connection/s have been updated successfully","Verbindung/en wurden erfolgreich aktualisiert"
244
  "Use Shopgate connect button unless you know what you are doing","Verwenden Sie bitte den Shopgate Connect Button (Wenn Sie dessen Funktion kennen)"
245
  "Developer Only Section","Bereich nur für Developer"
 
 
243
  "Connection/s have been updated successfully","Verbindung/en wurden erfolgreich aktualisiert"
244
  "Use Shopgate connect button unless you know what you are doing","Verwenden Sie bitte den Shopgate Connect Button (Wenn Sie dessen Funktion kennen)"
245
  "Developer Only Section","Bereich nur für Developer"
246
+ "Use product prices from shopgate","Produkt Preise von Shopgate übernehmen"
247
+ "Note: If you plan to use special discount for mobile, this option needs to be activated.","Hinweis: Wenn sie für Ihre mobile Seite/Apps spezielle Rabatte anbieten wollen, muss diese Option aktiv sein."
app/locale/de_CH/Shopgate_Framework.csv CHANGED
@@ -243,3 +243,6 @@
243
  "Connection/s have been updated successfully","Verbindung/en wurden erfolgreich aktualisiert"
244
  "Use Shopgate connect button unless you know what you are doing","Verwenden Sie bitte den Shopgate Connect Button (Wenn Sie dessen Funktion kennen)"
245
  "Developer Only Section","Bereich nur für Developer"
 
 
 
243
  "Connection/s have been updated successfully","Verbindung/en wurden erfolgreich aktualisiert"
244
  "Use Shopgate connect button unless you know what you are doing","Verwenden Sie bitte den Shopgate Connect Button (Wenn Sie dessen Funktion kennen)"
245
  "Developer Only Section","Bereich nur für Developer"
246
+ "Use product prices from shopgate","Produkt Preise von Shopgate übernehmen"
247
+ "Note: If you plan to use special discount for mobile, this option needs to be activated.","Hinweis: Wenn sie für Ihre mobile Seite/Apps spezielle Rabatte anbieten wollen, muss diese Option aktiv sein."
248
+
app/locale/de_DE/Shopgate_Framework.csv CHANGED
@@ -243,3 +243,6 @@
243
  "Connection/s have been updated successfully","Verbindung/en wurden erfolgreich aktualisiert"
244
  "Use Shopgate connect button unless you know what you are doing","Verwenden Sie bitte den Shopgate Connect Button (Wenn Sie dessen Funktion kennen)"
245
  "Developer Only Section","Bereich nur für Developer"
 
 
 
243
  "Connection/s have been updated successfully","Verbindung/en wurden erfolgreich aktualisiert"
244
  "Use Shopgate connect button unless you know what you are doing","Verwenden Sie bitte den Shopgate Connect Button (Wenn Sie dessen Funktion kennen)"
245
  "Developer Only Section","Bereich nur für Developer"
246
+ "Use product prices from shopgate","Produkt Preise von Shopgate übernehmen"
247
+ "Note: If you plan to use special discount for mobile, this option needs to be activated.","Hinweis: Wenn sie für Ihre mobile Seite/Apps spezielle Rabatte anbieten wollen, muss diese Option aktiv sein."
248
+
lib/Shopgate/changelog.txt CHANGED
@@ -1,6 +1,13 @@
 
 
 
 
 
 
 
1
  '''Version 2.9.31'''
2
- * added ShopgateShippingInfo:$amount_net and $amount_gross properties, getters and setters
3
- * ShopgateShippingInfo:$amount, getter and setter are now deprecated
4
 
5
  '''Version 2.9.30'''
6
  * amount_complete is now being set correctly for get_orders
@@ -12,7 +19,7 @@
12
  * XML export: fixed a bug that lead to unwanted occurrences of 'xmlns=""' in the XML
13
 
14
  '''Version 2.9.27'''
15
- * XML export: omit empty subnodes if they are defined as optional by the XSD
16
 
17
  '''Version 2.9.26'''
18
  * added constants for order item types
1
+ '''Version 2.9.33'''
2
+ * changed the initial value of the ShopgateDeliveryNote::$shipping_service_id entry to null
3
+ * added payment method constant for Paypal Plus
4
+
5
+ '''Version 2.9.32'''
6
+ * amount_complete getter is now returning the correct field
7
+
8
  '''Version 2.9.31'''
9
+ * added ShopgateShippingInfo::$amount_net and $amount_gross properties, getters and setters
10
+ * ShopgateShippingInfo::$amount, getter and setter are now deprecated
11
 
12
  '''Version 2.9.30'''
13
  * amount_complete is now being set correctly for get_orders
19
  * XML export: fixed a bug that lead to unwanted occurrences of 'xmlns=""' in the XML
20
 
21
  '''Version 2.9.27'''
22
+ * XML export: omit empty sub nodes if they are defined as optional by the XSD
23
 
24
  '''Version 2.9.26'''
25
  * added constants for order item types
lib/Shopgate/classes/core.php CHANGED
@@ -24,7 +24,7 @@
24
  ###################################################################################
25
  # define constants
26
  ###################################################################################
27
- define('SHOPGATE_LIBRARY_VERSION', '2.9.31');
28
  define('SHOPGATE_LIBRARY_ENCODING' , 'UTF-8');
29
  define('SHOPGATE_BASE_DIR', realpath(dirname(__FILE__).'/../'));
30
 
24
  ###################################################################################
25
  # define constants
26
  ###################################################################################
27
+ define('SHOPGATE_LIBRARY_VERSION', '2.9.33');
28
  define('SHOPGATE_LIBRARY_ENCODING' , 'UTF-8');
29
  define('SHOPGATE_BASE_DIR', realpath(dirname(__FILE__).'/../'));
30
 
lib/Shopgate/classes/external_orders.php CHANGED
@@ -46,6 +46,8 @@ class ShopgateExternalOrder extends ShopgateContainer {
46
  protected $amount_complete_gross;
47
  protected $amount_complete_net;
48
 
 
 
49
  protected $is_paid;
50
  protected $payment_method;
51
  protected $payment_time;
@@ -500,7 +502,7 @@ class ShopgateExternalOrder extends ShopgateContainer {
500
  * @return float
501
  */
502
  public function getAmountComplete() {
503
- return $this->amount_complete_gross;
504
  }
505
 
506
  /**
46
  protected $amount_complete_gross;
47
  protected $amount_complete_net;
48
 
49
+ protected $amount_complete;
50
+
51
  protected $is_paid;
52
  protected $payment_method;
53
  protected $payment_time;
502
  * @return float
503
  */
504
  public function getAmountComplete() {
505
+ return $this->amount_complete;
506
  }
507
 
508
  /**
lib/Shopgate/classes/orders.php CHANGED
@@ -58,6 +58,7 @@ abstract class ShopgateCartBase extends ShopgateContainer {
58
 
59
  // Paypal
60
  const PAYPAL = "PAYPAL";
 
61
  const CMPTOP_PP = "CMPTOP_PP";
62
  const MASTPAY_PP = "MASTPAY_PP";
63
  const PAYONE_PP = "PAYONE_PP";
@@ -1904,28 +1905,28 @@ class ShopgateShippingInfo extends ShopgateContainer {
1904
 
1905
  class ShopgateDeliveryNote extends ShopgateContainer {
1906
  // shipping groups
1907
- const DHL = "DHL"; // DHL
1908
  const DHLEXPRESS = "DHLEXPRESS"; // DHLEXPRESS
1909
- const DP = "DP"; // Deutsche Post
1910
- const DPD = "DPD"; // Deutscher Paket Dienst
1911
- const FEDEX = "FEDEX"; // FedEx
1912
- const GLS = "GLS"; // GLS
1913
- const HLG = "HLG"; // Hermes
1914
- const OTHER = "OTHER"; // Anderer Lieferant
1915
- const TNT = "TNT"; // TNT
1916
- const TOF = "TOF"; // Trnas-o-Flex
1917
- const UPS = "UPS"; // UPS
1918
- const USPS = "USPS"; // USPS
1919
 
1920
  // shipping types
1921
- const MANUAL = "MANUAL";
1922
  const USPS_API_V1 = "USPS_API_V1";
1923
- const UPS_API_V1 = "UPS_API_V1";
1924
 
1925
- protected $shipping_service_id = ShopgateDeliveryNote::DHL;
1926
  protected $shipping_service_name = "";
1927
- protected $tracking_number = "";
1928
- protected $shipping_time = null;
1929
 
1930
  ##########
1931
  # Setter #
58
 
59
  // Paypal
60
  const PAYPAL = "PAYPAL";
61
+ const PPAL_PLUS = "PPAL_PLUS";
62
  const CMPTOP_PP = "CMPTOP_PP";
63
  const MASTPAY_PP = "MASTPAY_PP";
64
  const PAYONE_PP = "PAYONE_PP";
1905
 
1906
  class ShopgateDeliveryNote extends ShopgateContainer {
1907
  // shipping groups
1908
+ const DHL = "DHL"; // DHL
1909
  const DHLEXPRESS = "DHLEXPRESS"; // DHLEXPRESS
1910
+ const DP = "DP"; // Deutsche Post
1911
+ const DPD = "DPD"; // Deutscher Paket Dienst
1912
+ const FEDEX = "FEDEX"; // FedEx
1913
+ const GLS = "GLS"; // GLS
1914
+ const HLG = "HLG"; // Hermes
1915
+ const OTHER = "OTHER"; // Anderer Lieferant
1916
+ const TNT = "TNT"; // TNT
1917
+ const TOF = "TOF"; // Trnas-o-Flex
1918
+ const UPS = "UPS"; // UPS
1919
+ const USPS = "USPS"; // USPS
1920
 
1921
  // shipping types
1922
+ const MANUAL = "MANUAL";
1923
  const USPS_API_V1 = "USPS_API_V1";
1924
+ const UPS_API_V1 = "UPS_API_V1";
1925
 
1926
+ protected $shipping_service_id = null;
1927
  protected $shipping_service_name = "";
1928
+ protected $tracking_number = "";
1929
+ protected $shipping_time = null;
1930
 
1931
  ##########
1932
  # Setter #
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>shopgate_module</name>
4
- <version>2.9.24</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>Peter Liebig</name><user>Shopgate</user><email>p.liebig@me.com</email></author><author><name>Stephan Recknagel</name><user>Shopgate</user><email>mail@recknagel.io</email></author><author><name>Andr&#xE9; Kraus</name><user>Shopgate</user><email>andre.kraus83@googlemail.com</email></author></authors>
13
- <date>2015-10-28</date>
14
- <time>08:12:12</time>
15
- <contents><target name="mageetc"><dir name="modules"><file name="Shopgate_Framework.xml" hash="3fb114204bd038da711122083876f161"/></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="7de8af7ec46e107c46a73efaf2a02034"/><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="Order.php" hash="474c2aa15f352224c11c8ab17e921c9d"/></dir><file name="Config.php" hash="2c736f067f5d69855e1523504a7afe36"/><file name="Coupon.php" hash="519697b13040ddfbc8f460b6034c8779"/><file name="Customer.php" hash="c68047909c0c6e14977336ab6afe2f6b"/><file name="Data.php" hash="62519f35a5421b0f933a7c42b6dde9d9"/><file name="Debug.php" hash="82c85038046fc9b2f994df18b7f202a6"/><file name="Export.php" hash="205dee2b07a96990efdc7ecca08cf075"/><dir name="Import"><file name="Order.php" hash="adf21efa29fdba12edfaf0d34e0cb1fb"/></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="a5dfa9e90343a4da4e0791f62b802484"/></dir><dir name="Model"><dir name="Carrier"><file name="Fix.php" hash="31ccd9b4c8ac725e5b2c1dcee096dea8"/></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="30c638d50ff53e16bff9cfeb8285d170"/><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="30123a6fe3e391fca911fed042b256c8"/></dir><file name="Customer.php" hash="2711476c9538a22242d1511649ec77f1"/><dir name="Product"><file name="Csv.php" hash="50cd5a66e8034f3584140f91b56fe03d"/><file name="Xml.php" hash="c1ac33b37c7ae13bad1136f9bdc54550"/></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="bd868e74806ec79e93c0fb6f4fcfdd3f"/></dir><file name="Feed.php" hash="fb99cd7b2b3d94908848b722df666b67"/><dir name="Mobile"><file name="Redirect.php" hash="8915ada38de387aabb2dc4580368d347"/></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="da10a5dddba99720bea687ec4fa94c57"/><dir name="Payment"><dir name="Abstract"><file name="AbstractPayol.php" hash="0228e80536a7decbbc0a883a4bde0d0d"/></dir><file name="Abstract.php" hash="d6ce9088700ca6c4fb1136cd80b46483"/><file name="Amazon.php" hash="c90003246111cf066270015b41cb7ff9"/><file name="Authorize.php" hash="6f747fb258e59137cc5dadc179664246"/><file name="Billsafe.php" hash="1c97ec04356ae4ed25c1492a317eaaff"/><dir name="Cc"><file name="Abstract.php" hash="2b291ac14d9e1e3120416d6aeb4c3487"/><file name="Authn.php" hash="1fdc329d84bc3c5894428c14087a48a9"/><file name="AuthnAbstract.php" hash="59c3e39376e695ac161d228fc9a3fabf"/><dir name="Authncim"><file name="Gateway.php" hash="1f8df3fe0e50f4729bebfc1d4763b015"/><file name="Method.php" hash="aa6916548a71848ad7c83e4f053bc27e"/></dir><file name="Authncim.php" hash="89f1c2a0bb59d08c895da84c14c325ff"/><file name="Usaepay.php" hash="53297c43d694f4bfb5296a29ad10c4cb"/></dir><file name="Cc.php" hash="7fe7850acbe549859442ec9facb9b550"/><file name="Express.php" hash="e90c6eb120a0aec969f63496b4fb1063"/><file name="Factory.php" hash="2f06c4e03bac21f81044caf144dc7bc4"/><file name="Generic.php" hash="666f06186d1bb96b94af287d221e27c5"/><dir name="Ins"><file name="Payol.php" hash="b6961c4ab1fb9a95ab2d470aeaad8d29"/></dir><file name="Interface.php" hash="151002297bcce208b85bd260c7a25b47"/><dir name="Inv"><file name="Payol.php" hash="6d1c28b2ea2fb2fd63e09712f4533c77"/></dir><file name="MobilePayment.php" hash="59554c65e778831f6add450e0f846f42"/><dir name="Payone"><file name="Abstract.php" hash="e4538042b15ce2ba027a189ae2887861"/><file name="BankAbstract.php" hash="fa4ef2c918868001c5f1df97cb4bc400"/><file name="Cc.php" hash="11e68f50ea43bf73b31c53efea0cbc4d"/><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="76079d7e154c3a982b1d117793942c3a"/><file name="Sue.php" hash="31280f2c8abf21f0a582b656fb0d38ad"/></dir><dir name="Pp"><file name="Abstract.php" hash="e6c5afcb0653d2ec3de3bd5d1442b355"/><file name="Wspp.php" hash="5c4d194c7814416491892f4cbe272d9f"/></dir><file name="Pp.php" hash="c521bbb32aed313c0170dd6e8361f934"/><file name="Router.php" hash="1df693718ebb4b71d2ae790678927194"/><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="da63e630e339f73b1047f9be2fc13a80"/><file name="Native.php" hash="a18abef66d98a08e988bafa1564dfaa2"/><file name="Phoenix107.php" hash="958990a7ec99a4c102b335e68db4f563"/><file name="Phoenix108.php" hash="912cb903da51a2056f03d75c566dbc7b"/></dir><file name="Cod.php" hash="0688749cd9110544d01e5c1130be3005"/><file name="Invoice.php" hash="a86d8500a0dee3056e56b0ccfb1fae3d"/><file name="Mws.php" hash="66b68310d396e83423aefbd6e266c7ff"/><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="03a7c4b8e193d262aa2dbd51cdac3ab8"/><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="eb79f9f8469652e91b11fd5d714db84f"/><file name="Shopgate.php" hash="32b4ae3f7ceba3de183233973db4f03b"/><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="50e049e1cae29abbd7027cf842878540"/><file name="Wspp.php" hash="23b0420ff59dc0bfa7940bf0f07562fc"/></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="7cc03239fbefe3a8e71755a178299944"/><file name="Simple.php" hash="9da9891d52c89e0772af5bcea7581ae8"/></dir><file name="Stock.php" hash="03d8139aa9840d707c8e4cb991bca20f"/></dir></dir><file name="Connection.php" hash="ff0da764d444103f5892ef21e23ba353"/><file name="Order.php" hash="89e0e425fc48282c1b46d3078b294be1"/><file name="Plugin.php" hash="c61b5f65c86551130a2d5de65750cf40"/><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="14969ce8762a7fa5e5e5d6bc64285f52"/></dir></dir><file name="Mapper.php" hash="b93ac160c4c176c77887a23593ab058c"/></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="77382cb829f4b3b50120d7e1359e0051"/></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><file name="changelog.txt" hash="34155085701cc76d8db609ddd106f7d8"/><dir name="controllers"><dir name="Adminhtml"><file name="ShopgateController.php" hash="cd2305edb0348a15f956d20d39433778"/></dir><file name="FrameworkController.php" hash="2aec53db3cedaf901ef6199dc000cda2"/></dir><dir name="etc"><file name="adminhtml.xml" hash="d1f345ca5fc8b0619234f9c270fb84a7"/><file name="config.xml" hash="ef6e6929a3612d533047d5502ced5563"/><file name="system.xml" hash="eae99f8132b6316c0abdc0ec7440ddb6"/></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.4-2.9.5.php" hash="89a34b7b9ad2eec492055e52e7e75049"/></dir></dir></dir></dir></target><target name="magelocale"><dir name="de_DE"><file name="Shopgate_Framework.csv" hash="bdf9f8ed6d5127744440bfd72bb09e06"/></dir><dir name="de_CH"><file name="Shopgate_Framework.csv" hash="bdf9f8ed6d5127744440bfd72bb09e06"/></dir><dir name="de_AT"><file name="Shopgate_Framework.csv" hash="bdf9f8ed6d5127744440bfd72bb09e06"/></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="f9865eae13ed93fd41788aa27b0391ee"/><file name="link_tag.html" hash="4798d67e30ef4a76dd8435326421673d"/><file name="mobile_header.html" hash="17616650e160eaccd24e25729396c5a9"/></dir><file name="changelog.txt" hash="414f746ad2ce641b8ddf0e8e24a8709f"/><dir name="classes"><file name="apis.php" hash="61ceeade474c9dffa98c9c15691cae7f"/><file name="configuration.php" hash="6b95519eed1c7bde3951e4ea52463181"/><file name="core.php" hash="5e2c4dd749dd92578e7748b518dd94a6"/><file name="customers.php" hash="3bc00737d0cfd788c24f52b303babd8a"/><file name="external_orders.php" hash="f95b8dddc20b66b7484faf8b1831f875"/><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><file name="index.php" hash="bfc5021f1ee9b67f78a0fc9fdab6c558"/><file name="items.php" hash="7a361efd0a5327c0ad0f0745c1b74cc0"/><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><file name="orders.php" hash="5f9de91ac02bae267456be083ff90087"/><file name="redirect.php" hash="568c682f66c4434188c604158029db57"/></dir><dir name="config"><file name="index.php" hash="bfc5021f1ee9b67f78a0fc9fdab6c558"/></dir><file name="index.php" hash="de19abc78063ea9a4112964c79946f1c"/><file name="shopgate.php" hash="f0482cc4027105bb5d423ddde01e7ac7"/><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="vendors"><file name="2d_is.php" hash="087decaca87ee85d548d8caaa43f1212"/><file name="BSD_license.txt" hash="2df4dd93533ca2c19f6f2d601bc3e0d5"/><file name="JSON.php" hash="c8398aeb5c3c71aeb1813389d9a030af"/><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="2892e0dd200db6c0ffa5fa83f87d838c"/><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.25</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>Peter Liebig</name><user>Shopgate</user><email>p.liebig@me.com</email></author><author><name>Stephan Recknagel</name><user>Shopgate</user><email>mail@recknagel.io</email></author><author><name>Andr&#xE9; Kraus</name><user>Shopgate</user><email>andre.kraus83@googlemail.com</email></author></authors>
13
+ <date>2015-11-10</date>
14
+ <time>14:19:40</time>
15
+ <contents><target name="mageetc"><dir name="modules"><file name="Shopgate_Framework.xml" hash="3fb114204bd038da711122083876f161"/></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="7de8af7ec46e107c46a73efaf2a02034"/><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="Order.php" hash="474c2aa15f352224c11c8ab17e921c9d"/></dir><file name="Config.php" hash="b9ba5dd1c262921e6615c3ae5e83cc59"/><file name="Coupon.php" hash="519697b13040ddfbc8f460b6034c8779"/><file name="Customer.php" hash="c68047909c0c6e14977336ab6afe2f6b"/><file name="Data.php" hash="6139b579d02fb6129b95b5e665104386"/><file name="Debug.php" hash="82c85038046fc9b2f994df18b7f202a6"/><file name="Export.php" hash="fcf14125b4d32ed2f3d1d24bccadcda9"/><dir name="Import"><file name="Order.php" hash="adf21efa29fdba12edfaf0d34e0cb1fb"/></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="a5dfa9e90343a4da4e0791f62b802484"/></dir><dir name="Model"><dir name="Carrier"><file name="Fix.php" hash="31ccd9b4c8ac725e5b2c1dcee096dea8"/></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="517c0cb6067762fcc10496f12ff43e22"/><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="30123a6fe3e391fca911fed042b256c8"/></dir><file name="Customer.php" hash="2711476c9538a22242d1511649ec77f1"/><dir name="Product"><file name="Csv.php" hash="50cd5a66e8034f3584140f91b56fe03d"/><file name="Xml.php" hash="88f8d124729a83fdce23599bc34c92a6"/></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="bd868e74806ec79e93c0fb6f4fcfdd3f"/></dir><file name="Feed.php" hash="fb99cd7b2b3d94908848b722df666b67"/><dir name="Mobile"><file name="Redirect.php" hash="8915ada38de387aabb2dc4580368d347"/></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="da10a5dddba99720bea687ec4fa94c57"/><dir name="Payment"><dir name="Abstract"><file name="AbstractPayol.php" hash="0228e80536a7decbbc0a883a4bde0d0d"/></dir><file name="Abstract.php" hash="873534555f767d24d1b0ab378267e8b9"/><file name="Amazon.php" hash="c90003246111cf066270015b41cb7ff9"/><file name="Authorize.php" hash="6f747fb258e59137cc5dadc179664246"/><file name="Billsafe.php" hash="1c97ec04356ae4ed25c1492a317eaaff"/><dir name="Cc"><file name="Abstract.php" hash="2b291ac14d9e1e3120416d6aeb4c3487"/><file name="Authn.php" hash="5c4c0d849d8d22dab1e6bf374dfc6c79"/><file name="AuthnAbstract.php" hash="59c3e39376e695ac161d228fc9a3fabf"/><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="076a0faf0705c821c5479a2ec4a33c8d"/><file name="Express.php" hash="242b1fc3b238b907ac616680aa446401"/><file name="Factory.php" hash="212e33a78fc1e175d778347c4e4cffee"/><file name="Generic.php" hash="666f06186d1bb96b94af287d221e27c5"/><dir name="Ins"><file name="Payol.php" hash="b6961c4ab1fb9a95ab2d470aeaad8d29"/></dir><file name="Interface.php" hash="151002297bcce208b85bd260c7a25b47"/><dir name="Inv"><file name="Payol.php" hash="6d1c28b2ea2fb2fd63e09712f4533c77"/></dir><file name="MobilePayment.php" hash="59554c65e778831f6add450e0f846f42"/><dir name="Payone"><file name="Abstract.php" hash="e4538042b15ce2ba027a189ae2887861"/><file name="BankAbstract.php" hash="fa4ef2c918868001c5f1df97cb4bc400"/><file name="Cc.php" hash="11e68f50ea43bf73b31c53efea0cbc4d"/><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="76079d7e154c3a982b1d117793942c3a"/><file name="Sue.php" hash="31280f2c8abf21f0a582b656fb0d38ad"/></dir><dir name="Pp"><file name="Abstract.php" hash="e6c5afcb0653d2ec3de3bd5d1442b355"/><file name="Wspp.php" hash="5c4d194c7814416491892f4cbe272d9f"/></dir><file name="Pp.php" hash="c521bbb32aed313c0170dd6e8361f934"/><dir name="Ppal"><file name="Plus.php" hash="a26adaab47adb3f3b84ff872673b4ed1"/></dir><file name="Router.php" hash="1df693718ebb4b71d2ae790678927194"/><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="da63e630e339f73b1047f9be2fc13a80"/><file name="Native.php" hash="a18abef66d98a08e988bafa1564dfaa2"/><file name="Phoenix107.php" hash="958990a7ec99a4c102b335e68db4f563"/><file name="Phoenix108.php" hash="912cb903da51a2056f03d75c566dbc7b"/></dir><file name="Cod.php" hash="0688749cd9110544d01e5c1130be3005"/><file name="Invoice.php" hash="a86d8500a0dee3056e56b0ccfb1fae3d"/><file name="Mws.php" hash="66b68310d396e83423aefbd6e266c7ff"/><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="03a7c4b8e193d262aa2dbd51cdac3ab8"/><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="eb79f9f8469652e91b11fd5d714db84f"/><file name="Shopgate.php" hash="32b4ae3f7ceba3de183233973db4f03b"/><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="50e049e1cae29abbd7027cf842878540"/><file name="Wspp.php" hash="23b0420ff59dc0bfa7940bf0f07562fc"/></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="7cc03239fbefe3a8e71755a178299944"/><file name="Simple.php" hash="9da9891d52c89e0772af5bcea7581ae8"/></dir><file name="Stock.php" hash="03d8139aa9840d707c8e4cb991bca20f"/></dir></dir><file name="Connection.php" hash="ff0da764d444103f5892ef21e23ba353"/><file name="Order.php" hash="89e0e425fc48282c1b46d3078b294be1"/><file name="Plugin.php" hash="45fe6d11c9975ea30d318662b59198e5"/><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="14969ce8762a7fa5e5e5d6bc64285f52"/></dir></dir><file name="Mapper.php" hash="b93ac160c4c176c77887a23593ab058c"/></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="77382cb829f4b3b50120d7e1359e0051"/></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><file name="changelog.txt" hash="3f8d52133a064e86e93fe49cbdd6fb42"/><dir name="controllers"><dir name="Adminhtml"><file name="ShopgateController.php" hash="cd2305edb0348a15f956d20d39433778"/></dir><file name="FrameworkController.php" hash="2aec53db3cedaf901ef6199dc000cda2"/></dir><dir name="etc"><file name="adminhtml.xml" hash="d1f345ca5fc8b0619234f9c270fb84a7"/><file name="config.xml" hash="9962833e2eaf1d75d70ce4c965224316"/><file name="system.xml" hash="b715fdbd76766e347c0f30a8122e58ed"/></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.4-2.9.5.php" hash="89a34b7b9ad2eec492055e52e7e75049"/></dir></dir></dir></dir></target><target name="magelocale"><dir name="de_DE"><file name="Shopgate_Framework.csv" hash="e842a47237b2e613a22e5584108b8b2a"/></dir><dir name="de_CH"><file name="Shopgate_Framework.csv" hash="e842a47237b2e613a22e5584108b8b2a"/></dir><dir name="de_AT"><file name="Shopgate_Framework.csv" hash="664a8dc7470fd9675ca7a67f2bcd1325"/></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="f9865eae13ed93fd41788aa27b0391ee"/><file name="link_tag.html" hash="4798d67e30ef4a76dd8435326421673d"/><file name="mobile_header.html" hash="17616650e160eaccd24e25729396c5a9"/></dir><file name="changelog.txt" hash="eae57d66fcc7d54725202ac2ecde9076"/><dir name="classes"><file name="apis.php" hash="61ceeade474c9dffa98c9c15691cae7f"/><file name="configuration.php" hash="6b95519eed1c7bde3951e4ea52463181"/><file name="core.php" hash="009ad053c7bbe46d02083ec011b4893f"/><file name="customers.php" hash="3bc00737d0cfd788c24f52b303babd8a"/><file name="external_orders.php" hash="811471d13c2a3c5aa5d1a1eb859f74e6"/><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><file name="index.php" hash="bfc5021f1ee9b67f78a0fc9fdab6c558"/><file name="items.php" hash="7a361efd0a5327c0ad0f0745c1b74cc0"/><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><file name="orders.php" hash="aeb0df3eab7b68d1189dc6851fb96a24"/><file name="redirect.php" hash="568c682f66c4434188c604158029db57"/></dir><dir name="config"><file name="index.php" hash="bfc5021f1ee9b67f78a0fc9fdab6c558"/></dir><file name="index.php" hash="de19abc78063ea9a4112964c79946f1c"/><file name="shopgate.php" hash="f0482cc4027105bb5d423ddde01e7ac7"/><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="vendors"><file name="2d_is.php" hash="087decaca87ee85d548d8caaa43f1212"/><file name="BSD_license.txt" hash="2df4dd93533ca2c19f6f2d601bc3e0d5"/><file name="JSON.php" hash="c8398aeb5c3c71aeb1813389d9a030af"/><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="2892e0dd200db6c0ffa5fa83f87d838c"/><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>