Version Notes
1.1.3
- Added support for SUPEE-6788
- Remove LF and CR characters from lists csv rows;
- Fix bug Abandoned carts are triggered only 1 time for each customer in magento 1.9;
- Fix JavaScript problems so that the checkbox for subscribe displays also in magento 1.9 rwd theme;
- Changed text encoding for emails to UTF-8 when necessary so that sending one2one always works with pure360;
1.1.2
- Allow Response API to be accessed via HTTPS
- Also allow HTTP API access
1.1.1
- Opt out removal syncronisation fix
1.1.0
- Username/password check when changing API URL
- Increased the page refresh time in Cron job page
- Newsletter signup checkbox should not be checked by default if the use has already opted-out
1.0.4
- List opt-out support extended
1.0.3
- Stability fixes
- Verbose error handling
- List Sync fixes
1.0.2
- Dropdown values synced properly
- Boolean Yes/No synced
- Data consistency
- UI tweaks
- Admin routing updated
1.0.1
- Magento Connect compliance
Release Info
Developer | Stewart Waller |
Extension | Pure360 |
Version | 1.1.3 |
Comparing to | |
See all releases |
Code changes from version 1.1.2 to 1.1.3
- app/code/community/Pure360/Cart/Helper/Data.php +1 -1
- app/code/community/Pure360/Cart/Job/Trigger.php +20 -24
- app/code/community/Pure360/Cart/controllers/AjaxController.php +1 -1
- app/code/community/Pure360/Cart/etc/config.xml +10 -10
- app/code/community/Pure360/Cart/sql/pure360_cart_setup/mysql4-upgrade-1.1.2-1.1.3.php +45 -0
- app/code/community/Pure360/Common/Helper/Api.php +3 -4
- app/code/community/Pure360/Common/Helper/File.php +2 -1
- app/code/community/Pure360/Common/controllers/AjaxController.php +1 -1
- app/code/community/Pure360/Common/etc/config.xml +9 -9
- app/code/community/Pure360/Cron/controllers/AjaxController.php +1 -1
- app/code/community/Pure360/Cron/etc/config.xml +9 -9
- app/code/community/Pure360/Email/Helper/Api.php +1 -3
- app/code/community/Pure360/Email/Model/Email/Message.php +21 -1
- app/code/community/Pure360/Email/etc/config.xml +9 -9
- app/code/community/Pure360/List/Job/Sync.php +15 -5
- app/code/community/Pure360/List/controllers/AjaxController.php +1 -1
- app/code/community/Pure360/List/etc/config.xml +9 -9
- app/code/community/Pure360/Newsletter/Helper/Api.php +2 -2
- app/code/community/Pure360/Newsletter/etc/config.xml +9 -9
- app/design/frontend/base/default/template/pure360/newsletter/jsinit.phtml +2 -2
- lib/Pure360/Client.php +34 -30
- lib/Pure360/Session.php +2 -1
- package.xml +12 -5
@@ -29,7 +29,7 @@ class Pure360_Cart_Helper_Data extends Pure360_Common_Helper_Data
|
|
29 |
$storeIds = Mage::helper('pure360_common')->getStoreIdsForScope($scope, $scopeId);
|
30 |
|
31 |
$sql = "UPDATE $table
|
32 |
-
SET
|
33 |
WHERE is_active = 1
|
34 |
AND store_id IN (". implode(",", $storeIds) .")";
|
35 |
|
29 |
$storeIds = Mage::helper('pure360_common')->getStoreIdsForScope($scope, $scopeId);
|
30 |
|
31 |
$sql = "UPDATE $table
|
32 |
+
SET pure360_trigger_id = -1
|
33 |
WHERE is_active = 1
|
34 |
AND store_id IN (". implode(",", $storeIds) .")";
|
35 |
|
@@ -36,9 +36,9 @@ class Pure360_Cart_Job_Trigger extends Pure360_Cron_Job_Abstract
|
|
36 |
$this->max_cart_size = Mage::helper('pure360_common')->getScopedConfig('pure360_cart/' . $filter . 'settings/max_cart_size', $scope, $scopeId);
|
37 |
$this->processed = array();
|
38 |
|
39 |
-
for($
|
40 |
{
|
41 |
-
$triggerName = 'trigger' . ($
|
42 |
$triggerEnabled = Mage::helper('pure360_common')->getScopedConfig('pure360_cart/' . $filter . $triggerName . '/enabled', $scope, $scopeId);
|
43 |
|
44 |
if($triggerEnabled)
|
@@ -62,13 +62,14 @@ class Pure360_Cart_Job_Trigger extends Pure360_Cron_Job_Abstract
|
|
62 |
}
|
63 |
}
|
64 |
|
65 |
-
$quotes = $this->getQuotesForTrigger($scope, $scopeId, $triggerDelay, $
|
66 |
|
67 |
foreach($quotes as $quote)
|
68 |
{
|
69 |
-
|
70 |
-
$
|
71 |
-
|
|
|
72 |
|
73 |
// Store Id as processed
|
74 |
$this->processed[] = $quote->getEntityId();
|
@@ -147,9 +148,6 @@ class Pure360_Cart_Job_Trigger extends Pure360_Cron_Job_Abstract
|
|
147 |
$to = date('Y-m-d H:i:s', $lastTime);
|
148 |
$collection->addFieldToFilter('updated_at', array('to' => $to));
|
149 |
|
150 |
-
// Add triggerNumber filter
|
151 |
-
$collection->addFieldToFilter('pure360_trigger_count', array('eq' => ($triggerNumber - 1)));
|
152 |
-
|
153 |
// Add processed filter
|
154 |
if(!empty($this->processed))
|
155 |
{
|
@@ -157,29 +155,29 @@ class Pure360_Cart_Job_Trigger extends Pure360_Cron_Job_Abstract
|
|
157 |
}
|
158 |
|
159 |
// Add order and limit
|
160 |
-
$collection->getSelect()
|
|
|
|
|
161 |
|
162 |
return $collection;
|
163 |
}
|
164 |
|
165 |
/**
|
166 |
-
*
|
167 |
*
|
168 |
* @param Mage_Sales_Model_Quote $quote
|
169 |
*/
|
170 |
-
private function
|
171 |
{
|
172 |
-
$resource
|
173 |
-
$write
|
174 |
-
$table
|
175 |
-
$
|
176 |
-
$
|
177 |
-
$entityId = $quote->getEntityId();
|
178 |
|
179 |
$sql = "UPDATE $table
|
180 |
-
SET
|
181 |
-
|
182 |
-
pure360_trigger_count = pure360_trigger_count+1
|
183 |
WHERE entity_id = $entityId";
|
184 |
|
185 |
$write->query($sql);
|
@@ -242,8 +240,6 @@ class Pure360_Cart_Job_Trigger extends Pure360_Cron_Job_Abstract
|
|
242 |
WHERE entity_id = $entityId
|
243 |
AND is_active = 1";
|
244 |
|
245 |
-
|
246 |
-
|
247 |
-
$write->query($sql);
|
248 |
}
|
249 |
}
|
36 |
$this->max_cart_size = Mage::helper('pure360_common')->getScopedConfig('pure360_cart/' . $filter . 'settings/max_cart_size', $scope, $scopeId);
|
37 |
$this->processed = array();
|
38 |
|
39 |
+
for($triggerId = 1; $triggerId <= 3; $triggerId++)
|
40 |
{
|
41 |
+
$triggerName = 'trigger' . ($triggerId);
|
42 |
$triggerEnabled = Mage::helper('pure360_common')->getScopedConfig('pure360_cart/' . $filter . $triggerName . '/enabled', $scope, $scopeId);
|
43 |
|
44 |
if($triggerEnabled)
|
62 |
}
|
63 |
}
|
64 |
|
65 |
+
$quotes = $this->getQuotesForTrigger($scope, $scopeId, $triggerDelay, $triggerId);
|
66 |
|
67 |
foreach($quotes as $quote)
|
68 |
{
|
69 |
+
|
70 |
+
$quote->setPure360TriggerId($triggerId);
|
71 |
+
// Update Trigger Id and date
|
72 |
+
$this->updateTriggerIdAndTriggerDate($quote);
|
73 |
|
74 |
// Store Id as processed
|
75 |
$this->processed[] = $quote->getEntityId();
|
148 |
$to = date('Y-m-d H:i:s', $lastTime);
|
149 |
$collection->addFieldToFilter('updated_at', array('to' => $to));
|
150 |
|
|
|
|
|
|
|
151 |
// Add processed filter
|
152 |
if(!empty($this->processed))
|
153 |
{
|
155 |
}
|
156 |
|
157 |
// Add order and limit
|
158 |
+
$collection->getSelect()
|
159 |
+
->where(new Zend_Db_Expr('pure360_trigger_id = '.($triggerNumber - 1).' OR updated_at > pure360_trigger_dt')) // Add triggerNumber filter
|
160 |
+
->order('updated_at asc')->limit($this->max_cart_size);
|
161 |
|
162 |
return $collection;
|
163 |
}
|
164 |
|
165 |
/**
|
166 |
+
* Update trigger id and trigger date
|
167 |
*
|
168 |
* @param Mage_Sales_Model_Quote $quote
|
169 |
*/
|
170 |
+
private function updateTriggerIdAndTriggerDate($quote)
|
171 |
{
|
172 |
+
$resource = Mage::getSingleton('core/resource');
|
173 |
+
$write = $resource->getConnection('core_write');
|
174 |
+
$table = $resource->getTableName('sales/quote');
|
175 |
+
$entityId = $quote->getEntityId();
|
176 |
+
$triggerId = $quote->getPure360TriggerId();
|
|
|
177 |
|
178 |
$sql = "UPDATE $table
|
179 |
+
SET pure360_trigger_id = $triggerId,
|
180 |
+
pure360_trigger_dt = NOW()
|
|
|
181 |
WHERE entity_id = $entityId";
|
182 |
|
183 |
$write->query($sql);
|
240 |
WHERE entity_id = $entityId
|
241 |
AND is_active = 1";
|
242 |
|
243 |
+
$write->query($sql);
|
|
|
|
|
244 |
}
|
245 |
}
|
@@ -4,7 +4,7 @@
|
|
4 |
* @package Pure360\Cart
|
5 |
* @copyright 2013 Pure360.com
|
6 |
*/
|
7 |
-
class Pure360_Cart_AjaxController extends
|
8 |
{
|
9 |
|
10 |
/**
|
4 |
* @package Pure360\Cart
|
5 |
* @copyright 2013 Pure360.com
|
6 |
*/
|
7 |
+
class Pure360_Cart_AjaxController extends Mage_Core_Controller_Front_Action
|
8 |
{
|
9 |
|
10 |
/**
|
@@ -2,7 +2,7 @@
|
|
2 |
<config>
|
3 |
<modules>
|
4 |
<Pure360_Cart>
|
5 |
-
<version>1.1.
|
6 |
</Pure360_Cart>
|
7 |
</modules>
|
8 |
<global>
|
@@ -107,15 +107,15 @@
|
|
107 |
</layout>
|
108 |
</adminhtml>
|
109 |
<admin>
|
110 |
-
<routers>
|
111 |
-
<
|
112 |
-
<
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
</args>
|
117 |
-
</
|
118 |
-
</routers>
|
119 |
</admin>
|
120 |
<default>
|
121 |
<pure360_cart>
|
2 |
<config>
|
3 |
<modules>
|
4 |
<Pure360_Cart>
|
5 |
+
<version>1.1.3</version>
|
6 |
</Pure360_Cart>
|
7 |
</modules>
|
8 |
<global>
|
107 |
</layout>
|
108 |
</adminhtml>
|
109 |
<admin>
|
110 |
+
<routers>
|
111 |
+
<adminhtml>
|
112 |
+
<args>
|
113 |
+
<modules>
|
114 |
+
<pure360_cart before="Mage_Adminhtml">Pure360_Cart_Adminhtml</pure360_cart>
|
115 |
+
</modules>
|
116 |
+
</args>
|
117 |
+
</adminhtml>
|
118 |
+
</routers>
|
119 |
</admin>
|
120 |
<default>
|
121 |
<pure360_cart>
|
@@ -0,0 +1,45 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
$installer = $this;
|
4 |
+
/* @var $installer Mage_Sales_Model_Mysql4_Setup */
|
5 |
+
|
6 |
+
$installer->startSetup();
|
7 |
+
|
8 |
+
try {
|
9 |
+
$installer->run("
|
10 |
+
ALTER TABLE {$installer->getTable('sales/quote')}
|
11 |
+
CHANGE pure360_trigger_count pure360_trigger_id INT(11);
|
12 |
+
");
|
13 |
+
} catch (Exception $e) {
|
14 |
+
//
|
15 |
+
}
|
16 |
+
|
17 |
+
try {
|
18 |
+
$installer->run("
|
19 |
+
ALTER TABLE {$installer->getTable('sales/quote')}
|
20 |
+
DROP INDEX IDX_PURE360_CART_TRIG_CNT,
|
21 |
+
ADD INDEX IDX_PURE360_CART_TRIG_ID(pure360_trigger_id);
|
22 |
+
");
|
23 |
+
} catch (Exception $e) {
|
24 |
+
//
|
25 |
+
}
|
26 |
+
|
27 |
+
try {
|
28 |
+
$installer->run("
|
29 |
+
ALTER TABLE {$installer->getTable('sales/quote')}
|
30 |
+
ADD COLUMN pure360_trigger_dt TIMESTAMP DEFAULT '0000-00-00 00:00:00';
|
31 |
+
");
|
32 |
+
} catch (Exception $e) {
|
33 |
+
//
|
34 |
+
}
|
35 |
+
|
36 |
+
try {
|
37 |
+
$installer->run("
|
38 |
+
UPDATE {$installer->getTable('sales/quote')}
|
39 |
+
SET pure360_trigger_dt = NOW();
|
40 |
+
");
|
41 |
+
} catch (Exception $e) {
|
42 |
+
//
|
43 |
+
}
|
44 |
+
|
45 |
+
$installer->endSetup();
|
@@ -180,11 +180,10 @@ class Pure360_Common_Helper_Api extends Mage_Core_Helper_Abstract
|
|
180 |
curl_setopt($curl, CURLOPT_POSTFIELDS, $postFields);
|
181 |
|
182 |
$res = curl_exec($curl);
|
183 |
-
$info = curl_getinfo($curl);
|
184 |
-
Mage::helper('pure360_common')->writeDebug("Res: " . $res);
|
185 |
-
Mage::helper('pure360_common')->writeDebug("Info: " . print_r($info, true));
|
186 |
|
187 |
-
|
|
|
|
|
188 |
}
|
189 |
|
190 |
}
|
180 |
curl_setopt($curl, CURLOPT_POSTFIELDS, $postFields);
|
181 |
|
182 |
$res = curl_exec($curl);
|
|
|
|
|
|
|
183 |
|
184 |
+
Mage::helper('pure360_common')->writeDebug($res);
|
185 |
+
|
186 |
+
curl_close($curl);
|
187 |
}
|
188 |
|
189 |
}
|
@@ -165,7 +165,8 @@ class Pure360_Common_Helper_File extends Mage_Core_Helper_Abstract
|
|
165 |
*/
|
166 |
public function outputCSV($filepath, $csv)
|
167 |
{
|
168 |
-
|
|
|
169 |
// Open for writing only; place the file pointer at the end of the file. If the file does not exist, attempt to create it.
|
170 |
$handle = fopen($filepath, "a");
|
171 |
|
165 |
*/
|
166 |
public function outputCSV($filepath, $csv)
|
167 |
{
|
168 |
+
$csv = preg_replace(array("/\r/", "/\n/"), " ", $csv);
|
169 |
+
|
170 |
// Open for writing only; place the file pointer at the end of the file. If the file does not exist, attempt to create it.
|
171 |
$handle = fopen($filepath, "a");
|
172 |
|
@@ -4,7 +4,7 @@
|
|
4 |
* @package Pure360\Common
|
5 |
* @copyright 2013 Pure360.com
|
6 |
*/
|
7 |
-
class Pure360_Common_AjaxController extends
|
8 |
{
|
9 |
|
10 |
/**
|
4 |
* @package Pure360\Common
|
5 |
* @copyright 2013 Pure360.com
|
6 |
*/
|
7 |
+
class Pure360_Common_AjaxController extends Mage_Core_Controller_Front_Action
|
8 |
{
|
9 |
|
10 |
/**
|
@@ -97,15 +97,15 @@
|
|
97 |
</layout>
|
98 |
</adminhtml>
|
99 |
<admin>
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
</admin>
|
110 |
<default>
|
111 |
<pure360>
|
97 |
</layout>
|
98 |
</adminhtml>
|
99 |
<admin>
|
100 |
+
<routers>
|
101 |
+
<adminhtml>
|
102 |
+
<args>
|
103 |
+
<modules>
|
104 |
+
<pure360_common after="Mage_Adminhtml">Pure360_Common_Adminhtml</pure360_common>
|
105 |
+
</modules>
|
106 |
+
</args>
|
107 |
+
</adminhtml>
|
108 |
+
</routers>
|
109 |
</admin>
|
110 |
<default>
|
111 |
<pure360>
|
@@ -4,7 +4,7 @@
|
|
4 |
* @package Pure360\Cron
|
5 |
* @copyright 2013 Pure360.com
|
6 |
*/
|
7 |
-
class Pure360_Cron_AjaxController extends
|
8 |
{
|
9 |
|
10 |
/**
|
4 |
* @package Pure360\Cron
|
5 |
* @copyright 2013 Pure360.com
|
6 |
*/
|
7 |
+
class Pure360_Cron_AjaxController extends Mage_Core_Controller_Front_Action
|
8 |
{
|
9 |
|
10 |
/**
|
@@ -102,15 +102,15 @@
|
|
102 |
</layout>
|
103 |
</adminhtml>
|
104 |
<admin>
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
</admin>
|
115 |
<default>
|
116 |
<pure360_cron>
|
102 |
</layout>
|
103 |
</adminhtml>
|
104 |
<admin>
|
105 |
+
<routers>
|
106 |
+
<adminhtml>
|
107 |
+
<args>
|
108 |
+
<modules>
|
109 |
+
<pure360_cron after="Mage_Adminhtml">Pure360_Cron_Adminhtml</pure360_cron>
|
110 |
+
</modules>
|
111 |
+
</args>
|
112 |
+
</adminhtml>
|
113 |
+
</routers>
|
114 |
</admin>
|
115 |
<default>
|
116 |
<pure360_cron>
|
@@ -85,9 +85,7 @@ class Pure360_Email_Helper_Api extends Pure360_Common_Helper_Api
|
|
85 |
'message_bodyHtml' => $messageBodyHtml,
|
86 |
'message_bodyPlain' => $messageBodyPlain);
|
87 |
|
88 |
-
|
89 |
-
|
90 |
-
if($fromDesc)
|
91 |
{
|
92 |
// $inputData['customFromDesc'] = $fromDesc;
|
93 |
}
|
85 |
'message_bodyHtml' => $messageBodyHtml,
|
86 |
'message_bodyPlain' => $messageBodyPlain);
|
87 |
|
88 |
+
if($fromDesc)
|
|
|
|
|
89 |
{
|
90 |
// $inputData['customFromDesc'] = $fromDesc;
|
91 |
}
|
@@ -166,9 +166,29 @@ class Pure360_Email_Model_Email_Message extends Mage_Core_Model_Email_Template
|
|
166 |
$password = Mage::helper('pure360_common')->getModuleGroupKeyValue('pure360', 'settings_transactional', 'password', $storeId);
|
167 |
$client = Mage::helper('pure360_common/api')->getClient($url, $username, $password);
|
168 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
169 |
// Send using Pure360 One2One
|
170 |
// Todo: allow modification of the plain text message. Currently, only stripping the tags out of the HTML message.
|
171 |
-
$messageSubject = $this->getProcessedTemplateSubject($variables);
|
172 |
$messageName = $templateId;
|
173 |
$messageBodyHtml = $this->isPlain() ? null : $text;
|
174 |
$messageBodyPlain = $this->isPlain() ? $text : $plainText;
|
166 |
$password = Mage::helper('pure360_common')->getModuleGroupKeyValue('pure360', 'settings_transactional', 'password', $storeId);
|
167 |
$client = Mage::helper('pure360_common/api')->getClient($url, $username, $password);
|
168 |
|
169 |
+
$context = $client->getcontext();
|
170 |
+
$messageSubject = $this->getProcessedTemplateSubject($variables);
|
171 |
+
|
172 |
+
if (strpos($context["defaultLanguage"],'UTF-8') !== false )
|
173 |
+
{
|
174 |
+
// check if $text is already UTF-8 encoded
|
175 |
+
if (utf8_encode(utf8_decode($text)) !== $text){
|
176 |
+
$text = utf8_encode($text);
|
177 |
+
}
|
178 |
+
|
179 |
+
// check if $plainText is already UTF-8 encoded
|
180 |
+
if (utf8_encode(utf8_decode($plainText)) !== $plainText){
|
181 |
+
$plainText = utf8_encode($plainText);
|
182 |
+
}
|
183 |
+
|
184 |
+
// check if $messageSubject is already UTF-8 encoded
|
185 |
+
if (utf8_encode(utf8_decode($messageSubject)) !== $messageSubject){
|
186 |
+
$messageSubject = utf8_encode($messageSubject);
|
187 |
+
}
|
188 |
+
}
|
189 |
+
|
190 |
// Send using Pure360 One2One
|
191 |
// Todo: allow modification of the plain text message. Currently, only stripping the tags out of the HTML message.
|
|
|
192 |
$messageName = $templateId;
|
193 |
$messageBodyHtml = $this->isPlain() ? null : $text;
|
194 |
$messageBodyPlain = $this->isPlain() ? $text : $plainText;
|
@@ -96,15 +96,15 @@
|
|
96 |
</layout>
|
97 |
</adminhtml>
|
98 |
<admin>
|
99 |
-
<routers>
|
100 |
-
<
|
101 |
-
<
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
</args>
|
106 |
-
</
|
107 |
-
</routers>
|
108 |
</admin>
|
109 |
<default>
|
110 |
<pure360_email>
|
96 |
</layout>
|
97 |
</adminhtml>
|
98 |
<admin>
|
99 |
+
<routers>
|
100 |
+
<adminhtml>
|
101 |
+
<args>
|
102 |
+
<modules>
|
103 |
+
<pure360_email after="Mage_Adminhtml">Pure360_Email_Adminhtml</pure360_email>
|
104 |
+
</modules>
|
105 |
+
</args>
|
106 |
+
</adminhtml>
|
107 |
+
</routers>
|
108 |
</admin>
|
109 |
<default>
|
110 |
<pure360_email>
|
@@ -95,6 +95,8 @@ class Pure360_List_Job_Sync extends Pure360_Cron_Job_Abstract
|
|
95 |
|
96 |
// Update message with rows uploaded
|
97 |
$this->_data->setData('message', $list->rows . ' rows processed, ' . $list->optout_rows . ' rows opted out ');
|
|
|
|
|
98 |
|
99 |
// Save list data
|
100 |
$this->_data->save();
|
@@ -283,7 +285,9 @@ class Pure360_List_Job_Sync extends Pure360_Cron_Job_Abstract
|
|
283 |
|
284 |
unset($currentBatch);
|
285 |
} while($condition == $batchSize && $list->rows < $this->max_sync_size);
|
286 |
-
|
|
|
|
|
287 |
Mage::helper('pure360_list')->writeDebug(__METHOD__ . ' - end');
|
288 |
}
|
289 |
|
@@ -310,7 +314,7 @@ class Pure360_List_Job_Sync extends Pure360_Cron_Job_Abstract
|
|
310 |
->addAttributeToSelect('subscriber_status')
|
311 |
->addAttributeToSelect('subscription_date')
|
312 |
;
|
313 |
-
|
314 |
// Add Custom Select
|
315 |
foreach($list->getListFields() as $field)
|
316 |
{
|
@@ -520,7 +524,9 @@ class Pure360_List_Job_Sync extends Pure360_Cron_Job_Abstract
|
|
520 |
|
521 |
unset($currentBatch);
|
522 |
} while($condition == $batchSize && $list->rows <= $this->max_sync_size);
|
523 |
-
|
|
|
|
|
524 |
Mage::helper('pure360_list')->writeDebug(__METHOD__ . ' - end');
|
525 |
}
|
526 |
|
@@ -669,7 +675,9 @@ class Pure360_List_Job_Sync extends Pure360_Cron_Job_Abstract
|
|
669 |
|
670 |
unset($currentBatch);
|
671 |
} while($condition == $batchSize && $list->optout_rows <= $this->max_sync_size);
|
672 |
-
|
|
|
|
|
673 |
Mage::helper('pure360_list')->writeDebug(__METHOD__ . ' - end');
|
674 |
}
|
675 |
|
@@ -719,6 +727,8 @@ class Pure360_List_Job_Sync extends Pure360_Cron_Job_Abstract
|
|
719 |
$count = count($files);
|
720 |
$page = 1;
|
721 |
|
|
|
|
|
722 |
// Create file
|
723 |
$api->createFile($this->client, $fileCategory, $fileName, $count, "Y");
|
724 |
|
@@ -729,7 +739,7 @@ class Pure360_List_Job_Sync extends Pure360_Cron_Job_Abstract
|
|
729 |
$api->uploadFileChunk($this->client, $fileCategory, $fileName, $page, $chunkData, "base64");
|
730 |
$page++;
|
731 |
}
|
732 |
-
|
733 |
reset($files);
|
734 |
|
735 |
// Create/Append list
|
95 |
|
96 |
// Update message with rows uploaded
|
97 |
$this->_data->setData('message', $list->rows . ' rows processed, ' . $list->optout_rows . ' rows opted out ');
|
98 |
+
|
99 |
+
Mage::helper('pure360_list')->writeDebug(__METHOD__ . ' message: '. $list->rows . ' rows processed, ' . $list->optout_rows . ' rows opted out ');
|
100 |
|
101 |
// Save list data
|
102 |
$this->_data->save();
|
285 |
|
286 |
unset($currentBatch);
|
287 |
} while($condition == $batchSize && $list->rows < $this->max_sync_size);
|
288 |
+
|
289 |
+
Mage::helper('pure360_list')->writeDebug(__METHOD__ .' FilePath where data is temporarily saved - '.$filePath);
|
290 |
+
Mage::helper('pure360_list')->writeDebug(__METHOD__ .' Number of rows to sync - '. $list->rows);
|
291 |
Mage::helper('pure360_list')->writeDebug(__METHOD__ . ' - end');
|
292 |
}
|
293 |
|
314 |
->addAttributeToSelect('subscriber_status')
|
315 |
->addAttributeToSelect('subscription_date')
|
316 |
;
|
317 |
+
|
318 |
// Add Custom Select
|
319 |
foreach($list->getListFields() as $field)
|
320 |
{
|
524 |
|
525 |
unset($currentBatch);
|
526 |
} while($condition == $batchSize && $list->rows <= $this->max_sync_size);
|
527 |
+
|
528 |
+
Mage::helper('pure360_list')->writeDebug(__METHOD__ .' FilePath where data is temporarily saved - '.$filePath);
|
529 |
+
Mage::helper('pure360_list')->writeDebug(__METHOD__ .' Number of rows to sync - '. $list->rows);
|
530 |
Mage::helper('pure360_list')->writeDebug(__METHOD__ . ' - end');
|
531 |
}
|
532 |
|
675 |
|
676 |
unset($currentBatch);
|
677 |
} while($condition == $batchSize && $list->optout_rows <= $this->max_sync_size);
|
678 |
+
|
679 |
+
Mage::helper('pure360_list')->writeDebug(__METHOD__ .' FilePath where data is temporarily saved - '.$filePath);
|
680 |
+
Mage::helper('pure360_list')->writeDebug(__METHOD__ .' Number of rows to sync - '. $list->rows);
|
681 |
Mage::helper('pure360_list')->writeDebug(__METHOD__ . ' - end');
|
682 |
}
|
683 |
|
727 |
$count = count($files);
|
728 |
$page = 1;
|
729 |
|
730 |
+
Mage::helper('pure360_list')->writeDebug(__METHOD__ .' Number of chunks - '.$count);
|
731 |
+
|
732 |
// Create file
|
733 |
$api->createFile($this->client, $fileCategory, $fileName, $count, "Y");
|
734 |
|
739 |
$api->uploadFileChunk($this->client, $fileCategory, $fileName, $page, $chunkData, "base64");
|
740 |
$page++;
|
741 |
}
|
742 |
+
|
743 |
reset($files);
|
744 |
|
745 |
// Create/Append list
|
@@ -4,7 +4,7 @@
|
|
4 |
* @package Pure360\List
|
5 |
* @copyright 2013 Pure360.com
|
6 |
*/
|
7 |
-
class Pure360_List_AjaxController extends
|
8 |
{
|
9 |
/**
|
10 |
* Save / Update list from request parameters
|
4 |
* @package Pure360\List
|
5 |
* @copyright 2013 Pure360.com
|
6 |
*/
|
7 |
+
class Pure360_List_AjaxController extends Mage_Core_Controller_Front_Action
|
8 |
{
|
9 |
/**
|
10 |
* Save / Update list from request parameters
|
@@ -153,15 +153,15 @@
|
|
153 |
</layout>
|
154 |
</adminhtml>
|
155 |
<admin>
|
156 |
-
<routers>
|
157 |
-
<
|
158 |
-
<
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
</args>
|
163 |
-
</
|
164 |
-
</routers>
|
165 |
</admin>
|
166 |
<default>
|
167 |
<pure360_list>
|
153 |
</layout>
|
154 |
</adminhtml>
|
155 |
<admin>
|
156 |
+
<routers>
|
157 |
+
<adminhtml>
|
158 |
+
<args>
|
159 |
+
<modules>
|
160 |
+
<pure360_list after="Mage_Adminhtml">Pure360_List_Adminhtml</pure360_list>
|
161 |
+
</modules>
|
162 |
+
</args>
|
163 |
+
</adminhtml>
|
164 |
+
</routers>
|
165 |
</admin>
|
166 |
<default>
|
167 |
<pure360_list>
|
@@ -91,10 +91,10 @@ class Pure360_Newsletter_Helper_Api extends Pure360_Common_Helper_Api
|
|
91 |
{
|
92 |
$domain = Mage::helper('pure360_common')->getModuleGroupKeyValue('pure360', 'settings', 'api_url');
|
93 |
}
|
94 |
-
|
95 |
|
96 |
// Build url
|
97 |
-
$url = $domain . '/interface/list.php';
|
98 |
|
99 |
// Get store and webste ids
|
100 |
$storeId = $customer->getStoreId();
|
91 |
{
|
92 |
$domain = Mage::helper('pure360_common')->getModuleGroupKeyValue('pure360', 'settings', 'api_url');
|
93 |
}
|
94 |
+
$domain = str_replace("http://", "", $domain);
|
95 |
|
96 |
// Build url
|
97 |
+
$url = 'http://' . $domain . '/interface/list.php';
|
98 |
|
99 |
// Get store and webste ids
|
100 |
$storeId = $customer->getStoreId();
|
@@ -112,15 +112,15 @@
|
|
112 |
</layout>
|
113 |
</adminhtml>
|
114 |
<admin>
|
115 |
-
<routers>
|
116 |
-
<
|
117 |
-
<
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
</args>
|
122 |
-
</
|
123 |
-
</routers>
|
124 |
</admin>
|
125 |
<default>
|
126 |
<pure360_newsletter>
|
112 |
</layout>
|
113 |
</adminhtml>
|
114 |
<admin>
|
115 |
+
<routers>
|
116 |
+
<adminhtml>
|
117 |
+
<args>
|
118 |
+
<modules>
|
119 |
+
<pure360_newsletter after="Mage_Adminhtml">Pure360_Newsletter_Adminhtml</pure360_newsletter>
|
120 |
+
</modules>
|
121 |
+
</args>
|
122 |
+
</adminhtml>
|
123 |
+
</routers>
|
124 |
</admin>
|
125 |
<default>
|
126 |
<pure360_newsletter>
|
@@ -35,7 +35,7 @@
|
|
35 |
});
|
36 |
}
|
37 |
|
38 |
-
$$('#co-billing-form fieldset ul').first().insert(
|
39 |
'<li><!-- --></li>' +
|
40 |
'<li class="control" id="customer-subscribe" style="display:none;">' +
|
41 |
'<input name="billing[is_subscribed]" id="billing:is_subscribed_box" value="1" checked="checked" title="Ship to this address" onchange="setSubscribedValue(this); return false;" class="checkbox" type="checkbox" />' +
|
@@ -43,7 +43,7 @@
|
|
43 |
'</li>'
|
44 |
);
|
45 |
|
46 |
-
$$('#co-billing-form fieldset')[0].insert(
|
47 |
'<input id="billing:is_subscribed_original" type="hidden" name="billing[is_subscribed_original]" value="1" />' +
|
48 |
'<input id="billing:is_subscribed" type="hidden" name="billing[is_subscribed]" value="1" />');
|
49 |
|
35 |
});
|
36 |
}
|
37 |
|
38 |
+
$$('#co-billing-form .fieldset ul, #co-billing-form fieldset ul').first().insert(
|
39 |
'<li><!-- --></li>' +
|
40 |
'<li class="control" id="customer-subscribe" style="display:none;">' +
|
41 |
'<input name="billing[is_subscribed]" id="billing:is_subscribed_box" value="1" checked="checked" title="Ship to this address" onchange="setSubscribedValue(this); return false;" class="checkbox" type="checkbox" />' +
|
43 |
'</li>'
|
44 |
);
|
45 |
|
46 |
+
$$('#co-billing-form .fieldset, #co-billing-form fieldset')[0].insert(
|
47 |
'<input id="billing:is_subscribed_original" type="hidden" name="billing[is_subscribed_original]" value="1" />' +
|
48 |
'<input id="billing:is_subscribed" type="hidden" name="billing[is_subscribed]" value="1" />');
|
49 |
|
@@ -129,44 +129,48 @@ class Pure360_Client
|
|
129 |
|
130 |
} catch (Exception $e)
|
131 |
{
|
132 |
-
throw new Exception('[Pure360] Could not connect to host');
|
133 |
}
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
{
|
138 |
-
switch ($response["result"])
|
139 |
{
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
|
|
|
|
149 |
|
150 |
-
|
151 |
-
|
152 |
-
throw new Pure360_Exception_ValidationException($response["resultData"]);
|
153 |
|
154 |
-
|
155 |
-
|
156 |
-
throw new Pure360_Exception_SecurityException($response["resultData"]);
|
157 |
|
158 |
-
|
159 |
-
|
160 |
-
throw new Pure360_Exception_SystemException($response["resultData"]);
|
161 |
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
166 |
|
167 |
-
|
|
|
|
|
|
|
|
|
168 |
{
|
169 |
-
|
170 |
}
|
171 |
|
172 |
// Save request and response
|
129 |
|
130 |
} catch (Exception $e)
|
131 |
{
|
132 |
+
throw new Exception('[Pure360] Could not connect to host: '.$class.'::'.$process.' '. $e->getMessage());
|
133 |
}
|
134 |
+
try {
|
135 |
+
// Validate response
|
136 |
+
if (isset($response['result']))
|
|
|
|
|
137 |
{
|
138 |
+
switch ($response["result"])
|
139 |
+
{
|
140 |
+
case "success":
|
141 |
+
if (!empty($response["resultData"]))
|
142 |
+
{
|
143 |
+
$results = $response["resultData"];
|
144 |
+
} else
|
145 |
+
{
|
146 |
+
$results = array();
|
147 |
+
}
|
148 |
+
break;
|
149 |
|
150 |
+
case "bean_exception_validation":
|
|
|
|
|
151 |
|
152 |
+
throw new Pure360_Exception_ValidationException($response["resultData"]);
|
|
|
|
|
153 |
|
154 |
+
case "bean_exception_security":
|
|
|
|
|
155 |
|
156 |
+
throw new Pure360_Exception_SecurityException($response["resultData"]);
|
157 |
+
|
158 |
+
case "bean_exception_system":
|
159 |
+
|
160 |
+
throw new Pure360_Exception_SystemException($response["resultData"]);
|
161 |
+
|
162 |
+
default:
|
163 |
+
|
164 |
+
throw new Exception("[Pure360] Unhandled exception");
|
165 |
+
}
|
166 |
|
167 |
+
} else
|
168 |
+
{
|
169 |
+
throw new Exception("[Pure360] Invalid api response.");
|
170 |
+
}
|
171 |
+
} catch (Exception $e)
|
172 |
{
|
173 |
+
Mage::helper('pure360_list')->writeError("Client - ".$e->getMessage());
|
174 |
}
|
175 |
|
176 |
// Save request and response
|
@@ -40,7 +40,8 @@ class Pure360_Session
|
|
40 |
$this->beanData = $context->login($this->properties["username"], $this->properties["password"]);
|
41 |
|
42 |
// Set context
|
43 |
-
$this->context
|
|
|
44 |
$this->client->setContext($this->context);
|
45 |
|
46 |
// Set identity
|
40 |
$this->beanData = $context->login($this->properties["username"], $this->properties["password"]);
|
41 |
|
42 |
// Set context
|
43 |
+
$this->context = $this->beanData["bus_entity_context"];
|
44 |
+
$this->context['defaultLanguage'] = $this->beanData["bus_entity_account_identity"]["defaultLanguage"];
|
45 |
$this->client->setContext($this->context);
|
46 |
|
47 |
// Set identity
|
@@ -1,7 +1,7 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Pure360</name>
|
4 |
-
<version>1.1.
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://opensource.org/licenses/osl-3.0.php">Open Software License</license>
|
7 |
<channel>community</channel>
|
@@ -68,7 +68,14 @@
|
|
68 |
<h3>Pricing</h3>
|
69 |

|
70 |
<p>To see Pure360 pricing <a title="Sign up here" href="http://www.pure360.com/take-a-trial-software-august">sign up here</a> and a member of the team will be in touch to discuss your requirements and build a package that suits your individual needs.</p></description>
|
71 |
-
<notes>1.1.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
72 |
- Allow Response API to be accessed via HTTPS
|
73 |
- Also allow HTTP API access
|
74 |

|
@@ -98,9 +105,9 @@
|
|
98 |
1.0.1
|
99 |
- Magento Connect compliance</notes>
|
100 |
<authors><author><name>Stewart Waller</name><user>stewart_pure360</user><email>stewart.waller@pure360.com</email></author></authors>
|
101 |
-
<date>
|
102 |
-
<time>12:
|
103 |
-
<contents><target name="magecommunity"><dir name="Pure360"><dir name="Cart"><dir name="Block"><dir name="Adminhtml"><dir name="System"><dir name="Config"><file name="About.php" hash="b2a89a4eb5a0cc07a4ddb9851b5d8490"/></dir></dir></dir><dir name="Email"><dir name="Order"><file name="Items.php" hash="45b9becd073ab968872f142243d52d63"/></dir></dir><file name="Jsinit.php" hash="9ba1a3c3b20736d2b2376046da2b3fcf"/></dir><dir name="Helper"><file name="Data.php" hash="bc15d6ba50c4e6f0242eb07532b13c99"/></dir><dir name="Job"><file name="Trigger.php" hash="4d6b810cb226a16b6fe2d2eb99352789"/></dir><dir name="Model"><dir name="System"><dir name="Config"><dir name="Backend"><file name="Enable.php" hash="742234ea19b737b33de9af1aea4dcf6e"/></dir><dir name="Source"><file name="Delay.php" hash="386d7aa81411c136516e8c4cc3f13ad3"/><dir name="Email"><file name="Template.php" hash="9f2fab6d42a1da181f272d70c5236172"/><file name="TemplateGuest.php" hash="682117c74cecda7395941cb5fcbdc729"/></dir><file name="Type.php" hash="a4a09a9fcaf0f970e823479bb784e92c"/></dir></dir></dir></dir><dir name="controllers"><file name="AjaxController.php" hash="82a5cba1c9069306bbd9886fd9ad1bf9"/></dir><dir name="etc"><file name="config.xml" hash="f4f011ad70bd62231ce05fc157d3056f"/><file name="system.xml" hash="02bfe0ba69816df211fb6851067414dc"/></dir><dir name="sql"><dir name="pure360_cart_setup"><file name="mysql4-install-1.0.4.php" hash="49960b758d00481bad2d3baa2daba9cd"/></dir></dir></dir><dir name="Common"><dir name="Block"><dir name="Adminhtml"><dir name="System"><dir name="Config"><file name="About.php" hash="29091a400a1ce9c9207d732de03ce7bd"/><file name="Disabled.php" hash="9970f5fc1b0b34000b8219f2519eccaa"/><dir name="Form"><dir name="Field"><file name="Hidden.php" hash="95ed0e83cd87c03de709789eb21ab1b2"/></dir><file name="Field.php" hash="34766e8795a023cdf19c2fc0bb0c976f"/><file name="Fieldset.php" hash="0605c96e429b6d1c5ae6081b6a1bf76e"/></dir><file name="Form.php" hash="d8c5c4aa3d8132c7318311981cd1fdee"/><file name="Hidden.php" hash="b4b32095413ebdd63f4de1194e20ea0e"/><file name="Modules.php" hash="3deb577d540a7537d91059a8393d759d"/><file name="Tabs.php" hash="de833cdcb3b278923e53ee85d685820f"/><dir name="Validate"><file name="Marketing.php" hash="86513e7b18dc53ab3f6a17ae1c2ffb07"/><file name="Transactional.php" hash="578130a5e13e24848eea90dede3d8ab5"/></dir></dir></dir></dir><file name="Jsinit.php" hash="47c0e55bbe05d6adc07840090034eca7"/></dir><dir name="Helper"><file name="Ajax.php" hash="57787267c712dd712f74fc54e6f2765f"/><file name="Api.php" hash="f90ea58e582ecb13bcb9284c6906e0ea"/><file name="Data.php" hash="37fba89884930b660c000910b73ff159"/><file name="File.php" hash="9ce95f89acca0eddc0745e21dccdb165"/></dir><dir name="Interface"><file name="Job.php" hash="59c3fcfe0e35f2a7867a3bd8e5f51d61"/></dir><dir name="Model"><file name="Observer.php" hash="045ba8d185a9646cc2bfb0adfe96e6ef"/><dir name="System"><dir name="Config"><dir name="Backend"><file name="Enable.php" hash="9445b26df9a78548fd0c22be126acc7c"/></dir><dir name="Source"><dir name="Cron"><file name="Days.php" hash="0174fb71a0cd1979b4b1a74b4d5dfe6e"/><file name="Frequency.php" hash="0c0afecf1341100e4ba90e180df6facf"/><file name="Minutes.php" hash="b7a8eef1155ca8cddadc79d643ac56bc"/></dir><file name="Field.php" hash="da1801ccb45426ce8e960a4d40952303"/><file name="Global.php" hash="412071d06a25bf92962d2c2be1eb411a"/><file name="Message.php" hash="aa72d6227f29795dadf9c45405cafffd"/></dir></dir></dir></dir><dir name="controllers"><file name="AjaxController.php" hash="6e267f11b1d7df2ef27a721ae4c10887"/><file name="JobController.php" hash="99b6026a540c4f02c8c827e66a85d48b"/><file name="Pure360Controller.php" hash="07599b0ad90725bda1201b8bd291e0d5"/></dir><dir name="etc"><file name="config.xml" hash="08237b0385d86f54f54692942c785285"/><file name="system.xml" hash="9b467fbbc758e3933e1343f8a0f63715"/></dir></dir><dir name="Cron"><dir name="Block"><dir name="Adminhtml"><dir name="System"><dir name="Config"><file name="About.php" hash="4c08269367666f8aa9ea9028f1afc0b7"/></dir><dir name="Cron"><dir name="Manager"><dir name="Grid"><dir name="Renderer"><file name="Actions.php" hash="c0ee554f426a5147b486384c52f8eae3"/><file name="Crontab.php" hash="b28f87aeb8259bd17583b2a86fa16e19"/><file name="Force.php" hash="69f68ee9b7e7deccf161991aff2013fe"/><file name="Pause.php" hash="780dd8620f8c0c0a7094c558d6c1b0fc"/></dir></dir><file name="Grid.php" hash="a654543f57a356152eb7119cf971f4a9"/><dir name="Logs"><dir name="Renderer"><file name="Bytes.php" hash="a252cdb9290293c58962b19ec376d11f"/><file name="Clean.php" hash="448c3aae8e6fef07e676a53ac1225e11"/><file name="Download.php" hash="1046ed159db6e270d78823af78e4dec0"/><file name="Tail.php" hash="57ad12798b10af495e3e3d34e84ecb36"/></dir></dir><file name="Logs.php" hash="bbad87b3c1ff4165179ffa799554f568"/></dir><file name="Manager.php" hash="407928e5052d387a45f02b5c8e70810b"/></dir></dir></dir><file name="Jsinit.php" hash="28d2d2074598dd783db41884fc624f88"/></dir><dir name="Helper"><file name="Data.php" hash="fa6c7e721a561c014382692aa2a49eab"/></dir><dir name="Job"><file name="Abstract.php" hash="f59fb9712d9001f3406d10c202a45223"/><file name="Interface.php" hash="306c4c9de6dc281ce2d50012759da82c"/></dir><dir name="Model"><file name="Job.php" hash="2876e7fcff63de170d0b34d2aef92254"/><file name="Observer.php" hash="788e7fbcca63ac8aea5ed254097886aa"/><dir name="Resource"><dir name="Job"><file name="Collection.php" hash="a42b6c45b4786f35d2d808bd3e0860da"/></dir><file name="Job.php" hash="ca3d4f31293d6419fb4b84a10dec4464"/></dir></dir><dir name="controllers"><file name="AjaxController.php" hash="01b2c823877a8e7838c8e1cd5f3f568b"/></dir><dir name="etc"><file name="config.xml" hash="e67c70c16b7fa82205e756c85d704abd"/><file name="system.xml" hash="d398d5ef4758562b8e8c7007b2470b7b"/></dir><dir name="sql"><dir name="pure360_cron_setup"><file name="mysql4-install-1.0.4.php" hash="6819eab799199893f65c05a53451e3a0"/></dir></dir></dir><dir name="Email"><dir name="Block"><dir name="Adminhtml"><dir name="System"><dir name="Config"><file name="About.php" hash="c03154f20bdfbe72631bc09fbd3f86da"/><file name="Transactional.php" hash="37476f57155a4d28a9a16d75f1c2269c"/></dir></dir></dir><file name="Jsinit.php" hash="463a0092939237b6de4c4e9b47e897d8"/></dir><dir name="Helper"><file name="Api.php" hash="e1a7690edb0ab53ed52b55c357dab505"/><file name="Data.php" hash="ca33046f86cd97daff222e2386879ee8"/></dir><dir name="Model"><dir name="Email"><file name="Message.php" hash="b944f24c52dd5ae00dea03254bdc6950"/></dir><file name="Messages.php" hash="56eeb27a00e794774759d4631df0df0d"/><dir name="Resource"><dir name="Transactional"><file name="Collection.php" hash="92714dd16f619e43ae8695bf6b9a5d59"/></dir><file name="Transactional.php" hash="c2c02bf63ab5c7314eca1f94f4f953bc"/></dir><dir name="System"><dir name="Config"><dir name="Source"><dir name="Email"><file name="Template.php" hash="6e04d1a0f99becc198a940ef1c8ebf57"/></dir></dir></dir></dir><file name="Transactional.php" hash="f71a307d7dc6bb652a1267921b78a7e6"/></dir><dir name="controllers"><file name="AjaxController.php" hash="1d81c0ad2620918a07266c40d772b8e0"/></dir><dir name="etc"><file name="config.xml" hash="2c4029df647f64a3d537db9ed49624e0"/><file name="system.xml" hash="b1ed057cfe7d27ecfb86fdf5a3f02e27"/></dir><dir name="sql"><dir name="pure360_email_setup"><file name="mysql4-install-1.0.4.php" hash="bb37fdf2a7c8907b13e003eb56f13542"/></dir></dir></dir><dir name="List"><dir name="Block"><dir name="Adminhtml"><dir name="System"><dir name="Config"><file name="About.php" hash="f66afdcd44d13a9a4dbd92fc3d77114a"/><file name="Form.php" hash="9b8b1a093cc9c455fb108a6f9d3960c0"/><file name="List.php" hash="9ee4a1c9e91b63402060f85726296f16"/></dir></dir></dir><file name="Jsinit.php" hash="78daf97d49034d34c36007322408c9a8"/></dir><dir name="Helper"><file name="Api.php" hash="159d953cad20a35eeaebab802e4b3b2a"/><file name="Data.php" hash="2bf3dd35442b2dc6191cb765512e28f7"/></dir><dir name="Job"><file name="Sync.php" hash="3d9d7a0a433db1805c94a033735f104f"/></dir><dir name="Model"><file name="Address.php" hash="844441bf49a1f1ac492939449c33f28c"/><file name="Customer.php" hash="69e24f841868d937b403c5a95b2b70ae"/><file name="Data.php" hash="1e70c242bcfd71a92832cc300d8697fc"/><file name="Groups.php" hash="05f58791bbd56a161b8dc614831197ca"/><file name="List.php" hash="9125566c34a2500734e1c2583371aec3"/><file name="Observer.php" hash="ca2ea4a8ca36f7203c1a9ea30c70aa08"/><file name="Optout.php" hash="8ef1933d96623fd1e74038be26b37034"/><dir name="Resource"><dir name="List"><file name="Collection.php" hash="503fae2e6c778646ba730eaf98a67ae5"/></dir><file name="List.php" hash="5b443a43c67230dca205cf44e568b613"/><dir name="Optout"><file name="Collection.php" hash="51f4304dcdbd28e90e98d0f3c165c3b6"/></dir><file name="Optout.php" hash="7c59ba27cdb4a565ce08a92ef43ec89d"/></dir><file name="Sales.php" hash="9910099ba6f492c414e951a49e5960c1"/><file name="Segments.php" hash="6bf9009dc93f71224d29644c333c1a61"/><file name="Subscriber.php" hash="f5ba2429a89167639bad5ca63e971012"/></dir><dir name="controllers"><file name="AjaxController.php" hash="20084d7deabcb5ba6c37b53da0d8524e"/></dir><dir name="etc"><file name="config.xml" hash="305a233b9895a7add36c4e49f0af4e44"/><file name="system.xml" hash="33bc7c064f682b6009e650213ee49854"/></dir><dir name="sql"><dir name="pure360_list_setup"><file name="mysql4-install-1.0.4.php" hash="f9babd3b5b9b11100638e688a7c59379"/><file name="mysql4-upgrade-1.0.3-1.0.4.php" hash="bd6d2cd02673217a8c5846e789c9467d"/></dir></dir></dir><dir name="Newsletter"><dir name="Block"><dir name="Adminhtml"><dir name="System"><dir name="Config"><file name="About.php" hash="dbc0efc7099f1ac9af12d02fc87f559c"/></dir></dir></dir><dir name="Checkout"><dir name="Onepage"><file name="Newsletter.php" hash="7f58aea512497487aeaec8b8e23f4107"/></dir></dir><file name="Jsinit.php" hash="3cdd4b0da1539ac253e440997bb56308"/></dir><dir name="Helper"><file name="Api.php" hash="01d99d4e8a31e16fd54929abdae96f06"/><file name="Data.php" hash="c2c63a8c9546183b6cb5048e6d7ddf7b"/></dir><dir name="Model"><file name="Observer.php" hash="0320f4334ef874f2c112e5d595760ec1"/><file name="Subscriber.php" hash="a35b3346fb4d0e6c12856e0e04451074"/></dir><dir name="controllers"><file name="IndexController.php" hash="da4dfea12608bf7ef6e177b9a0be47ba"/></dir><dir name="etc"><file name="config.xml" hash="0706ea55b6aa46f954e7360c448ca898"/><file name="system.xml" hash="35d9f9afe40ee6ea617906a3a830252f"/></dir><dir name="sql"><dir name="pure360_newsletter_setup"><file name="mysql4-install-1.0.4.php" hash="8487bc8b8483b9a941f9895e25280455"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="pure360_cart.xml" hash="273917f43f2d5b661005cfe09ef19981"/><file name="pure360_common.xml" hash="936bcb981defde27e7ec4fb0d9d64333"/><file name="pure360_cron.xml" hash="f3a1e028121e2abcca8c48aa588c61aa"/><file name="pure360_email.xml" hash="3d455306546061dd3845dc66647a6c67"/><file name="pure360_list.xml" hash="16622be692caa1bdb4ea95f864faca74"/><file name="pure360_newsletter.xml" hash="2cbc34cdb97a0f0e87df04d72c4cee02"/></dir><dir name="template"><dir name="pure360"><dir name="cart"><file name="jsinit.phtml" hash="2bca290370210037cb71c62e15b0d9cc"/></dir><dir name="common"><file name="about.phtml" hash="c532330d3f02612b6bc04b5b918f3c46"/><file name="config.phtml" hash="d41d8cd98f00b204e9800998ecf8427e"/><file name="disabled.phtml" hash="3fe3a819a246c58ee95404ce7428285e"/><file name="error.phtml" hash="891d140f2a5616f2929b307edf39c18b"/><file name="hidden.phtml" hash="bd8768ad057df0a9dda8e50a0507b3ed"/><file name="jsinit.phtml" hash="fe043d6f61686949e2098108686ecad4"/><file name="modules.phtml" hash="2dcf7bab0da85eb4533d07f8479c4c38"/></dir><dir name="cron"><file name="jsinit.phtml" hash="697388afb41375e3dfe9f7c4fff25712"/><file name="manager.phtml" hash="a413d279ec78fce33ffe2c7196fd2acb"/></dir><dir name="email"><file name="jsinit.phtml" hash="91b9745ad690249ea58b5f80c7487a1f"/><file name="transactional.phtml" hash="2002641f30185ea1d63f2c492478ff95"/></dir><file name="hint.phtml" hash="6e50c5cce42b12e8481e5211e8cf0f35"/><dir name="list"><file name="jsinit.phtml" hash="2a66b7d233cdf95c751e102974504ca0"/><file name="list.phtml" hash="f310c3197118223821176f4f791eeed4"/></dir><dir name="newsletter"><file name="jsinit.phtml" hash="e57d9c2279ff4440df096e79643f9bca"/></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><dir name="pure360"><file name="cart.xml" hash="ae1b704553530b74108d9759f575376b"/><file name="newsletter.xml" hash="678ce91ac72cce3f541daae259a4ef32"/></dir></dir><dir name="template"><dir name="pure360"><dir name="cart"><dir name="email"><dir name="order"><dir name="items"><dir name="order"><file name="default.phtml" hash="307ede936c9f667a7fbd64115942a721"/></dir></dir><file name="items.phtml" hash="0e349df6e260ca4d4be1092e58c7be24"/></dir></dir></dir><dir name="newsletter"><file name="jsinit.phtml" hash="e99f59688cef74ad2aa3f57751c25a9f"/></dir></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Pure360_Cart.xml" hash="29d028bc4960d42dd9ae5471c9bbf904"/><file name="Pure360_Common.xml" hash="21ce1650dac593cf9d1293167592ce9d"/><file name="Pure360_Cron.xml" hash="3fac7040468efecd5ae487b3e0509737"/><file name="Pure360_Email.xml" hash="e58b87357af6ed25523afd5983a63297"/><file name="Pure360_List.xml" hash="277e4aea059838480e1af90a3b2d0a7a"/><file name="Pure360_Newsletter.xml" hash="500c3d494e2c3edc7b0a0bdb0a429126"/></dir></target><target name="magelocale"><dir name="en_US"><dir name="template"><dir name="email"><dir name="pure360"><file name="abandoned_cart.html" hash="e2b9facb56c028a2e19a69f5420052ff"/><file name="abandoned_cart_guest.html" hash="00cbc838e6f4e44fc87c51d98cedd2a2"/></dir></dir></dir></dir></target><target name="mage"><dir name="js"><dir name="mage"><dir name="adminhtml"><dir name="pure360"><file name="cart.js" hash="ee5b1110af04c4d24f0ed5f1668cf4d5"/><file name="common.js" hash="2ffa56e258da7022973ec1568d00785c"/><file name="cron.js" hash="29b6311859e63be290a9ececc3dbc547"/><file name="email.js" hash="3c9259fe31d2ade24aacc622b0790ea2"/><file name="list.js" hash="443b0acec1d1a3016f3b606e92a435d5"/><file name="newsletter.js" hash="15d462e8eaab011460431cc10a75bdb2"/></dir></dir></dir></dir></target><target name="magelib"><dir name="Pure360"><file name="Client.php" hash="2daae4bee1c878da1c4a316ed9d0b8c7"/><file name="Entity.php" hash="ba76dccb0a80ce11a110d3e1c5e108a1"/><dir name="Exception"><file name="SecurityException.php" hash="1e30dd834995651eb8ab0ff19c022713"/><file name="SystemException.php" hash="dbb715d39318c4a63db0d05eaeb85eab"/><file name="ValidationException.php" hash="69540e782165d00400c1ae460aa755ed"/></dir><dir name="Package"><dir name="Account"><file name="Identity.php" hash="56a192c63b4b82f95a03bf01dfb0e320"/><file name="Login.php" hash="b5cf3c5a7f02c34a7714492cb088b12d"/><file name="Pool.php" hash="6ca9929fae710c8d3b6baff9bb9ebd56"/></dir><file name="Account.php" hash="549fc8c168e102b5d622192e7161314f"/><dir name="Campaign"><file name="Automation.php" hash="7ef9a900dd1e48b5bc131aa3c801c4bb"/><file name="AutomationByDate.php" hash="0042f336568ce900d74e8e19e9d70a9b"/><file name="AutomationBySignup.php" hash="23e9d9e19a02c602ab67a2e706e64184"/><file name="ContentItem.php" hash="797bfd1d0fee23e2d8a00a7118934fc9"/><file name="Delivery.php" hash="a38c9f831977dc635140af291f529bbb"/><file name="DynamicRegion.php" hash="f81afeb8f67d3b5d6adb279126325321"/><file name="Email.php" hash="ae09ee6eb161c2032a68af8486227a8f"/><file name="Filter.php" hash="16cbfe1f34080bf88326315cde2c7fae"/><file name="GroupDelivery.php" hash="e470a337c36cd6c6e6c2126c2d8a6b05"/><file name="MarketingList.php" hash="62a2cb099555c922abc8971fb904af84"/><file name="Message.php" hash="115a7a8d5d313cc1fc91c404af4e277f"/><file name="One2One.php" hash="b3f229593bc9e78f717807967923e181"/><file name="Person.php" hash="465cc7928b872f1a1f9c71099e70e640"/><file name="Sms.php" hash="c525a6fb395d67651e91c1fe6481777b"/></dir><file name="Campaign.php" hash="bfab52155c32995acd3b7e376b683001"/><dir name="Context"><file name="Context.php" hash="2fe3109a45d6459f4cf441b3aa1ed7a3"/><file name="Preference.php" hash="8a390e782e04ad0decc26f72cc7f362c"/></dir><file name="Context.php" hash="7032b8dd4c00fded3f49511b174ebeba"/><dir name="Data"><file name="Meta.php" hash="a0489bfbbd52443eeb3f019f36840846"/><file name="Scheduler.php" hash="a37efb3c2d5497bc37393a8fa4879b57"/></dir><file name="Data.php" hash="77c4d9c47b4a2cd161a506d74024e639"/><dir name="Other"><file name="EventNotification.php" hash="c880abfad0408709e7c801f74c0c1882"/><file name="File.php" hash="71f3239c95c09f03a954d47ebdd20233"/></dir><file name="Other.php" hash="bea8844bf4037303bcf7bd064e18ae3f"/></dir><file name="Package.php" hash="2b1d5236b81621130c7522ddc105bd90"/><file name="Session.php" hash="340e63e5c25296bbe9baf8426dba1726"/></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="pure360"><file name="pure360.css" hash="ea0485422716685e1753945731b3391e"/></dir><dir name="images"><dir name="pure360"><file name="pure_logo.png" hash="e03329ae9efacfeb292f079992a18a41"/><file name="switch.png" hash="dc4dd15ad074ab584444bda7660afe7a"/></dir></dir></dir></dir></dir></target></contents>
|
104 |
<compatible/>
|
105 |
<dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php><extension><name>soap</name><min></min><max></max></extension></required></dependencies>
|
106 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Pure360</name>
|
4 |
+
<version>1.1.3</version>
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://opensource.org/licenses/osl-3.0.php">Open Software License</license>
|
7 |
<channel>community</channel>
|
68 |
<h3>Pricing</h3>
|
69 |

|
70 |
<p>To see Pure360 pricing <a title="Sign up here" href="http://www.pure360.com/take-a-trial-software-august">sign up here</a> and a member of the team will be in touch to discuss your requirements and build a package that suits your individual needs.</p></description>
|
71 |
+
<notes>1.1.3
|
72 |
+
- Added support for SUPEE-6788
|
73 |
+
- Remove LF and CR characters from lists csv rows;
|
74 |
+
- Fix bug Abandoned carts are triggered only 1 time for each customer in magento 1.9;
|
75 |
+
- Fix JavaScript problems so that the checkbox for subscribe displays also in magento 1.9 rwd theme;
|
76 |
+
- Changed text encoding for emails to UTF-8 when necessary so that sending one2one always works with pure360;
|
77 |
+

|
78 |
+
1.1.2
|
79 |
- Allow Response API to be accessed via HTTPS
|
80 |
- Also allow HTTP API access
|
81 |

|
105 |
1.0.1
|
106 |
- Magento Connect compliance</notes>
|
107 |
<authors><author><name>Stewart Waller</name><user>stewart_pure360</user><email>stewart.waller@pure360.com</email></author></authors>
|
108 |
+
<date>2015-11-06</date>
|
109 |
+
<time>12:58:07</time>
|
110 |
+
<contents><target name="magecommunity"><dir name="Pure360"><dir name="Cart"><dir name="Block"><dir name="Adminhtml"><dir name="System"><dir name="Config"><file name="About.php" hash="b2a89a4eb5a0cc07a4ddb9851b5d8490"/></dir></dir></dir><dir name="Email"><dir name="Order"><file name="Items.php" hash="45b9becd073ab968872f142243d52d63"/></dir></dir><file name="Jsinit.php" hash="9ba1a3c3b20736d2b2376046da2b3fcf"/></dir><dir name="Helper"><file name="Data.php" hash="48fd162115b086d3a02628a448bf7abd"/></dir><dir name="Job"><file name="Trigger.php" hash="08625794841c4bbf0ff1956428e50412"/></dir><dir name="Model"><dir name="System"><dir name="Config"><dir name="Backend"><file name="Enable.php" hash="742234ea19b737b33de9af1aea4dcf6e"/></dir><dir name="Source"><file name="Delay.php" hash="386d7aa81411c136516e8c4cc3f13ad3"/><dir name="Email"><file name="Template.php" hash="9f2fab6d42a1da181f272d70c5236172"/><file name="TemplateGuest.php" hash="682117c74cecda7395941cb5fcbdc729"/></dir><file name="Type.php" hash="a4a09a9fcaf0f970e823479bb784e92c"/></dir></dir></dir></dir><dir name="controllers"><file name="AjaxController.php" hash="c084c8b407d66b68d859c9e21b11e863"/></dir><dir name="etc"><file name="config.xml" hash="0bca6e17fd6e26ce76c5cb896fe72818"/><file name="system.xml" hash="02bfe0ba69816df211fb6851067414dc"/></dir><dir name="sql"><dir name="pure360_cart_setup"><file name="mysql4-install-1.0.4.php" hash="49960b758d00481bad2d3baa2daba9cd"/><file name="mysql4-upgrade-1.1.2-1.1.3.php" hash="603d4269a49fc664313bd3c3f05cfac9"/></dir></dir></dir><dir name="Common"><dir name="Block"><dir name="Adminhtml"><dir name="System"><dir name="Config"><file name="About.php" hash="29091a400a1ce9c9207d732de03ce7bd"/><file name="Disabled.php" hash="9970f5fc1b0b34000b8219f2519eccaa"/><dir name="Form"><dir name="Field"><file name="Hidden.php" hash="95ed0e83cd87c03de709789eb21ab1b2"/></dir><file name="Field.php" hash="34766e8795a023cdf19c2fc0bb0c976f"/><file name="Fieldset.php" hash="0605c96e429b6d1c5ae6081b6a1bf76e"/></dir><file name="Form.php" hash="d8c5c4aa3d8132c7318311981cd1fdee"/><file name="Hidden.php" hash="b4b32095413ebdd63f4de1194e20ea0e"/><file name="Modules.php" hash="3deb577d540a7537d91059a8393d759d"/><file name="Tabs.php" hash="de833cdcb3b278923e53ee85d685820f"/><dir name="Validate"><file name="Marketing.php" hash="86513e7b18dc53ab3f6a17ae1c2ffb07"/><file name="Transactional.php" hash="578130a5e13e24848eea90dede3d8ab5"/></dir></dir></dir></dir><file name="Jsinit.php" hash="47c0e55bbe05d6adc07840090034eca7"/></dir><dir name="Helper"><file name="Ajax.php" hash="57787267c712dd712f74fc54e6f2765f"/><file name="Api.php" hash="5bbe4e34310f1dfb7f83395a622b6a08"/><file name="Data.php" hash="37fba89884930b660c000910b73ff159"/><file name="File.php" hash="f3439f121e49b1dbf52aa4b15436a75f"/></dir><dir name="Interface"><file name="Job.php" hash="59c3fcfe0e35f2a7867a3bd8e5f51d61"/></dir><dir name="Model"><file name="Observer.php" hash="045ba8d185a9646cc2bfb0adfe96e6ef"/><dir name="System"><dir name="Config"><dir name="Backend"><file name="Enable.php" hash="9445b26df9a78548fd0c22be126acc7c"/></dir><dir name="Source"><dir name="Cron"><file name="Days.php" hash="0174fb71a0cd1979b4b1a74b4d5dfe6e"/><file name="Frequency.php" hash="0c0afecf1341100e4ba90e180df6facf"/><file name="Minutes.php" hash="b7a8eef1155ca8cddadc79d643ac56bc"/></dir><file name="Field.php" hash="da1801ccb45426ce8e960a4d40952303"/><file name="Global.php" hash="412071d06a25bf92962d2c2be1eb411a"/><file name="Message.php" hash="aa72d6227f29795dadf9c45405cafffd"/></dir></dir></dir></dir><dir name="controllers"><file name="AjaxController.php" hash="1b13dcdd114be2ae40a6386ac304fdb9"/><file name="JobController.php" hash="99b6026a540c4f02c8c827e66a85d48b"/><file name="Pure360Controller.php" hash="07599b0ad90725bda1201b8bd291e0d5"/></dir><dir name="etc"><file name="config.xml" hash="a33da4e0cc1f3344a532730ed499315b"/><file name="system.xml" hash="9b467fbbc758e3933e1343f8a0f63715"/></dir></dir><dir name="Cron"><dir name="Block"><dir name="Adminhtml"><dir name="System"><dir name="Config"><file name="About.php" hash="4c08269367666f8aa9ea9028f1afc0b7"/></dir><dir name="Cron"><dir name="Manager"><dir name="Grid"><dir name="Renderer"><file name="Actions.php" hash="c0ee554f426a5147b486384c52f8eae3"/><file name="Crontab.php" hash="b28f87aeb8259bd17583b2a86fa16e19"/><file name="Force.php" hash="69f68ee9b7e7deccf161991aff2013fe"/><file name="Pause.php" hash="780dd8620f8c0c0a7094c558d6c1b0fc"/></dir></dir><file name="Grid.php" hash="a654543f57a356152eb7119cf971f4a9"/><dir name="Logs"><dir name="Renderer"><file name="Bytes.php" hash="a252cdb9290293c58962b19ec376d11f"/><file name="Clean.php" hash="448c3aae8e6fef07e676a53ac1225e11"/><file name="Download.php" hash="1046ed159db6e270d78823af78e4dec0"/><file name="Tail.php" hash="57ad12798b10af495e3e3d34e84ecb36"/></dir></dir><file name="Logs.php" hash="bbad87b3c1ff4165179ffa799554f568"/></dir><file name="Manager.php" hash="407928e5052d387a45f02b5c8e70810b"/></dir></dir></dir><file name="Jsinit.php" hash="28d2d2074598dd783db41884fc624f88"/></dir><dir name="Helper"><file name="Data.php" hash="fa6c7e721a561c014382692aa2a49eab"/></dir><dir name="Job"><file name="Abstract.php" hash="f59fb9712d9001f3406d10c202a45223"/><file name="Interface.php" hash="306c4c9de6dc281ce2d50012759da82c"/></dir><dir name="Model"><file name="Job.php" hash="2876e7fcff63de170d0b34d2aef92254"/><file name="Observer.php" hash="788e7fbcca63ac8aea5ed254097886aa"/><dir name="Resource"><dir name="Job"><file name="Collection.php" hash="a42b6c45b4786f35d2d808bd3e0860da"/></dir><file name="Job.php" hash="ca3d4f31293d6419fb4b84a10dec4464"/></dir></dir><dir name="controllers"><file name="AjaxController.php" hash="0bc1a43d2f780d1d1685e729c643439b"/></dir><dir name="etc"><file name="config.xml" hash="f8ad2e8b8aef8ff49df707ab2e2e168c"/><file name="system.xml" hash="d398d5ef4758562b8e8c7007b2470b7b"/></dir><dir name="sql"><dir name="pure360_cron_setup"><file name="mysql4-install-1.0.4.php" hash="6819eab799199893f65c05a53451e3a0"/></dir></dir></dir><dir name="Email"><dir name="Block"><dir name="Adminhtml"><dir name="System"><dir name="Config"><file name="About.php" hash="c03154f20bdfbe72631bc09fbd3f86da"/><file name="Transactional.php" hash="37476f57155a4d28a9a16d75f1c2269c"/></dir></dir></dir><file name="Jsinit.php" hash="463a0092939237b6de4c4e9b47e897d8"/></dir><dir name="Helper"><file name="Api.php" hash="ddeb4f28ee7f82530b96055c4b5ccaa8"/><file name="Data.php" hash="ca33046f86cd97daff222e2386879ee8"/></dir><dir name="Model"><dir name="Email"><file name="Message.php" hash="658029c96a60ce6f542934fdf9993bb2"/></dir><file name="Messages.php" hash="56eeb27a00e794774759d4631df0df0d"/><dir name="Resource"><dir name="Transactional"><file name="Collection.php" hash="92714dd16f619e43ae8695bf6b9a5d59"/></dir><file name="Transactional.php" hash="c2c02bf63ab5c7314eca1f94f4f953bc"/></dir><dir name="System"><dir name="Config"><dir name="Source"><dir name="Email"><file name="Template.php" hash="6e04d1a0f99becc198a940ef1c8ebf57"/></dir></dir></dir></dir><file name="Transactional.php" hash="f71a307d7dc6bb652a1267921b78a7e6"/></dir><dir name="controllers"><file name="AjaxController.php" hash="1d81c0ad2620918a07266c40d772b8e0"/></dir><dir name="etc"><file name="config.xml" hash="aebec2970abf97ebf4ccca84d554fa51"/><file name="system.xml" hash="b1ed057cfe7d27ecfb86fdf5a3f02e27"/></dir><dir name="sql"><dir name="pure360_email_setup"><file name="mysql4-install-1.0.4.php" hash="bb37fdf2a7c8907b13e003eb56f13542"/></dir></dir></dir><dir name="List"><dir name="Block"><dir name="Adminhtml"><dir name="System"><dir name="Config"><file name="About.php" hash="f66afdcd44d13a9a4dbd92fc3d77114a"/><file name="Form.php" hash="9b8b1a093cc9c455fb108a6f9d3960c0"/><file name="List.php" hash="9ee4a1c9e91b63402060f85726296f16"/></dir></dir></dir><file name="Jsinit.php" hash="78daf97d49034d34c36007322408c9a8"/></dir><dir name="Helper"><file name="Api.php" hash="159d953cad20a35eeaebab802e4b3b2a"/><file name="Data.php" hash="2bf3dd35442b2dc6191cb765512e28f7"/></dir><dir name="Job"><file name="Sync.php" hash="656178fd017807d5c8854a439933dc34"/></dir><dir name="Model"><file name="Address.php" hash="844441bf49a1f1ac492939449c33f28c"/><file name="Customer.php" hash="69e24f841868d937b403c5a95b2b70ae"/><file name="Data.php" hash="1e70c242bcfd71a92832cc300d8697fc"/><file name="Groups.php" hash="05f58791bbd56a161b8dc614831197ca"/><file name="List.php" hash="9125566c34a2500734e1c2583371aec3"/><file name="Observer.php" hash="ca2ea4a8ca36f7203c1a9ea30c70aa08"/><file name="Optout.php" hash="8ef1933d96623fd1e74038be26b37034"/><dir name="Resource"><dir name="List"><file name="Collection.php" hash="503fae2e6c778646ba730eaf98a67ae5"/></dir><file name="List.php" hash="5b443a43c67230dca205cf44e568b613"/><dir name="Optout"><file name="Collection.php" hash="51f4304dcdbd28e90e98d0f3c165c3b6"/></dir><file name="Optout.php" hash="7c59ba27cdb4a565ce08a92ef43ec89d"/></dir><file name="Sales.php" hash="9910099ba6f492c414e951a49e5960c1"/><file name="Segments.php" hash="6bf9009dc93f71224d29644c333c1a61"/><file name="Subscriber.php" hash="f5ba2429a89167639bad5ca63e971012"/></dir><dir name="controllers"><file name="AjaxController.php" hash="844117b2639e1e0540c4ea7bcadd5b29"/></dir><dir name="etc"><file name="config.xml" hash="135d804e2df4c858afcaa0cd7fc36b27"/><file name="system.xml" hash="33bc7c064f682b6009e650213ee49854"/></dir><dir name="sql"><dir name="pure360_list_setup"><file name="mysql4-install-1.0.4.php" hash="f9babd3b5b9b11100638e688a7c59379"/><file name="mysql4-upgrade-1.0.3-1.0.4.php" hash="bd6d2cd02673217a8c5846e789c9467d"/></dir></dir></dir><dir name="Newsletter"><dir name="Block"><dir name="Adminhtml"><dir name="System"><dir name="Config"><file name="About.php" hash="dbc0efc7099f1ac9af12d02fc87f559c"/></dir></dir></dir><dir name="Checkout"><dir name="Onepage"><file name="Newsletter.php" hash="7f58aea512497487aeaec8b8e23f4107"/></dir></dir><file name="Jsinit.php" hash="3cdd4b0da1539ac253e440997bb56308"/></dir><dir name="Helper"><file name="Api.php" hash="3219caeb42f3e36ec0e40b5c4cd727e5"/><file name="Data.php" hash="c2c63a8c9546183b6cb5048e6d7ddf7b"/></dir><dir name="Model"><file name="Observer.php" hash="0320f4334ef874f2c112e5d595760ec1"/><file name="Subscriber.php" hash="a35b3346fb4d0e6c12856e0e04451074"/></dir><dir name="controllers"><file name="IndexController.php" hash="da4dfea12608bf7ef6e177b9a0be47ba"/></dir><dir name="etc"><file name="config.xml" hash="2a166b47c3718c3d5a2bbe1b7d142222"/><file name="system.xml" hash="35d9f9afe40ee6ea617906a3a830252f"/></dir><dir name="sql"><dir name="pure360_newsletter_setup"><file name="mysql4-install-1.0.4.php" hash="8487bc8b8483b9a941f9895e25280455"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="pure360_cart.xml" hash="273917f43f2d5b661005cfe09ef19981"/><file name="pure360_common.xml" hash="936bcb981defde27e7ec4fb0d9d64333"/><file name="pure360_cron.xml" hash="f3a1e028121e2abcca8c48aa588c61aa"/><file name="pure360_email.xml" hash="3d455306546061dd3845dc66647a6c67"/><file name="pure360_list.xml" hash="16622be692caa1bdb4ea95f864faca74"/><file name="pure360_newsletter.xml" hash="2cbc34cdb97a0f0e87df04d72c4cee02"/></dir><dir name="template"><dir name="pure360"><dir name="cart"><file name="jsinit.phtml" hash="2bca290370210037cb71c62e15b0d9cc"/></dir><dir name="common"><file name="about.phtml" hash="c532330d3f02612b6bc04b5b918f3c46"/><file name="config.phtml" hash="d41d8cd98f00b204e9800998ecf8427e"/><file name="disabled.phtml" hash="3fe3a819a246c58ee95404ce7428285e"/><file name="error.phtml" hash="891d140f2a5616f2929b307edf39c18b"/><file name="hidden.phtml" hash="bd8768ad057df0a9dda8e50a0507b3ed"/><file name="jsinit.phtml" hash="fe043d6f61686949e2098108686ecad4"/><file name="modules.phtml" hash="2dcf7bab0da85eb4533d07f8479c4c38"/></dir><dir name="cron"><file name="jsinit.phtml" hash="697388afb41375e3dfe9f7c4fff25712"/><file name="manager.phtml" hash="a413d279ec78fce33ffe2c7196fd2acb"/></dir><dir name="email"><file name="jsinit.phtml" hash="91b9745ad690249ea58b5f80c7487a1f"/><file name="transactional.phtml" hash="2002641f30185ea1d63f2c492478ff95"/></dir><file name="hint.phtml" hash="6e50c5cce42b12e8481e5211e8cf0f35"/><dir name="list"><file name="jsinit.phtml" hash="2a66b7d233cdf95c751e102974504ca0"/><file name="list.phtml" hash="f310c3197118223821176f4f791eeed4"/></dir><dir name="newsletter"><file name="jsinit.phtml" hash="e57d9c2279ff4440df096e79643f9bca"/></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><dir name="pure360"><file name="cart.xml" hash="ae1b704553530b74108d9759f575376b"/><file name="newsletter.xml" hash="678ce91ac72cce3f541daae259a4ef32"/></dir></dir><dir name="template"><dir name="pure360"><dir name="cart"><dir name="email"><dir name="order"><dir name="items"><dir name="order"><file name="default.phtml" hash="307ede936c9f667a7fbd64115942a721"/></dir></dir><file name="items.phtml" hash="0e349df6e260ca4d4be1092e58c7be24"/></dir></dir></dir><dir name="newsletter"><file name="jsinit.phtml" hash="db2d4424149c02ace0f501fad2c77d36"/></dir></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Pure360_Cart.xml" hash="29d028bc4960d42dd9ae5471c9bbf904"/><file name="Pure360_Common.xml" hash="21ce1650dac593cf9d1293167592ce9d"/><file name="Pure360_Cron.xml" hash="3fac7040468efecd5ae487b3e0509737"/><file name="Pure360_Email.xml" hash="e58b87357af6ed25523afd5983a63297"/><file name="Pure360_List.xml" hash="277e4aea059838480e1af90a3b2d0a7a"/><file name="Pure360_Newsletter.xml" hash="500c3d494e2c3edc7b0a0bdb0a429126"/></dir></target><target name="magelocale"><dir name="en_US"><dir name="template"><dir name="email"><dir name="pure360"><file name="abandoned_cart.html" hash="e2b9facb56c028a2e19a69f5420052ff"/><file name="abandoned_cart_guest.html" hash="00cbc838e6f4e44fc87c51d98cedd2a2"/></dir></dir></dir></dir></target><target name="mage"><dir name="js"><dir name="mage"><dir name="adminhtml"><dir name="pure360"><file name="cart.js" hash="ee5b1110af04c4d24f0ed5f1668cf4d5"/><file name="common.js" hash="2ffa56e258da7022973ec1568d00785c"/><file name="cron.js" hash="29b6311859e63be290a9ececc3dbc547"/><file name="email.js" hash="3c9259fe31d2ade24aacc622b0790ea2"/><file name="list.js" hash="443b0acec1d1a3016f3b606e92a435d5"/><file name="newsletter.js" hash="15d462e8eaab011460431cc10a75bdb2"/></dir></dir></dir></dir></target><target name="magelib"><dir name="Pure360"><file name="Client.php" hash="61f3e6ab0345e05d92d0b2161395f378"/><file name="Entity.php" hash="ba76dccb0a80ce11a110d3e1c5e108a1"/><dir name="Exception"><file name="SecurityException.php" hash="1e30dd834995651eb8ab0ff19c022713"/><file name="SystemException.php" hash="dbb715d39318c4a63db0d05eaeb85eab"/><file name="ValidationException.php" hash="69540e782165d00400c1ae460aa755ed"/></dir><dir name="Package"><dir name="Account"><file name="Identity.php" hash="56a192c63b4b82f95a03bf01dfb0e320"/><file name="Login.php" hash="b5cf3c5a7f02c34a7714492cb088b12d"/><file name="Pool.php" hash="6ca9929fae710c8d3b6baff9bb9ebd56"/></dir><file name="Account.php" hash="549fc8c168e102b5d622192e7161314f"/><dir name="Campaign"><file name="Automation.php" hash="7ef9a900dd1e48b5bc131aa3c801c4bb"/><file name="AutomationByDate.php" hash="0042f336568ce900d74e8e19e9d70a9b"/><file name="AutomationBySignup.php" hash="23e9d9e19a02c602ab67a2e706e64184"/><file name="ContentItem.php" hash="797bfd1d0fee23e2d8a00a7118934fc9"/><file name="Delivery.php" hash="a38c9f831977dc635140af291f529bbb"/><file name="DynamicRegion.php" hash="f81afeb8f67d3b5d6adb279126325321"/><file name="Email.php" hash="ae09ee6eb161c2032a68af8486227a8f"/><file name="Filter.php" hash="16cbfe1f34080bf88326315cde2c7fae"/><file name="GroupDelivery.php" hash="e470a337c36cd6c6e6c2126c2d8a6b05"/><file name="MarketingList.php" hash="62a2cb099555c922abc8971fb904af84"/><file name="Message.php" hash="115a7a8d5d313cc1fc91c404af4e277f"/><file name="One2One.php" hash="b3f229593bc9e78f717807967923e181"/><file name="Person.php" hash="465cc7928b872f1a1f9c71099e70e640"/><file name="Sms.php" hash="c525a6fb395d67651e91c1fe6481777b"/></dir><file name="Campaign.php" hash="bfab52155c32995acd3b7e376b683001"/><dir name="Context"><file name="Context.php" hash="2fe3109a45d6459f4cf441b3aa1ed7a3"/><file name="Preference.php" hash="8a390e782e04ad0decc26f72cc7f362c"/></dir><file name="Context.php" hash="7032b8dd4c00fded3f49511b174ebeba"/><dir name="Data"><file name="Meta.php" hash="a0489bfbbd52443eeb3f019f36840846"/><file name="Scheduler.php" hash="a37efb3c2d5497bc37393a8fa4879b57"/></dir><file name="Data.php" hash="77c4d9c47b4a2cd161a506d74024e639"/><dir name="Other"><file name="EventNotification.php" hash="c880abfad0408709e7c801f74c0c1882"/><file name="File.php" hash="71f3239c95c09f03a954d47ebdd20233"/></dir><file name="Other.php" hash="bea8844bf4037303bcf7bd064e18ae3f"/></dir><file name="Package.php" hash="2b1d5236b81621130c7522ddc105bd90"/><file name="Session.php" hash="281fbef841672f74682b6a7ad58915d3"/></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="pure360"><file name="pure360.css" hash="ea0485422716685e1753945731b3391e"/></dir><dir name="images"><dir name="pure360"><file name="pure_logo.png" hash="e03329ae9efacfeb292f079992a18a41"/><file name="switch.png" hash="dc4dd15ad074ab584444bda7660afe7a"/></dir></dir></dir></dir></dir></target></contents>
|
111 |
<compatible/>
|
112 |
<dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php><extension><name>soap</name><min></min><max></max></extension></required></dependencies>
|
113 |
</package>
|