Klevu_SmartSearch - Version 1.2.2

Version Notes

- make the method get instead of post for idsearch
- tax options implementation
- gzip compression
- shell script implementation
- external call to sync the data
-boosting event handled
- catalog rule change event

Download this release

Release Info

Developer Klevu
Extension Klevu_SmartSearch
Version 1.2.2
Comparing to
See all releases


Code changes from version 1.2.1 to 1.2.2

Files changed (31) hide show
  1. app/code/community/Klevu/Boosting/Block/Adminhtml/Boost/Edit/Tab/Conditions.php +1 -1
  2. app/code/community/Klevu/Boosting/Block/Adminhtml/Boost/Grid.php +1 -1
  3. app/code/community/Klevu/Boosting/Block/Adminhtml/Form/Field/Rule/Button.php +1 -1
  4. app/code/community/Klevu/Boosting/Model/Observer.php +5 -1
  5. app/code/community/Klevu/Boosting/etc/config.xml +5 -5
  6. app/code/community/Klevu/Search/Block/Adminhtml/Form/Field/Image/Log.php +1 -1
  7. app/code/community/Klevu/Search/Block/Adminhtml/Form/Field/Store/Status.php +29 -0
  8. app/code/community/Klevu/Search/Helper/Config.php +18 -3
  9. app/code/community/Klevu/Search/Helper/Data.php +1 -1
  10. app/code/community/Klevu/Search/Model/Api/Action/Idsearch.php +1 -1
  11. app/code/community/Klevu/Search/Model/Api/Action/Producttracking.php +1 -1
  12. app/code/community/Klevu/Search/Model/Api/Action/Searchtermtracking.php +1 -1
  13. app/code/community/Klevu/Search/Model/Api/Request/Xml.php +12 -5
  14. app/code/community/Klevu/Search/Model/Observer.php +26 -0
  15. app/code/community/Klevu/Search/Model/Product/Sync.php +110 -44
  16. app/code/community/Klevu/Search/Model/Sync.php +11 -2
  17. app/code/community/Klevu/Search/Model/System/Config/Source/Taxoptions.php +19 -0
  18. app/code/community/Klevu/Search/controllers/Adminhtml/Klevu/NotificationsController.php +5 -0
  19. app/code/community/Klevu/Search/controllers/Adminhtml/Klevu/Search/WizardController.php +4 -0
  20. app/code/community/Klevu/Search/controllers/Adminhtml/Klevu/SearchController.php +7 -0
  21. app/code/community/Klevu/Search/controllers/IndexController.php +18 -0
  22. app/code/community/Klevu/Search/etc/config.xml +22 -3
  23. app/code/community/Klevu/Search/etc/system.xml +19 -1
  24. app/code/community/Klevu/Search/sql/klevu_search_setup/mysql4-install-1.0.0.php +1 -1
  25. app/design/adminhtml/default/default/layout/klevu/boosting.xml +7 -7
  26. app/design/adminhtml/default/default/template/klevu/search/form/klevuinfo.phtml +1 -1
  27. app/design/adminhtml/default/default/template/klevu/search/wizard/configure/store.phtml +4 -3
  28. app/design/adminhtml/default/default/template/klevu/search/wizard/configure/userplan.phtml +0 -1
  29. package.xml +11 -5
  30. shell/klevu/sync.php +57 -0
  31. skin/frontend/base/default/css/klevu/klevu-landing-page-style.css +111 -64
app/code/community/Klevu/Boosting/Block/Adminhtml/Boost/Edit/Tab/Conditions.php CHANGED
@@ -22,7 +22,7 @@ class Klevu_Boosting_Block_Adminhtml_Boost_Edit_Tab_Conditions extends Mage_Admi
22
  $boostModel = Mage::registry('boost_data');
23
  $form = new Varien_Data_Form();
24
  $form->setHtmlIdPrefix('rule_');
25
- $renderer = Mage::getBlockSingleton('adminhtml/widget_form_renderer_fieldset')->setTemplate('promo/fieldset.phtml')->setNewChildUrl($this->getUrl('*/adminhtml_boost/newConditionHtml/form/rule_conditions_fieldset'));
26
  $fieldset = $form->addFieldset('conditions_fieldset', array(
27
  'legend' => $this->__('Specify "Conditions" when the rule should be executed (Note: Only the attributes which have been enabled for promotion use are visible in the dropdown below (see Catalog > Attributes > Manage Attributes > Choose your attribute > Properties > Use for Promo Rule Conditions).
28
  )')
22
  $boostModel = Mage::registry('boost_data');
23
  $form = new Varien_Data_Form();
24
  $form->setHtmlIdPrefix('rule_');
25
+ $renderer = Mage::getBlockSingleton('adminhtml/widget_form_renderer_fieldset')->setTemplate('promo/fieldset.phtml')->setNewChildUrl($this->getUrl('*/boost/newConditionHtml/form/rule_conditions_fieldset'));
26
  $fieldset = $form->addFieldset('conditions_fieldset', array(
27
  'legend' => $this->__('Specify "Conditions" when the rule should be executed (Note: Only the attributes which have been enabled for promotion use are visible in the dropdown below (see Catalog > Attributes > Manage Attributes > Choose your attribute > Properties > Use for Promo Rule Conditions).
28
  )')
app/code/community/Klevu/Boosting/Block/Adminhtml/Boost/Grid.php CHANGED
@@ -54,7 +54,7 @@ class Klevu_Boosting_Block_Adminhtml_Boost_Grid extends Mage_Adminhtml_Block_Wid
54
  $this->getMassactionBlock()->setUseSelectAll(true);
55
  $this->getMassactionBlock()->addItem('remove_boost', array(
56
  'label' => Mage::helper('boosting')->__('Remove Rule') ,
57
- 'url' => $this->getUrl('*/adminhtml_boost/massRemove') ,
58
  'confirm' => Mage::helper('boosting')->__('Are you sure?')
59
  ));
60
  return $this;
54
  $this->getMassactionBlock()->setUseSelectAll(true);
55
  $this->getMassactionBlock()->addItem('remove_boost', array(
56
  'label' => Mage::helper('boosting')->__('Remove Rule') ,
57
+ 'url' => $this->getUrl('*/boost/massRemove') ,
58
  'confirm' => Mage::helper('boosting')->__('Are you sure?')
59
  ));
60
  return $this;
app/code/community/Klevu/Boosting/Block/Adminhtml/Form/Field/Rule/Button.php CHANGED
@@ -40,7 +40,7 @@ class Klevu_Boosting_Block_Adminhtml_Form_Field_Rule_Button extends Mage_Adminht
40
  $this->addData(array(
41
  "html_id" => $element->getHtmlId(),
42
  "button_label" => sprintf("Configure Product Boosting Rules%s", $label_suffix),
43
- "destination_url" => $this->getUrl("admin_boosting/adminhtml_boost", $url_params),
44
  ));
45
 
46
  return $this->_toHtml();
40
  $this->addData(array(
41
  "html_id" => $element->getHtmlId(),
42
  "button_label" => sprintf("Configure Product Boosting Rules%s", $label_suffix),
43
+ "destination_url" => $this->getUrl("adminhtml/boost/index", $url_params),
44
  ));
45
 
46
  return $this->_toHtml();
app/code/community/Klevu/Boosting/Model/Observer.php CHANGED
@@ -5,8 +5,12 @@ class Klevu_Boosting_Model_Observer extends Varien_Object
5
  /* update matching product ids */
6
  public function updateMatchingids(Varien_Event_Observer $observer) {
7
  $obj = $observer->getEvent()->getObject();
8
- $matchingids = ",".implode(",",$obj->getMatchingProductIds()).",";
 
9
  Mage::getResourceModel("boosting/boost")->updateMatchingIds($matchingids,$obj->getId());
 
 
 
10
  }
11
 
12
  /* update matching product ids */
5
  /* update matching product ids */
6
  public function updateMatchingids(Varien_Event_Observer $observer) {
7
  $obj = $observer->getEvent()->getObject();
8
+ $matchIds = $obj->getMatchingProductIds();
9
+ $matchingids = ",".implode(",",$matchIds).",";
10
  Mage::getResourceModel("boosting/boost")->updateMatchingIds($matchingids,$obj->getId());
11
+ if(!empty($matchIds)) {
12
+ Mage::getModel("klevu_search/product_sync")->updateSpecificProductIds($matchIds);
13
+ }
14
  }
15
 
16
  /* update matching product ids */
app/code/community/Klevu/Boosting/etc/config.xml CHANGED
@@ -87,13 +87,13 @@
87
  </global>
88
  <admin>
89
  <routers>
90
- <boosting>
91
- <use>admin</use>
92
  <args>
93
- <module>Klevu_Boosting</module>
94
- <frontName>admin_boosting</frontName>
 
95
  </args>
96
- </boosting>
97
  </routers>
98
  </admin>
99
  <adminhtml>
87
  </global>
88
  <admin>
89
  <routers>
90
+ <adminhtml>
 
91
  <args>
92
+ <modules>
93
+ <klevu_boosting before="Mage_Adminhtml">Klevu_Boosting_Adminhtml</klevu_boosting>
94
+ </modules>
95
  </args>
96
+ </adminhtml>
97
  </routers>
98
  </admin>
99
  <adminhtml>
app/code/community/Klevu/Search/Block/Adminhtml/Form/Field/Image/Log.php CHANGED
@@ -35,7 +35,7 @@ class Klevu_Search_Block_Adminhtml_Form_Field_Image_Log extends Mage_Adminhtml_B
35
  }
36
 
37
  protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element) {
38
- $url_params = array("debug" => "klevu");
39
  $label_suffix = ($this->getStoreId()) ? " for This Store" : "";
40
 
41
  $this->addData(array(
35
  }
36
 
37
  protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element) {
38
+ $url_params = array("debug" => "klevu",'_store' => Mage::app()->getDefaultStoreView()->getId());
39
  $label_suffix = ($this->getStoreId()) ? " for This Store" : "";
40
 
41
  $this->addData(array(
app/code/community/Klevu/Search/Block/Adminhtml/Form/Field/Store/Status.php ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Klevu_Search_Block_Adminhtml_Form_Field_Store_Status extends Mage_Adminhtml_Block_System_Config_Form_Field {
4
+
5
+ protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element) {
6
+ if ($element->getScope() == "stores") {
7
+ return $element->getEscapedValue();
8
+ } else {
9
+ $status = Mage::getModel("klevu_search/product_sync")->getKlevuCronStatus();
10
+ if(!empty($status)) {
11
+ $html = Mage::getModel("klevu_search/product_sync")->getKlevuCronStatus();
12
+ }else {
13
+ $html = Mage::helper("klevu_search")->__("Never Run");
14
+ }
15
+ return $html;
16
+ }
17
+ }
18
+
19
+ public function render(Varien_Data_Form_Element_Abstract $element) {
20
+ $this->setData('scope', $element->getScope());
21
+
22
+ // Remove the inheritance checkbox
23
+ $element
24
+ ->unsCanUseWebsiteValue()
25
+ ->unsCanUseDefaultValue();
26
+
27
+ return parent::render($element);
28
+ }
29
+ }
app/code/community/Klevu/Search/Helper/Config.php CHANGED
@@ -22,6 +22,7 @@ class Klevu_Search_Helper_Config extends Mage_Core_Helper_Abstract {
22
  const XML_PATH_ORDER_SYNC_FREQUENCY = "klevu_search/order_sync/frequency";
23
  const XML_PATH_ORDER_SYNC_LAST_RUN = "klevu_search/order_sync/last_run";
24
  const XML_PATH_FORCE_LOG = "klevu_search/developer/force_log";
 
25
  const XML_PATH_LOG_LEVEL = "klevu_search/developer/log_level";
26
  const XML_PATH_STORE_ID = "stores/%s/system/store/id";
27
  const XML_PATH_HOSTNAME = "klevu_search/general/hostname";
@@ -77,7 +78,10 @@ class Klevu_Search_Helper_Config extends Mage_Core_Helper_Abstract {
77
  * @return bool
78
  */
79
  public function isTaxEnabled($store_id = null) {
80
- return Mage::getStoreConfigFlag(static::XML_PATH_TAX_ENABLED, $store_id);
 
 
 
81
  }
82
 
83
  /**
@@ -135,10 +139,10 @@ class Klevu_Search_Helper_Config extends Mage_Core_Helper_Abstract {
135
  * @return $this
136
  */
137
  public function setTaxEnabledFlag($flag, $store = null) {
138
-
139
- $flag = ($flag) ? 1 : 0;
140
  $this->setStoreConfig(static::XML_PATH_TAX_ENABLED, $flag, $store);
141
  return $this;
 
142
  }
143
 
144
  /**
@@ -424,6 +428,7 @@ class Klevu_Search_Helper_Config extends Mage_Core_Helper_Abstract {
424
  * @return bool
425
  */
426
  public function isProductSyncEnabled($store_id = null) {
 
427
  $flag = $this->getProductSyncEnabledFlag($store_id);
428
 
429
  // static::KLEVU_PRODUCT_FORCE_OLDERVERSION for handling of older version of klevu
@@ -591,6 +596,16 @@ class Klevu_Search_Helper_Config extends Mage_Core_Helper_Abstract {
591
  public function isLoggingForced() {
592
  return Mage::getStoreConfigFlag(static::XML_PATH_FORCE_LOG);
593
  }
 
 
 
 
 
 
 
 
 
 
594
 
595
  /**
596
  * Return the minimum log level configured. Default to Zend_Log::WARN.
22
  const XML_PATH_ORDER_SYNC_FREQUENCY = "klevu_search/order_sync/frequency";
23
  const XML_PATH_ORDER_SYNC_LAST_RUN = "klevu_search/order_sync/last_run";
24
  const XML_PATH_FORCE_LOG = "klevu_search/developer/force_log";
25
+ const XML_PATH_ENABLE_EXTERNAL_CALL = "klevu_search/developer/enable_external_call";
26
  const XML_PATH_LOG_LEVEL = "klevu_search/developer/log_level";
27
  const XML_PATH_STORE_ID = "stores/%s/system/store/id";
28
  const XML_PATH_HOSTNAME = "klevu_search/general/hostname";
78
  * @return bool
79
  */
80
  public function isTaxEnabled($store_id = null) {
81
+ $flag = Mage::getStoreConfigFlag(static::XML_PATH_TAX_ENABLED, $store_id);
82
+ return in_array($flag, array(
83
+ Klevu_Search_Model_System_Config_Source_Taxoptions::YES
84
+ ));
85
  }
86
 
87
  /**
139
  * @return $this
140
  */
141
  public function setTaxEnabledFlag($flag, $store = null) {
142
+ //$flag = ($flag) ? 1 : 0;
 
143
  $this->setStoreConfig(static::XML_PATH_TAX_ENABLED, $flag, $store);
144
  return $this;
145
+
146
  }
147
 
148
  /**
428
  * @return bool
429
  */
430
  public function isProductSyncEnabled($store_id = null) {
431
+
432
  $flag = $this->getProductSyncEnabledFlag($store_id);
433
 
434
  // static::KLEVU_PRODUCT_FORCE_OLDERVERSION for handling of older version of klevu
596
  public function isLoggingForced() {
597
  return Mage::getStoreConfigFlag(static::XML_PATH_FORCE_LOG);
598
  }
599
+
600
+ /**
601
+ * Check if KLEVU can sync data by exteranl url.
602
+ *
603
+ * @return bool
604
+ */
605
+ public function isExternalCallEnabled() {
606
+ return Mage::getStoreConfigFlag(static::XML_PATH_ENABLE_EXTERNAL_CALL);
607
+ }
608
+
609
 
610
  /**
611
  * Return the minimum log level configured. Default to Zend_Log::WARN.
app/code/community/Klevu/Search/Helper/Data.php CHANGED
@@ -15,7 +15,7 @@ class Klevu_Search_Helper_Data extends Mage_Core_Helper_Abstract {
15
  * @param string $locale
16
  */
17
  function getLanguageFromLocale($locale) {
18
- if (strlen($locale) == 5 && strpos($locale, "_") == 2) {
19
  return substr($locale, 0, 2);
20
  }
21
 
15
  * @param string $locale
16
  */
17
  function getLanguageFromLocale($locale) {
18
+ if (strlen($locale) == 5 && strpos($locale, "_") === 2) {
19
  return substr($locale, 0, 2);
20
  }
21
 
app/code/community/Klevu/Search/Model/Api/Action/Idsearch.php CHANGED
@@ -4,7 +4,7 @@ class Klevu_Search_Model_Api_Action_Idsearch extends Klevu_Search_Model_Api_Acti
4
  const ENDPOINT = "/cloud-search/n-search/idsearch";
5
  const METHOD = "GET";
6
 
7
- const DEFAULT_REQUEST_MODEL = "klevu_search/api_request_post";
8
  const DEFAULT_RESPONSE_MODEL = "klevu_search/api_response_search";
9
 
10
  protected function validate($parameters) {
4
  const ENDPOINT = "/cloud-search/n-search/idsearch";
5
  const METHOD = "GET";
6
 
7
+ const DEFAULT_REQUEST_MODEL = "klevu_search/api_request_get";
8
  const DEFAULT_RESPONSE_MODEL = "klevu_search/api_response_search";
9
 
10
  protected function validate($parameters) {
app/code/community/Klevu/Search/Model/Api/Action/Producttracking.php CHANGED
@@ -5,7 +5,7 @@ class Klevu_Search_Model_Api_Action_Producttracking extends Klevu_Search_Model_A
5
  const ENDPOINT = "/analytics/productTracking";
6
  const METHOD = "POST";
7
 
8
- const DEFAULT_REQUEST_MODEL = "klevu_search/api_request_post";
9
  const DEFAULT_RESPONSE_MODEL = "klevu_search/api_response_data";
10
 
11
  protected function validate($parameters) {
5
  const ENDPOINT = "/analytics/productTracking";
6
  const METHOD = "POST";
7
 
8
+ const DEFAULT_REQUEST_MODEL = "klevu_search/api_request_get";
9
  const DEFAULT_RESPONSE_MODEL = "klevu_search/api_response_data";
10
 
11
  protected function validate($parameters) {
app/code/community/Klevu/Search/Model/Api/Action/Searchtermtracking.php CHANGED
@@ -5,7 +5,7 @@ class Klevu_Search_Model_Api_Action_Searchtermtracking extends Klevu_Search_Mode
5
  const ENDPOINT = "/analytics/n-search/search";
6
  const METHOD = "POST";
7
 
8
- const DEFAULT_REQUEST_MODEL = "klevu_search/api_request_post";
9
  const DEFAULT_RESPONSE_MODEL = "klevu_search/api_response_data";
10
 
11
  protected function validate($parameters) {
5
  const ENDPOINT = "/analytics/n-search/search";
6
  const METHOD = "POST";
7
 
8
+ const DEFAULT_REQUEST_MODEL = "klevu_search/api_request_get";
9
  const DEFAULT_RESPONSE_MODEL = "klevu_search/api_response_data";
10
 
11
  protected function validate($parameters) {
app/code/community/Klevu/Search/Model/Api/Request/Xml.php CHANGED
@@ -26,11 +26,18 @@ class Klevu_Search_Model_Api_Request_Xml extends Klevu_Search_Model_Api_Request
26
  */
27
  protected function build() {
28
  $client = parent::build();
29
-
30
- $client
31
- ->setHeaders("Content-Type", "application/xml")
32
- ->setRawData($this->getDataAsXml());
33
-
 
 
 
 
 
 
 
34
  return $client;
35
  }
36
 
26
  */
27
  protected function build() {
28
  $client = parent::build();
29
+ $convertDataToXml = $this->getDataAsXml();
30
+ $gZen = gzencode($convertDataToXml,5);
31
+ if($gZen !== false) {
32
+ $client
33
+ ->setHeaders("Content-Encoding", "gzip")
34
+ ->setHeaders("Content-Type", "application/xml")
35
+ ->setRawData($gZen);
36
+ } else {
37
+ $client
38
+ ->setHeaders("Content-Type", "application/xml")
39
+ ->setRawData($convertDataToXml);
40
+ }
41
  return $client;
42
  }
43
 
app/code/community/Klevu/Search/Model/Observer.php CHANGED
@@ -217,5 +217,31 @@ class Klevu_Search_Model_Observer extends Varien_Object {
217
  Mage::helper('klevu_search')->log(Zend_Log::CRIT, sprintf("Exception thrown in %s::%s - %s", __CLASS__, __METHOD__, $e->getMessage()));
218
  }
219
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
220
 
221
  }
217
  Mage::helper('klevu_search')->log(Zend_Log::CRIT, sprintf("Exception thrown in %s::%s - %s", __CLASS__, __METHOD__, $e->getMessage()));
218
  }
219
  }
220
+
221
+ public function catalogRulePriceChange(Varien_Event_Observer $observer){
222
+ try {
223
+ $obj = $observer->getEvent()->getRule();
224
+ $matchIds = $obj->getMatchingProductIds();
225
+ $rows = array();
226
+ if(!empty($matchIds)) {
227
+ if (version_compare(Mage::getVersion(), '1.7.0.2', '<=')===true) {
228
+ $rows = $matchIds;
229
+ } else {
230
+ foreach($matchIds as $key => $value) {
231
+ if(is_array($value)) {
232
+ if (in_array(1,$value)) {
233
+ $rows[] = $key;
234
+ }
235
+ }
236
+ }
237
+ }
238
+ }
239
+ if(!empty($rows)){
240
+ Mage::getModel("klevu_search/product_sync")->updateSpecificProductIds($rows);
241
+ }
242
+ } catch (Exception $e) {
243
+ Mage::helper('klevu_search')->log(Zend_Log::CRIT, sprintf("Exception thrown in %s::%s - %s", __CLASS__, __METHOD__, $e->getMessage()));
244
+ }
245
+ }
246
 
247
  }
app/code/community/Klevu/Search/Model/Product/Sync.php CHANGED
@@ -119,47 +119,76 @@ class Klevu_Search_Model_Product_Sync extends Klevu_Search_Model_Sync {
119
  $this->log(Zend_Log::INFO, sprintf("Starting sync for %s (%s).", $store->getWebsite()->getName(), $store->getName()));
120
 
121
  $actions = array(
122
- 'delete' => $this->getConnection()
 
123
  ->select()
124
- /*
125
- * Select synced products in the current store/mode that are no longer enabled
126
- * (don't exist in the products table, or have status disabled for the current
127
- * store, or have status disabled for the default store) or are not visible
128
- * (in the case of configurable products, check the parent visibility instead).
129
- */
130
- ->from(
131
- array('k' => $this->getTableName("klevu_search/product_sync")),
132
- array('product_id' => "k.product_id", 'parent_id' => "k.parent_id")
133
- )
134
- ->joinLeft(
135
- array('v' => $this->getTableName("catalog/category_product_index")),
136
- "v.product_id = k.product_id AND v.store_id = :store_id",
137
- ""
138
- )
139
- ->joinLeft(
140
- array('p' => $this->getTableName("catalog/product")),
141
- "p.entity_id = k.product_id",
142
- ""
143
- )
144
- ->joinLeft(
145
- array('ss' => $this->getProductStatusAttribute()->getBackendTable()),
146
- "ss.attribute_id = :status_attribute_id AND ss.entity_id = k.product_id AND ss.store_id = :store_id",
147
- ""
148
- )
149
- ->joinLeft(
150
- array('sd' => $this->getProductStatusAttribute()->getBackendTable()),
151
- "sd.attribute_id = :status_attribute_id AND sd.entity_id = k.product_id AND sd.store_id = :default_store_id",
152
- ""
153
- )
154
- ->where("(k.store_id = :store_id) AND (k.type = :type) AND (k.test_mode = :test_mode) AND ((p.entity_id IS NULL) OR (CASE WHEN ss.value_id > 0 THEN ss.value ELSE sd.value END != :status_enabled) OR (CASE WHEN k.parent_id = 0 THEN k.product_id ELSE k.parent_id END NOT IN (?)))",
155
- $this->getConnection()
 
 
 
 
 
 
 
 
 
 
 
 
156
  ->select()
 
 
 
 
 
157
  ->from(
158
- array('i' => $this->getTableName("catalog/category_product_index")),
159
- array('id' => "i.product_id")
160
  )
161
- ->where("(i.store_id = :store_id) AND (i.visibility IN (:visible_both, :visible_search))")
162
- )
 
 
 
 
 
 
 
 
 
 
 
163
  ->group(array('k.product_id', 'k.parent_id'))
164
  ->bind(array(
165
  'type' => "products",
@@ -622,14 +651,14 @@ class Klevu_Search_Model_Product_Sync extends Klevu_Search_Model_Sync {
622
  if (isset($skipped_record_ids[$i])) {
623
  continue;
624
  }
625
- $or_where[] = sprintf("(%s AND %s)",
626
  $connection->quoteInto("k.product_id = ?", $data[$i]['product_id']),
627
  $connection->quoteInto("k.parent_id = ?", $data[$i]['parent_id']),
628
  $connection->quoteInto("k.type = ?", "products")
629
  );
630
  }
 
631
  $select->where(implode(" OR ", $or_where));
632
-
633
  $connection->query($select->deleteFromSelect("k"));
634
 
635
  $skipped_count = count($skipped_record_ids);
@@ -820,7 +849,6 @@ class Klevu_Search_Model_Product_Sync extends Klevu_Search_Model_Sync {
820
  }
821
  $product_ids = array_unique($product_ids);
822
  $parent_ids = array_unique($parent_ids);
823
-
824
  $data = Mage::getModel('catalog/product')->getCollection()
825
  ->addIdFilter($product_ids)
826
  ->setStore($this->getStore())
@@ -1078,7 +1106,7 @@ class Klevu_Search_Model_Product_Sync extends Klevu_Search_Model_Sync {
1078
  $product['listCategory'] = $this->getCategoryNames($parent->getCategoryIds());
1079
  } else {
1080
  $product['category'] = "";
1081
- $product['listCategory'] = "";
1082
  }
1083
 
1084
 
@@ -2092,9 +2120,10 @@ class Klevu_Search_Model_Product_Sync extends Klevu_Search_Model_Sync {
2092
  */
2093
  public function updateSpecificProductIds($ids)
2094
  {
2095
- $pro_ids = implode(',', $ids);
2096
- $where = sprintf("product_id IN(%s) OR parent_id IN(%s)", $pro_ids, $pro_ids);
2097
  $resource = Mage::getSingleton('core/resource');
 
 
 
2098
  $resource->getConnection('core_write')->update(
2099
  $resource->getTableName('klevu_search/product_sync'),
2100
  array('last_synced_at' => '0'),
@@ -2253,6 +2282,7 @@ class Klevu_Search_Model_Product_Sync extends Klevu_Search_Model_Sync {
2253
  )
2254
  ->where("k.product_id IS NULL")
2255
  ->where("c.path LIKE ?","{$rootStoreCategory}%")
 
2256
  ->bind(array(
2257
  'type' => "categories",
2258
  'store_id' => $store->getId(),
@@ -2502,7 +2532,7 @@ class Klevu_Search_Model_Product_Sync extends Klevu_Search_Model_Sync {
2502
  }
2503
 
2504
  // Get all products for update
2505
- public function catalogruleupdateifno(){
2506
  $timestamp_after = strtotime("+1 day",strtotime(date_create("now")->format("Y-m-d")));
2507
  $timestamp_before = strtotime("-1 day",strtotime(date_create("now")->format("Y-m-d")));
2508
  $query = $this->getConnection()->select()
@@ -2526,4 +2556,40 @@ class Klevu_Search_Model_Product_Sync extends Klevu_Search_Model_Sync {
2526
  $this->updateSpecificProductIds($pro_ids);
2527
  }
2528
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2529
  }
119
  $this->log(Zend_Log::INFO, sprintf("Starting sync for %s (%s).", $store->getWebsite()->getName(), $store->getName()));
120
 
121
  $actions = array(
122
+ 'delete' =>
123
+ $this->getConnection()
124
  ->select()
125
+ ->union(array(
126
+ $this->getConnection()
127
+ ->select()
128
+ /*
129
+ * Select synced products in the current store/mode that are no longer enabled
130
+ * (don't exist in the products table, or have status disabled for the current
131
+ * store, or have status disabled for the default store) or are not visible
132
+ * (in the case of configurable products, check the parent visibility instead).
133
+ */
134
+ ->from(
135
+ array('k' => $this->getTableName("klevu_search/product_sync")),
136
+ array('product_id' => "k.product_id", 'parent_id' => "k.parent_id")
137
+ )
138
+ ->joinLeft(
139
+ array('v' => $this->getTableName("catalog/category_product_index")),
140
+ "v.product_id = k.product_id AND v.store_id = :store_id",
141
+ ""
142
+ )
143
+ ->joinLeft(
144
+ array('p' => $this->getTableName("catalog/product")),
145
+ "p.entity_id = k.product_id",
146
+ ""
147
+ )
148
+ ->joinLeft(
149
+ array('ss' => $this->getProductStatusAttribute()->getBackendTable()),
150
+ "ss.attribute_id = :status_attribute_id AND ss.entity_id = k.product_id AND ss.store_id = :store_id",
151
+ ""
152
+ )
153
+ ->joinLeft(
154
+ array('sd' => $this->getProductStatusAttribute()->getBackendTable()),
155
+ "sd.attribute_id = :status_attribute_id AND sd.entity_id = k.product_id AND sd.store_id = :default_store_id",
156
+ ""
157
+ )
158
+ ->where("(k.store_id = :store_id) AND (k.type = :type) AND (k.test_mode = :test_mode) AND ((p.entity_id IS NULL) OR (CASE WHEN ss.value_id > 0 THEN ss.value ELSE sd.value END != :status_enabled) OR (CASE WHEN k.parent_id = 0 THEN k.product_id ELSE k.parent_id END NOT IN (?)) )",
159
+ $this->getConnection()
160
+ ->select()
161
+ ->from(
162
+ array('i' => $this->getTableName("catalog/category_product_index")),
163
+ array('id' => "i.product_id")
164
+ )
165
+ ->where("(i.store_id = :store_id) AND (i.visibility IN (:visible_both, :visible_search))")
166
+
167
+ ),
168
+ $this->getConnection()
169
  ->select()
170
+ /*
171
+ * Select products which are not associated with parent
172
+ * but still parent exits in klevu product sync table with parent id
173
+ *
174
+ */
175
  ->from(
176
+ array('ks' => $this->getTableName("klevu_search/product_sync")),
177
+ array('product_id' => "ks.product_id","parent_id" => 'ks.parent_id')
178
  )
179
+ ->where("(ks.parent_id !=0 AND ks.product_id NOT IN (?) AND ks.store_id = :store_id)",
180
+ $this->getConnection()
181
+ ->select()
182
+ /*
183
+ * Select products from catalog super link table
184
+ */
185
+ ->from(
186
+ array('s' => $this->getTableName("catalog/product_super_link")),
187
+ array('product_id' => "s.product_id")
188
+ )
189
+ )
190
+ )
191
+ )
192
  ->group(array('k.product_id', 'k.parent_id'))
193
  ->bind(array(
194
  'type' => "products",
651
  if (isset($skipped_record_ids[$i])) {
652
  continue;
653
  }
654
+ $or_where[] = sprintf("(%s AND %s AND %s)",
655
  $connection->quoteInto("k.product_id = ?", $data[$i]['product_id']),
656
  $connection->quoteInto("k.parent_id = ?", $data[$i]['parent_id']),
657
  $connection->quoteInto("k.type = ?", "products")
658
  );
659
  }
660
+
661
  $select->where(implode(" OR ", $or_where));
 
662
  $connection->query($select->deleteFromSelect("k"));
663
 
664
  $skipped_count = count($skipped_record_ids);
849
  }
850
  $product_ids = array_unique($product_ids);
851
  $parent_ids = array_unique($parent_ids);
 
852
  $data = Mage::getModel('catalog/product')->getCollection()
853
  ->addIdFilter($product_ids)
854
  ->setStore($this->getStore())
1106
  $product['listCategory'] = $this->getCategoryNames($parent->getCategoryIds());
1107
  } else {
1108
  $product['category'] = "";
1109
+ $product['listCategory'] = "KLEVU_PRODUCT";
1110
  }
1111
 
1112
 
2120
  */
2121
  public function updateSpecificProductIds($ids)
2122
  {
 
 
2123
  $resource = Mage::getSingleton('core/resource');
2124
+ $pro_ids = implode(',', $ids);
2125
+ $where = sprintf("(product_id IN(%s) OR parent_id IN(%s)) AND %s", $pro_ids,$pro_ids,$this->getConnection()->quoteInto('type = ?',"products"));
2126
+
2127
  $resource->getConnection('core_write')->update(
2128
  $resource->getTableName('klevu_search/product_sync'),
2129
  array('last_synced_at' => '0'),
2282
  )
2283
  ->where("k.product_id IS NULL")
2284
  ->where("c.path LIKE ?","{$rootStoreCategory}%")
2285
+ ->group(array('c.entity_id'))
2286
  ->bind(array(
2287
  'type' => "categories",
2288
  'store_id' => $store->getId(),
2532
  }
2533
 
2534
  // Get all products for update
2535
+ public function catalogruleUpdateinfo(){
2536
  $timestamp_after = strtotime("+1 day",strtotime(date_create("now")->format("Y-m-d")));
2537
  $timestamp_before = strtotime("-1 day",strtotime(date_create("now")->format("Y-m-d")));
2538
  $query = $this->getConnection()->select()
2556
  $this->updateSpecificProductIds($pro_ids);
2557
  }
2558
  }
2559
+
2560
+ /**
2561
+ * Get the klevu cron entry which is running mode
2562
+ * @return int
2563
+ */
2564
+ public function getKlevuCronStatus(){
2565
+ $collection = Mage::getResourceModel('cron/schedule_collection')
2566
+ ->addFieldToFilter("job_code", $this->getJobCode())
2567
+ ->addFieldToFilter("status", Mage_Cron_Model_Schedule::STATUS_RUNNING);
2568
+ if($collection->getSize()){
2569
+ $data = $collection->getData();
2570
+ $url = Mage::getModel('adminhtml/url')->getUrl("adminhtml/klevu_search/clear_klevu_cron");
2571
+ return Mage_Cron_Model_Schedule::STATUS_RUNNING." Since ".$data[0]['executed_at']." <a href='".$url."'>Clear Klevu Cron</a>";
2572
+ } else {
2573
+ $collection = Mage::getResourceModel('cron/schedule_collection')
2574
+ ->addFieldToFilter("job_code", $this->getJobCode())
2575
+ ->addFieldToFilter("status",Mage_Cron_Model_Schedule::STATUS_SUCCESS)
2576
+ ->setOrder('finished_at', 'desc');
2577
+ if($collection->getSize()){
2578
+ $data = $collection->getData();
2579
+ return Mage_Cron_Model_Schedule::STATUS_SUCCESS." ".$data[0]["finished_at"];
2580
+ }
2581
+ }
2582
+ return;
2583
+ }
2584
+
2585
+ /**
2586
+ * Remove the cron which is in running state
2587
+ * @return void
2588
+ */
2589
+ public function clearKlevuCron(){
2590
+ $condition = array();
2591
+ $condition[] = $this->getConnection()->quoteInto('status = ?', Mage_Cron_Model_Schedule::STATUS_RUNNING);
2592
+ $condition[] = $this->getConnection()->quoteInto('job_code = ?',$this->getJobCode());
2593
+ $this->getConnection()->delete($this->getTableName("cron_schedule"),$condition);
2594
+ }
2595
  }
app/code/community/Klevu/Search/Model/Sync.php CHANGED
@@ -95,10 +95,19 @@ abstract class Klevu_Search_Model_Sync extends Varien_Object {
95
  */
96
  protected function isBelowMemoryLimit() {
97
  $helper = Mage::helper('klevu_search');
98
-
99
- $limit = $helper->humanReadableToBytes(ini_get('memory_limit'));
100
  $usage = memory_get_usage(true);
101
 
 
 
 
 
 
 
 
 
 
 
102
  $this->log(Zend_Log::DEBUG, sprintf(
103
  "Memory usage: %s of %s.",
104
  $helper->bytesToHumanReadable($usage),
95
  */
96
  protected function isBelowMemoryLimit() {
97
  $helper = Mage::helper('klevu_search');
98
+ $php_memory_limit = ini_get('memory_limit');
 
99
  $usage = memory_get_usage(true);
100
 
101
+ if($php_memory_limit < 0){
102
+ $this->log(Zend_Log::DEBUG, sprintf(
103
+ "Memory usage: %s of %s.",
104
+ $helper->bytesToHumanReadable($usage),
105
+ $php_memory_limit));
106
+ return true;
107
+ }
108
+
109
+ $limit = $helper->humanReadableToBytes($php_memory_limit);
110
+
111
  $this->log(Zend_Log::DEBUG, sprintf(
112
  "Memory usage: %s of %s.",
113
  $helper->bytesToHumanReadable($usage),
app/code/community/Klevu/Search/Model/System/Config/Source/Taxoptions.php ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Klevu_Search_Model_System_Config_Source_Taxoptions {
4
+
5
+ const YES = 1;
6
+ const NO = 0;
7
+ const NEVER = 2;
8
+
9
+
10
+ public function toOptionArray() {
11
+ $helper = Mage::helper("klevu_search");
12
+
13
+ return array(
14
+ array('value' => static::NEVER, 'label' => $helper->__("Do not add tax in price as catalog prices entered by admin already include tax")),
15
+ array('value' => static::NO, 'label' => $helper->__("Do not add tax in price as product prices are displayed without tax")),
16
+ array('value' => static::YES, 'label' => $helper->__("Add relevant tax in price as product prices need to be displayed with tax"))
17
+ );
18
+ }
19
+ }
app/code/community/Klevu/Search/controllers/Adminhtml/Klevu/NotificationsController.php CHANGED
@@ -15,4 +15,9 @@ class Klevu_Search_Adminhtml_Klevu_NotificationsController extends Mage_Adminhtm
15
 
16
  return $this->_redirectReferer($this->getUrl("adminhtml/dashboard"));
17
  }
 
 
 
 
 
18
  }
15
 
16
  return $this->_redirectReferer($this->getUrl("adminhtml/dashboard"));
17
  }
18
+
19
+ protected function _isAllowed()
20
+ {
21
+ return true;
22
+ }
23
  }
app/code/community/Klevu/Search/controllers/Adminhtml/Klevu/Search/WizardController.php CHANGED
@@ -284,4 +284,8 @@ class Klevu_Search_Adminhtml_Klevu_Search_WizardController extends Mage_Adminhtm
284
  //return $this->_forward("configure_attributes");
285
  }
286
  }
 
 
 
 
287
  }
284
  //return $this->_forward("configure_attributes");
285
  }
286
  }
287
+
288
+ protected function _isAllowed() {
289
+ return true;
290
+ }
291
  }
app/code/community/Klevu/Search/controllers/Adminhtml/Klevu/SearchController.php CHANGED
@@ -82,6 +82,13 @@ class Klevu_Search_Adminhtml_Klevu_SearchController extends Mage_Adminhtml_Contr
82
  Mage::helper('klevu_search/config')->saveSyncOptions($sync_options);
83
  }
84
 
 
 
 
 
 
 
 
85
  protected function _isAllowed()
86
  {
87
  return true;
82
  Mage::helper('klevu_search/config')->saveSyncOptions($sync_options);
83
  }
84
 
85
+ /* clear the cron entry */
86
+ public function clear_klevu_cronAction() {
87
+ Mage::getModel("klevu_search/product_sync")->clearKlevuCron();
88
+ Mage::getSingleton('adminhtml/session')->addSuccess($this->__("Running Klevu product Sync entry cleared from cron_schedule table."));
89
+ return $this->_redirectReferer("adminhtml/dashboard");
90
+ }
91
+
92
  protected function _isAllowed()
93
  {
94
  return true;
app/code/community/Klevu/Search/controllers/IndexController.php CHANGED
@@ -40,6 +40,24 @@ class Klevu_Search_IndexController extends Mage_Core_Controller_Front_Action {
40
  */
41
  public function runexternalyAction(){
42
  try {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
43
  $debugapi = Mage::getModel('klevu_search/product_sync')->getApiDebug();
44
  $content="";
45
  if($this->getRequest()->getParam('debug') == "klevu") {
40
  */
41
  public function runexternalyAction(){
42
  try {
43
+ $config = Mage::helper('klevu_search/config');
44
+ if($config->isExternalCallEnabled()){
45
+ if($this->getRequest()->getParam('data') == "updatesonly") {
46
+ Mage::getModel('klevu_search/product_sync')->run();
47
+ Mage::getModel("content/content")->run();
48
+ Mage::getSingleton('core/session')->addSuccess("Updated Data has been sent to klevu.");
49
+
50
+ } else if($this->getRequest()->getParam('data') == "alldata") {
51
+ // Modified the updated date klevu_product_sync table
52
+ Mage::getModel('klevu_search/product_sync')->markAllProductsForUpdate();
53
+ // Run the product sync for all store
54
+ Mage::getModel('klevu_search/product_sync')->run();
55
+ Mage::getModel("content/content")->run();
56
+ Mage::getSingleton('core/session')->addSuccess("All products Data sent to klevu.");
57
+
58
+ }
59
+
60
+ }
61
  $debugapi = Mage::getModel('klevu_search/product_sync')->getApiDebug();
62
  $content="";
63
  if($this->getRequest()->getParam('debug') == "klevu") {
app/code/community/Klevu/Search/etc/config.xml CHANGED
@@ -2,7 +2,7 @@
2
  <config>
3
  <modules>
4
  <Klevu_Search>
5
- <version>1.2.1</version>
6
  </Klevu_Search>
7
  </modules>
8
  <global>
@@ -58,6 +58,24 @@
58
  </klevu_search_removetest>
59
  </observers>
60
  </admin_system_config_changed_section_klevu_search>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
61
  <controller_action_predispatch_catalogsearch_result_index>
62
  <observers>
63
  <klevu_search_landing_page>
@@ -208,7 +226,7 @@
208
  <catalogruleexpiryupdatebefore>
209
  <type>singleton</type>
210
  <class>klevu_search/product_sync</class>
211
- <method>catalogruleupdateifno</method>
212
  </catalogruleexpiryupdatebefore>
213
  </observers>
214
  </catalogrule_before_apply>
@@ -217,7 +235,7 @@
217
  <catalogruleexpiryupdateafter>
218
  <type>singleton</type>
219
  <class>klevu_search/product_sync</class>
220
- <method>catalogruleupdateifno</method>
221
  </catalogruleexpiryupdateafter>
222
  </observers>
223
  </catalogrule_after_apply>
@@ -319,6 +337,7 @@
319
  </order_sync>
320
  <developer>
321
  <force_log>1</force_log>
 
322
  <!-- Log level default is set in the backend model and getter as it uses Zend_Log constants -->
323
  </developer>
324
  <order_sync>
2
  <config>
3
  <modules>
4
  <Klevu_Search>
5
+ <version>1.2.2</version>
6
  </Klevu_Search>
7
  </modules>
8
  <global>
58
  </klevu_search_removetest>
59
  </observers>
60
  </admin_system_config_changed_section_klevu_search>
61
+ <catalogrule_rule_save_commit_after>
62
+ <observers>
63
+ <klevu_search_catalogrule_change>
64
+ <type>singleton</type>
65
+ <class>klevu_search/observer</class>
66
+ <method>catalogRulePriceChange</method>
67
+ </klevu_search_catalogrule_change>
68
+ </observers>
69
+ </catalogrule_rule_save_commit_after>
70
+ <catalogrule_rule_delete_before>
71
+ <observers>
72
+ <klevu_search_catalogrule_delete_before>
73
+ <type>singleton</type>
74
+ <class>klevu_search/observer</class>
75
+ <method>catalogRulePriceChange</method>
76
+ </klevu_search_catalogrule_delete_before>
77
+ </observers>
78
+ </catalogrule_rule_delete_before>
79
  <controller_action_predispatch_catalogsearch_result_index>
80
  <observers>
81
  <klevu_search_landing_page>
226
  <catalogruleexpiryupdatebefore>
227
  <type>singleton</type>
228
  <class>klevu_search/product_sync</class>
229
+ <method>catalogruleUpdateinfo</method>
230
  </catalogruleexpiryupdatebefore>
231
  </observers>
232
  </catalogrule_before_apply>
235
  <catalogruleexpiryupdateafter>
236
  <type>singleton</type>
237
  <class>klevu_search/product_sync</class>
238
+ <method>catalogruleUpdateinfo</method>
239
  </catalogruleexpiryupdateafter>
240
  </observers>
241
  </catalogrule_after_apply>
337
  </order_sync>
338
  <developer>
339
  <force_log>1</force_log>
340
+ <enable_external_call>0</enable_external_call>
341
  <!-- Log level default is set in the backend model and getter as it uses Zend_Log constants -->
342
  </developer>
343
  <order_sync>
app/code/community/Klevu/Search/etc/system.xml CHANGED
@@ -181,6 +181,14 @@
181
  <show_in_website>1</show_in_website>
182
  <show_in_store>1</show_in_store>
183
  </last_run>
 
 
 
 
 
 
 
 
184
  <sync_options translate="label comment">
185
  <label>Sync</label>
186
  <frontend_type>select</frontend_type>
@@ -350,7 +358,7 @@
350
  <label>Include Tax in Price</label>
351
  <comment><![CDATA[Please make sure to resynchronize products by choosing the "All data" option and clicking on the "Sync Data for This Store" button under the "Data Sync Settings".]]></comment>
352
  <frontend_type>select</frontend_type>
353
- <source_model>adminhtml/system_config_source_yesno</source_model>
354
  <sort_order>100</sort_order>
355
  <show_in_default>0</show_in_default>
356
  <show_in_website>0</show_in_website>
@@ -407,6 +415,16 @@
407
  <show_in_website>0</show_in_website>
408
  <show_in_store>0</show_in_store>
409
  </force_log>
 
 
 
 
 
 
 
 
 
 
410
  <log_level translate="label">
411
  <label>Log level</label>
412
  <frontend_type>select</frontend_type>
181
  <show_in_website>1</show_in_website>
182
  <show_in_store>1</show_in_store>
183
  </last_run>
184
+ <cron_run_status translate="label">
185
+ <label>Cron Status</label>
186
+ <frontend_model>klevu_search/adminhtml_form_field_store_status</frontend_model>
187
+ <sort_order>301</sort_order>
188
+ <show_in_default>1</show_in_default>
189
+ <show_in_website>0</show_in_website>
190
+ <show_in_store>0</show_in_store>
191
+ </cron_run_status>
192
  <sync_options translate="label comment">
193
  <label>Sync</label>
194
  <frontend_type>select</frontend_type>
358
  <label>Include Tax in Price</label>
359
  <comment><![CDATA[Please make sure to resynchronize products by choosing the "All data" option and clicking on the "Sync Data for This Store" button under the "Data Sync Settings".]]></comment>
360
  <frontend_type>select</frontend_type>
361
+ <source_model>klevu_search/system_config_source_taxoptions</source_model>
362
  <sort_order>100</sort_order>
363
  <show_in_default>0</show_in_default>
364
  <show_in_website>0</show_in_website>
415
  <show_in_website>0</show_in_website>
416
  <show_in_store>0</show_in_store>
417
  </force_log>
418
+ <enable_external_call translate="label comment">
419
+ <label>Allow External Call</label>
420
+ <comment><![CDATA[<your Domain>/search/index/runexternaly/data/updatesonly In case of Klevu not receiving data for few days, the above call will be used by the Klevu Team to sync your data externally.]]></comment>
421
+ <frontend_type>select</frontend_type>
422
+ <source_model>adminhtml/system_config_source_yesno</source_model>
423
+ <sort_order>300</sort_order>
424
+ <show_in_default>1</show_in_default>
425
+ <show_in_website>0</show_in_website>
426
+ <show_in_store>0</show_in_store>
427
+ </enable_external_call>
428
  <log_level translate="label">
429
  <label>Log level</label>
430
  <frontend_type>select</frontend_type>
app/code/community/Klevu/Search/sql/klevu_search_setup/mysql4-install-1.0.0.php CHANGED
@@ -26,7 +26,7 @@ CREATE TABLE `{$notifications_table}` (
26
  // the notification the next time cron runs
27
  $installer->getConnection()->insert($notifications_table, array(
28
  "type" => "cron_check",
29
- "message" => Mage::helper("klevu_search")->__('Klevu Search relies on cron for normal operations. Please check that you have Magento cron set up correctly. You can find instructions on how to set up Magento Cron <a target="_blank" href="https://klevusearch.freshdesk.com/support/solutions/articles/5000518493-how-do-i-setup-a-cron-">here</a>.')
30
  ));
31
 
32
  $now = date_create("now")->format("Y-m-d H:i:00");
26
  // the notification the next time cron runs
27
  $installer->getConnection()->insert($notifications_table, array(
28
  "type" => "cron_check",
29
+ "message" => Mage::helper("klevu_search")->__('Klevu Search relies on cron for normal operations. Please check that you have Magento cron set up correctly. You can find instructions on how to set up Magento Cron <a target="_blank" href="http://support.klevu.com/knowledgebase/setup-a-cron/">here</a>.')
30
  ));
31
 
32
  $now = date_create("now")->format("Y-m-d H:i:00");
app/design/adminhtml/default/default/layout/klevu/boosting.xml CHANGED
@@ -1,12 +1,12 @@
1
  <?xml version="1.0"?>
2
  <layout version="0.1.0">
3
- <boosting_adminhtml_boost_index>
4
  <reference name="messages">
5
  <action method="addNotice" translate="message">
6
  <message><![CDATA[Steps:</br>
7
  1. Click on the "Add New Rule" button to start adding Product Boosting Rules.</br>
8
  2. Once you are done with adding rules, at the store view scope, choose the option "Apply Product Boosting Rules" for the "Boosting attribute".</br>
9
- 3. Resynchronize ALL your products.]]>
10
  </message>
11
  </action>
12
  </reference>
@@ -17,17 +17,17 @@
17
  <reference name="content">
18
  <block type="boosting/adminhtml_boost" name="boost" />
19
  </reference>
20
- </boosting_adminhtml_boost_index>
21
- <boosting_adminhtml_boost_edit>
22
  <reference name="head">
23
  <action method="setCanLoadExtJs"><flag>1</flag></action>
24
  <action method="setCanLoadRulesJs"><flag>1</flag></action>
25
  </reference>
26
- </boosting_adminhtml_boost_edit>
27
- <boosting_adminhtml_boost_new>
28
  <reference name="head">
29
  <action method="setCanLoadExtJs"><flag>1</flag></action>
30
  <action method="setCanLoadRulesJs"><flag>1</flag></action>
31
  </reference>
32
- </boosting_adminhtml_boost_new>
33
  </layout>
1
  <?xml version="1.0"?>
2
  <layout version="0.1.0">
3
+ <adminhtml_boost_index>
4
  <reference name="messages">
5
  <action method="addNotice" translate="message">
6
  <message><![CDATA[Steps:</br>
7
  1. Click on the "Add New Rule" button to start adding Product Boosting Rules.</br>
8
  2. Once you are done with adding rules, at the store view scope, choose the option "Apply Product Boosting Rules" for the "Boosting attribute".</br>
9
+ ]]>
10
  </message>
11
  </action>
12
  </reference>
17
  <reference name="content">
18
  <block type="boosting/adminhtml_boost" name="boost" />
19
  </reference>
20
+ </adminhtml_boost_index>
21
+ <adminhtml_boost_edit>
22
  <reference name="head">
23
  <action method="setCanLoadExtJs"><flag>1</flag></action>
24
  <action method="setCanLoadRulesJs"><flag>1</flag></action>
25
  </reference>
26
+ </adminhtml_boost_edit>
27
+ <adminhtml_boost_new>
28
  <reference name="head">
29
  <action method="setCanLoadExtJs"><flag>1</flag></action>
30
  <action method="setCanLoadRulesJs"><flag>1</flag></action>
31
  </reference>
32
+ </adminhtml_boost_new>
33
  </layout>
app/design/adminhtml/default/default/template/klevu/search/form/klevuinfo.phtml CHANGED
@@ -1,2 +1,2 @@
1
  <?php /** @var Klevu_Search_Block_Adminhtml_Form_KlevuInfo $this */ ?>
2
- <iframe src="http://support.klevu.com/section/manuals/magento-manuals/" frameBorder="0" style="margin-top:-86px;" width="100%" height="2160"></iframe>
1
  <?php /** @var Klevu_Search_Block_Adminhtml_Form_KlevuInfo $this */ ?>
2
+ <iframe src="https://support.klevu.com/section/manuals/magento-manuals/" frameBorder="0" style="margin-top:-86px;" width="100%" height="2160"></iframe>
app/design/adminhtml/default/default/template/klevu/search/wizard/configure/store.phtml CHANGED
@@ -50,11 +50,12 @@
50
  </tr>
51
 
52
  <tr>
53
- <td class="label"><label for="tax_enable"><?php echo $this->__("Would you like to show product prices inclusive of tax in search results?") ?></label></td>
54
  <td class="value">
55
  <select name="tax_enable" id="tax_enable">
56
- <option value="0" selected="selected"><?php echo $this->__("No") ?></option>
57
- <option value="1"><?php echo $this->__("Yes") ?></option>
 
58
  </select>
59
  </td>
60
  </tr>
50
  </tr>
51
 
52
  <tr>
53
+ <td class="label"><label for="tax_enable"><?php echo $this->__("How do you want to display product prices in search?") ?></label></td>
54
  <td class="value">
55
  <select name="tax_enable" id="tax_enable">
56
+ <option value="2" selected="selected"><?php echo $this->__("Do not add tax in price as catalog prices entered by admin already include tax") ?></option>
57
+ <option value="0"><?php echo $this->__("Do not add tax in price as product prices are displayed without tax"); ?></option>
58
+ <option value="1"><?php echo $this->__("Add relevant tax in price as product prices need to be displayed with tax"); ?></option>
59
  </select>
60
  </td>
61
  </tr>
app/design/adminhtml/default/default/template/klevu/search/wizard/configure/userplan.phtml CHANGED
@@ -28,7 +28,6 @@
28
  <div class="kuSelectPlanHeader">
29
  <h2><?php echo $this->__("Start 14-Day risk free trial");?></h2>
30
  <h5><?php echo $this->__("No obligation to continue, no credit card required");?></h5>
31
- <h5><?php echo $this->__("10% off when paid yearly");?></h5>
32
  </div>
33
  <table cellspacing="0" cellpadding="10" class="form-list kuPlanDetails">
34
  <tbody>
28
  <div class="kuSelectPlanHeader">
29
  <h2><?php echo $this->__("Start 14-Day risk free trial");?></h2>
30
  <h5><?php echo $this->__("No obligation to continue, no credit card required");?></h5>
 
31
  </div>
32
  <table cellspacing="0" cellpadding="10" class="form-list kuPlanDetails">
33
  <tbody>
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Klevu_SmartSearch</name>
4
- <version>1.2.1</version>
5
  <stability>stable</stability>
6
  <license uri="http://klevu.com">Commercial</license>
7
  <channel>community</channel>
@@ -14,12 +14,18 @@ Intelligent boosting - Just select products you want to promote, no need to manu
14
  Dynamic filters - Shoppers get excellent shopping experience.&#xD;
15
  Search as you type - Shoppers see results even with long keywords.&#xD;
16
  Actionable insights - Drive traffic by learning from shoppers' search patterns.</description>
17
- <notes>- bug fix for https &#xD;
 
 
 
 
 
 
18
  </notes>
19
  <authors><author><name>Klevu</name><user>Klevu</user><email>niraj.aswani@klevu.com</email></author></authors>
20
- <date>2016-02-22</date>
21
- <time>10:57:28</time>
22
- <contents><target name="mageetc"><dir name="modules"><file name="Klevu_Search.xml" hash="49674c121481f67bcfc2f31bb21e5aaf"/><file name="Klevu_Boosting.xml" hash="760dd6473e4c12c619691c6c553a4658"/><file name="Klevu_Content.xml" hash="36bede0a8b596e50aa11cac1ed7b0c5e"/><file name="Klevu_Searchterms.xml" hash="b1ff813c77dbbb1d1d555c11f699fc8e"/><file name="Klevu_Addtocart.xml" hash="88c66ba423c823ce3a86670b4e2c1f65"/></dir></target><target name="magecommunity"><dir name="Klevu"><dir name="Boosting"><dir name="Block"><dir name="Adminhtml"><dir name="Boost"><dir name="Edit"><file name="Form.php" hash="f383d355c07e8f6930037a3cb663fea8"/><dir name="Tab"><file name="Actions.php" hash="bea65d14949e38f7e2470f596e6a8757"/><file name="Conditions.php" hash="48d378c2a7fc4bc07e1fcd3b765f4d78"/><file name="Form.php" hash="ceb369273be213ab6c0699edf029f8f5"/></dir><file name="Tabs.php" hash="956926b08afbd7d5c24d4015b8d5fb1a"/></dir><file name="Edit.php" hash="102725d29f9a72655baa68f334837d2c"/><file name="Grid.php" hash="57cf6190293cb6d08862d4bbe10d3e33"/></dir><file name="Boost.php" hash="ca0e56e107ef39310f81d43ad16f6ae5"/><dir name="Form"><dir name="Field"><dir name="Rule"><file name="Button.php" hash="097d738836c5482fe6aaa05186bf2db9"/></dir></dir></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="5dd9cdbc59b7886d7248a49013ee0692"/></dir><dir name="Model"><dir name="Boost"><dir name="Rule"><dir name="Condition"><file name="Combine.php" hash="f01c5f12ea202559feed422130df4d5f"/><file name="Product.php" hash="f35bd54c39f6412db9e08b78a00687fc"/></dir></dir></dir><file name="Boost.php" hash="b11c92c884361d22e705bde6f18f413a"/><dir name="Mysql4"><dir name="Boost"><file name="Collection.php" hash="1ac0d91b93e00c6ca0c6229b8dce69e0"/></dir><file name="Boost.php" hash="0f1e02a537093d2c7cf6392e691646e8"/></dir><file name="Observer.php" hash="60a570b0a9408c32facbacac05ac0d9e"/><dir name="System"><dir name="Config"><dir name="Source"><dir name="Boosting"><file name="Attribute.php" hash="6debec1229df22e3f4eda58dd781053a"/></dir></dir></dir></dir></dir><dir name="Test"><dir name="Model"><dir name="Boost"><dir name="fixtures"><file name="testGetMatchingProductIds.yaml" hash="023c1cc74e5525ccfbed76d38674243d"/></dir></dir><file name="Boost.php" hash="e2cba3650eeed3e39ed29381a6014579"/></dir></dir><dir name="controllers"><dir name="Adminhtml"><file name="BoostController.php" hash="0f2ce187d18fe74c8445becd6e44acfc"/></dir></dir><dir name="etc"><file name="config.xml" hash="8eeebfd154ffa219e7965996cbec214d"/><file name="system.xml" hash="a9f3647f178f8f373c31a90569ffd651"/></dir><dir name="sql"><dir name="klevu_boosting_setup"><file name="mysql4-install-10.0.0.php" hash="b36ab1905efd2ba496635fd8830d7438"/></dir></dir></dir><dir name="Search"><dir name="Block"><dir name="Adminhtml"><dir name="Form"><dir name="Field"><dir name="Attribute"><file name="Mappings.php" hash="293c4d19663fa3aad76c17287fec2114"/></dir><dir name="Automatic"><dir name="Attribute"><file name="Mappings.php" hash="b0d192bd03319957d09f34d510914a2f"/></dir></dir><dir name="Html"><file name="Select.php" hash="adc22272b93deb46b524f46f7000972f"/></dir><dir name="Image"><file name="Log.php" hash="5be8e22db76874a10914b297425532c6"/></dir><dir name="Store"><dir name="Level"><file name="Label.php" hash="df3680c83924ece232eb14bd0b7ac9b3"/></dir></dir><dir name="Sync"><file name="Button.php" hash="aeec22e3e952e40d1e1bed33a9e8185b"/></dir></dir><file name="Infolinks.php" hash="201b94b4b627bf9053424fcd70bbd101"/><file name="Information.php" hash="b422d8aa8524b4277f2b4013e90379a0"/><file name="Klevuinfo.php" hash="d2532a3a273acd33515165b3d98ac4d1"/><file name="Syncoptionsinfo.php" hash="28621e3bd17eb8216639fa3a2da47840"/></dir><file name="Notifications.php" hash="9fc2511a89e04cb2c9ce86fc7c3684cd"/><dir name="System"><dir name="Config"><dir name="Form"><file name="Field.php" hash="d4e9023e6cdbedceb7145d248168d33b"/></dir></dir></dir><dir name="Wizard"><dir name="Config"><file name="Button.php" hash="d17ba7640d5777612ab9fb27f85aa5c9"/></dir><dir name="Configure"><file name="Attributes.php" hash="3801cd4ebb45b3d29cfbacf830af2874"/><file name="Store.php" hash="a5e900bf91db47115ce54497669fd384"/><file name="User.php" hash="b885cf0d838e5de5d734c4c0c76cb173"/><file name="Userplan.php" hash="5fc147d5266c2251b4388800fe8f78fb"/></dir></dir></dir><dir name="Catalog"><dir name="Product"><file name="Tracking.php" hash="e314132d47d15ba686c62a0d5ce1668e"/></dir></dir></dir><dir name="Helper"><file name="Api.php" hash="f7f1b51781d27032c114ec2392cb5371"/><file name="Compat.php" hash="3726862a4576a53c5a44dda59a1e9a86"/><file name="Config.php" hash="a83918ba8023adbbcfae454b95982907"/><file name="Data.php" hash="2b10f60163baa9c7f327b33b12344b86"/></dir><dir name="Model"><dir name="Adminhtml"><file name="Comment.php" hash="2d3cb94ca5bea4c6ea50f9aa9dd3a936"/></dir><dir name="Api"><dir name="Action"><file name="Addrecords.php" hash="eeba80aa6abf651cf3ef2b0584cd4354"/><file name="Adduser.php" hash="d8b6e6d37fe6ce522747fd6951c8e9df"/><file name="Addwebstore.php" hash="ea33f2c7032682a6ec2bdb8324cdaf0e"/><file name="Checkuserdetail.php" hash="ebe4eeaf8986684bb7081932e68553bf"/><file name="Debuginfo.php" hash="dd92df091719aa73eca07a08d9681d42"/><file name="Deleterecords.php" hash="0e404db0aab2c58ff90a4e7e4fe73818"/><file name="Features.php" hash="f3f22d268fe2e6651cdab8f12c56599a"/><file name="Gettimezone.php" hash="4bb572b68f42236d765f8194e413b1ca"/><file name="Getuserdetail.php" hash="849a0f04bfdbf39ae75a2627d26717ca"/><file name="Idsearch.php" hash="9244fbdf1e67beea19c99ad0a014d0fc"/><file name="Producttracking.php" hash="50dacac910b7a68b035078771e9f8ff6"/><file name="Removetestmode.php" hash="bd2e7ecf6c233b1430e2989b2b62000f"/><file name="Searchtermtracking.php" hash="e58d1c361cdc8c57886ecaaa7218b394"/><file name="Startsession.php" hash="14edcef879dce92c76a9c78d4106fc6c"/><file name="Updaterecords.php" hash="9e99ce8da72a030b10e9af8353233427"/></dir><file name="Action.php" hash="792f3fe4348f7d13bdf09562ec0d8b59"/><dir name="Request"><file name="Get.php" hash="2d6f510d4dcc171b8e44322b76a49f93"/><file name="Post.php" hash="a46b484a50ced15e2c02deb16bbeb6bb"/><file name="Xml.php" hash="73b3f04d29c2bd79c470d7b81cfc0390"/></dir><file name="Request.php" hash="7f15814e8a01982499563e0e056d2d52"/><dir name="Response"><file name="Data.php" hash="9dbe8e28a501feacb07a6ce2bcc4deb8"/><file name="Empty.php" hash="5988ec43c1756cf4acfedb212787b2b9"/><file name="Invalid.php" hash="8287280c3b99f64e08cf54a0bf65e4a1"/><file name="Message.php" hash="5b6d717c75014e798e619e3df2008d29"/><file name="Search.php" hash="96b9bdef60811c4d994cb457f0d355a9"/><file name="Timezone.php" hash="ffa4d48e42fa52d2c928e202c2af61fd"/></dir><file name="Response.php" hash="9d85b7a9e899375df6cffb375cd59ed7"/></dir><dir name="Catalog"><dir name="Model"><file name="Config.php" hash="57ae55e3cea3dd1b4c60dafcb06d5efd"/></dir></dir><dir name="CatalogSearch"><dir name="Layer"><dir name="Filter"><file name="Attribute.php" hash="104ac92f6ef59879b593a9f1baffd562"/><file name="Category.php" hash="39e56a1a1a1070f09fce2bec6d48c4ce"/><file name="Price.php" hash="4ca1e56183364670fb39a88ea5666c13"/></dir></dir><dir name="Resource"><dir name="Fulltext"><file name="Collection.php" hash="ae39faa3bb9ed99678f667f7d86c0420"/></dir><dir name="Layer"><dir name="Filter"><file name="Attribute.php" hash="d675e50ad7c5277b9ca4100770ac16d3"/></dir></dir></dir></dir><dir name="Config"><dir name="Log"><file name="Level.php" hash="ef07b22f48c4ca72066bf90a1cf9ac27"/></dir></dir><file name="Cron.php" hash="0936cc2667e056182668c9f61fc171bc"/><file name="Notification.php" hash="771d45868668c5b925e3bf2202482b43"/><file name="Observer.php" hash="1ccc24d37bafdfb7c3240e3d44de1d70"/><dir name="Order"><file name="Sync.php" hash="1f5c2290ba46ab597f6e85747093bb16"/></dir><dir name="Product"><file name="Sync.php" hash="6c9174a710764f875b2f9f12059e3a6a"/></dir><dir name="Resource"><dir name="Notification"><file name="Collection.php" hash="936a242678b1c89853149e9dc77b6aff"/></dir><file name="Notification.php" hash="f3206c5286bf6ccb4df268c54fcff0f5"/></dir><file name="Session.php" hash="a4ab94b093ba8a414fbfa031f0d2cabe"/><file name="Sync.php" hash="f9f6f4d1251d493944ab13f1467d5257"/><dir name="System"><dir name="Config"><dir name="Source"><dir name="Additional"><file name="Attributes.php" hash="d91e1af65488d647b035fbb100a4eb1d"/></dir><dir name="Boosting"><file name="Attribute.php" hash="f6db7762064a7e97ca73b5e15757148f"/></dir><file name="Frequency.php" hash="5866e9d92476cdaa8a5f27c5fa0dc48b"/><file name="Landingoptions.php" hash="031834ff6c6c794735350120a686c77e"/><dir name="Log"><file name="Level.php" hash="ba2bee63eb18b966db6beade72293036"/></dir><dir name="Product"><file name="Attributes.php" hash="f99ced41d6504f1570a703e66743dd0b"/></dir><file name="Syncoptions.php" hash="6114fd30c79d1d268b039c09f93e9f74"/><file name="Yesnoforced.php" hash="0cf0e7842afae56af0caf92c9490295b"/></dir></dir></dir></dir><dir name="Test"><dir name="Config"><file name="Base.php" hash="a1a8faa15e50cd1d394bc79ca94f712b"/></dir><dir name="Controller"><dir name="CatalogSearch"><dir name="fixtures"><file name="search_results.yaml" hash="bfa6ebad238b75d771b89fb369201540"/></dir></dir><file name="CatalogSearch.php" hash="f6c2615ef27061d0cce7e7eae717c040"/></dir><dir name="Helper"><file name="Api.php" hash="c8484c149e920b3f74b8f6f2dce82936"/><file name="Compat.php" hash="8bae993e0da8f368eb50689f271446a5"/><dir name="Config"><dir name="fixtures"><file name="testGetOrderSyncEnabledFlag.yaml" hash="d1427ea15734ca336c47aad51ad7026e"/><file name="testGetOrderSyncFrequency.yaml" hash="52dffcad75b15761a695eb451b99c751"/><file name="testGetProductSyncEnabledFlag.yaml" hash="43e7263c8b781ef7fb6efbb6598f0226"/><file name="testGetProductSyncFrequency.yaml" hash="004e62dfa22c9abfd8dcf56c92270e19"/><file name="testIsExtensionEnabledDisabled.yaml" hash="5d706b347b4f32f87dc8eb4dd6102148"/><file name="testIsExtensionEnabledEnabled.yaml" hash="52c9eb8a4fad4d8f3ba25c68d35977f3"/></dir><dir name="providers"><file name="testIsOrderSyncEnabled.yaml" hash="938cc58e15b310ba2760be6c64e3d3cb"/><file name="testIsProductSyncEnabled.yaml" hash="5be1dcfb21264a012de32cbd252a09c9"/><file name="testIsTestModeEnabled.yaml" hash="d41d8cd98f00b204e9800998ecf8427e"/></dir></dir><file name="Config.php" hash="9ef7b00d63104e11426f3085afa36744"/><dir name="Data"><dir name="providers"><file name="testBytesToHumanReadable.yaml" hash="7cdb8705e108715abc63fa2cfd81626b"/><file name="testGetLanguageFromLocale.yaml" hash="c301f8dc090142627f6af4e4222b7708"/><file name="testHumanReadableToBytes.yaml" hash="dd89ae5b6705cfcfbf42ba64432c0f0a"/><file name="testIsProductionDomain.yaml" hash="f88ef0f80073fdb9cbdbd020348527a7"/></dir></dir><file name="Data.php" hash="93bb38ec55380a6ec7d79008496cac34"/></dir><dir name="Model"><dir name="Api"><dir name="Action"><dir name="Addrecords"><dir name="providers"><file name="testValidateRequiredFields.yaml" hash="26eea8bfc58c60e4a2f07dcbddc2e6fd"/><file name="testValidateRequiredFieldsRecords.yaml" hash="590b7ec9b7c33debb740b8c6c6db717f"/><file name="testValidateRequiredFieldsRecordsAllowedEmpty.yaml" hash="f82933b3d219491015cef39a214543bd"/><file name="testValidateRequiredFieldsRecordsEmpty.yaml" hash="d5dcd5aad682db42b1352c35b8905d47"/><file name="testValidateRequiredFieldsRecordsOptional.yaml" hash="25092bb84ba311815ca33971a388256e"/></dir></dir><file name="Addrecords.php" hash="14f5c217fac3f82957f54916fa29b387"/><dir name="Adduser"><dir name="providers"><file name="testValidateRequiredFields.yaml" hash="841f068ff3ffd8081ccc91e8675f998c"/></dir></dir><file name="Adduser.php" hash="5189f29f08c4ed30d9b6ac83429de3d0"/><dir name="Addwebstore"><dir name="providers"><file name="testValidateRequiredFields.yaml" hash="e52324b58b76d2d63cfa83ee228e1b31"/></dir></dir><file name="Addwebstore.php" hash="fbeac1b8adc5df45ef08a0a3331e5fbc"/><dir name="Getuserdetail"><dir name="providers"><file name="testValidateRequiredFields.yaml" hash="297df49838c47536bc9ee928b27470b2"/></dir></dir><file name="Getuserdetail.php" hash="4733d1ec7fd5b3b765aa88f182adf390"/><dir name="Getuserfeaturesdetail"><dir name="providers"><file name="testValidateRequiredFields.yaml" hash="e4ef56d9b494fad5392984a144401998"/></dir></dir><file name="Getuserfeaturesdetail.php" hash="601f204cb67a44628c2c951aa8228cd3"/><dir name="Idsearch"><dir name="providers"><file name="testValidateRequiredFields.yaml" hash="f36c1a1a1e6d1f5a2d3a59d8d349036e"/></dir></dir><file name="Idsearch.php" hash="4c8849b460a0df494911e3a4df65719c"/><dir name="Producttracking"><dir name="providers"><file name="testValidateRequiredFields.yaml" hash="4bc690980c701649d17ff6caba3ef646"/></dir></dir><file name="Producttracking.php" hash="04d8ef59f24f848d36493aabfa413828"/><file name="Startsession.php" hash="c1ae49d22b5e75672b8d84499d51f3d4"/></dir><file name="Action.php" hash="14ce7e11eb3acfda2dfea539c8f5254b"/><dir name="Request"><dir name="Xml"><dir name="providers"><file name="testGetDataAsXml.yaml" hash="4aa16e3557481444ba39775ee0b99d29"/></dir></dir><file name="Xml.php" hash="279a5defe0c933540e9635455590d8b1"/></dir><file name="Request.php" hash="b0cbdfe6a023d0479dc1b1c7fc6869c0"/><dir name="Response"><dir name="Data"><dir name="providers"><file name="testIsSuccessful.yaml" hash="f085922f4329b3d6b19c1e0010d3ca22"/></dir></dir><file name="Data.php" hash="1ab05c7225658f54bd31f0c205d05a2b"/><file name="Empty.php" hash="9933c42aa9ff06977ca3e53d2de15857"/><file name="Invalid.php" hash="bb68f25a053b7e5fc024bce0f5286fcb"/><dir name="Message"><dir name="providers"><file name="testIsSuccessful.yaml" hash="d53562002270a0c4b58ca94733309a21"/></dir></dir><file name="Message.php" hash="135c0d136fa9d0e86158407fc59294c3"/><dir name="Timezone"><dir name="providers"><file name="testIsSuccessful.yaml" hash="67f35e7ee5081689a1eddb867ae6256d"/></dir></dir><file name="Timezone.php" hash="f9cb063ef1f506f656a25c6206899eb3"/><dir name="providers"><file name="response_testIsSuccessful.yaml" hash="ac214d5ebf1eccb89e8fa85e8e3cbb75"/></dir></dir><file name="Response.php" hash="dbcce43ccb2cdf47bce5c05fcf27e759"/><dir name="Test"><file name="Case.php" hash="ec6d3169b9e2bd26655687124be779dd"/></dir><dir name="data"><file name="data_response_data.xml" hash="cd2e5d3dcac402828b9e5f0b0b637c76"/><file name="data_response_failure.xml" hash="ba677628e68149e0283729c1c8e5e86a"/><file name="data_response_no_response.xml" hash="98944f0eda050221de59100f4b22f030"/><file name="data_response_success.xml" hash="e92d1cfcd4461dc8d3fcabe1f902b40b"/><file name="data_response_success_only.xml" hash="276055d04a3f112efe9e6f1c337d7699"/><file name="feature_response.xml" hash="4d400030f5c322b6ab85ccbc7bcd2c0d"/><file name="message_response_failure.xml" hash="ab63c55523b26bd53ea6abf426dd11f5"/><file name="message_response_missing_message.xml" hash="4a43490eda6f33804ca400da2f9cdac1"/><file name="message_response_missing_status.xml" hash="39103fec18a0be88e4ff00a8149c8ad4"/><file name="message_response_session_id.xml" hash="415f25f79a3795ae70b983504cbb784f"/><file name="message_response_success.xml" hash="3ac53566b3d187cb81eb04d40a195c50"/><file name="response_malformed.xml" hash="bfeb4e75829a42082a7935a8e7be491e"/><file name="response_noxml.xml" hash="2debfdcf79f03e4a65a667d21ef9de14"/><file name="response_valid.xml" hash="c915992330f0e4bd37bb629637139f98"/><file name="search_response_empty.xml" hash="601298402d21f3626052634cbbb0ae72"/><file name="search_response_paged.xml" hash="04203807a1d6df787c54afd84690a50e"/><file name="search_response_sorted.xml" hash="c3ee65658a56f65334417328c7fbdcac"/><file name="search_response_success.xml" hash="fea4e59e7ae6e68b387729e320d5f49c"/><file name="startsession_response_success.xml" hash="1865ee2da80359e5a84914c56cae2c8d"/><file name="timezone_response_no_data.xml" hash="276055d04a3f112efe9e6f1c337d7699"/><file name="timezone_response_no_status.xml" hash="bd695479b03e3607196f01f627af4a45"/><file name="timezone_response_with_failure.xml" hash="69a6b1fa7b2cf087d85be162064525b0"/><file name="timezone_response_with_success.xml" hash="e6888eca066741675d228ba1397b5554"/></dir></dir><dir name="Config"><dir name="Log"><file name="Level.php" hash="2032f568dc75c8a5ff63c7daaf8bd049"/></dir></dir><dir name="Notification"><dir name="fixtures"><file name="testLoad.yaml" hash="305afce09851bb40e8c990c138aff162"/></dir></dir><file name="Notification.php" hash="889ec647dbdb938741cfc75e1baa2bc2"/><dir name="Observer"><dir name="fixtures"><file name="testLandingPageRewritesDisabled.yaml" hash="88f0c274444dbaab4fded639b4f40048"/><file name="testLandingPageRewritesEnabled.yaml" hash="bfe60a7ccc0ac73c664f24a4b7394343"/><file name="testScheduleOrderSync.yaml" hash="170806194b4a1bd7f00bc346a51709e1"/></dir></dir><file name="Observer.php" hash="73349e9c475129197c2cf55a1e1d4cdc"/><dir name="Order"><dir name="Sync"><dir name="fixtures"><file name="testAddOrderToQueue.yaml" hash="c93c3c28273757a13b878f97dd0b9e97"/><file name="testClearQueue.yaml" hash="d7ad7abd553e333e84cbab149cdcfb31"/><file name="testRun.yaml" hash="44f091d24de97d230f61fcaf3689ba81"/></dir></dir><file name="Sync.php" hash="d2166272904e003b6bea3862f66e0235"/></dir><dir name="Product"><dir name="Sync"><dir name="fixtures"><file name="testAddProducts.yaml" hash="0ac9a9e6666f285eff796d30c8e0a4e3"/><file name="testCatalogruleProducts.yaml" hash="c37fe4fe86fda18d9fd90794ea1520e4"/><file name="testClearAllProducts.yaml" hash="b7ec8b285d34a27e1c50d572b5ae8227"/><file name="testDeleteProducts.yaml" hash="22f94366cc64b6980b8d648067920533"/><file name="testRun.yaml" hash="eaac2bf57835625a6cd80294e6c5a99c"/><file name="testSpecialpriceProducts.yaml" hash="7d44672dcf91473c0bf1d9cb523a394a"/><file name="testUpdateProducts.yaml" hash="61266411faa659dc175f75ffbccce97e"/></dir></dir><file name="Sync.php" hash="62c07a8123480172bba781b78103fcf6"/></dir><dir name="Sync"><dir name="providers"><file name="testSchedule.yaml" hash="97f1043c42eb74162ae97941dc920d8f"/></dir></dir><file name="Sync.php" hash="8c091e168e251761be7fb1d1d2149305"/><dir name="System"><dir name="Config"><dir name="Source"><dir name="Test"><dir name="providers"><file name="testIsValidSourceModel.yaml" hash="cfedc94014707ee5586dd212b4d1ee16"/></dir></dir><file name="Test.php" hash="3e915599d4f76a2fbbb20aed9ffdf968"/></dir></dir></dir></dir></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Klevu"><file name="NotificationsController.php" hash="e6a8f7ee4ca5463bb9b3df5fa901b6b1"/><dir name="Search"><file name="WizardController.php" hash="1da9a698cc4263d7338784b8f1e3e21e"/></dir><file name="SearchController.php" hash="7e9645eac02a8730ddfec5df977ef0be"/></dir></dir><file name="IndexController.php" hash="2ed1a9392ce871e0b733bbaead48f6f3"/></dir><dir name="etc"><file name="adminhtml.xml" hash="6ce395b9dec2d88a7709d0917c13d50f"/><file name="config.xml" hash="c23acfc302fa2e731f18ae4e0a74d569"/><file name="system.xml" hash="02560c50ff31a5b1b1d9968900fb7233"/></dir><dir name="sql"><dir name="klevu_search_setup"><file name="mysql4-data-upgrade-1.1.1-1.1.2.php" hash="a65f702cf64af452f2fb6f6cdac130a7"/><file name="mysql4-data-upgrade-1.1.22-1.1.23.php" hash="79a74acda887a3a5e435a4793bd39dfd"/><file name="mysql4-data-upgrade-1.1.25-1.1.26.php" hash="0c31a59a5562739a00909738ef26d742"/><file name="mysql4-data-upgrade-1.1.27-1.1.28.php" hash="b9dcc6b50d2177976e13b61064adfa2a"/><file name="mysql4-install-1.0.0.php" hash="860c1991c2ebf804f939598e9932edf5"/></dir></dir></dir><dir name="Searchterms"><dir name="Block"><dir name="Catalog"><dir name="Product"><file name="Popularterms.php" hash="aa85fe13044e5477b08dc8b5b5b9da24"/></dir></dir><file name="Popularterms.php" hash="aa85fe13044e5477b08dc8b5b5b9da24"/></dir><dir name="Helper"><file name="Data.php" hash="8e9151b766cdb3eda6f78063c3abbe08"/></dir><dir name="Model"><dir name="Api"><dir name="Action"><file name="Boostingscore.php" hash="13ab65ce0a7109d71b6764495cee7790"/><file name="Popularterms.php" hash="8551ebb57c02e80cf36497f324b55955"/></dir></dir><file name="Observer.php" hash="38538cda2093dfa3502b2ba5dd3dd833"/><dir name="Product"><file name="Seo.php" hash="52dcabcd7be98ccceaa2d3cdea6aaa6c"/></dir></dir><dir name="controllers"><file name="IndexController.php" hash="4578e1f39d16335c7a3acd9bb6fdc560"/></dir><dir name="etc"><file name="config.xml" hash="5c8664b8fa4997b2b762e571111868da"/><file name="system.xml" hash="17b7d94f5635e3cbbdaa164ced250e0d"/></dir><dir name="sql"><dir name="klevu_searchterms_setup"><file name="mysql4-data-upgrade-10.0.0-10.0.1.php" hash="d41d8cd98f00b204e9800998ecf8427e"/><file name="mysql4-install-10.0.0.php" hash="d41d8cd98f00b204e9800998ecf8427e"/></dir></dir></dir><dir name="Addtocart"><dir name="Helper"><file name="Data.php" hash="1cf568a02f4d4a319683c986201934e7"/></dir><dir name="etc"><file name="config.xml" hash="bb74783fa2486f42a92efc93ac1b1e8e"/><file name="system.xml" hash="5f214a95e3095fbd78a17f69bf5dc249"/></dir></dir><dir name="Content"><dir name="Block"><dir name="Adminhtml"><dir name="Form"><file name="Cmspages.php" hash="74fc3262b45481e33dad508f48002746"/><dir name="System"><dir name="Config"><dir name="Field"><file name="Select.php" hash="a42ac33f00dfd9346479143ac910f53f"/></dir></dir></dir></dir><dir name="Wizard"><dir name="Configure"><file name="Store.php" hash="6926f8cc65cdcf47bdc89d5067a1e0e4"/></dir></dir></dir><file name="Index.php" hash="4e40ebae7545e7a61a2fcd8da21b7e64"/><file name="Tracking.php" hash="15150693e0d1a6167960f3f96ea3ed22"/></dir><dir name="Helper"><file name="Data.php" hash="3fa32fbc5a5a3ed4396149bdf1fd8e4a"/></dir><dir name="Model"><file name="Content.php" hash="889d353af39dc2c9426faf4bc11c04a5"/><file name="Observer.php" hash="e3f82254218a2db909ecb1d9a2a69b37"/></dir><dir name="Test"><dir name="Controller"><dir name="ContentSearch"><dir name="fixtures"><file name="content_search_results.yaml" hash="952b8215496a66cca9563eea08030f8a"/></dir></dir><file name="ContentSearch.php" hash="9b0e012f2c9bf7d33394361f880020af"/></dir><dir name="Helper"><dir name="Data"><dir name="fixtures"><file name="content_search_results.yaml" hash="65a8b23a351f8b87c2993301361d9191"/><file name="testIsCmsEnabledDisabled.yaml" hash="24e89be563a355b9dcfd6016eb7fe3e2"/><file name="testIsCmsEnabledEnabled.yaml" hash="8903e1fc649bb70f4d76454fced95e2a"/></dir><dir name="providers"><file name="testGetExcludedCmsPages.yaml" hash="954599a138a65fecd75da2366aa6b515"/><file name="testIsCmsSyncEnabled.yaml" hash="9c3006c510c146f6511cae9287b3fdb8"/></dir></dir><file name="Data.php" hash="a8ee9e9d91eece007d94c0d92ddb654b"/></dir><dir name="Model"><dir name="Api"><dir name="data"><file name="message_response_content_success.xml" hash="3ac53566b3d187cb81eb04d40a195c50"/><file name="search_response_empty.xml" hash="39b739de681275c6a192dcd4ce796207"/><file name="search_response_success.xml" hash="15fea6ab852abd01c9630c86b895d773"/><file name="startsession_response_content_success.xml" hash="5fd26f817657ca9e1c1980d59219b28e"/></dir></dir><dir name="Content"><dir name="fixtures"><file name="testAddCms.yaml" hash="3054d1f054399ac080721e9a03be5f0e"/><file name="testClearAllProducts.yaml" hash="b7ec8b285d34a27e1c50d572b5ae8227"/><file name="testCmsRun.yaml" hash="074c89e69ec7a903f224ea430534c12d"/><file name="testDeleteCms.yaml" hash="21071d067eb03b1e546d1e12fe70955b"/><file name="testUpdateCms.yaml" hash="0e3a9db13fdee6858284ebb8b1d31083"/></dir></dir><file name="Content.php" hash="4d2f4c54d5389c686cd745c28fa97d40"/></dir></dir><dir name="controllers"><file name="SearchController.php" hash="b84ae7ea7a66f7c7f78c54fa7afdcfd1"/></dir><dir name="etc"><file name="config.xml" hash="c0e3647d7d4f067f14a45ab037cfc2c8"/><file name="system.xml" hash="de4dfb0d239a9d498c3157ce14d2fd57"/></dir><dir name="sql"><dir name="klevu_content_setup"><file name="mysql4-install-0.1.0.php" hash="d41d8cd98f00b204e9800998ecf8427e"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="klevu"><dir name="boosting"><dir name="form"><dir name="field"><dir name="rule"><file name="button.phtml" hash="f27feff3fad2bbcd68b56df38de5cc83"/></dir></dir></dir></dir><dir name="search"><dir name="form"><dir name="field"><file name="array_readonly.phtml" hash="d3a3be4cf22f89d84bd73121a1adfa86"/><dir name="sync"><file name="button.phtml" hash="dae55579390ed8b72e1fadcbb538442b"/><file name="logbutton.phtml" hash="d31dd881015319d78d9fb2b83874f296"/></dir></dir><file name="information.phtml" hash="9014ac2b78bf4f22be503208b377dc2c"/><file name="klevuinfo.phtml" hash="88f965b9f5ccbbcd6a540ab6197c7f5f"/><file name="quickinfo.phtml" hash="a383bb10176e87206954b5e379d20c7f"/></dir><file name="notifications.phtml" hash="090714ca57b11d24769c1baa1bcd4615"/><dir name="system"><dir name="config"><dir name="form"><dir name="field"><file name="array.phtml" hash="2e55476e647b79114b28d0a3a02704d5"/></dir></dir></dir></dir><dir name="wizard"><file name="complete.phtml" hash="7cf33a9a829eb07148d16da5056324dd"/><dir name="config"><file name="button.phtml" hash="b1644ee569882b05c2d8cb2f1eecddbc"/></dir><dir name="configure"><file name="attributes.phtml" hash="d54f0a86e78390fbe66825d0771aad25"/><file name="store.phtml" hash="ae9229bf0e74a70be66705dba17c5a6c"/><file name="user.phtml" hash="e5678d947c0ccd6f14a23be3df7e9d7d"/><file name="userplan.phtml" hash="948ae8a4cef7e4a5e4f5540fe0c3ee50"/></dir><dir name="form"><dir name="field"><file name="array.phtml" hash="ccdccab02fbd9cfc2145f094d5e12a2e"/></dir></dir></dir></dir></dir></dir><dir name="layout"><dir name="klevu"><file name="boosting.xml" hash="1b5cfeeab8891bc702294eab4e21994c"/><file name="search.xml" hash="26cef989bb342bad783f5d8fc6a49e7f"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="template"><dir name="klevu"><dir name="addtocart"><file name="index.phtml" hash="5697e2f53a92173a1ce89a933ac674f4"/><file name="index.phtml" hash="5697e2f53a92173a1ce89a933ac674f4"/></dir><dir name="content"><file name="content_tracking.phtml" hash="54dc6f0ce8112013c1bcaad01899d7bc"/><file name="index.phtml" hash="a6fdec47b211db2177c9ceba0683d302"/><file name="left.phtml" hash="51f0cad58008a71a27e44377319fa044"/><file name="search.phtml" hash="b22a3597fa610ce0f3a77d47422d42ac"/><file name="top.phtml" hash="2e2e3484388be8eed022ff541fc354f5"/><file name="type_of_query.phtml" hash="25b05bfe942a3bba838a44a8e150a453"/><file name="content_tracking.phtml" hash="54dc6f0ce8112013c1bcaad01899d7bc"/><file name="index.phtml" hash="a6fdec47b211db2177c9ceba0683d302"/><file name="left.phtml" hash="51f0cad58008a71a27e44377319fa044"/><file name="search.phtml" hash="b22a3597fa610ce0f3a77d47422d42ac"/><file name="top.phtml" hash="2e2e3484388be8eed022ff541fc354f5"/><file name="type_of_query.phtml" hash="25b05bfe942a3bba838a44a8e150a453"/></dir><dir name="learning"><file name="category.phtml" hash="ce6ab73d3c9f2a36ac0d34e7a0cf3280"/><file name="category_tracking.phtml" hash="b825ba28a49b9ebb2e4d15ac5459fbf4"/></dir><dir name="search"><file name="form_js.phtml" hash="a5141d394a3b34b57ceea83031400081"/><file name="index.phtml" hash="abdd1e62171a43fee32e35ac42099843"/><file name="klevulog.phtml" hash="9cebbd9ec162570768aefc30c777fb78"/><file name="product_tracking.phtml" hash="e773b0cfcc8c3649bf26cc83d71345ec"/><file name="form_js.phtml" hash="a5141d394a3b34b57ceea83031400081"/><file name="index.phtml" hash="abdd1e62171a43fee32e35ac42099843"/><file name="klevulog.phtml" hash="9cebbd9ec162570768aefc30c777fb78"/><file name="product_tracking.phtml" hash="e773b0cfcc8c3649bf26cc83d71345ec"/></dir><dir name="searchterm"><file name="popular_searchterms.phtml" hash="4306a14ced0036bdb72158e11d4091d3"/></dir></dir></dir><dir name="layout"><dir name="klevu"><file name="search.xml" hash="7c581fe86dd6379ccdfdfce5120e43ca"/><file name="addtocart.xml" hash="78bb1c4910c4c2c37b49a9c36446f9d5"/><file name="content.xml" hash="b420ba1cceb6b45e8eb1754370439da1"/><file name="searchterms.xml" hash="c0db7111782ef105d6c44281b5a95303"/></dir></dir></dir></dir></dir></target><target name="mageweb"><dir name="js"><dir name="klevu"><dir name="search"><dir name="lib"><file name="Wizard.js" hash="359afd117dc5cc7ccd14c838eacb573d"/></dir></dir></dir></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="klevu"><dir name="search"><file name="klevumagestyle.css" hash="1e014f38c2169e415e01b24cba8fa6a0"/><file name="notifications.css" hash="019a5a055bc621cb0f4c166ab8e5604c"/><file name="wizard.css" hash="824f735715f3ed97ce98414b9895e46b"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="css"><dir name="klevu"><dir name="content"><file name="klevu-landing-left.css" hash="38c63d7796e4e33b212a1d8b044d0a91"/></dir><file name="klevu-landing-page-style.css" hash="3b610e806f513b56a9b7d4c05ad071cd"/><file name="klevu-landing-responsive.css" hash="811e1bfece09ba7d5529fec850963ac6"/><dir name="search"><file name="klevu-search-term.css" hash="e7e3f2e24073e6fa0949ac157d6d4d34"/></dir></dir></dir><dir name="images"><dir name="klevu"><file name="btn-gridview.png" hash="c3dd97f4f53e1dfe34b6c5b6b4237b8a"/><file name="btn-listview.png" hash="00aaaa62d67e252248d6075f53b04f7f"/><file name="ku-loader.gif" hash="6050f5bcf455cc8f0332dd65e72f8e52"/></dir></dir></dir></dir></dir></target></contents>
23
  <compatible/>
24
  <dependencies><required><php><min>5.3.0</min><max>5.6.18</max></php></required></dependencies>
25
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Klevu_SmartSearch</name>
4
+ <version>1.2.2</version>
5
  <stability>stable</stability>
6
  <license uri="http://klevu.com">Commercial</license>
7
  <channel>community</channel>
14
  Dynamic filters - Shoppers get excellent shopping experience.&#xD;
15
  Search as you type - Shoppers see results even with long keywords.&#xD;
16
  Actionable insights - Drive traffic by learning from shoppers' search patterns.</description>
17
+ <notes>- make the method get instead of post for idsearch&#xD;
18
+ - tax options implementation&#xD;
19
+ - gzip compression&#xD;
20
+ - shell script implementation&#xD;
21
+ - external call to sync the data&#xD;
22
+ -boosting event handled&#xD;
23
+ - catalog rule change event &#xD;
24
  </notes>
25
  <authors><author><name>Klevu</name><user>Klevu</user><email>niraj.aswani@klevu.com</email></author></authors>
26
+ <date>2016-03-18</date>
27
+ <time>10:37:01</time>
28
+ <contents><target name="mageetc"><dir name="modules"><file name="Klevu_Search.xml" hash="49674c121481f67bcfc2f31bb21e5aaf"/><file name="Klevu_Boosting.xml" hash="760dd6473e4c12c619691c6c553a4658"/><file name="Klevu_Content.xml" hash="36bede0a8b596e50aa11cac1ed7b0c5e"/><file name="Klevu_Searchterms.xml" hash="b1ff813c77dbbb1d1d555c11f699fc8e"/><file name="Klevu_Addtocart.xml" hash="88c66ba423c823ce3a86670b4e2c1f65"/></dir></target><target name="magecommunity"><dir name="Klevu"><dir name="Boosting"><dir name="Block"><dir name="Adminhtml"><dir name="Boost"><dir name="Edit"><file name="Form.php" hash="f383d355c07e8f6930037a3cb663fea8"/><dir name="Tab"><file name="Actions.php" hash="bea65d14949e38f7e2470f596e6a8757"/><file name="Conditions.php" hash="f471bf87addc58de5fc577efb1ef000f"/><file name="Form.php" hash="ceb369273be213ab6c0699edf029f8f5"/></dir><file name="Tabs.php" hash="956926b08afbd7d5c24d4015b8d5fb1a"/></dir><file name="Edit.php" hash="102725d29f9a72655baa68f334837d2c"/><file name="Grid.php" hash="3e9f1e10943666904bdf2cf895111e19"/></dir><file name="Boost.php" hash="ca0e56e107ef39310f81d43ad16f6ae5"/><dir name="Form"><dir name="Field"><dir name="Rule"><file name="Button.php" hash="54234efa375229e734b38f0f1daa7c44"/></dir></dir></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="5dd9cdbc59b7886d7248a49013ee0692"/></dir><dir name="Model"><dir name="Boost"><dir name="Rule"><dir name="Condition"><file name="Combine.php" hash="f01c5f12ea202559feed422130df4d5f"/><file name="Product.php" hash="f35bd54c39f6412db9e08b78a00687fc"/></dir></dir></dir><file name="Boost.php" hash="b11c92c884361d22e705bde6f18f413a"/><dir name="Mysql4"><dir name="Boost"><file name="Collection.php" hash="1ac0d91b93e00c6ca0c6229b8dce69e0"/></dir><file name="Boost.php" hash="0f1e02a537093d2c7cf6392e691646e8"/></dir><file name="Observer.php" hash="957265071bc3f48cc277cb17660f654b"/><dir name="System"><dir name="Config"><dir name="Source"><dir name="Boosting"><file name="Attribute.php" hash="6debec1229df22e3f4eda58dd781053a"/></dir></dir></dir></dir></dir><dir name="Test"><dir name="Model"><dir name="Boost"><dir name="fixtures"><file name="testGetMatchingProductIds.yaml" hash="023c1cc74e5525ccfbed76d38674243d"/></dir></dir><file name="Boost.php" hash="e2cba3650eeed3e39ed29381a6014579"/></dir></dir><dir name="controllers"><dir name="Adminhtml"><file name="BoostController.php" hash="0f2ce187d18fe74c8445becd6e44acfc"/></dir></dir><dir name="etc"><file name="config.xml" hash="644ad1907e652c1a5e9d3d5bce4742fa"/><file name="system.xml" hash="a9f3647f178f8f373c31a90569ffd651"/></dir><dir name="sql"><dir name="klevu_boosting_setup"><file name="mysql4-install-10.0.0.php" hash="b36ab1905efd2ba496635fd8830d7438"/></dir></dir></dir><dir name="Search"><dir name="Block"><dir name="Adminhtml"><dir name="Form"><dir name="Field"><dir name="Attribute"><file name="Mappings.php" hash="293c4d19663fa3aad76c17287fec2114"/></dir><dir name="Automatic"><dir name="Attribute"><file name="Mappings.php" hash="b0d192bd03319957d09f34d510914a2f"/></dir></dir><dir name="Html"><file name="Select.php" hash="adc22272b93deb46b524f46f7000972f"/></dir><dir name="Image"><file name="Log.php" hash="a5775de3c82a73e0cda865586a2d10ee"/></dir><dir name="Store"><dir name="Level"><file name="Label.php" hash="df3680c83924ece232eb14bd0b7ac9b3"/></dir><file name="Status.php" hash="0e023c95f20bea421ea6e7f4e64e5eae"/></dir><dir name="Sync"><file name="Button.php" hash="aeec22e3e952e40d1e1bed33a9e8185b"/></dir></dir><file name="Infolinks.php" hash="201b94b4b627bf9053424fcd70bbd101"/><file name="Information.php" hash="b422d8aa8524b4277f2b4013e90379a0"/><file name="Klevuinfo.php" hash="d2532a3a273acd33515165b3d98ac4d1"/><file name="Syncoptionsinfo.php" hash="28621e3bd17eb8216639fa3a2da47840"/></dir><file name="Notifications.php" hash="9fc2511a89e04cb2c9ce86fc7c3684cd"/><dir name="System"><dir name="Config"><dir name="Form"><file name="Field.php" hash="d4e9023e6cdbedceb7145d248168d33b"/></dir></dir></dir><dir name="Wizard"><dir name="Config"><file name="Button.php" hash="d17ba7640d5777612ab9fb27f85aa5c9"/></dir><dir name="Configure"><file name="Attributes.php" hash="3801cd4ebb45b3d29cfbacf830af2874"/><file name="Store.php" hash="a5e900bf91db47115ce54497669fd384"/><file name="User.php" hash="b885cf0d838e5de5d734c4c0c76cb173"/><file name="Userplan.php" hash="5fc147d5266c2251b4388800fe8f78fb"/></dir></dir></dir><dir name="Catalog"><dir name="Product"><file name="Tracking.php" hash="e314132d47d15ba686c62a0d5ce1668e"/></dir></dir></dir><dir name="Helper"><file name="Api.php" hash="f7f1b51781d27032c114ec2392cb5371"/><file name="Compat.php" hash="3726862a4576a53c5a44dda59a1e9a86"/><file name="Config.php" hash="034a25287066481bace437c52e332c1c"/><file name="Data.php" hash="b47fee221f16cfceeb5df9f9356e36f5"/></dir><dir name="Model"><dir name="Adminhtml"><file name="Comment.php" hash="2d3cb94ca5bea4c6ea50f9aa9dd3a936"/></dir><dir name="Api"><dir name="Action"><file name="Addrecords.php" hash="eeba80aa6abf651cf3ef2b0584cd4354"/><file name="Adduser.php" hash="d8b6e6d37fe6ce522747fd6951c8e9df"/><file name="Addwebstore.php" hash="ea33f2c7032682a6ec2bdb8324cdaf0e"/><file name="Checkuserdetail.php" hash="ebe4eeaf8986684bb7081932e68553bf"/><file name="Debuginfo.php" hash="dd92df091719aa73eca07a08d9681d42"/><file name="Deleterecords.php" hash="0e404db0aab2c58ff90a4e7e4fe73818"/><file name="Features.php" hash="f3f22d268fe2e6651cdab8f12c56599a"/><file name="Gettimezone.php" hash="4bb572b68f42236d765f8194e413b1ca"/><file name="Getuserdetail.php" hash="849a0f04bfdbf39ae75a2627d26717ca"/><file name="Idsearch.php" hash="9b8ba6fde615675884e6e0b6a49e8200"/><file name="Producttracking.php" hash="d88a30dcc3926ad0626591567868a04b"/><file name="Removetestmode.php" hash="bd2e7ecf6c233b1430e2989b2b62000f"/><file name="Searchtermtracking.php" hash="450a05e0598618130ef06d71410a3fcc"/><file name="Startsession.php" hash="14edcef879dce92c76a9c78d4106fc6c"/><file name="Updaterecords.php" hash="9e99ce8da72a030b10e9af8353233427"/></dir><file name="Action.php" hash="792f3fe4348f7d13bdf09562ec0d8b59"/><dir name="Request"><file name="Get.php" hash="2d6f510d4dcc171b8e44322b76a49f93"/><file name="Post.php" hash="a46b484a50ced15e2c02deb16bbeb6bb"/><file name="Xml.php" hash="6fb6945b88624571b332733076f1cd3b"/></dir><file name="Request.php" hash="7f15814e8a01982499563e0e056d2d52"/><dir name="Response"><file name="Data.php" hash="9dbe8e28a501feacb07a6ce2bcc4deb8"/><file name="Empty.php" hash="5988ec43c1756cf4acfedb212787b2b9"/><file name="Invalid.php" hash="8287280c3b99f64e08cf54a0bf65e4a1"/><file name="Message.php" hash="5b6d717c75014e798e619e3df2008d29"/><file name="Search.php" hash="96b9bdef60811c4d994cb457f0d355a9"/><file name="Timezone.php" hash="ffa4d48e42fa52d2c928e202c2af61fd"/></dir><file name="Response.php" hash="9d85b7a9e899375df6cffb375cd59ed7"/></dir><dir name="Catalog"><dir name="Model"><file name="Config.php" hash="57ae55e3cea3dd1b4c60dafcb06d5efd"/></dir></dir><dir name="CatalogSearch"><dir name="Layer"><dir name="Filter"><file name="Attribute.php" hash="104ac92f6ef59879b593a9f1baffd562"/><file name="Category.php" hash="39e56a1a1a1070f09fce2bec6d48c4ce"/><file name="Price.php" hash="4ca1e56183364670fb39a88ea5666c13"/></dir></dir><dir name="Resource"><dir name="Fulltext"><file name="Collection.php" hash="ae39faa3bb9ed99678f667f7d86c0420"/></dir><dir name="Layer"><dir name="Filter"><file name="Attribute.php" hash="d675e50ad7c5277b9ca4100770ac16d3"/></dir></dir></dir></dir><dir name="Config"><dir name="Log"><file name="Level.php" hash="ef07b22f48c4ca72066bf90a1cf9ac27"/></dir></dir><file name="Cron.php" hash="0936cc2667e056182668c9f61fc171bc"/><file name="Notification.php" hash="771d45868668c5b925e3bf2202482b43"/><file name="Observer.php" hash="85c36107a2f74794ee729deccf489818"/><dir name="Order"><file name="Sync.php" hash="1f5c2290ba46ab597f6e85747093bb16"/></dir><dir name="Product"><file name="Sync.php" hash="3dabd1dab6ebf664aeddb99fa970d267"/></dir><dir name="Resource"><dir name="Notification"><file name="Collection.php" hash="936a242678b1c89853149e9dc77b6aff"/></dir><file name="Notification.php" hash="f3206c5286bf6ccb4df268c54fcff0f5"/></dir><file name="Session.php" hash="a4ab94b093ba8a414fbfa031f0d2cabe"/><file name="Sync.php" hash="34fcfeef2306531cff00ce55cb7219cf"/><dir name="System"><dir name="Config"><dir name="Source"><dir name="Additional"><file name="Attributes.php" hash="d91e1af65488d647b035fbb100a4eb1d"/></dir><dir name="Boosting"><file name="Attribute.php" hash="f6db7762064a7e97ca73b5e15757148f"/></dir><file name="Frequency.php" hash="5866e9d92476cdaa8a5f27c5fa0dc48b"/><file name="Landingoptions.php" hash="031834ff6c6c794735350120a686c77e"/><dir name="Log"><file name="Level.php" hash="ba2bee63eb18b966db6beade72293036"/></dir><dir name="Product"><file name="Attributes.php" hash="f99ced41d6504f1570a703e66743dd0b"/></dir><file name="Syncoptions.php" hash="6114fd30c79d1d268b039c09f93e9f74"/><file name="Taxoptions.php" hash="2754ec4fcaa8fcaf17976bc35d2f2ed2"/><file name="Yesnoforced.php" hash="0cf0e7842afae56af0caf92c9490295b"/></dir></dir></dir></dir><dir name="Test"><dir name="Config"><file name="Base.php" hash="a1a8faa15e50cd1d394bc79ca94f712b"/></dir><dir name="Controller"><dir name="CatalogSearch"><dir name="fixtures"><file name="search_results.yaml" hash="bfa6ebad238b75d771b89fb369201540"/></dir></dir><file name="CatalogSearch.php" hash="f6c2615ef27061d0cce7e7eae717c040"/></dir><dir name="Helper"><file name="Api.php" hash="c8484c149e920b3f74b8f6f2dce82936"/><file name="Compat.php" hash="8bae993e0da8f368eb50689f271446a5"/><dir name="Config"><dir name="fixtures"><file name="testGetOrderSyncEnabledFlag.yaml" hash="d1427ea15734ca336c47aad51ad7026e"/><file name="testGetOrderSyncFrequency.yaml" hash="52dffcad75b15761a695eb451b99c751"/><file name="testGetProductSyncEnabledFlag.yaml" hash="43e7263c8b781ef7fb6efbb6598f0226"/><file name="testGetProductSyncFrequency.yaml" hash="004e62dfa22c9abfd8dcf56c92270e19"/><file name="testIsExtensionEnabledDisabled.yaml" hash="5d706b347b4f32f87dc8eb4dd6102148"/><file name="testIsExtensionEnabledEnabled.yaml" hash="52c9eb8a4fad4d8f3ba25c68d35977f3"/></dir><dir name="providers"><file name="testIsOrderSyncEnabled.yaml" hash="938cc58e15b310ba2760be6c64e3d3cb"/><file name="testIsProductSyncEnabled.yaml" hash="5be1dcfb21264a012de32cbd252a09c9"/><file name="testIsTestModeEnabled.yaml" hash="d41d8cd98f00b204e9800998ecf8427e"/></dir></dir><file name="Config.php" hash="9ef7b00d63104e11426f3085afa36744"/><dir name="Data"><dir name="providers"><file name="testBytesToHumanReadable.yaml" hash="7cdb8705e108715abc63fa2cfd81626b"/><file name="testGetLanguageFromLocale.yaml" hash="c301f8dc090142627f6af4e4222b7708"/><file name="testHumanReadableToBytes.yaml" hash="dd89ae5b6705cfcfbf42ba64432c0f0a"/><file name="testIsProductionDomain.yaml" hash="f88ef0f80073fdb9cbdbd020348527a7"/></dir></dir><file name="Data.php" hash="93bb38ec55380a6ec7d79008496cac34"/></dir><dir name="Model"><dir name="Api"><dir name="Action"><dir name="Addrecords"><dir name="providers"><file name="testValidateRequiredFields.yaml" hash="26eea8bfc58c60e4a2f07dcbddc2e6fd"/><file name="testValidateRequiredFieldsRecords.yaml" hash="590b7ec9b7c33debb740b8c6c6db717f"/><file name="testValidateRequiredFieldsRecordsAllowedEmpty.yaml" hash="f82933b3d219491015cef39a214543bd"/><file name="testValidateRequiredFieldsRecordsEmpty.yaml" hash="d5dcd5aad682db42b1352c35b8905d47"/><file name="testValidateRequiredFieldsRecordsOptional.yaml" hash="25092bb84ba311815ca33971a388256e"/></dir></dir><file name="Addrecords.php" hash="14f5c217fac3f82957f54916fa29b387"/><dir name="Adduser"><dir name="providers"><file name="testValidateRequiredFields.yaml" hash="841f068ff3ffd8081ccc91e8675f998c"/></dir></dir><file name="Adduser.php" hash="5189f29f08c4ed30d9b6ac83429de3d0"/><dir name="Addwebstore"><dir name="providers"><file name="testValidateRequiredFields.yaml" hash="e52324b58b76d2d63cfa83ee228e1b31"/></dir></dir><file name="Addwebstore.php" hash="fbeac1b8adc5df45ef08a0a3331e5fbc"/><dir name="Getuserdetail"><dir name="providers"><file name="testValidateRequiredFields.yaml" hash="297df49838c47536bc9ee928b27470b2"/></dir></dir><file name="Getuserdetail.php" hash="4733d1ec7fd5b3b765aa88f182adf390"/><dir name="Getuserfeaturesdetail"><dir name="providers"><file name="testValidateRequiredFields.yaml" hash="e4ef56d9b494fad5392984a144401998"/></dir></dir><file name="Getuserfeaturesdetail.php" hash="601f204cb67a44628c2c951aa8228cd3"/><dir name="Idsearch"><dir name="providers"><file name="testValidateRequiredFields.yaml" hash="f36c1a1a1e6d1f5a2d3a59d8d349036e"/></dir></dir><file name="Idsearch.php" hash="4c8849b460a0df494911e3a4df65719c"/><dir name="Producttracking"><dir name="providers"><file name="testValidateRequiredFields.yaml" hash="4bc690980c701649d17ff6caba3ef646"/></dir></dir><file name="Producttracking.php" hash="04d8ef59f24f848d36493aabfa413828"/><file name="Startsession.php" hash="c1ae49d22b5e75672b8d84499d51f3d4"/></dir><file name="Action.php" hash="14ce7e11eb3acfda2dfea539c8f5254b"/><dir name="Request"><dir name="Xml"><dir name="providers"><file name="testGetDataAsXml.yaml" hash="4aa16e3557481444ba39775ee0b99d29"/></dir></dir><file name="Xml.php" hash="279a5defe0c933540e9635455590d8b1"/></dir><file name="Request.php" hash="b0cbdfe6a023d0479dc1b1c7fc6869c0"/><dir name="Response"><dir name="Data"><dir name="providers"><file name="testIsSuccessful.yaml" hash="f085922f4329b3d6b19c1e0010d3ca22"/></dir></dir><file name="Data.php" hash="1ab05c7225658f54bd31f0c205d05a2b"/><file name="Empty.php" hash="9933c42aa9ff06977ca3e53d2de15857"/><file name="Invalid.php" hash="bb68f25a053b7e5fc024bce0f5286fcb"/><dir name="Message"><dir name="providers"><file name="testIsSuccessful.yaml" hash="d53562002270a0c4b58ca94733309a21"/></dir></dir><file name="Message.php" hash="135c0d136fa9d0e86158407fc59294c3"/><dir name="Timezone"><dir name="providers"><file name="testIsSuccessful.yaml" hash="67f35e7ee5081689a1eddb867ae6256d"/></dir></dir><file name="Timezone.php" hash="f9cb063ef1f506f656a25c6206899eb3"/><dir name="providers"><file name="response_testIsSuccessful.yaml" hash="ac214d5ebf1eccb89e8fa85e8e3cbb75"/></dir></dir><file name="Response.php" hash="dbcce43ccb2cdf47bce5c05fcf27e759"/><dir name="Test"><file name="Case.php" hash="ec6d3169b9e2bd26655687124be779dd"/></dir><dir name="data"><file name="data_response_data.xml" hash="cd2e5d3dcac402828b9e5f0b0b637c76"/><file name="data_response_failure.xml" hash="ba677628e68149e0283729c1c8e5e86a"/><file name="data_response_no_response.xml" hash="98944f0eda050221de59100f4b22f030"/><file name="data_response_success.xml" hash="e92d1cfcd4461dc8d3fcabe1f902b40b"/><file name="data_response_success_only.xml" hash="276055d04a3f112efe9e6f1c337d7699"/><file name="feature_response.xml" hash="4d400030f5c322b6ab85ccbc7bcd2c0d"/><file name="message_response_failure.xml" hash="ab63c55523b26bd53ea6abf426dd11f5"/><file name="message_response_missing_message.xml" hash="4a43490eda6f33804ca400da2f9cdac1"/><file name="message_response_missing_status.xml" hash="39103fec18a0be88e4ff00a8149c8ad4"/><file name="message_response_session_id.xml" hash="415f25f79a3795ae70b983504cbb784f"/><file name="message_response_success.xml" hash="3ac53566b3d187cb81eb04d40a195c50"/><file name="response_malformed.xml" hash="bfeb4e75829a42082a7935a8e7be491e"/><file name="response_noxml.xml" hash="2debfdcf79f03e4a65a667d21ef9de14"/><file name="response_valid.xml" hash="c915992330f0e4bd37bb629637139f98"/><file name="search_response_empty.xml" hash="601298402d21f3626052634cbbb0ae72"/><file name="search_response_paged.xml" hash="04203807a1d6df787c54afd84690a50e"/><file name="search_response_sorted.xml" hash="c3ee65658a56f65334417328c7fbdcac"/><file name="search_response_success.xml" hash="fea4e59e7ae6e68b387729e320d5f49c"/><file name="startsession_response_success.xml" hash="1865ee2da80359e5a84914c56cae2c8d"/><file name="timezone_response_no_data.xml" hash="276055d04a3f112efe9e6f1c337d7699"/><file name="timezone_response_no_status.xml" hash="bd695479b03e3607196f01f627af4a45"/><file name="timezone_response_with_failure.xml" hash="69a6b1fa7b2cf087d85be162064525b0"/><file name="timezone_response_with_success.xml" hash="e6888eca066741675d228ba1397b5554"/></dir></dir><dir name="Config"><dir name="Log"><file name="Level.php" hash="2032f568dc75c8a5ff63c7daaf8bd049"/></dir></dir><dir name="Notification"><dir name="fixtures"><file name="testLoad.yaml" hash="305afce09851bb40e8c990c138aff162"/></dir></dir><file name="Notification.php" hash="889ec647dbdb938741cfc75e1baa2bc2"/><dir name="Observer"><dir name="fixtures"><file name="testLandingPageRewritesDisabled.yaml" hash="88f0c274444dbaab4fded639b4f40048"/><file name="testLandingPageRewritesEnabled.yaml" hash="bfe60a7ccc0ac73c664f24a4b7394343"/><file name="testScheduleOrderSync.yaml" hash="170806194b4a1bd7f00bc346a51709e1"/></dir></dir><file name="Observer.php" hash="73349e9c475129197c2cf55a1e1d4cdc"/><dir name="Order"><dir name="Sync"><dir name="fixtures"><file name="testAddOrderToQueue.yaml" hash="c93c3c28273757a13b878f97dd0b9e97"/><file name="testClearQueue.yaml" hash="d7ad7abd553e333e84cbab149cdcfb31"/><file name="testRun.yaml" hash="44f091d24de97d230f61fcaf3689ba81"/></dir></dir><file name="Sync.php" hash="d2166272904e003b6bea3862f66e0235"/></dir><dir name="Product"><dir name="Sync"><dir name="fixtures"><file name="testAddProducts.yaml" hash="0ac9a9e6666f285eff796d30c8e0a4e3"/><file name="testCatalogruleProducts.yaml" hash="c37fe4fe86fda18d9fd90794ea1520e4"/><file name="testClearAllProducts.yaml" hash="b7ec8b285d34a27e1c50d572b5ae8227"/><file name="testDeleteProducts.yaml" hash="22f94366cc64b6980b8d648067920533"/><file name="testRun.yaml" hash="eaac2bf57835625a6cd80294e6c5a99c"/><file name="testSpecialpriceProducts.yaml" hash="7d44672dcf91473c0bf1d9cb523a394a"/><file name="testUpdateProducts.yaml" hash="61266411faa659dc175f75ffbccce97e"/></dir></dir><file name="Sync.php" hash="62c07a8123480172bba781b78103fcf6"/></dir><dir name="Sync"><dir name="providers"><file name="testSchedule.yaml" hash="97f1043c42eb74162ae97941dc920d8f"/></dir></dir><file name="Sync.php" hash="8c091e168e251761be7fb1d1d2149305"/><dir name="System"><dir name="Config"><dir name="Source"><dir name="Test"><dir name="providers"><file name="testIsValidSourceModel.yaml" hash="cfedc94014707ee5586dd212b4d1ee16"/></dir></dir><file name="Test.php" hash="3e915599d4f76a2fbbb20aed9ffdf968"/></dir></dir></dir></dir></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Klevu"><file name="NotificationsController.php" hash="880ebe97a3e7f9cd1d8d0da41447ae12"/><dir name="Search"><file name="WizardController.php" hash="89dbef5d4eff9dd2c5d5bfc1e4b6faa9"/></dir><file name="SearchController.php" hash="c74f62fc67d47a81a7d31e72f8be0d28"/></dir></dir><file name="IndexController.php" hash="938643728bbfeaecfee7ad3ec87823fe"/></dir><dir name="etc"><file name="adminhtml.xml" hash="6ce395b9dec2d88a7709d0917c13d50f"/><file name="config.xml" hash="2d6707829052559ee94676ee21c30395"/><file name="system.xml" hash="4b9bd118de9292db80b2ba1a7fbbb3f0"/></dir><dir name="sql"><dir name="klevu_search_setup"><file name="mysql4-data-upgrade-1.1.1-1.1.2.php" hash="a65f702cf64af452f2fb6f6cdac130a7"/><file name="mysql4-data-upgrade-1.1.22-1.1.23.php" hash="79a74acda887a3a5e435a4793bd39dfd"/><file name="mysql4-data-upgrade-1.1.25-1.1.26.php" hash="0c31a59a5562739a00909738ef26d742"/><file name="mysql4-data-upgrade-1.1.27-1.1.28.php" hash="b9dcc6b50d2177976e13b61064adfa2a"/><file name="mysql4-install-1.0.0.php" hash="028831a3f92cf63768a5b43beba06e75"/></dir></dir></dir><dir name="Searchterms"><dir name="Block"><dir name="Catalog"><dir name="Product"><file name="Popularterms.php" hash="aa85fe13044e5477b08dc8b5b5b9da24"/></dir></dir><file name="Popularterms.php" hash="aa85fe13044e5477b08dc8b5b5b9da24"/></dir><dir name="Helper"><file name="Data.php" hash="8e9151b766cdb3eda6f78063c3abbe08"/></dir><dir name="Model"><dir name="Api"><dir name="Action"><file name="Boostingscore.php" hash="13ab65ce0a7109d71b6764495cee7790"/><file name="Popularterms.php" hash="8551ebb57c02e80cf36497f324b55955"/></dir></dir><file name="Observer.php" hash="38538cda2093dfa3502b2ba5dd3dd833"/><dir name="Product"><file name="Seo.php" hash="52dcabcd7be98ccceaa2d3cdea6aaa6c"/></dir></dir><dir name="controllers"><file name="IndexController.php" hash="4578e1f39d16335c7a3acd9bb6fdc560"/></dir><dir name="etc"><file name="config.xml" hash="5c8664b8fa4997b2b762e571111868da"/><file name="system.xml" hash="17b7d94f5635e3cbbdaa164ced250e0d"/></dir><dir name="sql"><dir name="klevu_searchterms_setup"><file name="mysql4-data-upgrade-10.0.0-10.0.1.php" hash="d41d8cd98f00b204e9800998ecf8427e"/><file name="mysql4-install-10.0.0.php" hash="d41d8cd98f00b204e9800998ecf8427e"/></dir></dir></dir><dir name="Addtocart"><dir name="Helper"><file name="Data.php" hash="1cf568a02f4d4a319683c986201934e7"/></dir><dir name="etc"><file name="config.xml" hash="bb74783fa2486f42a92efc93ac1b1e8e"/><file name="system.xml" hash="5f214a95e3095fbd78a17f69bf5dc249"/></dir></dir><dir name="Content"><dir name="Block"><dir name="Adminhtml"><dir name="Form"><file name="Cmspages.php" hash="74fc3262b45481e33dad508f48002746"/><dir name="System"><dir name="Config"><dir name="Field"><file name="Select.php" hash="a42ac33f00dfd9346479143ac910f53f"/></dir></dir></dir></dir><dir name="Wizard"><dir name="Configure"><file name="Store.php" hash="6926f8cc65cdcf47bdc89d5067a1e0e4"/></dir></dir></dir><file name="Index.php" hash="4e40ebae7545e7a61a2fcd8da21b7e64"/><file name="Tracking.php" hash="15150693e0d1a6167960f3f96ea3ed22"/></dir><dir name="Helper"><file name="Data.php" hash="3fa32fbc5a5a3ed4396149bdf1fd8e4a"/></dir><dir name="Model"><file name="Content.php" hash="889d353af39dc2c9426faf4bc11c04a5"/><file name="Observer.php" hash="e3f82254218a2db909ecb1d9a2a69b37"/></dir><dir name="Test"><dir name="Controller"><dir name="ContentSearch"><dir name="fixtures"><file name="content_search_results.yaml" hash="952b8215496a66cca9563eea08030f8a"/></dir></dir><file name="ContentSearch.php" hash="9b0e012f2c9bf7d33394361f880020af"/></dir><dir name="Helper"><dir name="Data"><dir name="fixtures"><file name="content_search_results.yaml" hash="65a8b23a351f8b87c2993301361d9191"/><file name="testIsCmsEnabledDisabled.yaml" hash="24e89be563a355b9dcfd6016eb7fe3e2"/><file name="testIsCmsEnabledEnabled.yaml" hash="8903e1fc649bb70f4d76454fced95e2a"/></dir><dir name="providers"><file name="testGetExcludedCmsPages.yaml" hash="954599a138a65fecd75da2366aa6b515"/><file name="testIsCmsSyncEnabled.yaml" hash="9c3006c510c146f6511cae9287b3fdb8"/></dir></dir><file name="Data.php" hash="a8ee9e9d91eece007d94c0d92ddb654b"/></dir><dir name="Model"><dir name="Api"><dir name="data"><file name="message_response_content_success.xml" hash="3ac53566b3d187cb81eb04d40a195c50"/><file name="search_response_empty.xml" hash="39b739de681275c6a192dcd4ce796207"/><file name="search_response_success.xml" hash="15fea6ab852abd01c9630c86b895d773"/><file name="startsession_response_content_success.xml" hash="5fd26f817657ca9e1c1980d59219b28e"/></dir></dir><dir name="Content"><dir name="fixtures"><file name="testAddCms.yaml" hash="3054d1f054399ac080721e9a03be5f0e"/><file name="testClearAllProducts.yaml" hash="b7ec8b285d34a27e1c50d572b5ae8227"/><file name="testCmsRun.yaml" hash="074c89e69ec7a903f224ea430534c12d"/><file name="testDeleteCms.yaml" hash="21071d067eb03b1e546d1e12fe70955b"/><file name="testUpdateCms.yaml" hash="0e3a9db13fdee6858284ebb8b1d31083"/></dir></dir><file name="Content.php" hash="4d2f4c54d5389c686cd745c28fa97d40"/></dir></dir><dir name="controllers"><file name="SearchController.php" hash="b84ae7ea7a66f7c7f78c54fa7afdcfd1"/></dir><dir name="etc"><file name="config.xml" hash="c0e3647d7d4f067f14a45ab037cfc2c8"/><file name="system.xml" hash="de4dfb0d239a9d498c3157ce14d2fd57"/></dir><dir name="sql"><dir name="klevu_content_setup"><file name="mysql4-install-0.1.0.php" hash="d41d8cd98f00b204e9800998ecf8427e"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="klevu"><dir name="boosting"><dir name="form"><dir name="field"><dir name="rule"><file name="button.phtml" hash="f27feff3fad2bbcd68b56df38de5cc83"/></dir></dir></dir></dir><dir name="search"><dir name="form"><dir name="field"><file name="array_readonly.phtml" hash="d3a3be4cf22f89d84bd73121a1adfa86"/><dir name="sync"><file name="button.phtml" hash="dae55579390ed8b72e1fadcbb538442b"/><file name="logbutton.phtml" hash="d31dd881015319d78d9fb2b83874f296"/></dir></dir><file name="information.phtml" hash="9014ac2b78bf4f22be503208b377dc2c"/><file name="klevuinfo.phtml" hash="ea29b14b8f9b794f22465a6695a0e2ae"/><file name="quickinfo.phtml" hash="a383bb10176e87206954b5e379d20c7f"/></dir><file name="notifications.phtml" hash="090714ca57b11d24769c1baa1bcd4615"/><dir name="system"><dir name="config"><dir name="form"><dir name="field"><file name="array.phtml" hash="2e55476e647b79114b28d0a3a02704d5"/></dir></dir></dir></dir><dir name="wizard"><file name="complete.phtml" hash="7cf33a9a829eb07148d16da5056324dd"/><dir name="config"><file name="button.phtml" hash="b1644ee569882b05c2d8cb2f1eecddbc"/></dir><dir name="configure"><file name="attributes.phtml" hash="d54f0a86e78390fbe66825d0771aad25"/><file name="store.phtml" hash="c3a4fce90c554be53ecca58a41c2813d"/><file name="user.phtml" hash="e5678d947c0ccd6f14a23be3df7e9d7d"/><file name="userplan.phtml" hash="07adcbd6b363d6ba29d05bd082fde380"/></dir><dir name="form"><dir name="field"><file name="array.phtml" hash="ccdccab02fbd9cfc2145f094d5e12a2e"/></dir></dir></dir></dir></dir></dir><dir name="layout"><dir name="klevu"><file name="boosting.xml" hash="c17c262a50d6dfa4dc3ee6dbaac18432"/><file name="search.xml" hash="26cef989bb342bad783f5d8fc6a49e7f"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="template"><dir name="klevu"><dir name="addtocart"><file name="index.phtml" hash="5697e2f53a92173a1ce89a933ac674f4"/><file name="index.phtml" hash="5697e2f53a92173a1ce89a933ac674f4"/></dir><dir name="content"><file name="content_tracking.phtml" hash="54dc6f0ce8112013c1bcaad01899d7bc"/><file name="index.phtml" hash="a6fdec47b211db2177c9ceba0683d302"/><file name="left.phtml" hash="51f0cad58008a71a27e44377319fa044"/><file name="search.phtml" hash="b22a3597fa610ce0f3a77d47422d42ac"/><file name="top.phtml" hash="2e2e3484388be8eed022ff541fc354f5"/><file name="type_of_query.phtml" hash="25b05bfe942a3bba838a44a8e150a453"/><file name="content_tracking.phtml" hash="54dc6f0ce8112013c1bcaad01899d7bc"/><file name="index.phtml" hash="a6fdec47b211db2177c9ceba0683d302"/><file name="left.phtml" hash="51f0cad58008a71a27e44377319fa044"/><file name="search.phtml" hash="b22a3597fa610ce0f3a77d47422d42ac"/><file name="top.phtml" hash="2e2e3484388be8eed022ff541fc354f5"/><file name="type_of_query.phtml" hash="25b05bfe942a3bba838a44a8e150a453"/></dir><dir name="learning"><file name="category.phtml" hash="ce6ab73d3c9f2a36ac0d34e7a0cf3280"/><file name="category_tracking.phtml" hash="b825ba28a49b9ebb2e4d15ac5459fbf4"/></dir><dir name="search"><file name="form_js.phtml" hash="a5141d394a3b34b57ceea83031400081"/><file name="index.phtml" hash="abdd1e62171a43fee32e35ac42099843"/><file name="klevulog.phtml" hash="9cebbd9ec162570768aefc30c777fb78"/><file name="product_tracking.phtml" hash="e773b0cfcc8c3649bf26cc83d71345ec"/><file name="form_js.phtml" hash="a5141d394a3b34b57ceea83031400081"/><file name="index.phtml" hash="abdd1e62171a43fee32e35ac42099843"/><file name="klevulog.phtml" hash="9cebbd9ec162570768aefc30c777fb78"/><file name="product_tracking.phtml" hash="e773b0cfcc8c3649bf26cc83d71345ec"/></dir><dir name="searchterm"><file name="popular_searchterms.phtml" hash="4306a14ced0036bdb72158e11d4091d3"/></dir></dir></dir><dir name="layout"><dir name="klevu"><file name="search.xml" hash="7c581fe86dd6379ccdfdfce5120e43ca"/><file name="addtocart.xml" hash="78bb1c4910c4c2c37b49a9c36446f9d5"/><file name="content.xml" hash="b420ba1cceb6b45e8eb1754370439da1"/><file name="searchterms.xml" hash="c0db7111782ef105d6c44281b5a95303"/></dir></dir></dir></dir></dir></target><target name="mageweb"><dir name="js"><dir name="klevu"><dir name="search"><dir name="lib"><file name="Wizard.js" hash="359afd117dc5cc7ccd14c838eacb573d"/></dir></dir></dir></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="klevu"><dir name="search"><file name="klevumagestyle.css" hash="1e014f38c2169e415e01b24cba8fa6a0"/><file name="notifications.css" hash="019a5a055bc621cb0f4c166ab8e5604c"/><file name="wizard.css" hash="824f735715f3ed97ce98414b9895e46b"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="css"><dir name="klevu"><dir name="content"><file name="klevu-landing-left.css" hash="38c63d7796e4e33b212a1d8b044d0a91"/></dir><file name="klevu-landing-page-style.css" hash="38e82d8de2a33cf7c17dacbb450bdb3b"/><file name="klevu-landing-responsive.css" hash="811e1bfece09ba7d5529fec850963ac6"/><dir name="search"><file name="klevu-search-term.css" hash="e7e3f2e24073e6fa0949ac157d6d4d34"/></dir></dir></dir><dir name="images"><dir name="klevu"><file name="btn-gridview.png" hash="c3dd97f4f53e1dfe34b6c5b6b4237b8a"/><file name="btn-listview.png" hash="00aaaa62d67e252248d6075f53b04f7f"/><file name="ku-loader.gif" hash="6050f5bcf455cc8f0332dd65e72f8e52"/></dir></dir></dir></dir></dir></target><target name="mage"><dir name="shell"><dir name="klevu"><file name="sync.php" hash="0e64d2d858a047ee2fdaf376f8c5cbca"/></dir></dir></target></contents>
29
  <compatible/>
30
  <dependencies><required><php><min>5.3.0</min><max>5.6.18</max></php></required></dependencies>
31
  </package>
shell/klevu/sync.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ require_once('../abstract.php');
3
+ class Klevu_Shell_Sync extends Mage_Shell_Abstract
4
+ {
5
+ protected $_argname = array();
6
+
7
+ public function __construct() {
8
+ parent::__construct();
9
+
10
+ // Time limit to infinity
11
+ set_time_limit(0);
12
+ }
13
+
14
+ // Shell script point of entry
15
+ public function run() {
16
+ try {
17
+ if ($this->getArg('updatesonly')) {
18
+ Mage::getModel('klevu_search/product_sync')->run();
19
+ Mage::getModel("content/content")->run();
20
+ echo "Data updates have been sent to Klevu";
21
+ } else if($this->getArg('alldata')) {
22
+ // Modified the updated date klevu_product_sync table
23
+ Mage::getModel('klevu_search/product_sync')->markAllProductsForUpdate();
24
+ // Run the product sync for all store
25
+ Mage::getModel('klevu_search/product_sync')->run();
26
+ Mage::getModel("content/content")->run();
27
+ echo "All Data have been sent to Klevu";
28
+
29
+ } else {
30
+ echo $this->usageHelp();
31
+ }
32
+ } catch(Exception $e){
33
+ echo $e->getMessage();
34
+ }
35
+
36
+ }
37
+
38
+ // Usage instructions
39
+ public function usageHelp()
40
+ {
41
+ return <<<USAGE
42
+
43
+ Usage: php -f sync.php -- [options]
44
+
45
+ --updatesonly If you are using this option, only the products updated since the last successful synchronization will be synchronized with the Klevu servers. Klevu uses the updated_at timestamp of the catalog_product_entity table to figure out which products to synchronize.
46
+
47
+ --alldata If you are using this option, the entire product catalog is considered for synchronization.
48
+
49
+ USAGE;
50
+ }
51
+ }
52
+ // Instantiate
53
+ $shell = new Klevu_Shell_Sync();
54
+
55
+ // Initiate script
56
+ $shell->run();
57
+ ?>
skin/frontend/base/default/css/klevu/klevu-landing-page-style.css CHANGED
@@ -5,7 +5,7 @@
5
  .kuContainer{
6
  width:100%;
7
  margin:0 auto;
8
- font-family:inherit;
9
  font-size:12px;
10
  }
11
 
@@ -18,24 +18,28 @@
18
  /* klevu filters */
19
  .kuFilters{
20
  float:left;
21
- width:23%;
22
  border:1px solid #ccc;
 
23
  }
24
 
25
  /* set the height of each filter*/
26
- .kuFilterBox{
27
  height:150px;
28
  overflow:hidden;
 
29
  }
30
 
31
  /* heading of filters i.e brand, color */
32
- .kuFilterHead{
33
  padding: 8px;
34
- font-weight: bold;
35
- font-size: 12px;
36
  text-align: left;
37
- background-color: #eee;
38
- border-bottom: 1px solid #ddd;
 
 
39
  }
40
 
41
  /* down arrow div in filters */
@@ -86,24 +90,27 @@
86
  position: relative;
87
  overflow: hidden;
88
  margin: 0 5px;
89
- line-height:24px;
90
  padding-left: 5px;
91
  padding-right: 5px;
92
- font-size: 13px;
93
  text-decoration: none;
94
  cursor: pointer;
95
  font-style:normal;
 
96
  }
97
 
98
  /* set background color on hover of filter */
99
  .kuFilterNames ul li a:hover{
100
- background-color:#eee;
101
  cursor: pointer;
 
102
  }
103
 
 
104
  /* set background color for selected filter */
105
  .kuFilterNames ul li.kuSelected a{
106
- background-color:#616161;
107
  color: #fff;
108
  }
109
 
@@ -121,6 +128,7 @@
121
  float:right;
122
  width:13%;
123
  text-align:right;
 
124
  }
125
 
126
  /* shows cancel button if filter is selected */
@@ -131,15 +139,19 @@
131
  font-size:10px;
132
  }
133
 
 
 
 
 
134
  /* klevu results box */
135
  .kuResultList{
136
  float:right;
137
- width:75%;
138
  }
139
 
140
  /* div for Sorting, pagination, change result view icons*/
141
  .kuSortHeader{
142
- margin:5px;
143
  padding-top: 0px;
144
  margin-top: 0px;
145
  }
@@ -163,24 +175,30 @@
163
  }
164
 
165
  .kuTotalResultsTab a{
166
- padding:8px;
167
  cursor:pointer;
 
168
  border-radius:3px;
 
169
  }
170
 
171
  .kuTotalResultsTab a:hover{
172
- background-color:#eee;
 
173
  }
174
 
175
  .kuTotalResultsTab a.kuTabSelected{
176
- background-color:#616161;
177
  color:#fff;
178
  }
179
 
180
  .kuSortingOpt{
181
- background-color:#eee;
182
- border:1px solid #ccc;
183
- padding:5px;
 
 
 
184
  }
185
 
186
  /* div to display sorting dropdown */
@@ -312,16 +330,25 @@
312
  }
313
 
314
  .kuClearLeft{
315
- clear:left;
316
  line-height:0px;
317
  }
318
 
 
 
 
 
 
319
 
320
  /* klevu results div */
321
  .kuResults{
322
  margin-top:10px;
323
  }
324
 
 
 
 
 
325
  /* styles for list view results */
326
  .kuListView{
327
  margin-top:10px;
@@ -336,11 +363,16 @@
336
  .kuListView ul li{
337
  position:relative;
338
  display:block;
339
- width: 98.5%;
340
  height: auto;
341
  padding: 10px;
342
- border-bottom: 1px solid #eee;
343
  text-align:left;
 
 
 
 
 
344
  }
345
 
346
  /* In LISTVIEW: for wrapping the image in fixed size div */
@@ -393,7 +425,7 @@
393
  /* In LISTVIEW: display product name and description */
394
  .kuListView ul li .kuNameDesc{
395
  float:left;
396
- width:65%;
397
  margin-left:5px;
398
  }
399
 
@@ -409,11 +441,12 @@
409
 
410
  /* In LISTVIEW: set product name color and font size */
411
  .kuListView ul li .kuName a{
412
- font-size:14px;
413
  text-decoration:none;
414
  color:inherit;
415
- font-weight:bold;
416
  font-style:normal;
 
417
  }
418
 
419
  .kuListView ul li .kuName a:hover{
@@ -432,9 +465,10 @@
432
 
433
  /* In LISTVIEW: div to display saleprice */
434
  .kuListView ul li .kuSalePrice{
435
- font-weight:bold;
436
- font-size:14px;
437
  margin-bottom:5px;
 
438
  }
439
 
440
  /* In LISTVIEW: div to display original price with line-through style */
@@ -462,43 +496,43 @@
462
  /* In GRIDVIEW: list style for each result */
463
  .kuGridView ul li{
464
  display: inline-block;
465
- width: 24%;
466
- min-height: 275px;
467
  padding: 0;
468
  vertical-align: top;
469
- border-top: 1px solid #ddd;
470
  text-align:center;
471
- margin:2px;
472
  padding-top:15px;
473
  margin-left:0px !important;
 
474
  font-style:normal;
475
  position:relative;
476
  }
477
 
478
- .kuGridView ul li:nth-child(1),.kuGridView ul li:nth-child(2),.kuGridView ul li:nth-child(3),.kuGridView ul li:nth-child(4){
479
- border-top:none;
480
  }
481
 
482
  /* In GRIDVIEW: for wrapping the image in fixed size div */
483
- .kuGridView .klevuImgWrap{
484
  float:none;
485
- overflow:hidden;
486
- padding:5px;
487
- width:90% !important;
488
- height:145px !important;
489
- text-align:center;
490
  margin:0 auto;
491
  }
492
 
493
  /* In GRIDVIEW: thumbnail of the product */
494
  .kuGridView img{
495
  max-width:100% !important;
496
- max-height:140px !important;
497
  height:auto;
498
  width:auto;
499
  border:none;
500
  outline:none;
501
- display:inline-block !important;
502
  }
503
 
504
  .kuGridView ul li .kuDiscountBadge{
@@ -526,7 +560,7 @@
526
  }
527
 
528
  .kuGridView ul li .kuName{
529
- padding:5px;
530
  min-height:45px;
531
  }
532
 
@@ -547,27 +581,25 @@
547
  /* CSS for add to cart button */
548
  .kuGridView ul li .kuAddtocart{
549
  display:block;
550
- height:20px;
551
  margin-top:20px;
 
 
552
  }
553
 
554
  .kuGridView ul li input[type="text"]{
555
- display:inline-block;
556
  width:25%;
557
- float:left;
558
  border:1px solid #ddd;
559
  outline:none;
560
  text-align:right;
561
  }
562
 
563
  .kuGridView ul li a.kuAddtocartBtn{
564
- display:inline-block;
565
- background: #616161;
566
- float:right;
567
  color: #fff;
568
- width:72%;
569
- padding-top:6px;
570
- padding-bottom:6px;
571
  margin-bottom: 0;
572
  text-align: center;
573
  vertical-align: middle;
@@ -578,22 +610,31 @@
578
  -ms-user-select: none;
579
  -o-user-select: none;
580
  text-decoration:none;
 
 
 
 
581
 
 
 
 
 
582
  }
583
 
584
  .kuListView ul li input[type="text"]{
585
  width:5%;
586
- float:none;
587
  border:1px solid #ddd;
588
  outline:none;
589
  text-align:right;
 
590
  }
591
 
592
  .kuListView ul li a.kuAddtocartBtn{
593
- background: #616161;
594
  float:none;
595
  color: #fff;
596
- width:15%;
597
  padding-top:6px;
598
  padding-bottom:6px;
599
  padding:6px;
@@ -607,13 +648,13 @@
607
  -ms-user-select: none;
608
  -o-user-select: none;
609
  text-decoration:none;
610
-
611
  }
612
 
613
 
614
  /* In GRIDVIEW: set product name color and font size */
615
  .kuGridView ul li .kuName a{
616
- font-size:13px;
617
  text-decoration:none;
618
  color:inherit;
619
  font-style:normal;
@@ -633,9 +674,14 @@
633
 
634
  /* In GRIDVIEW: div to display saleprice */
635
  .kuGridView ul li .kuSalePrice{
636
- font-weight:bold;
637
- font-size:14px;
638
- margin-bottom:5px;
 
 
 
 
 
639
  }
640
 
641
  /* In GRIDVIEW: div to display original price with line-through style */
@@ -652,9 +698,10 @@
652
 
653
  /* pagination links at bottom of results */
654
  .kuBottomPagi{
655
- padding:5px;
656
- background-color:#eee;
657
- border:1px solid #ccc;
 
658
  }
659
 
660
  .kuBottomPagi .kuPerPage{
@@ -708,4 +755,4 @@
708
  .disableKuFilter{
709
  opacity:0.3;
710
  pointer-events: none;
711
- }
5
  .kuContainer{
6
  width:100%;
7
  margin:0 auto;
8
+ font-family: inherit;
9
  font-size:12px;
10
  }
11
 
18
  /* klevu filters */
19
  .kuFilters{
20
  float:left;
21
+ width: 20%;
22
  border:1px solid #ccc;
23
+ border-top: none;
24
  }
25
 
26
  /* set the height of each filter*/
27
+ .kuFilterBox{
28
  height:150px;
29
  overflow:hidden;
30
+ margin-bottom: 20px;
31
  }
32
 
33
  /* heading of filters i.e brand, color */
34
+ .kuFilterHead{
35
  padding: 8px;
36
+ /* font-weight: bold; */
37
+ font-size: 14px;
38
  text-align: left;
39
+ line-height: 1.4;
40
+ background-color: #f4f4f4;
41
+ border-bottom: 1px solid #cccccc;
42
+ border-top: 1px solid #cccccc;
43
  }
44
 
45
  /* down arrow div in filters */
90
  position: relative;
91
  overflow: hidden;
92
  margin: 0 5px;
93
+ line-height: 22px;
94
  padding-left: 5px;
95
  padding-right: 5px;
96
+ font-size: 14px;
97
  text-decoration: none;
98
  cursor: pointer;
99
  font-style:normal;
100
+ font-family: inherit;
101
  }
102
 
103
  /* set background color on hover of filter */
104
  .kuFilterNames ul li a:hover{
105
+ background-color: #888888;
106
  cursor: pointer;
107
+ color:#fff;
108
  }
109
 
110
+
111
  /* set background color for selected filter */
112
  .kuFilterNames ul li.kuSelected a{
113
+ background-color: #888888;
114
  color: #fff;
115
  }
116
 
128
  float:right;
129
  width:13%;
130
  text-align:right;
131
+ color: #a0a0a0;
132
  }
133
 
134
  /* shows cancel button if filter is selected */
139
  font-size:10px;
140
  }
141
 
142
+ .kuFilterNames ul li a:hover span.kuFilterTotal{
143
+ color:#fff;
144
+ }
145
+
146
  /* klevu results box */
147
  .kuResultList{
148
  float:right;
149
+ width: 78%;
150
  }
151
 
152
  /* div for Sorting, pagination, change result view icons*/
153
  .kuSortHeader{
154
+ /* margin:5px; */
155
  padding-top: 0px;
156
  margin-top: 0px;
157
  }
175
  }
176
 
177
  .kuTotalResultsTab a{
178
+ padding:8px;
179
  cursor:pointer;
180
+ font-size: 14px;
181
  border-radius:3px;
182
+ margin-right: 10px;
183
  }
184
 
185
  .kuTotalResultsTab a:hover{
186
+ background-color:#eee;
187
+ text-decoration:none;
188
  }
189
 
190
  .kuTotalResultsTab a.kuTabSelected{
191
+ background-color: #888888;
192
  color:#fff;
193
  }
194
 
195
  .kuSortingOpt{
196
+ background-color: #f4f4f4;
197
+ border-top: 1px solid #ccc;
198
+ border-bottom: 1px solid #ccc;
199
+ padding: 8px;
200
+ padding-left: 12px;
201
+ width: 98%;
202
  }
203
 
204
  /* div to display sorting dropdown */
330
  }
331
 
332
  .kuClearLeft{
333
+ clear:left;
334
  line-height:0px;
335
  }
336
 
337
+ .klevu-clearboth-listview{
338
+ clear:left;
339
+
340
+ }
341
+
342
 
343
  /* klevu results div */
344
  .kuResults{
345
  margin-top:10px;
346
  }
347
 
348
+ .kuOtherContentView{
349
+ margin-top:10px;
350
+ }
351
+
352
  /* styles for list view results */
353
  .kuListView{
354
  margin-top:10px;
363
  .kuListView ul li{
364
  position:relative;
365
  display:block;
366
+ width: 98%;
367
  height: auto;
368
  padding: 10px;
369
+ border: 1px solid #eee;
370
  text-align:left;
371
+ margin-bottom: 32px;
372
+ }
373
+
374
+ .kuListView ul li:hover{
375
+ border: 1px solid #cccccc;
376
  }
377
 
378
  /* In LISTVIEW: for wrapping the image in fixed size div */
425
  /* In LISTVIEW: display product name and description */
426
  .kuListView ul li .kuNameDesc{
427
  float:left;
428
+ width: 52%;
429
  margin-left:5px;
430
  }
431
 
441
 
442
  /* In LISTVIEW: set product name color and font size */
443
  .kuListView ul li .kuName a{
444
+ font-size: 14px;
445
  text-decoration:none;
446
  color:inherit;
447
+ font-weight: 500;
448
  font-style:normal;
449
+ text-transform: uppercase;
450
  }
451
 
452
  .kuListView ul li .kuName a:hover{
465
 
466
  /* In LISTVIEW: div to display saleprice */
467
  .kuListView ul li .kuSalePrice{
468
+ font-weight:bold;
469
+ font-size: 16px;
470
  margin-bottom:5px;
471
+ font-family: inherit;
472
  }
473
 
474
  /* In LISTVIEW: div to display original price with line-through style */
496
  /* In GRIDVIEW: list style for each result */
497
  .kuGridView ul li{
498
  display: inline-block;
499
+ width: 23.5%;
500
+ min-height: 335px;
501
  padding: 0;
502
  vertical-align: top;
503
+ border: 1px solid #eeeeee;
504
  text-align:center;
505
+ margin: 8px;
506
  padding-top:15px;
507
  margin-left:0px !important;
508
+ margin-bottom: 40px;
509
  font-style:normal;
510
  position:relative;
511
  }
512
 
513
+ .kuGridView ul li:hover{
514
+ border: 1px solid #cccccc;
515
  }
516
 
517
  /* In GRIDVIEW: for wrapping the image in fixed size div */
518
+ .kuGridView .klevuImgWrap{
519
  float:none;
520
+ overflow:hidden;
521
+ width: 100% !important;
522
+ height: 160px !important;
523
+ text-align:center;
 
524
  margin:0 auto;
525
  }
526
 
527
  /* In GRIDVIEW: thumbnail of the product */
528
  .kuGridView img{
529
  max-width:100% !important;
530
+ max-height: 140px !important;
531
  height:auto;
532
  width:auto;
533
  border:none;
534
  outline:none;
535
+ display:inline-block !important;
536
  }
537
 
538
  .kuGridView ul li .kuDiscountBadge{
560
  }
561
 
562
  .kuGridView ul li .kuName{
563
+ padding:5px;
564
  min-height:45px;
565
  }
566
 
581
  /* CSS for add to cart button */
582
  .kuGridView ul li .kuAddtocart{
583
  display:block;
 
584
  margin-top:20px;
585
+ margin-bottom: 10px;
586
+ width: 100%;
587
  }
588
 
589
  .kuGridView ul li input[type="text"]{
590
+ display: none;
591
  width:25%;
 
592
  border:1px solid #ddd;
593
  outline:none;
594
  text-align:right;
595
  }
596
 
597
  .kuGridView ul li a.kuAddtocartBtn{
598
+ display: block;
599
+ background: #3399cc;
 
600
  color: #fff;
601
+ width: 60%;
602
+ padding: 7px 15px;
 
603
  margin-bottom: 0;
604
  text-align: center;
605
  vertical-align: middle;
610
  -ms-user-select: none;
611
  -o-user-select: none;
612
  text-decoration:none;
613
+ font-size: 13px;
614
+ line-height: 19px;
615
+ margin: 0 auto;
616
+ }
617
 
618
+ .kuListView ul li .kuAddtocart{
619
+ width: 15%;
620
+ float:left;
621
+ margin-top: 20px;
622
  }
623
 
624
  .kuListView ul li input[type="text"]{
625
  width:5%;
626
+ float:none;
627
  border:1px solid #ddd;
628
  outline:none;
629
  text-align:right;
630
+ display: none;
631
  }
632
 
633
  .kuListView ul li a.kuAddtocartBtn{
634
+ background: #3399cc;
635
  float:none;
636
  color: #fff;
637
+ width: 92%;
638
  padding-top:6px;
639
  padding-bottom:6px;
640
  padding:6px;
648
  -ms-user-select: none;
649
  -o-user-select: none;
650
  text-decoration:none;
651
+ display: block;
652
  }
653
 
654
 
655
  /* In GRIDVIEW: set product name color and font size */
656
  .kuGridView ul li .kuName a{
657
+ font-size: 14px;
658
  text-decoration:none;
659
  color:inherit;
660
  font-style:normal;
674
 
675
  /* In GRIDVIEW: div to display saleprice */
676
  .kuGridView ul li .kuSalePrice{
677
+ font-size: 16px;
678
+ font-weight:bold;
679
+ font-family: inherit;
680
+ }
681
+
682
+ .priceGreyText{
683
+ font-size:11px;
684
+ color: #636363;
685
  }
686
 
687
  /* In GRIDVIEW: div to display original price with line-through style */
698
 
699
  /* pagination links at bottom of results */
700
  .kuBottomPagi{
701
+ padding: 8px;
702
+ background-color: #f4f4f4;
703
+ border-top: 1px solid #ccc;
704
+ border-bottom: 1px solid #ccc;
705
  }
706
 
707
  .kuBottomPagi .kuPerPage{
755
  .disableKuFilter{
756
  opacity:0.3;
757
  pointer-events: none;
758
+ }