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

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 Aaditya
Extension Personalized-localized-and-Intelligent-Site-Search
Version 1.0.10
Comparing to
See all releases


Code changes from version 1.0.9 to 1.0.10

app/code/local/Tagalys/Core/Block/Adminhtml/Tagalys/Edit/Tab/Merchandisingpage.php ADDED
@@ -0,0 +1,96 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Tagalys_Core_Block_Adminhtml_Tagalys_Edit_Tab_Merchandisingpage extends Mage_Adminhtml_Block_Widget_Form
4
+ implements Mage_Adminhtml_Block_Widget_Tab_Interface {
5
+
6
+ public function __construct() {
7
+ parent::__construct();
8
+ }
9
+
10
+ protected function _prepareForm() {
11
+ $this->_helper = Mage::helper('tagalys_core');
12
+
13
+ /** @var $form Varien_Data_Form */
14
+ $form = Mage::getModel('varien/data_form', array(
15
+ 'id' => 'tsearch_edit_form',
16
+ 'action' => $this->getUrl('*/tagalys', array('_current' => true)),
17
+ 'method' => 'post'
18
+ ));
19
+
20
+ $form->setHtmlIdPrefix('admin_tagalys_merchandisingpage');
21
+ $htmlIdPrefix = $form->getHtmlIdPrefix();
22
+ $fieldset = $form->addFieldset('tagalys_merchandisingpage_fieldset', array('legend' => $this->__('Merchandising Page Settings')));
23
+
24
+ $fieldset->addField('is_merchandising_page_active', 'select', array(
25
+ 'name' => 'is_merchandising_page_active',
26
+ 'label' => $this->__('Enable merchandising page'),
27
+ 'title' => $this->__('Enable merchandising page'),
28
+ 'options' => array(
29
+ '0' => $this->__('No'),
30
+ '1' => $this->__('Yes'),
31
+ ),
32
+ 'required' => true,
33
+ 'style' => "width:100%",
34
+ 'value' => (int)$this->_helper->getTagalysConfig("is_merchandising_page_active")
35
+ ));
36
+
37
+
38
+ $fieldset->addField('merchandising_page_template', 'textarea', array(
39
+ 'label' => $this->__('Enter Template Config'),
40
+ 'required' => false,
41
+ 'name' => 'merchandising_page_template',
42
+ 'value' => $this->_helper->getTagalysConfig("merchandising_page_template"),
43
+ 'disabled' => false,
44
+ // 'readonly' => false,
45
+ 'style' => "width:100%",
46
+ 'after_element_html' => '<small> </small>',
47
+ 'tabindex' => 1
48
+ ));
49
+
50
+ $fieldset->addField('submit', 'submit', array(
51
+ 'name' => 'submit_merchandising_page_config',
52
+ 'value' => 'Submit',
53
+ 'class'=> "tagalys-btn",
54
+ 'tabindex' => 1
55
+ ));
56
+
57
+ $this->setForm($form);
58
+ return parent::_prepareForm();
59
+ }
60
+
61
+ /**
62
+ * Tab label getter
63
+ *
64
+ * @return string
65
+ */
66
+ public function getTabLabel() {
67
+ return $this->__('Settings');
68
+ }
69
+
70
+ /**
71
+ * Tab title getter
72
+ *
73
+ * @return string
74
+ */
75
+ public function getTabTitle() {
76
+ return $this->__('Settings');
77
+ }
78
+
79
+ /**
80
+ * Check if tab can be shown
81
+ *
82
+ * @return bool
83
+ */
84
+ public function canShowTab() {
85
+ return false;
86
+ }
87
+
88
+ /**
89
+ * Check if tab hidden
90
+ *
91
+ * @return bool
92
+ */
93
+ public function isHidden() {
94
+ return true;
95
+ }
96
+ }
app/code/local/Tagalys/Core/Block/Adminhtml/Tagalys/Edit/Tab/Similarproducts.php ADDED
@@ -0,0 +1,83 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Tagalys_Core_Block_Adminhtml_Tagalys_Edit_Tab_Similarproducts extends Mage_Adminhtml_Block_Widget_Form
4
+ implements Mage_Adminhtml_Block_Widget_Tab_Interface {
5
+
6
+ public function __construct() {
7
+ parent::__construct();
8
+ }
9
+
10
+ protected function _prepareForm() {
11
+ $this->_helper = Mage::helper('tagalys_core');
12
+
13
+ /** @var $form Varien_Data_Form */
14
+ $form = Mage::getModel('varien/data_form', array(
15
+ 'id' => 'tsearch_edit_form',
16
+ 'action' => $this->getUrl('*/tagalys', array('_current' => true)),
17
+ 'method' => 'post'
18
+ ));
19
+
20
+ $form->setHtmlIdPrefix('admin_tagalys_similarproducts');
21
+ $htmlIdPrefix = $form->getHtmlIdPrefix();
22
+ $fieldset = $form->addFieldset('tagalys_similarproducts_fieldset', array('legend' => $this->__('Similar Products Settings')));
23
+
24
+ $fieldset->addField('is_similar_products_active', 'select', array(
25
+ 'name' => 'is_similar_products_active',
26
+ 'label' => $this->__('Enable similar products'),
27
+ 'title' => $this->__('Enable similar products'),
28
+ 'options' => array(
29
+ '0' => $this->__('No'),
30
+ '1' => $this->__('Yes'),
31
+ ),
32
+ 'required' => true,
33
+ 'style' => "width:100%",
34
+ 'value' => (int)$this->_helper->getTagalysConfig("is_similar_products_active")
35
+ ));
36
+
37
+ $fieldset->addField('submit', 'submit', array(
38
+ 'name' => 'submit_similar_products_config',
39
+ 'value' => 'Submit',
40
+ 'class'=> "tagalys-btn",
41
+ 'tabindex' => 1
42
+ ));
43
+
44
+ $this->setForm($form);
45
+ return parent::_prepareForm();
46
+ }
47
+
48
+ /**
49
+ * Tab label getter
50
+ *
51
+ * @return string
52
+ */
53
+ public function getTabLabel() {
54
+ return $this->__('Settings');
55
+ }
56
+
57
+ /**
58
+ * Tab title getter
59
+ *
60
+ * @return string
61
+ */
62
+ public function getTabTitle() {
63
+ return $this->__('Settings');
64
+ }
65
+
66
+ /**
67
+ * Check if tab can be shown
68
+ *
69
+ * @return bool
70
+ */
71
+ public function canShowTab() {
72
+ return false;
73
+ }
74
+
75
+ /**
76
+ * Check if tab hidden
77
+ *
78
+ * @return bool
79
+ */
80
+ public function isHidden() {
81
+ return true;
82
+ }
83
+ }
app/code/local/Tagalys/Core/Block/Adminhtml/Tagalys/Edit/Tabs.php CHANGED
@@ -33,6 +33,12 @@ class Tagalys_Core_Block_Adminhtml_Tagalys_Edit_Tabs extends Mage_Adminhtml_Bloc
33
  if($status && Mage::helper('core')->isModuleEnabled('Tagalys_Tsearch')) {
34
  $this->setActiveTab('tagalys_tsearch');
35
  }
 
 
 
 
 
 
36
  return parent::_beforeToHtml();
37
  }
38
  /**
@@ -85,10 +91,25 @@ class Tagalys_Core_Block_Adminhtml_Tagalys_Edit_Tabs extends Mage_Adminhtml_Bloc
85
  ->toHtml()
86
  ));
87
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
88
 
89
  if($stores_setup) {
90
  $this->addTab('tagalys_debug', array(
91
- 'label' => $this->__('Trouble Shooting'),
92
  'content' => $this->getLayout()->createBlock('tagalys_core/adminhtml_tagalys_edit_tab_debug')
93
  ->toHtml()
94
  ));
33
  if($status && Mage::helper('core')->isModuleEnabled('Tagalys_Tsearch')) {
34
  $this->setActiveTab('tagalys_tsearch');
35
  }
36
+ if($status && Mage::helper('core')->isModuleEnabled('Tagalys_MerchandisingPage')) {
37
+ $this->setActiveTab('tagalys_merchandisingpage');
38
+ }
39
+ if($status && Mage::helper('core')->isModuleEnabled('Tagalys_SimilarProducts')) {
40
+ $this->setActiveTab('tagalys_similarproducts');
41
+ }
42
  return parent::_beforeToHtml();
43
  }
44
  /**
91
  ->toHtml()
92
  ));
93
  }
94
+ if($status && Mage::helper('core')->isModuleEnabled('Tagalys_MerchandisingPage')) {
95
+ $this->addTab('tagalys_merchandisingpage', array(
96
+ 'label' => $this->__('Merchandising Page Settings'),
97
+ 'content' => $this->getLayout()->createBlock('tagalys_core/adminhtml_tagalys_edit_tab_merchandisingpage')
98
+ ->toHtml()
99
+ ));
100
+ }
101
+
102
+ if($status && Mage::helper('core')->isModuleEnabled('Tagalys_SimilarProducts')) {
103
+ $this->addTab('tagalys_similarproducts', array(
104
+ 'label' => $this->__('Similar Products Settings'),
105
+ 'content' => $this->getLayout()->createBlock('tagalys_core/adminhtml_tagalys_edit_tab_similarproducts')
106
+ ->toHtml()
107
+ ));
108
+ }
109
 
110
  if($stores_setup) {
111
  $this->addTab('tagalys_debug', array(
112
+ 'label' => $this->__('Troubleshooting'),
113
  'content' => $this->getLayout()->createBlock('tagalys_core/adminhtml_tagalys_edit_tab_debug')
114
  ->toHtml()
115
  ));
app/code/local/Tagalys/PopularSearches/Model/Observer.php CHANGED
@@ -24,13 +24,13 @@ public function getPopularSearches() {
24
  $request = array(
25
  'client_code' => $this->_client_code,
26
  'api_key' => $this->_private_api_key,
27
- 'store' => Mage::app()->getStore()->getStoreId()
28
  );
29
  $payload["identification"] = $request;
30
  $payloadData = (json_encode($payload));
31
  $json_data = $this->_payloadAgent($this->_url,($payloadData));
32
 
33
- $fp = fopen( $this->file_path.'tagalys-popularsearches-'.Mage::app()->getStore()->getStoreId().'.json', 'w');
34
  if($json_data == null) {
35
  $json_data = array();
36
  fwrite($fp, json_encode($json_data));
24
  $request = array(
25
  'client_code' => $this->_client_code,
26
  'api_key' => $this->_private_api_key,
27
+ 'store' => Mage::app()->getStore()->getStoreId() ? Mage::app()->getStore()->getStoreId() : 1
28
  );
29
  $payload["identification"] = $request;
30
  $payloadData = (json_encode($payload));
31
  $json_data = $this->_payloadAgent($this->_url,($payloadData));
32
 
33
+ $fp = fopen( $this->file_path.'tagalys-popularsearches-'.$request["store"].'.json', 'w');
34
  if($json_data == null) {
35
  $json_data = array();
36
  fwrite($fp, json_encode($json_data));
app/code/local/Tagalys/Sync/Helper/Service.php CHANGED
@@ -246,9 +246,18 @@ class Tagalys_Sync_Helper_Service extends Mage_Core_Helper_Abstract {
246
  $defaultCurrencies = $currencyModel->getConfigBaseCurrencies();
247
  $rates=$currencyModel->getCurrencyRates($defaultCurrencies, $currencies); //rates of each currency
248
 
 
 
 
 
249
  foreach($rates[$baseCurrencyCode] as $key=>$value ) {
250
  $default = $baseCurrencyCode == $key ? true : false;
251
  $label = Mage::app()->getLocale()->currency( $key )->getSymbol();
 
 
 
 
 
252
  $currency_rate[] = array("id" => $key, "label" => $label, "fractional_digits" => 2 , "rounding_mode" => "round", "exchange_rate" => (float)$value, "default" => $default); //getFinalPrice
253
  }
254
 
246
  $defaultCurrencies = $currencyModel->getConfigBaseCurrencies();
247
  $rates=$currencyModel->getCurrencyRates($defaultCurrencies, $currencies); //rates of each currency
248
 
249
+ if (empty($rates[$baseCurrencyCode])) {
250
+ $rates[$baseCurrencyCode] = array($baseCurrencyCode => '1.0000');
251
+ }
252
+
253
  foreach($rates[$baseCurrencyCode] as $key=>$value ) {
254
  $default = $baseCurrencyCode == $key ? true : false;
255
  $label = Mage::app()->getLocale()->currency( $key )->getSymbol();
256
+ if (!isset($label)) {
257
+ if($baseCurrencyCode == "INR") {
258
+ $label = '\u20b9';
259
+ }
260
+ }
261
  $currency_rate[] = array("id" => $key, "label" => $label, "fractional_digits" => 2 , "rounding_mode" => "round", "exchange_rate" => (float)$value, "default" => $default); //getFinalPrice
262
  }
263
 
app/code/local/Tagalys/Sync/Helper/TagalysFeedFactory.php CHANGED
@@ -40,36 +40,47 @@ class Tagalys_Sync_Helper_TagalysFeedFactory extends Varien_Io_File {
40
  $total = $collection->count();
41
  return $total;
42
  }
43
- public function createProductFeed($storeId,$dump) {
44
- $products = array();
45
- $total = $this->getTotal($storeId,$dump);
46
- $type = $dump ? "dump" : "updates";
47
- $status = $this->isProductFeedProceesed($type);
48
- $exist_feed = $this->getFeedFile($storeId,$type);
49
- if(isset($exist_feed)) {
50
- return false;
51
- }
52
- if(!$status) {
53
- return array( "status" => false,"message"=> "Already some feed creation process in queue. Please try again later.");
54
- }
55
- $this->checkAndCreateFolder($this->default_location);
56
- if(isset($total)) {
57
- $name = md5(microtime());
58
- if($dump == true){
59
- $name = 'dump'.'-'.$name;
60
- $file = $this->file_path . $name . '-'.$storeId.'-'.$total.'.jsonl';
61
- } else {
62
- $name = 'updates'.'-'.$name;
63
- $file = $this->file_path . $name . '-'.$storeId.'-'.$total.'.jsonl';
64
- }
65
- $this->setAllowCreateFolders(true);
66
- $this->open(array('path' => $this->file_path));
67
- $this->streamOpen($file, 'w+');
68
- $this->streamClose();
 
 
 
 
 
 
69
  }
70
- return array("status" => true,
71
- "message" => $name.'.jsonl');
 
 
72
  }
 
 
 
73
  /**
74
  * Retuns finished product feed details
75
  *
@@ -82,7 +93,7 @@ class Tagalys_Sync_Helper_TagalysFeedFactory extends Varien_Io_File {
82
  if (!is_dir($this->file_path . $value) ) {
83
  if(!preg_match("/^\./", $value)) {
84
  $file_status = explode( '-', $value );
85
- if(count($file_status) == 2) {
86
  array_push($finishd_files, $value);
87
  }
88
  }
@@ -114,7 +125,7 @@ class Tagalys_Sync_Helper_TagalysFeedFactory extends Varien_Io_File {
114
  } else {
115
  $files = $feed;
116
  $file_status = explode( '-', $files );
117
- if(count($file_status) == 2) {
118
  return true;
119
  }
120
  }
@@ -122,13 +133,14 @@ class Tagalys_Sync_Helper_TagalysFeedFactory extends Varien_Io_File {
122
  if (!is_dir($this->file_path . $value) ) {
123
  if(!preg_match("/^\./", $value)) {
124
  $file_status = explode( '-', $value );
125
- if(count($file_status) > 3) {
126
- $meta_temp = explode( '.', $file_status[3]);
127
  $total = $meta_temp[0]; //explode('.', $file_status[1]);
128
  $file_meta->name = $value;
129
- $file_meta->store = $file_status[2];
130
- $file_meta->uniq_name =$file_status[1];
131
- $file_meta->type = $file_status[0];
 
132
  $file_meta->total = (int) $total;
133
  if(preg_match("/^[0-9]+$/",$total)) {
134
  $file_meta->total = (int) $total;
@@ -149,7 +161,8 @@ class Tagalys_Sync_Helper_TagalysFeedFactory extends Varien_Io_File {
149
  */
150
  public function updateProductFeed() {
151
  try {
152
-
 
153
  $pages = 0;
154
  $page_done = 0;
155
  $products_done = 0;
@@ -160,17 +173,22 @@ class Tagalys_Sync_Helper_TagalysFeedFactory extends Varien_Io_File {
160
  return false;
161
  }
162
  $helper = Mage::helper("sync/service");
 
 
 
 
 
163
  if($file_meta->type == "dump") {
164
  $total = $this->getTotal($file_meta->store, true);
165
 
166
-
167
  } else {
168
  $total = Mage::getModel('sync/queue')->getCollection()->count();
169
  }
170
  $pages = $total/self::PAGE_LIMIT;
171
  $feed_file = $this->getFeedFile($file_meta->store, "dump");
 
172
  if (!empty($file_meta->type)) {
173
- $fp = file((String)$this->file_path.$file_meta->type.'-'.$file_meta->uniq_name.'-'.$file_meta->store.'-processing.jsonl', FILE_SKIP_EMPTY_LINES);
174
  $line_count = count($fp);
175
  $page_no = $pages - (($total - $line_count)/self::PAGE_LIMIT);
176
  if (is_float($page_no)) {
@@ -180,12 +198,13 @@ class Tagalys_Sync_Helper_TagalysFeedFactory extends Varien_Io_File {
180
 
181
  if($file_meta->status != "processing" && $file_meta->type == "dump" ) {
182
 
183
- rename($this->file_path . $file_meta->name, $this->file_path . $file_meta->type.'-'.$file_meta->uniq_name.'-'.$file_meta->store.'-processing.jsonl');
184
- $file = $this->file_path . $file_meta->type.'-'.$file_meta->uniq_name.'-'.$file_meta->store.'-processing.jsonl';
 
185
 
186
  } else {
187
  if ($file_meta->type == "dump")
188
- $file = $this->file_path . $file_meta->type.'-'.$file_meta->uniq_name.'-'.$file_meta->store.'-processing.jsonl';
189
  if(file_exists($file)){
190
 
191
  if($file_meta->type == "dump") {
@@ -216,10 +235,10 @@ class Tagalys_Sync_Helper_TagalysFeedFactory extends Varien_Io_File {
216
  }
217
  if($page_done == $pages && $file_meta->type == "dump") {
218
 
219
- $fp = file((String)$this->file_path.$file_meta->type.'-'.$file_meta->uniq_name.'-'.$file_meta->store.'-processing.jsonl', FILE_SKIP_EMPTY_LINES);
220
  $line_count = count($fp);
221
- $finished_file_name = $file_meta->type.'-'. $file_meta->uniq_name.'-'.$file_meta->store.'.jsonl';
222
- rename($file, $this->file_path . $file_meta->type.'-'. $file_meta->uniq_name.'-'.$file_meta->store.'.jsonl');
223
 
224
  if($line_count > 0) {
225
  $this->notify_tagalys($finished_file_name, $line_count, $file_meta->store, $file_meta->type);
@@ -238,8 +257,8 @@ class Tagalys_Sync_Helper_TagalysFeedFactory extends Varien_Io_File {
238
  $products_done = 0;
239
  $file_meta = Mage::helper("sync/tagalysFeedFactory")->getProductFeedMetaDetails(array($key =>$value));
240
  if($file_meta->status != "processing" ) {
241
- rename(Mage::getBaseDir('media'). DS .'tagalys'. DS . $file_meta->name, Mage::getBaseDir('media'). DS .'tagalys'. DS . $file_meta->type.'-'.$file_meta->uniq_name.'-'.$file_meta->store.'-processing.jsonl');
242
- $file = Mage::getBaseDir('media'). DS .'tagalys'. DS . $file_meta->type.'-'.$file_meta->uniq_name.'-'.$file_meta->store.'-processing.jsonl';
243
  } else {
244
  $file = Mage::getBaseDir('media'). DS .'tagalys'. DS . $file_meta->type.'-'.$file_meta->uniq_name.'-'.$file_meta->store.'-processing.jsonl';
245
  }
@@ -254,10 +273,10 @@ class Tagalys_Sync_Helper_TagalysFeedFactory extends Varien_Io_File {
254
  }
255
  $this->streamClose();
256
  if($products_done == $total) {
257
- $fp = file((String)$this->file_path.$file_meta->type.'-'.$file_meta->uniq_name.'-'.$file_meta->store.'-processing.jsonl', FILE_SKIP_EMPTY_LINES);
258
  $line_count = count($fp);
259
- $finished_file_name = $file_meta->type.'-'. $file_meta->uniq_name.'-'.$file_meta->store.'.jsonl';
260
- rename($file, $this->file_path . $file_meta->type.'-'. $file_meta->uniq_name.'-'.$file_meta->store.'.jsonl');
261
 
262
  if($line_count > 0) {
263
  $this->notify_tagalys($finished_file_name, $line_count, $file_meta->store, $file_meta->type);
@@ -282,8 +301,20 @@ public function updateStatusFile($storeId, $products_count) {
282
  public function notify_tagalys($filename, $count, $storeId, $type) {
283
  $service = Mage::getSingleton("sync/client");
284
  $params["store_id"] = $storeId;
285
- $tagalys_feed_response = $service->notify_tagalys(array("link" => Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA)."tagalys/".$filename, "updates_count" => $count, "store" => $storeId, "callback_url" => Mage::getUrl('tagalys/feed/indexStatus/')), $type);//to-do
286
- $this->setInitSyncDone($storeId);
 
 
 
 
 
 
 
 
 
 
 
 
287
  Mage::dispatchEvent('tagalys_event'); //to-check to-do blank
288
  return true;
289
  }
@@ -360,7 +391,7 @@ public function notify_tagalys($filename, $count, $storeId, $type) {
360
  if (!is_dir($this->file_path . $value) ) {
361
  if(!preg_match("/^\./", $value)) {
362
  $file_status = explode( '-', $value );
363
- if($file_status[0] == "dump" || $file_status[0] == "updates")
364
  $feed_files[] = $value;
365
  }
366
  }
@@ -370,7 +401,7 @@ public function notify_tagalys($filename, $count, $storeId, $type) {
370
  if (!is_dir($this->file_path . $value) ) {
371
  if(!preg_match("/^\./", $value)) {
372
  $file_status = explode( '-', $value );
373
- if($file_status[0] == $type ) {
374
  $feed_files[] = $value;
375
  }
376
  }
@@ -392,7 +423,7 @@ public function notify_tagalys($filename, $count, $storeId, $type) {
392
  if (!is_dir($this->file_path . $value) ) {
393
  if(!preg_match("/^\./", $value)) {
394
  $file_status = explode( '-', $value );
395
- if(count($file_status) > 3) {
396
  $feed_count++;
397
  }
398
  }
@@ -412,7 +443,7 @@ public function notify_tagalys($filename, $count, $storeId, $type) {
412
  foreach ($files as $key => $value) {
413
  if (!is_dir($this->file_path . $value) ) {
414
  $file_status = explode( '-', $value );
415
- if($file_status[0] == $type && (int)$file_status[2] == $storeId) {
416
  return $value;
417
  }
418
  }
40
  $total = $collection->count();
41
  return $total;
42
  }
43
+
44
+ public function getDomain() {
45
+ $url = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB);
46
+ $format_url = explode("://", $url);
47
+ $format_domain = str_replace(".", "_", $format_url[1]);
48
+ $temp = explode("/", $format_domain);
49
+ $domain = $temp[0];
50
+
51
+ return $domain;
52
+ }
53
+ public function createProductFeed($storeId,$dump) {
54
+ $domain = $this->getDomain();
55
+ $products = array();
56
+ $total = $this->getTotal($storeId,$dump);
57
+ $type = $dump ? "dump" : "updates";
58
+ $status = $this->isProductFeedProceesed($type);
59
+ $exist_feed = $this->getFeedFile($storeId,$type);
60
+ if(isset($exist_feed)) {
61
+ return false;
62
+ }
63
+ if(!$status) {
64
+ return array( "status" => false,"message"=> "Already some feed creation process in queue. Please try again later.");
65
+ }
66
+ $this->checkAndCreateFolder($this->default_location);
67
+ if(isset($total)) {
68
+ $name = md5(microtime());
69
+ if($dump == true){
70
+ $name = 'dump'.'-'.$name;
71
+ $file = $this->file_path . $domain . '-'. $name . '-'.$storeId.'-'.$total.'.jsonl';
72
+ } else {
73
+ $name = 'updates'.'-'.$name;
74
+ $file = $this->file_path . $domain . '-'. $name . '-'.$storeId.'-'.$total.'.jsonl';
75
  }
76
+ $this->setAllowCreateFolders(true);
77
+ $this->open(array('path' => $this->file_path));
78
+ $this->streamOpen($file, 'w+');
79
+ $this->streamClose();
80
  }
81
+ return array("status" => true,
82
+ "message" => $name.'.jsonl');
83
+ }
84
  /**
85
  * Retuns finished product feed details
86
  *
93
  if (!is_dir($this->file_path . $value) ) {
94
  if(!preg_match("/^\./", $value)) {
95
  $file_status = explode( '-', $value );
96
+ if(count($file_status) == 3) {
97
  array_push($finishd_files, $value);
98
  }
99
  }
125
  } else {
126
  $files = $feed;
127
  $file_status = explode( '-', $files );
128
+ if(count($file_status) == 3) {
129
  return true;
130
  }
131
  }
133
  if (!is_dir($this->file_path . $value) ) {
134
  if(!preg_match("/^\./", $value)) {
135
  $file_status = explode( '-', $value );
136
+ if(count($file_status) > 4) {
137
+ $meta_temp = explode( '.', $file_status[4]);
138
  $total = $meta_temp[0]; //explode('.', $file_status[1]);
139
  $file_meta->name = $value;
140
+ $file_meta->store = $file_status[3];
141
+ $file_meta->uniq_name =$file_status[2];
142
+ $file_meta->type = $file_status[1];
143
+ $file_meta->domain = $file_status[0];
144
  $file_meta->total = (int) $total;
145
  if(preg_match("/^[0-9]+$/",$total)) {
146
  $file_meta->total = (int) $total;
161
  */
162
  public function updateProductFeed() {
163
  try {
164
+ $current_domain = $this->getDomain();
165
+
166
  $pages = 0;
167
  $page_done = 0;
168
  $products_done = 0;
173
  return false;
174
  }
175
  $helper = Mage::helper("sync/service");
176
+ $file_domain = $file_meta->domain;
177
+
178
+ if ($current_domain != $file_domain) {
179
+ return false;
180
+ }
181
  if($file_meta->type == "dump") {
182
  $total = $this->getTotal($file_meta->store, true);
183
 
 
184
  } else {
185
  $total = Mage::getModel('sync/queue')->getCollection()->count();
186
  }
187
  $pages = $total/self::PAGE_LIMIT;
188
  $feed_file = $this->getFeedFile($file_meta->store, "dump");
189
+
190
  if (!empty($file_meta->type)) {
191
+ $fp = file((String)$this->file_path.$file_meta->domain.'-'.$file_meta->type.'-'.$file_meta->uniq_name.'-'.$file_meta->store.'-processing.jsonl', FILE_SKIP_EMPTY_LINES);
192
  $line_count = count($fp);
193
  $page_no = $pages - (($total - $line_count)/self::PAGE_LIMIT);
194
  if (is_float($page_no)) {
198
 
199
  if($file_meta->status != "processing" && $file_meta->type == "dump" ) {
200
 
201
+ rename($this->file_path . $file_meta->name, $this->file_path . $file_meta->domain.'-'.$file_meta->type.'-'.$file_meta->uniq_name.'-'.$file_meta->store.'-processing.jsonl');
202
+
203
+ $file = $this->file_path.$file_meta->domain.'-' . $file_meta->type.'-'.$file_meta->uniq_name.'-'.$file_meta->store.'-processing.jsonl';
204
 
205
  } else {
206
  if ($file_meta->type == "dump")
207
+ $file = $this->file_path .$file_meta->domain.'-'. $file_meta->type.'-'.$file_meta->uniq_name.'-'.$file_meta->store.'-processing.jsonl';
208
  if(file_exists($file)){
209
 
210
  if($file_meta->type == "dump") {
235
  }
236
  if($page_done == $pages && $file_meta->type == "dump") {
237
 
238
+ $fp = file((String)$this->file_path.$file_meta->domain.'-'.$file_meta->type.'-'.$file_meta->uniq_name.'-'.$file_meta->store.'-processing.jsonl', FILE_SKIP_EMPTY_LINES);
239
  $line_count = count($fp);
240
+ $finished_file_name = $file_meta->domain.'-'.$file_meta->type.'-'. $file_meta->uniq_name.'-'.$file_meta->store.'.jsonl';
241
+ rename($file, $this->file_path.$file_meta->domain.'-' . $file_meta->type.'-'. $file_meta->uniq_name.'-'.$file_meta->store.'.jsonl');
242
 
243
  if($line_count > 0) {
244
  $this->notify_tagalys($finished_file_name, $line_count, $file_meta->store, $file_meta->type);
257
  $products_done = 0;
258
  $file_meta = Mage::helper("sync/tagalysFeedFactory")->getProductFeedMetaDetails(array($key =>$value));
259
  if($file_meta->status != "processing" ) {
260
+ rename(Mage::getBaseDir('media'). DS .'tagalys'. DS . $file_meta->name, Mage::getBaseDir('media'). DS .'tagalys'. DS .$file_meta->domain.'-'. $file_meta->type.'-'.$file_meta->uniq_name.'-'.$file_meta->store.'-processing.jsonl');
261
+ $file = Mage::getBaseDir('media'). DS .'tagalys'. DS .$file_meta->domain.'-'. $file_meta->type.'-'.$file_meta->uniq_name.'-'.$file_meta->store.'-processing.jsonl';
262
  } else {
263
  $file = Mage::getBaseDir('media'). DS .'tagalys'. DS . $file_meta->type.'-'.$file_meta->uniq_name.'-'.$file_meta->store.'-processing.jsonl';
264
  }
273
  }
274
  $this->streamClose();
275
  if($products_done == $total) {
276
+ $fp = file((String)$this->file_path.$file_meta->domain.'-'.$file_meta->type.'-'.$file_meta->uniq_name.'-'.$file_meta->store.'-processing.jsonl', FILE_SKIP_EMPTY_LINES);
277
  $line_count = count($fp);
278
+ $finished_file_name = $file_meta->domain.'-'.$file_meta->type.'-'. $file_meta->uniq_name.'-'.$file_meta->store.'.jsonl';
279
+ rename($file, $this->file_path .$file_meta->domain.'-'. $file_meta->type.'-'. $file_meta->uniq_name.'-'.$file_meta->store.'.jsonl');
280
 
281
  if($line_count > 0) {
282
  $this->notify_tagalys($finished_file_name, $line_count, $file_meta->store, $file_meta->type);
301
  public function notify_tagalys($filename, $count, $storeId, $type) {
302
  $service = Mage::getSingleton("sync/client");
303
  $params["store_id"] = $storeId;
304
+
305
+ $baseUrl = "";
306
+ $webUrl = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB);
307
+ $mediaUrl = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA);
308
+
309
+ if (strpos($mediaUrl, $webUrl) === false) {
310
+ $baseUrl = $webUrl . 'media/';
311
+ } else {
312
+ $baseUrl = $mediaUrl;
313
+ }
314
+
315
+ $tagalys_feed_response = $service->notify_tagalys(array("link" => $baseUrl."tagalys/".$filename, "updates_count" => $count, "store" => $storeId, "callback_url" => Mage::getUrl('tagalys/feed/indexStatus/')), $type); //to-do
316
+
317
+ $this->setInitSyncDone($storeId);
318
  Mage::dispatchEvent('tagalys_event'); //to-check to-do blank
319
  return true;
320
  }
391
  if (!is_dir($this->file_path . $value) ) {
392
  if(!preg_match("/^\./", $value)) {
393
  $file_status = explode( '-', $value );
394
+ if($file_status[1] == "dump" || $file_status[1] == "updates")
395
  $feed_files[] = $value;
396
  }
397
  }
401
  if (!is_dir($this->file_path . $value) ) {
402
  if(!preg_match("/^\./", $value)) {
403
  $file_status = explode( '-', $value );
404
+ if($file_status[1] == $type ) {
405
  $feed_files[] = $value;
406
  }
407
  }
423
  if (!is_dir($this->file_path . $value) ) {
424
  if(!preg_match("/^\./", $value)) {
425
  $file_status = explode( '-', $value );
426
+ if(count($file_status) > 4) {
427
  $feed_count++;
428
  }
429
  }
443
  foreach ($files as $key => $value) {
444
  if (!is_dir($this->file_path . $value) ) {
445
  $file_status = explode( '-', $value );
446
+ if($file_status[1] == $type && (int)$file_status[3] == $storeId) {
447
  return $value;
448
  }
449
  }
app/code/local/Tagalys/Sync/Model/ProductDetails.php CHANGED
@@ -114,7 +114,7 @@ class Tagalys_Sync_Model_ProductDetails extends Mage_Core_Model_Abstract {
114
  }
115
  $values['label'] = $attriute_option_value;
116
  $values['id'] = $attribute_options_id;
117
- if(!is_null($attribute_options_id) && $values['label'] != "N/A"){
118
  $attributeObj[] = array("tag_set" => array("id" => $attribute->getAttributeCode(), "label" => $attribute->getFrontend()->getLabel($product) ),"items" => array($values));
119
  }
120
  }
114
  }
115
  $values['label'] = $attriute_option_value;
116
  $values['id'] = $attribute_options_id;
117
+ if($values && !is_null($attribute_options_id) && $values['label'] != "N/A"){
118
  $attributeObj[] = array("tag_set" => array("id" => $attribute->getAttributeCode(), "label" => $attribute->getFrontend()->getLabel($product) ),"items" => array($values));
119
  }
120
  }
app/code/local/Tagalys/Sync/etc/config.xml CHANGED
@@ -9,7 +9,7 @@
9
  <sync_feed_progress>/v1/products/sync_feed_progress</sync_feed_progress>
10
  <api_auth>/v1/identification/check</api_auth>
11
  <installed_plugin>Search</installed_plugin>
12
- <plugin_to_be_activated>tsearchsuggestion,tsearch</plugin_to_be_activated>
13
  </endpoint>
14
  </tagalys_endpoint>
15
  </default>
@@ -203,4 +203,4 @@
203
  </tagalys_resync_cron>
204
  </jobs>
205
  </crontab>
206
- </config>
9
  <sync_feed_progress>/v1/products/sync_feed_progress</sync_feed_progress>
10
  <api_auth>/v1/identification/check</api_auth>
11
  <installed_plugin>Search</installed_plugin>
12
+ <plugin_to_be_activated>tsearch,tsearchsuggestion</plugin_to_be_activated>
13
  </endpoint>
14
  </tagalys_endpoint>
15
  </default>
203
  </tagalys_resync_cron>
204
  </jobs>
205
  </crontab>
206
+ </config>
app/code/local/Tagalys/Tsearch/Model/Engine.php CHANGED
@@ -58,14 +58,9 @@ class Tagalys_Tsearch_Model_Engine extends Mage_Core_Model_Abstract {
58
  $payload['q'] = $query;
59
  $session_limit = $request["limit"]; //Mage::getSingleton('catalog/session')->getLimitPage();
60
 
 
 
61
 
62
- $payload['page'] = (!empty($request['p'])) ? $request['p'] : 1;
63
- if($payload['page'] == 1) {
64
- $payload['per_page'] = (!empty($session_limit) ? $session_limit : $defaultLimit) * 2;
65
- } else {
66
- $payload['per_page'] = (!empty($session_limit) ? $session_limit : $defaultLimit) ;
67
- }
68
- //$payload['per_page'] = (!empty($session_limit) ? $session_limit : $defaultLimit) ;
69
 
70
  //by aaditya
71
  if(isset($request['order'])) {
58
  $payload['q'] = $query;
59
  $session_limit = $request["limit"]; //Mage::getSingleton('catalog/session')->getLimitPage();
60
 
61
+ $payload['per_page'] = (!empty($session_limit) ? $session_limit : $defaultLimit);
62
+ $payload['page'] = 1;
63
 
 
 
 
 
 
 
 
64
 
65
  //by aaditya
66
  if(isset($request['order'])) {
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.0.9</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>Aaditya</name><user>Aaditya</user><email>antony@tagalys.com</email></author></authors>
13
- <date>2017-02-07</date>
14
- <time>11:38:11</time>
15
- <contents><target name="magelocal"><dir><dir name="Tagalys"><dir name="SearchSuggestions"><dir name="Block"><dir name="Catalog"><dir name="Layer"><dir name="Filter"><file name="Attribute.php" hash="4a1d6c59a119e36f06a9227b4a648f77"/><file name="Category.php" hash="322d606ca40b6c7a976ec09f5080281a"/></dir></dir><file name="Layer.php" hash="4e72f2b2b8788ba0dce51aa38575e313"/></dir></dir><dir name="Helper"><file name="Data.php" hash="fa1f09a28bb0d3772a4aeb29af8c575b"/></dir><dir name="Model"><dir name="Catalog"><dir name="Layer"><dir name="Filter"><file name="Attribute.php" hash="897b2f76ab974edea9e4dffa176662f7"/><file name="Category.php" hash="c2c91bcd957559e5b4cb0c0ad9268a7f"/></dir></dir></dir></dir><dir name="controllers"><file name="AutoSuggestController.php" hash="8ef45554e5cc780b7e9f020cd19e28c5"/></dir><dir name="etc"><file name="config.xml" hash="854e13ce3dad489f9da4ae63cadf7512"/></dir></dir><dir name="Core"><dir name="Block"><dir name="Adminhtml"><dir name="Tagalys"><dir name="Edit"><file name="Form.php" hash="f03082a193308464a70ddb12929f6445"/><dir name="Tab"><file name="Credentials.php" hash="ed600b42a2fe12222ef352a9a6b0dbd7"/><file name="Debug.php" hash="300e99069b08e1c7f4ec3d3a7c056ae2"/><file name="Setup.php" hash="8a5b190544b9e26e7d29716b8e3946dd"/><file name="Signup.php" hash="db50f6b1f8fe7c10eba8996adaab5b46"/><file name="Sync.php" hash="df41344ec4ec924ccc34ad3e8b93c8f2"/><file name="Tsearch.php" hash="0f8d06abb0058aa63bb7619d96b54986"/><file name="Tsearchsuggestion.php" hash="66ba155f8119a448ee2c2fdb6e5777d5"/></dir><file name="Tabs.php" hash="8a9099c0a9d8881b4526d42b24943383"/></dir><file name="Edit.php" hash="b6ed0a6d60ed8437013316ea2bf4ae8c"/><file name="Notifications.php" hash="a8a462e420cffb43dcc9a3501114e01b"/><file name="Progress.php" hash="9de974b3672b91e25f5062d6d76c350d"/><file name="SearchReady.php" hash="9e58736e1eb8cba32ee0b84b19ee7b6c"/></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="0a045aa8949d1f1d6b4c299cf2f5579e"/></dir><dir name="Model"><file name="Config.php" hash="6b1fc527b6ee9b6386669d91ada6c0cb"/><dir name="Mysql4"><dir name="Config"><file name="Collection.php" hash="ea729baf00ac3f73ea70eb36cf182699"/></dir><file name="Config.php" hash="f96196b73e2e9bd2ceaf4b6ba8befb1a"/></dir><file name="Observer.php" hash="c3619b4cd7264290bc7f1a34e293ac18"/></dir><dir name="etc"><file name="adminhtml.xml" hash="7be928fd40cff7dda724457e84736624"/><file name="config.xml" hash="7b26e95fe97248975edd7f2c1c75cb80"/></dir><dir name="sql"><dir name="tagalys_core_setup"><file name="mysql4-install-0.2.0.php" hash="50451682b52f41e0e5a2b656b4ed222f"/></dir></dir></dir><dir name="Sync"><dir name="Helper"><file name="Data.php" hash="f6dbd08edafe1f615818e8ea73d412fd"/><file name="Inventory.php" hash="61a553020607ff202ddb6ea32593cc36"/><file name="Service.php" hash="84cc6f7415e416225c3740c8d20521c1"/><file name="TagalysFeedFactory.php" hash="eda6643eaf3840321c57a48db8eb5a51"/></dir><dir name="Model"><dir name="Adminhtml"><dir name="System"><dir name="Config"><dir name="Backend"><dir name="Tagalys"><file name="Cron.php" hash="497ea5cee9239e97275b87743a4341a8"/></dir></dir></dir></dir></dir><file name="Client.php" hash="8040286126ba95b02b6fe52f98668657"/><dir name="Dataflow"><dir name="Convert"><dir name="Adapter"><file name="Io.php" hash="e1796293468adb1340d6336fd37e4a43"/></dir></dir></dir><dir name="Mysql4"><dir name="Queue"><file name="Collection.php" hash="d0228354a318338e31d85e25960b9f5c"/></dir><file name="Queue.php" hash="8c192d482dbbaa48c703f00ef5cf1a73"/></dir><file name="Observer.php" hash="2642389de90e5d5092a12bd9f1f58a20"/><file name="ProductDetails.php" hash="a0c8b3dbc03baa1c3b9f9fa1878c8b81"/><file name="Queue.php" hash="c48db47089e3ca175017c409768aefe5"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="ImportController.php" hash="3e0e0d36cb252768a7ccbb823d404752"/><dir name="System"><dir name="Convert"><file name="GuiController.php" hash="0a7755e0004a1db8c3fbfdfee717cdcc"/></dir></dir><file name="TagalysController.php" hash="75b22f6cf00e1d0c55af420d0ea430ce"/></dir><file name="FeedController.php" hash="056d76af4b612dc94e235df80a79c58d"/></dir><dir name="etc"><file name="config.xml" hash="48f053d6fb3be974951a2f88f73b84c1"/><file name="wsdl.xml" hash="1479803fedcad805ae6420f0eff141ad"/></dir><dir name="sql"><dir name="sync_setup"><file name="mysql4-install-0.1.0.php" hash="756c821858436db88487a3b121531d0e"/><file name="mysql4-install-0.2.0.php" hash="756c821858436db88487a3b121531d0e"/><file name="mysql4-upgrade-0.1.0-0.2.0.php" hash="1e1fdc5770389a9123a3079e354ad822"/></dir></dir></dir><dir name="PopularSearches"><dir name="Model"><file name="Observer.php" hash="a7d598941b2073bda8cf2eb1f03b0e6c"/></dir><dir name="etc"><file name="config.xml" hash="4089d29d49ff24d49446c8fed7c153b5"/></dir></dir><dir name="Tsearch"><dir name="Block"><dir name="Catalog"><dir name="Layer"><dir name="Filter"><file name="Attribute.php" hash="8d0f3d1786e1350dd3b050dac907f382"/><file name="Category.php" hash="084bd8b9a22699c867902f774eeb7f72"/><file name="Price.php" hash="2db28591e437f65cd52506906ee96663"/></dir><file name="State.php" hash="8dadc65a747943cb9973747495d3a090"/><file name="View.php" hash="28966b74d8cf4d2dd79155c546d4aa51"/></dir><dir name="Product"><dir name="List"><file name="Toolbar.php" hash="00a3f570914bc92fc738a8a2b63168f9"/></dir><file name="List.php" hash="360faadf31bc8a3606f789f634ea101b"/></dir></dir><dir name="Catalogsearch"><dir name="Layer"><dir name="Filter"><file name="Attribute.php" hash="3a858ada3f75cf0aa8c327d27daa616b"/></dir><file name="View.php" hash="28c09e321dc22fdbb03b48f057e8ae1b"/></dir><file name="Layer.php" hash="576c376ec352ce14e7f10c7e77fb8b59"/><file name="Result.php" hash="382a1f850d62de8e86617f149244db93"/></dir></dir><dir name="Helper"><file name="Data.php" hash="ae9d36b28b1eb921153d4207be3304a9"/></dir><dir name="Model"><dir name="Catalog"><dir name="Layer"><dir name="Filter"><file name="Attribute.php" hash="1d239626f555c4215a07edea9e3322de"/><file name="Category.php" hash="0dfb591ee8a64759177aa93bc2ffbed7"/><file name="Price.php" hash="f7d04011027bd796736a1238d76c56c1"/></dir></dir><file name="Layer.php" hash="5d005f705e43fc61ce548da82b22a3df"/><dir name="Product"><file name="List.php" hash="8bd460c476e4630149c7e11cb8f50a9c"/></dir></dir><dir name="Catalogsearch"><file name="Layer.php" hash="b32c1e8c132ba771bd0e0490ed97c853"/></dir><dir name="Client"><file name="Connector.php" hash="96107c6d1925cf6391d90a0c81b89f67"/></dir><file name="Engine.php" hash="3a6470c95fa7f51b5719d4734c208acc"/><file name="Observer.php" hash="eb77033417011509be021fba2028d018"/><dir name="Resource"><dir name="Catalog"><dir name="Product"><file name="Collection.php" hash="a0bcbb601025bc0af84ee3c11ef6e531"/><file name="testCollection.php" hash="a0bcbb601025bc0af84ee3c11ef6e531"/></dir></dir></dir></dir><dir name="etc"><file name="config.xml" hash="b5dc2fe2c23975efad00a1aeb15f0888"/></dir></dir></dir></dir></target><target name="magedesign"><dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><dir name="tagalys"><file name="ss.xml" hash="9d62ce5a9ae20f67f8f6b5baa8c5a2b6"/></dir></dir><dir name="template"><dir name="tagalys"><file name="tagalys_ss.phtml" hash="522f06677f0188c9a425a2401eb1ec11"/></dir></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="Tagalys_core.xml" hash="6385afae91af7bada73792120c378e65"/></dir><dir name="template"><dir name="tagalys"><file name="progressbar.phtml" hash="a54e328030c9f430a6022697f1431388"/></dir></dir></dir></dir></dir></dir></target><target name="mageskin"><dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="css"><file name="tagalys-core.css" hash="8d9ea54b6b1602cda702b4c55b4943a1"/></dir><dir name="images"><file name="logo-tagalys.png" hash="6b9eeda985cf02bfa23eeddcc64e422b"/></dir></dir></dir></dir></dir></target><target name="mage"><dir><dir name="js"><dir name="tagalys"><file name="tagalys-core.js" hash="09bba056df414ead8c8aea26a1fb8ed8"/></dir></dir></dir></target><target name="mageetc"><dir><dir name="modules"><file name="Tagalys_SearchSuggestions.xml" hash="0b256e54d7f0344f70c4c4efd0473b61"/><file name="Tagalys_Tsearch.xml" hash="8986598b80306698d18983ef9a2926f9"/></dir></dir></target></contents>
16
  <compatible/>
17
- <dependencies><required><php><min>5.3.0</min><max>5.6.0</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.0.10</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>Aaditya</name><user>Aaditya</user><email>antony@tagalys.com</email></author></authors>
13
+ <date>2017-02-15</date>
14
+ <time>13:32:37</time>
15
+ <contents><target name="magelocal"><dir><dir name="Tagalys"><dir name="SearchSuggestions"><dir name="Block"><dir name="Catalog"><dir name="Layer"><dir name="Filter"><file name="Attribute.php" hash="4a1d6c59a119e36f06a9227b4a648f77"/><file name="Category.php" hash="322d606ca40b6c7a976ec09f5080281a"/></dir></dir><file name="Layer.php" hash="4e72f2b2b8788ba0dce51aa38575e313"/></dir></dir><dir name="Helper"><file name="Data.php" hash="fa1f09a28bb0d3772a4aeb29af8c575b"/></dir><dir name="Model"><dir name="Catalog"><dir name="Layer"><dir name="Filter"><file name="Attribute.php" hash="897b2f76ab974edea9e4dffa176662f7"/><file name="Category.php" hash="c2c91bcd957559e5b4cb0c0ad9268a7f"/></dir></dir></dir></dir><dir name="controllers"><file name="AutoSuggestController.php" hash="8ef45554e5cc780b7e9f020cd19e28c5"/></dir><dir name="etc"><file name="config.xml" hash="854e13ce3dad489f9da4ae63cadf7512"/></dir></dir><dir name="Core"><dir name="Block"><dir name="Adminhtml"><dir name="Tagalys"><dir name="Edit"><file name="Form.php" hash="f03082a193308464a70ddb12929f6445"/><dir name="Tab"><file name="Credentials.php" hash="ed600b42a2fe12222ef352a9a6b0dbd7"/><file name="Debug.php" hash="300e99069b08e1c7f4ec3d3a7c056ae2"/><file name="Merchandisingpage.php" hash="2fad4e4db56eb1999e421770bbdd70c9"/><file name="Setup.php" hash="8a5b190544b9e26e7d29716b8e3946dd"/><file name="Signup.php" hash="db50f6b1f8fe7c10eba8996adaab5b46"/><file name="Similarproducts.php" hash="336f1e8c7a86babf681ee6b2ff643406"/><file name="Sync.php" hash="df41344ec4ec924ccc34ad3e8b93c8f2"/><file name="Tsearch.php" hash="0f8d06abb0058aa63bb7619d96b54986"/><file name="Tsearchsuggestion.php" hash="66ba155f8119a448ee2c2fdb6e5777d5"/></dir><file name="Tabs.php" hash="334a9a7af439df186e3bf7e73fe92ca6"/></dir><file name="Edit.php" hash="b6ed0a6d60ed8437013316ea2bf4ae8c"/><file name="Notifications.php" hash="a8a462e420cffb43dcc9a3501114e01b"/><file name="Progress.php" hash="9de974b3672b91e25f5062d6d76c350d"/><file name="SearchReady.php" hash="9e58736e1eb8cba32ee0b84b19ee7b6c"/></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="0a045aa8949d1f1d6b4c299cf2f5579e"/></dir><dir name="Model"><file name="Config.php" hash="6b1fc527b6ee9b6386669d91ada6c0cb"/><dir name="Mysql4"><dir name="Config"><file name="Collection.php" hash="ea729baf00ac3f73ea70eb36cf182699"/></dir><file name="Config.php" hash="f96196b73e2e9bd2ceaf4b6ba8befb1a"/></dir><file name="Observer.php" hash="c3619b4cd7264290bc7f1a34e293ac18"/></dir><dir name="etc"><file name="adminhtml.xml" hash="7be928fd40cff7dda724457e84736624"/><file name="config.xml" hash="7b26e95fe97248975edd7f2c1c75cb80"/></dir><dir name="sql"><dir name="tagalys_core_setup"><file name="mysql4-install-0.2.0.php" hash="50451682b52f41e0e5a2b656b4ed222f"/></dir></dir></dir><dir name="Sync"><dir name="Helper"><file name="Data.php" hash="f6dbd08edafe1f615818e8ea73d412fd"/><file name="Inventory.php" hash="61a553020607ff202ddb6ea32593cc36"/><file name="Service.php" hash="c41a4a75c764e233f7a3b75c1854f93d"/><file name="TagalysFeedFactory.php" hash="8678b161a51e495d82cacad978052847"/></dir><dir name="Model"><dir name="Adminhtml"><dir name="System"><dir name="Config"><dir name="Backend"><dir name="Tagalys"><file name="Cron.php" hash="497ea5cee9239e97275b87743a4341a8"/></dir></dir></dir></dir></dir><file name="Client.php" hash="8040286126ba95b02b6fe52f98668657"/><dir name="Dataflow"><dir name="Convert"><dir name="Adapter"><file name="Io.php" hash="e1796293468adb1340d6336fd37e4a43"/></dir></dir></dir><dir name="Mysql4"><dir name="Queue"><file name="Collection.php" hash="d0228354a318338e31d85e25960b9f5c"/></dir><file name="Queue.php" hash="8c192d482dbbaa48c703f00ef5cf1a73"/></dir><file name="Observer.php" hash="2642389de90e5d5092a12bd9f1f58a20"/><file name="ProductDetails.php" hash="340acb5c3aea7928b71c8d33ff735f11"/><file name="Queue.php" hash="c48db47089e3ca175017c409768aefe5"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="ImportController.php" hash="3e0e0d36cb252768a7ccbb823d404752"/><dir name="System"><dir name="Convert"><file name="GuiController.php" hash="0a7755e0004a1db8c3fbfdfee717cdcc"/></dir></dir><file name="TagalysController.php" hash="75b22f6cf00e1d0c55af420d0ea430ce"/></dir><file name="FeedController.php" hash="056d76af4b612dc94e235df80a79c58d"/></dir><dir name="etc"><file name="config.xml" hash="c3aab7b4bc00cb917a6fb4803087ec36"/><file name="wsdl.xml" hash="1479803fedcad805ae6420f0eff141ad"/></dir><dir name="sql"><dir name="sync_setup"><file name="mysql4-install-0.1.0.php" hash="756c821858436db88487a3b121531d0e"/><file name="mysql4-install-0.2.0.php" hash="756c821858436db88487a3b121531d0e"/><file name="mysql4-upgrade-0.1.0-0.2.0.php" hash="1e1fdc5770389a9123a3079e354ad822"/></dir></dir></dir><dir name="PopularSearches"><dir name="Model"><file name="Observer.php" hash="3c4a9c3cb5d23ce28f856620f9f7b0ca"/></dir><dir name="etc"><file name="config.xml" hash="4089d29d49ff24d49446c8fed7c153b5"/></dir></dir><dir name="Tsearch"><dir name="Block"><dir name="Catalog"><dir name="Layer"><dir name="Filter"><file name="Attribute.php" hash="8d0f3d1786e1350dd3b050dac907f382"/><file name="Category.php" hash="084bd8b9a22699c867902f774eeb7f72"/><file name="Price.php" hash="2db28591e437f65cd52506906ee96663"/></dir><file name="State.php" hash="8dadc65a747943cb9973747495d3a090"/><file name="View.php" hash="28966b74d8cf4d2dd79155c546d4aa51"/></dir><dir name="Product"><dir name="List"><file name="Toolbar.php" hash="00a3f570914bc92fc738a8a2b63168f9"/></dir><file name="List.php" hash="360faadf31bc8a3606f789f634ea101b"/></dir></dir><dir name="Catalogsearch"><dir name="Layer"><dir name="Filter"><file name="Attribute.php" hash="3a858ada3f75cf0aa8c327d27daa616b"/></dir><file name="View.php" hash="28c09e321dc22fdbb03b48f057e8ae1b"/></dir><file name="Layer.php" hash="576c376ec352ce14e7f10c7e77fb8b59"/><file name="Result.php" hash="382a1f850d62de8e86617f149244db93"/></dir></dir><dir name="Helper"><file name="Data.php" hash="ae9d36b28b1eb921153d4207be3304a9"/></dir><dir name="Model"><dir name="Catalog"><dir name="Layer"><dir name="Filter"><file name="Attribute.php" hash="1d239626f555c4215a07edea9e3322de"/><file name="Category.php" hash="0dfb591ee8a64759177aa93bc2ffbed7"/><file name="Price.php" hash="f7d04011027bd796736a1238d76c56c1"/></dir></dir><file name="Layer.php" hash="5d005f705e43fc61ce548da82b22a3df"/><dir name="Product"><file name="List.php" hash="8bd460c476e4630149c7e11cb8f50a9c"/></dir></dir><dir name="Catalogsearch"><file name="Layer.php" hash="b32c1e8c132ba771bd0e0490ed97c853"/></dir><dir name="Client"><file name="Connector.php" hash="96107c6d1925cf6391d90a0c81b89f67"/></dir><file name="Engine.php" hash="feb88f896e2a290c8692c8463b87abb2"/><file name="Observer.php" hash="eb77033417011509be021fba2028d018"/><dir name="Resource"><dir name="Catalog"><dir name="Product"><file name="Collection.php" hash="a0bcbb601025bc0af84ee3c11ef6e531"/><file name="testCollection.php" hash="a0bcbb601025bc0af84ee3c11ef6e531"/></dir></dir></dir></dir><dir name="etc"><file name="config.xml" hash="b5dc2fe2c23975efad00a1aeb15f0888"/></dir></dir></dir></dir></target><target name="magedesign"><dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><dir name="tagalys"><file name="ss.xml" hash="9d62ce5a9ae20f67f8f6b5baa8c5a2b6"/></dir></dir><dir name="template"><dir name="tagalys"><file name="tagalys_ss.phtml" hash="522f06677f0188c9a425a2401eb1ec11"/></dir></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="Tagalys_core.xml" hash="6385afae91af7bada73792120c378e65"/></dir><dir name="template"><dir name="tagalys"><file name="progressbar.phtml" hash="a54e328030c9f430a6022697f1431388"/></dir></dir></dir></dir></dir></dir></target><target name="mageskin"><dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="css"><file name="tagalys-core.css" hash="8d9ea54b6b1602cda702b4c55b4943a1"/></dir><dir name="images"><file name="logo-tagalys.png" hash="6b9eeda985cf02bfa23eeddcc64e422b"/></dir></dir></dir></dir></dir></target><target name="mage"><dir><dir name="js"><dir name="tagalys"><file name="tagalys-core.js" hash="09bba056df414ead8c8aea26a1fb8ed8"/></dir></dir></dir></target><target name="mageetc"><dir><dir name="modules"><file name="Tagalys_SearchSuggestions.xml" hash="0b256e54d7f0344f70c4c4efd0473b61"/><file name="Tagalys_Tsearch.xml" hash="8986598b80306698d18983ef9a2926f9"/></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>