Channelpilotsolutions_Channelpilot - Version 2.2.7

Version Notes

- added support for multiple registrations
- general bugfixes

Download this release

Release Info

Developer Magento Core Team
Extension Channelpilotsolutions_Channelpilot
Version 2.2.7
Comparing to
See all releases


Code changes from version 2.2.6 to 2.2.7

app/code/community/Channelpilotsolutions/Channelpilot/Helper/Export.php CHANGED
@@ -125,7 +125,6 @@ class Channelpilotsolutions_Channelpilot_Helper_Export extends Mage_Core_Helper_
125
 
126
  $this->_customerGroupId = Mage_Customer_Model_Group::NOT_LOGGED_IN_ID;
127
 
128
- $this->_buildCategoryTree();
129
  $this->_initCurrencyChange();
130
  $this->_initConfigurableAttributes();
131
 
@@ -174,7 +173,8 @@ class Channelpilotsolutions_Channelpilot_Helper_Export extends Mage_Core_Helper_
174
 
175
  $categoryCollection = Mage::getModel('catalog/category')->getCollection()
176
  ->addAttributeToSelect('name')
177
- ->addAttributeToSort('path');
 
178
 
179
  foreach($categoryCollection as $category) {
180
  $path = $this->_getCategory($category->getPath());
@@ -330,6 +330,8 @@ class Channelpilotsolutions_Channelpilot_Helper_Export extends Mage_Core_Helper_
330
  return null;
331
  }
332
 
 
 
333
  /** @var $collection Mage_Catalog_Model_Resource_Product_Collection */
334
  $collection = Mage::getModel('catalog/product')->getCollection();
335
  $this->_eavEntity = $collection->getEntity();
125
 
126
  $this->_customerGroupId = Mage_Customer_Model_Group::NOT_LOGGED_IN_ID;
127
 
 
128
  $this->_initCurrencyChange();
129
  $this->_initConfigurableAttributes();
130
 
173
 
174
  $categoryCollection = Mage::getModel('catalog/category')->getCollection()
175
  ->addAttributeToSelect('name')
176
+ ->addAttributeToSort('path')
177
+ ->setStoreId($this->_storeId);
178
 
179
  foreach($categoryCollection as $category) {
180
  $path = $this->_getCategory($category->getPath());
330
  return null;
331
  }
332
 
333
+ $this->_buildCategoryTree();
334
+
335
  /** @var $collection Mage_Catalog_Model_Resource_Product_Collection */
336
  $collection = Mage::getModel('catalog/product')->getCollection();
337
  $this->_eavEntity = $collection->getEntity();
app/code/community/Channelpilotsolutions/Channelpilot/Helper/handler/CPAbstractHandler.php CHANGED
@@ -57,11 +57,16 @@ class CPAbstractHandler {
57
  * @param integer $shopId
58
  * @return boolean
59
  */
60
- public static function isShopRegistered($shopId) {
61
  $collection = Mage::getSingleton('channelpilot/registration')->getCollection()
62
- ->addFieldToSelect('shopId')
63
  ->addFieldToFilter('shopId', array('eq' => $shopId));
64
 
 
 
 
 
 
65
  return (count($collection) > 0);
66
  }
67
 
@@ -89,7 +94,7 @@ class CPAbstractHandler {
89
  */
90
  public static function getShopId($token) {
91
  $shopId = Mage::getModel('channelpilot/registration')->load($token, 'securityToken')
92
- ->getId();
93
 
94
  if(empty($shopId)) {
95
  CPErrorHandler::handle(CPErrors::RESULT_FAILED,'No shop id found for token.','No shop id found for token.');
57
  * @param integer $shopId
58
  * @return boolean
59
  */
60
+ public static function isShopRegistered($shopId, $token = null) {
61
  $collection = Mage::getSingleton('channelpilot/registration')->getCollection()
62
+ ->addFieldToSelect(array('shopId', 'securityToken'))
63
  ->addFieldToFilter('shopId', array('eq' => $shopId));
64
 
65
+ // if token is not null check if a shop with this token is registered otherwise all shops with $shopId
66
+ if($token !== null) {
67
+ $collection->addFieldToFilter('securityToken', array('eq' => $token));
68
+ }
69
+
70
  return (count($collection) > 0);
71
  }
72
 
94
  */
95
  public static function getShopId($token) {
96
  $shopId = Mage::getModel('channelpilot/registration')->load($token, 'securityToken')
97
+ ->getData('shopId');
98
 
99
  if(empty($shopId)) {
100
  CPErrorHandler::handle(CPErrors::RESULT_FAILED,'No shop id found for token.','No shop id found for token.');
app/code/community/Channelpilotsolutions/Channelpilot/Helper/handler/CPCancellationHandler.php CHANGED
@@ -7,6 +7,8 @@
7
  */
8
  class CPCancellationHandler extends CPAbstractHandler {
9
 
 
 
10
  /**
11
  * Handle cancellation hook.
12
  * @return type
@@ -15,6 +17,7 @@ class CPCancellationHandler extends CPAbstractHandler {
15
  $token = Mage::app()->getRequest()->getParam('token', false);
16
  $method = Mage::app()->getRequest()->getParam('method', '');
17
  if ($token && self::isIpAllowedViaSecurityToken($token)) {
 
18
  $cancelled = array();
19
 
20
  $cancelledOrders = $this->getCancelledOrders();
@@ -77,6 +80,7 @@ class CPCancellationHandler extends CPAbstractHandler {
77
  $sResult = Mage::getModel('channelpilot/order_item')->getCollection()
78
  ->addFieldToSelect(array('order_item_id', 'marketplace_order_item_id', 'time' => new Zend_Db_Expr('NOW()')))
79
  ->addCanceledSalesOrderItemsFilter()
 
80
  ->getData();
81
 
82
  try {
@@ -127,6 +131,7 @@ class CPCancellationHandler extends CPAbstractHandler {
127
  $result = Mage::getModel('channelpilot/order')->getCollection()
128
  ->addFieldToSelect(array('order_nr', 'marketplace', 'time' => new Zend_Db_Expr('NOW()'), 'status'))
129
  ->addFieldToFilter('main_table.status', array('neq' => CPOrderStatus::ID_CANCELLED))
 
130
  ->addCancelledSalesOrderFilter()
131
  ->getData();
132
 
7
  */
8
  class CPCancellationHandler extends CPAbstractHandler {
9
 
10
+ protected $_shopId;
11
+
12
  /**
13
  * Handle cancellation hook.
14
  * @return type
17
  $token = Mage::app()->getRequest()->getParam('token', false);
18
  $method = Mage::app()->getRequest()->getParam('method', '');
19
  if ($token && self::isIpAllowedViaSecurityToken($token)) {
20
+ $this->_shopId = self::getShopId($token);
21
  $cancelled = array();
22
 
23
  $cancelledOrders = $this->getCancelledOrders();
80
  $sResult = Mage::getModel('channelpilot/order_item')->getCollection()
81
  ->addFieldToSelect(array('order_item_id', 'marketplace_order_item_id', 'time' => new Zend_Db_Expr('NOW()')))
82
  ->addCanceledSalesOrderItemsFilter()
83
+ ->addFieldToFilter('cp_orders.shop', array('eq' => $this->_shopId))
84
  ->getData();
85
 
86
  try {
131
  $result = Mage::getModel('channelpilot/order')->getCollection()
132
  ->addFieldToSelect(array('order_nr', 'marketplace', 'time' => new Zend_Db_Expr('NOW()'), 'status'))
133
  ->addFieldToFilter('main_table.status', array('neq' => CPOrderStatus::ID_CANCELLED))
134
+ ->addFieldToFilter('main_table.shop', array('eq' => $this->_shopId))
135
  ->addCancelledSalesOrderFilter()
136
  ->getData();
137
 
app/code/community/Channelpilotsolutions/Channelpilot/Helper/handler/CPDeliveryHandler.php CHANGED
@@ -18,7 +18,7 @@ class CPDeliveryHandler extends CPAbstractHandler {
18
  $limit = Mage::app()->getRequest()->getParam('limit', 0);
19
  if ($limit) {
20
  try {
21
-
22
  /** @var $collection Channelpilotsolutions_Channelpilot_Model_Resource_Order_Collection */
23
  $collection = Mage::getModel('channelpilot/order')->getCollection()
24
  ->addFieldToSelect(array('order_nr', 'marketplace'))
@@ -26,7 +26,8 @@ class CPDeliveryHandler extends CPAbstractHandler {
26
  ->addFieldToFilter('main_table.status', array(
27
  array('eq' => CPOrderStatus::ID_IMPORTED),
28
  array('eq' => CPOrderStatus::ID_PARTIALLY_DELIVERED)
29
- ));
 
30
 
31
  $sResult = array();
32
  $incomplete = 0;
18
  $limit = Mage::app()->getRequest()->getParam('limit', 0);
19
  if ($limit) {
20
  try {
21
+ $shopId = self::getShopId($token);
22
  /** @var $collection Channelpilotsolutions_Channelpilot_Model_Resource_Order_Collection */
23
  $collection = Mage::getModel('channelpilot/order')->getCollection()
24
  ->addFieldToSelect(array('order_nr', 'marketplace'))
26
  ->addFieldToFilter('main_table.status', array(
27
  array('eq' => CPOrderStatus::ID_IMPORTED),
28
  array('eq' => CPOrderStatus::ID_PARTIALLY_DELIVERED)
29
+ ))
30
+ ->addFieldToFilter('main_table.shop', array('eq' => $shopId));
31
 
32
  $sResult = array();
33
  $incomplete = 0;
app/code/community/Channelpilotsolutions/Channelpilot/Helper/handler/CPNewPriceHandler.php CHANGED
@@ -94,10 +94,11 @@ class CPNewPriceHandler extends CPAbstractHandler {
94
  $taxRateRequest = $taxCalculation->getRateRequest(null, null, null, $store);
95
  $taxRates = array();
96
 
97
- $field = Mage::getStoreConfig('channelpilot_pricecontrol/general_prices/channelpilot_generalPriceField');
 
98
 
99
- if(!in_array($field, array('price', 'special_price'))) {
100
- CPErrorHandler::handle(CPResultCodes::SYSTEM_ERROR, " Error by choosing price field '$field'", "Error by choosing price field '$field'");
101
  }
102
 
103
  $resource = Mage::getModel('catalog/product')->getResource();
@@ -109,7 +110,7 @@ class CPNewPriceHandler extends CPAbstractHandler {
109
  // get every used product entity_id
110
  foreach ($result->managedArticlePrices as $articlePrice) {
111
  $id = $articlePrice->article->id;
112
- if($field == 'sku') {
113
  $id = Mage::getModel('catalog/product')->getIdBySku($articlePrice->article->id);
114
  }
115
  $productIds[] = $id;
@@ -119,7 +120,7 @@ class CPNewPriceHandler extends CPAbstractHandler {
119
  // for all products from $result->managedArticlePrices
120
  $collection = Mage::getModel('catalog/product')->getCollection()
121
  ->addAttributeToSelect(array('tax_class_id', 'entity_id', 'sku'))
122
- ->addFieldToFilter($field, array('in' => $productIds));
123
 
124
 
125
  // store the tax rate for every product
@@ -131,7 +132,7 @@ class CPNewPriceHandler extends CPAbstractHandler {
131
 
132
  foreach ($result->managedArticlePrices as $articlePrice) {
133
  $id = $articlePrice->article->id;
134
- if($field == 'sku') {
135
  $id = Mage::getModel('catalog/product')->getIdBySku($articlePrice->article->id);
136
  }
137
 
@@ -141,8 +142,7 @@ class CPNewPriceHandler extends CPAbstractHandler {
141
  ->setStoreId($shopId);
142
 
143
  $price = $useNet ? $articlePrice->price / (($taxRates[$id] / 100) + 1) : $articlePrice->price;
144
- $field = Mage::getStoreConfig('channelpilot_pricecontrol/general_prices/channelpilot_generalPriceField');
145
- switch ($field) {
146
  case 'price':
147
  $product->setPrice($price);
148
  $resource->saveAttribute($product, 'price');
@@ -152,7 +152,7 @@ class CPNewPriceHandler extends CPAbstractHandler {
152
  $resource->saveAttribute($product, 'special_price');
153
  break;
154
  default:
155
- CPErrorHandler::handle(CPResultCodes::SYSTEM_ERROR, " Error by choosing price field '$field'", "Error by choosing price field '$field'");
156
  break;
157
  }
158
  $lastPriceUpdate = $articlePrice->lastUpdate;
94
  $taxRateRequest = $taxCalculation->getRateRequest(null, null, null, $store);
95
  $taxRates = array();
96
 
97
+ $priceField = Mage::getStoreConfig('channelpilot_pricecontrol/general_prices/channelpilot_generalPriceField');
98
+ $idField = Mage::getStoreConfig('channelpilot_general/channelpilot_general/channelpilot_articlenumber');
99
 
100
+ if(!in_array($priceField, array('price', 'special_price'))) {
101
+ CPErrorHandler::handle(CPResultCodes::SYSTEM_ERROR, " Error by choosing price field '$priceField'", "Error by choosing price field '$priceField'");
102
  }
103
 
104
  $resource = Mage::getModel('catalog/product')->getResource();
110
  // get every used product entity_id
111
  foreach ($result->managedArticlePrices as $articlePrice) {
112
  $id = $articlePrice->article->id;
113
+ if($idField == 'sku') {
114
  $id = Mage::getModel('catalog/product')->getIdBySku($articlePrice->article->id);
115
  }
116
  $productIds[] = $id;
120
  // for all products from $result->managedArticlePrices
121
  $collection = Mage::getModel('catalog/product')->getCollection()
122
  ->addAttributeToSelect(array('tax_class_id', 'entity_id', 'sku'))
123
+ ->addFieldToFilter($idField, array('in' => $productIds));
124
 
125
 
126
  // store the tax rate for every product
132
 
133
  foreach ($result->managedArticlePrices as $articlePrice) {
134
  $id = $articlePrice->article->id;
135
+ if($idField == 'sku') {
136
  $id = Mage::getModel('catalog/product')->getIdBySku($articlePrice->article->id);
137
  }
138
 
142
  ->setStoreId($shopId);
143
 
144
  $price = $useNet ? $articlePrice->price / (($taxRates[$id] / 100) + 1) : $articlePrice->price;
145
+ switch ($priceField) {
 
146
  case 'price':
147
  $product->setPrice($price);
148
  $resource->saveAttribute($product, 'price');
152
  $resource->saveAttribute($product, 'special_price');
153
  break;
154
  default:
155
+ CPErrorHandler::handle(CPResultCodes::SYSTEM_ERROR, " Error by choosing price field '$priceField'", "Error by choosing price field '$priceField'");
156
  break;
157
  }
158
  $lastPriceUpdate = $articlePrice->lastUpdate;
app/code/community/Channelpilotsolutions/Channelpilot/Helper/handler/CPOrderHandler.php CHANGED
@@ -115,12 +115,7 @@ class CPOrderHandler extends CPAbstractHandler {
115
  }
116
 
117
  $quote->getBillingAddress()->importCustomerAddress(Mage::getModel('customer/address')->load($customer->getDefaultBilling()));
118
-
119
- $shippingAddress = $quote->getShippingAddress()->importCustomerAddress(Mage::getModel('customer/address')->load($customer->getDefaultShipping()));
120
- if (substr(Mage::getVersion(), 2, 3) >= 9) {
121
- $quote->getBillingAddress()->setCompany($apiOrder->addressInvoice->company);
122
- $shippingAddress->setCompany($apiOrder->addressDelivery->company);
123
- }
124
 
125
  $quote->save();
126
 
@@ -311,7 +306,9 @@ class CPOrderHandler extends CPAbstractHandler {
311
 
312
  // check if the order has items and the amount of items matches the amount from the seller api
313
  if(count($items) == 0 || count($apiOrder->itemsOrdered) != count($items)) {
314
- Mage::register('isSecureArea', true);
 
 
315
  Mage::app('admin');
316
  $order->delete();
317
 
@@ -357,7 +354,9 @@ class CPOrderHandler extends CPAbstractHandler {
357
  ))
358
  ->save();
359
  } catch (Exception $e) {
360
- Mage::register('isSecureArea', true);
 
 
361
  Mage::app('admin');
362
  $order->delete();
363
  CPErrorHandler::logError("Exception during insert order \n" . $e->getMessage() . "\n" . $e->getTraceAsString());
@@ -405,7 +404,9 @@ class CPOrderHandler extends CPAbstractHandler {
405
  ->save();
406
  } catch (Exception $e) {
407
  self::deleteCPOrder($order->getId());
408
- Mage::register('isSecureArea', true);
 
 
409
  Mage::app('admin');
410
  $order->delete();
411
  CPErrorHandler::logError("Exception during insert order item: " . $e->getMessage() . "\n" . $e->getTraceAsString());
@@ -420,7 +421,9 @@ class CPOrderHandler extends CPAbstractHandler {
420
  }
421
  } catch (Exception $e) {
422
  self::deleteCPOrder($order->getId());
423
- Mage::register('isSecureArea', true);
 
 
424
  Mage::app('admin');
425
  $order->delete();
426
  CPErrorHandler::logError("Exception during insert order" . $e->getMessage() . "\n" . $e->getTraceAsString());
@@ -458,6 +461,7 @@ class CPOrderHandler extends CPAbstractHandler {
458
 
459
  $order->setBaseCurrencyCode($apiOrder->summary->currencyIso3);
460
  $order->setQuoteCurrencyCode($apiOrder->summary->currencyIso3);
 
461
 
462
  if(!empty($apiOrder->payment->paymentTime)) {
463
  $order->setData('state', Mage::getStoreConfig('channelpilot_marketplace/channelpilot_marketplace/channelpilot_orderStatusImportedPayed'));
@@ -470,7 +474,9 @@ class CPOrderHandler extends CPAbstractHandler {
470
  $order->save();
471
  } catch (Exception $e) {
472
  self::deleteCPOrder($order->getId());
473
- Mage::register('isSecureArea', true);
 
 
474
  Mage::app('admin');
475
  $order->delete();
476
  CPErrorHandler::logError("Exception during importOrder: " . $e->getMessage() . "\n" . $e->getTraceAsString());
@@ -564,7 +570,7 @@ class CPOrderHandler extends CPAbstractHandler {
564
  $shippingRegion = Mage::getModel('directory/region')->loadByName($apiOrder->addressDelivery->state, $apiOrder->addressDelivery->countryIso2);
565
  $shippingAddress->setRegion($shippingRegion->getName());
566
  $shippingAddress->setRegionId($shippingRegion->getId());
567
- if (substr(Mage::getVersion(), 2, 3) < 9) {
568
  $shippingAddress->setCompany($apiOrder->addressDelivery->company);
569
  }
570
  if (isset($apiOrder->addressDelivery->phone)) {
@@ -582,12 +588,12 @@ class CPOrderHandler extends CPAbstractHandler {
582
  $billingAddress->setLastname($apiOrder->addressInvoice->nameLast);
583
  $billingAddress->setCountryId($apiOrder->addressInvoice->countryIso2);
584
  $billingAddress->setStreet($apiOrder->addressInvoice->streetTitle . ' ' . $apiOrder->addressInvoice->streetNumber);
585
- $billingAddress->setPostcode($apiOrder->addressInvoice->zip);
586
  $billingAddress->setCity($apiOrder->addressInvoice->city);
587
  $billingRegion = Mage::getModel('directory/region')->loadByName($apiOrder->addressInvoice->state, $apiOrder->addressInvoice->countryIso2);
588
  $billingAddress->setRegion($billingRegion->getName());
589
  $billingAddress->setRegionId($billingRegion->getId());
590
- if (substr(Mage::getVersion(), 2, 3) < 9) {
591
  $billingAddress->setCompany($apiOrder->addressInvoice->company);
592
  }
593
  if (isset($apiOrder->addressInvoice->phone)) {
@@ -637,7 +643,7 @@ class CPOrderHandler extends CPAbstractHandler {
637
  $shippingRegion = Mage::getModel('directory/region')->loadByName($apiOrder->addressDelivery->state, $apiOrder->addressDelivery->countryIso2);
638
  $shippingAddress->setRegion($shippingRegion->getName());
639
  $shippingAddress->setRegionId($shippingRegion->getId());
640
- if (substr(Mage::getVersion(), 2, 3) < 9) {
641
  $shippingAddress->setCompany($apiOrder->addressDelivery->company);
642
  }
643
  if (isset($apiOrder->addressDelivery->phone)) {
@@ -653,12 +659,12 @@ class CPOrderHandler extends CPAbstractHandler {
653
  $billingAddress->setLastname($apiOrder->addressInvoice->nameLast);
654
  $billingAddress->setCountryId($apiOrder->addressInvoice->countryIso2);
655
  $billingAddress->setStreet($apiOrder->addressInvoice->streetTitle . ' ' . $apiOrder->addressInvoice->streetNumber);
656
- $billingAddress->setPostcode($apiOrder->addressInvoice->zip);
657
  $billingAddress->setCity($apiOrder->addressInvoice->city);
658
  $billingRegion = Mage::getModel('directory/region')->loadByName($apiOrder->addressInvoice->state, $apiOrder->addressInvoice->countryIso2);
659
  $billingAddress->setRegion($billingRegion->getName());
660
  $billingAddress->setRegionId($billingRegion->getId());
661
- if (substr(Mage::getVersion(), 2, 3) < 9) {
662
  $billingAddress->setCompany($apiOrder->addressInvoice->company);
663
  }
664
  if (isset($apiOrder->addressInvoice->phone)) {
115
  }
116
 
117
  $quote->getBillingAddress()->importCustomerAddress(Mage::getModel('customer/address')->load($customer->getDefaultBilling()));
118
+ $quote->getShippingAddress()->importCustomerAddress(Mage::getModel('customer/address')->load($customer->getDefaultShipping()));
 
 
 
 
 
119
 
120
  $quote->save();
121
 
306
 
307
  // check if the order has items and the amount of items matches the amount from the seller api
308
  if(count($items) == 0 || count($apiOrder->itemsOrdered) != count($items)) {
309
+ if(!Mage::registry('isSecureArea')) {
310
+ Mage::register('isSecureArea', true);
311
+ }
312
  Mage::app('admin');
313
  $order->delete();
314
 
354
  ))
355
  ->save();
356
  } catch (Exception $e) {
357
+ if(!Mage::registry('isSecureArea')) {
358
+ Mage::register('isSecureArea', true);
359
+ }
360
  Mage::app('admin');
361
  $order->delete();
362
  CPErrorHandler::logError("Exception during insert order \n" . $e->getMessage() . "\n" . $e->getTraceAsString());
404
  ->save();
405
  } catch (Exception $e) {
406
  self::deleteCPOrder($order->getId());
407
+ if(!Mage::registry('isSecureArea')) {
408
+ Mage::register('isSecureArea', true);
409
+ }
410
  Mage::app('admin');
411
  $order->delete();
412
  CPErrorHandler::logError("Exception during insert order item: " . $e->getMessage() . "\n" . $e->getTraceAsString());
421
  }
422
  } catch (Exception $e) {
423
  self::deleteCPOrder($order->getId());
424
+ if(!Mage::registry('isSecureArea')) {
425
+ Mage::register('isSecureArea', true);
426
+ }
427
  Mage::app('admin');
428
  $order->delete();
429
  CPErrorHandler::logError("Exception during insert order" . $e->getMessage() . "\n" . $e->getTraceAsString());
461
 
462
  $order->setBaseCurrencyCode($apiOrder->summary->currencyIso3);
463
  $order->setQuoteCurrencyCode($apiOrder->summary->currencyIso3);
464
+ $order->setOrderCurrencyCode($apiOrder->summary->currencyIso3);
465
 
466
  if(!empty($apiOrder->payment->paymentTime)) {
467
  $order->setData('state', Mage::getStoreConfig('channelpilot_marketplace/channelpilot_marketplace/channelpilot_orderStatusImportedPayed'));
474
  $order->save();
475
  } catch (Exception $e) {
476
  self::deleteCPOrder($order->getId());
477
+ if(!Mage::registry('isSecureArea')) {
478
+ Mage::register('isSecureArea', true);
479
+ }
480
  Mage::app('admin');
481
  $order->delete();
482
  CPErrorHandler::logError("Exception during importOrder: " . $e->getMessage() . "\n" . $e->getTraceAsString());
570
  $shippingRegion = Mage::getModel('directory/region')->loadByName($apiOrder->addressDelivery->state, $apiOrder->addressDelivery->countryIso2);
571
  $shippingAddress->setRegion($shippingRegion->getName());
572
  $shippingAddress->setRegionId($shippingRegion->getId());
573
+ if (isset($apiOrder->addressDelivery->company)) {
574
  $shippingAddress->setCompany($apiOrder->addressDelivery->company);
575
  }
576
  if (isset($apiOrder->addressDelivery->phone)) {
588
  $billingAddress->setLastname($apiOrder->addressInvoice->nameLast);
589
  $billingAddress->setCountryId($apiOrder->addressInvoice->countryIso2);
590
  $billingAddress->setStreet($apiOrder->addressInvoice->streetTitle . ' ' . $apiOrder->addressInvoice->streetNumber);
591
+ $billingAddress->setPostcode($apiOrder->addressInvoice->zip);
592
  $billingAddress->setCity($apiOrder->addressInvoice->city);
593
  $billingRegion = Mage::getModel('directory/region')->loadByName($apiOrder->addressInvoice->state, $apiOrder->addressInvoice->countryIso2);
594
  $billingAddress->setRegion($billingRegion->getName());
595
  $billingAddress->setRegionId($billingRegion->getId());
596
+ if (isset($apiOrder->addressInvoice->company)) {
597
  $billingAddress->setCompany($apiOrder->addressInvoice->company);
598
  }
599
  if (isset($apiOrder->addressInvoice->phone)) {
643
  $shippingRegion = Mage::getModel('directory/region')->loadByName($apiOrder->addressDelivery->state, $apiOrder->addressDelivery->countryIso2);
644
  $shippingAddress->setRegion($shippingRegion->getName());
645
  $shippingAddress->setRegionId($shippingRegion->getId());
646
+ if (isset($apiOrder->addressDelivery->company)) {
647
  $shippingAddress->setCompany($apiOrder->addressDelivery->company);
648
  }
649
  if (isset($apiOrder->addressDelivery->phone)) {
659
  $billingAddress->setLastname($apiOrder->addressInvoice->nameLast);
660
  $billingAddress->setCountryId($apiOrder->addressInvoice->countryIso2);
661
  $billingAddress->setStreet($apiOrder->addressInvoice->streetTitle . ' ' . $apiOrder->addressInvoice->streetNumber);
662
+ $billingAddress->setPostcode($apiOrder->addressInvoice->zip);
663
  $billingAddress->setCity($apiOrder->addressInvoice->city);
664
  $billingRegion = Mage::getModel('directory/region')->loadByName($apiOrder->addressInvoice->state, $apiOrder->addressInvoice->countryIso2);
665
  $billingAddress->setRegion($billingRegion->getName());
666
  $billingAddress->setRegionId($billingRegion->getId());
667
+ if (isset($apiOrder->addressInvoice->company)) {
668
  $billingAddress->setCompany($apiOrder->addressInvoice->company);
669
  }
670
  if (isset($apiOrder->addressInvoice->phone)) {
app/code/community/Channelpilotsolutions/Channelpilot/Helper/handler/CPPaymentHandler.php CHANGED
@@ -18,11 +18,13 @@ class CPPaymentHandler extends CPAbstractHandler {
18
  if ($token && self::isIpAllowedViaSecurityToken($token)) {
19
  $limit = Mage::app()->getRequest()->getParam('limit', false);
20
  if ($limit) {
 
21
  $sResult = Mage::getModel('channelpilot/order')->getCollection()
22
  ->addFieldToSelect(array('marketplace_order_id', 'marketplace', 'status'))
23
  ->addIsPaidFilter()
24
  ->addFieldToFilter('main_table.status', array('eq' => CPOrderStatus::ID_IMPORTED))
25
  ->addFieldToFilter('main_table.order_paid', array('eq' => Channelpilotsolutions_Channelpilot_Model_Order::CP_ORDER_UNPAID))
 
26
  ->setPageSize((int)$limit)
27
  ->getData();
28
 
18
  if ($token && self::isIpAllowedViaSecurityToken($token)) {
19
  $limit = Mage::app()->getRequest()->getParam('limit', false);
20
  if ($limit) {
21
+ $shopId = self::getShopId($token);
22
  $sResult = Mage::getModel('channelpilot/order')->getCollection()
23
  ->addFieldToSelect(array('marketplace_order_id', 'marketplace', 'status'))
24
  ->addIsPaidFilter()
25
  ->addFieldToFilter('main_table.status', array('eq' => CPOrderStatus::ID_IMPORTED))
26
  ->addFieldToFilter('main_table.order_paid', array('eq' => Channelpilotsolutions_Channelpilot_Model_Order::CP_ORDER_UNPAID))
27
+ ->addFieldToFilter('main_table.shop', array('eq' => $shopId))
28
  ->setPageSize((int)$limit)
29
  ->getData();
30
 
app/code/community/Channelpilotsolutions/Channelpilot/Helper/handler/CPRegisterHandler.php CHANGED
@@ -30,44 +30,21 @@ class CPRegisterHandler extends CPAbstractHandler {
30
  'ips_authorized' => $ips,
31
  'merchantId' => $merchantId,
32
  'securityToken' => $token,
 
33
  );
34
 
35
- if (self::isShopRegistered($multishopId)) {
36
- if (self::isIpAllowedViaShopId($multishopId)) {
37
- if (self::reRegisterParameterSet(true) == true) {
38
- try {
39
- $registration->load($multishopId);
40
- $registration->addData($data)
41
- ->save();
42
- $new = false;
43
- } catch (Exception $e) {
44
- CPErrorHandler::handle(CPResultCodes::SYSTEM_ERROR, "Exception during reregister Shop: " . $e->getMessage(), "Exception during reregister Shop: " . $e->getMessage());
45
- }
46
- } else {
47
- CPErrorHandler::handle(CPResultCodes::SYSTEM_ERROR, "Shop '" . $multishopId . "' not registered", "Shop '" . $multishopId . "' not registered");
48
- }
49
- } else {
50
- if (empty($token)) {
51
- CPErrorHandler::handle(CPErrors::RESULT_MISSING_PARAMS, "no token found", "no token found");
52
- } else {
53
- CPErrorHandler::handle(CPErrors::RESULT_FAILED, "ip not allowed by token: " . $token, "ip not allowed by token: " . $token);
54
- }
55
- }
56
- } else {
57
- if (self::reRegisterParameterSet(false) == false) {
58
- $data['shopId'] = $multishopId;
59
- try {
60
- $registration->setData($data)
61
- ->save();
62
- $new = true;
63
- } catch (Exception $e) {
64
- CPErrorHandler::handle(CPResultCodes::SYSTEM_ERROR, "Exception during register Shop: " . $e->getMessage(), "Exception during register Shop: " . $e->getMessage());
65
- }
66
- } else {
67
- CPErrorHandler::handle(CPResultCodes::SYSTEM_ERROR, "Shop '" . $multishopId . "' already not registered", "Shop '" . $multishopId . "' already not registered");
68
- }
69
- }
70
- }
71
  } else {
72
  CPErrorHandler::handle(CPErrors::RESULT_MISSING_PARAMS, "not enough parameter for method: " . $method, "not enough parameter for method: " . $method);
73
  }
30
  'ips_authorized' => $ips,
31
  'merchantId' => $merchantId,
32
  'securityToken' => $token,
33
+ 'shopId' => $multishopId,
34
  );
35
 
36
+ try {
37
+ $registration->loadByShopIdAndToken($multishopId, $token);
38
+ $registrationId = $registration->getId();
39
+ $new = (empty($registrationId));
40
+ $registration->addData($data)
41
+ ->save();
42
+ } catch (Exception $e) {
43
+ CPErrorHandler::handle(CPResultCodes::SYSTEM_ERROR, "Exception during reregister Shop: " . $e->getMessage(), "Exception during reregister Shop: " . $e->getMessage());
44
+ }
45
+ } else {
46
+ CPErrorHandler::handle(CPResultCodes::SYSTEM_ERROR, "shop not found: " . $multishopId, "shop not found: " . $multishopId);
47
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
48
  } else {
49
  CPErrorHandler::handle(CPErrors::RESULT_MISSING_PARAMS, "not enough parameter for method: " . $method, "not enough parameter for method: " . $method);
50
  }
app/code/community/Channelpilotsolutions/Channelpilot/Model/Registration.php CHANGED
@@ -71,4 +71,14 @@ class Channelpilotsolutions_Channelpilot_Model_Registration extends Mage_Core_Mo
71
  }
72
  return $this->_getResource()->isIpAuthorized($ip);
73
  }
 
 
 
 
 
 
 
 
 
 
74
  }
71
  }
72
  return $this->_getResource()->isIpAuthorized($ip);
73
  }
74
+
75
+ /**
76
+ * Load by the fields shopId and securityToken
77
+ * @param $shopId
78
+ * @param $token
79
+ * @return Channelpilotsolutions_Channelpilot_Model_Registration
80
+ */
81
+ public function loadByShopIdAndToken($shopId, $token) {
82
+ return $this->_getResource()->loadByShopIdAndToken($shopId, $token, $this);
83
+ }
84
  }
app/code/community/Channelpilotsolutions/Channelpilot/Model/Resource/Order/Item.php CHANGED
@@ -41,12 +41,14 @@ class Channelpilotsolutions_Channelpilot_Model_Resource_Order_Item extends Mage_
41
  $write->beginTransaction();
42
  try {
43
  foreach($cpCancellation as $cpCancellationItem) {
44
- foreach($cpCancellationItem->cancelledItems as $cpOrderItem) {
45
- if($cpOrderItem->quantityCancelled > 0) {
46
- $ret = $write->update($this->getMainTable(),
47
- array('cancelled' => $cpOrderItem->quantityCancelled),
48
- sprintf('order_item_id = %s', $cpOrderItem->id)
49
- );
 
 
50
  }
51
  }
52
  }
41
  $write->beginTransaction();
42
  try {
43
  foreach($cpCancellation as $cpCancellationItem) {
44
+ if(is_object($cpCancellationItem) && isset($cpCancellationItem->cancelledItems)) {
45
+ foreach($cpCancellationItem->cancelledItems as $cpOrderItem) {
46
+ if($cpOrderItem->quantityCancelled > 0) {
47
+ $ret = $write->update($this->getMainTable(),
48
+ array('cancelled' => $cpOrderItem->quantityCancelled),
49
+ sprintf('order_item_id = %s', $cpOrderItem->id)
50
+ );
51
+ }
52
  }
53
  }
54
  }
app/code/community/Channelpilotsolutions/Channelpilot/Model/Resource/Registration.php CHANGED
@@ -30,7 +30,7 @@ class Channelpilotsolutions_Channelpilot_Model_Resource_Registration extends Mag
30
  *
31
  */
32
  protected function _construct() {
33
- $this->_init('channelpilot/registration', 'shopId');
34
  $this->_isPkAutoIncrement = false;
35
  }
36
 
@@ -48,10 +48,15 @@ class Channelpilotsolutions_Channelpilot_Model_Resource_Registration extends Mag
48
  ->from($this->getMainTable(), array('ips_authorized'))
49
  ->where($read->quoteIdentifier($field). ' = ?', $value);
50
 
51
- $result = $read->fetchRow($query);
52
 
53
  if(!empty($result)) {
54
- return explode(';', $result['ips_authorized']);
 
 
 
 
 
55
  }
56
  }
57
  }
@@ -95,4 +100,28 @@ class Channelpilotsolutions_Channelpilot_Model_Resource_Registration extends Mag
95
  }
96
  return false;
97
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
98
  }
30
  *
31
  */
32
  protected function _construct() {
33
+ $this->_init('channelpilot/registration', 'id');
34
  $this->_isPkAutoIncrement = false;
35
  }
36
 
48
  ->from($this->getMainTable(), array('ips_authorized'))
49
  ->where($read->quoteIdentifier($field). ' = ?', $value);
50
 
51
+ $result = $read->fetchAll($query);
52
 
53
  if(!empty($result)) {
54
+ $ipsAuthorized = array();
55
+ foreach($result as $row) {
56
+ $ipsAuthorized = array_merge($ipsAuthorized, explode(";", $row['ips_authorized']));
57
+ }
58
+
59
+ return $ipsAuthorized;
60
  }
61
  }
62
  }
100
  }
101
  return false;
102
  }
103
+
104
+ /**
105
+ * Load by the fields shopId and securityToken
106
+ * @param $shopId
107
+ * @param $token
108
+ * @param Channelpilotsolutions_Channelpilot_Model_Registration $object
109
+ * @return Channelpilotsolutions_Channelpilot_Model_Registration
110
+ */
111
+ public function loadByShopIdAndToken($shopId, $token, Channelpilotsolutions_Channelpilot_Model_Registration $object) {
112
+ $read = $this->getReadConnection();
113
+ if($read) {
114
+ $select = $read->select()
115
+ ->from($this->getMainTable())
116
+ ->where('shopId = ?', $shopId)
117
+ ->where('securityToken = ?', $token);
118
+
119
+ $result = $read->fetchRow($select);
120
+ if(!empty($result)) {
121
+ $object->setData($result);
122
+ }
123
+ }
124
+
125
+ return $object;
126
+ }
127
  }
app/code/community/Channelpilotsolutions/Channelpilot/etc/config.xml CHANGED
@@ -24,7 +24,7 @@
24
  <config>
25
  <modules>
26
  <Channelpilotsolutions_Channelpilot>
27
- <version>2.2.6</version>
28
  </Channelpilotsolutions_Channelpilot>
29
  </modules>
30
  <global>
24
  <config>
25
  <modules>
26
  <Channelpilotsolutions_Channelpilot>
27
+ <version>2.2.7</version>
28
  </Channelpilotsolutions_Channelpilot>
29
  </modules>
30
  <global>
app/code/community/Channelpilotsolutions/Channelpilot/sql/channelpilot_setup/mysql4-upgrade-2.2.6-2.2.7.php ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ *
4
+ * NOTICE OF LICENSE
5
+ *
6
+ * This source file is subject to the GNU General Public License (GPL 3)
7
+ * that is bundled with this package in the file LICENSE.txt
8
+ *
9
+ * DISCLAIMER
10
+ *
11
+ * Do not edit or add to this file if you wish to upgrade Channelpilotsolutions_Channelpilot to newer
12
+ * versions in the future. If you wish to customize Channelpilotsolutions_Channelpilot for your
13
+ * needs please refer to http://www.channelpilot.com for more information.
14
+ *
15
+ * @category Channelpilotsolutions
16
+ * @package Channelpilotsolutions_Channelpilot
17
+ * @copyright Copyright (c) 2012 <info@channelpilot.com> - www.channelpilot.com
18
+ * @author Björn Wehner <info@channelpilot.com>
19
+ * @license <http://www.gnu.org/licenses/> GNU General Public License (GPL 3)
20
+ * @link http://www.channelpilot.com
21
+ */
22
+
23
+ $installer = $this;
24
+
25
+ $installer->startSetup();
26
+ $adapter = $installer->getConnection();
27
+
28
+ /**
29
+ * Change the table 'channelpilot/registration'
30
+ */
31
+
32
+ $tableName = $installer->getTable('channelpilot/registration');
33
+
34
+ $installer->run("
35
+ ALTER TABLE `{$tableName}`
36
+ DROP PRIMARY KEY,
37
+ DROP INDEX `UNQ_CP_REGISTRATION_MERCHANTID_SECURITYTOKEN`,
38
+ ADD COLUMN `id` INT UNSIGNED NOT NULL AUTO_INCREMENT FIRST,
39
+ ADD PRIMARY KEY (`id`),
40
+ ADD UNIQUE INDEX `UNQ_CP_REGISTRATION_SHOPID_MERCHANTID_SECURITYTOKEN` (`shopId`, `merchantId`, `securityToken`);
41
+ ");
42
+
43
+ $installer->endSetup();
app/etc/modules/Channelpilotsolutions_Channelpilot.xml CHANGED
@@ -14,7 +14,7 @@
14
  *
15
  * @category Channelpilotsolutions
16
  * @package etc
17
- * @subpackage
18
  * @copyright Copyright (c) 2012 <info@channelpilot.com> - www.channelpilot.com
19
  * @author Peter Hoffmann <info@channelpilot.com>
20
  * @license <http://www.gnu.org/licenses/> GNU General Public License (GPL 3)
@@ -28,6 +28,7 @@
28
  <codePool>community</codePool>
29
  <depends>
30
  <Mage_Payment/>
 
31
  </depends>
32
  </Channelpilotsolutions_Channelpilot>
33
  </modules>
14
  *
15
  * @category Channelpilotsolutions
16
  * @package etc
17
+ * @subpackage
18
  * @copyright Copyright (c) 2012 <info@channelpilot.com> - www.channelpilot.com
19
  * @author Peter Hoffmann <info@channelpilot.com>
20
  * @license <http://www.gnu.org/licenses/> GNU General Public License (GPL 3)
28
  <codePool>community</codePool>
29
  <depends>
30
  <Mage_Payment/>
31
+ <Mage_Index/>
32
  </depends>
33
  </Channelpilotsolutions_Channelpilot>
34
  </modules>
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Channelpilotsolutions_Channelpilot</name>
4
- <version>2.2.6</version>
5
  <stability>stable</stability>
6
  <license uri="http://www.opensource.org/licenses/gpl-license.php">GPL</license>
7
  <channel>community</channel>
@@ -26,12 +26,12 @@
26
  &lt;li&gt;&lt;b&gt;ChannelPilot Multi-Platform:&lt;/b&gt; Access ChannelPilot on any device (e.g. computer, tablet or smartphone) and keep a firm hold on your online marketing- wherever you are!&lt;/li&gt;&#xD;
27
  &lt;/ul&gt;&#xD;
28
  Just get more information about ChannelPilot: &lt;a href="http://www.channelpilot.com"&gt;www.channelpilot.com&lt;/a&gt;</description>
29
- <notes>- general bugfixes&#xD;
30
- - added index for product feed export</notes>
31
  <authors><author><name>ChannelPilot Solutions GmbH</name><user>auto-converted</user><email>info@channelpilot.com</email></author></authors>
32
- <date>2016-02-26</date>
33
- <time>09:28:19</time>
34
- <contents><target name="magecommunity"><dir name="Channelpilotsolutions"><dir name="Channelpilot"><dir name="Adminhtml"><dir name="Model"><dir name="Articlenumber"><file name="Values.php" hash="f2744ef8301e25e096318f34eb97c2bf"/></dir><dir name="Cookiemode"><file name="Values.php" hash="1ec39f85bb7562c1b6a4614f759d9124"/></dir><dir name="Grossnet"><file name="Values.php" hash="11eaf553b0ec34299524ec6d5a9f1e13"/></dir><dir name="Imagenumber"><file name="Values.php" hash="010dbb2ec946627f338bc500d3d8d747"/></dir><dir name="Orderstatus"><file name="Values.php" hash="39823f1757a41c848ad4505d09aca9d2"/></dir><dir name="Pricefield"><file name="Values.php" hash="6b02dfa3fa93daafa8325d66a986b4ac"/></dir><dir name="Truefalse"><file name="Values.php" hash="e07f105d7d8dc9881690f162cd23472d"/></dir><dir name="Truefalsesecurity"><file name="Values.php" hash="509b5e1cc7cabbe179373bc0ed490499"/></dir></dir></dir><dir name="Block"><dir name="Adminhtml"><dir name="Feedexport"><dir name="View"><file name="Form.php" hash="539382c03bf5b43cb3e9ca6aa3ebfa10"/></dir><file name="Grid.php" hash="2e62d6614e84d6073d33fb079f50f907"/><file name="View.php" hash="44887305f3570fdc95cdf5dbf2a5e563"/></dir><dir name="Field"><file name="Abstract.php" hash="fc0aae8ea2b0bc8aab16ecba459b8988"/><file name="Exportfields.php" hash="8017ae4a421013309b731aff45bf997a"/><file name="Replacefields.php" hash="55266f9270660519a6ce1843048467e3"/><file name="Specialfields.php" hash="4723404c20af3390d6d820318b21c1f6"/><file name="Trackingkeys.php" hash="6164e184bf6ac2b1e81169251752a551"/></dir><file name="Feedexport.php" hash="df8d33aa8c32e52158fa31e9d9af3950"/><file name="Hintlogo.php" hash="1daa84afa8820f71a0d1630ee2311da6"/></dir><dir name="Tracking"><file name="Tracking.php" hash="3be4cdf75739c3dc1078f90be82380c6"/></dir></dir><dir name="Helper"><dir name="api"><dir name="1_0"><dir name="responses"><file name="GetManagedArticlePricesResponse.php" hash="9ad5adee1952b9408b442449791a1f34"/><file name="GetNewMarketplaceOrdersResponse.php" hash="cd5db953a84759b93a35a360956c4624"/><file name="GetServerTimeResponse.php" hash="07d157639b5bf715aa3f93b0d9e4b736"/><file name="Response.php" hash="c76ce62707a862e1c59346c668055b5d"/><file name="UpdateArticleResult.php" hash="a014c60be447fbb9cf48c947c8e9822f"/><file name="UpdateArticlesResponse.php" hash="338619d50391d91defb5c9d41370022f"/><file name="UpdateOrderResult.php" hash="0fbd88371624270a8cb2c4209a89cfac"/><file name="UpdateOrdersResponse.php" hash="b0ad5828da633b05e654da393b15526a"/></dir><dir name="thin"><file name="CPAddress.php" hash="885fb4517335421fbd8cbc882ae336b1"/><file name="CPArticle.php" hash="1adce1ce33acdd0185dee06010040b18"/><file name="CPArticleUpdate.php" hash="45f514823895c754010f8f11a1ff683a"/><file name="CPAuth.php" hash="cf5fe570dbd98e3e6339b20cec826b7b"/><file name="CPCancellation.php" hash="9bf808e265e09d166466313405a167fc"/><file name="CPCustomer.php" hash="62babdf11e9b4d80ae0afbbf96ba329d"/><file name="CPDelivery.php" hash="a270104ae1c253adee0ad1ffb5e01c65"/><file name="CPDiscount.php" hash="5d6f2766869134a86761c12230dc32d1"/><file name="CPManagedArticlePrice.php" hash="65c4c0df04b7c8d20294874de11640d6"/><file name="CPMoney.php" hash="952131eccc8470e107c78e15c94b6495"/><file name="CPOrder.php" hash="32623885f664e9b5871fc48b6ba0c801"/><file name="CPOrderHeader.php" hash="828377182e8197c304f230a783606993"/><file name="CPOrderItem.php" hash="dfe2440a08e3d0f13e638fc4090e6c52"/><file name="CPOrderStatus.php" hash="e0e767388dd9a1ab8be5a990f1ab1259"/><file name="CPOrderSummary.php" hash="fceaa6a79b5fc892062681f518fd0243"/><file name="CPPayment.php" hash="698b42f377910ef04d50a545e599fbca"/><file name="CPResponseHeader.php" hash="53930210d68046183e3be306996ea9b9"/><file name="CPShipping.php" hash="eaddceace28cdc6ba72434a6321d8c47"/></dir><file name="CPResultCodes.php" hash="955180ee33f14b4afa93f6eb1b5df53f"/><file name="ChannelPilotSellerAPI_v1_0.php" hash="acbdc4a0f2bac0755922ac46910ac52e"/></dir></dir><dir name="handler"><file name="CPAbstractHandler.php" hash="367bafb0c7e6a1296969ed9a21e922b4"/><file name="CPCancellationHandler.php" hash="38edd8e152f87ddb2e0a84abcb5f7e98"/><file name="CPDebugHandler.php" hash="51845f353b8e3d94ec324c3a750d9cc7"/><file name="CPDeliveryHandler.php" hash="43965d9fb84cb148e8b2ccd03483e584"/><file name="CPErrorHandler.php" hash="5d728c064c068fdf8354fa87882e4dba"/><file name="CPExportHandler.php" hash="819c62aa9a99f021f2c3a07109a623dd"/><file name="CPNewPriceHandler.php" hash="2c6e7b889ed872cd28fa5026e0cc57dc"/><file name="CPNewsHandler.php" hash="10757d4bbb3d10a3090dab9587c86132"/><file name="CPOrderHandler.php" hash="c632f421c89a14c37cdbe6e195cdf636"/><file name="CPPaymentHandler.php" hash="02f7bdb20b5672d23c511bb635ffea72"/><file name="CPRegisterHandler.php" hash="45280a1256b4047aff82cb0b24ee7e1b"/><file name="CPStatusHandler.php" hash="f378b4b56ac502fc035cfabc062cd43c"/></dir><dir name="responses"><file name="CPGetStatusHookResponse.php" hash="672609ebcaa23aa0de85aed04c7662d8"/><file name="CPHookResponse.php" hash="df481afb1680964780126fcd68c00818"/><file name="CPRegisterHookResponse.php" hash="206de6433d0795ebdabff98129cc2fb7"/></dir><dir name="special"><file name="CustomerFunctions.php" hash="0d343d3c9c3cb87232c833e0772f730e"/></dir><file name="CPErrors.php" hash="3659c38a1ed3be4aa4ec03d93e68a84e"/><file name="Data.php" hash="cdd617730e9bf291ac62ef928eca39c6"/><file name="Export.php" hash="e91fb55a9dcf0b72bfa3812ee213debb"/></dir><dir name="Model"><dir name="Adminhtml"><dir name="Source"><file name="Exportmethod.php" hash="604cb29e7871ac54697582dc51f67842"/><file name="Producturlgeneration.php" hash="a9e7fb7aecf048858a1af4f1fae9ead6"/><file name="Trackingmethod.php" hash="e32ab184b05377af38e4d912022cb889"/></dir></dir><dir name="Carrier"><file name="Cpshipping.php" hash="5c73d41a01797c86137d036584db36ae"/></dir><dir name="Feedexport"><file name="Indexer.php" hash="447a342567484ba84ba67494ce30d63e"/></dir><dir name="Order"><file name="Item.php" hash="7e64ca596a4a66e7c5052d0981745cf8"/><file name="Shipment.php" hash="71651ad5489eca654f47e41fd12e79a6"/></dir><dir name="Resource"><dir name="Feedexport"><dir name="Indexer"><file name="Collection.php" hash="e0957ac77559f71f544aa5c70db5d80e"/></dir><file name="Indexer.php" hash="367c813db1aff8331629c400af3b8c99"/></dir><dir name="Logs"><file name="Collection.php" hash="d02494433e6369ddd552e04db867e9d5"/></dir><dir name="Order"><dir name="Item"><file name="Collection.php" hash="954e3889a8b8f93510a36be1a13c2fb8"/></dir><dir name="Shipment"><file name="Collection.php" hash="6aa1fd002807916effa760169a2e769d"/></dir><file name="Collection.php" hash="00423726d837a71042527c588cfc4b11"/><file name="Item.php" hash="485669b3f6dd7646ae9299547dc3a88f"/><file name="Shipment.php" hash="5d1514d5721b501fda7e71e6a15f931d"/></dir><dir name="Prices"><file name="Collection.php" hash="6d49bf71e50a0d2b0e087d52036a08ef"/></dir><dir name="Registration"><file name="Collection.php" hash="81423be65cf2ee706203ac03b5e83236"/></dir><file name="Logs.php" hash="b406da96412148256028b8c73444b0d9"/><file name="Order.php" hash="be971d53867fafbbf7c582dbe860e107"/><file name="Prices.php" hash="30275edca721b6986ff6bd39648bf4eb"/><file name="Registration.php" hash="a9f4190c21762c3f39c9647291e8e194"/></dir><file name="Abstract.php" hash="a142674a12bf57e8c98724b4ead154f8"/><file name="Logs.php" hash="85c27d3b47cbd97fc197a1ba8ae60dc6"/><file name="Observer.php" hash="9e18ed13078767de556617fe6fb7d445"/><file name="Order.php" hash="431bda96fe598fbb5a64928b940d8c13"/><file name="Payment.php" hash="223ab9dec3315f3dada4298f0418151a"/><file name="Paymenttypes.php" hash="ca90419f6e4603be3f70a214d95177c3"/><file name="Prices.php" hash="c1c966c0a3001fee90d14c050f00b66a"/><file name="Registration.php" hash="0719bdd075942a8706ccae12a35e91af"/></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Channelpilot"><file name="FeedexportController.php" hash="9770c6d8fb2b957936e5e17c6282ab17"/></dir></dir><file name="IndexController.php" hash="ca07da3c0b2c689e9c0a8e552b6c7004"/></dir><dir name="etc"><file name="adminhtml.xml" hash="916b5e121b31dceffe732afec9c6019f"/><file name="config.xml" hash="3f12cc7a7db32d2e32fb7edee8a5f33f"/><file name="system.xml" hash="7b6bb850ed7600ffd2b5b5a9687eaf09"/></dir><dir name="sql"><dir name="channelpilot_setup"><file name="mysql4-install-2.0.0.php" hash="f89d8be8b1ed7a6793ba6a2516de3528"/><file name="mysql4-upgrade-1.0.0-2.0.0.php" hash="12264e29678f7a56b002cd693dafd56f"/><file name="mysql4-upgrade-2.1.0-2.1.6.php" hash="7f76ad8deebb387a635e05c39b32e458"/><file name="mysql4-upgrade-2.1.6-2.2.0.php" hash="4327290be3ce3226544515a72e6a74cf"/><file name="mysql4-upgrade-2.2.5-2.2.6.php" hash="a1b2b1ba0227b6553202af9f2ce8abb1"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Channelpilotsolutions_Channelpilot.xml" hash="d14c5346561667941ef4f6e9e55666cd"/></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><dir name="Channelpilotsolutions"><file name="channelpilot.xml" hash="2952fa387aadf60f36b6fea9b5c69fb8"/></dir></dir><dir name="template"><dir name="Channelpilotsolutions"><file name="clicktracking_js.phtml" hash="20d1883b633d814587e5dd1661364fc1"/><file name="salestracking_js.phtml" hash="61c77c6fdab88cfac5989e7d47a8c5a4"/><file name="tracking_image.phtml" hash="f2477e9bf58ed34950b049db5af8a712"/></dir></dir></dir></dir></dir><dir name="adminhtml"><dir name="base"><dir name="default"><dir name="template"><dir name="channelpilotsolutions"><file name="array_dropdown.phtml" hash="5717b5f3ca67bb4da734572fdca1a907"/><file name="config_hint.phtml" hash="c92f883df809f89278492d1e22a352d7"/></dir></dir></dir></dir></dir></target><target name="magelocale"><dir name="de_DE"><file name="Channelpilotsolutions_Channelpilot.csv" hash="c67ab461fb1ad4cc42958646bc3cc5db"/></dir><dir name="de_CH"><file name="Channelpilotsolutions_Channelpilot.csv" hash="c67ab461fb1ad4cc42958646bc3cc5db"/></dir><dir name="de_AT"><file name="Channelpilotsolutions_Channelpilot.csv" hash="c67ab461fb1ad4cc42958646bc3cc5db"/></dir><dir name="fr_FR"><file name="Channelpilotsolutions_Channelpilot.csv" hash="23217faa0b1c623750bb91d1e324e082"/></dir><dir name="fr_CA"><file name="Channelpilotsolutions_Channelpilot.csv" hash="23217faa0b1c623750bb91d1e324e082"/></dir><dir name="en_AU"><file name="Channelpilotsolutions_Channelpilot.csv" hash="5d535e9bc597ff62a64a999f1b1c8879"/></dir><dir name="en_CA"><file name="Channelpilotsolutions_Channelpilot.csv" hash="5d535e9bc597ff62a64a999f1b1c8879"/></dir><dir name="en_GB"><file name="Channelpilotsolutions_Channelpilot.csv" hash="5d535e9bc597ff62a64a999f1b1c8879"/></dir><dir name="en_IE"><file name="Channelpilotsolutions_Channelpilot.csv" hash="5d535e9bc597ff62a64a999f1b1c8879"/></dir><dir name="en_NZ"><file name="Channelpilotsolutions_Channelpilot.csv" hash="5d535e9bc597ff62a64a999f1b1c8879"/></dir><dir name="en_US"><file name="Channelpilotsolutions_Channelpilot.csv" hash="5d535e9bc597ff62a64a999f1b1c8879"/></dir><dir name="es_AR"><file name="Channelpilotsolutions_Channelpilot.csv" hash="e457ab4f2c03c46e8ce69bc6eb1dcc25"/></dir><dir name="es_CL"><file name="Channelpilotsolutions_Channelpilot.csv" hash="e457ab4f2c03c46e8ce69bc6eb1dcc25"/></dir><dir name="es_CO"><file name="Channelpilotsolutions_Channelpilot.csv" hash="e457ab4f2c03c46e8ce69bc6eb1dcc25"/></dir><dir name="es_CR"><file name="Channelpilotsolutions_Channelpilot.csv" hash="e457ab4f2c03c46e8ce69bc6eb1dcc25"/></dir><dir name="es_ES"><file name="Channelpilotsolutions_Channelpilot.csv" hash="e457ab4f2c03c46e8ce69bc6eb1dcc25"/></dir><dir name="es_MX"><file name="Channelpilotsolutions_Channelpilot.csv" hash="e457ab4f2c03c46e8ce69bc6eb1dcc25"/></dir><dir name="es_PA"><file name="Channelpilotsolutions_Channelpilot.csv" hash="e457ab4f2c03c46e8ce69bc6eb1dcc25"/></dir><dir name="es_PE"><file name="Channelpilotsolutions_Channelpilot.csv" hash="e457ab4f2c03c46e8ce69bc6eb1dcc25"/></dir><dir name="es_VE"><file name="Channelpilotsolutions_Channelpilot.csv" hash="e457ab4f2c03c46e8ce69bc6eb1dcc25"/></dir></target></contents>
35
  <compatible/>
36
  <dependencies/>
37
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Channelpilotsolutions_Channelpilot</name>
4
+ <version>2.2.7</version>
5
  <stability>stable</stability>
6
  <license uri="http://www.opensource.org/licenses/gpl-license.php">GPL</license>
7
  <channel>community</channel>
26
  &lt;li&gt;&lt;b&gt;ChannelPilot Multi-Platform:&lt;/b&gt; Access ChannelPilot on any device (e.g. computer, tablet or smartphone) and keep a firm hold on your online marketing- wherever you are!&lt;/li&gt;&#xD;
27
  &lt;/ul&gt;&#xD;
28
  Just get more information about ChannelPilot: &lt;a href="http://www.channelpilot.com"&gt;www.channelpilot.com&lt;/a&gt;</description>
29
+ <notes>- added support for multiple registrations&#xD;
30
+ - general bugfixes</notes>
31
  <authors><author><name>ChannelPilot Solutions GmbH</name><user>auto-converted</user><email>info@channelpilot.com</email></author></authors>
32
+ <date>2016-05-20</date>
33
+ <time>08:23:05</time>
34
+ <contents><target name="magecommunity"><dir name="Channelpilotsolutions"><dir name="Channelpilot"><dir name="Adminhtml"><dir name="Model"><dir name="Articlenumber"><file name="Values.php" hash="f2744ef8301e25e096318f34eb97c2bf"/></dir><dir name="Cookiemode"><file name="Values.php" hash="1ec39f85bb7562c1b6a4614f759d9124"/></dir><dir name="Grossnet"><file name="Values.php" hash="11eaf553b0ec34299524ec6d5a9f1e13"/></dir><dir name="Imagenumber"><file name="Values.php" hash="010dbb2ec946627f338bc500d3d8d747"/></dir><dir name="Orderstatus"><file name="Values.php" hash="39823f1757a41c848ad4505d09aca9d2"/></dir><dir name="Pricefield"><file name="Values.php" hash="6b02dfa3fa93daafa8325d66a986b4ac"/></dir><dir name="Truefalse"><file name="Values.php" hash="e07f105d7d8dc9881690f162cd23472d"/></dir><dir name="Truefalsesecurity"><file name="Values.php" hash="509b5e1cc7cabbe179373bc0ed490499"/></dir></dir></dir><dir name="Block"><dir name="Adminhtml"><dir name="Feedexport"><dir name="View"><file name="Form.php" hash="539382c03bf5b43cb3e9ca6aa3ebfa10"/></dir><file name="Grid.php" hash="2e62d6614e84d6073d33fb079f50f907"/><file name="View.php" hash="44887305f3570fdc95cdf5dbf2a5e563"/></dir><dir name="Field"><file name="Abstract.php" hash="fc0aae8ea2b0bc8aab16ecba459b8988"/><file name="Exportfields.php" hash="8017ae4a421013309b731aff45bf997a"/><file name="Replacefields.php" hash="55266f9270660519a6ce1843048467e3"/><file name="Specialfields.php" hash="4723404c20af3390d6d820318b21c1f6"/><file name="Trackingkeys.php" hash="6164e184bf6ac2b1e81169251752a551"/></dir><file name="Feedexport.php" hash="df8d33aa8c32e52158fa31e9d9af3950"/><file name="Hintlogo.php" hash="1daa84afa8820f71a0d1630ee2311da6"/></dir><dir name="Tracking"><file name="Tracking.php" hash="3be4cdf75739c3dc1078f90be82380c6"/></dir></dir><dir name="Helper"><dir name="api"><dir name="1_0"><dir name="responses"><file name="GetManagedArticlePricesResponse.php" hash="9ad5adee1952b9408b442449791a1f34"/><file name="GetNewMarketplaceOrdersResponse.php" hash="cd5db953a84759b93a35a360956c4624"/><file name="GetServerTimeResponse.php" hash="07d157639b5bf715aa3f93b0d9e4b736"/><file name="Response.php" hash="c76ce62707a862e1c59346c668055b5d"/><file name="UpdateArticleResult.php" hash="a014c60be447fbb9cf48c947c8e9822f"/><file name="UpdateArticlesResponse.php" hash="338619d50391d91defb5c9d41370022f"/><file name="UpdateOrderResult.php" hash="0fbd88371624270a8cb2c4209a89cfac"/><file name="UpdateOrdersResponse.php" hash="b0ad5828da633b05e654da393b15526a"/></dir><dir name="thin"><file name="CPAddress.php" hash="885fb4517335421fbd8cbc882ae336b1"/><file name="CPArticle.php" hash="1adce1ce33acdd0185dee06010040b18"/><file name="CPArticleUpdate.php" hash="45f514823895c754010f8f11a1ff683a"/><file name="CPAuth.php" hash="cf5fe570dbd98e3e6339b20cec826b7b"/><file name="CPCancellation.php" hash="9bf808e265e09d166466313405a167fc"/><file name="CPCustomer.php" hash="62babdf11e9b4d80ae0afbbf96ba329d"/><file name="CPDelivery.php" hash="a270104ae1c253adee0ad1ffb5e01c65"/><file name="CPDiscount.php" hash="5d6f2766869134a86761c12230dc32d1"/><file name="CPManagedArticlePrice.php" hash="65c4c0df04b7c8d20294874de11640d6"/><file name="CPMoney.php" hash="952131eccc8470e107c78e15c94b6495"/><file name="CPOrder.php" hash="32623885f664e9b5871fc48b6ba0c801"/><file name="CPOrderHeader.php" hash="828377182e8197c304f230a783606993"/><file name="CPOrderItem.php" hash="dfe2440a08e3d0f13e638fc4090e6c52"/><file name="CPOrderStatus.php" hash="e0e767388dd9a1ab8be5a990f1ab1259"/><file name="CPOrderSummary.php" hash="fceaa6a79b5fc892062681f518fd0243"/><file name="CPPayment.php" hash="698b42f377910ef04d50a545e599fbca"/><file name="CPResponseHeader.php" hash="53930210d68046183e3be306996ea9b9"/><file name="CPShipping.php" hash="eaddceace28cdc6ba72434a6321d8c47"/></dir><file name="CPResultCodes.php" hash="955180ee33f14b4afa93f6eb1b5df53f"/><file name="ChannelPilotSellerAPI_v1_0.php" hash="acbdc4a0f2bac0755922ac46910ac52e"/></dir></dir><dir name="handler"><file name="CPAbstractHandler.php" hash="f1b4364706b9bab005b53b91625c65f2"/><file name="CPCancellationHandler.php" hash="9d74f0de8d188d36e4141eb6f6a71687"/><file name="CPDebugHandler.php" hash="51845f353b8e3d94ec324c3a750d9cc7"/><file name="CPDeliveryHandler.php" hash="f0af720a86c867a488fe6228376dd9a6"/><file name="CPErrorHandler.php" hash="5d728c064c068fdf8354fa87882e4dba"/><file name="CPExportHandler.php" hash="819c62aa9a99f021f2c3a07109a623dd"/><file name="CPNewPriceHandler.php" hash="246824a7c008e693682f7f09f0753813"/><file name="CPNewsHandler.php" hash="10757d4bbb3d10a3090dab9587c86132"/><file name="CPOrderHandler.php" hash="895f3887f184019ddf8bcccc78cc6e06"/><file name="CPPaymentHandler.php" hash="85faddc1ed661b5cca39e39550cc0211"/><file name="CPRegisterHandler.php" hash="039ede8ff760f4d5a429ad56bb0ce596"/><file name="CPStatusHandler.php" hash="f378b4b56ac502fc035cfabc062cd43c"/></dir><dir name="responses"><file name="CPGetStatusHookResponse.php" hash="672609ebcaa23aa0de85aed04c7662d8"/><file name="CPHookResponse.php" hash="df481afb1680964780126fcd68c00818"/><file name="CPRegisterHookResponse.php" hash="206de6433d0795ebdabff98129cc2fb7"/></dir><dir name="special"><file name="CustomerFunctions.php" hash="0d343d3c9c3cb87232c833e0772f730e"/></dir><file name="CPErrors.php" hash="3659c38a1ed3be4aa4ec03d93e68a84e"/><file name="Data.php" hash="cdd617730e9bf291ac62ef928eca39c6"/><file name="Export.php" hash="bbce34cb6ef8590e89d856b32cd36a77"/></dir><dir name="Model"><dir name="Adminhtml"><dir name="Source"><file name="Exportmethod.php" hash="604cb29e7871ac54697582dc51f67842"/><file name="Producturlgeneration.php" hash="a9e7fb7aecf048858a1af4f1fae9ead6"/><file name="Trackingmethod.php" hash="e32ab184b05377af38e4d912022cb889"/></dir></dir><dir name="Carrier"><file name="Cpshipping.php" hash="5c73d41a01797c86137d036584db36ae"/></dir><dir name="Feedexport"><file name="Indexer.php" hash="447a342567484ba84ba67494ce30d63e"/></dir><dir name="Order"><file name="Item.php" hash="7e64ca596a4a66e7c5052d0981745cf8"/><file name="Shipment.php" hash="71651ad5489eca654f47e41fd12e79a6"/></dir><dir name="Resource"><dir name="Feedexport"><dir name="Indexer"><file name="Collection.php" hash="e0957ac77559f71f544aa5c70db5d80e"/></dir><file name="Indexer.php" hash="367c813db1aff8331629c400af3b8c99"/></dir><dir name="Logs"><file name="Collection.php" hash="d02494433e6369ddd552e04db867e9d5"/></dir><dir name="Order"><dir name="Item"><file name="Collection.php" hash="954e3889a8b8f93510a36be1a13c2fb8"/></dir><dir name="Shipment"><file name="Collection.php" hash="6aa1fd002807916effa760169a2e769d"/></dir><file name="Collection.php" hash="00423726d837a71042527c588cfc4b11"/><file name="Item.php" hash="22aac20cc7c2a9765d170e9ea50d9315"/><file name="Shipment.php" hash="5d1514d5721b501fda7e71e6a15f931d"/></dir><dir name="Prices"><file name="Collection.php" hash="6d49bf71e50a0d2b0e087d52036a08ef"/></dir><dir name="Registration"><file name="Collection.php" hash="81423be65cf2ee706203ac03b5e83236"/></dir><file name="Logs.php" hash="b406da96412148256028b8c73444b0d9"/><file name="Order.php" hash="be971d53867fafbbf7c582dbe860e107"/><file name="Prices.php" hash="30275edca721b6986ff6bd39648bf4eb"/><file name="Registration.php" hash="e956369769523f25eb8a8351c668add4"/></dir><file name="Abstract.php" hash="a142674a12bf57e8c98724b4ead154f8"/><file name="Logs.php" hash="85c27d3b47cbd97fc197a1ba8ae60dc6"/><file name="Observer.php" hash="9e18ed13078767de556617fe6fb7d445"/><file name="Order.php" hash="431bda96fe598fbb5a64928b940d8c13"/><file name="Payment.php" hash="223ab9dec3315f3dada4298f0418151a"/><file name="Paymenttypes.php" hash="ca90419f6e4603be3f70a214d95177c3"/><file name="Prices.php" hash="c1c966c0a3001fee90d14c050f00b66a"/><file name="Registration.php" hash="9d22f91f645a0070ee17c8b9eb3e28c8"/></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Channelpilot"><file name="FeedexportController.php" hash="9770c6d8fb2b957936e5e17c6282ab17"/></dir></dir><file name="IndexController.php" hash="ca07da3c0b2c689e9c0a8e552b6c7004"/></dir><dir name="etc"><file name="adminhtml.xml" hash="916b5e121b31dceffe732afec9c6019f"/><file name="config.xml" hash="c49ada615d1809d489ca64a2feed6009"/><file name="system.xml" hash="7b6bb850ed7600ffd2b5b5a9687eaf09"/></dir><dir name="sql"><dir name="channelpilot_setup"><file name="mysql4-install-2.0.0.php" hash="f89d8be8b1ed7a6793ba6a2516de3528"/><file name="mysql4-upgrade-1.0.0-2.0.0.php" hash="12264e29678f7a56b002cd693dafd56f"/><file name="mysql4-upgrade-2.1.0-2.1.6.php" hash="7f76ad8deebb387a635e05c39b32e458"/><file name="mysql4-upgrade-2.1.6-2.2.0.php" hash="4327290be3ce3226544515a72e6a74cf"/><file name="mysql4-upgrade-2.2.5-2.2.6.php" hash="a1b2b1ba0227b6553202af9f2ce8abb1"/><file name="mysql4-upgrade-2.2.6-2.2.7.php" hash="66580c8caf95997f6e3322c4eb39ebbf"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Channelpilotsolutions_Channelpilot.xml" hash="d14fbcbdca7324e5e97bee70f2a75976"/></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><dir name="Channelpilotsolutions"><file name="channelpilot.xml" hash="2952fa387aadf60f36b6fea9b5c69fb8"/></dir></dir><dir name="template"><dir name="Channelpilotsolutions"><file name="clicktracking_js.phtml" hash="20d1883b633d814587e5dd1661364fc1"/><file name="salestracking_js.phtml" hash="61c77c6fdab88cfac5989e7d47a8c5a4"/><file name="tracking_image.phtml" hash="f2477e9bf58ed34950b049db5af8a712"/></dir></dir></dir></dir></dir><dir name="adminhtml"><dir name="base"><dir name="default"><dir name="template"><dir name="channelpilotsolutions"><file name="array_dropdown.phtml" hash="5717b5f3ca67bb4da734572fdca1a907"/><file name="config_hint.phtml" hash="c92f883df809f89278492d1e22a352d7"/></dir></dir></dir></dir></dir></target><target name="magelocale"><dir name="de_DE"><file name="Channelpilotsolutions_Channelpilot.csv" hash="c67ab461fb1ad4cc42958646bc3cc5db"/></dir><dir name="de_CH"><file name="Channelpilotsolutions_Channelpilot.csv" hash="c67ab461fb1ad4cc42958646bc3cc5db"/></dir><dir name="de_AT"><file name="Channelpilotsolutions_Channelpilot.csv" hash="c67ab461fb1ad4cc42958646bc3cc5db"/></dir><dir name="fr_FR"><file name="Channelpilotsolutions_Channelpilot.csv" hash="23217faa0b1c623750bb91d1e324e082"/></dir><dir name="fr_CA"><file name="Channelpilotsolutions_Channelpilot.csv" hash="23217faa0b1c623750bb91d1e324e082"/></dir><dir name="en_AU"><file name="Channelpilotsolutions_Channelpilot.csv" hash="5d535e9bc597ff62a64a999f1b1c8879"/></dir><dir name="en_CA"><file name="Channelpilotsolutions_Channelpilot.csv" hash="5d535e9bc597ff62a64a999f1b1c8879"/></dir><dir name="en_GB"><file name="Channelpilotsolutions_Channelpilot.csv" hash="5d535e9bc597ff62a64a999f1b1c8879"/></dir><dir name="en_IE"><file name="Channelpilotsolutions_Channelpilot.csv" hash="5d535e9bc597ff62a64a999f1b1c8879"/></dir><dir name="en_NZ"><file name="Channelpilotsolutions_Channelpilot.csv" hash="5d535e9bc597ff62a64a999f1b1c8879"/></dir><dir name="en_US"><file name="Channelpilotsolutions_Channelpilot.csv" hash="5d535e9bc597ff62a64a999f1b1c8879"/></dir><dir name="es_AR"><file name="Channelpilotsolutions_Channelpilot.csv" hash="e457ab4f2c03c46e8ce69bc6eb1dcc25"/></dir><dir name="es_CL"><file name="Channelpilotsolutions_Channelpilot.csv" hash="e457ab4f2c03c46e8ce69bc6eb1dcc25"/></dir><dir name="es_CO"><file name="Channelpilotsolutions_Channelpilot.csv" hash="e457ab4f2c03c46e8ce69bc6eb1dcc25"/></dir><dir name="es_CR"><file name="Channelpilotsolutions_Channelpilot.csv" hash="e457ab4f2c03c46e8ce69bc6eb1dcc25"/></dir><dir name="es_ES"><file name="Channelpilotsolutions_Channelpilot.csv" hash="e457ab4f2c03c46e8ce69bc6eb1dcc25"/></dir><dir name="es_MX"><file name="Channelpilotsolutions_Channelpilot.csv" hash="e457ab4f2c03c46e8ce69bc6eb1dcc25"/></dir><dir name="es_PA"><file name="Channelpilotsolutions_Channelpilot.csv" hash="e457ab4f2c03c46e8ce69bc6eb1dcc25"/></dir><dir name="es_PE"><file name="Channelpilotsolutions_Channelpilot.csv" hash="e457ab4f2c03c46e8ce69bc6eb1dcc25"/></dir><dir name="es_VE"><file name="Channelpilotsolutions_Channelpilot.csv" hash="e457ab4f2c03c46e8ce69bc6eb1dcc25"/></dir></target></contents>
35
  <compatible/>
36
  <dependencies/>
37
  </package>