analytics-and-reports - Version 1.0.3

Version Notes

Freento Analytics & Reports extension for Magento. Allows to analyze live Magento store

Download this release

Release Info

Developer Freento.com
Extension analytics-and-reports
Version 1.0.3
Comparing to
See all releases


Code changes from version 1.0.2.2 to 1.0.3

Files changed (34) hide show
  1. app/code/community/Freento/Aconnector/Block/Adminhtml/System/Config/Form/Disconnect.php +1 -1
  2. app/code/community/Freento/Aconnector/Model/Product.php +2 -2
  3. app/code/community/Freento/Aconnector/Model/Report/Abstract.php +1 -0
  4. app/code/community/Freento/Aconnector/Model/Report/AllProducts.php +3 -0
  5. app/code/community/Freento/Aconnector/Model/Report/BestCategory.php +7 -4
  6. app/code/community/Freento/Aconnector/Model/Report/BestCoupons.php +7 -5
  7. app/code/community/Freento/Aconnector/Model/Report/Bestsellers.php +7 -6
  8. app/code/community/Freento/Aconnector/Model/Report/CustomerPurchases.php +0 -49
  9. app/code/community/Freento/Aconnector/Model/Report/Grouped/Abstract.php +0 -1
  10. app/code/community/Freento/Aconnector/Model/Report/MostRefunded.php +10 -7
  11. app/code/community/Freento/Aconnector/Model/Report/ProductsByCustomer.php +0 -13
  12. app/code/community/Freento/Aconnector/Model/Report/RefundsPercent.php +2 -2
  13. app/code/community/Freento/Aconnector/Model/Report/Sales.php +2 -2
  14. app/code/community/Freento/Aconnector/Model/Report/SalesByCategory.php +0 -41
  15. app/code/community/Freento/Aconnector/Model/Report/SalesByCountry.php +2 -2
  16. app/code/community/Freento/Aconnector/Model/Report/SalesByCustomer.php +3 -10
  17. app/code/community/Freento/Aconnector/Model/Report/SalesByCustomerGroup.php +5 -6
  18. app/code/community/Freento/Aconnector/Model/Report/SalesByDayOfWeek.php +0 -19
  19. app/code/community/Freento/Aconnector/Model/Report/SalesByHour.php +0 -20
  20. app/code/community/Freento/Aconnector/Model/Report/SalesByMonth.php +0 -19
  21. app/code/community/Freento/Aconnector/Model/Report/SalesByPeriodOfTime.php +0 -19
  22. app/code/community/Freento/Aconnector/Model/Report/SalesByProduct.php +1 -1
  23. app/code/community/Freento/Aconnector/Model/Report/SalesByQuarter.php +0 -19
  24. app/code/community/Freento/Aconnector/Model/Report/SalesByState.php +1 -1
  25. app/code/community/Freento/Aconnector/Model/Report/SalesByWeek.php +0 -20
  26. app/code/community/Freento/Aconnector/Model/Report/SalesByYear.php +0 -20
  27. app/code/community/Freento/Aconnector/controllers/Adminhtml/{Freentoaconnectoradmin → Aconnector}/ServiceController.php +14 -1
  28. app/code/community/Freento/Aconnector/controllers/Adminhtml/{Freentoaconnectoradmin → Aconnector}/System/ConfigController.php +1 -1
  29. app/code/community/Freento/Aconnector/controllers/IndexController.php +0 -19
  30. app/code/community/Freento/Aconnector/controllers/ReportController.php +15 -0
  31. app/code/community/Freento/Aconnector/controllers/StoreController.php +17 -0
  32. app/code/community/Freento/Aconnector/etc/adminhtml.xml +2 -2
  33. app/code/community/Freento/Aconnector/etc/config.xml +2 -2
  34. package.xml +4 -4
app/code/community/Freento/Aconnector/Block/Adminhtml/System/Config/Form/Disconnect.php CHANGED
@@ -20,7 +20,7 @@ class Freento_Aconnector_Block_Adminhtml_System_Config_Form_Disconnect extends M
20
  }
21
 
22
  $this->setElement($element);
23
- $url = $this->getUrl('adminhtml/freentoaconnectoradmin_system_config/disconnect');
24
 
25
  $html = $this->getLayout()->createBlock('adminhtml/widget_button')
26
  ->setType('button')
20
  }
21
 
22
  $this->setElement($element);
23
+ $url = $this->getUrl('adminhtml/aconnector_system_config/disconnect');
24
 
25
  $html = $this->getLayout()->createBlock('adminhtml/widget_button')
26
  ->setType('button')
app/code/community/Freento/Aconnector/Model/Product.php CHANGED
@@ -47,8 +47,8 @@ class Freento_Aconnector_Model_Product
47
  'label' => 'Attribute Set',
48
  'type' => 'string'
49
  ),
50
- 'store_id' => array(
51
- 'label' => 'Store',
52
  'type' => 'string'
53
  ),
54
  'final_price' => array(
47
  'label' => 'Attribute Set',
48
  'type' => 'string'
49
  ),
50
+ 'websites' => array(
51
+ 'label' => 'Websites',
52
  'type' => 'string'
53
  ),
54
  'final_price' => array(
app/code/community/Freento/Aconnector/Model/Report/Abstract.php CHANGED
@@ -14,6 +14,7 @@ abstract class Freento_Aconnector_Model_Report_Abstract extends Mage_Core_Model_
14
  protected $_storeIds = array();
15
  protected $_mainReportResults;
16
 
 
17
  protected $_mainTablePrefix = 'main_table';
18
 
19
  protected function _getMainTablePrefix()
14
  protected $_storeIds = array();
15
  protected $_mainReportResults;
16
 
17
+ protected $_fromParams = array();
18
  protected $_mainTablePrefix = 'main_table';
19
 
20
  protected function _getMainTablePrefix()
app/code/community/Freento/Aconnector/Model/Report/AllProducts.php CHANGED
@@ -36,6 +36,7 @@ class Freento_Aconnector_Model_Report_AllProducts extends Freento_Aconnector_Mod
36
  'inner',
37
  Mage_Core_Model_App::ADMIN_STORE_ID
38
  )
 
39
  ;
40
 
41
  $this->_select = $this->_collection->getSelect();
@@ -55,6 +56,8 @@ class Freento_Aconnector_Model_Report_AllProducts extends Freento_Aconnector_Mod
55
  $formattedData[$key] = htmlentities(substr($record, 0, 150));
56
  } elseif(is_null($record)) {
57
  $formattedData[$key] = '';
 
 
58
  } else {
59
  $formattedData[$key] = 'not available';
60
  }
36
  'inner',
37
  Mage_Core_Model_App::ADMIN_STORE_ID
38
  )
39
+ ->addWebsiteNamesToResult()
40
  ;
41
 
42
  $this->_select = $this->_collection->getSelect();
56
  $formattedData[$key] = htmlentities(substr($record, 0, 150));
57
  } elseif(is_null($record)) {
58
  $formattedData[$key] = '';
59
+ } elseif(is_array($record)) {
60
+ $formattedData[$key] = implode(',', $record);
61
  } else {
62
  $formattedData[$key] = 'not available';
63
  }
app/code/community/Freento/Aconnector/Model/Report/BestCategory.php CHANGED
@@ -6,12 +6,15 @@ class Freento_Aconnector_Model_Report_BestCategory extends Freento_Aconnector_Mo
6
 
7
  protected function _mysqlRequest()
8
  {
 
 
 
 
 
 
9
  $this->getSelect()
10
  ->from(array($this->_mainTablePrefix => $this->_getTable('sales/order_item')),
11
- array(
12
- 'qty' => 'sum(qty_invoiced) - sum(qty_refunded)',
13
- 'total' => 'sum(qty_invoiced*price) - sum(qty_refunded*price) - sum(' . $this->_mainTablePrefix . '.base_discount_invoiced)',
14
- )
15
  )
16
  ->join(
17
  array('ccp' => Mage::getSingleton('core/resource')->getTableName('catalog/category_product')),
6
 
7
  protected function _mysqlRequest()
8
  {
9
+
10
+ $this->_fromParams = array(
11
+ 'qty' => 'sum(qty_invoiced) - sum(qty_refunded)',
12
+ 'total' => 'sum(base_row_invoiced) - sum(base_amount_refunded)',
13
+ );
14
+
15
  $this->getSelect()
16
  ->from(array($this->_mainTablePrefix => $this->_getTable('sales/order_item')),
17
+ $this->_fromParams
 
 
 
18
  )
19
  ->join(
20
  array('ccp' => Mage::getSingleton('core/resource')->getTableName('catalog/category_product')),
app/code/community/Freento/Aconnector/Model/Report/BestCoupons.php CHANGED
@@ -5,13 +5,15 @@ class Freento_Aconnector_Model_Report_BestCoupons extends Freento_Aconnector_Mod
5
 
6
  protected function _mysqlRequest()
7
  {
 
 
 
 
 
 
8
  $this->getSelect(true)
9
  ->from(array($this->_mainTablePrefix => $this->_getTable('sales/order')),
10
- array(
11
- 'coupon_code',
12
- 'qty' => 'COUNT(*)',
13
- 'total' => 'SUM(base_grand_total)',
14
- )
15
  )
16
  ->group('coupon_code')
17
  ;
5
 
6
  protected function _mysqlRequest()
7
  {
8
+ $this->_fromParams = array(
9
+ 'coupon_code',
10
+ 'qty' => 'COUNT(*)',
11
+ 'total' => 'ABS(SUM(base_discount_amount))',
12
+ );
13
+
14
  $this->getSelect(true)
15
  ->from(array($this->_mainTablePrefix => $this->_getTable('sales/order')),
16
+ $this->_fromParams
 
 
 
 
17
  )
18
  ->group('coupon_code')
19
  ;
app/code/community/Freento/Aconnector/Model/Report/Bestsellers.php CHANGED
@@ -6,14 +6,15 @@ class Freento_Aconnector_Model_Report_Bestsellers extends Freento_Aconnector_Mod
6
 
7
  protected function _mysqlRequest()
8
  {
 
 
 
 
 
 
9
  $this->getSelect()
10
  ->from(array($this->_mainTablePrefix => $this->_getTable('sales/order_item')),
11
- array(
12
- 'qty' => 'sum(qty_invoiced) - sum(qty_refunded)',
13
- 'total' => 'sum(qty_invoiced*price) - sum(qty_refunded*price) - sum(base_discount_invoiced)',
14
- 'sku',
15
- 'name'
16
- )
17
  )
18
  ->group('sku');
19
  $this->_prepareSort();
6
 
7
  protected function _mysqlRequest()
8
  {
9
+ $this->_fromParams = array(
10
+ 'qty' => 'sum(qty_invoiced) - sum(qty_refunded)',
11
+ 'total' => 'sum(base_row_invoiced) - sum(base_amount_refunded)',
12
+ 'sku',
13
+ 'name'
14
+ );
15
  $this->getSelect()
16
  ->from(array($this->_mainTablePrefix => $this->_getTable('sales/order_item')),
17
+ $this->_fromParams
 
 
 
 
 
18
  )
19
  ->group('sku');
20
  $this->_prepareSort();
app/code/community/Freento/Aconnector/Model/Report/CustomerPurchases.php DELETED
@@ -1,49 +0,0 @@
1
- <?php
2
- class Freento_Aconnector_Model_Report_CustomerPurchases extends Freento_Aconnector_Model_Report_Abstract
3
- {
4
-
5
- protected function _mysqlRequest()
6
- {
7
- $attribute = Mage::getModel('eav/entity')->setType('catalog_product')->getAttribute('name');
8
- $this->getSelect()
9
- ->from(array($this->_mainTablePrefix => $this->_getTable('sales/order_item')))
10
- ->joinLeft(
11
- array('orders' => $this->_getTable('sales/order')),
12
- 'orders.entity_id = e.order_id',
13
- array('increment_id')
14
- )
15
- ->join(
16
- array('products' => Mage::getSingleton('core/resource')->getTableName('catalog/product')),
17
- $this->_mainTablePrefix . '.product_id = products.entity_id',
18
- array()
19
- )
20
- ->joinLeft(
21
- array('at_name_default' => $attribute->getBackend()->getTable()),
22
- "at_name_default.entity_id = {$this->_mainTablePrefix}.product_id AND at_name_default.attribute_id = {$attribute->getId()} AND at_name_default.store_id = 0",
23
- array('product_info' => new Zend_Db_Expr('IF(at_name_store.value_id > 0, at_name_store.value, at_name_default.value)'))
24
- )
25
- ->joinLeft(
26
- array('at_name_store' => $attribute->getBackend()->getTable()),
27
- "at_name_store.entity_id = e.product_id AND at_name_store.attribute_id = {$attribute->getId()}",
28
- array()
29
- )
30
- ->join(
31
- array('payments' => $this->_getTable('sales/order_payment')),
32
- 'orders.entity_id = payments.parent_id',
33
- array('method')
34
- )
35
- ->where('at_name_store.store_id IN (?)', $this->getStoreIds())
36
- ->where($this->_mainTablePrefix . '.parent_item_id is NULL')
37
- ->group('order_id')
38
- ;
39
- $this->_prepareSort();
40
-
41
- $additionalParams = $this->getAdditionalParams();
42
- if (isset($additionalParams['email']) && $additionalParams['email']) {
43
- $this->getSelect()->where('orders.customer_email = ?', $additionalParams['email']);
44
- }
45
-
46
- return parent::_mysqlRequest();
47
- }
48
-
49
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Freento/Aconnector/Model/Report/Grouped/Abstract.php CHANGED
@@ -1,7 +1,6 @@
1
  <?php
2
  abstract class Freento_Aconnector_Model_Report_Grouped_Abstract extends Freento_Aconnector_Model_Report_Abstract
3
  {
4
- protected $_fromParams = array();
5
 
6
  protected function _prepareGroup()
7
  {
1
  <?php
2
  abstract class Freento_Aconnector_Model_Report_Grouped_Abstract extends Freento_Aconnector_Model_Report_Abstract
3
  {
 
4
 
5
  protected function _prepareGroup()
6
  {
app/code/community/Freento/Aconnector/Model/Report/MostRefunded.php CHANGED
@@ -6,15 +6,18 @@ class Freento_Aconnector_Model_Report_MostRefunded extends Freento_Aconnector_Mo
6
 
7
  protected function _mysqlRequest()
8
  {
 
 
 
 
 
 
 
 
 
9
  $this->getSelect()
10
  ->from(array($this->_mainTablePrefix => $this->_getTable('sales/order_item')),
11
- array(
12
- 'percent' => 'sum(qty_refunded) / sum(qty_invoiced) * 100',
13
- 'qty' => 'sum(qty_refunded)',
14
- 'total' => 'sum(base_amount_refunded)',
15
- 'sku',
16
- 'name'
17
- )
18
  )
19
  ->group('sku');
20
  $this->_prepareSort();
6
 
7
  protected function _mysqlRequest()
8
  {
9
+
10
+ $this->_fromParams = array(
11
+ 'percent' => 'IF(SUM(qty_invoiced), SUM(qty_refunded) / SUM(qty_invoiced) * 100, 0)',
12
+ 'qty' => 'sum(qty_refunded)',
13
+ 'total' => 'sum(base_amount_refunded)',
14
+ 'sku',
15
+ 'name'
16
+ );
17
+
18
  $this->getSelect()
19
  ->from(array($this->_mainTablePrefix => $this->_getTable('sales/order_item')),
20
+ $this->_fromParams
 
 
 
 
 
 
21
  )
22
  ->group('sku');
23
  $this->_prepareSort();
app/code/community/Freento/Aconnector/Model/Report/ProductsByCustomer.php DELETED
@@ -1,13 +0,0 @@
1
- <?php
2
- class Freento_Aconnector_Model_Report_ProductsByCustomer extends Freento_Aconnector_Model_Report_Abstract
3
- {
4
- protected function _mysqlRequest()
5
- {
6
-
7
- }
8
-
9
- protected function _prepareWhere()
10
- {
11
-
12
- }
13
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Freento/Aconnector/Model/Report/RefundsPercent.php CHANGED
@@ -4,9 +4,9 @@ class Freento_Aconnector_Model_Report_RefundsPercent extends Freento_Aconnector_
4
  protected function _mysqlRequest()
5
  {
6
  $this->_fromParams = array(
7
- 'refunds_percent' => 'IF(SUM(row_invoiced), SUM(amount_refunded) / SUM(row_invoiced) * 100, 0)',
8
  'total_invoiced' => 'SUM(row_invoiced)',
9
- 'total_refunded' => 'SUM(amount_refunded)'
10
  );
11
 
12
  $this->_prepareGroup();
4
  protected function _mysqlRequest()
5
  {
6
  $this->_fromParams = array(
7
+ 'refunds_percent' => 'IF(SUM(row_invoiced), SUM(base_amount_refunded) / SUM(row_invoiced) * 100, 0)',
8
  'total_invoiced' => 'SUM(row_invoiced)',
9
+ 'total_refunded' => 'SUM(base_amount_refunded)'
10
  );
11
 
12
  $this->_prepareGroup();
app/code/community/Freento/Aconnector/Model/Report/Sales.php CHANGED
@@ -5,9 +5,9 @@ class Freento_Aconnector_Model_Report_Sales extends Freento_Aconnector_Model_Rep
5
  {
6
  $this->_fromParams = array(
7
  'qty' => 'sum(qty_invoiced) - sum(qty_refunded)',
8
- 'total' => 'sum(qty_invoiced*price) - sum(qty_refunded*price) - sum(base_discount_invoiced)'
9
  );
10
-
11
  $this->_prepareGroup();
12
 
13
  $this->getSelect()->from(array($this->_mainTablePrefix => $this->_getTable('sales/order_item')), $this->_fromParams);
5
  {
6
  $this->_fromParams = array(
7
  'qty' => 'sum(qty_invoiced) - sum(qty_refunded)',
8
+ 'total' => 'sum(base_row_invoiced) - sum(base_amount_refunded)',
9
  );
10
+
11
  $this->_prepareGroup();
12
 
13
  $this->getSelect()->from(array($this->_mainTablePrefix => $this->_getTable('sales/order_item')), $this->_fromParams);
app/code/community/Freento/Aconnector/Model/Report/SalesByCategory.php DELETED
@@ -1,41 +0,0 @@
1
- <?php
2
- class Freento_Aconnector_Model_Report_SalesByCategory extends Freento_Aconnector_Model_Report_Abstract
3
- {
4
- protected function _mysqlRequest()
5
- {
6
- $additionalParams = $this->getAdditionalParams();
7
- if (isset($additionalParams['category_id']) && $additionalParams['category_id']) {
8
- $this->getSelect()
9
- ->from(array($this->_mainTablePrefix => $this->_getTable('sales/order_item')),
10
- array(
11
- 'qty' => 'sum(qty_invoiced) - sum(qty_refunded)',
12
- 'total' => 'sum(qty_invoiced*price) - sum(qty_refunded*price) - sum(' . $this->_mainTablePrefix . '.base_discount_invoiced)',
13
- 'sku',
14
- 'name',
15
- )
16
- )
17
- ->joinLeft(
18
- array('ccp' => Mage::getSingleton('core/resource')->getTableName('catalog/category_product')),
19
- 'ccp.product_id = ' . $this->_mainTablePrefix . '.product_id',
20
- array()
21
- )
22
- ->joinLeft(
23
- array('so' => $this->_getTable('sales/order')),
24
- 'so.entity_id = ' . $this->_mainTablePrefix . '.order_id',
25
- array('increment_id')
26
- )
27
- ->where('ccp.category_id = ?', $additionalParams['category_id'])
28
- ->group('order_id')
29
- ;
30
- $this->_prepareSort();
31
- } else {
32
- $this->getSelect()
33
- ->from(array($this->_mainTablePrefix => $this->_getTable('sales/order_item')))
34
- ->where('0')
35
- ;
36
- }
37
-
38
- return parent::_mysqlRequest();
39
- }
40
-
41
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Freento/Aconnector/Model/Report/SalesByCountry.php CHANGED
@@ -9,8 +9,8 @@ class Freento_Aconnector_Model_Report_SalesbyCountry extends Freento_Aconnector_
9
  {
10
 
11
  $this->_fromParams = array(
12
- 'qty' => 'sum(qty_refunded)',
13
- 'total' => 'sum(base_amount_refunded)'
14
  );
15
 
16
  $this->getSelect()
9
  {
10
 
11
  $this->_fromParams = array(
12
+ 'qty' => 'sum(qty_invoiced) - sum(qty_refunded)',
13
+ 'total' => 'sum(base_row_invoiced) - sum(base_amount_refunded)',
14
  );
15
 
16
  $this->getSelect()
app/code/community/Freento/Aconnector/Model/Report/SalesByCustomer.php CHANGED
@@ -10,20 +10,13 @@ class Freento_Aconnector_Model_Report_SalesByCustomer extends Freento_Aconnector
10
  $additionalParams = $this->getAdditionalParams();
11
  if (isset($additionalParams['customer_ids']) && $additionalParams['customer_ids']) {
12
  $this->_fromParams = array(
13
- 'total' => 'SUM(' . $this->_mainTablePrefix . '.base_grand_total)',
14
- 'qty' => 'SUM(items.qty_ordered)',
15
  );
16
 
17
  $this->_prepareGroup();
18
 
19
- $this->getSelect()
20
- ->from(array($this->_mainTablePrefix => $this->_getTable('sales/order')), $this->_fromParams)
21
-
22
- ->joinLeft(
23
- array('items' => $this->_getTable('sales/order_item')),
24
- 'items.order_id = ' . $this->_mainTablePrefix . '.entity_id',
25
- array()
26
- )
27
  ->joinLeft(
28
  array('customers' => Mage::getSingleton('core/resource')->getTableName('customer/entity')),
29
  'customers.entity_id = ' . $this->_mainTablePrefix . '.customer_id',
10
  $additionalParams = $this->getAdditionalParams();
11
  if (isset($additionalParams['customer_ids']) && $additionalParams['customer_ids']) {
12
  $this->_fromParams = array(
13
+ 'qty' => 'sum(qty_invoiced) - sum(qty_refunded)',
14
+ 'total' => 'sum(base_row_invoiced) - sum(base_amount_refunded)',
15
  );
16
 
17
  $this->_prepareGroup();
18
 
19
+ $this->getSelect()->from(array($this->_mainTablePrefix => $this->_getTable('sales/order_item')), $this->_fromParams)
 
 
 
 
 
 
 
20
  ->joinLeft(
21
  array('customers' => Mage::getSingleton('core/resource')->getTableName('customer/entity')),
22
  'customers.entity_id = ' . $this->_mainTablePrefix . '.customer_id',
app/code/community/Freento/Aconnector/Model/Report/SalesByCustomerGroup.php CHANGED
@@ -12,20 +12,19 @@ class Freento_Aconnector_Model_Report_SalesByCustomerGroup extends Freento_Aconn
12
  $additionalParams = $this->getAdditionalParams();
13
  if (isset($additionalParams['group_ids']) && $additionalParams['group_ids']) {
14
  $this->_fromParams = array(
15
- 'total' => 'SUM(' . $this->_mainTablePrefix . '.base_grand_total)',
16
- 'qty' => 'SUM(items.qty_ordered)',
17
  );
18
 
19
  $this->_prepareGroup();
20
 
21
- $this->getSelect(true)
22
- ->from(array($this->_mainTablePrefix => $this->_getTable('sales/order')), $this->_fromParams)
23
  ->joinLeft(array('groups' => $this->_getTable('customer/group')),
24
  'groups.customer_group_id = ' . $this->_mainTablePrefix . '.customer_group_id',
25
  array()
26
  )
27
- ->joinLeft(array('items' => $this->_getTable('sales/order_item')),
28
- 'items.order_id = ' . $this->_mainTablePrefix . '.entity_id',
29
  array()
30
  )
31
  ->where('groups.customer_group_id IN (?)', explode(',', $additionalParams['group_ids']))
12
  $additionalParams = $this->getAdditionalParams();
13
  if (isset($additionalParams['group_ids']) && $additionalParams['group_ids']) {
14
  $this->_fromParams = array(
15
+ 'qty' => 'sum(oi.qty_invoiced) - sum(oi.qty_refunded)',
16
+ 'total' => 'sum(oi.base_row_invoiced) - sum(oi.base_amount_refunded)',
17
  );
18
 
19
  $this->_prepareGroup();
20
 
21
+ $this->getSelect()->from(array($this->_mainTablePrefix => $this->_getTable('sales/order')), $this->_fromParams)
 
22
  ->joinLeft(array('groups' => $this->_getTable('customer/group')),
23
  'groups.customer_group_id = ' . $this->_mainTablePrefix . '.customer_group_id',
24
  array()
25
  )
26
+ ->join(array('oi' => $this->_getTable('sales/order_item')),
27
+ 'oi.order_id = ' . $this->_mainTablePrefix . '.entity_id',
28
  array()
29
  )
30
  ->where('groups.customer_group_id IN (?)', explode(',', $additionalParams['group_ids']))
app/code/community/Freento/Aconnector/Model/Report/SalesByDayOfWeek.php DELETED
@@ -1,19 +0,0 @@
1
- <?php
2
- class Freento_Aconnector_Model_Report_SalesByDayOfWeek extends Freento_Aconnector_Model_Report_Abstract
3
- {
4
- protected function _mysqlRequest()
5
- {
6
- $this->getSelect()
7
- ->from(array($this->_mainTablePrefix => $this->_getTable('sales/order_item')),
8
- array(
9
- 'weekday' => 'WEEKDAY(created_at)',
10
- 'qty' => 'SUM(qty_invoiced) - SUM(qty_refunded)',
11
- 'total' => 'SUM(qty_invoiced*price) - SUM(qty_refunded*price) - SUM(base_discount_invoiced)',
12
- )
13
- )
14
- ->group('weekday')
15
- ->order('weekday ASC');
16
-
17
- return parent::_mysqlRequest();
18
- }
19
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Freento/Aconnector/Model/Report/SalesByHour.php DELETED
@@ -1,20 +0,0 @@
1
- <?php
2
- class Freento_Aconnector_Model_Report_SalesByHour extends Freento_Aconnector_Model_Report_Abstract
3
- {
4
- protected function _mysqlRequest()
5
- {
6
- $this->getSelect()
7
- ->from(array($this->_mainTablePrefix => $this->_getTable('sales/order_item')),
8
- array(
9
- 'hour' => 'HOUR(created_at)',
10
- 'qty' => 'SUM(qty_invoiced) - SUM(qty_refunded)',
11
- 'total' => 'SUM(qty_invoiced*price) - SUM(qty_refunded*price) - SUM(base_discount_invoiced)',
12
- )
13
- )
14
- ->group('hour')
15
- ->order('hour ASC');
16
-
17
- return parent::_mysqlRequest();
18
- }
19
-
20
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Freento/Aconnector/Model/Report/SalesByMonth.php DELETED
@@ -1,19 +0,0 @@
1
- <?php
2
- class Freento_Aconnector_Model_Report_SalesByMonth extends Freento_Aconnector_Model_Report_Abstract
3
- {
4
- protected function _mysqlRequest()
5
- {
6
- $this->getSelect()
7
- ->from(array($this->_mainTablePrefix => $this->_getTable('sales/order_item')),
8
- array(
9
- 'month' => 'MONTH(created_at)',
10
- 'qty' => 'SUM(qty_invoiced) - SUM(qty_refunded)',
11
- 'total' => 'SUM(qty_invoiced*price) - SUM(qty_refunded*price) - SUM(base_discount_invoiced)',
12
- )
13
- )
14
- ->group('month')
15
- ->order('month ASC');
16
-
17
- return parent::_mysqlRequest();
18
- }
19
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Freento/Aconnector/Model/Report/SalesByPeriodOfTime.php DELETED
@@ -1,19 +0,0 @@
1
- <?php
2
- class Freento_Aconnector_Model_Report_SalesByPeriodOfTime extends Freento_Aconnector_Model_Report_Abstract
3
- {
4
- protected function _mysqlRequest()
5
- {
6
- $this->getSelect()
7
- ->from(array($this->_mainTablePrefix => $this->_getTable('sales/order_item')),
8
- array(
9
- 'date' => 'DATE(created_at)',
10
- 'qty' => 'SUM(qty_invoiced) - SUM(qty_refunded)',
11
- 'total' => 'SUM(qty_invoiced*price) - SUM(qty_refunded*price) - SUM(base_discount_invoiced)',
12
- )
13
- )
14
- ->group('date')
15
- ->order('date ASC');
16
-
17
- return parent::_mysqlRequest();
18
- }
19
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Freento/Aconnector/Model/Report/SalesByProduct.php CHANGED
@@ -7,7 +7,7 @@ class Freento_Aconnector_Model_Report_SalesByProduct extends Freento_Aconnector_
7
  if (isset($additionalParams['skus']) && $additionalParams['skus']) {
8
  $this->_fromParams = array(
9
  'qty' => 'sum(qty_invoiced) - sum(qty_refunded)',
10
- 'total' => 'sum(qty_invoiced*price) - sum(qty_refunded*price) - sum(' . $this->_mainTablePrefix . '.base_discount_invoiced)'
11
  );
12
 
13
  $this->_prepareGroup();
7
  if (isset($additionalParams['skus']) && $additionalParams['skus']) {
8
  $this->_fromParams = array(
9
  'qty' => 'sum(qty_invoiced) - sum(qty_refunded)',
10
+ 'total' => 'sum(base_row_invoiced) - sum(base_amount_refunded)',
11
  );
12
 
13
  $this->_prepareGroup();
app/code/community/Freento/Aconnector/Model/Report/SalesByQuarter.php DELETED
@@ -1,19 +0,0 @@
1
- <?php
2
- class Freento_Aconnector_Model_Report_SalesByQuarter extends Freento_Aconnector_Model_Report_Abstract
3
- {
4
- protected function _mysqlRequest()
5
- {
6
- $this->getSelect()
7
- ->from(array($this->_mainTablePrefix => $this->_getTable('sales/order_item')),
8
- array(
9
- 'quarter' => 'QUARTER(created_at)',
10
- 'qty' => 'SUM(qty_invoiced) - SUM(qty_refunded)',
11
- 'total' => 'SUM(qty_invoiced*price) - SUM(qty_refunded*price) - SUM(base_discount_invoiced)',
12
- )
13
- )
14
- ->group('quarter')
15
- ->order('quarter ASC');
16
-
17
- return parent::_mysqlRequest();
18
- }
19
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Freento/Aconnector/Model/Report/SalesByState.php CHANGED
@@ -10,7 +10,7 @@ class Freento_Aconnector_Model_Report_SalesByState extends Freento_Aconnector_Mo
10
  {
11
  $this->_fromParams = array(
12
  'qty' => 'sum(qty_invoiced) - sum(qty_refunded)',
13
- 'total' => 'sum(qty_invoiced * price) - sum(qty_refunded * price) - sum(base_discount_invoiced)'
14
  );
15
 
16
  $this->getSelect()
10
  {
11
  $this->_fromParams = array(
12
  'qty' => 'sum(qty_invoiced) - sum(qty_refunded)',
13
+ 'total' => 'sum(base_row_invoiced) - sum(base_amount_refunded)',
14
  );
15
 
16
  $this->getSelect()
app/code/community/Freento/Aconnector/Model/Report/SalesByWeek.php DELETED
@@ -1,20 +0,0 @@
1
- <?php
2
- class Freento_Aconnector_Model_Report_SalesByWeek extends Freento_Aconnector_Model_Report_Abstract
3
- {
4
- protected function _mysqlRequest()
5
- {
6
- $this->getSelect()
7
- ->from(array($this->_mainTablePrefix => $this->_getTable('sales/order_item')),
8
- array(
9
- 'week' => 'WEEKOFYEAR(created_at)',
10
- 'qty' => 'SUM(qty_invoiced) - SUM(qty_refunded)',
11
- 'total' => 'SUM(qty_invoiced*price) - SUM(qty_refunded*price) - SUM(base_discount_invoiced)',
12
- )
13
- )
14
- ->group('week')
15
- ->order('week ASC');
16
-
17
- return parent::_mysqlRequest();
18
- }
19
-
20
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Freento/Aconnector/Model/Report/SalesByYear.php DELETED
@@ -1,20 +0,0 @@
1
- <?php
2
- class Freento_Aconnector_Model_Report_SalesByYear extends Freento_Aconnector_Model_Report_Abstract
3
- {
4
- protected function _mysqlRequest()
5
- {
6
- $this->getSelect()
7
- ->from(array($this->_mainTablePrefix => $this->_getTable('sales/order_item')),
8
- array(
9
- 'year' => 'YEAR(created_at)',
10
- 'qty' => 'SUM(qty_invoiced) - SUM(qty_refunded)',
11
- 'total' => 'SUM(qty_invoiced*price) - SUM(qty_refunded*price) - SUM(base_discount_invoiced)',
12
- )
13
- )
14
- ->group('year')
15
- ->order('year ASC');
16
-
17
- return parent::_mysqlRequest();
18
- }
19
-
20
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Freento/Aconnector/controllers/Adminhtml/{Freentoaconnectoradmin → Aconnector}/ServiceController.php RENAMED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- class Freento_Aconnector_Adminhtml_Freentoaconnectoradmin_ServiceController extends Mage_Adminhtml_Controller_Action
4
  {
5
 
6
  public function connectAction()
@@ -12,10 +12,15 @@ class Freento_Aconnector_Adminhtml_Freentoaconnectoradmin_ServiceController exte
12
  $publicKey = $keyModel->generateKeys();
13
  }
14
 
 
 
15
  $block = $this->getLayout()->createBlock('adminhtml/template', 'freento_aconnector.connection_form')->setTemplate('freento/aconnector/connect.phtml');
16
 
17
  $block->setData(array(
18
  'store_url' => $this->_getStoreUrl(),
 
 
 
19
  'username' => $keyModel->getUser()->getUsername(),
20
  'email' => $keyModel->getUser()->getEmail(),
21
  'user_id' => $keyModel->getUser()->getId(),
@@ -29,6 +34,14 @@ class Freento_Aconnector_Adminhtml_Freentoaconnectoradmin_ServiceController exte
29
  $this->getResponse()->setBody($block->toHtml());
30
  }
31
 
 
 
 
 
 
 
 
 
32
  protected function _isAllowed()
33
  {
34
  return Mage::getSingleton('admin/session')->isAllowed('report/freento_aconnector');
1
  <?php
2
 
3
+ class Freento_Aconnector_Adminhtml_Aconnector_ServiceController extends Mage_Adminhtml_Controller_Action
4
  {
5
 
6
  public function connectAction()
12
  $publicKey = $keyModel->generateKeys();
13
  }
14
 
15
+ $adminSecret = Mage::helper('core')->encrypt($this->_getStoreUrl() . '#' . $keyModel->getUser()->getId());
16
+
17
  $block = $this->getLayout()->createBlock('adminhtml/template', 'freento_aconnector.connection_form')->setTemplate('freento/aconnector/connect.phtml');
18
 
19
  $block->setData(array(
20
  'store_url' => $this->_getStoreUrl(),
21
+ 'admin_secret' => $adminSecret,
22
+ 'admin_url' => Mage::helper('adminhtml')->getUrl('*/*/return'),
23
+ 'referer_url' => base64_encode($this->_getRefererUrl()),
24
  'username' => $keyModel->getUser()->getUsername(),
25
  'email' => $keyModel->getUser()->getEmail(),
26
  'user_id' => $keyModel->getUser()->getId(),
34
  $this->getResponse()->setBody($block->toHtml());
35
  }
36
 
37
+ public function returnAction()
38
+ {
39
+ if(!$url = base64_decode($this->getRequest()->getParam('referer_url'))) {
40
+ $url = Mage::helper('adminhtml')->getUrl();
41
+ }
42
+ $this->getResponse()->setRedirect($url);
43
+ }
44
+
45
  protected function _isAllowed()
46
  {
47
  return Mage::getSingleton('admin/session')->isAllowed('report/freento_aconnector');
app/code/community/Freento/Aconnector/controllers/Adminhtml/{Freentoaconnectoradmin → Aconnector}/System/ConfigController.php RENAMED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- class Freento_Aconnector_Adminhtml_Freentoaconnectoradmin_System_ConfigController extends Mage_Adminhtml_Controller_Action
4
  {
5
 
6
  public function disconnectAction()
1
  <?php
2
 
3
+ class Freento_Aconnector_Adminhtml_Aconnector_System_ConfigController extends Mage_Adminhtml_Controller_Action
4
  {
5
 
6
  public function disconnectAction()
app/code/community/Freento/Aconnector/controllers/IndexController.php CHANGED
@@ -1,25 +1,6 @@
1
  <?php
2
  class Freento_Aconnector_IndexController extends Freento_Aconnector_Controller_Abstract
3
  {
4
- public function indexAction()
5
- {
6
- $response = Freento_Aconnector_Model_Aconnector::getReportData(
7
- $this->getRequest()->getParams()
8
- );
9
-
10
- $this->_prepareEncodedResponse($response);
11
- }
12
-
13
- public function storesAction()
14
- {
15
- $result = array();
16
- $result[] = array('store_id' => 0, 'store_name' => 'Admin');
17
- foreach (Mage::app()->getStores() as $store) {
18
- $result[] = array('store_id' => $store->getId(), 'store_name' => $store->getName());
19
- }
20
-
21
- $this->_prepareEncodedResponse(json_encode($result));
22
- }
23
 
24
  public function versionAction()
25
  {
1
  <?php
2
  class Freento_Aconnector_IndexController extends Freento_Aconnector_Controller_Abstract
3
  {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4
 
5
  public function versionAction()
6
  {
app/code/community/Freento/Aconnector/controllers/ReportController.php ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Freento_Aconnector_ReportController extends Freento_Aconnector_Controller_Abstract
4
+ {
5
+
6
+ public function processAction()
7
+ {
8
+ $response = Freento_Aconnector_Model_Aconnector::getReportData(
9
+ $this->getRequest()->getParams()
10
+ );
11
+
12
+ $this->_prepareEncodedResponse($response);
13
+ }
14
+
15
+ }
app/code/community/Freento/Aconnector/controllers/StoreController.php ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Freento_Aconnector_StoreController extends Freento_Aconnector_Controller_Abstract
4
+ {
5
+
6
+ public function listAction()
7
+ {
8
+ $result = array();
9
+ $result[] = array('store_id' => 0, 'store_name' => 'Admin');
10
+ foreach (Mage::app()->getStores() as $store) {
11
+ $result[] = array('store_id' => $store->getId(), 'store_name' => $store->getName());
12
+ }
13
+
14
+ $this->_prepareEncodedResponse(json_encode($result));
15
+ }
16
+
17
+ }
app/code/community/Freento/Aconnector/etc/adminhtml.xml CHANGED
@@ -34,8 +34,8 @@
34
  <children>
35
  <freento_aconnector translate="title" module="freento_aconnector">
36
  <title><![CDATA[Analytics &amp; Reports]]></title>
37
- <sort_order>200</sort_order>
38
- <action>adminhtml/freentoaconnectoradmin_service/connect</action>
39
  </freento_aconnector>
40
  </children>
41
  </report>
34
  <children>
35
  <freento_aconnector translate="title" module="freento_aconnector">
36
  <title><![CDATA[Analytics &amp; Reports]]></title>
37
+ <sort_order>0</sort_order>
38
+ <action>adminhtml/aconnector_service/connect</action>
39
  </freento_aconnector>
40
  </children>
41
  </report>
app/code/community/Freento/Aconnector/etc/config.xml CHANGED
@@ -2,7 +2,7 @@
2
  <config>
3
  <modules>
4
  <Freento_Aconnector>
5
- <version>1.0.2.2</version>
6
  </Freento_Aconnector>
7
  </modules>
8
  <global>
@@ -67,7 +67,7 @@
67
  <adminhtml>
68
  <args>
69
  <modules>
70
- <freentoaconnectoradmin before="Mage_Adminhtml">Freento_Aconnector_Adminhtml</freentoaconnectoradmin>
71
  </modules>
72
  </args>
73
  </adminhtml>
2
  <config>
3
  <modules>
4
  <Freento_Aconnector>
5
+ <version>1.0.3</version>
6
  </Freento_Aconnector>
7
  </modules>
8
  <global>
67
  <adminhtml>
68
  <args>
69
  <modules>
70
+ <aconnector before="Mage_Adminhtml">Freento_Aconnector_Adminhtml</aconnector>
71
  </modules>
72
  </args>
73
  </adminhtml>
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>analytics-and-reports</name>
4
- <version>1.0.2.2</version>
5
  <stability>stable</stability>
6
  <license uri="http://freento.com/license.html">Freento.com license</license>
7
  <channel>community</channel>
@@ -10,9 +10,9 @@
10
  <description>Freento Analytics &amp; Reports extension for Magento. Allows to analyze live Magento store</description>
11
  <notes>Freento Analytics &amp; Reports extension for Magento. Allows to analyze live Magento store</notes>
12
  <authors><author><name>Freento.com</name><user>Freento</user><email>support@freento.com</email></author></authors>
13
- <date>2016-10-31</date>
14
- <time>16:31:13</time>
15
- <contents><target name="magecommunity"><dir name="Freento"><dir name="Aconnector"><dir name="Block"><dir name="Adminhtml"><dir name="System"><dir name="Config"><dir name="Form"><file name="Disconnect.php" hash="f2c941c43f56f4a645907edc9b219322"/></dir></dir></dir></dir></dir><dir name="Controller"><file name="Abstract.php" hash="c148d0897f0632608342d988ded7679d"/></dir><file name="Crypt.php" hash="7f5383aa5f67a861f5d11506c26a98dd"/><dir name="Helper"><file name="Data.php" hash="2d5fba11d22c37cf1bf76e87bf0890f0"/></dir><dir name="Model"><file name="Aconnector.php" hash="2bfa93dd6895205b5fa16781f343bae7"/><dir name="Customer"><file name="Group.php" hash="b4abaad78527d0e6238b47daa127c4e0"/></dir><file name="Customer.php" hash="751006e79f343a3f6226fef78dcefc51"/><file name="Keys.php" hash="e04ff51afa99f3d8d2dba3e90d85ff19"/><file name="Log.php" hash="a8f927a896b37b755cc7e806527518a6"/><file name="Order.php" hash="18f180332401bbbd9fa9250121594961"/><file name="Product.php" hash="3c6f4d2d16e91c8af6af3c8bfbf8a116"/><dir name="Report"><file name="Abstract.php" hash="ed5263b45f63d8b0d63316dbc2154e0d"/><file name="AllCustomers.php" hash="89795190f055d5f80ab85d9d12749b84"/><file name="AllProducts.php" hash="7cbabab3219575c1b95c298b7e968f50"/><file name="BestCategory.php" hash="0b34a2dc5a215d64e385870acade46ef"/><file name="BestCoupons.php" hash="e7dc3b5ccb587915e9326976c49c018d"/><file name="Bestsellers.php" hash="61598e5629e708cc85c05de2eb7722c1"/><file name="Comparable.php" hash="baf2b5469417dd21a62057c48279fbb4"/><file name="CustomerPurchases.php" hash="cd79762ec0a9b9900eeedd42387d22fb"/><file name="DaysForTheFirstPurchase.php" hash="57ab11f436336886bf223402b065aacc"/><dir name="Grouped"><file name="Abstract.php" hash="dce3a5d4913a2b3be523dc21209c8c2d"/></dir><file name="MostRefunded.php" hash="cde29cc83fd0718db3254e0e1ac2cc17"/><file name="NewCustomersByPeriod.php" hash="49648fa2dbdd7ada7c577bf000db0f88"/><file name="ProductsByCustomer.php" hash="8d62a1238b646112d524f2394ed88019"/><file name="RefundsPercent.php" hash="3e20337b1923088b883ee715409d78af"/><file name="Sales.php" hash="4995e4abd2fc27e9a64e838002989725"/><file name="SalesByCategory.php" hash="80ee21055a58ef9d7025983da84289c9"/><file name="SalesByCountry.php" hash="2fd1d9e5869081e102aff12bc33abaff"/><file name="SalesByCustomer.php" hash="684b892193a28cfafebf1b6cc1bd2286"/><file name="SalesByCustomerGroup.php" hash="cf78058322a52b640eb0d498d627e1d2"/><file name="SalesByDayOfWeek.php" hash="7905703253012838532bc03e49acc1f9"/><file name="SalesByHour.php" hash="bbb2af36c59e35c907c4eee02de991a7"/><file name="SalesByMonth.php" hash="18b2704c19d6cf36dd3af7268c2a964d"/><file name="SalesByPeriodOfTime.php" hash="e381a045488cd40581ead10feb5f906e"/><file name="SalesByProduct.php" hash="4a0856ade173bf5ec49dc2b5f76e6354"/><file name="SalesByQuarter.php" hash="8a69485150620316a145567e7730160c"/><file name="SalesByState.php" hash="4e85aef8ab322d506aafdb679df538f8"/><file name="SalesByWeek.php" hash="dfa5268f3f52b83697c25aea05c9b9fc"/><file name="SalesByYear.php" hash="21e87b6af89d5a69b1b2827273eafc36"/><file name="SalesDetailed.php" hash="76873c534a0f25ac849133508f462b68"/></dir><dir name="Resource"><dir name="Keys"><file name="Collection.php" hash="809f804e953941c65d66f013d40aebcd"/></dir><file name="Keys.php" hash="5f0521ded6e1e9737928f7506098edb7"/></dir></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Freentoaconnectoradmin"><file name="ServiceController.php" hash="caf2ae746e2673ef0a1e2564e883a8eb"/><dir name="System"><file name="ConfigController.php" hash="3c0e78c8a8049ab56fc3224c77574969"/></dir></dir></dir><file name="CustomerController.php" hash="e3214f8885f340dca32d426dd633c508"/><file name="CustomerGroupController.php" hash="72a43f857d480d816a5aa750f9e85681"/><file name="IndexController.php" hash="544d275d3b410e0f7b911f4a41ebe3db"/><file name="OrderController.php" hash="65dba278031a5395b019e247489fd544"/><file name="ProductController.php" hash="4850a1a5734cbf8a842e0496f04fc861"/></dir><dir name="etc"><file name="adminhtml.xml" hash="a1ea66a062b6cd359a9472d319a2cde0"/><file name="config.xml" hash="e4f23b5e447c2cb490e11f826813dcaa"/><file name="system.xml" hash="444a8a52b246e3f2b74a7ef317089f7a"/></dir><dir name="sql"><dir name="freento_aconnector_setup"><file name="install-1.0.0.php" hash="66abb5f00fc54e2f643ab4c059e84cad"/><file name="upgrade-1.0.0-1.0.1.php" hash="55e5753b95fd1077d6b77510bab52d5e"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Freento_Aconnector.xml" hash="6ed931f4a1d7db685e90488895278de7"/></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="freento"><dir name="aconnector"><file name="connect.phtml" hash="97819d04417b56226ac41898e158d139"/></dir></dir></dir></dir></dir></dir></target></contents>
16
  <compatible/>
17
  <dependencies><required><php><min>5.4.0</min><max>7.1.0</max></php></required></dependencies>
18
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>analytics-and-reports</name>
4
+ <version>1.0.3</version>
5
  <stability>stable</stability>
6
  <license uri="http://freento.com/license.html">Freento.com license</license>
7
  <channel>community</channel>
10
  <description>Freento Analytics &amp; Reports extension for Magento. Allows to analyze live Magento store</description>
11
  <notes>Freento Analytics &amp; Reports extension for Magento. Allows to analyze live Magento store</notes>
12
  <authors><author><name>Freento.com</name><user>Freento</user><email>support@freento.com</email></author></authors>
13
+ <date>2016-11-21</date>
14
+ <time>16:29:55</time>
15
+ <contents><target name="magecommunity"><dir name="Freento"><dir name="Aconnector"><dir name="Block"><dir name="Adminhtml"><dir name="System"><dir name="Config"><dir name="Form"><file name="Disconnect.php" hash="651e6959c0db650abc6899caf9aa537b"/></dir></dir></dir></dir></dir><dir name="Controller"><file name="Abstract.php" hash="c148d0897f0632608342d988ded7679d"/></dir><file name="Crypt.php" hash="7f5383aa5f67a861f5d11506c26a98dd"/><dir name="Helper"><file name="Data.php" hash="2d5fba11d22c37cf1bf76e87bf0890f0"/></dir><dir name="Model"><file name="Aconnector.php" hash="2bfa93dd6895205b5fa16781f343bae7"/><dir name="Customer"><file name="Group.php" hash="b4abaad78527d0e6238b47daa127c4e0"/></dir><file name="Customer.php" hash="751006e79f343a3f6226fef78dcefc51"/><file name="Keys.php" hash="e04ff51afa99f3d8d2dba3e90d85ff19"/><file name="Log.php" hash="a8f927a896b37b755cc7e806527518a6"/><file name="Order.php" hash="18f180332401bbbd9fa9250121594961"/><file name="Product.php" hash="25acdeb763a251631092bb4061428607"/><dir name="Report"><file name="Abstract.php" hash="12bb3208366ccbad625431034e751230"/><file name="AllCustomers.php" hash="89795190f055d5f80ab85d9d12749b84"/><file name="AllProducts.php" hash="a90d2f72ac500ff2d35b6007c6be3472"/><file name="BestCategory.php" hash="38e1f073bf8494c5aa7e9961ed4bc9f3"/><file name="BestCoupons.php" hash="80804921b41091d666b6ba2b740e3173"/><file name="Bestsellers.php" hash="c78b35272c4c2b5bd4542a7d66759b29"/><file name="Comparable.php" hash="baf2b5469417dd21a62057c48279fbb4"/><file name="DaysForTheFirstPurchase.php" hash="57ab11f436336886bf223402b065aacc"/><dir name="Grouped"><file name="Abstract.php" hash="6c3c79b9b05f29654105128c068da98d"/></dir><file name="MostRefunded.php" hash="145bd8c11a115781b25389acbf525b67"/><file name="NewCustomersByPeriod.php" hash="49648fa2dbdd7ada7c577bf000db0f88"/><file name="RefundsPercent.php" hash="c5cb18e4c67a15b50153fe090e92b235"/><file name="Sales.php" hash="1b51963a1141683f86ad86214e6f0e4e"/><file name="SalesByCountry.php" hash="ad2aea6bf393986527474692eddec8c2"/><file name="SalesByCustomer.php" hash="5d9ac64e37748639b4b36e0238ac2d08"/><file name="SalesByCustomerGroup.php" hash="cfef14cff5625f063f925cdfbf6cdcf6"/><file name="SalesByProduct.php" hash="7538ede25380d3b85a8697cb7a1bef5f"/><file name="SalesByState.php" hash="482cf50529ff92ebc77aa0be51ff05a0"/><file name="SalesDetailed.php" hash="76873c534a0f25ac849133508f462b68"/></dir><dir name="Resource"><dir name="Keys"><file name="Collection.php" hash="809f804e953941c65d66f013d40aebcd"/></dir><file name="Keys.php" hash="5f0521ded6e1e9737928f7506098edb7"/></dir></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Aconnector"><file name="ServiceController.php" hash="981a8dc5bf3547dd93c2b02df93aa3c0"/><dir name="System"><file name="ConfigController.php" hash="1604f513c32c7e1abb3a17a3c55ffe45"/></dir></dir></dir><file name="CustomerController.php" hash="e3214f8885f340dca32d426dd633c508"/><file name="CustomerGroupController.php" hash="72a43f857d480d816a5aa750f9e85681"/><file name="IndexController.php" hash="49834e6023625f129d0d1a3f072afe2b"/><file name="OrderController.php" hash="65dba278031a5395b019e247489fd544"/><file name="ProductController.php" hash="4850a1a5734cbf8a842e0496f04fc861"/><file name="ReportController.php" hash="13e5501ce361b59d35ebe65ff13e0da1"/><file name="StoreController.php" hash="274ef2300e5692cb916bbf78e28a3676"/></dir><dir name="etc"><file name="adminhtml.xml" hash="64cf93956e5dd5182170a9c465533415"/><file name="config.xml" hash="c18ae105a5ecd4bcf9939d5553a9ed38"/><file name="system.xml" hash="444a8a52b246e3f2b74a7ef317089f7a"/></dir><dir name="sql"><dir name="freento_aconnector_setup"><file name="install-1.0.0.php" hash="66abb5f00fc54e2f643ab4c059e84cad"/><file name="upgrade-1.0.0-1.0.1.php" hash="55e5753b95fd1077d6b77510bab52d5e"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Freento_Aconnector.xml" hash="6ed931f4a1d7db685e90488895278de7"/></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="freento"><dir name="aconnector"><file name="connect.phtml" hash="97819d04417b56226ac41898e158d139"/></dir></dir></dir></dir></dir></dir></target></contents>
16
  <compatible/>
17
  <dependencies><required><php><min>5.4.0</min><max>7.1.0</max></php></required></dependencies>
18
  </package>