Version Notes
Stores can now set an ordered sequence to be appended to subscribers that abandoned a shopping cart. Sequencing feature lets clients easily split test abandoned cart workflows.
Download this release
Release Info
Developer | Magento Core Team |
Extension | EmailDirect_Integration |
Version | 1.5.7 |
Comparing to | |
See all releases |
Code changes from version 1.5.6 to 1.5.7
- app/code/local/EmailDirect/Integration/Block/Adminhtml/Abandoned.php +2 -3
- app/code/local/EmailDirect/Integration/Block/Adminhtml/Abandoned/Grid.php +3 -4
- app/code/local/EmailDirect/Integration/Block/Adminhtml/System/Config/Form/Field/Info.php +28 -0
- app/code/local/EmailDirect/Integration/Block/Adminhtml/System/Config/Form/Field/Troubleshooting.php +1 -9
- app/code/local/EmailDirect/Integration/Helper/Data.php +157 -132
- app/code/local/EmailDirect/Integration/Model/Observer.php +49 -7
- app/code/local/EmailDirect/Integration/Model/System/Config/Source/Abandoned.php +0 -31
- app/code/local/EmailDirect/Integration/Model/System/Config/Source/Abandonedlist.php +4 -2
- app/code/local/EmailDirect/Integration/Model/System/Config/Source/Additionallist.php +6 -3
- app/code/local/EmailDirect/Integration/Model/System/Config/Source/List.php +5 -3
- app/code/local/EmailDirect/Integration/Model/System/Config/Source/Publication.php +5 -3
- app/code/local/EmailDirect/Integration/Model/System/Config/Source/Sequence.php +22 -0
- app/code/local/EmailDirect/Integration/Model/System/Config/Source/Source.php +5 -3
- app/code/local/EmailDirect/Integration/Model/System/Config/Source/Time.php +1 -2
- app/code/local/EmailDirect/Integration/Model/Wrapper/Execute.php +1 -2
- app/code/local/EmailDirect/Integration/controllers/Admin/AbandonedController.php +3 -3
- app/code/local/EmailDirect/Integration/etc/config.xml +264 -261
- app/code/local/EmailDirect/Integration/etc/system.xml +118 -30
- app/design/adminhtml/default/default/layout/emaildirect.xml +6 -0
- app/design/adminhtml/default/default/template/emaildirect/abandoned/grid.phtml +0 -0
- app/design/adminhtml/default/default/template/emaildirect/system/config/fieldset/hint.phtml +29 -1
- app/design/adminhtml/default/default/template/emaildirect/system/config/form/field/info.phtml +8 -0
- app/design/adminhtml/default/default/template/emaildirect/system/config/setup_check.phtml +29 -0
- package.xml +5 -6
- skin/adminhtml/default/default/emaildirect/emaildirect-connected-ebizmarts-title.png +0 -0
- skin/adminhtml/default/default/emaildirect/emaildirect-section-background.png +0 -0
- skin/adminhtml/default/default/emaildirect/emaildirect.css +0 -4
- skin/adminhtml/default/default/emaildirect/logo.png +0 -0
app/code/local/EmailDirect/Integration/Block/Adminhtml/Abandoned.php
CHANGED
@@ -2,11 +2,10 @@
|
|
2 |
|
3 |
class EmailDirect_Integration_Block_Adminhtml_Abandoned extends Mage_Adminhtml_Block_Widget_Grid_Container
|
4 |
{
|
5 |
-
|
6 |
public function __construct()
|
7 |
{
|
8 |
$this->_controller = 'adminhtml_abandoned';
|
9 |
-
|
10 |
|
11 |
if (Mage::helper('emaildirect')->getAbandonedEnabled())
|
12 |
{
|
@@ -14,7 +13,7 @@ class EmailDirect_Integration_Block_Adminhtml_Abandoned extends Mage_Adminhtml_B
|
|
14 |
|
15 |
$this->_addButton('run_now', array(
|
16 |
'label' => Mage::helper('emaildirect')->__('Run Now'),
|
17 |
-
'onclick' => 'setLocation(\'' . $this->getUrl('*/*/run') .'\')',
|
18 |
));
|
19 |
}
|
20 |
else
|
2 |
|
3 |
class EmailDirect_Integration_Block_Adminhtml_Abandoned extends Mage_Adminhtml_Block_Widget_Grid_Container
|
4 |
{
|
|
|
5 |
public function __construct()
|
6 |
{
|
7 |
$this->_controller = 'adminhtml_abandoned';
|
8 |
+
$this->_blockGroup = 'emaildirect';
|
9 |
|
10 |
if (Mage::helper('emaildirect')->getAbandonedEnabled())
|
11 |
{
|
13 |
|
14 |
$this->_addButton('run_now', array(
|
15 |
'label' => Mage::helper('emaildirect')->__('Run Now'),
|
16 |
+
'onclick' => 'setLocation(\'' . $this->getUrl('*/*/run', Mage::helper('emaildirect')->getUrlParams()) .'\')',
|
17 |
));
|
18 |
}
|
19 |
else
|
app/code/local/EmailDirect/Integration/Block/Adminhtml/Abandoned/Grid.php
CHANGED
@@ -223,7 +223,6 @@ class EmailDirect_Integration_Block_Adminhtml_Abandoned_Grid extends Mage_Adminh
|
|
223 |
|
224 |
if (Mage::helper('emaildirect')->getAbandonedEnabled())
|
225 |
{
|
226 |
-
|
227 |
$this->addColumn('action',
|
228 |
array(
|
229 |
'header' => Mage::helper('emaildirect')->__('Action'),
|
@@ -233,13 +232,13 @@ class EmailDirect_Integration_Block_Adminhtml_Abandoned_Grid extends Mage_Adminh
|
|
233 |
'actions' => array(
|
234 |
array(
|
235 |
'caption' => Mage::helper('emaildirect')->__('Send'),
|
236 |
-
'url' => array('base'=> '*/*/send'),
|
237 |
'field' => 'id',
|
238 |
'sent' => false
|
239 |
),
|
240 |
array(
|
241 |
'caption' => Mage::helper('emaildirect')->__('Resend'),
|
242 |
-
'url' => array('base'=> '*/*/send'),
|
243 |
'field' => 'id',
|
244 |
'sent' => true
|
245 |
)
|
@@ -268,7 +267,7 @@ class EmailDirect_Integration_Block_Adminhtml_Abandoned_Grid extends Mage_Adminh
|
|
268 |
|
269 |
$this->getMassactionBlock()->addItem('send', array(
|
270 |
'label' => Mage::helper('emaildirect')->__('Send or Resend'),
|
271 |
-
'url' => $this->getUrl('*/*/massSend')
|
272 |
));
|
273 |
|
274 |
return $this;
|
223 |
|
224 |
if (Mage::helper('emaildirect')->getAbandonedEnabled())
|
225 |
{
|
|
|
226 |
$this->addColumn('action',
|
227 |
array(
|
228 |
'header' => Mage::helper('emaildirect')->__('Action'),
|
232 |
'actions' => array(
|
233 |
array(
|
234 |
'caption' => Mage::helper('emaildirect')->__('Send'),
|
235 |
+
'url' => array('base'=> '*/*/send', 'params' => Mage::helper('emaildirect')->getUrlParams()),
|
236 |
'field' => 'id',
|
237 |
'sent' => false
|
238 |
),
|
239 |
array(
|
240 |
'caption' => Mage::helper('emaildirect')->__('Resend'),
|
241 |
+
'url' => array('base'=> '*/*/send', 'params' => Mage::helper('emaildirect')->getUrlParams()),
|
242 |
'field' => 'id',
|
243 |
'sent' => true
|
244 |
)
|
267 |
|
268 |
$this->getMassactionBlock()->addItem('send', array(
|
269 |
'label' => Mage::helper('emaildirect')->__('Send or Resend'),
|
270 |
+
'url' => $this->getUrl('*/*/massSend', Mage::helper('emaildirect')->getUrlParams())
|
271 |
));
|
272 |
|
273 |
return $this;
|
app/code/local/EmailDirect/Integration/Block/Adminhtml/System/Config/Form/Field/Info.php
ADDED
@@ -0,0 +1,28 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class EmailDirect_Integration_Block_Adminhtml_System_Config_Form_Field_Info extends Mage_Adminhtml_Block_System_Config_Form_Field
|
4 |
+
{
|
5 |
+
private $_helper = null;
|
6 |
+
|
7 |
+
public function __construct()
|
8 |
+
{
|
9 |
+
parent::__construct();
|
10 |
+
$this->setTemplate('emaildirect/system/config/form/field/info.phtml');
|
11 |
+
$this->_helper = Mage::helper('emaildirect');
|
12 |
+
}
|
13 |
+
|
14 |
+
protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element)
|
15 |
+
{
|
16 |
+
$this->setElement($element);
|
17 |
+
$html = $this->_toHtml();
|
18 |
+
return $html;
|
19 |
+
}
|
20 |
+
|
21 |
+
public function render(Varien_Data_Form_Element_Abstract $element)
|
22 |
+
{
|
23 |
+
$useContainerId = $element->getData('use_container_id');
|
24 |
+
return sprintf('<tr class="system-fieldset-sub-head" id="row_%s"><td colspan="5">%s</td></tr>',
|
25 |
+
$element->getHtmlId(), $this->_toHtml()
|
26 |
+
);
|
27 |
+
}
|
28 |
+
}
|
app/code/local/EmailDirect/Integration/Block/Adminhtml/System/Config/Form/Field/Troubleshooting.php
CHANGED
@@ -91,14 +91,6 @@ class EmailDirect_Integration_Block_Adminhtml_System_Config_Form_Field_Troublesh
|
|
91 |
$file_size = $helper->getLogFileSize();
|
92 |
$formatted_size = $helper->formatSize($file_size);
|
93 |
|
94 |
-
$logging_state = "";
|
95 |
-
if (!$helper->isLoggingActive())
|
96 |
-
{
|
97 |
-
$config_url = $helper->getAdminUrl('adminhtml/system_config/edit/section/dev');
|
98 |
-
|
99 |
-
$logging_state = "<br /><p class='log_size_warning'>Logging is not enabled for Magento!</p><p>Click <a href='" . $config_url . "'>here</a> to change log settings";
|
100 |
-
}
|
101 |
-
|
102 |
$max_size = $helper->getMaxLogFileSize();
|
103 |
|
104 |
if ($file_size > $max_size || $file_size == 0)
|
@@ -116,7 +108,7 @@ class EmailDirect_Integration_Block_Adminhtml_System_Config_Form_Field_Troublesh
|
|
116 |
if ($ago != "")
|
117 |
$ago = "<br />({$ago} ago.)";
|
118 |
|
119 |
-
return $helper->getLogFileName() . " ({$formatted_size}){$last_update}{$ago}
|
120 |
}
|
121 |
catch (Exception $e)
|
122 |
{
|
91 |
$file_size = $helper->getLogFileSize();
|
92 |
$formatted_size = $helper->formatSize($file_size);
|
93 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
94 |
$max_size = $helper->getMaxLogFileSize();
|
95 |
|
96 |
if ($file_size > $max_size || $file_size == 0)
|
108 |
if ($ago != "")
|
109 |
$ago = "<br />({$ago} ago.)";
|
110 |
|
111 |
+
return $helper->getLogFileName() . " ({$formatted_size}){$last_update}{$ago}";
|
112 |
}
|
113 |
catch (Exception $e)
|
114 |
{
|
app/code/local/EmailDirect/Integration/Helper/Data.php
CHANGED
@@ -4,15 +4,21 @@ class EmailDirect_Integration_Helper_Data extends Mage_Core_Helper_Abstract
|
|
4 |
{
|
5 |
const LOG_FILE_NAME = 'emaildirect';
|
6 |
const LOG_FILE_EXT = '.log';
|
|
|
|
|
|
|
7 |
|
8 |
const ABANDONED_CART = "AB";
|
9 |
const ORDERS = "OR";
|
10 |
const NEWSLETTER = "NL";
|
11 |
const CUSTOMER = "CU";
|
|
|
12 |
const IGNORE = "IG";
|
13 |
|
14 |
const DISABLED_REASON_PREFIX = "Skipping";
|
15 |
-
|
|
|
|
|
16 |
private $_log_area = "";
|
17 |
private $_current_store = null;
|
18 |
|
@@ -37,19 +43,26 @@ class EmailDirect_Integration_Helper_Data extends Mage_Core_Helper_Abstract
|
|
37 |
$this->_current_store = $store;
|
38 |
}
|
39 |
|
40 |
-
public function
|
41 |
{
|
42 |
-
|
43 |
-
$store = $this->getCurrentStore();
|
44 |
|
45 |
-
return
|
46 |
}
|
47 |
|
48 |
-
public function
|
49 |
{
|
50 |
-
$
|
51 |
|
52 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
53 |
}
|
54 |
|
55 |
public function getOrderExportCollection($from, $to, $include, $store = null)
|
@@ -59,11 +72,11 @@ class EmailDirect_Integration_Helper_Data extends Mage_Core_Helper_Abstract
|
|
59 |
$to_date = Mage::getModel('core/date')->gmtDate(null,strtotime($to)); // 2010-05-11 15:00:00
|
60 |
|
61 |
$orders = Mage::getModel('sales/order')->getCollection()
|
62 |
-
|
63 |
|
64 |
$states = Mage::helper('emaildirect')->config('send_states');
|
65 |
$state_list = explode(",",$states);
|
66 |
-
|
67 |
|
68 |
if ($store != null && $store != 0)
|
69 |
$orders->addAttributeToFilter('store_id', array('eq' => $store));
|
@@ -192,7 +205,7 @@ class EmailDirect_Integration_Helper_Data extends Mage_Core_Helper_Abstract
|
|
192 |
|
193 |
public function getEmailDirectColumnOptions()
|
194 |
{
|
195 |
-
|
196 |
|
197 |
$custom_fields = Mage::helper('emaildirect/fields')->getCustomFields(true);
|
198 |
|
@@ -203,34 +216,34 @@ class EmailDirect_Integration_Helper_Data extends Mage_Core_Helper_Abstract
|
|
203 |
$invalid_columns[] = $cf['name'];
|
204 |
}
|
205 |
|
206 |
-
|
207 |
-
|
208 |
if (!isset($columns))
|
209 |
return $options;
|
210 |
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
}
|
223 |
|
224 |
public function getShippingColumnOptions()
|
225 |
{
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
}
|
235 |
|
236 |
public function getDefaultPublication($storeId)
|
@@ -241,24 +254,24 @@ class EmailDirect_Integration_Helper_Data extends Mage_Core_Helper_Abstract
|
|
241 |
public function getMergeVars($customer, $includeEmail = FALSE)
|
242 |
{
|
243 |
$merge_vars = array();
|
244 |
-
|
245 |
-
|
246 |
if($maps)
|
247 |
{
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
|
263 |
return $merge_vars;
|
264 |
}
|
@@ -266,13 +279,13 @@ class EmailDirect_Integration_Helper_Data extends Mage_Core_Helper_Abstract
|
|
266 |
private function getTrackingData($order)
|
267 |
{
|
268 |
$shipmentCollection = Mage::getResourceModel('sales/order_shipment_collection')
|
269 |
-
|
270 |
-
|
271 |
foreach($shipmentCollection as $_shipment)
|
272 |
{
|
273 |
foreach($_shipment->getAllTracks() as $tracknum)
|
274 |
{
|
275 |
-
|
276 |
}
|
277 |
}
|
278 |
|
@@ -305,8 +318,8 @@ class EmailDirect_Integration_Helper_Data extends Mage_Core_Helper_Abstract
|
|
305 |
public function getOrderMergeVars(&$merge_vars, $order)
|
306 |
{
|
307 |
$this->log('getOrderMergeVars');
|
308 |
-
|
309 |
-
|
310 |
if ($maps)
|
311 |
{
|
312 |
|
@@ -316,8 +329,8 @@ class EmailDirect_Integration_Helper_Data extends Mage_Core_Helper_Abstract
|
|
316 |
|
317 |
$this->log($shipping_data,'Shipping Data');
|
318 |
|
319 |
-
|
320 |
-
|
321 |
|
322 |
return $merge_vars;
|
323 |
}
|
@@ -327,7 +340,7 @@ class EmailDirect_Integration_Helper_Data extends Mage_Core_Helper_Abstract
|
|
327 |
$this->log('getTrackingMergeVars Start');
|
328 |
|
329 |
$merge_vars = array();
|
330 |
-
|
331 |
|
332 |
if (!$maps)
|
333 |
return null;
|
@@ -336,65 +349,65 @@ class EmailDirect_Integration_Helper_Data extends Mage_Core_Helper_Abstract
|
|
336 |
|
337 |
$this->log($track->getData(), "Tracking Data");
|
338 |
|
339 |
-
|
340 |
|
341 |
return $merge_vars;
|
342 |
}
|
343 |
|
344 |
private function processMap(&$merge_vars,$maps, $data)
|
345 |
{
|
346 |
-
|
347 |
-
|
348 |
-
|
349 |
-
|
350 |
-
|
351 |
-
|
352 |
-
|
353 |
-
|
354 |
-
|
355 |
-
|
356 |
-
|
357 |
-
|
358 |
-
|
359 |
-
|
360 |
-
|
361 |
-
|
362 |
-
|
363 |
-
|
364 |
-
|
365 |
-
|
366 |
-
|
367 |
|
368 |
if ($state_code != "")
|
369 |
-
|
370 |
-
|
371 |
-
|
372 |
-
|
373 |
-
|
374 |
-
|
375 |
-
|
376 |
-
|
377 |
-
|
378 |
-
|
379 |
-
|
380 |
-
|
381 |
-
|
382 |
-
|
383 |
-
|
384 |
-
|
385 |
-
|
386 |
-
|
387 |
-
|
388 |
-
|
389 |
-
|
390 |
-
|
391 |
-
|
392 |
-
|
393 |
-
|
394 |
-
|
395 |
-
|
396 |
-
|
397 |
-
|
398 |
}
|
399 |
|
400 |
public function canCheckoutSubscribe()
|
@@ -489,9 +502,9 @@ class EmailDirect_Integration_Helper_Data extends Mage_Core_Helper_Abstract
|
|
489 |
$active = $this->config('active');
|
490 |
$setup = $this->config('setup');
|
491 |
$sendit = $this->config('sendorder');
|
492 |
-
|
493 |
-
|
494 |
-
|
495 |
|
496 |
return true;
|
497 |
}
|
@@ -515,7 +528,7 @@ class EmailDirect_Integration_Helper_Data extends Mage_Core_Helper_Abstract
|
|
515 |
return $base;
|
516 |
|
517 |
//$sendit = $this->config('sendorder');
|
518 |
-
|
519 |
return "Sending Orders is disabled.";
|
520 |
}
|
521 |
|
@@ -524,10 +537,10 @@ class EmailDirect_Integration_Helper_Data extends Mage_Core_Helper_Abstract
|
|
524 |
$active = $this->config('active');
|
525 |
$setup = $this->config('setup');
|
526 |
$sendit = $this->config('sendabandoned');
|
527 |
-
|
528 |
-
|
529 |
-
|
530 |
-
|
531 |
|
532 |
return true;
|
533 |
}
|
@@ -554,11 +567,11 @@ class EmailDirect_Integration_Helper_Data extends Mage_Core_Helper_Abstract
|
|
554 |
|
555 |
if ($headings)
|
556 |
$output .= "<thead>
|
557 |
-
|
558 |
-
|
559 |
-
|
560 |
-
|
561 |
-
|
562 |
|
563 |
foreach ($table as $key => $value)
|
564 |
{
|
@@ -600,12 +613,12 @@ class EmailDirect_Integration_Helper_Data extends Mage_Core_Helper_Abstract
|
|
600 |
private function getArrayData($data)
|
601 |
{
|
602 |
$output = "<table cellspacing='0' class='data ed-config-subtable'>
|
603 |
-
|
604 |
-
|
605 |
-
|
606 |
-
|
607 |
-
|
608 |
-
|
609 |
|
610 |
foreach ($data as $row)
|
611 |
{
|
@@ -657,9 +670,9 @@ class EmailDirect_Integration_Helper_Data extends Mage_Core_Helper_Abstract
|
|
657 |
// Check if the data is serialized
|
658 |
$test_data = @unserialize($value);
|
659 |
if ($test_data !== false)
|
660 |
-
|
661 |
else
|
662 |
-
|
663 |
}
|
664 |
}
|
665 |
|
@@ -814,7 +827,6 @@ class EmailDirect_Integration_Helper_Data extends Mage_Core_Helper_Abstract
|
|
814 |
|
815 |
private function getLists()
|
816 |
{
|
817 |
-
//return array();
|
818 |
$additional_lists = $this->config('additional_lists');
|
819 |
|
820 |
if ($additional_lists == "")
|
@@ -838,9 +850,10 @@ class EmailDirect_Integration_Helper_Data extends Mage_Core_Helper_Abstract
|
|
838 |
return $list_data;
|
839 |
}
|
840 |
|
841 |
-
|
842 |
public function getSubscriptions($email)
|
843 |
{
|
|
|
|
|
844 |
$data = array(
|
845 |
'publication' => $this->getPublication(),
|
846 |
'lists' => $this->getLists(),
|
@@ -849,6 +862,8 @@ class EmailDirect_Integration_Helper_Data extends Mage_Core_Helper_Abstract
|
|
849 |
);
|
850 |
|
851 |
$data = $this->getSubscriberData($data, $email);
|
|
|
|
|
852 |
|
853 |
return $data;
|
854 |
}
|
@@ -880,7 +895,7 @@ class EmailDirect_Integration_Helper_Data extends Mage_Core_Helper_Abstract
|
|
880 |
if ($area == "")
|
881 |
$area = $this->_log_area;
|
882 |
|
883 |
-
if ($
|
884 |
return;
|
885 |
|
886 |
if (is_array($data) || is_object($data))
|
@@ -897,7 +912,7 @@ class EmailDirect_Integration_Helper_Data extends Mage_Core_Helper_Abstract
|
|
897 |
if ($area != "")
|
898 |
$data = "[{$area}] [{$store}] {$prefix}{$data}";
|
899 |
|
900 |
-
Mage::log($data,null,self::LOG_FILE_NAME . self::LOG_FILE_EXT);
|
901 |
}
|
902 |
}
|
903 |
|
@@ -915,4 +930,14 @@ class EmailDirect_Integration_Helper_Data extends Mage_Core_Helper_Abstract
|
|
915 |
{
|
916 |
$this->_log_area = $area;
|
917 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
918 |
}
|
4 |
{
|
5 |
const LOG_FILE_NAME = 'emaildirect';
|
6 |
const LOG_FILE_EXT = '.log';
|
7 |
+
const LOG_LEVEL_HIGH = 0;
|
8 |
+
const LOG_LEVEL_NORMAL = 5;
|
9 |
+
const LOG_LEVEL_LOW = 100;
|
10 |
|
11 |
const ABANDONED_CART = "AB";
|
12 |
const ORDERS = "OR";
|
13 |
const NEWSLETTER = "NL";
|
14 |
const CUSTOMER = "CU";
|
15 |
+
const CONFIG = "CG";
|
16 |
const IGNORE = "IG";
|
17 |
|
18 |
const DISABLED_REASON_PREFIX = "Skipping";
|
19 |
+
|
20 |
+
private $_log_level = self::LOG_LEVEL_NORMAL;
|
21 |
+
private $_log_level_active = self::LOG_LEVEL_NORMAL;
|
22 |
private $_log_area = "";
|
23 |
private $_current_store = null;
|
24 |
|
43 |
$this->_current_store = $store;
|
44 |
}
|
45 |
|
46 |
+
public function getAdminStore()
|
47 |
{
|
48 |
+
$code = Mage::app()->getRequest()->getParam('store');
|
|
|
49 |
|
50 |
+
return $this->getStoreId($code);
|
51 |
}
|
52 |
|
53 |
+
public function getUrlParams()
|
54 |
{
|
55 |
+
$param_options = array('store','group','website');
|
56 |
|
57 |
+
$request = Mage::app()->getRequest();
|
58 |
+
|
59 |
+
foreach ($param_options as $param)
|
60 |
+
{
|
61 |
+
if ($request->getParam($param) != null)
|
62 |
+
return array($param => $request->getParam($param));
|
63 |
+
}
|
64 |
+
|
65 |
+
return array();
|
66 |
}
|
67 |
|
68 |
public function getOrderExportCollection($from, $to, $include, $store = null)
|
72 |
$to_date = Mage::getModel('core/date')->gmtDate(null,strtotime($to)); // 2010-05-11 15:00:00
|
73 |
|
74 |
$orders = Mage::getModel('sales/order')->getCollection()
|
75 |
+
->addAttributeToFilter('created_at', array('from' => $from_date, 'to' => $to_date));
|
76 |
|
77 |
$states = Mage::helper('emaildirect')->config('send_states');
|
78 |
$state_list = explode(",",$states);
|
79 |
+
$orders->addAttributeToFilter('status', array('in' => $state_list));
|
80 |
|
81 |
if ($store != null && $store != 0)
|
82 |
$orders->addAttributeToFilter('store_id', array('eq' => $store));
|
205 |
|
206 |
public function getEmailDirectColumnOptions()
|
207 |
{
|
208 |
+
$columns = Mage::getSingleton('emaildirect/wrapper_database')->getAllColumns();
|
209 |
|
210 |
$custom_fields = Mage::helper('emaildirect/fields')->getCustomFields(true);
|
211 |
|
216 |
$invalid_columns[] = $cf['name'];
|
217 |
}
|
218 |
|
219 |
+
$options = array();
|
220 |
+
|
221 |
if (!isset($columns))
|
222 |
return $options;
|
223 |
|
224 |
+
foreach ($columns as $column)
|
225 |
+
{
|
226 |
+
if ($column->IsCustom == 'true' && !in_array((string)$column->ColumnName,$invalid_columns))
|
227 |
+
{
|
228 |
+
$key = (string)$column->ColumnName;
|
229 |
+
|
230 |
+
$options[$key] = $key;
|
231 |
+
}
|
232 |
+
}
|
233 |
+
|
234 |
+
return $options;
|
235 |
}
|
236 |
|
237 |
public function getShippingColumnOptions()
|
238 |
{
|
239 |
+
$options = array(
|
240 |
+
'shipping_code' => 'Shipping Code',
|
241 |
+
'shipping_description' => 'Shipping Description',
|
242 |
+
'carrier_code' => 'Tracking Carrier Code',
|
243 |
+
'title' => 'Tracking Title',
|
244 |
+
'number' => 'Tracking Number');
|
245 |
+
|
246 |
+
return $options;
|
247 |
}
|
248 |
|
249 |
public function getDefaultPublication($storeId)
|
254 |
public function getMergeVars($customer, $includeEmail = FALSE)
|
255 |
{
|
256 |
$merge_vars = array();
|
257 |
+
$maps = unserialize( $this->config('map_fields', $customer->getStoreId()) );
|
258 |
+
|
259 |
if($maps)
|
260 |
{
|
261 |
+
$this->processMap($merge_vars, $maps, $customer);
|
262 |
+
}
|
263 |
+
|
264 |
+
$address_maps = unserialize( $this->config('address_fields', $customer->getStoreId()) );
|
265 |
+
|
266 |
+
// Process address
|
267 |
+
if ($address_maps)
|
268 |
+
{
|
269 |
+
$address = $customer->getBillingAddress();
|
270 |
+
if ($address)
|
271 |
+
{
|
272 |
+
$this->processMap($merge_vars, $address_maps, $address);
|
273 |
+
}
|
274 |
+
}
|
275 |
|
276 |
return $merge_vars;
|
277 |
}
|
279 |
private function getTrackingData($order)
|
280 |
{
|
281 |
$shipmentCollection = Mage::getResourceModel('sales/order_shipment_collection')
|
282 |
+
->setOrderFilter($order)
|
283 |
+
->load();
|
284 |
foreach($shipmentCollection as $_shipment)
|
285 |
{
|
286 |
foreach($_shipment->getAllTracks() as $tracknum)
|
287 |
{
|
288 |
+
return $tracknum->getData();
|
289 |
}
|
290 |
}
|
291 |
|
318 |
public function getOrderMergeVars(&$merge_vars, $order)
|
319 |
{
|
320 |
$this->log('getOrderMergeVars');
|
321 |
+
$maps = unserialize( $this->config('shipping_fields', $order->getStoreId()) );
|
322 |
+
|
323 |
if ($maps)
|
324 |
{
|
325 |
|
329 |
|
330 |
$this->log($shipping_data,'Shipping Data');
|
331 |
|
332 |
+
$this->processMap($merge_vars, $maps, $shipping_data);
|
333 |
+
}
|
334 |
|
335 |
return $merge_vars;
|
336 |
}
|
340 |
$this->log('getTrackingMergeVars Start');
|
341 |
|
342 |
$merge_vars = array();
|
343 |
+
$maps = unserialize( $this->config('shipping_fields', $order->getStoreId()) );
|
344 |
|
345 |
if (!$maps)
|
346 |
return null;
|
349 |
|
350 |
$this->log($track->getData(), "Tracking Data");
|
351 |
|
352 |
+
$this->processMap($merge_vars, $maps, $track);
|
353 |
|
354 |
return $merge_vars;
|
355 |
}
|
356 |
|
357 |
private function processMap(&$merge_vars,$maps, $data)
|
358 |
{
|
359 |
+
$request = Mage::app()->getRequest();
|
360 |
+
|
361 |
+
foreach($maps as $map)
|
362 |
+
{
|
363 |
+
$customAtt = $map['magento'];
|
364 |
+
$emaildirectTag = $key = $map['emaildirect'];
|
365 |
+
|
366 |
+
if($emaildirectTag && $customAtt)
|
367 |
+
{
|
368 |
+
switch ($customAtt)
|
369 |
+
{
|
370 |
+
case 'state_code':
|
371 |
+
{
|
372 |
+
$region_id = $data->getData('region_id');
|
373 |
+
|
374 |
+
$region = Mage::getModel('directory/region')->load($region_id);
|
375 |
+
|
376 |
+
if (!$region)
|
377 |
+
continue;
|
378 |
+
|
379 |
+
$state_code = $region->getCode();
|
380 |
|
381 |
if ($state_code != "")
|
382 |
+
$merge_vars[$key] = $state_code;
|
383 |
+
}
|
384 |
+
break;
|
385 |
+
case 'date_of_purchase':
|
386 |
+
$last_order = Mage::getResourceModel('sales/order_collection')
|
387 |
+
->addFieldToFilter('customer_id', $data->getId())
|
388 |
+
->addFieldToFilter('state', array('in' => Mage::getSingleton('sales/order_config')->getVisibleOnFrontStates()))
|
389 |
+
->setOrder('created_at', 'desc')
|
390 |
+
->getFirstItem();
|
391 |
+
|
392 |
+
if ( $last_order->getId() )
|
393 |
+
{
|
394 |
+
$merge_vars[$key] = Mage::helper('core')->formatDate($last_order->getCreatedAt());
|
395 |
+
}
|
396 |
+
|
397 |
+
break;
|
398 |
+
default:
|
399 |
+
|
400 |
+
if( ($value = (string)$data->getData(strtolower($customAtt)))
|
401 |
+
OR ($value = (string)$request->getPost(strtolower($customAtt))) )
|
402 |
+
{
|
403 |
+
$merge_vars[$key] = $value;
|
404 |
+
}
|
405 |
+
|
406 |
+
break;
|
407 |
+
}
|
408 |
+
|
409 |
+
}
|
410 |
+
}
|
411 |
}
|
412 |
|
413 |
public function canCheckoutSubscribe()
|
502 |
$active = $this->config('active');
|
503 |
$setup = $this->config('setup');
|
504 |
$sendit = $this->config('sendorder');
|
505 |
+
|
506 |
+
if (!$sendit || !$setup || !$active)
|
507 |
+
return false;
|
508 |
|
509 |
return true;
|
510 |
}
|
528 |
return $base;
|
529 |
|
530 |
//$sendit = $this->config('sendorder');
|
531 |
+
|
532 |
return "Sending Orders is disabled.";
|
533 |
}
|
534 |
|
537 |
$active = $this->config('active');
|
538 |
$setup = $this->config('setup');
|
539 |
$sendit = $this->config('sendabandoned');
|
540 |
+
$abandoned_setup = $this->config('abandonedsetup');
|
541 |
+
|
542 |
+
if (!$sendit || !$setup || !$active || !$abandoned_setup)
|
543 |
+
return false;
|
544 |
|
545 |
return true;
|
546 |
}
|
567 |
|
568 |
if ($headings)
|
569 |
$output .= "<thead>
|
570 |
+
<tr class='headings'>
|
571 |
+
<th>Setting</th>
|
572 |
+
<th>Value</th>
|
573 |
+
</tr>
|
574 |
+
</thead>";
|
575 |
|
576 |
foreach ($table as $key => $value)
|
577 |
{
|
613 |
private function getArrayData($data)
|
614 |
{
|
615 |
$output = "<table cellspacing='0' class='data ed-config-subtable'>
|
616 |
+
<thead>
|
617 |
+
<tr class='headings'>
|
618 |
+
<th>Magento</th>
|
619 |
+
<th>EmailDirect</th>
|
620 |
+
</tr>
|
621 |
+
</thead>";
|
622 |
|
623 |
foreach ($data as $row)
|
624 |
{
|
670 |
// Check if the data is serialized
|
671 |
$test_data = @unserialize($value);
|
672 |
if ($test_data !== false)
|
673 |
+
$data[$key] = $this->getArrayData($test_data);
|
674 |
else
|
675 |
+
$data[$key] = $value;;
|
676 |
}
|
677 |
}
|
678 |
|
827 |
|
828 |
private function getLists()
|
829 |
{
|
|
|
830 |
$additional_lists = $this->config('additional_lists');
|
831 |
|
832 |
if ($additional_lists == "")
|
850 |
return $list_data;
|
851 |
}
|
852 |
|
|
|
853 |
public function getSubscriptions($email)
|
854 |
{
|
855 |
+
$this->setLogArea(self::CUSTOMER);
|
856 |
+
$this->setLogLevel(self::LOG_LEVEL_LOW);
|
857 |
$data = array(
|
858 |
'publication' => $this->getPublication(),
|
859 |
'lists' => $this->getLists(),
|
862 |
);
|
863 |
|
864 |
$data = $this->getSubscriberData($data, $email);
|
865 |
+
|
866 |
+
$this->resetLogLevel();
|
867 |
|
868 |
return $data;
|
869 |
}
|
895 |
if ($area == "")
|
896 |
$area = $this->_log_area;
|
897 |
|
898 |
+
if ($this->_log_level > $this->_log_level_active)
|
899 |
return;
|
900 |
|
901 |
if (is_array($data) || is_object($data))
|
912 |
if ($area != "")
|
913 |
$data = "[{$area}] [{$store}] {$prefix}{$data}";
|
914 |
|
915 |
+
Mage::log($data,null,self::LOG_FILE_NAME . self::LOG_FILE_EXT, true);
|
916 |
}
|
917 |
}
|
918 |
|
930 |
{
|
931 |
$this->_log_area = $area;
|
932 |
}
|
933 |
+
|
934 |
+
public function setLogLevel($level)
|
935 |
+
{
|
936 |
+
$this->_log_level = $level;
|
937 |
+
}
|
938 |
+
|
939 |
+
public function resetLogLevel()
|
940 |
+
{
|
941 |
+
$this->_log_level = self::LOG_LEVEL_NORMAL;
|
942 |
+
}
|
943 |
}
|
app/code/local/EmailDirect/Integration/Model/Observer.php
CHANGED
@@ -5,6 +5,10 @@ class EmailDirect_Integration_Model_Observer
|
|
5 |
const ABANDONED_LAST_RUN = 'emaildirect/general/abandoned_last_run';
|
6 |
|
7 |
private $_helper = null;
|
|
|
|
|
|
|
|
|
8 |
|
9 |
public function __construct()
|
10 |
{
|
@@ -237,10 +241,10 @@ class EmailDirect_Integration_Model_Observer
|
|
237 |
|
238 |
public function saveConfig(Varien_Event_Observer $observer)
|
239 |
{
|
240 |
-
$this->_helper->setLogArea(EmailDirect_Integration_Helper_Data::
|
|
|
241 |
$store = $this->getStoreId($observer->getEvent()->getStore());
|
242 |
$post = Mage::app()->getRequest()->getPost();
|
243 |
-
|
244 |
$fields = $post['groups']['general']['fields'];
|
245 |
|
246 |
$apiKey = isset($fields['apikey']['value']) ? $fields['apikey']['value'] : $this->_helper->config('apikey');
|
@@ -277,6 +281,7 @@ class EmailDirect_Integration_Model_Observer
|
|
277 |
Mage::helper('emaildirect/fields')->verifyFields($force_product);
|
278 |
|
279 |
$this->saveTroubleshooting($store);
|
|
|
280 |
}
|
281 |
|
282 |
public function _mergeVars($object = NULL, $includeEmail = FALSE)
|
@@ -806,6 +811,17 @@ class EmailDirect_Integration_Model_Observer
|
|
806 |
}
|
807 |
}
|
808 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
809 |
private function processAbandoned($quote, $date)
|
810 |
{
|
811 |
$this->_helper->log("ProcessAbandoned Start");
|
@@ -821,6 +837,8 @@ class EmailDirect_Integration_Model_Observer
|
|
821 |
$merge_vars['AbandonedDate'] = $abandonedDate;
|
822 |
$merge_vars['AbandonedUrl'] = $quote->getEmaildirectAbandonedUrl();
|
823 |
|
|
|
|
|
824 |
$merge_vars = $this->getMergeOrderItems($quote, $merge_vars, "AB");
|
825 |
|
826 |
$order = $this->getLastOrder($quote);
|
@@ -855,7 +873,7 @@ class EmailDirect_Integration_Model_Observer
|
|
855 |
return $xml;
|
856 |
}
|
857 |
|
858 |
-
private function _abandonedCartsProcessor($collection, $mark_time = true)
|
859 |
{
|
860 |
// Store the time we last run
|
861 |
$date = date(Mage::getModel('core/date')->gmtTimestamp());
|
@@ -863,7 +881,8 @@ class EmailDirect_Integration_Model_Observer
|
|
863 |
|
864 |
$this->_helper->log("Saving Last Run Date: {$date}");
|
865 |
|
866 |
-
|
|
|
867 |
|
868 |
$subscribers = false;
|
869 |
|
@@ -888,6 +907,23 @@ class EmailDirect_Integration_Model_Observer
|
|
888 |
// Send them all at once
|
889 |
$rc = Mage::getSingleton('emaildirect/wrapper_abandoned')->sendSubscribers($xml);
|
890 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
891 |
|
892 |
public function abandonedStoreProcessor($store, $check_date)
|
893 |
{
|
@@ -904,7 +940,10 @@ class EmailDirect_Integration_Model_Observer
|
|
904 |
}
|
905 |
|
906 |
Mage::helper('emaildirect/fields')->checkFields();
|
907 |
-
|
|
|
|
|
|
|
908 |
// Get abandoned collection
|
909 |
$collection = Mage::getResourceModel('reports/quote_collection');
|
910 |
|
@@ -921,7 +960,7 @@ class EmailDirect_Integration_Model_Observer
|
|
921 |
|
922 |
$this->_helper->log("SQL: " . $collection->getSelect()->__toString());
|
923 |
|
924 |
-
$this->_abandonedCartsProcessor($collection);
|
925 |
|
926 |
$this->_helper->log("Finished Processing Store: {$store_code}");
|
927 |
}
|
@@ -984,7 +1023,7 @@ class EmailDirect_Integration_Model_Observer
|
|
984 |
|
985 |
$this->_helper->log("SQL: " . $collection->getSelect()->__toString());
|
986 |
|
987 |
-
$this->_abandonedCartsProcessor($collection, false);
|
988 |
|
989 |
$this->_helper->log("Sending Specific Abandoned Carts End");
|
990 |
}
|
@@ -1054,6 +1093,7 @@ class EmailDirect_Integration_Model_Observer
|
|
1054 |
try
|
1055 |
{
|
1056 |
$this->_helper->setLogArea(EmailDirect_Integration_Helper_Data::ABANDONED_CART);
|
|
|
1057 |
$this->_helper->log("Quote Save After Start");
|
1058 |
$quote = $observer->getEvent()->getQuote();
|
1059 |
|
@@ -1077,9 +1117,11 @@ class EmailDirect_Integration_Model_Observer
|
|
1077 |
// Re-save quote with new URL
|
1078 |
$this->setAbandonedUrl($quote, $url);
|
1079 |
$this->_helper->log("Quote Save After End");
|
|
|
1080 |
}
|
1081 |
catch (Exception $e)
|
1082 |
{
|
|
|
1083 |
Mage::logException($e);
|
1084 |
$this->_helper->logException($e);
|
1085 |
}
|
5 |
const ABANDONED_LAST_RUN = 'emaildirect/general/abandoned_last_run';
|
6 |
|
7 |
private $_helper = null;
|
8 |
+
private $_sequences = null;
|
9 |
+
private $_current_sequence = 0;
|
10 |
+
private $_sequence_enabled = false;
|
11 |
+
private $_sequence_field = "";
|
12 |
|
13 |
public function __construct()
|
14 |
{
|
241 |
|
242 |
public function saveConfig(Varien_Event_Observer $observer)
|
243 |
{
|
244 |
+
$this->_helper->setLogArea(EmailDirect_Integration_Helper_Data::CONFIG);
|
245 |
+
$this->_helper->setLogLevel(EmailDirect_Integration_Helper_Data::LOG_LEVEL_LOW);
|
246 |
$store = $this->getStoreId($observer->getEvent()->getStore());
|
247 |
$post = Mage::app()->getRequest()->getPost();
|
|
|
248 |
$fields = $post['groups']['general']['fields'];
|
249 |
|
250 |
$apiKey = isset($fields['apikey']['value']) ? $fields['apikey']['value'] : $this->_helper->config('apikey');
|
281 |
Mage::helper('emaildirect/fields')->verifyFields($force_product);
|
282 |
|
283 |
$this->saveTroubleshooting($store);
|
284 |
+
$this->_helper->resetLogLevel();
|
285 |
}
|
286 |
|
287 |
public function _mergeVars($object = NULL, $includeEmail = FALSE)
|
811 |
}
|
812 |
}
|
813 |
|
814 |
+
private function addSequence(&$merge_vars)
|
815 |
+
{
|
816 |
+
if (!$this->_sequence_enabled)
|
817 |
+
return;
|
818 |
+
|
819 |
+
if (!isset($this->_sequences[$this->_current_sequence]))
|
820 |
+
$this->_current_sequence = 0;
|
821 |
+
|
822 |
+
$merge_vars[$this->_sequence_field] = $this->_sequences[$this->_current_sequence++];
|
823 |
+
}
|
824 |
+
|
825 |
private function processAbandoned($quote, $date)
|
826 |
{
|
827 |
$this->_helper->log("ProcessAbandoned Start");
|
837 |
$merge_vars['AbandonedDate'] = $abandonedDate;
|
838 |
$merge_vars['AbandonedUrl'] = $quote->getEmaildirectAbandonedUrl();
|
839 |
|
840 |
+
$this->addSequence($merge_vars);
|
841 |
+
|
842 |
$merge_vars = $this->getMergeOrderItems($quote, $merge_vars, "AB");
|
843 |
|
844 |
$order = $this->getLastOrder($quote);
|
873 |
return $xml;
|
874 |
}
|
875 |
|
876 |
+
private function _abandonedCartsProcessor($collection, $store = null, $mark_time = true)
|
877 |
{
|
878 |
// Store the time we last run
|
879 |
$date = date(Mage::getModel('core/date')->gmtTimestamp());
|
881 |
|
882 |
$this->_helper->log("Saving Last Run Date: {$date}");
|
883 |
|
884 |
+
if ($mark_time)
|
885 |
+
$this->_helper->updateConfig("abandoned_last_run", $date, $store);
|
886 |
|
887 |
$subscribers = false;
|
888 |
|
907 |
// Send them all at once
|
908 |
$rc = Mage::getSingleton('emaildirect/wrapper_abandoned')->sendSubscribers($xml);
|
909 |
}
|
910 |
+
|
911 |
+
private function setupSequence()
|
912 |
+
{
|
913 |
+
$this->_sequence_enabled = $this->_helper->config('abandonedsequence_enabled');
|
914 |
+
|
915 |
+
if (!$this->_sequence_enabled)
|
916 |
+
return;
|
917 |
+
|
918 |
+
$sequences = str_replace("\r\n","\n",$this->_helper->config('abandonedsequence_options'));
|
919 |
+
$this->_current_sequence = $this->_helper->config('abandonedsequence_current');
|
920 |
+
|
921 |
+
if (!is_numeric($this->_current_sequence))
|
922 |
+
$this->_current_sequence = 0;
|
923 |
+
|
924 |
+
$this->_sequences = explode("\n",$sequences);
|
925 |
+
$this->_sequence_field = $this->_helper->config('abandonedsequence_field');
|
926 |
+
}
|
927 |
|
928 |
public function abandonedStoreProcessor($store, $check_date)
|
929 |
{
|
940 |
}
|
941 |
|
942 |
Mage::helper('emaildirect/fields')->checkFields();
|
943 |
+
|
944 |
+
// Setup sequence for this store
|
945 |
+
$this->setupSequence();
|
946 |
+
|
947 |
// Get abandoned collection
|
948 |
$collection = Mage::getResourceModel('reports/quote_collection');
|
949 |
|
960 |
|
961 |
$this->_helper->log("SQL: " . $collection->getSelect()->__toString());
|
962 |
|
963 |
+
$this->_abandonedCartsProcessor($collection, $store->getId());
|
964 |
|
965 |
$this->_helper->log("Finished Processing Store: {$store_code}");
|
966 |
}
|
1023 |
|
1024 |
$this->_helper->log("SQL: " . $collection->getSelect()->__toString());
|
1025 |
|
1026 |
+
$this->_abandonedCartsProcessor($collection, null, false);
|
1027 |
|
1028 |
$this->_helper->log("Sending Specific Abandoned Carts End");
|
1029 |
}
|
1093 |
try
|
1094 |
{
|
1095 |
$this->_helper->setLogArea(EmailDirect_Integration_Helper_Data::ABANDONED_CART);
|
1096 |
+
$this->_helper->setLogLevel(EmailDirect_Integration_Helper_Data::LOG_LEVEL_LOW);
|
1097 |
$this->_helper->log("Quote Save After Start");
|
1098 |
$quote = $observer->getEvent()->getQuote();
|
1099 |
|
1117 |
// Re-save quote with new URL
|
1118 |
$this->setAbandonedUrl($quote, $url);
|
1119 |
$this->_helper->log("Quote Save After End");
|
1120 |
+
$this->_helper->resetLogLevel();
|
1121 |
}
|
1122 |
catch (Exception $e)
|
1123 |
{
|
1124 |
+
$this->_helper->resetLogLevel();
|
1125 |
Mage::logException($e);
|
1126 |
$this->_helper->logException($e);
|
1127 |
}
|
app/code/local/EmailDirect/Integration/Model/System/Config/Source/Abandoned.php
DELETED
@@ -1,31 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
class EmailDirect_Integration_Model_System_Config_Source_Abandoned extends Varien_Data_Form_Abstract
|
4 |
-
{
|
5 |
-
/**
|
6 |
-
* Options getter
|
7 |
-
*
|
8 |
-
* @return array
|
9 |
-
*/
|
10 |
-
public function toOptionArray()
|
11 |
-
{
|
12 |
-
return array(
|
13 |
-
array('value' => 0, 'label' => Mage::helper('emaildirect')->__('Do not send through Magento')),
|
14 |
-
array('value' => 1, 'label' => Mage::helper('emaildirect')->__('1 Day')),
|
15 |
-
array('value' => 2, 'label' => Mage::helper('emaildirect')->__('2 Days')),
|
16 |
-
array('value' => 3, 'label' => Mage::helper('emaildirect')->__('3 Days')),
|
17 |
-
array('value' => 4, 'label' => Mage::helper('emaildirect')->__('4 Days')),
|
18 |
-
array('value' => 5, 'label' => Mage::helper('emaildirect')->__('5 Days')),
|
19 |
-
array('value' => 6, 'label' => Mage::helper('emaildirect')->__('6 Days')),
|
20 |
-
array('value' => 7, 'label' => Mage::helper('emaildirect')->__('7 Days')),
|
21 |
-
array('value' => 8, 'label' => Mage::helper('emaildirect')->__('8 Days')),
|
22 |
-
array('value' => 9, 'label' => Mage::helper('emaildirect')->__('9 Days')),
|
23 |
-
array('value' => 10, 'label' => Mage::helper('emaildirect')->__('10 Days')),
|
24 |
-
array('value' => 11, 'label' => Mage::helper('emaildirect')->__('11 Days')),
|
25 |
-
array('value' => 12, 'label' => Mage::helper('emaildirect')->__('12 Days')),
|
26 |
-
array('value' => 13, 'label' => Mage::helper('emaildirect')->__('13 Days')),
|
27 |
-
array('value' => 14, 'label' => Mage::helper('emaildirect')->__('14 Days')),
|
28 |
-
array('value' => 15, 'label' => Mage::helper('emaildirect')->__('15 Days')),
|
29 |
-
);
|
30 |
-
}
|
31 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/local/EmailDirect/Integration/Model/System/Config/Source/Abandonedlist.php
CHANGED
@@ -4,7 +4,10 @@ class EmailDirect_Integration_Model_System_Config_Source_Abandonedlist
|
|
4 |
{
|
5 |
public function toOptionArray()
|
6 |
{
|
7 |
-
Mage::helper('emaildirect')->setLogArea(EmailDirect_Integration_Helper_Data::
|
|
|
|
|
|
|
8 |
|
9 |
$options = array();
|
10 |
|
@@ -12,7 +15,6 @@ class EmailDirect_Integration_Model_System_Config_Source_Abandonedlist
|
|
12 |
'value' => -1,
|
13 |
'label' => "-- SELECT LIST --");
|
14 |
|
15 |
-
$lists = Mage::getSingleton('emaildirect/wrapper_lists')->getLists();
|
16 |
foreach($lists as $list)
|
17 |
{
|
18 |
if($list['active'])
|
4 |
{
|
5 |
public function toOptionArray()
|
6 |
{
|
7 |
+
Mage::helper('emaildirect')->setLogArea(EmailDirect_Integration_Helper_Data::CONFIG);
|
8 |
+
Mage::helper('emaildirect')->setLogLevel(EmailDirect_Integration_Helper_Data::LOG_LEVEL_LOW);
|
9 |
+
|
10 |
+
$lists = Mage::getSingleton('emaildirect/wrapper_lists')->getLists();
|
11 |
|
12 |
$options = array();
|
13 |
|
15 |
'value' => -1,
|
16 |
'label' => "-- SELECT LIST --");
|
17 |
|
|
|
18 |
foreach($lists as $list)
|
19 |
{
|
20 |
if($list['active'])
|
app/code/local/EmailDirect/Integration/Model/System/Config/Source/Additionallist.php
CHANGED
@@ -4,10 +4,13 @@ class EmailDirect_Integration_Model_System_Config_Source_Additionallist
|
|
4 |
{
|
5 |
public function toOptionArray()
|
6 |
{
|
7 |
-
Mage::helper('emaildirect')->setLogArea(EmailDirect_Integration_Helper_Data::
|
8 |
-
|
9 |
-
|
10 |
$lists = Mage::getSingleton('emaildirect/wrapper_lists')->getLists();
|
|
|
|
|
|
|
11 |
foreach($lists as $list)
|
12 |
{
|
13 |
if($list['active'])
|
4 |
{
|
5 |
public function toOptionArray()
|
6 |
{
|
7 |
+
Mage::helper('emaildirect')->setLogArea(EmailDirect_Integration_Helper_Data::CONFIG);
|
8 |
+
Mage::helper('emaildirect')->setLogLevel(EmailDirect_Integration_Helper_Data::LOG_LEVEL_LOW);
|
9 |
+
|
10 |
$lists = Mage::getSingleton('emaildirect/wrapper_lists')->getLists();
|
11 |
+
|
12 |
+
$options = array();
|
13 |
+
|
14 |
foreach($lists as $list)
|
15 |
{
|
16 |
if($list['active'])
|
app/code/local/EmailDirect/Integration/Model/System/Config/Source/List.php
CHANGED
@@ -4,15 +4,17 @@ class EmailDirect_Integration_Model_System_Config_Source_List
|
|
4 |
{
|
5 |
public function toOptionArray()
|
6 |
{
|
7 |
-
Mage::helper('emaildirect')->setLogArea(EmailDirect_Integration_Helper_Data::
|
|
|
|
|
|
|
8 |
|
9 |
$options = array();
|
10 |
$options[] = array (
|
11 |
'value' => -1,
|
12 |
'label' => '--select--',
|
13 |
);
|
14 |
-
|
15 |
-
$lists = Mage::getSingleton('emaildirect/wrapper_lists')->getLists();
|
16 |
foreach($lists as $list)
|
17 |
{
|
18 |
if($list['active'])
|
4 |
{
|
5 |
public function toOptionArray()
|
6 |
{
|
7 |
+
Mage::helper('emaildirect')->setLogArea(EmailDirect_Integration_Helper_Data::CONFIG);
|
8 |
+
Mage::helper('emaildirect')->setLogLevel(EmailDirect_Integration_Helper_Data::LOG_LEVEL_LOW);
|
9 |
+
|
10 |
+
$lists = Mage::getSingleton('emaildirect/wrapper_lists')->getLists();
|
11 |
|
12 |
$options = array();
|
13 |
$options[] = array (
|
14 |
'value' => -1,
|
15 |
'label' => '--select--',
|
16 |
);
|
17 |
+
|
|
|
18 |
foreach($lists as $list)
|
19 |
{
|
20 |
if($list['active'])
|
app/code/local/EmailDirect/Integration/Model/System/Config/Source/Publication.php
CHANGED
@@ -4,11 +4,13 @@ class EmailDirect_Integration_Model_System_Config_Source_Publication
|
|
4 |
{
|
5 |
public function toOptionArray()
|
6 |
{
|
7 |
-
Mage::helper('emaildirect')->setLogArea(EmailDirect_Integration_Helper_Data::
|
|
|
8 |
|
9 |
-
$options = array();
|
10 |
-
|
11 |
$publications = Mage::getSingleton('emaildirect/wrapper_publications')->getPublications();
|
|
|
|
|
|
|
12 |
foreach($publications as $publication)
|
13 |
{
|
14 |
if($publication['active'])
|
4 |
{
|
5 |
public function toOptionArray()
|
6 |
{
|
7 |
+
Mage::helper('emaildirect')->setLogArea(EmailDirect_Integration_Helper_Data::CONFIG);
|
8 |
+
Mage::helper('emaildirect')->setLogLevel(EmailDirect_Integration_Helper_Data::LOG_LEVEL_LOW);
|
9 |
|
|
|
|
|
10 |
$publications = Mage::getSingleton('emaildirect/wrapper_publications')->getPublications();
|
11 |
+
|
12 |
+
$options = array();
|
13 |
+
|
14 |
foreach($publications as $publication)
|
15 |
{
|
16 |
if($publication['active'])
|
app/code/local/EmailDirect/Integration/Model/System/Config/Source/Sequence.php
ADDED
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class EmailDirect_Integration_Model_System_Config_Source_Sequence
|
4 |
+
{
|
5 |
+
public function toOptionArray()
|
6 |
+
{
|
7 |
+
Mage::helper('emaildirect')->setLogArea(EmailDirect_Integration_Helper_Data::CONFIG);
|
8 |
+
Mage::helper('emaildirect')->setLogLevel(EmailDirect_Integration_Helper_Data::LOG_LEVEL_LOW);
|
9 |
+
|
10 |
+
$fields = Mage::helper('emaildirect')->getEmailDirectColumnOptions();
|
11 |
+
|
12 |
+
$options = array();
|
13 |
+
|
14 |
+
foreach ($fields as $field)
|
15 |
+
{
|
16 |
+
$options[] = array(
|
17 |
+
'value' => $field,
|
18 |
+
'label' => $field);
|
19 |
+
}
|
20 |
+
return $options;
|
21 |
+
}
|
22 |
+
}
|
app/code/local/EmailDirect/Integration/Model/System/Config/Source/Source.php
CHANGED
@@ -4,11 +4,13 @@ class EmailDirect_Integration_Model_System_Config_Source_Source
|
|
4 |
{
|
5 |
public function toOptionArray()
|
6 |
{
|
7 |
-
Mage::helper('emaildirect')->setLogArea(EmailDirect_Integration_Helper_Data::
|
|
|
8 |
|
9 |
-
$options = array();
|
10 |
-
|
11 |
$sources = Mage::getSingleton('emaildirect/wrapper_sources')->getSources();
|
|
|
|
|
|
|
12 |
foreach($sources as $source)
|
13 |
{
|
14 |
if($source['active'])
|
4 |
{
|
5 |
public function toOptionArray()
|
6 |
{
|
7 |
+
Mage::helper('emaildirect')->setLogArea(EmailDirect_Integration_Helper_Data::CONFIG);
|
8 |
+
Mage::helper('emaildirect')->setLogLevel(EmailDirect_Integration_Helper_Data::LOG_LEVEL_LOW);
|
9 |
|
|
|
|
|
10 |
$sources = Mage::getSingleton('emaildirect/wrapper_sources')->getSources();
|
11 |
+
|
12 |
+
$options = array();
|
13 |
+
|
14 |
foreach($sources as $source)
|
15 |
{
|
16 |
if($source['active'])
|
app/code/local/EmailDirect/Integration/Model/System/Config/Source/Time.php
CHANGED
@@ -4,8 +4,7 @@ class EmailDirect_Integration_Model_System_Config_Source_Time
|
|
4 |
{
|
5 |
public function toOptionArray()
|
6 |
{
|
7 |
-
|
8 |
-
$options = array(
|
9 |
array('value' => 15,'label' => "15 Minutes"),
|
10 |
array('value' => 30,'label' => "30 Minutes"),
|
11 |
array('value' => 45,'label' => "45 Minutes"),
|
4 |
{
|
5 |
public function toOptionArray()
|
6 |
{
|
7 |
+
$options = array(
|
|
|
8 |
array('value' => 15,'label' => "15 Minutes"),
|
9 |
array('value' => 30,'label' => "30 Minutes"),
|
10 |
array('value' => 45,'label' => "45 Minutes"),
|
app/code/local/EmailDirect/Integration/Model/Wrapper/Execute.php
CHANGED
@@ -114,8 +114,7 @@ class EmailDirect_Integration_Model_Wrapper_Execute
|
|
114 |
Mage::throwException($e->getMessage());
|
115 |
}
|
116 |
|
117 |
-
|
118 |
-
$helper->log($xml, "Response");
|
119 |
|
120 |
return $xml;
|
121 |
}
|
114 |
Mage::throwException($e->getMessage());
|
115 |
}
|
116 |
|
117 |
+
$helper->log($xml, "Response");
|
|
|
118 |
|
119 |
return $xml;
|
120 |
}
|
app/code/local/EmailDirect/Integration/controllers/Admin/AbandonedController.php
CHANGED
@@ -26,7 +26,7 @@ class EmailDirect_Integration_Admin_AbandonedController extends Mage_Adminhtml_C
|
|
26 |
{
|
27 |
Mage::getSingleton('emaildirect/observer')->abandonedCartsProcessor();
|
28 |
$this->_getSession()->addSuccess(Mage::helper('adminhtml')->__("The Abandoned Cart process has been run."));
|
29 |
-
$this->_redirect('emaildirect/admin_abandoned/index');
|
30 |
}
|
31 |
|
32 |
public function sendAction()
|
@@ -35,7 +35,7 @@ class EmailDirect_Integration_Admin_AbandonedController extends Mage_Adminhtml_C
|
|
35 |
$id_list = array($id);
|
36 |
Mage::getSingleton('emaildirect/observer')->SendAbandonedCarts($id_list);
|
37 |
$this->_getSession()->addSuccess(Mage::helper('adminhtml')->__("Abandoned Carts have been sent."));
|
38 |
-
$this->_redirect('emaildirect/admin_abandoned/index');
|
39 |
}
|
40 |
|
41 |
public function massSendAction()
|
@@ -64,6 +64,6 @@ class EmailDirect_Integration_Admin_AbandonedController extends Mage_Adminhtml_C
|
|
64 |
Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
|
65 |
}
|
66 |
}
|
67 |
-
$this->_redirect('*/*/index');
|
68 |
}
|
69 |
}
|
26 |
{
|
27 |
Mage::getSingleton('emaildirect/observer')->abandonedCartsProcessor();
|
28 |
$this->_getSession()->addSuccess(Mage::helper('adminhtml')->__("The Abandoned Cart process has been run."));
|
29 |
+
$this->_redirect('emaildirect/admin_abandoned/index', Mage::helper('emaildirect')->getUrlParams());
|
30 |
}
|
31 |
|
32 |
public function sendAction()
|
35 |
$id_list = array($id);
|
36 |
Mage::getSingleton('emaildirect/observer')->SendAbandonedCarts($id_list);
|
37 |
$this->_getSession()->addSuccess(Mage::helper('adminhtml')->__("Abandoned Carts have been sent."));
|
38 |
+
$this->_redirect('emaildirect/admin_abandoned/index', Mage::helper('emaildirect')->getUrlParams());
|
39 |
}
|
40 |
|
41 |
public function massSendAction()
|
64 |
Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
|
65 |
}
|
66 |
}
|
67 |
+
$this->_redirect('*/*/index', Mage::helper('emaildirect')->getUrlParams());
|
68 |
}
|
69 |
}
|
app/code/local/EmailDirect/Integration/etc/config.xml
CHANGED
@@ -1,145 +1,145 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<config>
|
3 |
-
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
<newsletter_subscriber_save_before>
|
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 |
<observers>
|
36 |
<emaildirect_order_save_after>
|
37 |
<class>emaildirect/observer</class>
|
38 |
<method>orderSaveAfter</method>
|
39 |
</emaildirect_order_save_after>
|
40 |
</observers>
|
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 |
<email>
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
</email>
|
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 |
<events>
|
127 |
<controller_action_postdispatch_checkout_onepage_saveOrder>
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
<sales_quote_save_after>
|
144 |
<observers>
|
145 |
<emaildirect_quote_save_after>
|
@@ -147,93 +147,93 @@
|
|
147 |
<method>quoteSaveAfter</method>
|
148 |
</emaildirect_quote_save_after>
|
149 |
</observers>
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
<accesspoint>https://rest.emaildirect.com/v1/</accesspoint>
|
238 |
<lists>Lists</lists>
|
239 |
<subscribers>Subscribers</subscribers>
|
@@ -245,49 +245,52 @@
|
|
245 |
<database>Database</database>
|
246 |
<abandoned>Import/AddOrUpdate</abandoned>
|
247 |
<ftp>FTP</ftp>
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
|
270 |
-
|
271 |
-
|
272 |
-
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
-
|
279 |
-
|
280 |
-
|
281 |
-
|
282 |
-
|
283 |
-
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
|
290 |
-
|
291 |
-
|
292 |
-
|
|
|
|
|
|
|
293 |
</config>
|
1 |
<?xml version="1.0"?>
|
2 |
<config>
|
3 |
+
<modules>
|
4 |
+
<EmailDirect_Integration>
|
5 |
+
<version>1.5.7</version>
|
6 |
+
</EmailDirect_Integration>
|
7 |
+
</modules>
|
8 |
+
<global>
|
9 |
+
<events>
|
10 |
<newsletter_subscriber_save_before>
|
11 |
+
<observers>
|
12 |
+
<emaildirect_subscribe_observer>
|
13 |
+
<class>emaildirect/observer</class>
|
14 |
+
<method>handleSubscriber</method>
|
15 |
+
</emaildirect_subscribe_observer>
|
16 |
+
</observers>
|
17 |
+
</newsletter_subscriber_save_before>
|
18 |
+
<newsletter_subscriber_delete_after>
|
19 |
+
<observers>
|
20 |
+
<emaildirect_subscribe_delete_observer>
|
21 |
+
<class>emaildirect/observer</class>
|
22 |
+
<method>handleSubscriberDeletion</method>
|
23 |
+
</emaildirect_subscribe_delete_observer>
|
24 |
+
</observers>
|
25 |
+
</newsletter_subscriber_delete_after>
|
26 |
+
<customer_save_after>
|
27 |
+
<observers>
|
28 |
+
<emaildirect_update_customer>
|
29 |
+
<class>emaildirect/observer</class>
|
30 |
+
<method>updateCustomer</method>
|
31 |
+
</emaildirect_update_customer>
|
32 |
+
</observers>
|
33 |
+
</customer_save_after>
|
34 |
+
<sales_order_save_after>
|
35 |
<observers>
|
36 |
<emaildirect_order_save_after>
|
37 |
<class>emaildirect/observer</class>
|
38 |
<method>orderSaveAfter</method>
|
39 |
</emaildirect_order_save_after>
|
40 |
</observers>
|
41 |
+
</sales_order_save_after>
|
42 |
+
</events>
|
43 |
+
<models>
|
44 |
+
<emaildirect>
|
45 |
+
<class>EmailDirect_Integration_Model</class>
|
46 |
+
<resourceModel>emaildirect_mysql4</resourceModel>
|
47 |
+
</emaildirect>
|
48 |
+
<emaildirect_mysql4>
|
49 |
+
<class>EmailDirect_Integration_Model_Mysql4</class>
|
50 |
+
<entities>
|
51 |
+
<apidebug><table>emaildirect_api_debug</table></apidebug>
|
52 |
+
</entities>
|
53 |
+
</emaildirect_mysql4>
|
54 |
+
</models>
|
55 |
+
<resources>
|
56 |
+
<emaildirect_setup>
|
57 |
+
<setup>
|
58 |
+
<module>EmailDirect_Integration</module>
|
59 |
+
</setup>
|
60 |
+
<connection>
|
61 |
+
<use>core_setup</use>
|
62 |
+
</connection>
|
63 |
+
</emaildirect_setup>
|
64 |
+
<emaildirect_write>
|
65 |
+
<connection>
|
66 |
+
<use>core_write</use>
|
67 |
+
</connection>
|
68 |
+
</emaildirect_write>
|
69 |
+
<emaildirect_read>
|
70 |
+
<connection>
|
71 |
+
<use>core_read</use>
|
72 |
+
</connection>
|
73 |
+
</emaildirect_read>
|
74 |
+
</resources>
|
75 |
+
<blocks>
|
76 |
+
<emaildirect>
|
77 |
+
<class>EmailDirect_Integration_Block</class>
|
78 |
+
</emaildirect>
|
79 |
+
</blocks>
|
80 |
+
<helpers>
|
81 |
+
<emaildirect>
|
82 |
+
<class>EmailDirect_Integration_Helper</class>
|
83 |
+
</emaildirect>
|
84 |
+
</helpers>
|
85 |
+
<!--<template>
|
86 |
<email>
|
87 |
+
<newsletter_subscription_success_email_template translate="label" module="emaildirect">
|
88 |
+
<label>Newsletter subscription success</label>
|
89 |
+
<file>newsletter_subscr_success_emaildirect.html</file>
|
90 |
+
<type>html</type>
|
91 |
+
</newsletter_subscription_success_email_template>
|
92 |
+
<newsletter_subscription_un_email_template translate="label" module="emaildirect">
|
93 |
+
<label>Newsletter unsubscription success</label>
|
94 |
+
<file>newsletter_unsub_success_emaildirect.html</file>
|
95 |
+
<type>html</type>
|
96 |
+
</newsletter_subscription_un_email_template>
|
97 |
</email>
|
98 |
+
</template>-->
|
99 |
+
</global>
|
100 |
+
<frontend>
|
101 |
+
<translate>
|
102 |
+
<modules>
|
103 |
+
<EmailDirect_Integration>
|
104 |
+
<files>
|
105 |
+
<default>EmailDirect_Integration.csv</default>
|
106 |
+
</files>
|
107 |
+
</EmailDirect_Integration>
|
108 |
+
</modules>
|
109 |
+
</translate>
|
110 |
+
<routers>
|
111 |
+
<emaildirect>
|
112 |
+
<use>standard</use>
|
113 |
+
<args>
|
114 |
+
<module>EmailDirect_Integration</module>
|
115 |
+
<frontName>emaildirect</frontName>
|
116 |
+
</args>
|
117 |
+
</emaildirect>
|
118 |
+
</routers>
|
119 |
+
<layout>
|
120 |
+
<updates>
|
121 |
+
<emaildirect>
|
122 |
+
<file>emaildirect.xml</file>
|
123 |
+
</emaildirect>
|
124 |
+
</updates>
|
125 |
+
</layout>
|
126 |
<events>
|
127 |
<controller_action_postdispatch_checkout_onepage_saveOrder>
|
128 |
+
<observers>
|
129 |
+
<emaildirect_subscribe_checkout>
|
130 |
+
<class>emaildirect/observer</class>
|
131 |
+
<method>registerCheckoutSubscribe</method>
|
132 |
+
</emaildirect_subscribe_checkout>
|
133 |
+
</observers>
|
134 |
+
</controller_action_postdispatch_checkout_onepage_saveOrder>
|
135 |
+
<checkout_onepage_controller_success_action>
|
136 |
+
<observers>
|
137 |
+
<emaildirect_subscribe_checkoutsuccess>
|
138 |
+
<class>emaildirect/observer</class>
|
139 |
+
<method>registerCheckoutSuccess</method>
|
140 |
+
</emaildirect_subscribe_checkoutsuccess>
|
141 |
+
</observers>
|
142 |
+
</checkout_onepage_controller_success_action>
|
143 |
<sales_quote_save_after>
|
144 |
<observers>
|
145 |
<emaildirect_quote_save_after>
|
147 |
<method>quoteSaveAfter</method>
|
148 |
</emaildirect_quote_save_after>
|
149 |
</observers>
|
150 |
+
</sales_quote_save_after>
|
151 |
+
</events>
|
152 |
+
</frontend>
|
153 |
+
<admin>
|
154 |
+
<routers>
|
155 |
+
<emaildirect>
|
156 |
+
<use>admin</use>
|
157 |
+
<args>
|
158 |
+
<module>Emaildirect_Integration</module>
|
159 |
+
<frontName>emaildirect</frontName>
|
160 |
+
</args>
|
161 |
+
</emaildirect>
|
162 |
+
</routers>
|
163 |
+
</admin>
|
164 |
+
<adminhtml>
|
165 |
+
<menu>
|
166 |
+
<sales>
|
167 |
+
<children>
|
168 |
+
<emaildirect_abandoned>
|
169 |
+
<title>EmailDirect - Abandoned Carts</title>
|
170 |
+
<sort_order>100</sort_order>
|
171 |
+
<action>emaildirect/admin_abandoned</action>
|
172 |
+
</emaildirect_abandoned>
|
173 |
+
</children>
|
174 |
+
</sales>
|
175 |
+
</menu>
|
176 |
+
<acl>
|
177 |
+
<resources>
|
178 |
+
<admin>
|
179 |
+
<children>
|
180 |
+
<sales>
|
181 |
+
<emaildirect_abandoned>
|
182 |
+
<title>EmailDirect - Abandoned Carts</title>
|
183 |
+
</emaildirect_abandoned>
|
184 |
+
</sales>
|
185 |
+
</children>
|
186 |
+
</admin>
|
187 |
+
</resources>
|
188 |
+
</acl>
|
189 |
+
<layout>
|
190 |
+
<updates>
|
191 |
+
<emaildirect>
|
192 |
+
<file>emaildirect.xml</file>
|
193 |
+
</emaildirect>
|
194 |
+
</updates>
|
195 |
+
</layout>
|
196 |
+
<translate>
|
197 |
+
<modules>
|
198 |
+
<EmailDirect_Integration>
|
199 |
+
<files>
|
200 |
+
<default>EmailDirect_Integration.csv</default>
|
201 |
+
</files>
|
202 |
+
</EmailDirect_Integration>
|
203 |
+
</modules>
|
204 |
+
</translate>
|
205 |
+
<events>
|
206 |
+
<core_block_abstract_to_html_before>
|
207 |
+
<observers>
|
208 |
+
<emaildirect_newsletter_massaction>
|
209 |
+
<class>emaildirect/observer</class>
|
210 |
+
<method>updateNewsletterMassAction</method>
|
211 |
+
</emaildirect_newsletter_massaction>
|
212 |
+
</observers>
|
213 |
+
</core_block_abstract_to_html_before>
|
214 |
+
<sales_order_shipment_track_save_after>
|
215 |
+
<observers>
|
216 |
+
<emaildirect_track_save_after>
|
217 |
+
<type>model</type>
|
218 |
+
<class>emaildirect/observer</class>
|
219 |
+
<method>salesOrderShipmentTrackSaveAfter</method>
|
220 |
+
</emaildirect_track_save_after>
|
221 |
+
</observers>
|
222 |
+
</sales_order_shipment_track_save_after>
|
223 |
+
<admin_system_config_changed_section_emaildirect>
|
224 |
+
<observers>
|
225 |
+
<emaildirect_save_config>
|
226 |
+
<class>emaildirect/observer</class>
|
227 |
+
<method>saveConfig</method>
|
228 |
+
</emaildirect_save_config>
|
229 |
+
</observers>
|
230 |
+
</admin_system_config_changed_section_emaildirect>
|
231 |
+
</events>
|
232 |
+
</adminhtml>
|
233 |
+
<default>
|
234 |
+
<emaildirect>
|
235 |
+
<general>
|
236 |
+
<urls>
|
237 |
<accesspoint>https://rest.emaildirect.com/v1/</accesspoint>
|
238 |
<lists>Lists</lists>
|
239 |
<subscribers>Subscribers</subscribers>
|
245 |
<database>Database</database>
|
246 |
<abandoned>Import/AddOrUpdate</abandoned>
|
247 |
<ftp>FTP</ftp>
|
248 |
+
</urls>
|
249 |
+
<active>0</active>
|
250 |
+
<sourceid>0</sourceid>
|
251 |
+
<source>Magento</source>
|
252 |
+
<override_source>1</override_source>
|
253 |
+
<address_fields><![CDATA[a:5:{s:2:"a1";a:2:{s:7:"magento";s:6:"street";s:11:"emaildirect";s:7:"Address";}s:2:"a2";a:2:{s:7:"magento";s:4:"city";s:11:"emaildirect";s:4:"City";}s:2:"a3";a:2:{s:7:"magento";s:10:"state_code";s:11:"emaildirect";s:5:"State";}s:2:"a4";a:2:{s:7:"magento";s:8:"postcode";s:11:"emaildirect";s:3:"Zip";}s:2:"a5";a:2:{s:7:"magento";s:9:"telephone";s:11:"emaildirect";s:5:"Phone";}}]]></address_fields>
|
254 |
+
<map_fields><![CDATA[a:2:{i:0;a:2:{s:7:"magento";s:9:"firstname";s:11:"emaildirect";s:9:"FirstName";}i:1;a:2:{s:7:"magento";s:8:"lastname";s:11:"emaildirect";s:8:"LastName";}}]]></map_fields>
|
255 |
+
<abandonedtime>30</abandonedtime>
|
256 |
+
<sendabandoned>0</sendabandoned>
|
257 |
+
<abandonedsetup>0</abandonedsetup>
|
258 |
+
<setup>0</setup>
|
259 |
+
<debug>0</debug>
|
260 |
+
<save_latest_order>0</save_latest_order>
|
261 |
+
<product_fields>3</product_fields>
|
262 |
+
<related_fields>2</related_fields>
|
263 |
+
<send_states>complete</send_states>
|
264 |
+
<abandonedsequence_options><![CDATA[A
|
265 |
+
B
|
266 |
+
C]]></abandonedsequence_options>
|
267 |
+
</general>
|
268 |
+
<export>
|
269 |
+
<include_disabled>1</include_disabled>
|
270 |
+
<include_already_sent>0</include_already_sent>
|
271 |
+
<batch>100</batch>
|
272 |
+
<setup>0</setup>
|
273 |
+
</export>
|
274 |
+
<troubleshooting>
|
275 |
+
<enabled>0</enabled>
|
276 |
+
<email>Kevinl@EmailDirect.com</email>
|
277 |
+
<subject>EmailDirect Magento Module Troubleshooting Report</subject>
|
278 |
+
<report_file>troubleshootingreport.html</report_file>
|
279 |
+
<max_file_size>1048576</max_file_size>
|
280 |
+
</troubleshooting>
|
281 |
+
</emaildirect>
|
282 |
+
</default>
|
283 |
+
<crontab>
|
284 |
+
<jobs>
|
285 |
+
<emaildirect_integration>
|
286 |
+
<schedule>
|
287 |
+
<cron_expr>0 */1 * * *</cron_expr>
|
288 |
+
<!--<cron_expr>*/5 * * * *</cron_expr>--><!-- every 5 minutes for testing -->
|
289 |
+
</schedule>
|
290 |
+
<run>
|
291 |
+
<model>emaildirect/observer::abandonedCartsProcessor</model>
|
292 |
+
</run>
|
293 |
+
</emaildirect_integration>
|
294 |
+
</jobs>
|
295 |
+
</crontab>
|
296 |
</config>
|
app/code/local/EmailDirect/Integration/etc/system.xml
CHANGED
@@ -26,7 +26,23 @@
|
|
26 |
<show_in_website>1</show_in_website>
|
27 |
<show_in_store>1</show_in_store>
|
28 |
<expanded>1</expanded>
|
29 |
-
<fields>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
<active translate="label">
|
31 |
<label>Enabled</label>
|
32 |
<frontend_type>select</frontend_type>
|
@@ -35,7 +51,6 @@
|
|
35 |
<show_in_default>1</show_in_default>
|
36 |
<show_in_website>1</show_in_website>
|
37 |
<show_in_store>1</show_in_store>
|
38 |
-
<depends><setup>1</setup></depends>
|
39 |
</active>
|
40 |
<apikey translate="label comment">
|
41 |
<label>API Key</label>
|
@@ -54,7 +69,7 @@
|
|
54 |
<show_in_default>1</show_in_default>
|
55 |
<show_in_website>1</show_in_website>
|
56 |
<show_in_store>1</show_in_store>
|
57 |
-
|
58 |
</apikey_instructions>
|
59 |
<publication translate="label comment">
|
60 |
<label>Publication</label>
|
@@ -66,7 +81,7 @@
|
|
66 |
<show_in_store>1</show_in_store>
|
67 |
<can_be_empty>1</can_be_empty>
|
68 |
<comment>This is the Publication that emails will be subscribed to and is required</comment>
|
69 |
-
|
70 |
</publication>
|
71 |
<additional_lists translate="label comment">
|
72 |
<label>Additional Lists</label>
|
@@ -78,7 +93,7 @@
|
|
78 |
<show_in_store>1</show_in_store>
|
79 |
<can_be_empty>1</can_be_empty>
|
80 |
<comment>Choose one or more Lists to allow your subscribers more options when subscribing. Not required</comment>
|
81 |
-
|
82 |
</additional_lists>
|
83 |
<source translate="label comment">
|
84 |
<label>Source</label>
|
@@ -89,7 +104,7 @@
|
|
89 |
<show_in_store>1</show_in_store>
|
90 |
<can_be_empty>0</can_be_empty>
|
91 |
<comment><![CDATA[This is the main source used with the Magento General Subscription.<br/> If you leave this field blank <b>Magento</b> is used]]></comment>
|
92 |
-
|
93 |
</source>
|
94 |
<override_source translate="label">
|
95 |
<label>Override Source</label>
|
@@ -100,9 +115,30 @@
|
|
100 |
<show_in_website>1</show_in_website>
|
101 |
<show_in_store>1</show_in_store>
|
102 |
<comment>If set to "Yes", the source will be updated when an existing customer is updated.</comment>
|
103 |
-
|
104 |
</override_source>
|
105 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
106 |
<address_fields translate="label comment">
|
107 |
<label>Address Fields Mapping</label>
|
108 |
<frontend_model>emaildirect/adminhtml_system_config_form_field_addressmapfields</frontend_model>
|
@@ -111,7 +147,7 @@
|
|
111 |
<show_in_default>1</show_in_default>
|
112 |
<show_in_website>0</show_in_website>
|
113 |
<show_in_store>1</show_in_store>
|
114 |
-
|
115 |
</address_fields>
|
116 |
<map_fields translate="label comment">
|
117 |
<label>Customer Fields Mapping</label>
|
@@ -121,7 +157,7 @@
|
|
121 |
<show_in_default>1</show_in_default>
|
122 |
<show_in_website>0</show_in_website>
|
123 |
<show_in_store>1</show_in_store>
|
124 |
-
|
125 |
</map_fields>
|
126 |
<shipping_fields translate="label comment">
|
127 |
<label>Shipping Fields Mapping</label>
|
@@ -131,19 +167,17 @@
|
|
131 |
<show_in_default>1</show_in_default>
|
132 |
<show_in_website>0</show_in_website>
|
133 |
<show_in_store>1</show_in_store>
|
134 |
-
|
135 |
</shipping_fields>
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
<depends><setup>1</setup></depends>
|
146 |
-
</checkout_subscribe>
|
147 |
<sendorder translate="label">
|
148 |
<label>Send orders to EmailDirect</label>
|
149 |
<frontend_type>select</frontend_type>
|
@@ -153,7 +187,6 @@
|
|
153 |
<show_in_website>1</show_in_website>
|
154 |
<show_in_store>1</show_in_store>
|
155 |
<comment>Sends all completed orders to EmailDirect Purchase Behavior for detailed reporting, filtering and targeting</comment>
|
156 |
-
<depends><setup>1</setup></depends>
|
157 |
</sendorder>
|
158 |
<send_states translate="label comment">
|
159 |
<label>Send order on which state(s)</label>
|
@@ -163,9 +196,10 @@
|
|
163 |
<show_in_default>1</show_in_default>
|
164 |
<show_in_website>0</show_in_website>
|
165 |
<show_in_store>1</show_in_store>
|
166 |
-
|
167 |
<comment>Choose one or more States to determine when an order will be sent to EmailDirect. Orders will only be sent the first time one of these states are encountered.</comment>
|
168 |
-
<depends><
|
|
|
169 |
</send_states>
|
170 |
<save_latest_order translate="label">
|
171 |
<label>Save Latest Order Information</label>
|
@@ -176,8 +210,18 @@
|
|
176 |
<show_in_website>1</show_in_website>
|
177 |
<show_in_store>1</show_in_store>
|
178 |
<comment>Save information from the latest order along with the first 3 products from that order</comment>
|
179 |
-
<depends><
|
180 |
</save_latest_order>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
181 |
<sendabandoned translate="label">
|
182 |
<label>Add Abandoned Carts To EmailDirect</label>
|
183 |
<frontend_type>select</frontend_type>
|
@@ -187,7 +231,7 @@
|
|
187 |
<show_in_website>1</show_in_website>
|
188 |
<show_in_store>1</show_in_store>
|
189 |
<comment>This will add any abandoned shopping carts to the EmailDirect database with AbandonedDate and AbandonedURL database fields. These fields can be used with Workflows to time your own Abandoned Shopping Cart emails or send a series of emails. This allows for complete customization of the email.</comment>
|
190 |
-
|
191 |
</sendabandoned>
|
192 |
<abandonedtime translate="label comment">
|
193 |
<label>Abandoned Time</label>
|
@@ -198,7 +242,7 @@
|
|
198 |
<show_in_website>1</show_in_website>
|
199 |
<show_in_store>1</show_in_store>
|
200 |
<comment>How long before a cart is considered abandoned?</comment>
|
201 |
-
<depends><
|
202 |
</abandonedtime>
|
203 |
<abandonedpublication translate="label comment">
|
204 |
<label>Abandoned Publication</label>
|
@@ -210,7 +254,7 @@
|
|
210 |
<show_in_store>1</show_in_store>
|
211 |
<can_be_empty>1</can_be_empty>
|
212 |
<comment>This is the Publication that you will put abandoned shoppers into</comment>
|
213 |
-
<depends><
|
214 |
</abandonedpublication>
|
215 |
<abandonedlist translate="label comment">
|
216 |
<label>Abandoned List</label>
|
@@ -222,8 +266,52 @@
|
|
222 |
<show_in_store>1</show_in_store>
|
223 |
<can_be_empty>1</can_be_empty>
|
224 |
<comment>This is the List that you will put abandoned shoppers into. Not Required.</comment>
|
225 |
-
<depends><
|
226 |
</abandonedlist>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
227 |
</fields>
|
228 |
</general>
|
229 |
<export translate="label comment">
|
@@ -319,7 +407,7 @@
|
|
319 |
<show_in_website>0</show_in_website>
|
320 |
<show_in_store>0</show_in_store>
|
321 |
<comment>Please setup your API Key to perform an Export</comment>
|
322 |
-
|
323 |
</export_na>
|
324 |
</fields>
|
325 |
</export>
|
26 |
<show_in_website>1</show_in_website>
|
27 |
<show_in_store>1</show_in_store>
|
28 |
<expanded>1</expanded>
|
29 |
+
<fields>
|
30 |
+
<info translate="label">
|
31 |
+
<label>Info</label>
|
32 |
+
<frontend_model>emaildirect/adminhtml_system_config_form_field_info</frontend_model>
|
33 |
+
<sort_order>1</sort_order>
|
34 |
+
<show_in_default>1</show_in_default>
|
35 |
+
<show_in_website>1</show_in_website>
|
36 |
+
<show_in_store>1</show_in_store>
|
37 |
+
</info>
|
38 |
+
<heading_general translate="label">
|
39 |
+
<label>General Configuration</label>
|
40 |
+
<frontend_model>adminhtml/system_config_form_field_heading</frontend_model>
|
41 |
+
<sort_order>5</sort_order>
|
42 |
+
<show_in_default>1</show_in_default>
|
43 |
+
<show_in_website>1</show_in_website>
|
44 |
+
<show_in_store>1</show_in_store>
|
45 |
+
</heading_general>
|
46 |
<active translate="label">
|
47 |
<label>Enabled</label>
|
48 |
<frontend_type>select</frontend_type>
|
51 |
<show_in_default>1</show_in_default>
|
52 |
<show_in_website>1</show_in_website>
|
53 |
<show_in_store>1</show_in_store>
|
|
|
54 |
</active>
|
55 |
<apikey translate="label comment">
|
56 |
<label>API Key</label>
|
69 |
<show_in_default>1</show_in_default>
|
70 |
<show_in_website>1</show_in_website>
|
71 |
<show_in_store>1</show_in_store>
|
72 |
+
<!--<depends><setup>0</setup></depends>-->
|
73 |
</apikey_instructions>
|
74 |
<publication translate="label comment">
|
75 |
<label>Publication</label>
|
81 |
<show_in_store>1</show_in_store>
|
82 |
<can_be_empty>1</can_be_empty>
|
83 |
<comment>This is the Publication that emails will be subscribed to and is required</comment>
|
84 |
+
|
85 |
</publication>
|
86 |
<additional_lists translate="label comment">
|
87 |
<label>Additional Lists</label>
|
93 |
<show_in_store>1</show_in_store>
|
94 |
<can_be_empty>1</can_be_empty>
|
95 |
<comment>Choose one or more Lists to allow your subscribers more options when subscribing. Not required</comment>
|
96 |
+
|
97 |
</additional_lists>
|
98 |
<source translate="label comment">
|
99 |
<label>Source</label>
|
104 |
<show_in_store>1</show_in_store>
|
105 |
<can_be_empty>0</can_be_empty>
|
106 |
<comment><![CDATA[This is the main source used with the Magento General Subscription.<br/> If you leave this field blank <b>Magento</b> is used]]></comment>
|
107 |
+
|
108 |
</source>
|
109 |
<override_source translate="label">
|
110 |
<label>Override Source</label>
|
115 |
<show_in_website>1</show_in_website>
|
116 |
<show_in_store>1</show_in_store>
|
117 |
<comment>If set to "Yes", the source will be updated when an existing customer is updated.</comment>
|
118 |
+
|
119 |
</override_source>
|
120 |
|
121 |
+
<checkout_subscribe translate="label comment">
|
122 |
+
<label>Subscribe On Checkout</label>
|
123 |
+
<frontend_type>select</frontend_type>
|
124 |
+
<source_model>emaildirect/system_config_source_checkoutsubscribe</source_model>
|
125 |
+
<sort_order>60</sort_order>
|
126 |
+
<show_in_default>1</show_in_default>
|
127 |
+
<show_in_website>0</show_in_website>
|
128 |
+
<show_in_store>1</show_in_store>
|
129 |
+
<comment>Show Newsletter Subscribe checkbox in the last Checkout Step (Order Review)</comment>
|
130 |
+
|
131 |
+
</checkout_subscribe>
|
132 |
+
|
133 |
+
<heading_mappings translate="label">
|
134 |
+
<label>Field Mappings</label>
|
135 |
+
<frontend_model>adminhtml/system_config_form_field_heading</frontend_model>
|
136 |
+
<sort_order>69</sort_order>
|
137 |
+
<show_in_default>1</show_in_default>
|
138 |
+
<show_in_website>0</show_in_website>
|
139 |
+
<show_in_store>1</show_in_store>
|
140 |
+
</heading_mappings>
|
141 |
+
|
142 |
<address_fields translate="label comment">
|
143 |
<label>Address Fields Mapping</label>
|
144 |
<frontend_model>emaildirect/adminhtml_system_config_form_field_addressmapfields</frontend_model>
|
147 |
<show_in_default>1</show_in_default>
|
148 |
<show_in_website>0</show_in_website>
|
149 |
<show_in_store>1</show_in_store>
|
150 |
+
|
151 |
</address_fields>
|
152 |
<map_fields translate="label comment">
|
153 |
<label>Customer Fields Mapping</label>
|
157 |
<show_in_default>1</show_in_default>
|
158 |
<show_in_website>0</show_in_website>
|
159 |
<show_in_store>1</show_in_store>
|
160 |
+
|
161 |
</map_fields>
|
162 |
<shipping_fields translate="label comment">
|
163 |
<label>Shipping Fields Mapping</label>
|
167 |
<show_in_default>1</show_in_default>
|
168 |
<show_in_website>0</show_in_website>
|
169 |
<show_in_store>1</show_in_store>
|
170 |
+
|
171 |
</shipping_fields>
|
172 |
+
|
173 |
+
<heading_orders translate="label">
|
174 |
+
<label>Orders</label>
|
175 |
+
<frontend_model>adminhtml/system_config_form_field_heading</frontend_model>
|
176 |
+
<sort_order>84</sort_order>
|
177 |
+
<show_in_default>1</show_in_default>
|
178 |
+
<show_in_website>1</show_in_website>
|
179 |
+
<show_in_store>1</show_in_store>
|
180 |
+
</heading_orders>
|
|
|
|
|
181 |
<sendorder translate="label">
|
182 |
<label>Send orders to EmailDirect</label>
|
183 |
<frontend_type>select</frontend_type>
|
187 |
<show_in_website>1</show_in_website>
|
188 |
<show_in_store>1</show_in_store>
|
189 |
<comment>Sends all completed orders to EmailDirect Purchase Behavior for detailed reporting, filtering and targeting</comment>
|
|
|
190 |
</sendorder>
|
191 |
<send_states translate="label comment">
|
192 |
<label>Send order on which state(s)</label>
|
196 |
<show_in_default>1</show_in_default>
|
197 |
<show_in_website>0</show_in_website>
|
198 |
<show_in_store>1</show_in_store>
|
199 |
+
|
200 |
<comment>Choose one or more States to determine when an order will be sent to EmailDirect. Orders will only be sent the first time one of these states are encountered.</comment>
|
201 |
+
<depends><sendorder>1</sendorder></depends>
|
202 |
+
<!--<validate>required-entry</validate>-->
|
203 |
</send_states>
|
204 |
<save_latest_order translate="label">
|
205 |
<label>Save Latest Order Information</label>
|
210 |
<show_in_website>1</show_in_website>
|
211 |
<show_in_store>1</show_in_store>
|
212 |
<comment>Save information from the latest order along with the first 3 products from that order</comment>
|
213 |
+
<depends><sendorder>1</sendorder></depends>
|
214 |
</save_latest_order>
|
215 |
+
|
216 |
+
<heading_abandoned translate="label">
|
217 |
+
<label>Abandoned Carts</label>
|
218 |
+
<frontend_model>adminhtml/system_config_form_field_heading</frontend_model>
|
219 |
+
<sort_order>89</sort_order>
|
220 |
+
<show_in_default>1</show_in_default>
|
221 |
+
<show_in_website>1</show_in_website>
|
222 |
+
<show_in_store>1</show_in_store>
|
223 |
+
</heading_abandoned>
|
224 |
+
|
225 |
<sendabandoned translate="label">
|
226 |
<label>Add Abandoned Carts To EmailDirect</label>
|
227 |
<frontend_type>select</frontend_type>
|
231 |
<show_in_website>1</show_in_website>
|
232 |
<show_in_store>1</show_in_store>
|
233 |
<comment>This will add any abandoned shopping carts to the EmailDirect database with AbandonedDate and AbandonedURL database fields. These fields can be used with Workflows to time your own Abandoned Shopping Cart emails or send a series of emails. This allows for complete customization of the email.</comment>
|
234 |
+
|
235 |
</sendabandoned>
|
236 |
<abandonedtime translate="label comment">
|
237 |
<label>Abandoned Time</label>
|
242 |
<show_in_website>1</show_in_website>
|
243 |
<show_in_store>1</show_in_store>
|
244 |
<comment>How long before a cart is considered abandoned?</comment>
|
245 |
+
<depends><sendabandoned>1</sendabandoned></depends>
|
246 |
</abandonedtime>
|
247 |
<abandonedpublication translate="label comment">
|
248 |
<label>Abandoned Publication</label>
|
254 |
<show_in_store>1</show_in_store>
|
255 |
<can_be_empty>1</can_be_empty>
|
256 |
<comment>This is the Publication that you will put abandoned shoppers into</comment>
|
257 |
+
<depends><sendabandoned>1</sendabandoned></depends>
|
258 |
</abandonedpublication>
|
259 |
<abandonedlist translate="label comment">
|
260 |
<label>Abandoned List</label>
|
266 |
<show_in_store>1</show_in_store>
|
267 |
<can_be_empty>1</can_be_empty>
|
268 |
<comment>This is the List that you will put abandoned shoppers into. Not Required.</comment>
|
269 |
+
<depends><sendabandoned>1</sendabandoned></depends>
|
270 |
</abandonedlist>
|
271 |
+
<!-- SEQUENCES -->
|
272 |
+
<heading_sequence translate="label">
|
273 |
+
<label>Abandoned Cart Sequences</label>
|
274 |
+
<frontend_model>adminhtml/system_config_form_field_heading</frontend_model>
|
275 |
+
<sort_order>149</sort_order>
|
276 |
+
<show_in_default>1</show_in_default>
|
277 |
+
<show_in_website>1</show_in_website>
|
278 |
+
<show_in_store>1</show_in_store>
|
279 |
+
<depends><sendabandoned>1</sendabandoned></depends>
|
280 |
+
</heading_sequence>
|
281 |
+
<abandonedsequence_enabled>
|
282 |
+
<label>Add a sequence value to each abandoned cart?</label>
|
283 |
+
<frontend_type>select</frontend_type>
|
284 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
285 |
+
<sort_order>150</sort_order>
|
286 |
+
<show_in_default>1</show_in_default>
|
287 |
+
<show_in_website>1</show_in_website>
|
288 |
+
<show_in_store>1</show_in_store>
|
289 |
+
<comment>This will allow you to assign a sequence of values to your subscribers, one for each abandoned cart.</comment>
|
290 |
+
<depends><sendabandoned>1</sendabandoned></depends>
|
291 |
+
</abandonedsequence_enabled>
|
292 |
+
<abandonedsequence_field translate="label comment">
|
293 |
+
<label>Sequence Database Field</label>
|
294 |
+
<frontend_type>select</frontend_type>
|
295 |
+
<source_model>emaildirect/system_config_source_sequence</source_model>
|
296 |
+
<sort_order>160</sort_order>
|
297 |
+
<show_in_default>1</show_in_default>
|
298 |
+
<show_in_website>1</show_in_website>
|
299 |
+
<show_in_store>1</show_in_store>
|
300 |
+
<can_be_empty>1</can_be_empty>
|
301 |
+
<comment>This is the database field in EmailDirect that the sequence will be stored in.</comment>
|
302 |
+
<depends><sendabandoned>1</sendabandoned><abandonedsequence_enabled>1</abandonedsequence_enabled></depends>
|
303 |
+
</abandonedsequence_field>
|
304 |
+
<abandonedsequence_options translate="label comment">
|
305 |
+
<label>Sequence Options</label>
|
306 |
+
<frontend_type>textarea</frontend_type>
|
307 |
+
<sort_order>170</sort_order>
|
308 |
+
<show_in_default>1</show_in_default>
|
309 |
+
<show_in_website>1</show_in_website>
|
310 |
+
<show_in_store>1</show_in_store>
|
311 |
+
<can_be_empty>1</can_be_empty>
|
312 |
+
<comment>Enter one sequence per line to be appended.</comment>
|
313 |
+
<depends><sendabandoned>1</sendabandoned><abandonedsequence_enabled>1</abandonedsequence_enabled></depends>
|
314 |
+
</abandonedsequence_options>
|
315 |
</fields>
|
316 |
</general>
|
317 |
<export translate="label comment">
|
407 |
<show_in_website>0</show_in_website>
|
408 |
<show_in_store>0</show_in_store>
|
409 |
<comment>Please setup your API Key to perform an Export</comment>
|
410 |
+
<!--<depends><setup>0</setup></depends>-->
|
411 |
</export_na>
|
412 |
</fields>
|
413 |
</export>
|
app/design/adminhtml/default/default/layout/emaildirect.xml
CHANGED
@@ -5,6 +5,12 @@
|
|
5 |
<action method="addCss"><stylesheet>emaildirect/emaildirect.css</stylesheet></action>
|
6 |
</reference>
|
7 |
</adminhtml_system_config_edit>
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
|
9 |
<emaildirect_admin_export_products>
|
10 |
<remove name="root"/>
|
5 |
<action method="addCss"><stylesheet>emaildirect/emaildirect.css</stylesheet></action>
|
6 |
</reference>
|
7 |
</adminhtml_system_config_edit>
|
8 |
+
|
9 |
+
<adminhtml_system_config_edit>
|
10 |
+
<reference name="content">
|
11 |
+
<block type="core/template" name="emaildirect_setup_check" before="-" template="emaildirect/system/config/setup_check.phtml" />
|
12 |
+
</reference>
|
13 |
+
</adminhtml_system_config_edit>
|
14 |
|
15 |
<emaildirect_admin_export_products>
|
16 |
<remove name="root"/>
|
app/design/adminhtml/default/default/template/emaildirect/abandoned/grid.phtml
DELETED
File without changes
|
app/design/adminhtml/default/default/template/emaildirect/system/config/fieldset/hint.phtml
CHANGED
@@ -4,4 +4,32 @@
|
|
4 |
<?php if ($this->getAbandonedEnabled()) : ?><span class='ab_ok'>Enabled</span> - Last Run: <?php echo $this->getAbandonedLastRunHtml() ?> - <button onclick="window.location='<?php echo $this->getUrl('emaildirect/admin_abandoned/index'); ?>'; return false;" id="emaildirect_details">Details</button><?php else: ?><span class='ab_ng'>Disabled</span><?php endif; ?></div>
|
5 |
<strong>EmailDirect Integration v<?php echo $this->getEmaildirectVersion() ?></strong>
|
6 |
</h4>
|
7 |
-
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
<?php if ($this->getAbandonedEnabled()) : ?><span class='ab_ok'>Enabled</span> - Last Run: <?php echo $this->getAbandonedLastRunHtml() ?> - <button onclick="window.location='<?php echo $this->getUrl('emaildirect/admin_abandoned/index'); ?>'; return false;" id="emaildirect_details">Details</button><?php else: ?><span class='ab_ng'>Disabled</span><?php endif; ?></div>
|
5 |
<strong>EmailDirect Integration v<?php echo $this->getEmaildirectVersion() ?></strong>
|
6 |
</h4>
|
7 |
+
</div>
|
8 |
+
<script type='text/javascript'>
|
9 |
+
var setup = <?php echo Mage::helper('emaildirect')->config('setup') == 1 ? 'true' : 'false'; ?>;
|
10 |
+
|
11 |
+
document.observe('dom:loaded', function()
|
12 |
+
{
|
13 |
+
if (setup)
|
14 |
+
$('row_emaildirect_general_apikey_instructions').hide();
|
15 |
+
else
|
16 |
+
{
|
17 |
+
$$('#emaildirect_general table.form-list tbody tr').each(function(item)
|
18 |
+
{
|
19 |
+
var id = item.readAttribute('id');
|
20 |
+
var id_parts = id.split('_');
|
21 |
+
|
22 |
+
if (id_parts[0] == 'row')
|
23 |
+
{
|
24 |
+
var name = id_parts.slice(3).join('_');
|
25 |
+
switch (name)
|
26 |
+
{
|
27 |
+
case 'apikey':
|
28 |
+
case 'apikey_instructions': break;
|
29 |
+
default: $(id).remove(); break;
|
30 |
+
}
|
31 |
+
}
|
32 |
+
});
|
33 |
+
}
|
34 |
+
});
|
35 |
+
</script>
|
app/design/adminhtml/default/default/template/emaildirect/system/config/form/field/info.phtml
ADDED
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<a href='http://www.emaildirect.com' target='_blank'><img src='<?php echo $this->getSkinUrl('emaildirect/logo.png') ?>' style='width:225px; margin-bottom: 10px;'></a>
|
2 |
+
<p>Customer Data and Purchase Behavior Sync by <a href='http://www.emaildirect.com' target='_blank'>www.emaildirect.com</a></p>
|
3 |
+
<p>Copyright ©<?php echo date("Y") ?></p>
|
4 |
+
<br />
|
5 |
+
<p>Download our <a href='http://emaildirect.com/downloads/papers/magentoSetupGuide.pdf'>Magento Setup Guide</a> for detailed information on each feature.</p>
|
6 |
+
<p>Please contact support (<a href='mailto:support@emaildirect.com'>support@emaildirect.com</a>) with any questions that you have.</p>
|
7 |
+
<br />
|
8 |
+
<hr />
|
app/design/adminhtml/default/default/template/emaildirect/system/config/setup_check.phtml
ADDED
@@ -0,0 +1,29 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php /* Check if the user has logged out before trying EmailDirect for the first time */ ?>
|
2 |
+
|
3 |
+
<?php if ($this->getRequest()->getParam('section') == 'emaildirect'):
|
4 |
+
$session = Mage::getSingleton('admin/session');
|
5 |
+
try
|
6 |
+
{
|
7 |
+
$acl_valid = $session->isAllowed(
|
8 |
+
$session->getData('acl')->get("admin/system/config/emaildirect")->getResourceId()
|
9 |
+
);
|
10 |
+
}
|
11 |
+
catch (Exception $e)
|
12 |
+
{
|
13 |
+
$acl_valid = false;
|
14 |
+
}
|
15 |
+
|
16 |
+
if (!$acl_valid): ?>
|
17 |
+
<div id="messages">
|
18 |
+
<ul class="messages">
|
19 |
+
<li class="warning-msg">
|
20 |
+
<ul>
|
21 |
+
<li>
|
22 |
+
<span><?php echo $this->__("To finish installing EmailDirect, log out of Magento and log back in.") ?></span>
|
23 |
+
</li>
|
24 |
+
</ul>
|
25 |
+
</li>
|
26 |
+
</ul>
|
27 |
+
</div>
|
28 |
+
<?php endif;
|
29 |
+
endif; ?>
|
package.xml
CHANGED
@@ -1,19 +1,18 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>EmailDirect_Integration</name>
|
4 |
-
<version>1.5.
|
5 |
<stability>stable</stability>
|
6 |
<license/>
|
7 |
<channel>community</channel>
|
8 |
<extends/>
|
9 |
<summary>EmailDirect integration for magento</summary>
|
10 |
<description>EmailDirect integration for magento</description>
|
11 |
-
<notes>
|
12 |
-
Export fixes for older Enterprise versions.</notes>
|
13 |
<authors><author><name>Kevin Linden</name><user>auto-converted</user><email>Kevin@EmailDirect.com</email></author></authors>
|
14 |
-
<date>2013-10-
|
15 |
-
<time>
|
16 |
-
<contents><target name="magelocal"><dir name="EmailDirect"><dir name="Integration"><dir name="Block"><dir name="Adminhtml"><dir name="Abandoned"><file name="Grid.php" hash="
|
17 |
<compatible/>
|
18 |
<dependencies/>
|
19 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>EmailDirect_Integration</name>
|
4 |
+
<version>1.5.7</version>
|
5 |
<stability>stable</stability>
|
6 |
<license/>
|
7 |
<channel>community</channel>
|
8 |
<extends/>
|
9 |
<summary>EmailDirect integration for magento</summary>
|
10 |
<description>EmailDirect integration for magento</description>
|
11 |
+
<notes>Stores can now set an ordered sequence to be appended to subscribers that abandoned a shopping cart. Sequencing feature lets clients easily split test abandoned cart workflows.</notes>
|
|
|
12 |
<authors><author><name>Kevin Linden</name><user>auto-converted</user><email>Kevin@EmailDirect.com</email></author></authors>
|
13 |
+
<date>2013-10-31</date>
|
14 |
+
<time>22:12:00</time>
|
15 |
+
<contents><target name="magelocal"><dir name="EmailDirect"><dir name="Integration"><dir name="Block"><dir name="Adminhtml"><dir name="Abandoned"><file name="Grid.php" hash="5534349906e67bfd67547ccd3753f184"/></dir><dir name="System"><dir name="Config"><dir name="Fieldset"><file name="Hint.php" hash="7649b64cf2319484207c5179df7b4e9f"/></dir><dir name="Form"><dir name="Field"><dir name="Export"><file name="Orders.php" hash="ddcfc1c3c579421bc5c8af9173d1cbf2"/><file name="Products.php" hash="0c6a9936ccc806b9e3ddf573d1df1e53"/><file name="Range.php" hash="b29f2227412e1f4fe9ba4c2e6e3b615d"/></dir><file name="Addressmapfields.php" hash="97b75c8340d561e863a3985ad73ce228"/><file name="Common.php" hash="e597ff375c4b46b92d6aa35646e3d8c9"/><file name="Info.php" hash="3ad219fe9bee9cebf50415b2166fee60"/><file name="Mapfields.php" hash="677ebfd526fba11a1c177c00ae085526"/><file name="Note.php" hash="ef99a474bbc3a828c7a618132a80fe66"/><file name="Shippingmapfields.php" hash="589a74260f394a5eae1b57ca89a74a8b"/><file name="Troubleshooting.php" hash="76bdb02601cda65dae32782ae11c0901"/></dir></dir><file name="Account.php" hash="60fa8e43a87e1f2ff71c319c979556b2"/></dir><dir name="Convert"><dir name="Profile"><dir name="Export"><file name="Orders.php" hash="eb9be61e0accdfaf3a2f315eb5eaae5b"/><file name="Products.php" hash="a58d1d192ef82fd6ce032db7455b11b8"/></dir><file name="Export.php" hash="0ac2fa1fefcd4c4a238417175350ad6c"/></dir></dir></dir><dir name="Troubleshooting"><dir name="View"><dir name="Tab"><file name="Download.php" hash="9315a364a46f9e39972bbd0a47152e90"/><file name="Info.php" hash="6714b756a3fa7a5812356e544fe48f1b"/><file name="Log.php" hash="7c3661722d1197cd8a564f76275353c7"/><file name="Submit.php" hash="8831d886858fde08a4323eea66ec76d2"/></dir><file name="Form.php" hash="e527a3a2335b109c48a69f06c1b0d01f"/></dir><file name="Tabs.php" hash="ab1fdbe561e8572c2c50cdbec9573f82"/><file name="View.php" hash="b85696126e6874b0f5a19d0af6183add"/></dir><file name="Abandoned.php" hash="f3be80231c0ed811acd1d63d269394c5"/></dir><dir name="Checkout"><file name="Subscribe.php" hash="ae325e815a54bde93507562cf0d86b8a"/></dir><dir name="Customer"><dir name="Account"><dir name="Dashboard"><file name="Info.php" hash="20e74d9c2b2c02611c8f69b254d81ef5"/></dir><file name="Lists.php" hash="3c3bdb9482ecf4a71740a80395bd5465"/></dir></dir><dir name="Widget"><dir name="Grid"><dir name="Column"><dir name="Renderer"><file name="AbandonedMinutes.php" hash="22e33be85dc8348fce9b49637ead919d"/><file name="Action.php" hash="b85ef0454ab5c65ef0c43c7ef057ecc2"/></dir></dir></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="0e49db53e2b03f3ade49ca6ee1a5b00d"/><file name="Fields.php" hash="1275a766d979e1ac3efabbf168ac92f5"/></dir><dir name="Model"><dir name="System"><dir name="Config"><dir name="Source"><dir name="Export"><file name="Batch.php" hash="96c51fc5c0b947750be4e612e32c83ab"/></dir><file name="Abandonedlist.php" hash="66386003113d8589c9f3de4f03f538a8"/><file name="Additionallist.php" hash="254081820d07a8754a71743ea58a7af4"/><file name="Checkoutsubscribe.php" hash="fd90252a1f19649a420dae136ad2a2ba"/><file name="List.php" hash="d76e36c0198e509a63c663e827cc7940"/><file name="Publication.php" hash="635fae1c20981c0ca7b90007a00e99a7"/><file name="Sequence.php" hash="ec9718c2b5dc35c559e5c09e345eff88"/><file name="Source.php" hash="f3c246959c74f6d378f3e2d7b8148d7f"/><file name="States.php" hash="82682b97d671eb616649dfc52e202100"/><file name="Time.php" hash="8acbb5cb33e66de1e408cf55d17a9398"/></dir></dir></dir><dir name="Wrapper"><file name="Abandoned.php" hash="ef81d36a7276737f2d0aa1a5d783a83b"/><file name="Abstract.php" hash="9e97ce6a12e0d074921bb3a1391f3648"/><file name="Database.php" hash="3cceb467358d13584baff58c043762ec"/><file name="Execute.php" hash="5a339e0a5407cf05b161102fc65595bb"/><file name="Ftp.php" hash="d5335cfb68f99761d6902dd390a3d7a8"/><file name="Lists.php" hash="dff74c445f6a9582b35bb24560582c2b"/><file name="Orders.php" hash="81dbf1045688e932fa6175784c2bf0cb"/><file name="Publications.php" hash="815715549df345ccb5b69ed65589aa53"/><file name="Sources.php" hash="c6caf0274f7d0c50114324bc47a490c4"/><file name="Subscribers.php" hash="064e07d8f2015cf56f7e82844f5df54c"/></dir><file name="Observer.php" hash="e5f6dce6e11da0bf3e5a3d95e8915944"/></dir><dir name="controllers"><dir name="Admin"><file name="AbandonedController.php" hash="d7cb59c88fcf80737be0ccdad7f4b7d7"/><file name="ExportController.php" hash="f9ceaa6b2fd25c5c283b01dbf182c27e"/><file name="OrderExportController.php" hash="d41d8cd98f00b204e9800998ecf8427e"/><file name="TroubleshootingController.php" hash="c3dbc4bd72620dcd0b5844c3ee735f4e"/></dir><dir name="Customer"><file name="AccountController.php" hash="16bfdb6de4804a5d71cb972afbff4537"/></dir><file name="AbandonedController.php" hash="138accdf0fb53ae11ca1c10f522845f2"/><file name="ExportController.php" hash="7ca147debc5c1436b3bf2d9501592f33"/></dir><dir name="etc"><file name="adminhtml.xml" hash="896c10d8a3f932346e7d301052b1b6a6"/><file name="config.xml" hash="8898d3b083644e7a744d93f576110fa3"/><file name="system.xml" hash="be553328cfdffa5bea0a5d3c5516f4a8"/></dir><dir name="sql"><dir name="emaildirect_setup"><file name="mysql4-install-1.0.0.php" hash="9dc51edb346e9676735e15d3e78fa3eb"/><file name="mysql4-upgrade-1.0.13-1.0.14.php" hash="c42e2677b3960a049d7137b622552084"/><file name="mysql4-upgrade-1.0.19-1.2.0.php" hash="742be042b7f56e7ff2002b0606270ca6"/><file name="mysql4-upgrade-1.5.4-1.5.5.php" hash="560244d63a037f88201a61d7f7482d2c"/></dir></dir></dir></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="emaildirect"><file name="emaildirect-tab.png" hash="9ddb077b74a7078ac509d79b024631a1"/><file name="emaildirect.css" hash="3b4f1d8a88557b56507b448856e9f3ed"/><file name="emaildirect.js" hash="ce03dd6f51ea529fc4acdc5116f4e030"/><file name="logo.png" hash="2e7e39ced387c798ef27b77dd69f073e"/></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="emaildirect"><dir name="images"><file name="bkg_block-title.gif" hash="f8c1f130ad69464fe7aff2f589b2ec75"/><file name="dotted_divider.gif" hash="260ebae91ffb1b7c663906b29a069925"/><file name="emaildirect-tile.png" hash="86a0ed36169ab9691480fc995ab674a8"/><file name="i_block-subscribe.gif" hash="9e5fee06a543742045118a95f2debcb8"/></dir><file name="integration.js" hash="d8c8d5bf0ddb4f6ead23bec8a2814475"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="emaildirect.xml" hash="a006ce5af147910be8b108e8f7ec9d19"/></dir><dir name="template"><dir name="emaildirect"><dir name="system"><dir name="config"><dir name="fieldset"><file name="hint.phtml" hash="681b2e7b19718fb6fd23876e70f5abac"/></dir><dir name="form"><dir name="field"><dir name="export"><file name="date_range.phtml" hash="0061fbfbfdba23ce3c4d98e66184c3a2"/><file name="orders.phtml" hash="e8006492a9048c117f2a0a95ed3bf717"/><file name="products.phtml" hash="99b88859146f490f87690cd44cabc999"/></dir><file name="array.phtml" hash="5415eeff311735624354468c886d39b5"/><file name="info.phtml" hash="a11383dd825b695f2fcba0b86f88f94f"/><file name="note.phtml" hash="6625a3771ba10daba5ded5570574716f"/><file name="trouble.phtml" hash="824ff5238a169b1a9ef288118b4bf96d"/></dir></dir><file name="setup_check.phtml" hash="fb3e7b0e2690cff72f742df6d01bd15d"/></dir><dir name="convert"><dir name="profile"><file name="export.phtml" hash="9be5cdbc2e46b9fa65950b5d6558dca5"/></dir></dir></dir><dir name="troubleshooting"><dir name="view"><dir name="tab"><file name="download.phtml" hash="78ec34fd9c3c8b660b19f9e799d8e76e"/><file name="info.phtml" hash="bd19bb1072ce1d60a4fb7bda660a0ce7"/><file name="log.phtml" hash="c9e2c9493a2dad579bba4ed53795cf5e"/><file name="submit.phtml" hash="c2269f4a6a52d66bff5eac660d0831bd"/></dir><file name="form.phtml" hash="d2338bfe3598e9315ca8f5ac8d9b5516"/></dir><file name="view.phtml" hash="ee6af3fe79d916af764f41e7e8c5cc37"/></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="emaildirect.xml" hash="9803fe9024b7eb6415713d81fe27c629"/></dir><dir name="template"><dir name="emaildirect"><dir name="checkout"><file name="subscribe.phtml" hash="351ea790305f0a3ec99c34180bbee235"/></dir><dir name="customer"><dir name="account"><dir name="dashboard"><file name="info.phtml" hash="4256a03d67ec2a6f97867a87564cff92"/></dir><file name="lists.phtml" hash="4c697dcfa63ece1db7885cadb02982d1"/></dir></dir><dir name="email"><dir name="order"><dir name="items"><dir name="order"><file name="default.phtml" hash="2d65f3d02b9baa08969d68f2a2cca348"/></dir></dir><file name="items.phtml" hash="e6b15e6460010c5acae66017d177bfb9"/></dir></dir></dir></dir></dir></dir></dir></target><target name="magelocale"><dir name="en_US"><dir name="template"><dir name="email"><file name="newsletter_subscr_success_emaildirect.html" hash="f6afb69d207bbc3f8920e7a72ac9dd07"/><file name="newsletter_unsub_success_emaildirect.html" hash="bd9f97e8f5485180d4420097b5200ef4"/></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="EmailDirect_Integration.xml" hash="2d2666e6d9cd8d40a4974d5e242721d6"/></dir></target></contents>
|
16 |
<compatible/>
|
17 |
<dependencies/>
|
18 |
</package>
|
skin/adminhtml/default/default/emaildirect/emaildirect-connected-ebizmarts-title.png
DELETED
Binary file
|
skin/adminhtml/default/default/emaildirect/emaildirect-section-background.png
DELETED
Binary file
|
skin/adminhtml/default/default/emaildirect/emaildirect.css
CHANGED
@@ -9,10 +9,6 @@ ul.tabs a.emaildirect-section.active, ul.tabs a.emaildirect-section.active:hover
|
|
9 |
|
10 |
h3.emaildirect-header { background:url(emaildirect-tab.png) no-repeat 0 0; height: 24px; overflow:hidden; padding:0; width:120px; text-indent:-9999px; }
|
11 |
|
12 |
-
/*h3.mailchimp-header { background:url(emaildirect-connected-ebizmarts-title.png) no-repeat 0 0; height: 64px; overflow:hidden; padding:0; width:200px; text-indent:-9999px; }*/
|
13 |
-
|
14 |
-
fieldset#emaildirect_general {background:url(emaildirect-section-background.png) no-repeat right top; }
|
15 |
-
|
16 |
div.emaildirect-notice{
|
17 |
background:#EAF0EE;
|
18 |
border:1px solid #CCCCCC;
|
9 |
|
10 |
h3.emaildirect-header { background:url(emaildirect-tab.png) no-repeat 0 0; height: 24px; overflow:hidden; padding:0; width:120px; text-indent:-9999px; }
|
11 |
|
|
|
|
|
|
|
|
|
12 |
div.emaildirect-notice{
|
13 |
background:#EAF0EE;
|
14 |
border:1px solid #CCCCCC;
|
skin/adminhtml/default/default/emaildirect/logo.png
ADDED
Binary file
|