Dolist_Net - Version 2.0.0.8

Version Notes

v2

Download this release

Release Info

Developer Dolist
Extension Dolist_Net
Version 2.0.0.8
Comparing to
See all releases


Code changes from version 2.0.0.7 to 2.0.0.8

app/code/community/Dolist/Net/Model/Dolistv8/Calculatedfields.php CHANGED
@@ -18,6 +18,33 @@ class Dolist_Net_Model_Dolistv8_Calculatedfields extends Mage_Core_Model_Abstrac
18
  const RANGE_12 = 6;
19
  const RANGE_24 = 7;
20
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
21
  protected function _construct()
22
  {
23
  parent::_construct();
@@ -240,25 +267,27 @@ class Dolist_Net_Model_Dolistv8_Calculatedfields extends Mage_Core_Model_Abstrac
240
  );
241
  }
242
 
 
 
 
243
  public function compute()
244
  {
245
  if (!$this->hasData('customer_id')) {
246
  Mage::logException(new Exception('Missing customer ID to compute'));
247
 
248
- return;
249
  }
250
 
251
  if (!$this->hasData('store_id')) {
252
  Mage::logException(new Exception('Missing store ID to compute'));
253
 
254
- return;
255
  }
256
 
257
  $datesOrder = $this->computeOrderDataTtl();
258
  $datesCart = $this->computeCartDataTtl();
259
  $config = Mage::getStoreConfig("dolist/dolist_v8/calculatedfieds_mode", $this->getData('store_id'));
260
 
261
- $now = new \DateTime();
262
  $this->addData(array(
263
  'first_order_amount' => $this->computeFirstOrderAmount(),
264
  'first_order_amount_with_vat' => $this->computeFirstOrderAmount(true),
@@ -279,7 +308,6 @@ class Dolist_Net_Model_Dolistv8_Calculatedfields extends Mage_Core_Model_Abstrac
279
  'last_unordered_cart_date' => $this->getLastUnorderedCartDate(),
280
  'config' => $config,
281
  'start_date' => ($config == $this::BEGIN_DATE) ? Mage::getStoreConfig("dolist/dolist_v8/calculatedfieds_date", $this->getData('store_id')) : null,
282
- 'updated_at' => $now->format('Y-m-d H:i:s')
283
  ));
284
 
285
  if (is_array($datesOrder) && !empty($datesOrder) && array_key_exists('stop', $datesOrder) && $datesOrder['stop']) {
@@ -295,8 +323,31 @@ class Dolist_Net_Model_Dolistv8_Calculatedfields extends Mage_Core_Model_Abstrac
295
  } catch (Exception $e) {
296
  Mage::logException($e);
297
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
298
  }
299
 
 
300
  /**
301
  * @param bool $withVat
302
  *
@@ -306,13 +357,20 @@ class Dolist_Net_Model_Dolistv8_Calculatedfields extends Mage_Core_Model_Abstrac
306
  {
307
  /** @var Dolist_Net_Model_Mysql4_Dolistv8_Export_Adapter_Int_FirstOrderAmountExclTax|Dolist_Net_Model_Mysql4_Dolistv8_Export_Adapter_Int_FirstOrderAmountInclTax $model */
308
  $model = null;
 
309
  if ($withVat)
310
  $model = Mage::getModel('dolist_mysql4/dolistv8_export_adapter_int_firstorderamountincltax');
311
  else {
312
  $model = Mage::getModel('dolist_mysql4/dolistv8_export_adapter_int_firstorderamountexcltax');
313
  }
314
 
315
- return $model->calculatedAttributeRequest($this->getData('customer_id'), $this->getData('store_id'));
 
 
 
 
 
 
316
  }
317
 
318
  /**
@@ -324,12 +382,20 @@ class Dolist_Net_Model_Dolistv8_Calculatedfields extends Mage_Core_Model_Abstrac
324
  {
325
  /** @var Dolist_Net_Model_Mysql4_Dolistv8_Export_Adapter_Int_LastOrderAmountExclTax|Dolist_Net_Model_Mysql4_Dolistv8_Export_Adapter_Int_LastOrderAmountInclTax $model */
326
  $model = null;
 
327
  if ($withVat)
328
  $model = Mage::getModel('dolist_mysql4/dolistv8_export_adapter_int_lastorderamountincltax');
329
  else {
330
  $model = Mage::getModel('dolist_mysql4/dolistv8_export_adapter_int_lastorderamountexcltax');
331
  }
332
- return $model->calculatedAttributeRequest($this->getData('customer_id'), $this->getData('store_id'));
 
 
 
 
 
 
 
333
  }
334
 
335
  /**
@@ -348,7 +414,13 @@ class Dolist_Net_Model_Dolistv8_Calculatedfields extends Mage_Core_Model_Abstrac
348
  $model = Mage::getModel('dolist_mysql4/dolistv8_export_adapter_int_totalorderamountexcltax');
349
  }
350
 
351
- return $model->calculatedAttributeRequest($this->getData('customer_id'), $this->getData('store_id'), $dates);
 
 
 
 
 
 
352
  }
353
 
354
 
@@ -368,7 +440,13 @@ class Dolist_Net_Model_Dolistv8_Calculatedfields extends Mage_Core_Model_Abstrac
368
  $model = Mage::getModel('dolist_mysql4/dolistv8_export_adapter_int_avgorderamountexcltax');
369
  }
370
 
371
- return $model->calculatedAttributeRequest($this->getData('customer_id'), $this->getData('store_id'), $dates);
 
 
 
 
 
 
372
  }
373
 
374
  public function getAvgOrdersAmount($withVat = false)
@@ -377,10 +455,12 @@ class Dolist_Net_Model_Dolistv8_Calculatedfields extends Mage_Core_Model_Abstrac
377
  $amount = $this->getData(!$withVat ? 'total_orders_amount' : 'total_orders_amount_with_vat');
378
 
379
  if ($count != 0) {
380
- return $amount / $count;
381
  } else {
382
- return 0;
383
  }
 
 
384
  }
385
 
386
  /**
@@ -402,7 +482,7 @@ class Dolist_Net_Model_Dolistv8_Calculatedfields extends Mage_Core_Model_Abstrac
402
  $productCount = $this->getData('total_product_count');
403
 
404
  if($orderCount != 0) {
405
- return $productCount / $orderCount;
406
  }
407
  else {
408
  return 0;
@@ -419,7 +499,13 @@ class Dolist_Net_Model_Dolistv8_Calculatedfields extends Mage_Core_Model_Abstrac
419
  /** @var Dolist_Net_Model_Mysql4_Dolistv8_Export_Adapter_Int_AvgNbDifferentProductsPerOrder $model */
420
  $model = Mage::getModel('dolist_mysql4/dolistv8_export_adapter_int_avgnbdifferentproductsperorder');
421
 
422
- return $model->calculatedAttributeRequest($this->getData('customer_id'), $this->getData('store_id'), $dates);
 
 
 
 
 
 
423
  }
424
 
425
  /**
@@ -433,7 +519,13 @@ class Dolist_Net_Model_Dolistv8_Calculatedfields extends Mage_Core_Model_Abstrac
433
  /** @var Dolist_Net_Model_Mysql4_Dolistv8_Export_Adapter_Int_AvgNbDifferentProductsPerOrderLine $model */
434
  $model = Mage::getModel('dolist_mysql4/dolistv8_export_adapter_int_avgnbdifferentproductsperorderline');
435
 
436
- return $model->calculatedAttributeRequest($this->getData('customer_id'), $this->getData('store_id'), $dates);
 
 
 
 
 
 
437
  }
438
 
439
  /**
@@ -446,7 +538,13 @@ class Dolist_Net_Model_Dolistv8_Calculatedfields extends Mage_Core_Model_Abstrac
446
  /** @var Dolist_Net_Model_Mysql4_Dolistv8_Export_Adapter_Int_TotalOrderedProducts $model */
447
  $model = Mage::getModel('dolist_mysql4/dolistv8_export_adapter_int_totalorderedproducts');
448
 
449
- return $model->calculatedAttributeRequest($this->getData('customer_id'), $this->getData('store_id'), $dates);
 
 
 
 
 
 
450
  }
451
 
452
  /**
@@ -459,7 +557,13 @@ class Dolist_Net_Model_Dolistv8_Calculatedfields extends Mage_Core_Model_Abstrac
459
  /** @var Dolist_Net_Model_Mysql4_Dolistv8_Export_Adapter_Int_TotalOrders $model */
460
  $model = Mage::getModel('dolist_mysql4/dolistv8_export_adapter_int_totalorders');
461
 
462
- return $model->calculatedAttributeRequest($this->getData('customer_id'), $this->getData('store_id'), $dates);
 
 
 
 
 
 
463
  }
464
 
465
  /**
@@ -479,7 +583,13 @@ class Dolist_Net_Model_Dolistv8_Calculatedfields extends Mage_Core_Model_Abstrac
479
  $model = Mage::getModel('dolist_mysql4/dolistv8_export_adapter_int_lastnotorderedcartamountexcltax');
480
  }
481
 
482
- return $model->calculatedAttributeRequest($this->getData('customer_id'), $this->getData('store_id'), $dates);
 
 
 
 
 
 
483
  }
484
 
485
  /**
@@ -492,7 +602,13 @@ class Dolist_Net_Model_Dolistv8_Calculatedfields extends Mage_Core_Model_Abstrac
492
  /** @var Dolist_Net_Model_Mysql4_Dolistv8_Export_Adapter_Int_NbPromotionRulesUsed $model */
493
  $model = Mage::getModel('dolist_mysql4/dolistv8_export_adapter_int_nbpromotionrulesused');
494
 
495
- return $model->calculatedAttributeRequest($this->getData('customer_id'), $this->getData('store_id'));
 
 
 
 
 
 
496
  }
497
 
498
  /**
@@ -504,7 +620,15 @@ class Dolist_Net_Model_Dolistv8_Calculatedfields extends Mage_Core_Model_Abstrac
504
  /** @var Dolist_Net_Model_Mysql4_Dolistv8_Export_Adapter_Date_FirstOrder $model */
505
  $model = Mage::getModel('dolist_mysql4/dolistv8_export_adapter_date_firstorder');
506
 
507
- return $model->calculatedAttributeRequest($this->getData('customer_id'), $this->getData('store_id'));
 
 
 
 
 
 
 
 
508
  }
509
 
510
  /**
@@ -516,7 +640,15 @@ class Dolist_Net_Model_Dolistv8_Calculatedfields extends Mage_Core_Model_Abstrac
516
  /** @var Dolist_Net_Model_Mysql4_Dolistv8_Export_Adapter_Date_LastOrder $model */
517
  $model = Mage::getModel('dolist_mysql4/dolistv8_export_adapter_date_lastorder');
518
 
519
- return $model->calculatedAttributeRequest($this->getData('customer_id'), $this->getData('store_id'));
 
 
 
 
 
 
 
 
520
  }
521
 
522
  public function getLastTwoOrdersRange()
@@ -559,7 +691,15 @@ class Dolist_Net_Model_Dolistv8_Calculatedfields extends Mage_Core_Model_Abstrac
559
  /** @var Dolist_Net_Model_Mysql4_Dolistv8_Export_Adapter_Date_LastQuoteNotOrdered $model */
560
  $model = Mage::getModel('dolist_mysql4/dolistv8_export_adapter_date_lastquotenotordered');
561
 
562
- return $model->calculatedAttributeRequest($this->getData('customer_id'), $this->getData('store_id'));
 
 
 
 
 
 
 
 
563
  }
564
 
565
  /**
18
  const RANGE_12 = 6;
19
  const RANGE_24 = 7;
20
 
21
+ private static $watchedAttributes = array(
22
+ 'id',
23
+ 'customer_id',
24
+ 'first_order_amount',
25
+ 'first_order_amount_with_vat',
26
+ 'last_order_amount',
27
+ 'last_order_amount_with_vat',
28
+ 'total_orders_amount',
29
+ 'total_orders_amount_with_vat',
30
+ 'average_unique_product_count',
31
+ 'average_product_count_by_command_line',
32
+ 'total_product_count',
33
+ 'total_orders_count',
34
+ // 'last_unordered_cart_amount', (change to this fields should not change the updated_at date. This fields is always recomputed in export)
35
+ // 'last_unordered_cart_amount_with_vat', (change to this fields should not change the updated_at date. This fields is always recomputed in export)
36
+ 'discount_rule_count',
37
+ 'last_orders_range',
38
+ 'first_order_date',
39
+ 'last_order_date',
40
+ // 'last_unordered_cart_date', (change to this fields should not change the updated_at date. This fields is always recomputed in export)
41
+ 'orders_expire',
42
+ 'cart_expire',
43
+ 'config',
44
+ 'start_date',
45
+ 'store_id',
46
+ );
47
+
48
  protected function _construct()
49
  {
50
  parent::_construct();
267
  );
268
  }
269
 
270
+ /**
271
+ * @return $this
272
+ */
273
  public function compute()
274
  {
275
  if (!$this->hasData('customer_id')) {
276
  Mage::logException(new Exception('Missing customer ID to compute'));
277
 
278
+ return $this;
279
  }
280
 
281
  if (!$this->hasData('store_id')) {
282
  Mage::logException(new Exception('Missing store ID to compute'));
283
 
284
+ return $this;
285
  }
286
 
287
  $datesOrder = $this->computeOrderDataTtl();
288
  $datesCart = $this->computeCartDataTtl();
289
  $config = Mage::getStoreConfig("dolist/dolist_v8/calculatedfieds_mode", $this->getData('store_id'));
290
 
 
291
  $this->addData(array(
292
  'first_order_amount' => $this->computeFirstOrderAmount(),
293
  'first_order_amount_with_vat' => $this->computeFirstOrderAmount(true),
308
  'last_unordered_cart_date' => $this->getLastUnorderedCartDate(),
309
  'config' => $config,
310
  'start_date' => ($config == $this::BEGIN_DATE) ? Mage::getStoreConfig("dolist/dolist_v8/calculatedfieds_date", $this->getData('store_id')) : null,
 
311
  ));
312
 
313
  if (is_array($datesOrder) && !empty($datesOrder) && array_key_exists('stop', $datesOrder) && $datesOrder['stop']) {
323
  } catch (Exception $e) {
324
  Mage::logException($e);
325
  }
326
+
327
+ return $this;
328
+ }
329
+
330
+ protected function _beforeSave()
331
+ {
332
+ $hasWatchedAttributeChange = false;
333
+
334
+ foreach (self::$watchedAttributes as $attribute) {
335
+ if ($this->dataHasChangedFor($attribute)) {
336
+ $hasWatchedAttributeChange = true;
337
+
338
+ break;
339
+ }
340
+ }
341
+
342
+ if ($hasWatchedAttributeChange) {
343
+ $now = new \DateTime('now');
344
+ $this->setData('updated_at', $now->format('Y-m-d H:i:s'));
345
+ }
346
+
347
+ return parent::_beforeSave();
348
  }
349
 
350
+
351
  /**
352
  * @param bool $withVat
353
  *
357
  {
358
  /** @var Dolist_Net_Model_Mysql4_Dolistv8_Export_Adapter_Int_FirstOrderAmountExclTax|Dolist_Net_Model_Mysql4_Dolistv8_Export_Adapter_Int_FirstOrderAmountInclTax $model */
359
  $model = null;
360
+
361
  if ($withVat)
362
  $model = Mage::getModel('dolist_mysql4/dolistv8_export_adapter_int_firstorderamountincltax');
363
  else {
364
  $model = Mage::getModel('dolist_mysql4/dolistv8_export_adapter_int_firstorderamountexcltax');
365
  }
366
 
367
+ $value = $model->calculatedAttributeRequest($this->getData('customer_id'), $this->getData('store_id'));
368
+
369
+ if (!$value) {
370
+ return null;
371
+ }
372
+
373
+ return round(floatval($value), 2);
374
  }
375
 
376
  /**
382
  {
383
  /** @var Dolist_Net_Model_Mysql4_Dolistv8_Export_Adapter_Int_LastOrderAmountExclTax|Dolist_Net_Model_Mysql4_Dolistv8_Export_Adapter_Int_LastOrderAmountInclTax $model */
384
  $model = null;
385
+
386
  if ($withVat)
387
  $model = Mage::getModel('dolist_mysql4/dolistv8_export_adapter_int_lastorderamountincltax');
388
  else {
389
  $model = Mage::getModel('dolist_mysql4/dolistv8_export_adapter_int_lastorderamountexcltax');
390
  }
391
+
392
+ $value = $model->calculatedAttributeRequest($this->getData('customer_id'), $this->getData('store_id'));
393
+
394
+ if (!$value) {
395
+ return null;
396
+ }
397
+
398
+ return round(floatval($value), 2);
399
  }
400
 
401
  /**
414
  $model = Mage::getModel('dolist_mysql4/dolistv8_export_adapter_int_totalorderamountexcltax');
415
  }
416
 
417
+ $value = $model->calculatedAttributeRequest($this->getData('customer_id'), $this->getData('store_id'), $dates);
418
+
419
+ if (!$value) {
420
+ return null;
421
+ }
422
+
423
+ return round(floatval($value), 2);
424
  }
425
 
426
 
440
  $model = Mage::getModel('dolist_mysql4/dolistv8_export_adapter_int_avgorderamountexcltax');
441
  }
442
 
443
+ $value = $model->calculatedAttributeRequest($this->getData('customer_id'), $this->getData('store_id'), $dates);
444
+
445
+ if (!$value) {
446
+ return null;
447
+ }
448
+
449
+ return round(floatval($value), 2);
450
  }
451
 
452
  public function getAvgOrdersAmount($withVat = false)
455
  $amount = $this->getData(!$withVat ? 'total_orders_amount' : 'total_orders_amount_with_vat');
456
 
457
  if ($count != 0) {
458
+ return round(floatval($amount / $count), 2);
459
  } else {
460
+ return null;
461
  }
462
+
463
+
464
  }
465
 
466
  /**
482
  $productCount = $this->getData('total_product_count');
483
 
484
  if($orderCount != 0) {
485
+ return round(floatval($productCount / $orderCount), 2);
486
  }
487
  else {
488
  return 0;
499
  /** @var Dolist_Net_Model_Mysql4_Dolistv8_Export_Adapter_Int_AvgNbDifferentProductsPerOrder $model */
500
  $model = Mage::getModel('dolist_mysql4/dolistv8_export_adapter_int_avgnbdifferentproductsperorder');
501
 
502
+ $value = $model->calculatedAttributeRequest($this->getData('customer_id'), $this->getData('store_id'), $dates);
503
+
504
+ if (!$value) {
505
+ return 0;
506
+ }
507
+
508
+ return round(floatval($value), 1);
509
  }
510
 
511
  /**
519
  /** @var Dolist_Net_Model_Mysql4_Dolistv8_Export_Adapter_Int_AvgNbDifferentProductsPerOrderLine $model */
520
  $model = Mage::getModel('dolist_mysql4/dolistv8_export_adapter_int_avgnbdifferentproductsperorderline');
521
 
522
+ $value = $model->calculatedAttributeRequest($this->getData('customer_id'), $this->getData('store_id'), $dates);
523
+
524
+ if (!$value) {
525
+ return 0;
526
+ }
527
+
528
+ return round(floatval($value), 1);
529
  }
530
 
531
  /**
538
  /** @var Dolist_Net_Model_Mysql4_Dolistv8_Export_Adapter_Int_TotalOrderedProducts $model */
539
  $model = Mage::getModel('dolist_mysql4/dolistv8_export_adapter_int_totalorderedproducts');
540
 
541
+ $value = $model->calculatedAttributeRequest($this->getData('customer_id'), $this->getData('store_id'), $dates);
542
+
543
+ if (!$value) {
544
+ return 0;
545
+ }
546
+
547
+ return intval($value);
548
  }
549
 
550
  /**
557
  /** @var Dolist_Net_Model_Mysql4_Dolistv8_Export_Adapter_Int_TotalOrders $model */
558
  $model = Mage::getModel('dolist_mysql4/dolistv8_export_adapter_int_totalorders');
559
 
560
+ $value = $model->calculatedAttributeRequest($this->getData('customer_id'), $this->getData('store_id'), $dates);
561
+
562
+ if (!$value) {
563
+ return 0;
564
+ }
565
+
566
+ return intval($value);
567
  }
568
 
569
  /**
583
  $model = Mage::getModel('dolist_mysql4/dolistv8_export_adapter_int_lastnotorderedcartamountexcltax');
584
  }
585
 
586
+ $value = $model->calculatedAttributeRequest($this->getData('customer_id'), $this->getData('store_id'), $dates);
587
+
588
+ if (!$value) {
589
+ return null;
590
+ }
591
+
592
+ return round(floatval($value), 2);
593
  }
594
 
595
  /**
602
  /** @var Dolist_Net_Model_Mysql4_Dolistv8_Export_Adapter_Int_NbPromotionRulesUsed $model */
603
  $model = Mage::getModel('dolist_mysql4/dolistv8_export_adapter_int_nbpromotionrulesused');
604
 
605
+ $value = $model->calculatedAttributeRequest($this->getData('customer_id'), $this->getData('store_id'));
606
+
607
+ if (!$value) {
608
+ return 0;
609
+ }
610
+
611
+ return intval($value);
612
  }
613
 
614
  /**
620
  /** @var Dolist_Net_Model_Mysql4_Dolistv8_Export_Adapter_Date_FirstOrder $model */
621
  $model = Mage::getModel('dolist_mysql4/dolistv8_export_adapter_date_firstorder');
622
 
623
+ $date = $model->calculatedAttributeRequest($this->getData('customer_id'), $this->getData('store_id'));
624
+
625
+ $value = date_create_from_format('Y-m-d H:i:s', $date);
626
+
627
+ if (!$value) {
628
+ return null;
629
+ }
630
+
631
+ return $value->format('Y-m-d');
632
  }
633
 
634
  /**
640
  /** @var Dolist_Net_Model_Mysql4_Dolistv8_Export_Adapter_Date_LastOrder $model */
641
  $model = Mage::getModel('dolist_mysql4/dolistv8_export_adapter_date_lastorder');
642
 
643
+ $date = $model->calculatedAttributeRequest($this->getData('customer_id'), $this->getData('store_id'));
644
+
645
+ $value = date_create_from_format('Y-m-d H:i:s', $date);
646
+
647
+ if (!$value) {
648
+ return null;
649
+ }
650
+
651
+ return $value->format('Y-m-d');
652
  }
653
 
654
  public function getLastTwoOrdersRange()
691
  /** @var Dolist_Net_Model_Mysql4_Dolistv8_Export_Adapter_Date_LastQuoteNotOrdered $model */
692
  $model = Mage::getModel('dolist_mysql4/dolistv8_export_adapter_date_lastquotenotordered');
693
 
694
+ $date = $model->calculatedAttributeRequest($this->getData('customer_id'), $this->getData('store_id'));
695
+
696
+ $value = date_create_from_format('Y-m-d H:i:s', $date);
697
+
698
+ if (!$value) {
699
+ return null;
700
+ }
701
+
702
+ return $value->format('Y-m-d');
703
  }
704
 
705
  /**
app/code/community/Dolist/Net/Model/Exporter/Csv.php CHANGED
@@ -41,13 +41,17 @@ class Dolist_Net_Model_Exporter_Csv extends Varien_Object
41
  {
42
  $varienCsv = new Varien_File_Csv();
43
 
44
- $row = array();
45
  if ($exportType == 'auto') {
46
  $row = $this->autoExportGetRow($contact);
47
  } elseif ($exportType == 'dolist') {
48
  $row = $this->dolistExportGetRow($storeId, $contact);
49
  }
50
 
 
 
 
 
51
  //open the file
52
  $mode = 'a';
53
  if (!$append) {
@@ -199,6 +203,10 @@ class Dolist_Net_Model_Exporter_Csv extends Varien_Object
199
  }
200
  }
201
 
 
 
 
 
202
  /** @var Dolist_Net_Model_Dolistv8_Calculatedfields $dolistCalculatedFieldsModel */
203
  $dolistCalculatedFieldsModel = Mage::getModel('dolist/dolistv8_calculatedfields');
204
  $dolistCalculatedFieldsModel->setStoreId($storeId);
@@ -279,7 +287,7 @@ class Dolist_Net_Model_Exporter_Csv extends Varien_Object
279
  } elseif (strpos($magentoAttributeCode['field'], 'last_unordered_cart_') === 0) {
280
  // Always
281
  if (!$computed) {
282
- $this->_getHelper()->logDebug('Unordered cart data used. Refresg calculatedfield');
283
  $dolistCalculatedFieldsModel->compute();
284
  $computed = true;
285
  }
41
  {
42
  $varienCsv = new Varien_File_Csv();
43
 
44
+ $row = null;
45
  if ($exportType == 'auto') {
46
  $row = $this->autoExportGetRow($contact);
47
  } elseif ($exportType == 'dolist') {
48
  $row = $this->dolistExportGetRow($storeId, $contact);
49
  }
50
 
51
+ if (!$row) {
52
+ return $this;
53
+ }
54
+
55
  //open the file
56
  $mode = 'a';
57
  if (!$append) {
203
  }
204
  }
205
 
206
+ if (strlen($customer->getData('email')) == 0) {
207
+ return null;
208
+ }
209
+
210
  /** @var Dolist_Net_Model_Dolistv8_Calculatedfields $dolistCalculatedFieldsModel */
211
  $dolistCalculatedFieldsModel = Mage::getModel('dolist/dolistv8_calculatedfields');
212
  $dolistCalculatedFieldsModel->setStoreId($storeId);
287
  } elseif (strpos($magentoAttributeCode['field'], 'last_unordered_cart_') === 0) {
288
  // Always
289
  if (!$computed) {
290
+ $this->_getHelper()->logDebug('Unordered cart data used. Refresh calculatedfield');
291
  $dolistCalculatedFieldsModel->compute();
292
  $computed = true;
293
  }
app/code/community/Dolist/Net/Model/Mysql4/Dolistv8/Calculatedfields.php CHANGED
@@ -12,6 +12,17 @@ class Dolist_Net_Model_Mysql4_Dolistv8_Calculatedfields extends Mage_Core_Model_
12
  $this->_init('dolist/dolistv8_calculatedfields', 'id');
13
  }
14
 
 
 
 
 
 
 
 
 
 
 
 
15
  /**
16
  * @param $customerId
17
  * @param $startDate
12
  $this->_init('dolist/dolistv8_calculatedfields', 'id');
13
  }
14
 
15
+ public function load(Mage_Core_Model_Abstract $object, $value, $field = null)
16
+ {
17
+ parent::load($object, $value, $field);
18
+
19
+ $object->setDataChanges(false);
20
+ $object->setOrigData();
21
+
22
+ return $this;
23
+ }
24
+
25
+
26
  /**
27
  * @param $customerId
28
  * @param $startDate
app/code/community/Dolist/Net/Model/Service.php CHANGED
@@ -759,8 +759,10 @@ class Dolist_Net_Model_Service extends Varien_Object
759
  $select1 = Mage::getModel('sales/order')
760
  ->getCollection()
761
  ->addAttributeToSelect('customer_id')
762
- ->addFieldToFilter('store_id', $storeId)
763
  ->getSelect();
 
 
764
  $select2 = Mage::getModel('newsletter/subscriber')
765
  ->getCollection()
766
  //->addFieldToFilter('subscriber_status', Mage_Newsletter_Model_Subscriber::STATUS_SUBSCRIBED)
@@ -776,8 +778,6 @@ class Dolist_Net_Model_Service extends Varien_Object
776
  $query = new Varien_Db_Select($select1->getAdapter());
777
  $query->from(array('subscriber_extract' => $innerQuery));
778
  $query->joinLeft($this->getTable('customer_entity'), 'subscriber_extract.customer_id = ' . $this->getTable('customer_entity') . '.entity_id');
779
- $query->joinLeft($this->getTable('customer_address_entity'), 'subscriber_extract.customer_id = ' . $this->getTable('customer_address_entity') . '.parent_id');
780
- $query->joinLeft($this->getTable('dolist_dolistv8_calculatedfields'), 'subscriber_extract.customer_id = ' . $this->getTable('dolist_dolistv8_calculatedfields') . '.customer_id');
781
  $query->joinLeft($this->getTable('newsletter_subscriber'), 'subscriber_extract.customer_id = ' . $this->getTable('newsletter_subscriber') . '.customer_id AND ' . $this->getTable('newsletter_subscriber') . '.customer_id != 0');
782
  $query->joinLeft(array($this->getTable('newsletter_subscriber') . '_guest' => $this->getTable('newsletter_subscriber')), 'subscriber_extract.customer_id = ' . $this->getTable('newsletter_subscriber') . '_guest' . '.subscriber_email AND ' . $this->getTable('newsletter_subscriber') . '_guest.customer_id = 0');
783
 
@@ -791,7 +791,6 @@ class Dolist_Net_Model_Service extends Varien_Object
791
  /** @var Varien_Db_Select $query */
792
  $query = Mage::getModel('newsletter/subscriber')
793
  ->getCollection()
794
- //->addFieldToFilter('subscriber_status', Mage_Newsletter_Model_Subscriber::STATUS_SUBSCRIBED)
795
  ->addFieldToFilter('store_id', $storeId)
796
  ->getSelect();
797
 
@@ -800,26 +799,51 @@ class Dolist_Net_Model_Service extends Varien_Object
800
  ->reset(Zend_Db_Select::FROM)
801
  ->reset(Zend_Db_Select::WHERE)
802
  ->from($this->getTable('newsletter_subscriber'), '')
803
- //->where($this->getTable('newsletter_subscriber') . '.subscriber_status = ?', Mage_Newsletter_Model_Subscriber::STATUS_SUBSCRIBED)
804
  ->where($this->getTable('newsletter_subscriber') . '.store_id = ?', $storeId);
805
 
806
  if ($count) {
807
- $query->columns('COUNT(DISTINCT customer_id) as total');
 
 
808
  } else {
809
- $query->columns('IF(customer_id=0, subscriber_email, customer_id) AS customer_id');
810
  }
811
  }
812
 
813
  if ($differential !== false) {
814
- $query->where($this->getTable('newsletter_subscriber') . '.updated_at >= ?', $differential);
 
 
 
815
  if ($exportWithCustomer) {
816
- $date = new DateTime();
817
- $date->setTimestamp($differential);
818
- $query->orwhere($this->getTable('customer_entity') . '.updated_at >= ?', $date->format('Y-m-d\TH:i:sP'));
819
- $query->orWhere($this->getTable('customer_address_entity') . '.updated_at >= ?', $date->format('Y-m-d\TH:i:sP'));
820
- $query->orWhere($this->getTable('dolist_dolistv8_calculatedfields') . '.updated_at >= ?', $date->format('Y-m-d\TH:i:sP'));
821
- $query->orWhere($this->getTable('newsletter_subscriber') . '_guest.updated_at >= ?', $differential);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
822
  }
 
823
  }
824
 
825
  $query->limitPage($startPagination, $exportPageSize);
759
  $select1 = Mage::getModel('sales/order')
760
  ->getCollection()
761
  ->addAttributeToSelect('customer_id')
762
+ ->addFieldToFilter('main_table.store_id', $storeId)
763
  ->getSelect();
764
+ $select1->join($this->getTable('customer_entity'), 'main_table.customer_id = ' . $this->getTable('customer_entity') . '.entity_id', null);
765
+
766
  $select2 = Mage::getModel('newsletter/subscriber')
767
  ->getCollection()
768
  //->addFieldToFilter('subscriber_status', Mage_Newsletter_Model_Subscriber::STATUS_SUBSCRIBED)
778
  $query = new Varien_Db_Select($select1->getAdapter());
779
  $query->from(array('subscriber_extract' => $innerQuery));
780
  $query->joinLeft($this->getTable('customer_entity'), 'subscriber_extract.customer_id = ' . $this->getTable('customer_entity') . '.entity_id');
 
 
781
  $query->joinLeft($this->getTable('newsletter_subscriber'), 'subscriber_extract.customer_id = ' . $this->getTable('newsletter_subscriber') . '.customer_id AND ' . $this->getTable('newsletter_subscriber') . '.customer_id != 0');
782
  $query->joinLeft(array($this->getTable('newsletter_subscriber') . '_guest' => $this->getTable('newsletter_subscriber')), 'subscriber_extract.customer_id = ' . $this->getTable('newsletter_subscriber') . '_guest' . '.subscriber_email AND ' . $this->getTable('newsletter_subscriber') . '_guest.customer_id = 0');
783
 
791
  /** @var Varien_Db_Select $query */
792
  $query = Mage::getModel('newsletter/subscriber')
793
  ->getCollection()
 
794
  ->addFieldToFilter('store_id', $storeId)
795
  ->getSelect();
796
 
799
  ->reset(Zend_Db_Select::FROM)
800
  ->reset(Zend_Db_Select::WHERE)
801
  ->from($this->getTable('newsletter_subscriber'), '')
 
802
  ->where($this->getTable('newsletter_subscriber') . '.store_id = ?', $storeId);
803
 
804
  if ($count) {
805
+ $query
806
+ ->reset(Zend_Db_Select::COLUMNS)
807
+ ->columns('COUNT(DISTINCT newsletter_subscriber.customer_id) as total');
808
  } else {
809
+ $query->columns('IF(newsletter_subscriber.customer_id=0, subscriber_email, newsletter_subscriber.customer_id) AS customer_id')->distinct();;
810
  }
811
  }
812
 
813
  if ($differential !== false) {
814
+
815
+ $date = new DateTime();
816
+ $date->setTimestamp($differential);
817
+
818
  if ($exportWithCustomer) {
819
+ $query->joinLeft($this->getTable('customer_address_entity'), 'subscriber_extract.customer_id = ' . $this->getTable('customer_address_entity') . '.parent_id', null);
820
+ $query->joinLeft($this->getTable('dolist_dolistv8_calculatedfields'), 'subscriber_extract.customer_id = ' . $this->getTable('dolist_dolistv8_calculatedfields') . '.customer_id', null);
821
+ $query->joinLeft($this->getTable('sales_flat_quote'), 'subscriber_extract.customer_id = ' . $this->getTable('sales_flat_quote') . '.customer_id', null);
822
+
823
+ $query->where(
824
+ $this->getTable('customer_entity') . '.updated_at >= \'' . $date->format('Y-m-d\TH:i:sP') . '\''
825
+ . ' OR ' . $this->getTable('customer_address_entity') . '.updated_at >= \'' . $date->format('Y-m-d\TH:i:sP') . '\''
826
+ . ' OR ' . $this->getTable('dolist_dolistv8_calculatedfields') . '.updated_at >= \'' . $date->format('Y-m-d\TH:i:sP') . '\''
827
+ . ' OR ' . $this->getTable('sales_flat_quote') . '.updated_at >= \'' . $date->format('Y-m-d\TH:i:sP') . '\''
828
+ . ' OR ' . $this->getTable('newsletter_subscriber') . '.updated_at >= ' . $differential
829
+ . ' OR ' . $this->getTable('newsletter_subscriber') . '_guest.updated_at >= ' . $differential
830
+ );
831
+ }
832
+ else {
833
+ $query->joinLeft($this->getTable('customer_entity'), 'newsletter_subscriber.customer_id = ' . $this->getTable('customer_entity') . '.entity_id', null);
834
+ $query->joinLeft($this->getTable('customer_address_entity'), 'newsletter_subscriber.customer_id = ' . $this->getTable('customer_address_entity') . '.parent_id', null);
835
+ $query->joinLeft($this->getTable('dolist_dolistv8_calculatedfields'), 'newsletter_subscriber.customer_id = ' . $this->getTable('dolist_dolistv8_calculatedfields') . '.customer_id', null);
836
+ $query->joinLeft($this->getTable('sales_flat_quote'), 'newsletter_subscriber.customer_id = ' . $this->getTable('sales_flat_quote') . '.customer_id', null);
837
+
838
+ $query->where(
839
+ $this->getTable('customer_entity') . '.updated_at >= \'' . $date->format('Y-m-d\TH:i:sP') . '\''
840
+ . ' OR ' . $this->getTable('customer_address_entity') . '.updated_at >= \'' . $date->format('Y-m-d\TH:i:sP') . '\''
841
+ . ' OR ' . $this->getTable('dolist_dolistv8_calculatedfields') . '.updated_at >= \'' . $date->format('Y-m-d\TH:i:sP') . '\''
842
+ . ' OR ' . $this->getTable('sales_flat_quote') . '.updated_at >= \'' . $date->format('Y-m-d\TH:i:sP') . '\''
843
+ . ' OR ' . $this->getTable('newsletter_subscriber') . '.updated_at >= ' . $differential
844
+ );
845
  }
846
+
847
  }
848
 
849
  $query->limitPage($startPagination, $exportPageSize);
app/code/community/Dolist/Net/etc/config.xml CHANGED
@@ -4,7 +4,7 @@
4
 
5
  <modules>
6
  <Dolist_Net>
7
- <version>2.0.0.7</version>
8
  </Dolist_Net>
9
  </modules>
10
 
4
 
5
  <modules>
6
  <Dolist_Net>
7
+ <version>2.0.0.8</version>
8
  </Dolist_Net>
9
  </modules>
10
 
package.xml CHANGED
@@ -1,5 +1,5 @@
1
  <?xml version='1.0' encoding='utf-8'?>
2
- <package><name>Dolist_Net</name><license uri="http://opensource.org/licenses/osl-3.0.php">OSL 3.0</license><notes>v2</notes><time>13:57:27</time><__packager>build_package.py v0.0.3</__packager><summary>Official extension for Dolist email marketing solution.</summary><stability>stable</stability><__commit_hash>e705dcaf98dc83be11b11be412f50a8d10ce7901</__commit_hash><version>2.0.0.7</version><extends /><contents><target name="mage"><dir name="shell"><file hash="9b10f919097a3abe18833961359449c4" name="dolist_export_segments.php" /></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file hash="9116ca5966c127c3a065d3ccf991f6dd" name="dolist.xml" /></dir><dir name="template"><dir name="dolist"><file hash="05db7ca8032551aea167c573c06d0287" name="configuration.phtml" /><file hash="468f46da25ee4c840098e0754299a9a1" name="customerexport.phtml" /><dir name="store"><file hash="4100093e08cf4ce57c317ee017cba630" name="switcher.phtml" /></dir><dir name="system"><dir name="config"><dir name="dolistemt"><file hash="ba10b87cd51fef3d88a0dcf747d8b8dc" name="testconnection.phtml" /></dir><dir name="dolistv8"><file hash="a9b57b458cb1dfb83f0f5061be82f9f9" name="array.phtml" /><file hash="5c89a07ee29d11640870592c2edfc114" name="testconnection.phtml" /></dir></dir></dir></dir></dir></dir></dir></dir></target><target name="magecommunity"><dir name="Dolist"><dir name="Net"><dir name="Block"><dir name="Adminhtml"><file hash="b5c65ae9b68d820870fb38e78e100265" name="Customerexport.php" /><file hash="fd8f4ad560d6777587a9ed90223c18c4" name="Edit.php" /><file hash="2e37abf70940f00b110279cef8b82280" name="Report.php" /><dir name="Customer"><file hash="8f6d9965be320c972d998f34171c4a5a" name="Edit.php" /></dir><dir name="Customersegment"><file hash="cf6a52e571dd475b96e93c00a8e2b5f0" name="Edit.php" /></dir><dir name="Edit"><file hash="057c9ee5853ea17801c990b42385fa5f" name="Form.php" /><file hash="45aba333e3e017601eff3a730e2991df" name="Tabs.php" /><dir name="Tab"><file hash="d93a56df1f7d60a8f4d275886f150ddf" name="Configuration.php" /><file hash="d1299519d583afd8b8afdad5ddafc326" name="Export.php" /><file hash="a55d01b5e4d114b20adef94f5dc503db" name="Report.php" /></dir></dir><dir name="System"><dir name="Config"><file hash="8393df0943d5575c31cb596c8d368ce6" name="Abstract.php" /><file hash="77b6b112b2492beb3dae124efe0b924a" name="Date.php" /><file hash="59fa9be3d71a648ab9d4dfe697d2e183" name="Enable.php" /><file hash="c62a40696ae0028b2908ed34768d8c2a" name="Switcher.php" /><file hash="883194919f569b7f49a12fd9d4f83082" name="Templatelist.php" /><dir name="Dolistemt"><file hash="9193591b22b093d9e5baaf83b0818ec8" name="Templatelist.php" /><file hash="4025ca1026614c48996c57112b25cf1c" name="Templatemapping.php" /><file hash="b95697d6fea9d16003f01b5a1f63db6a" name="Testconnection.php" /></dir><dir name="Dolistv8"><file hash="5be525c4398c036956d6489aa8fa582d" name="Attributelist.php" /><file hash="88336cf98961a1df4e23bf2de819c17d" name="Customdatefields.php" /><file hash="485252191fb609780609f7ec6b9d0fad" name="Customerattributelist.php" /><file hash="96a8428b3503291204d8922500e39210" name="Customintfields.php" /><file hash="2011749c69cae4968ded68dc4cce6945" name="Customstrfields.php" /><file hash="cb016b986834178808cad7dd9c8d96c2" name="Testconnection.php" /></dir></dir></dir></dir></dir><dir name="controllers"><dir name="Adminhtml"><file hash="651fed35ece40312ac21e2fb8efd1dea" name="CustomerdolistController.php" /><dir name="System"><dir name="Config"><file hash="9c42cecb347d4ffb4db54ee901345359" name="TestconnectionController.php" /></dir></dir></dir></dir><dir name="etc"><file hash="1f9d77e2b9f8e4b86f54f272eb213218" name="adminhtml.xml" /><file hash="3a7b19a76b041fe1fecaf3e56c55dc63" name="config.xml" /><file hash="f0d6b4651431d1d11532fe9402fc5003" name="system.xml" /></dir><dir name="Helper"><file hash="d7058bb7a3ae89c7a586d8b42ad64062" name="Data.php" /><file hash="1d28b2acc7b47c17bb17af60e60c891d" name="Log.php" /><file hash="46b027b6f19b5a4ba72e1e992ac95269" name="Queue.php" /></dir><dir name="Model"><file hash="61da7cc29853bb9ce85b0bb587545c99" name="Customersegment.php" /><file hash="84647426508242e63f12912bd49ce3be" name="Observer.php" /><file hash="5a820cdad6554553ba9ecc189862397e" name="Reports.php" /><file hash="0b383f9c0be8903d28b11f45cc643e1b" name="Service.php" /><dir name="Adminhtml"><file hash="8ff835df0881b386870fe52a116e10bb" name="Observer.php" /><dir name="System"><dir name="Config"><dir name="Backend"><dir name="Serialized"><file hash="ce8002b5ba1bd19901b5de4db7200672" name="Array.php" /></dir></dir><dir name="Source"><file hash="d594a5df0ec9c76ca0f55ac0c4422f56" name="Timeperiods.php" /></dir></dir></dir></dir><dir name="Dolistemt"><file hash="67917ea713604769bdc5e348d04830b4" name="Template.php" /><dir name="Email"><file hash="7e39b7cdc9a6f62c784937317d344d0b" name="Template.php" /></dir><dir name="Message"><file hash="3dd939ec132047606cc1f322677bcc1c" name="Queued.php" /></dir></dir><dir name="Dolistv8"><file hash="e627285fbd280f66ba8a286a666c289f" name="Calculatedfields.php" /><file hash="b1d4006ddf6c62b46bcadeb6a6b56fc0" name="Customfields.php" /><file hash="6a91b08ff749b635ffaff68a267cee53" name="Ftp.php" /></dir><dir name="Exporter"><file hash="35b7d1d7f6d5e49297be4e342c19d60a" name="Csv.php" /><dir name="Adapter"><file hash="c52f8d05c198b2ee691d25104aa191ca" name="Date.php" /><file hash="66b2ee18bdf3924011a068f936b8818a" name="Default.php" /><file hash="797f1a935a1f8e1a9ce213d6cf03c235" name="Int.php" /></dir></dir><dir name="Mysql4"><file hash="7a3a3de6ef2fd144c192ef60357e370f" name="Reports.php" /><dir name="Dolistemt"><file hash="f972ef82ba3003da8d849e60df044440" name="Template.php" /><dir name="Message"><file hash="466461ebec5e905d89659698a21ed0ed" name="Queued.php" /><dir name="Queued"><file hash="1b0ed0a91ecd7fb5941c694221d12578" name="Collection.php" /></dir></dir><dir name="Template"><file hash="7b845449076c1dfaee11a7b04cb50400" name="Collection.php" /></dir></dir><dir name="Dolistv8"><file hash="63e8d5f6589c8ffa587dbfdb6ad21027" name="Calculatedfields.php" /><file hash="0c66d48562faaa3641a190becc66f618" name="Customfields.php" /><dir name="Calculatedfields"><file hash="106dc6dd921c134378002992e4d94e08" name="Collection.php" /></dir><dir name="Customfields"><file hash="93a52bb46b05487e79471448b46ca51e" name="Collection.php" /></dir><dir name="Export"><dir name="Adapter"><file hash="08a870e9120893dfe74349313bbb0c75" name="Abstract.php" /><file hash="83d064b83909ac3a4421d474397b5029" name="Address1.php" /><file hash="b9dc124ff88ecbaa750e580f97b246f2" name="Address2.php" /><file hash="b87316bf23926e93485b6868323f88a4" name="Address3.php" /><file hash="75e243f2a3526955ea7d94cad4798ec2" name="City.php" /><file hash="b2372fe91c4a61bd81549fbee4722e85" name="Company.php" /><file hash="176e3a58ab1371ffd87a8dd41ff6231b" name="Country.php" /><file hash="a47e3ada99704b2cfebd7ed151d39762" name="Default.php" /><file hash="a96d9b7d0d6e810533df36901e0dc7ac" name="Fax.php" /><file hash="f044aed5b697abb4b5b7722307413fef" name="Phone.php" /><file hash="1a84be76756c8b6e550a683301bf455f" name="Postcode.php" /><dir name="Date"><file hash="c46a5408f7f314ff3a81c71af1fa15e2" name="Default.php" /><file hash="a48a0eed243297a43aa6461c1b5b6e03" name="Firstorder.php" /><file hash="05f3b71b731ef2705dbb6fa1368e896f" name="Lastorder.php" /><file hash="b05b9d4832f4d71b514cef3df5d2fffc" name="Lastquotenotordered.php" /></dir><dir name="Int"><file hash="ee37b3a560f78424f854a7b0ddfcb81a" name="Avgnbdifferentproductsperorder.php" /><file hash="99ed6713b29425a263f344605c30a92e" name="Avgnbdifferentproductsperorderline.php" /><file hash="4ced1dd88746fae3cc32d6c8f3305aec" name="Avgnbproductsperorder.php" /><file hash="cac637c6aa9c4e9b97c36727c9d7ecab" name="Avgorderamountexcltax.php" /><file hash="6573738e3dc12cbb2348633635c3f1fb" name="Avgorderamountincltax.php" /><file hash="89686b61f7e201bf64a26c91ff035a34" name="Firstorderamountexcltax.php" /><file hash="50f04945e8297134b6fde3c305ae4d0b" name="Firstorderamountincltax.php" /><file hash="93cd651cf1b246f8670604e1278b938d" name="Lastnotorderedcartamountexcltax.php" /><file hash="5ba8b21f31f42f72d017579313d7be02" name="Lastnotorderedcartamountincltax.php" /><file hash="60cb423f6ee43a558c6a1f376838701f" name="Lastorderamountexcltax.php" /><file hash="e59c163c0f82fe449ee6d4da5f3a02b9" name="Lastorderamountincltax.php" /><file hash="6adaf658e0cd36f0980344c727439d4c" name="Nbpromotionrulesused.php" /><file hash="f0c0d785e76069fd95095d33cd10f88f" name="Totalorderamountexcltax.php" /><file hash="0aca766b611a08ea57d01b8f8066e77f" name="Totalorderamountincltax.php" /><file hash="713e6a127000c24fa32edd98f3893e32" name="Totalorderedproducts.php" /><file hash="215bb7375fe16e53c4230659819c1e62" name="Totalorders.php" /></dir></dir></dir></dir><dir name="Reports"><file hash="3ec7cc4fd35c539db1411cbe0bf98a25" name="Collection.php" /></dir></dir><dir name="Service"><dir name="Dolistemt"><dir name="Request"><file hash="bfe76bef2f1301562f9003cacd82b5b1" name="Getauthenticationtoken.php" /><file hash="f08c835bbcb6ca69daf2bdeaaea28a4c" name="Gettemplatelist.php" /><file hash="06062e2ccf54c189874000d50d909de6" name="SendEmail.php" /></dir><dir name="Response"><file hash="387210c798ed818d410ac7a62a8f7a08" name="Getauthenticationtoken.php" /><file hash="ab3db8a6a1bc1e38dc163c28f64f9612" name="Gettemplatelist.php" /><file hash="45d3740fe05ecd90bf722b19725ad7d8" name="SendEmail.php" /></dir></dir><dir name="Dolistv8"><dir name="Request"><file hash="55a56a710b88398c99f1aaeb01816976" name="Createimport.php" /><file hash="af14961d044f007696452307b9f7a89e" name="Getauthenticationtoken.php" /><file hash="d085194dc5f599884969de6f5cc32f9d" name="Getcontact.php" /><file hash="d710c9e4d512a929e4aa2a0c32d1becc" name="Getfieldlist.php" /></dir><dir name="Response"><file hash="93e32967b4c1ba7ae0981023e49f9471" name="Createimport.php" /><file hash="5f14b532c12728495b6163092bce1003" name="Getauthenticationtoken.php" /><file hash="59c766c7fefe70fb1e18571f8904942a" name="Getcontact.php" /><file hash="1ab5aef6b09f671a382d5eef5a182bce" name="Getfieldlist.php" /></dir></dir><dir name="Message"><file hash="e10bee52c6cebf4ccd4c93a41afe5ae0" name="Abstract.php" /></dir></dir><dir name="System"><dir name="Config"><file hash="b64b291b560a8522094c203333cadae6" name="Check.php" /><dir name="Source"><file hash="3d7e993ac25b0ade883df78a9ef97b19" name="Group.php" /><dir name="Dolistemt"><file hash="de59edbfbae9db377ff561a49fcb8ff5" name="Defaulttemplate.php" /><file hash="6fe1abcf43f76468eaea0e3616584243" name="Errors.php" /><file hash="8debc19194b97203394b012b0258ac91" name="Template.php" /></dir><dir name="Dolistv8"><file hash="7bcd4cf17c51414df7c4633b6c89ddf2" name="Customerattributelist.php" /><file hash="10485fb8f6477d5a55c2b8ddcd4c9d02" name="Customfield.php" /></dir><dir name="Email"><file hash="e5af986543b65db2684e4a62a3967a89" name="Template.php" /></dir></dir></dir></dir></dir><dir name="sql"><dir name="dolist_setup"><file hash="dfd2ee346a310bb35daafbe68c4794a3" name="mysql4-install-0.0.1.0.php" /><file hash="f073c48493bc6a0b9a58faec608c870c" name="mysql4-upgrade-0.0.1.0-0.0.1.1.php" /><file hash="cd2920e566d6733b9688720416ed5211" name="mysql4-upgrade-0.0.1.1-0.0.2.0.php" /><file hash="33db9c1fa136d893692a73e1b670caff" name="mysql4-upgrade-0.0.2.0-0.0.3.0.php" /><file hash="8b8d0544161894ab0c9ae56a5d2cca8c" name="mysql4-upgrade-0.0.3.0-0.0.4.0.php" /><file hash="afc7e28dd865ab008376ab58453a3221" name="mysql4-upgrade-0.0.4.0-0.0.5.0.php" /><file hash="33f55ec12f8b0481320491bfb71da3b1" name="mysql4-upgrade-0.0.5.0-0.0.6.0.php" /><file hash="3b88e0c1e51137ebf1e3af199a4d59ab" name="mysql4-upgrade-2.0.0.6-2.0.0.7.php" /></dir></dir></dir></dir></target><target name="magelocale"><dir name="fr_FR"><file hash="fb0e33fdd1a7018e9cd00cb7ec2f8e73" name="Dolist_Net.csv" /></dir></target><target name="magelocal"><dir name="modules"><file hash="73c963262d3cb6831bf1240a165b215e" name="Dolist_Net.xml" /></dir></target></contents><dependencies><required><php><min>5.3.2</min><max>5.6.0</max></php></required></dependencies><authors><author><name>Dolist</name><user>Dolist</user><email>magento@dolist.net</email></author></authors><date>2015-08-26</date><compatibile /><channel>community</channel><description>&amp;lt;p&amp;gt;Take simultaneous advantage from both Magento's Community Edition or Enterprise
3
  Edition and Dolist's e-mail marketing platforms power. Dolist-V8 for e-mail marketing campaigns and
4
  Dolist-EMT for
5
  transactional messages in order to optimize both your prospects and customers relationship.&amp;lt;/p&amp;gt;&amp;#xD;
1
  <?xml version='1.0' encoding='utf-8'?>
2
+ <package><name>Dolist_Net</name><license uri="http://opensource.org/licenses/osl-3.0.php">OSL 3.0</license><notes>v2</notes><time>09:54:26</time><__packager>build_package.py v0.0.3</__packager><summary>Official extension for Dolist email marketing solution.</summary><stability>stable</stability><__commit_hash>5bcb3af4740a0da0e2cd50ca5605bab00785330c</__commit_hash><version>2.0.0.8</version><extends /><contents><target name="mage"><dir name="shell"><file hash="9b10f919097a3abe18833961359449c4" name="dolist_export_segments.php" /></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file hash="9116ca5966c127c3a065d3ccf991f6dd" name="dolist.xml" /></dir><dir name="template"><dir name="dolist"><file hash="05db7ca8032551aea167c573c06d0287" name="configuration.phtml" /><file hash="468f46da25ee4c840098e0754299a9a1" name="customerexport.phtml" /><dir name="store"><file hash="4100093e08cf4ce57c317ee017cba630" name="switcher.phtml" /></dir><dir name="system"><dir name="config"><dir name="dolistemt"><file hash="ba10b87cd51fef3d88a0dcf747d8b8dc" name="testconnection.phtml" /></dir><dir name="dolistv8"><file hash="a9b57b458cb1dfb83f0f5061be82f9f9" name="array.phtml" /><file hash="5c89a07ee29d11640870592c2edfc114" name="testconnection.phtml" /></dir></dir></dir></dir></dir></dir></dir></dir></target><target name="magecommunity"><dir name="Dolist"><dir name="Net"><dir name="Block"><dir name="Adminhtml"><file hash="b5c65ae9b68d820870fb38e78e100265" name="Customerexport.php" /><file hash="fd8f4ad560d6777587a9ed90223c18c4" name="Edit.php" /><file hash="2e37abf70940f00b110279cef8b82280" name="Report.php" /><dir name="Customer"><file hash="8f6d9965be320c972d998f34171c4a5a" name="Edit.php" /></dir><dir name="Customersegment"><file hash="cf6a52e571dd475b96e93c00a8e2b5f0" name="Edit.php" /></dir><dir name="Edit"><file hash="057c9ee5853ea17801c990b42385fa5f" name="Form.php" /><file hash="45aba333e3e017601eff3a730e2991df" name="Tabs.php" /><dir name="Tab"><file hash="d93a56df1f7d60a8f4d275886f150ddf" name="Configuration.php" /><file hash="d1299519d583afd8b8afdad5ddafc326" name="Export.php" /><file hash="a55d01b5e4d114b20adef94f5dc503db" name="Report.php" /></dir></dir><dir name="System"><dir name="Config"><file hash="8393df0943d5575c31cb596c8d368ce6" name="Abstract.php" /><file hash="77b6b112b2492beb3dae124efe0b924a" name="Date.php" /><file hash="59fa9be3d71a648ab9d4dfe697d2e183" name="Enable.php" /><file hash="c62a40696ae0028b2908ed34768d8c2a" name="Switcher.php" /><file hash="883194919f569b7f49a12fd9d4f83082" name="Templatelist.php" /><dir name="Dolistemt"><file hash="9193591b22b093d9e5baaf83b0818ec8" name="Templatelist.php" /><file hash="4025ca1026614c48996c57112b25cf1c" name="Templatemapping.php" /><file hash="b95697d6fea9d16003f01b5a1f63db6a" name="Testconnection.php" /></dir><dir name="Dolistv8"><file hash="5be525c4398c036956d6489aa8fa582d" name="Attributelist.php" /><file hash="88336cf98961a1df4e23bf2de819c17d" name="Customdatefields.php" /><file hash="485252191fb609780609f7ec6b9d0fad" name="Customerattributelist.php" /><file hash="96a8428b3503291204d8922500e39210" name="Customintfields.php" /><file hash="2011749c69cae4968ded68dc4cce6945" name="Customstrfields.php" /><file hash="cb016b986834178808cad7dd9c8d96c2" name="Testconnection.php" /></dir></dir></dir></dir></dir><dir name="controllers"><dir name="Adminhtml"><file hash="651fed35ece40312ac21e2fb8efd1dea" name="CustomerdolistController.php" /><dir name="System"><dir name="Config"><file hash="9c42cecb347d4ffb4db54ee901345359" name="TestconnectionController.php" /></dir></dir></dir></dir><dir name="etc"><file hash="1f9d77e2b9f8e4b86f54f272eb213218" name="adminhtml.xml" /><file hash="1515db7e52b1d6174cfcec5f867783cc" name="config.xml" /><file hash="f0d6b4651431d1d11532fe9402fc5003" name="system.xml" /></dir><dir name="Helper"><file hash="d7058bb7a3ae89c7a586d8b42ad64062" name="Data.php" /><file hash="1d28b2acc7b47c17bb17af60e60c891d" name="Log.php" /><file hash="46b027b6f19b5a4ba72e1e992ac95269" name="Queue.php" /></dir><dir name="Model"><file hash="61da7cc29853bb9ce85b0bb587545c99" name="Customersegment.php" /><file hash="84647426508242e63f12912bd49ce3be" name="Observer.php" /><file hash="5a820cdad6554553ba9ecc189862397e" name="Reports.php" /><file hash="82d5e0530ce00299650055c3f5b0bf63" name="Service.php" /><dir name="Adminhtml"><file hash="8ff835df0881b386870fe52a116e10bb" name="Observer.php" /><dir name="System"><dir name="Config"><dir name="Backend"><dir name="Serialized"><file hash="ce8002b5ba1bd19901b5de4db7200672" name="Array.php" /></dir></dir><dir name="Source"><file hash="d594a5df0ec9c76ca0f55ac0c4422f56" name="Timeperiods.php" /></dir></dir></dir></dir><dir name="Dolistemt"><file hash="67917ea713604769bdc5e348d04830b4" name="Template.php" /><dir name="Email"><file hash="7e39b7cdc9a6f62c784937317d344d0b" name="Template.php" /></dir><dir name="Message"><file hash="3dd939ec132047606cc1f322677bcc1c" name="Queued.php" /></dir></dir><dir name="Dolistv8"><file hash="a45ccd59e014474c4902742db468bdcc" name="Calculatedfields.php" /><file hash="b1d4006ddf6c62b46bcadeb6a6b56fc0" name="Customfields.php" /><file hash="6a91b08ff749b635ffaff68a267cee53" name="Ftp.php" /></dir><dir name="Exporter"><file hash="83168b8fa77083c3157af0ef50d78cf0" name="Csv.php" /><dir name="Adapter"><file hash="c52f8d05c198b2ee691d25104aa191ca" name="Date.php" /><file hash="66b2ee18bdf3924011a068f936b8818a" name="Default.php" /><file hash="797f1a935a1f8e1a9ce213d6cf03c235" name="Int.php" /></dir></dir><dir name="Mysql4"><file hash="7a3a3de6ef2fd144c192ef60357e370f" name="Reports.php" /><dir name="Dolistemt"><file hash="f972ef82ba3003da8d849e60df044440" name="Template.php" /><dir name="Message"><file hash="466461ebec5e905d89659698a21ed0ed" name="Queued.php" /><dir name="Queued"><file hash="1b0ed0a91ecd7fb5941c694221d12578" name="Collection.php" /></dir></dir><dir name="Template"><file hash="7b845449076c1dfaee11a7b04cb50400" name="Collection.php" /></dir></dir><dir name="Dolistv8"><file hash="69ccfc96fcdc3958b5cf09b4a68c4228" name="Calculatedfields.php" /><file hash="0c66d48562faaa3641a190becc66f618" name="Customfields.php" /><dir name="Calculatedfields"><file hash="106dc6dd921c134378002992e4d94e08" name="Collection.php" /></dir><dir name="Customfields"><file hash="93a52bb46b05487e79471448b46ca51e" name="Collection.php" /></dir><dir name="Export"><dir name="Adapter"><file hash="08a870e9120893dfe74349313bbb0c75" name="Abstract.php" /><file hash="83d064b83909ac3a4421d474397b5029" name="Address1.php" /><file hash="b9dc124ff88ecbaa750e580f97b246f2" name="Address2.php" /><file hash="b87316bf23926e93485b6868323f88a4" name="Address3.php" /><file hash="75e243f2a3526955ea7d94cad4798ec2" name="City.php" /><file hash="b2372fe91c4a61bd81549fbee4722e85" name="Company.php" /><file hash="176e3a58ab1371ffd87a8dd41ff6231b" name="Country.php" /><file hash="a47e3ada99704b2cfebd7ed151d39762" name="Default.php" /><file hash="a96d9b7d0d6e810533df36901e0dc7ac" name="Fax.php" /><file hash="f044aed5b697abb4b5b7722307413fef" name="Phone.php" /><file hash="1a84be76756c8b6e550a683301bf455f" name="Postcode.php" /><dir name="Date"><file hash="c46a5408f7f314ff3a81c71af1fa15e2" name="Default.php" /><file hash="a48a0eed243297a43aa6461c1b5b6e03" name="Firstorder.php" /><file hash="05f3b71b731ef2705dbb6fa1368e896f" name="Lastorder.php" /><file hash="b05b9d4832f4d71b514cef3df5d2fffc" name="Lastquotenotordered.php" /></dir><dir name="Int"><file hash="ee37b3a560f78424f854a7b0ddfcb81a" name="Avgnbdifferentproductsperorder.php" /><file hash="99ed6713b29425a263f344605c30a92e" name="Avgnbdifferentproductsperorderline.php" /><file hash="4ced1dd88746fae3cc32d6c8f3305aec" name="Avgnbproductsperorder.php" /><file hash="cac637c6aa9c4e9b97c36727c9d7ecab" name="Avgorderamountexcltax.php" /><file hash="6573738e3dc12cbb2348633635c3f1fb" name="Avgorderamountincltax.php" /><file hash="89686b61f7e201bf64a26c91ff035a34" name="Firstorderamountexcltax.php" /><file hash="50f04945e8297134b6fde3c305ae4d0b" name="Firstorderamountincltax.php" /><file hash="93cd651cf1b246f8670604e1278b938d" name="Lastnotorderedcartamountexcltax.php" /><file hash="5ba8b21f31f42f72d017579313d7be02" name="Lastnotorderedcartamountincltax.php" /><file hash="60cb423f6ee43a558c6a1f376838701f" name="Lastorderamountexcltax.php" /><file hash="e59c163c0f82fe449ee6d4da5f3a02b9" name="Lastorderamountincltax.php" /><file hash="6adaf658e0cd36f0980344c727439d4c" name="Nbpromotionrulesused.php" /><file hash="f0c0d785e76069fd95095d33cd10f88f" name="Totalorderamountexcltax.php" /><file hash="0aca766b611a08ea57d01b8f8066e77f" name="Totalorderamountincltax.php" /><file hash="713e6a127000c24fa32edd98f3893e32" name="Totalorderedproducts.php" /><file hash="215bb7375fe16e53c4230659819c1e62" name="Totalorders.php" /></dir></dir></dir></dir><dir name="Reports"><file hash="3ec7cc4fd35c539db1411cbe0bf98a25" name="Collection.php" /></dir></dir><dir name="Service"><dir name="Dolistemt"><dir name="Request"><file hash="bfe76bef2f1301562f9003cacd82b5b1" name="Getauthenticationtoken.php" /><file hash="f08c835bbcb6ca69daf2bdeaaea28a4c" name="Gettemplatelist.php" /><file hash="06062e2ccf54c189874000d50d909de6" name="SendEmail.php" /></dir><dir name="Response"><file hash="387210c798ed818d410ac7a62a8f7a08" name="Getauthenticationtoken.php" /><file hash="ab3db8a6a1bc1e38dc163c28f64f9612" name="Gettemplatelist.php" /><file hash="45d3740fe05ecd90bf722b19725ad7d8" name="SendEmail.php" /></dir></dir><dir name="Dolistv8"><dir name="Request"><file hash="55a56a710b88398c99f1aaeb01816976" name="Createimport.php" /><file hash="af14961d044f007696452307b9f7a89e" name="Getauthenticationtoken.php" /><file hash="d085194dc5f599884969de6f5cc32f9d" name="Getcontact.php" /><file hash="d710c9e4d512a929e4aa2a0c32d1becc" name="Getfieldlist.php" /></dir><dir name="Response"><file hash="93e32967b4c1ba7ae0981023e49f9471" name="Createimport.php" /><file hash="5f14b532c12728495b6163092bce1003" name="Getauthenticationtoken.php" /><file hash="59c766c7fefe70fb1e18571f8904942a" name="Getcontact.php" /><file hash="1ab5aef6b09f671a382d5eef5a182bce" name="Getfieldlist.php" /></dir></dir><dir name="Message"><file hash="e10bee52c6cebf4ccd4c93a41afe5ae0" name="Abstract.php" /></dir></dir><dir name="System"><dir name="Config"><file hash="b64b291b560a8522094c203333cadae6" name="Check.php" /><dir name="Source"><file hash="3d7e993ac25b0ade883df78a9ef97b19" name="Group.php" /><dir name="Dolistemt"><file hash="de59edbfbae9db377ff561a49fcb8ff5" name="Defaulttemplate.php" /><file hash="6fe1abcf43f76468eaea0e3616584243" name="Errors.php" /><file hash="8debc19194b97203394b012b0258ac91" name="Template.php" /></dir><dir name="Dolistv8"><file hash="7bcd4cf17c51414df7c4633b6c89ddf2" name="Customerattributelist.php" /><file hash="10485fb8f6477d5a55c2b8ddcd4c9d02" name="Customfield.php" /></dir><dir name="Email"><file hash="e5af986543b65db2684e4a62a3967a89" name="Template.php" /></dir></dir></dir></dir></dir><dir name="sql"><dir name="dolist_setup"><file hash="dfd2ee346a310bb35daafbe68c4794a3" name="mysql4-install-0.0.1.0.php" /><file hash="f073c48493bc6a0b9a58faec608c870c" name="mysql4-upgrade-0.0.1.0-0.0.1.1.php" /><file hash="cd2920e566d6733b9688720416ed5211" name="mysql4-upgrade-0.0.1.1-0.0.2.0.php" /><file hash="33db9c1fa136d893692a73e1b670caff" name="mysql4-upgrade-0.0.2.0-0.0.3.0.php" /><file hash="8b8d0544161894ab0c9ae56a5d2cca8c" name="mysql4-upgrade-0.0.3.0-0.0.4.0.php" /><file hash="afc7e28dd865ab008376ab58453a3221" name="mysql4-upgrade-0.0.4.0-0.0.5.0.php" /><file hash="33f55ec12f8b0481320491bfb71da3b1" name="mysql4-upgrade-0.0.5.0-0.0.6.0.php" /><file hash="3b88e0c1e51137ebf1e3af199a4d59ab" name="mysql4-upgrade-2.0.0.6-2.0.0.7.php" /></dir></dir></dir></dir></target><target name="magelocale"><dir name="fr_FR"><file hash="fb0e33fdd1a7018e9cd00cb7ec2f8e73" name="Dolist_Net.csv" /></dir></target><target name="magelocal"><dir name="modules"><file hash="73c963262d3cb6831bf1240a165b215e" name="Dolist_Net.xml" /></dir></target></contents><dependencies><required><php><min>5.3.2</min><max>5.6.0</max></php></required></dependencies><authors><author><name>Dolist</name><user>Dolist</user><email>magento@dolist.net</email></author></authors><date>2015-09-28</date><compatibile /><channel>community</channel><description>&amp;lt;p&amp;gt;Take simultaneous advantage from both Magento's Community Edition or Enterprise
3
  Edition and Dolist's e-mail marketing platforms power. Dolist-V8 for e-mail marketing campaigns and
4
  Dolist-EMT for
5
  transactional messages in order to optimize both your prospects and customers relationship.&amp;lt;/p&amp;gt;&amp;#xD;