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.
Release Info
Developer | Calin Diacon |
Extension | dotmailermagento |
Version | 6.1.0 |
Comparing to | |
See all releases |
Code changes from version 6.0.0 to 6.1.0
- app/code/community/Dotdigitalgroup/Email/Block/Adminhtml/Column/Renderer/Delete.php +0 -28
- app/code/community/Dotdigitalgroup/Email/Block/Adminhtml/Column/Renderer/Reset.php +0 -28
- app/code/community/Dotdigitalgroup/Email/Block/Adminhtml/Column/Renderer/Script.php +0 -26
- app/code/community/Dotdigitalgroup/Email/Block/Adminhtml/Column/Renderer/Status.php +0 -23
- app/code/community/Dotdigitalgroup/Email/Block/Adminhtml/Column/Renderer/Website.php +0 -18
- app/code/community/Dotdigitalgroup/Email/Block/Adminhtml/Dashboard/Tabs/Status.php +1 -1
- app/code/community/Dotdigitalgroup/Email/Block/Adminhtml/Importer/Grid.php +0 -7
- app/code/community/Dotdigitalgroup/Email/Block/Adminhtml/Rules/Edit/Tab/Conditions.php +1 -1
- app/code/community/Dotdigitalgroup/Email/Block/Adminhtml/System/Dynamic/Recentlyviewed.php +1 -2
- app/code/community/Dotdigitalgroup/Email/Block/Basket.php +1 -1
- app/code/community/Dotdigitalgroup/Email/Block/Customer/Account/Books.php +1 -1
- app/code/community/Dotdigitalgroup/Email/Block/Edc.php +1 -1
- app/code/community/Dotdigitalgroup/Email/Block/Recommended/Wishlistproducts.php +18 -7
- app/code/community/Dotdigitalgroup/Email/Helper/Config.php +4 -3
- app/code/community/Dotdigitalgroup/Email/Helper/Data.php +2 -4
- app/code/community/Dotdigitalgroup/Email/Model/Adminhtml/Dashboard/Tabs/Analysis/Orders.php +2 -1
- app/code/community/Dotdigitalgroup/Email/Model/Adminhtml/Source/Advanced/Attributes.php +4 -0
- app/code/community/Dotdigitalgroup/Email/Model/Adminhtml/Source/Advanced/Quoteattributes.php +4 -0
- app/code/community/Dotdigitalgroup/Email/Model/Adminhtml/Source/Orderstatus.php +4 -1
- app/code/community/Dotdigitalgroup/Email/Model/Adminhtml/Source/Sync/Catalog/Attributes.php +4 -0
- app/code/community/Dotdigitalgroup/Email/Model/Adminhtml/Source/Sync/Catalog/Type.php +3 -2
- app/code/community/Dotdigitalgroup/Email/Model/Adminhtml/Source/Sync/Catalog/Visibility.php +3 -4
- app/code/community/Dotdigitalgroup/Email/Model/Automation.php +65 -47
- app/code/community/Dotdigitalgroup/Email/Model/Campaign.php +32 -0
- app/code/community/Dotdigitalgroup/Email/Model/Connector/Order.php +8 -1
- app/code/community/Dotdigitalgroup/Email/Model/Connector/Quote.php +2 -1
- app/code/community/Dotdigitalgroup/Email/Model/Cron.php +14 -2
- app/code/community/Dotdigitalgroup/Email/Model/Customer/Observer.php +82 -27
- app/code/community/Dotdigitalgroup/Email/Model/Importer.php +5 -0
- app/code/community/Dotdigitalgroup/Email/Model/Newsletter/Observer.php +133 -120
- app/code/community/Dotdigitalgroup/Email/Model/Newsletter/Subscriber.php +1 -2
- app/code/community/Dotdigitalgroup/Email/Model/Resource/Automation.php +21 -0
- app/code/community/Dotdigitalgroup/Email/Model/Resource/Campaign.php +21 -0
- app/code/community/Dotdigitalgroup/Email/Model/Resource/Contact.php +1 -0
- app/code/community/Dotdigitalgroup/Email/Model/Resource/Importer.php +21 -0
- app/code/community/Dotdigitalgroup/Email/Model/Rules.php +1 -1
- app/code/community/Dotdigitalgroup/Email/Model/Sync/Contact/Bulk.php +2 -8
- app/code/community/Dotdigitalgroup/Email/controllers/EmailController.php +0 -58
- app/code/community/Dotdigitalgroup/Email/controllers/TrialController.php +110 -0
- app/code/community/Dotdigitalgroup/Email/etc/config.xml +19 -1
- app/code/community/Dotdigitalgroup/Email/etc/files.yaml +0 -2
- app/code/community/Dotdigitalgroup/Email/etc/system.xml +1 -1
- app/design/adminhtml/default/default/template/connector/beacon.phtml +28 -26
- package.xml +4 -4
@@ -1,28 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
class Dotdigitalgroup_Email_Block_Adminhtml_Column_Renderer_Delete
|
4 |
-
extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract
|
5 |
-
{
|
6 |
-
|
7 |
-
/**
|
8 |
-
* Render the grid columns.
|
9 |
-
*
|
10 |
-
* @param Varien_Object $row
|
11 |
-
*
|
12 |
-
* @return string
|
13 |
-
*/
|
14 |
-
public function render(Varien_Object $row)
|
15 |
-
{
|
16 |
-
$url = HtmlSpecialChars(
|
17 |
-
json_encode(
|
18 |
-
Mage::helper('adminhtml')->getUrl(
|
19 |
-
'*/*/delete', array('id' => $row->getId())
|
20 |
-
)
|
21 |
-
)
|
22 |
-
);
|
23 |
-
|
24 |
-
return '<button title="Delete" onclick="visitPage(' . $url
|
25 |
-
. ')" type="button" style=""><span><span><span>Delete</span></span></span></button>';
|
26 |
-
}
|
27 |
-
|
28 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1,28 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
class Dotdigitalgroup_Email_Block_Adminhtml_Column_Renderer_Reset
|
4 |
-
extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract
|
5 |
-
{
|
6 |
-
|
7 |
-
/**
|
8 |
-
* Render the grid columns.
|
9 |
-
*
|
10 |
-
* @param Varien_Object $row
|
11 |
-
*
|
12 |
-
* @return string
|
13 |
-
*/
|
14 |
-
public function render(Varien_Object $row)
|
15 |
-
{
|
16 |
-
$url = HtmlSpecialChars(
|
17 |
-
json_encode(
|
18 |
-
Mage::helper('adminhtml')->getUrl(
|
19 |
-
'*/*/reset', array('id' => $row->getId())
|
20 |
-
)
|
21 |
-
)
|
22 |
-
);
|
23 |
-
|
24 |
-
return '<button title="Reset" onclick="visitPage(' . $url
|
25 |
-
. '); return false" type="button" style=""><span><span><span>Reset</span></span></span></button>';
|
26 |
-
}
|
27 |
-
|
28 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1,26 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
class Dotdigitalgroup_Email_Block_Adminhtml_Column_Renderer_Script
|
4 |
-
extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract
|
5 |
-
{
|
6 |
-
|
7 |
-
/**
|
8 |
-
* Render the grid columns.
|
9 |
-
*
|
10 |
-
* @param Varien_Object $row
|
11 |
-
*
|
12 |
-
* @return string
|
13 |
-
*/
|
14 |
-
public function render(Varien_Object $row)
|
15 |
-
{
|
16 |
-
$html
|
17 |
-
= "<script type='application/javascript'>
|
18 |
-
function visitPage(url){
|
19 |
-
document.location.href = url;
|
20 |
-
}
|
21 |
-
</script>";
|
22 |
-
|
23 |
-
return $html;
|
24 |
-
}
|
25 |
-
|
26 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1,23 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
class Dotdigitalgroup_Email_Block_Adminhtml_Column_Renderer_Status
|
4 |
-
extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract
|
5 |
-
{
|
6 |
-
|
7 |
-
/**
|
8 |
-
* Render the grid columns.
|
9 |
-
*
|
10 |
-
* @param Varien_Object $row
|
11 |
-
*
|
12 |
-
* @return string
|
13 |
-
*/
|
14 |
-
public function render(Varien_Object $row)
|
15 |
-
{
|
16 |
-
if ($this->getValue($row) == '1') {
|
17 |
-
return $this->__('Subscribed');
|
18 |
-
}
|
19 |
-
|
20 |
-
return $this->__('Unsubscribed');
|
21 |
-
}
|
22 |
-
|
23 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1,18 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
class Dotdigitalgroup_Email_Block_Adminhtml_Column_Renderer_Website
|
4 |
-
extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract
|
5 |
-
{
|
6 |
-
|
7 |
-
/**
|
8 |
-
* Render grid columns.
|
9 |
-
*
|
10 |
-
* @param Varien_Object $row
|
11 |
-
*
|
12 |
-
* @return string
|
13 |
-
*/
|
14 |
-
public function render(Varien_Object $row)
|
15 |
-
{
|
16 |
-
return Mage::app()->getStore($this->_getValue($row))->getWebsiteId();
|
17 |
-
}
|
18 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -2075,7 +2075,7 @@ class Dotdigitalgroup_Email_Block_Adminhtml_Dashboard_Tabs_Status
|
|
2075 |
$version = 'Magento version : ' . Mage::getVersion() . 'V';
|
2076 |
}
|
2077 |
|
2078 |
-
$fh = fopen('/proc/meminfo', 'r');
|
2079 |
$mem = 0;
|
2080 |
if ($fh) {
|
2081 |
while ($line = fgets($fh)) {
|
2075 |
$version = 'Magento version : ' . Mage::getVersion() . 'V';
|
2076 |
}
|
2077 |
|
2078 |
+
$fh = @fopen('/proc/meminfo', 'r');
|
2079 |
$mem = 0;
|
2080 |
if ($fh) {
|
2081 |
while ($line = fgets($fh)) {
|
@@ -113,13 +113,6 @@ class Dotdigitalgroup_Email_Block_Adminhtml_Importer_Grid
|
|
113 |
'type' => 'datetime',
|
114 |
'escape' => true
|
115 |
)
|
116 |
-
)->addColumn(
|
117 |
-
'script', array(
|
118 |
-
'header' => Mage::helper('ddg')->__('Script'),
|
119 |
-
'renderer' => 'ddg_automation/adminhtml_column_renderer_script',
|
120 |
-
'column_css_class' => 'no-display',
|
121 |
-
'header_css_class' => 'no-display'
|
122 |
-
)
|
123 |
)->addColumn(
|
124 |
'created_at', array(
|
125 |
'header' => Mage::helper('ddg')->__('Created At'),
|
113 |
'type' => 'datetime',
|
114 |
'escape' => true
|
115 |
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
116 |
)->addColumn(
|
117 |
'created_at', array(
|
118 |
'header' => Mage::helper('ddg')->__('Created At'),
|
@@ -73,7 +73,7 @@ class Dotdigitalgroup_Email_Block_Adminhtml_Rules_Edit_Tab_Conditions
|
|
73 |
'2' => Mage::helper('ddg')->__('ANY'),
|
74 |
),
|
75 |
'after_element_html' => '<small>Choose ANY if using multi line conditions for same attribute.
|
76 |
-
If multi line conditions for same attribute is used and ALL is chosen then
|
77 |
)
|
78 |
);
|
79 |
|
73 |
'2' => Mage::helper('ddg')->__('ANY'),
|
74 |
),
|
75 |
'after_element_html' => '<small>Choose ANY if using multi line conditions for same attribute.
|
76 |
+
If multi line conditions for same attribute is used and ALL is chosen then only first one will be taken into account and remaining will be ignored.</small>',
|
77 |
)
|
78 |
);
|
79 |
|
@@ -4,8 +4,7 @@ class Dotdigitalgroup_Email_Block_Adminhtml_System_Dynamic_Recentlyviewed
|
|
4 |
extends Mage_Adminhtml_Block_System_Config_Form_Field
|
5 |
{
|
6 |
|
7 |
-
protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element
|
8 |
-
)
|
9 |
{
|
10 |
//generate base url for dynamic content
|
11 |
$baseUrl = Mage::helper('ddg')->generateDynamicUrl();
|
4 |
extends Mage_Adminhtml_Block_System_Config_Form_Field
|
5 |
{
|
6 |
|
7 |
+
protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element)
|
|
|
8 |
{
|
9 |
//generate base url for dynamic content
|
10 |
$baseUrl = Mage::helper('ddg')->generateDynamicUrl();
|
@@ -23,7 +23,7 @@ class Dotdigitalgroup_Email_Block_Basket extends Mage_Core_Block_Template
|
|
23 |
}
|
24 |
|
25 |
$quoteId = $params['quote_id'];
|
26 |
-
$quoteModel = Mage::getModel('sales/quote')->
|
27 |
|
28 |
//check for any quote for this email, don't want to render further
|
29 |
if ( ! $quoteModel->getId()) {
|
23 |
}
|
24 |
|
25 |
$quoteId = $params['quote_id'];
|
26 |
+
$quoteModel = Mage::getModel('sales/quote')->loadByIdWithoutStore($quoteId);
|
27 |
|
28 |
//check for any quote for this email, don't want to render further
|
29 |
if ( ! $quoteModel->getId()) {
|
@@ -127,7 +127,7 @@ class Dotdigitalgroup_Email_Block_Customer_Account_Books
|
|
127 |
}
|
128 |
|
129 |
/**
|
130 |
-
*
|
131 |
*
|
132 |
* @return array
|
133 |
*/
|
127 |
}
|
128 |
|
129 |
/**
|
130 |
+
* Get datafields to show. Fully processed.
|
131 |
*
|
132 |
* @return array
|
133 |
*/
|
@@ -395,7 +395,7 @@ class Dotdigitalgroup_Email_Block_Edc extends Mage_Core_Block_Template
|
|
395 |
}
|
396 |
|
397 |
/**
|
398 |
-
*
|
399 |
*
|
400 |
* @param $items
|
401 |
* @param $limit
|
395 |
}
|
396 |
|
397 |
/**
|
398 |
+
* Get products to display for order, wishlist and quote EDC.
|
399 |
*
|
400 |
* @param $items
|
401 |
* @param $limit
|
@@ -1,12 +1,16 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
class Dotdigitalgroup_Email_Block_Recommended_Wishlistproducts
|
4 |
-
extends Dotdigitalgroup_Email_Block_Edc
|
5 |
{
|
6 |
|
7 |
-
|
|
|
|
|
|
|
|
|
|
|
8 |
{
|
9 |
-
$wishlist = $this->
|
10 |
if ($wishlist && count($wishlist->getItemCollection())) {
|
11 |
return $wishlist->getItemCollection();
|
12 |
} else {
|
@@ -14,7 +18,12 @@ class Dotdigitalgroup_Email_Block_Recommended_Wishlistproducts
|
|
14 |
}
|
15 |
}
|
16 |
|
17 |
-
|
|
|
|
|
|
|
|
|
|
|
18 |
{
|
19 |
|
20 |
//customer id param
|
@@ -32,7 +41,9 @@ class Dotdigitalgroup_Email_Block_Recommended_Wishlistproducts
|
|
32 |
}
|
33 |
|
34 |
/**
|
35 |
-
*
|
|
|
|
|
36 |
*/
|
37 |
public function getLoadedProductCollection()
|
38 |
{
|
@@ -41,7 +52,7 @@ class Dotdigitalgroup_Email_Block_Recommended_Wishlistproducts
|
|
41 |
//number of product items to be displayed
|
42 |
$limit = Mage::helper('ddg/recommended')->getDisplayLimitByMode($mode);
|
43 |
|
44 |
-
$items = $this->
|
45 |
$productsToDisplay = $this->getProductsToDisplay(
|
46 |
$items, $limit, $mode, 'WISHLIST'
|
47 |
);
|
1 |
<?php
|
2 |
|
3 |
+
class Dotdigitalgroup_Email_Block_Recommended_Wishlistproducts extends Dotdigitalgroup_Email_Block_Edc
|
|
|
4 |
{
|
5 |
|
6 |
+
/**
|
7 |
+
* Wishlist items.
|
8 |
+
*
|
9 |
+
* @return array|Mage_Wishlist_Model_Mysql4_Item_Collection
|
10 |
+
*/
|
11 |
+
protected function getWishlistItems()
|
12 |
{
|
13 |
+
$wishlist = $this->getWishlist();
|
14 |
if ($wishlist && count($wishlist->getItemCollection())) {
|
15 |
return $wishlist->getItemCollection();
|
16 |
} else {
|
18 |
}
|
19 |
}
|
20 |
|
21 |
+
/**
|
22 |
+
* Get wishlist for customer.
|
23 |
+
*
|
24 |
+
* @return array|Mage_Wishlist_Model_Wishlist
|
25 |
+
*/
|
26 |
+
protected function getWishlist()
|
27 |
{
|
28 |
|
29 |
//customer id param
|
41 |
}
|
42 |
|
43 |
/**
|
44 |
+
* Get the products to display for table.
|
45 |
+
* @return array
|
46 |
+
* @throws Exception
|
47 |
*/
|
48 |
public function getLoadedProductCollection()
|
49 |
{
|
52 |
//number of product items to be displayed
|
53 |
$limit = Mage::helper('ddg/recommended')->getDisplayLimitByMode($mode);
|
54 |
|
55 |
+
$items = $this->getWishlistItems();
|
56 |
$productsToDisplay = $this->getProductsToDisplay(
|
57 |
$items, $limit, $mode, 'WISHLIST'
|
58 |
);
|
@@ -254,7 +254,6 @@ class Dotdigitalgroup_Email_Helper_Config
|
|
254 |
* Trial Account
|
255 |
*/
|
256 |
const API_CONNECTOR_TRIAL_FORM_URL = 'https://magentosignup.dotmailer.com/';
|
257 |
-
const API_CONNECTOR_TRIAL_FORM_SECRET = 'DmTrialFormSecret';
|
258 |
|
259 |
/**
|
260 |
* @param int $website
|
@@ -301,10 +300,12 @@ class Dotdigitalgroup_Email_Helper_Config
|
|
301 |
*/
|
302 |
public function getRegionAuthorize($website)
|
303 |
{
|
304 |
-
$
|
305 |
Dotdigitalgroup_Email_Helper_Config::PATH_FOR_API_ENDPOINT, $website) . DS;
|
|
|
|
|
306 |
|
307 |
-
return $
|
308 |
}
|
309 |
|
310 |
/**
|
254 |
* Trial Account
|
255 |
*/
|
256 |
const API_CONNECTOR_TRIAL_FORM_URL = 'https://magentosignup.dotmailer.com/';
|
|
|
257 |
|
258 |
/**
|
259 |
* @param int $website
|
300 |
*/
|
301 |
public function getRegionAuthorize($website)
|
302 |
{
|
303 |
+
$apiEndpoint = Mage::helper('ddg')->getWebsiteConfig(
|
304 |
Dotdigitalgroup_Email_Helper_Config::PATH_FOR_API_ENDPOINT, $website) . DS;
|
305 |
+
//replace the api with the app prefix from the domain name
|
306 |
+
$regionBaseUrl = str_replace('api', 'app',$apiEndpoint);
|
307 |
|
308 |
+
return $regionBaseUrl;
|
309 |
}
|
310 |
|
311 |
/**
|
@@ -1280,16 +1280,14 @@ class Dotdigitalgroup_Email_Helper_Data extends Mage_Core_Helper_Abstract
|
|
1280 |
$timezone = $this->getTimeZoneId();
|
1281 |
$culture = $this->getCultureId();
|
1282 |
$company = Mage::app()->getWebsite()->getConfig('general/store_information/name');
|
1283 |
-
$callback = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB, true) . 'connector/
|
1284 |
-
$secret = Dotdigitalgroup_Email_Helper_Config::API_CONNECTOR_TRIAL_FORM_SECRET;
|
1285 |
//query params
|
1286 |
$params = array(
|
1287 |
'callback' => $callback,
|
1288 |
'company' => $company,
|
1289 |
'culture' => $culture,
|
1290 |
'timezone' => $timezone,
|
1291 |
-
'ip' => $ipAddress
|
1292 |
-
'secret' => $secret
|
1293 |
);
|
1294 |
$url = $formUrl . '?' . http_build_query($params);
|
1295 |
return $url;
|
1280 |
$timezone = $this->getTimeZoneId();
|
1281 |
$culture = $this->getCultureId();
|
1282 |
$company = Mage::app()->getWebsite()->getConfig('general/store_information/name');
|
1283 |
+
$callback = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB, true) . 'connector/trial/accountcallback';
|
|
|
1284 |
//query params
|
1285 |
$params = array(
|
1286 |
'callback' => $callback,
|
1287 |
'company' => $company,
|
1288 |
'culture' => $culture,
|
1289 |
'timezone' => $timezone,
|
1290 |
+
'ip' => $ipAddress
|
|
|
1291 |
);
|
1292 |
$url = $formUrl . '?' . http_build_query($params);
|
1293 |
return $url;
|
@@ -104,7 +104,8 @@ class Dotdigitalgroup_Email_Model_Adminhtml_Dashboard_Tabs_Analysis_Orders
|
|
104 |
$storeIds = Mage::app()->getGroup($group)->getStoreIds();
|
105 |
$collection->addFieldToFilter('store_id', array('in' => $storeIds));
|
106 |
}
|
|
|
107 |
|
108 |
-
return $collection->
|
109 |
}
|
110 |
}
|
104 |
$storeIds = Mage::app()->getGroup($group)->getStoreIds();
|
105 |
$collection->addFieldToFilter('store_id', array('in' => $storeIds));
|
106 |
}
|
107 |
+
$collection->getSelect()->limit('1');
|
108 |
|
109 |
+
return $collection->getFirstItem();
|
110 |
}
|
111 |
}
|
@@ -14,6 +14,10 @@ class Dotdigitalgroup_Email_Model_Adminhtml_Source_Advanced_Attributes
|
|
14 |
->getOrderTableDescription();
|
15 |
|
16 |
$customFields = array();
|
|
|
|
|
|
|
|
|
17 |
foreach ($fields as $key => $field) {
|
18 |
$customFields[] = array(
|
19 |
'value' => $field['COLUMN_NAME'],
|
14 |
->getOrderTableDescription();
|
15 |
|
16 |
$customFields = array();
|
17 |
+
$customFields[] = array(
|
18 |
+
'label' => '---- Default Option ----',
|
19 |
+
'value' => '0',
|
20 |
+
);
|
21 |
foreach ($fields as $key => $field) {
|
22 |
$customFields[] = array(
|
23 |
'value' => $field['COLUMN_NAME'],
|
@@ -12,6 +12,10 @@ class Dotdigitalgroup_Email_Model_Adminhtml_Source_Advanced_Quoteattributes
|
|
12 |
->getQuoteTableDescription();
|
13 |
|
14 |
$customFields = array();
|
|
|
|
|
|
|
|
|
15 |
foreach ($fields as $key => $field) {
|
16 |
$customFields[] = array(
|
17 |
'value' => $field['COLUMN_NAME'],
|
12 |
->getQuoteTableDescription();
|
13 |
|
14 |
$customFields = array();
|
15 |
+
$customFields[] = array(
|
16 |
+
'label' => '---- Default Option ----',
|
17 |
+
'value' => '0',
|
18 |
+
);
|
19 |
foreach ($fields as $key => $field) {
|
20 |
$customFields[] = array(
|
21 |
'value' => $field['COLUMN_NAME'],
|
@@ -12,7 +12,10 @@ class Dotdigitalgroup_Email_Model_Adminhtml_Source_Orderstatus
|
|
12 |
{
|
13 |
$statuses = Mage::getSingleton('sales/order_config')->getStatuses();
|
14 |
$options = array();
|
15 |
-
|
|
|
|
|
|
|
16 |
foreach ($statuses as $code => $label) {
|
17 |
$options[] = array(
|
18 |
'value' => $code,
|
12 |
{
|
13 |
$statuses = Mage::getSingleton('sales/order_config')->getStatuses();
|
14 |
$options = array();
|
15 |
+
$options[] = array(
|
16 |
+
'label' => '---- Default Option ----',
|
17 |
+
'value' => '0',
|
18 |
+
);
|
19 |
foreach ($statuses as $code => $label) {
|
20 |
$options[] = array(
|
21 |
'value' => $code,
|
@@ -14,6 +14,10 @@ class Dotdigitalgroup_Email_Model_Adminhtml_Source_Sync_Catalog_Attributes
|
|
14 |
'catalog/product_attribute_collection'
|
15 |
)->addVisibleFilter();
|
16 |
$attributeArray = array();
|
|
|
|
|
|
|
|
|
17 |
|
18 |
//exclude these from showing in the options
|
19 |
$exclude = array('gallery', 'image', 'media_gallery', 'small_image',
|
14 |
'catalog/product_attribute_collection'
|
15 |
)->addVisibleFilter();
|
16 |
$attributeArray = array();
|
17 |
+
$attributeArray[] = array(
|
18 |
+
'label' => '---- Default Option ----',
|
19 |
+
'value' => '0',
|
20 |
+
);
|
21 |
|
22 |
//exclude these from showing in the options
|
23 |
$exclude = array('gallery', 'image', 'media_gallery', 'small_image',
|
@@ -11,8 +11,9 @@ class Dotdigitalgroup_Email_Model_Adminhtml_Source_Sync_Catalog_Type
|
|
11 |
public function toOptionArray()
|
12 |
{
|
13 |
$options = Mage::getModel('catalog/product_type')->getAllOptions();
|
14 |
-
|
15 |
-
|
|
|
16 |
return $options;
|
17 |
}
|
18 |
}
|
11 |
public function toOptionArray()
|
12 |
{
|
13 |
$options = Mage::getModel('catalog/product_type')->getAllOptions();
|
14 |
+
//Add default option to first key of array. First key has empty value and empty label.
|
15 |
+
$options[0]['label'] = '---- Default Option ----';
|
16 |
+
$options[0]['value'] = '0';
|
17 |
return $options;
|
18 |
}
|
19 |
}
|
@@ -10,10 +10,9 @@ class Dotdigitalgroup_Email_Model_Adminhtml_Source_Sync_Catalog_Visibility
|
|
10 |
*/
|
11 |
public function toOptionArray()
|
12 |
{
|
13 |
-
$options = Mage::getModel('catalog/product_visibility')->getAllOptions(
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
return $options;
|
18 |
}
|
19 |
}
|
10 |
*/
|
11 |
public function toOptionArray()
|
12 |
{
|
13 |
+
$options = Mage::getModel('catalog/product_visibility')->getAllOptions();
|
14 |
+
$options[0]['label'] = '---- Default Option ----';
|
15 |
+
$options[0]['value'] = '0';
|
|
|
16 |
return $options;
|
17 |
}
|
18 |
}
|
@@ -21,6 +21,23 @@ class Dotdigitalgroup_Email_Model_Automation extends Mage_Core_Model_Abstract
|
|
21 |
public $programMessage;
|
22 |
public $automationType;
|
23 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
24 |
/**
|
25 |
* constructor
|
26 |
*/
|
@@ -48,36 +65,30 @@ class Dotdigitalgroup_Email_Model_Automation extends Mage_Core_Model_Abstract
|
|
48 |
|
49 |
public function enrollment()
|
50 |
{
|
51 |
-
|
52 |
-
$automationCollection = $this->getCollection()
|
53 |
-
->addFieldToSelect('automation_type')
|
54 |
-
->addFieldToFilter(
|
55 |
-
'enrolment_status', self::AUTOMATION_STATUS_PENDING
|
56 |
-
);
|
57 |
-
$automationCollection->getSelect()->group('automation_type');
|
58 |
-
//active types
|
59 |
-
$automationTypes = $automationCollection->getColumnValues(
|
60 |
-
'automation_type'
|
61 |
-
);
|
62 |
//send the campaign by each types
|
63 |
-
foreach ($automationTypes as $type) {
|
64 |
$contacts = array();
|
65 |
-
|
66 |
-
|
|
|
|
|
67 |
$automationCollection = $this->getCollection()
|
68 |
->addFieldToFilter(
|
69 |
'enrolment_status', self::AUTOMATION_STATUS_PENDING
|
70 |
-
)
|
71 |
-
|
|
|
|
|
|
|
|
|
72 |
//limit because of the each contact request to get the id
|
73 |
$automationCollection->getSelect()->limit($this->limit);
|
74 |
foreach ($automationCollection as $automation) {
|
75 |
-
$type = $automation->getAutomationType();
|
76 |
//customerid, subscriberid, wishlistid..
|
77 |
$email = $automation->getEmail();
|
78 |
$this->typeId = $automation->getTypeId();
|
79 |
$this->websiteId = $automation->getWebsiteId();
|
80 |
-
$this->programId = $automation->getProgramId();
|
81 |
$this->storeName = $automation->getStoreName();
|
82 |
$contactId = Mage::helper('ddg')->getContactId(
|
83 |
$email, $this->websiteId
|
@@ -88,41 +99,47 @@ class Dotdigitalgroup_Email_Model_Automation extends Mage_Core_Model_Abstract
|
|
88 |
$this->updateDatafieldsByType(
|
89 |
$this->automationType, $email
|
90 |
);
|
91 |
-
$contacts[$automation->getId()] = $contactId;
|
92 |
} else {
|
93 |
// the contact is suppressed or the request failed
|
94 |
$automation->setEnrolmentStatus('Suppressed')->save();
|
95 |
}
|
96 |
}
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
108 |
}
|
109 |
-
//program is not active
|
110 |
-
} elseif ($this->programMessage
|
111 |
-
== 'Error: ERROR_PROGRAM_NOT_ACTIVE '
|
112 |
-
) {
|
113 |
-
$this->programStatus = 'Deactivated';
|
114 |
-
}
|
115 |
-
//update contacts with the new status, and log the error message if failes
|
116 |
-
$num = $this->getResource()->updateContacts(
|
117 |
-
$contacts, $this->programStatus, $this->programMessage
|
118 |
-
);
|
119 |
-
if ($num) {
|
120 |
-
Mage::helper('ddg')->log(
|
121 |
-
'Automation type : ' . $type . ', updated no : ' . $num
|
122 |
-
);
|
123 |
}
|
124 |
}
|
125 |
-
|
126 |
}
|
127 |
|
128 |
/**
|
@@ -264,12 +281,13 @@ class Dotdigitalgroup_Email_Model_Automation extends Mage_Core_Model_Abstract
|
|
264 |
* Enrol contacts for a program.
|
265 |
*
|
266 |
* @param $contacts
|
|
|
267 |
*
|
268 |
* @return null
|
269 |
*/
|
270 |
-
public function sendContactsToAutomation($contacts)
|
271 |
{
|
272 |
-
$client = Mage::helper('ddg')->getWebsiteApiClient($
|
273 |
$data = array(
|
274 |
'Contacts' => $contacts,
|
275 |
'ProgramId' => $this->programId,
|
21 |
public $programMessage;
|
22 |
public $automationType;
|
23 |
|
24 |
+
public $automationTypes = array(
|
25 |
+
self::AUTOMATION_TYPE_NEW_CUSTOMER =>
|
26 |
+
Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_AUTOMATION_STUDIO_CUSTOMER,
|
27 |
+
self::AUTOMATION_TYPE_NEW_SUBSCRIBER =>
|
28 |
+
Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_AUTOMATION_STUDIO_SUBSCRIBER,
|
29 |
+
self::AUTOMATION_TYPE_NEW_ORDER =>
|
30 |
+
Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_AUTOMATION_STUDIO_ORDER,
|
31 |
+
self::AUTOMATION_TYPE_NEW_GUEST_ORDER =>
|
32 |
+
Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_AUTOMATION_STUDIO_GUEST_ORDER,
|
33 |
+
self::AUTOMATION_TYPE_NEW_REVIEW =>
|
34 |
+
Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_AUTOMATION_STUDIO_REVIEW,
|
35 |
+
self::AUTOMATION_TYPE_NEW_WISHLIST =>
|
36 |
+
Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_AUTOMATION_STUDIO_WISHLIST,
|
37 |
+
'order_automation_' =>
|
38 |
+
Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_AUTOMATION_STUDIO_ORDER_STATUS
|
39 |
+
);
|
40 |
+
|
41 |
/**
|
42 |
* constructor
|
43 |
*/
|
65 |
|
66 |
public function enrollment()
|
67 |
{
|
68 |
+
$helper = Mage::helper('ddg');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
69 |
//send the campaign by each types
|
70 |
+
foreach ($this->automationTypes as $type => $config) {
|
71 |
$contacts = array();
|
72 |
+
foreach (Mage::app()->getWebsites(true) as $website) {
|
73 |
+
$contacts[$website->getId()]['programId'] = $helper->getWebsiteConfig($config, $website);
|
74 |
+
}
|
75 |
+
//get collection from type
|
76 |
$automationCollection = $this->getCollection()
|
77 |
->addFieldToFilter(
|
78 |
'enrolment_status', self::AUTOMATION_STATUS_PENDING
|
79 |
+
);
|
80 |
+
if ($type == 'order_automation_') {
|
81 |
+
$automationCollection->addFieldToFilter('automation_type', array('like' => '%' . $type . '%'));
|
82 |
+
} else {
|
83 |
+
$automationCollection->addFieldToFilter('automation_type', $type);
|
84 |
+
}
|
85 |
//limit because of the each contact request to get the id
|
86 |
$automationCollection->getSelect()->limit($this->limit);
|
87 |
foreach ($automationCollection as $automation) {
|
|
|
88 |
//customerid, subscriberid, wishlistid..
|
89 |
$email = $automation->getEmail();
|
90 |
$this->typeId = $automation->getTypeId();
|
91 |
$this->websiteId = $automation->getWebsiteId();
|
|
|
92 |
$this->storeName = $automation->getStoreName();
|
93 |
$contactId = Mage::helper('ddg')->getContactId(
|
94 |
$email, $this->websiteId
|
99 |
$this->updateDatafieldsByType(
|
100 |
$this->automationType, $email
|
101 |
);
|
102 |
+
$contacts[$automation->getWebsiteId()]['contacts'][$automation->getId()] = $contactId;
|
103 |
} else {
|
104 |
// the contact is suppressed or the request failed
|
105 |
$automation->setEnrolmentStatus('Suppressed')->save();
|
106 |
}
|
107 |
}
|
108 |
+
foreach ($contacts as $websiteId => $websiteContacts) {
|
109 |
+
if (isset($websiteContacts['contacts'])) {
|
110 |
+
$this->programId = $websiteContacts['programId'];
|
111 |
+
$contactsArray = $websiteContacts['contacts'];
|
112 |
+
//only for subscribed contacts
|
113 |
+
if (!empty($contactsArray)
|
114 |
+
&& $this->_checkCampignEnrolmentActive($this->programId)
|
115 |
+
) {
|
116 |
+
$result = $this->sendContactsToAutomation(
|
117 |
+
array_values($contactsArray),
|
118 |
+
$websiteId
|
119 |
+
);
|
120 |
+
//check for error message
|
121 |
+
if (isset($result->message)) {
|
122 |
+
$this->programStatus = 'Failed';
|
123 |
+
$this->programMessage = $result->message;
|
124 |
+
}
|
125 |
+
//program is not active
|
126 |
+
} elseif ($this->programMessage
|
127 |
+
== 'Error: ERROR_PROGRAM_NOT_ACTIVE '
|
128 |
+
) {
|
129 |
+
$this->programStatus = 'Deactivated';
|
130 |
+
}
|
131 |
+
//update contacts with the new status, and log the error message if failes
|
132 |
+
$num = $this->getResource()->updateContacts(
|
133 |
+
$contactsArray, $this->programStatus, $this->programMessage
|
134 |
+
);
|
135 |
+
if ($num) {
|
136 |
+
Mage::helper('ddg')->log(
|
137 |
+
'Automation type : ' . $type . ', updated no : ' . $num
|
138 |
+
);
|
139 |
+
}
|
140 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
141 |
}
|
142 |
}
|
|
|
143 |
}
|
144 |
|
145 |
/**
|
281 |
* Enrol contacts for a program.
|
282 |
*
|
283 |
* @param $contacts
|
284 |
+
* @param $websiteId
|
285 |
*
|
286 |
* @return null
|
287 |
*/
|
288 |
+
public function sendContactsToAutomation($contacts, $websiteId)
|
289 |
{
|
290 |
+
$client = Mage::helper('ddg')->getWebsiteApiClient($websiteId);
|
291 |
$data = array(
|
292 |
'Contacts' => $contacts,
|
293 |
'ProgramId' => $this->programId,
|
@@ -116,6 +116,38 @@ class Dotdigitalgroup_Email_Model_Campaign extends Mage_Core_Model_Abstract
|
|
116 |
$campaign->getEmail(), $websiteId
|
117 |
);
|
118 |
if (is_numeric($contactId)) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
119 |
$response = $client->postCampaignsSend(
|
120 |
$campaignId, array($contactId)
|
121 |
);
|
116 |
$campaign->getEmail(), $websiteId
|
117 |
);
|
118 |
if (is_numeric($contactId)) {
|
119 |
+
//update data fields for order review camapigns
|
120 |
+
if ($campaign->getEventName() == 'Order Review') {
|
121 |
+
$website = Mage::app()->getWebsite($websiteId);
|
122 |
+
$order = Mage::getModel('sales/order')->loadByIncrementId($campaign->getOrderIncrementId());
|
123 |
+
|
124 |
+
if ($lastOrderId = $website->getConfig(
|
125 |
+
Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_CUSTOMER_LAST_ORDER_ID
|
126 |
+
)
|
127 |
+
) {
|
128 |
+
$data[] = array(
|
129 |
+
'Key' => $lastOrderId,
|
130 |
+
'Value' => $order->getId()
|
131 |
+
);
|
132 |
+
}
|
133 |
+
if ($orderIncrementId = $website->getConfig(
|
134 |
+
Dotdigitalgroup_Email_Helper_Config::XML_PATH_CONNECTOR_CUSTOMER_LAST_ORDER_INCREMENT_ID
|
135 |
+
)
|
136 |
+
) {
|
137 |
+
$data[] = array(
|
138 |
+
'Key' => $orderIncrementId,
|
139 |
+
'Value' => $order->getIncrementId()
|
140 |
+
);
|
141 |
+
}
|
142 |
+
|
143 |
+
if (!empty($data)) {
|
144 |
+
//update data fields
|
145 |
+
$client->updateContactDatafieldsByEmail(
|
146 |
+
$email, $data
|
147 |
+
);
|
148 |
+
}
|
149 |
+
}
|
150 |
+
|
151 |
$response = $client->postCampaignsSend(
|
152 |
$campaignId, array($contactId)
|
153 |
);
|
@@ -76,7 +76,7 @@ class Dotdigitalgroup_Email_Model_Connector_Order
|
|
76 |
/**
|
77 |
* @var array
|
78 |
*/
|
79 |
-
public $custom
|
80 |
|
81 |
/**
|
82 |
* @var string
|
@@ -195,6 +195,7 @@ class Dotdigitalgroup_Email_Model_Connector_Order
|
|
195 |
if ($customAttributes) {
|
196 |
$fields = Mage::getResourceModel('ddg_automation/order')
|
197 |
->getOrderTableDescription();
|
|
|
198 |
foreach ($customAttributes as $customAttribute) {
|
199 |
if (isset($fields[$customAttribute])) {
|
200 |
$field = $fields[$customAttribute];
|
@@ -493,6 +494,12 @@ class Dotdigitalgroup_Email_Model_Connector_Order
|
|
493 |
$attribute_code
|
494 |
);
|
495 |
break;
|
|
|
|
|
|
|
|
|
|
|
|
|
496 |
default:
|
497 |
$value = $product->getData($attribute_code);
|
498 |
break;
|
76 |
/**
|
77 |
* @var array
|
78 |
*/
|
79 |
+
public $custom;
|
80 |
|
81 |
/**
|
82 |
* @var string
|
195 |
if ($customAttributes) {
|
196 |
$fields = Mage::getResourceModel('ddg_automation/order')
|
197 |
->getOrderTableDescription();
|
198 |
+
$this->custom = array();
|
199 |
foreach ($customAttributes as $customAttribute) {
|
200 |
if (isset($fields[$customAttribute])) {
|
201 |
$field = $fields[$customAttribute];
|
494 |
$attribute_code
|
495 |
);
|
496 |
break;
|
497 |
+
case 'date':
|
498 |
+
$date = new Zend_Date(
|
499 |
+
$product->getData($attribute_code), Zend_Date::ISO_8601
|
500 |
+
);
|
501 |
+
$value = $date->toString(Zend_Date::ISO_8601);
|
502 |
+
break;
|
503 |
default:
|
504 |
$value = $product->getData($attribute_code);
|
505 |
break;
|
@@ -74,7 +74,7 @@ class Dotdigitalgroup_Email_Model_Connector_Quote
|
|
74 |
/**
|
75 |
* @var array
|
76 |
*/
|
77 |
-
public $custom
|
78 |
|
79 |
protected $_attributeSet;
|
80 |
|
@@ -119,6 +119,7 @@ class Dotdigitalgroup_Email_Model_Connector_Quote
|
|
119 |
if ($customAttributes) {
|
120 |
$fields = Mage::getResourceModel('ddg_automation/quote')
|
121 |
->getQuoteTableDescription();
|
|
|
122 |
foreach ($customAttributes as $customAttribute) {
|
123 |
if (isset($fields[$customAttribute])) {
|
124 |
$field = $fields[$customAttribute];
|
74 |
/**
|
75 |
* @var array
|
76 |
*/
|
77 |
+
public $custom;
|
78 |
|
79 |
protected $_attributeSet;
|
80 |
|
119 |
if ($customAttributes) {
|
120 |
$fields = Mage::getResourceModel('ddg_automation/quote')
|
121 |
->getQuoteTableDescription();
|
122 |
+
$this->custom = array();
|
123 |
foreach ($customAttributes as $customAttribute) {
|
124 |
if (isset($fields[$customAttribute])) {
|
125 |
$field = $fields[$customAttribute];
|
@@ -148,14 +148,26 @@ class Dotdigitalgroup_Email_Model_Cron
|
|
148 |
*/
|
149 |
public function cleaning()
|
150 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
151 |
$helper = Mage::helper('ddg/file');
|
152 |
$archivedFolder = $helper->getArchiveFolder();
|
153 |
$result = $helper->deleteDir($archivedFolder);
|
154 |
-
$message
|
155 |
$helper->log($message);
|
156 |
Mage::helper('ddg')->rayLog($message, 'model/cron.php');
|
157 |
|
158 |
-
return $
|
159 |
}
|
160 |
|
161 |
|
148 |
*/
|
149 |
public function cleaning()
|
150 |
{
|
151 |
+
//Clean tables
|
152 |
+
$resourceModels = array(
|
153 |
+
'automation' => 'ddg_automation/automation',
|
154 |
+
'importer' => 'ddg_automation/importer',
|
155 |
+
'campaign' => 'ddg_automation/campaign'
|
156 |
+
);
|
157 |
+
$message = 'Cleaning cronjob result :';
|
158 |
+
foreach ($resourceModels as $key => $resourceModel) {
|
159 |
+
$result = Mage::getResourceModel($resourceModel)->cleanup();
|
160 |
+
$message .= " $result records removed from $key .";
|
161 |
+
}
|
162 |
+
|
163 |
$helper = Mage::helper('ddg/file');
|
164 |
$archivedFolder = $helper->getArchiveFolder();
|
165 |
$result = $helper->deleteDir($archivedFolder);
|
166 |
+
$message .= ' Deleting archived folder result : ' . $result;
|
167 |
$helper->log($message);
|
168 |
Mage::helper('ddg')->rayLog($message, 'model/cron.php');
|
169 |
|
170 |
+
return $message;
|
171 |
}
|
172 |
|
173 |
|
@@ -68,7 +68,7 @@ class Dotdigitalgroup_Email_Model_Customer_Observer
|
|
68 |
}
|
69 |
|
70 |
/**
|
71 |
-
*
|
72 |
*
|
73 |
* @param Varien_Event_Observer $observer
|
74 |
*
|
@@ -80,7 +80,6 @@ class Dotdigitalgroup_Email_Model_Customer_Observer
|
|
80 |
$customer = $observer->getEvent()->getCustomer();
|
81 |
$websiteId = $customer->getWebsiteId();
|
82 |
$website = Mage::app()->getWebsite($websiteId);
|
83 |
-
$storeName = $customer->getStore()->getName();
|
84 |
|
85 |
|
86 |
//if api is not enabled
|
@@ -91,33 +90,17 @@ class Dotdigitalgroup_Email_Model_Customer_Observer
|
|
91 |
return $this;
|
92 |
}
|
93 |
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
return $this;
|
101 |
-
}
|
102 |
-
$email = $customer->getEmail();
|
103 |
-
$automation = Mage::getModel('ddg_automation/automation');
|
104 |
-
$automation->setEmail($email)
|
105 |
-
->setAutomationType(
|
106 |
-
Dotdigitalgroup_Email_Model_Automation::AUTOMATION_TYPE_NEW_CUSTOMER
|
107 |
-
)
|
108 |
-
->setEnrolmentStatus(
|
109 |
-
Dotdigitalgroup_Email_Model_Automation::AUTOMATION_STATUS_PENDING
|
110 |
-
)
|
111 |
-
->setTypeId($customer->getId())
|
112 |
-
->setWebsiteId($websiteId)
|
113 |
-
->setStoreName($storeName)
|
114 |
-
->setProgramId($programId);
|
115 |
-
|
116 |
-
$automation->save();
|
117 |
-
} catch (Exception $e) {
|
118 |
-
Mage::logException($e);
|
119 |
}
|
120 |
|
|
|
|
|
|
|
121 |
return $this;
|
122 |
}
|
123 |
|
@@ -427,4 +410,76 @@ class Dotdigitalgroup_Email_Model_Customer_Observer
|
|
427 |
}
|
428 |
}
|
429 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
430 |
}
|
68 |
}
|
69 |
|
70 |
/**
|
71 |
+
* Customer register success
|
72 |
*
|
73 |
* @param Varien_Event_Observer $observer
|
74 |
*
|
80 |
$customer = $observer->getEvent()->getCustomer();
|
81 |
$websiteId = $customer->getWebsiteId();
|
82 |
$website = Mage::app()->getWebsite($websiteId);
|
|
|
83 |
|
84 |
|
85 |
//if api is not enabled
|
90 |
return $this;
|
91 |
}
|
92 |
|
93 |
+
//program id must be map
|
94 |
+
$programId = Mage::helper('ddg')->getAutomationIdByType(
|
95 |
+
'XML_PATH_CONNECTOR_AUTOMATION_STUDIO_CUSTOMER', $websiteId
|
96 |
+
);
|
97 |
+
if (!$programId) {
|
98 |
+
return $this;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
99 |
}
|
100 |
|
101 |
+
//do enrolment
|
102 |
+
$this->_automationEnrolment($customer, $programId);
|
103 |
+
|
104 |
return $this;
|
105 |
}
|
106 |
|
410 |
}
|
411 |
}
|
412 |
}
|
413 |
+
|
414 |
+
/**
|
415 |
+
* Quote submit before observer
|
416 |
+
*
|
417 |
+
* @param Varien_Event_Observer $observer
|
418 |
+
* @return $this
|
419 |
+
*/
|
420 |
+
public function handleQuoteSubmitBefore(Varien_Event_Observer $observer)
|
421 |
+
{
|
422 |
+
$quote = $observer->getEvent()->getQuote();
|
423 |
+
//set flag if no customer id before save.
|
424 |
+
if (!$quote->getCustomerId()) {
|
425 |
+
$quote->setIfCustomerIsNew(1);
|
426 |
+
}
|
427 |
+
return $this;
|
428 |
+
}
|
429 |
+
|
430 |
+
/**
|
431 |
+
* Quote submit success observer
|
432 |
+
*
|
433 |
+
* @param Varien_Event_Observer $observer
|
434 |
+
* @return $this
|
435 |
+
*/
|
436 |
+
public function handleQuoteSubmitSuccess(Varien_Event_Observer $observer)
|
437 |
+
{
|
438 |
+
$quote = $observer->getEvent()->getQuote();
|
439 |
+
//check flag and also if now customer has an id. This means new customer.
|
440 |
+
if ($quote->getCustomerId() && $quote->getIfCustomerIsNew()) {
|
441 |
+
//program id must be map
|
442 |
+
$programId = Mage::helper('ddg')->getAutomationIdByType(
|
443 |
+
'XML_PATH_CONNECTOR_AUTOMATION_STUDIO_CUSTOMER', $quote->getCustomer()->getWebsiteId()
|
444 |
+
);
|
445 |
+
if (!$programId) {
|
446 |
+
return $this;
|
447 |
+
}
|
448 |
+
|
449 |
+
//do enrolment
|
450 |
+
$this->_automationEnrolment($quote->getCustomer(), $programId);
|
451 |
+
}
|
452 |
+
return $this;
|
453 |
+
}
|
454 |
+
|
455 |
+
/**
|
456 |
+
* Add new customers to the automation.
|
457 |
+
*
|
458 |
+
* @param $customer
|
459 |
+
* @param $programId
|
460 |
+
*/
|
461 |
+
protected function _automationEnrolment($customer, $programId)
|
462 |
+
{
|
463 |
+
try {
|
464 |
+
$websiteId = $customer->getWebsiteId();
|
465 |
+
|
466 |
+
$email = $customer->getEmail();
|
467 |
+
$automation = Mage::getModel('ddg_automation/automation');
|
468 |
+
$automation->setEmail($email)
|
469 |
+
->setAutomationType(
|
470 |
+
Dotdigitalgroup_Email_Model_Automation::AUTOMATION_TYPE_NEW_CUSTOMER
|
471 |
+
)
|
472 |
+
->setEnrolmentStatus(
|
473 |
+
Dotdigitalgroup_Email_Model_Automation::AUTOMATION_STATUS_PENDING
|
474 |
+
)
|
475 |
+
->setTypeId($customer->getId())
|
476 |
+
->setWebsiteId($websiteId)
|
477 |
+
->setStoreName($customer->getStore()->getName())
|
478 |
+
->setProgramId($programId);
|
479 |
+
|
480 |
+
$automation->save();
|
481 |
+
} catch (Exception $e) {
|
482 |
+
Mage::logException($e);
|
483 |
+
}
|
484 |
+
}
|
485 |
}
|
@@ -150,6 +150,11 @@ class Dotdigitalgroup_Email_Model_Importer extends Mage_Core_Model_Abstract
|
|
150 |
$item->getImportType() == self::IMPORT_TYPE_GUEST
|
151 |
|
152 |
) {
|
|
|
|
|
|
|
|
|
|
|
153 |
if ($item->getImportId()) {
|
154 |
$this->_processContactImportReportFaults($item->getImportId(), $websiteId);
|
155 |
}
|
150 |
$item->getImportType() == self::IMPORT_TYPE_GUEST
|
151 |
|
152 |
) {
|
153 |
+
if ($file = $item->getImportFile()) {
|
154 |
+
$fileHelper = Mage::helper('ddg/file');
|
155 |
+
$fileHelper->archiveCSV($file);
|
156 |
+
}
|
157 |
+
|
158 |
if ($item->getImportId()) {
|
159 |
$this->_processContactImportReportFaults($item->getImportId(), $websiteId);
|
160 |
}
|
@@ -3,125 +3,138 @@
|
|
3 |
class Dotdigitalgroup_Email_Model_Newsletter_Observer
|
4 |
{
|
5 |
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
126 |
|
127 |
}
|
3 |
class Dotdigitalgroup_Email_Model_Newsletter_Observer
|
4 |
{
|
5 |
|
6 |
+
/**
|
7 |
+
* Change the subscribsion for an contact.
|
8 |
+
* Add new subscribers to an automation.
|
9 |
+
*
|
10 |
+
* @param Varien_Event_Observer $observer
|
11 |
+
*
|
12 |
+
* @return $this
|
13 |
+
*/
|
14 |
+
public function handleNewsletterSubscriberSave(Varien_Event_Observer $observer)
|
15 |
+
{
|
16 |
+
$subscriber = $observer->getEvent()->getSubscriber();
|
17 |
+
$email = $subscriber->getEmail();
|
18 |
+
$storeId = $subscriber->getStoreId();
|
19 |
+
$subscriberStatus = $subscriber->getSubscriberStatus();
|
20 |
+
$websiteId = Mage::app()->getStore($subscriber->getStoreId())->getWebsiteId();
|
21 |
+
|
22 |
+
//check if enabled
|
23 |
+
if (!Mage::helper('ddg')->isEnabled($websiteId)) {
|
24 |
+
return $this;
|
25 |
+
}
|
26 |
+
try {
|
27 |
+
|
28 |
+
$contactEmail = Mage::getModel('ddg_automation/contact')->loadByCustomerEmail($email, $websiteId);
|
29 |
+
|
30 |
+
// only for subscribers
|
31 |
+
if ($subscriberStatus == Mage_Newsletter_Model_Subscriber::STATUS_SUBSCRIBED) {
|
32 |
+
//Set contact as subscribed
|
33 |
+
$contactEmail->setSubscriberStatus($subscriberStatus)
|
34 |
+
->setIsSubscriber('1');
|
35 |
+
|
36 |
+
//Subscriber subscribed when it is suppressed in table then re-subscribe
|
37 |
+
if ($contactEmail->getSuppressed()) {
|
38 |
+
Mage::getModel('ddg_automation/importer')->registerQueue(
|
39 |
+
Dotdigitalgroup_Email_Model_Importer::IMPORT_TYPE_SUBSCRIBER_RESUBSCRIBED,
|
40 |
+
array('email' => $email),
|
41 |
+
Dotdigitalgroup_Email_Model_Importer::MODE_SUBSCRIBER_RESUBSCRIBED,
|
42 |
+
$websiteId
|
43 |
+
);
|
44 |
+
//Set to subscriber imported and reset the subscriber as suppressed
|
45 |
+
$contactEmail->setSubscriberImported(1)
|
46 |
+
->setSuppressed(null);
|
47 |
+
}
|
48 |
+
|
49 |
+
//not subscribed
|
50 |
+
} else {
|
51 |
+
$unsubscribeEmails = Mage::registry('unsubscribeEmails');
|
52 |
+
if (is_array($unsubscribeEmails)) {
|
53 |
+
if (in_array($email, $unsubscribeEmails)) {
|
54 |
+
return $this;
|
55 |
+
}
|
56 |
+
}
|
57 |
+
|
58 |
+
//skip if contact is suppressed
|
59 |
+
if ($contactEmail->getSuppressed()) {
|
60 |
+
return $this;
|
61 |
+
}
|
62 |
+
|
63 |
+
//update contact id for the subscriber
|
64 |
+
$contactId = $contactEmail->getContactId();
|
65 |
+
//get the contact id
|
66 |
+
if (!$contactId) {
|
67 |
+
Mage::getModel('ddg_automation/importer')->registerQueue(
|
68 |
+
Dotdigitalgroup_Email_Model_Importer::IMPORT_TYPE_SUBSCRIBER_UPDATE,
|
69 |
+
array('email' => $email, 'id' => $contactEmail->getId()),
|
70 |
+
Dotdigitalgroup_Email_Model_Importer::MODE_SUBSCRIBER_UPDATE,
|
71 |
+
$websiteId
|
72 |
+
);
|
73 |
+
}
|
74 |
+
$contactEmail->setIsSubscriber(null)
|
75 |
+
->setSubscriberStatus(Mage_Newsletter_Model_Subscriber::STATUS_UNSUBSCRIBED);
|
76 |
+
}
|
77 |
+
|
78 |
+
// fix for a multiple hit of the observer
|
79 |
+
$emailReg = Mage::registry($email . '_subscriber_save');
|
80 |
+
if ($emailReg) {
|
81 |
+
return $this;
|
82 |
+
}
|
83 |
+
Mage::register($email . '_subscriber_save', $email);
|
84 |
+
|
85 |
+
//add subscriber to automation
|
86 |
+
$this->_addSubscriberToAutomation($email, $subscriber, $websiteId);
|
87 |
+
|
88 |
+
//update the contact
|
89 |
+
$contactEmail->setStoreId($storeId);
|
90 |
+
|
91 |
+
//update contact
|
92 |
+
$contactEmail->save();
|
93 |
+
|
94 |
+
} catch (Exception $e) {
|
95 |
+
Mage::logException($e);
|
96 |
+
Mage::helper('ddg')->getRaygunClient()->SendException($e, array(Mage::getBaseUrl('web')));
|
97 |
+
}
|
98 |
+
return $this;
|
99 |
+
}
|
100 |
+
|
101 |
+
protected function _addSubscriberToAutomation($email, $subscriber, $websiteId)
|
102 |
+
{
|
103 |
+
|
104 |
+
$storeId = $subscriber->getStoreId();
|
105 |
+
$store = Mage::app()->getStore($storeId);
|
106 |
+
$programId = Mage::helper('ddg')->getAutomationIdByType('XML_PATH_CONNECTOR_AUTOMATION_STUDIO_SUBSCRIBER',
|
107 |
+
$websiteId);
|
108 |
+
//not mapped ignore
|
109 |
+
if (!$programId) {
|
110 |
+
return;
|
111 |
+
}
|
112 |
+
try {
|
113 |
+
//check the subscriber alredy exists
|
114 |
+
$enrolmentCollection = Mage::getModel('ddg_automation/automation')->getCollection()
|
115 |
+
->addFieldToFilter('email', $email)
|
116 |
+
->addFieldToFilter('automation_type',
|
117 |
+
Dotdigitalgroup_Email_Model_Automation::AUTOMATION_TYPE_NEW_SUBSCRIBER)
|
118 |
+
->addFieldToFilter('website_id', $websiteId);
|
119 |
+
$enrolmentCollection->getSelect()->limit(1);
|
120 |
+
$enrolment = $enrolmentCollection->getFirstItem();
|
121 |
+
|
122 |
+
//add new subscriber to automation
|
123 |
+
if (!$enrolment->getId()) {
|
124 |
+
//save subscriber to the queue
|
125 |
+
$automation = Mage::getModel('ddg_automation/automation');
|
126 |
+
$automation->setEmail($email)
|
127 |
+
->setAutomationType(Dotdigitalgroup_Email_Model_Automation::AUTOMATION_TYPE_NEW_SUBSCRIBER)
|
128 |
+
->setEnrolmentStatus(Dotdigitalgroup_Email_Model_Automation::AUTOMATION_STATUS_PENDING)
|
129 |
+
->setTypeId($subscriber->getId())
|
130 |
+
->setWebsiteId($websiteId)
|
131 |
+
->setStoreName($store->getName())
|
132 |
+
->setProgramId($programId);
|
133 |
+
$automation->save();
|
134 |
+
}
|
135 |
+
} catch (Exception $e) {
|
136 |
+
Mage::logException($e);
|
137 |
+
}
|
138 |
+
}
|
139 |
|
140 |
}
|
@@ -85,8 +85,7 @@ class Dotdigitalgroup_Email_Model_Newsletter_Subscriber
|
|
85 |
*
|
86 |
* @return int
|
87 |
*/
|
88 |
-
public function exportSubscribersPerWebsite(Mage_Core_Model_Website $website
|
89 |
-
)
|
90 |
{
|
91 |
$updated = 0;
|
92 |
$fileHelper = Mage::helper('ddg/file');
|
85 |
*
|
86 |
* @return int
|
87 |
*/
|
88 |
+
public function exportSubscribersPerWebsite(Mage_Core_Model_Website $website)
|
|
|
89 |
{
|
90 |
$updated = 0;
|
91 |
$fileHelper = Mage::helper('ddg/file');
|
@@ -80,4 +80,25 @@ class Dotdigitalgroup_Email_Model_Resource_Automation
|
|
80 |
return $e;
|
81 |
}
|
82 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
83 |
}
|
80 |
return $e;
|
81 |
}
|
82 |
}
|
83 |
+
|
84 |
+
/**
|
85 |
+
* delete completed records older then 30 days
|
86 |
+
*
|
87 |
+
* @return Exception|int
|
88 |
+
*/
|
89 |
+
public function cleanup()
|
90 |
+
{
|
91 |
+
try {
|
92 |
+
$date = Mage::app()->getLocale()->date()->subDay(30)->toString('YYYY-MM-dd HH:mm:ss');
|
93 |
+
$conn = $this->_getWriteAdapter();
|
94 |
+
$num = $conn->delete(
|
95 |
+
$this->getMainTable(),
|
96 |
+
array('created_at < ?' => $date)
|
97 |
+
);
|
98 |
+
|
99 |
+
return $num;
|
100 |
+
} catch (Exception $e) {
|
101 |
+
return $e;
|
102 |
+
}
|
103 |
+
}
|
104 |
}
|
@@ -57,4 +57,25 @@ class Dotdigitalgroup_Email_Model_Resource_Campaign
|
|
57 |
return $e;
|
58 |
}
|
59 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
60 |
}
|
57 |
return $e;
|
58 |
}
|
59 |
}
|
60 |
+
|
61 |
+
/**
|
62 |
+
* delete completed records older then 30 days
|
63 |
+
*
|
64 |
+
* @return Exception|int
|
65 |
+
*/
|
66 |
+
public function cleanup()
|
67 |
+
{
|
68 |
+
try {
|
69 |
+
$date = Mage::app()->getLocale()->date()->subDay(30)->toString('YYYY-MM-dd HH:mm:ss');
|
70 |
+
$conn = $this->_getWriteAdapter();
|
71 |
+
$num = $conn->delete(
|
72 |
+
$this->getMainTable(),
|
73 |
+
array('created_at < ?' => $date)
|
74 |
+
);
|
75 |
+
|
76 |
+
return $num;
|
77 |
+
} catch (Exception $e) {
|
78 |
+
return $e;
|
79 |
+
}
|
80 |
+
}
|
81 |
}
|
@@ -318,6 +318,7 @@ class Dotdigitalgroup_Email_Model_Resource_Contact
|
|
318 |
->addFieldToFilter('subscriber_email', array('in' => $data));
|
319 |
|
320 |
|
|
|
321 |
|
322 |
foreach ($newsletterCollection as $subscriber) {
|
323 |
$subscriber->setSubscriberStatus(
|
318 |
->addFieldToFilter('subscriber_email', array('in' => $data));
|
319 |
|
320 |
|
321 |
+
Mage::register('unsubscribeEmails', $data);
|
322 |
|
323 |
foreach ($newsletterCollection as $subscriber) {
|
324 |
$subscriber->setSubscriberStatus(
|
@@ -56,4 +56,25 @@ class Dotdigitalgroup_Email_Model_Resource_Importer
|
|
56 |
return $e;
|
57 |
}
|
58 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
59 |
}
|
56 |
return $e;
|
57 |
}
|
58 |
}
|
59 |
+
|
60 |
+
/**
|
61 |
+
* delete completed records older then 30 days
|
62 |
+
*
|
63 |
+
* @return Exception|int
|
64 |
+
*/
|
65 |
+
public function cleanup()
|
66 |
+
{
|
67 |
+
try {
|
68 |
+
$date = Mage::app()->getLocale()->date()->subDay(30)->toString('YYYY-MM-dd HH:mm:ss');
|
69 |
+
$conn = $this->_getWriteAdapter();
|
70 |
+
$num = $conn->delete(
|
71 |
+
$this->getMainTable(),
|
72 |
+
array('created_at < ?' => $date)
|
73 |
+
);
|
74 |
+
|
75 |
+
return $num;
|
76 |
+
} catch (Exception $e) {
|
77 |
+
return $e;
|
78 |
+
}
|
79 |
+
}
|
80 |
}
|
@@ -324,7 +324,7 @@ class Dotdigitalgroup_Email_Model_Rules extends Mage_Core_Model_Abstract
|
|
324 |
foreach ($multiFieldsConditions as $key => $multiFieldsCondition) {
|
325 |
if (in_array($key, $column)) {
|
326 |
$exp = new Zend_Db_Expr($key);
|
327 |
-
$column[] = $exp;
|
328 |
$cond[] = $multiFieldsCondition;
|
329 |
continue;
|
330 |
}
|
324 |
foreach ($multiFieldsConditions as $key => $multiFieldsCondition) {
|
325 |
if (in_array($key, $column)) {
|
326 |
$exp = new Zend_Db_Expr($key);
|
327 |
+
$column[] = $exp->__toString();
|
328 |
$cond[] = $multiFieldsCondition;
|
329 |
continue;
|
330 |
}
|
@@ -30,12 +30,12 @@ class Dotdigitalgroup_Email_Model_Sync_Contact_Bulk
|
|
30 |
$file = $item->getImportFile();
|
31 |
if (!empty($file) && !empty($addressBook) && $this->_client) {
|
32 |
$result = $this->_client->postAddressBookContactsImport($file, $addressBook);
|
33 |
-
$this->_handleItemAfterSync($item, $result
|
34 |
}
|
35 |
}
|
36 |
}
|
37 |
|
38 |
-
protected function _handleItemAfterSync($item, $result
|
39 |
{
|
40 |
$curlError = $this->_checkCurlError($item);
|
41 |
|
@@ -46,12 +46,6 @@ class Dotdigitalgroup_Email_Model_Sync_Contact_Bulk
|
|
46 |
|
47 |
$item->save();
|
48 |
} elseif (isset($result->id) && !isset($result->message)) {
|
49 |
-
//if file
|
50 |
-
if($file){
|
51 |
-
$fileHelper = Mage::helper('ddg/file');
|
52 |
-
$fileHelper->archiveCSV($file);
|
53 |
-
}
|
54 |
-
|
55 |
$item->setImportStatus(Dotdigitalgroup_Email_Model_Importer::IMPORTING)
|
56 |
->setImportId($result->id)
|
57 |
->setImportStarted(Mage::getSingleton('core/date')->gmtDate())
|
30 |
$file = $item->getImportFile();
|
31 |
if (!empty($file) && !empty($addressBook) && $this->_client) {
|
32 |
$result = $this->_client->postAddressBookContactsImport($file, $addressBook);
|
33 |
+
$this->_handleItemAfterSync($item, $result);
|
34 |
}
|
35 |
}
|
36 |
}
|
37 |
|
38 |
+
protected function _handleItemAfterSync($item, $result)
|
39 |
{
|
40 |
$curlError = $this->_checkCurlError($item);
|
41 |
|
46 |
|
47 |
$item->save();
|
48 |
} elseif (isset($result->id) && !isset($result->message)) {
|
|
|
|
|
|
|
|
|
|
|
|
|
49 |
$item->setImportStatus(Dotdigitalgroup_Email_Model_Importer::IMPORTING)
|
50 |
->setImportId($result->id)
|
51 |
->setImportStarted(Mage::getSingleton('core/date')->gmtDate())
|
@@ -290,62 +290,4 @@ class Dotdigitalgroup_Email_EmailController
|
|
290 |
$currentQuote->collectTotals()->save();
|
291 |
}
|
292 |
}
|
293 |
-
|
294 |
-
public function accountcallbackAction()
|
295 |
-
{
|
296 |
-
$params = $this->getRequest()->getParams();
|
297 |
-
$helper = Mage::helper('ddg');
|
298 |
-
if (!empty($params['accountId']) && !empty($params['apiUser']) && !empty($params['pass']) && !empty($params['secret'])) {
|
299 |
-
if ($params['secret'] == Dotdigitalgroup_Email_Helper_Config::API_CONNECTOR_TRIAL_FORM_SECRET) {
|
300 |
-
$apiConfigStatus = $helper->saveApiCreds($params['apiUser'], $params['pass']);
|
301 |
-
$dataFieldsStatus = $helper->setupDataFields();
|
302 |
-
$addressBookStatus = $helper->createAddressBooks();
|
303 |
-
$syncStatus = $helper->enableSyncForTrial();
|
304 |
-
if (isset($params['apiEndpoint'])) {
|
305 |
-
$helper->saveApiEndPoint($params['apiEndpoint']);
|
306 |
-
}
|
307 |
-
if ($apiConfigStatus && $dataFieldsStatus && $addressBookStatus && $syncStatus) {
|
308 |
-
$this->sendAjaxResponse(false, $this->_getSuccessHtml());
|
309 |
-
} else {
|
310 |
-
$this->sendAjaxResponse(true, $this->_getErrorHtml());
|
311 |
-
}
|
312 |
-
}
|
313 |
-
}
|
314 |
-
$this->sendAjaxResponse(true, 'Error');
|
315 |
-
}
|
316 |
-
|
317 |
-
public function sendAjaxResponse($error, $msg)
|
318 |
-
{
|
319 |
-
$message = array(
|
320 |
-
'err' => $error,
|
321 |
-
'message' => $msg
|
322 |
-
);
|
323 |
-
$this->getResponse()->setBody(
|
324 |
-
$this->getRequest()->getParam('callback') . "(" . Mage::helper('core')->jsonEncode($message) . ")"
|
325 |
-
);
|
326 |
-
}
|
327 |
-
|
328 |
-
protected function _getSuccessHtml()
|
329 |
-
{
|
330 |
-
return
|
331 |
-
"<div class='modal-page'>
|
332 |
-
<div class='success'></div>
|
333 |
-
<h2 class='center'>Congratulations your dotmailer account is now ready, time to make your marketing awesome</h2>
|
334 |
-
<div class='center'>
|
335 |
-
<input type='submit' class='center' value='Start making money' />
|
336 |
-
</div>
|
337 |
-
</div>";
|
338 |
-
}
|
339 |
-
|
340 |
-
protected function _getErrorHtml()
|
341 |
-
{
|
342 |
-
return
|
343 |
-
"<div class='modal-page'>
|
344 |
-
<div class='fail'></div>
|
345 |
-
<h2 class='center'>Sorry, something went wrong whilst trying to create your new dotmailer account</h2>
|
346 |
-
<div class='center'>
|
347 |
-
<a class='submit secondary center' href='mailto:support@dotmailer.com'>Contact support@dotmailer.com</a>
|
348 |
-
</div>
|
349 |
-
</div>";
|
350 |
-
}
|
351 |
}
|
290 |
$currentQuote->collectTotals()->save();
|
291 |
}
|
292 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
293 |
}
|
@@ -0,0 +1,110 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Dotdigitalgroup_Email_TrialController
|
4 |
+
extends Mage_Core_Controller_Front_Action
|
5 |
+
{
|
6 |
+
protected $_params;
|
7 |
+
protected $_ipRange = array(
|
8 |
+
'104.40.179.234',
|
9 |
+
'104.40.159.161',
|
10 |
+
'191.233.82.46',
|
11 |
+
'104.46.48.100',
|
12 |
+
'104.40.187.26'
|
13 |
+
);
|
14 |
+
|
15 |
+
public function preDispatch()
|
16 |
+
{
|
17 |
+
$this->_params = $this->getRequest()->getParams();
|
18 |
+
|
19 |
+
//if ip is not in range send error response
|
20 |
+
if (!in_array(Mage::helper('core/http')->getRemoteAddr(), $this->_ipRange) or
|
21 |
+
!isset($params['accountId']) or !isset($params['apiUser']) or !isset($params['pass'])
|
22 |
+
) {
|
23 |
+
$this->sendAjaxResponse(true, $this->_getErrorHtml());
|
24 |
+
}
|
25 |
+
|
26 |
+
if (empty($params['accountId']) or empty($params['apiUser']) or empty($params['pass'])) {
|
27 |
+
$this->sendAjaxResponse(true, $this->_getErrorHtml());
|
28 |
+
}
|
29 |
+
|
30 |
+
parent::preDispatch();
|
31 |
+
}
|
32 |
+
|
33 |
+
/**
|
34 |
+
* trial account call back action
|
35 |
+
*/
|
36 |
+
public function accountcallbackAction()
|
37 |
+
{
|
38 |
+
$helper = Mage::helper('ddg');
|
39 |
+
//Save api details
|
40 |
+
$apiConfigStatus = $helper->saveApiCreds($this->_params['apiUser'], $this->_params['pass']);
|
41 |
+
//Setup data fields
|
42 |
+
$dataFieldsStatus = $helper->setupDataFields();
|
43 |
+
//Setup create address book
|
44 |
+
$addressBookStatus = $helper->createAddressBooks();
|
45 |
+
//enable syncs
|
46 |
+
$syncStatus = $helper->enableSyncForTrial();
|
47 |
+
//if apiEndpoint then save it
|
48 |
+
if (isset($this->_params['apiEndpoint'])) {
|
49 |
+
$helper->saveApiEndPoint($this->_params['apiEndpoint']);
|
50 |
+
}
|
51 |
+
//if all true send success response
|
52 |
+
if ($apiConfigStatus && $dataFieldsStatus && $addressBookStatus && $syncStatus) {
|
53 |
+
$this->sendAjaxResponse(false, $this->_getSuccessHtml());
|
54 |
+
} else {
|
55 |
+
$this->sendAjaxResponse(true, $this->_getErrorHtml());
|
56 |
+
}
|
57 |
+
}
|
58 |
+
|
59 |
+
/**
|
60 |
+
* send ajax response
|
61 |
+
*
|
62 |
+
* @param $error
|
63 |
+
* @param $msg
|
64 |
+
*/
|
65 |
+
public function sendAjaxResponse($error, $msg)
|
66 |
+
{
|
67 |
+
$message = array(
|
68 |
+
'err' => $error,
|
69 |
+
'message' => $msg
|
70 |
+
);
|
71 |
+
$this->getResponse()->setBody(
|
72 |
+
$this->getRequest()->getParam('callback') . "(" . Mage::helper('core')->jsonEncode($message) . ")"
|
73 |
+
)->sendResponse();
|
74 |
+
exit;
|
75 |
+
}
|
76 |
+
|
77 |
+
/**
|
78 |
+
* success html for response
|
79 |
+
*
|
80 |
+
* @return string
|
81 |
+
*/
|
82 |
+
protected function _getSuccessHtml()
|
83 |
+
{
|
84 |
+
return
|
85 |
+
"<div class='modal-page'>
|
86 |
+
<div class='success'></div>
|
87 |
+
<h2 class='center'>Congratulations your dotmailer account is now ready, time to make your marketing awesome</h2>
|
88 |
+
<div class='center'>
|
89 |
+
<input type='submit' class='center' value='Start making money' />
|
90 |
+
</div>
|
91 |
+
</div>";
|
92 |
+
}
|
93 |
+
|
94 |
+
/**
|
95 |
+
* error html for response
|
96 |
+
*
|
97 |
+
* @return string
|
98 |
+
*/
|
99 |
+
protected function _getErrorHtml()
|
100 |
+
{
|
101 |
+
return
|
102 |
+
"<div class='modal-page'>
|
103 |
+
<div class='fail'></div>
|
104 |
+
<h2 class='center'>Sorry, something went wrong whilst trying to create your new dotmailer account</h2>
|
105 |
+
<div class='center'>
|
106 |
+
<a class='submit secondary center' href='mailto:support@dotmailer.com'>Contact support@dotmailer.com</a>
|
107 |
+
</div>
|
108 |
+
</div>";
|
109 |
+
}
|
110 |
+
}
|
@@ -2,7 +2,7 @@
|
|
2 |
<config>
|
3 |
<modules>
|
4 |
<Dotdigitalgroup_Email>
|
5 |
-
<version>6.
|
6 |
</Dotdigitalgroup_Email>
|
7 |
</modules>
|
8 |
<frontend>
|
@@ -167,6 +167,24 @@
|
|
167 |
</ddg_customer_register_success>
|
168 |
</observers>
|
169 |
</customer_register_success>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
170 |
<customer_delete_after>
|
171 |
<observers>
|
172 |
<ddg_customer_delete_after>
|
2 |
<config>
|
3 |
<modules>
|
4 |
<Dotdigitalgroup_Email>
|
5 |
+
<version>6.1.0</version>
|
6 |
</Dotdigitalgroup_Email>
|
7 |
</modules>
|
8 |
<frontend>
|
167 |
</ddg_customer_register_success>
|
168 |
</observers>
|
169 |
</customer_register_success>
|
170 |
+
<sales_model_service_quote_submit_before>
|
171 |
+
<observers>
|
172 |
+
<ddg_sales_model_service_quote_submit_before>
|
173 |
+
<type>singleton</type>
|
174 |
+
<class>ddg_automation/customer_observer</class>
|
175 |
+
<method>handleQuoteSubmitBefore</method>
|
176 |
+
</ddg_sales_model_service_quote_submit_before>
|
177 |
+
</observers>
|
178 |
+
</sales_model_service_quote_submit_before>
|
179 |
+
<sales_model_service_quote_submit_success>
|
180 |
+
<observers>
|
181 |
+
<ddg_sales_model_service_quote_submit_success>
|
182 |
+
<type>singleton</type>
|
183 |
+
<class>ddg_automation/customer_observer</class>
|
184 |
+
<method>handleQuoteSubmitSuccess</method>
|
185 |
+
</ddg_sales_model_service_quote_submit_success>
|
186 |
+
</observers>
|
187 |
+
</sales_model_service_quote_submit_success>
|
188 |
<customer_delete_after>
|
189 |
<observers>
|
190 |
<ddg_customer_delete_after>
|
@@ -92,7 +92,6 @@ block:
|
|
92 |
- Adminhtml#System#Dynamic#Manualchooser.php
|
93 |
- Adminhtml#System#Dynamic#Manualcontainer.php
|
94 |
- Adminhtml#System#Dynamic#Mostviewed.php
|
95 |
-
- Adminhtml#System#Dynamic#Nosto.php
|
96 |
- Adminhtml#System#Dynamic#Productpush.php
|
97 |
- Adminhtml#System#Dynamic#Recentlyviewed.php
|
98 |
- Adminhtml#System#Dynamic#Related.php
|
@@ -223,7 +222,6 @@ design:
|
|
223 |
- frontend#base#default#layout#connector.xml
|
224 |
- frontend#base#default#layout#mailcheck.xml
|
225 |
- frontend#base#default#template#connector#product#list.phtml
|
226 |
-
- frontend#base#default#template#connector#product#nosto.phtml
|
227 |
- frontend#base#default#template#connector#product#price.phtml
|
228 |
- frontend#base#default#template#connector#basket.phtml
|
229 |
- frontend#base#default#template#connector#coupon.phtml
|
92 |
- Adminhtml#System#Dynamic#Manualchooser.php
|
93 |
- Adminhtml#System#Dynamic#Manualcontainer.php
|
94 |
- Adminhtml#System#Dynamic#Mostviewed.php
|
|
|
95 |
- Adminhtml#System#Dynamic#Productpush.php
|
96 |
- Adminhtml#System#Dynamic#Recentlyviewed.php
|
97 |
- Adminhtml#System#Dynamic#Related.php
|
222 |
- frontend#base#default#layout#connector.xml
|
223 |
- frontend#base#default#layout#mailcheck.xml
|
224 |
- frontend#base#default#template#connector#product#list.phtml
|
|
|
225 |
- frontend#base#default#template#connector#product#price.phtml
|
226 |
- frontend#base#default#template#connector#basket.phtml
|
227 |
- frontend#base#default#template#connector#coupon.phtml
|
@@ -1060,7 +1060,7 @@
|
|
1060 |
<sort_order>4000</sort_order>
|
1061 |
<show_in_default>1</show_in_default>
|
1062 |
<show_in_website>1</show_in_website>
|
1063 |
-
<show_in_store>
|
1064 |
<groups>
|
1065 |
<customers translate="label" module="ddg">
|
1066 |
<label>Customers</label>
|
1060 |
<sort_order>4000</sort_order>
|
1061 |
<show_in_default>1</show_in_default>
|
1062 |
<show_in_website>1</show_in_website>
|
1063 |
+
<show_in_store>1</show_in_store>
|
1064 |
<groups>
|
1065 |
<customers translate="label" module="ddg">
|
1066 |
<label>Customers</label>
|
@@ -1,26 +1,28 @@
|
|
1 |
-
|
2 |
-
|
3 |
-
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
|
|
|
1 |
+
<?php if (Mage::helper('ddg')->isEnabled()): ?>
|
2 |
+
<script type="text/javascript">
|
3 |
+
/* <![CDATA[ */
|
4 |
+
(function () {
|
5 |
+
var domain = "<?php echo $this->getDomain();?>";
|
6 |
+
var apiusername = "<?php echo $this->getApiUsername();?>";
|
7 |
+
var mageVersion = "<?php echo $this->getMageVersion();?>";
|
8 |
+
var connectorVersion = "<?php echo $this->getConnectorVersion();?>";
|
9 |
+
var features = encodeURIComponent('<?php echo $this->getFeatures();?>');
|
10 |
+
var cronInstalled = "<?php echo $this->getCronInstalled();?>";
|
11 |
+
var websitesnames = encodeURIComponent('<?php echo $this->getWebsiteNames();?>');
|
12 |
+
var email = "<?php echo $this->getAccountEmail();?>";
|
13 |
+
var dmProtocol;
|
14 |
+
if (window.location.protocol.toLowerCase() == 'https:') {
|
15 |
+
dmProtocol = 'https:';
|
16 |
+
} else {
|
17 |
+
dmProtocol = 'http:';
|
18 |
+
}
|
19 |
+
var dmUrl = dmProtocol + "//integration.dotmailerformagento.co.uk/install/?domain=" + domain + "&apiusername=" + apiusername + "&mage=" + mageVersion +
|
20 |
+
"&email=" + email + "&connector=" + connectorVersion + "&features=" + features + "&cron=" + cronInstalled + "&websitenames=" + websitesnames;
|
21 |
+
var dmscript = document.createElement('script');
|
22 |
+
dmscript.type = 'text/javascript';
|
23 |
+
dmscript.src = dmUrl;
|
24 |
+
$("html-body").insert(dmscript);
|
25 |
+
})();
|
26 |
+
/* ]]> */
|
27 |
+
</script>
|
28 |
+
<?php endif;
|
@@ -1,7 +1,7 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>dotmailermagento</name>
|
4 |
-
<version>6.
|
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:
|
|
26 |

|
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>2016-
|
30 |
-
<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="969e3da8dad7476afc7f2fe7f98b874a"/></dir><file name="Automation.php" hash="0063603cbf59e05c239f7dd87eac26e3"/><dir name="Campaign"><file name="Grid.php" hash="2e6c74c0de63a5eafc5bc75ef19a0f80"/></dir><file name="Campaign.php" hash="347b6b5d4de5feef62279626f3a7bb41"/><dir name="Catalog"><file name="Grid.php" hash="ea10d2cd26b6c126d43f2b507f911358"/></dir><file name="Catalog.php" hash="ba132a8dae85cb95135967908dac7c7d"/><dir name="Column"><dir name="Renderer"><file name="Delete.php" hash="edbe5fce699af741fadd451a7d550d57"/><file name="Imported.php" hash="9aeda38ab80ccc032ceda90d10c58d12"/><file name="Reset.php" hash="efc40cf2f933e7b0f0fcca53f4fe0f79"/><file name="Script.php" hash="4c0f04b93dec08e51eff8acb9b8798fd"/><file name="Status.php" hash="2d729025a5935b4ac329eaa2b4e8cff0"/><file name="Sync.php" hash="78246271f3c05f8d10677ce54a225207"/><file name="Website.php" hash="e0c73b43e78e7c58d21a199de2d5535f"/></dir></dir><dir name="Config"><dir name="Automation"><file name="Customdatafields.php" hash="e65b7448d1806268af48ed45437dc885"/></dir><file name="Customdatafields.php" hash="56cb173fc1b418a60f5b2d9bd9d05b85"/><dir name="Rules"><file name="Customdatafields.php" hash="1d688bf01dd141cecbeb8f86cc16175f"/></dir><file name="Select.php" hash="80fa3ca2d228511d0e580bfb9c56c904"/></dir><dir name="Contact"><dir name="Edit"><file name="Form.php" hash="57f41d2b6512ce3243f7639544b9195d"/></dir><file name="Edit.php" hash="2a8ed80298241140514b30bb99fbca77"/><file name="Grid.php" hash="d8139eeb81fd4c400ff3fb6ccc6262da"/></dir><file name="Contact.php" hash="edfdac40a8b166204c64efed8a7b3cd7"/><dir name="Customer"><dir name="Tab"><file name="Stats.php" hash="df80b08010045e10abfd42bf5156cd42"/></dir><file name="Tab.php" hash="99f85175855c852e5cead91500c49123"/></dir><dir name="Dashboard"><file name="Switcher.php" hash="fd4a2f78970870000ba8151da1c5f8d2"/><dir name="Tabs"><dir name="Analysis"><file name="Abandonedcarts.php" hash="0d86abf18c415b66ad09c6eb8f3ed7c0"/><file name="Customer.php" hash="acef3702082538eb5495cc3286e7dcc4"/><file name="Rfm.php" hash="5e8225bbb23929a4bb7957f940dd8927"/><file name="Sales.php" hash="b7ea7b521fc8915b33fb3d182eb9076b"/><file name="Subscriber.php" hash="5a4d0a5ec38f476ded288330b8b6a63d"/></dir><file name="Analysis.php" hash="afc77df2ed2b5994d53e768389221147"/><dir name="General"><file name="Data.php" hash="4a2466f3cbf4cef32a4c3aeba83c00aa"/></dir><file name="General.php" hash="aae7fb6cade08cb72ffc5f29515acc24"/><file name="Logs.php" hash="c9c69cfa7b0ed2e9d8f6a849999ba4a2"/><file name="Status.php" hash="5a405fa5eee3c21627debfc797d7df42"/></dir><file name="Tabs.php" hash="2f94a2700413024439e92b5d5874cd26"/></dir><file name="Dashboard.php" hash="3dadaa26eb69843b1e73647908467b06"/><dir name="Importer"><file name="Grid.php" hash="fc57caa0820a0781d7753a0e2d9222f4"/></dir><file name="Importer.php" hash="c7d5cf1afae2546bbc114a231c34b373"/><dir name="Order"><file name="Grid.php" hash="011484a8e430ca39dd3439ede5c27b82"/></dir><file name="Order.php" hash="8af36ac2d34d6f5059c5d3091fcf9099"/><dir name="Quote"><file name="Grid.php" hash="d412035c25abc9b563079836d8c52393"/></dir><file name="Quote.php" hash="38e4f7e02cab1d108abe1ba68130d7ec"/><dir name="Review"><file name="Grid.php" hash="ca947aae4a098fc172d180b4981a9830"/></dir><file name="Review.php" hash="c1fb596394c72b23199ba7a94f49f584"/><dir name="Rules"><dir name="Edit"><file name="Form.php" hash="3ad3dcabf324fbc368038ef5fbd869e3"/><dir name="Tab"><file name="Conditions.php" hash="af34ded96e16d96c3ee6be1ec6a972b4"/><file name="Main.php" hash="79463e81837aa719c5f5c9d452729ed0"/></dir><file name="Tabs.php" hash="1fedda822f2705410ac87f75eb1ce4a9"/></dir><file name="Edit.php" hash="7e2b2b1a0b6befe00103862687f4599b"/><file name="Grid.php" hash="ef1b88f6af37ab89aa669c0a03a59f54"/></dir><file name="Rules.php" hash="8102a99fcc953b293c3cc70735ddbffb"/><dir name="Sales"><dir name="Order"><dir name="Creditmemo"><file name="View.php" hash="a71f518c762cb60181d33cd45b62e221"/></dir></dir></dir><dir name="System"><dir name="Advanced"><file name="Deletecontactids.php" hash="ae204cf633fd60b036b0970cc6d1c313"/><file name="Notification.php" hash="3d410572b473a81776fcf1e6efce753b"/><file name="Reimportcatalog.php" hash="d567f975071b67dac1e63660c8804fa2"/><file name="Reimportorders.php" hash="4bdc573907230de41face688c5d5bfbd"/><file name="Reimportquotes.php" hash="64321cf856dcb9b593875be3283330b9"/><file name="Reimportreviews.php" hash="8d50677d1198766a99eacb2d097d1982"/><file name="Reimportsubscribers.php" hash="e0f52ee8b1ac7fb95b03e4fb3e4c05bb"/><file name="Reimportwishlists.php" hash="046b124aea89e65bba6927092b2ef67f"/><file name="Reset.php" hash="8ec42415ec01c600181f6c82f5d5d421"/><file name="Resetcustomersimport.php" hash="c66c71a01bfd39438933235a80d0cf44"/><file name="Runcatalogsync.php" hash="cd41886e7346ca303d0f15a9b2d481f6"/><file name="Runcontactsync.php" hash="f2f11b4306eb3e2df5d4a596d7e54281"/><file name="Runimportersync.php" hash="3f48f8e1fde3a9f9bcd48f6a286958a1"/><file name="Runordersync.php" hash="160aba9a307eb9646c95ddb0bf63d9be"/><file name="Runquotesync.php" hash="562ce40bf0e2eef6e8a51475a0239189"/><file name="Runreviewsync.php" hash="c90c6f2d995abc5eb0d5f1933a0e529f"/><file name="Runsubscribersync.php" hash="5a1080c74437fbfd28f5397bff864080"/><file name="Runwishlistsync.php" hash="713c46c8cd6edac9a7611210b486df45"/><file name="Setupdatafields.php" hash="9021c32f11989db9a7691cbaa550e39c"/><file name=".DS_Store" hash="194577a7e20bdcc7afbb718f502c134c"/></dir><file name="Ajaxvalidate.php" hash="4c52db7b597abee9773477bc3cbd2420"/><dir name="Automation"><file name="Connect.php" hash="adc4b0cbc18ec3261a28edbe3fbfc207"/></dir><dir name="Config"><file name="Addressbook.php" hash="fa7b146dd064951bc7483a13efb0e88d"/><file name="Colorpicker.php" hash="8ac984c68b6da790acb989d4cb7a1cc0"/><file name="Datafield.php" hash="917bbf064a83435d8fd951b08464f97a"/><file name="Enterprisevalidator.php" hash="df83aec19d0069c33be94ff2cf11c689"/><file name="Resetcontacts.php" hash="54349d335b374bee599a3e9118726033"/><file name="Resetguests.php" hash="eaea7c05bf2cfc81b9544f397280a436"/><file name="Resetsubscribers.php" hash="9d894ca04784a9cf559a184512408755"/><file name="Trial.php" hash="c86ce78bd4c9198706858fd102c9ca86"/><file name="Validator.php" hash="120c52c0a7f6d213deb2c681eb12c3a3"/></dir><dir name="Dynamic"><file name="Addressbookbutton.php" hash="9e5fef0bb60be0889120a3d9aaf4b8a6"/><dir name="Basket"><file name="Crosssell.php" hash="65d80e55bf42895af66639e6f0a3b664"/><file name="Related.php" hash="da310776a099053040e040e54a057679"/><file name="Upsell.php" hash="501e7dfab1ba2f52b2fad45f77ae4fbb"/></dir><file name="Bestsellers.php" hash="a351f4d1d977734733fdd95d7ed51620"/><file name="Couponinfo.php" hash="8dd7ee6852f8e6f9736c893ed8b9990d"/><file name="Creditmemonew.php" hash="912443f1d700e1a5ac8b2ef97adcd29a"/><file name="Crosssell.php" hash="e9f47c61d045489e7279349a42578e48"/><file name="Datafieldbutton.php" hash="bc050ed88c229ec76323a56821343b72"/><file name="Fallbackchooser.php" hash="87a26abe64947d76a440284b7a3dd491"/><file name="Fallbackcontainer.php" hash="1e3c11748bdc3c7a69002357474f65b2"/><dir name="Feefo"><file name="Reviews.php" hash="bc6df4f80f921392c2807a7649b29fb3"/><file name="Score.php" hash="3b527ac29e1f665f20b88edf3a41fb02"/></dir><file name="Gridlist.php" hash="eee12062d19dd7b9f1ddc098ae5e5af0"/><file name="Lostbasket.php" hash="a2d8afd78f8f6fa3fb3d7f2b322ca1e3"/><file name="Manualchooser.php" hash="913423e8b6e0f7949cf44ab624fa557d"/><file name="Manualcontainer.php" hash="18c8457fe96ffdf9b38194701cb732ed"/><file name="Mostviewed.php" hash="92e6ba3537b7c9a2804a05fe58fc1fbc"/><file name="Productpush.php" hash="39ef02233e3f0b05eb9c951f12120bf5"/><file name="Recentlyviewed.php" hash="2c727d3ce2cfb119af7c8b53583fad6d"/><file name="Related.php" hash="a9caeb9da456801b135f2ba28ef84560"/><file name="Review.php" hash="55afdd0e2d1c728b9ec8810377548927"/><file name="Upsell.php" hash="b235292096f49eca3fc494dedc3b1150"/><dir name="Wishlist"><file name="Crosssell.php" hash="d400de6e9c87f8b4efea75c1cc7a34b1"/><file name="Related.php" hash="0f2c8ff231a1afdd92579d19b59f86e6"/><file name="Upsell.php" hash="82798c15b6735a4f407973fedeac00ea"/></dir><file name="Wishlist.php" hash="f19c40ff58ae7b32b89ecbc9f25ff3ca"/></dir><file name="Emailapivalidate.php" hash="b9ef6b5f86aa1d0df0f34d7b4c906805"/><file name="Installation.php" hash="1e0c4e83cd606b4d51eb9c8c863e567b"/><dir name="Url"><file name="Creditmemoupdate.php" hash="120b1641a325d018cd6655fdfc1af9bc"/><file name="Creditmemoupdateguest.php" hash="a86c2ffa71106996ec3d1a25c3814b9b"/><file name="Customerconfirmation.php" hash="ec96c64b875d8e3a1ac217ec1f7c79dd"/><file name="Customerconfirmed.php" hash="e8e46bf388978c4d20ca18d71774e73e"/><file name="Customernew.php" hash="b3aa5d5bc1a01a6d244552f5901dcd64"/><file name="Invoiceupdate.php" hash="f9d7dacc3ff96c5e81b5a217668589f1"/><file name="Invoiceupdateguest.php" hash="67b460efb813b49f028fd782fcad8985"/><file name="Newcreditmemo.php" hash="9aca49a4a6b84dae238eea7d018bf312"/><file name="Newcreditmemoguest.php" hash="a1f2d5a2cc744d0d9d49c7fa975831a5"/><file name="Newinvoice.php" hash="95880c74bad2a032070bc53d45a9ee24"/><file name="Newinvoiceguest.php" hash="5ddd8bedf19750e4e1ef744cf71ef669"/><file name="Neworder.php" hash="b78734d6c080136a2f0f8250ebacac47"/><file name="Neworderguest.php" hash="6cbf5f53ac2784ab24dca8c6e35944d4"/><file name="Newshipment.php" hash="b0ef0bbeade98fb4c0a1a5cab13a407e"/><file name="Newshipmentguest.php" hash="fae2ca4fb86580106e9e15e9c1581bad"/><file name="Orderupdate.php" hash="cc184fc84dec1ef6f37a2abcfae1eaad"/><file name="Orderupdateguest.php" hash="7d9a8f9f453aa8033434930b375a8ea8"/><file name="Shipmentupdate.php" hash="0f361e9f61906a9c5af78602e677505b"/><file name="Shipmentupdateguest.php" hash="b7b14768d8a0262c679b3069f2aa3fcc"/></dir></dir><dir name="Widget"><dir name="Chooser"><file name="Product.php" hash="692d7d63f3e7498dbb5138a0ca403083"/></dir></dir><dir name="Wishlist"><file name="Grid.php" hash="c6d6108f6de3f905ab2bb3096b7837f2"/></dir><file name="Wishlist.php" hash="48281253c790ccaf6b58c6a34c803f6b"/></dir><file name="Basket.php" hash="354eb4e772b05165b0361f2664020804"/><file name="Coupon.php" hash="9887617dc7d4c9ad6a9fe11f6d0b7574"/><dir name="Customer"><dir name="Account"><file name="Books.php" hash="b5c8a635f5ba0f6da0f567968037e17e"/></dir></dir><file name="Edc.php" hash="c51f6654375fc3d81dd0508f0966328b"/><file name="Feefo.php" hash="ed76c7571972e2c4bf69bc79c8beef31"/><dir name="Order"><file name="Creditmemo.php" hash="05fd539acb65b1118b10f5ccce2ef897"/><file name="Invoice.php" hash="99d4b99d7c336528e51990f759a32481"/><file name="Shipping.php" hash="ab075ef7700f6599019c97013192dad1"/></dir><file name="Order.php" hash="ab2afb327f7688e29e926792ccfb886d"/><file name="Products.php" hash="ce576a13278dfbbd0ac6c668238f03ea"/><dir name="Recommended"><file name="Products.php" hash="5363e4be85ade66f35ba7bfe36ee26b4"/><file name="Wishlistproducts.php" hash="f6edd234afcc3282172edcfbc970b1cb"/></dir><file name="Wishlist.php" hash="f98c9a81a8cbbf5b42b622a20dcc5ce0"/></dir><dir name="Helper"><file name="Config.php" hash="b5e1e59f30724db782f6ac8037dc236d"/><file name="Dashboard.php" hash="0e4ac39938b4abb1a9523e7e23f68885"/><file name="Data.php" hash="e839bc0b8c60de7a3567cb89a25917d5"/><file name="File.php" hash="bffaa30b8d7d355854ca7d72a15a8b89"/><file name="Recommended.php" hash="c9497a8a504dba535675493a88b6bb5c"/><file name="Transactional.php" hash="9602a0d87b4d0f26d218939b1e91b2ea"/></dir><dir name="Model"><dir name="Abstract"><file name="Rest.php" hash="6b237f3c8767fac6ddd6cf8a9feed13e"/></dir><dir name="Adminhtml"><dir name="Dashboard"><file name="Content.php" hash="5cabc9e5f9f3b2136251acc7023cdd5c"/><dir name="Tabs"><dir name="Analysis"><file name="Abandoned.php" hash="ca774e2d604743bc97999cec2f0c29a9"/><file name="Customer.php" hash="f6e6d31746cf3fd43bf1ae02e639c3d3"/><file name="Orders.php" hash="29ac17ce3a900d3f3329a17f2f4f6572"/><file name="Rfm.php" hash="ffe6dbdf67d7985f47c7c9f4b28914dd"/><file name="Subscriber.php" hash="66696dfa3bf31db6aabb133f7976c239"/></dir></dir></dir><file name="Observer.php" hash="a847eab45ba16c9cac57a2fbf3d02caa"/><dir name="Source"><file name="Addressbooks.php" hash="5394d7d4e644bc3b1dbb52fa76bb6d18"/><file name="Addressbookspref.php" hash="e2bcd703e3bf554dfaf5880ba50eac01"/><dir name="Advanced"><file name="Abandonedlimit.php" hash="8512e23594f6128f745a9eef575a4df1"/><file name="Attributes.php" hash="d58e785904f4b6419c45ae820fdcd60f"/><file name="Cronexpressionsone.php" hash="9ef4ab9fa407dc5e47e037cbe53ec429"/><file name="Cronexpressionstwo.php" hash="b7f1ba1e39dbffa049d15da9cd0a8f11"/><file name="Frequency.php" hash="bfdc4474762661561b2ed35b91a5df8e"/><file name="Quoteattributes.php" hash="e4cd25a7571e58a35c26a5b56ed4ed54"/><file name="Transdata.php" hash="9a0875a16947f0b7acbf34ccd5b89b15"/></dir><file name="Attributes.php" hash="9e62bcd0e2d42c857349deae86f714bd"/><dir name="Automation"><file name="Programme.php" hash="765a4d8d1f4a80e11755669dc085f992"/></dir><file name="Campaigns.php" hash="1e972ab52dafb2672bb9cd3343de25ac"/><dir name="Contact"><file name="Imported.php" hash="30c0d301ebb1357fa4ca7ac04ee9d653"/><file name="Modified.php" hash="e25cb9a7550b60cf7a5ff29287260a53"/></dir><dir name="Customer"><dir name="Attributes"><file name="Select.php" hash="46befe2d61623268aa507250f4fad7c2"/></dir></dir><file name="Datafields.php" hash="d288e3e5dc8f9e742696047877aef947"/><dir name="Datamapping"><file name="Datafieldaccess.php" hash="498aab828a8dfe868866ab48ced7988c"/><file name="Datafieldtype.php" hash="1f0b0da49bc2c33e6e3b8421790da12c"/></dir><dir name="Dynamic"><file name="Displaytype.php" hash="2a2285588f9cc40b05e7fc1dd271c606"/><file name="Gridview.php" hash="211d2711c8f368cc567cc87b9aeaf86e"/></dir><file name="Fontpicker.php" hash="69dafecee7ce6d1c5bb72c4adf39ac49"/><file name="Fontsize.php" hash="ef30bccf6ebd9600df751818fb6cfc32"/><dir name="Importer"><file name="Bulklimit.php" hash="a813367f827c6baf85484b650a542bd3"/><file name="Mode.php" hash="680be6f378e07dad5618c654b8d11fb2"/><file name="Status.php" hash="e4fb3e1e3ebf9a00beb99bd73cacdcfd"/></dir><dir name="Lostbaskets"><file name="Interval.php" hash="120d1107adb856ad5d33bf5d8fcfb46a"/><file name="Intervalminute.php" hash="998c0966fc9d22ff302a437bdab50d50"/></dir><file name="Orderstatus.php" hash="f9d365da3a57ed3ece93c835967691c5"/><file name="Publicdatafields.php" hash="25cc3d787e2584127bcaf1a1d0da0cd8"/><dir name="Reviews"><file name="Delay.php" hash="e9feab3951916ba48a7c54a38b4d9372"/></dir><dir name="Rules"><file name="Condition.php" hash="58007de4be2a57df28eac4e26273f2bd"/><file name="Type.php" hash="3f8ff233dbb4e14d93faceaafe8f3a7d"/><file name="Value.php" hash="dacaa61244be5e01b8705c40341c7e27"/></dir><file name="Styling.php" hash="3d120feceaec08056af3bd7e3e8205f3"/><dir name="Sweettooth"><file name="Yesno.php" hash="bd34c6210934e5cbec2b0f700c4888be"/></dir><dir name="Sync"><dir name="Catalog"><file name="Attributes.php" hash="7767910163644644d70d9232399f6a4c"/><file name="Type.php" hash="f3ff1da0abfaa60f261bbeb0f5ca6e20"/><file name="Values.php" hash="5d825375747e552a97e60caf816daa65"/><file name="Visibility.php" hash="068d763e78f5598a1c43c595df5292ed"/></dir></dir><dir name="Transactional"><file name="Mode.php" hash="20cb80da2b78d3d35c4b63a5cec803c7"/><file name="Port.php" hash="7a6f6133c408e432fb960b27cc829d5d"/></dir></dir></dir><dir name="Api2"><dir name="Subscriber"><dir name="Rest"><dir name="Admin"><file name="V1.php" hash="ab35beafbd50e5bd7e687eec560cb767"/></dir></dir></dir></dir><dir name="Apiconnector"><file name="Client.php" hash="81af0933b665cfb7bf7e50d964e391c6"/><file name="Contact.php" hash="72f5059db738c35a2577b6e52c78c247"/><file name="Customer.php" hash="03cb537c251c331639d6c532e9b51d2e"/><file name="Test.php" hash="a3e7f09adf4a90018a6a480a65be1c94"/></dir><file name="Automation.php" hash="7742e361e006df247beae86e88a42b4e"/><file name="Campaign.php" hash="89a51f566487dd8c38eeabae1dce5efd"/><file name="Catalog.php" hash="521c8e1da0e0d42409a405bb14dc29cc"/><dir name="Connector"><file name="Account.php" hash="7ff81e63f716ecb28bd7713ca861d042"/><file name="Campaign.php" hash="e00a324b0f14689c221824eac00690fb"/><file name="Datafield.php" hash="f6e9f6c3e279c5fefed1430ff62668f3"/><file name="Order.php" hash="b1effddd24667d6f88ad31e4ef7f0221"/><file name="Product.php" hash="dbebc8abda7d2fd3633d92ca4c899b98"/><file name="Quote.php" hash="630f97d9d0a1cada0e93232fbbf99b41"/></dir><file name="Contact.php" hash="13910c22e55c1eeda2a402a6a2fa6bbf"/><dir name="Controller"><file name="Observer.php" hash="b1768578871a43c3456e80dd6099cda1"/></dir><file name="Cron.php" hash="452baee1de0c5dec96ae97700cc2af52"/><dir name="Customer"><file name="Guest.php" hash="89096877fbc2582ae33f1bff50ac3480"/><file name="Observer.php" hash="687d420f6fc0bca138b850369773b459"/><dir name="Review"><file name="Rating.php" hash="d4e94ca13596414e07a80ab298228c18"/></dir><file name="Review.php" hash="d6c6bee5eadeb0136d3ea7f3e21d1b8a"/><dir name="Wishlist"><file name="Item.php" hash="44364b2846280c38ed455b484ad7e652"/></dir><file name="Wishlist.php" hash="efa6f42e16f423db6f6508b6f199b767"/></dir><file name="Customer.php" hash="c787b7d537a66c63ede1fd04732fbdeb"/><dir name="Email"><file name="Template.php" hash="4594040c518bac98d52bc5c704cce520"/></dir><file name="Email.php" hash="bad91a3317ca76ead059448569894d3b"/><file name="Feed.php" hash="4c16da63c0b1b4bf9bc1ba349defad42"/><file name="Importer.php" hash="50428fff80a4474c994b110cd8aa0028"/><dir name="Newsletter"><file name="Observer.php" hash="1eb65d13daf295c24fae43b17686a152"/><file name="Sub.php" hash="61d950b6202ea079d298c715c1019f47"/><file name="Subscriber.php" hash="1b4591bc46807f4a0946f842c7d05bac"/></dir><file name="Order.php" hash="2bb1bdfcfe9c6e8420fcab82b5432e86"/><file name="Quote.php" hash="2d90dfdec2442badee64787fb1d2cf8d"/><dir name="Resource"><dir name="Automation"><file name="Collection.php" hash="2a9354a080c443b8b02f5aee8c3ddd87"/></dir><file name="Automation.php" hash="21bdb7592017654d083c1bf5b4ff5161"/><dir name="Campaign"><file name="Collection.php" hash="f67f9c082e4ee89a818a35dbdfa49f2f"/></dir><file name="Campaign.php" hash="d4d11afade2c99da340ce2a97c9fef14"/><dir name="Catalog"><file name="Collection.php" hash="8020dcb3ed0382d700a3837f509777a2"/></dir><file name="Catalog.php" hash="5bae8b6c8d4996f3db3c3adc1679423c"/><dir name="Contact"><file name="Collection.php" hash="0d5872f49558c8ccfc858f3e70db3b26"/></dir><file name="Contact.php" hash="3dedc55897beac032dfe22f651033bc8"/><dir name="Importer"><file name="Collection.php" hash="4ab03aac095a51fa774f96b8f4a97a3c"/></dir><file name="Importer.php" hash="ea0bc828df01a9bd6be2dd334285d431"/><dir name="Order"><file name="Collection.php" hash="bd082b888b632f02db6125b5015952ec"/></dir><file name="Order.php" hash="c90bd34df1dbac17246ca4ea291c3262"/><dir name="Quote"><file name="Collection.php" hash="994bebb28a619b54a9023fe047a86ec4"/></dir><file name="Quote.php" hash="3739534cf1dadcce79eab527eb6f002b"/><dir name="Review"><file name="Collection.php" hash="677c8d174de1016b377627e71033a3f4"/></dir><file name="Review.php" hash="d7d572757e5e1be85f44a29fc65a5476"/><dir name="Rules"><file name="Collection.php" hash="0aa0e9b6176382163826b3041fd58854"/></dir><file name="Rules.php" hash="a72965cd8cc76afc004e4893605291ee"/><file name="Segment.php" hash="556d39c92ed2bfea6f8405d95e56bfed"/><file name="Setup.php" hash="5cbe51eb21e76eb56e5f7c23722694eb"/><dir name="Wishlist"><file name="Collection.php" hash="d00f2e0fc2433fedbbe6b931fc860d26"/></dir><file name="Wishlist.php" hash="c1f188274a3a7a07bd932b6fc777b860"/></dir><file name="Review.php" hash="c9fc0f77d4a387bff5bc534373e256d8"/><file name="Rules.php" hash="3ca199a511f5d823f8b6123a88508983"/><dir name="Sales"><file name="Observer.php" hash="c0eb5e309f177454324f523ae27bfc93"/><file name="Order.php" hash="8f61f0817b19f94e24a9ef4d85389608"/><file name="Quote.php" hash="bfef5842c45cf94721aedacc22f6fb92"/></dir><dir name="Sweettooth"><file name="Observer.php" hash="ef6a31e38303c8218847d30fb7ffe1f8"/></dir><dir name="Sync"><dir name="Contact"><file name="Bulk.php" hash="4f5305e38fbdd5a0e62d7c6787bddc71"/><file name="Delete.php" hash="780fb918618b640027e84bf8e2b7a1b1"/><file name="Update.php" hash="4c4044c088c6074f889ed0ebf2490035"/></dir><dir name="Td"><file name="Bulk.php" hash="2f24c5f797d42515282ec174b29b7f1a"/><file name="Delete.php" hash="0a84181ba867183506114cd88fed90ff"/><file name="Update.php" hash="791839798a75e30c60c14ad6ad57e032"/></dir></dir><file name="Wishlist.php" hash="183f2fe7c55a25db724d459eea0e070e"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="ConnectorController.php" hash="9d26ba75ac8d63177d471bb4d806e668"/><dir name="Email"><file name="AutomationController.php" hash="02eb2602dff9c4c01eea0605843135f5"/><file name="CampaignController.php" hash="d762a6ead5079f13d188f580b3d02ca0"/><file name="CatalogController.php" hash="9d09067f1317e212ac9ab3adb0853927"/><file name="ContactController.php" hash="ced306941537f1a96b6a958ad7ecd52c"/><file name="DashboardController.php" hash="d659c12500413365ca50e961ecdc5b69"/><file name="ImporterController.php" hash="373c5fe6a997b6bce726907c0181ddaa"/><file name="OrderController.php" hash="adaab40cc2145dbe0fcee4086e1f10f8"/><file name="QuoteController.php" hash="f8dfdc228bc9db5b3df7e9469b2d06cd"/><file name="ReviewController.php" hash="189a1a722a5cd6be5b598177db5467d8"/><file name="RulesController.php" hash="3f9bb8b87ebbfc64a5c8ec1f6e747cbd"/><file name="StudioController.php" hash="181a5959094dbfe6a055d877cfc43c4d"/><file name="WishlistController.php" hash="f8f44f4c91c029134b269fa7892a9e9a"/></dir><file name="RulesController.php" hash="2c5208a4ec7015cc2618a5e115e8163c"/><dir name="System"><dir name="Email"><file name="TemplateController.php" hash="9b7655b454910a8b0740b1f21c0d405c"/></dir></dir><dir name="Widget"><file name="ChooserController.php" hash="cfc60115875e9a278eb4a467d6ab7f61"/></dir></dir><file name="AjaxController.php" hash="e299ce9e5ba60eb46c20fdf57fc307b7"/><dir name="Customer"><file name="AccountController.php" hash="66803c15d031799d7ed65204ce3a0ed8"/><file name="NewsletterController.php" hash="a633e0b9e49a0c55b3fce767db85ed57"/></dir><file name="DynamicContentController.php" hash="59b9424f9af06c92383f1cd439179b6b"/><file name="EmailController.php" hash="dd6e0a169834c2f4b6c47cb6518534ae"/><file name="FeefoController.php" hash="6e434f512aac4722478b6ecbe114b50a"/><file name="ProductsController.php" hash="40862b602e89cd9eae3578b2c4f56fe8"/><file name="QuoteproductsController.php" hash="88f1449ffa1f159e0c83dc2f6cd32377"/><file name="ReportController.php" hash="22da418ab9601da06e116ab7ae6c0703"/><file name="ResponseController.php" hash="6657d2d8ac6f6acc325af83caa7adae3"/><file name="WishlistController.php" hash="1105ff613d0514f30a079b9f1d37d9b6"/></dir><dir name="etc"><file name="adminhtml.xml" hash="934f345566d0e68cebda4a7ff5134812"/><file name="api2.xml" hash="e6be0fdc4206cb242f22b2335476b497"/><file name="config.xml" hash="c529fe6cff1681dea8e0772df3fff8e1"/><file name="files.yaml" hash="ee6e6a98ad82d6c8edca9e0ea7924cdb"/><file name="system.xml" hash="6070e9f674f52fde4b579ad304bb5461"/></dir><dir name="sql"><dir name="email_connector_setup"><file name="mysql4-install-0.1.0.php" hash="f3d6db792b934b3eb39a48668ca61f26"/><file name="mysql4-install-3.0.0.php" hash="46fc31218ecc8efe7fddd3bf73afe391"/><file name="mysql4-install-4.0.0.php" hash="4e37164404c938b3ca9f192c48ffe320"/><file name="mysql4-install-5.0.0.php" hash="562f67a014e8c3e1889efe93f38fe86c"/><file name="mysql4-upgrade-1.1.1-1.1.2.php" hash="80a0a28ac5634c8cab4b07697cd17d15"/><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="cc4358563618d1e99af2f20140b20896"/><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="377e04eabc2be7341c722c660c9a90e7"/><file name="mysql4-upgrade-2.0.3-2.0.4.php" hash="24fa79e2081e5e7443d0a8d972bae706"/><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="af72eaa784e18cfd7e9cbe435a91c377"/><file name="mysql4-upgrade-3.0.1-3.0.2.php" hash="f0e202a9c3478082f37002b18f11bbb8"/><file name="mysql4-upgrade-3.0.3-3.0.4.php" hash="07b6da531301c969ba4da67968f9e972"/><file name="mysql4-upgrade-3.0.4-3.0.5.php" hash="27869fe86167c23111a31eba2c8e155a"/><file name="mysql4-upgrade-3.1.2-3.1.3.php" hash="d6b86c9cf5d3e0db816587db863e1adb"/><file name="mysql4-upgrade-3.2.1-3.3.0.php" hash="5171981e00cbe495ffa3c877320a5ae9"/><file name="mysql4-upgrade-3.3.0-3.3.1.php" hash="5171981e00cbe495ffa3c877320a5ae9"/><file name="mysql4-upgrade-3.3.2-3.3.3.php" hash="5fb9d165aeaea645246e7e5ecde8266e"/><file name="mysql4-upgrade-3.4.0-4.0.0.php" hash="ff793758950de7926b7997b3f20dfcae"/><file name="mysql4-upgrade-4.0.0-4.1.0.php" hash="d9bc43694dd5aab27a0a580cb40f93f9"/><file name="mysql4-upgrade-4.1.3-5.0.0.php" hash="d5d915f99d1e5dc30d3d5b09fc9ea955"/><file name="mysql4-upgrade-5.0.0-5.0.1.php" hash="cb3fd589ac446135c34a0d501195de71"/><file name="mysql4-upgrade-5.0.4-5.1.0.php" hash="40648862a5273d67b7e4130a3ab8eafb"/></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="b8128e43a55af744b09856624ee7e5e2"/><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="e880eb33bf3061f5210949654c742d44"/><file name="coupon.phtml" hash="aee5dd843d100228a51bd1b82ae62b59"/><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="46dbd832182739db91a38aaa8c1af656"/><file name="price.phtml" hash="9dd8b3ca28e06ca9a5b50e76bb40a87a"/></dir></dir><file name="email_capture.phtml" hash="faf17eaeb824877f5998f1e3ab91504d"/><file name="email_capture_init.phtml" hash="f485003272b78400308d3af73574f4a7"/><file name="review.phtml" hash="7964555b22e0e7584b1ed3a6f55145c0"/><file name="roi_code.phtml" hash="6a10d66154bd92b0191989af2a87d815"/><file name="tracking_code.phtml" hash="1bbccb72db1a769ef8e14e0df2c9febd"/><file name="wishlist.phtml" hash="57a19d289832c70ad0bf2b601fb49003"/></dir><dir name="page"><file name="blank.phtml" hash="0715b94134ba2d74df363c51b1b8a62c"/></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="9b5fc457c9a1a3fdde0126e839cc17bd"/></dir></dir><dir name="template"><dir name="connector"><file name="appcues.phtml" hash="11bb1143b5334bbcbf182d17a118f281"/><file name="beacon.phtml" hash="f2ae26184bb87c2b3cf5c8c94d47d48e"/><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="0a06f9e56b4113e8face6ce325f4b0d1"/><file name="status.phtml" hash="7762544e3cb5b838695a4e2bb1b63fc0"/><dir name="tabs"><dir name="analysis"><file name="index.phtml" hash="a9ef11d470dae139ad5243fc1bc91431"/><file name="rfm.phtml" hash="ba40514bd39c3c582eb1b141b71c6158"/></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="banner.png" hash="5a2ad97cd75f0160228a7a0d6a8520ed"/><file name="config.css" hash="433bf71f40517a667ee9aba495f1746c"/><file name="dashboard.css" hash="08e2c6ae799757fd68a85781311f2b97"/><dir><dir name="fancybox"><dir name="images"><file name="blank.gif" hash="325472601571f31e1bf00674c368d335"/><file name="fancybox_loading.gif" hash="328cc0f6c78211485058d460e80f4fa8"/><file name="fancybox_loading@2x.gif" hash="f92938639fa894a0e8ded1c3368abe98"/><file name="fancybox_overlay.png" hash="77aeaa52715b898b73c74d68c630330e"/><file name="fancybox_sprite.png" hash="783d4031fe50c3d83c960911e1fbc705"/><file name="fancybox_sprite@2x.png" hash="ed9970ce22242421e66ff150aa97fe5f"/></dir><file name="jquery.fancybox.css" hash="25ec82c1c5fe3748421fff035cb53bd7"/></dir></dir><file name="trialerror.png" hash="2d4647acd83536f941c65c2641b61c17"/></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="d7296c4cf7c874141184edfa8a9602a7"/></dir></target><target name="mageweb"><dir name="lib"><dir name="Raygun4php"><dir><dir name="Exception"><file name="UnsatisfiedDependencyException.php" hash="c8a3a3d93aab111851a87df7ae72b3ff"/><file name="UnsupportedOperationException.php" hash="64fdf1aa3f4c3eacd5611076b38ee91f"/></dir></dir><file name="README.md" hash="0aed7c6a52f358016b2c1b8f5e4e35ed"/><file name="Raygun4PhpException.php" hash="4ca2d2d70bdcc80c69fa2407c7da59a3"/><file name="RaygunClient.php" hash="799328dcd7412029b6de7833ac6efb04"/><file name="RaygunClientMessage.php" hash="29fbae8dd4c018c8afa20482c77404db"/><file name="RaygunEnvironmentMessage.php" hash="01a7f0e37ce34531270d95a9863d8477"/><file name="RaygunExceptionMessage.php" hash="0269e694b5a7591126565c0a5c9d2086"/><file name="RaygunExceptionTraceLineMessage.php" hash="1cbfbdce6ec7f47afd98021bae85e4d1"/><file name="RaygunIdentifier.php" hash="9656811317ae26b492194ccfc4c2c27e"/><file name="RaygunMessage.php" hash="dca4b5de6a6701bd454a1ab1bf51a7d7"/><file name="RaygunMessageDetails.php" hash="5a3e0eace0c9019b266a8c81ede2f4d4"/><file name="RaygunRequestMessage.php" hash="46ace410e10edd56f58f34b93f836c9d"/><file name="Uuid.php" hash="19a17225a4dddd2ce79c38771b771f81"/><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"><file name="jquery-1.10.1.min.js" hash="6575db3ffd3c31a034a4efdecba15c36"/><file name="jquery.fancybox.js" hash="f839315034b46bdea0b2ea4e1fda21b8"/><file name="jquery.fancybox.pack.js" hash="2346f5b36c3bfd08cc648704f33264f6"/><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="48810d2afe806b04180f0e331134c07b"/></dir></dir><file name="selector.js" hash="5dc1900967679a41c70ed5f1755240e2"/></dir><dir name="mailcheck"><file name="magentoMailcheck.js" hash="6809380b384fe432ee73305c04f3526e"/><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>6.1.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 |

|
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>2016-06-24</date>
|
30 |
+
<time>10:34:01</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="969e3da8dad7476afc7f2fe7f98b874a"/></dir><file name="Automation.php" hash="0063603cbf59e05c239f7dd87eac26e3"/><dir name="Campaign"><file name="Grid.php" hash="2e6c74c0de63a5eafc5bc75ef19a0f80"/></dir><file name="Campaign.php" hash="347b6b5d4de5feef62279626f3a7bb41"/><dir name="Catalog"><file name="Grid.php" hash="ea10d2cd26b6c126d43f2b507f911358"/></dir><file name="Catalog.php" hash="ba132a8dae85cb95135967908dac7c7d"/><dir name="Column"><dir name="Renderer"><file name="Imported.php" hash="9aeda38ab80ccc032ceda90d10c58d12"/><file name="Sync.php" hash="78246271f3c05f8d10677ce54a225207"/></dir></dir><dir name="Config"><dir name="Automation"><file name="Customdatafields.php" hash="e65b7448d1806268af48ed45437dc885"/></dir><file name="Customdatafields.php" hash="56cb173fc1b418a60f5b2d9bd9d05b85"/><dir name="Rules"><file name="Customdatafields.php" hash="1d688bf01dd141cecbeb8f86cc16175f"/></dir><file name="Select.php" hash="80fa3ca2d228511d0e580bfb9c56c904"/></dir><dir name="Contact"><dir name="Edit"><file name="Form.php" hash="57f41d2b6512ce3243f7639544b9195d"/></dir><file name="Edit.php" hash="2a8ed80298241140514b30bb99fbca77"/><file name="Grid.php" hash="d8139eeb81fd4c400ff3fb6ccc6262da"/></dir><file name="Contact.php" hash="edfdac40a8b166204c64efed8a7b3cd7"/><dir name="Customer"><dir name="Tab"><file name="Stats.php" hash="df80b08010045e10abfd42bf5156cd42"/></dir><file name="Tab.php" hash="99f85175855c852e5cead91500c49123"/></dir><dir name="Dashboard"><file name="Switcher.php" hash="fd4a2f78970870000ba8151da1c5f8d2"/><dir name="Tabs"><dir name="Analysis"><file name="Abandonedcarts.php" hash="0d86abf18c415b66ad09c6eb8f3ed7c0"/><file name="Customer.php" hash="acef3702082538eb5495cc3286e7dcc4"/><file name="Rfm.php" hash="5e8225bbb23929a4bb7957f940dd8927"/><file name="Sales.php" hash="b7ea7b521fc8915b33fb3d182eb9076b"/><file name="Subscriber.php" hash="5a4d0a5ec38f476ded288330b8b6a63d"/></dir><file name="Analysis.php" hash="afc77df2ed2b5994d53e768389221147"/><dir name="General"><file name="Data.php" hash="4a2466f3cbf4cef32a4c3aeba83c00aa"/></dir><file name="General.php" hash="aae7fb6cade08cb72ffc5f29515acc24"/><file name="Logs.php" hash="c9c69cfa7b0ed2e9d8f6a849999ba4a2"/><file name="Status.php" hash="15fb6c4ec0a19fc0feb3033661d14f9b"/></dir><file name="Tabs.php" hash="2f94a2700413024439e92b5d5874cd26"/></dir><file name="Dashboard.php" hash="3dadaa26eb69843b1e73647908467b06"/><dir name="Importer"><file name="Grid.php" hash="3344ba8791ed557bc77f7ad0c38e5676"/></dir><file name="Importer.php" hash="c7d5cf1afae2546bbc114a231c34b373"/><dir name="Order"><file name="Grid.php" hash="011484a8e430ca39dd3439ede5c27b82"/></dir><file name="Order.php" hash="8af36ac2d34d6f5059c5d3091fcf9099"/><dir name="Quote"><file name="Grid.php" hash="d412035c25abc9b563079836d8c52393"/></dir><file name="Quote.php" hash="38e4f7e02cab1d108abe1ba68130d7ec"/><dir name="Review"><file name="Grid.php" hash="ca947aae4a098fc172d180b4981a9830"/></dir><file name="Review.php" hash="c1fb596394c72b23199ba7a94f49f584"/><dir name="Rules"><dir name="Edit"><file name="Form.php" hash="3ad3dcabf324fbc368038ef5fbd869e3"/><dir name="Tab"><file name="Conditions.php" hash="f3b94da60251d1283b3ec680ad0c73a0"/><file name="Main.php" hash="79463e81837aa719c5f5c9d452729ed0"/></dir><file name="Tabs.php" hash="1fedda822f2705410ac87f75eb1ce4a9"/></dir><file name="Edit.php" hash="7e2b2b1a0b6befe00103862687f4599b"/><file name="Grid.php" hash="ef1b88f6af37ab89aa669c0a03a59f54"/></dir><file name="Rules.php" hash="8102a99fcc953b293c3cc70735ddbffb"/><dir name="Sales"><dir name="Order"><dir name="Creditmemo"><file name="View.php" hash="a71f518c762cb60181d33cd45b62e221"/></dir></dir></dir><dir name="System"><dir name="Advanced"><file name="Deletecontactids.php" hash="ae204cf633fd60b036b0970cc6d1c313"/><file name="Notification.php" hash="3d410572b473a81776fcf1e6efce753b"/><file name="Reimportcatalog.php" hash="d567f975071b67dac1e63660c8804fa2"/><file name="Reimportorders.php" hash="4bdc573907230de41face688c5d5bfbd"/><file name="Reimportquotes.php" hash="64321cf856dcb9b593875be3283330b9"/><file name="Reimportreviews.php" hash="8d50677d1198766a99eacb2d097d1982"/><file name="Reimportsubscribers.php" hash="e0f52ee8b1ac7fb95b03e4fb3e4c05bb"/><file name="Reimportwishlists.php" hash="046b124aea89e65bba6927092b2ef67f"/><file name="Reset.php" hash="8ec42415ec01c600181f6c82f5d5d421"/><file name="Resetcustomersimport.php" hash="c66c71a01bfd39438933235a80d0cf44"/><file name="Runcatalogsync.php" hash="cd41886e7346ca303d0f15a9b2d481f6"/><file name="Runcontactsync.php" hash="f2f11b4306eb3e2df5d4a596d7e54281"/><file name="Runimportersync.php" hash="3f48f8e1fde3a9f9bcd48f6a286958a1"/><file name="Runordersync.php" hash="160aba9a307eb9646c95ddb0bf63d9be"/><file name="Runquotesync.php" hash="562ce40bf0e2eef6e8a51475a0239189"/><file name="Runreviewsync.php" hash="c90c6f2d995abc5eb0d5f1933a0e529f"/><file name="Runsubscribersync.php" hash="5a1080c74437fbfd28f5397bff864080"/><file name="Runwishlistsync.php" hash="713c46c8cd6edac9a7611210b486df45"/><file name="Setupdatafields.php" hash="9021c32f11989db9a7691cbaa550e39c"/><file name=".DS_Store" hash="194577a7e20bdcc7afbb718f502c134c"/></dir><file name="Ajaxvalidate.php" hash="4c52db7b597abee9773477bc3cbd2420"/><dir name="Automation"><file name="Connect.php" hash="adc4b0cbc18ec3261a28edbe3fbfc207"/></dir><dir name="Config"><file name="Addressbook.php" hash="fa7b146dd064951bc7483a13efb0e88d"/><file name="Colorpicker.php" hash="8ac984c68b6da790acb989d4cb7a1cc0"/><file name="Datafield.php" hash="917bbf064a83435d8fd951b08464f97a"/><file name="Enterprisevalidator.php" hash="df83aec19d0069c33be94ff2cf11c689"/><file name="Resetcontacts.php" hash="54349d335b374bee599a3e9118726033"/><file name="Resetguests.php" hash="eaea7c05bf2cfc81b9544f397280a436"/><file name="Resetsubscribers.php" hash="9d894ca04784a9cf559a184512408755"/><file name="Trial.php" hash="c86ce78bd4c9198706858fd102c9ca86"/><file name="Validator.php" hash="120c52c0a7f6d213deb2c681eb12c3a3"/></dir><dir name="Dynamic"><file name="Addressbookbutton.php" hash="9e5fef0bb60be0889120a3d9aaf4b8a6"/><dir name="Basket"><file name="Crosssell.php" hash="65d80e55bf42895af66639e6f0a3b664"/><file name="Related.php" hash="da310776a099053040e040e54a057679"/><file name="Upsell.php" hash="501e7dfab1ba2f52b2fad45f77ae4fbb"/></dir><file name="Bestsellers.php" hash="a351f4d1d977734733fdd95d7ed51620"/><file name="Couponinfo.php" hash="8dd7ee6852f8e6f9736c893ed8b9990d"/><file name="Creditmemonew.php" hash="912443f1d700e1a5ac8b2ef97adcd29a"/><file name="Crosssell.php" hash="e9f47c61d045489e7279349a42578e48"/><file name="Datafieldbutton.php" hash="bc050ed88c229ec76323a56821343b72"/><file name="Fallbackchooser.php" hash="87a26abe64947d76a440284b7a3dd491"/><file name="Fallbackcontainer.php" hash="1e3c11748bdc3c7a69002357474f65b2"/><dir name="Feefo"><file name="Reviews.php" hash="bc6df4f80f921392c2807a7649b29fb3"/><file name="Score.php" hash="3b527ac29e1f665f20b88edf3a41fb02"/></dir><file name="Gridlist.php" hash="eee12062d19dd7b9f1ddc098ae5e5af0"/><file name="Lostbasket.php" hash="a2d8afd78f8f6fa3fb3d7f2b322ca1e3"/><file name="Manualchooser.php" hash="913423e8b6e0f7949cf44ab624fa557d"/><file name="Manualcontainer.php" hash="18c8457fe96ffdf9b38194701cb732ed"/><file name="Mostviewed.php" hash="92e6ba3537b7c9a2804a05fe58fc1fbc"/><file name="Productpush.php" hash="39ef02233e3f0b05eb9c951f12120bf5"/><file name="Recentlyviewed.php" hash="aa70d914a338d8cd45c2d706c249602a"/><file name="Related.php" hash="a9caeb9da456801b135f2ba28ef84560"/><file name="Review.php" hash="55afdd0e2d1c728b9ec8810377548927"/><file name="Upsell.php" hash="b235292096f49eca3fc494dedc3b1150"/><dir name="Wishlist"><file name="Crosssell.php" hash="d400de6e9c87f8b4efea75c1cc7a34b1"/><file name="Related.php" hash="0f2c8ff231a1afdd92579d19b59f86e6"/><file name="Upsell.php" hash="82798c15b6735a4f407973fedeac00ea"/></dir><file name="Wishlist.php" hash="f19c40ff58ae7b32b89ecbc9f25ff3ca"/></dir><file name="Emailapivalidate.php" hash="b9ef6b5f86aa1d0df0f34d7b4c906805"/><file name="Installation.php" hash="1e0c4e83cd606b4d51eb9c8c863e567b"/><dir name="Url"><file name="Creditmemoupdate.php" hash="120b1641a325d018cd6655fdfc1af9bc"/><file name="Creditmemoupdateguest.php" hash="a86c2ffa71106996ec3d1a25c3814b9b"/><file name="Customerconfirmation.php" hash="ec96c64b875d8e3a1ac217ec1f7c79dd"/><file name="Customerconfirmed.php" hash="e8e46bf388978c4d20ca18d71774e73e"/><file name="Customernew.php" hash="b3aa5d5bc1a01a6d244552f5901dcd64"/><file name="Invoiceupdate.php" hash="f9d7dacc3ff96c5e81b5a217668589f1"/><file name="Invoiceupdateguest.php" hash="67b460efb813b49f028fd782fcad8985"/><file name="Newcreditmemo.php" hash="9aca49a4a6b84dae238eea7d018bf312"/><file name="Newcreditmemoguest.php" hash="a1f2d5a2cc744d0d9d49c7fa975831a5"/><file name="Newinvoice.php" hash="95880c74bad2a032070bc53d45a9ee24"/><file name="Newinvoiceguest.php" hash="5ddd8bedf19750e4e1ef744cf71ef669"/><file name="Neworder.php" hash="b78734d6c080136a2f0f8250ebacac47"/><file name="Neworderguest.php" hash="6cbf5f53ac2784ab24dca8c6e35944d4"/><file name="Newshipment.php" hash="b0ef0bbeade98fb4c0a1a5cab13a407e"/><file name="Newshipmentguest.php" hash="fae2ca4fb86580106e9e15e9c1581bad"/><file name="Orderupdate.php" hash="cc184fc84dec1ef6f37a2abcfae1eaad"/><file name="Orderupdateguest.php" hash="7d9a8f9f453aa8033434930b375a8ea8"/><file name="Shipmentupdate.php" hash="0f361e9f61906a9c5af78602e677505b"/><file name="Shipmentupdateguest.php" hash="b7b14768d8a0262c679b3069f2aa3fcc"/></dir></dir><dir name="Widget"><dir name="Chooser"><file name="Product.php" hash="692d7d63f3e7498dbb5138a0ca403083"/></dir></dir><dir name="Wishlist"><file name="Grid.php" hash="c6d6108f6de3f905ab2bb3096b7837f2"/></dir><file name="Wishlist.php" hash="48281253c790ccaf6b58c6a34c803f6b"/></dir><file name="Basket.php" hash="47cbdc12c1ac13dd6f34867f2b351c43"/><file name="Coupon.php" hash="9887617dc7d4c9ad6a9fe11f6d0b7574"/><dir name="Customer"><dir name="Account"><file name="Books.php" hash="df5bd58466bb614ea6651f427457e1d4"/></dir></dir><file name="Edc.php" hash="dabfb5d702f321ec854a327443346e21"/><file name="Feefo.php" hash="ed76c7571972e2c4bf69bc79c8beef31"/><dir name="Order"><file name="Creditmemo.php" hash="05fd539acb65b1118b10f5ccce2ef897"/><file name="Invoice.php" hash="99d4b99d7c336528e51990f759a32481"/><file name="Shipping.php" hash="ab075ef7700f6599019c97013192dad1"/></dir><file name="Order.php" hash="ab2afb327f7688e29e926792ccfb886d"/><file name="Products.php" hash="ce576a13278dfbbd0ac6c668238f03ea"/><dir name="Recommended"><file name="Products.php" hash="5363e4be85ade66f35ba7bfe36ee26b4"/><file name="Wishlistproducts.php" hash="944a278f20bdf54bde292097094863c9"/></dir><file name="Wishlist.php" hash="f98c9a81a8cbbf5b42b622a20dcc5ce0"/></dir><dir name="Helper"><file name="Config.php" hash="c7a02b58693d61434b1edaba957d160f"/><file name="Dashboard.php" hash="0e4ac39938b4abb1a9523e7e23f68885"/><file name="Data.php" hash="bd0d265f9f6e5f23ecde149073ec2342"/><file name="File.php" hash="bffaa30b8d7d355854ca7d72a15a8b89"/><file name="Recommended.php" hash="c9497a8a504dba535675493a88b6bb5c"/><file name="Transactional.php" hash="9602a0d87b4d0f26d218939b1e91b2ea"/></dir><dir name="Model"><dir name="Abstract"><file name="Rest.php" hash="6b237f3c8767fac6ddd6cf8a9feed13e"/></dir><dir name="Adminhtml"><dir name="Dashboard"><file name="Content.php" hash="5cabc9e5f9f3b2136251acc7023cdd5c"/><dir name="Tabs"><dir name="Analysis"><file name="Abandoned.php" hash="ca774e2d604743bc97999cec2f0c29a9"/><file name="Customer.php" hash="f6e6d31746cf3fd43bf1ae02e639c3d3"/><file name="Orders.php" hash="cd8f1692cbe4929a08136e237d576be3"/><file name="Rfm.php" hash="ffe6dbdf67d7985f47c7c9f4b28914dd"/><file name="Subscriber.php" hash="66696dfa3bf31db6aabb133f7976c239"/></dir></dir></dir><file name="Observer.php" hash="a847eab45ba16c9cac57a2fbf3d02caa"/><dir name="Source"><file name="Addressbooks.php" hash="5394d7d4e644bc3b1dbb52fa76bb6d18"/><file name="Addressbookspref.php" hash="e2bcd703e3bf554dfaf5880ba50eac01"/><dir name="Advanced"><file name="Abandonedlimit.php" hash="8512e23594f6128f745a9eef575a4df1"/><file name="Attributes.php" hash="edf2c69202eabf3576cb24077feb71bd"/><file name="Cronexpressionsone.php" hash="9ef4ab9fa407dc5e47e037cbe53ec429"/><file name="Cronexpressionstwo.php" hash="b7f1ba1e39dbffa049d15da9cd0a8f11"/><file name="Frequency.php" hash="bfdc4474762661561b2ed35b91a5df8e"/><file name="Quoteattributes.php" hash="bf1e255402020b758c5af9e1f8cefbdc"/><file name="Transdata.php" hash="9a0875a16947f0b7acbf34ccd5b89b15"/></dir><file name="Attributes.php" hash="9e62bcd0e2d42c857349deae86f714bd"/><dir name="Automation"><file name="Programme.php" hash="765a4d8d1f4a80e11755669dc085f992"/></dir><file name="Campaigns.php" hash="1e972ab52dafb2672bb9cd3343de25ac"/><dir name="Contact"><file name="Imported.php" hash="30c0d301ebb1357fa4ca7ac04ee9d653"/><file name="Modified.php" hash="e25cb9a7550b60cf7a5ff29287260a53"/></dir><dir name="Customer"><dir name="Attributes"><file name="Select.php" hash="46befe2d61623268aa507250f4fad7c2"/></dir></dir><file name="Datafields.php" hash="d288e3e5dc8f9e742696047877aef947"/><dir name="Datamapping"><file name="Datafieldaccess.php" hash="498aab828a8dfe868866ab48ced7988c"/><file name="Datafieldtype.php" hash="1f0b0da49bc2c33e6e3b8421790da12c"/></dir><dir name="Dynamic"><file name="Displaytype.php" hash="2a2285588f9cc40b05e7fc1dd271c606"/><file name="Gridview.php" hash="211d2711c8f368cc567cc87b9aeaf86e"/></dir><file name="Fontpicker.php" hash="69dafecee7ce6d1c5bb72c4adf39ac49"/><file name="Fontsize.php" hash="ef30bccf6ebd9600df751818fb6cfc32"/><dir name="Importer"><file name="Bulklimit.php" hash="a813367f827c6baf85484b650a542bd3"/><file name="Mode.php" hash="680be6f378e07dad5618c654b8d11fb2"/><file name="Status.php" hash="e4fb3e1e3ebf9a00beb99bd73cacdcfd"/></dir><dir name="Lostbaskets"><file name="Interval.php" hash="120d1107adb856ad5d33bf5d8fcfb46a"/><file name="Intervalminute.php" hash="998c0966fc9d22ff302a437bdab50d50"/></dir><file name="Orderstatus.php" hash="c5ab65f9fe21c6fbd205032aa0b72184"/><file name="Publicdatafields.php" hash="25cc3d787e2584127bcaf1a1d0da0cd8"/><dir name="Reviews"><file name="Delay.php" hash="e9feab3951916ba48a7c54a38b4d9372"/></dir><dir name="Rules"><file name="Condition.php" hash="58007de4be2a57df28eac4e26273f2bd"/><file name="Type.php" hash="3f8ff233dbb4e14d93faceaafe8f3a7d"/><file name="Value.php" hash="dacaa61244be5e01b8705c40341c7e27"/></dir><file name="Styling.php" hash="3d120feceaec08056af3bd7e3e8205f3"/><dir name="Sweettooth"><file name="Yesno.php" hash="bd34c6210934e5cbec2b0f700c4888be"/></dir><dir name="Sync"><dir name="Catalog"><file name="Attributes.php" hash="246d7dda56e2bf5419b9260c5875dd5a"/><file name="Type.php" hash="85581a4d7e7b651e13283495a8c91780"/><file name="Values.php" hash="5d825375747e552a97e60caf816daa65"/><file name="Visibility.php" hash="d7267ed8c7648fdc0a15837ea611659c"/></dir></dir><dir name="Transactional"><file name="Mode.php" hash="20cb80da2b78d3d35c4b63a5cec803c7"/><file name="Port.php" hash="7a6f6133c408e432fb960b27cc829d5d"/></dir></dir></dir><dir name="Api2"><dir name="Subscriber"><dir name="Rest"><dir name="Admin"><file name="V1.php" hash="ab35beafbd50e5bd7e687eec560cb767"/></dir></dir></dir></dir><dir name="Apiconnector"><file name="Client.php" hash="81af0933b665cfb7bf7e50d964e391c6"/><file name="Contact.php" hash="72f5059db738c35a2577b6e52c78c247"/><file name="Customer.php" hash="03cb537c251c331639d6c532e9b51d2e"/><file name="Test.php" hash="a3e7f09adf4a90018a6a480a65be1c94"/></dir><file name="Automation.php" hash="9934048d1ddd41886b4e0a8d1466bed4"/><file name="Campaign.php" hash="05536df2b5e01e6c729a6ed30efd1384"/><file name="Catalog.php" hash="521c8e1da0e0d42409a405bb14dc29cc"/><dir name="Connector"><file name="Account.php" hash="7ff81e63f716ecb28bd7713ca861d042"/><file name="Campaign.php" hash="e00a324b0f14689c221824eac00690fb"/><file name="Datafield.php" hash="f6e9f6c3e279c5fefed1430ff62668f3"/><file name="Order.php" hash="a5c105a495b01a8604a097a9dd1c3ba9"/><file name="Product.php" hash="dbebc8abda7d2fd3633d92ca4c899b98"/><file name="Quote.php" hash="b4460dbf5b6e6829532a3110a4872de2"/></dir><file name="Contact.php" hash="13910c22e55c1eeda2a402a6a2fa6bbf"/><dir name="Controller"><file name="Observer.php" hash="b1768578871a43c3456e80dd6099cda1"/></dir><file name="Cron.php" hash="ec49eaf74fb75f807ea63f403d925652"/><dir name="Customer"><file name="Guest.php" hash="89096877fbc2582ae33f1bff50ac3480"/><file name="Observer.php" hash="29b5226434c4e05f7912bf59a89e06c3"/><dir name="Review"><file name="Rating.php" hash="d4e94ca13596414e07a80ab298228c18"/></dir><file name="Review.php" hash="d6c6bee5eadeb0136d3ea7f3e21d1b8a"/><dir name="Wishlist"><file name="Item.php" hash="44364b2846280c38ed455b484ad7e652"/></dir><file name="Wishlist.php" hash="efa6f42e16f423db6f6508b6f199b767"/></dir><file name="Customer.php" hash="c787b7d537a66c63ede1fd04732fbdeb"/><dir name="Email"><file name="Template.php" hash="4594040c518bac98d52bc5c704cce520"/></dir><file name="Email.php" hash="bad91a3317ca76ead059448569894d3b"/><file name="Feed.php" hash="4c16da63c0b1b4bf9bc1ba349defad42"/><file name="Importer.php" hash="da15ecdd78965870157d872c88bda29e"/><dir name="Newsletter"><file name="Observer.php" hash="d217c911d6c1857658af67902b86a8a4"/><file name="Sub.php" hash="61d950b6202ea079d298c715c1019f47"/><file name="Subscriber.php" hash="4ca6b274470813743d4fd96bb88887be"/></dir><file name="Order.php" hash="2bb1bdfcfe9c6e8420fcab82b5432e86"/><file name="Quote.php" hash="2d90dfdec2442badee64787fb1d2cf8d"/><dir name="Resource"><dir name="Automation"><file name="Collection.php" hash="2a9354a080c443b8b02f5aee8c3ddd87"/></dir><file name="Automation.php" hash="01c46e747b80c517d788c1b8eae83bce"/><dir name="Campaign"><file name="Collection.php" hash="f67f9c082e4ee89a818a35dbdfa49f2f"/></dir><file name="Campaign.php" hash="85f742743cc15bd29438685d83a75495"/><dir name="Catalog"><file name="Collection.php" hash="8020dcb3ed0382d700a3837f509777a2"/></dir><file name="Catalog.php" hash="5bae8b6c8d4996f3db3c3adc1679423c"/><dir name="Contact"><file name="Collection.php" hash="0d5872f49558c8ccfc858f3e70db3b26"/></dir><file name="Contact.php" hash="02cb4dcc39d2b5cfbb2bd721fa4f76f5"/><dir name="Importer"><file name="Collection.php" hash="4ab03aac095a51fa774f96b8f4a97a3c"/></dir><file name="Importer.php" hash="fbba704ca55dd91ba3b4d54cd057d771"/><dir name="Order"><file name="Collection.php" hash="bd082b888b632f02db6125b5015952ec"/></dir><file name="Order.php" hash="c90bd34df1dbac17246ca4ea291c3262"/><dir name="Quote"><file name="Collection.php" hash="994bebb28a619b54a9023fe047a86ec4"/></dir><file name="Quote.php" hash="3739534cf1dadcce79eab527eb6f002b"/><dir name="Review"><file name="Collection.php" hash="677c8d174de1016b377627e71033a3f4"/></dir><file name="Review.php" hash="d7d572757e5e1be85f44a29fc65a5476"/><dir name="Rules"><file name="Collection.php" hash="0aa0e9b6176382163826b3041fd58854"/></dir><file name="Rules.php" hash="a72965cd8cc76afc004e4893605291ee"/><file name="Segment.php" hash="556d39c92ed2bfea6f8405d95e56bfed"/><file name="Setup.php" hash="5cbe51eb21e76eb56e5f7c23722694eb"/><dir name="Wishlist"><file name="Collection.php" hash="d00f2e0fc2433fedbbe6b931fc860d26"/></dir><file name="Wishlist.php" hash="c1f188274a3a7a07bd932b6fc777b860"/></dir><file name="Review.php" hash="c9fc0f77d4a387bff5bc534373e256d8"/><file name="Rules.php" hash="003614cb8d4a1fa2d4d94a98ef5c6493"/><dir name="Sales"><file name="Observer.php" hash="c0eb5e309f177454324f523ae27bfc93"/><file name="Order.php" hash="8f61f0817b19f94e24a9ef4d85389608"/><file name="Quote.php" hash="bfef5842c45cf94721aedacc22f6fb92"/></dir><dir name="Sweettooth"><file name="Observer.php" hash="ef6a31e38303c8218847d30fb7ffe1f8"/></dir><dir name="Sync"><dir name="Contact"><file name="Bulk.php" hash="efabaf6ac3756627531808f94b92c213"/><file name="Delete.php" hash="780fb918618b640027e84bf8e2b7a1b1"/><file name="Update.php" hash="4c4044c088c6074f889ed0ebf2490035"/></dir><dir name="Td"><file name="Bulk.php" hash="2f24c5f797d42515282ec174b29b7f1a"/><file name="Delete.php" hash="0a84181ba867183506114cd88fed90ff"/><file name="Update.php" hash="791839798a75e30c60c14ad6ad57e032"/></dir></dir><file name="Wishlist.php" hash="183f2fe7c55a25db724d459eea0e070e"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="ConnectorController.php" hash="9d26ba75ac8d63177d471bb4d806e668"/><dir name="Email"><file name="AutomationController.php" hash="02eb2602dff9c4c01eea0605843135f5"/><file name="CampaignController.php" hash="d762a6ead5079f13d188f580b3d02ca0"/><file name="CatalogController.php" hash="9d09067f1317e212ac9ab3adb0853927"/><file name="ContactController.php" hash="ced306941537f1a96b6a958ad7ecd52c"/><file name="DashboardController.php" hash="d659c12500413365ca50e961ecdc5b69"/><file name="ImporterController.php" hash="373c5fe6a997b6bce726907c0181ddaa"/><file name="OrderController.php" hash="adaab40cc2145dbe0fcee4086e1f10f8"/><file name="QuoteController.php" hash="f8dfdc228bc9db5b3df7e9469b2d06cd"/><file name="ReviewController.php" hash="189a1a722a5cd6be5b598177db5467d8"/><file name="RulesController.php" hash="3f9bb8b87ebbfc64a5c8ec1f6e747cbd"/><file name="StudioController.php" hash="181a5959094dbfe6a055d877cfc43c4d"/><file name="WishlistController.php" hash="f8f44f4c91c029134b269fa7892a9e9a"/></dir><file name="RulesController.php" hash="2c5208a4ec7015cc2618a5e115e8163c"/><dir name="System"><dir name="Email"><file name="TemplateController.php" hash="9b7655b454910a8b0740b1f21c0d405c"/></dir></dir><dir name="Widget"><file name="ChooserController.php" hash="cfc60115875e9a278eb4a467d6ab7f61"/></dir></dir><file name="AjaxController.php" hash="e299ce9e5ba60eb46c20fdf57fc307b7"/><dir name="Customer"><file name="AccountController.php" hash="66803c15d031799d7ed65204ce3a0ed8"/><file name="NewsletterController.php" hash="a633e0b9e49a0c55b3fce767db85ed57"/></dir><file name="DynamicContentController.php" hash="59b9424f9af06c92383f1cd439179b6b"/><file name="EmailController.php" hash="e47fff299d33099a0299e9b98693fe1b"/><file name="FeefoController.php" hash="6e434f512aac4722478b6ecbe114b50a"/><file name="ProductsController.php" hash="40862b602e89cd9eae3578b2c4f56fe8"/><file name="QuoteproductsController.php" hash="88f1449ffa1f159e0c83dc2f6cd32377"/><file name="ReportController.php" hash="22da418ab9601da06e116ab7ae6c0703"/><file name="ResponseController.php" hash="6657d2d8ac6f6acc325af83caa7adae3"/><file name="TrialController.php" hash="a5b1d5d885d00e07fa5be9ed0a56ae19"/><file name="WishlistController.php" hash="1105ff613d0514f30a079b9f1d37d9b6"/></dir><dir name="etc"><file name="adminhtml.xml" hash="934f345566d0e68cebda4a7ff5134812"/><file name="api2.xml" hash="e6be0fdc4206cb242f22b2335476b497"/><file name="config.xml" hash="2b7c0a5e4a9ebebe93a01e21d6451165"/><file name="files.yaml" hash="5892d4742243f1dd9ec0f7a904ff834e"/><file name="system.xml" hash="e992ef377621849acda33e144b5559e6"/></dir><dir name="sql"><dir name="email_connector_setup"><file name="mysql4-install-0.1.0.php" hash="f3d6db792b934b3eb39a48668ca61f26"/><file name="mysql4-install-3.0.0.php" hash="46fc31218ecc8efe7fddd3bf73afe391"/><file name="mysql4-install-4.0.0.php" hash="4e37164404c938b3ca9f192c48ffe320"/><file name="mysql4-install-5.0.0.php" hash="562f67a014e8c3e1889efe93f38fe86c"/><file name="mysql4-upgrade-1.1.1-1.1.2.php" hash="80a0a28ac5634c8cab4b07697cd17d15"/><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="cc4358563618d1e99af2f20140b20896"/><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="377e04eabc2be7341c722c660c9a90e7"/><file name="mysql4-upgrade-2.0.3-2.0.4.php" hash="24fa79e2081e5e7443d0a8d972bae706"/><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="af72eaa784e18cfd7e9cbe435a91c377"/><file name="mysql4-upgrade-3.0.1-3.0.2.php" hash="f0e202a9c3478082f37002b18f11bbb8"/><file name="mysql4-upgrade-3.0.3-3.0.4.php" hash="07b6da531301c969ba4da67968f9e972"/><file name="mysql4-upgrade-3.0.4-3.0.5.php" hash="27869fe86167c23111a31eba2c8e155a"/><file name="mysql4-upgrade-3.1.2-3.1.3.php" hash="d6b86c9cf5d3e0db816587db863e1adb"/><file name="mysql4-upgrade-3.2.1-3.3.0.php" hash="5171981e00cbe495ffa3c877320a5ae9"/><file name="mysql4-upgrade-3.3.0-3.3.1.php" hash="5171981e00cbe495ffa3c877320a5ae9"/><file name="mysql4-upgrade-3.3.2-3.3.3.php" hash="5fb9d165aeaea645246e7e5ecde8266e"/><file name="mysql4-upgrade-3.4.0-4.0.0.php" hash="ff793758950de7926b7997b3f20dfcae"/><file name="mysql4-upgrade-4.0.0-4.1.0.php" hash="d9bc43694dd5aab27a0a580cb40f93f9"/><file name="mysql4-upgrade-4.1.3-5.0.0.php" hash="d5d915f99d1e5dc30d3d5b09fc9ea955"/><file name="mysql4-upgrade-5.0.0-5.0.1.php" hash="cb3fd589ac446135c34a0d501195de71"/><file name="mysql4-upgrade-5.0.4-5.1.0.php" hash="40648862a5273d67b7e4130a3ab8eafb"/></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="b8128e43a55af744b09856624ee7e5e2"/><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="e880eb33bf3061f5210949654c742d44"/><file name="coupon.phtml" hash="aee5dd843d100228a51bd1b82ae62b59"/><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="46dbd832182739db91a38aaa8c1af656"/><file name="price.phtml" hash="9dd8b3ca28e06ca9a5b50e76bb40a87a"/></dir></dir><file name="email_capture.phtml" hash="faf17eaeb824877f5998f1e3ab91504d"/><file name="email_capture_init.phtml" hash="f485003272b78400308d3af73574f4a7"/><file name="review.phtml" hash="7964555b22e0e7584b1ed3a6f55145c0"/><file name="roi_code.phtml" hash="6a10d66154bd92b0191989af2a87d815"/><file name="tracking_code.phtml" hash="1bbccb72db1a769ef8e14e0df2c9febd"/><file name="wishlist.phtml" hash="57a19d289832c70ad0bf2b601fb49003"/></dir><dir name="page"><file name="blank.phtml" hash="0715b94134ba2d74df363c51b1b8a62c"/></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="9b5fc457c9a1a3fdde0126e839cc17bd"/></dir></dir><dir name="template"><dir name="connector"><file name="appcues.phtml" hash="11bb1143b5334bbcbf182d17a118f281"/><file name="beacon.phtml" hash="16adad769c2e3d8365189ed84c4055a6"/><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="0a06f9e56b4113e8face6ce325f4b0d1"/><file name="status.phtml" hash="7762544e3cb5b838695a4e2bb1b63fc0"/><dir name="tabs"><dir name="analysis"><file name="index.phtml" hash="a9ef11d470dae139ad5243fc1bc91431"/><file name="rfm.phtml" hash="ba40514bd39c3c582eb1b141b71c6158"/></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="banner.png" hash="5a2ad97cd75f0160228a7a0d6a8520ed"/><file name="config.css" hash="433bf71f40517a667ee9aba495f1746c"/><file name="dashboard.css" hash="08e2c6ae799757fd68a85781311f2b97"/><dir><dir name="fancybox"><dir name="images"><file name="blank.gif" hash="325472601571f31e1bf00674c368d335"/><file name="fancybox_loading.gif" hash="328cc0f6c78211485058d460e80f4fa8"/><file name="fancybox_loading@2x.gif" hash="f92938639fa894a0e8ded1c3368abe98"/><file name="fancybox_overlay.png" hash="77aeaa52715b898b73c74d68c630330e"/><file name="fancybox_sprite.png" hash="783d4031fe50c3d83c960911e1fbc705"/><file name="fancybox_sprite@2x.png" hash="ed9970ce22242421e66ff150aa97fe5f"/></dir><file name="jquery.fancybox.css" hash="25ec82c1c5fe3748421fff035cb53bd7"/></dir></dir><file name="trialerror.png" hash="2d4647acd83536f941c65c2641b61c17"/></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="d7296c4cf7c874141184edfa8a9602a7"/></dir></target><target name="mageweb"><dir name="lib"><dir name="Raygun4php"><dir><dir name="Exception"><file name="UnsatisfiedDependencyException.php" hash="c8a3a3d93aab111851a87df7ae72b3ff"/><file name="UnsupportedOperationException.php" hash="64fdf1aa3f4c3eacd5611076b38ee91f"/></dir></dir><file name="README.md" hash="0aed7c6a52f358016b2c1b8f5e4e35ed"/><file name="Raygun4PhpException.php" hash="4ca2d2d70bdcc80c69fa2407c7da59a3"/><file name="RaygunClient.php" hash="799328dcd7412029b6de7833ac6efb04"/><file name="RaygunClientMessage.php" hash="29fbae8dd4c018c8afa20482c77404db"/><file name="RaygunEnvironmentMessage.php" hash="01a7f0e37ce34531270d95a9863d8477"/><file name="RaygunExceptionMessage.php" hash="0269e694b5a7591126565c0a5c9d2086"/><file name="RaygunExceptionTraceLineMessage.php" hash="1cbfbdce6ec7f47afd98021bae85e4d1"/><file name="RaygunIdentifier.php" hash="9656811317ae26b492194ccfc4c2c27e"/><file name="RaygunMessage.php" hash="dca4b5de6a6701bd454a1ab1bf51a7d7"/><file name="RaygunMessageDetails.php" hash="5a3e0eace0c9019b266a8c81ede2f4d4"/><file name="RaygunRequestMessage.php" hash="46ace410e10edd56f58f34b93f836c9d"/><file name="Uuid.php" hash="19a17225a4dddd2ce79c38771b771f81"/><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"><file name="jquery-1.10.1.min.js" hash="6575db3ffd3c31a034a4efdecba15c36"/><file name="jquery.fancybox.js" hash="f839315034b46bdea0b2ea4e1fda21b8"/><file name="jquery.fancybox.pack.js" hash="2346f5b36c3bfd08cc648704f33264f6"/><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="48810d2afe806b04180f0e331134c07b"/></dir></dir><file name="selector.js" hash="5dc1900967679a41c70ed5f1755240e2"/></dir><dir name="mailcheck"><file name="magentoMailcheck.js" hash="6809380b384fe432ee73305c04f3526e"/><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>
|