Flagbit_Factfinder - Version 3.3.9

Version Notes

bugfix: attributes that are not searchable or filterable work now as explicit attributes
bugfix: if a single-result search redirects to the detail page, a click-tracking request will be sent
bugfix: exceptions in the tag cloud adapter will not compromise the main functionality of the site

Download this release

Release Info

Developer Rudolf Batt
Extension Flagbit_Factfinder
Version 3.3.9
Comparing to
See all releases


Code changes from version 3.3.8 to 3.3.9

app/code/community/Flagbit/FactFinder/Block/Product/List/Upsell.php CHANGED
@@ -21,83 +21,115 @@
21
*/
22
class Flagbit_FactFinder_Block_Product_List_Upsell extends Mage_Catalog_Block_Product_List_Upsell
23
{
24
- /**
25
- * Method overwritten. Data is not read from product link collection but from FACT-Finder interface instead.
26
- */
27
protected function _prepareData()
28
{
29
- if (!Mage::getStoreConfigFlag('factfinder/activation/upsell') && !(Mage::helper('factfinder/search')->getIsEnabled(false, 'campaign'))) {
30
return parent::_prepareData();
31
}
32
33
try {
34
- $product = Mage::registry('product');
35
- /* @var $product Mage_Catalog_Model_Product */
36
-
37
- $searchHelper = Mage::helper('factfinder/search');
38
- $idFieldName = $searchHelper->getIdFieldName();
39
40
- $recommendationAdapter = Mage::getModel('factfinder/adapter')->getRecommendationAdapter();
41
- $recommendationAdapter->setProductId($product->getData($idFieldName));
42
- $recommendations = $recommendationAdapter->getRecommendations();
43
44
- // combine recommendations and pushed products
45
- $mergedUpsell = array_merge($this->getPushedProducts(), (array) $recommendations);
46
- // build new FACTFinder_Result with combined data
47
- $recommendations = FF::getInstance('result', $mergedUpsell, count($mergedUpsell));
48
-
49
- if ($recommendations == null) {
50
- throw new Exception('No recommendations given - check connection to FACT-Finder and FACT-Finder configuration');
51
- }
52
- elseif ($recommendations->getFoundRecordsCount() == 0) {
53
- $this->_itemCollection = new Varien_Data_Collection();
54
- return $this;
55
- }
56
57
- $this->_itemCollection = Mage::getResourceModel('factfinder/product_recommendation_collection')->addStoreFilter();
58
59
- if ($this->getItemLimit('upsell') > 0) {
60
- $this->_itemCollection->setPageSize($this->getItemLimit('upsell'));
61
- }
62
- $this->_itemCollection->setRecommendations($recommendations);
63
64
- Mage::getResourceSingleton('checkout/cart')->addExcludeProductFilter($this->_itemCollection,
65
- Mage::getSingleton('checkout/session')->getQuoteId()
66
- );
67
- $this->_addProductAttributesAndPrices($this->_itemCollection);
68
69
- // // Mage::getSingleton('catalog/product_status')->addSaleableFilterToCollection($this->_itemCollection);
70
- Mage::getSingleton('catalog/product_visibility')->addVisibleInCatalogFilterToCollection($this->_itemCollection);
71
- $this->_itemCollection->load();
72
73
- /**
74
- * Updating collection with desired items
75
- */
76
- Mage::dispatchEvent('catalog_product_upsell', array(
77
- 'product' => $product,
78
- 'collection' => $this->_itemCollection,
79
- 'limit' => $this->getItemLimit()
80
- ));
81
82
- foreach ($this->_itemCollection as $product) {
83
- $product->setDoNotUseCategoryId(true);
84
- }
85
}
86
catch (Exception $e) {
87
- Mage::logException($e);
88
- $this->_itemCollection = new Varien_Data_Collection();
89
}
90
-
91
- return $this;
92
}
93
-
94
95
/**
96
* get pushed products to combine with recommendations
97
*
98
* @return array
99
*/
100
- protected function getPushedProducts()
101
{
102
$pushedProducts = array();
103
@@ -105,11 +137,11 @@ class Flagbit_FactFinder_Block_Product_List_Upsell extends Mage_Catalog_Block_Pr
105
Mage::registry('current_product')->getData(Mage::helper('factfinder/search')->getIdFieldName()),
106
));
107
108
- if($_campaigns && $_campaigns->hasPushedProducts()){
109
- $pushedProducts = $_campaigns->getPushedProducts();
110
- }
111
-
112
- return $pushedProducts;
113
- }
114
115
}
21
*/
22
class Flagbit_FactFinder_Block_Product_List_Upsell extends Mage_Catalog_Block_Product_List_Upsell
23
{
24
+ /**
25
+ * Method overwritten. Data is not read from product link collection but from FACT-Finder interface instead.
26
+ */
27
protected function _prepareData()
28
{
29
+ $pushedProducts = array();
30
+ if(Mage::helper('factfinder/search')->getIsEnabled(false, 'campaign')) {
31
+ $pushedProducts = $this->getPushedProducts();
32
+ }
33
+
34
+ $recommendations = array();
35
+ if (Mage::getStoreConfigFlag('factfinder/activation/upsell')) {
36
+ $recommendations = $this->getRecommendations();
37
+ }
38
+
39
+ // if there are no recommendations or pushed products, use default magento upselling
40
+ if (empty($recommendations) && empty($pushedProducts)){
41
return parent::_prepareData();
42
+ } else {
43
+ // combine recommendations and pushed products
44
+ $mergedUpsell = array_merge($pushedProducts, (array) $recommendations);
45
+ $this->applyUpsells($mergedUpsell);
46
}
47
+
48
+ return $this;
49
+ }
50
51
+ protected function applyUpsells(array $upsells)
52
+ {
53
try {
54
+ $product = Mage::registry('product');
55
+ /* @var $product Mage_Catalog_Model_Product */
56
+
57
+ // build new FACTFinder_Result with combined data
58
+ $recommendations = FF::getInstance('result', $upsells, count($upsells));
59
+
60
+ if ($recommendations == null) {
61
+ throw new Exception('No recommendations given - check connection to FACT-Finder and FACT-Finder configuration');
62
+ }
63
+ elseif ($recommendations->getFoundRecordsCount() == 0) {
64
+ $this->_itemCollection = new Varien_Data_Collection();
65
+ return $this;
66
+ }
67
68
+ $this->_itemCollection = Mage::getResourceModel('factfinder/product_recommendation_collection')->addStoreFilter();
69
70
+ if ($this->getItemLimit('upsell') > 0) {
71
+ $this->_itemCollection->setPageSize($this->getItemLimit('upsell'));
72
+ }
73
+ $this->_itemCollection->setRecommendations($recommendations);
74
75
+ Mage::getResourceSingleton('checkout/cart')->addExcludeProductFilter($this->_itemCollection,
76
+ Mage::getSingleton('checkout/session')->getQuoteId()
77
+ );
78
+ $this->_addProductAttributesAndPrices($this->_itemCollection);
79
80
+ // // Mage::getSingleton('catalog/product_status')->addSaleableFilterToCollection($this->_itemCollection);
81
+ Mage::getSingleton('catalog/product_visibility')->addVisibleInCatalogFilterToCollection($this->_itemCollection);
82
+ $this->_itemCollection->load();
83
84
+ /**
85
+ * Updating collection with desired items
86
+ */
87
+ Mage::dispatchEvent('catalog_product_upsell', array(
88
+ 'product' => $product,
89
+ 'collection' => $this->_itemCollection,
90
+ 'limit' => $this->getItemLimit()
91
+ ));
92
93
+ foreach ($this->_itemCollection as $product) {
94
+ $product->setDoNotUseCategoryId(true);
95
+ }
96
+ } catch (Exception $e) {
97
+ Mage::logException($e);
98
+ $this->_itemCollection = new Varien_Data_Collection();
99
+ }
100
+ }
101
+
102
+ /**
103
+ * get products from the ff recommendation engine
104
+ *
105
+ * @return array (ArrayIterator)
106
+ */
107
+ protected function getRecommendations()
108
+ {
109
+ $recommendations = array();
110
+ try {
111
+ $product = Mage::registry('product');
112
+ /* @var $product Mage_Catalog_Model_Product */
113
114
+ $searchHelper = Mage::helper('factfinder/search');
115
+ $idFieldName = $searchHelper->getIdFieldName();
116
117
+ $recommendationAdapter = Mage::getModel('factfinder/adapter')->getRecommendationAdapter();
118
+ $recommendationAdapter->setProductId($product->getData($idFieldName));
119
+ $recommendations = $recommendationAdapter->getRecommendations();
120
}
121
catch (Exception $e) {
122
+ Mage::logException($e);
123
}
124
+ return $recommendations;
125
}
126
127
/**
128
* get pushed products to combine with recommendations
129
*
130
* @return array
131
*/
132
+ protected function getPushedProducts()
133
{
134
$pushedProducts = array();
135
137
Mage::registry('current_product')->getData(Mage::helper('factfinder/search')->getIdFieldName()),
138
));
139
140
+ if($_campaigns && $_campaigns->hasPushedProducts()){
141
+ $pushedProducts = $_campaigns->getPushedProducts();
142
+ }
143
+
144
+ return $pushedProducts;
145
+ }
146
147
}
app/code/community/Flagbit/FactFinder/Model/Adapter.php CHANGED
@@ -394,7 +394,12 @@ class Flagbit_FactFinder_Model_Adapter
394
*/
395
public function getTagCloud()
396
{
397
- return $this->_getTagCloudAdapter()->getTagCloud();
398
}
399
400
/**
394
*/
395
public function getTagCloud()
396
{
397
+ try {
398
+ return $this->_getTagCloudAdapter()->getTagCloud();
399
+ } catch (Exception $e) {
400
+ Mage::logException($e);
401
+ return array();
402
+ }
403
}
404
405
/**
app/code/community/Flagbit/FactFinder/Model/Export/Product.php CHANGED
@@ -502,7 +502,53 @@ class Flagbit_FactFinder_Model_Export_Product extends Mage_CatalogSearch_Model_M
502
503
return null;
504
}
505
506
/**
507
* get Attribute Row Array
508
*
@@ -523,7 +569,6 @@ class Flagbit_FactFinder_Model_Export_Product extends Mage_CatalogSearch_Model_M
523
}
524
}
525
}
526
-
527
// fill dataArray with the values of the attributes that should be exported
528
foreach($this->_exportAttributes AS $pos => $attribute) {
529
if ($attribute != null) {
502
503
return null;
504
}
505
+
506
+ /**
507
+ * Retrieve attribute source value for search
508
+ * This method is mostly copied from Mage_CatalogSearch_Model_Resource_Fulltext, but it also retrieves attribute values from non-searchable/non-filterable attributes
509
+ *
510
+ * @param int $attributeId
511
+ * @param mixed $value
512
+ * @param int $storeId
513
+ * @return mixed
514
+ */
515
+ protected function _getAttributeValue($attributeId, $value, $storeId)
516
+ {
517
+ $attribute = $this->_getSearchableAttribute($attributeId);
518
+ if (!$attribute->getIsSearchable() && $attribute->getAttributeCode() == 'visibility') {
519
+ return $value;
520
+ }
521
+
522
+ if ($attribute->usesSource()) {
523
+ if ($this->_engine->allowAdvancedIndex()) {
524
+ return $value;
525
+ }
526
+
527
+ $attribute->setStoreId($storeId);
528
+ $value = $attribute->getSource()->getOptionText($value);
529
530
+ if (is_array($value)) {
531
+ $value = implode($this->_separator, $value);
532
+ } elseif (empty($value)) {
533
+ $inputType = $attribute->getFrontend()->getInputType();
534
+ if ($inputType == 'select' || $inputType == 'multiselect') {
535
+ return null;
536
+ }
537
+ }
538
+ } elseif ($attribute->getBackendType() == 'datetime') {
539
+ $value = $this->_getStoreDate($storeId, $value);
540
+ } else {
541
+ $inputType = $attribute->getFrontend()->getInputType();
542
+ if ($inputType == 'price') {
543
+ $value = Mage::app()->getStore($storeId)->roundPrice($value);
544
+ }
545
+ }
546
+
547
+ $value = preg_replace("#\s+#siu", ' ', trim(strip_tags($value)));
548
+
549
+ return $value;
550
+ }
551
+
552
/**
553
* get Attribute Row Array
554
*
569
}
570
}
571
}
572
// fill dataArray with the values of the attributes that should be exported
573
foreach($this->_exportAttributes AS $pos => $attribute) {
574
if ($attribute != null) {
app/code/community/Flagbit/FactFinder/Model/Observer.php CHANGED
@@ -265,6 +265,30 @@ class Flagbit_FactFinder_Model_Observer
265
266
if (count($collection) == 1) {
267
$product = $collection->getFirstItem();
268
$response = Mage::app()->getResponse();
269
$response->setRedirect($product->getProductUrl(false));
270
$response->sendResponse();
265
266
if (count($collection) == 1) {
267
$product = $collection->getFirstItem();
268
+ $searchHelper = Mage::helper('factfinder/search');
269
+
270
+ try {
271
+ $scic = Mage::getModel('factfinder/adapter')->getScicAdapter();
272
+ $idFieldName = $searchHelper->getIdFieldName();
273
+ if ($idFieldName == 'entity_id') {
274
+ $idFieldName = 'product_id'; // sales_order_item does not contain a entity_id
275
+ }
276
+ $result = $scic->trackClick(
277
+ $product->getData($idFieldName),
278
+ md5(Mage::getSingleton('core/session')->getSessionId()),
279
+ $searchHelper->getQuery()->getQueryText(),
280
+ 1, //pos
281
+ 1, //origPos
282
+ 1, //page
283
+ $product->getSimilarity,
284
+ $product->getName(),
285
+ $searchHelper->getPageLimit(),
286
+ $searchHelper->getDefaultPerPageValue());
287
+ }
288
+ catch (Exception $e) {
289
+ Mage::helper('factfinder/debug')->log($e->getMessage());
290
+ }
291
+
292
$response = Mage::app()->getResponse();
293
$response->setRedirect($product->getProductUrl(false));
294
$response->sendResponse();
app/code/community/Flagbit/FactFinder/etc/config.xml CHANGED
@@ -22,7 +22,7 @@
22
<modules>
23
<Flagbit_FactFinder>
24
<active>true</active>
25
- <version>3.3.8</version>
26
</Flagbit_FactFinder>
27
</modules>
28
<global>
22
<modules>
23
<Flagbit_FactFinder>
24
<active>true</active>
25
+ <version>3.3.9</version>
26
</Flagbit_FactFinder>
27
</modules>
28
<global>
app/design/adminhtml/default/default/template/factfinder/cockpit.phtml DELETED
@@ -1,22 +0,0 @@
1
- <?php
2
- /**
3
- * Flagbit_FactFinder
4
- *
5
- * @category Mage
6
- * @package Flagbit_FactFinder
7
- * @copyright Copyright (c) 2010 Flagbit GmbH & Co. KG (http://www.flagbit.de/)
8
- */
9
-
10
- /**
11
- * Template
12
- *
13
- * Business User Cockpit Template
14
- *
15
- * @category Mage
16
- * @package Flagbit_FactFinder
17
- * @copyright Copyright (c) 2010 Flagbit GmbH & Co. KG (http://www.flagbit.de/)
18
- * @author Joerg Weller <weller@flagbit.de>
19
- * @version $Id$
20
- */
21
- ?>
22
- <iframe src="<?php echo $this->getAuthenticationUrl();?>" id="factfinder_cockpit_frame" style="width:100%; height:600px;" name="factfinder_cockpit_frame" scrolling="auto"></iframe>
app/design/frontend/base/default/template/factfinder/campaign/product/advisory.phtml ADDED
@@ -0,0 +1,12 @@
1
+ <?php if ($questions = $this->getActiveQuestions()): ?>
2
+ <?php foreach ($questions as $question): ?>
3
+ <div class="factfinder-advisorCampaign">
4
+ <p class="factfinder-advisorCampaign-question"><?php echo $question->getText() ?></p>
5
+ <p>
6
+ <?php foreach ($question->getAnswers() as $answer): ?>
7
+ <a class="factfinder-advisorCampaign-answer" href="<?php echo $answer->getParams() ?>"><?php echo $answer->getText() ?></a>
8
+ <?php endforeach; ?>
9
+ </p>
10
+ </div>
11
+ <?php endforeach; ?>
12
+ <?php endif; ?>
app/design/frontend/base/default/template/factfinder/campaign/product/feedback.phtml ADDED
@@ -0,0 +1,6 @@
1
+ <?php if ($feedback = $this->getActiveFeedback()): ?>
2
+ <?php $feedbackIds = array(0,1); ?>
3
+ <?php foreach ($feedbackIds as $feedbackId): ?>
4
+ <p class="factfinder-feedbackCampaign"><?php echo $feedback->getFeedback($feedbackId) ?></p>
5
+ <?php endforeach; ?>
6
+ <?php endif; ?>
package.xml CHANGED
@@ -1,18 +1,20 @@
1
<?xml version="1.0"?>
2
<package>
3
<name>Flagbit_Factfinder</name>
4
- <version>3.3.8</version>
5
<stability>stable</stability>
6
<license>GPL</license>
7
<channel>community</channel>
8
<extends/>
9
<summary>Integrates the FACT-Finder for improved product search functionality.</summary>
10
<description>Integrates the FACT-Finder for improved product search functionality.</description>
11
- <notes>feature: export download link at the backend (configuration of factfinder)</notes>
12
- <authors><author><name>Flagbit GmbH Co. KG</name><user>auto-converted</user><email>magento@flagbit.de</email></author></authors>
13
- <date>2012-07-04</date>
14
- <time>12:03:38</time>
15
- <contents><target name="mageetc"><dir><dir><file name="factfinder.xml" hash="ca4dac634339217dd2ee6e8dc477d694"/></dir><dir name="modules"><file name="Flagbit_FactFinder.xml" hash="99c6b4e5981ac7592830a9fb3f5e5a0e"/></dir></dir></target><target name="magedesign"><dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="factfinder.xml" hash="5e5cb94967917aa2784d19434d02b2d4"/></dir><dir name="template"><dir name="factfinder"><file name="cockpit.phtml" hash="5fe632ad1c700fe432061be976837a3d"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="factfinder.xml" hash="b4e442334228676e8847236bdc20bd25"/></dir><dir name="template"><dir name="factfinder"><file name="form.mini.phtml" hash="54045a15eb78bea151f518303773ed0e"/><file name="logo.phtml" hash="7a40d67bf648e65345f69b2cf9d3c6b6"/><file name="scic.phtml" hash="3553a9f0f3c66015610f4c7f1d770a51"/><dir name="campaign"><file name="advisory.phtml" hash="d0ef29b97aa4c3bdfa2b94596beb5b21"/><file name="feedback.phtml" hash="a44c2521e961cfb62b4b89ad0cb71b15"/><dir name="cart"><file name="advisory.phtml" hash="bb994272a6daaaba298a38023f6db212"/><file name="feedback.phtml" hash="01fa6a9cd024a2a8edaea7013b00fc89"/></dir></dir><dir name="filter"><file name="slider.phtml" hash="80e4e9e1c81437fe41b6a52d98e73549"/></dir></dir></dir></dir></dir></dir></dir></target><target name="magelocale"><dir><dir name="de_DE"><file name="Flagbit_FactFinder.csv" hash="f28b6aeb3f5b3d7b9dff68a17431170d"/></dir></dir></target><target name="magelib"><dir><dir name="FACTFinder"><file name="AdvisorAnswer.php" hash="873206d7ff713e4dbe8d12035236fa88"/><file name="AdvisorQuestion.php" hash="45fc864b18cb650ea7ab6ad69fe4d2cf"/><file name="Asn.php" hash="415d7ca6e57fce1c2dc79a398f277a8e"/><file name="AsnFilterItem.php" hash="823ca331d4f0fb96cdaba37837eb4cf4"/><file name="AsnGroup.php" hash="eb5f98e61330d2086a6f2cbed9b22e2b"/><file name="AsnSliderFilter.php" hash="93960390f4b25235cc6b3fb0ac6e607f"/><file name="BreadCrumbItem.php" hash="926f78a0bdb1331e271b6027d639dcbd"/><file name="Campaign.php" hash="fb71fc56c52bafbf54928478e29a36c2"/><file name="CampaignIterator.php" hash="70ebfc5ab5db712f7bad1e9fff823868"/><file name="Configuration.php" hash="b203f9bb455cdb7d67bca04568ca90db"/><file name="EncodingHandler.php" hash="3cf4f8c653e2cf06101476c6ed0c5d91"/><file name="Item.php" hash="82d6aa160364f1065d905d4bfb81595e"/><file name="Loader.php" hash="f90769906b975860d756db2c7c90bcef"/><file name="Paging.php" hash="1e00f8a23eb7c77e25669662fa96e5d4"/><file name="Parameters.php" hash="3cff8bd17aae5a045eb8bdc9da7f36de"/><file name="ParametersParser.php" hash="32901cab2b4ac273707248a353c0e5d8"/><file name="ProductsPerPageOptions.php" hash="00d5fefb4798df35e5eb59ba7c520d21"/><file name="Record.php" hash="13d6d9d64b6914706866450869b38206"/><file name="Result.php" hash="bc67777850ff18b7784c48bb8f5fbd20"/><file name="SingleWordSearchItem.php" hash="3b806c3d26785f0260d09abe6469c999"/><file name="SuggestQuery.php" hash="9aaa4f18c5369acfe0dcb387245e4a75"/><file name="TagQuery.php" hash="a35b69db11cb856225c00f103b7c16ab"/><file name="Util.php" hash="7f3c81e2bd95a5c61365e8f2426c258e"/><dir name="Abstract"><file name="Adapter.php" hash="469470db8fe9e148922e56ae37ca3862"/><file name="CompareAdapter.php" hash="7ec1139255b96d45b9e29973cfb0ec95"/><file name="Configuration.php" hash="7335710c0e999b3b4d3274f356d871fc"/><file name="DataProvider.php" hash="39dde70290a61f81d19200d36e063880"/><file name="ProductCampaignAdapter.php" hash="58c555e5e704e91c16cb9be5fc82e218"/><file name="RecommendationAdapter.php" hash="1881e3fa29e82a898c7ee3936650fdc7"/><file name="ScicAdapter.php" hash="478dc65ca80eef22696d2b0f4d83167c"/><file name="SearchAdapter.php" hash="48e692f054663c7fa7349c96d0452403"/><file name="SimilarRecordsAdapter.php" hash="302fe55861cef886abd6e210a501a4b3"/><file name="SuggestAdapter.php" hash="1793a1cafe52a21d87b7e9b0a5b4379e"/><file name="TagCloudAdapter.php" hash="8caf392c3a41b31ecf4a239d406576fc"/></dir><dir name="Http"><file name="DataProvider.php" hash="23d3d4dea4c282467ebec881d6571633"/><file name="DummyProvider.php" hash="b4b3991dd1263291a286e3672509f640"/><file name="ParallelDataProvider.php" hash="1e3c196ca9db498d556f15e4f3a613ba"/><file name="ScicAdapter.php" hash="4c7f7f3f689e073976bf37cf6ccfbd02"/><file name="SuggestAdapter.php" hash="f9364c65034848444e2928617f71c357"/></dir><dir name="Logger"><file name="BlackHole.php" hash="a69e509021e53c4605606b0a8b306506"/><file name="LoggerInterface.php" hash="1528b92855ea10d4166cea56e64facd5"/></dir><dir name="Xml64"><file name="SearchAdapter.php" hash="d3ce38946d9df3c96e117b1a0a196b0c"/></dir><dir name="Xml65"><file name="RecommendationAdapter.php" hash="d9c1d57dba84ef5db4dc624c788b91dc"/><file name="SearchAdapter.php" hash="71b0cb4554b98cc7f7d74cd6754bf3cc"/><file name="SuggestAdapter.php" hash="f9742b1c720542d01ec622c6d65beea4"/><file name="TagCloudAdapter.php" hash="290ce886957e6760c9a3bdc5dec19e4f"/></dir><dir name="Xml66"><file name="CompareAdapter.php" hash="5ebc1da804fb2f27cdc6ab911d823f14"/><file name="RecommendationAdapter.php" hash="94cd09e149d85182a6b13773b4c6c601"/><file name="SearchAdapter.php" hash="e178a14e3173c123f38df9312030cdd3"/><file name="SimilarRecordsAdapter.php" hash="669541b29f87955d45d315545a1951bf"/><file name="SuggestAdapter.php" hash="982290e42670453a9597279ffe5fa86c"/><file name="TagCloudAdapter.php" hash="52a7937a07070f2477ccdb2185cdaab8"/></dir><dir name="Xml67"><file name="CompareAdapter.php" hash="f58ea46c0f0a634d2753ff4627937c3d"/><file name="ProductCampaignAdapter.php" hash="6a81f02658445dabc1f997b865e385d5"/><file name="RecommendationAdapter.php" hash="bdbcd5a489b2dc21555aa6db0a044eb3"/><file name="SearchAdapter.php" hash="894f602ab8736307a932354010ae8a07"/><file name="SimilarRecordsAdapter.php" hash="75663be522e408124198a3091a0cf9d9"/><file name="SuggestAdapter.php" hash="3323d92b9a9dcb80a0587fab203c5a73"/><file name="TagCloudAdapter.php" hash="cd4ebb2581682d478d71ba1aeb62e01e"/></dir></dir><dir name="FACTFinderCustom"><file name="Configuration.php" hash="96b16f73d80f74ee0a24d39bc81ac321"/></dir></dir></target><target name="magecommunity"><dir><dir name="Flagbit"><dir name="FactFinder"><dir name="Block"><file name="Layer.php" hash="fc9ae3f5197a73be5951a420d4b27124"/><file name="Scic.php" hash="9ba6aa43204d0aae206d9f24f09aecfc"/><file name="TagCloud.php" hash="664c18eceaa82779a60b6eb1694cdfca"/><dir name="Adminhtml"><file name="Cockpit.php" hash="7f5f3e8521f002c8c7b5a2d5f72cf5e1"/><file name="Exportlink.php" hash="f83a083279cec4d1e3fece4bbb94263e"/><dir name="Form"><dir name="Field"><file name="Attribute.php" hash="2e60d7473163fa523f10b2d0c441fe24"/><file name="Attributes.php" hash="cbaf317aa5ce4417cfcd02a6c4f36486"/></dir></dir></dir><dir name="Campaign"><file name="Advisory.php" hash="9eb34869abbc7e4ba4fe3825835793eb"/><file name="Feedback.php" hash="ffb877d1e9cb5e7fb7b9d5731a8ace56"/><dir name="Cart"><file name="Advisory.php" hash="9861e5ff8bb10fdec38d17bc9f61090a"/><file name="Feedback.php" hash="aa9239e92f528ff6b216942194f36776"/></dir><dir name="Product"><file name="Advisory.php" hash="d4736ab3436e7966c37b393a339110ca"/><file name="Feedback.php" hash="7843ed6669b7e6bdd92934b3aeb2fd41"/></dir></dir><dir name="Cart"><file name="Crosssell.php" hash="73e43a5c9048a1d139910dc7a2199952"/></dir><dir name="Filter"><file name="Slider.php" hash="159d3e1b403625dbbb970e5e7ada4ec7"/></dir><dir name="Layer"><file name="Abstract.php" hash="f53a3e2d6ce0da4afee58b4ea806a342"/></dir><dir name="Product"><dir name="List"><file name="Crosssell.php" hash="8b6936aa661cd77a1866da3bc2a40939"/><file name="Upsell.php" hash="1dc055dc3cbac045910704181be1453b"/></dir></dir><dir name="XmlConnect"><dir name="Catalog"><file name="Search.php" hash="662f7b0df8d21626bf6193906aed5162"/><dir name="Product"><file name="List.php" hash="79103c53bbaa03f02ed8a78554dcc791"/></dir><dir name="Search"><file name="Suggest.php" hash="5c7ef36939885a14ee0644cbb91a945d"/></dir></dir></dir></dir><dir name="controllers"><file name="ExportController.php" hash="01a45ff00a9b5a95ae397fd555507592"/><file name="ProxyController.php" hash="587f159bad384600c724568a61546b66"/><dir name="Adminhtml"><dir name="Factfinder"><file name="CockpitController.php" hash="4c8665feaf14c38e6ba2384db496c95a"/></dir></dir></dir><dir name="documentation"><file name="Installation_FACT-Finder_Magento_de.pdf" hash="b4711171c625caaa8996a6a09e0eaaae"/><file name="Installation_FACT-Finder_Magento_en.pdf" hash="d4bef19418ee33a223fbda2d45cca686"/></dir><dir name="etc"><file name="adminhtml.xml" hash="1165a0fecfaa31f2aa4a882d1d8bc033"/><file name="config.xml" hash="485fc1f1e10a566f741b2c6ad2b1e15f"/><file name="system.xml" hash="f72ec689a1a706ec644bcfb0ceb7ea92"/></dir><dir name="Helper"><file name="Backend.php" hash="57771ad274e7e0ea63b9a934b3757f04"/><file name="Data.php" hash="afede9edaf2bcfbc93a4049eee5be89e"/><file name="Debug.php" hash="0e35720a3c3fea9d4d2feece970e6ab0"/><file name="Search.php" hash="8e043ec61152a91d78361e73d7679f9d"/></dir><dir name="Model"><file name="Adapter.php" hash="f0b105f413f6d4870f3a7f498877d983"/><file name="Layer.php" hash="9da16c44259b4a31d73f63d87787ff11"/><file name="Observer.php" hash="f08ea0a8ac7928166329c00be8e2ccad"/><file name="Processor.php" hash="1a48223d1208215013f314a5439b3028"/><dir name="Export"><file name="Price.php" hash="5561605bf639385c211f339f0c752a0f"/><file name="Product.php" hash="f5c83235446394a7ccac8af132e1037d"/><file name="Stock.php" hash="28e819f8f317957a70a7d4d318e04791"/></dir><dir name="Layer"><file name="Abstract.php" hash="0a0505e719ca55320da35c7510b82d3a"/><dir name="Filter"><file name="Item.php" hash="28e42624d764342dae6cb09a1b29b7b8"/><dir name="Attribute"><file name="Abstract.php" hash="2ad710352f1803d15ba056cd93d519f1"/><file name="Catalog.php" hash="f6dce5ea64da9dfb3458ae9ff4b58a7b"/><file name="Catalogsearch.php" hash="75536576aaaa0186f166550ee746ae04"/></dir></dir></dir><dir name="Mysql4"><dir name="Campaign"><dir name="Pushedproducts"><file name="Collection.php" hash="c966a40c7569b70cef93e47781b95190"/></dir></dir><dir name="Product"><dir name="Attribute"><file name="Collection.php" hash="d9000f3e9c709fa63313b15f34803d74"/></dir><dir name="Recommendation"><file name="Collection.php" hash="fdb6f35fa1cca09aa405bc5cd0c68601"/></dir></dir><dir name="Scic"><file name="Queue.php" hash="a1521000a1a10df8e6b580f33d06cf23"/><dir name="Queue"><file name="Collection.php" hash="5f6b0b6a50838929065ebd941cedce42"/></dir></dir><dir name="Search"><file name="Collection.php" hash="12356224ac22113428b38120a1a002a6"/><file name="Engine.php" hash="88a56eb3b4587d87bb1152476b64036e"/></dir></dir><dir name="Scic"><file name="Queue.php" hash="828d391339a22c15ad74ae1a2e784b41"/></dir><dir name="System"><dir name="Config"><dir name="Backend"><file name="Attributes.php" hash="8259883090dc4bca9b858d047983e736"/><file name="Enabled.php" hash="3b4d1f4b37d7ddba9768a7da6e3fc778"/></dir><dir name="Source"><file name="Authtype.php" hash="5bc0b1c745782cc51d44d56299059bcb"/><file name="Identifier.php" hash="cec45238f0e28a1bf66d10dee513c2ca"/></dir></dir></dir></dir><dir name="sql"><dir name="factfinder_setup"><file name="mysql4-install-3.2.0.php" hash="1342320595048cd96659c454381cfbb4"/><file name="mysql4-upgrade-3.2.0-3.2.1.php" hash="3d5276dfe971a6bd48aa8e2a085de004"/><file name="mysql4-upgrade-3.2.1-3.3.0.php" hash="71954ea0cf400950d23b020ff095a9ee"/></dir></dir></dir></dir></dir></target><target name="mage"><dir><dir name="js"><dir name="factfinder"><file name="jXHR.js" hash="0473a3ea88f08797737814c7ffbeba18"/><file name="scic.js" hash="10f509fb3f468a8557ca17205a361d52"/><file name="suggest.js" hash="c39230ada8f44c3d3a8c7540c0b4a8c9"/></dir></dir></dir></target></contents>
16
<compatible/>
17
- <dependencies/>
18
</package>
1
<?xml version="1.0"?>
2
<package>
3
<name>Flagbit_Factfinder</name>
4
+ <version>3.3.9</version>
5
<stability>stable</stability>
6
<license>GPL</license>
7
<channel>community</channel>
8
<extends/>
9
<summary>Integrates the FACT-Finder for improved product search functionality.</summary>
10
<description>Integrates the FACT-Finder for improved product search functionality.</description>
11
+ <notes>bugfix: attributes that are not searchable or filterable work now as explicit attributes&#xD;
12
+ bugfix: if a single-result search redirects to the detail page, a click-tracking request will be sent&#xD;
13
+ bugfix: exceptions in the tag cloud adapter will not compromise the main functionality of the site</notes>
14
+ <authors><author><name>Rudolf Batt</name><user>rbatt</user><email>rb@omikron.net</email></author></authors>
15
+ <date>2012-08-06</date>
16
+ <time>15:47:38</time>
17
+ <contents><target name="magecommunity"><dir name="Flagbit"><dir name="FactFinder"><dir name="Block"><dir name="Adminhtml"><file name="Cockpit.php" hash="7f5f3e8521f002c8c7b5a2d5f72cf5e1"/><file name="Exportlink.php" hash="f83a083279cec4d1e3fece4bbb94263e"/><dir name="Form"><dir name="Field"><file name="Attribute.php" hash="2e60d7473163fa523f10b2d0c441fe24"/><file name="Attributes.php" hash="cbaf317aa5ce4417cfcd02a6c4f36486"/></dir></dir></dir><dir name="Campaign"><file name="Advisory.php" hash="9eb34869abbc7e4ba4fe3825835793eb"/><dir name="Cart"><file name="Advisory.php" hash="9861e5ff8bb10fdec38d17bc9f61090a"/><file name="Feedback.php" hash="aa9239e92f528ff6b216942194f36776"/></dir><file name="Feedback.php" hash="ffb877d1e9cb5e7fb7b9d5731a8ace56"/><dir name="Product"><file name="Advisory.php" hash="d4736ab3436e7966c37b393a339110ca"/><file name="Feedback.php" hash="7843ed6669b7e6bdd92934b3aeb2fd41"/></dir></dir><dir name="Cart"><file name="Crosssell.php" hash="73e43a5c9048a1d139910dc7a2199952"/></dir><dir name="Filter"><file name="Slider.php" hash="159d3e1b403625dbbb970e5e7ada4ec7"/></dir><dir name="Layer"><file name="Abstract.php" hash="f53a3e2d6ce0da4afee58b4ea806a342"/></dir><file name="Layer.php" hash="fc9ae3f5197a73be5951a420d4b27124"/><dir name="Product"><dir name="List"><file name="Crosssell.php" hash="8b6936aa661cd77a1866da3bc2a40939"/><file name="Upsell.php" hash="5b09dab3ad5acfc213716b88d1f8ca43"/></dir></dir><file name="Scic.php" hash="9ba6aa43204d0aae206d9f24f09aecfc"/><file name="TagCloud.php" hash="664c18eceaa82779a60b6eb1694cdfca"/><dir name="XmlConnect"><dir name="Catalog"><dir name="Product"><file name="List.php" hash="79103c53bbaa03f02ed8a78554dcc791"/></dir><dir name="Search"><file name="Suggest.php" hash="5c7ef36939885a14ee0644cbb91a945d"/></dir><file name="Search.php" hash="662f7b0df8d21626bf6193906aed5162"/></dir></dir></dir><dir name="Helper"><file name="Backend.php" hash="57771ad274e7e0ea63b9a934b3757f04"/><file name="Data.php" hash="afede9edaf2bcfbc93a4049eee5be89e"/><file name="Debug.php" hash="0e35720a3c3fea9d4d2feece970e6ab0"/><file name="Search.php" hash="8e043ec61152a91d78361e73d7679f9d"/></dir><dir name="Model"><file name="Adapter.php" hash="13727360bd1209e47498b6b5c9a0effc"/><dir name="Export"><file name="Price.php" hash="5561605bf639385c211f339f0c752a0f"/><file name="Product.php" hash="48ab88e730df3d3b30bf9f9fcf8cdb26"/><file name="Stock.php" hash="28e819f8f317957a70a7d4d318e04791"/></dir><dir name="Layer"><file name="Abstract.php" hash="0a0505e719ca55320da35c7510b82d3a"/><dir name="Filter"><dir name="Attribute"><file name="Abstract.php" hash="2ad710352f1803d15ba056cd93d519f1"/><file name="Catalog.php" hash="f6dce5ea64da9dfb3458ae9ff4b58a7b"/><file name="Catalogsearch.php" hash="75536576aaaa0186f166550ee746ae04"/></dir><file name="Item.php" hash="28e42624d764342dae6cb09a1b29b7b8"/></dir></dir><file name="Layer.php" hash="9da16c44259b4a31d73f63d87787ff11"/><dir name="Mysql4"><dir name="Campaign"><dir name="Pushedproducts"><file name="Collection.php" hash="c966a40c7569b70cef93e47781b95190"/></dir></dir><dir name="Product"><dir name="Attribute"><file name="Collection.php" hash="d9000f3e9c709fa63313b15f34803d74"/></dir><dir name="Recommendation"><file name="Collection.php" hash="fdb6f35fa1cca09aa405bc5cd0c68601"/></dir></dir><dir name="Scic"><dir name="Queue"><file name="Collection.php" hash="5f6b0b6a50838929065ebd941cedce42"/></dir><file name="Queue.php" hash="a1521000a1a10df8e6b580f33d06cf23"/></dir><dir name="Search"><file name="Collection.php" hash="12356224ac22113428b38120a1a002a6"/><file name="Engine.php" hash="88a56eb3b4587d87bb1152476b64036e"/></dir></dir><file name="Observer.php" hash="5478ee05a85d5c502211c66eab3f6190"/><file name="Processor.php" hash="1a48223d1208215013f314a5439b3028"/><dir name="Scic"><file name="Queue.php" hash="828d391339a22c15ad74ae1a2e784b41"/></dir><dir name="System"><dir name="Config"><dir name="Backend"><file name="Attributes.php" hash="8259883090dc4bca9b858d047983e736"/><file name="Enabled.php" hash="3b4d1f4b37d7ddba9768a7da6e3fc778"/></dir><dir name="Source"><file name="Authtype.php" hash="5bc0b1c745782cc51d44d56299059bcb"/><file name="Identifier.php" hash="cec45238f0e28a1bf66d10dee513c2ca"/></dir></dir></dir></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Factfinder"><file name="CockpitController.php" hash="4c8665feaf14c38e6ba2384db496c95a"/></dir></dir><file name="ExportController.php" hash="01a45ff00a9b5a95ae397fd555507592"/><file name="ProxyController.php" hash="587f159bad384600c724568a61546b66"/></dir><dir name="documentation"><file name="Installation_FACT-Finder_Magento_de.pdf" hash="b4711171c625caaa8996a6a09e0eaaae"/><file name="Installation_FACT-Finder_Magento_en.pdf" hash="d4bef19418ee33a223fbda2d45cca686"/></dir><dir name="etc"><file name="adminhtml.xml" hash="1165a0fecfaa31f2aa4a882d1d8bc033"/><file name="config.xml" hash="6320805c4c2f8781cb9efb9b7dbe0703"/><file name="system.xml" hash="f72ec689a1a706ec644bcfb0ceb7ea92"/></dir><dir name="sql"><dir name="factfinder_setup"><file name="mysql4-install-3.2.0.php" hash="1342320595048cd96659c454381cfbb4"/><file name="mysql4-upgrade-3.2.0-3.2.1.php" hash="3d5276dfe971a6bd48aa8e2a085de004"/><file name="mysql4-upgrade-3.2.1-3.3.0.php" hash="71954ea0cf400950d23b020ff095a9ee"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="factfinder.xml" hash="5e5cb94967917aa2784d19434d02b2d4"/></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="factfinder.xml" hash="b4e442334228676e8847236bdc20bd25"/></dir><dir name="template"><dir name="factfinder"><dir name="campaign"><file name="advisory.phtml" hash="d0ef29b97aa4c3bdfa2b94596beb5b21"/><dir name="cart"><file name="advisory.phtml" hash="bb994272a6daaaba298a38023f6db212"/><file name="feedback.phtml" hash="01fa6a9cd024a2a8edaea7013b00fc89"/></dir><file name="feedback.phtml" hash="a44c2521e961cfb62b4b89ad0cb71b15"/><dir name="product"><file name="advisory.phtml" hash="d0ef29b97aa4c3bdfa2b94596beb5b21"/><file name="feedback.phtml" hash="40e944aa8dd3cb993cd0190a518f4ac8"/></dir></dir><dir name="filter"><file name="slider.phtml" hash="80e4e9e1c81437fe41b6a52d98e73549"/></dir><file name="form.mini.phtml" hash="54045a15eb78bea151f518303773ed0e"/><file name="logo.phtml" hash="7a40d67bf648e65345f69b2cf9d3c6b6"/><file name="scic.phtml" hash="3553a9f0f3c66015610f4c7f1d770a51"/></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="."><file name="factfinder.xml" hash="ca4dac634339217dd2ee6e8dc477d694"/></dir><dir name="modules"><file name="Flagbit_FactFinder.xml" hash="99c6b4e5981ac7592830a9fb3f5e5a0e"/></dir></target><target name="magelocale"><dir name="de_DE"><file name="Flagbit_FactFinder.csv" hash="f28b6aeb3f5b3d7b9dff68a17431170d"/></dir></target><target name="mageweb"><dir name="js"><dir name="factfinder"><file name="jXHR.js" hash="0473a3ea88f08797737814c7ffbeba18"/><file name="scic.js" hash="10f509fb3f468a8557ca17205a361d52"/><file name="suggest.js" hash="c39230ada8f44c3d3a8c7540c0b4a8c9"/></dir></dir></target><target name="magelib"><dir name="FACTFinder"><dir name="Abstract"><file name="Adapter.php" hash="469470db8fe9e148922e56ae37ca3862"/><file name="CompareAdapter.php" hash="7ec1139255b96d45b9e29973cfb0ec95"/><file name="Configuration.php" hash="7335710c0e999b3b4d3274f356d871fc"/><file name="DataProvider.php" hash="39dde70290a61f81d19200d36e063880"/><file name="ProductCampaignAdapter.php" hash="58c555e5e704e91c16cb9be5fc82e218"/><file name="RecommendationAdapter.php" hash="1881e3fa29e82a898c7ee3936650fdc7"/><file name="ScicAdapter.php" hash="478dc65ca80eef22696d2b0f4d83167c"/><file name="SearchAdapter.php" hash="48e692f054663c7fa7349c96d0452403"/><file name="SimilarRecordsAdapter.php" hash="302fe55861cef886abd6e210a501a4b3"/><file name="SuggestAdapter.php" hash="1793a1cafe52a21d87b7e9b0a5b4379e"/><file name="TagCloudAdapter.php" hash="8caf392c3a41b31ecf4a239d406576fc"/></dir><file name="AdvisorAnswer.php" hash="873206d7ff713e4dbe8d12035236fa88"/><file name="AdvisorQuestion.php" hash="45fc864b18cb650ea7ab6ad69fe4d2cf"/><file name="Asn.php" hash="415d7ca6e57fce1c2dc79a398f277a8e"/><file name="AsnFilterItem.php" hash="823ca331d4f0fb96cdaba37837eb4cf4"/><file name="AsnGroup.php" hash="eb5f98e61330d2086a6f2cbed9b22e2b"/><file name="AsnSliderFilter.php" hash="93960390f4b25235cc6b3fb0ac6e607f"/><file name="BreadCrumbItem.php" hash="926f78a0bdb1331e271b6027d639dcbd"/><file name="Campaign.php" hash="fb71fc56c52bafbf54928478e29a36c2"/><file name="CampaignIterator.php" hash="70ebfc5ab5db712f7bad1e9fff823868"/><file name="Configuration.php" hash="b203f9bb455cdb7d67bca04568ca90db"/><file name="EncodingHandler.php" hash="3cf4f8c653e2cf06101476c6ed0c5d91"/><dir name="Http"><file name="DataProvider.php" hash="23d3d4dea4c282467ebec881d6571633"/><file name="DummyProvider.php" hash="b4b3991dd1263291a286e3672509f640"/><file name="ParallelDataProvider.php" hash="1e3c196ca9db498d556f15e4f3a613ba"/><file name="ScicAdapter.php" hash="4c7f7f3f689e073976bf37cf6ccfbd02"/><file name="SuggestAdapter.php" hash="f9364c65034848444e2928617f71c357"/></dir><file name="Item.php" hash="82d6aa160364f1065d905d4bfb81595e"/><file name="Loader.php" hash="f90769906b975860d756db2c7c90bcef"/><dir name="Logger"><file name="BlackHole.php" hash="a69e509021e53c4605606b0a8b306506"/><file name="LoggerInterface.php" hash="1528b92855ea10d4166cea56e64facd5"/></dir><file name="Paging.php" hash="1e00f8a23eb7c77e25669662fa96e5d4"/><file name="Parameters.php" hash="3cff8bd17aae5a045eb8bdc9da7f36de"/><file name="ParametersParser.php" hash="32901cab2b4ac273707248a353c0e5d8"/><file name="ProductsPerPageOptions.php" hash="00d5fefb4798df35e5eb59ba7c520d21"/><file name="Record.php" hash="13d6d9d64b6914706866450869b38206"/><file name="Result.php" hash="bc67777850ff18b7784c48bb8f5fbd20"/><file name="SingleWordSearchItem.php" hash="3b806c3d26785f0260d09abe6469c999"/><file name="SuggestQuery.php" hash="9aaa4f18c5369acfe0dcb387245e4a75"/><file name="TagQuery.php" hash="a35b69db11cb856225c00f103b7c16ab"/><file name="Util.php" hash="7f3c81e2bd95a5c61365e8f2426c258e"/><dir name="Xml64"><file name="SearchAdapter.php" hash="d3ce38946d9df3c96e117b1a0a196b0c"/></dir><dir name="Xml65"><file name="RecommendationAdapter.php" hash="d9c1d57dba84ef5db4dc624c788b91dc"/><file name="SearchAdapter.php" hash="71b0cb4554b98cc7f7d74cd6754bf3cc"/><file name="SuggestAdapter.php" hash="f9742b1c720542d01ec622c6d65beea4"/><file name="TagCloudAdapter.php" hash="290ce886957e6760c9a3bdc5dec19e4f"/></dir><dir name="Xml66"><file name="CompareAdapter.php" hash="5ebc1da804fb2f27cdc6ab911d823f14"/><file name="RecommendationAdapter.php" hash="94cd09e149d85182a6b13773b4c6c601"/><file name="SearchAdapter.php" hash="e178a14e3173c123f38df9312030cdd3"/><file name="SimilarRecordsAdapter.php" hash="669541b29f87955d45d315545a1951bf"/><file name="SuggestAdapter.php" hash="982290e42670453a9597279ffe5fa86c"/><file name="TagCloudAdapter.php" hash="52a7937a07070f2477ccdb2185cdaab8"/></dir><dir name="Xml67"><file name="CompareAdapter.php" hash="f58ea46c0f0a634d2753ff4627937c3d"/><file name="ProductCampaignAdapter.php" hash="6a81f02658445dabc1f997b865e385d5"/><file name="RecommendationAdapter.php" hash="bdbcd5a489b2dc21555aa6db0a044eb3"/><file name="SearchAdapter.php" hash="894f602ab8736307a932354010ae8a07"/><file name="SimilarRecordsAdapter.php" hash="75663be522e408124198a3091a0cf9d9"/><file name="SuggestAdapter.php" hash="3323d92b9a9dcb80a0587fab203c5a73"/><file name="TagCloudAdapter.php" hash="cd4ebb2581682d478d71ba1aeb62e01e"/></dir></dir><dir name="FACTFinderCustom"><file name="Configuration.php" hash="96b16f73d80f74ee0a24d39bc81ac321"/></dir></target></contents>
18
<compatible/>
19
+ <dependencies><required><php><min>5.2.6</min><max>6.0.0</max></php></required></dependencies>
20
</package>