Version Notes
[+BUGFIX] use the fallback-offline delay correctly
[~BUGFIX] don't add messages to FF if delay is set to 0 (too many messages)
[~TASK] change search helper method access
[+BUGFIX] only send request to FF if the module is activated
[+BUGFIX] don't collect factfinder fails, if fallback isn't activated
[+BUGFIX] don't make requests to the recommendation engine if the according features are disabled
Download this release
Release Info
Developer | Magento Core Team |
Extension | Flagbit_Factfinder |
Version | 3.4.4 |
Comparing to | |
See all releases |
Code changes from version 3.4.3 to 3.4.4
- app/code/community/Flagbit/FactFinder/Block/Campaign/Advisory.php +3 -1
- app/code/community/Flagbit/FactFinder/Block/Campaign/Cart/Advisory.php +7 -5
- app/code/community/Flagbit/FactFinder/Block/Campaign/Cart/Feedback.php +7 -5
- app/code/community/Flagbit/FactFinder/Block/Campaign/Feedback.php +3 -1
- app/code/community/Flagbit/FactFinder/Block/Cart/Crosssell.php +4 -2
- app/code/community/Flagbit/FactFinder/Block/Layer.php +14 -11
- app/code/community/Flagbit/FactFinder/Block/Product/List/Crosssell.php +6 -4
- app/code/community/Flagbit/FactFinder/Block/Product/List/Upsell.php +9 -2
- app/code/community/Flagbit/FactFinder/Block/Secondaryresult.php +7 -2
- app/code/community/Flagbit/FactFinder/Block/TagCloud.php +3 -1
- app/code/community/Flagbit/FactFinder/Helper/Search.php +118 -83
- app/code/community/Flagbit/FactFinder/Model/Observer.php +1 -1
- app/code/community/Flagbit/FactFinder/etc/config.xml +2 -2
- package.xml +10 -11
app/code/community/Flagbit/FactFinder/Block/Campaign/Advisory.php
CHANGED
@@ -6,7 +6,9 @@ class Flagbit_FactFinder_Block_Campaign_Advisory extends Mage_Core_Block_Templat
|
|
6 |
|
7 |
protected function _prepareLayout()
|
8 |
{
|
9 |
-
|
|
|
|
|
10 |
}
|
11 |
|
12 |
/**
|
6 |
|
7 |
protected function _prepareLayout()
|
8 |
{
|
9 |
+
if(Mage::helper('factfinder/search')->getIsEnabled(false, 'campaign')){
|
10 |
+
$this->_searchHandler = Mage::getSingleton('factfinder/handler_search');
|
11 |
+
}
|
12 |
}
|
13 |
|
14 |
/**
|
app/code/community/Flagbit/FactFinder/Block/Campaign/Cart/Advisory.php
CHANGED
@@ -23,13 +23,15 @@ class Flagbit_FactFinder_Block_Campaign_Cart_Advisory extends Mage_Core_Block_Te
|
|
23 |
|
24 |
protected function _prepareLayout()
|
25 |
{
|
26 |
-
$this->
|
|
|
27 |
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
|
32 |
-
|
|
|
33 |
return parent::_prepareLayout();
|
34 |
}
|
35 |
|
23 |
|
24 |
protected function _prepareLayout()
|
25 |
{
|
26 |
+
if($this->canCampaignBeDisplayed()){
|
27 |
+
$this->_product = Mage::getModel('catalog/product')->load(Mage::getSingleton('checkout/session')->getLastAddedProductId());
|
28 |
|
29 |
+
$productIds = array(
|
30 |
+
$this->_product->getData(Mage::helper('factfinder/search')->getIdFieldName())
|
31 |
+
);
|
32 |
|
33 |
+
$this->_productCampaignHandler = Mage::getSingleton('factfinder/handler_shoppingCartCampaign', array($productIds, true));
|
34 |
+
}
|
35 |
return parent::_prepareLayout();
|
36 |
}
|
37 |
|
app/code/community/Flagbit/FactFinder/Block/Campaign/Cart/Feedback.php
CHANGED
@@ -23,13 +23,15 @@ class Flagbit_FactFinder_Block_Campaign_Cart_Feedback extends Mage_Core_Block_Te
|
|
23 |
|
24 |
protected function _prepareLayout()
|
25 |
{
|
26 |
-
|
|
|
27 |
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
|
32 |
-
|
|
|
33 |
return parent::_prepareLayout();
|
34 |
}
|
35 |
|
23 |
|
24 |
protected function _prepareLayout()
|
25 |
{
|
26 |
+
if(Mage::helper('factfinder/search')->getIsEnabled(false, 'campaign')){
|
27 |
+
$this->_product = Mage::getModel('catalog/product')->load(Mage::getSingleton('checkout/session')->getLastAddedProductId());
|
28 |
|
29 |
+
$productIds = array(
|
30 |
+
$this->_product->getData(Mage::helper('factfinder/search')->getIdFieldName())
|
31 |
+
);
|
32 |
|
33 |
+
$this->_productCampaignHandler = Mage::getSingleton('factfinder/handler_shoppingCartCampaign', array($productIds, true));
|
34 |
+
}
|
35 |
return parent::_prepareLayout();
|
36 |
}
|
37 |
|
app/code/community/Flagbit/FactFinder/Block/Campaign/Feedback.php
CHANGED
@@ -31,7 +31,9 @@ class Flagbit_FactFinder_Block_Campaign_Feedback extends Mage_Core_Block_Templat
|
|
31 |
|
32 |
protected function _prepareLayout()
|
33 |
{
|
34 |
-
|
|
|
|
|
35 |
}
|
36 |
|
37 |
/**
|
31 |
|
32 |
protected function _prepareLayout()
|
33 |
{
|
34 |
+
if(Mage::helper('factfinder/search')->getIsEnabled(false, 'campaign')){
|
35 |
+
$this->_searchHandler = Mage::getSingleton('factfinder/handler_search');
|
36 |
+
}
|
37 |
}
|
38 |
|
39 |
/**
|
app/code/community/Flagbit/FactFinder/Block/Cart/Crosssell.php
CHANGED
@@ -24,8 +24,10 @@ class Flagbit_FactFinder_Block_Cart_Crosssell extends Mage_Checkout_Block_Cart_C
|
|
24 |
|
25 |
protected function _prepareLayout()
|
26 |
{
|
27 |
-
|
28 |
-
|
|
|
|
|
29 |
return parent::_prepareLayout();
|
30 |
}
|
31 |
|
24 |
|
25 |
protected function _prepareLayout()
|
26 |
{
|
27 |
+
if(Mage::getStoreConfigFlag('factfinder/activation/crosssell')){
|
28 |
+
$productIds = $this->_getCartProductIds();
|
29 |
+
$this->_recommendationsHandler = Mage::getSingleton('factfinder/handler_recommendations', $productIds);
|
30 |
+
}
|
31 |
return parent::_prepareLayout();
|
32 |
}
|
33 |
|
app/code/community/Flagbit/FactFinder/Block/Layer.php
CHANGED
@@ -9,9 +9,9 @@
|
|
9 |
|
10 |
/**
|
11 |
* Block class
|
12 |
-
*
|
13 |
-
* This class is used to disable Magento´s default Price and Category Filter Output
|
14 |
-
*
|
15 |
* @category Mage
|
16 |
* @package Flagbit_FactFinder
|
17 |
* @copyright Copyright (c) 2010 Flagbit GmbH & Co. KG (http://www.flagbit.de/)
|
@@ -31,8 +31,11 @@ class Flagbit_FactFinder_Block_Layer extends Flagbit_FactFinder_Block_Layer_Abst
|
|
31 |
*/
|
32 |
protected function _prepareLayout()
|
33 |
{
|
34 |
-
|
|
|
|
|
35 |
|
|
|
36 |
$this->_usesAsn = Mage::helper('factfinder/search')->getIsEnabled(false, 'asn');
|
37 |
|
38 |
if(!$this->_usesAsn){
|
@@ -101,7 +104,7 @@ class Flagbit_FactFinder_Block_Layer extends Flagbit_FactFinder_Block_Layer_Abst
|
|
101 |
|
102 |
$this->getLayer()->apply();
|
103 |
}
|
104 |
-
|
105 |
/**
|
106 |
* Get category filter block
|
107 |
*
|
@@ -111,7 +114,7 @@ class Flagbit_FactFinder_Block_Layer extends Flagbit_FactFinder_Block_Layer_Abst
|
|
111 |
{
|
112 |
if(!Mage::helper('factfinder/search')->getIsEnabled(false, 'asn')){
|
113 |
return parent::_getCategoryFilter();
|
114 |
-
}
|
115 |
return false;
|
116 |
}
|
117 |
|
@@ -124,11 +127,11 @@ class Flagbit_FactFinder_Block_Layer extends Flagbit_FactFinder_Block_Layer_Abst
|
|
124 |
{
|
125 |
if(!Mage::helper('factfinder/search')->getIsEnabled(false, 'asn')){
|
126 |
return parent::_getPriceFilter();
|
127 |
-
}
|
128 |
-
|
129 |
return false;
|
130 |
}
|
131 |
-
|
132 |
/**
|
133 |
* Check availability display layer block
|
134 |
*
|
@@ -142,11 +145,11 @@ class Flagbit_FactFinder_Block_Layer extends Flagbit_FactFinder_Block_Layer_Abst
|
|
142 |
}
|
143 |
if(!Mage::helper('factfinder/search')->getIsEnabled(false, 'asn')){
|
144 |
return false;
|
145 |
-
}
|
146 |
if ($this->getLayer()->getFilterableAttributes()->count()
|
147 |
&& $this->getLayer()->getProductCollection()->getSize()) {
|
148 |
return true;
|
149 |
}
|
150 |
return false;
|
151 |
-
}
|
152 |
}
|
9 |
|
10 |
/**
|
11 |
* Block class
|
12 |
+
*
|
13 |
+
* This class is used to disable Magento´s default Price and Category Filter Output
|
14 |
+
*
|
15 |
* @category Mage
|
16 |
* @package Flagbit_FactFinder
|
17 |
* @copyright Copyright (c) 2010 Flagbit GmbH & Co. KG (http://www.flagbit.de/)
|
31 |
*/
|
32 |
protected function _prepareLayout()
|
33 |
{
|
34 |
+
if(!Mage::helper('factfinder/search')->getIsEnabled()){
|
35 |
+
return parent::_prepareLayout();
|
36 |
+
}
|
37 |
|
38 |
+
$this->_searchHandler = Mage::getSingleton('factfinder/handler_search');
|
39 |
$this->_usesAsn = Mage::helper('factfinder/search')->getIsEnabled(false, 'asn');
|
40 |
|
41 |
if(!$this->_usesAsn){
|
104 |
|
105 |
$this->getLayer()->apply();
|
106 |
}
|
107 |
+
|
108 |
/**
|
109 |
* Get category filter block
|
110 |
*
|
114 |
{
|
115 |
if(!Mage::helper('factfinder/search')->getIsEnabled(false, 'asn')){
|
116 |
return parent::_getCategoryFilter();
|
117 |
+
}
|
118 |
return false;
|
119 |
}
|
120 |
|
127 |
{
|
128 |
if(!Mage::helper('factfinder/search')->getIsEnabled(false, 'asn')){
|
129 |
return parent::_getPriceFilter();
|
130 |
+
}
|
131 |
+
|
132 |
return false;
|
133 |
}
|
134 |
+
|
135 |
/**
|
136 |
* Check availability display layer block
|
137 |
*
|
145 |
}
|
146 |
if(!Mage::helper('factfinder/search')->getIsEnabled(false, 'asn')){
|
147 |
return false;
|
148 |
+
}
|
149 |
if ($this->getLayer()->getFilterableAttributes()->count()
|
150 |
&& $this->getLayer()->getProductCollection()->getSize()) {
|
151 |
return true;
|
152 |
}
|
153 |
return false;
|
154 |
+
}
|
155 |
}
|
app/code/community/Flagbit/FactFinder/Block/Product/List/Crosssell.php
CHANGED
@@ -24,10 +24,12 @@ class Flagbit_FactFinder_Block_Product_List_Crosssell extends Mage_Catalog_Block
|
|
24 |
|
25 |
protected function _prepareLayout()
|
26 |
{
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
|
|
|
|
31 |
return parent::_prepareLayout();
|
32 |
}
|
33 |
/**
|
24 |
|
25 |
protected function _prepareLayout()
|
26 |
{
|
27 |
+
if (Mage::getStoreConfigFlag('factfinder/activation/crosssell')) {
|
28 |
+
$productIds = array(
|
29 |
+
Mage::registry('product')->getData(Mage::helper('factfinder/search')->getIdFieldName())
|
30 |
+
);
|
31 |
+
$this->_recommendationsHandler = Mage::getSingleton('factfinder/handler_recommendations', $productIds);
|
32 |
+
}
|
33 |
return parent::_prepareLayout();
|
34 |
}
|
35 |
/**
|
app/code/community/Flagbit/FactFinder/Block/Product/List/Upsell.php
CHANGED
@@ -29,8 +29,15 @@ class Flagbit_FactFinder_Block_Product_List_Upsell extends Mage_Catalog_Block_Pr
|
|
29 |
$productIds = array(
|
30 |
Mage::registry('current_product')->getData(Mage::helper('factfinder/search')->getIdFieldName())
|
31 |
);
|
32 |
-
|
33 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
34 |
return parent::_prepareLayout();
|
35 |
}
|
36 |
|
29 |
$productIds = array(
|
30 |
Mage::registry('current_product')->getData(Mage::helper('factfinder/search')->getIdFieldName())
|
31 |
);
|
32 |
+
|
33 |
+
if(Mage::helper('factfinder/search')->getIsEnabled(false, 'campaign')) {
|
34 |
+
$this->_productCampaignHandler = Mage::getSingleton('factfinder/handler_productDetailCampaign', $productIds);
|
35 |
+
}
|
36 |
+
|
37 |
+
if (Mage::getStoreConfigFlag('factfinder/activation/upsell')) {
|
38 |
+
$this->_recommendationsHandler = Mage::getSingleton('factfinder/handler_recommendations', $productIds);
|
39 |
+
}
|
40 |
+
|
41 |
return parent::_prepareLayout();
|
42 |
}
|
43 |
|
app/code/community/Flagbit/FactFinder/Block/Secondaryresult.php
CHANGED
@@ -5,12 +5,17 @@ class Flagbit_FactFinder_Block_Secondaryresult extends Mage_Core_Block_Template
|
|
5 |
|
6 |
protected function _prepareLayout()
|
7 |
{
|
8 |
-
|
|
|
|
|
9 |
}
|
10 |
|
11 |
protected function getSecondaryResult($channel)
|
12 |
{
|
13 |
-
|
|
|
|
|
|
|
14 |
|
15 |
return $result;
|
16 |
}
|
5 |
|
6 |
protected function _prepareLayout()
|
7 |
{
|
8 |
+
if(Mage::helper('factfinder/search')->getIsEnabled()){
|
9 |
+
$this->_searchHandler = Mage::getSingleton('factfinder/handler_secondarySearch');
|
10 |
+
}
|
11 |
}
|
12 |
|
13 |
protected function getSecondaryResult($channel)
|
14 |
{
|
15 |
+
$result = array();
|
16 |
+
if(Mage::helper('factfinder/search')->getIsEnabled()){
|
17 |
+
$result = $this->_searchHandler->getSecondarySearchResult($channel);
|
18 |
+
}
|
19 |
|
20 |
return $result;
|
21 |
}
|
app/code/community/Flagbit/FactFinder/Block/TagCloud.php
CHANGED
@@ -8,7 +8,9 @@ class Flagbit_FactFinder_Block_TagCloud extends Mage_CatalogSearch_Block_Term
|
|
8 |
|
9 |
protected function _prepareLayout()
|
10 |
{
|
11 |
-
|
|
|
|
|
12 |
return parent::_prepareLayout();
|
13 |
}
|
14 |
|
8 |
|
9 |
protected function _prepareLayout()
|
10 |
{
|
11 |
+
if(Mage::helper('factfinder/search')->getIsEnabled(false, 'tagcloud')){
|
12 |
+
$this->_tagCloudHandler = Mage::getSingleton('factfinder/handler_tagCloud');
|
13 |
+
}
|
14 |
return parent::_prepareLayout();
|
15 |
}
|
16 |
|
app/code/community/Flagbit/FactFinder/Helper/Search.php
CHANGED
@@ -34,21 +34,23 @@ class Flagbit_FactFinder_Helper_Search extends Mage_Core_Helper_Abstract {
|
|
34 |
* @var string
|
35 |
*/
|
36 |
const XML_CONFIG_PATH_USE_PROXY = 'factfinder/config/proxy';
|
37 |
-
|
38 |
const CACHE_TAG = 'FACTFINDER';
|
39 |
const CACHE_ID = "FallbackCache";
|
40 |
const REQUEST_ID_PREFIX = 'FACTFINDER_';
|
41 |
|
42 |
protected static $_skipFactFinder = null;
|
43 |
-
|
44 |
-
protected static $
|
45 |
-
|
46 |
protected static $_failedAttemptRegistered = false;
|
47 |
-
|
48 |
/**
|
49 |
* if FACT-Finder enabled?
|
50 |
*
|
51 |
-
* @
|
|
|
|
|
52 |
*/
|
53 |
public function getIsEnabled($searchPageCheck = true, $functionality = '')
|
54 |
{
|
@@ -88,22 +90,36 @@ class Flagbit_FactFinder_Helper_Search extends Mage_Core_Helper_Abstract {
|
|
88 |
|
89 |
return $result;
|
90 |
}
|
91 |
-
|
92 |
/**
|
93 |
* Determines whether the fallback should be used
|
94 |
*
|
95 |
* @return bool
|
96 |
**/
|
97 |
-
protected function
|
98 |
{
|
99 |
-
if(self::$
|
100 |
{
|
101 |
-
self::$
|
102 |
}
|
103 |
-
|
104 |
-
return self::$
|
105 |
}
|
106 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
107 |
/**
|
108 |
* Determines whether FACT-Finder should be skipped completely, because it has failed to respond too often
|
109 |
* The check is made lazily so that it will return the same result for every call during one request to Magento.
|
@@ -114,33 +130,33 @@ class Flagbit_FactFinder_Helper_Search extends Mage_Core_Helper_Abstract {
|
|
114 |
{
|
115 |
if(self::$_skipFactFinder === null)
|
116 |
{
|
117 |
-
if(!$this->
|
118 |
{
|
119 |
self::$_skipFactFinder = false;
|
120 |
}
|
121 |
else
|
122 |
{
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
self::$_skipFactFinder = (count($failedAttempts) >= 3);
|
128 |
-
|
129 |
-
if(self::$_skipFactFinder)
|
130 |
-
{
|
131 |
-
Mage::helper('factfinder/debug')->log('Failed to connect to FACT-Finder 3 times. Falling back to Magento\'s search.');
|
132 |
-
}
|
133 |
}
|
134 |
}
|
135 |
-
|
136 |
return self::$_skipFactFinder;
|
137 |
}
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
144 |
/**
|
145 |
* Registers that FACT-Finder has failed to respond.
|
146 |
* The attempt will be represented as an integer corresponding to attempt's timestamp in minutes.
|
@@ -148,50 +164,67 @@ class Flagbit_FactFinder_Helper_Search extends Mage_Core_Helper_Abstract {
|
|
148 |
**/
|
149 |
public function registerFailedAttempt()
|
150 |
{
|
151 |
-
if(self::$_failedAttemptRegistered)
|
152 |
return;
|
153 |
-
|
|
|
154 |
$failedAttempts = $this->_loadFailedAttempts();
|
155 |
-
|
156 |
-
$
|
157 |
-
|
|
|
158 |
self::$_failedAttemptRegistered = true;
|
159 |
-
|
160 |
-
Mage::helper('factfinder/debug')->log('Registered failed attempt to connect to FACT-Finder. '.count($failedAttempts).' failed attempts registered.');
|
161 |
-
if(count($failedAttempts) >= 3)
|
162 |
-
{
|
163 |
-
$delay = Mage::getStoreConfig('factfinder/fallback/wait_time');
|
164 |
|
165 |
-
|
166 |
-
$
|
167 |
|
168 |
-
$
|
169 |
|
170 |
-
|
171 |
-
|
172 |
-
$
|
173 |
-
{
|
174 |
-
Mage::getModel('adminnotification/inbox')->addMajor($title, $message);
|
175 |
}
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
193 |
}
|
194 |
-
|
195 |
/**
|
196 |
* Loads previously registered failed attempts from cache, if they exist.
|
197 |
* Returns an empty array, otherwise.
|
@@ -200,26 +233,27 @@ class Flagbit_FactFinder_Helper_Search extends Mage_Core_Helper_Abstract {
|
|
200 |
**/
|
201 |
protected function _loadFailedAttempts()
|
202 |
{
|
203 |
-
$cachedContent = Mage::app()->loadCache($this->_getCacheId());
|
204 |
$failedAttempts = array();
|
205 |
-
if($cachedContent)
|
206 |
$failedAttempts = unserialize($cachedContent);
|
207 |
-
|
|
|
208 |
return $failedAttempts;
|
209 |
}
|
210 |
-
|
211 |
/**
|
212 |
* Save failed attempts to cache.
|
213 |
*
|
214 |
* @param array of int failed attempts
|
215 |
**/
|
216 |
-
public function
|
217 |
{
|
218 |
-
Mage::app()->saveCache(serialize($failedAttempts), $this->_getCacheId(), array(self::CACHE_TAG));
|
219 |
}
|
220 |
-
|
221 |
/**
|
222 |
-
* Removes entries from a list of minute-timestamps which are older than
|
223 |
*
|
224 |
* @param array of int entries
|
225 |
**/
|
@@ -227,13 +261,14 @@ class Flagbit_FactFinder_Helper_Search extends Mage_Core_Helper_Abstract {
|
|
227 |
{
|
228 |
$delay = Mage::getStoreConfig('factfinder/fallback/wait_time');
|
229 |
$newEntries = array();
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
|
|
|
237 |
return $newEntries;
|
238 |
}
|
239 |
|
@@ -303,7 +338,7 @@ class Flagbit_FactFinder_Helper_Search extends Mage_Core_Helper_Abstract {
|
|
303 |
}
|
304 |
$url = $this->_getUrl('factfinder/proxy/suggest', $params);
|
305 |
} else {
|
306 |
-
$url = Mage::getSingleton('factfinder/facade')->getSuggestUrl();
|
307 |
}
|
308 |
return $url;
|
309 |
}
|
34 |
* @var string
|
35 |
*/
|
36 |
const XML_CONFIG_PATH_USE_PROXY = 'factfinder/config/proxy';
|
37 |
+
|
38 |
const CACHE_TAG = 'FACTFINDER';
|
39 |
const CACHE_ID = "FallbackCache";
|
40 |
const REQUEST_ID_PREFIX = 'FACTFINDER_';
|
41 |
|
42 |
protected static $_skipFactFinder = null;
|
43 |
+
|
44 |
+
protected static $_isFallbackFeatureActive = null;
|
45 |
+
|
46 |
protected static $_failedAttemptRegistered = false;
|
47 |
+
|
48 |
/**
|
49 |
* if FACT-Finder enabled?
|
50 |
*
|
51 |
+
* @param searchPageCheck if true, it will also check whether this is a request for a page with factfinder results
|
52 |
+
* @param functionality can be one of those: suggest, asn, campaign, clicktracking, tagcloud
|
53 |
+
* @return boolean true it the specified feature is enabled
|
54 |
*/
|
55 |
public function getIsEnabled($searchPageCheck = true, $functionality = '')
|
56 |
{
|
90 |
|
91 |
return $result;
|
92 |
}
|
93 |
+
|
94 |
/**
|
95 |
* Determines whether the fallback should be used
|
96 |
*
|
97 |
* @return bool
|
98 |
**/
|
99 |
+
protected function _isFallbackFeatureActive()
|
100 |
{
|
101 |
+
if(self::$_isFallbackFeatureActive === null)
|
102 |
{
|
103 |
+
self::$_isFallbackFeatureActive = Mage::getStoreConfig('factfinder/fallback/use_fallback');
|
104 |
}
|
105 |
+
|
106 |
+
return self::$_isFallbackFeatureActive;
|
107 |
}
|
108 |
+
|
109 |
+
protected function _enableFallback($delay)
|
110 |
+
{
|
111 |
+
$this->_skipFactFinder = true;
|
112 |
+
$nextRetryTimestamp = intval(time() / 60) + $delay;
|
113 |
+
Mage::app()->saveCache($nextRetryTimestamp, $this->_getCacheId('nextRetryTimestamp'), array(self::CACHE_TAG));
|
114 |
+
}
|
115 |
+
|
116 |
+
protected function _disableFallback()
|
117 |
+
{
|
118 |
+
$this->_skipFactFinder = false;
|
119 |
+
$nextRetryTimestamp = 0;
|
120 |
+
Mage::app()->saveCache($nextRetryTimestamp, $this->_getCacheId('nextRetryTimestamp'), array(self::CACHE_TAG));
|
121 |
+
}
|
122 |
+
|
123 |
/**
|
124 |
* Determines whether FACT-Finder should be skipped completely, because it has failed to respond too often
|
125 |
* The check is made lazily so that it will return the same result for every call during one request to Magento.
|
130 |
{
|
131 |
if(self::$_skipFactFinder === null)
|
132 |
{
|
133 |
+
if(!$this->_isFallbackFeatureActive())
|
134 |
{
|
135 |
self::$_skipFactFinder = false;
|
136 |
}
|
137 |
else
|
138 |
{
|
139 |
+
$nextRetryTimestamp = intval(Mage::app()->loadCache($this->_getCacheId('nextRetryTimestamp')));
|
140 |
+
$currentTimestamp = intval(time() / 60);
|
141 |
+
|
142 |
+
self::$_skipFactFinder = ($currentTimestamp <= $nextRetryTimestamp);
|
|
|
|
|
|
|
|
|
|
|
|
|
143 |
}
|
144 |
}
|
145 |
+
|
146 |
return self::$_skipFactFinder;
|
147 |
}
|
148 |
+
|
149 |
+
/**
|
150 |
+
* resets all fallback counter values.
|
151 |
+
*
|
152 |
+
* @return void
|
153 |
+
*/
|
154 |
+
public function resetFailedAttemptCount()
|
155 |
+
{
|
156 |
+
$this->_disableFallback();
|
157 |
+
$this->_saveFailedAttempts(array());
|
158 |
+
}
|
159 |
+
|
160 |
/**
|
161 |
* Registers that FACT-Finder has failed to respond.
|
162 |
* The attempt will be represented as an integer corresponding to attempt's timestamp in minutes.
|
164 |
**/
|
165 |
public function registerFailedAttempt()
|
166 |
{
|
167 |
+
if(self::$_failedAttemptRegistered || !$this->_isFallbackFeatureActive() || $this->_skipFactFinder()) {
|
168 |
return;
|
169 |
+
}
|
170 |
+
|
171 |
$failedAttempts = $this->_loadFailedAttempts();
|
172 |
+
$failedAttempts = $this->_removeOldEntries($failedAttempts);
|
173 |
+
$failedAttempts[] = intval(time() / 60);
|
174 |
+
$this->_saveFailedAttempts($failedAttempts);
|
175 |
+
|
176 |
self::$_failedAttemptRegistered = true;
|
177 |
+
Mage::helper('factfinder/debug')->log('Registered failed attempt to connect to FACT-Finder. '.count($failedAttempts).' failed attempts registered.');
|
|
|
|
|
|
|
|
|
178 |
|
179 |
+
if (count($failedAttempts) >= 3) {
|
180 |
+
$delay = Mage::getStoreConfig('factfinder/fallback/wait_time');
|
181 |
|
182 |
+
$this->_enableFallback($delay);
|
183 |
|
184 |
+
// don't output a warning, if the delay is set to 0 as this would cause a lot of messages during a factfinder downtime
|
185 |
+
if($delay > 0) {
|
186 |
+
$this->_outputWarningMessage();
|
|
|
|
|
187 |
}
|
188 |
+
}
|
189 |
+
}
|
190 |
+
|
191 |
+
protected function _outputWarningMessage()
|
192 |
+
{
|
193 |
+
$delay = Mage::getStoreConfig('factfinder/fallback/wait_time');
|
194 |
+
|
195 |
+
$title = 'FACT-Finder unreachable! Falling back to Magento\'s search for '.$delay.' minutes.';
|
196 |
+
$message = 'FACT-Finder did not respond for the third time. Magento will now use its own search for '.$delay.' minutes before trying to reach FACT-Finder again. If the problem persists, please check your FACT-Finder server and the settings in Magento\'s FACT-Finder configuration.';
|
197 |
+
|
198 |
+
$adminNotificationInbox = Mage::getModel('adminnotification/inbox');
|
199 |
+
|
200 |
+
if (method_exists($adminNotificationInbox, 'addMajor')) {
|
201 |
+
Mage::getModel('adminnotification/inbox')->addMajor($title, $message);
|
202 |
+
} else {
|
203 |
+
$severity = Mage_AdminNotification_Model_Inbox::SEVERITY_MAJOR;
|
204 |
+
$date = date('Y-m-d H:i:s');
|
205 |
+
|
206 |
+
$adminNotificationInbox->parse(array(
|
207 |
+
array(
|
208 |
+
'severity' => $severity,
|
209 |
+
'date_added' => $date,
|
210 |
+
'title' => $title,
|
211 |
+
'description' => $message,
|
212 |
+
'url' => '',
|
213 |
+
'internal' => true
|
214 |
+
)
|
215 |
+
));
|
216 |
+
}
|
217 |
+
}
|
218 |
+
|
219 |
+
protected function _getCacheId($suffix = null)
|
220 |
+
{
|
221 |
+
$cacheId = self::REQUEST_ID_PREFIX . self::CACHE_ID;
|
222 |
+
if ($suffix != null) {
|
223 |
+
$cacheId .= '_' . $suffix;
|
224 |
+
}
|
225 |
+
return $cacheId;
|
226 |
}
|
227 |
+
|
228 |
/**
|
229 |
* Loads previously registered failed attempts from cache, if they exist.
|
230 |
* Returns an empty array, otherwise.
|
233 |
**/
|
234 |
protected function _loadFailedAttempts()
|
235 |
{
|
236 |
+
$cachedContent = Mage::app()->loadCache($this->_getCacheId('failedAttempts'));
|
237 |
$failedAttempts = array();
|
238 |
+
if($cachedContent) {
|
239 |
$failedAttempts = unserialize($cachedContent);
|
240 |
+
}
|
241 |
+
|
242 |
return $failedAttempts;
|
243 |
}
|
244 |
+
|
245 |
/**
|
246 |
* Save failed attempts to cache.
|
247 |
*
|
248 |
* @param array of int failed attempts
|
249 |
**/
|
250 |
+
public function _saveFailedAttempts($failedAttempts)
|
251 |
{
|
252 |
+
Mage::app()->saveCache(serialize($failedAttempts), $this->_getCacheId('failedAttempts'), array(self::CACHE_TAG));
|
253 |
}
|
254 |
+
|
255 |
/**
|
256 |
+
* Removes entries from a list of minute-timestamps which are older than 3 minutes
|
257 |
*
|
258 |
* @param array of int entries
|
259 |
**/
|
261 |
{
|
262 |
$delay = Mage::getStoreConfig('factfinder/fallback/wait_time');
|
263 |
$newEntries = array();
|
264 |
+
|
265 |
+
$minutesTimestamp = intval(time() / 60);
|
266 |
+
foreach($entries as $entry)
|
267 |
+
{
|
268 |
+
if($minutesTimestamp - $entry < 3)
|
269 |
+
$newEntries[] = $entry;
|
270 |
+
}
|
271 |
+
|
272 |
return $newEntries;
|
273 |
}
|
274 |
|
338 |
}
|
339 |
$url = $this->_getUrl('factfinder/proxy/suggest', $params);
|
340 |
} else {
|
341 |
+
$url = Mage::getSingleton('factfinder/facade')->getSuggestUrl();
|
342 |
}
|
343 |
return $url;
|
344 |
}
|
app/code/community/Flagbit/FactFinder/Model/Observer.php
CHANGED
@@ -186,7 +186,7 @@ class Flagbit_FactFinder_Model_Observer
|
|
186 |
$groups['search']['fields']['enabled']['errors'] = $errors;
|
187 |
} else {
|
188 |
// If there were no errors, reset the fallback feature
|
189 |
-
Mage::helper('factfinder/search')->
|
190 |
}
|
191 |
|
192 |
// if we have an error - unset inherit field so that Backend model processing is activated
|
186 |
$groups['search']['fields']['enabled']['errors'] = $errors;
|
187 |
} else {
|
188 |
// If there were no errors, reset the fallback feature
|
189 |
+
Mage::helper('factfinder/search')->resetFailedAttemptCount();
|
190 |
}
|
191 |
|
192 |
// if we have an error - unset inherit field so that Backend model processing is activated
|
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.4.
|
26 |
</Flagbit_FactFinder>
|
27 |
</modules>
|
28 |
<global>
|
@@ -250,7 +250,7 @@
|
|
250 |
</search>
|
251 |
</catalog>
|
252 |
<factfinder>
|
253 |
-
<version>3.4.
|
254 |
<revision>$Rev: 25896 $</revision>
|
255 |
<debug>true</debug>
|
256 |
|
22 |
<modules>
|
23 |
<Flagbit_FactFinder>
|
24 |
<active>true</active>
|
25 |
+
<version>3.4.4</version>
|
26 |
</Flagbit_FactFinder>
|
27 |
</modules>
|
28 |
<global>
|
250 |
</search>
|
251 |
</catalog>
|
252 |
<factfinder>
|
253 |
+
<version>3.4.4</version>
|
254 |
<revision>$Rev: 25896 $</revision>
|
255 |
<debug>true</debug>
|
256 |
|
package.xml
CHANGED
@@ -1,24 +1,23 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Flagbit_Factfinder</name>
|
4 |
-
<version>3.4.
|
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]
|
12 |
-
[~BUGFIX]
|
13 |
-
[~
|
14 |
-
[
|
15 |
-
[
|
16 |
-
[+
|
17 |
-
[+TASK] extended the documentation of the __call method</notes>
|
18 |
<authors><author><name>Flagbit GmbH Co. KG</name><user>auto-converted</user><email>magento@flagbit.de</email></author></authors>
|
19 |
-
<date>2012-11-
|
20 |
-
<time>
|
21 |
-
<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="db2b5c21f817f1abdab3dabce26c699f"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="factfinder.xml" hash="c059bb14f9d4d929db8234bdf139c2cb"/></dir><dir name="template"><dir name="factfinder"><file name="form.advancedsuggest.phtml" hash="68cf6f46b65e66e1bb88d91b854a339a"/><file name="form.advancedsuggest68.phtml" hash="2910c0f39c52e6e02eead79688f682af"/><file name="form.mini.phtml" hash="eb49c2fb57594e2ebeed1ffb01c2606d"/><file name="logo.phtml" hash="7a40d67bf648e65345f69b2cf9d3c6b6"/><file name="scic.phtml" hash="4d4f8d2318837122973049496feafea5"/><file name="secondaryresult.phtml" hash="a4cdff409ccedb16d4fe9a038a4dd9e8"/><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="scriptaculousSlider.phtml" hash="e3ee4dbb6bc6e0546b4374078a9d88bc"/><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="4df4f128de560a402243cd7718f7be2a"/></dir></dir></target><target name="magelib"><dir><dir name="FACTFinder"><file name="AdvisorAnswer.php" hash="b6dfbe2d43660b1624ce7788bef7356a"/><file name="AdvisorQuestion.php" hash="7f3d039dc86c5baebb4702f8a66ca6d4"/><file name="Asn.php" hash="8a3753feea0901c7ace25e011be38e56"/><file name="AsnFilterItem.php" hash="cdd0bb237873b54877b4b52744250018"/><file name="AsnGroup.php" hash="51aa9c3dfad5ec727cade5962cd7ad2f"/><file name="AsnSliderFilter.php" hash="da4eb96cdb47553793b278aca2d0ec19"/><file name="BreadCrumbItem.php" hash="115ffb2f30e346b29f93ce2d84be724e"/><file name="Campaign.php" hash="138f990ff2180d369bd0b441998b9cb4"/><file name="CampaignIterator.php" hash="d58f054580f0057e8471dbd8334157f1"/><file name="Configuration.php" hash="972367363e6c84fe80f2c73a1528b8aa"/><file name="EncodingHandler.php" hash="4f0b616bca9158bfb7eddcfcba192dc6"/><file name="Item.php" hash="431843e9e2847e8a6c966a185c39f5e9"/><file name="Loader.php" hash="e76d471f86c6c68ef3228c0b98aaed6e"/><file name="Log4PhpLogger.php" hash="ecfb1f084b8d0bd2d51bf417fa0b0b3c"/><file name="NullLogger.php" hash="be8782000070665f0e9fcc011ae4fe77"/><file name="Paging.php" hash="a07db7cb4b02893792e6e29018a36858"/><file name="Parameters.php" hash="612c4a9b98cb8a17d0f2d30cf2641936"/><file name="ParametersParser.php" hash="187527e3d7f233ca60d89748be8c2896"/><file name="ProductsPerPageOptions.php" hash="1e69121e89109f31b0929706ea3dcabc"/><file name="Record.php" hash="4bc036a2d47cd1b76d09af6290f49044"/><file name="Result.php" hash="6b4e959df31a73b9fe25de7a76551970"/><file name="SingleWordSearchItem.php" hash="8f0feac780e68a8b0eab6d44dd6c6813"/><file name="SuggestQuery.php" hash="cf3cf51839e06475bdcf62bb49ee96c5"/><file name="TagQuery.php" hash="ece1fda66af2c6053507941f35423c5f"/><file name="Util.php" hash="4ac8b8eb630e83c65a065fd4e01ab11f"/><dir name="Abstract"><file name="Adapter.php" hash="dea9f000509f94599e3b4d38ee14d66f"/><file name="CompareAdapter.php" hash="d26dec2f3dc98269dcb43f10bcfcdfe9"/><file name="Configuration.php" hash="233565de45f56ba7bdcd604817dd7fc6"/><file name="DataProvider.php" hash="8b1dfc68d335aa006f7af9f2a60e519d"/><file name="ImportAdapter.php" hash="8427bb6b4b33c37bfe9090d7c16e0238"/><file name="Logger.php" hash="c5b1ace6158035e80b3d4a79a942a381"/><file name="ProductCampaignAdapter.php" hash="daa4f28109edf685b33f31fce8573ced"/><file name="RecommendationAdapter.php" hash="0c11f59134083f1377f1d0c38a6fdefb"/><file name="ScicAdapter.php" hash="e1a0b64f7555e32a78109bbbaaf3c939"/><file name="SearchAdapter.php" hash="c03d9bea34da5cc0e0b5885bd2c89c74"/><file name="SimilarRecordsAdapter.php" hash="2cef8bdabc112c2c78fb95e75ef748bd"/><file name="SuggestAdapter.php" hash="ef13ace0995fa2f57b87f38cc2fb701a"/><file name="TagCloudAdapter.php" hash="ac5465a5dde73dde3ead1f6f08eced08"/></dir><dir name="Http"><file name="DataProvider.php" hash="301e78f2d7b9c56d344b4a5989ef6b43"/><file name="DummyProvider.php" hash="30d61ea2ce373f5b501bb64d8ed19393"/><file name="ParallelDataProvider.php" hash="78f6039e0b6ec92b9e066e315fed77de"/><file name="ScicAdapter.php" hash="821294ba5ab1fbce8b8208d89e2162dc"/><file name="StatusHelper.php" hash="e4760fadae33a5574f9445bbc73c1283"/><file name="SuggestAdapter.php" hash="9ddfe5fdd6b373e9f7126867ed1f0b06"/><file name="UrlBuilder.php" hash="99efad6cb8243ee93a5d4b61c93d8303"/></dir><dir name="Xml64"><file name="SearchAdapter.php" hash="58a49882c741216cf278c4556ea7d224"/></dir><dir name="Xml65"><file name="ImportAdapter.php" hash="e372e9eaa322a1b2d9ace33679c80815"/><file name="RecommendationAdapter.php" hash="14a126d5a9c14da3e754186f81bfeacb"/><file name="SearchAdapter.php" hash="255e5ae9cd8fe3ff2588222c5a086376"/><file name="SuggestAdapter.php" hash="e5381502b74dd62be1a7aa833cbb03e2"/><file name="TagCloudAdapter.php" hash="711e1aabd4d2895f66fdc329ee2b82b8"/></dir><dir name="Xml66"><file name="CompareAdapter.php" hash="a6f500504086c842e8e50772305b98df"/><file name="ImportAdapter.php" hash="5ea0d06cc2ddc7a1b7c880203c38fe40"/><file name="RecommendationAdapter.php" hash="9490ea2b17fded94d087046065596b1b"/><file name="SearchAdapter.php" hash="82214090045d963b15ccc7073d73d7ea"/><file name="SimilarRecordsAdapter.php" hash="532cbc18947dad44fdb296bc82ea3fa0"/><file name="SuggestAdapter.php" hash="813bfb64ac9d2dc45443cc7c33e854a7"/><file name="TagCloudAdapter.php" hash="a44dd623910bbb6766a0b0c25584212c"/></dir><dir name="Xml67"><file name="CompareAdapter.php" hash="37980ec507fd7f13e81ece413915da2d"/><file name="ImportAdapter.php" hash="dc0d334439aa59f3e0a4226bbf1456d2"/><file name="ProductCampaignAdapter.php" hash="64faea05ff05c3031da6f30b3a169980"/><file name="RecommendationAdapter.php" hash="b991b5e2570c28530164b3cacfffa6e1"/><file name="SearchAdapter.php" hash="bda78e482ab612bc8902aee11260afb9"/><file name="SimilarRecordsAdapter.php" hash="b60a974a22d3e473538524dc57d1e91d"/><file name="SuggestAdapter.php" hash="7290503daae4ae9e595cc5b1480ce8a1"/><file name="TagCloudAdapter.php" hash="d3efa6616331286cb221f8ca79021324"/></dir><dir name="Xml68"><file name="CompareAdapter.php" hash="0a8ebc48d90e7aaf131b66180d10ba11"/><file name="ImportAdapter.php" hash="bf483742e13d647da407f7da85828b98"/><file name="ProductCampaignAdapter.php" hash="db981749b20f69eca65d5ac1e622bafe"/><file name="RecommendationAdapter.php" hash="69e031adc81be7a88a0cffbe1b96c317"/><file name="SearchAdapter.php" hash="de47913e1c064b171aea892443885e8f"/><file name="SimilarRecordsAdapter.php" hash="b9c70b5c7d6d803bb1c7f1255be55285"/><file name="SuggestAdapter.php" hash="5cf5b95340983823c9e7a3fd0dc20a0b"/><file name="TagCloudAdapter.php" hash="3bfa1e877269be17ee08c403254925bf"/></dir></dir><dir name="FACTFinderCustom"><file name="Configuration.php" hash="2451df5afb1c64460c07b4caa228fabf"/></dir><dir name="SAI"><file name="Curl.php" hash="1fb18096257151b5b47bc2964dd9fe39"/><file name="CurlInterface.php" hash="714fa045dd4546d0c92cd022efb09422"/><file name="CurlStub.php" hash="2521763ee414683aced1afd1ec12511d"/><dir name="Curl"><file name="Handle.php" hash="0fc7132737da7cee7df6b974447864ac"/></dir></dir></dir></target><target name="magecommunity"><dir><dir name="Flagbit"><dir name="FactFinder"><dir name="Block"><file name="Layer.php" hash="ad503d9839983c6a803481986d24cf7e"/><file name="Scic.php" hash="9ba6aa43204d0aae206d9f24f09aecfc"/><file name="Secondaryresult.php" hash="3b40908d8089ce30a1ab815e618800d3"/><file name="TagCloud.php" hash="bedca1b6a0a5b40bef6b4c263172a83f"/><dir name="Adminhtml"><file name="Cockpit.php" hash="e12c45f55d5fd31d164187bd9d16a0bd"/><file name="Exportlink.php" hash="29044f67c1ebb0e6950da286a24a1db7"/><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="0dab72c7edeb28479ef82c8c4f85c871"/><file name="Feedback.php" hash="c30b7a27bbf05df9cafc259562cdc50b"/><dir name="Cart"><file name="Advisory.php" hash="73d79fc1a899e2c94cd0301a3901c171"/><file name="Feedback.php" hash="86818ceff0cbe0fea694448037d8c0a9"/></dir><dir name="Product"><file name="Advisory.php" hash="bd1f468d56b6bc1fa3541406796c133a"/><file name="Feedback.php" hash="576bd4801d14f08bc1c62688ffab2e04"/></dir></dir><dir name="Cart"><file name="Crosssell.php" hash="aad1e79b0d9ef61b27e5f94d1a3fe2fe"/></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="80ac0ab275f3e903c3df80961d6afa35"/><file name="Upsell.php" hash="5141fb89f0c27970e9540dbbc27c1b25"/></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="a0fed06b80840e63f9983909847d7e58"/></dir></dir></dir></dir><dir name="controllers"><file name="ExportController.php" hash="d130083fd8ef132cc48aa4b3746e3c2c"/><file name="ProxyController.php" hash="9cac55f10a4fd33a8396bc460ee3f272"/><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="60a3050acb2c4601ea35ba2cd283c798"/><file name="system.xml" hash="d3721503a1b346f60633e2f0a8e361a1"/></dir><dir name="Helper"><file name="Backend.php" hash="87b662c7c7242ef349f4606ad2ab5279"/><file name="Data.php" hash="afede9edaf2bcfbc93a4049eee5be89e"/><file name="Debug.php" hash="24b939b03efb2cd5f7815562f896576f"/><file name="Search.php" hash="5aa8ffe5b6045c0680d025984e024f28"/></dir><dir name="Model"><file name="Facade.php" hash="768397419ddb085279c7d9c5bdeb801f"/><file name="Layer.php" hash="9da16c44259b4a31d73f63d87787ff11"/><file name="Observer.php" hash="16b78ca3d1d40e4b961fdf023ea3d0a0"/><file name="Processor.php" hash="5e76103096faccd5b26b2d036bdc7c5e"/><dir name="Export"><file name="Price.php" hash="5561605bf639385c211f339f0c752a0f"/><file name="Product.php" hash="2cc9fb277e4d598fb40f4a2b6858d9f2"/><file name="Stock.php" hash="28e819f8f317957a70a7d4d318e04791"/></dir><dir name="Handler"><file name="Abstract.php" hash="f5724a1c82becbc4d76a6f46dc591977"/><file name="CheckStatus.php" hash="60336786e622127ae3313b168a534ec5"/><file name="ProductCampaign.php" hash="831d8d3ff2cd29e090cff10c3a9c8844"/><file name="ProductDetailCampaign.php" hash="c714d9b43772f1665d64daea8d16594d"/><file name="Recommendations.php" hash="47b12e1f2f1e1d83ecaba77fdb20b63b"/><file name="Search.php" hash="165a115c5b92c40b03f7bfef04d13ef5"/><file name="SecondarySearch.php" hash="de4ced818f7865a491438a4d103b431a"/><file name="ShoppingCartCampaign.php" hash="202fc9ab4018247dfb8e8bcefd417465"/><file name="Suggest.php" hash="3b286cbda3cad188b10f7fac06e0ca32"/><file name="TagCloud.php" hash="e60bd2a5d314cfe3bad445ba88740878"/></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="c657b421e0137bf842ec78c26718363f"/></dir></dir><dir name="Product"><dir name="Attribute"><file name="Collection.php" hash="a5b47ca867be314d2d0edf1621608d8b"/></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="2a0c4ff355e035d11209115f054dc3dd"/><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="Ffversion.php" hash="0270fbefb18c180abc98f2e02e37532c"/><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="mageskin"><dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="css"><file name="factfinder.css" hash="16766d07b20544e11184ee21f95b2692"/></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="e942f1386b29f6868f3ebe20c52e2782"/><file name="suggest.js" hash="c60da60ac082a4bca9d9c04be47e3138"/></dir></dir></dir></target></contents>
|
22 |
<compatible/>
|
23 |
<dependencies/>
|
24 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Flagbit_Factfinder</name>
|
4 |
+
<version>3.4.4</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] use the fallback-offline delay correctly
|
12 |
+
[~BUGFIX] don't add messages to FF if delay is set to 0 (too many messages)
|
13 |
+
[~TASK] change search helper method access
|
14 |
+
[+BUGFIX] only send request to FF if the module is activated
|
15 |
+
[+BUGFIX] don't collect factfinder fails, if fallback isn't activated
|
16 |
+
[+BUGFIX] don't make requests to the recommendation engine if the according features are disabled</notes>
|
|
|
17 |
<authors><author><name>Flagbit GmbH Co. KG</name><user>auto-converted</user><email>magento@flagbit.de</email></author></authors>
|
18 |
+
<date>2012-11-23</date>
|
19 |
+
<time>17:56:24</time>
|
20 |
+
<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="db2b5c21f817f1abdab3dabce26c699f"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="factfinder.xml" hash="c059bb14f9d4d929db8234bdf139c2cb"/></dir><dir name="template"><dir name="factfinder"><file name="form.advancedsuggest.phtml" hash="68cf6f46b65e66e1bb88d91b854a339a"/><file name="form.advancedsuggest68.phtml" hash="2910c0f39c52e6e02eead79688f682af"/><file name="form.mini.phtml" hash="eb49c2fb57594e2ebeed1ffb01c2606d"/><file name="logo.phtml" hash="7a40d67bf648e65345f69b2cf9d3c6b6"/><file name="scic.phtml" hash="4d4f8d2318837122973049496feafea5"/><file name="secondaryresult.phtml" hash="a4cdff409ccedb16d4fe9a038a4dd9e8"/><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="scriptaculousSlider.phtml" hash="e3ee4dbb6bc6e0546b4374078a9d88bc"/><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="4df4f128de560a402243cd7718f7be2a"/></dir></dir></target><target name="magelib"><dir><dir name="FACTFinder"><file name="AdvisorAnswer.php" hash="b6dfbe2d43660b1624ce7788bef7356a"/><file name="AdvisorQuestion.php" hash="7f3d039dc86c5baebb4702f8a66ca6d4"/><file name="Asn.php" hash="8a3753feea0901c7ace25e011be38e56"/><file name="AsnFilterItem.php" hash="cdd0bb237873b54877b4b52744250018"/><file name="AsnGroup.php" hash="51aa9c3dfad5ec727cade5962cd7ad2f"/><file name="AsnSliderFilter.php" hash="da4eb96cdb47553793b278aca2d0ec19"/><file name="BreadCrumbItem.php" hash="115ffb2f30e346b29f93ce2d84be724e"/><file name="Campaign.php" hash="138f990ff2180d369bd0b441998b9cb4"/><file name="CampaignIterator.php" hash="d58f054580f0057e8471dbd8334157f1"/><file name="Configuration.php" hash="972367363e6c84fe80f2c73a1528b8aa"/><file name="EncodingHandler.php" hash="4f0b616bca9158bfb7eddcfcba192dc6"/><file name="Item.php" hash="431843e9e2847e8a6c966a185c39f5e9"/><file name="Loader.php" hash="e76d471f86c6c68ef3228c0b98aaed6e"/><file name="Log4PhpLogger.php" hash="ecfb1f084b8d0bd2d51bf417fa0b0b3c"/><file name="NullLogger.php" hash="be8782000070665f0e9fcc011ae4fe77"/><file name="Paging.php" hash="a07db7cb4b02893792e6e29018a36858"/><file name="Parameters.php" hash="612c4a9b98cb8a17d0f2d30cf2641936"/><file name="ParametersParser.php" hash="187527e3d7f233ca60d89748be8c2896"/><file name="ProductsPerPageOptions.php" hash="1e69121e89109f31b0929706ea3dcabc"/><file name="Record.php" hash="4bc036a2d47cd1b76d09af6290f49044"/><file name="Result.php" hash="6b4e959df31a73b9fe25de7a76551970"/><file name="SingleWordSearchItem.php" hash="8f0feac780e68a8b0eab6d44dd6c6813"/><file name="SuggestQuery.php" hash="cf3cf51839e06475bdcf62bb49ee96c5"/><file name="TagQuery.php" hash="ece1fda66af2c6053507941f35423c5f"/><file name="Util.php" hash="4ac8b8eb630e83c65a065fd4e01ab11f"/><dir name="Abstract"><file name="Adapter.php" hash="dea9f000509f94599e3b4d38ee14d66f"/><file name="CompareAdapter.php" hash="d26dec2f3dc98269dcb43f10bcfcdfe9"/><file name="Configuration.php" hash="233565de45f56ba7bdcd604817dd7fc6"/><file name="DataProvider.php" hash="8b1dfc68d335aa006f7af9f2a60e519d"/><file name="ImportAdapter.php" hash="8427bb6b4b33c37bfe9090d7c16e0238"/><file name="Logger.php" hash="c5b1ace6158035e80b3d4a79a942a381"/><file name="ProductCampaignAdapter.php" hash="daa4f28109edf685b33f31fce8573ced"/><file name="RecommendationAdapter.php" hash="0c11f59134083f1377f1d0c38a6fdefb"/><file name="ScicAdapter.php" hash="e1a0b64f7555e32a78109bbbaaf3c939"/><file name="SearchAdapter.php" hash="c03d9bea34da5cc0e0b5885bd2c89c74"/><file name="SimilarRecordsAdapter.php" hash="2cef8bdabc112c2c78fb95e75ef748bd"/><file name="SuggestAdapter.php" hash="ef13ace0995fa2f57b87f38cc2fb701a"/><file name="TagCloudAdapter.php" hash="ac5465a5dde73dde3ead1f6f08eced08"/></dir><dir name="Http"><file name="DataProvider.php" hash="301e78f2d7b9c56d344b4a5989ef6b43"/><file name="DummyProvider.php" hash="30d61ea2ce373f5b501bb64d8ed19393"/><file name="ParallelDataProvider.php" hash="78f6039e0b6ec92b9e066e315fed77de"/><file name="ScicAdapter.php" hash="821294ba5ab1fbce8b8208d89e2162dc"/><file name="StatusHelper.php" hash="e4760fadae33a5574f9445bbc73c1283"/><file name="SuggestAdapter.php" hash="9ddfe5fdd6b373e9f7126867ed1f0b06"/><file name="UrlBuilder.php" hash="99efad6cb8243ee93a5d4b61c93d8303"/></dir><dir name="Xml64"><file name="SearchAdapter.php" hash="58a49882c741216cf278c4556ea7d224"/></dir><dir name="Xml65"><file name="ImportAdapter.php" hash="e372e9eaa322a1b2d9ace33679c80815"/><file name="RecommendationAdapter.php" hash="14a126d5a9c14da3e754186f81bfeacb"/><file name="SearchAdapter.php" hash="255e5ae9cd8fe3ff2588222c5a086376"/><file name="SuggestAdapter.php" hash="e5381502b74dd62be1a7aa833cbb03e2"/><file name="TagCloudAdapter.php" hash="711e1aabd4d2895f66fdc329ee2b82b8"/></dir><dir name="Xml66"><file name="CompareAdapter.php" hash="a6f500504086c842e8e50772305b98df"/><file name="ImportAdapter.php" hash="5ea0d06cc2ddc7a1b7c880203c38fe40"/><file name="RecommendationAdapter.php" hash="9490ea2b17fded94d087046065596b1b"/><file name="SearchAdapter.php" hash="82214090045d963b15ccc7073d73d7ea"/><file name="SimilarRecordsAdapter.php" hash="532cbc18947dad44fdb296bc82ea3fa0"/><file name="SuggestAdapter.php" hash="813bfb64ac9d2dc45443cc7c33e854a7"/><file name="TagCloudAdapter.php" hash="a44dd623910bbb6766a0b0c25584212c"/></dir><dir name="Xml67"><file name="CompareAdapter.php" hash="37980ec507fd7f13e81ece413915da2d"/><file name="ImportAdapter.php" hash="dc0d334439aa59f3e0a4226bbf1456d2"/><file name="ProductCampaignAdapter.php" hash="64faea05ff05c3031da6f30b3a169980"/><file name="RecommendationAdapter.php" hash="b991b5e2570c28530164b3cacfffa6e1"/><file name="SearchAdapter.php" hash="bda78e482ab612bc8902aee11260afb9"/><file name="SimilarRecordsAdapter.php" hash="b60a974a22d3e473538524dc57d1e91d"/><file name="SuggestAdapter.php" hash="7290503daae4ae9e595cc5b1480ce8a1"/><file name="TagCloudAdapter.php" hash="d3efa6616331286cb221f8ca79021324"/></dir><dir name="Xml68"><file name="CompareAdapter.php" hash="0a8ebc48d90e7aaf131b66180d10ba11"/><file name="ImportAdapter.php" hash="bf483742e13d647da407f7da85828b98"/><file name="ProductCampaignAdapter.php" hash="db981749b20f69eca65d5ac1e622bafe"/><file name="RecommendationAdapter.php" hash="69e031adc81be7a88a0cffbe1b96c317"/><file name="SearchAdapter.php" hash="de47913e1c064b171aea892443885e8f"/><file name="SimilarRecordsAdapter.php" hash="b9c70b5c7d6d803bb1c7f1255be55285"/><file name="SuggestAdapter.php" hash="5cf5b95340983823c9e7a3fd0dc20a0b"/><file name="TagCloudAdapter.php" hash="3bfa1e877269be17ee08c403254925bf"/></dir></dir><dir name="FACTFinderCustom"><file name="Configuration.php" hash="2451df5afb1c64460c07b4caa228fabf"/></dir><dir name="SAI"><file name="Curl.php" hash="1fb18096257151b5b47bc2964dd9fe39"/><file name="CurlInterface.php" hash="714fa045dd4546d0c92cd022efb09422"/><file name="CurlStub.php" hash="2521763ee414683aced1afd1ec12511d"/><dir name="Curl"><file name="Handle.php" hash="0fc7132737da7cee7df6b974447864ac"/></dir></dir></dir></target><target name="magecommunity"><dir><dir name="Flagbit"><dir name="FactFinder"><dir name="Block"><file name="Layer.php" hash="78d3ccfc3f47852b853b8eea4148906a"/><file name="Scic.php" hash="9ba6aa43204d0aae206d9f24f09aecfc"/><file name="Secondaryresult.php" hash="cb1ca2347767ebed5671ad6a91dc881e"/><file name="TagCloud.php" hash="6e3769771ef5a1b50fc1d9a963e90aad"/><dir name="Adminhtml"><file name="Cockpit.php" hash="e12c45f55d5fd31d164187bd9d16a0bd"/><file name="Exportlink.php" hash="29044f67c1ebb0e6950da286a24a1db7"/><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="04e35a0e8a75a7ddd4e3af385f933aa5"/><file name="Feedback.php" hash="a1e1f1d393bea196e07f92e171e10513"/><dir name="Cart"><file name="Advisory.php" hash="4faa30edab3a35fffd0e3cf0ebaa81b2"/><file name="Feedback.php" hash="c5a0f657037274881f7d2846e004f164"/></dir><dir name="Product"><file name="Advisory.php" hash="bd1f468d56b6bc1fa3541406796c133a"/><file name="Feedback.php" hash="576bd4801d14f08bc1c62688ffab2e04"/></dir></dir><dir name="Cart"><file name="Crosssell.php" hash="96c00a397ef7e32cb0babfab8b109494"/></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="86590a3e65ffe074950f4c630fc10826"/><file name="Upsell.php" hash="dabfd0b10fd73dcdcf8ddc3fd12c8569"/></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="a0fed06b80840e63f9983909847d7e58"/></dir></dir></dir></dir><dir name="controllers"><file name="ExportController.php" hash="d130083fd8ef132cc48aa4b3746e3c2c"/><file name="ProxyController.php" hash="9cac55f10a4fd33a8396bc460ee3f272"/><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="d854839fee413eeee5f549e66f6d54e2"/><file name="system.xml" hash="d3721503a1b346f60633e2f0a8e361a1"/></dir><dir name="Helper"><file name="Backend.php" hash="87b662c7c7242ef349f4606ad2ab5279"/><file name="Data.php" hash="afede9edaf2bcfbc93a4049eee5be89e"/><file name="Debug.php" hash="24b939b03efb2cd5f7815562f896576f"/><file name="Search.php" hash="45d4f115efc2b601ed4385a51c351c5a"/></dir><dir name="Model"><file name="Facade.php" hash="768397419ddb085279c7d9c5bdeb801f"/><file name="Layer.php" hash="9da16c44259b4a31d73f63d87787ff11"/><file name="Observer.php" hash="3cfb83bd65ee37b8a7f6f6f3c36538d6"/><file name="Processor.php" hash="5e76103096faccd5b26b2d036bdc7c5e"/><dir name="Export"><file name="Price.php" hash="5561605bf639385c211f339f0c752a0f"/><file name="Product.php" hash="2cc9fb277e4d598fb40f4a2b6858d9f2"/><file name="Stock.php" hash="28e819f8f317957a70a7d4d318e04791"/></dir><dir name="Handler"><file name="Abstract.php" hash="f5724a1c82becbc4d76a6f46dc591977"/><file name="CheckStatus.php" hash="60336786e622127ae3313b168a534ec5"/><file name="ProductCampaign.php" hash="831d8d3ff2cd29e090cff10c3a9c8844"/><file name="ProductDetailCampaign.php" hash="c714d9b43772f1665d64daea8d16594d"/><file name="Recommendations.php" hash="47b12e1f2f1e1d83ecaba77fdb20b63b"/><file name="Search.php" hash="165a115c5b92c40b03f7bfef04d13ef5"/><file name="SecondarySearch.php" hash="de4ced818f7865a491438a4d103b431a"/><file name="ShoppingCartCampaign.php" hash="202fc9ab4018247dfb8e8bcefd417465"/><file name="Suggest.php" hash="3b286cbda3cad188b10f7fac06e0ca32"/><file name="TagCloud.php" hash="e60bd2a5d314cfe3bad445ba88740878"/></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="c657b421e0137bf842ec78c26718363f"/></dir></dir><dir name="Product"><dir name="Attribute"><file name="Collection.php" hash="a5b47ca867be314d2d0edf1621608d8b"/></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="2a0c4ff355e035d11209115f054dc3dd"/><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="Ffversion.php" hash="0270fbefb18c180abc98f2e02e37532c"/><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="mageskin"><dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="css"><file name="factfinder.css" hash="16766d07b20544e11184ee21f95b2692"/></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="e942f1386b29f6868f3ebe20c52e2782"/><file name="suggest.js" hash="c60da60ac082a4bca9d9c04be47e3138"/></dir></dir></dir></target></contents>
|
21 |
<compatible/>
|
22 |
<dependencies/>
|
23 |
</package>
|