shopgate_module - Version 2.9.22

Version Notes

Shopgate Modul

Download this release

Release Info

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


Code changes from version 2.9.21 to 2.9.22

app/code/community/Shopgate/Framework/Helper/Customer.php CHANGED
@@ -65,6 +65,7 @@ class Shopgate_Framework_Helper_Customer extends Shopgate_Framework_Helper_Data
65
  $magentoCustomerAddress->setTelephone($shopgateCustomerAddress->getPhone());
66
  }
67
  }
 
68
 
69
  return $magentoCustomerAddress;
70
  }
@@ -192,7 +193,8 @@ class Shopgate_Framework_Helper_Customer extends Shopgate_Framework_Helper_Data
192
  */
193
  public function registerCustomer($magentoCustomer, $shopgateCustomer)
194
  {
195
- $magentoCustomer = $this->_registerSetBasicData($magentoCustomer, $shopgateCustomer);
 
196
  $this->_registerAddCustomerAddresses($magentoCustomer, $shopgateCustomer);
197
  }
198
 
@@ -215,7 +217,7 @@ class Shopgate_Framework_Helper_Customer extends Shopgate_Framework_Helper_Data
215
  $magentoCustomer->save();
216
  $magentoCustomer->sendNewAccountEmail('registered', '', $magentoCustomer->getStore()->getId());
217
 
218
- return $magentoCustomer;
219
  }
220
 
221
  /**
@@ -229,7 +231,7 @@ class Shopgate_Framework_Helper_Customer extends Shopgate_Framework_Helper_Data
229
  foreach ($shopgateCustomer->getAddresses() as $shopgateCustomerAddress) {
230
  $magentoCustomerAddress = $this->getMagentoCustomerAddress($shopgateCustomerAddress);
231
  $magentoCustomerAddress->setCustomer($magentoCustomer);
232
- $magentoCustomerAddress->setCustomerId($magentoCustomer->getId());
233
  $magentoCustomerAddress->save();
234
 
235
  if ($magentoCustomerAddress->getIsInvoiceAddress() && !$magentoCustomer->getDefaultBillingAddress()) {
65
  $magentoCustomerAddress->setTelephone($shopgateCustomerAddress->getPhone());
66
  }
67
  }
68
+ $magentoCustomerAddress = $this->setCustomFields($magentoCustomerAddress, $shopgateCustomerAddress);
69
 
70
  return $magentoCustomerAddress;
71
  }
193
  */
194
  public function registerCustomer($magentoCustomer, $shopgateCustomer)
195
  {
196
+ $magentoCustomer = $this->_registerSetBasicData($magentoCustomer, $shopgateCustomer);
197
+ $magentoCustomer = $this->setCustomFields($magentoCustomer, $shopgateCustomer);
198
  $this->_registerAddCustomerAddresses($magentoCustomer, $shopgateCustomer);
199
  }
200
 
217
  $magentoCustomer->save();
218
  $magentoCustomer->sendNewAccountEmail('registered', '', $magentoCustomer->getStore()->getId());
219
 
220
+ return $magentoCustomer;
221
  }
222
 
223
  /**
231
  foreach ($shopgateCustomer->getAddresses() as $shopgateCustomerAddress) {
232
  $magentoCustomerAddress = $this->getMagentoCustomerAddress($shopgateCustomerAddress);
233
  $magentoCustomerAddress->setCustomer($magentoCustomer);
234
+ $magentoCustomerAddress->setCustomerId($magentoCustomer->getId());
235
  $magentoCustomerAddress->save();
236
 
237
  if ($magentoCustomerAddress->getIsInvoiceAddress() && !$magentoCustomer->getDefaultBillingAddress()) {
app/code/community/Shopgate/Framework/Helper/Data.php CHANGED
@@ -421,8 +421,8 @@ class Shopgate_Framework_Helper_Data extends Mage_Core_Helper_Abstract
421
  */
422
  public function getStatusFromState($state)
423
  {
424
- if (Mage::helper("shopgate/config")->getIsMagentoVersionLower15() ||
425
- (Mage::helper("shopgate/config")->getEdition() == 'Enterprise' &&
426
  version_compare(Mage::getVersion(), '1.9.1.2', '<'))
427
  ) {
428
  return $this->_getStatusFromStateMagento14x($state);
@@ -734,7 +734,7 @@ class Shopgate_Framework_Helper_Data extends Mage_Core_Helper_Abstract
734
  $item->setInputs($product->getShopgateInputs());
735
  $item->setAttributes($product->getShhopgateAttributes());
736
  $item->setIsBuyable((int)$isBuyable);
737
- $item->setQtyBuyable($isBuyable ? $qtyBuyable : 0);
738
  $item->setStockQuantity($stockQuantity);
739
  $item->setUnitAmount($priceExclTax);
740
  $item->setUnitAmountWithTax($priceInclTax);
@@ -873,9 +873,29 @@ class Shopgate_Framework_Helper_Data extends Mage_Core_Helper_Abstract
873
  ->getUrl('shopgate/framework/receive_authorization/storeviewid/' . $storeViewId);
874
  Mage::app()->setCurrentStore($oldStoreViewId);
875
 
 
876
  return $url;
877
  }
878
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
879
  /**
880
  * Check for enterprise edition
881
  *
@@ -920,4 +940,45 @@ class Shopgate_Framework_Helper_Data extends Mage_Core_Helper_Abstract
920
 
921
  return $result;
922
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
923
  }
421
  */
422
  public function getStatusFromState($state)
423
  {
424
+ if ($this->_getConfigHelper()->getIsMagentoVersionLower15() ||
425
+ ($this->_getConfigHelper()->getEdition() == 'Enterprise' &&
426
  version_compare(Mage::getVersion(), '1.9.1.2', '<'))
427
  ) {
428
  return $this->_getStatusFromStateMagento14x($state);
734
  $item->setInputs($product->getShopgateInputs());
735
  $item->setAttributes($product->getShhopgateAttributes());
736
  $item->setIsBuyable((int)$isBuyable);
737
+ $item->setQtyBuyable($qtyBuyable);
738
  $item->setStockQuantity($stockQuantity);
739
  $item->setUnitAmount($priceExclTax);
740
  $item->setUnitAmountWithTax($priceInclTax);
873
  ->getUrl('shopgate/framework/receive_authorization/storeviewid/' . $storeViewId);
874
  Mage::app()->setCurrentStore($oldStoreViewId);
875
 
876
+ $url = $this->includeHtpassToUrl($url);
877
  return $url;
878
  }
879
 
880
+ /**
881
+ * Injects .htpassw user & pass into URL
882
+ * E.g. http://user:pass@store.com/
883
+ *
884
+ * @param $url
885
+ * @return string
886
+ */
887
+ public function includeHtpassToUrl($url)
888
+ {
889
+ if (isset($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW'])) {
890
+ $http = 'http://';
891
+ $https = 'https://';
892
+ $htpsw = $_SERVER['PHP_AUTH_USER'] . ':' . $_SERVER['PHP_AUTH_PW'] . '@';
893
+ $url = str_replace(array($http, $https), array($http . $htpsw, $https . $htpsw), $url);
894
+ }
895
+
896
+ return $url;
897
+ }
898
+
899
  /**
900
  * Check for enterprise edition
901
  *
940
 
941
  return $result;
942
  }
943
+
944
+ /**
945
+ * @param Mage_Customer_Model_Address_Abstract|Mage_Sales_Model_Abstract $magentoObject
946
+ * @param ShopgateOrder|ShopgateAddress|ShopgateCustomer $shopgateObject
947
+ * @return mixed
948
+ */
949
+ public function setCustomFields($magentoObject, $shopgateObject)
950
+ {
951
+ foreach ($shopgateObject->getCustomFields() as $field) {
952
+ $magentoObject->setData($field->getInternalFieldName(), $field->getValue());
953
+ }
954
+
955
+ return $magentoObject;
956
+ }
957
+
958
+ /**
959
+ * @return Shopgate_Framework_Helper_Config
960
+ */
961
+ protected function _getConfigHelper()
962
+ {
963
+ return Mage::helper('shopgate/config');
964
+ }
965
+
966
+ /**
967
+ * @param $amount
968
+ * @param $taxAmount
969
+ * @param int $precision
970
+ *
971
+ * @return float
972
+ */
973
+ public function calculateTaxRate($amount, $taxAmount, $precision = 2)
974
+ {
975
+ if ($taxAmount > 0) {
976
+ return round(
977
+ (100 * $taxAmount) / ($amount - $taxAmount), $precision
978
+ );
979
+ } else {
980
+ return $amount;
981
+ }
982
+
983
+ }
984
  }
app/code/community/Shopgate/Framework/Helper/Import/Order.php CHANGED
@@ -10,7 +10,7 @@ class Shopgate_Framework_Helper_Import_Order extends Mage_Core_Helper_Abstract
10
  {
11
  /**
12
  * @deprecated v2.9.19 handled in classes now
13
- * @param string $paymentType
14
  *
15
  * @return Mage_Payment_Model_Method_Abstract
16
  */
@@ -129,4 +129,51 @@ class Shopgate_Framework_Helper_Import_Order extends Mage_Core_Helper_Abstract
129
  {
130
  return Mage::getConfig()->getModuleConfig($moduleName)->is('active', 'true');
131
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
132
  }
10
  {
11
  /**
12
  * @deprecated v2.9.19 handled in classes now
13
+ * @param string $paymentType
14
  *
15
  * @return Mage_Payment_Model_Method_Abstract
16
  */
129
  {
130
  return Mage::getConfig()->getModuleConfig($moduleName)->is('active', 'true');
131
  }
132
+
133
+ /**
134
+ * Print comments inside order
135
+ *
136
+ * @param Mage_Sales_Model_Order $order
137
+ * @param ShopgateOrder $shopgateOrder
138
+ * @return mixed
139
+ */
140
+ public function printCustomFieldComments($order, $shopgateOrder)
141
+ {
142
+ if (Mage::getStoreConfig(
143
+ Shopgate_Framework_Model_Config::XML_PATH_SHOPGATE_ORDER_CUSTOMFIELDS_TO_STATUSHISTORY,
144
+ Mage::helper('shopgate/config')->getConfig()->getStoreViewId()
145
+ )
146
+ ) {
147
+ $comment = '';
148
+ $customFieldSet = array(
149
+ $this->_getHelper()
150
+ ->__('[SHOPGATE] Custom fields:') => $shopgateOrder->getCustomFields(),
151
+ $this->_getHelper()
152
+ ->__('Shipping Address fields:') => $shopgateOrder->getDeliveryAddress()->getCustomFields(),
153
+ $this->_getHelper()
154
+ ->__('Billing Address fields:') => $shopgateOrder->getInvoiceAddress()->getCustomFields()
155
+ );
156
+
157
+ foreach ($customFieldSet as $title => $set) {
158
+ $comment .= '<strong>' . $title . '</strong><br/>';
159
+ foreach ($set as $field) {
160
+ $comment .= '"' . addslashes(
161
+ $field->getLabel()
162
+ ) . '" => "' . addslashes($field->getValue()) . '"<br />';
163
+ }
164
+ }
165
+
166
+ $order->addStatusHistoryComment($comment, false);
167
+ }
168
+
169
+ return $order;
170
+ }
171
+
172
+ /**
173
+ * @return Shopgate_Framework_Helper_Data
174
+ */
175
+ protected function _getHelper()
176
+ {
177
+ return Mage::helper('shopgate');
178
+ }
179
  }
app/code/community/Shopgate/Framework/Helper/Sales.php CHANGED
@@ -78,6 +78,12 @@ class Shopgate_Framework_Helper_Sales extends Mage_Core_Helper_Abstract
78
  'save_in_address_book' => $saveInAddressBook,
79
  );
80
 
 
 
 
 
 
 
81
  return $addressData;
82
  }
83
 
78
  'save_in_address_book' => $saveInAddressBook,
79
  );
80
 
81
+ $customFields = array();
82
+ foreach ($address->getCustomFields() as $field) {
83
+ $customFields[] = array($field->getInternalFieldName() => $field->getValue());
84
+ }
85
+ $addressData = array_merge($addressData, $customFields);
86
+
87
  return $addressData;
88
  }
89
 
app/code/community/Shopgate/Framework/Model/Export/Customer/Orders.php CHANGED
@@ -94,6 +94,8 @@ class Shopgate_Framework_Model_Export_Customer_Orders extends Shopgate_Framework
94
  $shopgateExternalOrder->setOrderTaxes($this->_getOrderTaxFormatted($order));
95
  $shopgateExternalOrder->setDeliveryNotes($this->_getDeliveryNotes($order));
96
  $shopgateExternalOrder->setExternalCoupons($this->_getCouponsFormatted($order));
 
 
97
 
98
  array_push($response, $shopgateExternalOrder);
99
  }
@@ -178,8 +180,8 @@ class Shopgate_Framework_Model_Export_Customer_Orders extends Shopgate_Framework
178
  $shopgateItem->setItemNumberPublic($item->getSku());
179
  $shopgateItem->setQuantity((int)$item->getQtyOrdered());
180
  $shopgateItem->setname($item->getName());
181
- $shopgateItem->setUnitAmount($item->getRowTotal());
182
- $shopgateItem->setUnitAmountWithTax($item->getRowTotalInclTax());
183
  $shopgateItem->setTaxPercent($item->getTaxPercent());
184
  $shopgateItem->setCurrency($order->getOrderCurrencyCode());
185
  $shopgateItem->setDescription($item->getDescription());
@@ -263,4 +265,62 @@ class Shopgate_Framework_Model_Export_Customer_Orders extends Shopgate_Framework
263
 
264
  return $result;
265
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
266
  }
94
  $shopgateExternalOrder->setOrderTaxes($this->_getOrderTaxFormatted($order));
95
  $shopgateExternalOrder->setDeliveryNotes($this->_getDeliveryNotes($order));
96
  $shopgateExternalOrder->setExternalCoupons($this->_getCouponsFormatted($order));
97
+ $shopgateExternalOrder->setStatusName(ucwords(str_replace('_', ' ', $order->getStatus())));
98
+ $shopgateExternalOrder->setExtraCosts($this->_getExtraCost($order));
99
 
100
  array_push($response, $shopgateExternalOrder);
101
  }
180
  $shopgateItem->setItemNumberPublic($item->getSku());
181
  $shopgateItem->setQuantity((int)$item->getQtyOrdered());
182
  $shopgateItem->setname($item->getName());
183
+ $shopgateItem->setUnitAmount($item->getPrice());
184
+ $shopgateItem->setUnitAmountWithTax($item->getPriceInclTax());
185
  $shopgateItem->setTaxPercent($item->getTaxPercent());
186
  $shopgateItem->setCurrency($order->getOrderCurrencyCode());
187
  $shopgateItem->setDescription($item->getDescription());
265
 
266
  return $result;
267
  }
268
+
269
+ /**
270
+ * @param Mage_Sales_Model_Order $order
271
+ *
272
+ * @return array
273
+ */
274
+ protected function _getExtraCost($order)
275
+ {
276
+ $result = array();
277
+
278
+ /**
279
+ * shipping
280
+ */
281
+ $shippingCostAmount = $order->getShippingAmount();
282
+
283
+ if ($shippingCostAmount > 0) {
284
+ $extraCost = new ShopgateExternalOrderExtraCost();
285
+ $extraCost->setAmount($shippingCostAmount);
286
+ $extraCost->setType(ShopgateExternalOrderExtraCost::TYPE_SHIPPING);
287
+ $extraCost->setTaxPercent(
288
+ Mage::helper('shopgate')->calculateTaxRate(
289
+ $shippingCostAmount, $order->getShippingTaxAmount()
290
+ )
291
+ );
292
+
293
+ $result[] = $extraCost;
294
+ }
295
+
296
+ /**
297
+ * payment
298
+ */
299
+ $shopgatePaymentFee = $order->getShopgatePaymentFee();
300
+
301
+ if ($shopgatePaymentFee > 0) {
302
+ $extraCost = new ShopgateExternalOrderExtraCost();
303
+ $extraCost->setAmount($shopgatePaymentFee);
304
+ $extraCost->setType(ShopgateExternalOrderExtraCost::TYPE_PAYMENT);
305
+
306
+ $result[] = $extraCost;
307
+ }
308
+
309
+ $codPaymentFee = $order->getCodFee();
310
+
311
+ if ($codPaymentFee > 0) {
312
+ $extraCost = new ShopgateExternalOrderExtraCost();
313
+ $extraCost->setAmount($codPaymentFee);
314
+ $extraCost->setType(ShopgateExternalOrderExtraCost::TYPE_PAYMENT);
315
+ $extraCost->setTaxPercent(
316
+ Mage::helper('shopgate')->calculateTaxRate(
317
+ $codPaymentFee, $order->getCodTaxAmount()
318
+ )
319
+ );
320
+
321
+ $result[] = $extraCost;
322
+ }
323
+
324
+ return $result;
325
+ }
326
  }
app/code/community/Shopgate/Framework/Model/Export/Settings.php CHANGED
@@ -147,8 +147,10 @@ class Shopgate_Framework_Model_Export_Settings extends Shopgate_Framework_Model_
147
  /** @var Mage_Sales_Model_quote $quote */
148
  $store = Mage::app()->getStore()->getId();
149
  $shopgatePaymentMethods = array();
150
-
151
- $paymentMethods = Mage::helper('payment')->getPaymentMethods($store);
 
 
152
  $emptyQuote = Mage::getModel('sales/quote');
153
  foreach ( $paymentMethods as $code => $methodConfig) {
154
  $prefix = 'payment/' . $code . '/';
147
  /** @var Mage_Sales_Model_quote $quote */
148
  $store = Mage::app()->getStore()->getId();
149
  $shopgatePaymentMethods = array();
150
+ $paymentMethods = Mage::getStoreConfig(
151
+ Mage_Payment_Helper_Data::XML_PATH_PAYMENT_METHODS,
152
+ $store
153
+ );
154
  $emptyQuote = Mage::getModel('sales/quote');
155
  foreach ( $paymentMethods as $code => $methodConfig) {
156
  $prefix = 'payment/' . $code . '/';
app/code/community/Shopgate/Framework/Model/Mobile/Redirect.php CHANGED
@@ -38,73 +38,73 @@ class Shopgate_Framework_Model_Mobile_Redirect extends Mage_Core_Model_Abstract
38
  {
39
 
40
  /**
41
- * caching const
42
  */
43
  const CACHE_PRODUCT_OBJECT_ID = 'shopgate_mobile_redirect_product';
44
  const CACHE_PAGE_IDENTIFIER = 'shopgate_mobile_redirect_category';
45
 
46
  /**
47
- * type const
48
  */
49
- const CATEGORY = "category";
50
- const PRODUCT = "product";
51
- const PAGE = "page";
52
- const INDEX = "index";
53
-
 
54
  /**
55
  * @var Shopgate_Framework_Model_Config
56
  */
57
  protected $_config;
58
 
59
  /**
60
- * construct and define config
61
  */
62
  public function _construct()
63
  {
64
  parent::_construct();
65
- $this->_config = Mage::helper("shopgate/config")->getConfig();
66
  }
67
 
68
  /**
69
- * redirect with 301
70
  */
71
  public function redirectWithCode()
72
  {
73
-
74
  try {
75
  // no redirection in admin
76
  if (Mage::app()->getStore()->isAdmin()) {
77
- Mage::getSingleton("core/session")->setData("shopgate_header", '');
78
  return;
79
  }
80
 
81
  // isAjax is not available on Magento < 1.5 >> no ajax-check
82
- if (method_exists(Mage::app()->getRequest(), "isAjax")
83
  && Mage::app()->getRequest()->isAjax()
84
  ) {
85
- Mage::getSingleton("core/session")->setData("shopgate_header", '');
86
  return;
87
  }
88
 
89
  if (!$this->_config->isValidConfig()) {
90
- Mage::getSingleton("core/session")->setData("shopgate_header", '');
91
  return;
92
  }
93
 
94
  if (!Mage::getStoreConfig(
95
- Shopgate_Framework_Model_Config::XML_PATH_SHOPGATE_ACTIVE,
96
- $this->_config->getStoreViewId()
97
  )
98
  ) {
99
- Mage::getSingleton("core/session")->setData("shopgate_header", '');
100
  return;
101
  }
102
 
103
  $jsHeader = $this->_getJsHeader();
104
 
105
- Mage::getSingleton("core/session")->setData("shopgate_header", $jsHeader);
106
  } catch (Exception $e) {
107
- Mage::getSingleton("core/session")->setData("shopgate_header", '');
108
  ShopgateLogger::getInstance()->log('error in mobile redirector: ' . $e->getMessage());
109
  }
110
  }
@@ -119,19 +119,19 @@ class Shopgate_Framework_Model_Mobile_Redirect extends Mage_Core_Model_Abstract
119
  $objId = Mage::app()->getRequest()->getParam('id');
120
  $action = Mage::app()->getRequest()->getControllerName();
121
 
122
- $baseUrl = trim(Mage::app()->getRequest()->getBaseUrl(), "/");
123
- $requestUrl = trim(Mage::app()->getRequest()->getRequestUri(), "/");
124
 
125
  if (Mage::getStoreConfig(Shopgate_Framework_Model_Config::XML_PATH_SHOPGATE_EXPORT_STORES)
126
- && $action == "index" && $baseUrl != $requestUrl
127
  ) {
128
- $action = "category";
129
  $objId = Mage::app()->getStore()->getRootCategoryId();
130
  }
131
 
132
  $redirectType = Mage::getStoreConfig(
133
- Shopgate_Framework_Model_Config::XML_PATH_SHOPGATE_REDIRECT_TYPE,
134
- $this->_config->getStoreViewId()
135
  );
136
  $automaticRedirect = $redirectType == Shopgate_Framework_Model_Config::REDIRECTTYPE_HTTP ? true : false;
137
 
@@ -147,6 +147,10 @@ class Shopgate_Framework_Model_Mobile_Redirect extends Mage_Core_Model_Abstract
147
  $pageIdentifier = $this->_getPageIdentifier($objId);
148
  $jsHeader = $this->_getCachedJsHeaderByType(self::PAGE, $pageIdentifier, $automaticRedirect);
149
  break;
 
 
 
 
150
  case self::INDEX:
151
  $jsHeader = $this->_getCachedJsHeaderByType(self::INDEX, null, $automaticRedirect);
152
  break;
@@ -181,7 +185,7 @@ class Shopgate_Framework_Model_Mobile_Redirect extends Mage_Core_Model_Abstract
181
  return unserialize($cacheData);
182
  }
183
 
184
- $page = Mage::getModel("cms/page")->load($pageId);
185
  $result = $page->getIdentifier();
186
  Mage::app()->saveCache(
187
  serialize($result),
@@ -196,9 +200,9 @@ class Shopgate_Framework_Model_Mobile_Redirect extends Mage_Core_Model_Abstract
196
  }
197
 
198
  /**
199
- * get cached header js for redirect or load and save to cache
200
- *
201
- * @param $type string
202
  * @param $objId string|int
203
  * @param $automaticRedirect
204
  * @return mixed|string|void
@@ -208,22 +212,29 @@ class Shopgate_Framework_Model_Mobile_Redirect extends Mage_Core_Model_Abstract
208
  $storeViewId = $this->_config->getStoreViewId();
209
  switch ($type) {
210
  case self::CATEGORY:
211
- $cacheKey = $storeViewId .'_sg_mobile_category_' . $objId . '_redirect_type_' . intval($automaticRedirect);
 
 
212
  break;
213
  case self::PRODUCT:
214
- $cacheKey = $storeViewId .'_sg_mobile_item_' . $objId . '_redirect_type_' . intval($automaticRedirect);
215
  break;
216
  case self::PAGE:
217
- $cacheKey = $storeViewId .'_sg_mobile_page_' . $objId . '_redirect_type_' . intval($automaticRedirect);
 
 
 
 
 
218
  break;
219
  case self::INDEX:
220
- $cacheKey = $storeViewId .'_sg_mobile_index_redirect_type_' . intval($automaticRedirect);
221
  break;
222
  default:
223
- $cacheKey = $storeViewId .'_sg_mobile_default_type_' . intval($automaticRedirect);
224
  break;
225
  }
226
-
227
  $cache = Mage::app()->getCacheInstance();
228
  $value = $cache->load($cacheKey);
229
 
@@ -233,12 +244,20 @@ class Shopgate_Framework_Model_Mobile_Redirect extends Mage_Core_Model_Abstract
233
  $builder = new ShopgateBuilder($this->_config);
234
  $shopgateRedirect = $builder->buildRedirect();
235
 
236
- if (!in_array(Mage::app()->getRequest()->getControllerName(), array("category", "product", "index"))
 
 
 
 
 
 
 
 
237
  && !Mage::getStoreConfig(Shopgate_Framework_Model_Config::XML_PATH_SHOPGATE_ENABLE_DEFAULT_REDIRECT)
238
  ) {
239
  $shopgateRedirect->suppressRedirect();
240
  }
241
-
242
  $disabledRoutes = explode(
243
  ',',
244
  Mage::getStoreConfig(Shopgate_Framework_Model_Config::XML_PATH_SHOPGATE_DISABLE_REDIRECT_ROUTES)
@@ -247,7 +266,7 @@ class Shopgate_Framework_Model_Mobile_Redirect extends Mage_Core_Model_Abstract
247
  if (in_array($route, $disabledRoutes)) {
248
  $shopgateRedirect->suppressRedirect();
249
  }
250
-
251
  $disabledControllers = explode(
252
  ',',
253
  Mage::getStoreConfig(Shopgate_Framework_Model_Config::XML_PATH_SHOPGATE_DISABLE_REDIRECT_CONTROLLERS)
@@ -257,7 +276,7 @@ class Shopgate_Framework_Model_Mobile_Redirect extends Mage_Core_Model_Abstract
257
  $shopgateRedirect->suppressRedirect();
258
  }
259
 
260
- if ($controllerName == "product") {
261
  $productId = Mage::app()->getRequest()->getParam('id');
262
  $disabledProducts = explode(
263
  ',',
@@ -269,7 +288,7 @@ class Shopgate_Framework_Model_Mobile_Redirect extends Mage_Core_Model_Abstract
269
  }
270
  }
271
 
272
- if ($controllerName == "category") {
273
  $categoryId = Mage::app()->getRequest()->getParam('id');
274
  $disabledCategories = explode(
275
  ',',
@@ -279,7 +298,7 @@ class Shopgate_Framework_Model_Mobile_Redirect extends Mage_Core_Model_Abstract
279
  $shopgateRedirect->suppressRedirect();
280
  }
281
  }
282
-
283
  switch ($type) {
284
  case self::CATEGORY:
285
  $jsHeader = $shopgateRedirect->buildScriptCategory($objId, $automaticRedirect);
@@ -290,6 +309,9 @@ class Shopgate_Framework_Model_Mobile_Redirect extends Mage_Core_Model_Abstract
290
  case self::PAGE:
291
  $jsHeader = $shopgateRedirect->buildScriptCms($objId, $automaticRedirect);
292
  break;
 
 
 
293
  case self::INDEX:
294
  $jsHeader = $shopgateRedirect->buildScriptShop($automaticRedirect);
295
  break;
@@ -297,15 +319,15 @@ class Shopgate_Framework_Model_Mobile_Redirect extends Mage_Core_Model_Abstract
297
  $jsHeader = $shopgateRedirect->buildScriptDefault($automaticRedirect);
298
  break;
299
  }
300
-
301
  $cache->save(
302
- serialize($jsHeader),
303
- $cacheKey,
304
- array(
305
- 'shopgate_mobile_redirect',
306
- Mage_Core_Model_Layout_Update::LAYOUT_GENERAL_CACHE_TAG
307
- ),
308
- 7200
309
  );
310
  }
311
  return $jsHeader;
38
  {
39
 
40
  /**
41
+ * Caching const
42
  */
43
  const CACHE_PRODUCT_OBJECT_ID = 'shopgate_mobile_redirect_product';
44
  const CACHE_PAGE_IDENTIFIER = 'shopgate_mobile_redirect_category';
45
 
46
  /**
47
+ * Type const
48
  */
49
+ const CATEGORY = 'category';
50
+ const PRODUCT = 'product';
51
+ const PAGE = 'page';
52
+ const SEARCH = 'result';
53
+ const INDEX = 'index';
54
+
55
  /**
56
  * @var Shopgate_Framework_Model_Config
57
  */
58
  protected $_config;
59
 
60
  /**
61
+ * Construct and define config
62
  */
63
  public function _construct()
64
  {
65
  parent::_construct();
66
+ $this->_config = Mage::helper('shopgate/config')->getConfig();
67
  }
68
 
69
  /**
70
+ * Redirect with 301
71
  */
72
  public function redirectWithCode()
73
  {
 
74
  try {
75
  // no redirection in admin
76
  if (Mage::app()->getStore()->isAdmin()) {
77
+ Mage::getSingleton('core/session')->setData('shopgate_header', '');
78
  return;
79
  }
80
 
81
  // isAjax is not available on Magento < 1.5 >> no ajax-check
82
+ if (method_exists(Mage::app()->getRequest(), 'isAjax')
83
  && Mage::app()->getRequest()->isAjax()
84
  ) {
85
+ Mage::getSingleton('core/session')->setData('shopgate_header', '');
86
  return;
87
  }
88
 
89
  if (!$this->_config->isValidConfig()) {
90
+ Mage::getSingleton('core/session')->setData('shopgate_header', '');
91
  return;
92
  }
93
 
94
  if (!Mage::getStoreConfig(
95
+ Shopgate_Framework_Model_Config::XML_PATH_SHOPGATE_ACTIVE,
96
+ $this->_config->getStoreViewId()
97
  )
98
  ) {
99
+ Mage::getSingleton('core/session')->setData('shopgate_header', '');
100
  return;
101
  }
102
 
103
  $jsHeader = $this->_getJsHeader();
104
 
105
+ Mage::getSingleton('core/session')->setData('shopgate_header', $jsHeader);
106
  } catch (Exception $e) {
107
+ Mage::getSingleton('core/session')->setData('shopgate_header', '');
108
  ShopgateLogger::getInstance()->log('error in mobile redirector: ' . $e->getMessage());
109
  }
110
  }
119
  $objId = Mage::app()->getRequest()->getParam('id');
120
  $action = Mage::app()->getRequest()->getControllerName();
121
 
122
+ $baseUrl = trim(Mage::app()->getRequest()->getBaseUrl(), '/');
123
+ $requestUrl = trim(Mage::app()->getRequest()->getRequestUri(), '/');
124
 
125
  if (Mage::getStoreConfig(Shopgate_Framework_Model_Config::XML_PATH_SHOPGATE_EXPORT_STORES)
126
+ && $action == 'index' && $baseUrl != $requestUrl
127
  ) {
128
+ $action = 'category';
129
  $objId = Mage::app()->getStore()->getRootCategoryId();
130
  }
131
 
132
  $redirectType = Mage::getStoreConfig(
133
+ Shopgate_Framework_Model_Config::XML_PATH_SHOPGATE_REDIRECT_TYPE,
134
+ $this->_config->getStoreViewId()
135
  );
136
  $automaticRedirect = $redirectType == Shopgate_Framework_Model_Config::REDIRECTTYPE_HTTP ? true : false;
137
 
147
  $pageIdentifier = $this->_getPageIdentifier($objId);
148
  $jsHeader = $this->_getCachedJsHeaderByType(self::PAGE, $pageIdentifier, $automaticRedirect);
149
  break;
150
+ case self::SEARCH:
151
+ $search = Mage::app()->getRequest()->getParam('q');
152
+ $jsHeader = $this->_getCachedJsHeaderByType(self::SEARCH, $search, $automaticRedirect);
153
+ break;
154
  case self::INDEX:
155
  $jsHeader = $this->_getCachedJsHeaderByType(self::INDEX, null, $automaticRedirect);
156
  break;
185
  return unserialize($cacheData);
186
  }
187
 
188
+ $page = Mage::getModel('cms/page')->load($pageId);
189
  $result = $page->getIdentifier();
190
  Mage::app()->saveCache(
191
  serialize($result),
200
  }
201
 
202
  /**
203
+ * Get cached header js for redirect or load and save to cache
204
+ *
205
+ * @param $type string
206
  * @param $objId string|int
207
  * @param $automaticRedirect
208
  * @return mixed|string|void
212
  $storeViewId = $this->_config->getStoreViewId();
213
  switch ($type) {
214
  case self::CATEGORY:
215
+ $cacheKey = $storeViewId . '_sg_mobile_category_' . $objId . '_redirect_type_' . intval(
216
+ $automaticRedirect
217
+ );
218
  break;
219
  case self::PRODUCT:
220
+ $cacheKey = $storeViewId . '_sg_mobile_item_' . $objId . '_redirect_type_' . intval($automaticRedirect);
221
  break;
222
  case self::PAGE:
223
+ $cacheKey = $storeViewId . '_sg_mobile_page_' . $objId . '_redirect_type_' . intval($automaticRedirect);
224
+ break;
225
+ case self::SEARCH:
226
+ $cacheKey = $storeViewId . '_sg_mobile_catalogsearch_' . md5($objId) . '_redirect_type_' . intval(
227
+ $automaticRedirect
228
+ );
229
  break;
230
  case self::INDEX:
231
+ $cacheKey = $storeViewId . '_sg_mobile_index_redirect_type_' . intval($automaticRedirect);
232
  break;
233
  default:
234
+ $cacheKey = $storeViewId . '_sg_mobile_default_type_' . intval($automaticRedirect);
235
  break;
236
  }
237
+
238
  $cache = Mage::app()->getCacheInstance();
239
  $value = $cache->load($cacheKey);
240
 
244
  $builder = new ShopgateBuilder($this->_config);
245
  $shopgateRedirect = $builder->buildRedirect();
246
 
247
+ if (!in_array(
248
+ Mage::app()->getRequest()->getControllerName(),
249
+ array(
250
+ self::CATEGORY,
251
+ self::PRODUCT,
252
+ self::SEARCH,
253
+ self::INDEX
254
+ )
255
+ )
256
  && !Mage::getStoreConfig(Shopgate_Framework_Model_Config::XML_PATH_SHOPGATE_ENABLE_DEFAULT_REDIRECT)
257
  ) {
258
  $shopgateRedirect->suppressRedirect();
259
  }
260
+
261
  $disabledRoutes = explode(
262
  ',',
263
  Mage::getStoreConfig(Shopgate_Framework_Model_Config::XML_PATH_SHOPGATE_DISABLE_REDIRECT_ROUTES)
266
  if (in_array($route, $disabledRoutes)) {
267
  $shopgateRedirect->suppressRedirect();
268
  }
269
+
270
  $disabledControllers = explode(
271
  ',',
272
  Mage::getStoreConfig(Shopgate_Framework_Model_Config::XML_PATH_SHOPGATE_DISABLE_REDIRECT_CONTROLLERS)
276
  $shopgateRedirect->suppressRedirect();
277
  }
278
 
279
+ if ($controllerName == 'product') {
280
  $productId = Mage::app()->getRequest()->getParam('id');
281
  $disabledProducts = explode(
282
  ',',
288
  }
289
  }
290
 
291
+ if ($controllerName == 'category') {
292
  $categoryId = Mage::app()->getRequest()->getParam('id');
293
  $disabledCategories = explode(
294
  ',',
298
  $shopgateRedirect->suppressRedirect();
299
  }
300
  }
301
+
302
  switch ($type) {
303
  case self::CATEGORY:
304
  $jsHeader = $shopgateRedirect->buildScriptCategory($objId, $automaticRedirect);
309
  case self::PAGE:
310
  $jsHeader = $shopgateRedirect->buildScriptCms($objId, $automaticRedirect);
311
  break;
312
+ case self::SEARCH:
313
+ $jsHeader = $shopgateRedirect->buildScriptSearch($objId, $automaticRedirect);
314
+ break;
315
  case self::INDEX:
316
  $jsHeader = $shopgateRedirect->buildScriptShop($automaticRedirect);
317
  break;
319
  $jsHeader = $shopgateRedirect->buildScriptDefault($automaticRedirect);
320
  break;
321
  }
322
+
323
  $cache->save(
324
+ serialize($jsHeader),
325
+ $cacheKey,
326
+ array(
327
+ 'shopgate_mobile_redirect',
328
+ Mage_Core_Model_Layout_Update::LAYOUT_GENERAL_CACHE_TAG
329
+ ),
330
+ 7200
331
  );
332
  }
333
  return $jsHeader;
app/code/community/Shopgate/Framework/Model/Payment/Simple/Shopgate.php CHANGED
@@ -30,9 +30,10 @@ class Shopgate_Framework_Model_Payment_Simple_Shopgate
30
  extends Shopgate_Framework_Model_Payment_Abstract
31
  implements Shopgate_Framework_Model_Payment_Interface
32
  {
33
- const PAYMENT_IDENTIFIER = ShopgateOrder::SHOPGATE;
34
- const MODULE_CONFIG = 'Shopgate_Framework';
35
- const PAYMENT_MODEL = 'shopgate/payment_shopgate';
 
36
 
37
  /**
38
  * No need to check activation, just import!
@@ -43,15 +44,4 @@ class Shopgate_Framework_Model_Payment_Simple_Shopgate
43
  {
44
  return true;
45
  }
46
-
47
- /**
48
- * No need to pull status, it is assigned automatically
49
- *
50
- * @param Mage_Sales_Model_Order $magentoOrder
51
- * @return mixed
52
- */
53
- public function setOrderStatus($magentoOrder)
54
- {
55
- return $magentoOrder->setShopgateStatusSet(true);
56
- }
57
  }
30
  extends Shopgate_Framework_Model_Payment_Abstract
31
  implements Shopgate_Framework_Model_Payment_Interface
32
  {
33
+ const PAYMENT_IDENTIFIER = ShopgateOrder::SHOPGATE;
34
+ const MODULE_CONFIG = 'Shopgate_Framework';
35
+ const PAYMENT_MODEL = 'shopgate/payment_shopgate';
36
+ const XML_CONFIG_STATUS_PAID = 'payment/shopgate/order_status';
37
 
38
  /**
39
  * No need to check activation, just import!
44
  {
45
  return true;
46
  }
 
 
 
 
 
 
 
 
 
 
 
47
  }
app/code/community/Shopgate/Framework/Model/Shopgate/Plugin.php CHANGED
@@ -511,8 +511,8 @@ class Shopgate_Framework_Model_Shopgate_Plugin extends ShopgatePlugin
511
 
512
  foreach ($order->getItems() as $item) {
513
  /* @var $item ShopgateOrderItem */
514
- if (!$item->getInternalOrderInfo()) {
515
- /** might be a shopgate coupon due to we only export products with internal_order_info */
516
  continue;
517
  }
518
 
@@ -758,15 +758,12 @@ class Shopgate_Framework_Model_Shopgate_Plugin extends ShopgatePlugin
758
  if ($order instanceof ShopgateOrder) {
759
  foreach ($order->getItems() as $item) {
760
  /** @var ShopgateOrderItem $item */
 
 
 
761
  if ($this->useTaxClasses) {
762
- if ($item->getUnitAmount() >= 0) {
763
- continue;
764
- }
765
  $itemAmount = $item->getUnitAmount();
766
  } else {
767
- if ($item->getUnitAmountWithTax() >= 0 && $item->getInternalOrderInfo()) {
768
- continue;
769
- }
770
  $itemAmount = $item->getUnitAmountWithTax();
771
  }
772
 
@@ -1007,8 +1004,8 @@ class Shopgate_Framework_Model_Shopgate_Plugin extends ShopgatePlugin
1007
  )
1008
  );
1009
 
1010
- $quote->setIsActive("0");
1011
- $quote->setRemoteIp("shopgate.com");
1012
  $quote->save();
1013
  if (empty($externalCustomerId)) {
1014
  $quote->getBillingAddress()->isObjectNew(false);
@@ -1112,21 +1109,23 @@ class Shopgate_Framework_Model_Shopgate_Plugin extends ShopgatePlugin
1112
  */
1113
  protected function _addCustomFields(Mage_Sales_Model_Order $magentoOrder, ShopgateOrder $shopgateOrder)
1114
  {
1115
- foreach ($shopgateOrder->getCustomFields() as $field) {
1116
- $magentoOrder->setDataUsingMethod($field->getInternalFieldName(), $field->getValue());
1117
- }
 
 
1118
  $invoiceAddress = $shopgateOrder->getInvoiceAddress();
1119
- foreach ($invoiceAddress->getCustomFields() as $field) {
1120
- $billing = $magentoOrder->getBillingAddress();
1121
- $billing->setDataUsingMethod($field->getInternalFieldName(), $field->getValue());
1122
- $magentoOrder->setBillingAddress($billing);
1123
- }
 
 
1124
  $deliveryAddress = $shopgateOrder->getDeliveryAddress();
1125
- foreach ($deliveryAddress->getCustomFields() as $field) {
1126
- $shipping = $magentoOrder->getShippingAddress();
1127
- $shipping->setDataUsingMethod($field->getInternalFieldName(), $field->getValue());
1128
- $magentoOrder->setShippingAddress($shipping);
1129
- }
1130
 
1131
  return $magentoOrder;
1132
  }
@@ -1172,22 +1171,8 @@ class Shopgate_Framework_Model_Shopgate_Plugin extends ShopgatePlugin
1172
  ),
1173
  false
1174
  );
1175
-
1176
- if (Mage::getStoreConfig(
1177
- Shopgate_Framework_Model_Config::XML_PATH_SHOPGATE_ORDER_CUSTOMFIELDS_TO_STATUSHISTORY,
1178
- $this->_getConfig()->getStoreViewId()
1179
- )
1180
- ) {
1181
- foreach ($shopgateOrder->getCustomFields() as $field) {
1182
- $order->addStatusHistoryComment(
1183
- $this->_getHelper()
1184
- ->__("[SHOPGATE] Custom fields:") . "\n\"" . addslashes(
1185
- $field->getLabel()
1186
- ) . "\" => \"" . addslashes($field->getValue()) . "\"",
1187
- false
1188
- );
1189
- }
1190
- }
1191
 
1192
  return $order;
1193
  }
511
 
512
  foreach ($order->getItems() as $item) {
513
  /* @var $item ShopgateOrderItem */
514
+ if ($item->isSgCoupon()) {
515
+ /** is a shopgate coupon */
516
  continue;
517
  }
518
 
758
  if ($order instanceof ShopgateOrder) {
759
  foreach ($order->getItems() as $item) {
760
  /** @var ShopgateOrderItem $item */
761
+ if (!$item->isSgCoupon()) {
762
+ continue;
763
+ }
764
  if ($this->useTaxClasses) {
 
 
 
765
  $itemAmount = $item->getUnitAmount();
766
  } else {
 
 
 
767
  $itemAmount = $item->getUnitAmountWithTax();
768
  }
769
 
1004
  )
1005
  );
1006
 
1007
+ $quote->setIsActive('0');
1008
+ $quote->setRemoteIp('shopgate.com');
1009
  $quote->save();
1010
  if (empty($externalCustomerId)) {
1011
  $quote->getBillingAddress()->isObjectNew(false);
1109
  */
1110
  protected function _addCustomFields(Mage_Sales_Model_Order $magentoOrder, ShopgateOrder $shopgateOrder)
1111
  {
1112
+ $magentoOrder = $this->_getHelper()->setCustomFields($magentoOrder, $shopgateOrder);
1113
+
1114
+ /**
1115
+ * Assign custom fields to billing address
1116
+ */
1117
  $invoiceAddress = $shopgateOrder->getInvoiceAddress();
1118
+ $billing = $magentoOrder->getBillingAddress();
1119
+ $billing = $this->_getHelper()->setCustomFields($billing, $invoiceAddress);
1120
+ $magentoOrder->setBillingAddress($billing);
1121
+
1122
+ /**
1123
+ * Assign custom fields to shipping address
1124
+ */
1125
  $deliveryAddress = $shopgateOrder->getDeliveryAddress();
1126
+ $shipping = $magentoOrder->getShippingAddress();
1127
+ $shipping = $this->_getHelper()->setCustomFields($shipping, $deliveryAddress);
1128
+ $magentoOrder->setShippingAddress($shipping);
 
 
1129
 
1130
  return $magentoOrder;
1131
  }
1171
  ),
1172
  false
1173
  );
1174
+
1175
+ Mage::helper('shopgate/import_order')->printCustomFieldComments($order, $shopgateOrder);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1176
 
1177
  return $order;
1178
  }
app/code/community/Shopgate/Framework/changelog.txt CHANGED
@@ -1,5 +1,17 @@
1
  '''English'''
2
 
 
 
 
 
 
 
 
 
 
 
 
 
3
  '''Version 2.9.21'''
4
  * Fixed compatibility problem with Magento 1.4.0
5
  * fixed plugin not active error during oAuth registration
1
  '''English'''
2
 
3
+ '''Version 2.9.22'''
4
+ * Totals collector Invalid Block Type exception fix
5
+ * Added redirect for quick search query links to mobile site
6
+ * Fixed compatibility issue in get_settings with magento 1.4.x
7
+ * Translated magento order status to shopgate order status
8
+ * New Shopgate payment orders now have the correct state in Processing status
9
+ * Added htpassw user & pass data in oAuth calls
10
+ * Now prints customer custom fields in order history
11
+ * Now saves customer custom fields if customer attribute exists in magento
12
+ * added custom fields on get_orders
13
+ * check_cart now returns the maximum quantity buyable if requested quantity is bigger than stock quantity
14
+
15
  '''Version 2.9.21'''
16
  * Fixed compatibility problem with Magento 1.4.0
17
  * fixed plugin not active error during oAuth registration
app/code/community/Shopgate/Framework/etc/config.xml CHANGED
@@ -2,7 +2,7 @@
2
  <config>
3
  <modules>
4
  <Shopgate_Framework>
5
- <version>2.9.21</version>
6
  </Shopgate_Framework>
7
  </modules>
8
  <global>
2
  <config>
3
  <modules>
4
  <Shopgate_Framework>
5
+ <version>2.9.22</version>
6
  </Shopgate_Framework>
7
  </modules>
8
  <global>
lib/Shopgate/changelog.txt CHANGED
@@ -1,3 +1,13 @@
 
 
 
 
 
 
 
 
 
 
1
  '''Version 2.9.24'''
2
  * added constants for some payment methods
3
 
1
+
2
+ '''Version 2.9.26'''
3
+ * added constants for order item types
4
+ * added external order items parameter: amount_items_gross; amount_items_net; amount_complete_net; amount_complete_gross
5
+
6
+ '''Version 2.9.25'''
7
+ * added and changed error messages for method checkCart and checkStock
8
+ * added ShopgateOrderItem::$type property, getter and setter
9
+ * fixed a bug in the comparison of objects leading to a "nesting level too deep" error
10
+
11
  '''Version 2.9.24'''
12
  * added constants for some payment methods
13
 
lib/Shopgate/classes/configuration.php CHANGED
@@ -498,7 +498,8 @@ class ShopgateConfig extends ShopgateContainer implements ShopgateConfigInterfac
498
  ###################################################
499
  ### Initialization, loading, saving, validating ###
500
  ###################################################
501
-
 
502
  public final function __construct(array $data = array()) {
503
  // parent constructor not called on purpose, because we need special
504
  // initialization behaviour here (e.g. loading via array or file)
498
  ###################################################
499
  ### Initialization, loading, saving, validating ###
500
  ###################################################
501
+
502
+ /** @noinspection PhpMissingParentConstructorInspection */
503
  public final function __construct(array $data = array()) {
504
  // parent constructor not called on purpose, because we need special
505
  // initialization behaviour here (e.g. loading via array or file)
lib/Shopgate/classes/core.php CHANGED
@@ -24,7 +24,7 @@
24
  ###################################################################################
25
  # define constants
26
  ###################################################################################
27
- define('SHOPGATE_LIBRARY_VERSION', '2.9.24');
28
  define('SHOPGATE_LIBRARY_ENCODING' , 'UTF-8');
29
  define('SHOPGATE_BASE_DIR', realpath(dirname(__FILE__).'/../'));
30
 
@@ -339,7 +339,9 @@ class ShopgateLibraryException extends Exception {
339
  self::CART_ITEM_OUT_OF_STOCK => 'product is not in stock',
340
  self::CART_ITEM_PRODUCT_NOT_FOUND => 'product not found',
341
  self::CART_ITEM_REQUESTED_QUANTITY_NOT_AVAILABLE => 'less stock available than requested',
342
- self::CART_ITEM_INPUT_VALIDATION_FAILED => 'cart item input validation failed',
 
 
343
 
344
  // Authentication errors
345
  self::AUTHENTICATION_FAILED => 'authentication failed',
24
  ###################################################################################
25
  # define constants
26
  ###################################################################################
27
+ define('SHOPGATE_LIBRARY_VERSION', '2.9.26');
28
  define('SHOPGATE_LIBRARY_ENCODING' , 'UTF-8');
29
  define('SHOPGATE_BASE_DIR', realpath(dirname(__FILE__).'/../'));
30
 
339
  self::CART_ITEM_OUT_OF_STOCK => 'product is not in stock',
340
  self::CART_ITEM_PRODUCT_NOT_FOUND => 'product not found',
341
  self::CART_ITEM_REQUESTED_QUANTITY_NOT_AVAILABLE => 'less stock available than requested',
342
+ self::CART_ITEM_INPUT_VALIDATION_FAILED => 'product input validation failed',
343
+ self::CART_ITEM_REQUESTED_QUANTITY_UNDER_MINIMUM_QUANTITY => 'requested quantity is lower than required minimum quantity',
344
+ self::CART_ITEM_REQUESTED_QUANTITY_OVER_MAXIMUM_QUANTITY => 'requested quantity is higher than allowed maximum quantity',
345
 
346
  // Authentication errors
347
  self::AUTHENTICATION_FAILED => 'authentication failed',
lib/Shopgate/classes/external_orders.php CHANGED
@@ -40,7 +40,12 @@ class ShopgateExternalOrder extends ShopgateContainer {
40
  protected $delivery_address;
41
 
42
  protected $currency;
43
- protected $amount_complete;
 
 
 
 
 
44
  protected $is_paid;
45
  protected $payment_method;
46
  protected $payment_time;
@@ -211,10 +216,40 @@ class ShopgateExternalOrder extends ShopgateContainer {
211
  }
212
 
213
  /**
 
 
214
  * @param float $value
215
  */
216
  public function setAmountComplete($value) {
217
- $this->amount_complete = $value;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
218
  }
219
 
220
  /**
@@ -460,10 +495,40 @@ class ShopgateExternalOrder extends ShopgateContainer {
460
  }
461
 
462
  /**
 
 
463
  * @return float
464
  */
465
  public function getAmountComplete() {
466
- return $this->amount_complete;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
467
  }
468
 
469
  /**
@@ -790,7 +855,7 @@ class ShopgateExternalOrderTax extends ShopgateContainer {
790
 
791
  /**
792
  *
793
- * @param string $value
794
  */
795
  public function setLabel($value){
796
  $this->label = $value;
40
  protected $delivery_address;
41
 
42
  protected $currency;
43
+
44
+ protected $amount_items_gross;
45
+ protected $amount_items_net;
46
+ protected $amount_complete_gross;
47
+ protected $amount_complete_net;
48
+
49
  protected $is_paid;
50
  protected $payment_method;
51
  protected $payment_time;
216
  }
217
 
218
  /**
219
+ * @deprecated since version 2.9.26; use setAmountCompleteGross
220
+ *
221
  * @param float $value
222
  */
223
  public function setAmountComplete($value) {
224
+ $this->amount_complete_gross = $value;
225
+ }
226
+
227
+ /**
228
+ * @param float $value
229
+ */
230
+ public function setAmountItemsGross($value) {
231
+ $this->amount_items_gross = $value;
232
+ }
233
+
234
+ /**
235
+ * @param float $value
236
+ */
237
+ public function setAmountItemsNet($value) {
238
+ $this->amount_items_net = $value;
239
+ }
240
+
241
+ /**
242
+ * @param float $value
243
+ */
244
+ public function setAmountCompleteGross($value) {
245
+ $this->amount_complete_gross = $value;
246
+ }
247
+
248
+ /**
249
+ * @param float $value
250
+ */
251
+ public function setAmountCompleteNet($value) {
252
+ $this->amount_complete_net = $value;
253
  }
254
 
255
  /**
495
  }
496
 
497
  /**
498
+ * @deprecated since version 2.9.26; use getAmountCompleteGross
499
+ *
500
  * @return float
501
  */
502
  public function getAmountComplete() {
503
+ return $this->amount_complete_gross;
504
+ }
505
+
506
+ /**
507
+ * @return float
508
+ */
509
+ public function getAmountItemsGross() {
510
+ return $this->amount_items_gross;
511
+ }
512
+
513
+ /**
514
+ * @return float
515
+ */
516
+ public function getAmountItemsNet() {
517
+ return $this->amount_items_net;
518
+ }
519
+
520
+ /**
521
+ * @return float
522
+ */
523
+ public function getAmountCompleteGross() {
524
+ return $this->amount_complete_gross;
525
+ }
526
+
527
+ /**
528
+ * @return float
529
+ */
530
+ public function getAmountCompleteNet() {
531
+ return $this->amount_complete_net;
532
  }
533
 
534
  /**
855
 
856
  /**
857
  *
858
+ * @param null|string $value
859
  */
860
  public function setLabel($value){
861
  $this->label = $value;
lib/Shopgate/classes/models/catalog/Product.php CHANGED
@@ -773,9 +773,13 @@ class Shopgate_Model_Catalog_Product extends Shopgate_Model_AbstractExport {
773
  }
774
  } elseif ($childValue instanceof Shopgate_Model_Abstract) {
775
  /**
776
- * object
777
  */
778
- if($childValue == $parentItem->getData($childKey)) {
 
 
 
 
779
  $childItem->setData($childKey, new Shopgate_Model_Catalog_XmlEmptyObject());
780
  }
781
  }
773
  }
774
  } elseif ($childValue instanceof Shopgate_Model_Abstract) {
775
  /**
776
+ * object - but we check only data array
777
  */
778
+ $parentAttribute = $parentItem->getData($childKey);
779
+
780
+ if ($parentAttribute instanceof Shopgate_Model_Abstract
781
+ && $childValue->getData() == $parentAttribute->getData()
782
+ ) {
783
  $childItem->setData($childKey, new Shopgate_Model_Catalog_XmlEmptyObject());
784
  }
785
  }
lib/Shopgate/classes/orders.php CHANGED
@@ -24,7 +24,7 @@
24
  abstract class ShopgateCartBase extends ShopgateContainer {
25
 
26
  const SHOPGATE = "SHOPGATE";
27
-
28
  // Prepayment
29
  const PREPAY = "PREPAY";
30
  const PAYONE_PRP = "PAYONE_PRP";
@@ -34,7 +34,7 @@ abstract class ShopgateCartBase extends ShopgateContainer {
34
  const DEBIT = "DEBIT";
35
  const PAYMRW_DBT = "PAYMRW_DBT";
36
  const PAYONE_DBT = "PAYONE_DBT";
37
-
38
  // Cash On Delivery
39
  const COD = "COD";
40
  const COLL_STORE = "COLL_STORE";
@@ -65,7 +65,7 @@ abstract class ShopgateCartBase extends ShopgateContainer {
65
  const SG_PAYPAL = "SG_PAYPAL";
66
  const SIX_PP = "SIX_PP";
67
  const WCARD_PP = "WCARD_PP";
68
-
69
  // Credit Card
70
  const CC = "CC";
71
  const AUTHN_CC = "AUTHN_CC";
@@ -171,12 +171,12 @@ abstract class ShopgateCartBase extends ShopgateContainer {
171
 
172
  // Giropay
173
  const PAYONE_GP = "PAYONE_GP";
174
-
175
  // iDEAL
176
  const PAYONE_IDL = "PAYONE_IDL";
177
  const SIX_IDEAL = "SIX_IDEAL";
178
  const SKRILL_IDL = "SKRILL_IDL";
179
-
180
  const AMAZON_PAYMENT = "MWS";
181
 
182
  protected $customer_number;
@@ -711,21 +711,21 @@ abstract class ShopgateCartBase extends ShopgateContainer {
711
 
712
  class ShopgateCart extends ShopgateCartBase {
713
  protected $internal_cart_info;
714
-
715
  /**
716
  * @return string
717
  */
718
  public function getInternalCartInfo() {
719
  return $this->internal_cart_info;
720
  }
721
-
722
  /**
723
  * @param string $value
724
  */
725
  public function setInternalCartInfo($value) {
726
  $this->internal_cart_info = $value;
727
  }
728
-
729
  public function accept(ShopgateContainerVisitor $v) {
730
  $v->visitCart($this);
731
  }
@@ -847,7 +847,7 @@ class ShopgateOrder extends ShopgateCartBase {
847
  public function setShippingCompletedTime($value) {
848
  $this->shipping_completed_time = $value;
849
  }
850
-
851
  /**
852
  * @param float $value
853
  */
@@ -919,7 +919,7 @@ class ShopgateOrder extends ShopgateCartBase {
919
 
920
  $this->delivery_notes = $value;
921
  }
922
-
923
  /**
924
  * @param array $value
925
  */
@@ -1048,7 +1048,7 @@ class ShopgateOrder extends ShopgateCartBase {
1048
 
1049
  return $time;
1050
  }
1051
-
1052
  /**
1053
  * @return float
1054
  */
@@ -1098,7 +1098,7 @@ class ShopgateOrder extends ShopgateCartBase {
1098
  public function getDeliveryNotes() {
1099
  return $this->delivery_notes;
1100
  }
1101
-
1102
  /**
1103
  * @return array
1104
  */
@@ -1108,24 +1108,52 @@ class ShopgateOrder extends ShopgateCartBase {
1108
  }
1109
 
1110
  class ShopgateOrderItem extends ShopgateContainer {
 
 
 
 
 
 
 
1111
  protected $item_number;
 
 
1112
  protected $item_number_public;
 
 
1113
  protected $parent_item_number;
 
 
1114
  protected $order_item_id;
1115
-
 
 
 
 
1116
  protected $quantity;
1117
-
 
1118
  protected $name;
1119
-
 
1120
  protected $unit_amount;
 
 
1121
  protected $unit_amount_with_tax;
1122
-
 
1123
  protected $tax_percent;
 
 
1124
  protected $tax_class_key;
 
 
1125
  protected $tax_class_id;
1126
-
 
1127
  protected $currency;
1128
-
 
1129
  protected $internal_order_info;
1130
 
1131
  protected $options = array();
@@ -1159,11 +1187,11 @@ class ShopgateOrderItem extends ShopgateContainer {
1159
  public function setItemNumberPublic($value) {
1160
  $this->item_number_public = $value;
1161
  }
1162
-
1163
  public function setParentItemNumber($value) {
1164
  $this->parent_item_number = $value;
1165
  }
1166
-
1167
  /**
1168
  * @param int $value
1169
  */
@@ -1171,6 +1199,13 @@ class ShopgateOrderItem extends ShopgateContainer {
1171
  $this->order_item_id = $value;
1172
  }
1173
 
 
 
 
 
 
 
 
1174
  /**
1175
  * @param float $value
1176
  */
@@ -1266,7 +1301,7 @@ class ShopgateOrderItem extends ShopgateContainer {
1266
 
1267
  return;
1268
  }
1269
-
1270
  $inputs = array();
1271
  foreach ($value as $index => $element) {
1272
  if (!($element instanceof ShopgateOrderItemInput) && !is_array($element)) {
@@ -1279,7 +1314,7 @@ class ShopgateOrderItem extends ShopgateContainer {
1279
  $inputs[] = $element;
1280
  }
1281
  }
1282
-
1283
  $this->inputs = $inputs;
1284
  }
1285
 
@@ -1333,11 +1368,11 @@ class ShopgateOrderItem extends ShopgateContainer {
1333
  public function getItemNumberPublic() {
1334
  return $this->item_number_public;
1335
  }
1336
-
1337
  public function getParentItemNumber() {
1338
  return $this->parent_item_number;
1339
  }
1340
-
1341
  /**
1342
  * @return int
1343
  */
@@ -1345,6 +1380,13 @@ class ShopgateOrderItem extends ShopgateContainer {
1345
  return $this->order_item_id;
1346
  }
1347
 
 
 
 
 
 
 
 
1348
  /**
1349
  * @return float
1350
  */
@@ -1428,6 +1470,27 @@ class ShopgateOrderItem extends ShopgateContainer {
1428
  public function accept(ShopgateContainerVisitor $v) {
1429
  $v->visitOrderItem($this);
1430
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1431
  }
1432
 
1433
  class ShopgateOrderItemOption extends ShopgateContainer {
@@ -1686,7 +1749,7 @@ class ShopgateShippingInfo extends ShopgateContainer {
1686
  protected $weight;
1687
  protected $api_response;
1688
  protected $internal_shipping_info;
1689
-
1690
  public function accept(ShopgateContainerVisitor $v) {
1691
  $v->visitShippingInfo($this);
1692
  }
@@ -1721,7 +1784,7 @@ class ShopgateShippingInfo extends ShopgateContainer {
1721
  public function setDisplayName($value) {
1722
  $this->display_name = $value;
1723
  }
1724
-
1725
  /**
1726
  *
1727
  * @return string
@@ -1785,14 +1848,14 @@ class ShopgateShippingInfo extends ShopgateContainer {
1785
  public function setApiResponse($value) {
1786
  $this->api_response = $value;
1787
  }
1788
-
1789
  /**
1790
  * @return string
1791
  */
1792
  public function getInternalShippingInfo() {
1793
  return $this->internal_shipping_info;
1794
  }
1795
-
1796
  /**
1797
  * @param string $value
1798
  */
@@ -1822,6 +1885,7 @@ class ShopgateDeliveryNote extends ShopgateContainer {
1822
  const UPS_API_V1 = "UPS_API_V1";
1823
 
1824
  protected $shipping_service_id = ShopgateDeliveryNote::DHL;
 
1825
  protected $tracking_number = "";
1826
  protected $shipping_time = null;
1827
 
@@ -1836,6 +1900,13 @@ class ShopgateDeliveryNote extends ShopgateContainer {
1836
  $this->shipping_service_id = $value;
1837
  }
1838
 
 
 
 
 
 
 
 
1839
  /**
1840
  * @param string $value
1841
  */
@@ -1862,6 +1933,13 @@ class ShopgateDeliveryNote extends ShopgateContainer {
1862
  return $this->shipping_service_id;
1863
  }
1864
 
 
 
 
 
 
 
 
1865
  /**
1866
  * @return string
1867
  */
@@ -2270,7 +2348,7 @@ class ShopgateShippingMethod extends ShopgateContainer {
2270
  public function setSortOrder($value) {
2271
  $this->sort_order = $value;
2272
  }
2273
-
2274
  /**
2275
  * @param float $value
2276
  */
@@ -2284,21 +2362,21 @@ class ShopgateShippingMethod extends ShopgateContainer {
2284
  public function setAmountWithTax($value) {
2285
  $this->amount_with_tax = $value;
2286
  }
2287
-
2288
  /**
2289
  * @param string $value
2290
  */
2291
  public function setTaxClass($value) {
2292
  $this->tax_class = $value;
2293
  }
2294
-
2295
  /**
2296
  * @param string $value
2297
  */
2298
  public function setTaxPercent($value) {
2299
  $this->tax_percent = $value;
2300
  }
2301
-
2302
  /**
2303
  * @param string $value
2304
  */
@@ -2338,7 +2416,7 @@ class ShopgateShippingMethod extends ShopgateContainer {
2338
  public function getDescription() {
2339
  return $this->description;
2340
  }
2341
-
2342
  /**
2343
  * @return int
2344
  */
@@ -2352,28 +2430,28 @@ class ShopgateShippingMethod extends ShopgateContainer {
2352
  public function getAmount() {
2353
  return $this->amount;
2354
  }
2355
-
2356
  /**
2357
  * @return float
2358
  */
2359
  public function getAmountWithTax() {
2360
  return $this->amount_with_tax;
2361
  }
2362
-
2363
  /**
2364
  * @return string
2365
  */
2366
  public function getTaxClass() {
2367
  return $this->tax_class;
2368
  }
2369
-
2370
  /**
2371
  * @return string
2372
  */
2373
  public function getTaxPercent() {
2374
  return $this->tax_percent;
2375
  }
2376
-
2377
  /**
2378
  * @return string
2379
  */
@@ -2530,7 +2608,7 @@ class ShopgateCartItem extends ShopgateContainer {
2530
  {
2531
  $this->stock_quantity = $value;
2532
  }
2533
-
2534
  /**
2535
  * @param float $value
2536
  */
@@ -2668,7 +2746,7 @@ class ShopgateCartItem extends ShopgateContainer {
2668
  {
2669
  return $this->stock_quantity;
2670
  }
2671
-
2672
  /**
2673
  * @return float
2674
  */
@@ -2733,14 +2811,14 @@ class ShopgateCartCustomer extends ShopgateContainer {
2733
  ##########
2734
  # Setter #
2735
  ##########
2736
-
2737
  /**
2738
  * @param string $value
2739
  */
2740
  public function setCustomerTaxClassKey($value) {
2741
  $this->customer_tax_class_key = $value;
2742
  }
2743
-
2744
  /**
2745
  * @param ShopgateCartCustomerGroup[] $value
2746
  */
@@ -2751,14 +2829,14 @@ class ShopgateCartCustomer extends ShopgateContainer {
2751
  ##########
2752
  # Getter #
2753
  ##########
2754
-
2755
  /**
2756
  * @return string $value
2757
  */
2758
  public function getCustomerTaxClassKey() {
2759
  return $this->customer_tax_class_key;
2760
  }
2761
-
2762
  /**
2763
  * @return ShopgateCartCustomerGroup[]
2764
  */
@@ -2780,7 +2858,7 @@ class ShopgateCartCustomerGroup extends ShopgateContainer {
2780
  ##########
2781
  # Setter #
2782
  ##########
2783
-
2784
  /**
2785
  * @param string $value
2786
  */
@@ -2791,7 +2869,7 @@ class ShopgateCartCustomerGroup extends ShopgateContainer {
2791
  ##########
2792
  # Getter #
2793
  ##########
2794
-
2795
  /**
2796
  * @return string
2797
  */
24
  abstract class ShopgateCartBase extends ShopgateContainer {
25
 
26
  const SHOPGATE = "SHOPGATE";
27
+
28
  // Prepayment
29
  const PREPAY = "PREPAY";
30
  const PAYONE_PRP = "PAYONE_PRP";
34
  const DEBIT = "DEBIT";
35
  const PAYMRW_DBT = "PAYMRW_DBT";
36
  const PAYONE_DBT = "PAYONE_DBT";
37
+
38
  // Cash On Delivery
39
  const COD = "COD";
40
  const COLL_STORE = "COLL_STORE";
65
  const SG_PAYPAL = "SG_PAYPAL";
66
  const SIX_PP = "SIX_PP";
67
  const WCARD_PP = "WCARD_PP";
68
+
69
  // Credit Card
70
  const CC = "CC";
71
  const AUTHN_CC = "AUTHN_CC";
171
 
172
  // Giropay
173
  const PAYONE_GP = "PAYONE_GP";
174
+
175
  // iDEAL
176
  const PAYONE_IDL = "PAYONE_IDL";
177
  const SIX_IDEAL = "SIX_IDEAL";
178
  const SKRILL_IDL = "SKRILL_IDL";
179
+
180
  const AMAZON_PAYMENT = "MWS";
181
 
182
  protected $customer_number;
711
 
712
  class ShopgateCart extends ShopgateCartBase {
713
  protected $internal_cart_info;
714
+
715
  /**
716
  * @return string
717
  */
718
  public function getInternalCartInfo() {
719
  return $this->internal_cart_info;
720
  }
721
+
722
  /**
723
  * @param string $value
724
  */
725
  public function setInternalCartInfo($value) {
726
  $this->internal_cart_info = $value;
727
  }
728
+
729
  public function accept(ShopgateContainerVisitor $v) {
730
  $v->visitCart($this);
731
  }
847
  public function setShippingCompletedTime($value) {
848
  $this->shipping_completed_time = $value;
849
  }
850
+
851
  /**
852
  * @param float $value
853
  */
919
 
920
  $this->delivery_notes = $value;
921
  }
922
+
923
  /**
924
  * @param array $value
925
  */
1048
 
1049
  return $time;
1050
  }
1051
+
1052
  /**
1053
  * @return float
1054
  */
1098
  public function getDeliveryNotes() {
1099
  return $this->delivery_notes;
1100
  }
1101
+
1102
  /**
1103
  * @return array
1104
  */
1108
  }
1109
 
1110
  class ShopgateOrderItem extends ShopgateContainer {
1111
+
1112
+ const TYPE_ITEM = 'item';
1113
+ const TYPE_PRODUCT = 'item';
1114
+ const TYPE_PAYMENT = 'payment';
1115
+ const TYPE_SHOPGATE_COUPON = 'sg_coupon';
1116
+
1117
+ /** @var string */
1118
  protected $item_number;
1119
+
1120
+ /** @var string */
1121
  protected $item_number_public;
1122
+
1123
+ /** @var string */
1124
  protected $parent_item_number;
1125
+
1126
+ /** @var int */
1127
  protected $order_item_id;
1128
+
1129
+ /** @var string */
1130
+ protected $type;
1131
+
1132
+ /** @var int */
1133
  protected $quantity;
1134
+
1135
+ /** @var string */
1136
  protected $name;
1137
+
1138
+ /** @var float */
1139
  protected $unit_amount;
1140
+
1141
+ /** @var float */
1142
  protected $unit_amount_with_tax;
1143
+
1144
+ /** @var float */
1145
  protected $tax_percent;
1146
+
1147
+ /** @var string */
1148
  protected $tax_class_key;
1149
+
1150
+ /** @var string */
1151
  protected $tax_class_id;
1152
+
1153
+ /** @var string */
1154
  protected $currency;
1155
+
1156
+ /** @var string */
1157
  protected $internal_order_info;
1158
 
1159
  protected $options = array();
1187
  public function setItemNumberPublic($value) {
1188
  $this->item_number_public = $value;
1189
  }
1190
+
1191
  public function setParentItemNumber($value) {
1192
  $this->parent_item_number = $value;
1193
  }
1194
+
1195
  /**
1196
  * @param int $value
1197
  */
1199
  $this->order_item_id = $value;
1200
  }
1201
 
1202
+ /**
1203
+ * @param string $value
1204
+ */
1205
+ public function setType($value) {
1206
+ $this->type = $value;
1207
+ }
1208
+
1209
  /**
1210
  * @param float $value
1211
  */
1301
 
1302
  return;
1303
  }
1304
+
1305
  $inputs = array();
1306
  foreach ($value as $index => $element) {
1307
  if (!($element instanceof ShopgateOrderItemInput) && !is_array($element)) {
1314
  $inputs[] = $element;
1315
  }
1316
  }
1317
+
1318
  $this->inputs = $inputs;
1319
  }
1320
 
1368
  public function getItemNumberPublic() {
1369
  return $this->item_number_public;
1370
  }
1371
+
1372
  public function getParentItemNumber() {
1373
  return $this->parent_item_number;
1374
  }
1375
+
1376
  /**
1377
  * @return int
1378
  */
1380
  return $this->order_item_id;
1381
  }
1382
 
1383
+ /**
1384
+ * @return string
1385
+ */
1386
+ public function getType() {
1387
+ return $this->type;
1388
+ }
1389
+
1390
  /**
1391
  * @return float
1392
  */
1470
  public function accept(ShopgateContainerVisitor $v) {
1471
  $v->visitOrderItem($this);
1472
  }
1473
+
1474
+ /**
1475
+ * @return bool
1476
+ */
1477
+ public function isItem() {
1478
+ return ($this->type == self::TYPE_ITEM);
1479
+ }
1480
+
1481
+ /**
1482
+ * @return bool
1483
+ */
1484
+ public function isSgCoupon() {
1485
+ return ($this->type == self::TYPE_SHOPGATE_COUPON);
1486
+ }
1487
+
1488
+ /**
1489
+ * @return bool
1490
+ */
1491
+ public function isPayment() {
1492
+ return ($this->type == self::TYPE_PAYMENT);
1493
+ }
1494
  }
1495
 
1496
  class ShopgateOrderItemOption extends ShopgateContainer {
1749
  protected $weight;
1750
  protected $api_response;
1751
  protected $internal_shipping_info;
1752
+
1753
  public function accept(ShopgateContainerVisitor $v) {
1754
  $v->visitShippingInfo($this);
1755
  }
1784
  public function setDisplayName($value) {
1785
  $this->display_name = $value;
1786
  }
1787
+
1788
  /**
1789
  *
1790
  * @return string
1848
  public function setApiResponse($value) {
1849
  $this->api_response = $value;
1850
  }
1851
+
1852
  /**
1853
  * @return string
1854
  */
1855
  public function getInternalShippingInfo() {
1856
  return $this->internal_shipping_info;
1857
  }
1858
+
1859
  /**
1860
  * @param string $value
1861
  */
1885
  const UPS_API_V1 = "UPS_API_V1";
1886
 
1887
  protected $shipping_service_id = ShopgateDeliveryNote::DHL;
1888
+ protected $shipping_service_name = "";
1889
  protected $tracking_number = "";
1890
  protected $shipping_time = null;
1891
 
1900
  $this->shipping_service_id = $value;
1901
  }
1902
 
1903
+ /**
1904
+ * @param string $value
1905
+ */
1906
+ public function setShippingServiceName($value) {
1907
+ $this->shipping_service_name = $value;
1908
+ }
1909
+
1910
  /**
1911
  * @param string $value
1912
  */
1933
  return $this->shipping_service_id;
1934
  }
1935
 
1936
+ /**
1937
+ * @return string
1938
+ */
1939
+ public function getShippingServiceName() {
1940
+ return $this->shipping_service_name;
1941
+ }
1942
+
1943
  /**
1944
  * @return string
1945
  */
2348
  public function setSortOrder($value) {
2349
  $this->sort_order = $value;
2350
  }
2351
+
2352
  /**
2353
  * @param float $value
2354
  */
2362
  public function setAmountWithTax($value) {
2363
  $this->amount_with_tax = $value;
2364
  }
2365
+
2366
  /**
2367
  * @param string $value
2368
  */
2369
  public function setTaxClass($value) {
2370
  $this->tax_class = $value;
2371
  }
2372
+
2373
  /**
2374
  * @param string $value
2375
  */
2376
  public function setTaxPercent($value) {
2377
  $this->tax_percent = $value;
2378
  }
2379
+
2380
  /**
2381
  * @param string $value
2382
  */
2416
  public function getDescription() {
2417
  return $this->description;
2418
  }
2419
+
2420
  /**
2421
  * @return int
2422
  */
2430
  public function getAmount() {
2431
  return $this->amount;
2432
  }
2433
+
2434
  /**
2435
  * @return float
2436
  */
2437
  public function getAmountWithTax() {
2438
  return $this->amount_with_tax;
2439
  }
2440
+
2441
  /**
2442
  * @return string
2443
  */
2444
  public function getTaxClass() {
2445
  return $this->tax_class;
2446
  }
2447
+
2448
  /**
2449
  * @return string
2450
  */
2451
  public function getTaxPercent() {
2452
  return $this->tax_percent;
2453
  }
2454
+
2455
  /**
2456
  * @return string
2457
  */
2608
  {
2609
  $this->stock_quantity = $value;
2610
  }
2611
+
2612
  /**
2613
  * @param float $value
2614
  */
2746
  {
2747
  return $this->stock_quantity;
2748
  }
2749
+
2750
  /**
2751
  * @return float
2752
  */
2811
  ##########
2812
  # Setter #
2813
  ##########
2814
+
2815
  /**
2816
  * @param string $value
2817
  */
2818
  public function setCustomerTaxClassKey($value) {
2819
  $this->customer_tax_class_key = $value;
2820
  }
2821
+
2822
  /**
2823
  * @param ShopgateCartCustomerGroup[] $value
2824
  */
2829
  ##########
2830
  # Getter #
2831
  ##########
2832
+
2833
  /**
2834
  * @return string $value
2835
  */
2836
  public function getCustomerTaxClassKey() {
2837
  return $this->customer_tax_class_key;
2838
  }
2839
+
2840
  /**
2841
  * @return ShopgateCartCustomerGroup[]
2842
  */
2858
  ##########
2859
  # Setter #
2860
  ##########
2861
+
2862
  /**
2863
  * @param string $value
2864
  */
2869
  ##########
2870
  # Getter #
2871
  ##########
2872
+
2873
  /**
2874
  * @return string
2875
  */
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>shopgate_module</name>
4
- <version>2.9.21</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-09-17</date>
14
- <time>14:35:01</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="9317086e730aedc99c7c187ebf898a7b"/><file name="Data.php" hash="fee342e3b3c84fe574f2335a800386f2"/><file name="Debug.php" hash="82c85038046fc9b2f994df18b7f202a6"/><file name="Export.php" hash="205dee2b07a96990efdc7ecca08cf075"/><dir name="Import"><file name="Order.php" hash="bf2e1bbee6fb46ec22e5c6a1ed0a0404"/></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="d6c50ee8b07947680a7ef6202de526a3"/></dir><dir name="Model"><dir name="Carrier"><file name="Fix.php" hash="b29aaf2603b9bb18bb4452f4a8f94ef4"/></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="98f11380fdc5d83bd8d04fbc8a00041d"/></dir><file name="Customer.php" hash="2711476c9538a22242d1511649ec77f1"/><dir name="Product"><file name="Csv.php" hash="579821eee1466a94b6aa1daf8fdc83c7"/><file name="Xml.php" hash="841aa15d8e195bc1ded566290caa8dd9"/></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="0bb22a0cbf0d89392a73af161e9c6c3a"/></dir><file name="Feed.php" hash="fb99cd7b2b3d94908848b722df666b67"/><dir name="Mobile"><file name="Redirect.php" hash="637ba202475a901806d3ba822d9cdc1e"/></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="cd01113947410cfc54be61e2daa60aeb"/></dir><file name="Abstract.php" hash="b824e58f30ffce15e74a6e8e331ab46f"/><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="c38935ef46ad1ca1a9c475e23bf2a3fa"/><file name="AuthnAbstract.php" hash="191c01a96778b45c5128812f66049b07"/><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="18e6a9df111781de310fc72b339f0292"/><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="d38bac40669498b6d3eb1f89de7a70f8"/><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="93004cedd66ab4bf31e5bb8747b4a606"/><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="939f38d1f3938be6f43c338a3204310f"/><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="f21b1608add7e193bed0ccf0004de3a8"/><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="4008f0c05f243c356f7b7b6132737d46"/><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="768550ab07de9ad19647620a71bf59e2"/><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="2bb1e98271d3ed3cd8368d23572548ec"/><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="c125d7df1909c3adc1edc944e8bce8be"/><dir name="classes"><file name="apis.php" hash="61ceeade474c9dffa98c9c15691cae7f"/><file name="configuration.php" hash="66de7aa2f3e01418c1e070057ac9a028"/><file name="core.php" hash="bb140813e98ccd8714f6c88cececba4e"/><file name="customers.php" hash="3bc00737d0cfd788c24f52b303babd8a"/><file name="external_orders.php" hash="faa434d0a099f5d415d0aec2e3788f46"/><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="e104dedb2b8fa4579b7a93da2cb58dc0"/><dir name="catalog"><file name="Attribute.php" hash="28d8f3bc6c416661d1eaa77726ba7009"/><file name="AttributeGroup.php" hash="0270086ec8006ee8231c6b0baa8d6034"/><file name="Category.php" hash="fcba83c074f7559f44bc62154f7063e0"/><file name="CategoryPath.php" hash="475869aef74c567c8569ee9953210faa"/><file name="Identifier.php" hash="d9a3b16d1fcdec641ca2b0fd77fbd625"/><file name="Input.php" hash="77df45fd89aec19565a5fae7178205bb"/><file name="Manufacturer.php" hash="0e9463bf758f921d4f31d429e12996b2"/><file name="Option.php" hash="fd95fe72bff985ae0b2861da115e2468"/><file name="Price.php" hash="63587038abdac8fbe74428da7c433e28"/><file name="Product.php" hash="13ab692ab92566f3ed1dcebe8ef612a5"/><file name="Property.php" hash="5967f0403a606a27ea4fec71a8402327"/><file name="Relation.php" hash="263cde539af500af911baec4e354079e"/><file name="Review.php" hash="72c94cb1f2a54bafffdb5672d87ecd4d"/><file name="Shipping.php" hash="e4cabbc096e8aed1ffa98a23abb47b2d"/><file name="Stock.php" hash="f157bc07057803b571018df2db0fefa6"/><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="3640490564b897d069c9c4180fb23649"/><file name="index.php" hash="bfc5021f1ee9b67f78a0fc9fdab6c558"/></dir></dir><file name="orders.php" hash="e70ccf1c0c0b1a7073c54fa67d961b3c"/><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.22</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-09-29</date>
14
+ <time>13:40:17</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="b29aaf2603b9bb18bb4452f4a8f94ef4"/></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="579821eee1466a94b6aa1daf8fdc83c7"/><file name="Xml.php" hash="841aa15d8e195bc1ded566290caa8dd9"/></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="cd01113947410cfc54be61e2daa60aeb"/></dir><file name="Abstract.php" hash="b824e58f30ffce15e74a6e8e331ab46f"/><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="c38935ef46ad1ca1a9c475e23bf2a3fa"/><file name="AuthnAbstract.php" hash="191c01a96778b45c5128812f66049b07"/><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="18e6a9df111781de310fc72b339f0292"/><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="d38bac40669498b6d3eb1f89de7a70f8"/><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="93004cedd66ab4bf31e5bb8747b4a606"/><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="939f38d1f3938be6f43c338a3204310f"/><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="521cb19dae0c68d2c0f44fd5cf49e82e"/><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="4276895baf8dafc64694b8bc2d364b8b"/><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="6bc5d85720a1b357b2701539ba66b049"/><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="8df680b4c03245cd009713be166e3426"/><dir name="classes"><file name="apis.php" hash="61ceeade474c9dffa98c9c15691cae7f"/><file name="configuration.php" hash="6b95519eed1c7bde3951e4ea52463181"/><file name="core.php" hash="ef4cd2504f6d17b81cbf1ad307e086f0"/><file name="customers.php" hash="3bc00737d0cfd788c24f52b303babd8a"/><file name="external_orders.php" hash="7b4d0d3c42bf420904903a26c19bb7a3"/><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="e104dedb2b8fa4579b7a93da2cb58dc0"/><dir name="catalog"><file name="Attribute.php" hash="28d8f3bc6c416661d1eaa77726ba7009"/><file name="AttributeGroup.php" hash="0270086ec8006ee8231c6b0baa8d6034"/><file name="Category.php" hash="fcba83c074f7559f44bc62154f7063e0"/><file name="CategoryPath.php" hash="475869aef74c567c8569ee9953210faa"/><file name="Identifier.php" hash="d9a3b16d1fcdec641ca2b0fd77fbd625"/><file name="Input.php" hash="77df45fd89aec19565a5fae7178205bb"/><file name="Manufacturer.php" hash="0e9463bf758f921d4f31d429e12996b2"/><file name="Option.php" hash="fd95fe72bff985ae0b2861da115e2468"/><file name="Price.php" hash="63587038abdac8fbe74428da7c433e28"/><file name="Product.php" hash="b73752fd8e50547a7fd055796bd0ae55"/><file name="Property.php" hash="5967f0403a606a27ea4fec71a8402327"/><file name="Relation.php" hash="263cde539af500af911baec4e354079e"/><file name="Review.php" hash="72c94cb1f2a54bafffdb5672d87ecd4d"/><file name="Shipping.php" hash="e4cabbc096e8aed1ffa98a23abb47b2d"/><file name="Stock.php" hash="f157bc07057803b571018df2db0fefa6"/><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="3640490564b897d069c9c4180fb23649"/><file name="index.php" hash="bfc5021f1ee9b67f78a0fc9fdab6c558"/></dir></dir><file name="orders.php" hash="b34f764bfcdaed1470d41fc7d8afe4da"/><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>