Profileolabs_Shoppingflux - Version 0.9.8

Version Notes

- Minor bugfixes & improvements

Download this release

Release Info

Developer ShoppingFlux
Extension Profileolabs_Shoppingflux
Version 0.9.8
Comparing to
See all releases


Code changes from version 0.9.7 to 0.9.8

app/code/community/Profileolabs/Shoppingflux/Helper/Data.php CHANGED
@@ -307,7 +307,7 @@ class Profileolabs_Shoppingflux_Helper_Data extends Mage_Core_Helper_Abstract {
307
  foreach ($categories as $category) {
308
  $parent = $category->getParentId();
309
  while ($parent > 1) {
310
- $parentCategory = Mage::getModel('catalog/category')->load($parent);
311
  if(!$parentCategory->getSfExclude()) {
312
  $category->setName($parentCategory->getName() . " > " . $category->getName());
313
  $category->setMetaTitle($parentCategory->getMetaTitle() . " > " . $category->getMetaTitle());
307
  foreach ($categories as $category) {
308
  $parent = $category->getParentId();
309
  while ($parent > 1) {
310
+ $parentCategory = Mage::getModel('catalog/category')->setStoreId($storeId)->load($parent);
311
  if(!$parentCategory->getSfExclude()) {
312
  $category->setName($parentCategory->getName() . " > " . $category->getName());
313
  $category->setMetaTitle($parentCategory->getMetaTitle() . " > " . $category->getMetaTitle());
app/code/community/Profileolabs/Shoppingflux/Model/Catalog/Product/Collection.php CHANGED
@@ -6,7 +6,6 @@
6
  * @package Profileolabs_Shoppingflux
7
  * @author vincent enjalbert @ web-cooking.net
8
  */
9
- //if magento 1.3 = extends Mage_Eav_Model_Mysql4_Entity_Attribute_Collection ?
10
  class Profileolabs_Shoppingflux_Model_Catalog_Product_Collection extends Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Collection {
11
 
12
  /* WebCooking Fix to rewrite Varien_Data_Collection_Db::getSize() in order to solve pagination error caused by the groupBy clause */
6
  * @package Profileolabs_Shoppingflux
7
  * @author vincent enjalbert @ web-cooking.net
8
  */
 
9
  class Profileolabs_Shoppingflux_Model_Catalog_Product_Collection extends Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Collection {
10
 
11
  /* WebCooking Fix to rewrite Varien_Data_Collection_Db::getSize() in order to solve pagination error caused by the groupBy clause */
app/code/community/Profileolabs/Shoppingflux/Model/Config.php CHANGED
@@ -318,7 +318,7 @@ class Profileolabs_Shoppingflux_Model_Config extends Varien_Object {
318
  }
319
 
320
  public function getMobilePhoneAttribute($storeId = null) {
321
- return $this->getConfigFlag("shoppingflux_mo/import_customer/mobile_attribute");
322
  }
323
 
324
  }
318
  }
319
 
320
  public function getMobilePhoneAttribute($storeId = null) {
321
+ return $this->getConfigData("shoppingflux_mo/import_customer/mobile_attribute");
322
  }
323
 
324
  }
app/code/community/Profileolabs/Shoppingflux/Model/Export/Flux.php CHANGED
@@ -799,7 +799,7 @@ class Profileolabs_Shoppingflux_Model_Export_Flux extends Mage_Core_Model_Abstra
799
  return $url;
800
  }
801
 
802
- public function getImages($data, $product, $storeId) {
803
 
804
 
805
 
@@ -823,6 +823,8 @@ class Profileolabs_Shoppingflux_Model_Export_Flux extends Mage_Core_Model_Abstra
823
  foreach ($product->getMediaGallery('images') as $image) {
824
  if ($mediaUrl . $product->getImage() == $product->getMediaConfig()->getMediaUrl($image['file']))
825
  continue;
 
 
826
 
827
  $data["image-url-" . $i] = $product->getMediaConfig()->getMediaUrl($image['file']);
828
  $data["image-label-" . $i] = $image['label'];
@@ -839,6 +841,18 @@ class Profileolabs_Shoppingflux_Model_Export_Flux extends Mage_Core_Model_Abstra
839
  $data["image-label-" . $i] = "";
840
  $i++;
841
  }
 
 
 
 
 
 
 
 
 
 
 
 
842
  return $data;
843
  }
844
 
@@ -1066,7 +1080,7 @@ class Profileolabs_Shoppingflux_Model_Export_Flux extends Mage_Core_Model_Abstra
1066
  }
1067
  $usedProductsArray[$usedProduct->getId()]['child']["ean"] = isset($attributesFromConfig['ean']) ? $usedProduct->getData($attributesFromConfig['ean']) : '';
1068
 
1069
- $images = $this->getImages($images, $usedProduct, $storeId);
1070
  if (!$images['image-url-1']) {
1071
  $images = $this->getImages($images, $product, $storeId);
1072
  }
799
  return $url;
800
  }
801
 
802
+ public function getImages($data, $product, $storeId, $checkParentIfNone = true) {
803
 
804
 
805
 
823
  foreach ($product->getMediaGallery('images') as $image) {
824
  if ($mediaUrl . $product->getImage() == $product->getMediaConfig()->getMediaUrl($image['file']))
825
  continue;
826
+ if($image['disabled'])
827
+ continue;
828
 
829
  $data["image-url-" . $i] = $product->getMediaConfig()->getMediaUrl($image['file']);
830
  $data["image-label-" . $i] = $image['label'];
841
  $data["image-label-" . $i] = "";
842
  $i++;
843
  }
844
+
845
+ if(!$data['image-url-1'] && $checkParentIfNone) {
846
+ $groupedParentsIds = Mage::getResourceSingleton('catalog/product_link')
847
+ ->getParentIdsByChild($product->getId(), Mage_Catalog_Model_Product_Link::LINK_TYPE_GROUPED);
848
+ $parentId = current($groupedParentsIds);
849
+ $parentProduct = $this->_getProduct($parentId, $storeId);
850
+ if($parentProduct && $parentProduct->getId()) {
851
+ return $this->getImages($data, $parentProduct, $storeId, false);
852
+ }
853
+ }
854
+
855
+
856
  return $data;
857
  }
858
 
1080
  }
1081
  $usedProductsArray[$usedProduct->getId()]['child']["ean"] = isset($attributesFromConfig['ean']) ? $usedProduct->getData($attributesFromConfig['ean']) : '';
1082
 
1083
+ $images = $this->getImages($images, $usedProduct, $storeId, false);
1084
  if (!$images['image-url-1']) {
1085
  $images = $this->getImages($images, $product, $storeId);
1086
  }
app/code/community/Profileolabs/Shoppingflux/Model/Export/Observer.php CHANGED
@@ -57,8 +57,12 @@ class Profileolabs_Shoppingflux_Model_Export_Observer {
57
 
58
  public function updateFlux() {
59
  if(Mage::getStoreConfigFlag('shoppingflux_export/general/enable_cron')) {
60
- Mage::getModel('profileolabs_shoppingflux/export_flux')->getCollection();
61
- Mage::getModel('profileolabs_shoppingflux/export_flux')->updateFlux();
 
 
 
 
62
  }
63
  }
64
 
57
 
58
  public function updateFlux() {
59
  if(Mage::getStoreConfigFlag('shoppingflux_export/general/enable_cron')) {
60
+ foreach(Mage::app()->getStores() as $store) {
61
+ $feedUrl = Mage::helper('profileolabs_shoppingflux')->getFeedUrl($store);
62
+ if($feedUrl) {
63
+ file_get_contents($feedUrl);
64
+ }
65
+ }
66
  }
67
  }
68
 
app/code/community/Profileolabs/Shoppingflux/Model/Export/Source/Tracking/Delay.php CHANGED
@@ -7,6 +7,10 @@ class Profileolabs_Shoppingflux_Model_Export_Source_Tracking_Delay
7
  public function toOptionArray()
8
  {
9
  return array(
 
 
 
 
10
  array('label'=>10, 'value'=>10),
11
  array('label'=>9, 'value'=>9),
12
  array('label'=>8, 'value'=>8),
7
  public function toOptionArray()
8
  {
9
  return array(
10
+ array('label'=>30, 'value'=>10),
11
+ array('label'=>25, 'value'=>10),
12
+ array('label'=>20, 'value'=>10),
13
+ array('label'=>15, 'value'=>10),
14
  array('label'=>10, 'value'=>10),
15
  array('label'=>9, 'value'=>9),
16
  array('label'=>8, 'value'=>8),
app/code/community/Profileolabs/Shoppingflux/Model/Manageorders/Observer.php CHANGED
@@ -3,7 +3,7 @@
3
  class Profileolabs_Shoppingflux_Model_Manageorders_Observer {
4
 
5
  public function setCustomerTaxClassId($observer) {
6
- if (!$this->getConfig()->applyTax() && Mage::getSingleton('checkout/session')->getIsShoppingFlux()) {
7
  $customerGroup = $observer->getEvent()->getObject();
8
  $customerGroup->setData('tax_class_id', 999);
9
  }
@@ -90,10 +90,12 @@ class Profileolabs_Shoppingflux_Model_Manageorders_Observer {
90
  foreach($collection as $item) {
91
  try {
92
  $shipment = Mage::getModel('sales/order_shipment')->load($item->getShipmentId());
93
- $trakingInfos = $this->getShipmentTrackingNumber($shipment);
94
- if($trakingInfos || $shipment->getUpdatedAt() < $this->getConfig()->getShipmentUpdateLimit()) {
95
- $this->sendStatusShipped($shipment);
96
- $item->delete();
 
 
97
  }
98
  } catch(Exception $e) {
99
  $shipment = Mage::getModel('sales/order_shipment')->load($item->getShipmentId());
@@ -191,11 +193,16 @@ class Profileolabs_Shoppingflux_Model_Manageorders_Observer {
191
  return;
192
  }
193
  try {
194
- if(!$order->getRemoteIp() || $order->getFromShoppingflux()) {
 
 
 
 
 
195
  //backend order
196
  return;
197
  }
198
- $ip = Mage::helper('core/http')->getRemoteAddr(false);
199
  $grandTotal = $order->getBaseGrandTotal();
200
  $incrementId = $order->getIncrementId();
201
  $tagUrl = 'https://tag.shopping-flux.com/order/'.base64_encode($idTracking.'|'.$incrementId.'|'.$grandTotal).'?ip='.$ip;
3
  class Profileolabs_Shoppingflux_Model_Manageorders_Observer {
4
 
5
  public function setCustomerTaxClassId($observer) {
6
+ if (!$this->getConfig()->applyTax() && Mage::registry('is_shoppingfeed_import')/*Mage::getSingleton('checkout/session')->getIsShoppingFlux()*/) {
7
  $customerGroup = $observer->getEvent()->getObject();
8
  $customerGroup->setData('tax_class_id', 999);
9
  }
90
  foreach($collection as $item) {
91
  try {
92
  $shipment = Mage::getModel('sales/order_shipment')->load($item->getShipmentId());
93
+ if(Mage::app()->getStore()->getCode() == 'admin' || Mage::app()->getStore()->getId() == $shipment->getStoreId()) {
94
+ $trakingInfos = $this->getShipmentTrackingNumber($shipment);
95
+ if($trakingInfos || $shipment->getUpdatedAt() < $this->getConfig()->getShipmentUpdateLimit()) {
96
+ $this->sendStatusShipped($shipment);
97
+ $item->delete();
98
+ }
99
  }
100
  } catch(Exception $e) {
101
  $shipment = Mage::getModel('sales/order_shipment')->load($item->getShipmentId());
193
  return;
194
  }
195
  try {
196
+ if(version_compare(Mage::getVersion(), '1.6.0') > 0) {
197
+ if(!$order->getRemoteIp() || $order->getFromShoppingflux()) {
198
+ //backend order
199
+ return;
200
+ }
201
+ } else if ($order->getFromShoppingflux()) {
202
  //backend order
203
  return;
204
  }
205
+ $ip = $order->getRemoteIp()?$order->getRemoteIp():Mage::helper('core/http')->getRemoteAddr(false);
206
  $grandTotal = $order->getBaseGrandTotal();
207
  $incrementId = $order->getIncrementId();
208
  $tagUrl = 'https://tag.shopping-flux.com/order/'.base64_encode($idTracking.'|'.$incrementId.'|'.$grandTotal).'?ip='.$ip;
app/code/community/Profileolabs/Shoppingflux/Model/Manageorders/Order.php CHANGED
@@ -30,12 +30,12 @@ class Profileolabs_Shoppingflux_Model_Manageorders_Order extends Varien_Object {
30
  protected $_nb_orders_imported = 0;
31
  protected $_nb_orders_read = 0;
32
  protected $_ordersIdsImported = array();
33
- protected $_orderIdsAlreadyImported = null;
34
  protected $_result;
35
  protected $_resultSendOrder = "";
36
  protected $_isUnderVersion14 = null;
37
 
38
- //security for some mal-configured magento
39
  protected $_excludeConfigurableAttributes = array(
40
  'weight',
41
  'news_from_date',
@@ -44,8 +44,11 @@ class Profileolabs_Shoppingflux_Model_Manageorders_Order extends Varien_Object {
44
  'sku',
45
  'description',
46
  'short_description',
 
 
47
  'name',
48
  'tax_class_id',
 
49
  'price',
50
  'special_price',
51
  'special_from_date',
@@ -60,6 +63,8 @@ class Profileolabs_Shoppingflux_Model_Manageorders_Order extends Varien_Object {
60
  'options_container',
61
  'msrp_enabled',
62
  'msrp_display_actual_price_type',
 
 
63
  );
64
 
65
  /**
@@ -93,6 +98,10 @@ class Profileolabs_Shoppingflux_Model_Manageorders_Order extends Varien_Object {
93
  return Mage::objects()->load($this->_productModel);
94
  }
95
 
 
 
 
 
96
  public function getOrderIdsAlreadyImported() {
97
  if (is_null($this->_orderIdsAlreadyImported)) {
98
  $orders = Mage::getModel('sales/order')->getCollection()
@@ -108,38 +117,25 @@ class Profileolabs_Shoppingflux_Model_Manageorders_Order extends Varien_Object {
108
  return $this->_orderIdsAlreadyImported;
109
  }
110
 
111
- public function getOrderFlagFile($idShoppingflux) {
112
- if(!file_exists(BP . DS . 'var/shoppingflux')) {
113
- @mkdir(BP . DS . 'var/shoppingflux');
114
- }
115
- return BP . DS . 'var/shoppingflux/' . $idShoppingflux . '.flag';
116
- }
117
-
118
- public function clearOrderFlagFile($idShoppingflux) {
119
- @unlink($this->getOrderFlagFile($idShoppingflux));
120
- }
121
-
122
- public function clearOldOrderFlagFiles() {
123
- $files = glob(BP . DS . 'var/shoppingflux/*.flag');
124
- if($files) {
125
- foreach ($files as $filename) {
126
- if (filemtime($filename) < time() - 2 * 60 * 60) {
127
- @unlink($filename);
128
- }
129
- }
130
- }
131
- }
132
 
133
  public function isAlreadyImported($idShoppingflux) {
134
- $alreadyImported = $this->getOrderIdsAlreadyImported();
135
- if (in_array($idShoppingflux, $alreadyImported))
136
- return true;
137
- $flagPath = $this->getOrderFlagFile($idShoppingflux);
138
- if (file_exists($flagPath)) { //double check
 
 
 
 
 
 
139
  return true;
140
  }
141
-
142
- touch($flagPath);
 
143
 
144
  return false;
145
  }
@@ -170,8 +166,11 @@ class Profileolabs_Shoppingflux_Model_Manageorders_Order extends Varien_Object {
170
  public function manageOrders() {
171
  $stores = Mage::app()->getStores();
172
 
173
- if (Mage::app()->getStore()->getCode() != 'admin')
 
 
174
  Mage::app()->setCurrentStore('admin');
 
175
 
176
  $apiKeyManaged = array();
177
 
@@ -190,6 +189,9 @@ class Profileolabs_Shoppingflux_Model_Manageorders_Order extends Varien_Object {
190
 
191
 
192
  foreach ($stores as $_store) {
 
 
 
193
  $storeId = $_store->getId();
194
  if ($this->getConfig()->isOrdersEnabled($storeId)) {
195
  $apiKey = $this->getConfig()->getApiKey($storeId);
@@ -229,13 +231,7 @@ class Profileolabs_Shoppingflux_Model_Manageorders_Order extends Varien_Object {
229
  $orderSf = $this->getHelper()->asArray($child);
230
 
231
 
232
- if ($this->isAlreadyImported($orderSf['IdOrder'])) {
233
- $orders = Mage::getModel('sales/order')->getCollection()
234
- ->addAttributeToFilter('from_shoppingflux', 1)
235
- ->addAttributeToFilter('order_id_shoppingflux', $orderSf['IdOrder'])
236
- ->addAttributeToFilter('from_shoppingflux', 1)
237
- ->addAttributeToSelect('increment_id');
238
- $importedOrder = $orders->getFirstItem();
239
  $this->_ordersIdsImported[$orderSf['IdOrder']] = array(
240
  'Marketplace' => $orderSf['Marketplace'],
241
  'MageOrderId' => $importedOrder?$importedOrder->getIncrementId():'',
@@ -259,7 +255,7 @@ class Profileolabs_Shoppingflux_Model_Manageorders_Order extends Varien_Object {
259
 
260
  $result = $service->sendValidOrders($this->_ordersIdsImported);
261
  foreach($this->_ordersIdsImported as $importedOrder) {
262
- $shippingMethod = $importedOrder['ShippingMethod'];
263
  $marketplace = $importedOrder['Marketplace'];
264
  try {
265
  Mage::getModel('profileolabs_shoppingflux/manageorders_shipping_method')->saveShippingMethod($marketplace, $shippingMethod);
@@ -289,6 +285,17 @@ class Profileolabs_Shoppingflux_Model_Manageorders_Order extends Varien_Object {
289
  $this->clearOldOrderFlagFiles();
290
  return $this;
291
  }
 
 
 
 
 
 
 
 
 
 
 
292
 
293
  /**
294
  * Inititalize the quote with minimum requirement
@@ -306,9 +313,8 @@ class Profileolabs_Shoppingflux_Model_Manageorders_Order extends Varien_Object {
306
  $this->_getQuote()->setIsSuperMode(true);
307
 
308
  //Set boolean shopping flux and shipping prices in session for shopping method
309
- $this->getSession()->setIsShoppingFlux(true);
310
- //$this->getSession()->setShippingPrice((float)$orderSf['TotalShipping']);
311
-
312
  $this->_getQuote()->setCustomer($this->_customer);
313
  }
314
 
@@ -363,6 +369,16 @@ class Profileolabs_Shoppingflux_Model_Manageorders_Order extends Varien_Object {
363
  $this->_createCustomer($orderSf, $storeId);
364
 
365
  $this->_initQuote($orderSf, $storeId);
 
 
 
 
 
 
 
 
 
 
366
 
367
  //Add products to quote with data from ShoppingFlux
368
  $this->_addProductsToQuote($orderSf, $storeId);
@@ -377,7 +393,7 @@ class Profileolabs_Shoppingflux_Model_Manageorders_Order extends Varien_Object {
377
  $this->_nb_orders_imported++;
378
 
379
  if (!is_null($order) && $order->getId()) {
380
- $useMarketplaceDate = $this->getConfig()->getConfigData('shoppingflux_mo/manageorders/use_marketplace_date');
381
  $orderDate = date('Y-m-d H:i:s');
382
  if($useMarketplaceDate) {
383
  $orderDate = $orderSf['OrderDate'];
@@ -390,7 +406,7 @@ class Profileolabs_Shoppingflux_Model_Manageorders_Order extends Varien_Object {
390
  } catch (Exception $e) {
391
  $this->getHelper()->log($e->getMessage(), $orderSf['IdOrder']);
392
  $this->_ordersIdsImported[$orderIdShoppingFlux]['ErrorOrder'] = $e->getMessage();
393
- $this->clearOrderFlagFile($orderSf['IdOrder']);
394
  //Erase session for the next order
395
  $this->getSession()->clear();
396
  }
@@ -441,32 +457,7 @@ class Profileolabs_Shoppingflux_Model_Manageorders_Order extends Varien_Object {
441
  $addressShipping->setSameAsBilling(0);
442
 
443
 
444
- //Convert shipping price by tax rate
445
- $shippingPrice = (float) $orderSf['TotalShipping'];
446
- $this->getSession()->setShippingPrice($shippingPrice);
447
- if (!Mage::helper('tax')->shippingPriceIncludesTax() && Mage::helper('tax')->getShippingTaxClass(null)) {
448
- $percent = null;
449
- $pseudoProduct = new Varien_Object();
450
- $pseudoProduct->setTaxClassId(Mage::helper('tax')->getShippingTaxClass(null));
451
-
452
- $taxClassId = $pseudoProduct->getTaxClassId();
453
- if (is_null($percent)) {
454
- if ($taxClassId) {
455
- $request = Mage::getSingleton('tax/calculation')->getRateRequest($addressShipping, $addressBilling, null, null);
456
- $request->setProductClassId($taxClassId);
457
- $request->setCustomerClassId($this->_getQuote()->getCustomerTaxClassId());
458
- $percent = Mage::getSingleton('tax/calculation')->getRate($request);
459
-
460
- if ($percent !== false || !is_null($percent)) {
461
-
462
- $shippingPrice = $shippingPrice - ($shippingPrice / (100 + $percent) * $percent);
463
- $this->getSession()->setShippingPrice($shippingPrice);
464
- }
465
- }
466
- }
467
-
468
- //Mage::log("including tax = ".$includingTax." shipping price = ".$shippingPrice,null,'test_shipping_price.log');
469
- }
470
 
471
  //Set shipping Mehtod and collect shipping rates
472
  $addressShipping->setShippingMethod($this->_shippingMethod)->setCollectShippingRates(true);
@@ -491,37 +482,12 @@ class Profileolabs_Shoppingflux_Model_Manageorders_Order extends Varien_Object {
491
  $productId = $this->getProductModel()->getResource()->getIdBySku($sku);
492
  }
493
 
494
- $product = Mage::getModel('profileolabs_shoppingflux/manageorders_product')->load($productId);
495
 
496
  if ($product->getId()) {
497
 
498
  $request = new Varien_Object(array('qty' => $productSf['Quantity'] * $qtyIncrements));
499
- /*if ($product->getTypeId() == 'simple' && $product->getVisibility() == Mage_Catalog_Model_Product_Visibility::VISIBILITY_NOT_VISIBLE) {
500
-
501
- $parentIds = Mage::getResourceSingleton('catalog/product_type_configurable')
502
- ->getParentIdsByChild($product->getId());
503
-
504
- if (count($parentIds)) {
505
- $parentId = current($parentIds);
506
- $confProduct = Mage::getModel('profileolabs_shoppingflux/manageorders_product')->load($parentId);
507
- if ($confProduct->getId() && $confProduct->isSalable()) {
508
-
509
- $attributesConf = $this->getHelper()->getAttributesConfigurable($parentId);
510
- $superAttributes = array();
511
-
512
- foreach ($attributesConf as $attribute) {
513
-
514
- $attributeCode = $attribute['attribute_code'];
515
- $attributeId = $attribute['attribute_id'];
516
-
517
- $superAttributes[$attributeId] = $product->getData($attributeCode);
518
- }
519
-
520
- $product = $confProduct;
521
- $request->setData('super_attribute', $superAttributes);
522
- }
523
- }
524
- }*/
525
 
526
 
527
  $item = $this->_getQuote()->addProduct($product, $request);
@@ -564,8 +530,13 @@ class Profileolabs_Shoppingflux_Model_Manageorders_Order extends Varien_Object {
564
 
565
  //add configurable attributes informations
566
  $confAttributeValues = array();
567
- $configurableAttributesCollection = Mage::getResourceModel('catalog/product_attribute_collection')
568
- ->addVisibleFilter()
 
 
 
 
 
569
  ->addFieldToFilter('is_configurable', 1);
570
 
571
 
@@ -601,9 +572,18 @@ class Profileolabs_Shoppingflux_Model_Manageorders_Order extends Varien_Object {
601
  }
602
  }
603
 
604
-
605
- $this->_getQuote()->collectTotals();
606
- $this->_getQuote()->save();
 
 
 
 
 
 
 
 
 
607
 
608
  //Set payment method
609
  /* @var $payment Mage_Sales_Quote_Payment */
@@ -613,8 +593,24 @@ class Profileolabs_Shoppingflux_Model_Manageorders_Order extends Varien_Object {
613
  $payment->importData($dataPayment);
614
  //$addressShipping->setShippingMethod($this->_shippingMethod)->setCollectShippingRates(true);
615
 
616
- $this->_getQuote()->collectTotals();
617
- $this->_getQuote()->save();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
618
  }
619
 
620
 
@@ -721,7 +717,7 @@ class Profileolabs_Shoppingflux_Model_Manageorders_Order extends Varien_Object {
721
  }
722
 
723
 
724
- $this->_orderIdsAlreadyImported[] = $orderIdShoppingFlux;
725
  $this->_ordersIdsImported[$orderIdShoppingFlux]['MageOrderId'] = $order->getIncrementId();
726
 
727
  //if(Mage::helper('sales')->canSendNewOrderEmail()) {
30
  protected $_nb_orders_imported = 0;
31
  protected $_nb_orders_read = 0;
32
  protected $_ordersIdsImported = array();
33
+ //protected $_orderIdsAlreadyImported = null;
34
  protected $_result;
35
  protected $_resultSendOrder = "";
36
  protected $_isUnderVersion14 = null;
37
 
38
+ //security for some mal-configured magento, or old ones.
39
  protected $_excludeConfigurableAttributes = array(
40
  'weight',
41
  'news_from_date',
44
  'sku',
45
  'description',
46
  'short_description',
47
+ 'meta_title',
48
+ 'meta_description',
49
  'name',
50
  'tax_class_id',
51
+ 'status',
52
  'price',
53
  'special_price',
54
  'special_from_date',
63
  'options_container',
64
  'msrp_enabled',
65
  'msrp_display_actual_price_type',
66
+ 'shoppingflux_default_category',
67
+ 'shoppingflux_product',
68
  );
69
 
70
  /**
98
  return Mage::objects()->load($this->_productModel);
99
  }
100
 
101
+ /**
102
+ *
103
+ * @deprecated
104
+ */
105
  public function getOrderIdsAlreadyImported() {
106
  if (is_null($this->_orderIdsAlreadyImported)) {
107
  $orders = Mage::getModel('sales/order')->getCollection()
117
  return $this->_orderIdsAlreadyImported;
118
  }
119
 
120
+
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
121
 
122
  public function isAlreadyImported($idShoppingflux) {
123
+ $orders = Mage::getModel('sales/order')->getCollection()
124
+ ->addAttributeToFilter('from_shoppingflux', 1)
125
+ ->addAttributeToFilter('order_id_shoppingflux', $idShoppingflux)
126
+ ->addAttributeToSelect('increment_id');
127
+ if($orders->count() > 0) {
128
+ return $orders->getFirstItem();
129
+ }
130
+
131
+ /* Double vérification, pour gérer un appel simultané. (qui ne devrait pas arriver, mais au cas ou..) */
132
+ $flagPath = Mage::getStoreConfig('shoppingflux/order_flags/'.$idShoppingflux);
133
+ if ($flagPath) {
134
  return true;
135
  }
136
+ $config = new Mage_Core_Model_Config();
137
+ $config->saveConfig('shoppingflux/order_flags/'.$idShoppingflux, date('Y-m-d H:i:s'));
138
+ /* end double check */
139
 
140
  return false;
141
  }
166
  public function manageOrders() {
167
  $stores = Mage::app()->getStores();
168
 
169
+ $storeCode = Mage::app()->getStore()->getCode();
170
+ $isAdmin = ($storeCode == 'admin');
171
+ if (!$isAdmin) {
172
  Mage::app()->setCurrentStore('admin');
173
+ }
174
 
175
  $apiKeyManaged = array();
176
 
189
 
190
 
191
  foreach ($stores as $_store) {
192
+ if(!$isAdmin && $storeCode != $_store->getCode()) {
193
+ continue;
194
+ }
195
  $storeId = $_store->getId();
196
  if ($this->getConfig()->isOrdersEnabled($storeId)) {
197
  $apiKey = $this->getConfig()->getApiKey($storeId);
231
  $orderSf = $this->getHelper()->asArray($child);
232
 
233
 
234
+ if (($importedOrder = $this->isAlreadyImported($orderSf['IdOrder']))) {
 
 
 
 
 
 
235
  $this->_ordersIdsImported[$orderSf['IdOrder']] = array(
236
  'Marketplace' => $orderSf['Marketplace'],
237
  'MageOrderId' => $importedOrder?$importedOrder->getIncrementId():'',
255
 
256
  $result = $service->sendValidOrders($this->_ordersIdsImported);
257
  foreach($this->_ordersIdsImported as $importedOrder) {
258
+ $shippingMethod = isset($importedOrder['ShippingMethod'])?$importedOrder['ShippingMethod']:'';
259
  $marketplace = $importedOrder['Marketplace'];
260
  try {
261
  Mage::getModel('profileolabs_shoppingflux/manageorders_shipping_method')->saveShippingMethod($marketplace, $shippingMethod);
285
  $this->clearOldOrderFlagFiles();
286
  return $this;
287
  }
288
+
289
+ public function clearOldOrderFlagFiles() {
290
+ $config = new Mage_Core_Model_Config();
291
+ $orderFlags = Mage::getStoreConfig('shoppingflux/order_flags');
292
+ foreach($orderFlags as $orderId => $importDate) {
293
+ echo $orderId;
294
+ if(strtotime($importDate) < time()-3*60*60) {
295
+ $config->deleteConfig('shoppingflux/order_flags/' . $orderId);
296
+ }
297
+ }
298
+ }
299
 
300
  /**
301
  * Inititalize the quote with minimum requirement
313
  $this->_getQuote()->setIsSuperMode(true);
314
 
315
  //Set boolean shopping flux and shipping prices in session for shopping method
316
+ Mage::register('is_shoppingfeed_import', 1, true);
317
+
 
318
  $this->_getQuote()->setCustomer($this->_customer);
319
  }
320
 
369
  $this->_createCustomer($orderSf, $storeId);
370
 
371
  $this->_initQuote($orderSf, $storeId);
372
+
373
+ if(Mage::registry('current_order_sf')) {
374
+ Mage::unregister('current_order_sf');
375
+ }
376
+ Mage::register('current_order_sf', $orderSf);
377
+
378
+ if(Mage::registry('current_quote_sf')) {
379
+ Mage::unregister('current_quote_sf');
380
+ }
381
+ Mage::register('current_quote_sf', $this->_getQuote());
382
 
383
  //Add products to quote with data from ShoppingFlux
384
  $this->_addProductsToQuote($orderSf, $storeId);
393
  $this->_nb_orders_imported++;
394
 
395
  if (!is_null($order) && $order->getId()) {
396
+ $useMarketplaceDate = $this->getConfig()->getConfigFlag('shoppingflux_mo/manageorders/use_marketplace_date');
397
  $orderDate = date('Y-m-d H:i:s');
398
  if($useMarketplaceDate) {
399
  $orderDate = $orderSf['OrderDate'];
406
  } catch (Exception $e) {
407
  $this->getHelper()->log($e->getMessage(), $orderSf['IdOrder']);
408
  $this->_ordersIdsImported[$orderIdShoppingFlux]['ErrorOrder'] = $e->getMessage();
409
+ //$this->clearOrderFlagFile($orderSf['IdOrder']);
410
  //Erase session for the next order
411
  $this->getSession()->clear();
412
  }
457
  $addressShipping->setSameAsBilling(0);
458
 
459
 
460
+
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
461
 
462
  //Set shipping Mehtod and collect shipping rates
463
  $addressShipping->setShippingMethod($this->_shippingMethod)->setCollectShippingRates(true);
482
  $productId = $this->getProductModel()->getResource()->getIdBySku($sku);
483
  }
484
 
485
+ $product = Mage::getModel('profileolabs_shoppingflux/manageorders_product')->setStoreId($storeId)->load($productId);
486
 
487
  if ($product->getId()) {
488
 
489
  $request = new Varien_Object(array('qty' => $productSf['Quantity'] * $qtyIncrements));
490
+
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
491
 
492
 
493
  $item = $this->_getQuote()->addProduct($product, $request);
530
 
531
  //add configurable attributes informations
532
  $confAttributeValues = array();
533
+ if($this->isUnderVersion14()) {
534
+ $configurableAttributesCollection = Mage::getResourceModel('eav/entity_attribute_collection')
535
+ ->setEntityTypeFilter( Mage::getModel('eav/entity')->setType('catalog_product')->getTypeId() );
536
+ } else {
537
+ $configurableAttributesCollection = Mage::getResourceModel('catalog/product_attribute_collection');
538
+ }
539
+ $configurableAttributesCollection->addVisibleFilter()
540
  ->addFieldToFilter('is_configurable', 1);
541
 
542
 
572
  }
573
  }
574
 
575
+ try {
576
+ $this->_getQuote()->collectTotals();
577
+ $this->_getQuote()->save();
578
+ } catch(Exception $e) {
579
+ if($e->getMessage() == Mage::helper('sales')->__('Please specify a shipping method.')) {
580
+ $this->_getQuote()->getShippingAddress()->setShippingMethod($this->_shippingMethod)->setCollectShippingRates(true);
581
+ $this->_getQuote()->setTotalsCollectedFlag(false)->collectTotals();
582
+ $this->_getQuote()->save();
583
+ } else {
584
+ throw $e;
585
+ }
586
+ }
587
 
588
  //Set payment method
589
  /* @var $payment Mage_Sales_Quote_Payment */
593
  $payment->importData($dataPayment);
594
  //$addressShipping->setShippingMethod($this->_shippingMethod)->setCollectShippingRates(true);
595
 
596
+ try {
597
+ $this->_getQuote()->collectTotals();
598
+ $this->_getQuote()->save();
599
+ } catch(Exception $e) {
600
+ if($e->getMessage() == Mage::helper('sales')->__('Please specify a shipping method.')) {
601
+ $this->_getQuote()->getShippingAddress()->setShippingMethod($this->_shippingMethod)->setCollectShippingRates(true);
602
+
603
+ $this->_getQuote()->getShippingAddress()->setPaymentMethod($this->_paymentMethod);
604
+ $payment = $this->_getQuote()->getPayment();
605
+ $dataPayment = array('method' => $this->_paymentMethod, 'marketplace' => $orderSf['Marketplace']);
606
+ $payment->importData($dataPayment);
607
+
608
+ $this->_getQuote()->setTotalsCollectedFlag(false)->collectTotals();
609
+ $this->_getQuote()->save();
610
+ } else {
611
+ throw $e;
612
+ }
613
+ }
614
  }
615
 
616
 
717
  }
718
 
719
 
720
+ //$this->_orderIdsAlreadyImported[] = $orderIdShoppingFlux;
721
  $this->_ordersIdsImported[$orderIdShoppingFlux]['MageOrderId'] = $order->getIncrementId();
722
 
723
  //if(Mage::helper('sales')->canSendNewOrderEmail()) {
app/code/community/Profileolabs/Shoppingflux/Model/Manageorders/Payment/Method/Purchaseorder.php CHANGED
@@ -37,9 +37,8 @@ class Profileolabs_Shoppingflux_Model_Manageorders_Payment_Method_Purchaseorder
37
  */
38
  public function isAvailable($quote = null)
39
  {
40
- if(Mage::getSingleton('checkout/session')->getIsShoppingFlux())
41
  return true;
42
-
43
  return parent::isAvailable($quote);
44
  }
45
  }
37
  */
38
  public function isAvailable($quote = null)
39
  {
40
+ if(Mage::registry('is_shoppingfeed_import')/*Mage::getSingleton('checkout/session')->getIsShoppingFlux()*/)
41
  return true;
 
42
  return parent::isAvailable($quote);
43
  }
44
  }
app/code/community/Profileolabs/Shoppingflux/Model/Manageorders/Shipping/Carrier/Shoppingflux.php CHANGED
@@ -37,8 +37,33 @@ class Profileolabs_Shoppingflux_Model_Manageorders_Shipping_Carrier_Shoppingflux
37
  $method->setMethod('shoppingflux');
38
  $method->setMethodTitle($this->getConfigData('name'));
39
 
40
- $method->setPrice($this->getSession()->getShippingPrice());
41
- $method->setCost($this->getSession()->getShippingPrice());
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
42
 
43
  $result->append($method);
44
 
@@ -67,7 +92,7 @@ class Profileolabs_Shoppingflux_Model_Manageorders_Shipping_Carrier_Shoppingflux
67
 
68
  public function isActive()
69
  {
70
- if($this->getSession()->getIsShoppingFlux())
71
  return true;
72
 
73
  return false;
37
  $method->setMethod('shoppingflux');
38
  $method->setMethodTitle($this->getConfigData('name'));
39
 
40
+ $orderSf = Mage::registry('current_order_sf');
41
+ $quoteSf = Mage::registry('current_quote_sf');
42
+ $shippingPrice = $orderSf['TotalShipping'];
43
+ if (!Mage::helper('tax')->shippingPriceIncludesTax() && Mage::helper('tax')->getShippingTaxClass(null)) {
44
+ $percent = null;
45
+ $pseudoProduct = new Varien_Object();
46
+ $pseudoProduct->setTaxClassId(Mage::helper('tax')->getShippingTaxClass(null));
47
+
48
+ $taxClassId = $pseudoProduct->getTaxClassId();
49
+ if (is_null($percent)) {
50
+ if ($taxClassId) {
51
+ $request = Mage::getSingleton('tax/calculation')->getRateRequest($quoteSf->getShippingAddress(), $quoteSf->getBillingAddress(), null, null);
52
+ $request->setProductClassId($taxClassId);
53
+ $request->setCustomerClassId($quoteSf->getCustomerTaxClassId());
54
+ $percent = Mage::getSingleton('tax/calculation')->getRate($request);
55
+
56
+ if ($percent !== false || !is_null($percent)) {
57
+
58
+ $shippingPrice = $shippingPrice - ($shippingPrice / (100 + $percent) * $percent);
59
+ }
60
+ }
61
+ }
62
+
63
+ //Mage::log("including tax = ".$includingTax." shipping price = ".$shippingPrice,null,'test_shipping_price.log');
64
+ }
65
+ $method->setPrice($shippingPrice);
66
+ $method->setCost($shippingPrice);
67
 
68
  $result->append($method);
69
 
92
 
93
  public function isActive()
94
  {
95
+ if(Mage::registry('is_shoppingfeed_import')/*$this->getSession()->getIsShoppingFlux()*/)
96
  return true;
97
 
98
  return false;
app/code/community/Profileolabs/Shoppingflux/Model/Service.php CHANGED
@@ -212,11 +212,13 @@ class Profileolabs_Shoppingflux_Model_Service extends Varien_Object {
212
  $xml .= '<IdOrder>' . $orderId . '</IdOrder>';
213
  $xml .= '<Marketplace>' . $marketplace . '</Marketplace>';
214
  $xml .= '<Status>' . $status . '</Status>';
215
- if ($trackNum) {
216
  $xml .= '<TrackingNumber><![CDATA[' . $trackNum . ']]></TrackingNumber>';
217
  }
218
  if ($trackUrl) {
219
  $xml .= '<TrackingUrl><![CDATA[' . $trackUrl . ']]></TrackingUrl>';
 
 
220
  }
221
  if ($trackCarrier) {
222
  $xml .= '<CarrierName><![CDATA[' . $trackCarrier . ']]></CarrierName>';
212
  $xml .= '<IdOrder>' . $orderId . '</IdOrder>';
213
  $xml .= '<Marketplace>' . $marketplace . '</Marketplace>';
214
  $xml .= '<Status>' . $status . '</Status>';
215
+ if ($trackNum && !preg_match('%^http%i', $trackNum)) {
216
  $xml .= '<TrackingNumber><![CDATA[' . $trackNum . ']]></TrackingNumber>';
217
  }
218
  if ($trackUrl) {
219
  $xml .= '<TrackingUrl><![CDATA[' . $trackUrl . ']]></TrackingUrl>';
220
+ } else if ($trackNum && preg_match('%^http%i', $trackNum)) {
221
+ $xml .= '<TrackingUrl><![CDATA[' . $trackNum . ']]></TrackingUrl>';
222
  }
223
  if ($trackCarrier) {
224
  $xml .= '<CarrierName><![CDATA[' . $trackCarrier . ']]></CarrierName>';
app/code/community/Profileolabs/Shoppingflux/etc/config.xml CHANGED
@@ -2,7 +2,7 @@
2
  <config>
3
  <modules>
4
  <Profileolabs_Shoppingflux>
5
- <version>0.9.7</version>
6
  </Profileolabs_Shoppingflux>
7
  </modules>
8
  <admin>
@@ -353,7 +353,7 @@
353
  </import_orders_shoppingflux>-->
354
  <export_updates_shoppingflux>
355
  <schedule>
356
- <cron_expr>*/10 * * * *</cron_expr>
357
  </schedule>
358
  <run>
359
  <model>profileolabs_shoppingflux/export_observer::updateFlux</model>
@@ -429,7 +429,7 @@
429
  <use_marketplace_date>1</use_marketplace_date>
430
  </manageorders>
431
  <shipment_update>
432
- <limit_hours>2</limit_hours>
433
  </shipment_update>
434
  <import_customer>
435
  <prefer_mobile_phone>1</prefer_mobile_phone>
2
  <config>
3
  <modules>
4
  <Profileolabs_Shoppingflux>
5
+ <version>0.9.8</version>
6
  </Profileolabs_Shoppingflux>
7
  </modules>
8
  <admin>
353
  </import_orders_shoppingflux>-->
354
  <export_updates_shoppingflux>
355
  <schedule>
356
+ <cron_expr>20 * * * *</cron_expr>
357
  </schedule>
358
  <run>
359
  <model>profileolabs_shoppingflux/export_observer::updateFlux</model>
429
  <use_marketplace_date>1</use_marketplace_date>
430
  </manageorders>
431
  <shipment_update>
432
+ <limit_hours>1</limit_hours>
433
  </shipment_update>
434
  <import_customer>
435
  <prefer_mobile_phone>1</prefer_mobile_phone>
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Profileolabs_Shoppingflux</name>
4
- <version>0.9.7</version>
5
  <stability>stable</stability>
6
  <license uri="http://www.opensource.org/licenses/gpl-license.php">GNU General Public License (GPL)</license>
7
  <channel>community</channel>
@@ -11,9 +11,9 @@
11
  <notes>- Minor bugfixes &amp; improvements&#xD;
12
  </notes>
13
  <authors><author><name>ShoppingFlux</name><user>ShoppingFlux</user><email>olivier.levy@gmail.com</email></author></authors>
14
- <date>2015-07-01</date>
15
- <time>10:35:41</time>
16
- <contents><target name="magecommunity"><dir name="Profileolabs"><dir name="Shoppingflux"><dir name="Block"><dir name="Adminhtml"><dir name="Register"><file name="Notification.php" hash="13c5b3fccfd09dca376d4bc03f883384"/></dir><dir name="System"><dir name="Config"><dir name="Form"><dir name="Fieldset"><file name="Abstract.php" hash="9046ac88c58d7768d28047c5102789ae"/></dir></dir></dir></dir></dir><dir name="Export"><dir name="Adminhtml"><dir name="Catalog"><dir name="Category"><dir name="Edit"><file name="Form.php" hash="da466a657f2b80567ef576711a190805"/></dir><dir name="Tab"><file name="Default.php" hash="b66202a43cdb1e3b178287aa1d7c1d2a"/></dir></dir></dir><file name="Feed.php" hash="a6bfac2be7c99ba5631626404e231ab0"/><file name="Process.php" hash="d5cd1471abfc8ea7f364dfb4610e4fd4"/><dir name="Product"><file name="Grid.php" hash="03b7aa3a458a0405d5d22ce7c0566033"/></dir><file name="Product.php" hash="f71a0d0f25e2484f74f1ceaeee514d3f"/><dir name="Widget"><dir name="Grid"><dir name="Column"><dir name="Renderer"><file name="Bool.php" hash="2717fd3964299bb372c355427c8136d7"/></dir></dir></dir></dir></dir><file name="Flow.php" hash="51cfa87ab0417ff26669a33bd22b50fa"/><file name="Flux.php" hash="c6da5407ccd3df3c5cd34883f02b9490"/><file name="Tracking.php" hash="a01f384121dda81f8ee3faa80ee3a32a"/><file name=".DS_Store" hash="194577a7e20bdcc7afbb718f502c134c"/></dir><dir name="Manageorders"><dir name="Adminhtml"><dir name="Cron"><file name="Grid.php" hash="ddfd5d9374446afafef1f545839e869e"/></dir><file name="Cron.php" hash="1a6a4042d3270b56e2dadc80f5c12cfa"/><file name="Import.php" hash="0d675a1731ca646ba57989b8545f4682"/><dir name="Log"><file name="Grid.php" hash="9170b01b3a6d3d558801faeba745390f"/></dir><file name="Log.php" hash="3336bc53002b82b4ab16d18a4e68e0cb"/><dir name="Order"><file name="Grid.php" hash="00cc7d1bb20437d8f7a547e0acfd7f9c"/><dir name="View"><dir name="Tab"><file name="Shoppingflux.php" hash="c0039acf525620c14cc8a1945d44150e"/></dir></dir></dir><file name="Order.php" hash="a6d45eb0146fb448f72348724c3151df"/><dir name="System"><dir name="Config"><dir name="Form"><dir name="Fieldset"><dir name="Shipping"><file name="Method.php" hash="3133c5e5e3f54a1605d8f59041fb5f1c"/></dir></dir></dir></dir></dir></dir><dir name="Payment"><dir name="Info"><file name="Purchaseorder.php" hash="df942f5c9a19506ef2bf70ca1d4da809"/></dir></dir></dir><dir name="Tracking"><file name="Buyline.php" hash="a60b19ed533b265a7a2aafe75c03c0fa"/><file name="Roi.php" hash="e34e26dffead694a35798d0397782d55"/></dir></dir><dir name="Helper"><file name="Data.php" hash="627127368b33102a64bb56ea5d568d23"/></dir><dir name="Model"><dir name="Attribute"><dir name="Source"><file name="Category.php" hash="49f1f7959c4741c22bbf79b7e0bd24e7"/></dir></dir><dir name="Catalog"><dir name="Product"><file name="Collection.php" hash="4d4a368e1d7af2e403380dd206f213f7"/></dir></dir><file name="Config.php" hash="77b303de5e3a24146ee1bd2d2d68bc97"/><dir name="Export"><dir name="Convert"><dir name="Parser"><file name="Product.php" hash="4e50613b82ba84c35eb87f991645c118"/></dir></dir><file name="Flow.php" hash="842fa4b4a49ea86bdeb1cb0441433ccd"/><file name="Flux.php" hash="11b5095f487c021b452a9304f026b461"/><file name="Observer.php" hash="83dabfa1532cfa7400ea793f066c6a96"/><dir name="Rewrite"><dir name="Catalog"><file name="Config.php" hash="c87b13b0141123b80cb1ac33eaf75715"/></dir><dir name="CatalogInventory"><dir name="Stock"><file name="Item.php" hash="5249964f31fda6d5b7ff9587e713ca81"/></dir></dir></dir><dir name="Source"><file name="Attributes.php" hash="7c86df4782b77b69c59204a39766a787"/><file name="Attributesprice.php" hash="6cddf3b9562c8dbc56e670b377e341c1"/><dir name="Category"><file name="Level.php" hash="477d3dccefe5720eedc6b5d7a7110c9a"/></dir><dir name="Tracking"><file name="Delay.php" hash="85eeedcbec182edb1d6845260e1befd9"/></dir><file name="Visibility.php" hash="c2a1494bc2e554074d19c58523c450b2"/></dir><file name="Updates.php" hash="6a12528f1ba69f0e0240ba471b471578"/><file name="Xml.php" hash="d6574955d2a108a91c1ebf84feb1b02b"/><file name="Xmlflow.deprecated.php" hash="960d81e05b332cdb16449029b07f0eca"/><file name="Xmlflow.php" hash="82815362cf6b2127ef961be79e48c127"/></dir><dir name="Manageorders"><dir name="Convert"><file name="Customer.php" hash="9fa96ef49eb52d1d942f5cdea68d160c"/></dir><dir name="Export"><file name="Shipments.php" hash="20e617e183366ef5447ea653aa989065"/></dir><file name="Log.php" hash="392d1811b56df12bccb2e7986e588f3d"/><file name="Observer.php" hash="3662a1d641ee0d62031810f3c8afa567"/><file name="Order.php" hash="baa8025cf065022ff168e565a6a900b2"/><file name="OrderOLD.php" hash="f25b3ce2d3610eecf201e2d2421aa460"/><dir name="Payment"><dir name="Method"><file name="Purchaseorder.php" hash="4ed46b995590d286b3154e0bbf7ebc63"/></dir></dir><file name="Product.php" hash="0041c5ebcd0aa8ca17f5c1a4f07ec03d"/><dir name="Shipping"><dir name="Carrier"><file name="Shoppingflux.php" hash="1d56b8eac4d74d6f9cce1e8c5a6613bb"/></dir><file name="Method.php" hash="a71d621b210ecdb1e69290f3e0c6f6d2"/></dir><dir name="Source"><file name="Attributes.php" hash="c9207872ddd962d6b0166d35cfe98626"/></dir></dir><dir name="Mysql4"><dir name="Export"><dir name="Flux"><file name="Collection.php" hash="25a6420bb66aeefb6a8ac0a9e6fc538f"/></dir><file name="Flux.php" hash="6140eeee9d40615eaaba736377aba17e"/><dir name="Updates"><file name="Collection.php" hash="21b355b1db82e4b8a5d1950ac2ffbd18"/></dir><file name="Updates.php" hash="02ef11d051020470231e470f3232f862"/></dir><dir name="Manageorders"><dir name="Export"><dir name="Shipments"><file name="Collection.php" hash="fcdf3c607a8d479beb10a53a618aa225"/></dir><file name="Shipments.php" hash="e06dfaf254a5fd3d8649685b56874258"/></dir><dir name="Log"><file name="Collection.php" hash="0efd8c68937edf98cc9f9bb35bd76f79"/></dir><file name="Log.php" hash="b30bbf3ead209d69993546b29f72ecd7"/><dir name="Shipping"><dir name="Method"><file name="Collection.php" hash="7b2c8fb56625953ea8cd79cc7ddcc9df"/></dir><file name="Method.php" hash="a919a6c61ad6ddefd19ffc287eaa7325"/></dir></dir></dir><dir name="Service"><dir name="Http"><dir name="Client"><dir name="Adapter"><file name="Curl.php" hash="659ab165cdd8492fdc7ee08b515732ac"/><file name="Stream.php" hash="c3a61972f5ffb625dba59ba53365965d"/></dir></dir></dir></dir><file name="Service.php" hash="710020ebbf9107f09bb8a0e84ddcf81f"/><dir name="System"><dir name="Config"><dir name="Backend"><file name="Apikey.php" hash="90036cf58c627fcc68920af912171a0c"/><file name="Refresh.php" hash="d53cbdc6ae73c146af67ef5f20d9e4e8"/></dir></dir></dir><file name=".DS_Store" hash="e7218be203fbe7f5c2243a9dea3bf55e"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="GeneralController.php" hash="ca99113377d353dbc4eecfdaea767fa2"/></dir><dir name="Export"><dir name="Adminhtml"><file name="CategoryController.php" hash="d882797e1e0fbff25b312768c6569f04"/><file name="ExportController.php" hash="15e395246d428bc7e390e1078a54a390"/></dir><file name="FluxController.php" hash="dfc3346321cb2d2bcb076877871b14ee"/></dir><dir name="Manageorders"><dir name="Adminhtml"><file name="CronController.php" hash="9c43b1b18fb883b4140aaa1d3f82cb1c"/><file name="ImportController.php" hash="31203b56860d102c1565fb7653b1a770"/><file name="LogController.php" hash="f744619a2283468d03e8a3f7f8f0c080"/><file name="OrderController.php" hash="acec967d5c7fa44fd3f716fc48f500a6"/></dir><file name="LaunchController.php" hash="104e0020258b47abeacceed7b6b3669b"/></dir></dir><dir name="doc"><file name="ShoppingFeed_US.pdf" hash="0cd685730056d5f2f9c9f8292dead3ae"/><file name="ShoppingFlux_FR.pdf" hash="5590a49838bd67f70f0cacf9605cea2b"/></dir><dir name="etc"><file name="adminhtml.xml" hash="fa2e007d1511d96ca9b37fe92eab2604"/><file name="config.xml" hash="9da437138ce6ad811ae26d974f0af46a"/><file name="system.xml" hash="b3cbe9924b99c054f1148c26f59c20bf"/></dir><dir name="sql"><dir name="profileolabs_shoppingflux_setup"><file name="mysql4-install-0.1.0.php" hash="87c47ba97a55bd71dada152b52736be2"/><file name="mysql4-install-0.8.0.php" hash="48e14fe6bea37e0813d4e8011d97f9a9"/><file name="mysql4-install-0.8.5.php" hash="1aae90e495b0a281bb6916d425561620"/><file name="mysql4-install-0.8.6.php" hash="ae6e23c12465b3b091c3235598c20b0e"/><file name="mysql4-install-0.8.7.php" hash="7672f1e89056b6bd476bf7443937dd73"/><file name="mysql4-install-0.9.3.php" hash="33a66ff8e8d4505e0c68f2f027a00750"/><file name="mysql4-upgrade-0.1.0-0.1.1.php" hash="0f95646d855413c52928ed4c258aacb1"/><file name="mysql4-upgrade-0.3.13-0.3.14.php" hash="4f6a5399ad06457f0ebf57b33353ebe2"/><file name="mysql4-upgrade-0.3.14-0.3.15.php" hash="6215917eef61544fc6f4193d31956df4"/><file name="mysql4-upgrade-0.3.17-0.3.18.php" hash="112b34baecd80300682bda9ba69c8970"/><file name="mysql4-upgrade-0.4.2-0.4.3.php" hash="2322a9d2b5130bc78699c1953df87a04"/><file name="mysql4-upgrade-0.4.6-0.5.0.php" hash="02be6c02a8c77e642ef3e40ded1ba8be"/><file name="mysql4-upgrade-0.5.1-0.5.2.php" hash="0e5414628efee519deff6aff301651c7"/><file name="mysql4-upgrade-0.5.3-0.5.4.php" hash="9dfb5e5895a9a2973dba57a049d9d379"/><file name="mysql4-upgrade-0.5.5-0.5.6.php" hash="e0ebe03688b7eac8252efa0d5b9b4258"/><file name="mysql4-upgrade-0.6.5-0.6.6.php" hash="c58a1219b2858d50a3d72e77ac6ee43c"/><file name="mysql4-upgrade-0.7.7-0.7.8.php" hash="0804f52786bdd97024dee79eb4b68695"/><file name="mysql4-upgrade-0.7.9-0.8.0.php" hash="7fdd68eda7f3162e979995ed2d7f847d"/><file name="mysql4-upgrade-0.8.4-0.8.5.php" hash="edb5ea0572bdc0e75fd402aeaefc4858"/><file name="mysql4-upgrade-0.8.5-0.8.6.php" hash="a80ecd198b298fecbf6807eba980361e"/><file name="mysql4-upgrade-0.8.6-0.8.7.php" hash="b2f8a980fbace011ff9632198ae6c0a5"/><file name="mysql4-upgrade-0.9.0-0.9.1.php" hash="d8c3ba1dd0bbd12c20fc221e03ff2391"/><file name="mysql4-upgrade-0.9.2-0.9.3.php" hash="5e611f9c8f337cbee764e692721520e4"/><file name=".DS_Store" hash="05157f0d6ed36203dee120b9772e6b15"/></dir></dir><file name=".DS_Store" hash="70d8319e6c95b1083e4aa566a1e7f8f7"/></dir><file name=".DS_Store" hash="d3146c6d782e4b3220b6aaa51d65eccc"/></dir></target><target name="mageetc"><dir name="modules"><file name="Profileolabs_Shoppingflux.xml" hash="73ec83cf32c72884815a3cac9f754a54"/></dir></target><target name="magelocale"><dir><dir name="en_US"><file name="Profileolabs_Shoppingflux.csv" hash="bb846cd4e91b8d5b49c66c29afda5c52"/></dir><dir name="fr_FR"><file name="Profileolabs_Shoppingflux.csv" hash="e7b3eb4b163a56bfe6194264c308e8d9"/></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="profileolabs_shoppingflux.xml" hash="d4de97001b4d68d165ea6b008541701a"/></dir><dir name="template"><dir name="profileolabs"><dir name="shoppingflux"><dir name="export"><dir name="category"><file name="edit.phtml" hash="8af812638245a0aa59a1c90aa6c20a4f"/></dir><file name="edit.phtml" hash="af3d64c7cb4b179cbf75b2def62d31f1"/><file name="feed.phtml" hash="e380f0fa763f112ff153976b97dc3704"/><file name="process.phtml" hash="1dee42b2f14c0862446e5b475aaccad3"/><file name="product.phtml" hash="3d93144b8eb1e16672d610d9c0c35092"/></dir><dir name="manageorders"><file name="import.phtml" hash="6fd3bca397be66fc17d340cfae558fe9"/><dir name="payment"><dir name="info"><file name="purchaseorder.phtml" hash="782768b0e4836b25f46443dda098db29"/></dir></dir><dir name="sales"><dir name="order"><dir name="invoice"><file name="total.phtml" hash="0d8d4aec814c41f80b9d9c475b5da3ae"/></dir><file name="total.phtml" hash="ad58dad0fd4007764f03c74cc5a6ca57"/><dir name="view"><dir name="tab"><file name="shoppingflux.phtml" hash="7492846bef04ca1f0419cd804e7c4599"/></dir></dir></dir></dir></dir><dir name="register"><file name="notification.phtml" hash="80e22e32016bbbfea1c4b8e66ba18579"/></dir><file name="register.phtml" hash="614dfd40a4e74c0db2667ba30aeb71e3"/></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="profileolabs_shoppingflux.xml" hash="7fd081f5a153c3912b924fe5258cc468"/></dir></dir></dir><dir name="default"><dir name="default"><dir name="layout"><file name="profileolabs_shoppingflux.xml" hash="7fd081f5a153c3912b924fe5258cc468"/></dir></dir></dir></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="images"><dir name="shoppingflux"><file name="ad.png" hash="b76c0f3e4a7084a88ba0527be9fdcc25"/><file name="logo_us.jpg" hash="cae9e6bcba9814193a59bb07d541edb6"/><file name="s_shoppingfeed.png" hash="8782818108e316533ad090c5b078866f"/><file name="s_shoppingfeed_1.jpg" hash="50b18c2dcbe3bbfa6d0bdb55787da06b"/></dir></dir><dir name="css"><file name="shoppingflux.css" hash="b607a6c8ed09795fdf9fe4876c6ca2d6"/></dir></dir></dir></dir></target><target name="magelocal"><dir name="Varien"><dir name="Data"><dir name="Form"><dir name="Element"><file name="Wcmultiselect.php" hash="304b59d32ecdd9205af1716e528ae4bd"/></dir></dir></dir></dir></target></contents>
17
  <compatible/>
18
  <dependencies><required><php><min>5.1.0</min><max>6.0.0</max></php></required></dependencies>
19
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Profileolabs_Shoppingflux</name>
4
+ <version>0.9.8</version>
5
  <stability>stable</stability>
6
  <license uri="http://www.opensource.org/licenses/gpl-license.php">GNU General Public License (GPL)</license>
7
  <channel>community</channel>
11
  <notes>- Minor bugfixes &amp; improvements&#xD;
12
  </notes>
13
  <authors><author><name>ShoppingFlux</name><user>ShoppingFlux</user><email>olivier.levy@gmail.com</email></author></authors>
14
+ <date>2015-08-29</date>
15
+ <time>15:39:07</time>
16
+ <contents><target name="magecommunity"><dir name="Profileolabs"><dir name="Shoppingflux"><dir name="Block"><dir name="Adminhtml"><dir name="Register"><file name="Notification.php" hash="13c5b3fccfd09dca376d4bc03f883384"/></dir><dir name="System"><dir name="Config"><dir name="Form"><dir name="Fieldset"><file name="Abstract.php" hash="9046ac88c58d7768d28047c5102789ae"/></dir></dir></dir></dir></dir><dir name="Export"><dir name="Adminhtml"><dir name="Catalog"><dir name="Category"><dir name="Edit"><file name="Form.php" hash="da466a657f2b80567ef576711a190805"/></dir><dir name="Tab"><file name="Default.php" hash="b66202a43cdb1e3b178287aa1d7c1d2a"/></dir></dir></dir><file name="Feed.php" hash="a6bfac2be7c99ba5631626404e231ab0"/><file name="Process.php" hash="d5cd1471abfc8ea7f364dfb4610e4fd4"/><dir name="Product"><file name="Grid.php" hash="03b7aa3a458a0405d5d22ce7c0566033"/></dir><file name="Product.php" hash="f71a0d0f25e2484f74f1ceaeee514d3f"/><dir name="Widget"><dir name="Grid"><dir name="Column"><dir name="Renderer"><file name="Bool.php" hash="2717fd3964299bb372c355427c8136d7"/></dir></dir></dir></dir></dir><file name="Flow.php" hash="51cfa87ab0417ff26669a33bd22b50fa"/><file name="Flux.php" hash="c6da5407ccd3df3c5cd34883f02b9490"/><file name="Tracking.php" hash="a01f384121dda81f8ee3faa80ee3a32a"/><file name=".DS_Store" hash="194577a7e20bdcc7afbb718f502c134c"/></dir><dir name="Manageorders"><dir name="Adminhtml"><dir name="Cron"><file name="Grid.php" hash="ddfd5d9374446afafef1f545839e869e"/></dir><file name="Cron.php" hash="1a6a4042d3270b56e2dadc80f5c12cfa"/><file name="Import.php" hash="0d675a1731ca646ba57989b8545f4682"/><dir name="Log"><file name="Grid.php" hash="9170b01b3a6d3d558801faeba745390f"/></dir><file name="Log.php" hash="3336bc53002b82b4ab16d18a4e68e0cb"/><dir name="Order"><file name="Grid.php" hash="00cc7d1bb20437d8f7a547e0acfd7f9c"/><dir name="View"><dir name="Tab"><file name="Shoppingflux.php" hash="c0039acf525620c14cc8a1945d44150e"/></dir></dir></dir><file name="Order.php" hash="a6d45eb0146fb448f72348724c3151df"/><dir name="System"><dir name="Config"><dir name="Form"><dir name="Fieldset"><dir name="Shipping"><file name="Method.php" hash="3133c5e5e3f54a1605d8f59041fb5f1c"/></dir></dir></dir></dir></dir></dir><dir name="Payment"><dir name="Info"><file name="Purchaseorder.php" hash="df942f5c9a19506ef2bf70ca1d4da809"/></dir></dir></dir><dir name="Tracking"><file name="Buyline.php" hash="a60b19ed533b265a7a2aafe75c03c0fa"/><file name="Roi.php" hash="e34e26dffead694a35798d0397782d55"/></dir></dir><dir name="Helper"><file name="Data.php" hash="dbab029caf8bfd578042fef4c8b009b3"/></dir><dir name="Model"><dir name="Attribute"><dir name="Source"><file name="Category.php" hash="49f1f7959c4741c22bbf79b7e0bd24e7"/></dir></dir><dir name="Catalog"><dir name="Product"><file name="Collection.php" hash="8c3a5fe7c329059b6b85a1e0e5ee48fd"/></dir></dir><file name="Config.php" hash="aee3ec9bc6ccefe9f0567d9ddc3c7588"/><dir name="Export"><dir name="Convert"><dir name="Parser"><file name="Product.php" hash="4e50613b82ba84c35eb87f991645c118"/></dir></dir><file name="Flow.php" hash="842fa4b4a49ea86bdeb1cb0441433ccd"/><file name="Flux.php" hash="b409605dd5fb38d7dc7ee2eb83498341"/><file name="Observer.php" hash="4549b63bc0bb7dd4e3503609d1ab314a"/><dir name="Rewrite"><dir name="Catalog"><file name="Config.php" hash="c87b13b0141123b80cb1ac33eaf75715"/></dir><dir name="CatalogInventory"><dir name="Stock"><file name="Item.php" hash="5249964f31fda6d5b7ff9587e713ca81"/></dir></dir></dir><dir name="Source"><file name="Attributes.php" hash="7c86df4782b77b69c59204a39766a787"/><file name="Attributesprice.php" hash="6cddf3b9562c8dbc56e670b377e341c1"/><dir name="Category"><file name="Level.php" hash="477d3dccefe5720eedc6b5d7a7110c9a"/></dir><dir name="Tracking"><file name="Delay.php" hash="0816c1fd9c38f9574dfc4a164d8a0b3f"/></dir><file name="Visibility.php" hash="c2a1494bc2e554074d19c58523c450b2"/></dir><file name="Updates.php" hash="6a12528f1ba69f0e0240ba471b471578"/><file name="Xml.php" hash="d6574955d2a108a91c1ebf84feb1b02b"/><file name="Xmlflow.deprecated.php" hash="960d81e05b332cdb16449029b07f0eca"/><file name="Xmlflow.php" hash="82815362cf6b2127ef961be79e48c127"/></dir><dir name="Manageorders"><dir name="Convert"><file name="Customer.php" hash="9fa96ef49eb52d1d942f5cdea68d160c"/></dir><dir name="Export"><file name="Shipments.php" hash="20e617e183366ef5447ea653aa989065"/></dir><file name="Log.php" hash="392d1811b56df12bccb2e7986e588f3d"/><file name="Observer.php" hash="00911a6675065230c35875ed20a0904e"/><file name="Order.php" hash="97759eb7ec7d66b7155fd15b9be9c262"/><file name="OrderOLD.php" hash="f25b3ce2d3610eecf201e2d2421aa460"/><dir name="Payment"><dir name="Method"><file name="Purchaseorder.php" hash="5f04df4c6792a54ba1358f1020f4415f"/></dir></dir><file name="Product.php" hash="0041c5ebcd0aa8ca17f5c1a4f07ec03d"/><dir name="Shipping"><dir name="Carrier"><file name="Shoppingflux.php" hash="d10589fa6743660ba3839f940d83e62f"/></dir><file name="Method.php" hash="a71d621b210ecdb1e69290f3e0c6f6d2"/></dir><dir name="Source"><file name="Attributes.php" hash="c9207872ddd962d6b0166d35cfe98626"/></dir></dir><dir name="Mysql4"><dir name="Export"><dir name="Flux"><file name="Collection.php" hash="25a6420bb66aeefb6a8ac0a9e6fc538f"/></dir><file name="Flux.php" hash="6140eeee9d40615eaaba736377aba17e"/><dir name="Updates"><file name="Collection.php" hash="21b355b1db82e4b8a5d1950ac2ffbd18"/></dir><file name="Updates.php" hash="02ef11d051020470231e470f3232f862"/></dir><dir name="Manageorders"><dir name="Export"><dir name="Shipments"><file name="Collection.php" hash="fcdf3c607a8d479beb10a53a618aa225"/></dir><file name="Shipments.php" hash="e06dfaf254a5fd3d8649685b56874258"/></dir><dir name="Log"><file name="Collection.php" hash="0efd8c68937edf98cc9f9bb35bd76f79"/></dir><file name="Log.php" hash="b30bbf3ead209d69993546b29f72ecd7"/><dir name="Shipping"><dir name="Method"><file name="Collection.php" hash="7b2c8fb56625953ea8cd79cc7ddcc9df"/></dir><file name="Method.php" hash="a919a6c61ad6ddefd19ffc287eaa7325"/></dir></dir></dir><dir name="Service"><dir name="Http"><dir name="Client"><dir name="Adapter"><file name="Curl.php" hash="659ab165cdd8492fdc7ee08b515732ac"/><file name="Stream.php" hash="c3a61972f5ffb625dba59ba53365965d"/></dir></dir></dir></dir><file name="Service.php" hash="3e1b05fa9e9a4ad27605bbc7586d2653"/><dir name="System"><dir name="Config"><dir name="Backend"><file name="Apikey.php" hash="90036cf58c627fcc68920af912171a0c"/><file name="Refresh.php" hash="d53cbdc6ae73c146af67ef5f20d9e4e8"/></dir></dir></dir><file name=".DS_Store" hash="e7218be203fbe7f5c2243a9dea3bf55e"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="GeneralController.php" hash="ca99113377d353dbc4eecfdaea767fa2"/></dir><dir name="Export"><dir name="Adminhtml"><file name="CategoryController.php" hash="d882797e1e0fbff25b312768c6569f04"/><file name="ExportController.php" hash="15e395246d428bc7e390e1078a54a390"/></dir><file name="FluxController.php" hash="dfc3346321cb2d2bcb076877871b14ee"/></dir><dir name="Manageorders"><dir name="Adminhtml"><file name="CronController.php" hash="9c43b1b18fb883b4140aaa1d3f82cb1c"/><file name="ImportController.php" hash="31203b56860d102c1565fb7653b1a770"/><file name="LogController.php" hash="f744619a2283468d03e8a3f7f8f0c080"/><file name="OrderController.php" hash="acec967d5c7fa44fd3f716fc48f500a6"/></dir><file name="LaunchController.php" hash="104e0020258b47abeacceed7b6b3669b"/></dir></dir><dir name="doc"><file name="ShoppingFeed_US.pdf" hash="0cd685730056d5f2f9c9f8292dead3ae"/><file name="ShoppingFlux_FR.pdf" hash="5590a49838bd67f70f0cacf9605cea2b"/></dir><dir name="etc"><file name="adminhtml.xml" hash="fa2e007d1511d96ca9b37fe92eab2604"/><file name="config.xml" hash="a66abd4ca610caff7585ac291a5aaa14"/><file name="system.xml" hash="b3cbe9924b99c054f1148c26f59c20bf"/></dir><dir name="sql"><dir name="profileolabs_shoppingflux_setup"><file name="mysql4-install-0.1.0.php" hash="87c47ba97a55bd71dada152b52736be2"/><file name="mysql4-install-0.8.0.php" hash="48e14fe6bea37e0813d4e8011d97f9a9"/><file name="mysql4-install-0.8.5.php" hash="1aae90e495b0a281bb6916d425561620"/><file name="mysql4-install-0.8.6.php" hash="ae6e23c12465b3b091c3235598c20b0e"/><file name="mysql4-install-0.8.7.php" hash="7672f1e89056b6bd476bf7443937dd73"/><file name="mysql4-install-0.9.3.php" hash="33a66ff8e8d4505e0c68f2f027a00750"/><file name="mysql4-upgrade-0.1.0-0.1.1.php" hash="0f95646d855413c52928ed4c258aacb1"/><file name="mysql4-upgrade-0.3.13-0.3.14.php" hash="4f6a5399ad06457f0ebf57b33353ebe2"/><file name="mysql4-upgrade-0.3.14-0.3.15.php" hash="6215917eef61544fc6f4193d31956df4"/><file name="mysql4-upgrade-0.3.17-0.3.18.php" hash="112b34baecd80300682bda9ba69c8970"/><file name="mysql4-upgrade-0.4.2-0.4.3.php" hash="2322a9d2b5130bc78699c1953df87a04"/><file name="mysql4-upgrade-0.4.6-0.5.0.php" hash="02be6c02a8c77e642ef3e40ded1ba8be"/><file name="mysql4-upgrade-0.5.1-0.5.2.php" hash="0e5414628efee519deff6aff301651c7"/><file name="mysql4-upgrade-0.5.3-0.5.4.php" hash="9dfb5e5895a9a2973dba57a049d9d379"/><file name="mysql4-upgrade-0.5.5-0.5.6.php" hash="e0ebe03688b7eac8252efa0d5b9b4258"/><file name="mysql4-upgrade-0.6.5-0.6.6.php" hash="c58a1219b2858d50a3d72e77ac6ee43c"/><file name="mysql4-upgrade-0.7.7-0.7.8.php" hash="0804f52786bdd97024dee79eb4b68695"/><file name="mysql4-upgrade-0.7.9-0.8.0.php" hash="7fdd68eda7f3162e979995ed2d7f847d"/><file name="mysql4-upgrade-0.8.4-0.8.5.php" hash="edb5ea0572bdc0e75fd402aeaefc4858"/><file name="mysql4-upgrade-0.8.5-0.8.6.php" hash="a80ecd198b298fecbf6807eba980361e"/><file name="mysql4-upgrade-0.8.6-0.8.7.php" hash="b2f8a980fbace011ff9632198ae6c0a5"/><file name="mysql4-upgrade-0.9.0-0.9.1.php" hash="d8c3ba1dd0bbd12c20fc221e03ff2391"/><file name="mysql4-upgrade-0.9.2-0.9.3.php" hash="5e611f9c8f337cbee764e692721520e4"/><file name=".DS_Store" hash="05157f0d6ed36203dee120b9772e6b15"/></dir></dir><file name=".DS_Store" hash="70d8319e6c95b1083e4aa566a1e7f8f7"/></dir><file name=".DS_Store" hash="d3146c6d782e4b3220b6aaa51d65eccc"/></dir></target><target name="mageetc"><dir name="modules"><file name="Profileolabs_Shoppingflux.xml" hash="73ec83cf32c72884815a3cac9f754a54"/></dir></target><target name="magelocale"><dir><dir name="en_US"><file name="Profileolabs_Shoppingflux.csv" hash="bb846cd4e91b8d5b49c66c29afda5c52"/></dir><dir name="fr_FR"><file name="Profileolabs_Shoppingflux.csv" hash="e7b3eb4b163a56bfe6194264c308e8d9"/></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="profileolabs_shoppingflux.xml" hash="d4de97001b4d68d165ea6b008541701a"/></dir><dir name="template"><dir name="profileolabs"><dir name="shoppingflux"><dir name="export"><dir name="category"><file name="edit.phtml" hash="8af812638245a0aa59a1c90aa6c20a4f"/></dir><file name="edit.phtml" hash="af3d64c7cb4b179cbf75b2def62d31f1"/><file name="feed.phtml" hash="e380f0fa763f112ff153976b97dc3704"/><file name="process.phtml" hash="1dee42b2f14c0862446e5b475aaccad3"/><file name="product.phtml" hash="3d93144b8eb1e16672d610d9c0c35092"/></dir><dir name="manageorders"><file name="import.phtml" hash="6fd3bca397be66fc17d340cfae558fe9"/><dir name="payment"><dir name="info"><file name="purchaseorder.phtml" hash="782768b0e4836b25f46443dda098db29"/></dir></dir><dir name="sales"><dir name="order"><dir name="invoice"><file name="total.phtml" hash="0d8d4aec814c41f80b9d9c475b5da3ae"/></dir><file name="total.phtml" hash="ad58dad0fd4007764f03c74cc5a6ca57"/><dir name="view"><dir name="tab"><file name="shoppingflux.phtml" hash="7492846bef04ca1f0419cd804e7c4599"/></dir></dir></dir></dir></dir><dir name="register"><file name="notification.phtml" hash="80e22e32016bbbfea1c4b8e66ba18579"/></dir><file name="register.phtml" hash="614dfd40a4e74c0db2667ba30aeb71e3"/></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="profileolabs_shoppingflux.xml" hash="7fd081f5a153c3912b924fe5258cc468"/></dir></dir></dir><dir name="default"><dir name="default"><dir name="layout"><file name="profileolabs_shoppingflux.xml" hash="7fd081f5a153c3912b924fe5258cc468"/></dir></dir></dir></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="images"><dir name="shoppingflux"><file name="ad.png" hash="b76c0f3e4a7084a88ba0527be9fdcc25"/><file name="logo_us.jpg" hash="cae9e6bcba9814193a59bb07d541edb6"/><file name="s_shoppingfeed.png" hash="8782818108e316533ad090c5b078866f"/><file name="s_shoppingfeed_1.jpg" hash="50b18c2dcbe3bbfa6d0bdb55787da06b"/></dir></dir><dir name="css"><file name="shoppingflux.css" hash="b607a6c8ed09795fdf9fe4876c6ca2d6"/></dir></dir></dir></dir></target><target name="magelocal"><dir name="Varien"><dir name="Data"><dir name="Form"><dir name="Element"><file name="Wcmultiselect.php" hash="304b59d32ecdd9205af1716e528ae4bd"/></dir></dir></dir></dir></target></contents>
17
  <compatible/>
18
  <dependencies><required><php><min>5.1.0</min><max>6.0.0</max></php></required></dependencies>
19
  </package>