Simtech_Searchanise - Version 1.1.8

Version Notes

Searchanise extension for Magento v. 1.1.8 introduces Magento 1.8 support, important fixes and improverments.



Changelog:



[+] Magento 1.8 support added.

[!] Subnitted sorting attributes could be wrong. Fixed.

[!] The default sorting is relevenace-based.

[!] Usergroup-based prices could be wrong. Fixed.

[*] Internal attribute-based filtering disabled (could be buggy).

[!] The 'created_at' and 'updated_at' attributes are now submitted in a product feed.

[+] If tags were disabled, the initial sync could crash. Fix.

[~] Cron debug info is now stored to a log file.

Download this release

Release Info

Developer Simbirsk Technologies, Ltd.
Extension Simtech_Searchanise
Version 1.1.8
Comparing to
See all releases


Code changes from version 1.1.7 to 1.1.8

Files changed (21) hide show
  1. app/code/community/Simtech/Searchanise/Helper/ApiSe.php +1 -1
  2. app/code/community/Simtech/Searchanise/Helper/ApiXML.php +62 -48
  3. app/code/community/Simtech/Searchanise/Helper/Data.php +11 -19
  4. app/code/community/Simtech/Searchanise/Model/LayerCatalogSearch.php +1 -1
  5. app/code/community/Simtech/Searchanise/Model/Mysql4/Product/CollectionTag.php +3 -3
  6. app/code/community/Simtech/Searchanise/Model/Observer.php +2 -2
  7. app/code/community/Simtech/Searchanise/Model/Resource/Advanced/Collection.php +1 -1
  8. app/code/community/Simtech/Searchanise/Model/Resource/Eav/Mysql4/Layer/Filter/Attribute.php +24 -2
  9. app/code/community/Simtech/Searchanise/Model/Resource/Eav/Mysql4/Layer/Filter/Price.php +1 -1
  10. app/code/community/Simtech/Searchanise/Model/Resource/Fulltext/Collection.php +1 -1
  11. app/code/community/Simtech/Searchanise/Model/Resource/Layer/Filter/Attribute.php +25 -3
  12. app/code/community/Simtech/Searchanise/Model/Resource/Layer/Filter/Price.php +2 -2
  13. app/code/community/Simtech/Searchanise/Model/Resource/Product/Collection.php +1 -1
  14. app/code/community/Simtech/Searchanise/Model/Resource/Product/CollectionTag.php +1 -1
  15. app/code/community/Simtech/Searchanise/Model/Resource/Store.php +1 -1
  16. app/code/community/Simtech/Searchanise/Model/Searchanise.php +1 -1
  17. app/code/community/Simtech/Searchanise/controllers/InfoController.php +10 -2
  18. app/code/community/Simtech/Searchanise/etc/config.xml +11 -11
  19. app/code/community/Simtech/Searchanise/etc/config_without_search.xml +11 -11
  20. app/code/community/Simtech/Searchanise/etc/system.xml +1 -1
  21. package.xml +16 -6
app/code/community/Simtech/Searchanise/Helper/ApiSe.php CHANGED
@@ -753,7 +753,7 @@ class Simtech_Searchanise_Helper_ApiSe
753
  $priceTo = $numberRange * $step;
754
  }
755
  } else {
756
- // [v1.7]
757
  $arrPrice = explode('-', $dataPrice);
758
  if (is_array($arrPrice) && (count($arrPrice) >= 2)) {
759
  $priceFrom = (int) reset($arrPrice);
753
  $priceTo = $numberRange * $step;
754
  }
755
  } else {
756
+ // [v1.7] [v1.8]
757
  $arrPrice = explode('-', $dataPrice);
758
  if (is_array($arrPrice) && (count($arrPrice) >= 2)) {
759
  $priceFrom = (int) reset($arrPrice);
app/code/community/Simtech/Searchanise/Helper/ApiXML.php CHANGED
@@ -31,6 +31,8 @@ class Simtech_Searchanise_Helper_ApiXML extends Mage_Core_Helper_Data
31
  const WEIGHT_TEXT_AREA_ATTRIBUTES = 40;
32
  // </if_isSearchable>
33
 
 
 
34
  public static function getStockItem($product, $store = null)
35
  {
36
  $stockItem = null;
@@ -45,21 +47,40 @@ class Simtech_Searchanise_Helper_ApiXML extends Mage_Core_Helper_Data
45
 
46
  public static function getTagCollection($product, $store = null)
47
  {
48
- $tagCollection = Mage::getModel('tag/tag')
49
- ->getResourceCollection()
50
- ->setFlag('relation', true)
51
- ->setActiveFilter();
 
52
 
53
- if (!empty($store)) {
54
- $tagCollection->addStoreFilter($store->getId(), true);
 
 
55
  }
 
 
 
 
 
 
 
 
 
 
 
 
56
 
57
- return $tagCollection
58
- ->addPopularity()
59
- ->addStatusFilter(Mage::getModel('tag/tag')->getApprovedStatus())
60
- ->addStoresVisibility()
61
- ->addProductFilter($product->getId())
62
- ->load();
 
 
 
 
63
  }
64
 
65
  /**
@@ -242,6 +263,10 @@ class Simtech_Searchanise_Helper_ApiXML extends Mage_Core_Helper_Data
242
  {
243
  $minimalPrice = '';
244
 
 
 
 
 
245
  if ($groupPrice == null) {
246
  $minimalPrice = $product->getFinalPrice();
247
  } else {
@@ -256,11 +281,11 @@ class Simtech_Searchanise_Helper_ApiXML extends Mage_Core_Helper_Data
256
  if (version_compare(Mage::getVersion(), '1.6', '<')) {
257
  $minimalPrice = $_priceModel->getPrices($product, 'min');
258
  // [/1.5]
259
- // [1.6] [1.7]
260
  } else {
261
  $minimalPrice = $_priceModel->getTotalPrices($product, 'min', null, false);
262
  }
263
- // [/1.6] [/1.7]
264
  $minimalPrice = self::getProductShowPrice($product, $minimalPrice);
265
  }
266
 
@@ -335,47 +360,25 @@ class Simtech_Searchanise_Helper_ApiXML extends Mage_Core_Helper_Data
335
 
336
  // <prices>
337
  {
338
- $defaultPrice = self::getProductMinimalPrice($product, $store, true);
339
- if ($defaultPrice != '') {
340
- $defaultPrice = round($defaultPrice, Mage::helper('searchanise/ApiSe')->getFloatPrecision());
341
- }
342
-
343
  $customerGroups = Mage::getModel('customer/group')->getCollection()->load();
344
- // It is need for check run function getProductMinimalPrice for each customerGroup
345
- $_groupPrices = $product->getData('group_price');
346
 
347
- foreach ($customerGroups as $keCustomerGroup => $customerGroup) {
 
 
348
  $customerGroupId = $customerGroup->getId();
349
- $currentGroupPrice = null;
350
- $price = $defaultPrice;
351
-
352
- if ($_groupPrices) {
353
- foreach ($_groupPrices as $keyGroupPrice => $groupPrice) {
354
- if ($groupPrice['cust_group'] == $customerGroupId) {
355
- $currentGroupPrice = $groupPrice['price'];
356
- unset($_groupPrices[$keyGroupPrice]);
357
 
358
- break;
359
- }
360
- }
361
- }
362
-
363
- // if CONFIGURABLE OR GROUPED OR BUNDLE - need because child product can have groupPrices
364
- if (($product->getData('type_id') == Mage_Catalog_Model_Product_Type::TYPE_BUNDLE) ||
365
- ($product->isSuper()) ||
366
- ($currentGroupPrice != null)) {
367
- $price = self::getProductMinimalPrice($product, $store, true, $customerGroupId, $currentGroupPrice);
368
- if ($price != '') {
369
- $price = round($price, Mage::helper('searchanise/ApiSe')->getFloatPrecision());
370
- }
371
  }
372
 
373
- if ($customerGroup->getId() == Mage_Customer_Model_Group::NOT_LOGGED_IN_ID) {
374
  $entry .= '<cs:price>' . $price . '</cs:price>'. self::XML_END_LINE;
375
  $defaultPrice = $price; // default price get for not logged user
376
  }
377
  $label_ = Mage::helper('searchanise/ApiSe')->getLabelForPricesUsergroup() . $customerGroup->getId();
378
  $entry .= '<cs:attribute name="' . $label_ . '" type="float">' . $price . '</cs:attribute>' . self::XML_END_LINE;
 
379
  }
380
  }
381
  // </prices>
@@ -496,6 +499,19 @@ class Simtech_Searchanise_Helper_ApiXML extends Mage_Core_Helper_Data
496
  $entry .= '</cs:attribute>' . self::XML_END_LINE;
497
  // </meta_information>
498
 
 
 
 
 
 
 
 
 
 
 
 
 
 
499
  // <unused attributes>
500
  // <system_attributes>
501
  } elseif ($attributeCode == 'status') {
@@ -504,8 +520,6 @@ class Simtech_Searchanise_Helper_ApiXML extends Mage_Core_Helper_Data
504
  } elseif ($attributeCode == 'required_options') {
505
  } elseif ($attributeCode == 'custom_layout_update') {
506
  } elseif ($attributeCode == 'tier_price') { // quantity discount
507
- } elseif ($attributeCode == 'created_at') { // date
508
- } elseif ($attributeCode == 'updated_at') { // date
509
  } elseif ($attributeCode == 'image_label') {
510
  } elseif ($attributeCode == 'small_image_label') {
511
  } elseif ($attributeCode == 'thumbnail_label') {
@@ -650,9 +664,9 @@ class Simtech_Searchanise_Helper_ApiXML extends Mage_Core_Helper_Data
650
 
651
  $tags = self::getTagCollection($product, $store);
652
 
653
- if ($tags) {
654
  foreach ($tags as $tag) {
655
- if ($tag != '') {
656
  $strTagIds .= '<value><![CDATA[' . $tag->getId() . ']]></value>';
657
  $strTagNames .= '<value><![CDATA[' . $tag->getName() . ']]></value>';
658
  }
31
  const WEIGHT_TEXT_AREA_ATTRIBUTES = 40;
32
  // </if_isSearchable>
33
 
34
+ protected static $flWithoutTags = false;
35
+
36
  public static function getStockItem($product, $store = null)
37
  {
38
  $stockItem = null;
47
 
48
  public static function getTagCollection($product, $store = null)
49
  {
50
+ $tagCollection = null;
51
+
52
+ if (self::$flWithoutTags) {
53
+ return $tagCollection;
54
+ }
55
 
56
+ $tagModel = Mage::getModel('tag/tag');
57
+
58
+ if ($tagModel) {
59
+ $tagCollection = $tagModel->getResourceCollection();
60
  }
61
+ // Check if tags don't work correctly.
62
+ if (!$tagCollection) {
63
+ self::$flWithoutTags = true;
64
+
65
+ } else {
66
+ $tagCollection = $tagCollection
67
+ ->setFlag('relation', true)
68
+ ->setActiveFilter();
69
+
70
+ if (!empty($store)) {
71
+ $tagCollection->addStoreFilter($store->getId(), true);
72
+ }
73
 
74
+ $tagCollection = $tagCollection
75
+ ->addPopularity()
76
+ ->addStatusFilter(Mage::getModel('tag/tag')->getApprovedStatus())
77
+ ->addStoresVisibility()
78
+ ->addProductFilter($product->getId())
79
+ ->load();
80
+ }
81
+
82
+
83
+ return $tagCollection;
84
  }
85
 
86
  /**
263
  {
264
  $minimalPrice = '';
265
 
266
+ if ($customerGroupId != null) {
267
+ $product->setCustomerGroupId($customerGroupId);
268
+ }
269
+
270
  if ($groupPrice == null) {
271
  $minimalPrice = $product->getFinalPrice();
272
  } else {
281
  if (version_compare(Mage::getVersion(), '1.6', '<')) {
282
  $minimalPrice = $_priceModel->getPrices($product, 'min');
283
  // [/1.5]
284
+ // [v1.6] [v1.7] [v1.8]
285
  } else {
286
  $minimalPrice = $_priceModel->getTotalPrices($product, 'min', null, false);
287
  }
288
+ // [/v1.6] [/v1.7] [/v1.8]
289
  $minimalPrice = self::getProductShowPrice($product, $minimalPrice);
290
  }
291
 
360
 
361
  // <prices>
362
  {
 
 
 
 
 
363
  $customerGroups = Mage::getModel('customer/group')->getCollection()->load();
 
 
364
 
365
+ foreach ($customerGroups as $keyCustomerGroup => $customerGroup) {
366
+ // It is needed because the 'setCustomerGroupId' function works only once.
367
+ $productCurrentGroup = clone $product;
368
  $customerGroupId = $customerGroup->getId();
 
 
 
 
 
 
 
 
369
 
370
+ $price = self::getProductMinimalPrice($productCurrentGroup, $store, true, $customerGroupId);
371
+ if ($price != '') {
372
+ $price = round($price, Mage::helper('searchanise/ApiSe')->getFloatPrecision());
 
 
 
 
 
 
 
 
 
 
373
  }
374
 
375
+ if ($customerGroupId == Mage_Customer_Model_Group::NOT_LOGGED_IN_ID) {
376
  $entry .= '<cs:price>' . $price . '</cs:price>'. self::XML_END_LINE;
377
  $defaultPrice = $price; // default price get for not logged user
378
  }
379
  $label_ = Mage::helper('searchanise/ApiSe')->getLabelForPricesUsergroup() . $customerGroup->getId();
380
  $entry .= '<cs:attribute name="' . $label_ . '" type="float">' . $price . '</cs:attribute>' . self::XML_END_LINE;
381
+ unset($productCurrentGroup);
382
  }
383
  }
384
  // </prices>
499
  $entry .= '</cs:attribute>' . self::XML_END_LINE;
500
  // </meta_information>
501
 
502
+ // <dates>
503
+ // It can be used for sort.
504
+ } elseif ($attributeCode == 'created_at' || $attributeCode == 'updated_at') {
505
+ // Fixme in the future
506
+ // may add check for used_for_sort_by
507
+ $dateTimestamp = Mage::getModel('core/date')->timestamp(strtotime($value));
508
+ $entry .= '<cs:attribute name="' . $attributeName .'" type="int" text_search="N">';
509
+ $entry .= $dateTimestamp;
510
+ $entry .= '</cs:attribute>' . self::XML_END_LINE;
511
+ // Fixme in the future
512
+ // Need add other date attributes ('look for' by type)
513
+ // </dates>
514
+
515
  // <unused attributes>
516
  // <system_attributes>
517
  } elseif ($attributeCode == 'status') {
520
  } elseif ($attributeCode == 'required_options') {
521
  } elseif ($attributeCode == 'custom_layout_update') {
522
  } elseif ($attributeCode == 'tier_price') { // quantity discount
 
 
523
  } elseif ($attributeCode == 'image_label') {
524
  } elseif ($attributeCode == 'small_image_label') {
525
  } elseif ($attributeCode == 'thumbnail_label') {
664
 
665
  $tags = self::getTagCollection($product, $store);
666
 
667
+ if ($tags && count($tags) > 0) {
668
  foreach ($tags as $tag) {
669
+ if ($tag) {
670
  $strTagIds .= '<value><![CDATA[' . $tag->getId() . ']]></value>';
671
  $strTagNames .= '<value><![CDATA[' . $tag->getName() . ']]></value>';
672
  }
app/code/community/Simtech/Searchanise/Helper/Data.php CHANGED
@@ -262,12 +262,15 @@ class Simtech_Searchanise_Helper_Data extends Mage_Core_Helper_Abstract
262
  if ($type == self::TEXT_FIND) {
263
  unset($availableOrders['position']);
264
 
265
- $availableOrders = array_merge(
266
- array('relevance' => $controller->__('Relevance')),
267
- $availableOrders
268
- );
 
 
269
 
270
  $blockToolbar->setAvailableOrders($availableOrders);
 
271
  } elseif ($type == self::TEXT_ADVANCED_FIND) {
272
  unset($availableOrders['position']);
273
  $blockToolbar->setAvailableOrders($availableOrders);
@@ -311,7 +314,10 @@ class Simtech_Searchanise_Helper_Data extends Mage_Core_Helper_Abstract
311
  $params['sortOrder'] = $sortOrder;
312
  }
313
  }
314
-
 
 
 
315
  //ADD FACETS
316
  $arrAttributes = array();
317
  $arrInputType = array(); // need for save type $arrAttributes
@@ -428,20 +434,6 @@ class Simtech_Searchanise_Helper_Data extends Mage_Core_Helper_Abstract
428
  }
429
  }
430
 
431
- // need for other sort_by
432
- if (!empty($arrAttributes)) {
433
- if ($params['sortBy'] == 'price') {
434
- // nothing
435
- // defined in the '<cs:price>' field
436
-
437
- } else {
438
- $id = array_search($params['sortBy'], $arrAttributes);
439
- if (!empty($id)) {
440
- $params['sortBy'] = 'attribute_' . $id;
441
- }
442
- }
443
- }
444
-
445
  if (!Mage::helper('searchanise/ApiSe')->getUseNavigation()) {
446
  if (empty($params['queryBy']) && (!isset($params['q']) || $params['q'] == '')) {
447
  return;
262
  if ($type == self::TEXT_FIND) {
263
  unset($availableOrders['position']);
264
 
265
+ if (!isset($availableOrders['relevance'])) {
266
+ $availableOrders = array_merge(
267
+ array('relevance' => $controller->__('Relevance')),
268
+ $availableOrders
269
+ );
270
+ }
271
 
272
  $blockToolbar->setAvailableOrders($availableOrders);
273
+ $blockToolbar->setDefaultOrder('relevance');
274
  } elseif ($type == self::TEXT_ADVANCED_FIND) {
275
  unset($availableOrders['position']);
276
  $blockToolbar->setAvailableOrders($availableOrders);
314
  $params['sortOrder'] = $sortOrder;
315
  }
316
  }
317
+ // Fixme in the future
318
+ // Need add check the 'sort By' parameter on the existence of Server.
319
+ // $params['sortBy']
320
+
321
  //ADD FACETS
322
  $arrAttributes = array();
323
  $arrInputType = array(); // need for save type $arrAttributes
434
  }
435
  }
436
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
437
  if (!Mage::helper('searchanise/ApiSe')->getUseNavigation()) {
438
  if (empty($params['queryBy']) && (!isset($params['q']) || $params['q'] == '')) {
439
  return;
app/code/community/Simtech/Searchanise/Model/LayerCatalogSearch.php CHANGED
@@ -17,7 +17,7 @@ class Simtech_Searchanise_Model_LayerCatalogSearch extends Mage_CatalogSearch_Mo
17
  /**
18
  * Prepare product collection
19
  *
20
- * @param Mage_Catalog_Model_Resource_Product_Collection [1.6] [1.7], Mage_Catalog_Model_Mysql4_Product_Collection [1.5] $collection
21
  * @return Mage_Catalog_Model_Layer
22
  */
23
  public function prepareProductCollection($collection)
17
  /**
18
  * Prepare product collection
19
  *
20
+ * @param Mage_Catalog_Model_Resource_Product_Collection [v1.6] [v1.7] [v1.8], Mage_Catalog_Model_Mysql4_Product_Collection [v1.5] $collection
21
  * @return Mage_Catalog_Model_Layer
22
  */
23
  public function prepareProductCollection($collection)
app/code/community/Simtech/Searchanise/Model/Mysql4/Product/CollectionTag.php CHANGED
@@ -18,7 +18,7 @@ class Simtech_Searchanise_Model_Mysql4_Product_CollectionTag extends Mage_Tag_Mo
18
  /**
19
  * Product Collection
20
  *
21
- * @var Mage_Catalog_Model_Resource_Collection [v1.6] [v1.7], Mage_Catalog_Model_Mysql4_Collection [v1.5]
22
  */
23
  protected $_searchaniseCollection = null;
24
 
@@ -63,7 +63,7 @@ class Simtech_Searchanise_Model_Mysql4_Product_CollectionTag extends Mage_Tag_Mo
63
  *
64
  * @param string $attribute
65
  * @param string $dir
66
- * @return Mage_Catalog_Model_Resource_Collection [v1.6] [v1.7], Mage_Catalog_Model_Mysql4_Collection [v1.5]
67
  */
68
  public function setOrder($attribute, $dir = 'desc')
69
  {
@@ -75,7 +75,7 @@ class Simtech_Searchanise_Model_Mysql4_Product_CollectionTag extends Mage_Tag_Mo
75
  *
76
  * @param string $attribute
77
  * @param string $dir
78
- * @return Mage_Catalog_Model_Resource_Collection [v1.6] [v1.7], Mage_Catalog_Model_Mysql4_Collection [v1.5]
79
  */
80
  public function setOrderParent($attribute, $dir = 'desc')
81
  {
18
  /**
19
  * Product Collection
20
  *
21
+ * @var Mage_Catalog_Model_Resource_Collection [v1.6] [v1.7] [v1.8], Mage_Catalog_Model_Mysql4_Collection [v1.5]
22
  */
23
  protected $_searchaniseCollection = null;
24
 
63
  *
64
  * @param string $attribute
65
  * @param string $dir
66
+ * @return Mage_Catalog_Model_Resource_Collection [v1.6] [v1.7] [v1.8], Mage_Catalog_Model_Mysql4_Collection [v1.5]
67
  */
68
  public function setOrder($attribute, $dir = 'desc')
69
  {
75
  *
76
  * @param string $attribute
77
  * @param string $dir
78
+ * @return Mage_Catalog_Model_Resource_Collection [v1.6] [v1.7] [v1.8], Mage_Catalog_Model_Mysql4_Collection [v1.5]
79
  */
80
  public function setOrderParent($attribute, $dir = 'desc')
81
  {
app/code/community/Simtech/Searchanise/Model/Observer.php CHANGED
@@ -35,8 +35,8 @@ class Simtech_Searchanise_Model_Observer
35
  if ($cronAsyncEnabled) {
36
  Mage::helper('searchanise/ApiSe')->log('cron is enabled', 'information');
37
  $result = Mage::helper('searchanise/ApiSe')->async();
38
- echo $result;
39
-
40
  } else {
41
  Mage::helper('searchanise/ApiSe')->log('cron is not enabled', 'information');
42
  }
35
  if ($cronAsyncEnabled) {
36
  Mage::helper('searchanise/ApiSe')->log('cron is enabled', 'information');
37
  $result = Mage::helper('searchanise/ApiSe')->async();
38
+ Mage::helper('searchanise/ApiSe')->log($result, 'information');
39
+
40
  } else {
41
  Mage::helper('searchanise/ApiSe')->log('cron is not enabled', 'information');
42
  }
app/code/community/Simtech/Searchanise/Model/Resource/Advanced/Collection.php CHANGED
@@ -12,7 +12,7 @@
12
  * "copyright.txt" FILE PROVIDED WITH THIS DISTRIBUTION PACKAGE. *
13
  ****************************************************************************/
14
 
15
- // [v1.6] [v1.7]
16
  class Simtech_Searchanise_Model_Resource_Advanced_Collection extends Mage_CatalogSearch_Model_Resource_Advanced_Collection
17
  {
18
  /**
12
  * "copyright.txt" FILE PROVIDED WITH THIS DISTRIBUTION PACKAGE. *
13
  ****************************************************************************/
14
 
15
+ // [v1.6] [v1.7] [v1.8]
16
  class Simtech_Searchanise_Model_Resource_Advanced_Collection extends Mage_CatalogSearch_Model_Resource_Advanced_Collection
17
  {
18
  /**
app/code/community/Simtech/Searchanise/Model/Resource/Eav/Mysql4/Layer/Filter/Attribute.php CHANGED
@@ -29,8 +29,7 @@ class Simtech_Searchanise_Model_Resource_Eav_Mysql4_Layer_Filter_Attribute exten
29
 
30
  $collection = $filter->getLayer()->getProductCollection();
31
 
32
- if ((!method_exists($collection, 'checkSearchaniseResult')) || (!$collection->checkSearchaniseResult()))
33
- {
34
  return parent::getCount($filter);
35
  }
36
 
@@ -38,4 +37,27 @@ class Simtech_Searchanise_Model_Resource_Eav_Mysql4_Layer_Filter_Attribute exten
38
  ->getSearchaniseRequest()
39
  ->getCountAttribute($filter);
40
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
41
  }
29
 
30
  $collection = $filter->getLayer()->getProductCollection();
31
 
32
+ if ((!method_exists($collection, 'checkSearchaniseResult')) || (!$collection->checkSearchaniseResult())) {
 
33
  return parent::getCount($filter);
34
  }
35
 
37
  ->getSearchaniseRequest()
38
  ->getCountAttribute($filter);
39
  }
40
+
41
+ /**
42
+ * Apply attribute filter to product collection
43
+ *
44
+ * @param Mage_Catalog_Model_Layer_Filter_Attribute $filter
45
+ * @param int $value
46
+ * @return Mage_Catalog_Model_Resource_Eav_Mysql4_Layer_Filter_Attribute
47
+ */
48
+ public function applyFilterToCollection($filter, $value)
49
+ {
50
+ if (!Mage::helper('searchanise/ApiSe')->checkSearchaniseResult(true)) {
51
+ return parent::applyFilterToCollection($filter, $value);
52
+ }
53
+
54
+ $collection = $filter->getLayer()->getProductCollection();
55
+
56
+ if ((!method_exists($collection, 'checkSearchaniseResult')) || (!$collection->checkSearchaniseResult())) {
57
+ return parent::applyFilterToCollection($filter, $value);
58
+ }
59
+ // Disable internal attribute filter.
60
+
61
+ return $this;
62
+ }
63
  }
app/code/community/Simtech/Searchanise/Model/Resource/Eav/Mysql4/Layer/Filter/Price.php CHANGED
@@ -51,7 +51,7 @@ class Simtech_Searchanise_Model_Resource_Eav_Mysql4_Layer_Filter_Price extends M
51
  if ((!method_exists($collection, 'checkSearchaniseResult')) || (!$collection->checkSearchaniseResult())) {
52
  return parent::applyFilterToCollection($filter, $range, $index);
53
  }
54
- // disable internal price filter
55
 
56
  return $this;
57
  }
51
  if ((!method_exists($collection, 'checkSearchaniseResult')) || (!$collection->checkSearchaniseResult())) {
52
  return parent::applyFilterToCollection($filter, $range, $index);
53
  }
54
+ // Disable internal price filter.
55
 
56
  return $this;
57
  }
app/code/community/Simtech/Searchanise/Model/Resource/Fulltext/Collection.php CHANGED
@@ -12,7 +12,7 @@
12
  * "copyright.txt" FILE PROVIDED WITH THIS DISTRIBUTION PACKAGE. *
13
  ****************************************************************************/
14
 
15
- // [v1.6] [v1.7]
16
  class Simtech_Searchanise_Model_Resource_Fulltext_Collection extends Mage_CatalogSearch_Model_Resource_Fulltext_Collection
17
  {
18
  /**
12
  * "copyright.txt" FILE PROVIDED WITH THIS DISTRIBUTION PACKAGE. *
13
  ****************************************************************************/
14
 
15
+ // [v1.6] [v1.7] [v1.8]
16
  class Simtech_Searchanise_Model_Resource_Fulltext_Collection extends Mage_CatalogSearch_Model_Resource_Fulltext_Collection
17
  {
18
  /**
app/code/community/Simtech/Searchanise/Model/Resource/Layer/Filter/Attribute.php CHANGED
@@ -12,7 +12,7 @@
12
  * "copyright.txt" FILE PROVIDED WITH THIS DISTRIBUTION PACKAGE. *
13
  ****************************************************************************/
14
 
15
- // [v1.6] [v1.7]
16
  class Simtech_Searchanise_Model_Resource_Layer_Filter_Attribute extends Mage_Catalog_Model_Resource_Layer_Filter_Attribute
17
  {
18
  /**
@@ -29,8 +29,7 @@ class Simtech_Searchanise_Model_Resource_Layer_Filter_Attribute extends Mage_Cat
29
 
30
  $collection = $filter->getLayer()->getProductCollection();
31
 
32
- if ((!method_exists($collection, 'checkSearchaniseResult')) || (!$collection->checkSearchaniseResult()))
33
- {
34
  return parent::getCount($filter);
35
  }
36
 
@@ -38,4 +37,27 @@ class Simtech_Searchanise_Model_Resource_Layer_Filter_Attribute extends Mage_Cat
38
  ->getSearchaniseRequest()
39
  ->getCountAttribute($filter);
40
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
41
  }
12
  * "copyright.txt" FILE PROVIDED WITH THIS DISTRIBUTION PACKAGE. *
13
  ****************************************************************************/
14
 
15
+ // [v1.6] [v1.7] [v1.8]
16
  class Simtech_Searchanise_Model_Resource_Layer_Filter_Attribute extends Mage_Catalog_Model_Resource_Layer_Filter_Attribute
17
  {
18
  /**
29
 
30
  $collection = $filter->getLayer()->getProductCollection();
31
 
32
+ if ((!method_exists($collection, 'checkSearchaniseResult')) || (!$collection->checkSearchaniseResult())) {
 
33
  return parent::getCount($filter);
34
  }
35
 
37
  ->getSearchaniseRequest()
38
  ->getCountAttribute($filter);
39
  }
40
+
41
+ /**
42
+ * Apply attribute filter to product collection
43
+ *
44
+ * @param Mage_Catalog_Model_Layer_Filter_Attribute $filter
45
+ * @param int $value
46
+ * @return Mage_Catalog_Model_Resource_Layer_Filter_Attribute
47
+ */
48
+ public function applyFilterToCollection($filter, $value)
49
+ {
50
+ if (!Mage::helper('searchanise/ApiSe')->checkSearchaniseResult(true)) {
51
+ return parent::applyFilterToCollection($filter, $value);
52
+ }
53
+
54
+ $collection = $filter->getLayer()->getProductCollection();
55
+
56
+ if ((!method_exists($collection, 'checkSearchaniseResult')) || (!$collection->checkSearchaniseResult())) {
57
+ return parent::applyFilterToCollection($filter, $value);
58
+ }
59
+ // Disable internal attribute filter.
60
+
61
+ return $this;
62
+ }
63
  }
app/code/community/Simtech/Searchanise/Model/Resource/Layer/Filter/Price.php CHANGED
@@ -12,7 +12,7 @@
12
  * "copyright.txt" FILE PROVIDED WITH THIS DISTRIBUTION PACKAGE. *
13
  ****************************************************************************/
14
 
15
- // [v1.6] [v1.7]
16
  class Simtech_Searchanise_Model_Resource_Layer_Filter_Price extends Mage_Catalog_Model_Resource_Layer_Filter_Price
17
  {
18
  public function getCount($filter, $range)
@@ -49,7 +49,7 @@ class Simtech_Searchanise_Model_Resource_Layer_Filter_Price extends Mage_Catalog
49
  if ((!method_exists($collection, 'checkSearchaniseResult')) || (!$collection->checkSearchaniseResult())) {
50
  return parent::applyPriceRange($filter);
51
  }
52
- // disable internal price filter
53
 
54
  return $this;
55
  }
12
  * "copyright.txt" FILE PROVIDED WITH THIS DISTRIBUTION PACKAGE. *
13
  ****************************************************************************/
14
 
15
+ // [v1.6] [v1.7] [v1.8]
16
  class Simtech_Searchanise_Model_Resource_Layer_Filter_Price extends Mage_Catalog_Model_Resource_Layer_Filter_Price
17
  {
18
  public function getCount($filter, $range)
49
  if ((!method_exists($collection, 'checkSearchaniseResult')) || (!$collection->checkSearchaniseResult())) {
50
  return parent::applyPriceRange($filter);
51
  }
52
+ // Disable internal price filter.
53
 
54
  return $this;
55
  }
app/code/community/Simtech/Searchanise/Model/Resource/Product/Collection.php CHANGED
@@ -12,7 +12,7 @@
12
  * "copyright.txt" FILE PROVIDED WITH THIS DISTRIBUTION PACKAGE. *
13
  ****************************************************************************/
14
 
15
- // [v1.6] [v1.7]
16
  class Simtech_Searchanise_Model_Resource_Product_Collection extends Mage_Catalog_Model_Resource_Product_Collection
17
  {
18
  /**
12
  * "copyright.txt" FILE PROVIDED WITH THIS DISTRIBUTION PACKAGE. *
13
  ****************************************************************************/
14
 
15
+ // [v1.6] [v1.7] [v1.8]
16
  class Simtech_Searchanise_Model_Resource_Product_Collection extends Mage_Catalog_Model_Resource_Product_Collection
17
  {
18
  /**
app/code/community/Simtech/Searchanise/Model/Resource/Product/CollectionTag.php CHANGED
@@ -12,7 +12,7 @@
12
  * "copyright.txt" FILE PROVIDED WITH THIS DISTRIBUTION PACKAGE. *
13
  ****************************************************************************/
14
 
15
- // [v1.6] [v1.7]
16
  class Simtech_Searchanise_Model_Resource_Product_CollectionTag extends Mage_Tag_Model_Resource_Product_Collection
17
  {
18
  /**
12
  * "copyright.txt" FILE PROVIDED WITH THIS DISTRIBUTION PACKAGE. *
13
  ****************************************************************************/
14
 
15
+ // [v1.6] [v1.7] [v1.8]
16
  class Simtech_Searchanise_Model_Resource_Product_CollectionTag extends Mage_Tag_Model_Resource_Product_Collection
17
  {
18
  /**
app/code/community/Simtech/Searchanise/Model/Resource/Store.php CHANGED
@@ -12,7 +12,7 @@
12
  * "copyright.txt" FILE PROVIDED WITH THIS DISTRIBUTION PACKAGE. *
13
  ****************************************************************************/
14
 
15
- // [1.6] [1.7]
16
  class Simtech_Searchanise_Model_Resource_Store extends Mage_Core_Model_Resource_Store
17
  {
18
  /**
12
  * "copyright.txt" FILE PROVIDED WITH THIS DISTRIBUTION PACKAGE. *
13
  ****************************************************************************/
14
 
15
+ // [v1.6] [v1.7] [v1.8]
16
  class Simtech_Searchanise_Model_Resource_Store extends Mage_Core_Model_Resource_Store
17
  {
18
  /**
app/code/community/Simtech/Searchanise/Model/Searchanise.php CHANGED
@@ -17,7 +17,7 @@ class Simtech_Searchanise_Model_Searchanise extends Mage_Core_Model_Abstract
17
  /**
18
  * Mysql4_Product_Collection
19
  *
20
- * @var Mage_Catalog_Model_Resource_Product_Collection [v1.6] [v1.7], Mage_Catalog_Model_Mysql4_Product_Collection [v1.5]
21
  */
22
  protected $_collection = null;
23
 
17
  /**
18
  * Mysql4_Product_Collection
19
  *
20
+ * @var Mage_Catalog_Model_Resource_Product_Collection [v1.6] [v1.7] [v1.8], Mage_Catalog_Model_Mysql4_Product_Collection [v1.5]
21
  */
22
  protected $_collection = null;
23
 
app/code/community/Simtech/Searchanise/controllers/InfoController.php CHANGED
@@ -19,6 +19,7 @@ class Simtech_Searchanise_InfoController extends Mage_Core_Controller_Front_Acti
19
  const PROFILER = 'profiler';
20
  const STORE_ID = 'store_id';
21
  const CHECK_DATA = 'check_data';
 
22
  const PRODUCT_ID = 'product_id';
23
  const PRODUCT_IDS = 'product_ids';
24
  const PARENT_PRIVATE_KEY = 'parent_private_key';
@@ -48,6 +49,7 @@ class Simtech_Searchanise_InfoController extends Mage_Core_Controller_Front_Acti
48
 
49
  public function indexAction()
50
  {
 
51
  $parentPrivateKey = $this->getRequest()->getParam(self::PARENT_PRIVATE_KEY);
52
 
53
  if ((empty($parentPrivateKey)) ||
@@ -64,15 +66,21 @@ class Simtech_Searchanise_InfoController extends Mage_Core_Controller_Front_Acti
64
  echo Mage::helper('core')->jsonEncode($options);
65
  }
66
  } else {
67
- @ini_set('display_errors', 1);
68
  $resync = $this->getRequest()->getParam(self::RESYNC);
69
- $visual = $this->getRequest()->getParam(self::OUTPUT);
70
  $profiler = $this->getRequest()->getParam(self::PROFILER);
71
  $storeId = $this->getRequest()->getParam(self::STORE_ID);
72
  $checkData = $this->getRequest()->getParam(self::CHECK_DATA);
 
73
  $productId = $this->getRequest()->getParam(self::PRODUCT_ID);
74
  $productIds = $this->getRequest()->getParam(self::PRODUCT_IDS);
75
 
 
 
 
 
 
 
 
76
  if ($productId) {
77
  $productIds = array($productId);
78
  } elseif ($productIds) {
19
  const PROFILER = 'profiler';
20
  const STORE_ID = 'store_id';
21
  const CHECK_DATA = 'check_data';
22
+ const DISPLAY_ERRORS = 'display_errors';
23
  const PRODUCT_ID = 'product_id';
24
  const PRODUCT_IDS = 'product_ids';
25
  const PARENT_PRIVATE_KEY = 'parent_private_key';
49
 
50
  public function indexAction()
51
  {
52
+ $visual = $this->getRequest()->getParam(self::OUTPUT);
53
  $parentPrivateKey = $this->getRequest()->getParam(self::PARENT_PRIVATE_KEY);
54
 
55
  if ((empty($parentPrivateKey)) ||
66
  echo Mage::helper('core')->jsonEncode($options);
67
  }
68
  } else {
 
69
  $resync = $this->getRequest()->getParam(self::RESYNC);
 
70
  $profiler = $this->getRequest()->getParam(self::PROFILER);
71
  $storeId = $this->getRequest()->getParam(self::STORE_ID);
72
  $checkData = $this->getRequest()->getParam(self::CHECK_DATA);
73
+ $displayErrors = $this->getRequest()->getParam(self::DISPLAY_ERRORS);
74
  $productId = $this->getRequest()->getParam(self::PRODUCT_ID);
75
  $productIds = $this->getRequest()->getParam(self::PRODUCT_IDS);
76
 
77
+ if ($displayErrors) {
78
+ @error_reporting (E_ALL);
79
+ @ini_set('display_errors', 1);
80
+ } else {
81
+ @ini_set('display_errors', 0);
82
+ }
83
+
84
  if ($productId) {
85
  $productIds = array($productId);
86
  } elseif ($productIds) {
app/code/community/Simtech/Searchanise/etc/config.xml CHANGED
@@ -15,7 +15,7 @@
15
  <config>
16
  <modules>
17
  <Simtech_Searchanise>
18
- <version>1.1.7</version>
19
  </Simtech_Searchanise>
20
  </modules>
21
  <frontend>
@@ -157,7 +157,7 @@
157
 
158
  <!-- <OVERRIDE CATALOG RESOURCE> -->
159
  <!-- [disabled_searchanise_search] -->
160
- <!-- [v1.6] [v1.7] -->
161
  <catalog_resource>
162
  <rewrite>
163
  <product_collection>Simtech_Searchanise_Model_Resource_Product_Collection</product_collection>
@@ -165,7 +165,7 @@
165
  <layer_filter_price>Simtech_Searchanise_Model_Resource_Layer_Filter_Price</layer_filter_price>
166
  </rewrite>
167
  </catalog_resource>
168
- <!-- [/v1.6] [/v1.7] -->
169
  <!-- [v1.5] -->
170
  <catalog_resource_eav_mysql4>
171
  <rewrite>
@@ -197,14 +197,14 @@
197
 
198
  <!-- <OVERRIDE CATALOGSEARCH RESOURCE> -->
199
  <!-- [disabled_searchanise_search] -->
200
- <!-- [v1.6] [v1.7] -->
201
  <catalogsearch_resource>
202
  <rewrite>
203
  <fulltext_collection>Simtech_Searchanise_Model_Resource_Fulltext_Collection</fulltext_collection>
204
  <advanced_collection>Simtech_Searchanise_Model_Resource_Advanced_Collection</advanced_collection>
205
  </rewrite>
206
  </catalogsearch_resource>
207
- <!-- [/v1.6] [/v1.7] -->
208
  <!-- [v1.5] -->
209
  <catalogsearch_mysql4>
210
  <rewrite>
@@ -225,13 +225,13 @@
225
  <!-- END -->
226
 
227
  <!-- OVERRIDE TAG RESOURCE -->
228
- <!-- [v1.6] [v1.7] -->
229
  <tag_resource>
230
  <rewrite>
231
  <product_collection>Simtech_Searchanise_Model_Resource_Product_CollectionTag</product_collection>
232
  </rewrite>
233
  </tag_resource>
234
- <!-- [/v1.6] [/v1.7] -->
235
  <!-- [v1.5]-->
236
  <tag_mysql4>
237
  <rewrite>
@@ -249,13 +249,13 @@
249
  </importexport>
250
  <!-- END -->
251
  <!-- <OVERRIDE CORE RESOURCE> -->
252
- <!-- [v1.6] [v1.7] -->
253
  <core_resource>
254
  <rewrite>
255
  <store>Simtech_Searchanise_Model_Resource_Store</store>
256
  </rewrite>
257
  </core_resource>
258
- <!-- [/v1.6] [/v1.7] -->
259
  <!-- [v1.5] -->
260
  <core_mysql4>
261
  <rewrite>
@@ -351,7 +351,7 @@
351
  </rating>
352
  </observers>
353
  </catalog_product_delete_before>
354
- <!-- [v1.6] [v1.7] -->
355
  <catalog_product_attribute_update_before>
356
  <observers>
357
  <rating>
@@ -360,7 +360,7 @@
360
  </rating>
361
  </observers>
362
  </catalog_product_attribute_update_before>
363
- <!-- [/v1.6] [/v1.7] -->
364
  <!-- [v1.5] -->
365
  <searchanise_product_attribute_update_before>
366
  <observers>
15
  <config>
16
  <modules>
17
  <Simtech_Searchanise>
18
+ <version>1.1.8</version>
19
  </Simtech_Searchanise>
20
  </modules>
21
  <frontend>
157
 
158
  <!-- <OVERRIDE CATALOG RESOURCE> -->
159
  <!-- [disabled_searchanise_search] -->
160
+ <!-- [v1.6] [v1.7] [v1.8] -->
161
  <catalog_resource>
162
  <rewrite>
163
  <product_collection>Simtech_Searchanise_Model_Resource_Product_Collection</product_collection>
165
  <layer_filter_price>Simtech_Searchanise_Model_Resource_Layer_Filter_Price</layer_filter_price>
166
  </rewrite>
167
  </catalog_resource>
168
+ <!-- [/v1.6] [/v1.7] [/v1.8] -->
169
  <!-- [v1.5] -->
170
  <catalog_resource_eav_mysql4>
171
  <rewrite>
197
 
198
  <!-- <OVERRIDE CATALOGSEARCH RESOURCE> -->
199
  <!-- [disabled_searchanise_search] -->
200
+ <!-- [v1.6] [v1.7] [v1.8] -->
201
  <catalogsearch_resource>
202
  <rewrite>
203
  <fulltext_collection>Simtech_Searchanise_Model_Resource_Fulltext_Collection</fulltext_collection>
204
  <advanced_collection>Simtech_Searchanise_Model_Resource_Advanced_Collection</advanced_collection>
205
  </rewrite>
206
  </catalogsearch_resource>
207
+ <!-- [/v1.6] [/v1.7] [/v1.8] -->
208
  <!-- [v1.5] -->
209
  <catalogsearch_mysql4>
210
  <rewrite>
225
  <!-- END -->
226
 
227
  <!-- OVERRIDE TAG RESOURCE -->
228
+ <!-- [v1.6] [v1.7] [v1.8] -->
229
  <tag_resource>
230
  <rewrite>
231
  <product_collection>Simtech_Searchanise_Model_Resource_Product_CollectionTag</product_collection>
232
  </rewrite>
233
  </tag_resource>
234
+ <!-- [/v1.6] [/v1.7] [/v1.8] -->
235
  <!-- [v1.5]-->
236
  <tag_mysql4>
237
  <rewrite>
249
  </importexport>
250
  <!-- END -->
251
  <!-- <OVERRIDE CORE RESOURCE> -->
252
+ <!-- [v1.6] [v1.7] [v1.8] -->
253
  <core_resource>
254
  <rewrite>
255
  <store>Simtech_Searchanise_Model_Resource_Store</store>
256
  </rewrite>
257
  </core_resource>
258
+ <!-- [/v1.6] [/v1.7] [/v1.8] -->
259
  <!-- [v1.5] -->
260
  <core_mysql4>
261
  <rewrite>
351
  </rating>
352
  </observers>
353
  </catalog_product_delete_before>
354
+ <!-- [v1.6] [v1.7] [v1.8] -->
355
  <catalog_product_attribute_update_before>
356
  <observers>
357
  <rating>
360
  </rating>
361
  </observers>
362
  </catalog_product_attribute_update_before>
363
+ <!-- [/v1.6] [/v1.7] [/v1.8] -->
364
  <!-- [v1.5] -->
365
  <searchanise_product_attribute_update_before>
366
  <observers>
app/code/community/Simtech/Searchanise/etc/config_without_search.xml CHANGED
@@ -15,7 +15,7 @@
15
  <config>
16
  <modules>
17
  <Simtech_Searchanise>
18
- <version>1.1.7</version>
19
  </Simtech_Searchanise>
20
  </modules>
21
  <frontend>
@@ -157,7 +157,7 @@
157
 
158
  <!-- <OVERRIDE CATALOG RESOURCE> -->
159
  <!-- [disabled_searchanise_search] -->
160
- <!-- [v1.6] [v1.7] -->
161
  <!-- <catalog_resource>
162
  <rewrite>
163
  <product_collection>Simtech_Searchanise_Model_Resource_Product_Collection</product_collection>
@@ -165,7 +165,7 @@
165
  <layer_filter_price>Simtech_Searchanise_Model_Resource_Layer_Filter_Price</layer_filter_price>
166
  </rewrite>
167
  </catalog_resource> -->
168
- <!-- [/v1.6] [/v1.7] -->
169
  <!-- [v1.5] -->
170
  <!-- <catalog_resource_eav_mysql4>
171
  <rewrite>
@@ -197,14 +197,14 @@
197
 
198
  <!-- <OVERRIDE CATALOGSEARCH RESOURCE> -->
199
  <!-- [disabled_searchanise_search] -->
200
- <!-- [v1.6] [v1.7] -->
201
  <!-- <catalogsearch_resource>
202
  <rewrite>
203
  <fulltext_collection>Simtech_Searchanise_Model_Resource_Fulltext_Collection</fulltext_collection>
204
  <advanced_collection>Simtech_Searchanise_Model_Resource_Advanced_Collection</advanced_collection>
205
  </rewrite>
206
  </catalogsearch_resource> -->
207
- <!-- [/v1.6] [/v1.7] -->
208
  <!-- [v1.5] -->
209
  <!-- <catalogsearch_mysql4>
210
  <rewrite>
@@ -225,13 +225,13 @@
225
  <!-- END -->
226
 
227
  <!-- OVERRIDE TAG RESOURCE -->
228
- <!-- [v1.6] [v1.7] -->
229
  <tag_resource>
230
  <rewrite>
231
  <product_collection>Simtech_Searchanise_Model_Resource_Product_CollectionTag</product_collection>
232
  </rewrite>
233
  </tag_resource>
234
- <!-- [/v1.6] [/v1.7] -->
235
  <!-- [v1.5]-->
236
  <tag_mysql4>
237
  <rewrite>
@@ -249,13 +249,13 @@
249
  </importexport>
250
  <!-- END -->
251
  <!-- <OVERRIDE CORE RESOURCE> -->
252
- <!-- [v1.6] [v1.7] -->
253
  <core_resource>
254
  <rewrite>
255
  <store>Simtech_Searchanise_Model_Resource_Store</store>
256
  </rewrite>
257
  </core_resource>
258
- <!-- [/v1.6] [/v1.7] -->
259
  <!-- [v1.5] -->
260
  <core_mysql4>
261
  <rewrite>
@@ -351,7 +351,7 @@
351
  </rating>
352
  </observers>
353
  </catalog_product_delete_before>
354
- <!-- [v1.6] [v1.7] -->
355
  <catalog_product_attribute_update_before>
356
  <observers>
357
  <rating>
@@ -360,7 +360,7 @@
360
  </rating>
361
  </observers>
362
  </catalog_product_attribute_update_before>
363
- <!-- [/v1.6] [/v1.7] -->
364
  <!-- [v1.5] -->
365
  <searchanise_product_attribute_update_before>
366
  <observers>
15
  <config>
16
  <modules>
17
  <Simtech_Searchanise>
18
+ <version>1.1.8</version>
19
  </Simtech_Searchanise>
20
  </modules>
21
  <frontend>
157
 
158
  <!-- <OVERRIDE CATALOG RESOURCE> -->
159
  <!-- [disabled_searchanise_search] -->
160
+ <!-- [v1.6] [v1.7] [v1.8] -->
161
  <!-- <catalog_resource>
162
  <rewrite>
163
  <product_collection>Simtech_Searchanise_Model_Resource_Product_Collection</product_collection>
165
  <layer_filter_price>Simtech_Searchanise_Model_Resource_Layer_Filter_Price</layer_filter_price>
166
  </rewrite>
167
  </catalog_resource> -->
168
+ <!-- [/v1.6] [/v1.7] [/v1.8] -->
169
  <!-- [v1.5] -->
170
  <!-- <catalog_resource_eav_mysql4>
171
  <rewrite>
197
 
198
  <!-- <OVERRIDE CATALOGSEARCH RESOURCE> -->
199
  <!-- [disabled_searchanise_search] -->
200
+ <!-- [v1.6] [v1.7] [v1.8] -->
201
  <!-- <catalogsearch_resource>
202
  <rewrite>
203
  <fulltext_collection>Simtech_Searchanise_Model_Resource_Fulltext_Collection</fulltext_collection>
204
  <advanced_collection>Simtech_Searchanise_Model_Resource_Advanced_Collection</advanced_collection>
205
  </rewrite>
206
  </catalogsearch_resource> -->
207
+ <!-- [/v1.6] [/v1.7] [/v1.8] -->
208
  <!-- [v1.5] -->
209
  <!-- <catalogsearch_mysql4>
210
  <rewrite>
225
  <!-- END -->
226
 
227
  <!-- OVERRIDE TAG RESOURCE -->
228
+ <!-- [v1.6] [v1.7] [v1.8] -->
229
  <tag_resource>
230
  <rewrite>
231
  <product_collection>Simtech_Searchanise_Model_Resource_Product_CollectionTag</product_collection>
232
  </rewrite>
233
  </tag_resource>
234
+ <!-- [/v1.6] [/v1.7] [/v1.8] -->
235
  <!-- [v1.5]-->
236
  <tag_mysql4>
237
  <rewrite>
249
  </importexport>
250
  <!-- END -->
251
  <!-- <OVERRIDE CORE RESOURCE> -->
252
+ <!-- [v1.6] [v1.7] [v1.8] -->
253
  <core_resource>
254
  <rewrite>
255
  <store>Simtech_Searchanise_Model_Resource_Store</store>
256
  </rewrite>
257
  </core_resource>
258
+ <!-- [/v1.6] [/v1.7] [/v1.8] -->
259
  <!-- [v1.5] -->
260
  <core_mysql4>
261
  <rewrite>
351
  </rating>
352
  </observers>
353
  </catalog_product_delete_before>
354
+ <!-- [v1.6] [v1.7] [v1.8] -->
355
  <catalog_product_attribute_update_before>
356
  <observers>
357
  <rating>
360
  </rating>
361
  </observers>
362
  </catalog_product_attribute_update_before>
363
+ <!-- [/v1.6] [/v1.7] [/v1.8] -->
364
  <!-- [v1.5] -->
365
  <searchanise_product_attribute_update_before>
366
  <observers>
app/code/community/Simtech/Searchanise/etc/system.xml CHANGED
@@ -63,7 +63,7 @@
63
  </type_async>
64
  -->
65
  <enabled_searchanise_search translate="labe comment">
66
- <label><![CDATA[Use Searchanise for search and advanced search]]></label>
67
  <comment><![CDATA[Disable in case of invalid search operation.<br>The instant search widget will <strong>remain active</strong>.]]></comment>
68
  <frontend_type>select</frontend_type>
69
  <source_model>adminhtml/system_config_source_yesno</source_model>
63
  </type_async>
64
  -->
65
  <enabled_searchanise_search translate="labe comment">
66
+ <label><![CDATA[Use Searchanise for full-text search]]></label>
67
  <comment><![CDATA[Disable in case of invalid search operation.<br>The instant search widget will <strong>remain active</strong>.]]></comment>
68
  <frontend_type>select</frontend_type>
69
  <source_model>adminhtml/system_config_source_yesno</source_model>
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Simtech_Searchanise</name>
4
- <version>1.1.7</version>
5
  <stability>stable</stability>
6
  <license uri="http://docs.searchanise.com/connector_addon/license_agreement.html">Commercial license: http://docs.searchanise.com/connector_addon/license_agreement.html</license>
7
  <channel>community</channel>
@@ -10,12 +10,22 @@
10
  <description>Searchanise is a free SaaS solution providing fast and smart search for online stores. It provides rapid search results and instant search suggestions presented in a fancy and customizable widget.&#xD;
11
  &#xD;
12
  With the help of Searchanise Connector Add-on you will be able to connect your store to the service and start using the search widget in no time. Power up your store right now!</description>
13
- <notes>[!] Some attribute values could be ignored in the full-text search. Fixed.&lt;br /&gt;&#xD;
14
- [*] Full import is now more stable, less memory-consuming, and more DB error-resistant.</notes>
 
 
 
 
 
 
 
 
 
 
15
  <authors><author><name>Simbirsk Technologies, Ltd.</name><user>searchanise</user><email>sales@searchanise.com</email></author></authors>
16
- <date>2013-09-23</date>
17
- <time>08:30:05</time>
18
- <contents><target name="magecommunity"><dir name="Simtech"><dir name="Searchanise"><dir name="Block"><file name="Async.php" hash="bc97c98da15f5abbc1d8922ca477dc6d"/><file name="Autocomplete.php" hash="efc89ac3f897be3bc307fba6a36778f0"/><file name="Jsinit.php" hash="0cf9770f73064f571420283a0e4bdb8d"/><dir name="Product"><dir name="List"><file name="Toolbar.php" hash="73c06dbe5c5ca8778bb2488ed2b5b5ed"/></dir><file name="Result.php" hash="4e767e273ee21a38332ac226af878291"/></dir><file name="Result.php" hash="dec7b27ab9511c956680eb60eba9b95e"/></dir><dir name="Helper"><file name="ApiSe.php" hash="097890a3d144ef9f5c073ec823503aa5"/><file name="ApiXML.php" hash="cc920563319910b4775a10aee240b782"/><file name="Data.php" hash="53bbede2bf74a83521ee64240739f898"/></dir><dir name="Model"><file name="Advanced.php" hash="2a22ebcf7ac75b54681ef8a27bad2e47"/><dir name="Config"><file name="Data.php" hash="ddc558d22208f0ebc1e4378c9d050022"/></dir><file name="Config.php" hash="00ca3c7955f3ff2283c636a2074b6f03"/><dir name="Import"><dir name="Entity"><file name="Product.php" hash="4997af528b36f0f576d1c01402e14b03"/></dir></dir><dir name="Layer"><dir name="Filter"><file name="Category.php" hash="e290ab29f2d50e1acbbbb37496150ea4"/><file name="Price.php" hash="743887b32bf012274ad8a371fff96411"/></dir></dir><file name="Layer.php" hash="3e8c975d649ae6e20fcc69d35779c97c"/><file name="LayerCatalogSearch.php" hash="61728092fdb9cf42490afacdc4e731fd"/><dir name="Mysql4"><dir name="Advanced"><file name="Collection.php" hash="dd8c6f3cbb0621a5a7320f3104e68da6"/></dir><dir name="Config"><file name="Collection.php" hash="470218c1eb3f1cc1ca0e6d0e93e1b097"/></dir><file name="Config.php" hash="c95dc8ecd7ab4f955b6eaf4710ab960e"/><dir name="Fulltext"><file name="Collection.php" hash="5646955503a90020f87cfd861ac07e73"/></dir><dir name="Product"><file name="Collection.php" hash="28b478eb328502ce03e389404d9f54b5"/><file name="CollectionTag.php" hash="def509d1365374e6dede36be17e75bf3"/></dir><dir name="Queue"><file name="Collection.php" hash="30ca0f8640bdc443deb94cd2e71010c8"/></dir><file name="Queue.php" hash="286351623e8f011a21519f8d9c3e3151"/><file name="Store.php" hash="0126a4291d7dad6641bf59abb0f64cc4"/></dir><file name="Observer.php" hash="8d24a27713e1db605ef0c14862df8bf0"/><file name="Queue.php" hash="831f5ea7e57810f9c78d09659424e9a7"/><file name="Request.php" hash="af0f9a16a0dbc69ba76458eac802638b"/><dir name="Resource"><dir name="Advanced"><file name="Collection.php" hash="12933839daa74d17ac82fca89071bc0a"/></dir><dir name="Eav"><dir name="Mysql4"><dir name="Layer"><dir name="Filter"><file name="Attribute.php" hash="982b1960bec58522f1bd8b82f86452b4"/><file name="Price.php" hash="fc1ec55d6c2aa97558e06691e690e466"/></dir></dir><dir name="Product"><file name="Action.php" hash="006e3c8c775cf31a8b9c66fb934c9d2d"/></dir></dir></dir><dir name="Fulltext"><file name="Collection.php" hash="b9e2e4884a7ecee0000e6a41c0e6d3e2"/></dir><dir name="Layer"><dir name="Filter"><file name="Attribute.php" hash="0bfecbdff2458785a287c3f1de23ed56"/><file name="Price.php" hash="38d1acaa4478d678d4bb20704a81b760"/></dir></dir><dir name="Product"><file name="Collection.php" hash="6072bf2a7a4713f3db2fa96014e7453a"/><file name="CollectionTag.php" hash="e89307da7c26ee153c3f9dead94dcd13"/></dir><file name="Store.php" hash="8dd81bf57d38af2b4640bbf14063d3f8"/></dir><file name="Searchanise.php" hash="507813e92908000315aabc4256c5a05c"/><dir name="System"><dir name="Config"><dir name="Source"><dir name="Searchanise"><file name="TypeAsync.php" hash="11d1aa481094ccbeab365b1fed33440d"/></dir></dir></dir></dir><dir name="Tag"><file name="Relation.php" hash="598f81fd8b2ac77baf24211c2ed03e55"/></dir></dir><dir name="controllers"><file name="AdvancedController.php" hash="7500f6075382cd8a14816e424da2348f"/><file name="AsyncController.php" hash="e12b49146b32369e8eda17b7e6558fc7"/><file name="CategoryController.php" hash="909f99c5cf7f85405fc76ebe976c2c8e"/><file name="IndexController.php" hash="e3234ca51a7669741e29ff7c38789989"/><file name="InfoController.php" hash="dfbb0787588ac7884cac6dda72507209"/><file name="OptionsController.php" hash="56785c8ea24472c2047268b2d9e8e878"/><file name="ProductController.php" hash="6633fde99f35ffeaa05884f0e0d98da7"/><file name="ResultController.php" hash="4b00515cc47593704ea1178d7b44d48e"/><file name="ResyncController.php" hash="0612f929d375427326821dfc12186be8"/><file name="SignupController.php" hash="80f87a63d6272f98a068dde35f1d140e"/></dir><dir name="etc"><file name="config.xml" hash="99932a4a58258b261b1b61e98928f9de"/><file name="config_without_search.xml" hash="e470d291701015dcf403caf7ec5ce265"/><file name="system.xml" hash="a6b2e082fe45706b86b8da0fe02d4374"/></dir><dir name="sql"><dir name="searchanise_setup"><file name="mysql4-install-0.1.0.php" hash="754324c8783e9cc24de86396e1587e73"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="searchanise"><file name="dashboard.phtml" hash="4f0674cd493872c2b1e89cdcc80546ab"/></dir></dir><dir name="layout"><file name="searchanise.xml" hash="68baa611d05db05f8816ea2a8260e961"/></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="searchanise.xml" hash="5e904fee02cbd42324a297d513b9f582"/></dir></dir></dir><dir name="default"><dir name="default"><dir name="template"><dir name="catalogsearch"><file name="form.mini.phtml" hash="fcf8e06e66801a36c96f20ca5d187123"/></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Simtech_Searchanise.xml" hash="04148681a6648bd370ab62140cbf2ad9"/></dir></target><target name="magelocale"><dir name="en_US"><file name="Simtech_Searchanise.csv" hash="1bdb7fddc596dac1460bc3054c425187"/></dir></target></contents>
19
  <compatible/>
20
  <dependencies><required><php><min>5.2.13</min><max>6.0.0</max></php></required></dependencies>
21
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Simtech_Searchanise</name>
4
+ <version>1.1.8</version>
5
  <stability>stable</stability>
6
  <license uri="http://docs.searchanise.com/connector_addon/license_agreement.html">Commercial license: http://docs.searchanise.com/connector_addon/license_agreement.html</license>
7
  <channel>community</channel>
10
  <description>Searchanise is a free SaaS solution providing fast and smart search for online stores. It provides rapid search results and instant search suggestions presented in a fancy and customizable widget.&#xD;
11
  &#xD;
12
  With the help of Searchanise Connector Add-on you will be able to connect your store to the service and start using the search widget in no time. Power up your store right now!</description>
13
+ <notes>Searchanise extension for Magento v. 1.1.8 introduces Magento 1.8 support, important fixes and improverments.&lt;br /&gt;&#xD;
14
+ &lt;br /&gt;&#xD;
15
+ Changelog:&lt;br /&gt;&#xD;
16
+ &lt;br /&gt;&#xD;
17
+ [+] Magento 1.8 support added.&lt;br /&gt;&#xD;
18
+ [!] Subnitted sorting attributes could be wrong. Fixed.&lt;br /&gt;&#xD;
19
+ [!] The default sorting is relevenace-based.&lt;br /&gt;&#xD;
20
+ [!] Usergroup-based prices could be wrong. Fixed.&lt;br /&gt;&#xD;
21
+ [*] Internal attribute-based filtering disabled (could be buggy).&lt;br /&gt;&#xD;
22
+ [!] The 'created_at' and 'updated_at' attributes are now submitted in a product feed.&lt;br /&gt;&#xD;
23
+ [+] If tags were disabled, the initial sync could crash. Fix.&lt;br /&gt;&#xD;
24
+ [~] Cron debug info is now stored to a log file.</notes>
25
  <authors><author><name>Simbirsk Technologies, Ltd.</name><user>searchanise</user><email>sales@searchanise.com</email></author></authors>
26
+ <date>2013-10-21</date>
27
+ <time>12:10:57</time>
28
+ <contents><target name="magecommunity"><dir name="Simtech"><dir name="Searchanise"><dir name="Block"><file name="Async.php" hash="bc97c98da15f5abbc1d8922ca477dc6d"/><file name="Autocomplete.php" hash="efc89ac3f897be3bc307fba6a36778f0"/><file name="Jsinit.php" hash="0cf9770f73064f571420283a0e4bdb8d"/><dir name="Product"><dir name="List"><file name="Toolbar.php" hash="73c06dbe5c5ca8778bb2488ed2b5b5ed"/></dir><file name="Result.php" hash="4e767e273ee21a38332ac226af878291"/></dir><file name="Result.php" hash="dec7b27ab9511c956680eb60eba9b95e"/></dir><dir name="Helper"><file name="ApiSe.php" hash="3b53bed78ed1b22ebce60579a6fc484e"/><file name="ApiXML.php" hash="4c780f46b569c45606ecb9f5cfc21eba"/><file name="Data.php" hash="c63349634ece2dfbd44a35c1be232d42"/></dir><dir name="Model"><file name="Advanced.php" hash="2a22ebcf7ac75b54681ef8a27bad2e47"/><dir name="Config"><file name="Data.php" hash="ddc558d22208f0ebc1e4378c9d050022"/></dir><file name="Config.php" hash="00ca3c7955f3ff2283c636a2074b6f03"/><dir name="Import"><dir name="Entity"><file name="Product.php" hash="4997af528b36f0f576d1c01402e14b03"/></dir></dir><dir name="Layer"><dir name="Filter"><file name="Category.php" hash="e290ab29f2d50e1acbbbb37496150ea4"/><file name="Price.php" hash="743887b32bf012274ad8a371fff96411"/></dir></dir><file name="Layer.php" hash="3e8c975d649ae6e20fcc69d35779c97c"/><file name="LayerCatalogSearch.php" hash="42058e0552719902f3f40f91e816b460"/><dir name="Mysql4"><dir name="Advanced"><file name="Collection.php" hash="dd8c6f3cbb0621a5a7320f3104e68da6"/></dir><dir name="Config"><file name="Collection.php" hash="470218c1eb3f1cc1ca0e6d0e93e1b097"/></dir><file name="Config.php" hash="c95dc8ecd7ab4f955b6eaf4710ab960e"/><dir name="Fulltext"><file name="Collection.php" hash="5646955503a90020f87cfd861ac07e73"/></dir><dir name="Product"><file name="Collection.php" hash="28b478eb328502ce03e389404d9f54b5"/><file name="CollectionTag.php" hash="ea06ec75ee4d083f2b4232c5fe298f00"/></dir><dir name="Queue"><file name="Collection.php" hash="30ca0f8640bdc443deb94cd2e71010c8"/></dir><file name="Queue.php" hash="286351623e8f011a21519f8d9c3e3151"/><file name="Store.php" hash="0126a4291d7dad6641bf59abb0f64cc4"/></dir><file name="Observer.php" hash="5db27768e7d77ed7ddc63ae9f4c4308c"/><file name="Queue.php" hash="831f5ea7e57810f9c78d09659424e9a7"/><file name="Request.php" hash="af0f9a16a0dbc69ba76458eac802638b"/><dir name="Resource"><dir name="Advanced"><file name="Collection.php" hash="6744555254ba1c57f482504b5f16012a"/></dir><dir name="Eav"><dir name="Mysql4"><dir name="Layer"><dir name="Filter"><file name="Attribute.php" hash="05320757b9289edac4f15230cd06c0e1"/><file name="Price.php" hash="ed4e21a18c552e3a92b21ff6e8bc5d61"/></dir></dir><dir name="Product"><file name="Action.php" hash="006e3c8c775cf31a8b9c66fb934c9d2d"/></dir></dir></dir><dir name="Fulltext"><file name="Collection.php" hash="273467b2e39649fcd0a8eede59c5ab98"/></dir><dir name="Layer"><dir name="Filter"><file name="Attribute.php" hash="643a513735ac2a2ac9fba08ff1fa79a0"/><file name="Price.php" hash="15d7ab510b37655a148e077dcece13df"/></dir></dir><dir name="Product"><file name="Collection.php" hash="b7c9a1c2fc24ecf78a32fd0d9d46b120"/><file name="CollectionTag.php" hash="60f12d27d78426a8e04e01d2cbdadb48"/></dir><file name="Store.php" hash="dee8bb23b7fe48dc55e46e93f583699a"/></dir><file name="Searchanise.php" hash="0a03a35854470a310f075298c9a1abf2"/><dir name="System"><dir name="Config"><dir name="Source"><dir name="Searchanise"><file name="TypeAsync.php" hash="11d1aa481094ccbeab365b1fed33440d"/></dir></dir></dir></dir><dir name="Tag"><file name="Relation.php" hash="598f81fd8b2ac77baf24211c2ed03e55"/></dir></dir><dir name="controllers"><file name="AdvancedController.php" hash="7500f6075382cd8a14816e424da2348f"/><file name="AsyncController.php" hash="e12b49146b32369e8eda17b7e6558fc7"/><file name="CategoryController.php" hash="909f99c5cf7f85405fc76ebe976c2c8e"/><file name="IndexController.php" hash="e3234ca51a7669741e29ff7c38789989"/><file name="InfoController.php" hash="2f44a35ac9b35e7e9b66a8289a1c5242"/><file name="OptionsController.php" hash="56785c8ea24472c2047268b2d9e8e878"/><file name="ProductController.php" hash="6633fde99f35ffeaa05884f0e0d98da7"/><file name="ResultController.php" hash="4b00515cc47593704ea1178d7b44d48e"/><file name="ResyncController.php" hash="0612f929d375427326821dfc12186be8"/><file name="SignupController.php" hash="80f87a63d6272f98a068dde35f1d140e"/></dir><dir name="etc"><file name="config.xml" hash="e0ac5cc3d17db931a8ebc4e174e4bab9"/><file name="config_without_search.xml" hash="1c4e59138912c79f7fc86625101c5e96"/><file name="system.xml" hash="a006341e693571d11efaa9d289ebf7fa"/></dir><dir name="sql"><dir name="searchanise_setup"><file name="mysql4-install-0.1.0.php" hash="754324c8783e9cc24de86396e1587e73"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="searchanise"><file name="dashboard.phtml" hash="4f0674cd493872c2b1e89cdcc80546ab"/></dir></dir><dir name="layout"><file name="searchanise.xml" hash="68baa611d05db05f8816ea2a8260e961"/></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="searchanise.xml" hash="5e904fee02cbd42324a297d513b9f582"/></dir></dir></dir><dir name="default"><dir name="default"><dir name="template"><dir name="catalogsearch"><file name="form.mini.phtml" hash="fcf8e06e66801a36c96f20ca5d187123"/></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Simtech_Searchanise.xml" hash="04148681a6648bd370ab62140cbf2ad9"/></dir></target><target name="magelocale"><dir name="en_US"><file name="Simtech_Searchanise.csv" hash="1bdb7fddc596dac1460bc3054c425187"/></dir></target></contents>
29
  <compatible/>
30
  <dependencies><required><php><min>5.2.13</min><max>6.0.0</max></php></required></dependencies>
31
  </package>