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 +43 -31
- app/code/community/Listrak/Remarketing/Model/Mysql4/Apiextension.php +9 -8
- app/code/community/Listrak/Remarketing/Model/Observer.php +4 -13
- app/code/community/Listrak/Remarketing/Model/Session.php +4 -1
- app/code/community/Listrak/Remarketing/controllers/CartController.php +68 -0
- app/code/community/Listrak/Remarketing/controllers/EmailController.php +51 -35
- app/code/community/Listrak/Remarketing/etc/config.xml +172 -181
- app/code/community/Listrak/Remarketing/etc/wsdl.xml +2 -0
- app/design/frontend/base/default/layout/remarketing.xml +4 -4
- package.xml +47 -14
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 |
-
|
10 |
-
|
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 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
|
26 |
-
|
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 |
-
|
66 |
-
|
67 |
-
|
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 |
-
|
84 |
->addAttributeToSelect('updated_at')
|
85 |
->addAttributeToSelect('status')
|
86 |
-
|
87 |
->addFieldToFilter('status', array('neq'=>'pending'))
|
88 |
-
|
89 |
->setOrder('updated_at', 'ASC');
|
90 |
|
91 |
if (is_array($filters)) {
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
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 |
-
|
125 |
-
|
126 |
-
|
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 |
-
|
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 |
-
|
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 |
-
|
8 |
|
9 |
-
|
10 |
|
11 |
protected function _construct()
|
12 |
-
|
13 |
-
|
14 |
$this->_read = $this->_getReadAdapter();
|
15 |
-
|
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 |
-
|
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.
|
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>
|
37 |
-
</listrak_remarketing_observer>
|
38 |
-
</observers>
|
39 |
-
</controller_action_layout_render_before>
|
40 |
-
<
|
41 |
-
<observers>
|
42 |
-
<listrak_remarketing_observer>
|
43 |
-
<type>singleton</type>
|
44 |
-
<class>Listrak_Remarketing_Model_Observer</class>
|
45 |
-
<method>
|
46 |
-
</listrak_remarketing_observer>
|
47 |
-
</observers>
|
48 |
-
</
|
49 |
-
<
|
50 |
-
<observers>
|
51 |
-
<listrak_remarketing_observer>
|
52 |
-
<type>singleton</type>
|
53 |
-
<class>Listrak_Remarketing_Model_Observer</class>
|
54 |
-
<method>
|
55 |
-
</listrak_remarketing_observer>
|
56 |
-
</observers>
|
57 |
-
</
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
<
|
79 |
-
|
80 |
-
</
|
81 |
-
<
|
82 |
-
|
83 |
-
</
|
84 |
-
<
|
85 |
-
<table>
|
86 |
-
</
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
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 |
-
|
5 |
-
|
6 |
-->
|
7 |
<layout>
|
8 |
<default>
|
9 |
-
<reference name="
|
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.
|
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>
|
10 |
-
<description
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
-
|
16 |
-
-
|
17 |
-
-
|
18 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
19 |
<authors><author><name>Listrak</name><user>auto-converted</user><email>magento@listrak.com</email></author></authors>
|
20 |
-
<date>2012-
|
21 |
-
<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="
|
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><p><b>NOTE: A Listrak account is required to utilize the features of this automated cart abandonment solution. Please <a href="http://www.listrak.com/partners/magento-extension.aspx">contact Listrak</a> to setup your account. </b></p>
|
11 |
+

|
12 |
+
<p>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:</p>
|
13 |
+

|
14 |
+
<p>
|
15 |
+
- Shopping Cart Abandonment<br />
|
16 |
+
- Buyertrak - refillable/replenishable order reminders<br />
|
17 |
+
- Customer purchase metrics<br />
|
18 |
+
- Post purchase follow-up campaigns<br />
|
19 |
+
- Newsletter subscriber synchronization<br />
|
20 |
+
</p>
|
21 |
+

|
22 |
+
<p><b>Shopping Cart Abandonment</b><br />
|
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.</p>
|
24 |
+

|
25 |
+
<p><b>Buyertrak</b><br />
|
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).</p>
|
27 |
+

|
28 |
+
<p><b>Customer Purchase Metrics</b><br />
|
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.</p>
|
30 |
+

|
31 |
+
<p><b>Post Purchase Campaigns</b><br />
|
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!</p>
|
33 |
+

|
34 |
+
<p><b>Newsletter subscriber synchronization</b><br />
|
35 |
+
To make sure your marketing list is always current, all newsletter subscribers and unsubscribers are synchronized with your Listrak account and suppression list.</p>
|
36 |
+

|
37 |
+
<p>Additional Listrak features include:</p>
|
38 |
+
<ol>
|
39 |
+
- Advanced segmentation<br />
|
40 |
+
- Dynamic merchandising<br />
|
41 |
+
- Message series or single message<br />
|
42 |
+
- Dynamic content<br />
|
43 |
+
- Multi-path offer testing<br />
|
44 |
+
- Offer suppression and randomization<br />
|
45 |
+
</ol>
|
46 |
+

|
47 |
+
<p><b>About Listrak</b><br />
|
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.</p></description>
|
49 |
+
<notes>Added support for cart recreation. 
|
50 |
+
Added parent product id and sku to product list API method.
|
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>
|