Listrak_Remarketing - Version 1.2.0

Version Notes

Efficiency improvements
Security fix

Download this release

Release Info

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


Code changes from version 1.1.9.5 to 1.2.0

Files changed (32) hide show
  1. app/code/community/Listrak/Remarketing/Block/Adminhtml/Emailcapture.php +2 -2
  2. app/code/community/Listrak/Remarketing/Block/Adminhtml/Emailcapture/Edit.php +2 -2
  3. app/code/community/Listrak/Remarketing/Block/Adminhtml/Emailcapture/Edit/Form.php +2 -2
  4. app/code/community/Listrak/Remarketing/Block/Adminhtml/Emailcapture/Edit/Tab/Form.php +2 -2
  5. app/code/community/Listrak/Remarketing/Block/Adminhtml/Emailcapture/Edit/Tabs.php +2 -2
  6. app/code/community/Listrak/Remarketing/Block/Adminhtml/Emailcapture/Grid.php +2 -2
  7. app/code/community/Listrak/Remarketing/Block/Adminhtml/Productattributes.php +4 -26
  8. app/code/community/Listrak/Remarketing/Block/Adminhtml/Productattributes/Edit.php +2 -2
  9. app/code/community/Listrak/Remarketing/Block/Adminhtml/Productattributes/Edit/Tab/Form/Brand.php +45 -1
  10. app/code/community/Listrak/Remarketing/Block/Adminhtml/Productattributes/Edit/Tab/Form/Categories.php +54 -4
  11. app/code/community/Listrak/Remarketing/Block/Adminhtml/Productattributes/Edit/Tabs.php +11 -23
  12. app/code/community/Listrak/Remarketing/Block/Adminhtml/Productattributes/Grid.php +2 -2
  13. app/code/community/Listrak/Remarketing/Block/Adminhtml/Productattributes/Init/Brands.php +0 -68
  14. app/code/community/Listrak/Remarketing/Block/Conversion/Abstract.php +19 -5
  15. app/code/community/Listrak/Remarketing/Block/Tracking/Click.php +0 -42
  16. app/code/community/Listrak/Remarketing/Helper/Product.php +7 -5
  17. app/code/community/Listrak/Remarketing/Model/Apiextension/Api.php +138 -78
  18. app/code/community/Listrak/Remarketing/Model/Mysql4/Abandonedcart.php +1 -1
  19. app/code/community/Listrak/Remarketing/Model/Mysql4/Product/Attribute/Set/Map/Collection.php +1 -1
  20. app/code/community/Listrak/Remarketing/Model/Mysql4/Session.php +1 -1
  21. app/code/community/Listrak/Remarketing/controllers/CartController.php +0 -10
  22. app/code/community/Listrak/Remarketing/controllers/EmailController.php +0 -29
  23. app/code/community/Listrak/Remarketing/controllers/Remarketing/EmailcaptureController.php +2 -40
  24. app/code/community/Listrak/Remarketing/controllers/Remarketing/ProductattributesController.php +20 -41
  25. app/code/community/Listrak/Remarketing/controllers/TroubleshootingController.php +0 -30
  26. app/code/community/Listrak/Remarketing/etc/config.xml +239 -239
  27. app/code/community/Listrak/Remarketing/sql/listrak_remarketing_setup/mysql4-upgrade-1.1.9.5-1.2.0.php +102 -0
  28. app/design/adminhtml/default/default/layout/remarketing.xml +51 -14
  29. app/design/adminhtml/default/default/template/listrak/remarketing/productattributes/form/categories.phtml +5 -4
  30. app/design/adminhtml/default/default/template/listrak/remarketing/productattributes/form/initbrands.phtml +1 -1
  31. app/design/frontend/base/default/layout/remarketing.xml +0 -1
  32. package.xml +6 -5
app/code/community/Listrak/Remarketing/Block/Adminhtml/Emailcapture.php CHANGED
@@ -13,9 +13,9 @@
13
*/
14
15
/**
16
- * Class Listrak_Remarketing_Block_Adminhtml_EmailCapture
17
*/
18
- class Listrak_Remarketing_Block_Adminhtml_EmailCapture
19
extends Mage_Adminhtml_Block_Widget_Grid_Container
20
{
21
/**
13
*/
14
15
/**
16
+ * Class Listrak_Remarketing_Block_Adminhtml_Emailcapture
17
*/
18
+ class Listrak_Remarketing_Block_Adminhtml_Emailcapture
19
extends Mage_Adminhtml_Block_Widget_Grid_Container
20
{
21
/**
app/code/community/Listrak/Remarketing/Block/Adminhtml/Emailcapture/Edit.php CHANGED
@@ -13,9 +13,9 @@
13
*/
14
15
/**
16
- * Class Listrak_Remarketing_Block_Adminhtml_EmailCapture_Edit
17
*/
18
- class Listrak_Remarketing_Block_Adminhtml_EmailCapture_Edit
19
extends Mage_Adminhtml_Block_Widget_Form_Container
20
{
21
/**
13
*/
14
15
/**
16
+ * Class Listrak_Remarketing_Block_Adminhtml_Emailcapture_Edit
17
*/
18
+ class Listrak_Remarketing_Block_Adminhtml_Emailcapture_Edit
19
extends Mage_Adminhtml_Block_Widget_Form_Container
20
{
21
/**
app/code/community/Listrak/Remarketing/Block/Adminhtml/Emailcapture/Edit/Form.php CHANGED
@@ -13,9 +13,9 @@
13
*/
14
15
/**
16
- * Class Listrak_Remarketing_Block_Adminhtml_EmailCapture_Edit_Form
17
*/
18
- class Listrak_Remarketing_Block_Adminhtml_EmailCapture_Edit_Form
19
extends Mage_Adminhtml_Block_Widget_Form
20
{
21
/**
13
*/
14
15
/**
16
+ * Class Listrak_Remarketing_Block_Adminhtml_Emailcapture_Edit_Form
17
*/
18
+ class Listrak_Remarketing_Block_Adminhtml_Emailcapture_Edit_Form
19
extends Mage_Adminhtml_Block_Widget_Form
20
{
21
/**
app/code/community/Listrak/Remarketing/Block/Adminhtml/Emailcapture/Edit/Tab/Form.php CHANGED
@@ -13,9 +13,9 @@
13
*/
14
15
/**
16
- * Class Listrak_Remarketing_Block_Adminhtml_EmailCapture_Edit_Tab_Form
17
*/
18
- class Listrak_Remarketing_Block_Adminhtml_EmailCapture_Edit_Tab_Form
19
extends Mage_Adminhtml_Block_Widget_Form
20
{
21
/**
13
*/
14
15
/**
16
+ * Class Listrak_Remarketing_Block_Adminhtml_Emailcapture_Edit_Tab_Form
17
*/
18
+ class Listrak_Remarketing_Block_Adminhtml_Emailcapture_Edit_Tab_Form
19
extends Mage_Adminhtml_Block_Widget_Form
20
{
21
/**
app/code/community/Listrak/Remarketing/Block/Adminhtml/Emailcapture/Edit/Tabs.php CHANGED
@@ -13,9 +13,9 @@
13
*/
14
15
/**
16
- * Class Listrak_Remarketing_Block_Adminhtml_EmailCapture_Edit_Tabs
17
*/
18
- class Listrak_Remarketing_Block_Adminhtml_EmailCapture_Edit_Tabs
19
extends Mage_Adminhtml_Block_Widget_Tabs
20
{
21
/**
13
*/
14
15
/**
16
+ * Class Listrak_Remarketing_Block_Adminhtml_Emailcapture_Edit_Tabs
17
*/
18
+ class Listrak_Remarketing_Block_Adminhtml_Emailcapture_Edit_Tabs
19
extends Mage_Adminhtml_Block_Widget_Tabs
20
{
21
/**
app/code/community/Listrak/Remarketing/Block/Adminhtml/Emailcapture/Grid.php CHANGED
@@ -13,9 +13,9 @@
13
*/
14
15
/**
16
- * Class Listrak_Remarketing_Block_Adminhtml_EmailCapture_Grid
17
*/
18
- class Listrak_Remarketing_Block_Adminhtml_EmailCapture_Grid
19
extends Mage_Adminhtml_Block_Widget_Grid
20
{
21
/**
13
*/
14
15
/**
16
+ * Class Listrak_Remarketing_Block_Adminhtml_Emailcapture_Grid
17
*/
18
+ class Listrak_Remarketing_Block_Adminhtml_Emailcapture_Grid
19
extends Mage_Adminhtml_Block_Widget_Grid
20
{
21
/**
app/code/community/Listrak/Remarketing/Block/Adminhtml/Productattributes.php CHANGED
@@ -13,9 +13,9 @@
13
*/
14
15
/**
16
- * Class Listrak_Remarketing_Block_Adminhtml_ProductAttributes
17
*/
18
- class Listrak_Remarketing_Block_Adminhtml_ProductAttributes
19
extends Mage_Adminhtml_Block_Widget_Container
20
{
21
/**
@@ -26,28 +26,6 @@ class Listrak_Remarketing_Block_Adminhtml_ProductAttributes
26
parent::__construct();
27
$this->_controller = 'adminhtml_productattributes';
28
$this->_removeButton('add');
29
-
30
- $this->setTemplate('listrak/remarketing/productattributes.phtml');
31
- }
32
-
33
- /**
34
- * Creates the layout in code
35
- *
36
- * @return Mage_Core_Block_Abstract
37
- */
38
- public function _prepareLayout()
39
- {
40
- $this->setChild(
41
- 'grid',
42
- $this->getLayout()
43
- ->createBlock('remarketing/adminhtml_productattributes_grid')
44
- );
45
- $this->setChild(
46
- 'init_brands',
47
- $this->getLayout()
48
- ->createBlock('remarketing/adminhtml_productattributes_init_brands')
49
- );
50
- return parent::_prepareLayout();
51
}
52
53
/**
@@ -57,7 +35,7 @@ class Listrak_Remarketing_Block_Adminhtml_ProductAttributes
57
*/
58
public function getInitBrandsHtml()
59
{
60
- return $this->getChildHtml('init_brands');
61
}
62
63
/**
@@ -67,7 +45,7 @@ class Listrak_Remarketing_Block_Adminhtml_ProductAttributes
67
*/
68
public function getGridHtml()
69
{
70
- return $this->getChildHtml('grid');
71
}
72
73
/**
13
*/
14
15
/**
16
+ * Class Listrak_Remarketing_Block_Adminhtml_Productattributes
17
*/
18
+ class Listrak_Remarketing_Block_Adminhtml_Productattributes
19
extends Mage_Adminhtml_Block_Widget_Container
20
{
21
/**
26
parent::__construct();
27
$this->_controller = 'adminhtml_productattributes';
28
$this->_removeButton('add');
29
}
30
31
/**
35
*/
36
public function getInitBrandsHtml()
37
{
38
+ return $this->getChildHtml('remarketing_attributes_init');
39
}
40
41
/**
45
*/
46
public function getGridHtml()
47
{
48
+ return $this->getChildHtml('remarketing_attributes_grid');
49
}
50
51
/**
app/code/community/Listrak/Remarketing/Block/Adminhtml/Productattributes/Edit.php CHANGED
@@ -13,9 +13,9 @@
13
*/
14
15
/**
16
- * Class Listrak_Remarketing_Block_Adminhtml_ProductAttributes_Edit
17
*/
18
- class Listrak_Remarketing_Block_Adminhtml_ProductAttributes_Edit
19
extends Mage_Adminhtml_Block_Widget_Form_Container
20
{
21
/**
13
*/
14
15
/**
16
+ * Class Listrak_Remarketing_Block_Adminhtml_Productattributes_Edit
17
*/
18
+ class Listrak_Remarketing_Block_Adminhtml_Productattributes_Edit
19
extends Mage_Adminhtml_Block_Widget_Form_Container
20
{
21
/**
app/code/community/Listrak/Remarketing/Block/Adminhtml/Productattributes/Edit/Tab/Form/Brand.php CHANGED
@@ -17,6 +17,7 @@
17
*/
18
class Listrak_Remarketing_Block_Adminhtml_Productattributes_Edit_Tab_Form_Brand
19
extends Mage_Adminhtml_Block_Widget_Form
20
{
21
/**
22
* Prepare form
@@ -34,7 +35,7 @@ class Listrak_Remarketing_Block_Adminhtml_Productattributes_Edit_Tab_Form_Brand
34
35
$attributeCodes = array();
36
$attributeCodes[''] = '- No Brand Attribute -';
37
- foreach ($this->getAttributeOptions() as $key => $value) {
38
$attributeCodes[$key] = $value;
39
}
40
@@ -52,5 +53,48 @@ class Listrak_Remarketing_Block_Adminhtml_Productattributes_Edit_Tab_Form_Brand
52
53
return parent::_prepareForm();
54
}
55
}
56
17
*/
18
class Listrak_Remarketing_Block_Adminhtml_Productattributes_Edit_Tab_Form_Brand
19
extends Mage_Adminhtml_Block_Widget_Form
20
+ implements Mage_Adminhtml_Block_Widget_Tab_Interface
21
{
22
/**
23
* Prepare form
35
36
$attributeCodes = array();
37
$attributeCodes[''] = '- No Brand Attribute -';
38
+ foreach (Mage::registry('productattribute_options') as $key => $value) {
39
$attributeCodes[$key] = $value;
40
}
41
53
54
return parent::_prepareForm();
55
}
56
+
57
+ /**
58
+ * Return Tab label
59
+ *
60
+ * @return string
61
+ */
62
+ public function getTabLabel()
63
+ {
64
+ /* @var Listrak_Remarketing_Helper_Data $helper */
65
+ $helper = Mage::helper('remarketing');
66
+
67
+ return $helper->__('Brands');
68
+ }
69
+
70
+ /**
71
+ * Return Tab title
72
+ *
73
+ * @return string
74
+ */
75
+ public function getTabTitle()
76
+ {
77
+ return $this->getTabLabel();
78
+ }
79
+
80
+ /**
81
+ * Can show tab in tabs
82
+ *
83
+ * @return boolean
84
+ */
85
+ public function canShowTab()
86
+ {
87
+ return true;
88
+ }
89
+
90
+ /**
91
+ * Tab is hidden
92
+ *
93
+ * @return boolean
94
+ */
95
+ public function isHidden()
96
+ {
97
+ return false;
98
+ }
99
}
100
app/code/community/Listrak/Remarketing/Block/Adminhtml/Productattributes/Edit/Tab/Form/Categories.php CHANGED
@@ -17,6 +17,7 @@
17
*/
18
class Listrak_Remarketing_Block_Adminhtml_Productattributes_Edit_Tab_Form_Categories
19
extends Mage_Adminhtml_Block_Widget
20
{
21
/**
22
* Initializes the block
@@ -24,10 +25,6 @@ class Listrak_Remarketing_Block_Adminhtml_Productattributes_Edit_Tab_Form_Catego
24
public function __construct()
25
{
26
parent::__construct();
27
- $this->setTemplate(
28
- 'listrak/remarketing/productattributes/form/categories.phtml'
29
- );
30
-
31
$this->setModel(Mage::registry('productattribute_data'));
32
}
33
@@ -86,5 +83,58 @@ class Listrak_Remarketing_Block_Adminhtml_Productattributes_Edit_Tab_Form_Catego
86
{
87
return $this->getModel()->getSubcategoryAttributeCode();
88
}
89
}
90
17
*/
18
class Listrak_Remarketing_Block_Adminhtml_Productattributes_Edit_Tab_Form_Categories
19
extends Mage_Adminhtml_Block_Widget
20
+ implements Mage_Adminhtml_Block_Widget_Tab_Interface
21
{
22
/**
23
* Initializes the block
25
public function __construct()
26
{
27
parent::__construct();
28
$this->setModel(Mage::registry('productattribute_data'));
29
}
30
83
{
84
return $this->getModel()->getSubcategoryAttributeCode();
85
}
86
+
87
+ /**
88
+ * Retrieve all attribute options for set
89
+ *
90
+ * @return array
91
+ */
92
+ public function getAttributeOptions()
93
+ {
94
+ return Mage::registry('productattribute_options');
95
+ }
96
+
97
+ /**
98
+ * Return Tab label
99
+ *
100
+ * @return string
101
+ */
102
+ public function getTabLabel()
103
+ {
104
+ /* @var Listrak_Remarketing_Helper_Data $helper */
105
+ $helper = Mage::helper('remarketing');
106
+
107
+ return $helper->__('Category and Subcategory');
108
+ }
109
+
110
+ /**
111
+ * Return Tab title
112
+ *
113
+ * @return string
114
+ */
115
+ public function getTabTitle()
116
+ {
117
+ $this->getTabLabel();
118
+ }
119
+
120
+ /**
121
+ * Can show tab in tabs
122
+ *
123
+ * @return boolean
124
+ */
125
+ public function canShowTab()
126
+ {
127
+ return true;
128
+ }
129
+
130
+ /**
131
+ * Tab is hidden
132
+ *
133
+ * @return boolean
134
+ */
135
+ public function isHidden()
136
+ {
137
+ return false;
138
+ }
139
}
140
app/code/community/Listrak/Remarketing/Block/Adminhtml/Productattributes/Edit/Tabs.php CHANGED
@@ -31,42 +31,30 @@ class Listrak_Remarketing_Block_Adminhtml_Productattributes_Edit_Tabs
31
}
32
33
/**
34
- * Prepare layout
35
*
36
* @return Mage_Core_Block_Abstract
37
*/
38
- public function _prepareLayout()
39
{
40
- /* @var Listrak_Remarketing_Helper_Data $helper */
41
- $helper = Mage::helper('remarketing');
42
-
43
- $attributeCodes = $this
44
- ->_attributeSetAttributes(
45
- Mage::registry('productattribute_data')
46
- ->getAttributeSetId()
47
- );
48
49
$this->addTab(
50
'productattributes_brand',
51
- array(
52
- 'label' => $helper->__('Brand'),
53
- 'content' => $this->getLayout()->createBlock(
54
- 'remarketing/adminhtml_productattributes_edit_tab_form_brand'
55
- )->setAttributeOptions($attributeCodes)->toHtml()
56
- )
57
);
58
59
$this->addTab(
60
'productattributes_categories',
61
- array(
62
- 'label' => $helper->__('Category and Subcategory'),
63
- 'content' => $this->getLayout()->createBlock(
64
- 'remarketing/adminhtml_productattributes_edit_tab_form_categories'
65
- )->setAttributeOptions($attributeCodes)->toHtml()
66
- )
67
);
68
69
- return parent::_prepareLayout();
70
}
71
72
/**
31
}
32
33
/**
34
+ * Before HTML output
35
+ *
36
+ * Adds necessary UI elements
37
*
38
* @return Mage_Core_Block_Abstract
39
*/
40
+ protected function _beforeToHtml()
41
{
42
+ Mage::register('productattribute_options',
43
+ $this->_attributeSetAttributes(
44
+ Mage::registry('productattribute_data')->getAttributeSetId()
45
+ ));
46
47
$this->addTab(
48
'productattributes_brand',
49
+ 'remarketing_attribute_tab_brand'
50
);
51
52
$this->addTab(
53
'productattributes_categories',
54
+ 'remarketing_attribute_tab_categories'
55
);
56
57
+ return parent::_beforeToHtml();
58
}
59
60
/**
app/code/community/Listrak/Remarketing/Block/Adminhtml/Productattributes/Grid.php CHANGED
@@ -13,9 +13,9 @@
13
*/
14
15
/**
16
- * Class Listrak_Remarketing_Block_Adminhtml_ProductAttributes_Grid
17
*/
18
- class Listrak_Remarketing_Block_Adminhtml_ProductAttributes_Grid
19
extends Mage_Adminhtml_Block_Widget_Grid
20
{
21
/**
13
*/
14
15
/**
16
+ * Class Listrak_Remarketing_Block_Adminhtml_Productattributes_Grid
17
*/
18
+ class Listrak_Remarketing_Block_Adminhtml_Productattributes_Grid
19
extends Mage_Adminhtml_Block_Widget_Grid
20
{
21
/**
app/code/community/Listrak/Remarketing/Block/Adminhtml/Productattributes/Init/Brands.php DELETED
@@ -1,68 +0,0 @@
1
- <?php
2
- /**
3
- * Listrak Remarketing Magento Extension Ver. 1.1.5
4
- *
5
- * PHP version 5
6
- *
7
- * @category Listrak
8
- * @package Listrak_Remarketing
9
- * @author Listrak Magento Team <magento@listrak.com>
10
- * @copyright 2013 Listrak Inc
11
- * @license http://s1.listrakbi.com/licenses/magento.txt License For Customer Use of Listrak Software
12
- * @link http://www.listrak.com
13
- */
14
-
15
- /**
16
- * Class Listrak_Remarketing_Block_Adminhtml_Productattributes_Init_Brands
17
- */
18
- class Listrak_Remarketing_Block_Adminhtml_Productattributes_Init_Brands
19
- extends Mage_Adminhtml_Block_Template
20
- {
21
- /**
22
- * Initialize the block
23
- */
24
- public function __construct()
25
- {
26
- parent::__construct();
27
- $this->setTemplate(
28
- 'listrak/remarketing/productattributes/form/initbrands.phtml'
29
- );
30
- }
31
-
32
- /**
33
- * Prepare layout
34
- *
35
- * @return Mage_Core_Block_Abstract
36
- */
37
- public function _prepareLayout()
38
- {
39
- $this->setChild(
40
- 'form',
41
- $this->getLayout()->createBlock(
42
- 'remarketing/adminhtml_productattributes_init_brands_form'
43
- )
44
- );
45
- return parent::_prepareLayout();
46
- }
47
-
48
- /**
49
- * Get the form HTML
50
- *
51
- * @return string
52
- */
53
- public function getFormHtml()
54
- {
55
- return $this->getChildHtml('form');
56
- }
57
-
58
- /**
59
- * Get form elements
60
- *
61
- * @return string
62
- */
63
- public function getFormElementsHtml()
64
- {
65
- return $this->getChildHtml('form-elements');
66
- }
67
- }
68
-
app/code/community/Listrak/Remarketing/Block/Conversion/Abstract.php CHANGED
@@ -98,14 +98,28 @@ class Listrak_Remarketing_Block_Conversion_Abstract
98
{
99
// fix the skus before returning the data
100
$result = array();
101
-
102
- /* @var Listrak_Remarketing_Helper_Product $productHelper */
103
- $productHelper = Mage::helper('remarketing/product');
104
105
/* @var Mage_Sales_Model_Order_Item $item */
106
foreach ($this->getOrder()->getAllVisibleItems() as $item) {
107
- $info = $productHelper->getProductInformationFromOrderItem($item);
108
- $item->setSku($info->getSku());
109
110
$result[] = $item;
111
}
98
{
99
// fix the skus before returning the data
100
$result = array();
101
+
102
+ $getSkuForIds = array();
103
+ foreach($this->getOrder()->getAllVisibleItems() as $item) {
104
+ if (Mage_Catalog_Model_Product_Type::TYPE_BUNDLE == $item->getProductType()) {
105
+ $getSkuForIds[] = $item->getProductId();
106
+ }
107
+ }
108
+
109
+ $skusById = array();
110
+ if (sizeof($getSkuForIds) > 0) {
111
+ $skusById = Mage::getModel('catalog/product')->getCollection()
112
+ ->addFieldToFilter('entity_id', $getSkuForIds)
113
+ ->addAttributeToSelect(array('entity_id', 'sku'))
114
+ ->getItems();
115
+ }
116
117
/* @var Mage_Sales_Model_Order_Item $item */
118
foreach ($this->getOrder()->getAllVisibleItems() as $item) {
119
+ if (array_key_exists($item->getProductId(), $skusById)) {
120
+ $product = $skusById[$item->getProductId()];
121
+ $item->setSku($product->getSku());
122
+ }
123
124
$result[] = $item;
125
}
app/code/community/Listrak/Remarketing/Block/Tracking/Click.php DELETED
@@ -1,42 +0,0 @@
1
- <?php
2
- /**
3
- * Listrak Remarketing Magento Extension Ver. 1.1.9
4
- *
5
- * PHP version 5
6
- *
7
- * @category Listrak
8
- * @package Listrak_Remarketing
9
- * @author Listrak Magento Team <magento@listrak.com>
10
- * @copyright 2014 Listrak Inc
11
- * @license http://s1.listrakbi.com/licenses/magento.txt License For Customer Use of Listrak Software
12
- * @link http://www.listrak.com
13
- */
14
-
15
- /**
16
- * Class Listrak_Remarketing_Block_Tracking_Click
17
- */
18
- class Listrak_Remarketing_Block_Tracking_Click
19
- extends Listrak_Remarketing_Block_Require_Onescript
20
- {
21
- /**
22
- * Render block
23
- *
24
- * @return string
25
- */
26
- public function _toHtml()
27
- {
28
- try {
29
- if (!$this->canRender()) {
30
- return '';
31
- }
32
-
33
- $this->addLine("_ltk.Click.Submit();");
34
-
35
- return parent::_toHtml();
36
- }
37
- catch(Exception $e) {
38
- $this->getLogger()->addException($e);
39
- return '';
40
- }
41
- }
42
- }
app/code/community/Listrak/Remarketing/Helper/Product.php CHANGED
@@ -743,7 +743,9 @@ class Listrak_Remarketing_Helper_Product
743
private function _getFirstPathByPosition(
744
$categoryCollection, $maxLevel, $underPath
745
) {
746
- if (sizeof($underPath) >= $maxLevel) {
747
return $underPath;
748
}
749
@@ -759,11 +761,11 @@ class Listrak_Remarketing_Helper_Product
759
continue;
760
}
761
762
- if (sizeof($pathIds) > sizeof($underPath)
763
- && !in_array($pathIds[sizeof($underPath)], $nextCategory)
764
) {
765
$isUnderPath = true;
766
- for ($i = 0; $i < sizeof($underPath); $i++) {
767
if ($pathIds[$i] != $underPath[$i]) {
768
$isUnderPath = false;
769
break;
@@ -771,7 +773,7 @@ class Listrak_Remarketing_Helper_Product
771
}
772
773
if ($isUnderPath) {
774
- $nextCategory[] = $pathIds[sizeof($underPath)];
775
}
776
}
777
}
743
private function _getFirstPathByPosition(
744
$categoryCollection, $maxLevel, $underPath
745
) {
746
+ $underPathSize = sizeof($underPath);
747
+
748
+ if ($underPathSize >= $maxLevel) {
749
return $underPath;
750
}
751
761
continue;
762
}
763
764
+ if (sizeof($pathIds) > $underPathSize
765
+ && !in_array($pathIds[$underPathSize], $nextCategory)
766
) {
767
$isUnderPath = true;
768
+ for ($i = 0; $i < $underPathSize; $i++) {
769
if ($pathIds[$i] != $underPath[$i]) {
770
$isUnderPath = false;
771
break;
773
}
774
775
if ($isUnderPath) {
776
+ $nextCategory[] = $pathIds[$underPathSize];
777
}
778
}
779
}
app/code/community/Listrak/Remarketing/Model/Apiextension/Api.php CHANGED
@@ -22,6 +22,11 @@ class Listrak_Remarketing_Model_Apiextension_Api
22
'order' => array('order_id' => 'entity_id')
23
);
24
25
/**
26
* Retrieve subscriber information
27
*
@@ -162,12 +167,8 @@ class Listrak_Remarketing_Model_Apiextension_Api
162
/* @var Listrak_Remarketing_Helper_Data $helper */
163
$helper = Mage::helper('remarketing');
164
165
- $fields = array('entity_id' => '', 'firstname' => '', 'lastname' => '',
166
- 'email' => '', 'website_id' => '', 'store_id' => '', 'group_id' => '',
167
- 'gender_name' => '', 'dob' => '', 'group_name' => '');
168
-
169
$helper->setGroupNameAndGenderNameForCustomer($customer);
170
- $result = array_intersect_key($customer->toArray(), $fields);
171
172
$metas = $this->_getCustomerMetas($storeId, $customer);
173
if ($metas) {
@@ -213,8 +214,6 @@ class Listrak_Remarketing_Model_Apiextension_Api
213
$helper->requireCoreEnabled();
214
215
try {
216
- $productsUpdated = array();
217
-
218
/* @var Mage_Sales_Model_Resource_Order_Collection $collection */
219
$collection = Mage::getModel("sales/order")->getCollection();
220
@@ -248,6 +247,8 @@ class Listrak_Remarketing_Model_Apiextension_Api
248
}
249
250
$results = array();
251
252
/* @var Mage_Sales_Model_Order $order */
253
foreach ($collection as $order) {
@@ -277,6 +278,7 @@ class Listrak_Remarketing_Model_Apiextension_Api
277
278
/* @var Mage_Sales_Model_Resource_Order_Shipment_Collection $shipmentCollection */
279
$shipmentCollection = $order->getShipmentsCollection();
280
281
/* @var Mage_Sales_Model_Order_Shipment $shipment */
282
$shipment = $shipmentCollection->getFirstItem();
@@ -291,42 +293,14 @@ class Listrak_Remarketing_Model_Apiextension_Api
291
}
292
}
293
294
- $quantities = array();
295
-
296
- /* @var Mage_Sales_Model_Order_Item $item */
297
- foreach ($order->getAllVisibleItems() as $item) {
298
- /* @var Listrak_Remarketing_Helper_Product $productHelper */
299
- $productHelper = Mage::helper('remarketing/product');
300
-
301
- $info = $productHelper
302
- ->getProductInformationFromOrderItem(
303
- $item, array('product')
304
- );
305
-
306
- if (!in_array($info->getProductId(), $productsUpdated, true)) {
307
- /* @var Mage_Catalog_Model_Product $product */
308
- $product = Mage::getModel('catalog/product')
309
- ->load($info->getProductId());
310
- if ($product) {
311
- $quantity = array();
312
-
313
- $quantity['sku'] = $product->getSku();
314
- $quantity['in_stock']
315
- = $product->isAvailable() ? "true" : "false";
316
-
317
- /* @var Mage_Cataloginventory_Model_Stock_Item $stockItem */
318
- $stockItem = $product->getStockItem();
319
- if ($stockItem) {
320
- $quantity['qty_on_hand'] = $stockItem->getStockQty();
321
- }
322
-
323
- $quantities[] = $quantity;
324
- }
325
-
326
- $productsUpdated[] = $info->getProductId();
327
}
328
}
329
- $result['quantities'] = $quantities;
330
331
$results[] = $result;
332
}
@@ -338,6 +312,82 @@ class Listrak_Remarketing_Model_Apiextension_Api
338
);
339
}
340
}
341
342
/**
343
* Retrieve orders
@@ -382,6 +432,24 @@ class Listrak_Remarketing_Model_Apiextension_Api
382
->setPageSize($perPage)->setCurPage($page)
383
->setOrder('created_at', 'ASC');
384
385
$results = array();
386
387
/* @var Mage_Sales_Model_Order $order */
@@ -464,16 +532,13 @@ class Listrak_Remarketing_Model_Apiextension_Api
464
$result['product'] = array();
465
foreach ($order->getAllVisibleItems() as $item) {
466
$result['product'][]
467
- = $this->_getOrderItemProductEntity($storeId, $order, $item);
468
}
469
470
if ($order->getCustomerId()) {
471
- /* @var Mage_Customer_Model_Customer $customer */
472
- $customer = Mage::getModel("customer/customer")
473
- ->load($order->getCustomerId());
474
- if ($customer) {
475
$result['customer']
476
- = $this->_getCustomerArray($storeId, $customer);
477
}
478
}
479
@@ -491,14 +556,16 @@ class Listrak_Remarketing_Model_Apiextension_Api
491
/**
492
* Extract order item information for Magento objects
493
*
494
- * @param int $storeId Magento store ID
495
- * @param Mage_Sales_Model_Order $order Order
496
- * @param Mage_Sales_Model_Order_Item $item Order item
497
*
498
* @return array
499
*/
500
private function _getOrderItemProductEntity(
501
- $storeId, Mage_Sales_Model_Order $order, Mage_Sales_Model_Order_Item $item
502
) {
503
/* @var Listrak_Remarketing_Helper_Product $productHelper */
504
$productHelper = Mage::helper('remarketing/product');
@@ -514,14 +581,11 @@ class Listrak_Remarketing_Model_Apiextension_Api
514
$product['sku'] = $productModel->getSku();
515
$product['name'] = $productModel->getName();
516
$product['product_price'] = $productModel->getPrice();
517
-
518
- // Inventory
519
- $product['in_stock'] = $productModel->isAvailable() ? "true" : "false";
520
-
521
- /* @var Mage_Cataloginventory_Model_Stock_Item $stockItem */
522
- $stockItem = $productModel->getStockItem();
523
- if ($stockItem) {
524
- $product['qty_on_hand'] = $stockItem->getStockQty();
525
}
526
} else {
527
$product['sku'] = $item->getProductOptionByCode('simple_sku')
@@ -558,7 +622,7 @@ class Listrak_Remarketing_Model_Apiextension_Api
558
$product['bundle_items'] = array();
559
foreach ($item->getChildrenItems() as $childItem) {
560
$product['bundle_items'][] = $this->_getOrderItemProductEntity(
561
- $storeId, $order, $childItem
562
);
563
}
564
}
@@ -724,27 +788,23 @@ class Listrak_Remarketing_Model_Apiextension_Api
724
. get_class($productModel) . ','
725
. get_class($productModel->getCollection());
726
727
- /* @var Mage_Core_Model_Resource $resource */
728
- $resource = Mage::getSingleton('core/resource');
729
- $dbRead = $resource->getConnection('core_read');
730
-
731
- $countQueryText = "select count(*) as c from "
732
- . $resource->getTableName("listrak/subscriber_update");
733
- $numSubUpdates = $dbRead->fetchRow($countQueryText);
734
735
if ($helper->trackingTablesExist()) {
736
- $countQueryText = "select count(*) as c from "
737
- . $resource->getTableName("listrak/session");
738
- $numSessions = $dbRead->fetchRow($countQueryText);
739
- $countQueryText = "select count(*) as c from "
740
- . $resource->getTableName("listrak/click");
741
- $numClicks = $dbRead->fetchRow($countQueryText);
742
-
743
- $result["counts"] = $numSessions['c'] . ','
744
- . $numSubUpdates['c'] . ','
745
- . $numClicks['c'];
746
} else {
747
- $result["counts"] = $numSubUpdates['c'];
748
}
749
750
$result["modules"] = array();
22
'order' => array('order_id' => 'entity_id')
23
);
24
25
+ private $_customerAttributes = array('entity_id' => '', 'firstname' => '',
26
+ 'lastname' => '', 'email' => '', 'website_id' => '', 'store_id' => '',
27
+ 'group_id' => '', 'gender_name' => '', 'dob' => '', 'group_name' => '',
28
+ 'gender' => '');
29
+
30
/**
31
* Retrieve subscriber information
32
*
167
/* @var Listrak_Remarketing_Helper_Data $helper */
168
$helper = Mage::helper('remarketing');
169
170
$helper->setGroupNameAndGenderNameForCustomer($customer);
171
+ $result = array_intersect_key($customer->toArray(), $this->_customerAttributes);
172
173
$metas = $this->_getCustomerMetas($storeId, $customer);
174
if ($metas) {
214
$helper->requireCoreEnabled();
215
216
try {
217
/* @var Mage_Sales_Model_Resource_Order_Collection $collection */
218
$collection = Mage::getModel("sales/order")->getCollection();
219
247
}
248
249
$results = array();
250
+
251
+ $allQuantities = $this->_getProductQtyInfoForOrders($storeId, $collection);
252
253
/* @var Mage_Sales_Model_Order $order */
254
foreach ($collection as $order) {
278
279
/* @var Mage_Sales_Model_Resource_Order_Shipment_Collection $shipmentCollection */
280
$shipmentCollection = $order->getShipmentsCollection();
281
+ $shipmentCollection->getSelect()->limit(1);
282
283
/* @var Mage_Sales_Model_Order_Shipment $shipment */
284
$shipment = $shipmentCollection->getFirstItem();
293
}
294
}
295
296
+ $result['quantities'] = array();
297
+ $productIds = $this->_getOrderProductIds($order);
298
+ foreach($productIds as $productId) {
299
+ if (array_key_exists($productId, $allQuantities)) {
300
+ $result['quantities'][] = $allQuantities[$productId];
301
+ unset($allQuantities[$productId]);
302
}
303
}
304
305
$results[] = $result;
306
}
312
);
313
}
314
}
315
+
316
+ /**
317
+ * Retrieve inventory information for all products in all orders
318
+ *
319
+ * @param Mage_Sales_Model_Resource_Order_Collection $collection
320
+ * @return array
321
+ */
322
+ private function _getProductQtyInfoForOrders($storeId, $collection)
323
+ {
324
+ /* @var Mage_Core_Model_Resource $resource */
325
+ $resource = Mage::getSingleton('core/resource');
326
+
327
+ $productIds = $this->_getAllProductIds($collection);
328
+
329
+ if (sizeof($productIds) == 0) {
330
+ return array();
331
+ }
332
+
333
+ $products = Mage::getModel('catalog/product')
334
+ ->getCollection()
335
+ ->addStoreFilter($storeId)
336
+ ->addFieldToFilter('entity_id', $productIds)
337
+ ->addAttributeToSelect('*');
338
+
339
+ Mage::getModel('cataloginventory/stock')
340
+ ->addItemsToProducts($products);
341
+
342
+ $result = array();
343
+ foreach($products as $productId => $product) {
344
+ $item = array(
345
+ 'sku' => $product->getSku(),
346
+ 'in_stock' => $product->isAvailable() ? "true" : "false"
347
+ );
348
+
349
+ /* @var Mage_Cataloginventory_Model_Stock_Item $stockItem */
350
+ $stockItem = $product->getStockItem();
351
+ if ($stockItem) {
352
+ $item['qty_on_hand'] = $stockItem->getStockQty();
353
+ }
354
+
355
+ $result[$productId] = $item;
356
+ }
357
+
358
+ return $result;
359
+ }
360
+
361
+ /**
362
+ * Retrieve all product IDs for order collection
363
+ *
364
+ * @param Mage_Sales_Model_Resource_Order_Collection $collection
365
+ * @return array
366
+ */
367
+ private function _getAllProductIds($collection)
368
+ {
369
+ $ids = array();
370
+ foreach($collection as $order) {
371
+ $ids = array_merge($ids, $this->_getOrderProductIds($order));
372
+ }
373
+ return array_unique($ids);
374
+ }
375
+
376
+ /**
377
+ * Retrieve all product IDs in order
378
+ *
379
+ * @param Mage_Sales_Model_Order $order
380
+ * @return array
381
+ */
382
+ private function _getOrderProductIds($order)
383
+ {
384
+ $ids = array();
385
+ foreach($order->getAllItems() as $item)
386
+ {
387
+ $ids[] = $item->getProductId();
388
+ }
389
+ return $ids;
390
+ }
391
392
/**
393
* Retrieve orders
432
->setPageSize($perPage)->setCurPage($page)
433
->setOrder('created_at', 'ASC');
434
435
+ $customerIds = array();
436
+ foreach ($orders as $order) {
437
+ $customerIds[] = $order->getCustomerId();
438
+ }
439
+
440
+ $customerMap = array();
441
+ if (sizeof($customerIds) > 0) {
442
+ /* @var Mage_Customer_Model_Customer $customers */
443
+ $customers = Mage::getModel('customer/customer')->getCollection();
444
+ $customers
445
+ ->addAttributeToSelect(array_keys($this->_customerAttributes))
446
+ ->addFieldToFilter('entity_id', $customerIds);
447
+
448
+ $customerMap = $customers->getItems();
449
+ }
450
+
451
+ $stockInfo = $this->_getProductQtyInfoForOrders($storeId, $orders);
452
+
453
$results = array();
454
455
/* @var Mage_Sales_Model_Order $order */
532
$result['product'] = array();
533
foreach ($order->getAllVisibleItems() as $item) {
534
$result['product'][]
535
+ = $this->_getOrderItemProductEntity($storeId, $order, $item, $stockInfo);
536
}
537
538
if ($order->getCustomerId()) {
539
+ if (array_key_exists($order->getCustomerId(), $customerMap)) {
540
$result['customer']
541
+ = $this->_getCustomerArray($storeId, $customerMap[$order->getCustomerId()]);
542
}
543
}
544
556
/**
557
* Extract order item information for Magento objects
558
*
559
+ * @param int $storeId
560
+ * @param Mage_Sales_Model_Order $order
561
+ * @param Mage_Sales_Model_Order_Item $item
562
+ * @param array $stockByProduct
563
*
564
* @return array
565
*/
566
private function _getOrderItemProductEntity(
567
+ $storeId, Mage_Sales_Model_Order $order, Mage_Sales_Model_Order_Item $item,
568
+ $stockByProduct
569
) {
570
/* @var Listrak_Remarketing_Helper_Product $productHelper */
571
$productHelper = Mage::helper('remarketing/product');
581
$product['sku'] = $productModel->getSku();
582
$product['name'] = $productModel->getName();
583
$product['product_price'] = $productModel->getPrice();
584
+
585
+ if (array_key_exists($productModel->getId(), $stockByProduct)) {
586
+ $stock = $stockByProduct[$productModel->getId()];
587
+ $product['in_stock'] = $stock['in_stock'];
588
+ $product['qty_on_hand'] = $stock['qty_on_hand'];
589
}
590
} else {
591
$product['sku'] = $item->getProductOptionByCode('simple_sku')
622
$product['bundle_items'] = array();
623
foreach ($item->getChildrenItems() as $childItem) {
624
$product['bundle_items'][] = $this->_getOrderItemProductEntity(
625
+ $storeId, $order, $childItem, $stockByProduct
626
);
627
}
628
}
788
. get_class($productModel) . ','
789
. get_class($productModel->getCollection());
790
791
+ $numSubUpdates = Mage::getModel("listrak/subscriberupdate")
792
+ ->getCollection()
793
+ ->getSize();
794
795
if ($helper->trackingTablesExist()) {
796
+ $numSessions = Mage::getModel("listrak/session")
797
+ ->getCollection()
798
+ ->getSize();
799
+ $numClicks = Mage::getModel("listrak/click")
800
+ ->getCollection()
801
+ ->getSize();
802
+
803
+ $result["counts"] = $numSessions . ','
804
+ . $numSubUpdates . ','
805
+ . $numClicks;
806
} else {
807
+ $result["counts"] = $numSubUpdates;
808
}
809
810
$result["modules"] = array();
app/code/community/Listrak/Remarketing/Model/Mysql4/Abandonedcart.php CHANGED
@@ -35,7 +35,7 @@ class Listrak_Remarketing_Model_Mysql4_Abandonedcart
35
*
36
* @return Mage_Core_Model_Resource_Db_Abstract
37
*/
38
- protected function _afterLoad(Listrak_Remarketing_Model_Abandonedcart $object)
39
{
40
$object->setSession(
41
Mage::getModel("listrak/session")->load($object->getId())
35
*
36
* @return Mage_Core_Model_Resource_Db_Abstract
37
*/
38
+ protected function _afterLoad(Mage_Core_Model_Abstract $object)
39
{
40
$object->setSession(
41
Mage::getModel("listrak/session")->load($object->getId())
app/code/community/Listrak/Remarketing/Model/Mysql4/Product/Attribute/Set/Map/Collection.php CHANGED
@@ -44,7 +44,7 @@ class Listrak_Remarketing_Model_Mysql4_Product_Attribute_Set_Map_Collection
44
*/
45
public function addMapIdFilter($ids)
46
{
47
- $this->getSelect()->where('map_id IN (' . $ids . ')');
48
49
return $this;
50
}
44
*/
45
public function addMapIdFilter($ids)
46
{
47
+ $this->getSelect()->where('map_id IN (?)', $ids);
48
49
return $this;
50
}
app/code/community/Listrak/Remarketing/Model/Mysql4/Session.php CHANGED
@@ -43,7 +43,7 @@ class Listrak_Remarketing_Model_Mysql4_Session
43
*
44
* @return Listrak_Remarketing_Model_Session
45
*/
46
- protected function _afterLoad(Listrak_Remarketing_Model_Session $object)
47
{
48
if ($object->getCustomerId()) {
49
/* @var Mage_Customer_Model_Customer $customer */
43
*
44
* @return Listrak_Remarketing_Model_Session
45
*/
46
+ protected function _afterLoad(Mage_Core_Model_Abstract $object)
47
{
48
if ($object->getCustomerId()) {
49
/* @var Mage_Customer_Model_Customer $customer */
app/code/community/Listrak/Remarketing/controllers/CartController.php CHANGED
@@ -20,16 +20,6 @@ class Listrak_Remarketing_CartController
20
{
21
private $_ltkSession = false;
22
23
- /**
24
- * Index action
25
- *
26
- * @return $this
27
- */
28
- public function indexAction()
29
- {
30
- return $this;
31
- }
32
-
33
/**
34
* Reload cart action
35
*
20
{
21
private $_ltkSession = false;
22
23
/**
24
* Reload cart action
25
*
app/code/community/Listrak/Remarketing/controllers/EmailController.php CHANGED
@@ -58,33 +58,4 @@ class Listrak_Remarketing_EmailController
58
$logger->addException($e);
59
}
60
}
61
-
62
- /**
63
- * FSID action
64
- *
65
- * @deprecated This action is not used anywhere, and its use isn't clear
66
- *
67
- * @return void
68
- */
69
- public function fsidAction()
70
- {
71
- $email = $this->getRequest()->getParam('email');
72
-
73
- if (!Zend_Validate::is($email, 'EmailAddress')) {
74
- echo "invalid";
75
- } else {
76
- $emailcaptureId = $this->getRequest()->getParam('cid');
77
-
78
- /* @var Listrak_Remarketing_Model_Session $session */
79
- $session = Mage::getModel('listrak/session');
80
- $session->setSessionId($this->getRequest()->getParam('ltksid'));
81
-
82
- /* @var Listrak_Remarketing_Model_Mysql4_Session $sessionResource */
83
- $sessionResource = $session->getResource();
84
- $sessionResource->loadBySessionId($session);
85
- $sessionResource->insertEmail($session, $email, $emailcaptureId);
86
-
87
- echo json_encode(array('status' => true));
88
- }
89
- }
90
}
58
$logger->addException($e);
59
}
60
}
61
}
app/code/community/Listrak/Remarketing/controllers/Remarketing/EmailcaptureController.php CHANGED
@@ -13,9 +13,9 @@
13
*/
14
15
/**
16
- * Class Listrak_Remarketing_Remarketing_EmailCaptureController
17
*/
18
- class Listrak_Remarketing_Remarketing_EmailCaptureController
19
extends Mage_Adminhtml_Controller_Action
20
{
21
/**
@@ -55,11 +55,6 @@ class Listrak_Remarketing_Remarketing_EmailCaptureController
55
{
56
try {
57
$this->_initAction();
58
-
59
- $this->_addContent(
60
- $this->getLayout()->createBlock('remarketing/adminhtml_emailcapture')
61
- );
62
-
63
return $this->renderLayout();
64
} catch (Exception $e) {
65
/* @var Listrak_Remarketing_Model_Log $logger */
@@ -105,19 +100,6 @@ class Listrak_Remarketing_Remarketing_EmailCaptureController
105
);
106
107
$this->getLayout()->getBlock('head')->setCanLoadExtJs(true);
108
-
109
- $this
110
- ->_addContent(
111
- $this->getLayout()->createBlock(
112
- 'remarketing/adminhtml_emailcapture_edit'
113
- )
114
- )
115
- ->_addLeft(
116
- $this->getLayout()->createBlock(
117
- 'remarketing/adminhtml_emailcapture_edit_tabs'
118
- )
119
- );
120
-
121
return $this->renderLayout();
122
} else {
123
/* @var Mage_Adminhtml_Model_Session $adminSession */
@@ -241,24 +223,4 @@ class Listrak_Remarketing_Remarketing_EmailCaptureController
241
242
return $this->_redirect('*/*/');
243
}
244
-
245
- /**
246
- * Grid action
247
- *
248
- * Product grid for AJAX request.
249
- * Sort and filter result for example.
250
- *
251
- * @return void
252
- */
253
- public function gridAction()
254
- {
255
- $this->loadLayout();
256
- $this->getResponse()->setBody(
257
- $this->getLayout()
258
- ->createBlock(
259
- 'importedit/adminhtml_emailcapture_grid'
260
- )
261
- ->toHtml()
262
- );
263
- }
264
}
13
*/
14
15
/**
16
+ * Class Listrak_Remarketing_controllers_Remarketing_EmailcaptureController
17
*/
18
+ class Listrak_Remarketing_Remarketing_EmailcaptureController
19
extends Mage_Adminhtml_Controller_Action
20
{
21
/**
55
{
56
try {
57
$this->_initAction();
58
return $this->renderLayout();
59
} catch (Exception $e) {
60
/* @var Listrak_Remarketing_Model_Log $logger */
100
);
101
102
$this->getLayout()->getBlock('head')->setCanLoadExtJs(true);
103
return $this->renderLayout();
104
} else {
105
/* @var Mage_Adminhtml_Model_Session $adminSession */
223
224
return $this->_redirect('*/*/');
225
}
226
}
app/code/community/Listrak/Remarketing/controllers/Remarketing/ProductattributesController.php CHANGED
@@ -13,9 +13,9 @@
13
*/
14
15
/**
16
- * Class Listrak_Remarketing_Remarketing_ProductAttributesController
17
*/
18
- class Listrak_Remarketing_Remarketing_ProductAttributesController
19
extends Mage_Adminhtml_Controller_Action
20
{
21
/**
@@ -51,8 +51,6 @@ class Listrak_Remarketing_Remarketing_ProductAttributesController
51
*/
52
public function indexAction()
53
{
54
- $this->_initAction();
55
-
56
try {
57
/* @var Listrak_Remarketing_Helper_Product_Attribute_Set_Map $helper */
58
$helper = Mage::helper('remarketing/product_attribute_set_map');
@@ -71,11 +69,7 @@ class Listrak_Remarketing_Remarketing_ProductAttributesController
71
72
Mage::register('productattribute_sets', $sets);
73
74
- $this->_addContent(
75
- $this->getLayout()
76
- ->createBlock('remarketing/adminhtml_productattributes')
77
- );
78
-
79
return $this->renderLayout();
80
} catch (Exception $e) {
81
/* @var Listrak_Remarketing_Model_Log $logger */
@@ -104,8 +98,6 @@ class Listrak_Remarketing_Remarketing_ProductAttributesController
104
*/
105
public function editAction()
106
{
107
- $this->_initAction();
108
-
109
try {
110
$mapId = $this->getRequest()->getParam('id');
111
$model = Mage::getModel('listrak/product_attribute_set_map')
@@ -116,20 +108,8 @@ class Listrak_Remarketing_Remarketing_ProductAttributesController
116
117
Mage::register('productattribute_data', $model);
118
119
$this->getLayout()->getBlock('head')->setCanLoadExtJs(true);
120
-
121
- $this
122
- ->_addContent(
123
- $this->getLayout()
124
- ->createBlock('remarketing/adminhtml_productattributes_edit')
125
- )
126
- ->_addLeft(
127
- $this->getLayout()
128
- ->createBlock(
129
- 'remarketing/adminhtml_productattributes_edit_tabs'
130
- )
131
- );
132
-
133
return $this->renderLayout();
134
} catch (Exception $e) {
135
/* @var Listrak_Remarketing_Model_Log $logger */
@@ -242,26 +222,25 @@ class Listrak_Remarketing_Remarketing_ProductAttributesController
242
if ($attributeCode) {
243
/* @var Listrak_Remarketing_Model_Mysql4_Product_Attribute_Set_Map_Collection $sets */
244
$sets = Mage::getModel('listrak/product_attribute_set_map')
245
- ->getCollection();
246
247
/* @var Listrak_Remarketing_Model_Product_Attribute_Set_Map $set */
248
foreach ($sets as $set) {
249
- if ($set->getBrandAttributeCode() == null) {
250
- /* @var Mage_Catalog_Model_Resource_Product_Attribute_Collection $attrCollection */
251
- $attrCollection = Mage::getResourceModel(
252
- 'catalog/product_attribute_collection'
253
- );
254
-
255
- $attrCount = $attrCollection
256
- ->addVisibleFilter()
257
- ->setAttributeSetFilter($set->getAttributeSetId())
258
- ->setCodeFilter($attributeCode)
259
- ->count();
260
-
261
- if ($attrCount > 0) {
262
- $set->setBrandAttributeCode($attributeCode);
263
- $set->save();
264
- }
265
}
266
}
267
}
13
*/
14
15
/**
16
+ * Class Listrak_Remarketing_controllers_Remarketing_ProductattributesController
17
*/
18
+ class Listrak_Remarketing_Remarketing_ProductattributesController
19
extends Mage_Adminhtml_Controller_Action
20
{
21
/**
51
*/
52
public function indexAction()
53
{
54
try {
55
/* @var Listrak_Remarketing_Helper_Product_Attribute_Set_Map $helper */
56
$helper = Mage::helper('remarketing/product_attribute_set_map');
69
70
Mage::register('productattribute_sets', $sets);
71
72
+ $this->_initAction();
73
return $this->renderLayout();
74
} catch (Exception $e) {
75
/* @var Listrak_Remarketing_Model_Log $logger */
98
*/
99
public function editAction()
100
{
101
try {
102
$mapId = $this->getRequest()->getParam('id');
103
$model = Mage::getModel('listrak/product_attribute_set_map')
108
109
Mage::register('productattribute_data', $model);
110
111
+ $this->_initAction();
112
$this->getLayout()->getBlock('head')->setCanLoadExtJs(true);
113
return $this->renderLayout();
114
} catch (Exception $e) {
115
/* @var Listrak_Remarketing_Model_Log $logger */
222
if ($attributeCode) {
223
/* @var Listrak_Remarketing_Model_Mysql4_Product_Attribute_Set_Map_Collection $sets */
224
$sets = Mage::getModel('listrak/product_attribute_set_map')
225
+ ->getCollection()
226
+ ->addFieldToFilter('brand_attribute_code', array('null' => true));
227
228
/* @var Listrak_Remarketing_Model_Product_Attribute_Set_Map $set */
229
foreach ($sets as $set) {
230
+ /* @var Mage_Catalog_Model_Resource_Product_Attribute_Collection $attrCollection */
231
+ $attrCollection = Mage::getResourceModel(
232
+ 'catalog/product_attribute_collection'
233
+ );
234
+
235
+ $attrCount = $attrCollection
236
+ ->addVisibleFilter()
237
+ ->setAttributeSetFilter($set->getAttributeSetId())
238
+ ->setCodeFilter($attributeCode)
239
+ ->getSize();
240
+
241
+ if ($attrCount > 0) {
242
+ $set->setBrandAttributeCode($attributeCode);
243
+ $set->save();
244
}
245
}
246
}
app/code/community/Listrak/Remarketing/controllers/TroubleshootingController.php DELETED
@@ -1,30 +0,0 @@
1
- <?php
2
- /**
3
- * Listrak Remarketing Magento Extension Ver. 1.0.0
4
- *
5
- * PHP version 5
6
- *
7
- * @category Listrak
8
- * @package Listrak_Remarketing
9
- * @author Listrak Magento Team <magento@listrak.com>
10
- * @copyright 2011 Listrak Inc
11
- * @license http://s1.listrakbi.com/licenses/magento.txt License For Customer Use of Listrak Software
12
- * @link http://www.listrak.com
13
- */
14
-
15
- /**
16
- * Class Listrak_Remarketing_TroubleshootingController
17
- */
18
- class Listrak_Remarketing_TroubleshootingController
19
- extends Mage_Core_Controller_Front_Action
20
- {
21
- /**
22
- * Index action
23
- *
24
- * @return void
25
- */
26
- public function indexAction()
27
- {
28
-
29
- }
30
- }
app/code/community/Listrak/Remarketing/etc/config.xml CHANGED
@@ -1,240 +1,240 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <!--
3
- /**
4
- * Listrak Remarketing Magento Extension Ver. 1.0.0 - Copyright (c) 2011 Listrak, Inc.
5
- */
6
- -->
7
- <config>
8
- <modules>
9
- <Listrak_Remarketing>
10
- <version>1.1.9.5</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_load_before>
32
- <observers>
33
- <listrak_remarketing_observer>
34
- <type>singleton</type>
35
- <class>listrak/observer</class>
36
- <method>trackingInit</method>
37
- </listrak_remarketing_observer>
38
- </observers>
39
- </controller_action_layout_load_before>
40
- <sales_order_place_after>
41
- <observers>
42
- <listrak_remarketing_observer>
43
- <type>singleton</type>
44
- <class>listrak/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/observer</class>
54
- <method>subscriberSaved</method>
55
- </listrak_remarketing_observer>
56
- </observers>
57
- </newsletter_subscriber_save_after>
58
- <review_save_commit_after>
59
- <observers>
60
- <listrak_remarketing_observer>
61
- <type>singleton</type>
62
- <class>listrak/observer</class>
63
- <method>reviewUpdated</method>
64
- </listrak_remarketing_observer>
65
- </observers>
66
- </review_save_commit_after>
67
- <review_delete_commit_after>
68
- <observers>
69
- <listrak_remarketing_observer>
70
- <type>singleton</type>
71
- <class>listrak/observer</class>
72
- <method>reviewDeleted</method>
73
- </listrak_remarketing_observer>
74
- </observers>
75
- </review_delete_commit_after>
76
- <sales_quote_save_after>
77
- <observers>
78
- <listrak_remarketing_observer>
79
- <type>singleton</type>
80
- <class>listrak/observer</class>
81
- <method>cartModified</method>
82
- </listrak_remarketing_observer>
83
- </observers>
84
- </sales_quote_save_after>
85
- <sales_quote_remove_item>
86
- <observers>
87
- <listrak_remarketing_observer>
88
- <type>singleton</type>
89
- <class>listrak/observer</class>
90
- <method>cartModified</method>
91
- </listrak_remarketing_observer>
92
- </observers>
93
- </sales_quote_remove_item>
94
- <customer_logout>
95
- <observers>
96
- <listrak_remarketing_observer>
97
- <type>singleton</type>
98
- <class>listrak/observer</class>
99
- <method>resetCustomerTracking</method>
100
- </listrak_remarketing_observer>
101
- </observers>
102
- </customer_logout>
103
- </events>
104
- </frontend>
105
- <global>
106
- <models>
107
- <listrak>
108
- <class>Listrak_Remarketing_Model</class>
109
- <resourceModel>listrak_mysql4</resourceModel>
110
- </listrak>
111
- <listrak_mysql4>
112
- <class>Listrak_Remarketing_Model_Mysql4</class>
113
- <entities>
114
- <click>
115
- <table>listrak_remarketing_click</table>
116
- </click>
117
- <log>
118
- <table>listrak_remarketing_log</table>
119
- </log>
120
- <session>
121
- <table>listrak_remarketing_session</table>
122
- </session>
123
- <session_email>
124
- <table>listrak_remarketing_session_email</table>
125
- </session_email>
126
- <emailcapture>
127
- <table>listrak_remarketing_emailcapture</table>
128
- </emailcapture>
129
- <subscriber_update>
130
- <table>listrak_remarketing_subscriber_update</table>
131
- </subscriber_update>
132
- <review_update>
133
- <table>listrak_remarketing_review_update</table>
134
- </review_update>
135
- <product_attribute_set_map>
136
- <table>listrak_remarketing_product_attribute_set_map</table>
137
- </product_attribute_set_map>
138
- </entities>
139
- </listrak_mysql4>
140
- <newsletter>
141
- <rewrite>
142
- <subscriber>Listrak_Remarketing_Model_Subscriber</subscriber>
143
- </rewrite>
144
- </newsletter>
145
- </models>
146
- <resources>
147
- <listrak_remarketing_setup>
148
- <setup>
149
- <module>Listrak_Remarketing</module>
150
- </setup>
151
- <connection>
152
- <use>core_setup</use>
153
- </connection>
154
- </listrak_remarketing_setup>
155
- <listrak_write>
156
- <connection>
157
- <use>core_write</use>
158
- </connection>
159
- </listrak_write>
160
- <listrak_read>
161
- <connection>
162
- <use>core_read</use>
163
- </connection>
164
- </listrak_read>
165
- </resources>
166
- <helpers>
167
- <remarketing>
168
- <class>Listrak_Remarketing_Helper</class>
169
- </remarketing>
170
- </helpers>
171
- <blocks>
172
- <remarketing>
173
- <class>Listrak_Remarketing_Block</class>
174
- </remarketing>
175
- </blocks>
176
- </global>
177
- <admin>
178
- <routers>
179
- <adminhtml>
180
- <args>
181
- <modules>
182
- <Listrak_Remarketing after="Mage_Adminhtml">Listrak_Remarketing</Listrak_Remarketing>
183
- </modules>
184
- </args>
185
- </adminhtml>
186
- </routers>
187
- </admin>
188
- <adminhtml>
189
- <layout>
190
- <updates>
191
- <remarketing>
192
- <file>remarketing.xml</file>
193
- </remarketing>
194
- </updates>
195
- </layout>
196
- <events>
197
- <review_save_commit_after>
198
- <observers>
199
- <listrak_remarketing_observer>
200
- <type>singleton</type>
201
- <class>listrak/observer</class>
202
- <method>reviewUpdated</method>
203
- </listrak_remarketing_observer>
204
- </observers>
205
- </review_save_commit_after>
206
- <review_delete_commit_after>
207
- <observers>
208
- <listrak_remarketing_observer>
209
- <type>singleton</type>
210
- <class>listrak/observer</class>
211
- <method>reviewDeleted</method>
212
- </listrak_remarketing_observer>
213
- </observers>
214
- </review_delete_commit_after>
215
- </events>
216
- </adminhtml>
217
- <default>
218
- <remarketing>
219
- <modules>
220
- <core>1</core>
221
- <reviews>0</reviews>
222
- </modules>
223
- <subscription>
224
- <signup_success_email>0</signup_success_email>
225
- <unsubscribe_email>0</unsubscribe_email>
226
- </subscription>
227
- <modal>
228
- <enabled>1</enabled>
229
- <sca>1</sca>
230
- <activity>0</activity>
231
- </modal>
232
- <productcategories>
233
- <categories_source>default</categories_source>
234
- <category_level>3</category_level>
235
- <product_links>0</product_links>
236
- <purchasable_visibility>site</purchasable_visibility>
237
- </productcategories>
238
- </remarketing>
239
- </default>
240
</config>
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!--
3
+ /**
4
+ * Listrak Remarketing Magento Extension Ver. 1.0.0 - Copyright (c) 2011 Listrak, Inc.
5
+ */
6
+ -->
7
+ <config>
8
+ <modules>
9
+ <Listrak_Remarketing>
10
+ <version>1.2.0</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_load_before>
32
+ <observers>
33
+ <listrak_remarketing_observer>
34
+ <type>singleton</type>
35
+ <class>listrak/observer</class>
36
+ <method>trackingInit</method>
37
+ </listrak_remarketing_observer>
38
+ </observers>
39
+ </controller_action_layout_load_before>
40
+ <sales_order_place_after>
41
+ <observers>
42
+ <listrak_remarketing_observer>
43
+ <type>singleton</type>
44
+ <class>listrak/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/observer</class>
54
+ <method>subscriberSaved</method>
55
+ </listrak_remarketing_observer>
56
+ </observers>
57
+ </newsletter_subscriber_save_after>
58
+ <review_save_commit_after>
59
+ <observers>
60
+ <listrak_remarketing_observer>
61
+ <type>singleton</type>
62
+ <class>listrak/observer</class>
63
+ <method>reviewUpdated</method>
64
+ </listrak_remarketing_observer>
65
+ </observers>
66
+ </review_save_commit_after>
67
+ <review_delete_commit_after>
68
+ <observers>
69
+ <listrak_remarketing_observer>
70
+ <type>singleton</type>
71
+ <class>listrak/observer</class>
72
+ <method>reviewDeleted</method>
73
+ </listrak_remarketing_observer>
74
+ </observers>
75
+ </review_delete_commit_after>
76
+ <sales_quote_save_after>
77
+ <observers>
78
+ <listrak_remarketing_observer>
79
+ <type>singleton</type>
80
+ <class>listrak/observer</class>
81
+ <method>cartModified</method>
82
+ </listrak_remarketing_observer>
83
+ </observers>
84
+ </sales_quote_save_after>
85
+ <sales_quote_remove_item>
86
+ <observers>
87
+ <listrak_remarketing_observer>
88
+ <type>singleton</type>
89
+ <class>listrak/observer</class>
90
+ <method>cartModified</method>
91
+ </listrak_remarketing_observer>
92
+ </observers>
93
+ </sales_quote_remove_item>
94
+ <customer_logout>
95
+ <observers>
96
+ <listrak_remarketing_observer>
97
+ <type>singleton</type>
98
+ <class>listrak/observer</class>
99
+ <method>resetCustomerTracking</method>
100
+ </listrak_remarketing_observer>
101
+ </observers>
102
+ </customer_logout>
103
+ </events>
104
+ </frontend>
105
+ <global>
106
+ <models>
107
+ <listrak>
108
+ <class>Listrak_Remarketing_Model</class>
109
+ <resourceModel>listrak_mysql4</resourceModel>
110
+ </listrak>
111
+ <listrak_mysql4>
112
+ <class>Listrak_Remarketing_Model_Mysql4</class>
113
+ <entities>
114
+ <click>
115
+ <table>listrak_remarketing_click</table>
116
+ </click>
117
+ <log>
118
+ <table>listrak_remarketing_log</table>
119
+ </log>
120
+ <session>
121
+ <table>listrak_remarketing_session</table>
122
+ </session>
123
+ <session_email>
124
+ <table>listrak_remarketing_session_email</table>
125
+ </session_email>
126
+ <emailcapture>
127
+ <table>listrak_remarketing_emailcapture</table>
128
+ </emailcapture>
129
+ <subscriber_update>
130
+ <table>listrak_remarketing_subscriber_update</table>
131
+ </subscriber_update>
132
+ <review_update>
133
+ <table>listrak_remarketing_review_update</table>
134
+ </review_update>
135
+ <product_attribute_set_map>
136
+ <table>listrak_remarketing_product_attribute_set_map</table>
137
+ </product_attribute_set_map>
138
+ </entities>
139
+ </listrak_mysql4>
140
+ <newsletter>
141
+ <rewrite>
142
+ <subscriber>Listrak_Remarketing_Model_Subscriber</subscriber>
143
+ </rewrite>
144
+ </newsletter>
145
+ </models>
146
+ <resources>
147
+ <listrak_remarketing_setup>
148
+ <setup>
149
+ <module>Listrak_Remarketing</module>
150
+ </setup>
151
+ <connection>
152
+ <use>core_setup</use>
153
+ </connection>
154
+ </listrak_remarketing_setup>
155
+ <listrak_write>
156
+ <connection>
157
+ <use>core_write</use>
158
+ </connection>
159
+ </listrak_write>
160
+ <listrak_read>
161
+ <connection>
162
+ <use>core_read</use>
163
+ </connection>
164
+ </listrak_read>
165
+ </resources>
166
+ <helpers>
167
+ <remarketing>
168
+ <class>Listrak_Remarketing_Helper</class>
169
+ </remarketing>
170
+ </helpers>
171
+ <blocks>
172
+ <remarketing>
173
+ <class>Listrak_Remarketing_Block</class>
174
+ </remarketing>
175
+ </blocks>
176
+ </global>
177
+ <admin>
178
+ <routers>
179
+ <adminhtml>
180
+ <args>
181
+ <modules>
182
+ <Listrak_Remarketing after="Mage_Adminhtml">Listrak_Remarketing</Listrak_Remarketing>
183
+ </modules>
184
+ </args>
185
+ </adminhtml>
186
+ </routers>
187
+ </admin>
188
+ <adminhtml>
189
+ <layout>
190
+ <updates>
191
+ <remarketing>
192
+ <file>remarketing.xml</file>
193
+ </remarketing>
194
+ </updates>
195
+ </layout>
196
+ <events>
197
+ <review_save_commit_after>
198
+ <observers>
199
+ <listrak_remarketing_observer>
200
+ <type>singleton</type>
201
+ <class>listrak/observer</class>
202
+ <method>reviewUpdated</method>
203
+ </listrak_remarketing_observer>
204
+ </observers>
205
+ </review_save_commit_after>
206
+ <review_delete_commit_after>
207
+ <observers>
208
+ <listrak_remarketing_observer>
209
+ <type>singleton</type>
210
+ <class>listrak/observer</class>
211
+ <method>reviewDeleted</method>
212
+ </listrak_remarketing_observer>
213
+ </observers>
214
+ </review_delete_commit_after>
215
+ </events>
216
+ </adminhtml>
217
+ <default>
218
+ <remarketing>
219
+ <modules>
220
+ <core>1</core>
221
+ <reviews>0</reviews>
222
+ </modules>
223
+ <subscription>
224
+ <signup_success_email>0</signup_success_email>
225
+ <unsubscribe_email>0</unsubscribe_email>
226
+ </subscription>
227
+ <modal>
228
+ <enabled>1</enabled>
229
+ <sca>1</sca>
230
+ <activity>0</activity>
231
+ </modal>
232
+ <productcategories>
233
+ <categories_source>default</categories_source>
234
+ <category_level>3</category_level>
235
+ <product_links>0</product_links>
236
+ <purchasable_visibility>site</purchasable_visibility>
237
+ </productcategories>
238
+ </remarketing>
239
+ </default>
240
</config>
app/code/community/Listrak/Remarketing/sql/listrak_remarketing_setup/mysql4-upgrade-1.1.9.5-1.2.0.php ADDED
@@ -0,0 +1,102 @@
1
+ <?php
2
+ /**
3
+ *
4
+ * PHP version 5
5
+ *
6
+ * @category Listrak
7
+ * @package Listrak_Remarketing
8
+ * @author Listrak Magento Team <magento@listrak.com>
9
+ * @copyright 2011 Listrak Inc
10
+ * @license http://s1.listrakbi.com/licenses/magento.txt License For Customer Use of Listrak Software
11
+ * @link http://www.listrak.com
12
+ */
13
+
14
+ /* @var Mage_Core_Model_Resource_Setup $installer */
15
+ $installer = $this;
16
+ $installer->startSetup();
17
+
18
+ $installer->run(
19
+ "
20
+ select if (
21
+ exists(
22
+ select distinct index_name from information_schema.statistics
23
+ where table_name = '{$this->getTable('listrak/review_update')}' and index_name = 'review_update_review_id_index'
24
+ )
25
+ ,'select ''index review_update_review_id_index exists'' _______;'
26
+ ,'create index review_update_review_id_index on {$this->getTable('listrak/review_update')} (review_id)') into @a;
27
+
28
+ PREPARE stmt1 FROM @a;
29
+ EXECUTE stmt1;
30
+ DEALLOCATE PREPARE stmt1;
31
+
32
+ select if (
33
+ exists(
34
+ select distinct index_name from information_schema.statistics
35
+ where table_name = '{$this->getTable('listrak/review_update')}' and index_name = 'review_update_entity_id_index'
36
+ )
37
+ ,'select ''index review_update_entity_id_index exists'' _______;'
38
+ ,'create index review_update_entity_id_index on {$this->getTable('listrak/review_update')} (entity_id)') into @b;
39
+
40
+ PREPARE stmt2 FROM @b;
41
+ EXECUTE stmt2;
42
+ DEALLOCATE PREPARE stmt2;
43
+
44
+ select if (
45
+ exists(
46
+ select distinct index_name from information_schema.statistics
47
+ where table_name = '{$this->getTable('listrak/review_update')}' and index_name = 'review_update_activity_index'
48
+ )
49
+ ,'select ''index review_update_entity_id_index exists'' _______;'
50
+ ,'create index review_update_activity_index on {$this->getTable('listrak/review_update')} (activity)') into @c;
51
+
52
+ PREPARE stmt3 FROM @c;
53
+ EXECUTE stmt3;
54
+ DEALLOCATE PREPARE stmt3;
55
+
56
+
57
+ select if (
58
+ exists(
59
+ select distinct index_name from information_schema.statistics
60
+ where table_name = '{$this->getTable('listrak/subscriber_update')}' and index_name = 'subscriber_update_subscriber_id_index'
61
+ )
62
+ ,'select ''index subscriber_update_subscriber_id_index exists'' _______;'
63
+ ,'create index subscriber_update_subscriber_id_index on {$this->getTable('listrak/subscriber_update')} (subscriber_id)') into @e;
64
+
65
+ PREPARE stmt5 FROM @e;
66
+ EXECUTE stmt5;
67
+ DEALLOCATE PREPARE stmt5;
68
+
69
+ select if (
70
+ exists(
71
+ select distinct index_name from information_schema.statistics
72
+ where table_name = '{$this->getTable('listrak/subscriber_update')}' and index_name = 'subscriber_update_updated_at_index'
73
+ )
74
+ ,'select ''index subscriber_update_updated_at_index exists'' _______;'
75
+ ,'create index subscriber_update_updated_at_index on {$this->getTable('listrak/subscriber_update')} (updated_at)') into @f;
76
+
77
+ PREPARE stmt6 FROM @f;
78
+ EXECUTE stmt6;
79
+ DEALLOCATE PREPARE stmt6;
80
+
81
+
82
+ select if (
83
+ exists(
84
+ select distinct index_name from information_schema.statistics
85
+ where table_name = '{$this->getTable('listrak/emailcapture')}' and index_name = 'listrak_remarketing_emailcapture_page_index'
86
+ )
87
+ ,'select ''index listrak_remarketing_emailcapture_page_index exists'' _______;'
88
+ ,'create index listrak_remarketing_emailcapture_page_index on {$this->getTable('listrak/emailcapture')} (page)') into @g;
89
+
90
+ PREPARE stmt7 FROM @g;
91
+ EXECUTE stmt7;
92
+ DEALLOCATE PREPARE stmt7;
93
+ ");
94
+
95
+ try {
96
+ /* @var Listrak_Remarketing_Model_Log $log */
97
+ $log = Mage::getModel("listrak/log");
98
+ $log->addMessage("1.1.9.5-1.2.0 update");
99
+ } catch (Exception $ex) {
100
+ }
101
+
102
+ $installer->endSetup();
app/design/adminhtml/default/default/layout/remarketing.xml CHANGED
@@ -1,15 +1,52 @@
1
- <?xml version="1.0"?>
2
- <!--
3
- /**
4
- * Listrak Remarketing Magento Extension Ver. 1.0.0 - Copyright (c) 2011 Listrak, Inc.
5
- */
6
- -->
7
- <layout>
8
- <default>
9
- <reference name="notifications">
10
- <block type="remarketing/adminhtml_notifications"
11
- name="remarketing_notifications"
12
- as="remarketing_notifications"/>
13
- </reference>
14
- </default>
15
</layout>
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * Listrak Remarketing Magento Extension Ver. 1.0.0 - Copyright (c) 2011 Listrak, Inc.
5
+ */
6
+ -->
7
+ <layout>
8
+ <default>
9
+ <reference name="notifications">
10
+ <block type="remarketing/adminhtml_notifications"
11
+ name="remarketing_notifications"
12
+ as="remarketing_notifications"/>
13
+ </reference>
14
+ </default>
15
+
16
+ <adminhtml_remarketing_emailcapture_index>
17
+ <reference name="content">
18
+ <block type="remarketing/adminhtml_emailcapture" name="remarketing_emailcapture" />
19
+ </reference>
20
+ </adminhtml_remarketing_emailcapture_index>
21
+ <adminhtml_remarketing_emailcapture_edit>
22
+ <reference name="left">
23
+ <block type="remarketing/adminhtml_emailcapture_edit_tabs" name="remarketing_emailcapture_tabs"/>
24
+ </reference>
25
+ <reference name="content">
26
+ <block type="remarketing/adminhtml_emailcapture_edit" name="remarketing_emailcapture_edit" />
27
+ </reference>
28
+ </adminhtml_remarketing_emailcapture_edit>
29
+
30
+ <adminhtml_remarketing_productattributes_index>
31
+ <reference name="content">
32
+ <block type="remarketing/adminhtml_productattributes" name="remarketing_attributes" template="listrak/remarketing/productattributes.phtml">
33
+ <block type="remarketing/adminhtml_productattributes_grid" name="remarketing_attributes_grid" />
34
+ <block type="core/template" name="remarketing_attributes_init" template="listrak/remarketing/productattributes/form/initbrands.phtml">
35
+ <block type="remarketing/adminhtml_productattributes_init_brands_form" name="remarketing_attributes_init_form" />
36
+ </block>
37
+ </block>
38
+ </reference>
39
+ </adminhtml_remarketing_productattributes_index>
40
+ <adminhtml_remarketing_productattributes_edit>
41
+ <reference name="left">
42
+ <block type="remarketing/adminhtml_productattributes_edit_tabs" name="remarketing_attribute_tabs">
43
+ <block type="remarketing/adminhtml_productattributes_edit_tab_form_brand" name="remarketing_attribute_tab_brand" />
44
+ <block type="remarketing/adminhtml_productattributes_edit_tab_form_categories" name="remarketing_attribute_tab_categories"
45
+ template="listrak/remarketing/productattributes/form/categories.phtml" />
46
+ </block>
47
+ </reference>
48
+ <reference name="content">
49
+ <block type="remarketing/adminhtml_productattributes_edit" name="remarketing_attribute_edit" />
50
+ </reference>
51
+ </adminhtml_remarketing_productattributes_edit>
52
</layout>
app/design/adminhtml/default/default/template/listrak/remarketing/productattributes/form/categories.phtml CHANGED
@@ -155,17 +155,18 @@
155
</table>
156
<script type="text/javascript">
157
//<![CDATA[
158
function changeCategoriesSourceOption() {
159
var configSource = $('categories_use_config_source').checked;
160
var catSource = configSource
161
? $('categories_source_default').value
162
: $('categories_source').value;
163
- var showSelect = catSource == 'attributes';
164
165
var catRow = $('categories_category_attribute').up('tr');
166
var subcatRow = $('categories_subcategory_attribute').up('tr');
167
168
- if (showSelect) {
169
catRow.show();
170
subcatRow.show();
171
}
@@ -194,7 +195,7 @@
194
'listrak_validate_unique_selection_category_attribute',
195
'You may select an attribute only once.',
196
function (attr) {
197
- if (attr == '')
198
return true;
199
200
// make sure brand doesn't have this value
@@ -209,7 +210,7 @@
209
'listrak_validate_unique_selection_subcategory_attribute',
210
'You may select an attribute only once.',
211
function (attr) {
212
- if (attr == '')
213
return true;
214
215
// make sure neither brand nor category has the same value
155
</table>
156
<script type="text/javascript">
157
//<![CDATA[
158
+ var categoriesVisible = null;
159
function changeCategoriesSourceOption() {
160
var configSource = $('categories_use_config_source').checked;
161
var catSource = configSource
162
? $('categories_source_default').value
163
: $('categories_source').value;
164
+ categoriesVisible = catSource == 'attributes';
165
166
var catRow = $('categories_category_attribute').up('tr');
167
var subcatRow = $('categories_subcategory_attribute').up('tr');
168
169
+ if (categoriesVisible) {
170
catRow.show();
171
subcatRow.show();
172
}
195
'listrak_validate_unique_selection_category_attribute',
196
'You may select an attribute only once.',
197
function (attr) {
198
+ if (attr == '' || !categoriesVisible)
199
return true;
200
201
// make sure brand doesn't have this value
210
'listrak_validate_unique_selection_subcategory_attribute',
211
'You may select an attribute only once.',
212
function (attr) {
213
+ if (attr == '' || !categoriesVisible)
214
return true;
215
216
// make sure neither brand nor category has the same value
app/design/adminhtml/default/default/template/listrak/remarketing/productattributes/form/initbrands.phtml CHANGED
@@ -23,7 +23,7 @@
23
</div>
24
<div class="form">
25
<?php echo $this->getFormInitScripts() ?>
26
- <?php echo $this->getFormHtml(); ?>
27
<script type="text/javascript">
28
bulkassignForm = new varienForm('bulk_form', '');
29
$('bulkassign_submit').onclick = function () {
23
</div>
24
<div class="form">
25
<?php echo $this->getFormInitScripts() ?>
26
+ <?php echo $this->getChildHtml(); ?>
27
<script type="text/javascript">
28
bulkassignForm = new varienForm('bulk_form', '');
29
$('bulkassign_submit').onclick = function () {
app/design/frontend/base/default/layout/remarketing.xml CHANGED
@@ -15,7 +15,6 @@
15
<action method="setAlwaysRenderTemplate"><val>true</val></action>
16
</block>
17
<block type="remarketing/require_onescript" name="remarketing_onescript_block" template="remarketing/async_wrapper.phtml">
18
- <block type="remarketing/tracking_click" name="remarketing_click_tracking" />
19
<block type="remarketing/tracking_email" name="remarketing_email_capture" />
20
<block type="remarketing/tracking_activity" name="remarketing_activity_tracking" />
21
</block>
15
<action method="setAlwaysRenderTemplate"><val>true</val></action>
16
</block>
17
<block type="remarketing/require_onescript" name="remarketing_onescript_block" template="remarketing/async_wrapper.phtml">
18
<block type="remarketing/tracking_email" name="remarketing_email_capture" />
19
<block type="remarketing/tracking_activity" name="remarketing_activity_tracking" />
20
</block>
package.xml CHANGED
@@ -1,7 +1,7 @@
1
<?xml version="1.0"?>
2
<package>
3
<name>Listrak_Remarketing</name>
4
- <version>1.1.9.5</version>
5
<stability>stable</stability>
6
<license uri="http://s1.listrakbi.com/licenses/magento.txt">Listrak EULA</license>
7
<channel>community</channel>
@@ -46,11 +46,12 @@ To make sure your marketing list is always current, all newsletter subscribers a
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>Product API minor fix</notes>
50
<authors><author><name>Listrak</name><user>auto-converted</user><email>magento@listrak.com</email></author></authors>
51
- <date>2016-02-11</date>
52
- <time>14:13:51</time>
53
- <contents><target name="magecommunity"><dir name="Listrak"><dir name="Remarketing"><dir name="Block"><dir name="Adminhtml"><dir name="Emailcapture"><dir name="Edit"><dir name="Tab"><file name="Form.php" hash="4b7fc006028ffb6a40df036251f4a466"/></dir><file name="Form.php" hash="fe59d021e009b6582f66b30c1d72d271"/><file name="Tabs.php" hash="18f64d32e33ec092607a8bc8ab8dde42"/></dir><file name="Edit.php" hash="33c259a85ca1e51d16846527b3145580"/><file name="Grid.php" hash="d7f492b26f46ee21aa708c8812c596e6"/></dir><dir name="Productattributes"><dir name="Edit"><dir name="Tab"><dir name="Form"><file name="Brand.php" hash="e666a45cd60aae1d37a0240b97cd51ea"/><file name="Categories.php" hash="180558517932501f8538a738bd8f2c10"/></dir></dir><file name="Form.php" hash="a4776c4adcf8bce5969318a05e3692e5"/><file name="Tabs.php" hash="3919921c3dc15de0ceb22640d4d07fe1"/></dir><dir name="Init"><dir name="Brands"><file name="Form.php" hash="62c96540bd5ea3c64f1c3eb4b4118c26"/></dir><file name="Brands.php" hash="ee8a43d4221feeb9e70e4b39fd927e89"/></dir><file name="Edit.php" hash="46f8d9209680340b07c2536b2e640cb9"/><file name="Grid.php" hash="bd340f7bd23ac2ec5f4d44b04a3a106a"/></dir><file name="Emailcapture.php" hash="990d7597b42f8888dbbea37d6398aba6"/><file name="Notifications.php" hash="956cc8e53866b00405976d0ca3de0be3"/><file name="Productattributes.php" hash="f605df88b6589f57fe375091285c8f5f"/></dir><dir name="Conversion"><file name="Abstract.php" hash="8c4d5ce3775afa48082c0e904a23c890"/><file name="Cart.php" hash="8919929cbfadd2d6be73235bb75fb86c"/><file name="Fingerprint.php" hash="4276a34be1452b591e56c24f93d557f4"/><file name="Order.php" hash="b33c1425bc84a975df58aec0e907ef49"/></dir><dir name="Legacy"><file name="Ecjs.php" hash="84ef445f27b29bbcdd3fc2776f0252ce"/><file name="Modal.php" hash="6d880f77547fb1d0d4da36d4da6136bb"/></dir><dir name="Require"><file name="Activity.php" hash="66155793d621b112ab6f897f1a0d67de"/><file name="Legacy.php" hash="c26f5187a18c35551aeddeb71bf9155c"/><file name="Onescript.php" hash="082f2f148a23655b33a67b9bf1cc24dc"/><file name="Sca.php" hash="c1c501b706c53ce101be25711477e586"/></dir><dir name="Tracking"><file name="Activity.php" hash="4927f310eae79c3922c3876596ee8f14"/><file name="Click.php" hash="8396fdfcd932b8ac8fcb33325e7063c5"/><file name="Email.php" hash="236b0fdc7729a5950d4f55cb10624df1"/><file name="Sca.php" hash="c30f9e69a52dd9059a81ff1ac3fb3d75"/></dir><file name="Base.php" hash="04b804fd6da705242064005e5c84d315"/></dir><dir name="Helper"><dir name="Product"><dir name="Attribute"><dir name="Set"><file name="Map.php" hash="d55cadfab5d9ad38880fa9fd57ea8dbf"/></dir></dir></dir><dir name="Review"><file name="Update.php" hash="8883e702a5871426e768a4d6c8afd12e"/></dir><file name="Data.php" hash="a20ca84a6fa92372717130de24f9d77a"/><file name="Product.php" hash="5007557107b3218a032b6744ccfb7a46"/></dir><dir name="Model"><dir name="Abandonedcart"><dir name="Api"><file name="V2.php" hash="9f6b4dcf6dc3e5786563b874bfe5a628"/></dir><file name="Api.php" hash="34ae38fcf33358a479c76833f87b82f5"/></dir><dir name="Apiextension"><dir name="Api"><file name="V2.php" hash="4c7b906f43dada5f20b4df23fe6fdc46"/></dir><file name="Api.php" hash="79639cd57404da8b00c5e45b89e37404"/></dir><dir name="Cache"><file name="Sca.php" hash="2a2a58d8b4d601ede6df88259373b79d"/></dir><dir name="Click"><dir name="Api"><file name="V2.php" hash="223e139fabb121fc7200f4709f133f46"/></dir><file name="Api.php" hash="ac48e5676e3bf8fb4802cece40ad9e04"/></dir><dir name="Log"><dir name="Api"><file name="V2.php" hash="9263c4ac205a8fc1e32e5d37d21f0daf"/></dir><file name="Api.php" hash="28bb96796dc0bcd9d954c8a032a9e67a"/></dir><dir name="Mysql4"><dir name="Abandonedcart"><file name="Collection.php" hash="d1882ca4499bc5c56d93a171865293bd"/></dir><dir name="Click"><file name="Collection.php" hash="286c6eb5d0aca628823c041761494301"/></dir><dir name="Emailcapture"><file name="Collection.php" hash="d96f0744722f18064a855e0fdc294415"/></dir><dir name="Log"><file name="Collection.php" hash="e5bc090bf9605dfe93d4d1962e66ca5f"/></dir><dir name="Product"><dir name="Attribute"><dir name="Set"><dir name="Map"><file name="Collection.php" hash="34b9084c9c60746ff4cf4712e6b248e1"/></dir><file name="Map.php" hash="78db3f6778a93c9d82b19de660d72db4"/></dir></dir><file name="Collection.php" hash="f39792ca3a30c6cbea5294cedd7cb052"/></dir><dir name="Review"><dir name="Update"><file name="Collection.php" hash="148b67805880086583ecb3f7ae0f4a30"/></dir><file name="Update.php" hash="e894546d22e4da32ecd8cbfa5f57c8ef"/></dir><dir name="Session"><file name="Collection.php" hash="6acf9de01b85cdc1dbbb3bfb1646244a"/></dir><dir name="Subscriberupdate"><file name="Collection.php" hash="77331688f90271c757b5a7d319b9d351"/></dir><file name="Abandonedcart.php" hash="b1f1eb28df646de5f1678967b1f0b183"/><file name="Apiextension.php" hash="0a00057cd50cd462ce3518d5a9519757"/><file name="Click.php" hash="92558ac0fa543da96d0a16ed9f03f333"/><file name="Emailcapture.php" hash="7fb60c5b61155e42674ecb05f4be7de8"/><file name="Log.php" hash="efa5dac7cb3610debf45d10484a80caf"/><file name="Product.php" hash="44e13acab31b9e6cf80f0de7c8472b53"/><file name="Session.php" hash="cdd6a9d97ffbf629002b17a5a8677edf"/><file name="Subscriberupdate.php" hash="b813c47bef3889d2ad2a2c5629722798"/></dir><dir name="Product"><dir name="Api"><file name="V2.php" hash="285034adde0f68c63c084ab480307ec8"/></dir><dir name="Attribute"><dir name="Set"><file name="Map.php" hash="4887562fd27e4c7be060f44f6d603c44"/></dir></dir><dir name="Category"><file name="Source.php" hash="ff8e5347be75728a5325ed628c347d72"/></dir><dir name="Purchasable"><file name="Visibility.php" hash="625efae1b17b73aaf05ed79eaa793360"/></dir><file name="Api.php" hash="0bcbb06a0f0530b592f0629eccb5e9d7"/><file name="Attributes.php" hash="460420f1f7cfb10c411b01d7032c1624"/></dir><dir name="Review"><dir name="Update"><dir name="Api"><file name="V2.php" hash="70d0c2f9811f9f73befe7c2d1f8c1363"/></dir><file name="Api.php" hash="dd2185bf79bde1fa221d280f91aa305b"/></dir><file name="Update.php" hash="ad967b1675f15d2ee6f18bf77239b3a2"/></dir><file name="Abandonedcart.php" hash="73b64fa8e765cae40f2639e0c097f952"/><file name="Apiextension.php" hash="40589bd7b1676e2223a4bf87647679c8"/><file name="Click.php" hash="f0bff55e889b18c0c09f75efd7e6aba4"/><file name="Emailcapture.php" hash="b292bd6eb233454f67ad99d4a0100dc5"/><file name="Log.php" hash="81a87ea8df5b64b57029884694788d9d"/><file name="Observer.php" hash="0b8eafb52fb2c16878614ba18568ab19"/><file name="Product.php" hash="bcb70ef1a133904dc926edc27aa1c96f"/><file name="Session.php" hash="4550d5ca3320827d1381c5b0e3aeb05b"/><file name="Subscriber.php" hash="95fce814868be28873bbb06026a0a74c"/><file name="Subscriberupdate.php" hash="9af7dbc06a76ade1b7add599b53df2dd"/></dir><dir name="controllers"><dir name="Remarketing"><file name="EmailcaptureController.php" hash="2fe6b9cb036e77b482ace04be0c7dd7b"/><file name="ProductattributesController.php" hash="4289f58110e9ac4096f791964319a698"/></dir><file name="AjaxController.php" hash="cb87a8df81ad6691bffe91dc315103a9"/><file name="CartController.php" hash="739fc692206d7ed9aafe8dcedeb1dc7d"/><file name="ConfigController.php" hash="d5d86c3c1383bfa2955e3c62594cc421"/><file name="EmailController.php" hash="bd0d7fb1717c58120cf4f2b5fda38e40"/><file name="TroubleshootingController.php" hash="c4b220b35f026a985d66383f9493423c"/></dir><dir name="etc"><file name="adminhtml.xml" hash="c5e8ade6b6c95176096cd392ccda5b16"/><file name="api.xml" hash="aa1711c3d2a0f4aead42df0c98d55cec"/><file name="cache.xml" hash="d161a338887fd508c10abe159f7a4060"/><file name="config.xml" hash="b243f0c02526eea815c92f0e26ddea86"/><file name="system.xml" hash="50af45b64a41b740dfc92581d0948766"/><file name="wsdl.xml" hash="aed14669c808d20719d348026e12437a"/><file name="wsi.xml" hash="881c87b26f062ebf8929777f6127286b"/></dir><dir name="sql"><dir name="listrak_remarketing_setup"><file name="mysql4-install-1.0.0.php" hash="26f1234ccc6d5505d20e27746f310581"/><file name="mysql4-install-1.1.9.php" hash="08f87628a62d6d2583d529b96a3344d9"/><file name="mysql4-upgrade-1.0.0-1.0.1.php" hash="0b01c013188802e9b325206f8a6464dc"/><file name="mysql4-upgrade-1.0.8-1.0.9.php" hash="862600bc223bc0074b669c5d576a40a4"/><file name="mysql4-upgrade-1.1.0-1.1.1.php" hash="6d1fdaf22e00279fdd6ae2f4073d6a34"/><file name="mysql4-upgrade-1.1.3-1.1.4.php" hash="f9c651f243ca6e6664df57a8cc7b3e41"/><file name="mysql4-upgrade-1.1.4-1.1.5.php" hash="4dc6e11122b62890932940be88838901"/><file name="mysql4-upgrade-1.1.5-1.1.6.php" hash="343ccdc500df5933ab57bc6391e57598"/><file name="mysql4-upgrade-1.1.6-1.1.7.php" hash="78fce151f25f60aba363956a88596781"/><file name="mysql4-upgrade-1.1.7-1.1.8.php" hash="28503560158e4346859450f289f1fe9a"/><file name="mysql4-upgrade-1.1.8-1.1.9.php" hash="f793cdc96107dcfe3d063bda26065158"/></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="42e96a38405dc4b2975e5b185111c351"/></dir><dir name="template"><dir name="remarketing"><file name="async_wrapper.phtml" hash="ce78a31a93be4963ec1556d34f4572d3"/><file name="onescript.phtml" hash="30571a551e2653be8841d56575a76702"/><file name="utils.phtml" hash="b9b128932d453424816c43d531095495"/></dir></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="remarketing.xml" hash="d8065af171ca34e334f29d506217cd65"/></dir><dir name="template"><dir name="listrak"><dir name="remarketing"><dir name="productattributes"><dir name="form"><file name="categories.phtml" hash="80d4a9beaa0bbbfb1bce17af569685b9"/><file name="initbrands.phtml" hash="64eb3bd86b40fa6d9fcdf451cca56b34"/></dir></dir><file name="productattributes.phtml" hash="b22fbe3f7ff1337e5d19104d42447a5f"/></dir></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Listrak_Remarketing.xml" hash="63082a312f4668561da45ccd445a862b"/></dir></target></contents>
54
<compatible/>
55
<dependencies/>
56
</package>
1
<?xml version="1.0"?>
2
<package>
3
<name>Listrak_Remarketing</name>
4
+ <version>1.2.0</version>
5
<stability>stable</stability>
6
<license uri="http://s1.listrakbi.com/licenses/magento.txt">Listrak EULA</license>
7
<channel>community</channel>
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>Efficiency improvements&#xD;
50
+ Security fix</notes>
51
<authors><author><name>Listrak</name><user>auto-converted</user><email>magento@listrak.com</email></author></authors>
52
+ <date>2016-04-28</date>
53
+ <time>17:08:32</time>
54
+ <contents><target name="magecommunity"><dir name="Listrak"><dir name="Remarketing"><dir name="Block"><dir name="Adminhtml"><dir name="Emailcapture"><dir name="Edit"><dir name="Tab"><file name="Form.php" hash="04f1de0ff518a9fd51dc7eef50d5ec16"/></dir><file name="Form.php" hash="c90bb70290872cb88b0d27c3ae83db70"/><file name="Tabs.php" hash="63e79238ac854f6c5c7e4c4979ea327b"/></dir><file name="Edit.php" hash="94b2384476aeccae8e68d0eed8ecaa4a"/><file name="Grid.php" hash="ba6e7aaff90477c0066fd2222d2080e0"/></dir><dir name="Productattributes"><dir name="Edit"><dir name="Tab"><dir name="Form"><file name="Brand.php" hash="27a7ca71c0ea5472a9092d98a67786b7"/><file name="Categories.php" hash="2a04e488a514ea9d5927fa8e26859c9f"/></dir></dir><file name="Form.php" hash="a4776c4adcf8bce5969318a05e3692e5"/><file name="Tabs.php" hash="7ef120f614c00571c8e447b7be4c200a"/></dir><dir name="Init"><dir name="Brands"><file name="Form.php" hash="62c96540bd5ea3c64f1c3eb4b4118c26"/></dir></dir><file name="Edit.php" hash="63ad349cdd3847f093b6493156b235ad"/><file name="Grid.php" hash="c5af2b44fb96b2eaf5eb34c89437beb0"/></dir><file name="Emailcapture.php" hash="e2ee3edbec92fb8e98ab9bfa802a894e"/><file name="Notifications.php" hash="956cc8e53866b00405976d0ca3de0be3"/><file name="Productattributes.php" hash="9f498425f615344f7172eb3c0be068b9"/></dir><dir name="Conversion"><file name="Abstract.php" hash="d1b30d9820351ff0a156027d0e9a90a0"/><file name="Cart.php" hash="8919929cbfadd2d6be73235bb75fb86c"/><file name="Fingerprint.php" hash="4276a34be1452b591e56c24f93d557f4"/><file name="Order.php" hash="b33c1425bc84a975df58aec0e907ef49"/></dir><dir name="Legacy"><file name="Ecjs.php" hash="84ef445f27b29bbcdd3fc2776f0252ce"/><file name="Modal.php" hash="6d880f77547fb1d0d4da36d4da6136bb"/></dir><dir name="Require"><file name="Activity.php" hash="66155793d621b112ab6f897f1a0d67de"/><file name="Legacy.php" hash="c26f5187a18c35551aeddeb71bf9155c"/><file name="Onescript.php" hash="082f2f148a23655b33a67b9bf1cc24dc"/><file name="Sca.php" hash="c1c501b706c53ce101be25711477e586"/></dir><dir name="Tracking"><file name="Activity.php" hash="4927f310eae79c3922c3876596ee8f14"/><file name="Email.php" hash="236b0fdc7729a5950d4f55cb10624df1"/><file name="Sca.php" hash="c30f9e69a52dd9059a81ff1ac3fb3d75"/></dir><file name="Base.php" hash="04b804fd6da705242064005e5c84d315"/></dir><dir name="Helper"><dir name="Product"><dir name="Attribute"><dir name="Set"><file name="Map.php" hash="d55cadfab5d9ad38880fa9fd57ea8dbf"/></dir></dir></dir><dir name="Review"><file name="Update.php" hash="8883e702a5871426e768a4d6c8afd12e"/></dir><file name="Data.php" hash="a20ca84a6fa92372717130de24f9d77a"/><file name="Product.php" hash="c7e983893a432ee5a567dceb1b44ec6d"/></dir><dir name="Model"><dir name="Abandonedcart"><dir name="Api"><file name="V2.php" hash="9f6b4dcf6dc3e5786563b874bfe5a628"/></dir><file name="Api.php" hash="34ae38fcf33358a479c76833f87b82f5"/></dir><dir name="Apiextension"><dir name="Api"><file name="V2.php" hash="4c7b906f43dada5f20b4df23fe6fdc46"/></dir><file name="Api.php" hash="da5a1c226b3f4e5fbae38e87306fa9f5"/></dir><dir name="Cache"><file name="Sca.php" hash="2a2a58d8b4d601ede6df88259373b79d"/></dir><dir name="Click"><dir name="Api"><file name="V2.php" hash="223e139fabb121fc7200f4709f133f46"/></dir><file name="Api.php" hash="ac48e5676e3bf8fb4802cece40ad9e04"/></dir><dir name="Log"><dir name="Api"><file name="V2.php" hash="9263c4ac205a8fc1e32e5d37d21f0daf"/></dir><file name="Api.php" hash="28bb96796dc0bcd9d954c8a032a9e67a"/></dir><dir name="Mysql4"><dir name="Abandonedcart"><file name="Collection.php" hash="d1882ca4499bc5c56d93a171865293bd"/></dir><dir name="Click"><file name="Collection.php" hash="286c6eb5d0aca628823c041761494301"/></dir><dir name="Emailcapture"><file name="Collection.php" hash="d96f0744722f18064a855e0fdc294415"/></dir><dir name="Log"><file name="Collection.php" hash="e5bc090bf9605dfe93d4d1962e66ca5f"/></dir><dir name="Product"><dir name="Attribute"><dir name="Set"><dir name="Map"><file name="Collection.php" hash="ec333aadcaa4ea50f234ee73bf3191fe"/></dir><file name="Map.php" hash="78db3f6778a93c9d82b19de660d72db4"/></dir></dir><file name="Collection.php" hash="f39792ca3a30c6cbea5294cedd7cb052"/></dir><dir name="Review"><dir name="Update"><file name="Collection.php" hash="148b67805880086583ecb3f7ae0f4a30"/></dir><file name="Update.php" hash="e894546d22e4da32ecd8cbfa5f57c8ef"/></dir><dir name="Session"><file name="Collection.php" hash="6acf9de01b85cdc1dbbb3bfb1646244a"/></dir><dir name="Subscriberupdate"><file name="Collection.php" hash="77331688f90271c757b5a7d319b9d351"/></dir><file name="Abandonedcart.php" hash="69e8472352932cf4702455eca6726749"/><file name="Apiextension.php" hash="0a00057cd50cd462ce3518d5a9519757"/><file name="Click.php" hash="92558ac0fa543da96d0a16ed9f03f333"/><file name="Emailcapture.php" hash="7fb60c5b61155e42674ecb05f4be7de8"/><file name="Log.php" hash="efa5dac7cb3610debf45d10484a80caf"/><file name="Product.php" hash="44e13acab31b9e6cf80f0de7c8472b53"/><file name="Session.php" hash="d17bc48f2b2c5f4b70799cec793a221a"/><file name="Subscriberupdate.php" hash="b813c47bef3889d2ad2a2c5629722798"/></dir><dir name="Product"><dir name="Api"><file name="V2.php" hash="285034adde0f68c63c084ab480307ec8"/></dir><dir name="Attribute"><dir name="Set"><file name="Map.php" hash="4887562fd27e4c7be060f44f6d603c44"/></dir></dir><dir name="Category"><file name="Source.php" hash="ff8e5347be75728a5325ed628c347d72"/></dir><dir name="Purchasable"><file name="Visibility.php" hash="625efae1b17b73aaf05ed79eaa793360"/></dir><file name="Api.php" hash="0bcbb06a0f0530b592f0629eccb5e9d7"/><file name="Attributes.php" hash="460420f1f7cfb10c411b01d7032c1624"/></dir><dir name="Review"><dir name="Update"><dir name="Api"><file name="V2.php" hash="70d0c2f9811f9f73befe7c2d1f8c1363"/></dir><file name="Api.php" hash="dd2185bf79bde1fa221d280f91aa305b"/></dir><file name="Update.php" hash="ad967b1675f15d2ee6f18bf77239b3a2"/></dir><file name="Abandonedcart.php" hash="73b64fa8e765cae40f2639e0c097f952"/><file name="Apiextension.php" hash="40589bd7b1676e2223a4bf87647679c8"/><file name="Click.php" hash="f0bff55e889b18c0c09f75efd7e6aba4"/><file name="Emailcapture.php" hash="b292bd6eb233454f67ad99d4a0100dc5"/><file name="Log.php" hash="81a87ea8df5b64b57029884694788d9d"/><file name="Observer.php" hash="0b8eafb52fb2c16878614ba18568ab19"/><file name="Product.php" hash="bcb70ef1a133904dc926edc27aa1c96f"/><file name="Session.php" hash="4550d5ca3320827d1381c5b0e3aeb05b"/><file name="Subscriber.php" hash="95fce814868be28873bbb06026a0a74c"/><file name="Subscriberupdate.php" hash="9af7dbc06a76ade1b7add599b53df2dd"/></dir><dir name="controllers"><dir name="Remarketing"><file name="EmailcaptureController.php" hash="cf6ba46eae1a32d17cab3f22c487191e"/><file name="ProductattributesController.php" hash="84728119dd9155ec9ae2c3ba78161c26"/></dir><file name="AjaxController.php" hash="cb87a8df81ad6691bffe91dc315103a9"/><file name="CartController.php" hash="045ce9b5d7e7ca7288d956ea80671e02"/><file name="ConfigController.php" hash="d5d86c3c1383bfa2955e3c62594cc421"/><file name="EmailController.php" hash="108a7640858866a31e38f18d086c1378"/></dir><dir name="etc"><file name="adminhtml.xml" hash="c5e8ade6b6c95176096cd392ccda5b16"/><file name="api.xml" hash="aa1711c3d2a0f4aead42df0c98d55cec"/><file name="cache.xml" hash="d161a338887fd508c10abe159f7a4060"/><file name="config.xml" hash="f026b3a221c7cb437e35c30b655f33a2"/><file name="system.xml" hash="50af45b64a41b740dfc92581d0948766"/><file name="wsdl.xml" hash="aed14669c808d20719d348026e12437a"/><file name="wsi.xml" hash="881c87b26f062ebf8929777f6127286b"/></dir><dir name="sql"><dir name="listrak_remarketing_setup"><file name="mysql4-install-1.0.0.php" hash="26f1234ccc6d5505d20e27746f310581"/><file name="mysql4-install-1.1.9.php" hash="08f87628a62d6d2583d529b96a3344d9"/><file name="mysql4-upgrade-1.0.0-1.0.1.php" hash="0b01c013188802e9b325206f8a6464dc"/><file name="mysql4-upgrade-1.0.8-1.0.9.php" hash="862600bc223bc0074b669c5d576a40a4"/><file name="mysql4-upgrade-1.1.0-1.1.1.php" hash="6d1fdaf22e00279fdd6ae2f4073d6a34"/><file name="mysql4-upgrade-1.1.3-1.1.4.php" hash="f9c651f243ca6e6664df57a8cc7b3e41"/><file name="mysql4-upgrade-1.1.4-1.1.5.php" hash="4dc6e11122b62890932940be88838901"/><file name="mysql4-upgrade-1.1.5-1.1.6.php" hash="343ccdc500df5933ab57bc6391e57598"/><file name="mysql4-upgrade-1.1.6-1.1.7.php" hash="78fce151f25f60aba363956a88596781"/><file name="mysql4-upgrade-1.1.7-1.1.8.php" hash="28503560158e4346859450f289f1fe9a"/><file name="mysql4-upgrade-1.1.8-1.1.9.php" hash="f793cdc96107dcfe3d063bda26065158"/><file name="mysql4-upgrade-1.1.9.5-1.2.0.php" hash="73cae78a3c2c9cf40f21cced17cc0998"/></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="03744ddaa40dfde021f93e0f78b57b5f"/></dir><dir name="template"><dir name="remarketing"><file name="async_wrapper.phtml" hash="ce78a31a93be4963ec1556d34f4572d3"/><file name="onescript.phtml" hash="30571a551e2653be8841d56575a76702"/><file name="utils.phtml" hash="b9b128932d453424816c43d531095495"/></dir></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="remarketing.xml" hash="ec4a48c258fd9d64f1e08b00e896176d"/></dir><dir name="template"><dir name="listrak"><dir name="remarketing"><dir name="productattributes"><dir name="form"><file name="categories.phtml" hash="fafa8fe03cfdd930e4c7b45b84793ccb"/><file name="initbrands.phtml" hash="430fa0287c490f597543669883f69cee"/></dir></dir><file name="productattributes.phtml" hash="b22fbe3f7ff1337e5d19104d42447a5f"/></dir></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Listrak_Remarketing.xml" hash="63082a312f4668561da45ccd445a862b"/></dir></target></contents>
55
<compatible/>
56
<dependencies/>
57
</package>