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 +96 -0
- app/code/local/Tagalys/Core/Block/Adminhtml/Tagalys/Edit/Tab/Similarproducts.php +83 -0
- app/code/local/Tagalys/Core/Block/Adminhtml/Tagalys/Edit/Tabs.php +22 -1
- app/code/local/Tagalys/PopularSearches/Model/Observer.php +2 -2
- app/code/local/Tagalys/Sync/Helper/Service.php +9 -0
- app/code/local/Tagalys/Sync/Helper/TagalysFeedFactory.php +86 -55
- app/code/local/Tagalys/Sync/Model/ProductDetails.php +1 -1
- app/code/local/Tagalys/Sync/etc/config.xml +2 -2
- app/code/local/Tagalys/Tsearch/Model/Engine.php +2 -7
- package.xml +5 -5
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->__('
|
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-'.
|
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 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
69 |
}
|
70 |
-
|
71 |
-
|
|
|
|
|
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) ==
|
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) ==
|
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) >
|
126 |
-
$meta_temp = explode( '.', $file_status[
|
127 |
$total = $meta_temp[0]; //explode('.', $file_status[1]);
|
128 |
$file_meta->name = $value;
|
129 |
-
$file_meta->store = $file_status[
|
130 |
-
$file_meta->uniq_name =$file_status[
|
131 |
-
$file_meta->type = $file_status[
|
|
|
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
|
184 |
-
|
|
|
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 |
-
|
286 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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[
|
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[
|
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) >
|
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[
|
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
|
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.
|
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-
|
14 |
-
<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="
|
16 |
<compatible/>
|
17 |
-
<dependencies><required><php><min>5.3.0</min><max>
|
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>
|