MocoInsight_Mocoauto - Version 1.3.8

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

Download this release

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

app/code/community/MocoInsight/Mocoauto/controllers/ApiController.php CHANGED
@@ -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, 'isTableExists')){
154
-
155
- $tablename = 'log_url'; // Set the table name here
156
 
157
- if(!$_read ->isTableExists($tablename)){ //Table does not exist
158
- $logurlcount = "table does not exist";
 
159
  }
160
  else{
161
  $query = 'select count(*) AS id from ' . $tablename;
162
  $log_urlcount = $_read->fetchOne($query);
163
  }
164
 
165
- $tablename = 'log_url_info'; // Set the table name here
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'; // Set the table name here
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'; // Set the table name here
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 = "isTableExists is an undefined method";
208
- $log_url_infocount = "isTableExists is an undefined method";
209
- $log_visitorcount = "isTableExists is an undefined method";
210
- $log_visitor_infocount = "isTableExists is an undefined method";
211
- $log_customercount = "isTableExists is an undefined method";
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('billing info' => 'Mocoauto_error: ' . $e->getMessage());
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('order record' => 'Mocoauto_error: ' . $e->getMessage());
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 => 'Mocoauto_error: ' . $e->getMessage());
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('moco_product_inventory' => 'Mocoauto_error: ' . $e->getMessage());
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'; // Set the table name here
896
- $tablename2 = 'log_url_info'; // Set the table name here
897
- $tablename3 = 'log_visitor'; // Set the table name here
898
- $tablename4 = 'log_visitor_info'; // Set the table name here
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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('moco_unable_to_read_cart' => 'Mocoauto_error: ' . $e->getMessage());
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
 
app/code/community/MocoInsight/Mocoauto/etc/config.xml CHANGED
@@ -4,7 +4,7 @@
4
  <config>
5
  <modules>
6
  <MocoInsight_Mocoauto>
7
- <version>1.3.7</version>
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>
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>MocoInsight_Mocoauto</name>
4
- <version>1.3.7</version>
5
  <stability>stable</stability>
6
  <license>OSL v1.0.0</license>
7
  <channel>community</channel>
@@ -11,39 +11,36 @@
11
  &#xD;
12
  &#xD;
13
  </description>
14
- <notes>1.3.7&#xD;
 
 
 
 
 
15
  &#xD;
16
  Added non sensitive payment info to orderAction&#xD;
17
  &#xD;
18
- ---------------------------------------------------&#xD;
19
  1.3.5&#xD;
20
  &#xD;
21
  Faster uncovertedcarts&#xD;
22
  &#xD;
23
- -------------------------------------------------------&#xD;
24
  1.3.4&#xD;
25
  &#xD;
26
  log_all_joined&#xD;
27
  &#xD;
28
- ---------------------------------------------------------&#xD;
29
  1.3.3&#xD;
30
  &#xD;
31
  Added rulesAction - for details on coupon and shopping carts rule.&#xD;
32
  &#xD;
33
- -------------------------------------------------------&#xD;
34
  1.3.2&#xD;
35
  &#xD;
36
  Exception handles for uncoverted carts.&#xD;
37
  Changed catalogue tax rate processing.&#xD;
38
  &#xD;
39
- &#xD;
40
- &#xD;
41
- --------------------------------------------------------&#xD;
42
  1.3.1&#xD;
43
  &#xD;
44
  Added graceful exception handling for installations that have misconfigured product attributes&#xD;
45
  &#xD;
46
- ---------------------------------------------------------&#xD;
47
  1.3.0&#xD;
48
  &#xD;
49
  Check direct SQL methods defined&#xD;
@@ -51,32 +48,28 @@ exproducts&#xD;
51
  exstats&#xD;
52
  report version of php&#xD;
53
  &#xD;
54
- ----------------------------------------------------------&#xD;
55
  1.2.9&#xD;
56
  &#xD;
57
  Default tax rate fro products returned with producAction&#xD;
58
- ---------------------------------------------------------&#xD;
59
  1.2.8&#xD;
60
  &#xD;
61
  storesAction now returns store config data&#xD;
62
- ----------------------------------------------------------&#xD;
63
  1.2.7&#xD;
64
  &#xD;
65
  log stats function calculates using direct SQL&#xD;
66
  &#xD;
67
- &#xD;
68
  1.2.6&#xD;
69
  &#xD;
70
  StatsAction now returns size of log files&#xD;
71
  &#xD;
72
- ------------------------------------------------------------&#xD;
73
  1.2.5&#xD;
74
  &#xD;
75
  Speed up stocklevelAction, now only returns non zero inventory&#xD;
76
  &#xD;
77
  WishlistAction now includes wishListItemId&#xD;
78
  &#xD;
79
- -------------------------------------------------------------&#xD;
80
  1.2.4&#xD;
81
  &#xD;
82
  Added wishlistsAction&#xD;
@@ -84,26 +77,19 @@ Added unconvertedcartsAction&#xD;
84
  &#xD;
85
  Fix - log actions now check if table exists&#xD;
86
  &#xD;
87
- ----------------------------------------------------------------&#xD;
88
  1.2.3&#xD;
89
  &#xD;
90
  Fix to Observer.php&#xD;
91
- -------------------------------------------------------------&#xD;
92
  1.2.2&#xD;
93
  &#xD;
94
  Added subscribersAction&#xD;
95
  Added storesAction&#xD;
96
  &#xD;
97
- --------------------------------------------------------------&#xD;
98
  1.2.1&#xD;
99
  &#xD;
100
  ordersAction - now uses billing address as some products (Virtual) won't have a delivery address and checks that object exists&#xD;
101
  &#xD;
102
- &#xD;
103
- &#xD;
104
- &#xD;
105
- &#xD;
106
- ---------------------------------------------------------------&#xD;
107
  1.2.0&#xD;
108
  &#xD;
109
  ordersAction - added shpping address&#xD;
@@ -113,21 +99,18 @@ stocklevelsAction - New&#xD;
113
  &#xD;
114
  Added log_ actions&#xD;
115
  &#xD;
116
- ----------------------------------------------------------------&#xD;
117
  1.1.7&#xD;
118
  &#xD;
119
  Added malformed error&#xD;
120
  &#xD;
121
  Returns API version number with failed calls&#xD;
122
- ----------------------------------------------------------------&#xD;
123
  1.1.6&#xD;
124
  &#xD;
125
  Changed API header name to work with sites that use additional authorisation now:&#xD;
126
  &#xD;
127
  mocoapi: apikey= THE API KEY&#xD;
128
  &#xD;
129
- &#xD;
130
- ----------------------------------------------------------------&#xD;
131
  1.1.5&#xD;
132
  Updated stats API now includes:&#xD;
133
  &#xD;
@@ -136,9 +119,9 @@ System date/time&#xD;
136
  added success true for succesful requests&#xD;
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-05-15</date>
140
- <time>08:36:01</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="be4d73da4891013ca80bd29b38878b7c"/></dir><dir name="etc"><file name="config.xml" hash="9ccf1572cfa22d0cb77589a47e0610e0"/><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>
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
  &#xD;
12
  &#xD;
13
  </description>
14
+ <notes>1.3.8&#xD;
15
+ &#xD;
16
+ Changed table exists function&#xD;
17
+ mocoauto_api_error - API errors prefix&#xD;
18
+ &#xD;
19
+ 1.3.7&#xD;
20
  &#xD;
21
  Added non sensitive payment info to orderAction&#xD;
22
  &#xD;
 
23
  1.3.5&#xD;
24
  &#xD;
25
  Faster uncovertedcarts&#xD;
26
  &#xD;
 
27
  1.3.4&#xD;
28
  &#xD;
29
  log_all_joined&#xD;
30
  &#xD;
 
31
  1.3.3&#xD;
32
  &#xD;
33
  Added rulesAction - for details on coupon and shopping carts rule.&#xD;
34
  &#xD;
 
35
  1.3.2&#xD;
36
  &#xD;
37
  Exception handles for uncoverted carts.&#xD;
38
  Changed catalogue tax rate processing.&#xD;
39
  &#xD;
 
 
 
40
  1.3.1&#xD;
41
  &#xD;
42
  Added graceful exception handling for installations that have misconfigured product attributes&#xD;
43
  &#xD;
 
44
  1.3.0&#xD;
45
  &#xD;
46
  Check direct SQL methods defined&#xD;
48
  exstats&#xD;
49
  report version of php&#xD;
50
  &#xD;
 
51
  1.2.9&#xD;
52
  &#xD;
53
  Default tax rate fro products returned with producAction&#xD;
54
+ &#xD;
55
  1.2.8&#xD;
56
  &#xD;
57
  storesAction now returns store config data&#xD;
58
+ &#xD;
59
  1.2.7&#xD;
60
  &#xD;
61
  log stats function calculates using direct SQL&#xD;
62
  &#xD;
 
63
  1.2.6&#xD;
64
  &#xD;
65
  StatsAction now returns size of log files&#xD;
66
  &#xD;
 
67
  1.2.5&#xD;
68
  &#xD;
69
  Speed up stocklevelAction, now only returns non zero inventory&#xD;
70
  &#xD;
71
  WishlistAction now includes wishListItemId&#xD;
72
  &#xD;
 
73
  1.2.4&#xD;
74
  &#xD;
75
  Added wishlistsAction&#xD;
77
  &#xD;
78
  Fix - log actions now check if table exists&#xD;
79
  &#xD;
 
80
  1.2.3&#xD;
81
  &#xD;
82
  Fix to Observer.php&#xD;
83
+ &#xD;
84
  1.2.2&#xD;
85
  &#xD;
86
  Added subscribersAction&#xD;
87
  Added storesAction&#xD;
88
  &#xD;
 
89
  1.2.1&#xD;
90
  &#xD;
91
  ordersAction - now uses billing address as some products (Virtual) won't have a delivery address and checks that object exists&#xD;
92
  &#xD;
 
 
 
 
 
93
  1.2.0&#xD;
94
  &#xD;
95
  ordersAction - added shpping address&#xD;
99
  &#xD;
100
  Added log_ actions&#xD;
101
  &#xD;
 
102
  1.1.7&#xD;
103
  &#xD;
104
  Added malformed error&#xD;
105
  &#xD;
106
  Returns API version number with failed calls&#xD;
107
+ &#xD;
108
  1.1.6&#xD;
109
  &#xD;
110
  Changed API header name to work with sites that use additional authorisation now:&#xD;
111
  &#xD;
112
  mocoapi: apikey= THE API KEY&#xD;
113
  &#xD;
 
 
114
  1.1.5&#xD;
115
  Updated stats API now includes:&#xD;
116
  &#xD;
119
  added success true for succesful requests&#xD;
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>