Springbot - Version 1.4.5.0

Version Notes

Added registration of Instagram redirects on harvest

Download this release

Release Info

Developer Springbot Integrations Team
Extension Springbot
Version 1.4.5.0
Comparing to
See all releases


Code changes from version 1.4.3.0 to 1.4.5.0

app/code/community/Springbot/BoneCollector/Model/HarvestInventoryItem/Observer.php ADDED
@@ -0,0 +1,101 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Springbot_BoneCollector_Model_HarvestInventoryItem_Observer extends Springbot_BoneCollector_Model_HarvestAbstract
4
+ {
5
+ protected $_product;
6
+
7
+ protected $_attributes = array(
8
+ 'qty'
9
+ );
10
+
11
+
12
+ public function onCatalogInventorySave(Varien_Event_Observer $observer)
13
+ {
14
+ if ($this->_sendInventory()) {
15
+ try {
16
+ $event = $observer->getEvent();
17
+ $_item = $event->getItem();
18
+ if ((int)$_item->getData('qty') != (int)$_item->getOrigData('qty')) {
19
+ Springbot_Boss::scheduleJob('post:inventory', array(
20
+ 'i' => $_item->getItemId(),
21
+ ), Springbot_Services::LISTENER, 'listener'
22
+ );
23
+ }
24
+ }
25
+ catch (Exception $e) {
26
+ Springbot_Log::error($e);
27
+ }
28
+ }
29
+ }
30
+
31
+ public function onQuoteSubmit(Varien_Event_Observer $observer)
32
+ {
33
+ if ($this->_sendInventory()) {
34
+ $quote = $observer->getEvent()->getQuote();
35
+ foreach ($quote->getAllItems() as $item) {
36
+ try {
37
+ Springbot_Boss::scheduleJob('post:inventory', array(
38
+ 'i' => $item->getItemId(),
39
+ ), Springbot_Services::LISTENER, 'listener'
40
+ );
41
+ }
42
+ catch (Exception $e) {
43
+ Springbot_Log::error($e);
44
+ }
45
+ }
46
+ }
47
+ }
48
+
49
+ public function onCancelOrderItem(Varien_Event_Observer $observer)
50
+ {
51
+ if ($this->_sendInventory()) {
52
+ try {
53
+ $item = $observer->getEvent()->getItem();
54
+ Springbot_Boss::scheduleJob('post:inventory', array(
55
+ 'i' => $item->getItemId(),
56
+ ), Springbot_Services::LISTENER, 'listener'
57
+ );
58
+ }
59
+ catch (Exception $e) {
60
+ Springbot_Log::error($e);
61
+ }
62
+ }
63
+ }
64
+
65
+ public function onCreditmemoSave(Varien_Event_Observer $observer)
66
+ {
67
+ if ($this->_sendInventory()) {
68
+ try {
69
+ $event = $observer->getEvent();
70
+ $creditmemo = $event->getCreditmemo();
71
+ foreach ($creditmemo->getAllItems() as $creditMemoItem) {
72
+ $productId = $creditMemoItem->getProductId();
73
+ if ($product = Mage::getModel('catalog/product')->load($productId)) {
74
+ if ($inventoryItem = Mage::getModel('cataloginventory/stock_item')->loadByProduct($product)) {
75
+ Springbot_Boss::scheduleJob('post:inventory', array(
76
+ 'i' => $inventoryItem->getItemId(),
77
+ ), Springbot_Services::LISTENER, 'listener'
78
+ );
79
+ }
80
+ }
81
+ }
82
+ }
83
+ catch (Exception $e) {
84
+ Springbot_Log::error($e);
85
+ }
86
+ }
87
+
88
+ }
89
+
90
+ private function _sendInventory() {
91
+ if (Mage::getStoreConfig('springbot/advanced/send_inventory') == 1) {
92
+ return true;
93
+ } else {
94
+ return false;
95
+ }
96
+ }
97
+
98
+
99
+
100
+
101
+ }
app/code/community/Springbot/BoneCollector/etc/config.xml CHANGED
@@ -79,6 +79,52 @@
79
  </springbot_bonecollector_subscriberdelete_observer>
80
  </observers>
81
  </newsletter_subscriber_delete_before>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
82
  </events>
83
  </global>
84
  <frontend>
79
  </springbot_bonecollector_subscriberdelete_observer>
80
  </observers>
81
  </newsletter_subscriber_delete_before>
82
+
83
+
84
+ <!-- Inventory update listeners -->
85
+ <cataloginventory_stock_item_save_commit_after>
86
+ <observers>
87
+ <springbot_bonecollector_stockitemsavecommit_observer>
88
+ <class>Springbot_BoneCollector_Model_HarvestInventoryItem_Observer</class>
89
+ <method>onCatalogInventorySave</method>
90
+ </springbot_bonecollector_stockitemsavecommit_observer>
91
+ </observers>
92
+ </cataloginventory_stock_item_save_commit_after>
93
+ <sales_model_service_quote_submit_before>
94
+ <observers>
95
+ <springbot_bonecollector_quoteseubmit_observer>
96
+ <class>Springbot_BoneCollector_Model_HarvestInventoryItem_Observer</class>
97
+ <method>onQuoteSubmit</method>
98
+ </springbot_bonecollector_quoteseubmit_observer>
99
+ </observers>
100
+ </sales_model_service_quote_submit_before>
101
+ <sales_model_service_quote_submit_failure>
102
+ <observers>
103
+ <springbot_bonecollector_quotesubmitfailure>
104
+ <class>Springbot_BoneCollector_Model_HarvestInventoryItem_Observer</class>
105
+ <method>onQuoteSubmit</method>
106
+ </springbot_bonecollector_quotesubmitfailure>
107
+ </observers>
108
+ </sales_model_service_quote_submit_failure>
109
+ <sales_order_item_cancel>
110
+ <observers>
111
+ <springbot_bonecollector_stockupdate>
112
+ <class>Springbot_BoneCollector_Model_HarvestInventoryItem_Observer</class>
113
+ <method>onCancelOrderItem</method>
114
+ </springbot_bonecollector_stockupdate>
115
+ </observers>
116
+ </sales_order_item_cancel>
117
+ <sales_order_creditmemo_save_after>
118
+ <observers>
119
+ <springbot_bonecollector_stockupdate>
120
+ <class>Springbot_BoneCollector_Model_HarvestInventoryItem_Observer</class>
121
+ <method>onCreditmemoSave</method>
122
+ </springbot_bonecollector_stockupdate>
123
+ </observers>
124
+ </sales_order_creditmemo_save_after>
125
+ <!-- End inventory update listeners -->
126
+
127
+
128
  </events>
129
  </global>
130
  <frontend>
app/code/community/Springbot/Combine/Model/Harvest.php CHANGED
@@ -38,7 +38,7 @@ abstract class Springbot_Combine_Model_Harvest
38
  }
39
 
40
  /**
41
- * Iterate through all entities inn the collection and call the step() method
42
  * which will post the JSON entities to the API.
43
  *
44
  * @return Springbot_Combine_Model_Harvest
@@ -107,6 +107,7 @@ abstract class Springbot_Combine_Model_Harvest
107
  {
108
  if (count($this->_segmentQueue) >= $this->getSegmentSize()) {
109
  $this->_total += $this->getSegmentSize();
 
110
  $this->postSegment();
111
  }
112
 
@@ -138,6 +139,7 @@ abstract class Springbot_Combine_Model_Harvest
138
  if($this->_delete) {
139
  $parser->setIsDeleted(true);
140
  }
 
141
  return $parser->getData();
142
  }
143
 
38
  }
39
 
40
  /**
41
+ * Iterate through all entities in the collection and call the step() method
42
  * which will post the JSON entities to the API.
43
  *
44
  * @return Springbot_Combine_Model_Harvest
107
  {
108
  if (count($this->_segmentQueue) >= $this->getSegmentSize()) {
109
  $this->_total += $this->getSegmentSize();
110
+ echo "Posting segment\n";
111
  $this->postSegment();
112
  }
113
 
139
  if($this->_delete) {
140
  $parser->setIsDeleted(true);
141
  }
142
+
143
  return $parser->getData();
144
  }
145
 
app/code/community/Springbot/Combine/Model/Harvest/Inventories.php ADDED
@@ -0,0 +1,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Springbot_Combine_Model_Harvest_Inventories extends Springbot_Combine_Model_Harvest
4
+ {
5
+ protected $_segmentSize = 100;
6
+
7
+ public function getMageModel()
8
+ {
9
+ return 'cataloginventory/stock_item';
10
+ }
11
+
12
+ public function getParserModel()
13
+ {
14
+ return 'combine/parser_inventory';
15
+ }
16
+
17
+ public function getApiController()
18
+ {
19
+ return 'inventories';
20
+ }
21
+
22
+ public function getApiModel()
23
+ {
24
+ return 'inventories';
25
+ }
26
+
27
+ public function getRowId()
28
+ {
29
+ return 'item_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->parse();
43
+
44
+ if ($this->getDelete()) {
45
+ $parser->setIsDeleted(true);
46
+ }
47
+
48
+ return $parser->getData();
49
+ }
50
+
51
+ public function loadMageModel($entityId)
52
+ {
53
+ $model = Mage::getModel($this->getMageModel());
54
+ $model->load($entityId);
55
+ return $model;
56
+ }
57
+ }
58
+
59
+
app/code/community/Springbot/Combine/Model/Parser.php CHANGED
@@ -4,6 +4,7 @@ abstract class Springbot_Combine_Model_Parser extends Varien_Object
4
  {
5
  protected $_parsed = false;
6
  protected $_attrProtected = array();
 
7
 
8
  /*
9
  * Public accessor for parse method
4
  {
5
  protected $_parsed = false;
6
  protected $_attrProtected = array();
7
+ protected $_storeId;
8
 
9
  /*
10
  * Public accessor for parse method
app/code/community/Springbot/Combine/Model/Parser/Inventory.php ADDED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Springbot_Combine_Model_Parser_Inventory extends Springbot_Combine_Model_Parser
4
+ {
5
+ protected $_inventory;
6
+ protected $_accessor = '_inventory';
7
+
8
+ public function __construct(Mage_CatalogInventory_Model_Stock_Item $inventory)
9
+ {
10
+ $this->_inventory = $inventory;
11
+ }
12
+
13
+ protected function _parse()
14
+ {
15
+ $productId = $this->_inventory->getProductId();
16
+ if ($product = Mage::getModel('catalog/product')->load($productId)) {
17
+ $this->_data = array(
18
+ 'product_id' => $this->_inventory->getProductId(),
19
+ 'system_managed' => (bool) $this->_inventory->getManageStock(),
20
+ 'out_of_stock_qty' => $this->_inventory->getMinQty(),
21
+ 'quantity' => $this->_inventory->getQty(),
22
+ 'store_id' => $this->getSpringbotStoreId(),
23
+ 'item_id' => $this->_inventory->getItemId(),
24
+ 'is_in_stock' => $this->_inventory->getIsInStock(),
25
+ 'min_sale_qty' => $this->_inventory->getMinSaleQty(),
26
+ 'sku' => $this->_getSku($product),
27
+ 'sku_fulfillment' => $product->getSku(),
28
+ );
29
+
30
+ return parent::_parse();
31
+ }
32
+ }
33
+
34
+ public function getSpringbotStoreId()
35
+ {
36
+ return $this->_getSpringbotStoreId($this->getMageStoreId());
37
+ }
38
+
39
+ protected function _getSku($product)
40
+ {
41
+ $parents = Mage::helper('combine/parser')->getParentSkus($product->getId());
42
+ if(sizeof($parents) > 0) {
43
+ $sku = implode('|', $parents);
44
+ } else {
45
+ $sku = $this->_getSkuFailsafe($product);
46
+ }
47
+ return $sku;
48
+ }
49
+
50
+ }
app/code/community/Springbot/Combine/etc/config.xml CHANGED
@@ -2,7 +2,7 @@
2
  <config>
3
  <modules>
4
  <Springbot_Combine>
5
- <version>1.4.3.0</version>
6
  </Springbot_Combine>
7
  </modules>
8
  <global>
@@ -97,6 +97,7 @@
97
  <assets_domain>d2z0bn1jv8xwtk.cloudfront.net</assets_domain>
98
  <scrape_coupons>0</scrape_coupons>
99
  <max_job_time>60</max_job_time>
 
100
  </advanced>
101
  <cart_restore>
102
  <do_restore>1</do_restore>
2
  <config>
3
  <modules>
4
  <Springbot_Combine>
5
+ <version>1.4.5.0</version>
6
  </Springbot_Combine>
7
  </modules>
8
  <global>
97
  <assets_domain>d2z0bn1jv8xwtk.cloudfront.net</assets_domain>
98
  <scrape_coupons>0</scrape_coupons>
99
  <max_job_time>60</max_job_time>
100
+ <send_inventory>0</send_inventory>
101
  </advanced>
102
  <cart_restore>
103
  <do_restore>1</do_restore>
app/code/community/Springbot/Combine/etc/system.xml CHANGED
@@ -314,6 +314,14 @@
314
  <show_in_website>0</show_in_website>
315
  <show_in_store>0</show_in_store>
316
  </max_job_time>
 
 
 
 
 
 
 
 
317
  </fields>
318
  </advanced>
319
  <cart_restore>
314
  <show_in_website>0</show_in_website>
315
  <show_in_store>0</show_in_store>
316
  </max_job_time>
317
+ <send_inventory translate="label">
318
+ <label>Send inventory data</label>
319
+ <frontend_type>select</frontend_type>
320
+ <source_model>adminhtml/system_config_source_yesno</source_model>
321
+ <sort_order>130</sort_order>
322
+ <show_in_default>1</show_in_default>
323
+ <show_in_website>0</show_in_website>
324
+ </send_inventory>
325
  </fields>
326
  </advanced>
327
  <cart_restore>
app/code/community/Springbot/Services/Cmd/Harvest.php CHANGED
@@ -29,9 +29,16 @@ class Springbot_Services_Cmd_Harvest extends Springbot_Services
29
  self::$_classes, array('coupons', 'rules')
30
  ));
31
  }
 
 
 
 
 
32
  return self::$_classes;
33
  }
34
 
 
 
35
  protected function _init()
36
  {
37
  $service = new Springbot_Services_Store_Register;
@@ -126,6 +133,7 @@ class Springbot_Services_Cmd_Harvest extends Springbot_Services
126
 
127
  $forecastService = new Springbot_Services_Cmd_Forecast;
128
  $forecastService->forecastStore($store->getStoreId(), $this->_harvestId);
 
129
 
130
  foreach ($classes as $class) {
131
  Springbot_Boss::scheduleJob(
@@ -158,6 +166,29 @@ class Springbot_Services_Cmd_Harvest extends Springbot_Services
158
  'default',
159
  $store->getStoreId()
160
  );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
161
  }
162
 
163
  /**
29
  self::$_classes, array('coupons', 'rules')
30
  ));
31
  }
32
+
33
+ if (Mage::getStoreConfig('springbot/advanced/send_inventory') == 1) {
34
+ self::$_classes[] = 'inventories';
35
+ }
36
+
37
  return self::$_classes;
38
  }
39
 
40
+
41
+
42
  protected function _init()
43
  {
44
  $service = new Springbot_Services_Store_Register;
133
 
134
  $forecastService = new Springbot_Services_Cmd_Forecast;
135
  $forecastService->forecastStore($store->getStoreId(), $this->_harvestId);
136
+ $this->_registerInstagramRewrites($store);
137
 
138
  foreach ($classes as $class) {
139
  Springbot_Boss::scheduleJob(
166
  'default',
167
  $store->getStoreId()
168
  );
169
+
170
+ }
171
+
172
+ private function _registerInstagramRewrites($store) {
173
+ $existingRewrite = Mage::getModel('core/url_rewrite')->loadByIdPath("springbot/{$store->getStoreId()}");
174
+ if ($existingRewrite->getUrlRewriteId() == null) {
175
+ if ($springbotStoreId = $this->getHelper()->getSpringbotStoreId($store->getStoreId())) {
176
+ try {
177
+ $encodedStoreName = urlencode($store->getFrontendName());
178
+ Mage::getModel('core/url_rewrite')
179
+ ->setIsSystem(0)
180
+ ->setStoreId($store->getStoreId())
181
+ ->setOptions('RP')
182
+ ->setIdPath('springbot/' . $store->getStoreId())
183
+ ->setTargetPath("https://app.springbot.com/i/{$springbotStoreId}/{$encodedStoreName}")
184
+ ->setRequestPath('i')
185
+ ->save();
186
+ }
187
+ catch (Exception $e) {
188
+ Springbot_Log::debug("Unable to create instagram URL rewrite for store id " . $store->getStoreId());
189
+ }
190
+ }
191
+ }
192
  }
193
 
194
  /**
app/code/community/Springbot/Services/Harvest/Inventories.php ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Springbot_Services_Harvest_Inventories extends Springbot_Services_Harvest
4
+ {
5
+ public function run()
6
+ {
7
+ if ($this->_sendInventory()) {
8
+ $collection = $this->getCollection($this->getStoreId());
9
+ $api = Mage::getModel('combine/api');
10
+ $harvester = new Springbot_Combine_Model_Harvest_Inventories($api, $collection, $this->getDataSource());
11
+ $harvester->setStoreId($this->getStoreId());
12
+ $harvester->harvest();
13
+
14
+ return $this->reportCount($harvester);
15
+ }
16
+ }
17
+
18
+ public function getCollection($storeId, $partition = null)
19
+ {
20
+ $collection = Mage::getModel('cataloginventory/stock_item')->getCollection();
21
+
22
+ if ($this->getStartId() !== null) {
23
+ $collection->addFieldToFilter('item_id', array('gt' => $this->getStartId()));
24
+ }
25
+ if ($this->getStopId()) {
26
+ $collection->addFieldToFilter('item_id', array('lteq' => $this->getStopId()));
27
+ }
28
+
29
+ if ($partition) {
30
+ $collection = parent::limitCollection($collection, $partition);
31
+ }
32
+
33
+ return $collection;
34
+ }
35
+
36
+ private function _sendInventory() {
37
+ if (Mage::getStoreConfig('springbot/advanced/send_inventory') == 1) {
38
+ return true;
39
+ } else {
40
+ return false;
41
+ }
42
+ }
43
+ }
app/code/community/Springbot/Services/Post/Inventory.php ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Springbot_Services_Post_Inventory extends Springbot_Services_Post
4
+ {
5
+ public function run()
6
+ {
7
+ $api = Mage::getModel('combine/api');
8
+ $collection = new Varien_Data_Collection;
9
+ $harvester = new Springbot_Combine_Model_Harvest_Inventories($api, $collection, $this->getDataSource());
10
+ $harvester->setDelete($this->getDelete());
11
+ $this->_aggregateInventoryItem($this->getStartId(), $harvester);
12
+ $harvester->postSegment();
13
+ }
14
+
15
+
16
+
17
+ protected function _aggregateInventoryItem($itemId, $harvester)
18
+ {
19
+ $inventoryItem = Mage::getModel('cataloginventory/stock_item')->load($itemId);
20
+ $productId = $inventoryItem->getProductId();
21
+ if ($product = Mage::getModel('catalog/product')->load($productId)) {
22
+ foreach ($product->getStoreIds() as $storeId) {
23
+ $inventoryItem->setStoreId($storeId);
24
+ $harvester->push($inventoryItem);
25
+ }
26
+ }
27
+ }
28
+
29
+ }
app/code/community/Springbot/Services/Tasks/HarvestInventory.php ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Springbot_Services_Tasks_HarvestInventory extends Springbot_Services
4
+ {
5
+ public function run()
6
+ {
7
+ $this->_turnOnInventorySync();
8
+
9
+ Springbot_Boss::scheduleJob(
10
+ 'cmd:harvest',
11
+ array(
12
+ 's' => $this->getStoreId(),
13
+ 'c' => 'inventories',
14
+ ),
15
+ Springbot_Services::HARVEST,
16
+ 'default',
17
+ $this->getStoreId()
18
+ );
19
+ return true;
20
+ }
21
+
22
+ protected function _turnOnInventorySync()
23
+ {
24
+ if(!Mage::getStoreConfig('springbot/advanced/send_inventory') == 1) {
25
+ Mage::getConfig()->saveConfig('springbot/advanced/send_inventory', 1, 'default', 0);
26
+ Mage::getConfig()->cleanCache();
27
+ }
28
+ }
29
+ }
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Springbot</name>
4
- <version>1.4.3.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,12 +47,11 @@
47
  Proclivity to Buy Alerts example: Sally Avalon bought a house recently &#xD;
48
  &#xD;
49
  For support information, features and pricing and more details visit springbot.com </description>
50
- <notes>Fixed issue with redirect id persistence&#xD;
51
- Added timeout on prattler run endpoint</notes>
52
  <authors><author><name>Springbot Integrations Team</name><user>Springbot</user><email>magento@springbot.com</email></author></authors>
53
- <date>2015-03-20</date>
54
- <time>19:21:31</time>
55
- <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="008ffa5ad753c092650b5686ea24fffe"/><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="1848d1c6e5d25b426b41b52cf28f8ff8"/><file name="Healthcheck.php" hash="b1c26cd3e54c303c7c6d73e5accf2e18"/><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="e840d2c2dbe813f259b92feba8173b52"/><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="63fdc080533ab8dff8d0949dd6ef4a3b"/><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="8a3eec618fe3b04a3514dc302c4c5a0f"/><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="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"/></dir><file name="Services.php" hash="b9f0a869c089aa0ce4e111813827e0b0"/><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="0af1ff701cb657eea5ea8f874e3affc1"/></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="7d078ddf2a7cf1291f04912576560d3e"/><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="bd8bbc0578826490d0dc1ff4c6354aa1"/></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="152dcd56ce27b58ea5e003fe34830767"/><file name="LogoutController.php" hash="140c9d32f5557aa1169fd1b85cd5cc9f"/></dir><dir name="etc"><file name="config.xml" hash="45f7218274a3eed0086761942a95f27b"/></dir></dir><file name="Boss.php" hash="056f9eff87e5f7e76eab289596309829"/><file name="Cli.php" hash="6aef5d4fd8fbda6351338ab313d930ce"/><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="480f573160e775654555022a5fee1450"/><file name="Redirect.php" hash="085d1e1b428218f290c690f2cbe42d6d"/><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="455babdbaa841a12b74a3485871e7eeb"/><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="fa0e008c67f15d1a4c7866a407aaaeaf"/><file name="Rule.php" hash="0a0f70172aeff0e5157f2f1652c3ae09"/><file name="Subscriber.php" hash="57ab5db177d4a37f30865cb127912631"/></dir><file name="Parser.php" hash="83a4b9bafb33b1742420c8c6c6ff2e8b"/><dir name="Redirect"><file name="Order.php" hash="5ca85ca596ef6e45468c8a12cee72614"/></dir><file name="Redirect.php" hash="05dddaa1e9c17c4c79d70d63b56ed454"/><dir name="Resource"><file name="Abstract.php" hash="61dfb714347611c6cf934b1d2360bfe3"/><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="e6655bdbc5920eeb9178adfcb905ac36"/></dir><file name="Queue.php" hash="f9eae90970e4d935b5e5335c8e57e71b"/></dir><file name="Debug.php" hash="976156dc1ff783a26174bdac79decde2"/><dir name="Redirect"><file name="Collection.php" hash="df6662f064b3170aab46d69d42c514a3"/><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="23eb5e95bde001dbd465a1bc96baa430"/></dir><dir name="etc"><file name="adminhtml.xml" hash="794fc8a1d67ac3e6b5d71c707a0c7cad"/><file name="config.xml" hash="e7914ab9c92c146ca6e9140b3909a9a7"/><file name="system.xml" hash="8ec7ccf89ec872a2efb0115e7c0a12fc"/></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="ae4c5e0cf7b764419ffb36710388ecfd"/></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="73eac87240083709cb5c746b81afe44f"/></dir><dir name="HarvestPurchase"><file name="Observer.php" hash="f253527e8f98c795a064c2636530ed15"/></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="acbe2c052259293901fea4635b7a66bf"/><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>
56
  <compatible/>
57
  <dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies>
58
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Springbot</name>
4
+ <version>1.4.5.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 &#xD;
48
  &#xD;
49
  For support information, features and pricing and more details visit springbot.com </description>
50
+ <notes>Added registration of Instagram redirects on harvest</notes>
 
51
  <authors><author><name>Springbot Integrations Team</name><user>Springbot</user><email>magento@springbot.com</email></author></authors>
52
+ <date>2015-05-27</date>
53
+ <time>07:03:18</time>
54
+ <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="008ffa5ad753c092650b5686ea24fffe"/><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="290fd2d9488bdcffb5abda5482695b47"/><file name="Healthcheck.php" hash="b1c26cd3e54c303c7c6d73e5accf2e18"/><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="Inventories.php" hash="d5a78ead8d37188df6286d4697b25f76"/><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="Inventory.php" hash="a003e45720f7527d29a5678596e4e843"/><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="e840d2c2dbe813f259b92feba8173b52"/><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="HarvestInventory.php" hash="570d3aba5ac28b397d601d21f070415e"/><file name="Healthcheck.php" hash="63fdc080533ab8dff8d0949dd6ef4a3b"/><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="8a3eec618fe3b04a3514dc302c4c5a0f"/><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="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"/></dir><file name="Services.php" hash="b9f0a869c089aa0ce4e111813827e0b0"/><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="0af1ff701cb657eea5ea8f874e3affc1"/></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="7d078ddf2a7cf1291f04912576560d3e"/><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="bd8bbc0578826490d0dc1ff4c6354aa1"/></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="152dcd56ce27b58ea5e003fe34830767"/><file name="LogoutController.php" hash="140c9d32f5557aa1169fd1b85cd5cc9f"/></dir><dir name="etc"><file name="config.xml" hash="45f7218274a3eed0086761942a95f27b"/></dir></dir><file name="Boss.php" hash="056f9eff87e5f7e76eab289596309829"/><file name="Cli.php" hash="6aef5d4fd8fbda6351338ab313d930ce"/><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="480f573160e775654555022a5fee1450"/><file name="Redirect.php" hash="085d1e1b428218f290c690f2cbe42d6d"/><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="455babdbaa841a12b74a3485871e7eeb"/><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="Inventories.php" hash="15dc9f8c38dd7ab626eb3154c6b1b0f2"/><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="14f7ffc01ad04b2d78d313f55ab765c2"/><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="Inventory.php" hash="6f9ea827ee304f72b13bce3d7316efbc"/><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="fa0e008c67f15d1a4c7866a407aaaeaf"/><file name="Rule.php" hash="0a0f70172aeff0e5157f2f1652c3ae09"/><file name="Subscriber.php" hash="57ab5db177d4a37f30865cb127912631"/></dir><file name="Parser.php" hash="2e10487d6e00e3d2c3ec075c68e25d52"/><dir name="Redirect"><file name="Order.php" hash="5ca85ca596ef6e45468c8a12cee72614"/></dir><file name="Redirect.php" hash="05dddaa1e9c17c4c79d70d63b56ed454"/><dir name="Resource"><file name="Abstract.php" hash="61dfb714347611c6cf934b1d2360bfe3"/><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="e6655bdbc5920eeb9178adfcb905ac36"/></dir><file name="Queue.php" hash="f9eae90970e4d935b5e5335c8e57e71b"/></dir><file name="Debug.php" hash="976156dc1ff783a26174bdac79decde2"/><dir name="Redirect"><file name="Collection.php" hash="df6662f064b3170aab46d69d42c514a3"/><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="23eb5e95bde001dbd465a1bc96baa430"/></dir><dir name="etc"><file name="adminhtml.xml" hash="794fc8a1d67ac3e6b5d71c707a0c7cad"/><file name="config.xml" hash="565a16cd9352a1538073bb282f7de7fc"/><file name="system.xml" hash="48a3a0199a5328bc44950c5abcdc2de6"/></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="ae4c5e0cf7b764419ffb36710388ecfd"/></dir><dir name="HarvestCategory"><file name="Observer.php" hash="7ddb0b58b301863c1e46dd2db3628db8"/></dir><dir name="HarvestCustomer"><file name="Observer.php" hash="a20e21f1033dc35025ab9b402d6574bc"/></dir><dir name="HarvestInventoryItem"><file name="Observer.php" hash="b6005e059d893ccc4432ea5c22c55a8a"/></dir><dir name="HarvestProduct"><file name="Observer.php" hash="73eac87240083709cb5c746b81afe44f"/></dir><dir name="HarvestPurchase"><file name="Observer.php" hash="f253527e8f98c795a064c2636530ed15"/></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="b1a43d80a3326ef2c26f20660d7f0a3b"/></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="acbe2c052259293901fea4635b7a66bf"/><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="80f11ae5dc3839faf9d99df8c5a071d1"/></dir></target></contents>
55
  <compatible/>
56
  <dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies>
57
  </package>
shell/springbot.php CHANGED
@@ -12,61 +12,6 @@ class Springbot_Shell
12
  private $_magentoRootDir;
13
  private $_args;
14
 
15
- private $_registry = array(
16
- 'harvest' => array(
17
- 'attributeSets' => 'Springbot_Services_Harvest_AttributeSets',
18
- 'carts' => 'Springbot_Services_Harvest_Carts',
19
- 'categories' => 'Springbot_Services_Harvest_Categories',
20
- 'coupons' => 'Springbot_Services_Harvest_Coupons',
21
- 'customerAttributeSets' => 'Springbot_Services_Harvest_CustomerAttributeSets',
22
- 'customers' => 'Springbot_Services_Harvest_Customers',
23
- 'guests' => 'Springbot_Services_Harvest_Guests',
24
- 'products' => 'Springbot_Services_Harvest_Products',
25
- 'purchases' => 'Springbot_Services_Harvest_Purchases',
26
- 'rules' => 'Springbot_Services_Harvest_Rules',
27
- 'subscribers' => 'Springbot_Services_Harvest_Subscribers',
28
- ),
29
- 'post' => array(
30
- 'attribute' => 'Springbot_Services_Post_Attribute',
31
- 'attributeSet' => 'Springbot_Services_Post_AttributeSet',
32
- 'cart' => 'Springbot_Services_Post_Cart',
33
- 'category' => 'Springbot_Services_Post_Category',
34
- 'coupon' => 'Springbot_Services_Post_Coupon',
35
- 'customer' => 'Springbot_Services_Post_Customer',
36
- 'guest' => 'Springbot_Services_Post_Guest',
37
- 'json' => 'Springbot_Services_Post_Json',
38
- 'product' => 'Springbot_Services_Post_Product',
39
- 'purchase' => 'Springbot_Services_Post_Purchase',
40
- 'rule' => 'Springbot_Services_Post_Rule',
41
- 'subscriber' => 'Springbot_Services_Post_Subscriber',
42
- 'jsonstring' => 'Springbot_Services_Post_Jsonstring'
43
- ),
44
- 'cmd' => array(
45
- 'halt' => 'Springbot_Services_Cmd_Halt',
46
- 'harvest' => 'Springbot_Services_Cmd_Harvest',
47
- 'healthcheck' => 'Springbot_Services_Cmd_Healthcheck',
48
- 'update' => 'Springbot_Services_Cmd_Update',
49
- 'forecast' => 'Springbot_Services_Cmd_Forecast',
50
- ),
51
- 'store' => array(
52
- 'register' => 'Springbot_Services_Store_Register',
53
- 'finalize' => 'Springbot_Services_Store_Finalize'
54
- ),
55
- 'log' => array(
56
- 'installer' => 'Springbot_Services_Log_Installer',
57
- ),
58
- 'work' => array(
59
- 'cleanup' => 'Springbot_Services_Work_Cleanup',
60
- 'runner' => 'Springbot_Services_Work_Runner',
61
- 'manager' => 'Springbot_Services_Work_Manager',
62
- 'restart' => 'Springbot_Services_Work_Restart',
63
- 'stop' => 'Springbot_Services_Work_Stop',
64
- 'report' => 'Springbot_Services_Work_Report'
65
- ),
66
- 'tasks' => array(
67
- 'deliverEventLog' => 'Springbot_Services_Tasks_DeliverEventLog',
68
- ),
69
- );
70
  public function __construct()
71
  {
72
  require_once $this->getApplicationPath() . $this->getMagePath();
@@ -78,10 +23,10 @@ class Springbot_Shell
78
  {
79
  try {
80
  Springbot_Log::debug("Running {$this->_action}:{$this->_type}");
81
- $className = $this->_registry[$this->_action][$this->_type];
82
- //$api = Mage::getModel('combine/api');
83
- $class = new $className();
84
- $ret = $class->setData($this->_args)->run();
85
  echo $ret;
86
  }
87
  catch (Exception $e) {
@@ -124,12 +69,6 @@ class Springbot_Shell
124
  if(!isset($this->_action) || !isset($this->_type)) {
125
  throw new Exception;
126
  }
127
- if(!isset($this->_registry[$this->_action][$this->_type])) {
128
- $msg = 'Provided action not registered!';
129
- print $msg . PHP_EOL;
130
- Springbot_Log::debug($msg);
131
- exit(1);
132
- }
133
  }
134
  catch (Exception $e) {
135
  Springbot_Log::error($e);
12
  private $_magentoRootDir;
13
  private $_args;
14
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
15
  public function __construct()
16
  {
17
  require_once $this->getApplicationPath() . $this->getMagePath();
23
  {
24
  try {
25
  Springbot_Log::debug("Running {$this->_action}:{$this->_type}");
26
+ $class = Springbot_Services_Registry::getInstance("{$this->_action}:{$this->_type}");
27
+ if($class) {
28
+ $ret = $class->setData($this->_args)->run();
29
+ }
30
  echo $ret;
31
  }
32
  catch (Exception $e) {
69
  if(!isset($this->_action) || !isset($this->_type)) {
70
  throw new Exception;
71
  }
 
 
 
 
 
 
72
  }
73
  catch (Exception $e) {
74
  Springbot_Log::error($e);