Version Notes
Version 3.2.0.0
Download this release
Release Info
Developer | Mattheo Geoffray |
Extension | DndInxmail_Subscriber |
Version | 3.2.0.0 |
Comparing to | |
See all releases |
Code changes from version 3.1.0.6 to 3.2.0.0
- app/code/community/DndInxmail/Subscriber/Block/Adminhtml/System/Config/ApiVersion.php +24 -0
- app/code/community/DndInxmail/Subscriber/Block/Adminhtml/System/Config/BasicLabel.php +30 -0
- app/code/community/DndInxmail/Subscriber/Block/Adminhtml/System/Config/Form/Button/Subscribers.php +13 -2
- app/code/community/DndInxmail/Subscriber/Block/Adminhtml/System/Config/ModuleVersion.php +24 -0
- app/code/community/DndInxmail/Subscriber/Helper/Config.php +40 -0
- app/code/community/DndInxmail/Subscriber/Helper/Log.php +16 -1
- app/code/community/DndInxmail/Subscriber/Helper/Synchronize.php +190 -84
- app/code/community/DndInxmail/Subscriber/Helper/Synchronize/Subscribers.php +6 -5
- app/code/community/DndInxmail/Subscriber/Helper/Version.php +8 -0
- app/code/community/DndInxmail/Subscriber/Model/Observer.php +4 -1
- app/code/community/DndInxmail/Subscriber/Model/Synchronization.php +168 -0
- app/code/community/DndInxmail/Subscriber/controllers/Adminhtml/InxmailcolumnsController.php +4 -2
- app/code/community/DndInxmail/Subscriber/controllers/SynchronizeController.php +30 -42
- app/code/community/DndInxmail/Subscriber/etc/config.xml +2 -2
- app/code/community/DndInxmail/Subscriber/etc/system.xml +21 -5
- app/design/adminhtml/default/default/template/dndinxmail/subscriber/system/config/form/button/subscribers.phtml +23 -0
- app/locale/de_DE/DndInxmail_Subscriber.csv +10 -7
- app/locale/en_US/DndInxmail_Subscriber.csv +15 -4
- app/locale/fr_FR/DndInxmail_Subscriber.csv +9 -7
- package.xml +5 -5
app/code/community/DndInxmail/Subscriber/Block/Adminhtml/System/Config/ApiVersion.php
ADDED
@@ -0,0 +1,24 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* @category Module Block
|
5 |
+
* @package DndInxmail_Subscriber
|
6 |
+
* @dev Alexander Velykzhanin
|
7 |
+
* @last_modified 13/10/2015
|
8 |
+
* @copyright Copyright (c) 2015 Flagbit GmbH & Co. KG
|
9 |
+
* @author Flagbit GmbH & Co. KG : https://www.flagbit.de/
|
10 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
11 |
+
*/
|
12 |
+
class DndInxmail_Subscriber_Block_Adminhtml_System_Config_ApiVersion
|
13 |
+
extends DndInxmail_Subscriber_Block_Adminhtml_System_Config_BasicLabel
|
14 |
+
{
|
15 |
+
/**
|
16 |
+
* @param Varien_Data_Form_Element_Abstract $element
|
17 |
+
*
|
18 |
+
* @return string
|
19 |
+
*/
|
20 |
+
protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element)
|
21 |
+
{
|
22 |
+
return Mage::helper('dndinxmail_subscriber/version')->getApiVersion();
|
23 |
+
}
|
24 |
+
}
|
app/code/community/DndInxmail/Subscriber/Block/Adminhtml/System/Config/BasicLabel.php
ADDED
@@ -0,0 +1,30 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* @category Module Block
|
5 |
+
* @package DndInxmail_Subscriber
|
6 |
+
* @dev Alexander Velykzhanin
|
7 |
+
* @last_modified 13/10/2015
|
8 |
+
* @copyright Copyright (c) 2015 Flagbit GmbH & Co. KG
|
9 |
+
* @author Flagbit GmbH & Co. KG : https://www.flagbit.de/
|
10 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
11 |
+
*/
|
12 |
+
class DndInxmail_Subscriber_Block_Adminhtml_System_Config_BasicLabel
|
13 |
+
extends Mage_Adminhtml_Block_System_Config_Form_Field
|
14 |
+
implements Varien_Data_Form_Element_Renderer_Interface
|
15 |
+
{
|
16 |
+
/**
|
17 |
+
* Render About html
|
18 |
+
*
|
19 |
+
* @param Varien_Data_Form_Element_Abstract $element
|
20 |
+
*
|
21 |
+
* @return string
|
22 |
+
*/
|
23 |
+
public function render(Varien_Data_Form_Element_Abstract $element)
|
24 |
+
{
|
25 |
+
$html = '<td class="label">' . $element->getLabel() . '</td>';
|
26 |
+
$html .= '<td class="value">' . $this->_getElementHtml($element) . '</td>';
|
27 |
+
|
28 |
+
return $this->_decorateRowHtml($element, $html);
|
29 |
+
}
|
30 |
+
}
|
app/code/community/DndInxmail/Subscriber/Block/Adminhtml/System/Config/Form/Button/Subscribers.php
CHANGED
@@ -56,11 +56,22 @@ class DndInxmail_Subscriber_Block_Adminhtml_System_Config_Form_Button_Subscriber
|
|
56 |
{
|
57 |
$button = $this->getLayout()->createBlock('adminhtml/widget_button')->setData(array(
|
58 |
'id' => 'dndinxmail_subscriber_button',
|
59 |
-
'label' => $this->helper('adminhtml')->__('
|
60 |
-
'onclick' => 'javascript:DndInxmailSynchronizeSubscribers(); return false;'
|
|
|
61 |
));
|
62 |
|
63 |
return $button->toHtml();
|
64 |
}
|
65 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
66 |
}
|
56 |
{
|
57 |
$button = $this->getLayout()->createBlock('adminhtml/widget_button')->setData(array(
|
58 |
'id' => 'dndinxmail_subscriber_button',
|
59 |
+
'label' => $this->helper('adminhtml')->__('Perform migration now'),
|
60 |
+
'onclick' => 'javascript:DndInxmailSynchronizeSubscribers(); return false;',
|
61 |
+
'disabled' => $this->isSynchronized(),
|
62 |
));
|
63 |
|
64 |
return $button->toHtml();
|
65 |
}
|
66 |
|
67 |
+
/**
|
68 |
+
* @return bool
|
69 |
+
*/
|
70 |
+
public function isSynchronized()
|
71 |
+
{
|
72 |
+
$storeCode = Mage::getSingleton('adminhtml/config_data')->getStore();
|
73 |
+
$store = Mage::app()->getStore($storeCode);
|
74 |
+
|
75 |
+
return Mage::helper('dndinxmail_subscriber/config')->isSynchronized($store);
|
76 |
+
}
|
77 |
}
|
app/code/community/DndInxmail/Subscriber/Block/Adminhtml/System/Config/ModuleVersion.php
ADDED
@@ -0,0 +1,24 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* @category Module Block
|
5 |
+
* @package DndInxmail_Subscriber
|
6 |
+
* @dev Alexander Velykzhanin
|
7 |
+
* @last_modified 13/10/2015
|
8 |
+
* @copyright Copyright (c) 2015 Flagbit GmbH & Co. KG
|
9 |
+
* @author Flagbit GmbH & Co. KG : https://www.flagbit.de/
|
10 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
11 |
+
*/
|
12 |
+
class DndInxmail_Subscriber_Block_Adminhtml_System_Config_ModuleVersion
|
13 |
+
extends DndInxmail_Subscriber_Block_Adminhtml_System_Config_BasicLabel
|
14 |
+
{
|
15 |
+
/**
|
16 |
+
* @param Varien_Data_Form_Element_Abstract $element
|
17 |
+
*
|
18 |
+
* @return string
|
19 |
+
*/
|
20 |
+
protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element)
|
21 |
+
{
|
22 |
+
return Mage::helper('dndinxmail_subscriber/version')->getInxmailVersion();
|
23 |
+
}
|
24 |
+
}
|
app/code/community/DndInxmail/Subscriber/Helper/Config.php
ADDED
@@ -0,0 +1,40 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class DndInxmail_Subscriber_Helper_Config extends DndInxmail_Subscriber_Helper_Abstract
|
4 |
+
{
|
5 |
+
const CONFIG_IS_SYNCHRONIZED = 'dndinxmail_subscriber/synchronize_subscribers/is_synchronized';
|
6 |
+
|
7 |
+
/**
|
8 |
+
* @param $store
|
9 |
+
*
|
10 |
+
* @return bool
|
11 |
+
*/
|
12 |
+
public function isSynchronized($store = null)
|
13 |
+
{
|
14 |
+
return $this->getConfig(self::CONFIG_IS_SYNCHRONIZED, $store);
|
15 |
+
}
|
16 |
+
|
17 |
+
/**
|
18 |
+
* @param $value
|
19 |
+
* @param string $scope
|
20 |
+
* @param null $scopeId
|
21 |
+
*/
|
22 |
+
public function setIsSynchronized($value = true, $scope = 'stores', $scopeId = null)
|
23 |
+
{
|
24 |
+
if (is_null($scopeId)) {
|
25 |
+
switch ($scope) {
|
26 |
+
case 'stores':
|
27 |
+
$scopeId = Mage::app()->getStore()->getId();
|
28 |
+
break;
|
29 |
+
case 'websites':
|
30 |
+
$scopeId = Mage::app()->getWebsite()->getId();
|
31 |
+
default:
|
32 |
+
$scopeId = Mage::app()->getStore()->getId();
|
33 |
+
}
|
34 |
+
}
|
35 |
+
$config = Mage::app()->getConfig();
|
36 |
+
$config->saveConfig(self::CONFIG_IS_SYNCHRONIZED, $value, $scope, $scopeId);
|
37 |
+
$config->cleanCache();
|
38 |
+
}
|
39 |
+
}
|
40 |
+
|
app/code/community/DndInxmail/Subscriber/Helper/Log.php
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
* @category Module Helper
|
5 |
* @package DndInxmail_Subscriber
|
6 |
* @dev Merlin
|
7 |
-
* @last_modified
|
8 |
* @copyright Copyright (c) 2012 Agence Dn'D
|
9 |
* @author Agence Dn'D - Conseil en creation de site e-Commerce Magento : http://www.dnd.fr/
|
10 |
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
@@ -41,6 +41,21 @@ class DndInxmail_Subscriber_Helper_Log extends DndInxmail_Subscriber_Helper_Abst
|
|
41 |
Mage::log($message, null, self::DNDINXMAIL_LOG_FOLDER . DS . $file);
|
42 |
}
|
43 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
44 |
/**
|
45 |
* Log exception data from Inxmail
|
46 |
*
|
4 |
* @category Module Helper
|
5 |
* @package DndInxmail_Subscriber
|
6 |
* @dev Merlin
|
7 |
+
* @last_modified 16/10/2013
|
8 |
* @copyright Copyright (c) 2012 Agence Dn'D
|
9 |
* @author Agence Dn'D - Conseil en creation de site e-Commerce Magento : http://www.dnd.fr/
|
10 |
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
41 |
Mage::log($message, null, self::DNDINXMAIL_LOG_FOLDER . DS . $file);
|
42 |
}
|
43 |
|
44 |
+
/**
|
45 |
+
* @param Exception $e
|
46 |
+
* @param string|null $methodName
|
47 |
+
*/
|
48 |
+
public function logExceptionMessage(Exception $e, $methodName = null)
|
49 |
+
{
|
50 |
+
$message = $e->getMessage();
|
51 |
+
|
52 |
+
if ($e instanceof Inx_Api_LoginException) {
|
53 |
+
$message .= sprintf(' (Code: %s)', $e->getCode());
|
54 |
+
}
|
55 |
+
|
56 |
+
$this->logExceptionData($message, $methodName);
|
57 |
+
}
|
58 |
+
|
59 |
/**
|
60 |
* Log exception data from Inxmail
|
61 |
*
|
app/code/community/DndInxmail/Subscriber/Helper/Synchronize.php
CHANGED
@@ -5,7 +5,7 @@
|
|
5 |
* @package DndInxmail_Subscriber
|
6 |
* @dev Merlin
|
7 |
* @dev Alexander Velykzhanin
|
8 |
-
* @last_modified
|
9 |
* @copyright Copyright (c) 2012 Agence Dn'D
|
10 |
* @author Agence Dn'D - Conseil en creation de site e-Commerce Magento : http://www.dnd.fr/
|
11 |
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
@@ -49,6 +49,7 @@ class DndInxmail_Subscriber_Helper_Synchronize extends DndInxmail_Subscriber_Hel
|
|
49 |
* @var null
|
50 |
*/
|
51 |
protected $_inxmailSession = null; // Inxmail session
|
|
|
52 |
/**
|
53 |
* @var null
|
54 |
*/
|
@@ -63,11 +64,6 @@ class DndInxmail_Subscriber_Helper_Synchronize extends DndInxmail_Subscriber_Hel
|
|
63 |
*/
|
64 |
protected $_dynamicAttributes = array(); // Mapping dynamic attributes
|
65 |
|
66 |
-
/**
|
67 |
-
* @var null
|
68 |
-
*/
|
69 |
-
protected $_customerCollection = null; // Customer collection for dynamic attributes
|
70 |
-
|
71 |
/**
|
72 |
* Contains cache for loaded attributes
|
73 |
*
|
@@ -78,12 +74,16 @@ class DndInxmail_Subscriber_Helper_Synchronize extends DndInxmail_Subscriber_Hel
|
|
78 |
/**
|
79 |
* Open an Inxmail session
|
80 |
*
|
|
|
|
|
81 |
* @return mixed Inxmail session or false
|
|
|
|
|
|
|
82 |
*/
|
83 |
-
public function openInxmailSession()
|
84 |
{
|
85 |
if (!$this->isInxmailSession()) {
|
86 |
-
|
87 |
$url = $this->getConfig(self::DNDINXMAIL_API_URL);
|
88 |
$user = $this->getConfig(self::DNDINXMAIL_API_USER);
|
89 |
$pass = $this->getConfig(self::DNDINXMAIL_API_PASSWORD);
|
@@ -94,21 +94,38 @@ class DndInxmail_Subscriber_Helper_Synchronize extends DndInxmail_Subscriber_Hel
|
|
94 |
$this->_inxmailSession = Inx_Api_Session::createRemoteSession($url, $user, $pass);
|
95 |
}
|
96 |
catch (Inx_Api_LoginException $e) {
|
|
|
|
|
|
|
|
|
|
|
|
|
97 |
if (!Mage::helper('dndinxmail_subscriber/error')->getIsSilentError()) {
|
98 |
-
$message = Mage::helper('dndinxmail_subscriber/log')->__('Inxmail API Error: %s', $e->getMessage());
|
99 |
Mage::getSingleton('adminhtml/session')->addError($message);
|
100 |
-
Mage::helper('dndinxmail_subscriber/log')->
|
101 |
-
|
|
|
|
|
|
|
|
|
|
|
102 |
}
|
103 |
|
104 |
return false;
|
105 |
}
|
106 |
catch (Exception $e) {
|
|
|
|
|
|
|
|
|
|
|
107 |
if (!Mage::helper('dndinxmail_subscriber/error')->getIsSilentError()) {
|
108 |
-
$message = Mage::helper('dndinxmail_subscriber/log')->__('Inxmail API Error: %s', $e->getMessage());
|
109 |
Mage::getSingleton('adminhtml/session')->addError($message);
|
110 |
-
Mage::helper('dndinxmail_subscriber/log')->
|
111 |
-
|
|
|
|
|
|
|
112 |
}
|
113 |
|
114 |
return false;
|
@@ -208,57 +225,82 @@ class DndInxmail_Subscriber_Helper_Synchronize extends DndInxmail_Subscriber_Hel
|
|
208 |
*/
|
209 |
public function subscribeCustomer($email, $trigger = true, $inxmailList)
|
210 |
{
|
211 |
-
|
212 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
213 |
|
214 |
return false;
|
215 |
}
|
|
|
|
|
|
|
216 |
|
217 |
-
$
|
218 |
-
|
219 |
-
$customer = $this->getCustomerByEmail($email);
|
220 |
-
$vars = array();
|
221 |
|
222 |
-
|
223 |
-
$
|
224 |
-
|
225 |
-
$inxmailColumn = $config['inxmail_column'];
|
226 |
-
if ($mappingHelper->isDynamicAttribute($magentoField)) {
|
227 |
-
$dynamicData = $this->getDynamicData($magentoField, $email);
|
228 |
-
if ($dynamicData !== false) {
|
229 |
-
$vars[$inxmailColumn] = $dynamicData;
|
230 |
-
}
|
231 |
|
232 |
-
|
233 |
-
}
|
234 |
-
$attributeType = $config['attribute_type'];
|
235 |
|
236 |
-
|
237 |
-
|
238 |
-
$value = $customer->getData($magentoField);
|
239 |
-
} elseif ($attributeType === 'customer_address') {
|
240 |
-
$customerAddress = $customer->getDefaultBillingAddress();
|
241 |
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
246 |
|
247 |
-
|
248 |
-
$value = $this->_processAttributesValue($magentoField, $value, $attributeType);
|
249 |
-
$vars[$inxmailColumn] = $value;
|
250 |
-
}
|
251 |
-
}
|
252 |
}
|
253 |
|
254 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
255 |
|
256 |
$recipientContext = $this->getRecipientContext();
|
257 |
$subscriptionManager = $session->getSubscriptionManager();
|
258 |
$recipientMetaData = $recipientContext->getMetaData();
|
259 |
$subscriptionAttribute = $recipientMetaData->getSubscriptionAttribute($inxmailList);
|
260 |
|
261 |
-
$batchChannel = $recipientContext->createBatchChannel();
|
262 |
$recipientRowSet = $recipientContext->select($inxmailList, null, "email LIKE \"" . $email . "\"", null, Inx_Api_Order::ASC);
|
263 |
$isSubscribed = ($recipientRowSet->next()) ? true : false;
|
264 |
|
@@ -288,10 +330,50 @@ class DndInxmail_Subscriber_Helper_Synchronize extends DndInxmail_Subscriber_Hel
|
|
288 |
if (!$isSubscribed && $trigger == false) {
|
289 |
$batchChannel->write($subscriptionAttribute, date("c"));
|
290 |
}
|
|
|
291 |
|
292 |
-
$batchChannel->executeBatch();
|
293 |
|
294 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
295 |
}
|
296 |
|
297 |
/**
|
@@ -305,8 +387,10 @@ class DndInxmail_Subscriber_Helper_Synchronize extends DndInxmail_Subscriber_Hel
|
|
305 |
*/
|
306 |
public function unsubscribeCustomer($email, $trigger = true, $inxmailList)
|
307 |
{
|
308 |
-
|
309 |
-
|
|
|
|
|
310 |
|
311 |
return false;
|
312 |
}
|
@@ -345,8 +429,10 @@ class DndInxmail_Subscriber_Helper_Synchronize extends DndInxmail_Subscriber_Hel
|
|
345 |
*/
|
346 |
public function removeCustomer($email, $inxmailList)
|
347 |
{
|
348 |
-
|
349 |
-
|
|
|
|
|
350 |
|
351 |
return false;
|
352 |
}
|
@@ -406,8 +492,11 @@ class DndInxmail_Subscriber_Helper_Synchronize extends DndInxmail_Subscriber_Hel
|
|
406 |
*/
|
407 |
public function truncateInxmailList()
|
408 |
{
|
409 |
-
|
410 |
-
|
|
|
|
|
|
|
411 |
throw new Exception('Inxmail session does not exist');
|
412 |
}
|
413 |
|
@@ -455,8 +544,11 @@ class DndInxmail_Subscriber_Helper_Synchronize extends DndInxmail_Subscriber_Hel
|
|
455 |
*/
|
456 |
public function truncateSpecificInxmailList($inxmailList)
|
457 |
{
|
458 |
-
|
459 |
-
|
|
|
|
|
|
|
460 |
throw new Exception('Inxmail session does not exist');
|
461 |
}
|
462 |
|
@@ -498,8 +590,11 @@ class DndInxmail_Subscriber_Helper_Synchronize extends DndInxmail_Subscriber_Hel
|
|
498 |
throw new Exception('Error truncating Inxmail list');
|
499 |
}
|
500 |
|
501 |
-
|
502 |
-
|
|
|
|
|
|
|
503 |
throw new Exception('Inxmail session does not exist');
|
504 |
}
|
505 |
|
@@ -530,8 +625,10 @@ class DndInxmail_Subscriber_Helper_Synchronize extends DndInxmail_Subscriber_Hel
|
|
530 |
*/
|
531 |
public function getUnsubscribedCustomers($storeId)
|
532 |
{
|
533 |
-
|
534 |
-
|
|
|
|
|
535 |
|
536 |
return array();
|
537 |
}
|
@@ -542,8 +639,8 @@ class DndInxmail_Subscriber_Helper_Synchronize extends DndInxmail_Subscriber_Hel
|
|
542 |
return array();
|
543 |
}
|
544 |
|
|
|
545 |
try {
|
546 |
-
$unsubscribed = array();
|
547 |
$listContextManager = $session->getListContextManager();
|
548 |
$inxmailList = $listContextManager->get($listid);
|
549 |
$recipientContext = $this->getRecipientContext();
|
@@ -580,8 +677,10 @@ class DndInxmail_Subscriber_Helper_Synchronize extends DndInxmail_Subscriber_Hel
|
|
580 |
$groupsConfig = $groupHelper->getCustomerGroupsConfig();
|
581 |
if (count($groupsConfig) <= 0) return array();
|
582 |
|
583 |
-
|
584 |
-
|
|
|
|
|
585 |
|
586 |
return false;
|
587 |
}
|
@@ -618,7 +717,7 @@ class DndInxmail_Subscriber_Helper_Synchronize extends DndInxmail_Subscriber_Hel
|
|
618 |
|
619 |
$this->closeInxmailSession();
|
620 |
|
621 |
-
$this->
|
622 |
|
623 |
return true;
|
624 |
}
|
@@ -630,7 +729,7 @@ class DndInxmail_Subscriber_Helper_Synchronize extends DndInxmail_Subscriber_Hel
|
|
630 |
*
|
631 |
* @return boolean
|
632 |
*/
|
633 |
-
public function
|
634 |
{
|
635 |
if (count($unsubscribed) <= 0) return false;
|
636 |
|
@@ -653,8 +752,10 @@ class DndInxmail_Subscriber_Helper_Synchronize extends DndInxmail_Subscriber_Hel
|
|
653 |
*/
|
654 |
public function getInxmailColumns()
|
655 |
{
|
656 |
-
|
657 |
-
|
|
|
|
|
658 |
|
659 |
return array(
|
660 |
array(
|
@@ -702,8 +803,10 @@ class DndInxmail_Subscriber_Helper_Synchronize extends DndInxmail_Subscriber_Hel
|
|
702 |
*/
|
703 |
public function getInxmailLists()
|
704 |
{
|
705 |
-
|
706 |
-
|
|
|
|
|
707 |
|
708 |
return array(
|
709 |
array(
|
@@ -841,7 +944,7 @@ class DndInxmail_Subscriber_Helper_Synchronize extends DndInxmail_Subscriber_Hel
|
|
841 |
*/
|
842 |
public function getDynamicData($attribute, $email)
|
843 |
{
|
844 |
-
$collection =
|
845 |
|
846 |
$entityType = Mage::getModel('eav/entity_type')->loadByCode('order');
|
847 |
$entityTable = $collection->getTable($entityType->getEntityTable());
|
@@ -931,8 +1034,10 @@ class DndInxmail_Subscriber_Helper_Synchronize extends DndInxmail_Subscriber_Hel
|
|
931 |
*/
|
932 |
public function createInxmailList($listName, $description = null)
|
933 |
{
|
934 |
-
|
935 |
-
|
|
|
|
|
936 |
|
937 |
return false;
|
938 |
}
|
@@ -960,8 +1065,10 @@ class DndInxmail_Subscriber_Helper_Synchronize extends DndInxmail_Subscriber_Hel
|
|
960 |
*/
|
961 |
public function deleteInxmailList($listName)
|
962 |
{
|
963 |
-
|
964 |
-
|
|
|
|
|
965 |
|
966 |
return false;
|
967 |
}
|
@@ -996,8 +1103,10 @@ class DndInxmail_Subscriber_Helper_Synchronize extends DndInxmail_Subscriber_Hel
|
|
996 |
$groupsConfig = $groupHelper->getCustomerGroupsConfig();
|
997 |
if (count($groupsConfig) <= 0) return false;
|
998 |
|
999 |
-
|
1000 |
-
|
|
|
|
|
1001 |
|
1002 |
return false;
|
1003 |
}
|
@@ -1029,12 +1138,9 @@ class DndInxmail_Subscriber_Helper_Synchronize extends DndInxmail_Subscriber_Hel
|
|
1029 |
->addFieldToFilter('subscriber_email', array('in' => $emails));
|
1030 |
$subscriberCollection->getSelect()->group('main_table.subscriber_email');
|
1031 |
|
1032 |
-
|
1033 |
-
|
1034 |
-
|
1035 |
-
}
|
1036 |
-
$this->subscribeCustomer($subscriber->getEmail(), false, $inxmailList);
|
1037 |
-
}
|
1038 |
}
|
1039 |
|
1040 |
$this->closeInxmailSession();
|
5 |
* @package DndInxmail_Subscriber
|
6 |
* @dev Merlin
|
7 |
* @dev Alexander Velykzhanin
|
8 |
+
* @last_modified 13/10/2015
|
9 |
* @copyright Copyright (c) 2012 Agence Dn'D
|
10 |
* @author Agence Dn'D - Conseil en creation de site e-Commerce Magento : http://www.dnd.fr/
|
11 |
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
49 |
* @var null
|
50 |
*/
|
51 |
protected $_inxmailSession = null; // Inxmail session
|
52 |
+
|
53 |
/**
|
54 |
* @var null
|
55 |
*/
|
64 |
*/
|
65 |
protected $_dynamicAttributes = array(); // Mapping dynamic attributes
|
66 |
|
|
|
|
|
|
|
|
|
|
|
67 |
/**
|
68 |
* Contains cache for loaded attributes
|
69 |
*
|
74 |
/**
|
75 |
* Open an Inxmail session
|
76 |
*
|
77 |
+
* @param bool $ignoreException
|
78 |
+
*
|
79 |
* @return mixed Inxmail session or false
|
80 |
+
*
|
81 |
+
* @throws Exception
|
82 |
+
* @throws Inx_Api_LoginException
|
83 |
*/
|
84 |
+
public function openInxmailSession($ignoreException = true)
|
85 |
{
|
86 |
if (!$this->isInxmailSession()) {
|
|
|
87 |
$url = $this->getConfig(self::DNDINXMAIL_API_URL);
|
88 |
$user = $this->getConfig(self::DNDINXMAIL_API_USER);
|
89 |
$pass = $this->getConfig(self::DNDINXMAIL_API_PASSWORD);
|
94 |
$this->_inxmailSession = Inx_Api_Session::createRemoteSession($url, $user, $pass);
|
95 |
}
|
96 |
catch (Inx_Api_LoginException $e) {
|
97 |
+
$message = Mage::helper('dndinxmail_subscriber/log')->__(
|
98 |
+
'Inxmail API Error: %s (Code: %s)',
|
99 |
+
$e->getMessage(),
|
100 |
+
$e->getCode()
|
101 |
+
);
|
102 |
+
Mage::helper('dndinxmail_subscriber/log')->logExceptionData($message, __FUNCTION__);
|
103 |
if (!Mage::helper('dndinxmail_subscriber/error')->getIsSilentError()) {
|
|
|
104 |
Mage::getSingleton('adminhtml/session')->addError($message);
|
105 |
+
Mage::helper('dndinxmail_subscriber/log')->logData('## URL: ' . $url . ' || USER: ' . $user, __FUNCTION__);
|
106 |
+
}
|
107 |
+
|
108 |
+
if (!$ignoreException) {
|
109 |
+
$ex = new Inx_Api_LoginException(sprintf('Inxmail API Error: %s', $e->getMessage()), $e->getCode());
|
110 |
+
|
111 |
+
throw $ex;
|
112 |
}
|
113 |
|
114 |
return false;
|
115 |
}
|
116 |
catch (Exception $e) {
|
117 |
+
$message = Mage::helper('dndinxmail_subscriber/log')->__(
|
118 |
+
'Inxmail API Error: %s',
|
119 |
+
$e->getMessage()
|
120 |
+
);
|
121 |
+
Mage::helper('dndinxmail_subscriber/log')->logExceptionData($message, __FUNCTION__);
|
122 |
if (!Mage::helper('dndinxmail_subscriber/error')->getIsSilentError()) {
|
|
|
123 |
Mage::getSingleton('adminhtml/session')->addError($message);
|
124 |
+
Mage::helper('dndinxmail_subscriber/log')->logData('## URL: ' . $url . ' || USER: ' . $user, __FUNCTION__);
|
125 |
+
}
|
126 |
+
|
127 |
+
if (!$ignoreException) {
|
128 |
+
throw $e;
|
129 |
}
|
130 |
|
131 |
return false;
|
225 |
*/
|
226 |
public function subscribeCustomer($email, $trigger = true, $inxmailList)
|
227 |
{
|
228 |
+
try {
|
229 |
+
$this->openInxmailSession(false);
|
230 |
+
} catch (Exception $e) {
|
231 |
+
Mage::helper('dndinxmail_subscriber/log')->logExceptionMessage($e, __FUNCTION__);
|
232 |
+
}
|
233 |
+
|
234 |
+
return $this->subscribeByEmails($email, $trigger, $inxmailList);
|
235 |
+
}
|
236 |
+
|
237 |
+
/**
|
238 |
+
* Subscribe email addresses to Inxmail
|
239 |
+
* If email is linked to customer send additionnal data else send email as guest
|
240 |
+
*
|
241 |
+
* @param array $emails Email addresses
|
242 |
+
* @param boolean $trigger Trigger message in Inxmail
|
243 |
+
* @param object $inxmailList Inxmail list
|
244 |
+
*
|
245 |
+
* @return boolean
|
246 |
+
*/
|
247 |
+
public function subscribeByEmails($emails, $trigger = true, $inxmailList)
|
248 |
+
{
|
249 |
+
try {
|
250 |
+
$this->openInxmailSession(false);
|
251 |
+
} catch (Exception $e) {
|
252 |
+
Mage::helper('dndinxmail_subscriber/log')->logExceptionMessage($e, __FUNCTION__);
|
253 |
|
254 |
return false;
|
255 |
}
|
256 |
+
if (!is_array($emails)) {
|
257 |
+
$emails = array($emails);
|
258 |
+
}
|
259 |
|
260 |
+
$recipientContext = $this->getRecipientContext();
|
261 |
+
$batchChannel = $recipientContext->createBatchChannel();
|
|
|
|
|
262 |
|
263 |
+
foreach ($emails as $email) {
|
264 |
+
$this->addCustomerToBatch($batchChannel, $email, $trigger, $inxmailList);
|
265 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
266 |
|
267 |
+
$batchChannel->executeBatch();
|
|
|
|
|
268 |
|
269 |
+
return true;
|
270 |
+
}
|
|
|
|
|
|
|
271 |
|
272 |
+
/**
|
273 |
+
* Add email address to Inxmail batch channel
|
274 |
+
* If email is linked to customer add additionnal data else set email as guest
|
275 |
+
*
|
276 |
+
* @param $batchChannel
|
277 |
+
* @param $email
|
278 |
+
* @param bool $trigger
|
279 |
+
* @param $inxmailList
|
280 |
+
*/
|
281 |
+
public function addCustomerToBatch($batchChannel, $email, $trigger = true, $inxmailList)
|
282 |
+
{
|
283 |
+
try {
|
284 |
+
$session = $this->openInxmailSession(false);
|
285 |
+
} catch (Exception $e) {
|
286 |
+
Mage::helper('dndinxmail_subscriber/log')->logExceptionMessage($e, __FUNCTION__);
|
287 |
|
288 |
+
return;
|
|
|
|
|
|
|
|
|
289 |
}
|
290 |
|
291 |
+
/** @var null|Mage_Customer_Model_Customer $customer */
|
292 |
+
$customer = $this->getCustomerByEmail($email);
|
293 |
+
$vars = array();
|
294 |
+
|
295 |
+
if ($customer != false) {
|
296 |
+
$vars = $this->getCustomerAttributesForInxmail($customer);
|
297 |
+
}
|
298 |
|
299 |
$recipientContext = $this->getRecipientContext();
|
300 |
$subscriptionManager = $session->getSubscriptionManager();
|
301 |
$recipientMetaData = $recipientContext->getMetaData();
|
302 |
$subscriptionAttribute = $recipientMetaData->getSubscriptionAttribute($inxmailList);
|
303 |
|
|
|
304 |
$recipientRowSet = $recipientContext->select($inxmailList, null, "email LIKE \"" . $email . "\"", null, Inx_Api_Order::ASC);
|
305 |
$isSubscribed = ($recipientRowSet->next()) ? true : false;
|
306 |
|
330 |
if (!$isSubscribed && $trigger == false) {
|
331 |
$batchChannel->write($subscriptionAttribute, date("c"));
|
332 |
}
|
333 |
+
}
|
334 |
|
|
|
335 |
|
336 |
+
/**
|
337 |
+
* @param Mage_Customer_Model_Customer $customer
|
338 |
+
*
|
339 |
+
* @return array
|
340 |
+
*/
|
341 |
+
public function getCustomerAttributesForInxmail(Mage_Customer_Model_Customer $customer)
|
342 |
+
{
|
343 |
+
$vars = array();
|
344 |
+
|
345 |
+
$email = $customer->getEmail();
|
346 |
+
$mappingHelper = Mage::helper('dndinxmail_subscriber/mapping');
|
347 |
+
$fields = $mappingHelper->getMappingFields();
|
348 |
+
foreach ($fields as $magentoField => $config) {
|
349 |
+
$inxmailColumn = $config['inxmail_column'];
|
350 |
+
if ($mappingHelper->isDynamicAttribute($magentoField)) {
|
351 |
+
$dynamicData = $this->getDynamicData($magentoField, $email);
|
352 |
+
if ($dynamicData !== false) {
|
353 |
+
$vars[$inxmailColumn] = $dynamicData;
|
354 |
+
}
|
355 |
+
|
356 |
+
continue;
|
357 |
+
}
|
358 |
+
$attributeType = $config['attribute_type'];
|
359 |
+
|
360 |
+
$value = null;
|
361 |
+
if ($attributeType === 'customer') {
|
362 |
+
$value = $customer->getData($magentoField);
|
363 |
+
} elseif ($attributeType === 'customer_address') {
|
364 |
+
$customerAddress = $customer->getDefaultBillingAddress();
|
365 |
+
|
366 |
+
if ($customerAddress && $customerAddress->getId()) {
|
367 |
+
$value = $customerAddress->getData($magentoField);
|
368 |
+
}
|
369 |
+
}
|
370 |
+
|
371 |
+
if ($value != null) {
|
372 |
+
$value = $this->_processAttributesValue($magentoField, $value, $attributeType);
|
373 |
+
$vars[$inxmailColumn] = $value;
|
374 |
+
}
|
375 |
+
}
|
376 |
+
return $vars;
|
377 |
}
|
378 |
|
379 |
/**
|
387 |
*/
|
388 |
public function unsubscribeCustomer($email, $trigger = true, $inxmailList)
|
389 |
{
|
390 |
+
try {
|
391 |
+
$session = $this->openInxmailSession(false);
|
392 |
+
} catch (Exception $e) {
|
393 |
+
Mage::helper('dndinxmail_subscriber/log')->logExceptionMessage($e, __FUNCTION__);
|
394 |
|
395 |
return false;
|
396 |
}
|
429 |
*/
|
430 |
public function removeCustomer($email, $inxmailList)
|
431 |
{
|
432 |
+
try {
|
433 |
+
$this->openInxmailSession(false);
|
434 |
+
} catch (Exception $e) {
|
435 |
+
Mage::helper('dndinxmail_subscriber/log')->logExceptionMessage($e, __FUNCTION__);
|
436 |
|
437 |
return false;
|
438 |
}
|
492 |
*/
|
493 |
public function truncateInxmailList()
|
494 |
{
|
495 |
+
try {
|
496 |
+
$session = $this->openInxmailSession(false);
|
497 |
+
} catch (Exception $e) {
|
498 |
+
Mage::helper('dndinxmail_subscriber/log')->logExceptionMessage($e, __FUNCTION__);
|
499 |
+
|
500 |
throw new Exception('Inxmail session does not exist');
|
501 |
}
|
502 |
|
544 |
*/
|
545 |
public function truncateSpecificInxmailList($inxmailList)
|
546 |
{
|
547 |
+
try {
|
548 |
+
$this->openInxmailSession(false);
|
549 |
+
} catch (Exception $e) {
|
550 |
+
Mage::helper('dndinxmail_subscriber/log')->logExceptionMessage($e, __FUNCTION__);
|
551 |
+
|
552 |
throw new Exception('Inxmail session does not exist');
|
553 |
}
|
554 |
|
590 |
throw new Exception('Error truncating Inxmail list');
|
591 |
}
|
592 |
|
593 |
+
try {
|
594 |
+
$session = $this->openInxmailSession(false);
|
595 |
+
} catch (Exception $e) {
|
596 |
+
Mage::helper('dndinxmail_subscriber/log')->logExceptionMessage($e, __FUNCTION__);
|
597 |
+
|
598 |
throw new Exception('Inxmail session does not exist');
|
599 |
}
|
600 |
|
625 |
*/
|
626 |
public function getUnsubscribedCustomers($storeId)
|
627 |
{
|
628 |
+
try {
|
629 |
+
$session = $this->openInxmailSession(false);
|
630 |
+
} catch (Exception $e) {
|
631 |
+
Mage::helper('dndinxmail_subscriber/log')->logExceptionMessage($e, __FUNCTION__);
|
632 |
|
633 |
return array();
|
634 |
}
|
639 |
return array();
|
640 |
}
|
641 |
|
642 |
+
$unsubscribed = array();
|
643 |
try {
|
|
|
644 |
$listContextManager = $session->getListContextManager();
|
645 |
$inxmailList = $listContextManager->get($listid);
|
646 |
$recipientContext = $this->getRecipientContext();
|
677 |
$groupsConfig = $groupHelper->getCustomerGroupsConfig();
|
678 |
if (count($groupsConfig) <= 0) return array();
|
679 |
|
680 |
+
try {
|
681 |
+
$this->openInxmailSession(false);
|
682 |
+
} catch (Exception $e) {
|
683 |
+
Mage::helper('dndinxmail_subscriber/log')->logExceptionMessage($e, __FUNCTION__);
|
684 |
|
685 |
return false;
|
686 |
}
|
717 |
|
718 |
$this->closeInxmailSession();
|
719 |
|
720 |
+
$this->unsubscribeCustomersFromMagentoByEmails($unsubscribed);
|
721 |
|
722 |
return true;
|
723 |
}
|
729 |
*
|
730 |
* @return boolean
|
731 |
*/
|
732 |
+
public function unsubscribeCustomersFromMagentoByEmails($unsubscribed = array())
|
733 |
{
|
734 |
if (count($unsubscribed) <= 0) return false;
|
735 |
|
752 |
*/
|
753 |
public function getInxmailColumns()
|
754 |
{
|
755 |
+
try {
|
756 |
+
$this->openInxmailSession(false);
|
757 |
+
} catch (Exception $e) {
|
758 |
+
Mage::helper('dndinxmail_subscriber/log')->logExceptionMessage($e, __FUNCTION__);
|
759 |
|
760 |
return array(
|
761 |
array(
|
803 |
*/
|
804 |
public function getInxmailLists()
|
805 |
{
|
806 |
+
try {
|
807 |
+
$this->openInxmailSession(false);
|
808 |
+
} catch (Exception $e) {
|
809 |
+
Mage::helper('dndinxmail_subscriber/log')->logExceptionMessage($e, __FUNCTION__);
|
810 |
|
811 |
return array(
|
812 |
array(
|
944 |
*/
|
945 |
public function getDynamicData($attribute, $email)
|
946 |
{
|
947 |
+
$collection = Mage::getResourceModel('customer/customer_collection')->addAttributeToFilter('email', array('eq' => $email));
|
948 |
|
949 |
$entityType = Mage::getModel('eav/entity_type')->loadByCode('order');
|
950 |
$entityTable = $collection->getTable($entityType->getEntityTable());
|
1034 |
*/
|
1035 |
public function createInxmailList($listName, $description = null)
|
1036 |
{
|
1037 |
+
try {
|
1038 |
+
$this->openInxmailSession(false);
|
1039 |
+
} catch (Exception $e) {
|
1040 |
+
Mage::helper('dndinxmail_subscriber/log')->logExceptionMessage($e, __FUNCTION__);
|
1041 |
|
1042 |
return false;
|
1043 |
}
|
1065 |
*/
|
1066 |
public function deleteInxmailList($listName)
|
1067 |
{
|
1068 |
+
try {
|
1069 |
+
$this->openInxmailSession(false);
|
1070 |
+
} catch (Exception $e) {
|
1071 |
+
Mage::helper('dndinxmail_subscriber/log')->logExceptionMessage($e, __FUNCTION__);
|
1072 |
|
1073 |
return false;
|
1074 |
}
|
1103 |
$groupsConfig = $groupHelper->getCustomerGroupsConfig();
|
1104 |
if (count($groupsConfig) <= 0) return false;
|
1105 |
|
1106 |
+
try {
|
1107 |
+
$this->openInxmailSession(false);
|
1108 |
+
} catch (Exception $e) {
|
1109 |
+
Mage::helper('dndinxmail_subscriber/log')->logExceptionMessage($e, __FUNCTION__);
|
1110 |
|
1111 |
return false;
|
1112 |
}
|
1138 |
->addFieldToFilter('subscriber_email', array('in' => $emails));
|
1139 |
$subscriberCollection->getSelect()->group('main_table.subscriber_email');
|
1140 |
|
1141 |
+
$subscriberEmails = $subscriberCollection->getColumnValues('subscriber_email');
|
1142 |
+
|
1143 |
+
$this->subscribeByEmails($subscriberEmails, false, $inxmailList);
|
|
|
|
|
|
|
1144 |
}
|
1145 |
|
1146 |
$this->closeInxmailSession();
|
app/code/community/DndInxmail/Subscriber/Helper/Synchronize/Subscribers.php
CHANGED
@@ -32,7 +32,11 @@ class DndInxmail_Subscriber_Helper_Synchronize_Subscribers extends DndInxmail_Su
|
|
32 |
$resource = Mage::getSingleton('core/resource');
|
33 |
$read = $resource->getConnection('core_read');
|
34 |
$subscriberTable = $resource->getTableName('newsletter/subscriber');
|
35 |
-
$query = "
|
|
|
|
|
|
|
|
|
36 |
|
37 |
try {
|
38 |
if (!$result = $read->query($query)) {
|
@@ -44,10 +48,7 @@ class DndInxmail_Subscriber_Helper_Synchronize_Subscribers extends DndInxmail_Su
|
|
44 |
|
45 |
foreach ($subscribers as $subscriber) {
|
46 |
|
47 |
-
$pass[$currentPass][] =
|
48 |
-
'email' => $subscriber['email'],
|
49 |
-
'status' => $subscriber['status']
|
50 |
-
);
|
51 |
|
52 |
if ($i % $subscribersPerPass == $subscribersPerPass - 1) {
|
53 |
$currentPass++;
|
32 |
$resource = Mage::getSingleton('core/resource');
|
33 |
$read = $resource->getConnection('core_read');
|
34 |
$subscriberTable = $resource->getTableName('newsletter/subscriber');
|
35 |
+
$query = "
|
36 |
+
SELECT `$subscriberTable`.`subscriber_email` as `email`
|
37 |
+
FROM `$subscriberTable`
|
38 |
+
WHERE `$subscriberTable`.`store_id` = $storeId
|
39 |
+
";
|
40 |
|
41 |
try {
|
42 |
if (!$result = $read->query($query)) {
|
48 |
|
49 |
foreach ($subscribers as $subscriber) {
|
50 |
|
51 |
+
$pass[$currentPass][] = $subscriber['email'];
|
|
|
|
|
|
|
52 |
|
53 |
if ($i % $subscribersPerPass == $subscribersPerPass - 1) {
|
54 |
$currentPass++;
|
app/code/community/DndInxmail/Subscriber/Helper/Version.php
CHANGED
@@ -26,4 +26,12 @@ class DndInxmail_Subscriber_Helper_Version extends Mage_Core_Helper_Abstract
|
|
26 |
{
|
27 |
return Mage::getConfig()->getModuleConfig('DndInxmail_Subscriber')->version;
|
28 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
29 |
}
|
26 |
{
|
27 |
return Mage::getConfig()->getModuleConfig('DndInxmail_Subscriber')->version;
|
28 |
}
|
29 |
+
|
30 |
+
/**
|
31 |
+
* @return string
|
32 |
+
*/
|
33 |
+
public function getApiVersion()
|
34 |
+
{
|
35 |
+
return Inx_Apiimpl_SoapSession::API_ID;
|
36 |
+
}
|
37 |
}
|
app/code/community/DndInxmail/Subscriber/Model/Observer.php
CHANGED
@@ -30,6 +30,9 @@ class DndInxmail_Subscriber_Model_Observer
|
|
30 |
|
31 |
$event = $observer->getEvent();
|
32 |
$subscriber = $event->getDataObject();
|
|
|
|
|
|
|
33 |
$email = $subscriber->getSubscriberEmail();
|
34 |
$status = $subscriber->getStatus();
|
35 |
$storeId = $subscriber->getStoreId();
|
@@ -127,7 +130,7 @@ class DndInxmail_Subscriber_Model_Observer
|
|
127 |
$appEmulation = Mage::getSingleton('core/app_emulation');
|
128 |
$initialEnvironmentInfo = $appEmulation->startEnvironmentEmulation($store->getStoreId());
|
129 |
|
130 |
-
$synchronize->
|
131 |
|
132 |
$appEmulation->stopEnvironmentEmulation($initialEnvironmentInfo);
|
133 |
}
|
30 |
|
31 |
$event = $observer->getEvent();
|
32 |
$subscriber = $event->getDataObject();
|
33 |
+
if ($subscriber->getNotSyncInxmail()) {
|
34 |
+
return false;
|
35 |
+
}
|
36 |
$email = $subscriber->getSubscriberEmail();
|
37 |
$status = $subscriber->getStatus();
|
38 |
$storeId = $subscriber->getStoreId();
|
130 |
$appEmulation = Mage::getSingleton('core/app_emulation');
|
131 |
$initialEnvironmentInfo = $appEmulation->startEnvironmentEmulation($store->getStoreId());
|
132 |
|
133 |
+
$synchronize->unsubscribeCustomersFromMagentoByEmails($unsubscribedStore);
|
134 |
|
135 |
$appEmulation->stopEnvironmentEmulation($initialEnvironmentInfo);
|
136 |
}
|
app/code/community/DndInxmail/Subscriber/Model/Synchronization.php
ADDED
@@ -0,0 +1,168 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* @category Module Model
|
5 |
+
* @package DndInxmail_Subscriber
|
6 |
+
* @dev Alexander Velykzhanin
|
7 |
+
* @last_modified 4/12/2015
|
8 |
+
* @copyright Copyright (c) 2015 Flagbit GmbH & Co. KG
|
9 |
+
* @author Flagbit GmbH & Co. KG : https://www.flagbit.de/
|
10 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
11 |
+
*/
|
12 |
+
class DndInxmail_Subscriber_Model_Synchronization extends Mage_Core_Model_Abstract
|
13 |
+
{
|
14 |
+
|
15 |
+
protected $_inxmailSession;
|
16 |
+
|
17 |
+
protected $_customers = array();
|
18 |
+
|
19 |
+
/**
|
20 |
+
* @param array $emails
|
21 |
+
* @param $inxmailList
|
22 |
+
* @param $store
|
23 |
+
*/
|
24 |
+
public function synchronizeCustomers(array $emails, $inxmailList, $store = null)
|
25 |
+
{
|
26 |
+
if (empty($emails)) {
|
27 |
+
return;
|
28 |
+
}
|
29 |
+
$logHelper = Mage::helper('dndinxmail_subscriber/log');
|
30 |
+
$synchronizeHelper = Mage::helper('dndinxmail_subscriber/synchronize');
|
31 |
+
try {
|
32 |
+
$synchronizeHelper->openInxmailSession();
|
33 |
+
} catch (Exception $e) {
|
34 |
+
$logHelper->logExceptionMessage($e, __FUNCTION__);
|
35 |
+
|
36 |
+
return;
|
37 |
+
}
|
38 |
+
|
39 |
+
if (is_null($store)) {
|
40 |
+
$store = Mage::app()->getStore();
|
41 |
+
}
|
42 |
+
$customers = $this->_getCustomersByEmails($emails);
|
43 |
+
$subscriberCollection = Mage::getModel('newsletter/subscriber')->getCollection();
|
44 |
+
$subscriberCollection->addFieldToFilter('subscriber_email', array('in' => $emails))
|
45 |
+
->addStoreFilter($store->getId());
|
46 |
+
|
47 |
+
$recipientContext = $synchronizeHelper->getRecipientContext();
|
48 |
+
$recipientMetaData = $recipientContext->getMetaData();
|
49 |
+
$subscriptionAttribute = $recipientMetaData->getSubscriptionAttribute($inxmailList);
|
50 |
+
$batchChannel = $recipientContext->createBatchChannel();
|
51 |
+
$filter = '';
|
52 |
+
foreach ($subscriberCollection as $subscriber) {
|
53 |
+
$subscriptionEmail = $subscriber->getEmail();
|
54 |
+
$filter .= "email LIKE \"" . $subscriptionEmail . "\" OR ";
|
55 |
+
}
|
56 |
+
$filter = rtrim($filter, "OR ");
|
57 |
+
/** @var Inx_Apiimpl_Recipient_RecipientRowSetImpl $recipientRowSet */
|
58 |
+
$recipientRowSet = $recipientContext->select($inxmailList, null, $filter, null, Inx_Api_Order::ASC);
|
59 |
+
$inxmailEmails = array();
|
60 |
+
$emailAttribute = $recipientMetaData->getUserAttribute('email');
|
61 |
+
while ($recipientRowSet->next()) {
|
62 |
+
$inxmailEmails[] = $recipientRowSet->getString($emailAttribute);
|
63 |
+
}
|
64 |
+
foreach ($subscriberCollection as $subscriber) {
|
65 |
+
$subscriptionEmail = $subscriber->getEmail();
|
66 |
+
if ((array_search($subscriptionEmail, $inxmailEmails) !== false) && !$subscriber->isSubscribed()) {
|
67 |
+
$subscriber->setStatus(Mage_Newsletter_Model_Subscriber::STATUS_SUBSCRIBED)
|
68 |
+
->setNotSyncInxmail(true);
|
69 |
+
$subscriber->save();
|
70 |
+
} elseif ($subscriber->isSubscribed()) {
|
71 |
+
$batchChannel->createRecipient($subscriptionEmail, true);
|
72 |
+
$batchChannel->selectRecipient($subscriptionEmail, true);
|
73 |
+
if (isset($customers[$subscriptionEmail])) {
|
74 |
+
$customer = $customers[$subscriptionEmail];
|
75 |
+
$vars = $synchronizeHelper->getCustomerAttributesForInxmail($customer);
|
76 |
+
|
77 |
+
foreach ($vars as $attributeName => $attributeValue) {
|
78 |
+
try {
|
79 |
+
$recipientMetaData->getUserAttribute($attributeName);
|
80 |
+
$batchChannel->write($recipientMetaData->getUserAttribute($attributeName), $attributeValue);
|
81 |
+
} catch (Inx_Api_Recipient_AttributeNotFoundException $e) {
|
82 |
+
continue;
|
83 |
+
}
|
84 |
+
}
|
85 |
+
}
|
86 |
+
$batchChannel->write($subscriptionAttribute, date("c"));
|
87 |
+
}
|
88 |
+
}
|
89 |
+
$results = $batchChannel->executeBatch();
|
90 |
+
$this->_logResultErrors($results);
|
91 |
+
|
92 |
+
Mage::helper('dndinxmail_subscriber/config')->setIsSynchronized(true, 'stores', $store->getId());
|
93 |
+
}
|
94 |
+
|
95 |
+
protected function _logResultErrors($results)
|
96 |
+
{
|
97 |
+
if (!is_array($results)) {
|
98 |
+
return;
|
99 |
+
}
|
100 |
+
$logHelper = Mage::helper('dndinxmail_subscriber/log');
|
101 |
+
foreach ($results as $result) {
|
102 |
+
$error = $this->getBatchResultError($result);
|
103 |
+
if (!$error) {
|
104 |
+
continue;
|
105 |
+
}
|
106 |
+
$logHelper->logExceptionData($error . " (Code {$result})", __FUNCTION__);
|
107 |
+
}
|
108 |
+
}
|
109 |
+
|
110 |
+
/**
|
111 |
+
* Transform result code into error message or bool false in case of success
|
112 |
+
*
|
113 |
+
* @param $result
|
114 |
+
*
|
115 |
+
* @return bool|string
|
116 |
+
*/
|
117 |
+
public function getBatchResultError($result)
|
118 |
+
{
|
119 |
+
$error = false;
|
120 |
+
$helper = Mage::helper('dndinxmail_subscriber');
|
121 |
+
switch ($result) {
|
122 |
+
case Inx_Api_Recipient_BatchChannel::RESULT_NOT_COMMITTED:
|
123 |
+
$error = $helper->__('Data was not committed.');
|
124 |
+
break;
|
125 |
+
case Inx_Api_Recipient_BatchChannel::RESULT_FAILURE_ILLEGAL_VALUE:
|
126 |
+
$error = $helper->__('Key value is illegal.');
|
127 |
+
break;
|
128 |
+
case Inx_Api_Recipient_BatchChannel::RESULT_FAILURE_BLOCKED_BY_BLACKLIST:
|
129 |
+
$error = $helper->__('Email is blocked by blacklist entry.');
|
130 |
+
break;
|
131 |
+
case Inx_Api_Recipient_BatchChannel::RESULT_FAILURE_DUPLICATE_KEY:
|
132 |
+
$error = $helper->__('Unique key already exists.');
|
133 |
+
break;
|
134 |
+
case Inx_Api_Recipient_BatchChannel::RESULT_FAILURE_KEY_NOT_FOUND:
|
135 |
+
$error = $helper->__('Recipient doesn\'t exist.');
|
136 |
+
break;
|
137 |
+
case Inx_Api_Recipient_BatchChannel::RESULT_PERMISSION_DENIED:
|
138 |
+
$error = $helper->__('Permission is denied to create, update or remove a recipient.');
|
139 |
+
break;
|
140 |
+
}
|
141 |
+
|
142 |
+
return $error;
|
143 |
+
}
|
144 |
+
|
145 |
+
/**
|
146 |
+
* @param $emails
|
147 |
+
*
|
148 |
+
* @return array|Mage_Customer_Model_Customer[]
|
149 |
+
*/
|
150 |
+
protected function _getCustomersByEmails($emails)
|
151 |
+
{
|
152 |
+
/** @var Mage_Customer_Model_Resource_Customer_Collection $customerCollection */
|
153 |
+
$customerCollection = Mage::getModel('customer/customer')->getCollection();
|
154 |
+
$customerCollection->addNameToSelect()
|
155 |
+
->addFieldToFilter('email', array('in' => $emails))
|
156 |
+
->addAttributeToSelect('*');
|
157 |
+
$customerCollection->getSelect()
|
158 |
+
->group('e.email');
|
159 |
+
|
160 |
+
$customers = array();
|
161 |
+
foreach ($customerCollection as $customer) {
|
162 |
+
$customers[$customer->getEmail()] = $customer;
|
163 |
+
}
|
164 |
+
|
165 |
+
return $customers;
|
166 |
+
}
|
167 |
+
}
|
168 |
+
|
app/code/community/DndInxmail/Subscriber/controllers/Adminhtml/InxmailcolumnsController.php
CHANGED
@@ -47,8 +47,10 @@ class DndInxmail_Subscriber_Adminhtml_InxmailcolumnsController extends Mage_Admi
|
|
47 |
{
|
48 |
$synchronize = Mage::helper('dndinxmail_subscriber/synchronize');
|
49 |
|
50 |
-
|
51 |
-
|
|
|
|
|
52 |
$this->_redirect('*/*/new');
|
53 |
|
54 |
return false;
|
47 |
{
|
48 |
$synchronize = Mage::helper('dndinxmail_subscriber/synchronize');
|
49 |
|
50 |
+
try {
|
51 |
+
$session = $synchronize->openInxmailSession(false);
|
52 |
+
} catch (Exception $e) {
|
53 |
+
Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
|
54 |
$this->_redirect('*/*/new');
|
55 |
|
56 |
return false;
|
app/code/community/DndInxmail/Subscriber/controllers/SynchronizeController.php
CHANGED
@@ -43,11 +43,10 @@ class DndInxmail_Subscriber_SynchronizeController extends Mage_Core_Controller_F
|
|
43 |
// Emulate store that is synchronized to get correct email subscription by store
|
44 |
$appEmulation = Mage::getSingleton('core/app_emulation');
|
45 |
$initialEnvironmentInfo = $appEmulation->startEnvironmentEmulation($store->getStoreId());
|
46 |
-
$synchronize->
|
47 |
$synchronize->unsubscribeCustomersFromGroups();
|
48 |
$appEmulation->stopEnvironmentEmulation($initialEnvironmentInfo);
|
49 |
-
}
|
50 |
-
catch (Exception $e) {
|
51 |
$message = Mage::helper('dndinxmail_subscriber')->__('Error synchronizing unsubscribed customers from Inxmail');
|
52 |
Mage::getSingleton('core/session')->addError($message);
|
53 |
$this->_redirect('dndinxmail_subscriber_front/messages/error/');
|
@@ -61,20 +60,6 @@ class DndInxmail_Subscriber_SynchronizeController extends Mage_Core_Controller_F
|
|
61 |
$this->_redirect('dndinxmail_subscriber_front/messages/error/');
|
62 |
}
|
63 |
|
64 |
-
try {
|
65 |
-
Mage::app()->setCurrentStore($store->getStoreId()); // Set current store for list
|
66 |
-
if (!$synchronize->truncateInxmailList()) {
|
67 |
-
$message = Mage::helper('dndinxmail_subscriber')->__('Error truncating Inxmail list.');
|
68 |
-
Mage::getSingleton('core/session')->addError($message);
|
69 |
-
$this->_redirect('dndinxmail_subscriber_front/messages/error/');
|
70 |
-
}
|
71 |
-
}
|
72 |
-
catch (Exception $e) {
|
73 |
-
$message = Mage::helper('dndinxmail_subscriber')->__($e->getMessage());
|
74 |
-
Mage::getSingleton('core/session')->addError($message);
|
75 |
-
$this->_redirect('dndinxmail_subscriber_front/messages/error/');
|
76 |
-
}
|
77 |
-
|
78 |
$pass = Zend_Json::encode($pass);
|
79 |
|
80 |
$this->loadLayout('synchronize');
|
@@ -101,10 +86,12 @@ class DndInxmail_Subscriber_SynchronizeController extends Mage_Core_Controller_F
|
|
101 |
$data['failed'] = 'true';
|
102 |
$data['msg'] = "No store set";
|
103 |
}
|
104 |
-
|
105 |
-
|
|
|
|
|
106 |
$data['failed'] = 'true';
|
107 |
-
$data['msg'] =
|
108 |
}
|
109 |
|
110 |
if (!$listid = (int)$synchronize->getSynchronizeListId($store->getStoreId())) {
|
@@ -112,28 +99,22 @@ class DndInxmail_Subscriber_SynchronizeController extends Mage_Core_Controller_F
|
|
112 |
$data['msg'] = "No list defined in configuration";
|
113 |
}
|
114 |
|
115 |
-
$listContextManager = $session->getListContextManager();
|
116 |
-
$inxmailList = $listContextManager->get($listid);
|
117 |
-
|
118 |
$pass = $this->getRequest()->getParam('pass');
|
119 |
$pass = Zend_Json::decode($pass);
|
120 |
|
121 |
if ($data['failed'] == 'false') {
|
|
|
|
|
|
|
122 |
$synchronize->doMappingCheck();
|
123 |
try {
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
$synchronize->switchActionToSubscriberStatus($status, $email, false, $inxmailList);
|
129 |
-
}
|
130 |
-
|
131 |
-
}
|
132 |
-
catch (Exception $e) {
|
133 |
$data['failed'] = 'true';
|
134 |
$data['msg'] = $e->getMessage();
|
135 |
}
|
136 |
-
|
137 |
}
|
138 |
|
139 |
$synchronize->closeInxmailSession();
|
@@ -148,6 +129,10 @@ class DndInxmail_Subscriber_SynchronizeController extends Mage_Core_Controller_F
|
|
148 |
*/
|
149 |
public function groupsAction()
|
150 |
{
|
|
|
|
|
|
|
|
|
151 |
$hashKey = $this->getRequest()->getParam('hash');
|
152 |
$isAllowed = Mage::helper('dndinxmail_subscriber')->isHashKeyAllowed($hashKey);
|
153 |
$groupsHelper = Mage::helper('dndinxmail_subscriber/synchronize_groups');
|
@@ -172,7 +157,7 @@ class DndInxmail_Subscriber_SynchronizeController extends Mage_Core_Controller_F
|
|
172 |
}
|
173 |
}
|
174 |
|
175 |
-
$synchronize->
|
176 |
$synchronize->unsubscribeCustomersFromGroups();
|
177 |
|
178 |
}
|
@@ -191,7 +176,7 @@ class DndInxmail_Subscriber_SynchronizeController extends Mage_Core_Controller_F
|
|
191 |
}
|
192 |
|
193 |
$pass = Zend_Json::encode($pass);
|
194 |
-
|
195 |
$this->loadLayout('synchronize');
|
196 |
|
197 |
$block = $this->getLayout()->createBlock('dndinxmail_subscriber/synchronization_groups')->setPass($pass);
|
@@ -205,14 +190,20 @@ class DndInxmail_Subscriber_SynchronizeController extends Mage_Core_Controller_F
|
|
205 |
*/
|
206 |
public function passGroupsAction()
|
207 |
{
|
|
|
|
|
|
|
|
|
208 |
$synchronize = Mage::helper('dndinxmail_subscriber/synchronize');
|
209 |
$data = array();
|
210 |
$data['failed'] = 'false';
|
211 |
$data['msg'] = 'Success';
|
212 |
|
213 |
-
|
|
|
|
|
214 |
$data['failed'] = 'true';
|
215 |
-
$data['msg'] =
|
216 |
}
|
217 |
|
218 |
$firstPass = $this->getRequest()->getParam('first');
|
@@ -234,10 +225,7 @@ class DndInxmail_Subscriber_SynchronizeController extends Mage_Core_Controller_F
|
|
234 |
if ($firstPass == 'true') $synchronize->truncateSpecificInxmailList($list);
|
235 |
}
|
236 |
|
237 |
-
|
238 |
-
$synchronize->subscribeCustomer($email, false, $list);
|
239 |
-
}
|
240 |
-
|
241 |
}
|
242 |
catch (Exception $e) {
|
243 |
$data['failed'] = 'true';
|
@@ -247,7 +235,7 @@ class DndInxmail_Subscriber_SynchronizeController extends Mage_Core_Controller_F
|
|
247 |
}
|
248 |
|
249 |
$synchronize->closeInxmailSession();
|
250 |
-
|
251 |
$this->getResponse()->setBody(Zend_Json::encode($data));
|
252 |
}
|
253 |
|
43 |
// Emulate store that is synchronized to get correct email subscription by store
|
44 |
$appEmulation = Mage::getSingleton('core/app_emulation');
|
45 |
$initialEnvironmentInfo = $appEmulation->startEnvironmentEmulation($store->getStoreId());
|
46 |
+
$synchronize->unsubscribeCustomersFromMagentoByEmails($unsubscribedStore);
|
47 |
$synchronize->unsubscribeCustomersFromGroups();
|
48 |
$appEmulation->stopEnvironmentEmulation($initialEnvironmentInfo);
|
49 |
+
} catch (Exception $e) {
|
|
|
50 |
$message = Mage::helper('dndinxmail_subscriber')->__('Error synchronizing unsubscribed customers from Inxmail');
|
51 |
Mage::getSingleton('core/session')->addError($message);
|
52 |
$this->_redirect('dndinxmail_subscriber_front/messages/error/');
|
60 |
$this->_redirect('dndinxmail_subscriber_front/messages/error/');
|
61 |
}
|
62 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
63 |
$pass = Zend_Json::encode($pass);
|
64 |
|
65 |
$this->loadLayout('synchronize');
|
86 |
$data['failed'] = 'true';
|
87 |
$data['msg'] = "No store set";
|
88 |
}
|
89 |
+
$session = new Varien_Object();
|
90 |
+
try {
|
91 |
+
$session = $synchronize->openInxmailSession(false);
|
92 |
+
} catch (Exception $e) {
|
93 |
$data['failed'] = 'true';
|
94 |
+
$data['msg'] = $e->getMessage();
|
95 |
}
|
96 |
|
97 |
if (!$listid = (int)$synchronize->getSynchronizeListId($store->getStoreId())) {
|
99 |
$data['msg'] = "No list defined in configuration";
|
100 |
}
|
101 |
|
|
|
|
|
|
|
102 |
$pass = $this->getRequest()->getParam('pass');
|
103 |
$pass = Zend_Json::decode($pass);
|
104 |
|
105 |
if ($data['failed'] == 'false') {
|
106 |
+
$listContextManager = $session->getListContextManager();
|
107 |
+
$inxmailList = $listContextManager->get($listid);
|
108 |
+
|
109 |
$synchronize->doMappingCheck();
|
110 |
try {
|
111 |
+
Mage::getModel('dndinxmail_subscriber/synchronization')
|
112 |
+
->synchronizeCustomers($pass, $inxmailList, $store);
|
113 |
+
} catch (Exception $e) {
|
114 |
+
Mage::helper('dndinxmail_subscriber/log')->logExceptionMessage($e);
|
|
|
|
|
|
|
|
|
|
|
115 |
$data['failed'] = 'true';
|
116 |
$data['msg'] = $e->getMessage();
|
117 |
}
|
|
|
118 |
}
|
119 |
|
120 |
$synchronize->closeInxmailSession();
|
129 |
*/
|
130 |
public function groupsAction()
|
131 |
{
|
132 |
+
// Emulate store that is synchronized to get correct email subscription by store
|
133 |
+
$appEmulation = Mage::getSingleton('core/app_emulation');
|
134 |
+
$initialEnvironmentInfo = $appEmulation->startEnvironmentEmulation(Mage_Core_Model_App::ADMIN_STORE_ID);
|
135 |
+
|
136 |
$hashKey = $this->getRequest()->getParam('hash');
|
137 |
$isAllowed = Mage::helper('dndinxmail_subscriber')->isHashKeyAllowed($hashKey);
|
138 |
$groupsHelper = Mage::helper('dndinxmail_subscriber/synchronize_groups');
|
157 |
}
|
158 |
}
|
159 |
|
160 |
+
$synchronize->unsubscribeCustomersFromMagentoByEmails($unsubscribed);
|
161 |
$synchronize->unsubscribeCustomersFromGroups();
|
162 |
|
163 |
}
|
176 |
}
|
177 |
|
178 |
$pass = Zend_Json::encode($pass);
|
179 |
+
$appEmulation->stopEnvironmentEmulation($initialEnvironmentInfo);
|
180 |
$this->loadLayout('synchronize');
|
181 |
|
182 |
$block = $this->getLayout()->createBlock('dndinxmail_subscriber/synchronization_groups')->setPass($pass);
|
190 |
*/
|
191 |
public function passGroupsAction()
|
192 |
{
|
193 |
+
// Emulate store that is synchronized to get correct email subscription by store
|
194 |
+
$appEmulation = Mage::getSingleton('core/app_emulation');
|
195 |
+
$initialEnvironmentInfo = $appEmulation->startEnvironmentEmulation(Mage_Core_Model_App::ADMIN_STORE_ID);
|
196 |
+
|
197 |
$synchronize = Mage::helper('dndinxmail_subscriber/synchronize');
|
198 |
$data = array();
|
199 |
$data['failed'] = 'false';
|
200 |
$data['msg'] = 'Success';
|
201 |
|
202 |
+
try {
|
203 |
+
$session = $synchronize->openInxmailSession(false);
|
204 |
+
} catch (Exception $e) {
|
205 |
$data['failed'] = 'true';
|
206 |
+
$data['msg'] = $e->getMessage();
|
207 |
}
|
208 |
|
209 |
$firstPass = $this->getRequest()->getParam('first');
|
225 |
if ($firstPass == 'true') $synchronize->truncateSpecificInxmailList($list);
|
226 |
}
|
227 |
|
228 |
+
$synchronize->subscribeByEmails($pass, false, $list);
|
|
|
|
|
|
|
229 |
}
|
230 |
catch (Exception $e) {
|
231 |
$data['failed'] = 'true';
|
235 |
}
|
236 |
|
237 |
$synchronize->closeInxmailSession();
|
238 |
+
$appEmulation->stopEnvironmentEmulation($initialEnvironmentInfo);
|
239 |
$this->getResponse()->setBody(Zend_Json::encode($data));
|
240 |
}
|
241 |
|
app/code/community/DndInxmail/Subscriber/etc/config.xml
CHANGED
@@ -13,7 +13,7 @@
|
|
13 |
<config>
|
14 |
<modules>
|
15 |
<DndInxmail_Subscriber>
|
16 |
-
<version>3.
|
17 |
</DndInxmail_Subscriber>
|
18 |
</modules>
|
19 |
<global>
|
@@ -123,7 +123,7 @@
|
|
123 |
<default>
|
124 |
<dndinxmail_subscriber_general>
|
125 |
<syncrhonize_subscribers>
|
126 |
-
<subscribers_per_pass>
|
127 |
</syncrhonize_subscribers>
|
128 |
</dndinxmail_subscriber_general>
|
129 |
<dndinxmail_subscriber_crons>
|
13 |
<config>
|
14 |
<modules>
|
15 |
<DndInxmail_Subscriber>
|
16 |
+
<version>3.2.0.0</version>
|
17 |
</DndInxmail_Subscriber>
|
18 |
</modules>
|
19 |
<global>
|
123 |
<default>
|
124 |
<dndinxmail_subscriber_general>
|
125 |
<syncrhonize_subscribers>
|
126 |
+
<subscribers_per_pass>500</subscribers_per_pass>
|
127 |
</syncrhonize_subscribers>
|
128 |
</dndinxmail_subscriber_general>
|
129 |
<dndinxmail_subscriber_crons>
|
app/code/community/DndInxmail/Subscriber/etc/system.xml
CHANGED
@@ -34,6 +34,22 @@
|
|
34 |
<show_in_website>1</show_in_website>
|
35 |
<show_in_store>0</show_in_store>
|
36 |
<fields>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
37 |
<url translate="label">
|
38 |
<label>API Url</label>
|
39 |
<frontend_type>text</frontend_type>
|
@@ -89,25 +105,25 @@
|
|
89 |
</fields>
|
90 |
</general>
|
91 |
<syncrhonize_subscribers translate="label">
|
92 |
-
<label>
|
93 |
<sort_order>30</sort_order>
|
94 |
<show_in_default>0</show_in_default>
|
95 |
<show_in_website>0</show_in_website>
|
96 |
<show_in_store>1</show_in_store>
|
97 |
-
<comment
|
98 |
<fields>
|
99 |
<synchronize_all translate="label comment">
|
100 |
-
<label>
|
101 |
<frontend_type>button</frontend_type>
|
102 |
<frontend_model>dndinxmail_subscriber/adminhtml_system_config_form_button_subscribers</frontend_model>
|
103 |
-
<comment>
|
104 |
<sort_order>10</sort_order>
|
105 |
<show_in_default>0</show_in_default>
|
106 |
<show_in_website>0</show_in_website>
|
107 |
<show_in_store>1</show_in_store>
|
108 |
</synchronize_all>
|
109 |
<subscribers_per_pass translate="label comment">
|
110 |
-
<label>Subscribers per
|
111 |
<frontend_type>text</frontend_type>
|
112 |
<sort_order>20</sort_order>
|
113 |
<show_in_default>1</show_in_default>
|
34 |
<show_in_website>1</show_in_website>
|
35 |
<show_in_store>0</show_in_store>
|
36 |
<fields>
|
37 |
+
<module_version translate="label">
|
38 |
+
<label>Module Version</label>
|
39 |
+
<frontend_model>dndinxmail_subscriber/adminhtml_system_config_moduleVersion</frontend_model>
|
40 |
+
<sort_order>5</sort_order>
|
41 |
+
<show_in_default>1</show_in_default>
|
42 |
+
<show_in_website>1</show_in_website>
|
43 |
+
<show_in_store>1</show_in_store>
|
44 |
+
</module_version>
|
45 |
+
<api_version translate="label">
|
46 |
+
<label>API Version</label>
|
47 |
+
<frontend_model>dndinxmail_subscriber/adminhtml_system_config_apiVersion</frontend_model>
|
48 |
+
<sort_order>7</sort_order>
|
49 |
+
<show_in_default>1</show_in_default>
|
50 |
+
<show_in_website>1</show_in_website>
|
51 |
+
<show_in_store>1</show_in_store>
|
52 |
+
</api_version>
|
53 |
<url translate="label">
|
54 |
<label>API Url</label>
|
55 |
<frontend_type>text</frontend_type>
|
105 |
</fields>
|
106 |
</general>
|
107 |
<syncrhonize_subscribers translate="label">
|
108 |
+
<label>Migration of the newsletter recipients to Inxmail</label>
|
109 |
<sort_order>30</sort_order>
|
110 |
<show_in_default>0</show_in_default>
|
111 |
<show_in_website>0</show_in_website>
|
112 |
<show_in_store>1</show_in_store>
|
113 |
+
<comment><![CDATA[The newsletter recipients should be migrated manually to Inxmail once per store view configuration. All recipients who are currently managed in Magento will thereby be merged with the recipients on the corresponding list in Inxmail according to the following rules:<ul style='list-style-type: circle; padding-left: 2em;'><li>If a recipient’s email address already exists on the Inxmail list, the recipient’s subscription status will not be changed in Inxmail. In this case, the status from Inxmail will be used in Magento (Inxmail has control over subscription status).</li><li>If a subscribed recipient in Magento does not exist in Inxmail (there are different reasons for this), then the recipient will be subscribed in Inxmail without the opt-in procedure (Magento has control over subscription status).</li><li>A recipient who does not have the "subscribed" status following an existence check in Inxmail will not be transferred.</li></ul>]]></comment>
|
114 |
<fields>
|
115 |
<synchronize_all translate="label comment">
|
116 |
+
<label>Migration</label>
|
117 |
<frontend_type>button</frontend_type>
|
118 |
<frontend_model>dndinxmail_subscriber/adminhtml_system_config_form_button_subscribers</frontend_model>
|
119 |
+
<comment>Merges all recipients of the selected store view from Magento with the corresponding Inxmail list</comment>
|
120 |
<sort_order>10</sort_order>
|
121 |
<show_in_default>0</show_in_default>
|
122 |
<show_in_website>0</show_in_website>
|
123 |
<show_in_store>1</show_in_store>
|
124 |
</synchronize_all>
|
125 |
<subscribers_per_pass translate="label comment">
|
126 |
+
<label>Subscribers per transfer</label>
|
127 |
<frontend_type>text</frontend_type>
|
128 |
<sort_order>20</sort_order>
|
129 |
<show_in_default>1</show_in_default>
|
app/design/adminhtml/default/default/template/dndinxmail/subscriber/system/config/form/button/subscribers.phtml
CHANGED
@@ -1,10 +1,33 @@
|
|
|
|
1 |
<script type="text/javascript">
|
2 |
//<![CDATA[
|
3 |
function DndInxmailSynchronizeSubscribers() {
|
4 |
window.open("<?php echo $this->getCheckUrl() ?>");
|
5 |
return false;
|
6 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
//]]>
|
8 |
</script>
|
9 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
<?php echo $this->getButtonHtml() ?>
|
1 |
+
<?php $synchronized = $this->isSynchronized(); ?>
|
2 |
<script type="text/javascript">
|
3 |
//<![CDATA[
|
4 |
function DndInxmailSynchronizeSubscribers() {
|
5 |
window.open("<?php echo $this->getCheckUrl() ?>");
|
6 |
return false;
|
7 |
}
|
8 |
+
document.observe("dom:loaded", function() {
|
9 |
+
// initially hide all containers for tab content
|
10 |
+
$('inxmail_is_subscribed').observe('change', function(event){
|
11 |
+
var checked = event.target.checked;
|
12 |
+
var migrationButton = $('dndinxmail_subscriber_button');
|
13 |
+
migrationButton.disabled = checked;
|
14 |
+
if (checked) {
|
15 |
+
migrationButton.addClassName('disabled');
|
16 |
+
} else {
|
17 |
+
migrationButton.removeClassName('disabled');
|
18 |
+
}
|
19 |
+
});
|
20 |
+
});
|
21 |
//]]>
|
22 |
</script>
|
23 |
|
24 |
+
<?php if ($synchronized): ?>
|
25 |
+
<div style="margin-bottom: 5px;">
|
26 |
+
<input type="checkbox" id="inxmail_is_subscribed" name="inxmail_is_subscribed" checked />
|
27 |
+
<label for="inxmail_is_subscribed"><?php echo $this->__('Prevent re-execution'); ?></label>
|
28 |
+
<p class="note">
|
29 |
+
<span><?php echo $this->__('Please, by migration rerun, be aware of subscribed recepients who have not yet confirmed registration or deleted from Inxmail. In this case, subscriptions / unsubscriptions are automatically transferred to Inxmail.'); ?></span>
|
30 |
+
</p>
|
31 |
+
</div>
|
32 |
+
<?php endif; ?>
|
33 |
<?php echo $this->getButtonHtml() ?>
|
app/locale/de_DE/DndInxmail_Subscriber.csv
CHANGED
@@ -5,10 +5,9 @@
|
|
5 |
"General","Allgemein"
|
6 |
"Guest","Gast"
|
7 |
"Magento subscribers are successfully synchronized to Inxmail.","Die Newsletter-Abonnenten aus Magento wurden erfolgreich nach Inxmail synchronisiert."
|
8 |
-
"Synchronize All Subscribers","Alle Abonnenten synchronisieren"
|
9 |
"Inxmail List","Inxmail Mailingliste"
|
10 |
"Fields to synchronize","Felder synchronisieren"
|
11 |
-
"
|
12 |
"Select your Inxmail list","Wählen Sie die Inxmail Mailingliste"
|
13 |
"Mapping <strong>{customer_attribute}:{inxmail_attribute}</strong><br/><span class="notice">If the {inxmail_attribute} is not defined, the value of {customer_attribute} will be taken</span>","Zuordnung <strong>{attribut_client}:{attribut_inxmail}</strong><br/><span class="notice">Wenn {attribut_inxmail} nicht definiert ist, wird der {attribut_client} Wert verwendet</span>"
|
14 |
"Synchronize now","Jetzt synchronisieren"
|
@@ -47,7 +46,6 @@
|
|
47 |
"Abandonned carts (specific)","Abgebrochene Warenkörbe(spezifisch)"
|
48 |
"Today orders (specific)","Heutige Bestellungen(spezifisch)"
|
49 |
"You have selected the Birthday group even though the date of birth is not enabled on your shop","Sie haben die Geburtstagsgruppe ausgewählt, obwohl das Geburtstagsdatum im Shop nicht aktiviert ist"
|
50 |
-
"You have selected the Birthday group even though the date of birth is not enabled on your shop","You have selected the Birthday group even though the date of birth is not enabled on your shop"
|
51 |
"Image Width","Bildbreite"
|
52 |
"Image Height","Bildhöhe"
|
53 |
"Add Specific Attributes","Spezielle Attribute hinzufügen"
|
@@ -63,8 +61,6 @@
|
|
63 |
"Launch manually","Manuell starten"
|
64 |
"Synchronize All Groups","Alle Gruppen synchronisieren"
|
65 |
"Customers per pass","Kunden pro Transfer"
|
66 |
-
"Subscribers per pass","Abonnenten pro Transfer"
|
67 |
-
"Subscribers synchronization","Abonnenten-Synchronisation"
|
68 |
"Create Inxmail column","Inxmail-Spalte erstellen"
|
69 |
"Create","Erstellen"
|
70 |
"Column name","Spaltenname"
|
@@ -77,7 +73,7 @@
|
|
77 |
"Integer","Ganzzahl"
|
78 |
"Float","Gleitkommazahl"
|
79 |
"Yes / No","Ja / Nein"
|
80 |
-
"
|
81 |
"Column %s successfully created in Inxmail","Die Spalte %s wurde erfolgreich in Inxmail erstellt"
|
82 |
"Column %s already exist in Inxmail","Die Spalte %s ist in Inxmail bereits vorhanden"
|
83 |
"No post data","Keine Post Daten"
|
@@ -110,4 +106,11 @@
|
|
110 |
"Date Range","Zeitraum"
|
111 |
"Orders (specific)","Bestellungen (spezifisch)"
|
112 |
"Gender","Geschlecht"
|
113 |
-
"Date Of Birth","Geburtstag"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
"General","Allgemein"
|
6 |
"Guest","Gast"
|
7 |
"Magento subscribers are successfully synchronized to Inxmail.","Die Newsletter-Abonnenten aus Magento wurden erfolgreich nach Inxmail synchronisiert."
|
|
|
8 |
"Inxmail List","Inxmail Mailingliste"
|
9 |
"Fields to synchronize","Felder synchronisieren"
|
10 |
+
"Please, by migration rerun, be aware of subscribed recepients who have not yet confirmed registration or deleted from Inxmail. In this case, subscriptions / unsubscriptions are automatically transferred to Inxmail.","Bitte beachten Sie bei erneuter Ausführung der Migration, dass u.U. Empfänger angemeldet werden die Ihre Anmeldung noch nicht bestätigt haben bzw. aus Inxmail gelöscht wurden. Sie sollten diese Aktion nur einmalig je Liste ausführen. Danach werden Anmeldungen / Abmeldungen automatisch an Inxmail übertragen."
|
11 |
"Select your Inxmail list","Wählen Sie die Inxmail Mailingliste"
|
12 |
"Mapping <strong>{customer_attribute}:{inxmail_attribute}</strong><br/><span class="notice">If the {inxmail_attribute} is not defined, the value of {customer_attribute} will be taken</span>","Zuordnung <strong>{attribut_client}:{attribut_inxmail}</strong><br/><span class="notice">Wenn {attribut_inxmail} nicht definiert ist, wird der {attribut_client} Wert verwendet</span>"
|
13 |
"Synchronize now","Jetzt synchronisieren"
|
46 |
"Abandonned carts (specific)","Abgebrochene Warenkörbe(spezifisch)"
|
47 |
"Today orders (specific)","Heutige Bestellungen(spezifisch)"
|
48 |
"You have selected the Birthday group even though the date of birth is not enabled on your shop","Sie haben die Geburtstagsgruppe ausgewählt, obwohl das Geburtstagsdatum im Shop nicht aktiviert ist"
|
|
|
49 |
"Image Width","Bildbreite"
|
50 |
"Image Height","Bildhöhe"
|
51 |
"Add Specific Attributes","Spezielle Attribute hinzufügen"
|
61 |
"Launch manually","Manuell starten"
|
62 |
"Synchronize All Groups","Alle Gruppen synchronisieren"
|
63 |
"Customers per pass","Kunden pro Transfer"
|
|
|
|
|
64 |
"Create Inxmail column","Inxmail-Spalte erstellen"
|
65 |
"Create","Erstellen"
|
66 |
"Column name","Spaltenname"
|
73 |
"Integer","Ganzzahl"
|
74 |
"Float","Gleitkommazahl"
|
75 |
"Yes / No","Ja / Nein"
|
76 |
+
"The migration of newsletter subscribers to inxmail is a process that should be performed for every store once manually. This process transfer and update all existing newsletter subscribers from magento newsletter system to the defined inxmail list according the following rules:<ul style='list-style-type: circle; padding-left: 2em;'><li>If an email address of a subscriber is already in the list of Inxmail, the registration status in Inxmail is not changed for this subscriber. In this case, the status is taken from Inxmail to Magento (registration status responsibility lies by Inxmail)</li><li>If there is subscriber in Magento, but not in Inxmail (for various reasons), he become subscribed in Inxmail (without opt-in procedure) (login status-responsibility lies on Magento).</li><li>A subscriber who does not have status ""registered"" by existence check in Inxmail is not transmitted</li></ul>","Die Migration der Newsletter-Empfänger an Inxmail ist ein Prozess der je Store-View Konfiguration manuell einmal ausgeführt werden sollte. Dieser Prozess vereinigt sämtliche derzeit in Magento verwalteten Empfänger mit den Empfängern der entsprechenden Liste in Inxmail nach folgenden Regeln:<ul style='list-style-type: circle; padding-left: 2em;'><li>Wenn eine Email-Adresse eines Empfängers bereits in der Liste von Inxmail vorhanden ist, so wird der Anmeldestatus in Inxmail für diesen Empfänger nicht verändert. In diesem Fall wird in Magento der Status aus Inxmail übernommen (Anmeldestatus-Verantwortung liegt in Inxmail)</li><li>Ist ein in Magento angemeldeter Empfänger nicht in Inxmail vorhanden (aus unterschiedlichen Gründen), so wird er in Inxmail angemeldet (ohne Opt-In verfahren) (Anmeldestatus-Verantwortung liegt bei Magento).</li><li>Ein Empfänger der nach Existenzprüfung in Inxmail nicht den Status ""angemeldet"" hat wird nicht übertragen</li></ul>"
|
77 |
"Column %s successfully created in Inxmail","Die Spalte %s wurde erfolgreich in Inxmail erstellt"
|
78 |
"Column %s already exist in Inxmail","Die Spalte %s ist in Inxmail bereits vorhanden"
|
79 |
"No post data","Keine Post Daten"
|
106 |
"Date Range","Zeitraum"
|
107 |
"Orders (specific)","Bestellungen (spezifisch)"
|
108 |
"Gender","Geschlecht"
|
109 |
+
"Date Of Birth","Geburtstag"
|
110 |
+
"Prevent re-execution","Erneute Ausführung verhindern"
|
111 |
+
"Migration of the newsletter recipients to Inxmail","Migration der Newsletter-Empfänger nach Inxmail"
|
112 |
+
"The newsletter recipients should be migrated manually to Inxmail once per store view configuration. All recipients who are currently managed in Magento will thereby be merged with the recipients on the corresponding list in Inxmail according to the following rules:<ul style='list-style-type: circle; padding-left: 2em;'><li>If a recipient’s email address already exists on the Inxmail list, the recipient’s subscription status will not be changed in Inxmail. In this case, the status from Inxmail will be used in Magento (Inxmail has control over subscription status).</li><li>If a subscribed recipient in Magento does not exist in Inxmail (there are different reasons for this), then the recipient will be subscribed in Inxmail without the opt-in procedure (Magento has control over subscription status).</li><li>A recipient who does not have the ""subscribed"" status following an existence check in Inxmail will not be transferred.</li></ul>","Die Migration der Newsletter-Empfänger nach Inxmail sollte pro Store-View Konfiguration einmal manuell ausgeführt werden. Dadurch werden sämtliche, derzeit in Magento verwalteten Empfänger mit den Empfängern der entsprechenden Liste in Inxmail nach folgenden Regeln zusammengeführt:<ul style='list-style-type: circle; padding-left: 2em;'><li>Wenn eine E-Mail-Adresse eines Empfängers bereits in der Liste von Inxmail vorhanden ist, so wird der Anmeldestatus des Empfängers in Inxmail nicht verändert. In diesem Fall wird in Magento der Status aus Inxmail übernommen (Anmeldestatus-Verantwortung liegt bei Inxmail)</li><li>Ist ein in Magento angemeldeter Empfänger nicht in Inxmail vorhanden (aus unterschiedlichen Gründen), so wird der Empfänger ohne Opt-in-Verfahren in Inxmail angemeldet (Anmeldestatus-Verantwortung liegt bei Magento).</li><li>Ein Empfänger, der nach einer Existenzprüfung in Inxmail nicht den Status ""angemeldet"" hat, wird nicht übertragen.</li></ul>"
|
113 |
+
"Migration","Migration"
|
114 |
+
"Perform migration now","Migration jetzt durchführen"
|
115 |
+
"Merges all recipients of the selected store view from Magento with the corresponding Inxmail list","Führt alle Empfänger der gewählten Store-View aus Magento mit der entsprechenden Inxmail-Liste zusammen"
|
116 |
+
"Subscribers per transfer","Abonnenten pro Transfer"
|
app/locale/en_US/DndInxmail_Subscriber.csv
CHANGED
@@ -5,12 +5,14 @@
|
|
5 |
"General","General"
|
6 |
"Guest","Guest"
|
7 |
"Magento subscribers are successfully synchronized to Inxmail.","Magento subscribers are successfully synchronized to Inxmail"
|
8 |
-
"
|
9 |
"Inxmail List","Inxmail List"
|
10 |
"Fields to synchronize","Fields to synchronize"
|
11 |
-
"
|
|
|
12 |
"Select your Inxmail list","Select your Inxmail list"
|
13 |
"Mapping <strong>{customer_attribute}:{inxmail_attribute}</strong><br/><span class="notice">If the {inxmail_attribute} is not defined, the value of {customer_attribute} will be taken</span>","Mapping <strong>{customer_attribute}:{inxmail_attribute}</strong><br/><span class="notice">If the {inxmail_attribute} is not defined, the value of {customer_attribute} will be taken</span>"
|
|
|
14 |
"Synchronize now","Synchronize now"
|
15 |
"Disabled","Disabled"
|
16 |
"No list selected","No list selected"
|
@@ -76,7 +78,7 @@
|
|
76 |
"Integer","Integer"
|
77 |
"Float","Float"
|
78 |
"Yes / No","Yes / No"
|
79 |
-
"
|
80 |
"Column %s successfully created in Inxmail","Column %s successfully created in Inxmail"
|
81 |
"Column %s already exist in Inxmail","Column %s already exist in Inxmail"
|
82 |
"No post data","No post data"
|
@@ -109,4 +111,13 @@
|
|
109 |
"Date Range","Date Range"
|
110 |
"Orders (specific)","Orders (specific)"
|
111 |
"Gender","Gender"
|
112 |
-
"Date Of Birth","Date Of Birth"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
"General","General"
|
6 |
"Guest","Guest"
|
7 |
"Magento subscribers are successfully synchronized to Inxmail.","Magento subscribers are successfully synchronized to Inxmail"
|
8 |
+
"Migration","Migration"
|
9 |
"Inxmail List","Inxmail List"
|
10 |
"Fields to synchronize","Fields to synchronize"
|
11 |
+
"Merge all subscribers from Magento with the given Inxmail list in context of Store-Views","Merge all subscribers from Magento with the given Inxmail list in context of Store-Views"
|
12 |
+
"Please, by migration rerun, be aware of subscribed recepients who have not yet confirmed registration or deleted from Inxmail. In this case, subscriptions / unsubscriptions are automatically transferred to Inxmail.","Please, by migration rerun, be aware of subscribed recepients who have not yet confirmed registration or deleted from Inxmail. In this case, subscriptions / unsubscriptions are automatically transferred to Inxmail."
|
13 |
"Select your Inxmail list","Select your Inxmail list"
|
14 |
"Mapping <strong>{customer_attribute}:{inxmail_attribute}</strong><br/><span class="notice">If the {inxmail_attribute} is not defined, the value of {customer_attribute} will be taken</span>","Mapping <strong>{customer_attribute}:{inxmail_attribute}</strong><br/><span class="notice">If the {inxmail_attribute} is not defined, the value of {customer_attribute} will be taken</span>"
|
15 |
+
"Perform migration now","Perform migration now"
|
16 |
"Synchronize now","Synchronize now"
|
17 |
"Disabled","Disabled"
|
18 |
"No list selected","No list selected"
|
78 |
"Integer","Integer"
|
79 |
"Float","Float"
|
80 |
"Yes / No","Yes / No"
|
81 |
+
"The migration of newsletter subscribers to inxmail is a process that should be performed for every store once manually. This process transfer and update all existing newsletter subscribers from magento newsletter system to the defined inxmail list according the following rules:<ul style='list-style-type: circle; padding-left: 2em;'><li>If an email address of a subscriber is already in the list of Inxmail, the registration status in Inxmail is not changed for this subscriber. In this case, the status is taken from Inxmail to Magento (registration status responsibility lies by Inxmail)</li><li>If there is subscriber in Magento, but not in Inxmail (for various reasons), he become subscribed in Inxmail (without opt-in procedure) (login status-responsibility lies on Magento).</li><li>A subscriber who does not have status ""registered"" by existence check in Inxmail is not transmitted</li></ul>","The migration of newsletter subscribers to inxmail is a process that should be performed for every store once manually. This process transfer and update all existing newsletter subscribers from magento newsletter system to the defined inxmail list according the following rules:<ul style='list-style-type: circle; padding-left: 2em;'><li>If an email address of a subscriber is already in the list of Inxmail, the registration status in Inxmail is not changed for this subscriber. In this case, the status is taken from Inxmail to Magento (registration status responsibility lies by Inxmail)</li><li>If there is subscriber in Magento, but not in Inxmail (for various reasons), he become subscribed in Inxmail (without opt-in procedure) (login status-responsibility lies on Magento).</li><li>A subscriber who does not have status ""registered"" by existence check in Inxmail is not transmitted</li></ul>"
|
82 |
"Column %s successfully created in Inxmail","Column %s successfully created in Inxmail"
|
83 |
"Column %s already exist in Inxmail","Column %s already exist in Inxmail"
|
84 |
"No post data","No post data"
|
111 |
"Date Range","Date Range"
|
112 |
"Orders (specific)","Orders (specific)"
|
113 |
"Gender","Gender"
|
114 |
+
"Date Of Birth","Date Of Birth"
|
115 |
+
"Prevent re-execution","Prevent re-execution"
|
116 |
+
"Migration of the newsletter recipients to Inxmail","Migration of the newsletter recipients to Inxmail"
|
117 |
+
"The newsletter recipients should be migrated manually to Inxmail once per store view configuration. All recipients who are currently managed in Magento will thereby be merged with the recipients on the corresponding list in Inxmail according to the following rules:","The newsletter recipients should be migrated manually to Inxmail once per store view configuration. All recipients who are currently managed in Magento will thereby be merged with the recipients on the corresponding list in Inxmail according to the following rules:"
|
118 |
+
"If a recipient’s email address already exists on the Inxmail list, the recipient’s subscription status will not be changed in Inxmail. In this case, the status from Inxmail will be used in Magento (Inxmail has control over subscription status).","If a recipient’s email address already exists on the Inxmail list, the recipient’s subscription status will not be changed in Inxmail. In this case, the status from Inxmail will be used in Magento (Inxmail has control over subscription status)."
|
119 |
+
"If a subscribed recipient in Magento does not exist in Inxmail (there are different reasons for this), then the recipient will be subscribed in Inxmail without the opt-in procedure (Magento has control over subscription status).","If a subscribed recipient in Magento does not exist in Inxmail (there are different reasons for this), then the recipient will be subscribed in Inxmail without the opt-in procedure (Magento has control over subscription status)."
|
120 |
+
"A recipient who does not have the ""subscribed"" status following an existence check in Inxmail will not be transferred.","A recipient who does not have the ""subscribed"" status following an existence check in Inxmail will not be transferred."
|
121 |
+
"Perform migration now","Perform migration now"
|
122 |
+
"Merges all recipients of the selected store view from Magento with the corresponding Inxmail list","Merges all recipients of the selected store view from Magento with the corresponding Inxmail list"
|
123 |
+
"Subscribers per transfer","Subscribers per transfer"
|
app/locale/fr_FR/DndInxmail_Subscriber.csv
CHANGED
@@ -5,10 +5,9 @@
|
|
5 |
"General","Général"
|
6 |
"Guest","Invité"
|
7 |
"Magento subscribers are successfully synchronized to Inxmail.","Les inscrits à la newsletter de votre site ont été correctement synchronisés vers Inxmail"
|
8 |
-
"Synchronize All Subscribers","Synchroniser tous les inscrits"
|
9 |
"Inxmail List","Liste Inxmail"
|
10 |
"Fields to synchronize","Champs à synchroniser"
|
11 |
-
"
|
12 |
"Select your Inxmail list","Sélectionnez votre liste Inxmail"
|
13 |
"Mapping <strong>{customer_attribute}:{inxmail_attribute}</strong><br/><span class="notice">If the {inxmail_attribute} is not defined, the value of {customer_attribute} will be taken</span>","Mappage <strong>{attribut_client}:{attribut_inxmail}</strong><br/><span class="notice">Si {attribut_inxmail} n'est pas renseigné, la valeur de {attribut_client} sera pris par défaut</span>"
|
14 |
"Synchronize now","Synchroniser maintenant"
|
@@ -47,7 +46,6 @@
|
|
47 |
"Abandonned carts (specific)","Paniers abandonnés (spécifique)"
|
48 |
"Today orders (specific)","Commandes du jour (spécifique)"
|
49 |
"You have selected the Birthday group even though the date of birth is not enabled on your shop","Vous avez sélectionné le groupe Anniversaire alors que la date de naissance n\'est pas activée sur votre boutique"
|
50 |
-
"You have selected the Birthday group even though the date of birth is not enabled on your shop","You have selected the Birthday group even though the date of birth is not enabled on your shop"
|
51 |
"Image Width","Largeur image"
|
52 |
"Image Height","Hauteur image"
|
53 |
"Add Specific Attributes","Attributs spécifiques"
|
@@ -63,8 +61,6 @@
|
|
63 |
"Launch manually","Lancer manuellement"
|
64 |
"Synchronize All Groups","Synchroniser les groupes"
|
65 |
"Customers per pass","Clients par passe"
|
66 |
-
"Subscribers per pass","Inscrits par passe"
|
67 |
-
"Subscribers synchronization","Synchronisation des inscrits"
|
68 |
"Create Inxmail column","Créer colonne Inxmail"
|
69 |
"Create","Créer"
|
70 |
"Column name","Nom colonne"
|
@@ -77,7 +73,6 @@
|
|
77 |
"Integer","Nombre entier"
|
78 |
"Float","Nombre à virgule flottante"
|
79 |
"Yes / No","Oui / Non"
|
80 |
-
"Subscribers synchronization is only available on the store view configuration of your website.","La synchronisation des inscrits à la newsletter est disponible uniquement sur la configuration des vues de votre boutique."
|
81 |
"Column %s successfully created in Inxmail","Colonne %s créée avec succès dans Inxmail"
|
82 |
"Column %s already exist in Inxmail","Colonne %s existe déjà dans Inxmail"
|
83 |
"No post data","Aucune donnée en POST"
|
@@ -110,4 +105,11 @@
|
|
110 |
"Date Range","Plage de dates"
|
111 |
"Orders (specific)","Commandes (spécifique)"
|
112 |
"Gender","Genre"
|
113 |
-
"Date Of Birth","Date de naissance"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
"General","Général"
|
6 |
"Guest","Invité"
|
7 |
"Magento subscribers are successfully synchronized to Inxmail.","Les inscrits à la newsletter de votre site ont été correctement synchronisés vers Inxmail"
|
|
|
8 |
"Inxmail List","Liste Inxmail"
|
9 |
"Fields to synchronize","Champs à synchroniser"
|
10 |
+
"Please, by migration rerun, be aware of subscribed recepients who have not yet confirmed registration or deleted from Inxmail. In this case, subscriptions / unsubscriptions are automatically transferred to Inxmail.","S'il vous plaît noter que la migration peut reprise Sont bénéficiaires inscrits qui ne l'ont pas encore confirmé votre inscription et ont été supprimés de Inxmail. Vous devez effectuer cette action qu'une seule fois chaque liste. Par la suite, les inscriptions / annulations sont automatiquement transférés à Inxmail."
|
11 |
"Select your Inxmail list","Sélectionnez votre liste Inxmail"
|
12 |
"Mapping <strong>{customer_attribute}:{inxmail_attribute}</strong><br/><span class="notice">If the {inxmail_attribute} is not defined, the value of {customer_attribute} will be taken</span>","Mappage <strong>{attribut_client}:{attribut_inxmail}</strong><br/><span class="notice">Si {attribut_inxmail} n'est pas renseigné, la valeur de {attribut_client} sera pris par défaut</span>"
|
13 |
"Synchronize now","Synchroniser maintenant"
|
46 |
"Abandonned carts (specific)","Paniers abandonnés (spécifique)"
|
47 |
"Today orders (specific)","Commandes du jour (spécifique)"
|
48 |
"You have selected the Birthday group even though the date of birth is not enabled on your shop","Vous avez sélectionné le groupe Anniversaire alors que la date de naissance n\'est pas activée sur votre boutique"
|
|
|
49 |
"Image Width","Largeur image"
|
50 |
"Image Height","Hauteur image"
|
51 |
"Add Specific Attributes","Attributs spécifiques"
|
61 |
"Launch manually","Lancer manuellement"
|
62 |
"Synchronize All Groups","Synchroniser les groupes"
|
63 |
"Customers per pass","Clients par passe"
|
|
|
|
|
64 |
"Create Inxmail column","Créer colonne Inxmail"
|
65 |
"Create","Créer"
|
66 |
"Column name","Nom colonne"
|
73 |
"Integer","Nombre entier"
|
74 |
"Float","Nombre à virgule flottante"
|
75 |
"Yes / No","Oui / Non"
|
|
|
76 |
"Column %s successfully created in Inxmail","Colonne %s créée avec succès dans Inxmail"
|
77 |
"Column %s already exist in Inxmail","Colonne %s existe déjà dans Inxmail"
|
78 |
"No post data","Aucune donnée en POST"
|
105 |
"Date Range","Plage de dates"
|
106 |
"Orders (specific)","Commandes (spécifique)"
|
107 |
"Gender","Genre"
|
108 |
+
"Date Of Birth","Date de naissance"
|
109 |
+
"Prevent re-execution","Empêcher la ré-exécution"
|
110 |
+
"Migration of the newsletter recipients to Inxmail","Migration des destinataires de la newsletter vers Inxmail"
|
111 |
+
"The newsletter recipients should be migrated manually to Inxmail once per store view configuration. All recipients who are currently managed in Magento will thereby be merged with the recipients on the corresponding list in Inxmail according to the following rules:<ul style='list-style-type: circle; padding-left: 2em;'><li>If a recipient’s email address already exists on the Inxmail list, the recipient’s subscription status will not be changed in Inxmail. In this case, the status from Inxmail will be used in Magento (Inxmail has control over subscription status).</li><li>If a subscribed recipient in Magento does not exist in Inxmail (there are different reasons for this), then the recipient will be subscribed in Inxmail without the opt-in procedure (Magento has control over subscription status).</li><li>A recipient who does not have the ""subscribed"" status following an existence check in Inxmail will not be transferred.</li></ul>","La migration des destinataires de la newsletter vers Inxmail doit être effectuée une fois manuellement pour chaque configuration Store-View. Tous les destinataires actuellement gérés dans Magento sont ainsi réunis avec les destinataires de la liste correspondante dans Inxmail selon les règles suivantes:<ul style='list-style-type: circle; padding-left: 2em;'><li>Si l’adresse e-mail d’un destinataire existe déjà dans la liste d’Inxmail, le statut d’inscription du destinataire ne sera pas modifié dans Inxmail. Dans ce cas, le statut d’Inxmail est repris dans Magento (Inxmail est responsable du statut d’inscription).</li><li>Si un destinataire inscrit à Magento n’existe pas dans Inxmail (pour des raisons variées), le destinataire est inscrit à Inxmail sans procédé opt-in (Magento est responsable du statut d’inscription).</li><li>Tout destinataire n’ayant pas le statut « inscrit » suite à un contrôle d’existence dans Inxmail n’est pas transféré.</li></ul>"
|
112 |
+
"Migration","Migration"
|
113 |
+
"Perform migration now","Effectuer la migration maintenant"
|
114 |
+
"Merges all recipients of the selected store view from Magento with the corresponding Inxmail list","Réunit tous les destinataires de la Store-View sélectionnée de Magento avec la liste Inxmail correspondante"
|
115 |
+
"Subscribers per transfer","Abonnés par transfert"
|
package.xml
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>DndInxmail_Subscriber</name>
|
4 |
-
<version>3.
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://opensource.org/licenses/osl-3.0.php">OSL-v3.0</license>
|
7 |
<channel>community</channel>
|
@@ -60,11 +60,11 @@ Time-controlled dispatch via the Inxmail mail servers.
|
|
60 |
Return transfer of unsubscriptions to Magento. 
|
61 |

|
62 |
Comprehensive success measurement directly after the mailing has been dispatched.</description>
|
63 |
-
<notes>Version 3.
|
64 |
<authors><author><name>Mattheo Geoffray</name><user>mattgeoffray</user><email>mattheo.geoffray@dnd.fr</email></author><author><name>Aymeric Aitamer</name><user>aymericaitamer</user><email>aymeric.aitamer@dnd.fr</email></author><author><name>Christophe Didier</name><user>christophedidier</user><email>christophe.didier@dnd.fr</email></author><author><name>Julien Didier</name><user>juliendidier</user><email>julien.didier@dnd.fr</email></author></authors>
|
65 |
-
<date>
|
66 |
-
<time>
|
67 |
-
<contents><target name="magecommunity"><dir name="DndInxmail"><dir name="Subscriber"><dir name="Block"><dir name="Adminhtml"><dir name="Newsletter"><dir name="Subscriber"><file name="Grid.php" hash="f832c456879ba7b26074b072d71dce66"/></dir></dir><file name="Notifications.php" hash="1942cf87fc5a6d145322636410617c09"/><dir name="System"><dir name="Config"><file name="Date.php" hash="0f3d67458ba58968986ff12ef96dc480"/><dir name="Form"><dir name="Button"><file name="Groups.php" hash="359bd306f3c97f118de05f4be88667a5"/><file name="Subscribers.php" hash="69fa5ef916dd6f82ee3c99ab3872aaef"/></dir><dir name="Field"><file name="Payment.php" hash="ba9e6acace766f8af79583c4ad2565f0"/><dir name="Universal"><file name="Select.php" hash="407c0f85627e90f759adeaad09d2313a"/></dir><file name="Universal.php" hash="5334277f36c694f88a24efa180d1ec09"/></dir></dir></dir></dir></dir><dir name="Synchronization"><file name="Groups.php" hash="8d22edbccf9aac2c70dabf56237fb3e7"/><file name="Subscribers.php" hash="96bf55110cb916277558db85c2cdfa1c"/></dir></dir><dir name="Helper"><file name="Abstract.php" hash="f9e8ad0206a8f35a3d6814d797066129"/><file name="Data.php" hash="6980077e903569cf3c9328acfefc5938"/><file name="Error.php" hash="da28f79336d5d79fffd31f64fd7ffb21"/><file name="Group.php" hash="7264bb2eab0405bfda542b1ce2152e52"/><file name="Log.php" hash="94b10c3ef3659559a5ef375015130cb7"/><file name="Mapping.php" hash="211f88cef7304ee6b669ee85385a37e4"/><dir name="Synchronize"><file name="Groups.php" hash="1f4f2eb27525a93dfbb8a9997d9a61fe"/><file name="Subscribers.php" hash="1980fc0ec613e72691342276305322e4"/></dir><file name="Synchronize.php" hash="ba6e629a6c2a46a636dae6c12d1a9fe1"/><file name="Version.php" hash="c281815e6292d89a1567ec81e9af2e04"/></dir><dir name="Model"><dir name="Adminhtml"><dir name="System"><dir name="Config"><dir name="Backend"><file name="Cron.php" hash="714b57d97c3efebf787ad88d05739524"/><dir name="Customer"><file name="Group.php" hash="b050b28c0f55fa6d8e6c2211189e47ad"/></dir><file name="Date.php" hash="cb76a71491ac1dce4ebe8fe4dfc44ac8"/></dir><dir name="Source"><file name="Attributes.php" hash="0e495983167a4b54d03f78ca649c041c"/><dir name="Cron"><file name="Frequency.php" hash="9867ea6d15c9be63df4c1996df13cd78"/></dir><dir name="Customer"><file name="Attributes.php" hash="9e2e79b6bde02df4a7349ac000e240e3"/></dir><dir name="Group"><file name="Specific.php" hash="3e11b70db81f9b945d35a7a5365c2411"/></dir><file name="Group.php" hash="783366b624bbf78ded0804590b63d969"/><dir name="Inxmail"><dir name="Columns"><dir name="Type"><file name="Dateonly.php" hash="e3468e40ee5e8ef3161d9f927a7316e7"/><file name="Float.php" hash="950606f09cf5555f2e595a6bc991b6eb"/><file name="Int.php" hash="f3a9ce7a26f194b17ec45542b658143f"/><file name="Text.php" hash="02fcee7160f294e3a09bc8c5006395c9"/><file name="Yesno.php" hash="1a94f0a25636390e1ca90478b2bb1f4b"/></dir></dir><file name="Columns.php" hash="2153e1a8059e2a549d4abb1ec506f7a0"/><file name="GroupedColumns.php" hash="440a53688188d08e916bf1f837aa674b"/><file name="Lists.php" hash="afbde25881cd20c6643db41cd5a9b75f"/></dir><file name="Orders.php" hash="946356acce5c013ab3ff5e8142280049"/></dir></dir></dir></dir><file name="Observer.php" hash="4c6979242469baae10594162e39cac43"/><dir name="Resource"><dir name="Newsletter"><file name="Subscriber.php" hash="ae687b20eaf52a722f9dc8fd3ae75ba2"/></dir></dir><file name="Xml.php" hash="f4ae06f3dec120a0160f9a7705ed2f28"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="InxmailNotificationController.php" hash="be7163231c74b8508951ef76553cba70"/><file name="InxmailcolumnsController.php" hash="f4e890129fd561a0cd9291f29d2fd5bb"/><file name="SynchronizeController.php" hash="8560252fc77b69429eb9d5ac69dc9ba6"/></dir><file name="LogController.php" hash="fb38eeac648f7095127069c1266622d5"/><file name="MessagesController.php" hash="f514ea6603e3c19507d7e58893ac9278"/><file name="SourceController.php" hash="124508b530542a01134ab57cec5adb26"/><file name="SynchronizeController.php" hash="35b95f6a55deb8dd363eda47c38e0a35"/></dir><dir name="etc"><file name="adminhtml.xml" hash="1eec32d5166648c27a31b5273e66b419"/><file name="config.xml" hash="b3b2eb98da74ebd89b70d9348d53cfdd"/><file name="system.xml" hash="aaa7a5973bc225d0475a9f420bb9ca48"/></dir><dir name="sql"><dir name="dndinxmail_subscriber_setup"><file name="mysql4-install-1.0.0.0.php" hash="f76dbd90576888fd82713ee3f77c0225"/><file name="mysql4-upgrade-1.0.0.0-3.1.0.0.php" hash="75f86e046783d9551af69601462ddd6c"/><file name="mysql4-upgrade-3.1.0.4-3.1.1.0.php" hash="7cacb62d7b9a3835f790cd83dc79baf9"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="dndinxmail.xml" hash="c7688deb8f28f612962905ae2f3f823a"/></dir><dir name="template"><dir name="dndinxmail"><dir name="subscriber"><file name="notifications.phtml" hash="f31b868b4708f6c2e27610766aa79df5"/><dir name="system"><dir name="config"><dir name="form"><dir name="button"><file name="groups.phtml" hash="3518010bfad9268e6d5f8a1c822215e1"/><file name="subscribers.phtml" hash="52971eb90b80ff1b8d75423d7bd13949"/></dir></dir></dir><dir name="inxmail"><file name="columns.phtml" hash="9ed3d5cee08a6dae8dd6ce7af548b1c2"/></dir></dir></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="dndinxmail.xml" hash="7024e2dc71cb882c8302e7446c147216"/></dir><dir name="template"><dir name="dndinxmail"><dir name="page"><file name="messages.phtml" hash="b0155c06befe67c4c21c5d2132fda89e"/><file name="synchronize.phtml" hash="b75ff3207b177a717000a608d0d4ff9c"/></dir><dir name="synchronization"><file name="groups.phtml" hash="9364bb13013d288b882343ab32fe7c0c"/><file name="subscribers.phtml" hash="140ae60226f60ed122a97f91f13a2fbf"/></dir></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="DndInxmail_Subscriber.xml" hash="14b1afbc1cc53f1b75a97acbe07f0833"/></dir></target><target name="magelocale"><dir><dir name="de_DE"><file name="DndInxmail_Subscriber.csv" hash="4fba73ea1a74d236ba32a07ea85dbafd"/></dir><dir name="en_US"><file name="DndInxmail_Subscriber.csv" hash="b02bfa2f25f206343ee6c6eaf567e94c"/></dir><dir name="fr_FR"><file name="DndInxmail_Subscriber.csv" hash="579409bba6113f651243c8ce41b4c689"/></dir></dir></target><target name="mage"><dir name="js"><dir name="dndinxmail"><file name="synchronize.js" hash="c00f2c2002dafa6eb39da796642c1836"/></dir></dir><dir name="shell"><dir name="dndinxmail"><file name="synchronizeCustomerGroup.php" hash="65c989d720f586387a32d475ccdf7a27"/><file name="synchronizeUnsubscribed.php" hash="2559805f0b7ac73c26377056f203a217"/></dir></dir></target><target name="magelib"><dir name="Inx"><dir name="Api"><file name="APIException.php" hash="cd54a0750901485e9e8690de5ad5246a"/><dir name="Action"><file name="Action.php" hash="665ad587fc88b5af560988934491a35f"/><file name="ActionManager.php" hash="0d8cb6ed17517521d7b4887524f78cd6"/><file name="Command.php" hash="e43628257e4e70d8368c72c4bab0dd08"/><file name="CommandFactory.php" hash="07e7a034db4e787bd6e4008c2f77a4e2"/><file name="DeleteRecipientCommand.php" hash="e16c5082c0f8b891935d19e7bf5bac37"/><file name="SendActionMailCommand.php" hash="d4d89666620ebed59abc821037f7fba0"/><file name="SendMailCommand.php" hash="ea2965978e83d551f78f1b899c2575aa"/><file name="SetValueCommand.php" hash="daa643eb5e324c30d27ba562553ccd19"/><file name="SubUnsubscriptionCommand.php" hash="639cf2bc611b0aae9de59648a987fa6f"/><file name="SubscriptionCommand.php" hash="d1b95af63560ad49ba8aa82b2301684b"/><file name="UnsubscriptionCommand.php" hash="bf342168d8664f1bab148a7c585b120f"/></dir><dir name="Approval"><file name="Approver.php" hash="398c2baf6a7e16aed03d116a98f0574d"/><file name="ApproverManager.php" hash="b86d3f424e9fc4ada85f019d9d6409d3"/></dir><file name="BOManager.php" hash="b51e08b9e2b272e6c340c4c067ace234"/><file name="BOResultSet.php" hash="b94fb453e002dd5e1a0322a149275786"/><dir name="Blacklist"><file name="BlacklistEntry.php" hash="271260e423d8ab8bb68d3055a82ff3df"/><file name="BlacklistManager.php" hash="01c653c0f335409c7f92d18999abfcf1"/></dir><dir name="Bounce"><file name="Bounce.php" hash="2ab26019ec07b3804ba8df7e2424df33"/><file name="BounceManager.php" hash="6d5734e150c698c26f81abd1b2cc9af3"/></dir><file name="BusinessObject.php" hash="4e13429a5a6e1a00c930743c0c789859"/><file name="ConnectException.php" hash="9f169bb2be254fac472324e543b95346"/><dir name="DataAccess"><file name="ClickData.php" hash="2b023af93e88cc0999ad22a9ede98424"/><file name="ClickDataRowSet.php" hash="e8c5b69be0f11f8080f1f4df0f7a1e42"/><file name="DataAccess.php" hash="756f070f4b2c69f2d45916c99a2e94e5"/><file name="DataRowSet.php" hash="072bae2de7a2dfa0ff49870e78f85e78"/><file name="LinkData.php" hash="b8d84ce8dc259383f4386d6dea223b9a"/><file name="LinkDataRowSet.php" hash="b357be3ce3f5a7d69d6572bd5e8882df"/></dir><file name="DataException.php" hash="ec356035ac146b8aa9abbbc86f0ec9b6"/><dir name="DesignTemplate"><file name="DesignCollection.php" hash="8f359298cfa099a9b21820948e5bb375"/><file name="DesignCollectionManager.php" hash="259d40303f757e3de4c61be78a9a6ea4"/><file name="ImportException.php" hash="707077dc9a6b772614484702049e4116"/><file name="Style.php" hash="7429cad366a613b77a6abc1af08a07e5"/><file name="Template.php" hash="223f216d718685d1ac0ee188d49d40e8"/></dir><file name="FeatureNotAvailableException.php" hash="aac4c80f2bcf5aa8afb82133bec65080"/><file name="Features.php" hash="4b8264a9b46f730d1b60868ff3652b5c"/><dir name="Filter"><file name="Filter.php" hash="8c6e719b971ea97b77e4dcfa982e37c6"/><file name="FilterManager.php" hash="ab13a6505d2d104b558cbd782b404013"/></dir><file name="FilterStmtException.php" hash="bb0647ba81e91e2a828008176ec4e31e"/><file name="IOException.php" hash="6529a0521cba31d7cd21e2480b7cf539"/><file name="IllegalArgumentException.php" hash="97dd2b482dc3f3432e210ee8de7537a1"/><file name="IllegalStateException.php" hash="554021016305c9f925f7a5b9a916b7f1"/><dir name="Inbox"><file name="InboxManager.php" hash="eacdb6f94329afcc7c30022429d127dd"/><file name="InboxMessage.php" hash="2f15d1a04656cf3a168b272955ca78a1"/></dir><file name="IndexOutOfBoundsException.php" hash="b6540c77abfe67a4babd3d1d81ebb07d"/><file name="IndexSelection.php" hash="d945202618cf627deba0c10f689eaaff"/><file name="InputStream.php" hash="ea8f19a4cb5abe7f2dc7f8abee3f81d5"/><dir name="List"><file name="AdminListContext.php" hash="baa67ed7444f9193c93d924103a9e5ba"/><file name="FilterListContext.php" hash="16dbd1ca6ff0743b7de019dc4d265bf2"/><file name="ListContext.php" hash="8a59556050eb68ab56bbf16c03341483"/><file name="ListContextManager.php" hash="7df7a060a948b851a87c65bf26259a95"/><file name="ListSize.php" hash="23c93e1d8135e8c065cc2e97bdc315e0"/><file name="StandardListContext.php" hash="506acbc33af93ae1423d1a19f55eff1f"/><file name="SystemListContext.php" hash="abd62b603790f0a9f74808fed8494b37"/></dir><file name="LockException.php" hash="1bfb472512c9afc6cffecef9ed3a7139"/><file name="LockTicket.php" hash="895d6dda37856b22ad966aecc343205c"/><file name="LoginException.php" hash="b2dd030c5b9138be4eb54034c16c65a2"/><dir name="Mail"><file name="Attachment.php" hash="a5e3550f6a32968b0094d6c8284864fb"/><file name="BuildException.php" hash="c9efd47f36652631410d79b8c2b9ccec"/><file name="HeaderField.php" hash="550b8158e344d6a7c9f185c193e7abde"/><file name="MailContent.php" hash="1b55fd2ea422451ecfaa80eed65c852e"/><file name="MailingRenderer.php" hash="e906d8479016ecce1f5cd55f070612eb"/><file name="ParseException.php" hash="20b4367daf2b221f2c3a4bf8144ff0ec"/><file name="RenderError.php" hash="058f7725ce084d9d2e2c05cff130991a"/></dir><dir name="Mailing"><file name="ContentHandler.php" hash="cfa856aff7def9d8cac5274b45754084"/><file name="HtmlTextContentHandler.php" hash="687074edc0da205eb0db697f22b9d64a"/><file name="Mailing.php" hash="93922755e4e969c8b8795c7c5f054a0a"/><file name="MailingConstants.php" hash="51c5757223e800b10f5154fa7bc4ba9f"/><file name="MailingManager.php" hash="e374e0df727e4fdf6250ebab3ff7ef87"/><file name="MailingStateException.php" hash="7451ae5d08df03b4f72bdf92eb3580f0"/><file name="MultiPartContentHandler.php" hash="125509bfc68c52f34edd204c8dae19b0"/><file name="PlainTextContentHandler.php" hash="3b3604686f849b44ea34920e9526b017"/><file name="SendException.php" hash="4dd20378fabed595ea2f2824d421e74d"/><file name="SendingInfo.php" hash="eab51cf10fdfafcd5a5e905bd560c84c"/><file name="SinglePartContentHandler.php" hash="ecc3d8494628332f2f9cafce326acc96"/><file name="XsltContentHandler.php" hash="d294b4d09ede46479b51f5f00f0bdc86"/><file name="XsltHtmlTextContentHandler.php" hash="880545751bd4bbe08a3aec9851ff0c4d"/><file name="XsltMultiPartContentHandler.php" hash="58de83e1979120d77da8b7fb968dcbc8"/><file name="XsltPlainTextContentHandler.php" hash="7fdc485ccf55e74053306451b00eb143"/></dir><dir name="MailingTemplate"><file name="MailingTemplate.php" hash="57fdee4dcbe65ccf5a11c251fff402d3"/><file name="MailingTemplateManager.php" hash="582c7e37c56e2841ca3975e2432e9a50"/></dir><file name="NameException.php" hash="e4881c80503e2da8f7714d1e21ebe5cc"/><file name="NullPointerException.php" hash="efd39dcce2a3a8b8c457e3c60db42b30"/><file name="Order.php" hash="5a24339bdb8f501764e03532fb69fa21"/><dir name="Plugin"><file name="PluginStore.php" hash="a54c99a07a7353c2af66df1e83fd8d22"/></dir><file name="PluginStatusService.php" hash="2dcf3e299611d85e92b6c24b62ca0caf"/><dir name="Property"><file name="ApprovalPropertyValue.php" hash="12c56a0d34b6c77cc658b7f5adf882fe"/><file name="FormatChoicePropertyFormatter.php" hash="7bf1d3b42e63ec4e0593c1be9c39c3fa"/><file name="Property.php" hash="0e3b5236bee293b3b5f7f5e3d929de8a"/><file name="PropertyFormatter.php" hash="891ee029bc1f5889cf54661f02a008a1"/><file name="PropertyNames.php" hash="5e0595619428995779a7760a08a4d409"/></dir><dir name="Recipient"><file name="Attribute.php" hash="b491e14fb0675abe19e21ba9ec47511c"/><file name="AttributeManager.php" hash="c0b207d530795ade9eaeb329c2329531"/><file name="AttributeNotFoundException.php" hash="9df716b4504b2e7426696e9b48cff313"/><file name="BatchChannel.php" hash="1996cbc2bcca8773a998a77205ed6aed"/><file name="BlackListException.php" hash="2beb8ddb0bcfbbdfcfcb479185223ba2"/><file name="DuplicateKeyException.php" hash="1e7b3b0acd7ee6a5ec32aaf3b9dcf440"/><file name="IllegalValueException.php" hash="f2f93510caca40ef35dbfe8f93f107c4"/><file name="RecipientContext.php" hash="7337890f2d5ab48982f67f4b38fe67ce"/><file name="RecipientMetaData.php" hash="0d16c81514bb0761125647e68b57a0db"/><file name="RecipientRowSet.php" hash="e3deb362047bc78ca25c8045ffcbe94a"/><file name="SelectException.php" hash="63315e8cd92fc6b1f6f881b1b5e6a8e5"/><file name="UnsubscriptionRecipientRowSet.php" hash="21527e9ebc00848cc4727f6e1172e044"/></dir><file name="RemoteException.php" hash="832a732fa39c1855c45cf65bf7f6877b"/><dir name="Reporting"><file name="ConfigDescriptor.php" hash="9e8438d540d70870824cdc863d803747"/><file name="Control.php" hash="899fc95b97943e3a8370004f753af3d8"/><file name="ControlUnit.php" hash="9f891fe50ee8879b07f0873a5766b1ae"/><file name="DownloadableResult.php" hash="afb8dd810d04f542a34f7a6c5b4cc25f"/><file name="ReportEngine.php" hash="d1e0b72b8fbb45fe84aec88f799c50ce"/><file name="ReportException.php" hash="e8d640d1cc1a5a9ce19160ef3626a9e7"/><file name="ReportRequest.php" hash="81dbee2e7a718effddaffa8e56a09054"/><file name="ReportTicket.php" hash="5e14228ee6fbd9fb4ef9c178bf2a52a4"/></dir><dir name="Resource"><file name="Resource.php" hash="e525ef57620f36d1725600ae128fe794"/><file name="ResourceManager.php" hash="fd156e44f0ab6be2b93d8d27ff3f39da"/></dir><file name="SecurityException.php" hash="48c790e529ad4d7ebccabed4c06491bc"/><file name="ServerTime.php" hash="7bee61012b85de2a4aba0816e2245aac"/><file name="Session.php" hash="fbba675b7383308bf9ca4714f4609d4e"/><dir name="Subscription"><file name="SubscriptionLogEntryRowSet.php" hash="5c368fb22275b879f7282ace5f00ee25"/><file name="SubscriptionManager.php" hash="9adff6dd81646f381b2970e4dac5b878"/></dir><dir name="Testprofiles"><file name="TestRecipientContext.php" hash="c2627ed5e66f6c36246c42c23f0e63a8"/><file name="TestRecipientRowSet.php" hash="960d2ba2851fa6108544cd6f15ce9cf6"/></dir><dir name="TextModule"><file name="TextModule.php" hash="029f4c493a70a5f51039f0f9f0238358"/><file name="TextModuleManager.php" hash="460a750d470dcc78dbf68bbb65cc50bc"/></dir><dir name="TriggerMail"><file name="Attachment.php" hash="fdd706d5fdba7a6d065df8207a0c45e1"/><file name="BuildException.php" hash="4cb77a838d122cd32990af7a48395d9c"/><file name="BuildMode.php" hash="5385b259a5f904bc1febcbe02d6de2e8"/><file name="ParseException.php" hash="4d3fa3fa32e3d00f09c6213ebcc1efda"/><file name="RenderError.php" hash="3665b7b7c7c28cfb68021fa7c6fe54f5"/><file name="TriggerMailContent.php" hash="74df38856f640fe508631b4ac1442435"/><file name="TriggerMailingConstants.php" hash="0bd74dbf4611cd6f000b76befbb61ed3"/><file name="TriggerMailingContentType.php" hash="4f2e4eb326c46cf378032c78115ee3b3"/><file name="TriggerMailingExceptionType.php" hash="5ff9d8155a345acd7afbda1b670fc59e"/><file name="TriggerMailingRenderer.php" hash="1cf3eb33ff9a2f3fae44e378e53f7d70"/></dir><dir name="TriggerMailing"><dir name="Descriptor"><file name="ActionTriggerDescriptorBuilder.php" hash="590b5d243ba865babad54d579485ffab"/><file name="AnniversaryTriggerDescriptorBuilder.php" hash="a3a3521e9ef2ca65b2973553c398cf11"/><file name="AttributeTriggerDescriptorBuilder.php" hash="d308ce93f7b061529cd3a282511ce32a"/><file name="DailyTriggerIntervalBuilder.php" hash="00cf93764b8f0e94050399c490df4579"/><file name="HourlyTriggerIntervalBuilder.php" hash="fc4e8c62c6145ddbdae88421a2160411"/><file name="IntervalTriggerDescriptorBuilder.php" hash="9885d3d7511badadb20c6ca42005a4ec"/><file name="MonthlyTriggerIntervalBuilder.php" hash="cb70203959b2d4f4046e5e323d68fb79"/><file name="TimeTriggerDescriptorBuilder.php" hash="d73eba7a83dc3e28052e9785518fefb8"/><file name="TimeTriggerDispatchInterval.php" hash="7f10a01e10efa1aaf1ec7d9e31f09757"/><file name="TimeTriggerOffset.php" hash="dad792f6bfb445de6e4ea8450fa3b377"/><file name="TimeTriggerOffsetType.php" hash="68cd3c7119fb148325cf4d4ba6360f63"/><file name="TimeTriggerUnit.php" hash="a48e5c4ee6e0550bc8021d9d2697d37a"/><file name="TriggerDescriptor.php" hash="c8e82bf5239a5c0d66452f9e72b317e8"/><file name="TriggerDescriptorBuilder.php" hash="4affc3a11cb57854b457c6dfc590f211"/><file name="TriggerDescriptorBuilderFactory.php" hash="29eafd239dbee70106ebc618168ab9ea"/><file name="TriggerInterval.php" hash="b48708f6eee52a4a74efb39ae5a24ee9"/><file name="TriggerIntervalBuilder.php" hash="c21d6a4436b946eaed754b3fc104e0a7"/><file name="TriggerIntervalBuilderFactory.php" hash="5c0f27c68d110f5077fbb4d9f6a0982e"/><file name="TriggerType.php" hash="6eaaeb5325dabea3a1673148a69e9229"/><file name="WeeklyTriggerIntervalBuilder.php" hash="17d3a0f06eee2f5b12d6f7573d7a6c1c"/></dir><file name="FilterConcatenationType.php" hash="486ea82e75c32dd449c52644f7d77f68"/><file name="SendException.php" hash="f03297f29bd7b3ad34b0d56dda67d78e"/><file name="StateFilter.php" hash="b93c0ce8146775effb56f4616f85175f"/><file name="TriggerMailing.php" hash="442616ca3bd1fe5b959a060602106b4a"/><file name="TriggerMailingAttribute.php" hash="c888b38755e78e9385fe61ec70c40e8c"/><file name="TriggerMailingManager.php" hash="bf4da5a5c5f62ab9bb6f9a90c4ede829"/><file name="TriggerMailingState.php" hash="a6bc00ab248f58cb24edeac772018c67"/><file name="TriggerMailingStateException.php" hash="1cad16b7478d16b1b7a89477879b40f4"/><file name="TriggerState.php" hash="9e4c573fc11d95991f495d99e3d8b25a"/></dir><file name="UnknownRecipientException.php" hash="fd60fbb2a862018902446c22acae3e39"/><file name="UpdateException.php" hash="5eab1ab678e906461ca4e3ba521c6303"/><file name="User.php" hash="2f5ffca72a24971bccd0195ba0716f96"/><file name="UserContext.php" hash="0b3a302e4fe70e44750a50980afd82ad"/><file name="UserRights.php" hash="a586c5007f67ef819a6230791ab607e4"/><dir name="Util"><file name="TellAFriendException.php" hash="7af24d87796588d0ba7039dcba78feb8"/><file name="TemporaryMail.php" hash="c3c16bd04fa21483f3d4e4394081cd56"/><file name="TemporaryMailSender.php" hash="6257ca5b5e5c50010a2126fb3cef6db5"/><file name="Utilities.php" hash="10e7d85f3b184a036b6ce95998c262bf"/></dir><dir name="Webpage"><file name="Webpage.php" hash="d98a3894eb2bfab82a8bae10bf5aaba9"/><file name="WebpageManager.php" hash="f6e9405179c2f446eab8aec1243aa482"/></dir></dir><dir name="Apiimpl"><file name="AbstractSession.php" hash="5f0eef9ac1f7cf214136afad47660985"/><dir name="Action"><file name="ActionConstants.php" hash="74a1aeb6dd6d8c26d3e3261b8f3ecf85"/><file name="ActionImpl.php" hash="058216ac30266cb5a5db91a1c49fd884"/><file name="ActionManagerImpl.php" hash="5709583e18ee4639849691287a7d95c9"/><file name="CommandFactoryImpl.php" hash="c2801cba3e569a08497be0a4add29e2e"/><dir name="CommandImpl"><file name="RemoveRecipientCmd.php" hash="e93a7dfa8e73123f7f92557f5e660826"/><file name="SendActionMailCmd.php" hash="f29e9df8e314c6f0dfb3d00ffd43217c"/><file name="SendMailCmd.php" hash="06635dc1b6a6a5d1707ac71985e1cb99"/><file name="SetValueCmd.php" hash="306741c4895fc7c6a95d4cea8c7b3297"/><file name="SubUnsubscriptionCmd.php" hash="697dfc43dba052f25aa5e3153266e710"/><file name="SubscriptionCmd.php" hash="49ec5d0ebea09f7d511b0c91f3a03dea"/><file name="UnknownCmd.php" hash="85771d39dcb89ca92d00b15c2408105e"/><file name="UnsubscriptionCmd.php" hash="9c15f0764ff5c03498800f3fe5282ea6"/></dir><file name="CommandImpl.php" hash="e7d80d2d2415f8f9a908aaec9c57161e"/></dir><dir name="Approval"><file name="ApproverImpl.php" hash="32bbc6581959b5ff793aa484a2369451"/><file name="ApproverManagerImpl.php" hash="76db65517b94044bfedc8ff31e0d9e7f"/></dir><file name="AxisPluginStatusService.php" hash="ec788cf4981a95537023bce6f8cc1eca"/><dir name="Blacklist"><file name="BlacklistConstants.php" hash="d9c866914eccb44f58c413c81afcf529"/><file name="BlacklistEntryImpl.php" hash="debc3c7e2b6c4e1efdf65f2a07d14937"/><file name="BlacklistManagerImpl.php" hash="223b2f3d17c8c90000ac2edcd16236f2"/></dir><dir name="Bounce"><dir name="BounceDelegateResultSet"><file name="AttrGetter.php" hash="8b73e66a19560bf4b567f1aac3d2ca50"/><file name="BooleanGetter.php" hash="60b49a6a4aa967b762b12bf7ffafc585"/><file name="DateGetter.php" hash="89aaecf9603070a8ea128b96a5a3a7c0"/><file name="DateTimeGetter.php" hash="c6fa4b1487a2bea04b288f8cea610f11"/><file name="DoubleGetter.php" hash="5a8a9a23bc69368d04db85941dc8bd3b"/><file name="IntegerGetter.php" hash="d72cb5d5ad480f3e3aea2cbf661dfa9e"/><file name="StringGetter.php" hash="8f0b26bc051973eca763d3c4e951de2b"/><file name="TimeGetter.php" hash="d33ce9e6156a8f525999b070335d9fa5"/></dir><file name="BounceDelegateResultSet.php" hash="b8a402883e781dcaa4a8bc1c290802e9"/><file name="BounceImpl.php" hash="ca397651abf6c6731ffb32fad9b2a0e4"/><file name="BounceManagerImpl.php" hash="31f891e8d984174329919c383b9f9e3e"/></dir><file name="Constants.php" hash="87f4b4f239aeabb0cc26d277de41d0af"/><dir name="Core"><file name="AbstractBOResultSet.php" hash="715dadac0d735368567f3ca002b1d2c3"/><file name="BOResultSetDelegate.php" hash="08aae66cb0774e3d5ae2413ac99eada0"/><file name="DelegateBOResultSet.php" hash="e37acd15f3d15c72661efa2265673eac"/><file name="RemoteInputStream.php" hash="38fbd7f95a6858f904d1fa0281903c5b"/><dir name="SubscriptionLogEntryRowSetImpl"><file name="AttrGetter.php" hash="1458401dfff7edb9d9b5c2cad6da7ace"/><file name="BooleanGetter.php" hash="f6ec86e06ee4399d34667125c49a5d20"/><file name="DateGetter.php" hash="27a44d4a60d7339299030d126a96a8fc"/><file name="DateTimeGetter.php" hash="8035a05d22bb463d77313dbbc42c1f26"/><file name="DoubleGetter.php" hash="2e4ad3580bbf26d671028160d32cbb75"/><file name="IntegerGetter.php" hash="15509d7888f3bd366aacee2177809186"/><file name="StringGetter.php" hash="56cc1190de158e1773c6d2a8105d1379"/><file name="TimeGetter.php" hash="ffa8ab8b163a984239aa7ddb479a0abe"/></dir><file name="SubscriptionLogEntryRowSetImpl.php" hash="53564704972880f85a664e6b6e78b2a3"/><file name="SubscriptionManagerImpl.php" hash="f5f2a910e749739cc621f82992a3827b"/><file name="Uploader.php" hash="c70c703608f7f33d54d8d040262d9824"/><file name="UserContextImpl.php" hash="c4c571fd153e4483a8aebc1f249e0e33"/></dir><dir name="DataAccess"><file name="ClickDataImpl.php" hash="166e3733c72dee3e24f44b99ebab2230"/><dir name="ClickDataRowSetImpl"><file name="AttrGetter.php" hash="ce47cb858d2de515c52f9cd0f3a525f8"/><file name="BooleanGetter.php" hash="6a7425192054d617cba3505ef93d907b"/><file name="DateGetter.php" hash="27a44d4a60d7339299030d126a96a8fc"/><file name="DateTimeGetter.php" hash="8035a05d22bb463d77313dbbc42c1f26"/><file name="DoubleGetter.php" hash="2e4ad3580bbf26d671028160d32cbb75"/><file name="IntegerGetter.php" hash="15509d7888f3bd366aacee2177809186"/><file name="StringGetter.php" hash="56cc1190de158e1773c6d2a8105d1379"/><file name="TimeGetter.php" hash="ffa8ab8b163a984239aa7ddb479a0abe"/></dir><file name="ClickDataRowSetImpl.php" hash="83ed35e7c904cc390dfdb3a7d3a60b48"/><file name="DataAccessImpl.php" hash="a54e73e74a8d6259f4c76ee60f3dc390"/><file name="LinkDataImpl.php" hash="30716468e4df89a7524459bc7bf8a411"/><file name="LinkDataRowSetImpl.php" hash="1c3fb711a7676d4369c46f6d40d057ce"/></dir><dir name="DesignTemplate"><file name="DesignCollectionImpl.php" hash="7cadf4102f290eac0d72e6b5f9efd1b1"/><file name="DesignCollectionManagerImpl.php" hash="3dfbfbcee75272e54824f07263f756db"/><file name="StyleImpl.php" hash="92597b11655c9d88a0e11af75a89fa65"/><file name="TemplateImpl.php" hash="ea5e87fe355d762ef205d8453598cfd4"/></dir><dir name="Filter"><file name="FilterConstants.php" hash="247f2f9de64e30069e2daa9937bd0e50"/><file name="FilterImpl.php" hash="c0dfe42dfc79f7eeb3a84bf9757e852c"/><file name="FilterManagerImpl.php" hash="0164491a48e5cf358dd7a50811b7b618"/></dir><dir name="Inbox"><file name="InboxManagerImpl.php" hash="2feea5f2de6275d9022219cc494bd818"/><dir name="InboxMessageDelegateResultSet"><file name="AttrGetter.php" hash="82502b8cefdbec6b430258e997e4b1cc"/><file name="BooleanGetter.php" hash="6818d23b7d7dabe8b2e6eebee9b4137a"/><file name="DateGetter.php" hash="524790444c7c622ae8f443c797a805ee"/><file name="DateTimeGetter.php" hash="1622651e10e6afa88790100f9cca20e1"/><file name="DoubleGetter.php" hash="365b9e043d150bcb4ee2fc91ea882773"/><file name="IntegerGetter.php" hash="e0c692483087d923cb73c6379afb1388"/><file name="StringGetter.php" hash="628ca239a954b14ae4cb7e2d4e0b3755"/><file name="TimeGetter.php" hash="8195d1dc4e65a9ae837917d16471ac4a"/></dir><file name="InboxMessageDelegateResultSet.php" hash="ecd44b7e22451bf1a835859bb28b6062"/><file name="InboxMessageImpl.php" hash="d9db75483d161b9533c4b3d27c83f70d"/></dir><dir name="List"><file name="AdminListImpl.php" hash="afd81aafa65e79865c09002890ef65c8"/><file name="FilterListImpl.php" hash="c40b6123238e2d5d7f6de58de12b1990"/><file name="ListImpl.php" hash="306508d309e35b82b1f7e225c6e8bd02"/><file name="ListManagerImpl.php" hash="c54537bf72010b4de6ea4871233bac26"/><file name="ListSizeImpl.php" hash="7ea8bade241c4fb42f956c14a12e0524"/><file name="StandardListImpl.php" hash="dfd14c838f2e6eec058e62bb071826a6"/><file name="SystemListImpl.php" hash="f0e1a9c57a4835a1c437e1678e8f99df"/></dir><file name="Loader.php" hash="299c58ec76b666c0daf1df8d7c1465ef"/><dir name="Mailing"><file name="AttachmentImpl.php" hash="7d7ac74bb19aef04e387da1f3ca6f0ec"/><file name="MailContentImpl.php" hash="7b81da013dab665caee1f833523e2794"/><dir name="MailingContentHandler"><file name="HtmlTextImpl.php" hash="7087dfaed8228eca6882fdfe57cbef02"/><file name="MultiPartImpl.php" hash="4c2cb5a94a61a379fea7ace4f8217dfa"/><file name="PlainTextImpl.php" hash="e33648a7b317f51ecb6525eda81347ae"/><file name="XsltHtmlTextImpl.php" hash="5e93ac256aeb80b9f2a7c7492926c679"/><file name="XsltImpl.php" hash="3d8f5a55878fce4342bface3bfda3f7e"/><file name="XsltMultiPartImpl.php" hash="e46e58c66051c2b38f33e30b63c0c3dd"/><file name="XsltPlainTextImpl.php" hash="3958c721b9a17f85a8879e5afabca80b"/></dir><file name="MailingContentHandler.php" hash="fa6ea25815af13c4656af774f54d8889"/><file name="MailingImpl.php" hash="23388dae19ef3c4b92e4e74dfb864b82"/><file name="MailingManagerImpl.php" hash="d82c4539660b35e2e36bdeb1c37af913"/><file name="MailingRendererImpl.php" hash="0ed73eb2c479745e9059d2861ea5f507"/><file name="MailingRendererTestRecipientImpl.php" hash="b973468ff7076c1dd4011b1c9f82eb10"/><file name="MailingResultSet.php" hash="27a099d69afd2058d4427c71227b38e0"/><file name="SendingInfoImpl.php" hash="fd8b6c08b3231e19a74363997d43b905"/></dir><dir name="MailingTemplate"><file name="MailingTemplateImpl.php" hash="53df0ce9521f8b69c117a29c3b2227f1"/><file name="MailingTemplateManagerImpl.php" hash="22ee020c705efec9bdc839d93d8a1e8f"/></dir><dir name="Plugin"><file name="PluginStoreImpl.php" hash="558472c2a8a1c6806f03be4f62a58ab1"/></dir><dir name="Property"><file name="PropertyConstants.php" hash="40d084ab962b5956dd8a78a309c263e5"/><file name="PropertyContext.php" hash="625bad971dde275ae6ce7ac332aa4b81"/><file name="PropertyFormatterImpl.php" hash="261a66755cb02d4879f2133c375989ea"/><file name="PropertyImpl.php" hash="36a52eea4c348604c64ac39cf81bbbdd"/><file name="PropertyResultSet.php" hash="b56075efd98e833c528948e4c00b93ad"/></dir><file name="PropertyConstants.php" hash="458851dbc66df3d4da374142a5e8e69e"/><dir name="Recipient"><file name="AttributeManagerImpl.php" hash="7fc21ab4d04294e7cb48fdfcb181b6d3"/><file name="BatchChannelImpl.php" hash="a6bc9bbf75e40df9f7bce01dd8b56108"/><file name="Constants.php" hash="5e046f745599ff85e4ac1ce215115825"/><dir name="ContextAttribute"><file name="Boolean.php" hash="ff4f0f7c6a5ae50e795872aa71781cf4"/><file name="Date.php" hash="eca80fd82db917316405d40d9dba98d6"/><file name="Datetime.php" hash="2e226e9d7d683502b009d1dd6156b180"/><file name="Double.php" hash="323757b323d37e363d9b6db447cf86c2"/><file name="Hardbounce.php" hash="216e37c076ffb70c31670078c8d5d382"/><file name="Id.php" hash="293c210da90b682618b087282db0d608"/><file name="Integer.php" hash="08e767a57a972d587369192ed8c396cb"/><file name="LastModification.php" hash="bdf90c4d50617942a0ebb0b46581f12b"/><file name="String.php" hash="5b9f4f6b536b1f259d7366555c9fc152"/><file name="Time.php" hash="5e26ff14d7342ecc79cbd5a9aa7534ef"/></dir><file name="ContextAttribute.php" hash="3ec5c3b91b016b14796d5550d82adc70"/><dir name="RecipientContextImpl"><file name="AttributeIterator.php" hash="24cc0dfeca1ce2ed454aae1577ccc4ce"/></dir><file name="RecipientContextImpl.php" hash="e440c7dd7e1e274b4a6b42e8bab424f7"/><file name="RecipientRowSetImpl.php" hash="6aa6bdcdceaa4a6c3f61f6ecb5c2ad2b"/><file name="UnsubscriptionRecipientRowSetImpl.php" hash="56331306e8fc3ce9bb85b7f65ffa72ca"/></dir><file name="RemoteObject.php" hash="52f1193e8d9c7e8c2b7ad0fa7c3b7721"/><file name="RemoteRef.php" hash="213124297bba53fe084229e03e705cc5"/><file name="RemoteRefImpl.php" hash="da4e211ac03eb96b7929b748fc40d1af"/><file name="RemoteSession.php" hash="bd21442d873951d915c34768e60ace7e"/><dir name="Reporting"><file name="ConfigDescriptorImpl.php" hash="e150c21c38adeaa16a9094771c664e4f"/><file name="ControlImpl.php" hash="41eb512af20e38f8c7ed71c2ec5c012e"/><file name="ControlUnitImpl.php" hash="81685a0630edcba2c2d8e11a52506509"/><file name="DownloadableResultImpl.php" hash="c7f58021e8899702bf5dd50e701d4d0c"/><file name="ReportEngineImpl.php" hash="483a7b4def4a1db73c65ef32946b085d"/><file name="ReportTicketImpl.php" hash="ac6ddf705cf29f1268255ca80f38fc5f"/></dir><dir name="Resource"><file name="ResourceImpl.php" hash="43c67ae74d0fc2ee1f35c9fe76298239"/><file name="ResourceManagerImpl.php" hash="2fdb8e086191af66544d5e48d96f128b"/></dir><file name="SecureLogin.php" hash="fc83766437f46880f60071639282608d"/><file name="ServerTimeImpl.php" hash="71a279306057568a33fcff5e2f58a958"/><file name="SessionContext.php" hash="340ed3164341f343d7cba43a052b1e46"/><file name="SoapClient.php" hash="50eac81424af6902de2339a31c12338c"/><file name="SoapException.php" hash="84de1d5c15ede940d4c8ee180e2f7ea3"/><file name="SoapSession.php" hash="37a0894e25fa8e7eeee50367a3137949"/><file name="TConvert.php" hash="7f197bb9641b9d55acfa63a73d644ccd"/><dir name="Testprofiles"><file name="TestRecipientContextImpl.php" hash="97b0ba79a281d6b1edb8b9abb41f6bb1"/><file name="TestRecipientRowSetImpl.php" hash="fc1854da0c4414b6126d17414cc1189b"/></dir><dir name="TextModule"><file name="TextModuleImpl.php" hash="2cf0aff8d065bd133479a61a96e7915a"/><file name="TextModuleManagerImpl.php" hash="79dd597fef46c569cbcf31d28e2b1b4c"/></dir><dir name="TriggerMailing"><file name="AttachmentImpl.php" hash="bd1df9a6da6136dcdcb66edd408b5f4c"/><dir name="Descriptor"><file name="ActionTriggerDescriptorBuilderImpl.php" hash="66aac7a9840714a717b0f2930f650952"/><file name="AnniversaryTriggerDescriptorBuilderImpl.php" hash="fdeb6a31e452260cb76e032891dbcad4"/><file name="AttributeTriggerDescriptorBuilderImpl.php" hash="611ff638c4b9817b6c76f61be7e0e422"/><file name="DailyTriggerIntervalBuilderImpl.php" hash="cd3fe4a4bb066a85e1237ec5bbffdbbc"/><file name="HourlyTriggerIntervalBuilderImpl.php" hash="4280e214d8b893967bc65a259eebbdc3"/><file name="IntervalImpl.php" hash="6787b58ed62ec9b4621f67406663ff30"/><file name="IntervalTriggerDescriptorBuilderImpl.php" hash="cebd6dc93fa823787bb765a5f36b9da6"/><file name="MonthlyTriggerIntervalBuilderImpl.php" hash="6d1a1b34a7405240a63e13e105897bb6"/><file name="TimeTriggerDescriptorBuilderImpl.php" hash="fc98ebac354a04813fce2003e85884e3"/><file name="TriggerDescriptorBuilderFactoryImpl.php" hash="626622f3029813b19e8360457d5d186d"/><file name="TriggerDescriptorImpl.php" hash="bbb9893d1b2fab58ba56c81402a042e4"/><file name="TriggerIntervalBuilderFactoryImpl.php" hash="da016c030c3a5e3b4d39b2b72df86474"/><file name="WeeklyTriggerIntervalBuilderImpl.php" hash="0483f56c4e23bddeaaf76f059cd722c3"/></dir><file name="StateFilterImpl.php" hash="f0cc8550f5d05784d49d4a3f7238e14d"/><file name="TriggerMailContentImpl.php" hash="4638baf41a9cb0af49eefd7c44ad4969"/><file name="TriggerMailingContentHandler.php" hash="d476e9928911d50f3ab4cbd49fcbdd40"/><file name="TriggerMailingImpl.php" hash="216f77277ca1ea9e54ec196b3b7d1195"/><file name="TriggerMailingManagerImpl.php" hash="64fcdc0fbba7696a6f29fd0c7879759b"/><file name="TriggerMailingRendererImpl.php" hash="b032b96e693ac309abb939dfaaf395a1"/><file name="TriggerMailingRendererTestRecipientImpl.php" hash="545015588c033600522e252485a29da6"/><file name="TriggerMailingResultSet.php" hash="407b73da0fadebcf3119a07a7c8a94f9"/></dir><dir name="Util"><file name="IndexException.php" hash="480c87ff5460fcf0157a9729e3ead51f"/><file name="IndexedBuffer.php" hash="497f1014582403bdbb2bff2d8c8eb383"/><file name="SelectionUtils.php" hash="64c5d73ab278f67bac773489dafafb3b"/><file name="UtilitiesImpl.php" hash="81156b8da056d05569540e9b8f1752ad"/><file name="Utils.php" hash="ef57aca9e50dc7db5002580a24d42432"/></dir><dir name="Webpage"><file name="WebpageImpl.php" hash="7b5a43ca3a43611fabd5ec8953c4567b"/><file name="WebpageManagerImpl.php" hash="60012efee2ee9b9e261aa2f21292d3e5"/></dir><dir name="wsdl"><file name="ActionService.wsdl" hash="03ffe3b53e0e9bbaeff20151b7d711f9"/><file name="ApproverService.wsdl" hash="5aebaac503eb355609866c8268051b9c"/><file name="BlacklistService.wsdl" hash="6784a2074e19a6bcc326b6a8faf55a78"/><file name="Bounce2Service.wsdl" hash="766c35115dae7b27e966c3c2513821e7"/><file name="BounceService.wsdl" hash="573f8b0b462a779a12a58e0e33e3c95a"/><file name="CoreService.wsdl" hash="dbc8f7e565c40d8d4f78822060f1055d"/><file name="DataAccessService.wsdl" hash="e4c24f49dff1d6c73508728107d29afd"/><file name="DesignTemplate2Service.wsdl" hash="e40633cf326e85b6a2e5c2916745d712"/><file name="DesignTemplateService.wsdl" hash="760ecee7729556c5f5acd61e57c06c7e"/><file name="FilterService.wsdl" hash="a0e5170978f082e73652305310e227c6"/><file name="InboxService.wsdl" hash="dfb06d8896895c93fc6e25678cd3fbaf"/><file name="ListService.wsdl" hash="14c650229911a7a713d2d44cbd4bfa97"/><file name="Mailing2Service.wsdl" hash="79a58ab9fe54cd7c729d76736a40f672"/><file name="Mailing3Service.wsdl" hash="846b220ef8f771e82c0eff2aee5d7edc"/><file name="Mailing4Service.wsdl" hash="f48c5bb37dc0e23e78a64be58d4ec576"/><file name="Mailing5Service.wsdl" hash="f6306b889609b6eb6165b057bc6f163e"/><file name="Mailing6Service.wsdl" hash="bc30c36e23b80309ad23ddcebd9200e0"/><file name="MailingService.wsdl" hash="89fb9f5cb3e4ad662ef3cb91fb5f55a7"/><file name="MailingTemplateService.wsdl" hash="364a418da074c02b72c109a8423c7107"/><file name="PluginService.wsdl" hash="024d045daa3151e9366231d206717dbe"/><file name="PropertyService.wsdl" hash="c9d4dd7ca1dc552bdca45c523424987e"/><file name="RecipientService.wsdl" hash="adfc1d2e62720e0a8e0ca5aa058a76be"/><file name="ReportingService.wsdl" hash="f0165460f37387724875fb940555b7d5"/><file name="ResourceService.wsdl" hash="9ff6f3b0769d946e1e5cac9230f65291"/><file name="TestrecipientService.wsdl" hash="79964cffe88138008c13a6a887cb33d3"/><file name="TextmoduleService.wsdl" hash="1144a7e8d82d500340a808524618dc30"/><file name="TriggerMailingService.wsdl" hash="e956b03275783f07bc14aa33eced0502"/><file name="UnsubscriberService.wsdl" hash="7bdb5f68d56ea3de62c85c449fbab890"/><file name="WebpageService.wsdl" hash="be874f919835b630efc6dc2a1ae7e554"/></dir></dir></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="dndinxmail"><dir name="images"><file name="ajax-loader.gif" hash="a51c5608d01acf32df728f299767f82b"/><file name="bkg-inxmail-sync-bar.png" hash="7f07f66c431d62a772fa0e806b16c9be"/><file name="inxmail-logo.png" hash="efd5c9ee6f517cfd873ddcdcb11ad85d"/></dir><file name="inxmail-synchronization.css" hash="4515e5b1c99ede764d2a2c7d88c50e35"/></dir></dir></dir></dir></target></contents>
|
68 |
<compatible/>
|
69 |
<dependencies><required><php><min>5.2.13</min><max>5.5.9</max></php><package><name>Mage_Newsletter</name><channel>core</channel><min>1.6.0.0</min><max>1.6.0.0</max></package></required></dependencies>
|
70 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>DndInxmail_Subscriber</name>
|
4 |
+
<version>3.2.0.0</version>
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://opensource.org/licenses/osl-3.0.php">OSL-v3.0</license>
|
7 |
<channel>community</channel>
|
60 |
Return transfer of unsubscriptions to Magento. 
|
61 |

|
62 |
Comprehensive success measurement directly after the mailing has been dispatched.</description>
|
63 |
+
<notes>Version 3.2.0.0</notes>
|
64 |
<authors><author><name>Mattheo Geoffray</name><user>mattgeoffray</user><email>mattheo.geoffray@dnd.fr</email></author><author><name>Aymeric Aitamer</name><user>aymericaitamer</user><email>aymeric.aitamer@dnd.fr</email></author><author><name>Christophe Didier</name><user>christophedidier</user><email>christophe.didier@dnd.fr</email></author><author><name>Julien Didier</name><user>juliendidier</user><email>julien.didier@dnd.fr</email></author></authors>
|
65 |
+
<date>2016-01-26</date>
|
66 |
+
<time>10:14:23</time>
|
67 |
+
<contents><target name="magecommunity"><dir name="DndInxmail"><dir name="Subscriber"><dir name="Block"><dir name="Adminhtml"><dir name="Newsletter"><dir name="Subscriber"><file name="Grid.php" hash="f832c456879ba7b26074b072d71dce66"/></dir></dir><file name="Notifications.php" hash="1942cf87fc5a6d145322636410617c09"/><dir name="System"><dir name="Config"><file name="ApiVersion.php" hash="f93259331af6d31e216c138b83430dae"/><file name="BasicLabel.php" hash="6f917998f215e2e82b460bacf95baa74"/><file name="Date.php" hash="0f3d67458ba58968986ff12ef96dc480"/><dir name="Form"><dir name="Button"><file name="Groups.php" hash="359bd306f3c97f118de05f4be88667a5"/><file name="Subscribers.php" hash="089d0fe4ab42860cd8a6ae3dc7e57614"/></dir><dir name="Field"><file name="Payment.php" hash="ba9e6acace766f8af79583c4ad2565f0"/><dir name="Universal"><file name="Select.php" hash="407c0f85627e90f759adeaad09d2313a"/></dir><file name="Universal.php" hash="5334277f36c694f88a24efa180d1ec09"/></dir></dir><file name="ModuleVersion.php" hash="e620a5a8f66b47b42378318df02c5cec"/></dir></dir></dir><dir name="Synchronization"><file name="Groups.php" hash="8d22edbccf9aac2c70dabf56237fb3e7"/><file name="Subscribers.php" hash="96bf55110cb916277558db85c2cdfa1c"/></dir></dir><dir name="Helper"><file name="Abstract.php" hash="f9e8ad0206a8f35a3d6814d797066129"/><file name="Config.php" hash="78cdb8ba4e5ca1597b92c285e08d4467"/><file name="Data.php" hash="6980077e903569cf3c9328acfefc5938"/><file name="Error.php" hash="da28f79336d5d79fffd31f64fd7ffb21"/><file name="Group.php" hash="7264bb2eab0405bfda542b1ce2152e52"/><file name="Log.php" hash="5326190fe259269a31c2416629bccb86"/><file name="Mapping.php" hash="211f88cef7304ee6b669ee85385a37e4"/><dir name="Synchronize"><file name="Groups.php" hash="1f4f2eb27525a93dfbb8a9997d9a61fe"/><file name="Subscribers.php" hash="2b7254a36e4236bbfd9b20967f9871b0"/></dir><file name="Synchronize.php" hash="a5e588a6a1d45d50d649823188951b25"/><file name="Version.php" hash="baaee7108888d298b3da8be51bf6b99d"/></dir><dir name="Model"><dir name="Adminhtml"><dir name="System"><dir name="Config"><dir name="Backend"><file name="Cron.php" hash="714b57d97c3efebf787ad88d05739524"/><dir name="Customer"><file name="Group.php" hash="b050b28c0f55fa6d8e6c2211189e47ad"/></dir><file name="Date.php" hash="cb76a71491ac1dce4ebe8fe4dfc44ac8"/></dir><dir name="Source"><file name="Attributes.php" hash="0e495983167a4b54d03f78ca649c041c"/><dir name="Cron"><file name="Frequency.php" hash="9867ea6d15c9be63df4c1996df13cd78"/></dir><dir name="Customer"><file name="Attributes.php" hash="9e2e79b6bde02df4a7349ac000e240e3"/></dir><dir name="Group"><file name="Specific.php" hash="3e11b70db81f9b945d35a7a5365c2411"/></dir><file name="Group.php" hash="783366b624bbf78ded0804590b63d969"/><dir name="Inxmail"><dir name="Columns"><dir name="Type"><file name="Dateonly.php" hash="e3468e40ee5e8ef3161d9f927a7316e7"/><file name="Float.php" hash="950606f09cf5555f2e595a6bc991b6eb"/><file name="Int.php" hash="f3a9ce7a26f194b17ec45542b658143f"/><file name="Text.php" hash="02fcee7160f294e3a09bc8c5006395c9"/><file name="Yesno.php" hash="1a94f0a25636390e1ca90478b2bb1f4b"/></dir></dir><file name="Columns.php" hash="2153e1a8059e2a549d4abb1ec506f7a0"/><file name="GroupedColumns.php" hash="440a53688188d08e916bf1f837aa674b"/><file name="Lists.php" hash="afbde25881cd20c6643db41cd5a9b75f"/></dir><file name="Orders.php" hash="946356acce5c013ab3ff5e8142280049"/></dir></dir></dir></dir><file name="Observer.php" hash="74120b072972ed6ac8fe0b643880cb28"/><dir name="Resource"><dir name="Newsletter"><file name="Subscriber.php" hash="ae687b20eaf52a722f9dc8fd3ae75ba2"/></dir></dir><file name="Synchronization.php" hash="cfcbd1034efb477b68ee5af4f831a767"/><file name="Xml.php" hash="f4ae06f3dec120a0160f9a7705ed2f28"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="InxmailNotificationController.php" hash="be7163231c74b8508951ef76553cba70"/><file name="InxmailcolumnsController.php" hash="74a785c94aeed52282c7bc3af2609ec3"/><file name="SynchronizeController.php" hash="8560252fc77b69429eb9d5ac69dc9ba6"/></dir><file name="LogController.php" hash="fb38eeac648f7095127069c1266622d5"/><file name="MessagesController.php" hash="f514ea6603e3c19507d7e58893ac9278"/><file name="SourceController.php" hash="124508b530542a01134ab57cec5adb26"/><file name="SynchronizeController.php" hash="e7b5a54b5fadf3c8c6d92354fbd89702"/></dir><dir name="etc"><file name="adminhtml.xml" hash="1eec32d5166648c27a31b5273e66b419"/><file name="config.xml" hash="37e7f44f38855d2c7785ab8c27a6723e"/><file name="system.xml" hash="63e1366797b07b6e7d21d375eae21548"/></dir><dir name="sql"><dir name="dndinxmail_subscriber_setup"><file name="mysql4-install-1.0.0.0.php" hash="f76dbd90576888fd82713ee3f77c0225"/><file name="mysql4-upgrade-1.0.0.0-3.1.0.0.php" hash="75f86e046783d9551af69601462ddd6c"/><file name="mysql4-upgrade-3.1.0.4-3.1.1.0.php" hash="7cacb62d7b9a3835f790cd83dc79baf9"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="dndinxmail.xml" hash="c7688deb8f28f612962905ae2f3f823a"/></dir><dir name="template"><dir name="dndinxmail"><dir name="subscriber"><file name="notifications.phtml" hash="f31b868b4708f6c2e27610766aa79df5"/><dir name="system"><dir name="config"><dir name="form"><dir name="button"><file name="groups.phtml" hash="3518010bfad9268e6d5f8a1c822215e1"/><file name="subscribers.phtml" hash="06f55990ee2c77bc64bac8a184fe8891"/></dir></dir></dir><dir name="inxmail"><file name="columns.phtml" hash="9ed3d5cee08a6dae8dd6ce7af548b1c2"/></dir></dir></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="dndinxmail.xml" hash="7024e2dc71cb882c8302e7446c147216"/></dir><dir name="template"><dir name="dndinxmail"><dir name="page"><file name="messages.phtml" hash="b0155c06befe67c4c21c5d2132fda89e"/><file name="synchronize.phtml" hash="b75ff3207b177a717000a608d0d4ff9c"/></dir><dir name="synchronization"><file name="groups.phtml" hash="9364bb13013d288b882343ab32fe7c0c"/><file name="subscribers.phtml" hash="140ae60226f60ed122a97f91f13a2fbf"/></dir></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="DndInxmail_Subscriber.xml" hash="14b1afbc1cc53f1b75a97acbe07f0833"/></dir></target><target name="magelocale"><dir><dir name="de_DE"><file name="DndInxmail_Subscriber.csv" hash="cf221f62f03b0f16d134fe5c25fddc5e"/></dir><dir name="en_US"><file name="DndInxmail_Subscriber.csv" hash="aabc23144943ae387092caeea91a658e"/></dir><dir name="fr_FR"><file name="DndInxmail_Subscriber.csv" hash="79c359d9c7486c499fb940ada9061c8e"/></dir></dir></target><target name="mage"><dir name="js"><dir name="dndinxmail"><file name="synchronize.js" hash="c00f2c2002dafa6eb39da796642c1836"/></dir></dir><dir name="shell"><dir name="dndinxmail"><file name="synchronizeCustomerGroup.php" hash="65c989d720f586387a32d475ccdf7a27"/><file name="synchronizeUnsubscribed.php" hash="2559805f0b7ac73c26377056f203a217"/></dir></dir></target><target name="magelib"><dir name="Inx"><dir name="Api"><file name="APIException.php" hash="cd54a0750901485e9e8690de5ad5246a"/><dir name="Action"><file name="Action.php" hash="665ad587fc88b5af560988934491a35f"/><file name="ActionManager.php" hash="0d8cb6ed17517521d7b4887524f78cd6"/><file name="Command.php" hash="e43628257e4e70d8368c72c4bab0dd08"/><file name="CommandFactory.php" hash="07e7a034db4e787bd6e4008c2f77a4e2"/><file name="DeleteRecipientCommand.php" hash="e16c5082c0f8b891935d19e7bf5bac37"/><file name="SendActionMailCommand.php" hash="d4d89666620ebed59abc821037f7fba0"/><file name="SendMailCommand.php" hash="ea2965978e83d551f78f1b899c2575aa"/><file name="SetValueCommand.php" hash="daa643eb5e324c30d27ba562553ccd19"/><file name="SubUnsubscriptionCommand.php" hash="639cf2bc611b0aae9de59648a987fa6f"/><file name="SubscriptionCommand.php" hash="d1b95af63560ad49ba8aa82b2301684b"/><file name="UnsubscriptionCommand.php" hash="bf342168d8664f1bab148a7c585b120f"/></dir><dir name="Approval"><file name="Approver.php" hash="398c2baf6a7e16aed03d116a98f0574d"/><file name="ApproverManager.php" hash="b86d3f424e9fc4ada85f019d9d6409d3"/></dir><file name="BOManager.php" hash="b51e08b9e2b272e6c340c4c067ace234"/><file name="BOResultSet.php" hash="b94fb453e002dd5e1a0322a149275786"/><dir name="Blacklist"><file name="BlacklistEntry.php" hash="271260e423d8ab8bb68d3055a82ff3df"/><file name="BlacklistManager.php" hash="01c653c0f335409c7f92d18999abfcf1"/></dir><dir name="Bounce"><file name="Bounce.php" hash="2ab26019ec07b3804ba8df7e2424df33"/><file name="BounceManager.php" hash="6d5734e150c698c26f81abd1b2cc9af3"/></dir><file name="BusinessObject.php" hash="4e13429a5a6e1a00c930743c0c789859"/><file name="ConnectException.php" hash="9f169bb2be254fac472324e543b95346"/><dir name="DataAccess"><file name="ClickData.php" hash="2b023af93e88cc0999ad22a9ede98424"/><file name="ClickDataRowSet.php" hash="e8c5b69be0f11f8080f1f4df0f7a1e42"/><file name="DataAccess.php" hash="756f070f4b2c69f2d45916c99a2e94e5"/><file name="DataRowSet.php" hash="072bae2de7a2dfa0ff49870e78f85e78"/><file name="LinkData.php" hash="b8d84ce8dc259383f4386d6dea223b9a"/><file name="LinkDataRowSet.php" hash="b357be3ce3f5a7d69d6572bd5e8882df"/></dir><file name="DataException.php" hash="ec356035ac146b8aa9abbbc86f0ec9b6"/><dir name="DesignTemplate"><file name="DesignCollection.php" hash="8f359298cfa099a9b21820948e5bb375"/><file name="DesignCollectionManager.php" hash="259d40303f757e3de4c61be78a9a6ea4"/><file name="ImportException.php" hash="707077dc9a6b772614484702049e4116"/><file name="Style.php" hash="7429cad366a613b77a6abc1af08a07e5"/><file name="Template.php" hash="223f216d718685d1ac0ee188d49d40e8"/></dir><file name="FeatureNotAvailableException.php" hash="aac4c80f2bcf5aa8afb82133bec65080"/><file name="Features.php" hash="4b8264a9b46f730d1b60868ff3652b5c"/><dir name="Filter"><file name="Filter.php" hash="8c6e719b971ea97b77e4dcfa982e37c6"/><file name="FilterManager.php" hash="ab13a6505d2d104b558cbd782b404013"/></dir><file name="FilterStmtException.php" hash="bb0647ba81e91e2a828008176ec4e31e"/><file name="IOException.php" hash="6529a0521cba31d7cd21e2480b7cf539"/><file name="IllegalArgumentException.php" hash="97dd2b482dc3f3432e210ee8de7537a1"/><file name="IllegalStateException.php" hash="554021016305c9f925f7a5b9a916b7f1"/><dir name="Inbox"><file name="InboxManager.php" hash="eacdb6f94329afcc7c30022429d127dd"/><file name="InboxMessage.php" hash="2f15d1a04656cf3a168b272955ca78a1"/></dir><file name="IndexOutOfBoundsException.php" hash="b6540c77abfe67a4babd3d1d81ebb07d"/><file name="IndexSelection.php" hash="d945202618cf627deba0c10f689eaaff"/><file name="InputStream.php" hash="ea8f19a4cb5abe7f2dc7f8abee3f81d5"/><dir name="List"><file name="AdminListContext.php" hash="baa67ed7444f9193c93d924103a9e5ba"/><file name="FilterListContext.php" hash="16dbd1ca6ff0743b7de019dc4d265bf2"/><file name="ListContext.php" hash="8a59556050eb68ab56bbf16c03341483"/><file name="ListContextManager.php" hash="7df7a060a948b851a87c65bf26259a95"/><file name="ListSize.php" hash="23c93e1d8135e8c065cc2e97bdc315e0"/><file name="StandardListContext.php" hash="506acbc33af93ae1423d1a19f55eff1f"/><file name="SystemListContext.php" hash="abd62b603790f0a9f74808fed8494b37"/></dir><file name="LockException.php" hash="1bfb472512c9afc6cffecef9ed3a7139"/><file name="LockTicket.php" hash="895d6dda37856b22ad966aecc343205c"/><file name="LoginException.php" hash="b2dd030c5b9138be4eb54034c16c65a2"/><dir name="Mail"><file name="Attachment.php" hash="a5e3550f6a32968b0094d6c8284864fb"/><file name="BuildException.php" hash="c9efd47f36652631410d79b8c2b9ccec"/><file name="HeaderField.php" hash="550b8158e344d6a7c9f185c193e7abde"/><file name="MailContent.php" hash="1b55fd2ea422451ecfaa80eed65c852e"/><file name="MailingRenderer.php" hash="e906d8479016ecce1f5cd55f070612eb"/><file name="ParseException.php" hash="20b4367daf2b221f2c3a4bf8144ff0ec"/><file name="RenderError.php" hash="058f7725ce084d9d2e2c05cff130991a"/></dir><dir name="Mailing"><file name="ContentHandler.php" hash="cfa856aff7def9d8cac5274b45754084"/><file name="HtmlTextContentHandler.php" hash="687074edc0da205eb0db697f22b9d64a"/><file name="Mailing.php" hash="93922755e4e969c8b8795c7c5f054a0a"/><file name="MailingConstants.php" hash="51c5757223e800b10f5154fa7bc4ba9f"/><file name="MailingManager.php" hash="e374e0df727e4fdf6250ebab3ff7ef87"/><file name="MailingStateException.php" hash="7451ae5d08df03b4f72bdf92eb3580f0"/><file name="MultiPartContentHandler.php" hash="125509bfc68c52f34edd204c8dae19b0"/><file name="PlainTextContentHandler.php" hash="3b3604686f849b44ea34920e9526b017"/><file name="SendException.php" hash="4dd20378fabed595ea2f2824d421e74d"/><file name="SendingInfo.php" hash="eab51cf10fdfafcd5a5e905bd560c84c"/><file name="SinglePartContentHandler.php" hash="ecc3d8494628332f2f9cafce326acc96"/><file name="XsltContentHandler.php" hash="d294b4d09ede46479b51f5f00f0bdc86"/><file name="XsltHtmlTextContentHandler.php" hash="880545751bd4bbe08a3aec9851ff0c4d"/><file name="XsltMultiPartContentHandler.php" hash="58de83e1979120d77da8b7fb968dcbc8"/><file name="XsltPlainTextContentHandler.php" hash="7fdc485ccf55e74053306451b00eb143"/></dir><dir name="MailingTemplate"><file name="MailingTemplate.php" hash="57fdee4dcbe65ccf5a11c251fff402d3"/><file name="MailingTemplateManager.php" hash="582c7e37c56e2841ca3975e2432e9a50"/></dir><file name="NameException.php" hash="e4881c80503e2da8f7714d1e21ebe5cc"/><file name="NullPointerException.php" hash="efd39dcce2a3a8b8c457e3c60db42b30"/><file name="Order.php" hash="5a24339bdb8f501764e03532fb69fa21"/><dir name="Plugin"><file name="PluginStore.php" hash="a54c99a07a7353c2af66df1e83fd8d22"/></dir><file name="PluginStatusService.php" hash="2dcf3e299611d85e92b6c24b62ca0caf"/><dir name="Property"><file name="ApprovalPropertyValue.php" hash="12c56a0d34b6c77cc658b7f5adf882fe"/><file name="FormatChoicePropertyFormatter.php" hash="7bf1d3b42e63ec4e0593c1be9c39c3fa"/><file name="Property.php" hash="0e3b5236bee293b3b5f7f5e3d929de8a"/><file name="PropertyFormatter.php" hash="891ee029bc1f5889cf54661f02a008a1"/><file name="PropertyNames.php" hash="5e0595619428995779a7760a08a4d409"/></dir><dir name="Recipient"><file name="Attribute.php" hash="b491e14fb0675abe19e21ba9ec47511c"/><file name="AttributeManager.php" hash="c0b207d530795ade9eaeb329c2329531"/><file name="AttributeNotFoundException.php" hash="9df716b4504b2e7426696e9b48cff313"/><file name="BatchChannel.php" hash="1996cbc2bcca8773a998a77205ed6aed"/><file name="BlackListException.php" hash="2beb8ddb0bcfbbdfcfcb479185223ba2"/><file name="DuplicateKeyException.php" hash="1e7b3b0acd7ee6a5ec32aaf3b9dcf440"/><file name="IllegalValueException.php" hash="f2f93510caca40ef35dbfe8f93f107c4"/><file name="RecipientContext.php" hash="7337890f2d5ab48982f67f4b38fe67ce"/><file name="RecipientMetaData.php" hash="0d16c81514bb0761125647e68b57a0db"/><file name="RecipientRowSet.php" hash="e3deb362047bc78ca25c8045ffcbe94a"/><file name="SelectException.php" hash="63315e8cd92fc6b1f6f881b1b5e6a8e5"/><file name="UnsubscriptionRecipientRowSet.php" hash="21527e9ebc00848cc4727f6e1172e044"/></dir><file name="RemoteException.php" hash="832a732fa39c1855c45cf65bf7f6877b"/><dir name="Reporting"><file name="ConfigDescriptor.php" hash="9e8438d540d70870824cdc863d803747"/><file name="Control.php" hash="899fc95b97943e3a8370004f753af3d8"/><file name="ControlUnit.php" hash="9f891fe50ee8879b07f0873a5766b1ae"/><file name="DownloadableResult.php" hash="afb8dd810d04f542a34f7a6c5b4cc25f"/><file name="ReportEngine.php" hash="d1e0b72b8fbb45fe84aec88f799c50ce"/><file name="ReportException.php" hash="e8d640d1cc1a5a9ce19160ef3626a9e7"/><file name="ReportRequest.php" hash="81dbee2e7a718effddaffa8e56a09054"/><file name="ReportTicket.php" hash="5e14228ee6fbd9fb4ef9c178bf2a52a4"/></dir><dir name="Resource"><file name="Resource.php" hash="e525ef57620f36d1725600ae128fe794"/><file name="ResourceManager.php" hash="fd156e44f0ab6be2b93d8d27ff3f39da"/></dir><file name="SecurityException.php" hash="48c790e529ad4d7ebccabed4c06491bc"/><file name="ServerTime.php" hash="7bee61012b85de2a4aba0816e2245aac"/><file name="Session.php" hash="fbba675b7383308bf9ca4714f4609d4e"/><dir name="Subscription"><file name="SubscriptionLogEntryRowSet.php" hash="5c368fb22275b879f7282ace5f00ee25"/><file name="SubscriptionManager.php" hash="9adff6dd81646f381b2970e4dac5b878"/></dir><dir name="Testprofiles"><file name="TestRecipientContext.php" hash="c2627ed5e66f6c36246c42c23f0e63a8"/><file name="TestRecipientRowSet.php" hash="960d2ba2851fa6108544cd6f15ce9cf6"/></dir><dir name="TextModule"><file name="TextModule.php" hash="029f4c493a70a5f51039f0f9f0238358"/><file name="TextModuleManager.php" hash="460a750d470dcc78dbf68bbb65cc50bc"/></dir><dir name="TriggerMail"><file name="Attachment.php" hash="fdd706d5fdba7a6d065df8207a0c45e1"/><file name="BuildException.php" hash="4cb77a838d122cd32990af7a48395d9c"/><file name="BuildMode.php" hash="5385b259a5f904bc1febcbe02d6de2e8"/><file name="ParseException.php" hash="4d3fa3fa32e3d00f09c6213ebcc1efda"/><file name="RenderError.php" hash="3665b7b7c7c28cfb68021fa7c6fe54f5"/><file name="TriggerMailContent.php" hash="74df38856f640fe508631b4ac1442435"/><file name="TriggerMailingConstants.php" hash="0bd74dbf4611cd6f000b76befbb61ed3"/><file name="TriggerMailingContentType.php" hash="4f2e4eb326c46cf378032c78115ee3b3"/><file name="TriggerMailingExceptionType.php" hash="5ff9d8155a345acd7afbda1b670fc59e"/><file name="TriggerMailingRenderer.php" hash="1cf3eb33ff9a2f3fae44e378e53f7d70"/></dir><dir name="TriggerMailing"><dir name="Descriptor"><file name="ActionTriggerDescriptorBuilder.php" hash="590b5d243ba865babad54d579485ffab"/><file name="AnniversaryTriggerDescriptorBuilder.php" hash="a3a3521e9ef2ca65b2973553c398cf11"/><file name="AttributeTriggerDescriptorBuilder.php" hash="d308ce93f7b061529cd3a282511ce32a"/><file name="DailyTriggerIntervalBuilder.php" hash="00cf93764b8f0e94050399c490df4579"/><file name="HourlyTriggerIntervalBuilder.php" hash="fc4e8c62c6145ddbdae88421a2160411"/><file name="IntervalTriggerDescriptorBuilder.php" hash="9885d3d7511badadb20c6ca42005a4ec"/><file name="MonthlyTriggerIntervalBuilder.php" hash="cb70203959b2d4f4046e5e323d68fb79"/><file name="TimeTriggerDescriptorBuilder.php" hash="d73eba7a83dc3e28052e9785518fefb8"/><file name="TimeTriggerDispatchInterval.php" hash="7f10a01e10efa1aaf1ec7d9e31f09757"/><file name="TimeTriggerOffset.php" hash="dad792f6bfb445de6e4ea8450fa3b377"/><file name="TimeTriggerOffsetType.php" hash="68cd3c7119fb148325cf4d4ba6360f63"/><file name="TimeTriggerUnit.php" hash="a48e5c4ee6e0550bc8021d9d2697d37a"/><file name="TriggerDescriptor.php" hash="c8e82bf5239a5c0d66452f9e72b317e8"/><file name="TriggerDescriptorBuilder.php" hash="4affc3a11cb57854b457c6dfc590f211"/><file name="TriggerDescriptorBuilderFactory.php" hash="29eafd239dbee70106ebc618168ab9ea"/><file name="TriggerInterval.php" hash="b48708f6eee52a4a74efb39ae5a24ee9"/><file name="TriggerIntervalBuilder.php" hash="c21d6a4436b946eaed754b3fc104e0a7"/><file name="TriggerIntervalBuilderFactory.php" hash="5c0f27c68d110f5077fbb4d9f6a0982e"/><file name="TriggerType.php" hash="6eaaeb5325dabea3a1673148a69e9229"/><file name="WeeklyTriggerIntervalBuilder.php" hash="17d3a0f06eee2f5b12d6f7573d7a6c1c"/></dir><file name="FilterConcatenationType.php" hash="486ea82e75c32dd449c52644f7d77f68"/><file name="SendException.php" hash="f03297f29bd7b3ad34b0d56dda67d78e"/><file name="StateFilter.php" hash="b93c0ce8146775effb56f4616f85175f"/><file name="TriggerMailing.php" hash="442616ca3bd1fe5b959a060602106b4a"/><file name="TriggerMailingAttribute.php" hash="c888b38755e78e9385fe61ec70c40e8c"/><file name="TriggerMailingManager.php" hash="bf4da5a5c5f62ab9bb6f9a90c4ede829"/><file name="TriggerMailingState.php" hash="a6bc00ab248f58cb24edeac772018c67"/><file name="TriggerMailingStateException.php" hash="1cad16b7478d16b1b7a89477879b40f4"/><file name="TriggerState.php" hash="9e4c573fc11d95991f495d99e3d8b25a"/></dir><file name="UnknownRecipientException.php" hash="fd60fbb2a862018902446c22acae3e39"/><file name="UpdateException.php" hash="5eab1ab678e906461ca4e3ba521c6303"/><file name="User.php" hash="2f5ffca72a24971bccd0195ba0716f96"/><file name="UserContext.php" hash="0b3a302e4fe70e44750a50980afd82ad"/><file name="UserRights.php" hash="a586c5007f67ef819a6230791ab607e4"/><dir name="Util"><file name="TellAFriendException.php" hash="7af24d87796588d0ba7039dcba78feb8"/><file name="TemporaryMail.php" hash="c3c16bd04fa21483f3d4e4394081cd56"/><file name="TemporaryMailSender.php" hash="6257ca5b5e5c50010a2126fb3cef6db5"/><file name="Utilities.php" hash="10e7d85f3b184a036b6ce95998c262bf"/></dir><dir name="Webpage"><file name="Webpage.php" hash="d98a3894eb2bfab82a8bae10bf5aaba9"/><file name="WebpageManager.php" hash="f6e9405179c2f446eab8aec1243aa482"/></dir></dir><dir name="Apiimpl"><file name="AbstractSession.php" hash="5f0eef9ac1f7cf214136afad47660985"/><dir name="Action"><file name="ActionConstants.php" hash="74a1aeb6dd6d8c26d3e3261b8f3ecf85"/><file name="ActionImpl.php" hash="058216ac30266cb5a5db91a1c49fd884"/><file name="ActionManagerImpl.php" hash="5709583e18ee4639849691287a7d95c9"/><file name="CommandFactoryImpl.php" hash="c2801cba3e569a08497be0a4add29e2e"/><dir name="CommandImpl"><file name="RemoveRecipientCmd.php" hash="e93a7dfa8e73123f7f92557f5e660826"/><file name="SendActionMailCmd.php" hash="f29e9df8e314c6f0dfb3d00ffd43217c"/><file name="SendMailCmd.php" hash="06635dc1b6a6a5d1707ac71985e1cb99"/><file name="SetValueCmd.php" hash="306741c4895fc7c6a95d4cea8c7b3297"/><file name="SubUnsubscriptionCmd.php" hash="697dfc43dba052f25aa5e3153266e710"/><file name="SubscriptionCmd.php" hash="49ec5d0ebea09f7d511b0c91f3a03dea"/><file name="UnknownCmd.php" hash="85771d39dcb89ca92d00b15c2408105e"/><file name="UnsubscriptionCmd.php" hash="9c15f0764ff5c03498800f3fe5282ea6"/></dir><file name="CommandImpl.php" hash="e7d80d2d2415f8f9a908aaec9c57161e"/></dir><dir name="Approval"><file name="ApproverImpl.php" hash="32bbc6581959b5ff793aa484a2369451"/><file name="ApproverManagerImpl.php" hash="76db65517b94044bfedc8ff31e0d9e7f"/></dir><file name="AxisPluginStatusService.php" hash="ec788cf4981a95537023bce6f8cc1eca"/><dir name="Blacklist"><file name="BlacklistConstants.php" hash="d9c866914eccb44f58c413c81afcf529"/><file name="BlacklistEntryImpl.php" hash="debc3c7e2b6c4e1efdf65f2a07d14937"/><file name="BlacklistManagerImpl.php" hash="223b2f3d17c8c90000ac2edcd16236f2"/></dir><dir name="Bounce"><dir name="BounceDelegateResultSet"><file name="AttrGetter.php" hash="8b73e66a19560bf4b567f1aac3d2ca50"/><file name="BooleanGetter.php" hash="60b49a6a4aa967b762b12bf7ffafc585"/><file name="DateGetter.php" hash="89aaecf9603070a8ea128b96a5a3a7c0"/><file name="DateTimeGetter.php" hash="c6fa4b1487a2bea04b288f8cea610f11"/><file name="DoubleGetter.php" hash="5a8a9a23bc69368d04db85941dc8bd3b"/><file name="IntegerGetter.php" hash="d72cb5d5ad480f3e3aea2cbf661dfa9e"/><file name="StringGetter.php" hash="8f0b26bc051973eca763d3c4e951de2b"/><file name="TimeGetter.php" hash="d33ce9e6156a8f525999b070335d9fa5"/></dir><file name="BounceDelegateResultSet.php" hash="b8a402883e781dcaa4a8bc1c290802e9"/><file name="BounceImpl.php" hash="ca397651abf6c6731ffb32fad9b2a0e4"/><file name="BounceManagerImpl.php" hash="31f891e8d984174329919c383b9f9e3e"/></dir><file name="Constants.php" hash="87f4b4f239aeabb0cc26d277de41d0af"/><dir name="Core"><file name="AbstractBOResultSet.php" hash="715dadac0d735368567f3ca002b1d2c3"/><file name="BOResultSetDelegate.php" hash="08aae66cb0774e3d5ae2413ac99eada0"/><file name="DelegateBOResultSet.php" hash="e37acd15f3d15c72661efa2265673eac"/><file name="RemoteInputStream.php" hash="38fbd7f95a6858f904d1fa0281903c5b"/><dir name="SubscriptionLogEntryRowSetImpl"><file name="AttrGetter.php" hash="1458401dfff7edb9d9b5c2cad6da7ace"/><file name="BooleanGetter.php" hash="f6ec86e06ee4399d34667125c49a5d20"/><file name="DateGetter.php" hash="27a44d4a60d7339299030d126a96a8fc"/><file name="DateTimeGetter.php" hash="8035a05d22bb463d77313dbbc42c1f26"/><file name="DoubleGetter.php" hash="2e4ad3580bbf26d671028160d32cbb75"/><file name="IntegerGetter.php" hash="15509d7888f3bd366aacee2177809186"/><file name="StringGetter.php" hash="56cc1190de158e1773c6d2a8105d1379"/><file name="TimeGetter.php" hash="ffa8ab8b163a984239aa7ddb479a0abe"/></dir><file name="SubscriptionLogEntryRowSetImpl.php" hash="53564704972880f85a664e6b6e78b2a3"/><file name="SubscriptionManagerImpl.php" hash="f5f2a910e749739cc621f82992a3827b"/><file name="Uploader.php" hash="c70c703608f7f33d54d8d040262d9824"/><file name="UserContextImpl.php" hash="c4c571fd153e4483a8aebc1f249e0e33"/></dir><dir name="DataAccess"><file name="ClickDataImpl.php" hash="166e3733c72dee3e24f44b99ebab2230"/><dir name="ClickDataRowSetImpl"><file name="AttrGetter.php" hash="ce47cb858d2de515c52f9cd0f3a525f8"/><file name="BooleanGetter.php" hash="6a7425192054d617cba3505ef93d907b"/><file name="DateGetter.php" hash="27a44d4a60d7339299030d126a96a8fc"/><file name="DateTimeGetter.php" hash="8035a05d22bb463d77313dbbc42c1f26"/><file name="DoubleGetter.php" hash="2e4ad3580bbf26d671028160d32cbb75"/><file name="IntegerGetter.php" hash="15509d7888f3bd366aacee2177809186"/><file name="StringGetter.php" hash="56cc1190de158e1773c6d2a8105d1379"/><file name="TimeGetter.php" hash="ffa8ab8b163a984239aa7ddb479a0abe"/></dir><file name="ClickDataRowSetImpl.php" hash="83ed35e7c904cc390dfdb3a7d3a60b48"/><file name="DataAccessImpl.php" hash="a54e73e74a8d6259f4c76ee60f3dc390"/><file name="LinkDataImpl.php" hash="30716468e4df89a7524459bc7bf8a411"/><file name="LinkDataRowSetImpl.php" hash="1c3fb711a7676d4369c46f6d40d057ce"/></dir><dir name="DesignTemplate"><file name="DesignCollectionImpl.php" hash="7cadf4102f290eac0d72e6b5f9efd1b1"/><file name="DesignCollectionManagerImpl.php" hash="3dfbfbcee75272e54824f07263f756db"/><file name="StyleImpl.php" hash="92597b11655c9d88a0e11af75a89fa65"/><file name="TemplateImpl.php" hash="ea5e87fe355d762ef205d8453598cfd4"/></dir><dir name="Filter"><file name="FilterConstants.php" hash="247f2f9de64e30069e2daa9937bd0e50"/><file name="FilterImpl.php" hash="c0dfe42dfc79f7eeb3a84bf9757e852c"/><file name="FilterManagerImpl.php" hash="0164491a48e5cf358dd7a50811b7b618"/></dir><dir name="Inbox"><file name="InboxManagerImpl.php" hash="2feea5f2de6275d9022219cc494bd818"/><dir name="InboxMessageDelegateResultSet"><file name="AttrGetter.php" hash="82502b8cefdbec6b430258e997e4b1cc"/><file name="BooleanGetter.php" hash="6818d23b7d7dabe8b2e6eebee9b4137a"/><file name="DateGetter.php" hash="524790444c7c622ae8f443c797a805ee"/><file name="DateTimeGetter.php" hash="1622651e10e6afa88790100f9cca20e1"/><file name="DoubleGetter.php" hash="365b9e043d150bcb4ee2fc91ea882773"/><file name="IntegerGetter.php" hash="e0c692483087d923cb73c6379afb1388"/><file name="StringGetter.php" hash="628ca239a954b14ae4cb7e2d4e0b3755"/><file name="TimeGetter.php" hash="8195d1dc4e65a9ae837917d16471ac4a"/></dir><file name="InboxMessageDelegateResultSet.php" hash="ecd44b7e22451bf1a835859bb28b6062"/><file name="InboxMessageImpl.php" hash="d9db75483d161b9533c4b3d27c83f70d"/></dir><dir name="List"><file name="AdminListImpl.php" hash="afd81aafa65e79865c09002890ef65c8"/><file name="FilterListImpl.php" hash="c40b6123238e2d5d7f6de58de12b1990"/><file name="ListImpl.php" hash="306508d309e35b82b1f7e225c6e8bd02"/><file name="ListManagerImpl.php" hash="c54537bf72010b4de6ea4871233bac26"/><file name="ListSizeImpl.php" hash="7ea8bade241c4fb42f956c14a12e0524"/><file name="StandardListImpl.php" hash="dfd14c838f2e6eec058e62bb071826a6"/><file name="SystemListImpl.php" hash="f0e1a9c57a4835a1c437e1678e8f99df"/></dir><file name="Loader.php" hash="299c58ec76b666c0daf1df8d7c1465ef"/><dir name="Mailing"><file name="AttachmentImpl.php" hash="7d7ac74bb19aef04e387da1f3ca6f0ec"/><file name="MailContentImpl.php" hash="7b81da013dab665caee1f833523e2794"/><dir name="MailingContentHandler"><file name="HtmlTextImpl.php" hash="7087dfaed8228eca6882fdfe57cbef02"/><file name="MultiPartImpl.php" hash="4c2cb5a94a61a379fea7ace4f8217dfa"/><file name="PlainTextImpl.php" hash="e33648a7b317f51ecb6525eda81347ae"/><file name="XsltHtmlTextImpl.php" hash="5e93ac256aeb80b9f2a7c7492926c679"/><file name="XsltImpl.php" hash="3d8f5a55878fce4342bface3bfda3f7e"/><file name="XsltMultiPartImpl.php" hash="e46e58c66051c2b38f33e30b63c0c3dd"/><file name="XsltPlainTextImpl.php" hash="3958c721b9a17f85a8879e5afabca80b"/></dir><file name="MailingContentHandler.php" hash="fa6ea25815af13c4656af774f54d8889"/><file name="MailingImpl.php" hash="23388dae19ef3c4b92e4e74dfb864b82"/><file name="MailingManagerImpl.php" hash="d82c4539660b35e2e36bdeb1c37af913"/><file name="MailingRendererImpl.php" hash="0ed73eb2c479745e9059d2861ea5f507"/><file name="MailingRendererTestRecipientImpl.php" hash="b973468ff7076c1dd4011b1c9f82eb10"/><file name="MailingResultSet.php" hash="27a099d69afd2058d4427c71227b38e0"/><file name="SendingInfoImpl.php" hash="fd8b6c08b3231e19a74363997d43b905"/></dir><dir name="MailingTemplate"><file name="MailingTemplateImpl.php" hash="53df0ce9521f8b69c117a29c3b2227f1"/><file name="MailingTemplateManagerImpl.php" hash="22ee020c705efec9bdc839d93d8a1e8f"/></dir><dir name="Plugin"><file name="PluginStoreImpl.php" hash="558472c2a8a1c6806f03be4f62a58ab1"/></dir><dir name="Property"><file name="PropertyConstants.php" hash="40d084ab962b5956dd8a78a309c263e5"/><file name="PropertyContext.php" hash="625bad971dde275ae6ce7ac332aa4b81"/><file name="PropertyFormatterImpl.php" hash="261a66755cb02d4879f2133c375989ea"/><file name="PropertyImpl.php" hash="36a52eea4c348604c64ac39cf81bbbdd"/><file name="PropertyResultSet.php" hash="b56075efd98e833c528948e4c00b93ad"/></dir><file name="PropertyConstants.php" hash="458851dbc66df3d4da374142a5e8e69e"/><dir name="Recipient"><file name="AttributeManagerImpl.php" hash="7fc21ab4d04294e7cb48fdfcb181b6d3"/><file name="BatchChannelImpl.php" hash="a6bc9bbf75e40df9f7bce01dd8b56108"/><file name="Constants.php" hash="5e046f745599ff85e4ac1ce215115825"/><dir name="ContextAttribute"><file name="Boolean.php" hash="ff4f0f7c6a5ae50e795872aa71781cf4"/><file name="Date.php" hash="eca80fd82db917316405d40d9dba98d6"/><file name="Datetime.php" hash="2e226e9d7d683502b009d1dd6156b180"/><file name="Double.php" hash="323757b323d37e363d9b6db447cf86c2"/><file name="Hardbounce.php" hash="216e37c076ffb70c31670078c8d5d382"/><file name="Id.php" hash="293c210da90b682618b087282db0d608"/><file name="Integer.php" hash="08e767a57a972d587369192ed8c396cb"/><file name="LastModification.php" hash="bdf90c4d50617942a0ebb0b46581f12b"/><file name="String.php" hash="5b9f4f6b536b1f259d7366555c9fc152"/><file name="Time.php" hash="5e26ff14d7342ecc79cbd5a9aa7534ef"/></dir><file name="ContextAttribute.php" hash="3ec5c3b91b016b14796d5550d82adc70"/><dir name="RecipientContextImpl"><file name="AttributeIterator.php" hash="24cc0dfeca1ce2ed454aae1577ccc4ce"/></dir><file name="RecipientContextImpl.php" hash="e440c7dd7e1e274b4a6b42e8bab424f7"/><file name="RecipientRowSetImpl.php" hash="6aa6bdcdceaa4a6c3f61f6ecb5c2ad2b"/><file name="UnsubscriptionRecipientRowSetImpl.php" hash="56331306e8fc3ce9bb85b7f65ffa72ca"/></dir><file name="RemoteObject.php" hash="52f1193e8d9c7e8c2b7ad0fa7c3b7721"/><file name="RemoteRef.php" hash="213124297bba53fe084229e03e705cc5"/><file name="RemoteRefImpl.php" hash="da4e211ac03eb96b7929b748fc40d1af"/><file name="RemoteSession.php" hash="bd21442d873951d915c34768e60ace7e"/><dir name="Reporting"><file name="ConfigDescriptorImpl.php" hash="e150c21c38adeaa16a9094771c664e4f"/><file name="ControlImpl.php" hash="41eb512af20e38f8c7ed71c2ec5c012e"/><file name="ControlUnitImpl.php" hash="81685a0630edcba2c2d8e11a52506509"/><file name="DownloadableResultImpl.php" hash="c7f58021e8899702bf5dd50e701d4d0c"/><file name="ReportEngineImpl.php" hash="483a7b4def4a1db73c65ef32946b085d"/><file name="ReportTicketImpl.php" hash="ac6ddf705cf29f1268255ca80f38fc5f"/></dir><dir name="Resource"><file name="ResourceImpl.php" hash="43c67ae74d0fc2ee1f35c9fe76298239"/><file name="ResourceManagerImpl.php" hash="2fdb8e086191af66544d5e48d96f128b"/></dir><file name="SecureLogin.php" hash="fc83766437f46880f60071639282608d"/><file name="ServerTimeImpl.php" hash="71a279306057568a33fcff5e2f58a958"/><file name="SessionContext.php" hash="340ed3164341f343d7cba43a052b1e46"/><file name="SoapClient.php" hash="50eac81424af6902de2339a31c12338c"/><file name="SoapException.php" hash="84de1d5c15ede940d4c8ee180e2f7ea3"/><file name="SoapSession.php" hash="37a0894e25fa8e7eeee50367a3137949"/><file name="TConvert.php" hash="7f197bb9641b9d55acfa63a73d644ccd"/><dir name="Testprofiles"><file name="TestRecipientContextImpl.php" hash="97b0ba79a281d6b1edb8b9abb41f6bb1"/><file name="TestRecipientRowSetImpl.php" hash="fc1854da0c4414b6126d17414cc1189b"/></dir><dir name="TextModule"><file name="TextModuleImpl.php" hash="2cf0aff8d065bd133479a61a96e7915a"/><file name="TextModuleManagerImpl.php" hash="79dd597fef46c569cbcf31d28e2b1b4c"/></dir><dir name="TriggerMailing"><file name="AttachmentImpl.php" hash="bd1df9a6da6136dcdcb66edd408b5f4c"/><dir name="Descriptor"><file name="ActionTriggerDescriptorBuilderImpl.php" hash="66aac7a9840714a717b0f2930f650952"/><file name="AnniversaryTriggerDescriptorBuilderImpl.php" hash="fdeb6a31e452260cb76e032891dbcad4"/><file name="AttributeTriggerDescriptorBuilderImpl.php" hash="611ff638c4b9817b6c76f61be7e0e422"/><file name="DailyTriggerIntervalBuilderImpl.php" hash="cd3fe4a4bb066a85e1237ec5bbffdbbc"/><file name="HourlyTriggerIntervalBuilderImpl.php" hash="4280e214d8b893967bc65a259eebbdc3"/><file name="IntervalImpl.php" hash="6787b58ed62ec9b4621f67406663ff30"/><file name="IntervalTriggerDescriptorBuilderImpl.php" hash="cebd6dc93fa823787bb765a5f36b9da6"/><file name="MonthlyTriggerIntervalBuilderImpl.php" hash="6d1a1b34a7405240a63e13e105897bb6"/><file name="TimeTriggerDescriptorBuilderImpl.php" hash="fc98ebac354a04813fce2003e85884e3"/><file name="TriggerDescriptorBuilderFactoryImpl.php" hash="626622f3029813b19e8360457d5d186d"/><file name="TriggerDescriptorImpl.php" hash="bbb9893d1b2fab58ba56c81402a042e4"/><file name="TriggerIntervalBuilderFactoryImpl.php" hash="da016c030c3a5e3b4d39b2b72df86474"/><file name="WeeklyTriggerIntervalBuilderImpl.php" hash="0483f56c4e23bddeaaf76f059cd722c3"/></dir><file name="StateFilterImpl.php" hash="f0cc8550f5d05784d49d4a3f7238e14d"/><file name="TriggerMailContentImpl.php" hash="4638baf41a9cb0af49eefd7c44ad4969"/><file name="TriggerMailingContentHandler.php" hash="d476e9928911d50f3ab4cbd49fcbdd40"/><file name="TriggerMailingImpl.php" hash="216f77277ca1ea9e54ec196b3b7d1195"/><file name="TriggerMailingManagerImpl.php" hash="64fcdc0fbba7696a6f29fd0c7879759b"/><file name="TriggerMailingRendererImpl.php" hash="b032b96e693ac309abb939dfaaf395a1"/><file name="TriggerMailingRendererTestRecipientImpl.php" hash="545015588c033600522e252485a29da6"/><file name="TriggerMailingResultSet.php" hash="407b73da0fadebcf3119a07a7c8a94f9"/></dir><dir name="Util"><file name="IndexException.php" hash="480c87ff5460fcf0157a9729e3ead51f"/><file name="IndexedBuffer.php" hash="497f1014582403bdbb2bff2d8c8eb383"/><file name="SelectionUtils.php" hash="64c5d73ab278f67bac773489dafafb3b"/><file name="UtilitiesImpl.php" hash="81156b8da056d05569540e9b8f1752ad"/><file name="Utils.php" hash="ef57aca9e50dc7db5002580a24d42432"/></dir><dir name="Webpage"><file name="WebpageImpl.php" hash="7b5a43ca3a43611fabd5ec8953c4567b"/><file name="WebpageManagerImpl.php" hash="60012efee2ee9b9e261aa2f21292d3e5"/></dir><dir name="wsdl"><file name="ActionService.wsdl" hash="03ffe3b53e0e9bbaeff20151b7d711f9"/><file name="ApproverService.wsdl" hash="5aebaac503eb355609866c8268051b9c"/><file name="BlacklistService.wsdl" hash="6784a2074e19a6bcc326b6a8faf55a78"/><file name="Bounce2Service.wsdl" hash="766c35115dae7b27e966c3c2513821e7"/><file name="BounceService.wsdl" hash="573f8b0b462a779a12a58e0e33e3c95a"/><file name="CoreService.wsdl" hash="dbc8f7e565c40d8d4f78822060f1055d"/><file name="DataAccessService.wsdl" hash="e4c24f49dff1d6c73508728107d29afd"/><file name="DesignTemplate2Service.wsdl" hash="e40633cf326e85b6a2e5c2916745d712"/><file name="DesignTemplateService.wsdl" hash="760ecee7729556c5f5acd61e57c06c7e"/><file name="FilterService.wsdl" hash="a0e5170978f082e73652305310e227c6"/><file name="InboxService.wsdl" hash="dfb06d8896895c93fc6e25678cd3fbaf"/><file name="ListService.wsdl" hash="14c650229911a7a713d2d44cbd4bfa97"/><file name="Mailing2Service.wsdl" hash="79a58ab9fe54cd7c729d76736a40f672"/><file name="Mailing3Service.wsdl" hash="846b220ef8f771e82c0eff2aee5d7edc"/><file name="Mailing4Service.wsdl" hash="f48c5bb37dc0e23e78a64be58d4ec576"/><file name="Mailing5Service.wsdl" hash="f6306b889609b6eb6165b057bc6f163e"/><file name="Mailing6Service.wsdl" hash="bc30c36e23b80309ad23ddcebd9200e0"/><file name="MailingService.wsdl" hash="89fb9f5cb3e4ad662ef3cb91fb5f55a7"/><file name="MailingTemplateService.wsdl" hash="364a418da074c02b72c109a8423c7107"/><file name="PluginService.wsdl" hash="024d045daa3151e9366231d206717dbe"/><file name="PropertyService.wsdl" hash="c9d4dd7ca1dc552bdca45c523424987e"/><file name="RecipientService.wsdl" hash="adfc1d2e62720e0a8e0ca5aa058a76be"/><file name="ReportingService.wsdl" hash="f0165460f37387724875fb940555b7d5"/><file name="ResourceService.wsdl" hash="9ff6f3b0769d946e1e5cac9230f65291"/><file name="TestrecipientService.wsdl" hash="79964cffe88138008c13a6a887cb33d3"/><file name="TextmoduleService.wsdl" hash="1144a7e8d82d500340a808524618dc30"/><file name="TriggerMailingService.wsdl" hash="e956b03275783f07bc14aa33eced0502"/><file name="UnsubscriberService.wsdl" hash="7bdb5f68d56ea3de62c85c449fbab890"/><file name="WebpageService.wsdl" hash="be874f919835b630efc6dc2a1ae7e554"/></dir></dir></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="dndinxmail"><dir name="images"><file name="ajax-loader.gif" hash="a51c5608d01acf32df728f299767f82b"/><file name="bkg-inxmail-sync-bar.png" hash="7f07f66c431d62a772fa0e806b16c9be"/><file name="inxmail-logo.png" hash="efd5c9ee6f517cfd873ddcdcb11ad85d"/></dir><file name="inxmail-synchronization.css" hash="4515e5b1c99ede764d2a2c7d88c50e35"/></dir></dir></dir></dir></target></contents>
|
68 |
<compatible/>
|
69 |
<dependencies><required><php><min>5.2.13</min><max>5.5.9</max></php><package><name>Mage_Newsletter</name><channel>core</channel><min>1.6.0.0</min><max>1.6.0.0</max></package></required></dependencies>
|
70 |
</package>
|