Version Notes
For installation and configuration instructions, as well as a full list of new features and known issues, please review the Implementation Guide.
Download this release
Release Info
Developer | Chris Geiss |
Extension | Bronto_Extension |
Version | 2.2.1 |
Comparing to | |
See all releases |
Code changes from version 2.2.0 to 2.2.1
- app/code/community/Bronto/Common/Block/Adminhtml/System/Config/Cron/Error.php +14 -0
- app/code/community/Bronto/Common/Block/Adminhtml/System/Config/Guide.php +2 -1
- app/code/community/Bronto/Common/Helper/Api.php +229 -0
- app/code/community/Bronto/Common/Helper/Data.php +33 -28
- app/code/community/Bronto/Common/Helper/Product.php +2 -1
- app/code/community/Bronto/Common/Helper/Support.php +39 -2
- app/code/community/Bronto/Common/Model/Api.php +79 -35
- app/code/community/Bronto/Common/Model/Delivery.php +57 -0
- app/code/community/Bronto/Common/Model/Email/Template.php +44 -3
- app/code/community/Bronto/Common/Model/Email/Template/Filter.php +14 -2
- app/code/community/Bronto/Common/Model/Error.php +117 -0
- app/code/community/Bronto/Common/Model/Mysql4/Api.php +14 -0
- app/code/community/Bronto/Common/Model/Mysql4/Api/Collection.php +13 -0
- app/code/community/Bronto/Common/Model/Mysql4/Error.php +12 -0
- app/code/community/Bronto/Common/Model/Mysql4/Error/Collection.php +35 -0
- app/code/community/Bronto/Common/Model/Observer.php +54 -0
- app/code/community/Bronto/Common/Model/SoapClient.php +1 -1
- app/code/community/Bronto/Common/Model/System/Config/Backend/Cron/Error.php +7 -0
- app/code/community/Bronto/Common/etc/adminhtml.xml +4 -0
- app/code/community/Bronto/Common/etc/config.xml +62 -14
- app/code/community/Bronto/Common/etc/system.xml +320 -3
- app/code/community/Bronto/Common/sql/bronto_common_setup/mysql4-install-2.2.1.php +38 -0
- app/code/community/Bronto/Common/sql/bronto_common_setup/mysql4-upgrade-1.7.0-2.2.1.php +38 -0
- app/code/community/Bronto/Common/sql/bronto_common_setup/mysql4-upgrade-2.0.4-2.2.1.php +38 -0
- app/code/community/Bronto/Common/sql/bronto_common_setup/mysql4-upgrade-2.0.4.2-2.2.1.php +38 -0
- app/code/community/Bronto/Common/sql/bronto_common_setup/mysql4-upgrade-2.1.0-2.2.1.php +38 -0
- app/code/community/Bronto/Common/sql/bronto_common_setup/mysql4-upgrade-2.2.0-2.2.1.php +38 -0
- app/code/community/Bronto/Customer/Helper/Data.php +0 -5
- app/code/community/Bronto/Email/Block/Adminhtml/System/Email/Template.php +1 -1
- app/code/community/Bronto/Email/Block/Adminhtml/System/Email/Template/Edit.php +2 -2
- app/code/community/Bronto/Email/Helper/Data.php +6 -6
- app/code/community/Bronto/Email/Model/Mysql4/Message.php +0 -1
- app/code/community/Bronto/Email/Model/Mysql4/Template.php +1 -1
- app/code/community/Bronto/Email/Model/Mysql4/Template/Collection.php +1 -1
- app/code/community/Bronto/Email/Model/Template.php +9 -1
- app/code/community/Bronto/Email/Model/Template/Import.php +1 -1
- app/code/community/Bronto/Email/etc/config.xml +1 -1
- app/code/community/Bronto/Email/sql/bronto_email_setup/mysql4-install-1.1.9.php +65 -0
- app/code/community/Bronto/Email/sql/bronto_email_setup/mysql4-upgrade-1.1.8-1.1.9.php +20 -0
- app/code/community/Bronto/Emailcapture/Model/Queue.php +3 -2
- app/code/community/Bronto/Newsletter/Helper/Contact.php +11 -15
- app/code/community/Bronto/Newsletter/Helper/Data.php +0 -5
- app/code/community/Bronto/Newsletter/Model/Observer.php +3 -3
- app/code/community/Bronto/Newsletter/Model/Resource/Setup.php +17 -0
- app/code/community/Bronto/Newsletter/controllers/Adminhtml/NewsletterController.php +3 -0
- app/code/community/Bronto/Newsletter/etc/config.xml +3 -2
- app/code/community/Bronto/Newsletter/sql/bronto_newsletter_setup/mysql4-install-1.4.7.php +61 -0
- app/code/community/Bronto/Newsletter/sql/bronto_newsletter_setup/mysql4-upgrade-1.4.5-1.4.6.php +1 -1
- app/code/community/Bronto/Newsletter/sql/bronto_newsletter_setup/mysql4-upgrade-1.4.6-1.4.7.php +13 -0
- app/code/community/Bronto/Order/Helper/Data.php +0 -5
- app/code/community/Bronto/Order/Model/Observer.php +15 -1
- app/code/community/Bronto/Order/Model/Queue.php +2 -2
- app/code/community/Bronto/Reminder/Helper/Data.php +0 -5
- app/code/community/Bronto/Reminder/Model/Email/Message.php +8 -0
- app/code/community/Bronto/Reviews/Helper/Data.php +18 -8
- app/code/community/Bronto/Reviews/Model/Observer.php +1 -1
- app/code/community/Bronto/Verify/Block/Adminhtml/System/Config/Form/Magecron.php +2 -0
- app/code/community/Bronto/Verify/Block/Adminhtml/System/Config/Installs.php +1 -0
- app/code/community/Bronto/Verify/Helper/Data.php +0 -115
- app/code/community/Bronto/Verify/Model/Contact/Builder.php +1 -1
- app/code/community/Bronto/Verify/etc/config.xml +0 -9
- app/code/community/Bronto/Verify/etc/system.xml +12 -119
- app/design/adminhtml/default/default/layout/bronto/common.xml +1 -0
- app/design/adminhtml/default/default/template/bronto/api/guide.phtml +239 -0
- app/design/adminhtml/default/default/template/bronto/common/about.phtml +2 -2
- app/design/adminhtml/default/default/template/bronto/common/cron.phtml +1 -1
- app/design/adminhtml/default/default/template/bronto/verify/guide.phtml +7 -50
- lib/Bronto/Api.php +69 -5
- lib/Bronto/Api/Login.php +0 -8
- lib/Bronto/Api/Object.php +1 -1
- lib/Bronto/Observer.php +35 -0
- lib/Bronto/SoapClient.php +4 -3
- package.xml +4 -4
- shell/bronto/cron.php +18 -10
- shell/bronto/fix.php +2 -0
app/code/community/Bronto/Common/Block/Adminhtml/System/Config/Cron/Error.php
ADDED
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Bronto_Common_Block_Adminhtml_System_Config_Cron_Error extends Bronto_Common_Block_Adminhtml_System_Config_Cron
|
4 |
+
{
|
5 |
+
protected $_jobCode = 'bronto_common_errors';
|
6 |
+
|
7 |
+
/**
|
8 |
+
* @return bool
|
9 |
+
*/
|
10 |
+
public function showCronTable()
|
11 |
+
{
|
12 |
+
return Mage::helper('bronto_common/api')->canUseMageCron();
|
13 |
+
}
|
14 |
+
}
|
app/code/community/Bronto/Common/Block/Adminhtml/System/Config/Guide.php
CHANGED
@@ -13,6 +13,7 @@ class Bronto_Common_Block_Adminhtml_System_Config_Guide extends Mage_Adminhtml_B
|
|
13 |
*/
|
14 |
private $_sections = array(
|
15 |
'bronto',
|
|
|
16 |
'bronto_common',
|
17 |
'bronto_news',
|
18 |
'bronto_newsletter',
|
@@ -106,4 +107,4 @@ class Bronto_Common_Block_Adminhtml_System_Config_Guide extends Mage_Adminhtml_B
|
|
106 |
|
107 |
return ($scopeParams['scope'] == 'default');
|
108 |
}
|
109 |
-
}
|
13 |
*/
|
14 |
private $_sections = array(
|
15 |
'bronto',
|
16 |
+
'bronto_api',
|
17 |
'bronto_common',
|
18 |
'bronto_news',
|
19 |
'bronto_newsletter',
|
107 |
|
108 |
return ($scopeParams['scope'] == 'default');
|
109 |
}
|
110 |
+
}
|
app/code/community/Bronto/Common/Helper/Api.php
ADDED
@@ -0,0 +1,229 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Bronto_Common_Helper_Api extends Bronto_Common_Helper_Data
|
4 |
+
{
|
5 |
+
const XML_PATH_ENABLED = 'bronto_api/settings/enabled';
|
6 |
+
const XML_PATH_MAGE_CRON = 'bronto_api/settings/mage_cron';
|
7 |
+
const XML_PATH_ATTEMPT_THRES = 'bronto_api/settings/threshold';
|
8 |
+
const XML_PATH_TIME = 'bronto_api/settings/time';
|
9 |
+
const XML_PATH_INTERVAL = 'bronto_api/settings/interval';
|
10 |
+
const XML_PATH_FREQUENCY = 'bronto_api/settings/frequency';
|
11 |
+
const XML_PATH_FREQUENCY_MIN = 'bronto_api/settings/minutes';
|
12 |
+
const XML_PATH_ERROR_THRES = 'bronto_api/setting/limit';
|
13 |
+
|
14 |
+
const XML_PATH_SOAP_CLIENT = 'bronto_api/soap_options/soap_client';
|
15 |
+
const XML_PATH_API_OBSERVER = 'bronto_api/soap_options/observer';
|
16 |
+
const XML_PATH_API_RETRYER = 'bronto_api/soap_options/retryer';
|
17 |
+
const XML_PATH_SOAP_STREAM_CONTEXT = 'bronto_api/soap_options/stream_context';
|
18 |
+
const XML_PATH_SOAP_RETRY_LIMIT = 'bronto_api/soap_options/retry_limit';
|
19 |
+
const XML_PATH_SOAP_CONNECTION_TIMEOUT = 'bronto_api/soap_options/connection_timeout';
|
20 |
+
const XML_PATH_SOAP_TRACE = 'bronto_api/soap_options/trace';
|
21 |
+
const XML_PATH_SOAP_EXCEPTIONS = 'bronto_api/soap_options/exceptions';
|
22 |
+
const XML_PATH_WSDL_CACHE = 'bronto_api/soap_options/wsdl_cache';
|
23 |
+
|
24 |
+
const DEFAULT_SOAP_CLIENT = 'Bronto_SoapClient';
|
25 |
+
|
26 |
+
/**
|
27 |
+
* Gets the Canonical name of the helper
|
28 |
+
*
|
29 |
+
* @return string
|
30 |
+
*/
|
31 |
+
public function getName()
|
32 |
+
{
|
33 |
+
return $this->__('Bronto API Retry');
|
34 |
+
}
|
35 |
+
|
36 |
+
/**
|
37 |
+
* Checks if the api retryer is enabled
|
38 |
+
*
|
39 |
+
* @return bool
|
40 |
+
*/
|
41 |
+
public function isEnabled($scope = 'default', $scopeId = 0)
|
42 |
+
{
|
43 |
+
return (bool) $this->getAdminScopedConfig(self::XML_PATH_ENABLED);
|
44 |
+
}
|
45 |
+
|
46 |
+
/**
|
47 |
+
* Gets the entries whose attempts are less than this amount
|
48 |
+
*
|
49 |
+
* @return int
|
50 |
+
*/
|
51 |
+
public function getAttemptThreshold()
|
52 |
+
{
|
53 |
+
return (int) $this->getAdminScopedConfig(self::XML_PATH_ATTEMPT_THRES);
|
54 |
+
}
|
55 |
+
|
56 |
+
/**
|
57 |
+
* Gets the number of error entries to process
|
58 |
+
*
|
59 |
+
* @return int
|
60 |
+
*/
|
61 |
+
public function getErrorThreshold()
|
62 |
+
{
|
63 |
+
return (int) $this->getAdminScopedConfig(self::XML_PATH_ERROR_THRES);
|
64 |
+
}
|
65 |
+
|
66 |
+
/**
|
67 |
+
* Whether or not to use Magento cron
|
68 |
+
*
|
69 |
+
* @return bool
|
70 |
+
*/
|
71 |
+
public function canUseMageCron()
|
72 |
+
{
|
73 |
+
return (bool) $this->getAdminScopedConfig(self::XML_PATH_MAGE_CRON, 'default', 0);
|
74 |
+
}
|
75 |
+
|
76 |
+
/**
|
77 |
+
* Get SOAP Options
|
78 |
+
*
|
79 |
+
* @return array
|
80 |
+
*/
|
81 |
+
public function getSoapOptions()
|
82 |
+
{
|
83 |
+
// Return Default Options
|
84 |
+
return array(
|
85 |
+
'soap_client' => $this->getSoapClient(),
|
86 |
+
'observer' => $this->getApiObserver(),
|
87 |
+
'retry_limit' => $this->getSoapRetryLimit(),
|
88 |
+
'connection_timeout' => $this->getSoapConnectionTimeout(),
|
89 |
+
'trace' => $this->getSoapTrace(),
|
90 |
+
'exceptions' => $this->getSoapExceptions(),
|
91 |
+
'cache_wsdl' => $this->getSoapCacheWsdl(),
|
92 |
+
'debug' => $this->isDebugEnabled(),
|
93 |
+
'retryer' => $this->getApiRetryer()
|
94 |
+
);
|
95 |
+
}
|
96 |
+
|
97 |
+
/**
|
98 |
+
* Gets the class name for the retryer
|
99 |
+
*
|
100 |
+
* @return string
|
101 |
+
*/
|
102 |
+
public function getApiRetryer()
|
103 |
+
{
|
104 |
+
$class = $this->getAdminScopedConfig(self::XML_PATH_API_RETRYER);
|
105 |
+
$options = array('type' => 'custom');
|
106 |
+
if (empty($class) || !class_exists($class)) {
|
107 |
+
$options['object'] = Mage::getModel('bronto_common/error');
|
108 |
+
} else {
|
109 |
+
$options['path'] = $class;
|
110 |
+
}
|
111 |
+
return $options;
|
112 |
+
}
|
113 |
+
|
114 |
+
/**
|
115 |
+
* Override the Bronto_SoapCLient class name
|
116 |
+
*
|
117 |
+
* @return string
|
118 |
+
*/
|
119 |
+
public function getSoapClient()
|
120 |
+
{
|
121 |
+
$class = $this->getAdminScopedConfig(self::XML_PATH_SOAP_CLIENT);
|
122 |
+
if (empty($class)) {
|
123 |
+
$class = self::DEFAULT_SOAP_CLIENT;
|
124 |
+
}
|
125 |
+
if (
|
126 |
+
$this->isStreamContextOverride() &&
|
127 |
+
$class == self::DEFAULT_SOAP_CLIENT
|
128 |
+
) {
|
129 |
+
$class = 'Bronto_Common_Model_SoapClient';
|
130 |
+
}
|
131 |
+
return $class;
|
132 |
+
}
|
133 |
+
|
134 |
+
/**
|
135 |
+
* Overrides the Bronto_Observer use in Bronto_Api
|
136 |
+
*
|
137 |
+
* @return string
|
138 |
+
*/
|
139 |
+
public function getApiObserver()
|
140 |
+
{
|
141 |
+
return $this->getAdminScopedConfig(self::XML_PATH_API_OBSERVER);
|
142 |
+
}
|
143 |
+
|
144 |
+
/**
|
145 |
+
* Override the default Soap client with the stream context override
|
146 |
+
*
|
147 |
+
* @return bool
|
148 |
+
*/
|
149 |
+
public function isStreamContextOverride()
|
150 |
+
{
|
151 |
+
return (bool)$this->getAdminScopedConfig(self::XML_PATH_SOAP_STREAM_CONTEXT);
|
152 |
+
}
|
153 |
+
|
154 |
+
/**
|
155 |
+
* Turn on stream context override
|
156 |
+
*
|
157 |
+
* @param bool $state
|
158 |
+
* @return Bronto_Common_Helper_Api
|
159 |
+
*/
|
160 |
+
public function setStreamContext($state)
|
161 |
+
{
|
162 |
+
$config = Mage::getModel('core/config');
|
163 |
+
$config->saveConfig(self::XML_PATH_SOAP_STREAM_CONTEXT, $state ? '1' : '0', 'default', 0);
|
164 |
+
|
165 |
+
Mage::getConfig()->reinit();
|
166 |
+
Mage::app()->reinitStores();
|
167 |
+
return $this;
|
168 |
+
}
|
169 |
+
|
170 |
+
/**
|
171 |
+
* Get Config Value for SOAP Retry Limit
|
172 |
+
*
|
173 |
+
* @return int
|
174 |
+
*/
|
175 |
+
public function getSoapRetryLimit()
|
176 |
+
{
|
177 |
+
return (int)$this->getAdminScopedConfig(self::XML_PATH_SOAP_RETRY_LIMIT);
|
178 |
+
}
|
179 |
+
|
180 |
+
/**
|
181 |
+
* Get Config Value for SOAP Connection Timeout
|
182 |
+
*
|
183 |
+
* @return int
|
184 |
+
*/
|
185 |
+
public function getSoapConnectionTimeout()
|
186 |
+
{
|
187 |
+
return (int)$this->getAdminScopedConfig(self::XML_PATH_SOAP_CONNECTION_TIMEOUT);
|
188 |
+
}
|
189 |
+
|
190 |
+
/**
|
191 |
+
* Get Config Value for SOAP Trace
|
192 |
+
*
|
193 |
+
* @return bool
|
194 |
+
*/
|
195 |
+
public function getSoapTrace()
|
196 |
+
{
|
197 |
+
return (bool)$this->getAdminScopedConfig(self::XML_PATH_SOAP_TRACE) == '1';
|
198 |
+
}
|
199 |
+
|
200 |
+
/**
|
201 |
+
* Get Config Value for SOAP Exceptions
|
202 |
+
*
|
203 |
+
* @return bool
|
204 |
+
*/
|
205 |
+
public function getSoapExceptions()
|
206 |
+
{
|
207 |
+
return (bool)$this->getAdminScopedConfig(self::XML_PATH_SOAP_EXCEPTIONS) == '1';
|
208 |
+
}
|
209 |
+
|
210 |
+
/**
|
211 |
+
* @return string
|
212 |
+
*/
|
213 |
+
public function getSoapCacheWsdl()
|
214 |
+
{
|
215 |
+
$cacheWsdl = $this->getAdminScopedConfig(self::XML_PATH_WSDL_CACHE);
|
216 |
+
switch ($cacheWsdl) {
|
217 |
+
case 'WSDL_CACHE_NONE':
|
218 |
+
return WSDL_CACHE_NONE;
|
219 |
+
case 'WSDL_CACHE_DISK':
|
220 |
+
return WSDL_CACHE_DISK;
|
221 |
+
case 'WSDL_CACHE_MEMORY':
|
222 |
+
return WSDL_CACHE_MEMORY;
|
223 |
+
case 'WSDL_CACHE_BOTH':
|
224 |
+
default:
|
225 |
+
return WSDL_CACHE_BOTH;
|
226 |
+
}
|
227 |
+
}
|
228 |
+
|
229 |
+
}
|
app/code/community/Bronto/Common/Helper/Data.php
CHANGED
@@ -17,6 +17,7 @@ class Bronto_Common_Helper_Data
|
|
17 |
const XML_PATH_TEST = 'bronto/settings/test';
|
18 |
const XML_PATH_NOTICES = 'bronto/settings/notices';
|
19 |
const XML_PATH_ENABLED = 'bronto/settings/enabled';
|
|
|
20 |
|
21 |
/**
|
22 |
* Formatting Settings
|
@@ -81,6 +82,18 @@ class Bronto_Common_Helper_Data
|
|
81 |
return $this->__('If you have changed your API token, please ensure you reconfigure all available options.');
|
82 |
}
|
83 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
84 |
/**
|
85 |
* Get Javascript for Pop-up
|
86 |
*
|
@@ -301,11 +314,6 @@ class Bronto_Common_Helper_Data
|
|
301 |
return false;
|
302 |
}
|
303 |
|
304 |
-
// If module is missing token, return false
|
305 |
-
if (!$this->getApiToken()) {
|
306 |
-
return false;
|
307 |
-
}
|
308 |
-
|
309 |
// If requirements are not met, return false
|
310 |
if (!$this->verifyRequirements($this->_getModuleName())) {
|
311 |
return false;
|
@@ -407,7 +415,9 @@ class Bronto_Common_Helper_Data
|
|
407 |
$token = $this->getApiToken($scope, $scopeId);
|
408 |
}
|
409 |
|
410 |
-
return
|
|
|
|
|
411 |
}
|
412 |
|
413 |
/**
|
@@ -456,13 +466,27 @@ class Bronto_Common_Helper_Data
|
|
456 |
}
|
457 |
|
458 |
try {
|
459 |
-
$api =
|
460 |
-
$api->login();
|
461 |
$tokenRow = $api->getTokenInfo();
|
462 |
|
463 |
return $tokenRow->hasPermissions(7);
|
464 |
} catch (Exception $e) {
|
465 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
466 |
}
|
467 |
}
|
468 |
|
@@ -591,25 +615,6 @@ class Bronto_Common_Helper_Data
|
|
591 |
return ($modules[$moduleName]->active == 'true');
|
592 |
}
|
593 |
|
594 |
-
/**
|
595 |
-
* Get SOAP Options
|
596 |
-
*
|
597 |
-
* @return array
|
598 |
-
*/
|
599 |
-
public function getSoapOptions()
|
600 |
-
{
|
601 |
-
// If Verify Module is enabled, use the settings from there
|
602 |
-
if ($this->isModuleInstalled('Bronto_Verify') && $this->isModuleActive()) {
|
603 |
-
return Mage::helper('bronto_verify')->getSoapOptions();
|
604 |
-
}
|
605 |
-
|
606 |
-
// Return Default Options
|
607 |
-
return array(
|
608 |
-
'retry_limit' => 2,
|
609 |
-
'debug' => $this->isDebugEnabled(),
|
610 |
-
);
|
611 |
-
}
|
612 |
-
|
613 |
/**
|
614 |
* @param string $moduleName
|
615 |
*
|
17 |
const XML_PATH_TEST = 'bronto/settings/test';
|
18 |
const XML_PATH_NOTICES = 'bronto/settings/notices';
|
19 |
const XML_PATH_ENABLED = 'bronto/settings/enabled';
|
20 |
+
const XML_PATH_TABLE_RUN = 'bronto/settings/fix_script';
|
21 |
|
22 |
/**
|
23 |
* Formatting Settings
|
82 |
return $this->__('If you have changed your API token, please ensure you reconfigure all available options.');
|
83 |
}
|
84 |
|
85 |
+
/**
|
86 |
+
* Determines if the last time the table schema scan was a previous version
|
87 |
+
*
|
88 |
+
* @return bool
|
89 |
+
*/
|
90 |
+
public function shouldRunFixScript()
|
91 |
+
{
|
92 |
+
return $this->getModuleVersion() != $this->getAdminScopedConfig(
|
93 |
+
self::XML_PATH_TABLE_RUN,
|
94 |
+
'default', $scopeId = 0);
|
95 |
+
}
|
96 |
+
|
97 |
/**
|
98 |
* Get Javascript for Pop-up
|
99 |
*
|
314 |
return false;
|
315 |
}
|
316 |
|
|
|
|
|
|
|
|
|
|
|
317 |
// If requirements are not met, return false
|
318 |
if (!$this->verifyRequirements($this->_getModuleName())) {
|
319 |
return false;
|
415 |
$token = $this->getApiToken($scope, $scopeId);
|
416 |
}
|
417 |
|
418 |
+
return Mage::getModel('bronto_common/api')
|
419 |
+
->setToken($token)
|
420 |
+
->getClient();
|
421 |
}
|
422 |
|
423 |
/**
|
466 |
}
|
467 |
|
468 |
try {
|
469 |
+
$api = $this->getApi($token, $scope, $scopeId);
|
|
|
470 |
$tokenRow = $api->getTokenInfo();
|
471 |
|
472 |
return $tokenRow->hasPermissions(7);
|
473 |
} catch (Exception $e) {
|
474 |
+
$helper = Mage::helper('bronto_common/api');
|
475 |
+
if (
|
476 |
+
!$helper->isStreamContextOverride() &&
|
477 |
+
(
|
478 |
+
$e->getCode() == Bronto_Api_Exception::WSDL_PARSE_ERROR ||
|
479 |
+
$e->getCode() == Bronto_Api_Exception::CONNECTION_RESET
|
480 |
+
)
|
481 |
+
) {
|
482 |
+
$helper->setStreamContext(true);
|
483 |
+
return $this->validApiToken($token, $scope, $scopeId);
|
484 |
+
} else {
|
485 |
+
if ($helper->isStreamContextOverride()) {
|
486 |
+
$helper->setStreamContext(false);
|
487 |
+
}
|
488 |
+
return false;
|
489 |
+
}
|
490 |
}
|
491 |
}
|
492 |
|
615 |
return ($modules[$moduleName]->active == 'true');
|
616 |
}
|
617 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
618 |
/**
|
619 |
* @param string $moduleName
|
620 |
*
|
app/code/community/Bronto/Common/Helper/Product.php
CHANGED
@@ -118,7 +118,8 @@ class Bronto_Common_Helper_Product extends Mage_Core_Helper_Abstract
|
|
118 |
switch ($name) {
|
119 |
case 'img':
|
120 |
case 'image':
|
121 |
-
return $product
|
|
|
122 |
case 'url':
|
123 |
return Mage::helper('catalog/product')->getProductUrl($product);
|
124 |
}
|
118 |
switch ($name) {
|
119 |
case 'img':
|
120 |
case 'image':
|
121 |
+
return Mage::helper('bronto_common')->getProductImageUrl($product);
|
122 |
+
// return $product->getSmallImageUrl();
|
123 |
case 'url':
|
124 |
return Mage::helper('catalog/product')->getProductUrl($product);
|
125 |
}
|
app/code/community/Bronto/Common/Helper/Support.php
CHANGED
@@ -6,6 +6,9 @@ class Bronto_Common_Helper_Support extends Bronto_Common_Helper_Data
|
|
6 |
const XML_PATH_LAST_RUN = 'bronto/support/last_run';
|
7 |
const XML_PATH_REGISTERED = 'bronto/support/registered';
|
8 |
|
|
|
|
|
|
|
9 |
// Process registration
|
10 |
protected $_registrationUrl = 'https://brontops.com/register/magento';
|
11 |
|
@@ -35,6 +38,19 @@ class Bronto_Common_Helper_Support extends Bronto_Common_Helper_Data
|
|
35 |
return (bool)$this->getAdminScopedConfig(self::XML_PATH_REGISTERED);
|
36 |
}
|
37 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
38 |
/**
|
39 |
* @param $onBronto boolean (optional)
|
40 |
* @return boolean
|
@@ -348,7 +364,7 @@ class Bronto_Common_Helper_Support extends Bronto_Common_Helper_Data
|
|
348 |
$archive = Mage::getModel('bronto_common/archive');
|
349 |
if ($archive->open($file, ZipArchive::OVERWRITE)) {
|
350 |
$now = time();
|
351 |
-
$threshold = $now - (
|
352 |
|
353 |
$archive->addEmptyDir('log');
|
354 |
|
@@ -377,6 +393,26 @@ class Bronto_Common_Helper_Support extends Bronto_Common_Helper_Data
|
|
377 |
return $archive;
|
378 |
}
|
379 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
380 |
/**
|
381 |
* Tails a given log for output
|
382 |
*
|
@@ -493,8 +529,9 @@ class Bronto_Common_Helper_Support extends Bronto_Common_Helper_Data
|
|
493 |
CURLOPT_SSL_VERIFYPEER => 0,
|
494 |
CURLOPT_POSTFIELDS => $json
|
495 |
));
|
496 |
-
$client->post($this->_registrationUrl, $
|
497 |
} catch (Exception $e) {
|
|
|
498 |
$this->writeError('Registration submission failed: ', $e->getMessage());
|
499 |
|
500 |
return false;
|
6 |
const XML_PATH_LAST_RUN = 'bronto/support/last_run';
|
7 |
const XML_PATH_REGISTERED = 'bronto/support/registered';
|
8 |
|
9 |
+
const XML_PATH_CLEAR_LOGS = 'bronto/settings/clear_logs';
|
10 |
+
const XML_PATH_LOG_THRES = 'bronto/settings/log_threshold';
|
11 |
+
|
12 |
// Process registration
|
13 |
protected $_registrationUrl = 'https://brontops.com/register/magento';
|
14 |
|
38 |
return (bool)$this->getAdminScopedConfig(self::XML_PATH_REGISTERED);
|
39 |
}
|
40 |
|
41 |
+
/**
|
42 |
+
* @return bool
|
43 |
+
*/
|
44 |
+
public function shouldClearLogs()
|
45 |
+
{
|
46 |
+
return (bool)$this->getAdminScopedConfig(self::XML_PATH_CLEAR_LOGS);
|
47 |
+
}
|
48 |
+
|
49 |
+
public function getLogThreshold()
|
50 |
+
{
|
51 |
+
return (int)$this->getAdminScopedConfig(self::XML_PATH_LOG_THRES) * (60 * 60 * 24);
|
52 |
+
}
|
53 |
+
|
54 |
/**
|
55 |
* @param $onBronto boolean (optional)
|
56 |
* @return boolean
|
364 |
$archive = Mage::getModel('bronto_common/archive');
|
365 |
if ($archive->open($file, ZipArchive::OVERWRITE)) {
|
366 |
$now = time();
|
367 |
+
$threshold = $now - $this->getLogThreshold();
|
368 |
|
369 |
$archive->addEmptyDir('log');
|
370 |
|
393 |
return $archive;
|
394 |
}
|
395 |
|
396 |
+
/**
|
397 |
+
* Removes log files that are over the threshold old
|
398 |
+
*
|
399 |
+
* @return bool
|
400 |
+
*/
|
401 |
+
public function clearOldLogs()
|
402 |
+
{
|
403 |
+
$logDir = Mage::getBaseDir('var') . DS . 'log' . DS . 'bronto';
|
404 |
+
$threshold = time() - $this->getLogThreshold();
|
405 |
+
|
406 |
+
$success = true;
|
407 |
+
foreach (glob($logDir . DS . '*log') as $logFile) {
|
408 |
+
$stat = lstat($logFile);
|
409 |
+
if ($stat['mtime'] < $threshold) {
|
410 |
+
$success = $success && unlink($logFile);
|
411 |
+
}
|
412 |
+
}
|
413 |
+
return $success;
|
414 |
+
}
|
415 |
+
|
416 |
/**
|
417 |
* Tails a given log for output
|
418 |
*
|
529 |
CURLOPT_SSL_VERIFYPEER => 0,
|
530 |
CURLOPT_POSTFIELDS => $json
|
531 |
));
|
532 |
+
$client->post($this->_registrationUrl, $params);
|
533 |
} catch (Exception $e) {
|
534 |
+
var_dump($e->getMessage());
|
535 |
$this->writeError('Registration submission failed: ', $e->getMessage());
|
536 |
|
537 |
return false;
|
app/code/community/Bronto/Common/Model/Api.php
CHANGED
@@ -4,65 +4,109 @@
|
|
4 |
* @category Bronto
|
5 |
* @package Common
|
6 |
*/
|
7 |
-
class Bronto_Common_Model_Api extends
|
8 |
{
|
9 |
-
|
|
|
|
|
10 |
|
11 |
/**
|
12 |
-
* @
|
13 |
*/
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
|
|
18 |
|
19 |
/**
|
20 |
-
*
|
21 |
-
* @param bool $debug
|
22 |
*
|
23 |
-
* @return
|
24 |
-
* @access public
|
25 |
*/
|
26 |
-
public
|
27 |
{
|
28 |
-
$token =
|
29 |
-
|
30 |
-
$options = Mage::helper('bronto_common')->getSoapOptions();
|
31 |
-
|
32 |
if (!isset(self::$_instances[$token])) {
|
33 |
-
Mage::helper('bronto_common')->
|
34 |
-
|
|
|
|
|
|
|
35 |
}
|
36 |
-
|
37 |
return self::$_instances[$token];
|
38 |
}
|
39 |
|
40 |
-
|
41 |
-
|
|
|
|
|
|
|
|
|
|
|
42 |
|
43 |
/**
|
44 |
-
* @
|
45 |
-
* @param string $message
|
46 |
-
* @param string $code
|
47 |
*
|
48 |
-
* @
|
49 |
-
* @access public
|
50 |
-
* @throws Bronto_Api_Exception
|
51 |
*/
|
52 |
-
public function
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
53 |
{
|
54 |
try {
|
55 |
-
|
56 |
-
|
57 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
58 |
Mage::helper('bronto_common')->writeDebug(var_export($request, true));
|
59 |
}
|
60 |
-
|
|
|
61 |
Mage::helper('bronto_common')->writeDebug(var_export($response, true));
|
62 |
}
|
63 |
-
throw $e;
|
64 |
}
|
65 |
}
|
66 |
-
|
67 |
-
// }}}
|
68 |
}
|
4 |
* @category Bronto
|
5 |
* @package Common
|
6 |
*/
|
7 |
+
class Bronto_Common_Model_Api extends Mage_Core_Model_Abstract implements Bronto_Observer
|
8 |
{
|
9 |
+
|
10 |
+
protected static $_instances = array();
|
11 |
+
protected $_setOnce = false;
|
12 |
|
13 |
/**
|
14 |
+
* @see parent
|
15 |
*/
|
16 |
+
protected function _construct()
|
17 |
+
{
|
18 |
+
parent::_construct();
|
19 |
+
$this->_init('bronto_common/api');
|
20 |
+
}
|
21 |
|
22 |
/**
|
23 |
+
* Gets the Bronto_Api client for for use in Magento
|
|
|
24 |
*
|
25 |
+
* @return Bronto_Api
|
|
|
26 |
*/
|
27 |
+
public function getClient()
|
28 |
{
|
29 |
+
$token = $this->getToken();
|
|
|
|
|
|
|
30 |
if (!isset(self::$_instances[$token])) {
|
31 |
+
$options = Mage::helper('bronto_common/api')->getSoapOptions();
|
32 |
+
if (empty($options['observer'])) {
|
33 |
+
$options['observer'] = $this;
|
34 |
+
}
|
35 |
+
self::$_instances[$token] = new Bronto_Api($token, $options);
|
36 |
}
|
|
|
37 |
return self::$_instances[$token];
|
38 |
}
|
39 |
|
40 |
+
/**
|
41 |
+
* @return bool
|
42 |
+
*/
|
43 |
+
public function hasSetSession()
|
44 |
+
{
|
45 |
+
return $this->_setOnce;
|
46 |
+
}
|
47 |
|
48 |
/**
|
49 |
+
* @see parent
|
|
|
|
|
50 |
*
|
51 |
+
* @param Bronto_Api $api
|
|
|
|
|
52 |
*/
|
53 |
+
public function onBeforeLogin($api)
|
54 |
+
{
|
55 |
+
if ($this->hasSetSession()) {
|
56 |
+
$this->unsSessionId();
|
57 |
+
Mage::helper('bronto_common')->writeDebug('Session ID expired for token: ' . $this->getToken());
|
58 |
+
$this->_setOnce = false;
|
59 |
+
} else {
|
60 |
+
try {
|
61 |
+
parent::load($api->getToken());
|
62 |
+
if ($this->hasSessionId()) {
|
63 |
+
$api->setSessionId($this->getSessionId());
|
64 |
+
Mage::helper('bronto_common')->writeDebug('Hitting API sessionId cache for token: ' . $this->getToken());
|
65 |
+
$this->_setOnce = true;
|
66 |
+
}
|
67 |
+
} catch (Exception $e) {
|
68 |
+
// Swallow read exceptions, in case of FTP install
|
69 |
+
Mage::helper('bronto_common')->writeError('Failed to read from api session table: ' . $e->getMessage());
|
70 |
+
}
|
71 |
+
}
|
72 |
+
}
|
73 |
+
|
74 |
+
/**
|
75 |
+
* @see parent
|
76 |
+
*
|
77 |
+
* @param Bronto_Api $api
|
78 |
+
* @param string $sessionId
|
79 |
+
*/
|
80 |
+
public function onAfterLogin($api, $sessionId)
|
81 |
{
|
82 |
try {
|
83 |
+
$this
|
84 |
+
->setToken($api->getToken())
|
85 |
+
->setSessionId($sessionId)
|
86 |
+
->setCreatedAt(Mage::getSingleton('core/date')->gmtDate())
|
87 |
+
->save();
|
88 |
+
Mage::helper('bronto_common')->writeDebug("Initiating API for token: {$this->getToken()}");
|
89 |
+
} catch (Exception $e) {
|
90 |
+
Mage::helper('bronto_common')->writeError("Failed to update API {$this->getToken()} Session: " . $e->getMessage());
|
91 |
+
}
|
92 |
+
}
|
93 |
+
|
94 |
+
/**
|
95 |
+
* @see parent
|
96 |
+
*
|
97 |
+
* @param Bronto_Api $api
|
98 |
+
* @param Bronto_Api_Exception $exception
|
99 |
+
*/
|
100 |
+
public function onError($api, $exception)
|
101 |
+
{
|
102 |
+
if ($exception instanceOf Bronto_Api_Exception) {
|
103 |
+
if ($request = $exception->getRequest()) {
|
104 |
Mage::helper('bronto_common')->writeDebug(var_export($request, true));
|
105 |
}
|
106 |
+
|
107 |
+
if ($response = $exception->getResponse()) {
|
108 |
Mage::helper('bronto_common')->writeDebug(var_export($response, true));
|
109 |
}
|
|
|
110 |
}
|
111 |
}
|
|
|
|
|
112 |
}
|
app/code/community/Bronto/Common/Model/Delivery.php
ADDED
@@ -0,0 +1,57 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Bronto_Common_Model_Delivery extends Bronto_Api_Delivery
|
4 |
+
{
|
5 |
+
/**
|
6 |
+
* @var string
|
7 |
+
*/
|
8 |
+
protected $_emailClass;
|
9 |
+
|
10 |
+
/**
|
11 |
+
* @see parent
|
12 |
+
*
|
13 |
+
* @param array $config
|
14 |
+
*/
|
15 |
+
public function __construct($config = array())
|
16 |
+
{
|
17 |
+
parent::__construct($config);
|
18 |
+
if (isset($config['email_class'])) {
|
19 |
+
$this->_emailClass = $config['email_class'];
|
20 |
+
}
|
21 |
+
}
|
22 |
+
|
23 |
+
/**
|
24 |
+
* @see parent
|
25 |
+
* @return string
|
26 |
+
*/
|
27 |
+
public function getExceptionClass()
|
28 |
+
{
|
29 |
+
return 'Bronto_Api_Delivery_Exception';
|
30 |
+
}
|
31 |
+
|
32 |
+
/**
|
33 |
+
* Expose the email template associated with this delivery
|
34 |
+
*
|
35 |
+
* @return string
|
36 |
+
*/
|
37 |
+
public function getEmailClass()
|
38 |
+
{
|
39 |
+
return $this->_emailClass;
|
40 |
+
}
|
41 |
+
|
42 |
+
/**
|
43 |
+
* @return string
|
44 |
+
*/
|
45 |
+
public function getName()
|
46 |
+
{
|
47 |
+
return 'Delivery';
|
48 |
+
}
|
49 |
+
|
50 |
+
/**
|
51 |
+
* @return string
|
52 |
+
*/
|
53 |
+
public function getRowClass()
|
54 |
+
{
|
55 |
+
return 'Bronto_Api_Delivery_Row';
|
56 |
+
}
|
57 |
+
}
|
app/code/community/Bronto/Common/Model/Email/Template.php
CHANGED
@@ -205,9 +205,13 @@ class Bronto_Common_Model_Email_Template extends Mage_Core_Model_Email_Template
|
|
205 |
|
206 |
/* @var $deliveryObject Bronto_Api_Delivery */
|
207 |
Mage::helper($this->_helper)->writeDebug(' Getting Delivery Object...');
|
208 |
-
$
|
209 |
-
->getApi(null, 'store', $variables['store']->getId())
|
210 |
-
|
|
|
|
|
|
|
|
|
211 |
$deliveryCount++;
|
212 |
Mage::helper($this->_helper)->writeDebug(' Delivery Object Created Successfully');
|
213 |
|
@@ -407,6 +411,43 @@ class Bronto_Common_Model_Email_Template extends Mage_Core_Model_Email_Template
|
|
407 |
return $this->_lastDeliveryId;
|
408 |
}
|
409 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
410 |
/**
|
411 |
* @param Bronto_Api_Contact_Row $contact
|
412 |
* @param Bronto_Api_Message_Row $message
|
205 |
|
206 |
/* @var $deliveryObject Bronto_Api_Delivery */
|
207 |
Mage::helper($this->_helper)->writeDebug(' Getting Delivery Object...');
|
208 |
+
$client = Mage::helper($this->_helper)
|
209 |
+
->getApi(null, 'store', $variables['store']->getId());
|
210 |
+
|
211 |
+
$deliveryObject = Mage::getModel('bronto_common/delivery', array(
|
212 |
+
'api' => $client,
|
213 |
+
'email_class' => $this->_emailClass()
|
214 |
+
));
|
215 |
$deliveryCount++;
|
216 |
Mage::helper($this->_helper)->writeDebug(' Delivery Object Created Successfully');
|
217 |
|
411 |
return $this->_lastDeliveryId;
|
412 |
}
|
413 |
|
414 |
+
/**
|
415 |
+
* Allows the retryer to trigger
|
416 |
+
*
|
417 |
+
* @param Bronto_Api_Delivery $deliveryObject
|
418 |
+
*/
|
419 |
+
public function triggerBeforeAfterSend(Bronto_Api_Delivery_Row $delivery)
|
420 |
+
{
|
421 |
+
$contactObject = $delivery->getApi()->getContactObject();
|
422 |
+
$messageObject = $delivery->getApi()->getMessageObject();
|
423 |
+
|
424 |
+
$contact = $contactObject->createRow();
|
425 |
+
$message = $messageObject->createRow();
|
426 |
+
|
427 |
+
$message->id = $delivery->messageId;
|
428 |
+
$contact->id = $delivery->recipients[0]['id'];
|
429 |
+
|
430 |
+
try {
|
431 |
+
$message->read();
|
432 |
+
$contact->read();
|
433 |
+
|
434 |
+
$this->_beforeSend($contact, $message);
|
435 |
+
$this->_afterSend(true, null, $delivery);
|
436 |
+
} catch (Exception $e) {
|
437 |
+
Mage::helper('bronto_common')->writeError('Failed to trigger email send: ' . $e->getMessage());
|
438 |
+
}
|
439 |
+
}
|
440 |
+
|
441 |
+
/**
|
442 |
+
* The string model class associating this email template
|
443 |
+
*
|
444 |
+
* @return string
|
445 |
+
*/
|
446 |
+
protected function _emailClass()
|
447 |
+
{
|
448 |
+
return 'bronto_common/email_template';
|
449 |
+
}
|
450 |
+
|
451 |
/**
|
452 |
* @param Bronto_Api_Contact_Row $contact
|
453 |
* @param Bronto_Api_Message_Row $message
|
app/code/community/Bronto/Common/Model/Email/Template/Filter.php
CHANGED
@@ -484,8 +484,14 @@ class Bronto_Common_Model_Email_Template_Filter extends Mage_Core_Model_Email_Te
|
|
484 |
}
|
485 |
}
|
486 |
|
|
|
|
|
|
|
|
|
|
|
|
|
487 |
$this->setField('shipmentIncrementId', $shipment->getIncrementId());
|
488 |
-
$this->setField('shipmentCreatedAt', Mage::helper('core')->formatDate($
|
489 |
$this->setField('shipmentItems', $this->_filterShipmentItems($shipment));
|
490 |
$this->setField('shipmentTracking', $this->_getShipmentTrackingNumber($shipment, $shipment->getOrder()));
|
491 |
|
@@ -512,8 +518,14 @@ class Bronto_Common_Model_Email_Template_Filter extends Mage_Core_Model_Email_Te
|
|
512 |
}
|
513 |
}
|
514 |
|
|
|
|
|
|
|
|
|
|
|
|
|
515 |
$this->setField('creditmemoIncrementId', $creditmemo->getIncrementId());
|
516 |
-
$this->setField('creditmemoCreatedAt', Mage::helper('core')->formatDate($
|
517 |
$this->setField('creditmemoItems', $this->_filterCreditmemoItems($creditmemo));
|
518 |
|
519 |
$this->_filteredObjects[] = 'creditmemo';
|
484 |
}
|
485 |
}
|
486 |
|
487 |
+
$createdAt = $shipment->getCreatedAtStoreDate();
|
488 |
+
if (empty($createdAt)) {
|
489 |
+
// unset the blank string to force current timestamp
|
490 |
+
$createdAt = null;
|
491 |
+
}
|
492 |
+
|
493 |
$this->setField('shipmentIncrementId', $shipment->getIncrementId());
|
494 |
+
$this->setField('shipmentCreatedAt', Mage::helper('core')->formatDate($createdAt, 'long', true)); // TODO: needed?
|
495 |
$this->setField('shipmentItems', $this->_filterShipmentItems($shipment));
|
496 |
$this->setField('shipmentTracking', $this->_getShipmentTrackingNumber($shipment, $shipment->getOrder()));
|
497 |
|
518 |
}
|
519 |
}
|
520 |
|
521 |
+
$createdAt = $creditmemo->getCreatedAtStoreDate();
|
522 |
+
if (empty($createdAt)) {
|
523 |
+
// unset the blank string to force current timestamp
|
524 |
+
$createdAt = null;
|
525 |
+
}
|
526 |
+
|
527 |
$this->setField('creditmemoIncrementId', $creditmemo->getIncrementId());
|
528 |
+
$this->setField('creditmemoCreatedAt', Mage::helper('core')->formatDate($createdAt, 'long', true)); // TODO: needed?
|
529 |
$this->setField('creditmemoItems', $this->_filterCreditmemoItems($creditmemo));
|
530 |
|
531 |
$this->_filteredObjects[] = 'creditmemo';
|
app/code/community/Bronto/Common/Model/Error.php
ADDED
@@ -0,0 +1,117 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Bronto_Common_Model_Error extends Mage_Core_Model_Abstract implements Bronto_Util_Retryer_RetryerInterface
|
4 |
+
{
|
5 |
+
protected $_api;
|
6 |
+
|
7 |
+
/**
|
8 |
+
* @see parent
|
9 |
+
*/
|
10 |
+
protected function _construct()
|
11 |
+
{
|
12 |
+
parent::_construct();
|
13 |
+
$this->_init('bronto_common/error');
|
14 |
+
}
|
15 |
+
|
16 |
+
/**
|
17 |
+
* @param Bronto_Api
|
18 |
+
* @return Bronto_Common_Model_Error
|
19 |
+
*/
|
20 |
+
public function setClient(Bronto_Api $api)
|
21 |
+
{
|
22 |
+
$this->_api = $api;
|
23 |
+
return $this;
|
24 |
+
}
|
25 |
+
|
26 |
+
/**
|
27 |
+
* Gets the API client matching this token
|
28 |
+
*
|
29 |
+
* @param string $token
|
30 |
+
* @return Bronto_Api
|
31 |
+
*/
|
32 |
+
protected function _client($token)
|
33 |
+
{
|
34 |
+
if (empty($this->_api) || $this->_api->getToken() != $token) {
|
35 |
+
$this->setClient(Mage::helper('bronto_common')->getApi($token));
|
36 |
+
}
|
37 |
+
|
38 |
+
return $this->_api;
|
39 |
+
}
|
40 |
+
|
41 |
+
/**
|
42 |
+
* @see parent
|
43 |
+
*
|
44 |
+
* @param Bronto_Api_Object $object
|
45 |
+
* @param int $attempts
|
46 |
+
* @return int|false
|
47 |
+
*/
|
48 |
+
public function store(Bronto_Api_Object $object, $attempts = 0)
|
49 |
+
{
|
50 |
+
// Only deliveries are retried
|
51 |
+
if ($object instanceOf Bronto_Api_Delivery) {
|
52 |
+
if ($this->hasId() && empty($attempts)) {
|
53 |
+
$this
|
54 |
+
->unsId()
|
55 |
+
->unsEmailClass();
|
56 |
+
}
|
57 |
+
// Retry for an email template
|
58 |
+
if (method_exists($object, 'getEmailClass')) {
|
59 |
+
$this->setEmailClass($object->getEmailClass());
|
60 |
+
}
|
61 |
+
try {
|
62 |
+
$this
|
63 |
+
->setObject(serialize($object))
|
64 |
+
->setAttempts($attempts)
|
65 |
+
->setLastAttempt(Mage::getSingleton('core/date')->gmtDate())
|
66 |
+
->save();
|
67 |
+
Mage::helper('bronto_common')->writeDebug('Storing failed delivery.');
|
68 |
+
return $this->getId();
|
69 |
+
} catch (Exception $e) {
|
70 |
+
Mage::helper('bronto_common')->writeError('Failed to store delivery: ' . $e->getMessage());
|
71 |
+
return false;
|
72 |
+
}
|
73 |
+
}
|
74 |
+
}
|
75 |
+
|
76 |
+
/**
|
77 |
+
* Restores the serialized object to its former glory
|
78 |
+
*
|
79 |
+
* @return Bronto_Api_Delivery
|
80 |
+
*/
|
81 |
+
public function restoreObject()
|
82 |
+
{
|
83 |
+
$delivery = unserialize($this->getObject());
|
84 |
+
// Restore the API in all of its glory
|
85 |
+
$delivery->setApi($this->_client($delivery->getApi()->getToken()));
|
86 |
+
return $delivery;
|
87 |
+
}
|
88 |
+
|
89 |
+
/**
|
90 |
+
* @see parent
|
91 |
+
*
|
92 |
+
* @param int $identifier
|
93 |
+
* @return bool
|
94 |
+
*/
|
95 |
+
public function attempt($identifier)
|
96 |
+
{
|
97 |
+
$delivery = $this->restoreObject();
|
98 |
+
$method = $delivery->getLastRequestMethod();
|
99 |
+
$data = $delivery->getLastRequestData();
|
100 |
+
|
101 |
+
try {
|
102 |
+
$rowset = $delivery->doRequest($method, $data, true);
|
103 |
+
$this->delete();
|
104 |
+
if ($this->hasEmailClass()) {
|
105 |
+
// Tie in the request data with a new id
|
106 |
+
$deliveryRow = $delivery->createRow(array('id' => $rowset->current()->id) + $data[0]);
|
107 |
+
$email = Mage::getModel($this->getEmailClass());
|
108 |
+
$email->triggerBeforeAfterSend($deliveryRow);
|
109 |
+
}
|
110 |
+
} catch (Exception $e) {
|
111 |
+
$this->store($delivery, $this->getAttempts() + 1);
|
112 |
+
return false;
|
113 |
+
}
|
114 |
+
|
115 |
+
return true;
|
116 |
+
}
|
117 |
+
}
|
app/code/community/Bronto/Common/Model/Mysql4/Api.php
ADDED
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Bronto_Common_Model_Mysql4_Api extends Mage_Core_Model_Mysql4_Abstract
|
4 |
+
{
|
5 |
+
protected $_isPkAutoIncrement = false;
|
6 |
+
|
7 |
+
/**
|
8 |
+
* @see parent
|
9 |
+
*/
|
10 |
+
public function _construct()
|
11 |
+
{
|
12 |
+
$this->_init('bronto_common/api', 'token');
|
13 |
+
}
|
14 |
+
}
|
app/code/community/Bronto/Common/Model/Mysql4/Api/Collection.php
ADDED
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Bronto_Common_Model_Mysql4_Api_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
|
4 |
+
{
|
5 |
+
/**
|
6 |
+
* @see parent
|
7 |
+
*/
|
8 |
+
public function _construct()
|
9 |
+
{
|
10 |
+
parent::_construct();
|
11 |
+
$this->_init('bronto_common/api');
|
12 |
+
}
|
13 |
+
}
|
app/code/community/Bronto/Common/Model/Mysql4/Error.php
ADDED
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Bronto_Common_Model_Mysql4_Error extends Mage_Core_Model_Mysql4_Abstract
|
4 |
+
{
|
5 |
+
/**
|
6 |
+
* @see parent
|
7 |
+
*/
|
8 |
+
public function _construct()
|
9 |
+
{
|
10 |
+
$this->_init('bronto_common/error', 'error_id');
|
11 |
+
}
|
12 |
+
}
|
app/code/community/Bronto/Common/Model/Mysql4/Error/Collection.php
ADDED
@@ -0,0 +1,35 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Bronto_Common_Model_Mysql4_Error_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
|
4 |
+
{
|
5 |
+
/**
|
6 |
+
* @see parent
|
7 |
+
*/
|
8 |
+
public function _construct()
|
9 |
+
{
|
10 |
+
parent::_construct();
|
11 |
+
$this->_init('bronto_common/error');
|
12 |
+
}
|
13 |
+
|
14 |
+
/**
|
15 |
+
* Orders the items by last attempt time
|
16 |
+
*
|
17 |
+
* @return Bronto_Common_Model_Mysql4_Error_Collection
|
18 |
+
*/
|
19 |
+
public function orderByOldest()
|
20 |
+
{
|
21 |
+
return $this->addOrder('last_attempt', self::SORT_ORDER_ASC);
|
22 |
+
}
|
23 |
+
|
24 |
+
/**
|
25 |
+
* Gets the entries that have less than the threshold attempts
|
26 |
+
*
|
27 |
+
* @param int $threshold
|
28 |
+
* @return Bronto_Common_Model_Mysql4_Error_Collection
|
29 |
+
*/
|
30 |
+
public function addAttemptThreshold($threshold)
|
31 |
+
{
|
32 |
+
$this->addFieldToFilter('attempts', array('lt' => $threshold));
|
33 |
+
return $this;
|
34 |
+
}
|
35 |
+
}
|
app/code/community/Bronto/Common/Model/Observer.php
CHANGED
@@ -98,6 +98,60 @@ class Bronto_Common_Model_Observer
|
|
98 |
Mage::helper(self::SUPPORT_IDENTIFIER)->clearArchiveDirectory();
|
99 |
}
|
100 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
101 |
/**
|
102 |
* Validates that certain fields are not empty
|
103 |
*
|
98 |
Mage::helper(self::SUPPORT_IDENTIFIER)->clearArchiveDirectory();
|
99 |
}
|
100 |
|
101 |
+
/**
|
102 |
+
* Cron to clear really old log entries
|
103 |
+
*/
|
104 |
+
public function clearOldLogs($cron)
|
105 |
+
{
|
106 |
+
$helper = Mage::helper(self::SUPPORT_IDENTIFIER);
|
107 |
+
if ($helper->shouldClearLogs()) {
|
108 |
+
$helper->clearOldLogs();
|
109 |
+
}
|
110 |
+
}
|
111 |
+
|
112 |
+
/**
|
113 |
+
* Cron to process API errors
|
114 |
+
*/
|
115 |
+
public function processApiErrors($cron = null)
|
116 |
+
{
|
117 |
+
$results = array(
|
118 |
+
'total' => 0,
|
119 |
+
'success' => 0,
|
120 |
+
'error' => 0
|
121 |
+
);
|
122 |
+
|
123 |
+
$helper = Mage::helper('bronto_common/api');
|
124 |
+
if (!$helper->isEnabled()) {
|
125 |
+
return $results;
|
126 |
+
}
|
127 |
+
$helper->writeDebug('Retrying API errors.');
|
128 |
+
$api = $helper->getApi();
|
129 |
+
try {
|
130 |
+
$api->login();
|
131 |
+
} catch (Exception $e) {
|
132 |
+
$helper->writeDebug('Skipping process because API is not taking calls: ' . $e->getMessage());
|
133 |
+
return $results;
|
134 |
+
}
|
135 |
+
|
136 |
+
$collection = Mage::getModel('bronto_common/error')->getCollection()
|
137 |
+
->orderByOldest()
|
138 |
+
->addAttemptThreshold($helper->getAttemptThreshold())
|
139 |
+
->setPageSize($helper->getErrorThreshold());
|
140 |
+
|
141 |
+
foreach ($collection->getItems() as $error) {
|
142 |
+
try {
|
143 |
+
$error->attempt($error->getId());
|
144 |
+
$results['success']++;
|
145 |
+
} catch (Exception $e) {
|
146 |
+
$helper->writeError('An entry was place back in the queue: ' . $e->getMessage());
|
147 |
+
$results['error']++;
|
148 |
+
}
|
149 |
+
$results['total']++;
|
150 |
+
}
|
151 |
+
|
152 |
+
return $results;
|
153 |
+
}
|
154 |
+
|
155 |
/**
|
156 |
* Validates that certain fields are not empty
|
157 |
*
|
app/code/community/Bronto/Common/Model/SoapClient.php
CHANGED
@@ -16,7 +16,7 @@ class Bronto_Common_Model_SoapClient extends Bronto_SoapClient
|
|
16 |
unset($options['wsdl']);
|
17 |
}
|
18 |
$opts = array('ciphers' => 'RC4-SHA');
|
19 |
-
$options['stream_context'] = stream_context_create('ssl'
|
20 |
parent::__construct($wsdl, $options);
|
21 |
}
|
22 |
}
|
16 |
unset($options['wsdl']);
|
17 |
}
|
18 |
$opts = array('ciphers' => 'RC4-SHA');
|
19 |
+
$options['stream_context'] = stream_context_create(array('ssl' => $opts));
|
20 |
parent::__construct($wsdl, $options);
|
21 |
}
|
22 |
}
|
app/code/community/Bronto/Common/Model/System/Config/Backend/Cron/Error.php
ADDED
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Bronto_Common_Model_System_Config_Backend_Cron_Error extends Bronto_Common_Model_System_Config_Backend_Cron
|
4 |
+
{
|
5 |
+
protected $_cron_string_path = 'crontab/jobs/bronto_common_errors/schedule/cron_expr';
|
6 |
+
protected $_cron_model_path = 'crontab/jobs/bronto_common_errors/run/model';
|
7 |
+
}
|
app/code/community/Bronto/Common/etc/adminhtml.xml
CHANGED
@@ -16,6 +16,10 @@
|
|
16 |
<title>Bronto Popup Section</title>
|
17 |
<sort_order>9994</sort_order>
|
18 |
</bronto_popup>
|
|
|
|
|
|
|
|
|
19 |
</children>
|
20 |
</config>
|
21 |
</children>
|
16 |
<title>Bronto Popup Section</title>
|
17 |
<sort_order>9994</sort_order>
|
18 |
</bronto_popup>
|
19 |
+
<bronto_api module="bronto_common">
|
20 |
+
<title>Bronto API Section</title>
|
21 |
+
<sort_order>9995</sort_order>
|
22 |
+
</bronto_api>
|
23 |
</children>
|
24 |
</config>
|
25 |
</children>
|
app/code/community/Bronto/Common/etc/config.xml
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
<config>
|
3 |
<modules>
|
4 |
<Bronto_Common>
|
5 |
-
<version>2.2.
|
6 |
</Bronto_Common>
|
7 |
</modules>
|
8 |
<global>
|
@@ -19,7 +19,19 @@
|
|
19 |
<models>
|
20 |
<bronto_common>
|
21 |
<class>Bronto_Common_Model</class>
|
|
|
22 |
</bronto_common>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
23 |
</models>
|
24 |
<resources>
|
25 |
<bronto_common_setup>
|
@@ -97,24 +109,13 @@
|
|
97 |
</controller_action_predispatch_adminhtml>
|
98 |
</events>
|
99 |
</adminhtml>
|
100 |
-
<crontab>
|
101 |
-
<jobs>
|
102 |
-
<bronto_common_delete_archives>
|
103 |
-
<!-- Run once a day -->
|
104 |
-
<schedule>
|
105 |
-
<cron_expr>0 0 * * *</cron_expr>
|
106 |
-
</schedule>
|
107 |
-
<run>
|
108 |
-
<model>bronto_common/observer::clearArchives</model>
|
109 |
-
</run>
|
110 |
-
</bronto_common_delete_archives>
|
111 |
-
</jobs>
|
112 |
-
</crontab>
|
113 |
<default>
|
114 |
<bronto>
|
115 |
<settings>
|
116 |
<enabled>1</enabled>
|
117 |
<debug>1</debug>
|
|
|
|
|
118 |
<verbose>0</verbose>
|
119 |
<test>0</test>
|
120 |
<notices>0</notices>
|
@@ -133,7 +134,54 @@
|
|
133 |
<using_solution_partner>1</using_solution_partner>
|
134 |
</support>
|
135 |
</bronto>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
136 |
</default>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
137 |
<phpunit>
|
138 |
<suite>
|
139 |
<modules>
|
2 |
<config>
|
3 |
<modules>
|
4 |
<Bronto_Common>
|
5 |
+
<version>2.2.1</version>
|
6 |
</Bronto_Common>
|
7 |
</modules>
|
8 |
<global>
|
19 |
<models>
|
20 |
<bronto_common>
|
21 |
<class>Bronto_Common_Model</class>
|
22 |
+
<resourceModel>bronto_common_mysql4</resourceModel>
|
23 |
</bronto_common>
|
24 |
+
<bronto_common_mysql4>
|
25 |
+
<class>Bronto_Common_Model_Mysql4</class>
|
26 |
+
<entities>
|
27 |
+
<api>
|
28 |
+
<table>bronto_common_api</table>
|
29 |
+
</api>
|
30 |
+
<error>
|
31 |
+
<table>bronto_common_api_errors</table>
|
32 |
+
</error>
|
33 |
+
</entities>
|
34 |
+
</bronto_common_mysql4>
|
35 |
</models>
|
36 |
<resources>
|
37 |
<bronto_common_setup>
|
109 |
</controller_action_predispatch_adminhtml>
|
110 |
</events>
|
111 |
</adminhtml>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
112 |
<default>
|
113 |
<bronto>
|
114 |
<settings>
|
115 |
<enabled>1</enabled>
|
116 |
<debug>1</debug>
|
117 |
+
<log_threshold>30</log_threshold>
|
118 |
+
<clear_logs>1</clear_logs>
|
119 |
<verbose>0</verbose>
|
120 |
<test>0</test>
|
121 |
<notices>0</notices>
|
134 |
<using_solution_partner>1</using_solution_partner>
|
135 |
</support>
|
136 |
</bronto>
|
137 |
+
<bronto_api>
|
138 |
+
<settings>
|
139 |
+
<enabled>0</enabled>
|
140 |
+
<mage_cron>1</mage_cron>
|
141 |
+
<frequency>I</frequency>
|
142 |
+
<interval>5</interval>
|
143 |
+
<minutes>0</minutes>
|
144 |
+
<limit>50</limit>
|
145 |
+
<threshold>5</threshold>
|
146 |
+
</settings>
|
147 |
+
<soap_options>
|
148 |
+
<soap_client>Bronto_SoapClient</soap_client>
|
149 |
+
<observer>Bronto_Common_Model_Api</observer>
|
150 |
+
<retryer>Bronto_Common_Model_Error</retryer>
|
151 |
+
<stream_context>0</stream_context>
|
152 |
+
<retry_limit>2</retry_limit>
|
153 |
+
<trace>0</trace>
|
154 |
+
<exceptions>1</exceptions>
|
155 |
+
<connection_timeout>30</connection_timeout>
|
156 |
+
<cache_wsdl>WSDL_CACHE_BOTH</cache_wsdl>
|
157 |
+
</soap_options>
|
158 |
+
</bronto_api>
|
159 |
</default>
|
160 |
+
<crontab>
|
161 |
+
<jobs>
|
162 |
+
<bronto_common_errors>
|
163 |
+
<run>
|
164 |
+
<model>bronto_common/observer::processApiErrors</model>
|
165 |
+
</run>
|
166 |
+
</bronto_common_errors>
|
167 |
+
<bronto_common_delete_archives>
|
168 |
+
<schedule>
|
169 |
+
<cron_expr>0 0 * * *</cron_expr>
|
170 |
+
</schedule>
|
171 |
+
<run>
|
172 |
+
<model>bronto_common/observer::clearArchives</model>
|
173 |
+
</run>
|
174 |
+
</bronto_common_delete_archives>
|
175 |
+
<bronto_common_delete_old_logs>
|
176 |
+
<schedule>
|
177 |
+
<cron_expr>0 0 * * *</cron_expr>
|
178 |
+
</schedule>
|
179 |
+
<run>
|
180 |
+
<model>bronto_common/observer::clearOldLogs</model>
|
181 |
+
</run>
|
182 |
+
</bronto_common_delete_old_logs>
|
183 |
+
</jobs>
|
184 |
+
</crontab>
|
185 |
<phpunit>
|
186 |
<suite>
|
187 |
<modules>
|
app/code/community/Bronto/Common/etc/system.xml
CHANGED
@@ -8,6 +8,295 @@
|
|
8 |
</bronto>
|
9 |
</tabs>
|
10 |
<sections>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11 |
<bronto_popup module="bronto_common">
|
12 |
<label>Pop-up Manager</label>
|
13 |
<tab>bronto</tab>
|
@@ -173,13 +462,41 @@
|
|
173 |
<comment>
|
174 |
<![CDATA[Show warnings/errors as site notices.<br /><strong>Note:</strong> Site notices can be customer-facing.]]></comment>
|
175 |
</notices>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
176 |
</fields>
|
177 |
</settings>
|
178 |
<support>
|
179 |
<label>Registration</label>
|
180 |
<frontend_type>text</frontend_type>
|
181 |
<frontend_model>bronto_common/adminhtml_system_config_support</frontend_model>
|
182 |
-
<sort_order>
|
183 |
<show_in_default>1</show_in_default>
|
184 |
<show_in_website>1</show_in_website>
|
185 |
<show_in_store>1</show_in_store>
|
@@ -274,7 +591,7 @@
|
|
274 |
<label>Email Formatting Options</label>
|
275 |
<frontend_type>text</frontend_type>
|
276 |
<frontend_model>bronto_common/adminhtml_system_config_form_fieldset</frontend_model>
|
277 |
-
<sort_order>
|
278 |
<show_in_default>1</show_in_default>
|
279 |
<show_in_website>1</show_in_website>
|
280 |
<show_in_store>1</show_in_store>
|
@@ -392,7 +709,7 @@
|
|
392 |
<![CDATA[Most questions can easily be answered by thoroughly reviewing the Bronto <a style="color:#ea7601" target="_blank" href="http://a.bron.to/magento" title="Magento Resource Center | Bronto Developers">Magento Resource Center</a> so please consult that first. The next best resource is the <a style="color:#ea7601" target="_blank" href="http://dev.bronto.com/questions" title="Questions | Bronto Developers">Questions</a> forum where you can post the question if it has not been asked yet.<br/><br/><strong>Disclaimer:</strong> The Bronto Extension for Magento was tested in clean Magento environments and Bronto cannot guarantee compatibility with third-party extensions or other site customizations.<br/><br/>If you believe you have encountered an actual issue with the extension itself then you may file a support case. Please note that regular Bronto Support hours are between 8am-8pm ET, Monday through Friday, excluding holidays.<br/><br/><span style="padding-left: 30px;">To contact the Bronto Support team, please perform the following steps:</span><br/><ul><li style="padding-left: 60px;"><strong>Step 1: </strong><a style="color: #ea7601" target="_blank" href="https://app.bronto.com/shared/support/case_add" title="Technical Support | Bronto Marketing Platform">Open a case</a> within Bronto. In your case description, please outline the issue and steps to reproduce it. Also, be sure to mention the version of Magento and the version of the Bronto extension currently running.</li><li style="padding-left: 60px;"><strong>Step 2: </strong>After creating a case, please add a comment and paste in all of the debug information that is generated after clicking the <em>Generate Debug Information</em> button below:<ul style="padding-left: 85px;list-style-type:lower-alpha;"><li>Click on the <a style="color:#ea7601" target="_blank" title="Technical Support | Bronto Marketing Platform" href="https://app.bronto.com/shared/support/index">Support</a> link located in the top right of the page.</li><li>Click on the case you want to comment on.</li><li>Paste in the debug information and click <em>Post Response</em>.</li></ul></li><li style="padding-left: 60px;"><strong>Step 3: </strong>Optionally, if more information is needed, your Support representative may request log files. Simply click the <em>Create Log Archive</em> button below and then click the link that is generated and displayed below the button to download an archive of log files to send to the location designated by your Support representative.</li></ul><br/>]]></comment>
|
393 |
<frontend_type>text</frontend_type>
|
394 |
<frontend_model>bronto_common/adminhtml_system_config_form_fieldset</frontend_model>
|
395 |
-
<sort_order>
|
396 |
<show_in_default>1</show_in_default>
|
397 |
<show_in_website>0</show_in_website>
|
398 |
<show_in_store>0</show_in_store>
|
8 |
</bronto>
|
9 |
</tabs>
|
10 |
<sections>
|
11 |
+
<bronto_api module="bronto_common">
|
12 |
+
<label>Advanced API</label>
|
13 |
+
<tab>bronto</tab>
|
14 |
+
<frontend_type>text</frontend_type>
|
15 |
+
<sort_order>900</sort_order>
|
16 |
+
<show_in_default>1</show_in_default>
|
17 |
+
<show_in_website>1</show_in_website>
|
18 |
+
<show_in_store>1</show_in_store>
|
19 |
+
<groups>
|
20 |
+
<about>
|
21 |
+
<frontend_type>text</frontend_type>
|
22 |
+
<frontend_model>bronto_common/adminhtml_system_config_about</frontend_model>
|
23 |
+
<sort_order>0</sort_order>
|
24 |
+
<show_in_default>1</show_in_default>
|
25 |
+
<show_in_website>1</show_in_website>
|
26 |
+
<show_in_store>1</show_in_store>
|
27 |
+
</about>
|
28 |
+
<apitoken>
|
29 |
+
<label>API Status</label>
|
30 |
+
<frontend_type>text</frontend_type>
|
31 |
+
<sort_order>1</sort_order>
|
32 |
+
<show_in_default>1</show_in_default>
|
33 |
+
<show_in_website>1</show_in_website>
|
34 |
+
<show_in_store>1</show_in_store>
|
35 |
+
<expanded>1</expanded>
|
36 |
+
<fields>
|
37 |
+
<token_status>
|
38 |
+
<label>Last API Token Status</label>
|
39 |
+
<frontend_type>text</frontend_type>
|
40 |
+
<frontend_model>bronto_verify/adminhtml_system_config_form_field_apitoken</frontend_model>
|
41 |
+
<sort_order>10</sort_order>
|
42 |
+
<show_in_default>1</show_in_default>
|
43 |
+
<show_in_website>1</show_in_website>
|
44 |
+
<show_in_store>1</show_in_store>
|
45 |
+
</token_status>
|
46 |
+
<roundtrip_status>
|
47 |
+
<label>Last API Connection Status</label>
|
48 |
+
<frontend_type>text</frontend_type>
|
49 |
+
<frontend_model>bronto_verify/adminhtml_system_config_form_field_roundtrip</frontend_model>
|
50 |
+
<sort_order>11</sort_order>
|
51 |
+
<show_in_default>1</show_in_default>
|
52 |
+
<show_in_website>0</show_in_website>
|
53 |
+
<show_in_store>0</show_in_store>
|
54 |
+
</roundtrip_status>
|
55 |
+
</fields>
|
56 |
+
</apitoken>
|
57 |
+
<settings>
|
58 |
+
<label>API Retry Settings</label>
|
59 |
+
<frontend_type>text</frontend_type>
|
60 |
+
<sort_order>2</sort_order>
|
61 |
+
<show_in_default>1</show_in_default>
|
62 |
+
<show_in_website>0</show_in_website>
|
63 |
+
<show_in_store>0</show_in_store>
|
64 |
+
<expanded>1</expanded>
|
65 |
+
<fields>
|
66 |
+
<enabled>
|
67 |
+
<label>Enable API Retry</label>
|
68 |
+
<frontend_type>select</frontend_type>
|
69 |
+
<backend_model>bronto_common/system_config_backend_enable</backend_model>
|
70 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
71 |
+
<sort_order>0</sort_order>
|
72 |
+
<show_in_default>1</show_in_default>
|
73 |
+
<show_in_website>0</show_in_website>
|
74 |
+
<show_in_store>0</show_in_store>
|
75 |
+
</enabled>
|
76 |
+
<mage_cron>
|
77 |
+
<label>Use Magento Cron</label>
|
78 |
+
<depends>
|
79 |
+
<enabled>1</enabled>
|
80 |
+
</depends>
|
81 |
+
<frontend_type>select</frontend_type>
|
82 |
+
<frontend_model>bronto_common/adminhtml_system_config_form_field</frontend_model>
|
83 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
84 |
+
<backend_model>bronto_common/system_config_backend_cron_error</backend_model>
|
85 |
+
<sort_order>2</sort_order>
|
86 |
+
<show_in_default>1</show_in_default>
|
87 |
+
<show_in_website>0</show_in_website>
|
88 |
+
<show_in_store>0</show_in_store>
|
89 |
+
<comment>
|
90 |
+
<![CDATA[Setting to <em>No</em> will prevent the Magento Cron from triggering the import process for this module.<br />For more details, check the <em>Cron Settings</em> section in the <strong>Bronto » Advanced</strong> tab.]]></comment>
|
91 |
+
</mage_cron>
|
92 |
+
<frequency>
|
93 |
+
<label>Frequency</label>
|
94 |
+
<depends>
|
95 |
+
<enabled>1</enabled>
|
96 |
+
<mage_cron>1</mage_cron>
|
97 |
+
</depends>
|
98 |
+
<frontend_type>select</frontend_type>
|
99 |
+
<source_model>bronto_common/system_config_source_cron_frequency</source_model>
|
100 |
+
<backend_model>bronto_common/system_config_backend_cron_error</backend_model>
|
101 |
+
<sort_order>3</sort_order>
|
102 |
+
<show_in_default>1</show_in_default>
|
103 |
+
<show_in_website>0</show_in_website>
|
104 |
+
<show_in_store>0</show_in_store>
|
105 |
+
</frequency>
|
106 |
+
<interval>
|
107 |
+
<label>Interval</label>
|
108 |
+
<depends>
|
109 |
+
<enabled>1</enabled>
|
110 |
+
<frequency>I</frequency>
|
111 |
+
<mage_cron>1</mage_cron>
|
112 |
+
</depends>
|
113 |
+
<frontend_type>select</frontend_type>
|
114 |
+
<source_model>bronto_common/system_config_source_cron_minutes</source_model>
|
115 |
+
<sort_order>4</sort_order>
|
116 |
+
<show_in_default>1</show_in_default>
|
117 |
+
<show_in_website>0</show_in_website>
|
118 |
+
<show_in_store>0</show_in_store>
|
119 |
+
<comment>Set this value larger than your cron.php launch period.</comment>
|
120 |
+
</interval>
|
121 |
+
<minutes>
|
122 |
+
<label>Minute of the Hour</label>
|
123 |
+
<depends>
|
124 |
+
<frequency>H</frequency>
|
125 |
+
<mage_cron>1</mage_cron>
|
126 |
+
<enabled>1</enabled>
|
127 |
+
</depends>
|
128 |
+
<frontend_type>text</frontend_type>
|
129 |
+
<sort_order>40</sort_order>
|
130 |
+
<show_in_default>1</show_in_default>
|
131 |
+
<show_in_website>0</show_in_website>
|
132 |
+
<show_in_store>0</show_in_store>
|
133 |
+
<comment>Valid range: 0-59 (default 0).</comment>
|
134 |
+
</minutes>
|
135 |
+
<time>
|
136 |
+
<label>Start Time</label>
|
137 |
+
<depends>
|
138 |
+
<enabled>1</enabled>
|
139 |
+
<mage_cron>1</mage_cron>
|
140 |
+
</depends>
|
141 |
+
<frontend_type>time</frontend_type>
|
142 |
+
<sort_order>5</sort_order>
|
143 |
+
<show_in_default>1</show_in_default>
|
144 |
+
<show_in_website>0</show_in_website>
|
145 |
+
<show_in_store>0</show_in_store>
|
146 |
+
</time>
|
147 |
+
<limit>
|
148 |
+
<label>Limit</label>
|
149 |
+
<depends>
|
150 |
+
<enabled>1</enabled>
|
151 |
+
</depends>
|
152 |
+
<frontend_type>select</frontend_type>
|
153 |
+
<source_model>bronto_common/system_config_source_limit</source_model>
|
154 |
+
<sort_order>6</sort_order>
|
155 |
+
<show_in_default>1</show_in_default>
|
156 |
+
<show_in_website>0</show_in_website>
|
157 |
+
<show_in_store>0</show_in_store>
|
158 |
+
<comment>Total API Errors to process every run.</comment>
|
159 |
+
</limit>
|
160 |
+
<threshold>
|
161 |
+
<label>Attempt Threshold</label>
|
162 |
+
<depends>
|
163 |
+
<enabled>1</enabled>
|
164 |
+
</depends>
|
165 |
+
<frontend_type>text</frontend_type>
|
166 |
+
<sort_order>7</sort_order>
|
167 |
+
<show_in_default>1</show_in_default>
|
168 |
+
<show_in_website>0</show_in_website>
|
169 |
+
<show_in_store>0</show_in_store>
|
170 |
+
<comment>Do not process entry whose attempts are
|
171 |
+
over this amount.</comment>
|
172 |
+
</threshold>
|
173 |
+
</fields>
|
174 |
+
</settings>
|
175 |
+
<cron_list>
|
176 |
+
<frontend_type>text</frontend_type>
|
177 |
+
<frontend_model>bronto_common/adminhtml_system_config_cron_error</frontend_model>
|
178 |
+
<sort_order>3</sort_order>
|
179 |
+
<show_in_default>1</show_in_default>
|
180 |
+
<show_in_website>0</show_in_website>
|
181 |
+
<show_in_store>0</show_in_store>
|
182 |
+
</cron_list>
|
183 |
+
<soap_options>
|
184 |
+
<label>SOAP Options</label>
|
185 |
+
<frontend_type>text</frontend_type>
|
186 |
+
<sort_order>5</sort_order>
|
187 |
+
<show_in_default>1</show_in_default>
|
188 |
+
<show_in_website>0</show_in_website>
|
189 |
+
<show_in_store>0</show_in_store>
|
190 |
+
<expanded>0</expanded>
|
191 |
+
<fields>
|
192 |
+
<soap_client>
|
193 |
+
<label>SOAP class</label>
|
194 |
+
<frontend_type>text</frontend_type>
|
195 |
+
<sort_order>5</sort_order>
|
196 |
+
<show_in_default>1</show_in_default>
|
197 |
+
<show_in_website>0</show_in_website>
|
198 |
+
<show_in_store>0</show_in_store>
|
199 |
+
<comment><![CDATA[Overrides the Bronto_SoapClient class.<br/>
|
200 |
+
Default: Bronto_SoapClient<br/>
|
201 |
+
<em>* Provided class name must be available via
|
202 |
+
Magento's autoloader.</em>]]></comment>
|
203 |
+
</soap_client>
|
204 |
+
<observer>
|
205 |
+
<label>Bronto Observer</label>
|
206 |
+
<frontend_type>text</frontend_type>
|
207 |
+
<sort_order>6</sort_order>
|
208 |
+
<show_in_default>1</show_in_default>
|
209 |
+
<show_in_website>0</show_in_website>
|
210 |
+
<show_in_store>0</show_in_store>
|
211 |
+
<comment><![CDATA[Overrides the Bronto_Observer
|
212 |
+
class.<br/>
|
213 |
+
Default: Bronto_Common_Model_Api<br/>
|
214 |
+
<em>* Provided class name must be available via
|
215 |
+
Magento's autoloader.</em>]]></comment>
|
216 |
+
</observer>
|
217 |
+
<retryer>
|
218 |
+
<label>Bronto Retryer</label>
|
219 |
+
<frontend_type>text</frontend_type>
|
220 |
+
<sort_order>7</sort_order>
|
221 |
+
<show_in_default>1</show_in_default>
|
222 |
+
<show_in_website>0</show_in_website>
|
223 |
+
<show_in_store>0</show_in_store>
|
224 |
+
<comment><![CDATA[Overrides the Bronto_Util_Retryer
|
225 |
+
class.<br/>
|
226 |
+
Default: Bronto_Common_Model_Error<br/>
|
227 |
+
<em>* Provided class name must be available via
|
228 |
+
Magento's autoloader.</em>]]></comment>
|
229 |
+
</retryer>
|
230 |
+
<stream_context>
|
231 |
+
<label>Use Stream Context</label>
|
232 |
+
<frontend_type>select</frontend_type>
|
233 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
234 |
+
<sort_order>8</sort_order>
|
235 |
+
<show_in_default>1</show_in_default>
|
236 |
+
<show_in_website>0</show_in_website>
|
237 |
+
<show_in_store>0</show_in_store>
|
238 |
+
<comment><![CDATA[Replace the SSL stream context for the
|
239 |
+
underlying SOAP client.<br/><em>* Use this option if you
|
240 |
+
are experiencing errors related to SSL or reaching
|
241 |
+
the Bronto API WSDL.</em>]]></comment>
|
242 |
+
</stream_context>
|
243 |
+
<retry_limit>
|
244 |
+
<label>Retry Limit</label>
|
245 |
+
<frontend_type>text</frontend_type>
|
246 |
+
<sort_order>10</sort_order>
|
247 |
+
<show_in_default>1</show_in_default>
|
248 |
+
<show_in_website>0</show_in_website>
|
249 |
+
<show_in_store>0</show_in_store>
|
250 |
+
<validate>validate-digits validate-digits-range digits-range-0-5</validate>
|
251 |
+
<comment><![CDATA[The number of times the SOAP client will attempt to retry API call. Must be between 0 and 5.<br />Default: 2]]>
|
252 |
+
</comment>
|
253 |
+
</retry_limit>
|
254 |
+
<connection_timeout>
|
255 |
+
<label>Connection Timeout</label>
|
256 |
+
<frontend_type>text</frontend_type>
|
257 |
+
<sort_order>20</sort_order>
|
258 |
+
<show_in_default>1</show_in_default>
|
259 |
+
<show_in_website>0</show_in_website>
|
260 |
+
<show_in_store>0</show_in_store>
|
261 |
+
<validate>validate-digits validate-digits-range digits-range-0-3600</validate>
|
262 |
+
<comment><![CDATA[The number of seconds the SOAP client will wait before attempting to retry the API call. Must be between 0 and 3600.<br />
|
263 |
+
Default: 30]]>
|
264 |
+
</comment>
|
265 |
+
</connection_timeout>
|
266 |
+
<trace>
|
267 |
+
<label>Trace</label>
|
268 |
+
<frontend_type>select</frontend_type>
|
269 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
270 |
+
<sort_order>30</sort_order>
|
271 |
+
<show_in_default>1</show_in_default>
|
272 |
+
<show_in_website>0</show_in_website>
|
273 |
+
<show_in_store>0</show_in_store>
|
274 |
+
<comment><![CDATA[If <em>Yes</em>, the SOAP client will trace its call.<br />Default: <em>No</em>]]></comment>
|
275 |
+
</trace>
|
276 |
+
<exceptions>
|
277 |
+
<label>Exceptions</label>
|
278 |
+
<frontend_type>select</frontend_type>
|
279 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
280 |
+
<sort_order>40</sort_order>
|
281 |
+
<show_in_default>1</show_in_default>
|
282 |
+
<show_in_website>0</show_in_website>
|
283 |
+
<show_in_store>0</show_in_store>
|
284 |
+
<comment><![CDATA[If <em>Yes</em>, the SOAP client will throw exceptions on failure.<br />Default: <em>Yes</em>]]></comment>
|
285 |
+
</exceptions>
|
286 |
+
<cache_wsdl>
|
287 |
+
<label>WSDL Cache</label>
|
288 |
+
<frontend_type>select</frontend_type>
|
289 |
+
<source_model>bronto_verify/system_config_source_wsdlcache</source_model>
|
290 |
+
<sort_order>50</sort_order>
|
291 |
+
<show_in_default>1</show_in_default>
|
292 |
+
<show_in_website>0</show_in_website>
|
293 |
+
<show_in_store>0</show_in_store>
|
294 |
+
<comment><![CDATA[If <em>Yes</em>, the SOAP client will cache the WSDL.<br />Default: <em>WSDL_CACHE_BOTH</em>]]></comment>
|
295 |
+
</cache_wsdl>
|
296 |
+
</fields>
|
297 |
+
</soap_options>
|
298 |
+
</groups>
|
299 |
+
</bronto_api>
|
300 |
<bronto_popup module="bronto_common">
|
301 |
<label>Pop-up Manager</label>
|
302 |
<tab>bronto</tab>
|
462 |
<comment>
|
463 |
<![CDATA[Show warnings/errors as site notices.<br /><strong>Note:</strong> Site notices can be customer-facing.]]></comment>
|
464 |
</notices>
|
465 |
+
<clear_logs>
|
466 |
+
<label>Clear Old Bronto Logs</label>
|
467 |
+
<depends>
|
468 |
+
<debug>1</debug>
|
469 |
+
</depends>
|
470 |
+
<frontend_type>select</frontend_type>
|
471 |
+
<frontend_model>bronto_common/adminhtml_system_config_form_field</frontend_model>
|
472 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
473 |
+
<sort_order>50</sort_order>
|
474 |
+
<show_in_default>1</show_in_default>
|
475 |
+
<show_in_website>0</show_in_website>
|
476 |
+
<show_in_store>0</show_in_store>
|
477 |
+
<comment>Deletes old entries every midnight.</comment>
|
478 |
+
</clear_logs>
|
479 |
+
<log_threshold>
|
480 |
+
<label>Clear Log Threshold</label>
|
481 |
+
<depends>
|
482 |
+
<debug>1</debug>
|
483 |
+
<clear_logs>1</clear_logs>
|
484 |
+
</depends>
|
485 |
+
<frontend_type>text</frontend_type>
|
486 |
+
<frontend_model>bronto_common/adminhtml_system_config_form_field</frontend_model>
|
487 |
+
<sort_order>60</sort_order>
|
488 |
+
<show_in_default>1</show_in_default>
|
489 |
+
<show_in_website>0</show_in_website>
|
490 |
+
<show_in_store>0</show_in_store>
|
491 |
+
<comment>Deletes logs older than this value, in days.</comment>
|
492 |
+
</log_threshold>
|
493 |
</fields>
|
494 |
</settings>
|
495 |
<support>
|
496 |
<label>Registration</label>
|
497 |
<frontend_type>text</frontend_type>
|
498 |
<frontend_model>bronto_common/adminhtml_system_config_support</frontend_model>
|
499 |
+
<sort_order>5</sort_order>
|
500 |
<show_in_default>1</show_in_default>
|
501 |
<show_in_website>1</show_in_website>
|
502 |
<show_in_store>1</show_in_store>
|
591 |
<label>Email Formatting Options</label>
|
592 |
<frontend_type>text</frontend_type>
|
593 |
<frontend_model>bronto_common/adminhtml_system_config_form_fieldset</frontend_model>
|
594 |
+
<sort_order>10</sort_order>
|
595 |
<show_in_default>1</show_in_default>
|
596 |
<show_in_website>1</show_in_website>
|
597 |
<show_in_store>1</show_in_store>
|
709 |
<![CDATA[Most questions can easily be answered by thoroughly reviewing the Bronto <a style="color:#ea7601" target="_blank" href="http://a.bron.to/magento" title="Magento Resource Center | Bronto Developers">Magento Resource Center</a> so please consult that first. The next best resource is the <a style="color:#ea7601" target="_blank" href="http://dev.bronto.com/questions" title="Questions | Bronto Developers">Questions</a> forum where you can post the question if it has not been asked yet.<br/><br/><strong>Disclaimer:</strong> The Bronto Extension for Magento was tested in clean Magento environments and Bronto cannot guarantee compatibility with third-party extensions or other site customizations.<br/><br/>If you believe you have encountered an actual issue with the extension itself then you may file a support case. Please note that regular Bronto Support hours are between 8am-8pm ET, Monday through Friday, excluding holidays.<br/><br/><span style="padding-left: 30px;">To contact the Bronto Support team, please perform the following steps:</span><br/><ul><li style="padding-left: 60px;"><strong>Step 1: </strong><a style="color: #ea7601" target="_blank" href="https://app.bronto.com/shared/support/case_add" title="Technical Support | Bronto Marketing Platform">Open a case</a> within Bronto. In your case description, please outline the issue and steps to reproduce it. Also, be sure to mention the version of Magento and the version of the Bronto extension currently running.</li><li style="padding-left: 60px;"><strong>Step 2: </strong>After creating a case, please add a comment and paste in all of the debug information that is generated after clicking the <em>Generate Debug Information</em> button below:<ul style="padding-left: 85px;list-style-type:lower-alpha;"><li>Click on the <a style="color:#ea7601" target="_blank" title="Technical Support | Bronto Marketing Platform" href="https://app.bronto.com/shared/support/index">Support</a> link located in the top right of the page.</li><li>Click on the case you want to comment on.</li><li>Paste in the debug information and click <em>Post Response</em>.</li></ul></li><li style="padding-left: 60px;"><strong>Step 3: </strong>Optionally, if more information is needed, your Support representative may request log files. Simply click the <em>Create Log Archive</em> button below and then click the link that is generated and displayed below the button to download an archive of log files to send to the location designated by your Support representative.</li></ul><br/>]]></comment>
|
710 |
<frontend_type>text</frontend_type>
|
711 |
<frontend_model>bronto_common/adminhtml_system_config_form_fieldset</frontend_model>
|
712 |
+
<sort_order>15</sort_order>
|
713 |
<show_in_default>1</show_in_default>
|
714 |
<show_in_website>0</show_in_website>
|
715 |
<show_in_store>0</show_in_store>
|
app/code/community/Bronto/Common/sql/bronto_common_setup/mysql4-install-2.2.1.php
ADDED
@@ -0,0 +1,38 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
$installer = $this;
|
4 |
+
/* @var $installer Bronto_Common_Model_Resource_Setup */
|
5 |
+
|
6 |
+
$installer->startSetup();
|
7 |
+
|
8 |
+
try {
|
9 |
+
$installer->run("DROP TABLE IF EXISTS `{$installer->getTable('bronto_common/api')}`;");
|
10 |
+
|
11 |
+
$installer->run("
|
12 |
+
CREATE TABLE `{$installer->getTable('bronto_common/api')}` (
|
13 |
+
`token` varchar(36) NOT NULL,
|
14 |
+
`session_id` varchar(36) NOT NULL,
|
15 |
+
`created_at` datetime NOT NULL,
|
16 |
+
PRIMARY KEY (`token`)
|
17 |
+
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Bronto API Session table'
|
18 |
+
");
|
19 |
+
|
20 |
+
$installer->run("DROP TABLE IF EXISTS `{$installer->getTable('bronto_common/error')}`;");
|
21 |
+
|
22 |
+
$installer->run("
|
23 |
+
CREATE TABLE `{$installer->getTable('bronto_common/error')}` (
|
24 |
+
`error_id` int(11) NOT NULL AUTO_INCREMENT,
|
25 |
+
`email_class` varchar(100) NULL,
|
26 |
+
`object` text NOT NULL DEFAULT '',
|
27 |
+
`attempts` smallint(1) NOT NULL,
|
28 |
+
`last_attempt` datetime NOT NULL,
|
29 |
+
PRIMARY KEY (`error_id`),
|
30 |
+
KEY `IDX_BRONTO_ERROR_ATTEMPT` (`attempts`),
|
31 |
+
KEY `IDX_BRONTO_ERROR_TIMESTAMP` (`last_attempt`)
|
32 |
+
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Bronto API Error log'
|
33 |
+
");
|
34 |
+
} catch (Exception $e) {
|
35 |
+
Mage::helper('bronto_common')->writeError('Failed to create API tables: ' . $e->getMessage());
|
36 |
+
}
|
37 |
+
|
38 |
+
$installer->endSetup();
|
app/code/community/Bronto/Common/sql/bronto_common_setup/mysql4-upgrade-1.7.0-2.2.1.php
ADDED
@@ -0,0 +1,38 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
$installer = $this;
|
4 |
+
/* @var $installer Bronto_Common_Model_Resource_Setup */
|
5 |
+
|
6 |
+
$installer->startSetup();
|
7 |
+
|
8 |
+
try {
|
9 |
+
$installer->run("DROP TABLE IF EXISTS `{$installer->getTable('bronto_common/api')}`;");
|
10 |
+
|
11 |
+
$installer->run("
|
12 |
+
CREATE TABLE `{$installer->getTable('bronto_common/api')}` (
|
13 |
+
`token` varchar(36) NOT NULL,
|
14 |
+
`session_id` varchar(36) NOT NULL,
|
15 |
+
`created_at` datetime NOT NULL,
|
16 |
+
PRIMARY KEY (`token`)
|
17 |
+
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Bronto API Session table'
|
18 |
+
");
|
19 |
+
|
20 |
+
$installer->run("DROP TABLE IF EXISTS `{$installer->getTable('bronto_common/error')}`;");
|
21 |
+
|
22 |
+
$installer->run("
|
23 |
+
CREATE TABLE `{$installer->getTable('bronto_common/error')}` (
|
24 |
+
`error_id` int(11) NOT NULL AUTO_INCREMENT,
|
25 |
+
`email_class` varchar(100) NULL,
|
26 |
+
`object` text NOT NULL DEFAULT '',
|
27 |
+
`attempts` smallint(1) NOT NULL,
|
28 |
+
`last_attempt` datetime NOT NULL,
|
29 |
+
PRIMARY KEY (`error_id`),
|
30 |
+
KEY `IDX_BRONTO_ERROR_ATTEMPT` (`attempts`),
|
31 |
+
KEY `IDX_BRONTO_ERROR_TIMESTAMP` (`last_attempt`)
|
32 |
+
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Bronto API Error log'
|
33 |
+
");
|
34 |
+
} catch (Exception $e) {
|
35 |
+
Mage::helper('bronto_common')->writeError('Failed to create API tables: ' . $e->getMessage());
|
36 |
+
}
|
37 |
+
|
38 |
+
$installer->endSetup();
|
app/code/community/Bronto/Common/sql/bronto_common_setup/mysql4-upgrade-2.0.4-2.2.1.php
ADDED
@@ -0,0 +1,38 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
$installer = $this;
|
4 |
+
/* @var $installer Bronto_Common_Model_Resource_Setup */
|
5 |
+
|
6 |
+
$installer->startSetup();
|
7 |
+
|
8 |
+
try {
|
9 |
+
$installer->run("DROP TABLE IF EXISTS `{$installer->getTable('bronto_common/api')}`;");
|
10 |
+
|
11 |
+
$installer->run("
|
12 |
+
CREATE TABLE `{$installer->getTable('bronto_common/api')}` (
|
13 |
+
`token` varchar(36) NOT NULL,
|
14 |
+
`session_id` varchar(36) NOT NULL,
|
15 |
+
`created_at` datetime NOT NULL,
|
16 |
+
PRIMARY KEY (`token`)
|
17 |
+
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Bronto API Session table'
|
18 |
+
");
|
19 |
+
|
20 |
+
$installer->run("DROP TABLE IF EXISTS `{$installer->getTable('bronto_common/error')}`;");
|
21 |
+
|
22 |
+
$installer->run("
|
23 |
+
CREATE TABLE `{$installer->getTable('bronto_common/error')}` (
|
24 |
+
`error_id` int(11) NOT NULL AUTO_INCREMENT,
|
25 |
+
`email_class` varchar(100) NULL,
|
26 |
+
`object` text NOT NULL DEFAULT '',
|
27 |
+
`attempts` smallint(1) NOT NULL,
|
28 |
+
`last_attempt` datetime NOT NULL,
|
29 |
+
PRIMARY KEY (`error_id`),
|
30 |
+
KEY `IDX_BRONTO_ERROR_ATTEMPT` (`attempts`),
|
31 |
+
KEY `IDX_BRONTO_ERROR_TIMESTAMP` (`last_attempt`)
|
32 |
+
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Bronto API Error log'
|
33 |
+
");
|
34 |
+
} catch (Exception $e) {
|
35 |
+
Mage::helper('bronto_common')->writeError('Failed to create API tables: ' . $e->getMessage());
|
36 |
+
}
|
37 |
+
|
38 |
+
$installer->endSetup();
|
app/code/community/Bronto/Common/sql/bronto_common_setup/mysql4-upgrade-2.0.4.2-2.2.1.php
ADDED
@@ -0,0 +1,38 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
$installer = $this;
|
4 |
+
/* @var $installer Bronto_Common_Model_Resource_Setup */
|
5 |
+
|
6 |
+
$installer->startSetup();
|
7 |
+
|
8 |
+
try {
|
9 |
+
$installer->run("DROP TABLE IF EXISTS `{$installer->getTable('bronto_common/api')}`;");
|
10 |
+
|
11 |
+
$installer->run("
|
12 |
+
CREATE TABLE `{$installer->getTable('bronto_common/api')}` (
|
13 |
+
`token` varchar(36) NOT NULL,
|
14 |
+
`session_id` varchar(36) NOT NULL,
|
15 |
+
`created_at` datetime NOT NULL,
|
16 |
+
PRIMARY KEY (`token`)
|
17 |
+
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Bronto API Session table'
|
18 |
+
");
|
19 |
+
|
20 |
+
$installer->run("DROP TABLE IF EXISTS `{$installer->getTable('bronto_common/error')}`;");
|
21 |
+
|
22 |
+
$installer->run("
|
23 |
+
CREATE TABLE `{$installer->getTable('bronto_common/error')}` (
|
24 |
+
`error_id` int(11) NOT NULL AUTO_INCREMENT,
|
25 |
+
`email_class` varchar(100) NULL,
|
26 |
+
`object` text NOT NULL DEFAULT '',
|
27 |
+
`attempts` smallint(1) NOT NULL,
|
28 |
+
`last_attempt` datetime NOT NULL,
|
29 |
+
PRIMARY KEY (`error_id`),
|
30 |
+
KEY `IDX_BRONTO_ERROR_ATTEMPT` (`attempts`),
|
31 |
+
KEY `IDX_BRONTO_ERROR_TIMESTAMP` (`last_attempt`)
|
32 |
+
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Bronto API Error log'
|
33 |
+
");
|
34 |
+
} catch (Exception $e) {
|
35 |
+
Mage::helper('bronto_common')->writeError('Failed to create API tables: ' . $e->getMessage());
|
36 |
+
}
|
37 |
+
|
38 |
+
$installer->endSetup();
|
app/code/community/Bronto/Common/sql/bronto_common_setup/mysql4-upgrade-2.1.0-2.2.1.php
ADDED
@@ -0,0 +1,38 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
$installer = $this;
|
4 |
+
/* @var $installer Bronto_Common_Model_Resource_Setup */
|
5 |
+
|
6 |
+
$installer->startSetup();
|
7 |
+
|
8 |
+
try {
|
9 |
+
$installer->run("DROP TABLE IF EXISTS `{$installer->getTable('bronto_common/api')}`;");
|
10 |
+
|
11 |
+
$installer->run("
|
12 |
+
CREATE TABLE `{$installer->getTable('bronto_common/api')}` (
|
13 |
+
`token` varchar(36) NOT NULL,
|
14 |
+
`session_id` varchar(36) NOT NULL,
|
15 |
+
`created_at` datetime NOT NULL,
|
16 |
+
PRIMARY KEY (`token`)
|
17 |
+
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Bronto API Session table'
|
18 |
+
");
|
19 |
+
|
20 |
+
$installer->run("DROP TABLE IF EXISTS `{$installer->getTable('bronto_common/error')}`;");
|
21 |
+
|
22 |
+
$installer->run("
|
23 |
+
CREATE TABLE `{$installer->getTable('bronto_common/error')}` (
|
24 |
+
`error_id` int(11) NOT NULL AUTO_INCREMENT,
|
25 |
+
`email_class` varchar(100) NULL,
|
26 |
+
`object` text NOT NULL DEFAULT '',
|
27 |
+
`attempts` smallint(1) NOT NULL,
|
28 |
+
`last_attempt` datetime NOT NULL,
|
29 |
+
PRIMARY KEY (`error_id`),
|
30 |
+
KEY `IDX_BRONTO_ERROR_ATTEMPT` (`attempts`),
|
31 |
+
KEY `IDX_BRONTO_ERROR_TIMESTAMP` (`last_attempt`)
|
32 |
+
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Bronto API Error log'
|
33 |
+
");
|
34 |
+
} catch (Exception $e) {
|
35 |
+
Mage::helper('bronto_common')->writeError('Failed to create API tables: ' . $e->getMessage());
|
36 |
+
}
|
37 |
+
|
38 |
+
$installer->endSetup();
|
app/code/community/Bronto/Common/sql/bronto_common_setup/mysql4-upgrade-2.2.0-2.2.1.php
ADDED
@@ -0,0 +1,38 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
$installer = $this;
|
4 |
+
/* @var $installer Bronto_Common_Model_Resource_Setup */
|
5 |
+
|
6 |
+
$installer->startSetup();
|
7 |
+
|
8 |
+
try {
|
9 |
+
$installer->run("DROP TABLE IF EXISTS `{$installer->getTable('bronto_common/api')}`;");
|
10 |
+
|
11 |
+
$installer->run("
|
12 |
+
CREATE TABLE `{$installer->getTable('bronto_common/api')}` (
|
13 |
+
`token` varchar(36) NOT NULL,
|
14 |
+
`session_id` varchar(36) NOT NULL,
|
15 |
+
`created_at` datetime NOT NULL,
|
16 |
+
PRIMARY KEY (`token`)
|
17 |
+
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Bronto API Session table'
|
18 |
+
");
|
19 |
+
|
20 |
+
$installer->run("DROP TABLE IF EXISTS `{$installer->getTable('bronto_common/error')}`;");
|
21 |
+
|
22 |
+
$installer->run("
|
23 |
+
CREATE TABLE `{$installer->getTable('bronto_common/error')}` (
|
24 |
+
`error_id` int(11) NOT NULL AUTO_INCREMENT,
|
25 |
+
`email_class` varchar(100) NULL,
|
26 |
+
`object` text NOT NULL DEFAULT '',
|
27 |
+
`attempts` smallint(1) NOT NULL,
|
28 |
+
`last_attempt` datetime NOT NULL,
|
29 |
+
PRIMARY KEY (`error_id`),
|
30 |
+
KEY `IDX_BRONTO_ERROR_ATTEMPT` (`attempts`),
|
31 |
+
KEY `IDX_BRONTO_ERROR_TIMESTAMP` (`last_attempt`)
|
32 |
+
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Bronto API Error log'
|
33 |
+
");
|
34 |
+
} catch (Exception $e) {
|
35 |
+
Mage::helper('bronto_common')->writeError('Failed to create API tables: ' . $e->getMessage());
|
36 |
+
}
|
37 |
+
|
38 |
+
$installer->endSetup();
|
app/code/community/Bronto/Customer/Helper/Data.php
CHANGED
@@ -44,11 +44,6 @@ class Bronto_Customer_Helper_Data extends Bronto_Common_Helper_Data implements B
|
|
44 |
*/
|
45 |
public function isEnabled($scope = 'default', $scopeId = 0)
|
46 |
{
|
47 |
-
// Check if valid token is present
|
48 |
-
if (!$this->validApiToken(null, $scope, $scopeId)) {
|
49 |
-
return false;
|
50 |
-
}
|
51 |
-
|
52 |
// Get Enabled Scope
|
53 |
return (bool)$this->getAdminScopedConfig(self::XML_PATH_ENABLED, $scope, $scopeId);
|
54 |
}
|
44 |
*/
|
45 |
public function isEnabled($scope = 'default', $scopeId = 0)
|
46 |
{
|
|
|
|
|
|
|
|
|
|
|
47 |
// Get Enabled Scope
|
48 |
return (bool)$this->getAdminScopedConfig(self::XML_PATH_ENABLED, $scope, $scopeId);
|
49 |
}
|
app/code/community/Bronto/Email/Block/Adminhtml/System/Email/Template.php
CHANGED
@@ -27,7 +27,7 @@ class Bronto_Email_Block_Adminhtml_System_Email_Template extends Mage_Adminhtml_
|
|
27 |
$this->setChild('add_button',
|
28 |
$this->getLayout()->createBlock('adminhtml/widget_button')
|
29 |
->setData(array(
|
30 |
-
'label' => Mage::helper('adminhtml')->__('Add
|
31 |
'onclick' => "window.location='" . $this->getCreateUrl() . "'",
|
32 |
'class' => 'add'
|
33 |
))
|
27 |
$this->setChild('add_button',
|
28 |
$this->getLayout()->createBlock('adminhtml/widget_button')
|
29 |
->setData(array(
|
30 |
+
'label' => Mage::helper('adminhtml')->__('Add New Template'),
|
31 |
'onclick' => "window.location='" . $this->getCreateUrl() . "'",
|
32 |
'class' => 'add'
|
33 |
))
|
app/code/community/Bronto/Email/Block/Adminhtml/System/Email/Template/Edit.php
CHANGED
@@ -61,10 +61,10 @@ class Bronto_Email_Block_Adminhtml_System_Email_Template_Edit extends Mage_Admin
|
|
61 |
}
|
62 |
|
63 |
if ($this->getEditMode()) {
|
64 |
-
return Mage::helper('adminhtml')->__('Edit
|
65 |
}
|
66 |
|
67 |
-
return Mage::helper('adminhtml')->__('New
|
68 |
}
|
69 |
|
70 |
/**
|
61 |
}
|
62 |
|
63 |
if ($this->getEditMode()) {
|
64 |
+
return Mage::helper('adminhtml')->__('Edit Template');
|
65 |
}
|
66 |
|
67 |
+
return Mage::helper('adminhtml')->__('New Template');
|
68 |
}
|
69 |
|
70 |
/**
|
app/code/community/Bronto/Email/Helper/Data.php
CHANGED
@@ -86,11 +86,6 @@ class Bronto_Email_Helper_Data
|
|
86 |
*/
|
87 |
public function isEnabled($scope = 'default', $scopeId = 0)
|
88 |
{
|
89 |
-
// Check if valid token is present
|
90 |
-
if (!$this->validApiToken(null, $scope, $scopeId)) {
|
91 |
-
return false;
|
92 |
-
}
|
93 |
-
|
94 |
// Get Enabled Scope
|
95 |
return (bool)$this->getAdminScopedConfig(self::XML_PATH_ENABLED, $scope, $scopeId);
|
96 |
}
|
@@ -159,7 +154,12 @@ class Bronto_Email_Helper_Data
|
|
159 |
*/
|
160 |
public function canSendBronto(Mage_Core_Model_Email_Template $template, $storeId = null)
|
161 |
{
|
162 |
-
if (
|
|
|
|
|
|
|
|
|
|
|
163 |
return true;
|
164 |
}
|
165 |
|
86 |
*/
|
87 |
public function isEnabled($scope = 'default', $scopeId = 0)
|
88 |
{
|
|
|
|
|
|
|
|
|
|
|
89 |
// Get Enabled Scope
|
90 |
return (bool)$this->getAdminScopedConfig(self::XML_PATH_ENABLED, $scope, $scopeId);
|
91 |
}
|
154 |
*/
|
155 |
public function canSendBronto(Mage_Core_Model_Email_Template $template, $storeId = null)
|
156 |
{
|
157 |
+
if (
|
158 |
+
$this->isEnabled('store', $storeId) &&
|
159 |
+
$this->canUseBronto('store', $storeId) &&
|
160 |
+
!is_null($template->getBrontoMessageId()) &&
|
161 |
+
$template->getTemplateSendType() != 'magento'
|
162 |
+
) {
|
163 |
return true;
|
164 |
}
|
165 |
|
app/code/community/Bronto/Email/Model/Mysql4/Message.php
CHANGED
@@ -15,7 +15,6 @@ class Bronto_Email_Model_Mysql4_Message extends Mage_Core_Model_Mysql4_Abstract
|
|
15 |
|
16 |
public function _construct()
|
17 |
{
|
18 |
-
|
19 |
$this->_init('bronto_email/message', 'core_template_id');
|
20 |
}
|
21 |
}
|
15 |
|
16 |
public function _construct()
|
17 |
{
|
|
|
18 |
$this->_init('bronto_email/message', 'core_template_id');
|
19 |
}
|
20 |
}
|
app/code/community/Bronto/Email/Model/Mysql4/Template.php
CHANGED
@@ -71,4 +71,4 @@ class Bronto_Email_Model_Mysql4_Template extends Mage_Core_Model_Mysql4_Email_Te
|
|
71 |
|
72 |
return $select;
|
73 |
}
|
74 |
-
}
|
71 |
|
72 |
return $select;
|
73 |
}
|
74 |
+
}
|
app/code/community/Bronto/Email/Model/Mysql4/Template/Collection.php
CHANGED
@@ -16,7 +16,7 @@ class Bronto_Email_Model_Mysql4_Template_Collection extends Mage_Core_Model_Mysq
|
|
16 |
if (Mage::helper('bronto_common')->isVersionMatch(Mage::getVersionInfo(), 1, array(4, 9))) {
|
17 |
$this->_select->joinLeft(
|
18 |
array($this->_brontoTable),
|
19 |
-
"`{this->_templateTable}`.`template_id` = `{$this->_brontoTable}`.`core_template_id`"
|
20 |
);
|
21 |
}
|
22 |
}
|
16 |
if (Mage::helper('bronto_common')->isVersionMatch(Mage::getVersionInfo(), 1, array(4, 9))) {
|
17 |
$this->_select->joinLeft(
|
18 |
array($this->_brontoTable),
|
19 |
+
"`{$this->_templateTable}`.`template_id` = `{$this->_brontoTable}`.`core_template_id`"
|
20 |
);
|
21 |
}
|
22 |
}
|
app/code/community/Bronto/Email/Model/Template.php
CHANGED
@@ -166,6 +166,14 @@ class Bronto_Email_Model_Template extends Bronto_Common_Model_Email_Template
|
|
166 |
return $configData;
|
167 |
}
|
168 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
169 |
/**
|
170 |
* Log about the functionality of sending the email before it goes out
|
171 |
*
|
@@ -218,4 +226,4 @@ class Bronto_Email_Model_Template extends Bronto_Common_Model_Email_Template
|
|
218 |
$this->_log = null;
|
219 |
}
|
220 |
}
|
221 |
-
}
|
166 |
return $configData;
|
167 |
}
|
168 |
|
169 |
+
/**
|
170 |
+
* @see parent
|
171 |
+
*/
|
172 |
+
protected function _emailClass()
|
173 |
+
{
|
174 |
+
return 'bronto_email/template';
|
175 |
+
}
|
176 |
+
|
177 |
/**
|
178 |
* Log about the functionality of sending the email before it goes out
|
179 |
*
|
226 |
$this->_log = null;
|
227 |
}
|
228 |
}
|
229 |
+
}
|
app/code/community/Bronto/Email/Model/Template/Import.php
CHANGED
@@ -62,7 +62,7 @@ class Bronto_Email_Model_Template_Import extends Bronto_Email_Model_Template
|
|
62 |
$token = Mage::helper('bronto_common')->getApiToken('store', $store->getId());
|
63 |
if ($token) {
|
64 |
$this->_apiObject = new Bronto_Api_Message(array(
|
65 |
-
'api' =>
|
66 |
));
|
67 |
} else {
|
68 |
return false;
|
62 |
$token = Mage::helper('bronto_common')->getApiToken('store', $store->getId());
|
63 |
if ($token) {
|
64 |
$this->_apiObject = new Bronto_Api_Message(array(
|
65 |
+
'api' => Mage::helper('bronto_common')->getApi($token, 'store', $store->getId())
|
66 |
));
|
67 |
} else {
|
68 |
return false;
|
app/code/community/Bronto/Email/etc/config.xml
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
<config>
|
3 |
<modules>
|
4 |
<Bronto_Email>
|
5 |
-
<version>1.1.
|
6 |
</Bronto_Email>
|
7 |
</modules>
|
8 |
<global>
|
2 |
<config>
|
3 |
<modules>
|
4 |
<Bronto_Email>
|
5 |
+
<version>1.1.9</version>
|
6 |
</Bronto_Email>
|
7 |
</modules>
|
8 |
<global>
|
app/code/community/Bronto/Email/sql/bronto_email_setup/mysql4-install-1.1.9.php
ADDED
@@ -0,0 +1,65 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
$installer = $this;
|
4 |
+
/* @var $installer Mage_Core_Model_Resource_Setup */
|
5 |
+
|
6 |
+
$installer->startSetup();
|
7 |
+
|
8 |
+
/**
|
9 |
+
* Create new table to hold bronto templates
|
10 |
+
*/
|
11 |
+
try {
|
12 |
+
$installer->run("DROP TABLE IF EXISTS `{$installer->getTable('bronto_email/message')}`;");
|
13 |
+
|
14 |
+
$installer->run("
|
15 |
+
CREATE TABLE `{$installer->getTable('bronto_email/message')}` (
|
16 |
+
`core_template_id` int(10) unsigned NOT NULL COMMENT 'Magento Template ID',
|
17 |
+
`template_send_type` varchar(255) NOT NULL DEFAULT 'magento' COMMENT 'Type of message to send as',
|
18 |
+
`orig_template_text` text COMMENT 'Original Template Text',
|
19 |
+
`bronto_message_id` varchar(36) DEFAULT NULL COMMENT 'Bronto Message ID',
|
20 |
+
`bronto_message_name` varchar(255) DEFAULT NULL COMMENT 'Bronto Message Name',
|
21 |
+
`bronto_message_approved` smallint(5) unsigned NOT NULL DEFAULT '1' COMMENT 'Bronto Message Transactional Approval Status',
|
22 |
+
`store_id` int(11) NOT NULL DEFAULT '1' COMMENT 'Store ID for Template',
|
23 |
+
`sales_rule` int(10) NULL COMMENT 'Sales Rule for Coupon Codes',
|
24 |
+
PRIMARY KEY (`core_template_id`),
|
25 |
+
KEY `IDX_BRONTO_STORE_ID` (`store_id`),
|
26 |
+
CONSTRAINT `FK_BRONTO_EMAIL_TEMPLATE_ID_CORE_EMAIL_TEMPLATE_ID` FOREIGN KEY (`core_template_id`)
|
27 |
+
REFERENCES `{$installer->getTable('core/email_template')}` (`template_id`) ON DELETE CASCADE ON UPDATE CASCADE
|
28 |
+
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Bronto Email Template Attributes'
|
29 |
+
");
|
30 |
+
|
31 |
+
} catch (Exception $e) {
|
32 |
+
Mage::helper('bronto_email')->writeError($e->getMessage());
|
33 |
+
}
|
34 |
+
|
35 |
+
/**
|
36 |
+
* Email Log table
|
37 |
+
*/
|
38 |
+
try {
|
39 |
+
|
40 |
+
$installer->run("DROP TABLE IF EXISTS `{$installer->getTable('bronto_email/log')}`;");
|
41 |
+
|
42 |
+
$installer->run("
|
43 |
+
CREATE TABLE `{$installer->getTable('bronto_email/log')}` (
|
44 |
+
`log_id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'Log ID',
|
45 |
+
`customer_id` int(10) unsigned DEFAULT NULL COMMENT 'Customer ID',
|
46 |
+
`customer_email` varchar(255) DEFAULT NULL COMMENT 'Customer Email Address',
|
47 |
+
`contact_id` varchar(36) DEFAULT NULL COMMENT 'Bronto Contact ID',
|
48 |
+
`message_id` varchar(36) NOT NULL COMMENT 'Bronto Message ID',
|
49 |
+
`message_name` varchar(64) DEFAULT NULL COMMENT 'Bronto Message Name',
|
50 |
+
`delivery_id` varchar(36) DEFAULT NULL COMMENT 'Bronto Delivery ID',
|
51 |
+
`sent_at` datetime DEFAULT NULL COMMENT 'Date Message Sent',
|
52 |
+
`success` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT 'Message Send Success',
|
53 |
+
`error` varchar(255) DEFAULT NULL COMMENT 'Error Message',
|
54 |
+
`fields` text COMMENT 'Fields',
|
55 |
+
PRIMARY KEY (`log_id`),
|
56 |
+
KEY `IDX_BRONTO_EMAIL_LOG_CUSTOMER_EMAIL` (`customer_email`),
|
57 |
+
KEY `IDX_BRONTO_EMAIL_LOG_SENT_AT` (`sent_at`)
|
58 |
+
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Bronto Email Delivery Logs'
|
59 |
+
");
|
60 |
+
|
61 |
+
} catch (Exception $e) {
|
62 |
+
Mage::helper('bronto_email')->writeError($e->getMessage());
|
63 |
+
}
|
64 |
+
|
65 |
+
$installer->endSetup();
|
app/code/community/Bronto/Email/sql/bronto_email_setup/mysql4-upgrade-1.1.8-1.1.9.php
ADDED
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
$installer = $this;
|
4 |
+
/* @var $installer Mage_Core_Model_Resource_Setup */
|
5 |
+
|
6 |
+
$installer->startSetup();
|
7 |
+
|
8 |
+
/**
|
9 |
+
* Create new table to hold bronto templates
|
10 |
+
*/
|
11 |
+
try {
|
12 |
+
$installer->run("
|
13 |
+
ALTER TABLE `{$installer->getTable('bronto_email/message')}`
|
14 |
+
ADD KEY `IDX_BRONTO_STORE_ID` (`store_id`);
|
15 |
+
");
|
16 |
+
} catch (Exception $e) {
|
17 |
+
Mage::helper('bronto_email')->writeError($e->getMessage());
|
18 |
+
}
|
19 |
+
|
20 |
+
$installer->endSetup();
|
app/code/community/Bronto/Emailcapture/Model/Queue.php
CHANGED
@@ -131,7 +131,8 @@ class Bronto_Emailcapture_Model_Queue extends Mage_Core_Model_Abstract
|
|
131 |
{
|
132 |
$ttl = Mage::helper('bronto_emailcapture')->getCookieTtl(false);
|
133 |
|
134 |
-
$where = array('updated_at <' => date(strtotime('-' . $ttl . 'days')));
|
135 |
-
$
|
|
|
136 |
}
|
137 |
}
|
131 |
{
|
132 |
$ttl = Mage::helper('bronto_emailcapture')->getCookieTtl(false);
|
133 |
|
134 |
+
$where = array('updated_at < ?' => date(strtotime('-' . $ttl . 'days')));
|
135 |
+
$resource = Mage::getSingleton('core/resource');
|
136 |
+
$this->_getResource()->getWriteAdapter()->delete($resource->getTableName('bronto_emailcapture/queue'), $where);
|
137 |
}
|
138 |
}
|
app/code/community/Bronto/Newsletter/Helper/Contact.php
CHANGED
@@ -18,23 +18,25 @@ class Bronto_Newsletter_Helper_Contact extends Bronto_Common_Helper_Contact
|
|
18 |
const XML_PATH_LISTS = 'bronto_newsletter/contacts/lists';
|
19 |
|
20 |
/**
|
|
|
|
|
21 |
* @return bool
|
22 |
*/
|
23 |
-
public function getUpdateStatus()
|
24 |
{
|
25 |
-
return (bool)
|
26 |
}
|
27 |
|
28 |
/**
|
29 |
* Get Array of Bronto Subscriber List IDs
|
30 |
*
|
31 |
-
* @param
|
32 |
-
*
|
33 |
* @return array|mixed
|
34 |
*/
|
35 |
-
public function getListIds($
|
36 |
{
|
37 |
-
$listIds =
|
38 |
if (empty($listIds)) {
|
39 |
return array();
|
40 |
}
|
@@ -50,19 +52,13 @@ class Bronto_Newsletter_Helper_Contact extends Bronto_Common_Helper_Contact
|
|
50 |
* Get the list object from list id
|
51 |
*
|
52 |
* @param int $listId
|
53 |
-
* @param
|
|
|
54 |
*
|
55 |
* @return boolean|Bronto_Api_List_Row
|
56 |
*/
|
57 |
-
public function getListData($listId, $
|
58 |
{
|
59 |
-
if (is_null($store)) {
|
60 |
-
$scope = 'default';
|
61 |
-
$scopeId = 0;
|
62 |
-
} else {
|
63 |
-
$scope = 'store';
|
64 |
-
$scopeId = $store;
|
65 |
-
}
|
66 |
if ($api = $this->getApi(null, $scope, $scopeId)) {
|
67 |
/* @var $listObject Bronto_Api_List */
|
68 |
$listObject = $api->getListObject();
|
18 |
const XML_PATH_LISTS = 'bronto_newsletter/contacts/lists';
|
19 |
|
20 |
/**
|
21 |
+
* @param string $scope
|
22 |
+
* @param mixed $scopeId
|
23 |
* @return bool
|
24 |
*/
|
25 |
+
public function getUpdateStatus($scope = 'default', $scopeId = 0)
|
26 |
{
|
27 |
+
return (bool) $this->getAdminScopedConfig(self::XML_PATH_UPDATE_STATUS, $scope, $scopeId);
|
28 |
}
|
29 |
|
30 |
/**
|
31 |
* Get Array of Bronto Subscriber List IDs
|
32 |
*
|
33 |
+
* @param string $scope
|
34 |
+
* @param mixed $scopeId
|
35 |
* @return array|mixed
|
36 |
*/
|
37 |
+
public function getListIds($scope = 'default', $scopeId = 0)
|
38 |
{
|
39 |
+
$listIds = $this->getAdminScopedConfig(self::XML_PATH_LISTS, $scope, $scopeId);
|
40 |
if (empty($listIds)) {
|
41 |
return array();
|
42 |
}
|
52 |
* Get the list object from list id
|
53 |
*
|
54 |
* @param int $listId
|
55 |
+
* @param string $scope
|
56 |
+
* @param mixed $scopeId
|
57 |
*
|
58 |
* @return boolean|Bronto_Api_List_Row
|
59 |
*/
|
60 |
+
public function getListData($listId, $scope = 'default', $scopeId = 0)
|
61 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
62 |
if ($api = $this->getApi(null, $scope, $scopeId)) {
|
63 |
/* @var $listObject Bronto_Api_List */
|
64 |
$listObject = $api->getListObject();
|
app/code/community/Bronto/Newsletter/Helper/Data.php
CHANGED
@@ -47,11 +47,6 @@ class Bronto_Newsletter_Helper_Data extends Bronto_Common_Helper_Data
|
|
47 |
*/
|
48 |
public function isEnabled($scope = 'default', $scopeId = 0)
|
49 |
{
|
50 |
-
// Check if valid token is present
|
51 |
-
if (!$this->validApiToken(null, $scope, $scopeId)) {
|
52 |
-
return false;
|
53 |
-
}
|
54 |
-
|
55 |
// Get Enabled Scope
|
56 |
return (bool)$this->getAdminScopedConfig(self::XML_PATH_ENABLED, $scope, $scopeId);
|
57 |
}
|
47 |
*/
|
48 |
public function isEnabled($scope = 'default', $scopeId = 0)
|
49 |
{
|
|
|
|
|
|
|
|
|
|
|
50 |
// Get Enabled Scope
|
51 |
return (bool)$this->getAdminScopedConfig(self::XML_PATH_ENABLED, $scope, $scopeId);
|
52 |
}
|
app/code/community/Bronto/Newsletter/Model/Observer.php
CHANGED
@@ -284,7 +284,7 @@ class Bronto_Newsletter_Model_Observer
|
|
284 |
|
285 |
$helper = Mage::helper('bronto_newsletter/contact');
|
286 |
|
287 |
-
$lists = $helper->getListIds($storeId);
|
288 |
|
289 |
// Get Subscriber Queue for store
|
290 |
/* var $subscribers Bronto_Newsletter_Model_Mysql4_Queue_Collection */
|
@@ -311,7 +311,7 @@ class Bronto_Newsletter_Model_Observer
|
|
311 |
|
312 |
// Get List Details
|
313 |
foreach ($lists as $listId) {
|
314 |
-
if ($list = $helper->getListData($listId, $storeId)) {
|
315 |
$listName = $list->label;
|
316 |
} else {
|
317 |
Mage::throwException(
|
@@ -332,7 +332,7 @@ class Bronto_Newsletter_Model_Observer
|
|
332 |
Mage::throwException($bounceMessage);
|
333 |
}
|
334 |
|
335 |
-
if ($helper->getUpdateStatus()) {
|
336 |
switch ($subscriber->getStatus()) {
|
337 |
case Bronto_Api_Contact::STATUS_UNCONFIRMED:
|
338 |
case Bronto_Api_Contact::STATUS_TRANSACTIONAL:
|
284 |
|
285 |
$helper = Mage::helper('bronto_newsletter/contact');
|
286 |
|
287 |
+
$lists = $helper->getListIds('store', $storeId);
|
288 |
|
289 |
// Get Subscriber Queue for store
|
290 |
/* var $subscribers Bronto_Newsletter_Model_Mysql4_Queue_Collection */
|
311 |
|
312 |
// Get List Details
|
313 |
foreach ($lists as $listId) {
|
314 |
+
if ($list = $helper->getListData($listId, 'store', $storeId)) {
|
315 |
$listName = $list->label;
|
316 |
} else {
|
317 |
Mage::throwException(
|
332 |
Mage::throwException($bounceMessage);
|
333 |
}
|
334 |
|
335 |
+
if ($helper->getUpdateStatus('store', $storeId)) {
|
336 |
switch ($subscriber->getStatus()) {
|
337 |
case Bronto_Api_Contact::STATUS_UNCONFIRMED:
|
338 |
case Bronto_Api_Contact::STATUS_TRANSACTIONAL:
|
app/code/community/Bronto/Newsletter/Model/Resource/Setup.php
ADDED
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Bronto_Newsletter_Model_Resource_Setup extends Mage_Core_Model_Resource_Setup
|
4 |
+
{
|
5 |
+
/**
|
6 |
+
* Removes the ListIds in the default scope
|
7 |
+
*
|
8 |
+
* @return Bronto_Newsletter_Model_Resource_Setup
|
9 |
+
*/
|
10 |
+
public function removeListsInDefaultScope()
|
11 |
+
{
|
12 |
+
$path = 'bronto_newsletter/contacts/lists';
|
13 |
+
$this->run("
|
14 |
+
DELETE FROM `{$this->getTable('core/config_data')}`
|
15 |
+
WHERE `path`='{$path}' AND `scope`='default' AND `scope_id`=1;");
|
16 |
+
}
|
17 |
+
}
|
app/code/community/Bronto/Newsletter/controllers/Adminhtml/NewsletterController.php
CHANGED
@@ -127,6 +127,7 @@ class Bronto_Newsletter_Adminhtml_NewsletterController extends Mage_Adminhtml_Co
|
|
127 |
}
|
128 |
|
129 |
// Create Subscriber
|
|
|
130 |
Mage::getModel('bronto_newsletter/queue')->getContactRow($subscriber['subscriber_id'], $subscriber['store_id'])
|
131 |
->setStatus($status)
|
132 |
->setSubscriberEmail($subscriber['subscriber_email'])
|
@@ -134,6 +135,8 @@ class Bronto_Newsletter_Adminhtml_NewsletterController extends Mage_Adminhtml_Co
|
|
134 |
->setSource('api')
|
135 |
->setImported(0)
|
136 |
->setBrontoSuppressed(null)
|
|
|
|
|
137 |
->save();
|
138 |
|
139 |
$imported++;
|
127 |
}
|
128 |
|
129 |
// Create Subscriber
|
130 |
+
$now = Mage::getSingleton('core/date')->gmtDate();
|
131 |
Mage::getModel('bronto_newsletter/queue')->getContactRow($subscriber['subscriber_id'], $subscriber['store_id'])
|
132 |
->setStatus($status)
|
133 |
->setSubscriberEmail($subscriber['subscriber_email'])
|
135 |
->setSource('api')
|
136 |
->setImported(0)
|
137 |
->setBrontoSuppressed(null)
|
138 |
+
->setCreatedAt($now)
|
139 |
+
->setUpdatedAt($now)
|
140 |
->save();
|
141 |
|
142 |
$imported++;
|
app/code/community/Bronto/Newsletter/etc/config.xml
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
<config>
|
3 |
<modules>
|
4 |
<Bronto_Newsletter>
|
5 |
-
<version>1.4.
|
6 |
</Bronto_Newsletter>
|
7 |
</modules>
|
8 |
<global>
|
@@ -34,6 +34,7 @@
|
|
34 |
<bronto_newsletter_setup>
|
35 |
<setup>
|
36 |
<module>Bronto_Newsletter</module>
|
|
|
37 |
</setup>
|
38 |
<connection>
|
39 |
<use>core_setup</use>
|
@@ -92,7 +93,7 @@
|
|
92 |
<default>
|
93 |
<bronto_newsletter>
|
94 |
<settings>
|
95 |
-
<enabled>
|
96 |
<mage_cron>1</mage_cron>
|
97 |
<frequency>D</frequency>
|
98 |
<interval>15</interval>
|
2 |
<config>
|
3 |
<modules>
|
4 |
<Bronto_Newsletter>
|
5 |
+
<version>1.4.7</version>
|
6 |
</Bronto_Newsletter>
|
7 |
</modules>
|
8 |
<global>
|
34 |
<bronto_newsletter_setup>
|
35 |
<setup>
|
36 |
<module>Bronto_Newsletter</module>
|
37 |
+
<class>Bronto_Newsletter_Model_Resource_Setup</class>
|
38 |
</setup>
|
39 |
<connection>
|
40 |
<use>core_setup</use>
|
93 |
<default>
|
94 |
<bronto_newsletter>
|
95 |
<settings>
|
96 |
+
<enabled>0</enabled>
|
97 |
<mage_cron>1</mage_cron>
|
98 |
<frequency>D</frequency>
|
99 |
<interval>15</interval>
|
app/code/community/Bronto/Newsletter/sql/bronto_newsletter_setup/mysql4-install-1.4.7.php
ADDED
@@ -0,0 +1,61 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
$installer = $this;
|
4 |
+
/* @var $installer Mage_Core_Model_Resource_Setup */
|
5 |
+
|
6 |
+
$installer->startSetup();
|
7 |
+
|
8 |
+
try {
|
9 |
+
$installer->run("
|
10 |
+
DROP TABLE IF EXISTS `{$this->getTable('bronto_newsletter_queue')}`;
|
11 |
+
|
12 |
+
CREATE TABLE `{$this->getTable('bronto_newsletter_queue')}` (
|
13 |
+
`queue_id` int(11) NOT NULL AUTO_INCREMENT,
|
14 |
+
`subscriber_id` int(11) NOT NULL,
|
15 |
+
`store` tinyint(4) NOT NULL,
|
16 |
+
`status` varchar(32) CHARACTER SET utf8 NOT NULL,
|
17 |
+
`message_preference` varchar(16) CHARACTER SET utf8 NOT NULL,
|
18 |
+
`source` varchar(16) CHARACTER SET utf8 NOT NULL,
|
19 |
+
`imported` tinyint(4) NOT NULL DEFAULT '0',
|
20 |
+
`created_at` timestamp NULL DEFAULT NULL COMMENT 'Created At',
|
21 |
+
`updated_at` timestamp NULL DEFAULT NULL COMMENT 'Updated At',
|
22 |
+
`subscriber_email` varchar(255) CHARACTER SET utf8 NOT NULL,
|
23 |
+
`bronto_suppressed` varchar(255) DEFAULT NULL,
|
24 |
+
PRIMARY KEY (`subscriber_id`,`store`),
|
25 |
+
KEY `IDX_BRONTO_NEWSLETTER_QUEUE_QUEUE_ID` (`queue_id`)
|
26 |
+
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
27 |
+
");
|
28 |
+
|
29 |
+
} catch (Exception $e) {
|
30 |
+
throw new RuntimeException('Failed Creating Newsletter Queue Table: ' . $e->getMessage());
|
31 |
+
}
|
32 |
+
|
33 |
+
try {
|
34 |
+
// Populate New Table
|
35 |
+
$installer->run("
|
36 |
+
INSERT IGNORE INTO `{$this->getTable('bronto_newsletter_queue')}`
|
37 |
+
(
|
38 |
+
SELECT
|
39 |
+
NULL,
|
40 |
+
`newsletter`.`subscriber_id`,
|
41 |
+
`newsletter`.`store_id`,
|
42 |
+
IF(`newsletter`.`subscriber_status` = 1, 'active', IF(`newsletter`.`subscriber_status` = 2, 'transactional', 'unsub')),
|
43 |
+
'html',
|
44 |
+
'api',
|
45 |
+
0,
|
46 |
+
`newsletter`.`change_status_at`,
|
47 |
+
`newsletter`.`change_status_at`,
|
48 |
+
`newsletter`.`subscriber_email`,
|
49 |
+
null
|
50 |
+
FROM `{$this->getTable('newsletter_subscriber')}` `newsletter`
|
51 |
+
WHERE NOT EXISTS(
|
52 |
+
SELECT 1 FROM `{$this->getTable('bronto_newsletter_queue')}` `queue` WHERE
|
53 |
+
`queue`.`subscriber_id`=`newsletter`.`subscriber_id` OR
|
54 |
+
`queue`.`subscriber_email`=`newsletter`.`subscriber_email`
|
55 |
+
));
|
56 |
+
");
|
57 |
+
} catch (Exception $e) {
|
58 |
+
throw new RuntimeException('Failed Populating Newsletter Queue Table: ' . $e->getMessage());
|
59 |
+
}
|
60 |
+
|
61 |
+
$installer->endSetup();
|
app/code/community/Bronto/Newsletter/sql/bronto_newsletter_setup/mysql4-upgrade-1.4.5-1.4.6.php
CHANGED
@@ -27,4 +27,4 @@ try {
|
|
27 |
throw new RuntimeException('Failed Modifying Table: ' . $e->getMessage());
|
28 |
}
|
29 |
|
30 |
-
$installer->endSetup();
|
27 |
throw new RuntimeException('Failed Modifying Table: ' . $e->getMessage());
|
28 |
}
|
29 |
|
30 |
+
$installer->endSetup();
|
app/code/community/Bronto/Newsletter/sql/bronto_newsletter_setup/mysql4-upgrade-1.4.6-1.4.7.php
ADDED
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
$installer = $this;
|
4 |
+
|
5 |
+
$installer->startSetup();
|
6 |
+
|
7 |
+
try {
|
8 |
+
$installer->removeListsInDefaultScope();
|
9 |
+
} catch (Exception $e) {
|
10 |
+
Mage::helper('bronto_email')->writeError('Failed to update core data table: ' . $e->getMessage());
|
11 |
+
}
|
12 |
+
|
13 |
+
$installer->endSetup();
|
app/code/community/Bronto/Order/Helper/Data.php
CHANGED
@@ -46,11 +46,6 @@ class Bronto_Order_Helper_Data extends Bronto_Common_Helper_Data implements Bron
|
|
46 |
*/
|
47 |
public function isEnabled($scope = 'default', $scopeId = 0)
|
48 |
{
|
49 |
-
// Check if valid token is present
|
50 |
-
if (!$this->validApiToken(null, $scope, $scopeId)) {
|
51 |
-
return false;
|
52 |
-
}
|
53 |
-
|
54 |
// Get Enabled Scope
|
55 |
return (bool)$this->getAdminScopedConfig(self::XML_PATH_ENABLED, $scope, $scopeId);
|
56 |
}
|
46 |
*/
|
47 |
public function isEnabled($scope = 'default', $scopeId = 0)
|
48 |
{
|
|
|
|
|
|
|
|
|
|
|
49 |
// Get Enabled Scope
|
50 |
return (bool)$this->getAdminScopedConfig(self::XML_PATH_ENABLED, $scope, $scopeId);
|
51 |
}
|
app/code/community/Bronto/Order/Model/Observer.php
CHANGED
@@ -142,6 +142,9 @@ class Bronto_Order_Model_Observer
|
|
142 |
case Mage_Sales_Model_Order::STATE_HOLDED:
|
143 |
case Mage_Sales_Model_Order::STATE_CLOSED:
|
144 |
$brontoOrder->delete();
|
|
|
|
|
|
|
145 |
break;
|
146 |
|
147 |
default:
|
@@ -224,6 +227,17 @@ class Bronto_Order_Model_Observer
|
|
224 |
/* @var $product Mage_Catalog_Model_Product */
|
225 |
$product = Mage::getModel('catalog/product')->setStoreId($storeId)->load($item->getProductId());
|
226 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
227 |
// If there is a parent product, use that to get category ids
|
228 |
if ($parent) {
|
229 |
$categoryIds = $parent->getCategoryIds();
|
@@ -249,7 +263,7 @@ class Bronto_Order_Model_Observer
|
|
249 |
'id' => $item->getId(),
|
250 |
'sku' => $item->getSku(),
|
251 |
'name' => $item->getName(),
|
252 |
-
'description' => $
|
253 |
'category' => implode(' ', $categories),
|
254 |
'image' => $this->_helper->getItemImg($item, $product, $storeId),
|
255 |
'url' => $this->_helper->getItemUrl($item, $product, $storeId),
|
142 |
case Mage_Sales_Model_Order::STATE_HOLDED:
|
143 |
case Mage_Sales_Model_Order::STATE_CLOSED:
|
144 |
$brontoOrder->delete();
|
145 |
+
$orderRow
|
146 |
+
->setBrontoImported(Mage::getSingleton('core/date')->gmtDate())
|
147 |
+
->save();
|
148 |
break;
|
149 |
|
150 |
default:
|
227 |
/* @var $product Mage_Catalog_Model_Product */
|
228 |
$product = Mage::getModel('catalog/product')->setStoreId($storeId)->load($item->getProductId());
|
229 |
|
230 |
+
// If the product type is simple and the description
|
231 |
+
// is empty, then attempt to find a parent product
|
232 |
+
// to backfill the description.
|
233 |
+
if ($product->getTypeId() == Mage_Catalog_Model_Product_Type::TYPE_SIMPLE && !$product->getData($descriptionAttr)) {
|
234 |
+
$parentIds = Mage::getModel('catalog/product_type_configurable')->getParentIdsByChild($product->getId());
|
235 |
+
if (isset($parentIds[0])) {
|
236 |
+
$parentProduct = Mage::getModel('catalog/product')->setStoreId($storeId)->load($parentIds[0]);
|
237 |
+
$product->setData($descriptionAttr, $parentProduct->getData($descriptionAttr));
|
238 |
+
}
|
239 |
+
}
|
240 |
+
|
241 |
// If there is a parent product, use that to get category ids
|
242 |
if ($parent) {
|
243 |
$categoryIds = $parent->getCategoryIds();
|
263 |
'id' => $item->getId(),
|
264 |
'sku' => $item->getSku(),
|
265 |
'name' => $item->getName(),
|
266 |
+
'description' => $product->getData($descriptionAttr),
|
267 |
'category' => implode(' ', $categories),
|
268 |
'image' => $this->_helper->getItemImg($item, $product, $storeId),
|
269 |
'url' => $this->_helper->getItemUrl($item, $product, $storeId),
|
app/code/community/Bronto/Order/Model/Queue.php
CHANGED
@@ -34,7 +34,7 @@ class Bronto_Order_Model_Queue extends Mage_Core_Model_Abstract
|
|
34 |
|
35 |
// Add Filters
|
36 |
if (($quoteId > 0) && ($orderId > 0)) {
|
37 |
-
$collection->getSelect()->where("`quote_id` = $quoteId
|
38 |
} elseif (($quoteId > 0)) {
|
39 |
$collection->addFieldToFilter('quote_id', $quoteId);
|
40 |
} elseif (($orderId > 0)) {
|
@@ -148,4 +148,4 @@ class Bronto_Order_Model_Queue extends Mage_Core_Model_Abstract
|
|
148 |
return $result;
|
149 |
}
|
150 |
|
151 |
-
}
|
34 |
|
35 |
// Add Filters
|
36 |
if (($quoteId > 0) && ($orderId > 0)) {
|
37 |
+
$collection->getSelect()->where("`quote_id` = $quoteId AND `order_id` = $orderId");
|
38 |
} elseif (($quoteId > 0)) {
|
39 |
$collection->addFieldToFilter('quote_id', $quoteId);
|
40 |
} elseif (($orderId > 0)) {
|
148 |
return $result;
|
149 |
}
|
150 |
|
151 |
+
}
|
app/code/community/Bronto/Reminder/Helper/Data.php
CHANGED
@@ -69,11 +69,6 @@ class Bronto_Reminder_Helper_Data extends Bronto_Common_Helper_Data implements B
|
|
69 |
*/
|
70 |
public function isEnabled($scope = 'default', $scopeId = 0)
|
71 |
{
|
72 |
-
// Check if valid token is present
|
73 |
-
if (!$this->validApiToken(null, $scope, $scopeId)) {
|
74 |
-
return false;
|
75 |
-
}
|
76 |
-
|
77 |
// Get Enabled Scope
|
78 |
return (bool)$this->getAdminScopedConfig(self::XML_PATH_ENABLED, $scope, $scopeId);
|
79 |
}
|
69 |
*/
|
70 |
public function isEnabled($scope = 'default', $scopeId = 0)
|
71 |
{
|
|
|
|
|
|
|
|
|
|
|
72 |
// Get Enabled Scope
|
73 |
return (bool)$this->getAdminScopedConfig(self::XML_PATH_ENABLED, $scope, $scopeId);
|
74 |
}
|
app/code/community/Bronto/Reminder/Model/Email/Message.php
CHANGED
@@ -16,6 +16,14 @@ class Bronto_Reminder_Model_Email_Message extends Bronto_Common_Model_Email_Temp
|
|
16 |
*/
|
17 |
protected $_apiLogFile = 'bronto_reminder_api.log';
|
18 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
19 |
/**
|
20 |
* Log about the functionality of sending the email before it goes out
|
21 |
*
|
16 |
*/
|
17 |
protected $_apiLogFile = 'bronto_reminder_api.log';
|
18 |
|
19 |
+
/**
|
20 |
+
* @see parent
|
21 |
+
*/
|
22 |
+
protected function _emailClass()
|
23 |
+
{
|
24 |
+
return 'bronto_reminder/email_message';
|
25 |
+
}
|
26 |
+
|
27 |
/**
|
28 |
* Log about the functionality of sending the email before it goes out
|
29 |
*
|
app/code/community/Bronto/Reviews/Helper/Data.php
CHANGED
@@ -18,6 +18,16 @@ class Bronto_Reviews_Helper_Data
|
|
18 |
const XML_PATH_SENDER_NAME = 'bronto_reviews/settings/sender_name';
|
19 |
const XML_PATH_REPLY_TO = 'bronto_reviews/settings/reply_to';
|
20 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21 |
/**
|
22 |
* Check if module is enabled
|
23 |
*
|
@@ -28,11 +38,6 @@ class Bronto_Reviews_Helper_Data
|
|
28 |
*/
|
29 |
public function isEnabled($scope = 'default', $scopeId = 0)
|
30 |
{
|
31 |
-
// Check if valid token is present
|
32 |
-
if (!$this->validApiToken(null, $scope, $scopeId)) {
|
33 |
-
return false;
|
34 |
-
}
|
35 |
-
|
36 |
// Get Enabled Scope
|
37 |
return (bool)$this->getAdminScopedConfig(self::XML_PATH_ENABLED, $scope, $scopeId);
|
38 |
}
|
@@ -133,9 +138,14 @@ class Bronto_Reviews_Helper_Data
|
|
133 |
public function getReviewsUrl($product, $storeId = null)
|
134 |
{
|
135 |
$url = Mage::getModel('core/url')->setStore($storeId);
|
136 |
-
|
137 |
-
|
138 |
-
|
|
|
|
|
|
|
|
|
|
|
139 |
}
|
140 |
|
141 |
/**
|
18 |
const XML_PATH_SENDER_NAME = 'bronto_reviews/settings/sender_name';
|
19 |
const XML_PATH_REPLY_TO = 'bronto_reviews/settings/reply_to';
|
20 |
|
21 |
+
/**
|
22 |
+
* Gets the canonical name for the Bronto Review module
|
23 |
+
*
|
24 |
+
* @return string
|
25 |
+
*/
|
26 |
+
public function getName()
|
27 |
+
{
|
28 |
+
return 'Bronto Reviews';
|
29 |
+
}
|
30 |
+
|
31 |
/**
|
32 |
* Check if module is enabled
|
33 |
*
|
38 |
*/
|
39 |
public function isEnabled($scope = 'default', $scopeId = 0)
|
40 |
{
|
|
|
|
|
|
|
|
|
|
|
41 |
// Get Enabled Scope
|
42 |
return (bool)$this->getAdminScopedConfig(self::XML_PATH_ENABLED, $scope, $scopeId);
|
43 |
}
|
138 |
public function getReviewsUrl($product, $storeId = null)
|
139 |
{
|
140 |
$url = Mage::getModel('core/url')->setStore($storeId);
|
141 |
+
$params = array('id' => $product->getId());
|
142 |
+
if ($product->getCategoryId()) {
|
143 |
+
$params['category'] = $product->getCategoryId();
|
144 |
+
} else {
|
145 |
+
$categoryId = end($product->getCategoryIds());
|
146 |
+
$params['category'] = $categoryId;
|
147 |
+
}
|
148 |
+
return $url->getUrl('review/product/list', $params);
|
149 |
}
|
150 |
|
151 |
/**
|
app/code/community/Bronto/Reviews/Model/Observer.php
CHANGED
@@ -347,7 +347,7 @@ class Bronto_Reviews_Model_Observer
|
|
347 |
|
348 |
// Cycle through order items and create fields
|
349 |
$productInc = 1;
|
350 |
-
foreach ($order->
|
351 |
// Get Store ID from Order
|
352 |
$storeId = $order->getStoreId();
|
353 |
|
347 |
|
348 |
// Cycle through order items and create fields
|
349 |
$productInc = 1;
|
350 |
+
foreach ($order->getAllVisibleItems() as $item) {
|
351 |
// Get Store ID from Order
|
352 |
$storeId = $order->getStoreId();
|
353 |
|
app/code/community/Bronto/Verify/Block/Adminhtml/System/Config/Form/Magecron.php
CHANGED
@@ -20,6 +20,8 @@ class Bronto_Verify_Block_Adminhtml_System_Config_Form_Magecron
|
|
20 |
$html = "<tr><td> </td>
|
21 |
<td id=\"bronto-magecron-example\" colspan=\"3\"><strong style=\"margin:5px;\">To setup the cron script, you will need to add a command to your crontab file. Here are some examples:</strong>
|
22 |
<div style=\"border:1px solid #ccc; padding:5px; margin:5px;\">
|
|
|
|
|
23 |
<strong>To run the Reminder Cron every 15 minutes:</strong>
|
24 |
<pre>*/15 * * * * root /usr/bin/php /var/www/magento/shell/bronto/cron.php -a run -t reminder</pre>
|
25 |
<strong>To run the Order Import Cron once Daily at Midnight:</strong>
|
20 |
$html = "<tr><td> </td>
|
21 |
<td id=\"bronto-magecron-example\" colspan=\"3\"><strong style=\"margin:5px;\">To setup the cron script, you will need to add a command to your crontab file. Here are some examples:</strong>
|
22 |
<div style=\"border:1px solid #ccc; padding:5px; margin:5px;\">
|
23 |
+
<strong>To run the API Retry Cron every 2 minutes:</strong>
|
24 |
+
<pre>*/2 * * * * rot /usr/bin/php /var/www/magento/shell/bronto/cron.php -a run -t api</pre>
|
25 |
<strong>To run the Reminder Cron every 15 minutes:</strong>
|
26 |
<pre>*/15 * * * * root /usr/bin/php /var/www/magento/shell/bronto/cron.php -a run -t reminder</pre>
|
27 |
<strong>To run the Order Import Cron once Daily at Midnight:</strong>
|
app/code/community/Bronto/Verify/Block/Adminhtml/System/Config/Installs.php
CHANGED
@@ -32,6 +32,7 @@ class Bronto_Verify_Block_Adminhtml_System_Config_Installs
|
|
32 |
'bronto_newsletter',
|
33 |
'bronto_customer',
|
34 |
'bronto_order',
|
|
|
35 |
'bronto_reminder',
|
36 |
'bronto_email',
|
37 |
);
|
32 |
'bronto_newsletter',
|
33 |
'bronto_customer',
|
34 |
'bronto_order',
|
35 |
+
'bronto_reviews',
|
36 |
'bronto_reminder',
|
37 |
'bronto_email',
|
38 |
);
|
app/code/community/Bronto/Verify/Helper/Data.php
CHANGED
@@ -17,16 +17,6 @@ class Bronto_Verify_Helper_Data
|
|
17 |
*/
|
18 |
const XML_PATH_ROUNDTRIP_ROOT = 'bronto_verify/settings/';
|
19 |
|
20 |
-
const XML_PATH_SOAP_CLIENT = 'bronto_verify/soap_options/soap_client';
|
21 |
-
const XML_PATH_SOAP_STREAM_CONTEXT = 'bronto_verify/soap_options/stream_context';
|
22 |
-
const XML_PATH_SOAP_RETRY_LIMIT = 'bronto_verify/soap_options/retry_limit';
|
23 |
-
const XML_PATH_SOAP_CONNECTION_TIMEOUT = 'bronto_verify/soap_options/connection_timeout';
|
24 |
-
const XML_PATH_SOAP_TRACE = 'bronto_verify/soap_options/trace';
|
25 |
-
const XML_PATH_SOAP_EXCEPTIONS = 'bronto_verify/soap_options/exceptions';
|
26 |
-
const XML_PATH_WSDL_CACHE = 'bronto_verify/soap_options/wsdl_cache';
|
27 |
-
|
28 |
-
const DEFAULT_SOAP_CLIENT = 'Bronto_SoapClient';
|
29 |
-
|
30 |
/**
|
31 |
* Module Human Readable Name
|
32 |
*/
|
@@ -68,111 +58,6 @@ class Bronto_Verify_Helper_Data
|
|
68 |
return self::XML_PATH_ROUNDTRIP_ROOT . $pathend;
|
69 |
}
|
70 |
|
71 |
-
/**
|
72 |
-
* Get SOAP Options
|
73 |
-
*
|
74 |
-
* @return array
|
75 |
-
*/
|
76 |
-
public function getSoapOptions()
|
77 |
-
{
|
78 |
-
// Return Default Options
|
79 |
-
return array(
|
80 |
-
'soap_client' => $this->getSoapClient(),
|
81 |
-
'retry_limit' => $this->getSoapRetryLimit(),
|
82 |
-
'connection_timeout' => $this->getSoapConnectionTimeout(),
|
83 |
-
'trace' => $this->getSoapTrace(),
|
84 |
-
'exceptions' => $this->getSoapExceptions(),
|
85 |
-
'cache_wsdl' => $this->getSoapCacheWsdl(),
|
86 |
-
'debug' => $this->isDebugEnabled(),
|
87 |
-
);
|
88 |
-
}
|
89 |
-
|
90 |
-
/**
|
91 |
-
* Override the Bronto_SoapCLient class name
|
92 |
-
*
|
93 |
-
* @return string
|
94 |
-
*/
|
95 |
-
public function getSoapClient()
|
96 |
-
{
|
97 |
-
$class = $this->getAdminScopedConfig(self::XML_PATH_SOAP_CLIENT);
|
98 |
-
if (empty($class)) {
|
99 |
-
$class = self::DEFAULT_SOAP_CLIENT;
|
100 |
-
}
|
101 |
-
if (
|
102 |
-
$this->isStreamContextOverride() &&
|
103 |
-
$class == self::DEFAULT_SOAP_CLIENT
|
104 |
-
) {
|
105 |
-
$class = 'Bronto_Common_Model_SoapClient';
|
106 |
-
}
|
107 |
-
return $class;
|
108 |
-
}
|
109 |
-
|
110 |
-
/**
|
111 |
-
* Override the default Soap client with the stream context override
|
112 |
-
*
|
113 |
-
* @return bool
|
114 |
-
*/
|
115 |
-
public function isStreamContextOverride()
|
116 |
-
{
|
117 |
-
return (bool)$this->getAdminScopedConfig(self::XML_PATH_SOAP_STREAM_CONTEXT);
|
118 |
-
}
|
119 |
-
|
120 |
-
/**
|
121 |
-
* Get Config Value for SOAP Retry Limit
|
122 |
-
*
|
123 |
-
* @return int
|
124 |
-
*/
|
125 |
-
public function getSoapRetryLimit()
|
126 |
-
{
|
127 |
-
return (int)$this->getAdminScopedConfig(self::XML_PATH_SOAP_RETRY_LIMIT);
|
128 |
-
}
|
129 |
-
|
130 |
-
/**
|
131 |
-
* Get Config Value for SOAP Connection Timeout
|
132 |
-
*
|
133 |
-
* @return int
|
134 |
-
*/
|
135 |
-
public function getSoapConnectionTimeout()
|
136 |
-
{
|
137 |
-
return (int)$this->getAdminScopedConfig(self::XML_PATH_SOAP_CONNECTION_TIMEOUT);
|
138 |
-
}
|
139 |
-
|
140 |
-
/**
|
141 |
-
* Get Config Value for SOAP Trace
|
142 |
-
*
|
143 |
-
* @return bool
|
144 |
-
*/
|
145 |
-
public function getSoapTrace()
|
146 |
-
{
|
147 |
-
return (bool)$this->getAdminScopedConfig(self::XML_PATH_SOAP_TRACE) == '1';
|
148 |
-
}
|
149 |
-
|
150 |
-
/**
|
151 |
-
* Get Config Value for SOAP Exceptions
|
152 |
-
*
|
153 |
-
* @return bool
|
154 |
-
*/
|
155 |
-
public function getSoapExceptions()
|
156 |
-
{
|
157 |
-
return (bool)$this->getAdminScopedConfig(self::XML_PATH_SOAP_EXCEPTIONS) == '1';
|
158 |
-
}
|
159 |
-
|
160 |
-
public function getSoapCacheWsdl()
|
161 |
-
{
|
162 |
-
$cacheWsdl = $this->getAdminScopedConfig(self::XML_PATH_WSDL_CACHE);
|
163 |
-
switch ($cacheWsdl) {
|
164 |
-
case 'WSDL_CACHE_NONE':
|
165 |
-
return WSDL_CACHE_NONE;
|
166 |
-
case 'WSDL_CACHE_DISK':
|
167 |
-
return WSDL_CACHE_DISK;
|
168 |
-
case 'WSDL_CACHE_MEMORY':
|
169 |
-
return WSDL_CACHE_MEMORY;
|
170 |
-
case 'WSDL_CACHE_BOTH':
|
171 |
-
default:
|
172 |
-
return WSDL_CACHE_BOTH;
|
173 |
-
}
|
174 |
-
}
|
175 |
-
|
176 |
/**
|
177 |
* Set the value of a setting
|
178 |
*
|
17 |
*/
|
18 |
const XML_PATH_ROUNDTRIP_ROOT = 'bronto_verify/settings/';
|
19 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20 |
/**
|
21 |
* Module Human Readable Name
|
22 |
*/
|
58 |
return self::XML_PATH_ROUNDTRIP_ROOT . $pathend;
|
59 |
}
|
60 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
61 |
/**
|
62 |
* Set the value of a setting
|
63 |
*
|
app/code/community/Bronto/Verify/Model/Contact/Builder.php
CHANGED
@@ -27,7 +27,7 @@ class Bronto_Verify_Model_Contact_Builder
|
|
27 |
*
|
28 |
* @access public
|
29 |
*/
|
30 |
-
public function __construct(
|
31 |
{
|
32 |
$this->_api = $api;
|
33 |
}
|
27 |
*
|
28 |
* @access public
|
29 |
*/
|
30 |
+
public function __construct(Bronto_Api $api)
|
31 |
{
|
32 |
$this->_api = $api;
|
33 |
}
|
app/code/community/Bronto/Verify/etc/config.xml
CHANGED
@@ -68,15 +68,6 @@
|
|
68 |
<files>644</files>
|
69 |
<exclude>app/etc, mage, pear, media, var, errors, build, .git, .svn, shell, pkginfo, includes</exclude>
|
70 |
</permissionchecker>
|
71 |
-
<soap_options>
|
72 |
-
<soap_client>Bronto_SoapClient</soap_client>
|
73 |
-
<stream_context>0</stream_context>
|
74 |
-
<retry_limit>2</retry_limit>
|
75 |
-
<trace>0</trace>
|
76 |
-
<exceptions>1</exceptions>
|
77 |
-
<connection_timeout>30</connection_timeout>
|
78 |
-
<cache_wsdl>WSDL_CACHE_BOTH</cache_wsdl>
|
79 |
-
</soap_options>
|
80 |
</bronto_verify>
|
81 |
</default>
|
82 |
|
68 |
<files>644</files>
|
69 |
<exclude>app/etc, mage, pear, media, var, errors, build, .git, .svn, shell, pkginfo, includes</exclude>
|
70 |
</permissionchecker>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
71 |
</bronto_verify>
|
72 |
</default>
|
73 |
|
app/code/community/Bronto/Verify/etc/system.xml
CHANGED
@@ -11,7 +11,7 @@
|
|
11 |
<config>
|
12 |
<sections>
|
13 |
<bronto_verify translate="label" module="bronto_verify">
|
14 |
-
<label><![CDATA[<div id="bronto_verify_icon_block">
|
15 |
<tab>bronto</tab>
|
16 |
<sort_order>900</sort_order>
|
17 |
<show_in_default>1</show_in_default>
|
@@ -28,35 +28,6 @@
|
|
28 |
<show_in_store>1</show_in_store>
|
29 |
</about>
|
30 |
<!-- API Token Verification -->
|
31 |
-
<apitoken>
|
32 |
-
<label>API Status</label>
|
33 |
-
<frontend_type>text</frontend_type>
|
34 |
-
<sort_order>20</sort_order>
|
35 |
-
<show_in_default>1</show_in_default>
|
36 |
-
<show_in_website>1</show_in_website>
|
37 |
-
<show_in_store>1</show_in_store>
|
38 |
-
<expanded>1</expanded>
|
39 |
-
<fields>
|
40 |
-
<token_status>
|
41 |
-
<label>Last API Token Status</label>
|
42 |
-
<frontend_type>text</frontend_type>
|
43 |
-
<frontend_model>bronto_verify/adminhtml_system_config_form_field_apitoken</frontend_model>
|
44 |
-
<sort_order>10</sort_order>
|
45 |
-
<show_in_default>1</show_in_default>
|
46 |
-
<show_in_website>1</show_in_website>
|
47 |
-
<show_in_store>1</show_in_store>
|
48 |
-
</token_status>
|
49 |
-
<roundtrip_status>
|
50 |
-
<label>Last API Connection Status</label>
|
51 |
-
<frontend_type>text</frontend_type>
|
52 |
-
<frontend_model>bronto_verify/adminhtml_system_config_form_field_roundtrip</frontend_model>
|
53 |
-
<sort_order>11</sort_order>
|
54 |
-
<show_in_default>1</show_in_default>
|
55 |
-
<show_in_website>0</show_in_website>
|
56 |
-
<show_in_store>0</show_in_store>
|
57 |
-
</roundtrip_status>
|
58 |
-
</fields>
|
59 |
-
</apitoken>
|
60 |
<installs>
|
61 |
<label>Install Status</label>
|
62 |
<frontend_type>text</frontend_type>
|
@@ -68,7 +39,7 @@
|
|
68 |
<expanded>0</expanded>
|
69 |
</installs>
|
70 |
<advanced>
|
71 |
-
<label>
|
72 |
<frontend_type>text</frontend_type>
|
73 |
<!--<frontend_model>bronto_verify/adminhtml_system_config_advanced</frontend_model>-->
|
74 |
<sort_order>30</sort_order>
|
@@ -219,6 +190,16 @@
|
|
219 |
<![CDATA[This section is provided as an Advanced Option for handling the Cron processes for the Bronto Extension Modules. If you find that the Magento cron management system fails to trigger the cron processes for these modules, you may utilize the cron.php file provided with this extension. Simply set the 'Use Magento Cron' setting to 'No' for any modules you wish, click 'Save Config', and then follow the Cron configuration details below to set up the external cron.]]></comment>
|
220 |
<expanded>0</expanded>
|
221 |
<fields>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
222 |
<bronto_customer-settings-mage_cron>
|
223 |
<label>Contact Import: Use Magento Cron</label>
|
224 |
<frontend_type>select</frontend_type>
|
@@ -261,94 +242,6 @@
|
|
261 |
</bronto_reminder-settings-mage_cron>
|
262 |
</fields>
|
263 |
</cron_settings>
|
264 |
-
<soap_options>
|
265 |
-
<label>SOAP Options</label>
|
266 |
-
<frontend_type>text</frontend_type>
|
267 |
-
<sort_order>55</sort_order>
|
268 |
-
<show_in_default>1</show_in_default>
|
269 |
-
<show_in_website>0</show_in_website>
|
270 |
-
<show_in_store>0</show_in_store>
|
271 |
-
<expanded>0</expanded>
|
272 |
-
<fields>
|
273 |
-
<soap_client>
|
274 |
-
<label>SOAP class</label>
|
275 |
-
<frontend_type>text</frontend_type>
|
276 |
-
<sort_order>5</sort_order>
|
277 |
-
<show_in_default>1</show_in_default>
|
278 |
-
<show_in_website>0</show_in_website>
|
279 |
-
<show_in_store>0</show_in_store>
|
280 |
-
<comment><![CDATA[Overrides the Bronto_SoapClient class.<br/>
|
281 |
-
<em>* Provided class name must be available via
|
282 |
-
Magento's autoloader.</em>]]></comment>
|
283 |
-
</soap_client>
|
284 |
-
<stream_context>
|
285 |
-
<label>Use Stream Context</label>
|
286 |
-
<frontend_type>select</frontend_type>
|
287 |
-
<source_model>adminhtml/system_config_source_yesno</source_model>
|
288 |
-
<sort_order>6</sort_order>
|
289 |
-
<show_in_default>1</show_in_default>
|
290 |
-
<show_in_website>0</show_in_website>
|
291 |
-
<show_in_store>0</show_in_store>
|
292 |
-
<comment><![CDATA[Replace the SSL stream context for the
|
293 |
-
underlying SOAP client.<br/><em>* Use this option if you
|
294 |
-
are experiencing errors related to SSL or reaching
|
295 |
-
the Bronto API WSDL.</em>]]></comment>
|
296 |
-
</stream_context>
|
297 |
-
<retry_limit>
|
298 |
-
<label>Retry Limit</label>
|
299 |
-
<frontend_type>text</frontend_type>
|
300 |
-
<sort_order>10</sort_order>
|
301 |
-
<show_in_default>1</show_in_default>
|
302 |
-
<show_in_website>0</show_in_website>
|
303 |
-
<show_in_store>0</show_in_store>
|
304 |
-
<validate>validate-digits validate-digits-range digits-range-0-5</validate>
|
305 |
-
<comment><![CDATA[The number of times the SOAP client will attempt to retry API call. Must be between 0 and 5.<br />Default: 2]]>
|
306 |
-
</comment>
|
307 |
-
</retry_limit>
|
308 |
-
<connection_timeout>
|
309 |
-
<label>Connection Timeout</label>
|
310 |
-
<frontend_type>text</frontend_type>
|
311 |
-
<sort_order>20</sort_order>
|
312 |
-
<show_in_default>1</show_in_default>
|
313 |
-
<show_in_website>0</show_in_website>
|
314 |
-
<show_in_store>0</show_in_store>
|
315 |
-
<validate>validate-digits validate-digits-range digits-range-0-3600</validate>
|
316 |
-
<comment><![CDATA[The number of seconds the SOAP client will wait before attempting to retry the API call. Must be between 0 and 3600.<br />
|
317 |
-
Default: 30]]>
|
318 |
-
</comment>
|
319 |
-
</connection_timeout>
|
320 |
-
<trace>
|
321 |
-
<label>Trace</label>
|
322 |
-
<frontend_type>select</frontend_type>
|
323 |
-
<source_model>adminhtml/system_config_source_yesno</source_model>
|
324 |
-
<sort_order>30</sort_order>
|
325 |
-
<show_in_default>1</show_in_default>
|
326 |
-
<show_in_website>0</show_in_website>
|
327 |
-
<show_in_store>0</show_in_store>
|
328 |
-
<comment><![CDATA[If <em>Yes</em>, the SOAP client will trace its call.<br />Default: <em>No</em>]]></comment>
|
329 |
-
</trace>
|
330 |
-
<exceptions>
|
331 |
-
<label>Exceptions</label>
|
332 |
-
<frontend_type>select</frontend_type>
|
333 |
-
<source_model>adminhtml/system_config_source_yesno</source_model>
|
334 |
-
<sort_order>40</sort_order>
|
335 |
-
<show_in_default>1</show_in_default>
|
336 |
-
<show_in_website>0</show_in_website>
|
337 |
-
<show_in_store>0</show_in_store>
|
338 |
-
<comment><![CDATA[If <em>Yes</em>, the SOAP client will throw exceptions on failure.<br />Default: <em>Yes</em>]]></comment>
|
339 |
-
</exceptions>
|
340 |
-
<cache_wsdl>
|
341 |
-
<label>WSDL Cache</label>
|
342 |
-
<frontend_type>select</frontend_type>
|
343 |
-
<source_model>bronto_verify/system_config_source_wsdlcache</source_model>
|
344 |
-
<sort_order>50</sort_order>
|
345 |
-
<show_in_default>1</show_in_default>
|
346 |
-
<show_in_website>0</show_in_website>
|
347 |
-
<show_in_store>0</show_in_store>
|
348 |
-
<comment><![CDATA[If <em>Yes</em>, the SOAP client will cache the WSDL.<br />Default: <em>WSDL_CACHE_BOTH</em>]]></comment>
|
349 |
-
</cache_wsdl>
|
350 |
-
</fields>
|
351 |
-
</soap_options>
|
352 |
</groups>
|
353 |
</bronto_verify>
|
354 |
</sections>
|
11 |
<config>
|
12 |
<sections>
|
13 |
<bronto_verify translate="label" module="bronto_verify">
|
14 |
+
<label><![CDATA[<div id="bronto_verify_icon_block">Admin Tools</div>]]></label>
|
15 |
<tab>bronto</tab>
|
16 |
<sort_order>900</sort_order>
|
17 |
<show_in_default>1</show_in_default>
|
28 |
<show_in_store>1</show_in_store>
|
29 |
</about>
|
30 |
<!-- API Token Verification -->
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
31 |
<installs>
|
32 |
<label>Install Status</label>
|
33 |
<frontend_type>text</frontend_type>
|
39 |
<expanded>0</expanded>
|
40 |
</installs>
|
41 |
<advanced>
|
42 |
+
<label>Classpath Inspection</label>
|
43 |
<frontend_type>text</frontend_type>
|
44 |
<!--<frontend_model>bronto_verify/adminhtml_system_config_advanced</frontend_model>-->
|
45 |
<sort_order>30</sort_order>
|
190 |
<![CDATA[This section is provided as an Advanced Option for handling the Cron processes for the Bronto Extension Modules. If you find that the Magento cron management system fails to trigger the cron processes for these modules, you may utilize the cron.php file provided with this extension. Simply set the 'Use Magento Cron' setting to 'No' for any modules you wish, click 'Save Config', and then follow the Cron configuration details below to set up the external cron.]]></comment>
|
191 |
<expanded>0</expanded>
|
192 |
<fields>
|
193 |
+
<bronto_api-settings-mage_cron>
|
194 |
+
<label>API Retry: Use Magento Cron</label>
|
195 |
+
<frontend_type>select</frontend_type>
|
196 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
197 |
+
<backend_model>bronto_verify/system_config_backend_magecron</backend_model>
|
198 |
+
<sort_order>0</sort_order>
|
199 |
+
<show_in_default>1</show_in_default>
|
200 |
+
<show_in_website>0</show_in_website>
|
201 |
+
<show_in_store>0</show_in_store>
|
202 |
+
</bronto_api-settings-mage_cron>
|
203 |
<bronto_customer-settings-mage_cron>
|
204 |
<label>Contact Import: Use Magento Cron</label>
|
205 |
<frontend_type>select</frontend_type>
|
242 |
</bronto_reminder-settings-mage_cron>
|
243 |
</fields>
|
244 |
</cron_settings>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
245 |
</groups>
|
246 |
</bronto_verify>
|
247 |
</sections>
|
app/design/adminhtml/default/default/layout/bronto/common.xml
CHANGED
@@ -13,6 +13,7 @@
|
|
13 |
<action method="setTemplate">
|
14 |
<template>bronto/common/guiders.phtml</template>
|
15 |
</action>
|
|
|
16 |
<block type="bronto_common/adminhtml_system_config_guide" name="bronto_common.adminhtml.guide" as="bronto_common_guide" template="bronto/common/guide.phtml" />
|
17 |
<block type="bronto_common/adminhtml_system_config_guide" name="bronto_customer.adminhtml.guide" as="bronto_customer_guide" template="bronto/customer/guide.phtml" />
|
18 |
<block type="bronto_common/adminhtml_system_config_guide" name="bronto_email.adminhtml.guide" as="bronto_email_guide" template="bronto/email/guide.phtml" />
|
13 |
<action method="setTemplate">
|
14 |
<template>bronto/common/guiders.phtml</template>
|
15 |
</action>
|
16 |
+
<block type="bronto_common/adminhtml_system_config_guide" name="bronto_api.adminhtml.guide" as="bronto_api_guide" template="bronto/api/guide.phtml" />
|
17 |
<block type="bronto_common/adminhtml_system_config_guide" name="bronto_common.adminhtml.guide" as="bronto_common_guide" template="bronto/common/guide.phtml" />
|
18 |
<block type="bronto_common/adminhtml_system_config_guide" name="bronto_customer.adminhtml.guide" as="bronto_customer_guide" template="bronto/customer/guide.phtml" />
|
19 |
<block type="bronto_common/adminhtml_system_config_guide" name="bronto_email.adminhtml.guide" as="bronto_email_guide" template="bronto/email/guide.phtml" />
|
app/design/adminhtml/default/default/template/bronto/api/guide.phtml
ADDED
@@ -0,0 +1,239 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php /* @var $this Bronto_Common_Block_Adminhtml_System_Config_Guide */ ?>
|
2 |
+
|
3 |
+
<?php if ($this->isBrontoSection('bronto_api')): ?>
|
4 |
+
|
5 |
+
<?php if (!Mage::helper('bronto_common/api')->isEnabled()): ?>
|
6 |
+
/**
|
7 |
+
* Introduce them to the guide and provide instructions
|
8 |
+
*/
|
9 |
+
guiders.createGuider({
|
10 |
+
buttons: [
|
11 |
+
{name: "<?php echo $this->__("Let's Get Started!") ?>", onclick: guiders.next},
|
12 |
+
{name: "<?php echo $this->__('No Thanks') ?>", onclick: guiders.hideAll}
|
13 |
+
],
|
14 |
+
buttonCustomHTML: dontShowButtonHtml,
|
15 |
+
description: "<?php echo $this->__(
|
16 |
+
'The Advanced API is where you can customize the API error retry interval, ' .
|
17 |
+
'check your API Token validity and connection, ' .
|
18 |
+
'and customize you API client.' .
|
19 |
+
'%sReady to Go?%s',
|
20 |
+
'<br /><br /><div style=\"text-align:right; font-weight:bold;\">',
|
21 |
+
'</div>'
|
22 |
+
) ?>",
|
23 |
+
id: "start",
|
24 |
+
next: "bronto_api-enable",
|
25 |
+
overlay: true,
|
26 |
+
closeOnEscape: true,
|
27 |
+
title: "Bronto Extension - <?php echo $this->__('Advanced API') ?>",
|
28 |
+
width: 600
|
29 |
+
});
|
30 |
+
|
31 |
+
/**
|
32 |
+
* Enable the Module
|
33 |
+
*/
|
34 |
+
guiders.createGuider({
|
35 |
+
attachTo: '#bronto_api_settings_enabled',
|
36 |
+
buttons: [
|
37 |
+
{name: "<?php echo $this->__('Back') ?>"},
|
38 |
+
{name: "<?php echo $this->__('Next') ?>", onclick: function() {
|
39 |
+
if (jQuery('#bronto_api_settings_enabled').val() == '1') {
|
40 |
+
guiders.next();
|
41 |
+
} else {
|
42 |
+
alert("<?php echo $this->__("Do not forget to enable the module") ?>");
|
43 |
+
}
|
44 |
+
}},
|
45 |
+
{name: "<?php echo $this->__('Close') ?>"}
|
46 |
+
],
|
47 |
+
autoFocus: true,
|
48 |
+
closeOnEscape: true,
|
49 |
+
highlight: '#bronto_customer_settings_enabled',
|
50 |
+
description: "<?php echo $this->__("Enable the API retry and expose some more options. Just set `Enable API Retry` to Yes and click `Save Config`.") ?>",
|
51 |
+
id: "bronto_api-enable",
|
52 |
+
next: "bronto_api-configure_cron",
|
53 |
+
position: 11,
|
54 |
+
overlay: true,
|
55 |
+
title: "<?php echo $this->__('Enable API Retry') ?>",
|
56 |
+
width: 200
|
57 |
+
});
|
58 |
+
|
59 |
+
/**
|
60 |
+
* Configure Cron
|
61 |
+
*/
|
62 |
+
guiders.createGuider({
|
63 |
+
attachTo: '#bronto_api_settings',
|
64 |
+
buttons: [
|
65 |
+
{name: "<?php echo $this->__('Back') ?>"},
|
66 |
+
{name: "<?php echo $this->__('Next') ?>"},
|
67 |
+
{name: "<?php echo $this->__('Close') ?>"}
|
68 |
+
],
|
69 |
+
autoFocus: true,
|
70 |
+
closeOnEscape: true,
|
71 |
+
description: "<?php echo $this->__('These options allow you to configure the cron schedule and retry process.') ?>",
|
72 |
+
id: "bronto_api-configure_cron",
|
73 |
+
next: "bronto_api-save_config_first",
|
74 |
+
position: 10,
|
75 |
+
title: "<?php echo $this->__('Configure the Cron') ?>",
|
76 |
+
width: 200
|
77 |
+
});
|
78 |
+
|
79 |
+
/**
|
80 |
+
* Save Configuration
|
81 |
+
*/
|
82 |
+
guiders.createGuider({
|
83 |
+
attachTo: 'button.save',
|
84 |
+
buttons: [
|
85 |
+
{name: "<?php echo $this->__('Back') ?>"},
|
86 |
+
{name: "<?php echo $this->__('Save Config') ?>", onclick: function() {
|
87 |
+
configForm.submit()
|
88 |
+
}},
|
89 |
+
{name: "<?php echo $this->__('Close') ?>"}
|
90 |
+
],
|
91 |
+
autoFocus: true,
|
92 |
+
closeOnEscape: true,
|
93 |
+
highlight: 'button.save',
|
94 |
+
description: "<?php echo $this->__('Now that the initial settings have been configured, you should save them. Click `Save Config` now.') ?>",
|
95 |
+
id: "bronto_api-save_config_first",
|
96 |
+
next: "final",
|
97 |
+
position: 5,
|
98 |
+
overlay: true,
|
99 |
+
title: "<?php echo $this->__('Save Config') ?>"
|
100 |
+
});
|
101 |
+
|
102 |
+
<?php else: ?>
|
103 |
+
|
104 |
+
/**
|
105 |
+
* Continue Guide now that module is enabled
|
106 |
+
*/
|
107 |
+
guiders.createGuider({
|
108 |
+
buttons: [
|
109 |
+
{name: "<?php echo $this->__('Continue with Guide') ?>", onclick: guiders.next},
|
110 |
+
{name: "<?php echo $this->__('No Thanks') ?>", onclick: guiders.hideAll}
|
111 |
+
],
|
112 |
+
buttonCustomHTML: dontShowButtonHtml,
|
113 |
+
description: "<?php echo $this->__(
|
114 |
+
'The Advanced API is where you can customize the API error retry interval, ' .
|
115 |
+
'check your API Token validity and connection, ' .
|
116 |
+
'and customize you API client.' .
|
117 |
+
'%sReady to Go?%s',
|
118 |
+
'<br /><br /><div style=\"text-align:right; font-weight:bold;\">',
|
119 |
+
'</div>'
|
120 |
+
) ?>",
|
121 |
+
id: "start",
|
122 |
+
next: "bronto_api-api_status",
|
123 |
+
overlay: true, closeOnEscape: true,
|
124 |
+
title: "Bronto Extension - <?php echo $this->__('Advanced API'); ?>",
|
125 |
+
width: 600
|
126 |
+
});
|
127 |
+
|
128 |
+
/**
|
129 |
+
* Explain API Status
|
130 |
+
*/
|
131 |
+
guiders.createGuider({
|
132 |
+
attachTo: '#bronto_api_apitoken-head',
|
133 |
+
buttons: [
|
134 |
+
{name: "<?php echo $this->__('Back') ?>"},
|
135 |
+
{name: "<?php echo $this->__('Next') ?>"},
|
136 |
+
{name: "<?php echo $this->__('Close') ?>"}
|
137 |
+
],
|
138 |
+
autoFocus: true, closeOnEscape: true,
|
139 |
+
description: "<?php echo $this->__('This is where you can verify the status of the API Token and the API Connection. Just click the `Verify Now` button to the right of each one to update the status.') ?>",
|
140 |
+
id: "bronto_api-api_status",
|
141 |
+
next: "bronto_api-mage_cron",
|
142 |
+
position: 9,
|
143 |
+
title: "<?php echo $this->__('API Status') ?>",
|
144 |
+
width: 200
|
145 |
+
});
|
146 |
+
|
147 |
+
/**
|
148 |
+
* Explain Using Magento Cron
|
149 |
+
*/
|
150 |
+
<?php $advancedCronLink = $this->helper('bronto_common')->getScopeUrl('/system_config/edit/section/bronto_verify'); ?>
|
151 |
+
guiders.createGuider({
|
152 |
+
attachTo: '#row_bronto_api_settings_mage_cron',
|
153 |
+
buttons: [
|
154 |
+
{name: "<?php echo $this->__('Back') ?>"},
|
155 |
+
{name: "<?php echo $this->__('Next') ?>"},
|
156 |
+
{name: "<?php echo $this->__('Close') ?>"}
|
157 |
+
],
|
158 |
+
autoFocus: true, closeOnEscape: true,
|
159 |
+
description: "<?php echo $this->__('The `Use Magento Cron` setting, when set to No, allows you to create your own crontab entry on your server instead of using Magento\'s cron system. You should only change this if you are experiencing issues where the cron job for this module fails to run due to too many jobs.%sYou can find more details under the %s, including examples of how to configure the cron job.', '<br /><br />', '<a href=\"' . $advancedCronLink . '\" title=\"Advanced » Cron Settings\">Advanced Tab</a>') ?>",
|
160 |
+
id: "bronto_api-mage_cron",
|
161 |
+
next: "bronto_api-attempt_threshold",
|
162 |
+
position: 10,
|
163 |
+
title: "<?php echo $this->__('Cron Options') ?>",
|
164 |
+
width: 200
|
165 |
+
});
|
166 |
+
|
167 |
+
/**
|
168 |
+
* Explain email capture
|
169 |
+
*/
|
170 |
+
guiders.createGuider({
|
171 |
+
attachTo: '#row_bronto_api_settings_threshold',
|
172 |
+
buttons: [
|
173 |
+
{name: "<?php echo $this->__('Back') ?>"},
|
174 |
+
{name: "<?php echo $this->__('Next') ?>"},
|
175 |
+
{name: "<?php echo $this->__('Close') ?>"}
|
176 |
+
],
|
177 |
+
autoFocus: true, closeOnEscape: true,
|
178 |
+
description: "<?php echo $this->__("The Attempt Threshold setting allows you to grab entries that have failed less than the specified number. These are attempts that failed upon later retrying the call.") ?>",
|
179 |
+
id: "bronto_api-attempt_threshold",
|
180 |
+
next: "bronto_api-cron_table",
|
181 |
+
position: 10,
|
182 |
+
title: "<?php echo $this->__('Attempt Threshold') ?>",
|
183 |
+
width: 200
|
184 |
+
});
|
185 |
+
|
186 |
+
|
187 |
+
/**
|
188 |
+
* Cron Table
|
189 |
+
*/
|
190 |
+
guiders.createGuider({
|
191 |
+
attachTo: '.bronto-cron-table',
|
192 |
+
buttons: [
|
193 |
+
{name: "<?php echo $this->__('Back') ?>"},
|
194 |
+
{name: "<?php echo $this->__('Next') ?>"},
|
195 |
+
{name: "<?php echo $this->__('Close') ?>"}
|
196 |
+
],
|
197 |
+
autoFocus: true,
|
198 |
+
closeOnEscape: true,
|
199 |
+
highlight: '.bronto-cron-table',
|
200 |
+
overlay: true,
|
201 |
+
description: "<?php echo $this->__('This table shows you the recent history of the Cron Jobs that are pending, running, have successfully completed, or have failed upon execution.') ?>",
|
202 |
+
id: "bronto_api-cron_table",
|
203 |
+
next: "bronto_api-soap_options",
|
204 |
+
position: 10,
|
205 |
+
title: "<?php echo $this->__('Cron Table') ?>",
|
206 |
+
width: 200
|
207 |
+
});
|
208 |
+
|
209 |
+
/**
|
210 |
+
* Explain SOAP Config Section
|
211 |
+
*/
|
212 |
+
guiders.createGuider({
|
213 |
+
attachTo: '#bronto_api_soap_options-head',
|
214 |
+
shouldSkip: function() {
|
215 |
+
return <?php echo ($this->isDefaultScope()) ? 'false' : 'true'; ?>
|
216 |
+
},
|
217 |
+
buttons: [
|
218 |
+
{name: "<?php echo $this->__('Back') ?>"},
|
219 |
+
{name: "<?php echo $this->__('Next') ?>"},
|
220 |
+
{name: "<?php echo $this->__('Close') ?>"}
|
221 |
+
],
|
222 |
+
autoFocus: true, closeOnEscape: true,
|
223 |
+
onShow: function() { sectionOpen('#bronto_api_soap_options-head'); },
|
224 |
+
onHide: function() { sectionClose('#bronto_api_soap_options-head'); },
|
225 |
+
description: "<?php echo $this->__('The SOAP Options section allows you to customize SOAP client settings that are specific to your system.') ?>",
|
226 |
+
id: "bronto_api-soap_options",
|
227 |
+
next: "final",
|
228 |
+
position: 9,
|
229 |
+
title: "<?php echo $this->__('SOAP Options') ?>",
|
230 |
+
width: 200
|
231 |
+
});
|
232 |
+
|
233 |
+
<?php endif; ?>
|
234 |
+
|
235 |
+
<?php if($this->canShowGuide()): ?>
|
236 |
+
guiders.show('start');
|
237 |
+
<?php endif; ?>
|
238 |
+
|
239 |
+
<?php endif; ?>
|
app/design/adminhtml/default/default/template/bronto/common/about.phtml
CHANGED
@@ -42,11 +42,11 @@
|
|
42 |
<p style="line-height:16px;">
|
43 |
<strong style="color: #666; font-size:14px">Get Support</strong>
|
44 |
<br/>
|
45 |
-
<a href="<?php echo $this->
|
46 |
</p>
|
47 |
</div>
|
48 |
<div style="float:right; padding-left:5px">
|
49 |
-
<a href="<?php echo $this->
|
50 |
</div>
|
51 |
</div>
|
52 |
<?php endif; ?>
|
42 |
<p style="line-height:16px;">
|
43 |
<strong style="color: #666; font-size:14px">Get Support</strong>
|
44 |
<br/>
|
45 |
+
<a href="<?php echo $this->getSection() != 'bronto' ? $this->getUrl("*/system_config/edit", array('section' => 'bronto')) : ''; ?>#bronto_information-head">Learn Next Steps</a>
|
46 |
</p>
|
47 |
</div>
|
48 |
<div style="float:right; padding-left:5px">
|
49 |
+
<a href="<?php echo $this->getSection() != 'bronto' ? $this->getUrl("*/system_config/edit", array('section' => 'bronto')) : ''; ?>#bronto_information-head"><img src="<?php echo $this->getSkinUrl('bronto/images/support.png'); ?>" alt="Need Help? Get Support"/></a>
|
50 |
</div>
|
51 |
</div>
|
52 |
<?php endif; ?>
|
app/design/adminhtml/default/default/template/bronto/common/cron.phtml
CHANGED
@@ -4,8 +4,8 @@
|
|
4 |
<?php if ($this->hasProgressBar()): ?>
|
5 |
<?php echo $this->getProgressBarHtml(); ?>
|
6 |
<?php endif; ?>
|
7 |
-
<?php if ($this->showCronTable()): ?>
|
8 |
<?php echo $this->getButtonsHtml(); ?>
|
|
|
9 |
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="bronto-cron-table data">
|
10 |
<thead>
|
11 |
<tr class="">
|
4 |
<?php if ($this->hasProgressBar()): ?>
|
5 |
<?php echo $this->getProgressBarHtml(); ?>
|
6 |
<?php endif; ?>
|
|
|
7 |
<?php echo $this->getButtonsHtml(); ?>
|
8 |
+
<?php if ($this->showCronTable()): ?>
|
9 |
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="bronto-cron-table data">
|
10 |
<thead>
|
11 |
<tr class="">
|
app/design/adminhtml/default/default/template/bronto/verify/guide.phtml
CHANGED
@@ -12,39 +12,20 @@
|
|
12 |
],
|
13 |
buttonCustomHTML: dontShowButtonHtml,
|
14 |
description: "<?php echo $this->__(
|
15 |
-
'The
|
16 |
-
'This page allows you, among other things,
|
17 |
'see any configuration conflicts between any other installed modules, and ensure your files all have the correct permissions to run correctly and securely.' .
|
18 |
'%sReady to Go?%s',
|
19 |
'<br /><br /><div style=\"text-align:right; font-weight:bold;\">',
|
20 |
'</div>'
|
21 |
) ?>",
|
22 |
id: "start",
|
23 |
-
next: "bronto_verify-
|
24 |
overlay: true, closeOnEscape: true,
|
25 |
-
title: "Bronto Extension - <?php echo $this->__('
|
26 |
width: 600
|
27 |
});
|
28 |
|
29 |
-
/**
|
30 |
-
* Explain API Status
|
31 |
-
*/
|
32 |
-
guiders.createGuider({
|
33 |
-
attachTo: '#bronto_verify_apitoken-head',
|
34 |
-
buttons: [
|
35 |
-
{name: "<?php echo $this->__('Back') ?>"},
|
36 |
-
{name: "<?php echo $this->__('Next') ?>"},
|
37 |
-
{name: "<?php echo $this->__('Close') ?>"}
|
38 |
-
],
|
39 |
-
autoFocus: true, closeOnEscape: true,
|
40 |
-
description: "<?php echo $this->__('This is where you can verify the status of the API Token and the API Connection. Just click the `Verify Now` button to the right of each one to update the status.') ?>",
|
41 |
-
id: "bronto_verify-api_status",
|
42 |
-
next: "bronto_verify-install_status",
|
43 |
-
position: 9,
|
44 |
-
title: "<?php echo $this->__('API Status') ?>",
|
45 |
-
width: 200
|
46 |
-
});
|
47 |
-
|
48 |
/**
|
49 |
* Explain Install Status
|
50 |
*/
|
@@ -82,11 +63,11 @@
|
|
82 |
autoFocus: true, closeOnEscape: true,
|
83 |
onShow: function() { sectionOpen('#bronto_verify_advanced-head'); },
|
84 |
onHide: function() { sectionClose('#bronto_verify_advanced-head'); },
|
85 |
-
description: "<?php echo $this->__('The
|
86 |
id: "bronto_verify-advanced",
|
87 |
next: "bronto_verify-conflict_checker",
|
88 |
position: 9,
|
89 |
-
title: "<?php echo $this->__('
|
90 |
width: 200
|
91 |
});
|
92 |
|
@@ -224,33 +205,9 @@
|
|
224 |
'<br /><br/><em>',
|
225 |
'</em>') ?>",
|
226 |
id: "bronto_verify-cron_examples",
|
227 |
-
next: "bronto_verify-soap_options",
|
228 |
-
position: 9,
|
229 |
-
title: "<?php echo $this->__('Crontab Examples') ?>",
|
230 |
-
width: 200
|
231 |
-
});
|
232 |
-
|
233 |
-
/**
|
234 |
-
* Explain SOAP Config Section
|
235 |
-
*/
|
236 |
-
guiders.createGuider({
|
237 |
-
attachTo: '#bronto_verify_soap_options-head',
|
238 |
-
shouldSkip: function() {
|
239 |
-
return <?php echo ($this->isDefaultScope()) ? 'false' : 'true'; ?>
|
240 |
-
},
|
241 |
-
buttons: [
|
242 |
-
{name: "<?php echo $this->__('Back') ?>"},
|
243 |
-
{name: "<?php echo $this->__('Next') ?>"},
|
244 |
-
{name: "<?php echo $this->__('Close') ?>"}
|
245 |
-
],
|
246 |
-
autoFocus: true, closeOnEscape: true,
|
247 |
-
onShow: function() { sectionOpen('#bronto_verify_soap_options-head'); },
|
248 |
-
onHide: function() { sectionClose('#bronto_verify_soap_options-head'); },
|
249 |
-
description: "<?php echo $this->__('The SOAP Options section allows you to customize SOAP client settings that are specific to your system.') ?>",
|
250 |
-
id: "bronto_verify-soap_options",
|
251 |
next: "final",
|
252 |
position: 9,
|
253 |
-
title: "<?php echo $this->__('
|
254 |
width: 200
|
255 |
});
|
256 |
|
12 |
],
|
13 |
buttonCustomHTML: dontShowButtonHtml,
|
14 |
description: "<?php echo $this->__(
|
15 |
+
'The Admin Tools module is here as a helpful troubleshooting resource. ' .
|
16 |
+
'This page allows you, among other things, ' .
|
17 |
'see any configuration conflicts between any other installed modules, and ensure your files all have the correct permissions to run correctly and securely.' .
|
18 |
'%sReady to Go?%s',
|
19 |
'<br /><br /><div style=\"text-align:right; font-weight:bold;\">',
|
20 |
'</div>'
|
21 |
) ?>",
|
22 |
id: "start",
|
23 |
+
next: "bronto_verify-install_status",
|
24 |
overlay: true, closeOnEscape: true,
|
25 |
+
title: "Bronto Extension - <?php echo $this->__('Admin Tools') ?>",
|
26 |
width: 600
|
27 |
});
|
28 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
29 |
/**
|
30 |
* Explain Install Status
|
31 |
*/
|
63 |
autoFocus: true, closeOnEscape: true,
|
64 |
onShow: function() { sectionOpen('#bronto_verify_advanced-head'); },
|
65 |
onHide: function() { sectionClose('#bronto_verify_advanced-head'); },
|
66 |
+
description: "<?php echo $this->__('The Classpath Inspection section provides functionality for identifying observers of events and file paths for classes.') ?>",
|
67 |
id: "bronto_verify-advanced",
|
68 |
next: "bronto_verify-conflict_checker",
|
69 |
position: 9,
|
70 |
+
title: "<?php echo $this->__('Classpath Inspection') ?>",
|
71 |
width: 200
|
72 |
});
|
73 |
|
205 |
'<br /><br/><em>',
|
206 |
'</em>') ?>",
|
207 |
id: "bronto_verify-cron_examples",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
208 |
next: "final",
|
209 |
position: 9,
|
210 |
+
title: "<?php echo $this->__('Crontab Examples') ?>",
|
211 |
width: 200
|
212 |
});
|
213 |
|
lib/Bronto/Api.php
CHANGED
@@ -37,6 +37,7 @@ class Bronto_Api
|
|
37 |
'type' => null,
|
38 |
'path' => null,
|
39 |
),
|
|
|
40 |
// SoapClient
|
41 |
'soap_version' => SOAP_1_1,
|
42 |
'compression' => true,
|
@@ -76,6 +77,11 @@ class Bronto_Api
|
|
76 |
*/
|
77 |
protected $_uuid;
|
78 |
|
|
|
|
|
|
|
|
|
|
|
79 |
/**
|
80 |
* @param string $token
|
81 |
* @param array $options
|
@@ -116,11 +122,20 @@ class Bronto_Api
|
|
116 |
// Get a new SoapClient
|
117 |
$this->reset();
|
118 |
$client = $this->getSoapClient(false);
|
119 |
-
|
120 |
-
$
|
121 |
-
|
122 |
-
|
123 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
124 |
} catch (Exception $e) {
|
125 |
$this->throwException($e);
|
126 |
}
|
@@ -128,6 +143,22 @@ class Bronto_Api
|
|
128 |
return $this;
|
129 |
}
|
130 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
131 |
/**
|
132 |
* We want all Exceptions to be Bronto_Api_Exception for request/response
|
133 |
*
|
@@ -162,6 +193,11 @@ class Bronto_Api
|
|
162 |
$exception->setResponse($this->getLastResponse());
|
163 |
}
|
164 |
|
|
|
|
|
|
|
|
|
|
|
165 |
throw $exception;
|
166 |
}
|
167 |
|
@@ -504,6 +540,13 @@ class Bronto_Api
|
|
504 |
if (!($this->_retryer instanceOf Bronto_Util_Retryer_RetryerInterface)) {
|
505 |
$options = array_merge($this->_options['retryer'], $options);
|
506 |
switch ($options['type']) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
507 |
case 'file':
|
508 |
$this->_retryer = new Bronto_Util_Retryer_FileRetryer($options);
|
509 |
break;
|
@@ -516,6 +559,27 @@ class Bronto_Api
|
|
516 |
return $this->_retryer;
|
517 |
}
|
518 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
519 |
/**
|
520 |
* @return Bronto_Util_Retryer_RetryerInterface
|
521 |
*/
|
37 |
'type' => null,
|
38 |
'path' => null,
|
39 |
),
|
40 |
+
'observer' => false,
|
41 |
// SoapClient
|
42 |
'soap_version' => SOAP_1_1,
|
43 |
'compression' => true,
|
77 |
*/
|
78 |
protected $_uuid;
|
79 |
|
80 |
+
/**
|
81 |
+
* @var Bronto_Observer
|
82 |
+
*/
|
83 |
+
protected $_observer;
|
84 |
+
|
85 |
/**
|
86 |
* @param string $token
|
87 |
* @param array $options
|
122 |
// Get a new SoapClient
|
123 |
$this->reset();
|
124 |
$client = $this->getSoapClient(false);
|
125 |
+
// Allow observer to inject a session before login
|
126 |
+
if ($this->getObserver()) {
|
127 |
+
$this->getObserver()->onBeforeLogin($this);
|
128 |
+
}
|
129 |
+
// Check for auth changes
|
130 |
+
if (!$this->isAuthenticated()) {
|
131 |
+
$sessionId = $client->login(array('apiToken' => $token))->return;
|
132 |
+
$this->setSessionId($sessionId);
|
133 |
+
|
134 |
+
// Allow observer to store session
|
135 |
+
if ($this->getObserver()) {
|
136 |
+
$this->getObserver()->onAfterLogin($this, $sessionId);
|
137 |
+
}
|
138 |
+
}
|
139 |
} catch (Exception $e) {
|
140 |
$this->throwException($e);
|
141 |
}
|
143 |
return $this;
|
144 |
}
|
145 |
|
146 |
+
/**
|
147 |
+
* Resuse an existing session, if possible
|
148 |
+
*
|
149 |
+
* @param string $sessionId
|
150 |
+
* @return Bronto_Api
|
151 |
+
*/
|
152 |
+
public function setSessionId($sessionId)
|
153 |
+
{
|
154 |
+
$client = $this->getSoapClient(false);
|
155 |
+
$client->__setSoapHeaders(array(
|
156 |
+
new SoapHeader(self::BASE_URL, 'sessionHeader', array('sessionId' => $sessionId))
|
157 |
+
));
|
158 |
+
$this->_authenticated = true;
|
159 |
+
return $this;
|
160 |
+
}
|
161 |
+
|
162 |
/**
|
163 |
* We want all Exceptions to be Bronto_Api_Exception for request/response
|
164 |
*
|
193 |
$exception->setResponse($this->getLastResponse());
|
194 |
}
|
195 |
|
196 |
+
// Allow observer to handle exception cases
|
197 |
+
if ($this->getObserver()) {
|
198 |
+
$this->getObserver()->onError($this, $exception);
|
199 |
+
}
|
200 |
+
|
201 |
throw $exception;
|
202 |
}
|
203 |
|
540 |
if (!($this->_retryer instanceOf Bronto_Util_Retryer_RetryerInterface)) {
|
541 |
$options = array_merge($this->_options['retryer'], $options);
|
542 |
switch ($options['type']) {
|
543 |
+
case 'custom':
|
544 |
+
if ($options['object']) {
|
545 |
+
$this->_retryer = $options['object'];
|
546 |
+
} else {
|
547 |
+
$this->_retryer = new $options['path'];
|
548 |
+
}
|
549 |
+
break;
|
550 |
case 'file':
|
551 |
$this->_retryer = new Bronto_Util_Retryer_FileRetryer($options);
|
552 |
break;
|
559 |
return $this->_retryer;
|
560 |
}
|
561 |
|
562 |
+
/**
|
563 |
+
* Gets the observer for the API client
|
564 |
+
*
|
565 |
+
* @return Bronto_Observer
|
566 |
+
*/
|
567 |
+
public function getObserver()
|
568 |
+
{
|
569 |
+
if (!$this->_observer) {
|
570 |
+
if (isset($this->_options['observer'])) {
|
571 |
+
$observer = $this->_options['observer'];
|
572 |
+
if (is_string($observer) && class_exists($observer)) {
|
573 |
+
$observer = new $observer();
|
574 |
+
}
|
575 |
+
if ($observer instanceOf Bronto_Observer) {
|
576 |
+
$this->_observer = $observer;
|
577 |
+
}
|
578 |
+
}
|
579 |
+
}
|
580 |
+
return $this->_observer;
|
581 |
+
}
|
582 |
+
|
583 |
/**
|
584 |
* @return Bronto_Util_Retryer_RetryerInterface
|
585 |
*/
|
lib/Bronto/Api/Login.php
CHANGED
@@ -28,14 +28,6 @@ class Bronto_Api_Login extends Bronto_Api_Object
|
|
28 |
*/
|
29 |
public function readAll(array $filter = array(), $pageNumber = 1)
|
30 |
{
|
31 |
-
if (empty($filter)) {
|
32 |
-
$filter = array(
|
33 |
-
'username' => array(
|
34 |
-
'operator' => 'StartsWith',
|
35 |
-
'value' => ''
|
36 |
-
),
|
37 |
-
);
|
38 |
-
}
|
39 |
|
40 |
$params = array();
|
41 |
$params['filter'] = $filter;
|
28 |
*/
|
29 |
public function readAll(array $filter = array(), $pageNumber = 1)
|
30 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
31 |
|
32 |
$params = array();
|
33 |
$params['filter'] = $filter;
|
lib/Bronto/Api/Object.php
CHANGED
@@ -350,7 +350,7 @@ abstract class Bronto_Api_Object
|
|
350 |
return $this->getApi()->throwException($exception);
|
351 |
} else {
|
352 |
// Attempt to get a new session token
|
353 |
-
sleep(5);
|
354 |
$this->getApi()->login();
|
355 |
// If using readDirection, we have to start over
|
356 |
if (isset($data['filter']['readDirection'])) {
|
350 |
return $this->getApi()->throwException($exception);
|
351 |
} else {
|
352 |
// Attempt to get a new session token
|
353 |
+
// sleep(5);
|
354 |
$this->getApi()->login();
|
355 |
// If using readDirection, we have to start over
|
356 |
if (isset($data['filter']['readDirection'])) {
|
lib/Bronto/Observer.php
ADDED
@@ -0,0 +1,35 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* @author Philip Cali <philip.cali@bronto.com>
|
5 |
+
* @copyright 2011-2014 Bronto Software, Inc.
|
6 |
+
* @license http://opensource.org/licenses/OSL-3.0 Open Software License v. 3.0 (OSL-3.0)
|
7 |
+
*/
|
8 |
+
interface Bronto_Observer
|
9 |
+
{
|
10 |
+
/**
|
11 |
+
* Observe when the Bronto_Api is about to perform the login
|
12 |
+
*
|
13 |
+
* @param Bronto_Api $api
|
14 |
+
* @return void
|
15 |
+
*/
|
16 |
+
public function onBeforeLogin($api);
|
17 |
+
|
18 |
+
/**
|
19 |
+
* Observe when the Bronto_Api client makes a login call
|
20 |
+
*
|
21 |
+
* @param Bronto_Api $api
|
22 |
+
* @param string $sessionId
|
23 |
+
* @return void
|
24 |
+
*/
|
25 |
+
public function onAfterLogin($api, $sessionId);
|
26 |
+
|
27 |
+
/**
|
28 |
+
* Observe when the Bronto_Api client throws an exception
|
29 |
+
*
|
30 |
+
* @param Bronto_Api $api
|
31 |
+
* @param string $sessionId
|
32 |
+
* @return void
|
33 |
+
*/
|
34 |
+
public function onError($api, $exception);
|
35 |
+
}
|
lib/Bronto/SoapClient.php
CHANGED
@@ -14,12 +14,13 @@ class Bronto_SoapClient extends SoapClient
|
|
14 |
*/
|
15 |
public function __doRequest($request, $location, $action, $version, $one_way = 0) {
|
16 |
$result = parent::__doRequest($request, $location, $action, $version);
|
17 |
-
|
18 |
// Only replace unicode characters if PCRE version is less than 8.30
|
19 |
-
|
|
|
|
|
20 |
$result = preg_replace('/[\x{0}-\x{8}\x{B}-\x{C}\x{E}-\x{1F}\x{D800}-\x{DFFF}]/u', '', $result);
|
21 |
}
|
22 |
-
|
23 |
return $result;
|
24 |
}
|
25 |
}
|
14 |
*/
|
15 |
public function __doRequest($request, $location, $action, $version, $one_way = 0) {
|
16 |
$result = parent::__doRequest($request, $location, $action, $version);
|
17 |
+
|
18 |
// Only replace unicode characters if PCRE version is less than 8.30
|
19 |
+
$parts = explode(' ', constant('PCRE_VERSION'));
|
20 |
+
$version = reset($parts);
|
21 |
+
if (version_compare($version, '8.30', '<')) {
|
22 |
$result = preg_replace('/[\x{0}-\x{8}\x{B}-\x{C}\x{E}-\x{1F}\x{D800}-\x{DFFF}]/u', '', $result);
|
23 |
}
|
|
|
24 |
return $result;
|
25 |
}
|
26 |
}
|
package.xml
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Bronto_Extension</name>
|
4 |
-
<version>2.2.
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://opensource.org/licenses/osl-3.0.php">OSL</license>
|
7 |
<channel>community</channel>
|
@@ -55,9 +55,9 @@
|
|
55 |
<p />Bronto Software provides a cloud-based marketing platform for retailers to drive revenue through their email, mobile and social campaigns. The platform is used by over 1000 organizations worldwide, including Party City, Armani Exchange, Timex, Samsonite and Gander Mountain. Bronto is a Gold Magento Industry Partner and the leading self-service email marketing provider to the Internet Retailer Top 1000. Bronto is headquartered in Durham, NC with an office in London, UK. For more information, visit <a href="http://bronto.com">bronto.com</a>.</p></description>
|
56 |
<notes><p />For installation and configuration instructions, as well as a full list of new features and known issues, please review the <a href="http://a.bron.to/magento">Implementation Guide</a>.</notes>
|
57 |
<authors><author><name>Chris Geiss</name><user>BrontoSoftware</user><email>chris.geiss@bronto.com</email></author></authors>
|
58 |
-
<date>2014-
|
59 |
-
<time>
|
60 |
-
<contents><target name="magecommunity"><dir name="Bronto"><dir name="Common"><dir name="Block"><dir name="Adminhtml"><dir name="System"><dir name="Config"><file name="About.php" hash="ceee3ef00dcfde90f82ce80a5119ed56"/><file name="Cron.php" hash="ff26632f20d0474d45ae0549634b4f7c"/><dir name="Form"><dir name="Field"><file name="Apitoken.php" hash="48fe102c7d74b7646de1e256f87cfe87"/><file name="Debug.php" hash="6b3e65c774d25184e88c43e7364d68b4"/><file name="Download.php" hash="6521c641550b7c747632fe25dd5982ed"/><file name="Hidden.php" hash="c514ae120d4dced7b92ea30a13f0e4ea"/><file name="Image.php" hash="9de445fac8d262bb023f123d1e4df9e5"/><file name="List.php" hash="907853b5009661b6b63a3a2947fc9c59"/><dir name="Support"><file name="Site.php" hash="9e0b6acae1053a90a7513a3791ee258c"/></dir><file name="Support.php" hash="f680904d05213ec4d43726b714cf2b69"/></dir><file name="Field.php" hash="932af08da6e8dc20e74e97894b1a2518"/><file name="Fieldset.php" hash="a3d41e7bfc09bd81942c6f32bc1d1782"/></dir><file name="Guide.php" hash="57d6e0dba8502c73dea375ab5dde90ff"/><file name="Support.php" hash="be33bc95f1f713205dd11fb59598e166"/><file name="Suppressed.php" hash="5adada4485cc74566c512c4dbad8c8a0"/></dir></dir><dir name="Widget"><dir name="Button"><file name="Abstract.php" hash="8c082611a7e4131c897ae9f2ed1d6dcf"/><file name="Debug.php" hash="e841017705d9b45a33e8475144ff0587"/><file name="Download.php" hash="78de702f642111af6feb725b4dd0bf08"/></dir></dir></dir><file name="Popup.php" hash="50c59a6fec4ca29059dbef3fd098ed7e"/></dir><dir name="Helper"><file name="Contact.php" hash="0b307ded3f9f80b03cc2db19a708b956"/><file name="Data.php" hash="df23f6c7098548b9cd691ab9a4906aec"/><file name="DataInterface.php" hash="d1691f590c315abd3178e769cf51fe2a"/><file name="Field.php" hash="7c208abd6c77057e1e400f6699be77df"/><file name="Message.php" hash="5484ec49ce8ab8fda12d9dc6c4c29c65"/><file name="Product.php" hash="f5a232304e59e0002dd8ee120c069165"/><file name="Salesrule.php" hash="32feae8429a684adcf8be798f42c16b8"/><file name="Support.php" hash="e047e410b5a1785ab33491504a80c2f7"/></dir><dir name="Model"><file name="Api.php" hash="2c859e611908ffb97029266ced7e0a00"/><file name="Archive.php" hash="b613e811bb673c72e6cec6770ed48fa5"/><dir name="Email"><dir name="Template"><file name="Filter.php" hash="e42e00829e0beb6c36a83d1d61c4364e"/><file name="Templatefilter.php" hash="c3acf3b4be3dcce490b1e07c0ab68e38"/></dir><file name="Template.php" hash="594cf887104378689cb8ce297a3e55fa"/></dir><file name="Keysentry.php" hash="ed1603a0954baaf716219d717e65f5b5"/><file name="Observer.php" hash="52f1b37530457d2280c2dd659a04aba9"/><dir name="Resource"><file name="Setup.php" hash="793a326c80af2420cd0511a9b65a6aa8"/></dir><file name="SoapClient.php" hash="040352adcc834e467caf0d953d1e14c5"/><dir name="System"><dir name="Config"><dir name="Backend"><file name="Cron.php" hash="1aa481a63198c64fafc90abe93166116"/><file name="Enable.php" hash="2b641958cfa59bd18992a8b92af99301"/><file name="Token.php" hash="1580a2ebd534155356515b0738a8cc77"/></dir><dir name="Source"><dir name="Contact"><file name="Status.php" hash="811a360bffa20b92d4a7bdea66a73168"/></dir><dir name="Cron"><file name="Frequency.php" hash="3ef5bda79548019f9a7cb2007c6792f5"/><file name="Minutes.php" hash="136df1bc4c4723efdbe144ed7a08806e"/></dir><file name="Field.php" hash="7a4660fbc812dca134b69b3cef76ea57"/><file name="Image.php" hash="acb902acd1f8573887ed9d5a00410467"/><file name="Limit.php" hash="8891685ce2b9c338c316d16a2ae69a8d"/><file name="List.php" hash="c9fd7581386bc33c09e0e6edfdead420"/><file name="Message.php" hash="01c7e9d489c1ed7f07f011d5c044805a"/><file name="Role.php" hash="5a55bad277b8723130035d79d6e5b98b"/><file name="Synclimit.php" hash="40a063f7d2ac5e1ad6a9bfa773b22863"/></dir></dir></dir></dir><dir name="controllers"><dir name="Adminhtml"><file name="DebugController.php" hash="2a1b69ab086340a58fd96278cea9e4c2"/><file name="GuidersController.php" hash="8eae4825b247191bd166224ac79ea655"/></dir><file name="LogController.php" hash="c7e65dec2943bb1b0575396290629fdc"/></dir><dir name="etc"><file name="adminhtml.xml" hash="e276d67ab1120f57b9e12b086dfc6939"/><file name="config.xml" hash="8c7302d9f345ee79e2143c9cbb2dedb8"/><file name="system.xml" hash="fc557d70d337b42c81377f2ac3f9dd07"/></dir><dir name="sql"><dir name="bronto_common_setup"><file name="mysql4-install-1.7.0.php" hash="c8459d26fdfea2fb9430e8829b3257e1"/></dir></dir></dir><dir name="Customer"><dir name="Block"><dir name="Adminhtml"><dir name="System"><dir name="Config"><file name="About.php" hash="bc63c93b5ff46fe2e6cb84a8c3249d12"/><file name="Cron.php" hash="159344d5cd5b0bb0a770e7fa4132a754"/><dir name="Form"><dir name="Field"><file name="Rewardpoints.php" hash="c1918f7478737dcfba6b543fa006a4bc"/><file name="Storecredit.php" hash="489625264fff9d5a37621f1b80203099"/></dir><dir name="Fieldset"><dir name="Attributes"><file name="Address.php" hash="7871298d7b7410d5202b436a1f536d7c"/><file name="Customer.php" hash="b0060f6c8c71ec321387aa8071a5c483"/></dir><file name="Attributes.php" hash="0a93bc89eea36b70908ef805a4627d93"/></dir></dir><file name="Suppressed.php" hash="a65d86c60db621d6d202cf64c02024f8"/></dir></dir><dir name="Widget"><dir name="Button"><file name="Reset.php" hash="3dedc6caa0aab8f110a97df371c2187a"/><file name="Run.php" hash="2b6332568132b633a1ee208e8b555b5a"/><file name="Sync.php" hash="be611c057f18b5da9e31927fc1788365"/></dir></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="c916f729596e33f3800db0af95eeee4d"/></dir><dir name="Model"><dir name="Mysql4"><dir name="Queue"><file name="Collection.php" hash="5564536b725040d0652cba23e13e546e"/></dir><file name="Queue.php" hash="5aff6d99b2f3bf24cd2db7d0586f96ab"/><file name="Setup.php" hash="cb74c44bd42f407925a800fe3996d7a3"/></dir><file name="Observer.php" hash="a24b2383b13049cc73ebe8ce37eeea9b"/><file name="Queue.php" hash="7851ed2790e205473cf848c63a4f13a8"/><dir name="Resource"><file name="Customer.php" hash="86f081e728c9d9f22e28018406d9f601"/></dir><dir name="System"><dir name="Config"><dir name="Backend"><file name="Brontofield.php" hash="8a765b6204672df4a8b15b547668a18b"/><file name="Cron.php" hash="44d12cea40d1342ad065bd4aad936193"/><file name="Newfield.php" hash="118d2622277e919e1f316f0713f5a2b7"/></dir></dir></dir></dir><dir name="controllers"><dir name="Adminhtml"><file name="CustomerController.php" hash="b6521bc4a03414027470ffef4afb736c"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="bb58fa0df1e07c2d88527fed1920ffc2"/><file name="config.xml" hash="e1a4673cdc939b1177c5ee2e8af678f6"/><file name="system.xml" hash="36c06af831397b32776ec1b96929dc0d"/></dir><dir name="sql"><dir name="bronto_customer_setup"><file name="mysql4-install-1.0.0.php" hash="871c225318588b2804a05751bce45e1f"/><file name="mysql4-install-1.0.3.php" hash="79785fb104491dcc4713e55495f24ba0"/><file name="mysql4-upgrade-1.0.0-1.0.1.php" hash="1c00e987c9a1b1da70ad035ccdef194b"/><file name="mysql4-upgrade-1.0.1-1.0.2.php" hash="144999a033695bd72601f1f0e10de5e3"/><file name="mysql4-upgrade-1.0.2-1.0.3.php" hash="6e3c57a1c9272aa4b2d7d051a24ed87f"/></dir></dir></dir><dir name="Email"><dir name="Block"><dir name="Adminhtml"><dir name="System"><dir name="Config"><file name="About.php" hash="ab71e0649d5af1fe64f665ada8895be9"/><file name="Settings.php" hash="59f952e7baeff59ef013a9f39572370e"/><dir name="Templates"><file name="Field.php" hash="0b4d17701e352b6c28cd5262d3cd8e0e"/><file name="Fieldset.php" hash="01fa6905eec117df32519c7e461e05f8"/><file name="Label.php" hash="fed0e19a1dde5592ba2efcc3aa6a2bba"/><file name="Sendtype.php" hash="d93029708ba002781e365cb0215022ce"/></dir><file name="Templates.php" hash="5811fe4b83f7dd5d6f0c7c78314cd31c"/></dir><dir name="Email"><dir name="Import"><file name="Edit.php" hash="32d4219613247ff59a59b5031284159c"/><dir name="Grid"><dir name="Renderer"><file name="Action.php" hash="e5f3203f05d2fbc577a3e7f3dd5d6341"/></dir></dir><file name="Grid.php" hash="40551a1c6c11247925d2557c8c3fafde"/></dir><file name="Import.php" hash="a2f378383faebc5c0fabcd46feb4d7e3"/><dir name="Log"><dir name="Grid"><dir name="Renderer"><file name="Customer.php" hash="ee83b754d1a91920a79918991aa76ca6"/><file name="Fields.php" hash="dc0d7cbd5065382ccf51ff3f84054563"/></dir></dir><file name="Grid.php" hash="591f4aefd4fa2f7b5f53653f0d7780a7"/></dir><file name="Log.php" hash="755439eace3c8e1f5ee3c657562c476d"/><dir name="Template"><dir name="Edit"><file name="Form.php" hash="47b8b4a1e40b262f7b1811549a177261"/></dir><file name="Edit.php" hash="434341b83714467f3ff904af3dad9462"/><dir name="Grid"><dir name="Renderer"><file name="Action.php" hash="543cf476631d073e4de5ec59f1faf5b5"/><file name="Storename.php" hash="c5111a20ed0b3aed0078cecb1ae3d739"/></dir></dir><file name="Grid.php" hash="da86503c8e244821b08d60a50dc8973a"/></dir><file name="Template.php" hash="438842fd68abaf060eb0d1da58f1a4d4"/></dir></dir></dir></dir><dir name="Helper"><file name="Contact.php" hash="60d8707e923f59ad7af130aa09557be0"/><file name="Data.php" hash="8abc5658f73a0f950fa5ea29a3d3bd00"/><file name="Field.php" hash="fc67415cbe73614fe0bbc29df7f93148"/><file name="Message.php" hash="7f5a80ce2a9a75324f8e5df9b3a318f4"/></dir><dir name="Model"><file name="Log.php" hash="1c9b060a801312c0b929806708a9ac1a"/><file name="Message.php" hash="02bf1f9bef1f4ce1909cc3d5c6331969"/><dir name="Mysql4"><dir name="Log"><file name="Collection.php" hash="0cc3245eea5df5ca8607fc4ca8aabf99"/></dir><file name="Log.php" hash="aef3718e6ea1de42152099aeb444782f"/><dir name="Message"><file name="Collection.php" hash="4ad21710a8a2c403e83dcf40ad6eda22"/></dir><file name="Message.php" hash="a9b3c7a226d91cc295c883dc3194129a"/><dir name="Template"><file name="Collection.php" hash="5883b37005fb3b13b35c8b4444af22e1"/></dir><file name="Template.php" hash="a5578e9f3b04d6876dde068a95caa2ef"/></dir><file name="Observer.php" hash="f906c3827a17d77d6d54d6d32557b507"/><dir name="Resource"><file name="Setup.php" hash="13613a00761323dcb331325cc991e0a5"/></dir><dir name="System"><dir name="Config"><dir name="Backend"><dir name="Templates"><file name="Field.php" hash="e6f28eb62a469792eb61ca1044aae764"/><file name="Sendtype.php" hash="18dadd39cdf47f6cdc95e168fe2012bc"/></dir><file name="Usebronto.php" hash="d9c1e9b77810c922b058d5f03f03b02e"/></dir><dir name="Source"><dir name="Email"><file name="Template.php" hash="82c55d7a5833b1de31e0ca92fcac9b11"/></dir><file name="Sendtype.php" hash="4cc496295bd5b4c2bf71eae9fd87f803"/></dir></dir></dir><dir name="Template"><file name="Import.php" hash="470f7276fefa8845abed6a98b74ce9e5"/><file name="Mailer.php" hash="b814a8f77ccfed075849c89cfb8be963"/></dir><file name="Template.php" hash="f13088f4294e01c9371c082f955b9608"/></dir><dir name="controllers"><dir name="Adminhtml"><dir name="System"><dir name="Email"><file name="LogController.php" hash="471e58f342857be6f023527c0a1d2981"/><file name="TemplateController.php" hash="8f0c04684a6f789b3af69ef22cc1bfb9"/></dir></dir></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="2343ec1b1ac91db90d522cd64e797aa6"/><file name="config.xml" hash="bf693e07df5a249c359157ad55ba0e11"/><file name="system.xml" hash="eed70edcf9317bbefa54606a35d73ca2"/></dir><dir name="sql"><dir name="bronto_email_setup"><file name="mysql4-install-1.0.0.php" hash="516265312ede986c1a35a19b9e5bbfea"/><file name="mysql4-install-1.0.2.php" hash="327ac219e947d608fbf9d3209dd03bab"/><file name="mysql4-install-1.0.5.php" hash="327ac219e947d608fbf9d3209dd03bab"/><file name="mysql4-install-1.0.8.php" hash="b572625c1380dfffe3b089275ac1dc7e"/><file name="mysql4-install-1.1.2.php" hash="2824a3ef8b9308e577c792398598e08c"/><file name="mysql4-install-1.1.7.php" hash="f49bc2913b1c2375499f21f2ac9727cd"/><file name="mysql4-install-1.1.8.php" hash="afa3c83fbfe45fc193a7eda4af6afacb"/><file name="mysql4-upgrade-1.0.0-1.0.2.php" hash="1f797c3f909d72219ef5d00017b10554"/><file name="mysql4-upgrade-1.0.2-1.0.5.php" hash="f2c83b65500d9df0fd10c2e6721f2bfe"/><file name="mysql4-upgrade-1.0.5-1.0.8.php" hash="cdbda7aa084e51b9b222c56e548462a6"/><file name="mysql4-upgrade-1.0.8-1.1.1.php" hash="f2c83b65500d9df0fd10c2e6721f2bfe"/><file name="mysql4-upgrade-1.1.1-1.1.2.php" hash="53cf783db35699cdc1fee692752fe8de"/><file name="mysql4-upgrade-1.1.2-1.1.7.php" hash="105868a6253471d3eeeea46c7af18aa9"/><file name="mysql4-upgrade-1.1.7-1.1.8.php" hash="0a4abaf8c787bf656e3163489eb5d29e"/></dir></dir></dir><dir name="Emailcapture"><dir name="Block"><file name="Emailcapture.php" hash="1c45388793ad609bd867c3a331bfb0c1"/></dir><dir name="Helper"><file name="Data.php" hash="4968f32e599a6fefe7b6876c486264ba"/></dir><dir name="Model"><dir name="Mysql4"><dir name="Queue"><file name="Collection.php" hash="104fe48ab81aa32769c95aae1b4e4988"/></dir><file name="Queue.php" hash="97ad38464595ed8a25aee9148d703e51"/></dir><file name="Observer.php" hash="041d29358d884b6a4444200d3a6e6b00"/><file name="Queue.php" hash="943bb05d8b22578118b0cbad5ab11d27"/></dir><dir name="controllers"><file name="IndexController.php" hash="2162c4ce867cba627a66ba4c1b549e55"/></dir><dir name="etc"><file name="config.xml" hash="953a38982ad1ad62107558218b78d121"/><file name="system.xml" hash="7f748cfe607ca50519e51f8a9739feef"/></dir><dir name="sql"><dir name="bronto_emailcapture_setup"><file name="mysql4-install-1.0.0.php" hash="ff0cda179382b958d6a566963faae637"/></dir></dir></dir><dir name="News"><dir name="Block"><dir name="Adminhtml"><file name="ItemRender.php" hash="147c1b256abc1a3f0ffc9018d8af713d"/><file name="Redirect.php" hash="0b6928d1529e41c4e2ccc3a415e53bb8"/><dir name="System"><dir name="Config"><file name="About.php" hash="757f06422ff513218a9dfad2ff91cd0d"/><file name="Form.php" hash="853d55a3d7d5e73e87ae09f87f4764b9"/><file name="General.php" hash="8a19eee62442466ff28f23aa782e68c5"/><file name="News.php" hash="4fdda30cd100f4d1b57a74cb38a9b371"/><file name="Releases.php" hash="30f7b23081c69219473326620e6ccd06"/></dir></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="79dd892352cda62c69ede789dcade61a"/></dir><dir name="Model"><file name="Item.php" hash="e3ce20de8f0422dcf00f389f5491e788"/><dir name="Mysql4"><dir name="Item"><file name="Collection.php" hash="6a79699559ffe750643c3f6da90d0280"/></dir><file name="Item.php" hash="bf9fae7b7e2241259dbdbe83623c3e6e"/></dir><file name="Observer.php" hash="236e8cec018d29f50c4aeff1f23f4880"/><dir name="Resource"><file name="Setup.php" hash="cb9d37d047d535b4928b279623283f30"/></dir></dir><dir name="controllers"><dir name="Adminhtml"><file name="AnnouncementController.php" hash="ca98e801e5503b04f4f60286e19edb2e"/></dir><file name="RouteController.php" hash="4819b7cab294e952238e2edb43a73c52"/></dir><dir name="etc"><file name="adminhtml.xml" hash="079a3f745967cc14906151cfcdc2c816"/><file name="config.xml" hash="590d56fb32cdb7460cbff22ab1bffa69"/><file name="system.xml" hash="ecd3a0edd0de407c85bb537a78c2380a"/></dir><dir name="sql"><dir name="bronto_news_setup"><file name="mysql4-install-1.0.0.php" hash="f574c4b2432334d0202d75ef71cb0006"/></dir></dir></dir><dir name="Newsletter"><dir name="Block"><dir name="Adminhtml"><dir name="System"><dir name="Config"><file name="About.php" hash="b5d17d62df37034cd48ea3022e546724"/><file name="Cron.php" hash="bd4c2cee5118bd9209606cfd749c770e"/><file name="Suppressed.php" hash="1d2e716ce0b0a76ea67a56d6c62f65df"/></dir></dir><dir name="Widget"><dir name="Button"><file name="Reset.php" hash="82ed841f4918675ed0419361f2b07b05"/><file name="Run.php" hash="21e4d1c9eb2c882b967c5de6def6a97b"/><file name="Sync.php" hash="89112c7b858e9031050bcba50527b4d7"/></dir></dir></dir><dir name="Checkout"><dir name="Onepage"><file name="Newsletter.php" hash="9f0a75670696375dbfdbbc8914e8d6ab"/></dir></dir></dir><dir name="Helper"><file name="Contact.php" hash="5d7b734ea79669d4d42e8d66fd986018"/><file name="Data.php" hash="38ef6f49f4e57cf65146df76ebddd5ac"/></dir><dir name="Model"><dir name="Mysql4"><dir name="Queue"><file name="Collection.php" hash="b9c6858b2045ad66b7c331afba125d19"/></dir><file name="Queue.php" hash="4cf426f02c1e2889b77be9b6a105c91b"/></dir><file name="Observer.php" hash="1fd1fcc8d61d9ac7089f8ce8594fc66c"/><file name="Queue.php" hash="a9ef5813d95abcd1ee89a0372a0cfeb8"/><dir name="System"><dir name="Config"><dir name="Backend"><file name="Cron.php" hash="282c40a155af7ea22f646e931fdb6732"/></dir></dir></dir></dir><dir name="controllers"><dir name="Adminhtml"><file name="NewsletterController.php" hash="8aa691c84ce01ec6c30643221dd7713b"/></dir><file name="IndexController.php" hash="ca4d3ed37230b73dc9cb81b1cbb39928"/></dir><dir name="etc"><file name="adminhtml.xml" hash="b685d64860bf37a09330bd9f89f5bc3d"/><file name="config.xml" hash="ff2bb522a2124872e3cdea777afb9b96"/><file name="system.xml" hash="cf624f602a0f3eaac66c3e404a093573"/></dir><dir name="sql"><dir name="bronto_newsletter_setup"><file name="mysql4-install-1.0.0.php" hash="0f21d5315bbc4c27d0d38f9cf8c99bf3"/><file name="mysql4-install-1.4.0.php" hash="4a779a923947af258688d01143a16362"/><file name="mysql4-install-1.4.4.php" hash="089b40f9419c2fd21af62df207327a20"/><file name="mysql4-install-1.4.5.php" hash="8e97902e5e83992e678ba6144ed130b5"/><file name="mysql4-install-1.4.6.php" hash="74d29bc9655aeafa381ba5dc5f53df69"/><file name="mysql4-upgrade-1.4.0-1.4.1.php" hash="7eeba27e7b5480c8b502c3805554e2de"/><file name="mysql4-upgrade-1.4.1-1.4.2.php" hash="32f724b99d88e037ade72c8a9f1e0da7"/><file name="mysql4-upgrade-1.4.2-1.4.3.php" hash="63c728bb0cd7fa83bb5536d4500548f4"/><file name="mysql4-upgrade-1.4.3-1.4.4.php" hash="4f08a427c7706ea0988bcdcca6072218"/><file name="mysql4-upgrade-1.4.4-1.4.5.php" hash="c49018730275134d72f0802e1bc4da47"/><file name="mysql4-upgrade-1.4.5-1.4.6.php" hash="7b7a87099cc90f86e9b7e179345afaaa"/></dir></dir></dir><dir name="Order"><dir name="Block"><dir name="Adminhtml"><dir name="Sales"><dir name="Order"><dir name="View"><dir name="Tab"><file name="Info.php" hash="4caacae5f31c84f898be5798cc85b7b7"/></dir></dir></dir></dir><dir name="System"><dir name="Config"><file name="About.php" hash="332c01d15a8b75f9add5988f35519135"/><file name="Cron.php" hash="ac79366d0bc9ad7ff74721d5b140e4ba"/><file name="Suppressed.php" hash="86af8a0b74f4f98e2a9b4d7ea08aa063"/></dir></dir><dir name="Widget"><dir name="Button"><file name="Reset.php" hash="006ed5b9bc5adbf127fb542b0938fdda"/><file name="Run.php" hash="700e3f9645a9e25e56ae1deb6764bf44"/><file name="Sync.php" hash="2ff1bf077cc56b3620fe87a494d7f770"/></dir></dir></dir><file name="Bta.php" hash="2ec920ce5a6ea57aff16c8d9cf89f7e9"/></dir><dir name="Helper"><file name="Data.php" hash="8f0310074a406ea0a71aff430bf54cad"/></dir><dir name="Model"><dir name="Mysql4"><dir name="Queue"><file name="Collection.php" hash="d041d29b798d10821e041c5b89fb5889"/></dir><file name="Queue.php" hash="2b0ba0993a43cc6856647684ac30add9"/><file name="Setup.php" hash="05b0a2d4806e712410479a3e7c709fd8"/></dir><file name="Observer.php" hash="a548f0af2674fa05a6d3a9b2a67482cb"/><dir name="Order"><file name="Observer.php" hash="5a05f37813b04968a2274098fdf8b1f7"/></dir><file name="Queue.php" hash="cfbafabe587cbd512a55c0c1b74dd461"/><dir name="Quote"><file name="Observer.php" hash="f7dba30d14388a0770c26750f382fa75"/></dir><dir name="System"><dir name="Config"><dir name="Backend"><file name="Cron.php" hash="9bc2a90d644af8334aa22b952132b08f"/></dir><dir name="Source"><file name="Description.php" hash="7f497c17388c360f239e2aa90d943b9c"/><file name="Price.php" hash="283cc883ded57664870d89b22b547b19"/></dir></dir></dir></dir><dir name="controllers"><dir name="Adminhtml"><file name="OrderController.php" hash="9029b7316cf28467e03525000af880ad"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="784d322d920c63e63bed37c50e1c04d1"/><file name="config.xml" hash="57a8d0e86c320403b17676cf9de2eaca"/><file name="system.xml" hash="5333f04e2f8371c8ab7710ff42bea238"/></dir><dir name="sql"><dir name="bronto_order_setup"><file name="mysql4-install-1.0.0.php" hash="4988c452cc0d367f34e9c33df0d4256d"/><file name="mysql4-install-1.1.8.php" hash="afd415c7bb5a81b18c6705293f3978e6"/><file name="mysql4-upgrade-1.0.0-1.1.6.php" hash="0c42c6e3539b0f07c76b4f2c582d110f"/><file name="mysql4-upgrade-1.1.6-1.1.7.php" hash="7c4d2c1feed28b964ea82373e625a11f"/><file name="mysql4-upgrade-1.1.7-1.1.8.php" hash="ae58d4271deb9c60e61214020d46e755"/></dir></dir></dir><dir name="Reminder"><dir name="Block"><dir name="Adminhtml"><dir name="Delivery"><dir name="Grid"><dir name="Renderer"><file name="Customer.php" hash="be1537b58943a2cc27982deb03ec9e39"/><file name="Fields.php" hash="04f0dc7c4a24769cfc68f1508e0d338b"/></dir></dir><file name="Grid.php" hash="472fa8302dae712fbf9a6b6f5ea80dd0"/></dir><file name="Delivery.php" hash="b0bd1dcede57f8dad8ba4416b26d3986"/><dir name="Promo"><file name="Notice.php" hash="437ce674b25c14e33e17e09a0d471176"/></dir><dir name="Reminder"><dir name="Edit"><file name="Form.php" hash="2db520c0f438affbf477801ddde7f9cf"/><dir name="Tab"><file name="Bronto.php" hash="3b49a4f78038b8ac6de5390c2a73151d"/><file name="Conditions.php" hash="71d7c0a13352ec3d5b19b6bc059238bb"/><file name="Customers.php" hash="955c3e21ccc4a6e165abd38410383422"/><file name="General.php" hash="10012f0027d5ecf28a24ea84c2410be0"/></dir><file name="Tabs.php" hash="106e44febc4b6a7a3928c5dec68d6123"/></dir><file name="Edit.php" hash="783ca6f21744c56da930fd44ddc6e3a5"/><file name="Grid.php" hash="c87a852ef998ea17af709c0221abd15d"/></dir><file name="Reminder.php" hash="a55e63b29f9cafd9053696f60ffe993f"/><dir name="System"><dir name="Config"><file name="About.php" hash="8380b5e750fe0f2b5b95407c99d2e195"/><file name="Cron.php" hash="84100d0bffc2e16d84bc24577ba9c6bf"/><file name="Settings.php" hash="5d0042b1b2ad5df43856c0a68d63b3b4"/></dir></dir><dir name="Widget"><dir name="Grid"><dir name="Column"><dir name="Renderer"><file name="Email.php" hash="bcc3abd5bbbb5e8f6e19454850d2e8dd"/><file name="Id.php" hash="c35c0feeac92dce912bb8e3ad2cc7e6e"/></dir></dir></dir></dir></dir></dir><dir name="Helper"><file name="Contact.php" hash="4b3e67cf3a0ce095ca454fe4513c6e89"/><file name="Data.php" hash="c14a1e11ca48b5e3946ed8a23bb68a8a"/><file name="Message.php" hash="b65f0a4095ab4671c57a26451b3cc524"/></dir><dir name="Model"><dir name="Condition"><file name="Abstract.php" hash="3e164c6f67c1ca26c0be533cd9fc1b0c"/><dir name="Combine"><file name="Abstract.php" hash="2a43ca00f8bc4ab36bc87654ad9c6191"/></dir></dir><file name="Delivery.php" hash="41c3912dc5b5cb28d828358c1e0f7bc4"/><dir name="Email"><file name="Message.php" hash="769eda570b37e8ca34610d9eff0c8992"/></dir><dir name="Mysql4"><dir name="Customer"><file name="Collection.php" hash="577bd12e2df9940fe551fe41c96133cf"/></dir><dir name="Delivery"><file name="Collection.php" hash="1247c3f58061d41f66ee6b9483c200ca"/></dir><file name="Delivery.php" hash="3639d2739b29734ba8aa8950e67e9621"/><dir name="Rule"><file name="Collection.php" hash="a99264c81d15780f305b02cde1564461"/></dir><file name="Rule.php" hash="9ab935ade0f74d53baad214ccfbeb670"/></dir><file name="Observer.php" hash="299bca8979d361a027fe4ac1598df2f4"/><dir name="Rule"><dir name="Condition"><dir name="Cart"><file name="Amount.php" hash="b1bd2bd9aabb863184461b0594dad9b0"/><file name="Attributes.php" hash="74cfde1032d8d75241f7522ddc12e11d"/><file name="Combine.php" hash="660f6842b8c1a5acff2c3b4f12fc73a9"/><file name="Couponcode.php" hash="84ef3ecb8bcd57412af80a0d137335bb"/><file name="Itemsquantity.php" hash="50eae47f28bf3660ee0684c9037f5bf8"/><file name="Sku.php" hash="12a7af32e16e21d2a2e4e157c469d1e5"/><file name="Storeview.php" hash="c2310efcb3060e91bf2aab73b0ac8ca9"/><file name="Subcombine.php" hash="c8ad5b2c46116793e2f2df17fe0862c0"/><file name="Subselection.php" hash="0142065f76b4e24ec75b6685eea82642"/><file name="Totalquantity.php" hash="8e492fb70a94549b8d6adbc50b2a4e50"/><file name="Virtual.php" hash="cd12a3218daf4a447b4fd49141101305"/></dir><file name="Cart.php" hash="8c259fbcb6e302e7b62bd9819d869b16"/><dir name="Combine"><file name="Root.php" hash="eb4b22b6554b507b61f3e6be30048b07"/></dir><file name="Combine.php" hash="2f15f1241aa71fd76bb511415c6882a3"/><dir name="Wishlist"><file name="Attributes.php" hash="0ecf162a2fc4225ce37de714da9e6210"/><file name="Combine.php" hash="279af17bec3eeb6a97243a93eb4e3f85"/><file name="Quantity.php" hash="8de8793029340cb8c813e0cf034f372d"/><file name="Sharing.php" hash="ad302122deb2065aa28b68748cfae492"/><file name="Storeview.php" hash="83716681ba30c6d4c48dada3a0973971"/><file name="Subcombine.php" hash="4804ad602e3cc622dbfcab4030dff1c2"/><file name="Subselection.php" hash="68d96f6943becdc728f2aa436a8ac4c7"/></dir><file name="Wishlist.php" hash="f5c474dd7b126d69a3e0f7000abd3a95"/></dir></dir><file name="Rule.php" hash="8912deab112d5789cd975b7907c0d4ea"/><dir name="System"><dir name="Config"><dir name="Backend"><file name="Allowsend.php" hash="61965e981ddd79976f0ee21b01e6a0ae"/><file name="Cron.php" hash="6e527885884985fca33236f40a7f3689"/></dir></dir></dir></dir><dir name="controllers"><dir name="Adminhtml"><file name="DeliveryController.php" hash="d4630eff20209e0d46b08a29b543979a"/><file name="RemindersController.php" hash="6cd60b0a9c33075640c5926d94a78405"/></dir><file name="LoadController.php" hash="16f4bf9c99a8e0bb0b369e75141f49b2"/></dir><dir name="etc"><file name="adminhtml.xml" hash="baaae901f8ff9d2ab12b0158ed5a4ca7"/><file name="config.xml" hash="47791bb04d1362ba39cd6ccff9eed0f7"/><file name="system.xml" hash="3304170025272a4d9cc96016230bc5af"/></dir><dir name="sql"><dir name="bronto_reminder_setup"><file name="mysql4-install-1.4.12.php" hash="eae3eb4a69de44df200c52001783a4f0"/><file name="mysql4-install-1.4.13.php" hash="12419b6117a9e0e10f565453feed8740"/><file name="mysql4-install-1.4.14.php" hash="be67c1c55e1781c652d0036984fd0866"/><file name="mysql4-install-1.4.15.php" hash="f2bc98906fc36bf0640b292851ab99e1"/><file name="mysql4-install-1.4.16.php" hash="e34c42b202a7435abe2fa46f01bde257"/><file name="mysql4-install-1.4.2.php" hash="07b5a7b8ef247def75617e92738f0950"/><file name="mysql4-upgrade-1.4.0-1.4.2.php" hash="fefa638ca0ed7c5bc80a1b67e27c8703"/><file name="mysql4-upgrade-1.4.10-1.4.11.php" hash="130a688eb03e4f476308d0d11c32141a"/><file name="mysql4-upgrade-1.4.11-1.4.12.php" hash="766c901369f06aaadc8ffde3befb4aaa"/><file name="mysql4-upgrade-1.4.12-1.4.13.php" hash="172b48942497efd2305eff260bc28d9c"/><file name="mysql4-upgrade-1.4.13-1.4.14.php" hash="3218dae864cac00ff74655160ad31663"/><file name="mysql4-upgrade-1.4.14-1.4.15.php" hash="2e842e4c18259590cdafd2139dd4eb7e"/><file name="mysql4-upgrade-1.4.15-1.4.16.php" hash="671f39e2f90faf1165d50b517be8e04f"/><file name="mysql4-upgrade-1.4.2-1.4.9.php" hash="4692060e7c938aea129c53619f0b3c19"/><file name="mysql4-upgrade-1.4.9-1.4.10.php" hash="9698883135211d54a3c711fead02c187"/></dir><dir name="reference"><file name="saveMatchedCustomers.sql" hash="c4f32ee8be31f7a652369c148271a6c7"/></dir></dir></dir><dir name="Reviews"><dir name="Block"><dir name="Adminhtml"><dir name="System"><dir name="Config"><file name="About.php" hash="b62835e11224c3e8cb7256715d145814"/></dir></dir></dir></dir><dir name="Helper"><file name="Contact.php" hash="a85da1e1cc10dd48ac88b84d91cb9a1d"/><file name="Data.php" hash="5a4232967f09bc3c4360ff110281c0e8"/><file name="Message.php" hash="df3015f886b4dd283d280cf26ee69cc7"/></dir><dir name="Model"><dir name="Mysql4"><dir name="Queue"><file name="Collection.php" hash="c36aecae4ebb1de05835be6c02cd6875"/></dir><file name="Queue.php" hash="52ecc7632d642c9ee3fec1141aba9c30"/></dir><file name="Observer.php" hash="c624fb24d09a693d37cb8184255707f0"/><file name="Queue.php" hash="45aea4c54a465d5ea9110cdd853de23b"/><dir name="System"><dir name="Config"><dir name="Source"><file name="Message.php" hash="9a5e15326017cbebd7b59b5c80693685"/><file name="Orderstatus.php" hash="8b1d5d0ede3627d212595be7fa93494e"/></dir></dir></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="35bed0690cd9f58063c0c5e03e057469"/><file name="config.xml" hash="77fe8f2486ae74b11ac75f8101a8a554"/><file name="system.xml" hash="19a1e6fabfab61be5ddf74523624b94a"/></dir><dir name="sql"><dir name="bronto_reviews_setup"><file name="mysql4-install-0.0.1.php" hash="7c405d3819f5c79ec405dc372ee38dc5"/></dir></dir></dir><dir name="Verify"><dir name="Block"><dir name="Adminhtml"><dir name="System"><dir name="Config"><file name="About.php" hash="b50a08cd24985483cad82c76305da5ce"/><dir name="Advanced"><file name="Observersearch.php" hash="0351378eb6fbfa8e9b1cde55a9b589e5"/></dir><file name="Conflictchecker.php" hash="cf1736b689d1ef2b3f0b7d7d84b703ba"/><dir name="Form"><dir name="Field"><file name="Apitoken.php" hash="cb84fee5b4e18ca0092f385d6ede6711"/><file name="Button.php" hash="7041c0e923d9929796597160679bc94c"/><file name="Classpath.php" hash="c9c60b09c180960dd107d74f79b63edc"/><file name="Conflict.php" hash="3797f7f88329ecf4d5c9e3e48c9c89e5"/><file name="Events.php" hash="c88df55f9105d0aa5a1574bc37c5a8f8"/><file name="Index.php" hash="612cf825df2f10c0d4d00ac54f413aba"/><file name="Roundtrip.php" hash="4b84fb21a59f5939ab7361dcc816ce1d"/></dir><file name="Magecron.php" hash="1de2ba16fe022444b778648cd4583569"/><file name="Permission.php" hash="e5185de6bc1976ee7497956cc9162a17"/></dir><file name="Installs.php" hash="4b021d23f10faaeb7801b424a7325180"/><file name="Permissionchecker.php" hash="6f0be4f5594afe1f6924b839db582180"/></dir></dir><dir name="Widget"><dir name="Button"><file name="Classpath.php" hash="1687def566fccc786c263d94b4c9c9b5"/><file name="Conflict.php" hash="473cda5cc65b9302efb3618c3b5af973"/><file name="Events.php" hash="3da5bc0026613dfd921a25a942fb3d7c"/><file name="Permissions.php" hash="b89e87e9b6848cde87a4f6343b3feb1a"/><file name="Runroundtrip.php" hash="5a98f930b382a7a0c01f3b346def4955"/><file name="Runtoken.php" hash="63a721c0a25bdbd58be941ba7c5d21c8"/></dir></dir></dir><file name="Conflictprinter.php" hash="05a32eca413a0eda87bcdb7bd0661642"/><file name="Permissionprinter.php" hash="8925da12d1e8dc5f180327dd94d18310"/></dir><dir name="Helper"><file name="Apitoken.php" hash="bc1f30a551a958011fbba91310cab77d"/><file name="Conflictchecker.php" hash="55e0aacf4cd6e9d2b4d52ebe21fe7850"/><file name="Data.php" hash="f09ca54528532b599f19be7a4c3e611a"/><file name="Permissionchecker.php" hash="da5fc3a69e6477299084d210aaaad6b7"/><file name="Roundtrip.php" hash="b5566d978e4e24cf06bee83ab92772fc"/></dir><dir name="Model"><dir name="Config"><file name="Blocks.php" hash="0000df779f3e1fb60350b14b8a6185e3"/><file name="Checker.php" hash="a38555d682b302967410b73ebab04b4f"/><file name="ConfigAbstract.php" hash="79024697562751ff46c939d9d680fc86"/><file name="ConfigInterface.php" hash="45cecfde48e4ef0657a6418019f02e4a"/><file name="Datastore.php" hash="fb5ea494075ce81380d1447c07fa052c"/><file name="Helpers.php" hash="1dc143d542d3fd85ccff785f913556f1"/><file name="Models.php" hash="3062f1f3c4950d965054afe6b75b4b0f"/><file name="Printer.php" hash="dfd6bfdcc94a1afb83ae6c3599abb21c"/><file name="Resources.php" hash="24bbf7de88b25250a81a2d7380d5baa2"/></dir><dir name="Contact"><file name="Builder.php" hash="df3bc1eb448a6f6dabce9506b6341580"/></dir><dir name="Core"><dir name="Config"><file name="Base.php" hash="c11b6cbaf1802d3c6ab58853b468f5d7"/><file name="Element.php" hash="8a7c9221a95c1317a8ae166e692a4ee0"/></dir><file name="Config.php" hash="4afa2c4a35fd81b282aad0d873c5700e"/></dir><dir name="Lib"><dir name="Varien"><dir name="Simplexml"><file name="Config.php" hash="076958ed612323869d2437872744ed2a"/><file name="Element.php" hash="a8c28fd3b6b00ad689d4850e79441dec"/></dir></dir></dir><dir name="Mysql4"><dir name="Core"><file name="Config.php" hash="3b8fb36a66a675c4d12926bceadb4ea5"/></dir></dir><dir name="Path"><dir name="Locator"><file name="Array.php" hash="42fd6c7004b0f02f954956563edde9a0"/><file name="Factory.php" hash="46007808ba897fa6816fb7771a2b18dd"/><file name="IteratorAbstract.php" hash="a0b728053dc63e73edc8231fd169cebc"/><file name="LocatorInterface.php" hash="b775ce0d189ef276c9bbeade7da67b4f"/><file name="Stack.php" hash="328481c9d963f653a95f333fb440bea5"/></dir></dir><dir name="Resource"><dir name="Core"><file name="Config.php" hash="aa2fb8c4fb153e742c690ab8bc8b5a75"/></dir><dir name="Db"><file name="Abstract.php" hash="d668c24c90f80bc197c83eb0a3e10aa6"/></dir></dir><file name="Roundtrip.php" hash="437aa07b0f001bb29b20e9dda2ae81f8"/><dir name="System"><dir name="Config"><dir name="Backend"><file name="Magecron.php" hash="2745874b81ae4235aa885f78c2076561"/></dir><dir name="Source"><file name="Classtypes.php" hash="772cab11a7470a2dd68ece3688c68d6a"/><file name="Wsdlcache.php" hash="b7d9c1c4d271c03a7486fc86eec3b6d9"/></dir></dir></dir><dir name="Validator"><file name="Checker.php" hash="35799249fcc93b31ff12da539cfb0d84"/><file name="Directory.php" hash="aa05ae40ad0b7aaffffaa6063bd8561e"/><file name="File.php" hash="c29c1cd2140186dc67c5e62064b79c0f"/><dir name="Filter"><file name="PatternIterator.php" hash="c129a6ee0fb4a45ff52644da2c0abfa1"/></dir><file name="Group.php" hash="59ad6dd4232ee113e1fe8161a82148ba"/><file name="Owner.php" hash="69e1c54dca88532208ce1f35f4491d99"/><file name="Printer.php" hash="23a00ec415b8665e5457ac09939e2ab2"/><file name="ValidatorAbstract.php" hash="d043c743309f5d64640698953269ece6"/><file name="ValidatorInterface.php" hash="02f543af08eda65263f4b005f3b3bdaf"/></dir></dir><dir name="controllers"><dir name="Adminhtml"><file name="AdvancedController.php" hash="0942ed5d83442e97af40d4572c3e21f8"/><file name="ApitokenController.php" hash="f804594b22260cb597cc0e5cfe633093"/><file name="ConflictcheckerController.php" hash="1d23621c640eecf2a813121cfc23850b"/><file name="PermissioncheckerController.php" hash="2e254bd755cd9d05d7eb6865a2ffb0e7"/><file name="RoundtripController.php" hash="efb601f3ceca89885d031f06218b2a4d"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="d7aa2c1c8fa26ad3ab910940abd9199e"/><file name="config.xml" hash="ca6c623ab513da25d67629ddb513a0ad"/><file name="system.xml" hash="ac4c532e9081ad30b807857c7fcd874c"/></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Bronto_All.xml" hash="5a9c06b6313882589765b9bcf0402bbb"/><file name="Bronto_Customer.xml" hash="a11c20f008ee2eae14baa3b549d5adee"/><file name="Bronto_Email.xml" hash="b7cdca4b15753edcefe8b9e0abb780bd"/><file name="Bronto_Newsletter.xml" hash="2115c5225e02ab5d4e56749cc5eff6ad"/><file name="Bronto_Order.xml" hash="63f1537add6088417945657bec98ffe9"/><file name="Bronto_Reminder.xml" hash="08503ab78994178b822ef9b0add243f9"/><file name="Bronto_Verify.xml" hash="ad72ea2ebfd99dbe2773b2735d0ec973"/><file name="Bronto_News.xml" hash="3496cd7578991889909fbd8daa170d2d"/><file name="Bronto_Reviews.xml" hash="23a398c055d062c4a5e19e72a0c2df95"/><file name="Bronto_Emailcapture.xml" hash="98b59bbf388d6c715f345b8906bd2fa1"/></dir></target><target name="magelib"><dir name="Bronto"><dir name="Api"><dir name="Account"><file name="Exception.php" hash="1a851457b2a032fb6d149fe9ef111c57"/><file name="Row.php" hash="3ab1e97019ef87bcd464eeaabf652886"/></dir><file name="Account.php" hash="33b9ba8867fe69135391c26f98b5852a"/><dir name="Activity"><file name="Exception.php" hash="3ac1f2caea6465931cbf927f1033ec06"/><file name="Row.php" hash="de166130c57670bf486a783a4501e2d4"/></dir><file name="Activity.php" hash="f5f48488e40507bc108b35c599e4e5a2"/><dir name="ApiToken"><file name="Exception.php" hash="e06d0a4c9469da7333e6a596e9c37c5d"/><file name="Row.php" hash="f3742811cec1cbf0be583296b617dfbd"/></dir><file name="ApiToken.php" hash="65bbd18974bbbf620dc2df23bdeb4469"/><dir name="Contact"><file name="Exception.php" hash="809bdce6db3bb9c72a3173bb08c1b19e"/><file name="Row.php" hash="2e360d131c2abe19e154b5f3795a58f0"/></dir><file name="Contact.php" hash="55bab8398154e96db6b0ca3ed88718e0"/><dir name="ContentTag"><file name="Exception.php" hash="5a8bc58af480a574e8061c62ad5590b4"/><file name="Row.php" hash="e470d8bcd686d42a886e59d5184b5eed"/></dir><file name="ContentTag.php" hash="14f1cbefe1027338d28db301a1c2df3d"/><dir name="Conversion"><file name="Exception.php" hash="73dd991a663b99050428f54fc13fb433"/><file name="Row.php" hash="115d01ea0e0e6ade42fcab76dff71c35"/></dir><file name="Conversion.php" hash="60ec52dcfeda92294d1ab10bb29a486a"/><dir name="Delivery"><file name="Exception.php" hash="003dbb49ea3be65fe35dfa9b7ec743c5"/><file name="Recipient.php" hash="562bdc8d86b92ec293a338fdd7bf928a"/><file name="Row.php" hash="9c6149e74a305f62b9806df5a20e6a00"/></dir><file name="Delivery.php" hash="668dc6493cefe960c7dc8fe1fe87bf08"/><dir name="DeliveryGroup"><file name="Exception.php" hash="9291b2adb576a6781a0d624cc3288453"/><file name="Row.php" hash="29adb1f866cf1d24ef0abac19f95fbd0"/></dir><file name="DeliveryGroup.php" hash="7dd295b65f22e65dff3bf45c4336e985"/><file name="Exception.php" hash="bacb7c782ef7f612edaf3d39c20118ef"/><dir name="Field"><file name="Exception.php" hash="db651b9fa4b5161e3a32af49cc12cc64"/><file name="Predefined.php" hash="15fadb32175098d9ded60550d1748a4a"/><file name="Row.php" hash="6871d05f399a8a9dfa0742952eaa6481"/><file name="TypeGuesser.php" hash="1027ea97675a16cc964aa0d8ba63e642"/></dir><file name="Field.php" hash="32d5876335ec815acb50d3b4e7bf3ccd"/><dir name="List"><file name="Exception.php" hash="0f964fac998c89a0d4d515979bd81b98"/><file name="Row.php" hash="6516df43a1a94beee7b57fae71c27134"/></dir><file name="List.php" hash="ef240fe5e1422479a83291ad30b468ac"/><dir name="Login"><file name="ContactInformation.php" hash="bc1ce7f57c67fa21cd0881d0384a1cac"/><file name="Exception.php" hash="fff7546235b416b7008a9e4bd646fc19"/><file name="Row.php" hash="578553fcbf1941d0eb5890614c57ae91"/></dir><file name="Login.php" hash="a663864b51795799ff1a61528f380c80"/><dir name="Message"><file name="Exception.php" hash="755f7f14cdb234931708968ac0bad4a4"/><file name="Row.php" hash="5732b5550c8c6444790f2f20e626ff08"/></dir><file name="Message.php" hash="cc3c9939757371ad7fd2d297df394621"/><dir name="MessageRule"><file name="Exception.php" hash="b0398ee96ed70c483f38b50f305e82a8"/><file name="Row.php" hash="8e7532184ee265a927a195ac36e5a518"/></dir><file name="MessageRule.php" hash="ae1b3f16683656066a83bcf9f2863710"/><file name="Object.php" hash="19e3a4bcfd9031fa2c576f9c7f2cd27e"/><dir name="Order"><file name="Exception.php" hash="8312e1a1ab46bcf88b72983bb11a6493"/><file name="Product.php" hash="3785f2f460fec6c18c6164176de52449"/><file name="Row.php" hash="1400de022188806bb94e98544c054ef6"/></dir><file name="Order.php" hash="ad690b37bc577879020d10e5ac70ef3d"/><dir name="Row"><file name="Exception.php" hash="4c1a45512e0912644f94a88d4298d3a9"/></dir><file name="Row.php" hash="259418b11987939378747a9c46fae1ae"/><dir name="Rowset"><file name="Exception.php" hash="b5202ed6f61bfe06b90f73c03ca28ffa"/><file name="Iterator.php" hash="9ea7a244b83e7b9318bfe8ed371a149f"/></dir><file name="Rowset.php" hash="3f40382933e2f392b6320fd79db720cd"/><dir name="Segment"><file name="Exception.php" hash="bd5c2302ef222ff55981cc38477a9310"/><file name="Row.php" hash="b840493b8b2c3cb6686de0e5bedfa2ba"/></dir><file name="Segment.php" hash="0cf99babff6169afa427f302c76023dd"/></dir><file name="Api.php" hash="b3e620a235da149281430a92eb2a1a3c"/><file name="SoapClient.php" hash="c9e56dc7f88d71cfbb98b3476bad5ead"/><dir name="Util"><file name="Colors.php" hash="14313213b3a70c79a56c574523b9b90b"/><file name="CountryCodes.php" hash="4efb9c354d29a901368c46aab40f79d4"/><dir name="Retryer"><file name="FileRetryer.php" hash="bdc72ace54ace32081115442d28cb972"/><file name="RetryerException.php" hash="54b70d7abbc32b55649a193e8e70dcb5"/><file name="RetryerInterface.php" hash="cc57d5a02a55811a13a31ed9beff126f"/></dir><file name="Uuid.php" hash="ba62bdec6488ccb621e0bfd726c6107a"/></dir></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="base"><dir name="default"><dir name="bronto"><file name="bronto.css" hash="ebc2f1ade554e3cad4bf0b091ff674d1"/><file name="cron.css" hash="90af6378226e13e17b7329132d41e0e7"/><dir name="images"><file name="BrontoGuide.png" hash="be2bb3605cc5f1899ad996fcd2ceae84"/><file name="InstallStatusDisabled.png" hash="5cf8d7dd8ed623f8b38e6ea3ed89861a"/><file name="InstallStatusEnabled.png" hash="11ea6d1f0ba319b62ed1728e9b747108"/><file name="InstallStatusError.png" hash="91fdd0af3ffd20d0b8a77645bb9cfcdc"/><file name="ajax-loader-tr.gif" hash="1ae32bc8232ff2527c627e5b38eb319a"/><file name="bg_notifications.gif" hash="df73b8aa7e48bb56e0a644245aa3683f"/><file name="bronto-mini-off.png" hash="af2c6a5434604db0bb3a2cc4a51b5c77"/><file name="bronto-mini.png" hash="7989c68c0e83b7b04af308780aa82259"/><file name="bronto_contact-mini.png" hash="e221b304ad42cba129a9dcf17ce5180e"/><file name="bronto_contact_import-mini.png" hash="a9e0904f7219be45fd1ed88c5b9a1650"/><file name="bronto_general-mini.png" hash="aca50d84fe324abbb36ff2853d9cad01"/><file name="bronto_help.png" hash="d0ed63d7c68e8b52583ce428b3846afc"/><file name="bronto_news-mini.png" hash="bb8b3beb16c10d8b38ddb11f3f4347e8"/><file name="bronto_newsletter-mini.png" hash="9c45a6dd689ad758cf927cb381621b35"/><file name="bronto_order_import-mini.png" hash="a2b13488fccfdd5b2194843800abadda"/><file name="bronto_reminders-mini.png" hash="c85bafdc82718769c8b801fd64e7bd72"/><file name="guide.png" hash="10c880d9e40f1283f99e02ce2d025a4f"/><file name="logo.png" hash="3b7c4cb9faf220091a5fbae3c7f87afa"/><file name="message_approved.gif" hash="465a056a3ba3d94367f51c3c0b751391"/><file name="message_not_approved.gif" hash="e4f28607f075a105e53fa3113d84bd26"/><file name="section_logo.png" hash="98f2570d14580cee2c6cf66cca540b39"/><file name="site_name.png" hash="fb2cc4e1e00cdc95a94c04fccfa5e1b3"/><file name="support.png" hash="0910e2eb718379d037ead6e0af9c4855"/></dir><dir name="js"><dir name="guider"><file name="README.html" hash="be17cdbc961dc921944cef4e7daa33c3"/><file name="README.md" hash="1c11ec7951035fe0611edded566901a0"/><file name="changelog.txt" hash="4c107fe228a620f6f3118b128e62c0b5"/><file name="clock.gif" hash="12aa3f72e722ac8e5eeb68823024278f"/><file name="component.json" hash="05fe7fcf63c00abd58efa072baa8248f"/><file name="guiders.css" hash="a6df4a6e2d4f3075e29841a6844ee30b"/><file name="guiders.jquery.json" hash="261d2b3a2d3a21e49a0153f0c8f2c3e9"/><file name="guiders.js" hash="42b1675f9d1a93b89d62e97f2db895bb"/><file name="guiders_arrows.png" hash="757812709656e9592d9d724a63624d0d"/><file name="guiders_x_button.jpg" hash="2af6c2b68534a8b2c48d0ddc14a5b801"/><file name="jquery.min.js" hash="0652da382b6fceb033dfe2b6c06d4d11"/><file name="promo_gmail.png" hash="4837435633204a9001b88c2d8ef451ed"/></dir><file name="jquery-1.10.2.js" hash="91515770ce8c55de23b306444d8ea998"/><file name="jquery-1.10.2.min.js" hash="628072e7212db1e8cdacb22b21752cda"/><file name="jquery-1.10.2.min.map" hash="6c3ccfc221d36777d383b6e04d0b8af9"/><file name="jquery-noconflict.js" hash="3179f2255b046d5f2e9a71e365287bef"/></dir><file name="news.css" hash="84d2866b08b706164c6e545767ff331a"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="template"><dir name="bronto"><dir name="common"><file name="popup.phtml" hash="d81fa7237b4fb63fcc970e73d71a6cc6"/></dir><dir name="emailcapture"><file name="js.phtml" hash="d7920693b4aefb498610d65dbebca42a"/></dir><dir name="newsletter"><file name="checkbox.phtml" hash="a19c0ff807258ffe398704fde325cfab"/><file name="js.phtml" hash="dc11829ac113c50e93bdc08580998af0"/></dir><dir name="order"><file name="js.phtml" hash="e398cfbfe9df41feeadb251216422cd9"/></dir></dir></dir><dir name="layout"><dir name="bronto"><file name="common.xml" hash="f1e7ee067163e84f2e3bfc5474b3647d"/><file name="emailcapture.xml" hash="b5d3b0efc5daffb5fa66561f690013d0"/><file name="newsletter.xml" hash="b7d4c9b1fb4fabb4255c6df64e98d332"/><file name="order.xml" hash="fba740927a514649988b16e8f936072b"/></dir></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="bronto"><dir name="common"><file name="about.phtml" hash="92b23a99706cca95566729e85a560f5d"/><file name="cron.phtml" hash="d786fe7dada0937965a5b8993f83bb6b"/><file name="guide.phtml" hash="07bcf3ad2e6a9136888bbf4a8bf0b51d"/><file name="guiders.phtml" hash="790ac5e5f8df13753db5ac3e68d08d76"/><file name="suppressed.phtml" hash="07fd355b58dd1c9ee074c7fb132545e2"/></dir><dir name="customer"><file name="guide.phtml" hash="14e9b74f62bde430a6df96cf04ee94dc"/></dir><dir name="email"><file name="guide.phtml" hash="c8fe9f3cadf5e50d6f0e69979462c407"/><dir name="template"><file name="edit.phtml" hash="802ef394d1943f18d33d39d0b85dcc3d"/><file name="list.phtml" hash="e9eb7ffc48f9d17a21917d86ff18b0fc"/></dir></dir><dir name="news"><file name="guide.phtml" hash="19026e62d49476371edc4f9e7f68d2c1"/><file name="item.phtml" hash="7146fcc10eeb0bdc33a78ea8fe060f74"/></dir><dir name="newsletter"><file name="guide.phtml" hash="58cb7d63937a756afd939c0c69edeccb"/></dir><dir name="order"><file name="guide.phtml" hash="831ff327cf49d198bec62ad968587593"/></dir><dir name="popup"><file name="guide.phtml" hash="6bd6240f1402a03dd0d5022b8c39b3ab"/></dir><dir name="reminder"><dir name="grid"><file name="container.phtml" hash="28518ad2522f1b213102eb52071ef247"/></dir><file name="guide.phtml" hash="db033c357b5e335b6d65a44fa78c7c7e"/></dir><dir name="reviews"><file name="guide.phtml" hash="caad8c25594859c554a1fa1e505c92f0"/></dir><dir name="verify"><dir name="advanced"><file name="observer.phtml" hash="775deb643169f76f72793873a258eac1"/></dir><file name="advanced.phtml" hash="8479f4762de8943de234407bbc80b679"/><dir name="conflictchecker"><file name="errors.phtml" hash="91adf7e31ce9ec1ae06c18adb489bf54"/></dir><file name="guide.phtml" hash="92c6c4766017cd2e48b1c5e33d85ef17"/><file name="installs.phtml" hash="34b6bd602043376f8c17ef7744a27537"/><dir name="permissionchecker"><file name="button.phtml" hash="0a98a58dcb6d28d768e83556e6e690bc"/><file name="errors.phtml" hash="6da7357831323392e3badcb1cc8268aa"/><file name="index.phtml" hash="628a80e9245642cb92cc75a6dd07d1d7"/></dir></dir></dir></dir><dir name="layout"><dir name="bronto"><file name="common.xml" hash="14d4b6687fbf5fdc1cb2a5ca20ea9f2c"/><file name="email.xml" hash="be77c906770a0d818898a910b03cbe4f"/><file name="news.xml" hash="96d679b735d551a3e83fb71bfe2a7fca"/><file name="reminder.xml" hash="07186394676c6db016d00bdee53e8394"/><file name="verify.xml" hash="e5676df09f0a79bdedc314e2bfdb4b59"/></dir></dir></dir></dir></dir></target><target name="mage"><dir name="shell"><dir name="bronto"><file name="cron.php" hash="7f43b68e22803f8becfa58abbefaaa82"/><file name="fix.php" hash="b0f8760b2f562263240a3b9aec35d5d8"/></dir></dir></target></contents>
|
61 |
<compatible/>
|
62 |
<dependencies><required><php><min>5.2.13</min><max>6.0.0</max></php><extension><name>soap</name><min></min><max></max></extension><extension><name>openssl</name><min></min><max></max></extension></required></dependencies>
|
63 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Bronto_Extension</name>
|
4 |
+
<version>2.2.1</version>
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://opensource.org/licenses/osl-3.0.php">OSL</license>
|
7 |
<channel>community</channel>
|
55 |
<p />Bronto Software provides a cloud-based marketing platform for retailers to drive revenue through their email, mobile and social campaigns. The platform is used by over 1000 organizations worldwide, including Party City, Armani Exchange, Timex, Samsonite and Gander Mountain. Bronto is a Gold Magento Industry Partner and the leading self-service email marketing provider to the Internet Retailer Top 1000. Bronto is headquartered in Durham, NC with an office in London, UK. For more information, visit <a href="http://bronto.com">bronto.com</a>.</p></description>
|
56 |
<notes><p />For installation and configuration instructions, as well as a full list of new features and known issues, please review the <a href="http://a.bron.to/magento">Implementation Guide</a>.</notes>
|
57 |
<authors><author><name>Chris Geiss</name><user>BrontoSoftware</user><email>chris.geiss@bronto.com</email></author></authors>
|
58 |
+
<date>2014-02-11</date>
|
59 |
+
<time>20:49:54</time>
|
60 |
+
<contents><target name="magecommunity"><dir name="Bronto"><dir name="Common"><dir name="Block"><dir name="Adminhtml"><dir name="System"><dir name="Config"><file name="About.php" hash="ceee3ef00dcfde90f82ce80a5119ed56"/><dir name="Cron"><file name="Error.php" hash="ccaf02afd320c2a60b271bcf728c723a"/></dir><file name="Cron.php" hash="ff26632f20d0474d45ae0549634b4f7c"/><dir name="Form"><dir name="Field"><file name="Apitoken.php" hash="48fe102c7d74b7646de1e256f87cfe87"/><file name="Debug.php" hash="6b3e65c774d25184e88c43e7364d68b4"/><file name="Download.php" hash="6521c641550b7c747632fe25dd5982ed"/><file name="Hidden.php" hash="c514ae120d4dced7b92ea30a13f0e4ea"/><file name="Image.php" hash="9de445fac8d262bb023f123d1e4df9e5"/><file name="List.php" hash="907853b5009661b6b63a3a2947fc9c59"/><dir name="Support"><file name="Site.php" hash="9e0b6acae1053a90a7513a3791ee258c"/></dir><file name="Support.php" hash="f680904d05213ec4d43726b714cf2b69"/></dir><file name="Field.php" hash="932af08da6e8dc20e74e97894b1a2518"/><file name="Fieldset.php" hash="a3d41e7bfc09bd81942c6f32bc1d1782"/></dir><file name="Guide.php" hash="3ad72b377da538047e5efedae5dd31ef"/><file name="Support.php" hash="be33bc95f1f713205dd11fb59598e166"/><file name="Suppressed.php" hash="5adada4485cc74566c512c4dbad8c8a0"/></dir></dir><dir name="Widget"><dir name="Button"><file name="Abstract.php" hash="8c082611a7e4131c897ae9f2ed1d6dcf"/><file name="Debug.php" hash="e841017705d9b45a33e8475144ff0587"/><file name="Download.php" hash="78de702f642111af6feb725b4dd0bf08"/></dir></dir></dir><file name="Popup.php" hash="50c59a6fec4ca29059dbef3fd098ed7e"/></dir><dir name="Helper"><file name="Api.php" hash="325c6738308ad46fda1674c2e2f2f76c"/><file name="Contact.php" hash="0b307ded3f9f80b03cc2db19a708b956"/><file name="Data.php" hash="8afa1fe93d845747250c576baa402ec5"/><file name="DataInterface.php" hash="d1691f590c315abd3178e769cf51fe2a"/><file name="Field.php" hash="7c208abd6c77057e1e400f6699be77df"/><file name="Message.php" hash="5484ec49ce8ab8fda12d9dc6c4c29c65"/><file name="Product.php" hash="11775a052258f97fc8456d4fef981c76"/><file name="Salesrule.php" hash="32feae8429a684adcf8be798f42c16b8"/><file name="Support.php" hash="c20c3e73c23a70cdaebb61815e2ce33e"/></dir><dir name="Model"><file name="Api.php" hash="72817e825da18d2c88800385cd3c6eca"/><file name="Archive.php" hash="b613e811bb673c72e6cec6770ed48fa5"/><file name="Delivery.php" hash="1c43e226d7c174f655533299bbf15359"/><dir name="Email"><dir name="Template"><file name="Filter.php" hash="c4d5d75ec6f6c7409320b6b36759e580"/><file name="Templatefilter.php" hash="c3acf3b4be3dcce490b1e07c0ab68e38"/></dir><file name="Template.php" hash="879c03ec7594c1763244d2035f39a7ff"/></dir><file name="Error.php" hash="8270252828229cad2c3b35f22e898b4d"/><file name="Keysentry.php" hash="ed1603a0954baaf716219d717e65f5b5"/><dir name="Mysql4"><dir name="Api"><file name="Collection.php" hash="9b589f17c2efee2866369d6fd0c73279"/></dir><file name="Api.php" hash="79e25f0be61ef7ce5066c676545ab19d"/><dir name="Error"><file name="Collection.php" hash="cdd8617db0383a5dd23787850c26bfe3"/></dir><file name="Error.php" hash="2959715e0def582a6a0ecdf6f6442701"/></dir><file name="Observer.php" hash="d7f2d5c5296b68e7e3984099595417d2"/><dir name="Resource"><file name="Setup.php" hash="793a326c80af2420cd0511a9b65a6aa8"/></dir><file name="SoapClient.php" hash="38ea95b32c1271d3ac329979c4f5d7a0"/><dir name="System"><dir name="Config"><dir name="Backend"><dir name="Cron"><file name="Error.php" hash="38bbbcde58aa89e3f7be043a773feb26"/></dir><file name="Cron.php" hash="1aa481a63198c64fafc90abe93166116"/><file name="Enable.php" hash="2b641958cfa59bd18992a8b92af99301"/><file name="Token.php" hash="1580a2ebd534155356515b0738a8cc77"/></dir><dir name="Source"><dir name="Contact"><file name="Status.php" hash="811a360bffa20b92d4a7bdea66a73168"/></dir><dir name="Cron"><file name="Frequency.php" hash="3ef5bda79548019f9a7cb2007c6792f5"/><file name="Minutes.php" hash="136df1bc4c4723efdbe144ed7a08806e"/></dir><file name="Field.php" hash="7a4660fbc812dca134b69b3cef76ea57"/><file name="Image.php" hash="acb902acd1f8573887ed9d5a00410467"/><file name="Limit.php" hash="8891685ce2b9c338c316d16a2ae69a8d"/><file name="List.php" hash="c9fd7581386bc33c09e0e6edfdead420"/><file name="Message.php" hash="01c7e9d489c1ed7f07f011d5c044805a"/><file name="Role.php" hash="5a55bad277b8723130035d79d6e5b98b"/><file name="Synclimit.php" hash="40a063f7d2ac5e1ad6a9bfa773b22863"/></dir></dir></dir></dir><dir name="controllers"><dir name="Adminhtml"><file name="DebugController.php" hash="2a1b69ab086340a58fd96278cea9e4c2"/><file name="GuidersController.php" hash="8eae4825b247191bd166224ac79ea655"/></dir><file name="LogController.php" hash="c7e65dec2943bb1b0575396290629fdc"/></dir><dir name="etc"><file name="adminhtml.xml" hash="0bbd379c87b3a9ab5a6a2d48f864b1ec"/><file name="config.xml" hash="018ad180dbd85cad301f377cfed89d50"/><file name="system.xml" hash="01e74d6d56b570363f6bdb50828315b9"/></dir><dir name="sql"><dir name="bronto_common_setup"><file name="mysql4-install-1.7.0.php" hash="c8459d26fdfea2fb9430e8829b3257e1"/><file name="mysql4-install-2.2.1.php" hash="f2a33e687c2a2ee784c63ca9ba58ad5f"/><file name="mysql4-upgrade-1.7.0-2.2.1.php" hash="f2a33e687c2a2ee784c63ca9ba58ad5f"/><file name="mysql4-upgrade-2.0.4-2.2.1.php" hash="f2a33e687c2a2ee784c63ca9ba58ad5f"/><file name="mysql4-upgrade-2.0.4.2-2.2.1.php" hash="f2a33e687c2a2ee784c63ca9ba58ad5f"/><file name="mysql4-upgrade-2.1.0-2.2.1.php" hash="f2a33e687c2a2ee784c63ca9ba58ad5f"/><file name="mysql4-upgrade-2.2.0-2.2.1.php" hash="f2a33e687c2a2ee784c63ca9ba58ad5f"/></dir></dir></dir><dir name="Customer"><dir name="Block"><dir name="Adminhtml"><dir name="System"><dir name="Config"><file name="About.php" hash="bc63c93b5ff46fe2e6cb84a8c3249d12"/><file name="Cron.php" hash="159344d5cd5b0bb0a770e7fa4132a754"/><dir name="Form"><dir name="Field"><file name="Rewardpoints.php" hash="c1918f7478737dcfba6b543fa006a4bc"/><file name="Storecredit.php" hash="489625264fff9d5a37621f1b80203099"/></dir><dir name="Fieldset"><dir name="Attributes"><file name="Address.php" hash="7871298d7b7410d5202b436a1f536d7c"/><file name="Customer.php" hash="b0060f6c8c71ec321387aa8071a5c483"/></dir><file name="Attributes.php" hash="0a93bc89eea36b70908ef805a4627d93"/></dir></dir><file name="Suppressed.php" hash="a65d86c60db621d6d202cf64c02024f8"/></dir></dir><dir name="Widget"><dir name="Button"><file name="Reset.php" hash="3dedc6caa0aab8f110a97df371c2187a"/><file name="Run.php" hash="2b6332568132b633a1ee208e8b555b5a"/><file name="Sync.php" hash="be611c057f18b5da9e31927fc1788365"/></dir></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="a7b29c98840eb6f469ad651fcc38d873"/></dir><dir name="Model"><dir name="Mysql4"><dir name="Queue"><file name="Collection.php" hash="5564536b725040d0652cba23e13e546e"/></dir><file name="Queue.php" hash="5aff6d99b2f3bf24cd2db7d0586f96ab"/><file name="Setup.php" hash="cb74c44bd42f407925a800fe3996d7a3"/></dir><file name="Observer.php" hash="a24b2383b13049cc73ebe8ce37eeea9b"/><file name="Queue.php" hash="7851ed2790e205473cf848c63a4f13a8"/><dir name="Resource"><file name="Customer.php" hash="86f081e728c9d9f22e28018406d9f601"/></dir><dir name="System"><dir name="Config"><dir name="Backend"><file name="Brontofield.php" hash="8a765b6204672df4a8b15b547668a18b"/><file name="Cron.php" hash="44d12cea40d1342ad065bd4aad936193"/><file name="Newfield.php" hash="118d2622277e919e1f316f0713f5a2b7"/></dir></dir></dir></dir><dir name="controllers"><dir name="Adminhtml"><file name="CustomerController.php" hash="b6521bc4a03414027470ffef4afb736c"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="bb58fa0df1e07c2d88527fed1920ffc2"/><file name="config.xml" hash="e1a4673cdc939b1177c5ee2e8af678f6"/><file name="system.xml" hash="36c06af831397b32776ec1b96929dc0d"/></dir><dir name="sql"><dir name="bronto_customer_setup"><file name="mysql4-install-1.0.0.php" hash="871c225318588b2804a05751bce45e1f"/><file name="mysql4-install-1.0.3.php" hash="79785fb104491dcc4713e55495f24ba0"/><file name="mysql4-upgrade-1.0.0-1.0.1.php" hash="1c00e987c9a1b1da70ad035ccdef194b"/><file name="mysql4-upgrade-1.0.1-1.0.2.php" hash="144999a033695bd72601f1f0e10de5e3"/><file name="mysql4-upgrade-1.0.2-1.0.3.php" hash="6e3c57a1c9272aa4b2d7d051a24ed87f"/></dir></dir></dir><dir name="Email"><dir name="Block"><dir name="Adminhtml"><dir name="System"><dir name="Config"><file name="About.php" hash="ab71e0649d5af1fe64f665ada8895be9"/><file name="Settings.php" hash="59f952e7baeff59ef013a9f39572370e"/><dir name="Templates"><file name="Field.php" hash="0b4d17701e352b6c28cd5262d3cd8e0e"/><file name="Fieldset.php" hash="01fa6905eec117df32519c7e461e05f8"/><file name="Label.php" hash="fed0e19a1dde5592ba2efcc3aa6a2bba"/><file name="Sendtype.php" hash="d93029708ba002781e365cb0215022ce"/></dir><file name="Templates.php" hash="5811fe4b83f7dd5d6f0c7c78314cd31c"/></dir><dir name="Email"><dir name="Import"><file name="Edit.php" hash="32d4219613247ff59a59b5031284159c"/><dir name="Grid"><dir name="Renderer"><file name="Action.php" hash="e5f3203f05d2fbc577a3e7f3dd5d6341"/></dir></dir><file name="Grid.php" hash="40551a1c6c11247925d2557c8c3fafde"/></dir><file name="Import.php" hash="a2f378383faebc5c0fabcd46feb4d7e3"/><dir name="Log"><dir name="Grid"><dir name="Renderer"><file name="Customer.php" hash="ee83b754d1a91920a79918991aa76ca6"/><file name="Fields.php" hash="dc0d7cbd5065382ccf51ff3f84054563"/></dir></dir><file name="Grid.php" hash="591f4aefd4fa2f7b5f53653f0d7780a7"/></dir><file name="Log.php" hash="755439eace3c8e1f5ee3c657562c476d"/><dir name="Template"><dir name="Edit"><file name="Form.php" hash="47b8b4a1e40b262f7b1811549a177261"/></dir><file name="Edit.php" hash="e76c3c82fc3c180041eeeb6251fecbaa"/><dir name="Grid"><dir name="Renderer"><file name="Action.php" hash="543cf476631d073e4de5ec59f1faf5b5"/><file name="Storename.php" hash="c5111a20ed0b3aed0078cecb1ae3d739"/></dir></dir><file name="Grid.php" hash="da86503c8e244821b08d60a50dc8973a"/></dir><file name="Template.php" hash="ea39c46962381b34377efa05ecbfa075"/></dir></dir></dir></dir><dir name="Helper"><file name="Contact.php" hash="60d8707e923f59ad7af130aa09557be0"/><file name="Data.php" hash="ca89f9dbc6ac7e380dde556d5455cf49"/><file name="Field.php" hash="fc67415cbe73614fe0bbc29df7f93148"/><file name="Message.php" hash="7f5a80ce2a9a75324f8e5df9b3a318f4"/></dir><dir name="Model"><file name="Log.php" hash="1c9b060a801312c0b929806708a9ac1a"/><file name="Message.php" hash="02bf1f9bef1f4ce1909cc3d5c6331969"/><dir name="Mysql4"><dir name="Log"><file name="Collection.php" hash="0cc3245eea5df5ca8607fc4ca8aabf99"/></dir><file name="Log.php" hash="aef3718e6ea1de42152099aeb444782f"/><dir name="Message"><file name="Collection.php" hash="4ad21710a8a2c403e83dcf40ad6eda22"/></dir><file name="Message.php" hash="f225d9ac332aa3b0fea5ff094a336926"/><dir name="Template"><file name="Collection.php" hash="27a2f2fcbf6210acbad20359eb673304"/></dir><file name="Template.php" hash="496380271268f9f949afb2a2ce1bdbf9"/></dir><file name="Observer.php" hash="f906c3827a17d77d6d54d6d32557b507"/><dir name="Resource"><file name="Setup.php" hash="13613a00761323dcb331325cc991e0a5"/></dir><dir name="System"><dir name="Config"><dir name="Backend"><dir name="Templates"><file name="Field.php" hash="e6f28eb62a469792eb61ca1044aae764"/><file name="Sendtype.php" hash="18dadd39cdf47f6cdc95e168fe2012bc"/></dir><file name="Usebronto.php" hash="d9c1e9b77810c922b058d5f03f03b02e"/></dir><dir name="Source"><dir name="Email"><file name="Template.php" hash="82c55d7a5833b1de31e0ca92fcac9b11"/></dir><file name="Sendtype.php" hash="4cc496295bd5b4c2bf71eae9fd87f803"/></dir></dir></dir><dir name="Template"><file name="Import.php" hash="1cdee619cc7c0890d374764e12347f8c"/><file name="Mailer.php" hash="b814a8f77ccfed075849c89cfb8be963"/></dir><file name="Template.php" hash="f74e29c0fcc7528488e19f6aa89c57d7"/></dir><dir name="controllers"><dir name="Adminhtml"><dir name="System"><dir name="Email"><file name="LogController.php" hash="471e58f342857be6f023527c0a1d2981"/><file name="TemplateController.php" hash="8f0c04684a6f789b3af69ef22cc1bfb9"/></dir></dir></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="2343ec1b1ac91db90d522cd64e797aa6"/><file name="config.xml" hash="eb4fd8d33950a989dc40332d94818977"/><file name="system.xml" hash="eed70edcf9317bbefa54606a35d73ca2"/></dir><dir name="sql"><dir name="bronto_email_setup"><file name="mysql4-install-1.0.0.php" hash="516265312ede986c1a35a19b9e5bbfea"/><file name="mysql4-install-1.0.2.php" hash="327ac219e947d608fbf9d3209dd03bab"/><file name="mysql4-install-1.0.5.php" hash="327ac219e947d608fbf9d3209dd03bab"/><file name="mysql4-install-1.0.8.php" hash="b572625c1380dfffe3b089275ac1dc7e"/><file name="mysql4-install-1.1.2.php" hash="2824a3ef8b9308e577c792398598e08c"/><file name="mysql4-install-1.1.7.php" hash="f49bc2913b1c2375499f21f2ac9727cd"/><file name="mysql4-install-1.1.8.php" hash="afa3c83fbfe45fc193a7eda4af6afacb"/><file name="mysql4-install-1.1.9.php" hash="4509540dda05675ee192e0330effddd3"/><file name="mysql4-upgrade-1.0.0-1.0.2.php" hash="1f797c3f909d72219ef5d00017b10554"/><file name="mysql4-upgrade-1.0.2-1.0.5.php" hash="f2c83b65500d9df0fd10c2e6721f2bfe"/><file name="mysql4-upgrade-1.0.5-1.0.8.php" hash="cdbda7aa084e51b9b222c56e548462a6"/><file name="mysql4-upgrade-1.0.8-1.1.1.php" hash="f2c83b65500d9df0fd10c2e6721f2bfe"/><file name="mysql4-upgrade-1.1.1-1.1.2.php" hash="53cf783db35699cdc1fee692752fe8de"/><file name="mysql4-upgrade-1.1.2-1.1.7.php" hash="105868a6253471d3eeeea46c7af18aa9"/><file name="mysql4-upgrade-1.1.7-1.1.8.php" hash="0a4abaf8c787bf656e3163489eb5d29e"/><file name="mysql4-upgrade-1.1.8-1.1.9.php" hash="65b7c540763c1817fef6e4eb1ca6cb9b"/></dir></dir></dir><dir name="Emailcapture"><dir name="Block"><file name="Emailcapture.php" hash="1c45388793ad609bd867c3a331bfb0c1"/></dir><dir name="Helper"><file name="Data.php" hash="4968f32e599a6fefe7b6876c486264ba"/></dir><dir name="Model"><dir name="Mysql4"><dir name="Queue"><file name="Collection.php" hash="104fe48ab81aa32769c95aae1b4e4988"/></dir><file name="Queue.php" hash="97ad38464595ed8a25aee9148d703e51"/></dir><file name="Observer.php" hash="041d29358d884b6a4444200d3a6e6b00"/><file name="Queue.php" hash="f95570e6972a31e17c9b4eb1d99aad07"/></dir><dir name="controllers"><file name="IndexController.php" hash="2162c4ce867cba627a66ba4c1b549e55"/></dir><dir name="etc"><file name="config.xml" hash="953a38982ad1ad62107558218b78d121"/><file name="system.xml" hash="7f748cfe607ca50519e51f8a9739feef"/></dir><dir name="sql"><dir name="bronto_emailcapture_setup"><file name="mysql4-install-1.0.0.php" hash="ff0cda179382b958d6a566963faae637"/></dir></dir></dir><dir name="News"><dir name="Block"><dir name="Adminhtml"><file name="ItemRender.php" hash="147c1b256abc1a3f0ffc9018d8af713d"/><file name="Redirect.php" hash="0b6928d1529e41c4e2ccc3a415e53bb8"/><dir name="System"><dir name="Config"><file name="About.php" hash="757f06422ff513218a9dfad2ff91cd0d"/><file name="Form.php" hash="853d55a3d7d5e73e87ae09f87f4764b9"/><file name="General.php" hash="8a19eee62442466ff28f23aa782e68c5"/><file name="News.php" hash="4fdda30cd100f4d1b57a74cb38a9b371"/><file name="Releases.php" hash="30f7b23081c69219473326620e6ccd06"/></dir></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="79dd892352cda62c69ede789dcade61a"/></dir><dir name="Model"><file name="Item.php" hash="e3ce20de8f0422dcf00f389f5491e788"/><dir name="Mysql4"><dir name="Item"><file name="Collection.php" hash="6a79699559ffe750643c3f6da90d0280"/></dir><file name="Item.php" hash="bf9fae7b7e2241259dbdbe83623c3e6e"/></dir><file name="Observer.php" hash="236e8cec018d29f50c4aeff1f23f4880"/><dir name="Resource"><file name="Setup.php" hash="cb9d37d047d535b4928b279623283f30"/></dir></dir><dir name="controllers"><dir name="Adminhtml"><file name="AnnouncementController.php" hash="ca98e801e5503b04f4f60286e19edb2e"/></dir><file name="RouteController.php" hash="4819b7cab294e952238e2edb43a73c52"/></dir><dir name="etc"><file name="adminhtml.xml" hash="079a3f745967cc14906151cfcdc2c816"/><file name="config.xml" hash="590d56fb32cdb7460cbff22ab1bffa69"/><file name="system.xml" hash="ecd3a0edd0de407c85bb537a78c2380a"/></dir><dir name="sql"><dir name="bronto_news_setup"><file name="mysql4-install-1.0.0.php" hash="f574c4b2432334d0202d75ef71cb0006"/></dir></dir></dir><dir name="Newsletter"><dir name="Block"><dir name="Adminhtml"><dir name="System"><dir name="Config"><file name="About.php" hash="b5d17d62df37034cd48ea3022e546724"/><file name="Cron.php" hash="bd4c2cee5118bd9209606cfd749c770e"/><file name="Suppressed.php" hash="1d2e716ce0b0a76ea67a56d6c62f65df"/></dir></dir><dir name="Widget"><dir name="Button"><file name="Reset.php" hash="82ed841f4918675ed0419361f2b07b05"/><file name="Run.php" hash="21e4d1c9eb2c882b967c5de6def6a97b"/><file name="Sync.php" hash="89112c7b858e9031050bcba50527b4d7"/></dir></dir></dir><dir name="Checkout"><dir name="Onepage"><file name="Newsletter.php" hash="9f0a75670696375dbfdbbc8914e8d6ab"/></dir></dir></dir><dir name="Helper"><file name="Contact.php" hash="57c5071aae5a3fb2deeba82fd23ec12b"/><file name="Data.php" hash="0a22d44cc8bc33deef2c983ff29179eb"/></dir><dir name="Model"><dir name="Mysql4"><dir name="Queue"><file name="Collection.php" hash="b9c6858b2045ad66b7c331afba125d19"/></dir><file name="Queue.php" hash="4cf426f02c1e2889b77be9b6a105c91b"/></dir><file name="Observer.php" hash="e70b012dafd4552a6486154abd24ed51"/><file name="Queue.php" hash="a9ef5813d95abcd1ee89a0372a0cfeb8"/><dir name="Resource"><file name="Setup.php" hash="1f72a1f56aca455ea0d0289450e9edf5"/></dir><dir name="System"><dir name="Config"><dir name="Backend"><file name="Cron.php" hash="282c40a155af7ea22f646e931fdb6732"/></dir></dir></dir></dir><dir name="controllers"><dir name="Adminhtml"><file name="NewsletterController.php" hash="0d6bd72d5a5518219548483f876a427b"/></dir><file name="IndexController.php" hash="ca4d3ed37230b73dc9cb81b1cbb39928"/></dir><dir name="etc"><file name="adminhtml.xml" hash="b685d64860bf37a09330bd9f89f5bc3d"/><file name="config.xml" hash="b55e7451abdeeb4b9ed24fbeeef3df29"/><file name="system.xml" hash="cf624f602a0f3eaac66c3e404a093573"/></dir><dir name="sql"><dir name="bronto_newsletter_setup"><file name="mysql4-install-1.0.0.php" hash="0f21d5315bbc4c27d0d38f9cf8c99bf3"/><file name="mysql4-install-1.4.0.php" hash="4a779a923947af258688d01143a16362"/><file name="mysql4-install-1.4.4.php" hash="089b40f9419c2fd21af62df207327a20"/><file name="mysql4-install-1.4.5.php" hash="8e97902e5e83992e678ba6144ed130b5"/><file name="mysql4-install-1.4.6.php" hash="74d29bc9655aeafa381ba5dc5f53df69"/><file name="mysql4-install-1.4.7.php" hash="74d29bc9655aeafa381ba5dc5f53df69"/><file name="mysql4-upgrade-1.4.0-1.4.1.php" hash="7eeba27e7b5480c8b502c3805554e2de"/><file name="mysql4-upgrade-1.4.1-1.4.2.php" hash="32f724b99d88e037ade72c8a9f1e0da7"/><file name="mysql4-upgrade-1.4.2-1.4.3.php" hash="63c728bb0cd7fa83bb5536d4500548f4"/><file name="mysql4-upgrade-1.4.3-1.4.4.php" hash="4f08a427c7706ea0988bcdcca6072218"/><file name="mysql4-upgrade-1.4.4-1.4.5.php" hash="c49018730275134d72f0802e1bc4da47"/><file name="mysql4-upgrade-1.4.5-1.4.6.php" hash="7de96310cf9bfe375e3026ed5c934ce2"/><file name="mysql4-upgrade-1.4.6-1.4.7.php" hash="6e40d94220fc0f2305546f7a8d5e754a"/></dir></dir></dir><dir name="Order"><dir name="Block"><dir name="Adminhtml"><dir name="Sales"><dir name="Order"><dir name="View"><dir name="Tab"><file name="Info.php" hash="4caacae5f31c84f898be5798cc85b7b7"/></dir></dir></dir></dir><dir name="System"><dir name="Config"><file name="About.php" hash="332c01d15a8b75f9add5988f35519135"/><file name="Cron.php" hash="ac79366d0bc9ad7ff74721d5b140e4ba"/><file name="Suppressed.php" hash="86af8a0b74f4f98e2a9b4d7ea08aa063"/></dir></dir><dir name="Widget"><dir name="Button"><file name="Reset.php" hash="006ed5b9bc5adbf127fb542b0938fdda"/><file name="Run.php" hash="700e3f9645a9e25e56ae1deb6764bf44"/><file name="Sync.php" hash="2ff1bf077cc56b3620fe87a494d7f770"/></dir></dir></dir><file name="Bta.php" hash="2ec920ce5a6ea57aff16c8d9cf89f7e9"/></dir><dir name="Helper"><file name="Data.php" hash="293672cfd547d65ff94b80b3bf932d39"/></dir><dir name="Model"><dir name="Mysql4"><dir name="Queue"><file name="Collection.php" hash="d041d29b798d10821e041c5b89fb5889"/></dir><file name="Queue.php" hash="2b0ba0993a43cc6856647684ac30add9"/><file name="Setup.php" hash="05b0a2d4806e712410479a3e7c709fd8"/></dir><file name="Observer.php" hash="b2f1bbc074be667a0cd60c2c886c372c"/><dir name="Order"><file name="Observer.php" hash="5a05f37813b04968a2274098fdf8b1f7"/></dir><file name="Queue.php" hash="91c27f641cc570d6a7b9d7992af3be48"/><dir name="Quote"><file name="Observer.php" hash="f7dba30d14388a0770c26750f382fa75"/></dir><dir name="System"><dir name="Config"><dir name="Backend"><file name="Cron.php" hash="9bc2a90d644af8334aa22b952132b08f"/></dir><dir name="Source"><file name="Description.php" hash="7f497c17388c360f239e2aa90d943b9c"/><file name="Price.php" hash="283cc883ded57664870d89b22b547b19"/></dir></dir></dir></dir><dir name="controllers"><dir name="Adminhtml"><file name="OrderController.php" hash="9029b7316cf28467e03525000af880ad"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="784d322d920c63e63bed37c50e1c04d1"/><file name="config.xml" hash="57a8d0e86c320403b17676cf9de2eaca"/><file name="system.xml" hash="5333f04e2f8371c8ab7710ff42bea238"/></dir><dir name="sql"><dir name="bronto_order_setup"><file name="mysql4-install-1.0.0.php" hash="4988c452cc0d367f34e9c33df0d4256d"/><file name="mysql4-install-1.1.8.php" hash="afd415c7bb5a81b18c6705293f3978e6"/><file name="mysql4-upgrade-1.0.0-1.1.6.php" hash="0c42c6e3539b0f07c76b4f2c582d110f"/><file name="mysql4-upgrade-1.1.6-1.1.7.php" hash="7c4d2c1feed28b964ea82373e625a11f"/><file name="mysql4-upgrade-1.1.7-1.1.8.php" hash="ae58d4271deb9c60e61214020d46e755"/></dir></dir></dir><dir name="Reminder"><dir name="Block"><dir name="Adminhtml"><dir name="Delivery"><dir name="Grid"><dir name="Renderer"><file name="Customer.php" hash="be1537b58943a2cc27982deb03ec9e39"/><file name="Fields.php" hash="04f0dc7c4a24769cfc68f1508e0d338b"/></dir></dir><file name="Grid.php" hash="472fa8302dae712fbf9a6b6f5ea80dd0"/></dir><file name="Delivery.php" hash="b0bd1dcede57f8dad8ba4416b26d3986"/><dir name="Promo"><file name="Notice.php" hash="437ce674b25c14e33e17e09a0d471176"/></dir><dir name="Reminder"><dir name="Edit"><file name="Form.php" hash="2db520c0f438affbf477801ddde7f9cf"/><dir name="Tab"><file name="Bronto.php" hash="3b49a4f78038b8ac6de5390c2a73151d"/><file name="Conditions.php" hash="71d7c0a13352ec3d5b19b6bc059238bb"/><file name="Customers.php" hash="955c3e21ccc4a6e165abd38410383422"/><file name="General.php" hash="10012f0027d5ecf28a24ea84c2410be0"/></dir><file name="Tabs.php" hash="106e44febc4b6a7a3928c5dec68d6123"/></dir><file name="Edit.php" hash="783ca6f21744c56da930fd44ddc6e3a5"/><file name="Grid.php" hash="c87a852ef998ea17af709c0221abd15d"/></dir><file name="Reminder.php" hash="a55e63b29f9cafd9053696f60ffe993f"/><dir name="System"><dir name="Config"><file name="About.php" hash="8380b5e750fe0f2b5b95407c99d2e195"/><file name="Cron.php" hash="84100d0bffc2e16d84bc24577ba9c6bf"/><file name="Settings.php" hash="5d0042b1b2ad5df43856c0a68d63b3b4"/></dir></dir><dir name="Widget"><dir name="Grid"><dir name="Column"><dir name="Renderer"><file name="Email.php" hash="bcc3abd5bbbb5e8f6e19454850d2e8dd"/><file name="Id.php" hash="c35c0feeac92dce912bb8e3ad2cc7e6e"/></dir></dir></dir></dir></dir></dir><dir name="Helper"><file name="Contact.php" hash="4b3e67cf3a0ce095ca454fe4513c6e89"/><file name="Data.php" hash="32eedd1f4657a65cd48182975b3e8eb9"/><file name="Message.php" hash="b65f0a4095ab4671c57a26451b3cc524"/></dir><dir name="Model"><dir name="Condition"><file name="Abstract.php" hash="3e164c6f67c1ca26c0be533cd9fc1b0c"/><dir name="Combine"><file name="Abstract.php" hash="2a43ca00f8bc4ab36bc87654ad9c6191"/></dir></dir><file name="Delivery.php" hash="41c3912dc5b5cb28d828358c1e0f7bc4"/><dir name="Email"><file name="Message.php" hash="c3b99ab7af9a776b98ffbcca3fecdcc6"/></dir><dir name="Mysql4"><dir name="Customer"><file name="Collection.php" hash="577bd12e2df9940fe551fe41c96133cf"/></dir><dir name="Delivery"><file name="Collection.php" hash="1247c3f58061d41f66ee6b9483c200ca"/></dir><file name="Delivery.php" hash="3639d2739b29734ba8aa8950e67e9621"/><dir name="Rule"><file name="Collection.php" hash="a99264c81d15780f305b02cde1564461"/></dir><file name="Rule.php" hash="9ab935ade0f74d53baad214ccfbeb670"/></dir><file name="Observer.php" hash="299bca8979d361a027fe4ac1598df2f4"/><dir name="Rule"><dir name="Condition"><dir name="Cart"><file name="Amount.php" hash="b1bd2bd9aabb863184461b0594dad9b0"/><file name="Attributes.php" hash="74cfde1032d8d75241f7522ddc12e11d"/><file name="Combine.php" hash="660f6842b8c1a5acff2c3b4f12fc73a9"/><file name="Couponcode.php" hash="84ef3ecb8bcd57412af80a0d137335bb"/><file name="Itemsquantity.php" hash="50eae47f28bf3660ee0684c9037f5bf8"/><file name="Sku.php" hash="12a7af32e16e21d2a2e4e157c469d1e5"/><file name="Storeview.php" hash="c2310efcb3060e91bf2aab73b0ac8ca9"/><file name="Subcombine.php" hash="c8ad5b2c46116793e2f2df17fe0862c0"/><file name="Subselection.php" hash="0142065f76b4e24ec75b6685eea82642"/><file name="Totalquantity.php" hash="8e492fb70a94549b8d6adbc50b2a4e50"/><file name="Virtual.php" hash="cd12a3218daf4a447b4fd49141101305"/></dir><file name="Cart.php" hash="8c259fbcb6e302e7b62bd9819d869b16"/><dir name="Combine"><file name="Root.php" hash="eb4b22b6554b507b61f3e6be30048b07"/></dir><file name="Combine.php" hash="2f15f1241aa71fd76bb511415c6882a3"/><dir name="Wishlist"><file name="Attributes.php" hash="0ecf162a2fc4225ce37de714da9e6210"/><file name="Combine.php" hash="279af17bec3eeb6a97243a93eb4e3f85"/><file name="Quantity.php" hash="8de8793029340cb8c813e0cf034f372d"/><file name="Sharing.php" hash="ad302122deb2065aa28b68748cfae492"/><file name="Storeview.php" hash="83716681ba30c6d4c48dada3a0973971"/><file name="Subcombine.php" hash="4804ad602e3cc622dbfcab4030dff1c2"/><file name="Subselection.php" hash="68d96f6943becdc728f2aa436a8ac4c7"/></dir><file name="Wishlist.php" hash="f5c474dd7b126d69a3e0f7000abd3a95"/></dir></dir><file name="Rule.php" hash="8912deab112d5789cd975b7907c0d4ea"/><dir name="System"><dir name="Config"><dir name="Backend"><file name="Allowsend.php" hash="61965e981ddd79976f0ee21b01e6a0ae"/><file name="Cron.php" hash="6e527885884985fca33236f40a7f3689"/></dir></dir></dir></dir><dir name="controllers"><dir name="Adminhtml"><file name="DeliveryController.php" hash="d4630eff20209e0d46b08a29b543979a"/><file name="RemindersController.php" hash="6cd60b0a9c33075640c5926d94a78405"/></dir><file name="LoadController.php" hash="16f4bf9c99a8e0bb0b369e75141f49b2"/></dir><dir name="etc"><file name="adminhtml.xml" hash="baaae901f8ff9d2ab12b0158ed5a4ca7"/><file name="config.xml" hash="47791bb04d1362ba39cd6ccff9eed0f7"/><file name="system.xml" hash="3304170025272a4d9cc96016230bc5af"/></dir><dir name="sql"><dir name="bronto_reminder_setup"><file name="mysql4-install-1.4.12.php" hash="eae3eb4a69de44df200c52001783a4f0"/><file name="mysql4-install-1.4.13.php" hash="12419b6117a9e0e10f565453feed8740"/><file name="mysql4-install-1.4.14.php" hash="be67c1c55e1781c652d0036984fd0866"/><file name="mysql4-install-1.4.15.php" hash="f2bc98906fc36bf0640b292851ab99e1"/><file name="mysql4-install-1.4.16.php" hash="e34c42b202a7435abe2fa46f01bde257"/><file name="mysql4-install-1.4.2.php" hash="07b5a7b8ef247def75617e92738f0950"/><file name="mysql4-upgrade-1.4.0-1.4.2.php" hash="fefa638ca0ed7c5bc80a1b67e27c8703"/><file name="mysql4-upgrade-1.4.10-1.4.11.php" hash="130a688eb03e4f476308d0d11c32141a"/><file name="mysql4-upgrade-1.4.11-1.4.12.php" hash="766c901369f06aaadc8ffde3befb4aaa"/><file name="mysql4-upgrade-1.4.12-1.4.13.php" hash="172b48942497efd2305eff260bc28d9c"/><file name="mysql4-upgrade-1.4.13-1.4.14.php" hash="3218dae864cac00ff74655160ad31663"/><file name="mysql4-upgrade-1.4.14-1.4.15.php" hash="2e842e4c18259590cdafd2139dd4eb7e"/><file name="mysql4-upgrade-1.4.15-1.4.16.php" hash="671f39e2f90faf1165d50b517be8e04f"/><file name="mysql4-upgrade-1.4.2-1.4.9.php" hash="4692060e7c938aea129c53619f0b3c19"/><file name="mysql4-upgrade-1.4.9-1.4.10.php" hash="9698883135211d54a3c711fead02c187"/></dir><dir name="reference"><file name="saveMatchedCustomers.sql" hash="c4f32ee8be31f7a652369c148271a6c7"/></dir></dir></dir><dir name="Reviews"><dir name="Block"><dir name="Adminhtml"><dir name="System"><dir name="Config"><file name="About.php" hash="b62835e11224c3e8cb7256715d145814"/></dir></dir></dir></dir><dir name="Helper"><file name="Contact.php" hash="a85da1e1cc10dd48ac88b84d91cb9a1d"/><file name="Data.php" hash="2a58d1a94b558027fc456ece292a6df5"/><file name="Message.php" hash="df3015f886b4dd283d280cf26ee69cc7"/></dir><dir name="Model"><dir name="Mysql4"><dir name="Queue"><file name="Collection.php" hash="c36aecae4ebb1de05835be6c02cd6875"/></dir><file name="Queue.php" hash="52ecc7632d642c9ee3fec1141aba9c30"/></dir><file name="Observer.php" hash="f7d5f5f04e348a30fe69b0c80f203909"/><file name="Queue.php" hash="45aea4c54a465d5ea9110cdd853de23b"/><dir name="System"><dir name="Config"><dir name="Source"><file name="Message.php" hash="9a5e15326017cbebd7b59b5c80693685"/><file name="Orderstatus.php" hash="8b1d5d0ede3627d212595be7fa93494e"/></dir></dir></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="35bed0690cd9f58063c0c5e03e057469"/><file name="config.xml" hash="77fe8f2486ae74b11ac75f8101a8a554"/><file name="system.xml" hash="19a1e6fabfab61be5ddf74523624b94a"/></dir><dir name="sql"><dir name="bronto_reviews_setup"><file name="mysql4-install-0.0.1.php" hash="7c405d3819f5c79ec405dc372ee38dc5"/></dir></dir></dir><dir name="Verify"><dir name="Block"><dir name="Adminhtml"><dir name="System"><dir name="Config"><file name="About.php" hash="b50a08cd24985483cad82c76305da5ce"/><dir name="Advanced"><file name="Observersearch.php" hash="0351378eb6fbfa8e9b1cde55a9b589e5"/></dir><file name="Conflictchecker.php" hash="cf1736b689d1ef2b3f0b7d7d84b703ba"/><dir name="Form"><dir name="Field"><file name="Apitoken.php" hash="cb84fee5b4e18ca0092f385d6ede6711"/><file name="Button.php" hash="7041c0e923d9929796597160679bc94c"/><file name="Classpath.php" hash="c9c60b09c180960dd107d74f79b63edc"/><file name="Conflict.php" hash="3797f7f88329ecf4d5c9e3e48c9c89e5"/><file name="Events.php" hash="c88df55f9105d0aa5a1574bc37c5a8f8"/><file name="Index.php" hash="612cf825df2f10c0d4d00ac54f413aba"/><file name="Roundtrip.php" hash="4b84fb21a59f5939ab7361dcc816ce1d"/></dir><file name="Magecron.php" hash="2e3817a852f8a57444e8a0c54f87fda7"/><file name="Permission.php" hash="e5185de6bc1976ee7497956cc9162a17"/></dir><file name="Installs.php" hash="697740e9decb18a27abc907d024115e8"/><file name="Permissionchecker.php" hash="6f0be4f5594afe1f6924b839db582180"/></dir></dir><dir name="Widget"><dir name="Button"><file name="Classpath.php" hash="1687def566fccc786c263d94b4c9c9b5"/><file name="Conflict.php" hash="473cda5cc65b9302efb3618c3b5af973"/><file name="Events.php" hash="3da5bc0026613dfd921a25a942fb3d7c"/><file name="Permissions.php" hash="b89e87e9b6848cde87a4f6343b3feb1a"/><file name="Runroundtrip.php" hash="5a98f930b382a7a0c01f3b346def4955"/><file name="Runtoken.php" hash="63a721c0a25bdbd58be941ba7c5d21c8"/></dir></dir></dir><file name="Conflictprinter.php" hash="05a32eca413a0eda87bcdb7bd0661642"/><file name="Permissionprinter.php" hash="8925da12d1e8dc5f180327dd94d18310"/></dir><dir name="Helper"><file name="Apitoken.php" hash="bc1f30a551a958011fbba91310cab77d"/><file name="Conflictchecker.php" hash="55e0aacf4cd6e9d2b4d52ebe21fe7850"/><file name="Data.php" hash="6622f73bf7af3e1e68ad27551fb7d920"/><file name="Permissionchecker.php" hash="da5fc3a69e6477299084d210aaaad6b7"/><file name="Roundtrip.php" hash="b5566d978e4e24cf06bee83ab92772fc"/></dir><dir name="Model"><dir name="Config"><file name="Blocks.php" hash="0000df779f3e1fb60350b14b8a6185e3"/><file name="Checker.php" hash="a38555d682b302967410b73ebab04b4f"/><file name="ConfigAbstract.php" hash="79024697562751ff46c939d9d680fc86"/><file name="ConfigInterface.php" hash="45cecfde48e4ef0657a6418019f02e4a"/><file name="Datastore.php" hash="fb5ea494075ce81380d1447c07fa052c"/><file name="Helpers.php" hash="1dc143d542d3fd85ccff785f913556f1"/><file name="Models.php" hash="3062f1f3c4950d965054afe6b75b4b0f"/><file name="Printer.php" hash="dfd6bfdcc94a1afb83ae6c3599abb21c"/><file name="Resources.php" hash="24bbf7de88b25250a81a2d7380d5baa2"/></dir><dir name="Contact"><file name="Builder.php" hash="9d578480a7e4c8fde2a33e698a9efced"/></dir><dir name="Core"><dir name="Config"><file name="Base.php" hash="c11b6cbaf1802d3c6ab58853b468f5d7"/><file name="Element.php" hash="8a7c9221a95c1317a8ae166e692a4ee0"/></dir><file name="Config.php" hash="4afa2c4a35fd81b282aad0d873c5700e"/></dir><dir name="Lib"><dir name="Varien"><dir name="Simplexml"><file name="Config.php" hash="076958ed612323869d2437872744ed2a"/><file name="Element.php" hash="a8c28fd3b6b00ad689d4850e79441dec"/></dir></dir></dir><dir name="Mysql4"><dir name="Core"><file name="Config.php" hash="3b8fb36a66a675c4d12926bceadb4ea5"/></dir></dir><dir name="Path"><dir name="Locator"><file name="Array.php" hash="42fd6c7004b0f02f954956563edde9a0"/><file name="Factory.php" hash="46007808ba897fa6816fb7771a2b18dd"/><file name="IteratorAbstract.php" hash="a0b728053dc63e73edc8231fd169cebc"/><file name="LocatorInterface.php" hash="b775ce0d189ef276c9bbeade7da67b4f"/><file name="Stack.php" hash="328481c9d963f653a95f333fb440bea5"/></dir></dir><dir name="Resource"><dir name="Core"><file name="Config.php" hash="aa2fb8c4fb153e742c690ab8bc8b5a75"/></dir><dir name="Db"><file name="Abstract.php" hash="d668c24c90f80bc197c83eb0a3e10aa6"/></dir></dir><file name="Roundtrip.php" hash="437aa07b0f001bb29b20e9dda2ae81f8"/><dir name="System"><dir name="Config"><dir name="Backend"><file name="Magecron.php" hash="2745874b81ae4235aa885f78c2076561"/></dir><dir name="Source"><file name="Classtypes.php" hash="772cab11a7470a2dd68ece3688c68d6a"/><file name="Wsdlcache.php" hash="b7d9c1c4d271c03a7486fc86eec3b6d9"/></dir></dir></dir><dir name="Validator"><file name="Checker.php" hash="35799249fcc93b31ff12da539cfb0d84"/><file name="Directory.php" hash="aa05ae40ad0b7aaffffaa6063bd8561e"/><file name="File.php" hash="c29c1cd2140186dc67c5e62064b79c0f"/><dir name="Filter"><file name="PatternIterator.php" hash="c129a6ee0fb4a45ff52644da2c0abfa1"/></dir><file name="Group.php" hash="59ad6dd4232ee113e1fe8161a82148ba"/><file name="Owner.php" hash="69e1c54dca88532208ce1f35f4491d99"/><file name="Printer.php" hash="23a00ec415b8665e5457ac09939e2ab2"/><file name="ValidatorAbstract.php" hash="d043c743309f5d64640698953269ece6"/><file name="ValidatorInterface.php" hash="02f543af08eda65263f4b005f3b3bdaf"/></dir></dir><dir name="controllers"><dir name="Adminhtml"><file name="AdvancedController.php" hash="0942ed5d83442e97af40d4572c3e21f8"/><file name="ApitokenController.php" hash="f804594b22260cb597cc0e5cfe633093"/><file name="ConflictcheckerController.php" hash="1d23621c640eecf2a813121cfc23850b"/><file name="PermissioncheckerController.php" hash="2e254bd755cd9d05d7eb6865a2ffb0e7"/><file name="RoundtripController.php" hash="efb601f3ceca89885d031f06218b2a4d"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="d7aa2c1c8fa26ad3ab910940abd9199e"/><file name="config.xml" hash="7e4888e5556ea0e1b30cb8fde1c1120a"/><file name="system.xml" hash="a3cf28dcbfc85e82d362d38704f6da56"/></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Bronto_All.xml" hash="5a9c06b6313882589765b9bcf0402bbb"/><file name="Bronto_Customer.xml" hash="a11c20f008ee2eae14baa3b549d5adee"/><file name="Bronto_Email.xml" hash="b7cdca4b15753edcefe8b9e0abb780bd"/><file name="Bronto_Newsletter.xml" hash="2115c5225e02ab5d4e56749cc5eff6ad"/><file name="Bronto_Order.xml" hash="63f1537add6088417945657bec98ffe9"/><file name="Bronto_Reminder.xml" hash="08503ab78994178b822ef9b0add243f9"/><file name="Bronto_Verify.xml" hash="ad72ea2ebfd99dbe2773b2735d0ec973"/><file name="Bronto_News.xml" hash="3496cd7578991889909fbd8daa170d2d"/><file name="Bronto_Reviews.xml" hash="23a398c055d062c4a5e19e72a0c2df95"/><file name="Bronto_Emailcapture.xml" hash="98b59bbf388d6c715f345b8906bd2fa1"/></dir></target><target name="magelib"><dir name="Bronto"><dir name="Api"><dir name="Account"><file name="Exception.php" hash="1a851457b2a032fb6d149fe9ef111c57"/><file name="Row.php" hash="3ab1e97019ef87bcd464eeaabf652886"/></dir><file name="Account.php" hash="33b9ba8867fe69135391c26f98b5852a"/><dir name="Activity"><file name="Exception.php" hash="3ac1f2caea6465931cbf927f1033ec06"/><file name="Row.php" hash="de166130c57670bf486a783a4501e2d4"/></dir><file name="Activity.php" hash="f5f48488e40507bc108b35c599e4e5a2"/><dir name="ApiToken"><file name="Exception.php" hash="e06d0a4c9469da7333e6a596e9c37c5d"/><file name="Row.php" hash="f3742811cec1cbf0be583296b617dfbd"/></dir><file name="ApiToken.php" hash="65bbd18974bbbf620dc2df23bdeb4469"/><dir name="Contact"><file name="Exception.php" hash="809bdce6db3bb9c72a3173bb08c1b19e"/><file name="Row.php" hash="2e360d131c2abe19e154b5f3795a58f0"/></dir><file name="Contact.php" hash="55bab8398154e96db6b0ca3ed88718e0"/><dir name="ContentTag"><file name="Exception.php" hash="5a8bc58af480a574e8061c62ad5590b4"/><file name="Row.php" hash="e470d8bcd686d42a886e59d5184b5eed"/></dir><file name="ContentTag.php" hash="14f1cbefe1027338d28db301a1c2df3d"/><dir name="Conversion"><file name="Exception.php" hash="73dd991a663b99050428f54fc13fb433"/><file name="Row.php" hash="115d01ea0e0e6ade42fcab76dff71c35"/></dir><file name="Conversion.php" hash="60ec52dcfeda92294d1ab10bb29a486a"/><dir name="Delivery"><file name="Exception.php" hash="003dbb49ea3be65fe35dfa9b7ec743c5"/><file name="Recipient.php" hash="562bdc8d86b92ec293a338fdd7bf928a"/><file name="Row.php" hash="9c6149e74a305f62b9806df5a20e6a00"/></dir><file name="Delivery.php" hash="668dc6493cefe960c7dc8fe1fe87bf08"/><dir name="DeliveryGroup"><file name="Exception.php" hash="9291b2adb576a6781a0d624cc3288453"/><file name="Row.php" hash="29adb1f866cf1d24ef0abac19f95fbd0"/></dir><file name="DeliveryGroup.php" hash="7dd295b65f22e65dff3bf45c4336e985"/><file name="Exception.php" hash="bacb7c782ef7f612edaf3d39c20118ef"/><dir name="Field"><file name="Exception.php" hash="db651b9fa4b5161e3a32af49cc12cc64"/><file name="Predefined.php" hash="15fadb32175098d9ded60550d1748a4a"/><file name="Row.php" hash="6871d05f399a8a9dfa0742952eaa6481"/><file name="TypeGuesser.php" hash="1027ea97675a16cc964aa0d8ba63e642"/></dir><file name="Field.php" hash="32d5876335ec815acb50d3b4e7bf3ccd"/><dir name="List"><file name="Exception.php" hash="0f964fac998c89a0d4d515979bd81b98"/><file name="Row.php" hash="6516df43a1a94beee7b57fae71c27134"/></dir><file name="List.php" hash="ef240fe5e1422479a83291ad30b468ac"/><dir name="Login"><file name="ContactInformation.php" hash="bc1ce7f57c67fa21cd0881d0384a1cac"/><file name="Exception.php" hash="fff7546235b416b7008a9e4bd646fc19"/><file name="Row.php" hash="578553fcbf1941d0eb5890614c57ae91"/></dir><file name="Login.php" hash="a61cf5ac4c3ea76b03a71750e085df88"/><dir name="Message"><file name="Exception.php" hash="755f7f14cdb234931708968ac0bad4a4"/><file name="Row.php" hash="5732b5550c8c6444790f2f20e626ff08"/></dir><file name="Message.php" hash="cc3c9939757371ad7fd2d297df394621"/><dir name="MessageRule"><file name="Exception.php" hash="b0398ee96ed70c483f38b50f305e82a8"/><file name="Row.php" hash="8e7532184ee265a927a195ac36e5a518"/></dir><file name="MessageRule.php" hash="ae1b3f16683656066a83bcf9f2863710"/><file name="Object.php" hash="4ea2880431ac5761cbf7478d809577f6"/><dir name="Order"><file name="Exception.php" hash="8312e1a1ab46bcf88b72983bb11a6493"/><file name="Product.php" hash="3785f2f460fec6c18c6164176de52449"/><file name="Row.php" hash="1400de022188806bb94e98544c054ef6"/></dir><file name="Order.php" hash="ad690b37bc577879020d10e5ac70ef3d"/><dir name="Row"><file name="Exception.php" hash="4c1a45512e0912644f94a88d4298d3a9"/></dir><file name="Row.php" hash="259418b11987939378747a9c46fae1ae"/><dir name="Rowset"><file name="Exception.php" hash="b5202ed6f61bfe06b90f73c03ca28ffa"/><file name="Iterator.php" hash="9ea7a244b83e7b9318bfe8ed371a149f"/></dir><file name="Rowset.php" hash="3f40382933e2f392b6320fd79db720cd"/><dir name="Segment"><file name="Exception.php" hash="bd5c2302ef222ff55981cc38477a9310"/><file name="Row.php" hash="b840493b8b2c3cb6686de0e5bedfa2ba"/></dir><file name="Segment.php" hash="0cf99babff6169afa427f302c76023dd"/></dir><file name="Api.php" hash="17aace21dbebcab84a80091230ca03e9"/><file name="Observer.php" hash="21bc70d405fcd47b0473ac89fd3d4ae2"/><file name="SoapClient.php" hash="81dd0a8a8c15ac96280d2f1b6bb3311e"/><dir name="Util"><file name="Colors.php" hash="14313213b3a70c79a56c574523b9b90b"/><file name="CountryCodes.php" hash="4efb9c354d29a901368c46aab40f79d4"/><dir name="Retryer"><file name="FileRetryer.php" hash="bdc72ace54ace32081115442d28cb972"/><file name="RetryerException.php" hash="54b70d7abbc32b55649a193e8e70dcb5"/><file name="RetryerInterface.php" hash="cc57d5a02a55811a13a31ed9beff126f"/></dir><file name="Uuid.php" hash="ba62bdec6488ccb621e0bfd726c6107a"/></dir></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="base"><dir name="default"><dir name="bronto"><file name="bronto.css" hash="ebc2f1ade554e3cad4bf0b091ff674d1"/><file name="cron.css" hash="90af6378226e13e17b7329132d41e0e7"/><dir name="images"><file name="BrontoGuide.png" hash="be2bb3605cc5f1899ad996fcd2ceae84"/><file name="InstallStatusDisabled.png" hash="5cf8d7dd8ed623f8b38e6ea3ed89861a"/><file name="InstallStatusEnabled.png" hash="11ea6d1f0ba319b62ed1728e9b747108"/><file name="InstallStatusError.png" hash="91fdd0af3ffd20d0b8a77645bb9cfcdc"/><file name="ajax-loader-tr.gif" hash="1ae32bc8232ff2527c627e5b38eb319a"/><file name="bg_notifications.gif" hash="df73b8aa7e48bb56e0a644245aa3683f"/><file name="bronto-mini-off.png" hash="af2c6a5434604db0bb3a2cc4a51b5c77"/><file name="bronto-mini.png" hash="7989c68c0e83b7b04af308780aa82259"/><file name="bronto_contact-mini.png" hash="e221b304ad42cba129a9dcf17ce5180e"/><file name="bronto_contact_import-mini.png" hash="a9e0904f7219be45fd1ed88c5b9a1650"/><file name="bronto_general-mini.png" hash="aca50d84fe324abbb36ff2853d9cad01"/><file name="bronto_help.png" hash="d0ed63d7c68e8b52583ce428b3846afc"/><file name="bronto_news-mini.png" hash="bb8b3beb16c10d8b38ddb11f3f4347e8"/><file name="bronto_newsletter-mini.png" hash="9c45a6dd689ad758cf927cb381621b35"/><file name="bronto_order_import-mini.png" hash="a2b13488fccfdd5b2194843800abadda"/><file name="bronto_reminders-mini.png" hash="c85bafdc82718769c8b801fd64e7bd72"/><file name="guide.png" hash="10c880d9e40f1283f99e02ce2d025a4f"/><file name="logo.png" hash="3b7c4cb9faf220091a5fbae3c7f87afa"/><file name="message_approved.gif" hash="465a056a3ba3d94367f51c3c0b751391"/><file name="message_not_approved.gif" hash="e4f28607f075a105e53fa3113d84bd26"/><file name="section_logo.png" hash="98f2570d14580cee2c6cf66cca540b39"/><file name="site_name.png" hash="fb2cc4e1e00cdc95a94c04fccfa5e1b3"/><file name="support.png" hash="0910e2eb718379d037ead6e0af9c4855"/></dir><dir name="js"><dir name="guider"><file name="README.html" hash="be17cdbc961dc921944cef4e7daa33c3"/><file name="README.md" hash="1c11ec7951035fe0611edded566901a0"/><file name="changelog.txt" hash="4c107fe228a620f6f3118b128e62c0b5"/><file name="clock.gif" hash="12aa3f72e722ac8e5eeb68823024278f"/><file name="component.json" hash="05fe7fcf63c00abd58efa072baa8248f"/><file name="guiders.css" hash="a6df4a6e2d4f3075e29841a6844ee30b"/><file name="guiders.jquery.json" hash="261d2b3a2d3a21e49a0153f0c8f2c3e9"/><file name="guiders.js" hash="42b1675f9d1a93b89d62e97f2db895bb"/><file name="guiders_arrows.png" hash="757812709656e9592d9d724a63624d0d"/><file name="guiders_x_button.jpg" hash="2af6c2b68534a8b2c48d0ddc14a5b801"/><file name="jquery.min.js" hash="0652da382b6fceb033dfe2b6c06d4d11"/><file name="promo_gmail.png" hash="4837435633204a9001b88c2d8ef451ed"/></dir><file name="jquery-1.10.2.js" hash="91515770ce8c55de23b306444d8ea998"/><file name="jquery-1.10.2.min.js" hash="628072e7212db1e8cdacb22b21752cda"/><file name="jquery-1.10.2.min.map" hash="6c3ccfc221d36777d383b6e04d0b8af9"/><file name="jquery-noconflict.js" hash="3179f2255b046d5f2e9a71e365287bef"/></dir><file name="news.css" hash="84d2866b08b706164c6e545767ff331a"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="template"><dir name="bronto"><dir name="common"><file name="popup.phtml" hash="d81fa7237b4fb63fcc970e73d71a6cc6"/></dir><dir name="emailcapture"><file name="js.phtml" hash="d7920693b4aefb498610d65dbebca42a"/></dir><dir name="newsletter"><file name="checkbox.phtml" hash="a19c0ff807258ffe398704fde325cfab"/><file name="js.phtml" hash="dc11829ac113c50e93bdc08580998af0"/></dir><dir name="order"><file name="js.phtml" hash="e398cfbfe9df41feeadb251216422cd9"/></dir></dir></dir><dir name="layout"><dir name="bronto"><file name="common.xml" hash="f1e7ee067163e84f2e3bfc5474b3647d"/><file name="emailcapture.xml" hash="b5d3b0efc5daffb5fa66561f690013d0"/><file name="newsletter.xml" hash="b7d4c9b1fb4fabb4255c6df64e98d332"/><file name="order.xml" hash="fba740927a514649988b16e8f936072b"/></dir></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="bronto"><dir name="api"><file name="guide.phtml" hash="e0be3aa741add86dc5f297fcc09c714a"/></dir><dir name="common"><file name="about.phtml" hash="fa5886d9dba15226eec520916b7c4aa2"/><file name="cron.phtml" hash="80af8ca4a8e2c74449904748aeaf718b"/><file name="guide.phtml" hash="07bcf3ad2e6a9136888bbf4a8bf0b51d"/><file name="guiders.phtml" hash="790ac5e5f8df13753db5ac3e68d08d76"/><file name="suppressed.phtml" hash="07fd355b58dd1c9ee074c7fb132545e2"/></dir><dir name="customer"><file name="guide.phtml" hash="14e9b74f62bde430a6df96cf04ee94dc"/></dir><dir name="email"><file name="guide.phtml" hash="c8fe9f3cadf5e50d6f0e69979462c407"/><dir name="template"><file name="edit.phtml" hash="802ef394d1943f18d33d39d0b85dcc3d"/><file name="list.phtml" hash="e9eb7ffc48f9d17a21917d86ff18b0fc"/></dir></dir><dir name="news"><file name="guide.phtml" hash="19026e62d49476371edc4f9e7f68d2c1"/><file name="item.phtml" hash="7146fcc10eeb0bdc33a78ea8fe060f74"/></dir><dir name="newsletter"><file name="guide.phtml" hash="58cb7d63937a756afd939c0c69edeccb"/></dir><dir name="order"><file name="guide.phtml" hash="831ff327cf49d198bec62ad968587593"/></dir><dir name="popup"><file name="guide.phtml" hash="6bd6240f1402a03dd0d5022b8c39b3ab"/></dir><dir name="reminder"><dir name="grid"><file name="container.phtml" hash="28518ad2522f1b213102eb52071ef247"/></dir><file name="guide.phtml" hash="db033c357b5e335b6d65a44fa78c7c7e"/></dir><dir name="reviews"><file name="guide.phtml" hash="caad8c25594859c554a1fa1e505c92f0"/></dir><dir name="verify"><dir name="advanced"><file name="observer.phtml" hash="775deb643169f76f72793873a258eac1"/></dir><file name="advanced.phtml" hash="8479f4762de8943de234407bbc80b679"/><dir name="conflictchecker"><file name="errors.phtml" hash="91adf7e31ce9ec1ae06c18adb489bf54"/></dir><file name="guide.phtml" hash="664368c479f04ef022e9f0f96b2b9eca"/><file name="installs.phtml" hash="34b6bd602043376f8c17ef7744a27537"/><dir name="permissionchecker"><file name="button.phtml" hash="0a98a58dcb6d28d768e83556e6e690bc"/><file name="errors.phtml" hash="6da7357831323392e3badcb1cc8268aa"/><file name="index.phtml" hash="628a80e9245642cb92cc75a6dd07d1d7"/></dir></dir></dir></dir><dir name="layout"><dir name="bronto"><file name="common.xml" hash="17249c1370a12a8c0a68959d217f88f0"/><file name="email.xml" hash="be77c906770a0d818898a910b03cbe4f"/><file name="news.xml" hash="96d679b735d551a3e83fb71bfe2a7fca"/><file name="reminder.xml" hash="07186394676c6db016d00bdee53e8394"/><file name="verify.xml" hash="e5676df09f0a79bdedc314e2bfdb4b59"/></dir></dir></dir></dir></dir></target><target name="mage"><dir name="shell"><dir name="bronto"><file name="cron.php" hash="7f6eaae8f93fd3a63df8b498d485c108"/><file name="fix.php" hash="98e9ea41e1faae9a3f211b1a82afe217"/></dir></dir></target></contents>
|
61 |
<compatible/>
|
62 |
<dependencies><required><php><min>5.2.13</min><max>6.0.0</max></php><extension><name>soap</name><min></min><max></max></extension><extension><name>openssl</name><min></min><max></max></extension></required></dependencies>
|
63 |
</package>
|
shell/bronto/cron.php
CHANGED
@@ -17,12 +17,13 @@ class Bronto_Cron_Os_Script extends Mage_Shell_Abstract {
|
|
17 |
* @var array
|
18 |
*/
|
19 |
protected $_validCronTasks = array(
|
|
|
20 |
'customer',
|
21 |
'newsletter',
|
22 |
'order',
|
23 |
'reminder',
|
24 |
);
|
25 |
-
|
26 |
/**
|
27 |
* Retrieve Usage Help Message
|
28 |
*
|
@@ -39,7 +40,7 @@ Usage: php -f bronto/cron.php -- -a <action> <options>
|
|
39 |
Defined actions:
|
40 |
|
41 |
list Shows a list of all available tasks
|
42 |
-
|
43 |
run Runs the Cron processes
|
44 |
-t --task <task> Specifies an individual task to run
|
45 |
|
@@ -54,6 +55,9 @@ USAGE;
|
|
54 |
*/
|
55 |
protected function _getTaskName($task)
|
56 |
{
|
|
|
|
|
|
|
57 |
return Mage::helper('bronto_' . $task)->getName();
|
58 |
}
|
59 |
|
@@ -62,13 +66,14 @@ USAGE;
|
|
62 |
*/
|
63 |
public function run() {
|
64 |
$action = $this->getArg('action') ?: $this->getArg('a');
|
65 |
-
|
66 |
switch ($action) {
|
67 |
case 'list':
|
68 |
echo <<<LIST
|
69 |
|
70 |
Tasks:
|
71 |
|
|
|
72 |
customer {$this->_getTaskName('customer')}
|
73 |
newsletter {$this->_getTaskName('newsletter')}
|
74 |
order {$this->_getTaskName('order')}
|
@@ -85,14 +90,14 @@ LIST;
|
|
85 |
break;
|
86 |
}
|
87 |
}
|
88 |
-
|
89 |
/**
|
90 |
* Handle run action and get specified tasks
|
91 |
*/
|
92 |
protected function _processCrons()
|
93 |
{
|
94 |
$task = $this->getArg('task') ?: $this->getArg('t');
|
95 |
-
|
96 |
if (!$task) {
|
97 |
$this->_runCron($this->_validCronTasks);
|
98 |
} else if (in_array($task, $this->_validCronTasks)) {
|
@@ -100,10 +105,10 @@ LIST;
|
|
100 |
} else {
|
101 |
$this->_showHelp();
|
102 |
}
|
103 |
-
|
104 |
echo "Complete\r\n\r\n";
|
105 |
}
|
106 |
-
|
107 |
/**
|
108 |
* Run Each Specified Cron
|
109 |
* @param array $tasks
|
@@ -115,6 +120,9 @@ LIST;
|
|
115 |
|
116 |
try {
|
117 |
switch ($task) {
|
|
|
|
|
|
|
118 |
case 'customer':
|
119 |
$result = Mage::getModel('bronto_customer/observer')->processCustomers(true);
|
120 |
break;
|
@@ -136,11 +144,11 @@ LIST;
|
|
136 |
} catch (Exception $e) {
|
137 |
echo $e->getMessage();
|
138 |
}
|
139 |
-
|
140 |
echo "\r\n{$this->_getTaskName($task)}: Finished \r\n\r\n";
|
141 |
}
|
142 |
}
|
143 |
-
|
144 |
/**
|
145 |
* Translate the result array into a readable string
|
146 |
* @param array $results
|
@@ -152,7 +160,7 @@ LIST;
|
|
152 |
foreach ($results as $title => $count) {
|
153 |
$display .= ' ' . $title . ' = ' . $count . ';';
|
154 |
}
|
155 |
-
|
156 |
return $display;
|
157 |
}
|
158 |
}
|
17 |
* @var array
|
18 |
*/
|
19 |
protected $_validCronTasks = array(
|
20 |
+
'api',
|
21 |
'customer',
|
22 |
'newsletter',
|
23 |
'order',
|
24 |
'reminder',
|
25 |
);
|
26 |
+
|
27 |
/**
|
28 |
* Retrieve Usage Help Message
|
29 |
*
|
40 |
Defined actions:
|
41 |
|
42 |
list Shows a list of all available tasks
|
43 |
+
|
44 |
run Runs the Cron processes
|
45 |
-t --task <task> Specifies an individual task to run
|
46 |
|
55 |
*/
|
56 |
protected function _getTaskName($task)
|
57 |
{
|
58 |
+
if ($task == 'api') {
|
59 |
+
$task = 'common/' . $task;
|
60 |
+
}
|
61 |
return Mage::helper('bronto_' . $task)->getName();
|
62 |
}
|
63 |
|
66 |
*/
|
67 |
public function run() {
|
68 |
$action = $this->getArg('action') ?: $this->getArg('a');
|
69 |
+
|
70 |
switch ($action) {
|
71 |
case 'list':
|
72 |
echo <<<LIST
|
73 |
|
74 |
Tasks:
|
75 |
|
76 |
+
api {$this->_getTaskName('api')}
|
77 |
customer {$this->_getTaskName('customer')}
|
78 |
newsletter {$this->_getTaskName('newsletter')}
|
79 |
order {$this->_getTaskName('order')}
|
90 |
break;
|
91 |
}
|
92 |
}
|
93 |
+
|
94 |
/**
|
95 |
* Handle run action and get specified tasks
|
96 |
*/
|
97 |
protected function _processCrons()
|
98 |
{
|
99 |
$task = $this->getArg('task') ?: $this->getArg('t');
|
100 |
+
|
101 |
if (!$task) {
|
102 |
$this->_runCron($this->_validCronTasks);
|
103 |
} else if (in_array($task, $this->_validCronTasks)) {
|
105 |
} else {
|
106 |
$this->_showHelp();
|
107 |
}
|
108 |
+
|
109 |
echo "Complete\r\n\r\n";
|
110 |
}
|
111 |
+
|
112 |
/**
|
113 |
* Run Each Specified Cron
|
114 |
* @param array $tasks
|
120 |
|
121 |
try {
|
122 |
switch ($task) {
|
123 |
+
case 'api':
|
124 |
+
$result = Mage::getModel('bronto_common/observer')->processApiErrors();
|
125 |
+
break;
|
126 |
case 'customer':
|
127 |
$result = Mage::getModel('bronto_customer/observer')->processCustomers(true);
|
128 |
break;
|
144 |
} catch (Exception $e) {
|
145 |
echo $e->getMessage();
|
146 |
}
|
147 |
+
|
148 |
echo "\r\n{$this->_getTaskName($task)}: Finished \r\n\r\n";
|
149 |
}
|
150 |
}
|
151 |
+
|
152 |
/**
|
153 |
* Translate the result array into a readable string
|
154 |
* @param array $results
|
160 |
foreach ($results as $title => $count) {
|
161 |
$display .= ' ' . $title . ' = ' . $count . ';';
|
162 |
}
|
163 |
+
|
164 |
return $display;
|
165 |
}
|
166 |
}
|
shell/bronto/fix.php
CHANGED
@@ -24,6 +24,7 @@ class Bronto_Fix_Os_Script extends Mage_Shell_Abstract {
|
|
24 |
'newsletter',
|
25 |
'order',
|
26 |
'reminder',
|
|
|
27 |
);
|
28 |
|
29 |
/**
|
@@ -84,6 +85,7 @@ Tasks:
|
|
84 |
newsletter {$this->_getTaskName('newsletter')}
|
85 |
order {$this->_getTaskName('order')}
|
86 |
reminder {$this->_getTaskName('reminder')}
|
|
|
87 |
|
88 |
|
89 |
LIST;
|
24 |
'newsletter',
|
25 |
'order',
|
26 |
'reminder',
|
27 |
+
'reviews',
|
28 |
);
|
29 |
|
30 |
/**
|
85 |
newsletter {$this->_getTaskName('newsletter')}
|
86 |
order {$this->_getTaskName('order')}
|
87 |
reminder {$this->_getTaskName('reminder')}
|
88 |
+
reviews {$this->_getTaskName('reviews')}
|
89 |
|
90 |
|
91 |
LIST;
|