Techtwo_Mailplus - Version 2.3.0

Version Notes

Release v2.3.0

Download this release

Release Info

Developer MailPlus
Extension Techtwo_Mailplus
Version 2.3.0
Comparing to
See all releases


Code changes from version 2.2.0 to 2.3.0

Files changed (21) hide show
  1. app/code/community/Techtwo/Mailplus/controllers/Adminhtml/FeedController.php +0 -201
  2. app/code/community/Techtwo/Mailplus/controllers/Adminhtml/FeedsController.php +0 -61
  3. app/code/community/Techtwo/Mailplus/controllers/Adminhtml/MailingsController.php +0 -109
  4. app/code/community/Techtwo/Mailplus/controllers/Adminhtml/SyncstatusController.php +0 -23
  5. app/code/community/Techtwo/Mailplus/controllers/Adminhtml/UsersController.php +0 -522
  6. app/code/community/Techtwo/Mailplus/controllers/{Adminhtml → Mailplus/Adminhtml}/BouncesController.php +3 -4
  7. app/code/community/Techtwo/Mailplus/controllers/{Adminhtml → Mailplus/Adminhtml}/HelpController.php +4 -5
  8. app/code/community/Techtwo/Mailplus/controllers/{Adminhtml → Mailplus/Adminhtml}/MappingController.php +6 -3
  9. app/code/community/Techtwo/Mailplus/controllers/{Adminhtml → Mailplus/Adminhtml}/RestqueueController.php +4 -4
  10. app/code/community/Techtwo/Mailplus/controllers/{Adminhtml → Mailplus/Adminhtml}/StatusController.php +9 -4
  11. app/code/community/Techtwo/Mailplus/etc/adminhtml.xml +77 -0
  12. app/code/community/Techtwo/Mailplus/etc/config.xml +28 -101
  13. app/code/community/Techtwo/Mailplus/sql/mailplus_setup/mysql4-install-2.1.3.php +0 -130
  14. app/code/community/Techtwo/Mailplus/sql/mailplus_setup/mysql4-install-2.1.4.php +0 -130
  15. app/code/community/Techtwo/Mailplus/sql/mailplus_setup/mysql4-install-2.1.5.php +0 -130
  16. app/code/community/Techtwo/Mailplus/sql/mailplus_setup/mysql4-install-2.2.0.php +0 -130
  17. app/code/community/Techtwo/Mailplus/sql/mailplus_setup/{mysql4-install-2.1.2.php → mysql4-install-2.3.0.php} +0 -0
  18. app/design/adminhtml/default/default/layout/mailplus.xml +0 -87
  19. app/design/adminhtml/default/default/template/mailplus/notifications.phtml +2 -2
  20. app/design/adminhtml/default/default/template/mailplus/status.phtml +1 -1
  21. package.xml +6 -6
app/code/community/Techtwo/Mailplus/controllers/Adminhtml/FeedController.php DELETED
@@ -1,201 +0,0 @@
1
- <?php
2
- /*
3
- * Copyright 2014 MailPlus
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
6
- * use this file except in compliance with the License. You may obtain a copy
7
- * of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
13
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
14
- * License for the specific language governing permissions and limitations
15
- * under the License.
16
- */
17
- class Techtwo_Mailplus_Adminhtml_FeedController extends Mage_Adminhtml_Controller_Action
18
- {
19
- public function indexAction()
20
- {
21
- $this->loadLayout()
22
- ->_setActiveMenu('mailplus')
23
- ->renderLayout();
24
- }
25
-
26
- public function newAction()
27
- {
28
- Mage::unregister('mailplus_feed_data');
29
-
30
- $this->loadLayout();
31
- $this->_setActiveMenu('mailplus');
32
-
33
- $this->_addBreadcrumb(Mage::helper('adminhtml')->__('Item Manager'), Mage::helper('adminhtml')->__('Item Manager'));
34
- $this->_addBreadcrumb(Mage::helper('adminhtml')->__('Item News'), Mage::helper('adminhtml')->__('Item News'));
35
-
36
- $this->getLayout()->getBlock('head')->setCanLoadExtJs(true);
37
-
38
- $this->_addContent($this->getLayout()->createBlock('mailplus/adminhtml_feed_edit'))
39
- ->_addLeft($this->getLayout()->createBlock('mailplus/adminhtml_feed_edit_tabs'));
40
-
41
- $this->renderLayout();
42
- }
43
-
44
- public function editAction()
45
- {
46
- $entityId = (int) $this->getRequest()->getParam('id');
47
- $userModel = $entityId>0? Mage::getModel('mailplus/feed')->load($entityId):NULL;
48
-
49
-
50
- if ( NULL !== $userModel && $userModel->getId())
51
- {
52
-
53
- Mage::register('mailplus_feed_data', $userModel);
54
-
55
- $this->loadLayout();
56
- $this->_setActiveMenu('mailplus');
57
-
58
- $this->_addBreadcrumb(Mage::helper('adminhtml')->__('Item Manager'), Mage::helper('adminhtml')->__('Item Manager'));
59
- $this->_addBreadcrumb(Mage::helper('adminhtml')->__('Item News'), Mage::helper('adminhtml')->__('Item News'));
60
-
61
- $this->getLayout()->getBlock('head')->setCanLoadExtJs(true);
62
-
63
- $this->_addContent($this->getLayout()->createBlock('mailplus/adminhtml_feed_edit'))
64
- ->_addLeft($this->getLayout()->createBlock('mailplus/adminhtml_feed_edit_tabs'));
65
-
66
- $this->renderLayout();
67
- }
68
- else
69
- {
70
- Mage::getSingleton('adminhtml/session')->addError(Mage::helper('mailplus')->__('Product feed item does not exist'));
71
- $this->_redirect('*/*/');
72
- }
73
- }
74
-
75
-
76
-
77
- public function saveAction()
78
- {
79
-
80
- $data = $this->getRequest()->getPost();
81
- if (!$data)
82
- {
83
- Mage::getSingleton('adminhtml/session')->addError(Mage::helper('mailplus')->__('Unable to find mailplus product item'));
84
- $this->_redirect('*/*/');
85
- return;
86
- }
87
-
88
- $model = Mage::getModel('mailplus/feed');
89
- $model->setData($data);
90
-
91
- if ( $this->getRequest()->has('id') )
92
- $model->setId($this->getRequest()->getParam('id'));
93
-
94
-
95
- try
96
- {
97
- $model->save();
98
-
99
- Mage::getSingleton('adminhtml/session')->addSuccess(Mage::helper('mailplus')->__('Product feed item was successfully saved'));
100
- Mage::getSingleton('adminhtml/session')->setFormData(false);
101
-
102
- if ($this->getRequest()->getParam('back'))
103
- {
104
- $this->_redirect('*/*/edit', array('id' => $model->getId()));
105
- return;
106
- }
107
-
108
- $this->_redirect('*/*/');
109
- return;
110
- } catch (Exception $e) {
111
-
112
- if ( $e instanceof Zend_Db_Exception && 23000 === $e->getCode() )
113
- {
114
- if ( stripos($e->getMessage(), 'foreign')!==false && strpos($e->getMessage(), 'catalog_product_entity_id')!==false )
115
- Mage::getSingleton('adminhtml/session')->addError( Mage::helper('mailplus')->__('No product with id %u found', $data['catalog_product_entity_id']) );
116
- else
117
- Mage::getSingleton('adminhtml/session')->addError( Mage::helper('mailplus')->__('This product is already listed in the feed') );
118
- }
119
- else
120
- {
121
- Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
122
- }
123
-
124
- Mage::getSingleton('adminhtml/session')->setMailplusFeedData($data);
125
- if ($this->getRequest()->getParam('back'))
126
- $this->_redirect('*/*/edit', array('id' => $this->getRequest()->getParam('id')));
127
- $this->_redirect('*/*/');
128
- return;
129
- }
130
- }
131
-
132
-
133
- public function massDeleteAction()
134
- {
135
- $delete_ids = $this->_request->getParam('mailplus_feed_mass');
136
- $model = Mage::getModel('mailplus/feed');
137
-
138
- try
139
- {
140
- foreach ( $delete_ids as $id )
141
- {
142
- $id = (int) $id;
143
- if ( $id > 0)
144
- {
145
- $model->load($id);
146
- if ( $model->getId() )
147
- $model->delete();
148
- }
149
- }
150
-
151
- Mage::getSingleton('adminhtml/session')->addSuccess(Mage::helper('mailplus')->__('Product feed item as successfully deleted'));
152
- }
153
- catch (Exception $ex)
154
- {
155
- Mage::getSingleton('adminhtml/session')->addError( $ex->getMessage() );
156
- }
157
-
158
- $this->_redirect('*/*/');
159
- }
160
-
161
-
162
- public function deleteAction()
163
- {
164
- $model = Mage::getModel('mailplus/feed');
165
- $model->load( $this->getRequest()->getParam('id') );
166
- if ( $model && $model->getId() )
167
- {
168
- try
169
- {
170
- $model->delete();
171
- Mage::getSingleton('adminhtml/session')->addSuccess(Mage::helper('mailplus')->__('Product feed item as successfully deleted'));
172
- }
173
- catch (Exception $ex)
174
- {
175
- Mage::getSingleton('adminhtml/session')->addError( $ex->getMessage() );
176
- }
177
- }
178
- else
179
- Mage::getSingleton('adminhtml/session')->addError(Mage::helper('mailplus')->__('Unable to find mailplus product item'));
180
-
181
- $this->_redirect('*/*/');
182
- }
183
-
184
- public function productGridAction()
185
- {
186
- $this->getResponse()->setHeader('Content-Type','text/json');
187
- echo json_encode(array(
188
- 'products' => array('product_2' => 'colman', 'product_3'=>'foo')
189
- ));
190
- return;
191
- $this->loadLayout();
192
- $this->_addContent($this->getLayout()->createBlock('mailplus/adminhtml_users_grid'));
193
- $this->renderLayout();
194
- //$this->getLayout()->createBlock('mailplus/adminhtml_users_grid')->toHtml();
195
- return;
196
- $this->loadLayout();
197
- $this->_addContent($this->getLayout()->createBlock('mailplus/adminhtml_users_grid'));
198
- $this->renderLayout();
199
- }
200
-
201
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Techtwo/Mailplus/controllers/Adminhtml/FeedsController.php DELETED
@@ -1,61 +0,0 @@
1
- <?php
2
- /*
3
- * Copyright 2014 MailPlus
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
6
- * use this file except in compliance with the License. You may obtain a copy
7
- * of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
13
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
14
- * License for the specific language governing permissions and limitations
15
- * under the License.
16
- */
17
- class Techtwo_Mailplus_Adminhtml_FeedsController extends Mage_Adminhtml_Controller_Action
18
- {
19
- public function indexAction()
20
- {
21
- $this->loadLayout()
22
- ->_setActiveMenu('mailplus')
23
- //->_addContent($this->getLayout()->createBlock('mailplus/adminhtml_feeds'))
24
- ->renderLayout();
25
- }
26
-
27
-
28
- public function viewAction()
29
- {
30
- $remove = $this->_request->getParam('remove');
31
- $feed = $this->_request->getParam('feed');
32
-
33
- if ( $remove && $feed )
34
- {
35
- $options = Mage::helper('mailplus/feed')->getAllOptions();
36
- $feed = $this->getRequest()->getParam('feed', '');
37
-
38
- $product = Mage::getModel('catalog/product');
39
- if ( $feed && array_key_exists($feed, $options) && $product->load($remove)->getId() )
40
- {
41
- $mailplus_feeds = array_filter(explode(',', $product->getData('mailplus_feed')));
42
- $key = array_search($feed, $mailplus_feeds);
43
- if ( false !== $key )
44
- unset($mailplus_feeds[$key]);
45
-
46
- $product->setData('mailplus_feed', implode(',', $mailplus_feeds));
47
- $product->save();
48
- }
49
-
50
- $this->_redirect('*/*/*', array('feed'=>$feed));
51
- }
52
-
53
-
54
-
55
- $this->loadLayout()
56
- ->_setActiveMenu('mailplus')
57
- //->_addContent($this->getLayout()->createBlock('mailplus/adminhtml_feeds'))
58
- ->renderLayout();
59
- }
60
-
61
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Techtwo/Mailplus/controllers/Adminhtml/MailingsController.php DELETED
@@ -1,109 +0,0 @@
1
- <?php
2
- /*
3
- * Copyright 2014 MailPlus
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
6
- * use this file except in compliance with the License. You may obtain a copy
7
- * of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
13
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
14
- * License for the specific language governing permissions and limitations
15
- * under the License.
16
- */
17
- class Techtwo_Mailplus_Adminhtml_MailingsController extends Mage_Adminhtml_Controller_Action
18
- {
19
-
20
- public function indexAction()
21
- {
22
- $this->loadLayout()
23
- ->_setActiveMenu('mailplus')
24
- //->_addContent($this->getLayout()->createBlock('mailplus/adminhtml_mailings')) // dynamic add content
25
- ->renderLayout();
26
-
27
- //$model = Mage::getModel("mailplus/mailing")->load(1);
28
- //print_r($model->debug());
29
- }
30
-
31
- public function editAction()
32
- {
33
- $mailingId = $this->getRequest()->getParam('id');
34
- $mailingModel = Mage::getModel('mailplus/mailing')->load($mailingId);
35
-
36
- if ($mailingModel->getId() || $mailingId == 0)
37
- {
38
-
39
- Mage::register('mailplus_mailing_data', $mailingModel);
40
-
41
- $this->loadLayout();
42
- $this->_setActiveMenu('mailplus');
43
-
44
- $this->_addBreadcrumb(Mage::helper('adminhtml')->__('Mailplus'), Mage::helper('adminhtml')->__('Mailing Manager'));
45
- $this->_addBreadcrumb(Mage::helper('adminhtml')->__('Mailplus'), Mage::helper('adminhtml')->__('Mailing News'));
46
-
47
- $this->getLayout()->getBlock('head')->setCanLoadExtJs(true);
48
-
49
- $this->_addContent($this->getLayout()->createBlock('mailplus/adminhtml_mailings_edit'))
50
- ->_addLeft($this->getLayout()->createBlock('mailplus/adminhtml_mailings_edit_tabs'));
51
-
52
- $this->renderLayout();
53
- }
54
- else
55
- {
56
- Mage::getSingleton('adminhtml/session')->addError(Mage::helper('mailplus')->__('Mailing does not exist'));
57
- $this->_redirect('*/*/');
58
- }
59
- }
60
-
61
- public function saveAction()
62
- {
63
- $data = $this->getRequest()->getPost();
64
- if ( empty( $data ) )
65
- {
66
- Mage::getSingleton('adminhtml/session')->addError(Mage::helper('mailplus')->__('Unable to find mailing to save'));
67
- $this->_redirect('*/*/');
68
- }
69
-
70
- $data['startdate'] = date('Y-m-d H:i:s', strtotime($data['startdate']));
71
- $data['enddate'] = date('Y-m-d H:i:s', strtotime($data['enddate']));
72
-
73
- $model = Mage::getModel('mailplus/mailing');
74
- $model->setData($data)
75
- ->setId($this->getRequest()->getParam('id'));
76
-
77
- try {
78
- $model->save();
79
-
80
- // feedback
81
- Mage::getSingleton('adminhtml/session')->addSuccess(Mage::helper('mailplus')->__('Mailing was successfully saved'));
82
- Mage::getSingleton('adminhtml/session')->setFormData(false); // clear data
83
-
84
-
85
- // Redirect
86
-
87
- if ($this->getRequest()->getParam('back')) {
88
- $this->_redirect('*/*/edit', array('id' => $model->getId()));
89
- return;
90
- }
91
- $this->_redirect('*/*/');
92
- return;
93
-
94
- } catch (Exception $e) {
95
- Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
96
- Mage::getSingleton('adminhtml/session')->setFormData($data);
97
- $this->_redirect('*/*/edit', array('id' => $this->getRequest()->getParam('id')));
98
- return;
99
- }
100
-
101
- }
102
-
103
- /*
104
- protected function _addContent(Mage_Core_Block_Abstract $block)
105
- {
106
- $this->getLayout()->getBlock('content')->append($block);
107
- return $this;
108
- } */
109
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Techtwo/Mailplus/controllers/Adminhtml/SyncstatusController.php DELETED
@@ -1,23 +0,0 @@
1
- <?php
2
- /*
3
- * Copyright 2014 MailPlus
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
6
- * use this file except in compliance with the License. You may obtain a copy
7
- * of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
13
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
14
- * License for the specific language governing permissions and limitations
15
- * under the License.
16
- */
17
- class Techtwo_Mailplus_Adminhtml_SyncstatusController extends Mage_Adminhtml_Controller_Action {
18
- public function indexAction() {
19
- $this->loadLayout()
20
- ->_setActiveMenu('mailplus')
21
- ->renderLayout();
22
- }
23
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Techtwo/Mailplus/controllers/Adminhtml/UsersController.php DELETED
@@ -1,522 +0,0 @@
1
- <?php
2
- /*
3
- * Copyright 2014 MailPlus
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
6
- * use this file except in compliance with the License. You may obtain a copy
7
- * of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
13
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
14
- * License for the specific language governing permissions and limitations
15
- * under the License.
16
- */
17
- class Techtwo_Mailplus_Adminhtml_UsersController extends Mage_Adminhtml_Controller_Action
18
- {
19
-
20
- private $_csv_mapping_mailplus_magento = array(
21
- 'Voornaam' => 'firstname',
22
- 'Achternaam' => 'lastname',
23
- 'E-mailadres' => 'email',
24
- 'Test groep_Ja' => 'is_test',
25
- 'Geslacht' => 'gender',
26
- 'Geboortedag' => 'dob',
27
-
28
- // FROM BILLING ADRES
29
- 'Straat' => 'street',
30
- 'Huisnummer' => 'number',
31
- 'Postcode' => 'zipcode',
32
- 'Woonplaats' => 'city',
33
- 'Bedrijfsnaam' => 'company',
34
- 'Telefoon nr.' => 'phone',
35
- // 'Mobiel nr.' => '' MAGENTO HAS NO MOBIEL
36
- );
37
-
38
-
39
- public function indexAction()
40
- {
41
- $this->loadLayout()
42
- ->_setActiveMenu('mailplus')
43
- //->_addContent($this->getLayout()->createBlock('mailplus/adminhtml_users')) // dynamic add content
44
- ->renderLayout();
45
- }
46
-
47
- public function editAction()
48
- {
49
- $userId = $this->getRequest()->getParam('id');
50
- $userModel = Mage::getModel('mailplus/user')->load($userId);
51
-
52
- if ($userModel->getId() || $userId == 0)
53
- {
54
- Mage::register('mailplus_user_data', $userModel);
55
-
56
- $this->loadLayout();
57
- $this->_setActiveMenu('mailplus');
58
-
59
- $this->_addBreadcrumb(Mage::helper('adminhtml')->__('Item Manager'), Mage::helper('adminhtml')->__('Item Manager'));
60
- $this->_addBreadcrumb(Mage::helper('adminhtml')->__('Item News'), Mage::helper('adminhtml')->__('Item News'));
61
-
62
- $this->getLayout()->getBlock('head')->setCanLoadExtJs(true);
63
-
64
- $this->_addContent($this->getLayout()->createBlock('mailplus/adminhtml_users_edit'))
65
- ->_addLeft($this->getLayout()->createBlock('mailplus/adminhtml_users_edit_tabs'));
66
-
67
- $this->renderLayout();
68
- }
69
- else
70
- {
71
- Mage::getSingleton('adminhtml/session')->addError(Mage::helper('mailplus')->__('Item does not exist'));
72
- $this->_redirect('*/*/');
73
- }
74
- }
75
-
76
- public function saveAction()
77
- {
78
-
79
- $data = $this->getRequest()->getPost();
80
- if (!$data)
81
- {
82
- Mage::getSingleton('adminhtml/session')->addError(Mage::helper('mailplus')->__('Unable to find mailplus user to save'));
83
- $this->_redirect('*/*/');
84
- return;
85
- }
86
-
87
- if (array_key_exists('mailplus_id', $data))
88
- unset($data['mailplus_id']);
89
-
90
-
91
- $customer_id = trim($data['customer_id']);
92
- if ( '' === $customer_id || '0' === $customer_id )
93
- {
94
- $customer = NULL;
95
- }
96
- else
97
- {
98
- $customer = Mage::getModel('customer/customer');
99
- if ( $customer->load($data['customer_id'])->getId() < 1 )
100
- {
101
- Mage::getSingleton('adminhtml/session')->addError(Mage::helper('mailplus')->__('Unable to find customer to save'));
102
- Mage::getSingleton('adminhtml/session')->setFormData($data);
103
- $this->_redirect('*/*/edit/', array( 'id' => $this->getRequest()->id ));
104
- return;
105
- }
106
- }
107
-
108
-
109
-
110
-
111
- if ( NULL !== $customer )
112
- {
113
- $data['firstname'] = $customer->getData('firstname');
114
- $data['lastname'] = $customer->getData('lastname');
115
- $data['email'] = $customer->getData('email');
116
- }
117
- else
118
- {
119
- $data['customer_id'] = NULL;
120
- }
121
-
122
- /* @var $model Techtwo_Mailplus_Model_User */
123
- $model = Mage::getModel('mailplus/user');
124
- $model->setData($data)
125
- ->setId($this->getRequest()->getParam('id'));
126
-
127
- try
128
- {
129
- /* @var $rest Techtwo_Mailplus_Helper_Rest */
130
- $rest = Mage::helper('mailplus/rest');
131
-
132
- $stores = Mage::app()->getStores();
133
- $model->save();
134
-
135
- Mage::getSingleton('adminhtml/session')->addSuccess(Mage::helper('mailplus')->__('User was successful saved'));
136
- Mage::getSingleton('adminhtml/session')->setFormData(false);
137
-
138
- if ($this->getRequest()->getParam('back')) {
139
- $this->_redirect('*/*/edit', array('id' => $model->getCustomerId()));
140
- return;
141
- }
142
- $this->_redirect('*/*/');
143
- return;
144
- } catch (Exception $e) {
145
- Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
146
- Mage::getSingleton('adminhtml/session')->setFormData($data);
147
- $this->_redirect('*/*/edit', array('id' => $this->getRequest()->getParam('id')));
148
- return;
149
- }
150
- }
151
-
152
- public function massDeleteAction()
153
- {
154
- /* @var $rest Techtwo_Mailplus_Helper_Rest */
155
- $rest = Mage::helper('mailplus/rest');
156
-
157
- $users_to_delete = $this->_request->getParam('mailplus_user_mass');
158
-
159
- /* @var $userModel Techtwo_Mailplus_Model_User */
160
- $userModel = Mage::getModel('mailplus/user');
161
- try
162
- {
163
- foreach ( $users_to_delete as $id )
164
- {
165
- $id = (int) $id;
166
- $userModel->load($id);
167
- if ( $userModel->getId() )
168
- {
169
- //$userModel->delete();
170
- }
171
- }
172
-
173
- Mage::getSingleton('adminhtml/session')->addSuccess(Mage::helper('mailplus')->__('Users were successfully deleted'));
174
- }
175
- catch (Exception $ex)
176
- {
177
- $status = 'Error occurred : '.$ex->getMessage();
178
- Mage::getSingleton('adminhtml/session')->addError($status);
179
- }
180
-
181
- $this->_redirect('*/*/');
182
- }
183
-
184
- public function deleteAction()
185
- {
186
- /* @var $model Techtwo_Mailplus_Model_User */
187
- $model = Mage::getModel('mailplus/user')->load($this->getRequest()->get('id'));
188
- if ( $model->getId() < 1 )
189
- {
190
- Mage::getSingleton('adminhtml/session')->addError(Mage::helper('mailplus')->__('Unable to find mailplus user to delete on id '.$this->getRequest()->get('id') ));
191
- $this->_redirect('*/*/');
192
- return;
193
- }
194
-
195
- if ( 0 != $model->getData('customer_id') )
196
- {
197
- $customer = Mage::getModel('customer/customer')->load($model->getData('customer_id'));
198
- if ( $customer->getId() < 1 )
199
- $customer = NULL;
200
- }
201
- else
202
- $customer = NULL;
203
-
204
- try {
205
- //$model->delete();
206
- /* @var $rest Techtwo_Mailplus_Helper_Rest */
207
- $rest = Mage::helper('mailplus/rest');
208
- if ( $model->getEnabled() )
209
- {
210
- $model->setEnabled(FALSE);
211
- $model->save();
212
- }
213
-
214
- if ( $customer )
215
- $status = sprintf(Mage::helper('mailplus')->__('User id %s, customer %s (%s) is successful deleted.'), $model->getData('user_id'), $customer->getData('firstname').' '.$customer->getData('middlename').' '.$customer->getData('lastname'), $model->getData('email'));
216
- else
217
- $status = sprintf(Mage::helper('mailplus')->__('User id %s (%s) is successful deleted.'), $model->getData('user_id'), $model->getData('email'));
218
-
219
- Mage::getSingleton('adminhtml/session')->addSuccess($status);
220
- }
221
- catch (Techtwo_Mailplus_Client_Exception $ex)
222
- {
223
- if ( 'CONTACT_NOT_FOUND' === $ex->getType() ) // ok best to remove it here too
224
- {
225
- if ( $customer )
226
- $status = sprintf(Mage::helper('mailplus')->__('User id %s, customer %s (%s) is successful deleted.'), $model->getData('user_id'), $customer->getData('firstname').' '.$customer->getData('middlename').' '.$customer->getData('lastname'), $model->getData('email'));
227
- else
228
- $status = sprintf(Mage::helper('mailplus')->__('User id %s (%s) is successful deleted.'), $model->getData('user_id'), $model->getData('email'));
229
- Mage::getSingleton('adminhtml/session')->addSuccess($status);
230
-
231
- try { $model->delete(); } catch( Exception $e ) { Mage::logException($e); echo $e; die('s'); }
232
- }
233
- else
234
- {
235
- $status = 'Error occurred : '.$ex->getMessage();
236
- Mage::getSingleton('adminhtml/session')->addError($status);
237
- }
238
- }
239
- catch (Exception $ex)
240
- {
241
- $status = 'Error occurred : '.$ex->getMessage();
242
- Mage::getSingleton('adminhtml/session')->addError($status);
243
- }
244
-
245
-
246
-
247
- $this->_redirect('*/*');
248
- }
249
-
250
- public function importAction()
251
- {
252
- if ( $this->_request->isPost() )
253
- {
254
- $file = &$_FILES['ufile'];
255
-
256
- if ($file && $file['error'] === UPLOAD_ERR_OK)
257
- {
258
- $name = $file['name'];
259
- $users_imported = 0;
260
-
261
- $CSV_DELIMITER = ';';
262
- $CSV_ENCLOSURE = '"';
263
- $CSV_LENGTH = 0;
264
-
265
- $handle = fopen($file['tmp_name'], 'r');
266
- $cols = array_flip(fgetcsv($handle, $CSV_LENGTH, $CSV_DELIMITER, $CSV_ENCLOSURE));
267
- if ( !$cols )
268
- {
269
- Mage::getSingleton('adminhtml/session')->addError( Mage::helper('mailplus')->__('The users were not imported due an error') );
270
- Mage::getSingleton('adminhtml/session')->addError( 'Invalid columns' );
271
- }
272
- else
273
- {
274
- // if already have externalContactId, ignore this
275
- $cols_length = count($cols);
276
-
277
-
278
- $website_id = $this->_request->getPost('website_id',1);/////////////////////////// it's admin so we don't validate
279
- $customer = Mage::getModel('customer/customer');
280
-
281
-
282
- $mapping = array_flip($this->_csv_mapping_mailplus_magento);
283
-
284
- while (($data = fgetcsv($handle, $CSV_LENGTH, $CSV_DELIMITER, $CSV_ENCLOSURE)) !== FALSE)
285
- {
286
- if ( count($data) != $cols_length )
287
- {
288
- //echo "Skip invalid line $line\n";
289
- continue;
290
- }
291
-
292
- if ( !array_key_exists($cols[$mapping['email']], $data) || '' === $data[$cols[$mapping['email']]] )
293
- {
294
- //echo "Skip invalid line $line\n";
295
- continue;
296
- }
297
- $email = $data[$cols[$mapping['email']]];
298
-
299
- $model = Mage::getModel('mailplus/user');
300
- /* @var $model Techtwo_Mailplus_Model_User */
301
-
302
- if ( $model->load($email, 'email')->getId() )
303
- {
304
- //echo "Already imported $line\n";
305
- continue;
306
- }
307
-
308
- $customer_id = NULL;
309
- $customer->setData('website_id', $website_id);
310
- if ( $customer->loadByEmail($email, 'email')->getId() )
311
- {
312
- $customer_id = $customer->getId();
313
-
314
- $data[$cols[$mapping['firstname']]] = $customer->getFirstname();
315
- $data[$cols[$mapping['lastname']]] = $customer->getLastname();
316
- }
317
-
318
- $model->addData(array(
319
- 'customer_id' => $customer_id,
320
- 'firstname' => $data[$cols[$mapping['firstname']]],
321
- 'lastname' => $data[$cols[$mapping['lastname']]],
322
- 'email' => $email,
323
- 'is_test' => 'J' === $data[$cols[$mapping['is_test']]],
324
- 'createts' => time(),
325
- 'enabled' => 1
326
- ));
327
-
328
- if ( $model->save() )
329
- $users_imported++;
330
- unset($model);
331
-
332
-
333
- //print_r($data); echo '<br />';
334
- }
335
-
336
- Mage::getSingleton('adminhtml/session')->addSuccess( sprintf(Mage::helper('mailplus')->__('%d users were imported'), $users_imported) );
337
- }
338
- fclose($handle);
339
-
340
-
341
-
342
-
343
- }
344
- else
345
- {
346
- Mage::getSingleton('adminhtml/session')->addError( Mage::helper('mailplus')->__('The users were not imported due an error') );
347
- }
348
-
349
-
350
-
351
-
352
- $this->_redirect('*/*/*');
353
- return;
354
- }
355
-
356
- $this->loadLayout()
357
- ->_setActiveMenu('mailplus')
358
- ->renderLayout();
359
- }
360
-
361
- public function exportAction()
362
- {
363
- $page_size = 50;
364
- $page = 1;
365
-
366
- $CSV_DELIMITER = ';';
367
- $CSV_ENCLOSURE = '"';
368
-
369
- if ( true ) { // debug purpose
370
- header('Pragma: public'); // required
371
- header('Expires: 0');
372
- header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
373
- header('Cache-Control: private',false); // required for certain browsers
374
- header('Content-Type: text/csv');
375
- header('Content-Disposition: attachment; filename="mailplus_users_export.csv";' );
376
- header('Content-Transfer-Encoding: binary');
377
- flush();
378
- }
379
-
380
-
381
-
382
-
383
- //Mage::getModel('mailplus/user')->getResourceCollection();
384
- $res = Mage::getResourceModel('mailplus/user_collection');
385
-
386
-
387
- $mapping = array_flip( $this->_csv_mapping_mailplus_magento );
388
-
389
- $csv_cols = array(
390
- $mapping['firstname'],
391
- $mapping['lastname'],
392
- $mapping['email'],
393
- str_replace('_',':', $mapping['is_test']), // :S mailplus import and export columns differs
394
- 'externalContactId',
395
-
396
- 'Tussenvoegsel',
397
- 'Geslacht',
398
- 'Straat',
399
- 'Huisnummer',
400
- 'Postcode',
401
- 'Woonplaats',
402
- 'Bedrijfsnaam',
403
- 'Telefoon nr.',
404
- 'Geboortedag',
405
- 'Land'
406
- );
407
-
408
- $handle = fopen('php://temp', 'rw');
409
- fputcsv($handle, $csv_cols, $CSV_DELIMITER, $CSV_ENCLOSURE);
410
-
411
- /* @var $dataHelper Techtwo_Mailplus_Helper_Data */
412
- $dataHelper = Mage::helper('mailplus');
413
-
414
- /* @var $res Techtwo_Mailplus_Model_Mysql4_User_Collection */
415
- $total_items = $res->getSize();
416
- if ( $total_items )
417
- {
418
- $total_pages = ceil( $total_items / $page_size );
419
- $customer = Mage::getModel('customer/customer');
420
- /* @var $customer Mage_Customer_Model_Customer */
421
-
422
- while ( $total_pages-- )
423
- {
424
- $res->getSelect()->limitPage($page, $page_size);
425
- $items = $res->load();
426
-
427
- $items = $items->toArray();
428
- $items = $items['items'];
429
- foreach ( $items as $item )
430
- {
431
- $is_test = 'Nee';
432
- if ( '1' == $item['is_test'] )
433
- $is_test = 'Ja';
434
-
435
- $csv_data = array(
436
- $item['firstname'],
437
- $item['lastname'],
438
- $item['email'],
439
- $is_test,
440
- $item['user_id'],
441
-
442
- 'Tussenvoegsel' => '',
443
- 'Geslacht' => '',
444
- 'Straat' => '',
445
- 'Huisnummer' => '',
446
- 'Postcode' => '',
447
- 'Woonplaats' => '',
448
- 'Bedrijfsnaam' => '',
449
- 'Telefoon nr.' => '',
450
- 'Geboortedag' => '',
451
- 'Land' => ''
452
- );
453
-
454
-
455
- if ( (int) $item['customer_id'] > 0 && $customer->load($item['customer_id'])->getId() )
456
- {
457
- $adrress = $customer->getAddresses();
458
-
459
- if ( array_key_exists($customer->getData('default_billing'), $adrress) )
460
- {
461
- $adrress = $adrress[$customer->getData('default_billing')]->toArray(); // Mage_Customer_Model_Address Object
462
-
463
- $gender = $customer->getGender();
464
- if ( $dataHelper->getMagentoGenderMaleId() == $gender )
465
- $gender = 'M';
466
- elseif ( $dataHelper->getMagentoGenderFemaleId() == $gender )
467
- $gender = 'F';
468
- else
469
- $gender = '';
470
-
471
-
472
- //$csv_data['Tussenvoegsel'] = $customer->getData('street'); ???? its not here :S
473
- list($street, $housenumber) = explode("\n", $adrress['street'], 2);
474
- $csv_data['Geslacht'] = $gender;
475
- $csv_data['Geboortedag'] = $customer->getDob();
476
- $csv_data['Straat'] = trim($street);
477
- $csv_data['Huisnummer'] = $housenumber? trim($housenumber):'';
478
- $csv_data['Woonplaats'] = $adrress['city'];
479
- $csv_data['Postcode'] = $adrress['postcode'];
480
- $csv_data['Telefoon nr.'] = $adrress['telephone'];
481
- $csv_data['Land'] = $adrress['country_id'];
482
- }
483
- }
484
-
485
-
486
- fputcsv($handle, $csv_data, $CSV_DELIMITER, $CSV_ENCLOSURE);
487
- }
488
-
489
- $res->clear(); // clear loaded data, so we can re-use the object
490
- $page++;
491
- }
492
- //echo ;
493
-
494
-
495
- /*
496
- $res = Mage::getResourceModel('mailplus/user');
497
- / * @var $res Techtwo_Mailplus_Model_Mysql4_User * /
498
- echo $res->getMainTable();
499
- */
500
- }
501
-
502
-
503
- rewind($handle);
504
- fpassthru($handle);
505
- fclose($handle);
506
-
507
-
508
-
509
- return;
510
-
511
- $this->loadLayout()
512
- ->_setActiveMenu('mailplus')
513
- ->renderLayout();
514
- }
515
-
516
- /*
517
- protected function _addContent(Mage_Core_Block_Abstract $block)
518
- {
519
- $this->getLayout()->getBlock('content')->append($block);
520
- return $this;
521
- } */
522
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Techtwo/Mailplus/controllers/{Adminhtml → Mailplus/Adminhtml}/BouncesController.php RENAMED
@@ -14,14 +14,13 @@
14
  * License for the specific language governing permissions and limitations
15
  * under the License.
16
  */
17
- class Techtwo_Mailplus_Adminhtml_BouncesController extends Mage_Adminhtml_Controller_Action
18
  {
19
 
20
  public function indexAction()
21
  {
22
- $this->loadLayout()
23
- ->_setActiveMenu('mailplus')
24
- //->_addContent($this->getLayout()->createBlock('mailplus/adminhtml_users')) // dynamic add content
25
  ->renderLayout();
26
  return;
27
  }
14
  * License for the specific language governing permissions and limitations
15
  * under the License.
16
  */
17
+ class Techtwo_Mailplus_Mailplus_Adminhtml_BouncesController extends Mage_Adminhtml_Controller_Action
18
  {
19
 
20
  public function indexAction()
21
  {
22
+ $this->loadLayout()->_setActiveMenu('mailplus')
23
+ ->_addContent($this->getLayout()->createBlock('mailplus/adminhtml_bounces'))
 
24
  ->renderLayout();
25
  return;
26
  }
app/code/community/Techtwo/Mailplus/controllers/{Adminhtml → Mailplus/Adminhtml}/HelpController.php RENAMED
@@ -14,14 +14,13 @@
14
  * License for the specific language governing permissions and limitations
15
  * under the License.
16
  */
17
- class Techtwo_Mailplus_Adminhtml_HelpController extends Mage_Adminhtml_Controller_Action{
18
 
19
  public function indexAction(){
20
 
21
- $this->loadLayout()
22
- ->_setActiveMenu('mailplus')
23
- //->_addContent($this->getLayout()->createBlock('mailplus/adminhtml_help'))
24
  ->renderLayout();
25
  }
26
 
27
- }
14
  * License for the specific language governing permissions and limitations
15
  * under the License.
16
  */
17
+ class Techtwo_Mailplus_Mailplus_Adminhtml_HelpController extends Mage_Adminhtml_Controller_Action{
18
 
19
  public function indexAction(){
20
 
21
+ $this->loadLayout()->_setActiveMenu('mailplus')
22
+ ->_addContent($this->getLayout()->createBlock('adminhtml/template')->setTemplate('mailplus/help.phtml'))
 
23
  ->renderLayout();
24
  }
25
 
26
+ }
app/code/community/Techtwo/Mailplus/controllers/{Adminhtml → Mailplus/Adminhtml}/MappingController.php RENAMED
@@ -14,10 +14,13 @@
14
  * License for the specific language governing permissions and limitations
15
  * under the License.
16
  */
17
- class Techtwo_Mailplus_Adminhtml_MappingController extends Mage_Adminhtml_Controller_Action {
18
 
19
  public function indexAction(){
20
- $this->loadLayout()->_setActiveMenu('mailplus');
 
 
 
21
  $this->renderLayout();
22
  }
23
 
@@ -73,4 +76,4 @@ class Techtwo_Mailplus_Adminhtml_MappingController extends Mage_Adminhtml_Contro
73
  Mage::getSingleton('adminhtml/session')->addSuccess(Mage::helper('mailplus')->__('Mapping saved'));
74
  $this->_redirect('*/*/index');
75
  }
76
- }
14
  * License for the specific language governing permissions and limitations
15
  * under the License.
16
  */
17
+ class Techtwo_Mailplus_Mailplus_Adminhtml_MappingController extends Mage_Adminhtml_Controller_Action {
18
 
19
  public function indexAction(){
20
+ $this->loadLayout()->_setActiveMenu('mailplus')
21
+ ->_addLeft($this->getLayout()->createBlock('adminhtml/template')->setTemplate('mailplus/website_switcher.phtml'))
22
+ ->_addContent($this->getLayout()->createBlock('mailplus/adminhtml_mapping'));
23
+
24
  $this->renderLayout();
25
  }
26
 
76
  Mage::getSingleton('adminhtml/session')->addSuccess(Mage::helper('mailplus')->__('Mapping saved'));
77
  $this->_redirect('*/*/index');
78
  }
79
+ }
app/code/community/Techtwo/Mailplus/controllers/{Adminhtml → Mailplus/Adminhtml}/RestqueueController.php RENAMED
@@ -14,13 +14,13 @@
14
  * License for the specific language governing permissions and limitations
15
  * under the License.
16
  */
17
- class Techtwo_Mailplus_Adminhtml_RestqueueController extends Mage_Adminhtml_Controller_Action
18
  {
19
  public function indexAction()
20
  {
21
- $this->loadLayout()
22
- ->_setActiveMenu('mailplus')
23
  ->renderLayout();
24
  }
25
 
26
- }
14
  * License for the specific language governing permissions and limitations
15
  * under the License.
16
  */
17
+ class Techtwo_Mailplus_Mailplus_Adminhtml_RestqueueController extends Mage_Adminhtml_Controller_Action
18
  {
19
  public function indexAction()
20
  {
21
+ $this->loadLayout()->_setActiveMenu('mailplus')
22
+ ->_addContent($this->getLayout()->createBlock('mailplus/adminhtml_restqueue'))
23
  ->renderLayout();
24
  }
25
 
26
+ }
app/code/community/Techtwo/Mailplus/controllers/{Adminhtml → Mailplus/Adminhtml}/StatusController.php RENAMED
@@ -14,13 +14,18 @@
14
  * License for the specific language governing permissions and limitations
15
  * under the License.
16
  */
17
- class Techtwo_Mailplus_Adminhtml_StatusController extends Mage_Adminhtml_Controller_Action{
18
 
19
  public function indexAction()
20
  {
21
- $this->loadLayout()
22
- ->_setActiveMenu('mailplus')
23
- ->renderLayout();
 
 
 
 
 
24
  }
25
 
26
  public function syncAction() {
14
  * License for the specific language governing permissions and limitations
15
  * under the License.
16
  */
17
+ class Techtwo_Mailplus_Mailplus_Adminhtml_StatusController extends Mage_Adminhtml_Controller_Action{
18
 
19
  public function indexAction()
20
  {
21
+ $this->loadLayout()->_setActiveMenu('mailplus');
22
+ $this->_addLeft($this->getLayout()->createBlock('adminhtml/template')->setTemplate('mailplus/website_switcher.phtml'));
23
+
24
+ $this->_addContent($this->getLayout()->createBlock('adminhtml/template')->setTemplate('mailplus/status.phtml'));
25
+ $this->_addContent($this->getLayout()->createBlock('adminhtml/template')->setTemplate('mailplus/cronstatus.phtml'));
26
+ $this->_addContent($this->getLayout()->createBlock('mailplus/adminhtml_syncstatus'));
27
+
28
+ $this->renderLayout();
29
  }
30
 
31
  public function syncAction() {
app/code/community/Techtwo/Mailplus/etc/adminhtml.xml ADDED
@@ -0,0 +1,77 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <config>
2
+ <menu>
3
+ <mailplus translate="title" module="mailplus">
4
+ <title>MailPlus</title>
5
+ <sort_order>50</sort_order>
6
+ <!--<depends><module>Techtwo_Mailplus</module></depends> -->
7
+ <children>
8
+ <status translate="title" module="mailplus">
9
+ <title>Status connector</title>
10
+ <action>adminhtml/mailplus_adminhtml_status/index</action>
11
+ </status>
12
+ <bounces translate="title" module="mailplus">
13
+ <title>Bounces</title>
14
+ <action>adminhtml/mailplus_adminhtml_bounces/index</action>
15
+ </bounces>
16
+ <restqueue translate="title" module="mailplus">
17
+ <title>API Queue</title>
18
+ <action>adminhtml/mailplus_adminhtml_restqueue/index</action>
19
+ </restqueue>
20
+ <mapping translate="title" module="mailplus">
21
+ <title>Mapping</title>
22
+ <action>adminhtml/mailplus_adminhtml_mapping/index</action>
23
+ </mapping>
24
+ <help translate="title" module="mailplus">
25
+ <title>Help</title>
26
+ <action>adminhtml/mailplus_adminhtml_help/index</action>
27
+ </help>
28
+ </children>
29
+
30
+ </mailplus>
31
+ </menu>
32
+ <acl>
33
+ <resources>
34
+ <all>
35
+ <title>Allow everything</title>
36
+ </all>
37
+ <admin>
38
+ <children>
39
+ <mailplus translate="title" module="mailplus">
40
+ <title>MailPlus</title>
41
+ <sort_order>50</sort_order>
42
+ <children>
43
+ <status translate="title">
44
+ <title>Status connector</title>
45
+ </status>
46
+ <users translate="title">
47
+ <title>Contacts</title>
48
+ </users>
49
+ <bounces translate="title">
50
+ <title>Bounces</title>
51
+ </bounces>
52
+ <restqueue translate="title">
53
+ <title>API Queue</title>
54
+ </restqueue>
55
+ <mapping translate="title">
56
+ <title>Mapping</title>
57
+ </mapping>
58
+ <help translate="title">
59
+ <title>Help</title>
60
+ </help>
61
+ </children>
62
+ </mailplus>
63
+
64
+ </children>
65
+ </admin>
66
+ </resources>
67
+ </acl>
68
+ <translate>
69
+ <modules>
70
+ <Techtwo_Mailplus>
71
+ <files>
72
+ <default>Techtwo_Mailplus.csv</default>
73
+ </files>
74
+ </Techtwo_Mailplus>
75
+ </modules>
76
+ </translate>
77
+ </config>
app/code/community/Techtwo/Mailplus/etc/config.xml CHANGED
@@ -2,118 +2,45 @@
2
  <config>
3
  <modules>
4
  <Techtwo_Mailplus>
5
- <version>2.2.0</version>
6
  <subv>.0</subv>
7
  </Techtwo_Mailplus>
8
  </modules>
9
- <adminhtml>
10
- <layout>
11
- <updates>
12
- <mailplus>
13
- <file>mailplus.xml</file>
14
- </mailplus>
15
- </updates>
16
- </layout>
17
- <menu>
18
- <mailplus translate="title" module="mailplus">
19
- <title>MailPlus</title>
20
- <sort_order>50</sort_order>
21
- <!--<depends><module>Techtwo_Mailplus</module></depends> -->
22
- <children>
23
- <status translate="title" module="mailplus">
24
- <title>Status connector</title>
25
- <action>mailplus/adminhtml_status</action>
26
- </status>
27
- <bounces translate="title" module="mailplus">
28
- <title>Bounces</title>
29
- <action>mailplus/adminhtml_bounces</action>
30
- </bounces>
31
- <restqueue translate="title" module="mailplus">
32
- <title>API Queue</title>
33
- <action>mailplus/adminhtml_restqueue</action>
34
- </restqueue>
35
- <mapping translate="title" module="mailplus">
36
- <title>Mapping</title>
37
- <action>mailplus/adminhtml_mapping</action>
38
- </mapping>
39
- <help translate="title" module="mailplus">
40
- <title>Help</title>
41
- <action>mailplus/adminhtml_help</action>
42
- </help>
43
- </children>
44
- </mailplus>
45
- </menu>
46
- <acl>
47
- <resources>
48
- <all>
49
- <title>Allow everything</title>
50
- </all>
51
- <admin>
52
- <children>
53
- <system>
54
- <children>
55
- <config>
56
- <children>
57
- <mailplus translate="title" module="mailplus">
58
- <title>MailPlus Configuration</title>
59
- </mailplus>
60
- </children>
61
- </config>
62
- </children>
63
- </system>
64
-
65
- <mailplus translate="title" module="mailplus">
66
- <title>MailPlus</title>
67
- <sort_order>50</sort_order>
68
- <children>
69
- <status translate="title">
70
- <title>Status connector</title>
71
- </status>
72
- <users translate="title">
73
- <title>Contacts</title>
74
- </users>
75
- <bounces translate="title">
76
- <title>Bounces</title>
77
- </bounces>
78
- <restqueue translate="title">
79
- <title>API Queue</title>
80
- </restqueue>
81
- <mapping translate="title">
82
- <title>Mapping</title>
83
- </mapping>
84
- <help translate="title">
85
- <title>Help</title>
86
- </help>
87
- </children>
88
- </mailplus>
89
-
90
- </children>
91
- </admin>
92
- </resources>
93
- </acl>
94
- <translate>
95
- <modules>
96
- <Techtwo_Mailplus>
97
- <files>
98
- <default>Techtwo_Mailplus.csv</default>
99
- </files>
100
- </Techtwo_Mailplus>
101
- </modules>
102
- </translate>
103
- </adminhtml>
104
 
105
  <admin>
106
  <routers>
107
- <mailplus>
108
- <use>admin</use>
109
  <args>
110
- <module>Techtwo_Mailplus</module>
111
- <frontName>mailplus</frontName>
 
112
  </args>
113
- </mailplus>
114
  </routers>
115
  </admin>
116
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
117
  <frontend>
118
  <routers>
119
  <mailplus>
2
  <config>
3
  <modules>
4
  <Techtwo_Mailplus>
5
+ <version>2.3.0</version>
6
  <subv>.0</subv>
7
  </Techtwo_Mailplus>
8
  </modules>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9
 
10
  <admin>
11
  <routers>
12
+ <adminhtml>
 
13
  <args>
14
+ <modules>
15
+ <Techtwo_Mailplus after="Mage_Adminhtml">Techtwo_Mailplus</Techtwo_Mailplus>
16
+ </modules>
17
  </args>
18
+ </adminhtml>
19
  </routers>
20
  </admin>
21
 
22
+ <adminhtml>
23
+ <acl>
24
+ <resources>
25
+ <admin>
26
+ <children>
27
+ <system>
28
+ <children>
29
+ <config>
30
+ <children>
31
+ <mailplus>
32
+ <title>Mailpluis config section</title>
33
+ </mailplus>
34
+ </children>
35
+ </config>
36
+ </children>
37
+ </system>
38
+ </children>
39
+ </admin>
40
+ </resources>
41
+ </acl>
42
+ </adminhtml>
43
+
44
  <frontend>
45
  <routers>
46
  <mailplus>
app/code/community/Techtwo/Mailplus/sql/mailplus_setup/mysql4-install-2.1.3.php DELETED
@@ -1,130 +0,0 @@
1
- <?php
2
- /*
3
- * Copyright 2014 MailPlus
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
6
- * use this file except in compliance with the License. You may obtain a copy
7
- * of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
13
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
14
- * License for the specific language governing permissions and limitations
15
- * under the License.
16
- */
17
- // Since Magento 1.4+ is supported, plain SQL queries instead of DDL are used
18
-
19
- /* @var $this Mage_Core_Model_Resource_Setup */
20
- $this->startSetup();
21
-
22
- $this->run("
23
- CREATE TABLE IF NOT EXISTS `{$this->getTable('mailplus/bounce')}` (
24
- `id` int(11) NOT NULL AUTO_INCREMENT,
25
- `mailplus_id` varchar(255) NOT NULL,
26
- `firstname` varchar(255) NOT NULL,
27
- `insertion` varchar(255) NOT NULL,
28
- `lastname` varchar(255) NOT NULL,
29
- `email` varchar(255) NOT NULL,
30
- `total_received` int(10) unsigned NOT NULL,
31
- `is_test` tinyint(1) NOT NULL,
32
- `is_customer_alerted` int(11) NOT NULL DEFAULT '0',
33
- `last_bounce_date` datetime NOT NULL,
34
- PRIMARY KEY (`id`),
35
- UNIQUE KEY `mailplus_id` (`mailplus_id`)
36
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8 ;
37
- ");
38
-
39
- $this->run("
40
- CREATE TABLE IF NOT EXISTS `{$this->getTable('mailplus/product')}` (
41
- `entity_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
42
- `catalog_product_entity_id` int(10) unsigned NOT NULL,
43
- `store_id` smallint(5) unsigned NOT NULL,
44
- `price` decimal(12,4) NOT NULL COMMENT 'The synchronized price',
45
- `checksum` bigint(20) NOT NULL,
46
- `created_at` datetime NOT NULL,
47
- `updated_at` datetime NOT NULL,
48
- PRIMARY KEY (`entity_id`),
49
- UNIQUE KEY `catalog_product_entity_id_2` (`catalog_product_entity_id`,`store_id`),
50
- KEY `store_id` (`store_id`),
51
- KEY `catalog_product_entity_id` (`catalog_product_entity_id`)
52
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
53
- ");
54
-
55
- $this->run("
56
- CREATE TABLE IF NOT EXISTS `{$this->getTable('mailplus/restqueue')}` (
57
- `restqueue_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
58
- `method` varchar(255) NOT NULL,
59
- `url` varchar(255) NOT NULL,
60
- `payload` text NULL,
61
- `tries` int(10) unsigned NOT NULL DEFAULT '0',
62
- `last_error` text NULL,
63
- `last_response` text NULL,
64
- `created_at` datetime NOT NULL,
65
- `last_run_at` datetime NOT NULL,
66
- `next_run_at` datetime NOT NULL,
67
- `site` int(10) unsigned NOT NULL,
68
- PRIMARY KEY (`restqueue_id`)
69
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8
70
- ");
71
-
72
- $this->run("
73
- CREATE TABLE `{$this->getTable('mailplus/syncqueue')}` (
74
- `syncqueue_id` int(11) NOT NULL AUTO_INCREMENT,
75
- `synctype` varchar(10) NOT NULL,
76
- `websiteid` int(11) NOT NULL,
77
- `syncid` int(11) NOT NULL,
78
- `created_at` datetime NOT NULL,
79
- PRIMARY KEY (`syncqueue_id`),
80
- KEY `synctype` (`synctype`,`created_at`),
81
- KEY `websiteid` (`websiteid`)
82
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8
83
- ");
84
-
85
-
86
- $this->run("
87
- CREATE TABLE IF NOT EXISTS `{$this->getTable('mailplus/user')}` (
88
- `user_id` int(11) unsigned NOT NULL AUTO_INCREMENT,
89
- `customer_id` int(11) unsigned DEFAULT NULL,
90
- `mailplus_id` char(50) DEFAULT NULL,
91
- `store_id` smallint(5) unsigned NOT NULL,
92
- `enabled` tinyint(1) NOT NULL DEFAULT '0',
93
- `is_test` tinyint(1) NOT NULL DEFAULT '0',
94
- `firstname` varchar(255) NOT NULL DEFAULT '',
95
- `lastname` varchar(255) NOT NULL DEFAULT '',
96
- `email` varchar(255) DEFAULT NULL,
97
- `createts` int(11) unsigned NOT NULL DEFAULT '0',
98
- PRIMARY KEY (`user_id`),
99
- UNIQUE KEY `mailplus_id` (`mailplus_id`),
100
- KEY `store_id` (`store_id`),
101
- KEY `store_customer` (`customer_id`)
102
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8
103
- ");
104
-
105
- $this->run("
106
- CREATE TABLE `{$this->getTable('mailplus/abandoned_campaign')}` (
107
- `quote_id` INT( 10 ) UNSIGNED NOT NULL ,
108
- `created_at` DATETIME NOT NULL ,
109
- PRIMARY KEY ( `quote_id` )
110
- ) ENGINE = InnoDB;
111
- ");
112
-
113
- $this->run("
114
- CREATE TABLE `{$this->getTable('mailplus/info')}` (
115
- `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
116
- `name` varchar(255) NOT NULL DEFAULT '' ,
117
- `value` varchar(255) NOT NULL DEFAULT '' ,
118
- PRIMARY KEY ( `id` ),
119
- KEY `name` (`name`)
120
- ) ENGINE = InnoDB;
121
- ");
122
-
123
- $this->run("
124
- ALTER TABLE `{$this->getTable('mailplus/user')}`
125
- ADD CONSTRAINT `mailplus_user_ibfk_2` FOREIGN KEY (`customer_id`) REFERENCES `{$this->getTable('customer/entity')}` (`entity_id`) ON DELETE CASCADE ON UPDATE CASCADE,
126
- ADD CONSTRAINT `mailplus_user_ibfk_3` FOREIGN KEY (`store_id`) REFERENCES `{$this->getTable('core/store')}` (`store_id`) ON DELETE CASCADE ON UPDATE CASCADE;
127
- ");
128
-
129
-
130
- $this->endSetup();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Techtwo/Mailplus/sql/mailplus_setup/mysql4-install-2.1.4.php DELETED
@@ -1,130 +0,0 @@
1
- <?php
2
- /*
3
- * Copyright 2014 MailPlus
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
6
- * use this file except in compliance with the License. You may obtain a copy
7
- * of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
13
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
14
- * License for the specific language governing permissions and limitations
15
- * under the License.
16
- */
17
- // Since Magento 1.4+ is supported, plain SQL queries instead of DDL are used
18
-
19
- /* @var $this Mage_Core_Model_Resource_Setup */
20
- $this->startSetup();
21
-
22
- $this->run("
23
- CREATE TABLE IF NOT EXISTS `{$this->getTable('mailplus/bounce')}` (
24
- `id` int(11) NOT NULL AUTO_INCREMENT,
25
- `mailplus_id` varchar(255) NOT NULL,
26
- `firstname` varchar(255) NOT NULL,
27
- `insertion` varchar(255) NOT NULL,
28
- `lastname` varchar(255) NOT NULL,
29
- `email` varchar(255) NOT NULL,
30
- `total_received` int(10) unsigned NOT NULL,
31
- `is_test` tinyint(1) NOT NULL,
32
- `is_customer_alerted` int(11) NOT NULL DEFAULT '0',
33
- `last_bounce_date` datetime NOT NULL,
34
- PRIMARY KEY (`id`),
35
- UNIQUE KEY `mailplus_id` (`mailplus_id`)
36
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8 ;
37
- ");
38
-
39
- $this->run("
40
- CREATE TABLE IF NOT EXISTS `{$this->getTable('mailplus/product')}` (
41
- `entity_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
42
- `catalog_product_entity_id` int(10) unsigned NOT NULL,
43
- `store_id` smallint(5) unsigned NOT NULL,
44
- `price` decimal(12,4) NOT NULL COMMENT 'The synchronized price',
45
- `checksum` bigint(20) NOT NULL,
46
- `created_at` datetime NOT NULL,
47
- `updated_at` datetime NOT NULL,
48
- PRIMARY KEY (`entity_id`),
49
- UNIQUE KEY `catalog_product_entity_id_2` (`catalog_product_entity_id`,`store_id`),
50
- KEY `store_id` (`store_id`),
51
- KEY `catalog_product_entity_id` (`catalog_product_entity_id`)
52
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
53
- ");
54
-
55
- $this->run("
56
- CREATE TABLE IF NOT EXISTS `{$this->getTable('mailplus/restqueue')}` (
57
- `restqueue_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
58
- `method` varchar(255) NOT NULL,
59
- `url` varchar(255) NOT NULL,
60
- `payload` text NULL,
61
- `tries` int(10) unsigned NOT NULL DEFAULT '0',
62
- `last_error` text NULL,
63
- `last_response` text NULL,
64
- `created_at` datetime NOT NULL,
65
- `last_run_at` datetime NOT NULL,
66
- `next_run_at` datetime NOT NULL,
67
- `site` int(10) unsigned NOT NULL,
68
- PRIMARY KEY (`restqueue_id`)
69
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8
70
- ");
71
-
72
- $this->run("
73
- CREATE TABLE `{$this->getTable('mailplus/syncqueue')}` (
74
- `syncqueue_id` int(11) NOT NULL AUTO_INCREMENT,
75
- `synctype` varchar(10) NOT NULL,
76
- `websiteid` int(11) NOT NULL,
77
- `syncid` int(11) NOT NULL,
78
- `created_at` datetime NOT NULL,
79
- PRIMARY KEY (`syncqueue_id`),
80
- KEY `synctype` (`synctype`,`created_at`),
81
- KEY `websiteid` (`websiteid`)
82
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8
83
- ");
84
-
85
-
86
- $this->run("
87
- CREATE TABLE IF NOT EXISTS `{$this->getTable('mailplus/user')}` (
88
- `user_id` int(11) unsigned NOT NULL AUTO_INCREMENT,
89
- `customer_id` int(11) unsigned DEFAULT NULL,
90
- `mailplus_id` char(50) DEFAULT NULL,
91
- `store_id` smallint(5) unsigned NOT NULL,
92
- `enabled` tinyint(1) NOT NULL DEFAULT '0',
93
- `is_test` tinyint(1) NOT NULL DEFAULT '0',
94
- `firstname` varchar(255) NOT NULL DEFAULT '',
95
- `lastname` varchar(255) NOT NULL DEFAULT '',
96
- `email` varchar(255) DEFAULT NULL,
97
- `createts` int(11) unsigned NOT NULL DEFAULT '0',
98
- PRIMARY KEY (`user_id`),
99
- UNIQUE KEY `mailplus_id` (`mailplus_id`),
100
- KEY `store_id` (`store_id`),
101
- KEY `store_customer` (`customer_id`)
102
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8
103
- ");
104
-
105
- $this->run("
106
- CREATE TABLE `{$this->getTable('mailplus/abandoned_campaign')}` (
107
- `quote_id` INT( 10 ) UNSIGNED NOT NULL ,
108
- `created_at` DATETIME NOT NULL ,
109
- PRIMARY KEY ( `quote_id` )
110
- ) ENGINE = InnoDB;
111
- ");
112
-
113
- $this->run("
114
- CREATE TABLE `{$this->getTable('mailplus/info')}` (
115
- `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
116
- `name` varchar(255) NOT NULL DEFAULT '' ,
117
- `value` varchar(255) NOT NULL DEFAULT '' ,
118
- PRIMARY KEY ( `id` ),
119
- KEY `name` (`name`)
120
- ) ENGINE = InnoDB;
121
- ");
122
-
123
- $this->run("
124
- ALTER TABLE `{$this->getTable('mailplus/user')}`
125
- ADD CONSTRAINT `mailplus_user_ibfk_2` FOREIGN KEY (`customer_id`) REFERENCES `{$this->getTable('customer/entity')}` (`entity_id`) ON DELETE CASCADE ON UPDATE CASCADE,
126
- ADD CONSTRAINT `mailplus_user_ibfk_3` FOREIGN KEY (`store_id`) REFERENCES `{$this->getTable('core/store')}` (`store_id`) ON DELETE CASCADE ON UPDATE CASCADE;
127
- ");
128
-
129
-
130
- $this->endSetup();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Techtwo/Mailplus/sql/mailplus_setup/mysql4-install-2.1.5.php DELETED
@@ -1,130 +0,0 @@
1
- <?php
2
- /*
3
- * Copyright 2014 MailPlus
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
6
- * use this file except in compliance with the License. You may obtain a copy
7
- * of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
13
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
14
- * License for the specific language governing permissions and limitations
15
- * under the License.
16
- */
17
- // Since Magento 1.4+ is supported, plain SQL queries instead of DDL are used
18
-
19
- /* @var $this Mage_Core_Model_Resource_Setup */
20
- $this->startSetup();
21
-
22
- $this->run("
23
- CREATE TABLE IF NOT EXISTS `{$this->getTable('mailplus/bounce')}` (
24
- `id` int(11) NOT NULL AUTO_INCREMENT,
25
- `mailplus_id` varchar(255) NOT NULL,
26
- `firstname` varchar(255) NOT NULL,
27
- `insertion` varchar(255) NOT NULL,
28
- `lastname` varchar(255) NOT NULL,
29
- `email` varchar(255) NOT NULL,
30
- `total_received` int(10) unsigned NOT NULL,
31
- `is_test` tinyint(1) NOT NULL,
32
- `is_customer_alerted` int(11) NOT NULL DEFAULT '0',
33
- `last_bounce_date` datetime NOT NULL,
34
- PRIMARY KEY (`id`),
35
- UNIQUE KEY `mailplus_id` (`mailplus_id`)
36
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8 ;
37
- ");
38
-
39
- $this->run("
40
- CREATE TABLE IF NOT EXISTS `{$this->getTable('mailplus/product')}` (
41
- `entity_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
42
- `catalog_product_entity_id` int(10) unsigned NOT NULL,
43
- `store_id` smallint(5) unsigned NOT NULL,
44
- `price` decimal(12,4) NOT NULL COMMENT 'The synchronized price',
45
- `checksum` bigint(20) NOT NULL,
46
- `created_at` datetime NOT NULL,
47
- `updated_at` datetime NOT NULL,
48
- PRIMARY KEY (`entity_id`),
49
- UNIQUE KEY `catalog_product_entity_id_2` (`catalog_product_entity_id`,`store_id`),
50
- KEY `store_id` (`store_id`),
51
- KEY `catalog_product_entity_id` (`catalog_product_entity_id`)
52
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
53
- ");
54
-
55
- $this->run("
56
- CREATE TABLE IF NOT EXISTS `{$this->getTable('mailplus/restqueue')}` (
57
- `restqueue_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
58
- `method` varchar(255) NOT NULL,
59
- `url` varchar(255) NOT NULL,
60
- `payload` text NULL,
61
- `tries` int(10) unsigned NOT NULL DEFAULT '0',
62
- `last_error` text NULL,
63
- `last_response` text NULL,
64
- `created_at` datetime NOT NULL,
65
- `last_run_at` datetime NOT NULL,
66
- `next_run_at` datetime NOT NULL,
67
- `site` int(10) unsigned NOT NULL,
68
- PRIMARY KEY (`restqueue_id`)
69
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8
70
- ");
71
-
72
- $this->run("
73
- CREATE TABLE `{$this->getTable('mailplus/syncqueue')}` (
74
- `syncqueue_id` int(11) NOT NULL AUTO_INCREMENT,
75
- `synctype` varchar(10) NOT NULL,
76
- `websiteid` int(11) NOT NULL,
77
- `syncid` int(11) NOT NULL,
78
- `created_at` datetime NOT NULL,
79
- PRIMARY KEY (`syncqueue_id`),
80
- KEY `synctype` (`synctype`,`created_at`),
81
- KEY `websiteid` (`websiteid`)
82
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8
83
- ");
84
-
85
-
86
- $this->run("
87
- CREATE TABLE IF NOT EXISTS `{$this->getTable('mailplus/user')}` (
88
- `user_id` int(11) unsigned NOT NULL AUTO_INCREMENT,
89
- `customer_id` int(11) unsigned DEFAULT NULL,
90
- `mailplus_id` char(50) DEFAULT NULL,
91
- `store_id` smallint(5) unsigned NOT NULL,
92
- `enabled` tinyint(1) NOT NULL DEFAULT '0',
93
- `is_test` tinyint(1) NOT NULL DEFAULT '0',
94
- `firstname` varchar(255) NOT NULL DEFAULT '',
95
- `lastname` varchar(255) NOT NULL DEFAULT '',
96
- `email` varchar(255) DEFAULT NULL,
97
- `createts` int(11) unsigned NOT NULL DEFAULT '0',
98
- PRIMARY KEY (`user_id`),
99
- UNIQUE KEY `mailplus_id` (`mailplus_id`),
100
- KEY `store_id` (`store_id`),
101
- KEY `store_customer` (`customer_id`)
102
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8
103
- ");
104
-
105
- $this->run("
106
- CREATE TABLE `{$this->getTable('mailplus/abandoned_campaign')}` (
107
- `quote_id` INT( 10 ) UNSIGNED NOT NULL ,
108
- `created_at` DATETIME NOT NULL ,
109
- PRIMARY KEY ( `quote_id` )
110
- ) ENGINE = InnoDB;
111
- ");
112
-
113
- $this->run("
114
- CREATE TABLE `{$this->getTable('mailplus/info')}` (
115
- `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
116
- `name` varchar(255) NOT NULL DEFAULT '' ,
117
- `value` varchar(255) NOT NULL DEFAULT '' ,
118
- PRIMARY KEY ( `id` ),
119
- KEY `name` (`name`)
120
- ) ENGINE = InnoDB;
121
- ");
122
-
123
- $this->run("
124
- ALTER TABLE `{$this->getTable('mailplus/user')}`
125
- ADD CONSTRAINT `mailplus_user_ibfk_2` FOREIGN KEY (`customer_id`) REFERENCES `{$this->getTable('customer/entity')}` (`entity_id`) ON DELETE CASCADE ON UPDATE CASCADE,
126
- ADD CONSTRAINT `mailplus_user_ibfk_3` FOREIGN KEY (`store_id`) REFERENCES `{$this->getTable('core/store')}` (`store_id`) ON DELETE CASCADE ON UPDATE CASCADE;
127
- ");
128
-
129
-
130
- $this->endSetup();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Techtwo/Mailplus/sql/mailplus_setup/mysql4-install-2.2.0.php DELETED
@@ -1,130 +0,0 @@
1
- <?php
2
- /*
3
- * Copyright 2014 MailPlus
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
6
- * use this file except in compliance with the License. You may obtain a copy
7
- * of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
13
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
14
- * License for the specific language governing permissions and limitations
15
- * under the License.
16
- */
17
- // Since Magento 1.4+ is supported, plain SQL queries instead of DDL are used
18
-
19
- /* @var $this Mage_Core_Model_Resource_Setup */
20
- $this->startSetup();
21
-
22
- $this->run("
23
- CREATE TABLE IF NOT EXISTS `{$this->getTable('mailplus/bounce')}` (
24
- `id` int(11) NOT NULL AUTO_INCREMENT,
25
- `mailplus_id` varchar(255) NOT NULL,
26
- `firstname` varchar(255) NOT NULL,
27
- `insertion` varchar(255) NOT NULL,
28
- `lastname` varchar(255) NOT NULL,
29
- `email` varchar(255) NOT NULL,
30
- `total_received` int(10) unsigned NOT NULL,
31
- `is_test` tinyint(1) NOT NULL,
32
- `is_customer_alerted` int(11) NOT NULL DEFAULT '0',
33
- `last_bounce_date` datetime NOT NULL,
34
- PRIMARY KEY (`id`),
35
- UNIQUE KEY `mailplus_id` (`mailplus_id`)
36
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8 ;
37
- ");
38
-
39
- $this->run("
40
- CREATE TABLE IF NOT EXISTS `{$this->getTable('mailplus/product')}` (
41
- `entity_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
42
- `catalog_product_entity_id` int(10) unsigned NOT NULL,
43
- `store_id` smallint(5) unsigned NOT NULL,
44
- `price` decimal(12,4) NOT NULL COMMENT 'The synchronized price',
45
- `checksum` bigint(20) NOT NULL,
46
- `created_at` datetime NOT NULL,
47
- `updated_at` datetime NOT NULL,
48
- PRIMARY KEY (`entity_id`),
49
- UNIQUE KEY `catalog_product_entity_id_2` (`catalog_product_entity_id`,`store_id`),
50
- KEY `store_id` (`store_id`),
51
- KEY `catalog_product_entity_id` (`catalog_product_entity_id`)
52
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
53
- ");
54
-
55
- $this->run("
56
- CREATE TABLE IF NOT EXISTS `{$this->getTable('mailplus/restqueue')}` (
57
- `restqueue_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
58
- `method` varchar(255) NOT NULL,
59
- `url` varchar(255) NOT NULL,
60
- `payload` text NULL,
61
- `tries` int(10) unsigned NOT NULL DEFAULT '0',
62
- `last_error` text NULL,
63
- `last_response` text NULL,
64
- `created_at` datetime NOT NULL,
65
- `last_run_at` datetime NOT NULL,
66
- `next_run_at` datetime NOT NULL,
67
- `site` int(10) unsigned NOT NULL,
68
- PRIMARY KEY (`restqueue_id`)
69
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8
70
- ");
71
-
72
- $this->run("
73
- CREATE TABLE `{$this->getTable('mailplus/syncqueue')}` (
74
- `syncqueue_id` int(11) NOT NULL AUTO_INCREMENT,
75
- `synctype` varchar(10) NOT NULL,
76
- `websiteid` int(11) NOT NULL,
77
- `syncid` int(11) NOT NULL,
78
- `created_at` datetime NOT NULL,
79
- PRIMARY KEY (`syncqueue_id`),
80
- KEY `synctype` (`synctype`,`created_at`),
81
- KEY `websiteid` (`websiteid`)
82
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8
83
- ");
84
-
85
-
86
- $this->run("
87
- CREATE TABLE IF NOT EXISTS `{$this->getTable('mailplus/user')}` (
88
- `user_id` int(11) unsigned NOT NULL AUTO_INCREMENT,
89
- `customer_id` int(11) unsigned DEFAULT NULL,
90
- `mailplus_id` char(50) DEFAULT NULL,
91
- `store_id` smallint(5) unsigned NOT NULL,
92
- `enabled` tinyint(1) NOT NULL DEFAULT '0',
93
- `is_test` tinyint(1) NOT NULL DEFAULT '0',
94
- `firstname` varchar(255) NOT NULL DEFAULT '',
95
- `lastname` varchar(255) NOT NULL DEFAULT '',
96
- `email` varchar(255) DEFAULT NULL,
97
- `createts` int(11) unsigned NOT NULL DEFAULT '0',
98
- PRIMARY KEY (`user_id`),
99
- UNIQUE KEY `mailplus_id` (`mailplus_id`),
100
- KEY `store_id` (`store_id`),
101
- KEY `store_customer` (`customer_id`)
102
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8
103
- ");
104
-
105
- $this->run("
106
- CREATE TABLE `{$this->getTable('mailplus/abandoned_campaign')}` (
107
- `quote_id` INT( 10 ) UNSIGNED NOT NULL ,
108
- `created_at` DATETIME NOT NULL ,
109
- PRIMARY KEY ( `quote_id` )
110
- ) ENGINE = InnoDB;
111
- ");
112
-
113
- $this->run("
114
- CREATE TABLE `{$this->getTable('mailplus/info')}` (
115
- `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
116
- `name` varchar(255) NOT NULL DEFAULT '' ,
117
- `value` varchar(255) NOT NULL DEFAULT '' ,
118
- PRIMARY KEY ( `id` ),
119
- KEY `name` (`name`)
120
- ) ENGINE = InnoDB;
121
- ");
122
-
123
- $this->run("
124
- ALTER TABLE `{$this->getTable('mailplus/user')}`
125
- ADD CONSTRAINT `mailplus_user_ibfk_2` FOREIGN KEY (`customer_id`) REFERENCES `{$this->getTable('customer/entity')}` (`entity_id`) ON DELETE CASCADE ON UPDATE CASCADE,
126
- ADD CONSTRAINT `mailplus_user_ibfk_3` FOREIGN KEY (`store_id`) REFERENCES `{$this->getTable('core/store')}` (`store_id`) ON DELETE CASCADE ON UPDATE CASCADE;
127
- ");
128
-
129
-
130
- $this->endSetup();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Techtwo/Mailplus/sql/mailplus_setup/{mysql4-install-2.1.2.php → mysql4-install-2.3.0.php} RENAMED
File without changes
app/design/adminhtml/default/default/layout/mailplus.xml CHANGED
@@ -5,91 +5,4 @@
5
  <block type="index/adminhtml_notifications" name="mailplus_admin_notifications" template="mailplus/notifications.phtml" />
6
  </reference>
7
  </default>
8
-
9
- <!--
10
- <mailplus_adminhtml_index_index>
11
- <reference name="root">
12
- <block type="page/html" name="content" output="toHtml" template="mailplus/index.phtml" />
13
- </reference>
14
- </mailplus_adminhtml_index_index>
15
- -->
16
- <mailplus_adminhtml_users_index>
17
- <reference name="content">
18
- <block type="mailplus/adminhtml_users" name="mailplus_admin_users" />
19
- </reference>
20
- </mailplus_adminhtml_users_index>
21
-
22
- <mailplus_adminhtml_users_import>
23
- <reference name="content">
24
- <block type="mailplus/adminhtml_users" name="mailplus_admin_users_import" template="mailplus/users/import.phtml" />
25
- </reference>
26
- </mailplus_adminhtml_users_import>
27
-
28
- <mailplus_adminhtml_users_export>
29
- <reference name="content">
30
- <block type="mailplus/adminhtml_users" name="mailplus_admin_users_export" template="mailplus/users/export.phtml" />
31
- </reference>
32
- </mailplus_adminhtml_users_export>
33
-
34
- <mailplus_adminhtml_bounces_index>
35
- <reference name="content">
36
- <block type="mailplus/adminhtml_bounces" name="mailplus_admin_bounces" />
37
- </reference>
38
- </mailplus_adminhtml_bounces_index>
39
-
40
- <mailplus_adminhtml_restqueue_index>
41
- <reference name="content">
42
- <block type="mailplus/adminhtml_restqueue" name="mailplus_admin_restqueue" />
43
- </reference>
44
- </mailplus_adminhtml_restqueue_index>
45
-
46
- <mailplus_adminhtml_status_index>
47
- <reference name="left">
48
- <block type="adminhtml/template" name="mailplus_website_switcher" template="mailplus/website_switcher.phtml" />
49
- </reference>
50
- <reference name="content">
51
- <block type="adminhtml/template" name="mailplus_admin_help" template="mailplus/status.phtml" />
52
- <block type="adminhtml/template" name="mailplus_admin_cron_status" template="mailplus/cronstatus.phtml" />
53
- <block type="mailplus/adminhtml_syncstatus" name="mailplus_admin_syncstatus" />
54
- </reference>
55
- </mailplus_adminhtml_status_index>
56
-
57
- <mailplus_adminhtml_mapping_index>
58
- <reference name="left">
59
- <block type="adminhtml/template" name="mailplus_website_switcher" template="mailplus/website_switcher.phtml" />
60
- </reference>
61
- <reference name="content">
62
- <block type="mailplus/adminhtml_mapping" name="mailplus_admin_mapping" />
63
- </reference>
64
- </mailplus_adminhtml_mapping_index>
65
-
66
- <mailplus_adminhtml_mapping_save>
67
- <reference name="left">
68
- <block type="adminhtml/template" name="mailplus_website_switcher" template="mailplus/website_switcher.phtml" />
69
- </reference>
70
- <reference name="content">
71
- <block type="mailplus/adminhtml_mapping" name="mailplus_admin_mapping" />
72
- </reference>
73
- </mailplus_adminhtml_mapping_save>
74
-
75
- <mailplus_adminhtml_help_index>
76
- <reference name="content">
77
- <block type="adminhtml/template" name="mailplus_admin_help" template="mailplus/help.phtml" />
78
- </reference>
79
- </mailplus_adminhtml_help_index>
80
-
81
- <!--
82
- <mailplus_adminhtml_bounces_index>
83
- <reference name="root">
84
- <block type="page/html" name="content" output="toHtml" template="mailplus/bounces.phtml" />
85
- </reference>
86
- </mailplus_adminhtml_bounces_index>-->
87
-
88
- <!--
89
- <mailplus_adminhtml_bounces_index>
90
- <reference name="content">
91
- <block type="adminhtml/template" name="mycontent" template="mailplus/bounces.phtml" />
92
- </reference>
93
- </mailplus_adminhtml_bounces_index>
94
- -->
95
  </layout>
5
  <block type="index/adminhtml_notifications" name="mailplus_admin_notifications" template="mailplus/notifications.phtml" />
6
  </reference>
7
  </default>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8
  </layout>
app/design/adminhtml/default/default/template/mailplus/notifications.phtml CHANGED
@@ -50,6 +50,6 @@ if ( !$bounce_errors )
50
  <?php if ( $bounce_errors ) : ?>
51
  <div class="notification-global">
52
  <strong class="label"><?php echo Mage::helper('mailplus')->__('MailPlus Bounce reports') ?></strong>
53
- <?php echo Mage::helper('mailplus')->__('Found %u <a href="%s">MailPlus bounces</a> in the last 2 weeks', $bounce_errors, $this->getUrl('mailplus/adminhtml_bounces/') );?>
54
  </div>
55
- <?php endif; ?>
50
  <?php if ( $bounce_errors ) : ?>
51
  <div class="notification-global">
52
  <strong class="label"><?php echo Mage::helper('mailplus')->__('MailPlus Bounce reports') ?></strong>
53
+ <?php echo Mage::helper('mailplus')->__('Found %u <a href="%s">MailPlus bounces</a> in the last 2 weeks', $bounce_errors, $this->getUrl('adminhtml/mailplus_adminhtml_bounces') );?>
54
  </div>
55
+ <?php endif; ?>
app/design/adminhtml/default/default/template/mailplus/status.phtml CHANGED
@@ -33,7 +33,7 @@
33
  ?>
34
  <script type="text/javascript">
35
  function mailplus_start_synchronize() {
36
- document.location.href='<?php echo Mage::helper('adminhtml')->getUrl('mailplus/adminhtml_status/synchronize') . 'website/' . $website->getCode(); ?>';
37
  }
38
  </script>
39
  <div class="content-header">
33
  ?>
34
  <script type="text/javascript">
35
  function mailplus_start_synchronize() {
36
+ document.location.href='<?php echo Mage::helper('adminhtml')->getUrl('adminhtml/mailplus_adminhtml_status/synchronize', array( 'website' => $website->getCode())); ?>';
37
  }
38
  </script>
39
  <div class="content-header">
package.xml CHANGED
@@ -1,18 +1,18 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Techtwo_Mailplus</name>
4
- <version>2.2.0</version>
5
  <stability>stable</stability>
6
  <license uri="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</license>
7
  <channel>community</channel>
8
  <extends/>
9
  <summary>MailPlus Connector for Magento</summary>
10
  <description>Synchronizes contact, product and order information between Magento and MailPlus eCom and triggers campaigns.</description>
11
- <notes>Release v2.2.0</notes>
12
  <authors><author><name>MailPlus</name><user>PaulBos</user><email>paul@mailplus.nl</email></author></authors>
13
- <date>2014-11-16</date>
14
- <time>15:39:38</time>
15
- <contents><target name="magecommunity"><dir name="Techtwo"><dir name="Mailplus"><dir name="Block"><dir name="Adminhtml"><dir name="Bounces"><file name="Grid.php" hash="f8a718505b7ddc76b7c41cabd725385a"/></dir><file name="Bounces.php" hash="9e948d87a42affafe387ae22b76b0329"/><dir name="Mapping"><dir name="Edit"><file name="Form.php" hash="d1c2810efc8e47c57524e3e80e2b41c1"/></dir></dir><file name="Mapping.php" hash="5263da49b84234e9f25063c1fe6109be"/><dir name="Restqueue"><file name="Grid.php" hash="4aa89c69ed281f91d8c13528d79f6702"/></dir><file name="Restqueue.php" hash="9eb67a7691b733fdff5a28cb8c148aa3"/><dir name="Syncstatus"><file name="Grid.php" hash="e12d16fcfbd0b5415af2005c1769abdd"/></dir><file name="Syncstatus.php" hash="f1286b0f99f427678280d0faf7aa0459"/><dir name="Users"><dir name="Edit"><file name="Form.php" hash="dd8a34b1ef517fa6cfd86df923883874"/><dir name="Tab"><file name="Form.php" hash="6902ea8145aaf3de04aa0ae3a5a749b6"/></dir><file name="Tabs.php" hash="649f4504ef6b1b677e0af718b4fb1bf2"/></dir><file name="Edit.php" hash="d49c6d3e6d841101177063353c38c520"/><file name="Grid.php" hash="e5606c984441b99a89b66473ea9b1635"/></dir><file name="Users.php" hash="c28da0f1b0a7d7924bd0779e2c8c4072"/></dir></dir><dir name="Client"><dir name="Contact"><file name="Permission.php" hash="c7cb785041a3685eed8b5dec3573f773"/><file name="Property.php" hash="637bdb0ef575e0f2cb1ee6c2e48e0566"/></dir><file name="Error.php" hash="d6104ae10196b5e7941dfc866236b015"/><file name="Exception.php" hash="7c8fd063c8f6e4e42db2ba2003db5538"/><file name="Rest.php" hash="9ac7ebb23b1dd6f3521df89677d722d9"/></dir><dir name="Helper"><file name="Config.php" hash="5267bdaaf7c605d604327dc59bbf7b8c"/><file name="Cron.php" hash="7790b6e1d0b740228e273cabb2892324"/><file name="Data.php" hash="80690fe1484d3f5fc242d0c8774aea74"/><file name="Feed.php" hash="ae866adfed51d488fed615fd828257fe"/><file name="Rest.php" hash="915195f9d5bb31fd5593985a85c420c7"/></dir><dir name="Model"><dir name="Abandoned"><file name="Campaign.php" hash="745bc978a8cf2ea88c0e31d59823de8b"/></dir><file name="Bounce.php" hash="a2ab980e67ca1783180265b54ee0ea74"/><dir name="Cron"><file name="Hourly.php" hash="3c384fc49c22241d867af3fbbb87d6ce"/><file name="Often.php" hash="625074aa065fc4a4785a5bd4dfc4c0f8"/></dir><file name="Info.php" hash="4aade98df5fc5fba93831c4c367ce14b"/><file name="Mailing.php" hash="ad152a095677a8559b5ca3a4f35408fc"/><dir name="Mysql4"><dir name="Abandoned"><dir name="Campaign"><file name="Collection.php" hash="4fe912177ce6c734f2f5bda923a8149a"/></dir><file name="Campaign.php" hash="7cceca83ac44242374318041bf29216b"/></dir><dir name="Bounce"><file name="Collection.php" hash="4660a53fff332a3d6cc9707a82f6e936"/></dir><file name="Bounce.php" hash="471b5432251ad6d311d4b42c233493aa"/><dir name="Info"><file name="Collection.php" hash="1c1c60197096c4c197ab9532f877d564"/></dir><file name="Info.php" hash="9179c5665d912ae7bb88ee96b7742346"/><dir name="Product"><file name="Collection.php" hash="a68a8da87fea9c4295511e2116d72e81"/></dir><file name="Product.php" hash="f63464aa767938d52e15e068c683e7ce"/><dir name="Restqueue"><file name="Collection.php" hash="b6c8a6c80915ca8fb48d5ece6fdec059"/></dir><file name="Restqueue.php" hash="80da968d9d75e780cbcc3c32a53e39d2"/><dir name="Syncqueue"><file name="Collection.php" hash="1f7ebe9212d2f38c02751644f82f3df7"/></dir><file name="Syncqueue.php" hash="4661379f990d0e2c026c2fc1c3c6e2d7"/><dir name="User"><file name="Collection.php" hash="67d7babb94883c223f850b56f1486bf7"/></dir><file name="User.php" hash="5cd0ab76b7f25bbcb23ecad412b75648"/></dir><dir name="Newsletter"><file name="Subscriber.php" hash="98275f4d9a38491a5eab1bb217b067cc"/></dir><file name="Product.php" hash="8d3cb4f534c157bb12f71ee78cc8afe5"/><file name="Restqueue.php" hash="0a33c0caea964ed076ee003c08677974"/><file name="Syncqueue.php" hash="4a3864eb463f290bc0a329b7692293ea"/><dir name="System"><file name="Campaign.php" hash="69b0b838a7644e1d59ba3bc601ec172a"/><dir name="Config"><dir name="Source"><file name="Campaign.php" hash="e8f5324473a3aa56e111204cba6a08bf"/><file name="Keepframe.php" hash="f538cca9d9e8bf3d6d852c02b023096f"/><dir name="Product"><file name="Specs.php" hash="ddde4111fb3c4e015e4ad54f4ddb3150"/></dir><file name="Synchronize.php" hash="74ffa47771b8d58cd3610ee37bcdcc22"/><dir name="Yesno"><dir name="Default"><file name="No.php" hash="15fdcf3048bf48b65e07096dae603238"/><file name="Yes.php" hash="44449a8b1ca6967c171bdd9b5119f6dd"/></dir></dir></dir></dir></dir><file name="User.php" hash="10a3aab1695bf595f3d001820d2c06ea"/></dir><dir name="Observer"><file name="Config.php" hash="040600ac7accc712e1243fe4f4c097c8"/><file name="Customer.php" hash="5bad957d86c15440e7501c9461975062"/><file name="Product.php" hash="cfc5b5f7bc7c9293c8963d4155ca6437"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="BouncesController.php" hash="8735f990874d66f40aaf8dbc7f8b95ab"/><file name="FeedController.php" hash="f98e072358410bb7ca0f23ef1531d9b9"/><file name="FeedsController.php" hash="ec29193a39d76d04020a1b8ad65f4e19"/><file name="HelpController.php" hash="9d391566874f5a2e9cd4fe1a8488af08"/><file name="MailingsController.php" hash="e025450c4e57aa8eeb71dc9b3c31a556"/><file name="MappingController.php" hash="ad7890191c2e2d7b4304e55630b3feda"/><file name="RestqueueController.php" hash="eb502c9ae148c629ed98b272f828186f"/><file name="StatusController.php" hash="2517245af96efffd357fa7842ae630ae"/><file name="SyncstatusController.php" hash="637fa60c8d35e09c307feb61af22a923"/><file name="UsersController.php" hash="a95069af4c2f186fd68f97dcdc3680e8"/></dir><file name="CustomerController.php" hash="c968354013c4d746609ede5224b18949"/><file name="ImageController.php" hash="3c8343c14e6d38caf4db6d095ede6922"/><dir name="Mailplus"><file name="Entry.php" hash="9c5703bcdf2b27b4403f35946e9308e3"/><dir name="Renderer"><file name="Entry.php" hash="21549a8d17704314b99918ddd9e66904"/></dir></dir><file name="UseController.php" hash="c45954c725de56304a0a0ab3fb923698"/></dir><dir name="etc"><file name="config.xml" hash="f3f31f820b442fcacd9c4270a500da57"/><file name="system.xml" hash="706808af2c74c1666563c1aefb841fca"/></dir><dir name="sql"><dir name="mailplus_setup"><file name="mysql4-install-2.1.2.php" hash="f17cd9e7bcdc86d7666dd6e0b44d9d8e"/><file name="mysql4-install-2.1.3.php" hash="f17cd9e7bcdc86d7666dd6e0b44d9d8e"/><file name="mysql4-install-2.1.4.php" hash="f17cd9e7bcdc86d7666dd6e0b44d9d8e"/><file name="mysql4-install-2.1.5.php" hash="f17cd9e7bcdc86d7666dd6e0b44d9d8e"/><file name="mysql4-install-2.2.0.php" hash="f17cd9e7bcdc86d7666dd6e0b44d9d8e"/><file name="mysql4-upgrade-0.1.1-0.2.1.php" hash="d0f17ed7531e43ed541be989c30b9d57"/><file name="mysql4-upgrade-0.2.1-0.3.1.php" hash="d0f17ed7531e43ed541be989c30b9d57"/><file name="mysql4-upgrade-0.3.1-0.3.2.php" hash="567018f30306b80e8f912f346b0b5d3d"/><file name="mysql4-upgrade-0.3.2-0.3.3.php" hash="e8cc865c196516155304418ff871d6fe"/><file name="mysql4-upgrade-0.3.3-1.0.0.php" hash="9d47cbd0f0a6052973e29f1b1dc55775"/><file name="mysql4-upgrade-1.0.0-2.0.0.php" hash="e677470234bd75a9f11aa01cb71777c2"/><file name="mysql4-upgrade-2.0.0-2.1.0.php" hash="b865191bd73dd5633d04636435f9a793"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="mailplus.xml" hash="1b0dd29f2dbc1f0a9b614f26694a825c"/></dir><dir name="template"><dir name="mailplus"><file name="bounces.phtml" hash="c98b3f2e7e44b52c7d54d68b02d0bd05"/><file name="cronstatus.phtml" hash="5a5e75a1d8d0ac3701211f1e3e8d2d66"/><file name="edit.phtml" hash="872f074814af467ae4ed5b9b2f853557"/><file name="help.phtml" hash="8e83222357b6b64dea99633a5cfcf2a0"/><file name="notifications.phtml" hash="b3107cc2ad722d6e04e3bfa6e6f23ce0"/><file name="status.phtml" hash="6c66bf6273905682ada59683205993db"/><dir name="users"><file name="grid.phtml" hash="59be26393c7ba9f3d2fec90c4fe172f6"/><file name="import.phtml" hash="95e7f2ae0a5ae8159be57bdf22b1b7cb"/></dir><file name="website_switcher.phtml" hash="b17e3fab749ff638e181a19f8c6fa087"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="mailplus.xml" hash="d484d7a3878a276c47697f62f33597c6"/></dir></dir></dir></dir></target><target name="magelocale"><dir name="nl_NL"><file name="Techtwo_Mailplus.csv" hash="bca36114fdd0a48e0e1f3049825ba1ec"/></dir></target><target name="mageetc"><dir name="modules"><file name="Techtwo_Mailplus.xml" hash="f8ff6735462326d611b89d04968957d0"/></dir></target><target name="magelib"><dir name="MailPlus"><dir name="Oauth"><file name="Client.php" hash="3f09bcf9bdcef2698b172af3e63b2c24"/><dir name="Token"><file name="Access.php" hash="5ea167ab32e05cbc95a6e1a4dc30fe06"/></dir></dir></dir></target></contents>
16
  <compatible/>
17
- <dependencies><required><php><min>5.1.0</min><max>5.5.18</max></php></required></dependencies>
18
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Techtwo_Mailplus</name>
4
+ <version>2.3.0</version>
5
  <stability>stable</stability>
6
  <license uri="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</license>
7
  <channel>community</channel>
8
  <extends/>
9
  <summary>MailPlus Connector for Magento</summary>
10
  <description>Synchronizes contact, product and order information between Magento and MailPlus eCom and triggers campaigns.</description>
11
+ <notes>Release v2.3.0</notes>
12
  <authors><author><name>MailPlus</name><user>PaulBos</user><email>paul@mailplus.nl</email></author></authors>
13
+ <date>2015-10-30</date>
14
+ <time>09:12:17</time>
15
+ <contents><target name="magecommunity"><dir name="Techtwo"><dir name="Mailplus"><dir name="Block"><dir name="Adminhtml"><dir name="Bounces"><file name="Grid.php" hash="f8a718505b7ddc76b7c41cabd725385a"/></dir><file name="Bounces.php" hash="9e948d87a42affafe387ae22b76b0329"/><dir name="Mapping"><dir name="Edit"><file name="Form.php" hash="d1c2810efc8e47c57524e3e80e2b41c1"/></dir></dir><file name="Mapping.php" hash="5263da49b84234e9f25063c1fe6109be"/><dir name="Restqueue"><file name="Grid.php" hash="4aa89c69ed281f91d8c13528d79f6702"/></dir><file name="Restqueue.php" hash="9eb67a7691b733fdff5a28cb8c148aa3"/><dir name="Syncstatus"><file name="Grid.php" hash="e12d16fcfbd0b5415af2005c1769abdd"/></dir><file name="Syncstatus.php" hash="f1286b0f99f427678280d0faf7aa0459"/><dir name="Users"><dir name="Edit"><file name="Form.php" hash="dd8a34b1ef517fa6cfd86df923883874"/><dir name="Tab"><file name="Form.php" hash="6902ea8145aaf3de04aa0ae3a5a749b6"/></dir><file name="Tabs.php" hash="649f4504ef6b1b677e0af718b4fb1bf2"/></dir><file name="Edit.php" hash="d49c6d3e6d841101177063353c38c520"/><file name="Grid.php" hash="e5606c984441b99a89b66473ea9b1635"/></dir><file name="Users.php" hash="c28da0f1b0a7d7924bd0779e2c8c4072"/></dir></dir><dir name="Client"><dir name="Contact"><file name="Permission.php" hash="c7cb785041a3685eed8b5dec3573f773"/><file name="Property.php" hash="637bdb0ef575e0f2cb1ee6c2e48e0566"/></dir><file name="Error.php" hash="d6104ae10196b5e7941dfc866236b015"/><file name="Exception.php" hash="7c8fd063c8f6e4e42db2ba2003db5538"/><file name="Rest.php" hash="9ac7ebb23b1dd6f3521df89677d722d9"/></dir><dir name="Helper"><file name="Config.php" hash="5267bdaaf7c605d604327dc59bbf7b8c"/><file name="Cron.php" hash="7790b6e1d0b740228e273cabb2892324"/><file name="Data.php" hash="80690fe1484d3f5fc242d0c8774aea74"/><file name="Feed.php" hash="ae866adfed51d488fed615fd828257fe"/><file name="Rest.php" hash="915195f9d5bb31fd5593985a85c420c7"/></dir><dir name="Model"><dir name="Abandoned"><file name="Campaign.php" hash="745bc978a8cf2ea88c0e31d59823de8b"/></dir><file name="Bounce.php" hash="a2ab980e67ca1783180265b54ee0ea74"/><dir name="Cron"><file name="Hourly.php" hash="3c384fc49c22241d867af3fbbb87d6ce"/><file name="Often.php" hash="625074aa065fc4a4785a5bd4dfc4c0f8"/></dir><file name="Info.php" hash="4aade98df5fc5fba93831c4c367ce14b"/><file name="Mailing.php" hash="ad152a095677a8559b5ca3a4f35408fc"/><dir name="Mysql4"><dir name="Abandoned"><dir name="Campaign"><file name="Collection.php" hash="4fe912177ce6c734f2f5bda923a8149a"/></dir><file name="Campaign.php" hash="7cceca83ac44242374318041bf29216b"/></dir><dir name="Bounce"><file name="Collection.php" hash="4660a53fff332a3d6cc9707a82f6e936"/></dir><file name="Bounce.php" hash="471b5432251ad6d311d4b42c233493aa"/><dir name="Info"><file name="Collection.php" hash="1c1c60197096c4c197ab9532f877d564"/></dir><file name="Info.php" hash="9179c5665d912ae7bb88ee96b7742346"/><dir name="Product"><file name="Collection.php" hash="a68a8da87fea9c4295511e2116d72e81"/></dir><file name="Product.php" hash="f63464aa767938d52e15e068c683e7ce"/><dir name="Restqueue"><file name="Collection.php" hash="b6c8a6c80915ca8fb48d5ece6fdec059"/></dir><file name="Restqueue.php" hash="80da968d9d75e780cbcc3c32a53e39d2"/><dir name="Syncqueue"><file name="Collection.php" hash="1f7ebe9212d2f38c02751644f82f3df7"/></dir><file name="Syncqueue.php" hash="4661379f990d0e2c026c2fc1c3c6e2d7"/><dir name="User"><file name="Collection.php" hash="67d7babb94883c223f850b56f1486bf7"/></dir><file name="User.php" hash="5cd0ab76b7f25bbcb23ecad412b75648"/></dir><dir name="Newsletter"><file name="Subscriber.php" hash="98275f4d9a38491a5eab1bb217b067cc"/></dir><file name="Product.php" hash="8d3cb4f534c157bb12f71ee78cc8afe5"/><file name="Restqueue.php" hash="0a33c0caea964ed076ee003c08677974"/><file name="Syncqueue.php" hash="4a3864eb463f290bc0a329b7692293ea"/><dir name="System"><file name="Campaign.php" hash="69b0b838a7644e1d59ba3bc601ec172a"/><dir name="Config"><dir name="Source"><file name="Campaign.php" hash="e8f5324473a3aa56e111204cba6a08bf"/><file name="Keepframe.php" hash="f538cca9d9e8bf3d6d852c02b023096f"/><dir name="Product"><file name="Specs.php" hash="ddde4111fb3c4e015e4ad54f4ddb3150"/></dir><file name="Synchronize.php" hash="74ffa47771b8d58cd3610ee37bcdcc22"/><dir name="Yesno"><dir name="Default"><file name="No.php" hash="15fdcf3048bf48b65e07096dae603238"/><file name="Yes.php" hash="44449a8b1ca6967c171bdd9b5119f6dd"/></dir></dir></dir></dir></dir><file name="User.php" hash="10a3aab1695bf595f3d001820d2c06ea"/></dir><dir name="Observer"><file name="Config.php" hash="040600ac7accc712e1243fe4f4c097c8"/><file name="Customer.php" hash="5bad957d86c15440e7501c9461975062"/><file name="Product.php" hash="cfc5b5f7bc7c9293c8963d4155ca6437"/></dir><dir name="controllers"><file name="CustomerController.php" hash="c968354013c4d746609ede5224b18949"/><file name="ImageController.php" hash="3c8343c14e6d38caf4db6d095ede6922"/><dir name="Mailplus"><dir name="Adminhtml"><file name="BouncesController.php" hash="b4e6208581ba0a5bdad0aeaa66964082"/><file name="HelpController.php" hash="1f517f2d87ce11288413ef37541ddc85"/><file name="MappingController.php" hash="8d64a37daff55d243759e308ff9020cf"/><file name="RestqueueController.php" hash="29492769f1f43d023ded6b24861dba3c"/><file name="StatusController.php" hash="88a655c3cd425f4dd02444c7a32ac839"/></dir><file name="Entry.php" hash="9c5703bcdf2b27b4403f35946e9308e3"/><dir name="Renderer"><file name="Entry.php" hash="21549a8d17704314b99918ddd9e66904"/></dir></dir><file name="UseController.php" hash="c45954c725de56304a0a0ab3fb923698"/></dir><dir name="etc"><file name="adminhtml.xml" hash="a7f97604736131c3ddff4c3a07b4486f"/><file name="config.xml" hash="d48aa85f1efb24fea6c995ba0dafe320"/><file name="system.xml" hash="706808af2c74c1666563c1aefb841fca"/></dir><dir name="sql"><dir name="mailplus_setup"><file name="mysql4-install-2.3.0.php" hash="f17cd9e7bcdc86d7666dd6e0b44d9d8e"/><file name="mysql4-upgrade-0.1.1-0.2.1.php" hash="d0f17ed7531e43ed541be989c30b9d57"/><file name="mysql4-upgrade-0.2.1-0.3.1.php" hash="d0f17ed7531e43ed541be989c30b9d57"/><file name="mysql4-upgrade-0.3.1-0.3.2.php" hash="567018f30306b80e8f912f346b0b5d3d"/><file name="mysql4-upgrade-0.3.2-0.3.3.php" hash="e8cc865c196516155304418ff871d6fe"/><file name="mysql4-upgrade-0.3.3-1.0.0.php" hash="9d47cbd0f0a6052973e29f1b1dc55775"/><file name="mysql4-upgrade-1.0.0-2.0.0.php" hash="e677470234bd75a9f11aa01cb71777c2"/><file name="mysql4-upgrade-2.0.0-2.1.0.php" hash="b865191bd73dd5633d04636435f9a793"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="mailplus.xml" hash="402a7475f68be0c65374503000e4c772"/></dir><dir name="template"><dir name="mailplus"><file name="bounces.phtml" hash="c98b3f2e7e44b52c7d54d68b02d0bd05"/><file name="cronstatus.phtml" hash="5a5e75a1d8d0ac3701211f1e3e8d2d66"/><file name="edit.phtml" hash="872f074814af467ae4ed5b9b2f853557"/><file name="help.phtml" hash="8e83222357b6b64dea99633a5cfcf2a0"/><file name="notifications.phtml" hash="bd09beb8755cef19f63a7a5e485fdc1b"/><file name="status.phtml" hash="85548864d577fcb72bceafb5a2f7ae7e"/><dir name="users"><file name="grid.phtml" hash="59be26393c7ba9f3d2fec90c4fe172f6"/><file name="import.phtml" hash="95e7f2ae0a5ae8159be57bdf22b1b7cb"/></dir><file name="website_switcher.phtml" hash="b17e3fab749ff638e181a19f8c6fa087"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="mailplus.xml" hash="d484d7a3878a276c47697f62f33597c6"/></dir></dir></dir></dir></target><target name="magelocale"><dir name="nl_NL"><file name="Techtwo_Mailplus.csv" hash="bca36114fdd0a48e0e1f3049825ba1ec"/></dir></target><target name="mageetc"><dir name="modules"><file name="Techtwo_Mailplus.xml" hash="f8ff6735462326d611b89d04968957d0"/></dir></target><target name="magelib"><dir name="MailPlus"><dir name="Oauth"><file name="Client.php" hash="3f09bcf9bdcef2698b172af3e63b2c24"/><dir name="Token"><file name="Access.php" hash="5ea167ab32e05cbc95a6e1a4dc30fe06"/></dir></dir></dir></target></contents>
16
  <compatible/>
17
+ <dependencies><required><php><min>5.1.0</min><max>5.5.29</max></php></required></dependencies>
18
  </package>