Version Notes
1.3.3
Added rulesAction - for details on coupon and shopping carts rule.
-------------------------------------------------------
1.3.2
Exception handles for uncoverted carts.
Changed catalogue tax rate processing.
--------------------------------------------------------
1.3.1
Added graceful exception handling for installations that have misconfigured product attributes
---------------------------------------------------------
1.3.0
Check direct SQL methods defined
exproducts
exstats
report version of php
----------------------------------------------------------
1.2.9
Default tax rate fro products returned with producAction
---------------------------------------------------------
1.2.8
storesAction now returns store config data
----------------------------------------------------------
1.2.7
log stats function calculates using direct SQL
1.2.6
StatsAction now returns size of log files
------------------------------------------------------------
1.2.5
Speed up stocklevelAction, now only returns non zero inventory
WishlistAction now includes wishListItemId
-------------------------------------------------------------
1.2.4
Added wishlistsAction
Added unconvertedcartsAction
Fix - log actions now check if table exists
----------------------------------------------------------------
1.2.3
Fix to Observer.php
-------------------------------------------------------------
1.2.2
Added subscribersAction
Added storesAction
--------------------------------------------------------------
1.2.1
ordersAction - now uses billing address as some products (Virtual) won't have a delivery address and checks that object exists
---------------------------------------------------------------
1.2.0
ordersAction - added shpping address
productsAction - added end of record marker
stocklevelsAction - New
Added log_ actions
----------------------------------------------------------------
1.1.7
Added malformed error
Returns API version number with failed calls
----------------------------------------------------------------
1.1.6
Changed API header name to work with sites that use additional authorisation now:
mocoapi: apikey= THE API KEY
----------------------------------------------------------------
1.1.5
Updated stats API now includes:
Version of magento
System date/time
added success true for succesful requests
changed product category to moco_category
Release Info
Developer | Rob Davies |
Extension | MocoInsight_Mocoauto |
Version | 1.3.3 |
Comparing to | |
See all releases |
Code changes from version 1.3.1 to 1.3.3
@@ -514,14 +514,9 @@ class MocoInsight_Mocoauto_ApiController extends Mage_Core_Controller_Front_Acti
|
|
514 |
$_productCol->addAttributeToFilter('updated_at', array('gteq' =>$since));
|
515 |
}
|
516 |
|
517 |
-
// Grab an array of tax rates for lookup later
|
518 |
|
519 |
-
|
520 |
-
$store = Mage::app()->getStore('default');
|
521 |
-
$request = Mage::getSingleton('tax/calculation')->getRateRequest(null, null, null, $store);
|
522 |
-
|
523 |
-
$products = array();
|
524 |
$products[] = array('success' => 'true');
|
|
|
525 |
foreach($_productCol as $_product){
|
526 |
|
527 |
// get all the attributes of the product
|
@@ -533,6 +528,8 @@ class MocoInsight_Mocoauto_ApiController extends Mage_Core_Controller_Front_Acti
|
|
533 |
$value = $attribute->getFrontend()->getValue($_product);
|
534 |
|
535 |
switch ($attributeCode){
|
|
|
|
|
536 |
case 'description':
|
537 |
break;
|
538 |
case 'short_description':
|
@@ -548,19 +545,6 @@ class MocoInsight_Mocoauto_ApiController extends Mage_Core_Controller_Front_Acti
|
|
548 |
}
|
549 |
|
550 |
|
551 |
-
// get the tax rate of the product
|
552 |
-
|
553 |
-
$taxclassid = $_product->getData('tax_class_id');
|
554 |
-
if(isset($taxClasses["value_".$taxclassid])){
|
555 |
-
$taxpercent = $taxClasses["value_".$taxclassid];
|
556 |
-
}
|
557 |
-
else {
|
558 |
-
$taxpercent = 'not defined';
|
559 |
-
}
|
560 |
-
|
561 |
-
$taxpercent = Mage::getSingleton('tax/calculation')->getRate($request->setProductClassId($taxclassid));
|
562 |
-
$products[] = array('moco_TaxRate:' => $taxpercent);
|
563 |
-
|
564 |
// get all the categories of the product
|
565 |
|
566 |
$categories = $_product->getCategoryCollection()->addAttributeToSelect('name');
|
@@ -571,15 +555,27 @@ class MocoInsight_Mocoauto_ApiController extends Mage_Core_Controller_Front_Acti
|
|
571 |
|
572 |
// if type is configurable get simple product children
|
573 |
|
574 |
-
|
575 |
-
|
576 |
if($_product->getTypeID() == 'configurable'){
|
577 |
-
|
|
|
578 |
|
579 |
-
foreach($
|
580 |
$products[] = array('childProductID' => $assocProduct->getID());
|
581 |
}
|
582 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
583 |
// write end of record mark
|
584 |
$products[] = array('moco_end_of_record' => 'True');
|
585 |
|
@@ -932,6 +928,51 @@ class MocoInsight_Mocoauto_ApiController extends Mage_Core_Controller_Front_Acti
|
|
932 |
|
933 |
$carts = array();
|
934 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
935 |
foreach($_cartsCol as $_cart) {
|
936 |
$carts[] = array('moco_start_of_cart_record' => 'True');
|
937 |
$carts[] = $_cart->toArray();
|
@@ -1011,10 +1052,54 @@ class MocoInsight_Mocoauto_ApiController extends Mage_Core_Controller_Front_Acti
|
|
1011 |
$installinfo[] = array('Home URL' => Mage::getBaseDir());
|
1012 |
|
1013 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1014 |
$this->getResponse()
|
1015 |
->setBody(json_encode($installinfo))
|
1016 |
->setHttpResponseCode(200)
|
1017 |
->setHeader('Content-type', 'application/json', true);
|
1018 |
return $this;
|
1019 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1020 |
}
|
514 |
$_productCol->addAttributeToFilter('updated_at', array('gteq' =>$since));
|
515 |
}
|
516 |
|
|
|
517 |
|
|
|
|
|
|
|
|
|
|
|
518 |
$products[] = array('success' => 'true');
|
519 |
+
|
520 |
foreach($_productCol as $_product){
|
521 |
|
522 |
// get all the attributes of the product
|
528 |
$value = $attribute->getFrontend()->getValue($_product);
|
529 |
|
530 |
switch ($attributeCode){
|
531 |
+
case 'in_depth':
|
532 |
+
break;
|
533 |
case 'description':
|
534 |
break;
|
535 |
case 'short_description':
|
545 |
}
|
546 |
|
547 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
548 |
// get all the categories of the product
|
549 |
|
550 |
$categories = $_product->getCategoryCollection()->addAttributeToSelect('name');
|
555 |
|
556 |
// if type is configurable get simple product children
|
557 |
|
|
|
|
|
558 |
if($_product->getTypeID() == 'configurable'){
|
559 |
+
//$assocProducts = Mage::getModel('catalog/product_type_configurable')->getUsedProducts(null,$_product);
|
560 |
+
$assocProducts = $_product->getTypeInstance()->getUsedProducts();
|
561 |
|
562 |
+
foreach($assocProducts as $assocProduct){
|
563 |
$products[] = array('childProductID' => $assocProduct->getID());
|
564 |
}
|
565 |
}
|
566 |
+
|
567 |
+
// if type is grouped get associated product children
|
568 |
+
|
569 |
+
if($_product->getTypeID() == 'grouped'){
|
570 |
+
|
571 |
+
$groupedProducts = $_product->getTypeInstance(true)->getAssociatedProducts($_product);
|
572 |
+
|
573 |
+
foreach($groupedProducts as $groupedProduct){
|
574 |
+
$products[] = array('ChildProductID' => $groupedProduct->getID());
|
575 |
+
|
576 |
+
}
|
577 |
+
}
|
578 |
+
|
579 |
// write end of record mark
|
580 |
$products[] = array('moco_end_of_record' => 'True');
|
581 |
|
928 |
|
929 |
$carts = array();
|
930 |
|
931 |
+
foreach($_cartsCol as $_cart) {
|
932 |
+
try {
|
933 |
+
$carts[] = array('moco_start_of_cart_record' => 'True');
|
934 |
+
$carts[] = $_cart->toArray();
|
935 |
+
$_cartItemsCol = $_cart -> getItemsCollection();
|
936 |
+
|
937 |
+
foreach($_cartItemsCol as $_cartitem){
|
938 |
+
$carts[] = array('product_id' => $_cartitem->getProductId());
|
939 |
+
$carts[] = array('product_qty' => $_cartitem->getQty());
|
940 |
+
$carts[] = array('updated_at' => $_cartitem->getUpdatedAt());
|
941 |
+
}
|
942 |
+
$carts[] = array('moco_end_of_cart_record' => 'True');
|
943 |
+
}
|
944 |
+
catch(Exception $e) {
|
945 |
+
$carts[] = array('moco_unable_to_read_cart' => 'Mocoauto_error: ' . $e->getMessage());
|
946 |
+
}
|
947 |
+
}
|
948 |
+
|
949 |
+
$this->getResponse()
|
950 |
+
->setBody(json_encode($carts))
|
951 |
+
->setHttpResponseCode(200)
|
952 |
+
->setHeader('Content-type', 'application/json', true);
|
953 |
+
return $this;
|
954 |
+
}
|
955 |
+
public function exunconvertedcartsAction()
|
956 |
+
{
|
957 |
+
if(!$this->_authorise()) {
|
958 |
+
return $this;
|
959 |
+
}
|
960 |
+
|
961 |
+
$sections = explode('/', trim($this->getRequest()->getPathInfo(), '/'));
|
962 |
+
|
963 |
+
$offset = $this->getRequest()->getParam('offset', 0);
|
964 |
+
$page_size = $this->getRequest()->getParam('page_size', 20);
|
965 |
+
$since = $this->getRequest()->getParam('since', 'All');
|
966 |
+
|
967 |
+
$_cartsCol = Mage::getResourceModel('sales/quote_collection')->addFieldToFilter('is_active', '1');
|
968 |
+
$_cartsCol->getSelect()->limit($page_size, ($offset * $page_size))->order('updated_at');
|
969 |
+
|
970 |
+
if($since != 'All'){
|
971 |
+
$_cartsCol->addFieldToFilter('updated_at', array('gteq' =>$since));
|
972 |
+
}
|
973 |
+
|
974 |
+
$carts = array();
|
975 |
+
|
976 |
foreach($_cartsCol as $_cart) {
|
977 |
$carts[] = array('moco_start_of_cart_record' => 'True');
|
978 |
$carts[] = $_cart->toArray();
|
1052 |
$installinfo[] = array('Home URL' => Mage::getBaseDir());
|
1053 |
|
1054 |
|
1055 |
+
|
1056 |
+
$calc = Mage::getSingleton('tax/calculation');
|
1057 |
+
$rates = $calc->getRatesForAllProductTaxClasses($calc->getRateRequest());
|
1058 |
+
|
1059 |
+
foreach ($rates as $class=>$rate) {
|
1060 |
+
$installinfo[] = array('Tax rate' => floatval($rate));
|
1061 |
+
}
|
1062 |
+
|
1063 |
$this->getResponse()
|
1064 |
->setBody(json_encode($installinfo))
|
1065 |
->setHttpResponseCode(200)
|
1066 |
->setHeader('Content-type', 'application/json', true);
|
1067 |
return $this;
|
1068 |
}
|
1069 |
+
|
1070 |
+
public function rulesAction()
|
1071 |
+
{
|
1072 |
+
if(!$this->_authorise()) {
|
1073 |
+
return $this;
|
1074 |
+
}
|
1075 |
+
|
1076 |
+
$sections = explode('/', trim($this->getRequest()->getPathInfo(), '/'));
|
1077 |
+
|
1078 |
+
$offset = $this->getRequest()->getParam('offset', 0);
|
1079 |
+
$page_size = $this->getRequest()->getParam('page_size', 20);
|
1080 |
+
$since = $this->getRequest()->getParam('since', 'All');
|
1081 |
+
|
1082 |
+
$_rulesCol = Mage::getModel('salesrule/rule')->getCollection();
|
1083 |
+
|
1084 |
+
|
1085 |
+
foreach ($_rulesCol as $rule) {
|
1086 |
+
// print_r($rule->getData());
|
1087 |
+
$rulelist[] = array('moco_start_of_rule_record' => 'True');
|
1088 |
+
$rulelist[] = array('rule_id' => $rule->getRule_id());
|
1089 |
+
$rulelist[] = array('rule_name' => $rule->getName());
|
1090 |
+
$rulelist[] = array('rule_description' => $rule->getDescription());
|
1091 |
+
$rulelist[] = array('rule_from_date' => $rule->getFrom_date());
|
1092 |
+
$rulelist[] = array('rule_to_date' => $rule->getTo_date());
|
1093 |
+
$rulelist[] = array('rule_is_active' => $rule->getIsActive());
|
1094 |
+
$rulelist[] = array('rule_coupon_type' => $rule->getCoupon_type());
|
1095 |
+
$rulelist[] = array('moco_end_of_rule_record' => 'True');
|
1096 |
+
}
|
1097 |
+
|
1098 |
+
$this->getResponse()
|
1099 |
+
->setBody(json_encode($rulelist))
|
1100 |
+
->setHttpResponseCode(200)
|
1101 |
+
->setHeader('Content-type', 'application/json', true);
|
1102 |
+
return $this;
|
1103 |
+
}
|
1104 |
+
|
1105 |
}
|
@@ -4,7 +4,7 @@
|
|
4 |
<config>
|
5 |
<modules>
|
6 |
<MocoInsight_Mocoauto>
|
7 |
-
<version>1.3.
|
8 |
</MocoInsight_Mocoauto>
|
9 |
</modules>
|
10 |
<global>
|
4 |
<config>
|
5 |
<modules>
|
6 |
<MocoInsight_Mocoauto>
|
7 |
+
<version>1.3.3</version>
|
8 |
</MocoInsight_Mocoauto>
|
9 |
</modules>
|
10 |
<global>
|
@@ -1,7 +1,7 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>MocoInsight_Mocoauto</name>
|
4 |
-
<version>1.3.
|
5 |
<stability>stable</stability>
|
6 |
<license>OSL v1.0.0</license>
|
7 |
<channel>community</channel>
|
@@ -11,7 +11,20 @@
|
|
11 |

|
12 |

|
13 |
</description>
|
14 |
-
<notes>1.3.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |

|
16 |
Added graceful exception handling for installations that have misconfigured product attributes
|
17 |

|
@@ -108,9 +121,9 @@ System date/time
|
|
108 |
added success true for succesful requests
|
109 |
changed product category to moco_category</notes>
|
110 |
<authors><author><name>Rob Davies</name><user>mocoinsight</user><email>rob.davies@mocoinsight.com</email></author></authors>
|
111 |
-
<date>2014-
|
112 |
-
<time>
|
113 |
-
<contents><target name="magecommunity"><dir name="MocoInsight"><dir name="Mocoauto"><dir name="Block"><dir name="Adminhtml"><dir name="Config"><dir name="Buttons"><file name="Generate.php" hash="7690d026d99e31732279e6aa5b6b1def"/></dir></dir><file name="Menu.php" hash="1017af5f89545915f3f28be637e07a0c"/></dir></dir><dir name="Helper"><file name="Data.php" hash="4b53061397fec9446830ef218aba4055"/><file name="JWT.php" hash="6610b92191eccedb8edcf993730c3dc0"/></dir><dir name="Model"><file name="Observer.php" hash="c2cc2f396fedd682268457d17dd045b1"/><dir name="Source"><file name="Views.php" hash="c1ddaf4c7bb51c3907dd72b4e21b1897"/></dir></dir><dir name="controllers"><dir name="Adminhtml"><file name="MocoautoController.php" hash="6665fb22806ef20ee59e88a638ca6359"/></dir><file name="ApiController.php" hash="
|
114 |
<compatible/>
|
115 |
<dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies>
|
116 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>MocoInsight_Mocoauto</name>
|
4 |
+
<version>1.3.3</version>
|
5 |
<stability>stable</stability>
|
6 |
<license>OSL v1.0.0</license>
|
7 |
<channel>community</channel>
|
11 |

|
12 |

|
13 |
</description>
|
14 |
+
<notes>1.3.3
|
15 |
+

|
16 |
+
Added rulesAction - for details on coupon and shopping carts rule.
|
17 |
+

|
18 |
+
-------------------------------------------------------
|
19 |
+
1.3.2
|
20 |
+

|
21 |
+
Exception handles for uncoverted carts.
|
22 |
+
Changed catalogue tax rate processing.
|
23 |
+

|
24 |
+

|
25 |
+

|
26 |
+
--------------------------------------------------------
|
27 |
+
1.3.1
|
28 |

|
29 |
Added graceful exception handling for installations that have misconfigured product attributes
|
30 |

|
121 |
added success true for succesful requests
|
122 |
changed product category to moco_category</notes>
|
123 |
<authors><author><name>Rob Davies</name><user>mocoinsight</user><email>rob.davies@mocoinsight.com</email></author></authors>
|
124 |
+
<date>2014-05-06</date>
|
125 |
+
<time>05:50:08</time>
|
126 |
+
<contents><target name="magecommunity"><dir name="MocoInsight"><dir name="Mocoauto"><dir name="Block"><dir name="Adminhtml"><dir name="Config"><dir name="Buttons"><file name="Generate.php" hash="7690d026d99e31732279e6aa5b6b1def"/></dir></dir><file name="Menu.php" hash="1017af5f89545915f3f28be637e07a0c"/></dir></dir><dir name="Helper"><file name="Data.php" hash="4b53061397fec9446830ef218aba4055"/><file name="JWT.php" hash="6610b92191eccedb8edcf993730c3dc0"/></dir><dir name="Model"><file name="Observer.php" hash="c2cc2f396fedd682268457d17dd045b1"/><dir name="Source"><file name="Views.php" hash="c1ddaf4c7bb51c3907dd72b4e21b1897"/></dir></dir><dir name="controllers"><dir name="Adminhtml"><file name="MocoautoController.php" hash="6665fb22806ef20ee59e88a638ca6359"/></dir><file name="ApiController.php" hash="6d7c9d5f428f28af4f098fe07e2cbae1"/></dir><dir name="etc"><file name="config.xml" hash="29bb45820deebb199ebac2ba34629c28"/><file name="system.xml" hash="5d86b7d939b85826c7ac4d4496f80900"/></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="mocoauto.xml" hash="7dd142354c78e773490c552bbcc3b408"/></dir><dir name="template"><dir name="mocoauto"><dir name="config"><file name="button-generate.phtml" hash="d2ff89c8f1f78e748ac998bd13e61750"/><file name="link.phtml" hash="75c61cac6bdd33ed914f8618b5698598"/></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="mocoauto.xml" hash="a12a0e1dc675b9ac675181373299e36a"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="MocoInsight_Mocoauto.xml" hash="1ec387f21726f6c7ea3ea216c47340d9"/></dir></target><target name="magelocale"><dir name="en_US"><file name="MocoInsight_Mocoauto.csv" hash="9b508561f871f93fa3158014baebf02b"/></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="mocoauto"><file name="button.png" hash="58e62edb7f4be46e3b29c0bb774c7ad7"/><file name="icon.png" hash="b5bfce535c987d1e9e604823ac4b3943"/><file name="mocoauto.css" hash="3cd28072e5c2f2b656dd04c06288165b"/></dir></dir></dir></dir></target></contents>
|
127 |
<compatible/>
|
128 |
<dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies>
|
129 |
</package>
|