Version Notes
Please contact help@commercestack.com with any feature requests, bugs, issues, or questions.
Download this release
Release Info
Developer | CommerceStack |
Extension | CommerceStack_Recommender |
Version | 1.2.3 |
Comparing to | |
See all releases |
Code changes from version 1.2.2 to 1.2.3
- app/code/community/CommerceStack/Recommender/Model/AdminNotification/Feed.php +5 -0
- app/code/community/CommerceStack/Recommender/controllers/IndexController.php +9 -9
- app/code/community/CommerceStack/Recommender/etc/config.xml +3 -3
- js/commercestack/adminhtml/recommender.js +23 -22
- package.xml +4 -4
app/code/community/CommerceStack/Recommender/Model/AdminNotification/Feed.php
CHANGED
@@ -6,6 +6,11 @@ class CommerceStack_Recommender_Model_AdminNotification_Feed extends Mage_AdminN
|
|
6 |
try
|
7 |
{
|
8 |
$xml = parent::getFeedData();
|
|
|
|
|
|
|
|
|
|
|
9 |
$client = Mage::helper('recommender/pest');
|
10 |
|
11 |
$commercestackXml = $client->get('notification/');
|
6 |
try
|
7 |
{
|
8 |
$xml = parent::getFeedData();
|
9 |
+
if ($xml === false)
|
10 |
+
{
|
11 |
+
return false;
|
12 |
+
}
|
13 |
+
|
14 |
$client = Mage::helper('recommender/pest');
|
15 |
|
16 |
$commercestackXml = $client->get('notification/');
|
app/code/community/CommerceStack/Recommender/controllers/IndexController.php
CHANGED
@@ -4,8 +4,8 @@ class CommerceStack_Recommender_IndexController extends Mage_Adminhtml_Controlle
|
|
4 |
public function updateAction()
|
5 |
{
|
6 |
session_write_close(); // prevent other requests from blocking during update because of locked session file
|
7 |
-
ini_set('memory_limit', '
|
8 |
-
set_time_limit(
|
9 |
$dataHelper = Mage::helper('recommender');
|
10 |
$currentTask = 1;
|
11 |
|
@@ -17,17 +17,13 @@ class CommerceStack_Recommender_IndexController extends Mage_Adminhtml_Controlle
|
|
17 |
|
18 |
// Basic analysis
|
19 |
$dataHelper->setCurrentTask($currentTask);
|
20 |
-
$dataHelper->postUpdate('*', $dataHelper->getTableNameSafe('sales/order_grid'), 'entity_id', 'order',
|
21 |
$currentTask++;
|
22 |
|
23 |
$dataHelper->setCurrentTask($currentTask);
|
24 |
$dataHelper->postUpdate('*', $dataHelper->getTableNameSafe('sales/order_item'), 'item_id', 'orderitem', 1000);
|
25 |
$currentTask++;
|
26 |
|
27 |
-
$dataHelper->setCurrentTask($currentTask);
|
28 |
-
$dataHelper->postRecordset('v.entity_id as product_id, v.value as url_path', (string)Mage::getConfig()->getTablePrefix() . 'catalog_product_entity_varchar v' , "INNER JOIN " . $dataHelper->getTableNameSafe('eav/attribute') . " eav ON v.attribute_id = eav.attribute_id AND eav.attribute_code='url_path'", '', 'entity_id', 'producturl', 0);
|
29 |
-
$currentTask++;
|
30 |
-
|
31 |
$dataHelper->setCurrentTask($currentTask);
|
32 |
$dataHelper->postUpdate('*', $dataHelper->getTableNameSafe('log/customer'), 'log_id', 'logcustomer', 10000);
|
33 |
$currentTask++;
|
@@ -41,11 +37,11 @@ class CommerceStack_Recommender_IndexController extends Mage_Adminhtml_Controlle
|
|
41 |
$currentTask++;
|
42 |
|
43 |
$dataHelper->setCurrentTask($currentTask);
|
44 |
-
$dataHelper->postRecordset('
|
45 |
$currentTask++;
|
46 |
|
47 |
$dataHelper->setCurrentTask($currentTask);
|
48 |
-
$dataHelper->
|
49 |
$currentTask++;
|
50 |
|
51 |
$productLinks = Mage::getModel('recommender/product_link');
|
@@ -54,6 +50,10 @@ class CommerceStack_Recommender_IndexController extends Mage_Adminhtml_Controlle
|
|
54 |
$dataHelper->setClientStatus('complete');
|
55 |
|
56 |
// Continue advanced analysis
|
|
|
|
|
|
|
|
|
57 |
$dataHelper->setCurrentTask($currentTask);
|
58 |
$dataHelper->postUpdate('*', $dataHelper->getTableNameSafe('reports/compared_product_index'), 'index_id', 'comparedproduct', 10000);
|
59 |
$currentTask++;
|
4 |
public function updateAction()
|
5 |
{
|
6 |
session_write_close(); // prevent other requests from blocking during update because of locked session file
|
7 |
+
//ini_set('memory_limit', '512M');
|
8 |
+
set_time_limit(7200);
|
9 |
$dataHelper = Mage::helper('recommender');
|
10 |
$currentTask = 1;
|
11 |
|
17 |
|
18 |
// Basic analysis
|
19 |
$dataHelper->setCurrentTask($currentTask);
|
20 |
+
$dataHelper->postUpdate('*', $dataHelper->getTableNameSafe('sales/order_grid'), 'entity_id', 'order', 10000);
|
21 |
$currentTask++;
|
22 |
|
23 |
$dataHelper->setCurrentTask($currentTask);
|
24 |
$dataHelper->postUpdate('*', $dataHelper->getTableNameSafe('sales/order_item'), 'item_id', 'orderitem', 1000);
|
25 |
$currentTask++;
|
26 |
|
|
|
|
|
|
|
|
|
27 |
$dataHelper->setCurrentTask($currentTask);
|
28 |
$dataHelper->postUpdate('*', $dataHelper->getTableNameSafe('log/customer'), 'log_id', 'logcustomer', 10000);
|
29 |
$currentTask++;
|
37 |
$currentTask++;
|
38 |
|
39 |
$dataHelper->setCurrentTask($currentTask);
|
40 |
+
$dataHelper->postRecordset('v.entity_id as product_id, v.value as url_path', (string)Mage::getConfig()->getTablePrefix() . 'catalog_product_entity_varchar v' , "INNER JOIN " . $dataHelper->getTableNameSafe('eav/attribute') . " eav ON v.attribute_id = eav.attribute_id AND eav.attribute_code='url_path'", '', 'entity_id', 'producturl', 0);
|
41 |
$currentTask++;
|
42 |
|
43 |
$dataHelper->setCurrentTask($currentTask);
|
44 |
+
$dataHelper->postRecordset('*', $dataHelper->getTableNameSafe('core/url_rewrite'), '', 'WHERE product_id IS NOT null', 'url_rewrite_id', 'urlrewrite', 50000);
|
45 |
$currentTask++;
|
46 |
|
47 |
$productLinks = Mage::getModel('recommender/product_link');
|
50 |
$dataHelper->setClientStatus('complete');
|
51 |
|
52 |
// Continue advanced analysis
|
53 |
+
$dataHelper->setCurrentTask($currentTask);
|
54 |
+
$dataHelper->postUpdate('*', $dataHelper->getTableNameSafe('reports/viewed_product_index'), 'index_id', 'viewedproduct', 10000);
|
55 |
+
$currentTask++;
|
56 |
+
|
57 |
$dataHelper->setCurrentTask($currentTask);
|
58 |
$dataHelper->postUpdate('*', $dataHelper->getTableNameSafe('reports/compared_product_index'), 'index_id', 'comparedproduct', 10000);
|
59 |
$currentTask++;
|
app/code/community/CommerceStack/Recommender/etc/config.xml
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
<config>
|
3 |
<modules>
|
4 |
<CommerceStack_Recommender>
|
5 |
-
<version>1.2.
|
6 |
</CommerceStack_Recommender>
|
7 |
</modules>
|
8 |
|
@@ -131,7 +131,7 @@
|
|
131 |
|
132 |
<default>
|
133 |
<recommender>
|
134 |
-
<api_uri>https://api.commercestack.com/</api_uri>
|
135 |
<!--<api_uri>http://127.0.0.1/recommender/public/</api_uri>-->
|
136 |
<relatedproducts>
|
137 |
<numberofrelatedproducts>4</numberofrelatedproducts>
|
@@ -139,7 +139,7 @@
|
|
139 |
<numberofupsellproducts>4</numberofupsellproducts>
|
140 |
</relatedproducts>
|
141 |
<relatedproductsadvanced>
|
142 |
-
<upsellsource>
|
143 |
</relatedproductsadvanced>
|
144 |
</recommender>
|
145 |
</default>
|
2 |
<config>
|
3 |
<modules>
|
4 |
<CommerceStack_Recommender>
|
5 |
+
<version>1.2.3</version>
|
6 |
</CommerceStack_Recommender>
|
7 |
</modules>
|
8 |
|
131 |
|
132 |
<default>
|
133 |
<recommender>
|
134 |
+
<api_uri>https://api.commercestack.com/</api_uri>
|
135 |
<!--<api_uri>http://127.0.0.1/recommender/public/</api_uri>-->
|
136 |
<relatedproducts>
|
137 |
<numberofrelatedproducts>4</numberofrelatedproducts>
|
139 |
<numberofupsellproducts>4</numberofupsellproducts>
|
140 |
</relatedproducts>
|
141 |
<relatedproductsadvanced>
|
142 |
+
<upsellsource>crosssell</upsellsource>
|
143 |
</relatedproductsadvanced>
|
144 |
</recommender>
|
145 |
</default>
|
js/commercestack/adminhtml/recommender.js
CHANGED
@@ -84,20 +84,6 @@ function getStatus()
|
|
84 |
$('row_recommender_relatedproducts_update').show();
|
85 |
}
|
86 |
});
|
87 |
-
|
88 |
-
// new Ajax.Request(commercestackStatusAuthUrl,
|
89 |
-
// {
|
90 |
-
// method:'get',
|
91 |
-
// onSuccess: function(transport)
|
92 |
-
// {
|
93 |
-
// var status = transport.responseText.evalJSON();
|
94 |
-
// updateUI(status);
|
95 |
-
// },
|
96 |
-
// onFailure: function(){
|
97 |
-
// $$('#row_recommender_relatedproducts_update td.value p.note span')[0].update('Unable to connect to CommerceStack server');
|
98 |
-
// $('row_recommender_relatedproducts_update').show();
|
99 |
-
// }
|
100 |
-
// });
|
101 |
}
|
102 |
}
|
103 |
|
@@ -109,18 +95,27 @@ function updateUI(status)
|
|
109 |
{
|
110 |
msg = 'Packaging and downloading results (this could take a few minutes)...';
|
111 |
}
|
112 |
-
else if(status.current_task == 0 && status.current_frame == 0 && status.total_tasks == 1 && status.total_frames == 1)
|
113 |
-
{
|
114 |
-
msg = 'Gathering data...';
|
115 |
-
}
|
116 |
else
|
117 |
{
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
122 |
}
|
123 |
|
|
|
124 |
$$('#row_recommender_relatedproducts_cancel td.value p.note span')[0].update(msg);
|
125 |
|
126 |
$('row_recommender_relatedproducts_update').hide();
|
@@ -202,6 +197,12 @@ function updateCommerceStackRecs(updateActionUrl)
|
|
202 |
method:'get',
|
203 |
onSuccess: function(transport)
|
204 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
205 |
},
|
206 |
onFailure: function()
|
207 |
{
|
84 |
$('row_recommender_relatedproducts_update').show();
|
85 |
}
|
86 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
87 |
}
|
88 |
}
|
89 |
|
95 |
{
|
96 |
msg = 'Packaging and downloading results (this could take a few minutes)...';
|
97 |
}
|
|
|
|
|
|
|
|
|
98 |
else
|
99 |
{
|
100 |
+
// If communications is dead, try to restart
|
101 |
+
if(status.secs_since_last_request > 120) {
|
102 |
+
$$('#row_recommender_relatedproducts_update td.value button')[0].click();
|
103 |
+
}
|
104 |
+
|
105 |
+
if(status.current_task == 0 && status.current_frame == 0 && status.total_tasks == 1 && status.total_frames == 1)
|
106 |
+
{
|
107 |
+
msg = 'Gathering data...';
|
108 |
+
}
|
109 |
+
else
|
110 |
+
{
|
111 |
+
taskPct = Math.max((status.current_task - 1) / status.total_tasks, 0);
|
112 |
+
framePct = status.current_frame / status.total_frames;
|
113 |
+
pctComplete = taskPct + (framePct / status.total_tasks);
|
114 |
+
msg = 'Analyzing data... ' + Math.round(100*pctComplete) + '% complete';
|
115 |
+
}
|
116 |
}
|
117 |
|
118 |
+
|
119 |
$$('#row_recommender_relatedproducts_cancel td.value p.note span')[0].update(msg);
|
120 |
|
121 |
$('row_recommender_relatedproducts_update').hide();
|
197 |
method:'get',
|
198 |
onSuccess: function(transport)
|
199 |
{
|
200 |
+
if(transport.responseText.indexOf("<title>Log into Magento Admin Page</title>") > -1) {
|
201 |
+
// We've been logged out, set status to cancelled and redirect to login page
|
202 |
+
jQuery.post(commercestackStatusAuthUrl, 'cancelRequested');
|
203 |
+
window.location.reload(true);
|
204 |
+
}
|
205 |
+
|
206 |
},
|
207 |
onFailure: function()
|
208 |
{
|
package.xml
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>CommerceStack_Recommender</name>
|
4 |
-
<version>1.2.
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://opensource.org/licenses/osl-3.0.php">Open Software License v 3.0</license>
|
7 |
<channel>community</channel>
|
@@ -16,9 +16,9 @@ Please contact help@commercestack.com with any bugs, issues, or feature requests
|
|
16 |
After installing, navigate to System->Configuration->Related Products Manager to begin.</description>
|
17 |
<notes>Please contact help@commercestack.com with any feature requests, bugs, issues, or questions.</notes>
|
18 |
<authors><author><name>CommerceStack</name><user>dbright</user><email>dbright@commercestack.com</email></author></authors>
|
19 |
-
<date>2012-05-
|
20 |
-
<time>
|
21 |
-
<contents><target name="magecommunity"><dir name="CommerceStack"><dir name="Recommender"><dir name="Block"><dir name="Cart"><file name="Crosssell.php" hash="f931d15f47b6390cc6b2d3c86a2df030"/></dir><dir name="Catalog"><dir name="Product"><dir name="Edit"><dir name="Tab"><file name="Crosssell.php" hash="4eacb2e01e0ec6ead7109fe696fc2e23"/><file name="Related.php" hash="3469e281271de8f9457f82fdc90ca104"/></dir><file name="Tabs.php" hash="aa26d6e9e585117100e983616e6a0afa"/></dir></dir></dir><dir name="Product"><dir name="List"><file name="Related.php" hash="10398409402120307ec7f24b7d396b40"/><file name="Upsell.php" hash="4edc3dd9e8cb5e946a0309494bc53e99"/></dir></dir><dir name="System"><dir name="Config"><dir name="Form"><file name="Apikey.php" hash="fae5b45d9eace7c2934b9f70f5ec6c8e"/><file name="Apikeyurl.php" hash="5ce3031fd84f912b3552d7c37f2a04ac"/><file name="Cancelbutton.php" hash="070131f41c4969cf51917b486e487b26"/><file name="Updatebutton.php" hash="2a370f132bc2b6fc5d21f2f477b6115e"/></dir><file name="Form.php" hash="de1c3b70b03ac09fe1d5c7cd7613feb1"/></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="083f605fdc5dde5bb9d27fe17e90ab0a"/><dir name="Pest"><file name="PestJSON.php" hash="95059011a55bd0036c5029ba5b2d0f0c"/><file name="PestXML.php" hash="7e8e2a8c75b8a58d11bef9c47b4e960d"/></dir><file name="Pest.php" hash="15ac0a66957144f848b067c11710204d"/></dir><dir name="Model"><dir name="AdminNotification"><file name="Feed.php" hash="
|
22 |
<compatible/>
|
23 |
<dependencies><required><php><min>5.2.13</min><max>5.4.0</max></php></required></dependencies>
|
24 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>CommerceStack_Recommender</name>
|
4 |
+
<version>1.2.3</version>
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://opensource.org/licenses/osl-3.0.php">Open Software License v 3.0</license>
|
7 |
<channel>community</channel>
|
16 |
After installing, navigate to System->Configuration->Related Products Manager to begin.</description>
|
17 |
<notes>Please contact help@commercestack.com with any feature requests, bugs, issues, or questions.</notes>
|
18 |
<authors><author><name>CommerceStack</name><user>dbright</user><email>dbright@commercestack.com</email></author></authors>
|
19 |
+
<date>2012-05-31</date>
|
20 |
+
<time>22:37:04</time>
|
21 |
+
<contents><target name="magecommunity"><dir name="CommerceStack"><dir name="Recommender"><dir name="Block"><dir name="Cart"><file name="Crosssell.php" hash="f931d15f47b6390cc6b2d3c86a2df030"/></dir><dir name="Catalog"><dir name="Product"><dir name="Edit"><dir name="Tab"><file name="Crosssell.php" hash="4eacb2e01e0ec6ead7109fe696fc2e23"/><file name="Related.php" hash="3469e281271de8f9457f82fdc90ca104"/></dir><file name="Tabs.php" hash="aa26d6e9e585117100e983616e6a0afa"/></dir></dir></dir><dir name="Product"><dir name="List"><file name="Related.php" hash="10398409402120307ec7f24b7d396b40"/><file name="Upsell.php" hash="4edc3dd9e8cb5e946a0309494bc53e99"/></dir></dir><dir name="System"><dir name="Config"><dir name="Form"><file name="Apikey.php" hash="fae5b45d9eace7c2934b9f70f5ec6c8e"/><file name="Apikeyurl.php" hash="5ce3031fd84f912b3552d7c37f2a04ac"/><file name="Cancelbutton.php" hash="070131f41c4969cf51917b486e487b26"/><file name="Updatebutton.php" hash="2a370f132bc2b6fc5d21f2f477b6115e"/></dir><file name="Form.php" hash="de1c3b70b03ac09fe1d5c7cd7613feb1"/></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="083f605fdc5dde5bb9d27fe17e90ab0a"/><dir name="Pest"><file name="PestJSON.php" hash="95059011a55bd0036c5029ba5b2d0f0c"/><file name="PestXML.php" hash="7e8e2a8c75b8a58d11bef9c47b4e960d"/></dir><file name="Pest.php" hash="15ac0a66957144f848b067c11710204d"/></dir><dir name="Model"><dir name="AdminNotification"><file name="Feed.php" hash="bf32debf65f8e5ca5371843333730b02"/></dir><dir name="Product"><file name="Link.php" hash="0e08ed99339e2acd77cce3e738cdbfae"/></dir><dir name="Resource"><dir name="Eav"><dir name="Mysql4"><dir name="Product"><dir name="Link"><dir name="Product"><file name="Collection.php" hash="ebf570a39f98b982d09a60f3af1768df"/></dir></dir><file name="Link.php" hash="0910e13e6a3b3cac3573a4ea1df59e9f"/></dir></dir></dir><dir name="Mysql4"><file name="Setup.php" hash="79f3bcb4122135514d6f68f3db50b9f1"/></dir></dir><dir name="System"><dir name="Config"><dir name="Form"><file name="Upsellsource.php" hash="34ed5e3c61bd288340b7de3809953ad3"/></dir></dir></dir></dir><dir name="controllers"><file name="AccountController.php" hash="05af8f614f7822b480b9b9e55b25d45e"/><file name="IndexController.php" hash="b8bb54f5d0f1c1f48305ee4eeaffc28a"/><file name="ProductController.php" hash="fb4235ad3604eaeaee7e8e0e1fe71f04"/></dir><dir name="etc"><file name="config.xml" hash="f07f518f24c5f1d7c3ca9001e2267392"/><file name="system.xml" hash="089389d636f112dbead01f1be6c656a8"/></dir><dir name="sql"><dir name="recommender_setup"><file name="mysql4-install-0.9.3.php" hash="d72ccc127f8f2ccef5216e7eaf62babc"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="recommender.xml" hash="f19e768264b836355637a61d6a1463f5"/></dir></dir></dir></dir></target><target name="mageweb"><dir name="js"><dir name="commercestack"><dir name="adminhtml"><file name="recommender.js" hash="601ad02149731e2054d28c1fa3aecc85"/></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="CommerceStack_Recommender.xml" hash="c0faaf57bb93c70fe6ba45e68c96fc11"/></dir></target></contents>
|
22 |
<compatible/>
|
23 |
<dependencies><required><php><min>5.2.13</min><max>5.4.0</max></php></required></dependencies>
|
24 |
</package>
|