BeezUP_Module_feed_and_tracker - Version 4.6.3

Version Notes

New features :
>Configurable feed load speed enhancement

Download this release

Release Info

Developer BeezUP
Extension BeezUP_Module_feed_and_tracker
Version 4.6.3
Comparing to
See all releases


Code changes from version 4.6.2 to 4.6.3

app/code/community/BeezUp/Block/Xml.php CHANGED
@@ -8,7 +8,7 @@
8
  **/
9
  public function getXml($paginate = false)
10
  {
11
-
12
  $base_url = Mage::getBaseUrl();
13
  /* Load Model and Helper */
14
  $beezup = Mage::getModel('beezup/products');
@@ -44,7 +44,7 @@
44
 
45
  $_attributes = $helper->getConfig('beezup/flux/attributes') ? explode(',', $helper->getConfig('beezup/flux/attributes')) : array();
46
  $_vat = ($_ht && is_numeric($helper->getConfig('beezup/flux/vat'))) ? (preg_replace('(\,+)', '.', $helper->getConfig('beezup/flux/vat')) / 100) + 1 : 1;
47
- // $_catalog_rules = $helper->getConfig('beezup/flux/catalog_rules');
48
  /* Build file */
49
  $xml = "\xEF\xBB\xBF";
50
  $xml .= '<?xml version="1.0" encoding="utf-8"?>' . PHP_EOL . '<catalog>' . PHP_EOL;
@@ -151,8 +151,14 @@
151
  $xml .= '</product>' . PHP_EOL;
152
  }
153
  }
154
- $xml .= $this->getAssociatedProducto(false);
155
-
 
 
 
 
 
 
156
 
157
  $xml .= '</catalog>';
158
 
@@ -196,7 +202,7 @@
196
  }
197
  $_attributes = $helper->getConfig('beezup/flux/attributes') ? explode(',', $helper->getConfig('beezup/flux/attributes')) : array();
198
  $_vat = ($_ht && is_numeric($helper->getConfig('beezup/flux/vat'))) ? (preg_replace('(\,+)', '.', $helper->getConfig('beezup/flux/vat')) / 100) + 1 : 1;
199
- // $_catalog_rules = $helper->getConfig('beezup/flux/catalog_rules');
200
 
201
  /* Build file */
202
  $xml = "\xEF\xBB\xBF";
@@ -204,10 +210,15 @@
204
 
205
  //r�cup�re tous les produits
206
  $products = $beezup->getProducts(false, $paginate);
207
- $childs = $beezup->getConfigurableProducts(true, $paginate);
208
  $backendModel = $products->getResource()->getAttribute('media_gallery')->getBackend();
209
  $products->addAttributeToFilter('type_id', Mage_Catalog_Model_Product_Type::TYPE_CONFIGURABLE);
210
 
 
 
 
 
 
211
  //parcours les produits
212
  foreach ($products as $p) {
213
 
@@ -280,30 +291,33 @@
280
  $xml .= $helper->tag($this->__('b_product_url'), $p->getProductUrl(), 1);
281
 
282
  $xml .= $helper->tag($this->__('url_image'), $helper->getImageDir() . $image, 1);
 
 
 
283
  if($many_images==1) {
284
-
285
- $product = Mage::getModel('catalog/product')->load( $c->getId());
286
  $inc = 1;
287
- foreach ($product->getMediaGalleryImages() as $img) {
288
- if( $helper->getImageDir() . $image !== $img->getUrl()) {
 
289
  $inc++;
290
- $xml .= $helper->tag($this->__('url_image')."_".$inc, $img->getUrl(), 1);
 
291
  }
292
-
293
  }
294
 
 
295
  if($inc==1 && ($c->getImage() == "no_selection" || $c->getImage()=="" || $c->getSmallImage() == "no_selection" || $c->getSmallImage() == "")) { //if there are no child pictures
296
 
297
- $product = Mage::getModel('catalog/product')->load( $p->getId());
298
- $inc = 1;
299
- foreach ($product->getMediaGalleryImages() as $img) {
300
- if( $helper->getImageDir() . $image !== $img->getUrl()) {
301
  $inc++;
302
- $xml .= $helper->tag($this->__('url_image')."_".$inc, $img->getUrl(), 1);
 
303
  }
304
  }
305
 
306
-
307
  }
308
  }
309
  $xml .= $helper->tag($this->__('b_availability'), $stock, 1);
@@ -408,497 +422,505 @@
408
  }
409
  }
410
  }
411
-
412
- $product_simple = $beezup->getProductsSimple($paginate);
413
- $backendModelSimple = $product_simple->getResource()->getAttribute('media_gallery')->getBackend();
414
- foreach ($product_simple as $p) {
415
-
416
- $prodAttributeSet = Mage::getModel('eav/entity_attribute_set')->load($p->getAttributeSetId())->getAttributeSetName();
417
-
418
- if($category_logic == 1) {
419
- $categories = $beezup->getProductsCategories($p, $_categories);
420
- } else {
421
 
422
- $categories = $beezup->getProductsCategories2($p, $_categories);
423
- }
424
-
425
- if (count($categories)) {
426
- $qty = $beezup->getQty($p->getId());
427
- $stock = $beezup->getIsInStock($qty);
428
- $shipping = $beezup->getDelivery($qty);
429
- $price = $p->getPrice();
430
- $final_price = $p->getFinalPrice();
431
- if (($image = $p->getImage()) == "no_selection" || ($image = $p->getImage()) == "") // Si on ne trouve pas d'image avec getImage on r�cup�re la smallImage
432
- $image = $p->getSmallImage();
433
-
434
-
435
- $xml .= '<product>';
436
- $xml .= $helper->tag($this->__('b_unique_id'), $p->getId());
437
- $xml .= $helper->tag($this->__('b_sku'), trim($p->getSku()), 1);
438
-
439
- $xml .= $helper->tag($this->__('parent_or_child'), 'simple', 1);
440
- $xml .= $helper->tag($this->__('parent_id'), '');
441
- $xml .= $helper->tag($this->__('variation-theme'), '', 1);
442
 
443
- $xml .= $helper->tag($this->__('b_title'), trim($p->getName()), 1);
444
- //$xml .= $helper->tag($this->__('b_description'), preg_replace("/(\r\n|\n|\r)/", ' ', strip_tags($p->getData($_description))), 1);
445
- foreach($_description as $desc) {
446
- if($enable_html == 1) {
447
- $xml .= $helper->tag($this->__('b_'.$desc), $p->getData($desc), 1);
448
- } else {
449
- $xml .= $helper->tag($this->__('b_'.$desc), preg_replace("/(\r\n|\n|\r)/", ' ', strip_tags($p->getData($desc))), 1);
450
- }
451
- }
452
- $xml .= $helper->tag($this->__('b_product_url'), $p->getProductUrl(), 1);
453
- $xml .= $helper->tag($this->__('url_image'), $helper->getImageDir() . $image, 1);
454
- if($many_images == 1) {
455
- $inc = 1;
456
- //we get product object from catalog/product reason(beezup/products gets products from catalog/product_collection, didn't find the way to get image collection from there *will check)
457
- //$product = Mage::getModel('catalog/product')->load( $p->getId());
458
- $backendModelSimple->afterLoad($p); //adding media gallery to the product object
459
- $datos = $p->getData();
460
- foreach ($datos['media_gallery']['images'] as $img) {
461
-
462
- if($img['disabled']==0 && $image !== $img['file']) {
463
- $inc++;
464
- $xml .= $helper->tag($this->__('url_image')."_".$inc, $helper->getImageDir() .$img['file'], 1);
465
-
466
- }
467
- }
468
-
469
- }
470
-
471
- $xml .= $helper->tag($this->__('b_availability'), $stock, 1);
472
- $xml .= $helper->tag($this->__('b_qty'), $qty);
473
- $xml .= $helper->tag($this->__('b_delivery'), $shipping, 1);
474
- if($shipping_logic == 1) {
475
- $shipping_rate = $beezup->_getShippingPrice($p, $shipping_carrier, $default_country);
476
- if($shipping_rate == 0 && $default_shipping_cost > 0) {
477
- $shipping_rate = $default_shipping_cost;
478
- }
479
- $xml .= $helper->tag($this->__('b_shipping'), $helper->currency($shipping_rate));
480
- } else {
481
- $xml .= $helper->tag($this->__('b_shipping'), $helper->currency($beezup->getShippingAmount($p->getWeight(), $_tablerates)));
482
- }
483
- $xml .= $helper->tag($this->__('b_weight'), $helper->currency($p->getWeight()));
484
- $xml .= $helper->tag($this->__('b_price'), $helper->currency($final_price*$_vat));
485
- if ($price != $final_price) $xml .= $helper->tag($this->__('b_regular_price'), $helper->currency($price*$_vat));
486
- $i = 1;
487
- foreach ($categories as $v) $xml .= $helper->tag($this->__('b_category_%s', $i++), $v, 1);
488
- foreach ($_attributes as $a) {
489
- $value = $p->getResource()->getAttribute($a)->getFrontend()->getValue($p);
490
- $xml .= $helper->tag($a, is_float($value) ? $helper->currency($value) : $value, is_float($value) ? 0 : 1);
491
- }
492
-
493
- $xml .= '</product>' . PHP_EOL;
494
- }
495
- //}
496
- }
497
- $xml .= $this->getAssociatedProducto(true);
498
- $xml .= '</catalog>';
499
-
500
- return $xml;
501
- }
502
-
503
-
504
- /**
505
- Children permet de r�cup�rer tous les produits enfants
506
- **/
507
- public function getXmlChild($paginate = false)
508
- {
509
- /* Load Model and Helper */
510
- $beezup = Mage::getModel('beezup/products');
511
- $helper = Mage::helper('beezup');
512
- $category_logic = $helper->getConfig('beezup/flux/category_logic');
513
- /* Initially load the useful elements */
514
- $shipping_logic = $helper->getConfig('beezup/flux/carrier_method');
515
- if($shipping_logic == 1) {
516
- $shipping_carrier = $helper->getConfig('beezup/flux/shipping_carrier');
517
- $default_country = $helper->getConfig('beezup/flux/default_country');
518
- }
519
- $default_shipping_cost = (int)$helper->getConfig('beezup/flux/default_shipping_cost');
520
- $many_images = $helper->getConfig('beezup/flux/images');
521
- $_ht = $helper->getConfig('beezup/flux/ht');
522
- $_description = $helper->getConfig('beezup/flux/description');
523
- $_description = explode(",", $_description);
524
- $enable_html = $helper->getConfig('beezup/flux/description_html');
525
- $_tablerates = 0;
526
- $cat_logic = false;
527
- if($category_logic == 1) {
528
- $_categories = $beezup->getCategoriesAsArray(Mage::helper('catalog/category')->getStoreCategories());
529
- } else {
530
- $cat_logic = true;
531
- $categories = Mage::getModel('catalog/category')->getCollection()
532
- ->addAttributeToSelect('*')//or you can just add some attributes
533
- ->addAttributeToFilter('level', 2)
534
- ->addAttributeToFilter('is_active', 1);
535
- $_categories = $beezup->getCategoriesAsArray( $categories, true);
536
-
537
- }
538
- $_attributes = $helper->getConfig('beezup/flux/attributes') ? explode(',', $helper->getConfig('beezup/flux/attributes')) : array();
539
- $_vat = ($_ht && is_numeric($helper->getConfig('beezup/flux/vat'))) ? (preg_replace('(\,+)', '.', $helper->getConfig('beezup/flux/vat')) / 100) + 1 : 1;
540
- // $_catalog_rules = $helper->getConfig('beezup/flux/catalog_rules');
541
-
542
- /* Build file */
543
- $xml = "\xEF\xBB\xBF";
544
- $xml .= '<?xml version="1.0" encoding="utf-8"?>' . PHP_EOL . '<catalog>' . PHP_EOL;
545
-
546
- $childs = $beezup->getConfigurableProducts(false, $paginate);
547
-
548
- foreach ($childs as $c) {
549
-
550
- //r�cup�rer l'image sur le p�re
551
- $productParentIds=Mage::getResourceSingleton('catalog/product_type_configurable')->getParentIdsByChild($c->getId());
552
- foreach($productParentIds as $productParentId){
553
- $productParent = Mage::getModel('catalog/product')->load($productParentId);
554
- $image=$productParent->getImage();
555
  if($category_logic == 1) {
556
  $categories = $beezup->getProductsCategories($p, $_categories);
557
  } else {
558
 
559
  $categories = $beezup->getProductsCategories2($p, $_categories);
560
  }
561
- $url = $productParent->getProductUrl();
562
- $name = $productParent->getName();
563
- $description_short = $productParent->getData("short_description");
564
- $description = $productParent->getData("description");
565
-
566
- }
567
-
568
- if(count($categories)){
569
- $qty = $beezup->getQty($c->getId());
570
- $stock = $beezup->getIsInStock($qty);
571
- $shipping = $beezup->getDelivery($qty);
572
- $price = $c->getPrice();
573
- $final_price = $c->getFinalPrice();
574
- $image = $this->fillImageUrl($productParent, $c);
575
-
576
- $xml .= '<product>';
577
- $xml .= $helper->tag($this->__('b_unique_id'), $c->getId());
578
- $xml .= $helper->tag($this->__('b_sku'), trim($c->getSku()), 1);
579
-
580
- $xml .= $helper->tag($this->__('parent_or_child'), 'child', 1);
581
- $xml .= $helper->tag($this->__('parent_id'), $c->getParentId());
582
-
583
- $xml .= $helper->tag($this->__('b_title'), trim($name), 1);
584
- //$xml .= $helper->tag($this->__('b_description'), preg_replace("/(\r\n|\n|\r)/", ' ', strip_tags($description)), 1);
585
- $xml .= $helper->tag($this->__('b_description_short'), $description_short, 1);
586
- $xml .= $helper->tag($this->__('b_description'), $description, 1);
587
- $xml .= $helper->tag($this->__('b_product_url'), $url, 1);
588
-
589
-
590
- $xml .= $helper->tag($this->__('url_image'), $helper->getImageDir() . $image, 1); //r�cup�re l'image sur le p�re
591
-
592
- if($many_images == 1) {
593
- $product = Mage::getModel('catalog/product')->load( $c->getId());
594
- $inc = 1;
595
- foreach ($product->getMediaGalleryImages() as $img) {
596
- if($helper->getImageDir() . $image!== $img->getUrl()) {
597
- $inc++;
598
- $xml .= $helper->tag($this->__('url_image')."_".$inc, $img->getUrl(), 1);
599
- }
600
- }
601
-
602
-
603
-
604
- }
605
-
606
- $xml .= $helper->tag($this->__('b_availability'), $stock, 1);
607
- $xml .= $helper->tag($this->__('b_qty'), $qty);
608
- $xml .= $helper->tag($this->__('b_delivery'), $shipping, 1);
609
- if($shipping_logic == 1) {
610
- $shipping_rate = $beezup->_getShippingPrice($c, $shipping_carrier, $default_country);
611
- if($shipping_rate == 0 && $default_shipping_cost > 0) {
612
- $shipping_rate = $default_shipping_cost;
613
- }
614
- $xml .= $helper->tag($this->__('b_shipping'), $helper->currency($shipping_rate));
615
- } else {
616
- $xml .= $helper->tag($this->__('b_shipping'), $helper->currency($beezup->getShippingAmount($c->getWeight(), $_tablerates)));
617
- }
618
-
619
- $xml .= $helper->tag($this->__('b_weight'), $helper->currency($c->getWeight()));
620
- $xml .= $helper->tag($this->__('b_price'), $helper->currency($final_price*$_vat));
621
- if ($price != $final_price) $xml .= $helper->tag($this->__('b_regular_price'), $helper->currency($price*$_vat));
622
- $i = 1;
623
- foreach ($categories as $v) $xml .= $helper->tag($this->__('b_category_%s', $i++), $v, 1);
624
- foreach ($_attributes as $a) {
625
- $value = $c->getResource()->getAttribute($a)->getFrontend()->getValue($c);
626
- $xml .= $helper->tag($a, is_float($value) ? $helper->currency($value) : $value, is_float($value) ? 0 : 1);
627
- }
628
-
629
- $xml .= '</product>' . PHP_EOL;
630
- }
631
- }
632
-
633
- $xml .= '</catalog>';
634
-
635
- return $xml;
636
- }
637
-
638
- /**
639
- Produit groupes
640
- **/
641
-
642
- public function getAssociatedProducto($configurable)
643
- {
644
-
645
- /* Load Model and Helper */
646
- $beezup = Mage::getModel('beezup/products');
647
- $helper = Mage::helper('beezup');
648
- $category_logic = $helper->getConfig('beezup/flux/category_logic');
649
- /* Initially load the useful elements */
650
- $shipping_logic = $helper->getConfig('beezup/flux/carrier_method');
651
- if($shipping_logic == 1) {
652
- $shipping_carrier = $helper->getConfig('beezup/flux/shipping_carrier');
653
- $default_country = $helper->getConfig('beezup/flux/default_country');
654
- }
655
-
656
- $default_shipping_cost = (int)$helper->getConfig('beezup/flux/default_shipping_cost');
657
- $many_images = $helper->getConfig('beezup/flux/images');
658
- $_ht = $helper->getConfig('beezup/flux/ht');
659
- $_description = $helper->getConfig('beezup/flux/description');
660
- $_description = explode(",", $_description);
661
- $enable_html = $helper->getConfig('beezup/flux/description_html');
662
- $_tablerates = 0;
663
- $cat_logic = false;
664
-
665
- $_categories = $beezup->getCategoriesAsArray(Mage::helper('catalog/category')->getStoreCategories());
666
-
667
-
668
- $_vat = ($_ht && is_numeric($helper->getConfig('beezup/flux/vat'))) ? (preg_replace('(\,+)', '.', $helper->getConfig('beezup/flux/vat')) / 100) + 1 : 1;
669
- $_attributes = $helper->getConfig('beezup/flux/attributes') ? explode(',', $helper->getConfig('beezup/flux/attributes')) : array();
670
- // $_catalog_rules = $helper->getConfig('beezup/flux/catalog_rules');
671
-
672
- $products = $beezup->getGroupedProduct();
673
-
674
- $buf = "\xEF\xBB\xBF";
675
- foreach ($products as $product) {
676
- $associatedProducts = $product->getTypeInstance(true)->getAssociatedProducts($product);
677
-
678
- $parentCategories = $beezup->getProductsCategories($product, $_categories);
679
- $parentDesc = $product->getData($_description);
680
- $parentId = $product->getId();
681
- $parentImage = $product->getImage();
682
- $parentUrl = $product->getProductUrl();
683
-
684
- foreach ($associatedProducts as $g) {
685
- $qty = $beezup->getQty($g->getId());
686
- $stock = $beezup->getIsInStock($qty);
687
- $shipping = $beezup->getDelivery($qty);
688
- $price = $g->getPrice();
689
- $final_price = $g->getFinalPrice();
690
-
691
- $image = $this->fillImageUrl($product, $g);
692
-
693
 
694
- //if (($image = $g->getImage()) == "no_selection" || ($image = $g->getImage()) == "") // Si on ne trouve pas d'image avec getImage on r�cup�re la smallImage
695
- // $image = $g->getSmallImage();
696
-
697
-
698
- //DBG
699
- if (0)
700
- {
701
- echo "----------------------------" ."<br/>";
702
- echo "Name : " .$g->getName() ."<br/>";
703
- echo "Description : ".$parentDesc ."<br/>";
704
- echo "Id : " .$g->getId() ."<br/>";
705
- echo "Parent Id : " .$parentId ."<br/>";
706
- echo "Url : " .$parentUrl ."<br/>";
707
- echo "Image : " .$helper->getImageDir().$image ."<br/>";
708
-
709
 
710
- echo "SKU : " .$g->getSku() ."<br/>";
711
- echo "Quantity : " .$qty ."<br/>";
712
- echo "Stock : " .$stock ."<br/>";
713
- echo "Shipping : " .$shipping ."<br/>";
714
- echo "price : " .$price ."<br/>";
715
- echo "finalprice : ".$final_price ."<br/>";
716
- echo "weight : " .$g->getWeight() ."<br/>";
717
 
718
- $i = 1;
719
- foreach ($parentCategories as $v)
720
- echo "Cat�gorie ".$i." : ".$v."<br/>";
721
- }
722
-
723
-
724
- $buf .= "<product>";
725
- $buf .= $helper->tag($this->__('b_unique_id'), $g->getId());
726
- $buf .= $helper->tag($this->__('b_sku'), trim($g->getSku()), 1);
727
- if ($configurable){
728
- $buf .= $helper->tag($this->__('parent_or_child'), 'grouped_child', 1);
729
- $buf .= $helper->tag($this->__('parent_id'), $parentId);
730
- }
731
- $buf .= $helper->tag($this->__('b_title'), $g->getName()/*trim($name)*/, 1);
732
- $buf .= $helper->tag($this->__('b_description'), preg_replace("/(\r\n|\n|\r)/", ' ', strip_tags($parentDesc)), 1);
733
- $buf .= $helper->tag($this->__('b_product_url'), $parentUrl, 1);
734
-
735
- /*
736
- if($many_images==1) {
737
 
738
- $gprod = Mage::getModel('catalog/product')->load( $g->getId());
739
- $inc = 0;
740
- foreach ($gprod->getMediaGalleryImages() as $image) {
741
- $inc++;
742
- if($inc==1) {
743
- $buf .= $helper->tag($this->__('url_image'), $image->getUrl(), 1);
744
- } else {
745
- $buf .= $helper->tag($this->__('url_image')."_".$inc, $image->getUrl(), 1);
746
- }
747
- }
748
- } else {
749
 
750
- $buf .= $helper->tag($this->__('url_image'), $helper->getImageDir() . $image, 1);
751
- }*/
752
-
753
- $buf .= $helper->tag($this->__('b_product_image'), $helper->getImageDir() . $image, 1); //r�cup�re l'image sur le p�re
754
- $buf .= $helper->tag($this->__('b_availability'), $stock, 1);
755
- $buf .= $helper->tag($this->__('b_qty'), $qty);
756
- $buf .= $helper->tag($this->__('b_delivery'), $shipping, 1);
757
- if($shipping_logic == 1) {
758
- if($shipping_rate == 0 && $default_shipping_cost > 0) {
759
- $shipping_rate = $default_shipping_cost;
760
  }
761
- $shipping_rate = $beezup->_getShippingPrice($g, $shipping_carrier, $default_country);
762
- $xml .= $helper->tag($this->__('b_shipping'), $helper->currency($shipping_rate));
763
- } else {
764
- $xml .= $helper->tag($this->__('b_shipping'), $helper->currency($beezup->getShippingAmount($g->getWeight(), $_tablerates)));
765
- }
766
-
767
- $buf .= $helper->tag($this->__('b_weight'), $helper->currency($g->getWeight()));
768
- $buf .= $helper->tag($this->__('b_price'), $helper->currency($final_price * $_vat));
769
- if ($price != $final_price) $buf .= $helper->tag($this->__('b_regular_price'), $helper->currency($price*$_vat));
770
- $i = 1;
771
- foreach ($parentCategories as $v) $buf .= $helper->tag($this->__('b_category_%s', $i++), $v, 1);
772
- foreach ($_attributes as $a) {
773
- $value = $g->getResource()->getAttribute($a)->getFrontend()->getValue($g);
774
- $buf .= $helper->tag($a, is_float($value) ? $helper->currency($value) : $value, is_float($value) ? 0 : 1);
775
- }
776
- $buf .= "</product>".PHP_EOL;
777
- }
778
- }
779
- return $buf;
780
- }
781
-
782
-
783
- protected function fillImageUrl($p, $c)
784
- {
785
- $image = $c->getImage();
786
- if ($image == "no_selection" || $image == "") // Si on ne trouve pas d'image avec getImage on r�cup�re la smallImage
787
- {
788
- $image = $c->getSmallImage();
789
- if ($image == "no_selection" || $image == "")
790
- {
791
- $image = $p->getImage();
792
- if ($image == "no_selection" || $image == "")
793
- $image = $p->getSmallImage();
794
- }
795
- }
796
- return ($image);
797
- }
798
-
799
- protected function createFile($type, $xmlData)
800
- {
801
- $fp = fopen(Mage::getBaseDir('base').'/beezup/tmp/'.$type, 'w');
802
- if ($fp == false)
803
- {
804
- echo 'Fail to create file';
805
- }
806
- fwrite($fp, $xmlData);
807
- fclose($fp);
808
- }
809
-
810
- protected function deleteFeed($type)
811
- {
812
- unlink(Mage::getBaseDir('base').'/beezup/tmp/'.$type);
813
- }
814
-
815
- protected function needRefreshing($type)
816
- {
817
- $helper = Mage::helper('beezup');
818
-
819
- $delay = $helper->getConfig('beezup/flux/cachedelay') * 60;
820
- $nowtime = time();
821
- $fileTime = filemtime(Mage::getBaseDir('base').'/beezup/tmp/'.$type);
822
- if (($nowtime - $fileTime) >= $delay)
823
- return (true);
824
- else
825
- return (false);
826
- }
827
-
828
- protected function createFolder()
829
- {
830
- $helper = Mage::helper('beezup');
831
- if (!$helper->getConfig('beezup/flux/cachedelay')) // Si option cache desactiv�e, pas besoin du dossier
832
- return (true);
833
- if (file_exists('beezup/tmp')) // Si le dossier existe deja, pas besoin de le recr�er
834
- return (true);
835
- if (!mkdir('beezup/tmp', 0777, true))
836
- {
837
- echo "[ERROR] : Seems we can't create 'beezup' directory inside your root directory."."<br/>"
838
- ."You can try one of these solutions :"."<br/>"
839
- ."1 - Create by yourself the beezup/tmp inside your root directory with 777 permissions"."<br/>"
840
- ."2 - Change the permissions on your root directory (777)"."<br/>"
841
- ."3 - Change the 'cache delay' option to 'None' inside beezup plugin settings"."<br/>";
842
- return (false);
843
- }
844
- return (true);
845
- }
846
-
847
-
848
-
849
- /**
850
- C'est ici que tout commence ...
851
- **/
852
-
853
- protected function _toHtml()
854
- {
855
- set_time_limit(0);
856
- $helper = Mage::helper('beezup');
857
- $this->setCacheLifetime(null);
858
- //dbg
859
- /*
860
- $this->getAssociatedProducto(true);
861
- return;*/
862
- $paginate = $this->getPagination();
863
- if (!$this->createFolder()) // Si on rencontre des probl�mes de cr�ation de dossier on retourne rien
864
- return;
865
- if ($this->getConfigurable()){ // Appel de l'url http://site.com/beezup/catalog/configurable
866
- if ($this->needRefreshing('configurable')){
867
- if (file_exists('beezup/tmp/configurable'))
868
- $this->deleteFeed('configurable');
869
- $xmlData = $this->getXmlConfigurable($paginate);
870
- $this->addText($xmlData);
871
- if ($helper->getConfig('beezup/flux/cachedelay') != 0)
872
- $this->createFile('configurable', $xmlData);
873
- }
874
- else
875
- echo file_get_contents('beezup/tmp/configurable');
876
- }
877
- else if ($this->getChildXML()){ // Appel de l'url http://site.com/beezup/catalog/child
878
- if ($this->needRefreshing('child')){
879
- if (file_exists('beezup/tmp/child'))
880
- $this->deleteFeed('child');
881
- $xmlData = $this->getXmlChild($paginate);
882
- $this->addText($xmlData);
883
- if ($helper->getConfig('beezup/flux/cachedelay') != 0)
884
- $this->createFile('child', $xmlData);
885
- }
886
- else
887
- echo file_get_contents('beezup/tmp/child');
888
- }
889
- else { // Appel de l'url http://site.com/beezup/catalog/xml
890
- if ($this->needRefreshing('xml')){
891
- if (file_exists('beezup/tmp/xml'))
892
- $this->deleteFeed('xml');
893
- $xmlData = $this->getXml($paginate);
894
- $this->addText($xmlData);
895
- if ($helper->getConfig('beezup/flux/cachedelay') != 0)
896
- $this->createFile('xml', $xmlData);
897
- }
898
- else
899
- echo file_get_contents('beezup/tmp/xml');
900
- }
901
- return parent::_toHtml();
902
- }
903
- }
904
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8
  **/
9
  public function getXml($paginate = false)
10
  {
11
+
12
  $base_url = Mage::getBaseUrl();
13
  /* Load Model and Helper */
14
  $beezup = Mage::getModel('beezup/products');
44
 
45
  $_attributes = $helper->getConfig('beezup/flux/attributes') ? explode(',', $helper->getConfig('beezup/flux/attributes')) : array();
46
  $_vat = ($_ht && is_numeric($helper->getConfig('beezup/flux/vat'))) ? (preg_replace('(\,+)', '.', $helper->getConfig('beezup/flux/vat')) / 100) + 1 : 1;
47
+ // $_catalog_rules = $helper->getConfig('beezup/flux/catalog_rules');
48
  /* Build file */
49
  $xml = "\xEF\xBB\xBF";
50
  $xml .= '<?xml version="1.0" encoding="utf-8"?>' . PHP_EOL . '<catalog>' . PHP_EOL;
151
  $xml .= '</product>' . PHP_EOL;
152
  }
153
  }
154
+ if(isset($paginate['page'])) {
155
+ if($paginate['page'] == 1) {
156
+ $xml .= $this->getAssociatedProducto(false);
157
+ }
158
+
159
+ } else {
160
+ $xml .= $this->getAssociatedProducto(false);
161
+ }
162
 
163
  $xml .= '</catalog>';
164
 
202
  }
203
  $_attributes = $helper->getConfig('beezup/flux/attributes') ? explode(',', $helper->getConfig('beezup/flux/attributes')) : array();
204
  $_vat = ($_ht && is_numeric($helper->getConfig('beezup/flux/vat'))) ? (preg_replace('(\,+)', '.', $helper->getConfig('beezup/flux/vat')) / 100) + 1 : 1;
205
+ // $_catalog_rules = $helper->getConfig('beezup/flux/catalog_rules');
206
 
207
  /* Build file */
208
  $xml = "\xEF\xBB\xBF";
210
 
211
  //r�cup�re tous les produits
212
  $products = $beezup->getProducts(false, $paginate);
213
+ $childs = $beezup->getConfigurableProducts(true);
214
  $backendModel = $products->getResource()->getAttribute('media_gallery')->getBackend();
215
  $products->addAttributeToFilter('type_id', Mage_Catalog_Model_Product_Type::TYPE_CONFIGURABLE);
216
 
217
+
218
+ $mediaBackend = Mage::getModel('catalog/product_attribute_backend_media');
219
+ $mediaGalleryAttribute = Mage::getModel('eav/config')->getAttribute(Mage::getModel('catalog/product')->getResource()->getTypeId(), 'media_gallery');
220
+ $mediaBackend->setAttribute($mediaGalleryAttribute);
221
+
222
  //parcours les produits
223
  foreach ($products as $p) {
224
 
291
  $xml .= $helper->tag($this->__('b_product_url'), $p->getProductUrl(), 1);
292
 
293
  $xml .= $helper->tag($this->__('url_image'), $helper->getImageDir() . $image, 1);
294
+ $mediaBackend->afterLoad($c);
295
+
296
+
297
  if($many_images==1) {
298
+ $cDatos = $c->getData();
 
299
  $inc = 1;
300
+ foreach ($cDatos['media_gallery']['images'] as $img) {
301
+
302
+ if($img['disabled']==0 && $image !== $img['file']) {
303
  $inc++;
304
+ $xml .= $helper->tag($this->__('url_image')."_".$inc, $helper->getImageDir() .$img['file'], 1);
305
+
306
  }
 
307
  }
308
 
309
+
310
  if($inc==1 && ($c->getImage() == "no_selection" || $c->getImage()=="" || $c->getSmallImage() == "no_selection" || $c->getSmallImage() == "")) { //if there are no child pictures
311
 
312
+ foreach ($datos['media_gallery']['images'] as $img) {
313
+
314
+ if($img['disabled']==0 && $image !== $img['file']) {
 
315
  $inc++;
316
+ $xml .= $helper->tag($this->__('url_image')."_".$inc, $helper->getImageDir() .$img['file'], 1);
317
+
318
  }
319
  }
320
 
 
321
  }
322
  }
323
  $xml .= $helper->tag($this->__('b_availability'), $stock, 1);
422
  }
423
  }
424
  }
425
+ if($paginate == false || (isset($paginate['page']) && $paginate['page'] == 1)) {
426
+ $product_simple = $beezup->getProductsSimple();
427
+ $backendModelSimple = $product_simple->getResource()->getAttribute('media_gallery')->getBackend();
428
+ foreach ($product_simple as $p) {
 
 
 
 
 
 
429
 
430
+ $prodAttributeSet = Mage::getModel('eav/entity_attribute_set')->load($p->getAttributeSetId())->getAttributeSetName();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
431
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
432
  if($category_logic == 1) {
433
  $categories = $beezup->getProductsCategories($p, $_categories);
434
  } else {
435
 
436
  $categories = $beezup->getProductsCategories2($p, $_categories);
437
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
438
 
439
+ if (count($categories)) {
440
+ $qty = $beezup->getQty($p->getId());
441
+ $stock = $beezup->getIsInStock($qty);
442
+ $shipping = $beezup->getDelivery($qty);
443
+ $price = $p->getPrice();
444
+ $final_price = $p->getFinalPrice();
445
+ if (($image = $p->getImage()) == "no_selection" || ($image = $p->getImage()) == "") // Si on ne trouve pas d'image avec getImage on r�cup�re la smallImage
446
+ $image = $p->getSmallImage();
 
 
 
 
 
 
 
447
 
 
 
 
 
 
 
 
448
 
449
+ $xml .= '<product>';
450
+ $xml .= $helper->tag($this->__('b_unique_id'), $p->getId());
451
+ $xml .= $helper->tag($this->__('b_sku'), trim($p->getSku()), 1);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
452
 
453
+ $xml .= $helper->tag($this->__('parent_or_child'), 'simple', 1);
454
+ $xml .= $helper->tag($this->__('parent_id'), '');
455
+ $xml .= $helper->tag($this->__('variation-theme'), '', 1);
 
 
 
 
 
 
 
 
456
 
457
+ $xml .= $helper->tag($this->__('b_title'), trim($p->getName()), 1);
458
+ //$xml .= $helper->tag($this->__('b_description'), preg_replace("/(\r\n|\n|\r)/", ' ', strip_tags($p->getData($_description))), 1);
459
+ foreach($_description as $desc) {
460
+ if($enable_html == 1) {
461
+ $xml .= $helper->tag($this->__('b_'.$desc), $p->getData($desc), 1);
462
+ } else {
463
+ $xml .= $helper->tag($this->__('b_'.$desc), preg_replace("/(\r\n|\n|\r)/", ' ', strip_tags($p->getData($desc))), 1);
464
+ }
 
 
465
  }
466
+ $xml .= $helper->tag($this->__('b_product_url'), $p->getProductUrl(), 1);
467
+ $xml .= $helper->tag($this->__('url_image'), $helper->getImageDir() . $image, 1);
468
+ if($many_images == 1) {
469
+ $inc = 1;
470
+ //we get product object from catalog/product reason(beezup/products gets products from catalog/product_collection, didn't find the way to get image collection from there *will check)
471
+ //$product = Mage::getModel('catalog/product')->load( $p->getId());
472
+ $backendModelSimple->afterLoad($p); //adding media gallery to the product object
473
+ $datos = $p->getData();
474
+ foreach ($datos['media_gallery']['images'] as $img) {
475
+
476
+ if($img['disabled']==0 && $image !== $img['file']) {
477
+ $inc++;
478
+ $xml .= $helper->tag($this->__('url_image')."_".$inc, $helper->getImageDir() .$img['file'], 1);
479
+
480
+ }
481
+ }
482
+
483
+ }
484
+
485
+ $xml .= $helper->tag($this->__('b_availability'), $stock, 1);
486
+ $xml .= $helper->tag($this->__('b_qty'), $qty);
487
+ $xml .= $helper->tag($this->__('b_delivery'), $shipping, 1);
488
+ if($shipping_logic == 1) {
489
+ $shipping_rate = $beezup->_getShippingPrice($p, $shipping_carrier, $default_country);
490
+ if($shipping_rate == 0 && $default_shipping_cost > 0) {
491
+ $shipping_rate = $default_shipping_cost;
492
+ }
493
+ $xml .= $helper->tag($this->__('b_shipping'), $helper->currency($shipping_rate));
494
+ } else {
495
+ $xml .= $helper->tag($this->__('b_shipping'), $helper->currency($beezup->getShippingAmount($p->getWeight(), $_tablerates)));
496
+ }
497
+ $xml .= $helper->tag($this->__('b_weight'), $helper->currency($p->getWeight()));
498
+ $xml .= $helper->tag($this->__('b_price'), $helper->currency($final_price*$_vat));
499
+ if ($price != $final_price) $xml .= $helper->tag($this->__('b_regular_price'), $helper->currency($price*$_vat));
500
+ $i = 1;
501
+ foreach ($categories as $v) $xml .= $helper->tag($this->__('b_category_%s', $i++), $v, 1);
502
+ foreach ($_attributes as $a) {
503
+ $value = $p->getResource()->getAttribute($a)->getFrontend()->getValue($p);
504
+ $xml .= $helper->tag($a, is_float($value) ? $helper->currency($value) : $value, is_float($value) ? 0 : 1);
505
+ }
506
+
507
+ $xml .= '</product>' . PHP_EOL;
508
+ }
509
+ }
510
+ //}
511
+ }
512
+ if(isset($paginate['page'])) {
513
+ if($paginate['page'] == 1) {
514
+ $xml .= $this->getAssociatedProducto(true);
515
+ }
516
+
517
+ } else {
518
+ $xml .= $this->getAssociatedProducto(true);
519
+ }
520
+ $xml .= '</catalog>';
521
+
522
+ return $xml;
523
+ }
524
+
525
+
526
+ /**
527
+ Children permet de r�cup�rer tous les produits enfants
528
+ **/
529
+ public function getXmlChild($paginate = false)
530
+ {
531
+ /* Load Model and Helper */
532
+ $beezup = Mage::getModel('beezup/products');
533
+ $helper = Mage::helper('beezup');
534
+ $category_logic = $helper->getConfig('beezup/flux/category_logic');
535
+ /* Initially load the useful elements */
536
+ $shipping_logic = $helper->getConfig('beezup/flux/carrier_method');
537
+ if($shipping_logic == 1) {
538
+ $shipping_carrier = $helper->getConfig('beezup/flux/shipping_carrier');
539
+ $default_country = $helper->getConfig('beezup/flux/default_country');
540
+ }
541
+ $default_shipping_cost = (int)$helper->getConfig('beezup/flux/default_shipping_cost');
542
+ $many_images = $helper->getConfig('beezup/flux/images');
543
+ $_ht = $helper->getConfig('beezup/flux/ht');
544
+ $_description = $helper->getConfig('beezup/flux/description');
545
+ $_description = explode(",", $_description);
546
+ $enable_html = $helper->getConfig('beezup/flux/description_html');
547
+ $_tablerates = 0;
548
+ $cat_logic = false;
549
+ if($category_logic == 1) {
550
+ $_categories = $beezup->getCategoriesAsArray(Mage::helper('catalog/category')->getStoreCategories());
551
+ } else {
552
+ $cat_logic = true;
553
+ $categories = Mage::getModel('catalog/category')->getCollection()
554
+ ->addAttributeToSelect('*')//or you can just add some attributes
555
+ ->addAttributeToFilter('level', 2)
556
+ ->addAttributeToFilter('is_active', 1);
557
+ $_categories = $beezup->getCategoriesAsArray( $categories, true);
558
+
559
+ }
560
+ $_attributes = $helper->getConfig('beezup/flux/attributes') ? explode(',', $helper->getConfig('beezup/flux/attributes')) : array();
561
+ $_vat = ($_ht && is_numeric($helper->getConfig('beezup/flux/vat'))) ? (preg_replace('(\,+)', '.', $helper->getConfig('beezup/flux/vat')) / 100) + 1 : 1;
562
+ // $_catalog_rules = $helper->getConfig('beezup/flux/catalog_rules');
563
+
564
+ /* Build file */
565
+ $xml = "\xEF\xBB\xBF";
566
+ $xml .= '<?xml version="1.0" encoding="utf-8"?>' . PHP_EOL . '<catalog>' . PHP_EOL;
567
+
568
+ $childs = $beezup->getConfigurableProducts(false, $paginate);
569
+
570
+ foreach ($childs as $c) {
571
+
572
+ //r�cup�rer l'image sur le p�re
573
+ $productParentIds=Mage::getResourceSingleton('catalog/product_type_configurable')->getParentIdsByChild($c->getId());
574
+ foreach($productParentIds as $productParentId){
575
+ $productParent = Mage::getModel('catalog/product')->load($productParentId);
576
+ $image=$productParent->getImage();
577
+ if($category_logic == 1) {
578
+ $categories = $beezup->getProductsCategories($p, $_categories);
579
+ } else {
580
+
581
+ $categories = $beezup->getProductsCategories2($p, $_categories);
582
+ }
583
+ $url = $productParent->getProductUrl();
584
+ $name = $productParent->getName();
585
+ $description_short = $productParent->getData("short_description");
586
+ $description = $productParent->getData("description");
587
+
588
+ }
589
+
590
+ if(count($categories)){
591
+ $qty = $beezup->getQty($c->getId());
592
+ $stock = $beezup->getIsInStock($qty);
593
+ $shipping = $beezup->getDelivery($qty);
594
+ $price = $c->getPrice();
595
+ $final_price = $c->getFinalPrice();
596
+ $image = $this->fillImageUrl($productParent, $c);
597
+
598
+ $xml .= '<product>';
599
+ $xml .= $helper->tag($this->__('b_unique_id'), $c->getId());
600
+ $xml .= $helper->tag($this->__('b_sku'), trim($c->getSku()), 1);
601
+
602
+ $xml .= $helper->tag($this->__('parent_or_child'), 'child', 1);
603
+ $xml .= $helper->tag($this->__('parent_id'), $c->getParentId());
604
+
605
+ $xml .= $helper->tag($this->__('b_title'), trim($name), 1);
606
+ //$xml .= $helper->tag($this->__('b_description'), preg_replace("/(\r\n|\n|\r)/", ' ', strip_tags($description)), 1);
607
+ $xml .= $helper->tag($this->__('b_description_short'), $description_short, 1);
608
+ $xml .= $helper->tag($this->__('b_description'), $description, 1);
609
+ $xml .= $helper->tag($this->__('b_product_url'), $url, 1);
610
+
611
+
612
+ $xml .= $helper->tag($this->__('url_image'), $helper->getImageDir() . $image, 1); //r�cup�re l'image sur le p�re
613
+
614
+ if($many_images == 1) {
615
+ $product = Mage::getModel('catalog/product')->load( $c->getId());
616
+ $inc = 1;
617
+ foreach ($product->getMediaGalleryImages() as $img) {
618
+ if($helper->getImageDir() . $image!== $img->getUrl()) {
619
+ $inc++;
620
+ $xml .= $helper->tag($this->__('url_image')."_".$inc, $img->getUrl(), 1);
621
+ }
622
+ }
623
+
624
+
625
+
626
+ }
627
+
628
+ $xml .= $helper->tag($this->__('b_availability'), $stock, 1);
629
+ $xml .= $helper->tag($this->__('b_qty'), $qty);
630
+ $xml .= $helper->tag($this->__('b_delivery'), $shipping, 1);
631
+ if($shipping_logic == 1) {
632
+ $shipping_rate = $beezup->_getShippingPrice($c, $shipping_carrier, $default_country);
633
+ if($shipping_rate == 0 && $default_shipping_cost > 0) {
634
+ $shipping_rate = $default_shipping_cost;
635
+ }
636
+ $xml .= $helper->tag($this->__('b_shipping'), $helper->currency($shipping_rate));
637
+ } else {
638
+ $xml .= $helper->tag($this->__('b_shipping'), $helper->currency($beezup->getShippingAmount($c->getWeight(), $_tablerates)));
639
+ }
640
+
641
+ $xml .= $helper->tag($this->__('b_weight'), $helper->currency($c->getWeight()));
642
+ $xml .= $helper->tag($this->__('b_price'), $helper->currency($final_price*$_vat));
643
+ if ($price != $final_price) $xml .= $helper->tag($this->__('b_regular_price'), $helper->currency($price*$_vat));
644
+ $i = 1;
645
+ foreach ($categories as $v) $xml .= $helper->tag($this->__('b_category_%s', $i++), $v, 1);
646
+ foreach ($_attributes as $a) {
647
+ $value = $c->getResource()->getAttribute($a)->getFrontend()->getValue($c);
648
+ $xml .= $helper->tag($a, is_float($value) ? $helper->currency($value) : $value, is_float($value) ? 0 : 1);
649
+ }
650
+
651
+ $xml .= '</product>' . PHP_EOL;
652
+ }
653
+ }
654
+
655
+ $xml .= '</catalog>';
656
+
657
+ return $xml;
658
+ }
659
+
660
+ /**
661
+ Produit groupes
662
+ **/
663
+
664
+ public function getAssociatedProducto($configurable )
665
+ {
666
+
667
+ /* Load Model and Helper */
668
+ $beezup = Mage::getModel('beezup/products');
669
+ $helper = Mage::helper('beezup');
670
+ $category_logic = $helper->getConfig('beezup/flux/category_logic');
671
+ /* Initially load the useful elements */
672
+ $shipping_logic = $helper->getConfig('beezup/flux/carrier_method');
673
+ if($shipping_logic == 1) {
674
+ $shipping_carrier = $helper->getConfig('beezup/flux/shipping_carrier');
675
+ $default_country = $helper->getConfig('beezup/flux/default_country');
676
+ }
677
+
678
+ $default_shipping_cost = (int)$helper->getConfig('beezup/flux/default_shipping_cost');
679
+ $many_images = $helper->getConfig('beezup/flux/images');
680
+ $_ht = $helper->getConfig('beezup/flux/ht');
681
+ $_description = $helper->getConfig('beezup/flux/description');
682
+ $_description = explode(",", $_description);
683
+ $enable_html = $helper->getConfig('beezup/flux/description_html');
684
+ $_tablerates = 0;
685
+ $cat_logic = false;
686
+
687
+ $_categories = $beezup->getCategoriesAsArray(Mage::helper('catalog/category')->getStoreCategories());
688
+
689
+
690
+ $_vat = ($_ht && is_numeric($helper->getConfig('beezup/flux/vat'))) ? (preg_replace('(\,+)', '.', $helper->getConfig('beezup/flux/vat')) / 100) + 1 : 1;
691
+ $_attributes = $helper->getConfig('beezup/flux/attributes') ? explode(',', $helper->getConfig('beezup/flux/attributes')) : array();
692
+ // $_catalog_rules = $helper->getConfig('beezup/flux/catalog_rules');
693
+
694
+ $products = $beezup->getGroupedProduct();
695
+
696
+ $buf = "\xEF\xBB\xBF";
697
+ foreach ($products as $product) {
698
+ $associatedProducts = $product->getTypeInstance(true)->getAssociatedProducts($product);
699
+
700
+ $parentCategories = $beezup->getProductsCategories($product, $_categories);
701
+ $parentDesc = $product->getData($_description);
702
+ $parentId = $product->getId();
703
+ $parentImage = $product->getImage();
704
+ $parentUrl = $product->getProductUrl();
705
+
706
+ foreach ($associatedProducts as $g) {
707
+ $qty = $beezup->getQty($g->getId());
708
+ $stock = $beezup->getIsInStock($qty);
709
+ $shipping = $beezup->getDelivery($qty);
710
+ $price = $g->getPrice();
711
+ $final_price = $g->getFinalPrice();
712
+
713
+ $image = $this->fillImageUrl($product, $g);
714
+
715
+
716
+ //if (($image = $g->getImage()) == "no_selection" || ($image = $g->getImage()) == "") // Si on ne trouve pas d'image avec getImage on r�cup�re la smallImage
717
+ // $image = $g->getSmallImage();
718
+
719
+
720
+ //DBG
721
+ if (0)
722
+ {
723
+ echo "----------------------------" ."<br/>";
724
+ echo "Name : " .$g->getName() ."<br/>";
725
+ echo "Description : ".$parentDesc ."<br/>";
726
+ echo "Id : " .$g->getId() ."<br/>";
727
+ echo "Parent Id : " .$parentId ."<br/>";
728
+ echo "Url : " .$parentUrl ."<br/>";
729
+ echo "Image : " .$helper->getImageDir().$image ."<br/>";
730
+
731
+
732
+ echo "SKU : " .$g->getSku() ."<br/>";
733
+ echo "Quantity : " .$qty ."<br/>";
734
+ echo "Stock : " .$stock ."<br/>";
735
+ echo "Shipping : " .$shipping ."<br/>";
736
+ echo "price : " .$price ."<br/>";
737
+ echo "finalprice : ".$final_price ."<br/>";
738
+ echo "weight : " .$g->getWeight() ."<br/>";
739
+
740
+ $i = 1;
741
+ foreach ($parentCategories as $v)
742
+ echo "Cat�gorie ".$i." : ".$v."<br/>";
743
+ }
744
+
745
+
746
+ $buf .= "<product>";
747
+ $buf .= $helper->tag($this->__('b_unique_id'), $g->getId());
748
+ $buf .= $helper->tag($this->__('b_sku'), trim($g->getSku()), 1);
749
+ if ($configurable){
750
+ $buf .= $helper->tag($this->__('parent_or_child'), 'grouped_child', 1);
751
+ $buf .= $helper->tag($this->__('parent_id'), $parentId);
752
+ }
753
+ $buf .= $helper->tag($this->__('b_title'), $g->getName()/*trim($name)*/, 1);
754
+ $buf .= $helper->tag($this->__('b_description'), preg_replace("/(\r\n|\n|\r)/", ' ', strip_tags($parentDesc)), 1);
755
+ $buf .= $helper->tag($this->__('b_product_url'), $parentUrl, 1);
756
+
757
+ /*
758
+ if($many_images==1) {
759
+
760
+ $gprod = Mage::getModel('catalog/product')->load( $g->getId());
761
+ $inc = 0;
762
+ foreach ($gprod->getMediaGalleryImages() as $image) {
763
+ $inc++;
764
+ if($inc==1) {
765
+ $buf .= $helper->tag($this->__('url_image'), $image->getUrl(), 1);
766
+ } else {
767
+ $buf .= $helper->tag($this->__('url_image')."_".$inc, $image->getUrl(), 1);
768
+ }
769
+ }
770
+ } else {
771
+
772
+ $buf .= $helper->tag($this->__('url_image'), $helper->getImageDir() . $image, 1);
773
+ }*/
774
+
775
+ $buf .= $helper->tag($this->__('b_product_image'), $helper->getImageDir() . $image, 1); //r�cup�re l'image sur le p�re
776
+ $buf .= $helper->tag($this->__('b_availability'), $stock, 1);
777
+ $buf .= $helper->tag($this->__('b_qty'), $qty);
778
+ $buf .= $helper->tag($this->__('b_delivery'), $shipping, 1);
779
+ if($shipping_logic == 1) {
780
+ if($shipping_rate == 0 && $default_shipping_cost > 0) {
781
+ $shipping_rate = $default_shipping_cost;
782
+ }
783
+ $shipping_rate = $beezup->_getShippingPrice($g, $shipping_carrier, $default_country);
784
+ $xml .= $helper->tag($this->__('b_shipping'), $helper->currency($shipping_rate));
785
+ } else {
786
+ $xml .= $helper->tag($this->__('b_shipping'), $helper->currency($beezup->getShippingAmount($g->getWeight(), $_tablerates)));
787
+ }
788
+
789
+ $buf .= $helper->tag($this->__('b_weight'), $helper->currency($g->getWeight()));
790
+ $buf .= $helper->tag($this->__('b_price'), $helper->currency($final_price * $_vat));
791
+ if ($price != $final_price) $buf .= $helper->tag($this->__('b_regular_price'), $helper->currency($price*$_vat));
792
+ $i = 1;
793
+ foreach ($parentCategories as $v) $buf .= $helper->tag($this->__('b_category_%s', $i++), $v, 1);
794
+ foreach ($_attributes as $a) {
795
+ $value = $g->getResource()->getAttribute($a)->getFrontend()->getValue($g);
796
+ $buf .= $helper->tag($a, is_float($value) ? $helper->currency($value) : $value, is_float($value) ? 0 : 1);
797
+ }
798
+ $buf .= "</product>".PHP_EOL;
799
+ }
800
+ }
801
+ return $buf;
802
+ }
803
+
804
+
805
+ protected function fillImageUrl($p, $c)
806
+ {
807
+ $image = $c->getImage();
808
+ if ($image == "no_selection" || $image == "") // Si on ne trouve pas d'image avec getImage on r�cup�re la smallImage
809
+ {
810
+ $image = $c->getSmallImage();
811
+ if ($image == "no_selection" || $image == "")
812
+ {
813
+ $image = $p->getImage();
814
+ if ($image == "no_selection" || $image == "")
815
+ $image = $p->getSmallImage();
816
+ }
817
+ }
818
+ return ($image);
819
+ }
820
+
821
+ protected function createFile($type, $xmlData)
822
+ {
823
+ $fp = fopen(Mage::getBaseDir('base').'/beezup/tmp/'.$type, 'w');
824
+ if ($fp == false)
825
+ {
826
+ echo 'Fail to create file';
827
+ }
828
+ fwrite($fp, $xmlData);
829
+ fclose($fp);
830
+ }
831
+
832
+ protected function deleteFeed($type)
833
+ {
834
+ unlink(Mage::getBaseDir('base').'/beezup/tmp/'.$type);
835
+ }
836
+
837
+ protected function needRefreshing($type)
838
+ {
839
+ $helper = Mage::helper('beezup');
840
+
841
+ $delay = $helper->getConfig('beezup/flux/cachedelay') * 60;
842
+ $nowtime = time();
843
+ $fileTime = filemtime(Mage::getBaseDir('base').'/beezup/tmp/'.$type);
844
+ if (($nowtime - $fileTime) >= $delay)
845
+ return (true);
846
+ else
847
+ return (false);
848
+ }
849
+
850
+ protected function createFolder()
851
+ {
852
+ $helper = Mage::helper('beezup');
853
+ if (!$helper->getConfig('beezup/flux/cachedelay')) // Si option cache desactiv�e, pas besoin du dossier
854
+ return (true);
855
+ if (file_exists('beezup/tmp')) // Si le dossier existe deja, pas besoin de le recr�er
856
+ return (true);
857
+ if (!mkdir('beezup/tmp', 0777, true))
858
+ {
859
+ echo "[ERROR] : Seems we can't create 'beezup' directory inside your root directory."."<br/>"
860
+ ."You can try one of these solutions :"."<br/>"
861
+ ."1 - Create by yourself the beezup/tmp inside your root directory with 777 permissions"."<br/>"
862
+ ."2 - Change the permissions on your root directory (777)"."<br/>"
863
+ ."3 - Change the 'cache delay' option to 'None' inside beezup plugin settings"."<br/>";
864
+ return (false);
865
+ }
866
+ return (true);
867
+ }
868
+
869
+
870
+
871
+ /**
872
+ C'est ici que tout commence ...
873
+ **/
874
+
875
+ protected function _toHtml()
876
+ {
877
+ set_time_limit(0);
878
+ $helper = Mage::helper('beezup');
879
+ $this->setCacheLifetime(null);
880
+ //dbg
881
+ /*
882
+ $this->getAssociatedProducto(true);
883
+ return;*/
884
+ $paginate = $this->getPagination();
885
+ if (!$this->createFolder()) // Si on rencontre des probl�mes de cr�ation de dossier on retourne rien
886
+ return;
887
+ if ($this->getConfigurable()){ // Appel de l'url http://site.com/beezup/catalog/configurable
888
+ if ($this->needRefreshing('configurable')){
889
+ if (file_exists('beezup/tmp/configurable'))
890
+ $this->deleteFeed('configurable');
891
+ $xmlData = $this->getXmlConfigurable($paginate);
892
+ $this->addText($xmlData);
893
+ if ($helper->getConfig('beezup/flux/cachedelay') != 0)
894
+ $this->createFile('configurable', $xmlData);
895
+ }
896
+ else
897
+ echo file_get_contents('beezup/tmp/configurable');
898
+ }
899
+ else if ($this->getChildXML()){ // Appel de l'url http://site.com/beezup/catalog/child
900
+ if ($this->needRefreshing('child')){
901
+ if (file_exists('beezup/tmp/child'))
902
+ $this->deleteFeed('child');
903
+ $xmlData = $this->getXmlChild($paginate);
904
+ $this->addText($xmlData);
905
+ if ($helper->getConfig('beezup/flux/cachedelay') != 0)
906
+ $this->createFile('child', $xmlData);
907
+ }
908
+ else
909
+ echo file_get_contents('beezup/tmp/child');
910
+ }
911
+ else { // Appel de l'url http://site.com/beezup/catalog/xml
912
+ if ($this->needRefreshing('xml')){
913
+ if (file_exists('beezup/tmp/xml'))
914
+ $this->deleteFeed('xml');
915
+ $xmlData = $this->getXml($paginate);
916
+ $this->addText($xmlData);
917
+ if ($helper->getConfig('beezup/flux/cachedelay') != 0)
918
+ $this->createFile('xml', $xmlData);
919
+ }
920
+ else
921
+ echo file_get_contents('beezup/tmp/xml');
922
+ }
923
+ return parent::_toHtml();
924
+ }
925
+ }
926
+
app/code/community/BeezUp/Model/Products.php CHANGED
@@ -83,7 +83,6 @@
83
  ->addAttributeToSelect(Mage::getStoreConfig('beezup/flux/description'))
84
  ->addAttributeToFilter('type_id', array('eq' => 'grouped'));
85
 
86
-
87
  return $products;
88
  }
89
 
83
  ->addAttributeToSelect(Mage::getStoreConfig('beezup/flux/description'))
84
  ->addAttributeToFilter('type_id', array('eq' => 'grouped'));
85
 
 
86
  return $products;
87
  }
88
 
app/code/community/BeezUp/etc/config.xml CHANGED
@@ -2,7 +2,7 @@
2
  <config>
3
  <modules>
4
  <BeezUp>
5
- <version>4.6.2</version>
6
  </BeezUp>
7
  </modules>
8
  <global>
2
  <config>
3
  <modules>
4
  <BeezUp>
5
+ <version>4.6.3</version>
6
  </BeezUp>
7
  </modules>
8
  <global>
app/code/community/BeezUp/etc/system.xml CHANGED
@@ -13,7 +13,7 @@
13
  <tracking translate="label">
14
  <label>Tracking</label>
15
  <frontend_type>text</frontend_type>
16
- <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.6.2) - <a href="http://go.beezup.com" target="_blank">My BeezUP Account</a></div>]]></comment>
17
  <sort_order>1</sort_order>
18
  <show_in_default>1</show_in_default>
19
  <show_in_website>1</show_in_website>
@@ -77,7 +77,7 @@
77
  <marketplace tanslate="label">
78
  <label>Marketplace</label>
79
  <frontend_type>text</frontend_type>
80
- <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.6.2) - <a href="http://go.beezup.com" target="_blank">My BeezUP Account</a></div>]]></comment>
81
  <sort_order>2</sort_order>
82
  <show_in_default>1</show_in_default>
83
  <show_in_website>1</show_in_website>
@@ -409,7 +409,7 @@
409
  <flux translate="label">
410
  <label>Catalog Flow</label>
411
  <frontend_type>text</frontend_type>
412
- <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.6.2) - <a href="http://go.beezup.com" target="_blank">My BeezUP Account</a></div>]]></comment>
413
  <sort_order>2</sort_order>
414
  <show_in_default>1</show_in_default>
415
  <show_in_website>1</show_in_website>
13
  <tracking translate="label">
14
  <label>Tracking</label>
15
  <frontend_type>text</frontend_type>
16
+ <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.6.3) - <a href="http://go.beezup.com" target="_blank">My BeezUP Account</a></div>]]></comment>
17
  <sort_order>1</sort_order>
18
  <show_in_default>1</show_in_default>
19
  <show_in_website>1</show_in_website>
77
  <marketplace tanslate="label">
78
  <label>Marketplace</label>
79
  <frontend_type>text</frontend_type>
80
+ <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.6.3) - <a href="http://go.beezup.com" target="_blank">My BeezUP Account</a></div>]]></comment>
81
  <sort_order>2</sort_order>
82
  <show_in_default>1</show_in_default>
83
  <show_in_website>1</show_in_website>
409
  <flux translate="label">
410
  <label>Catalog Flow</label>
411
  <frontend_type>text</frontend_type>
412
+ <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.6.3) - <a href="http://go.beezup.com" target="_blank">My BeezUP Account</a></div>]]></comment>
413
  <sort_order>2</sort_order>
414
  <show_in_default>1</show_in_default>
415
  <show_in_website>1</show_in_website>
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.6.2</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,12 +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
- &gt; Feed pagination&#xD;
46
- &gt; Minor bugs</notes>
47
  <authors><author><name>BeezUP</name><user>BeezUP</user><email>charles@beezup.com</email></author></authors>
48
- <date>2016-04-06</date>
49
- <time>11:53:59</time>
50
- <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="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="a40f2918627077264132594cfe028290"/><file name="Order.php" hash="9952ed2a24816b211fcc1dbcf7488678"/><file name="Tracking.php" hash="e6dcd6b89e782b2eb6cb83abfb1b7f56"/><file name="Xml.php" hash="cd342d8ec7515599f77ed696bd58d1c3"/></dir><dir name="Helper"><file name="Data.php" hash="867a2562b255beaf3faa047d4130304f"/></dir><dir name="Model"><file name="Flatrate.php" hash="27d078203781d9b923605f685bfe5c25"/><file name="Observer.php" hash="3bcb925df1965ef23ef1fb08ab64de08"/><file name="Products.php" hash="22405c3788496f85389bf69e149e9267"/><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="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="Availableproducts.php" hash="d9d4b3705f5fbd98efbae0289a1b6d6d"/><file name="Cache.php" hash="0ca6ccc2fed56e2c602d76880d062053"/><file name="Carriers.php" hash="8d6a9940891902a0a8d5a99c366432ce"/><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="3b38e6a923d98f2739b70c9960958dd6"/><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="937cdae8ef0f52eb7157bf388923a378"/><file name="system.xml" hash="75120b04d2e57fb35d95a157863c5c7d"/></dir><dir name="img"><file name="ajax-loader.gif" hash="2a6692973429d7a74513bfa8bcb5be20"/></dir><dir name="lib"><file name="BeezupMageOrders.php" hash="cb62e5d5322912447cf829599013c17f"/><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="82821826016c467657d56b568a42bd35"/><file name="BeezupOMStatus.php" hash="5ebcc05f1b763887e420c8f4f459bfdb"/><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="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="9e0e69bc9e9a932c7c80f8480c025bd2"/></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="93df32f86c55b57363b9abc62cf68474"/></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>
51
  <compatible/>
52
  <dependencies><required><php><min>5.1.0</min><max>6.0.0</max></php></required></dependencies>
53
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>BeezUP_Module_feed_and_tracker</name>
4
+ <version>4.6.3</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
+ &gt;Configurable feed load speed enhancement</notes>
 
46
  <authors><author><name>BeezUP</name><user>BeezUP</user><email>charles@beezup.com</email></author></authors>
47
+ <date>2016-04-12</date>
48
+ <time>14:59:38</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="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="a40f2918627077264132594cfe028290"/><file name="Order.php" hash="9952ed2a24816b211fcc1dbcf7488678"/><file name="Tracking.php" hash="e6dcd6b89e782b2eb6cb83abfb1b7f56"/><file name="Xml.php" hash="ae72affa5895c8191b12724554c3bfb3"/></dir><dir name="Helper"><file name="Data.php" hash="867a2562b255beaf3faa047d4130304f"/></dir><dir name="Model"><file name="Flatrate.php" hash="27d078203781d9b923605f685bfe5c25"/><file name="Observer.php" hash="3bcb925df1965ef23ef1fb08ab64de08"/><file name="Products.php" hash="6d471745eddabe2bf75bdea600d239bf"/><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="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="Availableproducts.php" hash="d9d4b3705f5fbd98efbae0289a1b6d6d"/><file name="Cache.php" hash="0ca6ccc2fed56e2c602d76880d062053"/><file name="Carriers.php" hash="8d6a9940891902a0a8d5a99c366432ce"/><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="3b38e6a923d98f2739b70c9960958dd6"/><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="9d899f939d341c75c9996e1fd4bd1d82"/><file name="system.xml" hash="e42049583fd3653c6c155b2c9a38a969"/></dir><dir name="img"><file name="ajax-loader.gif" hash="2a6692973429d7a74513bfa8bcb5be20"/></dir><dir name="lib"><file name="BeezupMageOrders.php" hash="cb62e5d5322912447cf829599013c17f"/><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="82821826016c467657d56b568a42bd35"/><file name="BeezupOMStatus.php" hash="5ebcc05f1b763887e420c8f4f459bfdb"/><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="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="9e0e69bc9e9a932c7c80f8480c025bd2"/></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="93df32f86c55b57363b9abc62cf68474"/></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>