Version Notes
Secure endpoint tasks
Prattle mode
1.3 compatibility fixes
Compilation check on remote update
Ultra paranoid getSource checking
Download this release
Release Info
Developer | Springbot Integrations Team |
Extension | Springbot |
Version | 1.4.1.0 |
Comparing to | |
See all releases |
Code changes from version 1.4.0.9 to 1.4.1.0
- app/code/community/Springbot/Boss.php +21 -2
- app/code/community/Springbot/Cli.php +1 -1
- app/code/community/Springbot/Combine/Helper/Parser.php +6 -5
- app/code/community/Springbot/Combine/Model/Harvest/AttributeSets.php +2 -0
- app/code/community/Springbot/Combine/Model/Harvest/CustomerAttributeSets.php +18 -0
- app/code/community/Springbot/Combine/Model/Parser.php +9 -0
- app/code/community/Springbot/Combine/Model/Resource/Debug.php +1 -1
- app/code/community/Springbot/Combine/Model/System/Config/Source/Harvestertype.php +13 -0
- app/code/community/Springbot/Combine/etc/config.xml +5 -3
- app/code/community/Springbot/Combine/etc/system.xml +18 -28
- app/code/community/Springbot/Combine/sql/combine_setup/mysql4-upgrade-1.3.9.9-1.4.0.0.php +8 -2
- app/code/community/Springbot/Services.php +0 -5
- app/code/community/Springbot/Services/Cmd/Healthcheck.php +3 -17
- app/code/community/Springbot/Services/Tasks.php +30 -0
- app/code/community/Springbot/Services/Tasks/ClearCache.php +25 -0
- app/code/community/Springbot/Services/Tasks/ClearJobs.php +15 -0
- app/code/community/Springbot/Services/Tasks/ClearStores.php +23 -0
- app/code/community/Springbot/Services/Tasks/Debug.php +24 -0
- app/code/community/Springbot/Services/Tasks/DeleteJob.php +16 -0
- app/code/community/Springbot/Services/Tasks/DeliverEventLog.php +4 -2
- app/code/community/Springbot/Services/Tasks/Forecast.php +1 -0
- app/code/community/Springbot/Services/Tasks/GetLog.php +1 -0
- app/code/community/Springbot/Services/Tasks/Harvest.php +15 -0
- app/code/community/Springbot/Services/Tasks/Healthcheck.php +16 -0
- app/code/community/Springbot/Services/Tasks/Jobs.php +18 -0
- app/code/community/Springbot/Services/Tasks/KillHarvest.php +1 -0
- app/code/community/Springbot/Services/Tasks/LaunchFullHarvest.php +1 -0
- app/code/community/Springbot/Services/Tasks/LaunchPartialHarvest.php +1 -0
- app/code/community/Springbot/Services/Tasks/PostItem.php +2 -0
- app/code/community/Springbot/Services/Tasks/RegisterStores.php +19 -0
- app/code/community/Springbot/Services/Tasks/ResetRetries.php +11 -0
- app/code/community/Springbot/Services/Tasks/ResumeHarvest.php +1 -0
- app/code/community/Springbot/Services/Tasks/Run.php +17 -0
- app/code/community/Springbot/Services/Tasks/SetVar.php +1 -0
- app/code/community/Springbot/Services/Tasks/SkipStoreHarvest.php +0 -9
- app/code/community/Springbot/Services/Tasks/UnlockJobs.php +15 -0
- app/code/community/Springbot/Services/Tasks/ViewConfig.php +13 -0
- app/code/community/Springbot/Shadow/Helper/Prattler.php +5 -6
- app/code/community/Springbot/Shadow/controllers/IndexController.php +31 -260
- package.xml +7 -5
- skin/adminhtml/default/default/bmbleb/bmbleb.css +4 -0
app/code/community/Springbot/Boss.php
CHANGED
@@ -100,7 +100,7 @@ class Springbot_Boss
|
|
100 |
|
101 |
public static function startWorkManager()
|
102 |
{
|
103 |
-
if(self::active() && !self::isCron()) {
|
104 |
$status = Mage::getModel('combine/cron_manager_status');
|
105 |
if(
|
106 |
!$status->isBlocked() &&
|
@@ -124,7 +124,26 @@ class Springbot_Boss
|
|
124 |
|
125 |
public static function isCron()
|
126 |
{
|
127 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
128 |
}
|
129 |
|
130 |
public static function storeIdsExist()
|
100 |
|
101 |
public static function startWorkManager()
|
102 |
{
|
103 |
+
if(self::active() && !self::isCron() && !self::isPrattler()) {
|
104 |
$status = Mage::getModel('combine/cron_manager_status');
|
105 |
if(
|
106 |
!$status->isBlocked() &&
|
124 |
|
125 |
public static function isCron()
|
126 |
{
|
127 |
+
if (Mage::getStoreConfig('springbot/advanced/harvester_type') == "cron") {
|
128 |
+
return true;
|
129 |
+
} else {
|
130 |
+
return false;
|
131 |
+
}
|
132 |
+
}
|
133 |
+
|
134 |
+
|
135 |
+
public static function isPrattler()
|
136 |
+
{
|
137 |
+
if (Mage::getStoreConfig('springbot/advanced/harvester_type') == "prattler") {
|
138 |
+
return true;
|
139 |
+
} else {
|
140 |
+
return false;
|
141 |
+
}
|
142 |
+
}
|
143 |
+
|
144 |
+
public static function harvesterType()
|
145 |
+
{
|
146 |
+
return Mage::getStoreConfig('springbot/advanced/harvester_type');
|
147 |
}
|
148 |
|
149 |
public static function storeIdsExist()
|
app/code/community/Springbot/Cli.php
CHANGED
@@ -22,7 +22,7 @@ class Springbot_Cli
|
|
22 |
*/
|
23 |
public static function async($method, $args = array())
|
24 |
{
|
25 |
-
if(Springbot_Boss::isCron()) {
|
26 |
Springbot_Boss::scheduleJob($method, $args, 1);
|
27 |
} else {
|
28 |
self::internalCallback($method, $args, true);
|
22 |
*/
|
23 |
public static function async($method, $args = array())
|
24 |
{
|
25 |
+
if (Springbot_Boss::isCron() || Springbot_Boss::isPrattler()) {
|
26 |
Springbot_Boss::scheduleJob($method, $args, 1);
|
27 |
} else {
|
28 |
self::internalCallback($method, $args, true);
|
app/code/community/Springbot/Combine/Helper/Parser.php
CHANGED
@@ -156,11 +156,12 @@ class Springbot_Combine_Helper_Parser extends Mage_Core_Helper_Abstract
|
|
156 |
$resource = $product->getResource();
|
157 |
if (is_object($resource)) {
|
158 |
$attribute = $resource->getAttribute($attributeCode);
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
|
|
164 |
}
|
165 |
}
|
166 |
}
|
156 |
$resource = $product->getResource();
|
157 |
if (is_object($resource)) {
|
158 |
$attribute = $resource->getAttribute($attributeCode);
|
159 |
+
if (is_object($attribute)) {
|
160 |
+
if(Mage::getModel($attribute->getSourceModel())) {
|
161 |
+
$source = $attribute->getSource();
|
162 |
+
if (is_object($source)) {
|
163 |
+
return $source->getOptionText($product->getAttributeText($attributeCode));
|
164 |
+
}
|
165 |
}
|
166 |
}
|
167 |
}
|
app/code/community/Springbot/Combine/Model/Harvest/AttributeSets.php
CHANGED
@@ -41,6 +41,8 @@ class Springbot_Combine_Model_Harvest_AttributeSets extends Springbot_Combine_Mo
|
|
41 |
$parser = Mage::getModel($this->getParserModel(), $model);
|
42 |
$parser->setMageStoreId($this->getStoreId());
|
43 |
$parser->setStoreId($this->getStoreId());
|
|
|
|
|
44 |
if ($this->getDelete()) {
|
45 |
$parser->setIsDeleted(true);
|
46 |
}
|
41 |
$parser = Mage::getModel($this->getParserModel(), $model);
|
42 |
$parser->setMageStoreId($this->getStoreId());
|
43 |
$parser->setStoreId($this->getStoreId());
|
44 |
+
$parser->parse();
|
45 |
+
|
46 |
if ($this->getDelete()) {
|
47 |
$parser->setIsDeleted(true);
|
48 |
}
|
app/code/community/Springbot/Combine/Model/Harvest/CustomerAttributeSets.php
CHANGED
@@ -29,6 +29,24 @@ class Springbot_Combine_Model_Harvest_CustomerAttributeSets extends Springbot_Co
|
|
29 |
return 'attribute_set_id';
|
30 |
}
|
31 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32 |
|
33 |
public function loadMageModel($id)
|
34 |
{
|
29 |
return 'attribute_set_id';
|
30 |
}
|
31 |
|
32 |
+
/**
|
33 |
+
* Parse caller for dependent parser method
|
34 |
+
*
|
35 |
+
* @param Mage_Core_Model_Abstract $model
|
36 |
+
* @return Zend_Json_Expr
|
37 |
+
*/
|
38 |
+
public function parse($model)
|
39 |
+
{
|
40 |
+
$parser = Mage::getModel($this->getParserModel(), $model);
|
41 |
+
$parser->setMageStoreId($this->getStoreId());
|
42 |
+
$parser->setStoreId($this->getStoreId());
|
43 |
+
$parser->parse();
|
44 |
+
|
45 |
+
if ($this->getDelete()) {
|
46 |
+
$parser->setIsDeleted(true);
|
47 |
+
}
|
48 |
+
return $parser->getData();
|
49 |
+
}
|
50 |
|
51 |
public function loadMageModel($id)
|
52 |
{
|
app/code/community/Springbot/Combine/Model/Parser.php
CHANGED
@@ -5,6 +5,15 @@ abstract class Springbot_Combine_Model_Parser extends Varien_Object
|
|
5 |
protected $_parsed = false;
|
6 |
protected $_attrProtected = array();
|
7 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
/**
|
9 |
* Redeclaration of Varien_Object::toJson
|
10 |
*
|
5 |
protected $_parsed = false;
|
6 |
protected $_attrProtected = array();
|
7 |
|
8 |
+
/*
|
9 |
+
* Public accessor for parse method
|
10 |
+
*/
|
11 |
+
public function parse()
|
12 |
+
{
|
13 |
+
$this->_parse();
|
14 |
+
return $this;
|
15 |
+
}
|
16 |
+
|
17 |
/**
|
18 |
* Redeclaration of Varien_Object::toJson
|
19 |
*
|
app/code/community/Springbot/Combine/Model/Resource/Debug.php
CHANGED
@@ -59,7 +59,7 @@ class Springbot_Combine_Model_Resource_Debug extends Springbot_Combine_Model_Res
|
|
59 |
{
|
60 |
$readConnection = Mage::getSingleton('core/resource')->getConnection('core_read');
|
61 |
$quotesTableName = Mage::getSingleton('core/resource')->getTableName('sales_flat_order');
|
62 |
-
$query = "SELECT COUNT(*) AS `count`, `store_id` FROM (SELECT DISTINCT (customer_email), `store_id` FROM `
|
63 |
return $readConnection->fetchAll($query);
|
64 |
}
|
65 |
|
59 |
{
|
60 |
$readConnection = Mage::getSingleton('core/resource')->getConnection('core_read');
|
61 |
$quotesTableName = Mage::getSingleton('core/resource')->getTableName('sales_flat_order');
|
62 |
+
$query = "SELECT COUNT(*) AS `count`, `store_id` FROM (SELECT DISTINCT (customer_email), `store_id` FROM `{$quotesTableName}` GROUP BY store_id, customer_email) `customers` GROUP BY `store_id`";
|
63 |
return $readConnection->fetchAll($query);
|
64 |
}
|
65 |
|
app/code/community/Springbot/Combine/Model/System/Config/Source/Harvestertype.php
ADDED
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Springbot_Combine_Model_System_Config_Source_Harvestertype
|
4 |
+
{
|
5 |
+
public function toOptionArray()
|
6 |
+
{
|
7 |
+
return array(
|
8 |
+
array('value' => 'cron', 'label'=>Mage::helper('combine')->__('Cron')),
|
9 |
+
array('value' => 'worker', 'label'=>Mage::helper('combine')->__('Worker')),
|
10 |
+
array('value' => 'prattler', 'label'=>Mage::helper('combine')->__('Prattler')),
|
11 |
+
);
|
12 |
+
}
|
13 |
+
}
|
app/code/community/Springbot/Combine/etc/config.xml
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
<config>
|
3 |
<modules>
|
4 |
<Springbot_Combine>
|
5 |
-
<version>1.4.0
|
6 |
</Springbot_Combine>
|
7 |
</modules>
|
8 |
<global>
|
@@ -86,6 +86,8 @@
|
|
86 |
<filesize_limit>10000000</filesize_limit>
|
87 |
</debug>
|
88 |
<advanced>
|
|
|
|
|
89 |
<nice>0</nice>
|
90 |
<nohup>0</nohup>
|
91 |
<worker_count>2</worker_count>
|
@@ -101,7 +103,7 @@
|
|
101 |
</cart_restore>
|
102 |
<cron>
|
103 |
<enabled>0</enabled>
|
104 |
-
<max_jobs>
|
105 |
</cron>
|
106 |
</springbot>
|
107 |
</default>
|
@@ -134,4 +136,4 @@
|
|
134 |
</resources>
|
135 |
</acl>
|
136 |
</adminhtml>
|
137 |
-
</config>
|
2 |
<config>
|
3 |
<modules>
|
4 |
<Springbot_Combine>
|
5 |
+
<version>1.4.1.0</version>
|
6 |
</Springbot_Combine>
|
7 |
</modules>
|
8 |
<global>
|
86 |
<filesize_limit>10000000</filesize_limit>
|
87 |
</debug>
|
88 |
<advanced>
|
89 |
+
<harvester_type>cron</harvester_type>
|
90 |
+
<max_jobs>10</max_jobs>
|
91 |
<nice>0</nice>
|
92 |
<nohup>0</nohup>
|
93 |
<worker_count>2</worker_count>
|
103 |
</cart_restore>
|
104 |
<cron>
|
105 |
<enabled>0</enabled>
|
106 |
+
<max_jobs>10</max_jobs>
|
107 |
</cron>
|
108 |
</springbot>
|
109 |
</default>
|
136 |
</resources>
|
137 |
</acl>
|
138 |
</adminhtml>
|
139 |
+
</config>
|
app/code/community/Springbot/Combine/etc/system.xml
CHANGED
@@ -228,41 +228,32 @@
|
|
228 |
</filesize_limit>
|
229 |
</fields>
|
230 |
</debug>
|
231 |
-
<
|
232 |
-
<label>
|
233 |
<frontend_type>text</frontend_type>
|
234 |
-
<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 |
<fields>
|
239 |
-
<
|
240 |
-
<label>
|
241 |
<frontend_type>select</frontend_type>
|
242 |
-
<source_model>
|
243 |
-
<sort_order>
|
244 |
<show_in_default>1</show_in_default>
|
245 |
<show_in_website>0</show_in_website>
|
246 |
<show_in_store>0</show_in_store>
|
247 |
-
|
|
|
248 |
<max_jobs translate="label">
|
249 |
-
<label>Max jobs to run per instance</label>
|
250 |
<frontend_type>text</frontend_type>
|
251 |
<sort_order>20</sort_order>
|
252 |
<show_in_default>1</show_in_default>
|
253 |
<show_in_website>0</show_in_website>
|
254 |
<comment>This is the maximum number of jobs the cron worker will attempt to run each time it is called. Leave blank for unlimited.</comment>
|
255 |
</max_jobs>
|
256 |
-
</fields>
|
257 |
-
</cron>
|
258 |
-
<advanced translate="label">
|
259 |
-
<label>Advanced Config</label>
|
260 |
-
<frontend_type>text</frontend_type>
|
261 |
-
<sort_order>550</sort_order>
|
262 |
-
<show_in_default>1</show_in_default>
|
263 |
-
<show_in_website>0</show_in_website>
|
264 |
-
<show_in_store>0</show_in_store>
|
265 |
-
<fields>
|
266 |
<nohup translate="label">
|
267 |
<label>Nohup</label>
|
268 |
<frontend_type>select</frontend_type>
|
@@ -281,14 +272,14 @@
|
|
281 |
<show_in_website>0</show_in_website>
|
282 |
<show_in_store>0</show_in_store>
|
283 |
</nice>
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
|
290 |
-
|
291 |
-
|
292 |
<sleep_interval translate="label">
|
293 |
<label>Sleep Interval</label>
|
294 |
<frontend_type>text</frontend_type>
|
@@ -349,4 +340,3 @@
|
|
349 |
</springbot>
|
350 |
</sections>
|
351 |
</config>
|
352 |
-
|
228 |
</filesize_limit>
|
229 |
</fields>
|
230 |
</debug>
|
231 |
+
<advanced translate="label">
|
232 |
+
<label>Advanced Config</label>
|
233 |
<frontend_type>text</frontend_type>
|
234 |
+
<sort_order>550</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 |
<fields>
|
239 |
+
<harvester_type translate="label">
|
240 |
+
<label>Harvester Type</label>
|
241 |
<frontend_type>select</frontend_type>
|
242 |
+
<source_model>combine/system_config_source_harvestertype</source_model>
|
243 |
+
<sort_order>19</sort_order>
|
244 |
<show_in_default>1</show_in_default>
|
245 |
<show_in_website>0</show_in_website>
|
246 |
<show_in_store>0</show_in_store>
|
247 |
+
<size>2</size>
|
248 |
+
</harvester_type>
|
249 |
<max_jobs translate="label">
|
250 |
+
<label>Max cron jobs to run per instance</label>
|
251 |
<frontend_type>text</frontend_type>
|
252 |
<sort_order>20</sort_order>
|
253 |
<show_in_default>1</show_in_default>
|
254 |
<show_in_website>0</show_in_website>
|
255 |
<comment>This is the maximum number of jobs the cron worker will attempt to run each time it is called. Leave blank for unlimited.</comment>
|
256 |
</max_jobs>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
257 |
<nohup translate="label">
|
258 |
<label>Nohup</label>
|
259 |
<frontend_type>select</frontend_type>
|
272 |
<show_in_website>0</show_in_website>
|
273 |
<show_in_store>0</show_in_store>
|
274 |
</nice>
|
275 |
+
<worker_count translate="label">
|
276 |
+
<label>Worker Count</label>
|
277 |
+
<frontend_type>text</frontend_type>
|
278 |
+
<sort_order>90</sort_order>
|
279 |
+
<show_in_default>1</show_in_default>
|
280 |
+
<show_in_website>0</show_in_website>
|
281 |
+
<show_in_store>0</show_in_store>
|
282 |
+
</worker_count>
|
283 |
<sleep_interval translate="label">
|
284 |
<label>Sleep Interval</label>
|
285 |
<frontend_type>text</frontend_type>
|
340 |
</springbot>
|
341 |
</sections>
|
342 |
</config>
|
|
app/code/community/Springbot/Combine/sql/combine_setup/mysql4-upgrade-1.3.9.9-1.4.0.0.php
CHANGED
@@ -31,14 +31,20 @@ try {
|
|
31 |
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
32 |
");
|
33 |
|
34 |
-
|
35 |
} catch (Exception $e) {
|
36 |
Springbot_Log::error('Springbot 1.2.1.0-1.4.0.0 update failed!');
|
37 |
-
Springbot_Log::error(new Exception('Install failed clear and retry'));
|
38 |
if (!$session->getSbReinstall()) {
|
39 |
$session->setSbReinstall(true);
|
40 |
$installer->reinstallSetupScript('1.2.1.0', '1.4.0.0');
|
41 |
}
|
42 |
}
|
43 |
|
|
|
|
|
|
|
|
|
|
|
|
|
44 |
$installer->endSetup();
|
31 |
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
32 |
");
|
33 |
|
34 |
+
|
35 |
} catch (Exception $e) {
|
36 |
Springbot_Log::error('Springbot 1.2.1.0-1.4.0.0 update failed!');
|
37 |
+
Springbot_Log::error(new Exception('Install failed clear and retry. ' . $e->getMessage()));
|
38 |
if (!$session->getSbReinstall()) {
|
39 |
$session->setSbReinstall(true);
|
40 |
$installer->reinstallSetupScript('1.2.1.0', '1.4.0.0');
|
41 |
}
|
42 |
}
|
43 |
|
44 |
+
try {
|
45 |
+
$installer->run("ALTER TABLE `{$installer->getTable('combine/cron_queue')}` ADD COLUMN `next_run_at` DATETIME NULL AFTER `error`;");
|
46 |
+
} catch (Exception $e) {
|
47 |
+
// Don't do anything
|
48 |
+
}
|
49 |
+
|
50 |
$installer->endSetup();
|
app/code/community/Springbot/Services.php
CHANGED
@@ -111,11 +111,6 @@ abstract class Springbot_Services extends Varien_Object
|
|
111 |
return $harvester->getSegmentMax();
|
112 |
}
|
113 |
|
114 |
-
public function getType()
|
115 |
-
{
|
116 |
-
return ucwords($this->_type);
|
117 |
-
}
|
118 |
-
|
119 |
public function getRuntime()
|
120 |
{
|
121 |
return number_format(microtime(true) - $this->_startTime, 3, '.', '');
|
111 |
return $harvester->getSegmentMax();
|
112 |
}
|
113 |
|
|
|
|
|
|
|
|
|
|
|
114 |
public function getRuntime()
|
115 |
{
|
116 |
return number_format(microtime(true) - $this->_startTime, 3, '.', '');
|
app/code/community/Springbot/Services/Cmd/Healthcheck.php
CHANGED
@@ -73,15 +73,8 @@ class Springbot_Services_Cmd_Healthcheck extends Springbot_Services
|
|
73 |
|
74 |
private function _makeTaskInstance($cmd)
|
75 |
{
|
76 |
-
$taskname = $
|
77 |
-
$
|
78 |
-
|
79 |
-
Springbot_Log::debug("Init $classname");
|
80 |
-
|
81 |
-
$task = new $classname();
|
82 |
-
$task->setData($this->_getParams($cmd));
|
83 |
-
|
84 |
-
return $task;
|
85 |
}
|
86 |
|
87 |
private function _getParams($cmd)
|
@@ -93,12 +86,5 @@ class Springbot_Services_Cmd_Healthcheck extends Springbot_Services
|
|
93 |
}
|
94 |
}
|
95 |
|
96 |
-
|
97 |
-
{
|
98 |
-
$toReturn = '';
|
99 |
-
foreach(explode('_', $string) as $word) {
|
100 |
-
$toReturn .= ucfirst($word);
|
101 |
-
}
|
102 |
-
return $toReturn;
|
103 |
-
}
|
104 |
}
|
73 |
|
74 |
private function _makeTaskInstance($cmd)
|
75 |
{
|
76 |
+
$taskname = $cmd['command'];
|
77 |
+
return Springbot_Services_Tasks::makeTask($taskname, $this->_getParams($cmd));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
78 |
}
|
79 |
|
80 |
private function _getParams($cmd)
|
86 |
}
|
87 |
}
|
88 |
|
89 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
90 |
}
|
app/code/community/Springbot/Services/Tasks.php
ADDED
@@ -0,0 +1,30 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Springbot_Services_Tasks
|
4 |
+
{
|
5 |
+
|
6 |
+
public static function makeTask($taskname, $params)
|
7 |
+
{
|
8 |
+
$className = self::_snakeToCamel($taskname);
|
9 |
+
$fullClassName = "Springbot_Services_Tasks_{$className}";
|
10 |
+
Springbot_Log::debug("Init {$fullClassName}");
|
11 |
+
if (class_exists($fullClassName)) {
|
12 |
+
$task = new $fullClassName();
|
13 |
+
$task->setData($params);
|
14 |
+
return $task;
|
15 |
+
}
|
16 |
+
else {
|
17 |
+
return null;
|
18 |
+
}
|
19 |
+
}
|
20 |
+
|
21 |
+
private static function _snakeToCamel($string)
|
22 |
+
{
|
23 |
+
$toReturn = '';
|
24 |
+
foreach(explode('_', $string) as $word) {
|
25 |
+
$toReturn .= ucfirst($word);
|
26 |
+
}
|
27 |
+
return $toReturn;
|
28 |
+
}
|
29 |
+
|
30 |
+
}
|
app/code/community/Springbot/Services/Tasks/ClearCache.php
ADDED
@@ -0,0 +1,25 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Springbot_Services_Tasks_ClearCache extends Springbot_Services
|
4 |
+
{
|
5 |
+
public function run()
|
6 |
+
{
|
7 |
+
try {
|
8 |
+
$allTypes = Mage::app()->useCache();
|
9 |
+
foreach($allTypes as $type => $blah) {
|
10 |
+
Mage::app()->getCacheInstance()->cleanType($type);
|
11 |
+
}
|
12 |
+
return true;
|
13 |
+
}
|
14 |
+
catch (Exception $e) {
|
15 |
+
return array(
|
16 |
+
'success' => false,
|
17 |
+
'message' => $e->getMessage()
|
18 |
+
);
|
19 |
+
}
|
20 |
+
}
|
21 |
+
}
|
22 |
+
|
23 |
+
|
24 |
+
|
25 |
+
|
app/code/community/Springbot/Services/Tasks/ClearJobs.php
ADDED
@@ -0,0 +1,15 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Springbot_Services_Tasks_ClearJobs extends Springbot_Services
|
4 |
+
{
|
5 |
+
public function run()
|
6 |
+
{
|
7 |
+
$resource = Mage::getResourceModel('combine/cron_queue');
|
8 |
+
$resource->removeHarvestRows(null, false);
|
9 |
+
return true;
|
10 |
+
}
|
11 |
+
}
|
12 |
+
|
13 |
+
|
14 |
+
|
15 |
+
|
app/code/community/Springbot/Services/Tasks/ClearStores.php
ADDED
@@ -0,0 +1,23 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Springbot_Services_Tasks_ClearStores extends Springbot_Services
|
4 |
+
{
|
5 |
+
public function run()
|
6 |
+
{
|
7 |
+
foreach (Mage::getStoreConfig('springbot/config') as $configKey => $configValue) {
|
8 |
+
if (
|
9 |
+
(substr($configKey, 0, strlen('store_id_')) == 'store_id_') ||
|
10 |
+
(substr($configKey, 0, strlen('store_guid_')) == 'store_guid_') ||
|
11 |
+
(substr($configKey, 0, strlen('security_token_')) == 'security_token_')
|
12 |
+
) {
|
13 |
+
Mage::getModel('core/config')->saveConfig('springbot/config/' . $configKey, null, 'default', 0);
|
14 |
+
}
|
15 |
+
}
|
16 |
+
Mage::getConfig()->cleanCache();
|
17 |
+
return true;
|
18 |
+
}
|
19 |
+
}
|
20 |
+
|
21 |
+
|
22 |
+
|
23 |
+
|
app/code/community/Springbot/Services/Tasks/Debug.php
ADDED
@@ -0,0 +1,24 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Springbot_Services_Tasks_Debug extends Springbot_Services
|
4 |
+
{
|
5 |
+
public function run()
|
6 |
+
{
|
7 |
+
Mage::getConfig()->cleanCache();
|
8 |
+
$resource = Mage::getResourceModel('combine/debug');
|
9 |
+
|
10 |
+
return array(
|
11 |
+
'customers' => $resource->getCustomersRaw(),
|
12 |
+
'guests' => $resource->getGuestsRaw(),
|
13 |
+
'subscribers' => $resource->getSubscribersRaw(),
|
14 |
+
'products' => $resource->getProductsRaw(),
|
15 |
+
'categories' => $resource->getCategoriesRaw(),
|
16 |
+
'purchases' => $resource->getPurchasesRaw(),
|
17 |
+
'carts' => $resource->getCartsRaw(),
|
18 |
+
);
|
19 |
+
}
|
20 |
+
}
|
21 |
+
|
22 |
+
|
23 |
+
|
24 |
+
|
app/code/community/Springbot/Services/Tasks/DeleteJob.php
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Springbot_Services_Tasks_DeleteJob extends Springbot_Services
|
4 |
+
{
|
5 |
+
public function run()
|
6 |
+
{
|
7 |
+
if (is_numeric($this->getJobId())) {
|
8 |
+
$resource = Mage::getModel('combine/cron_queue')->getResource();
|
9 |
+
$resource->removeHarvestRow($this->getJobId());
|
10 |
+
return true;
|
11 |
+
}
|
12 |
+
else {
|
13 |
+
return false;
|
14 |
+
}
|
15 |
+
}
|
16 |
+
}
|
app/code/community/Springbot/Services/Tasks/DeliverEventLog.php
CHANGED
@@ -15,16 +15,18 @@ class Springbot_Services_Tasks_DeliverEventLog extends Springbot_Services
|
|
15 |
$eventItems[] = $event->toAction();
|
16 |
}
|
17 |
if ($eventItems) {
|
18 |
-
$result = Mage::getModel('combine/api')
|
19 |
-
->call($method, json_encode($eventItems));
|
20 |
}
|
21 |
$this->_removeEvents();
|
|
|
22 |
} catch (Exception $e) {
|
23 |
// We can capture this here and keep if from bubbling up.
|
24 |
// This api call will fail and get recreated on the next check in
|
25 |
Springbot_Log::error($e);
|
|
|
26 |
}
|
27 |
$this->_releaseLocks();
|
|
|
28 |
}
|
29 |
|
30 |
private function _removeEvents()
|
15 |
$eventItems[] = $event->toAction();
|
16 |
}
|
17 |
if ($eventItems) {
|
18 |
+
$result = Mage::getModel('combine/api')->call($method, json_encode($eventItems));
|
|
|
19 |
}
|
20 |
$this->_removeEvents();
|
21 |
+
$successful = true;
|
22 |
} catch (Exception $e) {
|
23 |
// We can capture this here and keep if from bubbling up.
|
24 |
// This api call will fail and get recreated on the next check in
|
25 |
Springbot_Log::error($e);
|
26 |
+
$successful = false;
|
27 |
}
|
28 |
$this->_releaseLocks();
|
29 |
+
return $successful;
|
30 |
}
|
31 |
|
32 |
private function _removeEvents()
|
app/code/community/Springbot/Services/Tasks/Forecast.php
CHANGED
@@ -6,5 +6,6 @@ class Springbot_Services_Tasks_Forecast extends Springbot_Services
|
|
6 |
{
|
7 |
$instance = new Springbot_Services_Cmd_Forecast();
|
8 |
$instance->forecastAllStores();
|
|
|
9 |
}
|
10 |
}
|
6 |
{
|
7 |
$instance = new Springbot_Services_Cmd_Forecast();
|
8 |
$instance->forecastAllStores();
|
9 |
+
return true;
|
10 |
}
|
11 |
}
|
app/code/community/Springbot/Services/Tasks/GetLog.php
CHANGED
@@ -25,5 +25,6 @@ class Springbot_Services_Tasks_GetLog extends Springbot_Services
|
|
25 |
Springbot_Log::harvest('['.__METHOD__.'] delivery failed ->'.$result['status']);
|
26 |
}
|
27 |
}
|
|
|
28 |
}
|
29 |
}
|
25 |
Springbot_Log::harvest('['.__METHOD__.'] delivery failed ->'.$result['status']);
|
26 |
}
|
27 |
}
|
28 |
+
return true;
|
29 |
}
|
30 |
}
|
app/code/community/Springbot/Services/Tasks/Harvest.php
ADDED
@@ -0,0 +1,15 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Springbot_Services_Tasks_Harvest extends Springbot_Services
|
4 |
+
{
|
5 |
+
public function run()
|
6 |
+
{
|
7 |
+
$harvest = new Springbot_Services_Cmd_Harvest();
|
8 |
+
$harvest->run();
|
9 |
+
return true;
|
10 |
+
}
|
11 |
+
}
|
12 |
+
|
13 |
+
|
14 |
+
|
15 |
+
|
app/code/community/Springbot/Services/Tasks/Healthcheck.php
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Springbot_Services_Tasks_Healthcheck extends Springbot_Services
|
4 |
+
{
|
5 |
+
public function run()
|
6 |
+
{
|
7 |
+
$healthcheck = new Springbot_Services_Cmd_Healthcheck();
|
8 |
+
$healthcheck->setStoreId($this->getStoreId());
|
9 |
+
$healthcheck->run();
|
10 |
+
return true;
|
11 |
+
}
|
12 |
+
}
|
13 |
+
|
14 |
+
|
15 |
+
|
16 |
+
|
app/code/community/Springbot/Services/Tasks/Jobs.php
ADDED
@@ -0,0 +1,18 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Springbot_Services_Tasks_Jobs extends Springbot_Services
|
4 |
+
{
|
5 |
+
public function run()
|
6 |
+
{
|
7 |
+
if (!$page = $this->getData('page')) {
|
8 |
+
$page = 1;
|
9 |
+
}
|
10 |
+
$collection = Mage::getModel('combine/cron_queue')->getCollection();
|
11 |
+
$collection->setPageSize(20)->setCurPage($page);
|
12 |
+
return $collection->toArray();
|
13 |
+
}
|
14 |
+
}
|
15 |
+
|
16 |
+
|
17 |
+
|
18 |
+
|
app/code/community/Springbot/Services/Tasks/KillHarvest.php
CHANGED
@@ -5,5 +5,6 @@ class Springbot_Services_Tasks_KillHarvest extends Springbot_Services
|
|
5 |
public function run()
|
6 |
{
|
7 |
Springbot_Boss::halt();
|
|
|
8 |
}
|
9 |
}
|
5 |
public function run()
|
6 |
{
|
7 |
Springbot_Boss::halt();
|
8 |
+
return true;
|
9 |
}
|
10 |
}
|
app/code/community/Springbot/Services/Tasks/LaunchFullHarvest.php
CHANGED
@@ -5,5 +5,6 @@ class Springbot_Services_Tasks_LaunchFullHarvest extends Springbot_Services
|
|
5 |
public function run()
|
6 |
{
|
7 |
Springbot_Cli::launchHarvest();
|
|
|
8 |
}
|
9 |
}
|
5 |
public function run()
|
6 |
{
|
7 |
Springbot_Cli::launchHarvest();
|
8 |
+
return true;
|
9 |
}
|
10 |
}
|
app/code/community/Springbot/Services/Tasks/LaunchPartialHarvest.php
CHANGED
@@ -15,5 +15,6 @@ class Springbot_Services_Tasks_LaunchPartialHarvest extends Springbot_Services
|
|
15 |
'default',
|
16 |
$this->getStoreId()
|
17 |
);
|
|
|
18 |
}
|
19 |
}
|
15 |
'default',
|
16 |
$this->getStoreId()
|
17 |
);
|
18 |
+
return true;
|
19 |
}
|
20 |
}
|
app/code/community/Springbot/Services/Tasks/PostItem.php
CHANGED
@@ -9,8 +9,10 @@ class Springbot_Services_Tasks_PostItem extends Springbot_Services
|
|
9 |
$instance = new $classname();
|
10 |
$instance->setEntityId($this->getEntityId());
|
11 |
$instance->run();
|
|
|
12 |
} else {
|
13 |
throw new Exception("Type not supplied for " . __CLASS__);
|
|
|
14 |
}
|
15 |
}
|
16 |
}
|
9 |
$instance = new $classname();
|
10 |
$instance->setEntityId($this->getEntityId());
|
11 |
$instance->run();
|
12 |
+
return true;
|
13 |
} else {
|
14 |
throw new Exception("Type not supplied for " . __CLASS__);
|
15 |
+
return false;
|
16 |
}
|
17 |
}
|
18 |
}
|
app/code/community/Springbot/Services/Tasks/RegisterStores.php
ADDED
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Springbot_Services_Tasks_RegisterStores extends Springbot_Services
|
4 |
+
{
|
5 |
+
public function run()
|
6 |
+
{
|
7 |
+
$service = new Springbot_Services_Store_Register;
|
8 |
+
$helper = Mage::helper('combine/harvest');
|
9 |
+
foreach ($helper->getStoresToHarvest() as $store) {
|
10 |
+
$service->setStoreId($store->getStoreId())->run();
|
11 |
+
}
|
12 |
+
Mage::getConfig()->cleanCache();
|
13 |
+
return true;
|
14 |
+
}
|
15 |
+
}
|
16 |
+
|
17 |
+
|
18 |
+
|
19 |
+
|
app/code/community/Springbot/Services/Tasks/ResetRetries.php
ADDED
@@ -0,0 +1,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Springbot_Services_Tasks_ResetRetries extends Springbot_Services
|
4 |
+
{
|
5 |
+
public function run()
|
6 |
+
{
|
7 |
+
$resource = Mage::getResourceModel('combine/cron_queue');
|
8 |
+
$resource->resetRetries();
|
9 |
+
return true;
|
10 |
+
}
|
11 |
+
}
|
app/code/community/Springbot/Services/Tasks/ResumeHarvest.php
CHANGED
@@ -7,5 +7,6 @@ class Springbot_Services_Tasks_ResumeHarvest extends Springbot_Services
|
|
7 |
Mage::getConfig()->cleanCache();
|
8 |
Mage::getConfig()->reinit();
|
9 |
Springbot_Cli::resumeHarvest();
|
|
|
10 |
}
|
11 |
}
|
7 |
Mage::getConfig()->cleanCache();
|
8 |
Mage::getConfig()->reinit();
|
9 |
Springbot_Cli::resumeHarvest();
|
10 |
+
return true;
|
11 |
}
|
12 |
}
|
app/code/community/Springbot/Services/Tasks/Run.php
ADDED
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Springbot_Services_Tasks_Run extends Springbot_Services
|
4 |
+
{
|
5 |
+
public function run()
|
6 |
+
{
|
7 |
+
$cronWorker = Mage::getModel('combine/cron_worker');
|
8 |
+
$cronWorker->run();
|
9 |
+
|
10 |
+
$helper = Mage::helper('shadow/prattler');
|
11 |
+
return $helper->getPrattlerResponse();
|
12 |
+
}
|
13 |
+
}
|
14 |
+
|
15 |
+
|
16 |
+
|
17 |
+
|
app/code/community/Springbot/Services/Tasks/SetVar.php
CHANGED
@@ -16,5 +16,6 @@ class Springbot_Services_Tasks_SetVar extends Springbot_Services
|
|
16 |
}
|
17 |
|
18 |
Mage::getConfig()->cleanCache();
|
|
|
19 |
}
|
20 |
}
|
16 |
}
|
17 |
|
18 |
Mage::getConfig()->cleanCache();
|
19 |
+
return true;
|
20 |
}
|
21 |
}
|
app/code/community/Springbot/Services/Tasks/SkipStoreHarvest.php
DELETED
@@ -1,9 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
class Springbot_Services_Tasks_SkipStoreHarvest extends Springbot_Services
|
4 |
-
{
|
5 |
-
public function run()
|
6 |
-
{
|
7 |
-
Springbot_Boss::haltStore($this->getStoreId());
|
8 |
-
}
|
9 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/Springbot/Services/Tasks/UnlockJobs.php
ADDED
@@ -0,0 +1,15 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Springbot_Services_Tasks_UnlockJobs extends Springbot_Services
|
4 |
+
{
|
5 |
+
public function run()
|
6 |
+
{
|
7 |
+
$resource = Mage::getResourceModel('combine/cron_queue');
|
8 |
+
$resource->unlockOrphanedRows();
|
9 |
+
return true;
|
10 |
+
}
|
11 |
+
}
|
12 |
+
|
13 |
+
|
14 |
+
|
15 |
+
|
app/code/community/Springbot/Services/Tasks/ViewConfig.php
ADDED
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Springbot_Services_Tasks_ViewConfig extends Springbot_Services
|
4 |
+
{
|
5 |
+
public function run()
|
6 |
+
{
|
7 |
+
return Mage::getStoreConfig('springbot');
|
8 |
+
}
|
9 |
+
}
|
10 |
+
|
11 |
+
|
12 |
+
|
13 |
+
|
app/code/community/Springbot/Shadow/Helper/Prattler.php
CHANGED
@@ -9,23 +9,22 @@ class Springbot_Shadow_Helper_Prattler extends Mage_Core_Helper_Abstract
|
|
9 |
return sha1($token);
|
10 |
}
|
11 |
|
12 |
-
public function
|
13 |
{
|
14 |
$jobs = Mage::getModel('combine/cron_queue')->getCollection();
|
15 |
$events = Mage::getModel('combine/action')->getCollection();
|
16 |
-
|
17 |
'success' => true,
|
18 |
'jobs' => $jobs->getActiveCount(),
|
19 |
'events' => $events->getSize()
|
20 |
);
|
21 |
-
return json_encode($response);
|
22 |
}
|
23 |
|
24 |
-
public function
|
25 |
{
|
26 |
-
return
|
27 |
'success' => false,
|
28 |
'message' => $e->getMessage(),
|
29 |
-
)
|
30 |
}
|
31 |
}
|
9 |
return sha1($token);
|
10 |
}
|
11 |
|
12 |
+
public function getPrattlerResponse()
|
13 |
{
|
14 |
$jobs = Mage::getModel('combine/cron_queue')->getCollection();
|
15 |
$events = Mage::getModel('combine/action')->getCollection();
|
16 |
+
return array(
|
17 |
'success' => true,
|
18 |
'jobs' => $jobs->getActiveCount(),
|
19 |
'events' => $events->getSize()
|
20 |
);
|
|
|
21 |
}
|
22 |
|
23 |
+
public function getExceptionResponse($e)
|
24 |
{
|
25 |
+
return array(
|
26 |
'success' => false,
|
27 |
'message' => $e->getMessage(),
|
28 |
+
);
|
29 |
}
|
30 |
}
|
app/code/community/Springbot/Shadow/controllers/IndexController.php
CHANGED
@@ -13,78 +13,52 @@ class Springbot_Shadow_IndexController extends Springbot_Shadow_Controller_Actio
|
|
13 |
{
|
14 |
try {
|
15 |
$params = $this->getRequest()->getParams();
|
16 |
-
|
17 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
18 |
}
|
19 |
-
|
|
|
20 |
$this->emailCaller();
|
21 |
}
|
22 |
else if (isset($params['trackable']) && isset($params['type'])) {
|
23 |
$this->trackableCaller();
|
24 |
}
|
25 |
-
else if (isset($params['
|
26 |
-
$this->
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
$this->deliverEventLogCaller();
|
39 |
-
}
|
40 |
-
else if (isset($params['view_config'])) {
|
41 |
-
$this->viewConfigCaller();
|
42 |
-
}
|
43 |
-
else if (isset($params['set_config'])) {
|
44 |
-
$this->setConfigCaller();
|
45 |
}
|
46 |
else if (isset($params['view_log'])) {
|
47 |
-
$this->
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
$this->clearStoresCaller();
|
54 |
-
}
|
55 |
-
else if (isset($params['register_stores'])) {
|
56 |
-
$this->registerStoresCaller();
|
57 |
-
}
|
58 |
-
else if (isset($params['debug'])) {
|
59 |
-
$this->debugCaller();
|
60 |
-
}
|
61 |
-
else if (isset($params['clear_jobs'])) {
|
62 |
-
$this->clearJobsCaller();
|
63 |
-
}
|
64 |
-
else if (isset($params['unlock_jobs'])) {
|
65 |
-
$this->unlockJobsCaller();
|
66 |
-
}
|
67 |
-
else if (isset($params['reset_retries'])) {
|
68 |
-
$this->resetRetries();
|
69 |
}
|
|
|
70 |
} catch (Exception $e) {
|
71 |
$helper = Mage::helper('shadow/prattler');
|
72 |
$this->getResponse()->setHeader('Content-type', 'application/json');
|
73 |
-
$this->getResponse()->setBody($helper->
|
74 |
}
|
75 |
}
|
76 |
|
77 |
-
private function runCaller()
|
78 |
-
{
|
79 |
-
if ($this->hasSbAuthToken()) {
|
80 |
-
$helper = Mage::helper('shadow/prattler');
|
81 |
-
$cronWorker = Mage::getModel('combine/cron_worker');
|
82 |
-
$cronWorker->run();
|
83 |
-
|
84 |
-
$this->getResponse()->setHeader('Content-type', 'application/json');
|
85 |
-
$this->getResponse()->setBody($helper->getPrattlerJsonResponse());
|
86 |
-
}
|
87 |
-
}
|
88 |
|
89 |
private function emailCaller()
|
90 |
{
|
@@ -131,96 +105,6 @@ class Springbot_Shadow_IndexController extends Springbot_Shadow_Controller_Actio
|
|
131 |
);
|
132 |
}
|
133 |
|
134 |
-
private function healthcheckCaller()
|
135 |
-
{
|
136 |
-
if ($this->hasSbAuthToken()) {
|
137 |
-
$healthcheck = new Springbot_Services_Cmd_Healthcheck();
|
138 |
-
|
139 |
-
if($this->getRequest()->getParam('store_id')) {
|
140 |
-
$healthcheck->setStoreId($this->getRequest()->getParam('store_id'));
|
141 |
-
}
|
142 |
-
|
143 |
-
$healthcheck->run();
|
144 |
-
$this->getResponse()->setHeader('Content-type', 'application/json');
|
145 |
-
$this->getResponse()->setBody('{"success":true}');
|
146 |
-
}
|
147 |
-
}
|
148 |
-
|
149 |
-
|
150 |
-
private function harvestCaller()
|
151 |
-
{
|
152 |
-
if ($this->hasSbAuthToken()) {
|
153 |
-
$harvest = new Springbot_Services_Cmd_Harvest();
|
154 |
-
$harvest->run();
|
155 |
-
$this->getResponse()->setHeader('Content-type', 'application/json');
|
156 |
-
$this->getResponse()->setBody('{"success":true}');
|
157 |
-
}
|
158 |
-
}
|
159 |
-
|
160 |
-
private function jobsCaller()
|
161 |
-
{
|
162 |
-
if ($this->hasSbAuthToken()) {
|
163 |
-
if (is_numeric($this->getRequest()->getParam('jobs'))) {
|
164 |
-
$page = $this->getRequest()->getParam('jobs');
|
165 |
-
}
|
166 |
-
else {
|
167 |
-
$page = 1;
|
168 |
-
}
|
169 |
-
$this->getResponse()->setHeader('Content-type', 'application/json');
|
170 |
-
$collection = Mage::getModel('combine/cron_queue')->getCollection();
|
171 |
-
$collection->setPageSize(20)->setCurPage($page);
|
172 |
-
$this->getResponse()->setBody(json_encode($collection->toArray()));
|
173 |
-
}
|
174 |
-
}
|
175 |
-
|
176 |
-
private function deleteJobCaller()
|
177 |
-
{
|
178 |
-
if ($this->hasSbAuthToken()) {
|
179 |
-
if (is_numeric($this->getRequest()->getParam('delete_job'))) {
|
180 |
-
$helper = Mage::helper('shadow/prattler');
|
181 |
-
$resource = Mage::getModel('combine/cron_queue')->getResource();
|
182 |
-
$resource->removeHarvestRow($this->getRequest()->getParam('delete_job'));
|
183 |
-
$this->getResponse()->setHeader('Content-type', 'application/json');
|
184 |
-
$this->getResponse()->setBody($helper->getPrattlerJsonResponse());
|
185 |
-
}
|
186 |
-
}
|
187 |
-
}
|
188 |
-
|
189 |
-
private function deliverEventLogCaller()
|
190 |
-
{
|
191 |
-
if ($this->hasSbAuthToken()) {
|
192 |
-
$helper = Mage::helper('shadow/prattler');
|
193 |
-
$deliverEventLog = new Springbot_Services_Tasks_DeliverEventLog();
|
194 |
-
$deliverEventLog->run();
|
195 |
-
$this->getResponse()->setHeader('Content-type', 'application/json');
|
196 |
-
$this->getResponse()->setBody($helper->getPrattlerJsonResponse());
|
197 |
-
}
|
198 |
-
}
|
199 |
-
|
200 |
-
private function viewConfigCaller()
|
201 |
-
{
|
202 |
-
if ($this->hasSbAuthToken()) {
|
203 |
-
$this->getResponse()->setHeader('Content-type', 'application/json');
|
204 |
-
$this->getResponse()->setBody(json_encode(Mage::getStoreConfig('springbot')));
|
205 |
-
}
|
206 |
-
}
|
207 |
-
|
208 |
-
private function setConfigCaller()
|
209 |
-
{
|
210 |
-
if ($this->hasSbAuthToken()) {
|
211 |
-
$this->getResponse()->setHeader('Content-type', 'application/json');
|
212 |
-
$configKey = $this->getRequest()->getParam('set_config');
|
213 |
-
$value = $this->getRequest()->getParam('value');
|
214 |
-
if (isset($value)) {
|
215 |
-
Mage::getModel('core/config')->saveConfig('springbot/' . $configKey, $value, 'default', 0);
|
216 |
-
$this->getResponse()->setBody(json_encode(array('success' => true)));
|
217 |
-
}
|
218 |
-
else {
|
219 |
-
$this->getResponse()->setBody(json_encode(array('success' => false)));
|
220 |
-
}
|
221 |
-
|
222 |
-
}
|
223 |
-
}
|
224 |
|
225 |
private function viewLogCaller()
|
226 |
{
|
@@ -248,122 +132,9 @@ class Springbot_Shadow_IndexController extends Springbot_Shadow_Controller_Actio
|
|
248 |
}
|
249 |
}
|
250 |
|
251 |
-
private function clearCacheCaller()
|
252 |
-
{
|
253 |
-
if ($this->hasSbAuthToken()) {
|
254 |
-
$this->getResponse()->setHeader('Content-type', 'application/json');
|
255 |
-
try {
|
256 |
-
$allTypes = Mage::app()->useCache();
|
257 |
-
foreach($allTypes as $type => $blah) {
|
258 |
-
Mage::app()->getCacheInstance()->cleanType($type);
|
259 |
-
}
|
260 |
-
$this->getResponse()->setBody(json_encode(array('success' => true)));
|
261 |
-
}
|
262 |
-
catch (Exception $e) {
|
263 |
-
$this->getResponse()->setHeader('Content-type', 'application/json');
|
264 |
-
$this->getResponse()->setBody(json_encode(
|
265 |
-
array(
|
266 |
-
'success' => false,
|
267 |
-
'message' => $e->getMessage()
|
268 |
-
)
|
269 |
-
));
|
270 |
-
}
|
271 |
-
}
|
272 |
-
}
|
273 |
|
274 |
-
private function clearStoresCaller()
|
275 |
-
{
|
276 |
-
if ($this->hasSbAuthToken()) {
|
277 |
-
$config = new Mage_Core_Model_Config();
|
278 |
-
foreach (Mage::getStoreConfig('springbot/config') as $configKey => $configValue) {
|
279 |
-
if (
|
280 |
-
(substr($configKey, 0, strlen('store_id_')) == 'store_id_') ||
|
281 |
-
(substr($configKey, 0, strlen('store_guid_')) == 'store_guid_') ||
|
282 |
-
(substr($configKey, 0, strlen('security_token_')) == 'security_token_')
|
283 |
-
) {
|
284 |
-
Mage::getModel('core/config')->saveConfig('springbot/config/' . $configKey, null, 'default', 0);
|
285 |
-
}
|
286 |
-
}
|
287 |
-
Mage::getConfig()->cleanCache();
|
288 |
-
$this->getResponse()->setHeader('Content-type', 'application/json');
|
289 |
-
$this->getResponse()->setBody(json_encode(array('success' => true)));
|
290 |
-
}
|
291 |
-
}
|
292 |
|
293 |
-
private function registerStoresCaller()
|
294 |
-
{
|
295 |
-
if ($this->hasSbAuthToken()) {
|
296 |
-
$service = new Springbot_Services_Store_Register;
|
297 |
-
$helper = Mage::helper('combine/harvest');
|
298 |
-
foreach ($helper->getStoresToHarvest() as $store) {
|
299 |
-
$service->setStoreId($store->getStoreId())->run();
|
300 |
-
}
|
301 |
-
Mage::getConfig()->cleanCache();
|
302 |
-
$this->getResponse()->setHeader('Content-type', 'application/json');
|
303 |
-
$this->getResponse()->setBody(json_encode(array('success' => true)));
|
304 |
-
}
|
305 |
-
}
|
306 |
|
307 |
-
private function debugCaller()
|
308 |
-
{
|
309 |
-
if ($this->hasSbAuthToken()) {
|
310 |
-
Mage::getConfig()->cleanCache();
|
311 |
-
$this->getResponse()->setHeader('Content-type', 'application/json');
|
312 |
-
$resource = Mage::getResourceModel('combine/debug');
|
313 |
-
|
314 |
-
$this->getResponse()->setBody(json_encode(
|
315 |
-
array(
|
316 |
-
'customers' => $resource->getCustomersRaw(),
|
317 |
-
'guests' => $resource->getGuestsRaw(),
|
318 |
-
'subscribers' => $resource->getSubscribersRaw(),
|
319 |
-
'products' => $resource->getProductsRaw(),
|
320 |
-
'categories' => $resource->getCategoriesRaw(),
|
321 |
-
'purchases' => $resource->getPurchasesRaw(),
|
322 |
-
'carts' => $resource->getCartsRaw(),
|
323 |
-
)
|
324 |
-
));
|
325 |
-
}
|
326 |
-
}
|
327 |
-
|
328 |
-
private function clearJobsCaller()
|
329 |
-
{
|
330 |
-
if ($this->hasSbAuthToken()) {
|
331 |
-
$this->getResponse()->setHeader('Content-type', 'application/json');
|
332 |
-
$resource = Mage::getResourceModel('combine/cron_queue');
|
333 |
-
$resource->removeHarvestRows(null, false);
|
334 |
-
$this->getResponse()->setBody(json_encode(array('success' => true)));
|
335 |
-
}
|
336 |
-
}
|
337 |
-
|
338 |
-
private function unlockJobsCaller()
|
339 |
-
{
|
340 |
-
if ($this->hasSbAuthToken()) {
|
341 |
-
$this->getResponse()->setHeader('Content-type', 'application/json');
|
342 |
-
$resource = Mage::getResourceModel('combine/cron_queue');
|
343 |
-
$resource->unlockOrphanedRows();
|
344 |
-
$this->getResponse()->setBody(json_encode(array('success' => true)));
|
345 |
-
}
|
346 |
-
}
|
347 |
-
|
348 |
-
private function resetRetries()
|
349 |
-
{
|
350 |
-
if ($this->hasSbAuthToken()) {
|
351 |
-
$this->getResponse()->setHeader('Content-type', 'application/json');
|
352 |
-
$resource = Mage::getResourceModel('combine/cron_queue');
|
353 |
-
$resource->resetRetries();
|
354 |
-
$this->getResponse()->setBody(json_encode(array('success' => true)));
|
355 |
-
}
|
356 |
-
}
|
357 |
-
|
358 |
-
private function unlockActionsCaller()
|
359 |
-
{
|
360 |
-
if ($this->hasSbAuthToken()) {
|
361 |
-
$this->getResponse()->setHeader('Content-type', 'application/json');
|
362 |
-
$resource = Mage::getResourceModel('combine/action');
|
363 |
-
$resource->unlockActionRows();
|
364 |
-
$this->getResponse()->setBody(json_encode(array('success' => true)));
|
365 |
-
}
|
366 |
-
}
|
367 |
|
368 |
|
369 |
}
|
13 |
{
|
14 |
try {
|
15 |
$params = $this->getRequest()->getParams();
|
16 |
+
|
17 |
+
// Maintain backward compatibility
|
18 |
+
$aliases = array('run', 'healthcheck');
|
19 |
+
foreach ($aliases as $alias) {
|
20 |
+
if (isset($params[$alias])) {
|
21 |
+
$params['task'] = $alias;
|
22 |
+
unset($params[$alias]);
|
23 |
+
}
|
24 |
}
|
25 |
+
|
26 |
+
if (isset($params['email'])) {
|
27 |
$this->emailCaller();
|
28 |
}
|
29 |
else if (isset($params['trackable']) && isset($params['type'])) {
|
30 |
$this->trackableCaller();
|
31 |
}
|
32 |
+
else if (isset($params['task'])) {
|
33 |
+
if ($this->hasSbAuthToken()) {
|
34 |
+
$task = $params['task'];
|
35 |
+
unset($params['task']);
|
36 |
+
if ($task = Springbot_Services_Tasks::makeTask($task, $params)) {
|
37 |
+
$responseBody = json_encode($task->run());
|
38 |
+
$this->getResponse()->setHeader('Content-type', 'application/json');
|
39 |
+
$this->getResponse()->setBody($responseBody);
|
40 |
+
}
|
41 |
+
}
|
42 |
+
else {
|
43 |
+
$this->getResponse()->setHttpResponseCode(401);
|
44 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
45 |
}
|
46 |
else if (isset($params['view_log'])) {
|
47 |
+
if ($this->hasSbAuthToken()) {
|
48 |
+
$this->viewLogCaller();
|
49 |
+
}
|
50 |
+
else {
|
51 |
+
$this->getResponse()->setHttpResponseCode(401);
|
52 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
53 |
}
|
54 |
+
|
55 |
} catch (Exception $e) {
|
56 |
$helper = Mage::helper('shadow/prattler');
|
57 |
$this->getResponse()->setHeader('Content-type', 'application/json');
|
58 |
+
$this->getResponse()->setBody(json_encode($helper->getExceptionResponse($e)));
|
59 |
}
|
60 |
}
|
61 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
62 |
|
63 |
private function emailCaller()
|
64 |
{
|
105 |
);
|
106 |
}
|
107 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
108 |
|
109 |
private function viewLogCaller()
|
110 |
{
|
132 |
}
|
133 |
}
|
134 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
135 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
136 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
137 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
138 |
|
139 |
|
140 |
}
|
package.xml
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Springbot</name>
|
4 |
-
<version>1.4.0
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://opensource.org/licenses/OSL-3.0">Open Software License v3.0 (OSL-3.0)</license>
|
7 |
<channel>community</channel>
|
@@ -47,13 +47,15 @@
|
|
47 |
Proclivity to Buy Alerts example: Sally Avalon bought a house recently 
|
48 |

|
49 |
For support information, features and pricing and more details visit springbot.com </description>
|
50 |
-
<notes>
|
|
|
|
|
51 |
Compilation check on remote update
|
52 |
Ultra paranoid getSource checking</notes>
|
53 |
<authors><author><name>Springbot Integrations Team</name><user>Springbot</user><email>magento@springbot.com</email></author></authors>
|
54 |
-
<date>2015-
|
55 |
-
<time>
|
56 |
-
<contents><target name="magecommunity"><dir name="Springbot"><dir name="Shadow"><dir name="Block"><dir name="Action"><file name="View.php" hash="f2fc0d66474305766335aa37a7bbcd72"/></dir><file name="Async.php" hash="0d203fe1a722f7045029613a0e97bfc2"/></dir><dir name="Controller"><file name="Action.php" hash="5dc41d4ddf12a468fb23fc757ef49a95"/></dir><dir name="Helper"><file name="Data.php" hash="82089d4cfecee69628ae9d627ad2de0c"/><file name="Prattler.php" hash="1df7b8aaeb78579d5a8c2d34169c20e9"/></dir><dir name="Model"><dir name="Listeners"><file name="Observer.php" hash="e5b827a61c3b04fdb73e38a424d167eb"/></dir></dir><dir name="controllers"><file name="ActionController.php" hash="2532947b3368c5a4d64bf77cc7aa9316"/><file name="IndexController.php" hash="755a1661390f7aeeb1899ac101e17801"/></dir><dir name="etc"><file name="config.xml" hash="b1717e37375197b449c0736adff99d87"/></dir></dir><dir name="Services"><dir name="Cmd"><file name="Forecast.php" hash="efaeb6ca5b2667b30929b223cddfb044"/><file name="Halt.php" hash="85c85ae257e9b86d0fb10fb46060fea3"/><file name="Harvest.php" hash="1f214f0fd7b41a6b5fc7c27218fb099a"/><file name="Healthcheck.php" hash="79eec1fd01ddf9c61418da86ecaaf8cb"/><file name="Update.php" hash="d8d1950c85930083009096a3849054a7"/></dir><dir name="Harvest"><file name="AttributeSets.php" hash="95610f6fd6323e0473589c01051781f2"/><file name="Carts.php" hash="ecaf8583962fc63e49cf069d73eb22bf"/><file name="Categories.php" hash="acfe9c8dc9a02992a058015e8aaf9311"/><file name="Coupons.php" hash="5190a1669b0b4ef10222843451e9dc36"/><file name="CustomerAttributeSets.php" hash="7c3a0bed9f841900f692f5a17e7c6e8f"/><file name="Customers.php" hash="3d57c8238976554081176e249f2e7f4b"/><file name="Guests.php" hash="e0f6d955ba9bc3f020cc95f3083913ad"/><file name="Products.php" hash="087d01eddc45b4a30c4aa7dba5cc5dce"/><file name="Purchases.php" hash="a3d76ae1a2ea514fcce5ca2607ddf5a4"/><file name="Rules.php" hash="355ecad7266987a391ceca9d2eb0244f"/><file name="Subscribers.php" hash="a8b0d7197580bd9f3de7b10f9c6dc7ca"/></dir><file name="Harvest.php" hash="af3b9604c7b9d7da76cffe846dc34d70"/><dir name="Log"><file name="Installer.php" hash="342706712eb2731ea27aeec993fd2d7f"/></dir><dir name="Post"><file name="Attribute.php" hash="e0a283984de84bc16d5f89a893a8dc83"/><file name="AttributeSet.php" hash="c8f66b5a189125a63e834196402b709a"/><file name="Cart.php" hash="26d33fb887417e46d3ba3e46badc04a3"/><file name="Category.php" hash="0645d5eb9bb790f25e29666bc3a703e0"/><file name="Coupon.php" hash="6b8b49327874ce431f6100b6917ba21f"/><file name="Customer.php" hash="d2f018919afdb7d49617e6b9ac7d2760"/><file name="Guest.php" hash="3b7ee9f0e274340713d8c4302d01b361"/><file name="Json.php" hash="86a5f26aa5367d8c4c66d278e4c02546"/><file name="Jsonstring.php" hash="9dfb5761d1a7835bf35040a073fa8fc4"/><file name="Product.php" hash="5ec9cbf29df156da09d17e1b6526f53d"/><file name="Purchase.php" hash="0b924c8e5d8f7018eb335ba9fb6d63dd"/><file name="Rule.php" hash="fa038fa414a176d960ed6470c7b7b4cd"/><file name="Subscriber.php" hash="88c5dbcaae805866595217eedbbf5f34"/></dir><file name="Post.php" hash="df9bf80bee670259f3a54e3308d0dbd3"/><file name="Registry.php" hash="d54afde887b72e79ae36ab11766ec5c9"/><dir name="Store"><file name="Finalize.php" hash="e3636b532bc8f55ba0e618a973e2faa0"/><file name="Register.php" hash="72ae8d75c11dc1c0635c799e284ecb2d"/></dir><dir name="Tasks"><file name="DeliverEventLog.php" hash="d4448212c228d74a320b541385162b10"/><file name="Forecast.php" hash="9cb195b603f843cf2eac74530aa6c84b"/><file name="GetLog.php" hash="8e663a1dbd2dd87a7bfb65b8e8bc2b4a"/><file name="KillHarvest.php" hash="55c540031b57c0a38d83b99e72865bca"/><file name="LaunchFullHarvest.php" hash="b2a9d9c75a46b8c9c4889ddf02094921"/><file name="LaunchPartialHarvest.php" hash="c2a3bc35d62c3eed93107651de7026c8"/><file name="PackageUpdate.php" hash="cb88473eea4e15760a4fa7c0aba83ddb"/><file name="PostItem.php" hash="2cc5c3fd1f1fd7ed9f0c06f44715cce8"/><file name="ResumeHarvest.php" hash="4cd58b8cb691267b4c1366ea3da47673"/><file name="SetVar.php" hash="5b4bea2e94b4bea05bbf326ee3e74fab"/><file name="SkipStoreHarvest.php" hash="1919b0dba7e20c6ff0e3fc302cc2f172"/></dir><dir name="Update"><file name="Abstract.php" hash="7b9a1d36b4486e250587820731b7fb7c"/><file name="Connect.php" hash="3e4366a42e563ec3406a0fcb9a5f77bf"/><file name="Downloader.php" hash="934ef5788acb45ce94e0a32c1d705df1"/><file name="Installer.php" hash="a09ec2e9f7bbf12c117c8950e46072b0"/><file name="Package.php" hash="60ec01b28a2ded244bf6d4a971918bd5"/></dir><dir name="Work"><file name="Cleanup.php" hash="100fef130220e91dc255b5e0f30c37f1"/><file name="Manager.php" hash="9dbdfb717865b7724f4ffd38b3ec866e"/><file name="Report.php" hash="a6482e618e657688ab85221576d1898f"/><file name="Restart.php" hash="d55e811fbba86348890b4047fa5a579f"/><file name="Runner.php" hash="c0ced9ce83e5e51b4ba5f10bb46760af"/><file name="Stop.php" hash="db97407b43396f0adf44a2354a23a0a5"/></dir></dir><dir name="Util"><file name="Cache.php" hash="2c6eb2ee4ee723758fc92989e9220f6e"/><file name="Caller.php" hash="4fcc265eb1a58fed5c3b404ec864514b"/><file name="Categories.php" hash="1292843306c38d9593902616e04320a6"/><dir name="Log"><file name="Rollover.php" hash="6ad4bd93adb7e906c1de5a05a2871ea8"/></dir><file name="Logger.php" hash="59abca8cb07ef933ca8ef2ac824591b5"/><file name="Partition.php" hash="b9296b086003ba58ba12f8b8b0373c50"/><file name="Timer.php" hash="68323a4faeb388627556137f0d7679d9"/></dir><file name="Services.php" hash="a7a4050083155da6f77e7b4f6688a93f"/><dir name="Bmbleb"><dir name="Block"><dir name="Adminhtml"><file name="Auth.php" hash="7dc661bbe9ec85f700a22b319981114d"/><dir name="Bmbleb"><dir name="Login"><file name="Form.php" hash="6d54c1272c7e0a37f3dfe7a23b97a451"/></dir><file name="Login.php" hash="7232e8225f5b21de5675c0d84cb452bd"/></dir><file name="Connected.php" hash="833cef8e351f5efa7a4d104b1c51ca7f"/><file name="Help.php" hash="b280b3292ed778140b751b6426ef56fb"/><dir name="Index"><file name="Messages.php" hash="1e247e31194447de32e54f49dafc3ccc"/><file name="Terms.php" hash="739e5a9ebe204f1f9ac433557c994ae6"/></dir><file name="Index.php" hash="eb7bbef5fa26a53748596e145c3677c4"/><dir name="Jobs"><file name="Grid.php" hash="67255d982ac3d50b38d7a2a525c2b922"/><file name="Status.php" hash="f1b197bf6fdc392bed93ff0734a54ad6"/></dir><file name="Jobs.php" hash="84801c6008802496e168e763a7e6d71f"/><file name="Login.php" hash="2e4d8baead482d404ed40f7d5f3d902c"/><file name="Logout.php" hash="b75af51891b751b9d070e1e784dd6914"/><file name="Logs.php" hash="686e958b553c1e3fcf74841eab30fffb"/><file name="Notifications.php" hash="b9e103d6c255078274c2f3047d944d0e"/><file name="Problems.php" hash="c2fd654e2c4c3a6dd9fbb083d0995e5e"/><file name="Status.php" hash="9b67a20f0ee00608029d24850cefda4d"/><file name="Tabs.php" hash="6f93d5c6bd5208a99637c06118c6c630"/></dir></dir><dir name="Helper"><file name="Account.php" hash="c41f40e6f58abd3b8486e0e92cc079d8"/><file name="Data.php" hash="dca14b137de1e2734a377ca645eeddbe"/><file name="PluginStatus.php" hash="10fccc3c622adf7e865ebdcc11d65932"/></dir><dir name="Model"><file name="Bmbleb.php" hash="700d11c3006f2dcd2e80cd8bbbab15f9"/><file name="Status.php" hash="9409d26c7884be6b8075ba97dbf71f78"/><file name="Sync.php" hash="a800b6064a88f37957392cd967f2b3cb"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="HelpController.php" hash="087e7868dafe9dd2df89a642d405424a"/><file name="IndexController.php" hash="61a95eed027fcb7a7179485288f1b05f"/><file name="JobsController.php" hash="4e912a8fafd2f58235cb2299a83a128b"/><file name="LogsController.php" hash="20a0ce2f584f08480399b7a5ecbd9207"/><file name="ProblemsController.php" hash="9753f4b2d3e7d4873e4bd92b5b2b6aaf"/><file name="SettingsController.php" hash="f75a7a8ef28a296cbd46b04ae9dd5539"/></dir><file name="HelpController.php" hash="2df4608a957f151bf1d01dbde2113680"/><file name="IndexController.php" hash="ea5fa5e2b305f46b222cb2fc2a44f6a5"/><file name="LoginController.php" hash="41a0c13dce233a613f89b614cffa0eb1"/><file name="LogoutController.php" hash="140c9d32f5557aa1169fd1b85cd5cc9f"/></dir><dir name="etc"><file name="config.xml" hash="45f7218274a3eed0086761942a95f27b"/></dir></dir><file name="Boss.php" hash="57f394336cd27df31268a566a025ac8f"/><file name="Cli.php" hash="d0a7abfb0616ffbc46f8a6a79903ace3"/><file name="Log.php" hash="5ab61d7cf21805adb8f826f83b9bf7b1"/><dir name="Combine"><dir name="Helper"><file name="Attributes.php" hash="5fb06e7cc89bb710039a79fb16e2a998"/><file name="Cart.php" hash="07ce5f461ecded3b9b00ed5c30faa266"/><file name="Data.php" hash="bba3915380a71aaacacc306f10396ef1"/><file name="Harvest.php" hash="08fd1b330802731bf82358fd05789173"/><file name="Parser.php" hash="56f05079b5d952d599c7b2f405ffae57"/><file name="Redirect.php" hash="92053fb1b356fdd6b3131be0b6a8017c"/><file name="Store.php" hash="8db94d157d7e497e7612844da43a6c11"/><file name="Trackable.php" hash="a042cb0d176730ec87353b1c5c6d21f7"/></dir><dir name="Model"><file name="Action.php" hash="6375461263bdf7fe26e71235d2449c21"/><file name="Api.php" hash="978590ad36b4d6ad6b3a14742f8bb31c"/><dir name="Cron"><file name="Count.php" hash="57552740b6ffdd9a4e879191a51043b0"/><dir name="Manager"><file name="Status.php" hash="aeb4445bc2d4b1b7e0e19c09172f0483"/></dir><dir name="Queue"><dir name="Batch"><file name="Row.php" hash="25f4ed809a9190f5d41c6c210cd8a537"/></dir><file name="Batch.php" hash="fa905d2781aab5881e881e3b12d25e0c"/></dir><file name="Queue.php" hash="7057aea4c3c103e164ed380b351c5bd1"/><file name="Worker.php" hash="8b5040f1c5c5b3221542e739dc951de7"/></dir><file name="Cron.php" hash="40f2bc9634610f4ed5464de48630ce16"/><dir name="File"><file name="Io.php" hash="6d1f79eaf45897bf0525b0f3f3ac69d2"/><file name="Path.php" hash="24900b670c07fcdc4e54bae585f20002"/></dir><dir name="Harvest"><file name="AttributeSets.php" hash="f96517c3c4aa0d01083253d58214152e"/><file name="Carts.php" hash="0b303b2b7d4458a9a0cbf0653b9d660f"/><file name="Categories.php" hash="fd5f13ad449a320616569f64c82327ff"/><file name="Coupons.php" hash="14112f9063bbf20cea7ff3649f238524"/><file name="CustomerAttributeSets.php" hash="bd763562f3fcdf199c2e93876d238fa9"/><file name="Customers.php" hash="c7850418a39abf09c10fbfafcb96f8e1"/><file name="Guests.php" hash="3685b3220b724e518dc83daad015577f"/><file name="Products.php" hash="da471abcc04837391b5270464164aefd"/><file name="Purchases.php" hash="427d38d1f6579f63730aa6bdf6b7bba4"/><file name="Rules.php" hash="fd1789174225c4ed6ad1e1137fe2aee5"/><file name="Subscribers.php" hash="e499e299612a6e2ce07ee19228cf43c5"/></dir><file name="Harvest.php" hash="8104fb4584411f90706f2fd9c8d8ce9b"/><dir name="Mysql4"><dir name="Action"><file name="Collection.php" hash="830a7db2ea307d594fe945701654d883"/></dir><file name="Action.php" hash="5b18cc8842c83d981575b7b2de496f66"/><dir name="Cron"><file name="Count.php" hash="acbbb7ec28afbbe98101f5d114cb30b3"/><dir name="Queue"><file name="Collection.php" hash="b26806c9e7cefd052bb784f5a6ce814c"/></dir><file name="Queue.php" hash="4add10644bfc94b88ef5042b23c82ae7"/></dir><dir name="Redirect"><file name="Collection.php" hash="3bbe4f8729c603f8d8131154a0a117c1"/><dir name="Order"><file name="Collection.php" hash="88c0cfcce31b0eed8c035dee4e7e86df"/></dir><file name="Order.php" hash="852bea330edac3372ec5c168111301a8"/></dir><file name="Redirect.php" hash="842e4ba35c6b049c8eaa64704588ca76"/><file name="Setup.php" hash="3fdec335980846a4c3adbc6f4e3478eb"/><dir name="Trackable"><file name="Collection.php" hash="8799c5bf630d267b551cf9dba986cbb0"/></dir><file name="Trackable.php" hash="b38749697b641874b42dceae38ab4a30"/></dir><dir name="Parser"><file name="AttributeSet.php" hash="9ae4013d42da5de0e9c8492fb29cd8d6"/><file name="Category.php" hash="0c3c71ff784307b9120d7cf781005069"/><file name="Coupon.php" hash="a66b3d4c8397610863cd74e35cbd5b62"/><file name="Customer.php" hash="99233c3da1eb28f1ec15e20e837d764a"/><file name="CustomerAttributeSet.php" hash="1b51f9300a9ee102872ff9d7f9bbccbc"/><file name="Guest.php" hash="002c900d3722f761e3e3ac63be84014f"/><file name="Product.php" hash="7e0fa4a55ca45fc876e588442cce72eb"/><dir name="Purchase"><file name="Item.php" hash="ca7facc8c81504ea990fdb1feeba64dd"/></dir><file name="Purchase.php" hash="ec3929b9e1a0df0e5816c1558391dcdc"/><dir name="Quote"><file name="Item.php" hash="37cbc74a49a16e67e02f421978e1741f"/></dir><file name="Quote.php" hash="df651461575cb44bd08f7eb8466782eb"/><file name="Rule.php" hash="0a0f70172aeff0e5157f2f1652c3ae09"/><file name="Subscriber.php" hash="57ab5db177d4a37f30865cb127912631"/></dir><file name="Parser.php" hash="2c2dca731dcc0c1aa06e1f83d4a0a5b2"/><dir name="Redirect"><file name="Order.php" hash="5ca85ca596ef6e45468c8a12cee72614"/></dir><file name="Redirect.php" hash="05dddaa1e9c17c4c79d70d63b56ed454"/><dir name="Resource"><file name="Abstract.php" hash="5e58e98d53c3d49e454d6b0bd2f308c2"/><dir name="Action"><file name="Collection.php" hash="22e278b8cbc5d18d4faa48c4f224d145"/></dir><file name="Action.php" hash="83b00531db5ec3a51ea7c0fc65a1d083"/><dir name="Cron"><dir name="Count"><file name="Collection.php" hash="c5cb4ab406c1d008c1bc22bb95b3ba28"/></dir><file name="Count.php" hash="6a356b5d92b509945c4567f479b9bfdd"/><dir name="Queue"><file name="Collection.php" hash="2e7ba35d1a14da641a098078e4db7432"/></dir><file name="Queue.php" hash="5b5273a55a562f93f273b92cb9ffcd5e"/></dir><file name="Debug.php" hash="9f71d628ced3709e514189850665d04c"/><dir name="Redirect"><file name="Collection.php" hash="0f9db83ade4c50c2f7bbe40deae1c065"/><dir name="Order"><file name="Collection.php" hash="162359ed9499b6f976f5c341fd0585c3"/></dir><file name="Order.php" hash="7ea4477380a5215dc0efe561ede359d9"/></dir><file name="Redirect.php" hash="d239af442388bb9fa80db81a7fc43711"/><file name="Setup.php" hash="0405c44c124f19619ccc9f429d781d44"/><dir name="Trackable"><file name="Collection.php" hash="6f060c3537b49710302e38e881885a69"/></dir><file name="Trackable.php" hash="764b0d21c492dd69b9f85ae3c647666e"/></dir><dir name="System"><dir name="Config"><dir name="Source"><file name="LogFormat.php" hash="828680dafe5a7042221900cb6d9dfa17"/><file name="LogLevel.php" hash="b86c793ca04205f045efd9ea42d02a10"/><file name="Stability.php" hash="830e5bc4e8ce9657221224dbaf99cee6"/><file name="UrlType.php" hash="28f9a5bc024afe5526685d429a751ad8"/></dir></dir></dir><file name="Trackable.php" hash="0af2cd1e6e1eb948157918df2570bf10"/></dir><dir name="etc"><file name="adminhtml.xml" hash="794fc8a1d67ac3e6b5d71c707a0c7cad"/><file name="config.xml" hash="a0de8ceac1b350cf3a9c3aa1623285a2"/><file name="system.xml" hash="887d99c8efe22f532aa7f8d1bc93fe17"/></dir><dir name="sql"><dir name="combine_setup"><file name="mysql4-install-1.0.0.70.php" hash="425be4a54012cd64753ee1a216255d67"/><file name="mysql4-upgrade-1.0.0.70-1.0.0.84.php" hash="e51deaff9e65f43483ab00573605329d"/><file name="mysql4-upgrade-1.0.0.84-1.0.0.88.php" hash="89bd8a585c0d351aae6838ace48f608d"/><file name="mysql4-upgrade-1.0.0.88-1.2.0.0.php" hash="4779a5072d23ebdb27177de0dfd19f5d"/><file name="mysql4-upgrade-1.2.0.0-1.2.0.1.php" hash="01a7ef2466b9f676884db4d7a7c562a9"/><file name="mysql4-upgrade-1.2.0.1-1.2.1.0.php" hash="dbba441ac757db26289f21443a948f6b"/><file name="mysql4-upgrade-1.3.9.9-1.4.0.0.php" hash="de0b3996e28572fc3dbc7c12cb12ee1a"/></dir></dir></dir><dir name="BoneCollector"><dir name="Model"><file name="HarvestAbstract.php" hash="fecaefad7d4fc279e3a54b4c8cac54ae"/><dir name="HarvestAttribute"><file name="Observer.php" hash="26d016ab4fae05872aa46b6abdc3e562"/></dir><dir name="HarvestCart"><file name="Observer.php" hash="7364d7b70e2b3fb65c7effac8cc2ade6"/></dir><dir name="HarvestCategory"><file name="Observer.php" hash="7ddb0b58b301863c1e46dd2db3628db8"/></dir><dir name="HarvestCustomer"><file name="Observer.php" hash="a20e21f1033dc35025ab9b402d6574bc"/></dir><dir name="HarvestProduct"><file name="Observer.php" hash="60af24cee3ad4105822ff4bfb73a5b62"/></dir><dir name="HarvestPurchase"><file name="Observer.php" hash="45b457d55548283c29c0d6105db52df7"/></dir><dir name="HarvestRule"><file name="Observer.php" hash="49f369f960101ec66458f8dbe7972e40"/></dir><dir name="HarvestSubscriber"><file name="Observer.php" hash="5b64106296e9d0045610c69ed0c9be4b"/></dir></dir><dir name="etc"><file name="config.xml" hash="908a3b69f97bf5578f661de5b8341a80"/></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Springbot.xml" hash="69a4e2c056502cd8539b4f66a2c8b1bc"/></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="bmbleb.xml" hash="aa390e236576f79375b407262961043e"/></dir><dir name="template"><dir name="bmbleb"><file name="auth.phtml" hash="bf509b53c49cd69ec3ea60e3effe69c3"/><file name="dashboard_loggedout.phtml" hash="19281143b19a544d4e3072dc754ada2d"/><dir name="help"><file name="index.phtml" hash="e9d3f11c623c735c3e699e406ff9e0e7"/></dir><dir name="index"><file name="messages.phtml" hash="fcbbb47d2cc30c493ed2316a8b888f5d"/><file name="terms.phtml" hash="dfff1182d2fe7d8eee69b9b302c4cbc7"/></dir><file name="index.phtml" hash="a5132e593910b8b59a3467b555d4ed87"/><dir name="jobs"><file name="status.phtml" hash="77f0b0ae7c3c6c42031675cfc959e270"/></dir><file name="jobs.phtml" hash="961ac83f56bf8703dbc433894da4933e"/><file name="login.phtml" hash="0a1a20dfaffe8646bb56323ab811d46a"/><file name="logout.phtml" hash="09b92790c5e124a01086d6929ed7e8de"/><dir name="logs"><file name="index.phtml" hash="17e773a761a24e292b09fe7da1bd7662"/></dir><file name="notifications.phtml" hash="45f8767a090a4f7a7e177151bbc43f4f"/><dir name="problems"><file name="index.phtml" hash="2027d07eed8848a4ed8e801d67072796"/></dir><file name="status.phtml" hash="1acc630a6549b234bc1fa5923e04b8ce"/><file name="tabs.phtml" hash="778b686fb073a8aeb973db3bfb0302aa"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="shadow.xml" hash="3f29bebbcf7e42c57dcac9150c6b7d68"/></dir><dir name="template"><dir name="shadow"><file name="async.phtml" hash="af147801ed74d45bb0580b0bb69ce0fd"/><file name="conversion.phtml" hash="3d46a8930d9658a24a77ff34d52e40eb"/></dir></dir></dir></dir></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="bmbleb"><file name="bmbleb.css" hash="8aea7d5d46e2a0d0ece11abca6ef5d3f"/><dir name="images"><file name="arrows_up-down-large.png" hash="72c27995e1ab1d182891dad0a4d1dae2"/><file name="bmb-ctl.png" hash="de59a694a82b8699560df5146b2e315f"/><file name="check.png" hash="126f33ed483549e79a16186b7499c190"/><file name="grn-bg.png" hash="f681a524e2b4561dbe94152a2d24d60b"/><file name="h3-bg.png" hash="b93df0b0bdba8e8f6e0a07cc31fcc180"/><file name="icon-alert.png" hash="ac2e70efdcebc3813222d0d3ee62a6d9"/><file name="icon-bmbleb.png" hash="fb5574b5e63ee33b84eee26b3d8ef8e3"/><file name="icon-insights.png" hash="725fd29fe1b705e358c9080408693d3d"/><file name="icon-status.png" hash="bd13429f23166a6d431739010ea1b2cd"/><file name="left-ico1.png" hash="7d188f5e6021569750756f58067f0a3b"/><file name="left-ico2.png" hash="d2f6379a73290a8ffa4cb3e19a809d25"/><file name="left-ico3.png" hash="73bc75f7a746e54a75f14eda7a28a6b9"/><file name="left-ico4.png" hash="1da2c26187fed26b6c61599682b2dc4b"/><file name="left-ico5.png" hash="ada61cb32805f2cb8e8dace46361613e"/><file name="left-ico6.png" hash="1e62822267f72589ffa0771352a002da"/><file name="left-ico7.png" hash="16118412d581f0c83ce45c44f62f25a1"/><file name="left-ico8.png" hash="c7de2fe523c892b432b575648cc05631"/><file name="left-ico_demographics.png" hash="3fe23a2dea68f6c65114f248a8bdaa5e"/><file name="login-icn-b.png" hash="64e72070f595e215ece79736ac77ee2f"/><file name="login-icn.png" hash="6142cc2fc8ee2d1c40bf3c8f9ac1fa85"/><file name="logo.png" hash="8fb783f7d68fca3914123f56b8c066a4"/><file name="orng-bg.png" hash="074a6912ca2a139df537e3d15b6bc9b2"/><file name="plugin_dashboard_syncing.jpg" hash="8511648541f6f1b96ff1c53dda3a439b"/><file name="register.png" hash="f73fe51cf7df27ab11089385fa50714e"/><file name="registration-bg-25.png" hash="9d2cf77619cc8fce3ae4d44b0aae30c1"/><file name="registration-bg-50.png" hash="99942fdc8c3f88b0d4b09f87c9e39045"/><file name="registration-bg.png" hash="96365b39495e56ffe491dd9930fe221d"/><file name="spinner.gif" hash="add667817f25bce331a213ab3cc9621f"/><file name="springbot-ctl.png" hash="de59a694a82b8699560df5146b2e315f"/><file name="submit-btn-bg.png" hash="d98aa287b7b73dad9f780b22cb53fbdb"/><file name="sync_icon.png" hash="cb12f2e8943c8e324e3456375f953c86"/><file name="white-check.png" hash="126f33ed483549e79a16186b7499c190"/></dir></dir></dir></dir></dir></target><target name="mageweb"><dir name="shell"><file name="springbot.php" hash="40a39e4b3400ba8724621898c3d562a2"/></dir></target></contents>
|
57 |
<compatible/>
|
58 |
<dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies>
|
59 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Springbot</name>
|
4 |
+
<version>1.4.1.0</version>
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://opensource.org/licenses/OSL-3.0">Open Software License v3.0 (OSL-3.0)</license>
|
7 |
<channel>community</channel>
|
47 |
Proclivity to Buy Alerts example: Sally Avalon bought a house recently 
|
48 |

|
49 |
For support information, features and pricing and more details visit springbot.com </description>
|
50 |
+
<notes>Secure endpoint tasks
|
51 |
+
Prattle mode
|
52 |
+
1.3 compatibility fixes
|
53 |
Compilation check on remote update
|
54 |
Ultra paranoid getSource checking</notes>
|
55 |
<authors><author><name>Springbot Integrations Team</name><user>Springbot</user><email>magento@springbot.com</email></author></authors>
|
56 |
+
<date>2015-03-04</date>
|
57 |
+
<time>20:52:30</time>
|
58 |
+
<contents><target name="magecommunity"><dir name="Springbot"><dir name="Shadow"><dir name="Block"><dir name="Action"><file name="View.php" hash="f2fc0d66474305766335aa37a7bbcd72"/></dir><file name="Async.php" hash="0d203fe1a722f7045029613a0e97bfc2"/></dir><dir name="Controller"><file name="Action.php" hash="5dc41d4ddf12a468fb23fc757ef49a95"/></dir><dir name="Helper"><file name="Data.php" hash="82089d4cfecee69628ae9d627ad2de0c"/><file name="Prattler.php" hash="e2658c19a182bd5cc9948eccc024ad21"/></dir><dir name="Model"><dir name="Listeners"><file name="Observer.php" hash="e5b827a61c3b04fdb73e38a424d167eb"/></dir></dir><dir name="controllers"><file name="ActionController.php" hash="2532947b3368c5a4d64bf77cc7aa9316"/><file name="IndexController.php" hash="2a540da33a64c7307af981abca0d4558"/></dir><dir name="etc"><file name="config.xml" hash="b1717e37375197b449c0736adff99d87"/></dir></dir><dir name="Services"><dir name="Cmd"><file name="Forecast.php" hash="efaeb6ca5b2667b30929b223cddfb044"/><file name="Halt.php" hash="85c85ae257e9b86d0fb10fb46060fea3"/><file name="Harvest.php" hash="1f214f0fd7b41a6b5fc7c27218fb099a"/><file name="Healthcheck.php" hash="814af5d0d1865c7b610290b4cff2099d"/><file name="Update.php" hash="d8d1950c85930083009096a3849054a7"/></dir><dir name="Harvest"><file name="AttributeSets.php" hash="95610f6fd6323e0473589c01051781f2"/><file name="Carts.php" hash="ecaf8583962fc63e49cf069d73eb22bf"/><file name="Categories.php" hash="acfe9c8dc9a02992a058015e8aaf9311"/><file name="Coupons.php" hash="5190a1669b0b4ef10222843451e9dc36"/><file name="CustomerAttributeSets.php" hash="7c3a0bed9f841900f692f5a17e7c6e8f"/><file name="Customers.php" hash="3d57c8238976554081176e249f2e7f4b"/><file name="Guests.php" hash="e0f6d955ba9bc3f020cc95f3083913ad"/><file name="Products.php" hash="087d01eddc45b4a30c4aa7dba5cc5dce"/><file name="Purchases.php" hash="a3d76ae1a2ea514fcce5ca2607ddf5a4"/><file name="Rules.php" hash="355ecad7266987a391ceca9d2eb0244f"/><file name="Subscribers.php" hash="a8b0d7197580bd9f3de7b10f9c6dc7ca"/></dir><file name="Harvest.php" hash="af3b9604c7b9d7da76cffe846dc34d70"/><dir name="Log"><file name="Installer.php" hash="342706712eb2731ea27aeec993fd2d7f"/></dir><dir name="Post"><file name="Attribute.php" hash="e0a283984de84bc16d5f89a893a8dc83"/><file name="AttributeSet.php" hash="c8f66b5a189125a63e834196402b709a"/><file name="Cart.php" hash="26d33fb887417e46d3ba3e46badc04a3"/><file name="Category.php" hash="0645d5eb9bb790f25e29666bc3a703e0"/><file name="Coupon.php" hash="6b8b49327874ce431f6100b6917ba21f"/><file name="Customer.php" hash="d2f018919afdb7d49617e6b9ac7d2760"/><file name="Guest.php" hash="3b7ee9f0e274340713d8c4302d01b361"/><file name="Json.php" hash="86a5f26aa5367d8c4c66d278e4c02546"/><file name="Jsonstring.php" hash="9dfb5761d1a7835bf35040a073fa8fc4"/><file name="Product.php" hash="5ec9cbf29df156da09d17e1b6526f53d"/><file name="Purchase.php" hash="0b924c8e5d8f7018eb335ba9fb6d63dd"/><file name="Rule.php" hash="fa038fa414a176d960ed6470c7b7b4cd"/><file name="Subscriber.php" hash="88c5dbcaae805866595217eedbbf5f34"/></dir><file name="Post.php" hash="df9bf80bee670259f3a54e3308d0dbd3"/><file name="Registry.php" hash="d54afde887b72e79ae36ab11766ec5c9"/><dir name="Store"><file name="Finalize.php" hash="e3636b532bc8f55ba0e618a973e2faa0"/><file name="Register.php" hash="72ae8d75c11dc1c0635c799e284ecb2d"/></dir><dir name="Tasks"><file name="ClearCache.php" hash="17ee105f79d9a71c13ecdd6de2787cdc"/><file name="ClearJobs.php" hash="380740a54aa4d79a89d2c67f06724a31"/><file name="ClearStores.php" hash="33e216186c56bde7e558cd828e90dda0"/><file name="Debug.php" hash="41a522394c2b9375393d81bb3ab206cc"/><file name="DeleteJob.php" hash="be2a2be88290cc3e9bc54c59e22254b5"/><file name="DeliverEventLog.php" hash="18ffe64d10e90819b5e141fc471c0951"/><file name="Forecast.php" hash="caaf18be7fe387a4eba5a77eb0db2c12"/><file name="GetLog.php" hash="d850bba9f90b134f884d8d7a36730a26"/><file name="Harvest.php" hash="f71f97f078a081425c8848ba435d3b16"/><file name="Healthcheck.php" hash="50c68e798295602d733dc2a0f7cdec0a"/><file name="Jobs.php" hash="9df9611445f9ab4a7a6d4b4e79f6b681"/><file name="KillHarvest.php" hash="a757f35956e4565b597522168109071c"/><file name="LaunchFullHarvest.php" hash="e5271dbfa422a90f4c4dda7362cb68f3"/><file name="LaunchPartialHarvest.php" hash="9c5aa7792fe9a3b98f9de9f4b59e3866"/><file name="PackageUpdate.php" hash="cb88473eea4e15760a4fa7c0aba83ddb"/><file name="PostItem.php" hash="54b4bac0b26b8b0e06df1d6da1ea7a91"/><file name="RegisterStores.php" hash="c054ef31b9c28efc5a18ee2ddf31c512"/><file name="ResetRetries.php" hash="bf00fe101b69a78955dc9a6d054e7ba7"/><file name="ResumeHarvest.php" hash="c9ba7b36e2b16dd1d1d947fc83a0ce5e"/><file name="Run.php" hash="c6892d3f812d5085b284d3501211bd5d"/><file name="SetVar.php" hash="93a0afb5e5c32536f430fc3b58b72995"/><file name="UnlockJobs.php" hash="9bf4b725445897ab2842bcb97e344e0c"/><file name="ViewConfig.php" hash="cc60cbc3d2212576301b13b0b286c618"/></dir><file name="Tasks.php" hash="173bdc5c586a0f5d41528cdbd2fff70b"/><dir name="Update"><file name="Abstract.php" hash="7b9a1d36b4486e250587820731b7fb7c"/><file name="Connect.php" hash="3e4366a42e563ec3406a0fcb9a5f77bf"/><file name="Downloader.php" hash="934ef5788acb45ce94e0a32c1d705df1"/><file name="Installer.php" hash="a09ec2e9f7bbf12c117c8950e46072b0"/><file name="Package.php" hash="60ec01b28a2ded244bf6d4a971918bd5"/></dir><dir name="Work"><file name="Cleanup.php" hash="100fef130220e91dc255b5e0f30c37f1"/><file name="Manager.php" hash="9dbdfb717865b7724f4ffd38b3ec866e"/><file name="Report.php" hash="a6482e618e657688ab85221576d1898f"/><file name="Restart.php" hash="d55e811fbba86348890b4047fa5a579f"/><file name="Runner.php" hash="c0ced9ce83e5e51b4ba5f10bb46760af"/><file name="Stop.php" hash="db97407b43396f0adf44a2354a23a0a5"/></dir></dir><dir name="Util"><file name="Cache.php" hash="2c6eb2ee4ee723758fc92989e9220f6e"/><file name="Caller.php" hash="4fcc265eb1a58fed5c3b404ec864514b"/><file name="Categories.php" hash="1292843306c38d9593902616e04320a6"/><dir name="Log"><file name="Rollover.php" hash="6ad4bd93adb7e906c1de5a05a2871ea8"/></dir><file name="Logger.php" hash="59abca8cb07ef933ca8ef2ac824591b5"/><file name="Partition.php" hash="b9296b086003ba58ba12f8b8b0373c50"/><file name="Timer.php" hash="68323a4faeb388627556137f0d7679d9"/></dir><file name="Services.php" hash="fc7893e2bcda2ab6765c760189effb8a"/><dir name="Bmbleb"><dir name="Block"><dir name="Adminhtml"><file name="Auth.php" hash="7dc661bbe9ec85f700a22b319981114d"/><dir name="Bmbleb"><dir name="Login"><file name="Form.php" hash="6d54c1272c7e0a37f3dfe7a23b97a451"/></dir><file name="Login.php" hash="7232e8225f5b21de5675c0d84cb452bd"/></dir><file name="Connected.php" hash="833cef8e351f5efa7a4d104b1c51ca7f"/><file name="Help.php" hash="b280b3292ed778140b751b6426ef56fb"/><dir name="Index"><file name="Messages.php" hash="1e247e31194447de32e54f49dafc3ccc"/><file name="Terms.php" hash="739e5a9ebe204f1f9ac433557c994ae6"/></dir><file name="Index.php" hash="eb7bbef5fa26a53748596e145c3677c4"/><dir name="Jobs"><file name="Grid.php" hash="67255d982ac3d50b38d7a2a525c2b922"/><file name="Status.php" hash="f1b197bf6fdc392bed93ff0734a54ad6"/></dir><file name="Jobs.php" hash="84801c6008802496e168e763a7e6d71f"/><file name="Login.php" hash="2e4d8baead482d404ed40f7d5f3d902c"/><file name="Logout.php" hash="b75af51891b751b9d070e1e784dd6914"/><file name="Logs.php" hash="686e958b553c1e3fcf74841eab30fffb"/><file name="Notifications.php" hash="b9e103d6c255078274c2f3047d944d0e"/><file name="Problems.php" hash="c2fd654e2c4c3a6dd9fbb083d0995e5e"/><file name="Status.php" hash="9b67a20f0ee00608029d24850cefda4d"/><file name="Tabs.php" hash="6f93d5c6bd5208a99637c06118c6c630"/></dir></dir><dir name="Helper"><file name="Account.php" hash="c41f40e6f58abd3b8486e0e92cc079d8"/><file name="Data.php" hash="dca14b137de1e2734a377ca645eeddbe"/><file name="PluginStatus.php" hash="10fccc3c622adf7e865ebdcc11d65932"/></dir><dir name="Model"><file name="Bmbleb.php" hash="700d11c3006f2dcd2e80cd8bbbab15f9"/><file name="Status.php" hash="9409d26c7884be6b8075ba97dbf71f78"/><file name="Sync.php" hash="a800b6064a88f37957392cd967f2b3cb"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="HelpController.php" hash="087e7868dafe9dd2df89a642d405424a"/><file name="IndexController.php" hash="61a95eed027fcb7a7179485288f1b05f"/><file name="JobsController.php" hash="4e912a8fafd2f58235cb2299a83a128b"/><file name="LogsController.php" hash="20a0ce2f584f08480399b7a5ecbd9207"/><file name="ProblemsController.php" hash="9753f4b2d3e7d4873e4bd92b5b2b6aaf"/><file name="SettingsController.php" hash="f75a7a8ef28a296cbd46b04ae9dd5539"/></dir><file name="HelpController.php" hash="2df4608a957f151bf1d01dbde2113680"/><file name="IndexController.php" hash="ea5fa5e2b305f46b222cb2fc2a44f6a5"/><file name="LoginController.php" hash="41a0c13dce233a613f89b614cffa0eb1"/><file name="LogoutController.php" hash="140c9d32f5557aa1169fd1b85cd5cc9f"/></dir><dir name="etc"><file name="config.xml" hash="45f7218274a3eed0086761942a95f27b"/></dir></dir><file name="Boss.php" hash="17ca50432a774d40a024a804997dfa25"/><file name="Cli.php" hash="29fe818908a9d2e0786c6fb75fb91773"/><file name="Log.php" hash="5ab61d7cf21805adb8f826f83b9bf7b1"/><dir name="Combine"><dir name="Helper"><file name="Attributes.php" hash="5fb06e7cc89bb710039a79fb16e2a998"/><file name="Cart.php" hash="07ce5f461ecded3b9b00ed5c30faa266"/><file name="Data.php" hash="bba3915380a71aaacacc306f10396ef1"/><file name="Harvest.php" hash="08fd1b330802731bf82358fd05789173"/><file name="Parser.php" hash="59b987ae48baffd9d656bb78c9a17379"/><file name="Redirect.php" hash="92053fb1b356fdd6b3131be0b6a8017c"/><file name="Store.php" hash="8db94d157d7e497e7612844da43a6c11"/><file name="Trackable.php" hash="a042cb0d176730ec87353b1c5c6d21f7"/></dir><dir name="Model"><file name="Action.php" hash="6375461263bdf7fe26e71235d2449c21"/><file name="Api.php" hash="978590ad36b4d6ad6b3a14742f8bb31c"/><dir name="Cron"><file name="Count.php" hash="57552740b6ffdd9a4e879191a51043b0"/><dir name="Manager"><file name="Status.php" hash="aeb4445bc2d4b1b7e0e19c09172f0483"/></dir><dir name="Queue"><dir name="Batch"><file name="Row.php" hash="25f4ed809a9190f5d41c6c210cd8a537"/></dir><file name="Batch.php" hash="fa905d2781aab5881e881e3b12d25e0c"/></dir><file name="Queue.php" hash="7057aea4c3c103e164ed380b351c5bd1"/><file name="Worker.php" hash="8b5040f1c5c5b3221542e739dc951de7"/></dir><file name="Cron.php" hash="40f2bc9634610f4ed5464de48630ce16"/><dir name="File"><file name="Io.php" hash="6d1f79eaf45897bf0525b0f3f3ac69d2"/><file name="Path.php" hash="24900b670c07fcdc4e54bae585f20002"/></dir><dir name="Harvest"><file name="AttributeSets.php" hash="479dfb30912b74183b396fa4e62323b2"/><file name="Carts.php" hash="0b303b2b7d4458a9a0cbf0653b9d660f"/><file name="Categories.php" hash="fd5f13ad449a320616569f64c82327ff"/><file name="Coupons.php" hash="14112f9063bbf20cea7ff3649f238524"/><file name="CustomerAttributeSets.php" hash="044f426226165ee86b0f822c00ec7712"/><file name="Customers.php" hash="c7850418a39abf09c10fbfafcb96f8e1"/><file name="Guests.php" hash="3685b3220b724e518dc83daad015577f"/><file name="Products.php" hash="da471abcc04837391b5270464164aefd"/><file name="Purchases.php" hash="427d38d1f6579f63730aa6bdf6b7bba4"/><file name="Rules.php" hash="fd1789174225c4ed6ad1e1137fe2aee5"/><file name="Subscribers.php" hash="e499e299612a6e2ce07ee19228cf43c5"/></dir><file name="Harvest.php" hash="8104fb4584411f90706f2fd9c8d8ce9b"/><dir name="Mysql4"><dir name="Action"><file name="Collection.php" hash="830a7db2ea307d594fe945701654d883"/></dir><file name="Action.php" hash="5b18cc8842c83d981575b7b2de496f66"/><dir name="Cron"><file name="Count.php" hash="acbbb7ec28afbbe98101f5d114cb30b3"/><dir name="Queue"><file name="Collection.php" hash="b26806c9e7cefd052bb784f5a6ce814c"/></dir><file name="Queue.php" hash="4add10644bfc94b88ef5042b23c82ae7"/></dir><dir name="Redirect"><file name="Collection.php" hash="3bbe4f8729c603f8d8131154a0a117c1"/><dir name="Order"><file name="Collection.php" hash="88c0cfcce31b0eed8c035dee4e7e86df"/></dir><file name="Order.php" hash="852bea330edac3372ec5c168111301a8"/></dir><file name="Redirect.php" hash="842e4ba35c6b049c8eaa64704588ca76"/><file name="Setup.php" hash="3fdec335980846a4c3adbc6f4e3478eb"/><dir name="Trackable"><file name="Collection.php" hash="8799c5bf630d267b551cf9dba986cbb0"/></dir><file name="Trackable.php" hash="b38749697b641874b42dceae38ab4a30"/></dir><dir name="Parser"><file name="AttributeSet.php" hash="9ae4013d42da5de0e9c8492fb29cd8d6"/><file name="Category.php" hash="0c3c71ff784307b9120d7cf781005069"/><file name="Coupon.php" hash="a66b3d4c8397610863cd74e35cbd5b62"/><file name="Customer.php" hash="99233c3da1eb28f1ec15e20e837d764a"/><file name="CustomerAttributeSet.php" hash="1b51f9300a9ee102872ff9d7f9bbccbc"/><file name="Guest.php" hash="002c900d3722f761e3e3ac63be84014f"/><file name="Product.php" hash="7e0fa4a55ca45fc876e588442cce72eb"/><dir name="Purchase"><file name="Item.php" hash="ca7facc8c81504ea990fdb1feeba64dd"/></dir><file name="Purchase.php" hash="ec3929b9e1a0df0e5816c1558391dcdc"/><dir name="Quote"><file name="Item.php" hash="37cbc74a49a16e67e02f421978e1741f"/></dir><file name="Quote.php" hash="df651461575cb44bd08f7eb8466782eb"/><file name="Rule.php" hash="0a0f70172aeff0e5157f2f1652c3ae09"/><file name="Subscriber.php" hash="57ab5db177d4a37f30865cb127912631"/></dir><file name="Parser.php" hash="3bd033d5d892f0f1673aa81ce51a70e2"/><dir name="Redirect"><file name="Order.php" hash="5ca85ca596ef6e45468c8a12cee72614"/></dir><file name="Redirect.php" hash="05dddaa1e9c17c4c79d70d63b56ed454"/><dir name="Resource"><file name="Abstract.php" hash="5e58e98d53c3d49e454d6b0bd2f308c2"/><dir name="Action"><file name="Collection.php" hash="22e278b8cbc5d18d4faa48c4f224d145"/></dir><file name="Action.php" hash="83b00531db5ec3a51ea7c0fc65a1d083"/><dir name="Cron"><dir name="Count"><file name="Collection.php" hash="c5cb4ab406c1d008c1bc22bb95b3ba28"/></dir><file name="Count.php" hash="6a356b5d92b509945c4567f479b9bfdd"/><dir name="Queue"><file name="Collection.php" hash="2e7ba35d1a14da641a098078e4db7432"/></dir><file name="Queue.php" hash="5b5273a55a562f93f273b92cb9ffcd5e"/></dir><file name="Debug.php" hash="976156dc1ff783a26174bdac79decde2"/><dir name="Redirect"><file name="Collection.php" hash="0f9db83ade4c50c2f7bbe40deae1c065"/><dir name="Order"><file name="Collection.php" hash="162359ed9499b6f976f5c341fd0585c3"/></dir><file name="Order.php" hash="7ea4477380a5215dc0efe561ede359d9"/></dir><file name="Redirect.php" hash="d239af442388bb9fa80db81a7fc43711"/><file name="Setup.php" hash="0405c44c124f19619ccc9f429d781d44"/><dir name="Trackable"><file name="Collection.php" hash="6f060c3537b49710302e38e881885a69"/></dir><file name="Trackable.php" hash="764b0d21c492dd69b9f85ae3c647666e"/></dir><dir name="System"><dir name="Config"><dir name="Source"><file name="Harvestertype.php" hash="4d9f7ffa7f49ecaa2e99df86f62e646c"/><file name="LogFormat.php" hash="828680dafe5a7042221900cb6d9dfa17"/><file name="LogLevel.php" hash="b86c793ca04205f045efd9ea42d02a10"/><file name="Stability.php" hash="830e5bc4e8ce9657221224dbaf99cee6"/><file name="UrlType.php" hash="28f9a5bc024afe5526685d429a751ad8"/></dir></dir></dir><file name="Trackable.php" hash="0af2cd1e6e1eb948157918df2570bf10"/></dir><dir name="etc"><file name="adminhtml.xml" hash="794fc8a1d67ac3e6b5d71c707a0c7cad"/><file name="config.xml" hash="0702ad1c9aa1c4248294a484a86a226a"/><file name="system.xml" hash="25135db9871a1975d67c9a16848656ee"/></dir><dir name="sql"><dir name="combine_setup"><file name="mysql4-install-1.0.0.70.php" hash="425be4a54012cd64753ee1a216255d67"/><file name="mysql4-upgrade-1.0.0.70-1.0.0.84.php" hash="e51deaff9e65f43483ab00573605329d"/><file name="mysql4-upgrade-1.0.0.84-1.0.0.88.php" hash="89bd8a585c0d351aae6838ace48f608d"/><file name="mysql4-upgrade-1.0.0.88-1.2.0.0.php" hash="4779a5072d23ebdb27177de0dfd19f5d"/><file name="mysql4-upgrade-1.2.0.0-1.2.0.1.php" hash="01a7ef2466b9f676884db4d7a7c562a9"/><file name="mysql4-upgrade-1.2.0.1-1.2.1.0.php" hash="dbba441ac757db26289f21443a948f6b"/><file name="mysql4-upgrade-1.3.9.9-1.4.0.0.php" hash="5b5e0602bdcd48263bdf4e25b17d95b5"/></dir></dir></dir><dir name="BoneCollector"><dir name="Model"><file name="HarvestAbstract.php" hash="fecaefad7d4fc279e3a54b4c8cac54ae"/><dir name="HarvestAttribute"><file name="Observer.php" hash="26d016ab4fae05872aa46b6abdc3e562"/></dir><dir name="HarvestCart"><file name="Observer.php" hash="7364d7b70e2b3fb65c7effac8cc2ade6"/></dir><dir name="HarvestCategory"><file name="Observer.php" hash="7ddb0b58b301863c1e46dd2db3628db8"/></dir><dir name="HarvestCustomer"><file name="Observer.php" hash="a20e21f1033dc35025ab9b402d6574bc"/></dir><dir name="HarvestProduct"><file name="Observer.php" hash="60af24cee3ad4105822ff4bfb73a5b62"/></dir><dir name="HarvestPurchase"><file name="Observer.php" hash="45b457d55548283c29c0d6105db52df7"/></dir><dir name="HarvestRule"><file name="Observer.php" hash="49f369f960101ec66458f8dbe7972e40"/></dir><dir name="HarvestSubscriber"><file name="Observer.php" hash="5b64106296e9d0045610c69ed0c9be4b"/></dir></dir><dir name="etc"><file name="config.xml" hash="908a3b69f97bf5578f661de5b8341a80"/></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Springbot.xml" hash="69a4e2c056502cd8539b4f66a2c8b1bc"/></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="bmbleb.xml" hash="aa390e236576f79375b407262961043e"/></dir><dir name="template"><dir name="bmbleb"><file name="auth.phtml" hash="bf509b53c49cd69ec3ea60e3effe69c3"/><file name="dashboard_loggedout.phtml" hash="19281143b19a544d4e3072dc754ada2d"/><dir name="help"><file name="index.phtml" hash="e9d3f11c623c735c3e699e406ff9e0e7"/></dir><dir name="index"><file name="messages.phtml" hash="fcbbb47d2cc30c493ed2316a8b888f5d"/><file name="terms.phtml" hash="dfff1182d2fe7d8eee69b9b302c4cbc7"/></dir><file name="index.phtml" hash="a5132e593910b8b59a3467b555d4ed87"/><dir name="jobs"><file name="status.phtml" hash="77f0b0ae7c3c6c42031675cfc959e270"/></dir><file name="jobs.phtml" hash="961ac83f56bf8703dbc433894da4933e"/><file name="login.phtml" hash="0a1a20dfaffe8646bb56323ab811d46a"/><file name="logout.phtml" hash="09b92790c5e124a01086d6929ed7e8de"/><dir name="logs"><file name="index.phtml" hash="17e773a761a24e292b09fe7da1bd7662"/></dir><file name="notifications.phtml" hash="45f8767a090a4f7a7e177151bbc43f4f"/><dir name="problems"><file name="index.phtml" hash="2027d07eed8848a4ed8e801d67072796"/></dir><file name="status.phtml" hash="1acc630a6549b234bc1fa5923e04b8ce"/><file name="tabs.phtml" hash="778b686fb073a8aeb973db3bfb0302aa"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="shadow.xml" hash="3f29bebbcf7e42c57dcac9150c6b7d68"/></dir><dir name="template"><dir name="shadow"><file name="async.phtml" hash="af147801ed74d45bb0580b0bb69ce0fd"/><file name="conversion.phtml" hash="3d46a8930d9658a24a77ff34d52e40eb"/></dir></dir></dir></dir></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="bmbleb"><file name="bmbleb.css" hash="d929b5f42085c25b86101379f286f55f"/><dir name="images"><file name="arrows_up-down-large.png" hash="72c27995e1ab1d182891dad0a4d1dae2"/><file name="bmb-ctl.png" hash="de59a694a82b8699560df5146b2e315f"/><file name="check.png" hash="126f33ed483549e79a16186b7499c190"/><file name="grn-bg.png" hash="f681a524e2b4561dbe94152a2d24d60b"/><file name="h3-bg.png" hash="b93df0b0bdba8e8f6e0a07cc31fcc180"/><file name="icon-alert.png" hash="ac2e70efdcebc3813222d0d3ee62a6d9"/><file name="icon-bmbleb.png" hash="fb5574b5e63ee33b84eee26b3d8ef8e3"/><file name="icon-insights.png" hash="725fd29fe1b705e358c9080408693d3d"/><file name="icon-status.png" hash="bd13429f23166a6d431739010ea1b2cd"/><file name="left-ico1.png" hash="7d188f5e6021569750756f58067f0a3b"/><file name="left-ico2.png" hash="d2f6379a73290a8ffa4cb3e19a809d25"/><file name="left-ico3.png" hash="73bc75f7a746e54a75f14eda7a28a6b9"/><file name="left-ico4.png" hash="1da2c26187fed26b6c61599682b2dc4b"/><file name="left-ico5.png" hash="ada61cb32805f2cb8e8dace46361613e"/><file name="left-ico6.png" hash="1e62822267f72589ffa0771352a002da"/><file name="left-ico7.png" hash="16118412d581f0c83ce45c44f62f25a1"/><file name="left-ico8.png" hash="c7de2fe523c892b432b575648cc05631"/><file name="left-ico_demographics.png" hash="3fe23a2dea68f6c65114f248a8bdaa5e"/><file name="login-icn-b.png" hash="64e72070f595e215ece79736ac77ee2f"/><file name="login-icn.png" hash="6142cc2fc8ee2d1c40bf3c8f9ac1fa85"/><file name="logo.png" hash="8fb783f7d68fca3914123f56b8c066a4"/><file name="orng-bg.png" hash="074a6912ca2a139df537e3d15b6bc9b2"/><file name="plugin_dashboard_syncing.jpg" hash="8511648541f6f1b96ff1c53dda3a439b"/><file name="register.png" hash="f73fe51cf7df27ab11089385fa50714e"/><file name="registration-bg-25.png" hash="9d2cf77619cc8fce3ae4d44b0aae30c1"/><file name="registration-bg-50.png" hash="99942fdc8c3f88b0d4b09f87c9e39045"/><file name="registration-bg.png" hash="96365b39495e56ffe491dd9930fe221d"/><file name="spinner.gif" hash="add667817f25bce331a213ab3cc9621f"/><file name="springbot-ctl.png" hash="de59a694a82b8699560df5146b2e315f"/><file name="submit-btn-bg.png" hash="d98aa287b7b73dad9f780b22cb53fbdb"/><file name="sync_icon.png" hash="cb12f2e8943c8e324e3456375f953c86"/><file name="white-check.png" hash="126f33ed483549e79a16186b7499c190"/></dir></dir></dir></dir></dir></target><target name="mageweb"><dir name="shell"><file name="springbot.php" hash="40a39e4b3400ba8724621898c3d562a2"/></dir></target></contents>
|
59 |
<compatible/>
|
60 |
<dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies>
|
61 |
</package>
|
skin/adminhtml/default/default/bmbleb/bmbleb.css
CHANGED
@@ -3,6 +3,10 @@
|
|
3 |
clear: both;
|
4 |
}
|
5 |
|
|
|
|
|
|
|
|
|
6 |
#bmbleb-sync-now {
|
7 |
height:170px;
|
8 |
width:170px;
|
3 |
clear: both;
|
4 |
}
|
5 |
|
6 |
+
.bmbleb-adminhtml-jobs-index #id {
|
7 |
+
float:left;
|
8 |
+
}
|
9 |
+
|
10 |
#bmbleb-sync-now {
|
11 |
height:170px;
|
12 |
width:170px;
|