Version Notes
1.3.8
Changed table exists function
mocoauto_api_error - API errors prefix
1.3.7
Added non sensitive payment info to orderAction
1.3.5
Faster uncovertedcarts
1.3.4
log_all_joined
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.8 |
Comparing to | |
See all releases |
Code changes from version 1.3.7 to 1.3.8
@@ -79,7 +79,6 @@ class MocoInsight_Mocoauto_ApiController extends Mage_Core_Controller_Front_Acti
|
|
79 |
|
80 |
return true;
|
81 |
}
|
82 |
-
|
83 |
public function statsAction() // Return the number of Product, Orders and Customers with optional since filter
|
84 |
{
|
85 |
if(!$this->_authorise()) {
|
@@ -141,30 +140,21 @@ class MocoInsight_Mocoauto_ApiController extends Mage_Core_Controller_Front_Acti
|
|
141 |
|
142 |
$rulescount = $_rulesCol->getSize();
|
143 |
|
144 |
-
//
|
145 |
-
// Check size of log files
|
146 |
-
// 1. Check if isTableExists method is defined (It appears Magento v1.5.0.1 defines it differently)
|
147 |
-
// 2. Then check if each table exists
|
148 |
-
// 3. Then get size of the 5 tables.
|
149 |
-
|
150 |
-
|
151 |
$_read = Mage::getSingleton('core/resource')->getConnection('core_read');
|
152 |
|
153 |
-
if (method_exists($_read, '
|
154 |
-
|
155 |
-
$tablename = 'log_url'; // Set the table name here
|
156 |
|
157 |
-
|
158 |
-
|
|
|
159 |
}
|
160 |
else{
|
161 |
$query = 'select count(*) AS id from ' . $tablename;
|
162 |
$log_urlcount = $_read->fetchOne($query);
|
163 |
}
|
164 |
|
165 |
-
$tablename = 'log_url_info';
|
166 |
-
|
167 |
-
if(!$_read ->isTableExists($tablename)){ //Table does not exist
|
168 |
$log_url_infocount = "table does not exist";
|
169 |
}
|
170 |
else{
|
@@ -172,9 +162,8 @@ class MocoInsight_Mocoauto_ApiController extends Mage_Core_Controller_Front_Acti
|
|
172 |
$log_url_infocount = $_read->fetchOne($query);
|
173 |
}
|
174 |
|
175 |
-
$tablename = 'log_visitor';
|
176 |
-
|
177 |
-
if(!$_read ->isTableExists($tablename)){ //Table does not exist
|
178 |
$log_visitorcount = "table does not exist";
|
179 |
}
|
180 |
else{
|
@@ -182,9 +171,8 @@ class MocoInsight_Mocoauto_ApiController extends Mage_Core_Controller_Front_Acti
|
|
182 |
$log_visitorcount = $_read->fetchOne($query);
|
183 |
}
|
184 |
|
185 |
-
$tablename = 'log_visitor_info';
|
186 |
-
|
187 |
-
if(!$_read ->isTableExists($tablename)){ //Table does not exist
|
188 |
$log_visitor_infocount = "table does not exist";
|
189 |
}
|
190 |
else{
|
@@ -193,27 +181,24 @@ class MocoInsight_Mocoauto_ApiController extends Mage_Core_Controller_Front_Acti
|
|
193 |
}
|
194 |
|
195 |
$tablename = 'log_customer'; // Set the table name here
|
196 |
-
|
197 |
-
if(!$_read ->isTableExists($tablename)){ //Table does not exist
|
198 |
$log_countcount = "table does not exist";
|
199 |
}
|
200 |
else{
|
201 |
$query = 'select count(*) AS id from ' . $tablename;
|
202 |
$log_customercount = $_read->fetchOne($query);
|
203 |
}
|
204 |
-
|
205 |
}
|
206 |
else {
|
207 |
-
$log_urlcount = "
|
208 |
-
$log_url_infocount = "
|
209 |
-
$log_visitorcount = "
|
210 |
-
$log_visitor_infocount = "
|
211 |
-
$log_customercount = "
|
212 |
|
213 |
}
|
214 |
|
215 |
|
216 |
-
|
217 |
$magentoVersion = Mage::getVersion();
|
218 |
$apiversion = (String)Mage::getConfig()->getNode()->modules->MocoInsight_Mocoauto->version;
|
219 |
$phpversion = phpversion();
|
@@ -248,12 +233,14 @@ class MocoInsight_Mocoauto_ApiController extends Mage_Core_Controller_Front_Acti
|
|
248 |
return $this;
|
249 |
}
|
250 |
|
251 |
-
public function exstatsAction()
|
252 |
{
|
253 |
if(!$this->_authorise()) {
|
254 |
return $this;
|
255 |
}
|
256 |
|
|
|
|
|
257 |
$currentSystemTime = date('Y-m-d H:i:s', time());
|
258 |
$sections = explode('/', trim($this->getRequest()->getPathInfo(), '/'));
|
259 |
$since = $this->getRequest()->getParam('since','All');
|
@@ -290,15 +277,23 @@ class MocoInsight_Mocoauto_ApiController extends Mage_Core_Controller_Front_Acti
|
|
290 |
$wishlistcount = $_wishlistCol->getSize();
|
291 |
|
292 |
$_cartsCol = Mage::getResourceModel('sales/quote_collection')->addFieldToFilter('is_active', '1');
|
293 |
-
|
294 |
if($since != 'All'){
|
295 |
$_cartsCol->addFieldToFilter('updated_at', array('gteq' =>$since));
|
296 |
-
|
|
|
|
|
|
|
|
|
297 |
$cartscount = $_cartsCol->getSize();
|
298 |
|
299 |
$_subscriberCol = Mage::getModel('newsletter/subscriber')-> getCollection();
|
300 |
|
301 |
$subscribercount = $_subscriberCol->getSize();
|
|
|
|
|
|
|
|
|
|
|
302 |
//
|
303 |
// Check size of log files
|
304 |
// 1. Check if isTableExists method is defined (It appears Magento v1.5.0.1 defines it differently)
|
@@ -370,8 +365,11 @@ class MocoInsight_Mocoauto_ApiController extends Mage_Core_Controller_Front_Acti
|
|
370 |
|
371 |
}
|
372 |
|
|
|
|
|
373 |
$magentoVersion = Mage::getVersion();
|
374 |
$apiversion = (String)Mage::getConfig()->getNode()->modules->MocoInsight_Mocoauto->version;
|
|
|
375 |
|
376 |
$stats = array(
|
377 |
'success' => 'true',
|
@@ -383,6 +381,7 @@ class MocoInsight_Mocoauto_ApiController extends Mage_Core_Controller_Front_Acti
|
|
383 |
'Wish lists' => $wishlistcount,
|
384 |
'Unconverted carts' => $cartscount,
|
385 |
'Subscribers' => $subscribercount,
|
|
|
386 |
'log_url' => $log_urlcount,
|
387 |
'log_url_info' => $log_url_infocount,
|
388 |
'log_visitor' => $log_visitorcount,
|
@@ -390,7 +389,9 @@ class MocoInsight_Mocoauto_ApiController extends Mage_Core_Controller_Front_Acti
|
|
390 |
'log_customer' => $log_customercount,
|
391 |
'System Date Time' => $currentSystemTime,
|
392 |
'Magento Version' => $magentoVersion,
|
393 |
-
'MocoAPI Version' => $apiversion
|
|
|
|
|
394 |
);
|
395 |
|
396 |
$this->getResponse()
|
@@ -451,7 +452,7 @@ class MocoInsight_Mocoauto_ApiController extends Mage_Core_Controller_Front_Acti
|
|
451 |
$orders[] = array('moco_end_of_paymentinfo' => 'True');
|
452 |
}
|
453 |
catch (Exception $e) {
|
454 |
-
$orders[] = array('
|
455 |
}
|
456 |
$_orderItemsCol = $_order->getItemsCollection();
|
457 |
|
@@ -461,7 +462,7 @@ class MocoInsight_Mocoauto_ApiController extends Mage_Core_Controller_Front_Acti
|
|
461 |
$orders[] = array('moco_end_of_order_record' => 'True');
|
462 |
}
|
463 |
catch (Exception $e) {
|
464 |
-
$orders[] = array('
|
465 |
}
|
466 |
}
|
467 |
|
@@ -627,7 +628,7 @@ class MocoInsight_Mocoauto_ApiController extends Mage_Core_Controller_Front_Acti
|
|
627 |
}
|
628 |
}
|
629 |
catch (Exception $e) {
|
630 |
-
$products[] = array($attributeCode
|
631 |
}
|
632 |
}
|
633 |
|
@@ -649,7 +650,7 @@ class MocoInsight_Mocoauto_ApiController extends Mage_Core_Controller_Front_Acti
|
|
649 |
$products[] = array('stock_availability' => $stock->getIsInStock());
|
650 |
}
|
651 |
catch (Exception $e) {
|
652 |
-
$products[] = array('
|
653 |
}
|
654 |
|
655 |
|
@@ -892,10 +893,73 @@ class MocoInsight_Mocoauto_ApiController extends Mage_Core_Controller_Front_Acti
|
|
892 |
|
893 |
public function log_all_joinedAction()
|
894 |
{
|
895 |
-
$tablename1 = 'log_url';
|
896 |
-
$tablename2 = 'log_url_info';
|
897 |
-
$tablename3 = 'log_visitor';
|
898 |
-
$tablename4 = 'log_visitor_info';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
899 |
|
900 |
|
901 |
if(!$this->_authorise()) {
|
@@ -1188,7 +1252,7 @@ class MocoInsight_Mocoauto_ApiController extends Mage_Core_Controller_Front_Acti
|
|
1188 |
$carts[] = array('moco_end_of_cart_record' => 'True');
|
1189 |
}
|
1190 |
catch(Exception $e) {
|
1191 |
-
$carts[] = array('
|
1192 |
}
|
1193 |
}
|
1194 |
|
79 |
|
80 |
return true;
|
81 |
}
|
|
|
82 |
public function statsAction() // Return the number of Product, Orders and Customers with optional since filter
|
83 |
{
|
84 |
if(!$this->_authorise()) {
|
140 |
|
141 |
$rulescount = $_rulesCol->getSize();
|
142 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
143 |
$_read = Mage::getSingleton('core/resource')->getConnection('core_read');
|
144 |
|
145 |
+
if (method_exists($_read, 'showTableStatus')){
|
|
|
|
|
146 |
|
147 |
+
$tablename = 'log_url';
|
148 |
+
if(!$_read ->showTableStatus(trim($tablename,"'"))){
|
149 |
+
$logurlcount = "table does not exist";
|
150 |
}
|
151 |
else{
|
152 |
$query = 'select count(*) AS id from ' . $tablename;
|
153 |
$log_urlcount = $_read->fetchOne($query);
|
154 |
}
|
155 |
|
156 |
+
$tablename = 'log_url_info';
|
157 |
+
if(!$_read ->showTableStatus(trim($tablename,"'"))){
|
|
|
158 |
$log_url_infocount = "table does not exist";
|
159 |
}
|
160 |
else{
|
162 |
$log_url_infocount = $_read->fetchOne($query);
|
163 |
}
|
164 |
|
165 |
+
$tablename = 'log_visitor';
|
166 |
+
if(!$_read ->showTableStatus(trim($tablename,"'"))){
|
|
|
167 |
$log_visitorcount = "table does not exist";
|
168 |
}
|
169 |
else{
|
171 |
$log_visitorcount = $_read->fetchOne($query);
|
172 |
}
|
173 |
|
174 |
+
$tablename = 'log_visitor_info';
|
175 |
+
if(!$_read ->showTableStatus(trim($tablename,"'"))){
|
|
|
176 |
$log_visitor_infocount = "table does not exist";
|
177 |
}
|
178 |
else{
|
181 |
}
|
182 |
|
183 |
$tablename = 'log_customer'; // Set the table name here
|
184 |
+
if(!$_read ->showTableStatus(trim($tablename,"'"))){
|
|
|
185 |
$log_countcount = "table does not exist";
|
186 |
}
|
187 |
else{
|
188 |
$query = 'select count(*) AS id from ' . $tablename;
|
189 |
$log_customercount = $_read->fetchOne($query);
|
190 |
}
|
|
|
191 |
}
|
192 |
else {
|
193 |
+
$log_urlcount = "showTableStatus is an undefined method";
|
194 |
+
$log_url_infocount = "showTableStatus is an undefined method";
|
195 |
+
$log_visitorcount = "showTableStatus is an undefined method";
|
196 |
+
$log_visitor_infocount = "showTableStatus is an undefined method";
|
197 |
+
$log_customercount = "showTableStatus is an undefined method";
|
198 |
|
199 |
}
|
200 |
|
201 |
|
|
|
202 |
$magentoVersion = Mage::getVersion();
|
203 |
$apiversion = (String)Mage::getConfig()->getNode()->modules->MocoInsight_Mocoauto->version;
|
204 |
$phpversion = phpversion();
|
233 |
return $this;
|
234 |
}
|
235 |
|
236 |
+
public function exstatsAction() // Return the number of Product, Orders and Customers with optional since filter
|
237 |
{
|
238 |
if(!$this->_authorise()) {
|
239 |
return $this;
|
240 |
}
|
241 |
|
242 |
+
$time_start = microtime(true);
|
243 |
+
|
244 |
$currentSystemTime = date('Y-m-d H:i:s', time());
|
245 |
$sections = explode('/', trim($this->getRequest()->getPathInfo(), '/'));
|
246 |
$since = $this->getRequest()->getParam('since','All');
|
277 |
$wishlistcount = $_wishlistCol->getSize();
|
278 |
|
279 |
$_cartsCol = Mage::getResourceModel('sales/quote_collection')->addFieldToFilter('is_active', '1');
|
|
|
280 |
if($since != 'All'){
|
281 |
$_cartsCol->addFieldToFilter('updated_at', array('gteq' =>$since));
|
282 |
+
}
|
283 |
+
else{
|
284 |
+
$_cartsCol->addFieldToFilter('items_count', array('neq' => 0));
|
285 |
+
}
|
286 |
+
|
287 |
$cartscount = $_cartsCol->getSize();
|
288 |
|
289 |
$_subscriberCol = Mage::getModel('newsletter/subscriber')-> getCollection();
|
290 |
|
291 |
$subscribercount = $_subscriberCol->getSize();
|
292 |
+
|
293 |
+
$_rulesCol = Mage::getModel('salesrule/rule')->getCollection();
|
294 |
+
|
295 |
+
$rulescount = $_rulesCol->getSize();
|
296 |
+
|
297 |
//
|
298 |
// Check size of log files
|
299 |
// 1. Check if isTableExists method is defined (It appears Magento v1.5.0.1 defines it differently)
|
365 |
|
366 |
}
|
367 |
|
368 |
+
|
369 |
+
|
370 |
$magentoVersion = Mage::getVersion();
|
371 |
$apiversion = (String)Mage::getConfig()->getNode()->modules->MocoInsight_Mocoauto->version;
|
372 |
+
$phpversion = phpversion();
|
373 |
|
374 |
$stats = array(
|
375 |
'success' => 'true',
|
381 |
'Wish lists' => $wishlistcount,
|
382 |
'Unconverted carts' => $cartscount,
|
383 |
'Subscribers' => $subscribercount,
|
384 |
+
'Cart and Coupon rules' => $rulescount,
|
385 |
'log_url' => $log_urlcount,
|
386 |
'log_url_info' => $log_url_infocount,
|
387 |
'log_visitor' => $log_visitorcount,
|
389 |
'log_customer' => $log_customercount,
|
390 |
'System Date Time' => $currentSystemTime,
|
391 |
'Magento Version' => $magentoVersion,
|
392 |
+
'MocoAPI Version' => $apiversion,
|
393 |
+
'PHP Version' => $phpversion,
|
394 |
+
'API processing time' => (microtime(true) - $time_start)
|
395 |
);
|
396 |
|
397 |
$this->getResponse()
|
452 |
$orders[] = array('moco_end_of_paymentinfo' => 'True');
|
453 |
}
|
454 |
catch (Exception $e) {
|
455 |
+
$orders[] = array('mocoauto_api_error' => 'Billing info error: ' . $e->getMessage());
|
456 |
}
|
457 |
$_orderItemsCol = $_order->getItemsCollection();
|
458 |
|
462 |
$orders[] = array('moco_end_of_order_record' => 'True');
|
463 |
}
|
464 |
catch (Exception $e) {
|
465 |
+
$orders[] = array('mocoauto_api_error' => 'order record: ' . $e->getMessage());
|
466 |
}
|
467 |
}
|
468 |
|
628 |
}
|
629 |
}
|
630 |
catch (Exception $e) {
|
631 |
+
$products[] = array('mocoauto_api_error' => 'product attribute ' . $attributeCode . ' ' . $e->getMessage());
|
632 |
}
|
633 |
}
|
634 |
|
650 |
$products[] = array('stock_availability' => $stock->getIsInStock());
|
651 |
}
|
652 |
catch (Exception $e) {
|
653 |
+
$products[] = array('mocoauto_api_error' => 'moco_product_inventory: ' . $e->getMessage());
|
654 |
}
|
655 |
|
656 |
|
893 |
|
894 |
public function log_all_joinedAction()
|
895 |
{
|
896 |
+
$tablename1 = 'log_url';
|
897 |
+
$tablename2 = 'log_url_info';
|
898 |
+
$tablename3 = 'log_visitor';
|
899 |
+
$tablename4 = 'log_visitor_info';
|
900 |
+
|
901 |
+
|
902 |
+
if(!$this->_authorise()) {
|
903 |
+
return $this;
|
904 |
+
}
|
905 |
+
|
906 |
+
$sections = explode('/', trim($this->getRequest()->getPathInfo(), '/'));
|
907 |
+
|
908 |
+
$offset = $this->getRequest()->getParam('offset', 0);
|
909 |
+
$page_size = $this->getRequest()->getParam('page_size', 20);
|
910 |
+
$since = $this->getRequest()->getParam('since', 'All');
|
911 |
+
|
912 |
+
try{
|
913 |
+
$_read = Mage::getSingleton('core/resource')->getConnection('core_read');
|
914 |
+
if(!$_read ->showTableStatus(trim($tablename1,"'"))){
|
915 |
+
$readresults=array($tablename1 ." table does not exist");
|
916 |
+
}
|
917 |
+
elseif(!$_read ->showTableStatus(trim($tablename2,"'"))){
|
918 |
+
$readresults=array($tablename2 ." table does not exist");
|
919 |
+
}
|
920 |
+
elseif(!$_read ->showTableStatus(trim($tablename3,"'"))){
|
921 |
+
$readresults=array($tablename3 ." table does not exist");
|
922 |
+
}
|
923 |
+
elseif(!$_read ->showTableStatus(trim($tablename4,"'"))){
|
924 |
+
$readresults=array($tablename4 ." table does not exist");
|
925 |
+
}
|
926 |
+
else{
|
927 |
+
$query = 'select ';
|
928 |
+
$query = $query . $tablename1 . '.url_id, ' . $tablename1 . '.visitor_id, visit_time,'; //log_url
|
929 |
+
$query = $query . ' url, referer,'; //log_url_info
|
930 |
+
$query = $query . ' session_id, first_visit_at, last_visit_at, store_id,'; //log_visitor
|
931 |
+
$query = $query . ' http_referer, http_user_agent, server_addr, remote_addr'; //log_visitor_info
|
932 |
+
$query = $query . ' from ' . $tablename1;
|
933 |
+
$query = $query . ' Left join ' . $tablename2 . ' on ' . $tablename1 . '.url_id = ' . $tablename2 . '.url_id';
|
934 |
+
$query = $query . ' Left join ' . $tablename3 . ' on ' . $tablename1 . '.visitor_id = ' . $tablename3 . '.visitor_id';
|
935 |
+
$query = $query . ' Left join ' . $tablename4 . ' on ' . $tablename1 . '.visitor_id = ' . $tablename4 . '.visitor_id where url not like "%mocoauto%"';
|
936 |
+
|
937 |
+
if($since != 'All'){
|
938 |
+
$query = $query . ' and visit_time > "' . $since . '"';
|
939 |
+
}
|
940 |
+
|
941 |
+
$query = $query .' limit ' . $offset . ',' . $page_size;
|
942 |
+
|
943 |
+
//Mage::log('DBG SQL: '. $query);
|
944 |
+
$readresults = $_read->fetchAll($query);
|
945 |
+
}
|
946 |
+
}
|
947 |
+
catch(Exception $e) {
|
948 |
+
$readresults[] = array('mocoauto_api_error' => 'error reading logs all joined: ' . $e->getMessage());
|
949 |
+
}
|
950 |
+
|
951 |
+
$this->getResponse()
|
952 |
+
->setBody(json_encode($readresults))
|
953 |
+
->setHttpResponseCode(200)
|
954 |
+
->setHeader('Content-type', 'application/json', true);
|
955 |
+
return $this;
|
956 |
+
}
|
957 |
+
public function exlog_all_joinedAction()
|
958 |
+
{
|
959 |
+
$tablename1 = 'log_url';
|
960 |
+
$tablename2 = 'log_url_info';
|
961 |
+
$tablename3 = 'log_visitor';
|
962 |
+
$tablename4 = 'log_visitor_info';
|
963 |
|
964 |
|
965 |
if(!$this->_authorise()) {
|
1252 |
$carts[] = array('moco_end_of_cart_record' => 'True');
|
1253 |
}
|
1254 |
catch(Exception $e) {
|
1255 |
+
$carts[] = array('mocoauto_api_error' => 'moco_unable_to_read_cart: ' . $e->getMessage());
|
1256 |
}
|
1257 |
}
|
1258 |
|
@@ -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.8</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,39 +11,36 @@
|
|
11 |

|
12 |

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

|
16 |
Added non sensitive payment info to orderAction
|
17 |

|
18 |
-
---------------------------------------------------
|
19 |
1.3.5
|
20 |

|
21 |
Faster uncovertedcarts
|
22 |

|
23 |
-
-------------------------------------------------------
|
24 |
1.3.4
|
25 |

|
26 |
log_all_joined
|
27 |

|
28 |
-
---------------------------------------------------------
|
29 |
1.3.3
|
30 |

|
31 |
Added rulesAction - for details on coupon and shopping carts rule.
|
32 |

|
33 |
-
-------------------------------------------------------
|
34 |
1.3.2
|
35 |

|
36 |
Exception handles for uncoverted carts.
|
37 |
Changed catalogue tax rate processing.
|
38 |

|
39 |
-

|
40 |
-

|
41 |
-
--------------------------------------------------------
|
42 |
1.3.1
|
43 |

|
44 |
Added graceful exception handling for installations that have misconfigured product attributes
|
45 |

|
46 |
-
---------------------------------------------------------
|
47 |
1.3.0
|
48 |

|
49 |
Check direct SQL methods defined
|
@@ -51,32 +48,28 @@ exproducts
|
|
51 |
exstats
|
52 |
report version of php
|
53 |

|
54 |
-
----------------------------------------------------------
|
55 |
1.2.9
|
56 |

|
57 |
Default tax rate fro products returned with producAction
|
58 |
-
|
59 |
1.2.8
|
60 |

|
61 |
storesAction now returns store config data
|
62 |
-
|
63 |
1.2.7
|
64 |

|
65 |
log stats function calculates using direct SQL
|
66 |

|
67 |
-

|
68 |
1.2.6
|
69 |

|
70 |
StatsAction now returns size of log files
|
71 |

|
72 |
-
------------------------------------------------------------
|
73 |
1.2.5
|
74 |

|
75 |
Speed up stocklevelAction, now only returns non zero inventory
|
76 |

|
77 |
WishlistAction now includes wishListItemId
|
78 |

|
79 |
-
-------------------------------------------------------------
|
80 |
1.2.4
|
81 |

|
82 |
Added wishlistsAction
|
@@ -84,26 +77,19 @@ Added unconvertedcartsAction
|
|
84 |

|
85 |
Fix - log actions now check if table exists
|
86 |

|
87 |
-
----------------------------------------------------------------
|
88 |
1.2.3
|
89 |

|
90 |
Fix to Observer.php
|
91 |
-
|
92 |
1.2.2
|
93 |

|
94 |
Added subscribersAction
|
95 |
Added storesAction
|
96 |

|
97 |
-
--------------------------------------------------------------
|
98 |
1.2.1
|
99 |

|
100 |
ordersAction - now uses billing address as some products (Virtual) won't have a delivery address and checks that object exists
|
101 |

|
102 |
-

|
103 |
-

|
104 |
-

|
105 |
-

|
106 |
-
---------------------------------------------------------------
|
107 |
1.2.0
|
108 |

|
109 |
ordersAction - added shpping address
|
@@ -113,21 +99,18 @@ stocklevelsAction - New
|
|
113 |

|
114 |
Added log_ actions
|
115 |

|
116 |
-
----------------------------------------------------------------
|
117 |
1.1.7
|
118 |

|
119 |
Added malformed error
|
120 |

|
121 |
Returns API version number with failed calls
|
122 |
-
|
123 |
1.1.6
|
124 |

|
125 |
Changed API header name to work with sites that use additional authorisation now:
|
126 |

|
127 |
mocoapi: apikey= THE API KEY
|
128 |

|
129 |
-

|
130 |
-
----------------------------------------------------------------
|
131 |
1.1.5
|
132 |
Updated stats API now includes:
|
133 |

|
@@ -136,9 +119,9 @@ System date/time
|
|
136 |
added success true for succesful requests
|
137 |
changed product category to moco_category</notes>
|
138 |
<authors><author><name>Rob Davies</name><user>mocoinsight</user><email>rob.davies@mocoinsight.com</email></author></authors>
|
139 |
-
<date>2014-
|
140 |
-
<time>
|
141 |
-
<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="
|
142 |
<compatible/>
|
143 |
<dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies>
|
144 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>MocoInsight_Mocoauto</name>
|
4 |
+
<version>1.3.8</version>
|
5 |
<stability>stable</stability>
|
6 |
<license>OSL v1.0.0</license>
|
7 |
<channel>community</channel>
|
11 |

|
12 |

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

|
16 |
+
Changed table exists function
|
17 |
+
mocoauto_api_error - API errors prefix
|
18 |
+

|
19 |
+
1.3.7
|
20 |

|
21 |
Added non sensitive payment info to orderAction
|
22 |

|
|
|
23 |
1.3.5
|
24 |

|
25 |
Faster uncovertedcarts
|
26 |

|
|
|
27 |
1.3.4
|
28 |

|
29 |
log_all_joined
|
30 |

|
|
|
31 |
1.3.3
|
32 |

|
33 |
Added rulesAction - for details on coupon and shopping carts rule.
|
34 |

|
|
|
35 |
1.3.2
|
36 |

|
37 |
Exception handles for uncoverted carts.
|
38 |
Changed catalogue tax rate processing.
|
39 |

|
|
|
|
|
|
|
40 |
1.3.1
|
41 |

|
42 |
Added graceful exception handling for installations that have misconfigured product attributes
|
43 |

|
|
|
44 |
1.3.0
|
45 |

|
46 |
Check direct SQL methods defined
|
48 |
exstats
|
49 |
report version of php
|
50 |

|
|
|
51 |
1.2.9
|
52 |

|
53 |
Default tax rate fro products returned with producAction
|
54 |
+

|
55 |
1.2.8
|
56 |

|
57 |
storesAction now returns store config data
|
58 |
+

|
59 |
1.2.7
|
60 |

|
61 |
log stats function calculates using direct SQL
|
62 |

|
|
|
63 |
1.2.6
|
64 |

|
65 |
StatsAction now returns size of log files
|
66 |

|
|
|
67 |
1.2.5
|
68 |

|
69 |
Speed up stocklevelAction, now only returns non zero inventory
|
70 |

|
71 |
WishlistAction now includes wishListItemId
|
72 |

|
|
|
73 |
1.2.4
|
74 |

|
75 |
Added wishlistsAction
|
77 |

|
78 |
Fix - log actions now check if table exists
|
79 |

|
|
|
80 |
1.2.3
|
81 |

|
82 |
Fix to Observer.php
|
83 |
+

|
84 |
1.2.2
|
85 |

|
86 |
Added subscribersAction
|
87 |
Added storesAction
|
88 |

|
|
|
89 |
1.2.1
|
90 |

|
91 |
ordersAction - now uses billing address as some products (Virtual) won't have a delivery address and checks that object exists
|
92 |

|
|
|
|
|
|
|
|
|
|
|
93 |
1.2.0
|
94 |

|
95 |
ordersAction - added shpping address
|
99 |

|
100 |
Added log_ actions
|
101 |

|
|
|
102 |
1.1.7
|
103 |

|
104 |
Added malformed error
|
105 |

|
106 |
Returns API version number with failed calls
|
107 |
+

|
108 |
1.1.6
|
109 |

|
110 |
Changed API header name to work with sites that use additional authorisation now:
|
111 |

|
112 |
mocoapi: apikey= THE API KEY
|
113 |

|
|
|
|
|
114 |
1.1.5
|
115 |
Updated stats API now includes:
|
116 |

|
119 |
added success true for succesful requests
|
120 |
changed product category to moco_category</notes>
|
121 |
<authors><author><name>Rob Davies</name><user>mocoinsight</user><email>rob.davies@mocoinsight.com</email></author></authors>
|
122 |
+
<date>2014-06-08</date>
|
123 |
+
<time>23:45:31</time>
|
124 |
+
<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="9e109182029f753ff7f0f5b07a640b09"/></dir><dir name="etc"><file name="config.xml" hash="63828905cc2f104275d380d0e7f9ebb3"/><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>
|
125 |
<compatible/>
|
126 |
<dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies>
|
127 |
</package>
|