Version Notes
ADD: necessary information into the build.xml to make the package process work
ADD: it is possible to get the complete search adapter of the secondary search result.
CHG: made it possible to add ignore parameters from the module
CHG: renamed misspelled variable
CHG: as the "Category" name convention is not always complied, accept both notations
CHG: updated ff library to current version
CHG: implemented the legacy tracking for 6.9
FIX: selected filters are now viewed on navigation pages, except of current magento-selected categories closing #62
FIX: Prevent fatal errors in factfinder/search_collection closing #54
FIX: added names to the campaign blocks at the layout xml file
FIX: get caching working; however it won't work with php 5.2 or less!
Release Info
Developer | Magento Core Team |
Extension | Flagbit_Factfinder |
Version | 3.5.4 |
Comparing to | |
See all releases |
Code changes from version 3.5.3 to 3.5.4
- app/code/community/Flagbit/FactFinder/Block/Secondaryresult.php +9 -0
- app/code/community/Flagbit/FactFinder/Helper/Data.php +34 -7
- app/code/community/Flagbit/FactFinder/Model/Export/Product.php +12 -7
- app/code/community/Flagbit/FactFinder/Model/Facade.php +129 -41
- app/code/community/Flagbit/FactFinder/Model/Handler/Search.php +26 -24
- app/code/community/Flagbit/FactFinder/Model/Handler/SecondarySearch.php +50 -2
- app/code/community/Flagbit/FactFinder/Model/Handler/Tracking.php +0 -2
- app/code/community/Flagbit/FactFinder/Model/Handler/Tracking/Scic.php +5 -1
- app/code/community/Flagbit/FactFinder/Model/Mysql4/Search/Collection.php +2 -3
- app/code/community/Flagbit/FactFinder/etc/config.xml +3 -3
- app/design/frontend/base/default/layout/factfinder.xml +5 -5
- app/design/frontend/base/default/template/factfinder/tracking.phtml +1 -1
- lib/FACTFinder/Default/SearchAdapter.php +2 -1
- lib/FACTFinder/Default/TrackingAdapter.php +0 -3
- lib/FACTFinder/Http/DataProvider.php +4 -4
- lib/FACTFinder/Http/LegacyTrackingAdapter.php +15 -0
- lib/FACTFinder/Json66/ScicAdapter.php +9 -0
- lib/FACTFinder/Json66/SearchAdapter.php +1 -4
- lib/FACTFinder/Json67/ScicAdapter.php +8 -0
- lib/FACTFinder/Json68/ScicAdapter.php +12 -0
- lib/FACTFinder/Json69/ScicAdapter.php +8 -0
- lib/FACTFinder/Xml65/ImportAdapter.php +2 -0
- lib/FACTFinder/Xml65/ScicAdapter.php +9 -0
- lib/FACTFinder/Xml65/SearchAdapter.php +1 -4
- lib/FACTFinder/Xml66/ScicAdapter.php +8 -0
- lib/FACTFinder/Xml67/ScicAdapter.php +8 -0
- lib/FACTFinder/Xml68/ScicAdapter.php +12 -0
- lib/FACTFinder/Xml69/ScicAdapter.php +8 -0
- lib/FACTFinderCustom/Configuration.php +45 -21
- package.xml +16 -14
@@ -19,4 +19,13 @@ class Flagbit_FactFinder_Block_Secondaryresult extends Mage_Core_Block_Template
|
|
19 |
|
20 |
return $result;
|
21 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
22 |
}
|
19 |
|
20 |
return $result;
|
21 |
}
|
22 |
+
|
23 |
+
protected function getSecondarySearchAdapter($channel)
|
24 |
+
{
|
25 |
+
$adapter = null;
|
26 |
+
if(Mage::helper('factfinder/search')->getIsEnabled()){
|
27 |
+
$adapter = $this->_searchHandler->getSecondarySearchAdapter($channel);
|
28 |
+
}
|
29 |
+
return $adapter;
|
30 |
+
}
|
31 |
}
|
@@ -1,4 +1,4 @@
|
|
1 |
-
<?php
|
2 |
/**
|
3 |
* Flagbit_FactFinder
|
4 |
*
|
@@ -9,9 +9,9 @@
|
|
9 |
|
10 |
/**
|
11 |
* Helper class
|
12 |
-
*
|
13 |
* This helper class provides Translation Methods throw Magento Helper Abstract
|
14 |
-
*
|
15 |
* @category Mage
|
16 |
* @package Flagbit_FactFinder
|
17 |
* @copyright Copyright (c) 2010 Flagbit GmbH & Co. KG (http://www.flagbit.de/)
|
@@ -22,7 +22,7 @@ class Flagbit_FactFinder_Helper_Data extends Mage_Core_Helper_Abstract {
|
|
22 |
|
23 |
/**
|
24 |
* returns Module Status by Module Code
|
25 |
-
*
|
26 |
* @param string $code Module Code
|
27 |
* @return boolean
|
28 |
*/
|
@@ -34,13 +34,40 @@ class Flagbit_FactFinder_Helper_Data extends Mage_Core_Helper_Abstract {
|
|
34 |
}
|
35 |
|
36 |
/**
|
37 |
-
* Decide
|
38 |
*
|
39 |
* @return bool
|
40 |
*/
|
41 |
public function useOldTracking()
|
42 |
{
|
43 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
44 |
}
|
45 |
-
|
46 |
}
|
1 |
+
<?php
|
2 |
/**
|
3 |
* Flagbit_FactFinder
|
4 |
*
|
9 |
|
10 |
/**
|
11 |
* Helper class
|
12 |
+
*
|
13 |
* This helper class provides Translation Methods throw Magento Helper Abstract
|
14 |
+
*
|
15 |
* @category Mage
|
16 |
* @package Flagbit_FactFinder
|
17 |
* @copyright Copyright (c) 2010 Flagbit GmbH & Co. KG (http://www.flagbit.de/)
|
22 |
|
23 |
/**
|
24 |
* returns Module Status by Module Code
|
25 |
+
*
|
26 |
* @param string $code Module Code
|
27 |
* @return boolean
|
28 |
*/
|
34 |
}
|
35 |
|
36 |
/**
|
37 |
+
* Decide whether old tracking should be used
|
38 |
*
|
39 |
* @return bool
|
40 |
*/
|
41 |
public function useOldTracking()
|
42 |
{
|
43 |
+
$ffVersion = Mage::getStoreConfig('factfinder/search/ffversion');
|
44 |
+
// to use the new tracking, change the comparison to '$ffVersion < 69'
|
45 |
+
return ($ffVersion <= 69);
|
46 |
+
}
|
47 |
+
|
48 |
+
/**
|
49 |
+
* Decide whether legacy tracking should be used (old tracking for the versions for 6.8 and 6.9)
|
50 |
+
*
|
51 |
+
* @return bool
|
52 |
+
*/
|
53 |
+
public function useLegacyTracking()
|
54 |
+
{
|
55 |
+
$ffVersion = Mage::getStoreConfig('factfinder/search/ffversion');
|
56 |
+
return ($ffVersion >= 68 && $ffVersion <= 69);
|
57 |
+
}
|
58 |
+
|
59 |
+
/**
|
60 |
+
* returns the correct path where the tracking should be sent
|
61 |
+
*
|
62 |
+
* @return string
|
63 |
+
*/
|
64 |
+
public function getTrackingUrlPath()
|
65 |
+
{
|
66 |
+
$urlPath = 'factfinder/proxy/tracking';
|
67 |
+
if ($this->useOldTracking() && !$this->useLegacyTracking()) {
|
68 |
+
// if old tracking is legacy tracking, don't use the scic url
|
69 |
+
$urlPath = 'factfinder/proxy/scic';
|
70 |
+
}
|
71 |
+
return $urlPathh;
|
72 |
}
|
|
|
73 |
}
|
@@ -213,12 +213,12 @@ class Flagbit_FactFinder_Model_Export_Product extends Mage_CatalogSearch_Model_M
|
|
213 |
if (!isset($productAttributes[$productData['entity_id']])) {
|
214 |
continue;
|
215 |
}
|
216 |
-
$
|
217 |
|
218 |
-
if (!isset($
|
219 |
continue;
|
220 |
}
|
221 |
-
if (!isset($
|
222 |
continue;
|
223 |
}
|
224 |
|
@@ -227,8 +227,8 @@ class Flagbit_FactFinder_Model_Export_Product extends Mage_CatalogSearch_Model_M
|
|
227 |
$productData[$idFieldName],
|
228 |
$productData['sku'],
|
229 |
$this->_getCategoryPath($productData['entity_id'], $storeId),
|
230 |
-
$this->_formatFilterableAttributes($this->_getSearchableAttributes(null, 'filterable'), $
|
231 |
-
$this->_formatSearchableAttributes($this->_getSearchableAttributes(null, 'searchable'), $
|
232 |
);
|
233 |
|
234 |
if ($exportImageAndDeeplink) {
|
@@ -240,13 +240,18 @@ class Flagbit_FactFinder_Model_Export_Product extends Mage_CatalogSearch_Model_M
|
|
240 |
$productIndex[] = $product->getProductUrl();
|
241 |
}
|
242 |
|
243 |
-
$this->_getAttributesRowArray($productIndex, $
|
244 |
|
245 |
$this->_addCsvRow($productIndex);
|
246 |
-
|
247 |
if ($productChilds = $productRelations[$productData['entity_id']]) {
|
248 |
foreach ($productChilds as $productChild) {
|
249 |
if (isset($productAttributes[$productChild['entity_id']])) {
|
|
|
|
|
|
|
|
|
|
|
250 |
|
251 |
$subProductIndex = array(
|
252 |
$productChild['entity_id'],
|
213 |
if (!isset($productAttributes[$productData['entity_id']])) {
|
214 |
continue;
|
215 |
}
|
216 |
+
$productAttr = $productAttributes[$productData['entity_id']];
|
217 |
|
218 |
+
if (!isset($productAttr[$visibility->getId()]) || !in_array($productAttr[$visibility->getId()], $visibilityVals)) {
|
219 |
continue;
|
220 |
}
|
221 |
+
if (!isset($productAttr[$status->getId()]) || !in_array($productAttr[$status->getId()], $statusVals)) {
|
222 |
continue;
|
223 |
}
|
224 |
|
227 |
$productData[$idFieldName],
|
228 |
$productData['sku'],
|
229 |
$this->_getCategoryPath($productData['entity_id'], $storeId),
|
230 |
+
$this->_formatFilterableAttributes($this->_getSearchableAttributes(null, 'filterable'), $productAttr, $storeId),
|
231 |
+
$this->_formatSearchableAttributes($this->_getSearchableAttributes(null, 'searchable'), $productAttr, $storeId)
|
232 |
);
|
233 |
|
234 |
if ($exportImageAndDeeplink) {
|
240 |
$productIndex[] = $product->getProductUrl();
|
241 |
}
|
242 |
|
243 |
+
$this->_getAttributesRowArray($productIndex, $productAttr, $storeId);
|
244 |
|
245 |
$this->_addCsvRow($productIndex);
|
246 |
+
|
247 |
if ($productChilds = $productRelations[$productData['entity_id']]) {
|
248 |
foreach ($productChilds as $productChild) {
|
249 |
if (isset($productAttributes[$productChild['entity_id']])) {
|
250 |
+
/* should be used if sub products should not be exported because of their status
|
251 |
+
$subProductAttr = $productAttributes[$productChild[ 'entity_id' ]];
|
252 |
+
if (!isset($subProductAttr[$status->getId()]) || !in_array($subProductAttr[$status->getId()], $statusVals)) {
|
253 |
+
continue;
|
254 |
+
} */
|
255 |
|
256 |
$subProductIndex = array(
|
257 |
$productChild['entity_id'],
|
@@ -51,13 +51,24 @@ class Flagbit_FactFinder_Model_Facade
|
|
51 |
*/
|
52 |
protected $_urlBuilder = null;
|
53 |
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
61 |
{
|
62 |
if ($arg === null || !($arg instanceof FACTFinder_Abstract_Logger)) {
|
63 |
$arg = Mage::helper('factfinder/debug');
|
@@ -116,6 +127,11 @@ class Flagbit_FactFinder_Model_Facade
|
|
116 |
return $this->_getAdapter("tracking", $channel);
|
117 |
}
|
118 |
|
|
|
|
|
|
|
|
|
|
|
119 |
public function configureSearchAdapter($params, $channel = null, $id = null)
|
120 |
{
|
121 |
$this->_configureAdapter($params, "search", $channel, $id);
|
@@ -169,30 +185,84 @@ class Flagbit_FactFinder_Model_Facade
|
|
169 |
protected function _configureAdapter($params, $type, $channel = null, $id = null)
|
170 |
{
|
171 |
$adapter = $this->_getAdapter($type, $channel, $id);
|
|
|
|
|
172 |
|
173 |
foreach($params as $key => $value)
|
174 |
$adapter->setParam($key, $value);
|
175 |
}
|
176 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
177 |
/**
|
178 |
* @return FACTFinder_Abstract_Adapter
|
179 |
*/
|
180 |
protected function _getAdapter($type, $channel = null, $id = null)
|
181 |
{
|
182 |
$format = $this->_getFormat($type);
|
|
|
183 |
|
184 |
-
|
185 |
-
$id = '';
|
186 |
if(!$channel)
|
187 |
$channel = $this->_getConfiguration()->getChannel();
|
188 |
|
189 |
-
$hashKey = $type.$id;
|
190 |
if(!isset($this->_adapters[$hashKey][$channel]))
|
191 |
{
|
192 |
$config = $this->_getConfiguration();
|
193 |
$encodingHandler = FF::getSingleton('encodingHandler', $config);
|
194 |
$dataProvider = $this->_getParallelDataProvider();
|
195 |
$dataProvider->setParam('channel', $channel);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
196 |
$this->_adapters[$hashKey][$channel] = FF::getInstance(
|
197 |
$format.'/'.$type.'Adapter',
|
198 |
$dataProvider,
|
@@ -207,7 +277,7 @@ class Flagbit_FactFinder_Model_Facade
|
|
207 |
protected function _getFormat($type)
|
208 |
{
|
209 |
$format = 'http';
|
210 |
-
if ($type
|
211 |
$version = $this->_getConfiguration()->getFactFinderVersion();
|
212 |
$format = 'xml' . $version;
|
213 |
return $format;
|
@@ -311,95 +381,101 @@ class Flagbit_FactFinder_Model_Facade
|
|
311 |
|
312 |
public function applyTracking($channel = null, $id = null)
|
313 |
{
|
314 |
-
return $this->_getFactFinderObject("
|
315 |
}
|
316 |
|
317 |
public function applyScicTracking($channel = null, $id = null)
|
318 |
{
|
319 |
-
return $this->_getFactFinderObject("
|
320 |
}
|
321 |
|
322 |
public function getAfterSearchNavigation($channel = null, $id = null)
|
323 |
{
|
324 |
-
return $this->_getFactFinderObject("
|
325 |
}
|
326 |
|
327 |
public function getCampaigns($channel = null, $id = null)
|
328 |
{
|
329 |
-
return $this->_getFactFinderObject("
|
330 |
}
|
331 |
|
332 |
public function getProductCampaigns($channel = null, $id = null)
|
333 |
{
|
334 |
-
return $this->_getFactFinderObject("
|
335 |
}
|
336 |
|
337 |
public function getRecommendations($channel = null, $id = null)
|
338 |
{
|
339 |
-
return $this->_getFactFinderObject("
|
340 |
}
|
341 |
|
342 |
public function getSearchError($channel = null, $id = null)
|
343 |
{
|
344 |
-
return $this->_getFactFinderObject("
|
345 |
}
|
346 |
|
347 |
public function getSearchParams($channel = null, $id = null)
|
348 |
{
|
349 |
-
return $this->_getFactFinderObject("
|
350 |
}
|
351 |
|
352 |
public function getSearchResult($channel = null, $id = null)
|
353 |
{
|
354 |
-
return $this->_getFactFinderObject("
|
355 |
}
|
356 |
|
357 |
public function getSearchStackTrace($channel = null, $id = null)
|
358 |
{
|
359 |
-
return $this->_getFactFinderObject("
|
360 |
}
|
361 |
|
362 |
public function getSearchStatus($channel = null, $id = null)
|
363 |
{
|
364 |
-
return $this->_getFactFinderObject("
|
365 |
}
|
366 |
|
367 |
public function getSuggestions($channel = null, $id = null)
|
368 |
{
|
369 |
-
return $this->_getFactFinderObject("
|
370 |
}
|
371 |
|
372 |
public function getTagCloud($channel = null, $id = null)
|
373 |
{
|
374 |
-
return $this->_getFactFinderObject("
|
375 |
}
|
376 |
|
377 |
-
protected function _getFactFinderObject($
|
378 |
{
|
379 |
-
$
|
380 |
-
$
|
381 |
|
382 |
-
if(
|
383 |
{
|
384 |
-
|
|
|
|
|
|
|
|
|
|
|
385 |
}
|
386 |
|
387 |
-
|
388 |
-
|
389 |
-
|
390 |
|
391 |
-
|
|
|
392 |
|
393 |
-
|
394 |
-
|
395 |
-
|
396 |
-
|
397 |
|
398 |
-
|
399 |
-
|
400 |
-
|
401 |
-
return null;
|
402 |
}
|
|
|
403 |
}
|
404 |
|
405 |
public function getActualFactFinderVersion()
|
@@ -414,6 +490,18 @@ class Flagbit_FactFinder_Model_Facade
|
|
414 |
}
|
415 |
}
|
416 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
417 |
public function getActualFactFinderVersionString()
|
418 |
{
|
419 |
try {
|
51 |
*/
|
52 |
protected $_urlBuilder = null;
|
53 |
|
54 |
+
/**
|
55 |
+
* logger object to log all module internals
|
56 |
+
* @var FACTFinder_Abstract_Logger
|
57 |
+
*/
|
58 |
+
protected $_logger = null;
|
59 |
+
|
60 |
+
/**
|
61 |
+
* map between known adapters and its state based on its parameters
|
62 |
+
* @var array
|
63 |
+
*/
|
64 |
+
protected $_paramHashes = array();
|
65 |
+
|
66 |
+
/**
|
67 |
+
* @var boolean is set to true, if caching is enabled and can be used
|
68 |
+
*/
|
69 |
+
private $_useCaching = null;
|
70 |
+
|
71 |
+
public function __construct($arg = null)
|
72 |
{
|
73 |
if ($arg === null || !($arg instanceof FACTFinder_Abstract_Logger)) {
|
74 |
$arg = Mage::helper('factfinder/debug');
|
127 |
return $this->_getAdapter("tracking", $channel);
|
128 |
}
|
129 |
|
130 |
+
public function getLegacyTrackingAdapter($channel = null)
|
131 |
+
{
|
132 |
+
return $this->_getAdapter("legacyTracking", $channel);
|
133 |
+
}
|
134 |
+
|
135 |
public function configureSearchAdapter($params, $channel = null, $id = null)
|
136 |
{
|
137 |
$this->_configureAdapter($params, "search", $channel, $id);
|
185 |
protected function _configureAdapter($params, $type, $channel = null, $id = null)
|
186 |
{
|
187 |
$adapter = $this->_getAdapter($type, $channel, $id);
|
188 |
+
$adapterId = $this->_getAdapterIdentifier($type, $channel, $id);
|
189 |
+
$this->_paramHashes[$adapterId] = $this->_createParametersHash($params);
|
190 |
|
191 |
foreach($params as $key => $value)
|
192 |
$adapter->setParam($key, $value);
|
193 |
}
|
194 |
|
195 |
+
/**
|
196 |
+
* returns the hash that identifies a certain combination of parameters.
|
197 |
+
* It represents the current parameter state of the adapter specified by $type, $channel and $id
|
198 |
+
*
|
199 |
+
* @param $type (any adapter type)
|
200 |
+
* @param $channel (default: null => default channel)
|
201 |
+
* @param $id (default: null => no special id)
|
202 |
+
* @return string
|
203 |
+
*/
|
204 |
+
protected function _getParametersHash($type, $channel = null, $id = null)
|
205 |
+
{
|
206 |
+
$returnValue = '';
|
207 |
+
$adapterId = $this->_getAdapterIdentifier($type, $channel, $id);
|
208 |
+
if (array_key_exists($adapterId, $this->_paramHashes))
|
209 |
+
{
|
210 |
+
$returnValue = $this->_paramHashes[$adapterId];
|
211 |
+
}
|
212 |
+
return $returnValue;
|
213 |
+
}
|
214 |
+
|
215 |
+
private function _createParametersHash($params)
|
216 |
+
{
|
217 |
+
$returnValue = '';
|
218 |
+
if($params) {
|
219 |
+
ksort($params);
|
220 |
+
$returnValue = md5(http_build_query($params));
|
221 |
+
}
|
222 |
+
return $returnValue;
|
223 |
+
}
|
224 |
+
|
225 |
+
/**
|
226 |
+
* get identifying hash for each adapter based on type, channel and id
|
227 |
+
* @param $type
|
228 |
+
* @param $channel (default: null)
|
229 |
+
* @param $id (default: null)
|
230 |
+
* @return string hash
|
231 |
+
*/
|
232 |
+
protected function _getAdapterIdentifier($type, $channel = null, $id = null)
|
233 |
+
{
|
234 |
+
$args = func_get_args();
|
235 |
+
return implode('_', $args);
|
236 |
+
}
|
237 |
+
|
238 |
/**
|
239 |
* @return FACTFinder_Abstract_Adapter
|
240 |
*/
|
241 |
protected function _getAdapter($type, $channel = null, $id = null)
|
242 |
{
|
243 |
$format = $this->_getFormat($type);
|
244 |
+
$hashKey = $this->_getAdapterIdentifier($type, $channel, $id);
|
245 |
|
246 |
+
// get the channel after calculating the adapter identifier
|
|
|
247 |
if(!$channel)
|
248 |
$channel = $this->_getConfiguration()->getChannel();
|
249 |
|
|
|
250 |
if(!isset($this->_adapters[$hashKey][$channel]))
|
251 |
{
|
252 |
$config = $this->_getConfiguration();
|
253 |
$encodingHandler = FF::getSingleton('encodingHandler', $config);
|
254 |
$dataProvider = $this->_getParallelDataProvider();
|
255 |
$dataProvider->setParam('channel', $channel);
|
256 |
+
|
257 |
+
/*
|
258 |
+
// new tracking needs session ID and sourceRefKey for every request
|
259 |
+
// helper must not be used inside this class, as it is also used without the app context
|
260 |
+
// TODO: do it in a different way
|
261 |
+
if(!Mage::helper('factfinder')->useOldTracking()) {
|
262 |
+
$dataProvider->setParam('sourceRefKey', Mage::getSingleton('core/session')->getFactFinderRefKey());
|
263 |
+
$dataProvider->setParam('sid' , md5(Mage::getSingleton('core/session')->getSessionId()));
|
264 |
+
}*/
|
265 |
+
|
266 |
$this->_adapters[$hashKey][$channel] = FF::getInstance(
|
267 |
$format.'/'.$type.'Adapter',
|
268 |
$dataProvider,
|
277 |
protected function _getFormat($type)
|
278 |
{
|
279 |
$format = 'http';
|
280 |
+
if (!in_array($type, array('scic', 'suggest', 'legacyTracking'))) {
|
281 |
$version = $this->_getConfiguration()->getFactFinderVersion();
|
282 |
$format = 'xml' . $version;
|
283 |
return $format;
|
381 |
|
382 |
public function applyTracking($channel = null, $id = null)
|
383 |
{
|
384 |
+
return $this->_getFactFinderObject("tracking", "applyTracking", $channel, $id);
|
385 |
}
|
386 |
|
387 |
public function applyScicTracking($channel = null, $id = null)
|
388 |
{
|
389 |
+
return $this->_getFactFinderObject("scic", "applyTracking", $channel, $id);
|
390 |
}
|
391 |
|
392 |
public function getAfterSearchNavigation($channel = null, $id = null)
|
393 |
{
|
394 |
+
return $this->_getFactFinderObject("search", "getAsn", $channel, $id);
|
395 |
}
|
396 |
|
397 |
public function getCampaigns($channel = null, $id = null)
|
398 |
{
|
399 |
+
return $this->_getFactFinderObject("search", "getCampaigns", $channel, $id);
|
400 |
}
|
401 |
|
402 |
public function getProductCampaigns($channel = null, $id = null)
|
403 |
{
|
404 |
+
return $this->_getFactFinderObject("productCampaign", "getCampaigns", $channel, $id);
|
405 |
}
|
406 |
|
407 |
public function getRecommendations($channel = null, $id = null)
|
408 |
{
|
409 |
+
return $this->_getFactFinderObject("recommendation", "getRecommendations", $channel, $id);
|
410 |
}
|
411 |
|
412 |
public function getSearchError($channel = null, $id = null)
|
413 |
{
|
414 |
+
return $this->_getFactFinderObject("search", "getError", $channel, $id);
|
415 |
}
|
416 |
|
417 |
public function getSearchParams($channel = null, $id = null)
|
418 |
{
|
419 |
+
return $this->_getFactFinderObject("search", "getSearchParams", $channel, $id);
|
420 |
}
|
421 |
|
422 |
public function getSearchResult($channel = null, $id = null)
|
423 |
{
|
424 |
+
return $this->_getFactFinderObject("search", "getResult", $channel, $id);
|
425 |
}
|
426 |
|
427 |
public function getSearchStackTrace($channel = null, $id = null)
|
428 |
{
|
429 |
+
return $this->_getFactFinderObject("search", "getStackTrace", $channel, $id);
|
430 |
}
|
431 |
|
432 |
public function getSearchStatus($channel = null, $id = null)
|
433 |
{
|
434 |
+
return $this->_getFactFinderObject("search", "getStatus", $channel, $id);
|
435 |
}
|
436 |
|
437 |
public function getSuggestions($channel = null, $id = null)
|
438 |
{
|
439 |
+
return $this->_getFactFinderObject("suggest", "getSuggestions", $channel, $id);
|
440 |
}
|
441 |
|
442 |
public function getTagCloud($channel = null, $id = null)
|
443 |
{
|
444 |
+
return $this->_getFactFinderObject("tagCloud", "getTagCloud", $channel, $id);
|
445 |
}
|
446 |
|
447 |
+
protected function _getFactFinderObject($type, $objectGetter, $channel = null, $id = null)
|
448 |
{
|
449 |
+
$cacheKey = '';
|
450 |
+
$data = null;
|
451 |
|
452 |
+
if ($this->_useSearchCaching())
|
453 |
{
|
454 |
+
$adapterId = $this->_getAdapterIdentifier($type, $channel, $id);
|
455 |
+
$cacheKey = 'FACTFINDER_'.$adapterId . '_' . $objectGetter .'_'. $this->_getParametersHash($type, $channel, $id);
|
456 |
+
if($cache = Mage::app()->loadCache($cacheKey))
|
457 |
+
{
|
458 |
+
$data = unserialize($cache);
|
459 |
+
}
|
460 |
}
|
461 |
|
462 |
+
if ($data == null) {
|
463 |
+
try {
|
464 |
+
$this->_loadAllData();
|
465 |
|
466 |
+
$adapter = $this->_getAdapter($type, $channel, $id);
|
467 |
+
$data = $adapter->$objectGetter();
|
468 |
|
469 |
+
if($this->_useSearchCaching())
|
470 |
+
{
|
471 |
+
Mage::app()->saveCache(serialize($data), $cacheKey, array('FACTFINDER_SEARCH'), 600);
|
472 |
+
}
|
473 |
|
474 |
+
} catch (Exception $e) {
|
475 |
+
Mage::logException($e);
|
476 |
+
}
|
|
|
477 |
}
|
478 |
+
return $data;
|
479 |
}
|
480 |
|
481 |
public function getActualFactFinderVersion()
|
490 |
}
|
491 |
}
|
492 |
|
493 |
+
private function _useSearchCaching()
|
494 |
+
{
|
495 |
+
if ($this->_useCaching == null)
|
496 |
+
{
|
497 |
+
// caching only works from version 5.3 because of php bug 45706 (http://bugs.php.net/45706):
|
498 |
+
// because of it, the asn objects can't be serialized and cached
|
499 |
+
// this bug was fixed with 5.3.0 (http://www.php.net/ChangeLog-5.php)
|
500 |
+
$this->_useCaching = (version_compare(PHP_VERSION, '5.3.0') >= 0 && Mage::app()->useCache('factfinder_search'));
|
501 |
+
}
|
502 |
+
return $this->_useCaching;
|
503 |
+
}
|
504 |
+
|
505 |
public function getActualFactFinderVersionString()
|
506 |
{
|
507 |
try {
|
@@ -70,7 +70,7 @@ class Flagbit_FactFinder_Model_Handler_Search
|
|
70 |
$value = base64_decode($value);
|
71 |
if(strpos($value, '|')) {
|
72 |
$param = explode('|', $value);
|
73 |
-
if($key == 'Category') {
|
74 |
$categories = array_merge(array_slice(explode('/', $param[0]), 1), array($param[1]));
|
75 |
foreach($categories AS $k => $v) { $categories[$k] = urldecode($v); }
|
76 |
$filterKey = '';
|
@@ -88,7 +88,7 @@ class Flagbit_FactFinder_Model_Handler_Search
|
|
88 |
break;
|
89 |
|
90 |
case "catalog":
|
91 |
-
if (!isset($requestParams['Category'])) {
|
92 |
$requestParams['Category'] = $this->_getCurrentFactFinderCategoryPath();
|
93 |
}
|
94 |
|
@@ -134,7 +134,7 @@ class Flagbit_FactFinder_Model_Handler_Search
|
|
134 |
break;
|
135 |
|
136 |
default:
|
137 |
-
if($key == 'Category') {
|
138 |
$categories = array_merge(array_slice(explode('/', $param[0]), 1), array($param[1]));
|
139 |
foreach($categories AS $k => $v) { $categories[$k] = $v; }
|
140 |
$filterKey = '';
|
@@ -160,29 +160,30 @@ class Flagbit_FactFinder_Model_Handler_Search
|
|
160 |
|
161 |
protected function _getCurrentFactFinderCategoryPath($all = false)
|
162 |
{
|
163 |
-
$returnValue =
|
164 |
-
if($this->_currentFactFinderCategoryPath == null
|
165 |
$this->_currentFactFinderCategoryPath = array();
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
|
|
|
|
|
|
|
|
180 |
}
|
181 |
-
$mainCategoriesString .= '/'. str_replace('/', '%2F', $categories[$categoryId]->getName());
|
182 |
}
|
183 |
}
|
184 |
-
} else {
|
185 |
-
$this->_currentFactFinderCategoryPath = array();
|
186 |
}
|
187 |
|
188 |
if($all === false){
|
@@ -283,10 +284,11 @@ class Flagbit_FactFinder_Model_Handler_Search
|
|
283 |
$_value = $this->_getAttributeOptionValue($option);
|
284 |
if(Mage::getStoreConfigFlag('factfinder/activation/navigation')
|
285 |
&& !$helper->getIsOnSearchPage()
|
|
|
286 |
&& (
|
287 |
empty($_value) === true
|
288 |
-
|
289 |
-
|
290 |
)){
|
291 |
continue;
|
292 |
}
|
70 |
$value = base64_decode($value);
|
71 |
if(strpos($value, '|')) {
|
72 |
$param = explode('|', $value);
|
73 |
+
if($key == 'Category' || $key == 'category') {
|
74 |
$categories = array_merge(array_slice(explode('/', $param[0]), 1), array($param[1]));
|
75 |
foreach($categories AS $k => $v) { $categories[$k] = urldecode($v); }
|
76 |
$filterKey = '';
|
88 |
break;
|
89 |
|
90 |
case "catalog":
|
91 |
+
if (!isset($requestParams['Category']) && !isset($requestParams['category'])) {
|
92 |
$requestParams['Category'] = $this->_getCurrentFactFinderCategoryPath();
|
93 |
}
|
94 |
|
134 |
break;
|
135 |
|
136 |
default:
|
137 |
+
if($key == 'Category' || $key == 'category') {
|
138 |
$categories = array_merge(array_slice(explode('/', $param[0]), 1), array($param[1]));
|
139 |
foreach($categories AS $k => $v) { $categories[$k] = $v; }
|
140 |
$filterKey = '';
|
160 |
|
161 |
protected function _getCurrentFactFinderCategoryPath($all = false)
|
162 |
{
|
163 |
+
$returnValue = array();
|
164 |
+
if($this->_currentFactFinderCategoryPath == null){
|
165 |
$this->_currentFactFinderCategoryPath = array();
|
166 |
+
if (Mage::getStoreConfigFlag('factfinder/activation/navigation') && Mage::registry('current_category')){
|
167 |
+
$this->_currentFactFinderCategoryPath = array();
|
168 |
+
/* @var $category Mage_Catalog_Model_Category */
|
169 |
+
$category = Mage::registry('current_category');
|
170 |
+
|
171 |
+
$pathInStore = $category->getPathInStore();
|
172 |
+
$pathIds = array_reverse(explode(',', $pathInStore));
|
173 |
+
|
174 |
+
$categories = $category->getParentCategories();
|
175 |
+
$mainCategoriesString = '';
|
176 |
+
foreach ($pathIds as $categoryId) {
|
177 |
+
if (isset($categories[$categoryId]) && $categories[$categoryId]->getName()) {
|
178 |
+
if(empty($mainCategoriesString)){
|
179 |
+
$this->_currentFactFinderCategoryPath[] = 'categoryROOT|'.$categories[$categoryId]->getName();
|
180 |
+
}else{
|
181 |
+
$this->_currentFactFinderCategoryPath[] = 'categoryROOT'.$mainCategoriesString.'|'.$categories[$categoryId]->getName();
|
182 |
+
}
|
183 |
+
$mainCategoriesString .= '/'. str_replace('/', '%2F', $categories[$categoryId]->getName());
|
184 |
}
|
|
|
185 |
}
|
186 |
}
|
|
|
|
|
187 |
}
|
188 |
|
189 |
if($all === false){
|
284 |
$_value = $this->_getAttributeOptionValue($option);
|
285 |
if(Mage::getStoreConfigFlag('factfinder/activation/navigation')
|
286 |
&& !$helper->getIsOnSearchPage()
|
287 |
+
&& strpos($option->getField(), 'categoryROOT') !== FALSE
|
288 |
&& (
|
289 |
empty($_value) === true
|
290 |
+
|| in_array($_value, $_currentCategoryPath)
|
291 |
+
&& $_currentCategoryPath[count($_currentCategoryPath)-1] != $_value
|
292 |
)){
|
293 |
continue;
|
294 |
}
|
@@ -28,11 +28,16 @@ class Flagbit_FactFinder_Model_Handler_SecondarySearch
|
|
28 |
}
|
29 |
}
|
30 |
|
|
|
|
|
|
|
|
|
|
|
|
|
31 |
public function getSecondarySearchResult($channel)
|
32 |
{
|
33 |
-
if(
|
34 |
{
|
35 |
-
Mage::logException(new Exception("Tried to query a channel that was not configured as a secondary channel."));
|
36 |
return array();
|
37 |
}
|
38 |
|
@@ -43,4 +48,47 @@ class Flagbit_FactFinder_Model_Handler_SecondarySearch
|
|
43 |
|
44 |
return $this->_secondarySearchResults[$channel];
|
45 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
46 |
}
|
28 |
}
|
29 |
}
|
30 |
|
31 |
+
/**
|
32 |
+
* returns the FACTFinder_Result object of the given channel.
|
33 |
+
*
|
34 |
+
* @param $channel
|
35 |
+
* @return FACTFinder_Result
|
36 |
+
*/
|
37 |
public function getSecondarySearchResult($channel)
|
38 |
{
|
39 |
+
if(!$this->isSecondaryChannel($channel))
|
40 |
{
|
|
|
41 |
return array();
|
42 |
}
|
43 |
|
48 |
|
49 |
return $this->_secondarySearchResults[$channel];
|
50 |
}
|
51 |
+
|
52 |
+
/**
|
53 |
+
* returns the search adapter of the FACT-Finder library the module is based on. This adapter gives access to all
|
54 |
+
* search result relevant objects of the channel's result.
|
55 |
+
*
|
56 |
+
* if there is no adapter for that channel, an error is logged an null is returned.
|
57 |
+
*
|
58 |
+
* @param $channel
|
59 |
+
* @return FACTFinder_Default_SearchAdapter (or one of the version specific implementations)
|
60 |
+
*/
|
61 |
+
public function getSecondarySearchAdapter($channel)
|
62 |
+
{
|
63 |
+
echo "$channel <br>";
|
64 |
+
print_r($this->isSecondaryChannel($channel));
|
65 |
+
if(!$this->isSecondaryChannel($channel))
|
66 |
+
{
|
67 |
+
return null;
|
68 |
+
}
|
69 |
+
|
70 |
+
if(!isset($this->_secondarySearchAdapters[$channel]))
|
71 |
+
{
|
72 |
+
$this->_secondarySearchAdapters[$channel] = $this->_getFacade()->getSearchAdapter($channel);
|
73 |
+
}
|
74 |
+
|
75 |
+
return $this->_secondarySearchAdapters[$channel];
|
76 |
+
}
|
77 |
+
|
78 |
+
/**
|
79 |
+
* returns true if the set channel is a secondary channel. if it is not, it also logs an error
|
80 |
+
*
|
81 |
+
* @param $channel
|
82 |
+
* @return bool
|
83 |
+
*/
|
84 |
+
private function isSecondaryChannel($channel)
|
85 |
+
{
|
86 |
+
if(!in_array($channel, $this->_secondaryChannels))
|
87 |
+
{
|
88 |
+
Mage::logException(new Exception("Tried to query a channel that was not configured as a secondary channel."));
|
89 |
+
return false;
|
90 |
+
} else {
|
91 |
+
return true;
|
92 |
+
}
|
93 |
+
}
|
94 |
}
|
@@ -57,8 +57,6 @@ class Flagbit_FactFinder_Model_Handler_Tracking
|
|
57 |
$result = $this->_getFacade()->applyTracking();
|
58 |
}
|
59 |
|
60 |
-
Mage::getSingleton('core/session')->setFactFinderRefKey(null);
|
61 |
-
|
62 |
return $result;
|
63 |
}
|
64 |
}
|
57 |
$result = $this->_getFacade()->applyTracking();
|
58 |
}
|
59 |
|
|
|
|
|
60 |
return $result;
|
61 |
}
|
62 |
}
|
@@ -24,7 +24,11 @@ class Flagbit_FactFinder_Model_Handler_Tracking_Scic
|
|
24 |
public function setupEventTracking($event, $inputParams)
|
25 |
{
|
26 |
/* @var $scicAdapter FACTFinder_Default_ScicAdapter */
|
27 |
-
|
|
|
|
|
|
|
|
|
28 |
|
29 |
switch ($event) {
|
30 |
case FACTFinder_Default_TrackingAdapter::EVENT_INSPECT:
|
24 |
public function setupEventTracking($event, $inputParams)
|
25 |
{
|
26 |
/* @var $scicAdapter FACTFinder_Default_ScicAdapter */
|
27 |
+
if (Mage::helper('factfinder')->useLegacyTracking()) {
|
28 |
+
$scicAdapter = $this->_getFacade()->getLegacyTrackingAdapter();
|
29 |
+
} else {
|
30 |
+
$scicAdapter = $this->_getFacade()->getScicAdapter();
|
31 |
+
}
|
32 |
|
33 |
switch ($event) {
|
34 |
case FACTFinder_Default_TrackingAdapter::EVENT_INSPECT:
|
@@ -52,9 +52,8 @@ class Flagbit_FactFinder_Model_Mysql4_Search_Collection
|
|
52 |
// get product IDs from Fact-Finder
|
53 |
$productIds = $this->_getSearchHandler()->getSearchResult();
|
54 |
|
55 |
-
Mage::getSingleton('
|
56 |
-
if($refKey =
|
57 |
-
{
|
58 |
Mage::getSingleton('core/session')->setFactFinderRefKey($refKey);
|
59 |
}
|
60 |
|
52 |
// get product IDs from Fact-Finder
|
53 |
$productIds = $this->_getSearchHandler()->getSearchResult();
|
54 |
|
55 |
+
$searchResult = Mage::getSingleton('factfinder/facade')->getSearchResult();
|
56 |
+
if($searchResult && $refKey = $searchResult->getRefKey()) {
|
|
|
57 |
Mage::getSingleton('core/session')->setFactFinderRefKey($refKey);
|
58 |
}
|
59 |
|
@@ -22,7 +22,7 @@
|
|
22 |
<modules>
|
23 |
<Flagbit_FactFinder>
|
24 |
<active>true</active>
|
25 |
-
<version>3.5.
|
26 |
</Flagbit_FactFinder>
|
27 |
</modules>
|
28 |
<global>
|
@@ -115,7 +115,7 @@
|
|
115 |
<types>
|
116 |
<factfinder_search translate="label,description" module="factfinder">
|
117 |
<label>FACT-Finder</label>
|
118 |
-
<description>Search Request Cache</description>
|
119 |
<tags>FACTFINDER_SEARCH</tags>
|
120 |
</factfinder_search>
|
121 |
</types>
|
@@ -259,7 +259,7 @@
|
|
259 |
</search>
|
260 |
</catalog>
|
261 |
<factfinder>
|
262 |
-
<version>3.5.
|
263 |
<revision>$Rev: 25896 $</revision>
|
264 |
<debug>false</debug>
|
265 |
|
22 |
<modules>
|
23 |
<Flagbit_FactFinder>
|
24 |
<active>true</active>
|
25 |
+
<version>3.5.4</version>
|
26 |
</Flagbit_FactFinder>
|
27 |
</modules>
|
28 |
<global>
|
115 |
<types>
|
116 |
<factfinder_search translate="label,description" module="factfinder">
|
117 |
<label>FACT-Finder</label>
|
118 |
+
<description>Search Request Cache (won't work with PHP 5.2 or less)</description>
|
119 |
<tags>FACTFINDER_SEARCH</tags>
|
120 |
</factfinder_search>
|
121 |
</types>
|
259 |
</search>
|
260 |
</catalog>
|
261 |
<factfinder>
|
262 |
+
<version>3.5.4</version>
|
263 |
<revision>$Rev: 25896 $</revision>
|
264 |
<debug>false</debug>
|
265 |
|
@@ -44,7 +44,7 @@
|
|
44 |
<block type="factfinder/campaign_feedback" before="search.result" name="factfinder.campaign.feedback" template="factfinder/campaign/feedback.phtml">
|
45 |
<action method="setTextNumber"><number>1</number></action>
|
46 |
</block>
|
47 |
-
<block type="factfinder/campaign_advisory" after="factfinder.campaign.feedback" template="factfinder/campaign/advisory.phtml" />
|
48 |
<block type="core/template" name="factfinder.logo" template="factfinder/logo.phtml"/>
|
49 |
<block type="factfinder/secondaryresult" after="search.result" name="factfinder.secondaryresult" template="factfinder/secondaryresult.phtml" />
|
50 |
</reference>
|
@@ -52,8 +52,8 @@
|
|
52 |
|
53 |
<catalog_product_view>
|
54 |
<reference name="content">
|
55 |
-
<block type="factfinder/campaign_product_advisory" before="product.info" template="factfinder/campaign/product/advisory.phtml" />
|
56 |
-
<block type="factfinder/campaign_product_feedback" before="product.info" template="factfinder/campaign/product/feedback.phtml" />
|
57 |
</reference>
|
58 |
<reference name="product.info.upsell">
|
59 |
<action method="setItemLimit"><type>upsell</type><limit>20</limit></action>
|
@@ -62,8 +62,8 @@
|
|
62 |
|
63 |
<checkout_cart_index>
|
64 |
<reference name="checkout.cart.form.before">
|
65 |
-
<block type="factfinder/campaign_cart_advisory" before="-" template="factfinder/campaign/cart/advisory.phtml" />
|
66 |
-
<block type="factfinder/campaign_cart_feedback" before="-" template="factfinder/campaign/cart/feedback.phtml" />
|
67 |
</reference>
|
68 |
</checkout_cart_index>
|
69 |
|
44 |
<block type="factfinder/campaign_feedback" before="search.result" name="factfinder.campaign.feedback" template="factfinder/campaign/feedback.phtml">
|
45 |
<action method="setTextNumber"><number>1</number></action>
|
46 |
</block>
|
47 |
+
<block type="factfinder/campaign_advisory" after="factfinder.campaign.feedback" name="factfinder.campaign.advisory" template="factfinder/campaign/advisory.phtml" />
|
48 |
<block type="core/template" name="factfinder.logo" template="factfinder/logo.phtml"/>
|
49 |
<block type="factfinder/secondaryresult" after="search.result" name="factfinder.secondaryresult" template="factfinder/secondaryresult.phtml" />
|
50 |
</reference>
|
52 |
|
53 |
<catalog_product_view>
|
54 |
<reference name="content">
|
55 |
+
<block type="factfinder/campaign_product_advisory" before="product.info" name="factfinder.campaign.advisory" template="factfinder/campaign/product/advisory.phtml" />
|
56 |
+
<block type="factfinder/campaign_product_feedback" before="product.info" name="factfinder.campaign.feedback" template="factfinder/campaign/product/feedback.phtml" />
|
57 |
</reference>
|
58 |
<reference name="product.info.upsell">
|
59 |
<action method="setItemLimit"><type>upsell</type><limit>20</limit></action>
|
62 |
|
63 |
<checkout_cart_index>
|
64 |
<reference name="checkout.cart.form.before">
|
65 |
+
<block type="factfinder/campaign_cart_advisory" before="-" name="factfinder.campaign.advisory" template="factfinder/campaign/cart/advisory.phtml" />
|
66 |
+
<block type="factfinder/campaign_cart_feedback" before="-" name="factfinder.campaign.feedback" template="factfinder/campaign/cart/feedback.phtml" />
|
67 |
</reference>
|
68 |
</checkout_cart_index>
|
69 |
|
@@ -23,7 +23,7 @@ var factfinderTracking = new FactfinderTracking(
|
|
23 |
'.col-main',
|
24 |
$H(<?php echo $this->getJsonDataObject();?>),
|
25 |
$H(<?php echo $this->getJsonUrlToIdMappingObject();?>),
|
26 |
-
'<?php echo (Mage::helper('factfinder')->
|
27 |
false
|
28 |
);
|
29 |
|
23 |
'.col-main',
|
24 |
$H(<?php echo $this->getJsonDataObject();?>),
|
25 |
$H(<?php echo $this->getJsonUrlToIdMappingObject();?>),
|
26 |
+
'<?php echo $this->getUrl(Mage::helper('factfinder')->getTrackingUrlPath()) ?>',
|
27 |
false
|
28 |
);
|
29 |
|
@@ -39,7 +39,8 @@ class FACTFinder_Default_SearchAdapter extends FACTFinder_Abstract_Adapter
|
|
39 |
$params = $this->getDataProvider()->getParams();
|
40 |
if ((!isset($params['query']) || strlen($params['query']) == 0)
|
41 |
&& (!isset($params['seoPath']) || strlen($params['seoPath']) == 0)
|
42 |
-
&& (!isset($params['catalog']) || $params['catalog'] != 'true')
|
|
|
43 |
$this->log->error("No query was set.");
|
44 |
throw new Exception(self::NO_QUERY);
|
45 |
}
|
39 |
$params = $this->getDataProvider()->getParams();
|
40 |
if ((!isset($params['query']) || strlen($params['query']) == 0)
|
41 |
&& (!isset($params['seoPath']) || strlen($params['seoPath']) == 0)
|
42 |
+
&& (!isset($params['catalog']) || $params['catalog'] != 'true')
|
43 |
+
&& (!isset($params['navigation']) || $params['navigation'] != 'true')) {
|
44 |
$this->log->error("No query was set.");
|
45 |
throw new Exception(self::NO_QUERY);
|
46 |
}
|
@@ -34,9 +34,6 @@ class FACTFinder_Default_TrackingAdapter extends FACTFinder_Abstract_Adapter
|
|
34 |
|
35 |
public function prepareDefaultParams($inputParams, $event) {
|
36 |
$eventsNoSourceRefKeyRequired = array(
|
37 |
-
self::EVENT_INSPECT,
|
38 |
-
self::EVENT_CART,
|
39 |
-
self::EVENT_BUY,
|
40 |
self::EVENT_SESSION_START
|
41 |
);
|
42 |
|
34 |
|
35 |
public function prepareDefaultParams($inputParams, $event) {
|
36 |
$eventsNoSourceRefKeyRequired = array(
|
|
|
|
|
|
|
37 |
self::EVENT_SESSION_START
|
38 |
);
|
39 |
|
@@ -98,7 +98,7 @@ class FACTFinder_Http_DataProvider extends FACTFinder_Abstract_DataProvider
|
|
98 |
{
|
99 |
$this->urlBuilder->setArrayParam($name, $values);
|
100 |
}
|
101 |
-
|
102 |
/**
|
103 |
* this implementation of the data provider uses the type as request path in addition to the request context path.
|
104 |
* please ensure that this is the full action name, i.e. "Search.ff"
|
@@ -174,7 +174,7 @@ class FACTFinder_Http_DataProvider extends FACTFinder_Abstract_DataProvider
|
|
174 |
}
|
175 |
return $this->data;
|
176 |
}
|
177 |
-
|
178 |
/**
|
179 |
* sets the URL that was used for the most recent request
|
180 |
**/
|
@@ -182,7 +182,7 @@ class FACTFinder_Http_DataProvider extends FACTFinder_Abstract_DataProvider
|
|
182 |
{
|
183 |
$this->previousUrl = $url;
|
184 |
}
|
185 |
-
|
186 |
/**
|
187 |
* checks whether the URL (and thus the parameters) have changed since last loading the data
|
188 |
**/
|
@@ -320,4 +320,4 @@ class FACTFinder_Http_DataProvider extends FACTFinder_Abstract_DataProvider
|
|
320 |
*
|
321 |
* @package FACTFinder\Http
|
322 |
*/
|
323 |
-
class NoRequestTypeException extends Exception {}
|
98 |
{
|
99 |
$this->urlBuilder->setArrayParam($name, $values);
|
100 |
}
|
101 |
+
|
102 |
/**
|
103 |
* this implementation of the data provider uses the type as request path in addition to the request context path.
|
104 |
* please ensure that this is the full action name, i.e. "Search.ff"
|
174 |
}
|
175 |
return $this->data;
|
176 |
}
|
177 |
+
|
178 |
/**
|
179 |
* sets the URL that was used for the most recent request
|
180 |
**/
|
182 |
{
|
183 |
$this->previousUrl = $url;
|
184 |
}
|
185 |
+
|
186 |
/**
|
187 |
* checks whether the URL (and thus the parameters) have changed since last loading the data
|
188 |
**/
|
320 |
*
|
321 |
* @package FACTFinder\Http
|
322 |
*/
|
323 |
+
class NoRequestTypeException extends Exception {}
|
@@ -0,0 +1,15 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Tracking adapter using the old tracking API with FACT-Finder 6.8 or 6.9
|
4 |
+
*/
|
5 |
+
class FACTFinder_Http_LegacyTrackingAdapter extends FACTFinder_Http_ScicAdapter
|
6 |
+
{
|
7 |
+
/**
|
8 |
+
* Set up the old tracking adapter with the new Action path it has
|
9 |
+
*/
|
10 |
+
protected function init()
|
11 |
+
{
|
12 |
+
parent::init();
|
13 |
+
$this->getDataProvider()->setType('Tracking.ff');
|
14 |
+
}
|
15 |
+
}
|
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* SCIC adapter using the json interface
|
4 |
+
*/
|
5 |
+
class FACTFinder_Json66_ScicAdapter extends FACTFinder_Http_ScicAdapter
|
6 |
+
{
|
7 |
+
/* SCIC is really not interface-specific. We just need an inheritance
|
8 |
+
* chain because the action changes in FF 6.8. */
|
9 |
+
}
|
@@ -257,10 +257,7 @@ class FACTFinder_Json66_SearchAdapter extends FACTFinder_Default_SearchAdapter
|
|
257 |
$filterLink = $this->createLink($elementData);
|
258 |
|
259 |
if ($group->isSliderStyle()) {
|
260 |
-
|
261 |
-
$params = $this->getParamsParser()->parseParamsFromResultString(trim($elementData['searchParams']));
|
262 |
-
end($params);
|
263 |
-
$filterLink .= '&' . key($params) . '=';
|
264 |
|
265 |
$filter = FF::getInstance('asnSliderFilter',
|
266 |
$filterLink,
|
257 |
$filterLink = $this->createLink($elementData);
|
258 |
|
259 |
if ($group->isSliderStyle()) {
|
260 |
+
$filterLink .= '&filter' . $elementData['associatedFieldName'] . '=';
|
|
|
|
|
|
|
261 |
|
262 |
$filter = FF::getInstance('asnSliderFilter',
|
263 |
$filterLink,
|
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* SCIC adapter using the json interface
|
4 |
+
*/
|
5 |
+
class FACTFinder_Json67_ScicAdapter extends FACTFinder_Json66_ScicAdapter
|
6 |
+
{
|
7 |
+
/* no changes in FF 6.7 */
|
8 |
+
}
|
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* SCIC adapter using the json interface
|
4 |
+
*/
|
5 |
+
class FACTFinder_Json68_ScicAdapter extends FACTFinder_Json67_ScicAdapter
|
6 |
+
{
|
7 |
+
protected function init()
|
8 |
+
{
|
9 |
+
parent::init();
|
10 |
+
$this->getDataProvider()->setType('Tracking.ff');
|
11 |
+
}
|
12 |
+
}
|
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* SCIC adapter using the json interface
|
4 |
+
*/
|
5 |
+
class FACTFinder_Json69_ScicAdapter extends FACTFinder_Json68_ScicAdapter
|
6 |
+
{
|
7 |
+
/* no changes in FF 6.9 */
|
8 |
+
}
|
@@ -33,6 +33,8 @@ class FACTFinder_Xml65_ImportAdapter extends FACTFinder_Default_ImportAdapter
|
|
33 |
*/
|
34 |
protected function getData()
|
35 |
{
|
|
|
|
|
36 |
libxml_use_internal_errors(true);
|
37 |
return new SimpleXMLElement(parent::getData()); //throws exception on error
|
38 |
}
|
33 |
*/
|
34 |
protected function getData()
|
35 |
{
|
36 |
+
FACTFinder_Http_ParallelDataProvider::loadAllData();
|
37 |
+
|
38 |
libxml_use_internal_errors(true);
|
39 |
return new SimpleXMLElement(parent::getData()); //throws exception on error
|
40 |
}
|
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* SCIC adapter using the xml interface
|
4 |
+
*/
|
5 |
+
class FACTFinder_Xml65_ScicAdapter extends FACTFinder_Http_ScicAdapter
|
6 |
+
{
|
7 |
+
/* SCIC is really not interface-specific. We just need an inheritance
|
8 |
+
* chain because the action changes in FF 6.8. */
|
9 |
+
}
|
@@ -267,10 +267,7 @@ class FACTFinder_Xml65_SearchAdapter extends FACTFinder_Default_SearchAdapter
|
|
267 |
$filterLink = $this->createLink($xmlFilter);
|
268 |
|
269 |
if ($group->isSliderStyle()) {
|
270 |
-
|
271 |
-
$params = $this->getParamsParser()->parseParamsFromResultString(trim($xmlFilter->searchParams));
|
272 |
-
end($params);
|
273 |
-
$filterLink .= '&' . key($params) . '=';
|
274 |
|
275 |
$filter = FF::getInstance('asnSliderFilter',
|
276 |
$filterLink,
|
267 |
$filterLink = $this->createLink($xmlFilter);
|
268 |
|
269 |
if ($group->isSliderStyle()) {
|
270 |
+
$filterLink .= '&filter' . strval($xmlFilter->attributes()->field) . '=';
|
|
|
|
|
|
|
271 |
|
272 |
$filter = FF::getInstance('asnSliderFilter',
|
273 |
$filterLink,
|
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* SCIC adapter using the xml interface
|
4 |
+
*/
|
5 |
+
class FACTFinder_Xml66_ScicAdapter extends FACTFinder_Xml65_ScicAdapter
|
6 |
+
{
|
7 |
+
/* no changes in FF 6.6 */
|
8 |
+
}
|
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* SCIC adapter using the xml interface
|
4 |
+
*/
|
5 |
+
class FACTFinder_Xml67_ScicAdapter extends FACTFinder_Xml66_ScicAdapter
|
6 |
+
{
|
7 |
+
/* no changes in FF 6.7 */
|
8 |
+
}
|
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* SCIC adapter using the xml interface
|
4 |
+
*/
|
5 |
+
class FACTFinder_Xml68_ScicAdapter extends FACTFinder_Xml67_ScicAdapter
|
6 |
+
{
|
7 |
+
protected function init()
|
8 |
+
{
|
9 |
+
parent::init();
|
10 |
+
$this->getDataProvider()->setType('Tracking.ff');
|
11 |
+
}
|
12 |
+
}
|
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* SCIC adapter using the xml interface
|
4 |
+
*/
|
5 |
+
class FACTFinder_Xml69_ScicAdapter extends FACTFinder_Xml68_ScicAdapter
|
6 |
+
{
|
7 |
+
/* no changes in FF 6.9 */
|
8 |
+
}
|
@@ -19,7 +19,28 @@ class FACTFinderCustom_Configuration implements FACTFinder_Abstract_Configuratio
|
|
19 |
private $secondaryChannels;
|
20 |
private $storeId = null;
|
21 |
private $semaphoreTimeout = self::DEFAULT_SEMAPHORE_TIMEOUT;
|
22 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
23 |
// Should the search adapters retrieve only product ids? (otherwise, full records will be requested)
|
24 |
private $idsOnly = true;
|
25 |
|
@@ -206,7 +227,7 @@ class FACTFinderCustom_Configuration implements FACTFinder_Abstract_Configuratio
|
|
206 |
/**
|
207 |
* @return string
|
208 |
*/
|
209 |
-
public function getAdvancedAuthPostfix(){
|
210 |
return $this->getCustomValue('auth_advancedPostfix');
|
211 |
}
|
212 |
|
@@ -230,19 +251,31 @@ class FACTFinderCustom_Configuration implements FACTFinder_Abstract_Configuratio
|
|
230 |
return array();
|
231 |
}
|
232 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
233 |
/**
|
234 |
* {@inheritdoc}
|
235 |
*
|
236 |
* @return array with string as key and boolean true as value for each of them
|
237 |
*/
|
238 |
public function getIgnoredPageParams() {
|
239 |
-
return
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
|
|
|
|
|
|
|
246 |
}
|
247 |
|
248 |
/**
|
@@ -251,16 +284,7 @@ class FACTFinderCustom_Configuration implements FACTFinder_Abstract_Configuratio
|
|
251 |
* @return array with string as key and boolean true as value for each of them
|
252 |
*/
|
253 |
public function getIgnoredServerParams() {
|
254 |
-
return
|
255 |
-
'q' => true,
|
256 |
-
'p' => true,
|
257 |
-
'limit' => true,
|
258 |
-
'is_ajax' => true,
|
259 |
-
'type_search' => true,
|
260 |
-
'order' => true,
|
261 |
-
'dir' => true,
|
262 |
-
'mode' => true
|
263 |
-
);
|
264 |
}
|
265 |
|
266 |
/**
|
@@ -268,7 +292,7 @@ class FACTFinderCustom_Configuration implements FACTFinder_Abstract_Configuratio
|
|
268 |
*
|
269 |
* @return array string to string map (param-name as array-key; default value as array-value)
|
270 |
*/
|
271 |
-
public function getRequiredPageParams(){
|
272 |
return array();
|
273 |
}
|
274 |
|
@@ -277,7 +301,7 @@ class FACTFinderCustom_Configuration implements FACTFinder_Abstract_Configuratio
|
|
277 |
*
|
278 |
* @return array string to string map (param-name as array-key; default value as array-value)
|
279 |
*/
|
280 |
-
function getRequiredServerParams(){
|
281 |
return array();
|
282 |
}
|
283 |
|
19 |
private $secondaryChannels;
|
20 |
private $storeId = null;
|
21 |
private $semaphoreTimeout = self::DEFAULT_SEMAPHORE_TIMEOUT;
|
22 |
+
|
23 |
+
private $ignoredPageParams = array(
|
24 |
+
'channel' => true,
|
25 |
+
'format' => true,
|
26 |
+
'log' => true,
|
27 |
+
'productsPerPage' => true,
|
28 |
+
'query' => true,
|
29 |
+
'catalog' => true,
|
30 |
+
'navigation' => true
|
31 |
+
);
|
32 |
+
|
33 |
+
private $ignoredServerParams = array(
|
34 |
+
'q' => true,
|
35 |
+
'p' => true,
|
36 |
+
'limit' => true,
|
37 |
+
'is_ajax' => true,
|
38 |
+
'type_search' => true,
|
39 |
+
'order' => true,
|
40 |
+
'dir' => true,
|
41 |
+
'mode' => true
|
42 |
+
);
|
43 |
+
|
44 |
// Should the search adapters retrieve only product ids? (otherwise, full records will be requested)
|
45 |
private $idsOnly = true;
|
46 |
|
227 |
/**
|
228 |
* @return string
|
229 |
*/
|
230 |
+
public function getAdvancedAuthPostfix() {
|
231 |
return $this->getCustomValue('auth_advancedPostfix');
|
232 |
}
|
233 |
|
251 |
return array();
|
252 |
}
|
253 |
|
254 |
+
/**
|
255 |
+
* add parameter that should be ignored for page urls
|
256 |
+
*
|
257 |
+
* @param $parameterName
|
258 |
+
*/
|
259 |
+
public function addIgnoredPageParam($parameterName) {
|
260 |
+
$this->ignoredPageParams[$parameterName] = true;
|
261 |
+
}
|
262 |
+
|
263 |
/**
|
264 |
* {@inheritdoc}
|
265 |
*
|
266 |
* @return array with string as key and boolean true as value for each of them
|
267 |
*/
|
268 |
public function getIgnoredPageParams() {
|
269 |
+
return $this->ignoredPageParams;
|
270 |
+
}
|
271 |
+
|
272 |
+
/**
|
273 |
+
* add parameter that should be ignored for the server request
|
274 |
+
*
|
275 |
+
* @param $parameterName
|
276 |
+
*/
|
277 |
+
public function addIgnoredServerParam($parameterName) {
|
278 |
+
$this->ignoredServerParams[$parameterName] = true;
|
279 |
}
|
280 |
|
281 |
/**
|
284 |
* @return array with string as key and boolean true as value for each of them
|
285 |
*/
|
286 |
public function getIgnoredServerParams() {
|
287 |
+
return $this->ignoredServerParams;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
288 |
}
|
289 |
|
290 |
/**
|
292 |
*
|
293 |
* @return array string to string map (param-name as array-key; default value as array-value)
|
294 |
*/
|
295 |
+
public function getRequiredPageParams() {
|
296 |
return array();
|
297 |
}
|
298 |
|
301 |
*
|
302 |
* @return array string to string map (param-name as array-key; default value as array-value)
|
303 |
*/
|
304 |
+
function getRequiredServerParams() {
|
305 |
return array();
|
306 |
}
|
307 |
|
@@ -1,26 +1,28 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Flagbit_Factfinder</name>
|
4 |
-
<version>3.5.
|
5 |
<stability>stable</stability>
|
6 |
-
<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>
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
|
|
|
|
20 |
<authors><author><name>Flagbit GmbH Co. KG</name><user>auto-converted</user><email>magento@flagbit.de</email></author></authors>
|
21 |
-
<date>
|
22 |
-
<time>
|
23 |
-
<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="0ef84cf79848e6e3a8d254a3a33f440d"/></dir><dir name="template"><dir name="factfinder"><file name="form.advancedsuggest.phtml" hash="d51345fde3b0cbede02f4d2ac7d43af0"/><file name="form.advancedsuggest68.phtml" hash="40f1abe8fad017cc52442bd6a4a8ef35"/><file name="form.mini.phtml" hash="eb49c2fb57594e2ebeed1ffb01c2606d"/><file name="logo.phtml" hash="7a40d67bf648e65345f69b2cf9d3c6b6"/><file name="secondaryresult.phtml" hash="a4cdff409ccedb16d4fe9a038a4dd9e8"/><file name="tracking.phtml" hash="e42ced8505b97260b83b4b55b6139b1d"/><dir name="campaign"><file name="advisory.phtml" hash="d0ef29b97aa4c3bdfa2b94596beb5b21"/><file name="feedback.phtml" hash="a00ad977b82b199630371aef060f25ab"/><dir name="cart"><file name="advisory.phtml" hash="bb994272a6daaaba298a38023f6db212"/><file name="feedback.phtml" hash="01fa6a9cd024a2a8edaea7013b00fc89"/></dir><dir name="product"><file name="advisory.phtml" hash="00c978cf9c129c777fecf4cbbbb9d218"/><file name="feedback.phtml" hash="1bb121e2708490793190ce9f2d6ee666"/></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="eacf94cdf077a77bece17ef67d09b829"/></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="e2aaefed8203667491262c6bf6f41f03"/><file name="AsnSliderFilter.php" hash="14fcd343b14d85b53d2908e04132bca4"/><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="Curl.php" hash="967c0b604dfdc045c9de70e9e9a44bea"/><file name="CurlHandle.php" hash="2c9dfeccd8256c16def2685e7498ae1c"/><file name="CurlInterface.php" hash="a57574dcd102ff54575cbc9131687854"/><file name="CurlStub.php" hash="01b5a07b0599ccd4b7e1b102cbdc3993"/><file name="EncodingHandler.php" hash="4f0b616bca9158bfb7eddcfcba192dc6"/><file name="Item.php" hash="b8bae7f7d296a5acca29dc3ce0c46642"/><file name="Loader.php" hash="c26cc57da777bfe7096fadbfeb6e1645"/><file name="Log4PhpLogger.php" hash="ecfb1f084b8d0bd2d51bf417fa0b0b3c"/><file name="NullLogger.php" hash="be8782000070665f0e9fcc011ae4fe77"/><file name="Paging.php" hash="4ca274beffac0c0a8cb5136b08fa8b24"/><file name="Parameters.php" hash="612c4a9b98cb8a17d0f2d30cf2641936"/><file name="ParametersParser.php" hash="9b55a42ea9195c2b40f9640ac3ba3b1a"/><file name="ProductsPerPageOptions.php" hash="1e69121e89109f31b0929706ea3dcabc"/><file name="Record.php" hash="46319caed19fbdeb5fc065ddd395b18f"/><file name="Result.php" hash="8f97f1509ee78d773aa2c5ace2830225"/><file name="SingleWordSearchItem.php" hash="8f0feac780e68a8b0eab6d44dd6c6813"/><file name="SuggestQuery.php" hash="847d637921e9bc46b9c1d3d8b03737af"/><file name="TagQuery.php" hash="ece1fda66af2c6053507941f35423c5f"/><file name="Util.php" hash="0a26a0d655c3f257b74302683a4859ba"/><dir name="Abstract"><file name="Adapter.php" hash="1c3acf21c0e5bb954973e22e52910906"/><file name="Configuration.php" hash="233565de45f56ba7bdcd604817dd7fc6"/><file name="DataProvider.php" hash="8b1dfc68d335aa006f7af9f2a60e519d"/><file name="Logger.php" hash="c5b1ace6158035e80b3d4a79a942a381"/></dir><dir name="Default"><file name="CompareAdapter.php" hash="8a8b027675e195b7be2bf5bf64666926"/><file name="ImportAdapter.php" hash="50c1a885dabcad55d4f7b6de00800701"/><file name="ProductCampaignAdapter.php" hash="049bfd0c3831114a2cd632af96aa0aaf"/><file name="RecommendationAdapter.php" hash="1858f0553c6deb21fb561cb454974a4e"/><file name="ScicAdapter.php" hash="8fd1c9e60cdb039ce4369af63d72a459"/><file name="SearchAdapter.php" hash="ea278ff85e02d484039f3ecea58a7d65"/><file name="SimilarRecordsAdapter.php" hash="b498d3df0fc663c40fc362fd20134b43"/><file name="SuggestAdapter.php" hash="f74d7d5578131355f8e44e8b6e0734c7"/><file name="TagCloudAdapter.php" hash="c2ecc0d869d232ce4b8f09eb497e2b64"/><file name="TrackingAdapter.php" hash="7816352fa227529a00e223ade35be597"/></dir><dir name="Http"><file name="DataProvider.php" hash="d994803f248f2a7419531f13ef03fcd2"/><file name="DummyProvider.php" hash="fcf82a2349f5b403912b1cb62907439c"/><file name="ParallelDataProvider.php" hash="71f895680f881d06793507f7ac8e7ef3"/><file name="ScicAdapter.php" hash="c283d851d23e531a1c26fee3d8c49ea8"/><file name="StatusHelper.php" hash="e4760fadae33a5574f9445bbc73c1283"/><file name="SuggestAdapter.php" hash="875adeae854b52bb6a20322c2934423c"/><file name="TrackingAdapter.php" hash="9ce06d21ea64a7dd329ce12e28576488"/><file name="UrlBuilder.php" hash="99efad6cb8243ee93a5d4b61c93d8303"/></dir><dir name="Json66"><file name="CompareAdapter.php" hash="3034c100a97d222704b1462db0b97811"/><file name="ImportAdapter.php" hash="63b19c72cfcf52d9832a81080678232c"/><file name="RecommendationAdapter.php" hash="9f4fed83d6d6c10b471ef8f4810eefa5"/><file name="SearchAdapter.php" hash="28111822684b93e72d40436acd3f21e0"/><file name="SimilarRecordsAdapter.php" hash="6f3565723be247381f561b60ed49d8da"/><file name="SuggestAdapter.php" hash="e06a19df2260abcd6ce46a8744ca58b0"/><file name="TagCloudAdapter.php" hash="0ef622889613de3660591ef41c08c65d"/></dir><dir name="Json67"><file name="CompareAdapter.php" hash="2324e34be1d48e42a1dafff4a6368863"/><file name="ImportAdapter.php" hash="295fa619d1a020f87e3d6772e428f4b3"/><file name="ProductCampaignAdapter.php" hash="c43222b1d277e2965e1209ff6375500c"/><file name="RecommendationAdapter.php" hash="db72e4179a831b331f53505a2ba9d01f"/><file name="SearchAdapter.php" hash="c69ac5f6fcfe47351ed3b601d03e18ad"/><file name="SimilarRecordsAdapter.php" hash="55f5553511f5fb965fa9b6abf5e9ba01"/><file name="SuggestAdapter.php" hash="ae47090fab5d202a22c8dbf9e604e2d1"/><file name="TagCloudAdapter.php" hash="1d7fdbd4ea8488d1bdfd0a4143a1a130"/></dir><dir name="Json68"><file name="CompareAdapter.php" hash="f3c610d6347a6671f5ee1bf716801ae2"/><file name="ImportAdapter.php" hash="c7ec5f12e1f7f17084de9d71c4d4051d"/><file name="ProductCampaignAdapter.php" hash="1ffc9f568d7ee73722765f16fdf45b07"/><file name="RecommendationAdapter.php" hash="b5082f0db80730bb866ac332d143f4a8"/><file name="SearchAdapter.php" hash="5814eb254324b96b10a35411bea6bc6c"/><file name="SimilarRecordsAdapter.php" hash="51412237e3233ccc3bfc124e3e9abee6"/><file name="SuggestAdapter.php" hash="9bfbd6a282aba70e3b1f2e1f632c113f"/><file name="TagCloudAdapter.php" hash="b632b03f8e044ebdd3a4f318c8e50c3a"/></dir><dir name="Json69"><file name="CompareAdapter.php" hash="e0ab8d442b26ca492d3986a32ea7a7a4"/><file name="ImportAdapter.php" hash="e969905c5ef9a2577eb80df12f5350c5"/><file name="ProductCampaignAdapter.php" hash="1ab5cb62aafe5f67c1f77461b89fe24d"/><file name="RecommendationAdapter.php" hash="0036cea44c296a3f9c8ac5c7458afb83"/><file name="SearchAdapter.php" hash="bc5b9f9404017d003fb27d21b2837609"/><file name="SimilarRecordsAdapter.php" hash="aee8d4212c9e3f1b62035be5307c73f1"/><file name="SuggestAdapter.php" hash="fce98d2451db47e4608e6f252f3759ff"/><file name="TagCloudAdapter.php" hash="e1b77df045382804e6ddfe2a05180469"/></dir><dir name="Xml64"><file name="SearchAdapter.php" hash="58a49882c741216cf278c4556ea7d224"/></dir><dir name="Xml65"><file name="ImportAdapter.php" hash="489d0aadda12a41111635a2b738936c1"/><file name="RecommendationAdapter.php" hash="dda97f6db1ae97c5a217632067d7c101"/><file name="SearchAdapter.php" hash="240370edf600728b472ae96078f3ed35"/><file name="SuggestAdapter.php" hash="e5381502b74dd62be1a7aa833cbb03e2"/><file name="TagCloudAdapter.php" hash="3bca14558fbd758207e97566dafb1ca2"/></dir><dir name="Xml66"><file name="CompareAdapter.php" hash="a1e323dec8fbee2930d531765adef0cc"/><file name="ImportAdapter.php" hash="5ea0d06cc2ddc7a1b7c880203c38fe40"/><file name="RecommendationAdapter.php" hash="9490ea2b17fded94d087046065596b1b"/><file name="SearchAdapter.php" hash="aba7b0e052a28c93bad70786706e2475"/><file name="SimilarRecordsAdapter.php" hash="f6c70898407d65c5b315a9ec5ebba166"/><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="794020c94d6d62c3d835f167c484f674"/><file name="RecommendationAdapter.php" hash="b991b5e2570c28530164b3cacfffa6e1"/><file name="SearchAdapter.php" hash="1458660092403f1c1f3c088c40b54550"/><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="5f33b2af574a27ce54da2fd200e54bf8"/><file name="SimilarRecordsAdapter.php" hash="b9c70b5c7d6d803bb1c7f1255be55285"/><file name="SuggestAdapter.php" hash="5cf5b95340983823c9e7a3fd0dc20a0b"/><file name="TagCloudAdapter.php" hash="3bfa1e877269be17ee08c403254925bf"/></dir><dir name="Xml69"><file name="CompareAdapter.php" hash="7fb11570f8ff0d4375808e2848b9a4e5"/><file name="ImportAdapter.php" hash="38ca51ae3571aa19df0552592c3ca7a1"/><file name="ProductCampaignAdapter.php" hash="b8387c660a11be69d4a549226fe398a9"/><file name="RecommendationAdapter.php" hash="2dcb3dd6cf309a5f0c2ae43fb203b26b"/><file name="SearchAdapter.php" hash="d40a1e847d228fa5018c47b43eb26d57"/><file name="SimilarRecordsAdapter.php" hash="ba87aaa6a786094720941117c976899d"/><file name="SuggestAdapter.php" hash="b0c54b42c01101adda15e3634b896e56"/><file name="TagCloudAdapter.php" hash="9529b709e9f1d897776d33fea96bb4df"/><file name="TrackingAdapter.php" hash="5fab2bf699274380c07988cdad48913a"/></dir></dir><dir name="FACTFinderCustom"><file name="Configuration.php" hash="06068d50a15e6e6a865c1727b7af0ded"/></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="8cc0245865ee5760fbfe7442cf859ade"/><file name="Secondaryresult.php" hash="cb1ca2347767ebed5671ad6a91dc881e"/><file name="TagCloud.php" hash="6e3769771ef5a1b50fc1d9a963e90aad"/><file name="Tracking.php" hash="7ce879afb562e5a0e96132fa31ebe98d"/><dir name="Adminhtml"><file name="Cockpit.php" hash="e12c45f55d5fd31d164187bd9d16a0bd"/><file name="Exportlink.php" hash="6aa91d07c5e0094c89b2494bac9d1ed3"/><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="14791cddb1fd131f7f78928e7877fc48"/><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="2651771f335616765f26a611486b9e25"/></dir></dir><dir name="XmlConnect"><dir name="Catalog"><file name="Search.php" hash="a5719137254795a4e9053bd801bc1f39"/><dir name="Product"><file name="List.php" hash="5c6ddfd680c0bcf597d07f02de69c4a7"/></dir><dir name="Search"><file name="Suggest.php" hash="a0fed06b80840e63f9983909847d7e58"/></dir></dir></dir></dir><dir name="controllers"><file name="ExportController.php" hash="1a0ab571e3cc525b043c39c8d71c0e18"/><file name="ProxyController.php" hash="1fc770e60199e28aedabba1578f569cd"/><dir name="Adminhtml"><dir name="Factfinder"><file name="CockpitController.php" hash="4c8665feaf14c38e6ba2384db496c95a"/></dir></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="1165a0fecfaa31f2aa4a882d1d8bc033"/><file name="config.xml" hash="686dfb4518a20e8f0498ba9279420ce6"/><file name="system.xml" hash="4e232a8d8e9ba653ba658b510470a20d"/></dir><dir name="Helper"><file name="Backend.php" hash="87b662c7c7242ef349f4606ad2ab5279"/><file name="Data.php" hash="91d08be56cfa17025d0dbfcda3691bb1"/><file name="Debug.php" hash="24b939b03efb2cd5f7815562f896576f"/><file name="Search.php" hash="0ec62f809330706c441c60ad96970880"/></dir><dir name="Model"><file name="Facade.php" hash="6ab653ac461b0c29df77c70627db49fe"/><file name="Layer.php" hash="9da16c44259b4a31d73f63d87787ff11"/><file name="Observer.php" hash="99b06cdb299cd09e4dfafc0f9ab2d541"/><file name="Processor.php" hash="dd87fcca325fc9bfb30e52f5a0c484fb"/><dir name="Export"><file name="Price.php" hash="5561605bf639385c211f339f0c752a0f"/><file name="Product.php" hash="9edb405e971054454be2bc434420595a"/><file name="Stock.php" hash="28e819f8f317957a70a7d4d318e04791"/></dir><dir name="Handler"><file name="Abstract.php" hash="f5724a1c82becbc4d76a6f46dc591977"/><file name="CheckStatus.php" hash="73bf9fec9e0e97a3261b8fad292b1f96"/><file name="ProductCampaign.php" hash="831d8d3ff2cd29e090cff10c3a9c8844"/><file name="ProductDetailCampaign.php" hash="25175d7b6809c9db30e1400f4f800739"/><file name="Recommendations.php" hash="47b12e1f2f1e1d83ecaba77fdb20b63b"/><file name="Search.php" hash="31a7e04564ca9c7973b99d389ba6e00b"/><file name="SecondarySearch.php" hash="de4ced818f7865a491438a4d103b431a"/><file name="ShoppingCartCampaign.php" hash="202fc9ab4018247dfb8e8bcefd417465"/><file name="Suggest.php" hash="3b286cbda3cad188b10f7fac06e0ca32"/><file name="TagCloud.php" hash="e60bd2a5d314cfe3bad445ba88740878"/><file name="Tracking.php" hash="0df6a928578b8376a36eaa9e47079a91"/><dir name="Tracking"><file name="Scic.php" hash="6342c6f0077fb242a8955b1160abec89"/></dir></dir><dir name="Layer"><file name="Abstract.php" hash="0a0505e719ca55320da35c7510b82d3a"/><dir name="Filter"><file name="Item.php" hash="d51a705d6690e06934b81f4ed12c6f3b"/><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="f4aba32bda99ba511686768342664774"/><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="7cd3f4ed651c206e7684b2c5b7c2e788"/><file name="Identifier.php" hash="cec45238f0e28a1bf66d10dee513c2ca"/><file name="Imagetype.php" hash="9f0fc4aaaf6343163a4a2e3b42aaa41c"/></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="suggest.js" hash="b45f28b377c73463527d9aa44e37589b"/><file name="tracking.js" hash="d0c9a7839c7066eec168950c37b0faf2"/></dir></dir></dir></target></contents>
|
24 |
<compatible/>
|
25 |
<dependencies/>
|
26 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Flagbit_Factfinder</name>
|
4 |
+
<version>3.5.4</version>
|
5 |
<stability>stable</stability>
|
6 |
+
<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>ADD: necessary information into the build.xml to make the package process work
|
12 |
+
ADD: it is possible to get the complete search adapter of the secondary search result.
|
13 |
+
CHG: made it possible to add ignore parameters from the module
|
14 |
+
CHG: renamed misspelled variable
|
15 |
+
CHG: as the "Category" name convention is not always complied, accept both notations
|
16 |
+
CHG: updated ff library to current version
|
17 |
+
CHG: implemented the legacy tracking for 6.9
|
18 |
+
FIX: selected filters are now viewed on navigation pages, except of current magento-selected categories closing #62
|
19 |
+
FIX: Prevent fatal errors in factfinder/search_collection closing #54
|
20 |
+
FIX: added names to the campaign blocks at the layout xml file
|
21 |
+
FIX: get caching working; however it won't work with php 5.2 or less!</notes>
|
22 |
<authors><author><name>Flagbit GmbH Co. KG</name><user>auto-converted</user><email>magento@flagbit.de</email></author></authors>
|
23 |
+
<date>2014-01-17</date>
|
24 |
+
<time>19:20:51</time>
|
25 |
+
<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="205773215ef818caa64d7450c02ea1e8"/></dir><dir name="template"><dir name="factfinder"><file name="form.advancedsuggest.phtml" hash="d51345fde3b0cbede02f4d2ac7d43af0"/><file name="form.advancedsuggest68.phtml" hash="40f1abe8fad017cc52442bd6a4a8ef35"/><file name="form.mini.phtml" hash="eb49c2fb57594e2ebeed1ffb01c2606d"/><file name="logo.phtml" hash="7a40d67bf648e65345f69b2cf9d3c6b6"/><file name="secondaryresult.phtml" hash="a4cdff409ccedb16d4fe9a038a4dd9e8"/><file name="tracking.phtml" hash="c7b2320cc4e8e4937d9df731397bdc60"/><dir name="campaign"><file name="advisory.phtml" hash="d0ef29b97aa4c3bdfa2b94596beb5b21"/><file name="feedback.phtml" hash="a00ad977b82b199630371aef060f25ab"/><dir name="cart"><file name="advisory.phtml" hash="bb994272a6daaaba298a38023f6db212"/><file name="feedback.phtml" hash="01fa6a9cd024a2a8edaea7013b00fc89"/></dir><dir name="product"><file name="advisory.phtml" hash="00c978cf9c129c777fecf4cbbbb9d218"/><file name="feedback.phtml" hash="1bb121e2708490793190ce9f2d6ee666"/></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="eacf94cdf077a77bece17ef67d09b829"/></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="e2aaefed8203667491262c6bf6f41f03"/><file name="AsnSliderFilter.php" hash="14fcd343b14d85b53d2908e04132bca4"/><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="Curl.php" hash="967c0b604dfdc045c9de70e9e9a44bea"/><file name="CurlHandle.php" hash="2c9dfeccd8256c16def2685e7498ae1c"/><file name="CurlInterface.php" hash="a57574dcd102ff54575cbc9131687854"/><file name="CurlStub.php" hash="01b5a07b0599ccd4b7e1b102cbdc3993"/><file name="EncodingHandler.php" hash="4f0b616bca9158bfb7eddcfcba192dc6"/><file name="Item.php" hash="b8bae7f7d296a5acca29dc3ce0c46642"/><file name="Loader.php" hash="c26cc57da777bfe7096fadbfeb6e1645"/><file name="Log4PhpLogger.php" hash="ecfb1f084b8d0bd2d51bf417fa0b0b3c"/><file name="NullLogger.php" hash="be8782000070665f0e9fcc011ae4fe77"/><file name="Paging.php" hash="4ca274beffac0c0a8cb5136b08fa8b24"/><file name="Parameters.php" hash="612c4a9b98cb8a17d0f2d30cf2641936"/><file name="ParametersParser.php" hash="9b55a42ea9195c2b40f9640ac3ba3b1a"/><file name="ProductsPerPageOptions.php" hash="1e69121e89109f31b0929706ea3dcabc"/><file name="Record.php" hash="46319caed19fbdeb5fc065ddd395b18f"/><file name="Result.php" hash="8f97f1509ee78d773aa2c5ace2830225"/><file name="SingleWordSearchItem.php" hash="8f0feac780e68a8b0eab6d44dd6c6813"/><file name="SuggestQuery.php" hash="847d637921e9bc46b9c1d3d8b03737af"/><file name="TagQuery.php" hash="ece1fda66af2c6053507941f35423c5f"/><file name="Util.php" hash="0a26a0d655c3f257b74302683a4859ba"/><dir name="Abstract"><file name="Adapter.php" hash="1c3acf21c0e5bb954973e22e52910906"/><file name="Configuration.php" hash="233565de45f56ba7bdcd604817dd7fc6"/><file name="DataProvider.php" hash="8b1dfc68d335aa006f7af9f2a60e519d"/><file name="Logger.php" hash="c5b1ace6158035e80b3d4a79a942a381"/></dir><dir name="Default"><file name="CompareAdapter.php" hash="8a8b027675e195b7be2bf5bf64666926"/><file name="ImportAdapter.php" hash="50c1a885dabcad55d4f7b6de00800701"/><file name="ProductCampaignAdapter.php" hash="049bfd0c3831114a2cd632af96aa0aaf"/><file name="RecommendationAdapter.php" hash="1858f0553c6deb21fb561cb454974a4e"/><file name="ScicAdapter.php" hash="8fd1c9e60cdb039ce4369af63d72a459"/><file name="SearchAdapter.php" hash="b0b1c7f8527e0e286b55028e305b7c86"/><file name="SimilarRecordsAdapter.php" hash="b498d3df0fc663c40fc362fd20134b43"/><file name="SuggestAdapter.php" hash="f74d7d5578131355f8e44e8b6e0734c7"/><file name="TagCloudAdapter.php" hash="c2ecc0d869d232ce4b8f09eb497e2b64"/><file name="TrackingAdapter.php" hash="9229b7d36802d1fb9584c7d6fa9ccd1e"/></dir><dir name="Http"><file name="DataProvider.php" hash="e0eb9dfa37502f71d6c76acf28d1a8c7"/><file name="DummyProvider.php" hash="fcf82a2349f5b403912b1cb62907439c"/><file name="LegacyTrackingAdapter.php" hash="5af8090c44db0d7a2f630b3afe21da3d"/><file name="ParallelDataProvider.php" hash="71f895680f881d06793507f7ac8e7ef3"/><file name="ScicAdapter.php" hash="c283d851d23e531a1c26fee3d8c49ea8"/><file name="StatusHelper.php" hash="e4760fadae33a5574f9445bbc73c1283"/><file name="SuggestAdapter.php" hash="875adeae854b52bb6a20322c2934423c"/><file name="TrackingAdapter.php" hash="9ce06d21ea64a7dd329ce12e28576488"/><file name="UrlBuilder.php" hash="99efad6cb8243ee93a5d4b61c93d8303"/></dir><dir name="Json66"><file name="CompareAdapter.php" hash="3034c100a97d222704b1462db0b97811"/><file name="ImportAdapter.php" hash="63b19c72cfcf52d9832a81080678232c"/><file name="RecommendationAdapter.php" hash="9f4fed83d6d6c10b471ef8f4810eefa5"/><file name="ScicAdapter.php" hash="f484fd9b7ed416f122bb71e75e544049"/><file name="SearchAdapter.php" hash="90f60bedc69a748e6e18d49c3243bc3d"/><file name="SimilarRecordsAdapter.php" hash="6f3565723be247381f561b60ed49d8da"/><file name="SuggestAdapter.php" hash="e06a19df2260abcd6ce46a8744ca58b0"/><file name="TagCloudAdapter.php" hash="0ef622889613de3660591ef41c08c65d"/></dir><dir name="Json67"><file name="CompareAdapter.php" hash="2324e34be1d48e42a1dafff4a6368863"/><file name="ImportAdapter.php" hash="295fa619d1a020f87e3d6772e428f4b3"/><file name="ProductCampaignAdapter.php" hash="c43222b1d277e2965e1209ff6375500c"/><file name="RecommendationAdapter.php" hash="db72e4179a831b331f53505a2ba9d01f"/><file name="ScicAdapter.php" hash="f76d589d684a68707b3ed86632d7742f"/><file name="SearchAdapter.php" hash="c69ac5f6fcfe47351ed3b601d03e18ad"/><file name="SimilarRecordsAdapter.php" hash="55f5553511f5fb965fa9b6abf5e9ba01"/><file name="SuggestAdapter.php" hash="ae47090fab5d202a22c8dbf9e604e2d1"/><file name="TagCloudAdapter.php" hash="1d7fdbd4ea8488d1bdfd0a4143a1a130"/></dir><dir name="Json68"><file name="CompareAdapter.php" hash="f3c610d6347a6671f5ee1bf716801ae2"/><file name="ImportAdapter.php" hash="c7ec5f12e1f7f17084de9d71c4d4051d"/><file name="ProductCampaignAdapter.php" hash="1ffc9f568d7ee73722765f16fdf45b07"/><file name="RecommendationAdapter.php" hash="b5082f0db80730bb866ac332d143f4a8"/><file name="ScicAdapter.php" hash="33da9351e28946900e620b011f1891bb"/><file name="SearchAdapter.php" hash="5814eb254324b96b10a35411bea6bc6c"/><file name="SimilarRecordsAdapter.php" hash="51412237e3233ccc3bfc124e3e9abee6"/><file name="SuggestAdapter.php" hash="9bfbd6a282aba70e3b1f2e1f632c113f"/><file name="TagCloudAdapter.php" hash="b632b03f8e044ebdd3a4f318c8e50c3a"/></dir><dir name="Json69"><file name="CompareAdapter.php" hash="e0ab8d442b26ca492d3986a32ea7a7a4"/><file name="ImportAdapter.php" hash="e969905c5ef9a2577eb80df12f5350c5"/><file name="ProductCampaignAdapter.php" hash="1ab5cb62aafe5f67c1f77461b89fe24d"/><file name="RecommendationAdapter.php" hash="0036cea44c296a3f9c8ac5c7458afb83"/><file name="ScicAdapter.php" hash="3e37ab5db7240aad6a7f2c3a971014c4"/><file name="SearchAdapter.php" hash="bc5b9f9404017d003fb27d21b2837609"/><file name="SimilarRecordsAdapter.php" hash="aee8d4212c9e3f1b62035be5307c73f1"/><file name="SuggestAdapter.php" hash="fce98d2451db47e4608e6f252f3759ff"/><file name="TagCloudAdapter.php" hash="e1b77df045382804e6ddfe2a05180469"/></dir><dir name="Xml64"><file name="SearchAdapter.php" hash="58a49882c741216cf278c4556ea7d224"/></dir><dir name="Xml65"><file name="ImportAdapter.php" hash="3e24dbe7875252ebc0ddb3e932da3d4a"/><file name="RecommendationAdapter.php" hash="dda97f6db1ae97c5a217632067d7c101"/><file name="ScicAdapter.php" hash="23b169cdb295245a52b96234e10627fa"/><file name="SearchAdapter.php" hash="0afda4c378e041c882739a0035382125"/><file name="SuggestAdapter.php" hash="e5381502b74dd62be1a7aa833cbb03e2"/><file name="TagCloudAdapter.php" hash="3bca14558fbd758207e97566dafb1ca2"/></dir><dir name="Xml66"><file name="CompareAdapter.php" hash="a1e323dec8fbee2930d531765adef0cc"/><file name="ImportAdapter.php" hash="5ea0d06cc2ddc7a1b7c880203c38fe40"/><file name="RecommendationAdapter.php" hash="9490ea2b17fded94d087046065596b1b"/><file name="ScicAdapter.php" hash="3d1fbfeb016b5cbca426835da7abe472"/><file name="SearchAdapter.php" hash="aba7b0e052a28c93bad70786706e2475"/><file name="SimilarRecordsAdapter.php" hash="f6c70898407d65c5b315a9ec5ebba166"/><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="794020c94d6d62c3d835f167c484f674"/><file name="RecommendationAdapter.php" hash="b991b5e2570c28530164b3cacfffa6e1"/><file name="ScicAdapter.php" hash="62b5573da44cae7fc7db15c5a4eaebb5"/><file name="SearchAdapter.php" hash="1458660092403f1c1f3c088c40b54550"/><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="ScicAdapter.php" hash="820e46185da76067d6fd28824aca47e1"/><file name="SearchAdapter.php" hash="5f33b2af574a27ce54da2fd200e54bf8"/><file name="SimilarRecordsAdapter.php" hash="b9c70b5c7d6d803bb1c7f1255be55285"/><file name="SuggestAdapter.php" hash="5cf5b95340983823c9e7a3fd0dc20a0b"/><file name="TagCloudAdapter.php" hash="3bfa1e877269be17ee08c403254925bf"/></dir><dir name="Xml69"><file name="CompareAdapter.php" hash="7fb11570f8ff0d4375808e2848b9a4e5"/><file name="ImportAdapter.php" hash="38ca51ae3571aa19df0552592c3ca7a1"/><file name="ProductCampaignAdapter.php" hash="b8387c660a11be69d4a549226fe398a9"/><file name="RecommendationAdapter.php" hash="2dcb3dd6cf309a5f0c2ae43fb203b26b"/><file name="ScicAdapter.php" hash="6c20f0e9fbfaf3429723dd664cb465ef"/><file name="SearchAdapter.php" hash="d40a1e847d228fa5018c47b43eb26d57"/><file name="SimilarRecordsAdapter.php" hash="ba87aaa6a786094720941117c976899d"/><file name="SuggestAdapter.php" hash="b0c54b42c01101adda15e3634b896e56"/><file name="TagCloudAdapter.php" hash="9529b709e9f1d897776d33fea96bb4df"/><file name="TrackingAdapter.php" hash="5fab2bf699274380c07988cdad48913a"/></dir></dir><dir name="FACTFinderCustom"><file name="Configuration.php" hash="8afbd5bb2669f4f34a7d577437d0e69c"/></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="8cc0245865ee5760fbfe7442cf859ade"/><file name="Secondaryresult.php" hash="41ee25e0adeb033ca6e5eef2d50c0f90"/><file name="TagCloud.php" hash="6e3769771ef5a1b50fc1d9a963e90aad"/><file name="Tracking.php" hash="7ce879afb562e5a0e96132fa31ebe98d"/><dir name="Adminhtml"><file name="Cockpit.php" hash="e12c45f55d5fd31d164187bd9d16a0bd"/><file name="Exportlink.php" hash="6aa91d07c5e0094c89b2494bac9d1ed3"/><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="14791cddb1fd131f7f78928e7877fc48"/><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="2651771f335616765f26a611486b9e25"/></dir></dir><dir name="XmlConnect"><dir name="Catalog"><file name="Search.php" hash="a5719137254795a4e9053bd801bc1f39"/><dir name="Product"><file name="List.php" hash="5c6ddfd680c0bcf597d07f02de69c4a7"/></dir><dir name="Search"><file name="Suggest.php" hash="a0fed06b80840e63f9983909847d7e58"/></dir></dir></dir></dir><dir name="controllers"><file name="ExportController.php" hash="1a0ab571e3cc525b043c39c8d71c0e18"/><file name="ProxyController.php" hash="1fc770e60199e28aedabba1578f569cd"/><dir name="Adminhtml"><dir name="Factfinder"><file name="CockpitController.php" hash="4c8665feaf14c38e6ba2384db496c95a"/></dir></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="1165a0fecfaa31f2aa4a882d1d8bc033"/><file name="config.xml" hash="b34ed09ca9e8817fd01beba3d0e4d9c7"/><file name="system.xml" hash="4e232a8d8e9ba653ba658b510470a20d"/></dir><dir name="Helper"><file name="Backend.php" hash="87b662c7c7242ef349f4606ad2ab5279"/><file name="Data.php" hash="d567225cfe69304e975c18b25123a58f"/><file name="Debug.php" hash="24b939b03efb2cd5f7815562f896576f"/><file name="Search.php" hash="0ec62f809330706c441c60ad96970880"/></dir><dir name="Model"><file name="Facade.php" hash="cfd1c9a0d8660457aa9455c42367f75c"/><file name="Layer.php" hash="9da16c44259b4a31d73f63d87787ff11"/><file name="Observer.php" hash="99b06cdb299cd09e4dfafc0f9ab2d541"/><file name="Processor.php" hash="dd87fcca325fc9bfb30e52f5a0c484fb"/><dir name="Export"><file name="Price.php" hash="5561605bf639385c211f339f0c752a0f"/><file name="Product.php" hash="929ffca44ce0cba1b9ab8a2c3027a665"/><file name="Stock.php" hash="28e819f8f317957a70a7d4d318e04791"/></dir><dir name="Handler"><file name="Abstract.php" hash="f5724a1c82becbc4d76a6f46dc591977"/><file name="CheckStatus.php" hash="73bf9fec9e0e97a3261b8fad292b1f96"/><file name="ProductCampaign.php" hash="831d8d3ff2cd29e090cff10c3a9c8844"/><file name="ProductDetailCampaign.php" hash="25175d7b6809c9db30e1400f4f800739"/><file name="Recommendations.php" hash="47b12e1f2f1e1d83ecaba77fdb20b63b"/><file name="Search.php" hash="cb749d336fd6e2a1dea373ff1a286d94"/><file name="SecondarySearch.php" hash="68395df0f8f61c0776a36b5079ebd720"/><file name="ShoppingCartCampaign.php" hash="202fc9ab4018247dfb8e8bcefd417465"/><file name="Suggest.php" hash="3b286cbda3cad188b10f7fac06e0ca32"/><file name="TagCloud.php" hash="e60bd2a5d314cfe3bad445ba88740878"/><file name="Tracking.php" hash="5aefdfa31865227c1a953c0f1447ab0b"/><dir name="Tracking"><file name="Scic.php" hash="2e34f18eac2125c2017970fcfca22730"/></dir></dir><dir name="Layer"><file name="Abstract.php" hash="0a0505e719ca55320da35c7510b82d3a"/><dir name="Filter"><file name="Item.php" hash="d51a705d6690e06934b81f4ed12c6f3b"/><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="efe031e2f8701d1fa4f0059238144aad"/><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="7cd3f4ed651c206e7684b2c5b7c2e788"/><file name="Identifier.php" hash="cec45238f0e28a1bf66d10dee513c2ca"/><file name="Imagetype.php" hash="9f0fc4aaaf6343163a4a2e3b42aaa41c"/></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="suggest.js" hash="b45f28b377c73463527d9aa44e37589b"/><file name="tracking.js" hash="d0c9a7839c7066eec168950c37b0faf2"/></dir></dir></dir></target></contents>
|
26 |
<compatible/>
|
27 |
<dependencies/>
|
28 |
</package>
|