Simtech_Searchanise - Version 3.1.4

Version Notes

[*] Products export from the store become more stable.

[!] Search may didn't work after the new user group was added. Fixed.

[!] Inactive products were shown in the search results widget. Fixed.

[!] Out of stock products were shown in the search results widget. Fixed.

[!] Wrong export of the 'Multiple Select' data attribute of the product. Fixed.

Download this release

Release Info

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


Code changes from version 3.1.3 to 3.1.4

app/code/community/Simtech/Searchanise/Block/Jsinit.php CHANGED
@@ -56,12 +56,13 @@ class Simtech_Searchanise_Block_Jsinit extends Mage_Core_Block_Text
56
  $seServiceUrl = Mage::helper('searchanise/ApiSe')->getServiceUrl();
57
  $searchWidgetsLink = Mage::helper('searchanise/ApiSe')->getSearchWidgetsLink(false);
58
 
59
- $restrictBy = '';
60
  $showOutOfStock = Mage::getStoreConfigFlag(Mage_CatalogInventory_Helper_Data::XML_PATH_SHOW_OUT_OF_STOCK);
61
  if ($showOutOfStock) {
62
  // nothing
63
  } else {
64
  $restrictBy .= "Searchanise.AutoCmpParams.restrictBy.is_in_stock = '1';";
 
65
  }
66
 
67
  $priceFormat = Mage::helper('searchanise/ApiSe')->getPriceFormat($store);
@@ -101,7 +102,9 @@ class Simtech_Searchanise_Block_Jsinit extends Mage_Core_Block_Text
101
  Searchanise.ResultsParams.union.price.min = '" . Mage::helper('searchanise/ApiSe')->getCurLabelForPricesUsergroup() . "';
102
 
103
  Searchanise.ResultsParams.restrictBy = {};
 
104
  Searchanise.ResultsParams.restrictBy.visibility = '3|4';
 
105
 
106
  Searchanise.options.PriceFormat = {
107
  decimals_separator: '" . addslashes($priceFormat['decimals_separator']) . "',
56
  $seServiceUrl = Mage::helper('searchanise/ApiSe')->getServiceUrl();
57
  $searchWidgetsLink = Mage::helper('searchanise/ApiSe')->getSearchWidgetsLink(false);
58
 
59
+ $restrictBy = $resultsRestrictBy = '';
60
  $showOutOfStock = Mage::getStoreConfigFlag(Mage_CatalogInventory_Helper_Data::XML_PATH_SHOW_OUT_OF_STOCK);
61
  if ($showOutOfStock) {
62
  // nothing
63
  } else {
64
  $restrictBy .= "Searchanise.AutoCmpParams.restrictBy.is_in_stock = '1';";
65
+ $resultsRestrictBy .= "Searchanise.ResultsParams.restrictBy.is_in_stock = '1';";
66
  }
67
 
68
  $priceFormat = Mage::helper('searchanise/ApiSe')->getPriceFormat($store);
102
  Searchanise.ResultsParams.union.price.min = '" . Mage::helper('searchanise/ApiSe')->getCurLabelForPricesUsergroup() . "';
103
 
104
  Searchanise.ResultsParams.restrictBy = {};
105
+ Searchanise.ResultsParams.restrictBy.status = '1';
106
  Searchanise.ResultsParams.restrictBy.visibility = '3|4';
107
+ {$resultsRestrictBy}
108
 
109
  Searchanise.options.PriceFormat = {
110
  decimals_separator: '" . addslashes($priceFormat['decimals_separator']) . "',
app/code/community/Simtech/Searchanise/Helper/ApiProducts.php CHANGED
@@ -455,7 +455,7 @@ class Simtech_Searchanise_Helper_ApiProducts extends Mage_Core_Helper_Data
455
 
456
  if ($textValues != '') {
457
  if ($inputType == 'multiselect') {
458
- $values = explode(',', $textValues);
459
  } else {
460
  $values[] = $textValues;
461
  }
@@ -507,49 +507,20 @@ class Simtech_Searchanise_Helper_ApiProducts extends Mage_Core_Helper_Data
507
  return $values;
508
  }
509
 
510
- public static function getProductAttributes($attributeIds = Simtech_Searchanise_Model_Queue::NOT_DATA, $store = null, $isPrice = false)
511
  {
512
- if ($attributeIds === Simtech_Searchanise_Model_Queue::NOT_DATA) {
513
- static $allAttributes;
514
-
515
- if (!isset($allAttributes)) {
516
- $allAttributes = Mage::getResourceModel('catalog/product_attribute_collection');
517
- $allAttributes
518
- ->setItemObjectClass('catalog/resource_eav_attribute')
519
- // ->setOrder('position', 'ASC') // not need, because It will slow with "order"
520
- ->load();
521
- }
522
-
523
- return $allAttributes;
524
- }
525
-
526
- $attributes = Mage::getResourceModel('catalog/product_attribute_collection')
527
- ->setItemObjectClass('catalog/resource_eav_attribute');
528
 
529
- // fixme in the future
530
- // need delete
531
- // if ($store) {
532
- // $filters->addStoreLabel($store->getId());
533
- // }
534
- // end fixme
535
-
536
- if (is_array($attributeIds)) {
537
- $attributes->addFieldToFilter('main_table.attribute_id', array('in' => $attributeIds));
538
- } else {
539
- $attributes->addFieldToFilter('main_table.attribute_id', array('eq' => $attributeIds));
540
  }
541
- if ($isPrice) {
542
- $attributes->addFieldToFilter('main_table.frontend_input', array('eq' => 'price'));
543
- }
544
-
545
- $attributes->load();
546
 
547
- return $attributes;
548
  }
549
 
550
  private static function _generateProductAttributes(&$item, $product, $childrenProducts = null, $unitedProducts = null, $store = null)
551
  {
552
- $attributes = self::getProductAttributes(Simtech_Searchanise_Model_Queue::NOT_DATA, $store);
553
 
554
  if ($attributes) {
555
  $requiredAttributes = self::_getRequiredAttributes();
@@ -1239,11 +1210,6 @@ class Simtech_Searchanise_Helper_ApiProducts extends Mage_Core_Helper_Data
1239
 
1240
  return $items;
1241
  }
1242
-
1243
- public static function getSchemaPrices($store = null)
1244
- {
1245
- return self::getSchema(null, $store, true);
1246
- }
1247
 
1248
  public static function getSchemaCustomerGroupsPrices()
1249
  {
@@ -1263,78 +1229,57 @@ class Simtech_Searchanise_Helper_ApiProducts extends Mage_Core_Helper_Data
1263
  return $items;
1264
  }
1265
 
1266
- public static function getSchemaCategories($store)
1267
  {
1268
- $category_schema = array();
1269
- if (Mage::helper('searchanise/ApiSe')->getResultsWidgetEnabled($store)) {
1270
- $category_schema[] = array(
1271
- 'name' => 'categories',
1272
- 'title' => Mage::helper('catalog')->__('Category'),
1273
- 'type' => 'text',
1274
- 'weight' => self::WEIGHT_CATEGORIES,
1275
- 'text_search' => 'Y',
1276
- 'facet' => self::_generateFacetFromCustom(Mage::helper('catalog')->__('Category'), 10, 'categories', 'select'),
1277
- );
1278
- } else {
1279
- $category_schema[] = array(
1280
- 'name' => 'categories',
1281
- 'title' => Mage::helper('catalog')->__('Category'),
1282
- 'type' => 'text',
1283
- 'weight' => self::WEIGHT_CATEGORIES,
1284
- 'text_search' => 'Y',
1285
- );
1286
- $category_schema[] = array(
1287
- 'name' => 'category_ids',
1288
- 'title' => Mage::helper('catalog')->__('Category') . ' - IDs',
1289
- 'type' => 'text',
1290
- 'weight' => 0,
1291
- 'text_search' => 'N',
1292
- 'facet' => self::_generateFacetFromCustom(Mage::helper('catalog')->__('Category'), 10, 'category_ids', 'select'),
1293
- );
1294
- }
1295
 
1296
- return $category_schema;
1297
- }
1298
 
1299
- public static function getSchemaTags()
1300
- {
1301
- return array(
1302
- array(
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1303
  'name' => 'tags',
1304
  'title' => Mage::helper('catalog')->__('Product Tags'),
1305
  'type' => 'text',
1306
  'weight' => self::WEIGHT_TAGS,
1307
  'text_search' => 'Y',
1308
- )
1309
- );
1310
- }
1311
-
1312
- public static function getSchema($attributeIds = Simtech_Searchanise_Model_Queue::NOT_DATA, $store, $isPrice = false)
1313
- {
1314
- static $schemas;
1315
-
1316
- if (isset($schemas[$store->getId()])) {
1317
- return $schemas[$store->getId()];
1318
- }
1319
-
1320
- Mage::app()->setCurrentStore($store->getId());
1321
-
1322
- $schema = array();
1323
-
1324
- if ($attributeIds === Simtech_Searchanise_Model_Queue::NOT_DATA) {
1325
- $schema = self::getSchemaCustomerGroupsPrices();
1326
-
1327
- if ($items = self::getSchemaCategories($store)) {
1328
- foreach ($items as $keyItem => $item) {
1329
- $schema[] = $item;
1330
- }
1331
- }
1332
 
1333
- if ($items = self::getSchemaTags()) {
1334
- foreach ($items as $keyItem => $item) {
1335
- $schema[] = $item;
1336
- }
1337
- }
1338
  $schema[] = array(
1339
  'name' => 'is_in_stock',
1340
  'title' => Mage::helper('catalog')->__('Stock Availability'),
@@ -1342,21 +1287,21 @@ class Simtech_Searchanise_Helper_ApiProducts extends Mage_Core_Helper_Data
1342
  'weight' => 0,
1343
  'text_search' => 'N',
1344
  );
1345
- }
1346
 
1347
- if ($attributes = self::getProductAttributes($attributeIds, $store, $isPrice)) {
1348
- foreach ($attributes as $attribute) {
1349
- if ($items = self::getSchemaAttribute($attribute, $store)) {
1350
- foreach ($items as $keyItem => $item) {
1351
- $schema[] = $item;
 
1352
  }
1353
  }
1354
  }
1355
- }
1356
 
1357
- $schemas[$store->getId()] = $schema;
 
1358
 
1359
- return $schema;
1360
  }
1361
 
1362
  public static function getHeader($store = null)
455
 
456
  if ($textValues != '') {
457
  if ($inputType == 'multiselect') {
458
+ $values = array_map('trim', explode(',', $textValues));
459
  } else {
460
  $values[] = $textValues;
461
  }
507
  return $values;
508
  }
509
 
510
+ public static function getProductAttributes()
511
  {
512
+ static $allAttributes;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
513
 
514
+ if (!isset($allAttributes)) {
515
+ $allAttributes = Mage::getResourceModel('catalog/product_attribute_collection')->setItemObjectClass('catalog/resource_eav_attribute')->load();
 
 
 
 
 
 
 
 
 
516
  }
 
 
 
 
 
517
 
518
+ return $allAttributes;
519
  }
520
 
521
  private static function _generateProductAttributes(&$item, $product, $childrenProducts = null, $unitedProducts = null, $store = null)
522
  {
523
+ $attributes = self::getProductAttributes();
524
 
525
  if ($attributes) {
526
  $requiredAttributes = self::_getRequiredAttributes();
1210
 
1211
  return $items;
1212
  }
 
 
 
 
 
1213
 
1214
  public static function getSchemaCustomerGroupsPrices()
1215
  {
1229
  return $items;
1230
  }
1231
 
1232
+ public static function getSchema($store)
1233
  {
1234
+ static $schemas;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1235
 
1236
+ if (!isset($schemas[$store->getId()])) {
1237
+ Mage::app()->setCurrentStore($store->getId());
1238
 
1239
+ $schema = self::getSchemaCustomerGroupsPrices();
1240
+
1241
+ if (Mage::helper('searchanise/ApiSe')->getResultsWidgetEnabled($store)) {
1242
+ $schema[] = array(
1243
+ 'name' => 'categories',
1244
+ 'title' => Mage::helper('catalog')->__('Category'),
1245
+ 'type' => 'text',
1246
+ 'weight' => self::WEIGHT_CATEGORIES,
1247
+ 'text_search' => 'Y',
1248
+ 'facet' => self::_generateFacetFromCustom(Mage::helper('catalog')->__('Category'), 10, 'categories', 'select'),
1249
+ );
1250
+ $schema[] = array(
1251
+ 'name' => 'category_ids',
1252
+ 'title' => Mage::helper('catalog')->__('Category') . ' - IDs',
1253
+ 'type' => 'text',
1254
+ 'weight' => 0,
1255
+ 'text_search' => 'N',
1256
+ );
1257
+ } else {
1258
+ $schema[] = array(
1259
+ 'name' => 'categories',
1260
+ 'title' => Mage::helper('catalog')->__('Category'),
1261
+ 'type' => 'text',
1262
+ 'weight' => self::WEIGHT_CATEGORIES,
1263
+ 'text_search' => 'Y',
1264
+ );
1265
+ $schema[] = array(
1266
+ 'name' => 'category_ids',
1267
+ 'title' => Mage::helper('catalog')->__('Category') . ' - IDs',
1268
+ 'type' => 'text',
1269
+ 'weight' => 0,
1270
+ 'text_search' => 'N',
1271
+ 'facet' => self::_generateFacetFromCustom(Mage::helper('catalog')->__('Category'), 10, 'category_ids', 'select'),
1272
+ );
1273
+ }
1274
+
1275
+ $schema[] = array(
1276
  'name' => 'tags',
1277
  'title' => Mage::helper('catalog')->__('Product Tags'),
1278
  'type' => 'text',
1279
  'weight' => self::WEIGHT_TAGS,
1280
  'text_search' => 'Y',
1281
+ );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1282
 
 
 
 
 
 
1283
  $schema[] = array(
1284
  'name' => 'is_in_stock',
1285
  'title' => Mage::helper('catalog')->__('Stock Availability'),
1287
  'weight' => 0,
1288
  'text_search' => 'N',
1289
  );
 
1290
 
1291
+ if ($attributes = self::getProductAttributes()) {
1292
+ foreach ($attributes as $attribute) {
1293
+ if ($items = self::getSchemaAttribute($attribute, $store)) {
1294
+ foreach ($items as $keyItem => $item) {
1295
+ $schema[] = $item;
1296
+ }
1297
  }
1298
  }
1299
  }
 
1300
 
1301
+ $schemas[$store->getId()] = $schema;
1302
+ }
1303
 
1304
+ return $schemas[$store->getId()];
1305
  }
1306
 
1307
  public static function getHeader($store = null)
app/code/community/Simtech/Searchanise/Helper/ApiSe.php CHANGED
@@ -178,10 +178,15 @@ class Simtech_Searchanise_Helper_ApiSe
178
 
179
  public static function checkSearchaniseResult($searchaniseRequest = null, $store = null)
180
  {
181
- if ((self::getStatusModule($store) == 'Y') &&
182
- (self::checkExportStatus($store)) &&
183
- (!empty($searchaniseRequest))) {
184
 
 
 
 
 
 
185
  if ($searchaniseRequest === true) {
186
  return true;
187
  }
@@ -601,7 +606,7 @@ class Simtech_Searchanise_Helper_ApiSe
601
  public static function getApiKeys()
602
  {
603
  $ret = array();
604
- $stores = Mage::app()->getStores();
605
 
606
  if ($stores != '') {
607
  foreach ($stores as $k_store => $store) {
@@ -1038,7 +1043,7 @@ class Simtech_Searchanise_Helper_ApiSe
1038
  public static function getPrivateKeys()
1039
  {
1040
  $ret = array();
1041
- $stores = Mage::app()->getStores();
1042
 
1043
  if (!empty($stores)) {
1044
  foreach ($stores as $k_store => $store) {
@@ -1450,14 +1455,6 @@ class Simtech_Searchanise_Helper_ApiSe
1450
  );
1451
  Mage::getModel('searchanise/queue')->setData($queueData)->save();
1452
 
1453
- $queueData = array(
1454
- 'data' => Simtech_Searchanise_Model_Queue::NOT_DATA,
1455
- 'action' => Simtech_Searchanise_Model_Queue::ACT_UPDATE_ATTRIBUTES,
1456
- 'store_id' => $store->getId(),
1457
- );
1458
-
1459
- Mage::getModel('searchanise/queue')->setData($queueData)->save();
1460
-
1461
  self::_addTaskByChunk($store, $action = Simtech_Searchanise_Model_Queue::ACT_UPDATE_PRODUCTS, true);
1462
  self::_addTaskByChunk($store, $action = Simtech_Searchanise_Model_Queue::ACT_UPDATE_CATEGORIES, true);
1463
  self::_addTaskByChunk($store, $action = Simtech_Searchanise_Model_Queue::ACT_UPDATE_PAGES, true);
@@ -1511,6 +1508,7 @@ class Simtech_Searchanise_Helper_ApiSe
1511
  if (!empty($items)) {
1512
  $dataForSend = array(
1513
  'header' => $header,
 
1514
  'items' => $items,
1515
  );
1516
  }
@@ -1531,28 +1529,14 @@ class Simtech_Searchanise_Helper_ApiSe
1531
  'pages' => $pages,
1532
  );
1533
  }
1534
- } elseif ($q['action'] == Simtech_Searchanise_Model_Queue::ACT_UPDATE_ATTRIBUTES) {
1535
- $schema = null;
1536
 
1537
- if ($data == Simtech_Searchanise_Model_Queue::DATA_CATEGORIES) {
1538
- $schema = Mage::helper('searchanise/ApiProducts')->getSchemaCategories($store);
1539
-
1540
- } elseif ($data == Simtech_Searchanise_Model_Queue::DATA_FACET_PRICES) {
1541
- $schema = Mage::helper('searchanise/ApiProducts')->getSchemaPrices($store);
1542
 
1543
- } elseif ($data == Simtech_Searchanise_Model_Queue::DATA_FACET_TAGS) {
1544
- $schema = Mage::helper('searchanise/ApiProducts')->getSchemaTags();
1545
-
1546
- } else {
1547
- $schema = Mage::helper('searchanise/ApiProducts')->getSchema($data, $store);
1548
- }
1549
-
1550
- if (!empty($schema)) {
1551
- $dataForSend = array(
1552
- 'header' => $header,
1553
- 'schema' => $schema,
1554
- );
1555
- }
1556
  }
1557
 
1558
  if (!empty($dataForSend)) {
@@ -1625,8 +1609,7 @@ class Simtech_Searchanise_Helper_ApiSe
1625
 
1626
  public static function echoConnectProgress($text)
1627
  {
1628
- // It is commented out as far as the warning occurs
1629
- //~ echo $text;
1630
  }
1631
 
1632
  public static function sendAddonStatusRequest($status = 'enabled', $curStore = NULL)
178
 
179
  public static function checkSearchaniseResult($searchaniseRequest = null, $store = null)
180
  {
181
+ if (empty($store)) {
182
+ $store = Mage::app()->getStore();
183
+ }
184
 
185
+ if (!empty(self::$seStoreIds) && !in_array($store->getId(), self::$seStoreIds)) {
186
+ return false;
187
+ }
188
+
189
+ if (self::getStatusModule($store) == 'Y' && self::checkExportStatus($store) && !empty($searchaniseRequest)) {
190
  if ($searchaniseRequest === true) {
191
  return true;
192
  }
606
  public static function getApiKeys()
607
  {
608
  $ret = array();
609
+ $stores = self::getStores();
610
 
611
  if ($stores != '') {
612
  foreach ($stores as $k_store => $store) {
1043
  public static function getPrivateKeys()
1044
  {
1045
  $ret = array();
1046
+ $stores = self::getStores();
1047
 
1048
  if (!empty($stores)) {
1049
  foreach ($stores as $k_store => $store) {
1455
  );
1456
  Mage::getModel('searchanise/queue')->setData($queueData)->save();
1457
 
 
 
 
 
 
 
 
 
1458
  self::_addTaskByChunk($store, $action = Simtech_Searchanise_Model_Queue::ACT_UPDATE_PRODUCTS, true);
1459
  self::_addTaskByChunk($store, $action = Simtech_Searchanise_Model_Queue::ACT_UPDATE_CATEGORIES, true);
1460
  self::_addTaskByChunk($store, $action = Simtech_Searchanise_Model_Queue::ACT_UPDATE_PAGES, true);
1508
  if (!empty($items)) {
1509
  $dataForSend = array(
1510
  'header' => $header,
1511
+ 'schema' => Mage::helper('searchanise/ApiProducts')->getSchema($store),
1512
  'items' => $items,
1513
  );
1514
  }
1529
  'pages' => $pages,
1530
  );
1531
  }
 
 
1532
 
1533
+ } elseif ($q['action'] == Simtech_Searchanise_Model_Queue::ACT_UPDATE_ATTRIBUTES) {
1534
+ $schema = Mage::helper('searchanise/ApiProducts')->getSchema($store);
 
 
 
1535
 
1536
+ $dataForSend = array(
1537
+ 'header' => $header,
1538
+ 'schema' => $schema,
1539
+ );
 
 
 
 
 
 
 
 
 
1540
  }
1541
 
1542
  if (!empty($dataForSend)) {
1609
 
1610
  public static function echoConnectProgress($text)
1611
  {
1612
+ echo $text;
 
1613
  }
1614
 
1615
  public static function sendAddonStatusRequest($status = 'enabled', $curStore = NULL)
app/code/community/Simtech/Searchanise/Model/Observer.php CHANGED
@@ -572,46 +572,6 @@ class Simtech_Searchanise_Model_Observer
572
  */
573
  public function searchaniseAdminhtmlConfigDataSaveAfter(Varien_Event_Observer $observer)
574
  {
575
- $model = $observer->getData('object');
576
- $section = $model->getSection();
577
- $storesIds = $model->getStore();
578
- $website = $model->getWebsite();
579
-
580
- if (empty($storesIds)) {
581
- if (!empty($website)) {
582
- $storesIds = Mage::helper('searchanise/ApiSe')->getStoreByWebsiteCodes($website);
583
- }
584
- }
585
-
586
- $stores = Mage::helper('searchanise/ApiSe')->getStores(null, $storesIds);
587
-
588
- if (!empty($stores)) {
589
- if ($section == 'catalog') {
590
- foreach ($stores as $k => $store) {
591
- if ($attributes = Mage::helper('searchanise/ApiProducts')->getProductAttributes(null, $store, true)) {
592
- foreach ($attributes as $attribute) {
593
- Mage::getModel('searchanise/queue')->addAction(Simtech_Searchanise_Model_Queue::ACT_UPDATE_ATTRIBUTES, $attribute->getId(), $store);
594
- }
595
- }
596
-
597
- // change facet-prices
598
- {
599
- $queueData = array(
600
- 'data' => serialize(Simtech_Searchanise_Model_Queue::DATA_FACET_PRICES),
601
- 'action' => Simtech_Searchanise_Model_Queue::ACT_UPDATE_ATTRIBUTES,
602
- 'store_id' => $store->getId(),
603
- );
604
-
605
- Mage::getModel('searchanise/queue')->setData($queueData)->save();
606
- }
607
- }
608
-
609
- // Change status module
610
- } elseif ($section == 'advanced') {
611
-
612
- }
613
- }
614
-
615
  return $this;
616
  }
617
 
572
  */
573
  public function searchaniseAdminhtmlConfigDataSaveAfter(Varien_Event_Observer $observer)
574
  {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
575
  return $this;
576
  }
577
 
app/code/community/Simtech/Searchanise/Model/Queue.php CHANGED
@@ -14,17 +14,7 @@
14
 
15
  class Simtech_Searchanise_Model_Queue extends Mage_Core_Model_Abstract
16
  {
17
- const NOT_DATA = 'N';
18
- const DATA_FACET_TAGS = 'facet_tags';
19
- const DATA_FACET_PRICES = 'facet_prices';
20
-
21
- const DATA_CATEGORIES = 'categories';
22
-
23
- public static $dataTypes = array(
24
- self::DATA_FACET_TAGS,
25
- self::DATA_FACET_PRICES,
26
- self::DATA_CATEGORIES,
27
- );
28
 
29
  const ACT_PHRASE = 'phrase';
30
 
14
 
15
  class Simtech_Searchanise_Model_Queue extends Mage_Core_Model_Abstract
16
  {
17
+ const NOT_DATA = 'N';
 
 
 
 
 
 
 
 
 
 
18
 
19
  const ACT_PHRASE = 'phrase';
20
 
app/code/community/Simtech/Searchanise/controllers/AsyncController.php CHANGED
@@ -72,63 +72,34 @@ class Simtech_Searchanise_AsyncController extends Mage_Core_Controller_Front_Act
72
  {
73
  if (Mage::helper('searchanise/ApiSe')->getStatusModule() == 'Y') {
74
  $checkKey = Mage::helper('searchanise')->checkPrivateKey();
75
-
76
- // not need because it checked in the "Async.php" block
77
- // if (Mage::helper('searchanise/ApiSe')->checkStartAsync()) {
78
- if (true) {
79
- $check = true;
80
- // code if need use httprequest
81
- // $check = $this->checkNotUseHttpRequest();
82
- // Mage::app('admin')->setUseSessionInUrl(false);
83
- // Mage::app('customer')->setUseSessionInUrl(false); // need check: sometimes not work properly (the async script will not start)
84
- // end code
85
 
86
- if ($check) {
87
- @ignore_user_abort(true);
88
- @set_time_limit(0);
89
- if ($checkKey && $this->getRequest()->getParam('display_errors') === 'Y') {
90
- @error_reporting(E_ALL | E_STRICT);
91
- @ini_set('display_errors', 1);
92
- @ini_set('display_startup_errors', 1);
93
- } else {
94
- @error_reporting(0);
95
- @ini_set('display_errors', 0);
96
- @ini_set('display_startup_errors', 0);
97
- }
98
- $flIgnoreProcessing = false;
99
- if ($checkKey && $this->getRequest()->getParam('ignore_processing') === 'Y') {
100
- $flIgnoreProcessing = true;
101
- }
102
 
103
- $result = Mage::helper('searchanise/ApiSe')->async($flIgnoreProcessing);
 
 
 
104
 
105
- if ($this->checkShowSatusAsync()) {
106
- echo 'Searchanise status sync: ';
107
- echo $result;
108
- }
109
-
110
- die();
111
-
112
- } else {
113
- @ignore_user_abort(false);
114
- @set_time_limit(Mage::helper('searchanise/ApiSe')->getAjaxAsyncTimeout());
115
- $asyncUrl = Mage::helper('searchanise/ApiSe')->getAsyncUrl(false, 0, false);
116
 
117
- Mage::helper('searchanise/ApiSe')->httpRequest(
118
- Zend_Http_Client::GET,
119
- $asyncUrl,
120
- array(
121
- Simtech_Searchanise_Helper_ApiSe::NOT_USE_HTTP_REQUEST => Simtech_Searchanise_Helper_ApiSe::NOT_USE_HTTP_REQUEST_KEY,
122
- ),
123
- array(),
124
- array(),
125
- Mage::helper('searchanise/ApiSe')->getAjaxAsyncTimeout(),
126
- 2 // maxredirects
127
- );
128
- }
129
  }
 
 
130
  }
131
-
132
  return $this;
133
  }
134
  }
72
  {
73
  if (Mage::helper('searchanise/ApiSe')->getStatusModule() == 'Y') {
74
  $checkKey = Mage::helper('searchanise')->checkPrivateKey();
 
 
 
 
 
 
 
 
 
 
75
 
76
+ @ignore_user_abort(true);
77
+ @set_time_limit(0);
78
+ if ($checkKey && $this->getRequest()->getParam('display_errors') === 'Y') {
79
+ @error_reporting(E_ALL | E_STRICT);
80
+ @ini_set('display_errors', 1);
81
+ @ini_set('display_startup_errors', 1);
82
+ } else {
83
+ @error_reporting(0);
84
+ @ini_set('display_errors', 0);
85
+ @ini_set('display_startup_errors', 0);
86
+ }
 
 
 
 
 
87
 
88
+ $flIgnoreProcessing = false;
89
+ if ($checkKey && $this->getRequest()->getParam('ignore_processing') === 'Y') {
90
+ $flIgnoreProcessing = true;
91
+ }
92
 
93
+ $result = Mage::helper('searchanise/ApiSe')->async($flIgnoreProcessing);
 
 
 
 
 
 
 
 
 
 
94
 
95
+ if ($this->checkShowSatusAsync()) {
96
+ echo 'Searchanise status sync: ';
97
+ echo $result;
 
 
 
 
 
 
 
 
 
98
  }
99
+
100
+ exit();
101
  }
102
+
103
  return $this;
104
  }
105
  }
app/code/community/Simtech/Searchanise/controllers/InfoController.php CHANGED
@@ -136,7 +136,7 @@ class Simtech_Searchanise_InfoController extends Mage_Core_Controller_Front_Acti
136
  $feed = array(
137
  'header' => Mage::helper('searchanise/ApiProducts')->getHeader($store),
138
  'items' => $productFeeds,
139
- 'schema' => Mage::helper('searchanise/ApiProducts')->getSchema(Simtech_Searchanise_Model_Queue::NOT_DATA, $store),
140
  'categories' => Mage::helper('searchanise/ApiCategories')->generateCategoriesFeed(Simtech_Searchanise_Model_Queue::NOT_DATA, $store, true),
141
  );
142
 
@@ -156,7 +156,7 @@ class Simtech_Searchanise_InfoController extends Mage_Core_Controller_Front_Acti
156
  $feed = array(
157
  'header' => Mage::helper('searchanise/ApiProducts')->getHeader($store),
158
  'items' => Mage::helper('searchanise/ApiProducts')->generateProductsFeed($productIds, $store, $checkData),
159
- 'schema' => Mage::helper('searchanise/ApiProducts')->getSchema(Simtech_Searchanise_Model_Queue::NOT_DATA, $store),
160
  'categories' => Mage::helper('searchanise/ApiCategories')->generateCategoriesFeed($categoryIds, $store, $checkData),
161
  'pages' => Mage::helper('searchanise/ApiPages')->generatePagesFeed($pageIds, $store, $checkData),
162
  );
136
  $feed = array(
137
  'header' => Mage::helper('searchanise/ApiProducts')->getHeader($store),
138
  'items' => $productFeeds,
139
+ 'schema' => Mage::helper('searchanise/ApiProducts')->getSchema($store),
140
  'categories' => Mage::helper('searchanise/ApiCategories')->generateCategoriesFeed(Simtech_Searchanise_Model_Queue::NOT_DATA, $store, true),
141
  );
142
 
156
  $feed = array(
157
  'header' => Mage::helper('searchanise/ApiProducts')->getHeader($store),
158
  'items' => Mage::helper('searchanise/ApiProducts')->generateProductsFeed($productIds, $store, $checkData),
159
+ 'schema' => Mage::helper('searchanise/ApiProducts')->getSchema($store),
160
  'categories' => Mage::helper('searchanise/ApiCategories')->generateCategoriesFeed($categoryIds, $store, $checkData),
161
  'pages' => Mage::helper('searchanise/ApiPages')->generatePagesFeed($pageIds, $store, $checkData),
162
  );
app/code/community/Simtech/Searchanise/etc/config.xml CHANGED
@@ -15,7 +15,7 @@
15
  <config>
16
  <modules>
17
  <Simtech_Searchanise>
18
- <version>3.1.3</version>
19
  </Simtech_Searchanise>
20
  </modules>
21
  <frontend>
@@ -580,7 +580,7 @@
580
  <pages_per_pass>50</pages_per_pass>
581
  <max_error_count>25</max_error_count>
582
  <max_processing_thread>3</max_processing_thread>
583
- <max_processing_time>720</max_processing_time>
584
  <max_search_request_length>8000</max_search_request_length>
585
  <service_url>http://www.searchanise.com</service_url>
586
  <cron_async_enabled>1</cron_async_enabled>
15
  <config>
16
  <modules>
17
  <Simtech_Searchanise>
18
+ <version>3.1.4</version>
19
  </Simtech_Searchanise>
20
  </modules>
21
  <frontend>
580
  <pages_per_pass>50</pages_per_pass>
581
  <max_error_count>25</max_error_count>
582
  <max_processing_thread>3</max_processing_thread>
583
+ <max_processing_time>120</max_processing_time>
584
  <max_search_request_length>8000</max_search_request_length>
585
  <service_url>http://www.searchanise.com</service_url>
586
  <cron_async_enabled>1</cron_async_enabled>
app/code/community/Simtech/Searchanise/etc/config_without_search.xml CHANGED
@@ -15,7 +15,7 @@
15
  <config>
16
  <modules>
17
  <Simtech_Searchanise>
18
- <version>3.1.3</version>
19
  </Simtech_Searchanise>
20
  </modules>
21
  <frontend>
@@ -579,7 +579,7 @@
579
  <pages_per_pass>50</pages_per_pass>
580
  <max_error_count>25</max_error_count>
581
  <max_processing_thread>3</max_processing_thread>
582
- <max_processing_time>720</max_processing_time>
583
  <max_search_request_length>8000</max_search_request_length>
584
  <service_url>http://www.searchanise.com</service_url>
585
  <cron_async_enabled>1</cron_async_enabled>
15
  <config>
16
  <modules>
17
  <Simtech_Searchanise>
18
+ <version>3.1.4</version>
19
  </Simtech_Searchanise>
20
  </modules>
21
  <frontend>
579
  <pages_per_pass>50</pages_per_pass>
580
  <max_error_count>25</max_error_count>
581
  <max_processing_thread>3</max_processing_thread>
582
+ <max_processing_time>120</max_processing_time>
583
  <max_search_request_length>8000</max_search_request_length>
584
  <service_url>http://www.searchanise.com</service_url>
585
  <cron_async_enabled>1</cron_async_enabled>
app/design/adminhtml/default/default/template/searchanise/dashboard.phtml CHANGED
@@ -55,7 +55,7 @@
55
 
56
  <?php
57
  if (!empty($searchaniseOptions['parent_private_key'])) {
58
- $stores = Mage::app()->getStores();
59
 
60
  if (!empty($stores)) {
61
  foreach($stores as $keyStore => $store) {
55
 
56
  <?php
57
  if (!empty($searchaniseOptions['parent_private_key'])) {
58
+ $stores = Mage::helper('searchanise/ApiSe')->getStores();
59
 
60
  if (!empty($stores)) {
61
  foreach($stores as $keyStore => $store) {
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Simtech_Searchanise</name>
4
- <version>3.1.3</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,15 +10,15 @@
10
  <description>Searchanise is a 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>[+] Added the ability to choose the frequency and the type of indexation.&lt;br&gt;&#xD;
14
- [+] Added the ability to show the discounted price of a product along with a crossed out original price.&lt;br&gt;&#xD;
15
- [!] Some products weren't displayed in the shopping cart on the search results page. Fixed.&lt;br&gt;&#xD;
16
- [!] There was a PHP Fatal error in some storefront themes.Fixed.&lt;br&gt;&#xD;
17
- [!] Unavailable categories for the store were displayed in the category filter. Fixed.&lt;br&gt;</notes>
18
  <authors><author><name>Simbirsk Technologies, Ltd.</name><user>searchanise</user><email>sales@searchanise.com</email></author></authors>
19
- <date>2016-10-13</date>
20
- <time>11:11:42</time>
21
- <contents><target name="magecommunity"><dir name="Simtech"><dir name="Searchanise"><dir name="Block"><file name="Async.php" hash="7fb3859416e0d468235082ca41c5a96b"/><file name="Autocomplete.php" hash="efc89ac3f897be3bc307fba6a36778f0"/><file name="Jsinit.php" hash="4145ad4bcf1e7cec7ac8426e6ac06060"/><dir name="Product"><dir name="List"><file name="Toolbar.php" hash="5477041c73350c0f32fdaf5b7c6b99fc"/></dir></dir><file name="Result.php" hash="dec7b27ab9511c956680eb60eba9b95e"/><file name="Resultwidget.php" hash="9b3ec31ad83ca02ca79bbdfc785f8afe"/></dir><dir name="Helper"><file name="ApiCategories.php" hash="06a5d63372280ef0feaa833b23388a09"/><file name="ApiPages.php" hash="40b2c244bb969d3d1a3202e34059e14e"/><file name="ApiProducts.php" hash="8dca826ed27c53ee24c4d4898356b837"/><file name="ApiSe.php" hash="424cabd793ca2af53bd6808aa22b12c7"/><file name="Data.php" hash="5b0ef0e2a1d184eef83c0768176eea35"/></dir><dir name="Model"><file name="Advanced.php" hash="e0c92b53cec8fbbfdd79690612c7ee84"/><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="Mysql4"><dir name="Advanced"><file name="Collection.php" hash="82f14d57f16becba0a576bfa35dc18cf"/></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="431fd272a82b1a2c9cfc54426a708c9d"/></dir><dir name="Product"><file name="Collection.php" hash="362189f7cf1b9f641bcf3b2867a24053"/></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="4d3e991b9875019baacd5a0613d02476"/><file name="Queue.php" hash="8dc9eea6410f5e608b815419154af3df"/><file name="Request.php" hash="02d5d46fdbd7923cbc407c40df1d68c0"/><dir name="Resource"><dir name="Advanced"><file name="Collection.php" hash="cca207daff9020bd8c7af40a8955f2dd"/></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="9733be52c1a429364a01d3ed730ac1f2"/></dir><dir name="Layer"><dir name="Filter"><file name="Attribute.php" hash="206e81ee170a56fac499169e66ad782d"/><file name="Price.php" hash="57d56f6841c0e2b89c21947aa2a23e86"/></dir></dir><dir name="Product"><file name="Collection.php" hash="b347fc43ae62f9c6a0d797cc265c38ef"/></dir><file name="Store.php" hash="6a337d4b6561aa96b96236d66cc9aa30"/></dir><file name="Searchanise.php" hash="a925b75ff5b088f447cc3369c33335a1"/><dir name="System"><dir name="Config"><dir name="Source"><dir name="Searchanise"><dir name="Sync"><file name="Modes.php" hash="806d2debaa75419b57d036ae59808c98"/></dir><file name="TypeAsync.php" hash="11d1aa481094ccbeab365b1fed33440d"/></dir></dir></dir></dir><dir name="Tag"><file name="Relation.php" hash="598f81fd8b2ac77baf24211c2ed03e55"/></dir></dir><dir name="controllers"><dir name="Adminhtml"><file name="SearchaniseController.php" hash="b05fe6f1b3d318a7186ec60b15e0fb04"/></dir><file name="AsyncController.php" hash="1fcec63f99231fc260995ae98aaaf86f"/><file name="InfoController.php" hash="3f0792529e3b8840eaed3035507cdc27"/><file name="ResultController.php" hash="260d0eec9bcb5d2048cf2f0c0040a1cc"/></dir><dir name="etc"><file name="config.xml" hash="2f064985fbc1504f50d93cc76367598b"/><file name="config_without_search.xml" hash="730f5987d980e62456c1ab9f965171ea"/><file name="system.xml" hash="37878b17367297f32cbfde40b981d03e"/></dir><dir name="sql"><dir name="searchanise_setup"><file name="mysql4-install-0.1.0.php" hash="754324c8783e9cc24de86396e1587e73"/><file name="mysql4-upgrade-3.1.1-3.1.2.php" hash="e231089afcc5e6a0e3e75f754a80a6f7"/></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="3925c38299c0b055e8aa0c1bc9e6a39e"/></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="0e2795c2e3c5f5af5544bb8471d67037"/></dir><dir name="template"><dir name="searchanise"><file name="resultwidget.phtml" hash="f4cf9ce97294275b5ae9d8e2252be41b"/></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="955cdb2011b7abf04227aae37db5bb0b"/></dir></target></contents>
22
  <compatible/>
23
  <dependencies><required><php><min>5.2.13</min><max>10.0.0</max></php></required></dependencies>
24
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Simtech_Searchanise</name>
4
+ <version>3.1.4</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 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>[*] Products export from the store become more stable.&lt;br&gt;&#xD;
14
+ [!] Search may didn't work after the new user group was added. Fixed.&lt;br&gt;&#xD;
15
+ [!] Inactive products were shown in the search results widget. Fixed.&lt;br&gt;&#xD;
16
+ [!] Out of stock products were shown in the search results widget. Fixed.&lt;br&gt;&#xD;
17
+ [!] Wrong export of the 'Multiple Select' data attribute of the product. Fixed.&lt;br&gt;</notes>
18
  <authors><author><name>Simbirsk Technologies, Ltd.</name><user>searchanise</user><email>sales@searchanise.com</email></author></authors>
19
+ <date>2016-11-21</date>
20
+ <time>12:44:19</time>
21
+ <contents><target name="magecommunity"><dir name="Simtech"><dir name="Searchanise"><dir name="Block"><file name="Async.php" hash="7fb3859416e0d468235082ca41c5a96b"/><file name="Autocomplete.php" hash="efc89ac3f897be3bc307fba6a36778f0"/><file name="Jsinit.php" hash="1434dc8d8161e9f4d25f89d5fb76fdf5"/><dir name="Product"><dir name="List"><file name="Toolbar.php" hash="5477041c73350c0f32fdaf5b7c6b99fc"/></dir></dir><file name="Result.php" hash="dec7b27ab9511c956680eb60eba9b95e"/><file name="Resultwidget.php" hash="9b3ec31ad83ca02ca79bbdfc785f8afe"/></dir><dir name="Helper"><file name="ApiCategories.php" hash="06a5d63372280ef0feaa833b23388a09"/><file name="ApiPages.php" hash="40b2c244bb969d3d1a3202e34059e14e"/><file name="ApiProducts.php" hash="bd8955cc6736fd709a1510a78126ef8e"/><file name="ApiSe.php" hash="60542609fd0a8cfe3ca992915dd9344b"/><file name="Data.php" hash="5b0ef0e2a1d184eef83c0768176eea35"/></dir><dir name="Model"><file name="Advanced.php" hash="e0c92b53cec8fbbfdd79690612c7ee84"/><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="Mysql4"><dir name="Advanced"><file name="Collection.php" hash="82f14d57f16becba0a576bfa35dc18cf"/></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="431fd272a82b1a2c9cfc54426a708c9d"/></dir><dir name="Product"><file name="Collection.php" hash="362189f7cf1b9f641bcf3b2867a24053"/></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="35c5d8d8460b2dd9d3fdabc1135ad7be"/><file name="Queue.php" hash="dad05d5dda35cbbf6148c2bad13f9787"/><file name="Request.php" hash="02d5d46fdbd7923cbc407c40df1d68c0"/><dir name="Resource"><dir name="Advanced"><file name="Collection.php" hash="cca207daff9020bd8c7af40a8955f2dd"/></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="9733be52c1a429364a01d3ed730ac1f2"/></dir><dir name="Layer"><dir name="Filter"><file name="Attribute.php" hash="206e81ee170a56fac499169e66ad782d"/><file name="Price.php" hash="57d56f6841c0e2b89c21947aa2a23e86"/></dir></dir><dir name="Product"><file name="Collection.php" hash="b347fc43ae62f9c6a0d797cc265c38ef"/></dir><file name="Store.php" hash="6a337d4b6561aa96b96236d66cc9aa30"/></dir><file name="Searchanise.php" hash="a925b75ff5b088f447cc3369c33335a1"/><dir name="System"><dir name="Config"><dir name="Source"><dir name="Searchanise"><dir name="Sync"><file name="Modes.php" hash="806d2debaa75419b57d036ae59808c98"/></dir><file name="TypeAsync.php" hash="11d1aa481094ccbeab365b1fed33440d"/></dir></dir></dir></dir><dir name="Tag"><file name="Relation.php" hash="598f81fd8b2ac77baf24211c2ed03e55"/></dir></dir><dir name="controllers"><dir name="Adminhtml"><file name="SearchaniseController.php" hash="b05fe6f1b3d318a7186ec60b15e0fb04"/></dir><file name="AsyncController.php" hash="0b93b97c95a5bdd19f528e4de403add8"/><file name="InfoController.php" hash="49f89219f996b46487f39cd818afb24c"/><file name="ResultController.php" hash="260d0eec9bcb5d2048cf2f0c0040a1cc"/></dir><dir name="etc"><file name="config.xml" hash="f7b001da947e8e232197177a62573ce2"/><file name="config_without_search.xml" hash="b6250383c8be36206e50b66d8cf90508"/><file name="system.xml" hash="37878b17367297f32cbfde40b981d03e"/></dir><dir name="sql"><dir name="searchanise_setup"><file name="mysql4-install-0.1.0.php" hash="754324c8783e9cc24de86396e1587e73"/><file name="mysql4-upgrade-3.1.1-3.1.2.php" hash="e231089afcc5e6a0e3e75f754a80a6f7"/></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="31feeecd593c462b146587ce3db07132"/></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="0e2795c2e3c5f5af5544bb8471d67037"/></dir><dir name="template"><dir name="searchanise"><file name="resultwidget.phtml" hash="f4cf9ce97294275b5ae9d8e2252be41b"/></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="955cdb2011b7abf04227aae37db5bb0b"/></dir></target></contents>
22
  <compatible/>
23
  <dependencies><required><php><min>5.2.13</min><max>10.0.0</max></php></required></dependencies>
24
  </package>