BeezUP_Module_feed_and_tracker - Version 4.7.5

Version Notes

New features :
- Amazon FBA no stock impact

Download this release

Release Info

Developer BeezUP
Extension BeezUP_Module_feed_and_tracker
Version 4.7.5
Comparing to
See all releases


Code changes from version 4.7.4 to 4.7.5

app/code/community/BeezUp/Block/Adminhtml/System/Config/Orderlink.php CHANGED
@@ -1,16 +1,16 @@
1
- <?php
2
-
3
  class Beezup_Block_Adminhtml_System_Config_Orderlink extends Mage_Adminhtml_Block_System_Config_Form_Field
4
  {
5
-
6
  protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element)
7
  {
8
-
9
  $url_link = Mage::getStoreConfig(Mage_Core_Model_Url::XML_PATH_SECURE_URL) . 'beezup/cron/orderlink';
10
  $url_order = Mage::getStoreConfig(Mage_Core_Model_Url::XML_PATH_SECURE_URL) . 'beezup/cron/order';
11
-
12
  $retorno = "<input type='radio' name='order-link' onclick='openOrderLink(1);' /> ".$this->__('Separated data')." &nbsp;&nbsp;&nbsp;<input type='radio' name='order-link' onclick='openOrderLink(2);' /> ".$this->__('go.beezup.com order link')." ";
13
-
14
  $retorno .= "
15
  <div id='info-order-link' style='display:none;margin-top:50px;'>
16
  <table class='table'>
@@ -32,7 +32,7 @@
32
  </tr>
33
  </table>
34
  </div>
35
-
36
  <div id='order-order-link' style='display:none;margin-top:50px;'>
37
  <table class='table'>
38
  <tr>
@@ -46,7 +46,7 @@
46
  </table>
47
  </div>
48
  ";
49
-
50
  $retorno .= "
51
  <script>
52
  function openOrderLink(valor) {
@@ -58,8 +58,8 @@
58
  document.getElementById('info-order-link').style.display = 'none';
59
  }
60
  }
61
-
62
-
63
  function sendOrderInfo() {
64
  var account = document.getElementById('info-order-account').value;
65
  var marketplace = document.getElementById('info-order-marketplace').value;
@@ -67,20 +67,20 @@
67
  var orderlink = '".$url_order."?acount_id=' + account + '&marketplace=' + marketplace + '&order_id=' + orderid;
68
  window.open(orderlink,'_blank');
69
  }
70
-
71
  function sendOrderLink() {
72
  var link = document.getElementById('order-link-enlace').value;
73
  var link = encodeURIComponent(link);
74
  var orderlink = '".$url_link."?url=' + link;
75
  window.open(orderlink,'_blank');
76
  }
77
-
78
  </script>
79
  ";
80
-
81
  return $retorno;
82
  }
83
-
84
-
85
-
86
- }
1
+ <?php
2
+
3
  class Beezup_Block_Adminhtml_System_Config_Orderlink extends Mage_Adminhtml_Block_System_Config_Form_Field
4
  {
5
+
6
  protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element)
7
  {
8
+
9
  $url_link = Mage::getStoreConfig(Mage_Core_Model_Url::XML_PATH_SECURE_URL) . 'beezup/cron/orderlink';
10
  $url_order = Mage::getStoreConfig(Mage_Core_Model_Url::XML_PATH_SECURE_URL) . 'beezup/cron/order';
11
+
12
  $retorno = "<input type='radio' name='order-link' onclick='openOrderLink(1);' /> ".$this->__('Separated data')." &nbsp;&nbsp;&nbsp;<input type='radio' name='order-link' onclick='openOrderLink(2);' /> ".$this->__('go.beezup.com order link')." ";
13
+
14
  $retorno .= "
15
  <div id='info-order-link' style='display:none;margin-top:50px;'>
16
  <table class='table'>
32
  </tr>
33
  </table>
34
  </div>
35
+
36
  <div id='order-order-link' style='display:none;margin-top:50px;'>
37
  <table class='table'>
38
  <tr>
46
  </table>
47
  </div>
48
  ";
49
+
50
  $retorno .= "
51
  <script>
52
  function openOrderLink(valor) {
58
  document.getElementById('info-order-link').style.display = 'none';
59
  }
60
  }
61
+
62
+
63
  function sendOrderInfo() {
64
  var account = document.getElementById('info-order-account').value;
65
  var marketplace = document.getElementById('info-order-marketplace').value;
67
  var orderlink = '".$url_order."?acount_id=' + account + '&marketplace=' + marketplace + '&order_id=' + orderid;
68
  window.open(orderlink,'_blank');
69
  }
70
+
71
  function sendOrderLink() {
72
  var link = document.getElementById('order-link-enlace').value;
73
  var link = encodeURIComponent(link);
74
  var orderlink = '".$url_link."?url=' + link;
75
  window.open(orderlink,'_blank');
76
  }
77
+
78
  </script>
79
  ";
80
+
81
  return $retorno;
82
  }
83
+
84
+
85
+
86
+ }
app/code/community/BeezUp/Block/Order.php CHANGED
@@ -17,7 +17,7 @@ class Beezup_Block_Order extends Mage_core_block_text {
17
  private $marketplace_code;
18
  private $beezup_order_id;
19
  private $mage_order_id = false;
20
-
21
 
22
  private function makeDir() {
23
 
@@ -45,6 +45,9 @@ class Beezup_Block_Order extends Mage_core_block_text {
45
  }
46
  $sync_end_date = new DateTime ( 'now', new DateTimeZone ( 'UTC' ));
47
  $helper = Mage::helper('beezup');
 
 
 
48
  $sync_status = $helper->getConfig('beezup/marketplace/sync_status');
49
  $debug_mode = $helper->getConfig('beezup/marketplace/debug_mode');
50
  $create_customer = $helper->getConfig("beezup/marketplace/create_customers");
@@ -162,6 +165,8 @@ class Beezup_Block_Order extends Mage_core_block_text {
162
 
163
  $sync_end_date = new DateTime ( 'now', new DateTimeZone ( 'UTC' ));
164
  $helper = Mage::helper('beezup');
 
 
165
  $sync_status = $helper->getConfig('beezup/marketplace/sync_status');
166
  $debug_mode = $helper->getConfig('beezup/marketplace/debug_mode');
167
  $create_customer = $helper->getConfig("beezup/marketplace/create_customers");
@@ -271,6 +276,13 @@ class Beezup_Block_Order extends Mage_core_block_text {
271
  $order_totalPrice = $final_order->getOrderTotalPrice();
272
  $order_shippingPrice = $final_order->getOrderShippingPrice();
273
 
 
 
 
 
 
 
 
274
  $name_parts = explode(" ", $order_customer);
275
  $order_first_name = array_shift( $name_parts);
276
  $order_last_name = implode(" ", $name_parts);
@@ -306,6 +318,7 @@ class Beezup_Block_Order extends Mage_core_block_text {
306
  $mage_productIds = $this->prescanOrder($final_order);
307
  if($mage_productIds) {
308
  $order_data = array(
 
309
  "etag" => $etag,
310
  "account_id" => $account_id,
311
  "order_status" => $order_status,
@@ -832,7 +845,7 @@ class Beezup_Block_Order extends Mage_core_block_text {
832
  }
833
 
834
 
835
-
836
 
837
  private function createCustomer($customer_email , $data) {
838
  $password = $this->orderid;
@@ -902,27 +915,37 @@ class Beezup_Block_Order extends Mage_core_block_text {
902
  //echo "Product ".$product->getId()."<br><br>";
903
  //para no perder stock:
904
  //Mage::getModel('cataloginventory/stock')->backItemQty($productId,$new_qty);
905
-
906
-
907
- if($addStock == 1) {
908
- $stock = Mage::getModel('cataloginventory/stock_item')->loadByProduct($product);
909
-
910
- if ($stock->getQty() < $prod['qty'] && $product->getStockItem()->getMaxSaleQty() >= $prod['qty']) {
911
- $this->debugLog("Product ".$product->getId()." Stock = 0, Updating to ".$prod['qty']." to generate Order");
912
- // Mage::getModel('cataloginventory/stock')->backItemQty($product->getId(),$prod['qty']);
913
- //$this->_updateStocks(array("id_product" => $product->getId(), "qty" => $prod['qty']));
914
- $product->setStockData(
915
- array(
916
- 'is_in_stock' => 1,
917
- 'qty' => $prod['qty'],
918
- 'manage_stock' => 1,
919
- 'use_config_notify_stock_qty' => 1
920
- )
921
- );
 
 
 
922
  $product->save();
923
  $product = Mage::getModel('catalog/product')->load($product->getId());
924
 
925
  }
 
 
 
 
 
 
 
926
  }
927
  //fin para no perder stock
928
 
@@ -1166,12 +1189,15 @@ class Beezup_Block_Order extends Mage_core_block_text {
1166
 
1167
  try {
1168
  foreach($data['products'] as $prod) {
 
 
 
1169
  $product = Mage::getModel('catalog/product')->load($prod['id']);
1170
  $stock = Mage::getModel('cataloginventory/stock_item')->loadByProduct($product);
1171
  if ($stock->getQty() != $prod['curr_stock'] ) {
1172
  $this->debugLog("Restoring Stock from Product ".$product->getId()." to: ".$prod['curr_stock'] ." due to Order Fail");
1173
  $stockItem = Mage::getModel('cataloginventory/stock_item')->loadByProduct($product);
1174
- $stockItem->setData('is_in_stock', 0);
1175
  $stockItem->setData('qty', $prod['curr_stock']);
1176
  $stockItem->save();
1177
  $product->save();
17
  private $marketplace_code;
18
  private $beezup_order_id;
19
  private $mage_order_id = false;
20
+ private $marketChannelFilters = array();
21
 
22
  private function makeDir() {
23
 
45
  }
46
  $sync_end_date = new DateTime ( 'now', new DateTimeZone ( 'UTC' ));
47
  $helper = Mage::helper('beezup');
48
+
49
+ $marketChannelFilters = $helper->getConfig('beezup/marketplace/market_channel_filters');
50
+ $this->marketChannelFilters = explode(",", $marketChannelFilters);
51
  $sync_status = $helper->getConfig('beezup/marketplace/sync_status');
52
  $debug_mode = $helper->getConfig('beezup/marketplace/debug_mode');
53
  $create_customer = $helper->getConfig("beezup/marketplace/create_customers");
165
 
166
  $sync_end_date = new DateTime ( 'now', new DateTimeZone ( 'UTC' ));
167
  $helper = Mage::helper('beezup');
168
+ $marketChannelFilters = $helper->getConfig('beezup/marketplace/market_channel_filters');
169
+ $this->marketChannelFilters = explode(",", $marketChannelFilters);
170
  $sync_status = $helper->getConfig('beezup/marketplace/sync_status');
171
  $debug_mode = $helper->getConfig('beezup/marketplace/debug_mode');
172
  $create_customer = $helper->getConfig("beezup/marketplace/create_customers");
276
  $order_totalPrice = $final_order->getOrderTotalPrice();
277
  $order_shippingPrice = $final_order->getOrderShippingPrice();
278
 
279
+ $marketChannel = $final_order->getOrderMarketplaceChannel();
280
+ $resetStock = false;
281
+ foreach($this->marketChannelFilters as $filter) {
282
+ if($filter == $marketChannel) {
283
+ $resetStock = true;
284
+ }
285
+ }
286
  $name_parts = explode(" ", $order_customer);
287
  $order_first_name = array_shift( $name_parts);
288
  $order_last_name = implode(" ", $name_parts);
318
  $mage_productIds = $this->prescanOrder($final_order);
319
  if($mage_productIds) {
320
  $order_data = array(
321
+ "resetStock" => $resetStock,
322
  "etag" => $etag,
323
  "account_id" => $account_id,
324
  "order_status" => $order_status,
845
  }
846
 
847
 
848
+ private $currentStock = null;
849
 
850
  private function createCustomer($customer_email , $data) {
851
  $password = $this->orderid;
915
  //echo "Product ".$product->getId()."<br><br>";
916
  //para no perder stock:
917
  //Mage::getModel('cataloginventory/stock')->backItemQty($productId,$new_qty);
918
+ $stock = Mage::getModel('cataloginventory/stock_item')->loadByProduct($product);
919
+ $this->currentStock[$prod['id']] = $stock->getQty();
920
+ if($addStock == 1 || $data['resetStock'] == true) {
921
+
922
+
923
+ if (($stock->getQty() < $prod['qty'] && $product->getStockItem()->getMaxSaleQty() >= $prod['qty'] ) || $data['resetStock']
924
+ == true) {
925
+ $stockQty = $this->currentStock[$prod['id']] + $prod['qty'];
926
+ $this->debugLog("Product ".$product->getId()." Stock = ".(int)$this->currentStock[$prod['id']] .", Adding 1 to stock to generate Order");
927
+ // Mage::getModel('cataloginventory/stock')->backItemQty($product->getId(),$prod['qty']);
928
+ //$this->_updateStocks(array("id_product" => $product->getId(), "qty" => $prod['qty']));
929
+
930
+ $product->setStockData(
931
+ array(
932
+ 'is_in_stock' => 1,
933
+ 'qty' => $stockQty,
934
+ 'manage_stock' => 1,
935
+ 'use_config_notify_stock_qty' => 1
936
+ )
937
+ );
938
  $product->save();
939
  $product = Mage::getModel('catalog/product')->load($product->getId());
940
 
941
  }
942
+ } elseif($this->currentStock[$prod['id']] == 0) {
943
+ $this->log->LogError($this->orderid. "| Order ".$data['market_place_order_id']." could not be imported, error: Product with id ".$product->getId()." has stock 0");
944
+ $this->restoreStock($data);
945
+ $blnCreate = false;
946
+ return;
947
+ break;
948
+
949
  }
950
  //fin para no perder stock
951
 
1189
 
1190
  try {
1191
  foreach($data['products'] as $prod) {
1192
+ if(!isset($this->currentStock[$prod['id']])) {
1193
+ continue;
1194
+ }
1195
  $product = Mage::getModel('catalog/product')->load($prod['id']);
1196
  $stock = Mage::getModel('cataloginventory/stock_item')->loadByProduct($product);
1197
  if ($stock->getQty() != $prod['curr_stock'] ) {
1198
  $this->debugLog("Restoring Stock from Product ".$product->getId()." to: ".$prod['curr_stock'] ." due to Order Fail");
1199
  $stockItem = Mage::getModel('cataloginventory/stock_item')->loadByProduct($product);
1200
+ $stockItem->setData('is_in_stock', (int)$this->currentStock[$prod['id']]);
1201
  $stockItem->setData('qty', $prod['curr_stock']);
1202
  $stockItem->save();
1203
  $product->save();
app/code/community/BeezUp/Block/Order_old.php DELETED
@@ -1,1553 +0,0 @@
1
- <?php
2
- require_once Mage::getModuleDir('', 'BeezUp') . DS . 'lib' . DS ."KLogger.php";
3
- require_once Mage::getModuleDir('', 'BeezUp') . DS . 'lib' . DS ."bootstrap.php";
4
- require_once Mage::getModuleDir('', 'BeezUp') . DS . 'lib' . DS ."BeezupRepository.php";
5
- require_once Mage::getModuleDir('', 'BeezUp') . DS . 'lib' . DS ."BeezupMageOrders.php";
6
-
7
- class Beezup_Block_Order extends Mage_core_block_text {
8
-
9
- protected $repository = null;
10
- protected $oOrderService;
11
- public $log = null;
12
- public $log2 = null;
13
- public $orderid = "";
14
- public $debug = false;
15
- public $blnCreateCustomer = false;
16
- private $account_id;
17
- private $marketplace_code;
18
- private $beezup_order_id;
19
- private $mage_order_id = false;
20
-
21
-
22
- private function makeDir() {
23
-
24
- if (file_exists(Mage::getBaseDir('base').'/beezup/tmp')) { return true;}
25
-
26
- if (!mkdir(Mage::getBaseDir('base').'/beezup/tmp', 0777, true))
27
- {
28
- echo "[ERROR] : Seems we can't create 'beezup' directory inside your root directory."."<br/>"
29
- ."You can try one of these solutions :"."<br/>"
30
- ."1 - Create by yourself the beezup/tmp inside your root directory with 777 permissions"."<br/>"
31
- ."2 - Change the permissions on your root directory (777)"."<br/>"
32
- ."3 - Change the 'cache delay' option to 'None' inside beezup plugin settings"."<br/>";
33
- return false;
34
- }
35
- return true;
36
-
37
- }
38
- public function createOrderFromLink($account_id, $marketplace_code, $beezup_order_id) {
39
- $this->makeDir();
40
- $logDir = Mage::getBaseDir('base').'/beezup/';
41
- if(file_exists($logDir."log2.txt")) {
42
- if(filesize($logDir."/log2.txt") >=3000000) {
43
- unlink($logDir."log2.txt");
44
- }
45
- }
46
- $sync_end_date = new DateTime ( 'now', new DateTimeZone ( 'UTC' ));
47
- $helper = Mage::helper('beezup');
48
- $sync_status = $helper->getConfig('beezup/marketplace/sync_status');
49
- $debug_mode = $helper->getConfig('beezup/marketplace/debug_mode');
50
- $create_customer = $helper->getConfig("beezup/marketplace/create_customers");
51
- if($create_customer == 0) {
52
- $this->blnCreateCustomer = true;
53
- }
54
-
55
- if($debug_mode==1) {
56
- $this->debug = true;
57
- }
58
- if($sync_status!==1) {
59
- $configModel = Mage::getModel('core/config');
60
- $configModel->saveConfig('beezup/marketplace/sync_status',1);
61
-
62
-
63
- unlink($logDir."log.txt");
64
- $this->log = new KLogger ( $logDir."log.txt" , KLogger::DEBUG );
65
- $this->log2 = new KLogger ( $logDir."log2.txt" , KLogger::DEBUG );
66
- $this->debugLog("Initializing OM Importation");
67
- $shiiping_disabled = Mage::getStoreConfig('carriers/flatrate/active');
68
-
69
- $this->account_id = $account_id;
70
- $this->marketplace_code = $marketplace_code;
71
- $this->beezup_order_id = $beezup_order_id;
72
- $orderResponse = $this->getBeezupOrder();
73
- if($orderResponse) {
74
-
75
- if($shiiping_disabled == 0) {
76
- Mage::getConfig()
77
- ->saveConfig('carriers/flatrate/active', 1)
78
- ->cleanCache();
79
- Mage::app()->reinitStores();
80
- }
81
- $this->createOrder($orderResponse);
82
- //OCI sinon le shiiping flate reste actif ...
83
- //if($shiiping_disabled == 1) {
84
- if($shiiping_disabled == 1) {
85
- Mage::getConfig()
86
- ->saveConfig('carriers/flatrate/active', 0)
87
- ->cleanCache();
88
- Mage::app()->reinitStores();
89
- }
90
- $configModel->saveConfig('beezup/marketplace/sync_status',0);
91
- if($this->mage_order_id) {
92
- echo "<script>window.location='".Mage::helper('adminhtml')->getUrl("adminhtml/sales_order/view", array('order_id'=> $this->mage_order_id))."';</script>";
93
- }
94
- // die("Order Importation finalized");
95
-
96
- }
97
-
98
- }
99
- $configModel->saveConfig('beezup/marketplace/sync_status',0);
100
- //die("Error, Order data incorrect");
101
- echo $this->_showLog();
102
- }
103
-
104
- public function _showLog() {
105
- $logDir = Mage::getBaseDir('base').'/beezup/';
106
- // $log1 = file_get_contents();
107
- $ret = array();
108
- if (file_exists($logDir."/log.txt")) {
109
- $f = fopen($logDir."/log.txt", 'r');
110
-
111
- if ($f) {
112
- while (!feof($f)) {
113
- $ret[] = fgetcsv($f, 0, '|');
114
- }
115
- fclose($f);
116
- }
117
- }
118
- array_slice(array_reverse($ret), 1, 10);
119
-
120
- return $this->_getTable($ret);
121
-
122
- }
123
-
124
-
125
- public function _getTable($data) {
126
- $url = Mage::getBaseUrl( Mage_Core_Model_Store::URL_TYPE_WEB, true );
127
- $html = "<td></td><td></td><tr></tr></tbody></table>
128
-
129
- <div class='grid' style=' height: 600px;overflow-y: scroll;padding: 16px;border: 3px solid #e6e6e6;' id='marketPlaceLogBlock'>";
130
- $html .= '<p>'. Mage::helper('beezup')->__('For full logs see here:').' <a href="'.$url .'beezup/log/load" target="_blank">'.$url .'beezup/log/load</a></p>';
131
- $html .= "<table class='data' style='margin-top:0px;width:100%;'>";
132
- $html .= "<tr class='headings'>";
133
- $html .= '<th><span class="nobr">Time</span></th>';
134
- $html .= '<th><span class="nobr">Type</span></th>';
135
- $html .= '<th><span class="nobr">Order Id</span></th>';
136
- $html .= '<th><span class="nobr">Message</span></th>';
137
- $html .= "</tr>";
138
- $html .= "<tbody>";
139
- foreach($data as $d) {
140
- $background = " background: rgb(240, 184, 184)";
141
- if($d[1] == " INFO " ) {
142
- $background = " background: rgb(210, 227, 253)";
143
- }
144
- $orderId = (isset($d[3])) ? $d[2] : "";
145
- $message = (isset($d[3])) ? $d[3] : $d[2];
146
- $html .= "<tr class='even pointer' style='".$background."'>";
147
- $html .= "<td>".$d[0]."</td>";
148
- $html .= "<td>".$d[1]."</td>";
149
- $html .= "<td>".$orderId."</td>";
150
- $html .= "<td>".$message."</td>";
151
- $html .= "</tr>";
152
-
153
- }
154
-
155
- $html .= "<tbody>";
156
- $html .= '</table>';
157
- $html .= "</div>";
158
-
159
- return $html;
160
- }
161
-
162
-
163
-
164
- public function executeCron() {
165
-
166
- $this->makeDir();
167
-
168
- set_time_limit(0);
169
- $logDir = Mage::getBaseDir('base').'/beezup/';
170
- if(file_exists($logDir."log2.txt")) {
171
- if(filesize($logDir."/log2.txt") >=3000000) {
172
- unlink($logDir."log2.txt");
173
- }
174
- }
175
-
176
- $sync_end_date = new DateTime ( 'now', new DateTimeZone ( 'UTC' ));
177
- $helper = Mage::helper('beezup');
178
- $sync_status = $helper->getConfig('beezup/marketplace/sync_status');
179
- $debug_mode = $helper->getConfig('beezup/marketplace/debug_mode');
180
- $create_customer = $helper->getConfig("beezup/marketplace/create_customers");
181
- if($create_customer == 0) {
182
- $this->blnCreateCustomer = true;
183
- }
184
-
185
- if($debug_mode==1) {
186
- $this->debug = true;
187
- }
188
-
189
- if($sync_status!==1) {
190
- $configModel = Mage::getModel('core/config');
191
- $configModel->saveConfig('beezup/marketplace/sync_status',1);
192
-
193
-
194
-
195
- unlink($logDir."log.txt");
196
- $this->log = new KLogger ( $logDir."log.txt" , KLogger::DEBUG );
197
- $this->log2 = new KLogger ( $logDir."log2.txt" , KLogger::DEBUG );
198
-
199
-
200
- $shiiping_disabled = Mage::getStoreConfig('carriers/flatrate/active');
201
- $this->debugLog("## flatrate active yes or no : ".$shiiping_disabled."##");
202
-
203
-
204
- if($shiiping_disabled == 0) {
205
- Mage::getConfig()
206
- ->saveConfig('carriers/flatrate/active', 1)
207
- ->cleanCache();
208
- Mage::app()->reinitStores();
209
-
210
- }
211
-
212
-
213
- $this->getOrderList();
214
-
215
- //OCI shiiping_disabled 1 et pas 0...
216
-
217
- if($shiiping_disabled == 1) {
218
- Mage::getConfig()
219
- ->saveConfig('carriers/flatrate/active', 0)
220
- ->cleanCache();
221
- Mage::app()->reinitStores();
222
-
223
- }
224
- $this->repository->updateLastSynchronizationDate( $sync_end_date);
225
- $this->orderid = "";
226
- $this->debugLog("OM Importation finalized succesfully");
227
- $configModel->saveConfig('beezup/marketplace/sync_status',0);
228
- echo "OM Importation finalized succesfully";
229
-
230
- } else {
231
-
232
- echo "Order Importation is already being executed";
233
- }
234
-
235
- }
236
-
237
-
238
- public function getLog() {
239
- $logDir = Mage::getBaseDir('base').'/beezup/';
240
- $log1 = file_get_contents($logDir."/log2.txt");
241
-
242
- echo "<pre>";
243
- print_r($log1);
244
- echo "</pre>";
245
-
246
- }
247
- public function getBeezupOrder() {
248
-
249
- $oOrderIdentifier = $this->getBeezupOrderId();
250
- $oBeezupOMOrderResponse = $this->getOrderService()->getOrder($oOrderIdentifier);
251
- if ($oBeezupOMOrderResponse && $oBeezupOMOrderResponse->getResult()){
252
- return $oBeezupOMOrderResponse;
253
- }
254
-
255
-
256
- return false;
257
- }
258
-
259
- public function getBeezupOrderId(){
260
- $oIdentifier = new BeezupOMOrderIdentifier();
261
- $oIdentifier
262
- ->setAccountId($this->account_id)
263
- ->setMarketplaceTechnicalCode($this->marketplace_code)
264
- ->setBeezupOrderUUID($this->beezup_order_id);
265
- return $oIdentifier;
266
- }
267
-
268
-
269
- public function createOrder($oBeezupOrderResponse) {
270
-
271
- $etag = $oBeezupOrderResponse->getETag();
272
- $final_order = $oBeezupOrderResponse->getResult();
273
-
274
- $orderid = $final_order->getOrderMarketPlaceOrderId();
275
- $this->orderid = $orderid;
276
- //customer Info
277
- $order_address = $final_order->getOrderBuyerAddressCity();
278
- $order_country = $final_order->getOrderBuyerAddressCountryName();
279
- $order_country_iso = $final_order->getOrderBuyerAddressCountryIsoCodeAlpha2();
280
- $order_address = $this->getBeezupBuyerAddress($final_order);
281
- $order_postalCode = $final_order->getOrderBuyerAddressPostalCode();
282
- $order_customer = $final_order->getOrderBuyerName();
283
- $order_customer_email = $final_order->getOrderBuyerEmail();
284
- $order_customer_phone = $final_order->getOrderBuyerPhone();
285
- $order_customer_mobile = $final_order->getOrderBuyerMobilePhone();
286
- $order_comment = $final_order->getOrderComment();
287
- $order_company = $final_order->getOrderBuyerCompanyName();
288
- $order_city = $final_order->getOrderBuyerAddressCity();
289
- $order_region = $final_order->getOrderBuyerStateOrRegion();
290
- $order_status = $final_order->getOrderStatusBeezUPOrderStatus();
291
- //shipping information
292
- $shipping_city = $final_order->getOrderShippingAddressCity();
293
- $shipping_country = $final_order->getOrderShippingAddressCountryName();
294
- $shipping_country_iso = $final_order->getOrderShippingAddressCountryIsoCodeAlpha2();
295
- $shipping_address = $this->getBeezupShippingAddress($final_order);
296
- $shipping_name = $final_order->getOrderShippingAddressName();
297
- $shipping_postalCode = $final_order->getOrderShippingAddressPostalCode();
298
- $shipping_email = $final_order->getOrderShippingEmail();
299
- $shipping_phone = $final_order->getOrderShippingPhone();
300
- $shipping_method_BEEZUP = $final_order->getOrderShippingMethod();
301
- $shipping_mobile = $final_order->getOrderShippingMobilePhone();
302
- $shipping_company = $final_order->getOrderShippingCompanyName();
303
- $shipping_region = $final_order->getOrderShippingAddressStateOrRegion();
304
- $order_currency_code = $final_order->getOrderCurrencyCode();
305
- //order Info
306
- $order_totalPrice = $final_order->getOrderTotalPrice();
307
- $order_shippingPrice = $final_order->getOrderShippingPrice();
308
-
309
- $name_parts = explode(" ", $order_customer);
310
- $order_first_name = array_shift( $name_parts);
311
- $order_last_name = implode(" ", $name_parts);
312
-
313
-
314
- $name_parts = explode(" ", $shipping_name);
315
- $shipping_first_name = array_shift( $name_parts);
316
- $shipping_last_name = implode(" ", $name_parts);
317
-
318
-
319
- //marketplace information
320
- $marketplace_business_code = $final_order->getMarketPlaceBusinessCode();
321
- $marketplace = $final_order->getMarketPlaceTechnicalCode();
322
-
323
- //productInfo
324
-
325
- $mage_productIds = $this->prescanOrder($final_order);
326
-
327
-
328
-
329
- if(!$this->checkEtagExists($etag)) {
330
- if(empty($order_customer_email)) {
331
- $order_customer_email = $this->generateEmail($final_order);
332
- }
333
- elseif(!filter_var($order_customer_email, FILTER_VALIDATE_EMAIL)) {
334
- $order_customer_email = $this->generateEmail($final_order);
335
- }
336
- if($order_country_iso == "FX" || $order_country_iso == "fx") {
337
- $order_country_iso = "FR";
338
- }
339
- if($shipping_country_iso == "FX" || $shipping_country_iso == "fx") {
340
- $shipping_country_iso = "FR";
341
- }
342
- $mage_productIds = $this->prescanOrder($final_order);
343
- if($mage_productIds) {
344
-
345
- if ($shipping_last_name=='') $shipping_last_name = $shipping_first_name;
346
-
347
- $order_data = array(
348
- "etag" => $etag,
349
- "account_id" => $account_id,
350
- "order_status" => $order_status,
351
- "products" => $mage_productIds['products'],
352
- "storeid" => $mage_productIds['store'],
353
- "order_currency" => $order_currency_code ,
354
- "order_address" => $order_adress,
355
- "order_country" => $order_country,
356
- "order_country_iso" => $order_country_iso ,
357
- "order_address" => $order_address ,
358
- "order_postalCode" => $order_postalCode ,
359
- "order_customer" => $order_first_name ,
360
- "order_lastname" => $order_last_name ,
361
- "order_customer_email" => $order_customer_email ,
362
- "order_customer_phone" => $this->getPhone($order_customer_phone, $order_customer_mobile) ,
363
- "order_comment" => $order_comment ,
364
- "order_company" => $order_company ,
365
- "shipping_city" => $shipping_city ,
366
- "shipping_country" => $shipping_country ,
367
- "shipping_country_iso" => $shipping_country_iso ,
368
- "shipping_address" => $shipping_address ,
369
- "shipping_name" => $shipping_first_name ,
370
- "shipping_lastname" => $shipping_last_name ,
371
- "shipping_postalCode" => $shipping_postalCode ,
372
- "shipping_region" =>$shipping_region,
373
- "shipping_email" => $shipping_email ,
374
- "shipping_phone" => $this->getPhone($shipping_phone, $shipping_mobile) ,
375
- "shipping_company" => $shipping_company ,
376
- "order_totalPrice" => $order_totalPrice ,
377
- "order_shippingPrice" => $order_shippingPrice ,
378
- "order_city" => $order_city,
379
- "order_region" => $order_region,
380
- "marketplace" => $marketplace,
381
- "discounts" => $mage_productIds['discounts'],
382
- "marketplace_business_code" => $marketplace_business_code,
383
- //ajout OCI pour passer la methode
384
- "shipping_method_BEEZUP" => $shipping_method_BEEZUP
385
- );
386
- // $this->debugLog(printf($order_data));
387
-
388
-
389
- $this->debugLog("Order data : ");
390
- foreach ($order_data as $key => $value){
391
- $this->debugLog($key . " : " . $value);
392
- }
393
-
394
-
395
- //check if order exists
396
- $Mageorder = $this->loadMageOrder();
397
- if ($Mageorder) {
398
- //if order exists
399
- $this->updateEtag($etag);
400
- $this->updateBilling($Mageorder, $order_data);
401
- $this->updateBeezupInfoTab($Mageorder, $final_order, $order_data);
402
- $this->debugLog("Order Already exists Mage Order ID: " .$Mageorder->getId());
403
- $status1 = $Mageorder->getStatusLabel();
404
- $status = $this->getStatus($status1);
405
- if($status !== $order_status) {
406
- //if order exits and status has changed we update order status
407
- $this->debugLog("Updating Order Status from: ".$status1." to: ".$order_status );
408
- $this->setStatus( $order_status, $Mageorder);
409
- }
410
-
411
- $id_order = $Mageorder->getId();
412
- $BeezupMageOrder = new BeezupMageOrders($id_order);
413
- $BeezupMageOrder->setData(array("shipping" =>(float) $order_data['order_shippingPrice']));
414
- $BeezupMageOrder->updateShippingInfo();
415
- } else {
416
- //if not we create order
417
-
418
-
419
- $this->debugLog("Generating Order");
420
- $this->addOrder($order_data,$final_order);
421
- //die();
422
-
423
- }
424
-
425
-
426
- } else {
427
- //order could not be imported
428
-
429
-
430
- }
431
-
432
-
433
- } else {
434
- //etag has not changed
435
- $shiiping_disabled = Mage::getStoreConfig('carriers/flatrate/active');
436
- // On remet le Flat à 0 !!!
437
- if($shiiping_disabled == 1) {
438
- Mage::getConfig()
439
- ->saveConfig('carriers/flatrate/active', 0)
440
- ->cleanCache();
441
- Mage::app()->reinitStores();
442
-
443
- }
444
-
445
- $this->debugLog("Order Etag has not changed");
446
-
447
- }
448
-
449
-
450
-
451
-
452
-
453
- }
454
-
455
-
456
-
457
- public function generateEmail(BeezupOMOrderResult $oBeezupOrder)
458
- {
459
- $sRawValue = $oBeezupOrder->getBeezupOrderUUID ();
460
- $sFakeDomain = preg_replace ( '/\W/', '', $oBeezupOrder->getMarketPlaceTechnicalCode () ) . '.com';
461
- return 'fakeemail' . md5 ( $sFakeDomain . $sRawValue ) . '@' . strtolower ( $sFakeDomain );
462
- }
463
-
464
-
465
-
466
- public function getOrderList($orderList = null) {
467
- if($orderList == null) {
468
- $data = $this->createRepository()->createOrderListRequest();
469
- $oRequest = $this->getOrderService()->getClientProxy()->getOrderList($data);
470
- $orderList = $oRequest->getResult();
471
- }
472
- $oPagination = $orderList->getPaginationResult();
473
- if(!empty($oPagination)) {
474
- $oLinksTotal = $oPagination->getLinks();
475
- } else {
476
- $configModel = Mage::getModel('core/config');
477
- $configModel->saveConfig('beezup/marketplace/sync_status',0);
478
- // Correction FRED On remet le shipping à 0 !!!
479
- $shiiping_disabled = Mage::getStoreConfig('carriers/flatrate/active');
480
-
481
- if($shiiping_disabled == 1) {
482
- Mage::getConfig()
483
- ->saveConfig('carriers/flatrate/active', 0)
484
- ->cleanCache();
485
- Mage::app()->reinitStores();
486
-
487
- }
488
- die("No more orders to import");
489
- }
490
-
491
- //$header = $orderList->getOrderHeaders();
492
- foreach($orderList->getOrderHeaders() as $order) {
493
- $order_status = $order->getBeezupOrderState();
494
- $orderLinks = $order->getLinks();
495
- $etag = $order->getETag();
496
- $beezup_order_id = $order->getBeezupOrderUUID();
497
- $account_id = $order->getAccountId();
498
- $orderdata = $this->getOrderService()->getClientProxy()->getOrderByLink($orderLinks[0]);
499
- $this->debugLog("Initializing Order - Link: ".$orderLinks[0]->getHref());
500
- $this->createOrder($orderdata);
501
-
502
- }
503
-
504
- if(!empty($oLinksTotal)) {
505
- //we check if there is next link and get next orders
506
- foreach($oLinksTotal as $link) {
507
- if( $link->getRel() == "next") {
508
-
509
- $this->log->LogInfo("Initializing New Order List ->". $link->getHref());
510
- $this->log2->LogInfo("Initializing New Order List ->". $link->getHref());
511
- $oRequest = $this->getOrderService()->getClientProxy()->getOrderListByLink($link);
512
- $orderList = $oRequest->getResult();
513
- $this->getOrderList($orderList);
514
- }
515
-
516
- }
517
- }
518
-
519
- }
520
-
521
-
522
-
523
- public function updateBeezupInfoTab($order, $oLink, $data) {
524
- $beezup_last_modification_date = $oLink->getOrderLastModificationUtcDate();
525
- $beezup_last_modification_date = $beezup_last_modification_date->date;
526
- $beezup_marketplace_last_modification_date = $oLink->getOrderMarketPlaceLastModificationUtcDate();
527
- $beezup_marketplace_last_modification_date = $beezup_marketplace_last_modification_date->date;
528
- $beezup_comission = $oLink->getOrderTotalCommission()." ".$data['order_currency'];
529
- $tot_comm = $oLink->getOrderTotalCommission();
530
- if(empty($tot_comm ) || $tot_comm == 0) {
531
- $beezup_comission = 0;
532
- }
533
- $updateData = array("beezup_status" => $data['order_status'],
534
- "beezup_last_modification_date" => $beezup_last_modification_date,
535
- "beezup_marketplace_last_modification_date" => $beezup_marketplace_last_modification_date ,
536
- "beezup_total_paid" => $oLink->getOrderTotalPrice()." ".$data['order_currency'],
537
- "beezup_comission" => $beezup_comission,
538
- "beezup_marketplace_status" => $oLink->getOrderStatusMarketPlaceStatus());
539
- $orderId = $order->getId();
540
- $beezupMageOrder = new BeezupMageOrders($orderId);
541
- $beezupMageOrder->setData($updateData);
542
- $beezupMageOrder->updateBeezupInfo();
543
-
544
-
545
- }
546
-
547
- public function getPhone($phone, $phone2) {
548
- $retorno = "";
549
- if(!empty($phone) && $phone !== "") {
550
- $retorno .= $phone;
551
- }
552
- if(!empty($phone2) && $phone2 !=="") {
553
- if(empty($phone) || $phone == "") {
554
- $retorno = $phone2;
555
-
556
- } else {
557
- $retorno .= " - ".$phone2;
558
- }
559
- }
560
- return $retorno;
561
- }
562
-
563
-
564
- public function getBeezupBuyerAddress($order) {
565
- $add1=$order->getOrderBuyerAddressLine1();
566
- $add2=$order->getOrderBuyerAddressLine2();
567
- $add3=$order->getOrderBuyerAddressLine3();
568
- $retorno = "";
569
- if(!empty($add1)) {
570
- $retorno = $order->getOrderBuyerAddressLine1();
571
- }
572
- if(!empty($add2)) {
573
- if(empty($add1)) {
574
- $retorno .= $order->getOrderBuyerAddressLine2();
575
- } else {
576
- $retorno .= " - ". $order->getOrderBuyerAddressLine2();
577
- }
578
- }
579
- if(!empty($add3)){
580
- if(empty($add1) && empty($add2)) {
581
- $retorno .= $order->getOrderBuyerAddressLine3();
582
- } else {
583
- $retorno .= " - ". $order->getOrderBuyerAddressLine3();
584
- }
585
- }
586
- return $retorno;
587
- }
588
-
589
-
590
- public function getBeezupShippingAddress($order) {
591
- $add1 = $order->getOrderShippingAddressLine1();
592
- $add2 = $order->getOrderShippingAddressLine2();
593
- $add3=$order->getOrderBuyerAddressLine3();
594
- $retorno = "";
595
- if(!empty($add1 )) {
596
- $retorno = $order->getOrderShippingAddressLine1();
597
- }
598
- if(!empty($add2)) {
599
- if(empty($add1)) {
600
- $retorno .= $order->getOrderShippingAddressLine2();
601
- } else {
602
- $retorno .= " - ". $order->getOrderShippingAddressLine2();
603
- }
604
- }
605
- if(!empty($add3)){
606
- if(empty($add1) && empty($add2)) {
607
- $retorno .= $order->getOrderShippingAddressLine3();
608
- } else {
609
- $retorno .= " - ". $order->getOrderShippingAddressLine3();
610
- }
611
- }
612
- return $retorno;
613
- }
614
-
615
- public function checkEtagExists($etag) {
616
- $resource = Mage::getSingleton('core/resource');
617
- $readConnection = $resource->getConnection('core_read');
618
- $table = $resource->getTableName('sales/order_grid');
619
- $query = 'SELECT increment_id FROM ' . $table . ' WHERE beezup_etag = \''
620
- . $etag . '\' LIMIT 1';
621
- $order = $readConnection->fetchOne($query);
622
- if($order && !empty($order)) {
623
- return true;
624
- }
625
- return false;
626
-
627
- }
628
-
629
-
630
- public function updateEtag($etag) {
631
- $this->debugLog("Updating Etag");
632
- $resource = Mage::getSingleton('core/resource');
633
- $writeConnection = $resource->getConnection('core_write');
634
- $table = $resource->getTableName('sales/order_grid');
635
- $query = "UPDATE {$table} SET beezup_etag = '{$etag}' where beezup_market_order_id = '{$this->orderid}' ";
636
- $writeConnection->query($query);
637
-
638
- }
639
-
640
-
641
-
642
- public function updateBilling($order, $data) {
643
-
644
- $addressData = array(
645
- 'billing_company' => ($data['order_company']) ? $data['order_company'] : "",
646
- 'billing_firstname' => ($data['order_customer']) ? $data['order_customer'] : "empty",
647
- 'billing_lastname' => ($data['order_lastname']) ? $data['order_lastname'] : "empty",
648
- 'billing_street' => ($data['order_address']) ? $data['order_address'] : "empty",
649
- 'billing_city' => ($data['order_city']) ? $data['order_city'] : "empty",
650
- 'billing_postcode' => ($data['order_postalCode']) ? $data['order_postalCode'] : "empty",
651
- 'billing_telephone' => ($data['order_customer_phone']) ? $data['order_customer_phone'] : "empty",
652
- 'billing_country_id' => ($data['order_country_iso']) ? $data['order_country_iso'] : "empty",
653
- 'billing_region_id' => ($data['order_region ']) ? substr($data['order_region '], 0,2) : "EM",
654
- 'shipping_firstname' => ($data['shipping_name']) ? $data['shipping_name'] : "empty",
655
- 'shipping_lastname' => ($data['shipping_lastname']) ? $data['shipping_lastname'] : $data['shipping_name'],
656
- 'shipping_street' => ($data['shipping_address']) ? $data['shipping_address'] : "empty",
657
- 'shipping_city' => ($data['shipping_city']) ? $data['shipping_city'] : "empty",
658
- 'shipping_postcode' => ($data['shipping_postalCode']) ? $data['shipping_postalCode'] : "empty",
659
- 'shipping_telephone' => ($data['shipping_phone']) ? $data['shipping_phone'] : "empty",
660
- 'shipping_country_id' => ($data['shipping_country_iso']) ? $data['shipping_country_iso'] : "empty",
661
- 'shipping_company' => ($data['shipping_company']) ? $data['shipping_company'] : "",
662
- 'shipping_region_id' => ($data['shipping_region']) ? substr($data['shipping_region'], 0, 2) : "EM" // id from directory_country_region table
663
- );
664
-
665
- $shippingData = array(
666
-
667
- );
668
- // Get the id of the orders shipping address
669
- $orderId = $order->getId();
670
- $beezupMageOrder = new BeezupMageOrders($orderId);
671
- $beezupMageOrder->setData($addressData);
672
- $beezupMageOrder->updateAdresses();
673
- }
674
-
675
- public function updateAddresses($shippingData, $address) {
676
- if($shippingData['firstname'] !==$address['firstname']) {
677
- $address->setFirstname($shippingData['firstname']);
678
- }
679
- if($shippingData['lastname'] !==$address['lastname']) {
680
- $address->setLastname($shippingData['lastname']);
681
- }
682
- if($shippingData['street'] !==$address['street']) {
683
- $address->setStreet($shippingData['street']);
684
- }
685
- if($shippingData['city'] !==$address['city']) {
686
- $address->setCity($shippingData['city']);
687
- }
688
- if($shippingData['postcode'] !==$address['postcode']) {
689
- $address->setPostcode($shippingData['postcode']);
690
- }
691
- if($shippingData['telephone'] !==$address['telephone']) {
692
- $address->setTelephone($shippingData['telephone']);
693
- }
694
- $address->save();
695
-
696
-
697
- }
698
-
699
-
700
- public function loadMageOrder() {
701
- $Mageorder = Mage::getModel('sales/order')->loadByIncrementId($this->orderid);
702
- if ($Mageorder->getId()) {
703
- return $Mageorder;
704
- } else {
705
- //we get order from marketplace orderid
706
- $orderInc = $this->checkMarketOrderExists($this->orderid);
707
- if($orderInc) {
708
- // if exists
709
- $Mageorder = Mage::getModel('sales/order')->loadByIncrementId($orderInc);
710
- if ($Mageorder->getId()) {
711
- return $Mageorder;
712
- }
713
- }
714
- }
715
- return false;
716
- }
717
-
718
-
719
- private function debugLog($message) {
720
-
721
- if($this->orderid !== "") {
722
- $message = $this->orderid." | ".$message;
723
- }
724
- $this->log->LogInfo($message);
725
-
726
- $this->log2->LogInfo($message);
727
- }
728
-
729
- public function prescanOrder(BeezupOMOrderResult $order) {
730
- $retorno = array();
731
- $orderItems = $order->getOrderItems();
732
- foreach ($orderItems as $item)
733
- {
734
-
735
- if ($item->getOrderItemOrderItemType () !== 'Product')
736
- {
737
- // continue;
738
- }
739
- $beezup_store = $item->getOrderItemBeezUPStoreId(); //beezup storeid
740
- $mage_storeid = $this->checkOrderStore($beezup_store); //magento storeid
741
- $marketplace_orderid = $item->getOrderItemMarketPlaceProductId();
742
- if(!$mage_storeid) {
743
-
744
- if(strpos($marketplace_orderid,'INTERETBCA') !== false || strpos($marketplace_orderid,'interetbca') !== false) { }
745
- else {
746
- $this->log->LogError($this->orderid." | No mapping for store ".$beezup_store);
747
- $this->log2->LogError($this->orderid." | No mapping for store ".$beezup_store);
748
- return false;
749
- }
750
-
751
- }
752
- // $retorno['store'] = 1;
753
-
754
- $product_ImportedMerchantId = $item->getOrderItemMerchantImportedProductId();
755
- $product_MerchantId = $item->getOrderItemMerchantProductId();
756
-
757
- $product_quantity = $item->getOrderItemQuantity();
758
- $product_price = $item->getOrderItemItemPrice();
759
- $product_title = $item->getOrderItemTitle();
760
- $product_image = $item->getOrderItemImageUrl();
761
- if(strpos($marketplace_orderid,'INTERETBCA') !== false || strpos($marketplace_orderid,'interetbca') !== false) {
762
- $retorno['discounts']= $item->getOrderItemTotalPrice();
763
- } else {
764
- $retorno['store'] = $mage_storeid;
765
- $this->debugLog("Store Matching succesful, Beezup Store: ".$beezup_store." , Magento Store Id: ".$mage_storeid);
766
- $product = $this->getMageProduct($product_ImportedMerchantId , $product_MerchantId , $beezup_store );
767
- if($product) {
768
- $mage_productId = $product->getId();
769
- $stocklevel = (int)Mage::getModel('cataloginventory/stock_item')
770
- ->loadByProduct($product)->getQty();
771
-
772
- $retorno['products'][] = array("id" => $mage_productId, "qty" => $product_quantity, "price" => $product_price, "curr_stock" => $stocklevel);
773
- //producto existe
774
- } else {
775
- //vendria if de si activada opcion de crear producto creamos
776
- if(!$this->debug) {
777
- return false;
778
- }
779
- $product_data = array(
780
- "sku" => $product_ImportedMerchantId,
781
- "sku2" => $product_MerchantId,
782
- "qty" => $product_quantity,
783
- "price" => $product_price,
784
- "title" => $product_title,
785
- "image" => $product_image,
786
- "storeId" => $mage_storeid
787
- );
788
- $product = $this->createProduct($product_data);
789
- if(!$product) {
790
- return false;
791
- }
792
- $stocklevel = (int)Mage::getModel('cataloginventory/stock_item')
793
- ->loadByProduct($product)->getQty();
794
- $mage_productId = $product->getId();
795
- $retorno['products'][] = array("id" => $mage_productId, "qty" => $product_quantity, "price" => $product_price, "curr_stock" => $stocklevel);
796
- }
797
- }
798
- }
799
-
800
- return $retorno;
801
- }
802
-
803
-
804
-
805
- public function matchProductAttributes($importedId, $storeId) {
806
- $product = null;
807
- $helper = Mage::helper('beezup');
808
- $attributes = $helper->getConfig('beezup/marketplace/attributes');
809
- $attributes = unserialize ($attributes);
810
-
811
- foreach($attributes['attributes'][$storeId ] as $attribute) {
812
- $att = explode("|", $attribute);
813
- if($storeId == $att[1]) {
814
-
815
- $product=Mage::getModel('catalog/product')->loadByAttribute($att[0],$importedId);
816
- if($product) {
817
- break;
818
- }
819
- }
820
- }
821
-
822
- return $product;
823
- }
824
-
825
-
826
-
827
- public function getMageProduct($importedId, $merchantId, $storeId){
828
- try {
829
- $product=Mage::getModel('catalog/product')->load($importedId);
830
- if (!$product->getId() || $product->getId() !== $importedId ){
831
- $product = $this->matchProductAttributes($importedId, $storeId);
832
- if($product == null || !is_object($product)) {
833
- $product=Mage::getModel('catalog/product')->load($merchantId);
834
- if(!$product->getId() || $product->getId() !== $merchantId ) {
835
- $product = $this->matchProductAttributes($merchantId, $storeId);
836
-
837
- }
838
- }
839
- }
840
-
841
- if(is_object($product)) {
842
- if($product->getId()) {
843
- $this->debugLog("Product Matching succesful, Beezup Imported Id: ".$importedId." , Magento Product Id: ".$product->getId());
844
- return $product;
845
- }}
846
- $this->log->LogError($this->orderid. "| No Product Matching, Product ".$importedId." could not be found");
847
- $this->log2->LogError($this->orderid. "| No Product Matching, Product ".$importedId." could not be found");
848
- return false;
849
- }catch(Exception $e){
850
- $this->log->LogError($this->orderid. "| Product ".$importedId." could not be found, error: ".$e->getMessage());
851
- $this->log2->LogError($this->orderid. "| Product ".$importedId." could not be found, error: ".$e->getMessage());
852
- return false;
853
- //error no se pudo crear la orden
854
-
855
- }
856
- }
857
-
858
-
859
- public function checkOrderStore($storeId ) {
860
- $helper = Mage::helper('beezup');
861
- $stores = $helper->getConfig('beezup/marketplace/stores');
862
- $stores = unserialize ($stores);
863
- foreach($stores as $store) {
864
- if(isset($store[$storeId]) && $store[$storeId] > 0) {
865
- return $store[$storeId];
866
- }
867
- }
868
- return false;
869
- }
870
-
871
-
872
-
873
- /**
874
- * @return BeezupOMOrderService
875
- */
876
- public function getOrderService(){
877
- if ($this->oOrderService === null){
878
- $this->oOrderService = $this->createOrderService();
879
- // enchufamos debug mode, esta activado? false true $this->oOrderService->setDebugMode(false);
880
- }
881
- return $this->oOrderService;
882
- }
883
-
884
- /**
885
- * @return BeezupOMOrderService
886
- */
887
- protected function createOrderService(){
888
-
889
- return new BeezupOMOrderService($this->createRepository() );
890
- }
891
-
892
- protected function createRepository() {
893
- if ($this->repository == null) {
894
- $this->repository = new BeezupRepository();
895
- }
896
- return $this->repository;
897
-
898
- }
899
-
900
-
901
-
902
-
903
- private function createCustomer($customer_email , $data) {
904
- $password = $this->orderid;
905
- $this->debugLog("Creating new Customer");
906
- $customer = Mage::getModel('customer/customer');
907
- $customer->setWebsiteId(Mage::app()->getWebsite()->getId());
908
- $customer->loadByEmail($customer_email);
909
- if(!$customer->getId()) {
910
- $customer->setEmail($customer_email);
911
- $customer->setFirstname($data['firstname']);
912
- $customer->setLastname($data['lastname']);
913
- $customer->setPassword($password);
914
- try {
915
- $customer->save();
916
- $customer->setConfirmation(null);
917
- $customer->save();
918
- $this->debugLog("Customer created succesfully");
919
- return $customer;
920
- //Make a "login" of new customer
921
- // Mage::getSingleton('customer/session')->loginById($customer->getId());
922
- }
923
-
924
- catch (Exception $ex) {
925
- //Zend_Debug::dump($ex->getMessage());
926
- //GUARDAR ERROR CREACION USUARIO
927
- $this->log2->LogError($this->orderid. " | Customer importation failed: ".$ex->getMessage());
928
- return false;
929
- }
930
-
931
- } else {
932
- $this->debugLog("Creating already exists, returning customer object");
933
- return $customer;
934
- }
935
- }
936
-
937
-
938
-
939
- public function addOrder($data, $oLink, $stop = false) {
940
-
941
-
942
- try {
943
- // BUG OCI du nom vide sur les commandes CDISOUNT... et Amazon en Disable...
944
- $this->debugLog('status de la commande->'.$data['order_status']);
945
- $this->debugLog('Nom vide->'.$data['shipping_lastname']);
946
- if ($data['shipping_lastname']=='' && $data['order_status'] != 'Canceled'){
947
-
948
- Mage::getConfig()
949
- ->saveConfig('carriers/flatrate/active', 0)
950
- ->cleanCache();
951
- Mage::app()->reinitStores();
952
-
953
- $configModel = Mage::getModel('core/config');
954
- $configModel->saveConfig('beezup/marketplace/sync_status',0);
955
-
956
- $this->debugLog('status de la commande->'.$data['order_status']);
957
- $this->debugLog('status de la commande->'.$data['order_status']);
958
- die("Nom Vide on attends que le nom arrive...");
959
-
960
- }
961
-
962
- $helper = Mage::helper('beezup');
963
- $addStock = $helper->getConfig('beezup/marketplace/available_products');
964
- $baseCurrencyCode = Mage::app()->getStore()->getBaseCurrencyCode();
965
- $quote = Mage::getModel('sales/quote')
966
- ->setStoreId($data['storeid']);
967
-
968
- $this->debugLog("## test quote storeid ##".$data['storeid']);
969
-
970
- $quote->setCustomerEmail($data['order_customer_email']);
971
-
972
- $this->debugLog("## test quote order_customer_email ##".$data['order_customer_email']);
973
-
974
-
975
- $currency = Mage::getModel('directory/currency')->load($data['order_currency']);
976
- $quote->setForcedCurrency($currency);
977
-
978
- $this->debugLog("## test quote currency ##".$currency);
979
-
980
- $blnCreate = true;
981
- $total_new_price = 0;
982
-
983
- foreach($data['products'] as $prod) {
984
-
985
- if($prod['qty']==0) {
986
- $blnCreate = false;
987
- break;
988
- }
989
- $prod_totality_price = $prod['price']*$prod['qty'];
990
- $total_new_price = $total_new_price + $prod_totality_price;
991
- $product = Mage::getModel('catalog/product')->load($prod['id']);
992
- $buyInfo = array(
993
- 'qty' => $prod['qty'],
994
- );
995
-
996
- $this->debugLog("Adding ".$prod['qty']." product/s with id ".$product->getId()." to order, with Beezup Price: ".$prod['price']);
997
- //echo "Product ".$product->getId()."<br><br>";
998
- //para no perder stock:
999
- //Mage::getModel('cataloginventory/stock')->backItemQty($productId,$new_qty);
1000
-
1001
-
1002
- if($addStock == 1) {
1003
- $stock = Mage::getModel('cataloginventory/stock_item')->loadByProduct($product);
1004
-
1005
- if ($stock->getQty() < $prod['qty'] && $product->getStockItem()->getMaxSaleQty() >= $prod['qty']) {
1006
- $this->debugLog("Product ".$product->getId()." Stock = 0, Updating to ".$prod['qty']." to generate Order");
1007
- // Mage::getModel('cataloginventory/stock')->backItemQty($product->getId(),$prod['qty']);
1008
- //$this->_updateStocks(array("id_product" => $product->getId(), "qty" => $prod['qty']));
1009
-
1010
- //BUG OCI s'emmele les pédales dans le tiers price avec la methode en dessous...->
1011
- $stockItem = Mage::getModel('cataloginventory/stock_item')->loadByProduct($product);
1012
- $stockItem->setData('is_in_stock', 1);
1013
- $stockItem->setData('qty', $prod['qty']);
1014
- $stockItem->setData('manage_stock', 1);
1015
- $stockItem->setData('use_config_notify_stock_qty', 1);
1016
- $stockItem->save();
1017
- $product->save();
1018
-
1019
- // $product->setStockData(
1020
- // array(
1021
- // 'is_in_stock' => 1,
1022
- // 'qty' => $prod['qty'],
1023
- // 'manage_stock' => 1,
1024
- // 'use_config_notify_stock_qty' => 1
1025
- // )
1026
- // );
1027
-
1028
-
1029
- //$product->save();
1030
-
1031
- $this->debugLog("APRES TRAITEMENT 2 ->".$stock->getQty());
1032
- $product = Mage::getModel('catalog/product')->load($product->getId());
1033
-
1034
- }
1035
- }
1036
- //fin para no perder stock
1037
-
1038
- /*
1039
- $tax_class = $product->getTaxClassId();
1040
- $product->setTaxClassId(0);
1041
- $product->getResource()->saveAttribute($product, 'tax_class_id'); */
1042
- $price = $prod['price'];
1043
-
1044
- $quote_item = Mage::getModel('beezup/quote_item');
1045
- $quote_item
1046
- ->setProduct($product)
1047
- ->setPrice((float) $price )
1048
- ->setCustomPrice((float)$price )
1049
- ->setOriginalCustomPrice((float) $price )
1050
- ->setQuote($quote)
1051
- ->setQty((integer) $prod['qty'])
1052
- ->setBeezupPrice((float) $price );
1053
-
1054
- $this->debugLog("## test quote price ##".$price);
1055
- $this->debugLog("## test quote qty ##".$prod['qty']);
1056
-
1057
-
1058
- $quote->addItem($quote_item);
1059
-
1060
- //$quote->addProduct($product, new Varien_Object($buyInfo))->setOriginalCustomPrice($price)->setCustomPrice($price);
1061
-
1062
- /*
1063
- $product->setTaxClassId($tax_class);
1064
-
1065
- $product->getResource()->saveAttribute($product, 'tax_class_id');
1066
- */
1067
- }
1068
-
1069
- if($blnCreate) {
1070
- $addressData = array(
1071
- 'firstname' => ($data['order_customer']) ? $data['order_customer'] : "empty",
1072
- 'lastname' => ($data['order_lastname']) ? $data['order_lastname'] : "empty",
1073
- 'street' => ($data['order_address']) ? $data['order_address'] : "empty",
1074
- 'city' => ($data['order_city']) ? $data['order_city'] : "empty",
1075
- 'postcode' => ($data['order_postalCode']) ? $data['order_postalCode'] : "empty",
1076
- 'telephone' => ($data['order_customer_phone']) ? $data['order_customer_phone'] : "empty",
1077
- 'country_id' => ($data['order_country_iso']) ? $data['order_country_iso'] : "empty",
1078
- 'company' => ($data['order_company']) ? $data['order_company'] : "",
1079
- 'region_id' => ($data['order_region ']) ? substr($data['order_region '], 0,2) : "EM"// id from directory_country_region table
1080
- );
1081
-
1082
- $this->debugLog("## test quote addressData : ");
1083
- foreach ($addressData as $key => $value){
1084
- $this->debugLog($key . " : " . $value);
1085
- }
1086
-
1087
- $shippingData = array(
1088
- 'firstname' => ($data['shipping_name']) ? $data['shipping_name'] : "empty",
1089
- 'lastname' => ($data['shipping_lastname']) ? $data['shipping_lastname'] : $data['shipping_name'],
1090
- 'street' => ($data['shipping_address']) ? $data['shipping_address'] : "empty",
1091
- 'city' => ($data['shipping_city']) ? $data['shipping_city'] : "empty",
1092
- 'postcode' => ($data['shipping_postalCode']) ? $data['shipping_postalCode'] : "empty",
1093
- 'telephone' => ($data['shipping_phone']) ? $data['shipping_phone'] : "empty",
1094
- 'country_id' => ($data['shipping_country_iso']) ? $data['shipping_country_iso'] : "empty",
1095
- 'shipping_company' => ($data['shipping_company']) ? $data['shipping_company'] : "",
1096
- // il faudra penser a mettre une condtionnel seulement pour monechelle...
1097
- //'socolissimo_relay_id' => ($data['shipping_company']) ? $data['shipping_company'] : "",
1098
- 'region_id' => ($data['shipping_region']) ? substr($data['shipping_region'], 0, 2) : "EM" // id from directory_country_region table
1099
- );
1100
-
1101
- $this->debugLog("## test quote shippingData : ");
1102
- foreach ($shippingData as $key => $value){
1103
- $this->debugLog($key . " : " . $value);
1104
- }
1105
-
1106
- if($this->blnCreateCustomer) {
1107
-
1108
- $mage_customer = $this->createCustomer($data['order_customer_email'], $addressData);
1109
- $quote->assignCustomer($mage_customer);
1110
- $this->debugLog("## test quote order_customer_email ##".$data['order_customer_email']);
1111
- }
1112
-
1113
-
1114
- $payment_method = $helper->getConfig('beezup/marketplace/payment_method');
1115
- $billingAddress = $quote->getBillingAddress()->addData($addressData);
1116
- $shippingAddress = $quote->getShippingAddress()->addData($shippingData);
1117
- $shipping_cost = (float) $data['order_shippingPrice'];
1118
- if($data['order_shippingPrice'] == 0) {
1119
- $shipping_cost = 20000;
1120
- }
1121
- $total_new_price = $total_new_price + $data['order_shippingPrice'] ;
1122
- Mage::unregister('shipping_cost');
1123
- Mage::register('shipping_cost', $shipping_cost);
1124
- $this->debugLog("Adding Order Shipping Cost: ". $data['order_shippingPrice']);
1125
-
1126
- $shippingAddress->setCollectShippingRates(true)->collectShippingRates()
1127
- ->setShippingMethod('flatrate_flatrate')
1128
- ->setPaymentMethod($payment_method);
1129
-
1130
- //$shippingAddress->addTotal(array("code" => "specialfee", "title" => "Special Fee", "value" => 20));
1131
- $quote->getPayment()->importData(array('method' => $payment_method));
1132
-
1133
- $this->debugLog("## test quote payment_method ##".$payment_method);
1134
-
1135
- $quote->collectTotals()->save();
1136
-
1137
- $service = Mage::getModel('sales/service_quote', $quote);
1138
- //$this->debugLog("## test flatrate2 ##".var_dump($quote)); // test commande qui s'importe pas -> quote mal formaté ?
1139
- $service->submitAll();
1140
-
1141
- $order = $service->getOrder();
1142
-
1143
- $quoteId = $order->getQuoteId();
1144
- //$this->setStatus($data['order_status'], $order);
1145
-
1146
- $orderid = $order->getId();
1147
-
1148
- $resource = Mage::getSingleton('core/resource');
1149
- $writeConnection = $resource->getConnection('core_write');
1150
- $table = $resource->getTableName('sales/order_grid');
1151
- $this->debugLog("Adding Beezup Marketplace Information to Order");
1152
- $marketplace = $data['marketplace'];
1153
- $marketplace_business_code = ucfirst(strtolower($data['marketplace_business_code']));
1154
- $beezup_name = $data['order_customer'];
1155
- $market_order_id =$this->orderid;
1156
- $beezup_order_id = $oLink->getBeezupOrderUUID();
1157
- $beezup_status = $data['order_status'];
1158
- $beezup_last_modification_date = $oLink->getOrderLastModificationUtcDate();
1159
- $beezup_last_modification_date = $beezup_last_modification_date->date;
1160
- $beezup_marketplace_status = $oLink->getOrderStatusMarketPlaceStatus();
1161
- $beezup_purchase_date = $oLink->getOrderPurchaseUtcDate();
1162
- $beezup_purchase_date = $beezup_purchase_date->date;
1163
- $beezup_marketplace_last_modification_date = $oLink->getOrderMarketPlaceLastModificationUtcDate();
1164
- $beezup_marketplace_last_modification_date = $beezup_marketplace_last_modification_date->date;
1165
- /* $date = new DateTime($$beezup_marketplace_last_modification_date);
1166
- $beezup_marketplace_last_modification_date = $date->format('d-m-Y H:i:s'). "(UTC Time)";
1167
- */
1168
-
1169
- $beezup_total_paid = $oLink->getOrderTotalPrice()." ".$data['order_currency'];
1170
- $beezup_account_id = $oLink->getAccountId();
1171
- $beezup_comission = $oLink->getOrderTotalCommission()." ".$data['order_currency'];
1172
- $tot_comm = $oLink->getOrderTotalCommission();
1173
- if(empty($tot_comm ) || $tot_comm == 0) {
1174
- $beezup_comission = 0;
1175
- }
1176
- $query = "UPDATE {$table} SET beezup_marketplace = '{$marketplace}', beezup_name = '{$beezup_account_id}', beezup_order = 1, beezup_market_order_id = '{$market_order_id}',
1177
- beezup_order_id = '{$beezup_order_id}', beezup_status = '{$beezup_status}', beezup_last_modification_date = '{$beezup_last_modification_date}',
1178
- beezup_marketplace_status = '{$beezup_marketplace_status}', beezup_purchase_date = '{$beezup_purchase_date}', beezup_marketplace_last_modification_date = '{$beezup_marketplace_last_modification_date}',
1179
- beezup_total_paid = '{$beezup_total_paid}', beezup_etag = '{$data['etag']}' , beezup_comission = '{$beezup_comission}', beezup_marketplace_business_code = '{$marketplace_business_code}'
1180
- WHERE entity_id = ". (int)$orderid;
1181
- $writeConnection->query($query);
1182
- $disc_price = 0;
1183
- if(!empty($data['discounts']) && $data['discounts'] >0) {
1184
-
1185
-
1186
- $disc_price = round($data['discounts'],2);
1187
- $total_new_price = $total_new_price+$disc_price;
1188
- $table_address = $resource->getTableName("sales/quote_address");
1189
-
1190
- $query = "update {$table_address} set beezup_fee = '{$disc_price}' where quote_id = '{$quoteId}' and address_type = 'shipping'";
1191
- $writeConnection->query($query);
1192
- $this->debugLog("Adding CDISCOUNT products with total price: ".$disc_price);
1193
- }
1194
-
1195
- //if order id exists and has been created
1196
- if ($orderid)
1197
- {
1198
- //we send order id to beezup
1199
- $this->debugLog("Sending Magento Order Id to Beezup, Magento Order Id: ".$orderid);
1200
- $oResult = new BeezupOMSetOrderIdValues ();
1201
- $oResult->setOrderMerchantOrderId ( $orderid )->setOrderMerchantECommerceSoftwareName ( 'Magento' )->setOrderMerchantECommerceSoftwareVersion ( Mage::getVersion() );
1202
- $sendRequest = $this->getOrderService()->getClientProxy()->setOrderMerchantIdByLink($oLink->getLinkByRel('setMerchantOrderId'), $oResult);
1203
- }
1204
-
1205
- $grand_total = $order->getGrandTotal();
1206
- $beezup_price = $oLink->getOrderTotalPrice() - $disc_price;
1207
- if($grand_total != (float) $beezup_price && $beezup_price > 0) {
1208
- $order->setGrandTotal((float) $beezup_price);
1209
- $order->setBaseGrandTotal((float) $beezup_price);
1210
- $diff = (((float) $beezup_price) - $grand_total);
1211
-
1212
- $order->setTaxAmount($order->getTaxAmount() + $diff);
1213
- $order->save();
1214
- }elseif($grand_total != (float)$beezup_price && $beezup_price < 1) {
1215
-
1216
- $order->setGrandTotal((float) $total_new_price);
1217
- $order->setBaseGrandTotal((float) $total_new_price);
1218
- $diff = (((float) $total_new_price) - $grand_total);
1219
-
1220
- $order->setTaxAmount($order->getTaxAmount() + $diff);
1221
- $order->save();
1222
- }
1223
-
1224
- if($order->getShippingInclTax() != $data['order_shippingPrice']) {
1225
- $shipping_cost = (float)$data['order_shippingPrice'];
1226
- $diff_shipping = ($shipping_cost - $order->getShippingInclTax());
1227
- //$order->setShippingAmount($order->getShippingAmount() + $diff_shipping);
1228
- //$order->setBaseShippingAmount($order->getShippingAmount());
1229
- $order->setShippingInclTax($shipping_cost);
1230
- $order->setBaseShippingInclTax($order->getShippingInclTax());
1231
- /*
1232
- $order->setSubtotalInclTax($order->getSubtotalInclTax() + $diff_shipping);
1233
- $order->setBaseSubtotalInclTax($order->getSubtotalInclTax());
1234
- $order->setSubtotal($order->getSubtotal() + $diff_shipping);
1235
- $order->setBaseSubtotal($order->getSubtotal());
1236
- */
1237
- $order->save();
1238
- }
1239
- $products = Mage::getResourceModel('sales/order_item_collection')
1240
- ->setOrderFilter($orderid);
1241
- foreach($products as $product) {
1242
- $product->setBaseOriginalPrice($product->getOriginalPrice());
1243
- $product->setBaseTaxAmount($product->getTaxAmount());
1244
- $product->setBaseTaxInvoiced($product->getTaxAmount());
1245
- $product->setBasePriceInclTax($product->getPriceInclTax());
1246
- $product->setBaseRowTotalInclTax($product->getRowTotalInclTax());
1247
- $product->save();
1248
- }
1249
- $order->setBaseTaxAmount($order->getTaxAmount());
1250
- $order->setBaseTaxInvoiced($order->getTaxAmount());
1251
- $order->setBaseTotalInvoiced($order->getTotalPaid());
1252
- $order->setBaseTotalPaid($order->getTotalPaid());
1253
- $order->setBaseGrandTotal($order->getTotalPaid());
1254
- $order->setBaseSubtotalInclTax($order->getSubtotalInclTax());
1255
- $order->save();
1256
-
1257
- $this->setStatus($data['order_status'], $order);
1258
- $this->mage_order_id = $orderid;
1259
-
1260
- // update table sale flat order OCI
1261
-
1262
- $this->debugLog("Quelle Livraison: ->".$data['shipping_method_BEEZUP']);
1263
- if ($data['shipping_method_BEEZUP']=='Livraison Colissimo'|| $data['shipping_method_BEEZUP']=='Standard' || $data['shipping_method_BEEZUP']=='Expedited' || $data['shipping_method_BEEZUP']=='TRK' || $data['shipping_method_BEEZUP']=='STD' || $data['shipping_method_BEEZUP']=='REG' || $data['shipping_method_BEEZUP']=='Transporteur' || $data['shipping_method_BEEZUP']=='FR_Autre' || $data['shipping_method_BEEZUP']=='Colissimo Domicile' || $data['shipping_method_BEEZUP']=='A' ) {
1264
- //update flat_order
1265
- $table_update="sales_flat_order";
1266
- $desc="La Poste : Colissimo - Livraison à Domicile";
1267
- $methode="socolissimo_3";
1268
- $query = "UPDATE {$table_update} SET shipping_description = '{$desc}', shipping_method = '{$methode}' WHERE entity_id = ". (int)$orderid;
1269
- $writeConnection->query($query);
1270
-
1271
- //update flat_order_address
1272
- $table_update2="sales_flat_order_address";
1273
- $socolissimo_method_id = '3';
1274
- $socolissimo_method_name = 'Livraison à Domicile';
1275
- $socolissimo_delivery_mode = 'DOM';
1276
- $socolissimo_code = 'home_without_signature';
1277
- $query2 = "UPDATE {$table_update2} SET socolissimo_method_id = '{$socolissimo_method_id}', socolissimo_method_name = '{$socolissimo_method_name}', socolissimo_delivery_mode = '{$socolissimo_delivery_mode}', socolissimo_code = '{$socolissimo_code}' WHERE address_type ='shipping' AND parent_id = ". (int)$orderid ;
1278
- $writeConnection->query($query2);
1279
- //$this->debugLog("changement methode: ".$query);
1280
- }
1281
- else if ($data['shipping_method_BEEZUP']=='Std ES Dom_3' || $data['shipping_method_BEEZUP']=='Exp IT Dom_1' || $data['shipping_method_BEEZUP']=='Std UK Dom_5' || $data['shipping_method_BEEZUP']=='Std IT Dom_4' || $data['shipping_method_BEEZUP']=='UK Second') {
1282
- $table_update="sales_flat_order";
1283
- $desc="Chronopost Livraison express partout dans le monde - Chronopost Livraison partout dans le monde";
1284
- $methode="chronoexpress_chronoexpress";
1285
- $query = "UPDATE {$table_update} SET shipping_description = '{$desc}', shipping_method = '{$methode}' WHERE entity_id = ". (int)$orderid;
1286
- $writeConnection->query($query);
1287
- }
1288
- else if ($data['shipping_method_BEEZUP']=='Colissimo Relais') { // ajout antonin pour prise en compte pt relais manomano
1289
-
1290
- $table_update="sales_flat_order";
1291
- $desc="La Poste Colissimo - Livraison en Point de retrait";
1292
- $methode="socolissimo_4";
1293
- $query = "UPDATE {$table_update} SET shipping_description = '{$desc}', shipping_method = '{$methode}' WHERE entity_id = ". (int)$orderid;
1294
- $writeConnection->query($query);
1295
-
1296
- $table_update2="sales_flat_order_address";
1297
- $socolissimo_method_id = '4';
1298
- $socolissimo_method_name = 'Livraison en Point de retrait';
1299
- $socolissimo_delivery_mode = 'A2P';
1300
- $socolissimo_relay_id = substr($data['shipping_company'], 10);
1301
- $socolissimo_code = 'pickup';
1302
- $query2 = "UPDATE {$table_update2} SET socolissimo_method_id = '{$socolissimo_method_id}', socolissimo_method_name = '{$socolissimo_method_name}', company = '', socolissimo_relay_id = '{$socolissimo_relay_id}', socolissimo_delivery_mode = '{$socolissimo_delivery_mode}', socolissimo_code = '{$socolissimo_code}' WHERE address_type ='shipping' AND parent_id = ". (int)$orderid ;
1303
- $writeConnection->query($query2);
1304
-
1305
- }
1306
-
1307
- $this->debugLog("Order imported succesfully, Magento Order Id: ".$orderid);
1308
-
1309
- } else {
1310
- //product stock = 0 we dont create order
1311
- $this->log->LogError($this->orderid. "| Order ".$data['market_place_order_id']." could not be imported, error: Stock from Beezup product = 0 ");
1312
- $this->log2->LogError($this->orderid. "| Order ".$data['market_place_order_id']." could not be imported, error: Stock from Beezup product = 0 ");
1313
- }
1314
- }catch(Exception $e){
1315
-
1316
-
1317
- if($stop) {
1318
- $this->log->LogError($this->orderid. "| Order ".$data['market_place_order_id']." could not be imported, error: ".$e->getMessage());
1319
- $this->log2->LogError($this->orderid. "| Order ".$data['market_place_order_id']." could not be imported, error: ".$e->getMessage());
1320
- $this->restoreStock($data);
1321
- } else {
1322
- $this->debugLog("Order Import failed, Trying to import Order Again ->".$e->getMessage());
1323
- $this->addOrder($data, $oLink, true);
1324
-
1325
- }
1326
- //error no se pudo crear la orden
1327
-
1328
- }
1329
-
1330
-
1331
-
1332
- }
1333
-
1334
-
1335
-
1336
- public function restoreStock($data) {
1337
-
1338
- try {
1339
- foreach($data['products'] as $prod) {
1340
- $product = Mage::getModel('catalog/product')->load($prod['id']);
1341
- $stock = Mage::getModel('cataloginventory/stock_item')->loadByProduct($product);
1342
- if ($stock->getQty() != $prod['curr_stock'] ) {
1343
- $this->debugLog("Restoring Stock from Product ".$product->getId()." to: ".$prod['curr_stock'] ." due to Order Fail");
1344
- $stockItem = Mage::getModel('cataloginventory/stock_item')->loadByProduct($product);
1345
- $stockItem->setData('is_in_stock', 0);
1346
- $stockItem->setData('qty', $prod['curr_stock']);
1347
- $stockItem->save();
1348
- $product->save();
1349
- }
1350
-
1351
- }
1352
- } catch(Exception $e){
1353
- $this->log->LogError($this->orderid. "| Failed Restoring Product Stock: ".$e->getMessage());
1354
- $this->log2->LogError($this->orderid. "| Failed Restoring Product Stock: ".$e->getMessage());
1355
- }
1356
-
1357
- }
1358
-
1359
-
1360
-
1361
- private function createProduct($data) {
1362
-
1363
- $sku = $data['sku'];
1364
- if(empty($data['sku'])) {
1365
- $sku = $data['sku2'];
1366
- }
1367
-
1368
- Mage::app()->setCurrentStore($data['storeId']);
1369
- $product = Mage::getModel('catalog/product');
1370
- // if(!$product->getIdBySku('testsku61')):
1371
-
1372
- try{
1373
- $product
1374
- // ->setStoreId(1) //you can set data in store scope
1375
- ->setWebsiteIds(array($data['storeId'])) //website ID the product is assigned to, as an array
1376
- ->setAttributeSetId($product->getDefaultAttributeSetId()) //ID of a attribute set named 'default'
1377
- ->setTypeId('simple') //product type
1378
- ->setCreatedAt(strtotime('now')) //product creation time
1379
- ->setSku($sku ) //SKU
1380
- ->setWeight(0)
1381
- ->setName($data['title']) //product name
1382
- ->setStatus(1) //product status (1 - enabled, 2 - disabled)
1383
- ->setTaxClassId(4) //tax class (0 - none, 1 - default, 2 - taxable, 4 - shipping)
1384
- ->setVisibility(Mage_Catalog_Model_Product_Visibility::VISIBILITY_NOT_VISIBLE ) //catalog and search visibility
1385
- ->setPrice($data['price']) //price in form 11.22
1386
- ->setMsrpEnabled(1) //enable MAP
1387
- ->setMsrpDisplayActualPriceType(1) //display actual price (1 - on gesture, 2 - in cart, 3 - before order confirmation, 4 - use config)
1388
- ->setMsrp(0) //Manufacturer's Suggested Retail Price
1389
- ->setMetaTitle('')
1390
- ->setMetaKeyword('')
1391
- ->setMetaDescription('')
1392
- ->setDescription($data['title'])
1393
- ->setShortDescription($data['title'])
1394
- // ->setMediaGallery (array('images'=>array (), 'values'=>array ())) //media gallery initialization
1395
- //->addImageToMediaGallery('media/catalog/product/1/0/10243-1.png', array('image','thumbnail','small_image'), false, false) //assigning image, thumb and small image to media gallery
1396
- ->setStockData(array(
1397
- 'use_config_manage_stock' => 0, //'Use config settings' checkbox
1398
- 'manage_stock'=>1, //manage stock
1399
- 'min_sale_qty'=>1, //Minimum Qty Allowed in Shopping Cart
1400
- 'max_sale_qty'=>2, //Maximum Qty Allowed in Shopping Cart
1401
- 'is_in_stock' => 1, //Stock Availability
1402
- 'qty' => 1 //qty
1403
- )
1404
- );
1405
- $product->save();
1406
- return $product;
1407
-
1408
- }catch(Exception $e){
1409
- //log exception
1410
- $this->log->LogError($this->orderid."| Product ".$sku." could not be created, error: ".$e->getMessage());
1411
- $this->log2->LogError($this->orderid."| Product ".$sku." could not be created, error: ".$e->getMessage());
1412
- return false;
1413
- }
1414
- }
1415
-
1416
-
1417
-
1418
- public function setStatus($status, $order) {
1419
- $helper = Mage::helper('beezup');
1420
- $retorno = "";
1421
- $blnCancel = false;
1422
- $blnHold = false;
1423
- switch($status) {
1424
- case "New" :
1425
- $this->debugLog("Setting Order Status to New");
1426
- $retorno = $helper->getConfig('beezup/marketplace/status_new');
1427
- break;
1428
- case "InProgress" :
1429
- $this->debugLog("Setting Order Status to InProgress");
1430
- $retorno = $helper->getConfig('beezup/marketplace/status_progress');
1431
- $this->payOrder($order);
1432
- break;
1433
- case "Aborted" :
1434
- $this->debugLog("Setting Order Status to Aborted");
1435
- $retorno = $helper->getConfig('beezup/marketplace/status_aborted');
1436
- $blnHold = true;
1437
-
1438
-
1439
- break;
1440
- case "Closed" :
1441
- $this->debugLog("Setting Order Status to Closed");
1442
- $blnCancel =true;
1443
- $retorno = $helper->getConfig('beezup/marketplace/status_closed');
1444
- $this->payOrder($order);
1445
- break;
1446
- case "Canceled" :
1447
- $this->debugLog("Setting Order Status to Cancelled");
1448
- $retorno = $helper->getConfig('beezup/marketplace/status_cancelled');
1449
-
1450
- break;
1451
- case "Shipped" :
1452
- $this->debugLog("Setting Order Status to Shipped");
1453
- $retorno = $helper->getConfig('beezup/marketplace/status_shipped');
1454
- $this->payOrder($order);
1455
- break;
1456
-
1457
- }
1458
- $order->setData('state',$retorno);
1459
- $order->setStatus($retorno);
1460
- $history = $order->addStatusHistoryComment('Order was set to '.$retorno.' by Beezup.', false);
1461
- $history->setIsCustomerNotified(false);
1462
- $order->save();
1463
- if($blnCancel) {
1464
- $order->cancel()->save();
1465
- }
1466
- if($blnHold) {
1467
- $order->hold()->save();
1468
- }
1469
-
1470
- return $retorno;
1471
-
1472
- }
1473
-
1474
-
1475
- public function getStatus($status1) {
1476
- $helper = Mage::helper('beezup');
1477
- $retorno = "";
1478
- $status = strtolower($status1);
1479
-
1480
- if($status == strtolower($helper->getConfig('beezup/marketplace/status_new') )) {
1481
- $retorno = "New";
1482
-
1483
- } elseif($status == strtolower($helper->getConfig('beezup/marketplace/status_progress') ) ){
1484
- $retorno = "InProgress";
1485
-
1486
-
1487
- }
1488
- elseif($status == strtolower($helper->getConfig('beezup/marketplace/status_aborted') )) {
1489
-
1490
- $retorno = "Aborted" ;
1491
- }
1492
- elseif($status == strtolower($helper->getConfig('beezup/marketplace/status_closed') )) {
1493
- $retorno = "Closed";
1494
-
1495
- }
1496
- elseif($status == strtolower($helper->getConfig('beezup/marketplace/status_cancelled')) ) {
1497
-
1498
- $retorno = "Canceled";
1499
- }
1500
- elseif($status == strtolower($helper->getConfig('beezup/marketplace/status_shipped') )) {
1501
-
1502
- $retorno = "Shipped";
1503
- }
1504
-
1505
-
1506
- return $retorno;
1507
-
1508
- }
1509
-
1510
-
1511
- public function checkMarketOrderExists($orderid) {
1512
- $resource = Mage::getSingleton('core/resource');
1513
- $readConnection = $resource->getConnection('core_read');
1514
- $table = $resource->getTableName('sales/order_grid');
1515
- $query = 'SELECT increment_id FROM ' . $table . ' WHERE beezup_order = 1 and beezup_market_order_id = \''
1516
- . $orderid . '\' LIMIT 1';
1517
- $order = $readConnection->fetchOne($query);
1518
- if($order && !empty($order) && $this->orderId !== "") {
1519
- return $order;
1520
- }
1521
- return false;
1522
-
1523
- }
1524
-
1525
- public function payOrder($order) {
1526
- try {
1527
- $this->debugLog("Generating Order Payment Invoice");
1528
- if($order->canInvoice()) {
1529
- $invoice = $order->prepareInvoice()
1530
- ->setTransactionId($order->getId())
1531
- ->addComment("Invoice created from Beezup.")
1532
- ->register()
1533
- ->pay();
1534
- $transaction_save = Mage::getModel('core/resource_transaction')
1535
- ->addObject($invoice)
1536
- ->addObject($invoice->getOrder());
1537
- $transaction_save->save();
1538
- $this->debugLog("Order Payment Invoice Generated Succesfully");
1539
- }
1540
- }
1541
- catch(Exception $e){
1542
- //log exception
1543
- $this->log->LogError($this->orderid."| Order Payment Invoice could not be generated, error: ".$e->getMessage());
1544
- $this->log2->LogError($this->orderid."| Order Payment Invoice could not be generated, error: ".$e->getMessage());
1545
- }
1546
- }
1547
-
1548
-
1549
-
1550
-
1551
-
1552
-
1553
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/BeezUp/Block/Order_original.php DELETED
@@ -1,1382 +0,0 @@
1
- <?php
2
- require_once Mage::getModuleDir('', 'BeezUp') . DS . 'lib' . DS ."KLogger.php";
3
- require_once Mage::getModuleDir('', 'BeezUp') . DS . 'lib' . DS ."bootstrap.php";
4
- require_once Mage::getModuleDir('', 'BeezUp') . DS . 'lib' . DS ."BeezupRepository.php";
5
- require_once Mage::getModuleDir('', 'BeezUp') . DS . 'lib' . DS ."BeezupMageOrders.php";
6
-
7
- class Beezup_Block_Order extends Mage_core_block_text {
8
-
9
- protected $repository = null;
10
- protected $oOrderService;
11
- public $log = null;
12
- public $log2 = null;
13
- public $orderid = "";
14
- public $debug = false;
15
- public $blnCreateCustomer = false;
16
- private $account_id;
17
- private $marketplace_code;
18
- private $beezup_order_id;
19
- private $mage_order_id = false;
20
-
21
-
22
- private function makeDir() {
23
-
24
- if (file_exists(Mage::getBaseDir('base').'/beezup/tmp')) { return true;}
25
-
26
- if (!mkdir(Mage::getBaseDir('base').'/beezup/tmp', 0777, true))
27
- {
28
- echo "[ERROR] : Seems we can't create 'beezup' directory inside your root directory."."<br/>"
29
- ."You can try one of these solutions :"."<br/>"
30
- ."1 - Create by yourself the beezup/tmp inside your root directory with 777 permissions"."<br/>"
31
- ."2 - Change the permissions on your root directory (777)"."<br/>"
32
- ."3 - Change the 'cache delay' option to 'None' inside beezup plugin settings"."<br/>";
33
- return false;
34
- }
35
- return true;
36
-
37
- }
38
- public function createOrderFromLink($account_id, $marketplace_code, $beezup_order_id) {
39
- $this->makeDir();
40
- $logDir = Mage::getBaseDir('base').'/beezup/';
41
- if(file_exists($logDir."log2.txt")) {
42
- if(filesize($logDir."/log2.txt") >=3000000) {
43
- unlink($logDir."log2.txt");
44
- }
45
- }
46
- $sync_end_date = new DateTime ( 'now', new DateTimeZone ( 'UTC' ));
47
- $helper = Mage::helper('beezup');
48
- $sync_status = $helper->getConfig('beezup/marketplace/sync_status');
49
- $debug_mode = $helper->getConfig('beezup/marketplace/debug_mode');
50
- $create_customer = $helper->getConfig("beezup/marketplace/create_customers");
51
- if($create_customer == 0) {
52
- $this->blnCreateCustomer = true;
53
- }
54
-
55
- if($debug_mode==1) {
56
- $this->debug = true;
57
- }
58
- if($sync_status!==1) {
59
- $configModel = Mage::getModel('core/config');
60
- $configModel->saveConfig('beezup/marketplace/sync_status',1);
61
-
62
-
63
-
64
- unlink($logDir."log.txt");
65
- $this->log = new KLogger ( $logDir."log.txt" , KLogger::DEBUG );
66
- $this->log2 = new KLogger ( $logDir."log2.txt" , KLogger::DEBUG );
67
- $this->debugLog("Initializing OM Importation");
68
- $this->account_id = $account_id;
69
- $this->marketplace_code = $marketplace_code;
70
- $this->beezup_order_id = $beezup_order_id;
71
- $orderResponse = $this->getBeezupOrder();
72
- if($orderResponse) {
73
-
74
-
75
- $this->createOrder($orderResponse);
76
-
77
- $configModel->saveConfig('beezup/marketplace/sync_status',0);
78
- if($this->mage_order_id) {
79
- echo "<script>window.location='".Mage::helper('adminhtml')->getUrl("adminhtml/sales_order/view", array('order_id'=> $this->mage_order_id))."';</script>";
80
- }
81
- // die("Order Importation finalized");
82
-
83
- }
84
-
85
- }
86
- $configModel->saveConfig('beezup/marketplace/sync_status',0);
87
- //die("Error, Order data incorrect");
88
- echo $this->_showLog();
89
- }
90
-
91
- public function _showLog() {
92
- $logDir = Mage::getBaseDir('base').'/beezup/';
93
- // $log1 = file_get_contents();
94
- $ret = array();
95
- if (file_exists($logDir."/log.txt")) {
96
- $f = fopen($logDir."/log.txt", 'r');
97
-
98
- if ($f) {
99
- while (!feof($f)) {
100
- $ret[] = fgetcsv($f, 0, '|');
101
- }
102
- fclose($f);
103
- }
104
- }
105
- array_slice(array_reverse($ret), 1, 10);
106
-
107
- return $this->_getTable($ret);
108
-
109
- }
110
-
111
-
112
- public function _getTable($data) {
113
- $url = Mage::getBaseUrl( Mage_Core_Model_Store::URL_TYPE_WEB, true );
114
- $html = "<td></td><td></td><tr></tr></tbody></table>
115
-
116
- <div class='grid' style=' height: 600px;overflow-y: scroll;padding: 16px;border: 3px solid #e6e6e6;' id='marketPlaceLogBlock'>";
117
- $html .= '<p>'. Mage::helper('beezup')->__('For full logs see here:').' <a href="'.$url .'beezup/log/load" target="_blank">'.$url .'beezup/log/load</a></p>';
118
- $html .= "<table class='data' style='margin-top:0px;width:100%;'>";
119
- $html .= "<tr class='headings'>";
120
- $html .= '<th><span class="nobr">Time</span></th>';
121
- $html .= '<th><span class="nobr">Type</span></th>';
122
- $html .= '<th><span class="nobr">Order Id</span></th>';
123
- $html .= '<th><span class="nobr">Message</span></th>';
124
- $html .= "</tr>";
125
- $html .= "<tbody>";
126
- foreach($data as $d) {
127
- $background = " background: rgb(240, 184, 184)";
128
- if($d[1] == " INFO " ) {
129
- $background = " background: rgb(210, 227, 253)";
130
- }
131
- $orderId = (isset($d[3])) ? $d[2] : "";
132
- $message = (isset($d[3])) ? $d[3] : $d[2];
133
- $html .= "<tr class='even pointer' style='".$background."'>";
134
- $html .= "<td>".$d[0]."</td>";
135
- $html .= "<td>".$d[1]."</td>";
136
- $html .= "<td>".$orderId."</td>";
137
- $html .= "<td>".$message."</td>";
138
- $html .= "</tr>";
139
-
140
- }
141
-
142
- $html .= "<tbody>";
143
- $html .= '</table>';
144
- $html .= "</div>";
145
-
146
- return $html;
147
- }
148
-
149
-
150
-
151
- public function executeCron() {
152
-
153
- $this->makeDir();
154
-
155
- set_time_limit(0);
156
- $logDir = Mage::getBaseDir('base').'/beezup/';
157
- if(file_exists($logDir."log2.txt")) {
158
- if(filesize($logDir."/log2.txt") >=3000000) {
159
- unlink($logDir."log2.txt");
160
- }
161
- }
162
-
163
- $sync_end_date = new DateTime ( 'now', new DateTimeZone ( 'UTC' ));
164
- $helper = Mage::helper('beezup');
165
- $sync_status = $helper->getConfig('beezup/marketplace/sync_status');
166
- $debug_mode = $helper->getConfig('beezup/marketplace/debug_mode');
167
- $create_customer = $helper->getConfig("beezup/marketplace/create_customers");
168
- if($create_customer == 0) {
169
- $this->blnCreateCustomer = true;
170
- }
171
-
172
- if($debug_mode==1) {
173
- $this->debug = true;
174
- }
175
-
176
- if($sync_status!==1) {
177
- $configModel = Mage::getModel('core/config');
178
- $configModel->saveConfig('beezup/marketplace/sync_status',1);
179
-
180
-
181
-
182
- unlink($logDir."log.txt");
183
- $this->log = new KLogger ( $logDir."log.txt" , KLogger::DEBUG );
184
- $this->log2 = new KLogger ( $logDir."log2.txt" , KLogger::DEBUG );
185
- $this->debugLog("Initializing OM Importation");
186
-
187
-
188
- $this->getOrderList();
189
-
190
- $this->repository->updateLastSynchronizationDate( $sync_end_date);
191
- $this->orderid = "";
192
- $this->debugLog("OM Importation finalized succesfully");
193
- $configModel->saveConfig('beezup/marketplace/sync_status',0);
194
- echo "OM Importation finalized succesfully";
195
-
196
- } else {
197
-
198
- echo "Order Importation is already being executed";
199
- }
200
-
201
- }
202
-
203
-
204
- public function getLog() {
205
- $logDir = Mage::getBaseDir('base').'/beezup/';
206
- $log1 = file_get_contents($logDir."/log2.txt");
207
-
208
- echo "<pre>";
209
- print_r($log1);
210
- echo "</pre>";
211
-
212
- }
213
- public function getBeezupOrder() {
214
-
215
- $oOrderIdentifier = $this->getBeezupOrderId();
216
- $oBeezupOMOrderResponse = $this->getOrderService()->getOrder($oOrderIdentifier);
217
- if ($oBeezupOMOrderResponse && $oBeezupOMOrderResponse->getResult()){
218
- return $oBeezupOMOrderResponse;
219
- }
220
-
221
-
222
- return false;
223
- }
224
-
225
- public function getBeezupOrderId(){
226
- $oIdentifier = new BeezupOMOrderIdentifier();
227
- $oIdentifier
228
- ->setAccountId($this->account_id)
229
- ->setMarketplaceTechnicalCode($this->marketplace_code)
230
- ->setBeezupOrderUUID($this->beezup_order_id);
231
- return $oIdentifier;
232
- }
233
-
234
-
235
- public function createOrder($oBeezupOrderResponse) {
236
-
237
- $etag = $oBeezupOrderResponse->getETag();
238
- $final_order = $oBeezupOrderResponse->getResult();
239
-
240
- $orderid = $final_order->getOrderMarketPlaceOrderId();
241
- $this->orderid = $orderid;
242
- //customer Info
243
- $order_address = $final_order->getOrderBuyerAddressCity();
244
- $order_country = $final_order->getOrderBuyerAddressCountryName();
245
- $order_country_iso = $final_order->getOrderBuyerAddressCountryIsoCodeAlpha2();
246
- $order_address = $this->getBeezupBuyerAddress($final_order);
247
- $order_postalCode = $final_order->getOrderBuyerAddressPostalCode();
248
- $order_customer = $final_order->getOrderBuyerName();
249
- $order_customer_email = $final_order->getOrderBuyerEmail();
250
- $order_customer_phone = $final_order->getOrderBuyerPhone();
251
- $order_customer_mobile = $final_order->getOrderBuyerMobilePhone();
252
- $order_comment = $final_order->getOrderComment();
253
- $order_company = $final_order->getOrderBuyerCompanyName();
254
- $order_city = $final_order->getOrderBuyerAddressCity();
255
- $order_region = $final_order->getOrderBuyerStateOrRegion();
256
- $order_status = $final_order->getOrderStatusBeezUPOrderStatus();
257
- //shipping information
258
- $shipping_city = $final_order->getOrderShippingAddressCity();
259
- $shipping_country = $final_order->getOrderShippingAddressCountryName();
260
- $shipping_country_iso = $final_order->getOrderShippingAddressCountryIsoCodeAlpha2();
261
- $shipping_address = $this->getBeezupShippingAddress($final_order);
262
- $shipping_name = $final_order->getOrderShippingAddressName();
263
- $shipping_postalCode = $final_order->getOrderShippingAddressPostalCode();
264
- $shipping_email = $final_order->getOrderShippingEmail();
265
- $shipping_phone = $final_order->getOrderShippingPhone();
266
- $shipping_mobile = $final_order->getOrderShippingMobilePhone();
267
- $shipping_company = $final_order->getOrderShippingCompanyName();
268
- $shipping_region = $final_order->getOrderShippingAddressStateOrRegion();
269
- $order_currency_code = $final_order->getOrderCurrencyCode();
270
- //order Info
271
- $order_totalPrice = $final_order->getOrderTotalPrice();
272
- $order_shippingPrice = $final_order->getOrderShippingPrice();
273
-
274
- $name_parts = explode(" ", $order_customer);
275
- $order_first_name = array_shift( $name_parts);
276
- $order_last_name = implode(" ", $name_parts);
277
-
278
-
279
- $name_parts = explode(" ", $shipping_name);
280
- $shipping_first_name = array_shift( $name_parts);
281
- $shipping_last_name = implode(" ", $name_parts);
282
-
283
-
284
- //marketplace information
285
- $marketplace_business_code = $final_order->getMarketPlaceBusinessCode();
286
- $marketplace = $final_order->getMarketPlaceTechnicalCode();
287
-
288
- //productInfo
289
-
290
- $mage_productIds = $this->prescanOrder($final_order);
291
-
292
-
293
- if(!$this->checkEtagExists($etag)) {
294
- if(empty($order_customer_email)) {
295
- $order_customer_email = $this->generateEmail($final_order);
296
- }
297
- elseif(!filter_var($order_customer_email, FILTER_VALIDATE_EMAIL)) {
298
- $order_customer_email = $this->generateEmail($final_order);
299
- }
300
- if($order_country_iso == "FX" || $order_country_iso == "fx") {
301
- $order_country_iso = "FR";
302
- }
303
- if($shipping_country_iso == "FX" || $shipping_country_iso == "fx") {
304
- $shipping_country_iso = "FR";
305
- }
306
- $mage_productIds = $this->prescanOrder($final_order);
307
- if($mage_productIds) {
308
- $order_data = array(
309
- "etag" => $etag,
310
- "account_id" => $account_id,
311
- "order_status" => $order_status,
312
- "products" => $mage_productIds['products'],
313
- "storeid" => $mage_productIds['store'],
314
- "order_currency" => $order_currency_code ,
315
- "order_address" => $order_adress,
316
- "order_country" => $order_country,
317
- "order_country_iso" => $order_country_iso ,
318
- "order_address" => $order_address ,
319
- "order_postalCode" => $order_postalCode ,
320
- "order_customer" => $order_first_name ,
321
- "order_lastname" => $order_last_name ,
322
- "order_customer_email" => $order_customer_email ,
323
- "order_customer_phone" => $this->getPhone($order_customer_phone, $order_customer_mobile) ,
324
- "order_comment" => $order_comment ,
325
- "order_company" => $order_company ,
326
- "shipping_city" => $shipping_city ,
327
- "shipping_country" => $shipping_country ,
328
- "shipping_country_iso" => $shipping_country_iso ,
329
- "shipping_address" => $shipping_address ,
330
- "shipping_name" => $shipping_first_name ,
331
- "shipping_lastname" => $shipping_last_name ,
332
- "shipping_postalCode" => $shipping_postalCode ,
333
- "shipping_region" =>$shipping_region,
334
- "shipping_email" => $shipping_email ,
335
- "shipping_phone" => $this->getPhone($shipping_phone, $shipping_mobile) ,
336
- "shipping_company" => $shipping_company ,
337
- "order_totalPrice" => $order_totalPrice ,
338
- "order_shippingPrice" => $order_shippingPrice ,
339
- "order_city" => $order_city,
340
- "order_region" => $order_region,
341
- "marketplace" => $marketplace,
342
- "discounts" => $mage_productIds['discounts'],
343
- "marketplace_business_code" => $marketplace_business_code
344
- );
345
-
346
-
347
-
348
- //check if order exists
349
- $Mageorder = $this->loadMageOrder();
350
- if ($Mageorder) {
351
- //if order exists
352
- $this->updateEtag($etag);
353
- $this->updateBilling($Mageorder, $order_data );
354
- $this->updateBeezupInfoTab($Mageorder, $final_order, $order_data);
355
- $this->debugLog("Order Already exists Mage Order ID: " .$Mageorder->getId());
356
- $status1 = $Mageorder->getStatusLabel();
357
- $status = $this->getStatus($status1);
358
- if($status !== $order_status) {
359
- //if order exits and status has changed we update order status
360
- $this->debugLog("Updating Order Status from: ".$status1." to: ".$order_status );
361
- $this->setStatus( $order_status, $Mageorder);
362
- }
363
-
364
- $id_order = $Mageorder->getId();
365
- $BeezupMageOrder = new BeezupMageOrders($id_order);
366
- $BeezupMageOrder->setData(array("shipping" =>(float) $order_data['order_shippingPrice']));
367
- $BeezupMageOrder->updateShippingInfo();
368
- } else {
369
- //if not we create order
370
-
371
-
372
- $this->debugLog("Generating Order");
373
- $this->addOrder($order_data,$final_order );
374
- //die();
375
-
376
- }
377
-
378
-
379
- } else {
380
- //order could not be imported
381
-
382
-
383
- }
384
-
385
-
386
- } else {
387
- //etag has not changed
388
- $this->debugLog("Order Etag has not changed");
389
-
390
- }
391
-
392
-
393
-
394
-
395
-
396
- }
397
-
398
-
399
-
400
- public function generateEmail(BeezupOMOrderResult $oBeezupOrder)
401
- {
402
- $sRawValue = $oBeezupOrder->getBeezupOrderUUID ();
403
- $sFakeDomain = preg_replace ( '/\W/', '', $oBeezupOrder->getMarketPlaceTechnicalCode () ) . '.com';
404
- return 'fakeemail' . md5 ( $sFakeDomain . $sRawValue ) . '@' . strtolower ( $sFakeDomain );
405
- }
406
-
407
-
408
-
409
- public function getOrderList($orderList = null) {
410
- if($orderList == null) {
411
- $data = $this->createRepository()->createOrderListRequest();
412
- $oRequest = $this->getOrderService()->getClientProxy()->getOrderList($data);
413
- $orderList = $oRequest->getResult();
414
- }
415
- $oPagination = $orderList->getPaginationResult();
416
- if(!empty($oPagination)) {
417
- $oLinksTotal = $oPagination->getLinks();
418
- } else {
419
- $configModel = Mage::getModel('core/config');
420
- $configModel->saveConfig('beezup/marketplace/sync_status',0);
421
- die("No more orders to import");
422
- }
423
-
424
- //$header = $orderList->getOrderHeaders();
425
- foreach($orderList->getOrderHeaders() as $order) {
426
- $order_status = $order->getBeezupOrderState();
427
- $orderLinks = $order->getLinks();
428
- $etag = $order->getETag();
429
- $beezup_order_id = $order->getBeezupOrderUUID();
430
- $account_id = $order->getAccountId();
431
- $orderdata = $this->getOrderService()->getClientProxy()->getOrderByLink($orderLinks[0]);
432
- $this->debugLog("Initializing Order - Link: ".$orderLinks[0]->getHref());
433
- $this->createOrder($orderdata);
434
-
435
- }
436
-
437
- if(!empty($oLinksTotal)) {
438
- //we check if there is next link and get next orders
439
- foreach($oLinksTotal as $link) {
440
- if( $link->getRel() == "next") {
441
-
442
- $this->log->LogInfo("Initializing New Order List ->". $link->getHref());
443
- $this->log2->LogInfo("Initializing New Order List ->". $link->getHref());
444
- $oRequest = $this->getOrderService()->getClientProxy()->getOrderListByLink($link);
445
- $orderList = $oRequest->getResult();
446
- $this->getOrderList($orderList);
447
- }
448
-
449
- }
450
- }
451
-
452
- }
453
-
454
-
455
-
456
- public function updateBeezupInfoTab($order, $oLink, $data) {
457
- $beezup_last_modification_date = $oLink->getOrderLastModificationUtcDate();
458
- $beezup_last_modification_date = $beezup_last_modification_date->date;
459
- $beezup_marketplace_last_modification_date = $oLink->getOrderMarketPlaceLastModificationUtcDate();
460
- $beezup_marketplace_last_modification_date = $beezup_marketplace_last_modification_date->date;
461
- $beezup_comission = $oLink->getOrderTotalCommission()." ".$data['order_currency'];
462
- $tot_comm = $oLink->getOrderTotalCommission();
463
- if(empty($tot_comm ) || $tot_comm == 0) {
464
- $beezup_comission = 0;
465
- }
466
- $updateData = array("beezup_status" => $data['order_status'],
467
- "beezup_last_modification_date" => $beezup_last_modification_date,
468
- "beezup_marketplace_last_modification_date" => $beezup_marketplace_last_modification_date ,
469
- "beezup_total_paid" => $oLink->getOrderTotalPrice()." ".$data['order_currency'],
470
- "beezup_comission" => $beezup_comission,
471
- "beezup_marketplace_status" => $oLink->getOrderStatusMarketPlaceStatus());
472
- $orderId = $order->getId();
473
- $beezupMageOrder = new BeezupMageOrders($orderId);
474
- $beezupMageOrder->setData($updateData);
475
- $beezupMageOrder->updateBeezupInfo();
476
-
477
-
478
- }
479
-
480
- public function getPhone($phone, $phone2) {
481
- $retorno = "";
482
- if(!empty($phone) && $phone !== "") {
483
- $retorno .= $phone;
484
- }
485
- if(!empty($phone2) && $phone2 !=="") {
486
- if(empty($phone) || $phone == "") {
487
- $retorno = $phone2;
488
-
489
- } else {
490
- $retorno .= " - ".$phone2;
491
- }
492
- }
493
- return $retorno;
494
- }
495
-
496
-
497
- public function getBeezupBuyerAddress($order) {
498
- $add1=$order->getOrderBuyerAddressLine1();
499
- $add2=$order->getOrderBuyerAddressLine2();
500
- $add3=$order->getOrderBuyerAddressLine3();
501
- $retorno = "";
502
- if(!empty($add1)) {
503
- $retorno = $order->getOrderBuyerAddressLine1();
504
- }
505
- if(!empty($add2)) {
506
- if(empty($add1)) {
507
- $retorno .= $order->getOrderBuyerAddressLine2();
508
- } else {
509
- $retorno .= " - ". $order->getOrderBuyerAddressLine2();
510
- }
511
- }
512
- if(!empty($add3)){
513
- if(empty($add1) && empty($add2)) {
514
- $retorno .= $order->getOrderBuyerAddressLine3();
515
- } else {
516
- $retorno .= " - ". $order->getOrderBuyerAddressLine3();
517
- }
518
- }
519
- return $retorno;
520
- }
521
-
522
-
523
- public function getBeezupShippingAddress($order) {
524
- $add1 = $order->getOrderShippingAddressLine1();
525
- $add2 = $order->getOrderShippingAddressLine2();
526
- $add3=$order->getOrderBuyerAddressLine3();
527
- $retorno = "";
528
- if(!empty($add1 )) {
529
- $retorno = $order->getOrderShippingAddressLine1();
530
- }
531
- if(!empty($add2)) {
532
- if(empty($add1)) {
533
- $retorno .= $order->getOrderShippingAddressLine2();
534
- } else {
535
- $retorno .= " - ". $order->getOrderShippingAddressLine2();
536
- }
537
- }
538
- if(!empty($add3)){
539
- if(empty($add1) && empty($add2)) {
540
- $retorno .= $order->getOrderShippingAddressLine3();
541
- } else {
542
- $retorno .= " - ". $order->getOrderShippingAddressLine3();
543
- }
544
- }
545
- return $retorno;
546
- }
547
-
548
- public function checkEtagExists($etag) {
549
- $resource = Mage::getSingleton('core/resource');
550
- $readConnection = $resource->getConnection('core_read');
551
- $table = $resource->getTableName('sales/order_grid');
552
- $query = 'SELECT increment_id FROM ' . $table . ' WHERE beezup_etag = \''
553
- . $etag . '\' LIMIT 1';
554
- $order = $readConnection->fetchOne($query);
555
- if($order && !empty($order)) {
556
- return true;
557
- }
558
- return false;
559
-
560
- }
561
-
562
-
563
- public function updateEtag($etag) {
564
- $this->debugLog("Updating Etag");
565
- $resource = Mage::getSingleton('core/resource');
566
- $writeConnection = $resource->getConnection('core_write');
567
- $table = $resource->getTableName('sales/order_grid');
568
- $query = "UPDATE {$table} SET beezup_etag = '{$etag}' where beezup_market_order_id = '{$this->orderid}' ";
569
- $writeConnection->query($query);
570
-
571
- }
572
-
573
-
574
-
575
- public function updateBilling($order, $data) {
576
-
577
-
578
- $addressData = array(
579
- 'billing_company' => ($data['order_company']) ? $data['order_company'] : "",
580
- 'billing_firstname' => ($data['order_customer']) ? $data['order_customer'] : "empty",
581
- 'billing_lastname' => ($data['order_lastname']) ? $data['order_lastname'] : "empty",
582
- 'billing_street' => ($data['order_address']) ? $data['order_address'] : "empty",
583
- 'billing_city' => ($data['order_city']) ? $data['order_city'] : "empty",
584
- 'billing_postcode' => ($data['order_postalCode']) ? $data['order_postalCode'] : "empty",
585
- 'billing_telephone' => ($data['order_customer_phone']) ? $data['order_customer_phone'] : "empty",
586
- 'billing_country_id' => ($data['order_country_iso']) ? $data['order_country_iso'] : "empty",
587
- 'billing_region_id' => ($data['order_region ']) ? substr($data['order_region '], 0,2) : "EM",
588
- 'shipping_firstname' => ($data['shipping_name']) ? $data['shipping_name'] : "empty",
589
- 'shipping_lastname' => ($data['shipping_lastname']) ? $data['shipping_lastname'] : "empty",
590
- 'shipping_street' => ($data['shipping_address']) ? $data['shipping_address'] : "empty",
591
- 'shipping_city' => ($data['shipping_city']) ? $data['shipping_city'] : "empty",
592
- 'shipping_postcode' => ($data['shipping_postalCode']) ? $data['shipping_postalCode'] : "empty",
593
- 'shipping_telephone' => ($data['shipping_phone']) ? $data['shipping_phone'] : "empty",
594
- 'shipping_country_id' => ($data['shipping_country_iso']) ? $data['shipping_country_iso'] : "empty",
595
- 'shipping_company' => ($data['shipping_company']) ? $data['shipping_company'] : "",
596
- 'shipping_region_id' => ($data['shipping_region']) ? substr($data['shipping_region'], 0, 2) : "EM" // id from directory_country_region table
597
- );
598
-
599
- $shippingData = array(
600
-
601
- );
602
- // Get the id of the orders shipping address
603
- $orderId = $order->getId();
604
- $beezupMageOrder = new BeezupMageOrders($orderId);
605
- $beezupMageOrder->setData($addressData);
606
- $beezupMageOrder->updateAdresses();
607
- }
608
-
609
- public function updateAddresses($shippingData, $address) {
610
- if($shippingData['firstname'] !==$address['firstname']) {
611
- $address->setFirstname($shippingData['firstname']);
612
- }
613
- if($shippingData['lastname'] !==$address['lastname']) {
614
- $address->setLastname($shippingData['lastname']);
615
- }
616
- if($shippingData['street'] !==$address['street']) {
617
- $address->setStreet($shippingData['street']);
618
- }
619
- if($shippingData['city'] !==$address['city']) {
620
- $address->setCity($shippingData['city']);
621
- }
622
- if($shippingData['postcode'] !==$address['postcode']) {
623
- $address->setPostcode($shippingData['postcode']);
624
- }
625
- if($shippingData['telephone'] !==$address['telephone']) {
626
- $address->setTelephone($shippingData['telephone']);
627
- }
628
- $address->save();
629
-
630
-
631
- }
632
-
633
-
634
- public function loadMageOrder() {
635
- $Mageorder = Mage::getModel('sales/order')->loadByIncrementId($this->orderid);
636
- if ($Mageorder->getId()) {
637
- return $Mageorder;
638
- } else {
639
- //we get order from marketplace orderid
640
- $orderInc = $this->checkMarketOrderExists($this->orderid);
641
- if($orderInc) {
642
- // if exists
643
- $Mageorder = Mage::getModel('sales/order')->loadByIncrementId($orderInc);
644
- if ($Mageorder->getId()) {
645
- return $Mageorder;
646
- }
647
- }
648
- }
649
- return false;
650
- }
651
-
652
-
653
- private function debugLog($message) {
654
-
655
- if($this->orderid !== "") {
656
- $message = $this->orderid." | ".$message;
657
- }
658
- $this->log->LogInfo($message);
659
-
660
- $this->log2->LogInfo($message);
661
- }
662
-
663
- public function prescanOrder(BeezupOMOrderResult $order) {
664
- $retorno = array();
665
- $orderItems = $order->getOrderItems();
666
- foreach ($orderItems as $item)
667
- {
668
-
669
- if ($item->getOrderItemOrderItemType () !== 'Product')
670
- {
671
- // continue;
672
- }
673
- $beezup_store = $item->getOrderItemBeezUPStoreId(); //beezup storeid
674
- $mage_storeid = $this->checkOrderStore($beezup_store); //magento storeid
675
- $marketplace_orderid = $item->getOrderItemMarketPlaceProductId();
676
- if(!$mage_storeid) {
677
-
678
- if(strpos($marketplace_orderid,'INTERETBCA') !== false || strpos($marketplace_orderid,'interetbca') !== false) { }
679
- else {
680
- $this->log->LogError($this->orderid." | No mapping for store ".$beezup_store);
681
- $this->log2->LogError($this->orderid." | No mapping for store ".$beezup_store);
682
- return false;
683
- }
684
-
685
- }
686
- // $retorno['store'] = 1;
687
-
688
- $product_ImportedMerchantId = $item->getOrderItemMerchantImportedProductId();
689
- $product_MerchantId = $item->getOrderItemMerchantProductId();
690
-
691
- $product_quantity = $item->getOrderItemQuantity();
692
- $product_price = $item->getOrderItemItemPrice();
693
- $product_title = $item->getOrderItemTitle();
694
- $product_image = $item->getOrderItemImageUrl();
695
- if(strpos($marketplace_orderid,'INTERETBCA') !== false || strpos($marketplace_orderid,'interetbca') !== false) {
696
- $retorno['discounts']= $item->getOrderItemTotalPrice();
697
- } else {
698
- $retorno['store'] = $mage_storeid;
699
- $this->debugLog("Store Matching succesful, Beezup Store: ".$beezup_store." , Magento Store Id: ".$mage_storeid);
700
- $product = $this->getMageProduct($product_ImportedMerchantId , $product_MerchantId , $beezup_store );
701
- if($product) {
702
- $mage_productId = $product->getId();
703
- $stocklevel = (int)Mage::getModel('cataloginventory/stock_item')
704
- ->loadByProduct($product)->getQty();
705
-
706
- $retorno['products'][] = array("id" => $mage_productId, "qty" => $product_quantity, "price" => $product_price, "curr_stock" => $stocklevel);
707
- //producto existe
708
- } else {
709
- //vendria if de si activada opcion de crear producto creamos
710
- if(!$this->debug) {
711
- return false;
712
- }
713
- $product_data = array(
714
- "sku" => $product_ImportedMerchantId,
715
- "sku2" => $product_MerchantId,
716
- "qty" => $product_quantity,
717
- "price" => $product_price,
718
- "title" => $product_title,
719
- "image" => $product_image,
720
- "storeId" => $mage_storeid
721
- );
722
- $product = $this->createProduct($product_data);
723
- if(!$product) {
724
- return false;
725
- }
726
- $stocklevel = (int)Mage::getModel('cataloginventory/stock_item')
727
- ->loadByProduct($product)->getQty();
728
- $mage_productId = $product->getId();
729
- $retorno['products'][] = array("id" => $mage_productId, "qty" => $product_quantity, "price" => $product_price, "curr_stock" => $stocklevel);
730
- }
731
- }
732
- }
733
-
734
- return $retorno;
735
- }
736
-
737
-
738
-
739
- public function matchProductAttributes($importedId, $storeId) {
740
- $product = null;
741
- $helper = Mage::helper('beezup');
742
- $attributes = $helper->getConfig('beezup/marketplace/attributes');
743
- $attributes = unserialize ($attributes);
744
-
745
- foreach($attributes['attributes'][$storeId ] as $attribute) {
746
- $att = explode("|", $attribute);
747
- if($storeId == $att[1]) {
748
-
749
- $product=Mage::getModel('catalog/product')->loadByAttribute($att[0],$importedId);
750
- if($product) {
751
- break;
752
- }
753
- }
754
- }
755
-
756
- return $product;
757
- }
758
-
759
-
760
-
761
- public function getMageProduct($importedId, $merchantId, $storeId){
762
- try {
763
- $product=Mage::getModel('catalog/product')->load($importedId);
764
- if (!$product->getId() || $product->getId() !== $importedId ){
765
- $product = $this->matchProductAttributes($importedId, $storeId);
766
- if($product == null || !is_object($product)) {
767
- $product=Mage::getModel('catalog/product')->load($merchantId);
768
- if(!$product->getId() || $product->getId() !== $merchantId ) {
769
- $product = $this->matchProductAttributes($merchantId, $storeId);
770
-
771
- }
772
- }
773
- }
774
-
775
- if(is_object($product)) {
776
- if($product->getId()) {
777
- $this->debugLog("Product Matching succesful, Beezup Imported Id: ".$importedId." , Magento Product Id: ".$product->getId());
778
- return $product;
779
- }}
780
- $this->log->LogError($this->orderid. "| No Product Matching, Product ".$importedId." could not be found");
781
- $this->log2->LogError($this->orderid. "| No Product Matching, Product ".$importedId." could not be found");
782
- return false;
783
- }catch(Exception $e){
784
- $this->log->LogError($this->orderid. "| Product ".$importedId." could not be found, error: ".$e->getMessage());
785
- $this->log2->LogError($this->orderid. "| Product ".$importedId." could not be found, error: ".$e->getMessage());
786
- return false;
787
- //error no se pudo crear la orden
788
-
789
- }
790
- }
791
-
792
-
793
- public function checkOrderStore($storeId ) {
794
- $helper = Mage::helper('beezup');
795
- $stores = $helper->getConfig('beezup/marketplace/stores');
796
- $stores = unserialize ($stores);
797
- foreach($stores as $store) {
798
- if(isset($store[$storeId]) && $store[$storeId] > 0) {
799
- return $store[$storeId];
800
- }
801
- }
802
- return false;
803
- }
804
-
805
-
806
-
807
- /**
808
- * @return BeezupOMOrderService
809
- */
810
- public function getOrderService(){
811
- if ($this->oOrderService === null){
812
- $this->oOrderService = $this->createOrderService();
813
- // enchufamos debug mode, esta activado? false true $this->oOrderService->setDebugMode(false);
814
- }
815
- return $this->oOrderService;
816
- }
817
-
818
- /**
819
- * @return BeezupOMOrderService
820
- */
821
- protected function createOrderService(){
822
-
823
- return new BeezupOMOrderService($this->createRepository() );
824
- }
825
-
826
- protected function createRepository() {
827
- if ($this->repository == null) {
828
- $this->repository = new BeezupRepository();
829
- }
830
- return $this->repository;
831
-
832
- }
833
-
834
-
835
-
836
-
837
- private function createCustomer($customer_email , $data) {
838
- $password = $this->orderid;
839
- $this->debugLog("Creating new Customer");
840
- $customer = Mage::getModel('customer/customer');
841
- $customer->setWebsiteId(Mage::app()->getWebsite()->getId());
842
- $customer->loadByEmail($customer_email);
843
- if(!$customer->getId()) {
844
- $customer->setEmail($customer_email);
845
- $customer->setFirstname($data['firstname']);
846
- $customer->setLastname($data['lastname']);
847
- $customer->setPassword($password);
848
- try {
849
- $customer->save();
850
- $customer->setConfirmation(null);
851
- $customer->save();
852
- $this->debugLog("Customer created succesfully");
853
- return $customer;
854
- //Make a "login" of new customer
855
- // Mage::getSingleton('customer/session')->loginById($customer->getId());
856
- }
857
-
858
- catch (Exception $ex) {
859
- //Zend_Debug::dump($ex->getMessage());
860
- //GUARDAR ERROR CREACION USUARIO
861
- $this->log2->LogError($this->orderid. " | Customer importation failed: ".$ex->getMessage());
862
- return false;
863
- }
864
-
865
- } else {
866
- $this->debugLog("Creating already exists, returning customer object");
867
- return $customer;
868
- }
869
- }
870
-
871
-
872
-
873
- public function addOrder($data, $oLink, $stop = false) {
874
-
875
-
876
- try {
877
- $helper = Mage::helper('beezup');
878
- $addStock = $helper->getConfig('beezup/marketplace/available_products');
879
- $baseCurrencyCode = Mage::app()->getStore()->getBaseCurrencyCode();
880
- $quote = Mage::getModel('sales/quote')
881
- ->setStoreId($data['storeid']);
882
- $quote->setCustomerEmail($data['order_customer_email']);
883
-
884
-
885
- $currency = Mage::getModel('directory/currency')->load($data['order_currency']);
886
- $quote->setForcedCurrency($currency);
887
-
888
- $blnCreate = true;
889
- $total_new_price = 0;
890
- foreach($data['products'] as $prod) {
891
- if($prod['qty']==0) {
892
- $blnCreate = false;
893
- break;
894
- }
895
- $prod_totality_price = $prod['price']*$prod['qty'];
896
- $total_new_price = $total_new_price + $prod_totality_price;
897
- $product = Mage::getModel('catalog/product')->load($prod['id']);
898
- $buyInfo = array(
899
- 'qty' => $prod['qty'],
900
- );
901
- $this->debugLog("Adding ".$prod['qty']." product/s with id ".$product->getId()." to order, with Beezup Price: ".$prod['price']);
902
- //echo "Product ".$product->getId()."<br><br>";
903
- //para no perder stock:
904
- //Mage::getModel('cataloginventory/stock')->backItemQty($productId,$new_qty);
905
-
906
-
907
- if($addStock == 1) {
908
- $stock = Mage::getModel('cataloginventory/stock_item')->loadByProduct($product);
909
-
910
- if ($stock->getQty() < $prod['qty'] && $product->getStockItem()->getMaxSaleQty() >= $prod['qty']) {
911
- $this->debugLog("Product ".$product->getId()." Stock = 0, Updating to ".$prod['qty']." to generate Order");
912
- // Mage::getModel('cataloginventory/stock')->backItemQty($product->getId(),$prod['qty']);
913
- //$this->_updateStocks(array("id_product" => $product->getId(), "qty" => $prod['qty']));
914
- $product->setStockData(
915
- array(
916
- 'is_in_stock' => 1,
917
- 'qty' => $prod['qty'],
918
- 'manage_stock' => 1,
919
- 'use_config_notify_stock_qty' => 1
920
- )
921
- );
922
- $product->save();
923
- $product = Mage::getModel('catalog/product')->load($product->getId());
924
-
925
- }
926
- }
927
- //fin para no perder stock
928
-
929
- /*
930
- $tax_class = $product->getTaxClassId();
931
- $product->setTaxClassId(0);
932
- $product->getResource()->saveAttribute($product, 'tax_class_id'); */
933
- $price = $prod['price'];
934
-
935
- $quote_item = Mage::getModel('beezup/quote_item');
936
- $quote_item
937
- ->setProduct($product)
938
- ->setPrice((float) $price )
939
- ->setCustomPrice((float)$price )
940
- ->setOriginalCustomPrice((float) $price )
941
- ->setQuote($quote)
942
- ->setQty((integer) $prod['qty'])
943
- ->setBeezupPrice((float) $price );
944
-
945
-
946
- $quote->addItem($quote_item);
947
-
948
- //$quote->addProduct($product, new Varien_Object($buyInfo))->setOriginalCustomPrice($price)->setCustomPrice($price);
949
-
950
- /*
951
- $product->setTaxClassId($tax_class);
952
-
953
- $product->getResource()->saveAttribute($product, 'tax_class_id');
954
- */
955
- }
956
-
957
- if($blnCreate) {
958
- $addressData = array(
959
- 'firstname' => ($data['order_customer']) ? $data['order_customer'] : "empty",
960
- 'lastname' => ($data['order_lastname']) ? $data['order_lastname'] : "empty",
961
- 'street' => ($data['order_address']) ? $data['order_address'] : "empty",
962
- 'city' => ($data['order_city']) ? $data['order_city'] : "empty",
963
- 'postcode' => ($data['order_postalCode']) ? $data['order_postalCode'] : "empty",
964
- 'telephone' => ($data['order_customer_phone']) ? $data['order_customer_phone'] : "empty",
965
- 'country_id' => ($data['order_country_iso']) ? $data['order_country_iso'] : "empty",
966
- 'company' => ($data['order_company']) ? $data['order_company'] : "",
967
- 'region_id' => ($data['order_region ']) ? substr($data['order_region '], 0,2) : "EM"// id from directory_country_region table
968
- );
969
-
970
- $shippingData = array(
971
- 'firstname' => ($data['shipping_name']) ? $data['shipping_name'] : "empty",
972
- 'lastname' => ($data['shipping_lastname']) ? $data['shipping_lastname'] : "empty",
973
- 'street' => ($data['shipping_address']) ? $data['shipping_address'] : "empty",
974
- 'city' => ($data['shipping_city']) ? $data['shipping_city'] : "empty",
975
- 'postcode' => ($data['shipping_postalCode']) ? $data['shipping_postalCode'] : "empty",
976
- 'telephone' => ($data['shipping_phone']) ? $data['shipping_phone'] : "empty",
977
- 'country_id' => ($data['shipping_country_iso']) ? $data['shipping_country_iso'] : "empty",
978
- 'shipping_company' => ($data['shipping_company']) ? $data['shipping_company'] : "",
979
- 'region_id' => ($data['shipping_region']) ? substr($data['shipping_region'], 0, 2) : "EM" // id from directory_country_region table
980
- );
981
-
982
- if($this->blnCreateCustomer) {
983
-
984
- $mage_customer = $this->createCustomer($data['order_customer_email'], $addressData);
985
- $quote->assignCustomer($mage_customer);
986
- }
987
-
988
-
989
- $payment_method = $helper->getConfig('beezup/marketplace/payment_method');
990
- $billingAddress = $quote->getBillingAddress()->addData($addressData);
991
- $shippingAddress = $quote->getShippingAddress()->addData($shippingData);
992
- $shipping_cost = (float) $data['order_shippingPrice'];
993
- if($data['order_shippingPrice'] == 0) {
994
- $shipping_cost = 20000;
995
- }
996
- $total_new_price = $total_new_price + $data['order_shippingPrice'] ;
997
- Mage::unregister('shipping_cost');
998
- Mage::register('shipping_cost', $shipping_cost);
999
- $this->debugLog("Adding Order Shipping Cost: ". $data['order_shippingPrice']);
1000
-
1001
- $shippingAddress->setCollectShippingRates(true)->collectShippingRates()
1002
- ->setShippingMethod('beezup_beezup')
1003
- ->setPaymentMethod($payment_method);
1004
-
1005
- //$shippingAddress->addTotal(array("code" => "specialfee", "title" => "Special Fee", "value" => 20));
1006
- $quote->getPayment()->importData(array('method' => $payment_method));
1007
-
1008
- $quote->collectTotals()->save();
1009
-
1010
- $service = Mage::getModel('sales/service_quote', $quote);
1011
- $service->submitAll();
1012
- $order = $service->getOrder();
1013
-
1014
-
1015
-
1016
- $quoteId = $order->getQuoteId();
1017
- //$this->setStatus($data['order_status'], $order);
1018
-
1019
- $orderid = $order->getId();
1020
-
1021
- $resource = Mage::getSingleton('core/resource');
1022
- $writeConnection = $resource->getConnection('core_write');
1023
- $table = $resource->getTableName('sales/order_grid');
1024
- $this->debugLog("Adding Beezup Marketplace Information to Order");
1025
- $marketplace = $data['marketplace'];
1026
- $marketplace_business_code = ucfirst(strtolower($data['marketplace_business_code']));
1027
- $beezup_name = $data['order_customer'];
1028
- $market_order_id =$this->orderid;
1029
- $beezup_order_id = $oLink->getBeezupOrderUUID();
1030
- $beezup_status = $data['order_status'];
1031
- $beezup_last_modification_date = $oLink->getOrderLastModificationUtcDate();
1032
- $beezup_last_modification_date = $beezup_last_modification_date->date;
1033
- $beezup_marketplace_status = $oLink->getOrderStatusMarketPlaceStatus();
1034
- $beezup_purchase_date = $oLink->getOrderPurchaseUtcDate();
1035
- $beezup_purchase_date = $beezup_purchase_date->date;
1036
- $beezup_marketplace_last_modification_date = $oLink->getOrderMarketPlaceLastModificationUtcDate();
1037
- $beezup_marketplace_last_modification_date = $beezup_marketplace_last_modification_date->date;
1038
- /* $date = new DateTime($$beezup_marketplace_last_modification_date);
1039
- $beezup_marketplace_last_modification_date = $date->format('d-m-Y H:i:s'). "(UTC Time)";
1040
- */
1041
-
1042
- $beezup_total_paid = $oLink->getOrderTotalPrice()." ".$data['order_currency'];
1043
- $beezup_account_id = $oLink->getAccountId();
1044
- $beezup_comission = $oLink->getOrderTotalCommission()." ".$data['order_currency'];
1045
- $tot_comm = $oLink->getOrderTotalCommission();
1046
- if(empty($tot_comm ) || $tot_comm == 0) {
1047
- $beezup_comission = 0;
1048
- }
1049
- $query = "UPDATE {$table} SET beezup_marketplace = '{$marketplace}', beezup_name = '{$beezup_account_id}', beezup_order = 1, beezup_market_order_id = '{$market_order_id}',
1050
- beezup_order_id = '{$beezup_order_id}', beezup_status = '{$beezup_status}', beezup_last_modification_date = '{$beezup_last_modification_date}',
1051
- beezup_marketplace_status = '{$beezup_marketplace_status}', beezup_purchase_date = '{$beezup_purchase_date}', beezup_marketplace_last_modification_date = '{$beezup_marketplace_last_modification_date}',
1052
- beezup_total_paid = '{$beezup_total_paid}', beezup_etag = '{$data['etag']}' , beezup_comission = '{$beezup_comission}', beezup_marketplace_business_code = '{$marketplace_business_code}'
1053
- WHERE entity_id = ". (int)$orderid;
1054
- $writeConnection->query($query);
1055
- $disc_price = 0;
1056
- if(!empty($data['discounts']) && $data['discounts'] >0) {
1057
-
1058
-
1059
- $disc_price = round($data['discounts'],2);
1060
- $total_new_price = $total_new_price+$disc_price;
1061
- $table_address = $resource->getTableName("sales/quote_address");
1062
-
1063
- $query = "update {$table_address} set beezup_fee = '{$disc_price}' where quote_id = '{$quoteId}' and address_type = 'shipping'";
1064
- $writeConnection->query($query);
1065
- $this->debugLog("Adding CDISCOUNT products with total price: ".$disc_price);
1066
- }
1067
-
1068
- //if order id exists and has been created
1069
- if ($orderid)
1070
- {
1071
- //we send order id to beezup
1072
- $this->debugLog("Sending Magento Order Id to Beezup, Magento Order Id: ".$orderid);
1073
- $oResult = new BeezupOMSetOrderIdValues ();
1074
- $oResult->setOrderMerchantOrderId ( $orderid )->setOrderMerchantECommerceSoftwareName ( 'Magento' )->setOrderMerchantECommerceSoftwareVersion ( Mage::getVersion() );
1075
- $sendRequest = $this->getOrderService()->getClientProxy()->setOrderMerchantIdByLink($oLink->getLinkByRel('setMerchantOrderId'), $oResult);
1076
- }
1077
-
1078
- $grand_total = $order->getGrandTotal();
1079
- $beezup_price = $oLink->getOrderTotalPrice() - $disc_price;
1080
- if($grand_total != (float) $beezup_price && $beezup_price > 0) {
1081
- $order->setGrandTotal((float) $beezup_price);
1082
- $order->setBaseGrandTotal((float) $beezup_price);
1083
- $diff = (((float) $beezup_price) - $grand_total);
1084
-
1085
- $order->setTaxAmount($order->getTaxAmount() + $diff);
1086
- $order->save();
1087
- }elseif($grand_total != (float)$beezup_price && $beezup_price < 1) {
1088
-
1089
- $order->setGrandTotal((float) $total_new_price);
1090
- $order->setBaseGrandTotal((float) $total_new_price);
1091
- $diff = (((float) $total_new_price) - $grand_total);
1092
-
1093
- $order->setTaxAmount($order->getTaxAmount() + $diff);
1094
- $order->save();
1095
- }
1096
-
1097
-
1098
- if($order->getShippingInclTax() != $data['order_shippingPrice']) {
1099
- $shipping_cost = (float)$data['order_shippingPrice'];
1100
- $diff_shipping = ($shipping_cost - $order->getShippingInclTax());
1101
- //$order->setShippingAmount($order->getShippingAmount() + $diff_shipping);
1102
- //$order->setBaseShippingAmount($order->getShippingAmount());
1103
- $order->setShippingInclTax($shipping_cost);
1104
- $order->setBaseShippingInclTax($order->getShippingInclTax());
1105
- /*
1106
- $order->setSubtotalInclTax($order->getSubtotalInclTax() + $diff_shipping);
1107
- $order->setBaseSubtotalInclTax($order->getSubtotalInclTax());
1108
- $order->setSubtotal($order->getSubtotal() + $diff_shipping);
1109
- $order->setBaseSubtotal($order->getSubtotal());
1110
- */
1111
- $order->save();
1112
- }
1113
-
1114
- $products = Mage::getResourceModel('sales/order_item_collection')
1115
- ->setOrderFilter($orderid);
1116
- foreach($products as $product) {
1117
- $product->setBaseOriginalPrice($product->getOriginalPrice());
1118
- $product->setBaseTaxAmount($product->getTaxAmount());
1119
- $product->setBaseTaxInvoiced($product->getTaxAmount());
1120
- $product->setBasePriceInclTax($product->getPriceInclTax());
1121
- $product->setBaseRowTotalInclTax($product->getRowTotalInclTax());
1122
- $product->save();
1123
- }
1124
- $order->setBaseTaxAmount($order->getTaxAmount());
1125
- $order->setBaseTaxInvoiced($order->getTaxAmount());
1126
- $order->setBaseTotalInvoiced($order->getTotalPaid());
1127
- $order->setBaseTotalPaid($order->getTotalPaid());
1128
- $order->setBaseGrandTotal($order->getTotalPaid());
1129
- $order->setBaseSubtotalInclTax($order->getSubtotalInclTax());
1130
- $order->save();
1131
-
1132
-
1133
-
1134
-
1135
- $this->setStatus($data['order_status'], $order);
1136
- $this->mage_order_id = $orderid;
1137
- $this->debugLog("Order imported succesfully, Magento Order Id: ".$orderid);
1138
- } else {
1139
- //product stock = 0 we dont create order
1140
- $this->log->LogError($this->orderid. "| Order ".$data['market_place_order_id']." could not be imported, error: Stock from Beezup product = 0 ");
1141
- $this->log2->LogError($this->orderid. "| Order ".$data['market_place_order_id']." could not be imported, error: Stock from Beezup product = 0 ");
1142
- }
1143
- }catch(Exception $e){
1144
-
1145
-
1146
- if($stop) {
1147
- $this->log->LogError($this->orderid. "| Order ".$data['market_place_order_id']." could not be imported, error: ".$e->getMessage());
1148
- $this->log2->LogError($this->orderid. "| Order ".$data['market_place_order_id']." could not be imported, error: ".$e->getMessage());
1149
- $this->restoreStock($data);
1150
- } else {
1151
- $this->debugLog("Order Import failed, Trying to import Order Again");
1152
- $this->addOrder($data, $oLink, true);
1153
-
1154
- }
1155
- //error no se pudo crear la orden
1156
-
1157
- }
1158
-
1159
-
1160
-
1161
- }
1162
-
1163
-
1164
-
1165
- public function restoreStock($data) {
1166
-
1167
- try {
1168
- foreach($data['products'] as $prod) {
1169
- $product = Mage::getModel('catalog/product')->load($prod['id']);
1170
- $stock = Mage::getModel('cataloginventory/stock_item')->loadByProduct($product);
1171
- if ($stock->getQty() != $prod['curr_stock'] ) {
1172
- $this->debugLog("Restoring Stock from Product ".$product->getId()." to: ".$prod['curr_stock'] ." due to Order Fail");
1173
- $stockItem = Mage::getModel('cataloginventory/stock_item')->loadByProduct($product);
1174
- $stockItem->setData('is_in_stock', 0);
1175
- $stockItem->setData('qty', $prod['curr_stock']);
1176
- $stockItem->save();
1177
- $product->save();
1178
- }
1179
-
1180
- }
1181
- } catch(Exception $e){
1182
- $this->log->LogError($this->orderid. "| Failed Restoring Product Stock: ".$e->getMessage());
1183
- $this->log2->LogError($this->orderid. "| Failed Restoring Product Stock: ".$e->getMessage());
1184
- }
1185
-
1186
- }
1187
-
1188
-
1189
-
1190
- private function createProduct($data) {
1191
-
1192
- $sku = $data['sku'];
1193
- if(empty($data['sku'])) {
1194
- $sku = $data['sku2'];
1195
- }
1196
-
1197
- Mage::app()->setCurrentStore($data['storeId']);
1198
- $product = Mage::getModel('catalog/product');
1199
- // if(!$product->getIdBySku('testsku61')):
1200
-
1201
- try{
1202
- $product
1203
- // ->setStoreId(1) //you can set data in store scope
1204
- ->setWebsiteIds(array($data['storeId'])) //website ID the product is assigned to, as an array
1205
- ->setAttributeSetId($product->getDefaultAttributeSetId()) //ID of a attribute set named 'default'
1206
- ->setTypeId('simple') //product type
1207
- ->setCreatedAt(strtotime('now')) //product creation time
1208
- ->setSku($sku ) //SKU
1209
- ->setWeight(0)
1210
- ->setName($data['title']) //product name
1211
- ->setStatus(1) //product status (1 - enabled, 2 - disabled)
1212
- ->setTaxClassId(4) //tax class (0 - none, 1 - default, 2 - taxable, 4 - shipping)
1213
- ->setVisibility(Mage_Catalog_Model_Product_Visibility::VISIBILITY_NOT_VISIBLE ) //catalog and search visibility
1214
- ->setPrice($data['price']) //price in form 11.22
1215
- ->setMsrpEnabled(1) //enable MAP
1216
- ->setMsrpDisplayActualPriceType(1) //display actual price (1 - on gesture, 2 - in cart, 3 - before order confirmation, 4 - use config)
1217
- ->setMsrp(0) //Manufacturer's Suggested Retail Price
1218
- ->setMetaTitle('')
1219
- ->setMetaKeyword('')
1220
- ->setMetaDescription('')
1221
- ->setDescription($data['title'])
1222
- ->setShortDescription($data['title'])
1223
- // ->setMediaGallery (array('images'=>array (), 'values'=>array ())) //media gallery initialization
1224
- //->addImageToMediaGallery('media/catalog/product/1/0/10243-1.png', array('image','thumbnail','small_image'), false, false) //assigning image, thumb and small image to media gallery
1225
- ->setStockData(array(
1226
- 'use_config_manage_stock' => 0, //'Use config settings' checkbox
1227
- 'manage_stock'=>1, //manage stock
1228
- 'min_sale_qty'=>1, //Minimum Qty Allowed in Shopping Cart
1229
- 'max_sale_qty'=>2, //Maximum Qty Allowed in Shopping Cart
1230
- 'is_in_stock' => 1, //Stock Availability
1231
- 'qty' => 1 //qty
1232
- )
1233
- );
1234
- $product->save();
1235
- return $product;
1236
-
1237
- }catch(Exception $e){
1238
- //log exception
1239
- $this->log->LogError($this->orderid."| Product ".$sku." could not be created, error: ".$e->getMessage());
1240
- $this->log2->LogError($this->orderid."| Product ".$sku." could not be created, error: ".$e->getMessage());
1241
- return false;
1242
- }
1243
- }
1244
-
1245
-
1246
-
1247
- public function setStatus($status, $order) {
1248
- $helper = Mage::helper('beezup');
1249
- $retorno = "";
1250
- $blnCancel = false;
1251
- $blnHold = false;
1252
- switch($status) {
1253
- case "New" :
1254
- $this->debugLog("Setting Order Status to New");
1255
- $retorno = $helper->getConfig('beezup/marketplace/status_new');
1256
- break;
1257
- case "InProgress" :
1258
- $this->debugLog("Setting Order Status to InProgress");
1259
- $retorno = $helper->getConfig('beezup/marketplace/status_progress');
1260
- $this->payOrder($order);
1261
- break;
1262
- case "Aborted" :
1263
- $this->debugLog("Setting Order Status to Aborted");
1264
- $retorno = $helper->getConfig('beezup/marketplace/status_aborted');
1265
- $blnHold = true;
1266
-
1267
-
1268
- break;
1269
- case "Closed" :
1270
- $this->debugLog("Setting Order Status to Closed");
1271
- $blnCancel =true;
1272
- $retorno = $helper->getConfig('beezup/marketplace/status_closed');
1273
- $this->payOrder($order);
1274
- break;
1275
- case "Canceled" :
1276
- $this->debugLog("Setting Order Status to Cancelled");
1277
- $retorno = $helper->getConfig('beezup/marketplace/status_cancelled');
1278
-
1279
- break;
1280
- case "Shipped" :
1281
- $this->debugLog("Setting Order Status to Shipped");
1282
- $retorno = $helper->getConfig('beezup/marketplace/status_shipped');
1283
- $this->payOrder($order);
1284
- break;
1285
-
1286
- }
1287
- $order->setData('state',$retorno);
1288
- $order->setStatus($retorno);
1289
- $history = $order->addStatusHistoryComment('Order was set to '.$retorno.' by Beezup.', false);
1290
- $history->setIsCustomerNotified(false);
1291
- $order->save();
1292
- if($blnCancel) {
1293
- $order->cancel()->save();
1294
- }
1295
- if($blnHold) {
1296
- $order->hold()->save();
1297
- }
1298
-
1299
- return $retorno;
1300
-
1301
- }
1302
-
1303
-
1304
- public function getStatus($status1) {
1305
- $helper = Mage::helper('beezup');
1306
- $retorno = "";
1307
- $status = strtolower($status1);
1308
-
1309
- if($status == strtolower($helper->getConfig('beezup/marketplace/status_new') )) {
1310
- $retorno = "New";
1311
-
1312
- } elseif($status == strtolower($helper->getConfig('beezup/marketplace/status_progress') ) ){
1313
- $retorno = "InProgress";
1314
-
1315
-
1316
- }
1317
- elseif($status == strtolower($helper->getConfig('beezup/marketplace/status_aborted') )) {
1318
-
1319
- $retorno = "Aborted" ;
1320
- }
1321
- elseif($status == strtolower($helper->getConfig('beezup/marketplace/status_closed') )) {
1322
- $retorno = "Closed";
1323
-
1324
- }
1325
- elseif($status == strtolower($helper->getConfig('beezup/marketplace/status_cancelled')) ) {
1326
-
1327
- $retorno = "Canceled";
1328
- }
1329
- elseif($status == strtolower($helper->getConfig('beezup/marketplace/status_shipped') )) {
1330
-
1331
- $retorno = "Shipped";
1332
- }
1333
-
1334
-
1335
- return $retorno;
1336
-
1337
- }
1338
-
1339
-
1340
- public function checkMarketOrderExists($orderid) {
1341
- $resource = Mage::getSingleton('core/resource');
1342
- $readConnection = $resource->getConnection('core_read');
1343
- $table = $resource->getTableName('sales/order_grid');
1344
- $query = 'SELECT increment_id FROM ' . $table . ' WHERE beezup_order = 1 and beezup_market_order_id = \''
1345
- . $orderid . '\' LIMIT 1';
1346
- $order = $readConnection->fetchOne($query);
1347
- if($order && !empty($order) && $this->orderId !== "") {
1348
- return $order;
1349
- }
1350
- return false;
1351
-
1352
- }
1353
-
1354
- public function payOrder($order) {
1355
- try {
1356
- $this->debugLog("Generating Order Payment Invoice");
1357
- if($order->canInvoice()) {
1358
- $invoice = $order->prepareInvoice()
1359
- ->setTransactionId($order->getId())
1360
- ->addComment("Invoice created from Beezup.")
1361
- ->register()
1362
- ->pay();
1363
- $transaction_save = Mage::getModel('core/resource_transaction')
1364
- ->addObject($invoice)
1365
- ->addObject($invoice->getOrder());
1366
- $transaction_save->save();
1367
- $this->debugLog("Order Payment Invoice Generated Succesfully");
1368
- }
1369
- }
1370
- catch(Exception $e){
1371
- //log exception
1372
- $this->log->LogError($this->orderid."| Order Payment Invoice could not be generated, error: ".$e->getMessage());
1373
- $this->log2->LogError($this->orderid."| Order Payment Invoice could not be generated, error: ".$e->getMessage());
1374
- }
1375
- }
1376
-
1377
-
1378
-
1379
-
1380
-
1381
-
1382
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/BeezUp/Model/System/Config/Backend/Marketchannel.php ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Beezup_Model_System_Config_Backend_Marketchannel
3
+ extends Mage_Core_Model_Config_Data
4
+ {
5
+ public function beforeSave($object)
6
+ {
7
+ $value = $this->getValue();
8
+ if ($value == "-1")
9
+ {
10
+ $this->setValue("");
11
+ } else {
12
+ $this->setValue($value);
13
+ }
14
+
15
+ }
16
+ }
app/code/community/BeezUp/Model/System/Config/Source/Marketchannel.php ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class BeezUp_Model_System_Config_Source_Marketchannel
4
+ {
5
+
6
+ public function toOptionArray()
7
+ {
8
+
9
+ $retorno = array();
10
+ $retorno[] = array("value" => "-1", "label" => '');
11
+ $retorno[] = array("value" => "AFN", "label" => "Amazon FBA Orders");
12
+
13
+ return $retorno;
14
+ }
15
+
16
+ }
app/code/community/BeezUp/etc/config.xml CHANGED
@@ -2,7 +2,7 @@
2
  <config>
3
  <modules>
4
  <BeezUp>
5
- <version>4.7.4</version>
6
  </BeezUp>
7
  </modules>
8
  <global>
2
  <config>
3
  <modules>
4
  <BeezUp>
5
+ <version>4.7.5</version>
6
  </BeezUp>
7
  </modules>
8
  <global>
app/code/community/BeezUp/etc/system.xml CHANGED
@@ -44,7 +44,7 @@
44
  <tracking translate="label">
45
  <label>Tracking</label>
46
  <frontend_type>text</frontend_type>
47
- <comment><![CDATA[<div style="font-size:11px;padding:3px;margin-bottom:20px;background:#FFF9E9;border:1px solid #EEE2BE">Support BeezUP : <a href="mailto:help@beezup.com">help@beezup.com</a> (Magento BeezUP v4.7.4) - <a href="http://go.beezup.com" target="_blank">My BeezUP Account</a></div>]]></comment>
48
  <sort_order>1</sort_order>
49
  <show_in_default>1</show_in_default>
50
  <show_in_website>1</show_in_website>
@@ -108,7 +108,7 @@
108
  <marketplace tanslate="label">
109
  <label>Marketplace</label>
110
  <frontend_type>text</frontend_type>
111
- <comment><![CDATA[<div style="font-size:11px;padding:3px;margin-bottom:20px;background:#FFF9E9;border:1px solid #EEE2BE">Support BeezUP : <a href="mailto:help@beezup.com">help@beezup.com</a> (Magento BeezUP v4.7.4) - <a href="http://go.beezup.com" target="_blank">My BeezUP Account</a></div>]]></comment>
112
  <sort_order>2</sort_order>
113
  <show_in_default>1</show_in_default>
114
  <show_in_website>1</show_in_website>
@@ -385,6 +385,19 @@
385
  <show_in_store>1</show_in_store>
386
  </available_products>
387
 
 
 
 
 
 
 
 
 
 
 
 
 
 
388
  <create_customers translate="label">
389
  <label>Create customer for each order</label>
390
  <frontend_type>select</frontend_type>
@@ -496,7 +509,7 @@
496
  <flux translate="label">
497
  <label>Catalog Flow</label>
498
  <frontend_type>text</frontend_type>
499
- <comment><![CDATA[<div style="font-size:11px;padding:3px;margin-bottom:20px;background:#FFF9E9;border:1px solid #EEE2BE">Support BeezUP : <a href="mailto:help@beezup.com">help@beezup.com</a> (Magento BeezUP v4.7.4) - <a href="http://go.beezup.com" target="_blank">My BeezUP Account</a></div>]]></comment>
500
  <sort_order>2</sort_order>
501
  <show_in_default>1</show_in_default>
502
  <show_in_website>1</show_in_website>
44
  <tracking translate="label">
45
  <label>Tracking</label>
46
  <frontend_type>text</frontend_type>
47
+ <comment><![CDATA[<div style="font-size:11px;padding:3px;margin-bottom:20px;background:#FFF9E9;border:1px solid #EEE2BE">Support BeezUP : <a href="mailto:help@beezup.com">help@beezup.com</a> (Magento BeezUP v4.7.5) - <a href="http://go.beezup.com" target="_blank">My BeezUP Account</a></div>]]></comment>
48
  <sort_order>1</sort_order>
49
  <show_in_default>1</show_in_default>
50
  <show_in_website>1</show_in_website>
108
  <marketplace tanslate="label">
109
  <label>Marketplace</label>
110
  <frontend_type>text</frontend_type>
111
+ <comment><![CDATA[<div style="font-size:11px;padding:3px;margin-bottom:20px;background:#FFF9E9;border:1px solid #EEE2BE">Support BeezUP : <a href="mailto:help@beezup.com">help@beezup.com</a> (Magento BeezUP v4.7.5) - <a href="http://go.beezup.com" target="_blank">My BeezUP Account</a></div>]]></comment>
112
  <sort_order>2</sort_order>
113
  <show_in_default>1</show_in_default>
114
  <show_in_website>1</show_in_website>
385
  <show_in_store>1</show_in_store>
386
  </available_products>
387
 
388
+ <market_channel_filters translate="label">
389
+ <label>Do not affect stock level for:</label>
390
+ <frontend_type>multiselect</frontend_type>
391
+ <source_model>beezup/system_config_source_marketchannel</source_model>
392
+ <backend_model>beezup/system_config_backend_marketchannel </backend_model>
393
+ <sort_order>33</sort_order>
394
+ <show_in_default>1</show_in_default>
395
+ <show_in_website>1</show_in_website>
396
+ <show_in_store>1</show_in_store>
397
+ </market_channel_filters>
398
+
399
+
400
+
401
  <create_customers translate="label">
402
  <label>Create customer for each order</label>
403
  <frontend_type>select</frontend_type>
509
  <flux translate="label">
510
  <label>Catalog Flow</label>
511
  <frontend_type>text</frontend_type>
512
+ <comment><![CDATA[<div style="font-size:11px;padding:3px;margin-bottom:20px;background:#FFF9E9;border:1px solid #EEE2BE">Support BeezUP : <a href="mailto:help@beezup.com">help@beezup.com</a> (Magento BeezUP v4.7.5) - <a href="http://go.beezup.com" target="_blank">My BeezUP Account</a></div>]]></comment>
513
  <sort_order>2</sort_order>
514
  <show_in_default>1</show_in_default>
515
  <show_in_website>1</show_in_website>
app/code/community/BeezUp/lib/Order/BeezupOMOrderResult.php CHANGED
@@ -61,9 +61,19 @@ class BeezupOMOrderResult extends BeezupOMResult {
61
  protected $sOrderMerchantECommerceSoftwareName = null;
62
  protected $sOrderMerchantECommerceSoftwareVersion = null;
63
  protected $sOrderStatusMarketPlaceStatus = null;
 
64
 
65
  protected $sDateFormat = 'Y-m-d\TH:i:s\Z';//DateTime::ISO8601;
66
 
 
 
 
 
 
 
 
 
 
67
  /**
68
  * @return the $sOrderMerchantECommerceSoftwareVersion
69
  */
@@ -1193,4 +1203,4 @@ class BeezupOMOrderResult extends BeezupOMResult {
1193
 
1194
 
1195
 
1196
- }
61
  protected $sOrderMerchantECommerceSoftwareName = null;
62
  protected $sOrderMerchantECommerceSoftwareVersion = null;
63
  protected $sOrderStatusMarketPlaceStatus = null;
64
+ protected $sOrderMarketPlaceChannel = null;
65
 
66
  protected $sDateFormat = 'Y-m-d\TH:i:s\Z';//DateTime::ISO8601;
67
 
68
+ public function getOrderMarketplaceChannel() {
69
+ return $this->sOrderMarketPlaceChannel;
70
+ }
71
+
72
+ public function setOrderMarketplaceChannel($channel) {
73
+ $this->sOrderMarketPlaceChannel = $channel;
74
+ }
75
+
76
+
77
  /**
78
  * @return the $sOrderMerchantECommerceSoftwareVersion
79
  */
1203
 
1204
 
1205
 
1206
+ }
app/locale/fr_FR/BeezUp.csv CHANGED
@@ -163,4 +163,5 @@ Order ID,Id de la commande
163
  Get Order,R&eacute;cup&eacute;rer commande
164
  If you enable this option customers will be created in Magento for each marketplace imported order,Si cette option est active les clients sont cr&eacute;&eacute;s dans Magento pour chaque commande place de march&eacute; import&eacute;e
165
  Shipping Cost (if no value found), Frais de port (si aucune valeur trouv&eacute;e)
166
- Choice of exported products,Choix des produits export&eacute;s
 
163
  Get Order,R&eacute;cup&eacute;rer commande
164
  If you enable this option customers will be created in Magento for each marketplace imported order,Si cette option est active les clients sont cr&eacute;&eacute;s dans Magento pour chaque commande place de march&eacute; import&eacute;e
165
  Shipping Cost (if no value found), Frais de port (si aucune valeur trouv&eacute;e)
166
+ Choice of exported products,Choix des produits export&eacute;s
167
+ Do not affect stock level for:,Ne pas affecter le niveau de stock pour:
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>BeezUP_Module_feed_and_tracker</name>
4
- <version>4.7.4</version>
5
  <stability>stable</stability>
6
  <license uri="http://opensource.org/licenses/osl-3.0.php">Open Software License</license>
7
  <channel>community</channel>
@@ -42,11 +42,11 @@ After Set-up, the following files are added :&lt;/p&gt;&#xD;
42
  &#xD;
43
  &lt;p&gt;By BeezUP &amp; Magentix&lt;/p&gt;</description>
44
  <notes>New features :&#xD;
45
- - Fixed bugs on Autoship carrier mapping</notes>
46
  <authors><author><name>BeezUP</name><user>BeezUP</user><email>charles@beezup.com</email></author></authors>
47
- <date>2017-03-01</date>
48
- <time>18:42:57</time>
49
- <contents><target name="magecommunity"><dir name="BeezUp"><dir name="Block"><dir name="Adminhtml"><dir name="Sales"><dir name="Order"><file name="Grid.php" hash="e18c65bc83cab8795b4ffd0d46e04c8a"/><dir name="Invoice"><file name="Totals.php" hash="ac065cd586fd2534de7e12762ab9b335"/></dir><file name="Totals.php" hash="5972281aa467d63da56a297a8df3da55"/><dir name="View"><dir name="Tab"><file name="Custom.php" hash="a60f500d604038645b826fa74e9b6619"/></dir></dir></dir><file name="Order.php" hash="c038c302f2c86f79431b49c7282c3f5c"/></dir><dir name="System"><dir name="Config"><file name="Attributes.php" hash="a504265fe4dc2df69b311d8219c88fbf"/><file name="Autoship.php" hash="f924df1d1ee8dff3440c43625771e2d6"/><file name="Button.php" hash="476b33034b0c7d36e1bbd85f38b841db"/><file name="Childgroup.php" hash="388d3dee8f9d66a56c43c2790a44b45a"/><file name="Credentials.php" hash="b86f361800bebfd6fcf3564d9fe87c95"/><file name="Cron.php" hash="e1d47b095623593beb7f166d2ad7fecc"/><file name="Filter.php" hash="ad7ba55e18c080e25a08309dc428402a"/><file name="Log.php" hash="86221765980c0aee2381d5efd740949d"/><file name="Manualcron.php" hash="cbac01f15d256a43f0388f58449bffd0"/><file name="Orderlink.php" hash="9b9242ea9ccc4cfa746036b72aed2cc1"/><file name="Stores.php" hash="4297f4c94f136bb9778c9ddcd0cb336c"/><file name="Syncstatus.php" hash="49164eb19331aadabc0581472cd3c567"/><file name="Time.php" hash="ac5c2e4a40e9c6ff68cea1097dfa1e7b"/></dir></dir></dir><file name="Omstatus.php" hash="061d861d973e232a18acea0387a4a290"/><file name="Order.php" hash="8a65a03758ce742462782bc58f16e0fa"/><file name="Order_old.php" hash="01cf997dfedffec513a671d9a399d3df"/><file name="Order_original.php" hash="8a65a03758ce742462782bc58f16e0fa"/><file name="Tracking.php" hash="e6dcd6b89e782b2eb6cb83abfb1b7f56"/><file name="Xml.php" hash="dbaed2a7dfb2ea57f932865a09ae9760"/></dir><dir name="Helper"><file name="Data.php" hash="867a2562b255beaf3faa047d4130304f"/></dir><dir name="Model"><file name="Carrier.php" hash="4a8f63e7cab3145ab679fbe0eff9a0bd"/><file name="Flatrate.php" hash="27d078203781d9b923605f685bfe5c25"/><file name="Observer.php" hash="d1af2bad4ecf48d3615862182b074dea"/><file name="Products.php" hash="e2ffaec55b84d4c1923547fc2aad47b6"/><dir name="Quote"><file name="Item.php" hash="13cef88e165932990fa032b57e8905a0"/></dir><dir name="Sales"><dir name="Order"><dir name="Pdf"><file name="Invoice.php" hash="9eaf28084db176b41c6007da3d529d18"/></dir></dir></dir><dir name="System"><dir name="Config"><dir name="Backend"><file name="Attributes.php" hash="174aee475c6a6a8b0b4f2e8e076c6a25"/><file name="Autoship.php" hash="7a3b906a58f488b35872d164dff9f336"/><file name="Credentials.php" hash="09ef9fab57f64eb6415d71ba8aec2412"/><file name="Time.php" hash="a70e4d748a9b300ec7b718168fa4d5f8"/><file name="Token.php" hash="60247c8b4d5889433ae1f92e998cc889"/></dir><dir name="Source"><file name="Attributes.php" hash="8f57313a41349c7a8132b8d8e2de275e"/><file name="Autoshipcarriers.php" hash="8d630c9bff8db63b4fb30f11768ce443"/><file name="Availableproducts.php" hash="d9d4b3705f5fbd98efbae0289a1b6d6d"/><file name="Cache.php" hash="0ca6ccc2fed56e2c602d76880d062053"/><file name="Carriers.php" hash="2aa4edae4a91dfd0bbb752aa2f4c0073"/><file name="Categories.php" hash="c4e9f0a54f1d9c688543f26f02f99142"/><file name="Countries.php" hash="b6f1a9a75d5368d6365f06b42524e002"/><file name="Customercreate.php" hash="ca5d2b2d1ad4e18f9a1135af21b10bc2"/><file name="Debug.php" hash="6538ebc0cd0d61c124e5adc806e71aff"/><file name="Description.php" hash="1746e688692fc99524f02fb18e707dcf"/><file name="Images.php" hash="78fb5e2054bbfaa2e76263b1aa9197cc"/><file name="Montant.php" hash="3a46b8d564f1c2f0ed3b62354ac8964f"/><file name="Payment.php" hash="4bebe8e6ab0f980c1ada872b46e86503"/><file name="Position.php" hash="f1d6f89f5db5bfeedc506c539e76e3a8"/><file name="Price.php" hash="71707a69106cdd4990767351ab78fc04"/><file name="Shipping.php" hash="93401afc4fe0fb60824b778a26a24cdd"/><file name="Status.php" hash="d32004ad97adac6de361703a403a6a97"/><file name="Userid.php" hash="3d028bc3bfcaf7541b57676c014c94db"/><file name="Visibility.php" hash="91c69e8f967c13162eb38306c0391080"/></dir></dir></dir></dir><dir name="controllers"><file name="CacheController.php" hash="512cc26abd39d556104d5e69c0ac8a0d"/><file name="CatalogController.php" hash="0b65f6951e26283ea8c60bffa397186d"/><file name="CronController.php" hash="026ddcd6df9a51a41037687ca8d53a0b"/><file name="LogController.php" hash="5eff0d0a2c5621456e580e214d05c745"/><file name="OmstatusController.php" hash="95ae171ef21f861a7eaf74931b62a9db"/><file name="OrderController.php" hash="a2b8df2fb01fb4df8e7f04bcd7689bb3"/></dir><dir name="etc"><file name="adminhtml.xml" hash="e50ed10cb5025ff3a6dd7c90a6f7e0a4"/><file name="config.xml" hash="43ea62b6372360baaafc41adc3743fb9"/><file name="system.xml" hash="8b362e20c0be60425ba0dfd6ae27e4dd"/></dir><dir name="img"><file name="ajax-loader.gif" hash="2a6692973429d7a74513bfa8bcb5be20"/></dir><dir name="lib"><file name="BeezupMageOrders.php" hash="6b690ddfb6ad93d98cf734925aef7121"/><file name="BeezupOMDataHandler.php" hash="cf738987179f3125fc0f4626fd70f1a0"/><file name="BeezupOMOrderService.php" hash="47c09c14dce66f914023ff09374cd674"/><file name="BeezupOMOrderServiceInterface.php" hash="9b18485ae224c32f46ae5a2ec5966e5b"/><file name="BeezupOMRepositoryInterface.php" hash="c2a8267c01c3e5def25ed41f715fa4b4"/><file name="BeezupOMRequestData.php" hash="162196502ecc6078ac6b7dec6f068c80"/><file name="BeezupOMResponseData.php" hash="955ce5316129e837190f2ccf9962d74f"/><file name="BeezupOMServiceClientProxy.php" hash="5e3a1759aabfb0349f270ce4cfd80725"/><file name="BeezupOMStatus.php" hash="54c45bb77f16a81d20b5a998eaab377b"/><file name="BeezupRepository.php" hash="4a4eaabcd0a5d7427154e93757c3733d"/><dir name="Common"><file name="BeezupOMCredential.php" hash="7f45272d16860058af07005dda39672e"/><file name="BeezupOMErrorSummary.php" hash="418db7b85beb030b2d28aee6c8b35bf1"/><file name="BeezupOMExpectedOrderChangeMetaInfo.php" hash="be802f69a3474d6cc6a5899711c7018c"/><file name="BeezupOMInfoSummaries.php" hash="cdece780cf38e3f09ce2d5550b93a567"/><file name="BeezupOMInfoSummary.php" hash="3b0d49f22882e239c87060aa58beb643"/><file name="BeezupOMLink.php" hash="9fa99dce0b51e235e101259b2f0304f8"/><file name="BeezupOMOrderIdentifier.php" hash="334f410bf0794cb2ce02b4b1e6d3e0f4"/><file name="BeezupOMProcessingStatus.php" hash="b70c4c23a75360b5bee4d9ddec9e7915"/><file name="BeezupOMRequest.php" hash="2497b1ed30c12d179a5629479aee418d"/><file name="BeezupOMResponse.php" hash="690688115873ac9a3172bf67a0d62b50"/><file name="BeezupOMResult.php" hash="5cb890ce4ad4205114dd94cd1f28222d"/><file name="BeezupOMSuccessSummary.php" hash="791c6c186ed15ec1b872905b820cd03c"/><file name="BeezupOMSummary.php" hash="6cc3712480eff9f19b80b0ab887155f0"/><file name="BeezupOMWarningSummary.php" hash="03cfd6a98901b6b460b974b8e938a659"/></dir><dir name="Harvest"><file name="BeezupOMHarvestAbstractReporting.php" hash="3d499a69ea7b646eaeef5b80f0a919f3"/><file name="BeezupOMHarvestClientReporting.php" hash="1e40eca349352912e408718f3b218777"/><file name="BeezupOMHarvestOrderReporting.php" hash="778ba93a7673f35b2072003e3510ba6b"/></dir><file name="KLogger.php" hash="fe1d31bbfdf4d59a858ffd43453536c2"/><dir name="LOV"><file name="BeezupOMLOVRequest.php" hash="165c873b3fea4201a3b35596d24ffe36"/><file name="BeezupOMLOVResponse.php" hash="586749fb17b16d5ff9f07909e516b3c7"/><file name="BeezupOMLOVResult.php" hash="c0e3cc917a1d625ac6094917481a7b52"/><file name="BeezupOMLOVValue.php" hash="0dd13ae88e99c2537df8804f3af248b9"/></dir><dir name="Marketplaces"><file name="BeezupOMMarketplace.php" hash="b85f1c977258ebc70c206a4ff461cb9a"/><file name="BeezupOMMarketplacesRequest.php" hash="5d1b27434872ed04210b9af795f5e464"/><file name="BeezupOMMarketplacesResponse.php" hash="0837f9ba0a610492362d73cd54ed4123"/><file name="BeezupOMMarketplacesResult.php" hash="369a2bf6e4c4134636ddeb849c6a8945"/></dir><dir name="Order"><file name="BeezupOMOrderItem.php" hash="a770b90ae4fcb6535563be6ff59f7528"/><file name="BeezupOMOrderRequest.php" hash="9afa0f18fc0aef344c3f71d054db23a0"/><file name="BeezupOMOrderResponse.php" hash="e8793a8754ec75a92ca6266357462307"/><file name="BeezupOMOrderResult.php" hash="b82fd5d86b578f2eb1d162a1169f3a9b"/></dir><dir name="OrderChange"><file name="BeezupOMOrderChangeMetaInfo.php" hash="abdbdfd6c3bf291fd38f9b3ddc419405"/><file name="BeezupOMOrderChangeRequest.php" hash="f43b9c0a052fe5346a1b309c6d96ae9c"/><file name="BeezupOMOrderChangeResponse.php" hash="bbb4e49e5ddb90991e763daa439a5642"/><file name="BeezupOMOrderChangeResult.php" hash="e7314addf6c2e51196577055d583f350"/></dir><dir name="OrderHistory"><file name="BeezupOMOrderChangeReporting.php" hash="fc7a7d7ee8bc53f8c5b7ed19793a911a"/><file name="BeezupOMOrderHarvestReporting.php" hash="e4cb500ef347d8e8543e0bf278d3d77c"/><file name="BeezupOMOrderHistoryRequest.php" hash="2e39c26d8d9dd4d5a92a2cde06c41353"/><file name="BeezupOMOrderHistoryResponse.php" hash="dc6a0c6dc89bf1f376d1ecfebd052a4b"/><file name="BeezupOMOrderHistoryResult.php" hash="d85d9b4ecf6c0456b5c8453cc3b9cfdd"/></dir><dir name="OrderList"><file name="BeezupOMOrderHeader.php" hash="af366bc39855f1315678f01b53859c1c"/><file name="BeezupOMOrderListRequest.php" hash="817c20c7c82fd5f05e0efb19ee19ec4b"/><file name="BeezupOMOrderListResponse.php" hash="b1b0ed33ba495f6e2c2f3a39ade2a5cd"/><file name="BeezupOMOrderListResult.php" hash="8befe82305a6c6fe3cacf113b3722585"/><file name="BeezupOMPaginationResult.php" hash="1e1ef534ddef8ac43d98839b4ed7f941"/></dir><dir name="SetOrderId"><file name="BeezupOMSetOrderIdRequest.php" hash="40b4a05023396115f582c2e907834e3b"/><file name="BeezupOMSetOrderIdResponse.php" hash="c4cb1f9013ae32dfdff8ca80e4725282"/><file name="BeezupOMSetOrderIdResult.php" hash="8b35abb55c52f6acdfd55bf20b370bf0"/><file name="BeezupOMSetOrderIdValues.php" hash="978b41465512c15bfe160463ca23d24f"/></dir><dir name="Stores"><file name="BeezupOMStore.php" hash="0882efcae2eff339d6cdcceee83135a7"/><file name="BeezupOMStoresRequest.php" hash="a6b1391e306f2ed21fd5e2fcdbcbbec5"/><file name="BeezupOMStoresResponse.php" hash="21535a8957506ef7da343a0526b57b02"/><file name="BeezupOMStoresResult.php" hash="d4ceed947e9e8086638497e75bbd20e8"/></dir><file name="bootstrap.php" hash="9dba513402094fc02ec291e08583b419"/><file name="debug.txt" hash="d41d8cd98f00b204e9800998ecf8427e"/></dir><dir name="sql"><dir name="beezup_setup"><file name="mysql4-install-4.0.0.php" hash="75dacb26e3f96975a873c906eb37fbb0"/><file name="mysql4-upgrade-4.5.0-4.6.0.php" hash="34d1bc3a9b7658923a389fd6653ed4c9"/></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="BeezUp.xml" hash="78c53bf08b7a60920283c91fec9f18dd"/></dir></target><target name="magelocale"><dir name="fr_FR"><file name="BeezUp.csv" hash="3ae5819ffc7157b01772a15a9b16d2a2"/></dir><dir name="en_US"><file name="BeezUp.csv" hash="05b26592c14245824173936807731db4"/></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="beezup_salestab.xml" hash="784925d72538a1eeb0ca695417147a7a"/></dir><dir name="template"><dir name="beezup"><file name="custom.phtml" hash="ea83d17a2e8814c3a9ae9e056c7926a8"/></dir></dir></dir></dir></dir></target></contents>
50
  <compatible/>
51
  <dependencies><required><php><min>5.1.0</min><max>6.0.0</max></php></required></dependencies>
52
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>BeezUP_Module_feed_and_tracker</name>
4
+ <version>4.7.5</version>
5
  <stability>stable</stability>
6
  <license uri="http://opensource.org/licenses/osl-3.0.php">Open Software License</license>
7
  <channel>community</channel>
42
  &#xD;
43
  &lt;p&gt;By BeezUP &amp; Magentix&lt;/p&gt;</description>
44
  <notes>New features :&#xD;
45
+ - Amazon FBA no stock impact</notes>
46
  <authors><author><name>BeezUP</name><user>BeezUP</user><email>charles@beezup.com</email></author></authors>
47
+ <date>2017-03-17</date>
48
+ <time>17:23:57</time>
49
+ <contents><target name="magecommunity"><dir name="BeezUp"><dir name="Block"><dir name="Adminhtml"><dir name="Sales"><dir name="Order"><file name="Grid.php" hash="e18c65bc83cab8795b4ffd0d46e04c8a"/><dir name="Invoice"><file name="Totals.php" hash="ac065cd586fd2534de7e12762ab9b335"/></dir><file name="Totals.php" hash="5972281aa467d63da56a297a8df3da55"/><dir name="View"><dir name="Tab"><file name="Custom.php" hash="a60f500d604038645b826fa74e9b6619"/></dir></dir></dir><file name="Order.php" hash="c038c302f2c86f79431b49c7282c3f5c"/></dir><dir name="System"><dir name="Config"><file name="Attributes.php" hash="a504265fe4dc2df69b311d8219c88fbf"/><file name="Autoship.php" hash="f924df1d1ee8dff3440c43625771e2d6"/><file name="Button.php" hash="476b33034b0c7d36e1bbd85f38b841db"/><file name="Childgroup.php" hash="388d3dee8f9d66a56c43c2790a44b45a"/><file name="Credentials.php" hash="b86f361800bebfd6fcf3564d9fe87c95"/><file name="Cron.php" hash="e1d47b095623593beb7f166d2ad7fecc"/><file name="Filter.php" hash="ad7ba55e18c080e25a08309dc428402a"/><file name="Log.php" hash="86221765980c0aee2381d5efd740949d"/><file name="Manualcron.php" hash="cbac01f15d256a43f0388f58449bffd0"/><file name="Orderlink.php" hash="afc8a4926b2769b15beb5b72ae94b696"/><file name="Stores.php" hash="4297f4c94f136bb9778c9ddcd0cb336c"/><file name="Syncstatus.php" hash="49164eb19331aadabc0581472cd3c567"/><file name="Time.php" hash="ac5c2e4a40e9c6ff68cea1097dfa1e7b"/></dir></dir></dir><file name="Omstatus.php" hash="061d861d973e232a18acea0387a4a290"/><file name="Order.php" hash="5877cfe77a4f91eaaaee93005c4d2446"/><file name="Tracking.php" hash="e6dcd6b89e782b2eb6cb83abfb1b7f56"/><file name="Xml.php" hash="dbaed2a7dfb2ea57f932865a09ae9760"/></dir><dir name="Helper"><file name="Data.php" hash="867a2562b255beaf3faa047d4130304f"/></dir><dir name="Model"><file name="Carrier.php" hash="4a8f63e7cab3145ab679fbe0eff9a0bd"/><file name="Flatrate.php" hash="27d078203781d9b923605f685bfe5c25"/><file name="Observer.php" hash="d1af2bad4ecf48d3615862182b074dea"/><file name="Products.php" hash="e2ffaec55b84d4c1923547fc2aad47b6"/><dir name="Quote"><file name="Item.php" hash="13cef88e165932990fa032b57e8905a0"/></dir><dir name="Sales"><dir name="Order"><dir name="Pdf"><file name="Invoice.php" hash="9eaf28084db176b41c6007da3d529d18"/></dir></dir></dir><dir name="System"><dir name="Config"><dir name="Backend"><file name="Attributes.php" hash="174aee475c6a6a8b0b4f2e8e076c6a25"/><file name="Autoship.php" hash="7a3b906a58f488b35872d164dff9f336"/><file name="Credentials.php" hash="09ef9fab57f64eb6415d71ba8aec2412"/><file name="Marketchannel.php" hash="61c795231e6ada05d287fe376ef1ae49"/><file name="Time.php" hash="a70e4d748a9b300ec7b718168fa4d5f8"/><file name="Token.php" hash="60247c8b4d5889433ae1f92e998cc889"/></dir><dir name="Source"><file name="Attributes.php" hash="8f57313a41349c7a8132b8d8e2de275e"/><file name="Autoshipcarriers.php" hash="8d630c9bff8db63b4fb30f11768ce443"/><file name="Availableproducts.php" hash="d9d4b3705f5fbd98efbae0289a1b6d6d"/><file name="Cache.php" hash="0ca6ccc2fed56e2c602d76880d062053"/><file name="Carriers.php" hash="2aa4edae4a91dfd0bbb752aa2f4c0073"/><file name="Categories.php" hash="c4e9f0a54f1d9c688543f26f02f99142"/><file name="Countries.php" hash="b6f1a9a75d5368d6365f06b42524e002"/><file name="Customercreate.php" hash="ca5d2b2d1ad4e18f9a1135af21b10bc2"/><file name="Debug.php" hash="6538ebc0cd0d61c124e5adc806e71aff"/><file name="Description.php" hash="1746e688692fc99524f02fb18e707dcf"/><file name="Images.php" hash="78fb5e2054bbfaa2e76263b1aa9197cc"/><file name="Marketchannel.php" hash="30f98cb077a4ec9cb3b7206f2ac21417"/><file name="Montant.php" hash="3a46b8d564f1c2f0ed3b62354ac8964f"/><file name="Payment.php" hash="4bebe8e6ab0f980c1ada872b46e86503"/><file name="Position.php" hash="f1d6f89f5db5bfeedc506c539e76e3a8"/><file name="Price.php" hash="71707a69106cdd4990767351ab78fc04"/><file name="Shipping.php" hash="93401afc4fe0fb60824b778a26a24cdd"/><file name="Status.php" hash="d32004ad97adac6de361703a403a6a97"/><file name="Userid.php" hash="3d028bc3bfcaf7541b57676c014c94db"/><file name="Visibility.php" hash="91c69e8f967c13162eb38306c0391080"/></dir></dir></dir></dir><dir name="controllers"><file name="CacheController.php" hash="512cc26abd39d556104d5e69c0ac8a0d"/><file name="CatalogController.php" hash="0b65f6951e26283ea8c60bffa397186d"/><file name="CronController.php" hash="026ddcd6df9a51a41037687ca8d53a0b"/><file name="LogController.php" hash="5eff0d0a2c5621456e580e214d05c745"/><file name="OmstatusController.php" hash="95ae171ef21f861a7eaf74931b62a9db"/><file name="OrderController.php" hash="a2b8df2fb01fb4df8e7f04bcd7689bb3"/></dir><dir name="etc"><file name="adminhtml.xml" hash="e50ed10cb5025ff3a6dd7c90a6f7e0a4"/><file name="config.xml" hash="b70eb422eafc4a12e0997ccdce5eb2dd"/><file name="system.xml" hash="624bfba117cc504f470b7c4afff3e9c9"/></dir><dir name="img"><file name="ajax-loader.gif" hash="2a6692973429d7a74513bfa8bcb5be20"/></dir><dir name="lib"><file name="BeezupMageOrders.php" hash="6b690ddfb6ad93d98cf734925aef7121"/><file name="BeezupOMDataHandler.php" hash="cf738987179f3125fc0f4626fd70f1a0"/><file name="BeezupOMOrderService.php" hash="47c09c14dce66f914023ff09374cd674"/><file name="BeezupOMOrderServiceInterface.php" hash="9b18485ae224c32f46ae5a2ec5966e5b"/><file name="BeezupOMRepositoryInterface.php" hash="c2a8267c01c3e5def25ed41f715fa4b4"/><file name="BeezupOMRequestData.php" hash="162196502ecc6078ac6b7dec6f068c80"/><file name="BeezupOMResponseData.php" hash="955ce5316129e837190f2ccf9962d74f"/><file name="BeezupOMServiceClientProxy.php" hash="5e3a1759aabfb0349f270ce4cfd80725"/><file name="BeezupOMStatus.php" hash="54c45bb77f16a81d20b5a998eaab377b"/><file name="BeezupRepository.php" hash="4a4eaabcd0a5d7427154e93757c3733d"/><dir name="Common"><file name="BeezupOMCredential.php" hash="7f45272d16860058af07005dda39672e"/><file name="BeezupOMErrorSummary.php" hash="418db7b85beb030b2d28aee6c8b35bf1"/><file name="BeezupOMExpectedOrderChangeMetaInfo.php" hash="be802f69a3474d6cc6a5899711c7018c"/><file name="BeezupOMInfoSummaries.php" hash="cdece780cf38e3f09ce2d5550b93a567"/><file name="BeezupOMInfoSummary.php" hash="3b0d49f22882e239c87060aa58beb643"/><file name="BeezupOMLink.php" hash="9fa99dce0b51e235e101259b2f0304f8"/><file name="BeezupOMOrderIdentifier.php" hash="334f410bf0794cb2ce02b4b1e6d3e0f4"/><file name="BeezupOMProcessingStatus.php" hash="b70c4c23a75360b5bee4d9ddec9e7915"/><file name="BeezupOMRequest.php" hash="2497b1ed30c12d179a5629479aee418d"/><file name="BeezupOMResponse.php" hash="690688115873ac9a3172bf67a0d62b50"/><file name="BeezupOMResult.php" hash="5cb890ce4ad4205114dd94cd1f28222d"/><file name="BeezupOMSuccessSummary.php" hash="791c6c186ed15ec1b872905b820cd03c"/><file name="BeezupOMSummary.php" hash="6cc3712480eff9f19b80b0ab887155f0"/><file name="BeezupOMWarningSummary.php" hash="03cfd6a98901b6b460b974b8e938a659"/></dir><dir name="Harvest"><file name="BeezupOMHarvestAbstractReporting.php" hash="3d499a69ea7b646eaeef5b80f0a919f3"/><file name="BeezupOMHarvestClientReporting.php" hash="1e40eca349352912e408718f3b218777"/><file name="BeezupOMHarvestOrderReporting.php" hash="778ba93a7673f35b2072003e3510ba6b"/></dir><file name="KLogger.php" hash="fe1d31bbfdf4d59a858ffd43453536c2"/><dir name="LOV"><file name="BeezupOMLOVRequest.php" hash="165c873b3fea4201a3b35596d24ffe36"/><file name="BeezupOMLOVResponse.php" hash="586749fb17b16d5ff9f07909e516b3c7"/><file name="BeezupOMLOVResult.php" hash="c0e3cc917a1d625ac6094917481a7b52"/><file name="BeezupOMLOVValue.php" hash="0dd13ae88e99c2537df8804f3af248b9"/></dir><dir name="Marketplaces"><file name="BeezupOMMarketplace.php" hash="b85f1c977258ebc70c206a4ff461cb9a"/><file name="BeezupOMMarketplacesRequest.php" hash="5d1b27434872ed04210b9af795f5e464"/><file name="BeezupOMMarketplacesResponse.php" hash="0837f9ba0a610492362d73cd54ed4123"/><file name="BeezupOMMarketplacesResult.php" hash="369a2bf6e4c4134636ddeb849c6a8945"/></dir><dir name="Order"><file name="BeezupOMOrderItem.php" hash="a770b90ae4fcb6535563be6ff59f7528"/><file name="BeezupOMOrderRequest.php" hash="9afa0f18fc0aef344c3f71d054db23a0"/><file name="BeezupOMOrderResponse.php" hash="e8793a8754ec75a92ca6266357462307"/><file name="BeezupOMOrderResult.php" hash="2459b50c8287476e3f8750929d6596a8"/></dir><dir name="OrderChange"><file name="BeezupOMOrderChangeMetaInfo.php" hash="abdbdfd6c3bf291fd38f9b3ddc419405"/><file name="BeezupOMOrderChangeRequest.php" hash="f43b9c0a052fe5346a1b309c6d96ae9c"/><file name="BeezupOMOrderChangeResponse.php" hash="bbb4e49e5ddb90991e763daa439a5642"/><file name="BeezupOMOrderChangeResult.php" hash="e7314addf6c2e51196577055d583f350"/></dir><dir name="OrderHistory"><file name="BeezupOMOrderChangeReporting.php" hash="fc7a7d7ee8bc53f8c5b7ed19793a911a"/><file name="BeezupOMOrderHarvestReporting.php" hash="e4cb500ef347d8e8543e0bf278d3d77c"/><file name="BeezupOMOrderHistoryRequest.php" hash="2e39c26d8d9dd4d5a92a2cde06c41353"/><file name="BeezupOMOrderHistoryResponse.php" hash="dc6a0c6dc89bf1f376d1ecfebd052a4b"/><file name="BeezupOMOrderHistoryResult.php" hash="d85d9b4ecf6c0456b5c8453cc3b9cfdd"/></dir><dir name="OrderList"><file name="BeezupOMOrderHeader.php" hash="af366bc39855f1315678f01b53859c1c"/><file name="BeezupOMOrderListRequest.php" hash="817c20c7c82fd5f05e0efb19ee19ec4b"/><file name="BeezupOMOrderListResponse.php" hash="b1b0ed33ba495f6e2c2f3a39ade2a5cd"/><file name="BeezupOMOrderListResult.php" hash="8befe82305a6c6fe3cacf113b3722585"/><file name="BeezupOMPaginationResult.php" hash="1e1ef534ddef8ac43d98839b4ed7f941"/></dir><dir name="SetOrderId"><file name="BeezupOMSetOrderIdRequest.php" hash="40b4a05023396115f582c2e907834e3b"/><file name="BeezupOMSetOrderIdResponse.php" hash="c4cb1f9013ae32dfdff8ca80e4725282"/><file name="BeezupOMSetOrderIdResult.php" hash="8b35abb55c52f6acdfd55bf20b370bf0"/><file name="BeezupOMSetOrderIdValues.php" hash="978b41465512c15bfe160463ca23d24f"/></dir><dir name="Stores"><file name="BeezupOMStore.php" hash="0882efcae2eff339d6cdcceee83135a7"/><file name="BeezupOMStoresRequest.php" hash="a6b1391e306f2ed21fd5e2fcdbcbbec5"/><file name="BeezupOMStoresResponse.php" hash="21535a8957506ef7da343a0526b57b02"/><file name="BeezupOMStoresResult.php" hash="d4ceed947e9e8086638497e75bbd20e8"/></dir><file name="bootstrap.php" hash="9dba513402094fc02ec291e08583b419"/><file name="debug.txt" hash="d41d8cd98f00b204e9800998ecf8427e"/></dir><dir name="sql"><dir name="beezup_setup"><file name="mysql4-install-4.0.0.php" hash="75dacb26e3f96975a873c906eb37fbb0"/><file name="mysql4-upgrade-4.5.0-4.6.0.php" hash="34d1bc3a9b7658923a389fd6653ed4c9"/></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="BeezUp.xml" hash="78c53bf08b7a60920283c91fec9f18dd"/></dir></target><target name="magelocale"><dir name="fr_FR"><file name="BeezUp.csv" hash="1f04383e5ef8b750a56a860b003aaa8d"/></dir><dir name="en_US"><file name="BeezUp.csv" hash="05b26592c14245824173936807731db4"/></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="beezup_salestab.xml" hash="784925d72538a1eeb0ca695417147a7a"/></dir><dir name="template"><dir name="beezup"><file name="custom.phtml" hash="ea83d17a2e8814c3a9ae9e056c7926a8"/></dir></dir></dir></dir></dir></target></contents>
50
  <compatible/>
51
  <dependencies><required><php><min>5.1.0</min><max>6.0.0</max></php></required></dependencies>
52
  </package>