dotmailermagento - Version 5.2.0

Version Notes

New Automation improvements.

Transactional Emails, Custom Customer Attributes, Reports & More

This release includes some great new functionality as well as including a number of fixes.

##IMPORTANT## Dynamic content URL's have been changed so will need updating within your dotMailer account to ensure they continue working correctly. ##IMPORTANT##

Release Highlights:

+ Transactional Emails: Replace the standard emails Magento currently sends to your customers and guests with beautifully created campaigns from dotMailer. Emails include new account, new order, dispatch, cancel and refund emails. **A dotMailer child account is required to enable this functionality**

+ Custom Customer Attributes: Sync your custom created customer attributes to dotMailer

+ Dynamic Content Styling: Apply custom CSS to all dynamic content pages e.g. font size, colour and type.

+ Reporting: Now within the Newsletter section in Magento you can view the import status of contacts and orders, as well as the sending status of transactional and lost basket emails.

Download this release

Release Info

Developer Calin Diacon
Extension dotmailermagento
Version 5.2.0
Comparing to
See all releases


Code changes from version 5.1.1 to 5.2.0

Files changed (127) hide show
  1. app/code/community/Dotdigitalgroup/Email/Block/Adminhtml/Automation/Edit.php +0 -35
  2. app/code/community/Dotdigitalgroup/Email/Block/Adminhtml/Automation/Edit/Form.php +0 -26
  3. app/code/community/Dotdigitalgroup/Email/Block/Adminhtml/Automation/Grid.php +0 -11
  4. app/code/community/Dotdigitalgroup/Email/Block/Adminhtml/Column/Renderer/Status.php +2 -2
  5. app/code/community/Dotdigitalgroup/Email/Block/Adminhtml/Column/Renderer/Sync.php +3 -1
  6. app/code/community/Dotdigitalgroup/Email/Block/Adminhtml/Customer/Tab/Stats.php +2 -2
  7. app/code/community/Dotdigitalgroup/Email/Block/Adminhtml/Dashboard.php +1 -1
  8. app/code/community/Dotdigitalgroup/Email/Block/Adminhtml/Dashboard/Tabs/Analysis.php +2 -2
  9. app/code/community/Dotdigitalgroup/Email/Block/Adminhtml/Dashboard/Tabs/Analysis/Abandonedcarts.php +2 -2
  10. app/code/community/Dotdigitalgroup/Email/Block/Adminhtml/Dashboard/Tabs/Analysis/Customer.php +2 -2
  11. app/code/community/Dotdigitalgroup/Email/Block/Adminhtml/Dashboard/Tabs/Analysis/Rfm.php +1 -1
  12. app/code/community/Dotdigitalgroup/Email/Block/Adminhtml/Dashboard/Tabs/Analysis/Sales.php +1 -1
  13. app/code/community/Dotdigitalgroup/Email/Block/Adminhtml/Dashboard/Tabs/Analysis/Subscriber.php +2 -2
  14. app/code/community/Dotdigitalgroup/Email/Block/Adminhtml/Dashboard/Tabs/General.php +2 -2
  15. app/code/community/Dotdigitalgroup/Email/Block/Adminhtml/Dashboard/Tabs/General/Data.php +1 -1
  16. app/code/community/Dotdigitalgroup/Email/Block/Adminhtml/Dashboard/Tabs/Status.php +2 -45
  17. app/code/community/Dotdigitalgroup/Email/Block/Adminhtml/Importer/Grid.php +0 -8
  18. app/code/community/Dotdigitalgroup/Email/Block/Adminhtml/System/Advanced/Runimportersync.php +22 -0
  19. app/code/community/Dotdigitalgroup/Email/Block/Adminhtml/System/Automation/Connect.php +2 -1
  20. app/code/community/Dotdigitalgroup/Email/Block/Customer/Account/Books.php +5 -5
  21. app/code/community/Dotdigitalgroup/Email/Block/Edc.php +8 -8
  22. app/code/community/Dotdigitalgroup/Email/Block/Feefo.php +12 -8
  23. app/code/community/Dotdigitalgroup/Email/Block/Order.php +1 -40
  24. app/code/community/Dotdigitalgroup/Email/Block/Order/Creditmemo.php +1 -1
  25. app/code/community/Dotdigitalgroup/Email/Block/Order/Invoice.php +1 -1
  26. app/code/community/Dotdigitalgroup/Email/Block/Order/Shipping.php +1 -1
  27. app/code/community/Dotdigitalgroup/Email/Block/Recommended/Products.php +4 -3
  28. app/code/community/Dotdigitalgroup/Email/Block/Recommended/Wishlistproducts.php +9 -16
  29. app/code/community/Dotdigitalgroup/Email/Block/System/Email/Template/Edit.php +0 -13
  30. app/code/community/Dotdigitalgroup/Email/Block/Wishlist.php +7 -15
  31. app/code/community/Dotdigitalgroup/Email/Helper/Config.php +19 -11
  32. app/code/community/Dotdigitalgroup/Email/Helper/Dashboard.php +2 -1
  33. app/code/community/Dotdigitalgroup/Email/Helper/Data.php +56 -20
  34. app/code/community/Dotdigitalgroup/Email/Helper/File.php +8 -8
  35. app/code/community/Dotdigitalgroup/Email/Helper/Review.php +0 -90
  36. app/code/community/Dotdigitalgroup/Email/Model/Abstract/Rest.php +1 -1
  37. app/code/community/Dotdigitalgroup/Email/Model/Adminhtml/Observer.php +6 -5
  38. app/code/community/Dotdigitalgroup/Email/Model/Adminhtml/Source/Addressbookspref.php +7 -5
  39. app/code/community/Dotdigitalgroup/Email/Model/Adminhtml/Source/Automation/Programme.php +10 -6
  40. app/code/community/Dotdigitalgroup/Email/Model/Adminhtml/Source/Publicdatafields.php +2 -2
  41. app/code/community/Dotdigitalgroup/Email/Model/Adminhtml/Source/Styling.php +1 -0
  42. app/code/community/Dotdigitalgroup/Email/Model/Adminhtml/Source/Sync/Yesno.php +8 -7
  43. app/code/community/Dotdigitalgroup/Email/Model/Adminhtml/Source/Transactional/Ssl.php +0 -12
  44. app/code/community/Dotdigitalgroup/Email/Model/Api2/Subscriber/Rest/Admin/V1.php +6 -6
  45. app/code/community/Dotdigitalgroup/Email/Model/Apiconnector/Client.php +1 -1
  46. app/code/community/Dotdigitalgroup/Email/Model/Apiconnector/Contact.php +2 -2
  47. app/code/community/Dotdigitalgroup/Email/Model/Apiconnector/Customer.php +9 -10
  48. app/code/community/Dotdigitalgroup/Email/Model/Automation.php +4 -3
  49. app/code/community/Dotdigitalgroup/Email/Model/Campaign.php +1 -1
  50. app/code/community/Dotdigitalgroup/Email/Model/Catalog.php +8 -8
  51. app/code/community/Dotdigitalgroup/Email/Model/Connector/Account.php +15 -15
  52. app/code/community/Dotdigitalgroup/Email/Model/Connector/Campaign.php +1 -1
  53. app/code/community/Dotdigitalgroup/Email/Model/Connector/Order.php +13 -14
  54. app/code/community/Dotdigitalgroup/Email/Model/Connector/Product.php +7 -7
  55. app/code/community/Dotdigitalgroup/Email/Model/Connector/Quote.php +6 -6
  56. app/code/community/Dotdigitalgroup/Email/Model/Contact.php +3 -2
  57. app/code/community/Dotdigitalgroup/Email/Model/Cron.php +13 -9
  58. app/code/community/Dotdigitalgroup/Email/Model/Customer/Observer.php +4 -3
  59. app/code/community/Dotdigitalgroup/Email/Model/Customer/Wishlist/Item.php +16 -16
  60. app/code/community/Dotdigitalgroup/Email/Model/Email/Template.php +1 -4
  61. app/code/community/Dotdigitalgroup/Email/Model/Importer.php +35 -34
  62. app/code/community/Dotdigitalgroup/Email/Model/Newsletter/Observer.php +1 -1
  63. app/code/community/Dotdigitalgroup/Email/Model/Order.php +2 -1
  64. app/code/community/Dotdigitalgroup/Email/Model/Quote.php +42 -34
  65. app/code/community/Dotdigitalgroup/Email/Model/Resource/Contact.php +13 -8
  66. app/code/community/Dotdigitalgroup/Email/Model/Review.php +6 -6
  67. app/code/community/Dotdigitalgroup/Email/Model/Rules.php +24 -23
  68. app/code/community/Dotdigitalgroup/Email/Model/Sales/Observer.php +71 -72
  69. app/code/community/Dotdigitalgroup/Email/Model/Sales/Order.php +60 -62
  70. app/code/community/Dotdigitalgroup/Email/Model/Sales/Quote.php +13 -12
  71. app/code/community/Dotdigitalgroup/Email/Model/Sms/Campaign.php +7 -7
  72. app/code/community/Dotdigitalgroup/Email/Model/Wishlist.php +8 -8
  73. app/code/community/Dotdigitalgroup/Email/controllers/Adminhtml/ConnectorController.php +15 -2
  74. app/code/community/Dotdigitalgroup/Email/controllers/Adminhtml/CustomerController.php +0 -12
  75. app/code/community/Dotdigitalgroup/Email/controllers/Adminhtml/Email/AutomationController.php +0 -5
  76. app/code/community/Dotdigitalgroup/Email/controllers/Adminhtml/Email/CampaignController.php +1 -1
  77. app/code/community/Dotdigitalgroup/Email/controllers/Adminhtml/Email/ContactController.php +1 -1
  78. app/code/community/Dotdigitalgroup/Email/controllers/Adminhtml/RulesController.php +6 -1
  79. app/code/community/Dotdigitalgroup/Email/controllers/DynamicContentController.php +2 -2
  80. app/code/community/Dotdigitalgroup/Email/controllers/EmailController.php +6 -6
  81. app/code/community/Dotdigitalgroup/Email/controllers/ResponseController.php +1 -1
  82. app/code/community/Dotdigitalgroup/Email/etc/adminhtml.xml +1 -1
  83. app/code/community/Dotdigitalgroup/Email/etc/config.xml +1 -6
  84. app/code/community/Dotdigitalgroup/Email/etc/files.yaml +0 -27
  85. app/code/community/Dotdigitalgroup/Email/etc/system.xml +14 -13
  86. app/code/community/Dotdigitalgroup/Email/sql/email_connector_setup/mysql4-install-3.0.0.php +1 -2
  87. app/code/community/Dotdigitalgroup/Email/sql/email_connector_setup/mysql4-install-4.0.0.php +11 -11
  88. app/code/community/Dotdigitalgroup/Email/sql/email_connector_setup/mysql4-install-5.0.0.php +48 -49
  89. app/code/community/Dotdigitalgroup/Email/sql/email_connector_setup/mysql4-upgrade-2.0.3-2.0.4.php +2 -1
  90. app/code/community/Dotdigitalgroup/Email/sql/email_connector_setup/mysql4-upgrade-3.3.0-3.3.1.php +4 -4
  91. app/code/community/Dotdigitalgroup/Email/sql/email_connector_setup/mysql4-upgrade-3.4.0-4.0.0.php +8 -7
  92. app/code/community/Dotdigitalgroup/Email/sql/email_connector_setup/mysql4-upgrade-4.0.0-4.1.0.php +6 -6
  93. app/design/adminhtml/default/default/template/connector/customer/stats.phtml +1 -1
  94. app/design/adminhtml/default/default/template/connector/dashboard/accountbar.phtml +3 -3
  95. app/design/adminhtml/default/default/template/connector/dashboard/logs.phtml +2 -1
  96. app/design/adminhtml/default/default/template/connector/dashboard/status.phtml +4 -4
  97. app/design/adminhtml/default/default/template/connector/dashboard/tabs.phtml +12 -7
  98. app/design/adminhtml/default/default/template/connector/dashboard/tabs/data.phtml +5 -5
  99. app/design/adminhtml/default/default/template/connector/system/email/template/edit.phtml +0 -295
  100. app/design/frontend/base/default/template/connector/additional-newsletter-pref.phtml +7 -3
  101. app/design/frontend/base/default/template/connector/basket.phtml +22 -23
  102. app/design/frontend/base/default/template/connector/coupon.phtml +1 -1
  103. app/design/frontend/base/default/template/connector/creditmemo/items.phtml +0 -140
  104. app/design/frontend/base/default/template/connector/creditmemo/new.phtml +0 -80
  105. app/design/frontend/base/default/template/connector/creditmemo/newguest.phtml +0 -81
  106. app/design/frontend/base/default/template/connector/creditmemo/update.phtml +0 -34
  107. app/design/frontend/base/default/template/connector/creditmemo/updateguest.phtml +0 -34
  108. app/design/frontend/base/default/template/connector/email_capture.phtml +3 -3
  109. app/design/frontend/base/default/template/connector/email_capture_init.phtml +1 -1
  110. app/design/frontend/base/default/template/connector/invoice/new.phtml +0 -90
  111. app/design/frontend/base/default/template/connector/invoice/newguest.phtml +0 -83
  112. app/design/frontend/base/default/template/connector/invoice/update.phtml +0 -36
  113. app/design/frontend/base/default/template/connector/invoice/updateguest.phtml +0 -37
  114. app/design/frontend/base/default/template/connector/order/items.phtml +0 -138
  115. app/design/frontend/base/default/template/connector/order/new.phtml +0 -82
  116. app/design/frontend/base/default/template/connector/order/newguest.phtml +0 -84
  117. app/design/frontend/base/default/template/connector/order/update.phtml +0 -36
  118. app/design/frontend/base/default/template/connector/order/updateguest.phtml +0 -37
  119. app/design/frontend/base/default/template/connector/product/list.phtml +50 -43
  120. app/design/frontend/base/default/template/connector/product/nosto.phtml +1 -1
  121. app/design/frontend/base/default/template/connector/review.phtml +113 -111
  122. app/design/frontend/base/default/template/connector/shipping/new.phtml +0 -81
  123. app/design/frontend/base/default/template/connector/shipping/newguest.phtml +0 -82
  124. app/design/frontend/base/default/template/connector/shipping/update.phtml +0 -35
  125. app/design/frontend/base/default/template/connector/shipping/updateguest.phtml +0 -35
  126. app/design/frontend/base/default/template/connector/wishlist.phtml +79 -78
  127. package.xml +4 -4
app/code/community/Dotdigitalgroup/Email/Block/Adminhtml/Automation/Edit.php DELETED
@@ -1,35 +0,0 @@
1
- <?php
2
-
3
- class Dotdigitalgroup_Email_Block_Adminhtml_Automation_Edit extends Mage_Adminhtml_Block_Widget_Form_Container
4
- {
5
- public function __construct()
6
- {
7
- parent::__construct();
8
- $this->_blockGroup = 'ddg_automation';
9
- $this->_controller = 'adminhtml_automation';
10
- $this->_updateButton('delete', 'label', Mage::helper('ddg')->__('Delete Contact'));
11
- $this->_addButton('saveandcontinue', array(
12
- 'label' => Mage::helper('ddg')->__('Save And Continue Edit'),
13
- 'onclick' => 'saveAndContinueEdit()',
14
- 'class' => 'save',
15
- ), -100);
16
- $this->_formScripts[] = "
17
- function saveAndContinueEdit(){
18
- editForm.submit($('edit_form').action+'back/edit/');
19
- }
20
- ";
21
- }
22
-
23
- /**
24
- * HEader text.
25
- * @return string
26
- */
27
- public function getHeaderText()
28
- {
29
- if ( Mage::registry('automation_data') && Mage::registry('contact_data')->getId() ) {
30
- return Mage::helper('ddg')->__("Edit Automation '%s'", $this->htmlEscape(Mage::registry('contact_data')->getContact()));
31
- } else {
32
- return Mage::helper('ddg')->__('Add Automation');
33
- }
34
- }
35
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Dotdigitalgroup/Email/Block/Adminhtml/Automation/Edit/Form.php DELETED
@@ -1,26 +0,0 @@
1
- <?php
2
-
3
- class Dotdigitalgroup_Email_Block_Adminhtml_Automation_Edit_Form extends Mage_Adminhtml_Block_Widget_Form
4
- {
5
-
6
- /**
7
- * Contact Form.
8
- * @return Mage_Adminhtml_Block_Widget_Form
9
- * @throws Exception
10
- */
11
- protected function _prepareForm()
12
- {
13
- $form = new Varien_Data_Form(array(
14
- 'id' => 'edit_form',
15
- 'action' => $this->getUrl('*/*/save', array('id' => $this->getRequest()->getParam('id'), 'store' => $this->getRequest()->getParam('store'))),
16
- 'method' => 'post',
17
- 'enctype' => 'multipart/form-data'
18
- )
19
- );
20
- $form->setUseContainer(true);
21
-
22
- $this->setForm($form);
23
- return parent::_prepareForm();
24
- }
25
-
26
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Dotdigitalgroup/Email/Block/Adminhtml/Automation/Grid.php CHANGED
@@ -135,17 +135,6 @@ class Dotdigitalgroup_Email_Block_Adminhtml_Automation_Grid extends Mage_Adminht
135
  return $this;
136
  }
137
 
138
- /**
139
- * Edit the row.
140
- * @param $row
141
- *
142
- * @return string
143
- */
144
- public function getRowUrl($row)
145
- {
146
- return $this->getUrl('*/*/edit', array('id' => $row->getEmailContactId()));
147
- }
148
-
149
  /**
150
  * Grid url.
151
  * @return string
135
  return $this;
136
  }
137
 
 
 
 
 
 
 
 
 
 
 
 
138
  /**
139
  * Grid url.
140
  * @return string
app/code/community/Dotdigitalgroup/Email/Block/Adminhtml/Column/Renderer/Status.php CHANGED
@@ -11,8 +11,8 @@ class Dotdigitalgroup_Email_Block_Adminhtml_Column_Renderer_Status extends Mage_
11
  public function render(Varien_Object $row)
12
  {
13
  if($this->getValue($row) == '1')
14
- return 'Subscribed';
15
- return 'Unsubscribed';
16
  }
17
 
18
  }
11
  public function render(Varien_Object $row)
12
  {
13
  if($this->getValue($row) == '1')
14
+ return $this->__('Subscribed');
15
+ return $this->__('Unsubscribed');
16
  }
17
 
18
  }
app/code/community/Dotdigitalgroup/Email/Block/Adminhtml/Column/Renderer/Sync.php CHANGED
@@ -10,7 +10,9 @@ class Dotdigitalgroup_Email_Block_Adminhtml_Column_Renderer_Sync extends Mage_Ad
10
  */
11
  public function render(Varien_Object $row)
12
  {
13
- return '<button title="Connect" type="button" style=""><span><span><span>Sync Now</span></span></span></button>';
 
 
14
  }
15
 
16
  }
10
  */
11
  public function render(Varien_Object $row)
12
  {
13
+ $title = '<button title="Connect" type="button" style=""><span><span><span>' . $this->__('Sync Now') . '</span></span></span></button>';
14
+
15
+ return $title;
16
  }
17
 
18
  }
app/code/community/Dotdigitalgroup/Email/Block/Adminhtml/Customer/Tab/Stats.php CHANGED
@@ -2,14 +2,14 @@
2
 
3
  class Dotdigitalgroup_Email_Block_Adminhtml_Customer_Tab_Stats extends Mage_Adminhtml_Block_Template
4
  {
5
- private $_stat = array();
6
 
7
  public function _construct()
8
  {
9
  $this->setTemplate('connector/customer/stats.phtml');
10
  }
11
 
12
- private function _getCampaignStatsForCustomer()
13
  {
14
  $id = Mage::app()->getRequest()->getParam('id');
15
  $customer = Mage::getModel('customer/customer')->load($id);
2
 
3
  class Dotdigitalgroup_Email_Block_Adminhtml_Customer_Tab_Stats extends Mage_Adminhtml_Block_Template
4
  {
5
+ protected $_stat = array();
6
 
7
  public function _construct()
8
  {
9
  $this->setTemplate('connector/customer/stats.phtml');
10
  }
11
 
12
+ protected function _getCampaignStatsForCustomer()
13
  {
14
  $id = Mage::app()->getRequest()->getParam('id');
15
  $customer = Mage::getModel('customer/customer')->load($id);
app/code/community/Dotdigitalgroup/Email/Block/Adminhtml/Dashboard.php CHANGED
@@ -6,7 +6,7 @@ class Dotdigitalgroup_Email_Block_Adminhtml_Dashboard extends Mage_Adminhtml_Bl
6
  /**
7
  * Set the template.
8
  */
9
- public function __construct()
10
  {
11
  parent::_construct();
12
 
6
  /**
7
  * Set the template.
8
  */
9
+ public function _construct()
10
  {
11
  parent::_construct();
12
 
app/code/community/Dotdigitalgroup/Email/Block/Adminhtml/Dashboard/Tabs/Analysis.php CHANGED
@@ -7,7 +7,7 @@ class Dotdigitalgroup_Email_Block_Adminhtml_Dashboard_Tabs_Analysis extends Mag
7
  *
8
  * @throws Exception
9
  */
10
- public function __construct()
11
  {
12
  parent::_construct();
13
  $this->setTemplate('connector/dashboard/tabs/analysis/index.phtml');
@@ -46,7 +46,7 @@ class Dotdigitalgroup_Email_Block_Adminhtml_Dashboard_Tabs_Analysis extends Mag
46
  */
47
  public function getTitle()
48
  {
49
- return "Marketing Automation Data Analysis";
50
  }
51
 
52
  /**
7
  *
8
  * @throws Exception
9
  */
10
+ public function _construct()
11
  {
12
  parent::_construct();
13
  $this->setTemplate('connector/dashboard/tabs/analysis/index.phtml');
46
  */
47
  public function getTitle()
48
  {
49
+ return Mage::helper('ddg')->__("Marketing Automation Data Analysis");
50
  }
51
 
52
  /**
app/code/community/Dotdigitalgroup/Email/Block/Adminhtml/Dashboard/Tabs/Analysis/Abandonedcarts.php CHANGED
@@ -11,7 +11,7 @@ class Dotdigitalgroup_Email_Block_Adminhtml_Dashboard_Tabs_Analysis_Abandonedcar
11
  *
12
  * @throws Exception
13
  */
14
- public function __construct()
15
  {
16
  parent::_construct();
17
 
@@ -52,6 +52,6 @@ class Dotdigitalgroup_Email_Block_Adminhtml_Dashboard_Tabs_Analysis_Abandonedcar
52
  */
53
  public function getTitle()
54
  {
55
- return "Abandoned Carts";
56
  }
57
  }
11
  *
12
  * @throws Exception
13
  */
14
+ public function _construct()
15
  {
16
  parent::_construct();
17
 
52
  */
53
  public function getTitle()
54
  {
55
+ return Mage::helper('ddg')->__("Abandoned Carts");
56
  }
57
  }
app/code/community/Dotdigitalgroup/Email/Block/Adminhtml/Dashboard/Tabs/Analysis/Customer.php CHANGED
@@ -11,7 +11,7 @@ class Dotdigitalgroup_Email_Block_Adminhtml_Dashboard_Tabs_Analysis_Customer ext
11
  *
12
  * @throws Exception
13
  */
14
- public function __construct()
15
  {
16
  parent::_construct();
17
 
@@ -50,6 +50,6 @@ class Dotdigitalgroup_Email_Block_Adminhtml_Dashboard_Tabs_Analysis_Customer ext
50
  */
51
  public function getTitle()
52
  {
53
- return "Customers";
54
  }
55
  }
11
  *
12
  * @throws Exception
13
  */
14
+ public function _construct()
15
  {
16
  parent::_construct();
17
 
50
  */
51
  public function getTitle()
52
  {
53
+ return Mage::helper('ddg')->__("Customers");
54
  }
55
  }
app/code/community/Dotdigitalgroup/Email/Block/Adminhtml/Dashboard/Tabs/Analysis/Rfm.php CHANGED
@@ -12,7 +12,7 @@ class Dotdigitalgroup_Email_Block_Adminhtml_Dashboard_Tabs_Analysis_Rfm extends
12
  *
13
  * @throws Exception
14
  */
15
- public function __construct()
16
  {
17
  parent::_construct();
18
 
12
  *
13
  * @throws Exception
14
  */
15
+ public function _construct()
16
  {
17
  parent::_construct();
18
 
app/code/community/Dotdigitalgroup/Email/Block/Adminhtml/Dashboard/Tabs/Analysis/Sales.php CHANGED
@@ -11,7 +11,7 @@ class Dotdigitalgroup_Email_Block_Adminhtml_Dashboard_Tabs_Analysis_Sales extend
11
  *
12
  * @throws Exception
13
  */
14
- public function __construct()
15
  {
16
  parent::_construct();
17
 
11
  *
12
  * @throws Exception
13
  */
14
+ public function _construct()
15
  {
16
  parent::_construct();
17
 
app/code/community/Dotdigitalgroup/Email/Block/Adminhtml/Dashboard/Tabs/Analysis/Subscriber.php CHANGED
@@ -11,7 +11,7 @@ class Dotdigitalgroup_Email_Block_Adminhtml_Dashboard_Tabs_Analysis_Subscriber e
11
  *
12
  * @throws Exception
13
  */
14
- public function __construct()
15
  {
16
  parent::_construct();
17
 
@@ -51,6 +51,6 @@ class Dotdigitalgroup_Email_Block_Adminhtml_Dashboard_Tabs_Analysis_Subscriber e
51
  */
52
  public function getTitle()
53
  {
54
- return "Subscribers";
55
  }
56
  }
11
  *
12
  * @throws Exception
13
  */
14
+ public function _construct()
15
  {
16
  parent::_construct();
17
 
51
  */
52
  public function getTitle()
53
  {
54
+ return Mage::helper('ddg')->__("Subscribers");
55
  }
56
  }
app/code/community/Dotdigitalgroup/Email/Block/Adminhtml/Dashboard/Tabs/General.php CHANGED
@@ -7,7 +7,7 @@ class Dotdigitalgroup_Email_Block_Adminhtml_Dashboard_Tabs_General extends Mage
7
  /**
8
  * Set the template.
9
  */
10
- public function __construct()
11
  {
12
  $this->initiateGroupArray();
13
  parent::_construct();
@@ -91,7 +91,7 @@ class Dotdigitalgroup_Email_Block_Adminhtml_Dashboard_Tabs_General extends Mage
91
  */
92
  public function getTitle()
93
  {
94
- return "Connector Account Information";
95
  }
96
 
97
  /**
7
  /**
8
  * Set the template.
9
  */
10
+ public function _construct()
11
  {
12
  $this->initiateGroupArray();
13
  parent::_construct();
91
  */
92
  public function getTitle()
93
  {
94
+ return Mage::helper('ddg')->__("Connector Account Information");
95
  }
96
 
97
  /**
app/code/community/Dotdigitalgroup/Email/Block/Adminhtml/Dashboard/Tabs/General/Data.php CHANGED
@@ -16,7 +16,7 @@ class Dotdigitalgroup_Email_Block_Adminhtml_Dashboard_Tabs_General_Data extends
16
  unset($info['Title']);
17
  $this->data = $info;
18
 
19
- parent::_construct();
20
  $this->setTemplate('connector/dashboard/tabs/data.phtml');
21
  }
22
 
16
  unset($info['Title']);
17
  $this->data = $info;
18
 
19
+ parent::__construct();
20
  $this->setTemplate('connector/dashboard/tabs/data.phtml');
21
  }
22
 
app/code/community/Dotdigitalgroup/Email/Block/Adminhtml/Dashboard/Tabs/Status.php CHANGED
@@ -9,7 +9,7 @@ class Dotdigitalgroup_Email_Block_Adminhtml_Dashboard_Tabs_Status extends Mage_A
9
 
10
  const FAST_FIX_MESSAGE = 'Fast Fix Available, Click To Enable The Mapping And Redirect Back.';
11
 
12
- private $_checkpoints = array(
13
  'valid_api_credentials' => 'API Credentials',
14
  'cron_running' => 'Cron running',
15
  'conflict_check' => 'Conflict Check',
@@ -1270,49 +1270,6 @@ class Dotdigitalgroup_Email_Block_Adminhtml_Dashboard_Tabs_Status extends Mage_A
1270
  return $resultContent;
1271
  }
1272
 
1273
- /**
1274
- * review campaign enabled.
1275
- * @return Dotdigitalgroup_Email_Model_Adminhtml_Dashboard_Content
1276
- */
1277
- public function reviewCampaignStatus()
1278
- {
1279
- $resultContent = Mage::getModel('ddg_automation/adminhtml_dashboard_content');
1280
-
1281
- $resultContent->setStyle(self::CONNECTOR_DASHBOARD_PASSED)
1282
- ->setTitle('Review Status : ')
1283
- ->setMessage('Looks Great.');
1284
-
1285
- foreach ( Mage::app()->getWebsites() as $website ) {
1286
- $websiteName = $website->getName();
1287
- $enabled = ($website->getConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_REVIEWS_ENABLED))? true :
1288
- 'Disabled ';
1289
- $orderStatus = ($website->getConfig(Dotdigitalgroup_Email_Helper_Review::XML_PATH_REVIEW_STATUS))? true :
1290
- 'Disabled ';
1291
- $delayPeriod = ($website->getConfig(Dotdigitalgroup_Email_Helper_Review::XML_PATH_REVIEW_DELAY))? true :
1292
- 'Disabled ';
1293
- $newProduct = ($website->getConfig(Dotdigitalgroup_Email_Helper_Review::XML_PATH_REVIEW_NEW_PRODUCT))? true :
1294
- 'Disabled ';
1295
- $campaign = ($website->getConfig(Dotdigitalgroup_Email_Helper_Review::XML_PATH_REVIEW_CAMPAIGN))? true :
1296
- 'Disabled ';
1297
-
1298
- if ($enabled !== true || $orderStatus !== true || $delayPeriod !== true || $newProduct !== true || $campaign !== true){
1299
- $enabledUrl = Mage::helper('adminhtml')->getUrl('*/connector/enablewebsiteconfiguration', array('path' => 'XML_PATH_REVIEWS_ENABLED', 'website' => $website->getId()));
1300
-
1301
- $resultContent->setStyle( self::CONNECTOR_DASHBOARD_FAILED)
1302
- ->setMessage('Don\'t forget to map')
1303
- ->setTable(array(
1304
- 'Website' => $websiteName,
1305
- 'Enabled' => ($enabled !== true)? $enabled . '<a href="' . $enabledUrl . '">Click to enable</a>' : 'Enabled',
1306
- 'Order Status' => ($orderStatus !== true)? 'Not Set' : 'Enabled',
1307
- 'Delay Period' => ($delayPeriod !== true)? 'Not Set' : 'Enabled',
1308
- 'New Product Only' => ($newProduct !== true)? 'Not Set' : 'Enabled',
1309
- 'Campaign To Select' => ($campaign !== true)? 'Not Set' : 'Enabled',
1310
- ));
1311
- }
1312
- }
1313
- return $resultContent;
1314
- }
1315
-
1316
  /**
1317
  * Get the last date for abandaned carts.
1318
  * @return Dotdigitalgroup_Email_Model_Adminhtml_Dashboard_Content
@@ -1551,9 +1508,9 @@ class Dotdigitalgroup_Email_Block_Adminhtml_Dashboard_Tabs_Status extends Mage_A
1551
 
1552
  /**
1553
  * Check if the mapped program is active.
1554
-
1555
  */
1556
  protected function _getWebisteProgram($program, $website) {
 
1557
  $client = Mage::helper('ddg')->getWebsiteApiClient($website);
1558
 
1559
  if (! $client || !$program){
9
 
10
  const FAST_FIX_MESSAGE = 'Fast Fix Available, Click To Enable The Mapping And Redirect Back.';
11
 
12
+ protected $_checkpoints = array(
13
  'valid_api_credentials' => 'API Credentials',
14
  'cron_running' => 'Cron running',
15
  'conflict_check' => 'Conflict Check',
1270
  return $resultContent;
1271
  }
1272
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1273
  /**
1274
  * Get the last date for abandaned carts.
1275
  * @return Dotdigitalgroup_Email_Model_Adminhtml_Dashboard_Content
1508
 
1509
  /**
1510
  * Check if the mapped program is active.
 
1511
  */
1512
  protected function _getWebisteProgram($program, $website) {
1513
+
1514
  $client = Mage::helper('ddg')->getWebsiteApiClient($website);
1515
 
1516
  if (! $client || !$program){
app/code/community/Dotdigitalgroup/Email/Block/Adminhtml/Importer/Grid.php CHANGED
@@ -49,13 +49,11 @@ class Dotdigitalgroup_Email_Block_Adminhtml_Importer_Grid extends Mage_Adminhtml
49
  'escape' => true
50
  ))->addColumn('import_type', array(
51
  'header' => Mage::helper('ddg')->__('Import Type'),
52
- 'width' => '50px',
53
  'index' => 'import_type',
54
  'type' => 'text',
55
  'escape' => true
56
  ))->addColumn('import_status', array(
57
  'header' => Mage::helper('ddg')->__('Import Status'),
58
- 'width' => '50px',
59
  'index' => 'import_status',
60
  'type' => 'options',
61
  'escape' => true,
@@ -67,14 +65,12 @@ class Dotdigitalgroup_Email_Block_Adminhtml_Importer_Grid extends Mage_Adminhtml
67
  'escape' => true
68
  ))->addColumn('import_mode', array(
69
  'header' => Mage::helper('ddg')->__('Import Mode'),
70
- 'width' => '50px',
71
  'index' => 'import_mode',
72
  'type' => 'options',
73
  'escape' => true,
74
  'options' => Mage::getModel('ddg_automation/adminhtml_source_importer_mode')->getOptions(),
75
  ))->addColumn('import_id', array(
76
  'header' => Mage::helper('ddg')->__('Import ID'),
77
- 'width' => '50px',
78
  'index' => 'import_id',
79
  'type' => 'text',
80
  'escape' => true
@@ -87,7 +83,6 @@ class Dotdigitalgroup_Email_Block_Adminhtml_Importer_Grid extends Mage_Adminhtml
87
  'escape' => true
88
  ))->addColumn('import_finished', array(
89
  'header' => Mage::helper('ddg')->__('Last Import Check Time'),
90
- 'width' => '50px',
91
  'align' => 'center',
92
  'index' => 'import_finished',
93
  'type' => 'datetime',
@@ -99,14 +94,12 @@ class Dotdigitalgroup_Email_Block_Adminhtml_Importer_Grid extends Mage_Adminhtml
99
  'header_css_class' => 'no-display'
100
  ))->addColumn('created_at', array(
101
  'header' => Mage::helper('ddg')->__('Created At'),
102
- 'width' => '50px',
103
  'align' => 'center',
104
  'index' => 'created_at',
105
  'type' => 'datetime',
106
  'escape' => true
107
  ))->addColumn('updated_at', array(
108
  'header' => Mage::helper('ddg')->__('Updated At'),
109
- 'width' => '50px',
110
  'align' => 'center',
111
  'index' => 'updated_at',
112
  'type' => 'datetime',
@@ -117,7 +110,6 @@ class Dotdigitalgroup_Email_Block_Adminhtml_Importer_Grid extends Mage_Adminhtml
117
  $this->addColumn('website_id', array(
118
  'header' => Mage::helper('customer')->__('Website'),
119
  'align' => 'center',
120
- 'width' => '80px',
121
  'type' => 'options',
122
  'options' => Mage::getSingleton('adminhtml/system_store')->getWebsiteOptionHash(true),
123
  'index' => 'website_id',
49
  'escape' => true
50
  ))->addColumn('import_type', array(
51
  'header' => Mage::helper('ddg')->__('Import Type'),
 
52
  'index' => 'import_type',
53
  'type' => 'text',
54
  'escape' => true
55
  ))->addColumn('import_status', array(
56
  'header' => Mage::helper('ddg')->__('Import Status'),
 
57
  'index' => 'import_status',
58
  'type' => 'options',
59
  'escape' => true,
65
  'escape' => true
66
  ))->addColumn('import_mode', array(
67
  'header' => Mage::helper('ddg')->__('Import Mode'),
 
68
  'index' => 'import_mode',
69
  'type' => 'options',
70
  'escape' => true,
71
  'options' => Mage::getModel('ddg_automation/adminhtml_source_importer_mode')->getOptions(),
72
  ))->addColumn('import_id', array(
73
  'header' => Mage::helper('ddg')->__('Import ID'),
 
74
  'index' => 'import_id',
75
  'type' => 'text',
76
  'escape' => true
83
  'escape' => true
84
  ))->addColumn('import_finished', array(
85
  'header' => Mage::helper('ddg')->__('Last Import Check Time'),
 
86
  'align' => 'center',
87
  'index' => 'import_finished',
88
  'type' => 'datetime',
94
  'header_css_class' => 'no-display'
95
  ))->addColumn('created_at', array(
96
  'header' => Mage::helper('ddg')->__('Created At'),
 
97
  'align' => 'center',
98
  'index' => 'created_at',
99
  'type' => 'datetime',
100
  'escape' => true
101
  ))->addColumn('updated_at', array(
102
  'header' => Mage::helper('ddg')->__('Updated At'),
 
103
  'align' => 'center',
104
  'index' => 'updated_at',
105
  'type' => 'datetime',
110
  $this->addColumn('website_id', array(
111
  'header' => Mage::helper('customer')->__('Website'),
112
  'align' => 'center',
 
113
  'type' => 'options',
114
  'options' => Mage::getSingleton('adminhtml/system_store')->getWebsiteOptionHash(true),
115
  'index' => 'website_id',
app/code/community/Dotdigitalgroup/Email/Block/Adminhtml/System/Advanced/Runimportersync.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Dotdigitalgroup_Email_Block_Adminhtml_System_Advanced_Runimportersync extends Mage_Adminhtml_Block_System_Config_Form_Field
4
+ {
5
+
6
+ protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element)
7
+ {
8
+ $this->setElement($element);
9
+ return $this->_getAddRowButtonHtml($this->__("Run Now"));
10
+ }
11
+
12
+ protected function _getAddRowButtonHtml($title)
13
+ {
14
+ $url = Mage::helper('adminhtml')->getUrl("*/connector/runimportersync");
15
+
16
+ return $this->getLayout()->createBlock('adminhtml/widget_button')
17
+ ->setType('button')
18
+ ->setLabel($this->__($title))
19
+ ->setOnClick("window.location.href='" . $url . "'")
20
+ ->toHtml();
21
+ }
22
+ }
app/code/community/Dotdigitalgroup/Email/Block/Adminhtml/System/Automation/Connect.php CHANGED
@@ -31,7 +31,8 @@ class Dotdigitalgroup_Email_Block_Adminhtml_System_Automation_Connect extends Ma
31
  ->toHtml();
32
  }
33
 
34
- private function _checkForSecureUrl() {
 
35
  $baseUrl = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB, true);
36
  if (!preg_match('/https/',$baseUrl)) {
37
  return false;
31
  ->toHtml();
32
  }
33
 
34
+ protected function _checkForSecureUrl() {
35
+
36
  $baseUrl = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB, true);
37
  if (!preg_match('/https/',$baseUrl)) {
38
  return false;
app/code/community/Dotdigitalgroup/Email/Block/Customer/Account/Books.php CHANGED
@@ -2,8 +2,8 @@
2
 
3
  class Dotdigitalgroup_Email_Block_Customer_Account_Books extends Mage_Customer_Block_Account_Dashboard
4
  {
5
- private $_client;
6
- private $contact_id;
7
 
8
  /**
9
  * subscription pref save url
@@ -22,7 +22,7 @@ class Dotdigitalgroup_Email_Block_Customer_Account_Books extends Mage_Customer_B
22
  * @param $website
23
  * @return mixed
24
  */
25
- private function _getWebsiteConfigFromHelper($path, $website)
26
  {
27
  return Mage::helper('ddg')->getWebsiteConfig($path, $website);
28
  }
@@ -32,7 +32,7 @@ class Dotdigitalgroup_Email_Block_Customer_Account_Books extends Mage_Customer_B
32
  *
33
  * @return Dotdigitalgroup_Email_Model_Apiconnector_Client
34
  */
35
- private function _getApiClient()
36
  {
37
  if(empty($this->_client)) {
38
  $website = $this->getCustomer()->getStore()->getWebsite();
@@ -207,7 +207,7 @@ class Dotdigitalgroup_Email_Block_Customer_Account_Books extends Mage_Customer_B
207
  return $contact;
208
  }
209
 
210
- private function _getCustomerSession()
211
  {
212
  return Mage::getSingleton('customer/session');
213
  }
2
 
3
  class Dotdigitalgroup_Email_Block_Customer_Account_Books extends Mage_Customer_Block_Account_Dashboard
4
  {
5
+ protected $_client;
6
+ protected $contact_id;
7
 
8
  /**
9
  * subscription pref save url
22
  * @param $website
23
  * @return mixed
24
  */
25
+ protected function _getWebsiteConfigFromHelper($path, $website)
26
  {
27
  return Mage::helper('ddg')->getWebsiteConfig($path, $website);
28
  }
32
  *
33
  * @return Dotdigitalgroup_Email_Model_Apiconnector_Client
34
  */
35
+ protected function _getApiClient()
36
  {
37
  if(empty($this->_client)) {
38
  $website = $this->getCustomer()->getStore()->getWebsite();
207
  return $contact;
208
  }
209
 
210
+ protected function _getCustomerSession()
211
  {
212
  return Mage::getSingleton('customer/session');
213
  }
app/code/community/Dotdigitalgroup/Email/Block/Edc.php CHANGED
@@ -33,7 +33,7 @@ class Dotdigitalgroup_Email_Block_Edc extends Mage_Core_Block_Template
33
  *
34
  * @return array
35
  */
36
- private function _getRecommendedProduct(Mage_Catalog_Model_Product $productModel, $mode)
37
  {
38
  //array of products to display
39
  $products = array();
@@ -137,7 +137,7 @@ class Dotdigitalgroup_Email_Block_Edc extends Mage_Core_Block_Template
137
  * @return array
138
  * @throws Exception
139
  */
140
- private function _getRecentlyViewedCollection($limit)
141
  {
142
  $productsToDisplay = array();
143
  $customerId = $this->getRequest()->getParam('customer_id');
@@ -176,7 +176,7 @@ class Dotdigitalgroup_Email_Block_Edc extends Mage_Core_Block_Template
176
  * @param $limit
177
  * @return array
178
  */
179
- private function _getProductPushCollection($limit)
180
  {
181
  $productsToDisplay = array();
182
  $productIds = Mage::helper('ddg/recommended')->getProductPushIds();
@@ -202,7 +202,7 @@ class Dotdigitalgroup_Email_Block_Edc extends Mage_Core_Block_Template
202
  * @param $limit
203
  * @return Varien_Data_Collection
204
  */
205
- private function _getBestSellersCollection($mode, $limit)
206
  {
207
  $from = Mage::helper('ddg/recommended')->getTimeFromConfig($mode);
208
  $locale = Mage::app()->getLocale()->getLocale();
@@ -242,7 +242,7 @@ class Dotdigitalgroup_Email_Block_Edc extends Mage_Core_Block_Template
242
  * @param $limit
243
  * @return array
244
  */
245
- private function _getMostViewedCollection($mode, $limit)
246
  {
247
  $productsToDisplay = array();
248
  $from = Mage::helper('ddg/recommended')->getTimeFromConfig($mode);
@@ -289,7 +289,7 @@ class Dotdigitalgroup_Email_Block_Edc extends Mage_Core_Block_Template
289
  * @param $category
290
  * @return mixed
291
  */
292
- private function _joinCategoryOnCollection($productCollection, $category)
293
  {
294
  if ($category->getId()){
295
  $productCollection->getSelect()
@@ -314,12 +314,12 @@ class Dotdigitalgroup_Email_Block_Edc extends Mage_Core_Block_Template
314
  * @return array
315
  * @throws Exception
316
  */
317
- private function _getQuoteProductCollection($mode, $limit)
318
  {
319
  $quoteModel = Mage::registry('current_quote');
320
 
321
  if (! $quoteModel) {
322
- Mage::throwException('no current_quote found for EDC');
323
  }
324
  $quoteItems = $quoteModel->getAllItems();
325
 
33
  *
34
  * @return array
35
  */
36
+ protected function _getRecommendedProduct(Mage_Catalog_Model_Product $productModel, $mode)
37
  {
38
  //array of products to display
39
  $products = array();
137
  * @return array
138
  * @throws Exception
139
  */
140
+ protected function _getRecentlyViewedCollection($limit)
141
  {
142
  $productsToDisplay = array();
143
  $customerId = $this->getRequest()->getParam('customer_id');
176
  * @param $limit
177
  * @return array
178
  */
179
+ protected function _getProductPushCollection($limit)
180
  {
181
  $productsToDisplay = array();
182
  $productIds = Mage::helper('ddg/recommended')->getProductPushIds();
202
  * @param $limit
203
  * @return Varien_Data_Collection
204
  */
205
+ protected function _getBestSellersCollection($mode, $limit)
206
  {
207
  $from = Mage::helper('ddg/recommended')->getTimeFromConfig($mode);
208
  $locale = Mage::app()->getLocale()->getLocale();
242
  * @param $limit
243
  * @return array
244
  */
245
+ protected function _getMostViewedCollection($mode, $limit)
246
  {
247
  $productsToDisplay = array();
248
  $from = Mage::helper('ddg/recommended')->getTimeFromConfig($mode);
289
  * @param $category
290
  * @return mixed
291
  */
292
+ protected function _joinCategoryOnCollection($productCollection, $category)
293
  {
294
  if ($category->getId()){
295
  $productCollection->getSelect()
314
  * @return array
315
  * @throws Exception
316
  */
317
+ protected function _getQuoteProductCollection($mode, $limit)
318
  {
319
  $quoteModel = Mage::registry('current_quote');
320
 
321
  if (! $quoteModel) {
322
+ Mage::throwException(Mage::helper('ddg')->__('no current_quote found for EDC'));
323
  }
324
  $quoteItems = $quoteModel->getAllItems();
325
 
app/code/community/Dotdigitalgroup/Email/Block/Feefo.php CHANGED
@@ -1,6 +1,5 @@
1
  <?php
2
 
3
- const FEEFO_URL = 'http://www.feefo.com/feefo/xmlfeed.jsp?';
4
 
5
  class Dotdigitalgroup_Email_Block_Feefo extends Mage_Core_Block_Template
6
  {
@@ -26,7 +25,8 @@ class Dotdigitalgroup_Email_Block_Feefo extends Mage_Core_Block_Template
26
  $url = 'http://www.feefo.com/feefo/feefologo.jsp?logon=';
27
  $logon = $helper->getFeefoLogon();
28
  $template = '';
29
- if($helper->getFeefoLogoTemplate())
 
30
  $template = '&template=' . $helper->getFeefoLogoTemplate();
31
  $fullUrl = $url . $logon . $template;
32
  $vendorUrl = 'http://www.feefo.com/feefo/viewvendor.jsp?logon=' . $logon;
@@ -47,9 +47,9 @@ class Dotdigitalgroup_Email_Block_Feefo extends Mage_Core_Block_Template
47
  $products = array();
48
  $quoteId = Mage::app()->getRequest()->getParam('quote_id');
49
  $quoteModel = Mage::getModel('sales/quote')->load($quoteId);
50
- //quote
51
  if (! $quoteModel->getId())
52
- Mage::throwException('die');
53
 
54
  $quoteItems = $quoteModel->getAllItems();
55
 
@@ -63,6 +63,7 @@ class Dotdigitalgroup_Email_Block_Feefo extends Mage_Core_Block_Template
63
  if ($productModel->getId())
64
  $products[$productModel->getSku()] = $productModel->getName();
65
  }
 
66
  return $products;
67
  }
68
 
@@ -75,8 +76,9 @@ class Dotdigitalgroup_Email_Block_Feefo extends Mage_Core_Block_Template
75
  {
76
  $check = true;
77
  $reviews = array();
78
- $feefo_dir = Mage::getModel('core/config_options')->getLibDir().DS.'connector'.DS.'feefo';
79
- $helper = Mage::helper('ddg');
 
80
  $logon = $helper->getFeefoLogon();
81
  $limit = $helper->getFeefoReviewsPerProduct();
82
  $products = $this->getQuoteProducts();
@@ -86,14 +88,16 @@ class Dotdigitalgroup_Email_Block_Feefo extends Mage_Core_Block_Template
86
  $url = "http://www.feefo.com/feefo/xmlfeed.jsp?logon=" . $logon . "&limit=".$limit . "&vendorref=" . $sku . "&mode=productonly" ;
87
  $doc = new DOMDocument();
88
  $xsl = new XSLTProcessor();
89
- if($check)
90
  $doc->load($feefo_dir. DS ."feedback.xsl");
91
  else
92
  $doc->load($feefo_dir. DS ."feedback-no-th.xsl");
 
93
  $xsl->importStyleSheet($doc);
94
  $doc->load($url);
95
  $productReview = $xsl->transformToXML($doc);
96
- if (strpos($productReview, '<td') !== false)
 
97
  $reviews[$name] = $xsl->transformToXML($doc);
98
  $check = false;
99
  }
1
  <?php
2
 
 
3
 
4
  class Dotdigitalgroup_Email_Block_Feefo extends Mage_Core_Block_Template
5
  {
25
  $url = 'http://www.feefo.com/feefo/feefologo.jsp?logon=';
26
  $logon = $helper->getFeefoLogon();
27
  $template = '';
28
+
29
+ if( $helper->getFeefoLogoTemplate())
30
  $template = '&template=' . $helper->getFeefoLogoTemplate();
31
  $fullUrl = $url . $logon . $template;
32
  $vendorUrl = 'http://www.feefo.com/feefo/viewvendor.jsp?logon=' . $logon;
47
  $products = array();
48
  $quoteId = Mage::app()->getRequest()->getParam('quote_id');
49
  $quoteModel = Mage::getModel('sales/quote')->load($quoteId);
50
+ //quote id param
51
  if (! $quoteModel->getId())
52
+ Mage::throwException(Mage::helper('ddg')->__('cannot continue, missing quote data'));
53
 
54
  $quoteItems = $quoteModel->getAllItems();
55
 
63
  if ($productModel->getId())
64
  $products[$productModel->getSku()] = $productModel->getName();
65
  }
66
+
67
  return $products;
68
  }
69
 
76
  {
77
  $check = true;
78
  $reviews = array();
79
+ $helper = Mage::helper('ddg');
80
+ $feefo_dir = Mage::getModel('core/config_options')
81
+ ->getLibDir() . DS . 'connector' . DS . 'feefo';
82
  $logon = $helper->getFeefoLogon();
83
  $limit = $helper->getFeefoReviewsPerProduct();
84
  $products = $this->getQuoteProducts();
88
  $url = "http://www.feefo.com/feefo/xmlfeed.jsp?logon=" . $logon . "&limit=".$limit . "&vendorref=" . $sku . "&mode=productonly" ;
89
  $doc = new DOMDocument();
90
  $xsl = new XSLTProcessor();
91
+ if ($check)
92
  $doc->load($feefo_dir. DS ."feedback.xsl");
93
  else
94
  $doc->load($feefo_dir. DS ."feedback-no-th.xsl");
95
+
96
  $xsl->importStyleSheet($doc);
97
  $doc->load($url);
98
  $productReview = $xsl->transformToXML($doc);
99
+
100
+ if (strpos($productReview, '<td') !== false)
101
  $reviews[$name] = $xsl->transformToXML($doc);
102
  $check = false;
103
  }
app/code/community/Dotdigitalgroup/Email/Block/Order.php CHANGED
@@ -27,49 +27,10 @@ class Dotdigitalgroup_Email_Block_Order extends Dotdigitalgroup_Email_Block_Edc
27
  {
28
  $order = Mage::registry('current_order');
29
  if (! $order) {
30
- Mage::throwException('no current_order found for EDC');
31
  }
32
 
33
  return $order;
34
  }
35
 
36
- /**
37
- * Filter items for review. If a customer has already placed a review for a product then exclude the product.
38
- *
39
- * @param array $items
40
- * @param int $websiteId
41
- * @return mixed
42
- */
43
- public function filterItemsForReview($items, $websiteId)
44
- {
45
- if (!count($items))
46
- return;
47
-
48
- $order = $this->getOrder();
49
-
50
- //if customer is guest then no need to filter any items
51
- if($order->getCustomerIsGuest())
52
- return $items;
53
-
54
- if(!Mage::helper('ddg/review')->isNewProductOnly($websiteId))
55
- return $items;
56
-
57
- $customerId = $order->getCustomerId();
58
-
59
- foreach($items as $key => $item)
60
- {
61
- $productId = $item->getProduct()->getId();
62
-
63
- $collection = Mage::getModel('review/review')->getCollection();
64
- $collection->addCustomerFilter($customerId)
65
- ->addStoreFilter($order->getStoreId())
66
- ->addFieldToFilter('main_table.entity_pk_value', $productId);
67
-
68
- //remove item if customer has already placed review on this item
69
- if($collection->getSize())
70
- unset($items[$key]);
71
- }
72
-
73
- return $items;
74
- }
75
  }
27
  {
28
  $order = Mage::registry('current_order');
29
  if (! $order) {
30
+ Mage::throwException(Mage::helper('ddg')->__('no current_order found for EDC'));
31
  }
32
 
33
  return $order;
34
  }
35
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
36
  }
app/code/community/Dotdigitalgroup/Email/Block/Order/Creditmemo.php CHANGED
@@ -22,7 +22,7 @@ class Dotdigitalgroup_Email_Block_Order_Creditmemo extends Mage_Sales_Block_Ord
22
  {
23
  $order = Mage::registry('current_order');
24
  if (! $order) {
25
- Mage::throwException('no current_order found for EDC');
26
  }
27
 
28
  if (! $order->hasCreditmemos()) {
22
  {
23
  $order = Mage::registry('current_order');
24
  if (! $order) {
25
+ Mage::throwException(Mage::helper('ddg')->__('no current_order found for EDC'));
26
  }
27
 
28
  if (! $order->hasCreditmemos()) {
app/code/community/Dotdigitalgroup/Email/Block/Order/Invoice.php CHANGED
@@ -21,7 +21,7 @@ class Dotdigitalgroup_Email_Block_Order_Invoice extends Mage_Sales_Block_Order_I
21
  {
22
  $order = Mage::registry('current_order');
23
  if (! $order) {
24
- Mage::throwException('no current_order found for EDC');
25
  }
26
 
27
  if (! $order->hasInvoices()) {
21
  {
22
  $order = Mage::registry('current_order');
23
  if (! $order) {
24
+ Mage::throwException(Mage::helper('ddg')->__('no current_order found for EDC'));
25
  }
26
 
27
  if (! $order->hasInvoices()) {
app/code/community/Dotdigitalgroup/Email/Block/Order/Shipping.php CHANGED
@@ -20,7 +20,7 @@ class Dotdigitalgroup_Email_Block_Order_Shipping extends Mage_Sales_Block_Order
20
  {
21
  $order = Mage::registry('current_order');
22
  if (! $order) {
23
- Mage::throwException('no current_order found for EDC');
24
  }
25
 
26
  if (! $order->hasShipments()) {
20
  {
21
  $order = Mage::registry('current_order');
22
  if (! $order) {
23
+ Mage::throwException(Mage::helper('ddg')->__('no current_order found for EDC'));
24
  }
25
 
26
  if (! $order->hasShipments()) {
app/code/community/Dotdigitalgroup/Email/Block/Recommended/Products.php CHANGED
@@ -15,7 +15,8 @@ class Dotdigitalgroup_Email_Block_Recommended_Products extends Dotdigitalgroup_E
15
  {
16
  $orderModel = Mage::registry('current_order');
17
  if (! $orderModel) {
18
- Mage::throwException('no current_order found for EDC');
 
19
  }
20
 
21
  //display mode based on the action name
@@ -23,9 +24,9 @@ class Dotdigitalgroup_Email_Block_Recommended_Products extends Dotdigitalgroup_E
23
  //number of product items to be displayed
24
  $limit = Mage::helper('ddg/recommended')->getDisplayLimitByMode($mode);
25
  $orderItems = $orderModel->getAllItems();
26
-
27
  $productsToDisplay = $this->getProductsToDisplay($orderItems, $limit, $mode, 'PRODUCT');
28
- return $productsToDisplay;
 
29
  }
30
 
31
  /**
15
  {
16
  $orderModel = Mage::registry('current_order');
17
  if (! $orderModel) {
18
+ Mage::log('no current_order found for EDC');
19
+ return array();
20
  }
21
 
22
  //display mode based on the action name
24
  //number of product items to be displayed
25
  $limit = Mage::helper('ddg/recommended')->getDisplayLimitByMode($mode);
26
  $orderItems = $orderModel->getAllItems();
 
27
  $productsToDisplay = $this->getProductsToDisplay($orderItems, $limit, $mode, 'PRODUCT');
28
+
29
+ return $productsToDisplay;
30
  }
31
 
32
  /**
app/code/community/Dotdigitalgroup/Email/Block/Recommended/Wishlistproducts.php CHANGED
@@ -12,26 +12,19 @@ class Dotdigitalgroup_Email_Block_Recommended_Wishlistproducts extends Dotdigita
12
  return array();
13
  }
14
 
15
- protected function _getWishlist()
16
- {
17
- $customerId = Mage::app()->getRequest()->getParam('customer_id');
18
- if(!$customerId)
19
- return array();
20
-
21
- $customer = Mage::getModel('customer/customer')->load($customerId);
22
- if(!$customer->getId())
23
- return array();
24
 
25
- $collection = Mage::getModel('wishlist/wishlist')->getCollection();
26
- $collection->addFieldToFilter('customer_id', $customerId)
27
- ->setOrder('updated_at', 'DESC')
28
- ->getSelect()->limit(1);
29
 
30
- if ($collection->count())
31
- return $collection->getFirstItem();
32
- else
33
  return array();
34
 
 
 
 
 
 
35
  }
36
 
37
  /**
12
  return array();
13
  }
14
 
15
+ protected function _getWishlist() {
 
 
 
 
 
 
 
 
16
 
17
+ //customer id param
18
+ $customerId = Mage::app()->getRequest()->getParam('customer_id');
 
 
19
 
20
+ if (! $customerId)
 
 
21
  return array();
22
 
23
+ //load customer wishlist collection
24
+ $wishlistModel = Mage::getModel('wishlist/wishlist')
25
+ ->loadByCustomer($customerId);
26
+
27
+ return $wishlistModel;
28
  }
29
 
30
  /**
app/code/community/Dotdigitalgroup/Email/Block/System/Email/Template/Edit.php DELETED
@@ -1,13 +0,0 @@
1
- <?php
2
- class Dotdigitalgroup_Email_Block_System_Email_Template_Edit extends Mage_Adminhtml_Block_System_Email_Template_Edit
3
- {
4
- public function __construct()
5
- {
6
- parent::__construct();
7
- $this->setTemplate('connector/system/email/template/edit.phtml');
8
- }
9
- public function getConnectorTemplates()
10
- {
11
- return Mage::helper('ddg')->getTemplateList();
12
- }
13
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Dotdigitalgroup/Email/Block/Wishlist.php CHANGED
@@ -13,25 +13,17 @@ class Dotdigitalgroup_Email_Block_Wishlist extends Dotdigitalgroup_Email_Block_E
13
  return false;
14
  }
15
 
16
- protected function _getWishlist()
17
- {
18
- $customerId = Mage::app()->getRequest()->getParam('customer_id');
19
- if(!$customerId)
20
- return false;
21
-
22
- $customer = Mage::getModel('customer/customer')->load($customerId);
23
- if(!$customer->getId())
24
- return false;
25
 
26
- $collection = Mage::getModel('wishlist/wishlist')->getCollection();
27
- $collection->addFieldToFilter('customer_id', $customerId)
28
- ->setOrder('updated_at', 'DESC');
29
 
30
- if ($collection->count())
31
- return $collection->setPageSize(1)->setCurPage(1)->getFirstItem();
32
- else
33
  return false;
34
 
 
 
 
35
  }
36
 
37
  public function getMode()
13
  return false;
14
  }
15
 
16
+ protected function _getWishlist() {
 
 
 
 
 
 
 
 
17
 
18
+ //customer id param
19
+ $customerId = Mage::app()->getRequest()->getParam('customer_id', false);
 
20
 
21
+ if (! $customerId)
 
 
22
  return false;
23
 
24
+ $wishlistModel = Mage::getModel('wishlist/wishlist')->loadByCustomer($customerId);
25
+
26
+ return $wishlistModel;
27
  }
28
 
29
  public function getMode()
app/code/community/Dotdigitalgroup/Email/Helper/Config.php CHANGED
@@ -128,23 +128,25 @@ class Dotdigitalgroup_Email_Helper_Config
128
  /**
129
  * Dynamic Content
130
  */
131
- const XML_PATH_CONNECTOR_DYNAMIC_CONTENT_PASSCODE = 'connector_dynamic_content/external_dynamic_content_urls/passcode';
132
- const XML_PATH_CONNECTOR_DYNAMIC_CONTENT_NOSTO = 'connector_dynamic_content/nosto_recommendation/api';
133
- const XML_PATH_CONNECTOR_DYNAMIC_CONTENT_WIHSLIST_DISPLAY = 'connector_dynamic_content/products/wishlist_display_type';
 
134
 
135
- /**
 
136
  * CONFIGURATION SECTION.
137
  */
138
  //Data Fields
139
- const XML_PATH_CONNECTOR_SYNC_DATA_FIELDS_STATUS = 'connector_configuration/data_fields/order_statuses';
140
- const XML_PATH_CONNECTOR_SYNC_DATA_FIELDS_BRAND_ATTRIBUTE = 'connector_configuration/data_fields/brand_attribute';
141
 
142
  //Transactional Data
143
- const XML_PATH_CONNECTOR_SYNC_ORDER_STATUS = 'connector_configuration/transactional_data/order_statuses';
144
- const XML_PATH_CONNECTOR_CUSTOM_ORDER_ATTRIBUTES = 'connector_configuration/transactional_data/order_custom_attributes';
145
- const XML_PATH_CONNECTOR_CUSTOM_QUOTE_ATTRIBUTES = 'connector_configuration/transactional_data/quote_custom_attributes';
146
- const XML_PATH_CONNECTOR_SYNC_ORDER_PRODUCT_ATTRIBUTES = 'connector_configuration/transactional_data/order_product_attributes';
147
- const XML_PATH_CONNECTOR_SYNC_ORDER_PRODUCT_CUSTOM_OPTIONS = 'connector_configuration/transactional_data/order_product_custom_options';
148
  //Admin
149
  const XML_PATH_CONNECTOR_DISABLE_NEWSLETTER_SUCCESS = 'connector_configuration/admin/disable_newsletter_success';
150
  const XML_PATH_CONNECTOR_DISABLE_CUSTOMER_SUCCESS = 'connector_configuration/admin/disable_customer_success';
@@ -201,6 +203,12 @@ class Dotdigitalgroup_Email_Helper_Config
201
  const XML_PATH_CONNECTOR_AUTOMATION_STUDIO_WISHLIST = 'connector_automation_studio/visitor_automation/wishlist_automation';
202
  const XML_PATH_CONNECTOR_AUTOMATION_STUDIO_ORDER_STATUS = 'connector_automation_studio/order_status_automation/status_to_automation';
203
 
 
 
 
 
 
 
204
 
205
  /**
206
  * ROI SECTION.
128
  /**
129
  * Dynamic Content
130
  */
131
+ const XML_PATH_CONNECTOR_DYNAMIC_CONTENT_PASSCODE = 'connector_dynamic_content/external_dynamic_content_urls/passcode';
132
+ const XML_PATH_CONNECTOR_DYNAMIC_CONTENT_NOSTO = 'connector_dynamic_content/nosto_recommendation/api';
133
+ const XML_PATH_CONNECTOR_DYNAMIC_CONTENT_WIHSLIST_DISPLAY = 'connector_dynamic_content/products/wishlist_display_type';
134
+ const XML_PATH_CONNECTOR_DYNAMIC_CONTENT_REVIEW_DISPLAY_TYPE = 'connector_dynamic_content/products/review_display_type';
135
 
136
+
137
+ /**
138
  * CONFIGURATION SECTION.
139
  */
140
  //Data Fields
141
+ const XML_PATH_CONNECTOR_SYNC_DATA_FIELDS_STATUS = 'connector_configuration/data_fields/order_statuses';
142
+ const XML_PATH_CONNECTOR_SYNC_DATA_FIELDS_BRAND_ATTRIBUTE = 'connector_configuration/data_fields/brand_attribute';
143
 
144
  //Transactional Data
145
+ const XML_PATH_CONNECTOR_SYNC_ORDER_STATUS = 'connector_configuration/transactional_data/order_statuses';
146
+ const XML_PATH_CONNECTOR_CUSTOM_ORDER_ATTRIBUTES = 'connector_configuration/transactional_data/order_custom_attributes';
147
+ const XML_PATH_CONNECTOR_CUSTOM_QUOTE_ATTRIBUTES = 'connector_configuration/transactional_data/quote_custom_attributes';
148
+ const XML_PATH_CONNECTOR_SYNC_ORDER_PRODUCT_ATTRIBUTES = 'connector_configuration/transactional_data/order_product_attributes';
149
+ const XML_PATH_CONNECTOR_SYNC_ORDER_PRODUCT_CUSTOM_OPTIONS = 'connector_configuration/transactional_data/order_product_custom_options';
150
  //Admin
151
  const XML_PATH_CONNECTOR_DISABLE_NEWSLETTER_SUCCESS = 'connector_configuration/admin/disable_newsletter_success';
152
  const XML_PATH_CONNECTOR_DISABLE_CUSTOMER_SUCCESS = 'connector_configuration/admin/disable_customer_success';
203
  const XML_PATH_CONNECTOR_AUTOMATION_STUDIO_WISHLIST = 'connector_automation_studio/visitor_automation/wishlist_automation';
204
  const XML_PATH_CONNECTOR_AUTOMATION_STUDIO_ORDER_STATUS = 'connector_automation_studio/order_status_automation/status_to_automation';
205
 
206
+ //PRODUCT REVIEW REMINDER.
207
+ const XML_PATH_AUTOMATION_REVIEW_STATUS = 'connector_automation_studio/review_settings/status';
208
+ const XML_PATH_AUTOMATION_REVIEW_DELAY = 'connector_automation_studio/review_settings/delay';
209
+ const XML_PATH_AUTOMATION_REVIEW_CAMPAIGN = 'connector_automation_studio/review_settings/campaign';
210
+ const XML_PATH_AUTOMATION_REVIEW_ANCHOR = 'connector_automation_studio/review_settings/anchor';
211
+
212
 
213
  /**
214
  * ROI SECTION.
app/code/community/Dotdigitalgroup/Email/Helper/Dashboard.php CHANGED
@@ -90,7 +90,8 @@ class Dotdigitalgroup_Email_Helper_Dashboard extends Mage_Core_Helper_Abstract
90
  protected function _isInheritanceConflict($classes)
91
  {
92
  $classes = array_reverse($classes);
93
- for ($i = 0; $i < count($classes) - 1; $i++) {
 
94
  try {
95
  if (class_exists($classes[$i]) && class_exists($classes[$i + 1])) {
96
  if (!is_a($classes[$i], $classes[$i + 1], true)) {
90
  protected function _isInheritanceConflict($classes)
91
  {
92
  $classes = array_reverse($classes);
93
+ $count = count($classes) - 1;
94
+ for ($i = 0; $i < $count; $i++) {
95
  try {
96
  if (class_exists($classes[$i]) && class_exists($classes[$i + 1])) {
97
  if (!is_a($classes[$i], $classes[$i + 1], true)) {
app/code/community/Dotdigitalgroup/Email/Helper/Data.php CHANGED
@@ -181,7 +181,7 @@ class Dotdigitalgroup_Email_Helper_Data extends Mage_Core_Helper_Abstract
181
  public function convert($size)
182
  {
183
  $unit=array('b','kb','mb','gb','tb','pb');
184
- return @round($size/pow(1024,($i=floor(log($size,1024)))),2).' '.$unit[$i];
185
  }
186
 
187
  /**
@@ -589,6 +589,15 @@ class Dotdigitalgroup_Email_Helper_Data extends Mage_Core_Helper_Abstract
589
  return $this->getWebsiteConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_REVIEWS_FEEFO_TEMPLATE);
590
  }
591
 
 
 
 
 
 
 
 
 
 
592
  /**
593
  * update data fields
594
  *
@@ -637,25 +646,6 @@ class Dotdigitalgroup_Email_Helper_Data extends Mage_Core_Helper_Abstract
637
 
638
  }
639
 
640
- public function getTemplateList()
641
- {
642
- $client = $this->getWebsiteApiClient(Mage::app()->getWebsite());
643
- if(!$client)
644
- return array();
645
-
646
- $templates = $client->getApiTemplateList();
647
- $fields[] = array('value' => '', 'label' => '');
648
- foreach ( $templates as $one ) {
649
- if ( isset( $one->id ) ) {
650
- $fields[] = array(
651
- 'value' => $one->id,
652
- 'label' => $this->__( addslashes( $one->name ) )
653
- );
654
- }
655
- }
656
- return $fields;
657
- }
658
-
659
  /**
660
  * Update last quote id datafield.
661
  * @param $quoteId
@@ -934,4 +924,50 @@ class Dotdigitalgroup_Email_Helper_Data extends Mage_Core_Helper_Abstract
934
 
935
  return $contents;
936
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
937
  }
181
  public function convert($size)
182
  {
183
  $unit=array('b','kb','mb','gb','tb','pb');
184
+ return round($size/pow(1024,($i=floor(log($size,1024)))),2).' '.$unit[$i];
185
  }
186
 
187
  /**
589
  return $this->getWebsiteConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_REVIEWS_FEEFO_TEMPLATE);
590
  }
591
 
592
+ /**
593
+ * @param $website
594
+ * @return string
595
+ */
596
+ public function getReviewDisplayType($website)
597
+ {
598
+ return $this->getWebsiteConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_CONTENT_REVIEW_DISPLAY_TYPE, $website);
599
+ }
600
+
601
  /**
602
  * update data fields
603
  *
646
 
647
  }
648
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
649
  /**
650
  * Update last quote id datafield.
651
  * @param $quoteId
924
 
925
  return $contents;
926
  }
927
+
928
+
929
+ /**
930
+ * PRODUCT REVIEW REMINDER.
931
+ */
932
+ public function isReviewReminderEnabled($website)
933
+ {
934
+ return $this->getWebsiteConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_REVIEWS_ENABLED, $website);
935
+ }
936
+
937
+ /**
938
+ * @param $website
939
+ * @return string
940
+ */
941
+ public function getReviewReminderOrderStatus($website)
942
+ {
943
+ return $this->getWebsiteConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_AUTOMATION_REVIEW_STATUS, $website);
944
+ }
945
+
946
+ /**
947
+ * @param $website
948
+ * @return int
949
+ */
950
+ public function getReviewReminderDelay($website)
951
+ {
952
+ return $this->getWebsiteConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_AUTOMATION_REVIEW_DELAY, $website);
953
+ }
954
+
955
+ /**
956
+ * @param $website
957
+ * @return int
958
+ */
959
+ public function getReviewReminderCampaign($website)
960
+ {
961
+ return $this->getWebsiteConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_AUTOMATION_REVIEW_CAMPAIGN, $website);
962
+ }
963
+
964
+ /**
965
+ * @param $website
966
+ * @return string
967
+ */
968
+ public function getReviewReminderAnchor($website)
969
+ {
970
+ return $this->getWebsiteConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_AUTOMATION_REVIEW_ANCHOR, $website);
971
+ }
972
+
973
  }
app/code/community/Dotdigitalgroup/Email/Helper/File.php CHANGED
@@ -9,11 +9,11 @@ class Dotdigitalgroup_Email_Helper_File extends Dotdigitalgroup_Email_Helper_Dat
9
  * Location of files we are building
10
  */
11
 
12
- private $_output_folder; // set in _construct
13
- private $_output_archive_folder; // set in _construct
14
 
15
- private $delimiter; // set in _construct
16
- private $enclosure; // set in _construct
17
 
18
  public function __construct()
19
  {
@@ -80,7 +80,7 @@ class Dotdigitalgroup_Email_Helper_File extends Dotdigitalgroup_Email_Helper_Dat
80
  // for some reason passing the preset delimiter/enclosure variables results in error
81
  // $this->delimiter $this->enclosure
82
  if (fwrite($fp, $fqCsv) == 0 ) {
83
- Mage::throwException('Problem writing CSV file');
84
  }
85
  fclose($fp);
86
 
@@ -100,7 +100,7 @@ class Dotdigitalgroup_Email_Helper_File extends Dotdigitalgroup_Email_Helper_Dat
100
  // for some reason passing the preset delimiter/enclosure variables results in error
101
  //$this->delimiter $this->enclosure
102
  if (fputcsv($handle, $csv, ',', '"') == 0 ) {
103
- Mage::throwException('Problem writing CSV file');
104
  }
105
 
106
  fclose($handle);
@@ -155,8 +155,8 @@ class Dotdigitalgroup_Email_Helper_File extends Dotdigitalgroup_Email_Helper_Dat
155
  {
156
  $class_func = array(__CLASS__, __FUNCTION__);
157
  return is_file($path) ?
158
- @unlink($path) :
159
- array_map($class_func, glob($path.'/*')) == @rmdir($path);
160
  }
161
 
162
 
9
  * Location of files we are building
10
  */
11
 
12
+ protected $_output_folder; // set in _construct
13
+ protected $_output_archive_folder; // set in _construct
14
 
15
+ protected $delimiter; // set in _construct
16
+ protected $enclosure; // set in _construct
17
 
18
  public function __construct()
19
  {
80
  // for some reason passing the preset delimiter/enclosure variables results in error
81
  // $this->delimiter $this->enclosure
82
  if (fwrite($fp, $fqCsv) == 0 ) {
83
+ Mage::throwException(Mage::helper('ddg')->__('Problem writing CSV file'));
84
  }
85
  fclose($fp);
86
 
100
  // for some reason passing the preset delimiter/enclosure variables results in error
101
  //$this->delimiter $this->enclosure
102
  if (fputcsv($handle, $csv, ',', '"') == 0 ) {
103
+ Mage::throwException(Mage::helper('ddg')->__('Problem writing CSV file'));
104
  }
105
 
106
  fclose($handle);
155
  {
156
  $class_func = array(__CLASS__, __FUNCTION__);
157
  return is_file($path) ?
158
+ unlink($path) :
159
+ array_map($class_func, glob($path.'/*')) == rmdir($path);
160
  }
161
 
162
 
app/code/community/Dotdigitalgroup/Email/Helper/Review.php DELETED
@@ -1,90 +0,0 @@
1
- <?php
2
-
3
- class Dotdigitalgroup_Email_Helper_Review extends Mage_Core_Helper_Abstract
4
- {
5
- /**
6
- * configs
7
- */
8
- const XML_PATH_REVIEW_STATUS = 'connector_automation_studio/review_settings/status';
9
- const XML_PATH_REVIEW_DELAY = 'connector_automation_studio/review_settings/delay';
10
- const XML_PATH_REVIEW_NEW_PRODUCT = 'connector_automation_studio/review_settings/new_product';
11
- const XML_PATH_REVIEW_CAMPAIGN = 'connector_automation_studio/review_settings/campaign';
12
- const XML_PATH_REVIEW_ANCHOR = 'connector_automation_studio/review_settings/anchor';
13
- const XML_PATH_REVIEW_DISPLAY_TYPE = 'connector_dynamic_content/products/review_display_type';
14
-
15
- /**
16
- * get config value on website level
17
- *
18
- * @param $path
19
- * @param $website
20
- * @return mixed
21
- */
22
- public function getReviewWebsiteSettings($path, $website)
23
- {
24
- $helper = Mage::helper('ddg');
25
- return $helper->getWebsiteConfig($path, $website);
26
- }
27
-
28
- /**
29
- * @param $website
30
- * @return boolean
31
- */
32
- public function isEnabled($website)
33
- {
34
- return $this->getReviewWebsiteSettings(Dotdigitalgroup_Email_Helper_Config::XML_PATH_REVIEWS_ENABLED, $website);
35
- }
36
-
37
- /**
38
- * @param $website
39
- * @return string
40
- */
41
- public function getOrderStatus($website)
42
- {
43
- return $this->getReviewWebsiteSettings(self::XML_PATH_REVIEW_STATUS, $website);
44
- }
45
-
46
- /**
47
- * @param $website
48
- * @return int
49
- */
50
- public function getDelay($website)
51
- {
52
- return $this->getReviewWebsiteSettings(self::XML_PATH_REVIEW_DELAY, $website);
53
- }
54
-
55
- /**
56
- * @param $website
57
- * @return boolean
58
- */
59
- public function isNewProductOnly($website)
60
- {
61
- return $this->getReviewWebsiteSettings(self::XML_PATH_REVIEW_NEW_PRODUCT, $website);
62
- }
63
-
64
- /**
65
- * @param $website
66
- * @return int
67
- */
68
- public function getCampaign($website)
69
- {
70
- return $this->getReviewWebsiteSettings(self::XML_PATH_REVIEW_CAMPAIGN, $website);
71
- }
72
-
73
- /**
74
- * @param $website
75
- * @return string
76
- */
77
- public function getAnchor($website)
78
- {
79
- return $this->getReviewWebsiteSettings(self::XML_PATH_REVIEW_ANCHOR, $website);
80
- }
81
-
82
- /**
83
- * @param $website
84
- * @return string
85
- */
86
- public function getDisplayType($website)
87
- {
88
- return $this->getReviewWebsiteSettings(self::XML_PATH_REVIEW_DISPLAY_TYPE, $website);
89
- }
90
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Dotdigitalgroup/Email/Model/Abstract/Rest.php CHANGED
@@ -31,7 +31,7 @@ abstract class Dotdigitalgroup_Email_Model_Abstract_Rest
31
  }
32
  }
33
 
34
- private function prettyPrint($json)
35
  {
36
  $result = '';
37
  $level = 0;
31
  }
32
  }
33
 
34
+ protected function prettyPrint($json)
35
  {
36
  $result = '';
37
  $level = 0;
app/code/community/Dotdigitalgroup/Email/Model/Adminhtml/Observer.php CHANGED
@@ -118,7 +118,7 @@ class Dotdigitalgroup_Email_Model_Adminhtml_Observer
118
  return $this;
119
  }
120
 
121
- private function _checkAddressBookMapping( $website ) {
122
 
123
  $helper = Mage::helper('ddg');
124
  $customerAddressBook = $helper->getWebsiteConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_CUSTOMERS_ADDRESS_BOOK_ID, $website);
@@ -144,7 +144,7 @@ class Dotdigitalgroup_Email_Model_Adminhtml_Observer
144
  *
145
  * @return bool
146
  */
147
- private function _checkForOption($name, $data) {
148
  //loop for all options
149
  foreach ( $data as $one ) {
150
 
@@ -197,18 +197,19 @@ class Dotdigitalgroup_Email_Model_Adminhtml_Observer
197
  protected function addContactsFromWebsiteSegments($customerId, $segmentIds, $websiteId){
198
 
199
  if (empty($segmentIds) || ! $customerId)
200
- return;
201
  $segmentIds = implode(',', $segmentIds);
202
 
203
  $contact = Mage::getModel('ddg_automation/contact')->getCollection()
204
  ->addFieldToFilter('customer_id', $customerId)
205
  ->addFieldToFilter('website_id', $websiteId)
 
206
  ->getFirstItem();
207
  try {
208
 
209
  $contact->setSegmentIds($segmentIds)
210
- ->setEmailImported()
211
- ->save();
212
 
213
  }catch (Exception $e){
214
  Mage::logException($e);
118
  return $this;
119
  }
120
 
121
+ protected function _checkAddressBookMapping( $website ) {
122
 
123
  $helper = Mage::helper('ddg');
124
  $customerAddressBook = $helper->getWebsiteConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_CUSTOMERS_ADDRESS_BOOK_ID, $website);
144
  *
145
  * @return bool
146
  */
147
+ protected function _checkForOption($name, $data) {
148
  //loop for all options
149
  foreach ( $data as $one ) {
150
 
197
  protected function addContactsFromWebsiteSegments($customerId, $segmentIds, $websiteId){
198
 
199
  if (empty($segmentIds) || ! $customerId)
200
+ return $this;
201
  $segmentIds = implode(',', $segmentIds);
202
 
203
  $contact = Mage::getModel('ddg_automation/contact')->getCollection()
204
  ->addFieldToFilter('customer_id', $customerId)
205
  ->addFieldToFilter('website_id', $websiteId)
206
+ ->setPageSize(1)
207
  ->getFirstItem();
208
  try {
209
 
210
  $contact->setSegmentIds($segmentIds)
211
+ ->setEmailImported()
212
+ ->save();
213
 
214
  }catch (Exception $e){
215
  Mage::logException($e);
app/code/community/Dotdigitalgroup/Email/Model/Adminhtml/Source/Addressbookspref.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  class Dotdigitalgroup_Email_Model_Adminhtml_Source_Addressbookspref
4
  {
5
- private function getWebsite()
6
  {
7
  $website = Mage::app()->getWebsite();
8
  $websiteParam = Mage::app()->getRequest()->getParam('website');
@@ -16,7 +16,7 @@ class Dotdigitalgroup_Email_Model_Adminhtml_Source_Addressbookspref
16
  *
17
  * @return null
18
  */
19
- private function getAddressBooks()
20
  {
21
  $website = $this->getWebsite();
22
  $client = Mage::getModel( 'ddg_automation/apiconnector_client' );
@@ -59,9 +59,11 @@ class Dotdigitalgroup_Email_Model_Adminhtml_Source_Addressbookspref
59
  $subscriberAddressBook = Mage::helper('ddg')->getSubscriberAddressBook(Mage::app()->getWebsite());
60
 
61
  //set up fields with book id and label
62
- foreach ( $addressBooks as $book ) {
63
- if (isset($book->id) && $book->visibility == 'Public' && $book->id != $subscriberAddressBook) {
64
- $fields[] = array( 'value' => $book->id, 'label' => $book->name );
 
 
65
  }
66
  }
67
  }
2
 
3
  class Dotdigitalgroup_Email_Model_Adminhtml_Source_Addressbookspref
4
  {
5
+ protected function getWebsite()
6
  {
7
  $website = Mage::app()->getWebsite();
8
  $websiteParam = Mage::app()->getRequest()->getParam('website');
16
  *
17
  * @return null
18
  */
19
+ protected function getAddressBooks()
20
  {
21
  $website = $this->getWebsite();
22
  $client = Mage::getModel( 'ddg_automation/apiconnector_client' );
59
  $subscriberAddressBook = Mage::helper('ddg')->getSubscriberAddressBook(Mage::app()->getWebsite());
60
 
61
  //set up fields with book id and label
62
+ if ($addressBooks) {
63
+ foreach ( $addressBooks as $book ) {
64
+ if ( isset( $book->id ) && $book->visibility == 'Public' && $book->id != $subscriberAddressBook ) {
65
+ $fields[] = array( 'value' => $book->id, 'label' => $book->name );
66
+ }
67
  }
68
  }
69
  }
app/code/community/Dotdigitalgroup/Email/Model/Adminhtml/Source/Automation/Programme.php CHANGED
@@ -23,12 +23,16 @@ class Dotdigitalgroup_Email_Model_Adminhtml_Source_Automation_Programme
23
 
24
  $client = Mage::helper( 'ddg' )->getWebsiteApiClient( $website );
25
  $programmes = $client->getPrograms();
26
-
27
- foreach ( $programmes as $one ) {
28
- if ( isset( $one->id ) ) {
29
- if($one->status == 'Active'){
30
- $fields[] = array( 'value' => $one->id, 'label' => Mage::helper( 'ddg' )->__( $one->name ) );
31
- }
 
 
 
 
32
  }
33
  }
34
  }
23
 
24
  $client = Mage::helper( 'ddg' )->getWebsiteApiClient( $website );
25
  $programmes = $client->getPrograms();
26
+ if ($programmes) {
27
+ foreach ( $programmes as $one ) {
28
+ if ( isset( $one->id ) ) {
29
+ if ( $one->status == 'Active' ) {
30
+ $fields[] = array(
31
+ 'value' => $one->id,
32
+ 'label' => Mage::helper( 'ddg' )->__( $one->name )
33
+ );
34
+ }
35
+ }
36
  }
37
  }
38
  }
app/code/community/Dotdigitalgroup/Email/Model/Adminhtml/Source/Publicdatafields.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  class Dotdigitalgroup_Email_Model_Adminhtml_Source_Publicdatafields
4
  {
5
- private function getWebsite()
6
  {
7
  $website = Mage::app()->getWebsite();
8
  $websiteParam = Mage::app()->getRequest()->getParam('website');
@@ -16,7 +16,7 @@ class Dotdigitalgroup_Email_Model_Adminhtml_Source_Publicdatafields
16
  *
17
  * @return mixed
18
  */
19
- private function getDataFields()
20
  {
21
  $helper = Mage::helper('ddg');
22
  $website = $this->getWebsite();
2
 
3
  class Dotdigitalgroup_Email_Model_Adminhtml_Source_Publicdatafields
4
  {
5
+ protected function getWebsite()
6
  {
7
  $website = Mage::app()->getWebsite();
8
  $websiteParam = Mage::app()->getRequest()->getParam('website');
16
  *
17
  * @return mixed
18
  */
19
+ protected function getDataFields()
20
  {
21
  $helper = Mage::helper('ddg');
22
  $website = $this->getWebsite();
app/code/community/Dotdigitalgroup/Email/Model/Adminhtml/Source/Styling.php CHANGED
@@ -10,6 +10,7 @@ class Dotdigitalgroup_Email_Model_Adminhtml_Source_Styling
10
  public function toOptionArray()
11
  {
12
  return array(
 
13
  array('value' => 'bold', 'label' => 'Bold'),
14
  array('value' => 'italic', 'label' => 'Italic'),
15
  array('value' => 'underline', 'label' => 'Underline')
10
  public function toOptionArray()
11
  {
12
  return array(
13
+ array('value' => 'nostyle', 'label' => 'No Style'),
14
  array('value' => 'bold', 'label' => 'Bold'),
15
  array('value' => 'italic', 'label' => 'Italic'),
16
  array('value' => 'underline', 'label' => 'Underline')
app/code/community/Dotdigitalgroup/Email/Model/Adminhtml/Source/Sync/Yesno.php CHANGED
@@ -9,17 +9,18 @@ class Dotdigitalgroup_Email_Model_Adminhtml_Source_Sync_Yesno
9
  */
10
  public function toOptionArray()
11
  {
12
- //get current scope website code
13
- $websiteCode = Mage::getSingleton('adminhtml/config_data')->getWebsite();
14
 
15
  //for current scope website check if entry exist in registry. if not than
16
  //than get account data and store it in registry to re-use
17
- if(!Mage::registry('ddg-account-info-'.$websiteCode)){
18
- //load website by code
19
- $website = Mage::getModel('core/website')->load($websiteCode, 'code');
 
20
 
21
  //if scope is empty or no id than load default
22
- if(empty($website) or !$website->getId())
23
  $website = 0;
24
 
25
  $apiUsername = Mage::helper('ddg')->getApiUsername($website);
@@ -36,7 +37,7 @@ class Dotdigitalgroup_Email_Model_Adminhtml_Source_Sync_Yesno
36
  //get from registry
37
  $data = Mage::registry('ddg-account-info-'.$websiteCode);
38
  //if properties property exist
39
- if(isset($data->properties)){
40
  $propertyNames = array();
41
  //loop all and save property names
42
  foreach ($data->properties as $one) {
9
  */
10
  public function toOptionArray()
11
  {
12
+ //get current scope website code, set the code to admin if empty
13
+ $websiteCode = (Mage::getSingleton('adminhtml/config_data')->getWebsite())? Mage::getSingleton('adminhtml/config_data')->getWebsite() : 'admin';
14
 
15
  //for current scope website check if entry exist in registry. if not than
16
  //than get account data and store it in registry to re-use
17
+ if (! Mage::registry('ddg-account-info-'.$websiteCode)) {
18
+ //websites with code as key
19
+ $websites = Mage::app()->getWebsites(true, true);
20
+ $website = $websites[$websiteCode];
21
 
22
  //if scope is empty or no id than load default
23
+ if (empty($website) or !$website->getId())
24
  $website = 0;
25
 
26
  $apiUsername = Mage::helper('ddg')->getApiUsername($website);
37
  //get from registry
38
  $data = Mage::registry('ddg-account-info-'.$websiteCode);
39
  //if properties property exist
40
+ if (isset($data->properties)) {
41
  $propertyNames = array();
42
  //loop all and save property names
43
  foreach ($data->properties as $one) {
app/code/community/Dotdigitalgroup/Email/Model/Adminhtml/Source/Transactional/Ssl.php DELETED
@@ -1,12 +0,0 @@
1
- <?php
2
- class Dotdigitalgroup_Email_Model_Adminhtml_Source_Transactional_Ssl
3
- {
4
- public function toOptionArray()
5
- {
6
- return array(
7
- 'no' => Mage::helper('ddg')->__('No SSL'),
8
- 'tls' => Mage::helper('ddg')->__('TLS')
9
- );
10
-
11
- }
12
- }
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Dotdigitalgroup/Email/Model/Api2/Subscriber/Rest/Admin/V1.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
 
2
  class Dotdigitalgroup_Email_Model_Api2_Subscriber_Rest_Admin_V1 extends Mage_Api2_Model_Resource
3
  {
4
-
5
  /**
6
  * Create a subscriber
7
  * @return array
@@ -38,7 +38,7 @@ class Dotdigitalgroup_Email_Model_Api2_Subscriber_Rest_Admin_V1 extends Mage_Api
38
  }
39
 
40
  $json = array('email' => $email);
41
- echo json_encode($json);
42
  }
43
 
44
  }
@@ -93,14 +93,14 @@ class Dotdigitalgroup_Email_Model_Api2_Subscriber_Rest_Admin_V1 extends Mage_Api
93
  $subscriber = Mage::getModel( 'newsletter/subscriber' )->loadByEmail( $email );
94
  if ( $subscriber->getId() ) {
95
  $subscriber->setCustomerId( $customerId )
96
- ->setSubscriberStatus( $status )
97
- ->setStoreId( $storeId )
98
- ->save();
99
  } else {
100
  Mage::helper( 'ddg' )->log( "REST Subscriber not found : " . $email);
101
  }
102
 
103
- echo json_encode( $data );
104
  }catch (Mage_Api2_Exception $e){
105
  Mage::helper('ddg')->log($e->getMessage());
106
  }catch (Exception $e){
1
  <?php
2
+
3
  class Dotdigitalgroup_Email_Model_Api2_Subscriber_Rest_Admin_V1 extends Mage_Api2_Model_Resource
4
  {
 
5
  /**
6
  * Create a subscriber
7
  * @return array
38
  }
39
 
40
  $json = array('email' => $email);
41
+ return json_encode($json);
42
  }
43
 
44
  }
93
  $subscriber = Mage::getModel( 'newsletter/subscriber' )->loadByEmail( $email );
94
  if ( $subscriber->getId() ) {
95
  $subscriber->setCustomerId( $customerId )
96
+ ->setSubscriberStatus( $status )
97
+ ->setStoreId( $storeId )
98
+ ->save();
99
  } else {
100
  Mage::helper( 'ddg' )->log( "REST Subscriber not found : " . $email);
101
  }
102
 
103
+ return json_encode( $data );
104
  }catch (Mage_Api2_Exception $e){
105
  Mage::helper('ddg')->log($e->getMessage());
106
  }catch (Exception $e){
app/code/community/Dotdigitalgroup/Email/Model/Apiconnector/Client.php CHANGED
@@ -667,7 +667,7 @@ class Dotdigitalgroup_Email_Model_Apiconnector_Client extends Dotdigitalgroup_Em
667
  }
668
  $apiData = array(
669
  'Key' => $data->id,
670
- 'ContactIdentifier' => $data->connector_id,
671
  'Json' => json_encode($data->expose())
672
  );
673
 
667
  }
668
  $apiData = array(
669
  'Key' => $data->id,
670
+ 'ContactIdentifier' => $data->email,
671
  'Json' => json_encode($data->expose())
672
  );
673
 
app/code/community/Dotdigitalgroup/Email/Model/Apiconnector/Contact.php CHANGED
@@ -2,8 +2,8 @@
2
 
3
  class Dotdigitalgroup_Email_Model_Apiconnector_Contact
4
  {
5
- private $_start;
6
- private $_countCustomers = 0;
7
 
8
  /**
9
  * Contact sync.
2
 
3
  class Dotdigitalgroup_Email_Model_Apiconnector_Contact
4
  {
5
+ protected $_start;
6
+ protected $_countCustomers = 0;
7
 
8
  /**
9
  * Contact sync.
app/code/community/Dotdigitalgroup/Email/Model/Apiconnector/Customer.php CHANGED
@@ -17,14 +17,13 @@ class Dotdigitalgroup_Email_Model_Apiconnector_Customer
17
 
18
  protected $_mapping_hash;
19
 
20
- private $subscriber_status = array(
21
  Mage_Newsletter_Model_Subscriber::STATUS_SUBSCRIBED => 'Subscribed',
22
  Mage_Newsletter_Model_Subscriber::STATUS_NOT_ACTIVE => 'Not Active',
23
  Mage_Newsletter_Model_Subscriber::STATUS_UNSUBSCRIBED => 'Unsubscribed',
24
  Mage_Newsletter_Model_Subscriber::STATUS_UNCONFIRMED => 'Unconfirmed'
25
  );
26
 
27
- private $attribute_check = false;
28
 
29
  /**
30
  * constructor, mapping hash to map.
@@ -91,7 +90,7 @@ class Dotdigitalgroup_Email_Model_Apiconnector_Customer
91
 
92
  public function getReviewCount()
93
  {
94
- return count($this->reviewCollection);
95
  }
96
 
97
  public function getLastReviewDate(){
@@ -524,7 +523,7 @@ class Dotdigitalgroup_Email_Model_Apiconnector_Customer
524
  * @return bool|string
525
  * @throws Mage_Core_Exception
526
  */
527
- private function _getCustomerGender()
528
  {
529
  $genderId = $this->customer->getGender();
530
  if (is_numeric($genderId)) {
@@ -539,14 +538,14 @@ class Dotdigitalgroup_Email_Model_Apiconnector_Customer
539
  return '';
540
  }
541
 
542
- private function _getStreet($street, $line){
543
  $street = explode("\n", $street);
544
  if(isset($street[$line - 1]))
545
  return $street[$line - 1];
546
  return '';
547
  }
548
 
549
- private function _getWebsiteName(){
550
  $websiteId = $this->customer->getWebsiteId();
551
  $website = Mage::app()->getWebsite($websiteId);
552
  if($website)
@@ -555,7 +554,7 @@ class Dotdigitalgroup_Email_Model_Apiconnector_Customer
555
  return '';
556
  }
557
 
558
- private function _getStoreName()
559
  {
560
  $storeId = $this->customer->getStoreId();
561
  $store = Mage::app()->getStore($storeId);
@@ -581,7 +580,7 @@ class Dotdigitalgroup_Email_Model_Apiconnector_Customer
581
  return $this->_mapping_hash;
582
  }
583
 
584
- private function _getCustomerGroup(){
585
 
586
  $groupId = $this->customer->getGroupId();
587
  $group = Mage::getModel('customer/group')->load($groupId);
@@ -718,7 +717,7 @@ class Dotdigitalgroup_Email_Model_Apiconnector_Customer
718
  }
719
 
720
 
721
- private function _setReward() {
722
  if (Mage::getModel('enterprise_reward/reward_history')){
723
  $collection = Mage::getModel('enterprise_reward/reward_history')->getCollection()
724
  ->addCustomerFilter($this->customer->getId())
@@ -895,7 +894,7 @@ class Dotdigitalgroup_Email_Model_Apiconnector_Customer
895
  return $this->_getBrandValue($id);
896
  }
897
 
898
- private function _getBrandValue($id)
899
  {
900
  $attribute = Mage::helper('ddg')->getWebsiteConfig(
901
  Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_SYNC_DATA_FIELDS_BRAND_ATTRIBUTE,
17
 
18
  protected $_mapping_hash;
19
 
20
+ protected $subscriber_status = array(
21
  Mage_Newsletter_Model_Subscriber::STATUS_SUBSCRIBED => 'Subscribed',
22
  Mage_Newsletter_Model_Subscriber::STATUS_NOT_ACTIVE => 'Not Active',
23
  Mage_Newsletter_Model_Subscriber::STATUS_UNSUBSCRIBED => 'Unsubscribed',
24
  Mage_Newsletter_Model_Subscriber::STATUS_UNCONFIRMED => 'Unconfirmed'
25
  );
26
 
 
27
 
28
  /**
29
  * constructor, mapping hash to map.
90
 
91
  public function getReviewCount()
92
  {
93
+ return $this->reviewCollection->getSize();
94
  }
95
 
96
  public function getLastReviewDate(){
523
  * @return bool|string
524
  * @throws Mage_Core_Exception
525
  */
526
+ protected function _getCustomerGender()
527
  {
528
  $genderId = $this->customer->getGender();
529
  if (is_numeric($genderId)) {
538
  return '';
539
  }
540
 
541
+ protected function _getStreet($street, $line){
542
  $street = explode("\n", $street);
543
  if(isset($street[$line - 1]))
544
  return $street[$line - 1];
545
  return '';
546
  }
547
 
548
+ protected function _getWebsiteName(){
549
  $websiteId = $this->customer->getWebsiteId();
550
  $website = Mage::app()->getWebsite($websiteId);
551
  if($website)
554
  return '';
555
  }
556
 
557
+ protected function _getStoreName()
558
  {
559
  $storeId = $this->customer->getStoreId();
560
  $store = Mage::app()->getStore($storeId);
580
  return $this->_mapping_hash;
581
  }
582
 
583
+ protected function _getCustomerGroup(){
584
 
585
  $groupId = $this->customer->getGroupId();
586
  $group = Mage::getModel('customer/group')->load($groupId);
717
  }
718
 
719
 
720
+ protected function _setReward() {
721
  if (Mage::getModel('enterprise_reward/reward_history')){
722
  $collection = Mage::getModel('enterprise_reward/reward_history')->getCollection()
723
  ->addCustomerFilter($this->customer->getId())
894
  return $this->_getBrandValue($id);
895
  }
896
 
897
+ protected function _getBrandValue($id)
898
  {
899
  $attribute = Mage::helper('ddg')->getWebsiteConfig(
900
  Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_SYNC_DATA_FIELDS_BRAND_ATTRIBUTE,
app/code/community/Dotdigitalgroup/Email/Model/Automation.php CHANGED
@@ -1,4 +1,5 @@
1
  <?php
 
2
  class Dotdigitalgroup_Email_Model_Automation extends Mage_Core_Model_Abstract
3
  {
4
  const AUTOMATION_TYPE_NEW_CUSTOMER = 'customer_automation';
@@ -129,12 +130,12 @@ class Dotdigitalgroup_Email_Model_Automation extends Mage_Core_Model_Abstract
129
  break;
130
  }
131
  }
132
- private function _updateDefaultDatafields($email)
133
  {
134
  $website = Mage::app()->getWebsite($this->websiteId);
135
  Mage::helper('ddg')->updateDataFields($email, $website, $this->storeName);
136
  }
137
- private function _updateNewOrderDatafields($email)
138
  {
139
  $website = Mage::app()->getWebsite($this->websiteId);
140
  $order = Mage::getModel('sales/order')->load($this->typeId);
@@ -187,7 +188,7 @@ class Dotdigitalgroup_Email_Model_Automation extends Mage_Core_Model_Abstract
187
  *
188
  * @return bool
189
  */
190
- private function _checkCampignEnrolmentActive($programId)
191
  {
192
  //program is not set
193
  if (!$programId)
1
  <?php
2
+
3
  class Dotdigitalgroup_Email_Model_Automation extends Mage_Core_Model_Abstract
4
  {
5
  const AUTOMATION_TYPE_NEW_CUSTOMER = 'customer_automation';
130
  break;
131
  }
132
  }
133
+ protected function _updateDefaultDatafields($email)
134
  {
135
  $website = Mage::app()->getWebsite($this->websiteId);
136
  Mage::helper('ddg')->updateDataFields($email, $website, $this->storeName);
137
  }
138
+ protected function _updateNewOrderDatafields($email)
139
  {
140
  $website = Mage::app()->getWebsite($this->websiteId);
141
  $order = Mage::getModel('sales/order')->load($this->typeId);
188
  *
189
  * @return bool
190
  */
191
+ protected function _checkCampignEnrolmentActive($programId)
192
  {
193
  //program is not set
194
  if (!$programId)
app/code/community/Dotdigitalgroup/Email/Model/Campaign.php CHANGED
@@ -134,7 +134,7 @@ class Dotdigitalgroup_Email_Model_Campaign extends Mage_Core_Model_Abstract
134
  /**
135
  * @return mixed
136
  */
137
- private function _getEmailCampaigns()
138
  {
139
  $emailCollection = $this->getCollection();
140
  $emailCollection->addFieldToFilter('is_sent', array('null' => true))
134
  /**
135
  * @return mixed
136
  */
137
+ protected function _getEmailCampaigns()
138
  {
139
  $emailCollection = $this->getCollection();
140
  $emailCollection->addFieldToFilter('is_sent', array('null' => true))
app/code/community/Dotdigitalgroup/Email/Model/Catalog.php CHANGED
@@ -2,9 +2,9 @@
2
 
3
  class Dotdigitalgroup_Email_Model_Catalog extends Mage_Core_Model_Abstract
4
  {
5
- private $_start;
6
- private $_countProducts = 0;
7
- private $_productIds;
8
 
9
  /**
10
  * constructor
@@ -137,7 +137,7 @@ class Dotdigitalgroup_Email_Model_Catalog extends Mage_Core_Model_Abstract
137
  * @param $store
138
  * @return array|bool
139
  */
140
- private function _exportCatalog($store)
141
  {
142
  $products = $this->_getProductsToExport($store);
143
  if($products){
@@ -159,7 +159,7 @@ class Dotdigitalgroup_Email_Model_Catalog extends Mage_Core_Model_Abstract
159
  * @param $collectionName
160
  * @param $websiteId
161
  */
162
- private function _exportInSingle($store, $collectionName, $websiteId)
163
  {
164
  $helper = Mage::helper('ddg');
165
  $this->_productIds = array();
@@ -197,7 +197,7 @@ class Dotdigitalgroup_Email_Model_Catalog extends Mage_Core_Model_Abstract
197
  * @param $modified
198
  * @return bool|Mage_Catalog_Model_Resource_Product_Collection
199
  */
200
- private function _getProductsToExport($store, $modified = false)
201
  {
202
  $limit = Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_TRANSACTIONAL_DATA_SYNC_LIMIT);
203
  $connectorCollection = $this->getCollection();
@@ -291,7 +291,7 @@ class Dotdigitalgroup_Email_Model_Catalog extends Mage_Core_Model_Abstract
291
  *
292
  * @param $key
293
  */
294
- private function _deleteFromAccount($key)
295
  {
296
  $enabled = Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_API_ENABLED);
297
  $sync = Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_SYNC_CATALOG_ENABLED);
@@ -331,7 +331,7 @@ class Dotdigitalgroup_Email_Model_Catalog extends Mage_Core_Model_Abstract
331
  * @param $productId
332
  * @return bool|Varien_Object
333
  */
334
- private function _loadProduct($productId)
335
  {
336
  $collection = $this->getCollection()
337
  ->addFieldToFilter('product_id', $productId)
2
 
3
  class Dotdigitalgroup_Email_Model_Catalog extends Mage_Core_Model_Abstract
4
  {
5
+ protected $_start;
6
+ protected $_countProducts = 0;
7
+ protected $_productIds;
8
 
9
  /**
10
  * constructor
137
  * @param $store
138
  * @return array|bool
139
  */
140
+ protected function _exportCatalog($store)
141
  {
142
  $products = $this->_getProductsToExport($store);
143
  if($products){
159
  * @param $collectionName
160
  * @param $websiteId
161
  */
162
+ protected function _exportInSingle($store, $collectionName, $websiteId)
163
  {
164
  $helper = Mage::helper('ddg');
165
  $this->_productIds = array();
197
  * @param $modified
198
  * @return bool|Mage_Catalog_Model_Resource_Product_Collection
199
  */
200
+ protected function _getProductsToExport($store, $modified = false)
201
  {
202
  $limit = Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_TRANSACTIONAL_DATA_SYNC_LIMIT);
203
  $connectorCollection = $this->getCollection();
291
  *
292
  * @param $key
293
  */
294
+ protected function _deleteFromAccount($key)
295
  {
296
  $enabled = Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_API_ENABLED);
297
  $sync = Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_SYNC_CATALOG_ENABLED);
331
  * @param $productId
332
  * @return bool|Varien_Object
333
  */
334
+ protected function _loadProduct($productId)
335
  {
336
  $collection = $this->getCollection()
337
  ->addFieldToFilter('product_id', $productId)
app/code/community/Dotdigitalgroup/Email/Model/Connector/Account.php CHANGED
@@ -2,21 +2,21 @@
2
 
3
  class Dotdigitalgroup_Email_Model_Connector_Account
4
  {
5
- private $_api_username;
6
- private $_api_password;
7
- private $_limit;
8
- private $_contactBookId;
9
- private $_subscriberBookId;
10
- private $_websites = array();
11
- private $_csv_headers;
12
- private $_customers_filename;
13
- private $_subscribers_filename;
14
- private $_mapping_hash;
15
- private $_contacts = array();
16
- private $_orders = array();
17
- private $_orderIds = array();
18
- private $_ordersForSingleSync = array();
19
- private $_orderIdsForSingleSync = array();
20
 
21
  /**
22
  * @param $api_password
2
 
3
  class Dotdigitalgroup_Email_Model_Connector_Account
4
  {
5
+ protected $_api_username;
6
+ protected $_api_password;
7
+ protected $_limit;
8
+ protected $_contactBookId;
9
+ protected $_subscriberBookId;
10
+ protected $_websites = array();
11
+ protected $_csv_headers;
12
+ protected $_customers_filename;
13
+ protected $_subscribers_filename;
14
+ protected $_mapping_hash;
15
+ protected $_contacts = array();
16
+ protected $_orders = array();
17
+ protected $_orderIds = array();
18
+ protected $_ordersForSingleSync = array();
19
+ protected $_orderIdsForSingleSync = array();
20
 
21
  /**
22
  * @param $api_password
app/code/community/Dotdigitalgroup/Email/Model/Connector/Campaign.php CHANGED
@@ -7,7 +7,7 @@ class Dotdigitalgroup_Email_Model_Connector_Campaign
7
  public $contacts = array();
8
  public $emails = array();
9
  public $emailSendId = array();
10
- private $_storeId;
11
 
12
  /**
13
  * @param mixed $storeId
7
  public $contacts = array();
8
  public $emails = array();
9
  public $emailSendId = array();
10
+ protected $_storeId;
11
 
12
  /**
13
  * @param mixed $storeId
app/code/community/Dotdigitalgroup/Email/Model/Connector/Order.php CHANGED
@@ -79,7 +79,7 @@ class Dotdigitalgroup_Email_Model_Connector_Order
79
  */
80
  public $order_status;
81
 
82
- private $_attributeSet;
83
 
84
  /**
85
  * set the order information
@@ -122,7 +122,7 @@ class Dotdigitalgroup_Email_Model_Connector_Order
122
  /**
123
  * Shipping address.
124
  */
125
- private function _setShippingData( $orderData ) {
126
 
127
  if ($orderData->getShippingAddress()) {
128
  $shippingData = $orderData->getShippingAddress()->getData();
@@ -140,7 +140,7 @@ class Dotdigitalgroup_Email_Model_Connector_Order
140
  /**
141
  * Billing address.
142
  */
143
- private function _setBillingData($orderData) {
144
 
145
  if ($orderData->getBillingAddress()) {
146
  $billingData = $orderData->getBillingAddress()->getData();
@@ -158,7 +158,7 @@ class Dotdigitalgroup_Email_Model_Connector_Order
158
  /**
159
  * custom order attributes
160
  */
161
- private function _setOrderCustomAttributes( $orderData ) {
162
 
163
  $helper = Mage::helper('ddg');
164
  $website = Mage::app()->getStore($orderData->getStore())->getWebsite();
@@ -182,7 +182,7 @@ class Dotdigitalgroup_Email_Model_Connector_Order
182
  * @param $line
183
  * @return string
184
  */
185
- private function _getStreet($street, $line)
186
  {
187
  $street = explode("\n", $street);
188
  if ($line == 1) {
@@ -207,7 +207,7 @@ class Dotdigitalgroup_Email_Model_Connector_Order
207
 
208
  }
209
 
210
- private function _getCustomAttributeValue($field, $orderData)
211
  {
212
  $type = $field['DATA_TYPE'];
213
 
@@ -252,7 +252,7 @@ class Dotdigitalgroup_Email_Model_Connector_Order
252
  * @param $field
253
  * @param $value
254
  */
255
- private function _assignCustom($field, $value)
256
  {
257
  $this->custom[$field['COLUMN_NAME']] = $value;
258
  }
@@ -263,7 +263,7 @@ class Dotdigitalgroup_Email_Model_Connector_Order
263
  * @param $attributeSetId
264
  * @return array
265
  */
266
- private function _getAttributesArray($attributeSetId)
267
  {
268
  $result = array();
269
  $attributes = Mage::getResourceModel('catalog/product_attribute_collection')
@@ -283,7 +283,7 @@ class Dotdigitalgroup_Email_Model_Connector_Order
283
  * @param $value
284
  * @return string
285
  */
286
- private function _limitLength($value)
287
  {
288
  if (strlen($value) > 250)
289
  $value = substr($value, 0, 250);
@@ -295,7 +295,7 @@ class Dotdigitalgroup_Email_Model_Connector_Order
295
  * @param Mage_Sales_Model_Order_Item $orderItem
296
  * @return array
297
  */
298
- private function _getOrderItemOptions($orderItem)
299
  {
300
  $orderItemOptions = $orderItem->getProductOptions();
301
 
@@ -330,7 +330,7 @@ class Dotdigitalgroup_Email_Model_Connector_Order
330
  * @param Mage_Catalog_Model_Product $product
331
  * @return string
332
  */
333
- private function _getAttributeSetName(Mage_Catalog_Model_Product $product)
334
  {
335
  //check if empty. on true load model and cache result
336
  if(empty($this->_attributeSet)){
@@ -358,7 +358,7 @@ class Dotdigitalgroup_Email_Model_Connector_Order
358
  *
359
  * @param Mage_Catalog_Model_Product $product
360
  */
361
- private function _loadAttributeModel(Mage_Catalog_Model_Product $product)
362
  {
363
  $attributeSetModel = Mage::getModel( "eav/entity_attribute_set" );
364
  $attributeSetModel->load( $product->getAttributeSetId() );
@@ -366,7 +366,7 @@ class Dotdigitalgroup_Email_Model_Connector_Order
366
  $this->_attributeSet = $attributeSetModel;
367
  }
368
 
369
- private function _setOrderItems( $orderData ) {
370
 
371
  $website = Mage::app()->getStore($orderData->getStore())->getWebsite();
372
 
@@ -412,7 +412,6 @@ class Dotdigitalgroup_Email_Model_Connector_Order
412
  foreach ($configAttributes as $attribute_code) {
413
  //if config attribute is in attribute set
414
  if (in_array($attribute_code, $attributesFromAttributeSet)) {
415
-
416
  //attribute input type
417
  $inputType = $product->getResource()
418
  ->getAttribute($attribute_code)
79
  */
80
  public $order_status;
81
 
82
+ protected $_attributeSet;
83
 
84
  /**
85
  * set the order information
122
  /**
123
  * Shipping address.
124
  */
125
+ protected function _setShippingData( $orderData ) {
126
 
127
  if ($orderData->getShippingAddress()) {
128
  $shippingData = $orderData->getShippingAddress()->getData();
140
  /**
141
  * Billing address.
142
  */
143
+ protected function _setBillingData($orderData) {
144
 
145
  if ($orderData->getBillingAddress()) {
146
  $billingData = $orderData->getBillingAddress()->getData();
158
  /**
159
  * custom order attributes
160
  */
161
+ protected function _setOrderCustomAttributes( $orderData ) {
162
 
163
  $helper = Mage::helper('ddg');
164
  $website = Mage::app()->getStore($orderData->getStore())->getWebsite();
182
  * @param $line
183
  * @return string
184
  */
185
+ protected function _getStreet($street, $line)
186
  {
187
  $street = explode("\n", $street);
188
  if ($line == 1) {
207
 
208
  }
209
 
210
+ protected function _getCustomAttributeValue($field, $orderData)
211
  {
212
  $type = $field['DATA_TYPE'];
213
 
252
  * @param $field
253
  * @param $value
254
  */
255
+ protected function _assignCustom($field, $value)
256
  {
257
  $this->custom[$field['COLUMN_NAME']] = $value;
258
  }
263
  * @param $attributeSetId
264
  * @return array
265
  */
266
+ protected function _getAttributesArray($attributeSetId)
267
  {
268
  $result = array();
269
  $attributes = Mage::getResourceModel('catalog/product_attribute_collection')
283
  * @param $value
284
  * @return string
285
  */
286
+ protected function _limitLength($value)
287
  {
288
  if (strlen($value) > 250)
289
  $value = substr($value, 0, 250);
295
  * @param Mage_Sales_Model_Order_Item $orderItem
296
  * @return array
297
  */
298
+ protected function _getOrderItemOptions($orderItem)
299
  {
300
  $orderItemOptions = $orderItem->getProductOptions();
301
 
330
  * @param Mage_Catalog_Model_Product $product
331
  * @return string
332
  */
333
+ protected function _getAttributeSetName(Mage_Catalog_Model_Product $product)
334
  {
335
  //check if empty. on true load model and cache result
336
  if(empty($this->_attributeSet)){
358
  *
359
  * @param Mage_Catalog_Model_Product $product
360
  */
361
+ protected function _loadAttributeModel(Mage_Catalog_Model_Product $product)
362
  {
363
  $attributeSetModel = Mage::getModel( "eav/entity_attribute_set" );
364
  $attributeSetModel->load( $product->getAttributeSetId() );
366
  $this->_attributeSet = $attributeSetModel;
367
  }
368
 
369
+ protected function _setOrderItems( $orderData ) {
370
 
371
  $website = Mage::app()->getStore($orderData->getStore())->getWebsite();
372
 
412
  foreach ($configAttributes as $attribute_code) {
413
  //if config attribute is in attribute set
414
  if (in_array($attribute_code, $attributesFromAttributeSet)) {
 
415
  //attribute input type
416
  $inputType = $product->getResource()
417
  ->getAttribute($attribute_code)
app/code/community/Dotdigitalgroup/Email/Model/Connector/Product.php CHANGED
@@ -35,7 +35,7 @@ class Dotdigitalgroup_Email_Model_Connector_Product
35
  /**
36
  * @var float
37
  */
38
- public $special_price = 0;
39
 
40
  /**
41
  * @var array
@@ -50,7 +50,7 @@ class Dotdigitalgroup_Email_Model_Connector_Product
50
  /**
51
  * @var string
52
  */
53
- public $image_path = '';
54
 
55
  /**
56
  * @var string
@@ -77,15 +77,15 @@ class Dotdigitalgroup_Email_Model_Connector_Product
77
  $options = Mage::getModel('catalog/product_visibility')->getOptionArray();
78
  $this->visibility = $options[$product->getVisibility()];
79
  $this->price = (float) number_format($product->getPrice(), 2, '.', '' );
80
- $this->special_price = (float) number_format($product->getSpecialPrice(), 2, '.', '' );
81
  $this->url = $product->getProductUrl();
82
- $this->image_path = Mage::getModel('catalog/product_media_config')->getMediaUrl( $product->getSmallImage());
83
  $stock = Mage::getModel('cataloginventory/stock_item')->loadByProduct($product);
84
  $this->stock = (float) number_format($stock->getQty(), 2, '.', '' );
85
 
86
  $short_description = $product->getShortDescription();
87
  //limit short description
88
- if(strlen($short_description) > 250)
89
  $short_description = substr($short_description, 0 , 250);
90
 
91
  $this->short_description = $short_description;
@@ -110,7 +110,7 @@ class Dotdigitalgroup_Email_Model_Connector_Product
110
  }
111
 
112
  //bundle product options
113
- if ($product->getTypeId() == Mage_Catalog_Model_Product_Type::TYPE_BUNDLE){
114
  $optionCollection = $product->getTypeInstance()->getOptionsCollection();
115
  $selectionCollection = $product->getTypeInstance()->getSelectionsCollection($product->getTypeInstance()->getOptionsIds());
116
  $options = $optionCollection->appendSelections($selectionCollection);
@@ -133,7 +133,7 @@ class Dotdigitalgroup_Email_Model_Connector_Product
133
  }
134
 
135
  //configurable product options
136
- if ($product->getTypeId() == Mage_Catalog_Model_Product_Type::TYPE_CONFIGURABLE){
137
  $productAttributeOptions = $product->getTypeInstance(true)->getConfigurableAttributesAsArray($product);
138
  foreach ($productAttributeOptions as $productAttribute) {
139
  $count = 0;
35
  /**
36
  * @var float
37
  */
38
+ public $specialPrice = 0;
39
 
40
  /**
41
  * @var array
50
  /**
51
  * @var string
52
  */
53
+ public $imagePath = '';
54
 
55
  /**
56
  * @var string
77
  $options = Mage::getModel('catalog/product_visibility')->getOptionArray();
78
  $this->visibility = $options[$product->getVisibility()];
79
  $this->price = (float) number_format($product->getPrice(), 2, '.', '' );
80
+ $this->specialPrice = (float) number_format($product->getSpecialPrice(), 2, '.', '' );
81
  $this->url = $product->getProductUrl();
82
+ $this->imagePath = Mage::getModel('catalog/product_media_config')->getMediaUrl( $product->getSmallImage());
83
  $stock = Mage::getModel('cataloginventory/stock_item')->loadByProduct($product);
84
  $this->stock = (float) number_format($stock->getQty(), 2, '.', '' );
85
 
86
  $short_description = $product->getShortDescription();
87
  //limit short description
88
+ if (strlen($short_description) > 250)
89
  $short_description = substr($short_description, 0 , 250);
90
 
91
  $this->short_description = $short_description;
110
  }
111
 
112
  //bundle product options
113
+ if ($product->getTypeId() == Mage_Catalog_Model_Product_Type::TYPE_BUNDLE) {
114
  $optionCollection = $product->getTypeInstance()->getOptionsCollection();
115
  $selectionCollection = $product->getTypeInstance()->getSelectionsCollection($product->getTypeInstance()->getOptionsIds());
116
  $options = $optionCollection->appendSelections($selectionCollection);
133
  }
134
 
135
  //configurable product options
136
+ if ($product->getTypeId() == Mage_Catalog_Model_Product_Type::TYPE_CONFIGURABLE) {
137
  $productAttributeOptions = $product->getTypeInstance(true)->getConfigurableAttributesAsArray($product);
138
  foreach ($productAttributeOptions as $productAttribute) {
139
  $count = 0;
app/code/community/Dotdigitalgroup/Email/Model/Connector/Quote.php CHANGED
@@ -73,7 +73,7 @@ class Dotdigitalgroup_Email_Model_Connector_Quote
73
  */
74
  public $custom = array();
75
 
76
- private $_attributeSet;
77
 
78
  /**
79
  * set the quote information
@@ -197,7 +197,7 @@ class Dotdigitalgroup_Email_Model_Connector_Quote
197
  * @param $line
198
  * @return string
199
  */
200
- private function _getStreet($street, $line)
201
  {
202
  $street = explode("\n", $street);
203
  if ($line == 1) {
@@ -229,7 +229,7 @@ class Dotdigitalgroup_Email_Model_Connector_Quote
229
  * @param $quoteData
230
  * @return float|int|null|string
231
  */
232
- private function _getCustomAttributeValue($field, $quoteData)
233
  {
234
  $type = $field['DATA_TYPE'];
235
 
@@ -274,7 +274,7 @@ class Dotdigitalgroup_Email_Model_Connector_Quote
274
  * @param $field
275
  * @param $value
276
  */
277
- private function _assignCustom($field, $value)
278
  {
279
  $this->custom[$field['COLUMN_NAME']] = $value;
280
  }
@@ -285,7 +285,7 @@ class Dotdigitalgroup_Email_Model_Connector_Quote
285
  * @param Mage_Catalog_Model_Product $product
286
  * @return string
287
  */
288
- private function _getAttributeSetName(Mage_Catalog_Model_Product $product)
289
  {
290
  //check if empty. on true load model and cache result
291
  if(empty($this->_attributeSet)){
@@ -313,7 +313,7 @@ class Dotdigitalgroup_Email_Model_Connector_Quote
313
  *
314
  * @param Mage_Catalog_Model_Product $product
315
  */
316
- private function _loadAttributeModel(Mage_Catalog_Model_Product $product)
317
  {
318
  $attributeSetModel = Mage::getModel( "eav/entity_attribute_set" );
319
  $attributeSetModel->load( $product->getAttributeSetId() );
73
  */
74
  public $custom = array();
75
 
76
+ protected $_attributeSet;
77
 
78
  /**
79
  * set the quote information
197
  * @param $line
198
  * @return string
199
  */
200
+ protected function _getStreet($street, $line)
201
  {
202
  $street = explode("\n", $street);
203
  if ($line == 1) {
229
  * @param $quoteData
230
  * @return float|int|null|string
231
  */
232
+ protected function _getCustomAttributeValue($field, $quoteData)
233
  {
234
  $type = $field['DATA_TYPE'];
235
 
274
  * @param $field
275
  * @param $value
276
  */
277
+ protected function _assignCustom($field, $value)
278
  {
279
  $this->custom[$field['COLUMN_NAME']] = $value;
280
  }
285
  * @param Mage_Catalog_Model_Product $product
286
  * @return string
287
  */
288
+ protected function _getAttributeSetName(Mage_Catalog_Model_Product $product)
289
  {
290
  //check if empty. on true load model and cache result
291
  if(empty($this->_attributeSet)){
313
  *
314
  * @param Mage_Catalog_Model_Product $product
315
  */
316
+ protected function _loadAttributeModel(Mage_Catalog_Model_Product $product)
317
  {
318
  $attributeSetModel = Mage::getModel( "eav/entity_attribute_set" );
319
  $attributeSetModel->load( $product->getAttributeSetId() );
app/code/community/Dotdigitalgroup/Email/Model/Contact.php CHANGED
@@ -82,7 +82,7 @@ class Dotdigitalgroup_Email_Model_Contact extends Mage_Core_Model_Abstract
82
 
83
  $collection->getSelect()->limit($pageSize);
84
 
85
- return $collection->load();
86
  }
87
 
88
  /**
@@ -140,7 +140,8 @@ class Dotdigitalgroup_Email_Model_Contact extends Mage_Core_Model_Abstract
140
  ->addFieldToFilter('is_guest', array('notnull' => true))
141
  ->addFieldToFilter('email_imported', array('null' => true))
142
  ->addFieldToFilter('website_id', $website->getId());
143
- return $guestCollection->load();
 
144
  }
145
 
146
  public function getNumberOfImportedContacs()
82
 
83
  $collection->getSelect()->limit($pageSize);
84
 
85
+ return $collection;
86
  }
87
 
88
  /**
140
  ->addFieldToFilter('is_guest', array('notnull' => true))
141
  ->addFieldToFilter('email_imported', array('null' => true))
142
  ->addFieldToFilter('website_id', $website->getId());
143
+
144
+ return $guestCollection;
145
  }
146
 
147
  public function getNumberOfImportedContacs()
app/code/community/Dotdigitalgroup/Email/Model/Cron.php CHANGED
@@ -48,22 +48,24 @@ class Dotdigitalgroup_Email_Model_Cron
48
  */
49
  public function reviewsAndWishlist()
50
  {
51
- //sync reviews
52
- $this->reviewSync();
53
  //sync wishlist
54
  Mage::getModel('ddg_automation/wishlist')->sync();
55
  }
56
 
57
  /**
58
- * review sync
59
  */
60
- public function reviewSync()
61
  {
62
- //find orders to review and register campaign
63
- Mage::getModel('ddg_automation/sales_order')->createReviewCampaigns();
 
64
  //sync reviews
65
  $result = Mage::getModel('ddg_automation/review')->sync();
66
- return $result;
 
67
  }
68
 
69
  /**
@@ -75,7 +77,8 @@ class Dotdigitalgroup_Email_Model_Cron
75
  {
76
  // send order
77
  $orderResult = Mage::getModel('ddg_automation/sales_order')->sync();
78
- return $orderResult;
 
79
  }
80
 
81
  /**
@@ -140,7 +143,8 @@ class Dotdigitalgroup_Email_Model_Cron
140
  $message = 'Cleaning cronjob result : ' . $result;
141
  $helper->log($message);
142
  Mage::helper('ddg')->rayLog($message, 'model/cron.php');
143
- return $result;
 
144
  }
145
 
146
 
48
  */
49
  public function reviewsAndWishlist()
50
  {
51
+ //sync reviews and product reminders
52
+ $this->reviewAndProductReminderSync();
53
  //sync wishlist
54
  Mage::getModel('ddg_automation/wishlist')->sync();
55
  }
56
 
57
  /**
58
+ * review sync and product reminder.
59
  */
60
+ public function reviewAndProductReminderSync()
61
  {
62
+ //create product reminder campaigns
63
+ Mage::getModel('ddg_automation/sales_order')->createProductReminderReviewCampaigns();
64
+
65
  //sync reviews
66
  $result = Mage::getModel('ddg_automation/review')->sync();
67
+
68
+ return $result;
69
  }
70
 
71
  /**
77
  {
78
  // send order
79
  $orderResult = Mage::getModel('ddg_automation/sales_order')->sync();
80
+
81
+ return $orderResult;
82
  }
83
 
84
  /**
143
  $message = 'Cleaning cronjob result : ' . $result;
144
  $helper->log($message);
145
  Mage::helper('ddg')->rayLog($message, 'model/cron.php');
146
+
147
+ return $result;
148
  }
149
 
150
 
app/code/community/Dotdigitalgroup/Email/Model/Customer/Observer.php CHANGED
@@ -36,7 +36,8 @@ class Dotdigitalgroup_Email_Model_Customer_Observer
36
 
37
  if ($enabled) {
38
  $client = Mage::helper('ddg')->getWebsiteApiClient($websiteId);
39
- $subscribersAddressBook = Mage::helper('ddg')->getWebsiteConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_SUBSCRIBERS_ADDRESS_BOOK_ID, $websiteId);
 
40
  $response = $client->postContacts($emailBefore);
41
  //check for matching email
42
  if (isset($response->id)) {
@@ -210,7 +211,7 @@ class Dotdigitalgroup_Email_Model_Customer_Observer
210
  *
211
  * @param $review
212
  */
213
- private function _registerReview($review)
214
  {
215
  try{
216
  $emailReview = Mage::getModel('ddg_automation/review');
@@ -246,7 +247,7 @@ class Dotdigitalgroup_Email_Model_Customer_Observer
246
  * @param $wishlist
247
  * @return $this
248
  */
249
- private function _registerWishlist($wishlist)
250
  {
251
  try{
252
  $emailWishlist = Mage::getModel('ddg_automation/wishlist');
36
 
37
  if ($enabled) {
38
  $client = Mage::helper('ddg')->getWebsiteApiClient($websiteId);
39
+ $subscribersAddressBook = Mage::helper('ddg')->getWebsiteConfig(
40
+ Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_SUBSCRIBERS_ADDRESS_BOOK_ID, $websiteId);
41
  $response = $client->postContacts($emailBefore);
42
  //check for matching email
43
  if (isset($response->id)) {
211
  *
212
  * @param $review
213
  */
214
+ protected function _registerReview($review)
215
  {
216
  try{
217
  $emailReview = Mage::getModel('ddg_automation/review');
247
  * @param $wishlist
248
  * @return $this
249
  */
250
+ protected function _registerWishlist($wishlist)
251
  {
252
  try{
253
  $emailWishlist = Mage::getModel('ddg_automation/wishlist');
app/code/community/Dotdigitalgroup/Email/Model/Customer/Wishlist/Item.php CHANGED
@@ -2,11 +2,11 @@
2
 
3
  class Dotdigitalgroup_Email_Model_Customer_Wishlist_Item
4
  {
5
- protected $sku;
6
- protected $qty;
7
- protected $name;
8
- protected $price;
9
- protected $total_value_of_product;
10
 
11
 
12
  /**
@@ -26,7 +26,7 @@ class Dotdigitalgroup_Email_Model_Customer_Wishlist_Item
26
  */
27
  public function setName($name)
28
  {
29
- $this->name = $name;
30
  return $this;
31
  }
32
 
@@ -35,7 +35,7 @@ class Dotdigitalgroup_Email_Model_Customer_Wishlist_Item
35
  */
36
  public function getName()
37
  {
38
- return $this->name;
39
  }
40
 
41
  /**
@@ -44,7 +44,7 @@ class Dotdigitalgroup_Email_Model_Customer_Wishlist_Item
44
  */
45
  public function setQty($qty)
46
  {
47
- $this->qty = (int)$qty;
48
  return $this;
49
  }
50
 
@@ -53,7 +53,7 @@ class Dotdigitalgroup_Email_Model_Customer_Wishlist_Item
53
  */
54
  public function getQty()
55
  {
56
- return $this->qty;
57
  }
58
 
59
  /**
@@ -61,7 +61,7 @@ class Dotdigitalgroup_Email_Model_Customer_Wishlist_Item
61
  */
62
  public function getTotalValueOfProduct()
63
  {
64
- return $this->total_value_of_product;
65
  }
66
 
67
  /**
@@ -70,10 +70,10 @@ class Dotdigitalgroup_Email_Model_Customer_Wishlist_Item
70
  */
71
  public function setPrice($product)
72
  {
73
- $this->price = $product->getFinalPrice();
74
- $total = $this->price * $this->qty;
75
 
76
- $this->total_value_of_product = number_format($total, 2, '.', ',');
77
  return $this;
78
  }
79
 
@@ -82,7 +82,7 @@ class Dotdigitalgroup_Email_Model_Customer_Wishlist_Item
82
  */
83
  public function getPrice()
84
  {
85
- return $this->price;
86
  }
87
 
88
  /**
@@ -91,7 +91,7 @@ class Dotdigitalgroup_Email_Model_Customer_Wishlist_Item
91
  */
92
  public function setSku($sku)
93
  {
94
- $this->sku = $sku;
95
  return $this;
96
  }
97
 
@@ -100,7 +100,7 @@ class Dotdigitalgroup_Email_Model_Customer_Wishlist_Item
100
  */
101
  public function getSku()
102
  {
103
- return $this->sku;
104
  }
105
 
106
  /**
2
 
3
  class Dotdigitalgroup_Email_Model_Customer_Wishlist_Item
4
  {
5
+ protected $_sku;
6
+ protected $_qty;
7
+ protected $_name;
8
+ protected $_price;
9
+ protected $_totalValueOfProduct;
10
 
11
 
12
  /**
26
  */
27
  public function setName($name)
28
  {
29
+ $this->_name = $name;
30
  return $this;
31
  }
32
 
35
  */
36
  public function getName()
37
  {
38
+ return $this->_name;
39
  }
40
 
41
  /**
44
  */
45
  public function setQty($qty)
46
  {
47
+ $this->_qty = (int)$qty;
48
  return $this;
49
  }
50
 
53
  */
54
  public function getQty()
55
  {
56
+ return $this->_qty;
57
  }
58
 
59
  /**
61
  */
62
  public function getTotalValueOfProduct()
63
  {
64
+ return $this->_totalValueOfProduct;
65
  }
66
 
67
  /**
70
  */
71
  public function setPrice($product)
72
  {
73
+ $this->_price = $product->getFinalPrice();
74
+ $total = $this->_price * $this->_qty;
75
 
76
+ $this->_totalValueOfProduct = number_format($total, 2, '.', ',');
77
  return $this;
78
  }
79
 
82
  */
83
  public function getPrice()
84
  {
85
+ return $this->_price;
86
  }
87
 
88
  /**
91
  */
92
  public function setSku($sku)
93
  {
94
+ $this->_sku = $sku;
95
  return $this;
96
  }
97
 
100
  */
101
  public function getSku()
102
  {
103
+ return $this->_sku;
104
  }
105
 
106
  /**
app/code/community/Dotdigitalgroup/Email/Model/Email/Template.php CHANGED
@@ -5,17 +5,14 @@ class Dotdigitalgroup_Email_Model_Email_Template extends Mage_Core_Model_Email_T
5
 
6
  public function send($email, $name = null, array $variables = array())
7
  {
8
-
9
  $_helper = Mage::helper('ddg/transactional');
10
  // If it's not enabled, just return the parent result.
11
- if (!$_helper->isEnabled()) {
12
- Mage::log('DDG Transactional is not enabled, fall back to parent class');
13
  return parent::send($email, $name, $variables);
14
  }
15
 
16
 
17
  // As per parent class - except addition of before and after send events
18
-
19
  if (!$this->isValidForSend()) {
20
  Mage::log('Email is not valid for sending, this is a core error that often means there\'s a problem with your email templates.');
21
  Mage::logException(new Exception('This letter cannot be sent.')); // translation is intentionally omitted
5
 
6
  public function send($email, $name = null, array $variables = array())
7
  {
 
8
  $_helper = Mage::helper('ddg/transactional');
9
  // If it's not enabled, just return the parent result.
10
+ if (! $_helper->isEnabled()) {
 
11
  return parent::send($email, $name, $variables);
12
  }
13
 
14
 
15
  // As per parent class - except addition of before and after send events
 
16
  if (!$this->isValidForSend()) {
17
  Mage::log('Email is not valid for sending, this is a core error that often means there\'s a problem with your email templates.');
18
  Mage::logException(new Exception('This letter cannot be sent.')); // translation is intentionally omitted
app/code/community/Dotdigitalgroup/Email/Model/Importer.php CHANGED
@@ -24,7 +24,7 @@ class Dotdigitalgroup_Email_Model_Importer extends Mage_Core_Model_Abstract
24
  const IMPORT_TYPE_SUBSCRIBERS = 'Subscriber';
25
  const IMPORT_TYPE_GUEST = 'Guest';
26
 
27
- private $_reasons = array(
28
  'Globally Suppressed',
29
  'Blocked',
30
  'Unsubscribed',
@@ -33,10 +33,11 @@ class Dotdigitalgroup_Email_Model_Importer extends Mage_Core_Model_Abstract
33
  'Domain Suppressed',
34
  'Failures',
35
  'Invalid Entries',
36
- 'Mail Blocked'
 
37
  );
38
 
39
- private $import_statuses = array(
40
  'RejectedByWatchdog', 'InvalidFileFormat', 'Unknown',
41
  'Failed', 'ExceedsAllowedContactLimit', 'NotAvailableInThisVersion'
42
  );
@@ -122,11 +123,10 @@ class Dotdigitalgroup_Email_Model_Importer extends Mage_Core_Model_Abstract
122
  }
123
  //if curl error 28
124
  $curlError = $client->getCurlError();
125
- if($curlError) {
126
  $item->setMessage($curlError)
127
  ->save();
128
- }
129
- else{
130
  if ($response && !isset($response->message)) {
131
  if ($response->status == 'Finished') {
132
  $now = Mage::getSingleton('core/date')->gmtDate();
@@ -169,22 +169,23 @@ class Dotdigitalgroup_Email_Model_Importer extends Mage_Core_Model_Abstract
169
  return true;
170
  }
171
 
172
- private function _processContactImportReportFaults($id, $websiteId)
173
  {
174
  $helper = Mage::helper('ddg');
175
  $client = $helper->getWebsiteApiClient($websiteId);
176
  $data = $client->getContactImportReportFaults($id);
177
 
178
- if($data){
179
  $data = $this->_remove_utf8_bom($data);
180
  $fileName = Mage::getBaseDir('var') . DS . 'DmTempCsvFromApi.csv';
181
  $io = new Varien_Io_File();
 
182
  $check = $io->write($fileName, $data);
183
- if($check){
184
  $csvArray = $this->_csv_to_array($fileName);
185
  $io->rm($fileName);
186
  Mage::getResourceModel('ddg_automation/contact')->unsubscribe($csvArray);
187
- }else{
188
  $helper->log('_processContactImportReportFaults: cannot save data to CSV file.');
189
  }
190
  }
@@ -193,8 +194,7 @@ class Dotdigitalgroup_Email_Model_Importer extends Mage_Core_Model_Abstract
193
  /**
194
  * actual importer queue processor
195
  */
196
- private function _processQueue()
197
- {
198
  if ($item = $this->_getQueue()) {
199
  $helper = Mage::helper('ddg');
200
  $websiteId = $item->getWebsiteId();
@@ -269,11 +269,11 @@ class Dotdigitalgroup_Email_Model_Importer extends Mage_Core_Model_Abstract
269
  }
270
  //if curl error 28
271
  $curlError = $client->getCurlError();
272
- if($curlError) {
273
  $item->setMessage($curlError)
274
  ->setImportStatus(self::FAILED)
275
  ->save();
276
- } else{
277
  if (!$error) {
278
  if ($item->getImportMode() == self::MODE_SINGLE_DELETE or
279
  $item->getImportMode() == self::MODE_SINGLE or
@@ -287,17 +287,16 @@ class Dotdigitalgroup_Email_Model_Importer extends Mage_Core_Model_Abstract
287
 
288
  //process again next item in queue
289
  $this->_processQueue();
290
- }
291
- elseif(isset($result->id) && !isset($result->message)){
292
  $item->setImportStatus(self::IMPORTING)
293
  ->setImportId($result->id)
294
  ->setImportStarted($now)
295
  ->setMessage('')
296
  ->save();
297
- }
298
- else{
299
  $item->setImportStatus(self::FAILED)
300
- ->setMessage($result->message);
301
 
302
  if(isset($result->id))
303
  $item->setImportId($result->id);
@@ -305,13 +304,15 @@ class Dotdigitalgroup_Email_Model_Importer extends Mage_Core_Model_Abstract
305
  $item->save();
306
  }
307
  } elseif ($error) {
308
- $item->setImportStatus(self::FAILED)
309
- ->setMessage($result->message);
310
 
311
- if(isset($result->id))
312
- $item->setImportId($result->id);
313
 
314
- $item->save();
 
 
 
 
 
315
  }
316
  }
317
  }
@@ -323,7 +324,7 @@ class Dotdigitalgroup_Email_Model_Importer extends Mage_Core_Model_Abstract
323
  * @param bool $importing
324
  * @return bool|Varien_Object
325
  */
326
- private function _getQueue($importing = false)
327
  {
328
  $collection = $this->getCollection();
329
 
@@ -340,18 +341,18 @@ class Dotdigitalgroup_Email_Model_Importer extends Mage_Core_Model_Abstract
340
  return false;
341
  }
342
 
343
- private function _csv_to_array($filename)
344
  {
345
  if(!file_exists($filename) || !is_readable($filename))
346
  return FALSE;
347
 
348
  $header = NULL;
349
  $data = array();
350
- if (($handle = fopen($filename, 'r')) !== FALSE)
351
- {
352
- while (($row = fgetcsv($handle)) !== FALSE)
353
- {
354
- if(!$header)
355
  $header = $row;
356
  else
357
  $data[] = array_combine($header, $row);
@@ -360,15 +361,15 @@ class Dotdigitalgroup_Email_Model_Importer extends Mage_Core_Model_Abstract
360
  }
361
 
362
  $contacts = array();
363
- foreach($data as $item){
364
- if(in_array($item['Reason'], $this->_reasons))
365
  $contacts[] = $item['email'];
366
  }
367
 
368
  return $contacts;
369
  }
370
 
371
- private function _remove_utf8_bom($text)
372
  {
373
  $bom = pack('H*','EFBBBF');
374
  $text = preg_replace("/^$bom/", '', $text);
24
  const IMPORT_TYPE_SUBSCRIBERS = 'Subscriber';
25
  const IMPORT_TYPE_GUEST = 'Guest';
26
 
27
+ protected $_reasons = array(
28
  'Globally Suppressed',
29
  'Blocked',
30
  'Unsubscribed',
33
  'Domain Suppressed',
34
  'Failures',
35
  'Invalid Entries',
36
+ 'Mail Blocked',
37
+ 'Suppressed by you'
38
  );
39
 
40
+ protected $import_statuses = array(
41
  'RejectedByWatchdog', 'InvalidFileFormat', 'Unknown',
42
  'Failed', 'ExceedsAllowedContactLimit', 'NotAvailableInThisVersion'
43
  );
123
  }
124
  //if curl error 28
125
  $curlError = $client->getCurlError();
126
+ if ($curlError) {
127
  $item->setMessage($curlError)
128
  ->save();
129
+ } else {
 
130
  if ($response && !isset($response->message)) {
131
  if ($response->status == 'Finished') {
132
  $now = Mage::getSingleton('core/date')->gmtDate();
169
  return true;
170
  }
171
 
172
+ protected function _processContactImportReportFaults($id, $websiteId)
173
  {
174
  $helper = Mage::helper('ddg');
175
  $client = $helper->getWebsiteApiClient($websiteId);
176
  $data = $client->getContactImportReportFaults($id);
177
 
178
+ if ($data) {
179
  $data = $this->_remove_utf8_bom($data);
180
  $fileName = Mage::getBaseDir('var') . DS . 'DmTempCsvFromApi.csv';
181
  $io = new Varien_Io_File();
182
+ $io->open();
183
  $check = $io->write($fileName, $data);
184
+ if ($check) {
185
  $csvArray = $this->_csv_to_array($fileName);
186
  $io->rm($fileName);
187
  Mage::getResourceModel('ddg_automation/contact')->unsubscribe($csvArray);
188
+ } else {
189
  $helper->log('_processContactImportReportFaults: cannot save data to CSV file.');
190
  }
191
  }
194
  /**
195
  * actual importer queue processor
196
  */
197
+ protected function _processQueue() {
 
198
  if ($item = $this->_getQueue()) {
199
  $helper = Mage::helper('ddg');
200
  $websiteId = $item->getWebsiteId();
269
  }
270
  //if curl error 28
271
  $curlError = $client->getCurlError();
272
+ if ($curlError) {
273
  $item->setMessage($curlError)
274
  ->setImportStatus(self::FAILED)
275
  ->save();
276
+ } else {
277
  if (!$error) {
278
  if ($item->getImportMode() == self::MODE_SINGLE_DELETE or
279
  $item->getImportMode() == self::MODE_SINGLE or
287
 
288
  //process again next item in queue
289
  $this->_processQueue();
290
+ } elseif (isset($result->id) && !isset($result->message)) {
 
291
  $item->setImportStatus(self::IMPORTING)
292
  ->setImportId($result->id)
293
  ->setImportStarted($now)
294
  ->setMessage('')
295
  ->save();
296
+ } else {
297
+ $message = (isset($result->message))? $result->message : 'Error unknown';
298
  $item->setImportStatus(self::FAILED)
299
+ ->setMessage($message);
300
 
301
  if(isset($result->id))
302
  $item->setImportId($result->id);
304
  $item->save();
305
  }
306
  } elseif ($error) {
 
 
307
 
308
+ $message = (isset($result->message))? $result->message : 'Error unknown';
 
309
 
310
+ $item->setImportStatus(self::FAILED)
311
+ ->setMessage($message);
312
+ if (isset($result->id))
313
+ $item->setImportId($result->id);
314
+
315
+ $item->save();
316
  }
317
  }
318
  }
324
  * @param bool $importing
325
  * @return bool|Varien_Object
326
  */
327
+ protected function _getQueue($importing = false)
328
  {
329
  $collection = $this->getCollection();
330
 
341
  return false;
342
  }
343
 
344
+ protected function _csv_to_array($filename)
345
  {
346
  if(!file_exists($filename) || !is_readable($filename))
347
  return FALSE;
348
 
349
  $header = NULL;
350
  $data = array();
351
+ if (($handle = fopen($filename, 'r')) !== FALSE) {
352
+
353
+ while (($row = fgetcsv($handle)) !== FALSE) {
354
+
355
+ if (!$header)
356
  $header = $row;
357
  else
358
  $data[] = array_combine($header, $row);
361
  }
362
 
363
  $contacts = array();
364
+ foreach ($data as $item) {
365
+ if (in_array($item['Reason'], $this->_reasons))
366
  $contacts[] = $item['email'];
367
  }
368
 
369
  return $contacts;
370
  }
371
 
372
+ protected function _remove_utf8_bom($text)
373
  {
374
  $bom = pack('H*','EFBBBF');
375
  $text = preg_replace("/^$bom/", '', $text);
app/code/community/Dotdigitalgroup/Email/Model/Newsletter/Observer.php CHANGED
@@ -100,7 +100,7 @@ class Dotdigitalgroup_Email_Model_Newsletter_Observer
100
  return $this;
101
  }
102
 
103
- private function _addSubscriberToAutomation($email, $subscriber, $websiteId){
104
 
105
  $storeId = $subscriber->getStoreId();
106
  $store = Mage::app()->getStore($storeId);
100
  return $this;
101
  }
102
 
103
+ protected function _addSubscriberToAutomation($email, $subscriber, $websiteId){
104
 
105
  $storeId = $subscriber->getStoreId();
106
  $store = Mage::app()->getStore($storeId);
app/code/community/Dotdigitalgroup/Email/Model/Order.php CHANGED
@@ -120,7 +120,8 @@ class Dotdigitalgroup_Email_Model_Order extends Mage_Core_Model_Abstract
120
  ->addFieldToFilter('store_id', array('in' => $storeIds));
121
 
122
  $collection->getSelect()->limit($limit);
123
- return $collection->load();
 
124
  }
125
 
126
  }
120
  ->addFieldToFilter('store_id', array('in' => $storeIds));
121
 
122
  $collection->getSelect()->limit($limit);
123
+
124
+ return $collection;
125
  }
126
 
127
  }
app/code/community/Dotdigitalgroup/Email/Model/Quote.php CHANGED
@@ -2,10 +2,10 @@
2
 
3
  class Dotdigitalgroup_Email_Model_Quote extends Mage_Core_Model_Abstract
4
  {
5
- private $_start;
6
- private $_quotes;
7
- private $_count = 0;
8
- private $_quoteIds;
9
 
10
  /**
11
  * constructor
@@ -46,13 +46,18 @@ class Dotdigitalgroup_Email_Model_Quote extends Mage_Core_Model_Abstract
46
  foreach (Mage::app()->getWebsites(true) as $website) {
47
 
48
  $apiEnabled = Mage::helper('ddg')->getWebsiteConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_API_ENABLED, $website);
49
- $enabled = Mage::helper('ddg')->getWebsiteConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_SYNC_QUOTE_ENABLED, $website);
50
  $storeIds = $website->getStoreIds();
51
- if ($enabled && $apiEnabled && !empty($storeIds)) {
 
52
  //using bulk api
53
  $helper->log('---------- Start quote bulk sync ----------');
54
  $this->_start = microtime(true);
 
 
 
55
  $this->_exportQuoteForWebsite($website);
 
56
  //send quote as transactional data
57
  if (isset($this->_quotes[$website->getId()])) {
58
  $websiteQuotes = $this->_quotes[$website->getId()];
@@ -63,6 +68,7 @@ class Dotdigitalgroup_Email_Model_Quote extends Mage_Core_Model_Abstract
63
  Dotdigitalgroup_Email_Model_Importer::MODE_BULK,
64
  $website->getId()
65
  );
 
66
  //set imported
67
  if ($check) {
68
  $this->getResource()->setImported($this->_quoteIds);
@@ -85,30 +91,30 @@ class Dotdigitalgroup_Email_Model_Quote extends Mage_Core_Model_Abstract
85
  *
86
  * @param Mage_Core_Model_Website $website
87
  */
88
- private function _exportQuoteForWebsite(Mage_Core_Model_Website $website)
89
  {
90
- try{
91
- //reset quotes
92
- $this->_quotes = array();
93
- $this->_quoteIds = array();
94
- $limit = Mage::helper('ddg')->getWebsiteConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_TRANSACTIONAL_DATA_SYNC_LIMIT, $website);
95
- $collection = $this->_getQuoteToImport($website, $limit);
96
-
97
- foreach ($collection as $emailQuote) {
98
-
99
- $quote = Mage::getModel('sales/quote')->load($emailQuote->getQuoteId());
100
-
101
- if ($quote->getId()) {
102
-
103
- $connectorQuote = Mage::getModel('ddg_automation/connector_quote', $quote);
104
- $this->_quotes[$website->getId()][] = $connectorQuote;
105
- }
106
- $this->_quoteIds[] = $emailQuote->getQuoteId();
107
- $this->_count++;
108
- }
109
- }catch(Exception $e){
110
- Mage::logException($e);
111
- }
112
  }
113
 
114
  /**
@@ -120,7 +126,7 @@ class Dotdigitalgroup_Email_Model_Quote extends Mage_Core_Model_Abstract
120
  *
121
  * @return mixed
122
  */
123
- private function _getQuoteToImport(Mage_Core_Model_Website $website, $limit = 100, $modified = false)
124
  {
125
  $collection = $this->getCollection()
126
  ->addFieldToFilter('store_id', array('in' => $website->getStoreIds()))
@@ -132,9 +138,9 @@ class Dotdigitalgroup_Email_Model_Quote extends Mage_Core_Model_Abstract
132
  } else {
133
  $collection->addFieldToFilter('imported', array('null' => true));
134
  }
135
-
136
  $collection->getSelect()->limit($limit);
137
- return $collection;
 
138
  }
139
 
140
  /**
@@ -142,14 +148,16 @@ class Dotdigitalgroup_Email_Model_Quote extends Mage_Core_Model_Abstract
142
  *
143
  * @param Mage_Core_Model_Website $website
144
  */
145
- private function _exportQuoteForWebsiteInSingle(Mage_Core_Model_Website $website)
146
  {
147
  try {
148
  $limit = Mage::helper('ddg')->getWebsiteConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_TRANSACTIONAL_DATA_SYNC_LIMIT, $website);
149
  $collection = $this->_getQuoteToImport($website, $limit, true);
150
 
 
151
  foreach ($collection as $emailQuote) {
152
- $quote = Mage::getModel('sales/quote')->load($emailQuote->getQuoteId());
 
153
  if($quote->getId()) {
154
 
155
  $connectorQuote = Mage::getModel('ddg_automation/connector_quote', $quote);
2
 
3
  class Dotdigitalgroup_Email_Model_Quote extends Mage_Core_Model_Abstract
4
  {
5
+ protected $_start;
6
+ protected $_quotes;
7
+ protected $_count = 0;
8
+ protected $_quoteIds;
9
 
10
  /**
11
  * constructor
46
  foreach (Mage::app()->getWebsites(true) as $website) {
47
 
48
  $apiEnabled = Mage::helper('ddg')->getWebsiteConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_API_ENABLED, $website);
49
+ $enabled = Mage::helper('ddg')->getWebsiteConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_SYNC_QUOTE_ENABLED, $website);
50
  $storeIds = $website->getStoreIds();
51
+ //api and sync enabled, also the should have stores created for this website
52
+ if ($enabled && $apiEnabled && !empty($storeIds)) {
53
  //using bulk api
54
  $helper->log('---------- Start quote bulk sync ----------');
55
  $this->_start = microtime(true);
56
+ /**
57
+ * get quotes for website to import.
58
+ */
59
  $this->_exportQuoteForWebsite($website);
60
+
61
  //send quote as transactional data
62
  if (isset($this->_quotes[$website->getId()])) {
63
  $websiteQuotes = $this->_quotes[$website->getId()];
68
  Dotdigitalgroup_Email_Model_Importer::MODE_BULK,
69
  $website->getId()
70
  );
71
+
72
  //set imported
73
  if ($check) {
74
  $this->getResource()->setImported($this->_quoteIds);
91
  *
92
  * @param Mage_Core_Model_Website $website
93
  */
94
+ protected function _exportQuoteForWebsite(Mage_Core_Model_Website $website)
95
  {
96
+ try{
97
+ //reset quotes
98
+ $this->_quotes = array();
99
+ $this->_quoteIds = array();
100
+ $limit = Mage::helper('ddg')->getWebsiteConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_TRANSACTIONAL_DATA_SYNC_LIMIT, $website);
101
+ $collection = $this->_getQuoteToImport($website, $limit);
102
+
103
+ foreach ($collection as $emailQuote) {
104
+ $store = Mage::app()->getStore($emailQuote->getStoreId());
105
+ $quote = Mage::getModel('sales/quote')->setStore($store)->load($emailQuote->getQuoteId());
106
+
107
+ if ($quote->getId()) {
108
+
109
+ $connectorQuote = Mage::getModel('ddg_automation/connector_quote', $quote);
110
+ $this->_quotes[$website->getId()][] = $connectorQuote;
111
+ }
112
+ $this->_quoteIds[] = $emailQuote->getQuoteId();
113
+ $this->_count++;
114
+ }
115
+ }catch(Exception $e){
116
+ Mage::logException($e);
117
+ }
118
  }
119
 
120
  /**
126
  *
127
  * @return mixed
128
  */
129
+ protected function _getQuoteToImport(Mage_Core_Model_Website $website, $limit = 100, $modified = false)
130
  {
131
  $collection = $this->getCollection()
132
  ->addFieldToFilter('store_id', array('in' => $website->getStoreIds()))
138
  } else {
139
  $collection->addFieldToFilter('imported', array('null' => true));
140
  }
 
141
  $collection->getSelect()->limit($limit);
142
+
143
+ return $collection;
144
  }
145
 
146
  /**
148
  *
149
  * @param Mage_Core_Model_Website $website
150
  */
151
+ protected function _exportQuoteForWebsiteInSingle(Mage_Core_Model_Website $website)
152
  {
153
  try {
154
  $limit = Mage::helper('ddg')->getWebsiteConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_TRANSACTIONAL_DATA_SYNC_LIMIT, $website);
155
  $collection = $this->_getQuoteToImport($website, $limit, true);
156
 
157
+
158
  foreach ($collection as $emailQuote) {
159
+ $store = Mage::app()->getStore($emailQuote->getStoreId());
160
+ $quote = Mage::getModel('sales/quote')->setStore($store)->load($emailQuote->getQuoteId());
161
  if($quote->getId()) {
162
 
163
  $connectorQuote = Mage::getModel('ddg_automation/connector_quote', $quote);
app/code/community/Dotdigitalgroup/Email/Model/Resource/Contact.php CHANGED
@@ -292,21 +292,26 @@ class Dotdigitalgroup_Email_Model_Resource_Contact extends Mage_Core_Model_Mysql
292
 
293
  try{
294
  //un-subscribe from the email contact table.
295
- $write->update(
 
 
296
  $this->getMainTable(),
297
  array(
298
  'is_subscriber' => new Zend_Db_Expr('null'),
299
  'suppressed' => '1'
300
  ),
301
- "email IN ($emails)"
302
  );
303
 
304
- // un-subscribe newsletter subscribers
305
- $write->update(
306
- $this->getTable('newsletter/subscriber'),
307
- array('subscriber_status' => Mage_Newsletter_Model_Subscriber::STATUS_UNSUBSCRIBED),
308
- "subscriber_email IN ($emails)"
309
- );
 
 
 
310
  }catch (Exception $e){
311
  Mage::throwException($e->getMessage());
312
  Mage::logException($e);
292
 
293
  try{
294
  //un-subscribe from the email contact table.
295
+ $whereCondition = $write->quoteInto('email IN (?)', $emails);
296
+
297
+ $write->update(
298
  $this->getMainTable(),
299
  array(
300
  'is_subscriber' => new Zend_Db_Expr('null'),
301
  'suppressed' => '1'
302
  ),
303
+ $whereCondition
304
  );
305
 
306
+ // un-subscribe newsletter subscribers
307
+ $newsletterCollection = Mage::getModel('newsletter/subscriber')->getCollection()
308
+ ->addFieldToFilter('subscriber_email', array('in' => $emails));
309
+
310
+ foreach ( $newsletterCollection as $subscriber ) {
311
+ $subscriber->setSubscriberStatus( Mage_Newsletter_Model_Subscriber::STATUS_UNSUBSCRIBED)
312
+ ->save();
313
+ }
314
+
315
  }catch (Exception $e){
316
  Mage::throwException($e->getMessage());
317
  Mage::logException($e);
app/code/community/Dotdigitalgroup/Email/Model/Review.php CHANGED
@@ -2,10 +2,10 @@
2
 
3
  class Dotdigitalgroup_Email_Model_Review extends Mage_Core_Model_Abstract
4
  {
5
- private $_start;
6
- private $_countReviews;
7
- private $_reviews;
8
- private $_reviewIds;
9
 
10
  const EMAIL_REVIEW_IMPORTED = 1;
11
 
@@ -80,7 +80,7 @@ class Dotdigitalgroup_Email_Model_Review extends Mage_Core_Model_Abstract
80
  return $response;
81
  }
82
 
83
- private function _exportReviewsForWebsite(Mage_Core_Model_Website $website)
84
  {
85
  $limit = Mage::helper('ddg')->getWebsiteConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_TRANSACTIONAL_DATA_SYNC_LIMIT, $website);
86
  $emailReviews = $this->_getReviewsToExport($website, $limit);
@@ -136,7 +136,7 @@ class Dotdigitalgroup_Email_Model_Review extends Mage_Core_Model_Abstract
136
  }
137
  }
138
 
139
- private function _getReviewsToExport(Mage_Core_Model_Website $website, $limit = 100)
140
  {
141
  return $this->getCollection()
142
  ->addFieldToFilter('review_imported', array('null' => 'true'))
2
 
3
  class Dotdigitalgroup_Email_Model_Review extends Mage_Core_Model_Abstract
4
  {
5
+ protected $_start;
6
+ protected $_countReviews;
7
+ protected $_reviews;
8
+ protected $_reviewIds;
9
 
10
  const EMAIL_REVIEW_IMPORTED = 1;
11
 
80
  return $response;
81
  }
82
 
83
+ protected function _exportReviewsForWebsite(Mage_Core_Model_Website $website)
84
  {
85
  $limit = Mage::helper('ddg')->getWebsiteConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_TRANSACTIONAL_DATA_SYNC_LIMIT, $website);
86
  $emailReviews = $this->_getReviewsToExport($website, $limit);
136
  }
137
  }
138
 
139
+ protected function _getReviewsToExport(Mage_Core_Model_Website $website, $limit = 100)
140
  {
141
  return $this->getCollection()
142
  ->addFieldToFilter('review_imported', array('null' => 'true'))
app/code/community/Dotdigitalgroup/Email/Model/Rules.php CHANGED
@@ -5,12 +5,12 @@ class Dotdigitalgroup_Email_Model_Rules extends Mage_Core_Model_Abstract
5
  const ABANDONED = 1;
6
  const REVIEW = 2;
7
 
8
- private $_defaultOptions;
9
- private $_conditionMap;
10
- private $_attributeMapForQuote;
11
- private $_attributeMapForOrder;
12
- private $_productAttribute;
13
- private $_used = array();
14
 
15
  /**
16
  * constructor
@@ -149,16 +149,16 @@ class Dotdigitalgroup_Email_Model_Rules extends Mage_Core_Model_Abstract
149
  {
150
  $rule = $this->getActiveRuleForWebsite($type, $websiteId);
151
  //if no rule then return the collection untouched
152
- if(empty($rule))
153
  return $collection;
154
 
155
  //if rule has no conditions then return the collection untouched
156
  $condition = unserialize($rule->getCondition());
157
- if(empty($condition))
158
  return $collection;
159
 
160
  //join tables to collection according to type
161
- if($type == self::ABANDONED){
162
  $collection->getSelect()
163
  ->joinLeft(
164
  array('quote_address' => 'sales_flat_quote_address'),
@@ -169,7 +169,7 @@ class Dotdigitalgroup_Email_Model_Rules extends Mage_Core_Model_Abstract
169
  "main_table.entity_id = quote_payment.quote_id",
170
  array('method')
171
  )->where('address_type = ?', 'shipping');
172
- }elseif($type == self::REVIEW){
173
  $collection->getSelect()
174
  ->join(
175
  array('order_address' => 'sales_flat_order_address'),
@@ -206,7 +206,7 @@ class Dotdigitalgroup_Email_Model_Rules extends Mage_Core_Model_Abstract
206
  * @param $type
207
  * @return mixed
208
  */
209
- private function _processAndCombination($collection, $conditions, $type)
210
  {
211
  foreach($conditions as $condition){
212
  $attribute = $condition['attribute'];
@@ -254,7 +254,7 @@ class Dotdigitalgroup_Email_Model_Rules extends Mage_Core_Model_Abstract
254
  * @param $type
255
  * @return mixed
256
  */
257
- private function _processOrCombination($collection, $conditions, $type)
258
  {
259
  $fieldsConditions = array();
260
  $multiFieldsConditions = array();
@@ -332,13 +332,14 @@ class Dotdigitalgroup_Email_Model_Rules extends Mage_Core_Model_Abstract
332
  * @param $collection
333
  * @return mixed
334
  */
335
- private function _processProductAttributes($collection)
336
  {
 
337
  //if no product attribute or collection empty return collection
338
- if(empty($this->_productAttribute) or !$collection->getSize())
339
  return $collection;
340
 
341
- foreach($collection as $collectionItem){
342
  $items = $collectionItem->getAllItems();
343
  foreach($items as $item){
344
  //loaded product
@@ -350,7 +351,7 @@ class Dotdigitalgroup_Email_Model_Rules extends Mage_Core_Model_Abstract
350
  $product
351
  );
352
 
353
- foreach($this->_productAttribute as $productAttribute){
354
  $attribute = $productAttribute['attribute'];
355
  $cond = $productAttribute['conditions'];
356
  $value = $productAttribute['cvalue'];
@@ -364,7 +365,7 @@ class Dotdigitalgroup_Email_Model_Rules extends Mage_Core_Model_Abstract
364
  }
365
 
366
  //if attribute is in product's attributes array
367
- if(in_array($attribute,$attributes)){
368
  $attr = Mage::getSingleton('eav/config')->getAttribute('catalog_product', $attribute);
369
  //frontend type
370
  $frontType = $attr->getFrontend()->getInputType();
@@ -376,7 +377,7 @@ class Dotdigitalgroup_Email_Model_Rules extends Mage_Core_Model_Abstract
376
  $collection->removeItemByKey($collectionItem->getId());
377
  continue 3;
378
  }
379
- }else{
380
  $getter = 'get';
381
  $exploded = explode('_', $attribute);
382
  foreach ($exploded as $one) {
@@ -384,10 +385,10 @@ class Dotdigitalgroup_Email_Model_Rules extends Mage_Core_Model_Abstract
384
  }
385
  $attributeValue = call_user_func(array($product, $getter));
386
  //if retrieved value is an array then loop through all array values. example can be categories
387
- if(is_array($attributeValue)){
388
- foreach($attributeValue as $attrValue){
389
  //evaluate conditions on values. if true then unset item from collection
390
- if($this->_evaluate($value, $cond, $attrValue)){
391
  $collection->removeItemByKey($collectionItem->getId());
392
  continue 3;
393
  }
@@ -395,7 +396,7 @@ class Dotdigitalgroup_Email_Model_Rules extends Mage_Core_Model_Abstract
395
  }
396
  else{
397
  //evaluate conditions on values. if true then unset item from collection
398
- if($this->_evaluate($value, $cond, $attributeValue)){
399
  $collection->removeItemByKey($collectionItem->getId());
400
  continue 3;
401
  }
@@ -416,7 +417,7 @@ class Dotdigitalgroup_Email_Model_Rules extends Mage_Core_Model_Abstract
416
  * @param $var2
417
  * @return bool
418
  */
419
- private function _evaluate($var1, $op, $var2)
420
  {
421
  switch ($op) {
422
  case "eq":
5
  const ABANDONED = 1;
6
  const REVIEW = 2;
7
 
8
+ protected $_defaultOptions;
9
+ protected $_conditionMap;
10
+ protected $_attributeMapForQuote;
11
+ protected $_attributeMapForOrder;
12
+ protected $_productAttribute;
13
+ protected $_used = array();
14
 
15
  /**
16
  * constructor
149
  {
150
  $rule = $this->getActiveRuleForWebsite($type, $websiteId);
151
  //if no rule then return the collection untouched
152
+ if (empty($rule))
153
  return $collection;
154
 
155
  //if rule has no conditions then return the collection untouched
156
  $condition = unserialize($rule->getCondition());
157
+ if (empty($condition))
158
  return $collection;
159
 
160
  //join tables to collection according to type
161
+ if ($type == self::ABANDONED){
162
  $collection->getSelect()
163
  ->joinLeft(
164
  array('quote_address' => 'sales_flat_quote_address'),
169
  "main_table.entity_id = quote_payment.quote_id",
170
  array('method')
171
  )->where('address_type = ?', 'shipping');
172
+ } elseif($type == self::REVIEW) {
173
  $collection->getSelect()
174
  ->join(
175
  array('order_address' => 'sales_flat_order_address'),
206
  * @param $type
207
  * @return mixed
208
  */
209
+ protected function _processAndCombination($collection, $conditions, $type)
210
  {
211
  foreach($conditions as $condition){
212
  $attribute = $condition['attribute'];
254
  * @param $type
255
  * @return mixed
256
  */
257
+ protected function _processOrCombination($collection, $conditions, $type)
258
  {
259
  $fieldsConditions = array();
260
  $multiFieldsConditions = array();
332
  * @param $collection
333
  * @return mixed
334
  */
335
+ protected function _processProductAttributes($collection)
336
  {
337
+
338
  //if no product attribute or collection empty return collection
339
+ if (empty($this->_productAttribute) or !$collection->getSize())
340
  return $collection;
341
 
342
+ foreach ($collection as $collectionItem) {
343
  $items = $collectionItem->getAllItems();
344
  foreach($items as $item){
345
  //loaded product
351
  $product
352
  );
353
 
354
+ foreach ($this->_productAttribute as $productAttribute) {
355
  $attribute = $productAttribute['attribute'];
356
  $cond = $productAttribute['conditions'];
357
  $value = $productAttribute['cvalue'];
365
  }
366
 
367
  //if attribute is in product's attributes array
368
+ if (in_array($attribute,$attributes)) {
369
  $attr = Mage::getSingleton('eav/config')->getAttribute('catalog_product', $attribute);
370
  //frontend type
371
  $frontType = $attr->getFrontend()->getInputType();
377
  $collection->removeItemByKey($collectionItem->getId());
378
  continue 3;
379
  }
380
+ } else {
381
  $getter = 'get';
382
  $exploded = explode('_', $attribute);
383
  foreach ($exploded as $one) {
385
  }
386
  $attributeValue = call_user_func(array($product, $getter));
387
  //if retrieved value is an array then loop through all array values. example can be categories
388
+ if (is_array($attributeValue)) {
389
+ foreach ($attributeValue as $attrValue) {
390
  //evaluate conditions on values. if true then unset item from collection
391
+ if ($this->_evaluate($value, $cond, $attrValue)) {
392
  $collection->removeItemByKey($collectionItem->getId());
393
  continue 3;
394
  }
396
  }
397
  else{
398
  //evaluate conditions on values. if true then unset item from collection
399
+ if ($this->_evaluate($value, $cond, $attributeValue)) {
400
  $collection->removeItemByKey($collectionItem->getId());
401
  continue 3;
402
  }
417
  * @param $var2
418
  * @return bool
419
  */
420
+ protected function _evaluate($var1, $op, $var2)
421
  {
422
  switch ($op) {
423
  case "eq":
app/code/community/Dotdigitalgroup/Email/Model/Sales/Observer.php CHANGED
@@ -8,77 +8,76 @@ class Dotdigitalgroup_Email_Model_Sales_Observer
8
  * @param Varien_Event_Observer $observer
9
  * @return $this
10
  */
11
- public function handleSalesOrderSaveAfter(Varien_Event_Observer $observer)
12
- {
13
- try{
14
- /** @var $order Mage_Sales_Model_Order */
15
- $order = $observer->getEvent()->getOrder();
16
- $status = $order->getStatus();
17
- $storeId = $order->getStoreId();
18
- $store = Mage::app()->getStore($storeId);
19
- $storeName = $store->getName();
20
- $websiteId = $store->getWebsiteId();
21
- $customerEmail = $order->getCustomerEmail();
22
- // start app emulation
23
- $appEmulation = Mage::getSingleton('core/app_emulation');
24
- $initialEnvironmentInfo = $appEmulation->startEnvironmentEmulation($storeId);
25
- $emailOrder = Mage::getModel('ddg_automation/order')->loadByOrderId($order->getEntityId(), $order->getQuoteId());
26
- //reimport email order
27
- $emailOrder->setUpdatedAt($order->getUpdatedAt())
28
- ->setStoreId($storeId)
29
- ->setOrderStatus($status);
30
- if($emailOrder->getEmailImported() != Dotdigitalgroup_Email_Model_Contact::EMAIL_CONTACT_IMPORTED) {
31
- $emailOrder->setEmailImported(null);
32
- }
33
-
34
- //if api is not enabled
35
- if (!$store->getWebsite()->getConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_API_ENABLED))
36
- return $this;
37
-
38
- // check for order status change
39
- $statusBefore = $order->getOrigData('status');
40
- //check if order status changed
41
- if ( $status!= $statusBefore) {
42
- //If order status has changed and order is already imported then set modified to 1
43
- if($emailOrder->getEmailImported() == Dotdigitalgroup_Email_Model_Contact::EMAIL_CONTACT_IMPORTED) {
44
- $emailOrder->setModified(Dotdigitalgroup_Email_Model_Contact::EMAIL_CONTACT_IMPORTED);
45
- }
46
- $smsCampaign = Mage::getModel('ddg_automation/sms_campaign', $order);
47
- $smsCampaign->setStatus($status);
48
- $smsCampaign->sendSms();
49
- }
50
- // set back the current store
51
- $appEmulation->stopEnvironmentEmulation($initialEnvironmentInfo);
52
- $emailOrder->save();
53
-
54
- //Status check automation enrolment
55
- $configStatusAutomationMap = unserialize(Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_AUTOMATION_STUDIO_ORDER_STATUS, $order->getStore()));
56
- if(!empty($configStatusAutomationMap)){
57
- foreach($configStatusAutomationMap as $configMap){
58
- if($configMap['status'] == $status) {
59
- try {
60
- $programId = $configMap['automation'];
61
- $automation = Mage::getModel( 'ddg_automation/automation' );
62
- $automation->setEmail( $customerEmail )
63
- ->setAutomationType( 'order_automation_' . $status )
64
- ->setEnrolmentStatus( Dotdigitalgroup_Email_Model_Automation::AUTOMATION_STATUS_PENDING )
65
- ->setTypeId( $order->getId() )
66
- ->setWebsiteId( $websiteId )
67
- ->setStoreName( $storeName )
68
- ->setProgramId( $programId );
69
- $automation->save();
70
- }catch(Exception $e){
71
- Mage::logException($e);
72
- }
73
- }
74
- }
75
- }
76
-
77
- }catch(Exception $e){
78
- Mage::logException($e);
79
- }
80
- return $this;
81
- }
82
 
83
 
84
  /**
@@ -287,7 +286,7 @@ class Dotdigitalgroup_Email_Model_Sales_Observer
287
  *
288
  * @param Mage_Sales_Model_Quote $quote
289
  */
290
- private function _registerQuote(Mage_Sales_Model_Quote $quote)
291
  {
292
  try {
293
  $connectorQuote = Mage::getModel('ddg_automation/quote');
8
  * @param Varien_Event_Observer $observer
9
  * @return $this
10
  */
11
+ public function handleSalesOrderSaveAfter(Varien_Event_Observer $observer)
12
+ {
13
+ /** @var $order Mage_Sales_Model_Order */
14
+ $order = $observer->getEvent()->getOrder();
15
+ $status = $order->getStatus();
16
+ $storeId = $order->getStoreId();
17
+ $appEmulation = Mage::getSingleton('core/app_emulation');
18
+ $initialEnvironmentInfo = $appEmulation->startEnvironmentEmulation($storeId);
19
+ try{
20
+ $store = Mage::app()->getStore($storeId);
21
+ $storeName = $store->getName();
22
+ $websiteId = $store->getWebsiteId();
23
+ $customerEmail = $order->getCustomerEmail();
24
+ // start app emulation
25
+ $emailOrder = Mage::getModel('ddg_automation/order')->loadByOrderId($order->getEntityId(), $order->getQuoteId());
26
+ //reimport email order
27
+ $emailOrder->setUpdatedAt($order->getUpdatedAt())
28
+ ->setStoreId($storeId)
29
+ ->setOrderStatus($status);
30
+ if($emailOrder->getEmailImported() != Dotdigitalgroup_Email_Model_Contact::EMAIL_CONTACT_IMPORTED) {
31
+ $emailOrder->setEmailImported(null);
32
+ }
33
+ //if api is not enabled
34
+ if (!$store->getWebsite()->getConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_API_ENABLED)) {
35
+ $appEmulation->stopEnvironmentEmulation($initialEnvironmentInfo);
36
+ return $this;
37
+ }
38
+ // check for order status change
39
+ $statusBefore = $order->getOrigData('status');
40
+ //check if order status changed
41
+ if ( $status!= $statusBefore) {
42
+ //If order status has changed and order is already imported then set modified to 1
43
+ if($emailOrder->getEmailImported() == Dotdigitalgroup_Email_Model_Contact::EMAIL_CONTACT_IMPORTED) {
44
+ $emailOrder->setModified(Dotdigitalgroup_Email_Model_Contact::EMAIL_CONTACT_IMPORTED);
45
+ }
46
+ $smsCampaign = Mage::getModel('ddg_automation/sms_campaign', $order);
47
+ $smsCampaign->setStatus($status);
48
+ $smsCampaign->sendSms();
49
+ }
50
+ // set back the current store
51
+ $appEmulation->stopEnvironmentEmulation($initialEnvironmentInfo);
52
+ $emailOrder->save();
53
+ //Status check automation enrolment
54
+ $configStatusAutomationMap = unserialize(Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_AUTOMATION_STUDIO_ORDER_STATUS, $order->getStore()));
55
+ if(!empty($configStatusAutomationMap)){
56
+ foreach($configStatusAutomationMap as $configMap){
57
+ if($configMap['status'] == $status) {
58
+ try {
59
+ $programId = $configMap['automation'];
60
+ $automation = Mage::getModel( 'ddg_automation/automation' );
61
+ $automation->setEmail( $customerEmail )
62
+ ->setAutomationType( 'order_automation_' . $status )
63
+ ->setEnrolmentStatus( Dotdigitalgroup_Email_Model_Automation::AUTOMATION_STATUS_PENDING )
64
+ ->setTypeId( $order->getId() )
65
+ ->setWebsiteId( $websiteId )
66
+ ->setStoreName( $storeName )
67
+ ->setProgramId( $programId );
68
+ $automation->save();
69
+ }catch(Exception $e){
70
+ Mage::logException($e);
71
+ }
72
+ }
73
+ }
74
+ }
75
+ }catch(Exception $e){
76
+ Mage::logException($e);
77
+ $appEmulation->stopEnvironmentEmulation($initialEnvironmentInfo);
78
+ }
79
+ return $this;
80
+ }
 
81
 
82
 
83
  /**
286
  *
287
  * @param Mage_Sales_Model_Quote $quote
288
  */
289
+ protected function _registerQuote(Mage_Sales_Model_Quote $quote)
290
  {
291
  try {
292
  $connectorQuote = Mage::getModel('ddg_automation/quote');
app/code/community/Dotdigitalgroup/Email/Model/Sales/Order.php CHANGED
@@ -5,25 +5,25 @@ class Dotdigitalgroup_Email_Model_Sales_Order
5
  /**
6
  * @var array
7
  */
8
- protected $accounts = array();
9
  /**
10
  * @var string
11
  */
12
- private $_apiUsername;
13
  /**
14
  * @var string
15
  */
16
- private $_apiPassword;
17
 
18
  /**
19
  * Global number of orders
20
  * @var int
21
  */
22
- private $_countOrders = 0;
23
 
24
- private $_reviewCollection = array();
25
- private $_orderIds;
26
- private $_orderIdsForSingleSync;
27
 
28
  /**
29
  * initial sync the transactional data
@@ -35,7 +35,7 @@ class Dotdigitalgroup_Email_Model_Sales_Order
35
  // Initialise a return hash containing results of our sync attempt
36
  $this->_searchAccounts();
37
 
38
- foreach ($this->accounts as $account) {
39
 
40
  $orders = $account->getOrders();
41
  $orderIds = $account->getOrderIds();
@@ -84,7 +84,7 @@ class Dotdigitalgroup_Email_Model_Sales_Order
84
  $this->_setImported($orderIdsForSingleSync, true);
85
  }
86
  }
87
- unset($this->accounts[$account->getApiUsername()]);
88
  }
89
 
90
  if ($this->_countOrders)
@@ -95,7 +95,7 @@ class Dotdigitalgroup_Email_Model_Sales_Order
95
  /**
96
  * Search the configuration data per website
97
  */
98
- private function _searchAccounts() {
99
 
100
  $helper = Mage::helper('ddg');
101
 
@@ -114,23 +114,23 @@ class Dotdigitalgroup_Email_Model_Sales_Order
114
 
115
  // limit for orders included to sync
116
  $limit = Mage::helper('ddg')->getWebsiteConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_TRANSACTIONAL_DATA_SYNC_LIMIT, $website);
117
- if (!isset($this->accounts[$this->_apiUsername])) {
118
  $account = Mage::getModel('ddg_automation/connector_account')
119
  ->setApiUsername($this->_apiUsername)
120
  ->setApiPassword($this->_apiPassword);
121
- $this->accounts[$this->_apiUsername] = $account;
122
  }
123
 
124
- $this->accounts[$this->_apiUsername]->setOrders($this->getConnectorOrders($website, $limit));
125
- $orderIds = array_merge($this->accounts[$this->_apiUsername]->getOrderIds(), $this->_orderIds);
126
- $this->accounts[$this->_apiUsername]->setOrderIds($orderIds);
127
- $this->accounts[$this->_apiUsername]->setWebsites($website->getId());
128
- $this->accounts[$this->_apiUsername]->setOrdersForSingleSync($this->getConnectorOrders($website, $limit, true));
129
  $orderIdsForSingleSync = array_merge(
130
- $this->accounts[$this->_apiUsername]->getOrderIdsForSingleSync(),
131
  $this->_orderIdsForSingleSync
132
  );
133
- $this->accounts[$this->_apiUsername]->setOrderIdsForSingleSync($orderIdsForSingleSync);
134
  }
135
  }
136
  }
@@ -205,7 +205,7 @@ class Dotdigitalgroup_Email_Model_Sales_Order
205
  *
206
  * @return bool
207
  */
208
- private function _createGuestContact($email, $websiteId, $storeId) {
209
 
210
  try{
211
  $client = Mage::helper('ddg')->getWebsiteApiClient($websiteId);
@@ -257,15 +257,15 @@ class Dotdigitalgroup_Email_Model_Sales_Order
257
 
258
 
259
  /**
260
- * create review campaigns
261
  *
262
  * @return bool
263
  */
264
- public function createReviewCampaigns()
265
  {
266
- $this->searchOrdersForReview();
267
 
268
- foreach($this->_reviewCollection as $websiteId => $collection){
269
  $this->registerCampaign($collection, $websiteId);
270
  }
271
  }
@@ -278,18 +278,17 @@ class Dotdigitalgroup_Email_Model_Sales_Order
278
  *
279
  * @throws Exception
280
  */
281
- private function registerCampaign($collection, $websiteId) {
282
-
283
- $helper = Mage::helper('ddg/review');
284
- $campaignId = $helper->getCampaign($websiteId);
285
 
 
 
 
286
  if ($campaignId) {
287
  foreach ($collection as $order) {
288
- Mage::helper('ddg')->log('-- Order Review: ' . $order->getIncrementId() . ' Campaign Id: ' . $campaignId);
289
 
290
  try {
291
- $emailCampaign = Mage::getModel('ddg_automation/campaign');
292
- $emailCampaign
293
  ->setEmail($order->getCustomerEmail())
294
  ->setStoreId($order->getStoreId())
295
  ->setCampaignId($campaignId)
@@ -297,11 +296,12 @@ class Dotdigitalgroup_Email_Model_Sales_Order
297
  ->setCreatedAt(Mage::getSingleton('core/date')->gmtDate())
298
  ->setOrderIncrementId($order->getIncrementId())
299
  ->setQuoteId($order->getQuoteId());
300
-
301
  if($order->getCustomerId())
302
  $emailCampaign->setCustomerId($order->getCustomerId());
303
 
304
  $emailCampaign->save();
 
305
  } catch (Exception $e) {
306
  Mage::logException($e);
307
  }
@@ -310,59 +310,57 @@ class Dotdigitalgroup_Email_Model_Sales_Order
310
  }
311
 
312
  /**
313
- * search for orders to review per website
314
  */
315
- private function searchOrdersForReview() {
316
 
317
- $helper = Mage::helper('ddg/review');
318
 
319
- foreach (Mage::app()->getWebsites(true) as $website){
320
 
321
- $apiEnabled = Mage::helper('ddg')->getWebsiteConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_API_ENABLED, $website);
322
-
323
- if($apiEnabled && $helper->isEnabled($website) &&
324
- $helper->getOrderStatus($website) &&
325
- $helper->getDelay($website)){
 
326
 
 
327
  $storeIds = $website->getStoreIds();
328
- if(empty($storeIds))
329
  continue;
330
 
331
- $orderStatusFromConfig = $helper->getOrderStatus($website);
332
- $delayInDays = $helper->getDelay($website);
333
-
334
- $campaignCollection = Mage::getModel('ddg_automation/campaign')->getCollection();
335
- $campaignCollection
336
- ->addFieldToFilter('event_name', 'Order Review')
337
- ->load();
338
 
339
  $campaignOrderIds = $campaignCollection->getColumnValues('order_increment_id');
340
 
341
- $to = Mage::app()->getLocale()->date()
342
- ->subDay($delayInDays);
343
- $from = clone $to;
344
- $to = $to->toString('YYYY-MM-dd HH:mm:ss');
 
345
  $from = $from->subHour(2)
346
  ->toString('YYYY-MM-dd HH:mm:ss');
 
 
347
 
348
- $created = array( 'from' => $from, 'to' => $to, 'date' => true);
349
-
350
- $collection = Mage::getModel('sales/order')->getCollection();
351
- $collection->addFieldToFilter('main_table.status', $orderStatusFromConfig)
352
- ->addFieldToFilter('main_table.created_at', $created)
353
  ->addFieldToFilter('main_table.store_id', array('in' => $storeIds));
354
 
355
  if (! empty($campaignOrderIds))
356
- $collection->addFieldToFilter('main_table.increment_id', array('nin' => $campaignOrderIds));
357
 
358
  //process rules on collection
359
  $ruleModel = Mage::getModel('ddg_automation/rules');
360
  $collection = $ruleModel->process(
361
- $collection, Dotdigitalgroup_Email_Model_Rules::REVIEW, $website->getId()
362
  );
363
 
364
  if ($collection->getSize())
365
- $this->_reviewCollection[$website->getId()] = $collection;
366
  }
367
  }
368
  }
@@ -415,7 +413,7 @@ class Dotdigitalgroup_Email_Model_Sales_Order
415
  * @param $ids
416
  * @param $modified
417
  */
418
- private function _setImported($ids, $modified = false) {
419
 
420
  try{
421
  $coreResource = Mage::getSingleton('core/resource');
5
  /**
6
  * @var array
7
  */
8
+ protected $_accounts = array();
9
  /**
10
  * @var string
11
  */
12
+ protected $_apiUsername;
13
  /**
14
  * @var string
15
  */
16
+ protected $_apiPassword;
17
 
18
  /**
19
  * Global number of orders
20
  * @var int
21
  */
22
+ protected $_countOrders = 0;
23
 
24
+ protected $_orderIds;
25
+ protected $_orderReminderReviewArray = array();
26
+ protected $_orderIdsForSingleSync;
27
 
28
  /**
29
  * initial sync the transactional data
35
  // Initialise a return hash containing results of our sync attempt
36
  $this->_searchAccounts();
37
 
38
+ foreach ($this->_accounts as $account) {
39
 
40
  $orders = $account->getOrders();
41
  $orderIds = $account->getOrderIds();
84
  $this->_setImported($orderIdsForSingleSync, true);
85
  }
86
  }
87
+ unset($this->_accounts[$account->getApiUsername()]);
88
  }
89
 
90
  if ($this->_countOrders)
95
  /**
96
  * Search the configuration data per website
97
  */
98
+ protected function _searchAccounts() {
99
 
100
  $helper = Mage::helper('ddg');
101
 
114
 
115
  // limit for orders included to sync
116
  $limit = Mage::helper('ddg')->getWebsiteConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_TRANSACTIONAL_DATA_SYNC_LIMIT, $website);
117
+ if (!isset($this->_accounts[$this->_apiUsername])) {
118
  $account = Mage::getModel('ddg_automation/connector_account')
119
  ->setApiUsername($this->_apiUsername)
120
  ->setApiPassword($this->_apiPassword);
121
+ $this->_accounts[$this->_apiUsername] = $account;
122
  }
123
 
124
+ $this->_accounts[$this->_apiUsername]->setOrders($this->getConnectorOrders($website, $limit));
125
+ $orderIds = array_merge($this->_accounts[$this->_apiUsername]->getOrderIds(), $this->_orderIds);
126
+ $this->_accounts[$this->_apiUsername]->setOrderIds($orderIds);
127
+ $this->_accounts[$this->_apiUsername]->setWebsites($website->getId());
128
+ $this->_accounts[$this->_apiUsername]->setOrdersForSingleSync($this->getConnectorOrders($website, $limit, true));
129
  $orderIdsForSingleSync = array_merge(
130
+ $this->_accounts[$this->_apiUsername]->getOrderIdsForSingleSync(),
131
  $this->_orderIdsForSingleSync
132
  );
133
+ $this->_accounts[$this->_apiUsername]->setOrderIdsForSingleSync($orderIdsForSingleSync);
134
  }
135
  }
136
  }
205
  *
206
  * @return bool
207
  */
208
+ protected function _createGuestContact($email, $websiteId, $storeId) {
209
 
210
  try{
211
  $client = Mage::helper('ddg')->getWebsiteApiClient($websiteId);
257
 
258
 
259
  /**
260
+ * create product reminder campaigns
261
  *
262
  * @return bool
263
  */
264
+ public function createProductReminderReviewCampaigns()
265
  {
266
+ $this->searchOrdersForProductReminder();
267
 
268
+ foreach($this->_orderReminderReviewArray as $websiteId => $collection){
269
  $this->registerCampaign($collection, $websiteId);
270
  }
271
  }
278
  *
279
  * @throws Exception
280
  */
281
+ protected function registerCampaign($collection, $websiteId) {
 
 
 
282
 
283
+ $helper = Mage::helper('ddg');
284
+ $campaignId = $helper->getReviewReminderCampaign($websiteId);
285
+ //campaign id is selected in config
286
  if ($campaignId) {
287
  foreach ($collection as $order) {
288
+ $helper->log('-- Order Product Reminder: ' . $order->getIncrementId() . ' Campaign Id: ' . $campaignId);
289
 
290
  try {
291
+ $emailCampaign = Mage::getModel('ddg_automation/campaign')
 
292
  ->setEmail($order->getCustomerEmail())
293
  ->setStoreId($order->getStoreId())
294
  ->setCampaignId($campaignId)
296
  ->setCreatedAt(Mage::getSingleton('core/date')->gmtDate())
297
  ->setOrderIncrementId($order->getIncrementId())
298
  ->setQuoteId($order->getQuoteId());
299
+ //set customer id for campaign
300
  if($order->getCustomerId())
301
  $emailCampaign->setCustomerId($order->getCustomerId());
302
 
303
  $emailCampaign->save();
304
+
305
  } catch (Exception $e) {
306
  Mage::logException($e);
307
  }
310
  }
311
 
312
  /**
313
+ * search for orders for product review reminder
314
  */
315
+ protected function searchOrdersForProductReminder() {
316
 
317
+ $helper = Mage::helper('ddg');
318
 
319
+ foreach (Mage::app()->getWebsites(true) as $website) {
320
 
321
+ $apiEnabled = $helper->getWebsiteConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_API_ENABLED, $website);
322
+ $reviewReminderEnabled = $helper->isReviewReminderEnabled($website);
323
+ $reviewReminderOrderStatus = $helper->getReviewReminderOrderStatus($website);
324
+ $reviewReminderDelayInDays = $helper->getReviewReminderDelay($website);
325
+ //check for api and review enabled
326
+ if ($apiEnabled && $reviewReminderEnabled && $reviewReminderOrderStatus && $reviewReminderDelayInDays) {
327
 
328
+ //check for website with no stores
329
  $storeIds = $website->getStoreIds();
330
+ if (empty($storeIds))
331
  continue;
332
 
333
+ $campaignCollection = Mage::getModel('ddg_automation/campaign')->getCollection()
334
+ ->addFieldToFilter('event_name', 'Order Review');
 
 
 
 
 
335
 
336
  $campaignOrderIds = $campaignCollection->getColumnValues('order_increment_id');
337
 
338
+ //date time with config delay
339
+ $date = Mage::app()->getLocale()->date()
340
+ ->subDay($reviewReminderDelayInDays);
341
+ $from = clone $date;
342
+ $to = $date->toString('YYYY-MM-dd HH:mm:ss');
343
  $from = $from->subHour(2)
344
  ->toString('YYYY-MM-dd HH:mm:ss');
345
+ //created at date range
346
+ $createdAt = array( 'from' => $from, 'to' => $to, 'date' => true);
347
 
348
+ $orderCollection = Mage::getModel('sales/order')->getCollection()
349
+ ->addFieldToFilter('main_table.status', $reviewReminderOrderStatus)
350
+ ->addFieldToFilter('main_table.created_at', $createdAt)
 
 
351
  ->addFieldToFilter('main_table.store_id', array('in' => $storeIds));
352
 
353
  if (! empty($campaignOrderIds))
354
+ $orderCollection->addFieldToFilter('main_table.increment_id', array('nin' => $campaignOrderIds));
355
 
356
  //process rules on collection
357
  $ruleModel = Mage::getModel('ddg_automation/rules');
358
  $collection = $ruleModel->process(
359
+ $orderCollection, Dotdigitalgroup_Email_Model_Rules::REVIEW, $website->getId()
360
  );
361
 
362
  if ($collection->getSize())
363
+ $this->_orderReminderReviewArray[$website->getId()] = $collection;
364
  }
365
  }
366
  }
413
  * @param $ids
414
  * @param $modified
415
  */
416
+ protected function _setImported($ids, $modified = false) {
417
 
418
  try{
419
  $coreResource = Mage::getSingleton('core/resource');
app/code/community/Dotdigitalgroup/Email/Model/Sales/Quote.php CHANGED
@@ -72,10 +72,11 @@ class Dotdigitalgroup_Email_Model_Sales_Quote
72
  $from->sub('5', Zend_Date::MINUTE);
73
 
74
  //active quotes
75
- $quoteCollection = $this->_getStoreQuotes( $from->toString( 'YYYY-MM-dd HH:mm' ), $to->toString( 'YYYY-MM-dd HH:mm' ), $guest = false, $storeId );
76
-
77
  if ( $quoteCollection->getSize() ) {
78
- Mage::helper( 'ddg' )->log( 'Customer lost baskets : ' . $num . ', from : ' . $from->toString( 'YYYY-MM-dd HH:mm' ) . ':' . $to->toString( 'YYYY-MM-dd HH:mm' ) );
 
79
  }
80
 
81
  //campaign id for customers
@@ -121,7 +122,6 @@ class Dotdigitalgroup_Email_Model_Sales_Quote
121
  }
122
  }
123
  }
124
-
125
  }
126
  }
127
  if ($mode == 'all' || $mode == 'guests') {
@@ -188,24 +188,24 @@ class Dotdigitalgroup_Email_Model_Sales_Quote
188
  }
189
  }
190
 
191
- private function _getLostBasketCustomerCampaignId($num, $storeId)
192
  {
193
  $store = Mage::app()->getStore($storeId);
194
  return $store->getConfig(constant('self::XML_PATH_LOSTBASKET_CUSTOMER_CAMPAIGN_' . $num));
195
  }
196
- private function _getLostBasketGuestCampaignId($num, $storeId)
197
  {
198
  $store = Mage::app()->getStore($storeId);
199
  return $store->getConfig(constant('self::XML_PATH_LOSTBASKET_GUEST_CAMPAIGN_'. $num));
200
  }
201
 
202
- private function _getLostBasketCustomerInterval($num, $storeId)
203
  {
204
  $store = Mage::app()->getstore($storeId);
205
  return $store->getConfig(constant('self::XML_PATH_LOSTBASKET_CUSTOMER_INTERVAL_' . $num));
206
  }
207
 
208
- private function _getLostBasketGuestIterval($num, $storeId)
209
  {
210
  $store = Mage::app()->getStore($storeId);
211
  return $store->getConfig(constant('self::XML_PATH_LOSTBASKET_GUEST_INTERVAL_' . $num));
@@ -232,7 +232,7 @@ class Dotdigitalgroup_Email_Model_Sales_Quote
232
  * @param int $storeId
233
  * @return Mage_Eav_Model_Entity_Collection_Abstract
234
  */
235
- private function _getStoreQuotes($from = null, $to = null, $guest = false, $storeId = 0)
236
  {
237
  $updated = array(
238
  'from' => $from,
@@ -243,8 +243,8 @@ class Dotdigitalgroup_Email_Model_Sales_Quote
243
  ->addFieldToFilter('is_active', 1)
244
  ->addFieldToFilter('items_count', array('gt' => 0))
245
  ->addFieldToFilter('customer_email', array('neq' => ''))
246
- ->addFieldToFilter('store_id', $storeId)
247
- ->addFieldToFilter('updated_at', $updated);
248
  //guests
249
  if ($guest) {
250
  $salesCollection->addFieldToFilter( 'main_table.customer_id', array( 'null' => true ) );
@@ -258,6 +258,7 @@ class Dotdigitalgroup_Email_Model_Sales_Quote
258
  $salesCollection = $ruleModel->process(
259
  $salesCollection, Dotdigitalgroup_Email_Model_Rules::ABANDONED, Mage::app()->getStore($storeId)->getWebsiteId()
260
  );
 
261
 
262
  return $salesCollection;
263
  }
@@ -271,7 +272,7 @@ class Dotdigitalgroup_Email_Model_Sales_Quote
271
  *
272
  * @return bool
273
  */
274
- private function _checkCustomerCartLimit($email, $storeId) {
275
 
276
  $cartLimit = Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_ABANDONED_CART_LIMIT, $storeId);
277
  $locale = Mage::app()->getLocale()->getLocale();
72
  $from->sub('5', Zend_Date::MINUTE);
73
 
74
  //active quotes
75
+ $quoteCollection = $this->_getStoreQuotes( $from->toString( 'YYYY-MM-dd HH:mm' ), $to->toString( 'YYYY-MM-dd HH:mm' ),
76
+ $guest = false, $storeId );
77
  if ( $quoteCollection->getSize() ) {
78
+ Mage::helper( 'ddg' )->log( 'Customer lost baskets : ' . $num . ', from : ' . $from->toString( 'YYYY-MM-dd HH:mm' ) .
79
+ ':' . $to->toString( 'YYYY-MM-dd HH:mm' ) );
80
  }
81
 
82
  //campaign id for customers
122
  }
123
  }
124
  }
 
125
  }
126
  }
127
  if ($mode == 'all' || $mode == 'guests') {
188
  }
189
  }
190
 
191
+ protected function _getLostBasketCustomerCampaignId($num, $storeId)
192
  {
193
  $store = Mage::app()->getStore($storeId);
194
  return $store->getConfig(constant('self::XML_PATH_LOSTBASKET_CUSTOMER_CAMPAIGN_' . $num));
195
  }
196
+ protected function _getLostBasketGuestCampaignId($num, $storeId)
197
  {
198
  $store = Mage::app()->getStore($storeId);
199
  return $store->getConfig(constant('self::XML_PATH_LOSTBASKET_GUEST_CAMPAIGN_'. $num));
200
  }
201
 
202
+ protected function _getLostBasketCustomerInterval($num, $storeId)
203
  {
204
  $store = Mage::app()->getstore($storeId);
205
  return $store->getConfig(constant('self::XML_PATH_LOSTBASKET_CUSTOMER_INTERVAL_' . $num));
206
  }
207
 
208
+ protected function _getLostBasketGuestIterval($num, $storeId)
209
  {
210
  $store = Mage::app()->getStore($storeId);
211
  return $store->getConfig(constant('self::XML_PATH_LOSTBASKET_GUEST_INTERVAL_' . $num));
232
  * @param int $storeId
233
  * @return Mage_Eav_Model_Entity_Collection_Abstract
234
  */
235
+ protected function _getStoreQuotes($from = null, $to = null, $guest = false, $storeId = 0)
236
  {
237
  $updated = array(
238
  'from' => $from,
243
  ->addFieldToFilter('is_active', 1)
244
  ->addFieldToFilter('items_count', array('gt' => 0))
245
  ->addFieldToFilter('customer_email', array('neq' => ''))
246
+ ->addFieldToFilter('store_id', $storeId);
247
+
248
  //guests
249
  if ($guest) {
250
  $salesCollection->addFieldToFilter( 'main_table.customer_id', array( 'null' => true ) );
258
  $salesCollection = $ruleModel->process(
259
  $salesCollection, Dotdigitalgroup_Email_Model_Rules::ABANDONED, Mage::app()->getStore($storeId)->getWebsiteId()
260
  );
261
+ $salesCollection->addFieldToFilter('main_table.updated_at', $updated);
262
 
263
  return $salesCollection;
264
  }
272
  *
273
  * @return bool
274
  */
275
+ protected function _checkCustomerCartLimit($email, $storeId) {
276
 
277
  $cartLimit = Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_ABANDONED_CART_LIMIT, $storeId);
278
  $locale = Mage::app()->getLocale()->getLocale();
app/code/community/Dotdigitalgroup/Email/Model/Sms/Campaign.php CHANGED
@@ -7,34 +7,34 @@ class Dotdigitalgroup_Email_Model_Sms_Campaign
7
  /**
8
  * @var int
9
  */
10
- private $_storeId;
11
  /**
12
  * @var string
13
  */
14
- private $_status;
15
  /**
16
  * @var string
17
  */
18
- private $_customerFirstName;
19
  /**
20
  * @var string
21
  */
22
- private $_customerTelephone;
23
 
24
  /**
25
  * @var int
26
  */
27
- private $_incrementId;
28
 
29
  /**
30
  * @var array
31
  */
32
- private $_allsms = array(1, 2, 3, 4);
33
  /**
34
  * filter for the variables
35
  * @var array
36
  */
37
- private $_vars = array('/customer_name/', '/order_number/', '/{{var /', '/}}/');
38
 
39
 
40
  /**
7
  /**
8
  * @var int
9
  */
10
+ protected $_storeId;
11
  /**
12
  * @var string
13
  */
14
+ protected $_status;
15
  /**
16
  * @var string
17
  */
18
+ protected $_customerFirstName;
19
  /**
20
  * @var string
21
  */
22
+ protected $_customerTelephone;
23
 
24
  /**
25
  * @var int
26
  */
27
+ protected $_incrementId;
28
 
29
  /**
30
  * @var array
31
  */
32
+ protected $_allsms = array(1, 2, 3, 4);
33
  /**
34
  * filter for the variables
35
  * @var array
36
  */
37
+ protected $_vars = array('/customer_name/', '/order_number/', '/{{var /', '/}}/');
38
 
39
 
40
  /**
app/code/community/Dotdigitalgroup/Email/Model/Wishlist.php CHANGED
@@ -2,10 +2,10 @@
2
 
3
  class Dotdigitalgroup_Email_Model_Wishlist extends Mage_Core_Model_Abstract
4
  {
5
- private $_start;
6
- private $_wishlists;
7
- private $_count = 0;
8
- private $_wishlistIds;
9
 
10
  /**
11
  * constructor
@@ -91,7 +91,7 @@ class Dotdigitalgroup_Email_Model_Wishlist extends Mage_Core_Model_Abstract
91
  return $response;
92
  }
93
 
94
- private function _exportWishlistForWebsite(Mage_Core_Model_Website $website)
95
  {
96
  //reset wishlists
97
  $this->_wishlists = array();
@@ -139,7 +139,7 @@ class Dotdigitalgroup_Email_Model_Wishlist extends Mage_Core_Model_Abstract
139
  }
140
  }
141
 
142
- private function _getWishlistToImport(Mage_Core_Model_Website $website, $limit = 100)
143
  {
144
  $collection = $this->getCollection()
145
  ->addFieldToFilter('wishlist_imported', array('null' => true))
@@ -150,7 +150,7 @@ class Dotdigitalgroup_Email_Model_Wishlist extends Mage_Core_Model_Abstract
150
  return $collection;
151
  }
152
 
153
- private function _exportWishlistForWebsiteInSingle(Mage_Core_Model_Website $website)
154
  {
155
  $helper = Mage::helper('ddg');
156
  $client = $helper->getWebsiteApiClient($website);
@@ -209,7 +209,7 @@ class Dotdigitalgroup_Email_Model_Wishlist extends Mage_Core_Model_Abstract
209
  $this->getResource()->setImported($this->_wishlistIds, true);
210
  }
211
 
212
- private function _getModifiedWishlistToImport(Mage_Core_Model_Website $website, $limit = 100)
213
  {
214
  $collection = $this->getCollection()
215
  ->addFieldToFilter('wishlist_modified', 1)
2
 
3
  class Dotdigitalgroup_Email_Model_Wishlist extends Mage_Core_Model_Abstract
4
  {
5
+ protected $_start;
6
+ protected $_wishlists;
7
+ protected $_count = 0;
8
+ protected $_wishlistIds;
9
 
10
  /**
11
  * constructor
91
  return $response;
92
  }
93
 
94
+ protected function _exportWishlistForWebsite(Mage_Core_Model_Website $website)
95
  {
96
  //reset wishlists
97
  $this->_wishlists = array();
139
  }
140
  }
141
 
142
+ protected function _getWishlistToImport(Mage_Core_Model_Website $website, $limit = 100)
143
  {
144
  $collection = $this->getCollection()
145
  ->addFieldToFilter('wishlist_imported', array('null' => true))
150
  return $collection;
151
  }
152
 
153
+ protected function _exportWishlistForWebsiteInSingle(Mage_Core_Model_Website $website)
154
  {
155
  $helper = Mage::helper('ddg');
156
  $client = $helper->getWebsiteApiClient($website);
209
  $this->getResource()->setImported($this->_wishlistIds, true);
210
  }
211
 
212
+ protected function _getModifiedWishlistToImport(Mage_Core_Model_Website $website, $limit = 100)
213
  {
214
  $collection = $this->getCollection()
215
  ->addFieldToFilter('wishlist_modified', 1)
app/code/community/Dotdigitalgroup/Email/controllers/Adminhtml/ConnectorController.php CHANGED
@@ -14,7 +14,7 @@ class Dotdigitalgroup_Email_Adminhtml_ConnectorController extends Mage_Adminhtml
14
  $redirectUrl = Mage::helper('adminhtml')->getUrl('adminhtml/system_config/edit', array('section' => 'connector_data_mapping'));
15
 
16
  if(!$apiModel){
17
- Mage::getSingleton('adminhtml/session')->addNotice('Please enable api first.');
18
  }else{
19
  // get all possible datatifileds
20
  $datafields = Mage::getModel('ddg_automation/connector_datafield')->getContactDatafields();
@@ -45,7 +45,7 @@ class Dotdigitalgroup_Email_Adminhtml_ConnectorController extends Mage_Adminhtml
45
  Mage::getSingleton('adminhtml/session')->addNotice($result['message']);
46
  } else {
47
  Mage::getConfig()->cleanCache();
48
- Mage::getSingleton('adminhtml/session')->addSuccess('All Datafields Created And Mapped.');
49
  }
50
  }
51
 
@@ -384,6 +384,19 @@ class Dotdigitalgroup_Email_Adminhtml_ConnectorController extends Mage_Adminhtml
384
  $this->_redirectReferer();
385
  }
386
 
 
 
 
 
 
 
 
 
 
 
 
 
 
387
  protected function _isAllowed()
388
  {
389
  return Mage::getSingleton('admin/session')->isAllowed('system/config/connector_developer_settings');
14
  $redirectUrl = Mage::helper('adminhtml')->getUrl('adminhtml/system_config/edit', array('section' => 'connector_data_mapping'));
15
 
16
  if(!$apiModel){
17
+ Mage::getSingleton('adminhtml/session')->addNotice(Mage::helper('ddg')->__('Please enable api first.'));
18
  }else{
19
  // get all possible datatifileds
20
  $datafields = Mage::getModel('ddg_automation/connector_datafield')->getContactDatafields();
45
  Mage::getSingleton('adminhtml/session')->addNotice($result['message']);
46
  } else {
47
  Mage::getConfig()->cleanCache();
48
+ Mage::getSingleton('adminhtml/session')->addSuccess(Mage::helper('ddg')->__('All Datafields Created And Mapped.'));
49
  }
50
  }
51
 
384
  $this->_redirectReferer();
385
  }
386
 
387
+ /**
388
+ * Run Email importer sync.
389
+ */
390
+ public function runimportersyncAction()
391
+ {
392
+ $result = Mage::getModel('ddg_automation/cron')->emailImporter();
393
+ if ($result['message'])
394
+ Mage::getSingleton('adminhtml/session')->addSuccess($result['message']);
395
+
396
+ $this->_redirectReferer();
397
+
398
+ }
399
+
400
  protected function _isAllowed()
401
  {
402
  return Mage::getSingleton('admin/session')->isAllowed('system/config/connector_developer_settings');
app/code/community/Dotdigitalgroup/Email/controllers/Adminhtml/CustomerController.php DELETED
@@ -1,12 +0,0 @@
1
- <?php
2
-
3
- class Dotdigitalgroup_Email_Adminhtml_CustomerController extends Mage_Adminhtml_Controller_Action
4
- {
5
- public function statAction()
6
- {
7
- // $this->getLayout();
8
- // $this->renderLayout();
9
- // $block = $this->getLayout()->createBlock('ddg_automation/adminhtml_customer_tab_stats');
10
- // echo $block->toHtml();
11
- }
12
- }
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Dotdigitalgroup/Email/controllers/Adminhtml/Email/AutomationController.php CHANGED
@@ -19,11 +19,6 @@ class Dotdigitalgroup_Email_Adminhtml_Email_AutomationController extends Mage_Ad
19
  $this->renderLayout();
20
  }
21
 
22
- public function editAction()
23
- {
24
- $this->_redirect('*/*');
25
- }
26
-
27
  /**
28
  * main grid.
29
  */
19
  $this->renderLayout();
20
  }
21
 
 
 
 
 
 
22
  /**
23
  * main grid.
24
  */
app/code/community/Dotdigitalgroup/Email/controllers/Adminhtml/Email/CampaignController.php CHANGED
@@ -28,7 +28,7 @@ class Dotdigitalgroup_Email_Adminhtml_Email_CampaignController extends Mage_Admi
28
  public function deleteAction()
29
  {
30
  if ($id = $this->getRequest()->getParam('id')) {
31
- $campaign = Mage::getModel('ddg_automation/campaign')->load($id);
32
  try {
33
  $campaign->delete();
34
  $this->_getSession()->addSuccess(Mage::helper('ddg')->__('The campaign has been deleted.'));
28
  public function deleteAction()
29
  {
30
  if ($id = $this->getRequest()->getParam('id')) {
31
+ $campaign = Mage::getModel('ddg_automation/campaign')->setId($id);
32
  try {
33
  $campaign->delete();
34
  $this->_getSession()->addSuccess(Mage::helper('ddg')->__('The campaign has been deleted.'));
app/code/community/Dotdigitalgroup/Email/controllers/Adminhtml/Email/ContactController.php CHANGED
@@ -47,7 +47,7 @@ class Dotdigitalgroup_Email_Adminhtml_Email_ContactController extends Mage_Admin
47
  public function deleteAction()
48
  {
49
  if ($id = $this->getRequest()->getParam('id')) {
50
- $contact = Mage::getModel('ddg_automation/contact')->load($id);
51
  try {
52
  $contact->delete();
53
  $this->_getSession()->addSuccess(Mage::helper('ddg')->__('The contact has been deleted.'));
47
  public function deleteAction()
48
  {
49
  if ($id = $this->getRequest()->getParam('id')) {
50
+ $contact = Mage::getModel('ddg_automation/contact')->setId($id);
51
  try {
52
  $contact->delete();
53
  $this->_getSession()->addSuccess(Mage::helper('ddg')->__('The contact has been deleted.'));
app/code/community/Dotdigitalgroup/Email/controllers/Adminhtml/RulesController.php CHANGED
@@ -35,7 +35,7 @@ class Dotdigitalgroup_Email_Adminhtml_RulesController extends Mage_Adminhtml_Con
35
  * @param $options
36
  * @return string
37
  */
38
- private function _getOptionHtml($title, $name, $options)
39
  {
40
  $block = $this->getLayout()->createBlock('core/html_select');
41
  $block->setOptions($options)
@@ -127,4 +127,9 @@ class Dotdigitalgroup_Email_Adminhtml_RulesController extends Mage_Adminhtml_Con
127
  $this->getResponse()->clearHeaders()->setHeader('Content-Type', 'application/json')->setBody(Mage::helper('core')->jsonEncode($response));
128
  }
129
  }
 
 
 
 
 
130
  }
35
  * @param $options
36
  * @return string
37
  */
38
+ protected function _getOptionHtml($title, $name, $options)
39
  {
40
  $block = $this->getLayout()->createBlock('core/html_select');
41
  $block->setOptions($options)
127
  $this->getResponse()->clearHeaders()->setHeader('Content-Type', 'application/json')->setBody(Mage::helper('core')->jsonEncode($response));
128
  }
129
  }
130
+
131
+ protected function _isAllowed()
132
+ {
133
+ return Mage::getSingleton('admin/session')->isAllowed('email_connector/automation_rules');
134
+ }
135
  }
app/code/community/Dotdigitalgroup/Email/controllers/DynamicContentController.php CHANGED
@@ -27,13 +27,13 @@ class Dotdigitalgroup_Email_DynamicContentController extends Dotdigitalgroup_Ema
27
  //throw new Exception('TE invoice : order not found: ' . $orderId);
28
  Mage::helper('ddg')->log('order not found: ' . $orderId);
29
  $this->sendResponse();
30
- Mage::throwException('Order not found');
31
  }
32
  } else {
33
  //throw new Exception('TE invoice : order_id missing :' . $orderId);
34
  Mage::helper('ddg')->log('order_id missing :' . $orderId);
35
  $this->sendResponse();
36
- Mage::throwException('Order id is missing');
37
  }
38
  parent::preDispatch();
39
  }
27
  //throw new Exception('TE invoice : order not found: ' . $orderId);
28
  Mage::helper('ddg')->log('order not found: ' . $orderId);
29
  $this->sendResponse();
30
+ Mage::throwException(Mage::helper('ddg')->__('Order not found'));
31
  }
32
  } else {
33
  //throw new Exception('TE invoice : order_id missing :' . $orderId);
34
  Mage::helper('ddg')->log('order_id missing :' . $orderId);
35
  $this->sendResponse();
36
+ Mage::throwException(Mage::helper('ddg')->__('Order id is missing'));
37
  }
38
  parent::preDispatch();
39
  }
app/code/community/Dotdigitalgroup/Email/controllers/EmailController.php CHANGED
@@ -78,12 +78,12 @@ class Dotdigitalgroup_Email_EmailController extends Dotdigitalgroup_Email_Respon
78
  } else {
79
  Mage::helper('ddg')->log('order not found: ' . $orderId);
80
  $this->sendResponse();
81
- Mage::throwException('Order not found');
82
  }
83
  } else {
84
  Mage::helper('ddg')->log('order_id missing :' . $orderId);
85
  $this->sendResponse();
86
- Mage::throwException('Order id is missing');
87
  }
88
 
89
 
@@ -171,7 +171,7 @@ class Dotdigitalgroup_Email_EmailController extends Dotdigitalgroup_Email_Respon
171
  /**
172
  * process customer basket
173
  */
174
- private function _handleCustomerBasket()
175
  {
176
  $customerSession = Mage::getSingleton('customer/session');
177
  $configCartUrl = $this->_quote->getStore()->getWebsite()->getConfig(
@@ -220,7 +220,7 @@ class Dotdigitalgroup_Email_EmailController extends Dotdigitalgroup_Email_Respon
220
  /**
221
  * process guest basket
222
  */
223
- private function _handleGuestBasket()
224
  {
225
  $checkoutSession = Mage::getSingleton('checkout/session');
226
  if($checkoutSession->getQuote() && $checkoutSession->getQuote()->hasItems()){
@@ -244,7 +244,7 @@ class Dotdigitalgroup_Email_EmailController extends Dotdigitalgroup_Email_Respon
244
  /**
245
  * check missing items from current quote and add
246
  */
247
- private function _checkMissingAndAdd()
248
  {
249
  $checkoutSession = Mage::getSingleton('checkout/session');
250
  $currentQuote = $checkoutSession->getQuote();
@@ -268,7 +268,7 @@ class Dotdigitalgroup_Email_EmailController extends Dotdigitalgroup_Email_Respon
268
  /**
269
  * load quote and replace in session#1114
270
  */
271
- private function _loadAndReplace()
272
  {
273
  $checkoutSession = Mage::getSingleton('checkout/session');
274
  $quote = Mage::getSingleton('sales/quote')->load($this->_quote->getId());
78
  } else {
79
  Mage::helper('ddg')->log('order not found: ' . $orderId);
80
  $this->sendResponse();
81
+ Mage::throwException(Mage::helper('ddg')->__('Order not found'));
82
  }
83
  } else {
84
  Mage::helper('ddg')->log('order_id missing :' . $orderId);
85
  $this->sendResponse();
86
+ Mage::throwException(Mage::helper('ddg')->__('Order id is missing'));
87
  }
88
 
89
 
171
  /**
172
  * process customer basket
173
  */
174
+ protected function _handleCustomerBasket()
175
  {
176
  $customerSession = Mage::getSingleton('customer/session');
177
  $configCartUrl = $this->_quote->getStore()->getWebsite()->getConfig(
220
  /**
221
  * process guest basket
222
  */
223
+ protected function _handleGuestBasket()
224
  {
225
  $checkoutSession = Mage::getSingleton('checkout/session');
226
  if($checkoutSession->getQuote() && $checkoutSession->getQuote()->hasItems()){
244
  /**
245
  * check missing items from current quote and add
246
  */
247
+ protected function _checkMissingAndAdd()
248
  {
249
  $checkoutSession = Mage::getSingleton('checkout/session');
250
  $currentQuote = $checkoutSession->getQuote();
268
  /**
269
  * load quote and replace in session#1114
270
  */
271
+ protected function _loadAndReplace()
272
  {
273
  $checkoutSession = Mage::getSingleton('checkout/session');
274
  $quote = Mage::getSingleton('sales/quote')->load($this->_quote->getId());
app/code/community/Dotdigitalgroup/Email/controllers/ResponseController.php CHANGED
@@ -16,7 +16,7 @@ class Dotdigitalgroup_Email_ResponseController extends Mage_Core_Controller_Fron
16
  $auth = Mage::helper('ddg')->auth($this->getRequest()->getParam('code'));
17
  if (!$auth){
18
  $this->sendResponse();
19
- Mage::throwException('Authentication failed!');
20
  }
21
  }
22
 
16
  $auth = Mage::helper('ddg')->auth($this->getRequest()->getParam('code'));
17
  if (!$auth){
18
  $this->sendResponse();
19
+ Mage::throwException(Mage::helper('ddg')->__('Authentication failed!'));
20
  }
21
  }
22
 
app/code/community/Dotdigitalgroup/Email/etc/adminhtml.xml CHANGED
@@ -60,7 +60,7 @@
60
  <action>adminhtml/email_importer</action>
61
  </email_connector_importer>
62
  <email_connector_campaign translate="title">
63
- <title>Email Send Status</title>
64
  <sort_order>80</sort_order>
65
  <action>adminhtml/email_campaign</action>
66
  </email_connector_campaign>
60
  <action>adminhtml/email_importer</action>
61
  </email_connector_importer>
62
  <email_connector_campaign translate="title">
63
+ <title>Email Status</title>
64
  <sort_order>80</sort_order>
65
  <action>adminhtml/email_campaign</action>
66
  </email_connector_campaign>
app/code/community/Dotdigitalgroup/Email/etc/config.xml CHANGED
@@ -2,7 +2,7 @@
2
  <config>
3
  <modules>
4
  <Dotdigitalgroup_Email>
5
- <version>5.1.1</version>
6
  </Dotdigitalgroup_Email>
7
  </modules>
8
  <frontend>
@@ -132,11 +132,6 @@
132
  <ddg_automation>
133
  <class>Dotdigitalgroup_Email_Block</class>
134
  </ddg_automation>
135
- <adminhtml>
136
- <rewrite>
137
- <system_email_template_edit>Dotdigitalgroup_Email_Block_System_Email_Template_Edit</system_email_template_edit>
138
- </rewrite>
139
- </adminhtml>
140
  </blocks>
141
  <events>
142
  <admin_system_config_changed_section_connector_api_credentials>
2
  <config>
3
  <modules>
4
  <Dotdigitalgroup_Email>
5
+ <version>5.2.0</version>
6
  </Dotdigitalgroup_Email>
7
  </modules>
8
  <frontend>
132
  <ddg_automation>
133
  <class>Dotdigitalgroup_Email_Block</class>
134
  </ddg_automation>
 
 
 
 
 
135
  </blocks>
136
  <events>
137
  <admin_system_config_changed_section_connector_api_credentials>
app/code/community/Dotdigitalgroup/Email/etc/files.yaml CHANGED
@@ -35,8 +35,6 @@ sql:
35
  locale:
36
  - en_US#Dotdigitalgroup_Email.csv
37
  block:
38
- - Adminhtml#Campaign#Edit#Form.php
39
- - Adminhtml#Campaign#Edit.php
40
  - Adminhtml#Campaign#Grid.php
41
  - Adminhtml#Column#Renderer#Imported.php
42
  - Adminhtml#Column#Renderer#Status.php
@@ -71,7 +69,6 @@ block:
71
  - Adminhtml#System#Advanced#Runsubscribersync.php
72
  - Adminhtml#System#Advanced#Runwishlistsync.php
73
  - Adminhtml#System#Advanced#Setupdatafields.php
74
- - Adminhtml#System#Advanced#Suppressedcontacts.php
75
  - Adminhtml#System#Automation#Connect.php
76
  - Adminhtml#System#Config#Addressbook.php
77
  - Adminhtml#System#Config#Datafield.php
@@ -139,12 +136,7 @@ block:
139
  - Order#Creditmemo.php
140
  - Order#Invoice.php
141
  - Order#Shipping.php
142
- - Recommended#Bestsellers.php
143
- - Recommended#Mostviewed.php
144
  - Recommended#Products.php
145
- - Recommended#Push.php
146
- - Recommended#Quoteproducts.php
147
- - Recommended#Recentlyviewed.php
148
  - Basket.php
149
  - Coupon.php
150
  - Order.php
@@ -154,7 +146,6 @@ helper:
154
  - Data.php
155
  - File.php
156
  - Recommended.php
157
- - Review.php
158
  model:
159
  - Abstract#Rest.php
160
  - Adminhtml#Dashboard#Tabs#Analysis#Abandoned.php
@@ -238,27 +229,9 @@ design:
238
  - adminhtml#default#default#template#connector#system#config#createdatafield.phtml
239
  - frontend#base#default#layout#connector.xml
240
  - frontend#base#default#layout#mailcheck.xml
241
- - frontend#base#default#template#connector#creditmemo#items.phtml
242
- - frontend#base#default#template#connector#creditmemo#new.phtml
243
- - frontend#base#default#template#connector#creditmemo#newguest.phtml
244
- - frontend#base#default#template#connector#creditmemo#update.phtml
245
- - frontend#base#default#template#connector#creditmemo#updateguest.phtml
246
- - frontend#base#default#template#connector#invoice#new.phtml
247
- - frontend#base#default#template#connector#invoice#newguest.phtml
248
- - frontend#base#default#template#connector#invoice#update.phtml
249
- - frontend#base#default#template#connector#invoice#updateguest.phtml
250
- - frontend#base#default#template#connector#order#items.phtml
251
- - frontend#base#default#template#connector#order#new.phtml
252
- - frontend#base#default#template#connector#order#newguest.phtml
253
- - frontend#base#default#template#connector#order#update.phtml
254
- - frontend#base#default#template#connector#order#updateguest.phtml
255
  - frontend#base#default#template#connector#product#list.phtml
256
  - frontend#base#default#template#connector#product#nosto.phtml
257
  - frontend#base#default#template#connector#product#price.phtml
258
- - frontend#base#default#template#connector#shipping#new.phtml
259
- - frontend#base#default#template#connector#shipping#newguest.phtml
260
- - frontend#base#default#template#connector#shipping#update.phtml
261
- - frontend#base#default#template#connector#shipping#updateguest.phtml
262
  - frontend#base#default#template#connector#basket.phtml
263
  - frontend#base#default#template#connector#coupon.phtml
264
  - frontend#base#default#template#connector#email_capture.phtml
35
  locale:
36
  - en_US#Dotdigitalgroup_Email.csv
37
  block:
 
 
38
  - Adminhtml#Campaign#Grid.php
39
  - Adminhtml#Column#Renderer#Imported.php
40
  - Adminhtml#Column#Renderer#Status.php
69
  - Adminhtml#System#Advanced#Runsubscribersync.php
70
  - Adminhtml#System#Advanced#Runwishlistsync.php
71
  - Adminhtml#System#Advanced#Setupdatafields.php
 
72
  - Adminhtml#System#Automation#Connect.php
73
  - Adminhtml#System#Config#Addressbook.php
74
  - Adminhtml#System#Config#Datafield.php
136
  - Order#Creditmemo.php
137
  - Order#Invoice.php
138
  - Order#Shipping.php
 
 
139
  - Recommended#Products.php
 
 
 
140
  - Basket.php
141
  - Coupon.php
142
  - Order.php
146
  - Data.php
147
  - File.php
148
  - Recommended.php
 
149
  model:
150
  - Abstract#Rest.php
151
  - Adminhtml#Dashboard#Tabs#Analysis#Abandoned.php
229
  - adminhtml#default#default#template#connector#system#config#createdatafield.phtml
230
  - frontend#base#default#layout#connector.xml
231
  - frontend#base#default#layout#mailcheck.xml
 
 
 
 
 
 
 
 
 
 
 
 
 
 
232
  - frontend#base#default#template#connector#product#list.phtml
233
  - frontend#base#default#template#connector#product#nosto.phtml
234
  - frontend#base#default#template#connector#product#price.phtml
 
 
 
 
235
  - frontend#base#default#template#connector#basket.phtml
236
  - frontend#base#default#template#connector#coupon.phtml
237
  - frontend#base#default#template#connector#email_capture.phtml
app/code/community/Dotdigitalgroup/Email/etc/system.xml CHANGED
@@ -1381,7 +1381,7 @@
1381
  </fields>
1382
  </order_status_automation>
1383
  <review_settings translate="label" module="ddg">
1384
- <label>Review Settings</label>
1385
  <frontend_type>text</frontend_type>
1386
  <sort_order>300</sort_order>
1387
  <show_in_default>1</show_in_default>
@@ -1397,6 +1397,7 @@
1397
  <show_in_default>1</show_in_default>
1398
  <show_in_website>1</show_in_website>
1399
  <show_in_store>0</show_in_store>
 
1400
  </enabled>
1401
  <status translate="label" module="ddg">
1402
  <label>Order Status</label>
@@ -1406,6 +1407,7 @@
1406
  <show_in_default>1</show_in_default>
1407
  <show_in_website>1</show_in_website>
1408
  <show_in_store>0</show_in_store>
 
1409
  </status>
1410
  <delay>
1411
  <label>Delay Period (Days)</label>
@@ -1415,18 +1417,8 @@
1415
  <show_in_default>1</show_in_default>
1416
  <show_in_website>1</show_in_website>
1417
  <show_in_store>0</show_in_store>
1418
- <comment><![CDATA[The system will send the reminder after the above mentioned amount of days upon order status selected above.]]></comment>
1419
  </delay>
1420
- <new_product>
1421
- <label>New Product Only</label>
1422
- <sort_order>40</sort_order>
1423
- <frontend_type>select</frontend_type>
1424
- <source_model>adminhtml/system_config_source_yesno</source_model>
1425
- <show_in_default>1</show_in_default>
1426
- <show_in_website>1</show_in_website>
1427
- <show_in_store>0</show_in_store>
1428
- <comment><![CDATA[Only include not purchased before products only.]]></comment>
1429
- </new_product>
1430
  <campaign>
1431
  <label>Campaign To Send</label>
1432
  <sort_order>50</sort_order>
@@ -3065,12 +3057,21 @@
3065
  <catalog_sync tranlate="label comment" module="ddg">
3066
  <label>Catalog Sync</label>
3067
  <frontend_model>ddg_automation/adminhtml_system_advanced_runcatalogsync</frontend_model>
3068
- <sort_order>59</sort_order>
3069
  <show_in_default>1</show_in_default>
3070
  <show_in_website>1</show_in_website>
3071
  <show_in_store>0</show_in_store>
3072
  <comment><![CDATA[Run the catalog sync manually.]]></comment>
3073
  </catalog_sync>
 
 
 
 
 
 
 
 
 
3074
  <actions_title translate="label" module="ddg">
3075
  <label>Reset Sync Options</label>
3076
  <frontend_model>adminhtml/system_config_form_field_heading</frontend_model>
1381
  </fields>
1382
  </order_status_automation>
1383
  <review_settings translate="label" module="ddg">
1384
+ <label>Review Reminder Settings</label>
1385
  <frontend_type>text</frontend_type>
1386
  <sort_order>300</sort_order>
1387
  <show_in_default>1</show_in_default>
1397
  <show_in_default>1</show_in_default>
1398
  <show_in_website>1</show_in_website>
1399
  <show_in_store>0</show_in_store>
1400
+ <comment><![CDATA[Enable cronjob to send the product reminder email campaigns.]]></comment>
1401
  </enabled>
1402
  <status translate="label" module="ddg">
1403
  <label>Order Status</label>
1407
  <show_in_default>1</show_in_default>
1408
  <show_in_website>1</show_in_website>
1409
  <show_in_store>0</show_in_store>
1410
+ <comment><![CDATA[Sends an email with above order status.]]></comment>
1411
  </status>
1412
  <delay>
1413
  <label>Delay Period (Days)</label>
1417
  <show_in_default>1</show_in_default>
1418
  <show_in_website>1</show_in_website>
1419
  <show_in_store>0</show_in_store>
1420
+ <comment><![CDATA[The system will delay the send of the above mentioned amount of days.]]></comment>
1421
  </delay>
 
 
 
 
 
 
 
 
 
 
1422
  <campaign>
1423
  <label>Campaign To Send</label>
1424
  <sort_order>50</sort_order>
3057
  <catalog_sync tranlate="label comment" module="ddg">
3058
  <label>Catalog Sync</label>
3059
  <frontend_model>ddg_automation/adminhtml_system_advanced_runcatalogsync</frontend_model>
3060
+ <sort_order>58</sort_order>
3061
  <show_in_default>1</show_in_default>
3062
  <show_in_website>1</show_in_website>
3063
  <show_in_store>0</show_in_store>
3064
  <comment><![CDATA[Run the catalog sync manually.]]></comment>
3065
  </catalog_sync>
3066
+ <importer_sync translate="label comment" module="ddg">
3067
+ <label>Importer Sync</label>
3068
+ <frontend_model>ddg_automation/adminhtml_system_advanced_runimportersync</frontend_model>
3069
+ <sort_order>59</sort_order>
3070
+ <show_in_default>1</show_in_default>
3071
+ <show_in_website>1</show_in_website>
3072
+ <show_in_store>0</show_in_store>
3073
+ <comment><![CDATA[Run the importer sync manually.]]></comment>
3074
+ </importer_sync>
3075
  <actions_title translate="label" module="ddg">
3076
  <label>Reset Sync Options</label>
3077
  <frontend_model>adminhtml/system_config_form_field_heading</frontend_model>
app/code/community/Dotdigitalgroup/Email/sql/email_connector_setup/mysql4-install-3.0.0.php CHANGED
@@ -69,7 +69,7 @@ $table->addColumn('email_contact_id', Varien_Db_Ddl_Table::TYPE_INTEGER, null, a
69
  'nullable' => true,
70
  ), 'Is Suppressed')
71
  ->addIndex($this->getIdxName($contactTable, array('email_contact_id')),
72
- array('email_contact_id'))
73
  ->addIndex($this->getIdxName($contactTable, array('is_guest')),
74
  array('is_guest'))
75
  ->addIndex($this->getIdxName($contactTable, array('customer_id')),
@@ -86,7 +86,6 @@ $table->addColumn('email_contact_id', Varien_Db_Ddl_Table::TYPE_INTEGER, null, a
86
  array('subscriber_imported'))
87
  ->addIndex($this->getIdxName($contactTable, array('suppressed')),
88
  array('suppressed'))
89
-
90
  ->addForeignKey(
91
  $installer->getFkName($contactTable, 'website_id', 'core/website', 'website_id'),
92
  'website_id', $installer->getTable('core/website'), 'website_id',
69
  'nullable' => true,
70
  ), 'Is Suppressed')
71
  ->addIndex($this->getIdxName($contactTable, array('email_contact_id')),
72
+ array('email_contact_id'))
73
  ->addIndex($this->getIdxName($contactTable, array('is_guest')),
74
  array('is_guest'))
75
  ->addIndex($this->getIdxName($contactTable, array('customer_id')),
86
  array('subscriber_imported'))
87
  ->addIndex($this->getIdxName($contactTable, array('suppressed')),
88
  array('suppressed'))
 
89
  ->addForeignKey(
90
  $installer->getFkName($contactTable, 'website_id', 'core/website', 'website_id'),
91
  'website_id', $installer->getTable('core/website'), 'website_id',
app/code/community/Dotdigitalgroup/Email/sql/email_connector_setup/mysql4-install-4.0.0.php CHANGED
@@ -585,10 +585,10 @@ $installer->getConnection()->createTable($table);
585
 
586
  //wishlist populate
587
  $select = $installer->getConnection()->select()
588
- ->from(
589
- array('wishlist' => $installer->getTable('wishlist/wishlist')),
590
- array('wishlist_id', 'customer_id', 'created_at' => 'updated_at')
591
- )->joinLeft(
592
  array('ce' => $installer->getTable('customer_entity')),
593
  "wishlist.customer_id = ce.entity_id",
594
  array('store_id')
@@ -652,13 +652,13 @@ $installer->getConnection()->createTable($table);
652
 
653
  //populate quote table
654
  $select = $installer->getConnection()->select()
655
- ->from(
656
- $installer->getTable('sales/quote'),
657
- array('quote_id' => 'entity_id', 'store_id', 'customer_id', 'created_at')
658
- )
659
- ->where('customer_id !=?', NULL )
660
- ->where('is_active =?', 1 )
661
- ->where('items_count >?', 0 );
662
 
663
  $insertArray = array('quote_id', 'store_id', 'customer_id', 'created_at');
664
  $sqlQuery = $select->insertFromSelect($quoteTable, $insertArray, false);
585
 
586
  //wishlist populate
587
  $select = $installer->getConnection()->select()
588
+ ->from(
589
+ array('wishlist' => $installer->getTable('wishlist/wishlist')),
590
+ array('wishlist_id', 'customer_id', 'created_at' => 'updated_at')
591
+ )->joinLeft(
592
  array('ce' => $installer->getTable('customer_entity')),
593
  "wishlist.customer_id = ce.entity_id",
594
  array('store_id')
652
 
653
  //populate quote table
654
  $select = $installer->getConnection()->select()
655
+ ->from(
656
+ $installer->getTable('sales/quote'),
657
+ array('quote_id' => 'entity_id', 'store_id', 'customer_id', 'created_at')
658
+ )
659
+ ->where('customer_id !=?', NULL )
660
+ ->where('is_active =?', 1 )
661
+ ->where('items_count >?', 0 );
662
 
663
  $insertArray = array('quote_id', 'store_id', 'customer_id', 'created_at');
664
  $sqlQuery = $select->insertFromSelect($quoteTable, $insertArray, false);
app/code/community/Dotdigitalgroup/Email/sql/email_connector_setup/mysql4-install-5.0.0.php CHANGED
@@ -977,55 +977,54 @@ $table->addColumn('id', Varien_Db_Ddl_Table::TYPE_INTEGER, null, array(
977
  'identity' => true,
978
  'unsigned' => true,
979
  'nullable' => false
980
- ), 'Primary Key')
981
- ->addColumn('automation_type', Varien_Db_Ddl_Table::TYPE_VARCHAR, 255, array(
982
- 'nullable' => true,
983
- ), 'Automation Type')
984
- ->addColumn('store_name', Varien_Db_Ddl_Table::TYPE_VARCHAR, 255, array(
985
- 'nullable' => true,
986
- ), 'Automation Type')
987
- ->addColumn('enrolment_status', Varien_Db_Ddl_Table::TYPE_VARCHAR, 255, array(
988
- 'nullable' => false,
989
- ), 'Entrolment Status')
990
- ->addColumn('email', Varien_Db_Ddl_Table::TYPE_VARCHAR, 255, array(
991
- 'nullable' => true,
992
- ), 'Email')
993
- ->addColumn('type_id', Varien_Db_Ddl_Table::TYPE_VARCHAR, 255, array(
994
- 'nullable' => true,
995
- ), 'Type ID')
996
- ->addColumn('program_id', Varien_Db_Ddl_Table::TYPE_VARCHAR, 255, array(
997
- 'nullable' => true,
998
- ), 'Program ID')
999
- ->addColumn('website_id', Varien_Db_Ddl_Table::TYPE_INTEGER, null, array(
1000
- 'unsigned' => true,
1001
- 'nullable' => false,
1002
- ), 'Website Id')
1003
- ->addColumn('message', Varien_Db_Ddl_Table::TYPE_VARCHAR, 255, array(
1004
- 'nullable' => false,
1005
- ), 'Message')
1006
- ->addColumn('created_at', Varien_Db_Ddl_Table::TYPE_TIMESTAMP, null, array(
1007
- ), 'Creation Time')
1008
- ->addColumn('updated_at', Varien_Db_Ddl_Table::TYPE_TIMESTAMP, null, array(
1009
- ), 'Update Time')
1010
- ->addIndex($installer->getIdxName($automationTable, array('automation_type')),
1011
- array('automation_type'))
1012
- ->addIndex($installer->getIdxName($automationTable, array('enrolment_status')),
1013
- array('enrolment_status'))
1014
- ->addIndex($installer->getIdxName($automationTable, array('type_id')),
1015
- array('type_id'))
1016
- ->addIndex($installer->getIdxName($automationTable, array('email')),
1017
- array('email'))
1018
- ->addIndex($installer->getIdxName($automationTable, array('program_id')),
1019
- array('program_id'))
1020
- ->addIndex($installer->getIdxName($automationTable, array('message')),
1021
- array('message'))
1022
- ->addIndex($installer->getIdxName($automationTable, array('created_at')),
1023
- array('created_at'))
1024
- ->addIndex($installer->getIdxName($automationTable, array('updated_at')),
1025
- array('updated_at'))
1026
- ->addIndex($installer->getIdxName($automationTable, array('website_id')),
1027
- array('website_id'))
1028
- ->setComment('Automation Status');
1029
  $installer->getConnection()->createTable($table);
1030
 
1031
 
977
  'identity' => true,
978
  'unsigned' => true,
979
  'nullable' => false
980
+ ), 'Primary Key')
981
+ ->addColumn('automation_type', Varien_Db_Ddl_Table::TYPE_VARCHAR, 255, array(
982
+ 'nullable' => true,
983
+ ), 'Automation Type')
984
+ ->addColumn('store_name', Varien_Db_Ddl_Table::TYPE_VARCHAR, 255, array(
985
+ 'nullable' => true,
986
+ ), 'Automation Type')
987
+ ->addColumn('enrolment_status', Varien_Db_Ddl_Table::TYPE_VARCHAR, 255, array(
988
+ 'nullable' => false,
989
+ ), 'Entrolment Status')
990
+ ->addColumn('email', Varien_Db_Ddl_Table::TYPE_VARCHAR, 255, array(
991
+ 'nullable' => true,
992
+ ), 'Email')
993
+ ->addColumn('type_id', Varien_Db_Ddl_Table::TYPE_VARCHAR, 255, array(
994
+ 'nullable' => true,
995
+ ), 'Type ID')
996
+ ->addColumn('program_id', Varien_Db_Ddl_Table::TYPE_VARCHAR, 255, array(
997
+ 'nullable' => true,
998
+ ), 'Program ID')
999
+ ->addColumn('website_id', Varien_Db_Ddl_Table::TYPE_INTEGER, null, array(
1000
+ 'unsigned' => true,
1001
+ 'nullable' => false,
1002
+ ), 'Website Id')
1003
+ ->addColumn('message', Varien_Db_Ddl_Table::TYPE_VARCHAR, 255, array(
1004
+ 'nullable' => false,
1005
+ ), 'Message')
1006
+ ->addColumn('created_at', Varien_Db_Ddl_Table::TYPE_TIMESTAMP, null, array(
1007
+ ), 'Creation Time')
1008
+ ->addColumn('updated_at', Varien_Db_Ddl_Table::TYPE_TIMESTAMP, null, array(
1009
+ ), 'Update Time')
1010
+ ->addIndex($installer->getIdxName($automationTable, array('automation_type')),
1011
+ array('automation_type'))->addIndex($installer->getIdxName($automationTable, array('enrolment_status')),
1012
+ array('enrolment_status'))
1013
+ ->addIndex($installer->getIdxName($automationTable, array('type_id')),
1014
+ array('type_id'))
1015
+ ->addIndex($installer->getIdxName($automationTable, array('email')),
1016
+ array('email'))
1017
+ ->addIndex($installer->getIdxName($automationTable, array('program_id')),
1018
+ array('program_id'))
1019
+ ->addIndex($installer->getIdxName($automationTable, array('message')),
1020
+ array('message'))
1021
+ ->addIndex($installer->getIdxName($automationTable, array('created_at')),
1022
+ array('created_at'))
1023
+ ->addIndex($installer->getIdxName($automationTable, array('updated_at')),
1024
+ array('updated_at'))
1025
+ ->addIndex($installer->getIdxName($automationTable, array('website_id')),
1026
+ array('website_id'))
1027
+ ->setComment('Automation Status');
 
1028
  $installer->getConnection()->createTable($table);
1029
 
1030
 
app/code/community/Dotdigitalgroup/Email/sql/email_connector_setup/mysql4-upgrade-2.0.3-2.0.4.php CHANGED
@@ -20,7 +20,8 @@ $installer->run("
20
 
21
  $installer->run("
22
  ALTER TABLE `{$this->getTable('email_contact')}`
23
- ADD CONSTRAINT `FK_EMAIL_CONTACT_WEBSITE_ID_CORE_WEBSITE_WEBSITE_ID` FOREIGN KEY (`website_id`) REFERENCES `{$installer->getTable('core_website')}` (`website_id`) ON DELETE CASCADE ON UPDATE CASCADE;
 
24
 
25
  ");
26
 
20
 
21
  $installer->run("
22
  ALTER TABLE `{$this->getTable('email_contact')}`
23
+ ADD CONSTRAINT `FK_EMAIL_CONTACT_WEBSITE_ID_CORE_WEBSITE_WEBSITE_ID` FOREIGN KEY (`website_id`) REFERENCES `{$installer->getTable('core_website')}`
24
+ (`website_id`) ON DELETE CASCADE ON UPDATE CASCADE;
25
 
26
  ");
27
 
app/code/community/Dotdigitalgroup/Email/sql/email_connector_setup/mysql4-upgrade-3.3.0-3.3.1.php CHANGED
@@ -131,10 +131,10 @@ $installer->getConnection()->createTable($table);
131
 
132
  //wishlist populate
133
  $select = $installer->getConnection()->select()
134
- ->from(
135
- array('wishlist' => $installer->getTable('wishlist/wishlist')),
136
- array('wishlist_id', 'customer_id', 'created_at' => 'updated_at')
137
- )->joinLeft(
138
  array('ce' => $installer->getTable('customer_entity')),
139
  "wishlist.customer_id = ce.entity_id",
140
  array('store_id')
131
 
132
  //wishlist populate
133
  $select = $installer->getConnection()->select()
134
+ ->from(
135
+ array('wishlist' => $installer->getTable('wishlist/wishlist')),
136
+ array('wishlist_id', 'customer_id', 'created_at' => 'updated_at')
137
+ )->joinLeft(
138
  array('ce' => $installer->getTable('customer_entity')),
139
  "wishlist.customer_id = ce.entity_id",
140
  array('store_id')
app/code/community/Dotdigitalgroup/Email/sql/email_connector_setup/mysql4-upgrade-3.4.0-4.0.0.php CHANGED
@@ -15,15 +15,16 @@ if (Mage::helper('ddg')->isEnterprise()) {
15
  //customer segment table
16
  $segmentTable = $installer->getTable( 'enterprise_customersegment/customer' );
17
  //add additional column with segment ids
18
- $installer->getConnection()->addColumn(
19
- $contactTable,
20
- 'segment_ids',
21
- 'mediumtext'
22
- );
23
-
24
  //update contact table with customer segment ids
25
  $result = $installer->run( "update`{$contactTable}` c,(select customer_id, website_id, group_concat(`segment_id` separator ',') as segmentids
26
- from `{$segmentTable}` group by customer_id) as s set c.segment_ids = segmentids, c.email_imported = null WHERE s.customer_id= c.customer_id and s.website_id = c.website_id");
 
27
 
28
  }
29
 
15
  //customer segment table
16
  $segmentTable = $installer->getTable( 'enterprise_customersegment/customer' );
17
  //add additional column with segment ids
18
+ $installer->getConnection()
19
+ ->addColumn(
20
+ $contactTable,
21
+ 'segment_ids',
22
+ 'mediumtext'
23
+ );
24
  //update contact table with customer segment ids
25
  $result = $installer->run( "update`{$contactTable}` c,(select customer_id, website_id, group_concat(`segment_id` separator ',') as segmentids
26
+ from `{$segmentTable}` group by customer_id) as s set c.segment_ids = segmentids, c.email_imported = null
27
+ WHERE s.customer_id= c.customer_id and s.website_id = c.website_id");
28
 
29
  }
30
 
app/code/community/Dotdigitalgroup/Email/sql/email_connector_setup/mysql4-upgrade-4.0.0-4.1.0.php CHANGED
@@ -13,10 +13,10 @@ if ($installer->getConnection()->isTableExists($automationTable)) {
13
  }
14
  $table = $installer->getConnection()->newTable($automationTable);
15
  $table->addColumn('id', Varien_Db_Ddl_Table::TYPE_INTEGER, null, array(
16
- 'primary' => true,
17
- 'identity' => true,
18
- 'unsigned' => true,
19
- 'nullable' => false
20
  ), 'Primary Key')
21
  ->addColumn('automation_type', Varien_Db_Ddl_Table::TYPE_VARCHAR, 255, array(
22
  'nullable' => true,
@@ -48,9 +48,9 @@ $table->addColumn('id', Varien_Db_Ddl_Table::TYPE_INTEGER, null, array(
48
  ->addColumn('updated_at', Varien_Db_Ddl_Table::TYPE_TIMESTAMP, null, array(
49
  ), 'Update Time')
50
  ->addIndex($this->getIdxName($automationTable, array('automation_type')),
51
- array('automation_type'))
52
  ->addIndex($this->getIdxName($automationTable, array('enrolment_status')),
53
- array('enrolment_status'))
54
  ->setComment('Automation Status');
55
  $installer->getConnection()->createTable($table);
56
 
13
  }
14
  $table = $installer->getConnection()->newTable($automationTable);
15
  $table->addColumn('id', Varien_Db_Ddl_Table::TYPE_INTEGER, null, array(
16
+ 'primary' => true,
17
+ 'identity' => true,
18
+ 'unsigned' => true,
19
+ 'nullable' => false
20
  ), 'Primary Key')
21
  ->addColumn('automation_type', Varien_Db_Ddl_Table::TYPE_VARCHAR, 255, array(
22
  'nullable' => true,
48
  ->addColumn('updated_at', Varien_Db_Ddl_Table::TYPE_TIMESTAMP, null, array(
49
  ), 'Update Time')
50
  ->addIndex($this->getIdxName($automationTable, array('automation_type')),
51
+ array('automation_type'))
52
  ->addIndex($this->getIdxName($automationTable, array('enrolment_status')),
53
+ array('enrolment_status'))
54
  ->setComment('Automation Status');
55
  $installer->getConnection()->createTable($table);
56
 
app/design/adminhtml/default/default/template/connector/customer/stats.phtml CHANGED
@@ -44,4 +44,4 @@
44
  </div>
45
  <?php else: ?>
46
  <strong><?php echo "No activity found"; ?></strong>
47
- <?php endif; ?>
44
  </div>
45
  <?php else: ?>
46
  <strong><?php echo "No activity found"; ?></strong>
47
+ <?php endif;
app/design/adminhtml/default/default/template/connector/dashboard/accountbar.phtml CHANGED
@@ -1,9 +1,9 @@
1
  <?php if( sizeof($this->getTotals()) > 0 ): ?>
2
- <?php foreach( $this->getTotals() as $_total ): ?>
3
  <div class="entry-edit" style="width: 400px">
4
- <div class="entry-edit-head"><h4><?php echo $_total['label'] ?></h4></div>
5
  <fieldset class="a-center bold">
6
- <span class="nowrap" style="font-size:18px;color:#EA7601;"><?php echo $_total['value'] ?><span style="font-size:14px; color:#686868;"><?php echo $_total['decimals'] ?></span></span>
7
  </fieldset>
8
  </div>
9
  <?php endforeach; ?>
1
  <?php if( sizeof($this->getTotals()) > 0 ): ?>
2
+ <?php foreach( $this->getTotals() as $total ): ?>
3
  <div class="entry-edit" style="width: 400px">
4
+ <div class="entry-edit-head"><h4><?php echo $total['label'] ?></h4></div>
5
  <fieldset class="a-center bold">
6
+ <span class="nowrap" style="font-size:18px;color:#EA7601;"><?php echo $total['value'] ?><span style="font-size:14px; color:#686868;"><?php echo $total['decimals'] ?></span></span>
7
  </fieldset>
8
  </div>
9
  <?php endforeach; ?>
app/design/adminhtml/default/default/template/connector/dashboard/logs.phtml CHANGED
@@ -3,7 +3,8 @@
3
  </div>
4
 
5
  <div style="border: 4px solid #dfdfdf; overflow: scroll; height: 500px; padding: 5px;">
6
- <div id="log_data" style="width:100%;height:500px;overflow:auto;margin:0px;padding:3px;background:black;color:#2EC029;font:normal 11px Lucida Console, Courier New, serif;">
 
7
  <?php echo nl2br(Mage::helper('ddg')->getLogFileContent()); ?>
8
  </div>
9
  </div>
3
  </div>
4
 
5
  <div style="border: 4px solid #dfdfdf; overflow: scroll; height: 500px; padding: 5px;">
6
+ <div id="log_data" style="width:100%;height:500px;overflow:auto;margin:0px;padding:3px;background:black;color:#2EC029;
7
+ font:normal 11px Lucida Console, Courier New, serif;">
8
  <?php echo nl2br(Mage::helper('ddg')->getLogFileContent()); ?>
9
  </div>
10
  </div>
app/design/adminhtml/default/default/template/connector/dashboard/status.phtml CHANGED
@@ -1,7 +1,7 @@
1
  <div class="content-header">
2
  <h3 class="icon-head head-newsletter-report"><?php echo $this->getTabTitle(); ?></h3>
3
  </div>
4
- <?php foreach ( $this->getCheckpoints() as $key => $_checkpoint ) :?>
5
  <?php $method = $this->getFormatedMethodName($key);
6
 
7
  if (is_callable(array($this, $method))) {
@@ -19,15 +19,15 @@
19
  <div class="entry-edit connector-fieldset-entry">
20
  <div class="entry-edit-head collapseable ">
21
 
22
- <a id="<?php echo $key;?>-head" class="<?php echo $data->getStyle();?>" href="#" onclick="Fieldset.toggleCollapse('<?php echo $key;?>', '<?php echo $this->getUrl('*/*/state') ;?>');return false;">
23
- <?php echo Mage::helper('ddg')->__($_checkpoint) ?> </a>
24
 
25
  </div>
26
  <input id="<?php echo $key;?>-state" name="config_state[<?php echo $key ;?>]" type="hidden" value="<?php echo $collapsable;?>">
27
 
28
  <fieldset class="collapseable" id="<?php echo $key;?>">
29
 
30
- <legend><?php echo Mage::helper('ddg')->__($_checkpoint); ?></legend>
31
  <span><?php echo $data->getTitle();?></span><span class="<?php echo $data->getStyle();?>"><?php echo $data->getMessage();?></span>
32
  <div class="<?php echo $showHowTo?>">
33
  <ul class="howto">
1
  <div class="content-header">
2
  <h3 class="icon-head head-newsletter-report"><?php echo $this->getTabTitle(); ?></h3>
3
  </div>
4
+ <?php foreach ( $this->getCheckpoints() as $key => $checkpoint ) :?>
5
  <?php $method = $this->getFormatedMethodName($key);
6
 
7
  if (is_callable(array($this, $method))) {
19
  <div class="entry-edit connector-fieldset-entry">
20
  <div class="entry-edit-head collapseable ">
21
 
22
+ <a id="<?php echo $key;?>-head" class="<?php echo $data->getStyle();?>" href="#" onclick="Fieldset.toggleCollapse('<?php echo $key;?>',
23
+ '<?php echo $this->getUrl('*/*/state') ;?>');return false;"><?php echo Mage::helper('ddg')->__($checkpoint) ?> </a>
24
 
25
  </div>
26
  <input id="<?php echo $key;?>-state" name="config_state[<?php echo $key ;?>]" type="hidden" value="<?php echo $collapsable;?>">
27
 
28
  <fieldset class="collapseable" id="<?php echo $key;?>">
29
 
30
+ <legend><?php echo Mage::helper('ddg')->__($checkpoint); ?></legend>
31
  <span><?php echo $data->getTitle();?></span><span class="<?php echo $data->getStyle();?>"><?php echo $data->getMessage();?></span>
32
  <div class="<?php echo $showHowTo?>">
33
  <ul class="howto">
app/design/adminhtml/default/default/template/connector/dashboard/tabs.phtml CHANGED
@@ -3,18 +3,23 @@
3
  <?php endif ?>
4
  <?php if(!empty($tabs)): ?>
5
  <ul id="<?php echo $this->getId() ?>" class="tabs">
6
- <?php foreach ($tabs as $_tab): ?>
7
- <?php if (!$this->canShowTab($_tab)): continue; endif; ?>
8
- <li <?php if($this->getTabIsHidden($_tab)): ?> style="display:none"<?php endif; ?>>
9
- <a href="<?php echo $this->getTabUrl($_tab) ?>" id="<?php echo $this->getTabId($_tab) ?>" name="<?php echo $this->getTabId($_tab, false) ?>" title="<?php echo $this->getTabTitle($_tab) ?>" class="tab-item-link <?php echo $this->getTabClass($_tab) ?><?php if (preg_match('/\s?ajax\s?/', $_tab->getClass())) {?> notloaded<?php }?>">
10
- <span><span class="changed" title="<?php echo $this->__('The information in this tab has been changed.') ?>"></span><span class="error" title="<?php echo $this->__('This tab contains invalid data. Please solve the problem before saving.') ?>"></span><?php echo $this->getTabLabel($_tab); ?></span>
 
 
 
 
11
  </a>
12
- <div id="<?php echo $this->getTabId($_tab) ?>_content" style="display:none; float: left; width: 100%;"><?php echo $this->getTabContent($_tab) ?></div>
13
  </li>
14
  <?php endforeach; ?>
15
  </ul>
16
  <script type="text/javascript">
17
- <?php echo $this->getJsObjectName() ?> = new varienTabs('<?php echo $this->getId() ?>', '<?php echo $this->getDestElementId() ?>', '<?php echo $this->getActiveTabId() ?>', <?php echo $this->getAllShadowTabs()?>);
 
18
  </script>
19
  <?php endif;
20
 
3
  <?php endif ?>
4
  <?php if(!empty($tabs)): ?>
5
  <ul id="<?php echo $this->getId() ?>" class="tabs">
6
+ <?php foreach ($tabs as $tab): ?>
7
+ <?php if (!$this->canShowTab($tab)): continue; endif; ?>
8
+ <li <?php if($this->getTabIsHidden($tab)): ?> style="display:none"<?php endif; ?>>
9
+ <a href="<?php echo $this->getTabUrl($tab) ?>" id="<?php echo $this->getTabId($tab) ?>" name="<?php echo $this->getTabId($tab, false) ?>"
10
+ title="<?php echo $this->getTabTitle($tab) ?>" class="tab-item-link <?php echo $this->getTabClass($tab) ?>
11
+ <?php if (preg_match('/\s?ajax\s?/', $tab->getClass())):?> notloaded<?php endif;?>">
12
+ <span><span class="changed" title="<?php echo $this->__('The information in this tab has been changed.') ?>"></span><span class="error"
13
+ title="<?php echo $this->__('This tab contains invalid data. Please solve the problem before saving.') ?>"></span>
14
+ <?php echo $this->getTabLabel($tab); ?></span>
15
  </a>
16
+ <div id="<?php echo $this->getTabId($tab) ?>_content" style="display:none; float: left; width: 100%;"><?php echo $this->getTabContent($tab) ?></div>
17
  </li>
18
  <?php endforeach; ?>
19
  </ul>
20
  <script type="text/javascript">
21
+ <?php echo $this->getJsObjectName() ?> = new varienTabs('<?php echo $this->getId() ?>', '<?php echo $this->getDestElementId() ?>',
22
+ '<?php echo $this->getActiveTabId() ?>', <?php echo $this->getAllShadowTabs()?>);
23
  </script>
24
  <?php endif;
25
 
app/design/adminhtml/default/default/template/connector/dashboard/tabs/data.phtml CHANGED
@@ -3,19 +3,19 @@
3
  <h4 style="text-align: center">
4
  <?php echo $this->getTitle() ?>
5
  </h4>
6
- <?php foreach( $this->getTotals() as $_total ): ?>
7
  <div class="entry-edit" style="width: <?php echo $this->getColumnWidth() ?>">
8
- <div class="entry-edit-head"><h4><?php echo $_total['label'] ?></h4></div>
9
  <fieldset class="a-center bold">
10
  <span class="nowrap" style="font-size:18px;color:#EA7601;">
11
  <?php
12
- if($_total['value'] == '')
13
  echo '0';
14
  else
15
- echo $_total['value'];
16
  ?>
17
  <span style="font-size:14px; color:#686868;">
18
- <?php echo $_total['decimals'] ?>
19
  </span>
20
  </span>
21
  </fieldset>
3
  <h4 style="text-align: center">
4
  <?php echo $this->getTitle() ?>
5
  </h4>
6
+ <?php foreach( $this->getTotals() as $total ): ?>
7
  <div class="entry-edit" style="width: <?php echo $this->getColumnWidth() ?>">
8
+ <div class="entry-edit-head"><h4><?php echo $total['label'] ?></h4></div>
9
  <fieldset class="a-center bold">
10
  <span class="nowrap" style="font-size:18px;color:#EA7601;">
11
  <?php
12
+ if($total['value'] == '')
13
  echo '0';
14
  else
15
+ echo $total['value'];
16
  ?>
17
  <span style="font-size:14px; color:#686868;">
18
+ <?php echo $total['decimals'] ?>
19
  </span>
20
  </span>
21
  </fieldset>
app/design/adminhtml/default/default/template/connector/system/email/template/edit.phtml DELETED
@@ -1,295 +0,0 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Academic Free License (AFL 3.0)
8
- * that is bundled with this package in the file LICENSE_AFL.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/afl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * DISCLAIMER
16
- *
17
- * Do not edit or add to this file if you wish to upgrade Magento to newer
18
- * versions in the future. If you wish to customize Magento for your
19
- * needs please refer to http://www.magentocommerce.com for more information.
20
- *
21
- * @category design
22
- * @package default_default
23
- * @copyright Copyright (c) 2014 Magento Inc. (http://www.magentocommerce.com)
24
- * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
25
- */
26
- ?>
27
- <div class="content-header">
28
- <h3 class="icon-head head-system-email-template"><?php echo $this->getHeaderText() ?></h3>
29
- <p class="content-buttons form-buttons">
30
- <?php echo $this->getBackButtonHtml(); ?>
31
- <?php echo $this->getResetButtonHtml(); ?>
32
- <?php if($this->getEditMode()): ?>
33
- <?php echo $this->getDeleteButtonHtml(); ?>
34
- <?php endif ?>
35
- <?php if(!$this->isTextType()): ?>
36
- <?php echo $this->getToPlainButtonHtml(); ?>
37
- <?php echo $this->getToHtmlButtonHtml(); ?>
38
- <?php endif ?>
39
- <?php echo $this->getPreviewButtonHtml(); ?>
40
- <?php echo $this->getSaveButtonHtml(); ?>
41
- </p>
42
- </div>
43
- <?php if (!$this->getEditMode()): ?>
44
- <form action="<?php echo $this->getLoadUrl() ?>" method="post" id="email_template_load_form">
45
- <?php echo $this->getBlockHtml('formkey')?>
46
- <div class="entry-edit">
47
- <div class="entry-edit-head">
48
- <h4 class="icon-head head-edit-form fieldset-legend">
49
- <?php echo Mage::helper('adminhtml')->__('Load default template') ?>
50
- </h4>
51
- <div class="form-buttons"></div>
52
- </div>
53
- <div class="fieldset">
54
- <table class="form-list" cellspacing="0">
55
- <tbody>
56
- <tr>
57
- <td class="label">
58
- <label for="template_select">
59
- <?php echo Mage::helper('adminhtml')->__('Template') ?>
60
- <span class="required">*</span>
61
- </label>
62
- </td>
63
- <td class="value">
64
- <select id="template_select" name="code" class="select required-entry">
65
- <?php foreach ($this->getTemplateOptions() as $_option): ?>
66
- <option value="<?php echo $_option['value'] ?>"<?php echo $this->getOrigTemplateCode() == $_option['value'] ? ' selected="selected"' : '' ?>><?php echo $_option['label'] ?></option>
67
- <?php endforeach; ?>
68
- </select>
69
- </td>
70
- <td></td>
71
- </tr>
72
- <?php if(Mage::helper('ddg')->isEnabled(Mage::app()->getWebsite())): ?>
73
- <tr>
74
- <td class="label">
75
- <label for="connector_select">
76
- <?php echo Mage::helper('adminhtml')->__('dotmailer template') ?>
77
- </label>
78
- </td>
79
- <td class="value">
80
- <select id="connector_select" name="connector" class="select">
81
- <?php foreach ($this->getConnectorTemplates() as $_option): ?>
82
- <option value="<?php echo $_option['value'] ?>"><?php echo $_option['label'] ?></option>
83
- <?php endforeach; ?>
84
- </select>
85
- </td>
86
- <td></td>
87
- </tr>
88
- <?php endif; ?>
89
- <tr>
90
- <td class="label">
91
- <label for="locale_select">
92
- <?php echo Mage::helper('adminhtml')->__('Locale') ?>
93
- <span class="required">*</span>
94
- </label>
95
- </td>
96
- <td class="value">
97
- <select id="locale_select" name="locale" class="select required-entry">
98
- <?php foreach ($this->getLocaleOptions() as $_option): ?>
99
- <option value="<?php echo $_option['value'] ?>"<?php if ($_option['value']==$this->getCurrentLocale()): ?> selected="selected"<?php endif; ?>><?php echo $_option['label'] ?></option>
100
- <?php endforeach; ?>
101
- </select>
102
- </td>
103
- <td></td>
104
- </tr>
105
- <tr>
106
- <td class="label">
107
- <label>&nbsp;</label>
108
- </td>
109
- <td class="value">
110
- <?php echo $this->getLoadButtonHtml() ?>
111
- </td>
112
- <td></td>
113
- </tr>
114
- </tbody>
115
- </table>
116
- </div>
117
- </div>
118
- </form>
119
- <?php endif ?>
120
- <form action="<?php echo $this->getSaveUrl() ?>" method="post" id="email_template_edit_form">
121
- <?php echo $this->getBlockHtml('formkey')?>
122
- <fieldset>
123
- <input type="hidden" id="change_flag_element" name="_change_type_flag" value="" />
124
- <input type="hidden" id="orig_template_code" name="orig_template_code" value="<?php echo $this->getOrigTemplateCode() ?>" />
125
- <?php echo $this->getFormHtml() ?>
126
- </fieldset>
127
- </form>
128
- <form action="<?php echo $this->getPreviewUrl() ?>" method="post" id="email_template_preview_form" target="_blank">
129
- <?php echo $this->getBlockHtml('formkey')?>
130
- <div class="no-display">
131
- <input type="hidden" id="preview_type" name="type" value="<?php echo $this->isTextType()?1:2 ?>" />
132
- <input type="hidden" id="preview_text" name="text" value="" />
133
- <input type="hidden" id="preview_styles" name="styles" value="" />
134
- </div>
135
- </form>
136
- <script type="text/javascript">
137
- //<![CDATA[
138
- var templateForm = new varienForm('email_template_edit_form');
139
- var templatePreviewForm = new varienForm('email_template_preview_form');
140
- var templateControl = {
141
- unconvertedText: '',
142
- typeChange: false,
143
- variables: null,
144
- init: function () {
145
- if ($('convert_button_back')) {
146
- $('convert_button_back').hide();
147
- }
148
- this.renderPaths(<?php echo $this->getUsedDefaultForPaths(); ?>, 'used_default_for');
149
- this.renderPaths(<?php echo $this->getUsedCurrentlyForPaths(); ?>, 'used_currently_for');
150
- },
151
- stripTags: function () {
152
- if(!window.confirm("<?php echo $this->__('Are you sure that you want to strip tags?') ?>")) {
153
- return false;
154
- }
155
- this.unconvertedText = $('template_text').value;
156
- $('convert_button').hide();
157
- $('template_text').value = $('template_text').value.stripScripts().replace(
158
- new RegExp('<style[^>]*>[\\S\\s]*?</style>', 'img'), ''
159
- ).stripTags().strip();
160
- $('convert_button_back').show();
161
- $('field_template_styles').hide();
162
- this.typeChange = true;
163
- return false;
164
- },
165
- unStripTags: function () {
166
- $('convert_button').show();
167
- $('convert_button_back').hide();
168
- $('template_text').value = this.unconvertedText;
169
- $('field_template_styles').show();
170
- this.typeChange = false;
171
- return false;
172
- },
173
- save: function() {
174
- if (this.typeChange) {
175
- $('change_flag_element').value = '1';
176
- }
177
- templateForm.submit();
178
- return false;
179
- },
180
- preview: function() {
181
- if (this.typeChange) {
182
- $('preview_type').value = 1;
183
- } else {
184
- $('preview_type').value = 2;
185
- }
186
- if (typeof tinyMCE == 'undefined' || !tinyMCE.getInstanceById('template_text')) {
187
- $('preview_text').value = $('template_text').value;
188
- } else {
189
- $('preview_text').value = tinyMCE.getInstanceById('template_text').getHTML();
190
- }
191
-
192
- if ($('template_styles') != undefined) {
193
- $('preview_styles').value = $('template_styles').value;
194
- }
195
-
196
- templatePreviewForm.submit();
197
- return false;
198
- },
199
-
200
- deleteTemplate: function() {
201
- if(window.confirm("<?php echo $this->__('Are you sure that you want to delete this template?') ?>")) {
202
- window.location.href = '<?php echo $this->getDeleteUrl() ?>';
203
- }
204
- },
205
-
206
- load: function() {
207
- var form = new varienForm('email_template_load_form');
208
-
209
- if (!form.validator.validate()) {
210
- return;
211
- }
212
-
213
- this.variables = null;
214
-
215
- new Ajax.Request($('email_template_load_form').action, {
216
- parameters: Form.serialize($('email_template_load_form'), true),
217
- area: $('email_template_load_form'),
218
- onComplete: function (transport) {
219
- if (transport.responseText.isJSON()) {
220
- var fields = $H(transport.responseText.evalJSON());
221
- fields.each(function(pair) {
222
- if ($(pair.key)) {
223
- $(pair.key).value = pair.value.strip();
224
- }
225
- if (pair.key == 'template_type') {
226
- if (pair.value == 1) {
227
- this.typeChange = true;
228
- $('convert_button').hide();
229
- $('convert_button_back').hide();
230
- } else {
231
- this.typeChange = false;
232
- $('convert_button_back').hide();
233
- $('convert_button').show();
234
- }
235
- }
236
- if (pair.key == 'orig_template_used_default_for') {
237
- if(pair.value.length){
238
- $('used_default_for').show();
239
- this.renderPaths(pair.value, 'used_default_for');
240
- }
241
- else{
242
- $('used_default_for').hide();
243
- }
244
- }
245
- }.bind(this));
246
- }
247
- }.bind(this)
248
- });
249
-
250
- },
251
-
252
- renderPaths: function(paths, fieldId){
253
- var field = $(fieldId);
254
- if(field){
255
- field.down('td').next('td').update(this.parsePath(paths, '<span class="path-delimiter">&nbsp;-&gt;&nbsp;</span>', '<br />'));
256
- }
257
- },
258
-
259
- parsePath: function (value, pathDelimiter, lineDelimiter) {
260
- if (Object.isArray(value)) {
261
- var result = [];
262
- for (var i = 0, len = value.length; i < len; i++) {
263
- result.push(this.parsePath(value[i], pathDelimiter, pathDelimiter));
264
- }
265
- return result.join(lineDelimiter);
266
- }
267
-
268
- if(!Object.isString(value) && value.title) {
269
- value = (value.url ? '<a href="' + value.url + '">' + value.title + '</a>' : value.title) + (value.scope ? '&nbsp;&nbsp;<span class="path-scope-label">(' + value.scope + ')</span>' : '');
270
- }
271
-
272
- return value;
273
- },
274
-
275
- openVariableChooser: function() {
276
- Variables.init('template_text');
277
- if (this.variables == null) {
278
- Variables.resetData();
279
- this.variables = $('variables').value.evalJSON();
280
- var templateVariablesValue = $('template_variables').value;
281
- if (this.variables && templateVariablesValue) {
282
- if (templateVariables = templateVariablesValue.evalJSON()) {
283
- this.variables.push(templateVariables);
284
- }
285
- }
286
- }
287
- if (this.variables) {
288
- Variables.openVariableChooser(this.variables);
289
- }
290
- }
291
- };
292
-
293
- templateControl.init();
294
- //]]>
295
- </script>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/design/frontend/base/default/template/connector/additional-newsletter-pref.phtml CHANGED
@@ -15,7 +15,9 @@
15
  <h4 style="margin-top: 10px;"><?php echo $this->__('Additional Newsletter Subscriptions') ?></h4>
16
  <?php foreach($additionalBooks as $books): ?>
17
  <li class="control">
18
- <input type="checkbox" name="additional_subscriptions[]" id ="<?php echo $books["name"] ?>" value="<?php echo $books["value"] ?>" title="<?php echo $books["name"] ?>"<?php if($books["subscribed"]): ?> checked="checked"<?php endif; ?> class="checkbox" />
 
 
19
  <label for="additional_subscription"><?php echo $books["name"] ?></label>
20
  </li>
21
  <?php endforeach; ?>
@@ -28,7 +30,9 @@
28
  <div class="field">
29
  <label for="<?php echo $dataField['name'] ?>"><?php echo $dataField['name'] ?></label>
30
  <div class="input-box">
31
- <input type="text" class="input-text" title="<?php echo $dataField['name'] ?>" value="<?php echo $dataField['value'] ?>" name="data_fields[<?php echo $dataField['name'] ?>]" id="<?php echo $dataField['name'] ?>" />
 
 
32
  <?php if($dataField['type'] == "Date"): ?>
33
  <?php echo $this->getChildHtml('html_calendar'); ?>
34
  <script type="text/javascript">
@@ -66,4 +70,4 @@
66
  }
67
  });
68
  </script>
69
- <?php endif; ?>
15
  <h4 style="margin-top: 10px;"><?php echo $this->__('Additional Newsletter Subscriptions') ?></h4>
16
  <?php foreach($additionalBooks as $books): ?>
17
  <li class="control">
18
+ <input type="checkbox" name="additional_subscriptions[]" id ="<?php echo $books["name"] ?>"
19
+ value="<?php echo $books["value"] ?>" title="<?php echo $books["name"] ?>"
20
+ <?php if($books["subscribed"]): ?> checked="checked"<?php endif; ?> class="checkbox" />
21
  <label for="additional_subscription"><?php echo $books["name"] ?></label>
22
  </li>
23
  <?php endforeach; ?>
30
  <div class="field">
31
  <label for="<?php echo $dataField['name'] ?>"><?php echo $dataField['name'] ?></label>
32
  <div class="input-box">
33
+ <input type="text" class="input-text" title="<?php echo $dataField['name'] ?>"
34
+ value="<?php echo $dataField['value'] ?>" name="data_fields[<?php echo $dataField['name'] ?>]"
35
+ id="<?php echo $dataField['name'] ?>" />
36
  <?php if($dataField['type'] == "Date"): ?>
37
  <?php echo $this->getChildHtml('html_calendar'); ?>
38
  <script type="text/javascript">
70
  }
71
  });
72
  </script>
73
+ <?php endif;
app/design/frontend/base/default/template/connector/basket.phtml CHANGED
@@ -1,8 +1,6 @@
1
  <?php
2
-
3
  $items = $this->getBasketItems();
4
  $helper = Mage::helper('core');
5
-
6
  ?>
7
  <?php if($items): ?>
8
  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
@@ -14,61 +12,61 @@ $helper = Mage::helper('core');
14
  </head>
15
  <body">
16
  <?php
17
- $name_style = explode(',', Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_NAME_STYLE));
18
- $price_style = explode(',', Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_PRICE_STYLE));
19
- $link_style = explode(',', Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_LINK_STYLE));
20
- $other_style = explode(',', Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_OTHER_STYLE));
21
  ?>
22
  <style>
23
  .product-name{
24
  color: <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_NAME_COLOR);?>;
25
  font-size: <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_NAME_FONT_SIZE);?>;
26
- <?php if(in_array('bold', $name_style)): ?>
27
  font-weight: bold;
28
  <?php endif; ?>
29
- <?php if(in_array('italic', $name_style)): ?>
30
  font-style: italic;
31
  <?php endif; ?>
32
- <?php if(in_array('underline', $name_style)): ?>
33
  text-decoration: underline;
34
  <?php endif; ?>
35
  }
36
  .product-price{
37
  color: <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_PRICE_COLOR);?>;
38
  font-size: <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_PRICE_FONT_SIZE);?>;
39
- <?php if(in_array('bold', $price_style)): ?>
40
  font-weight: bold;
41
  <?php endif; ?>
42
- <?php if(in_array('italic', $price_style)): ?>
43
  font-style: italic;
44
  <?php endif; ?>
45
- <?php if(in_array('underline', $price_style)): ?>
46
  text-decoration: underline;
47
  <?php endif; ?>
48
  }
49
  .proudct-url{
50
  color: <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_LINK_COLOR);?>;
51
  font-size: <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_LINK_FONT_SIZE);?>;
52
- <?php if(in_array('bold', $link_style)): ?>
53
  font-weight: bold;
54
  <?php endif; ?>
55
- <?php if(in_array('italic', $link_style)): ?>
56
  font-style: italic;
57
  <?php endif; ?>
58
- <?php if(in_array('underline', $link_style)): ?>
59
  text-decoration: underline;
60
  <?php endif; ?>
61
  }
62
  .other-text{
63
  color: <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_OTHER_COLOR);?>;
64
  font-size: <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_OTHER_FONT_SIZE);?>;
65
- <?php if(in_array('bold', $other_style)): ?>
66
  font-weight: bold;
67
  <?php endif; ?>
68
- <?php if(in_array('italic', $other_style)): ?>
69
  font-style: italic;
70
  <?php endif; ?>
71
- <?php if(in_array('underline', $other_style)): ?>
72
  text-decoration: underline;
73
  <?php endif; ?>
74
  }
@@ -129,9 +127,9 @@ $helper = Mage::helper('core');
129
  </style>
130
  <table style ='float:left; width:600px; border: 1px solid #cbd3d4; border-collapse: collapse; padding: 5px;' class="product-table">
131
  <tr>
132
- <th class="other-text" style="border-bottom: 1px solid #cbd3d4; border-right: 1px solid #cbd3d4;">Image</th>
133
- <th class="other-text" style="border-bottom: 1px solid #cbd3d4; border-right: 1px solid #cbd3d4;">Description</th>
134
- <th class="other-text" style="border-bottom: 1px solid #cbd3d4; border-right: 1px solid #cbd3d4;">Quantity</th>
135
  <th class="other-text" style="border-bottom: 1px solid #cbd3d4;">Total</th>
136
  </tr>
137
 
@@ -151,7 +149,8 @@ $helper = Mage::helper('core');
151
  <img alt="<?php echo $this->stripTags($this->getImageLabel($_product, 'small_image'), null, true) ?>"
152
  src="<?php echo $this->helper('catalog/image')->init($_product, 'small_image')->resize(85);?>" width="85" height="85" align="middle" border="0">
153
  </td>
154
- <td class="product-name" style="padding: 1px; border-bottom: 1px solid #cbd3d4; border-right: 1px solid #cbd3d4;">Product Name : <a class="proudct-url" href="<?php echo $productUrl;?>"><?php echo $_product->getName() . '</a></br>'. $inStock;?></td>
 
155
  <td class="product-price" style="padding: 1px; border-bottom: 1px solid #cbd3d4; border-right: 1px solid #cbd3d4;"><?php echo (int)$one->getQty();?></td>
156
  <td class="product-price" style="padding: 1px; border-bottom: 1px solid #cbd3d4;"><?php echo $total;?></td>
157
  </tr>
@@ -190,4 +189,4 @@ $helper = Mage::helper('core');
190
  </table>
191
  </body>
192
  </html>
193
- <?php endif; ?>
1
  <?php
 
2
  $items = $this->getBasketItems();
3
  $helper = Mage::helper('core');
 
4
  ?>
5
  <?php if($items): ?>
6
  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
12
  </head>
13
  <body">
14
  <?php
15
+ $nameStyle = explode(',', Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_NAME_STYLE));
16
+ $priceStyle = explode(',', Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_PRICE_STYLE));
17
+ $linkStyle = explode(',', Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_LINK_STYLE));
18
+ $otherStyle = explode(',', Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_OTHER_STYLE));
19
  ?>
20
  <style>
21
  .product-name{
22
  color: <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_NAME_COLOR);?>;
23
  font-size: <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_NAME_FONT_SIZE);?>;
24
+ <?php if(in_array('bold', $nameStyle)): ?>
25
  font-weight: bold;
26
  <?php endif; ?>
27
+ <?php if(in_array('italic', $nameStyle)): ?>
28
  font-style: italic;
29
  <?php endif; ?>
30
+ <?php if(in_array('underline', $nameStyle)): ?>
31
  text-decoration: underline;
32
  <?php endif; ?>
33
  }
34
  .product-price{
35
  color: <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_PRICE_COLOR);?>;
36
  font-size: <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_PRICE_FONT_SIZE);?>;
37
+ <?php if(in_array('bold', $priceStyle)): ?>
38
  font-weight: bold;
39
  <?php endif; ?>
40
+ <?php if(in_array('italic', $priceStyle)): ?>
41
  font-style: italic;
42
  <?php endif; ?>
43
+ <?php if(in_array('underline', $priceStyle)): ?>
44
  text-decoration: underline;
45
  <?php endif; ?>
46
  }
47
  .proudct-url{
48
  color: <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_LINK_COLOR);?>;
49
  font-size: <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_LINK_FONT_SIZE);?>;
50
+ <?php if(in_array('bold', $linkStyle)): ?>
51
  font-weight: bold;
52
  <?php endif; ?>
53
+ <?php if(in_array('italic', $linkStyle)): ?>
54
  font-style: italic;
55
  <?php endif; ?>
56
+ <?php if(in_array('underline', $linkStyle)): ?>
57
  text-decoration: underline;
58
  <?php endif; ?>
59
  }
60
  .other-text{
61
  color: <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_OTHER_COLOR);?>;
62
  font-size: <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_OTHER_FONT_SIZE);?>;
63
+ <?php if(in_array('bold', $otherStyle)): ?>
64
  font-weight: bold;
65
  <?php endif; ?>
66
+ <?php if(in_array('italic', $otherStyle)): ?>
67
  font-style: italic;
68
  <?php endif; ?>
69
+ <?php if(in_array('underline', $otherStyle)): ?>
70
  text-decoration: underline;
71
  <?php endif; ?>
72
  }
127
  </style>
128
  <table style ='float:left; width:600px; border: 1px solid #cbd3d4; border-collapse: collapse; padding: 5px;' class="product-table">
129
  <tr>
130
+ <th class="other-text" style="border-bottom: 1px solid #cbd3d4; border-right: 1px solid #cbd3d4;"><?php echo $this->__("Image");?></th>
131
+ <th class="other-text" style="border-bottom: 1px solid #cbd3d4; border-right: 1px solid #cbd3d4;"><?php echo $this->__("Description");?></th>
132
+ <th class="other-text" style="border-bottom: 1px solid #cbd3d4; border-right: 1px solid #cbd3d4;"><?php echo $this->__("Quantity");?></th>
133
  <th class="other-text" style="border-bottom: 1px solid #cbd3d4;">Total</th>
134
  </tr>
135
 
149
  <img alt="<?php echo $this->stripTags($this->getImageLabel($_product, 'small_image'), null, true) ?>"
150
  src="<?php echo $this->helper('catalog/image')->init($_product, 'small_image')->resize(85);?>" width="85" height="85" align="middle" border="0">
151
  </td>
152
+ <td class="product-name" style="padding: 1px; border-bottom: 1px solid #cbd3d4; border-right: 1px solid #cbd3d4;">
153
+ Product Name : <a class="proudct-url" href="<?php echo $productUrl;?>"><?php echo $_product->getName() . '</a></br>'. $inStock;?></td>
154
  <td class="product-price" style="padding: 1px; border-bottom: 1px solid #cbd3d4; border-right: 1px solid #cbd3d4;"><?php echo (int)$one->getQty();?></td>
155
  <td class="product-price" style="padding: 1px; border-bottom: 1px solid #cbd3d4;"><?php echo $total;?></td>
156
  </tr>
189
  </table>
190
  </body>
191
  </html>
192
+ <?php endif;
app/design/frontend/base/default/template/connector/coupon.phtml CHANGED
@@ -23,5 +23,5 @@
23
  <div class="edc-coupon">
24
  <?php echo $coupon; ?>
25
  </div>
26
- <?php endif; ?>
27
 
23
  <div class="edc-coupon">
24
  <?php echo $coupon; ?>
25
  </div>
26
+ <?php endif;
27
 
app/design/frontend/base/default/template/connector/creditmemo/items.phtml DELETED
@@ -1,140 +0,0 @@
1
- <?php $_order = $this->getOrder();
2
- $creditmemoItems = $this->getCreditmemoItems();
3
- ?>
4
- <table cellspacing="0" cellpadding="0" border="0" width="650">
5
- <thead>
6
- <tr>
7
- <th align="left" width="325" bgcolor="#EAEAEA" style="font-size:13px; padding:5px 9px 6px 9px; line-height:1em;">Item</th>
8
- <th align="left" width="325" bgcolor="#EAEAEA" style="font-size:13px; padding:5px 9px 6px 9px; line-height:1em;">SKU</th>
9
- <th align="left" width="325" bgcolor="#EAEAEA" style="font-size:13px; padding:5px 9px 6px 9px; line-height:1em;">Qty</th>
10
- <th align="left" width="325" bgcolor="#EAEAEA" style="font-size:13px; padding:5px 9px 6px 9px; line-height:1em;">Subtotal</th>
11
- </tr>
12
- </thead>
13
- <tbody>
14
-
15
-
16
- <?php $i=0; foreach ($creditmemoItems as $_item): $i++ ?>
17
- <?php
18
- if($_item->getParentItemId()) continue;?>
19
- <tr <?php echo $i%2?'bgcolor="#eeeded"':'' ?>>
20
- <td valign="top" style="font-size:12px; padding:7px 9px 9px 9px; border-left:1px solid #EAEAEA; border-bottom:1px solid #EAEAEA; border-right:1px solid #EAEAEA;" width="70%"><?php echo $_item->getName() ?></td>
21
- <td valign="top" style="font-size:12px; padding:7px 9px 9px 9px; border-left:1px solid #EAEAEA; border-bottom:1px solid #EAEAEA; border-right:1px solid #EAEAEA;"><?php echo $_item->getSku();?></td>
22
- <td valign="top" style="font-size:12px; padding:7px 9px 9px 9px; border-left:1px solid #EAEAEA; border-bottom:1px solid #EAEAEA; border-right:1px solid #EAEAEA;"><?php echo sprintf('%s', $_item->getQtyOrdered()) ?></td>
23
- <td valign="top" style="font-size:12px; padding:7px 9px 9px 9px; border-left:1px solid #EAEAEA; border-bottom:1px solid #EAEAEA; border-right:1px solid #EAEAEA;">
24
- <?php if ($this->helper('tax')->displayCartPriceExclTax() || $this->helper('tax')->displayCartBothPrices()): ?>
25
- <?php if ($this->helper('tax')->displayCartBothPrices()): ?>
26
- <span class="label"><?php echo $this->__('Excl. Tax'); ?>:</span>
27
- <?php endif; ?>
28
- <?php if (Mage::helper('weee')->typeOfDisplay($_item, array(0, 1, 4), 'email', $_order->getStore())): ?>
29
- <?php echo $_order->formatPrice($_item->getRowTotal()+$_item->getWeeeTaxAppliedRowAmount()+$_item->getWeeeTaxRowDisposition()); ?>
30
- <?php else: ?>
31
- <?php echo $_order->formatPrice($_item->getRowTotal()) ?>
32
- <?php endif; ?>
33
-
34
- <?php if (Mage::helper('weee')->getApplied($_item)): ?>
35
- <br />
36
- <?php if (Mage::helper('weee')->typeOfDisplay($_item, 1, 'email', $_order->getStore())): ?>
37
- <small>
38
- <?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
39
- <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $_order->formatPrice($tax['row_amount'],true,true); ?></span><br />
40
- <?php endforeach; ?>
41
- </small>
42
- <?php elseif (Mage::helper('weee')->typeOfDisplay($_item, 2, 'email', $_order->getStore())): ?>
43
- <?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
44
- <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $_order->formatPrice($tax['row_amount_incl_tax'],true,true); ?></small></span><br />
45
- <?php endforeach; ?>
46
- <?php elseif (Mage::helper('weee')->typeOfDisplay($_item, 4, 'email', $_order->getStore())): ?>
47
- <small>
48
- <?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
49
- <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $_order->formatPrice($tax['row_amount_incl_tax'],true,true); ?></span><br />
50
- <?php endforeach; ?>
51
- </small>
52
- <?php endif; ?>
53
-
54
- <?php if (Mage::helper('weee')->typeOfDisplay($_item, 2, 'email', $_order->getStore())): ?>
55
- <br />
56
- <span class="nobr"><?php echo Mage::helper('weee')->__('Total'); ?>:<br /> <?php echo $_order->formatPrice($_item->getCalculationPrice()+$_item->getWeeeTaxAppliedRowAmount()+$_item->getWeeeTaxRowDisposition()); ?></span>
57
- <?php endif; ?>
58
- <?php endif; ?>
59
- <?php endif; ?>
60
-
61
-
62
- <?php if ($this->helper('tax')->displayCartPriceInclTax() || $this->helper('tax')->displayCartBothPrices()): ?>
63
- <?php if ($this->helper('tax')->displayCartBothPrices()): ?>
64
- <br /><span class="label"><?php echo $this->__('Incl. Tax'); ?>:</span>
65
- <?php endif; ?>
66
- <?php $_incl = $this->helper('checkout')->getSubtotalInclTax($_item); ?>
67
- <?php if (Mage::helper('weee')->typeOfDisplay($_item, array(0, 1, 4), 'email', $_order->getStore())): ?>
68
- <?php echo $_order->formatPrice($_incl+$_item->getWeeeTaxAppliedRowAmount()); ?>
69
- <?php else: ?>
70
- <?php echo $_order->formatPrice($_incl-$_item->getWeeeTaxRowDisposition()) ?>
71
- <?php endif; ?>
72
- <?php if (Mage::helper('weee')->getApplied($_item)): ?>
73
- <br />
74
- <?php if (Mage::helper('weee')->typeOfDisplay($_item, 1, 'email', $_order->getStore())): ?>
75
- <small>
76
- <?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
77
- <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $_order->formatPrice($tax['row_amount'],true,true); ?></span><br />
78
- <?php endforeach; ?>
79
- </small>
80
- <?php elseif (Mage::helper('weee')->typeOfDisplay($_item, 2, 'email', $_order->getStore())): ?>
81
- <?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
82
- <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $_order->formatPrice($tax['row_amount_incl_tax'],true,true); ?></small></span><br />
83
- <?php endforeach; ?>
84
- <?php elseif (Mage::helper('weee')->typeOfDisplay($_item, 4, 'email', $_order->getStore())): ?>
85
- <small>
86
- <?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
87
- <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $_order->formatPrice($tax['row_amount_incl_tax'],true,true); ?></span><br />
88
- <?php endforeach; ?>
89
- </small>
90
- <?php endif; ?>
91
-
92
- <?php if (Mage::helper('weee')->typeOfDisplay($_item, 2, 'email', $_order->getStore())): ?>
93
- <span class="nobr"><?php echo Mage::helper('weee')->__('Total incl. tax'); ?>:<br /> <?php echo $_order->formatPrice($_incl+$_item->getWeeeTaxAppliedRowAmount()); ?></span>
94
- <?php endif; ?>
95
- <?php endif; ?>
96
- <?php endif; ?>
97
- </td>
98
- </tr>
99
- <?php endforeach ?>
100
-
101
- </tbody>
102
- <tfoot>
103
-
104
- <tr>
105
- <td></td>
106
- <td colspan="2" align="right" style="padding:3px 9px"><?php echo Mage::helper('sales')->__('Subtotal') ?></td>
107
- <td align="right" style="padding:3px 9px"><?php echo $_order->formatPrice($_order->getSubtotal()) ?></td>
108
- </tr>
109
- <?php
110
-
111
- if ($_order->getDiscountAmount() > 0): ?>
112
- <tr>
113
- <td></td>
114
- <td colspan="2" align="right" style="padding:3px 9px"><?php echo Mage::helper('sales')->__('Discount') ?></td>
115
- <td align="right" style="padding:3px 9px"><?php echo $_order->formatPrice($_order->getDiscountAmount()) ?></td>
116
- </tr>
117
- <?php endif; ?>
118
- <?php if ($_order->getShippingAmount() > 0): ?>
119
- <tr>
120
- <td></td>
121
- <td colspan="2" align="right" style="padding:3px 9px"><?php echo Mage::helper('sales')->__('Shipping Amount') ?></td>
122
- <td align="right" style="padding:3px 9px"><?php echo $_order->formatPrice($_order->getShippingAmount()) ?></td>
123
- </tr>
124
- <?php endif; ?>
125
- <?php if ($_order->getTaxAmount() > 0): ?>
126
- <tr>
127
- <td></td>
128
- <td colspan="2" align="right" style="padding:3px 9px"><?php echo Mage::helper('sales')->__('Tax Amount') ?></td>
129
- <td align="right" style="padding:3px 9px"><?php echo $_order->formatPrice($_order->getTaxAmount()) ?></td>
130
- </tr>
131
- <?php endif; ?>
132
- <tr>
133
- <td></td>
134
- <td colspan="2" align="right" style="padding:3px 9px"><strong><?php echo Mage::helper('sales')->__('Grand Total') ?></strong></td>
135
- <td align="right" style="padding:6px 9px"><strong><?php echo $_order->formatPrice($_order->getGrandTotal()) ?></strong></td>
136
- </tr>
137
- </tfoot>
138
- </table>
139
-
140
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/design/frontend/base/default/template/connector/creditmemo/new.phtml DELETED
@@ -1,80 +0,0 @@
1
- <?php $order = $this->getOrder(); ?>
2
- <?php if($order): ?>
3
- <?php
4
- $creditmemo = $order->getCreditmemosCollection()->getFirstItem();
5
- $paymentBlock = Mage::helper('payment')->getInfoBlock($order->getPayment());
6
- ?>
7
- <style>
8
- <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_STYLING);?>
9
- </style>
10
- <body style="font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px; margin:0; padding:0;">
11
- <div style="font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px; margin:0; padding:0;">
12
- <table cellspacing="0" cellpadding="0" border="0" width="100%">
13
- <tr>
14
- <td align="center" valign="top" style="padding:20px 0 20px 0">
15
- <!-- [ header starts here] -->
16
- <table bgcolor="#FFFFFF" cellspacing="0" cellpadding="10" border="0" width="650" style="border:1px solid #E0E0E0;">
17
- <!-- [ middle starts here] -->
18
- <tr>
19
- <td>
20
- <h2 style="font-size:18px; font-weight:normal; margin:0;">Your Credit Memo #<?php echo $creditmemo->getIncrementId();?> for Order #<?php echo $order->getIncrementId();?></h2>
21
- </td>
22
- </tr>
23
- <tr>
24
- <td>
25
- <table cellspacing="0" cellpadding="0" border="0" width="650">
26
- <thead>
27
- <tr>
28
- <th align="left" width="325" bgcolor="#EAEAEA" style="font-size:13px; padding:5px 9px 6px 9px; line-height:1em;">Billing Information:</th>
29
- <th width="10"></th>
30
- <th align="left" width="325" bgcolor="#EAEAEA" style="font-size:13px; padding:5px 9px 6px 9px; line-height:1em;">Payment Method:</th>
31
- </tr>
32
- </thead>
33
- <tbody>
34
- <tr>
35
- <td valign="top" style="font-size:12px; padding:7px 9px 9px 9px; border-left:1px solid #EAEAEA; border-bottom:1px solid #EAEAEA; border-right:1px solid #EAEAEA;">
36
- <?php echo $order->getBillingAddress()->format('html');?>
37
- </td>
38
- <td>&nbsp;</td>
39
- <td valign="top" style="font-size:12px; padding:7px 9px 9px 9px; border-left:1px solid #EAEAEA; border-bottom:1px solid #EAEAEA; border-right:1px solid #EAEAEA;">
40
- <?php echo $paymentBlock->toHtml();?>
41
- </td>
42
- </tr>
43
- </tbody>
44
- </table>
45
- <br/>
46
- <?php if($order->getIsNotVirtual()):?>
47
- <table cellspacing="0" cellpadding="0" border="0" width="650">
48
- <thead>
49
- <tr>
50
- <th align="left" width="325" bgcolor="#EAEAEA" style="font-size:13px; padding:5px 9px 6px 9px; line-height:1em;">Shipping Information:</th>
51
- <th width="10"></th>
52
- <th align="left" width="325" bgcolor="#EAEAEA" style="font-size:13px; padding:5px 9px 6px 9px; line-height:1em;">Shipping Method:</th>
53
- </tr>
54
- </thead>
55
- <tbody>
56
- <tr>
57
- <td valign="top" style="font-size:12px; padding:7px 9px 9px 9px; border-left:1px solid #EAEAEA; border-bottom:1px solid #EAEAEA; border-right:1px solid #EAEAEA;">
58
- <?php echo $order->getShippingAddress()->format('html');?>
59
- &nbsp;
60
- </td>
61
- <td>&nbsp;</td>
62
- <td valign="top" style="font-size:12px; padding:7px 9px 9px 9px; border-left:1px solid #EAEAEA; border-bottom:1px solid #EAEAEA; border-right:1px solid #EAEAEA;">
63
- <?php echo $this->escapeHtml($order->getShippingDescription());?>
64
- &nbsp;
65
- </td>
66
- </tr>
67
- </tbody>
68
- </table>
69
- <br/>
70
- <?php endif;?>
71
- <?php echo $this->getChildHtml('connector_creditmemo_items');?>
72
- </td>
73
- </tr>
74
- </table>
75
- </td>
76
- </tr>
77
- </table>
78
- </div>
79
- </body>
80
- <?php endif; ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/design/frontend/base/default/template/connector/creditmemo/newguest.phtml DELETED
@@ -1,81 +0,0 @@
1
- <?php $order = $this->getOrder(); ?>
2
- <?php if($order): ?>
3
- <?php
4
- $creditmemo = $order->getCreditmemosCollection()->getFirstItem();
5
- $billing = $order->getBillingAddress();
6
- $paymentBlock = Mage::helper('payment')->getInfoBlock($order->getPayment());
7
- ?>
8
- <style>
9
- <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_STYLING);?>
10
- </style>
11
- <body style=" font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px; margin:0; padding:0;">
12
- <div style=" font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px; margin:0; padding:0;">
13
- <table cellspacing="0" cellpadding="0" border="0" width="100%">
14
- <tr>
15
- <td align="center" valign="top" style="padding:20px 0 20px 0">
16
- <!-- [ header starts here] -->
17
- <table bgcolor="#FFFFFF" cellspacing="0" cellpadding="10" border="0" width="650" style="border:1px solid #E0E0E0;">
18
- <!-- [ middle starts here] -->
19
- <tr>
20
- <td>
21
- <h2 style="font-size:18px; font-weight:normal; margin:0;">Your Credit Memo #<?php echo $creditmemo->getIncrementId();?> for Order #<?php echo $order->getIncrementId();?></h2>
22
- </td>
23
- </tr>
24
- <tr>
25
- <td>
26
- <table cellspacing="0" cellpadding="0" border="0" width="650">
27
- <thead>
28
- <tr>
29
- <th align="left" width="325" bgcolor="#EAEAEA" style="font-size:13px; padding:5px 9px 6px 9px; line-height:1em;">Billing Information:</th>
30
- <th width="10"></th>
31
- <th align="left" width="325" bgcolor="#EAEAEA" style="font-size:13px; padding:5px 9px 6px 9px; line-height:1em;">Payment Method:</th>
32
- </tr>
33
- </thead>
34
- <tbody>
35
- <tr>
36
- <td valign="top" style="font-size:12px; padding:7px 9px 9px 9px; border-left:1px solid #EAEAEA; border-bottom:1px solid #EAEAEA; border-right:1px solid #EAEAEA;">
37
- <?php echo $order->getBillingAddress()->format('html');?>
38
- </td>
39
- <td>&nbsp;</td>
40
- <td valign="top" style="font-size:12px; padding:7px 9px 9px 9px; border-left:1px solid #EAEAEA; border-bottom:1px solid #EAEAEA; border-right:1px solid #EAEAEA;">
41
- <?php echo $paymentBlock->toHtml();?>
42
- </td>
43
- </tr>
44
- </tbody>
45
- </table>
46
- <br/>
47
- <?php if($order->getIsNotVirtual()):?>
48
- <table cellspacing="0" cellpadding="0" border="0" width="650">
49
- <thead>
50
- <tr>
51
- <th align="left" width="325" bgcolor="#EAEAEA" style="font-size:13px; padding:5px 9px 6px 9px; line-height:1em;">Shipping Information:</th>
52
- <th width="10"></th>
53
- <th align="left" width="325" bgcolor="#EAEAEA" style="font-size:13px; padding:5px 9px 6px 9px; line-height:1em;">Shipping Method:</th>
54
- </tr>
55
- </thead>
56
- <tbody>
57
- <tr>
58
- <td valign="top" style="font-size:12px; padding:7px 9px 9px 9px; border-left:1px solid #EAEAEA; border-bottom:1px solid #EAEAEA; border-right:1px solid #EAEAEA;">
59
- <?php echo $order->getShippingAddress()->format('html');?>
60
- &nbsp;
61
- </td>
62
- <td>&nbsp;</td>
63
- <td valign="top" style="font-size:12px; padding:7px 9px 9px 9px; border-left:1px solid #EAEAEA; border-bottom:1px solid #EAEAEA; border-right:1px solid #EAEAEA;">
64
- <?php echo $this->escapeHtml($order->getShippingDescription());?>
65
- &nbsp;
66
- </td>
67
- </tr>
68
- </tbody>
69
- </table>
70
- <br/>
71
- <?php endif;?>
72
- <?php echo $this->getChildHtml('connector_creditmemo_items');?>
73
- </td>
74
- </tr>
75
- </table>
76
- </td>
77
- </tr>
78
- </table>
79
- </div>
80
- </body>
81
- <?php endif; ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/design/frontend/base/default/template/connector/creditmemo/update.phtml DELETED
@@ -1,34 +0,0 @@
1
- <?php $order = $this->getOrder(); ?>
2
- <?php if($order): ?>
3
- <?php
4
- $creditmemo = $order->getCreditmemosCollection()->getFirstItem();
5
- $comment = $creditmemo->getCommentsCollection()->getFirstItem()->getComment();
6
- ?>
7
- <style>
8
- <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_STYLING);?>
9
- </style>
10
- <body style="font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px; margin:0; padding:0;">
11
- <div style="font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px; margin:0; padding:0;">
12
- <table cellspacing="0" cellpadding="0" border="0" height="100%" width="100%">
13
- <tr>
14
- <td align="center" valign="top" style="padding:20px 0 20px 0">
15
- <!-- [ header starts here] -->
16
- <table bgcolor="#FFFFFF" cellspacing="0" cellpadding="10" border="0" width="650" style="border:1px solid #E0E0E0;">
17
- <!-- [ middle starts here] -->
18
- <tr>
19
- <td valign="top">
20
- <p style="font-size:12px; line-height:16px; margin:0 0 10px 0;">
21
- Your order # <?php echo $order->getIncrementId();?> has been <br/>
22
- <strong><?php echo $order->getStatusLabel();?></strong>.
23
- </p>
24
- <p style="font-size:12px; line-height:16px; margin:0 0 10px 0;">You can check the status of your order by <a href="<?php echo $this->getBaseUrl();?>customer/account/" style="color:#1E7EC8;">logging into your account</a>.</p>
25
- <p style="font-size:12px; line-height:16px; margin:0 0 10px 0;"><?php echo $this->escapeHtml($comment);?></p>
26
- </td>
27
- </tr>
28
- </table>
29
- </td>
30
- </tr>
31
- </table>
32
- </div>
33
- </body>
34
- <?php endif; ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/design/frontend/base/default/template/connector/creditmemo/updateguest.phtml DELETED
@@ -1,34 +0,0 @@
1
- <?php $order = $this->getOrder(); ?>
2
- <?php if($order): ?>
3
- <?php
4
- $creditmemo = $order->getCreditmemosCollection()->getFirstItem();
5
- $billing = $order->getBillingAddress();
6
- $comment = $creditmemo->getCommentsCollection()->getFirstItem()->getComment();
7
- ?>
8
- <style>
9
- <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_STYLING);?>
10
- </style>
11
- <body style="font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px; margin:0; padding:0;">
12
- <div style="font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px; margin:0; padding:0;">
13
- <table cellspacing="0" cellpadding="0" border="0" height="100%" width="100%">
14
- <tr>
15
- <td align="center" valign="top" style="padding:20px 0 20px 0">
16
- <!-- [ header starts here] -->
17
- <table bgcolor="#FFFFFF" cellspacing="0" cellpadding="10" border="0" width="650" style="border:1px solid #E0E0E0;">
18
- <!-- [ middle starts here] -->
19
- <tr>
20
- <td valign="top">
21
- <p style="font-size:12px; line-height:16px; margin:0 0 10px 0;">
22
- Your order # <?php echo $order->getIncrementId();?> has been <br/>
23
- <strong><?php echo $order->getStatusLabel();?></strong>.
24
- </p>
25
- <p style="font-size:12px; line-height:16px; margin:0 0 10px 0;"><?php echo $this->escapeHtml($comment);?></p>
26
- </td>
27
- </tr>
28
- </table>
29
- </td>
30
- </tr>
31
- </table>
32
- </div>
33
- </body>
34
- <?php endif; ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/design/frontend/base/default/template/connector/email_capture.phtml CHANGED
@@ -1,5 +1,5 @@
1
 
2
- <?php $base_url = Mage::app()->getStore()->getBaseUrl(Mage_Core_Model_Store::URL_TYPE_LINK, true); ?>
3
 
4
  <script type="text/javascript">
5
  //Email Capture For Quote
@@ -23,7 +23,7 @@
23
  //validate email
24
  if(el.value && this.validateEmail(el.value)){
25
  //ajax call
26
- new Ajax.Request('<?php echo $base_url; ?>' + 'connector/ajax/emailcapture', {
27
  method: 'post',
28
  parameters:{
29
  email:el.value
@@ -60,7 +60,7 @@
60
  //validate email
61
  if(el.value && this.validateEmail(el.value)){
62
  //ajax call
63
- new Ajax.Request('<?php echo $base_url; ?>' + 'connector/ajax/emailcapture', {
64
  method: 'post',
65
  parameters:{
66
  email:el.value
1
 
2
+ <?php $baseUrl = Mage::app()->getStore()->getBaseUrl(Mage_Core_Model_Store::URL_TYPE_LINK, true); ?>
3
 
4
  <script type="text/javascript">
5
  //Email Capture For Quote
23
  //validate email
24
  if(el.value && this.validateEmail(el.value)){
25
  //ajax call
26
+ new Ajax.Request('<?php echo $baseUrl; ?>' + 'connector/ajax/emailcapture', {
27
  method: 'post',
28
  parameters:{
29
  email:el.value
60
  //validate email
61
  if(el.value && this.validateEmail(el.value)){
62
  //ajax call
63
+ new Ajax.Request('<?php echo $baseUrl; ?>' + 'connector/ajax/emailcapture', {
64
  method: 'post',
65
  parameters:{
66
  email:el.value
app/design/frontend/base/default/template/connector/email_capture_init.phtml CHANGED
@@ -18,4 +18,4 @@
18
  });
19
  //]]>
20
  </script>
21
- <?php endif; ?>
18
  });
19
  //]]>
20
  </script>
21
+ <?php endif;
app/design/frontend/base/default/template/connector/invoice/new.phtml DELETED
@@ -1,90 +0,0 @@
1
- <?php
2
- $order = $this->getOrder();
3
- ?>
4
- <?php if($order): ?>
5
- <?php
6
- $invoice = $order->getInvoiceCollection()->getLastItem();
7
- $paymentBlock = Mage::helper('payment')->getInfoBlock($order->getPayment());
8
- ?>
9
- <style>
10
- <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_STYLING);?>
11
- </style>
12
- <body style="font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px; margin:0; padding:0;">
13
- <div style="font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px; margin:0; padding:0;">
14
- <table cellspacing="0" cellpadding="0" border="0" height="100%" width="100%">
15
- <tr>
16
- <td align="center" valign="top" style="padding:20px 0 20px 0">
17
- <!-- [ header starts here] -->
18
- <table bgcolor="#FFFFFF" cellspacing="0" cellpadding="10" border="0" width="650" style="border:1px solid #E0E0E0;">
19
- <!-- [ middle starts here] -->
20
- <tr>
21
- <td valign="top">
22
- <p style="font-size:12px; line-height:16px; margin:0;">
23
- You can check the status of your order by <a href="<?php echo $this->getBaseUrl();?>customer/account/" style="color:#1E7EC8;">logging into your account</a>.
24
- </p>
25
- </td>
26
- </tr>
27
- <tr>
28
- <td>
29
- <h2 style="font-size:18px; font-weight:normal; margin:0;">Your Invoice #<?php echo $invoice->getIncrementId();?> for Order #<?php echo $order->getIncrementId();?></h2>
30
- </td>
31
- </tr>
32
- <tr>
33
- <td>
34
- <table cellspacing="0" cellpadding="0" border="0" width="650">
35
- <thead>
36
- <tr>
37
- <th align="left" width="325" bgcolor="#EAEAEA" style="font-size:13px; padding:5px 9px 6px 9px; line-height:1em;">Billing Information:</th>
38
- <th width="10"></th>
39
- <th align="left" width="325" bgcolor="#EAEAEA" style="font-size:13px; padding:5px 9px 6px 9px; line-height:1em;">Payment Method:</th>
40
- </tr>
41
- </thead>
42
- <tbody>
43
- <tr>
44
- <td valign="top" style="font-size:12px; padding:7px 9px 9px 9px; border-left:1px solid #EAEAEA; border-bottom:1px solid #EAEAEA; border-right:1px solid #EAEAEA;">
45
- <?php echo $order->getBillingAddress()->format('html');?>
46
- </td>
47
- <td>&nbsp;</td>
48
- <td valign="top" style="font-size:12px; padding:7px 9px 9px 9px; border-left:1px solid #EAEAEA; border-bottom:1px solid #EAEAEA; border-right:1px solid #EAEAEA;">
49
- <?php echo $paymentBlock->toHtml();?>
50
- </td>
51
- </tr>
52
- </tbody>
53
- </table>
54
- <br/>
55
- <?php if ($order->getIsNotVirtual()):?>
56
- <table cellspacing="0" cellpadding="0" border="0" width="100%">
57
- <thead>
58
- <tr>
59
- <th align="left" width="325" bgcolor="#EAEAEA" style="font-size:13px; padding:5px 9px 6px 9px; line-height:1em;">Shipping Information:</th>
60
- <th width="10"></th>
61
- <th align="left" width="325" bgcolor="#EAEAEA" style="font-size:13px; padding:5px 9px 6px 9px; line-height:1em;">Shipping Method:</th>
62
- </tr>
63
- </thead>
64
- <tbody>
65
- <tr>
66
- <td valign="top" style="font-size:12px; padding:7px 9px 9px 9px; border-left:1px solid #EAEAEA; border-bottom:1px solid #EAEAEA; border-right:1px solid #EAEAEA;">
67
- <?php echo $order->getShippingAddress()->format('html');?>
68
- &nbsp;
69
- </td>
70
- <td>&nbsp;</td>
71
- <td valign="top" style="font-size:12px; padding:7px 9px 9px 9px; border-left:1px solid #EAEAEA; border-bottom:1px solid #EAEAEA; border-right:1px solid #EAEAEA;">
72
- <?php echo $this->escapeHtml($order->getShippingDescription());?>&nbsp;
73
- </td>
74
- </tr>
75
- </tbody>
76
- </table>
77
- <br/>
78
- <?php endif;?>
79
- <?php echo $this->getChildHtml('connector_order_items');?>
80
- </td>
81
- </tr>
82
- <tr>
83
- </tr>
84
- </table>
85
- </td>
86
- </tr>
87
- </table>
88
- </div>
89
- </body>
90
- <?php endif; ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/design/frontend/base/default/template/connector/invoice/newguest.phtml DELETED
@@ -1,83 +0,0 @@
1
- <?php
2
- $order = $this->getOrder();
3
- ?>
4
- <?php if($order): ?>
5
- <?php
6
- $invoice = $order->getInvoiceCollection()->getLastItem();
7
- $billing = $order->getBillingAddress();
8
- $paymentBlock = Mage::helper('payment')->getInfoBlock($order->getPayment());
9
- ?>
10
- <style>
11
- <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_STYLING);?>
12
- </style>
13
- <body style="font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px; margin:0; padding:0;">
14
- <div style="font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px; margin:0; padding:0;">
15
- <table cellspacing="0" cellpadding="0" border="0" height="100%" width="100%">
16
- <tr>
17
- <td align="center" valign="top" style="padding:20px 0 20px 0">
18
- <!-- [ header starts here] -->
19
- <table bgcolor="#FFFFFF" cellspacing="0" cellpadding="10" border="0" width="650" style="border:1px solid #E0E0E0;">
20
- <!-- [ middle starts here] -->
21
- <tr>
22
- <td>
23
- <h2 style="font-size:18px; font-weight:normal; margin:0;">Your Invoice #<?php echo $invoice->getIncrementId();?> for Order #<?php echo $order->getIncrementId();?></h2>
24
- </td>
25
- </tr>
26
- <tr>
27
- <td>
28
- <table cellspacing="0" cellpadding="0" border="0" width="650">
29
- <thead>
30
- <tr>
31
- <th align="left" width="325" bgcolor="#EAEAEA" style="font-size:13px; padding:5px 9px 6px 9px; line-height:1em;">Billing Information:</th>
32
- <th width="10"></th>
33
- <th align="left" width="325" bgcolor="#EAEAEA" style="font-size:13px; padding:5px 9px 6px 9px; line-height:1em;">Payment Method:</th>
34
- </tr>
35
- </thead>
36
- <tbody>
37
- <tr>
38
- <td valign="top" style="font-size:12px; padding:7px 9px 9px 9px; border-left:1px solid #EAEAEA; border-bottom:1px solid #EAEAEA; border-right:1px solid #EAEAEA;">
39
- <?php echo $billing->format('html');?>
40
- </td>
41
- <td>&nbsp;</td>
42
- <td valign="top" style="font-size:12px; padding:7px 9px 9px 9px; border-left:1px solid #EAEAEA; border-bottom:1px solid #EAEAEA; border-right:1px solid #EAEAEA;">
43
- <?php echo $paymentBlock->toHtml();?>
44
- </td>
45
- </tr>
46
- </tbody>
47
- </table>
48
- <br/>
49
- <?php if($order->getIsNotVirtual()):?>
50
- <table cellspacing="0" cellpadding="0" border="0" width="650">
51
- <thead>
52
- <tr>
53
- <th align="left" width="650" bgcolor="#EAEAEA" style="font-size:13px; padding:5px 9px 6px 9px; line-height:1em;">Shipping Information:</th>
54
- <th width="10"></th>
55
- <th align="left" width="650" bgcolor="#EAEAEA" style="font-size:13px; padding:5px 9px 6px 9px; line-height:1em;">Shipping Method:</th>
56
- </tr>
57
- </thead>
58
- <tbody>
59
- <tr>
60
- <td valign="top" style="font-size:12px; padding:7px 9px 9px 9px; border-left:1px solid #EAEAEA; border-bottom:1px solid #EAEAEA; border-right:1px solid #EAEAEA;">
61
- <?php echo $order->getShippingAddress()->format('html');?>
62
- &nbsp;
63
- </td>
64
- <td>&nbsp;</td>
65
- <td valign="top" style="font-size:12px; padding:7px 9px 9px 9px; border-left:1px solid #EAEAEA; border-bottom:1px solid #EAEAEA; border-right:1px solid #EAEAEA;">
66
- <?php echo $this->escapeHtml($order->getShippingDescription());?>
67
- &nbsp;
68
- </td>
69
- </tr>
70
- </tbody>
71
- </table>
72
- <br/>
73
- <?php endif;?>
74
- <?php echo $this->getChildHtml('connector_order_items');?>
75
- </td>
76
- </tr>
77
- </table>
78
- </td>
79
- </tr>
80
- </table>
81
- </div>
82
- </body>
83
- <?php endif; ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/design/frontend/base/default/template/connector/invoice/update.phtml DELETED
@@ -1,36 +0,0 @@
1
- <?php $order = $this->getOrder(); ?>
2
- <?php if($order): ?>
3
- <?php
4
- $invoice = $order->getInvoiceCollection()->getLastItem();
5
- $comment = $invoice->getCommentsCollection()->getFirstItem()->getComment();
6
- $billing = $order->getBillingAddress();
7
- $paymentBlock = Mage::helper('payment')->getInfoBlock($order->getPayment());
8
- ?>
9
- <style>
10
- <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_STYLING);?>
11
- </style>
12
- <body style=" font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px; margin:0; padding:0;">
13
- <div style=" font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px; margin:0; padding:0;">
14
- <table cellspacing="0" cellpadding="0" border="0" height="100%" width="100%">
15
- <tr>
16
- <td align="center" valign="top" style="padding:20px 0 20px 0">
17
- <!-- [ header starts here] -->
18
- <table bgcolor="#FFFFFF" cellspacing="0" cellpadding="10" border="0" width="650" style="border:1px solid #E0E0E0;">
19
- <!-- [ middle starts here] -->
20
- <tr>
21
- <td valign="top">
22
- <p style="font-size:12px; line-height:16px; margin:0 0 10px 0;">
23
- Your order # <?php echo $order->getIncrementId();?> has been <br/>
24
- <strong><?php echo $order->getStatusLabel();?></strong>.
25
- </p>
26
- <p style="font-size:12px; line-height:16px; margin:0 0 10px 0;">You can check the status of your order by <a href="<?php echo $this->getBaseUrl();?>customer/account/"}}" style="color:#1E7EC8;">logging into your account</a>.</p>
27
- <p style="font-size:12px; line-height:16px; margin:0 0 10px 0;"><?php echo $this->escapeHtml($comment);?></p>
28
- </td>
29
- </tr>
30
- </table>
31
- </td>
32
- </tr>
33
- </table>
34
- </div>
35
- </body>
36
- <?php endif; ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/design/frontend/base/default/template/connector/invoice/updateguest.phtml DELETED
@@ -1,37 +0,0 @@
1
- <?php
2
- $order = $this->getOrder();
3
- ?>
4
- <?php if($order): ?>
5
- <?php
6
- $invoice = $order->getInvoiceCollection()->getLastItem();
7
- $comment = $invoice->getCommentsCollection()->getFirstItem()->getComment();
8
- $billing = $order->getBillingAddress();
9
- $paymentBlock = Mage::helper('payment')->getInfoBlock($order->getPayment());
10
- ?>
11
- <style>
12
- <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_STYLING);?>
13
- </style>
14
- <body style=" font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px; margin:0; padding:0;">
15
- <div style=" font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px; margin:0; padding:0;">
16
- <table cellspacing="0" cellpadding="0" border="0" height="100%" width="100%">
17
- <tr>
18
- <td align="center" valign="top" style="padding:20px 0 20px 0">
19
- <!-- [ header starts here] -->
20
- <table bgcolor="#FFFFFF" cellspacing="0" cellpadding="10" border="0" width="650" style="border:1px solid #E0E0E0;">
21
- <!-- [ middle starts here] -->
22
- <tr>
23
- <td valign="top">
24
- <p style="font-size:12px; line-height:16px; margin:0 0 10px 0;">
25
- Your order # <?php echo $order->getIncrementId();?> has been <br/>
26
- <strong><?php echo $order->getStatusLabel();?></strong>.
27
- </p>
28
- <p style="font-size:12px; line-height:16px; margin:0 0 10px 0;"><?php echo $this->escapeHtml($comment);?></p>
29
- </td>
30
- </tr>
31
- </table>
32
- </td>
33
- </tr>
34
- </table>
35
- </div>
36
- </body>
37
- <?php endif; ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/design/frontend/base/default/template/connector/order/items.phtml DELETED
@@ -1,138 +0,0 @@
1
- <?php $_order = $this->getOrder() ?>
2
- <table cellspacing="0" cellpadding="0" border="0" width="650">
3
- <thead>
4
- <tr>
5
- <th align="left" width="325" bgcolor="#EAEAEA" style="font-size:13px; padding:5px 9px 6px 9px; line-height:1em;">Item</th>
6
- <th align="left" width="325" bgcolor="#EAEAEA" style="font-size:13px; padding:5px 9px 6px 9px; line-height:1em;">SKU</th>
7
- <th align="left" width="325" bgcolor="#EAEAEA" style="font-size:13px; padding:5px 9px 6px 9px; line-height:1em;">Qty</th>
8
- <th align="left" width="325" bgcolor="#EAEAEA" style="font-size:13px; padding:5px 9px 6px 9px; line-height:1em;">Subtotal</th>
9
- </tr>
10
- </thead>
11
- <tbody>
12
-
13
-
14
- <?php $i=0; foreach ($_order->getAllItems() as $_item): $i++ ?>
15
- <?php
16
- if($_item->getParentItemId()) continue;?>
17
- <tr <?php echo $i%2?'bgcolor="#eeeded"':'' ?>>
18
- <td valign="top" style="font-size:12px; padding:7px 9px 9px 9px; border-left:1px solid #EAEAEA; border-bottom:1px solid #EAEAEA; border-right:1px solid #EAEAEA;" width="70%"><?php echo $_item->getName() ?></td>
19
- <td valign="top" style="font-size:12px; padding:7px 9px 9px 9px; border-left:1px solid #EAEAEA; border-bottom:1px solid #EAEAEA; border-right:1px solid #EAEAEA;"><?php echo $_item->getSku();?></td>
20
- <td valign="top" style="font-size:12px; padding:7px 9px 9px 9px; border-left:1px solid #EAEAEA; border-bottom:1px solid #EAEAEA; border-right:1px solid #EAEAEA;"><?php echo sprintf('%s', $_item->getQtyOrdered()) ?></td>
21
- <td valign="top" style="font-size:12px; padding:7px 9px 9px 9px; border-left:1px solid #EAEAEA; border-bottom:1px solid #EAEAEA; border-right:1px solid #EAEAEA;">
22
- <?php if ($this->helper('tax')->displayCartPriceExclTax() || $this->helper('tax')->displayCartBothPrices()): ?>
23
- <?php if ($this->helper('tax')->displayCartBothPrices()): ?>
24
- <span class="label"><?php echo $this->__('Excl. Tax'); ?>:</span>
25
- <?php endif; ?>
26
- <?php if (Mage::helper('weee')->typeOfDisplay($_item, array(0, 1, 4), 'email', $_order->getStore())): ?>
27
- <?php echo $_order->formatPrice($_item->getRowTotal()+$_item->getWeeeTaxAppliedRowAmount()+$_item->getWeeeTaxRowDisposition()); ?>
28
- <?php else: ?>
29
- <?php echo $_order->formatPrice($_item->getRowTotal()) ?>
30
- <?php endif; ?>
31
-
32
- <?php if (Mage::helper('weee')->getApplied($_item)): ?>
33
- <br />
34
- <?php if (Mage::helper('weee')->typeOfDisplay($_item, 1, 'email', $_order->getStore())): ?>
35
- <small>
36
- <?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
37
- <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $_order->formatPrice($tax['row_amount'],true,true); ?></span><br />
38
- <?php endforeach; ?>
39
- </small>
40
- <?php elseif (Mage::helper('weee')->typeOfDisplay($_item, 2, 'email', $_order->getStore())): ?>
41
- <?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
42
- <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $_order->formatPrice($tax['row_amount_incl_tax'],true,true); ?></small></span><br />
43
- <?php endforeach; ?>
44
- <?php elseif (Mage::helper('weee')->typeOfDisplay($_item, 4, 'email', $_order->getStore())): ?>
45
- <small>
46
- <?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
47
- <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $_order->formatPrice($tax['row_amount_incl_tax'],true,true); ?></span><br />
48
- <?php endforeach; ?>
49
- </small>
50
- <?php endif; ?>
51
-
52
- <?php if (Mage::helper('weee')->typeOfDisplay($_item, 2, 'email', $_order->getStore())): ?>
53
- <br />
54
- <span class="nobr"><?php echo Mage::helper('weee')->__('Total'); ?>:<br /> <?php echo $_order->formatPrice($_item->getCalculationPrice()+$_item->getWeeeTaxAppliedRowAmount()+$_item->getWeeeTaxRowDisposition()); ?></span>
55
- <?php endif; ?>
56
- <?php endif; ?>
57
- <?php endif; ?>
58
-
59
-
60
- <?php if ($this->helper('tax')->displayCartPriceInclTax() || $this->helper('tax')->displayCartBothPrices()): ?>
61
- <?php if ($this->helper('tax')->displayCartBothPrices()): ?>
62
- <br /><span class="label"><?php echo $this->__('Incl. Tax'); ?>:</span>
63
- <?php endif; ?>
64
- <?php $_incl = $this->helper('checkout')->getSubtotalInclTax($_item); ?>
65
- <?php if (Mage::helper('weee')->typeOfDisplay($_item, array(0, 1, 4), 'email', $_order->getStore())): ?>
66
- <?php echo $_order->formatPrice($_incl+$_item->getWeeeTaxAppliedRowAmount()); ?>
67
- <?php else: ?>
68
- <?php echo $_order->formatPrice($_incl-$_item->getWeeeTaxRowDisposition()) ?>
69
- <?php endif; ?>
70
- <?php if (Mage::helper('weee')->getApplied($_item)): ?>
71
- <br />
72
- <?php if (Mage::helper('weee')->typeOfDisplay($_item, 1, 'email', $_order->getStore())): ?>
73
- <small>
74
- <?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
75
- <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $_order->formatPrice($tax['row_amount'],true,true); ?></span><br />
76
- <?php endforeach; ?>
77
- </small>
78
- <?php elseif (Mage::helper('weee')->typeOfDisplay($_item, 2, 'email', $_order->getStore())): ?>
79
- <?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
80
- <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $_order->formatPrice($tax['row_amount_incl_tax'],true,true); ?></small></span><br />
81
- <?php endforeach; ?>
82
- <?php elseif (Mage::helper('weee')->typeOfDisplay($_item, 4, 'email', $_order->getStore())): ?>
83
- <small>
84
- <?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
85
- <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $_order->formatPrice($tax['row_amount_incl_tax'],true,true); ?></span><br />
86
- <?php endforeach; ?>
87
- </small>
88
- <?php endif; ?>
89
-
90
- <?php if (Mage::helper('weee')->typeOfDisplay($_item, 2, 'email', $_order->getStore())): ?>
91
- <span class="nobr"><?php echo Mage::helper('weee')->__('Total incl. tax'); ?>:<br /> <?php echo $_order->formatPrice($_incl+$_item->getWeeeTaxAppliedRowAmount()); ?></span>
92
- <?php endif; ?>
93
- <?php endif; ?>
94
- <?php endif; ?>
95
- </td>
96
- </tr>
97
- <?php endforeach ?>
98
-
99
- </tbody>
100
- <tfoot>
101
-
102
- <tr>
103
- <td></td>
104
- <td colspan="2" align="right" style="padding:3px 9px"><?php echo Mage::helper('sales')->__('Subtotal') ?></td>
105
- <td align="right" style="padding:3px 9px"><?php echo $_order->formatPrice($_order->getSubtotal()) ?></td>
106
- </tr>
107
- <?php
108
-
109
- if ($_order->getDiscountAmount() > 0): ?>
110
- <tr>
111
- <td></td>
112
- <td colspan="2" align="right" style="padding:3px 9px"><?php echo Mage::helper('sales')->__('Discount') ?></td>
113
- <td align="right" style="padding:3px 9px"><?php echo $_order->formatPrice($_order->getDiscountAmount()) ?></td>
114
- </tr>
115
- <?php endif; ?>
116
- <?php if ($_order->getShippingAmount() > 0): ?>
117
- <tr>
118
- <td></td>
119
- <td colspan="2" align="right" style="padding:3px 9px"><?php echo Mage::helper('sales')->__('Shipping Amount') ?></td>
120
- <td align="right" style="padding:3px 9px"><?php echo $_order->formatPrice($_order->getShippingAmount()) ?></td>
121
- </tr>
122
- <?php endif; ?>
123
- <?php if ($_order->getTaxAmount() > 0): ?>
124
- <tr>
125
- <td></td>
126
- <td colspan="2" align="right" style="padding:3px 9px"><?php echo Mage::helper('sales')->__('Tax Amount') ?></td>
127
- <td align="right" style="padding:3px 9px"><?php echo $_order->formatPrice($_order->getTaxAmount()) ?></td>
128
- </tr>
129
- <?php endif; ?>
130
- <tr>
131
- <td></td>
132
- <td colspan="2" align="right" style="padding:3px 9px"><strong><?php echo Mage::helper('sales')->__('Grand Total') ?></strong></td>
133
- <td align="right" style="padding:6px 9px"><strong><?php echo $_order->formatPrice($_order->getGrandTotal()) ?></strong></td>
134
- </tr>
135
- </tfoot>
136
- </table>
137
-
138
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/design/frontend/base/default/template/connector/order/new.phtml DELETED
@@ -1,82 +0,0 @@
1
- <?php
2
- $order = $this->getOrder();
3
- ?>
4
- <?php if($order): ?>
5
- <?php
6
- $storeId = Mage::app()->getStore()->getId();
7
- $paymentBlock = Mage::helper('payment')->getInfoBlock($order->getPayment());
8
- $paymentBlock->getMethod()->setStore($storeId);
9
- ?>
10
- <style>
11
- <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_STYLING);?>
12
- </style>
13
- <body style="font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px; margin:0; padding:0;">
14
- <div style="font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px; margin:0; padding:0;">
15
- <table cellspacing="0" cellpadding="0" border="0" width="100%">
16
- <tr>
17
- <td align="center" valign="top" style="padding:20px 0 20px 0">
18
- <table bgcolor="#FFFFFF" cellspacing="0" cellpadding="10" border="0" width="650" style="border:1px solid #E0E0E0;">
19
- <tr>
20
- <td>
21
- <h2 style="font-size:18px; font-weight:normal; margin:0;">Your Order #<?php echo $order->getIncrementId();?> <small>(placed on <?php echo $order->getCreatedAtFormated('long');?>)</small></h2>
22
- </td>
23
- </tr>
24
- <tr>
25
- <td>
26
- <table cellspacing="0" cellpadding="0" border="0" width="650">
27
- <thead>
28
- <tr>
29
- <th align="left" width="325" bgcolor="#EAEAEA" style="font-size:13px; padding:5px 9px 6px 9px; line-height:1em;">Billing Information:</th>
30
- <th width="10"></th>
31
- <th align="left" width="325" bgcolor="#EAEAEA" style="font-size:13px; padding:5px 9px 6px 9px; line-height:1em;">Payment Method:</th>
32
- </tr>
33
- </thead>
34
- <tbody>
35
- <tr>
36
- <td valign="top" style="font-size:12px; padding:7px 9px 9px 9px; border-left:1px solid #EAEAEA; border-bottom:1px solid #EAEAEA; border-right:1px solid #EAEAEA;">
37
- <?php echo $order->getBillingAddress()->format('html');?>
38
- </td>
39
- <td>&nbsp;</td>
40
- <td valign="top" style="font-size:12px; padding:7px 9px 9px 9px; border-left:1px solid #EAEAEA; border-bottom:1px solid #EAEAEA; border-right:1px solid #EAEAEA;">
41
- <?php echo $paymentBlock->toHtml();?>
42
- </td>
43
- </tr>
44
- </tbody>
45
- </table>
46
- <br/>
47
- <?php if($order->getIsNotVirtual()):?>
48
- <table cellspacing="0" cellpadding="0" border="0" width="650">
49
- <thead>
50
- <tr>
51
- <th align="left" width="325" bgcolor="#EAEAEA" style="font-size:13px; padding:5px 9px 6px 9px; line-height:1em;">Shipping Information:</th>
52
- <th width="10"></th>
53
- <th align="left" width="325" bgcolor="#EAEAEA" style="font-size:13px; padding:5px 9px 6px 9px; line-height:1em;">Shipping Method:</th>
54
- </tr>
55
- </thead>
56
- <tbody>
57
- <tr>
58
- <td valign="top" style="font-size:12px; padding:7px 9px 9px 9px; border-left:1px solid #EAEAEA; border-bottom:1px solid #EAEAEA; border-right:1px solid #EAEAEA;">
59
- <?php echo $order->getShippingAddress()->format('html');?>
60
- &nbsp;
61
- </td>
62
- <td>&nbsp;</td>
63
- <td valign="top" style="font-size:12px; padding:7px 9px 9px 9px; border-left:1px solid #EAEAEA; border-bottom:1px solid #EAEAEA; border-right:1px solid #EAEAEA;">
64
- <?php echo $this->escapeHtml($order->getShippingDescription());?>
65
- &nbsp;
66
- </td>
67
- </tr>
68
- </tbody>
69
- </table>
70
- <br/>
71
- <?php endif;?>
72
- <?php echo $this->getChildHtml('connector_order_items');?>
73
- <p style="font-size:12px; margin:0 0 10px 0"><?php echo $order->getEmailCustomerNote();?></p>
74
- </td>
75
- </tr>
76
- </table>
77
- </td>
78
- </tr>
79
- </table>
80
- </div>
81
- </body>
82
- <?php endif; ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/design/frontend/base/default/template/connector/order/newguest.phtml DELETED
@@ -1,84 +0,0 @@
1
- <?php
2
- $order = $this->getOrder();
3
- ?>
4
- <?php if($order): ?>
5
- <?php
6
- $storeId = Mage::app()->getStore()->getId();
7
- $paymentBlock = Mage::helper('payment')->getInfoBlock($order->getPayment());
8
- $paymentBlock->getMethod()->setStore($storeId);
9
- ?>
10
- <style>
11
- <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_STYLING);?>
12
- </style>
13
- <body style="font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px; margin:0; padding:0;">
14
- <div style="font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px; margin:0; padding:0;">
15
- <table cellspacing="0" cellpadding="0" border="0" width="100%">
16
- <tr>
17
- <td align="center" valign="top" style="padding:20px 0 20px 0">
18
- <!-- [ header starts here] -->
19
- <table bgcolor="#FFFFFF" cellspacing="0" cellpadding="10" border="0" width="650" style="border:1px solid #E0E0E0;">
20
- <!-- [ middle starts here] -->
21
- <tr>
22
- <td>
23
- <h2 style="font-size:18px; font-weight:normal; margin:0;">Your Order #<?php echo $order->getIncrementId();?> <small>(placed on <?php echo $order->getCreatedAtFormated('long');?>)</small></h2>
24
- </td>
25
- </tr>
26
- <tr>
27
- <td>
28
- <table cellspacing="0" cellpadding="0" border="0" width="650">
29
- <thead>
30
- <tr>
31
- <th align="left" width="325" bgcolor="#EAEAEA" style="font-size:13px; padding:5px 9px 6px 9px; line-height:1em;">Billing Information:</th>
32
- <th width="10"></th>
33
- <th align="left" width="325" bgcolor="#EAEAEA" style="font-size:13px; padding:5px 9px 6px 9px; line-height:1em;">Payment Method:</th>
34
- </tr>
35
- </thead>
36
- <tbody>
37
- <tr>
38
- <td valign="top" style="font-size:12px; padding:7px 9px 9px 9px; border-left:1px solid #EAEAEA; border-bottom:1px solid #EAEAEA; border-right:1px solid #EAEAEA;">
39
- <?php echo $order->getBillingAddress()->format('html');?>
40
- </td>
41
- <td>&nbsp;</td>
42
- <td valign="top" style="font-size:12px; padding:7px 9px 9px 9px; border-left:1px solid #EAEAEA; border-bottom:1px solid #EAEAEA; border-right:1px solid #EAEAEA;">
43
- <?php echo $paymentBlock->toHtml();?>
44
- </td>
45
- </tr>
46
- </tbody>
47
- </table>
48
- <br/>
49
- <?php if($order->getIsNotVirtual()):?>
50
- <table cellspacing="0" cellpadding="0" border="0" width="100%">
51
- <thead>
52
- <tr>
53
- <th align="left" width="325" bgcolor="#EAEAEA" style="font-size:13px; padding:5px 9px 6px 9px; line-height:1em;">Shipping Information:</th>
54
- <th width="10"></th>
55
- <th align="left" width="325" bgcolor="#EAEAEA" style="font-size:13px; padding:5px 9px 6px 9px; line-height:1em;">Shipping Method:</th>
56
- </tr>
57
- </thead>
58
- <tbody>
59
- <tr>
60
- <td valign="top" style="font-size:12px; padding:7px 9px 9px 9px; border-left:1px solid #EAEAEA; border-bottom:1px solid #EAEAEA; border-right:1px solid #EAEAEA;">
61
- <?php echo $order->getShippingAddress()->format('html');?>
62
- &nbsp;
63
- </td>
64
- <td>&nbsp;</td>
65
- <td valign="top" style="font-size:12px; padding:7px 9px 9px 9px; border-left:1px solid #EAEAEA; border-bottom:1px solid #EAEAEA; border-right:1px solid #EAEAEA;">
66
- <?php echo $this->escapeHtml($order->getShippingDescription());?>
67
- &nbsp;
68
- </td>
69
- </tr>
70
- </tbody>
71
- </table>
72
- <br/>
73
- <?php endif;?>
74
- <?php echo $this->getChildHtml('connector_order_items');?>
75
- <p style="font-size:12px; margin:0 10px 10px 0"><?php echo $order->getEmailCustomerNote();?></p>
76
- </td>
77
- </tr>
78
- </table>
79
- </td>
80
- </tr>
81
- </table>
82
- </div>
83
- </body>
84
- <?php endif; ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/design/frontend/base/default/template/connector/order/update.phtml DELETED
@@ -1,36 +0,0 @@
1
- <?php
2
- $order = $this->getOrder();
3
- ?>
4
- <?php if($order): ?>
5
- <?php
6
- $allstatues = $order->getAllStatusHistory();
7
- $comment = (isset($allstatues[0]))? $allstatues[0]->getComment() : '';
8
- ?>
9
- <style>
10
- <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_STYLING);?>
11
- </style>
12
- <body style="font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px; margin:0; padding:0;">
13
- <div style="font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px; margin:0; padding:0;">
14
- <table cellspacing="0" cellpadding="0" border="0" height="100%" width="100%">
15
- <tr>
16
- <td align="center" valign="top" style="padding:20px 0 20px 0">
17
- <!-- [ header starts here] -->
18
- <table bgcolor="#FFFFFF" cellspacing="0" cellpadding="10" border="0" width="650" style="border:1px solid #E0E0E0;">
19
- <!-- [ middle starts here] -->
20
- <tr>
21
- <td valign="top">
22
- <p style="font-size:12px; line-height:16px; margin:0 0 10px 0;">
23
- Your order # <?php echo $order->getIncrementId();?> has been <br/>
24
- <strong><?php echo $order->getStatusLabel();?></strong>.
25
- </p>
26
- <p style="font-size:12px; line-height:16px; margin:0 0 10px 0;">You can check the status of your order by <a href="<?php echo $this->getBaseUrl();?>customer/account/" style="color:#1E7EC8;">logging into your account</a>.</p>
27
- <p style="font-size:12px; line-height:16px; margin:0 0 10px 0;"><?php echo $this->escapeHtml($comment);?></p>
28
- </td>
29
- </tr>
30
- </table>
31
- </td>
32
- </tr>
33
- </table>
34
- </div>
35
- </body>
36
- <?php endif; ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/design/frontend/base/default/template/connector/order/updateguest.phtml DELETED
@@ -1,37 +0,0 @@
1
- <?php
2
- $order = $this->getOrder();
3
- ?>
4
- <?php if($order): ?>
5
- <?php
6
- $allstatues = $order->getAllStatusHistory();
7
- $billing = $order->getBillingAddress();
8
- $billingName = ($billing)? $billing->getName() : '';
9
- $comment = (isset($allstatues[0]))? $allstatues[0]->getComment() : '';
10
- ?>
11
- <style>
12
- <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_STYLING);?>
13
- </style>
14
- <body style="font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px; margin:0; padding:0;">
15
- <div style="font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px; margin:0; padding:0;">
16
- <table cellspacing="0" cellpadding="0" border="0" height="100%" width="100%">
17
- <tr>
18
- <td align="center" valign="top" style="padding:20px 0 20px 0">
19
- <!-- [ header starts here] -->
20
- <table bgcolor="#FFFFFF" cellspacing="0" cellpadding="10" border="0" width="650" style="border:1px solid #E0E0E0;">
21
- <!-- [ middle starts here] -->
22
- <tr>
23
- <td valign="top">
24
- <p style="font-size:12px; line-height:16px; margin:0 0 10px 0;">
25
- Your order # <?php echo $order->getIncrementId();?> has been <br/>
26
- <strong><?php echo $order->getStatusLabel();?></strong>.
27
- </p>
28
- <p style="font-size:12px; line-height:16px; margin:0 0 10px 0;"><?php echo $this->escapeHtml($comment);?></p>
29
- </td>
30
- </tr>
31
- </table>
32
- </td>
33
- </tr>
34
- </table>
35
- </div>
36
- </body>
37
- <?php endif; ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/design/frontend/base/default/template/connector/product/list.phtml CHANGED
@@ -2,17 +2,18 @@
2
  $i = 0;
3
  $mode = $this->getMode();
4
  $products = $this->getLoadedProductCollection();
5
- foreach ($products as $key => $_product) :?>
6
- <?php if($i == 0):?>
7
- <?php
 
8
  $name_style = explode(',', Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_NAME_STYLE));
9
  $price_style = explode(',', Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_PRICE_STYLE));
10
  $link_style = explode(',', Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_LINK_STYLE));
11
- ?>
12
- <style>
13
- .product-name{
14
- color: <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_NAME_COLOR);?>;
15
- font-size: <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_NAME_FONT_SIZE);?>;
16
  <?php if(in_array('bold', $name_style)): ?>
17
  font-weight: bold;
18
  <?php endif; ?>
@@ -22,10 +23,10 @@ foreach ($products as $key => $_product) :?>
22
  <?php if(in_array('underline', $name_style)): ?>
23
  text-decoration: underline;
24
  <?php endif; ?>
25
- }
26
- .product-price{
27
- color: <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_PRICE_COLOR);?>;
28
- font-size: <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_PRICE_FONT_SIZE);?>;
29
  <?php if(in_array('bold', $price_style)): ?>
30
  font-weight: bold;
31
  <?php endif; ?>
@@ -35,10 +36,10 @@ foreach ($products as $key => $_product) :?>
35
  <?php if(in_array('underline', $price_style)): ?>
36
  text-decoration: underline;
37
  <?php endif; ?>
38
- }
39
- .proudct-url{
40
- color: <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_LINK_COLOR);?>;
41
- font-size: <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_LINK_FONT_SIZE);?>;
42
  <?php if(in_array('bold', $link_style)): ?>
43
  font-weight: bold;
44
  <?php endif; ?>
@@ -48,38 +49,41 @@ foreach ($products as $key => $_product) :?>
48
  <?php if(in_array('underline', $link_style)): ?>
49
  text-decoration: underline;
50
  <?php endif; ?>
51
- }
52
- .product-table{
53
- font-family: <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_DOC_FONT);?>;
54
- background-color: <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_DOC_BG_COLOR);?>;
55
- width: 100%;
56
- }
57
- .product-table img{
58
- display: block;
59
- margin-left: auto;
60
- margin-right: auto
61
- }
62
- .product-table td{
63
- width: 25%;
64
- padding-bottom: 10px;
65
- }
66
- /** Styling from config field **/
67
- <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_STYLING);?>
68
- /** Responsive **/
69
- @media (max-width: 760px) {
70
- /* Force table to not be like tables anymore */
71
- table, thead, tbody, th, td, tr {
72
  display: block;
 
 
73
  }
74
  .product-table td{
75
- width: 172px !important;
 
76
  }
77
- .product-table {
78
- width: auto !important;
 
 
 
 
 
 
 
 
 
 
 
 
79
  }
80
- }
81
- </style>
82
 
 
 
83
  <table class="product-table" border="0" width="147" cellpadding="0" cellspacing="0" style='border-collapse: collapse; font-size:12;'><tr>
84
  <?php endif;?>
85
  <?php if($mode == 'list'):?>
@@ -87,7 +91,10 @@ foreach ($products as $key => $_product) :?>
87
  <?php endif;?>
88
 
89
  <td style="vertical-align: text-top; padding-right: 2px;">
90
- <a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->stripTags($this->getImageLabel($_product, 'small_image'), null, true) ?>" class="product-image"><img src="<?php echo $this->helper('catalog/image')->init($_product, 'small_image')->resize(135); ?>" width="140" height="135" alt="<?php echo $this->stripTags($this->getImageLabel($_product, 'small_image'), null, true) ?>" align="middle" /></a>
 
 
 
91
  <div class="product-name" align="center"><b><?php echo $this->escapeHtml(substr($_product->getName(), 0, 40));?></b></div>
92
  <div class="product-price" align="center"><?php echo $this->getPriceHtml($_product, true) ?></div>
93
  <div align="center">
2
  $i = 0;
3
  $mode = $this->getMode();
4
  $products = $this->getLoadedProductCollection();
5
+ ?>
6
+
7
+ <?php if(!empty($products)): ?>
8
+ <?php
9
  $name_style = explode(',', Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_NAME_STYLE));
10
  $price_style = explode(',', Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_PRICE_STYLE));
11
  $link_style = explode(',', Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_LINK_STYLE));
12
+ ?>
13
+ <style>
14
+ .product-name{
15
+ color: <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_NAME_COLOR);?>;
16
+ font-size: <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_NAME_FONT_SIZE);?>;
17
  <?php if(in_array('bold', $name_style)): ?>
18
  font-weight: bold;
19
  <?php endif; ?>
23
  <?php if(in_array('underline', $name_style)): ?>
24
  text-decoration: underline;
25
  <?php endif; ?>
26
+ }
27
+ .product-price{
28
+ color: <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_PRICE_COLOR);?>;
29
+ font-size: <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_PRICE_FONT_SIZE);?>;
30
  <?php if(in_array('bold', $price_style)): ?>
31
  font-weight: bold;
32
  <?php endif; ?>
36
  <?php if(in_array('underline', $price_style)): ?>
37
  text-decoration: underline;
38
  <?php endif; ?>
39
+ }
40
+ .proudct-url{
41
+ color: <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_LINK_COLOR);?>;
42
+ font-size: <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_LINK_FONT_SIZE);?>;
43
  <?php if(in_array('bold', $link_style)): ?>
44
  font-weight: bold;
45
  <?php endif; ?>
49
  <?php if(in_array('underline', $link_style)): ?>
50
  text-decoration: underline;
51
  <?php endif; ?>
52
+ }
53
+ .product-table{
54
+ font-family: <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_DOC_FONT);?>;
55
+ background-color: <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_DOC_BG_COLOR);?>;
56
+ width: 100%;
57
+ }
58
+ .product-table img{
 
 
 
 
 
 
 
 
 
 
 
 
 
 
59
  display: block;
60
+ margin-left: auto;
61
+ margin-right: auto
62
  }
63
  .product-table td{
64
+ width: 25%;
65
+ padding-bottom: 10px;
66
  }
67
+ /** Styling from config field **/
68
+ <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_STYLING);?>
69
+ /** Responsive **/
70
+ @media (max-width: 760px) {
71
+ /* Force table to not be like tables anymore */
72
+ table, thead, tbody, th, td, tr {
73
+ display: block;
74
+ }
75
+ .product-table td{
76
+ width: 172px !important;
77
+ }
78
+ .product-table {
79
+ width: auto !important;
80
+ }
81
  }
82
+ </style>
83
+ <?php endif; ?>
84
 
85
+ <?php foreach ($products as $key => $_product) :?>
86
+ <?php if($i == 0):?>
87
  <table class="product-table" border="0" width="147" cellpadding="0" cellspacing="0" style='border-collapse: collapse; font-size:12;'><tr>
88
  <?php endif;?>
89
  <?php if($mode == 'list'):?>
91
  <?php endif;?>
92
 
93
  <td style="vertical-align: text-top; padding-right: 2px;">
94
+ <a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->stripTags($this->getImageLabel($_product, 'small_image'), null, true) ?>"
95
+ class="product-image"><img src="<?php echo $this->helper('catalog/image')->init($_product, 'small_image')->resize(135); ?>"
96
+ width="140" height="135" alt="<?php echo $this->stripTags($this->getImageLabel($_product, 'small_image'), null, true) ?>" align="middle" /></a>
97
+
98
  <div class="product-name" align="center"><b><?php echo $this->escapeHtml(substr($_product->getName(), 0, 40));?></b></div>
99
  <div class="product-price" align="center"><?php echo $this->getPriceHtml($_product, true) ?></div>
100
  <div align="center">
app/design/frontend/base/default/template/connector/product/nosto.phtml CHANGED
@@ -3,4 +3,4 @@
3
  <div class="nosto_element" id="<?php echo $slot; ?>">
4
  <?php echo $products; ?>
5
  </div>
6
- <?php endif; ?>
3
  <div class="nosto_element" id="<?php echo $slot; ?>">
4
  <?php echo $products; ?>
5
  </div>
6
+ <?php endif;
app/design/frontend/base/default/template/connector/review.phtml CHANGED
@@ -1,123 +1,125 @@
1
  <?php
2
  $i = 0;
3
- $helper = Mage::helper('ddg/review');
4
  $order = $this->getOrder();
5
  ?>
6
  <?php if($order): ?>
 
7
  <?php
8
- $website = Mage::app()->getStore($order->getStoreId())->getWebsite();
9
- $mode = $helper->getDisplayType($website);
10
- $items = $this->filterItemsForReview($order->getAllVisibleItems(), $website);
11
  ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12
 
13
- <?php if($items && is_array($items)): ?>
14
- <?php foreach ($items as $item) :?>
15
- <?php $_product = Mage::getModel('catalog/product')->load($item->getProductId()); ?>
16
- <?php if($i == 0):?>
17
- <?php
18
- $name_style = explode(',', Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_NAME_STYLE));
19
- $price_style = explode(',', Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_PRICE_STYLE));
20
- $link_style = explode(',', Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_LINK_STYLE));
21
- ?>
22
- <style>
23
- .product-name{
24
- color: <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_NAME_COLOR);?>;
25
- font-size: <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_NAME_FONT_SIZE);?>;
26
- <?php if(in_array('bold', $name_style)): ?>
27
- font-weight: bold;
28
- <?php endif; ?>
29
- <?php if(in_array('italic', $name_style)): ?>
30
- font-style: italic;
31
- <?php endif; ?>
32
- <?php if(in_array('underline', $name_style)): ?>
33
- text-decoration: underline;
34
- <?php endif; ?>
35
- }
36
- .product-price{
37
- color: <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_PRICE_COLOR);?>;
38
- font-size: <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_PRICE_FONT_SIZE);?>;
39
- <?php if(in_array('bold', $price_style)): ?>
40
- font-weight: bold;
41
- <?php endif; ?>
42
- <?php if(in_array('italic', $price_style)): ?>
43
- font-style: italic;
44
- <?php endif; ?>
45
- <?php if(in_array('underline', $price_style)): ?>
46
- text-decoration: underline;
47
- <?php endif; ?>
48
- }
49
- .proudct-url{
50
- color: <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_LINK_COLOR);?>;
51
- font-size: <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_LINK_FONT_SIZE);?>;
52
- <?php if(in_array('bold', $link_style)): ?>
53
- font-weight: bold;
54
- <?php endif; ?>
55
- <?php if(in_array('italic', $link_style)): ?>
56
- font-style: italic;
57
- <?php endif; ?>
58
- <?php if(in_array('underline', $link_style)): ?>
59
- text-decoration: underline;
60
- <?php endif; ?>
61
- }
62
- .product-table{
63
- font-family: <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_DOC_FONT);?>;
64
- background-color: <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_DOC_BG_COLOR);?>;
65
- width: 100%;
66
- }
67
- .product-table img{
68
- display: block;
69
- margin-left: auto;
70
- margin-right: auto
71
- }
72
- .product-table td{
73
- width: 25%;
74
- padding-bottom: 10px;
75
- }
76
- <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_STYLING);?>
77
- /** Responsive **/
78
- @media (max-width: 760px) {
79
- /* Force table to not be like tables anymore */
80
- table, thead, tbody, th, td, tr {
81
- display: block;
82
- }
83
- .product-table td{
84
- width: 172px !important;
85
- }
86
- .product-table table{
87
- width: auto !important;
88
- }
89
- }
90
- </style>
91
 
92
- <table class="product-table" border="0" width="147" cellpadding="0" cellspacing="0" style='border-collapse: collapse;'><tr>
93
- <?php endif;?>
94
- <?php if($mode == 'list'):?>
95
- </tr><tr>
96
- <?php endif;?>
 
 
97
 
98
- <td style="vertical-align: text-top; padding-right: 2px;">
99
- <a href="<?php echo Mage::getUrl('review/product/list', array('id'=> $_product->getId())).$helper->getAnchor($website) ?>"
100
- title="<?php echo $this->stripTags($this->getImageLabel($_product, 'small_image'), null, true) ?>" class="product-image">
101
- <img src="<?php echo $this->helper('catalog/image')->init($_product, 'small_image')->resize(135); ?>" width="140" height="135"
102
- alt="<?php echo $this->stripTags($this->getImageLabel($_product, 'small_image'), null, true) ?>" align="middle" />
 
 
 
 
 
103
  </a>
104
- <div class="product-name" align="center"><b><?php echo substr($_product->getName(), 0, 40);?></b></div>
105
- <div align="center">
106
- <a class="proudct-url" href="<?php echo Mage::getUrl('review/product/list', array('id'=> $_product->getId())).$helper->getAnchor($website);?>">
107
- <?php
108
- if($urlText = $this->getTextForUrl($_product->getStoreId()))
109
- echo $urlText;
110
- else
111
- echo $this->__('View Now');
112
- ?>
113
- </a>
114
- </div>
115
- </td>
116
 
117
- <?php if($i++ % 4 ==3 && $mode == 'grid'):?></tr><tr><?php endif;?>
118
- <?php endforeach;?>
119
- <?php if( $i > 0):?>
120
- </table>
121
- <?php endif;?>
122
- <?php endif; ?>
123
- <?php endif; ?>
1
  <?php
2
  $i = 0;
3
+ $helper = Mage::helper('ddg');
4
  $order = $this->getOrder();
5
  ?>
6
  <?php if($order): ?>
7
+
8
  <?php
9
+ $name_style = explode(',', Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_NAME_STYLE));
10
+ $price_style = explode(',', Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_PRICE_STYLE));
11
+ $link_style = explode(',', Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_LINK_STYLE));
12
  ?>
13
+ <style>
14
+ .product-name{
15
+ color: <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_NAME_COLOR);?>;
16
+ font-size: <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_NAME_FONT_SIZE);?>;
17
+ <?php if(in_array('bold', $name_style)): ?>
18
+ font-weight: bold;
19
+ <?php endif; ?>
20
+ <?php if(in_array('italic', $name_style)): ?>
21
+ font-style: italic;
22
+ <?php endif; ?>
23
+ <?php if(in_array('underline', $name_style)): ?>
24
+ text-decoration: underline;
25
+ <?php endif; ?>
26
+ }
27
+ .product-price{
28
+ color: <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_PRICE_COLOR);?>;
29
+ font-size: <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_PRICE_FONT_SIZE);?>;
30
+ <?php if(in_array('bold', $price_style)): ?>
31
+ font-weight: bold;
32
+ <?php endif; ?>
33
+ <?php if(in_array('italic', $price_style)): ?>
34
+ font-style: italic;
35
+ <?php endif; ?>
36
+ <?php if(in_array('underline', $price_style)): ?>
37
+ text-decoration: underline;
38
+ <?php endif; ?>
39
+ }
40
+ .proudct-url{
41
+ color: <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_LINK_COLOR);?>;
42
+ font-size: <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_LINK_FONT_SIZE);?>;
43
+ <?php if(in_array('bold', $link_style)): ?>
44
+ font-weight: bold;
45
+ <?php endif; ?>
46
+ <?php if(in_array('italic', $link_style)): ?>
47
+ font-style: italic;
48
+ <?php endif; ?>
49
+ <?php if(in_array('underline', $link_style)): ?>
50
+ text-decoration: underline;
51
+ <?php endif; ?>
52
+ }
53
+ .product-table{
54
+ font-family: <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_DOC_FONT);?>;
55
+ background-color: <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_DOC_BG_COLOR);?>;
56
+ width: 100%;
57
+ }
58
+ .product-table img{
59
+ display: block;
60
+ margin-left: auto;
61
+ margin-right: auto
62
+ }
63
+ .product-table td{
64
+ width: 25%;
65
+ padding-bottom: 10px;
66
+ }
67
+ <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_STYLING);?>
68
+ /** Responsive **/
69
+ @media (max-width: 760px) {
70
+ /* Force table to not be like tables anymore */
71
+ table, thead, tbody, th, td, tr {
72
+ display: block;
73
+ }
74
+ .product-table td{
75
+ width: 172px !important;
76
+ }
77
+ .product-table table{
78
+ width: auto !important;
79
+ }
80
+ }
81
+ </style>
82
 
83
+ <?php
84
+ $website = Mage::app()->getStore($order->getStoreId())->getWebsite();
85
+ $mode = $helper->getReviewDisplayType($website);
86
+ $items = $order->getAllVisibleItems();
87
+ $productIds = array();
88
+ //get the product ids for the collection
89
+ foreach ( $items as $item ) {
90
+ $productIds[] = $item->getProductId();
91
+ }
92
+ $items = Mage::getModel('catalog/product')->getCollection()
93
+ ->addAttributeToSelect('*')
94
+ ->addFieldToFilter('entity_id', array('in' => $productIds));
95
+ ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
96
 
97
+ <?php foreach ($items as $item) :?>
98
+ <?php if($i == 0):?>
99
+ <table class="product-table" border="0" width="147" cellpadding="0" cellspacing="0" style='border-collapse: collapse;'><tr>
100
+ <?php endif;?>
101
+ <?php if($mode == 'list'):?>
102
+ </tr><tr>
103
+ <?php endif;?>
104
 
105
+ <td style="vertical-align: text-top; padding-right: 2px;">
106
+ <a href="<?php echo Mage::getUrl('review/product/list', array('id'=> $item->getId())).$helper->getReviewReminderAnchor($website) ?>"
107
+ title="<?php echo $this->stripTags($this->getImageLabel($item, 'small_image'), null, true) ?>" class="product-image">
108
+ <img src="<?php echo $this->helper('catalog/image')->init($item, 'small_image')->resize(135); ?>" width="140" height="135"
109
+ alt="<?php echo $this->stripTags($this->getImageLabel($item, 'small_image'), null, true) ?>" align="middle" />
110
+ </a>
111
+ <div class="product-name" align="center"><b><?php echo substr($item->getName(), 0, 40);?></b></div>
112
+ <div align="center">
113
+ <a class="proudct-url" href="<?php echo Mage::getUrl('review/product/list', array('id'=> $item->getId())) .
114
+ $helper->getReviewReminderAnchor($website);?>"><?php echo $this->__('Leave a review'); ?>
115
  </a>
116
+ </div>
117
+ </td>
118
+
119
+ <?php if($i++ % 4 ==3 && $mode == 'grid'):?></tr><tr><?php endif;?>
120
+ <?php endforeach;?>
121
+ <?php if( $i > 0):?>
122
+ </table>
123
+ <?php endif;?>
124
+ <?php endif;
 
 
 
125
 
 
 
 
 
 
 
 
app/design/frontend/base/default/template/connector/shipping/new.phtml DELETED
@@ -1,81 +0,0 @@
1
- <?php $order = $this->getOrder(); ?>
2
- <?php if($order): ?>
3
- <?php
4
- $shipping = $order->getShipmentsCollection()->getFirstItem();
5
- $comment = $shipping->getCommentsCollection()->getFirstItem()->getComment();
6
- $paymentBlock = Mage::helper('payment')->getInfoBlock($order->getPayment());
7
- ?>
8
- <style>
9
- <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_STYLING);?>
10
- </style>
11
- <body style=" font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px; margin:0; padding:0;">
12
- <div style=" font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px; margin:0; padding:0;">
13
- <table cellspacing="0" cellpadding="0" border="0" height="100%" width="100%">
14
- <tr>
15
- <td align="center" valign="top" style="padding:20px 0 20px 0">
16
- <!-- [ header starts here] -->
17
- <table bgcolor="#FFFFFF" cellspacing="0" cellpadding="10" border="0" width="650" style="border:1px solid #E0E0E0;">
18
- <!-- [ middle starts here] -->
19
- <tr>
20
- <td>
21
- <h2 style="font-size:18px; font-weight:normal; margin:0;">Your Shipment #<?php echo $shipping->getIncrementId();?> for Order #<?php echo $order->getIncrementId();?></h2>
22
- </td>
23
- </tr>
24
- <tr>
25
- <td>
26
- <table cellspacing="0" cellpadding="0" border="0" width="650">
27
- <thead>
28
- <tr>
29
- <th align="left" width="325" bgcolor="#EAEAEA" style="font-size:13px; padding:5px 9px 6px 9px; line-height:1em;">Billing Information:</th>
30
- <th width="10"></th>
31
- <th align="left" width="325" bgcolor="#EAEAEA" style="font-size:13px; padding:5px 9px 6px 9px; line-height:1em;">Payment Method:</th>
32
- </tr>
33
- </thead>
34
- <tbody>
35
- <tr>
36
- <td valign="top" style="font-size:12px; padding:7px 9px 9px 9px; border-left:1px solid #EAEAEA; border-bottom:1px solid #EAEAEA; border-right:1px solid #EAEAEA;">
37
- <?php echo $order->getBillingAddress()->format('html');?>
38
- </td>
39
- <td>&nbsp;</td>
40
- <td valign="top" style="font-size:12px; padding:7px 9px 9px 9px; border-left:1px solid #EAEAEA; border-bottom:1px solid #EAEAEA; border-right:1px solid #EAEAEA;">
41
- <?php echo $paymentBlock->toHtml();?>
42
- </td>
43
- </tr>
44
- </tbody>
45
- </table>
46
- <br/>
47
- <table cellspacing="0" cellpadding="0" border="0" width="100%">
48
- <thead>
49
- <tr>
50
- <th align="left" width="325" bgcolor="#EAEAEA" style="font-size:13px; padding:5px 9px 6px 9px; line-height:1em;">Shipping Information:</th>
51
- <th width="10"></th>
52
- <th align="left" width="325" bgcolor="#EAEAEA" style="font-size:13px; padding:5px 9px 6px 9px; line-height:1em;">Shipping Method:</th>
53
- </tr>
54
- </thead>
55
- <tbody>
56
- <tr>
57
- <td valign="top" style="font-size:12px; padding:7px 9px 9px 9px; border-left:1px solid #EAEAEA; border-bottom:1px solid #EAEAEA; border-right:1px solid #EAEAEA;">
58
- <?php echo $order->getShippingAddress()->format('html');?>
59
- &nbsp;
60
- </td>
61
- <td>&nbsp;</td>
62
- <td valign="top" style="font-size:12px; padding:7px 9px 9px 9px; border-left:1px solid #EAEAEA; border-bottom:1px solid #EAEAEA; border-right:1px solid #EAEAEA;">
63
- <?php echo $this->escapeHtml($order->getShippingDescription());?>
64
- &nbsp;
65
- </td>
66
- </tr>
67
- </tbody>
68
- </table>
69
- <br/>
70
- <?php echo $this->getChildHtml('connector_shipping_items');?>
71
- <?php echo $this->getChildHtml('connector_shipping_track');?>
72
- <p style="font-size:12px; margin:0 10px 10px 0"><?php echo $this->escapeHtml($comment);?></p>
73
- </td>
74
- </tr>
75
- </table>
76
- </td>
77
- </tr>
78
- </table>
79
- </div>
80
- </body>
81
- <?php endif; ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/design/frontend/base/default/template/connector/shipping/newguest.phtml DELETED
@@ -1,82 +0,0 @@
1
- <?php $order = $this->getOrder(); ?>
2
- <?php if($order): ?>
3
- <?php
4
- $billing = $order->getBillingAddress();
5
- $shipping = $order->getShipmentsCollection()->getFirstItem();
6
- $comment = $shipping->getCommentsCollection()->getFirstItem()->getComment();
7
- $paymentBlock = Mage::helper('payment')->getInfoBlock($order->getPayment());
8
- ?>
9
- <style>
10
- <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_STYLING);?>
11
- </style>
12
- <body style="font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px; margin:0; padding:0;">
13
- <div style="font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px; margin:0; padding:0;">
14
- <table cellspacing="0" cellpadding="0" border="0" height="100%" width="100%">
15
- <tr>
16
- <td align="center" valign="top" style="padding:20px 0 20px 0">
17
- <!-- [ header starts here] -->
18
- <table bgcolor="#FFFFFF" cellspacing="0" cellpadding="10" border="0" width="650" style="border:1px solid #E0E0E0;">
19
- <!-- [ middle starts here] -->
20
- <tr>
21
- <td>
22
- <h2 style="font-size:18px; font-weight:normal; margin:0;">Your Shipment #<?php echo $shipping->getIncrementId();?> for Order #<?php echo $order->getIncrementId();?></h2>
23
- </td>
24
- </tr>
25
- <tr>
26
- <td>
27
- <table cellspacing="0" cellpadding="0" border="0" width="650">
28
- <thead>
29
- <tr>
30
- <th align="left" width="325" bgcolor="#EAEAEA" style="font-size:13px; padding:5px 9px 6px 9px; line-height:1em;">Billing Information:</th>
31
- <th width="10"></th>
32
- <th align="left" width="325" bgcolor="#EAEAEA" style="font-size:13px; padding:5px 9px 6px 9px; line-height:1em;">Payment Method:</th>
33
- </tr>
34
- </thead>
35
- <tbody>
36
- <tr>
37
- <td valign="top" style="font-size:12px; padding:7px 9px 9px 9px; border-left:1px solid #EAEAEA; border-bottom:1px solid #EAEAEA; border-right:1px solid #EAEAEA;">
38
- <?php echo $order->getBillingAddress()->format('html');?>
39
- </td>
40
- <td>&nbsp;</td>
41
- <td valign="top" style="font-size:12px; padding:7px 9px 9px 9px; border-left:1px solid #EAEAEA; border-bottom:1px solid #EAEAEA; border-right:1px solid #EAEAEA;">
42
- <?php echo $paymentBlock->toHtml();?>
43
- </td>
44
- </tr>
45
- </tbody>
46
- </table>
47
- <br/>
48
- <table cellspacing="0" cellpadding="0" border="0" width="100%">
49
- <thead>
50
- <tr>
51
- <th align="left" width="325" bgcolor="#EAEAEA" style="font-size:13px; padding:5px 9px 6px 9px; line-height:1em;">Shipping Information:</th>
52
- <th width="10"></th>
53
- <th align="left" width="325" bgcolor="#EAEAEA" style="font-size:13px; padding:5px 9px 6px 9px; line-height:1em;">Shipping Method:</th>
54
- </tr>
55
- </thead>
56
- <tbody>
57
- <tr>
58
- <td valign="top" style="font-size:12px; padding:7px 9px 9px 9px; border-left:1px solid #EAEAEA; border-bottom:1px solid #EAEAEA; border-right:1px solid #EAEAEA;">
59
- <?php echo $order->getShippingAddress()->format('html');?>
60
- &nbsp;
61
- </td>
62
- <td>&nbsp;</td>
63
- <td valign="top" style="font-size:12px; padding:7px 9px 9px 9px; border-left:1px solid #EAEAEA; border-bottom:1px solid #EAEAEA; border-right:1px solid #EAEAEA;">
64
- <?php echo $order->getShippingDescription();?>
65
- &nbsp;
66
- </td>
67
- </tr>
68
- </tbody>
69
- </table>
70
- <br/>
71
- <?php echo $this->getChildHtml('connector_shipping_items');?>
72
- <?php echo $this->getChildHtml('connector_shipping_track');?>
73
- <p style="font-size:12px; margin:0 10px 10px 0"><?php echo $this->escapeHtml($comment);?></p>
74
- </td>
75
- </tr>
76
- </table>
77
- </td>
78
- </tr>
79
- </table>
80
- </div>
81
- </body>
82
- <?php endif; ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/design/frontend/base/default/template/connector/shipping/update.phtml DELETED
@@ -1,35 +0,0 @@
1
- <?php $order = $this->getOrder(); ?>
2
- <?php if($order): ?>
3
- <?php
4
- $shipping = $order->getShipmentsCollection()->getFirstItem();
5
- $comment = $shipping->getCommentsCollection()->getFirstItem()->getComment();
6
- $paymentBlock = Mage::helper('payment')->getInfoBlock($order->getPayment());
7
- ?>
8
- <style>
9
- <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_STYLING);?>
10
- </style>
11
- <body style=" font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px; margin:0; padding:0;">
12
- <div style=" font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px; margin:0; padding:0;">
13
- <table cellspacing="0" cellpadding="0" border="0" height="100%" width="100%">
14
- <tr>
15
- <td align="center" valign="top" style="padding:20px 0 20px 0">
16
- <!-- [ header starts here] -->
17
- <table bgcolor="#FFFFFF" cellspacing="0" cellpadding="10" border="0" width="650" style="border:1px solid #E0E0E0;">
18
- <!-- [ middle starts here] -->
19
- <tr>
20
- <td valign="top">
21
- <p style="font-size:12px; line-height:16px; margin:0 0 10px 0;">
22
- Your order # <?php echo $order->getIncrementId();?> has been <br/>
23
- <strong><?php echo $order->getStatusLabel();?></strong>.
24
- </p>
25
- <p style="font-size:12px; line-height:16px; margin:0 0 10px 0;">You can check the status of your order by <a href="<?php echo $this->getBaseUrl();?>customer/account/" style="color:#1E7EC8;">logging into your account</a>.</p>
26
- <p style="font-size:12px; line-height:16px; margin:0 0 10px 0;"><?php echo $this->escapeHtml($comment);?></p>
27
- </td>
28
- </tr>
29
- </table>
30
- </td>
31
- </tr>
32
- </table>
33
- </div>
34
- </body>
35
- <?php endif; ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/design/frontend/base/default/template/connector/shipping/updateguest.phtml DELETED
@@ -1,35 +0,0 @@
1
- <?php $order = $this->getOrder(); ?>
2
- <?php if($order): ?>
3
- <?php
4
- $billing = $order->getBillingAddress();
5
- $shipping = $order->getShipmentsCollection()->getFirstItem();
6
- $comment = $shipping->getCommentsCollection()->getFirstItem()->getComment();
7
- $paymentBlock = Mage::helper('payment')->getInfoBlock($order->getPayment());
8
- ?>
9
- <style>
10
- <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_STYLING);?>
11
- </style>
12
- <body style=" font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px; margin:0; padding:0;">
13
- <div style=" font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px; margin:0; padding:0;">
14
- <table cellspacing="0" cellpadding="0" border="0" height="100%" width="100%">
15
- <tr>
16
- <td align="center" valign="top" style="padding:20px 0 20px 0">
17
- <!-- [ header starts here] -->
18
- <table bgcolor="#FFFFFF" cellspacing="0" cellpadding="10" border="0" width="650" style="border:1px solid #E0E0E0;">
19
- <!-- [ middle starts here] -->
20
- <tr>
21
- <td valign="top">
22
- <p style="font-size:12px; line-height:16px; margin:0 0 10px 0;">
23
- Your order # <?php echo $order->getIncrementId();?> has been <br/>
24
- <strong><?php echo $order->getStatusLabel();?></strong>.
25
- </p>
26
- <p style="font-size:12px; line-height:16px; margin:0 0 10px 0;"><?php echo $this->escapeHtml($comment);?></p>
27
- </td>
28
- </tr>
29
- </table>
30
- </td>
31
- </tr>
32
- </table>
33
- </div>
34
- </body>
35
- <?php endif; ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/design/frontend/base/default/template/connector/wishlist.phtml CHANGED
@@ -4,85 +4,86 @@
4
  $items = $this->getWishlistItems();
5
  ?>
6
  <?php if($items): ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7
  <?php foreach ($items as $item) :?>
8
  <?php $_product = $item->getProduct(); ?>
9
  <?php if($i == 0):?>
10
- <?php
11
- $name_style = explode(',', Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_NAME_STYLE));
12
- $price_style = explode(',', Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_PRICE_STYLE));
13
- $link_style = explode(',', Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_LINK_STYLE));
14
- ?>
15
- <style>
16
- .product-name{
17
- color: <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_NAME_COLOR);?>;
18
- font-size: <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_NAME_FONT_SIZE);?>;
19
- <?php if(in_array('bold', $name_style)): ?>
20
- font-weight: bold;
21
- <?php endif; ?>
22
- <?php if(in_array('italic', $name_style)): ?>
23
- font-style: italic;
24
- <?php endif; ?>
25
- <?php if(in_array('underline', $name_style)): ?>
26
- text-decoration: underline;
27
- <?php endif; ?>
28
- }
29
- .product-price{
30
- color: <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_PRICE_COLOR);?>;
31
- font-size: <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_PRICE_FONT_SIZE);?>;
32
- <?php if(in_array('bold', $price_style)): ?>
33
- font-weight: bold;
34
- <?php endif; ?>
35
- <?php if(in_array('italic', $price_style)): ?>
36
- font-style: italic;
37
- <?php endif; ?>
38
- <?php if(in_array('underline', $price_style)): ?>
39
- text-decoration: underline;
40
- <?php endif; ?>
41
- }
42
- .proudct-url{
43
- color: <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_LINK_COLOR);?>;
44
- font-size: <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_LINK_FONT_SIZE);?>;
45
- <?php if(in_array('bold', $link_style)): ?>
46
- font-weight: bold;
47
- <?php endif; ?>
48
- <?php if(in_array('italic', $link_style)): ?>
49
- font-style: italic;
50
- <?php endif; ?>
51
- <?php if(in_array('underline', $link_style)): ?>
52
- text-decoration: underline;
53
- <?php endif; ?>
54
- }
55
- .product-table{
56
- font-family: <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_DOC_FONT);?>;
57
- background-color: <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_DOC_BG_COLOR);?>;
58
- width: 100%;
59
- }
60
- .product-table img{
61
- display: block;
62
- margin-left: auto;
63
- margin-right: auto
64
- }
65
- .product-table td{
66
- width: 25%;
67
- padding-bottom: 10px;
68
- }
69
- /** Styling from config field **/
70
- <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_STYLING);?>
71
- /** Responsive **/
72
- @media (max-width: 760px) {
73
- /* Force table to not be like tables anymore */
74
- table, thead, tbody, th, td, tr {
75
- display: block;
76
- }
77
- .product-table td{
78
- width: 172px !important;
79
- }
80
- .product-table {
81
- width: auto !important;
82
- }
83
- }
84
- </style>
85
-
86
  <table class="product-table" border="0" width="147" cellpadding="0" cellspacing="0" style='border-collapse: collapse; font-size:12;'><tr>
87
  <?php endif;?>
88
  <?php if($mode == 'list'):?>
@@ -91,7 +92,7 @@
91
 
92
  <td style="vertical-align: text-top; padding-right: 2px;">
93
  <a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->stripTags($this->getImageLabel($_product, 'small_image'), null, true) ?>" class="product-image"><img src="<?php echo $this->helper('catalog/image')->init($_product, 'small_image')->resize(135); ?>" width="140" height="135" alt="<?php echo $this->stripTags($this->getImageLabel($_product, 'small_image'), null, true) ?>" align="middle" /></a>
94
- <div class="product-name" align="center"><b><?php echo substr($_product->getName(), 0, 40);?></b></div>
95
  <div class="product-price" align="center"><?php echo $this->getPriceHtml($_product, true) ?></div>
96
  <div align="center">
97
  <a class="proudct-url" href="<?php echo $_product->getProductUrl();?>">
@@ -109,5 +110,5 @@
109
  <?php endforeach;?>
110
  <?php if( $i > 0):?> </table>
111
  <?php endif; ?>
112
- <?php endif; ?>
113
 
4
  $items = $this->getWishlistItems();
5
  ?>
6
  <?php if($items): ?>
7
+
8
+ <?php
9
+ $name_style = explode(',', Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_NAME_STYLE));
10
+ $price_style = explode(',', Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_PRICE_STYLE));
11
+ $link_style = explode(',', Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_LINK_STYLE));
12
+ ?>
13
+ <style>
14
+ .product-name{
15
+ color: <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_NAME_COLOR);?>;
16
+ font-size: <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_NAME_FONT_SIZE);?>;
17
+ <?php if(in_array('bold', $name_style)): ?>
18
+ font-weight: bold;
19
+ <?php endif; ?>
20
+ <?php if(in_array('italic', $name_style)): ?>
21
+ font-style: italic;
22
+ <?php endif; ?>
23
+ <?php if(in_array('underline', $name_style)): ?>
24
+ text-decoration: underline;
25
+ <?php endif; ?>
26
+ }
27
+ .product-price{
28
+ color: <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_PRICE_COLOR);?>;
29
+ font-size: <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_PRICE_FONT_SIZE);?>;
30
+ <?php if(in_array('bold', $price_style)): ?>
31
+ font-weight: bold;
32
+ <?php endif; ?>
33
+ <?php if(in_array('italic', $price_style)): ?>
34
+ font-style: italic;
35
+ <?php endif; ?>
36
+ <?php if(in_array('underline', $price_style)): ?>
37
+ text-decoration: underline;
38
+ <?php endif; ?>
39
+ }
40
+ .proudct-url{
41
+ color: <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_LINK_COLOR);?>;
42
+ font-size: <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_LINK_FONT_SIZE);?>;
43
+ <?php if(in_array('bold', $link_style)): ?>
44
+ font-weight: bold;
45
+ <?php endif; ?>
46
+ <?php if(in_array('italic', $link_style)): ?>
47
+ font-style: italic;
48
+ <?php endif; ?>
49
+ <?php if(in_array('underline', $link_style)): ?>
50
+ text-decoration: underline;
51
+ <?php endif; ?>
52
+ }
53
+ .product-table{
54
+ font-family: <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_DOC_FONT);?>;
55
+ background-color: <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_DOC_BG_COLOR);?>;
56
+ width: 100%;
57
+ }
58
+ .product-table img{
59
+ display: block;
60
+ margin-left: auto;
61
+ margin-right: auto
62
+ }
63
+ .product-table td{
64
+ width: 25%;
65
+ padding-bottom: 10px;
66
+ }
67
+ /** Styling from config field **/
68
+ <?php echo Mage::getStoreConfig(Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_DYNAMIC_STYLING);?>
69
+ /** Responsive **/
70
+ @media (max-width: 760px) {
71
+ /* Force table to not be like tables anymore */
72
+ table, thead, tbody, th, td, tr {
73
+ display: block;
74
+ }
75
+ .product-table td{
76
+ width: 172px !important;
77
+ }
78
+ .product-table {
79
+ width: auto !important;
80
+ }
81
+ }
82
+ </style>
83
+
84
  <?php foreach ($items as $item) :?>
85
  <?php $_product = $item->getProduct(); ?>
86
  <?php if($i == 0):?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
87
  <table class="product-table" border="0" width="147" cellpadding="0" cellspacing="0" style='border-collapse: collapse; font-size:12;'><tr>
88
  <?php endif;?>
89
  <?php if($mode == 'list'):?>
92
 
93
  <td style="vertical-align: text-top; padding-right: 2px;">
94
  <a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->stripTags($this->getImageLabel($_product, 'small_image'), null, true) ?>" class="product-image"><img src="<?php echo $this->helper('catalog/image')->init($_product, 'small_image')->resize(135); ?>" width="140" height="135" alt="<?php echo $this->stripTags($this->getImageLabel($_product, 'small_image'), null, true) ?>" align="middle" /></a>
95
+ <div class="product-name" align="center"><b><?php echo Mage::helper('core')->jsQuoteEscape(substr($_product->getName(), 0, 40));?></b></div>
96
  <div class="product-price" align="center"><?php echo $this->getPriceHtml($_product, true) ?></div>
97
  <div align="center">
98
  <a class="proudct-url" href="<?php echo $_product->getProductUrl();?>">
110
  <?php endforeach;?>
111
  <?php if( $i > 0):?> </table>
112
  <?php endif; ?>
113
+ <?php endif;
114
 
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>dotmailermagento</name>
4
- <version>5.1.1</version>
5
  <stability>stable</stability>
6
  <license uri="http://opensource.org/licenses/osl-3.0.php">OSL v3.0</license>
7
  <channel>community</channel>
@@ -26,9 +26,9 @@ Release Highlights:&#xD;
26
  &#xD;
27
  + Reporting: Now within the Newsletter section in Magento you can view the import status of contacts and orders, as well as the sending status of transactional and lost basket emails.</notes>
28
  <authors><author><name>Calin Diacon</name><user>cdiacon</user><email>calin.diacon@dotmailer.com</email></author><author><name>Adeel Qamar</name><user>adeel</user><email>adeel.qamar@dotmailer.com</email></author></authors>
29
- <date>2015-11-30</date>
30
- <time>10:36:24</time>
31
- <contents><target name="magecommunity"><dir name="Dotdigitalgroup"><dir name="Email"><dir name="Block"><dir name="Adminhtml"><dir name="Automation"><dir name="Edit"><file name="Form.php" hash="436877f0f8c2df572f33b25666d78769"/></dir><file name="Edit.php" hash="a9494e5817d7ae19c206f15260eb6c81"/><file name="Grid.php" hash="83a8f872ac9832179862ceb49cd3c4cc"/></dir><file name="Automation.php" hash="7e1b876bf5619cb4533fb935b67b7103"/><dir name="Campaign"><file name="Grid.php" hash="ed3b11f23f8029c7af4dd63f5dceed0e"/></dir><file name="Campaign.php" hash="1b09266adba5191df1d39330e4832d41"/><dir name="Catalog"><file name="Grid.php" hash="e5545ec424a1011117e869984e90a754"/></dir><file name="Catalog.php" hash="f9d97d5ff57987714788ef0511405d46"/><dir name="Column"><dir name="Renderer"><file name="Delete.php" hash="2741323edb5151b4211244ccf115d796"/><file name="Imported.php" hash="894d7ead94e40d20cabb082346830c35"/><file name="Reset.php" hash="f85c3f41af7e6929dc169fb231e24162"/><file name="Script.php" hash="d4f0356fc226028af5857549733a84d3"/><file name="Status.php" hash="42180e34e981f2998c35697bf049c786"/><file name="Sync.php" hash="253fb9fbfc1c450e1ae8332b466896da"/><file name="Website.php" hash="ca2c1f34b86e5ccf022fdc395cf07084"/></dir></dir><dir name="Config"><dir name="Automation"><file name="Customdatafields.php" hash="7ae2aef7d636c19dd2fcc9ba57ab4635"/></dir><file name="Customdatafields.php" hash="ee28b3fe691ade18fcc217b330d8dac6"/><dir name="Rules"><file name="Customdatafields.php" hash="c56d50e7eb3854ec67e026023d38d4d7"/></dir><file name="Select.php" hash="b92091e08d7e24032be9b8aea033b81d"/></dir><dir name="Contact"><dir name="Edit"><file name="Form.php" hash="1d0f6eba1f3a59c38ccfc01b3d5eb447"/></dir><file name="Edit.php" hash="051408ea54be21761e1ab2210ea0bc30"/><file name="Grid.php" hash="5d3dd60e4a530a64370c744717b2b49e"/></dir><file name="Contact.php" hash="ecf231c9d8eb789a4f0863f92d323c38"/><dir name="Customer"><dir name="Tab"><file name="Stats.php" hash="b10d350b265e14c788785b7538719f92"/></dir><file name="Tab.php" hash="507172f634c4db4350fb0288464a348a"/></dir><dir name="Dashboard"><file name="Switcher.php" hash="dac118060238aef3b2a4f60d11c0a3eb"/><dir name="Tabs"><dir name="Analysis"><file name="Abandonedcarts.php" hash="425a8936f80001f405cb13d18bf3741e"/><file name="Customer.php" hash="231b3c4d0e9877b84398b0354e5cbd03"/><file name="Rfm.php" hash="ef72ef59162d2c553090af6db3da1a87"/><file name="Sales.php" hash="77efe9da2c49f7639a37eb77868bdce0"/><file name="Subscriber.php" hash="9596bc770c09362e2612b53bcf4e4c2b"/></dir><file name="Analysis.php" hash="2849c6482644b7cdfa4cbb6db6b71df4"/><dir name="General"><file name="Data.php" hash="498868562604f48522acd599561cd436"/></dir><file name="General.php" hash="c46f8796bda3da6ea8117fccfe36a817"/><file name="Logs.php" hash="1fc8ae9c5e8370718f70075afa8e3d81"/><file name="Status.php" hash="83b5897478e515ebe989221d1040b401"/></dir><file name="Tabs.php" hash="8da89ad9d407a489b04ae47924e0b30f"/></dir><file name="Dashboard.php" hash="49c26d63147138d42aceb8538273402d"/><dir name="Importer"><file name="Grid.php" hash="8ef94d26ef4f323891f13e80afcdc150"/></dir><file name="Importer.php" hash="833d5c2a48f40c9fa27aed4bbd74bd2c"/><dir name="Order"><file name="Grid.php" hash="96e62a99c8295f442377124d37a114f2"/></dir><file name="Order.php" hash="dc6b0cd9c9ac9d8c291f72dbbd4c1a15"/><dir name="Quote"><file name="Grid.php" hash="241108bfb525bbbad0c543fef7673546"/></dir><file name="Quote.php" hash="edcacdf20da2f046ab4654dceef2399f"/><dir name="Review"><file name="Grid.php" hash="85919ad9bfc19eec32e673a699f850c5"/></dir><file name="Review.php" hash="822d452ee01499b4b493e19e6d810afd"/><dir name="Rules"><dir name="Edit"><file name="Form.php" hash="13f8b943873d30609ca3a2af6c72f502"/><dir name="Tab"><file name="Conditions.php" hash="1a11c398065666e0b77e0bf30827c81e"/><file name="Main.php" hash="aaf575a2db857eaac0f9e5006064fc3d"/></dir><file name="Tabs.php" hash="99c7258e593bff52b3976c359ad4235a"/></dir><file name="Edit.php" hash="bf987a05ecfc0c7540c6f86275582733"/><file name="Grid.php" hash="6a9077456ab1b8b72ed26406af336437"/></dir><file name="Rules.php" hash="4dc3b7ac89293d996f3e2a8fd3d12eb9"/><dir name="Sales"><dir name="Order"><dir name="Creditmemo"><file name="View.php" hash="ab9cfcc946e03f8b8fdf33d606222427"/></dir></dir></dir><dir name="System"><dir name="Advanced"><file name="Deletecontactids.php" hash="293320187b8ec5514ff69e027a808321"/><file name="Notification.php" hash="0ea9608a09ae2dad6e4c78738c583c2d"/><file name="Reimportcatalog.php" hash="a497ac63a609440dbd723bc3a2a2819f"/><file name="Reimportorders.php" hash="d29f38c149d2fbfb6b8589491b050247"/><file name="Reimportquotes.php" hash="6089df53be37afe6c4f9f10147730bc7"/><file name="Reimportreviews.php" hash="2c14cd482a448be01c8ceb3d0a9c7dd5"/><file name="Reimportsubscribers.php" hash="43b98ca37accc978ba8e9bd087b9a2c7"/><file name="Reimportwishlists.php" hash="f6bce4f06bc91f69242bd2f59220285d"/><file name="Reset.php" hash="41053dc403c95328402c0e3886307859"/><file name="Resetcustomersimport.php" hash="21bab61f962ed4a3a3c14656781c4e3b"/><file name="Runcatalogsync.php" hash="ecaa5a7b8ebc78a5f84f0870a90a0cd9"/><file name="Runcontactsync.php" hash="747b338c4fe3d3603ce60a68b7e1d5c4"/><file name="Runordersync.php" hash="58d7672919b3387d73472e6a10a850af"/><file name="Runquotesync.php" hash="c4bbc5616a080b5dbaad02717225f507"/><file name="Runreviewsync.php" hash="dafef47cb94f595af038698f1f233421"/><file name="Runsubscribersync.php" hash="090707901889d4bae741fe59747cfbff"/><file name="Runwishlistsync.php" hash="8453adae849a6ad9aaecb1f27dc46b72"/><file name="Setupdatafields.php" hash="48373eb08bb90bf4417c830723a4df11"/><file name=".DS_Store" hash="194577a7e20bdcc7afbb718f502c134c"/></dir><file name="Ajaxvalidate.php" hash="2647705ecfcd6c1cd39489febd38b490"/><dir name="Automation"><file name="Connect.php" hash="cbe5ebdaa07cdef1086b681740cfff0f"/></dir><dir name="Config"><file name="Addressbook.php" hash="ac68b4c742413e5cdcce9c5c78e836a9"/><file name="Colorpicker.php" hash="a22c6d50728e2edaf43399093b1f4a61"/><file name="Datafield.php" hash="5b30377c5423fcccd424c4ca0ad3224f"/><file name="Enterprisevalidator.php" hash="92b60f1f8ca067887dc17afac7be6f24"/><file name="Resetcontacts.php" hash="22ef003f51db85bed2ebb85c5834b352"/><file name="Resetguests.php" hash="002ced7daec912bdad0890b26afcc4a0"/><file name="Resetsubscribers.php" hash="d5be1a595576ea63883c0249be835c7f"/><file name="Validator.php" hash="995386364c7434ad50bb87477c46f6eb"/><file name="Waitingfield.php" hash="7ffe44f6ae4b879336344882ba7e020e"/><file name="Wrapper.php" hash="2813c1d11255f10bc1ff804650a634b7"/></dir><dir name="Dynamic"><file name="Addressbookbutton.php" hash="744ca8346bf67fb7c7b96f92ad67e993"/><dir name="Basket"><file name="Crosssell.php" hash="aa00e37f15d822bf8448fbe79d70d1d5"/><file name="Related.php" hash="a1b0f467eee4513be21fdc58bdf6e59e"/><file name="Upsell.php" hash="dc7a0dbea77d7c88c9fbb660131d1773"/></dir><file name="Bestsellers.php" hash="47d8b2f89290c034c1c74ae0dad5463a"/><file name="Couponinfo.php" hash="646acc6eb041db4041c1df04e2e2fe26"/><file name="Creditmemonew.php" hash="c36bcff6b33f441b11cc5a45a5abe60d"/><file name="Crosssell.php" hash="e1085bb71156dcb1bb012044c5d4a076"/><file name="Datafieldbutton.php" hash="369eec55df4d51ce367abb9c81402976"/><file name="Fallbackchooser.php" hash="28601a2fb0407ece1269a9e3d95757de"/><file name="Fallbackcontainer.php" hash="e3044fc492790758b646a9a656ea1f79"/><dir name="Feefo"><file name="Reviews.php" hash="8a32c6e10d93621fe63c6307c5da17da"/><file name="Score.php" hash="a5a2b4a16e1645107c9dd360dbf03a6b"/></dir><file name="Gridlist.php" hash="9329c6aa0ab3118b8f03af66761f038d"/><file name="Lostbasket.php" hash="506dd83329b4b342af7239a419925a93"/><file name="Manualchooser.php" hash="d9e2e198bb53fdf4a329915db7d07281"/><file name="Manualcontainer.php" hash="689696990974ce7cd1db3df3b73bb864"/><file name="Mostviewed.php" hash="cd49997a51f34aa36470dae896336fee"/><file name="Nosto.php" hash="ec90847ea7170baf8bc197057a13dcac"/><file name="Productpush.php" hash="2623fd4a941ff0e06504dc87b877bb50"/><file name="Recentlyviewed.php" hash="b73e60e76daaca15891e3cbc3700182c"/><file name="Related.php" hash="8b8022dac18181a3ab11837be34beced"/><file name="Review.php" hash="02a962eaf8231981f3d999be9a904c77"/><file name="Upsell.php" hash="898fe5ffc06063450034a8980f54db33"/><dir name="Wishlist"><file name="Crosssell.php" hash="c5c191438715b4f8ad36c62b705cfbb5"/><file name="Related.php" hash="d94412911bb7b85ce73718adc244d6e8"/><file name="Upsell.php" hash="d79aed858a2f4c2a29299fe8868d7ef7"/></dir><file name="Wishlist.php" hash="46c433fda7ec07c82025d88014d93471"/></dir><file name="Emailapivalidate.php" hash="d2b05128440217064792b82e0911e1e6"/><file name="Installation.php" hash="03707c42dcca01e1c156b48a6246a74c"/><dir name="Sms"><file name="Smsmessagefour.php" hash="d5f61111d9c58ee99dc10cb53afea060"/><file name="Smsmessageone.php" hash="00b65d2fcd16c11b93db8fff1ffda069"/><file name="Smsmessagethree.php" hash="eec8120e729a8dd0d248e184564eefcd"/><file name="Smsmessagetwo.php" hash="5f9fa9aca352c389a2cd75ef4366baed"/></dir><dir name="Url"><file name="Creditmemoupdate.php" hash="07113ed35f709e2e65c4c61521e560a8"/><file name="Creditmemoupdateguest.php" hash="034e033269cf142f930b6bff1c36d10a"/><file name="Customerconfirmation.php" hash="260a57d13b20cda7229eb33c9a73559c"/><file name="Customerconfirmed.php" hash="1743ddf8f308eb375f44ac32da3c3c91"/><file name="Customernew.php" hash="2878ef6c84303614ac3426838f8b65d5"/><file name="Invoiceupdate.php" hash="d4eb69e2e0f5e3b7e9ea1da5d3adb578"/><file name="Invoiceupdateguest.php" hash="1ebd3c14e380043fa16b7e36d821d15c"/><file name="Newcreditmemo.php" hash="20b55e9ce5371a371ff0c94bd0fda178"/><file name="Newcreditmemoguest.php" hash="5bd16181c61c1bfb98e6eea3e1c7281f"/><file name="Newinvoice.php" hash="ff95c29ff62359ab2d0366098029a704"/><file name="Newinvoiceguest.php" hash="d05a14bb52facf8635c89642165e39ec"/><file name="Neworder.php" hash="f67882d758909fda7364fa04cb51e2f0"/><file name="Neworderguest.php" hash="ac3b96283e7e5e3ce68e35bf84f9043d"/><file name="Newshipment.php" hash="f059c430fb155c8f9da10b6dd4c67e01"/><file name="Newshipmentguest.php" hash="f73d439fb93eb7f20289e021b10b69a8"/><file name="Orderupdate.php" hash="1c27f18bf9ff58c1f0668539b7ca6896"/><file name="Orderupdateguest.php" hash="d4a2479efa67e900fbe69f6954707076"/><file name="Shipmentupdate.php" hash="f6f2fe91a159b8bf9c70c3a8773a058c"/><file name="Shipmentupdateguest.php" hash="f0ce96ef2e562cae6d155e4d38f1dcac"/></dir></dir><dir name="Widget"><dir name="Chooser"><file name="Product.php" hash="b2f77407f30411d5447fbd1ffac3e415"/></dir></dir><dir name="Wishlist"><file name="Grid.php" hash="fc60afe27facac4a3fb4677ba1aa2fbe"/></dir><file name="Wishlist.php" hash="74f5fb49b057af35ee320f442c664a6b"/></dir><file name="Basket.php" hash="435ae9c1945579ac9da0b4b9025f5251"/><file name="Coupon.php" hash="fe3affe1a8d9a7a885d81f19f4adb51e"/><dir name="Customer"><dir name="Account"><file name="Books.php" hash="6ab8f5f63d96188f9823e580c11dc7bd"/></dir></dir><file name="Edc.php" hash="d44dcf1413fca50a4d6cad12bcfc7a71"/><file name="Feefo.php" hash="b22ae2a4a60920a089ddccb45582482c"/><dir name="Order"><file name="Creditmemo.php" hash="d555e9f31e6fe0203170ba2620407119"/><file name="Invoice.php" hash="f47b6cb4c61849b6b84a4e6e84038cdc"/><file name="Shipping.php" hash="a3a1c9aa093b9dfa3f94eaea1dba9a81"/></dir><file name="Order.php" hash="263f75b72c1c0130f49cf73fee5dc7ef"/><file name="Products.php" hash="d38365bc368c1d6e8e867de39c4a1495"/><dir name="Recommended"><file name="Products.php" hash="b2c71bccc08a722297695d462d0c8e67"/><file name="Wishlistproducts.php" hash="966cde9e39e4a429b07bf592005eb82b"/></dir><dir name="System"><dir name="Email"><dir name="Template"><file name="Edit.php" hash="74dc9f59ad9ae1794aec084aac4fa811"/></dir></dir></dir><file name="Wishlist.php" hash="02ac8be0a7325f369d75c53c3b5f5952"/></dir><dir name="Helper"><file name="Config.php" hash="cad7e0156e164947b5a9932316b60723"/><file name="Dashboard.php" hash="fd6aaa5877cd92ece44db35a66353765"/><file name="Data.php" hash="7aab568e93a24489294304156127f362"/><file name="File.php" hash="152383a2910ded13aae097c386cf4947"/><file name="Recommended.php" hash="d77533b7b110828e07f7a9d9a80606fe"/><file name="Review.php" hash="df5fbc8a07818618886ffbadc64782d1"/><file name="Transactional.php" hash="a399ced08b031a9d5f4cdab3d28db6a6"/></dir><dir name="Model"><dir name="Abstract"><file name="Rest.php" hash="2ae2e2ac0851da8c7c38a4edc136cef5"/></dir><dir name="Adminhtml"><dir name="Dashboard"><file name="Content.php" hash="a415e7d3fad5d27ce27f6172a50d4997"/><dir name="Tabs"><dir name="Analysis"><file name="Abandoned.php" hash="915c2e848bdb8c2629a90d6d4326b8e8"/><file name="Customer.php" hash="f56d20e6620589c31b8468d8f06d975e"/><file name="Orders.php" hash="9ac9df6980ecedcdcd2567656ebc3a4c"/><file name="Rfm.php" hash="1bd137928d701485c995b6a236ea1ef6"/><file name="Subscriber.php" hash="1b44da59332b7f233499abe3408ed70a"/></dir></dir></dir><file name="Observer.php" hash="d0de99361d7afd45d86788700eedb216"/><dir name="Source"><file name="Addressbooks.php" hash="af92437b4ed2a7fc6fede455420f11c0"/><file name="Addressbookspref.php" hash="e5ff9e837bad955fdcd69265783c9cb0"/><dir name="Advanced"><file name="Abandonedlimit.php" hash="cd280151523091f85af89b0e22ff0abf"/><file name="Attributes.php" hash="9d08d5ab758447987c7ab9ba6d5c45b2"/><file name="Cronexpressionsone.php" hash="3877dd7041189aedf2c972b4361d2134"/><file name="Cronexpressionstwo.php" hash="0a97c58dff29e17a8448ff0c17e393d7"/><file name="Frequency.php" hash="28292fba0dd62bb6730ccd7bfa2b8e70"/><file name="Quoteattributes.php" hash="a1ddcbd001b9cd5b40157ba3c9435bef"/><file name="Transdata.php" hash="5c670a26d641c4b7e73bbaff48af3dd6"/></dir><file name="Attributes.php" hash="4b079aac1a25bec3c7c7e4152a66daa8"/><dir name="Automation"><file name="Programme.php" hash="a7143fecceaa7b7f6905634510112ef1"/></dir><file name="Campaigns.php" hash="35014267c18ab36cd6d849318914185e"/><dir name="Contact"><file name="Imported.php" hash="f44a906cb28c81c709c649b6ed8a0ccd"/><file name="Modified.php" hash="30e2f9e3d55ecd65a3cd0be1136db38d"/></dir><dir name="Customer"><dir name="Attributes"><file name="Select.php" hash="a77542918db6d3ba1c0298b475e8e9ed"/></dir></dir><file name="Datafields.php" hash="0a12d3c9c63476ea6981e416dfec6155"/><dir name="Datamapping"><file name="Datafieldaccess.php" hash="eba7f16c5e03ebc4bca00b1dcfc5dbc7"/><file name="Datafieldtype.php" hash="1b9ac7be92d60718981d4b17be4dbeda"/></dir><dir name="Dynamic"><file name="Displaytype.php" hash="3c84fc4962406d0e4b974e1c0e40f6e4"/><file name="Gridview.php" hash="5f033792839adf57fb37b277dc662237"/></dir><file name="Fontpicker.php" hash="a943850c33229bc471ad9e94023347e3"/><file name="Fontsize.php" hash="7eb842a6f895b3f8a279c53fa961f173"/><dir name="Importer"><file name="Mode.php" hash="6a4649e9311b6aaf2997a434438dfb29"/><file name="Status.php" hash="97dfab5de2ada065f335ede94301c27c"/></dir><dir name="Lostbaskets"><file name="Interval.php" hash="e3ed7930ab2b4526c0d6d2b76784331c"/><file name="Intervalminute.php" hash="7777a4757d8fa8deebfa94cca9ac4053"/></dir><file name="Orderstatus.php" hash="b02456d91d6e27ae9f330c2b16b0fb8f"/><file name="Publicdatafields.php" hash="4a162948a4ee37b8e2d38490aa4d41c1"/><dir name="Reviews"><file name="Delay.php" hash="393704cfa870165ef3b3ba59e454953b"/></dir><dir name="Rules"><file name="Condition.php" hash="377f65c9b5ee85e44b2fb4ac72021770"/><file name="Type.php" hash="2ccd61f1f5a098e876b79ac24529d41b"/><file name="Value.php" hash="94d4df5777c098e5f04f5be125772ce5"/></dir><file name="Styling.php" hash="b8578fc89114359933b7bdc64f49b4d3"/><dir name="Sweettooth"><file name="Yesno.php" hash="8345e519b0e6b8eb75bca72a16e66014"/></dir><dir name="Sync"><dir name="Catalog"><file name="Attributes.php" hash="323d3400bb91b89ff880421823f54052"/><file name="Type.php" hash="265862a32c3d11509bf4f9ec3fac65fb"/><file name="Values.php" hash="30eedb9ac9f72edb94d9abef91b9fcfb"/><file name="Visibility.php" hash="84cc10186bfc1d00dd967027f6c2a413"/></dir><file name="Yesno.php" hash="4cde23e3613eaaf04a65454540620e6b"/></dir><dir name="Transactional"><file name="Mode.php" hash="02f45553e3bc342ddd3f205993a5384e"/><file name="Port.php" hash="3dc1b86a9034e2098f98921109d7187f"/><file name="Ssl.php" hash="256550ab7cc09ce240f3dd4a4e2d4324"/></dir></dir></dir><dir name="Api2"><dir name="Subscriber"><dir name="Rest"><dir name="Admin"><file name="V1.php" hash="129b412cb9d43ed2368eb1a86e11609c"/></dir></dir></dir></dir><dir name="Apiconnector"><file name="Client.php" hash="8e3c2949fa7be3c34a86f5dc0b70f055"/><file name="Contact.php" hash="8653894b4ea2fc66d88ff6b64df67e52"/><file name="Customer.php" hash="7066d90001ecd63cc17b8bdef585f6d5"/><file name="Test.php" hash="c1c0274bb9b707af55ebdd7a4263bf6e"/></dir><file name="Automation.php" hash="46b46f6f00bd4ad07c3ac97e27857ab9"/><file name="Campaign.php" hash="eb793621c5c53eb45ea95d22c7be8c94"/><file name="Catalog.php" hash="6fb3bd93975d29c15b17cb5ce388f3eb"/><dir name="Connector"><file name="Account.php" hash="6e6bf814a8ce5a14a3496ecc4c305190"/><file name="Campaign.php" hash="e221755bbbe55bcbd2bff9b260d645b1"/><file name="Datafield.php" hash="616fa71b66833c5bb6abd5c3e24876f9"/><file name="Order.php" hash="66975a73ac3ec452c6714ada4ac5aa4c"/><file name="Product.php" hash="89faebabd39224fe768714c2f426a3e5"/><file name="Quote.php" hash="b86a2638b9e6ae6c3363d2d77125c0f2"/></dir><file name="Contact.php" hash="16f950b64036b529ecea0cb487146f82"/><dir name="Controller"><file name="Observer.php" hash="b01537009a0061c4266fbf2f8c52251d"/></dir><file name="Cron.php" hash="d6f3e99013ac3b3dc15db633ff00a19a"/><dir name="Customer"><file name="Guest.php" hash="bd1e1b8f82f25d808700c33f726cb19a"/><file name="Observer.php" hash="b9376cd4ba6ce646300aa31e30b514ec"/><dir name="Review"><file name="Rating.php" hash="a91b68302e270aa08ea3762f63225a80"/></dir><file name="Review.php" hash="f17180683194eca1e49782c36e310200"/><dir name="Wishlist"><file name="Item.php" hash="c37c6d9700771e57a039ac7f5ebe68b9"/></dir><file name="Wishlist.php" hash="598eddf031e56fa752bf64fe32773da5"/></dir><file name="Customer.php" hash="e1dd3b479c9bbf125cf1ec36206d1c7f"/><dir name="Email"><file name="Template.php" hash="18e12b6d6f7e275d8444fe37411f92cd"/></dir><file name="Email.php" hash="6cf3844e7f4c75c534a50486631ec10e"/><file name="Feed.php" hash="09151ffa241990ed28f4acb99c7d72ca"/><file name="Importer.php" hash="ab77cd2cde8ef227bf2b4c5cb87831a0"/><dir name="Newsletter"><file name="Observer.php" hash="b7091557caad19c22d247baa5e3751a5"/><file name="Sub.php" hash="a8a3fd672f62288be68001b3dc0bd58d"/><file name="Subscriber.php" hash="53c2ba474048763384dbcd0a6d590488"/></dir><file name="Order.php" hash="721ba8aa79daae66d2ec421143435fbc"/><file name="Quote.php" hash="1ca4b5c44aa678d0e2e29b09d2939c1c"/><dir name="Resource"><dir name="Automation"><file name="Collection.php" hash="b0e7826c3c153cac3d9bcaed76d1d75e"/></dir><file name="Automation.php" hash="902f696eb797323101f1a3b4c9abf84d"/><dir name="Campaign"><file name="Collection.php" hash="736cc4414d45d0dca975101bc75919c6"/></dir><file name="Campaign.php" hash="b2d6c5e4396794efd97562f2f23f2f40"/><dir name="Catalog"><file name="Collection.php" hash="ef157bd81d50a49e94058b986aac5b2e"/></dir><file name="Catalog.php" hash="e447f04904e9b964359497c79a6ea1eb"/><dir name="Contact"><file name="Collection.php" hash="a6da2689f90a668b08a549a200f9c6a9"/></dir><file name="Contact.php" hash="dcfef90f2f9ac7d3d9d3c17dec5c7591"/><dir name="Importer"><file name="Collection.php" hash="605d0e7091f309e6a5f6e2d15513c8bf"/></dir><file name="Importer.php" hash="565087fd0df9fa9c2f84cc5ac5e20e17"/><dir name="Order"><file name="Collection.php" hash="87cf24cbbd5d6c0141b7c401238b5c50"/></dir><file name="Order.php" hash="11fcf2784fb5f80594e6672d867c3d5a"/><dir name="Quote"><file name="Collection.php" hash="4d9ed530f86edb24c2d8e89db3c2b6b1"/></dir><file name="Quote.php" hash="598747a52e2a2d41dd7582bba69fef4a"/><dir name="Review"><file name="Collection.php" hash="c7e03d9bd662df5dd2a1a31e246b97e4"/></dir><file name="Review.php" hash="761eec4269e616ec356634d9346020b6"/><dir name="Rules"><file name="Collection.php" hash="b0da90dc943d5c6a8dd47d3fe245677c"/></dir><file name="Rules.php" hash="4b688c552b91487c22482f059cb49bc9"/><file name="Segment.php" hash="32b94ab790a3508658a663d2e2361065"/><file name="Setup.php" hash="442dda9eabbd1fb6e88e7d2baaa2a28c"/><dir name="Wishlist"><file name="Collection.php" hash="6d75820d8b8d5ed1af2fc77522205a8d"/></dir><file name="Wishlist.php" hash="6047d392299414bbf17c9aaf83a159ff"/></dir><file name="Review.php" hash="e9ca80670d3a7befea508d88c8970c32"/><file name="Rules.php" hash="98b8f5541915251e59b74c60443772ac"/><dir name="Sales"><file name="Observer.php" hash="5147fdc3908b9e9d4b3ef5183f7f5288"/><file name="Order.php" hash="c3d2dae9d43a979f427c9b60ae14a0cd"/><file name="Quote.php" hash="9dcff90aa74c8e04cbc2cd9cf55ede67"/></dir><dir name="Sms"><file name="Campaign.php" hash="010e082c861a29930b78dced7bd0b22b"/></dir><dir name="Sweettooth"><file name="Observer.php" hash="36ce70503cd8abbafd8b5340a06d2072"/></dir><file name="Wishlist.php" hash="7e6bdf367eb399024afb91a9575e296f"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="ConnectorController.php" hash="799e6b5bedd00ae6e3258aa4223cf930"/><file name="CustomerController.php" hash="c28f84e3c4d7603382e33a931f3c831a"/><dir name="Email"><file name="AutomationController.php" hash="028db05f18ee05a7d7869f22f5b6c41c"/><file name="CampaignController.php" hash="b74d05cbce2391ef3fb3d148d5822d20"/><file name="CatalogController.php" hash="e43c7a33bec07c1cedbd73a0aa9c54af"/><file name="ContactController.php" hash="4594622b77cabb08b75bb632a178964f"/><file name="DashboardController.php" hash="13572a0ae47a09ed1cd4af0b870e8320"/><file name="ImporterController.php" hash="21540bb7f839cafcc6f70b7bee5b2774"/><file name="OrderController.php" hash="64b719cf2a80847b82a7849be7ffe68c"/><file name="QuoteController.php" hash="4167890a19fa6716e64a79afca55e2e3"/><file name="ReviewController.php" hash="13d74d52e160555e0c029a360d562a51"/><file name="RulesController.php" hash="6e33826563242604e83fe25344f7bf3e"/><file name="StudioController.php" hash="c24e13f8fb26805937b71d8d3eebcddc"/><file name="WishlistController.php" hash="b4d3a20f38a0a45886cc7dfa963894dc"/></dir><file name="RulesController.php" hash="98e5a0fc5983baf46eee5eb1bd185333"/><dir name="System"><dir name="Email"><file name="TemplateController.php" hash="98d9c1f5aae8f94de0102ccdcdb2fe7c"/></dir></dir><dir name="Widget"><file name="ChooserController.php" hash="7607cec3305ab9d4381c89fa12703a64"/></dir></dir><file name="AjaxController.php" hash="cd16d360815bfcf72b77a78d9dc938f0"/><dir name="Customer"><file name="AccountController.php" hash="4b78330a34d2985fa2526c935073a65f"/><file name="NewsletterController.php" hash="f7425d9524504163d6e91ae3fa640c88"/></dir><file name="DynamicContentController.php" hash="dcfc5df598412e5f630608cf08768c72"/><file name="EmailController.php" hash="d9dd2de4b462112118e5e32b02978e1c"/><file name="FeefoController.php" hash="f3613defc5132cdabc5536483ae75bb5"/><file name="ProductsController.php" hash="d54c85bc071a0fcda6a8e5969e3c5f63"/><file name="QuoteproductsController.php" hash="3867af36e829e4cf22d81a4d96757d6a"/><file name="ReportController.php" hash="c8c670deae7bec4e17bb3251015dfffb"/><file name="ResponseController.php" hash="fa37fedd598a8b353ee13d8e962759bd"/><file name="WishlistController.php" hash="a8d20ad1304bf13a5de8847e726d9ee5"/></dir><dir name="etc"><file name="adminhtml.xml" hash="8f7bee00ad2baf155ed0e7cbe2dd1e25"/><file name="api2.xml" hash="e6be0fdc4206cb242f22b2335476b497"/><file name="config.xml" hash="ce750c73d71c98250ad440ba1657cb02"/><file name="files.yaml" hash="bdf56ddeb595f73caabe120894d0b286"/><file name="system.xml" hash="f335383d2689bb449c37b63fcf6984a3"/></dir><dir name="sql"><dir name="email_connector_setup"><file name="mysql4-install-0.1.0.php" hash="26042b2a6d9cd6241d52f826188483f4"/><file name="mysql4-install-3.0.0.php" hash="0454445ec8e47bf09cc5a94c5bffc03a"/><file name="mysql4-install-4.0.0.php" hash="a0234b5c4bc00d20564c57e8338784d7"/><file name="mysql4-install-5.0.0.php" hash="a3188b1ded81bbd5b59b63f6e38de4de"/><file name="mysql4-upgrade-1.1.1-1.1.2.php" hash="7fae25a8ae47fe0ba692076ac04237a4"/><file name="mysql4-upgrade-1.1.2-1.5.0.php" hash="34ac896f6e681c56d8d2dd6bf411215e"/><file name="mysql4-upgrade-1.5.0-2.0.0.php" hash="75020a02255ea63e9bc4599d85ab4e2f"/><file name="mysql4-upgrade-2.0.0-2.0.1.php" hash="2f71a10d19eddd97c9eba9af840e4f09"/><file name="mysql4-upgrade-2.0.1-2.0.2.php" hash="6b7af944ebc76328d16223cdb245c568"/><file name="mysql4-upgrade-2.0.3-2.0.4.php" hash="d71788287371f0f5416f81e03245d281"/><file name="mysql4-upgrade-2.0.4-2.0.5.php" hash="f2080852fd1e0512da9bf1074767a9b3"/><file name="mysql4-upgrade-2.0.5-2.0.6.php" hash="438ea31fe7b8ed88160ae8c231ec9ccc"/><file name="mysql4-upgrade-3.0.1-3.0.2.php" hash="7c53b291487987ae73929acea576bc51"/><file name="mysql4-upgrade-3.0.3-3.0.4.php" hash="7adaa83b6da0000ca7d1491c3af76682"/><file name="mysql4-upgrade-3.0.4-3.0.5.php" hash="c08939ca13713f335bacc593d0e780d3"/><file name="mysql4-upgrade-3.1.2-3.1.3.php" hash="f5ba2c14acd01144297fab7070558ddd"/><file name="mysql4-upgrade-3.2.1-3.3.0.php" hash="1b6540a260f25ae849f433cb60f0c39d"/><file name="mysql4-upgrade-3.3.0-3.3.1.php" hash="c7c63ebee282543d71dd4f8699d27c86"/><file name="mysql4-upgrade-3.3.2-3.3.3.php" hash="1707de69aa9294821195cfafa1a1798e"/><file name="mysql4-upgrade-3.4.0-4.0.0.php" hash="9ca61b554058b976031c4dfc2baa5a48"/><file name="mysql4-upgrade-4.0.0-4.1.0.php" hash="987700db6020c9bc607117ef3d46f771"/><file name="mysql4-upgrade-4.1.3-5.0.0.php" hash="c762c1263e3595162100ff48db52597b"/><file name="mysql4-upgrade-5.0.0-5.0.1.php" hash="a8603a251c822c67d0afde4b64d82da6"/><file name="mysql4-upgrade-5.0.4-5.1.0.php" hash="4640e2ea0587c2b3ead18cfa29b5fa04"/></dir></dir></dir><dir name="Mailcheck"><dir name="Helper"><file name="Data.php" hash="589b8909f08143ad44234f05911488df"/></dir><dir name="etc"><file name="config.xml" hash="841542418fa8e50cb53a3bde50ce38f4"/><file name="jstranslator.xml" hash="d0f175944d2c14badd2cade8d4a40585"/><file name="system.xml" hash="7d64665436e5eb104a1316c32338ec72"/></dir></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="connector.xml" hash="4a5ad4efa2ea66fe9deccb81196582a1"/><file name="mailcheck.xml" hash="ff97a71e8124f8e6e55d951124addace"/></dir><dir name="template"><dir name="connector"><file name="additional-newsletter-pref.phtml" hash="5a5eb99d46d23dd618106f32688daabd"/><file name="basket.phtml" hash="cad15b4b20ad3489a6342d62dfdf9e42"/><file name="coupon.phtml" hash="07888698e1fb67778e4867a9b2317593"/><dir><dir name="creditmemo"><file name="items.phtml" hash="e911de4e7f2717698e4041c7046ed5a5"/><file name="new.phtml" hash="b6cd1d03e035c487f4b7f42e42782dd9"/><file name="newguest.phtml" hash="18b75cf7b4cee9b6853a98285e2195c1"/><file name="update.phtml" hash="fca8e2a9664e083a1395db8e6deddb02"/><file name="updateguest.phtml" hash="bbedb48ecdfc3983feba709ab9cbea4d"/></dir><dir name="customer"><file name="stats.phtml" hash="b26f6331faa6b3e662b14e5bde8c66d8"/></dir><dir name="feefo"><file name="reviews.phtml" hash="cd1dc08242588b1427534326eb7525ab"/><file name="score.phtml" hash="74d48f68f5d0ec044a8c067fa7f3c631"/></dir><dir name="invoice"><file name="new.phtml" hash="5071b6ffa75d7400bb5e4f3d4304f04a"/><file name="newguest.phtml" hash="254828a0c9400232ba62b2518b4bb246"/><file name="update.phtml" hash="3832a322ca53f4676c5cffeb47f2064b"/><file name="updateguest.phtml" hash="7fc8cfdd31af6c65a00e45d301d6bf69"/></dir><dir name="order"><file name="items.phtml" hash="9d149cbb8fe1e4c2736c6d77323abfc0"/><file name="new.phtml" hash="7d0cae172eb123d8ed491f6e8cc7e3d2"/><file name="newguest.phtml" hash="a1cca92e394fdb476030ee214ce9bbe1"/><file name="update.phtml" hash="471adf8334316e1e3270af403c1da796"/><file name="updateguest.phtml" hash="66ce43e3a2f70a70cd931253d0af4b95"/></dir><dir name="product"><file name="list.phtml" hash="e70abd933d0ede5ce2f0816d73a6540c"/><file name="nosto.phtml" hash="4c16e297faf2ad1a55a9e0a5309dd2aa"/><file name="price.phtml" hash="4d0674f2d03160617536338744330ff4"/></dir><dir name="shipping"><file name="new.phtml" hash="f0f419c9cc62ff12c94ec3426e3ae566"/><file name="newguest.phtml" hash="6e35f29c9643612a446b289e75831edd"/><file name="update.phtml" hash="b49ceefccea37e8cae2f4bc13dc0d6d6"/><file name="updateguest.phtml" hash="ddb77ce7d58b3d29ecd779078ecbd59d"/></dir></dir><file name="email_capture.phtml" hash="879403b63407bed8b2c17ff5ee7592e2"/><file name="email_capture_init.phtml" hash="6cace9896c340d3bc05e54b48e376888"/><file name="review.phtml" hash="5ea70647870d9422847f6adbbac2e7b0"/><file name="roi_code.phtml" hash="108934652f443d0328a60893cad70742"/><file name="tracking_code.phtml" hash="1bbccb72db1a769ef8e14e0df2c9febd"/><file name="wishlist.phtml" hash="50fba04e823d37802f2f896894ad7ab0"/></dir><dir name="page"><file name="blank.phtml" hash="7a10ef1534ebe3b449cf051799e5a066"/></dir><dir name="mailcheck"><file name="scripts.phtml" hash="adbf073bb2cb944c44b11d79bcca1eb5"/></dir></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><dir name="connector"><file name="email.xml" hash="907e33ef044db87b0cbdadd480c5c43a"/></dir></dir><dir name="template"><dir name="connector"><file name="appcues.phtml" hash="11bb1143b5334bbcbf182d17a118f281"/><file name="beacon.phtml" hash="18d507b6041ac64b167d27a606fdcb83"/><dir><dir name="customer"><file name="stats.phtml" hash="39212effdbf09ea987f06a81b7f9d9bc"/></dir><dir name="dashboard"><file name="accountbar.phtml" hash="6041f857396a9ba87d737d6fdfcdc775"/><file name="content.phtml" hash="9e5c843b6323ea80c410662fb4f39793"/><file name="logs.phtml" hash="8d1f415d0e7f90e5aa186a7a2dbafd63"/><file name="status.phtml" hash="2b6576584376f3573c3b9a899d8afbb1"/><dir name="tabs"><dir name="analysis"><file name="index.phtml" hash="a9ef11d470dae139ad5243fc1bc91431"/><file name="rfm.phtml" hash="8129887ef234cd4571aa28c5fd124d3b"/></dir><file name="data.phtml" hash="6be723c64762c23b0eebfc92021afee2"/><dir name="general"><file name="index.phtml" hash="68fa10c2aeef745d80b60317c9461a94"/></dir></dir><file name="tabs.phtml" hash="f6de685d30e2d67ae411ce010bc713a3"/></dir><dir name="system"><dir name="config"><file name="createdatafield.phtml" hash="a1a571fa0957d7fadf346d1b89c5a0b0"/></dir><dir name="email"><dir name="template"><file name="edit.phtml" hash="59cf12fc34d44601486fc056c5c3339a"/></dir></dir></dir></dir></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Dotdigitalgroup_Email.xml" hash="8745c0b2eae08783b6203a613acdbcb8"/><file name="Dotdigitalgroup_Mailcheck.xml" hash="247272e2cc981e8b91af95962b0f0470"/></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="connector"><file name="config.css" hash="433bf71f40517a667ee9aba495f1746c"/><file name="dashboard.css" hash="08e2c6ae799757fd68a85781311f2b97"/></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="js"><dir name="mailcheck"><file name="init.js" hash="585e518d5d2dd2d0f50243f51a3c881b"/></dir></dir></dir></dir></dir></target><target name="magelocale"><dir name="en_US"><file name="Dotdigitalgroup_Email.csv" hash="67022e746e28d74b86509b70f336db4f"/></dir></target><target name="mageweb"><dir name="lib"><dir name="Raygun4php"><dir><dir name="Exception"><file name="UnsatisfiedDependencyException.php" hash="32b7fff3854ba20107b89a100550dc41"/><file name="UnsupportedOperationException.php" hash="951d8a9fc2bdfae0acc432ea6dabffa4"/></dir></dir><file name="README.md" hash="0aed7c6a52f358016b2c1b8f5e4e35ed"/><file name="Raygun4PhpException.php" hash="f6d4ef9f38a74578b115fbdf6e2fd3c5"/><file name="RaygunClient.php" hash="f9511057d3280a3a6d02b9b2a1517fd1"/><file name="RaygunClientMessage.php" hash="df9bd918ff13b50146b252208a5ce737"/><file name="RaygunEnvironmentMessage.php" hash="a7dff1914fcb7f6a61577b758edba47e"/><file name="RaygunExceptionMessage.php" hash="fcf7e3cbf9fbafb3ff4a6d56135a190d"/><file name="RaygunExceptionTraceLineMessage.php" hash="8aa87f7ddee8c00855737e85bbcb29cd"/><file name="RaygunIdentifier.php" hash="49461fa525594b15f3a350fd1da1c2a0"/><file name="RaygunMessage.php" hash="865eaa58577265fb52a85ee861102625"/><file name="RaygunMessageDetails.php" hash="2403453f658d7a943bd476e7fad186d7"/><file name="RaygunRequestMessage.php" hash="038703138dcd19aefbc9a7e44bd6f198"/><file name="Uuid.php" hash="9db740992b0dad17bf2047d13565b428"/><file name="cacert.crt" hash="47961e7ef15667c93cd99be01b51f00a"/></dir><dir name="connector"><dir><dir name="feefo"><file name="feedback-no-th.xsl" hash="239c40764293a65b85d9f86479ced8b6"/><file name="feedback.xsl" hash="7167570192e48fdf57baa9c2cf56986b"/></dir></dir></dir></dir><dir name="js"><dir name="connector"><dir><dir name="procolor-1.0"><dir name="img"><file name="procolor_win_bars.png" hash="a8e41fdddd2253309e0b3e5154668c24"/><file name="procolor_win_bg.gif" hash="c0558cecd0e0ffb9ca89efe00f422261"/><file name="procolor_win_bg.png" hash="4e2a34cc64888fe264fcf6249dfe40da"/><file name="procolor_win_boxes.png" hash="e971c1ca87a0cb52d32408270d00a0da"/><file name="procolor_win_close.png" hash="20a8bb9433157962ab25d86d28d088a3"/><file name="procolor_win_drop.png" hash="9ddce741de330573f082ffe83005d691"/><file name="procolor_win_palette_raw.png" hash="ea98dde528e987029af6e24dbef53922"/><file name="procolor_win_sel_circle.gif" hash="3674b62db5a6eaa4dcedb0749dde4106"/><file name="procolor_win_sel_circle.png" hash="d76195d1777e9a14ebc1a242ab712037"/><file name="procolor_win_sel_rect.gif" hash="b74a72aaf1ea21d55b8751079f283537"/><file name="procolor_win_sel_rect.png" hash="5513589e2b6dc1a980a4e65a746005d0"/><file name="procolor_win_wheel_black.png" hash="62353005bb70bbfa8ffd700112d72582"/><file name="procolor_win_wheel_rgb.jpg" hash="afdd3852c3788a58794ddf1de9557fd8"/></dir><file name="procolor.compressed.js" hash="79e463efad21212e4096d40b9e17d96c"/><file name="procolor.js" hash="93ec3cb6a0356cce4cf8e51006dfaeec"/></dir></dir><file name="selector.js" hash="5dc1900967679a41c70ed5f1755240e2"/></dir><dir name="mailcheck"><file name="magentoMailcheck.js" hash="b4eaabac0b6e8753e09ab6ea449e6519"/><file name="mailcheck.min.js" hash="25966edf6e585822063b48dd34bcee9b"/></dir></dir></target></contents>
32
  <compatible/>
33
  <dependencies><required><php><min>1.5.2</min><max>6.0.0</max></php><extension><name>curl</name><min>7.15.1</min><max>7.30.0</max></extension></required></dependencies>
34
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>dotmailermagento</name>
4
+ <version>5.2.0</version>
5
  <stability>stable</stability>
6
  <license uri="http://opensource.org/licenses/osl-3.0.php">OSL v3.0</license>
7
  <channel>community</channel>
26
  &#xD;
27
  + Reporting: Now within the Newsletter section in Magento you can view the import status of contacts and orders, as well as the sending status of transactional and lost basket emails.</notes>
28
  <authors><author><name>Calin Diacon</name><user>cdiacon</user><email>calin.diacon@dotmailer.com</email></author><author><name>Adeel Qamar</name><user>adeel</user><email>adeel.qamar@dotmailer.com</email></author></authors>
29
+ <date>2015-12-14</date>
30
+ <time>15:41:46</time>
31
+ <contents><target name="magecommunity"><dir name="Dotdigitalgroup"><dir name="Email"><dir name="Block"><dir name="Adminhtml"><dir name="Automation"><file name="Grid.php" hash="7059908834fdfed28182e2fe672e0d33"/></dir><file name="Automation.php" hash="7e1b876bf5619cb4533fb935b67b7103"/><dir name="Campaign"><file name="Grid.php" hash="ed3b11f23f8029c7af4dd63f5dceed0e"/></dir><file name="Campaign.php" hash="1b09266adba5191df1d39330e4832d41"/><dir name="Catalog"><file name="Grid.php" hash="e5545ec424a1011117e869984e90a754"/></dir><file name="Catalog.php" hash="f9d97d5ff57987714788ef0511405d46"/><dir name="Column"><dir name="Renderer"><file name="Delete.php" hash="2741323edb5151b4211244ccf115d796"/><file name="Imported.php" hash="894d7ead94e40d20cabb082346830c35"/><file name="Reset.php" hash="f85c3f41af7e6929dc169fb231e24162"/><file name="Script.php" hash="d4f0356fc226028af5857549733a84d3"/><file name="Status.php" hash="92c7256da2ca42ec9c11c255e2cd4e51"/><file name="Sync.php" hash="c85a2e4784b73e709bfe82468a4200b0"/><file name="Website.php" hash="ca2c1f34b86e5ccf022fdc395cf07084"/></dir></dir><dir name="Config"><dir name="Automation"><file name="Customdatafields.php" hash="7ae2aef7d636c19dd2fcc9ba57ab4635"/></dir><file name="Customdatafields.php" hash="ee28b3fe691ade18fcc217b330d8dac6"/><dir name="Rules"><file name="Customdatafields.php" hash="c56d50e7eb3854ec67e026023d38d4d7"/></dir><file name="Select.php" hash="b92091e08d7e24032be9b8aea033b81d"/></dir><dir name="Contact"><dir name="Edit"><file name="Form.php" hash="1d0f6eba1f3a59c38ccfc01b3d5eb447"/></dir><file name="Edit.php" hash="051408ea54be21761e1ab2210ea0bc30"/><file name="Grid.php" hash="5d3dd60e4a530a64370c744717b2b49e"/></dir><file name="Contact.php" hash="ecf231c9d8eb789a4f0863f92d323c38"/><dir name="Customer"><dir name="Tab"><file name="Stats.php" hash="ee77ed9c68e790842d308eab4dd8e8c2"/></dir><file name="Tab.php" hash="507172f634c4db4350fb0288464a348a"/></dir><dir name="Dashboard"><file name="Switcher.php" hash="dac118060238aef3b2a4f60d11c0a3eb"/><dir name="Tabs"><dir name="Analysis"><file name="Abandonedcarts.php" hash="b5ca264c215c98545c882646f4d44bd2"/><file name="Customer.php" hash="01ab9dc18bce37c70de130393ed85902"/><file name="Rfm.php" hash="29e94c92b7c577274a4a70f314e6e5a4"/><file name="Sales.php" hash="6abc5d3bb6f1e668ffa696cd34e3adf4"/><file name="Subscriber.php" hash="4dc3d4a2553a64befd5a94cd64d9658e"/></dir><file name="Analysis.php" hash="b2d6a5a2bab0c8117b89d0f6e91051e2"/><dir name="General"><file name="Data.php" hash="f55fbdda9c380b3ad01c4672e05fcea7"/></dir><file name="General.php" hash="d79b87c420c7c708f7ef86fe18d244c0"/><file name="Logs.php" hash="1fc8ae9c5e8370718f70075afa8e3d81"/><file name="Status.php" hash="48737849dac3ebaba5df9d3ad0b3f6ad"/></dir><file name="Tabs.php" hash="8da89ad9d407a489b04ae47924e0b30f"/></dir><file name="Dashboard.php" hash="1f06a5dcb5a934d239c9627b9bbea822"/><dir name="Importer"><file name="Grid.php" hash="8de43bab33f75c0f64198709dbb1b5e9"/></dir><file name="Importer.php" hash="833d5c2a48f40c9fa27aed4bbd74bd2c"/><dir name="Order"><file name="Grid.php" hash="96e62a99c8295f442377124d37a114f2"/></dir><file name="Order.php" hash="dc6b0cd9c9ac9d8c291f72dbbd4c1a15"/><dir name="Quote"><file name="Grid.php" hash="241108bfb525bbbad0c543fef7673546"/></dir><file name="Quote.php" hash="edcacdf20da2f046ab4654dceef2399f"/><dir name="Review"><file name="Grid.php" hash="85919ad9bfc19eec32e673a699f850c5"/></dir><file name="Review.php" hash="822d452ee01499b4b493e19e6d810afd"/><dir name="Rules"><dir name="Edit"><file name="Form.php" hash="13f8b943873d30609ca3a2af6c72f502"/><dir name="Tab"><file name="Conditions.php" hash="1a11c398065666e0b77e0bf30827c81e"/><file name="Main.php" hash="aaf575a2db857eaac0f9e5006064fc3d"/></dir><file name="Tabs.php" hash="99c7258e593bff52b3976c359ad4235a"/></dir><file name="Edit.php" hash="bf987a05ecfc0c7540c6f86275582733"/><file name="Grid.php" hash="6a9077456ab1b8b72ed26406af336437"/></dir><file name="Rules.php" hash="4dc3b7ac89293d996f3e2a8fd3d12eb9"/><dir name="Sales"><dir name="Order"><dir name="Creditmemo"><file name="View.php" hash="ab9cfcc946e03f8b8fdf33d606222427"/></dir></dir></dir><dir name="System"><dir name="Advanced"><file name="Deletecontactids.php" hash="293320187b8ec5514ff69e027a808321"/><file name="Notification.php" hash="0ea9608a09ae2dad6e4c78738c583c2d"/><file name="Reimportcatalog.php" hash="a497ac63a609440dbd723bc3a2a2819f"/><file name="Reimportorders.php" hash="d29f38c149d2fbfb6b8589491b050247"/><file name="Reimportquotes.php" hash="6089df53be37afe6c4f9f10147730bc7"/><file name="Reimportreviews.php" hash="2c14cd482a448be01c8ceb3d0a9c7dd5"/><file name="Reimportsubscribers.php" hash="43b98ca37accc978ba8e9bd087b9a2c7"/><file name="Reimportwishlists.php" hash="f6bce4f06bc91f69242bd2f59220285d"/><file name="Reset.php" hash="41053dc403c95328402c0e3886307859"/><file name="Resetcustomersimport.php" hash="21bab61f962ed4a3a3c14656781c4e3b"/><file name="Runcatalogsync.php" hash="ecaa5a7b8ebc78a5f84f0870a90a0cd9"/><file name="Runcontactsync.php" hash="747b338c4fe3d3603ce60a68b7e1d5c4"/><file name="Runimportersync.php" hash="e2eee8773c0019dd7e8c5d9553a75d39"/><file name="Runordersync.php" hash="58d7672919b3387d73472e6a10a850af"/><file name="Runquotesync.php" hash="c4bbc5616a080b5dbaad02717225f507"/><file name="Runreviewsync.php" hash="dafef47cb94f595af038698f1f233421"/><file name="Runsubscribersync.php" hash="090707901889d4bae741fe59747cfbff"/><file name="Runwishlistsync.php" hash="8453adae849a6ad9aaecb1f27dc46b72"/><file name="Setupdatafields.php" hash="48373eb08bb90bf4417c830723a4df11"/><file name=".DS_Store" hash="194577a7e20bdcc7afbb718f502c134c"/></dir><file name="Ajaxvalidate.php" hash="2647705ecfcd6c1cd39489febd38b490"/><dir name="Automation"><file name="Connect.php" hash="6a104d54949f4dd845e2dd273ec59b59"/></dir><dir name="Config"><file name="Addressbook.php" hash="ac68b4c742413e5cdcce9c5c78e836a9"/><file name="Colorpicker.php" hash="a22c6d50728e2edaf43399093b1f4a61"/><file name="Datafield.php" hash="5b30377c5423fcccd424c4ca0ad3224f"/><file name="Enterprisevalidator.php" hash="92b60f1f8ca067887dc17afac7be6f24"/><file name="Resetcontacts.php" hash="22ef003f51db85bed2ebb85c5834b352"/><file name="Resetguests.php" hash="002ced7daec912bdad0890b26afcc4a0"/><file name="Resetsubscribers.php" hash="d5be1a595576ea63883c0249be835c7f"/><file name="Validator.php" hash="995386364c7434ad50bb87477c46f6eb"/><file name="Waitingfield.php" hash="7ffe44f6ae4b879336344882ba7e020e"/><file name="Wrapper.php" hash="2813c1d11255f10bc1ff804650a634b7"/></dir><dir name="Dynamic"><file name="Addressbookbutton.php" hash="744ca8346bf67fb7c7b96f92ad67e993"/><dir name="Basket"><file name="Crosssell.php" hash="aa00e37f15d822bf8448fbe79d70d1d5"/><file name="Related.php" hash="a1b0f467eee4513be21fdc58bdf6e59e"/><file name="Upsell.php" hash="dc7a0dbea77d7c88c9fbb660131d1773"/></dir><file name="Bestsellers.php" hash="47d8b2f89290c034c1c74ae0dad5463a"/><file name="Couponinfo.php" hash="646acc6eb041db4041c1df04e2e2fe26"/><file name="Creditmemonew.php" hash="c36bcff6b33f441b11cc5a45a5abe60d"/><file name="Crosssell.php" hash="e1085bb71156dcb1bb012044c5d4a076"/><file name="Datafieldbutton.php" hash="369eec55df4d51ce367abb9c81402976"/><file name="Fallbackchooser.php" hash="28601a2fb0407ece1269a9e3d95757de"/><file name="Fallbackcontainer.php" hash="e3044fc492790758b646a9a656ea1f79"/><dir name="Feefo"><file name="Reviews.php" hash="8a32c6e10d93621fe63c6307c5da17da"/><file name="Score.php" hash="a5a2b4a16e1645107c9dd360dbf03a6b"/></dir><file name="Gridlist.php" hash="9329c6aa0ab3118b8f03af66761f038d"/><file name="Lostbasket.php" hash="506dd83329b4b342af7239a419925a93"/><file name="Manualchooser.php" hash="d9e2e198bb53fdf4a329915db7d07281"/><file name="Manualcontainer.php" hash="689696990974ce7cd1db3df3b73bb864"/><file name="Mostviewed.php" hash="cd49997a51f34aa36470dae896336fee"/><file name="Nosto.php" hash="ec90847ea7170baf8bc197057a13dcac"/><file name="Productpush.php" hash="2623fd4a941ff0e06504dc87b877bb50"/><file name="Recentlyviewed.php" hash="b73e60e76daaca15891e3cbc3700182c"/><file name="Related.php" hash="8b8022dac18181a3ab11837be34beced"/><file name="Review.php" hash="02a962eaf8231981f3d999be9a904c77"/><file name="Upsell.php" hash="898fe5ffc06063450034a8980f54db33"/><dir name="Wishlist"><file name="Crosssell.php" hash="c5c191438715b4f8ad36c62b705cfbb5"/><file name="Related.php" hash="d94412911bb7b85ce73718adc244d6e8"/><file name="Upsell.php" hash="d79aed858a2f4c2a29299fe8868d7ef7"/></dir><file name="Wishlist.php" hash="46c433fda7ec07c82025d88014d93471"/></dir><file name="Emailapivalidate.php" hash="d2b05128440217064792b82e0911e1e6"/><file name="Installation.php" hash="03707c42dcca01e1c156b48a6246a74c"/><dir name="Sms"><file name="Smsmessagefour.php" hash="d5f61111d9c58ee99dc10cb53afea060"/><file name="Smsmessageone.php" hash="00b65d2fcd16c11b93db8fff1ffda069"/><file name="Smsmessagethree.php" hash="eec8120e729a8dd0d248e184564eefcd"/><file name="Smsmessagetwo.php" hash="5f9fa9aca352c389a2cd75ef4366baed"/></dir><dir name="Url"><file name="Creditmemoupdate.php" hash="07113ed35f709e2e65c4c61521e560a8"/><file name="Creditmemoupdateguest.php" hash="034e033269cf142f930b6bff1c36d10a"/><file name="Customerconfirmation.php" hash="260a57d13b20cda7229eb33c9a73559c"/><file name="Customerconfirmed.php" hash="1743ddf8f308eb375f44ac32da3c3c91"/><file name="Customernew.php" hash="2878ef6c84303614ac3426838f8b65d5"/><file name="Invoiceupdate.php" hash="d4eb69e2e0f5e3b7e9ea1da5d3adb578"/><file name="Invoiceupdateguest.php" hash="1ebd3c14e380043fa16b7e36d821d15c"/><file name="Newcreditmemo.php" hash="20b55e9ce5371a371ff0c94bd0fda178"/><file name="Newcreditmemoguest.php" hash="5bd16181c61c1bfb98e6eea3e1c7281f"/><file name="Newinvoice.php" hash="ff95c29ff62359ab2d0366098029a704"/><file name="Newinvoiceguest.php" hash="d05a14bb52facf8635c89642165e39ec"/><file name="Neworder.php" hash="f67882d758909fda7364fa04cb51e2f0"/><file name="Neworderguest.php" hash="ac3b96283e7e5e3ce68e35bf84f9043d"/><file name="Newshipment.php" hash="f059c430fb155c8f9da10b6dd4c67e01"/><file name="Newshipmentguest.php" hash="f73d439fb93eb7f20289e021b10b69a8"/><file name="Orderupdate.php" hash="1c27f18bf9ff58c1f0668539b7ca6896"/><file name="Orderupdateguest.php" hash="d4a2479efa67e900fbe69f6954707076"/><file name="Shipmentupdate.php" hash="f6f2fe91a159b8bf9c70c3a8773a058c"/><file name="Shipmentupdateguest.php" hash="f0ce96ef2e562cae6d155e4d38f1dcac"/></dir></dir><dir name="Widget"><dir name="Chooser"><file name="Product.php" hash="b2f77407f30411d5447fbd1ffac3e415"/></dir></dir><dir name="Wishlist"><file name="Grid.php" hash="fc60afe27facac4a3fb4677ba1aa2fbe"/></dir><file name="Wishlist.php" hash="74f5fb49b057af35ee320f442c664a6b"/></dir><file name="Basket.php" hash="435ae9c1945579ac9da0b4b9025f5251"/><file name="Coupon.php" hash="fe3affe1a8d9a7a885d81f19f4adb51e"/><dir name="Customer"><dir name="Account"><file name="Books.php" hash="4513840169af5af3ecb5682111c8798b"/></dir></dir><file name="Edc.php" hash="5a9937398bd001e4cccb4620cedf624a"/><file name="Feefo.php" hash="69eae3b3ef72a610ef7671347095127e"/><dir name="Order"><file name="Creditmemo.php" hash="3b8be146530d2ef5b408c91dda73dd9d"/><file name="Invoice.php" hash="0e2e69a44e6952e4803afe0778b57567"/><file name="Shipping.php" hash="dec79e54b6029c8a478b519f99470e72"/></dir><file name="Order.php" hash="ce3098054467d5f5c21840469e5a512a"/><file name="Products.php" hash="d38365bc368c1d6e8e867de39c4a1495"/><dir name="Recommended"><file name="Products.php" hash="507a2ab57f718870064272084cf58bb6"/><file name="Wishlistproducts.php" hash="943a5b7697bacb899cb4e81a587fe334"/></dir><file name="Wishlist.php" hash="c0adad8c73b8cbf50596c202032422e3"/></dir><dir name="Helper"><file name="Config.php" hash="550a3230f37f0335de2267d037328358"/><file name="Dashboard.php" hash="19fb73389f2ef6a65c83325e8059de67"/><file name="Data.php" hash="460f62593e4052c9cb9391a466bf5e2a"/><file name="File.php" hash="93f15c70a6babbc8174098bcac0758be"/><file name="Recommended.php" hash="d77533b7b110828e07f7a9d9a80606fe"/><file name="Transactional.php" hash="a399ced08b031a9d5f4cdab3d28db6a6"/></dir><dir name="Model"><dir name="Abstract"><file name="Rest.php" hash="9dcbb422c4bb28bab2e88c9ba0b21cba"/></dir><dir name="Adminhtml"><dir name="Dashboard"><file name="Content.php" hash="a415e7d3fad5d27ce27f6172a50d4997"/><dir name="Tabs"><dir name="Analysis"><file name="Abandoned.php" hash="915c2e848bdb8c2629a90d6d4326b8e8"/><file name="Customer.php" hash="f56d20e6620589c31b8468d8f06d975e"/><file name="Orders.php" hash="9ac9df6980ecedcdcd2567656ebc3a4c"/><file name="Rfm.php" hash="1bd137928d701485c995b6a236ea1ef6"/><file name="Subscriber.php" hash="1b44da59332b7f233499abe3408ed70a"/></dir></dir></dir><file name="Observer.php" hash="ca17335a3a44a498b98170f7fe07ecb4"/><dir name="Source"><file name="Addressbooks.php" hash="af92437b4ed2a7fc6fede455420f11c0"/><file name="Addressbookspref.php" hash="be0c23d42b1a30f9c719c382be865e8d"/><dir name="Advanced"><file name="Abandonedlimit.php" hash="cd280151523091f85af89b0e22ff0abf"/><file name="Attributes.php" hash="9d08d5ab758447987c7ab9ba6d5c45b2"/><file name="Cronexpressionsone.php" hash="3877dd7041189aedf2c972b4361d2134"/><file name="Cronexpressionstwo.php" hash="0a97c58dff29e17a8448ff0c17e393d7"/><file name="Frequency.php" hash="28292fba0dd62bb6730ccd7bfa2b8e70"/><file name="Quoteattributes.php" hash="a1ddcbd001b9cd5b40157ba3c9435bef"/><file name="Transdata.php" hash="5c670a26d641c4b7e73bbaff48af3dd6"/></dir><file name="Attributes.php" hash="4b079aac1a25bec3c7c7e4152a66daa8"/><dir name="Automation"><file name="Programme.php" hash="d65ea01f846798ded93b420889da89c2"/></dir><file name="Campaigns.php" hash="35014267c18ab36cd6d849318914185e"/><dir name="Contact"><file name="Imported.php" hash="f44a906cb28c81c709c649b6ed8a0ccd"/><file name="Modified.php" hash="30e2f9e3d55ecd65a3cd0be1136db38d"/></dir><dir name="Customer"><dir name="Attributes"><file name="Select.php" hash="a77542918db6d3ba1c0298b475e8e9ed"/></dir></dir><file name="Datafields.php" hash="0a12d3c9c63476ea6981e416dfec6155"/><dir name="Datamapping"><file name="Datafieldaccess.php" hash="eba7f16c5e03ebc4bca00b1dcfc5dbc7"/><file name="Datafieldtype.php" hash="1b9ac7be92d60718981d4b17be4dbeda"/></dir><dir name="Dynamic"><file name="Displaytype.php" hash="3c84fc4962406d0e4b974e1c0e40f6e4"/><file name="Gridview.php" hash="5f033792839adf57fb37b277dc662237"/></dir><file name="Fontpicker.php" hash="a943850c33229bc471ad9e94023347e3"/><file name="Fontsize.php" hash="7eb842a6f895b3f8a279c53fa961f173"/><dir name="Importer"><file name="Mode.php" hash="6a4649e9311b6aaf2997a434438dfb29"/><file name="Status.php" hash="97dfab5de2ada065f335ede94301c27c"/></dir><dir name="Lostbaskets"><file name="Interval.php" hash="e3ed7930ab2b4526c0d6d2b76784331c"/><file name="Intervalminute.php" hash="7777a4757d8fa8deebfa94cca9ac4053"/></dir><file name="Orderstatus.php" hash="b02456d91d6e27ae9f330c2b16b0fb8f"/><file name="Publicdatafields.php" hash="28c5710e4618e3ee90e8432a66aad31e"/><dir name="Reviews"><file name="Delay.php" hash="393704cfa870165ef3b3ba59e454953b"/></dir><dir name="Rules"><file name="Condition.php" hash="377f65c9b5ee85e44b2fb4ac72021770"/><file name="Type.php" hash="2ccd61f1f5a098e876b79ac24529d41b"/><file name="Value.php" hash="94d4df5777c098e5f04f5be125772ce5"/></dir><file name="Styling.php" hash="ff6d61cb3b533db33c26fd303befd09c"/><dir name="Sweettooth"><file name="Yesno.php" hash="8345e519b0e6b8eb75bca72a16e66014"/></dir><dir name="Sync"><dir name="Catalog"><file name="Attributes.php" hash="323d3400bb91b89ff880421823f54052"/><file name="Type.php" hash="265862a32c3d11509bf4f9ec3fac65fb"/><file name="Values.php" hash="30eedb9ac9f72edb94d9abef91b9fcfb"/><file name="Visibility.php" hash="84cc10186bfc1d00dd967027f6c2a413"/></dir><file name="Yesno.php" hash="00c1b84aeb7f10fafea884410e4e408a"/></dir><dir name="Transactional"><file name="Mode.php" hash="02f45553e3bc342ddd3f205993a5384e"/><file name="Port.php" hash="3dc1b86a9034e2098f98921109d7187f"/></dir></dir></dir><dir name="Api2"><dir name="Subscriber"><dir name="Rest"><dir name="Admin"><file name="V1.php" hash="388059f47bcfc581ab084676e5fa5953"/></dir></dir></dir></dir><dir name="Apiconnector"><file name="Client.php" hash="9efa9cd1261165abd0c10bfff9a62b83"/><file name="Contact.php" hash="4f041bb45a08415faef415f6f7b8e2fb"/><file name="Customer.php" hash="b83a108e33c28fd6ec8c46adde3cb446"/><file name="Test.php" hash="c1c0274bb9b707af55ebdd7a4263bf6e"/></dir><file name="Automation.php" hash="bfa50bdec7764e573391003773d5c70b"/><file name="Campaign.php" hash="08e6f1f963c05afac07288b66b305609"/><file name="Catalog.php" hash="4aa25dbe530cb3f2ad6c57d0a0f88cb4"/><dir name="Connector"><file name="Account.php" hash="11d1674896695b0cd15b891ab5165fb4"/><file name="Campaign.php" hash="6358f4a22cadd80a985865353eec0112"/><file name="Datafield.php" hash="616fa71b66833c5bb6abd5c3e24876f9"/><file name="Order.php" hash="9d8025ac4b78a6e6320705a24c45af0a"/><file name="Product.php" hash="d1d35faa5a0d9f7a4e6ec900b8413cfa"/><file name="Quote.php" hash="3f5a94f5de010c1a2c5e96c27e6b14f4"/></dir><file name="Contact.php" hash="6f48a12c66a13e8aa2b4ef4828aaade8"/><dir name="Controller"><file name="Observer.php" hash="b01537009a0061c4266fbf2f8c52251d"/></dir><file name="Cron.php" hash="ff2fcf008d5b4b16e4c1cd5616bfcc5a"/><dir name="Customer"><file name="Guest.php" hash="bd1e1b8f82f25d808700c33f726cb19a"/><file name="Observer.php" hash="1562634f26756a4a6956816ff879a835"/><dir name="Review"><file name="Rating.php" hash="a91b68302e270aa08ea3762f63225a80"/></dir><file name="Review.php" hash="f17180683194eca1e49782c36e310200"/><dir name="Wishlist"><file name="Item.php" hash="c5faac748a970502457e92dbb1f2df69"/></dir><file name="Wishlist.php" hash="598eddf031e56fa752bf64fe32773da5"/></dir><file name="Customer.php" hash="e1dd3b479c9bbf125cf1ec36206d1c7f"/><dir name="Email"><file name="Template.php" hash="1b6d1a45b2af72a7a0aa92a835f2c558"/></dir><file name="Email.php" hash="6cf3844e7f4c75c534a50486631ec10e"/><file name="Feed.php" hash="09151ffa241990ed28f4acb99c7d72ca"/><file name="Importer.php" hash="fe40d3282cfc73fb90a8d8403e1cce1d"/><dir name="Newsletter"><file name="Observer.php" hash="33111ce1f54e8549c76955bbdf8c7ee2"/><file name="Sub.php" hash="a8a3fd672f62288be68001b3dc0bd58d"/><file name="Subscriber.php" hash="53c2ba474048763384dbcd0a6d590488"/></dir><file name="Order.php" hash="012e78e61057a2a33285a68ec93a7999"/><file name="Quote.php" hash="7c13764201f798464dfbbb6123370b76"/><dir name="Resource"><dir name="Automation"><file name="Collection.php" hash="b0e7826c3c153cac3d9bcaed76d1d75e"/></dir><file name="Automation.php" hash="902f696eb797323101f1a3b4c9abf84d"/><dir name="Campaign"><file name="Collection.php" hash="736cc4414d45d0dca975101bc75919c6"/></dir><file name="Campaign.php" hash="b2d6c5e4396794efd97562f2f23f2f40"/><dir name="Catalog"><file name="Collection.php" hash="ef157bd81d50a49e94058b986aac5b2e"/></dir><file name="Catalog.php" hash="e447f04904e9b964359497c79a6ea1eb"/><dir name="Contact"><file name="Collection.php" hash="a6da2689f90a668b08a549a200f9c6a9"/></dir><file name="Contact.php" hash="e7c076d0f5efe25bdf2a94503820e4cb"/><dir name="Importer"><file name="Collection.php" hash="605d0e7091f309e6a5f6e2d15513c8bf"/></dir><file name="Importer.php" hash="565087fd0df9fa9c2f84cc5ac5e20e17"/><dir name="Order"><file name="Collection.php" hash="87cf24cbbd5d6c0141b7c401238b5c50"/></dir><file name="Order.php" hash="11fcf2784fb5f80594e6672d867c3d5a"/><dir name="Quote"><file name="Collection.php" hash="4d9ed530f86edb24c2d8e89db3c2b6b1"/></dir><file name="Quote.php" hash="598747a52e2a2d41dd7582bba69fef4a"/><dir name="Review"><file name="Collection.php" hash="c7e03d9bd662df5dd2a1a31e246b97e4"/></dir><file name="Review.php" hash="761eec4269e616ec356634d9346020b6"/><dir name="Rules"><file name="Collection.php" hash="b0da90dc943d5c6a8dd47d3fe245677c"/></dir><file name="Rules.php" hash="4b688c552b91487c22482f059cb49bc9"/><file name="Segment.php" hash="32b94ab790a3508658a663d2e2361065"/><file name="Setup.php" hash="442dda9eabbd1fb6e88e7d2baaa2a28c"/><dir name="Wishlist"><file name="Collection.php" hash="6d75820d8b8d5ed1af2fc77522205a8d"/></dir><file name="Wishlist.php" hash="6047d392299414bbf17c9aaf83a159ff"/></dir><file name="Review.php" hash="e35b2eae08be29cf58686e8b1ab3854e"/><file name="Rules.php" hash="ab5ece927a411a2f77e5c515555f814f"/><dir name="Sales"><file name="Observer.php" hash="e9aa80219d3af19b2c8b0aa482e999ae"/><file name="Order.php" hash="cd5abf018a37abdccc60a595b5e00217"/><file name="Quote.php" hash="3c6dbd5722f6d2e50832b8ea14f726c1"/></dir><dir name="Sms"><file name="Campaign.php" hash="79714d233916229b905a081fbda164c5"/></dir><dir name="Sweettooth"><file name="Observer.php" hash="36ce70503cd8abbafd8b5340a06d2072"/></dir><file name="Wishlist.php" hash="5b14130bf3c4975f6c9335c5a1a993d4"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="ConnectorController.php" hash="1fcd0cc5396b18a78b00ef5cb17952f9"/><dir name="Email"><file name="AutomationController.php" hash="12ebc887254ac470d418492eb0bacba8"/><file name="CampaignController.php" hash="dbe5e2bbfeab5b33315dc63f9c5ee7ad"/><file name="CatalogController.php" hash="e43c7a33bec07c1cedbd73a0aa9c54af"/><file name="ContactController.php" hash="b9c342c297d243661cc9a8e58f778257"/><file name="DashboardController.php" hash="13572a0ae47a09ed1cd4af0b870e8320"/><file name="ImporterController.php" hash="21540bb7f839cafcc6f70b7bee5b2774"/><file name="OrderController.php" hash="64b719cf2a80847b82a7849be7ffe68c"/><file name="QuoteController.php" hash="4167890a19fa6716e64a79afca55e2e3"/><file name="ReviewController.php" hash="13d74d52e160555e0c029a360d562a51"/><file name="RulesController.php" hash="6e33826563242604e83fe25344f7bf3e"/><file name="StudioController.php" hash="c24e13f8fb26805937b71d8d3eebcddc"/><file name="WishlistController.php" hash="b4d3a20f38a0a45886cc7dfa963894dc"/></dir><file name="RulesController.php" hash="629d3517648602792cb43c71c97dc0c9"/><dir name="System"><dir name="Email"><file name="TemplateController.php" hash="98d9c1f5aae8f94de0102ccdcdb2fe7c"/></dir></dir><dir name="Widget"><file name="ChooserController.php" hash="7607cec3305ab9d4381c89fa12703a64"/></dir></dir><file name="AjaxController.php" hash="cd16d360815bfcf72b77a78d9dc938f0"/><dir name="Customer"><file name="AccountController.php" hash="4b78330a34d2985fa2526c935073a65f"/><file name="NewsletterController.php" hash="f7425d9524504163d6e91ae3fa640c88"/></dir><file name="DynamicContentController.php" hash="c8e6dd34bfadc36701ce15478c79cddd"/><file name="EmailController.php" hash="c9a9a843d2f8e386a5669fd27c1cd79c"/><file name="FeefoController.php" hash="f3613defc5132cdabc5536483ae75bb5"/><file name="ProductsController.php" hash="d54c85bc071a0fcda6a8e5969e3c5f63"/><file name="QuoteproductsController.php" hash="3867af36e829e4cf22d81a4d96757d6a"/><file name="ReportController.php" hash="c8c670deae7bec4e17bb3251015dfffb"/><file name="ResponseController.php" hash="b30cec90880bf1646cda32561f0edff3"/><file name="WishlistController.php" hash="a8d20ad1304bf13a5de8847e726d9ee5"/></dir><dir name="etc"><file name="adminhtml.xml" hash="6cceb9fd48260c046b190bc8002df639"/><file name="api2.xml" hash="e6be0fdc4206cb242f22b2335476b497"/><file name="config.xml" hash="ec90fc12ef21125e84e7fb902d59e39e"/><file name="files.yaml" hash="f84a8e4814f128cd57cabe1f64f5360e"/><file name="system.xml" hash="a5ae837b7a5dd269d2009c21739b003f"/></dir><dir name="sql"><dir name="email_connector_setup"><file name="mysql4-install-0.1.0.php" hash="26042b2a6d9cd6241d52f826188483f4"/><file name="mysql4-install-3.0.0.php" hash="0874c77e934295ba2c68f9d553eb90ba"/><file name="mysql4-install-4.0.0.php" hash="8b534d2b2f5e2ef7443108fdf57ebdf0"/><file name="mysql4-install-5.0.0.php" hash="911128612ce03cd67068bb821af024f0"/><file name="mysql4-upgrade-1.1.1-1.1.2.php" hash="7fae25a8ae47fe0ba692076ac04237a4"/><file name="mysql4-upgrade-1.1.2-1.5.0.php" hash="34ac896f6e681c56d8d2dd6bf411215e"/><file name="mysql4-upgrade-1.5.0-2.0.0.php" hash="75020a02255ea63e9bc4599d85ab4e2f"/><file name="mysql4-upgrade-2.0.0-2.0.1.php" hash="2f71a10d19eddd97c9eba9af840e4f09"/><file name="mysql4-upgrade-2.0.1-2.0.2.php" hash="6b7af944ebc76328d16223cdb245c568"/><file name="mysql4-upgrade-2.0.3-2.0.4.php" hash="97ff7b08533c33b97398b91ec68ceaf1"/><file name="mysql4-upgrade-2.0.4-2.0.5.php" hash="f2080852fd1e0512da9bf1074767a9b3"/><file name="mysql4-upgrade-2.0.5-2.0.6.php" hash="438ea31fe7b8ed88160ae8c231ec9ccc"/><file name="mysql4-upgrade-3.0.1-3.0.2.php" hash="7c53b291487987ae73929acea576bc51"/><file name="mysql4-upgrade-3.0.3-3.0.4.php" hash="7adaa83b6da0000ca7d1491c3af76682"/><file name="mysql4-upgrade-3.0.4-3.0.5.php" hash="c08939ca13713f335bacc593d0e780d3"/><file name="mysql4-upgrade-3.1.2-3.1.3.php" hash="f5ba2c14acd01144297fab7070558ddd"/><file name="mysql4-upgrade-3.2.1-3.3.0.php" hash="1b6540a260f25ae849f433cb60f0c39d"/><file name="mysql4-upgrade-3.3.0-3.3.1.php" hash="df5afd27a3d0e542f85f762af28d5c85"/><file name="mysql4-upgrade-3.3.2-3.3.3.php" hash="1707de69aa9294821195cfafa1a1798e"/><file name="mysql4-upgrade-3.4.0-4.0.0.php" hash="39b55697d152529c4ba32ff6b9cffa48"/><file name="mysql4-upgrade-4.0.0-4.1.0.php" hash="fd8ffbebbbc4d04a2b9e1c90344ae6cc"/><file name="mysql4-upgrade-4.1.3-5.0.0.php" hash="c762c1263e3595162100ff48db52597b"/><file name="mysql4-upgrade-5.0.0-5.0.1.php" hash="a8603a251c822c67d0afde4b64d82da6"/><file name="mysql4-upgrade-5.0.4-5.1.0.php" hash="4640e2ea0587c2b3ead18cfa29b5fa04"/></dir></dir></dir><dir name="Mailcheck"><dir name="Helper"><file name="Data.php" hash="589b8909f08143ad44234f05911488df"/></dir><dir name="etc"><file name="config.xml" hash="841542418fa8e50cb53a3bde50ce38f4"/><file name="jstranslator.xml" hash="d0f175944d2c14badd2cade8d4a40585"/><file name="system.xml" hash="7d64665436e5eb104a1316c32338ec72"/></dir></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="connector.xml" hash="4a5ad4efa2ea66fe9deccb81196582a1"/><file name="mailcheck.xml" hash="ff97a71e8124f8e6e55d951124addace"/></dir><dir name="template"><dir name="connector"><file name="additional-newsletter-pref.phtml" hash="db1251a0475c0947fd8e5854da4fd9ae"/><file name="basket.phtml" hash="fef3c4961495d63ae2a99c77dde591ff"/><file name="coupon.phtml" hash="2b5164dcd30b0311ed90e2e523403d65"/><dir><dir name="customer"><file name="stats.phtml" hash="b26f6331faa6b3e662b14e5bde8c66d8"/></dir><dir name="feefo"><file name="reviews.phtml" hash="cd1dc08242588b1427534326eb7525ab"/><file name="score.phtml" hash="74d48f68f5d0ec044a8c067fa7f3c631"/></dir><dir name="product"><file name="list.phtml" hash="a07f871bc93483fe16d9271f01a5dfef"/><file name="nosto.phtml" hash="fe3d6efaca5d739374c29046c87c8a86"/><file name="price.phtml" hash="4d0674f2d03160617536338744330ff4"/></dir></dir><file name="email_capture.phtml" hash="faf17eaeb824877f5998f1e3ab91504d"/><file name="email_capture_init.phtml" hash="f485003272b78400308d3af73574f4a7"/><file name="review.phtml" hash="38d28e9de70c280c73bcf25dd604581b"/><file name="roi_code.phtml" hash="108934652f443d0328a60893cad70742"/><file name="tracking_code.phtml" hash="1bbccb72db1a769ef8e14e0df2c9febd"/><file name="wishlist.phtml" hash="a891cd526661c4c6ec42c94af22b4bd0"/></dir><dir name="page"><file name="blank.phtml" hash="7a10ef1534ebe3b449cf051799e5a066"/></dir><dir name="mailcheck"><file name="scripts.phtml" hash="adbf073bb2cb944c44b11d79bcca1eb5"/></dir></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><dir name="connector"><file name="email.xml" hash="907e33ef044db87b0cbdadd480c5c43a"/></dir></dir><dir name="template"><dir name="connector"><file name="appcues.phtml" hash="11bb1143b5334bbcbf182d17a118f281"/><file name="beacon.phtml" hash="18d507b6041ac64b167d27a606fdcb83"/><dir><dir name="customer"><file name="stats.phtml" hash="0b842d3ccaa1cc33098be44a7935f97f"/></dir><dir name="dashboard"><file name="accountbar.phtml" hash="e01c432f6690613fd2845769777830cf"/><file name="content.phtml" hash="9e5c843b6323ea80c410662fb4f39793"/><file name="logs.phtml" hash="197596058232e7abd79dbbba860268cb"/><file name="status.phtml" hash="eb2fb3ef2d76df71fd453f1ddb376226"/><dir name="tabs"><dir name="analysis"><file name="index.phtml" hash="a9ef11d470dae139ad5243fc1bc91431"/><file name="rfm.phtml" hash="8129887ef234cd4571aa28c5fd124d3b"/></dir><file name="data.phtml" hash="bd7952625a3697cf4e5ef3cd0feb0a80"/><dir name="general"><file name="index.phtml" hash="68fa10c2aeef745d80b60317c9461a94"/></dir></dir><file name="tabs.phtml" hash="8df8befdd2f2300b177aacaca5d8a278"/></dir><dir name="system"><dir name="config"><file name="createdatafield.phtml" hash="a1a571fa0957d7fadf346d1b89c5a0b0"/></dir></dir></dir></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Dotdigitalgroup_Email.xml" hash="8745c0b2eae08783b6203a613acdbcb8"/><file name="Dotdigitalgroup_Mailcheck.xml" hash="247272e2cc981e8b91af95962b0f0470"/></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="connector"><file name="config.css" hash="433bf71f40517a667ee9aba495f1746c"/><file name="dashboard.css" hash="08e2c6ae799757fd68a85781311f2b97"/></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="js"><dir name="mailcheck"><file name="init.js" hash="585e518d5d2dd2d0f50243f51a3c881b"/></dir></dir></dir></dir></dir></target><target name="magelocale"><dir name="en_US"><file name="Dotdigitalgroup_Email.csv" hash="67022e746e28d74b86509b70f336db4f"/></dir></target><target name="mageweb"><dir name="lib"><dir name="Raygun4php"><dir><dir name="Exception"><file name="UnsatisfiedDependencyException.php" hash="32b7fff3854ba20107b89a100550dc41"/><file name="UnsupportedOperationException.php" hash="951d8a9fc2bdfae0acc432ea6dabffa4"/></dir></dir><file name="README.md" hash="0aed7c6a52f358016b2c1b8f5e4e35ed"/><file name="Raygun4PhpException.php" hash="f6d4ef9f38a74578b115fbdf6e2fd3c5"/><file name="RaygunClient.php" hash="f9511057d3280a3a6d02b9b2a1517fd1"/><file name="RaygunClientMessage.php" hash="df9bd918ff13b50146b252208a5ce737"/><file name="RaygunEnvironmentMessage.php" hash="a7dff1914fcb7f6a61577b758edba47e"/><file name="RaygunExceptionMessage.php" hash="fcf7e3cbf9fbafb3ff4a6d56135a190d"/><file name="RaygunExceptionTraceLineMessage.php" hash="8aa87f7ddee8c00855737e85bbcb29cd"/><file name="RaygunIdentifier.php" hash="49461fa525594b15f3a350fd1da1c2a0"/><file name="RaygunMessage.php" hash="865eaa58577265fb52a85ee861102625"/><file name="RaygunMessageDetails.php" hash="2403453f658d7a943bd476e7fad186d7"/><file name="RaygunRequestMessage.php" hash="038703138dcd19aefbc9a7e44bd6f198"/><file name="Uuid.php" hash="9db740992b0dad17bf2047d13565b428"/><file name="cacert.crt" hash="47961e7ef15667c93cd99be01b51f00a"/></dir><dir name="connector"><dir><dir name="feefo"><file name="feedback-no-th.xsl" hash="239c40764293a65b85d9f86479ced8b6"/><file name="feedback.xsl" hash="7167570192e48fdf57baa9c2cf56986b"/></dir></dir></dir></dir><dir name="js"><dir name="connector"><dir><dir name="procolor-1.0"><dir name="img"><file name="procolor_win_bars.png" hash="a8e41fdddd2253309e0b3e5154668c24"/><file name="procolor_win_bg.gif" hash="c0558cecd0e0ffb9ca89efe00f422261"/><file name="procolor_win_bg.png" hash="4e2a34cc64888fe264fcf6249dfe40da"/><file name="procolor_win_boxes.png" hash="e971c1ca87a0cb52d32408270d00a0da"/><file name="procolor_win_close.png" hash="20a8bb9433157962ab25d86d28d088a3"/><file name="procolor_win_drop.png" hash="9ddce741de330573f082ffe83005d691"/><file name="procolor_win_palette_raw.png" hash="ea98dde528e987029af6e24dbef53922"/><file name="procolor_win_sel_circle.gif" hash="3674b62db5a6eaa4dcedb0749dde4106"/><file name="procolor_win_sel_circle.png" hash="d76195d1777e9a14ebc1a242ab712037"/><file name="procolor_win_sel_rect.gif" hash="b74a72aaf1ea21d55b8751079f283537"/><file name="procolor_win_sel_rect.png" hash="5513589e2b6dc1a980a4e65a746005d0"/><file name="procolor_win_wheel_black.png" hash="62353005bb70bbfa8ffd700112d72582"/><file name="procolor_win_wheel_rgb.jpg" hash="afdd3852c3788a58794ddf1de9557fd8"/></dir><file name="procolor.compressed.js" hash="79e463efad21212e4096d40b9e17d96c"/><file name="procolor.js" hash="93ec3cb6a0356cce4cf8e51006dfaeec"/></dir></dir><file name="selector.js" hash="5dc1900967679a41c70ed5f1755240e2"/></dir><dir name="mailcheck"><file name="magentoMailcheck.js" hash="b4eaabac0b6e8753e09ab6ea449e6519"/><file name="mailcheck.min.js" hash="25966edf6e585822063b48dd34bcee9b"/></dir></dir></target></contents>
32
  <compatible/>
33
  <dependencies><required><php><min>1.5.2</min><max>6.0.0</max></php><extension><name>curl</name><min>7.15.1</min><max>7.30.0</max></extension></required></dependencies>
34
  </package>