Version Notes
Bug fixes for multiple store configuration.
Configure which order state(s) will be sent to EmailDirect.
Override option for Sources on existing records
Debug/Troubleshooting improvements
Misc fixes
Download this release
Release Info
Developer | Magento Core Team |
Extension | EmailDirect_Integration |
Version | 1.5.5 |
Comparing to | |
See all releases |
Code changes from version 1.5.3 to 1.5.5
- app/code/local/EmailDirect/Integration/Block/Adminhtml/System/Config/Form/Field/Export/Range.php +3 -2
- app/code/local/EmailDirect/Integration/Block/Adminhtml/System/Config/Form/Field/Note.php +20 -0
- app/code/local/EmailDirect/Integration/Block/Adminhtml/System/Config/Form/Field/Troubleshooting.php +55 -34
- app/code/local/EmailDirect/Integration/Block/Adminhtml/System/Convert/Profile/Export/Orders.php +2 -1
- app/code/local/EmailDirect/Integration/Helper/Data.php +66 -19
- app/code/local/EmailDirect/Integration/Model/Observer.php +86 -25
- app/code/local/EmailDirect/Integration/Model/System/Config/Source/Abandoned.php +1 -1
- app/code/local/EmailDirect/Integration/Model/System/Config/Source/Export/Batch.php +1 -1
- app/code/local/EmailDirect/Integration/Model/System/Config/Source/Export/Orders/From.php +0 -0
- app/code/local/EmailDirect/Integration/Model/System/Config/Source/Maxtimes.php +0 -15
- app/code/local/EmailDirect/Integration/Model/System/Config/Source/Source.php +1 -1
- app/code/local/EmailDirect/Integration/Model/System/Config/Source/States.php +20 -0
- app/code/local/EmailDirect/Integration/Model/Wrapper/Abandoned.php +1 -1
- app/code/local/EmailDirect/Integration/Model/Wrapper/Abstract.php +5 -1
- app/code/local/EmailDirect/Integration/Model/Wrapper/Execute.php +1 -1
- app/code/local/EmailDirect/Integration/Model/Wrapper/Subscribers.php +13 -3
- app/code/local/EmailDirect/Integration/controllers/AbandonedController.php +2 -2
- app/code/local/EmailDirect/Integration/controllers/Admin/ExportController.php +3 -2
- app/code/local/EmailDirect/Integration/etc/config.xml +5 -2
- app/code/local/EmailDirect/Integration/etc/system.xml +70 -1
- app/code/local/EmailDirect/Integration/sql/emaildirect_setup/mysql4-upgrade-1.5.4-1.5.5.php +19 -0
- app/design/adminhtml/default/default/template/emaildirect/system/config/form/field/array.phtml +7 -7
- app/design/adminhtml/default/default/template/emaildirect/system/config/form/field/export/date_range.phtml +14 -2
- app/design/adminhtml/default/default/template/emaildirect/system/config/form/field/export/orders.phtml +3 -1
- app/design/adminhtml/default/default/template/emaildirect/system/config/form/field/export/products.phtml +1 -0
- app/design/adminhtml/default/default/template/emaildirect/system/config/form/field/note.phtml +4 -0
- app/design/adminhtml/default/default/template/emaildirect/system/config/form/field/trouble.phtml +1 -1
- app/design/adminhtml/default/default/template/emaildirect/troubleshooting/view/tab/info.phtml +0 -2
- package.xml +9 -5
- skin/adminhtml/default/default/emaildirect/emaildirect.css +9 -6
app/code/local/EmailDirect/Integration/Block/Adminhtml/System/Config/Form/Field/Export/Range.php
CHANGED
@@ -20,12 +20,13 @@ class EmailDirect_Integration_Block_Adminhtml_System_Config_Form_Field_Export_Ra
|
|
20 |
|
21 |
public function getToDate()
|
22 |
{
|
23 |
-
|
|
|
24 |
}
|
25 |
|
26 |
public function getOrdersCount()
|
27 |
{
|
28 |
-
$orders = Mage::helper('emaildirect')->getOrderExportCollection($this->getFromDate(),$this->getToDate());
|
29 |
|
30 |
return $orders->getSize();
|
31 |
}
|
20 |
|
21 |
public function getToDate()
|
22 |
{
|
23 |
+
$time = strtotime("+1 day", Mage::getModel('core/date')->timestamp(time()));
|
24 |
+
return date("Y-m-d", $time);
|
25 |
}
|
26 |
|
27 |
public function getOrdersCount()
|
28 |
{
|
29 |
+
$orders = Mage::helper('emaildirect')->getOrderExportCollection($this->getFromDate(),$this->getToDate(), Mage::helper('emaildirect')->config('send_already_sent'));
|
30 |
|
31 |
return $orders->getSize();
|
32 |
}
|
app/code/local/EmailDirect/Integration/Block/Adminhtml/System/Config/Form/Field/Note.php
ADDED
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class EmailDirect_Integration_Block_Adminhtml_System_Config_Form_Field_Note 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/note.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 |
+
}
|
app/code/local/EmailDirect/Integration/Block/Adminhtml/System/Config/Form/Field/Troubleshooting.php
CHANGED
@@ -3,10 +3,13 @@
|
|
3 |
class EmailDirect_Integration_Block_Adminhtml_System_Config_Form_Field_Troubleshooting extends Mage_Adminhtml_Block_System_Config_Form_Field
|
4 |
{
|
5 |
|
|
|
|
|
6 |
public function __construct()
|
7 |
{
|
8 |
parent::__construct();
|
9 |
$this->setTemplate('emaildirect/system/config/form/field/trouble.phtml');
|
|
|
10 |
}
|
11 |
|
12 |
protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element)
|
@@ -18,21 +21,30 @@ class EmailDirect_Integration_Block_Adminhtml_System_Config_Form_Field_Troublesh
|
|
18 |
|
19 |
public function getStartDate()
|
20 |
{
|
21 |
-
|
22 |
-
|
23 |
-
|
|
|
|
|
24 |
|
25 |
-
|
26 |
|
27 |
-
|
28 |
|
29 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
}
|
31 |
|
32 |
public function getEDirectInfo()
|
33 |
{
|
34 |
-
$active =
|
35 |
-
$setup =
|
36 |
|
37 |
$class= 'ab_ok';
|
38 |
$msg = "Enabled";
|
@@ -53,10 +65,10 @@ class EmailDirect_Integration_Block_Adminhtml_System_Config_Form_Field_Troublesh
|
|
53 |
|
54 |
public function getAbandonedInfo()
|
55 |
{
|
56 |
-
$active =
|
57 |
-
$setup =
|
58 |
-
$sendit =
|
59 |
-
$abandoned_setup =
|
60 |
|
61 |
$class= 'ab_ok';
|
62 |
$msg = "Enabled";
|
@@ -72,27 +84,36 @@ class EmailDirect_Integration_Block_Adminhtml_System_Config_Form_Field_Troublesh
|
|
72 |
|
73 |
public function getLogInfo()
|
74 |
{
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
97 |
}
|
98 |
}
|
3 |
class EmailDirect_Integration_Block_Adminhtml_System_Config_Form_Field_Troubleshooting extends Mage_Adminhtml_Block_System_Config_Form_Field
|
4 |
{
|
5 |
|
6 |
+
private $_helper = null;
|
7 |
+
|
8 |
public function __construct()
|
9 |
{
|
10 |
parent::__construct();
|
11 |
$this->setTemplate('emaildirect/system/config/form/field/trouble.phtml');
|
12 |
+
$this->_helper = Mage::helper('emaildirect');
|
13 |
}
|
14 |
|
15 |
protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element)
|
21 |
|
22 |
public function getStartDate()
|
23 |
{
|
24 |
+
try
|
25 |
+
{
|
26 |
+
$date = $this->_helper->troubleConfig('start_date');
|
27 |
+
|
28 |
+
$minutes = round(abs(time() - strtotime($date)) / 60,0);
|
29 |
|
30 |
+
$date = Mage::helper('core')->formatTime($date, 'long', true);
|
31 |
|
32 |
+
$minutes = "<br />(" . $this->_helper->timeElapsed2string(strtotime($date)) . " ago)";
|
33 |
|
34 |
+
return "{$date} {$minutes}";
|
35 |
+
}
|
36 |
+
catch (Exception $e)
|
37 |
+
{
|
38 |
+
$this->_helper->logException($e);
|
39 |
+
Mage::logException($e);
|
40 |
+
return "Unknown/Error";
|
41 |
+
}
|
42 |
}
|
43 |
|
44 |
public function getEDirectInfo()
|
45 |
{
|
46 |
+
$active = $this->_helper->config('active');
|
47 |
+
$setup = $this->_helper->config('setup');
|
48 |
|
49 |
$class= 'ab_ok';
|
50 |
$msg = "Enabled";
|
65 |
|
66 |
public function getAbandonedInfo()
|
67 |
{
|
68 |
+
$active = $this->_helper->config('active');
|
69 |
+
$setup = $this->_helper->config('setup');
|
70 |
+
$sendit = $this->_helper->config('sendabandoned');
|
71 |
+
$abandoned_setup = $this->_helper->config('abandonedsetup');
|
72 |
|
73 |
$class= 'ab_ok';
|
74 |
$msg = "Enabled";
|
84 |
|
85 |
public function getLogInfo()
|
86 |
{
|
87 |
+
try
|
88 |
+
{
|
89 |
+
$helper = $this->_helper;
|
90 |
+
$file_size = $helper->getLogFileSize();
|
91 |
+
$formatted_size = $helper->formatSize($file_size);
|
92 |
+
|
93 |
+
$max_size = $helper->getMaxLogFileSize();
|
94 |
+
|
95 |
+
if ($file_size > $max_size || $file_size == 0)
|
96 |
+
$formatted_size = "<span class='log_size_warning'>{$formatted_size}</span>";
|
97 |
+
|
98 |
+
$file_date = $helper->getLogFilelastUpdate();
|
99 |
+
|
100 |
+
if ($file_date == "")
|
101 |
+
$last_update = "";
|
102 |
+
else
|
103 |
+
$last_update = "<br />" . Mage::helper('core')->formatTime(date("Y-m-d H:i:s",$file_date), 'long', true);
|
104 |
+
|
105 |
+
$ago = $helper->timeElapsed2string($file_date);
|
106 |
+
|
107 |
+
if ($ago != "")
|
108 |
+
$ago = "<br />({$ago} ago.)";
|
109 |
+
|
110 |
+
return $helper->getLogFileName() . " ({$formatted_size}){$last_update}{$ago}";
|
111 |
+
}
|
112 |
+
catch (Exception $e)
|
113 |
+
{
|
114 |
+
$this->_helper->logException($e);
|
115 |
+
Mage::logException($e);
|
116 |
+
return "Unknown/Error";
|
117 |
+
}
|
118 |
}
|
119 |
}
|
app/code/local/EmailDirect/Integration/Block/Adminhtml/System/Convert/Profile/Export/Orders.php
CHANGED
@@ -17,8 +17,9 @@ class EmailDirect_Integration_Block_Adminhtml_System_Convert_Profile_Export_Orde
|
|
17 |
{
|
18 |
$from = Mage::app()->getRequest()->getParam('export_from');
|
19 |
$to = Mage::app()->getRequest()->getParam('export_to');
|
|
|
20 |
|
21 |
-
$orders = Mage::helper('emaildirect')->getOrderExportCollection($from, $to);
|
22 |
|
23 |
return $orders;
|
24 |
}
|
17 |
{
|
18 |
$from = Mage::app()->getRequest()->getParam('export_from');
|
19 |
$to = Mage::app()->getRequest()->getParam('export_to');
|
20 |
+
$include = Mage::app()->getRequest()->getParam('include_already_sent');
|
21 |
|
22 |
+
$orders = Mage::helper('emaildirect')->getOrderExportCollection($from, $to, $include);
|
23 |
|
24 |
return $orders;
|
25 |
}
|
app/code/local/EmailDirect/Integration/Helper/Data.php
CHANGED
@@ -14,8 +14,14 @@ class EmailDirect_Integration_Helper_Data extends Mage_Core_Helper_Abstract
|
|
14 |
const DISABLED_REASON_PREFIX = "Skipping";
|
15 |
|
16 |
private $_log_area = "";
|
|
|
17 |
|
18 |
-
public function
|
|
|
|
|
|
|
|
|
|
|
19 |
{
|
20 |
$from_date = Mage::getModel('core/date')->gmtDate(null,strtotime($from)); // 2010-05-11 15:00:00
|
21 |
|
@@ -24,12 +30,13 @@ class EmailDirect_Integration_Helper_Data extends Mage_Core_Helper_Abstract
|
|
24 |
$orders = Mage::getModel('sales/order')->getCollection()
|
25 |
->addAttributeToFilter('created_at', array('from' => $from_date, 'to' => $to_date))
|
26 |
->addAttributeToFilter('status', array('eq' => Mage_Sales_Model_Order::STATE_COMPLETE));
|
|
|
|
|
|
|
27 |
|
28 |
return $orders;
|
29 |
}
|
30 |
|
31 |
-
|
32 |
-
|
33 |
public function formatSize($size)
|
34 |
{
|
35 |
try
|
@@ -89,25 +96,36 @@ class EmailDirect_Integration_Helper_Data extends Mage_Core_Helper_Abstract
|
|
89 |
return $this->config('apikey',$store);
|
90 |
}
|
91 |
|
92 |
-
public function updateConfig($path
|
93 |
{
|
|
|
|
|
|
|
|
|
|
|
94 |
$config = new Mage_Core_Model_Config();
|
95 |
-
$config->saveConfig("emaildirect/{$base_path}/{$path}",$value
|
96 |
Mage::getConfig()->cleanCache();
|
97 |
}
|
98 |
|
99 |
-
|
100 |
{
|
101 |
-
|
102 |
-
{
|
103 |
-
$store = Mage::app()->getStore();
|
104 |
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
111 |
|
112 |
$realvalue = Mage::getStoreConfig("emaildirect/{$section}/{$value}", $store);
|
113 |
|
@@ -567,6 +585,8 @@ class EmailDirect_Integration_Helper_Data extends Mage_Core_Helper_Abstract
|
|
567 |
|
568 |
$data = array( );
|
569 |
|
|
|
|
|
570 |
foreach ($e_config as $key => $value)
|
571 |
{
|
572 |
if (is_array($value))
|
@@ -584,6 +604,8 @@ class EmailDirect_Integration_Helper_Data extends Mage_Core_Helper_Abstract
|
|
584 |
}
|
585 |
}
|
586 |
|
|
|
|
|
587 |
$store_data[$store->getName()] = $data;
|
588 |
}
|
589 |
|
@@ -643,11 +665,11 @@ class EmailDirect_Integration_Helper_Data extends Mage_Core_Helper_Abstract
|
|
643 |
public function turnOnTroubleshooting($store = null)
|
644 |
{
|
645 |
// Enabled
|
646 |
-
$date = date(Mage::getModel('core/date')->gmtTimestamp());
|
647 |
$date = date("Y-m-d H:i:s", $date);
|
648 |
|
649 |
$this->updateConfig("debug",1,$store);
|
650 |
-
$this->updateConfig("start_date",$date,$store,"troubleshooting");
|
651 |
}
|
652 |
|
653 |
public function turnOffTroubleshooting($store)
|
@@ -779,25 +801,50 @@ class EmailDirect_Integration_Helper_Data extends Mage_Core_Helper_Abstract
|
|
779 |
return $data;
|
780 |
}
|
781 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
782 |
// LOGGING
|
783 |
public function log($data, $prefix = "", $area = "")
|
784 |
{
|
785 |
if ($this->config('debug'))
|
786 |
{
|
|
|
787 |
if ($area == "")
|
788 |
$area = $this->_log_area;
|
789 |
|
790 |
if ($area == self::IGNORE)
|
791 |
return;
|
792 |
|
|
|
|
|
793 |
if (is_array($data) || is_object($data))
|
794 |
-
|
|
|
|
|
|
|
|
|
|
|
795 |
|
796 |
if ($prefix != "")
|
797 |
$prefix .= ": ";
|
798 |
|
799 |
if ($area != "")
|
800 |
-
$data = "[{$area}] {$prefix}{$data}";
|
801 |
|
802 |
Mage::log($data,null,self::LOG_FILE_NAME . self::LOG_FILE_EXT);
|
803 |
}
|
14 |
const DISABLED_REASON_PREFIX = "Skipping";
|
15 |
|
16 |
private $_log_area = "";
|
17 |
+
private $_current_store = null;
|
18 |
|
19 |
+
public function setCurrentStore($store)
|
20 |
+
{
|
21 |
+
$this->_current_store = $store;
|
22 |
+
}
|
23 |
+
|
24 |
+
public function getOrderExportCollection($from, $to, $include)
|
25 |
{
|
26 |
$from_date = Mage::getModel('core/date')->gmtDate(null,strtotime($from)); // 2010-05-11 15:00:00
|
27 |
|
30 |
$orders = Mage::getModel('sales/order')->getCollection()
|
31 |
->addAttributeToFilter('created_at', array('from' => $from_date, 'to' => $to_date))
|
32 |
->addAttributeToFilter('status', array('eq' => Mage_Sales_Model_Order::STATE_COMPLETE));
|
33 |
+
|
34 |
+
if (!$include)
|
35 |
+
$orders->addAttributeToFilter('sent_to_emaildirect', array('eq' => 0));
|
36 |
|
37 |
return $orders;
|
38 |
}
|
39 |
|
|
|
|
|
40 |
public function formatSize($size)
|
41 |
{
|
42 |
try
|
96 |
return $this->config('apikey',$store);
|
97 |
}
|
98 |
|
99 |
+
public function updateConfig($path, $value, $store = 0, $base_path = 'general')
|
100 |
{
|
101 |
+
$scope = "stores";
|
102 |
+
|
103 |
+
if ($store == 0)
|
104 |
+
$scope = "default";
|
105 |
+
|
106 |
$config = new Mage_Core_Model_Config();
|
107 |
+
$config->saveConfig("emaildirect/{$base_path}/{$path}",$value,$scope,$store);
|
108 |
Mage::getConfig()->cleanCache();
|
109 |
}
|
110 |
|
111 |
+
public function getCurrentStore()
|
112 |
{
|
113 |
+
$store = Mage::app()->getStore()->getId();
|
|
|
|
|
114 |
|
115 |
+
$configscope = Mage::app()->getRequest()->getParam('store');
|
116 |
+
|
117 |
+
if ($configscope)
|
118 |
+
$store = $configscope;
|
119 |
+
else if (!is_null($this->_current_store))
|
120 |
+
$store = $this->_current_store;
|
121 |
+
|
122 |
+
return $store;
|
123 |
+
}
|
124 |
+
|
125 |
+
private function _config($value, $section, $store = null)
|
126 |
+
{
|
127 |
+
if (is_null($store))
|
128 |
+
$store = $this->getCurrentStore();
|
129 |
|
130 |
$realvalue = Mage::getStoreConfig("emaildirect/{$section}/{$value}", $store);
|
131 |
|
585 |
|
586 |
$data = array( );
|
587 |
|
588 |
+
$data['store id'] = $store->getId();
|
589 |
+
|
590 |
foreach ($e_config as $key => $value)
|
591 |
{
|
592 |
if (is_array($value))
|
604 |
}
|
605 |
}
|
606 |
|
607 |
+
|
608 |
+
|
609 |
$store_data[$store->getName()] = $data;
|
610 |
}
|
611 |
|
665 |
public function turnOnTroubleshooting($store = null)
|
666 |
{
|
667 |
// Enabled
|
668 |
+
$date = date(Mage::getModel('core/date')->gmtTimestamp());
|
669 |
$date = date("Y-m-d H:i:s", $date);
|
670 |
|
671 |
$this->updateConfig("debug",1,$store);
|
672 |
+
$this->updateConfig("start_date",$date,$store,"troubleshooting");
|
673 |
}
|
674 |
|
675 |
public function turnOffTroubleshooting($store)
|
801 |
return $data;
|
802 |
}
|
803 |
|
804 |
+
public function formatXml($xml_string)
|
805 |
+
{
|
806 |
+
try
|
807 |
+
{
|
808 |
+
$dom = new DOMDocument('1.0');
|
809 |
+
$dom->preserveWhiteSpace = false;
|
810 |
+
$dom->formatOutput = true;
|
811 |
+
$dom->loadXML($xml_string);
|
812 |
+
return $dom->saveXML();
|
813 |
+
}
|
814 |
+
catch (Exception $e)
|
815 |
+
{
|
816 |
+
$this->logException($e);
|
817 |
+
return $xml_string;
|
818 |
+
}
|
819 |
+
}
|
820 |
+
|
821 |
// LOGGING
|
822 |
public function log($data, $prefix = "", $area = "")
|
823 |
{
|
824 |
if ($this->config('debug'))
|
825 |
{
|
826 |
+
$store = $this->getCurrentStore();
|
827 |
if ($area == "")
|
828 |
$area = $this->_log_area;
|
829 |
|
830 |
if ($area == self::IGNORE)
|
831 |
return;
|
832 |
|
833 |
+
|
834 |
+
|
835 |
if (is_array($data) || is_object($data))
|
836 |
+
{
|
837 |
+
if (is_object($data) && get_class($data) == "SimpleXMLElement")
|
838 |
+
$data = $this->formatXml($data->asXml());
|
839 |
+
else
|
840 |
+
$data = print_r($data, true);
|
841 |
+
}
|
842 |
|
843 |
if ($prefix != "")
|
844 |
$prefix .= ": ";
|
845 |
|
846 |
if ($area != "")
|
847 |
+
$data = "[{$area}] [{$store}] {$prefix}{$data}";
|
848 |
|
849 |
Mage::log($data,null,self::LOG_FILE_NAME . self::LOG_FILE_EXT);
|
850 |
}
|
app/code/local/EmailDirect/Integration/Model/Observer.php
CHANGED
@@ -3,7 +3,6 @@
|
|
3 |
class EmailDirect_Integration_Model_Observer
|
4 |
{
|
5 |
const ABANDONED_LAST_RUN = 'emaildirect/general/abandoned_last_run';
|
6 |
-
const STATE_COMPLETE = Mage_Sales_Model_Order::STATE_COMPLETE;
|
7 |
|
8 |
private $_helper = null;
|
9 |
|
@@ -180,6 +179,7 @@ class EmailDirect_Integration_Model_Observer
|
|
180 |
{
|
181 |
if ($source == '')
|
182 |
{
|
|
|
183 |
$source = "Magento";
|
184 |
$this->_helper->updateConfig('source', $source, $store);
|
185 |
}
|
@@ -194,28 +194,22 @@ class EmailDirect_Integration_Model_Observer
|
|
194 |
break;
|
195 |
}
|
196 |
}
|
197 |
-
|
198 |
if ($source_id == '')
|
199 |
{
|
200 |
$rc = Mage::getSingleton('emaildirect/wrapper_sources')->addSource($source);
|
201 |
if(!isset($rc->SourceID))
|
202 |
-
{
|
203 |
Mage::throwException("Error adding source");
|
204 |
-
}
|
205 |
else
|
206 |
-
{
|
207 |
$this->_helper->updateConfig('sourceid', $rc->SourceID, $store);
|
208 |
-
}
|
209 |
}
|
210 |
else
|
211 |
-
{
|
212 |
$this->_helper->updateConfig('sourceid', $source_id, $store);
|
213 |
-
}
|
214 |
}
|
215 |
|
216 |
private function saveTroubleshooting($store)
|
217 |
{
|
218 |
-
$post
|
219 |
|
220 |
$status = $post['groups']['troubleshooting']['fields']['enabled']['value'];
|
221 |
|
@@ -225,19 +219,36 @@ class EmailDirect_Integration_Model_Observer
|
|
225 |
$this->_helper->turnOffTroubleshooting($store);
|
226 |
}
|
227 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
228 |
public function saveConfig(Varien_Event_Observer $observer)
|
229 |
{
|
230 |
$this->_helper->setLogArea(EmailDirect_Integration_Helper_Data::IGNORE);
|
231 |
-
$store =
|
232 |
$post = Mage::app()->getRequest()->getPost();
|
233 |
|
234 |
$fields = $post['groups']['general']['fields'];
|
235 |
|
236 |
-
$apiKey = isset($fields['apikey']['value']) ? $fields['apikey']['value'] : '';
|
237 |
|
238 |
if ($apiKey == '')
|
239 |
{
|
240 |
-
$this->_helper->updateConfig('setup',
|
|
|
241 |
$this->_helper->updateConfig('active', false, $store);
|
242 |
return $observer;
|
243 |
}
|
@@ -246,13 +257,15 @@ class EmailDirect_Integration_Model_Observer
|
|
246 |
|
247 |
if (is_string($sources))
|
248 |
{
|
249 |
-
$this->_helper->updateConfig('setup',
|
|
|
250 |
Mage::throwException($sources);
|
251 |
}
|
252 |
|
253 |
$this->_helper->updateConfig('setup', true, $store);
|
|
|
254 |
|
255 |
-
$source = isset($fields['source']['value']) ? $fields['source']['value'] : '';
|
256 |
|
257 |
$this->validateSource($source, $sources, $store);
|
258 |
|
@@ -441,7 +454,7 @@ class EmailDirect_Integration_Model_Observer
|
|
441 |
return $observer;
|
442 |
}
|
443 |
|
444 |
-
|
445 |
$customer = $observer->getEvent()->getCustomer();
|
446 |
|
447 |
$merge_vars = $this->_mergeVars($customer, TRUE);
|
@@ -612,12 +625,36 @@ class EmailDirect_Integration_Model_Observer
|
|
612 |
$this->_helper->logException($e);
|
613 |
}
|
614 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
615 |
|
616 |
public function orderSaveAfter(Varien_Event_Observer $observer)
|
617 |
{
|
618 |
try
|
619 |
{
|
620 |
-
$this->_helper->setLogArea(EmailDirect_Integration_Helper_Data::
|
621 |
$this->_helper->log("Order Save After Start");
|
622 |
|
623 |
if (!$this->_helper->getOrdersEnabled())
|
@@ -629,16 +666,17 @@ class EmailDirect_Integration_Model_Observer
|
|
629 |
$order = $observer->getEvent()->getOrder();
|
630 |
|
631 |
$this->_helper->log("Order Save After: " . $order->getIncrementId());
|
632 |
-
|
633 |
-
|
634 |
-
|
635 |
-
|
636 |
-
|
|
|
637 |
|
638 |
//$this->_helper->log("Order is complete. Processing...");
|
639 |
|
640 |
$email = $order->getCustomerEmail();
|
641 |
-
|
642 |
if ($order->getData('customer_is_guest'))
|
643 |
{
|
644 |
$this->_helper->log("Guest Customer");
|
@@ -677,7 +715,9 @@ class EmailDirect_Integration_Model_Observer
|
|
677 |
|
678 |
Mage::helper('emaildirect/fields')->checkFields();
|
679 |
|
680 |
-
$rc = Mage::getSingleton('emaildirect/wrapper_orders')->addSubscriberOrder($email
|
|
|
|
|
681 |
|
682 |
$this->_helper->log("Order Save After End");
|
683 |
|
@@ -726,6 +766,27 @@ class EmailDirect_Integration_Model_Observer
|
|
726 |
return $order;
|
727 |
}
|
728 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
729 |
private function setSentToEmailDirectDate($quote,$date)
|
730 |
{
|
731 |
$table_name = Mage::getSingleton('core/resource')->getTableName("sales_flat_quote");
|
@@ -768,7 +829,7 @@ class EmailDirect_Integration_Model_Observer
|
|
768 |
{
|
769 |
$this->_helper->log("Processing Last Order");
|
770 |
$merge_vars = $this->_helper->getOrderMergeVars($merge_vars,$order);
|
771 |
-
|
772 |
$this->_helper->log("Check Save Lastest");
|
773 |
if ($this->_helper->config('save_latest_order'))
|
774 |
{
|
@@ -797,7 +858,7 @@ class EmailDirect_Integration_Model_Observer
|
|
797 |
private function _abandonedCartsProcessor($collection, $mark_time = true)
|
798 |
{
|
799 |
// Store the time we last run
|
800 |
-
$date = date(Mage::getModel('core/date')->gmtTimestamp());
|
801 |
$date = date("Y-m-d H:i:s", $date);
|
802 |
|
803 |
$this->_helper->log("Saving Last Run Date: {$date}");
|
3 |
class EmailDirect_Integration_Model_Observer
|
4 |
{
|
5 |
const ABANDONED_LAST_RUN = 'emaildirect/general/abandoned_last_run';
|
|
|
6 |
|
7 |
private $_helper = null;
|
8 |
|
179 |
{
|
180 |
if ($source == '')
|
181 |
{
|
182 |
+
$this->_helper->log("validateSource blank");
|
183 |
$source = "Magento";
|
184 |
$this->_helper->updateConfig('source', $source, $store);
|
185 |
}
|
194 |
break;
|
195 |
}
|
196 |
}
|
197 |
+
|
198 |
if ($source_id == '')
|
199 |
{
|
200 |
$rc = Mage::getSingleton('emaildirect/wrapper_sources')->addSource($source);
|
201 |
if(!isset($rc->SourceID))
|
|
|
202 |
Mage::throwException("Error adding source");
|
|
|
203 |
else
|
|
|
204 |
$this->_helper->updateConfig('sourceid', $rc->SourceID, $store);
|
|
|
205 |
}
|
206 |
else
|
|
|
207 |
$this->_helper->updateConfig('sourceid', $source_id, $store);
|
|
|
208 |
}
|
209 |
|
210 |
private function saveTroubleshooting($store)
|
211 |
{
|
212 |
+
$post = Mage::app()->getRequest()->getPost();
|
213 |
|
214 |
$status = $post['groups']['troubleshooting']['fields']['enabled']['value'];
|
215 |
|
219 |
$this->_helper->turnOffTroubleshooting($store);
|
220 |
}
|
221 |
|
222 |
+
private function getStoreId($code)
|
223 |
+
{
|
224 |
+
if ($code == null)
|
225 |
+
return 0;
|
226 |
+
|
227 |
+
try
|
228 |
+
{
|
229 |
+
$store = Mage::getModel("core/store")->load($code);
|
230 |
+
return $store->getId();
|
231 |
+
}
|
232 |
+
catch (Exception $e)
|
233 |
+
{
|
234 |
+
return 0;
|
235 |
+
}
|
236 |
+
}
|
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');
|
247 |
|
248 |
if ($apiKey == '')
|
249 |
{
|
250 |
+
$this->_helper->updateConfig('setup', 0, $store);
|
251 |
+
//$this->_helper->updateConfig('setup', 0, $store, 'export');
|
252 |
$this->_helper->updateConfig('active', false, $store);
|
253 |
return $observer;
|
254 |
}
|
257 |
|
258 |
if (is_string($sources))
|
259 |
{
|
260 |
+
$this->_helper->updateConfig('setup', 0, $store);
|
261 |
+
//$this->_helper->updateConfig('setup', false, $store, 'export');
|
262 |
Mage::throwException($sources);
|
263 |
}
|
264 |
|
265 |
$this->_helper->updateConfig('setup', true, $store);
|
266 |
+
//$this->_helper->updateConfig('setup', true, $store, 'export');
|
267 |
|
268 |
+
$source = isset($fields['source']['value']) ? $fields['source']['value'] : $this->_helper->config('source');
|
269 |
|
270 |
$this->validateSource($source, $sources, $store);
|
271 |
|
454 |
return $observer;
|
455 |
}
|
456 |
|
457 |
+
//$store = Mage::app()->getStore()->getId();
|
458 |
$customer = $observer->getEvent()->getCustomer();
|
459 |
|
460 |
$merge_vars = $this->_mergeVars($customer, TRUE);
|
625 |
$this->_helper->logException($e);
|
626 |
}
|
627 |
}
|
628 |
+
|
629 |
+
private function canSendOrder($order)
|
630 |
+
{
|
631 |
+
if ($order->getData('sent_to_emaildirect') != false)
|
632 |
+
{
|
633 |
+
$this->_helper->logReason("Order has already been sent.");
|
634 |
+
return false;
|
635 |
+
}
|
636 |
+
|
637 |
+
$this->_helper->log("Order State: " . $order->getState());
|
638 |
+
|
639 |
+
$states = Mage::helper('emaildirect')->config('send_states');
|
640 |
+
$state_list = explode(",",$states);
|
641 |
+
|
642 |
+
$this->_helper->log("Check States: " . $states);
|
643 |
+
$this->_helper->log($state_list, "State array");
|
644 |
+
|
645 |
+
if (array_search($order->getState(),$state_list) === FALSE)
|
646 |
+
{
|
647 |
+
$this->_helper->logReason("State not setup to send (" . $order->getState() . ")");
|
648 |
+
return false;
|
649 |
+
}
|
650 |
+
return true;
|
651 |
+
}
|
652 |
|
653 |
public function orderSaveAfter(Varien_Event_Observer $observer)
|
654 |
{
|
655 |
try
|
656 |
{
|
657 |
+
$this->_helper->setLogArea(EmailDirect_Integration_Helper_Data::ORDERS);
|
658 |
$this->_helper->log("Order Save After Start");
|
659 |
|
660 |
if (!$this->_helper->getOrdersEnabled())
|
666 |
$order = $observer->getEvent()->getOrder();
|
667 |
|
668 |
$this->_helper->log("Order Save After: " . $order->getIncrementId());
|
669 |
+
|
670 |
+
$this->_helper->log("Order Store: " . $order->getStoreId());
|
671 |
+
$this->_helper->setCurrentStore($order->getStoreId());
|
672 |
+
|
673 |
+
if (!$this->canSendOrder($order))
|
674 |
+
return $observer;
|
675 |
|
676 |
//$this->_helper->log("Order is complete. Processing...");
|
677 |
|
678 |
$email = $order->getCustomerEmail();
|
679 |
+
|
680 |
if ($order->getData('customer_is_guest'))
|
681 |
{
|
682 |
$this->_helper->log("Guest Customer");
|
715 |
|
716 |
Mage::helper('emaildirect/fields')->checkFields();
|
717 |
|
718 |
+
$rc = Mage::getSingleton('emaildirect/wrapper_orders')->addSubscriberOrder($email, $order, $merge_vars);
|
719 |
+
|
720 |
+
$this->setOrderSentToEmailDirect($order);
|
721 |
|
722 |
$this->_helper->log("Order Save After End");
|
723 |
|
766 |
return $order;
|
767 |
}
|
768 |
|
769 |
+
private function setOrderSentToEmailDirect($order)
|
770 |
+
{
|
771 |
+
$table_name = Mage::getSingleton('core/resource')->getTableName("sales_flat_order");
|
772 |
+
|
773 |
+
$sql = "UPDATE {$table_name} SET sent_to_emaildirect = 1 WHERE entity_id = {$order->getId()}";
|
774 |
+
|
775 |
+
$this->_helper->log($sql);
|
776 |
+
|
777 |
+
try
|
778 |
+
{
|
779 |
+
Mage::getSingleton('core/resource')
|
780 |
+
->getConnection('core_write')
|
781 |
+
->query($sql);
|
782 |
+
}
|
783 |
+
catch (Exception $e)
|
784 |
+
{
|
785 |
+
Mage::logException($e);
|
786 |
+
$this->_helper->logException($e);
|
787 |
+
}
|
788 |
+
}
|
789 |
+
|
790 |
private function setSentToEmailDirectDate($quote,$date)
|
791 |
{
|
792 |
$table_name = Mage::getSingleton('core/resource')->getTableName("sales_flat_quote");
|
829 |
{
|
830 |
$this->_helper->log("Processing Last Order");
|
831 |
$merge_vars = $this->_helper->getOrderMergeVars($merge_vars,$order);
|
832 |
+
|
833 |
$this->_helper->log("Check Save Lastest");
|
834 |
if ($this->_helper->config('save_latest_order'))
|
835 |
{
|
858 |
private function _abandonedCartsProcessor($collection, $mark_time = true)
|
859 |
{
|
860 |
// Store the time we last run
|
861 |
+
$date = date(Mage::getModel('core/date')->gmtTimestamp());
|
862 |
$date = date("Y-m-d H:i:s", $date);
|
863 |
|
864 |
$this->_helper->log("Saving Last Run Date: {$date}");
|
app/code/local/EmailDirect/Integration/Model/System/Config/Source/Abandoned.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
class EmailDirect_Integration_Model_System_Config_Source_Abandoned
|
4 |
{
|
5 |
/**
|
6 |
* Options getter
|
1 |
<?php
|
2 |
|
3 |
+
class EmailDirect_Integration_Model_System_Config_Source_Abandoned extends Varien_Data_Form_Abstract
|
4 |
{
|
5 |
/**
|
6 |
* Options getter
|
app/code/local/EmailDirect/Integration/Model/System/Config/Source/Export/Batch.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
class EmailDirect_Integration_Model_System_Config_Source_Export_Batch
|
4 |
{
|
5 |
public function toOptionArray()
|
6 |
{
|
1 |
<?php
|
2 |
|
3 |
+
class EmailDirect_Integration_Model_System_Config_Source_Export_Batch extends Varien_Data_Form_Abstract
|
4 |
{
|
5 |
public function toOptionArray()
|
6 |
{
|
app/code/local/EmailDirect/Integration/Model/System/Config/Source/Export/Orders/From.php
DELETED
File without changes
|
app/code/local/EmailDirect/Integration/Model/System/Config/Source/Maxtimes.php
DELETED
@@ -1,15 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
class EmailDirect_Integration_Model_System_Config_Source_Maxtimes
|
4 |
-
{
|
5 |
-
public function toOptionArray()
|
6 |
-
{
|
7 |
-
return array(
|
8 |
-
array('value' => 1, 'label' => Mage::helper('emaildirect')->__('1 Times')),
|
9 |
-
array('value' => 2, 'label' => Mage::helper('emaildirect')->__('2 Times')),
|
10 |
-
array('value' => 3, 'label' => Mage::helper('emaildirect')->__('3 Times')),
|
11 |
-
array('value' => 4, 'label' => Mage::helper('emaildirect')->__('4 Times')),
|
12 |
-
array('value' => 5, 'label' => Mage::helper('emaildirect')->__('5 Times')),
|
13 |
-
);
|
14 |
-
}
|
15 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/local/EmailDirect/Integration/Model/System/Config/Source/Source.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
class EmailDirect_Integration_Model_System_Config_Source_Source
|
4 |
{
|
5 |
public function toOptionArray()
|
6 |
{
|
1 |
<?php
|
2 |
|
3 |
+
class EmailDirect_Integration_Model_System_Config_Source_Source
|
4 |
{
|
5 |
public function toOptionArray()
|
6 |
{
|
app/code/local/EmailDirect/Integration/Model/System/Config/Source/States.php
ADDED
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class EmailDirect_Integration_Model_System_Config_Source_States
|
4 |
+
{
|
5 |
+
public function toOptionArray()
|
6 |
+
{
|
7 |
+
$states = Mage::getSingleton('sales/order_config')->getStates();
|
8 |
+
|
9 |
+
$options = array();
|
10 |
+
|
11 |
+
foreach($states as $value => $label)
|
12 |
+
{
|
13 |
+
$options[] = array(
|
14 |
+
'value' => $value,
|
15 |
+
'label' => $label);
|
16 |
+
}
|
17 |
+
return $options;
|
18 |
+
}
|
19 |
+
}
|
20 |
+
|
app/code/local/EmailDirect/Integration/Model/Wrapper/Abandoned.php
CHANGED
@@ -9,7 +9,7 @@ class EmailDirect_Integration_Model_Wrapper_Abandoned extends EmailDirect_Integr
|
|
9 |
|
10 |
public function getOneSubscriber($email,$merge_vars)
|
11 |
{
|
12 |
-
$source_data = $this->getSource();
|
13 |
$publication_data = $this->getPublications("abandonedpublication");
|
14 |
$custom_fields = $this->getCustomFields($merge_vars);
|
15 |
$list_data = $this->getLists("abandonedlist");
|
9 |
|
10 |
public function getOneSubscriber($email,$merge_vars)
|
11 |
{
|
12 |
+
$source_data = $this->getSource($email);
|
13 |
$publication_data = $this->getPublications("abandonedpublication");
|
14 |
$custom_fields = $this->getCustomFields($merge_vars);
|
15 |
$list_data = $this->getLists("abandonedlist");
|
app/code/local/EmailDirect/Integration/Model/Wrapper/Abstract.php
CHANGED
@@ -44,10 +44,14 @@ class EmailDirect_Integration_Model_Wrapper_Abstract
|
|
44 |
return "<Publications><int>{$publication_id}</int></Publications>";
|
45 |
}
|
46 |
|
47 |
-
protected function getSource()
|
48 |
{
|
|
|
49 |
$source_id = Mage::helper('emaildirect')->config('sourceid');
|
50 |
|
|
|
|
|
|
|
51 |
return "<SourceID>{$source_id}</SourceID>";
|
52 |
}
|
53 |
}
|
44 |
return "<Publications><int>{$publication_id}</int></Publications>";
|
45 |
}
|
46 |
|
47 |
+
protected function getSource($email)
|
48 |
{
|
49 |
+
$override_source = Mage::helper('emaildirect')->config('override_source');
|
50 |
$source_id = Mage::helper('emaildirect')->config('sourceid');
|
51 |
|
52 |
+
if (!$override_source && Mage::getSingleton('emaildirect/wrapper_subscribers')->subscriberExists($email))
|
53 |
+
return "";
|
54 |
+
|
55 |
return "<SourceID>{$source_id}</SourceID>";
|
56 |
}
|
57 |
}
|
app/code/local/EmailDirect/Integration/Model/Wrapper/Execute.php
CHANGED
@@ -40,7 +40,7 @@ class EmailDirect_Integration_Model_Wrapper_Execute
|
|
40 |
}
|
41 |
|
42 |
if ($xmldata != null)
|
43 |
-
$helper->log($xmldata,"Xml Data ({$command})");
|
44 |
|
45 |
$URL = $helper->config('urls/accesspoint');
|
46 |
$urlsuffix = $helper->config("urls/{$command}");
|
40 |
}
|
41 |
|
42 |
if ($xmldata != null)
|
43 |
+
$helper->log($helper->formatXml($xmldata),"Xml Data ({$command})");
|
44 |
|
45 |
$URL = $helper->config('urls/accesspoint');
|
46 |
$urlsuffix = $helper->config("urls/{$command}");
|
app/code/local/EmailDirect/Integration/Model/Wrapper/Subscribers.php
CHANGED
@@ -4,7 +4,7 @@ class EmailDirect_Integration_Model_Wrapper_subscribers extends EmailDirect_Inte
|
|
4 |
{
|
5 |
public function subscriberModify($email,$merge_vars)
|
6 |
{
|
7 |
-
$source_data = $this->getSource();
|
8 |
$custom_fields = $this->getCustomFields($merge_vars);
|
9 |
$list_data = $this->getLists();
|
10 |
$publication_data = $this->getPublications();
|
@@ -20,7 +20,7 @@ class EmailDirect_Integration_Model_Wrapper_subscribers extends EmailDirect_Inte
|
|
20 |
|
21 |
public function subscriberAdd($email,$merge_vars, $extra_data = "", $use_lists = true)
|
22 |
{
|
23 |
-
$source_data = $this->getSource();
|
24 |
$publication_data = $this->getPublications();
|
25 |
$list_data = "";
|
26 |
|
@@ -70,7 +70,7 @@ class EmailDirect_Integration_Model_Wrapper_subscribers extends EmailDirect_Inte
|
|
70 |
$xml = "<Subscriber><EmailAddress>{$new_mail}</EmailAddress></Subscriber>";
|
71 |
$rc = Mage::getSingleton('emaildirect/wrapper_execute')->sendCommand("subscribers","ChangeEmail",$old_mail,$xml);
|
72 |
|
73 |
-
if(isset($rc->ErrorCode))
|
74 |
{
|
75 |
if ($rc->ErrorCode == 202)
|
76 |
{
|
@@ -88,5 +88,15 @@ class EmailDirect_Integration_Model_Wrapper_subscribers extends EmailDirect_Inte
|
|
88 |
{
|
89 |
$rc = Mage::getSingleton('emaildirect/wrapper_execute')->sendCommand("subscribers","Properties",$email);
|
90 |
return $rc;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
91 |
}
|
92 |
}
|
4 |
{
|
5 |
public function subscriberModify($email,$merge_vars)
|
6 |
{
|
7 |
+
$source_data = $this->getSource($email);
|
8 |
$custom_fields = $this->getCustomFields($merge_vars);
|
9 |
$list_data = $this->getLists();
|
10 |
$publication_data = $this->getPublications();
|
20 |
|
21 |
public function subscriberAdd($email,$merge_vars, $extra_data = "", $use_lists = true)
|
22 |
{
|
23 |
+
$source_data = $this->getSource($email);
|
24 |
$publication_data = $this->getPublications();
|
25 |
$list_data = "";
|
26 |
|
70 |
$xml = "<Subscriber><EmailAddress>{$new_mail}</EmailAddress></Subscriber>";
|
71 |
$rc = Mage::getSingleton('emaildirect/wrapper_execute')->sendCommand("subscribers","ChangeEmail",$old_mail,$xml);
|
72 |
|
73 |
+
if (isset($rc->ErrorCode))
|
74 |
{
|
75 |
if ($rc->ErrorCode == 202)
|
76 |
{
|
88 |
{
|
89 |
$rc = Mage::getSingleton('emaildirect/wrapper_execute')->sendCommand("subscribers","Properties",$email);
|
90 |
return $rc;
|
91 |
+
}
|
92 |
+
|
93 |
+
public function subscriberExists($email)
|
94 |
+
{
|
95 |
+
$rc = Mage::getSingleton('emaildirect/wrapper_execute')->sendCommand("subscribers","",$email);
|
96 |
+
|
97 |
+
if (isset($rc->ErrorCode))
|
98 |
+
return false;
|
99 |
+
|
100 |
+
return true;
|
101 |
}
|
102 |
}
|
app/code/local/EmailDirect/Integration/controllers/AbandonedController.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
class EmailDirect_Integration_AbandonedController extends Mage_Core_Controller_Front_Action
|
3 |
-
{
|
4 |
public function restoreAction()
|
5 |
{
|
6 |
$coded_cart = Mage::app()->getRequest()->getParam('cart');
|
@@ -31,7 +31,7 @@ class EmailDirect_Integration_AbandonedController extends Mage_Core_Controller_F
|
|
31 |
$quote->getBillingAddress();
|
32 |
$quote->collectTotals();
|
33 |
$quote->save();
|
34 |
-
|
35 |
$this->getCheckout()->setQuoteId($quote->getId());
|
36 |
}
|
37 |
|
1 |
<?php
|
2 |
class EmailDirect_Integration_AbandonedController extends Mage_Core_Controller_Front_Action
|
3 |
+
{
|
4 |
public function restoreAction()
|
5 |
{
|
6 |
$coded_cart = Mage::app()->getRequest()->getParam('cart');
|
31 |
$quote->getBillingAddress();
|
32 |
$quote->collectTotals();
|
33 |
$quote->save();
|
34 |
+
|
35 |
$this->getCheckout()->setQuoteId($quote->getId());
|
36 |
}
|
37 |
|
app/code/local/EmailDirect/Integration/controllers/Admin/ExportController.php
CHANGED
@@ -10,8 +10,9 @@ class EmailDirect_Integration_Admin_ExportController extends Mage_Adminhtml_Cont
|
|
10 |
{
|
11 |
$from = $this->getRequest()->getParam('from');
|
12 |
$to = $this->getRequest()->getParam('to');
|
|
|
13 |
|
14 |
-
$orders = Mage::helper('emaildirect')->getOrderExportCollection($from
|
15 |
|
16 |
echo $orders->getSize();
|
17 |
}
|
@@ -33,7 +34,7 @@ class EmailDirect_Integration_Admin_ExportController extends Mage_Adminhtml_Cont
|
|
33 |
|
34 |
private function setConfiguration()
|
35 |
{
|
36 |
-
$config_options = array('include_disabled');
|
37 |
|
38 |
$changed = false;
|
39 |
|
10 |
{
|
11 |
$from = $this->getRequest()->getParam('from');
|
12 |
$to = $this->getRequest()->getParam('to');
|
13 |
+
$include = $this->getRequest()->getParam('include');
|
14 |
|
15 |
+
$orders = Mage::helper('emaildirect')->getOrderExportCollection($from, $to, $include);
|
16 |
|
17 |
echo $orders->getSize();
|
18 |
}
|
34 |
|
35 |
private function setConfiguration()
|
36 |
{
|
37 |
+
$config_options = array('include_disabled','include_already_sent');
|
38 |
|
39 |
$changed = false;
|
40 |
|
app/code/local/EmailDirect/Integration/etc/config.xml
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
<config>
|
3 |
<modules>
|
4 |
<EmailDirect_Integration>
|
5 |
-
<version>1.5.
|
6 |
</EmailDirect_Integration>
|
7 |
</modules>
|
8 |
<global>
|
@@ -249,7 +249,7 @@
|
|
249 |
<active>0</active>
|
250 |
<sourceid>0</sourceid>
|
251 |
<source>Magento</source>
|
252 |
-
<
|
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>
|
@@ -260,10 +260,13 @@
|
|
260 |
<save_latest_order>0</save_latest_order>
|
261 |
<product_fields>3</product_fields>
|
262 |
<related_fields>2</related_fields>
|
|
|
263 |
</general>
|
264 |
<export>
|
265 |
<include_disabled>1</include_disabled>
|
|
|
266 |
<batch>100</batch>
|
|
|
267 |
</export>
|
268 |
<troubleshooting>
|
269 |
<enabled>0</enabled>
|
2 |
<config>
|
3 |
<modules>
|
4 |
<EmailDirect_Integration>
|
5 |
+
<version>1.5.5</version>
|
6 |
</EmailDirect_Integration>
|
7 |
</modules>
|
8 |
<global>
|
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>
|
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>
|
app/code/local/EmailDirect/Integration/etc/system.xml
CHANGED
@@ -25,6 +25,7 @@
|
|
25 |
<show_in_default>1</show_in_default>
|
26 |
<show_in_website>1</show_in_website>
|
27 |
<show_in_store>1</show_in_store>
|
|
|
28 |
<fields>
|
29 |
<active translate="label">
|
30 |
<label>Enabled</label>
|
@@ -34,6 +35,7 @@
|
|
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 |
</active>
|
38 |
<apikey translate="label comment">
|
39 |
<label>API Key</label>
|
@@ -44,6 +46,16 @@
|
|
44 |
<show_in_store>1</show_in_store>
|
45 |
<comment>Enter your EmailDirect API Key here</comment>
|
46 |
</apikey>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
47 |
<publication translate="label comment">
|
48 |
<label>Publication</label>
|
49 |
<frontend_type>select</frontend_type>
|
@@ -54,6 +66,7 @@
|
|
54 |
<show_in_store>1</show_in_store>
|
55 |
<can_be_empty>1</can_be_empty>
|
56 |
<comment>This is the Publication that emails will be subscribed to and is required</comment>
|
|
|
57 |
</publication>
|
58 |
<additional_lists translate="label comment">
|
59 |
<label>Additional Lists</label>
|
@@ -65,6 +78,7 @@
|
|
65 |
<show_in_store>1</show_in_store>
|
66 |
<can_be_empty>1</can_be_empty>
|
67 |
<comment>Choose one or more Lists to allow your subscribers more options when subscribing. Not required</comment>
|
|
|
68 |
</additional_lists>
|
69 |
<source translate="label comment">
|
70 |
<label>Source</label>
|
@@ -75,7 +89,20 @@
|
|
75 |
<show_in_store>1</show_in_store>
|
76 |
<can_be_empty>0</can_be_empty>
|
77 |
<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>
|
|
|
78 |
</source>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
79 |
<address_fields translate="label comment">
|
80 |
<label>Address Fields Mapping</label>
|
81 |
<frontend_model>emaildirect/adminhtml_system_config_form_field_addressmapfields</frontend_model>
|
@@ -84,6 +111,7 @@
|
|
84 |
<show_in_default>1</show_in_default>
|
85 |
<show_in_website>0</show_in_website>
|
86 |
<show_in_store>1</show_in_store>
|
|
|
87 |
</address_fields>
|
88 |
<map_fields translate="label comment">
|
89 |
<label>Customer Fields Mapping</label>
|
@@ -93,6 +121,7 @@
|
|
93 |
<show_in_default>1</show_in_default>
|
94 |
<show_in_website>0</show_in_website>
|
95 |
<show_in_store>1</show_in_store>
|
|
|
96 |
</map_fields>
|
97 |
<shipping_fields translate="label comment">
|
98 |
<label>Shipping Fields Mapping</label>
|
@@ -102,6 +131,7 @@
|
|
102 |
<show_in_default>1</show_in_default>
|
103 |
<show_in_website>0</show_in_website>
|
104 |
<show_in_store>1</show_in_store>
|
|
|
105 |
</shipping_fields>
|
106 |
<checkout_subscribe translate="label comment">
|
107 |
<label>Subscribe On Checkout</label>
|
@@ -112,6 +142,7 @@
|
|
112 |
<show_in_website>0</show_in_website>
|
113 |
<show_in_store>1</show_in_store>
|
114 |
<comment>Show Newsletter Subscribe checkbox in the last Checkout Step (Order Review)</comment>
|
|
|
115 |
</checkout_subscribe>
|
116 |
<sendorder translate="label">
|
117 |
<label>Send orders to EmailDirect</label>
|
@@ -122,16 +153,30 @@
|
|
122 |
<show_in_website>1</show_in_website>
|
123 |
<show_in_store>1</show_in_store>
|
124 |
<comment>Sends all completed orders to EmailDirect Purchase Behavior for detailed reporting, filtering and targeting</comment>
|
|
|
125 |
</sendorder>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
126 |
<save_latest_order translate="label">
|
127 |
<label>Save Latest Order Information</label>
|
128 |
<frontend_type>select</frontend_type>
|
129 |
<source_model>adminhtml/system_config_source_yesno</source_model>
|
130 |
-
<sort_order>
|
131 |
<show_in_default>1</show_in_default>
|
132 |
<show_in_website>1</show_in_website>
|
133 |
<show_in_store>1</show_in_store>
|
134 |
<comment>Save information from the latest order along with the first 3 products from that order</comment>
|
|
|
135 |
</save_latest_order>
|
136 |
<sendabandoned translate="label">
|
137 |
<label>Add Abandoned Carts To EmailDirect</label>
|
@@ -142,6 +187,7 @@
|
|
142 |
<show_in_website>1</show_in_website>
|
143 |
<show_in_store>1</show_in_store>
|
144 |
<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>
|
|
|
145 |
</sendabandoned>
|
146 |
<abandonedtime translate="label comment">
|
147 |
<label>Abandoned Time</label>
|
@@ -152,6 +198,7 @@
|
|
152 |
<show_in_website>1</show_in_website>
|
153 |
<show_in_store>1</show_in_store>
|
154 |
<comment>How long before a cart is considered abandoned?</comment>
|
|
|
155 |
</abandonedtime>
|
156 |
<abandonedpublication translate="label comment">
|
157 |
<label>Abandoned Publication</label>
|
@@ -163,6 +210,7 @@
|
|
163 |
<show_in_store>1</show_in_store>
|
164 |
<can_be_empty>1</can_be_empty>
|
165 |
<comment>This is the Publication that you will put abandoned shoppers into</comment>
|
|
|
166 |
</abandonedpublication>
|
167 |
<abandonedlist translate="label comment">
|
168 |
<label>Abandoned List</label>
|
@@ -174,6 +222,7 @@
|
|
174 |
<show_in_store>1</show_in_store>
|
175 |
<can_be_empty>1</can_be_empty>
|
176 |
<comment>This is the List that you will put abandoned shoppers into. Not Required.</comment>
|
|
|
177 |
</abandonedlist>
|
178 |
</fields>
|
179 |
</general>
|
@@ -194,6 +243,16 @@
|
|
194 |
<show_in_website>1</show_in_website>
|
195 |
<show_in_store>1</show_in_store>
|
196 |
</heading_orders>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
197 |
<export_orders_range>
|
198 |
<label>Order Date Range</label>
|
199 |
<frontend_model>emaildirect/adminhtml_system_config_form_field_export_range</frontend_model>
|
@@ -252,6 +311,16 @@
|
|
252 |
<can_be_empty>1</can_be_empty>
|
253 |
<comment>Export Products to CSV and send the CSV file to Emaildirect (opens in new window)</comment>
|
254 |
</export_button>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
255 |
</fields>
|
256 |
</export>
|
257 |
<troubleshooting translate="label comment">
|
25 |
<show_in_default>1</show_in_default>
|
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>
|
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>
|
46 |
<show_in_store>1</show_in_store>
|
47 |
<comment>Enter your EmailDirect API Key here</comment>
|
48 |
</apikey>
|
49 |
+
<apikey_instructions>
|
50 |
+
<label>Get your API Key</label>
|
51 |
+
<frontend_model>emaildirect/adminhtml_system_config_form_field_note</frontend_model>
|
52 |
+
<text>Testing</text>
|
53 |
+
<sort_order>21</sort_order>
|
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>
|
61 |
<frontend_type>select</frontend_type>
|
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 |
<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 |
<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>
|
96 |
+
<frontend_type>select</frontend_type>
|
97 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
98 |
+
<sort_order>50</sort_order>
|
99 |
+
<show_in_default>1</show_in_default>
|
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 |
<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 |
<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 |
<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>
|
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>
|
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>
|
160 |
+
<frontend_type>multiselect</frontend_type>
|
161 |
+
<source_model>emaildirect/system_config_source_states</source_model>
|
162 |
+
<sort_order>86</sort_order>
|
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>
|
172 |
<frontend_type>select</frontend_type>
|
173 |
<source_model>adminhtml/system_config_source_yesno</source_model>
|
174 |
+
<sort_order>88</sort_order>
|
175 |
<show_in_default>1</show_in_default>
|
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>
|
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 |
<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 |
<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 |
<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>
|
243 |
<show_in_website>1</show_in_website>
|
244 |
<show_in_store>1</show_in_store>
|
245 |
</heading_orders>
|
246 |
+
<include_already_sent translate="label">
|
247 |
+
<label>Include orders already sent?</label>
|
248 |
+
<frontend_type>select</frontend_type>
|
249 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
250 |
+
<sort_order>5</sort_order>
|
251 |
+
<show_in_default>1</show_in_default>
|
252 |
+
<show_in_website>1</show_in_website>
|
253 |
+
<show_in_store>1</show_in_store>
|
254 |
+
<comment>This option allows you to include or exclude orders that have been sent directly to EmailDirect through the normal order creation process.</comment>
|
255 |
+
</include_already_sent>
|
256 |
<export_orders_range>
|
257 |
<label>Order Date Range</label>
|
258 |
<frontend_model>emaildirect/adminhtml_system_config_form_field_export_range</frontend_model>
|
311 |
<can_be_empty>1</can_be_empty>
|
312 |
<comment>Export Products to CSV and send the CSV file to Emaildirect (opens in new window)</comment>
|
313 |
</export_button>
|
314 |
+
<export_na>
|
315 |
+
<label>Export Not Available</label>
|
316 |
+
<frontend_type>label</frontend_type>
|
317 |
+
<sort_order>1000</sort_order>
|
318 |
+
<show_in_default>0</show_in_default>
|
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>
|
326 |
<troubleshooting translate="label comment">
|
app/code/local/EmailDirect/Integration/sql/emaildirect_setup/mysql4-upgrade-1.5.4-1.5.5.php
ADDED
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
$installer = $this;
|
4 |
+
|
5 |
+
$installer->startSetup();
|
6 |
+
|
7 |
+
try
|
8 |
+
{
|
9 |
+
$installer->run("
|
10 |
+
ALTER TABLE `{$this->getTable('sales_flat_order')}`
|
11 |
+
add column `sent_to_emaildirect` BOOLEAN NULL DEFAULT 0
|
12 |
+
");
|
13 |
+
}
|
14 |
+
catch (Exception $e)
|
15 |
+
{
|
16 |
+
// Ignore
|
17 |
+
}
|
18 |
+
|
19 |
+
$installer->endSetup();
|
app/design/adminhtml/default/default/template/emaildirect/system/config/form/field/array.phtml
CHANGED
@@ -33,35 +33,35 @@ if (!$this->_addAfter) {
|
|
33 |
$_colspan -= 1;
|
34 |
}
|
35 |
$_colspan = $_colspan > 1 ? 'colspan="' . $_colspan . '"' : '';
|
|
|
|
|
36 |
?>
|
37 |
|
|
|
38 |
<div class="grid" id="grid<?php echo $_htmlId ?>">
|
39 |
<table cellpadding="0" cellspacing="0" class="border">
|
40 |
<tbody>
|
41 |
-
|
42 |
<tr class="headings" id="headings<?php echo $_htmlId ?>">
|
43 |
<?php foreach ($this->_columns as $columnName => $column):?>
|
44 |
<th><?php echo $column['label'] ?></th>
|
45 |
<?php endforeach;?>
|
46 |
<th <?php echo $_colspan?>></th>
|
47 |
</tr>
|
48 |
-
|
49 |
<tr id="addRow<?php echo $_htmlId ?>">
|
50 |
<td colspan="<?php echo count($this->_columns) ?>"></td>
|
51 |
<td <?php echo $_colspan?>>
|
52 |
<button style="" onclick="" class="scalable add" type="button" id="addToEndBtn<?php echo $_htmlId ?>">
|
53 |
-
<span
|
54 |
</button>
|
55 |
</td>
|
56 |
</tr>
|
57 |
-
|
58 |
</tbody>
|
59 |
</table>
|
60 |
<input type="hidden" name="<?php echo $this->getElement()->getName() ?>[__empty]" value="" />
|
61 |
</div>
|
62 |
<div id="empty<?php echo $_htmlId ?>">
|
63 |
<button style="" onclick="" class="scalable add" type="button" id="emptyAddBtn<?php echo $_htmlId ?>">
|
64 |
-
<span
|
65 |
</button>
|
66 |
</div>
|
67 |
|
@@ -78,9 +78,9 @@ var arrayRow<?php echo $_htmlId ?> = {
|
|
78 |
+'<\/td>'
|
79 |
<?php endforeach;?>
|
80 |
<?php if ($this->_addAfter):?>
|
81 |
-
+'<td><button onclick="" class="scalable add" type="button" id="addAfterBtn#{_id}"><span
|
82 |
<?php endif;?>
|
83 |
-
+'<td><button onclick="arrayRow<?php echo $_htmlId ?>.del(\'#{_id}\')" class="scalable delete" type="button"><span
|
84 |
+'<\/tr>'
|
85 |
),
|
86 |
|
33 |
$_colspan -= 1;
|
34 |
}
|
35 |
$_colspan = $_colspan > 1 ? 'colspan="' . $_colspan . '"' : '';
|
36 |
+
|
37 |
+
|
38 |
?>
|
39 |
|
40 |
+
<div id="<?php echo $this->getElement()->getHtmlId(); ?>" style='display:none'></div>
|
41 |
<div class="grid" id="grid<?php echo $_htmlId ?>">
|
42 |
<table cellpadding="0" cellspacing="0" class="border">
|
43 |
<tbody>
|
|
|
44 |
<tr class="headings" id="headings<?php echo $_htmlId ?>">
|
45 |
<?php foreach ($this->_columns as $columnName => $column):?>
|
46 |
<th><?php echo $column['label'] ?></th>
|
47 |
<?php endforeach;?>
|
48 |
<th <?php echo $_colspan?>></th>
|
49 |
</tr>
|
|
|
50 |
<tr id="addRow<?php echo $_htmlId ?>">
|
51 |
<td colspan="<?php echo count($this->_columns) ?>"></td>
|
52 |
<td <?php echo $_colspan?>>
|
53 |
<button style="" onclick="" class="scalable add" type="button" id="addToEndBtn<?php echo $_htmlId ?>">
|
54 |
+
<span><?php echo $this->_addButtonLabel ?></span>
|
55 |
</button>
|
56 |
</td>
|
57 |
</tr>
|
|
|
58 |
</tbody>
|
59 |
</table>
|
60 |
<input type="hidden" name="<?php echo $this->getElement()->getName() ?>[__empty]" value="" />
|
61 |
</div>
|
62 |
<div id="empty<?php echo $_htmlId ?>">
|
63 |
<button style="" onclick="" class="scalable add" type="button" id="emptyAddBtn<?php echo $_htmlId ?>">
|
64 |
+
<span><?php echo $this->_addButtonLabel ?></span>
|
65 |
</button>
|
66 |
</div>
|
67 |
|
78 |
+'<\/td>'
|
79 |
<?php endforeach;?>
|
80 |
<?php if ($this->_addAfter):?>
|
81 |
+
+'<td><button onclick="" class="scalable add" type="button" id="addAfterBtn#{_id}"><span><?php echo Mage::helper('adminhtml')->__('Add after') ?><\/span><\/button><\/td>'
|
82 |
<?php endif;?>
|
83 |
+
+'<td><button onclick="arrayRow<?php echo $_htmlId ?>.del(\'#{_id}\')" class="scalable delete" type="button"><span><?php echo Mage::helper('adminhtml')->__('Delete') ?><\/span><\/button><\/td>'
|
84 |
+'<\/tr>'
|
85 |
),
|
86 |
|
app/design/adminhtml/default/default/template/emaildirect/system/config/form/field/export/date_range.phtml
CHANGED
@@ -1,3 +1,4 @@
|
|
|
|
1 |
<span>From: </span><input style="width: 75px;" type="text" name="order_export_from" id="order_export_from" value="<?php echo $this->getFromDate() ?>" class="input-text">
|
2 |
<img src="<?php echo $this->getSkinUrl('images/grid-cal.gif'); ?>" alt="Select From Date" class="v-middle" title="Select From Date" id="from_trig">
|
3 |
<span> to: </span>
|
@@ -50,7 +51,15 @@
|
|
50 |
Calendar.setup(calendarSetupObject2);
|
51 |
|
52 |
var url = '<?php echo $this->getUrl("emaildirect/admin_export/count/"); ?>';
|
53 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
54 |
$('order_export_from').observe('change', function(event)
|
55 |
{
|
56 |
if (!validateDates())
|
@@ -101,11 +110,14 @@ function dateRangeChange()
|
|
101 |
{
|
102 |
var from = $('order_export_from').value;
|
103 |
var to = $('order_export_to').value;
|
|
|
|
|
|
|
104 |
|
105 |
$('orders_found').update("???");
|
106 |
|
107 |
new Ajax.Request(url + (url.match(new RegExp('\\?')) ? '&isAjax=true' : '?isAjax=true' ), {
|
108 |
-
parameters : {from: from, to: to},
|
109 |
method : 'post',
|
110 |
loaderArea : false,
|
111 |
onSuccess : function(transport)
|
1 |
+
<div id="<?php echo $this->getElement()->getHtmlId(); ?>" style='display:none'></div>
|
2 |
<span>From: </span><input style="width: 75px;" type="text" name="order_export_from" id="order_export_from" value="<?php echo $this->getFromDate() ?>" class="input-text">
|
3 |
<img src="<?php echo $this->getSkinUrl('images/grid-cal.gif'); ?>" alt="Select From Date" class="v-middle" title="Select From Date" id="from_trig">
|
4 |
<span> to: </span>
|
51 |
Calendar.setup(calendarSetupObject2);
|
52 |
|
53 |
var url = '<?php echo $this->getUrl("emaildirect/admin_export/count/"); ?>';
|
54 |
+
|
55 |
+
$('emaildirect_export_include_already_sent').observe('change', function(event)
|
56 |
+
{
|
57 |
+
if (!validateDates())
|
58 |
+
return;
|
59 |
+
|
60 |
+
dateRangeChange();
|
61 |
+
});
|
62 |
+
|
63 |
$('order_export_from').observe('change', function(event)
|
64 |
{
|
65 |
if (!validateDates())
|
110 |
{
|
111 |
var from = $('order_export_from').value;
|
112 |
var to = $('order_export_to').value;
|
113 |
+
var include = $('emaildirect_export_include_already_sent').value;
|
114 |
+
|
115 |
+
//var include_disabled = form['groups[export][fields][include_disabled][value]'];
|
116 |
|
117 |
$('orders_found').update("???");
|
118 |
|
119 |
new Ajax.Request(url + (url.match(new RegExp('\\?')) ? '&isAjax=true' : '?isAjax=true' ), {
|
120 |
+
parameters : {from: from, to: to, include: include},
|
121 |
method : 'post',
|
122 |
loaderArea : false,
|
123 |
onSuccess : function(transport)
|
app/design/adminhtml/default/default/template/emaildirect/system/config/form/field/export/orders.phtml
CHANGED
@@ -1,3 +1,4 @@
|
|
|
|
1 |
<button id='emaildirect_export_orders' onClick="perform_order_export(); return false;">Export Orders</button>
|
2 |
<script type='text/javascript'>
|
3 |
function perform_order_export()
|
@@ -5,9 +6,10 @@ function perform_order_export()
|
|
5 |
var form = $('config_edit_form');
|
6 |
var from = form['order_export_from'];
|
7 |
var to = form['order_export_to'];
|
|
|
8 |
var url = '<?php echo $this->getUrl("emaildirect/admin_export/orders/"); ?>';
|
9 |
|
10 |
-
url += 'export_from/' + $(from).getValue() + '/export_to/' + $(to).getValue() + '/';
|
11 |
|
12 |
window.open(url);
|
13 |
}
|
1 |
+
<div id="<?php echo $this->getElement()->getHtmlId(); ?>" style='display:none'></div>
|
2 |
<button id='emaildirect_export_orders' onClick="perform_order_export(); return false;">Export Orders</button>
|
3 |
<script type='text/javascript'>
|
4 |
function perform_order_export()
|
6 |
var form = $('config_edit_form');
|
7 |
var from = form['order_export_from'];
|
8 |
var to = form['order_export_to'];
|
9 |
+
var include = form['groups[export][fields][include_already_sent][value]'];
|
10 |
var url = '<?php echo $this->getUrl("emaildirect/admin_export/orders/"); ?>';
|
11 |
|
12 |
+
url += 'export_from/' + $(from).getValue() + '/export_to/' + $(to).getValue() + '/include_already_sent/' + $(include).getValue() + '/';
|
13 |
|
14 |
window.open(url);
|
15 |
}
|
app/design/adminhtml/default/default/template/emaildirect/system/config/form/field/export/products.phtml
CHANGED
@@ -1,3 +1,4 @@
|
|
|
|
1 |
<button id='emaildirect_export_products' onClick="perform_product_export(); return false;">Export Products</button>
|
2 |
<script type='text/javascript'>
|
3 |
function perform_product_export()
|
1 |
+
<div id="<?php echo $this->getElement()->getHtmlId(); ?>" style='display:none'></div>
|
2 |
<button id='emaildirect_export_products' onClick="perform_product_export(); return false;">Export Products</button>
|
3 |
<script type='text/javascript'>
|
4 |
function perform_product_export()
|
app/design/adminhtml/default/default/template/emaildirect/system/config/form/field/note.phtml
ADDED
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
1 |
+
<div id="<?php echo $this->getElement()->getHtmlId(); ?>" style='display:none'></div>
|
2 |
+
<p>You can retrieve an API Key by going to your EmailDirect account and clicking on Account Setup, then navigating to the API Keys tab.</p>
|
3 |
+
<br />
|
4 |
+
<p>If you do not have an EmailDirect account, please email us at <a href="mailto:Sales@EmailDirect.com">Sales@EmailDirect.com</a> or call 916-439-6948. You can also visit our website at <a href="http://www.EmailDirect.com">http://www.EmailDirect.com</a> to learn more about this integration and other features that we offer.</p>
|
app/design/adminhtml/default/default/template/emaildirect/system/config/form/field/trouble.phtml
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
|
5 |
$enabled = $element->getValue() == true;
|
6 |
?>
|
7 |
-
|
8 |
<span class='trouble_status'>Status: <strong><?php if ($enabled) echo "Enabled"; else echo "Disabled" ?></strong></span>
|
9 |
<button id='emaildirect_trouble' onClick="toggle_trouble();"><?php if ($enabled) echo "Disable"; else echo "Enable" ?></button>
|
10 |
<input type='hidden' name='<?php echo $this->getElement()->getName() ?>' value='<?php echo $this->getElement()->getValue() ?>'/>
|
4 |
|
5 |
$enabled = $element->getValue() == true;
|
6 |
?>
|
7 |
+
<div id="<?php echo $this->getElement()->getHtmlId(); ?>" style='display:none'></div>
|
8 |
<span class='trouble_status'>Status: <strong><?php if ($enabled) echo "Enabled"; else echo "Disabled" ?></strong></span>
|
9 |
<button id='emaildirect_trouble' onClick="toggle_trouble();"><?php if ($enabled) echo "Disable"; else echo "Enable" ?></button>
|
10 |
<input type='hidden' name='<?php echo $this->getElement()->getName() ?>' value='<?php echo $this->getElement()->getValue() ?>'/>
|
app/design/adminhtml/default/default/template/emaildirect/troubleshooting/view/tab/info.phtml
CHANGED
@@ -1,5 +1,3 @@
|
|
1 |
-
|
2 |
-
|
3 |
<?php
|
4 |
$environment = $this->getEnvironmentInfo();
|
5 |
$store_configuration = $this->getConfigurationInfo();
|
|
|
|
|
1 |
<?php
|
2 |
$environment = $this->getEnvironmentInfo();
|
3 |
$store_configuration = $this->getConfigurationInfo();
|
package.xml
CHANGED
@@ -1,18 +1,22 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>EmailDirect_Integration</name>
|
4 |
-
<version>1.5.
|
5 |
<stability>stable</stability>
|
6 |
<license>GNU</license>
|
7 |
<channel>community</channel>
|
8 |
<extends/>
|
9 |
<summary>EmailDirect integration for magento</summary>
|
10 |
<description>EmailDirect integration for magento</description>
|
11 |
-
<notes>
|
|
|
|
|
|
|
|
|
12 |
<authors><author><name>Kevin Linden</name><user>auto-converted</user><email>Kevin@EmailDirect.com</email></author></authors>
|
13 |
-
<date>2013-
|
14 |
-
<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="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="
|
16 |
<compatible/>
|
17 |
<dependencies/>
|
18 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>EmailDirect_Integration</name>
|
4 |
+
<version>1.5.5</version>
|
5 |
<stability>stable</stability>
|
6 |
<license>GNU</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.
|
12 |
+
Configure which order state(s) will be sent to EmailDirect.
|
13 |
+
Override option for Sources on existing records
|
14 |
+
Debug/Troubleshooting improvements
|
15 |
+
Misc fixes</notes>
|
16 |
<authors><author><name>Kevin Linden</name><user>auto-converted</user><email>Kevin@EmailDirect.com</email></author></authors>
|
17 |
+
<date>2013-09-17</date>
|
18 |
+
<time>04:14:30</time>
|
19 |
+
<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="932ee080796b39687ab7529ac1f18786"/></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="8f624530d0e1a6925ec3c790dc93f36a"/></dir></dir><file name="Account.php" hash="60fa8e43a87e1f2ff71c319c979556b2"/></dir><dir name="Convert"><dir name="Profile"><dir name="Export"><file name="Orders.php" hash="49469cd6a128f8b49d88a5f563492c02"/><file name="Products.php" hash="a58d1d192ef82fd6ce032db7455b11b8"/></dir><file name="Export.php" hash="8ab53088f2dd35ca001e9a063a5c6e64"/></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="7cd8350545f6b6119b2c91b3fc6ae562"/></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="be990388656b8bf9b0bce1139703df4c"/><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="66f81ac132c84c76039dfa3c21b73948"/></dir><dir name="controllers"><dir name="Admin"><file name="AbandonedController.php" hash="a662c919ac3fae1503616a1795c96cf9"/><file name="ExportController.php" hash="0c3d4a316b1ea0d5220aa393be09e537"/><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="18efc4651839152794bf06c3bf4a6bb1"/></dir><dir name="etc"><file name="adminhtml.xml" hash="896c10d8a3f932346e7d301052b1b6a6"/><file name="config.xml" hash="9e84845c60a44061907dc9ded33aefa0"/><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="886dd8c9a1526110c615ed6630664d0a"/><file name="orders.phtml" hash="f1e91768c0fc0a228905bd7da42131a6"/><file name="products.phtml" hash="99b88859146f490f87690cd44cabc999"/></dir><file name="array.phtml" hash="5415eeff311735624354468c886d39b5"/><file name="note.phtml" hash="6625a3771ba10daba5ded5570574716f"/><file name="trouble.phtml" hash="6a761369b4f85a78ea518b38f12d22ba"/></dir></dir></dir><dir name="convert"><dir name="profile"><file name="export.phtml" hash="ae27366ebd59f082f1a2dd000b41081b"/><file name="export_orders.phtml" hash="d41d8cd98f00b204e9800998ecf8427e"/></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>
|
20 |
<compatible/>
|
21 |
<dependencies/>
|
22 |
</package>
|
skin/adminhtml/default/default/emaildirect/emaildirect.css
CHANGED
@@ -1,12 +1,11 @@
|
|
1 |
-
ul.tabs a.emaildirect-section:hover { background-color:#D8E6E6; background-image:url(images/tabs_link_over_bg.gif); }
|
2 |
-
|
3 |
ul.tabs a.emaildirect-section,
|
4 |
ul.tabs a.emaildirect-section:hover {background: url("../images/tabs_span_bg.gif") repeat-x scroll 0 100% transparent; border-bottom:none; padding:0.5em 0.5em 0.5em 1.5em; text-indent:-9999px;}
|
5 |
|
6 |
-
ul.tabs a.emaildirect-section
|
7 |
-
ul.tabs a.emaildirect-section:hover span { background:url(emaildirect-tab.png) no-repeat 0 0; overflow:hidden; padding:0; width:120px; height:24px;}
|
8 |
|
9 |
-
ul.tabs a.emaildirect-section
|
|
|
|
|
10 |
|
11 |
h3.emaildirect-header { background:url(emaildirect-tab.png) no-repeat 0 0; height: 24px; overflow:hidden; padding:0; width:120px; text-indent:-9999px; }
|
12 |
|
@@ -55,4 +54,8 @@ div.emaildirect-notice h4 div.abandoned
|
|
55 |
.log_note { color: red; padding: 5px 0;}
|
56 |
.log_size_warning { color: red;}
|
57 |
|
58 |
-
.ed_orders_found { margin-top: 10px; }
|
|
|
|
|
|
|
|
|
|
|
|
1 |
ul.tabs a.emaildirect-section,
|
2 |
ul.tabs a.emaildirect-section:hover {background: url("../images/tabs_span_bg.gif") repeat-x scroll 0 100% transparent; border-bottom:none; padding:0.5em 0.5em 0.5em 1.5em; text-indent:-9999px;}
|
3 |
|
4 |
+
ul.tabs a.emaildirect-section:hover { background-color: #D8E6E6; border-right: solid 1px #8BA5A5;}
|
|
|
5 |
|
6 |
+
ul.tabs a.emaildirect-section span,
|
7 |
+
ul.tabs a.emaildirect-section:hover span { background:url(emaildirect-tab.png) no-repeat 0 0; overflow:hidden; padding:0; width:120px; height:24px; }
|
8 |
+
ul.tabs a.emaildirect-section.active, ul.tabs a.emaildirect-section.active:hover { border-bottom: 1px solid #BEBEBE; background: none repeat scroll 0 0 white;}
|
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 |
|
54 |
.log_note { color: red; padding: 5px 0;}
|
55 |
.log_size_warning { color: red;}
|
56 |
|
57 |
+
.ed_orders_found { margin-top: 10px; }
|
58 |
+
|
59 |
+
.head-adminhtml-troubleshooting {
|
60 |
+
background-image: url("../images/fam_package_go.gif");
|
61 |
+
}
|