Personalized-localized-and-Intelligent-Site-Search - Version 1.1.4

Version Notes

Any questions or concerns, please email cs@tagalys.com and we will get back to you in less than 24 hours.

Download this release

Release Info

Developer Palani
Extension Personalized-localized-and-Intelligent-Site-Search
Version 1.1.4
Comparing to
See all releases


Code changes from version 1.1.3 to 1.1.4

app/code/community/Tagalys/Core/Helper/Data.php CHANGED
@@ -17,40 +17,52 @@ class Tagalys_Core_Helper_Data extends Mage_Core_Helper_Abstract {
17
  return false;
18
  }
19
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
20
  public function getProductCategories($id) {
21
- $clist = "";
22
- $temp = array();
23
- $productObj = Mage::getModel('catalog/product')->load($id);
24
- $categoryIds = $productObj->getCategoryIds();
25
- $catId = array();
26
  foreach ($categoryIds as $key => $value) {
27
  $category = Mage::getModel('catalog/category')->load($value);
28
  if ($category->getIsActive()) {
29
- $catId[] = $value;
30
  }
31
  }
32
- foreach ($catId as $key => $value) {
33
- $m = Mage::getModel('catalog/category')
34
- ->load($value)
35
- ->getParentCategory();
36
-
37
- $tempval = explode("1/2",$m->getPath());
38
- if (!empty($tempval[1])) {
39
- $path = $tempval[1]."/".$value;
40
- $category = explode("/", $path);
41
- foreach ($category as $category_id) {
42
- $categoryList = array();
43
- if ($category_id != 1 && $category_id != 2) {
44
- $_cat = Mage::getModel('catalog/category')->setStoreId(Mage::app()->getStore()->getId())->load($category_id);
45
- $sub_categories = array("id" => $_cat->getId() , "label" => $_cat->getName());
46
- $categoryList[] = array("id" => $m->getId() , "label" => $m->getName(), "items" => array($sub_categories));
47
- }
48
- }
49
- $temp[] = $categoryList[0];
50
- }
51
  }
52
- return $temp;
 
53
  }
 
54
  public function getStoresForTagalys() {
55
  $config_stores = Mage::getModel('tagalys_core/config')->getTagalysConfig("stores");
56
 
@@ -60,6 +72,7 @@ class Tagalys_Core_Helper_Data extends Mage_Core_Helper_Abstract {
60
  }
61
  return array();
62
  }
 
63
  public function getAllWebsiteStores() {
64
  foreach (Mage::app()->getWebsites() as $website) {
65
  foreach ($website->getGroups() as $group) {
17
  return false;
18
  }
19
 
20
+ public function detailsFromCategoryTree($categoriesTree) {
21
+ $detailsTree = array();
22
+ foreach($categoriesTree as $categoryId => $subCategoriesTree) {
23
+ $category = Mage::getModel('catalog/category')->load($categoryId);
24
+ $thisCategoryDetails = array("id" => $category->getId() , "label" => $category->getName());
25
+ $subCategoriesCount = count($subCategoriesTree);
26
+ if ($subCategoriesCount > 0) {
27
+ $thisCategoryDetails['items'] = $this->detailsFromCategoryTree($subCategoriesTree);
28
+ }
29
+ array_push($detailsTree, $thisCategoryDetails);
30
+ }
31
+ return $detailsTree;
32
+ }
33
+
34
+ public function mergeIntoCategoriesTree($categoriesTree, $pathIds) {
35
+ $pathIdsCount = count($pathIds);
36
+ if (!array_key_exists($pathIds[0], $categoriesTree)) {
37
+ $categoriesTree[$pathIds[0]] = array();
38
+ }
39
+ if ($pathIdsCount > 1) {
40
+ $categoriesTree[$pathIds[0]] = $this->mergeIntoCategoriesTree($categoriesTree[$pathIds[0]], array_slice($pathIds, 1));
41
+ }
42
+ return $categoriesTree;
43
+ }
44
+
45
  public function getProductCategories($id) {
46
+ $product = Mage::getModel('catalog/product')->load($id);
47
+ $categoryIds = $product->getCategoryIds();
48
+ $activeCategoryPaths = array();
 
 
49
  foreach ($categoryIds as $key => $value) {
50
  $category = Mage::getModel('catalog/category')->load($value);
51
  if ($category->getIsActive()) {
52
+ $activeCategoryPaths[] = $category->getPath();
53
  }
54
  }
55
+ $activeCategoriesTree = array();
56
+ foreach($activeCategoryPaths as $activeCategoryPath) {
57
+ $pathIds = explode('/', $activeCategoryPath);
58
+ // skip the first two levels which are 'Root Catalog' and the Store's root
59
+ $pathIds = array_splice($pathIds, 2);
60
+ $activeCategoriesTree = $this->mergeIntoCategoriesTree($activeCategoriesTree, $pathIds);
 
 
 
 
 
 
 
 
 
 
 
 
 
61
  }
62
+ $activeCategoryDetailsTree = $this->detailsFromCategoryTree($activeCategoriesTree);
63
+ return $activeCategoryDetailsTree;
64
  }
65
+
66
  public function getStoresForTagalys() {
67
  $config_stores = Mage::getModel('tagalys_core/config')->getTagalysConfig("stores");
68
 
72
  }
73
  return array();
74
  }
75
+
76
  public function getAllWebsiteStores() {
77
  foreach (Mage::app()->getWebsites() as $website) {
78
  foreach ($website->getGroups() as $group) {
app/code/community/Tagalys/Core/Helper/Service.php CHANGED
@@ -10,6 +10,7 @@ class Tagalys_Core_Helper_Service extends Mage_Core_Helper_Abstract {
10
  $utc_now = new DateTime("now", new DateTimeZone('UTC'));
11
  $time_now = $utc_now->format(DateTime::ATOM);
12
  $attr_data = array();
 
13
  $attributes = $details_model->getProductAttributes($product_id, $store_id, array_keys((array) $product_data));
14
  $product_data = $details_model->getProductFields($product_id, $store_id);
15
  $product_data->synced_at = $time_now;
10
  $utc_now = new DateTime("now", new DateTimeZone('UTC'));
11
  $time_now = $utc_now->format(DateTime::ATOM);
12
  $attr_data = array();
13
+ Mage::app()->setCurrentStore($store_id);
14
  $attributes = $details_model->getProductAttributes($product_id, $store_id, array_keys((array) $product_data));
15
  $product_data = $details_model->getProductFields($product_id, $store_id);
16
  $product_data->synced_at = $time_now;
app/code/community/Tagalys/Core/etc/config.xml CHANGED
@@ -6,7 +6,7 @@
6
  <tagalys>
7
  <package>
8
  <name>Search</name>
9
- <version>1.1.3</version>
10
  </package>
11
  </tagalys>
12
  </default>
6
  <tagalys>
7
  <package>
8
  <name>Search</name>
9
+ <version>1.1.4</version>
10
  </package>
11
  </tagalys>
12
  </default>
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Personalized-localized-and-Intelligent-Site-Search</name>
4
- <version>1.1.3</version>
5
  <stability>stable</stability>
6
  <license>Tagalys</license>
7
  <channel>community</channel>
@@ -10,9 +10,9 @@
10
  <description>The extension powers search suggestions and resulting search results. Upon clicking the search bar, show visitors the most popular or trending searches in your ecommerce store. When a visitor starts typing, we auto complete the query into suggestions from the active product-tag-attribute database. </description>
11
  <notes>Any questions or concerns, please email cs@tagalys.com and we will get back to you in less than 24 hours. </notes>
12
  <authors><author><name>Palani</name><user>Palani</user><email>pc@tagalys.com</email></author></authors>
13
- <date>2017-04-19</date>
14
- <time>16:26:26</time>
15
- <contents><target name="mageetc"><dir><dir name="modules"><file name="Tagalys_Core.xml" hash="7576ed5aa125c580f0b791018f24a0e9"/><file name="Tagalys_SearchSuggestions.xml" hash="dbf6f4ff1859ef2df72560c9282af435"/><file name="Tagalys_Search.xml" hash="820b96f53d2f0e86cb49906a4dda7f41"/><file name="Tagalys_Mpages.xml" hash="6ccb4f45669c98fd746c6abd92ab32ca"/></dir></dir></target><target name="magecommunity"><dir><dir name="Tagalys"><dir name="Core"><dir name="Block"><dir name="Adminhtml"><dir name="Tagalys"><dir name="Edit"><file name="Form.php" hash="31cae34d1e9bd5cb0c881ae5a6fc03c0"/><dir name="Tab"><file name="Apicredentials.php" hash="9005c30790a51ad077cb4be46a07b766"/><file name="Mpages.php" hash="ba526eb77efd4000ae96404bd04aa638"/><file name="Search.php" hash="fef14680d0feb63bb4e928296c3b9032"/><file name="Searchsuggestions.php" hash="5c87af24ad22c663da17e0a1ffe9a655"/><file name="Support.php" hash="c68547cfe57cbccdcbcf7c3eb35ed6b3"/><file name="Sync.php" hash="849f7bb77ff568e7f29cf63d54e7faa8"/><file name="Syncsettings.php" hash="eecdbdee1c7b3a0e7b978f46b6879acc"/><file name=".DS_Store" hash="194577a7e20bdcc7afbb718f502c134c"/></dir><file name="Tabs.php" hash="20d85d9037ba7a885c33030657900c88"/><file name=".DS_Store" hash="711f187349473a2c6e6d564d4a2faeb9"/></dir><file name="Edit.php" hash="9da04e9a4aec76ce5f5bd88c453390cd"/><file name=".DS_Store" hash="2f95379345a665b8fd261ff7c2f5a7af"/></dir><file name=".DS_Store" hash="96cf5cac0d87be80da73c36e96971923"/></dir><file name=".DS_Store" hash="8c5a4cb1f6f8e10ade87d78ff4d0bfe4"/></dir><dir name="Helper"><file name="Data.php" hash="9b1d43244175ebd78a57e983a831308b"/><file name="Service.php" hash="3eeaa766255db6636e352f7be47876f5"/><file name="SyncFile.php" hash="5b60934e482b5d2332e7eae44c907a72"/></dir><dir name="Model"><file name="Client.php" hash="30e1a58406d31c97bc249acc8ebeee9c"/><file name="Config.php" hash="784ee62e5d029503f915bfdaf9cff003"/><dir name="Mysql4"><dir name="Config"><file name="Collection.php" hash="0967ac6ac1a049d9e09288641d2b4a58"/></dir><file name="Config.php" hash="3562b9ffdf260e34945f9e7830facc1b"/><dir name="Queue"><file name="Collection.php" hash="db01d5b412ca3f8cbc1cbbe8b1ed3d0d"/></dir><file name="Queue.php" hash="50fd814880c6adf02dcb9babe5874811"/><file name=".DS_Store" hash="d3dec31675796dca442be9f6076210df"/></dir><file name="Observer.php" hash="9197f6fb573484db244c141607872b95"/><file name="ProductDetails.php" hash="0e06fa7061b325734554b05f81673201"/><file name="Queue.php" hash="459a74e66f2a7ccd146f480701574464"/><file name=".DS_Store" hash="3db11e65f616ba2524ebf71cf1300fa5"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="TagalysController.php" hash="ae3d1b6cc8d229e98130704b8e010e17"/></dir><file name="SyncfilesController.php" hash="1b8476cbb4d02ec87b7742e4dc9fff4b"/><file name=".DS_Store" hash="db462bf5da1a15c73197a0fefd3f5b51"/></dir><dir name="etc"><file name="config.xml" hash="ad6794f9809b3e8442cdc3dab8df2d91"/></dir><dir name="sql"><dir name="tagalys_core_setup"><file name="mysql4-install-0.3.0.php" hash="fca9f934db6850d950dfdcd71dba7dcd"/><file name="mysql4-upgrade-0.1.0-0.3.0.php" hash="1eb2da3bdf0753b6f4904f1fd62af32f"/><file name="mysql4-upgrade-0.2.0-0.3.0.php" hash="1eb2da3bdf0753b6f4904f1fd62af32f"/></dir><file name=".DS_Store" hash="d87f0e93ae82377a5ceeda9bd58740e8"/></dir><file name=".DS_Store" hash="d1024e81b6252a3d102a906452f53021"/></dir><dir name="SearchSuggestions"><dir name="Helper"><file name="Data.php" hash="a88adfc9f92bb01b4fdb851ea4f265d3"/></dir><dir name="Model"><file name="Observer.php" hash="73e90449054eac498e3b4dfd55db33f1"/></dir><dir name="etc"><file name="config.xml" hash="1e1ee26e326c03473e5854f5dae06c59"/></dir></dir><dir name="Search"><dir name="controllers"><file name="IndexController.php" hash="baaeb347db3b8d32d09a83d3369388a8"/></dir><dir name="etc"><file name="config.xml" hash="5e5a0a2d2de927241c1e97f435a382f7"/></dir><file name=".DS_Store" hash="822777d708619165d544d3256174adc2"/></dir><dir name="Mpages"><dir name="controllers"><file name="IndexController.php" hash="1d80e73a3e3d2a51cff12ebbe1b1364e"/></dir><dir name="etc"><file name="config.xml" hash="80d1b3c82d4da93c271376881f663db5"/></dir><file name=".DS_Store" hash="822777d708619165d544d3256174adc2"/></dir></dir></dir></target><target name="magedesign"><dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="tagalys_core.xml" hash="a0875951441399a46dfb5cb3d346b7d8"/></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="tagalys_search_suggestions.xml" hash="fc80c019c80782d9b956553c56f236e1"/></dir><dir name="template"><dir name="tagalys_search_suggestions"><file name="search_suggestions.phtml" hash="b55dbbb4f333ca8351772a3c4f2102ea"/></dir><dir name="tagalys_search"><file name="index.phtml" hash="45947e71dd01470b5d1664a7e7eaa5bd"/></dir><dir name="tagalys_mpages"><file name="index.phtml" hash="8ad2aeed80bc1d9b86649ac34e5eaa2f"/></dir></dir></dir></dir></dir></dir></target><target name="mageskin"><dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="css"><dir name="tagalys"><file name="tagalys-configuration.css" hash="fa3b8f3a4d1bebbbcef261f10e4652b7"/></dir></dir><dir name="images"><dir name="tagalys"><file name="tagalys-logo.png" hash="b26278b173e29b21edc16ddd06ca0192"/></dir></dir></dir></dir></dir></dir></target><target name="mage"><dir><dir name="js"><file name="tagalys-configuration.js" hash="310c28a4b52225884d06a9e596758053"/></dir></dir></target></contents>
16
  <compatible/>
17
  <dependencies><required><php><min>5.3.0</min><max>7.0.10</max></php></required></dependencies>
18
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Personalized-localized-and-Intelligent-Site-Search</name>
4
+ <version>1.1.4</version>
5
  <stability>stable</stability>
6
  <license>Tagalys</license>
7
  <channel>community</channel>
10
  <description>The extension powers search suggestions and resulting search results. Upon clicking the search bar, show visitors the most popular or trending searches in your ecommerce store. When a visitor starts typing, we auto complete the query into suggestions from the active product-tag-attribute database. </description>
11
  <notes>Any questions or concerns, please email cs@tagalys.com and we will get back to you in less than 24 hours. </notes>
12
  <authors><author><name>Palani</name><user>Palani</user><email>pc@tagalys.com</email></author></authors>
13
+ <date>2017-04-20</date>
14
+ <time>10:56:58</time>
15
+ <contents><target name="mageetc"><dir><dir name="modules"><file name="Tagalys_Core.xml" hash="7576ed5aa125c580f0b791018f24a0e9"/><file name="Tagalys_SearchSuggestions.xml" hash="dbf6f4ff1859ef2df72560c9282af435"/><file name="Tagalys_Search.xml" hash="820b96f53d2f0e86cb49906a4dda7f41"/><file name="Tagalys_Mpages.xml" hash="6ccb4f45669c98fd746c6abd92ab32ca"/></dir></dir></target><target name="magecommunity"><dir><dir name="Tagalys"><dir name="Core"><dir name="Block"><dir name="Adminhtml"><dir name="Tagalys"><dir name="Edit"><file name="Form.php" hash="31cae34d1e9bd5cb0c881ae5a6fc03c0"/><dir name="Tab"><file name="Apicredentials.php" hash="9005c30790a51ad077cb4be46a07b766"/><file name="Mpages.php" hash="ba526eb77efd4000ae96404bd04aa638"/><file name="Search.php" hash="fef14680d0feb63bb4e928296c3b9032"/><file name="Searchsuggestions.php" hash="5c87af24ad22c663da17e0a1ffe9a655"/><file name="Support.php" hash="c68547cfe57cbccdcbcf7c3eb35ed6b3"/><file name="Sync.php" hash="849f7bb77ff568e7f29cf63d54e7faa8"/><file name="Syncsettings.php" hash="eecdbdee1c7b3a0e7b978f46b6879acc"/><file name=".DS_Store" hash="194577a7e20bdcc7afbb718f502c134c"/></dir><file name="Tabs.php" hash="20d85d9037ba7a885c33030657900c88"/><file name=".DS_Store" hash="711f187349473a2c6e6d564d4a2faeb9"/></dir><file name="Edit.php" hash="9da04e9a4aec76ce5f5bd88c453390cd"/><file name=".DS_Store" hash="2f95379345a665b8fd261ff7c2f5a7af"/></dir><file name=".DS_Store" hash="96cf5cac0d87be80da73c36e96971923"/></dir><file name=".DS_Store" hash="8c5a4cb1f6f8e10ade87d78ff4d0bfe4"/></dir><dir name="Helper"><file name="Data.php" hash="a58dbfb1712015d7c4097c5efd4c8ad4"/><file name="Service.php" hash="7eda8b6e644818b607c122d80ba2f68d"/><file name="SyncFile.php" hash="5b60934e482b5d2332e7eae44c907a72"/></dir><dir name="Model"><file name="Client.php" hash="30e1a58406d31c97bc249acc8ebeee9c"/><file name="Config.php" hash="784ee62e5d029503f915bfdaf9cff003"/><dir name="Mysql4"><dir name="Config"><file name="Collection.php" hash="0967ac6ac1a049d9e09288641d2b4a58"/></dir><file name="Config.php" hash="3562b9ffdf260e34945f9e7830facc1b"/><dir name="Queue"><file name="Collection.php" hash="db01d5b412ca3f8cbc1cbbe8b1ed3d0d"/></dir><file name="Queue.php" hash="50fd814880c6adf02dcb9babe5874811"/><file name=".DS_Store" hash="d3dec31675796dca442be9f6076210df"/></dir><file name="Observer.php" hash="9197f6fb573484db244c141607872b95"/><file name="ProductDetails.php" hash="0e06fa7061b325734554b05f81673201"/><file name="Queue.php" hash="459a74e66f2a7ccd146f480701574464"/><file name=".DS_Store" hash="3db11e65f616ba2524ebf71cf1300fa5"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="TagalysController.php" hash="ae3d1b6cc8d229e98130704b8e010e17"/></dir><file name="SyncfilesController.php" hash="1b8476cbb4d02ec87b7742e4dc9fff4b"/><file name=".DS_Store" hash="db462bf5da1a15c73197a0fefd3f5b51"/></dir><dir name="etc"><file name="config.xml" hash="a010a147b715af593614a53e98101c02"/></dir><dir name="sql"><dir name="tagalys_core_setup"><file name="mysql4-install-0.3.0.php" hash="fca9f934db6850d950dfdcd71dba7dcd"/><file name="mysql4-upgrade-0.1.0-0.3.0.php" hash="1eb2da3bdf0753b6f4904f1fd62af32f"/><file name="mysql4-upgrade-0.2.0-0.3.0.php" hash="1eb2da3bdf0753b6f4904f1fd62af32f"/></dir><file name=".DS_Store" hash="d87f0e93ae82377a5ceeda9bd58740e8"/></dir><file name=".DS_Store" hash="d1024e81b6252a3d102a906452f53021"/></dir><dir name="SearchSuggestions"><dir name="Helper"><file name="Data.php" hash="a88adfc9f92bb01b4fdb851ea4f265d3"/></dir><dir name="Model"><file name="Observer.php" hash="73e90449054eac498e3b4dfd55db33f1"/></dir><dir name="etc"><file name="config.xml" hash="1e1ee26e326c03473e5854f5dae06c59"/></dir></dir><dir name="Search"><dir name="controllers"><file name="IndexController.php" hash="baaeb347db3b8d32d09a83d3369388a8"/></dir><dir name="etc"><file name="config.xml" hash="5e5a0a2d2de927241c1e97f435a382f7"/></dir><file name=".DS_Store" hash="822777d708619165d544d3256174adc2"/></dir><dir name="Mpages"><dir name="controllers"><file name="IndexController.php" hash="1d80e73a3e3d2a51cff12ebbe1b1364e"/></dir><dir name="etc"><file name="config.xml" hash="80d1b3c82d4da93c271376881f663db5"/></dir><file name=".DS_Store" hash="822777d708619165d544d3256174adc2"/></dir></dir></dir></target><target name="magedesign"><dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="tagalys_core.xml" hash="a0875951441399a46dfb5cb3d346b7d8"/></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="tagalys_search_suggestions.xml" hash="fc80c019c80782d9b956553c56f236e1"/></dir><dir name="template"><dir name="tagalys_search_suggestions"><file name="search_suggestions.phtml" hash="b55dbbb4f333ca8351772a3c4f2102ea"/></dir><dir name="tagalys_search"><file name="index.phtml" hash="45947e71dd01470b5d1664a7e7eaa5bd"/></dir><dir name="tagalys_mpages"><file name="index.phtml" hash="8ad2aeed80bc1d9b86649ac34e5eaa2f"/></dir></dir></dir></dir></dir></dir></target><target name="mageskin"><dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="css"><dir name="tagalys"><file name="tagalys-configuration.css" hash="fa3b8f3a4d1bebbbcef261f10e4652b7"/></dir></dir><dir name="images"><dir name="tagalys"><file name="tagalys-logo.png" hash="b26278b173e29b21edc16ddd06ca0192"/></dir></dir></dir></dir></dir></dir></target><target name="mage"><dir><dir name="js"><file name="tagalys-configuration.js" hash="310c28a4b52225884d06a9e596758053"/></dir></dir></target></contents>
16
  <compatible/>
17
  <dependencies><required><php><min>5.3.0</min><max>7.0.10</max></php></required></dependencies>
18
  </package>