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 +4 -1
- app/code/community/Simtech/Searchanise/Helper/ApiProducts.php +58 -113
- app/code/community/Simtech/Searchanise/Helper/ApiSe.php +18 -35
- app/code/community/Simtech/Searchanise/Model/Observer.php +0 -40
- app/code/community/Simtech/Searchanise/Model/Queue.php +1 -11
- app/code/community/Simtech/Searchanise/controllers/AsyncController.php +22 -51
- app/code/community/Simtech/Searchanise/controllers/InfoController.php +2 -2
- app/code/community/Simtech/Searchanise/etc/config.xml +2 -2
- app/code/community/Simtech/Searchanise/etc/config_without_search.xml +2 -2
- app/design/adminhtml/default/default/template/searchanise/dashboard.phtml +1 -1
- package.xml +9 -9
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(
|
511 |
{
|
512 |
-
|
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 |
-
|
530 |
-
|
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 $
|
548 |
}
|
549 |
|
550 |
private static function _generateProductAttributes(&$item, $product, $childrenProducts = null, $unitedProducts = null, $store = null)
|
551 |
{
|
552 |
-
$attributes = self::getProductAttributes(
|
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
|
1267 |
{
|
1268 |
-
|
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 |
-
|
1297 |
-
|
1298 |
|
1299 |
-
|
1300 |
-
|
1301 |
-
|
1302 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
-
|
1348 |
-
|
1349 |
-
|
1350 |
-
|
1351 |
-
|
|
|
1352 |
}
|
1353 |
}
|
1354 |
}
|
1355 |
-
}
|
1356 |
|
1357 |
-
|
|
|
1358 |
|
1359 |
-
return $
|
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 ((
|
182 |
-
|
183 |
-
|
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 =
|
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 =
|
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 |
-
|
1538 |
-
|
1539 |
-
|
1540 |
-
} elseif ($data == Simtech_Searchanise_Model_Queue::DATA_FACET_PRICES) {
|
1541 |
-
$schema = Mage::helper('searchanise/ApiProducts')->getSchemaPrices($store);
|
1542 |
|
1543 |
-
|
1544 |
-
|
1545 |
-
|
1546 |
-
|
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 |
-
|
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
|
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 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
}
|
98 |
-
$flIgnoreProcessing = false;
|
99 |
-
if ($checkKey && $this->getRequest()->getParam('ignore_processing') === 'Y') {
|
100 |
-
$flIgnoreProcessing = true;
|
101 |
-
}
|
102 |
|
103 |
-
|
|
|
|
|
|
|
104 |
|
105 |
-
|
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 |
-
|
118 |
-
|
119 |
-
|
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(
|
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(
|
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.
|
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>
|
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.
|
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>
|
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::
|
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.
|
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.
|
11 |

|
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>[
|
14 |
-
[
|
15 |
-
[!]
|
16 |
-
[!]
|
17 |
-
[!]
|
18 |
<authors><author><name>Simbirsk Technologies, Ltd.</name><user>searchanise</user><email>sales@searchanise.com</email></author></authors>
|
19 |
-
<date>2016-
|
20 |
-
<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="
|
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.
|
11 |

|
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.<br>
|
14 |
+
[!] Search may didn't work after the new user group was added. Fixed.<br>
|
15 |
+
[!] Inactive products were shown in the search results widget. Fixed.<br>
|
16 |
+
[!] Out of stock products were shown in the search results widget. Fixed.<br>
|
17 |
+
[!] Wrong export of the 'Multiple Select' data attribute of the product. Fixed.<br></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>
|