Version Notes
Release v2.1.3
Download this release
Release Info
Developer | MailPlus |
Extension | Techtwo_Mailplus |
Version | 2.1.3 |
Comparing to | |
See all releases |
Code changes from version 2.1.1 to 2.1.3
- app/code/community/Techtwo/Mailplus/Helper/Rest.php +23 -19
- app/code/community/Techtwo/Mailplus/Model/Cron/Often.php +13 -5
- app/code/community/Techtwo/Mailplus/Model/User.php +4 -0
- app/code/community/Techtwo/Mailplus/etc/config.xml +34 -31
- app/code/community/Techtwo/Mailplus/sql/mailplus_setup/{mysql4-install-2.1.1.php → mysql4-install-2.1.2.php} +0 -0
- app/code/community/Techtwo/Mailplus/sql/mailplus_setup/mysql4-install-2.1.3.php +130 -0
- package.xml +6 -6
app/code/community/Techtwo/Mailplus/Helper/Rest.php
CHANGED
@@ -353,20 +353,23 @@ class Techtwo_Mailplus_Helper_Rest extends Mage_Core_Helper_Abstract
|
|
353 |
/* @var $appEmulation Mage_Core_Model_App_Emulation */
|
354 |
$appEmulation = Mage::getSingleton('core/app_emulation');
|
355 |
|
356 |
-
$
|
357 |
-
$
|
358 |
-
if ( $
|
359 |
-
|
360 |
-
|
361 |
-
|
362 |
-
else
|
363 |
-
{
|
364 |
-
$stores = Mage::app()->getStores();
|
365 |
}
|
366 |
-
|
367 |
-
|
368 |
-
|
|
|
|
|
|
|
|
|
369 |
/* @var $store Mage_Core_Model_Store */
|
|
|
|
|
370 |
if (!$store->getIsActive())
|
371 |
continue;
|
372 |
|
@@ -394,12 +397,7 @@ class Techtwo_Mailplus_Helper_Rest extends Mage_Core_Helper_Abstract
|
|
394 |
|
395 |
$appEmulation->stopEnvironmentEmulation($initialEnvironmentInfo);
|
396 |
}
|
397 |
-
|
398 |
-
|
399 |
-
|
400 |
-
}
|
401 |
-
else
|
402 |
-
{
|
403 |
$this->_saveProduct($product, $product->getStore()->getId());
|
404 |
}
|
405 |
}
|
@@ -782,7 +780,9 @@ class Techtwo_Mailplus_Helper_Rest extends Mage_Core_Helper_Abstract
|
|
782 |
public function getBounces( $websiteId, $fromDate, $toDate )
|
783 |
{
|
784 |
$client = $this->getClientByWebsite($websiteId);
|
785 |
-
|
|
|
|
|
786 |
$fromDate = date(DateTime::ATOM, $fromDate);
|
787 |
$toDate = date(DateTime::ATOM, $toDate);
|
788 |
|
@@ -1004,6 +1004,10 @@ class Techtwo_Mailplus_Helper_Rest extends Mage_Core_Helper_Abstract
|
|
1004 |
);
|
1005 |
|
1006 |
$client = $this->getClientByStore( $storeId );
|
|
|
|
|
|
|
|
|
1007 |
$response = $this->restPut($client, $this->_restBaseUrl().'/contact/'.$externalId, json_encode($data) );
|
1008 |
$client->log(__METHOD__."( $externalId )");
|
1009 |
$error = $client->getError();
|
353 |
/* @var $appEmulation Mage_Core_Model_App_Emulation */
|
354 |
$appEmulation = Mage::getSingleton('core/app_emulation');
|
355 |
|
356 |
+
$requestStoreId = Mage::app()->getFrontController()->getRequest()->getParam('store');
|
357 |
+
$storeIds = array();
|
358 |
+
if ( $requestStoreId ) {
|
359 |
+
$storeIds[] = $requestStoreId;
|
360 |
+
} else {
|
361 |
+
$storeIds = $product->getStoreIds();
|
|
|
|
|
|
|
362 |
}
|
363 |
+
|
364 |
+
foreach($storeIds as $store_id){
|
365 |
+
if (!$this->getClientByStore($store_id)) {
|
366 |
+
// Connector not active for current store
|
367 |
+
continue;
|
368 |
+
}
|
369 |
+
|
370 |
/* @var $store Mage_Core_Model_Store */
|
371 |
+
$store = Mage::app()->getStore($store_id);
|
372 |
+
|
373 |
if (!$store->getIsActive())
|
374 |
continue;
|
375 |
|
397 |
|
398 |
$appEmulation->stopEnvironmentEmulation($initialEnvironmentInfo);
|
399 |
}
|
400 |
+
} else {
|
|
|
|
|
|
|
|
|
|
|
401 |
$this->_saveProduct($product, $product->getStore()->getId());
|
402 |
}
|
403 |
}
|
780 |
public function getBounces( $websiteId, $fromDate, $toDate )
|
781 |
{
|
782 |
$client = $this->getClientByWebsite($websiteId);
|
783 |
+
if ( !$client )
|
784 |
+
return array();
|
785 |
+
|
786 |
$fromDate = date(DateTime::ATOM, $fromDate);
|
787 |
$toDate = date(DateTime::ATOM, $toDate);
|
788 |
|
1004 |
);
|
1005 |
|
1006 |
$client = $this->getClientByStore( $storeId );
|
1007 |
+
if (!client) {
|
1008 |
+
return true;
|
1009 |
+
}
|
1010 |
+
|
1011 |
$response = $this->restPut($client, $this->_restBaseUrl().'/contact/'.$externalId, json_encode($data) );
|
1012 |
$client->log(__METHOD__."( $externalId )");
|
1013 |
$error = $client->getError();
|
app/code/community/Techtwo/Mailplus/Model/Cron/Often.php
CHANGED
@@ -288,9 +288,16 @@ class Techtwo_Mailplus_Model_Cron_Often
|
|
288 |
$userModel->setData('firstname', $customer->getData('firstname'));
|
289 |
$userModel->setData('lastname', $customer->getData('lastname'));
|
290 |
$userModel->setData('email', $customer->getData('email'));
|
|
|
|
|
|
|
|
|
|
|
|
|
291 |
}
|
292 |
-
|
293 |
}
|
|
|
294 |
case Techtwo_Mailplus_Model_Syncqueue::TYPE_ORDER:
|
295 |
$order = Mage::getModel('sales/order')->load($item->getSyncid());
|
296 |
if ($order && $order->getId()) {
|
@@ -340,13 +347,13 @@ class Techtwo_Mailplus_Model_Cron_Often
|
|
340 |
$mailplus_user->setIsTest(FALSE);
|
341 |
$mailplus_user->setCreatets(time());
|
342 |
|
343 |
-
|
344 |
$mailplus_user->setEnabled(true);
|
345 |
$mailplus_user->setPermission( Techtwo_Mailplus_Helper_Rest::PERMISSION_BIT_NEWSLETTER, TRUE );
|
346 |
} else {
|
347 |
$mailplus_user->setEnabled(false);
|
348 |
}
|
349 |
-
|
350 |
} else {
|
351 |
// user found in mailplus table. Check if the user is in MailPlus
|
352 |
$contact = $rest->getContactByExternalId($mailplus_user->getId(), $mailplus_user->getStoreId());
|
@@ -361,8 +368,9 @@ class Techtwo_Mailplus_Model_Cron_Often
|
|
361 |
}
|
362 |
}
|
363 |
}
|
364 |
-
|
365 |
-
|
366 |
}
|
367 |
}
|
368 |
}
|
|
288 |
$userModel->setData('firstname', $customer->getData('firstname'));
|
289 |
$userModel->setData('lastname', $customer->getData('lastname'));
|
290 |
$userModel->setData('email', $customer->getData('email'));
|
291 |
+
|
292 |
+
$subscriber = Mage::getModel('newsletter/subscriber')->loadByCustomer($customer);
|
293 |
+
// TODO: Add this to Mailplus_User->loadByCustomer() and reset permissionsChanged to false after load is complete
|
294 |
+
if ($subscriber && $subscriber->getStatus() == Mage_Newsletter_Model_Subscriber::STATUS_SUBSCRIBED) {
|
295 |
+
$userModel->setPermission( Techtwo_Mailplus_Helper_Rest::PERMISSION_BIT_NEWSLETTER, TRUE );
|
296 |
+
}
|
297 |
}
|
298 |
+
$userModel->save(); // also triggers the rest call to save the customer to MailPlus
|
299 |
}
|
300 |
+
break;
|
301 |
case Techtwo_Mailplus_Model_Syncqueue::TYPE_ORDER:
|
302 |
$order = Mage::getModel('sales/order')->load($item->getSyncid());
|
303 |
if ($order && $order->getId()) {
|
347 |
$mailplus_user->setIsTest(FALSE);
|
348 |
$mailplus_user->setCreatets(time());
|
349 |
|
350 |
+
if ($subscriber->getStatus() == Mage_Newsletter_Model_Subscriber::STATUS_SUBSCRIBED) {
|
351 |
$mailplus_user->setEnabled(true);
|
352 |
$mailplus_user->setPermission( Techtwo_Mailplus_Helper_Rest::PERMISSION_BIT_NEWSLETTER, TRUE );
|
353 |
} else {
|
354 |
$mailplus_user->setEnabled(false);
|
355 |
}
|
356 |
+
|
357 |
} else {
|
358 |
// user found in mailplus table. Check if the user is in MailPlus
|
359 |
$contact = $rest->getContactByExternalId($mailplus_user->getId(), $mailplus_user->getStoreId());
|
368 |
}
|
369 |
}
|
370 |
}
|
371 |
+
|
372 |
+
$mailplus_user->save();
|
373 |
}
|
374 |
}
|
375 |
}
|
376 |
+
|
app/code/community/Techtwo/Mailplus/Model/User.php
CHANGED
@@ -450,6 +450,10 @@ class Techtwo_Mailplus_Model_User extends Mage_Core_Model_Abstract
|
|
450 |
return NULL !== $this->_permissions && FALSE !== $this->_permissions && TRUE === $this->_permissionsChanges;
|
451 |
}
|
452 |
|
|
|
|
|
|
|
|
|
453 |
/**
|
454 |
* Is used in toMailPlusData() , do note, toMailPlusData won't call it of no changes were made
|
455 |
*
|
450 |
return NULL !== $this->_permissions && FALSE !== $this->_permissions && TRUE === $this->_permissionsChanges;
|
451 |
}
|
452 |
|
453 |
+
public function setPermissionsChanges($changed) {
|
454 |
+
$this->_permissionsChanges = $changed;
|
455 |
+
}
|
456 |
+
|
457 |
/**
|
458 |
* Is used in toMailPlusData() , do note, toMailPlusData won't call it of no changes were made
|
459 |
*
|
app/code/community/Techtwo/Mailplus/etc/config.xml
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
<config>
|
3 |
<modules>
|
4 |
<Techtwo_Mailplus>
|
5 |
-
<version>2.1.
|
6 |
<subv>.0</subv>
|
7 |
</Techtwo_Mailplus>
|
8 |
</modules>
|
@@ -18,7 +18,7 @@
|
|
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>
|
@@ -61,7 +61,7 @@
|
|
61 |
</config>
|
62 |
</children>
|
63 |
</system>
|
64 |
-
|
65 |
<mailplus translate="title" module="mailplus">
|
66 |
<title>MailPlus</title>
|
67 |
<sort_order>50</sort_order>
|
@@ -77,7 +77,7 @@
|
|
77 |
</bounces>
|
78 |
<restqueue translate="title">
|
79 |
<title>API Queue</title>
|
80 |
-
</restqueue>
|
81 |
<mapping translate="title">
|
82 |
<title>Mapping</title>
|
83 |
</mapping>
|
@@ -86,7 +86,7 @@
|
|
86 |
</help>
|
87 |
</children>
|
88 |
</mailplus>
|
89 |
-
|
90 |
</children>
|
91 |
</admin>
|
92 |
</resources>
|
@@ -101,7 +101,7 @@
|
|
101 |
</modules>
|
102 |
</translate>
|
103 |
</adminhtml>
|
104 |
-
|
105 |
<admin>
|
106 |
<routers>
|
107 |
<mailplus>
|
@@ -113,7 +113,7 @@
|
|
113 |
</mailplus>
|
114 |
</routers>
|
115 |
</admin>
|
116 |
-
|
117 |
<frontend>
|
118 |
<routers>
|
119 |
<mailplus>
|
@@ -142,7 +142,7 @@
|
|
142 |
</controller_front_send_response_before>
|
143 |
</events>
|
144 |
</frontend>
|
145 |
-
|
146 |
<default>
|
147 |
<!-- Set active on 0 by default since we have no id and password -->
|
148 |
<mailplus>
|
@@ -170,7 +170,7 @@
|
|
170 |
<subscriber>Techtwo_Mailplus_Model_Newsletter_Subscriber</subscriber>
|
171 |
</rewrite>
|
172 |
</newsletter>
|
173 |
-
|
174 |
<mailplus>
|
175 |
<class>Techtwo_Mailplus_Model</class>
|
176 |
<resourceModel>mailplus_mysql4</resourceModel>
|
@@ -186,7 +186,7 @@
|
|
186 |
</user>
|
187 |
<restqueue>
|
188 |
<table>mailplus_restqueue</table>
|
189 |
-
</restqueue>
|
190 |
<syncqueue>
|
191 |
<table>mailplus_syncqueue</table>
|
192 |
</syncqueue>
|
@@ -223,9 +223,9 @@
|
|
223 |
</mailplus_read>
|
224 |
</resources>
|
225 |
<blocks>
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
</blocks>
|
230 |
<helpers>
|
231 |
<mailplus>
|
@@ -278,7 +278,7 @@
|
|
278 |
</techtwo_mailplus_observer_customer>
|
279 |
</observers>
|
280 |
</controller_action_postdispatch_customer_account_loginPost>
|
281 |
-
<!--customer_customer_authenticated-->
|
282 |
<controller_action_postdispatch_customer_account_createpost>
|
283 |
<observers>
|
284 |
<techtwo_mailplus_observer_customer>
|
@@ -357,13 +357,21 @@
|
|
357 |
<crontab>
|
358 |
<jobs>
|
359 |
<mailplus_daily_queue>
|
360 |
-
<schedule
|
361 |
-
|
|
|
|
|
|
|
|
|
362 |
</mailplus_daily_queue>
|
363 |
|
364 |
<mailplus_often_cron>
|
365 |
-
<schedule
|
366 |
-
|
|
|
|
|
|
|
|
|
367 |
</mailplus_often_cron>
|
368 |
</jobs>
|
369 |
</crontab>
|
@@ -371,27 +379,22 @@
|
|
371 |
<in_test_mode>0</in_test_mode>
|
372 |
|
373 |
<!-- used in test mode -->
|
374 |
-
<wsdl_test>https://test.mailplus.nl/ApiService/soap/{TYPE}?wsdl
|
|
|
375 |
<rest_test>https://test.mailplus.nl</rest_test>
|
376 |
<rest_base_test>/integrationservice</rest_base_test>
|
377 |
|
378 |
<!-- used not in test mode -->
|
379 |
-
|
380 |
-
|
381 |
-
|
382 |
|
383 |
|
384 |
<server_timezone>Europe/Amsterdam</server_timezone>
|
385 |
<id_prefix>LIVE_</id_prefix>
|
386 |
|
387 |
-
<!--
|
388 |
-
|
389 |
-
|
390 |
-
live url | https://restapi.mailplus.nl
|
391 |
-
|
392 |
-
wsdl
|
393 |
-
test url | https://test.mailplus.nl/ApiService/soap/Contacts_v2?wsdl
|
394 |
-
live url | http://api.mailplus.nl/ApiService/soap/{TYPE}?wsdl
|
395 |
-
-->
|
396 |
</mailplus>
|
397 |
</config>
|
2 |
<config>
|
3 |
<modules>
|
4 |
<Techtwo_Mailplus>
|
5 |
+
<version>2.1.3</version>
|
6 |
<subv>.0</subv>
|
7 |
</Techtwo_Mailplus>
|
8 |
</modules>
|
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>
|
61 |
</config>
|
62 |
</children>
|
63 |
</system>
|
64 |
+
|
65 |
<mailplus translate="title" module="mailplus">
|
66 |
<title>MailPlus</title>
|
67 |
<sort_order>50</sort_order>
|
77 |
</bounces>
|
78 |
<restqueue translate="title">
|
79 |
<title>API Queue</title>
|
80 |
+
</restqueue>
|
81 |
<mapping translate="title">
|
82 |
<title>Mapping</title>
|
83 |
</mapping>
|
86 |
</help>
|
87 |
</children>
|
88 |
</mailplus>
|
89 |
+
|
90 |
</children>
|
91 |
</admin>
|
92 |
</resources>
|
101 |
</modules>
|
102 |
</translate>
|
103 |
</adminhtml>
|
104 |
+
|
105 |
<admin>
|
106 |
<routers>
|
107 |
<mailplus>
|
113 |
</mailplus>
|
114 |
</routers>
|
115 |
</admin>
|
116 |
+
|
117 |
<frontend>
|
118 |
<routers>
|
119 |
<mailplus>
|
142 |
</controller_front_send_response_before>
|
143 |
</events>
|
144 |
</frontend>
|
145 |
+
|
146 |
<default>
|
147 |
<!-- Set active on 0 by default since we have no id and password -->
|
148 |
<mailplus>
|
170 |
<subscriber>Techtwo_Mailplus_Model_Newsletter_Subscriber</subscriber>
|
171 |
</rewrite>
|
172 |
</newsletter>
|
173 |
+
|
174 |
<mailplus>
|
175 |
<class>Techtwo_Mailplus_Model</class>
|
176 |
<resourceModel>mailplus_mysql4</resourceModel>
|
186 |
</user>
|
187 |
<restqueue>
|
188 |
<table>mailplus_restqueue</table>
|
189 |
+
</restqueue>
|
190 |
<syncqueue>
|
191 |
<table>mailplus_syncqueue</table>
|
192 |
</syncqueue>
|
223 |
</mailplus_read>
|
224 |
</resources>
|
225 |
<blocks>
|
226 |
+
<mailplus>
|
227 |
+
<class>Techtwo_Mailplus_Block</class>
|
228 |
+
</mailplus>
|
229 |
</blocks>
|
230 |
<helpers>
|
231 |
<mailplus>
|
278 |
</techtwo_mailplus_observer_customer>
|
279 |
</observers>
|
280 |
</controller_action_postdispatch_customer_account_loginPost>
|
281 |
+
<!--customer_customer_authenticated -->
|
282 |
<controller_action_postdispatch_customer_account_createpost>
|
283 |
<observers>
|
284 |
<techtwo_mailplus_observer_customer>
|
357 |
<crontab>
|
358 |
<jobs>
|
359 |
<mailplus_daily_queue>
|
360 |
+
<schedule>
|
361 |
+
<cron_expr>0 * * * *</cron_expr>
|
362 |
+
</schedule>
|
363 |
+
<run>
|
364 |
+
<model>mailplus/cron_hourly::run</model>
|
365 |
+
</run>
|
366 |
</mailplus_daily_queue>
|
367 |
|
368 |
<mailplus_often_cron>
|
369 |
+
<schedule>
|
370 |
+
<cron_expr>*/5 * * * *</cron_expr>
|
371 |
+
</schedule>
|
372 |
+
<run>
|
373 |
+
<model>mailplus/cron_often::run</model>
|
374 |
+
</run>
|
375 |
</mailplus_often_cron>
|
376 |
</jobs>
|
377 |
</crontab>
|
379 |
<in_test_mode>0</in_test_mode>
|
380 |
|
381 |
<!-- used in test mode -->
|
382 |
+
<wsdl_test>https://test.mailplus.nl/ApiService/soap/{TYPE}?wsdl
|
383 |
+
</wsdl_test>
|
384 |
<rest_test>https://test.mailplus.nl</rest_test>
|
385 |
<rest_base_test>/integrationservice</rest_base_test>
|
386 |
|
387 |
<!-- used not in test mode -->
|
388 |
+
<rest>https://restapi.mailplus.nl</rest>
|
389 |
+
<rest_base>/integrationservice-1.1.0</rest_base>
|
390 |
+
<!-- END -->
|
391 |
|
392 |
|
393 |
<server_timezone>Europe/Amsterdam</server_timezone>
|
394 |
<id_prefix>LIVE_</id_prefix>
|
395 |
|
396 |
+
<!-- rest test url | https://test.mailplus.nl live url | https://restapi.mailplus.nl
|
397 |
+
wsdl test url | https://test.mailplus.nl/ApiService/soap/Contacts_v2?wsdl
|
398 |
+
live url | http://api.mailplus.nl/ApiService/soap/{TYPE}?wsdl -->
|
|
|
|
|
|
|
|
|
|
|
|
|
399 |
</mailplus>
|
400 |
</config>
|
app/code/community/Techtwo/Mailplus/sql/mailplus_setup/{mysql4-install-2.1.1.php → mysql4-install-2.1.2.php}
RENAMED
File without changes
|
app/code/community/Techtwo/Mailplus/sql/mailplus_setup/mysql4-install-2.1.3.php
ADDED
@@ -0,0 +1,130 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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();
|
package.xml
CHANGED
@@ -1,18 +1,18 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Techtwo_Mailplus</name>
|
4 |
-
<version>2.1.
|
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.1.
|
12 |
<authors><author><name>MailPlus</name><user>PaulBos</user><email>paul@mailplus.nl</email></author></authors>
|
13 |
-
<date>2014-
|
14 |
-
<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="
|
16 |
<compatible/>
|
17 |
-
<dependencies><required><php><min>5.1.0</min><max>5.5.
|
18 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Techtwo_Mailplus</name>
|
4 |
+
<version>2.1.3</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.1.3</notes>
|
12 |
<authors><author><name>MailPlus</name><user>PaulBos</user><email>paul@mailplus.nl</email></author></authors>
|
13 |
+
<date>2014-03-28</date>
|
14 |
+
<time>14:05:44</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="5e0b29bf488d949d6dc2daf4895acd97"/></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="8366c9858757f1d32f45527a23bad6b8"/><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="c51c9acdb33f0edd6ba8a1e687abf41f"/></dir><dir name="Observer"><file name="Config.php" hash="040600ac7accc712e1243fe4f4c097c8"/><file name="Customer.php" hash="74662ba2777bf23425eb88dacd4fd79d"/><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="703766f8130c4e351ce48ad0729cefc8"/><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-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.10</max></php></required></dependencies>
|
18 |
</package>
|