Expertrec_Recommendation - Version 1.2.4

Version Notes

Expertrec Recommendation plugin for magento sites.

Download this release

Release Info

Developer melchi
Extension Expertrec_Recommendation
Version 1.2.4
Comparing to
See all releases


Code changes from version 1.2.3 to 1.2.4

app/code/community/Expertrec/Recommendation/Block/Api.php CHANGED
@@ -70,6 +70,13 @@ class Expertrec_Recommendation_Block_Api extends Mage_Core_Block_Template{
70
  $cleanDirUrl['secret'] = $this->getSecret();
71
  return $cleanDirUrl;
72
  }
 
 
 
 
 
 
 
73
 
74
  public function getCustomApiUrl()
75
  {
@@ -394,7 +401,12 @@ class Expertrec_Recommendation_Block_Api extends Mage_Core_Block_Template{
394
  $filterArray = array(
395
  'filter_by_stock',
396
  'filter_by_status',
397
- 'filter_by_visiblity');
 
 
 
 
 
398
 
399
  return $filterArray;
400
  }
70
  $cleanDirUrl['secret'] = $this->getSecret();
71
  return $cleanDirUrl;
72
  }
73
+ // pull feed from info page
74
+ public function pullFeed(){
75
+ $pullFeed['surl'] = $this->getBaseUrl().'index.php/expertrec-feed/api/pullFeed';
76
+ $pullFeed['secret'] = $this->getSecret();
77
+ $pullFeed['link'] = $this->getBaseUrl().'index.php/expertrec-feed/api/pullFeed?secret='.$this->getSecret();
78
+ return $pullFeed;
79
+ }
80
 
81
  public function getCustomApiUrl()
82
  {
401
  $filterArray = array(
402
  'filter_by_stock',
403
  'filter_by_status',
404
+ // 'filter_by_visiblity'
405
+ 'not_visible_individually',
406
+ 'visible_catalog',
407
+ 'visible_search',
408
+ 'visible_catalog_search'
409
+ );
410
 
411
  return $filterArray;
412
  }
app/code/community/Expertrec/Recommendation/Model/Feed/Feedfilter.php CHANGED
@@ -1,28 +1,52 @@
1
  <?php
2
  class Expertrec_Recommendation_Model_Feed_Feedfilter {
3
- public function addBasicFilter(Mage_Core_Model_Website $website,Mage_Core_Model_Store $oStore){
4
-
5
- $collection = Mage::getModel('catalog/product')->getCollection();
6
- $visiblityCondition = array('in' => array(2,3,4));
7
- $coreResource = Mage::getSingleton("core/resource");
8
- $catalogInventoryTable = method_exists($coreResource, 'getTableName')
9
- ? $coreResource->getTableName('cataloginventory_stock_item') : 'cataloginventory_stock_item';
10
- $stockfields = array("qty" => "qty", "manage_stock" => "manage_stock",
11
- "use_config_manage_stock" => "use_config_manage_stock", "is_in_stock" => "is_in_stock");
12
-
13
- $collection
14
- ->addWebsiteFilter($website->getWebsiteId())
15
- ->setStoreId($oStore->getId())
16
- ->addAttributeToSelect('*')
17
- ->joinTable($catalogInventoryTable, 'product_id=entity_id', $stockfields, null, 'left')
18
- ->addCategoryIds()
19
- ->addAttributeToFilter('visibility',$visiblityCondition)
20
- ->addPriceData(Mage_Customer_Model_Group::NOT_LOGGED_IN_ID, $website->getWebsiteId());
21
-
22
- //filters out products which are Disabled
23
- Mage::getSingleton('catalog/product_status')->addVisibleFilterToCollection($collection);
24
-
25
- return $collection;
26
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
27
  }
28
  ?>
1
  <?php
2
  class Expertrec_Recommendation_Model_Feed_Feedfilter {
3
+ // adding filters selected form info page
4
+ const CONFIG_FILTERS = 'expertrec/general/filters';
5
+ public function addBasicFilter(Mage_Core_Model_Website $website,Mage_Core_Model_Store $oStore){
6
+
7
+ $storedFilters = Mage::getStoreConfig(self::CONFIG_FILTERS);
8
+ $storedFiltersArray = array();
9
+
10
+ if(isset($storedFilters))
11
+ {
12
+ if(!empty($storedFilters)){
13
+ $storedFiltersArray = explode(',', $storedFilters);
14
+ }
15
+ }
16
+
17
+ // $stock = in_array('filter_by_stock',$storedFiltersArray) ? 1 : 0;
18
+ // $status = in_array('filter_by_status',$storedFiltersArray) ? 1 : 0;
19
+ $visible_1 = in_array('not_visible_individually',$storedFiltersArray) ? 1 : 0;
20
+ $visible_2 = in_array('visible_catalog',$storedFiltersArray) ? 2 : 0;
21
+ $visible_3 = in_array('visible_search',$storedFiltersArray) ? 3 : 0;
22
+ $visible_4 = in_array('visible_catalog_search',$storedFiltersArray) ? 4 : 0;
23
+
24
+
25
+ $collection = Mage::getModel('catalog/product')->getCollection();
26
+ $visiblityCondition = array('in' => array("$visible_1","$visible_2","$visible_3","$visible_4"));
27
+ $coreResource = Mage::getSingleton("core/resource");
28
+ $catalogInventoryTable = method_exists($coreResource, 'getTableName')
29
+ ? $coreResource->getTableName('cataloginventory_stock_item') : 'cataloginventory_stock_item';
30
+ $stockfields = array("qty" => "qty", "manage_stock" => "manage_stock",
31
+ "use_config_manage_stock" => "use_config_manage_stock", "is_in_stock" => "is_in_stock");
32
+
33
+ $collection
34
+ ->addWebsiteFilter($website->getWebsiteId())
35
+ ->setStoreId($oStore->getId())
36
+ ->addAttributeToSelect('*')
37
+ ->joinTable($catalogInventoryTable, 'product_id=entity_id', $stockfields, null, 'left')
38
+ ->addCategoryIds()
39
+ ->addAttributeToFilter('visibility',$visiblityCondition)
40
+ ->addPriceData(Mage_Customer_Model_Group::NOT_LOGGED_IN_ID, $website->getWebsiteId());
41
+
42
+
43
+ // $stockCollection = Mage::getModel('cataloginventory/stock_item')->getCollection()
44
+ // ->addFieldToFilter('is_in_stock', 1); //this can also be used to filter
45
+
46
+ //filters out products which are Disabled
47
+ Mage::getSingleton('catalog/product_status')->addVisibleFilterToCollection($collection);
48
+
49
+ return $collection;
50
+ }
51
  }
52
  ?>
app/code/community/Expertrec/Recommendation/Model/Feed/Formatter.php CHANGED
@@ -50,15 +50,15 @@ class Expertrec_Recommendation_Model_Feed_Formatter {
50
  case 'qty':
51
  $vValue = (int)$product->getData("qty");
52
  break;
53
- case 'filter_by_stock':
54
- $vValue = 0;
55
- break;
56
- case 'filter_by_status':
57
- $vValue = 2;
58
- break;
59
- case 'filter_by_visiblity':
60
- $vValue = array(1,2,3,4);
61
- break;
62
  default:
63
  $attributedata = Mage::getSingleton("eav/config")->getAttribute('catalog_product', $skey)->getData();
64
  $vValue =$product->getData($skey);
50
  case 'qty':
51
  $vValue = (int)$product->getData("qty");
52
  break;
53
+ // case 'filter_by_stock':
54
+ // $vValue = 0;
55
+ // break;
56
+ // case 'filter_by_status':
57
+ // $vValue = 2;
58
+ // break;
59
+ // case 'filter_by_visiblity':
60
+ // $vValue = array(1,2,3,4);
61
+ // break;
62
  default:
63
  $attributedata = Mage::getSingleton("eav/config")->getAttribute('catalog_product', $skey)->getData();
64
  $vValue =$product->getData($skey);
app/code/community/Expertrec/Recommendation/Model/Observer.php CHANGED
@@ -16,12 +16,21 @@ class Expertrec_Recommendation_Model_Observer {
16
  * Method to track the add to cart
17
  */
18
  public function trackAddToCart(Varien_Event_Observer $observer) {
 
19
  $product = $observer->getEvent()->getProduct();
20
  if(!$product instanceof Mage_Catalog_Model_Product) {
21
  Mage::getSingleton('expertrec_recommendation/log')->log('AddToCart_Track: product is not a valid type',Zend_Log::ERR);
22
  return $this;
23
  }
24
 
 
 
 
 
 
 
 
 
25
  //return unique product id
26
  $uniqueId = Mage::helper('expertrec_recommendation')->getUniqueId($product);
27
 
@@ -30,17 +39,21 @@ class Expertrec_Recommendation_Model_Observer {
30
  $response = Mage::getModel('expertrec_recommendation/api_request')
31
  ->setPrepareRequestStatus(false)
32
  ->setData(array(
 
 
 
33
  'item' => $uniqueId,
34
  'event' => 3,
35
  'sku' => $product->getSku(),
36
  'domain' => $_SERVER['HTTP_HOST'],
37
  'ip' => isset($_SERVER['HTTP_X_FORWARDED_FOR']) ? $_SERVER['HTTP_X_FORWARDED_FOR'] : $_SERVER['REMOTE_ADDR'])
 
38
  )
39
  ->setHeader("User-Agent",$_SERVER['HTTP_USER_AGENT'])
40
  ->prepareRequest()
41
  ->sendRequest();
42
 
43
- //Mage::getSingleton('expertrec_recommendation/log')->log("AddToCart_Track: request with uniqueId ".$uniqueId);
44
  if(!$response) {
45
  Mage::getSingleton('expertrec_recommendation/log')->log('AddToCart_Track: request failed for product with uniqueId #'.$uniqueId,Zend_Log::ERR);
46
  }
@@ -51,7 +64,7 @@ class Expertrec_Recommendation_Model_Observer {
51
  * Method to track orders
52
  */
53
  public function trackOrder(Varien_Event_Observer $observer) {
54
-
55
  $payment = $observer->getEvent()->getPayment();
56
 
57
  if(!$payment instanceof Mage_Sales_Model_Order_Payment) {
@@ -78,11 +91,24 @@ class Expertrec_Recommendation_Model_Observer {
78
  //return unique product id
79
  $uniqueId = Mage::helper('expertrec_recommendation')->getUniqueId($product, $item);
80
 
81
- //sending request
82
- //return boolean
83
- $response = Mage::getModel('expertrec_recommendation/api_request')
 
 
 
 
 
 
 
 
 
 
84
  ->setPrepareRequestStatus(false)
85
  ->setData(array(
 
 
 
86
  'item' => $uniqueId,
87
  'event' => 2,
88
  'sku' => $item->getSku(),
@@ -95,7 +121,29 @@ class Expertrec_Recommendation_Model_Observer {
95
  ->prepareRequest()
96
  ->sendRequest();
97
 
98
- //Mage::getSingleton('expertrec_recommendation/log')->log("Order_Track: request with uniqueId ".$uniqueId);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
99
 
100
  if(!$response) {
101
  Mage::getSingleton('expertrec_recommendation/log')->log('Order_Track: request failed for product with uniqueId #'.$uniqueId,Zend_Log::ERR);
@@ -297,6 +345,125 @@ class Expertrec_Recommendation_Model_Observer {
297
 
298
  }
299
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
300
  protected function getFeedEndpoint(){
301
  try{
302
  $endpoint = Mage::getStoreConfig(self::FEED_LOG_ENDPOINT);
16
  * Method to track the add to cart
17
  */
18
  public function trackAddToCart(Varien_Event_Observer $observer) {
19
+
20
  $product = $observer->getEvent()->getProduct();
21
  if(!$product instanceof Mage_Catalog_Model_Product) {
22
  Mage::getSingleton('expertrec_recommendation/log')->log('AddToCart_Track: product is not a valid type',Zend_Log::ERR);
23
  return $this;
24
  }
25
 
26
+ // added url to track rtr
27
+ //$lastUrl = Mage::getSingleton('core/session')->getLastUrl();
28
+ //$currUrl = Mage::helper('core/url')->getCurrentUrl();
29
+ //$ci_id = $_COOKIE['ci_id'];
30
+
31
+ //Mage::getSingleton('core/session')->setCartLastUrl($lastUrl);
32
+ //Mage::getSingleton('core/session')->setCartCurrUrl($currUrl);
33
+
34
  //return unique product id
35
  $uniqueId = Mage::helper('expertrec_recommendation')->getUniqueId($product);
36
 
39
  $response = Mage::getModel('expertrec_recommendation/api_request')
40
  ->setPrepareRequestStatus(false)
41
  ->setData(array(
42
+ //'ci_id' => $ci_id,
43
+ //'lastUrl' => $lastUrl,
44
+ //'currUrl' => $currUrl,
45
  'item' => $uniqueId,
46
  'event' => 3,
47
  'sku' => $product->getSku(),
48
  'domain' => $_SERVER['HTTP_HOST'],
49
  'ip' => isset($_SERVER['HTTP_X_FORWARDED_FOR']) ? $_SERVER['HTTP_X_FORWARDED_FOR'] : $_SERVER['REMOTE_ADDR'])
50
+
51
  )
52
  ->setHeader("User-Agent",$_SERVER['HTTP_USER_AGENT'])
53
  ->prepareRequest()
54
  ->sendRequest();
55
 
56
+ // Mage::getSingleton('expertrec_recommendation/log')->log("AddToCart_Track: request made with uniqueId ".$uniqueId);
57
  if(!$response) {
58
  Mage::getSingleton('expertrec_recommendation/log')->log('AddToCart_Track: request failed for product with uniqueId #'.$uniqueId,Zend_Log::ERR);
59
  }
64
  * Method to track orders
65
  */
66
  public function trackOrder(Varien_Event_Observer $observer) {
67
+
68
  $payment = $observer->getEvent()->getPayment();
69
 
70
  if(!$payment instanceof Mage_Sales_Model_Order_Payment) {
91
  //return unique product id
92
  $uniqueId = Mage::helper('expertrec_recommendation')->getUniqueId($product, $item);
93
 
94
+ // added url to track rtr
95
+ //$ci_id = $_COOKIE['ci_id'];
96
+ //$cartLastUrl =Mage::getSingleton('core/session')->getCartLastUrl();
97
+ //$cartCurrUrl =Mage::getSingleton('core/session')->getCartCurrUrl();
98
+
99
+ //Mage::getSingleton('core/session')->unsCartLastUrl();
100
+ //Mage::getSingleton('core/session')->unsCartCurrUrl();
101
+
102
+ // checking buy from addtocart
103
+ //if(isset($cartCurrUrl) && isset($cartLastUrl)){
104
+ //sending request
105
+ //return boolean
106
+ $response = Mage::getModel('expertrec_recommendation/api_request')
107
  ->setPrepareRequestStatus(false)
108
  ->setData(array(
109
+ //'cartLastUrl' => $cartLastUrl,
110
+ //'cartCurrUrl' => $cartCurrUrl,
111
+ //'ci_id' => $ci_id,
112
  'item' => $uniqueId,
113
  'event' => 2,
114
  'sku' => $item->getSku(),
121
  ->prepareRequest()
122
  ->sendRequest();
123
 
124
+ //}
125
+ //else{
126
+ //sending request
127
+ //return boolean
128
+ // $response = Mage::getModel('expertrec_recommendation/api_request')
129
+ // ->setPrepareRequestStatus(false)
130
+ // ->setData(array(
131
+ // 'ci_id' => $ci_id,
132
+ // 'item' => $uniqueId,
133
+ // 'event' => 2,
134
+ // 'sku' => $item->getSku(),
135
+ // 'qty' => $item->getQtyOrdered(),
136
+ // 'price' => $item->getPriceInclTax(),
137
+ // 'domain' => $_SERVER['HTTP_HOST'],
138
+ // 'ip' => isset($_SERVER['HTTP_X_FORWARDED_FOR']) ? $_SERVER['HTTP_X_FORWARDED_FOR'] : $_SERVER['REMOTE_ADDR'])
139
+ //)
140
+ //->setHeader("User-Agent",$_SERVER['HTTP_USER_AGENT'])
141
+ //->prepareRequest()
142
+ //->sendRequest();
143
+
144
+ //}
145
+
146
+ // Mage::getSingleton('expertrec_recommendation/log')->log("Order_Track: request made with uniqueId ".$uniqueId);
147
 
148
  if(!$response) {
149
  Mage::getSingleton('expertrec_recommendation/log')->log('Order_Track: request failed for product with uniqueId #'.$uniqueId,Zend_Log::ERR);
345
 
346
  }
347
 
348
+ // public function productView(Varien_Event_Observer $observer){
349
+ // $logger = Mage::getSingleton('expertrec_recommendation/log');
350
+ // $logger->log("product view");
351
+ // // $lastUrl = Mage::getSingleton('core/session')->getLastUrl();
352
+ // // $logger->log("view last url ".$lastUrl);
353
+ // $currUrl = Mage::helper('core/url')->getCurrentUrl();
354
+ // // $logger->log("view curr url ".$currUrl);
355
+ // // $logger->log("check ".print_r($_GET,1));
356
+ // if($_GET['cifr']=="rtr"){
357
+ // $logger->log("from rtr");
358
+ // $logger->log("cookie ".print_r($_COOKIE,1));
359
+ // // $logger->log("server ".print_r($_SERVER,1));
360
+
361
+
362
+ // $product = $observer->getEvent()->getProduct();
363
+ // if(!$product instanceof Mage_Catalog_Model_Product) {
364
+ // $logger->log('ProductView_Track: product is not a valid type',Zend_Log::ERR);
365
+ // return $this;
366
+ // }
367
+
368
+ // //return unique product id
369
+ // $uniqueId = Mage::helper('expertrec_recommendation')->getUniqueId($product);
370
+
371
+ // $array = array(
372
+ // 'item' => $uniqueId,
373
+ // 'event' => 1,
374
+ // 'sku' => $product->getSku(),
375
+ // 'domain' => $_SERVER['HTTP_HOST'],
376
+ // 'ip' => isset($_SERVER['HTTP_X_FORWARDED_FOR']) ? $_SERVER['HTTP_X_FORWARDED_FOR'] : $_SERVER['REMOTE_ADDR']);
377
+
378
+ // $logger->log("array ".print_r($array,1));
379
+ // //sending request
380
+ // //return boolean
381
+ // // $response = Mage::getModel('expertrec_recommendation/api_request')
382
+ // // ->setPrepareRequestStatus(false)
383
+ // // ->setData(array(
384
+ // // 'item' => $uniqueId,
385
+ // // 'event' => 3,
386
+ // // 'sku' => $product->getSku(),
387
+ // // 'domain' => $_SERVER['HTTP_HOST'],
388
+ // // 'ip' => isset($_SERVER['HTTP_X_FORWARDED_FOR']) ? $_SERVER['HTTP_X_FORWARDED_FOR'] : $_SERVER['REMOTE_ADDR'])
389
+ // // )
390
+ // // ->setHeader("User-Agent",$_SERVER['HTTP_USER_AGENT'])
391
+ // // ->prepareRequest()
392
+ // // ->sendRequest();
393
+
394
+ // // //Mage::getSingleton('expertrec_recommendation/log')->log("ProductView_Track: request with uniqueId ".$uniqueId);
395
+ // // if(!$response) {
396
+ // // $logger->log('ProductView_Track: request failed for product with uniqueId #'.$uniqueId,Zend_Log::ERR);
397
+ // // }
398
+ // return $this;
399
+
400
+ // }
401
+ // else{
402
+ // $logger->log("not from rtr");
403
+ // }
404
+
405
+ // }
406
+
407
+
408
+ //public function addWishlist(Varien_Event_Observer $observer) {
409
+
410
+ //$wishListItemCollection = $observer->getItems();
411
+ //if (count($wishListItemCollection)) {
412
+ //$arrProductIds = array();
413
+ //foreach ($wishListItemCollection as $item) {
414
+ /* @var $product Mage_Catalog_Model_Product */
415
+ // $product = $item->getProduct();
416
+ // $arrProductIds[] = $product->getId();
417
+ //}
418
+ //}else{
419
+ // Mage::getSingleton('expertrec_recommendation/log')->log('AddToWishlist_Track: wishListItemCollection count is 0',Zend_Log::ERR);
420
+ //return $this;
421
+ //}
422
+
423
+ //if(!$product instanceof Mage_Catalog_Model_Product) {
424
+ // Mage::getSingleton('expertrec_recommendation/log')->log('AddToWishlist_Track: product is not a valid type',Zend_Log::ERR);
425
+ // return $this;
426
+ //}
427
+
428
+ // added url to track rtr
429
+ //$lastUrl = Mage::getSingleton('core/session')->getLastUrl();
430
+ //$currUrl = Mage::helper('core/url')->getCurrentUrl();
431
+ //$ci_id = $_COOKIE['ci_id'];
432
+
433
+ // Mage::getSingleton('core/session')->setCartLastUrl($lastUrl);
434
+ // Mage::getSingleton('core/session')->setCartCurrUrl($currUrl);
435
+
436
+ //return unique product id
437
+ //$uniqueId = Mage::helper('expertrec_recommendation')->getUniqueId($product);
438
+
439
+ //sending request
440
+ //return boolean
441
+ //$response = Mage::getModel('expertrec_recommendation/api_request')
442
+ // ->setPrepareRequestStatus(false)
443
+ // ->setData(array(
444
+ // 'ci_id' => $ci_id,
445
+ // 'lastUrl' => $lastUrl,
446
+ // 'currUrl' => $currUrl,
447
+ // 'item' => $uniqueId,
448
+ // 'event' => 17,
449
+ // 'sku' => $product->getSku(),
450
+ // 'domain' => $_SERVER['HTTP_HOST'],
451
+ // 'ip' => isset($_SERVER['HTTP_X_FORWARDED_FOR']) ? $_SERVER['HTTP_X_FORWARDED_FOR'] : $_SERVER['REMOTE_ADDR'])
452
+
453
+ // )
454
+ // ->setHeader("User-Agent",$_SERVER['HTTP_USER_AGENT'])
455
+ // ->prepareRequest()
456
+ // ->sendRequest();
457
+
458
+ // Mage::getSingleton('expertrec_recommendation/log')->log("AddToWishlist_Track: request made with uniqueId ".$uniqueId);
459
+ //if(!$response) {
460
+ // Mage::getSingleton('expertrec_recommendation/log')->log('AddToWishlist_Track: request failed for product with uniqueId #'.$uniqueId,Zend_Log::ERR);
461
+ //}
462
+ //return $this;
463
+ //}
464
+
465
+
466
+
467
  protected function getFeedEndpoint(){
468
  try{
469
  $endpoint = Mage::getStoreConfig(self::FEED_LOG_ENDPOINT);
app/code/community/Expertrec/Recommendation/controllers/ApiController.php CHANGED
@@ -23,9 +23,10 @@ class Expertrec_Recommendation_ApiController extends Mage_Core_Controller_Front_
23
  const THUMBNAIL_WIDTH = 'expertrec/general/expertrec_thumbnail_width';
24
  const THUMBNAIL_HEIGHT = 'expertrec/general/expertrec_thumbnail_height';
25
  const MERCHANT_ID = 'expertrec/general/mid';
 
26
 
27
 
28
- const BUILD_NO = "1489582957";
29
  private $_password;
30
 
31
  //main function which loads the feed API
@@ -240,7 +241,9 @@ class Expertrec_Recommendation_ApiController extends Mage_Core_Controller_Front_
240
  echo '</fieldset>';
241
 
242
  echo $this->displaySuggestionApi($baseUrl);
243
- echo $this->displayLogApi($baseUrl);
 
 
244
  ?>
245
 
246
  </div> <!-- api section end -->
@@ -423,9 +426,8 @@ class Expertrec_Recommendation_ApiController extends Mage_Core_Controller_Front_
423
  $result .= '<div style="display:block"><h4>Expertrec Thumbnail</h4><label for="thumbnailwidth">Thumbnail Width</label><input type="text" id="thumbnailwidth" name="thumbnailwidth" placeholder="Give thumbnail width" value="'.Mage::getStoreConfig(self::THUMBNAIL_WIDTH).'"></div>';
424
  $result .= '<div style="display:block"><label for="thumbnailheight">Thumbnail Height</label><input type="text" id="thumbnailheight" name="thumbnailheight" placeholder="Give thumbnail height" value="'.Mage::getStoreConfig(self::THUMBNAIL_HEIGHT).'"></div>';
425
 
426
- $filterArray = array('filter_by_stock','filter_by_status','filter_by_visiblity');
427
-
428
- // filter_by_not_visible_individually','filter_by_visible_catalog','filter_by_visible_search','filter_by_visible_catalog_search'
429
 
430
  $result .='<fieldset>';
431
  $result .='<legend>Configure Filters</legend>';
@@ -722,12 +724,35 @@ class Expertrec_Recommendation_ApiController extends Mage_Core_Controller_Front_
722
  $result .= '</fieldset>';
723
  return $result;
724
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
725
 
726
  public function pushFeedAction(){
727
 
728
  $logger = Mage::getSingleton('expertrec_recommendation/log');
729
 
730
  $mid = Mage::getStoreConfig(self::MERCHANT_ID);
 
731
  $website_url = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB);
732
  $admin_email = Mage::getStoreConfig('trans_email/ident_general/email'); //fetch sender email Admin
733
  $admin_name = Mage::getStoreConfig('trans_email/ident_general/name'); //fetch sender name Admin
@@ -748,7 +773,8 @@ class Expertrec_Recommendation_ApiController extends Mage_Core_Controller_Front_
748
  //response with mid and secret
749
  $response = $request->request();
750
  $data = json_decode($response->getBody(),true);
751
- $new_mid = $data['merchantid'];
 
752
  //$logger->log("data ".print_r($data,1));
753
  // update mid and secret
754
  Mage::helper("expertrec_recommendation")
@@ -761,6 +787,54 @@ class Expertrec_Recommendation_ApiController extends Mage_Core_Controller_Front_
761
  }
762
  }
763
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
764
  // all website
765
  $websiteCollection = Mage::getModel('core/website')->getCollection()->load();
766
  // $websitecount = count($websiteCollection);
@@ -792,12 +866,7 @@ class Expertrec_Recommendation_ApiController extends Mage_Core_Controller_Front_
792
  $header = array();
793
  }
794
  if(!empty($header)){
795
- // feedUrl as api to userpushfeed
796
- $feedUrl = "https://feed.expertrec.com/magento/b01eba6261ad7f174cd3a16523e86e65/";
797
- // $mid = Mage::getStoreConfig(self::MERCHANT_ID);
798
- // finalurl added with merchant id
799
- // $finalUrl = $feedUrl.''.$mid.'/';
800
- $finalUrl = $feedUrl.''.$new_mid.'/';
801
  if(empty($finalUrl)){
802
  return $this;
803
  }
@@ -819,7 +888,7 @@ class Expertrec_Recommendation_ApiController extends Mage_Core_Controller_Front_
819
  ->setPrepareRequestStatus(true)
820
  ->sendRequest();
821
 
822
- //$logger->log('UserFeedPush_Track: request succeded for product with Id #'.$product->getId().' of store '.$storeId);
823
  if(!$response) {
824
  $logger->log('UserFeedPush_Track: request failed for product with Id #'.$product->getId());
825
  }
@@ -840,13 +909,13 @@ class Expertrec_Recommendation_ApiController extends Mage_Core_Controller_Front_
840
  ->setPrepareRequestStatus(false)
841
  ->setUserId('expertrec')
842
  ->setUrl($finalUrl)
843
- ->setMethod(Zend_Http_Client::POST)
844
  ->setData($array)
845
  ->setHeader("Content-Type",'application/json')
846
  ->setPrepareRequestStatus(true)
847
  ->sendRequest();
848
 
849
- $logger->log('UserFeedPush_Track: request completed');
850
  if(!$response) {
851
  $logger->log('UserFeedPush_Track: Request not complete');
852
  }
@@ -860,6 +929,22 @@ class Expertrec_Recommendation_ApiController extends Mage_Core_Controller_Front_
860
  $this->pushFeedAction();
861
  return $this->_redirectReferer();
862
  }
863
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
864
 
865
  }
23
  const THUMBNAIL_WIDTH = 'expertrec/general/expertrec_thumbnail_width';
24
  const THUMBNAIL_HEIGHT = 'expertrec/general/expertrec_thumbnail_height';
25
  const MERCHANT_ID = 'expertrec/general/mid';
26
+ const SECRET = 'expertrec/general/secret';
27
 
28
 
29
+ const BUILD_NO = "1489744852";
30
  private $_password;
31
 
32
  //main function which loads the feed API
241
  echo '</fieldset>';
242
 
243
  echo $this->displaySuggestionApi($baseUrl);
244
+ echo $this->displayLogApi($baseUrl);
245
+ // pull feed from info page
246
+ echo $this->displayPullFeed($baseUrl);
247
  ?>
248
 
249
  </div> <!-- api section end -->
426
  $result .= '<div style="display:block"><h4>Expertrec Thumbnail</h4><label for="thumbnailwidth">Thumbnail Width</label><input type="text" id="thumbnailwidth" name="thumbnailwidth" placeholder="Give thumbnail width" value="'.Mage::getStoreConfig(self::THUMBNAIL_WIDTH).'"></div>';
427
  $result .= '<div style="display:block"><label for="thumbnailheight">Thumbnail Height</label><input type="text" id="thumbnailheight" name="thumbnailheight" placeholder="Give thumbnail height" value="'.Mage::getStoreConfig(self::THUMBNAIL_HEIGHT).'"></div>';
428
 
429
+ // $filterArray = array('filter_by_stock','filter_by_status','filter_by_visiblity');
430
+ $filterArray = array('filter_by_stock','filter_by_status','not_visible_individually','visible_catalog','visible_search','visible_catalog_search');
 
431
 
432
  $result .='<fieldset>';
433
  $result .='<legend>Configure Filters</legend>';
724
  $result .= '</fieldset>';
725
  return $result;
726
  }
727
+ // pull feed from info page
728
+ public function displayPullFeed($baseUrl){
729
+ $result = '<div style="margin-top:20px">';
730
+ $result .= '<fieldset>';
731
+ $result .= '<legend>Pull Feed</legend>';
732
+
733
+ $feedUrl = $baseUrl.'index.php/expertrec-feed/api/pullFeed?secret='.$this->_password;
734
+ $feed_url = $baseUrl.'index.php/expertrec-feed/api/pullFeed';
735
+
736
+ $result .= '<form method ="POST" id="pullFeed" name="pullfeed" method="POST" action="'.$feed_url.'">';
737
+ $result .= '<p>'.$feedUrl.'</p>
738
+ <input type="hidden" name="secret" value="'.$this->_password.'">
739
+ <button type="submit" id="pullfeedSubmit" name="pullfeedSubmit">Submit</button></form>';
740
+
741
+
742
+ $result .= '</fieldset>';
743
+ $result .= '</div>';
744
+
745
+ return $result;
746
+ }
747
+
748
+
749
 
750
  public function pushFeedAction(){
751
 
752
  $logger = Mage::getSingleton('expertrec_recommendation/log');
753
 
754
  $mid = Mage::getStoreConfig(self::MERCHANT_ID);
755
+ $secret = Mage::getStoreConfig(self::SECRET);
756
  $website_url = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB);
757
  $admin_email = Mage::getStoreConfig('trans_email/ident_general/email'); //fetch sender email Admin
758
  $admin_name = Mage::getStoreConfig('trans_email/ident_general/name'); //fetch sender name Admin
773
  //response with mid and secret
774
  $response = $request->request();
775
  $data = json_decode($response->getBody(),true);
776
+ $mid = $data['merchantid'];
777
+ $secret = $data['secret'];
778
  //$logger->log("data ".print_r($data,1));
779
  // update mid and secret
780
  Mage::helper("expertrec_recommendation")
787
  }
788
  }
789
 
790
+ //get count
791
+ $array_count = array();
792
+ $websiteCollection = Mage::getModel('core/website')->getCollection()->load();
793
+ // $websitecount = count($websiteCollection);
794
+ $websitecount = $websiteCollection->getSize();
795
+ foreach ($websiteCollection as $website){
796
+ $websiteId=$website->getWebsiteId();
797
+ foreach ($website->getGroups() as $group) {
798
+ // all stores
799
+ $stores = $group->getStores();
800
+ $storeCount = count($stores);
801
+ foreach ($stores as $oStore) {
802
+
803
+ $storeId=$oStore->getId();
804
+ // get all products
805
+ $collection = Mage::getSingleton('expertrec_recommendation/feed_feedfilter')->addBasicFilter($website,$oStore);
806
+
807
+ $count = $collection->getSize();
808
+
809
+ $array[$storeCount] = array('wid' => $websiteId, 'sid' => $storeId, 'total_products' => $count);
810
+ $storeCount--;
811
+
812
+ }
813
+
814
+ }
815
+ }
816
+
817
+ // feedUrl as api to userpushfeed
818
+ $feedUrl = "https://feed.expertrec.com/magento/n01eba6261ad7f174cd3a16523e86e65/";
819
+
820
+ // finalurl added with merchant id
821
+ $finalUrl = $feedUrl.''.$mid.'/';
822
+ $array_count = array('secrete' => $secret, 'product_count' => $array );
823
+ // sending request
824
+ $response = Mage::getModel('expertrec_recommendation/api_request')
825
+ ->setPrepareRequestStatus(false)
826
+ ->setUserId('expertrec')
827
+ ->setUrl($finalUrl)
828
+ ->setMethod(Zend_Http_Client::GET)
829
+ ->setData($array_count)
830
+ ->setHeader("Content-Type",'application/json')
831
+ ->setPrepareRequestStatus(true)
832
+ ->sendRequest();
833
+
834
+ if(!$response) {
835
+ $logger->log('UserFeedPush_Track: request failed for total_count');
836
+ }
837
+
838
  // all website
839
  $websiteCollection = Mage::getModel('core/website')->getCollection()->load();
840
  // $websitecount = count($websiteCollection);
866
  $header = array();
867
  }
868
  if(!empty($header)){
869
+
 
 
 
 
 
870
  if(empty($finalUrl)){
871
  return $this;
872
  }
888
  ->setPrepareRequestStatus(true)
889
  ->sendRequest();
890
 
891
+ // $logger->log('UserFeedPush_Track: request succeded for product with Id #'.$product->getId().' of store '.$storeId);
892
  if(!$response) {
893
  $logger->log('UserFeedPush_Track: request failed for product with Id #'.$product->getId());
894
  }
909
  ->setPrepareRequestStatus(false)
910
  ->setUserId('expertrec')
911
  ->setUrl($finalUrl)
912
+ ->setMethod(Zend_Http_Client::GET)
913
  ->setData($array)
914
  ->setHeader("Content-Type",'application/json')
915
  ->setPrepareRequestStatus(true)
916
  ->sendRequest();
917
 
918
+ //$logger->log('UserFeedPush_Track: request completed');
919
  if(!$response) {
920
  $logger->log('UserFeedPush_Track: Request not complete');
921
  }
929
  $this->pushFeedAction();
930
  return $this->_redirectReferer();
931
  }
932
+
933
+ // pull feed from info page
934
+ public function pullFeedAction(){
935
+ try{
936
+ //return array of all parameters sent
937
+ $requestParams = Mage::app()->getRequest()->getParams();
938
+ $Password = isset($requestParams['secret']) ? $requestParams['secret'] : '';
939
+ // Check password. if invalid password, it will not proceed.
940
+ if(!Mage::getModel('expertrec_recommendation/validate')->checkPassword($Password)){
941
+ die('ERROR: The specified password is invalid.');
942
+ }
943
+ $this->pushFeedAction();
944
+ die("Feed pulled successfully.");
945
+ }catch (Exception $e) {
946
+ Mage::getSingleton('expertrec_recommendation/log')->log( "Not able to pull the feed: ".$e->getMessage());
947
+ }
948
+ }
949
 
950
  }
app/code/community/Expertrec/Recommendation/data/expertrec_setup/data-install-1.2.3.php DELETED
@@ -1,9 +0,0 @@
1
- <?php
2
-
3
- // $background_func = Mage::getBaseUrl().'index.php/expertrec-feed/api/pushFeed';
4
- // Mage::getSingleton('expertrec_recommendation/log')->log("Push Feed on new Installation");
5
- // $cmd ="curl $background_func";
6
- // Mage::getSingleton('expertrec_recommendation/log')->log("url ".print_r($cmd,1));
7
- // // executes in background
8
- // exec($cmd ." > /dev/null 2>&1 &",$out,$res);
9
- ?>
 
 
 
 
 
 
 
 
 
app/code/community/Expertrec/Recommendation/etc/config.xml CHANGED
@@ -2,7 +2,7 @@
2
  <config>
3
  <modules>
4
  <Expertrec_Recommendation>
5
- <version>1.2.3</version>
6
  </Expertrec_Recommendation>
7
  </modules>
8
  <global>
@@ -85,6 +85,26 @@
85
  </expertrec_recommendation_save_category>
86
  </observers>
87
  </catalog_category_save_commit_after>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
88
  </events>
89
  </global>
90
  <frontend>
2
  <config>
3
  <modules>
4
  <Expertrec_Recommendation>
5
+ <version>1.2.4</version>
6
  </Expertrec_Recommendation>
7
  </modules>
8
  <global>
85
  </expertrec_recommendation_save_category>
86
  </observers>
87
  </catalog_category_save_commit_after>
88
+ <!-- Hook on item view
89
+ <catalog_controller_product_view>
90
+ <observers>
91
+ <itemsviewed>
92
+ <type>model</type>
93
+ <class>bit_itemsviewed/observer</class>
94
+ <method>saveProductVisitHistory</method>
95
+ </itemsviewed>
96
+ </observers>
97
+ </catalog_controller_product_view> -->
98
+ <!-- Hook for adding wishlist
99
+ <wishlist_product_add_after>
100
+ <observers>
101
+ <expertrec_recommendation_add_wishlist>
102
+ <type>singleton</type>
103
+ <class>expertrec_recommendation/observer</class>
104
+ <method>addWishlist</method>
105
+ </expertrec_recommendation_add_wishlist>
106
+ </observers>
107
+ </wishlist_product_add_after> -->
108
  </events>
109
  </global>
110
  <frontend>
app/code/community/Expertrec/Recommendation/sql/expertrec_setup/{mysql4-install-1.2.3.php → mysql4-install-1.2.4.php} RENAMED
@@ -15,7 +15,7 @@ $result['status'] = "Installed";
15
  //magento version
16
  $result['mage_ver'] = $mage_ver;
17
  //expertrec version
18
- $result['expertrec_ver'] = '1.2.3';
19
  //Subdomain
20
  $result['site_subdomain'] = $uri;
21
  //hostname
@@ -62,7 +62,8 @@ $installer->run("
62
  ('default',0,'expertrec/general/expertrec_image_height',250),
63
  ('default',0,'expertrec/general/expertrec_thumbnail_width',80),
64
  ('default',0,'expertrec/general/expertrec_thumbnail_height',80),
65
- ('default',0,'expertrec/general/expertrec_feed_push',0)
 
66
  ON DUPLICATE KEY UPDATE `value`=`value`;
67
  ");
68
 
15
  //magento version
16
  $result['mage_ver'] = $mage_ver;
17
  //expertrec version
18
+ $result['expertrec_ver'] = '1.2.4';
19
  //Subdomain
20
  $result['site_subdomain'] = $uri;
21
  //hostname
62
  ('default',0,'expertrec/general/expertrec_image_height',250),
63
  ('default',0,'expertrec/general/expertrec_thumbnail_width',80),
64
  ('default',0,'expertrec/general/expertrec_thumbnail_height',80),
65
+ ('default',0,'expertrec/general/expertrec_feed_push',0),
66
+ ('default',0,'expertrec/general/filters','filter_by_stock,filter_by_status,visible_catalog,visible_search,visible_catalog_search')
67
  ON DUPLICATE KEY UPDATE `value`=`value`;
68
  ");
69
 
app/code/community/Expertrec/Recommendation/sql/expertrec_setup/{mysql4-upgrade-1.2.2-1.2.3.php → mysql4-upgrade-1.2.3-1.2.4.php} RENAMED
@@ -17,7 +17,7 @@ $result['status'] = "Upgraded";
17
  //magento version
18
  $result['mage_ver'] = $mage_ver;
19
  //expertrec version
20
- $result['expertrec_ver'] = '1.2.3';
21
  //hostname
22
  $result['site_host'] = $host;
23
  //Subdomain
@@ -64,7 +64,8 @@ $installer->run("
64
  ('default',0,'expertrec/general/expertrec_image_height',250),
65
  ('default',0,'expertrec/general/expertrec_thumbnail_width',80),
66
  ('default',0,'expertrec/general/expertrec_thumbnail_height',80),
67
- ('default',0,'expertrec/general/expertrec_feed_push',0)
 
68
  ON DUPLICATE KEY UPDATE `value`=`value`;
69
  ");
70
 
17
  //magento version
18
  $result['mage_ver'] = $mage_ver;
19
  //expertrec version
20
+ $result['expertrec_ver'] = '1.2.4';
21
  //hostname
22
  $result['site_host'] = $host;
23
  //Subdomain
64
  ('default',0,'expertrec/general/expertrec_image_height',250),
65
  ('default',0,'expertrec/general/expertrec_thumbnail_width',80),
66
  ('default',0,'expertrec/general/expertrec_thumbnail_height',80),
67
+ ('default',0,'expertrec/general/expertrec_feed_push',0),
68
+ ('default',0,'expertrec/general/filters','filter_by_stock,filter_by_status,visible_catalog,visible_search,visible_catalog_search')
69
  ON DUPLICATE KEY UPDATE `value`=`value`;
70
  ");
71
 
app/design/frontend/base/default/template/expertrec/feed/info.phtml CHANGED
@@ -276,6 +276,18 @@
276
  </form>
277
  </fieldset>
278
  </div>-->
 
 
 
 
 
 
 
 
 
 
 
 
279
  </div>
280
  <!--End of API Info section-->
281
 
@@ -330,6 +342,7 @@
330
  <!--Configure Filters section-->
331
  <fieldset>
332
  <legend>Configure Filters</legend>
 
333
  <?php foreach ($this->getAllFilters() as $_filter): ?>
334
  <?php if($storedFilters != null && in_array($_filter, $storedFilters)): ?>
335
  <input type="checkbox" id="<?php echo $_filter; ?>" name="filter_check_list[]"
276
  </form>
277
  </fieldset>
278
  </div>-->
279
+ <!-- pull feed from info page -->
280
+ <div style="margin-top:20px">
281
+ <fieldset>
282
+ <legend>Pull Feed</legend>
283
+ <?php $pullFeed = $this->pullFeed();?>
284
+ <form method="post" action="<?php echo $pullFeed['surl'];?>" target="_blank">
285
+ <input type="hidden" name="secret" value="<?php echo $pullFeed['secret'];?>">
286
+ <p><?php echo $pullFeed['link']; ?></p>
287
+ <button type="submit">submit</button>
288
+ </form>
289
+ </fieldset>
290
+ </div>
291
  </div>
292
  <!--End of API Info section-->
293
 
342
  <!--Configure Filters section-->
343
  <fieldset>
344
  <legend>Configure Filters</legend>
345
+ <p>filter_by_visiblity -- choose from ( not_visible_individually , visible_catalog , visible_search , visible_catalog_search ).</p>
346
  <?php foreach ($this->getAllFilters() as $_filter): ?>
347
  <?php if($storedFilters != null && in_array($_filter, $storedFilters)): ?>
348
  <input type="checkbox" id="<?php echo $_filter; ?>" name="filter_check_list[]"
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Expertrec_Recommendation</name>
4
- <version>1.2.3</version>
5
  <stability>stable</stability>
6
  <license uri="http://opensource.org/licenses/osl-3.0.php">Open Software License (OSL)</license>
7
  <channel>community</channel>
@@ -10,9 +10,9 @@
10
  <description>Expertrec search extension helps you have complete control over your site search results. You will be able to add instant autocomplete, spell corrections that learn from the user behaviour on your site, and show product recommendations within the search user interface. It also adds search results pages with facets, sorting by different attributes.</description>
11
  <notes>Expertrec Recommendation plugin for magento sites.</notes>
12
  <authors><author><name>melchi</name><user>melchi</user><email>magento@cloudinfra.in</email></author><author><name>magento</name><user>magento</user><email>magento-team@cloudinfra.in</email></author></authors>
13
- <date>2017-03-15</date>
14
- <time>13:05:16</time>
15
- <contents><target name="magecommunity"><dir name="Expertrec"><dir name="Recommendation"><dir name="Block"><file name="Api.php" hash="e97933a6583fad907bce3794c30f4377"/></dir><dir name="Helper"><file name="Autocompletehelper.php" hash="7bd733d91f69091c1f6f5bb162467a43"/><file name="Data.php" hash="8a2760edc960d6a1bc72d80e73944cb3"/><file name="Filehelper.php" hash="5ac956e12548398dc159a16eb1a03e8b"/><dir name="Search"><file name="Layout.php" hash="c68c9d6c4def7daca0a0ae332dceaff3"/></dir><file name="Suggestionhelper.php" hash="93f3aa295761a510f782856c0180a799"/></dir><dir name="Model"><dir name="Api"><file name="Request.php" hash="dd34241f00c6bea36700f768a3feef6e"/></dir><dir name="Feed"><file name="Feedconfig.php" hash="013bd447dccc7cc4f073be5bd53a18c9"/><file name="Feedcreator.php" hash="34fafb9a24913a99606056f33728cf7d"/><file name="Feedfilter.php" hash="d7599a63a8d1f2033cb1e56204809c2d"/><file name="Formatter.php" hash="4c78f1f2eaa65a9a46f46d129f62f662"/></dir><file name="Feed.php" hash="ddac87d6a060bc77fb7718e7b19e1273"/><file name="Log.php" hash="27fcee49e67fe2be761b4af94aecff2b"/><file name="Observer.php" hash="2c332472ed4cd1ccea25bec705dbda06"/><dir name="Resource"><dir name="Mysql4"><file name="Setup.php" hash="6b660487988035cd715fa3c51b2b58b6"/></dir></dir><dir name="Translator"><file name="Category.php" hash="0050de4918d73af310008aa8f49239d1"/></dir><file name="Validate.php" hash="2d4619284f24309b77668f07cb1ef9f4"/><dir name="Writer"><file name="Abstract.php" hash="6b5153c0a09f8d4ee6fe4cedc5ec8a64"/><file name="Csv.php" hash="427fea44d988302f409e1860c18875b1"/></dir></dir><dir name="controllers"><dir name="Adminhtml"><file name="IndexController.php" hash="c4f80c214d11fd531496e71b4951b27f"/></dir><file name="ApiController.php" hash="a2b2e7a06995e54c35d99ca1dcc2041a"/><dir name="CatalogSearch"><file name="ResultController.php" hash="e740f44c0cef4aa83545f2278626e7de"/></dir><file name="ConfigController.php" hash="0fd9a9686806c26635c7db0a57a0f4ab"/><file name="IndexController.php" hash="7bfaa867dfa9bed0c7b0ebd634d2e2bb"/></dir><dir name="data"><dir name="expertrec_setup"><file name="data-install-1.2.3.php" hash="d37c3f0bbef3b8022be9f6e5e8e198a2"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="90e0a400e62e045883cb9624b69c3f78"/><file name="config.xml" hash="4b57cef3aef112a87befde4bcf909c2a"/></dir><dir name="sql"><dir name="expertrec_setup"><file name="mysql4-install-1.2.3.php" hash="348582c1a41e97e98a2e378cdc0791bf"/><file name="mysql4-upgrade-1.2.2-1.2.3.php" hash="cb328780d8de9e7994ca69847727262e"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Expertrec_Recommendation.xml" hash="c314465f907c89dfe912035be8d48e71"/></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><dir name="expertrec"><file name="recommendation.xml" hash="a1d166c3c3e665b476aaef69e0e6b792"/></dir></dir><dir name="template"><dir name="expertrec"><dir name="feed"><file name="info.phtml" hash="9b9289adce3d084cca152ef604db3482"/></dir><dir name="recommendation"><file name="tracker.phtml" hash="6e8219c5d1e46642d7915cedaa974313"/><dir name="tracking"><file name="product.phtml" hash="e02d3f870397cf351bc0ff7ca864c7e2"/></dir></dir><dir name="search"><file name="custom.phtml" hash="0f162aa949c00329e3697f0a71abc43d"/><file name="list.phtml" hash="cda3f434a1e70f1272f62bb9f0848726"/><file name="view.phtml" hash="ecb9a55f6128bef2f10d66528dc5424b"/></dir></dir></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><dir name="expertrec"><file name="recommendation.xml" hash="115d3023af9566c37e39d003a25e031a"/></dir></dir><dir name="template"><dir name="expertrec"><dir name="expertrec"><dir name="recommendation"><file name="notifications.phtml" hash="4f965be2e3ed310a8b4ce271ad064ee4"/></dir></dir><dir name="recommendation"><file name="notifications.phtml" hash="0aeaea93d36eb867dbf11d176e72cdc3"/></dir></dir></dir></dir></dir></dir></target></contents>
16
  <compatible/>
17
  <dependencies><required><php><min>5.3.0</min><max>6.0.0</max></php></required></dependencies>
18
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Expertrec_Recommendation</name>
4
+ <version>1.2.4</version>
5
  <stability>stable</stability>
6
  <license uri="http://opensource.org/licenses/osl-3.0.php">Open Software License (OSL)</license>
7
  <channel>community</channel>
10
  <description>Expertrec search extension helps you have complete control over your site search results. You will be able to add instant autocomplete, spell corrections that learn from the user behaviour on your site, and show product recommendations within the search user interface. It also adds search results pages with facets, sorting by different attributes.</description>
11
  <notes>Expertrec Recommendation plugin for magento sites.</notes>
12
  <authors><author><name>melchi</name><user>melchi</user><email>magento@cloudinfra.in</email></author><author><name>magento</name><user>magento</user><email>magento-team@cloudinfra.in</email></author></authors>
13
+ <date>2017-03-17</date>
14
+ <time>10:02:24</time>
15
+ <contents><target name="magecommunity"><dir name="Expertrec"><dir name="Recommendation"><dir name="Block"><file name="Api.php" hash="46ce038ecace7b3b35bea9bc05cac4e5"/></dir><dir name="Helper"><file name="Autocompletehelper.php" hash="7bd733d91f69091c1f6f5bb162467a43"/><file name="Data.php" hash="8a2760edc960d6a1bc72d80e73944cb3"/><file name="Filehelper.php" hash="5ac956e12548398dc159a16eb1a03e8b"/><dir name="Search"><file name="Layout.php" hash="c68c9d6c4def7daca0a0ae332dceaff3"/></dir><file name="Suggestionhelper.php" hash="93f3aa295761a510f782856c0180a799"/></dir><dir name="Model"><dir name="Api"><file name="Request.php" hash="dd34241f00c6bea36700f768a3feef6e"/></dir><dir name="Feed"><file name="Feedconfig.php" hash="013bd447dccc7cc4f073be5bd53a18c9"/><file name="Feedcreator.php" hash="34fafb9a24913a99606056f33728cf7d"/><file name="Feedfilter.php" hash="06e9f382b78385ffcebd289cccb2ff80"/><file name="Formatter.php" hash="316fe0f30af7ca946dffcc2f16a2193d"/></dir><file name="Feed.php" hash="ddac87d6a060bc77fb7718e7b19e1273"/><file name="Log.php" hash="27fcee49e67fe2be761b4af94aecff2b"/><file name="Observer.php" hash="636adabe6bc85f9f66c825f85525a6e2"/><dir name="Resource"><dir name="Mysql4"><file name="Setup.php" hash="6b660487988035cd715fa3c51b2b58b6"/></dir></dir><dir name="Translator"><file name="Category.php" hash="0050de4918d73af310008aa8f49239d1"/></dir><file name="Validate.php" hash="2d4619284f24309b77668f07cb1ef9f4"/><dir name="Writer"><file name="Abstract.php" hash="6b5153c0a09f8d4ee6fe4cedc5ec8a64"/><file name="Csv.php" hash="427fea44d988302f409e1860c18875b1"/></dir></dir><dir name="controllers"><dir name="Adminhtml"><file name="IndexController.php" hash="c4f80c214d11fd531496e71b4951b27f"/></dir><file name="ApiController.php" hash="b761c2b268e5df57274cc9b0a88a4f03"/><dir name="CatalogSearch"><file name="ResultController.php" hash="e740f44c0cef4aa83545f2278626e7de"/></dir><file name="ConfigController.php" hash="0fd9a9686806c26635c7db0a57a0f4ab"/><file name="IndexController.php" hash="7bfaa867dfa9bed0c7b0ebd634d2e2bb"/></dir><dir name="etc"><file name="adminhtml.xml" hash="90e0a400e62e045883cb9624b69c3f78"/><file name="config.xml" hash="0a277c19e91c0485d9b13f2fa5ab7eeb"/></dir><dir name="sql"><dir name="expertrec_setup"><file name="mysql4-install-1.2.4.php" hash="7094adc0b081c3380a18eccca15c782e"/><file name="mysql4-upgrade-1.2.3-1.2.4.php" hash="6c4747308f452e10665263a2f2db53fe"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Expertrec_Recommendation.xml" hash="c314465f907c89dfe912035be8d48e71"/></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><dir name="expertrec"><file name="recommendation.xml" hash="a1d166c3c3e665b476aaef69e0e6b792"/></dir></dir><dir name="template"><dir name="expertrec"><dir name="feed"><file name="info.phtml" hash="c6b3b1d748be73f2dbbc8608c8e79f5e"/></dir><dir name="recommendation"><file name="tracker.phtml" hash="6e8219c5d1e46642d7915cedaa974313"/><dir name="tracking"><file name="product.phtml" hash="e02d3f870397cf351bc0ff7ca864c7e2"/></dir></dir><dir name="search"><file name="custom.phtml" hash="0f162aa949c00329e3697f0a71abc43d"/><file name="list.phtml" hash="cda3f434a1e70f1272f62bb9f0848726"/><file name="view.phtml" hash="ecb9a55f6128bef2f10d66528dc5424b"/></dir></dir></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><dir name="expertrec"><file name="recommendation.xml" hash="115d3023af9566c37e39d003a25e031a"/></dir></dir><dir name="template"><dir name="expertrec"><dir name="expertrec"><dir name="recommendation"><file name="notifications.phtml" hash="4f965be2e3ed310a8b4ce271ad064ee4"/></dir></dir><dir name="recommendation"><file name="notifications.phtml" hash="0aeaea93d36eb867dbf11d176e72cdc3"/></dir></dir></dir></dir></dir></dir></target></contents>
16
  <compatible/>
17
  <dependencies><required><php><min>5.3.0</min><max>6.0.0</max></php></required></dependencies>
18
  </package>