Version Notes
- Fixed created_at
- Fixed abandoned cart prices
- Create checks for SFTP connection
Download this release
Release Info
Developer | ContactLab |
Extension | Contactlab_Modules |
Version | 2.5.4 |
Comparing to | |
See all releases |
Code changes from version 2.5.3 to 2.5.4
- app/code/community/Contactlab/.DS_Store +0 -0
- app/code/community/Contactlab/Commons/etc/config.xml +2 -2
- app/code/community/Contactlab/Commons/sql/contactlab_commons_setup/upgrade-0.8.13-0.8.14.php +1 -1
- app/code/community/Contactlab/Subscribers/Model/Checks/SftpSubscriberExporter.php +152 -0
- app/code/community/Contactlab/Subscribers/Model/Checks/SftpXmlDeliveryCheck.php +152 -0
- app/code/community/Contactlab/Subscribers/Model/Exporter/Copy of Subscribers.php +0 -1180
- app/code/community/Contactlab/Subscribers/Model/Soap/SetSubscriptionStatus.php +1 -2
- app/code/community/Contactlab/Subscribers/etc/config.xml +1 -1
- app/code/community/Contactlab/Subscribers/sql/contactlab_subscribers_setup/{upgrade-0.8.8-1.2.0.php → mysql4-upgrade-1.2.0-1.2.2.php} +0 -0
- app/code/community/Contactlab/Template/Model/Newsletter/Processor/Cart.php +4 -2
- app/code/community/Contactlab/Template/Model/Newsletter/Processor/Filter/Cart/Products.php +2 -2
- app/code/community/Contactlab/Template/Model/Newsletter/Template.php +2 -2
- app/design/frontend/base/default/layout/contactlab/layout.xml +0 -10
- package.xml +7 -5
app/code/community/Contactlab/.DS_Store
DELETED
Binary file
|
app/code/community/Contactlab/Commons/etc/config.xml
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
<config>
|
3 |
<modules>
|
4 |
<Contactlab_Commons>
|
5 |
-
<version>1.1.
|
6 |
<description>Magento/ContactLab Common functions.</description>
|
7 |
</Contactlab_Commons>
|
8 |
</modules>
|
@@ -144,7 +144,7 @@
|
|
144 |
<global>
|
145 |
<!--days_of_old_tasks>3</days_of_old_tasks>
|
146 |
<debug>0</debug-->
|
147 |
-
<platform_version>2.5.
|
148 |
</global>
|
149 |
<connection>
|
150 |
<!--type>1</type>
|
2 |
<config>
|
3 |
<modules>
|
4 |
<Contactlab_Commons>
|
5 |
+
<version>1.1.4</version>
|
6 |
<description>Magento/ContactLab Common functions.</description>
|
7 |
</Contactlab_Commons>
|
8 |
</modules>
|
144 |
<global>
|
145 |
<!--days_of_old_tasks>3</days_of_old_tasks>
|
146 |
<debug>0</debug-->
|
147 |
+
<platform_version>2.5.4</platform_version>
|
148 |
</global>
|
149 |
<connection>
|
150 |
<!--type>1</type>
|
app/code/community/Contactlab/Commons/sql/contactlab_commons_setup/upgrade-0.8.13-0.8.14.php
CHANGED
@@ -5,7 +5,7 @@ $installer->startSetup();
|
|
5 |
|
6 |
$installer->run("
|
7 |
ALTER TABLE {$installer->getTable("contactlab_commons/task")}
|
8 |
-
CHANGE `task_data` `task_data`
|
9 |
");
|
10 |
|
11 |
$installer->endSetup();
|
5 |
|
6 |
$installer->run("
|
7 |
ALTER TABLE {$installer->getTable("contactlab_commons/task")}
|
8 |
+
CHANGE `task_data` `task_data` blob comment 'Task internal data';
|
9 |
");
|
10 |
|
11 |
$installer->endSetup();
|
app/code/community/Contactlab/Subscribers/Model/Checks/SftpSubscriberExporter.php
ADDED
@@ -0,0 +1,152 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Created by PhpStorm.
|
5 |
+
* User: andreag
|
6 |
+
* Date: 06/10/15
|
7 |
+
* Time: 9.30
|
8 |
+
*/
|
9 |
+
class Contactlab_Subscribers_Model_Checks_SftpSubscriberExporter extends Contactlab_Subscribers_Model_Checks_AbstractCheck
|
10 |
+
{
|
11 |
+
|
12 |
+
/**
|
13 |
+
* Start check.
|
14 |
+
* @return String
|
15 |
+
*/
|
16 |
+
protected function doCheck()
|
17 |
+
{
|
18 |
+
return $this->_getCheckSFTP()
|
19 |
+
? $this->success(sprintf("SFTP test ok"))
|
20 |
+
: $this->error(sprintf("SFTP test error"));
|
21 |
+
}
|
22 |
+
|
23 |
+
/**
|
24 |
+
* Get code.
|
25 |
+
* @return String
|
26 |
+
*/
|
27 |
+
public function getCode()
|
28 |
+
{
|
29 |
+
return "sftp";
|
30 |
+
}
|
31 |
+
|
32 |
+
/**
|
33 |
+
* Get description.
|
34 |
+
* @return String
|
35 |
+
*/
|
36 |
+
public function getDescription()
|
37 |
+
{
|
38 |
+
return "SFTP Subscriber Exporter test";
|
39 |
+
}
|
40 |
+
|
41 |
+
/**
|
42 |
+
* Get position.
|
43 |
+
* @return int
|
44 |
+
*/
|
45 |
+
public function getPosition()
|
46 |
+
{
|
47 |
+
return 190;
|
48 |
+
}
|
49 |
+
|
50 |
+
/**
|
51 |
+
* Check wsdl.
|
52 |
+
*/
|
53 |
+
private function _getCheckSFTP()
|
54 |
+
{
|
55 |
+
$path = Mage::getBaseDir('var').'/contactlab/export/';
|
56 |
+
if(!is_dir($path))
|
57 |
+
{
|
58 |
+
mkdir($path, 0755, true);
|
59 |
+
}
|
60 |
+
$filename = $path.'CheckSFTP.txt';
|
61 |
+
$fh = fopen($filename,'w');
|
62 |
+
fwrite($fh, $this->getCode(),1024);
|
63 |
+
fclose($fh);
|
64 |
+
$return = $this->_putFile($filename);
|
65 |
+
unlink($filename);
|
66 |
+
return $return;
|
67 |
+
}
|
68 |
+
|
69 |
+
/**
|
70 |
+
* Put file to sftp.
|
71 |
+
*
|
72 |
+
* @param string $filename
|
73 |
+
* @return void
|
74 |
+
*/
|
75 |
+
private function _putFile($filename)
|
76 |
+
{
|
77 |
+
if($sftp = $this->getSFTPConnection())
|
78 |
+
{
|
79 |
+
$remoteFile = $this->_getRelativePath() . '/' . basename($filename);
|
80 |
+
$sftp->delete($remoteFile);
|
81 |
+
$sftp->put($remoteFile, $filename, NET_SFTP_LOCAL_FILE);
|
82 |
+
$return = $this->_checkUploadedFile($filename, $remoteFile, $sftp);
|
83 |
+
$sftp->delete($remoteFile);
|
84 |
+
$sftp->_disconnect(0);
|
85 |
+
}
|
86 |
+
else
|
87 |
+
{
|
88 |
+
$return = false;
|
89 |
+
}
|
90 |
+
return $return;
|
91 |
+
}
|
92 |
+
|
93 |
+
/**
|
94 |
+
* Get delivery method.
|
95 |
+
*
|
96 |
+
* @return string
|
97 |
+
*/
|
98 |
+
private function _getRelativePath() {
|
99 |
+
return Mage::getStoreConfig("contactlab_commons/connection/export_remote_path");
|
100 |
+
}
|
101 |
+
|
102 |
+
/**
|
103 |
+
* Get SFTP connection.
|
104 |
+
* @return Contactlab_Commons_Model_Ssh_Net_SFTP
|
105 |
+
* @throws Zend_Exception
|
106 |
+
*/
|
107 |
+
public function getSFTPConnection()
|
108 |
+
{
|
109 |
+
$sftp = new Contactlab_Commons_Model_Ssh_Net_SFTP(
|
110 |
+
Mage::getStoreConfig("contactlab_commons/connection/remote_server")
|
111 |
+
);
|
112 |
+
if (!$sftp->login(
|
113 |
+
Mage::getStoreConfig("contactlab_commons/connection/sftp_username"),
|
114 |
+
Mage::getStoreConfig("contactlab_commons/connection/sftp_password")
|
115 |
+
)
|
116 |
+
)
|
117 |
+
{
|
118 |
+
return false;
|
119 |
+
}
|
120 |
+
return $sftp;
|
121 |
+
}
|
122 |
+
|
123 |
+
/**
|
124 |
+
* Check uploaded file existence.
|
125 |
+
*
|
126 |
+
* @param string $localFile
|
127 |
+
* @param string $remoteFile
|
128 |
+
* @param Contactlab_Commons_Model_Ssh_Net_SFTP $sftp
|
129 |
+
* @return void
|
130 |
+
*/
|
131 |
+
private function _checkUploadedFile($localFile, $remoteFile, Contactlab_Commons_Model_Ssh_Net_SFTP $sftp)
|
132 |
+
{
|
133 |
+
$localFileSize = filesize($localFile);
|
134 |
+
$remoteStat = $sftp->lstat($remoteFile);
|
135 |
+
$return = true;
|
136 |
+
if (!$remoteStat) {
|
137 |
+
$return = false;
|
138 |
+
}
|
139 |
+
if ($this->hasTask()) {
|
140 |
+
$this->getTask()->addEvent("Remote file info: " . print_r($remoteStat, true));
|
141 |
+
}
|
142 |
+
|
143 |
+
$remoteFileSize = $remoteStat['size'];
|
144 |
+
if ($localFileSize != $remoteFileSize) {
|
145 |
+
$return = false;
|
146 |
+
}
|
147 |
+
return $return;
|
148 |
+
}
|
149 |
+
|
150 |
+
|
151 |
+
|
152 |
+
}
|
app/code/community/Contactlab/Subscribers/Model/Checks/SftpXmlDeliveryCheck.php
ADDED
@@ -0,0 +1,152 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Created by PhpStorm.
|
5 |
+
* User: andreag
|
6 |
+
* Date: 06/10/15
|
7 |
+
* Time: 9.30
|
8 |
+
*/
|
9 |
+
class Contactlab_Subscribers_Model_Checks_SftpXmlDeliveryCheck extends Contactlab_Subscribers_Model_Checks_AbstractCheck
|
10 |
+
{
|
11 |
+
|
12 |
+
/**
|
13 |
+
* Start check.
|
14 |
+
* @return String
|
15 |
+
*/
|
16 |
+
protected function doCheck()
|
17 |
+
{
|
18 |
+
return $this->_getCheckSFTP()
|
19 |
+
? $this->success(sprintf("SFTP test ok"))
|
20 |
+
: $this->error(sprintf("SFTP test error"));
|
21 |
+
}
|
22 |
+
|
23 |
+
/**
|
24 |
+
* Get code.
|
25 |
+
* @return String
|
26 |
+
*/
|
27 |
+
public function getCode()
|
28 |
+
{
|
29 |
+
return "sftp";
|
30 |
+
}
|
31 |
+
|
32 |
+
/**
|
33 |
+
* Get description.
|
34 |
+
* @return String
|
35 |
+
*/
|
36 |
+
public function getDescription()
|
37 |
+
{
|
38 |
+
return "SFTP XmlDelivery test";
|
39 |
+
}
|
40 |
+
|
41 |
+
/**
|
42 |
+
* Get position.
|
43 |
+
* @return int
|
44 |
+
*/
|
45 |
+
public function getPosition()
|
46 |
+
{
|
47 |
+
return 190;
|
48 |
+
}
|
49 |
+
|
50 |
+
/**
|
51 |
+
* Check wsdl.
|
52 |
+
*/
|
53 |
+
private function _getCheckSFTP()
|
54 |
+
{
|
55 |
+
$path = Mage::getBaseDir('var').'/contactlab/export/';
|
56 |
+
if(!is_dir($path))
|
57 |
+
{
|
58 |
+
mkdir($path, 0755, true);
|
59 |
+
}
|
60 |
+
$filename = $path.'CheckSFTP.txt';
|
61 |
+
$fh = fopen($filename,'w');
|
62 |
+
fwrite($fh, $this->getCode(),1024);
|
63 |
+
fclose($fh);
|
64 |
+
$return = $this->_putFile($filename);
|
65 |
+
unlink($filename);
|
66 |
+
return $return;
|
67 |
+
}
|
68 |
+
|
69 |
+
/**
|
70 |
+
* Put file to sftp.
|
71 |
+
*
|
72 |
+
* @param string $filename
|
73 |
+
* @return void
|
74 |
+
*/
|
75 |
+
private function _putFile($filename)
|
76 |
+
{
|
77 |
+
if($sftp = $this->getSFTPConnection())
|
78 |
+
{
|
79 |
+
$remoteFile = $this->_getRelativePath() . '/' . basename($filename);
|
80 |
+
$sftp->delete($remoteFile);
|
81 |
+
$sftp->put($remoteFile, $filename, NET_SFTP_LOCAL_FILE);
|
82 |
+
$return = $this->_checkUploadedFile($filename, $remoteFile, $sftp);
|
83 |
+
$sftp->delete($remoteFile);
|
84 |
+
$sftp->_disconnect(0);
|
85 |
+
}
|
86 |
+
else
|
87 |
+
{
|
88 |
+
$return = false;
|
89 |
+
}
|
90 |
+
return $return;
|
91 |
+
}
|
92 |
+
|
93 |
+
/**
|
94 |
+
* Get delivery method.
|
95 |
+
*
|
96 |
+
* @return string
|
97 |
+
*/
|
98 |
+
private function _getRelativePath() {
|
99 |
+
return Mage::getStoreConfig("contactlab_template/queue/export_remote_path");
|
100 |
+
}
|
101 |
+
|
102 |
+
/**
|
103 |
+
* Get SFTP connection.
|
104 |
+
* @return Contactlab_Commons_Model_Ssh_Net_SFTP
|
105 |
+
* @throws Zend_Exception
|
106 |
+
*/
|
107 |
+
public function getSFTPConnection()
|
108 |
+
{
|
109 |
+
$sftp = new Contactlab_Commons_Model_Ssh_Net_SFTP(
|
110 |
+
Mage::getStoreConfig("contactlab_commons/connection/remote_server")
|
111 |
+
);
|
112 |
+
if (!$sftp->login(
|
113 |
+
Mage::getStoreConfig("contactlab_commons/connection/sftp_username"),
|
114 |
+
Mage::getStoreConfig("contactlab_commons/connection/sftp_password")
|
115 |
+
)
|
116 |
+
)
|
117 |
+
{
|
118 |
+
return false;
|
119 |
+
}
|
120 |
+
return $sftp;
|
121 |
+
}
|
122 |
+
|
123 |
+
/**
|
124 |
+
* Check uploaded file existence.
|
125 |
+
*
|
126 |
+
* @param string $localFile
|
127 |
+
* @param string $remoteFile
|
128 |
+
* @param Contactlab_Commons_Model_Ssh_Net_SFTP $sftp
|
129 |
+
* @return void
|
130 |
+
*/
|
131 |
+
private function _checkUploadedFile($localFile, $remoteFile, Contactlab_Commons_Model_Ssh_Net_SFTP $sftp)
|
132 |
+
{
|
133 |
+
$localFileSize = filesize($localFile);
|
134 |
+
$remoteStat = $sftp->lstat($remoteFile);
|
135 |
+
$return = true;
|
136 |
+
if (!$remoteStat) {
|
137 |
+
$return = false;
|
138 |
+
}
|
139 |
+
if ($this->hasTask()) {
|
140 |
+
$this->getTask()->addEvent("Remote file info: " . print_r($remoteStat, true));
|
141 |
+
}
|
142 |
+
|
143 |
+
$remoteFileSize = $remoteStat['size'];
|
144 |
+
if ($localFileSize != $remoteFileSize) {
|
145 |
+
$return = false;
|
146 |
+
}
|
147 |
+
return $return;
|
148 |
+
}
|
149 |
+
|
150 |
+
|
151 |
+
|
152 |
+
}
|
app/code/community/Contactlab/Subscribers/Model/Exporter/Copy of Subscribers.php
DELETED
@@ -1,1180 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/**
|
4 |
-
* Export subscribers.
|
5 |
-
* @property string limiter
|
6 |
-
* @property bool found
|
7 |
-
* @property int customers
|
8 |
-
* @property int newsletterSubscribers
|
9 |
-
* @property int deleted
|
10 |
-
* @property mixed exportPolicy
|
11 |
-
* @property Contactlab_Subscribers_Helper_Exporter helper
|
12 |
-
* @property Mage_Core_Model_Resource $resource
|
13 |
-
* @property string ukQuery
|
14 |
-
* @property array customerAttributes
|
15 |
-
* @property array addressAttributes
|
16 |
-
* @property Mage_Customer_Model_Customer customerModel
|
17 |
-
* @property Mage_Customer_Model_Address addressModel
|
18 |
-
* @property array statsAttributesMap
|
19 |
-
* @property array stores
|
20 |
-
* @property array fAttributesMap
|
21 |
-
* @property array fAddressAttributes
|
22 |
-
* @property array deletedEntities
|
23 |
-
*/
|
24 |
-
class Contactlab_Subscribers_Model_Exporter_Subscribers extends Contactlab_Commons_Model_Exporter_Abstract {
|
25 |
-
|
26 |
-
public final function export()
|
27 |
-
{
|
28 |
-
|
29 |
-
$filenameFormat = Mage::getStoreConfig("contactlab_commons/connection/export_local_path")
|
30 |
-
. '/' . $this->getFileName();
|
31 |
-
|
32 |
-
$filename = $this->_formatFileName($filenameFormat);
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
Mage::helper("contactlab_commons")->logNotice("Exporting locally to $filename");
|
37 |
-
|
38 |
-
$path = dirname($filename);
|
39 |
-
|
40 |
-
if (is_dir($path) && !is_writable($path)) {
|
41 |
-
Mage::helper("contactlab_commons")->logAlert("$path is not writeable");
|
42 |
-
throw new Zend_Exception("$path is not writeable");
|
43 |
-
}
|
44 |
-
if (is_file($filename) && !is_writable($filename)) {
|
45 |
-
Mage::helper("contactlab_commons")->logAlert("$filename is not writeable");
|
46 |
-
throw new Zend_Exception("$filename is not writeable");
|
47 |
-
}
|
48 |
-
if (($this->gz = gzopen($filename, 'w9')) === false) {
|
49 |
-
Mage::helper("contactlab_commons")->logAlert("Could not export to $filename");
|
50 |
-
throw new Zend_Exception("Could not export to $filename");
|
51 |
-
}
|
52 |
-
|
53 |
-
gzwrite($this->gz, "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<dataroot>\n");
|
54 |
-
$this->writeXml();
|
55 |
-
gzwrite($this->gz, "</dataroot>\n");
|
56 |
-
gzclose($this->gz);
|
57 |
-
/*
|
58 |
-
if ($this->_useRemoteServer()) {
|
59 |
-
$this->_putFile(realpath($filename), basename($realFilename));
|
60 |
-
sleep(2);
|
61 |
-
unlink(realpath($filename));
|
62 |
-
}
|
63 |
-
$this->afterFileCopy();
|
64 |
-
*/
|
65 |
-
return "Export done";
|
66 |
-
}
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
/**
|
71 |
-
* Get xml object.
|
72 |
-
*/
|
73 |
-
protected function writeXml() {
|
74 |
-
|
75 |
-
$this->limiter = '###';
|
76 |
-
$this->found = false;
|
77 |
-
|
78 |
-
$this->customers = 0;
|
79 |
-
$this->newsletterSubscribers = 0;
|
80 |
-
$this->deleted = 0;
|
81 |
-
|
82 |
-
//$this->exportPolicy = Mage::getStoreConfig('contactlab_subscribers/global/export_policy');
|
83 |
-
$this->exportPolicy = Mage::getStoreConfig('contactlab_subscribers/global/export_policy');
|
84 |
-
$this->helper = Mage::helper("contactlab_subscribers/exporter");
|
85 |
-
$this->resource = Mage::getSingleton('core/resource');
|
86 |
-
|
87 |
-
$this->ukQuery = "";
|
88 |
-
|
89 |
-
|
90 |
-
Mage::helper("contactlab_commons")->enableDbProfiler();
|
91 |
-
|
92 |
-
if ($this->_mustResetExportDates()) {
|
93 |
-
$this->_resetExportDates();
|
94 |
-
}
|
95 |
-
|
96 |
-
$this->customerAttributes = $this->helper->getAttributesCodesForEntityType('customer');
|
97 |
-
$this->addressAttributes = $this->helper->getAttributesCodesForEntityType('customer_address');
|
98 |
-
|
99 |
-
$this->customerModel = Mage::getModel('customer/customer');
|
100 |
-
$this->addressModel = Mage::getModel('customer/address');
|
101 |
-
|
102 |
-
$this->statsAttributesMap = $this->helper->getStatsAttributesMap();
|
103 |
-
$this->stores = $this->_loadStores();
|
104 |
-
|
105 |
-
// Define customer collection
|
106 |
-
$attribute_map = array(
|
107 |
-
'prefix' => 'prefix',
|
108 |
-
'firstname' => 'firstname',
|
109 |
-
'middlename' => 'middlename',
|
110 |
-
'lastname' => 'lastname',
|
111 |
-
'suffix' => 'suffix',
|
112 |
-
'dob' => 'dob',
|
113 |
-
'gender' => 'gender',
|
114 |
-
'email' => 'email',
|
115 |
-
'created_at' => 'created_at',
|
116 |
-
/**
|
117 |
-
* Adding new fields from extended newsletter subscription form
|
118 |
-
*/
|
119 |
-
'privacy' => 'privacy',
|
120 |
-
'mobilephone' => 'mobilephone',
|
121 |
-
'notes' => 'notes',
|
122 |
-
'custom_1' => 'custom_1',
|
123 |
-
'custom_2' => 'custom_2',
|
124 |
-
'customer_group_id' => 'customer_group_id',
|
125 |
-
'customer_group_name' => 'customer_group_name'
|
126 |
-
);
|
127 |
-
|
128 |
-
$tMapTransporter = Mage::getModel('contactlab_subscribers/exporter_subscribers_mapTransporter_attribute');
|
129 |
-
$tMapTransporter->setMap($attribute_map);
|
130 |
-
$tMapTransporter->setIsMod(false);
|
131 |
-
|
132 |
-
Mage::dispatchEvent("contactlab_export_attributesmap",array(
|
133 |
-
'map_transporter' => $tMapTransporter
|
134 |
-
));
|
135 |
-
|
136 |
-
if ($tMapTransporter->isMod()){
|
137 |
-
$attribute_map = $tMapTransporter->getMap();
|
138 |
-
}
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
$address_attribute_map = array(
|
143 |
-
'country_id' => 'country_id',
|
144 |
-
'country' => 'country',
|
145 |
-
'region_id' => 'region_id',
|
146 |
-
'region' => 'region',
|
147 |
-
'postcode' => 'postcode',
|
148 |
-
'city' => 'city',
|
149 |
-
'street' => 'street',
|
150 |
-
'telephone' => 'telephone',
|
151 |
-
'fax' => 'fax',
|
152 |
-
'company' => 'company',
|
153 |
-
);
|
154 |
-
|
155 |
-
$tMapTransporter = Mage::getModel('contactlab_subscribers/exporter_subscribers_mapTransporter_address');
|
156 |
-
$tMapTransporter->setMap($address_attribute_map);
|
157 |
-
$tMapTransporter->setIsMod(false);
|
158 |
-
|
159 |
-
Mage::dispatchEvent("contactlab_export_AddressesAttributesMap",array(
|
160 |
-
'map_transporter' => $tMapTransporter
|
161 |
-
));
|
162 |
-
|
163 |
-
if ($tMapTransporter->isMod()){
|
164 |
-
$address_attribute_map = $tMapTransporter->getMap();
|
165 |
-
}
|
166 |
-
|
167 |
-
$attributesCustomer = $this->helper->getAttributesForEntityType('customer',
|
168 |
-
array_keys($attribute_map));
|
169 |
-
$this->fAttributesMap = array_flip($attribute_map);
|
170 |
-
$this->fAddressAttributes = array_flip($address_attribute_map);
|
171 |
-
|
172 |
-
$counter = 0;
|
173 |
-
$start = microtime(true);
|
174 |
-
$max = $this->_createCounterSubscribersInCustomersCollection()->getSize();
|
175 |
-
////$this->getTask()->setMaxValue($max);
|
176 |
-
Mage::helper("contactlab_commons")->logNotice(sprintf("Counting time: %0.4f", microtime(true) - $start));
|
177 |
-
|
178 |
-
$customKeys = array();
|
179 |
-
for ($ic = 1; $ic < 8; ++$ic) {
|
180 |
-
if (Mage::getStoreConfigFlag("contactlab_subscribers/custom_fields/enable_field_" . $ic)) {
|
181 |
-
$customKeys[] = Mage::getStoreConfig("contactlab_subscribers/custom_fields/field_" . $ic);
|
182 |
-
}
|
183 |
-
}
|
184 |
-
|
185 |
-
$start = microtime(true);
|
186 |
-
|
187 |
-
$limit = 50000;
|
188 |
-
$page = 1;
|
189 |
-
$preFilled = array_fill_keys(array_values($this->fAttributesMap), '');
|
190 |
-
$this->_addAddressFields($preFilled);
|
191 |
-
while (true) {
|
192 |
-
$subscribersInCustomers = $this->_createSubscribersInCustomersCollection($attributesCustomer);
|
193 |
-
$subscribersInCustomers->getSelect()->limitPage($page, $limit);
|
194 |
-
Mage::helper("contactlab_commons")->logDebug($subscribersInCustomers->getSelect()->assemble());
|
195 |
-
$found = false;
|
196 |
-
|
197 |
-
|
198 |
-
while ($item = $subscribersInCustomers->fetchItem()) {
|
199 |
-
$toFill = array();
|
200 |
-
$found = true;
|
201 |
-
$counter++;
|
202 |
-
$toFill['is_customer'] = 1;
|
203 |
-
if (!$item->hasData('uk')) {
|
204 |
-
$msg = sprintf("FATAL ERROR, %s subscriber has no UK record!", $item->getData('email'));
|
205 |
-
////$this->getTask()->addEvent($msg, true);
|
206 |
-
throw new Exception($msg);
|
207 |
-
}
|
208 |
-
$toFill['entity_id'] = $item->getData('uk');
|
209 |
-
|
210 |
-
$toFill = array_merge($toFill, $preFilled);
|
211 |
-
$toFill['email'] = $item->getData('email');
|
212 |
-
$this->_setAttributeKeys($toFill, $item);
|
213 |
-
$this->_setAddressesAttributeKeys($toFill, $item);
|
214 |
-
|
215 |
-
$this->_fillStoreAttributes($toFill, $item);
|
216 |
-
foreach ($this->statsAttributesMap as $k => $v) {
|
217 |
-
$toFill[$k] = $item->getData($v);
|
218 |
-
}
|
219 |
-
$this->_fillCustomerGroupAttributes($toFill, $item);
|
220 |
-
$this->_manageCustomerClsFlag($toFill, $item);
|
221 |
-
/** Custom rispetto alla versione originale del modulo */
|
222 |
-
$this->customizeInfoCustomer($toFill, $item);
|
223 |
-
|
224 |
-
foreach ($customKeys as $icKey) {
|
225 |
-
if (empty($icKey)) {
|
226 |
-
continue;
|
227 |
-
}
|
228 |
-
$icValue = $item->getData($icKey);
|
229 |
-
if (isset($toFill[$icKey]) && empty($toFill[$icKey]) && !empty($icValue)) {
|
230 |
-
$toFill[$icKey] = $icValue;
|
231 |
-
}
|
232 |
-
}
|
233 |
-
|
234 |
-
$this->found = true;
|
235 |
-
$this->customers++;
|
236 |
-
$writer = new XMLWriter();
|
237 |
-
$writer->openMemory();
|
238 |
-
$writer->setIndent(true);
|
239 |
-
$writer->startElement("RECORD");
|
240 |
-
$writer->writeAttribute('ACTION', 'U');
|
241 |
-
foreach ($toFill as $k => $v) {
|
242 |
-
|
243 |
-
if (empty($k)) {
|
244 |
-
continue;
|
245 |
-
}
|
246 |
-
if ($k !== $this->getSubscribedFlagName()) {
|
247 |
-
$k = strtoupper($this->getOutputTagName($k));
|
248 |
-
}
|
249 |
-
$writer->writeElement($k, $v);
|
250 |
-
}
|
251 |
-
$writer->endElement();
|
252 |
-
|
253 |
-
gzwrite($this->gz, $writer->outputMemory());
|
254 |
-
|
255 |
-
if ($counter % 2000 == 0) {
|
256 |
-
Mage::helper("contactlab_commons")->logNotice(sprintf("Exporting %6s / %-6s", $counter, $max));
|
257 |
-
//$this->getTask()->setProgressValue($counter);
|
258 |
-
}
|
259 |
-
}
|
260 |
-
$this->_setUkIsExported();
|
261 |
-
if (!$found) {
|
262 |
-
break;
|
263 |
-
}
|
264 |
-
$page++;
|
265 |
-
}
|
266 |
-
Mage::helper("contactlab_commons")->logNotice(sprintf("Loop time: %0.4f", microtime(true) - $start));
|
267 |
-
|
268 |
-
$this->_addNotCustomerRecords();
|
269 |
-
$this->_addDeletedRecords();
|
270 |
-
|
271 |
-
$this->_setUkIsExported();
|
272 |
-
|
273 |
-
Mage::helper("contactlab_commons")->flushDbProfiler();
|
274 |
-
if (!$this->found) {
|
275 |
-
////$this->getTask()->addEvent("No record exported or deleted");
|
276 |
-
} else {
|
277 |
-
if ($this->customers > 0) {
|
278 |
-
////$this->getTask()->addEvent(sprintf("%d customers exported", $this->customers));
|
279 |
-
}
|
280 |
-
if ($this->newsletterSubscribers > 0) {
|
281 |
-
////$this->getTask()->addEvent(sprintf("%d newsletter subscribers exported", $this->newsletterSubscribers));
|
282 |
-
}
|
283 |
-
if ($this->deleted > 0) {
|
284 |
-
////$this->getTask()->addEvent(sprintf("%d record deleted", $this->deleted));
|
285 |
-
}
|
286 |
-
}
|
287 |
-
}
|
288 |
-
|
289 |
-
/**
|
290 |
-
* Create subscribers in customers collection.
|
291 |
-
* @param Mage_Eav_Model_Resource_Entity_Attribute_Collection $attributesCustomer
|
292 |
-
* @return Mage_Customer_Model_Resource_Customer_Collection
|
293 |
-
*/
|
294 |
-
private function _createSubscribersInCustomersCollection(
|
295 |
-
Mage_Eav_Model_Resource_Entity_Attribute_Collection $attributesCustomer)
|
296 |
-
{
|
297 |
-
/**
|
298 |
-
* @var $subscribersInCustomers Mage_Customer_Model_Resource_Customer_Collection
|
299 |
-
*/
|
300 |
-
$rv = Mage::getModel('customer/customer')->getCollection();
|
301 |
-
// $w = 'subscriber_status = ' . Mage_Newsletter_Model_Subscriber::STATUS_SUBSCRIBED;
|
302 |
-
// $w = $this->_manageExportPolicySql($w, array(
|
303 |
-
// 'e#1' => 'updated_at',
|
304 |
-
// 'e#2' => 'created_at',
|
305 |
-
// $this->resource->getTableName('newsletter_subscriber') => 'last_updated_at'
|
306 |
-
// ));
|
307 |
-
|
308 |
-
|
309 |
-
// if (!$this->_mustExportNotSubscribed()) {
|
310 |
-
// $rv->getSelect()
|
311 |
-
// ->where('e.entity_id in (select customer_id from ' . $this->resource->getTableName('newsletter_subscriber')
|
312 |
-
// . ' where ' . $w . ')');
|
313 |
-
// }
|
314 |
-
|
315 |
-
// Fills array of types with attributes id array
|
316 |
-
foreach ($this->helper->fillBackendTypesFromArray($attributesCustomer) as $backendType => $ids) {
|
317 |
-
$alias = 'ce' . $backendType;
|
318 |
-
$w = 'e.entity_id = ' . $alias . '.entity_id and length(' . $alias . '.value) > 0 and '
|
319 |
-
. $alias . '.attribute_id IN (' . implode(',', $ids) . ')';
|
320 |
-
$rv->getSelect()->joinLeft(
|
321 |
-
array(
|
322 |
-
$alias => $this->resource->getTableName('customer_entity_' . $backendType)),
|
323 |
-
$w, array($backendType . '_value' => new Zend_Db_Expr('GROUP_CONCAT(DISTINCT CONCAT('
|
324 |
-
. $alias . ".attribute_id, '_', " .$alias. ".value) SEPARATOR '" . $this->limiter . "')")));
|
325 |
-
}
|
326 |
-
|
327 |
-
// Stats
|
328 |
-
$this->_addStatsToSelect($rv);
|
329 |
-
$this->_addAddressesToSelect($rv);
|
330 |
-
$this->_addCustomerGroupToSelect($rv);
|
331 |
-
$this->_manageExportPolicy($rv,
|
332 |
-
array(
|
333 |
-
'e' => array('created_at', 'updated_at'),
|
334 |
-
$this->resource->getTableName('newsletter_subscriber') => 'last_updated_at',
|
335 |
-
));
|
336 |
-
$this->_addCustomerExportCollection($rv);
|
337 |
-
$this->_addSubscriberFields($rv);
|
338 |
-
|
339 |
-
$rv->getSelect()->group('e.entity_id');
|
340 |
-
|
341 |
-
return $rv;
|
342 |
-
}
|
343 |
-
|
344 |
-
/**
|
345 |
-
* Create count subscribers in customers collection.
|
346 |
-
* @return Mage_Customer_Model_Resource_Customer_Collection
|
347 |
-
*/
|
348 |
-
private function _createCounterSubscribersInCustomersCollection()
|
349 |
-
{
|
350 |
-
/**
|
351 |
-
* @var $subscribersInCustomers Mage_Customer_Model_Resource_Customer_Collection
|
352 |
-
*/
|
353 |
-
$rv = Mage::getModel('customer/customer')->getCollection();
|
354 |
-
// $w = 'subscriber_status = ' . Mage_Newsletter_Model_Subscriber::STATUS_SUBSCRIBED;
|
355 |
-
// $w = $this->_manageExportPolicySql($w, array(
|
356 |
-
// 'e#1' => 'updated_at',
|
357 |
-
// 'e#2' => 'created_at',
|
358 |
-
// $this->resource->getTableName('newsletter_subscriber') => 'last_updated_at'
|
359 |
-
// ));
|
360 |
-
|
361 |
-
// if (!$this->_mustExportNotSubscribed()) {
|
362 |
-
// $rv->getSelect()
|
363 |
-
// ->where('e.entity_id in (select customer_id from ' . $this->resource->getTableName('newsletter_subscriber')
|
364 |
-
// . ' where ' . $w . ')');
|
365 |
-
// }
|
366 |
-
|
367 |
-
$this->_manageExportPolicy($rv,
|
368 |
-
array(
|
369 |
-
'e' => array('created_at', 'updated_at'),
|
370 |
-
$this->resource->getTableName('newsletter_subscriber') => 'last_updated_at',
|
371 |
-
));
|
372 |
-
$this->_addCustomerExportCollection($rv);
|
373 |
-
return $rv;
|
374 |
-
}
|
375 |
-
|
376 |
-
/**
|
377 |
-
* Called after the export.
|
378 |
-
*/
|
379 |
-
public function afterFileCopy() {
|
380 |
-
$this->helper->soapCallAfterExport($this->getTask());
|
381 |
-
}
|
382 |
-
|
383 |
-
/** Not customer records. */
|
384 |
-
private function _addNotCustomerRecords() {
|
385 |
-
Mage::helper("contactlab_commons")->logDebug("_addNotCustomerRecords");
|
386 |
-
$preFilled = array_fill_keys(array_values($this->fAttributesMap), '');
|
387 |
-
$this->_addAddressFields($preFilled);
|
388 |
-
$subscribersNotInCustomers = $this->_createSubscribersNotInCustomers();
|
389 |
-
$customKeys = array();
|
390 |
-
for ($ic = 1; $ic < 8; ++$ic) {
|
391 |
-
if (Mage::getStoreConfigFlag("contactlab_subscribers/custom_fields/enable_field_" . $ic)) {
|
392 |
-
$customKeys[] = Mage::getStoreConfig("contactlab_subscribers/custom_fields/field_" . $ic);
|
393 |
-
}
|
394 |
-
}
|
395 |
-
$counter = 0;
|
396 |
-
$max = $subscribersNotInCustomers->getSize();
|
397 |
-
////$this->getTask()->setMaxValue($max);
|
398 |
-
|
399 |
-
$limit = 200000;
|
400 |
-
$page = 1;
|
401 |
-
while (true) {
|
402 |
-
$subscribersNotInCustomers = $this->_createSubscribersNotInCustomers();
|
403 |
-
$subscribersNotInCustomers->getSelect()->limitPage($page, $limit);
|
404 |
-
Mage::helper("contactlab_commons")->logDebug($subscribersNotInCustomers->getSelect()->assemble());
|
405 |
-
$found = false;
|
406 |
-
|
407 |
-
while ($item = $subscribersNotInCustomers->fetchItem()) {
|
408 |
-
$counter++;
|
409 |
-
$found = true;
|
410 |
-
$toFill1 = array();
|
411 |
-
|
412 |
-
$toFill1['is_customer'] = 0;
|
413 |
-
if (!$item->hasData('uk')) {
|
414 |
-
$msg = sprintf("FATAL ERROR, %s customer has no UK record!", $item->getData('subscriber_email'));
|
415 |
-
//$this->getTask()->addEvent($msg, true);
|
416 |
-
throw new Exception($msg);
|
417 |
-
}
|
418 |
-
$toFill1['entity_id'] = $item->getData('uk');
|
419 |
-
|
420 |
-
$toFill = array_merge($toFill1, $preFilled);
|
421 |
-
$toFill['email'] = $item->getData('subscriber_email');
|
422 |
-
$this->_manageNewsletterClsFlag($toFill, $item);
|
423 |
-
$this->_fillStoreAttributes($toFill, $item);
|
424 |
-
$this->_fillNewsletterAttributes($toFill, $item);
|
425 |
-
/** Custom rispetto alla versione originale del modulo */
|
426 |
-
$this->customizeInfoSubscriber($toFill, $item);
|
427 |
-
|
428 |
-
foreach ($customKeys as $icKey) {
|
429 |
-
if (empty($icKey)) {
|
430 |
-
continue;
|
431 |
-
}
|
432 |
-
$icValue = $item->getData($icKey);
|
433 |
-
if (isset($toFill[$icKey]) && empty($toFill[$icKey]) && !empty($icValue)) {
|
434 |
-
$toFill[$icKey] = $icValue;
|
435 |
-
}
|
436 |
-
}
|
437 |
-
|
438 |
-
$this->found = true;
|
439 |
-
$this->newsletterSubscribers++;
|
440 |
-
$writer = new XMLWriter();
|
441 |
-
$writer->openMemory();
|
442 |
-
$writer->setIndent(true);
|
443 |
-
$writer->startElement("RECORD");
|
444 |
-
$writer->writeAttribute('ACTION', 'U');
|
445 |
-
foreach ($toFill as $k => $v) {
|
446 |
-
if (empty($k)) {
|
447 |
-
continue;
|
448 |
-
}
|
449 |
-
if ($k !== $this->getSubscribedFlagName()) {
|
450 |
-
$k = strtoupper($this->getOutputTagName($k));
|
451 |
-
}
|
452 |
-
$writer->writeElement($k, $v);
|
453 |
-
}
|
454 |
-
$writer->endElement();
|
455 |
-
gzwrite($this->gz, $writer->outputMemory());
|
456 |
-
if ($counter % 2000 == 0) {
|
457 |
-
Mage::helper("contactlab_commons")->logNotice(sprintf("Exporting %6s / %-6s", $counter, $max));
|
458 |
-
//$this->getTask()->setProgressValue($counter);
|
459 |
-
}
|
460 |
-
}
|
461 |
-
$this->_setUkIsExported();
|
462 |
-
if (!$found) {
|
463 |
-
break;
|
464 |
-
}
|
465 |
-
$page++;
|
466 |
-
}
|
467 |
-
}
|
468 |
-
|
469 |
-
|
470 |
-
/**
|
471 |
-
* Create subscribers not in customers.
|
472 |
-
* @return Contactlab_Template_Model_Resource_Newsletter_Subscriber_Collection
|
473 |
-
*/
|
474 |
-
private function _createSubscribersNotInCustomers()
|
475 |
-
{
|
476 |
-
/** @var $rv Contactlab_Template_Model_Resource_Newsletter_Subscriber_Collection */
|
477 |
-
$rv = Mage::getModel('contactlab_subscribers/uk')->getCollection();
|
478 |
-
$rv->addFieldToSelect(
|
479 |
-
array('uk' => 'entity_id', 'is_exported' => 'is_exported')
|
480 |
-
);
|
481 |
-
$this->_addSubscriberFields($rv, 'main_table');
|
482 |
-
$rv->getSelect()->joinLeft(
|
483 |
-
array('native_nl' => $this->resource->getTableName('newsletter/subscriber')),
|
484 |
-
'native_nl.subscriber_id = main_table.subscriber_id');
|
485 |
-
$this->_manageExportPolicy($rv,
|
486 |
-
array('native_nl' => 'last_updated_at'));
|
487 |
-
if (!$this->_mustExportNotSubscribed()) {
|
488 |
-
$rv->addFieldToFilter('native_nl.subscriber_status', Mage_Newsletter_Model_Subscriber::STATUS_SUBSCRIBED);
|
489 |
-
}
|
490 |
-
$rv->getSelect()->where('main_table.customer_id is null or main_table.customer_id = 0');
|
491 |
-
return $rv;
|
492 |
-
}
|
493 |
-
|
494 |
-
|
495 |
-
/**
|
496 |
-
* Add delete records.
|
497 |
-
*/
|
498 |
-
private function _addDeletedRecords() {
|
499 |
-
/** @var $deletedEntities Contactlab_Commons_Model_Resource_Deleted_Collection */
|
500 |
-
$deletedEntities = Mage::getModel('contactlab_commons/deleted')
|
501 |
-
->getCollection()
|
502 |
-
->addFieldToFilter('task_id', array('null' => true));
|
503 |
-
|
504 |
-
$counter = 0;
|
505 |
-
// FIXME TODO count vs getSize
|
506 |
-
$max = $deletedEntities->count();
|
507 |
-
|
508 |
-
Mage::helper("contactlab_commons")->logDebug($deletedEntities->getSelect()->assemble());
|
509 |
-
$this->deletedEntities = array();
|
510 |
-
$preFilled = array_fill_keys(array_keys($this->fAttributesMap), '');
|
511 |
-
$this->_addAddressFields($preFilled);
|
512 |
-
|
513 |
-
/** @var $deletedEntity Contactlab_Commons_Model_Deleted */
|
514 |
-
while ($deletedEntity = $deletedEntities->fetchItem()) {
|
515 |
-
$counter++;
|
516 |
-
$toFill1 = array();
|
517 |
-
|
518 |
-
$this->found = true;
|
519 |
-
$this->deleted++;
|
520 |
-
|
521 |
-
$toFill1['is_customer'] = $deletedEntity->getIsCustomer();
|
522 |
-
$toFill1['entity_id'] = $deletedEntity->getEntityId();
|
523 |
-
$toFill = array_merge($toFill1, $preFilled);
|
524 |
-
$toFill['email'] = $deletedEntity->getEmail();
|
525 |
-
/** Custom rispetto alla versione originale del modulo */
|
526 |
-
$this->customizeInfoDeleted($toFill, $deletedEntity);
|
527 |
-
|
528 |
-
|
529 |
-
$writer = new XMLWriter();
|
530 |
-
$writer->openMemory();
|
531 |
-
$writer->setIndent(true);
|
532 |
-
$writer->startElement("RECORD");
|
533 |
-
$writer->writeAttribute('ACTION', 'D');
|
534 |
-
foreach ($toFill as $k => $v) {
|
535 |
-
if ($k !== $this->getSubscribedFlagName()) {
|
536 |
-
$k = strtoupper($k);
|
537 |
-
}
|
538 |
-
$writer->writeElement($k, $v);
|
539 |
-
}
|
540 |
-
$writer->endElement();
|
541 |
-
gzwrite($this->gz, $writer->outputMemory());
|
542 |
-
/*
|
543 |
-
$deletedEntity->setTaskId($this->getTask()->getTaskId())->save();
|
544 |
-
if ($counter % 500 == 0) {
|
545 |
-
Mage::helper("contactlab_commons")->logNotice(sprintf("Exporting deleted %6s / %-6s", $counter, $max));
|
546 |
-
}
|
547 |
-
*/
|
548 |
-
}
|
549 |
-
}
|
550 |
-
|
551 |
-
/**
|
552 |
-
* Set addresses attribute keys.
|
553 |
-
* @param array $toFill
|
554 |
-
* @param Varien_Object $data
|
555 |
-
*/
|
556 |
-
private function _setAddressesAttributeKeys(array &$toFill, Varien_Object $data) {
|
557 |
-
$this->_setAddressAttributeKeys($toFill, $data, "shipping");
|
558 |
-
$this->_setAddressAttributeKeys($toFill, $data, "billing");
|
559 |
-
}
|
560 |
-
|
561 |
-
/**
|
562 |
-
* Do export address with type.
|
563 |
-
* @param string $addressType
|
564 |
-
* @return bool
|
565 |
-
*/
|
566 |
-
private function _mustExportAddress($addressType) {
|
567 |
-
return Mage::getStoreConfigFlag("contactlab_subscribers/global/export_" . $addressType . "_address");
|
568 |
-
}
|
569 |
-
|
570 |
-
/**
|
571 |
-
* Set address attribute keys.
|
572 |
-
* @param array $toFill
|
573 |
-
* @param Varien_Object $data
|
574 |
-
* @param $addressType
|
575 |
-
*/
|
576 |
-
private function _setAddressAttributeKeys(array &$toFill, Varien_Object $data, $addressType) {
|
577 |
-
if (!$this->_mustExportAddress($addressType)) {
|
578 |
-
return;
|
579 |
-
}
|
580 |
-
$entityTypes = array('int', 'varchar', 'text', 'decimal', 'datetime');
|
581 |
-
foreach ($entityTypes as $type) {
|
582 |
-
if (!array_key_exists($addressType . '_' . $type . '_value', $data->getData())) {
|
583 |
-
return;
|
584 |
-
}
|
585 |
-
$values = explode($this->limiter, $data->getData($addressType . '_' . $type . '_value'));
|
586 |
-
foreach ($values as $key) {
|
587 |
-
$pos = strpos($key, '_');
|
588 |
-
if ($pos === false) {
|
589 |
-
continue;
|
590 |
-
}
|
591 |
-
$k = substr($key, 0, $pos);
|
592 |
-
$v = substr($key, $pos + 1);
|
593 |
-
if (!array_key_exists($k, $this->addressAttributes)) {
|
594 |
-
continue;
|
595 |
-
}
|
596 |
-
$toFill[$addressType . '_' . $this->fAddressAttributes[$this->addressAttributes[$k]]] =
|
597 |
-
$this->helper->decode($this->addressModel, 'address', $this->addressAttributes[$k], $v);
|
598 |
-
}
|
599 |
-
}
|
600 |
-
}
|
601 |
-
|
602 |
-
/**
|
603 |
-
* Set attribute keys.
|
604 |
-
* @param array $toFill
|
605 |
-
* @param Varien_Object $data
|
606 |
-
*/
|
607 |
-
private function _setAttributeKeys(array &$toFill, Varien_Object $data) {
|
608 |
-
$entityTypes = array('int', 'varchar', 'text', 'decimal', 'datetime');
|
609 |
-
foreach ($entityTypes as $type) {
|
610 |
-
if (!array_key_exists($type . '_value', $data->getData())) {
|
611 |
-
continue;
|
612 |
-
}
|
613 |
-
$values = explode($this->limiter, $data->getData($type . '_value'));
|
614 |
-
foreach ($values as $key) {
|
615 |
-
$pos = strpos($key, '_');
|
616 |
-
if ($pos === false) {
|
617 |
-
continue;
|
618 |
-
}
|
619 |
-
$k = substr($key, 0, $pos);
|
620 |
-
$v = substr($key, $pos + 1);
|
621 |
-
if (!array_key_exists($k, $this->customerAttributes)) {
|
622 |
-
continue;
|
623 |
-
}
|
624 |
-
// use flipped array for cstm attributes
|
625 |
-
//$flip = array_flip($this->fAttributesMap);
|
626 |
-
//$toFill[$this->fAttributesMap[$this->customerAttributes[$k]]] =
|
627 |
-
// $toFill[$flip[$this->customerAttributes[$k]]] =
|
628 |
-
$toFill[$this->customerAttributes[$k]] =
|
629 |
-
$this->helper->decode($this->customerModel, 'customer', $this->customerAttributes[$k], $v);
|
630 |
-
}
|
631 |
-
}
|
632 |
-
|
633 |
-
}
|
634 |
-
|
635 |
-
/**
|
636 |
-
* Add store, group and website attributes.
|
637 |
-
* @param array $toFill
|
638 |
-
* @param Varien_Object $item
|
639 |
-
*/
|
640 |
-
private function _fillStoreAttributes(array &$toFill, Varien_Object $item) {
|
641 |
-
$store = $this->stores[$item->getData('store_id')];
|
642 |
-
foreach (array('store_id', 'store_name', 'website_id', 'website_name',
|
643 |
-
'group_id', 'group_name', 'lang') as $k) {
|
644 |
-
$toFill[$k] = $store[$k];
|
645 |
-
}
|
646 |
-
}
|
647 |
-
|
648 |
-
private function _fillCustomerGroupAttributes(array &$toFill, Varien_Object $item)
|
649 |
-
{
|
650 |
-
$toFill['customer_group_id'] = $item->getData('customer_group_id');
|
651 |
-
$toFill['customer_group_name'] = $item->getData('customer_group_name');
|
652 |
-
//FIX
|
653 |
-
$toFill['created_at'] = $item->getData('created_at');
|
654 |
-
}
|
655 |
-
|
656 |
-
/**
|
657 |
-
* Fill Newsletter attributes fields.
|
658 |
-
* @param array $toFill
|
659 |
-
* @param Varien_Object $item
|
660 |
-
*/
|
661 |
-
private function _fillNewsletterAttributes(array &$toFill, Varien_Object $item)
|
662 |
-
{
|
663 |
-
foreach ($this->helper->getSubscriberToCustomerAttributeMap() as $k => $v) {
|
664 |
-
if (!$this->_doManageAddressAttribute($v)) {
|
665 |
-
continue;
|
666 |
-
}
|
667 |
-
$toFill[$v] = $item->getData($k);
|
668 |
-
}
|
669 |
-
}
|
670 |
-
|
671 |
-
/**
|
672 |
-
* Add stats to collection.
|
673 |
-
* @param Varien_Data_Collection_Db $collection
|
674 |
-
*/
|
675 |
-
private function _addStatsToSelect(Varien_Data_Collection_Db $collection) {
|
676 |
-
$collection->getSelect()->joinLeft(
|
677 |
-
array('stats' => $this->resource->getTableName('contactlab_subscribers/stats')),
|
678 |
-
'stats.customer_id = e.entity_id', $this->statsAttributesMap);
|
679 |
-
}
|
680 |
-
|
681 |
-
/**
|
682 |
-
* Add customer export to collection.
|
683 |
-
* @param Varien_Data_Collection_Db $collection
|
684 |
-
*/
|
685 |
-
private function _addCustomerExportCollection(Varien_Data_Collection_Db $collection) {
|
686 |
-
if (!$this->_mustExportNotSubscribed()) {
|
687 |
-
$w = 'subscriber_status = ' . Mage_Newsletter_Model_Subscriber::STATUS_SUBSCRIBED;
|
688 |
-
$w = $this->_manageExportPolicySql($w, array(
|
689 |
-
'e#1' => 'updated_at',
|
690 |
-
'e#2' => 'created_at',
|
691 |
-
$this->resource->getTableName('newsletter_subscriber') => 'last_updated_at'
|
692 |
-
));
|
693 |
-
|
694 |
-
$collection->getSelect()->joinInner(
|
695 |
-
array('newsletter_subscriber' => $this->resource->getTableName('newsletter/subscriber')),
|
696 |
-
'newsletter_subscriber.customer_id = e.entity_id AND ' . $w,
|
697 |
-
array('subscriber_status' => 'subscriber_status'));
|
698 |
-
}else{
|
699 |
-
$collection->getSelect()->joinLeft(
|
700 |
-
array('newsletter_subscriber' => $this->resource->getTableName('newsletter/subscriber')),
|
701 |
-
'newsletter_subscriber.customer_id = e.entity_id',
|
702 |
-
array('subscriber_status' => 'subscriber_status'));
|
703 |
-
}
|
704 |
-
|
705 |
-
$collection->getSelect()->joinLeft(
|
706 |
-
array('uk' => $this->resource->getTableName('contactlab_subscribers/uk')),
|
707 |
-
'uk.customer_id = e.entity_id',
|
708 |
-
array('uk' => 'entity_id', 'is_exported' => 'is_exported'));
|
709 |
-
}
|
710 |
-
|
711 |
-
/**
|
712 |
-
* Add newsletter subscriber export to collection.
|
713 |
-
* @param Varien_Data_Collection_Db $collection
|
714 |
-
*/
|
715 |
-
private function _addNewsletterSubscriberExportCollection(Varien_Data_Collection_Db $collection) {
|
716 |
-
$collection->getSelect()->joinLeft(
|
717 |
-
array('uk' => $this->resource->getTableName('contactlab_subscribers/uk')),
|
718 |
-
'uk.subscriber_id = main_table.subscriber_id',
|
719 |
-
array('uk' => 'entity_id', 'is_exported' => 'is_exported'));
|
720 |
-
}
|
721 |
-
|
722 |
-
/**
|
723 |
-
* Add export policy to sql statement.
|
724 |
-
* @param Varien_Data_Collection_Db $collection
|
725 |
-
* @param array $fields
|
726 |
-
*/
|
727 |
-
private function _manageExportPolicy(Varien_Data_Collection_Db $collection,
|
728 |
-
array $fields) {
|
729 |
-
if ($this->exportPolicy != '2') {
|
730 |
-
// Ok, will export everything
|
731 |
-
return;
|
732 |
-
}
|
733 |
-
$lastExport = Mage::getStoreConfig('contactlab_subscribers/global/last_export');
|
734 |
-
if (empty($lastExport)) {
|
735 |
-
// Ok, will export everything, no last import saved.
|
736 |
-
return;
|
737 |
-
}
|
738 |
-
$clause = '';
|
739 |
-
//$lastExport = Mage::getModel("core/date")->gmtDate(null, $lastExport);
|
740 |
-
|
741 |
-
foreach ($fields as $table => $field) {
|
742 |
-
if (!is_array($field)) {
|
743 |
-
$field = array($field);
|
744 |
-
}
|
745 |
-
foreach ($field as $item) {
|
746 |
-
if (!empty($clause)) {
|
747 |
-
$clause .= ' or ';
|
748 |
-
}
|
749 |
-
$clause .= sprintf("%s.%s >= '%s'", $table, $item, $lastExport);
|
750 |
-
if (preg_match("/.*newsletter_subscriber.*/", $table)) {
|
751 |
-
$clause .= sprintf(" or (%s.%s is null and %s.subscriber_id is not null)", $table, $item, $table);
|
752 |
-
} else {
|
753 |
-
$clause .= sprintf(" or %s.%s is null", $table, $item);
|
754 |
-
}
|
755 |
-
}
|
756 |
-
}
|
757 |
-
$collection->getSelect()->where($clause);
|
758 |
-
}
|
759 |
-
|
760 |
-
/**
|
761 |
-
* Add export policy to sql statement.
|
762 |
-
* @param string $w
|
763 |
-
* @param array $fields
|
764 |
-
* @return string
|
765 |
-
*/
|
766 |
-
private function _manageExportPolicySql($w, array $fields) {
|
767 |
-
if ($this->exportPolicy != '2') {
|
768 |
-
// Ok, will export everything
|
769 |
-
return $w;
|
770 |
-
}
|
771 |
-
$lastExport = Mage::getStoreConfig('contactlab_subscribers/global/last_export');
|
772 |
-
if (empty($lastExport)) {
|
773 |
-
// Ok, will export everything, no last import saved.
|
774 |
-
return $w;
|
775 |
-
}
|
776 |
-
// $lastExport = Mage::getModel("core/date")->gmtDate(null, $lastExport);
|
777 |
-
|
778 |
-
$w .= ' and (';
|
779 |
-
$first = true;
|
780 |
-
foreach ($fields as $table => $field) {
|
781 |
-
$table = preg_replace('|#.*|', '', $table);
|
782 |
-
if (!is_array($field)) {
|
783 |
-
$field = array($field);
|
784 |
-
}
|
785 |
-
if (!$first) {
|
786 |
-
$w .= ' and ';
|
787 |
-
}
|
788 |
-
foreach ($field as $item) {
|
789 |
-
$w .= sprintf("%s.%s >= '%s'", $table, $item, $lastExport);
|
790 |
-
if (preg_match("/.*newsletter_subscriber.*/", $table)) {
|
791 |
-
$w .= sprintf(" or (%s.%s is null and %s.subscriber_id is not null)", $table, $item, $table);
|
792 |
-
} else {
|
793 |
-
$w .= sprintf(" or %s.%s is null", $table, $item);
|
794 |
-
}
|
795 |
-
}
|
796 |
-
$first = false;
|
797 |
-
}
|
798 |
-
$w .= ')';
|
799 |
-
return $w;
|
800 |
-
}
|
801 |
-
|
802 |
-
/**
|
803 |
-
* Add addresses to select
|
804 |
-
* @param Varien_Data_Collection_Db $collection
|
805 |
-
*/
|
806 |
-
private function _addAddressesToSelect(Varien_Data_Collection_Db $collection) {
|
807 |
-
$this->_addAddressToSelect($collection, "shipping");
|
808 |
-
$this->_addAddressToSelect($collection, "billing");
|
809 |
-
}
|
810 |
-
|
811 |
-
/**
|
812 |
-
* Add address to select.
|
813 |
-
* @param Varien_Data_Collection_Db $collection
|
814 |
-
* @param string $type
|
815 |
-
*/
|
816 |
-
private function _addAddressToSelect(Varien_Data_Collection_Db $collection, $type) {
|
817 |
-
if (!Mage::getStoreConfigFlag("contactlab_subscribers/global/export_" . $type . "_address")) {
|
818 |
-
return;
|
819 |
-
}
|
820 |
-
$collection->getSelect()->joinLeft(
|
821 |
-
array($type . '_addr' => $this->resource->getTableName('customer_entity_int')),
|
822 |
-
$type . '_addr.entity_id = e.entity_id and ' . $type . '_addr.attribute_id = '
|
823 |
-
. $this->helper->getAttributeId('customer', 'default_' . $type),
|
824 |
-
array('default_' . $type => 'value'));
|
825 |
-
|
826 |
-
// Fills array of types with attributes id array
|
827 |
-
$attributesAddress = $this->helper->getAttributesForEntityType('customer_address',
|
828 |
-
array_values($this->helper->getAddressesAttributesMap()));
|
829 |
-
foreach ($this->helper->fillBackendTypesFromArray($attributesAddress) as $backendType => $ids) {
|
830 |
-
$alias = 'ce' . $type . $backendType;
|
831 |
-
$w = $type . '_addr.value = ' . $alias . '.entity_id and length(' . $alias . '.value) > 0 and '
|
832 |
-
. $alias . '.attribute_id IN (' . implode(',', $ids) . ')';
|
833 |
-
$collection->getSelect()->joinLeft(
|
834 |
-
array(
|
835 |
-
$alias => $this->resource->getTableName('customer_address_entity_' . $backendType)),
|
836 |
-
$w, array($type . '_' . $backendType . '_value' => new Zend_Db_Expr('GROUP_CONCAT(DISTINCT CONCAT('
|
837 |
-
. $alias . ".attribute_id, '_', " .$alias. ".value) SEPARATOR '" . $this->limiter . "')")));
|
838 |
-
}
|
839 |
-
}
|
840 |
-
|
841 |
-
/**
|
842 |
-
* Remove deleted entity.
|
843 |
-
* @throws Exception
|
844 |
-
*/
|
845 |
-
private function _removeDeletedEntity() {
|
846 |
-
$toDelete = Mage::getModel('contactlab_commons/deleted')
|
847 |
-
->getCollection()
|
848 |
-
->addFieldToFilter('task_id', $this->getTask()->getTaskId());
|
849 |
-
|
850 |
-
$counter = 0;
|
851 |
-
$max = $toDelete->count();
|
852 |
-
|
853 |
-
Mage::helper("contactlab_commons")->logDebug($toDelete->getSelect()->assemble());
|
854 |
-
|
855 |
-
foreach ($toDelete as $item) {
|
856 |
-
$counter++;
|
857 |
-
$item->delete();
|
858 |
-
if ($counter % 500 == 0) {
|
859 |
-
Mage::helper("contactlab_commons")->logNotice(sprintf("Deleted %6s / %-6s", $counter, $max));
|
860 |
-
}
|
861 |
-
}
|
862 |
-
}
|
863 |
-
|
864 |
-
/**
|
865 |
-
* Load stores.
|
866 |
-
* @return array
|
867 |
-
*/
|
868 |
-
private function _loadStores() {
|
869 |
-
$rv = array();
|
870 |
-
$websiteTable = $this->resource->getTableName('core/website');
|
871 |
-
$storeGroupTable = $this->resource->getTableName('core/store_group');
|
872 |
-
|
873 |
-
/** @var Mage_Core_Model_Resource_Store_Collection $stores */
|
874 |
-
$stores = Mage::getModel('core/store')
|
875 |
-
->getCollection()->setLoadDefault(true);
|
876 |
-
$stores->addFieldToSelect('*')->getSelect()
|
877 |
-
->join(array('core_website' => $websiteTable),
|
878 |
-
'main_table.website_id = ' . 'core_website.website_id',
|
879 |
-
array('website_name' => 'core_website.name'))
|
880 |
-
->join(array('core_store_group' => $storeGroupTable),
|
881 |
-
'main_table.group_id = ' . 'core_store_group.group_id',
|
882 |
-
array('group_name' => 'core_store_group.name'));
|
883 |
-
/** @var $store Mage_Core_Model_Store */
|
884 |
-
foreach ($stores as $store) {
|
885 |
-
$storeId = $store->getData('store_id');
|
886 |
-
$rv[$storeId] = array(
|
887 |
-
'store_id' => $storeId,
|
888 |
-
'website_id' => $store->getData('website_id'),
|
889 |
-
'group_id' => $store->getData('group_id'),
|
890 |
-
'store_name' => $store->getData('mame'),
|
891 |
-
'website_name' => $store->getData('website_name'),
|
892 |
-
'group_name' => $store->getData('group_name'),
|
893 |
-
'lang' => $store->getConfig("general/locale/code"),
|
894 |
-
);
|
895 |
-
}
|
896 |
-
return $rv;
|
897 |
-
}
|
898 |
-
|
899 |
-
/**
|
900 |
-
* Do I have to export all contacts? Or only subscribed ones?
|
901 |
-
* @return bool
|
902 |
-
*/
|
903 |
-
private function _mustExportNotSubscribed() {
|
904 |
-
return Mage::getStoreConfigFlag("contactlab_subscribers/global/export_not_subscribed");
|
905 |
-
}
|
906 |
-
|
907 |
-
/**
|
908 |
-
* Do I have to reset export dates before export?
|
909 |
-
* @return bool
|
910 |
-
*/
|
911 |
-
/*
|
912 |
-
private function _mustResetExportDates() {
|
913 |
-
return Mage::getStoreConfigFlag("contactlab_subscribers/global/reset_export_dates_before_next_export");
|
914 |
-
}
|
915 |
-
*/
|
916 |
-
|
917 |
-
private function _mustResetExportDates() {
|
918 |
-
return Mage::getStoreConfig("contactlab_subscribers/global/reset_export_dates_before_next_export");
|
919 |
-
}
|
920 |
-
|
921 |
-
/**
|
922 |
-
* Reset reset export flg.
|
923 |
-
*/
|
924 |
-
private function _resetMustResetExportDatesFlag() {
|
925 |
-
Mage::helper("contactlab_commons")->logDebug("Reset reset_export_dates_before_next_export flag");
|
926 |
-
Mage::getConfig()
|
927 |
-
->saveConfig('contactlab_subscribers/global/reset_export_dates_before_next_export', '0');
|
928 |
-
Mage::getConfig()->reinit();
|
929 |
-
Mage::app()->reinitStores();
|
930 |
-
}
|
931 |
-
|
932 |
-
private function _resetExportDates() {
|
933 |
-
$tableName = $this->resource->getTableName('contactlab_subscribers/uk');
|
934 |
-
$this->_query("update $tableName set is_exported = 0;");
|
935 |
-
}
|
936 |
-
|
937 |
-
/**
|
938 |
-
* Run custom query.
|
939 |
-
* @param $sql
|
940 |
-
* @return Zend_Db_Statement_Interface
|
941 |
-
*/
|
942 |
-
private function _query($sql) {
|
943 |
-
$write = Mage::getSingleton('core/resource')->getConnection('core_write');
|
944 |
-
return $write->query($sql);
|
945 |
-
}
|
946 |
-
|
947 |
-
|
948 |
-
/** Get subscription flag name. */
|
949 |
-
public function getSubscribedFlagName() {
|
950 |
-
return Mage::getStoreConfig("contactlab_subscribers/global/subscribed_flag_name");
|
951 |
-
}
|
952 |
-
|
953 |
-
/**
|
954 |
-
* Manage if include CLS tag and his value.
|
955 |
-
* Fill the persistence table.
|
956 |
-
* @param array $toFill
|
957 |
-
* @param Varien_Object $item
|
958 |
-
*/
|
959 |
-
private function _manageCustomerClsFlag(array &$toFill, Varien_Object $item) {
|
960 |
-
/* 1 = Subscribed
|
961 |
-
0 = Not subscribed
|
962 |
-
-1 = Unsubscribed
|
963 |
-
*/
|
964 |
-
if ($this->_manageClsFlag($toFill, $item)) {
|
965 |
-
if ($this->ukQuery != '') {
|
966 |
-
$this->ukQuery .= ', ';
|
967 |
-
}
|
968 |
-
$this->ukQuery .= $item->getData('uk');
|
969 |
-
}
|
970 |
-
}
|
971 |
-
|
972 |
-
/**
|
973 |
-
* Manage if include CLS tag and his value.
|
974 |
-
* Fill the persistence table.
|
975 |
-
* @param array $toFill
|
976 |
-
* @param Varien_Object $item
|
977 |
-
*/
|
978 |
-
private function _manageNewsletterClsFlag(array &$toFill, Varien_Object $item) {
|
979 |
-
if ($this->_manageClsFlag($toFill, $item, true)) {
|
980 |
-
if ($this->ukQuery != '') {
|
981 |
-
$this->ukQuery .= ', ';
|
982 |
-
}
|
983 |
-
$this->ukQuery .= $item->getData('uk');
|
984 |
-
}
|
985 |
-
}
|
986 |
-
|
987 |
-
/**
|
988 |
-
* Manage if include CLS tag and his value.
|
989 |
-
* Fill the persistence table.
|
990 |
-
* @param array $toFill
|
991 |
-
* @param Varien_Object $item
|
992 |
-
* @param bool $force
|
993 |
-
* @return bool
|
994 |
-
*/
|
995 |
-
private function _manageClsFlag(array &$toFill, Varien_Object $item, $force = false) {
|
996 |
-
// If processing record has (first) ExportDate, return.
|
997 |
-
if ($item->hasData('is_exported') && $item->getData('is_exported') == 1 && !$force) {
|
998 |
-
return false;
|
999 |
-
}
|
1000 |
-
$toFill[$this->getSubscribedFlagName()]
|
1001 |
-
= $item->getData('subscriber_status') == Mage_Newsletter_Model_Subscriber::STATUS_SUBSCRIBED
|
1002 |
-
? 1 : 0;
|
1003 |
-
return true;
|
1004 |
-
}
|
1005 |
-
|
1006 |
-
/**
|
1007 |
-
* Is enabled.
|
1008 |
-
* @return bool
|
1009 |
-
*/
|
1010 |
-
protected function isEnabled() {
|
1011 |
-
return Mage::helper("contactlab_subscribers")->isEnabled($this->getTask());
|
1012 |
-
}
|
1013 |
-
|
1014 |
-
/**
|
1015 |
-
* Get file name.
|
1016 |
-
* @return string
|
1017 |
-
*/
|
1018 |
-
/*
|
1019 |
-
protected function getFileName() {
|
1020 |
-
return Mage::getStoreConfig("contactlab_subscribers/global/export_filename");
|
1021 |
-
}
|
1022 |
-
*/
|
1023 |
-
protected function getFileName() {
|
1024 |
-
return Mage::getStoreConfig("contactlab_subscribers/global/export_filename");
|
1025 |
-
}
|
1026 |
-
|
1027 |
-
/**
|
1028 |
-
* Called after the export.
|
1029 |
-
*/
|
1030 |
-
public function afterExport() {
|
1031 |
-
$this->helper->saveLastExportDatetime($this->getTask());
|
1032 |
-
$this->_removeDeletedEntity();
|
1033 |
-
if ($this->_mustResetExportDates()) {
|
1034 |
-
$this->_resetMustResetExportDatesFlag();
|
1035 |
-
}
|
1036 |
-
}
|
1037 |
-
|
1038 |
-
/**
|
1039 |
-
* Set uk is exported.
|
1040 |
-
*/
|
1041 |
-
private function _setUkIsExported()
|
1042 |
-
{
|
1043 |
-
if ($this->ukQuery != "") {
|
1044 |
-
$tableName = $this->resource->getTableName('contactlab_subscribers/uk');
|
1045 |
-
$this->ukQuery = "update $tableName set is_exported = 1 where entity_id in ({$this->ukQuery})";
|
1046 |
-
$this->_query($this->ukQuery);
|
1047 |
-
$this->ukQuery = "";
|
1048 |
-
}
|
1049 |
-
}
|
1050 |
-
|
1051 |
-
/**
|
1052 |
-
* Add subscriber fields.
|
1053 |
-
* @param Varien_Data_Collection_Db $collection
|
1054 |
-
* @param string $table Table name for join
|
1055 |
-
* @return Varien_Db_Select
|
1056 |
-
*/
|
1057 |
-
private function _addSubscriberFields(Varien_Data_Collection_Db $collection, $table = 'newsletter_subscriber')
|
1058 |
-
{
|
1059 |
-
return $collection->getSelect()->joinLeft(
|
1060 |
-
array('fields' => $this->resource->getTableName('contactlab_subscribers/newsletter_subscriber_fields')),
|
1061 |
-
"fields.subscriber_id = $table.subscriber_id"
|
1062 |
-
);
|
1063 |
-
}
|
1064 |
-
|
1065 |
-
/**
|
1066 |
-
* Do include this field into xml element?
|
1067 |
-
* @param String $attributeCode
|
1068 |
-
* @return bool
|
1069 |
-
*/
|
1070 |
-
private function _doManageAddressAttribute($attributeCode)
|
1071 |
-
{
|
1072 |
-
if (preg_match('|^billing_|', $attributeCode)) {
|
1073 |
-
return $this->_mustExportAddress('billing');
|
1074 |
-
} else if (preg_match('|^shipping|', $attributeCode)) {
|
1075 |
-
return $this->_mustExportAddress('shipping');
|
1076 |
-
}
|
1077 |
-
return true;
|
1078 |
-
}
|
1079 |
-
|
1080 |
-
/**
|
1081 |
-
* Add address fields.
|
1082 |
-
* @param array $preFilled
|
1083 |
-
*/
|
1084 |
-
private function _addAddressFields(array &$preFilled)
|
1085 |
-
{
|
1086 |
-
foreach (array('billing', 'shipping') as $addressType) {
|
1087 |
-
if ($this->_mustExportAddress($addressType)) {
|
1088 |
-
foreach ($this->fAddressAttributes as $k) {
|
1089 |
-
$preFilled[$addressType . '_' . $k] = '';
|
1090 |
-
}
|
1091 |
-
}
|
1092 |
-
}
|
1093 |
-
}
|
1094 |
-
|
1095 |
-
/**
|
1096 |
-
* @param Varien_Data_Collection_Db $collection
|
1097 |
-
* @return Varien_Db_Select
|
1098 |
-
*/
|
1099 |
-
private function _addCustomerGroupToSelect(Varien_Data_Collection_Db $collection)
|
1100 |
-
{
|
1101 |
-
return $collection->getSelect()->joinInner(
|
1102 |
-
array(
|
1103 |
-
'customer_group' => $this->resource->getTableName('customer/customer_group')
|
1104 |
-
),
|
1105 |
-
"customer_group.customer_group_id = e.group_id",
|
1106 |
-
array(
|
1107 |
-
'customer_group_name' => 'customer_group_code',
|
1108 |
-
'customer_group_id' => 'customer_group_id'
|
1109 |
-
)
|
1110 |
-
);
|
1111 |
-
}
|
1112 |
-
|
1113 |
-
/**
|
1114 |
-
* Use destination field name for cstm fields
|
1115 |
-
* @param $k
|
1116 |
-
* @return mixed
|
1117 |
-
*/
|
1118 |
-
private function getOutputTagName($k) {
|
1119 |
-
if (isset($this->fAttributesMap[$k]) && strpos($k, 'cstm') === 0) {
|
1120 |
-
return $this->fAttributesMap[$k];
|
1121 |
-
}
|
1122 |
-
return $k;
|
1123 |
-
}
|
1124 |
-
|
1125 |
-
/**
|
1126 |
-
* Custom rispetto alla versione originale del modulo
|
1127 |
-
*/
|
1128 |
-
protected function customizeInfoCustomer(array &$toFill, Varien_Object $customer){
|
1129 |
-
$tCustInfo = Mage::getModel('contactlab_subscribers/exporter_subscribers_infoTransporter_customer');
|
1130 |
-
$tCustInfo->setInfo($toFill);
|
1131 |
-
$tCustInfo->setCustomer($customer);
|
1132 |
-
$tCustInfo->setIsMod(false);
|
1133 |
-
|
1134 |
-
Mage::dispatchEvent("contactlab_export_subscribers_customer_info",array(
|
1135 |
-
'customer_info' => $tCustInfo
|
1136 |
-
));
|
1137 |
-
|
1138 |
-
if ($tCustInfo->isMod()){
|
1139 |
-
$toFill = $tCustInfo->getInfo();
|
1140 |
-
}
|
1141 |
-
}
|
1142 |
-
|
1143 |
-
|
1144 |
-
/**
|
1145 |
-
* Custom rispetto alla versione originale del modulo
|
1146 |
-
*/
|
1147 |
-
protected function customizeInfoDeleted(array &$toFill, Varien_Object $deleted){
|
1148 |
-
$tDeletedInfo = Mage::getModel('contactlab_subscribers/exporter_subscribers_infoTransporter_deleted');
|
1149 |
-
$tDeletedInfo->setInfo($toFill);
|
1150 |
-
$tDeletedInfo->setDeleted($deleted);
|
1151 |
-
$tDeletedInfo->setIsMod(false);
|
1152 |
-
|
1153 |
-
Mage::dispatchEvent("contactlab_export_subscribers_deleted_info",array(
|
1154 |
-
'deleted_info' => $tDeletedInfo
|
1155 |
-
));
|
1156 |
-
|
1157 |
-
if ($tDeletedInfo->isMod()){
|
1158 |
-
$toFill = $tDeletedInfo->getInfo();
|
1159 |
-
}
|
1160 |
-
}
|
1161 |
-
|
1162 |
-
|
1163 |
-
/**
|
1164 |
-
* Custom rispetto alla versione originale del modulo
|
1165 |
-
*/
|
1166 |
-
protected function customizeInfoSubscriber(array &$toFill, Varien_Object $subscriber){
|
1167 |
-
$tSubscriberInfo = Mage::getModel('contactlab_subscribers/exporter_subscribers_infoTransporter_subscriber');
|
1168 |
-
$tSubscriberInfo->setInfo($toFill);
|
1169 |
-
$tSubscriberInfo->setSubscriber($subscriber);
|
1170 |
-
$tSubscriberInfo->setIsMod(false);
|
1171 |
-
|
1172 |
-
Mage::dispatchEvent("contactlab_export_subscribers_subscriber_info",array(
|
1173 |
-
'subscriber_info' => $tSubscriberInfo
|
1174 |
-
));
|
1175 |
-
|
1176 |
-
if ($tSubscriberInfo->isMod()){
|
1177 |
-
$toFill = $tSubscriberInfo->getInfo();
|
1178 |
-
}
|
1179 |
-
}
|
1180 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/Contactlab/Subscribers/Model/Soap/SetSubscriptionStatus.php
CHANGED
@@ -31,8 +31,7 @@ class Contactlab_Subscribers_Model_Soap_SetSubscriptionStatus extends Contactlab
|
|
31 |
$modifySubscriberSubscriptionStatus->token = $this->getAuthToken();
|
32 |
$modifySubscriberSubscriptionStatus->webFormCode = $this->getConfig("contactlab_subscribers/global/web_form_code");
|
33 |
$modifySubscriberSubscriptionStatus->subscriberIdentifier = $subscriber->identifier;
|
34 |
-
$modifySubscriberSubscriptionStatus->isSubscribed = $this->getSubscriberStatus() ? 1 : 0;
|
35 |
-
|
36 |
$rv = $this->getClient()->modifySubscriberSubscriptionStatus($modifySubscriberSubscriptionStatus);
|
37 |
|
38 |
return $rv;
|
31 |
$modifySubscriberSubscriptionStatus->token = $this->getAuthToken();
|
32 |
$modifySubscriberSubscriptionStatus->webFormCode = $this->getConfig("contactlab_subscribers/global/web_form_code");
|
33 |
$modifySubscriberSubscriptionStatus->subscriberIdentifier = $subscriber->identifier;
|
34 |
+
$modifySubscriberSubscriptionStatus->isSubscribed = $this->getSubscriberStatus() ? 1 : 0;
|
|
|
35 |
$rv = $this->getClient()->modifySubscriberSubscriptionStatus($modifySubscriberSubscriptionStatus);
|
36 |
|
37 |
return $rv;
|
app/code/community/Contactlab/Subscribers/etc/config.xml
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
<config>
|
3 |
<modules>
|
4 |
<Contactlab_Subscribers>
|
5 |
-
<version>1.2.
|
6 |
<description>Subscriber sync Magento/ContactLab and ContactLab/Magento.</description>
|
7 |
</Contactlab_Subscribers>
|
8 |
</modules>
|
2 |
<config>
|
3 |
<modules>
|
4 |
<Contactlab_Subscribers>
|
5 |
+
<version>1.2.2</version>
|
6 |
<description>Subscriber sync Magento/ContactLab and ContactLab/Magento.</description>
|
7 |
</Contactlab_Subscribers>
|
8 |
</modules>
|
app/code/community/Contactlab/Subscribers/sql/contactlab_subscribers_setup/{upgrade-0.8.8-1.2.0.php → mysql4-upgrade-1.2.0-1.2.2.php}
RENAMED
File without changes
|
app/code/community/Contactlab/Template/Model/Newsletter/Processor/Cart.php
CHANGED
@@ -81,7 +81,9 @@ class Contactlab_Template_Model_Newsletter_Processor_Cart extends Contactlab_Tem
|
|
81 |
* @param array $item
|
82 |
* @return string
|
83 |
*/
|
84 |
-
public function getPriceFor(Mage_Catalog_Model_Product $product, array $item)
|
85 |
-
|
|
|
|
|
86 |
}
|
87 |
}
|
81 |
* @param array $item
|
82 |
* @return string
|
83 |
*/
|
84 |
+
public function getPriceFor(Mage_Catalog_Model_Product $product, array $item)
|
85 |
+
{
|
86 |
+
$store = Mage::getModel('core/store')->load($product->getStoreId());
|
87 |
+
return $store->formatPrice(floatval($item[3]));
|
88 |
}
|
89 |
}
|
app/code/community/Contactlab/Template/Model/Newsletter/Processor/Filter/Cart/Products.php
CHANGED
@@ -30,8 +30,8 @@ class Contactlab_Template_Model_Newsletter_Processor_Filter_Cart_Products
|
|
30 |
$collection->getSelect()->join(
|
31 |
array('cart_items' => $cartItem),
|
32 |
'cart_items.quote_id = cart.entity_id and cart_items.parent_item_id is null',
|
33 |
-
array('product_ids' => 'GROUP_CONCAT(concat(product_id, \'|\', qty, \'|\', item_id, \'|\',
|
34 |
-
. ' ORDER BY
|
35 |
|
36 |
$collection->getSelect()->group("$mainTable.$field");
|
37 |
|
30 |
$collection->getSelect()->join(
|
31 |
array('cart_items' => $cartItem),
|
32 |
'cart_items.quote_id = cart.entity_id and cart_items.parent_item_id is null',
|
33 |
+
array('product_ids' => 'GROUP_CONCAT(concat(product_id, \'|\', qty, \'|\', item_id, \'|\', row_total_incl_tax, \'|\', quote_currency_code)'
|
34 |
+
. ' ORDER BY row_total_incl_tax desc SEPARATOR \',\')'));
|
35 |
|
36 |
$collection->getSelect()->group("$mainTable.$field");
|
37 |
|
app/code/community/Contactlab/Template/Model/Newsletter/Template.php
CHANGED
@@ -225,8 +225,8 @@ class Contactlab_Template_Model_Newsletter_Template extends Mage_Newsletter_Mode
|
|
225 |
* @param string[] $item
|
226 |
* @return string
|
227 |
*/
|
228 |
-
public function getPriceFor(Mage_Catalog_Model_Product $product, array $item, $storeId) {
|
229 |
-
|
230 |
}
|
231 |
|
232 |
/**
|
225 |
* @param string[] $item
|
226 |
* @return string
|
227 |
*/
|
228 |
+
public function getPriceFor(Mage_Catalog_Model_Product $product, array $item, $storeId) {
|
229 |
+
return $this->getTemplateQueueProcessor($storeId)->getPriceFor($product->setStoreId($storeId), $item);
|
230 |
}
|
231 |
|
232 |
/**
|
app/design/frontend/base/default/layout/contactlab/layout.xml
DELETED
@@ -1,10 +0,0 @@
|
|
1 |
-
<?xml version="1.0" encoding="UTF-8"?>
|
2 |
-
<layout version="0.1.0">
|
3 |
-
<catalog_product_view>
|
4 |
-
<reference name="head">
|
5 |
-
<block type="core/text" name="your_external_file">
|
6 |
-
<action method="setText"><text><![CDATA[<script>console.log("ContactHub EventTracker loaded.");</script>]]></text></action>
|
7 |
-
</block>
|
8 |
-
</reference>
|
9 |
-
</catalog_product_view>
|
10 |
-
</layout>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
package.xml
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Contactlab_Modules</name>
|
4 |
-
<version>2.5.
|
5 |
<stability>stable</stability>
|
6 |
<license uri="https://opensource.org/licenses/osl-3.0.php">OSL v. 3.0</license>
|
7 |
<channel>community</channel>
|
@@ -25,11 +25,13 @@ The plugin makes it easier to manage:</p>
|
|
25 |
</ul>
|
26 |

|
27 |
<p>ContactLab Connect for Magento has been developed in collaboration with WebFormat</p></description>
|
28 |
-
<notes>-
|
|
|
|
|
29 |
<authors><author><name>ContactLab</name><user>ContactLab</user><email>magento@contactlab.com</email></author></authors>
|
30 |
-
<date>2017-
|
31 |
-
<time>
|
32 |
-
<contents><target name="magecommunity"><dir name="Contactlab"><dir name="Commons"><dir name="Block"><dir name="Adminhtml"><file name="Backend.php" hash="208c57c38069bb462ea48b56c753bd83"/><file name="ConfigurationCheck.php" hash="38a0b3ef316c0b153aaccbc0928b7a20"/><dir name="Email"><file name="Template.php" hash="2503b51a4988bb892df330f2de75b92e"/></dir><dir name="Events"><file name="Grid.php" hash="ada058c87141c94b6584f2206957941d"/><dir name="Renderer"><file name="Alert.php" hash="80c8911038197b7de34c75d87d453b82"/><file name="Status.php" hash="01038685dbcb692daae047aa45b336d8"/></dir></dir><file name="Events.php" hash="3230a203addb6dc02f5eb995ddd66f23"/><dir name="Logs"><file name="Grid.php" hash="1a1a51b5791d2df97890553d536260e4"/><dir name="Renderer"><file name="Datetime.php" hash="f7f23deac1c9871674ecde594ba742b8"/><file name="Default.php" hash="6f81d70e10fdaf42035a53323f82bb40"/><file name="Level.php" hash="a2b58d0549cacad4b83ca0ae52fd978e"/></dir></dir><file name="Logs.php" hash="f24ba62587734880d7046d4ed01bbfae"/><file name="ReleaseNotes.php" hash="5108bca563cc734f44ed05c609c8738e"/><dir name="Tasks"><file name="Grid.php" hash="a129b2010f71e024d4dbbfd34fb91a71"/><file name="Js.php" hash="308756573ad11f22f1fc634727aaa297"/><dir name="Renderer"><file name="Actions.php" hash="4f1d165274caa1785b295e7e44ca0e22"/><file name="Model.php" hash="b129b6489c9ba09a20204a52cec78dd0"/><file name="Store.php" hash="3f12cf3aa32981ce9a5a4043a88962fd"/><file name="Task.php" hash="afcc58d833d4ac7c12d6409d8b075154"/></dir><file name="Status.php" hash="55dfcd7cbcaa54bc142b6d403481d170"/></dir><file name="Tasks.php" hash="5f0a04ff580ee2e0f6a919d121baa173"/><file name="Test.php" hash="a032f1ca4929077d737f8b34f82830d8"/><file name="Version.php" hash="dd64372d7bf8d9024e00f2ee213c126c"/><dir name="Widget"><file name="Button.php" hash="ca124e5a2dbaf35d2eb454a268d1ad9b"/></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="34786d704ec107433ba368e734cbf489"/><file name="Tasks.php" hash="2bdaacf98e693d795f965e6c07511e22"/></dir><dir name="Model"><file name="AbstractImportExport.php" hash="6abe068d2db8b667ee9064de7152540e"/><file name="Cron.php" hash="159ffc14f91413b35bc6085c0e2a8e86"/><file name="Deleted.php" hash="a57a201093d020ee85181c4600a7c0d8"/><dir name="Exporter"><file name="Abstract.php" hash="a4ff7629df2cc6326c97e991876a648a"/></dir><dir name="Importer"><file name="Abstract.php" hash="b9dac66ceee0e8d2b5385a6146896964"/></dir><file name="Log.php" hash="46bb074eaf00740124c76b88a91feb03"/><dir name="Resource"><dir name="Deleted"><file name="Collection.php" hash="ed85c763c9a81cb7137a9ec474f5e584"/></dir><file name="Deleted.php" hash="a1ae6a673ffe458414a866f4eb0c0d67"/><dir name="Log"><file name="Collection.php" hash="8bd275a0a40912ab2e71b39d6c37a9e2"/></dir><file name="Log.php" hash="449af875b530177e7203d2d40560237f"/><dir name="Task"><file name="Collection.php" hash="28142a650451964b7340fba61a638771"/><dir name="Event"><file name="Collection.php" hash="27dbdf551a8947950d4794fb6b540ded"/></dir><file name="Event.php" hash="5faa0f50bc41214b65bd2a25438b4446"/></dir><file name="Task.php" hash="f7ebd23a179e563b23a9c68928c10ed0"/></dir><dir name="Soap"><file name="AbstractCall.php" hash="18ec6d30d5a23b8e4cc50913a7aecd56"/><file name="GetSubscriberDataExchangeStatus.php" hash="c14f250f73d38968d257b3af0f770ff7"/></dir><dir name="Ssh"><dir name="Crypt"><file name="AES.php" hash="824d082091d59b96fd5a74cef656f2f3"/><file name="Blowfish.php" hash="abd7684db5565dce87b214952b50ed9b"/><file name="DES.php" hash="dff9541235b415780ff167b3ed87ac51"/><file name="Hash.php" hash="0a737a969906cbb12f33d41a678ec9ee"/><file name="RC4.php" hash="54d20f521a8c030a2f32fecbb9fa33b9"/><file name="RSA.php" hash="8e81a0e6c764f5069d5d9ccd825fd064"/><file name="Random.php" hash="25402099262c9b3bd9e2ca9811bc8bc8"/><file name="Rijndael.php" hash="4305e82b0a611c07c0bfe99ccdeb9951"/><file name="TripleDES.php" hash="d4b18ac4603c5b0a4c3a7e2b98ba2f52"/><file name="Twofish.php" hash="f9df605ad32f18b447c2fdf1701563bc"/></dir><dir name="File"><file name="ANSI.php" hash="42228165075cb2f138c6d4b9ddf334de"/><file name="ASN1.php" hash="3bd220eb6b134a5a56cb311737276dd1"/><file name="X509.php" hash="39b4f6b23f554485a7607382078412e2"/></dir><dir name="Math"><file name="BigInteger.php" hash="22d91d824950758858e43d58d9c0fc3a"/></dir><dir name="Net"><file name="SCP.php" hash="9d455f260731d1e544ab1d3303785188"/><dir name="SFTP"><file name="Stream.php" hash="116f7d549a19071fd301ed677a3dd4c7"/></dir><file name="SFTP.php" hash="7a002a4a8562683108aa0748095b2856"/><file name="SSH1.php" hash="f8a733d63b37063f1e84ed2f557db076"/><file name="SSH2.php" hash="e2875fa03af2498afd35772521933a7c"/></dir><file name="openssl.cnf" hash="0f1015cb8894127a94a05afa7cc23760"/></dir><dir name="System"><dir name="Config"><dir name="Source"><dir name="Connection"><file name="Type.php" hash="335493d8aeb1016a98d9716469ffb1e7"/></dir></dir></dir></dir><dir name="Task"><file name="Abstract.php" hash="2efaf1050a1a2607682c4da92ac93bd3"/><file name="Event.php" hash="2f29caaf7f904894e327d5a2701d79c7"/><file name="Interface.php" hash="9f491f0c940f405fca8ddc18a507deae"/><file name="TestRunner.php" hash="f4f22da5b45a585f8f91540f27dff65b"/></dir><file name="Task.php" hash="fd29e79822219c1b1422dd074e2868c9"/></dir><dir name="Test"><dir name="Helper"><file name="Data.php" hash="7a7cf6f101d563ece6a669fda96bcc49"/></dir><dir name="resources"><file name="composer.json" hash="fab8c2bb9f09a1f10da3725dd8e51d48"/><file name="contactlab_db.sql.gz" hash="c1e2185f60a7b81fb80fbe0cb92f12bb"/><file name="local.xml" hash="315270d1f7d0a42ed4a5a756fc97fda7"/></dir></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Contactlab"><dir name="Commons"><file name="ConfigurationCheckController.php" hash="2c801d4f90682d530c64ce90c13ad431"/><file name="EventsController.php" hash="dbe781ee96287eb5af21723cd212bf18"/><file name="LogsController.php" hash="54ec270e5fa8ce90222e0fa7627771f1"/><file name="ReleaseNotesController.php" hash="15becd0b614d49f53f10bd45bb53fd73"/><file name="TasksController.php" hash="9740ba3003e3748ceb21856aa18e21cf"/><file name="TestController.php" hash="0cfb06b753d20de75cc06187a7d06e63"/></dir></dir></dir></dir><dir name="docs"><dir name="example-config"><file name="contactlab-local.xml" hash="93f33812b0b1cdb362340c910340707b"/><file name="contactlab.xml" hash="57902122d66b5d7bb7330d81911e1a6e"/></dir><dir name="release-notes"><file name="0.8.10-20150116.html" hash="54b37d0590df5f093d9334b2f73cbac4"/><file name="0.8.12.html" hash="26043d9aa4382398177b5b2295c4f067"/><file name="0.8.13.html" hash="e9bf17af343bfd0931eed6c2f6f0273e"/><file name="0.8.14.html" hash="2d87675e13144be97952e36a757f2811"/><file name="0.8.15.html" hash="41375887fbde15eb7577e0bb4bada0e2"/><file name="0.8.16.html" hash="1c1b11a533bfa26187892946bfd7f339"/><file name="0.8.17.html" hash="277597117d81d75a3cab78ba2fe6ad23"/><file name="0.9.0.html" hash="58b3590294904915d3e12e9caf697d2e"/><file name="1.0.0.html" hash="f48f9b999929433e2aeedc263f2571bf"/></dir></dir><dir name="etc"><file name="Contactlab_Commons.xml" hash="bfd174f2535b432589bff0f4fc81ecec"/><file name="adminhtml.xml" hash="460f3ff0ebf20c55d0cfa94429481402"/><file name="config.xml" hash="573464276057d301ddebc3436a102453"/><file name="system.xml" hash="ad0e508dfb1d77131bc69e796c16f024"/></dir><dir name="sql"><dir name="contactlab_commons_setup"><file name="install-0.8.0.php" hash="46661857fcf01cbe2cde396924f47f61"/><file name="mysql4-install-0.8.0.php" hash="83032fadee6577e80844079adc580c97"/><file name="upgrade-0.8.0-0.8.1.php" hash="d963ac18fd5150a697280c445715ef3d"/><file name="upgrade-0.8.1-0.8.2.php" hash="d2dc6cb4e61becd440e0aa1ef86741ab"/><file name="upgrade-0.8.13-0.8.14.php" hash="f02787989dabc30d3eddfa39e8c96d03"/><file name="upgrade-0.8.2-0.8.3.php" hash="fbc0488645da03c2cc86305a348ee067"/><file name="upgrade-0.8.3-0.8.4.php" hash="9caf4bed86e90f29ef7abaad0c172cd2"/><file name="upgrade-1.0.0-1.0.1.php" hash="22bbf46398b73475ef1e367a9377c834"/></dir></dir></dir><dir name="Subscribers"><dir name="Block"><dir name="Adminhtml"><file name="Export.php" hash="dbbc2d51a507bf3a4b7aaaf006b2e9c4"/></dir><dir name="Newsletter"><dir name="Subscribers"><file name="Modify.php" hash="9011a378b053f6363b38de63e448da82"/><file name="Subscribe.php" hash="32873e816417af84e88016af6b36a2ba"/><file name="Update.php" hash="563e0dfa5d463d763f21356f2438aa38"/></dir></dir></dir><dir name="Helper"><file name="Checks.php" hash="999b92aac7be891bc67e24f907870caa"/><file name="Data.php" hash="70d6a682392e64be00c6a71238092500"/><file name="Exporter.php" hash="12043ac3f7ae14bd7084b740cca51a7a"/><file name="Uk.php" hash="6d50c16ef3ce7144c6e6587a96880cab"/></dir><dir name="Model"><dir name="Checks"><file name="AbstractCheck.php" hash="afdc7117177bdccc70da33f3691f0ae2"/><file name="CheckInterface.php" hash="94e1743d9de7d356c1fd786b6e54a162"/><file name="ContactlabAuthApiKeyCheck.php" hash="053fc17bf8b98f0bf627640be869a2c7"/><file name="FindDuplicatedCustomersCheck.php" hash="abe297974dc05fcd153de9c0fbd488bf"/><file name="FindInvalidCustomersCheck.php" hash="757d9ba4e1960e8d11bd269523841a9c"/><file name="RewritesCheck.php" hash="1ec4b03fd4b9033374ff68498a63a973"/><file name="WsdlCheck.php" hash="0d5c9946ae3fc26014aabe393610614f"/></dir><file name="Cron.php" hash="ff998d290ff804b490ac64acfb44917f"/><file name="EmailExport.php" hash="b3ed1b090b825a8e53139eff9e107944"/><dir name="Exporter"><file name="Copy of Subscribers.php" hash="904368350d3adfeb63c711c0da42a7ce"/><dir name="Subscribers"><dir name="InfoTransporter"><file name="Abstract.php" hash="c308d4728f88d9adf2e8cc1ad738f25b"/><file name="Customer.php" hash="31525219d45a3b57021e53e94a747599"/><file name="Deleted.php" hash="81c35ae7dc9079e6066a6daceff6fb96"/><file name="Subscriber.php" hash="fe7d8919967b4eca845377e43bf10292"/></dir><dir name="MapTransporter"><file name="Abstract.php" hash="33dd82745d6d5278165dbd015eea754b"/><file name="Address.php" hash="32b7874a1923f98befd2bb53e0ee6547"/><file name="Attribute.php" hash="1c88e00280f50a0b649145219dc908a3"/></dir></dir><file name="Subscribers.php" hash="658a6674332f2f6b9915e2b0ffb8ab37"/></dir><file name="Fields.php" hash="1647ad72d9ffd01507ff2e1905d06840"/><dir name="Importer"><file name="Subscribers.php" hash="0c087db3b7461e704c7b0190abb982bc"/></dir><dir name="Newsletter"><file name="Subscriber.php" hash="aeffddf37091ff4a231d7845b30925c8"/><dir name="Subscribers"><file name="Observer.php" hash="b53c359c47de8695bb8f5187b765e547"/></dir></dir><dir name="Observer"><file name="Fields.php" hash="1914da6670e6e036090124376a63da38"/><file name="Uk.php" hash="0deac2259e97a2ef1a72d2b8a2217bc2"/></dir><file name="Observer.php" hash="ec02dd05f20c942c3b677deb74c31599"/><dir name="Resource"><dir name="EmailExport"><file name="Collection.php" hash="8f15643741b8dd7a4be2a6d1fc57b2cf"/></dir><file name="EmailExport.php" hash="d042bdf71ade2d80100fc39b96315f39"/><dir name="Fields"><file name="Collection.php" hash="b9c7ef78e14d06a803b78731283ec3ba"/></dir><file name="Fields.php" hash="17cc1061442f3124c0483e21c6cb60cf"/><dir name="Newsletter"><file name="Subscriber.php" hash="10c1cc4516fc0644655c01225d43b022"/></dir><dir name="Stats"><file name="Collection.php" hash="fa92b14e6d466d517d5390840268ff6e"/></dir><file name="Stats.php" hash="3b8e15132397711baf499c0fb654ab17"/><dir name="Uk"><file name="Collection.php" hash="660d44a3a3fbce7b7f30b2aa5cb97381"/></dir><file name="Uk.php" hash="673867d3e06ca928bb544c96536b9103"/></dir><dir name="Soap"><file name="AbstractSubscriberCall.php" hash="e5a6854a6abe1e2c7c1947c02f6742fb"/><file name="GetSubscriptionStatus.php" hash="4e3f2f2034f56a82b3f29492082c887c"/><file name="SetSubscriptionStatus.php" hash="31038e448df2644f6db5a70491a2ef93"/><file name="StartSubscriberDataExchangeCall.php" hash="ed9ea900676fb00e12ff58c19e0ef1c4"/><file name="SubscriberNotFoundException.php" hash="7b34788b3e71febcafe5d17f83192b54"/></dir><file name="Stats.php" hash="288b3b4312d0bf366caf6e1e6c913a44"/><dir name="System"><dir name="Config"><dir name="Source"><dir name="Export"><file name="CheckUkPolicy.php" hash="4c52ee5463ff95d2a30714a24c2e521a"/><file name="Policy.php" hash="67e0a791095847cb89cb2ce311e4865f"/></dir></dir></dir></dir><dir name="Task"><file name="CalcStatsRunner.php" hash="eb0f152c42b2317b90ee00d27f947431"/><file name="ClearStatsRunner.php" hash="274ed827c0af4b888f9470fbf11ff86b"/><file name="ExportSubscribersRunner.php" hash="cd95a707bb542b08edf9e94fc5e153e6"/><file name="ImportSubscribersRunner.php" hash="496745ed30b1f274e543a5be9015078e"/><file name="StartSubscriberDataExchangeRunner.php" hash="97df2b3a6347be0a8a3d6f2c1ff78ad5"/><file name="TruncateUkRunner.php" hash="b8a48277c93f25f8d6a4ea42af437ff1"/><file name="UpdateSubscriberStatusRunner.php" hash="c13756209e73667f443d63cd8e4af691"/><file name="UpdateUkRunner.php" hash="31d73e9569367927286de0581d2285fc"/></dir><file name="Uk.php" hash="646eb6fc1af9b5ab601a7eed25a22050"/></dir><dir name="Test"><dir name="Helper"><file name="Checks.php" hash="5a9734a2fca4b49ab942c450ebf32775"/></dir><dir name="Model"><dir name="Checks"><file name="ContactlabAuthApiKeyCheck.php" hash="dc14e7d82c433914eea09a75c4e6f5a2"/><file name="FindDuplicatedCustomersCheck.php" hash="2a33873168c94d31c098704fecf4e6c4"/><file name="FindInvalidCustomersCheck.php" hash="5b6985695993e8acbd540a82d1a83aee"/><file name="RewritesCheck.php" hash="93d008de2807cb0209a397720b2c6499"/><file name="WsdlCheck.php" hash="9a49fe2a35ce7d9391d443b26fc31d8a"/></dir><file name="Uk.php" hash="5254745888787f083b4361e2f0ce4a31"/></dir></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Contactlab"><dir name="Subscribers"><file name="ExportController.php" hash="141c13b29c3d08a8cebc5753910853d4"/><file name="ImportController.php" hash="e30470248e0b2f6d48daa9c76cb46b00"/><file name="StatsController.php" hash="b7dcf038c82964db4574b20a44efea4c"/><file name="UkController.php" hash="ac2669685426ce5dad4bd9784a75297e"/></dir></dir></dir><file name="EditController.php" hash="0e73ec91f39642065c0278b96c1afcae"/><file name="ModifyController.php" hash="1c7d1cc32e5869515d2e688e818e7fda"/></dir><dir name="data"><dir name="contactlab_subscribers_setup"><file name="data-upgrade-0.8.4-0.8.5.php" hash="b44b6ee842349b9dbcf93d237af61960"/></dir></dir><dir name="docs"><dir name="build"><file name="build.bash" hash="114980c92310c5672fc3b9b7819e7838"/><file name="files.txt" hash="103f8b2fa61f4887416f0e9218a62a1a"/></dir><dir name="release-notes"><file name="0.8.12-20150116.html" hash="4b0889525dc1d40ffd703dcdd72edbcc"/><file name="0.8.13-20150204.html" hash="4f30d3b723ebee5f784ce3bc0b39ee25"/><file name="0.8.14-20150213.html" hash="cdcbb67655d0595e4dee4f63b011edbe"/><file name="0.8.15-20150309.html" hash="3913bab1da721f35377a289b99bbd642"/><file name="0.8.16.html" hash="68b8c749ac7269c4cd879b2088563a39"/><file name="0.8.17.html" hash="1ee5b5904b4998ca23b07fdd7aeafcb1"/><file name="0.8.18.html" hash="509dbbf9eca227918f75bd32beb297c9"/><file name="0.8.20.html" hash="4a69862b759a69219fd5ab40de4ad51d"/><file name="0.8.21.html" hash="60f170d1c2115d06791123d47ba93804"/><file name="0.9.0.html" hash="281a85179f31f5f700949c7e748b0949"/><file name="0.9.1.html" hash="bd181e6d14d0dc4a805b5532a7887068"/><file name="1.0.0.html" hash="6abd3f6f069ffeb16a507c0938f122de"/><file name="1.0.1.html" hash="352c95a5379c7d36189ec6ec5a0c34ec"/></dir></dir><dir name="etc"><file name="Contactlab_Subscribers.xml" hash="c9808465720abbf1eb7be475dbf3b826"/><file name="adminhtml.xml" hash="9d122f10695f3fe0de64852790034bd2"/><file name="config.xml" hash="2ca8427f38285ce2b83aa9b35ff4dab3"/><file name="system.xml" hash="cc05be0c07f0bc6890f306ec77344338"/></dir><dir name="sql"><dir name="contactlab_subscribers_setup"><file name="install-0.8.0.php" hash="a6368d7e6de257005c34fc35972ba075"/><file name="mysql4-install-0.8.0.php" hash="ea9534669baf1f8ba83460eb373e4b3f"/><file name="mysql4-upgrade-0.8.2-0.8.3.php" hash="37388310991d293e7a4d3dcc079f1aa7"/><file name="mysql4-upgrade-0.8.7-0.8.8.php" hash="19858565525423737b71d63d24ce9b9e"/><file name="upgrade-0.8.0-0.8.1.php" hash="4c8fd8b51ccda4b27bcf26018e07b9e2"/><file name="upgrade-0.8.1-0.8.2.php" hash="9586aad0f8aeebd7cfe0bda6401c22b3"/><file name="upgrade-0.8.11-0.8.12.php" hash="3f756983b338d11793ec74ff9d7927e6"/><file name="upgrade-0.8.2-0.8.3.php" hash="eaef3ceb5c6faf88c80fb3f28a925a86"/><file name="upgrade-0.8.21-0.8.22.php" hash="65fa0c02fba038f4f80a54e0462c7cbe"/><file name="upgrade-0.8.3-0.8.4.php" hash="5cb53b73936560c4796f5a1387326a45"/><file name="upgrade-0.8.4-0.8.5.php" hash="8b5aceb8a31a965211cc61e46ef046a6"/><file name="upgrade-0.8.5-0.8.6.php" hash="7f3ad36681c04662e4e7f0592005fdd9"/><file name="upgrade-0.8.6-0.8.7.php" hash="b27c5bfe8ca80d562f053bda5407de00"/><file name="upgrade-0.8.7-0.8.8.php" hash="c689709dcb32d0c8d201feb873abb123"/><file name="upgrade-0.8.8-1.2.0.php" hash="f9ebd160d597bf10efa203940b4842e9"/></dir></dir></dir><dir name="Template"><dir name="Block"><dir name="Adminhtml"><dir name="Newsletter"><dir name="Queue"><file name="Grid.php" hash="c4db6dfbe5aaec238bd87e564f5a3ee3"/></dir><dir name="Template"><dir name="Edit"><file name="Form.php" hash="e82b1748370ada98120e548434378ee9"/><file name="Js.php" hash="ebbbac2c2dee60e7ab3c5b3261c52afe"/></dir><file name="Edit.php" hash="53c4ff205c6bc310fa3360faf0446dab"/><dir name="Grid"><dir name="Renderer"><file name="XmlDeliveryStatus.php" hash="e44366255dede7766352fd46393f0f74"/></dir></dir><file name="Grid.php" hash="5efc3c750a8e835fabe5476ef3d1eb19"/><file name="Preview.php" hash="f3f5e99187b6cf9aea0dfd3a83333256"/><dir name="Tasks"><dir name="Detail"><file name="Grid.php" hash="7f50caf5bbd90dbb647af5050f906472"/></dir><file name="Detail.php" hash="e77a09eb9509449eedec7f1bbf70ce16"/><dir name="List"><file name="Grid.php" hash="c6a17747bca319e572dfaa1c032ef93e"/></dir><file name="List.php" hash="a9a88e4d3e49656478ea6f30e1b62a3e"/><dir name="Renderer"><file name="Customer.php" hash="c66e7e05724639e78a515ad1c6de64ae"/><file name="QueueStatus.php" hash="11ecc8c97fcbdaef6fb32818e2962e0c"/></dir></dir></dir></dir><dir name="Tasks"><file name="DebugEmail.php" hash="eeb4b0c88b85f67d0d9114ec0896e8df"/></dir><dir name="Type"><dir name="Edit"><file name="Form.php" hash="534b775de153ecdea8bd47a5c7e092fd"/></dir><file name="Edit.php" hash="7f26eaaa253b8c990310ed8492156fda"/><dir name="Grid"><dir name="Renderer"><file name="ConfigureLink.php" hash="76986da99f39c8b9c4a480422d3bd09f"/></dir></dir><file name="Grid.php" hash="c7c202bd5b9c05c58dc29db784855b5b"/></dir><file name="Type.php" hash="e9e36e56d903ef59e01eb12cdd7d1d54"/><dir name="Widget"><dir name="Button"><file name="Queue.php" hash="85fbfe18a7b7c15fd2a0e4815f8a8ca1"/></dir></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="415aff5ceafe5cae0003c31b8cbf43f8"/><file name="SampleData.php" hash="3e6f32e688ba54258e5da3c7e43a3f10"/></dir><dir name="Model"><file name="Cron.php" hash="7be54cb8f3e49634394af331e5e98020"/><dir name="Newsletter"><dir name="Processor"><file name="Abstract.php" hash="6c8306ba4048bf55c83099cda2469230"/><file name="Cart.php" hash="61ad157435f568e88d91d1c102886ef0"/><dir name="Filter"><file name="Abstract.php" hash="8a8bc082d68a1c7b90b5389961b60654"/><file name="AbstractDistinctByType.php" hash="2df05bdf36525c085f6c436d2402d607"/><dir name="Cart"><file name="DistinctByType.php" hash="63e3a03b08544121597bc7461ee52a58"/><file name="Dnd.php" hash="6f5a9cf91b56839bc5a7aee4e9a11ccd"/><file name="Have.php" hash="53cac800d406d02e82ae2bf0d984d95f"/><file name="Offset.php" hash="a9f08eedbd380fccea16dc77397d9e23"/><file name="ProductNumber.php" hash="b44135b3b7961cefc506c32891f4a6f1"/><file name="ProductNumberOrTotal.php" hash="1e3f5319efb8ce64b613dcfd6d0a2e37"/><file name="Products.php" hash="9ae54c326965f49396a4b71fb746cdb0"/><file name="TotalValue.php" hash="334865e6d2a46ddffc3e657eebd5ea21"/></dir><file name="EmailLike.php" hash="34baf8be2aa88a1fe44a71daa87258f8"/><file name="Interface.php" hash="6d2ab6e8d5af5595ea69b928ff27af24"/><file name="OnlyCustomers.php" hash="1fd9a34c408c5a2daca53ea1d840838a"/><file name="Store.php" hash="d90f4af3d625c8280bfabfeac11ce6fe"/><file name="TestMode.php" hash="28817391eec06780c63effc30320e88b"/><dir name="Wishlist"><file name="DistinctByType.php" hash="b622a455f689cd37130ed61e91178711"/><file name="Dnd.php" hash="db13849f95786253e417c16a00bbcea6"/><file name="Have.php" hash="6f238c533f13264b84b0cbf2c4c809f5"/><file name="Offset.php" hash="fe1a43fc318299023ecc6b5352851791"/><file name="ProductNumber.php" hash="9589494f825b57010a2eed5b38562f10"/><file name="ProductNumberOrTotal.php" hash="9242bcc98946d488d6bac0a956eae9e8"/><file name="Products.php" hash="ce7319e5d81c4d9defaadf8363832f3e"/><file name="TotalValue.php" hash="c92bfbb5553c43f2ecacb0cecb55d5ce"/></dir></dir><file name="Generic.php" hash="fba6d138633a3e6d26b6ad59ae929650"/><file name="Interface.php" hash="2020fccf75ca93268e7154a4a06f6c1b"/><file name="Wishlist.php" hash="cf15890ad4d8f19869a3781433753bd5"/></dir><dir name="Queue"><file name="Link.php" hash="fee98cd3b7f7a7c5afe368ecdb2501a7"/></dir><file name="Queue.php" hash="245f401bd4cda90f84c6e32599029f31"/><dir name="Template"><dir name="Compiler"><file name="Abstract.php" hash="8a845abd46468d70cce4e545c2f5a6ad"/><file name="Html.php" hash="2270a452f83be6f3799784a03c393d82"/><file name="Interface.php" hash="bd7016c85bbd710462edc1dafab56590"/><file name="Text.php" hash="cb7aa7cb17e6f2fbe0c5147fea92e478"/></dir></dir><file name="Template.php" hash="0360d914b73aac421a7a1343667d8e2a"/><dir name="XmlDelivery"><file name="Check.php" hash="8fc3262308c334a6e343c497ea57ffaa"/><file name="Uploader.php" hash="ad08e461e406d5f0201cf83583601ef3"/></dir><file name="XmlDelivery.php" hash="f0acd8fe4d0f34d852b1ff884f6ec8a8"/></dir><dir name="Resource"><dir name="Customer"><file name="Collection.php" hash="03eda84abd4ac99c2af60f0f8eca0de0"/></dir><dir name="Newsletter"><dir name="Queue"><file name="Collection.php" hash="17af76b4158b5a44a4171c74e8583738"/><dir name="Link"><file name="Collection.php" hash="880d705a6d77ed16720328393c842d1a"/></dir><file name="Link.php" hash="f4fbc8acd94f5cc0149e9ca814ef990b"/></dir><dir name="Subscriber"><file name="Collection.php" hash="687587b1f9c45c5d658c658026b8252d"/></dir><dir name="Template"><file name="Collection.php" hash="4c4311fbd664e9a8574ba24562862601"/></dir><file name="Template.php" hash="039f4f6e808777aa0c7b74c3b631f8db"/></dir><dir name="Type"><file name="Collection.php" hash="26d09eb4764f6fb93b856fc170a6be35"/></dir><file name="Type.php" hash="8d6c9001caa99ceb0f01cc9f54f2c4af"/></dir><file name="SimpleXMLExtended.php" hash="e28b6caa960498fb75e77d3cebf9472a"/><dir name="System"><dir name="Config"><dir name="Source"><file name="AndOr.php" hash="114c0a86611d6c0149afc4de3c75df42"/><dir name="Delivery"><file name="Method.php" hash="6175029d59b582745a98fba681375b68"/></dir><dir name="Template"><file name="Format.php" hash="527644942d74c5634d1d8f84db24ee77"/><file name="Type.php" hash="292c1f9dc7494315f44976f1163f4574"/></dir></dir></dir></dir><dir name="Task"><file name="CheckNewsletterQueueRunner.php" hash="47a52258ab016e7c9fce57fc9ad5039c"/><file name="Observer.php" hash="3f42a203d2277413a49bbd5d57c966b4"/><file name="ProcessNewsletterQueueRunner.php" hash="d48d15de98e3ea8b17745180b26a7af8"/></dir><file name="Type.php" hash="e7bb0be8ae8d070534511b780d201145"/></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Contactlab"><dir name="Template"><file name="TasksController.php" hash="42d11595cb143afb80e947447904a145"/><file name="TypesController.php" hash="81d5bb593d180df76b8bb33213c71fbd"/></dir><file name="TemplateController.php" hash="3566bc5c3b5f1cd98c365509c3d060de"/></dir><dir name="Newsletter"><file name="QueueController.php" hash="865e18bb175eed185395e3fef1d9dcd2"/><file name="TemplateController.php" hash="abad2cbd9ed0305b3ee5b00cec122074"/></dir></dir><file name="SampleDataController.php" hash="7738e817f7cc8373ce01ab677a8b38ce"/></dir><dir name="data"><dir name="contactlab_template_setup"><file name="data-install-0.8.0.php" hash="691ec4f1cba03ba9a7769e01b4abd3f0"/><file name="data-upgrade-0.8.20-0.8.21.php" hash="14af0bf01230abfac7b229a7667d2966"/></dir></dir><dir name="docs"><dir name="example-templates"><file name="subject_ac.json" hash="c9aa774df01bb168afc0a6e4cf235aa4"/><file name="subject_wl.json" hash="e28b414b6e180613f71fa89628aeb19d"/></dir><dir name="release-notes"><file name="0.8.16-20150116.html" hash="388bb0b9da2461dc90e06303de060e53"/><file name="0.8.17.html" hash="11fb8e56f568027c4b76874368b1daf9"/><file name="0.8.18.html" hash="5d279e41c4d13d3695bc4a01f15ecd78"/><file name="0.8.19.html" hash="fb4533ceb065c1427c58c5e9a44f1910"/><file name="0.8.20.html" hash="e87bade4cedf6e9195cdc7a06a99da5e"/><file name="0.8.21.html" hash="b6e4733fc5bcb75ae4c547f942c40867"/><file name="0.8.22.html" hash="439ee80a2effdc14a7a9a3b1284ae7b6"/><file name="0.8.23.html" hash="04d631373ca8f4e1583fe2fad988579f"/><file name="0.8.24.html" hash="bbc1e1430ad40da34319f676ca195637"/><file name="0.9.0.html" hash="a98c626b81251e26dc0f0ad4fe1a04dd"/></dir></dir><dir name="etc"><file name="Contactlab_Template.xml" hash="bd6884cf9b2f8219f598ea88945d9399"/><file name="adminhtml.xml" hash="25d34cfae07b3150a41024831431edba"/><file name="config.xml" hash="1505f260468c412446cfa255d11dd202"/><file name="system.xml" hash="5d60aa6e3ff1f44cb7489887e72b17f8"/></dir><dir name="sql"><dir name="contactlab_template_setup"><file name="install-0.8.0.php" hash="cfbacdd1ee0dd6dafc7ef2743b2025bd"/><file name="upgrade-0.8.0-0.8.1.php" hash="a892632623aced9c2bba7163cfbd551a"/><file name="upgrade-0.8.1-0.8.2.php" hash="d57ebb94370bf344a19d30bd535c5f3e"/><file name="upgrade-0.8.19-0.8.20.php" hash="454bd54e260fa943cbf4b7e9a54de176"/><file name="upgrade-0.8.2-0.8.3.php" hash="762bc1fea119803410241325fdd5565b"/><file name="upgrade-0.8.22-0.8.23.php" hash="2ac19163d9a9fe007b36d4259271e3af"/><file name="upgrade-0.8.23-0.8.24.php" hash="9a706c92d2db43b60821adfd952b7f77"/><file name="upgrade-0.8.3-0.8.4.php" hash="1ce583cd1bd968eda2df28731d29c4f1"/><file name="upgrade-0.8.4-0.8.5.php" hash="cf6d33fadc358f58712f434314c7d39b"/><file name="upgrade-0.8.5-0.8.6.php" hash="fb815dc3ba13ee481db03886222deadb"/><file name="upgrade-0.8.6-0.8.7.php" hash="889d8a78c3fe624793fbaa5418962d28"/><file name="upgrade-0.8.7-0.8.8.php" hash="482a3378bca1b09d4face0c127576f92"/><file name="upgrade-0.8.8-0.8.9.php" hash="8d47c0ea100e856a892fb3cff8dafd76"/><file name="upgrade-0.8.9-0.8.10.php" hash="92bc695e4384444f82389938bc13be7e"/><file name="upgrade-0.9.0-0.9.1.php" hash="26865bc769baa932139eaf0067a46637"/></dir></dir></dir><dir name="Transactional"><dir name="Helper"><file name="Data.php" hash="4faf1b37aa9c5728d0301ac608538346"/></dir><dir name="Model"><dir name="Email"><file name="Queue.php" hash="6ca14247c8ead4872eab29f0fb3a4b16"/><file name="Template.php" hash="dea2688b02842777165a1a9d32f298e1"/></dir><dir name="Task"><file name="SendEmailRunner.php" hash="663ab3b2161b5dc4a331727b6763c77e"/></dir><dir name="Zend"><file name="Mail.php" hash="dc53255485ee9c4f8e3b77c0d39aaaec"/></dir></dir><dir name="docs"><dir name="release-notes"><file name="0.8.2.html" hash="5551bb5b36f227baa4a82ac09aa306f8"/><file name="0.8.3.html" hash="277597117d81d75a3cab78ba2fe6ad23"/><file name="0.8.31.html" hash="16739925886a489366a264cd14c33144"/><file name="0.9.0.html" hash="018fe082f4ef876621ea545a782f16f1"/></dir></dir><dir name="etc"><file name="Contactlab_Transactional.xml" hash="84437b19aaef7fa6566916485a1eb750"/><file name="adminhtml.xml" hash="09d3fa7ef4d802a69141a501824f3aab"/><file name="config.xml" hash="e848167e69b20248880a2307ca2f7e35"/><file name="system.xml" hash="be6f9b0c56c0ceaf926dff49948239a2"/></dir></dir><file name=".DS_Store" hash="362c3c467420623a3a177255b7afd231"/></dir></target><target name="mageetc"><dir name="modules"><file name="Contactlab_Commons.xml" hash="15d6ae561458b10ef58609958cd1f35f"/><file name="Contactlab_Subscribers.xml" hash="2b205efa6475e1e150e8ea44295667c7"/><file name="Contactlab_Template.xml" hash="c331e35581ef2d31bb44b9b0aea238af"/><file name="Contactlab_Transactional.xml" hash="c21f85926a68b2acee33bc8cf34ebd44"/></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><dir name="contactlab"><file name="commons.xml" hash="57f77de04d63427bccce155ae59a0afd"/><file name="subscribers.xml" hash="f2295e56e52bb01baabb8a21c6c8202f"/><file name="template.xml" hash="ea0c45a73ae8fdcfc39e3d2fc60753f3"/></dir></dir><dir name="template"><dir name="contactlab"><dir name="commons"><file name="configurationcheck.phtml" hash="52029752074af134c8c9327ccf877cb3"/><file name="releasenotes.phtml" hash="10fda97a68d16416a4c908827c0bef62"/><file name="send_mail.phtml" hash="cedfe0a520b352e90c15f72f035dad80"/><dir name="tasks"><file name="js.phtml" hash="b2af96ef1c0452c7149916239249dffd"/><file name="status.phtml" hash="d0ff3be39627817088b88b1bbcdbb50d"/></dir><file name="test.phtml" hash="fcdd03dbe2f50880f62e72aae413d78b"/><file name="version.phtml" hash="3852f6508e96d7d3baccd1e73f56a95a"/></dir><dir name="subscribers"><file name="export.phtml" hash="fcdd03dbe2f50880f62e72aae413d78b"/><file name="subscribers.phtml" hash="14f2aee80e4efa4f1880a2f58ea93781"/><file name="uk.phtml" hash="41c2632e9a48df0ae50fb0d354c7fa01"/></dir><dir name="template"><dir name="edit"><file name="js.phtml" hash="0069a9b4e0b4d26e3d7ac84f605e6e2e"/><file name="validation.phtml" hash="e10df9913a3bb580b4ec5dc92e2b8ba9"/></dir><dir name="tasks"><file name="buttons.phtml" hash="cfcd1a72de994e37a5ac1d5f75d15aa4"/><file name="debugemail.phtml" hash="ba04523182e084b2c7187880835429e5"/></dir><dir name="type"><file name="edit.phtml" hash="b2978f07be2d00dd483046c27d385a5c"/></dir></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><dir name="contactlab"><file name="layout.xml" hash="72510e95747bd0dd36af5ce5736abaa9"/><file name="subscribers.xml" hash="f912768983740fa5e4788d5fd81e4ff9"/></dir></dir><dir name="template"><dir name="contactlab"><dir name="subscribers"><dir name="newsletter"><dir name="subscribers"><file name="modify.phtml" hash="62c882d900bf4bcf4e588505c2aabed4"/><file name="subscribe.phtml" hash="ef4a1960fc673f9fdaa6fedca1e4bb80"/><file name="update.phtml" hash="432fd89d460cf9b83ee50b92aef4498b"/></dir></dir></dir></dir></dir></dir></dir></dir></target><target name="magelocale"><dir name="en_US"><dir name="contactlab"><file name="Contactlab_Commons.csv" hash="a716e3c52977bef0a83b8bc64eed6d54"/></dir></dir><dir name="it_IT"><dir name="contactlab"><file name="Contactlab_Commons.csv" hash="dd3274eadbefadf8f4da01b1fbcaa417"/><file name="Contactlab_Subscribers.csv" hash="084bd18f108750ce7ba504cd17bd0552"/><file name="Contactlab_Template.csv" hash="4058983ef5aee89c12a36fe359875908"/><file name="Contactlab_Transactional.csv" hash="c10ccac895b8bf97fd133b65579ae4eb"/></dir></dir></target><target name="mage"><dir name="js"><dir name="contactlab_commons"><dir name="adminhtml"><file name="tasks.js" hash="e8e91556e4e122bfc8b53647a4535d53"/></dir></dir></dir></target><target name="magelib"><dir name="contactlab"><file name="Attachment.php" hash="4dd95e31c3cb73d1d55e5ae51a17209a"/><file name="AuthToken.php" hash="00955cde5b7ad26a6933bea2331ef012"/><file name="BounceDetail.php" hash="488404a38f87a2bb69963c13008457c5"/><file name="Campaign.php" hash="9e71bfc36afadb5238e99f65aed291dc"/><file name="CampaignFeedback.php" hash="9ec796ddb3826fa2ef79661b9f476e6b"/><file name="CampaignLookupPreferences.php" hash="247a1d11f2b48f88b0ab3ffd49808247"/><file name="CampaignNote.php" hash="766543c655f647357ebe3f1e11c5ecd4"/><file name="CampaignNotes.php" hash="2554a41a65a99ab00fd2bf847f09f63d"/><file name="Campaigns.php" hash="ce759e2d677623f0482dc71f451674b7"/><file name="ClabService.php" hash="0cb5e81e9abee888a82238604f405408"/><file name="CommunicationCategory.php" hash="d4a3dff3d71cac521dff8aff568f7780"/><file name="EmailMessage.php" hash="abb361cbbc827ae4e810788d680dda60"/><file name="FaxMessage.php" hash="4a6718c8cf06e19fd90597be4fae8511"/><file name="LookupPreferences.php" hash="7ecd011496f99453bc45d0b5f05caf20"/><file name="Message.php" hash="88372af680074a0d4215601ace73c3c0"/><file name="MessageModels.php" hash="49e44071f3639a599fa4d30759b99f01"/><file name="Recipients.php" hash="f3de79ad97782f4511cc4592a5751fea"/><file name="Sender.php" hash="ec91192aae86f5da011d05f9556d3b07"/><file name="SlicedDataSet.php" hash="7ee3e0ea0f67c7c85ab74015f6b12a56"/><file name="Subscriber.php" hash="2cce2c60f49b2bfe8650bf07ccd7e0fb"/><file name="SubscriberAttribute.php" hash="071cf1754e47ee6141de6a68e85d27a7"/><file name="SubscriberSource.php" hash="a4d2ae669640c6bd65a3e0fcb2467540"/><file name="SubscriberSourceField.php" hash="3b2d2526698832801047059fc1269018"/><file name="SubscriberSourceFilter.php" hash="f19bb9876b432bb5fa3e980936942070"/><file name="SubscriberSourceFilters.php" hash="6ee53b041cc5b873faf55edd38e6c5b4"/><file name="SubscriberSources.php" hash="ad2b28a80ede3ca2fc3affbb81228065"/><file name="Subscribers.php" hash="91ab6d1096a4be9047d006502b347d4d"/><file name="TextMessage.php" hash="e9213ccffefd2910ca5c4df09287ccbc"/><file name="TrackedLink.php" hash="830f2542cdfd8abe196c40d0976717a4"/><file name="TrackedLinks.php" hash="eeef87e8d7716bc02b118f237e9e7f08"/><file name="XMLDeliveryInfos.php" hash="a92d8f147d831e0d8ad9a59ac175ebcd"/><file name="addAttachment.php" hash="aafb4d4b4ff429d53ff04e9d4280ce7f"/><file name="addAttachmentResponse.php" hash="fd82c72432993a38ec954cbadd70a907"/><file name="addCampaignNote.php" hash="97b30bcaa074445579b0cc101405f222"/><file name="addCampaignNoteResponse.php" hash="a43580bce766bb90976cf37a7e8b12b7"/><file name="addSubscriber.php" hash="10d8330a8c31d8a74a643389efcdc863"/><file name="addSubscriberResponse.php" hash="17ee7cbf8ab81934334e43f23758473c"/><file name="addSubscriberSource.php" hash="9bc3c67af5132b4384124fb373a7bdf4"/><file name="addSubscriberSourceFilter.php" hash="c9b8b8ab031be5be6672e24686a08724"/><file name="addSubscriberSourceFilterResponse.php" hash="d8a43ceef9b5e43f0ad2916a68afd9c6"/><file name="addSubscriberSourceResponse.php" hash="28f6abe65906eef415e180b5c637ba36"/><file name="addSubscribers.php" hash="637fdea104587a2231f3c43839d2d5a1"/><file name="addSubscribersResponse.php" hash="37b214030476208d8742354329770257"/><file name="archiveSubscriberSourceFilter.php" hash="e5ef057e35d274e3139a386330093eab"/><file name="archiveSubscriberSourceFilterResponse.php" hash="bd56103fddbf9d2fd0e6d4b868123b50"/><file name="borrowToken.php" hash="c7e3736ab5dd453b372f261c1511f795"/><file name="borrowTokenResponse.php" hash="c888fb23b89d9a12ae45cf09dc07cbc6"/><file name="cancelCampaign.php" hash="837363783c11e4751144cea5b20b250a"/><file name="cancelCampaignResponse.php" hash="c09fcdc56774b82cca16222ffc360525"/><file name="cloneAndSendCampaign.php" hash="bc85929ae1f2b694e4d80df22c0cfa12"/><file name="cloneAndSendCampaignResponse.php" hash="b9f4afa47bb0c7d953d8471858bd8181"/><file name="countSubscribers.php" hash="97cdbdd6c4a5949b2d3c6b79adf7dc0a"/><file name="countSubscribersIncludedInFilter.php" hash="a4c1953510ee1f1f680ddcb50dedda83"/><file name="countSubscribersIncludedInFilterResponse.php" hash="e950b50136733aeefb57faac759318b0"/><file name="countSubscribersResponse.php" hash="47f5b01e68a5337241e540d8d14d6506"/><file name="createCampaign.php" hash="7af3d8b6176af5dbed9005002c5f9fea"/><file name="createCampaignResponse.php" hash="1f94aa0ced02397e5cbc3685880ff6c6"/><file name="createMessageModel.php" hash="3a2be564063f933b2c9a5220f75aba19"/><file name="createMessageModelResponse.php" hash="e77c07e74f6b2adb906d663d6a5ab796"/><file name="findArchivedFiltersBySubscriberSource.php" hash="665fdb9883a932354b9646e1cdcdc085"/><file name="findArchivedFiltersBySubscriberSourceResponse.php" hash="c28a96905fc9c85e3be850a9b3182ff3"/><file name="findCampaigns.php" hash="994da9782174931b0c4959a595ae35db"/><file name="findCampaignsByModel.php" hash="94cd24329ce937cd504917ba19813022"/><file name="findCampaignsByModelResponse.php" hash="606ea2662d7ed0c0ed90816142b8a423"/><file name="findCampaignsByNameOrSubject.php" hash="729aafc3da9fc5d60cc89bcf37e384d9"/><file name="findCampaignsByNameOrSubjectResponse.php" hash="3205d1dda7a1dbc55cb13451422509b3"/><file name="findCampaignsByNote.php" hash="e642c65d5c05d3a29a2882702a972029"/><file name="findCampaignsByNoteResponse.php" hash="3daab98189a2bf900c373bba533bccfc"/><file name="findCampaignsByStatus.php" hash="06bfdd8059f962e5152bf4690a9a1432"/><file name="findCampaignsByStatusResponse.php" hash="f2e2a60b926a4b055ee3ad35eb35467c"/><file name="findCampaignsResponse.php" hash="aa12cfdb1dc21618c9dcea68ce4e4a36"/><file name="findCampaignsSentBetween.php" hash="5978f7d3ea6d4e169aeef958a93b64a7"/><file name="findCampaignsSentBetweenResponse.php" hash="27db82a783f299a904e5f840c6bead94"/><file name="findFiltersBySubscriberSource.php" hash="780c7a78fccb4e9072ef51fdb798ef0e"/><file name="findFiltersBySubscriberSourceResponse.php" hash="047ebedff8cdb8e3fbc22143b958443e"/><file name="findMessageModels.php" hash="249f73d33c9efdc16817ac6228827894"/><file name="findMessageModelsBySubscriberSource.php" hash="16ed2e80ac0b28a3bc0eaccdde43770d"/><file name="findMessageModelsBySubscriberSourceResponse.php" hash="7c75c3a33072fed17ca6ba08d927ef9a"/><file name="findMessageModelsResponse.php" hash="e2381a5ca3c286a4b2240b5af84f4cfb"/><file name="findNotesByCampaign.php" hash="816af78e41fbf6941ca5c6d508371add"/><file name="findNotesByCampaignResponse.php" hash="54964b987980cb5d2e9d918c8c7ff70c"/><file name="findPeriodicCampaigns.php" hash="ef83d75476d289d2e81fef015310e9f1"/><file name="findPeriodicCampaignsResponse.php" hash="e0cd3bf7f0ebd1750aaf4c124044bdef"/><file name="findSubscriberSources.php" hash="1f865ba0607fb54d611519483c0ba37e"/><file name="findSubscriberSourcesResponse.php" hash="468dffd45134f7a82e250c9eb35b7f1a"/><file name="findSubscribers.php" hash="84bcdc3899b6583110570a83aeba41f6"/><file name="findSubscribersIncludedInFilter.php" hash="8507b8aa27a40f4226584af4deba8c26"/><file name="findSubscribersIncludedInFilterResponse.php" hash="fe1f065e3c24c9fba93c91b104af3378"/><file name="findSubscribersResponse.php" hash="7da20215136d55a2d4a338e7b1e80fd8"/><file name="findTriggerableCampaigns.php" hash="df0d9f03bd0cd7db9983f3ed9520b9b5"/><file name="findTriggerableCampaignsResponse.php" hash="4936fc7428e96e27203db2222a2a3930"/><file name="getArchivedSubscriberSourceFilter.php" hash="b1ba4a087da85eeed8ad7d637b5b7289"/><file name="getArchivedSubscriberSourceFilterResponse.php" hash="c2c74693aa72e9cfe70da4c5552c1e10"/><file name="getAttachmentByCampaignId.php" hash="4d8d58c768c313e7a34df4b14762f216"/><file name="getAttachmentByCampaignIdResponse.php" hash="ee4653b2fd234eaf3ac3b2ae2763b218"/><file name="getAvailableCommunicationCategories.php" hash="2812d2d787575ca76a6c20a65d959012"/><file name="getAvailableCommunicationCategoriesResponse.php" hash="c44b3783ea5e09fc518026c2e1b4fea6"/><file name="getCampaign.php" hash="0ad3de64f6d886f3e7898370e0286b58"/><file name="getCampaignDeliveryStatus.php" hash="926b85895ffb17fa191151b3ff4f8407"/><file name="getCampaignDeliveryStatusResponse.php" hash="2373c615052b9cd1e96b80e110252804"/><file name="getCampaignFeedback.php" hash="88d80874aa7b4ff30e8dd8d228144045"/><file name="getCampaignFeedbackResponse.php" hash="3c5762d732130b5fc5f2e64d289c1fff"/><file name="getCampaignResponse.php" hash="e9c51b4c1ba979d2a131ffb7f7079fe7"/><file name="getCryptoKey.php" hash="bfb67fef4223514d4853750ae520cda3"/><file name="getCryptoKeyResponse.php" hash="6322e290ed7b23ab69ba5ce892a7ff3e"/><file name="getMessageModelById.php" hash="58a952e46581010154d17e2a2ceeeb97"/><file name="getMessageModelByIdResponse.php" hash="ad90f598343a0469479ad5eda0bcd5ae"/><file name="getRequestStatus.php" hash="9892f5714b0bf16f305d98102a142919"/><file name="getRequestStatusResponse.php" hash="8dfb0a5589dd0556163cf32a988ddfcc"/><file name="getSubscriber.php" hash="28b43e849621dc5f66e339504d709809"/><file name="getSubscriberDataExchangeStatus.php" hash="34defa00aa45b2c05e102af167f60bb7"/><file name="getSubscriberDataExchangeStatusResponse.php" hash="ccdeec492cf724027881a77801eee861"/><file name="getSubscriberResponse.php" hash="31bda97f6261d38931a9a6aca878729a"/><file name="getSubscriberSource.php" hash="e4952a57312cbb47127203ccd7282101"/><file name="getSubscriberSourceFilter.php" hash="38fed10d61883e7f3ad3eaf1017ff861"/><file name="getSubscriberSourceFilterResponse.php" hash="2f9ff8cdecedbdb80f5aed4f82e0872c"/><file name="getSubscriberSourceResponse.php" hash="6288ddc830b2ce6f19253185974e8d08"/><file name="getTrackedLinks.php" hash="65226faf6bdb6548900ecbe4d3f0589a"/><file name="getTrackedLinksResponse.php" hash="1baef1c35da95c50a96cac8dee266db1"/><file name="getXMLDeliveries.php" hash="bec33bc553d3d27088d43947b4b94cae"/><file name="getXMLDeliveriesResponse.php" hash="103249a095ecc11c6a8e45e6ee03ecf8"/><file name="getXMLDeliveryTransitions.php" hash="2c91cfced369a2f291e5926f0f45aa50"/><file name="getXMLDeliveryTransitionsResponse.php" hash="13a5da14b52d69eca8186e160bb1cbc8"/><file name="invalidateToken.php" hash="feb611c092d5679ac11671bde06703f1"/><file name="invalidateTokenResponse.php" hash="5dabc504490ed7f068dcb911f9f4de97"/><file name="keepaliveToken.php" hash="eaf6542a3cd270b21e6e7d184ddd1676"/><file name="keepaliveTokenResponse.php" hash="658b578b970184b6ad7182832db02d89"/><file name="modifySubscriberSubscriptionStatus.php" hash="af08f77094824b87a7806c23b9c16918"/><file name="modifySubscriberSubscriptionStatusByMailqId.php" hash="793b06ffae8d35b6a101b9747463d0bc"/><file name="modifySubscriberSubscriptionStatusByMailqIdResponse.php" hash="f36bb42ce9049625d54542e3b1433b1e"/><file name="modifySubscriberSubscriptionStatusResponse.php" hash="f7e1cece9f5ec7ec246e9c32a7b5dec4"/><file name="publishOnWeb.php" hash="8ba487c1078cd7ad73215aeb59f3df81"/><file name="publishOnWebResponse.php" hash="fb2315ebb11c0468662993a6c63f2fae"/><file name="removeSubscriber.php" hash="c54f6f12de913082d9d37d8b6512c5b5"/><file name="removeSubscriberResponse.php" hash="a685a6eb245d42ba68a8859a7c9976e3"/><file name="requestCampaignFeedbackReport.php" hash="83382be36afc47c912041e39a8a91bb5"/><file name="requestCampaignFeedbackReportResponse.php" hash="a355c87dd81366319a1cbcfef897b63d"/><file name="reuseSubscriberSourceFilter.php" hash="dbe58a95d2d2a9b22931e2f2846ee5a4"/><file name="reuseSubscriberSourceFilterResponse.php" hash="2662fccf2d3c0f8ea8c83748bebdebea"/><file name="sendCampaign.php" hash="d6fc6e6265c57a4d21a1c272e7c99154"/><file name="sendCampaignResponse.php" hash="4e2440bebed2a589fa0165d3e3eed483"/><file name="sendImmediateMessage.php" hash="a3e2036a82d71ff0a82a257a2075d409"/><file name="sendImmediateMessageResponse.php" hash="4c9602a44ac0b7a9eb5b898605af22be"/><file name="sendImmediateMessageSDataCData.php" hash="4642d684e187fde20dc81ccb802af084"/><file name="sendImmediateMessageSDataCDataCA.php" hash="233a58432de264308ad4331a0682821c"/><file name="sendImmediateMessageSDataCDataCAResponse.php" hash="5eab02d47c5833cc0a902bf14c761776"/><file name="sendImmediateMessageSDataCDataResponse.php" hash="351236b1b015e03abca60371fa689abf"/><file name="sendImmediateMessageSDataCIdCA.php" hash="5563f04200dd3533a33a1024ce8b4869"/><file name="sendImmediateMessageSDataCIdCAResponse.php" hash="5b4bac75edc19eb758f2a3553b278629"/><file name="sendImmediateMessageSIdCData.php" hash="71618fe49e43bff9cc53957324397056"/><file name="sendImmediateMessageSIdCDataCA.php" hash="7d2ecd18e0e87e71ace465d1d76d1169"/><file name="sendImmediateMessageSIdCDataCAResponse.php" hash="eae46b409221e5bd2bc58f554242eddc"/><file name="sendImmediateMessageSIdCDataResponse.php" hash="2b5cd3ca959cf22cceb445b8a9487467"/><file name="sendImmediateMessageSdataCAl.php" hash="0374318565674b93c9cc5af74b7dde8e"/><file name="sendImmediateMessageSdataCAlCA.php" hash="5cf7ab51277a87e467f1c1da0b7ca04b"/><file name="sendImmediateMessageSdataCAlCAResponse.php" hash="5f6b99e92f4125d4c5e2c1c52537fe84"/><file name="sendImmediateMessageSdataCAlResponse.php" hash="69b0e09d428b115b56b2dcf151434d0e"/><file name="sendImmediateMessageSidCAl.php" hash="4a5c3b7fdf4a590ea3afe97330520af9"/><file name="sendImmediateMessageSidCAlCA.php" hash="8ee842963b8de8d887b47601cc5acd7e"/><file name="sendImmediateMessageSidCAlCAResponse.php" hash="6e574a4a6a4a87a38db7be60e3ee3855"/><file name="sendImmediateMessageSidCAlResponse.php" hash="6ba97d1cdf7012bfe1fe1964a2943f9e"/><file name="sendImmediateMessageSidCid.php" hash="84d9a2e3fe11d462f18101ea7e5edee5"/><file name="sendImmediateMessageSidCidCA.php" hash="228313907a7ffb2034a8290ba0e7421c"/><file name="sendImmediateMessageSidCidCAResponse.php" hash="a03863e9cca7db6ee1ae5281a16fc3ef"/><file name="sendImmediateMessageSidCidResponse.php" hash="c98ee1afdad240a565bdc1e80da0418a"/><file name="setCampaignRecurrency.php" hash="d70b012427c8bcbb5b919132d3e6abbb"/><file name="setCampaignRecurrencyResponse.php" hash="31339f0edbb429ababc2430e44761f67"/><file name="startSubscriberDataExchange.php" hash="e4dce40e847d1eb73dff51c867dd58da"/><file name="startSubscriberDataExchangeResponse.php" hash="8cf8b384dd795929b8dc067462ec4673"/><file name="triggerDeliveryByAlias.php" hash="28a46cf449766ad8dabde4858d41b6f2"/><file name="triggerDeliveryByAliasResponse.php" hash="1990179026c6d67dc061bcaabfed5a30"/><file name="triggerDeliveryById.php" hash="6e3b46ecc600bffcd9ab52bcc19f51f7"/><file name="triggerDeliveryByIdResponse.php" hash="ef45334a763e77f60238dac80c0d2cc9"/><file name="updateSubscriber.php" hash="ff20a2ee470eaf9cfbb9b313307fc543"/><file name="updateSubscriberResponse.php" hash="6da25998752a81b407c85e26c7047a8d"/><file name="uploadMediaContent.php" hash="e93aca9ec6e1b36371836e539efb41a3"/><file name="uploadMediaContentResponse.php" hash="6ed39f2d177b4705768cf35db6829c2f"/><file name="xmlDeliveryInfo.php" hash="cc0bbdbe9741e5be2d6e5cdccea43c91"/><file name="xmlDeliveryTransitionInfo.php" hash="f0fd36cf966311c097eb2ebbe63d7afa"/></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="images"><dir name="contactlab"><dir name="commons"><file name="cancel.png" hash="17065c5c397c6f6ca9ac97ab1033f88a"/><file name="delete.png" hash="61e27f7ba4b87e918351239b160c03de"/><file name="retry.png" hash="45700cc820e53665b269352564f08957"/><file name="run.png" hash="595432ecd2f7124cb5e96279a727c944"/><file name="suspend.png" hash="8f2ea46ca3b37ab4fefbf5d8b7b66cf0"/><file name="unsuspend.png" hash="5b3bf2cc96fa070b727b8d0765f2704d"/></dir></dir></dir></dir></dir></dir></target></contents>
|
33 |
<compatible/>
|
34 |
<dependencies><required><php><min>5.3.0</min><max>6.0.0</max></php></required></dependencies>
|
35 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Contactlab_Modules</name>
|
4 |
+
<version>2.5.4</version>
|
5 |
<stability>stable</stability>
|
6 |
<license uri="https://opensource.org/licenses/osl-3.0.php">OSL v. 3.0</license>
|
7 |
<channel>community</channel>
|
25 |
</ul>
|
26 |

|
27 |
<p>ContactLab Connect for Magento has been developed in collaboration with WebFormat</p></description>
|
28 |
+
<notes>- Fixed created_at
|
29 |
+
- Fixed abandoned cart prices
|
30 |
+
- Create checks for SFTP connection</notes>
|
31 |
<authors><author><name>ContactLab</name><user>ContactLab</user><email>magento@contactlab.com</email></author></authors>
|
32 |
+
<date>2017-03-24</date>
|
33 |
+
<time>14:37:40</time>
|
34 |
+
<contents><target name="magecommunity"><dir name="Contactlab"><dir name="Commons"><dir name="Block"><dir name="Adminhtml"><file name="Backend.php" hash="208c57c38069bb462ea48b56c753bd83"/><file name="ConfigurationCheck.php" hash="38a0b3ef316c0b153aaccbc0928b7a20"/><dir name="Email"><file name="Template.php" hash="2503b51a4988bb892df330f2de75b92e"/></dir><dir name="Events"><file name="Grid.php" hash="ada058c87141c94b6584f2206957941d"/><dir name="Renderer"><file name="Alert.php" hash="80c8911038197b7de34c75d87d453b82"/><file name="Status.php" hash="01038685dbcb692daae047aa45b336d8"/></dir></dir><file name="Events.php" hash="3230a203addb6dc02f5eb995ddd66f23"/><dir name="Logs"><file name="Grid.php" hash="1a1a51b5791d2df97890553d536260e4"/><dir name="Renderer"><file name="Datetime.php" hash="f7f23deac1c9871674ecde594ba742b8"/><file name="Default.php" hash="6f81d70e10fdaf42035a53323f82bb40"/><file name="Level.php" hash="a2b58d0549cacad4b83ca0ae52fd978e"/></dir></dir><file name="Logs.php" hash="f24ba62587734880d7046d4ed01bbfae"/><file name="ReleaseNotes.php" hash="5108bca563cc734f44ed05c609c8738e"/><dir name="Tasks"><file name="Grid.php" hash="a129b2010f71e024d4dbbfd34fb91a71"/><file name="Js.php" hash="308756573ad11f22f1fc634727aaa297"/><dir name="Renderer"><file name="Actions.php" hash="4f1d165274caa1785b295e7e44ca0e22"/><file name="Model.php" hash="b129b6489c9ba09a20204a52cec78dd0"/><file name="Store.php" hash="3f12cf3aa32981ce9a5a4043a88962fd"/><file name="Task.php" hash="afcc58d833d4ac7c12d6409d8b075154"/></dir><file name="Status.php" hash="55dfcd7cbcaa54bc142b6d403481d170"/></dir><file name="Tasks.php" hash="5f0a04ff580ee2e0f6a919d121baa173"/><file name="Test.php" hash="a032f1ca4929077d737f8b34f82830d8"/><file name="Version.php" hash="dd64372d7bf8d9024e00f2ee213c126c"/><dir name="Widget"><file name="Button.php" hash="ca124e5a2dbaf35d2eb454a268d1ad9b"/></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="34786d704ec107433ba368e734cbf489"/><file name="Tasks.php" hash="2bdaacf98e693d795f965e6c07511e22"/></dir><dir name="Model"><file name="AbstractImportExport.php" hash="6abe068d2db8b667ee9064de7152540e"/><file name="Cron.php" hash="159ffc14f91413b35bc6085c0e2a8e86"/><file name="Deleted.php" hash="a57a201093d020ee85181c4600a7c0d8"/><dir name="Exporter"><file name="Abstract.php" hash="a4ff7629df2cc6326c97e991876a648a"/></dir><dir name="Importer"><file name="Abstract.php" hash="b9dac66ceee0e8d2b5385a6146896964"/></dir><file name="Log.php" hash="46bb074eaf00740124c76b88a91feb03"/><dir name="Resource"><dir name="Deleted"><file name="Collection.php" hash="ed85c763c9a81cb7137a9ec474f5e584"/></dir><file name="Deleted.php" hash="a1ae6a673ffe458414a866f4eb0c0d67"/><dir name="Log"><file name="Collection.php" hash="8bd275a0a40912ab2e71b39d6c37a9e2"/></dir><file name="Log.php" hash="449af875b530177e7203d2d40560237f"/><dir name="Task"><file name="Collection.php" hash="28142a650451964b7340fba61a638771"/><dir name="Event"><file name="Collection.php" hash="27dbdf551a8947950d4794fb6b540ded"/></dir><file name="Event.php" hash="5faa0f50bc41214b65bd2a25438b4446"/></dir><file name="Task.php" hash="f7ebd23a179e563b23a9c68928c10ed0"/></dir><dir name="Soap"><file name="AbstractCall.php" hash="18ec6d30d5a23b8e4cc50913a7aecd56"/><file name="GetSubscriberDataExchangeStatus.php" hash="c14f250f73d38968d257b3af0f770ff7"/></dir><dir name="Ssh"><dir name="Crypt"><file name="AES.php" hash="824d082091d59b96fd5a74cef656f2f3"/><file name="Blowfish.php" hash="abd7684db5565dce87b214952b50ed9b"/><file name="DES.php" hash="dff9541235b415780ff167b3ed87ac51"/><file name="Hash.php" hash="0a737a969906cbb12f33d41a678ec9ee"/><file name="RC4.php" hash="54d20f521a8c030a2f32fecbb9fa33b9"/><file name="RSA.php" hash="8e81a0e6c764f5069d5d9ccd825fd064"/><file name="Random.php" hash="25402099262c9b3bd9e2ca9811bc8bc8"/><file name="Rijndael.php" hash="4305e82b0a611c07c0bfe99ccdeb9951"/><file name="TripleDES.php" hash="d4b18ac4603c5b0a4c3a7e2b98ba2f52"/><file name="Twofish.php" hash="f9df605ad32f18b447c2fdf1701563bc"/></dir><dir name="File"><file name="ANSI.php" hash="42228165075cb2f138c6d4b9ddf334de"/><file name="ASN1.php" hash="3bd220eb6b134a5a56cb311737276dd1"/><file name="X509.php" hash="39b4f6b23f554485a7607382078412e2"/></dir><dir name="Math"><file name="BigInteger.php" hash="22d91d824950758858e43d58d9c0fc3a"/></dir><dir name="Net"><file name="SCP.php" hash="9d455f260731d1e544ab1d3303785188"/><dir name="SFTP"><file name="Stream.php" hash="116f7d549a19071fd301ed677a3dd4c7"/></dir><file name="SFTP.php" hash="7a002a4a8562683108aa0748095b2856"/><file name="SSH1.php" hash="f8a733d63b37063f1e84ed2f557db076"/><file name="SSH2.php" hash="e2875fa03af2498afd35772521933a7c"/></dir><file name="openssl.cnf" hash="0f1015cb8894127a94a05afa7cc23760"/></dir><dir name="System"><dir name="Config"><dir name="Source"><dir name="Connection"><file name="Type.php" hash="335493d8aeb1016a98d9716469ffb1e7"/></dir></dir></dir></dir><dir name="Task"><file name="Abstract.php" hash="2efaf1050a1a2607682c4da92ac93bd3"/><file name="Event.php" hash="2f29caaf7f904894e327d5a2701d79c7"/><file name="Interface.php" hash="9f491f0c940f405fca8ddc18a507deae"/><file name="TestRunner.php" hash="f4f22da5b45a585f8f91540f27dff65b"/></dir><file name="Task.php" hash="fd29e79822219c1b1422dd074e2868c9"/></dir><dir name="Test"><dir name="Helper"><file name="Data.php" hash="7a7cf6f101d563ece6a669fda96bcc49"/></dir><dir name="resources"><file name="composer.json" hash="fab8c2bb9f09a1f10da3725dd8e51d48"/><file name="contactlab_db.sql.gz" hash="c1e2185f60a7b81fb80fbe0cb92f12bb"/><file name="local.xml" hash="315270d1f7d0a42ed4a5a756fc97fda7"/></dir></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Contactlab"><dir name="Commons"><file name="ConfigurationCheckController.php" hash="2c801d4f90682d530c64ce90c13ad431"/><file name="EventsController.php" hash="dbe781ee96287eb5af21723cd212bf18"/><file name="LogsController.php" hash="54ec270e5fa8ce90222e0fa7627771f1"/><file name="ReleaseNotesController.php" hash="15becd0b614d49f53f10bd45bb53fd73"/><file name="TasksController.php" hash="9740ba3003e3748ceb21856aa18e21cf"/><file name="TestController.php" hash="0cfb06b753d20de75cc06187a7d06e63"/></dir></dir></dir></dir><dir name="docs"><dir name="example-config"><file name="contactlab-local.xml" hash="93f33812b0b1cdb362340c910340707b"/><file name="contactlab.xml" hash="57902122d66b5d7bb7330d81911e1a6e"/></dir><dir name="release-notes"><file name="0.8.10-20150116.html" hash="54b37d0590df5f093d9334b2f73cbac4"/><file name="0.8.12.html" hash="26043d9aa4382398177b5b2295c4f067"/><file name="0.8.13.html" hash="e9bf17af343bfd0931eed6c2f6f0273e"/><file name="0.8.14.html" hash="2d87675e13144be97952e36a757f2811"/><file name="0.8.15.html" hash="41375887fbde15eb7577e0bb4bada0e2"/><file name="0.8.16.html" hash="1c1b11a533bfa26187892946bfd7f339"/><file name="0.8.17.html" hash="277597117d81d75a3cab78ba2fe6ad23"/><file name="0.9.0.html" hash="58b3590294904915d3e12e9caf697d2e"/><file name="1.0.0.html" hash="f48f9b999929433e2aeedc263f2571bf"/></dir></dir><dir name="etc"><file name="Contactlab_Commons.xml" hash="bfd174f2535b432589bff0f4fc81ecec"/><file name="adminhtml.xml" hash="460f3ff0ebf20c55d0cfa94429481402"/><file name="config.xml" hash="8382fea8507f2a8ecdbc0e249c318e7c"/><file name="system.xml" hash="ad0e508dfb1d77131bc69e796c16f024"/></dir><dir name="sql"><dir name="contactlab_commons_setup"><file name="install-0.8.0.php" hash="46661857fcf01cbe2cde396924f47f61"/><file name="mysql4-install-0.8.0.php" hash="83032fadee6577e80844079adc580c97"/><file name="upgrade-0.8.0-0.8.1.php" hash="d963ac18fd5150a697280c445715ef3d"/><file name="upgrade-0.8.1-0.8.2.php" hash="d2dc6cb4e61becd440e0aa1ef86741ab"/><file name="upgrade-0.8.13-0.8.14.php" hash="aa7a1797ae911908547e6ebced4c277a"/><file name="upgrade-0.8.2-0.8.3.php" hash="fbc0488645da03c2cc86305a348ee067"/><file name="upgrade-0.8.3-0.8.4.php" hash="9caf4bed86e90f29ef7abaad0c172cd2"/><file name="upgrade-1.0.0-1.0.1.php" hash="22bbf46398b73475ef1e367a9377c834"/></dir></dir></dir><dir name="Subscribers"><dir name="Block"><dir name="Adminhtml"><file name="Export.php" hash="dbbc2d51a507bf3a4b7aaaf006b2e9c4"/></dir><dir name="Newsletter"><dir name="Subscribers"><file name="Modify.php" hash="9011a378b053f6363b38de63e448da82"/><file name="Subscribe.php" hash="32873e816417af84e88016af6b36a2ba"/><file name="Update.php" hash="563e0dfa5d463d763f21356f2438aa38"/></dir></dir></dir><dir name="Helper"><file name="Checks.php" hash="999b92aac7be891bc67e24f907870caa"/><file name="Data.php" hash="70d6a682392e64be00c6a71238092500"/><file name="Exporter.php" hash="12043ac3f7ae14bd7084b740cca51a7a"/><file name="Uk.php" hash="6d50c16ef3ce7144c6e6587a96880cab"/></dir><dir name="Model"><dir name="Checks"><file name="AbstractCheck.php" hash="afdc7117177bdccc70da33f3691f0ae2"/><file name="CheckInterface.php" hash="94e1743d9de7d356c1fd786b6e54a162"/><file name="ContactlabAuthApiKeyCheck.php" hash="053fc17bf8b98f0bf627640be869a2c7"/><file name="FindDuplicatedCustomersCheck.php" hash="abe297974dc05fcd153de9c0fbd488bf"/><file name="FindInvalidCustomersCheck.php" hash="757d9ba4e1960e8d11bd269523841a9c"/><file name="RewritesCheck.php" hash="1ec4b03fd4b9033374ff68498a63a973"/><file name="SftpSubscriberExporter.php" hash="13e52d267d247f77590d25f11bb0c150"/><file name="SftpXmlDeliveryCheck.php" hash="02500839942354e3529d41b53696808e"/><file name="WsdlCheck.php" hash="0d5c9946ae3fc26014aabe393610614f"/></dir><file name="Cron.php" hash="ff998d290ff804b490ac64acfb44917f"/><file name="EmailExport.php" hash="b3ed1b090b825a8e53139eff9e107944"/><dir name="Exporter"><dir name="Subscribers"><dir name="InfoTransporter"><file name="Abstract.php" hash="c308d4728f88d9adf2e8cc1ad738f25b"/><file name="Customer.php" hash="31525219d45a3b57021e53e94a747599"/><file name="Deleted.php" hash="81c35ae7dc9079e6066a6daceff6fb96"/><file name="Subscriber.php" hash="fe7d8919967b4eca845377e43bf10292"/></dir><dir name="MapTransporter"><file name="Abstract.php" hash="33dd82745d6d5278165dbd015eea754b"/><file name="Address.php" hash="32b7874a1923f98befd2bb53e0ee6547"/><file name="Attribute.php" hash="1c88e00280f50a0b649145219dc908a3"/></dir></dir><file name="Subscribers.php" hash="658a6674332f2f6b9915e2b0ffb8ab37"/></dir><file name="Fields.php" hash="1647ad72d9ffd01507ff2e1905d06840"/><dir name="Importer"><file name="Subscribers.php" hash="0c087db3b7461e704c7b0190abb982bc"/></dir><dir name="Newsletter"><file name="Subscriber.php" hash="aeffddf37091ff4a231d7845b30925c8"/><dir name="Subscribers"><file name="Observer.php" hash="b53c359c47de8695bb8f5187b765e547"/></dir></dir><dir name="Observer"><file name="Fields.php" hash="1914da6670e6e036090124376a63da38"/><file name="Uk.php" hash="0deac2259e97a2ef1a72d2b8a2217bc2"/></dir><file name="Observer.php" hash="ec02dd05f20c942c3b677deb74c31599"/><dir name="Resource"><dir name="EmailExport"><file name="Collection.php" hash="8f15643741b8dd7a4be2a6d1fc57b2cf"/></dir><file name="EmailExport.php" hash="d042bdf71ade2d80100fc39b96315f39"/><dir name="Fields"><file name="Collection.php" hash="b9c7ef78e14d06a803b78731283ec3ba"/></dir><file name="Fields.php" hash="17cc1061442f3124c0483e21c6cb60cf"/><dir name="Newsletter"><file name="Subscriber.php" hash="10c1cc4516fc0644655c01225d43b022"/></dir><dir name="Stats"><file name="Collection.php" hash="fa92b14e6d466d517d5390840268ff6e"/></dir><file name="Stats.php" hash="3b8e15132397711baf499c0fb654ab17"/><dir name="Uk"><file name="Collection.php" hash="660d44a3a3fbce7b7f30b2aa5cb97381"/></dir><file name="Uk.php" hash="673867d3e06ca928bb544c96536b9103"/></dir><dir name="Soap"><file name="AbstractSubscriberCall.php" hash="e5a6854a6abe1e2c7c1947c02f6742fb"/><file name="GetSubscriptionStatus.php" hash="4e3f2f2034f56a82b3f29492082c887c"/><file name="SetSubscriptionStatus.php" hash="c356bf8ab55d28f38db0efc729f2cabd"/><file name="StartSubscriberDataExchangeCall.php" hash="ed9ea900676fb00e12ff58c19e0ef1c4"/><file name="SubscriberNotFoundException.php" hash="7b34788b3e71febcafe5d17f83192b54"/></dir><file name="Stats.php" hash="288b3b4312d0bf366caf6e1e6c913a44"/><dir name="System"><dir name="Config"><dir name="Source"><dir name="Export"><file name="CheckUkPolicy.php" hash="4c52ee5463ff95d2a30714a24c2e521a"/><file name="Policy.php" hash="67e0a791095847cb89cb2ce311e4865f"/></dir></dir></dir></dir><dir name="Task"><file name="CalcStatsRunner.php" hash="eb0f152c42b2317b90ee00d27f947431"/><file name="ClearStatsRunner.php" hash="274ed827c0af4b888f9470fbf11ff86b"/><file name="ExportSubscribersRunner.php" hash="cd95a707bb542b08edf9e94fc5e153e6"/><file name="ImportSubscribersRunner.php" hash="496745ed30b1f274e543a5be9015078e"/><file name="StartSubscriberDataExchangeRunner.php" hash="97df2b3a6347be0a8a3d6f2c1ff78ad5"/><file name="TruncateUkRunner.php" hash="b8a48277c93f25f8d6a4ea42af437ff1"/><file name="UpdateSubscriberStatusRunner.php" hash="c13756209e73667f443d63cd8e4af691"/><file name="UpdateUkRunner.php" hash="31d73e9569367927286de0581d2285fc"/></dir><file name="Uk.php" hash="646eb6fc1af9b5ab601a7eed25a22050"/></dir><dir name="Test"><dir name="Helper"><file name="Checks.php" hash="5a9734a2fca4b49ab942c450ebf32775"/></dir><dir name="Model"><dir name="Checks"><file name="ContactlabAuthApiKeyCheck.php" hash="dc14e7d82c433914eea09a75c4e6f5a2"/><file name="FindDuplicatedCustomersCheck.php" hash="2a33873168c94d31c098704fecf4e6c4"/><file name="FindInvalidCustomersCheck.php" hash="5b6985695993e8acbd540a82d1a83aee"/><file name="RewritesCheck.php" hash="93d008de2807cb0209a397720b2c6499"/><file name="WsdlCheck.php" hash="9a49fe2a35ce7d9391d443b26fc31d8a"/></dir><file name="Uk.php" hash="5254745888787f083b4361e2f0ce4a31"/></dir></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Contactlab"><dir name="Subscribers"><file name="ExportController.php" hash="141c13b29c3d08a8cebc5753910853d4"/><file name="ImportController.php" hash="e30470248e0b2f6d48daa9c76cb46b00"/><file name="StatsController.php" hash="b7dcf038c82964db4574b20a44efea4c"/><file name="UkController.php" hash="ac2669685426ce5dad4bd9784a75297e"/></dir></dir></dir><file name="EditController.php" hash="0e73ec91f39642065c0278b96c1afcae"/><file name="ModifyController.php" hash="1c7d1cc32e5869515d2e688e818e7fda"/></dir><dir name="data"><dir name="contactlab_subscribers_setup"><file name="data-upgrade-0.8.4-0.8.5.php" hash="b44b6ee842349b9dbcf93d237af61960"/></dir></dir><dir name="docs"><dir name="build"><file name="build.bash" hash="114980c92310c5672fc3b9b7819e7838"/><file name="files.txt" hash="103f8b2fa61f4887416f0e9218a62a1a"/></dir><dir name="release-notes"><file name="0.8.12-20150116.html" hash="4b0889525dc1d40ffd703dcdd72edbcc"/><file name="0.8.13-20150204.html" hash="4f30d3b723ebee5f784ce3bc0b39ee25"/><file name="0.8.14-20150213.html" hash="cdcbb67655d0595e4dee4f63b011edbe"/><file name="0.8.15-20150309.html" hash="3913bab1da721f35377a289b99bbd642"/><file name="0.8.16.html" hash="68b8c749ac7269c4cd879b2088563a39"/><file name="0.8.17.html" hash="1ee5b5904b4998ca23b07fdd7aeafcb1"/><file name="0.8.18.html" hash="509dbbf9eca227918f75bd32beb297c9"/><file name="0.8.20.html" hash="4a69862b759a69219fd5ab40de4ad51d"/><file name="0.8.21.html" hash="60f170d1c2115d06791123d47ba93804"/><file name="0.9.0.html" hash="281a85179f31f5f700949c7e748b0949"/><file name="0.9.1.html" hash="bd181e6d14d0dc4a805b5532a7887068"/><file name="1.0.0.html" hash="6abd3f6f069ffeb16a507c0938f122de"/><file name="1.0.1.html" hash="352c95a5379c7d36189ec6ec5a0c34ec"/></dir></dir><dir name="etc"><file name="Contactlab_Subscribers.xml" hash="c9808465720abbf1eb7be475dbf3b826"/><file name="adminhtml.xml" hash="9d122f10695f3fe0de64852790034bd2"/><file name="config.xml" hash="63720be461d85cb2b7256003ee945931"/><file name="system.xml" hash="cc05be0c07f0bc6890f306ec77344338"/></dir><dir name="sql"><dir name="contactlab_subscribers_setup"><file name="install-0.8.0.php" hash="a6368d7e6de257005c34fc35972ba075"/><file name="mysql4-install-0.8.0.php" hash="ea9534669baf1f8ba83460eb373e4b3f"/><file name="mysql4-upgrade-0.8.2-0.8.3.php" hash="37388310991d293e7a4d3dcc079f1aa7"/><file name="mysql4-upgrade-0.8.7-0.8.8.php" hash="19858565525423737b71d63d24ce9b9e"/><file name="mysql4-upgrade-1.2.0-1.2.2.php" hash="f9ebd160d597bf10efa203940b4842e9"/><file name="upgrade-0.8.0-0.8.1.php" hash="4c8fd8b51ccda4b27bcf26018e07b9e2"/><file name="upgrade-0.8.1-0.8.2.php" hash="9586aad0f8aeebd7cfe0bda6401c22b3"/><file name="upgrade-0.8.11-0.8.12.php" hash="3f756983b338d11793ec74ff9d7927e6"/><file name="upgrade-0.8.2-0.8.3.php" hash="eaef3ceb5c6faf88c80fb3f28a925a86"/><file name="upgrade-0.8.21-0.8.22.php" hash="65fa0c02fba038f4f80a54e0462c7cbe"/><file name="upgrade-0.8.3-0.8.4.php" hash="5cb53b73936560c4796f5a1387326a45"/><file name="upgrade-0.8.4-0.8.5.php" hash="8b5aceb8a31a965211cc61e46ef046a6"/><file name="upgrade-0.8.5-0.8.6.php" hash="7f3ad36681c04662e4e7f0592005fdd9"/><file name="upgrade-0.8.6-0.8.7.php" hash="b27c5bfe8ca80d562f053bda5407de00"/><file name="upgrade-0.8.7-0.8.8.php" hash="c689709dcb32d0c8d201feb873abb123"/></dir></dir></dir><dir name="Template"><dir name="Block"><dir name="Adminhtml"><dir name="Newsletter"><dir name="Queue"><file name="Grid.php" hash="c4db6dfbe5aaec238bd87e564f5a3ee3"/></dir><dir name="Template"><dir name="Edit"><file name="Form.php" hash="e82b1748370ada98120e548434378ee9"/><file name="Js.php" hash="ebbbac2c2dee60e7ab3c5b3261c52afe"/></dir><file name="Edit.php" hash="53c4ff205c6bc310fa3360faf0446dab"/><dir name="Grid"><dir name="Renderer"><file name="XmlDeliveryStatus.php" hash="e44366255dede7766352fd46393f0f74"/></dir></dir><file name="Grid.php" hash="5efc3c750a8e835fabe5476ef3d1eb19"/><file name="Preview.php" hash="f3f5e99187b6cf9aea0dfd3a83333256"/><dir name="Tasks"><dir name="Detail"><file name="Grid.php" hash="7f50caf5bbd90dbb647af5050f906472"/></dir><file name="Detail.php" hash="e77a09eb9509449eedec7f1bbf70ce16"/><dir name="List"><file name="Grid.php" hash="c6a17747bca319e572dfaa1c032ef93e"/></dir><file name="List.php" hash="a9a88e4d3e49656478ea6f30e1b62a3e"/><dir name="Renderer"><file name="Customer.php" hash="c66e7e05724639e78a515ad1c6de64ae"/><file name="QueueStatus.php" hash="11ecc8c97fcbdaef6fb32818e2962e0c"/></dir></dir></dir></dir><dir name="Tasks"><file name="DebugEmail.php" hash="eeb4b0c88b85f67d0d9114ec0896e8df"/></dir><dir name="Type"><dir name="Edit"><file name="Form.php" hash="534b775de153ecdea8bd47a5c7e092fd"/></dir><file name="Edit.php" hash="7f26eaaa253b8c990310ed8492156fda"/><dir name="Grid"><dir name="Renderer"><file name="ConfigureLink.php" hash="76986da99f39c8b9c4a480422d3bd09f"/></dir></dir><file name="Grid.php" hash="c7c202bd5b9c05c58dc29db784855b5b"/></dir><file name="Type.php" hash="e9e36e56d903ef59e01eb12cdd7d1d54"/><dir name="Widget"><dir name="Button"><file name="Queue.php" hash="85fbfe18a7b7c15fd2a0e4815f8a8ca1"/></dir></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="415aff5ceafe5cae0003c31b8cbf43f8"/><file name="SampleData.php" hash="3e6f32e688ba54258e5da3c7e43a3f10"/></dir><dir name="Model"><file name="Cron.php" hash="7be54cb8f3e49634394af331e5e98020"/><dir name="Newsletter"><dir name="Processor"><file name="Abstract.php" hash="6c8306ba4048bf55c83099cda2469230"/><file name="Cart.php" hash="3a0faf58aec4c85f025c0bff40646954"/><dir name="Filter"><file name="Abstract.php" hash="8a8bc082d68a1c7b90b5389961b60654"/><file name="AbstractDistinctByType.php" hash="2df05bdf36525c085f6c436d2402d607"/><dir name="Cart"><file name="DistinctByType.php" hash="63e3a03b08544121597bc7461ee52a58"/><file name="Dnd.php" hash="6f5a9cf91b56839bc5a7aee4e9a11ccd"/><file name="Have.php" hash="53cac800d406d02e82ae2bf0d984d95f"/><file name="Offset.php" hash="a9f08eedbd380fccea16dc77397d9e23"/><file name="ProductNumber.php" hash="b44135b3b7961cefc506c32891f4a6f1"/><file name="ProductNumberOrTotal.php" hash="1e3f5319efb8ce64b613dcfd6d0a2e37"/><file name="Products.php" hash="70ce880903fcb560006818de030f05db"/><file name="TotalValue.php" hash="334865e6d2a46ddffc3e657eebd5ea21"/></dir><file name="EmailLike.php" hash="34baf8be2aa88a1fe44a71daa87258f8"/><file name="Interface.php" hash="6d2ab6e8d5af5595ea69b928ff27af24"/><file name="OnlyCustomers.php" hash="1fd9a34c408c5a2daca53ea1d840838a"/><file name="Store.php" hash="d90f4af3d625c8280bfabfeac11ce6fe"/><file name="TestMode.php" hash="28817391eec06780c63effc30320e88b"/><dir name="Wishlist"><file name="DistinctByType.php" hash="b622a455f689cd37130ed61e91178711"/><file name="Dnd.php" hash="db13849f95786253e417c16a00bbcea6"/><file name="Have.php" hash="6f238c533f13264b84b0cbf2c4c809f5"/><file name="Offset.php" hash="fe1a43fc318299023ecc6b5352851791"/><file name="ProductNumber.php" hash="9589494f825b57010a2eed5b38562f10"/><file name="ProductNumberOrTotal.php" hash="9242bcc98946d488d6bac0a956eae9e8"/><file name="Products.php" hash="ce7319e5d81c4d9defaadf8363832f3e"/><file name="TotalValue.php" hash="c92bfbb5553c43f2ecacb0cecb55d5ce"/></dir></dir><file name="Generic.php" hash="fba6d138633a3e6d26b6ad59ae929650"/><file name="Interface.php" hash="2020fccf75ca93268e7154a4a06f6c1b"/><file name="Wishlist.php" hash="cf15890ad4d8f19869a3781433753bd5"/></dir><dir name="Queue"><file name="Link.php" hash="fee98cd3b7f7a7c5afe368ecdb2501a7"/></dir><file name="Queue.php" hash="245f401bd4cda90f84c6e32599029f31"/><dir name="Template"><dir name="Compiler"><file name="Abstract.php" hash="8a845abd46468d70cce4e545c2f5a6ad"/><file name="Html.php" hash="2270a452f83be6f3799784a03c393d82"/><file name="Interface.php" hash="bd7016c85bbd710462edc1dafab56590"/><file name="Text.php" hash="cb7aa7cb17e6f2fbe0c5147fea92e478"/></dir></dir><file name="Template.php" hash="1ba50c7e0562007d057301825018b523"/><dir name="XmlDelivery"><file name="Check.php" hash="8fc3262308c334a6e343c497ea57ffaa"/><file name="Uploader.php" hash="ad08e461e406d5f0201cf83583601ef3"/></dir><file name="XmlDelivery.php" hash="f0acd8fe4d0f34d852b1ff884f6ec8a8"/></dir><dir name="Resource"><dir name="Customer"><file name="Collection.php" hash="03eda84abd4ac99c2af60f0f8eca0de0"/></dir><dir name="Newsletter"><dir name="Queue"><file name="Collection.php" hash="17af76b4158b5a44a4171c74e8583738"/><dir name="Link"><file name="Collection.php" hash="880d705a6d77ed16720328393c842d1a"/></dir><file name="Link.php" hash="f4fbc8acd94f5cc0149e9ca814ef990b"/></dir><dir name="Subscriber"><file name="Collection.php" hash="687587b1f9c45c5d658c658026b8252d"/></dir><dir name="Template"><file name="Collection.php" hash="4c4311fbd664e9a8574ba24562862601"/></dir><file name="Template.php" hash="039f4f6e808777aa0c7b74c3b631f8db"/></dir><dir name="Type"><file name="Collection.php" hash="26d09eb4764f6fb93b856fc170a6be35"/></dir><file name="Type.php" hash="8d6c9001caa99ceb0f01cc9f54f2c4af"/></dir><file name="SimpleXMLExtended.php" hash="e28b6caa960498fb75e77d3cebf9472a"/><dir name="System"><dir name="Config"><dir name="Source"><file name="AndOr.php" hash="114c0a86611d6c0149afc4de3c75df42"/><dir name="Delivery"><file name="Method.php" hash="6175029d59b582745a98fba681375b68"/></dir><dir name="Template"><file name="Format.php" hash="527644942d74c5634d1d8f84db24ee77"/><file name="Type.php" hash="292c1f9dc7494315f44976f1163f4574"/></dir></dir></dir></dir><dir name="Task"><file name="CheckNewsletterQueueRunner.php" hash="47a52258ab016e7c9fce57fc9ad5039c"/><file name="Observer.php" hash="3f42a203d2277413a49bbd5d57c966b4"/><file name="ProcessNewsletterQueueRunner.php" hash="d48d15de98e3ea8b17745180b26a7af8"/></dir><file name="Type.php" hash="e7bb0be8ae8d070534511b780d201145"/></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Contactlab"><dir name="Template"><file name="TasksController.php" hash="42d11595cb143afb80e947447904a145"/><file name="TypesController.php" hash="81d5bb593d180df76b8bb33213c71fbd"/></dir><file name="TemplateController.php" hash="3566bc5c3b5f1cd98c365509c3d060de"/></dir><dir name="Newsletter"><file name="QueueController.php" hash="865e18bb175eed185395e3fef1d9dcd2"/><file name="TemplateController.php" hash="abad2cbd9ed0305b3ee5b00cec122074"/></dir></dir><file name="SampleDataController.php" hash="7738e817f7cc8373ce01ab677a8b38ce"/></dir><dir name="data"><dir name="contactlab_template_setup"><file name="data-install-0.8.0.php" hash="691ec4f1cba03ba9a7769e01b4abd3f0"/><file name="data-upgrade-0.8.20-0.8.21.php" hash="14af0bf01230abfac7b229a7667d2966"/></dir></dir><dir name="docs"><dir name="example-templates"><file name="subject_ac.json" hash="c9aa774df01bb168afc0a6e4cf235aa4"/><file name="subject_wl.json" hash="e28b414b6e180613f71fa89628aeb19d"/></dir><dir name="release-notes"><file name="0.8.16-20150116.html" hash="388bb0b9da2461dc90e06303de060e53"/><file name="0.8.17.html" hash="11fb8e56f568027c4b76874368b1daf9"/><file name="0.8.18.html" hash="5d279e41c4d13d3695bc4a01f15ecd78"/><file name="0.8.19.html" hash="fb4533ceb065c1427c58c5e9a44f1910"/><file name="0.8.20.html" hash="e87bade4cedf6e9195cdc7a06a99da5e"/><file name="0.8.21.html" hash="b6e4733fc5bcb75ae4c547f942c40867"/><file name="0.8.22.html" hash="439ee80a2effdc14a7a9a3b1284ae7b6"/><file name="0.8.23.html" hash="04d631373ca8f4e1583fe2fad988579f"/><file name="0.8.24.html" hash="bbc1e1430ad40da34319f676ca195637"/><file name="0.9.0.html" hash="a98c626b81251e26dc0f0ad4fe1a04dd"/></dir></dir><dir name="etc"><file name="Contactlab_Template.xml" hash="bd6884cf9b2f8219f598ea88945d9399"/><file name="adminhtml.xml" hash="25d34cfae07b3150a41024831431edba"/><file name="config.xml" hash="1505f260468c412446cfa255d11dd202"/><file name="system.xml" hash="5d60aa6e3ff1f44cb7489887e72b17f8"/></dir><dir name="sql"><dir name="contactlab_template_setup"><file name="install-0.8.0.php" hash="cfbacdd1ee0dd6dafc7ef2743b2025bd"/><file name="upgrade-0.8.0-0.8.1.php" hash="a892632623aced9c2bba7163cfbd551a"/><file name="upgrade-0.8.1-0.8.2.php" hash="d57ebb94370bf344a19d30bd535c5f3e"/><file name="upgrade-0.8.19-0.8.20.php" hash="454bd54e260fa943cbf4b7e9a54de176"/><file name="upgrade-0.8.2-0.8.3.php" hash="762bc1fea119803410241325fdd5565b"/><file name="upgrade-0.8.22-0.8.23.php" hash="2ac19163d9a9fe007b36d4259271e3af"/><file name="upgrade-0.8.23-0.8.24.php" hash="9a706c92d2db43b60821adfd952b7f77"/><file name="upgrade-0.8.3-0.8.4.php" hash="1ce583cd1bd968eda2df28731d29c4f1"/><file name="upgrade-0.8.4-0.8.5.php" hash="cf6d33fadc358f58712f434314c7d39b"/><file name="upgrade-0.8.5-0.8.6.php" hash="fb815dc3ba13ee481db03886222deadb"/><file name="upgrade-0.8.6-0.8.7.php" hash="889d8a78c3fe624793fbaa5418962d28"/><file name="upgrade-0.8.7-0.8.8.php" hash="482a3378bca1b09d4face0c127576f92"/><file name="upgrade-0.8.8-0.8.9.php" hash="8d47c0ea100e856a892fb3cff8dafd76"/><file name="upgrade-0.8.9-0.8.10.php" hash="92bc695e4384444f82389938bc13be7e"/><file name="upgrade-0.9.0-0.9.1.php" hash="26865bc769baa932139eaf0067a46637"/></dir></dir></dir><dir name="Transactional"><dir name="Helper"><file name="Data.php" hash="4faf1b37aa9c5728d0301ac608538346"/></dir><dir name="Model"><dir name="Email"><file name="Queue.php" hash="6ca14247c8ead4872eab29f0fb3a4b16"/><file name="Template.php" hash="dea2688b02842777165a1a9d32f298e1"/></dir><dir name="Task"><file name="SendEmailRunner.php" hash="663ab3b2161b5dc4a331727b6763c77e"/></dir><dir name="Zend"><file name="Mail.php" hash="dc53255485ee9c4f8e3b77c0d39aaaec"/></dir></dir><dir name="docs"><dir name="release-notes"><file name="0.8.2.html" hash="5551bb5b36f227baa4a82ac09aa306f8"/><file name="0.8.3.html" hash="277597117d81d75a3cab78ba2fe6ad23"/><file name="0.8.31.html" hash="16739925886a489366a264cd14c33144"/><file name="0.9.0.html" hash="018fe082f4ef876621ea545a782f16f1"/></dir></dir><dir name="etc"><file name="Contactlab_Transactional.xml" hash="84437b19aaef7fa6566916485a1eb750"/><file name="adminhtml.xml" hash="09d3fa7ef4d802a69141a501824f3aab"/><file name="config.xml" hash="e848167e69b20248880a2307ca2f7e35"/><file name="system.xml" hash="be6f9b0c56c0ceaf926dff49948239a2"/></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Contactlab_Commons.xml" hash="15d6ae561458b10ef58609958cd1f35f"/><file name="Contactlab_Subscribers.xml" hash="2b205efa6475e1e150e8ea44295667c7"/><file name="Contactlab_Template.xml" hash="c331e35581ef2d31bb44b9b0aea238af"/><file name="Contactlab_Transactional.xml" hash="c21f85926a68b2acee33bc8cf34ebd44"/></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><dir name="contactlab"><file name="commons.xml" hash="57f77de04d63427bccce155ae59a0afd"/><file name="subscribers.xml" hash="f2295e56e52bb01baabb8a21c6c8202f"/><file name="template.xml" hash="ea0c45a73ae8fdcfc39e3d2fc60753f3"/></dir></dir><dir name="template"><dir name="contactlab"><dir name="commons"><file name="configurationcheck.phtml" hash="52029752074af134c8c9327ccf877cb3"/><file name="releasenotes.phtml" hash="10fda97a68d16416a4c908827c0bef62"/><file name="send_mail.phtml" hash="cedfe0a520b352e90c15f72f035dad80"/><dir name="tasks"><file name="js.phtml" hash="b2af96ef1c0452c7149916239249dffd"/><file name="status.phtml" hash="d0ff3be39627817088b88b1bbcdbb50d"/></dir><file name="test.phtml" hash="fcdd03dbe2f50880f62e72aae413d78b"/><file name="version.phtml" hash="3852f6508e96d7d3baccd1e73f56a95a"/></dir><dir name="subscribers"><file name="export.phtml" hash="fcdd03dbe2f50880f62e72aae413d78b"/><file name="subscribers.phtml" hash="14f2aee80e4efa4f1880a2f58ea93781"/><file name="uk.phtml" hash="41c2632e9a48df0ae50fb0d354c7fa01"/></dir><dir name="template"><dir name="edit"><file name="js.phtml" hash="0069a9b4e0b4d26e3d7ac84f605e6e2e"/><file name="validation.phtml" hash="e10df9913a3bb580b4ec5dc92e2b8ba9"/></dir><dir name="tasks"><file name="buttons.phtml" hash="cfcd1a72de994e37a5ac1d5f75d15aa4"/><file name="debugemail.phtml" hash="ba04523182e084b2c7187880835429e5"/></dir><dir name="type"><file name="edit.phtml" hash="b2978f07be2d00dd483046c27d385a5c"/></dir></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><dir name="contactlab"><file name="subscribers.xml" hash="f912768983740fa5e4788d5fd81e4ff9"/></dir></dir><dir name="template"><dir name="contactlab"><dir name="subscribers"><dir name="newsletter"><dir name="subscribers"><file name="modify.phtml" hash="62c882d900bf4bcf4e588505c2aabed4"/><file name="subscribe.phtml" hash="ef4a1960fc673f9fdaa6fedca1e4bb80"/><file name="update.phtml" hash="432fd89d460cf9b83ee50b92aef4498b"/></dir></dir></dir></dir></dir></dir></dir></dir></target><target name="magelocale"><dir name="en_US"><dir name="contactlab"><file name="Contactlab_Commons.csv" hash="a716e3c52977bef0a83b8bc64eed6d54"/></dir></dir><dir name="it_IT"><dir name="contactlab"><file name="Contactlab_Commons.csv" hash="dd3274eadbefadf8f4da01b1fbcaa417"/><file name="Contactlab_Subscribers.csv" hash="084bd18f108750ce7ba504cd17bd0552"/><file name="Contactlab_Template.csv" hash="4058983ef5aee89c12a36fe359875908"/><file name="Contactlab_Transactional.csv" hash="c10ccac895b8bf97fd133b65579ae4eb"/></dir></dir></target><target name="mage"><dir name="js"><dir name="contactlab_commons"><dir name="adminhtml"><file name="tasks.js" hash="e8e91556e4e122bfc8b53647a4535d53"/></dir></dir></dir></target><target name="magelib"><dir name="contactlab"><file name="Attachment.php" hash="4dd95e31c3cb73d1d55e5ae51a17209a"/><file name="AuthToken.php" hash="00955cde5b7ad26a6933bea2331ef012"/><file name="BounceDetail.php" hash="488404a38f87a2bb69963c13008457c5"/><file name="Campaign.php" hash="9e71bfc36afadb5238e99f65aed291dc"/><file name="CampaignFeedback.php" hash="9ec796ddb3826fa2ef79661b9f476e6b"/><file name="CampaignLookupPreferences.php" hash="247a1d11f2b48f88b0ab3ffd49808247"/><file name="CampaignNote.php" hash="766543c655f647357ebe3f1e11c5ecd4"/><file name="CampaignNotes.php" hash="2554a41a65a99ab00fd2bf847f09f63d"/><file name="Campaigns.php" hash="ce759e2d677623f0482dc71f451674b7"/><file name="ClabService.php" hash="0cb5e81e9abee888a82238604f405408"/><file name="CommunicationCategory.php" hash="d4a3dff3d71cac521dff8aff568f7780"/><file name="EmailMessage.php" hash="abb361cbbc827ae4e810788d680dda60"/><file name="FaxMessage.php" hash="4a6718c8cf06e19fd90597be4fae8511"/><file name="LookupPreferences.php" hash="7ecd011496f99453bc45d0b5f05caf20"/><file name="Message.php" hash="88372af680074a0d4215601ace73c3c0"/><file name="MessageModels.php" hash="49e44071f3639a599fa4d30759b99f01"/><file name="Recipients.php" hash="f3de79ad97782f4511cc4592a5751fea"/><file name="Sender.php" hash="ec91192aae86f5da011d05f9556d3b07"/><file name="SlicedDataSet.php" hash="7ee3e0ea0f67c7c85ab74015f6b12a56"/><file name="Subscriber.php" hash="2cce2c60f49b2bfe8650bf07ccd7e0fb"/><file name="SubscriberAttribute.php" hash="071cf1754e47ee6141de6a68e85d27a7"/><file name="SubscriberSource.php" hash="a4d2ae669640c6bd65a3e0fcb2467540"/><file name="SubscriberSourceField.php" hash="3b2d2526698832801047059fc1269018"/><file name="SubscriberSourceFilter.php" hash="f19bb9876b432bb5fa3e980936942070"/><file name="SubscriberSourceFilters.php" hash="6ee53b041cc5b873faf55edd38e6c5b4"/><file name="SubscriberSources.php" hash="ad2b28a80ede3ca2fc3affbb81228065"/><file name="Subscribers.php" hash="91ab6d1096a4be9047d006502b347d4d"/><file name="TextMessage.php" hash="e9213ccffefd2910ca5c4df09287ccbc"/><file name="TrackedLink.php" hash="830f2542cdfd8abe196c40d0976717a4"/><file name="TrackedLinks.php" hash="eeef87e8d7716bc02b118f237e9e7f08"/><file name="XMLDeliveryInfos.php" hash="a92d8f147d831e0d8ad9a59ac175ebcd"/><file name="addAttachment.php" hash="aafb4d4b4ff429d53ff04e9d4280ce7f"/><file name="addAttachmentResponse.php" hash="fd82c72432993a38ec954cbadd70a907"/><file name="addCampaignNote.php" hash="97b30bcaa074445579b0cc101405f222"/><file name="addCampaignNoteResponse.php" hash="a43580bce766bb90976cf37a7e8b12b7"/><file name="addSubscriber.php" hash="10d8330a8c31d8a74a643389efcdc863"/><file name="addSubscriberResponse.php" hash="17ee7cbf8ab81934334e43f23758473c"/><file name="addSubscriberSource.php" hash="9bc3c67af5132b4384124fb373a7bdf4"/><file name="addSubscriberSourceFilter.php" hash="c9b8b8ab031be5be6672e24686a08724"/><file name="addSubscriberSourceFilterResponse.php" hash="d8a43ceef9b5e43f0ad2916a68afd9c6"/><file name="addSubscriberSourceResponse.php" hash="28f6abe65906eef415e180b5c637ba36"/><file name="addSubscribers.php" hash="637fdea104587a2231f3c43839d2d5a1"/><file name="addSubscribersResponse.php" hash="37b214030476208d8742354329770257"/><file name="archiveSubscriberSourceFilter.php" hash="e5ef057e35d274e3139a386330093eab"/><file name="archiveSubscriberSourceFilterResponse.php" hash="bd56103fddbf9d2fd0e6d4b868123b50"/><file name="borrowToken.php" hash="c7e3736ab5dd453b372f261c1511f795"/><file name="borrowTokenResponse.php" hash="c888fb23b89d9a12ae45cf09dc07cbc6"/><file name="cancelCampaign.php" hash="837363783c11e4751144cea5b20b250a"/><file name="cancelCampaignResponse.php" hash="c09fcdc56774b82cca16222ffc360525"/><file name="cloneAndSendCampaign.php" hash="bc85929ae1f2b694e4d80df22c0cfa12"/><file name="cloneAndSendCampaignResponse.php" hash="b9f4afa47bb0c7d953d8471858bd8181"/><file name="countSubscribers.php" hash="97cdbdd6c4a5949b2d3c6b79adf7dc0a"/><file name="countSubscribersIncludedInFilter.php" hash="a4c1953510ee1f1f680ddcb50dedda83"/><file name="countSubscribersIncludedInFilterResponse.php" hash="e950b50136733aeefb57faac759318b0"/><file name="countSubscribersResponse.php" hash="47f5b01e68a5337241e540d8d14d6506"/><file name="createCampaign.php" hash="7af3d8b6176af5dbed9005002c5f9fea"/><file name="createCampaignResponse.php" hash="1f94aa0ced02397e5cbc3685880ff6c6"/><file name="createMessageModel.php" hash="3a2be564063f933b2c9a5220f75aba19"/><file name="createMessageModelResponse.php" hash="e77c07e74f6b2adb906d663d6a5ab796"/><file name="findArchivedFiltersBySubscriberSource.php" hash="665fdb9883a932354b9646e1cdcdc085"/><file name="findArchivedFiltersBySubscriberSourceResponse.php" hash="c28a96905fc9c85e3be850a9b3182ff3"/><file name="findCampaigns.php" hash="994da9782174931b0c4959a595ae35db"/><file name="findCampaignsByModel.php" hash="94cd24329ce937cd504917ba19813022"/><file name="findCampaignsByModelResponse.php" hash="606ea2662d7ed0c0ed90816142b8a423"/><file name="findCampaignsByNameOrSubject.php" hash="729aafc3da9fc5d60cc89bcf37e384d9"/><file name="findCampaignsByNameOrSubjectResponse.php" hash="3205d1dda7a1dbc55cb13451422509b3"/><file name="findCampaignsByNote.php" hash="e642c65d5c05d3a29a2882702a972029"/><file name="findCampaignsByNoteResponse.php" hash="3daab98189a2bf900c373bba533bccfc"/><file name="findCampaignsByStatus.php" hash="06bfdd8059f962e5152bf4690a9a1432"/><file name="findCampaignsByStatusResponse.php" hash="f2e2a60b926a4b055ee3ad35eb35467c"/><file name="findCampaignsResponse.php" hash="aa12cfdb1dc21618c9dcea68ce4e4a36"/><file name="findCampaignsSentBetween.php" hash="5978f7d3ea6d4e169aeef958a93b64a7"/><file name="findCampaignsSentBetweenResponse.php" hash="27db82a783f299a904e5f840c6bead94"/><file name="findFiltersBySubscriberSource.php" hash="780c7a78fccb4e9072ef51fdb798ef0e"/><file name="findFiltersBySubscriberSourceResponse.php" hash="047ebedff8cdb8e3fbc22143b958443e"/><file name="findMessageModels.php" hash="249f73d33c9efdc16817ac6228827894"/><file name="findMessageModelsBySubscriberSource.php" hash="16ed2e80ac0b28a3bc0eaccdde43770d"/><file name="findMessageModelsBySubscriberSourceResponse.php" hash="7c75c3a33072fed17ca6ba08d927ef9a"/><file name="findMessageModelsResponse.php" hash="e2381a5ca3c286a4b2240b5af84f4cfb"/><file name="findNotesByCampaign.php" hash="816af78e41fbf6941ca5c6d508371add"/><file name="findNotesByCampaignResponse.php" hash="54964b987980cb5d2e9d918c8c7ff70c"/><file name="findPeriodicCampaigns.php" hash="ef83d75476d289d2e81fef015310e9f1"/><file name="findPeriodicCampaignsResponse.php" hash="e0cd3bf7f0ebd1750aaf4c124044bdef"/><file name="findSubscriberSources.php" hash="1f865ba0607fb54d611519483c0ba37e"/><file name="findSubscriberSourcesResponse.php" hash="468dffd45134f7a82e250c9eb35b7f1a"/><file name="findSubscribers.php" hash="84bcdc3899b6583110570a83aeba41f6"/><file name="findSubscribersIncludedInFilter.php" hash="8507b8aa27a40f4226584af4deba8c26"/><file name="findSubscribersIncludedInFilterResponse.php" hash="fe1f065e3c24c9fba93c91b104af3378"/><file name="findSubscribersResponse.php" hash="7da20215136d55a2d4a338e7b1e80fd8"/><file name="findTriggerableCampaigns.php" hash="df0d9f03bd0cd7db9983f3ed9520b9b5"/><file name="findTriggerableCampaignsResponse.php" hash="4936fc7428e96e27203db2222a2a3930"/><file name="getArchivedSubscriberSourceFilter.php" hash="b1ba4a087da85eeed8ad7d637b5b7289"/><file name="getArchivedSubscriberSourceFilterResponse.php" hash="c2c74693aa72e9cfe70da4c5552c1e10"/><file name="getAttachmentByCampaignId.php" hash="4d8d58c768c313e7a34df4b14762f216"/><file name="getAttachmentByCampaignIdResponse.php" hash="ee4653b2fd234eaf3ac3b2ae2763b218"/><file name="getAvailableCommunicationCategories.php" hash="2812d2d787575ca76a6c20a65d959012"/><file name="getAvailableCommunicationCategoriesResponse.php" hash="c44b3783ea5e09fc518026c2e1b4fea6"/><file name="getCampaign.php" hash="0ad3de64f6d886f3e7898370e0286b58"/><file name="getCampaignDeliveryStatus.php" hash="926b85895ffb17fa191151b3ff4f8407"/><file name="getCampaignDeliveryStatusResponse.php" hash="2373c615052b9cd1e96b80e110252804"/><file name="getCampaignFeedback.php" hash="88d80874aa7b4ff30e8dd8d228144045"/><file name="getCampaignFeedbackResponse.php" hash="3c5762d732130b5fc5f2e64d289c1fff"/><file name="getCampaignResponse.php" hash="e9c51b4c1ba979d2a131ffb7f7079fe7"/><file name="getCryptoKey.php" hash="bfb67fef4223514d4853750ae520cda3"/><file name="getCryptoKeyResponse.php" hash="6322e290ed7b23ab69ba5ce892a7ff3e"/><file name="getMessageModelById.php" hash="58a952e46581010154d17e2a2ceeeb97"/><file name="getMessageModelByIdResponse.php" hash="ad90f598343a0469479ad5eda0bcd5ae"/><file name="getRequestStatus.php" hash="9892f5714b0bf16f305d98102a142919"/><file name="getRequestStatusResponse.php" hash="8dfb0a5589dd0556163cf32a988ddfcc"/><file name="getSubscriber.php" hash="28b43e849621dc5f66e339504d709809"/><file name="getSubscriberDataExchangeStatus.php" hash="34defa00aa45b2c05e102af167f60bb7"/><file name="getSubscriberDataExchangeStatusResponse.php" hash="ccdeec492cf724027881a77801eee861"/><file name="getSubscriberResponse.php" hash="31bda97f6261d38931a9a6aca878729a"/><file name="getSubscriberSource.php" hash="e4952a57312cbb47127203ccd7282101"/><file name="getSubscriberSourceFilter.php" hash="38fed10d61883e7f3ad3eaf1017ff861"/><file name="getSubscriberSourceFilterResponse.php" hash="2f9ff8cdecedbdb80f5aed4f82e0872c"/><file name="getSubscriberSourceResponse.php" hash="6288ddc830b2ce6f19253185974e8d08"/><file name="getTrackedLinks.php" hash="65226faf6bdb6548900ecbe4d3f0589a"/><file name="getTrackedLinksResponse.php" hash="1baef1c35da95c50a96cac8dee266db1"/><file name="getXMLDeliveries.php" hash="bec33bc553d3d27088d43947b4b94cae"/><file name="getXMLDeliveriesResponse.php" hash="103249a095ecc11c6a8e45e6ee03ecf8"/><file name="getXMLDeliveryTransitions.php" hash="2c91cfced369a2f291e5926f0f45aa50"/><file name="getXMLDeliveryTransitionsResponse.php" hash="13a5da14b52d69eca8186e160bb1cbc8"/><file name="invalidateToken.php" hash="feb611c092d5679ac11671bde06703f1"/><file name="invalidateTokenResponse.php" hash="5dabc504490ed7f068dcb911f9f4de97"/><file name="keepaliveToken.php" hash="eaf6542a3cd270b21e6e7d184ddd1676"/><file name="keepaliveTokenResponse.php" hash="658b578b970184b6ad7182832db02d89"/><file name="modifySubscriberSubscriptionStatus.php" hash="af08f77094824b87a7806c23b9c16918"/><file name="modifySubscriberSubscriptionStatusByMailqId.php" hash="793b06ffae8d35b6a101b9747463d0bc"/><file name="modifySubscriberSubscriptionStatusByMailqIdResponse.php" hash="f36bb42ce9049625d54542e3b1433b1e"/><file name="modifySubscriberSubscriptionStatusResponse.php" hash="f7e1cece9f5ec7ec246e9c32a7b5dec4"/><file name="publishOnWeb.php" hash="8ba487c1078cd7ad73215aeb59f3df81"/><file name="publishOnWebResponse.php" hash="fb2315ebb11c0468662993a6c63f2fae"/><file name="removeSubscriber.php" hash="c54f6f12de913082d9d37d8b6512c5b5"/><file name="removeSubscriberResponse.php" hash="a685a6eb245d42ba68a8859a7c9976e3"/><file name="requestCampaignFeedbackReport.php" hash="83382be36afc47c912041e39a8a91bb5"/><file name="requestCampaignFeedbackReportResponse.php" hash="a355c87dd81366319a1cbcfef897b63d"/><file name="reuseSubscriberSourceFilter.php" hash="dbe58a95d2d2a9b22931e2f2846ee5a4"/><file name="reuseSubscriberSourceFilterResponse.php" hash="2662fccf2d3c0f8ea8c83748bebdebea"/><file name="sendCampaign.php" hash="d6fc6e6265c57a4d21a1c272e7c99154"/><file name="sendCampaignResponse.php" hash="4e2440bebed2a589fa0165d3e3eed483"/><file name="sendImmediateMessage.php" hash="a3e2036a82d71ff0a82a257a2075d409"/><file name="sendImmediateMessageResponse.php" hash="4c9602a44ac0b7a9eb5b898605af22be"/><file name="sendImmediateMessageSDataCData.php" hash="4642d684e187fde20dc81ccb802af084"/><file name="sendImmediateMessageSDataCDataCA.php" hash="233a58432de264308ad4331a0682821c"/><file name="sendImmediateMessageSDataCDataCAResponse.php" hash="5eab02d47c5833cc0a902bf14c761776"/><file name="sendImmediateMessageSDataCDataResponse.php" hash="351236b1b015e03abca60371fa689abf"/><file name="sendImmediateMessageSDataCIdCA.php" hash="5563f04200dd3533a33a1024ce8b4869"/><file name="sendImmediateMessageSDataCIdCAResponse.php" hash="5b4bac75edc19eb758f2a3553b278629"/><file name="sendImmediateMessageSIdCData.php" hash="71618fe49e43bff9cc53957324397056"/><file name="sendImmediateMessageSIdCDataCA.php" hash="7d2ecd18e0e87e71ace465d1d76d1169"/><file name="sendImmediateMessageSIdCDataCAResponse.php" hash="eae46b409221e5bd2bc58f554242eddc"/><file name="sendImmediateMessageSIdCDataResponse.php" hash="2b5cd3ca959cf22cceb445b8a9487467"/><file name="sendImmediateMessageSdataCAl.php" hash="0374318565674b93c9cc5af74b7dde8e"/><file name="sendImmediateMessageSdataCAlCA.php" hash="5cf7ab51277a87e467f1c1da0b7ca04b"/><file name="sendImmediateMessageSdataCAlCAResponse.php" hash="5f6b99e92f4125d4c5e2c1c52537fe84"/><file name="sendImmediateMessageSdataCAlResponse.php" hash="69b0e09d428b115b56b2dcf151434d0e"/><file name="sendImmediateMessageSidCAl.php" hash="4a5c3b7fdf4a590ea3afe97330520af9"/><file name="sendImmediateMessageSidCAlCA.php" hash="8ee842963b8de8d887b47601cc5acd7e"/><file name="sendImmediateMessageSidCAlCAResponse.php" hash="6e574a4a6a4a87a38db7be60e3ee3855"/><file name="sendImmediateMessageSidCAlResponse.php" hash="6ba97d1cdf7012bfe1fe1964a2943f9e"/><file name="sendImmediateMessageSidCid.php" hash="84d9a2e3fe11d462f18101ea7e5edee5"/><file name="sendImmediateMessageSidCidCA.php" hash="228313907a7ffb2034a8290ba0e7421c"/><file name="sendImmediateMessageSidCidCAResponse.php" hash="a03863e9cca7db6ee1ae5281a16fc3ef"/><file name="sendImmediateMessageSidCidResponse.php" hash="c98ee1afdad240a565bdc1e80da0418a"/><file name="setCampaignRecurrency.php" hash="d70b012427c8bcbb5b919132d3e6abbb"/><file name="setCampaignRecurrencyResponse.php" hash="31339f0edbb429ababc2430e44761f67"/><file name="startSubscriberDataExchange.php" hash="e4dce40e847d1eb73dff51c867dd58da"/><file name="startSubscriberDataExchangeResponse.php" hash="8cf8b384dd795929b8dc067462ec4673"/><file name="triggerDeliveryByAlias.php" hash="28a46cf449766ad8dabde4858d41b6f2"/><file name="triggerDeliveryByAliasResponse.php" hash="1990179026c6d67dc061bcaabfed5a30"/><file name="triggerDeliveryById.php" hash="6e3b46ecc600bffcd9ab52bcc19f51f7"/><file name="triggerDeliveryByIdResponse.php" hash="ef45334a763e77f60238dac80c0d2cc9"/><file name="updateSubscriber.php" hash="ff20a2ee470eaf9cfbb9b313307fc543"/><file name="updateSubscriberResponse.php" hash="6da25998752a81b407c85e26c7047a8d"/><file name="uploadMediaContent.php" hash="e93aca9ec6e1b36371836e539efb41a3"/><file name="uploadMediaContentResponse.php" hash="6ed39f2d177b4705768cf35db6829c2f"/><file name="xmlDeliveryInfo.php" hash="cc0bbdbe9741e5be2d6e5cdccea43c91"/><file name="xmlDeliveryTransitionInfo.php" hash="f0fd36cf966311c097eb2ebbe63d7afa"/></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="images"><dir name="contactlab"><dir name="commons"><file name="cancel.png" hash="17065c5c397c6f6ca9ac97ab1033f88a"/><file name="delete.png" hash="61e27f7ba4b87e918351239b160c03de"/><file name="retry.png" hash="45700cc820e53665b269352564f08957"/><file name="run.png" hash="595432ecd2f7124cb5e96279a727c944"/><file name="suspend.png" hash="8f2ea46ca3b37ab4fefbf5d8b7b66cf0"/><file name="unsuspend.png" hash="5b3bf2cc96fa070b727b8d0765f2704d"/></dir></dir></dir></dir></dir></dir></target></contents>
|
35 |
<compatible/>
|
36 |
<dependencies><required><php><min>5.3.0</min><max>6.0.0</max></php></required></dependencies>
|
37 |
</package>
|