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 +101 -0
- app/code/community/Springbot/BoneCollector/etc/config.xml +46 -0
- app/code/community/Springbot/Combine/Model/Harvest.php +3 -1
- app/code/community/Springbot/Combine/Model/Harvest/Inventories.php +59 -0
- app/code/community/Springbot/Combine/Model/Parser.php +1 -0
- app/code/community/Springbot/Combine/Model/Parser/Inventory.php +50 -0
- app/code/community/Springbot/Combine/etc/config.xml +2 -1
- app/code/community/Springbot/Combine/etc/system.xml +8 -0
- app/code/community/Springbot/Services/Cmd/Harvest.php +31 -0
- app/code/community/Springbot/Services/Harvest/Inventories.php +43 -0
- app/code/community/Springbot/Services/Post/Inventory.php +29 -0
- app/code/community/Springbot/Services/Tasks/HarvestInventory.php +29 -0
- package.xml +5 -6
- shell/springbot.php +4 -65
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
|
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.
|
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.
|
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 
|
48 |

|
49 |
For support information, features and pricing and more details visit springbot.com </description>
|
50 |
-
<notes>
|
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-
|
54 |
-
<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 
|
48 |

|
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 |
-
$
|
82 |
-
|
83 |
-
|
84 |
-
|
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);
|