Antidot_Antidot - Version 1.0.17

Version Notes

Fix facet with ampersand configuration for search engine > facets
Replace "-" with "&afs:feed" to separate feeds in url (compatibility with AFS 7.7)
Fix empty facet id sent when performing an empty query to afs to get facets list
Add description node for variants
Add cdata for variant name
Prevent to export empty categories node
Add cdata for variant name
Add variant details for grouped products

Download this release

Release Info

Developer Antidot
Extension Antidot_Antidot
Version 1.0.17
Comparing to
See all releases


Code changes from version 1.0.16 to 1.0.17

app/code/community/MDN/Antidot/Block/Catalogsearch/Layer.php CHANGED
@@ -81,7 +81,11 @@ class MDN_Antidot_Block_Catalogsearch_Layer extends Mage_CatalogSearch_Block_Lay
81
*/
82
public function canShowBlock()
83
{
84
- return ($this->canShowOptions() || count($this->getLayer()->getState()->getFilters()));
85
}
86
87
/**
81
*/
82
public function canShowBlock()
83
{
84
+ $helper = Mage::helper('Antidot');
85
+ if ($helper->isActiveEngine()) {
86
+ return ($this->canShowOptions() || count($this->getLayer()->getState()->getFilters()));
87
+ }
88
+ return parent::canShowBlock();
89
}
90
91
/**
app/code/community/MDN/Antidot/Block/System/Config/Button/PushArticles.php CHANGED
@@ -22,7 +22,7 @@ class MDN_Antidot_Block_System_Config_Button_PushArticles extends Mage_Adminhtml
22
protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element)
23
{
24
$this->setElement($element);
25
- $url = $this->getUrl('Antidot/Admin_Push/Article');
26
27
$html = $this->getLayout()->createBlock('adminhtml/widget_button')
28
->setType('button')
22
protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element)
23
{
24
$this->setElement($element);
25
+ $url = $this->getUrl('Antidotadmin/Admin_Push/Article');
26
27
$html = $this->getLayout()->createBlock('adminhtml/widget_button')
28
->setType('button')
app/code/community/MDN/Antidot/Block/System/Config/Button/PushBrands.php CHANGED
@@ -22,7 +22,7 @@ class MDN_Antidot_Block_System_Config_Button_PushBrands extends Mage_Adminhtml_B
22
protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element)
23
{
24
$this->setElement($element);
25
- $url = $this->getUrl('Antidot/Admin_Push/Brand');
26
27
$html = $this->getLayout()->createBlock('adminhtml/widget_button')
28
->setType('button')
22
protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element)
23
{
24
$this->setElement($element);
25
+ $url = $this->getUrl('Antidotadmin/Admin_Push/Brand');
26
27
$html = $this->getLayout()->createBlock('adminhtml/widget_button')
28
->setType('button')
app/code/community/MDN/Antidot/Block/System/Config/Button/PushCategories.php CHANGED
@@ -22,7 +22,7 @@ class MDN_Antidot_Block_System_Config_Button_PushCategories extends Mage_Adminht
22
protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element)
23
{
24
$this->setElement($element);
25
- $url = $this->getUrl('Antidot/Admin_Push/Category');
26
27
$html = $this->getLayout()->createBlock('adminhtml/widget_button')
28
->setType('button')
22
protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element)
23
{
24
$this->setElement($element);
25
+ $url = $this->getUrl('Antidotadmin/Admin_Push/Category');
26
27
$html = $this->getLayout()->createBlock('adminhtml/widget_button')
28
->setType('button')
app/code/community/MDN/Antidot/Block/System/Config/Button/PushProducts.php CHANGED
@@ -22,7 +22,7 @@ class MDN_Antidot_Block_System_Config_Button_PushProducts extends Mage_Adminhtml
22
protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element)
23
{
24
$this->setElement($element);
25
- $url = $this->getUrl('Antidot/Admin_Push/Product');
26
27
$html = $this->getLayout()->createBlock('adminhtml/widget_button')
28
->setType('button')
22
protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element)
23
{
24
$this->setElement($element);
25
+ $url = $this->getUrl('Antidotadmin/Admin_Push/Product');
26
27
$html = $this->getLayout()->createBlock('adminhtml/widget_button')
28
->setType('button')
app/code/community/MDN/Antidot/Helper/XmlWriter.php CHANGED
@@ -17,7 +17,8 @@ class MDN_Antidot_Helper_XmlWriter extends Mage_Core_Helper_Abstract
17
{
18
19
protected $xml;
20
- protected $indent;
21
protected $stack = array();
22
23
/**
@@ -25,10 +26,14 @@ class MDN_Antidot_Helper_XmlWriter extends Mage_Core_Helper_Abstract
25
*
26
* @param string $indent
27
*/
28
- public function init($indent = ' ')
29
{
30
- $this->indent = $indent;
31
- $this->xml = '<?xml version="1.0" encoding="utf-8"?>' . "\n";
32
}
33
34
/**
@@ -56,7 +61,7 @@ class MDN_Antidot_Helper_XmlWriter extends Mage_Core_Helper_Abstract
56
$this->xml.= ' ' . $key . '="' . $value . '"';
57
}
58
}
59
- $this->xml.= ">\n";
60
$this->stack[] = $element;
61
}
62
@@ -78,7 +83,7 @@ class MDN_Antidot_Helper_XmlWriter extends Mage_Core_Helper_Abstract
78
}
79
80
$content = Mage::helper('Antidot/Url')->isUtf8($content) === false ? mb_convert_encoding($content, "UTF-8") : $content;
81
- $this->xml.= '>' . ($content) . '</' . $element . '>' . "\n";
82
}
83
84
/**
@@ -96,7 +101,7 @@ class MDN_Antidot_Helper_XmlWriter extends Mage_Core_Helper_Abstract
96
$this->xml.= ' ' . $key . '="' . $value . '"';
97
}
98
}
99
- $this->xml.= " />\n";
100
}
101
102
/**
@@ -121,7 +126,7 @@ class MDN_Antidot_Helper_XmlWriter extends Mage_Core_Helper_Abstract
121
{
122
$element = array_pop($this->stack);
123
$this->indent();
124
- $this->xml.= "</$element>\n";
125
}
126
127
/**
17
{
18
19
protected $xml;
20
+ protected $indent = "";
21
+ protected $cr = "";
22
protected $stack = array();
23
24
/**
26
*
27
* @param string $indent
28
*/
29
+ public function init($debug = false)
30
{
31
+ if ($debug) {
32
+ $this->indent= " ";
33
+ $this->cr= "\n";
34
+ }
35
+
36
+ $this->xml = '<?xml version="1.0" encoding="utf-8"?>' . $this->cr;
37
}
38
39
/**
61
$this->xml.= ' ' . $key . '="' . $value . '"';
62
}
63
}
64
+ $this->xml.= ">".$this->cr;
65
$this->stack[] = $element;
66
}
67
83
}
84
85
$content = Mage::helper('Antidot/Url')->isUtf8($content) === false ? mb_convert_encoding($content, "UTF-8") : $content;
86
+ $this->xml.= '>' . ($content) . '</' . $element . '>' . $this->cr;
87
}
88
89
/**
101
$this->xml.= ' ' . $key . '="' . $value . '"';
102
}
103
}
104
+ $this->xml.= " />".$this->cr;
105
}
106
107
/**
126
{
127
$element = array_pop($this->stack);
128
$this->indent();
129
+ $this->xml.= "</$element>".$this->cr;
130
}
131
132
/**
app/code/community/MDN/Antidot/Model/Export/Product.php CHANGED
@@ -69,59 +69,62 @@ class MDN_Antidot_Model_Export_Product extends MDN_Antidot_Model_Export_Abstract
69
$this->onlyProductsWithStock = !(boolean)Mage::getStoreConfig('antidot/fields_product/in_stock_only');
70
$this->autoCompleteProducts = Mage::getStoreConfig('antidot/suggest/enable') === 'Antidot/engine_antidot' ? 'on' : 'off';
71
72
- $this->initXml();
73
- $this->initPropertyLabel();
74
- $this->initProductsWithOperations();
75
- $this->initFields('product');
76
- $this->initEnabledStores();
77
- $this->setFilename($filename);
78
79
- $this->xml->push('catalog', array('xmlns' => "http://ref.antidot.net/store/afs#"));
80
- $this->writeHeader($context);
81
- $this->writePart($this->xml->flush());
82
-
83
- $this->lang = $context['lang'];
84
- $productIds = $this->getProductIds($context['store_id'], $type);
85
-
86
Mage::log('Products to export : '.count($productIds), null, 'antidot.log');
87
-
88
- $chunkId = 1;
89
- $chunkCount = (int)(count($productIds) / 500);
90
- $lastExecutionTime = time();
91
- foreach(array_chunk($productIds, 500) as $productId) {
92
-
93
- Mage::log('Process chunk # '.$chunkId .' / '.$chunkCount. ' - memory usage = '.memory_get_usage().' - last took '.(time() - $lastExecutionTime).' sec', null, 'antidot.log');
94
- $lastExecutionTime = time();
95
- //force current store to admin to prevent the use of the flat catalog
96
- Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
97
-
98
- $collection = Mage::getModel('catalog/product')
99
- ->getCollection()
100
- ->addAttributeToSelect('*')
101
- ->addAttributeToFilter('entity_id', array('in', $productId))
102
- ->joinField('qty',
103
- 'cataloginventory/stock_item',
104
- 'qty',
105
- 'product_id = entity_id',
106
- '{{table}}.stock_id = 1')
107
- ;
108
-
109
- foreach($collection as $product) {
110
- //if($context['langs'] > 1) {
111
- $store = current($this->getProductStores($product, $context)); //we take the "first" store of the current lang
112
- if ($store)
113
- $product = Mage::getModel('catalog/product')->setStoreId($store->getId())->load($product->getId());
114
- //}
115
- $this->writeProduct($product, $context);
116
-
117
- $product->clearInstance(); //memory flush
118
- }
119
- $this->writePart($this->xml->flush());
120
-
121
- $chunkId++;
122
- }
123
- $this->xml->pop();
124
- $this->writePart($this->xml->flush(), true);
125
126
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID); //in order to stay on the admin and not be redirected to the last indexed frontend store
127
Mage::log('Products parsing complete', null, 'antidot.log');
@@ -206,7 +209,9 @@ class MDN_Antidot_Model_Export_Product extends MDN_Antidot_Model_Export_Abstract
206
207
$this->xml->push('websites');
208
$websites = array();
209
foreach($stores as $store) {
210
$website = $this->getWebSiteByStore($store);
211
if (!array_key_exists($website->getId(), $websites))
212
{
@@ -230,7 +235,7 @@ class MDN_Antidot_Model_Export_Product extends MDN_Antidot_Model_Export_Abstract
230
$this->writeDescriptions($product);
231
$this->xml->element('url', $this->xml->encloseCData($product->getProductUrl()));
232
$this->writeImageUrl($product);
233
- $this->writeClassification($product);
234
$this->writeProperties($product, $stores);
235
$this->writeBrand($product);
236
$this->writeMaterials($product);
@@ -439,9 +444,9 @@ class MDN_Antidot_Model_Export_Product extends MDN_Antidot_Model_Export_Abstract
439
*
440
* @param Product $product
441
*/
442
- protected function writeClassification($product)
443
{
444
- $categories = $this->getProductCategories($product);
445
if(count($categories) > 0) {
446
$this->xml->push('classification');
447
foreach($categories as $category) {
@@ -513,9 +518,22 @@ class MDN_Antidot_Model_Export_Product extends MDN_Antidot_Model_Export_Abstract
513
* @param Product $product
514
* @return array
515
*/
516
- protected function getProductCategories($product)
517
{
518
- $categories = $product->getCategoryCollection()->setStoreId($product->getStoreId())->addAttributeToSelect('name')->addAttributeToSelect('image')->addAttributeToSelect('url_key')->addAttributeToFilter('name', array('neq' => ''));
519
$productCategories = array();
520
foreach($categories as $category) {
521
//Force the store on the url in order to generate the store code in url if it is configured in system > config
@@ -629,42 +647,46 @@ class MDN_Antidot_Model_Export_Product extends MDN_Antidot_Model_Export_Abstract
629
630
631
$attribute = $product->getResource()->getAttribute($property['value']);
632
- $value = $attribute->getFrontend()->getValue($product);
633
- $label = $attribute->getStoreLabel();
634
- if (!$label) {
635
- $labels = $attribute->getStoreLabels();
636
- if (isset($labels[current($stores)->getId()])) {
637
- $label = $labels[current($stores)->getId()];
638
- }
639
- }
640
-
641
- $labels = array();
642
- switch($attribute->getfrontend_input())
643
- {
644
- case 'multiselect':
645
- $values = explode(',', $value);
646
- foreach($values as $value)
647
- {
648
- $value = trim($value);
649
- $properties[] = array(
650
- 'name' => $property['value'],
651
- 'display_name' => substr($label, 0, 79),
652
- 'label' => substr($value, 0, 79),
653
- 'autocomplete' => ($property['autocomplete'] == 1 ? 'on' : 'off'));
654
- }
655
- break;
656
- default:
657
- $optionName = $value;
658
- if(!empty($this->propertyLabel[$property['value']]['options'][$id]['per_store'][current($stores)->getId()])) {
659
- $optionName = $this->propertyLabel[$property['value']]['options'][$id]['per_store'][current($stores)->getId()];
660
- }
661
- $value = is_bool($value) ? (int)$value : $value;
662
- $properties[] = array(
663
- 'name' => $property['value'],
664
- 'display_name' => substr($label, 0, 79),
665
- 'label' => substr($optionName, 0, 79),
666
- 'autocomplete' => ($property['autocomplete'] == 1 ? 'on' : 'off'));
667
- break;
668
}
669
670
}
@@ -689,10 +711,6 @@ class MDN_Antidot_Model_Export_Product extends MDN_Antidot_Model_Export_Abstract
689
{
690
$prices = ($this->getPrices($parentProduct->getId(), $store->getWebsiteId()));
691
692
- if($product->getTypeID() === Mage_Catalog_Model_Product_Type::TYPE_BUNDLE) {
693
- $prices['price'] = $prices['min_price'];
694
- }
695
-
696
$price = Mage::helper('tax')->getPrice($product, $prices['price'], true);
697
698
//try to get price & pricecut
@@ -776,13 +794,16 @@ class MDN_Antidot_Model_Export_Product extends MDN_Antidot_Model_Export_Abstract
776
777
if (($result['min_price']))
778
{
779
- if (!($result['price']))
780
- $result['price'] = $result['min_price'];
781
- if (!($result['final_price']))
782
$result['final_price'] = $result['min_price'];
783
}
784
785
- if ((!$result['min_price']) && (!$result['price']) && (!$result['final_price']))
786
{
787
$product = Mage::getModel('catalog/product')->load($productId);
788
$result['min_price'] = $product->getPrice();
@@ -790,7 +811,7 @@ class MDN_Antidot_Model_Export_Product extends MDN_Antidot_Model_Export_Abstract
790
$result['final_price'] = $product->getPrice();
791
$product->clearInstance();
792
}
793
-
794
return $result;
795
}
796
@@ -958,7 +979,7 @@ class MDN_Antidot_Model_Export_Product extends MDN_Antidot_Model_Export_Abstract
958
}
959
960
$res = fwrite($this->file, $xml);
961
- if (!$res)
962
throw new Exception('Can not write in : '.$filename);
963
964
if ($close) {
@@ -999,12 +1020,13 @@ class MDN_Antidot_Model_Export_Product extends MDN_Antidot_Model_Export_Abstract
999
* @param string $type
1000
* @return array
1001
*/
1002
- protected function getProductIds($storeIds, $type)
1003
{
1004
$productsInStock = $this->onlyProductsWithStock ? ' AND is_in_stock = 1' : '';
1005
$collection = Mage::getModel('catalog/product')
1006
->getCollection()
1007
->setStoreId($storeIds)
1008
->addAttributeToFilter('visibility', $this->productVisible)
1009
->addAttributeToFilter('status', 1)
1010
->joinField('qty',
@@ -1020,7 +1042,7 @@ class MDN_Antidot_Model_Export_Product extends MDN_Antidot_Model_Export_Abstract
1020
}
1021
$collection->addAttributeToFilter('updated_at', array('gteq' => $this->lastGeneration));
1022
}
1023
-
1024
return $collection->getAllIds();
1025
}
1026
}
69
$this->onlyProductsWithStock = !(boolean)Mage::getStoreConfig('antidot/fields_product/in_stock_only');
70
$this->autoCompleteProducts = Mage::getStoreConfig('antidot/suggest/enable') === 'Antidot/engine_antidot' ? 'on' : 'off';
71
72
+ $productIds = $this->getProductIds($context['store_id'], $context['website_ids'], $type);
73
74
Mage::log('Products to export : '.count($productIds), null, 'antidot.log');
75
+ if (count($productIds) > 0) {
76
+
77
+ $this->initXml();
78
+ $this->initPropertyLabel();
79
+ $this->initProductsWithOperations();
80
+ $this->initFields('product');
81
+ $this->initEnabledStores();
82
+ $this->setFilename($filename);
83
+
84
+ $this->xml->push('catalog', array('xmlns' => "http://ref.antidot.net/store/afs#"));
85
+ $this->writeHeader($context);
86
+ $this->writePart($this->xml->flush());
87
+
88
+ $this->lang = $context['lang'];
89
+
90
+ $chunkId = 1;
91
+ $chunkCount = (int)(count($productIds) / 500);
92
+ $lastExecutionTime = time();
93
+ foreach(array_chunk($productIds, 500) as $productId) {
94
+
95
+ Mage::log('Process chunk # '.$chunkId .' / '.$chunkCount. ' - memory usage = '.memory_get_usage().' - last took '.(time() - $lastExecutionTime).' sec', null, 'antidot.log');
96
+ $lastExecutionTime = time();
97
+ //force current store to admin to prevent the use of the flat catalog
98
+ Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
99
+
100
+ $collection = Mage::getModel('catalog/product')
101
+ ->getCollection()
102
+ ->addAttributeToSelect('*')
103
+ ->addAttributeToFilter('entity_id', array('in', $productId))
104
+ ->joinField('qty',
105
+ 'cataloginventory/stock_item',
106
+ 'qty',
107
+ 'product_id = entity_id',
108
+ '{{table}}.stock_id = 1')
109
+ ;
110
+
111
+ foreach($collection as $product) {
112
+ //if($context['langs'] > 1) {
113
+ $store = current($this->getProductStores($product, $context)); //we take the "first" store of the current lang
114
+ if ($store)
115
+ $product = Mage::getModel('catalog/product')->setStoreId($store->getId())->load($product->getId());
116
+ //}
117
+ $this->writeProduct($product, $context);
118
+
119
+ $product->clearInstance(); //memory flush
120
+ }
121
+ $this->writePart($this->xml->flush());
122
+
123
+ $chunkId++;
124
+ }
125
+ $this->xml->pop();
126
+ $this->writePart($this->xml->flush(), true);
127
+ }
128
129
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID); //in order to stay on the admin and not be redirected to the last indexed frontend store
130
Mage::log('Products parsing complete', null, 'antidot.log');
209
210
$this->xml->push('websites');
211
$websites = array();
212
+ $rootCategoriesIds = array(); //the root categories of the stores of this context, used for exporting only the categories within theses roots
213
foreach($stores as $store) {
214
+ $rootCategoriesIds[] = $store->getRootCategoryId();
215
$website = $this->getWebSiteByStore($store);
216
if (!array_key_exists($website->getId(), $websites))
217
{
235
$this->writeDescriptions($product);
236
$this->xml->element('url', $this->xml->encloseCData($product->getProductUrl()));
237
$this->writeImageUrl($product);
238
+ $this->writeClassification($product, $rootCategoriesIds);
239
$this->writeProperties($product, $stores);
240
$this->writeBrand($product);
241
$this->writeMaterials($product);
444
*
445
* @param Product $product
446
*/
447
+ protected function writeClassification($product, $rootCategoriesIds)
448
{
449
+ $categories = $this->getProductCategories($product, $rootCategoriesIds);
450
if(count($categories) > 0) {
451
$this->xml->push('classification');
452
foreach($categories as $category) {
518
* @param Product $product
519
* @return array
520
*/
521
+ protected function getProductCategories($product, $rootCategoriesIds)
522
{
523
+ $categories = $product->getCategoryCollection();
524
+ $categories->setStoreId($product->getStoreId());
525
+ $categories->addAttributeToSelect('name');
526
+ $categories->addAttributeToSelect('image');
527
+ $categories->addAttributeToSelect('url_key');
528
+ $categories->addAttributeToFilter('name', array('neq' => ''));
529
+
530
+ //Add a filter on the path in order to export only the categories whose root category is used on the exported stores
531
+ $rootCategoryCondition = array();
532
+ foreach ($rootCategoriesIds as $rootCategoryId) {
533
+ $rootCategoryCondition[] = array('like' => '1/'.$rootCategoryId.'/%');
534
+ }
535
+ $categories->addAttributeToFilter('path', $rootCategoryCondition);
536
+
537
$productCategories = array();
538
foreach($categories as $category) {
539
//Force the store on the url in order to generate the store code in url if it is configured in system > config
647
648
649
$attribute = $product->getResource()->getAttribute($property['value']);
650
+ if ($attribute) {
651
+ $value = $attribute->getFrontend()->getValue($product);
652
+ $label = $attribute->getStoreLabel();
653
+ if (!$label) {
654
+ $labels = $attribute->getStoreLabels();
655
+ if (isset($labels[current($stores)->getId()])) {
656
+ $label = $labels[current($stores)->getId()];
657
+ }
658
+ }
659
+
660
+ $labels = array();
661
+ switch($attribute->getfrontend_input())
662
+ {
663
+ case 'multiselect':
664
+ $values = explode(',', $value);
665
+ foreach($values as $value)
666
+ {
667
+ $value = trim($value);
668
+ $properties[] = array(
669
+ 'name' => $property['value'],
670
+ 'display_name' => substr($label, 0, 79),
671
+ 'label' => substr($value, 0, 79),
672
+ 'autocomplete' => ($property['autocomplete'] == 1 ? 'on' : 'off'));
673
+ }
674
+ break;
675
+ default:
676
+ $optionName = $value;
677
+ if(!empty($this->propertyLabel[$property['value']]['options'][$id]['per_store'][current($stores)->getId()])) {
678
+ $optionName = $this->propertyLabel[$property['value']]['options'][$id]['per_store'][current($stores)->getId()];
679
+ }
680
+ $value = is_bool($value) ? (int)$value : $value;
681
+ $properties[] = array(
682
+ 'name' => $property['value'],
683
+ 'display_name' => substr($label, 0, 79),
684
+ 'label' => substr($optionName, 0, 79),
685
+ 'autocomplete' => ($property['autocomplete'] == 1 ? 'on' : 'off'));
686
+ break;
687
+ }
688
+ } else {
689
+ Mage::log('Attribute with code : '.$property['value'].' not present in product', null, 'antidot.log');
690
}
691
692
}
711
{
712
$prices = ($this->getPrices($parentProduct->getId(), $store->getWebsiteId()));
713
714
$price = Mage::helper('tax')->getPrice($product, $prices['price'], true);
715
716
//try to get price & pricecut
794
795
if (($result['min_price']))
796
{
797
+ //on bundle product, only min_price is set
798
+ if ($result['price'] == 0) {
799
+ $result['price'] = $result['min_price'];
800
+ }
801
+ if ($result['final_price'] == 0) {
802
$result['final_price'] = $result['min_price'];
803
+ }
804
}
805
806
+ if (($result['min_price'] == 0) && ($result['price'] == 0) && ($result['final_price'] == 0))
807
{
808
$product = Mage::getModel('catalog/product')->load($productId);
809
$result['min_price'] = $product->getPrice();
811
$result['final_price'] = $product->getPrice();
812
$product->clearInstance();
813
}
814
+
815
return $result;
816
}
817
979
}
980
981
$res = fwrite($this->file, $xml);
982
+ if ($res === false)
983
throw new Exception('Can not write in : '.$filename);
984
985
if ($close) {
1020
* @param string $type
1021
* @return array
1022
*/
1023
+ protected function getProductIds($storeIds, $websiteIds, $type)
1024
{
1025
$productsInStock = $this->onlyProductsWithStock ? ' AND is_in_stock = 1' : '';
1026
$collection = Mage::getModel('catalog/product')
1027
->getCollection()
1028
->setStoreId($storeIds)
1029
+ ->addWebsiteFilter($websiteIds)
1030
->addAttributeToFilter('visibility', $this->productVisible)
1031
->addAttributeToFilter('status', 1)
1032
->joinField('qty',
1042
}
1043
$collection->addAttributeToFilter('updated_at', array('gteq' => $this->lastGeneration));
1044
}
1045
+
1046
return $collection->getAllIds();
1047
}
1048
}
app/code/community/MDN/Antidot/Model/Observer.php CHANGED
@@ -278,16 +278,25 @@ class MDN_Antidot_Model_Observer extends Mage_Core_Model_Abstract
278
{
279
$listStore = array();
280
foreach (Mage::app()->getStores() as $store) {
281
- list($lang) = explode('_', Mage::getStoreConfig('general/locale/code', $store->getId()));
282
- $listStore[$lang][$store->getId()] = $store;
283
}
284
285
$listContext = array();
286
foreach($listStore as $lang => $stores) {
287
$defaultOwner = 'AFS@Store for Magento v'.Mage::getConfig()->getNode()->modules->MDN_Antidot->version;
288
$context['owner'] = Mage::getStoreConfig('antidot/general/owner') === '' ? $defaultOwner : Mage::getStoreConfig('antidot/general/owner');
289
$context['lang'] = $lang;
290
$context['stores'] = $stores;
291
$context['langs'] = count($listStore);
292
293
$listContext[] = $context;
278
{
279
$listStore = array();
280
foreach (Mage::app()->getStores() as $store) {
281
+ if ($store->getIsActive()) {
282
+ list($lang) = explode('_', Mage::getStoreConfig('general/locale/code', $store->getId()));
283
+ $listStore[$lang][$store->getId()] = $store;
284
+ }
285
}
286
287
$listContext = array();
288
+ $context['website_ids'] = array();
289
foreach($listStore as $lang => $stores) {
290
$defaultOwner = 'AFS@Store for Magento v'.Mage::getConfig()->getNode()->modules->MDN_Antidot->version;
291
$context['owner'] = Mage::getStoreConfig('antidot/general/owner') === '' ? $defaultOwner : Mage::getStoreConfig('antidot/general/owner');
292
$context['lang'] = $lang;
293
$context['stores'] = $stores;
294
+ foreach ($stores as $store) {
295
+ $websiteId = $store->getWebsite()->getId();
296
+ if (!in_array($websiteId, $context['website_ids'])) {
297
+ $context['website_ids'][] = $websiteId;
298
+ }
299
+ }
300
$context['langs'] = count($listStore);
301
302
$listContext[] = $context;
app/code/community/MDN/Antidot/Model/Resource/Catalog/Product/Collection.php CHANGED
@@ -384,4 +384,15 @@ class MDN_Antidot_Model_Resource_Catalog_Product_Collection extends Mage_Catalog
384
{
385
return $this->_searchQueryText;
386
}
387
}
384
{
385
return $this->_searchQueryText;
386
}
387
+
388
+ /**
389
+ * Stub method for compatibility with other search engine in magento E.E
390
+ * (TODO : check is it normal that Enterprise_Search_Model_Catalog_Layer get a MDN_Antidot_Model_Resource_Catalog_Product_Collection ? )
391
+ *
392
+ * @return MDN_Antidot_Model_Resource_Catalog_Product_Collection
393
+ */
394
+ public function setGeneralDefaultQuery()
395
+ {
396
+ return $this;
397
+ }
398
}
app/code/community/MDN/Antidot/Model/Resource/Engine/Antidot.php CHANGED
@@ -337,7 +337,7 @@ class MDN_Antidot_Model_Resource_Engine_Antidot extends MDN_Antidot_Model_Resour
337
);
338
}
339
340
- if ($resultAntidot->replyset !== null && $resultAntidot->replyset->has_facet()) {
341
$result['facets'] = $this->prepareFacetsQueryResponse($resultAntidot->replyset->get_facets());
342
}
343
@@ -345,7 +345,7 @@ class MDN_Antidot_Model_Resource_Engine_Antidot extends MDN_Antidot_Model_Resour
345
$result['category_ids'] = $this->prepareQueryResponse($resultAntidot->replysetCategories, 'Categories');
346
}
347
348
- if($promote = $resultAntidot->promote && $replies = $resultAntidot->promote->get_replies()) {
349
if((Mage::getStoreConfig('antidot/promote/redirect') === 'no_result' && $result['total_count'] == 0) || Mage::getStoreConfig('antidot/promote/redirect') === 'always') {
350
$promote = current($replies);
351
if($promote->uri !== 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']) {
@@ -355,7 +355,7 @@ class MDN_Antidot_Model_Resource_Engine_Antidot extends MDN_Antidot_Model_Resour
355
}
356
}
357
358
- if (!$this->addedNote && $result['total_count'] == 0) {
359
if($spellcheck = $resultAntidot->spellcheck) {
360
$link = '<a href="'.Mage::helper('catalogsearch')->getResultUrl($spellcheck).'">'.$spellcheck.'</a>';
361
$spellcheck = str_replace('{spellcheck}', $link, Mage::getStoreConfig('antidot/engine/spellcheck'));
@@ -403,4 +403,18 @@ class MDN_Antidot_Model_Resource_Engine_Antidot extends MDN_Antidot_Model_Resour
403
{
404
return false;
405
}
406
}
337
);
338
}
339
340
+ if (isset($resultAntidot->replyset) && $resultAntidot->replyset !== null && $resultAntidot->replyset->has_facet()) {
341
$result['facets'] = $this->prepareFacetsQueryResponse($resultAntidot->replyset->get_facets());
342
}
343
345
$result['category_ids'] = $this->prepareQueryResponse($resultAntidot->replysetCategories, 'Categories');
346
}
347
348
+ if(isset($resultAntidot->promote) && $resultAntidot->promote && $replies = $resultAntidot->promote->get_replies()) {
349
if((Mage::getStoreConfig('antidot/promote/redirect') === 'no_result' && $result['total_count'] == 0) || Mage::getStoreConfig('antidot/promote/redirect') === 'always') {
350
$promote = current($replies);
351
if($promote->uri !== 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']) {
355
}
356
}
357
358
+ if (!$this->addedNote && $result['total_count'] == 0 && isset($resultAntidot->spellcheck)) {
359
if($spellcheck = $resultAntidot->spellcheck) {
360
$link = '<a href="'.Mage::helper('catalogsearch')->getResultUrl($spellcheck).'">'.$spellcheck.'</a>';
361
$spellcheck = str_replace('{spellcheck}', $link, Mage::getStoreConfig('antidot/engine/spellcheck'));
403
{
404
return false;
405
}
406
+
407
+ /**
408
+ * Checks search engine availability.
409
+ * - Antidot search is disabled on the magento advanced search
410
+ * - TODO : see Jira MCNX-19 : Extension should be able to detect bad web service configuration,
411
+ * set antidotServiceAvailable to false if the webservice isn't available
412
+ * @return bool
413
+ */
414
+ public function test()
415
+ {
416
+ $notInAdvancedSearch = (Mage::app()->getRequest()->getControllerName() != 'advanced');
417
+ $antidotServiceAvailable = true;
418
+ return $antidotServiceAvailable && $notInAdvancedSearch;
419
+ }
420
}
app/code/community/MDN/Antidot/Model/Search/Search.php CHANGED
@@ -220,8 +220,12 @@ class MDN_Antidot_Model_Search_Search extends MDN_Antidot_Model_Search_Abstract
220
}
221
}
222
223
- if (isset($params['limit']) && is_numeric($params['limit'])) {
224
$query = $query->set_replies((int)$params['limit']);
225
}
226
227
if (isset($params['page']) && is_numeric($params['page'])) {
220
}
221
}
222
223
+ if (isset($params['limit']) && is_numeric($params['limit']) && $params['limit']>0) {
224
$query = $query->set_replies((int)$params['limit']);
225
+ } else {
226
+ $query = $query->set_replies(100);
227
+ //when limit=all or limit=0, set limit to 100 in order to have enought results and avoid
228
+ //performances issues on very big numbers of results (instead AFStore defaut of 20 is used)
229
}
230
231
if (isset($params['page']) && is_numeric($params['page'])) {
app/code/community/MDN/Antidot/Model/Search/Suggest.php CHANGED
@@ -214,7 +214,7 @@ class MDN_Antidot_Model_Search_Suggest extends MDN_Antidot_Model_Search_Abstract
214
215
$attributes = array(
216
'key' => $field,
217
- 'value' => str_replace('&', '&amp;', html_entity_decode($value)),
218
);
219
$xml->emptyelement('afs:option', $attributes);
220
}
@@ -304,15 +304,28 @@ class MDN_Antidot_Model_Search_Suggest extends MDN_Antidot_Model_Search_Abstract
304
*/
305
protected function transformToXml($suggestXml)
306
{
307
libxml_use_internal_errors(true);
308
$xml = simplexml_load_string($suggestXml);
309
$xsl = simplexml_load_string($this->template);
310
311
$xslt = new XSLTProcessor();
312
$xslt->importStylesheet($xsl);
313
314
- if(!$xml = $xslt->transformToXml($xml)) {
315
- Mage::log(print_r(libxml_get_errors(), true), null, 'antidot.log');
316
return '';
317
}
318
214
215
$attributes = array(
216
'key' => $field,
217
+ 'value' => html_entity_decode($value),
218
);
219
$xml->emptyelement('afs:option', $attributes);
220
}
304
*/
305
protected function transformToXml($suggestXml)
306
{
307
+
308
libxml_use_internal_errors(true);
309
$xml = simplexml_load_string($suggestXml);
310
+ if ($xml === false) {
311
+ Mage::log('Error loading xml (suggest) : ', null, 'antidot.log');
312
+ Mage::log(print_r(libxml_get_errors(), true), null, 'antidot.log');
313
+ return '';
314
+ }
315
$xsl = simplexml_load_string($this->template);
316
+ if ($xsl === false) {
317
+ Mage::log('Error loading xsl template (suggest) : ', null, 'antidot.log');
318
+ Mage::log(print_r(libxml_get_errors(), true), null, 'antidot.log');
319
+ return '';
320
+ }
321
322
$xslt = new XSLTProcessor();
323
$xslt->importStylesheet($xsl);
324
325
+ $xml = $xslt->transformToXml($xml);
326
+ if ($xml === false) {
327
+ Mage::log('Error during xslt transformation (suggest) : ', null, 'antidot.log');
328
+ Mage::log(print_r(libxml_get_errors(), true), null, 'antidot.log');
329
return '';
330
}
331
app/code/community/MDN/Antidot/Test/Model/Observer.php DELETED
@@ -1,29 +0,0 @@
1
- <?php
2
-
3
-
4
- class MDN_Antidot_Test_Model_Observer extends EcomDev_PHPUnit_Test_Case
5
- {
6
-
7
- /**
8
- * Test owner for filename generation
9
- *
10
- * @test
11
- * loadFixture
12
- * doNotIndexAll
13
- * dataProvider dataProvider
14
- */
15
- public function testGetOwnerForFilename() {
16
-
17
- $observer = Mage::getModel('Antidot/observer');
18
-
19
- $value= MDN_Antidot_Test_PHPUnitUtil::callPrivateMethod($observer, 'getOwnerForFilename', array());
20
-
21
- $this->assertEquals(
22
- 'magento',
23
- $value
24
- );
25
-
26
- //TODO : loadFixture with different cas of owners in database
27
-
28
- }
29
- }
app/code/community/MDN/Antidot/Test/PHPUnitUtil.php DELETED
@@ -1,10 +0,0 @@
1
- <?php
2
- class MDN_Antidot_Test_PHPUnitUtil
3
- {
4
- public static function callPrivateMethod($obj, $name, array $args) {
5
- $class = new \ReflectionClass($obj);
6
- $method = $class->getMethod($name);
7
- $method->setAccessible(true);
8
- return $method->invokeArgs($obj, $args);
9
- }
10
- }
app/code/community/MDN/Antidot/etc/config.xml CHANGED
@@ -18,7 +18,7 @@
18
</crontab>
19
<modules>
20
<MDN_Antidot>
21
- <version>1.0.16</version>
22
</MDN_Antidot>
23
</modules>
24
<global>
@@ -149,13 +149,13 @@
149
150
<admin>
151
<routers>
152
- <Antidot>
153
<use>admin</use>
154
<args>
155
<module>MDN_Antidot</module>
156
- <frontName>Antidot</frontName>
157
</args>
158
- </Antidot>
159
</routers>
160
</admin>
161
18
</crontab>
19
<modules>
20
<MDN_Antidot>
21
+ <version>1.0.17</version>
22
</MDN_Antidot>
23
</modules>
24
<global>
149
150
<admin>
151
<routers>
152
+ <Antidotadmin>
153
<use>admin</use>
154
<args>
155
<module>MDN_Antidot</module>
156
+ <frontName>Antidotadmin</frontName>
157
</args>
158
+ </Antidotadmin>
159
</routers>
160
</admin>
161
app/code/community/MDN/Antidot/etc/system.xml CHANGED
@@ -374,8 +374,8 @@
374
</products>
375
<products_displayed translate="label">
376
<label>Number of products displayed</label>
377
- <frontend_type>select</frontend_type>
378
- <source_model>Antidot/System_Config_Number</source_model>
379
<sort_order>21</sort_order>
380
<show_in_default>1</show_in_default>
381
<show_in_website>1</show_in_website>
@@ -394,8 +394,8 @@
394
</brands>
395
<brands_displayed translate="label">
396
<label>Number of brands displayed</label>
397
- <frontend_type>select</frontend_type>
398
- <source_model>Antidot/System_Config_Number</source_model>
399
<sort_order>31</sort_order>
400
<show_in_default>1</show_in_default>
401
<show_in_website>1</show_in_website>
@@ -414,8 +414,8 @@
414
</categories>
415
<categories_displayed translate="label">
416
<label>Number of categories displayed</label>
417
- <frontend_type>select</frontend_type>
418
- <source_model>Antidot/System_Config_Number</source_model>
419
<sort_order>41</sort_order>
420
<show_in_default>1</show_in_default>
421
<show_in_website>1</show_in_website>
@@ -531,6 +531,7 @@
531
<facet_options translate="label">
532
<label>Max number of facet values</label>
533
<frontend_type>text</frontend_type>
534
<sort_order>60</sort_order>
535
<show_in_default>1</show_in_default>
536
<show_in_website>1</show_in_website>
374
</products>
375
<products_displayed translate="label">
376
<label>Number of products displayed</label>
377
+ <frontend_type>text</frontend_type>
378
+ <validate>validate-digits</validate>
379
<sort_order>21</sort_order>
380
<show_in_default>1</show_in_default>
381
<show_in_website>1</show_in_website>
394
</brands>
395
<brands_displayed translate="label">
396
<label>Number of brands displayed</label>
397
+ <frontend_type>text</frontend_type>
398
+ <validate>validate-digits</validate>
399
<sort_order>31</sort_order>
400
<show_in_default>1</show_in_default>
401
<show_in_website>1</show_in_website>
414
</categories>
415
<categories_displayed translate="label">
416
<label>Number of categories displayed</label>
417
+ <frontend_type>text</frontend_type>
418
+ <validate>validate-digits</validate>
419
<sort_order>41</sort_order>
420
<show_in_default>1</show_in_default>
421
<show_in_website>1</show_in_website>
531
<facet_options translate="label">
532
<label>Max number of facet values</label>
533
<frontend_type>text</frontend_type>
534
+ <validate>validate-digits</validate>
535
<sort_order>60</sort_order>
536
<show_in_default>1</show_in_default>
537
<show_in_website>1</show_in_website>
package.xml CHANGED
@@ -1,7 +1,7 @@
1
<?xml version="1.0"?>
2
<package>
3
<name>Antidot_Antidot</name>
4
- <version>1.0.16</version>
5
<stability>stable</stability>
6
<license>LGPL</license>
7
<channel>community</channel>
@@ -17,9 +17,9 @@ Prevent to export empty categories node&amp;#xD;
17
Add cdata for variant name&amp;#xD;
18
Add variant details for grouped products</notes>
19
<authors><author><name>Antidot</name><user>antidot</user><email>contact@antidot.net</email></author><author><name>Antidot</name><user>antidot</user><email>contact@antidot.net</email></author></authors>
20
- <date>2015-02-27</date>
21
- <time>10:36:54</time>
22
- <contents><target name="mage"><dir name="shell"><file name="antidotExport.php" hash="b5719d6cce70f9e3c1b2babc121ea5b1"/><file name="antidotExportCategory.php" hash="c6ec8609a42966292004123d5b40fe6e"/><file name="antidotExportInc.php" hash="1444df084b6f3dfacab5f6038a593e85"/><file name="antidotExportProduct.php" hash="3a6603f997db76b9b11524db6aa2d320"/></dir><dir name="i18n"><file name="de_DE" hash="f166a5ff29213a44fca77277b053897e"/><file name="en_US" hash="63c821044fda6f7c2a26dc84670b25bd"/><file name="es_ES" hash="f9319039054998955d63d51ed0930f3f"/><file name="fr_FR" hash="632367797f2fa9fef06e0b0c69377e01"/><file name="i18n.php" hash="104c26dcc76365069b274fa0e68588ec"/></dir></target><target name="magecommunity"><dir name="MDN"><dir name="Antidot"><dir name="Block"><dir name="Catalog"><dir name="Layer"><dir name="Filter"><file name="Attribute.php" hash="c8147e06452988877fd23de97e47ba7d"/><file name="Boolean.php" hash="0d301b2ca3c1c1e60a69dbfc043a8520"/><file name="Category.php" hash="695722041376ff47c15c78b233e32f29"/><file name="Decimal.php" hash="a5a605767a6b3322dcab4715f107b71c"/><file name="Price.php" hash="3e8fe52c943c4d7cc21062ebd63ff9a0"/></dir><file name="View.php" hash="95d6226dc5e264422511bc19dcf23358"/></dir></dir><dir name="Catalogsearch"><file name="Category.php" hash="e7fdd211e62b37cddac5649183e49dfe"/><dir name="Layer"><dir name="Filter"><file name="Attribute.php" hash="4b7dd735852366d7d999afaf1c5ad4b9"/></dir></dir><file name="Layer.php" hash="af32668e618033cda4adab8a12ebabcc"/><file name="Result.php" hash="9c3076c2a22ebf198f24f36a6d19f75c"/></dir><dir name="Html"><file name="Select.php" hash="9e12a50fecdc9185fb1f009584368c88"/></dir><dir name="System"><dir name="Config"><dir name="Button"><file name="PushArticles.php" hash="6de266a07e63e47ab9b32903f124608d"/><file name="PushBrands.php" hash="a98dfa0d019fee4fd7327084298361d9"/><file name="PushCategories.php" hash="93948e44a97c0d236bce2d976268794c"/><file name="PushProducts.php" hash="ab6c58cdb5b431fa5418979f16206911"/><file name="RestoreTemplate.php" hash="541d3141c4b1a8202e511a0978ec0de1"/><file name="ShowXml.php" hash="c70714536a6d46ce5d056d41fd62ead6"/></dir><dir name="Form"><dir name="Field"><dir name="Array"><file name="Additional.php" hash="a92ccc94d40b2c05ccf4b6dec8882eff"/><file name="ArticleAdditional.php" hash="506594804d3b624523e04481e8925b35"/><file name="ArticleIdentifier.php" hash="6e85e062f65eeed99dd3274cc689c47f"/><file name="DefaultSort.php" hash="d12eb339e80a7b38c111a63aa003ce6e"/><file name="Facet.php" hash="7ffdd3568f12a9495d39b943402dd861"/><file name="Identifier.php" hash="669eb4a937943dec8a577881f3f20d3c"/><file name="ProductAdditionalFacet.php" hash="3fd8f3957e8c364b39258cf32100b70d"/><file name="ProductAdditionalField.php" hash="9c245ddfb26372a9af712815ace7497b"/><file name="ProductIdentifier.php" hash="14dcf3125eae94145df4c802344cbfcd"/><file name="Sort.php" hash="f1a565e63b90a249fbae162fa2b90e54"/></dir><file name="CategoryAttribute.php" hash="6f20dd2ee95865d458ab37318ea47ad5"/><file name="ProductAttribute.php" hash="9475af9768d2f0bd3e8a1078eb3a03f9"/></dir></dir><dir name="Html"><file name="Export.php" hash="9814c5ed5cacb5792020344bf3f6b863"/><file name="ShowXml.php" hash="4b4012d9973dd397a91734f73d09df17"/><file name="Version.php" hash="7e780d7a124dffb964c63e7136bf161a"/></dir></dir></dir></dir><dir name="Helper"><file name="Antidot.php" hash="2acc8b8ab743de5f0872dd5c983ebd67"/><dir name="CatalogSearch"><file name="Data.php" hash="ffbbd7d6f1965fce0403c5a5eda73063"/></dir><file name="Compress.php" hash="7d284da9ec13c64f436817fd65947d32"/><file name="Data.php" hash="36ae4060d3637b4df20b49ec34b136bb"/><dir name="Enterprise"><dir name="Search"><file name="Data.php" hash="8bfe0146c64511f86cb796638b65112f"/></dir></dir><file name="LogExport.php" hash="9bd67e1c49e7b37fc1c0effd22233f26"/><dir name="ManaFilters"><file name="Data.php" hash="e5dd65e6e52c03427aa68528cc1f140a"/></dir><file name="Url.php" hash="156f1fb9c829919144ebb7fd01588f7e"/><file name="XmlWriter.php" hash="e2fc516875648d230da0cb276369b907"/></dir><dir name="Model"><dir name="Catalog"><dir name="Layer"><dir name="Filter"><file name="Attribute.php" hash="4a95baa6605e8d47ecf315c3cbd995b1"/><file name="Boolean.php" hash="7151f37fda430c2ceea55db8e39b0dc4"/><file name="Category.php" hash="062b705848d8be4fbba569c7f6bdfbe5"/><file name="Decimal.php" hash="32dc400184631b7913e68224f9aac9a2"/><file name="Item.php" hash="10cb250f8c2e8a763a18cf16f0f1800e"/><file name="Price.php" hash="946b42279612884380b984fef527a212"/></dir></dir><file name="Layer.php" hash="c83e63e6725830e545ab13890f69c5b7"/></dir><dir name="Catalogsearch"><dir name="Layer"><dir name="Filter"><file name="Attribute.php" hash="1b5f705dceb4cc62d1e6375332414872"/></dir></dir><file name="Layer.php" hash="e99d8aee533b6179cf0898c08dcdedca"/><dir name="Resource"><file name="Attribute.php" hash="766e331e27af9d114b946e023522956a"/></dir></dir><dir name="Export"><file name="Abstract.php" hash="7f8c2e5383d30259d5957322d5797329"/><file name="Article.php" hash="a724568ff3b207b1ce465310ebd585fa"/><file name="Brand.php" hash="84e0ee8e7760a987c615b079f9f0a28d"/><file name="Category.php" hash="99fb2befa7b91073896ed74702a313b9"/><file name="Product.php" hash="30fff92280cc13c38ed2f24426e76e62"/></dir><file name="Observer.php" hash="c0c03b2e05c5208d027337cbf523bf10"/><dir name="Resource"><file name="Advanced.php" hash="39a9d8a23da4824b32037b0365669c72"/><dir name="Catalog"><dir name="Product"><file name="Collection.php" hash="f253ebede0e548be73d85c374fd8a331"/></dir></dir><dir name="Engine"><file name="Abstract.php" hash="994a72dea3044cf66ca1ef2b28ec2120"/><file name="Antidot.php" hash="cc00b76451bb8375c5bba16495f38a22"/></dir></dir><dir name="Search"><file name="Abstract.php" hash="0ccd58da349eca4f5f1fce005f441e5f"/><file name="Search.php" hash="8d3dd7fd24a4757ed9995de5aeac18a2"/><file name="Suggest.php" hash="b98262c23946c303968a48152463c843"/></dir><dir name="System"><dir name="Config"><file name="ArticleAttribute.php" hash="1a826cf609a0f0c3c47bf4ef6564de24"/><dir name="Backend"><file name="Engine.php" hash="301dbcfff7ca9034b731443686b85a2e"/></dir><file name="CategoryAttribute.php" hash="7149c1efa8207038d7fd2023c9761c98"/><file name="Dir.php" hash="7df80dbf0ee36504dba95c1d243e88ff"/><file name="DisableEnable.php" hash="903763b2023bb0c8c53ba050a9effc0e"/><file name="Engine.php" hash="8547fb84cbdfb1e61526da1ac79e2d1c"/><file name="Facet.php" hash="0a5274c46a4dde0cbfc803464f35dd28"/><file name="Number.php" hash="addd25d977b6dfdab80e1d010ca3bd12"/><file name="Options.php" hash="341e4677d0a060a63731fb9015d66ae4"/><file name="ProductAttribute.php" hash="f8060f25a70a7e681f5021eedef5dfa8"/><file name="PromoteRedirect.php" hash="9639c16ad74cfc680bd3b727ba2cf331"/><file name="Sort.php" hash="ef8c019fd3ae439e1349d20d229af094"/><dir name="Suggest"><file name="Type.php" hash="f0c083bbaa7fd339832d14937afe1af1"/></dir><file name="WSStatus.php" hash="b469dc276dd3623e51f79ec433791bcc"/></dir></dir><dir name="Transport"><file name="Abstract.php" hash="1c1a1f70c5813872a871f5b558c21360"/><file name="File.php" hash="136190f20ed7f7a340771d3b78f03331"/><file name="Ftp.php" hash="d3fb3cd39a1fb7314757f3f82f8f4f95"/><file name="Http.php" hash="667a6f2d07034604b6ec6f2b48b55332"/><file name="Interface.php" hash="82c6c2d1748439a6850e90f6556fec92"/></dir><file name="Transport.php" hash="663e33aaf620ffd4f05292b4e6f27f42"/></dir><dir name="Test"><dir name="Model"><file name="Observer.php" hash="dbb68eeb8bf058173bf8efeff4be7cfc"/></dir><file name="PHPUnitUtil.php" hash="75929d9a9e18d0d3ab022a092399f043"/></dir><dir name="controllers"><dir name="Admin"><file name="PushController.php" hash="0cb3e55625acd83e255dac46704e82f3"/></dir><dir name="Front"><file name="SearchController.php" hash="c1514fc18b5412a9e9072bcca0352607"/></dir></dir><dir name="etc"><file name="config.xml" hash="0ac4c68f793a9f1637e8b58b1364793f"/><file name="system.xml" hash="859244584e7476d457077e3d8c420095"/></dir><dir name="sql"><dir name="Antidot_setup"><file name="mysql4-install-0.9.php" hash="62672bc47ea92dbd46966fb76e4251e0"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="template"><dir name="antidot"><dir name="catalog"><dir name="layer"><file name="category.phtml" hash="3ec81f7b3e3b947317da8664c8e15927"/><file name="filter.phtml" hash="2304baebff9b798e0ebd977fbc891346"/></dir></dir><dir name="catalogsearch"><file name="result.phtml" hash="12c082ddff0e6c4fef74630b8253face"/></dir></dir></dir></dir></dir><dir name="default"><dir name="default"><dir name="layout"><file name="antidot.xml" hash="654b0cbb9d7c3f7a0a506e3f6adf164b"/></dir><dir name="template"><dir name="antidot"><dir name="catalogsearch"><dir name="result"><file name="category.phtml" hash="7413580b825508f2cfc08566d62369ae"/></dir></dir></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="MDN_Antidot.xml" hash="988c6b7e9da4e50f1727956833ab1696"/></dir></target><target name="magelocale"><dir name="de_AT"><file name="MDN_Antidot.csv" hash="c45d0a82747927c46d886f94ab2304be"/></dir><dir name="de_CH"><file name="MDN_Antidot.csv" hash="c45d0a82747927c46d886f94ab2304be"/></dir><dir name="de_DE"><file name="MDN_Antidot.csv" hash="c45d0a82747927c46d886f94ab2304be"/></dir><dir name="es_AR"><file name="MDN_Antidot.csv" hash="03913d2a662791641b86b02955ef2c51"/></dir><dir name="es_CL"><file name="MDN_Antidot.csv" hash="03913d2a662791641b86b02955ef2c51"/></dir><dir name="es_CO"><file name="MDN_Antidot.csv" hash="03913d2a662791641b86b02955ef2c51"/></dir><dir name="es_CR"><file name="MDN_Antidot.csv" hash="03913d2a662791641b86b02955ef2c51"/></dir><dir name="es_ES"><file name="MDN_Antidot.csv" hash="03913d2a662791641b86b02955ef2c51"/></dir><dir name="es_MX"><file name="MDN_Antidot.csv" hash="03913d2a662791641b86b02955ef2c51"/></dir><dir name="es_PE"><file name="MDN_Antidot.csv" hash="03913d2a662791641b86b02955ef2c51"/></dir><dir name="es_VE"><file name="MDN_Antidot.csv" hash="03913d2a662791641b86b02955ef2c51"/></dir><dir name="fr_CA"><file name="MDN_Antidot.csv" hash="c72a1b1173e18386e86c1fc528965a7e"/></dir><dir name="fr_FR"><file name="MDN_Antidot.csv" hash="1abf2703c391918be00d576c06509285"/></dir></target><target name="mageweb"><dir name="js"><dir name="mdn"><dir name="antidot"><file name="CollapsibleLists.js" hash="86792ecde0c2759ba85e0d863dd147ce"/></dir></dir></dir></target><target name="magelib"><dir name="antidot"><dir name="AFS"><dir name="ACP"><file name="Makefile" hash="0f76232bfabc275a3dac973666fb5dae"/><dir name="TEST"><file name="Makefile" hash="ce56cc786e1df50148e1d3222c05e5f8"/><file name="acpConnectorTest.php" hash="25a8194f3dc8895640df4f4bba895d8e"/><file name="acpQueryTest.php" hash="74ad65a4af639a409ee72a75a2a043d6"/><file name="acpReplysetHelperTest.php" hash="4f0a0d471a06e139cd11c715b67ebe81"/><file name="acpResponseHelperTest.php" hash="6d30f99108db0d9956aef9ba5e1d88df"/><file name="acpTest.php" hash="d6119d150543e7943ba4e9907901ae5d"/></dir><file name="afs_acp.php" hash="78dbfbc92f68469c92898f1da4263e68"/><file name="afs_acp_configuration.php" hash="2d644cc6c5bf2cdaeca5780576c4bf0e"/><file name="afs_acp_connector.php" hash="cf872314b38a86ebe7bb56b19bce9236"/><file name="afs_acp_exception.php" hash="f610d2cc37a15d4b981d7b43939414ad"/><file name="afs_acp_query.php" hash="ced0629355f5d4fc1c219d1adb03297d"/><file name="afs_acp_query_manager.php" hash="b3348972a850c904fc664b4e27671439"/><file name="afs_acp_reply_helper.php" hash="b0259f24f10d2e92ed6e3b8cdaaacc44"/><file name="afs_acp_replyset_helper.php" hash="07e7fdb88a42a399c96261c47ffb0231"/><file name="afs_acp_response_helper.php" hash="33a66106fd3a94194514a0d8d39af1cd"/></dir><file name="Makefile" hash="7bb31592939024f74745d6b6cb7fec0b"/><dir name="SEARCH"><dir name="FILTER"><file name="Makefile" hash="d42338199c6857ded179af2117b9f571"/><dir name="TEST"><file name="Makefile" hash="ab37090c6c5e7af1b260376237737700"/><file name="filterBuilderTest.php" hash="161ff5c8e73914eef884d17456afa133"/><file name="filterCombinationTest.php" hash="2162288d5255d3b24fe94d75b939aa51"/><file name="filterTest.php" hash="1682c0a4d50158a8d2c9369d30e45a18"/><file name="groupFilterTest.php" hash="1ebe8ce7344ed64b93cf94632d3b0184"/></dir><file name="afs_combinable_filter.php" hash="336e6c6bc9ebae3f58602d23ef734182"/><file name="afs_combinator_filter.php" hash="e2fc560b9c0c31f20c73f2057a8b7b69"/><file name="afs_filter.php" hash="1efc032fd2615c82c350f69ba11860fa"/><file name="afs_filter_exception.php" hash="ccce583c63a4a65f7f0a27fc4a487505"/><file name="afs_filter_wrapper.php" hash="30dec104456abc037019ad93922b5afd"/><file name="afs_group_filter.php" hash="b95fa3bc0e26bc39dfc53a6010bce32f"/><file name="afs_operator_filter.php" hash="c7ea43c8d64eedbe33397f61737e0226"/><file name="afs_valued_filter.php" hash="483653071734f77972c9b9771e187d82"/></dir><file name="Makefile" hash="0f76232bfabc275a3dac973666fb5dae"/><dir name="TEST"><file name="Makefile" hash="ce56cc786e1df50148e1d3222c05e5f8"/><file name="clientDataHelperTest.php" hash="523abcf4ab7a42e16c39c2b02bae927c"/><file name="clusterHelperTest.php" hash="e112e7c756f63c8e8ceb554281b418c9"/><file name="conceptHelperTest.php" hash="b44e39b62d0537bf1f7b7feb23f8111f"/><file name="facetDefaultTest.php" hash="382e4ea35e1c7173371b4a84046a38e5"/><file name="facetHelperTest.php" hash="2c6fbec3f1d4dd6e37c089ac835a88b0"/><file name="facetManagerTest.php" hash="bbef8e207c387dbe6a26142fd55264d5"/><file name="facetTest.php" hash="f0264af2550394a4a3d944bc86dac667"/><file name="facetValuesSortOrderTest.php" hash="b650080bf9b2cce2ac42a245cb84c911"/><file name="feedCoderTest.php" hash="f2b5dfdd4fa3c4e5d14c790d15235146"/><file name="filterCoderTest.php" hash="46249fa13edccf1e5d5000daf2573b77"/><file name="headerHelperTest.php" hash="62185c34e1e9015bb12014d719287f06"/><file name="helperConfigurationTest.php" hash="be3f74e53e27744e8214f3c341172796"/><file name="intervalTest.php" hash="912389dad049853f6bf0b4eab2af5034"/><file name="metaHelperTest.php" hash="080f160b54636c4eee743544a6a12bee"/><file name="pagerHelperTest.php" hash="b756d39c29c1d3cfb2733ab13062542e"/><file name="promoteReplyHelperTest.php" hash="7cbb68a7f50c2bd2ef11a085ac94deb2"/><file name="promoteReplysetHelperTest.php" hash="749180b072997539d322c88c97c586d6"/><file name="queryCoderTest.php" hash="064979c30a7e215c486e34abce79b1b5"/><file name="queryTest.php" hash="c48bc5a88a788bbc4a26604b86d60454"/><file name="replyHelperTest.php" hash="5b3cfec02c640282bf4fec92353801d6"/><file name="replysetHelperTest.php" hash="fdb55d9a09f9198fb26b5fab3edc58c3"/><file name="responseHelperTest.php" hash="35969ff7882d97b93aa874fafd4b55c3"/><file name="searchConnectorTest.php" hash="9201de573884b643041b6c32bc535e7e"/><file name="searchQueryManagerTest.php" hash="2334d06f4247abfd69c2b4dc842cc404"/><file name="searchTest.php" hash="eeb7a86bd5b48108434fb93da4e0c0f2"/><file name="spellcheckHelperTest.php" hash="49960fb90055dcf265ef41e491c11325"/><file name="spellcheckTextVisitorTest.php" hash="203f0d08f548a39135517a41f6e9e43a"/><file name="textVisitorTest.php" hash="b722845dd0f5f953574cb51284ad025b"/></dir><file name="afs_base_reply_helper.php" hash="c1c3961f3cc03924fda382adf6e6c419"/><file name="afs_base_replyset_helper.php" hash="096b124a3ebdc6e8d6beb359bd8bb7c5"/><file name="afs_client_data_exception.php" hash="899957af974d04aa7eaca44903a7f86c"/><file name="afs_client_data_helper.php" hash="b2383fc244d6bbcda6de7387ae7b1b0d"/><file name="afs_cluster_exception.php" hash="86d97623db7aebaa28a20857ce2cf17f"/><file name="afs_cluster_helper.php" hash="60b7fbcc869a672929ef9fc6d840d2b2"/><file name="afs_coder_base.php" hash="fb87fbea43d12695154b3b6102e2a019"/><file name="afs_coder_interface.php" hash="3b179b2513e215751ee4edd190b2a719"/><file name="afs_concept_helper.php" hash="982cf3d2063c565cf19cc6136b049066"/><file name="afs_count.php" hash="9f83f3baa3cf4462c0db786f4eea479a"/><file name="afs_facet.php" hash="b5d89249e71741b0558dbb762ad1a077"/><file name="afs_facet_combination.php" hash="005e9742ee032194b86856195dd59f7d"/><file name="afs_facet_default.php" hash="cbcb5d28b7b00815ce5248017065e84b"/><file name="afs_facet_exception.php" hash="f1f0afdbf9a727b53c4731e5a40ac417"/><file name="afs_facet_helper.php" hash="63bf1e4b92cf1e1bdf06b7da54afd5f9"/><file name="afs_facet_helper_retriever.php" hash="5628cc41c50ab25fd3336df302d903f4"/><file name="afs_facet_layout.php" hash="c83f6fef1c13ba3cda667c611841ff87"/><file name="afs_facet_manager.php" hash="3f022435274cbb500699ea054461f4bf"/><file name="afs_facet_mode.php" hash="17f17d277168a017e66364be5ac85394"/><file name="afs_facet_sort.php" hash="0d7ba4059b10da9981b9c801355cb874"/><file name="afs_facet_type.php" hash="6df82cbfa627629f9523437994d1fbb1"/><file name="afs_facet_value_formatter.php" hash="d6580281f9ef5c0820615ac385aae863"/><file name="afs_facet_values_sort_mode.php" hash="17def98365132c810515f8cf3c6fb006"/><file name="afs_facet_values_sort_order.php" hash="f95f77cb5dd7015e4f2e6094ddba49a6"/><file name="afs_feed_coder.php" hash="0df08c2d4e30c9b99d56ce7fdbc1b40b"/><file name="afs_filter_coder.php" hash="6a528ece8d5999aab9eb0fffabea25e3"/><file name="afs_header_helper.php" hash="3b30d839efe9128773c82d47cbd591b8"/><file name="afs_helper_configuration.php" hash="dbd0378574fbc5729babfbddfef0fd67"/><file name="afs_interval.php" hash="dbf9749881be0a2b063f8a33dff214f3"/><file name="afs_interval_exception.php" hash="40f223de231df03aae59596c1a493065"/><file name="afs_meta_helper.php" hash="8403689868c98db725ebd11748508c8b"/><file name="afs_pager_helper.php" hash="8e93f8c060d2fedabbcbad5607a27807"/><file name="afs_producer.php" hash="7c8c515ccb8126523fa0d09a7f759dd5"/><file name="afs_promote_reply_helper.php" hash="b582c3064f0dff62514e28e91d715cf9"/><file name="afs_promote_replyset_helper.php" hash="fdefc6f8a686addb31ea9b6c0a3fa5ad"/><file name="afs_query.php" hash="015bc3e7d007943708f064a34582d6ef"/><file name="afs_query_coder.php" hash="87021c05f45168f11eae4045b999b347"/><file name="afs_query_coder_interface.php" hash="dd16f17b3606a7418c1c714475b19b51"/><file name="afs_query_object_interface.php" hash="a9af13e2c856e4136ccadfff60f72d36"/><file name="afs_raw_text_visitor.php" hash="fd574583c4c9110165c1cadc67b832de"/><file name="afs_reply_helper.php" hash="04a65217b88a53a951d687455986b2a6"/><file name="afs_reply_helper_factory.php" hash="119fba6f39a19ef27fb8c864158cc7a2"/><file name="afs_replyset_helper.php" hash="190b08443559c28a204e8cfb6826d441"/><file name="afs_response_exception.php" hash="0a865bb92fb700ae555dcb5ae675f644"/><file name="afs_response_helper.php" hash="1805fd45c11ef77121867bb84850bedd"/><file name="afs_search.php" hash="11770cf52edd84331988bf61228ab24a"/><file name="afs_search_connector.php" hash="17242fb6536f4596b2c0198a16986310"/><file name="afs_search_query_manager.php" hash="91ee821f87eaeb9f14d5313a19b3f807"/><file name="afs_sort_builtins.php" hash="0cc1617a62f1a834a28d7d2ac249b081"/><file name="afs_sort_coder.php" hash="543015ed1d40caa40317a231476ea06c"/><file name="afs_sort_order.php" hash="7755deb99386650c9974871474168cda"/><file name="afs_spellcheck_helper.php" hash="bb5465848ada7a9df9875f2565fb9686"/><file name="afs_spellcheck_text_helper.php" hash="3ca5c3118660aa600aadb504ceff6c4c"/><file name="afs_spellcheck_text_visitor.php" hash="c44c23ae21f61b065e457911bbc45ed2"/><file name="afs_text_helper.php" hash="59c4ae24560948c3af0f4adbf6bd1803"/><file name="afs_text_visitor.php" hash="867b44a280403cd4567358ec6d59588a"/></dir><file name="afs_configuration_base.php" hash="f26dd9efda4923cc2c71057f21be97d9"/><file name="afs_connector.php" hash="3e000a037ca1d64587a90f53dd6c888b"/><file name="afs_exception.php" hash="c1840fe279f9cb313cec151012ed4513"/><file name="afs_origin.php" hash="a6b7e39a687210572c116afcbea0e7cb"/><file name="afs_query_base.php" hash="63b8fba7bb5c17150e4af0e765deab27"/><file name="afs_response_helper_base.php" hash="b087f7bdad35ed0526566042ef9afc8c"/></dir><dir name="AIF"><file name="Makefile" hash="2d232abf9913fcabb44033d5e5d1ebfd"/><dir name="TEST"><file name="Makefile" hash="24d3030d27e88732028d14fb1d81c203"/><file name="afsMultipartResponseTest.php" hash="70a64d0d599ea01806fac2126fb3680a"/><file name="authenticationTest.php" hash="2e476e9ab15ee221ddd63bb555262a28"/><file name="bowsInformationTest.php" hash="3bbfe71f431a35f0285afdca40906874"/><file name="documentManagerTest.php" hash="ad90a6146f5aeee383355bb05425b3dd"/><file name="documentTest.php" hash="59b204b10b90cd764b259ad4c2bc043a"/><file name="pafConnectorTest.php" hash="ac2928b501d9ea167af43dbf3adafa7d"/><file name="pafLiveTest.php" hash="92862c31d151c34b2caf44bff9d0fb80"/></dir><file name="afs_about_connector.php" hash="8972264a9b7cce237ad1a4b47852b529"/><file name="afs_authentication.php" hash="4285035550c9681a047b85abbca64936"/><file name="afs_bows_connector.php" hash="47a6bcafd5eba2361d2cea409f60d3f7"/><file name="afs_bows_connector_interface.php" hash="8fdf9749f0500a39741d696feb55af14"/><file name="afs_bows_exception.php" hash="1bd8657a37b8b4a9e08bfc4eb6b7e416"/><file name="afs_bows_information.php" hash="1f96a4cd84b2332f1186f9e0cea8542d"/><file name="afs_bows_information_cache.php" hash="1ae9a9243342c4e58a52e70473b68472"/><file name="afs_document.php" hash="6a04f43252f67f6dd90cc23d03fa2b63"/><file name="afs_document_manager.php" hash="8c5c0105d9337b7ae6a9f041f643ea88"/><file name="afs_multipart_response.php" hash="f2077c9eaf121fabdb2fc26c23b2e256"/><file name="afs_paf_connector.php" hash="96111b0536c83874b7c06ada5577106b"/><file name="afs_paf_live_connector.php" hash="9efeb2716f6d95e666f9c37726869fe7"/><file name="afs_paf_upload_reply.php" hash="0cb4905d1c894637d5e6acbd2cffc112"/><file name="afs_token_authentication.php" hash="1f003310f156f0a71db1d273375172d8"/><file name="afs_user_authentication.php" hash="03deeead93ee32753f2f7f80cfc011f4"/></dir><dir name="COMMON"><file name="Makefile" hash="7bb31592939024f74745d6b6cb7fec0b"/><dir name="TEST"><file name="Makefile" hash="d568cfe3683543f363312aa4b6d2bbad"/><file name="languageTest.php" hash="ad0f75b1c2f320c81eba32cade86191c"/><file name="toolsTest.php" hash="9276cb1a275d697f8e8365f2ac340cdf"/><file name="userSessionManagerTest.php" hash="b2b78d6fa156f1a61065f8ee5bfc6e0b"/></dir><file name="afs_connector_base.php" hash="b6b1f091ec71e5b92e4a1e5ca958255f"/><file name="afs_connector_interface.php" hash="68ad5e20a861b85dbf198f79cd2afd4c"/><file name="afs_exception.php" hash="c45bcd565a4124da5d6b23a21d5845a5"/><file name="afs_helper_base.php" hash="839cca78a663c3a22b4a8e35d1460129"/><file name="afs_helper_format.php" hash="30a3f6e945db7412ef95e83e7b0b5898"/><file name="afs_language.php" hash="277acb15b86089b37c812c47f2141d3c"/><file name="afs_service.php" hash="12c00c906e130860120552c40fa9dbc2"/><file name="afs_service_status.php" hash="1dee172850a76b46987534df89013878"/><file name="afs_tools.php" hash="26f6c01c5a61987925385e7a35260399"/><file name="afs_user_session_manager.php" hash="abd625f6b7b5cecf386dac9d82887764"/><file name="afs_versions.php" hash="29dda789ed7b363dc512e3c52a9d80ce"/><dir name="php-SAI"><file name="README.md" hash="63ab581c83fe44918e6d074e20f08f95"/><dir name="lib"><dir name="Curl"><file name="Handle.php" hash="0fc7132737da7cee7df6b974447864ac"/></dir><file name="Curl.php" hash="358e4d3afca2035ee4d3f99f372ed15a"/><file name="CurlInterface.php" hash="714fa045dd4546d0c92cd022efb09422"/><file name="CurlStub.php" hash="fbdc0ece6321c5b5a1e27a65449f4a1f"/><dir name="rb_temp"><file name="HttpClient.php" hash="091b91c98acf9f1cd6c3d6d75cddfb88"/><file name="MultiCurl.php" hash="916e85d73bae6e136f889166ebc6db17"/><file name="SimpleCurl.php" hash="c296966a8bda96e03b464a1d3a9c8e06"/></dir></dir><dir name="tests"><file name="SAI_CurlStubTest.php" hash="bce69cbb17a40bd4eeba6bad1133216e"/></dir><file name=".gitignore" hash="455ed27e3ee2636761d16f833e4d3984"/></dir></dir><file name="COPYING" hash="b234ee4d69f5fce4486a80fdaf4a4263"/><file name="COPYING.LESSER" hash="4fbd65380cdd255951079008b364516c"/><file name="FAQ.md" hash="7d7c886674d70a0047303c5d93de6165"/><file name="Makefile" hash="225475a5a4a0204cecbb77621ff38bb2"/><file name="README.md" hash="c38fa0e7c5aa391c2842affdf89c4795"/><file name="afs_lib.doxygen" hash="4f5839371b1b6ba64f76029bc5865dbf"/><file name="afs_lib.php" hash="4e93523d71e8b083654ac85cb24f8c68"/><file name="afs_version.php" hash="c8db9ed5ee1881b6e31a60a471a81b8a"/><dir name="doc"><file name="afs_filter_documentation.dox" hash="3bf4b96e25d95ce5953b822038c6f135"/><file name="afs_paf_upload.dox" hash="d36893db0234f171e6cfb43f6e13d47c"/><file name="afs_search.dox" hash="b1c5ab8728703822f910852cd17561f4"/><file name="afs_search_coder.dox" hash="77709e1bc691301017f0982e0348a9b9"/><file name="afs_search_query.dox" hash="21dcd1734a165a4cb3b4f62c42a6a0be"/><file name="afs_search_reply.dox" hash="cdb1d42447671f4352927b40b3f8f37d"/><dir name="data"><file name="acp_helper_example.php" hash="2815890e7afbae78e7eb4e6fc5c88f6f"/><file name="full_example.php" hash="e152a964d06e55de460c596070c714d8"/><file name="full_lightweight_example.php" hash="eac3bb2d251052f547a9f737e5cd0461"/><file name="raw_example.php" hash="ed86e971114243f3b28fa39bcaa972b8"/><dir name="templates"><file name="error_template.html" hash="70f44bd0f45470d379a11d0a2fe507e4"/><file name="facet_template.html" hash="6836005a7dae45e9415273f1eb6b78e2"/><file name="facet_values_template.html" hash="9b41f2b55a1cecae5724b4fcd4a46cfb"/><file name="meta_template.html" hash="e664a3bb222d272ce2451fb10bf46de4"/><file name="pager_template.html" hash="2700ab5b60a1f9553b1c39374fda63d4"/><file name="result_template.html" hash="1572a4ef4e8dda0b3db1ea77bbed4a98"/><file name="spellcheck_template.html" hash="8042054a1f5a271b47c77f81436c4791"/></dir></dir><file name="detailled_integration_example_with_template.dox" hash="26ef377a6ef546b636a0e254d11d01f5"/><file name="lightweight_integration_example_with_template.dox" hash="5a388d2dbfad63ad6ec353407b79a6bb"/><file name="logo-antidot-long-200x41.png" hash="1ceac3fff767fb5e395bd767344a3d13"/><file name="main.dox" hash="ca3e97f95deead927fb3298ecafbad5e"/><file name="raw_integration_example.dox" hash="56a7126d008c2e49abdf9bf0b5ec9717"/><file name="template_prerequisites.dox" hash="baa24a943e19ff3654227850bd316abb"/><file name="templates_in_details.dox" hash="5e8db94382f1fbd6c4e0b424a9edc9a3"/></dir><file name="rules.mk" hash="9e3570d254b92d571849718d98492192"/><dir name="scripts"><file name="gen_doc.sh" hash="0f6fc60aca94da563397d3c710bd9d33"/><file name="increment_version.sh" hash="431db9c60d2f94d251be07957787fcb0"/><file name="print_version.sh" hash="a05ddc19cd27ff185721fe2bd0cffc25"/><file name="version_management.sh" hash="3d5ecd39f45ba081144b3033dbd14330"/></dir><file name=".gitignore" hash="14de6527ce1e67cea1543b75a2322165"/></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="css"><dir name="mdn"><dir name="antidot"><file name="CollapsibleLists.css" hash="c956d83facc41a97bf14726dcb953edb"/></dir></dir></dir><dir name="images"><dir name="mdn"><dir name="antidot"><file name="base.gif" hash="1f71b021e061a4948d69adc4ff10ccad"/><file name="button-closed.png" hash="563b78324e0712c0902cb4f77cb9eb86"/><file name="button-open.png" hash="c710849a0d2b61ad1f0fc36c0e59d131"/><file name="button.png" hash="97f3055c5046c851eea2dad7e5227508"/><file name="cd.gif" hash="f41037663522fab5c5c31530c7fa43d8"/><file name="empty.gif" hash="df22aff6e941ff1cc577333d1712b584"/><file name="folder.gif" hash="ea16980ab437fa6ba4aba3d480e83e9e"/><file name="folderopen.gif" hash="18aa3d75315bf95bf080357733437fcc"/><file name="globe.gif" hash="d6b48614cf8dc9553e077c19197637d2"/><file name="imgfolder.gif" hash="1d488d377762e65ab4e8b691ba01e5a4"/><file name="join.gif" hash="4d5d614e0da056df815a4306d6368692"/><file name="joinbottom.gif" hash="4b3daa7f2cc584f1aac0d142275d7cba"/><file name="line.gif" hash="63ab38a6203262f15ca46c631232ea2c"/><file name="list-item-contents.png" hash="00ae24d5bc76df9eedaea597859963e4"/><file name="list-item-last-open.png" hash="615ddd71f81b240e9ed7d4e383b2c01a"/><file name="list-item-last.png" hash="e2bfb790f46855c378e50f3c0a82ea01"/><file name="list-item-open.png" hash="732d1cc59f3a488c89c624eb434eac98"/><file name="list-item-root.png" hash="5529d21e7ec68e9cb750a4895ff0b480"/><file name="list-item.png" hash="e03ec1bf3d9e16bb3005ccf8d26eaa6c"/><file name="minus.gif" hash="d647fbbd0ec410b8f3bb3357b62eedcf"/><file name="minusbottom.gif" hash="b09d684cca7135ef728141aaf2464baa"/><file name="musicfolder.gif" hash="21ece951734f23adb2f75befe1f31fc1"/><file name="nolines_minus.gif" hash="eb2243a354ffcfac93ba0fe948f7167d"/><file name="nolines_plus.gif" hash="ec92b634b63608fb4b0dbf114e3b89e1"/><file name="page.gif" hash="c25b136c1cb3bb145495c25b35d93754"/><file name="plus.gif" hash="5c55d798909c553deca31d610bd18fac"/><file name="plusbottom.gif" hash="1924ce363c38a992f888a4df48c0b274"/><file name="question.gif" hash="ea0ca196ce0ebfd625cc1210abfdec6c"/><file name="trash.gif" hash="6cbfd3ed29531044aed9b4edb3cca9ad"/></dir></dir></dir></dir></dir></dir></target></contents>
23
<compatible/>
24
<dependencies><required><php><min>5.2.0</min><max>5.6.0</max></php><extension><name>curl</name><min/><max/></extension></required></dependencies>
25
</package>
1
<?xml version="1.0"?>
2
<package>
3
<name>Antidot_Antidot</name>
4
+ <version>1.0.17</version>
5
<stability>stable</stability>
6
<license>LGPL</license>
7
<channel>community</channel>
17
Add cdata for variant name&amp;#xD;
18
Add variant details for grouped products</notes>
19
<authors><author><name>Antidot</name><user>antidot</user><email>contact@antidot.net</email></author><author><name>Antidot</name><user>antidot</user><email>contact@antidot.net</email></author></authors>
20
+ <date>2015-03-13</date>
21
+ <time>11:33:11</time>
22
+ <contents><target name="mage"><dir name="shell"><file name="antidotExport.php" hash="b5719d6cce70f9e3c1b2babc121ea5b1"/><file name="antidotExportCategory.php" hash="c6ec8609a42966292004123d5b40fe6e"/><file name="antidotExportInc.php" hash="1444df084b6f3dfacab5f6038a593e85"/><file name="antidotExportProduct.php" hash="3a6603f997db76b9b11524db6aa2d320"/></dir><dir name="i18n"><file name="de_DE" hash="f166a5ff29213a44fca77277b053897e"/><file name="en_US" hash="63c821044fda6f7c2a26dc84670b25bd"/><file name="es_ES" hash="f9319039054998955d63d51ed0930f3f"/><file name="fr_FR" hash="632367797f2fa9fef06e0b0c69377e01"/><file name="i18n.php" hash="104c26dcc76365069b274fa0e68588ec"/></dir></target><target name="magecommunity"><dir name="MDN"><dir name="Antidot"><dir name="Block"><dir name="Catalog"><dir name="Layer"><dir name="Filter"><file name="Attribute.php" hash="c8147e06452988877fd23de97e47ba7d"/><file name="Boolean.php" hash="0d301b2ca3c1c1e60a69dbfc043a8520"/><file name="Category.php" hash="695722041376ff47c15c78b233e32f29"/><file name="Decimal.php" hash="a5a605767a6b3322dcab4715f107b71c"/><file name="Price.php" hash="3e8fe52c943c4d7cc21062ebd63ff9a0"/></dir><file name="View.php" hash="95d6226dc5e264422511bc19dcf23358"/></dir></dir><dir name="Catalogsearch"><file name="Category.php" hash="e7fdd211e62b37cddac5649183e49dfe"/><dir name="Layer"><dir name="Filter"><file name="Attribute.php" hash="4b7dd735852366d7d999afaf1c5ad4b9"/></dir></dir><file name="Layer.php" hash="c1d43a8ff0930cac311110fb28434e95"/><file name="Result.php" hash="9c3076c2a22ebf198f24f36a6d19f75c"/></dir><dir name="Html"><file name="Select.php" hash="9e12a50fecdc9185fb1f009584368c88"/></dir><dir name="System"><dir name="Config"><dir name="Button"><file name="PushArticles.php" hash="33bcfed4c5d168e8f429cb52b1fbac7d"/><file name="PushBrands.php" hash="d91fa99b4e25d3ac9393f3a4b263f70c"/><file name="PushCategories.php" hash="2968e1ad8329329491768b61fb13063d"/><file name="PushProducts.php" hash="c536d094f60a1789011cbd6dd4ccd94e"/><file name="RestoreTemplate.php" hash="541d3141c4b1a8202e511a0978ec0de1"/><file name="ShowXml.php" hash="c70714536a6d46ce5d056d41fd62ead6"/></dir><dir name="Form"><dir name="Field"><dir name="Array"><file name="Additional.php" hash="a92ccc94d40b2c05ccf4b6dec8882eff"/><file name="ArticleAdditional.php" hash="506594804d3b624523e04481e8925b35"/><file name="ArticleIdentifier.php" hash="6e85e062f65eeed99dd3274cc689c47f"/><file name="DefaultSort.php" hash="d12eb339e80a7b38c111a63aa003ce6e"/><file name="Facet.php" hash="7ffdd3568f12a9495d39b943402dd861"/><file name="Identifier.php" hash="669eb4a937943dec8a577881f3f20d3c"/><file name="ProductAdditionalFacet.php" hash="3fd8f3957e8c364b39258cf32100b70d"/><file name="ProductAdditionalField.php" hash="9c245ddfb26372a9af712815ace7497b"/><file name="ProductIdentifier.php" hash="14dcf3125eae94145df4c802344cbfcd"/><file name="Sort.php" hash="f1a565e63b90a249fbae162fa2b90e54"/></dir><file name="CategoryAttribute.php" hash="6f20dd2ee95865d458ab37318ea47ad5"/><file name="ProductAttribute.php" hash="9475af9768d2f0bd3e8a1078eb3a03f9"/></dir></dir><dir name="Html"><file name="Export.php" hash="9814c5ed5cacb5792020344bf3f6b863"/><file name="ShowXml.php" hash="4b4012d9973dd397a91734f73d09df17"/><file name="Version.php" hash="7e780d7a124dffb964c63e7136bf161a"/></dir></dir></dir></dir><dir name="Helper"><file name="Antidot.php" hash="2acc8b8ab743de5f0872dd5c983ebd67"/><dir name="CatalogSearch"><file name="Data.php" hash="ffbbd7d6f1965fce0403c5a5eda73063"/></dir><file name="Compress.php" hash="7d284da9ec13c64f436817fd65947d32"/><file name="Data.php" hash="36ae4060d3637b4df20b49ec34b136bb"/><dir name="Enterprise"><dir name="Search"><file name="Data.php" hash="8bfe0146c64511f86cb796638b65112f"/></dir></dir><file name="LogExport.php" hash="9bd67e1c49e7b37fc1c0effd22233f26"/><dir name="ManaFilters"><file name="Data.php" hash="e5dd65e6e52c03427aa68528cc1f140a"/></dir><file name="Url.php" hash="156f1fb9c829919144ebb7fd01588f7e"/><file name="XmlWriter.php" hash="91a30b09dd02cd12dd3f1f065476569c"/></dir><dir name="Model"><dir name="Catalog"><dir name="Layer"><dir name="Filter"><file name="Attribute.php" hash="4a95baa6605e8d47ecf315c3cbd995b1"/><file name="Boolean.php" hash="7151f37fda430c2ceea55db8e39b0dc4"/><file name="Category.php" hash="062b705848d8be4fbba569c7f6bdfbe5"/><file name="Decimal.php" hash="32dc400184631b7913e68224f9aac9a2"/><file name="Item.php" hash="10cb250f8c2e8a763a18cf16f0f1800e"/><file name="Price.php" hash="946b42279612884380b984fef527a212"/></dir></dir><file name="Layer.php" hash="c83e63e6725830e545ab13890f69c5b7"/></dir><dir name="Catalogsearch"><dir name="Layer"><dir name="Filter"><file name="Attribute.php" hash="1b5f705dceb4cc62d1e6375332414872"/></dir></dir><file name="Layer.php" hash="e99d8aee533b6179cf0898c08dcdedca"/><dir name="Resource"><file name="Attribute.php" hash="766e331e27af9d114b946e023522956a"/></dir></dir><dir name="Export"><file name="Abstract.php" hash="7f8c2e5383d30259d5957322d5797329"/><file name="Article.php" hash="a724568ff3b207b1ce465310ebd585fa"/><file name="Brand.php" hash="84e0ee8e7760a987c615b079f9f0a28d"/><file name="Category.php" hash="99fb2befa7b91073896ed74702a313b9"/><file name="Product.php" hash="d8066ce44f4cd683f676bd57f21767a8"/></dir><file name="Observer.php" hash="785bfcfc560bec199d0013bea70ec0f1"/><dir name="Resource"><file name="Advanced.php" hash="39a9d8a23da4824b32037b0365669c72"/><dir name="Catalog"><dir name="Product"><file name="Collection.php" hash="a136057b3cd365b36ac7a5f4cc1a7e0d"/></dir></dir><dir name="Engine"><file name="Abstract.php" hash="994a72dea3044cf66ca1ef2b28ec2120"/><file name="Antidot.php" hash="9b974d8077db52d080a92cb8c68bfda8"/></dir></dir><dir name="Search"><file name="Abstract.php" hash="0ccd58da349eca4f5f1fce005f441e5f"/><file name="Search.php" hash="7b01ae94b89b294e0283ce94088f6994"/><file name="Suggest.php" hash="931bbac84d6ecfc565507596d850d598"/></dir><dir name="System"><dir name="Config"><file name="ArticleAttribute.php" hash="1a826cf609a0f0c3c47bf4ef6564de24"/><dir name="Backend"><file name="Engine.php" hash="301dbcfff7ca9034b731443686b85a2e"/></dir><file name="CategoryAttribute.php" hash="7149c1efa8207038d7fd2023c9761c98"/><file name="Dir.php" hash="7df80dbf0ee36504dba95c1d243e88ff"/><file name="DisableEnable.php" hash="903763b2023bb0c8c53ba050a9effc0e"/><file name="Engine.php" hash="8547fb84cbdfb1e61526da1ac79e2d1c"/><file name="Facet.php" hash="0a5274c46a4dde0cbfc803464f35dd28"/><file name="Number.php" hash="addd25d977b6dfdab80e1d010ca3bd12"/><file name="Options.php" hash="341e4677d0a060a63731fb9015d66ae4"/><file name="ProductAttribute.php" hash="f8060f25a70a7e681f5021eedef5dfa8"/><file name="PromoteRedirect.php" hash="9639c16ad74cfc680bd3b727ba2cf331"/><file name="Sort.php" hash="ef8c019fd3ae439e1349d20d229af094"/><dir name="Suggest"><file name="Type.php" hash="f0c083bbaa7fd339832d14937afe1af1"/></dir><file name="WSStatus.php" hash="b469dc276dd3623e51f79ec433791bcc"/></dir></dir><dir name="Transport"><file name="Abstract.php" hash="1c1a1f70c5813872a871f5b558c21360"/><file name="File.php" hash="136190f20ed7f7a340771d3b78f03331"/><file name="Ftp.php" hash="d3fb3cd39a1fb7314757f3f82f8f4f95"/><file name="Http.php" hash="667a6f2d07034604b6ec6f2b48b55332"/><file name="Interface.php" hash="82c6c2d1748439a6850e90f6556fec92"/></dir><file name="Transport.php" hash="663e33aaf620ffd4f05292b4e6f27f42"/></dir><dir name="controllers"><dir name="Admin"><file name="PushController.php" hash="0cb3e55625acd83e255dac46704e82f3"/></dir><dir name="Front"><file name="SearchController.php" hash="c1514fc18b5412a9e9072bcca0352607"/></dir></dir><dir name="etc"><file name="config.xml" hash="5a5036ee21f3465e82671e26bfc2987f"/><file name="system.xml" hash="5eb159f7b09a3e97247d324db7b883b7"/></dir><dir name="sql"><dir name="Antidot_setup"><file name="mysql4-install-0.9.php" hash="62672bc47ea92dbd46966fb76e4251e0"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="template"><dir name="antidot"><dir name="catalog"><dir name="layer"><file name="category.phtml" hash="3ec81f7b3e3b947317da8664c8e15927"/><file name="filter.phtml" hash="2304baebff9b798e0ebd977fbc891346"/></dir></dir><dir name="catalogsearch"><file name="result.phtml" hash="12c082ddff0e6c4fef74630b8253face"/></dir></dir></dir></dir></dir><dir name="default"><dir name="default"><dir name="layout"><file name="antidot.xml" hash="654b0cbb9d7c3f7a0a506e3f6adf164b"/></dir><dir name="template"><dir name="antidot"><dir name="catalogsearch"><dir name="result"><file name="category.phtml" hash="7413580b825508f2cfc08566d62369ae"/></dir></dir></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="MDN_Antidot.xml" hash="988c6b7e9da4e50f1727956833ab1696"/></dir></target><target name="magelocale"><dir name="de_AT"><file name="MDN_Antidot.csv" hash="c45d0a82747927c46d886f94ab2304be"/></dir><dir name="de_CH"><file name="MDN_Antidot.csv" hash="c45d0a82747927c46d886f94ab2304be"/></dir><dir name="de_DE"><file name="MDN_Antidot.csv" hash="c45d0a82747927c46d886f94ab2304be"/></dir><dir name="es_AR"><file name="MDN_Antidot.csv" hash="03913d2a662791641b86b02955ef2c51"/></dir><dir name="es_CL"><file name="MDN_Antidot.csv" hash="03913d2a662791641b86b02955ef2c51"/></dir><dir name="es_CO"><file name="MDN_Antidot.csv" hash="03913d2a662791641b86b02955ef2c51"/></dir><dir name="es_CR"><file name="MDN_Antidot.csv" hash="03913d2a662791641b86b02955ef2c51"/></dir><dir name="es_ES"><file name="MDN_Antidot.csv" hash="03913d2a662791641b86b02955ef2c51"/></dir><dir name="es_MX"><file name="MDN_Antidot.csv" hash="03913d2a662791641b86b02955ef2c51"/></dir><dir name="es_PE"><file name="MDN_Antidot.csv" hash="03913d2a662791641b86b02955ef2c51"/></dir><dir name="es_VE"><file name="MDN_Antidot.csv" hash="03913d2a662791641b86b02955ef2c51"/></dir><dir name="fr_CA"><file name="MDN_Antidot.csv" hash="c72a1b1173e18386e86c1fc528965a7e"/></dir><dir name="fr_FR"><file name="MDN_Antidot.csv" hash="1abf2703c391918be00d576c06509285"/></dir></target><target name="mageweb"><dir name="js"><dir name="mdn"><dir name="antidot"><file name="CollapsibleLists.js" hash="86792ecde0c2759ba85e0d863dd147ce"/></dir></dir></dir></target><target name="magelib"><dir name="antidot"><dir name="AFS"><dir name="ACP"><file name="Makefile" hash="0f76232bfabc275a3dac973666fb5dae"/><dir name="TEST"><file name="Makefile" hash="ce56cc786e1df50148e1d3222c05e5f8"/><file name="acpConnectorTest.php" hash="25a8194f3dc8895640df4f4bba895d8e"/><file name="acpQueryTest.php" hash="74ad65a4af639a409ee72a75a2a043d6"/><file name="acpReplysetHelperTest.php" hash="4f0a0d471a06e139cd11c715b67ebe81"/><file name="acpResponseHelperTest.php" hash="6d30f99108db0d9956aef9ba5e1d88df"/><file name="acpTest.php" hash="d6119d150543e7943ba4e9907901ae5d"/></dir><file name="afs_acp.php" hash="78dbfbc92f68469c92898f1da4263e68"/><file name="afs_acp_configuration.php" hash="2d644cc6c5bf2cdaeca5780576c4bf0e"/><file name="afs_acp_connector.php" hash="cf872314b38a86ebe7bb56b19bce9236"/><file name="afs_acp_exception.php" hash="f610d2cc37a15d4b981d7b43939414ad"/><file name="afs_acp_query.php" hash="ced0629355f5d4fc1c219d1adb03297d"/><file name="afs_acp_query_manager.php" hash="b3348972a850c904fc664b4e27671439"/><file name="afs_acp_reply_helper.php" hash="b0259f24f10d2e92ed6e3b8cdaaacc44"/><file name="afs_acp_replyset_helper.php" hash="07e7fdb88a42a399c96261c47ffb0231"/><file name="afs_acp_response_helper.php" hash="33a66106fd3a94194514a0d8d39af1cd"/></dir><file name="Makefile" hash="7bb31592939024f74745d6b6cb7fec0b"/><dir name="SEARCH"><dir name="FILTER"><file name="Makefile" hash="d42338199c6857ded179af2117b9f571"/><dir name="TEST"><file name="Makefile" hash="ab37090c6c5e7af1b260376237737700"/><file name="filterBuilderTest.php" hash="161ff5c8e73914eef884d17456afa133"/><file name="filterCombinationTest.php" hash="2162288d5255d3b24fe94d75b939aa51"/><file name="filterTest.php" hash="1682c0a4d50158a8d2c9369d30e45a18"/><file name="groupFilterTest.php" hash="1ebe8ce7344ed64b93cf94632d3b0184"/></dir><file name="afs_combinable_filter.php" hash="336e6c6bc9ebae3f58602d23ef734182"/><file name="afs_combinator_filter.php" hash="e2fc560b9c0c31f20c73f2057a8b7b69"/><file name="afs_filter.php" hash="1efc032fd2615c82c350f69ba11860fa"/><file name="afs_filter_exception.php" hash="ccce583c63a4a65f7f0a27fc4a487505"/><file name="afs_filter_wrapper.php" hash="30dec104456abc037019ad93922b5afd"/><file name="afs_group_filter.php" hash="b95fa3bc0e26bc39dfc53a6010bce32f"/><file name="afs_operator_filter.php" hash="c7ea43c8d64eedbe33397f61737e0226"/><file name="afs_valued_filter.php" hash="483653071734f77972c9b9771e187d82"/></dir><file name="Makefile" hash="0f76232bfabc275a3dac973666fb5dae"/><dir name="TEST"><file name="Makefile" hash="ce56cc786e1df50148e1d3222c05e5f8"/><file name="clientDataHelperTest.php" hash="523abcf4ab7a42e16c39c2b02bae927c"/><file name="clusterHelperTest.php" hash="e112e7c756f63c8e8ceb554281b418c9"/><file name="conceptHelperTest.php" hash="b44e39b62d0537bf1f7b7feb23f8111f"/><file name="facetDefaultTest.php" hash="382e4ea35e1c7173371b4a84046a38e5"/><file name="facetHelperTest.php" hash="2c6fbec3f1d4dd6e37c089ac835a88b0"/><file name="facetManagerTest.php" hash="bbef8e207c387dbe6a26142fd55264d5"/><file name="facetTest.php" hash="f0264af2550394a4a3d944bc86dac667"/><file name="facetValuesSortOrderTest.php" hash="b650080bf9b2cce2ac42a245cb84c911"/><file name="feedCoderTest.php" hash="f2b5dfdd4fa3c4e5d14c790d15235146"/><file name="filterCoderTest.php" hash="46249fa13edccf1e5d5000daf2573b77"/><file name="headerHelperTest.php" hash="62185c34e1e9015bb12014d719287f06"/><file name="helperConfigurationTest.php" hash="be3f74e53e27744e8214f3c341172796"/><file name="intervalTest.php" hash="912389dad049853f6bf0b4eab2af5034"/><file name="metaHelperTest.php" hash="080f160b54636c4eee743544a6a12bee"/><file name="pagerHelperTest.php" hash="b756d39c29c1d3cfb2733ab13062542e"/><file name="promoteReplyHelperTest.php" hash="7cbb68a7f50c2bd2ef11a085ac94deb2"/><file name="promoteReplysetHelperTest.php" hash="749180b072997539d322c88c97c586d6"/><file name="queryCoderTest.php" hash="064979c30a7e215c486e34abce79b1b5"/><file name="queryTest.php" hash="c48bc5a88a788bbc4a26604b86d60454"/><file name="replyHelperTest.php" hash="5b3cfec02c640282bf4fec92353801d6"/><file name="replysetHelperTest.php" hash="fdb55d9a09f9198fb26b5fab3edc58c3"/><file name="responseHelperTest.php" hash="35969ff7882d97b93aa874fafd4b55c3"/><file name="searchConnectorTest.php" hash="9201de573884b643041b6c32bc535e7e"/><file name="searchQueryManagerTest.php" hash="2334d06f4247abfd69c2b4dc842cc404"/><file name="searchTest.php" hash="eeb7a86bd5b48108434fb93da4e0c0f2"/><file name="spellcheckHelperTest.php" hash="49960fb90055dcf265ef41e491c11325"/><file name="spellcheckTextVisitorTest.php" hash="203f0d08f548a39135517a41f6e9e43a"/><file name="textVisitorTest.php" hash="b722845dd0f5f953574cb51284ad025b"/></dir><file name="afs_base_reply_helper.php" hash="c1c3961f3cc03924fda382adf6e6c419"/><file name="afs_base_replyset_helper.php" hash="096b124a3ebdc6e8d6beb359bd8bb7c5"/><file name="afs_client_data_exception.php" hash="899957af974d04aa7eaca44903a7f86c"/><file name="afs_client_data_helper.php" hash="b2383fc244d6bbcda6de7387ae7b1b0d"/><file name="afs_cluster_exception.php" hash="86d97623db7aebaa28a20857ce2cf17f"/><file name="afs_cluster_helper.php" hash="60b7fbcc869a672929ef9fc6d840d2b2"/><file name="afs_coder_base.php" hash="fb87fbea43d12695154b3b6102e2a019"/><file name="afs_coder_interface.php" hash="3b179b2513e215751ee4edd190b2a719"/><file name="afs_concept_helper.php" hash="982cf3d2063c565cf19cc6136b049066"/><file name="afs_count.php" hash="9f83f3baa3cf4462c0db786f4eea479a"/><file name="afs_facet.php" hash="b5d89249e71741b0558dbb762ad1a077"/><file name="afs_facet_combination.php" hash="005e9742ee032194b86856195dd59f7d"/><file name="afs_facet_default.php" hash="cbcb5d28b7b00815ce5248017065e84b"/><file name="afs_facet_exception.php" hash="f1f0afdbf9a727b53c4731e5a40ac417"/><file name="afs_facet_helper.php" hash="63bf1e4b92cf1e1bdf06b7da54afd5f9"/><file name="afs_facet_helper_retriever.php" hash="5628cc41c50ab25fd3336df302d903f4"/><file name="afs_facet_layout.php" hash="c83f6fef1c13ba3cda667c611841ff87"/><file name="afs_facet_manager.php" hash="3f022435274cbb500699ea054461f4bf"/><file name="afs_facet_mode.php" hash="17f17d277168a017e66364be5ac85394"/><file name="afs_facet_sort.php" hash="0d7ba4059b10da9981b9c801355cb874"/><file name="afs_facet_type.php" hash="6df82cbfa627629f9523437994d1fbb1"/><file name="afs_facet_value_formatter.php" hash="d6580281f9ef5c0820615ac385aae863"/><file name="afs_facet_values_sort_mode.php" hash="17def98365132c810515f8cf3c6fb006"/><file name="afs_facet_values_sort_order.php" hash="f95f77cb5dd7015e4f2e6094ddba49a6"/><file name="afs_feed_coder.php" hash="0df08c2d4e30c9b99d56ce7fdbc1b40b"/><file name="afs_filter_coder.php" hash="6a528ece8d5999aab9eb0fffabea25e3"/><file name="afs_header_helper.php" hash="3b30d839efe9128773c82d47cbd591b8"/><file name="afs_helper_configuration.php" hash="dbd0378574fbc5729babfbddfef0fd67"/><file name="afs_interval.php" hash="dbf9749881be0a2b063f8a33dff214f3"/><file name="afs_interval_exception.php" hash="40f223de231df03aae59596c1a493065"/><file name="afs_meta_helper.php" hash="8403689868c98db725ebd11748508c8b"/><file name="afs_pager_helper.php" hash="8e93f8c060d2fedabbcbad5607a27807"/><file name="afs_producer.php" hash="7c8c515ccb8126523fa0d09a7f759dd5"/><file name="afs_promote_reply_helper.php" hash="b582c3064f0dff62514e28e91d715cf9"/><file name="afs_promote_replyset_helper.php" hash="fdefc6f8a686addb31ea9b6c0a3fa5ad"/><file name="afs_query.php" hash="015bc3e7d007943708f064a34582d6ef"/><file name="afs_query_coder.php" hash="87021c05f45168f11eae4045b999b347"/><file name="afs_query_coder_interface.php" hash="dd16f17b3606a7418c1c714475b19b51"/><file name="afs_query_object_interface.php" hash="a9af13e2c856e4136ccadfff60f72d36"/><file name="afs_raw_text_visitor.php" hash="fd574583c4c9110165c1cadc67b832de"/><file name="afs_reply_helper.php" hash="04a65217b88a53a951d687455986b2a6"/><file name="afs_reply_helper_factory.php" hash="119fba6f39a19ef27fb8c864158cc7a2"/><file name="afs_replyset_helper.php" hash="190b08443559c28a204e8cfb6826d441"/><file name="afs_response_exception.php" hash="0a865bb92fb700ae555dcb5ae675f644"/><file name="afs_response_helper.php" hash="1805fd45c11ef77121867bb84850bedd"/><file name="afs_search.php" hash="11770cf52edd84331988bf61228ab24a"/><file name="afs_search_connector.php" hash="17242fb6536f4596b2c0198a16986310"/><file name="afs_search_query_manager.php" hash="91ee821f87eaeb9f14d5313a19b3f807"/><file name="afs_sort_builtins.php" hash="0cc1617a62f1a834a28d7d2ac249b081"/><file name="afs_sort_coder.php" hash="543015ed1d40caa40317a231476ea06c"/><file name="afs_sort_order.php" hash="7755deb99386650c9974871474168cda"/><file name="afs_spellcheck_helper.php" hash="bb5465848ada7a9df9875f2565fb9686"/><file name="afs_spellcheck_text_helper.php" hash="3ca5c3118660aa600aadb504ceff6c4c"/><file name="afs_spellcheck_text_visitor.php" hash="c44c23ae21f61b065e457911bbc45ed2"/><file name="afs_text_helper.php" hash="59c4ae24560948c3af0f4adbf6bd1803"/><file name="afs_text_visitor.php" hash="867b44a280403cd4567358ec6d59588a"/></dir><file name="afs_configuration_base.php" hash="f26dd9efda4923cc2c71057f21be97d9"/><file name="afs_connector.php" hash="3e000a037ca1d64587a90f53dd6c888b"/><file name="afs_exception.php" hash="c1840fe279f9cb313cec151012ed4513"/><file name="afs_origin.php" hash="a6b7e39a687210572c116afcbea0e7cb"/><file name="afs_query_base.php" hash="63b8fba7bb5c17150e4af0e765deab27"/><file name="afs_response_helper_base.php" hash="b087f7bdad35ed0526566042ef9afc8c"/></dir><dir name="AIF"><file name="Makefile" hash="2d232abf9913fcabb44033d5e5d1ebfd"/><dir name="TEST"><file name="Makefile" hash="24d3030d27e88732028d14fb1d81c203"/><file name="afsMultipartResponseTest.php" hash="70a64d0d599ea01806fac2126fb3680a"/><file name="authenticationTest.php" hash="2e476e9ab15ee221ddd63bb555262a28"/><file name="bowsInformationTest.php" hash="3bbfe71f431a35f0285afdca40906874"/><file name="documentManagerTest.php" hash="ad90a6146f5aeee383355bb05425b3dd"/><file name="documentTest.php" hash="59b204b10b90cd764b259ad4c2bc043a"/><file name="pafConnectorTest.php" hash="ac2928b501d9ea167af43dbf3adafa7d"/><file name="pafLiveTest.php" hash="92862c31d151c34b2caf44bff9d0fb80"/></dir><file name="afs_about_connector.php" hash="8972264a9b7cce237ad1a4b47852b529"/><file name="afs_authentication.php" hash="4285035550c9681a047b85abbca64936"/><file name="afs_bows_connector.php" hash="47a6bcafd5eba2361d2cea409f60d3f7"/><file name="afs_bows_connector_interface.php" hash="8fdf9749f0500a39741d696feb55af14"/><file name="afs_bows_exception.php" hash="1bd8657a37b8b4a9e08bfc4eb6b7e416"/><file name="afs_bows_information.php" hash="1f96a4cd84b2332f1186f9e0cea8542d"/><file name="afs_bows_information_cache.php" hash="1ae9a9243342c4e58a52e70473b68472"/><file name="afs_document.php" hash="6a04f43252f67f6dd90cc23d03fa2b63"/><file name="afs_document_manager.php" hash="8c5c0105d9337b7ae6a9f041f643ea88"/><file name="afs_multipart_response.php" hash="f2077c9eaf121fabdb2fc26c23b2e256"/><file name="afs_paf_connector.php" hash="96111b0536c83874b7c06ada5577106b"/><file name="afs_paf_live_connector.php" hash="9efeb2716f6d95e666f9c37726869fe7"/><file name="afs_paf_upload_reply.php" hash="0cb4905d1c894637d5e6acbd2cffc112"/><file name="afs_token_authentication.php" hash="1f003310f156f0a71db1d273375172d8"/><file name="afs_user_authentication.php" hash="03deeead93ee32753f2f7f80cfc011f4"/></dir><dir name="COMMON"><file name="Makefile" hash="7bb31592939024f74745d6b6cb7fec0b"/><dir name="TEST"><file name="Makefile" hash="d568cfe3683543f363312aa4b6d2bbad"/><file name="languageTest.php" hash="ad0f75b1c2f320c81eba32cade86191c"/><file name="toolsTest.php" hash="9276cb1a275d697f8e8365f2ac340cdf"/><file name="userSessionManagerTest.php" hash="b2b78d6fa156f1a61065f8ee5bfc6e0b"/></dir><file name="afs_connector_base.php" hash="b6b1f091ec71e5b92e4a1e5ca958255f"/><file name="afs_connector_interface.php" hash="68ad5e20a861b85dbf198f79cd2afd4c"/><file name="afs_exception.php" hash="c45bcd565a4124da5d6b23a21d5845a5"/><file name="afs_helper_base.php" hash="839cca78a663c3a22b4a8e35d1460129"/><file name="afs_helper_format.php" hash="30a3f6e945db7412ef95e83e7b0b5898"/><file name="afs_language.php" hash="277acb15b86089b37c812c47f2141d3c"/><file name="afs_service.php" hash="12c00c906e130860120552c40fa9dbc2"/><file name="afs_service_status.php" hash="1dee172850a76b46987534df89013878"/><file name="afs_tools.php" hash="26f6c01c5a61987925385e7a35260399"/><file name="afs_user_session_manager.php" hash="abd625f6b7b5cecf386dac9d82887764"/><file name="afs_versions.php" hash="29dda789ed7b363dc512e3c52a9d80ce"/><dir name="php-SAI"><file name="README.md" hash="63ab581c83fe44918e6d074e20f08f95"/><dir name="lib"><dir name="Curl"><file name="Handle.php" hash="0fc7132737da7cee7df6b974447864ac"/></dir><file name="Curl.php" hash="358e4d3afca2035ee4d3f99f372ed15a"/><file name="CurlInterface.php" hash="714fa045dd4546d0c92cd022efb09422"/><file name="CurlStub.php" hash="fbdc0ece6321c5b5a1e27a65449f4a1f"/><dir name="rb_temp"><file name="HttpClient.php" hash="091b91c98acf9f1cd6c3d6d75cddfb88"/><file name="MultiCurl.php" hash="916e85d73bae6e136f889166ebc6db17"/><file name="SimpleCurl.php" hash="c296966a8bda96e03b464a1d3a9c8e06"/></dir></dir><dir name="tests"><file name="SAI_CurlStubTest.php" hash="bce69cbb17a40bd4eeba6bad1133216e"/></dir><file name=".gitignore" hash="455ed27e3ee2636761d16f833e4d3984"/></dir></dir><file name="COPYING" hash="b234ee4d69f5fce4486a80fdaf4a4263"/><file name="COPYING.LESSER" hash="4fbd65380cdd255951079008b364516c"/><file name="FAQ.md" hash="7d7c886674d70a0047303c5d93de6165"/><file name="Makefile" hash="225475a5a4a0204cecbb77621ff38bb2"/><file name="README.md" hash="c38fa0e7c5aa391c2842affdf89c4795"/><file name="afs_lib.doxygen" hash="4f5839371b1b6ba64f76029bc5865dbf"/><file name="afs_lib.php" hash="4e93523d71e8b083654ac85cb24f8c68"/><file name="afs_version.php" hash="c8db9ed5ee1881b6e31a60a471a81b8a"/><dir name="doc"><file name="afs_filter_documentation.dox" hash="3bf4b96e25d95ce5953b822038c6f135"/><file name="afs_paf_upload.dox" hash="d36893db0234f171e6cfb43f6e13d47c"/><file name="afs_search.dox" hash="b1c5ab8728703822f910852cd17561f4"/><file name="afs_search_coder.dox" hash="77709e1bc691301017f0982e0348a9b9"/><file name="afs_search_query.dox" hash="21dcd1734a165a4cb3b4f62c42a6a0be"/><file name="afs_search_reply.dox" hash="cdb1d42447671f4352927b40b3f8f37d"/><dir name="data"><file name="acp_helper_example.php" hash="2815890e7afbae78e7eb4e6fc5c88f6f"/><file name="full_example.php" hash="e152a964d06e55de460c596070c714d8"/><file name="full_lightweight_example.php" hash="eac3bb2d251052f547a9f737e5cd0461"/><file name="raw_example.php" hash="ed86e971114243f3b28fa39bcaa972b8"/><dir name="templates"><file name="error_template.html" hash="70f44bd0f45470d379a11d0a2fe507e4"/><file name="facet_template.html" hash="6836005a7dae45e9415273f1eb6b78e2"/><file name="facet_values_template.html" hash="9b41f2b55a1cecae5724b4fcd4a46cfb"/><file name="meta_template.html" hash="e664a3bb222d272ce2451fb10bf46de4"/><file name="pager_template.html" hash="2700ab5b60a1f9553b1c39374fda63d4"/><file name="result_template.html" hash="1572a4ef4e8dda0b3db1ea77bbed4a98"/><file name="spellcheck_template.html" hash="8042054a1f5a271b47c77f81436c4791"/></dir></dir><file name="detailled_integration_example_with_template.dox" hash="26ef377a6ef546b636a0e254d11d01f5"/><file name="lightweight_integration_example_with_template.dox" hash="5a388d2dbfad63ad6ec353407b79a6bb"/><file name="logo-antidot-long-200x41.png" hash="1ceac3fff767fb5e395bd767344a3d13"/><file name="main.dox" hash="ca3e97f95deead927fb3298ecafbad5e"/><file name="raw_integration_example.dox" hash="56a7126d008c2e49abdf9bf0b5ec9717"/><file name="template_prerequisites.dox" hash="baa24a943e19ff3654227850bd316abb"/><file name="templates_in_details.dox" hash="5e8db94382f1fbd6c4e0b424a9edc9a3"/></dir><file name="rules.mk" hash="9e3570d254b92d571849718d98492192"/><dir name="scripts"><file name="gen_doc.sh" hash="0f6fc60aca94da563397d3c710bd9d33"/><file name="increment_version.sh" hash="431db9c60d2f94d251be07957787fcb0"/><file name="print_version.sh" hash="a05ddc19cd27ff185721fe2bd0cffc25"/><file name="version_management.sh" hash="3d5ecd39f45ba081144b3033dbd14330"/></dir><file name=".gitignore" hash="14de6527ce1e67cea1543b75a2322165"/></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="css"><dir name="mdn"><dir name="antidot"><file name="CollapsibleLists.css" hash="c956d83facc41a97bf14726dcb953edb"/></dir></dir></dir><dir name="images"><dir name="mdn"><dir name="antidot"><file name="base.gif" hash="1f71b021e061a4948d69adc4ff10ccad"/><file name="button-closed.png" hash="563b78324e0712c0902cb4f77cb9eb86"/><file name="button-open.png" hash="c710849a0d2b61ad1f0fc36c0e59d131"/><file name="button.png" hash="97f3055c5046c851eea2dad7e5227508"/><file name="cd.gif" hash="f41037663522fab5c5c31530c7fa43d8"/><file name="empty.gif" hash="df22aff6e941ff1cc577333d1712b584"/><file name="folder.gif" hash="ea16980ab437fa6ba4aba3d480e83e9e"/><file name="folderopen.gif" hash="18aa3d75315bf95bf080357733437fcc"/><file name="globe.gif" hash="d6b48614cf8dc9553e077c19197637d2"/><file name="imgfolder.gif" hash="1d488d377762e65ab4e8b691ba01e5a4"/><file name="join.gif" hash="4d5d614e0da056df815a4306d6368692"/><file name="joinbottom.gif" hash="4b3daa7f2cc584f1aac0d142275d7cba"/><file name="line.gif" hash="63ab38a6203262f15ca46c631232ea2c"/><file name="list-item-contents.png" hash="00ae24d5bc76df9eedaea597859963e4"/><file name="list-item-last-open.png" hash="615ddd71f81b240e9ed7d4e383b2c01a"/><file name="list-item-last.png" hash="e2bfb790f46855c378e50f3c0a82ea01"/><file name="list-item-open.png" hash="732d1cc59f3a488c89c624eb434eac98"/><file name="list-item-root.png" hash="5529d21e7ec68e9cb750a4895ff0b480"/><file name="list-item.png" hash="e03ec1bf3d9e16bb3005ccf8d26eaa6c"/><file name="minus.gif" hash="d647fbbd0ec410b8f3bb3357b62eedcf"/><file name="minusbottom.gif" hash="b09d684cca7135ef728141aaf2464baa"/><file name="musicfolder.gif" hash="21ece951734f23adb2f75befe1f31fc1"/><file name="nolines_minus.gif" hash="eb2243a354ffcfac93ba0fe948f7167d"/><file name="nolines_plus.gif" hash="ec92b634b63608fb4b0dbf114e3b89e1"/><file name="page.gif" hash="c25b136c1cb3bb145495c25b35d93754"/><file name="plus.gif" hash="5c55d798909c553deca31d610bd18fac"/><file name="plusbottom.gif" hash="1924ce363c38a992f888a4df48c0b274"/><file name="question.gif" hash="ea0ca196ce0ebfd625cc1210abfdec6c"/><file name="trash.gif" hash="6cbfd3ed29531044aed9b4edb3cca9ad"/></dir></dir></dir></dir></dir></dir></target></contents>
23
<compatible/>
24
<dependencies><required><php><min>5.2.0</min><max>5.6.0</max></php><extension><name>curl</name><min/><max/></extension></required></dependencies>
25
</package>