Listrak_Remarketing - Version 1.1.3

Version Notes

Added support for cart recreation.
Added parent product id and sku to product list API method.
Fixed duplicate record issue in subscriber list API method.

Download this release

Release Info

Developer Magento Core Team
Extension Listrak_Remarketing
Version 1.1.3
Comparing to
See all releases


Code changes from version 1.1.2 to 1.1.3

app/code/community/Listrak/Remarketing/Model/Apiextension/Api.php CHANGED
@@ -6,24 +6,36 @@ class Listrak_Remarketing_Model_Apiextension_Api extends Mage_Api_Model_Resource
6
 
7
  public function products($storeId = 1, $perPage = 50, $page = 1) {
8
  $collection = Mage::getModel('catalog/product')->getCollection()
9
- ->addStoreFilter($storeId)
10
- ->addAttributeToSelect('*')
11
  ->addFieldToFilter('type_id', array('neq'=>'configurable'))
12
  ->setPageSize($perPage)
13
  ->setCurPage($page);
14
-
 
 
 
 
 
 
 
 
 
 
 
15
  $result = array();
16
  $productInfo = array('entity_id' => '', 'sku' => '', 'name' => '', 'price' => '',
17
  'special_price' => '', 'special_from_date' => '', 'special_to_date' => '',
18
  'cost' => '', 'description' => '', 'short_description' => '', 'weight' => '',
19
- 'url_key' => '', 'url_path' => '', 'image' => '', 'small_image' => '', 'thumbnail' => '');
 
20
 
21
- foreach ($collection as $product) {
22
- $item = array_intersect_key($product->toArray(), $productInfo);
23
- $result[] = $item;
24
- }
25
 
26
- return $result;
27
  }
28
 
29
  public function subscribers($storeId = 1, $startDate = NULL, $perPage = 50, $page = 1) {
@@ -62,9 +74,9 @@ class Listrak_Remarketing_Model_Apiextension_Api extends Mage_Api_Model_Resource
62
  public function customers($storeId = 1, $websiteId = 1, $perPage = 50, $page = 1) {
63
  $collection = Mage::getModel('customer/customer')->getCollection()
64
  ->addFieldToFilter('store_id',$storeId)
65
- ->addAttributeToSelect('*')
66
- ->setPageSize($perPage)
67
- ->setCurPage($page);
68
 
69
  $results = array();
70
  $fields = array('entity_id' => '', 'firstname' => '', 'lastname' => '', 'email' => '', 'website_id' => '', 'store_id' => '');
@@ -80,27 +92,27 @@ class Listrak_Remarketing_Model_Apiextension_Api extends Mage_Api_Model_Resource
80
  public function orderStatus($storeId = 1, $startDate = NULL, $endDate = NULL, $perPage = 50, $page = 1, $filters = NULL) {
81
  $collection = Mage::getModel("sales/order")->getCollection()
82
  ->addFieldToFilter('store_id', $storeId)
83
- ->addAttributeToSelect('increment_id')
84
  ->addAttributeToSelect('updated_at')
85
  ->addAttributeToSelect('status')
86
- ->addFieldToFilter('updated_at',array('from'=>$startDate, 'to'=>$endDate))
87
  ->addFieldToFilter('status', array('neq'=>'pending'))
88
- ->setPageSize($perPage)->setCurPage($page)
89
  ->setOrder('updated_at', 'ASC');
90
 
91
  if (is_array($filters)) {
92
- try {
93
- foreach ($filters as $field => $value) {
94
- if (isset($this->_attributesMap['order'][$field])) {
95
- $field = $this->_attributesMap['order'][$field];
96
- }
97
 
98
- $collection->addFieldToFilter($field, $value);
99
- }
100
- } catch (Mage_Core_Exception $e) {
101
- $this->_fault('filters_invalid', $e->getMessage());
102
- }
103
- }
104
 
105
  $results = array();
106
 
@@ -121,9 +133,9 @@ class Listrak_Remarketing_Model_Apiextension_Api extends Mage_Api_Model_Resource
121
  }
122
 
123
  $collection = Mage::getModel("sales/order")->getCollection()
124
- ->addAttributeToSelect('increment_id')
125
- ->addFieldToFilter('created_at',array('from'=>$startDate, 'to'=>$endDate))
126
- ->setPageSize($perPage)->setCurPage($page)
127
  ->addFieldToFilter('store_id', $storeId)
128
  ->setOrder('created_at', 'ASC');
129
 
@@ -155,7 +167,7 @@ class Listrak_Remarketing_Model_Apiextension_Api extends Mage_Api_Model_Resource
155
  $results[] = $res;
156
  }
157
 
158
- return $results;
159
  }
160
 
161
  public function info() {
@@ -170,7 +182,7 @@ class Listrak_Remarketing_Model_Apiextension_Api extends Mage_Api_Model_Resource
170
  get_class($productModel) .','. get_class($productModel->getCollection());
171
 
172
  $ra = Mage::getSingleton('core/resource')->getConnection('core_read');
173
- $numSessions = $ra->fetchRow("select count(*) as c from " . Mage::getModel("listrak/session")->getResource()->getTable("listrak/session"));
174
  $numSubUpdates = $ra->fetchRow("select count(*) as c from " . Mage::getModel("listrak/subscriberupdate")->getResource()->getTable("listrak/subscriber_update"));
175
  $numClicks = $ra->fetchRow("select count(*) as c from " . Mage::getModel("listrak/click")->getResource()->getTable("listrak/click"));
176
 
6
 
7
  public function products($storeId = 1, $perPage = 50, $page = 1) {
8
  $collection = Mage::getModel('catalog/product')->getCollection()
9
+ ->addStoreFilter($storeId)
10
+ ->addAttributeToSelect('*')
11
  ->addFieldToFilter('type_id', array('neq'=>'configurable'))
12
  ->setPageSize($perPage)
13
  ->setCurPage($page);
14
+
15
+ $subquery = Mage::getSingleton('core/resource')
16
+ ->getConnection('core_read')
17
+ ->select()
18
+ ->from($collection->getTable('catalog/product_super_link'), array('product_id', 'parent_id'))
19
+ ->group('product_id')
20
+ ->having('COUNT(*) = 1');
21
+
22
+ $collection->getSelect()
23
+ ->joinLeft( array('psl'=>$subquery), 'e.entity_id = psl.product_id', array())
24
+ ->joinLeft( array('pp'=>$collection->getTable('catalog/product')), 'psl.parent_id = pp.entity_id', array('parent_id' => 'pp.entity_id', 'parent_sku' => 'pp.sku'));
25
+
26
  $result = array();
27
  $productInfo = array('entity_id' => '', 'sku' => '', 'name' => '', 'price' => '',
28
  'special_price' => '', 'special_from_date' => '', 'special_to_date' => '',
29
  'cost' => '', 'description' => '', 'short_description' => '', 'weight' => '',
30
+ 'url_key' => '', 'url_path' => '', 'image' => '', 'small_image' => '', 'thumbnail' => '',
31
+ 'parent_id' => '', 'parent_sku' => '');
32
 
33
+ foreach ($collection as $product) {
34
+ $item = array_intersect_key($product->toArray(), $productInfo);
35
+ $result[] = $item;
36
+ }
37
 
38
+ return $result;
39
  }
40
 
41
  public function subscribers($storeId = 1, $startDate = NULL, $perPage = 50, $page = 1) {
74
  public function customers($storeId = 1, $websiteId = 1, $perPage = 50, $page = 1) {
75
  $collection = Mage::getModel('customer/customer')->getCollection()
76
  ->addFieldToFilter('store_id',$storeId)
77
+ ->addAttributeToSelect('*')
78
+ ->setPageSize($perPage)
79
+ ->setCurPage($page);
80
 
81
  $results = array();
82
  $fields = array('entity_id' => '', 'firstname' => '', 'lastname' => '', 'email' => '', 'website_id' => '', 'store_id' => '');
92
  public function orderStatus($storeId = 1, $startDate = NULL, $endDate = NULL, $perPage = 50, $page = 1, $filters = NULL) {
93
  $collection = Mage::getModel("sales/order")->getCollection()
94
  ->addFieldToFilter('store_id', $storeId)
95
+ ->addAttributeToSelect('increment_id')
96
  ->addAttributeToSelect('updated_at')
97
  ->addAttributeToSelect('status')
98
+ ->addFieldToFilter('updated_at',array('from'=>$startDate, 'to'=>$endDate))
99
  ->addFieldToFilter('status', array('neq'=>'pending'))
100
+ ->setPageSize($perPage)->setCurPage($page)
101
  ->setOrder('updated_at', 'ASC');
102
 
103
  if (is_array($filters)) {
104
+ try {
105
+ foreach ($filters as $field => $value) {
106
+ if (isset($this->_attributesMap['order'][$field])) {
107
+ $field = $this->_attributesMap['order'][$field];
108
+ }
109
 
110
+ $collection->addFieldToFilter($field, $value);
111
+ }
112
+ } catch (Mage_Core_Exception $e) {
113
+ $this->_fault('filters_invalid', $e->getMessage());
114
+ }
115
+ }
116
 
117
  $results = array();
118
 
133
  }
134
 
135
  $collection = Mage::getModel("sales/order")->getCollection()
136
+ ->addAttributeToSelect('increment_id')
137
+ ->addFieldToFilter('created_at',array('from'=>$startDate, 'to'=>$endDate))
138
+ ->setPageSize($perPage)->setCurPage($page)
139
  ->addFieldToFilter('store_id', $storeId)
140
  ->setOrder('created_at', 'ASC');
141
 
167
  $results[] = $res;
168
  }
169
 
170
+ return $results;
171
  }
172
 
173
  public function info() {
182
  get_class($productModel) .','. get_class($productModel->getCollection());
183
 
184
  $ra = Mage::getSingleton('core/resource')->getConnection('core_read');
185
+ $numSessions = $ra->fetchRow("select count(*) as c from " . Mage::getModel("listrak/session")->getResource()->getTable("listrak/session"));
186
  $numSubUpdates = $ra->fetchRow("select count(*) as c from " . Mage::getModel("listrak/subscriberupdate")->getResource()->getTable("listrak/subscriber_update"));
187
  $numClicks = $ra->fetchRow("select count(*) as c from " . Mage::getModel("listrak/click")->getResource()->getTable("listrak/click"));
188
 
app/code/community/Listrak/Remarketing/Model/Mysql4/Apiextension.php CHANGED
@@ -4,16 +4,16 @@
4
 
5
  class Listrak_Remarketing_Model_Mysql4_Apiextension extends Mage_Core_Model_Mysql4_Abstract {
6
 
7
- protected $_read;
8
 
9
- protected $_write;
10
 
11
  protected function _construct()
12
- {
13
- $this->_init('listrak/session', 'id');
14
  $this->_read = $this->_getReadAdapter();
15
- $this->_write = $this->_getWriteAdapter();
16
- }
17
 
18
  public function subscribers($storeId = 1, $startDate = NULL, $perPage = 50, $page = 1) {
19
 
@@ -23,10 +23,11 @@ class Listrak_Remarketing_Model_Mysql4_Apiextension extends Mage_Core_Model_Mysq
23
  ->setCurPage($page);
24
 
25
  $collection->getSelect()
26
- ->join(array('su'=>$collection->getTable('listrak/subscriber_update')),
27
  'main_table.subscriber_id = su.subscriber_id',
28
  array())
29
- ->where('su.updated_at > ?', $startDate);
 
30
 
31
  $collection->setOrder('su.updated_at', 'ASC');
32
 
4
 
5
  class Listrak_Remarketing_Model_Mysql4_Apiextension extends Mage_Core_Model_Mysql4_Abstract {
6
 
7
+ protected $_read;
8
 
9
+ protected $_write;
10
 
11
  protected function _construct()
12
+ {
13
+ $this->_init('listrak/session', 'id');
14
  $this->_read = $this->_getReadAdapter();
15
+ $this->_write = $this->_getWriteAdapter();
16
+ }
17
 
18
  public function subscribers($storeId = 1, $startDate = NULL, $perPage = 50, $page = 1) {
19
 
23
  ->setCurPage($page);
24
 
25
  $collection->getSelect()
26
+ ->join(array('su'=>$collection->getTable('listrak/subscriber_update')),
27
  'main_table.subscriber_id = su.subscriber_id',
28
  array())
29
+ ->where('su.updated_at > ?', $startDate)
30
+ ->distinct();
31
 
32
  $collection->setOrder('su.updated_at', 'ASC');
33
 
app/code/community/Listrak/Remarketing/Model/Observer.php CHANGED
@@ -4,22 +4,13 @@
4
 
5
  class Listrak_Remarketing_Model_Observer {
6
 
7
- public function checkForClick($observer) {
8
- try {
9
- $click = Mage::getModel('listrak/click');
10
- $click->checkForClick();
11
- }
12
- catch(Exception $ex) {
13
- Mage::getModel("listrak/log")->addException($ex);
14
- }
15
-
16
- return $this;
17
- }
18
-
19
  public function sessionInit($observer) {
20
  try {
21
  $session = Mage::getSingleton('listrak/session');
22
- $session->init();
 
 
 
23
  }
24
  catch(Exception $ex) {
25
  Mage::getModel("listrak/log")->addException($ex);
4
 
5
  class Listrak_Remarketing_Model_Observer {
6
 
 
 
 
 
 
 
 
 
 
 
 
 
7
  public function sessionInit($observer) {
8
  try {
9
  $session = Mage::getSingleton('listrak/session');
10
+ $session->init(true);
11
+
12
+ $click = Mage::getModel('listrak/click');
13
+ $click->checkForClick();
14
  }
15
  catch(Exception $ex) {
16
  Mage::getModel("listrak/log")->addException($ex);
app/code/community/Listrak/Remarketing/Model/Session.php CHANGED
@@ -10,7 +10,7 @@ class Listrak_Remarketing_Model_Session extends Mage_Core_Model_Abstract {
10
  $this->_init('listrak/session');
11
  }
12
 
13
- public function init() {
14
  $ltksid = Mage::getModel('core/cookie')->get('ltksid');
15
  $piid = Mage::getModel('core/cookie')->get('personalmerchant');
16
  $cust_session = Mage::getSingleton("customer/session");
@@ -31,6 +31,9 @@ class Listrak_Remarketing_Model_Session extends Mage_Core_Model_Abstract {
31
  }
32
 
33
  if(!$this->getId()) {
 
 
 
34
  $this->setSessionId(Mage::helper('remarketing')->gen_uuid());
35
  $this->setCreatedAt(gmdate('Y-m-d H:i:s'));
36
  $this->setIsNew(true);
10
  $this->_init('listrak/session');
11
  }
12
 
13
+ public function init($createOnlyIfCartHasItems = false) {
14
  $ltksid = Mage::getModel('core/cookie')->get('ltksid');
15
  $piid = Mage::getModel('core/cookie')->get('personalmerchant');
16
  $cust_session = Mage::getSingleton("customer/session");
31
  }
32
 
33
  if(!$this->getId()) {
34
+ if ($createOnlyIfCartHasItems && Mage::helper('checkout/cart')->getItemsCount() < 1) {
35
+ return null;
36
+ }
37
  $this->setSessionId(Mage::helper('remarketing')->gen_uuid());
38
  $this->setCreatedAt(gmdate('Y-m-d H:i:s'));
39
  $this->setIsNew(true);
app/code/community/Listrak/Remarketing/controllers/CartController.php ADDED
@@ -0,0 +1,68 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ // Listrak Remarketing Magento Extension Ver. 1.0.0
3
+ // © 2011 Listrak, Inc.
4
+
5
+ class Listrak_Remarketing_CartController extends Mage_Core_Controller_Front_Action
6
+ {
7
+ public function indexAction() {
8
+ return $this;
9
+ }
10
+
11
+ public function reloadAction() {
12
+ $session = Mage::getSingleton('core/session');
13
+ $checkout = Mage::getSingleton('checkout/session');
14
+ $cust = Mage::getSingleton('customer/session');
15
+ $ltksid = $this->getRequest()->getParam('ltksid');
16
+ $ltksession = Mage::getModel("listrak/session");
17
+ $ltksidcookie = Mage::getModel('core/cookie')->get('ltksid');
18
+ $chkQuote = Mage::helper('checkout/cart')->getQuote();
19
+
20
+ try {
21
+ if(!$ltksid) {
22
+ return $this->redirect();
23
+ }
24
+
25
+ if(!empty($ltksidcookie) && $ltksidcookie == $ltksid && $chkQuote && $chkQuote->getId()) {
26
+ return $this->redirect();
27
+ }
28
+
29
+ $ltksession->setSessionId($ltksid);
30
+ $ltksession->getResource()->loadBySessionId($ltksession);
31
+
32
+ if(!$ltksession->getId() || !$ltksession->getQuoteId()) {
33
+ return $this->redirect();
34
+ }
35
+
36
+ if($cust && $cust->isLoggedIn()) {
37
+ if($cust->getId() === $ltksession->getCustomerId()) {
38
+ return $this->redirect();
39
+ }
40
+ }
41
+
42
+ $quote = Mage::getModel('sales/quote')->load($ltksession->getQuoteId());
43
+
44
+ if($quote->getId() && $quote->getIsActive()) {
45
+ $checkout->setQuoteId($ltksession->getQuoteId());
46
+ }
47
+ }
48
+ catch(Exception $ex) {
49
+ Mage::getModel("listrak/log")->addException($ex);
50
+ }
51
+
52
+ return $this->redirect();
53
+ }
54
+
55
+ private function redirect() {
56
+ $qs = $this->getRequest()->getParams();
57
+ unset($qs["redirectUrl"]);
58
+ unset($qs["ltksid"]);
59
+ $qs["_secure"] = Mage::app()->getStore()->isCurrentlySecure();
60
+
61
+ if(!$this->getRequest()->getParam('redirectUrl')) {
62
+ return $this->_redirect('checkout/cart/', $qs);
63
+ }
64
+
65
+ return $this->_redirect($this->getRequest()->getParam('redirectUrl'), $qs);
66
+ }
67
+ }
68
+
app/code/community/Listrak/Remarketing/controllers/EmailController.php CHANGED
@@ -1,35 +1,51 @@
1
- <?php
2
- // Listrak Remarketing Magento Extension Ver. 1.0.0
3
- // © 2011 Listrak, Inc.
4
-
5
- class Listrak_Remarketing_EmailController extends Mage_Core_Controller_Front_Action
6
- {
7
- public function indexAction() {
8
- try {
9
- $email = $this->getRequest()->getParam('email');
10
-
11
- if(!Zend_Validate::is($email, 'EmailAddress')) {
12
- die("");
13
- }
14
-
15
- $emailcaptureId = $this->getRequest()->getParam('cid');
16
- $session = Mage::getSingleton('listrak/session')->init();
17
-
18
- $emailcapture = Mage::getModel('listrak/emailcapture')->load($emailcaptureId);
19
-
20
- if($emailcapture->getId()) {
21
- $session->getResource()->insertEmail($session, $email, $emailcaptureId);
22
-
23
- $result = array('status' => true);
24
- } else {
25
- $result = array('status' => false);
26
- }
27
-
28
- header('Content-type: application/json');
29
- die(json_encode($result));
30
- } catch (Exception $e) {
31
- Mage::getModel("listrak/log")->addException($e);
32
- die("");
33
- }
34
- }
35
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ // Listrak Remarketing Magento Extension Ver. 1.0.0
3
+ // © 2011 Listrak, Inc.
4
+
5
+ class Listrak_Remarketing_EmailController extends Mage_Core_Controller_Front_Action
6
+ {
7
+ public function indexAction() {
8
+ try {
9
+ $email = $this->getRequest()->getParam('email');
10
+
11
+ if(!Zend_Validate::is($email, 'EmailAddress')) {
12
+ die("");
13
+ }
14
+
15
+ $emailcaptureId = $this->getRequest()->getParam('cid');
16
+ $session = Mage::getSingleton('listrak/session')->init();
17
+
18
+ $emailcapture = Mage::getModel('listrak/emailcapture')->load($emailcaptureId);
19
+
20
+ if($emailcapture->getId()) {
21
+ $session->getResource()->insertEmail($session, $email, $emailcaptureId);
22
+
23
+ $result = array('status' => true);
24
+ } else {
25
+ $result = array('status' => false);
26
+ }
27
+
28
+ header('Content-type: application/json');
29
+ die(json_encode($result));
30
+ } catch (Exception $e) {
31
+ Mage::getModel("listrak/log")->addException($e);
32
+ die("");
33
+ }
34
+ }
35
+
36
+ public function fsidAction() {
37
+ $email = $this->getRequest()->getParam('email');
38
+
39
+ if(!Zend_Validate::is($email, 'EmailAddress')) {
40
+ die("invalid");
41
+ }
42
+
43
+ $emailcaptureId = $this->getRequest()->getParam('cid');
44
+ $session = Mage::getModel('listrak/session');
45
+ $session->setSessionId($this->getRequest()->getParam('ltksid'));
46
+ $session->getResource()->loadBySessionId($session);
47
+ $session->getResource()->insertEmail($session, $email, $emailcaptureId);
48
+
49
+ die(json_encode(array('status' => true)));
50
+ }
51
+ }
app/code/community/Listrak/Remarketing/etc/config.xml CHANGED
@@ -1,182 +1,173 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <!--
3
- /**
4
- * Listrak Remarketing Magento Extension Ver. 1.0.0 - © 2011 Listrak, Inc.
5
- */
6
- -->
7
- <config>
8
- <modules>
9
- <Listrak_Remarketing>
10
- <version>1.1.2</version>
11
- </Listrak_Remarketing>
12
- </modules>
13
- <frontend>
14
- <routers>
15
- <listrak_remarketing>
16
- <use>standard</use>
17
- <args>
18
- <module>Listrak_Remarketing</module>
19
- <frontName>remarketing</frontName>
20
- </args>
21
- </listrak_remarketing>
22
- </routers>
23
- <layout>
24
- <updates>
25
- <remarketing>
26
- <file>remarketing.xml</file>
27
- </remarketing>
28
- </updates>
29
- </layout>
30
- <events>
31
- <controller_action_layout_render_before>
32
- <observers>
33
- <listrak_remarketing_observer>
34
- <type>singleton</type>
35
- <class>Listrak_Remarketing_Model_Observer</class>
36
- <method>checkForClick</method>
37
- </listrak_remarketing_observer>
38
- </observers>
39
- </controller_action_layout_render_before>
40
- <checkout_cart_add_product_complete>
41
- <observers>
42
- <listrak_remarketing_observer>
43
- <type>singleton</type>
44
- <class>Listrak_Remarketing_Model_Observer</class>
45
- <method>sessionInit</method>
46
- </listrak_remarketing_observer>
47
- </observers>
48
- </checkout_cart_add_product_complete>
49
- <sales_order_place_after>
50
- <observers>
51
- <listrak_remarketing_observer>
52
- <type>singleton</type>
53
- <class>Listrak_Remarketing_Model_Observer</class>
54
- <method>orderPlaced</method>
55
- </listrak_remarketing_observer>
56
- </observers>
57
- </sales_order_place_after>
58
- <newsletter_subscriber_save_after>
59
- <observers>
60
- <listrak_remarketing_observer>
61
- <type>singleton</type>
62
- <class>Listrak_Remarketing_Model_Observer</class>
63
- <method>subscriberSaved</method>
64
- </listrak_remarketing_observer>
65
- </observers>
66
- </newsletter_subscriber_save_after>
67
- </events>
68
- </frontend>
69
- <global>
70
- <models>
71
- <listrak>
72
- <class>Listrak_Remarketing_Model</class>
73
- <resourceModel>listrak_mysql4</resourceModel>
74
- </listrak>
75
- <listrak_mysql4>
76
- <class>Listrak_Remarketing_Model_Mysql4</class>
77
- <entities>
78
- <click>
79
- <table>listrak_remarketing_click</table>
80
- </click>
81
- <log>
82
- <table>listrak_remarketing_log</table>
83
- </log>
84
- <session>
85
- <table>listrak_remarketing_session</table>
86
- </session>
87
- <session_email>
88
- <table>listrak_remarketing_session_email</table>
89
- </session_email>
90
- <emailcapture>
91
- <table>listrak_remarketing_emailcapture</table>
92
- </emailcapture>
93
- <subscriber_update>
94
- <table>listrak_remarketing_subscriber_update</table>
95
- </subscriber_update>
96
- </entities>
97
- </listrak_mysql4>
98
- <newsletter>
99
- <rewrite>
100
- <subscriber>Listrak_Remarketing_Model_Subscriber</subscriber>
101
- </rewrite>
102
- </newsletter>
103
- </models>
104
- <resources>
105
- <listrak_remarketing_setup>
106
- <setup>
107
- <module>Listrak_Remarketing</module>
108
- </setup>
109
- <connection>
110
- <use>core_setup</use>
111
- </connection>
112
- </listrak_remarketing_setup>
113
- <listrak_write>
114
- <connection>
115
- <use>core_write</use>
116
- </connection>
117
- </listrak_write>
118
- <listrak_read>
119
- <connection>
120
- <use>core_read</use>
121
- </connection>
122
- </listrak_read>
123
- </resources>
124
- <helpers>
125
- <remarketing>
126
- <class>Listrak_Remarketing_Helper</class>
127
- </remarketing>
128
- </helpers>
129
- <blocks>
130
- <remarketing>
131
- <class>Listrak_Remarketing_Block</class>
132
- </remarketing>
133
- </blocks>
134
- </global>
135
- <admin>
136
- <routers>
137
- <remarketing>
138
- <use>admin</use>
139
- <args>
140
- <module>Listrak_Remarketing</module>
141
- <frontName>remarketing</frontName>
142
- </args>
143
- </remarketing>
144
- </routers>
145
- </admin>
146
- <adminhtml>
147
- <layout>
148
- <updates>
149
- <remarketing>
150
- <file>remarketing.xml</file>
151
- </remarketing>
152
- </updates>
153
- </layout>
154
- <events>
155
- <admin_user_load_before>
156
- <observers>
157
- <listrak_remarketing_observer>
158
- <type>singleton</type>
159
- <class>Listrak_Remarketing_Model_Observer</class>
160
- <method>adminPageLoad</method>
161
- </listrak_remarketing_observer>
162
- </observers>
163
- </admin_user_load_before>
164
- </events>
165
- </adminhtml>
166
- <default>
167
- <remarketing>
168
- <subscription>
169
- <signup_success_email>0</signup_success_email>
170
- <unsubscribe_email>0</unsubscribe_email>
171
- </subscription>
172
- <abandonedcarts>
173
- <abandoned_cart_report_timeout>60</abandoned_cart_report_timeout>
174
- </abandonedcarts>
175
- <modal>
176
- <enabled>0</enabled>
177
- <listrakMerchantID></listrakMerchantID>
178
- <scriptLocation>s1.listrakbi.com/scripts/script.js</scriptLocation>
179
- </modal>
180
- </remarketing>
181
- </default>
182
  </config>
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!--
3
+ /**
4
+ * Listrak Remarketing Magento Extension Ver. 1.0.0 - © 2011 Listrak, Inc.
5
+ */
6
+ -->
7
+ <config>
8
+ <modules>
9
+ <Listrak_Remarketing>
10
+ <version>1.1.3</version>
11
+ </Listrak_Remarketing>
12
+ </modules>
13
+ <frontend>
14
+ <routers>
15
+ <listrak_remarketing>
16
+ <use>standard</use>
17
+ <args>
18
+ <module>Listrak_Remarketing</module>
19
+ <frontName>remarketing</frontName>
20
+ </args>
21
+ </listrak_remarketing>
22
+ </routers>
23
+ <layout>
24
+ <updates>
25
+ <remarketing>
26
+ <file>remarketing.xml</file>
27
+ </remarketing>
28
+ </updates>
29
+ </layout>
30
+ <events>
31
+ <controller_action_layout_render_before>
32
+ <observers>
33
+ <listrak_remarketing_observer>
34
+ <type>singleton</type>
35
+ <class>Listrak_Remarketing_Model_Observer</class>
36
+ <method>sessionInit</method>
37
+ </listrak_remarketing_observer>
38
+ </observers>
39
+ </controller_action_layout_render_before>
40
+ <sales_order_place_after>
41
+ <observers>
42
+ <listrak_remarketing_observer>
43
+ <type>singleton</type>
44
+ <class>Listrak_Remarketing_Model_Observer</class>
45
+ <method>orderPlaced</method>
46
+ </listrak_remarketing_observer>
47
+ </observers>
48
+ </sales_order_place_after>
49
+ <newsletter_subscriber_save_after>
50
+ <observers>
51
+ <listrak_remarketing_observer>
52
+ <type>singleton</type>
53
+ <class>Listrak_Remarketing_Model_Observer</class>
54
+ <method>subscriberSaved</method>
55
+ </listrak_remarketing_observer>
56
+ </observers>
57
+ </newsletter_subscriber_save_after>
58
+ </events>
59
+ </frontend>
60
+ <global>
61
+ <models>
62
+ <listrak>
63
+ <class>Listrak_Remarketing_Model</class>
64
+ <resourceModel>listrak_mysql4</resourceModel>
65
+ </listrak>
66
+ <listrak_mysql4>
67
+ <class>Listrak_Remarketing_Model_Mysql4</class>
68
+ <entities>
69
+ <click>
70
+ <table>listrak_remarketing_click</table>
71
+ </click>
72
+ <log>
73
+ <table>listrak_remarketing_log</table>
74
+ </log>
75
+ <session>
76
+ <table>listrak_remarketing_session</table>
77
+ </session>
78
+ <session_email>
79
+ <table>listrak_remarketing_session_email</table>
80
+ </session_email>
81
+ <emailcapture>
82
+ <table>listrak_remarketing_emailcapture</table>
83
+ </emailcapture>
84
+ <subscriber_update>
85
+ <table>listrak_remarketing_subscriber_update</table>
86
+ </subscriber_update>
87
+ </entities>
88
+ </listrak_mysql4>
89
+ <newsletter>
90
+ <rewrite>
91
+ <subscriber>Listrak_Remarketing_Model_Subscriber</subscriber>
92
+ </rewrite>
93
+ </newsletter>
94
+ </models>
95
+ <resources>
96
+ <listrak_remarketing_setup>
97
+ <setup>
98
+ <module>Listrak_Remarketing</module>
99
+ </setup>
100
+ <connection>
101
+ <use>core_setup</use>
102
+ </connection>
103
+ </listrak_remarketing_setup>
104
+ <listrak_write>
105
+ <connection>
106
+ <use>core_write</use>
107
+ </connection>
108
+ </listrak_write>
109
+ <listrak_read>
110
+ <connection>
111
+ <use>core_read</use>
112
+ </connection>
113
+ </listrak_read>
114
+ </resources>
115
+ <helpers>
116
+ <remarketing>
117
+ <class>Listrak_Remarketing_Helper</class>
118
+ </remarketing>
119
+ </helpers>
120
+ <blocks>
121
+ <remarketing>
122
+ <class>Listrak_Remarketing_Block</class>
123
+ </remarketing>
124
+ </blocks>
125
+ </global>
126
+ <admin>
127
+ <routers>
128
+ <remarketing>
129
+ <use>admin</use>
130
+ <args>
131
+ <module>Listrak_Remarketing</module>
132
+ <frontName>remarketing</frontName>
133
+ </args>
134
+ </remarketing>
135
+ </routers>
136
+ </admin>
137
+ <adminhtml>
138
+ <layout>
139
+ <updates>
140
+ <remarketing>
141
+ <file>remarketing.xml</file>
142
+ </remarketing>
143
+ </updates>
144
+ </layout>
145
+ <events>
146
+ <admin_user_load_before>
147
+ <observers>
148
+ <listrak_remarketing_observer>
149
+ <type>singleton</type>
150
+ <class>Listrak_Remarketing_Model_Observer</class>
151
+ <method>adminPageLoad</method>
152
+ </listrak_remarketing_observer>
153
+ </observers>
154
+ </admin_user_load_before>
155
+ </events>
156
+ </adminhtml>
157
+ <default>
158
+ <remarketing>
159
+ <subscription>
160
+ <signup_success_email>0</signup_success_email>
161
+ <unsubscribe_email>0</unsubscribe_email>
162
+ </subscription>
163
+ <abandonedcarts>
164
+ <abandoned_cart_report_timeout>60</abandoned_cart_report_timeout>
165
+ </abandonedcarts>
166
+ <modal>
167
+ <enabled>0</enabled>
168
+ <listrakMerchantID></listrakMerchantID>
169
+ <scriptLocation>s1.listrakbi.com/scripts/script.js</scriptLocation>
170
+ </modal>
171
+ </remarketing>
172
+ </default>
 
 
 
 
 
 
 
 
 
173
  </config>
app/code/community/Listrak/Remarketing/etc/wsdl.xml CHANGED
@@ -112,6 +112,8 @@
112
  <element name="small_image" type="xsd:string" minOccurs="0"/>
113
  <element name="thumbnail" type="xsd:string" minOccurs="0"/>
114
  <element name="qty" type="xsd:string" minOccurs="0"/>
 
 
115
  </all>
116
  </complexType>
117
  <complexType name="ArrayOfListrakRemarketingProduct">
112
  <element name="small_image" type="xsd:string" minOccurs="0"/>
113
  <element name="thumbnail" type="xsd:string" minOccurs="0"/>
114
  <element name="qty" type="xsd:string" minOccurs="0"/>
115
+ <element name="parent_id" type="xsd:string" minOccurs="0"/>
116
+ <element name="parent_sku" type="xsd:string" minOccurs="0"/>
117
  </all>
118
  </complexType>
119
  <complexType name="ArrayOfListrakRemarketingProduct">
app/design/frontend/base/default/layout/remarketing.xml CHANGED
@@ -1,12 +1,12 @@
1
  <?xml version="1.0"?>
2
  <!--
3
- /**
4
- * Listrak Remarketing Magento Extension Ver. 1.0.0 - © 2011 Listrak, Inc.
5
- */
6
  -->
7
  <layout>
8
  <default>
9
- <reference name="after_body_start">
10
  <block type="remarketing/ecjs" name="remarketing_ecjs" as="remarketing_ecjs" />
11
  <block type="remarketing/modal" name="remarketing_modal" as="remarketing_modal" />
12
  </reference>
1
  <?xml version="1.0"?>
2
  <!--
3
+ /**
4
+ * Listrak Remarketing Magento Extension Ver. 1.0.0 - © 2011 Listrak, Inc.
5
+ */
6
  -->
7
  <layout>
8
  <default>
9
+ <reference name="before_body_end">
10
  <block type="remarketing/ecjs" name="remarketing_ecjs" as="remarketing_ecjs" />
11
  <block type="remarketing/modal" name="remarketing_modal" as="remarketing_modal" />
12
  </reference>
package.xml CHANGED
@@ -1,25 +1,58 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Listrak_Remarketing</name>
4
- <version>1.1.2</version>
5
  <stability>stable</stability>
6
  <license uri="http://s1.listrakbi.com/licenses/magento.txt">Listrak EULA</license>
7
  <channel>community</channel>
8
  <extends/>
9
- <summary>This extension allows you to connect your Listrak account to your Magento store by exposing customer, product and order history. Using this data, merchants will be able to build targeted email campaigns for maximum ROI.</summary>
10
- <description>Listrak Remarketing has the following features:&#xD;
11
- - Tracking of shopper sessions to identify various activities&#xD;
12
- - Capture of email address at any point on your Magento store&#xD;
13
- - View a report of abandoned carts in Magento control panel&#xD;
14
- - Creates API methods for data analysis by Listrak&#xD;
15
- - Ability to disable Magento newsletter welcome messages&#xD;
16
- - Tracks clicks from Listrak emails for conversion reporting&#xD;
17
- - Synchronizes Magento newsletter subscriptions with your Listrak account</description>
18
- <notes>Modified session management/retention to reduce impact on high traffic sites.</notes>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
19
  <authors><author><name>Listrak</name><user>auto-converted</user><email>magento@listrak.com</email></author></authors>
20
- <date>2012-07-23</date>
21
- <time>20:29:48</time>
22
- <contents><target name="magecommunity"><dir name="Listrak"><dir name="Remarketing"><dir name="Block"><dir name="Adminhtml"><dir name="Abandonedcartreport"><file name="Grid.php" hash="6c9975250ee0d3318fe1a996e19b554f"/></dir><dir name="Emailcapture"><dir name="Edit"><dir name="Tab"><file name="Form.php" hash="d1b495e77fd135af95457ee7c3f1f21c"/></dir><file name="Form.php" hash="dae25c78913b35bb3ad64da797cd82b4"/><file name="Tabs.php" hash="b7c89cd1e1fae23ed52079c6d63ef4ee"/></dir><file name="Edit.php" hash="6a06c2b0dfb5a0414a642bc0cd3b5461"/><file name="Grid.php" hash="9eca43e603861ce2f24ec21a4d3a5064"/></dir><file name="Abandonedcartreport.php" hash="5c348aeec1c636b39ac037b5abc1875a"/><file name="Emailcapture.php" hash="accf0689467c5446e7605cad41e427b0"/><file name="Notifications.php" hash="dec4ef3882d5d11d738576787d05ec61"/></dir><file name="Ecjs.php" hash="1435cf65a3c33850e630364baa87a96e"/><file name="Modal.php" hash="579ffec41876558845b0dae7fce696a5"/></dir><dir name="Helper"><file name="Data.php" hash="bd33bd2e7c3b6cf34cc28499a1f2eb7f"/></dir><dir name="Model"><dir name="Abandonedcart"><dir name="Api"><file name="V2.php" hash="c7b46e1feab677e41f4f9a3914e415fb"/></dir><file name="Api.php" hash="1c0dd08efa63480eb08ff1bc5c1e2765"/></dir><dir name="Apiextension"><dir name="Api"><file name="V2.php" hash="ff5a5f68d92c8a790bb00282c30c1378"/></dir><file name="Api.php" hash="2e89fc5ae21b95aa584d3f5e4f47184e"/></dir><dir name="Click"><dir name="Api"><file name="V2.php" hash="510ae6b8032ff54b5f43d94f447f35e2"/></dir><file name="Api.php" hash="b22605c25dd1336188a62fbbecc177bf"/></dir><dir name="Log"><dir name="Api"><file name="V2.php" hash="ace9ca737ebefd47205886fdef504a05"/></dir><file name="Api.php" hash="2a2a52b419cb90c0648209964b961287"/></dir><dir name="Mysql4"><dir name="Abandonedcart"><file name="Collection.php" hash="fed7e7d3b7dc74b42f21c9599f06b872"/></dir><dir name="Click"><file name="Collection.php" hash="dac93dbb083339bb047d296868cdb597"/></dir><dir name="Emailcapture"><file name="Collection.php" hash="4dbc86c599e6a390e1f8bde7752f09c2"/></dir><dir name="Log"><file name="Collection.php" hash="1765ae33eb74e9593d8266702cfe4160"/></dir><dir name="Session"><file name="Collection.php" hash="c095fdf0c54184df63ff6dd8636d779e"/></dir><dir name="Subscriberupdate"><file name="Collection.php" hash="1fd68314a80e93f416815273f29bf9f5"/></dir><file name="Abandonedcart.php" hash="1b09f8922a31433dfc83bfbeb93fbe88"/><file name="Apiextension.php" hash="4bbee7324ff4e6e4ca70587b023da6a0"/><file name="Click.php" hash="baabaf95e4d4f7f3fb1a2ac1c1965984"/><file name="Emailcapture.php" hash="b68ee210c3bcec8f2fccef7979b022b7"/><file name="Log.php" hash="e244d19b857ee9d03a7955a30d3f6cf3"/><file name="Session.php" hash="454a2c56529a0db4db3a5b8473952f78"/><file name="Subscriberupdate.php" hash="4957865b4aa8bbdda3a50484d7e49880"/></dir><file name="Abandonedcart.php" hash="2bd672054843917133e3ac7d941be42c"/><file name="Apiextension.php" hash="1a5964f749523d74c648d6609673fb08"/><file name="Click.php" hash="e4b390e9a6a45dcbc6191bcf0f4f0729"/><file name="Emailcapture.php" hash="4987ceda6dda7ca134736895e3cfed74"/><file name="Log.php" hash="577b2308bdbc531c867c67277d513371"/><file name="Observer.php" hash="aaabc8d2fb267a13c50f02ce543257a8"/><file name="Session.php" hash="4a71747b8007d9ad3b380b03efb933fb"/><file name="Subscriber.php" hash="7addcff01d1c12e88baad9064a362f2c"/><file name="Subscriberupdate.php" hash="77df791c2d17772345f518ce3b4dab90"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="AbandonedcartreportController.php" hash="e1a2c2db0c6cc8cc30f9fdf26636c1a0"/><file name="EmailcaptureController.php" hash="ad7c87ca689bc30eb135fc5d25ae21a2"/></dir><file name="ConfigController.php" hash="7250d699110107b35fa004833dc3595e"/><file name="EmailController.php" hash="52d92c503b2783d592ee65fc7fd4932d"/><file name="TroubleshootingController.php" hash="8e9355a2c91ee3508620fc893aabe050"/></dir><dir name="etc"><file name="adminhtml.xml" hash="0e01a6415641c271f4eb3067419c7f0a"/><file name="api.xml" hash="9e261fb5bfd7fc24870a8f8af5c9b226"/><file name="config.xml" hash="f2806e5532e1f875dead241aaa72d36a"/><file name="system.xml" hash="2f5ac2e3256dac4fe5bde34275b4f5b7"/><file name="wsdl.xml" hash="8f5f1024d0e6ca104d524348e462eb54"/><file name="wsi.xml" hash="e6fc96537d37c0c688454442d05c637d"/></dir><dir name="sql"><dir name="listrak_remarketing_setup"><file name="mysql4-install-1.0.0.php" hash="9969325db69a8582cd2807343dc1c5bc"/><file name="mysql4-upgrade-1.0.0-1.0.1.php" hash="51d6494a61a2e32907cdc8eaf078274c"/><file name="mysql4-upgrade-1.0.8-1.0.9.php" hash="8c935ec4a7ff8816c1ab1df644c1edf3"/><file name="mysql4-upgrade-1.1.0-1.1.1.php" hash="df4e8464d389d3f0155755c362b5a7ac"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="remarketing.xml" hash="3fe421a6b7ea5ab184c8791971b41a6a"/></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="remarketing.xml" hash="44d7027ba447c4aaf0841d32d185ffde"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Listrak_Remarketing.xml" hash="1fc68edb656e220874e64cffaf7f2dbd"/></dir></target></contents>
23
  <compatible/>
24
  <dependencies/>
25
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Listrak_Remarketing</name>
4
+ <version>1.1.3</version>
5
  <stability>stable</stability>
6
  <license uri="http://s1.listrakbi.com/licenses/magento.txt">Listrak EULA</license>
7
  <channel>community</channel>
8
  <extends/>
9
+ <summary>For Listrak customers, our extension has: conversion tracking, cart abandonment, re-engagement emails</summary>
10
+ <description>&lt;p&gt;&lt;b&gt;NOTE: A Listrak account is required to utilize the features of this automated cart abandonment solution. Please &lt;a href="http://www.listrak.com/partners/magento-extension.aspx"&gt;contact Listrak&lt;/a&gt; to setup your account. &lt;/b&gt;&lt;/p&gt;&#xD;
11
+ &#xD;
12
+ &lt;p&gt;The Listrak extension for Magento enables online merchants to expand their email marketing campaigns beyond typical "batch and blast" into targeted campaigns aimed at specific scenarios and buyer events. The extension covers:&lt;/p&gt;&#xD;
13
+ &#xD;
14
+ &lt;p&gt;&#xD;
15
+ - Shopping Cart Abandonment&lt;br /&gt;&#xD;
16
+ - Buyertrak - refillable/replenishable order reminders&lt;br /&gt;&#xD;
17
+ - Customer purchase metrics&lt;br /&gt;&#xD;
18
+ - Post purchase follow-up campaigns&lt;br /&gt;&#xD;
19
+ - Newsletter subscriber synchronization&lt;br /&gt;&#xD;
20
+ &lt;/p&gt;&#xD;
21
+ &#xD;
22
+ &lt;p&gt;&lt;b&gt;Shopping Cart Abandonment&lt;/b&gt;&lt;br /&gt;&#xD;
23
+ Shopping cart abandonment (SCA) is an important piece of the e-commerce puzzle for all merchants. Around 70% of all carts created on the web are left behind. Listrak will track these carts and allow you to build a dynamic SCA email series to regain lost sales due to abandoned carts. Magento currently only tracks registered user carts, our extension will track unregistered users as well to expand your reachable audience.&lt;/p&gt;&#xD;
24
+ &#xD;
25
+ &lt;p&gt;&lt;b&gt;Buyertrak&lt;/b&gt;&lt;br /&gt;&#xD;
26
+ Our Buyertrak solution is intended to keep customers coming back to buy the things they buy over and over again. Whether you sell beauty products, vitamins or ink/toner, Buyertrak will identify replenishable products and the customers who buy them. By analyzing order history from your Magento store, you will be able to use your Listrak account to build an engaging email series to bring customers back to your site and expand their lifetime value (LTV).&lt;/p&gt;&#xD;
27
+ &#xD;
28
+ &lt;p&gt;&lt;b&gt;Customer Purchase Metrics&lt;/b&gt;&lt;br /&gt;&#xD;
29
+ To really drive revenue for your online store, you need to understand your customers. Using Listrak's customer purchase metrics, you will be able to target your best customers or re-engage those who have not purchased in a while. A strong email marketing strategy that incorporates segmentation will boost revenue per email and keep your customers happy buy letting them know that you understand and appreciate them.&lt;/p&gt;&#xD;
30
+ &#xD;
31
+ &lt;p&gt;&lt;b&gt;Post Purchase Campaigns&lt;/b&gt;&lt;br /&gt;&#xD;
32
+ The online purchase is such a critical time in the lifecycle of a customer, you want to make sure you provide (and receive) as much value from that event as possible. The Listrak extension for Magento will allow you to craft post-purchase campaigns in Listrak based on order events occurring inside your Magento store. Examples of post-purchase campaigns include: review requests, shipment notifications, first-time buyer welcome series and more!&lt;/p&gt;&#xD;
33
+ &#xD;
34
+ &lt;p&gt;&lt;b&gt;Newsletter subscriber synchronization&lt;/b&gt;&lt;br /&gt;&#xD;
35
+ To make sure your marketing list is always current, all newsletter subscribers and unsubscribers are synchronized with your Listrak account and suppression list.&lt;/p&gt;&#xD;
36
+ &#xD;
37
+ &lt;p&gt;Additional Listrak features include:&lt;/p&gt;&#xD;
38
+ &lt;ol&gt;&#xD;
39
+ - Advanced segmentation&lt;br /&gt;&#xD;
40
+ - Dynamic merchandising&lt;br /&gt;&#xD;
41
+ - Message series or single message&lt;br /&gt;&#xD;
42
+ - Dynamic content&lt;br /&gt;&#xD;
43
+ - Multi-path offer testing&lt;br /&gt;&#xD;
44
+ - Offer suppression and randomization&lt;br /&gt;&#xD;
45
+ &lt;/ol&gt;&#xD;
46
+ &#xD;
47
+ &lt;p&gt;&lt;b&gt;About Listrak&lt;/b&gt;&lt;br /&gt;&#xD;
48
+ Listrak works with online retailers to maximize marketing ROI by helping them reach optimal engagement with their customers. Our focus is on prompting dialog and interaction through email and mobile marketing to increase customer lifetime value.&lt;/p&gt;</description>
49
+ <notes>Added support for cart recreation. &#xD;
50
+ Added parent product id and sku to product list API method.&#xD;
51
+ Fixed duplicate record issue in subscriber list API method.</notes>
52
  <authors><author><name>Listrak</name><user>auto-converted</user><email>magento@listrak.com</email></author></authors>
53
+ <date>2012-11-14</date>
54
+ <time>16:08:40</time>
55
+ <contents><target name="magecommunity"><dir name="Listrak"><dir name="Remarketing"><dir name="Block"><dir name="Adminhtml"><dir name="Abandonedcartreport"><file name="Grid.php" hash="6c9975250ee0d3318fe1a996e19b554f"/></dir><dir name="Emailcapture"><dir name="Edit"><dir name="Tab"><file name="Form.php" hash="d1b495e77fd135af95457ee7c3f1f21c"/></dir><file name="Form.php" hash="dae25c78913b35bb3ad64da797cd82b4"/><file name="Tabs.php" hash="b7c89cd1e1fae23ed52079c6d63ef4ee"/></dir><file name="Edit.php" hash="6a06c2b0dfb5a0414a642bc0cd3b5461"/><file name="Grid.php" hash="9eca43e603861ce2f24ec21a4d3a5064"/></dir><file name="Abandonedcartreport.php" hash="5c348aeec1c636b39ac037b5abc1875a"/><file name="Emailcapture.php" hash="accf0689467c5446e7605cad41e427b0"/><file name="Notifications.php" hash="dec4ef3882d5d11d738576787d05ec61"/></dir><file name="Ecjs.php" hash="1435cf65a3c33850e630364baa87a96e"/><file name="Modal.php" hash="579ffec41876558845b0dae7fce696a5"/></dir><dir name="Helper"><file name="Data.php" hash="bd33bd2e7c3b6cf34cc28499a1f2eb7f"/></dir><dir name="Model"><dir name="Abandonedcart"><dir name="Api"><file name="V2.php" hash="c7b46e1feab677e41f4f9a3914e415fb"/></dir><file name="Api.php" hash="1c0dd08efa63480eb08ff1bc5c1e2765"/></dir><dir name="Apiextension"><dir name="Api"><file name="V2.php" hash="ff5a5f68d92c8a790bb00282c30c1378"/></dir><file name="Api.php" hash="f5cc99451f0bb2fefb97e2b8e4d2aa1d"/></dir><dir name="Click"><dir name="Api"><file name="V2.php" hash="510ae6b8032ff54b5f43d94f447f35e2"/></dir><file name="Api.php" hash="b22605c25dd1336188a62fbbecc177bf"/></dir><dir name="Log"><dir name="Api"><file name="V2.php" hash="ace9ca737ebefd47205886fdef504a05"/></dir><file name="Api.php" hash="2a2a52b419cb90c0648209964b961287"/></dir><dir name="Mysql4"><dir name="Abandonedcart"><file name="Collection.php" hash="fed7e7d3b7dc74b42f21c9599f06b872"/></dir><dir name="Click"><file name="Collection.php" hash="dac93dbb083339bb047d296868cdb597"/></dir><dir name="Emailcapture"><file name="Collection.php" hash="4dbc86c599e6a390e1f8bde7752f09c2"/></dir><dir name="Log"><file name="Collection.php" hash="1765ae33eb74e9593d8266702cfe4160"/></dir><dir name="Session"><file name="Collection.php" hash="c095fdf0c54184df63ff6dd8636d779e"/></dir><dir name="Subscriberupdate"><file name="Collection.php" hash="1fd68314a80e93f416815273f29bf9f5"/></dir><file name="Abandonedcart.php" hash="1b09f8922a31433dfc83bfbeb93fbe88"/><file name="Apiextension.php" hash="b243c6feafd1b2401541f96112b9f522"/><file name="Click.php" hash="baabaf95e4d4f7f3fb1a2ac1c1965984"/><file name="Emailcapture.php" hash="b68ee210c3bcec8f2fccef7979b022b7"/><file name="Log.php" hash="e244d19b857ee9d03a7955a30d3f6cf3"/><file name="Session.php" hash="454a2c56529a0db4db3a5b8473952f78"/><file name="Subscriberupdate.php" hash="4957865b4aa8bbdda3a50484d7e49880"/></dir><file name="Abandonedcart.php" hash="2bd672054843917133e3ac7d941be42c"/><file name="Apiextension.php" hash="1a5964f749523d74c648d6609673fb08"/><file name="Click.php" hash="e4b390e9a6a45dcbc6191bcf0f4f0729"/><file name="Emailcapture.php" hash="4987ceda6dda7ca134736895e3cfed74"/><file name="Log.php" hash="577b2308bdbc531c867c67277d513371"/><file name="Observer.php" hash="61d199280da5c4748efba7ae67a01d3f"/><file name="Session.php" hash="2653ba8c029180fc455a4551fede9515"/><file name="Subscriber.php" hash="7addcff01d1c12e88baad9064a362f2c"/><file name="Subscriberupdate.php" hash="77df791c2d17772345f518ce3b4dab90"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="AbandonedcartreportController.php" hash="e1a2c2db0c6cc8cc30f9fdf26636c1a0"/><file name="EmailcaptureController.php" hash="ad7c87ca689bc30eb135fc5d25ae21a2"/></dir><file name="CartController.php" hash="bab8c133100ae8bcd4ccdeb43329370a"/><file name="ConfigController.php" hash="7250d699110107b35fa004833dc3595e"/><file name="EmailController.php" hash="d1706df1448e6bd85826357efd9a22d4"/><file name="TroubleshootingController.php" hash="8e9355a2c91ee3508620fc893aabe050"/></dir><dir name="etc"><file name="adminhtml.xml" hash="0e01a6415641c271f4eb3067419c7f0a"/><file name="api.xml" hash="9e261fb5bfd7fc24870a8f8af5c9b226"/><file name="config.xml" hash="f0f66d8ff1d30cd775978b9de554afe2"/><file name="system.xml" hash="2f5ac2e3256dac4fe5bde34275b4f5b7"/><file name="wsdl.xml" hash="df295ec2ebec26c9c2d6afa0c77256c5"/><file name="wsi.xml" hash="e6fc96537d37c0c688454442d05c637d"/></dir><dir name="sql"><dir name="listrak_remarketing_setup"><file name="mysql4-install-1.0.0.php" hash="9969325db69a8582cd2807343dc1c5bc"/><file name="mysql4-upgrade-1.0.0-1.0.1.php" hash="51d6494a61a2e32907cdc8eaf078274c"/><file name="mysql4-upgrade-1.0.8-1.0.9.php" hash="8c935ec4a7ff8816c1ab1df644c1edf3"/><file name="mysql4-upgrade-1.1.0-1.1.1.php" hash="df4e8464d389d3f0155755c362b5a7ac"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="remarketing.xml" hash="3f8da579155772292019871e92d3642a"/></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="remarketing.xml" hash="44d7027ba447c4aaf0841d32d185ffde"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Listrak_Remarketing.xml" hash="1fc68edb656e220874e64cffaf7f2dbd"/></dir></target></contents>
56
  <compatible/>
57
  <dependencies/>
58
  </package>