EmailDirect_Integration - Version 1.5.7

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

Files changed (28) hide show
  1. app/code/local/EmailDirect/Integration/Block/Adminhtml/Abandoned.php +2 -3
  2. app/code/local/EmailDirect/Integration/Block/Adminhtml/Abandoned/Grid.php +3 -4
  3. app/code/local/EmailDirect/Integration/Block/Adminhtml/System/Config/Form/Field/Info.php +28 -0
  4. app/code/local/EmailDirect/Integration/Block/Adminhtml/System/Config/Form/Field/Troubleshooting.php +1 -9
  5. app/code/local/EmailDirect/Integration/Helper/Data.php +157 -132
  6. app/code/local/EmailDirect/Integration/Model/Observer.php +49 -7
  7. app/code/local/EmailDirect/Integration/Model/System/Config/Source/Abandoned.php +0 -31
  8. app/code/local/EmailDirect/Integration/Model/System/Config/Source/Abandonedlist.php +4 -2
  9. app/code/local/EmailDirect/Integration/Model/System/Config/Source/Additionallist.php +6 -3
  10. app/code/local/EmailDirect/Integration/Model/System/Config/Source/List.php +5 -3
  11. app/code/local/EmailDirect/Integration/Model/System/Config/Source/Publication.php +5 -3
  12. app/code/local/EmailDirect/Integration/Model/System/Config/Source/Sequence.php +22 -0
  13. app/code/local/EmailDirect/Integration/Model/System/Config/Source/Source.php +5 -3
  14. app/code/local/EmailDirect/Integration/Model/System/Config/Source/Time.php +1 -2
  15. app/code/local/EmailDirect/Integration/Model/Wrapper/Execute.php +1 -2
  16. app/code/local/EmailDirect/Integration/controllers/Admin/AbandonedController.php +3 -3
  17. app/code/local/EmailDirect/Integration/etc/config.xml +264 -261
  18. app/code/local/EmailDirect/Integration/etc/system.xml +118 -30
  19. app/design/adminhtml/default/default/layout/emaildirect.xml +6 -0
  20. app/design/adminhtml/default/default/template/emaildirect/abandoned/grid.phtml +0 -0
  21. app/design/adminhtml/default/default/template/emaildirect/system/config/fieldset/hint.phtml +29 -1
  22. app/design/adminhtml/default/default/template/emaildirect/system/config/form/field/info.phtml +8 -0
  23. app/design/adminhtml/default/default/template/emaildirect/system/config/setup_check.phtml +29 -0
  24. package.xml +5 -6
  25. skin/adminhtml/default/default/emaildirect/emaildirect-connected-ebizmarts-title.png +0 -0
  26. skin/adminhtml/default/default/emaildirect/emaildirect-section-background.png +0 -0
  27. skin/adminhtml/default/default/emaildirect/emaildirect.css +0 -4
  28. 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
- $this->_blockGroup = 'emaildirect';
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}{$logging_state}";
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 isLoggingActive($store = null)
41
  {
42
- if (is_null($store))
43
- $store = $this->getCurrentStore();
44
 
45
- return Mage::getStoreConfig('dev/log/active', $store) == 1;
46
  }
47
 
48
- public function getAdminStore()
49
  {
50
- $code = Mage::app()->getRequest()->getParam('store');
51
 
52
- return $this->getStoreId($code);
 
 
 
 
 
 
 
 
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
- ->addAttributeToFilter('created_at', array('from' => $from_date, 'to' => $to_date));
63
 
64
  $states = Mage::helper('emaildirect')->config('send_states');
65
  $state_list = explode(",",$states);
66
- $orders->addAttributeToFilter('status', array('in' => $state_list));
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
- $columns = Mage::getSingleton('emaildirect/wrapper_database')->getAllColumns();
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
- $options = array();
207
-
208
  if (!isset($columns))
209
  return $options;
210
 
211
- foreach ($columns as $column)
212
- {
213
- if ($column->IsCustom == 'true' && !in_array((string)$column->ColumnName,$invalid_columns))
214
- {
215
- $key = (string)$column->ColumnName;
216
-
217
- $options[$key] = $key;
218
- }
219
- }
220
-
221
- return $options;
222
  }
223
 
224
  public function getShippingColumnOptions()
225
  {
226
- $options = array(
227
- 'shipping_code' => 'Shipping Code',
228
- 'shipping_description' => 'Shipping Description',
229
- 'carrier_code' => 'Tracking Carrier Code',
230
- 'title' => 'Tracking Title',
231
- 'number' => 'Tracking Number');
232
-
233
- return $options;
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
- $maps = unserialize( $this->config('map_fields', $customer->getStoreId()) );
245
-
246
  if($maps)
247
  {
248
- $this->processMap($merge_vars, $maps, $customer);
249
- }
250
-
251
- $address_maps = unserialize( $this->config('address_fields', $customer->getStoreId()) );
252
-
253
- // Process address
254
- if ($address_maps)
255
- {
256
- $address = $customer->getBillingAddress();
257
- if ($address)
258
- {
259
- $this->processMap($merge_vars, $address_maps, $address);
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
- ->setOrderFilter($order)
270
- ->load();
271
  foreach($shipmentCollection as $_shipment)
272
  {
273
  foreach($_shipment->getAllTracks() as $tracknum)
274
  {
275
- return $tracknum->getData();
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
- $maps = unserialize( $this->config('shipping_fields', $order->getStoreId()) );
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
- $this->processMap($merge_vars, $maps, $shipping_data);
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
- $maps = unserialize( $this->config('shipping_fields', $order->getStoreId()) );
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
- $this->processMap($merge_vars, $maps, $track);
340
 
341
  return $merge_vars;
342
  }
343
 
344
  private function processMap(&$merge_vars,$maps, $data)
345
  {
346
- $request = Mage::app()->getRequest();
347
-
348
- foreach($maps as $map)
349
- {
350
- $customAtt = $map['magento'];
351
- $emaildirectTag = $key = $map['emaildirect'];
352
-
353
- if($emaildirectTag && $customAtt)
354
- {
355
- switch ($customAtt)
356
- {
357
- case 'state_code':
358
- {
359
- $region_id = $data->getData('region_id');
360
-
361
- $region = Mage::getModel('directory/region')->load($region_id);
362
-
363
- if (!$region)
364
- continue;
365
-
366
- $state_code = $region->getCode();
367
 
368
  if ($state_code != "")
369
- $merge_vars[$key] = $state_code;
370
- }
371
- break;
372
- case 'date_of_purchase':
373
- $last_order = Mage::getResourceModel('sales/order_collection')
374
- ->addFieldToFilter('customer_id', $data->getId())
375
- ->addFieldToFilter('state', array('in' => Mage::getSingleton('sales/order_config')->getVisibleOnFrontStates()))
376
- ->setOrder('created_at', 'desc')
377
- ->getFirstItem();
378
-
379
- if ( $last_order->getId() )
380
- {
381
- $merge_vars[$key] = Mage::helper('core')->formatDate($last_order->getCreatedAt());
382
- }
383
-
384
- break;
385
- default:
386
-
387
- if( ($value = (string)$data->getData(strtolower($customAtt)))
388
- OR ($value = (string)$request->getPost(strtolower($customAtt))) )
389
- {
390
- $merge_vars[$key] = $value;
391
- }
392
-
393
- break;
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
- if (!$sendit || !$setup || !$active)
494
- return false;
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
- $abandoned_setup = $this->config('abandonedsetup');
528
-
529
- if (!$sendit || !$setup || !$active || !$abandoned_setup)
530
- return false;
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
- <tr class='headings'>
558
- <th>Setting</th>
559
- <th>Value</th>
560
- </tr>
561
- </thead>";
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
- <thead>
604
- <tr class='headings'>
605
- <th>Magento</th>
606
- <th>EmailDirect</th>
607
- </tr>
608
- </thead>";
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
- $data[$key] = $this->getArrayData($test_data);
661
  else
662
- $data[$key] = $value;;
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 ($area == self::IGNORE)
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::IGNORE);
 
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
- Mage::getConfig()->saveConfig(self::ABANDONED_LAST_RUN, $date,"default","default");
 
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::IGNORE);
 
 
 
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::IGNORE);
8
- $options = array();
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::IGNORE);
 
 
 
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::IGNORE);
 
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::IGNORE);
 
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
- Mage::helper('emaildirect')->setLogArea(EmailDirect_Integration_Helper_Data::IGNORE);
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
- if ($command != 'Database')
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
- <modules>
4
- <EmailDirect_Integration>
5
- <version>1.5.6</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,93 +147,93 @@
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,49 +245,52 @@
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
- </general>
265
- <export>
266
- <include_disabled>1</include_disabled>
267
- <include_already_sent>0</include_already_sent>
268
- <batch>100</batch>
269
- <setup>0</setup>
270
- </export>
271
- <troubleshooting>
272
- <enabled>0</enabled>
273
- <email>Kevinl@EmailDirect.com</email>
274
- <subject>EmailDirect Magento Module Troubleshooting Report</subject>
275
- <report_file>troubleshootingreport.html</report_file>
276
- <max_file_size>1048576</max_file_size>
277
- </troubleshooting>
278
- </emaildirect>
279
- </default>
280
- <crontab>
281
- <jobs>
282
- <emaildirect_integration>
283
- <schedule>
284
- <cron_expr>0 */1 * * *</cron_expr>
285
- <!--<cron_expr>*/5 * * * *</cron_expr>--><!-- every 5 minutes for testing -->
286
- </schedule>
287
- <run>
288
- <model>emaildirect/observer::abandonedCartsProcessor</model>
289
- </run>
290
- </emaildirect_integration>
291
- </jobs>
292
- </crontab>
 
 
 
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
- <depends><setup>0</setup></depends>
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
- <depends><setup>1</setup></depends>
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
- <depends><setup>1</setup></depends>
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
- <depends><setup>1</setup></depends>
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
- <depends><setup>1</setup></depends>
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
- <depends><setup>1</setup></depends>
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
- <depends><setup>1</setup></depends>
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
- <depends><setup>1</setup></depends>
135
  </shipping_fields>
136
- <checkout_subscribe translate="label comment">
137
- <label>Subscribe On Checkout</label>
138
- <frontend_type>select</frontend_type>
139
- <source_model>emaildirect/system_config_source_checkoutsubscribe</source_model>
140
- <sort_order>80</sort_order>
141
- <show_in_default>1</show_in_default>
142
- <show_in_website>0</show_in_website>
143
- <show_in_store>1</show_in_store>
144
- <comment>Show Newsletter Subscribe checkbox in the last Checkout Step (Order Review)</comment>
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
- <can_be_empty>0</can_be_empty>
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><setup>1</setup></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><setup>1</setup></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
- <depends><setup>1</setup></depends>
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><setup>1</setup></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><setup>1</setup></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><setup>1</setup></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
- <depends><setup>0</setup></depends>
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 &copy;<?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.6</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>Bug fixes for multiple store configuration.&#xD;
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-16</date>
15
- <time>15:39:02</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="6c89297aecebd7d25c1178bdd3fd5529"/></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="Mapfields.php" hash="677ebfd526fba11a1c177c00ae085526"/><file name="Note.php" hash="ef99a474bbc3a828c7a618132a80fe66"/><file name="Shippingmapfields.php" hash="589a74260f394a5eae1b57ca89a74a8b"/><file name="Troubleshooting.php" hash="47a95d34e8d091d8b1b46113172515cf"/></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="c8b14b123f121b528b9a9d3b6c90c328"/></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="f9b2c6b6c1adc18fbc86da7349f66d87"/><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="Abandoned.php" hash="9881811b94f38be90bd20a99951a1903"/><file name="Abandonedlist.php" hash="a5d3b987ea2a2d8672c9c2c3473c24e2"/><file name="Additionallist.php" hash="1fcede7a1efe84ce13104194f3dc9962"/><file name="Checkoutsubscribe.php" hash="fd90252a1f19649a420dae136ad2a2ba"/><file name="List.php" hash="00611b9215b54e86171a8e4a9a5e54db"/><file name="Publication.php" hash="903657f0b2a911af97f8bccb6d9cffab"/><file name="Source.php" hash="4b641d4757221c88d26458ae62bc874a"/><file name="States.php" hash="82682b97d671eb616649dfc52e202100"/><file name="Time.php" hash="0e26839880e25ec0eedce1ce8a663c0f"/></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="7ffbdec336a7ddf6ec9dae21fd3b8545"/><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="757e853b34ede51a2877cbdedb9d6334"/></dir><dir name="controllers"><dir name="Admin"><file name="AbandonedController.php" hash="a662c919ac3fae1503616a1795c96cf9"/><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="2dd5f55b464a0a8bf8ca1d8e2d8a0dc9"/><file name="system.xml" hash="c3cf6a78186905e69f73765a19f900fb"/></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-connected-ebizmarts-title.png" hash="faf3858f23eafe3a89cce144fef6bd2a"/><file name="emaildirect-section-background.png" hash="c205ce454fe63280d7d7dd74428b7ea4"/><file name="emaildirect-tab.png" hash="9ddb077b74a7078ac509d79b024631a1"/><file name="emaildirect.css" hash="3b6aab355cd3c061d7af59ec24871dce"/><file name="emaildirect.js" hash="ce03dd6f51ea529fc4acdc5116f4e030"/></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="60db91d36cf7929e5999239fcd4df256"/></dir><dir name="template"><dir name="emaildirect"><dir name="abandoned"><file name="grid.phtml" hash="d41d8cd98f00b204e9800998ecf8427e"/></dir><dir name="system"><dir name="config"><dir name="fieldset"><file name="hint.phtml" hash="4d7607ecb15d13cfe8bb0cc889cb724f"/></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="note.phtml" hash="6625a3771ba10daba5ded5570574716f"/><file name="trouble.phtml" hash="824ff5238a169b1a9ef288118b4bf96d"/></dir></dir></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>
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