Version Notes
Added support for product attributes
Download this release
Release Info
Developer | Eduard G. Dumitrescu |
Extension | Intelivemetrics_Unityreports |
Version | 0.8.1 |
Comparing to | |
See all releases |
Code changes from version 0.8.0 to 0.8.1
- app/code/community/Intelivemetrics/Unityreports/Model/Admin/Status/Attributes.php +24 -0
- app/code/community/Intelivemetrics/Unityreports/Model/Admin/Status/Cron.php +2 -2
- app/code/community/Intelivemetrics/Unityreports/Model/Admin/Status/Sync/Customers.php +20 -0
- app/code/community/Intelivemetrics/Unityreports/Model/Admin/Status/Sync/Invoices.php +22 -0
- app/code/community/Intelivemetrics/Unityreports/Model/Admin/Status/Sync/Orders.php +22 -0
- app/code/community/Intelivemetrics/Unityreports/Model/Admin/Status/Sync/Products.php +20 -0
- app/code/community/Intelivemetrics/Unityreports/Model/Admin/Status/SyncPercent.php +66 -0
- app/code/community/Intelivemetrics/Unityreports/Model/Admin/Status/UseShipping.php +22 -0
- app/code/community/Intelivemetrics/Unityreports/Model/Cron/Stock.php +90 -0
- app/code/community/Intelivemetrics/Unityreports/Model/Cron/Sync.php +1 -7
- app/code/community/Intelivemetrics/Unityreports/Model/Sync/Invoice.php +2 -1
- app/code/community/Intelivemetrics/Unityreports/Model/Sync/Order.php +25 -11
- app/code/community/Intelivemetrics/Unityreports/Model/Sync/Product.php +38 -10
- app/code/community/Intelivemetrics/Unityreports/Model/Utils.php +43 -19
- app/code/community/Intelivemetrics/Unityreports/controllers/IndexController.php +0 -2
- app/code/community/Intelivemetrics/Unityreports/controllers/TestController.php +60 -3
- app/code/community/Intelivemetrics/Unityreports/etc/config.xml +13 -13
- app/code/community/Intelivemetrics/Unityreports/etc/system.xml +53 -1
- app/code/community/Intelivemetrics/Unityreports/sql/unityreports_setup/mysql4-install-0.7.2.php +1 -1
- app/code/community/Intelivemetrics/Unityreports/sql/unityreports_setup/mysql4-install-0.7.3.php +1 -1
- package.xml +5 -5
app/code/community/Intelivemetrics/Unityreports/Model/Admin/Status/Attributes.php
ADDED
@@ -0,0 +1,24 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Options for on/off selector
|
5 |
+
*
|
6 |
+
* @category Unityreports
|
7 |
+
* @package Intelivemetrics_Unityreports
|
8 |
+
* @copyright Copyright (c) 2014 Intelive Metrics Srl
|
9 |
+
* @author Eduard Gabriel Dumitrescu (balaur@gmail.com)
|
10 |
+
*/
|
11 |
+
class Intelivemetrics_Unityreports_Model_Admin_Status_Attributes extends Mage_Core_Model_Abstract {
|
12 |
+
|
13 |
+
public function toOptionArray() {
|
14 |
+
$attributes = Mage::getResourceModel('catalog/product_attribute_collection')
|
15 |
+
->addFieldToFilter('is_user_defined', 1)
|
16 |
+
->getItems();
|
17 |
+
foreach ($attributes as $attribute) {
|
18 |
+
$attrib_data[] = array('value' => $attribute->getAttributeCode(), 'label' => $attribute->getData('frontend_label'));
|
19 |
+
}
|
20 |
+
|
21 |
+
return $attrib_data;
|
22 |
+
}
|
23 |
+
|
24 |
+
}
|
app/code/community/Intelivemetrics/Unityreports/Model/Admin/Status/Cron.php
CHANGED
@@ -41,9 +41,9 @@ class Intelivemetrics_Unityreports_Model_Admin_Status_Cron extends Mage_Core_Mod
|
|
41 |
$status = self::getStatus();
|
42 |
if (is_array($status)) {
|
43 |
if ($status['status'] == 0) {
|
44 |
-
return 'Inactive';
|
45 |
} elseif ($status['status'] == 1) {
|
46 |
-
return 'Active - last executed at:' . $status['executed_at'];
|
47 |
}
|
48 |
}
|
49 |
|
41 |
$status = self::getStatus();
|
42 |
if (is_array($status)) {
|
43 |
if ($status['status'] == 0) {
|
44 |
+
return '<b>Inactive</b>';
|
45 |
} elseif ($status['status'] == 1) {
|
46 |
+
return '<b>Active</b> - last executed at:' . $status['executed_at'];
|
47 |
}
|
48 |
}
|
49 |
|
app/code/community/Intelivemetrics/Unityreports/Model/Admin/Status/Sync/Customers.php
ADDED
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Description of Orders
|
5 |
+
*
|
6 |
+
* @author Eddie
|
7 |
+
* @date
|
8 |
+
*/
|
9 |
+
class Intelivemetrics_Unityreports_Model_Admin_Status_Sync_Customers extends Intelivemetrics_Unityreports_Model_Admin_Status_SyncPercent {
|
10 |
+
|
11 |
+
protected $_base_tbl = null;
|
12 |
+
protected $_unity_tbl = null;
|
13 |
+
|
14 |
+
public function __construct() {
|
15 |
+
$this->_base_tbl = Mage::getSingleton('unityreports/utils')->getTableName('customer/entity');
|
16 |
+
$this->_unity_tbl = Mage::getSingleton('unityreports/utils')->getTableName('unityreports/customers');
|
17 |
+
parent::__construct();
|
18 |
+
}
|
19 |
+
|
20 |
+
}
|
app/code/community/Intelivemetrics/Unityreports/Model/Admin/Status/Sync/Invoices.php
ADDED
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Checks status of the sync cron
|
5 |
+
*
|
6 |
+
* @category Unityreports
|
7 |
+
* @package Intelivemetrics_Unityreports
|
8 |
+
* @copyright Copyright (c) 2014 Intelive Metrics Srl
|
9 |
+
* @author Eduard Gabriel Dumitrescu (balaur@gmail.com)
|
10 |
+
*/
|
11 |
+
class Intelivemetrics_Unityreports_Model_Admin_Status_Sync_Invoices extends Intelivemetrics_Unityreports_Model_Admin_Status_SyncPercent {
|
12 |
+
|
13 |
+
protected $_base_tbl = null;
|
14 |
+
protected $_unity_tbl = null;
|
15 |
+
|
16 |
+
public function __construct() {
|
17 |
+
$this->_base_tbl = Mage::getSingleton('unityreports/utils')->getTableName('sales/invoice');
|
18 |
+
$this->_unity_tbl = Mage::getSingleton('unityreports/utils')->getTableName('unityreports/invoices');
|
19 |
+
parent::__construct();
|
20 |
+
}
|
21 |
+
|
22 |
+
}
|
app/code/community/Intelivemetrics/Unityreports/Model/Admin/Status/Sync/Orders.php
ADDED
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Checks status of the sync cron
|
5 |
+
*
|
6 |
+
* @category Unityreports
|
7 |
+
* @package Intelivemetrics_Unityreports
|
8 |
+
* @copyright Copyright (c) 2014 Intelive Metrics Srl
|
9 |
+
* @author Eduard Gabriel Dumitrescu (balaur@gmail.com)
|
10 |
+
*/
|
11 |
+
class Intelivemetrics_Unityreports_Model_Admin_Status_Sync_Orders extends Intelivemetrics_Unityreports_Model_Admin_Status_SyncPercent {
|
12 |
+
|
13 |
+
protected $_base_tbl = null;
|
14 |
+
protected $_unity_tbl = null;
|
15 |
+
|
16 |
+
public function __construct() {
|
17 |
+
$this->_base_tbl = Mage::getSingleton('unityreports/utils')->getTableName('sales/order');
|
18 |
+
$this->_unity_tbl = Mage::getSingleton('unityreports/utils')->getTableName('unityreports/orders');
|
19 |
+
parent::__construct();
|
20 |
+
}
|
21 |
+
|
22 |
+
}
|
app/code/community/Intelivemetrics/Unityreports/Model/Admin/Status/Sync/Products.php
ADDED
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Description of Orders
|
5 |
+
*
|
6 |
+
* @author Eddie
|
7 |
+
* @date
|
8 |
+
*/
|
9 |
+
class Intelivemetrics_Unityreports_Model_Admin_Status_Sync_Products extends Intelivemetrics_Unityreports_Model_Admin_Status_SyncPercent {
|
10 |
+
|
11 |
+
protected $_base_tbl = null;
|
12 |
+
protected $_unity_tbl = null;
|
13 |
+
|
14 |
+
public function __construct() {
|
15 |
+
$this->_base_tbl = Mage::getSingleton('unityreports/utils')->getTableName('catalog/product');
|
16 |
+
$this->_unity_tbl = Mage::getSingleton('unityreports/utils')->getTableName('unityreports/products');
|
17 |
+
parent::__construct();
|
18 |
+
}
|
19 |
+
|
20 |
+
}
|
app/code/community/Intelivemetrics/Unityreports/Model/Admin/Status/SyncPercent.php
ADDED
@@ -0,0 +1,66 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Base class for sync percent
|
5 |
+
*
|
6 |
+
* @category Unityreports
|
7 |
+
* @package Intelivemetrics_Unityreports
|
8 |
+
* @copyright Copyright (c) 2016 Intelive Metrics Srl
|
9 |
+
* @author Eduard Gabriel Dumitrescu (balaur@gmail.com)
|
10 |
+
*/
|
11 |
+
|
12 |
+
class Intelivemetrics_Unityreports_Model_Admin_Status_SyncPercent extends Mage_Core_Model_Abstract {
|
13 |
+
|
14 |
+
protected $_base_tbl=null;
|
15 |
+
protected $_unity_tbl=null;
|
16 |
+
|
17 |
+
public function setBaseTbl($t){
|
18 |
+
$this->_base_tbl = $t;
|
19 |
+
return $this;
|
20 |
+
}
|
21 |
+
|
22 |
+
public function getBaseTbl(){
|
23 |
+
return $this->_base_tbl;
|
24 |
+
}
|
25 |
+
|
26 |
+
public function setUnityTbl($t){
|
27 |
+
$this->_unity_tbl = $t;
|
28 |
+
return $this;
|
29 |
+
}
|
30 |
+
|
31 |
+
public function getUnityTbl(){
|
32 |
+
return $this->_unity_tbl;
|
33 |
+
}
|
34 |
+
|
35 |
+
protected function _getItemsCount($table) {
|
36 |
+
$helper = Mage::helper('unityreports');
|
37 |
+
$db = Mage::getSingleton('unityreports/utils')->getDb();
|
38 |
+
$result = $db->query($query = "SELECT COUNT(*) as c FROM {$table}");
|
39 |
+
|
40 |
+
if (!$result) {
|
41 |
+
$helper->debug("Cannot query: {$query}");
|
42 |
+
return FALSE;
|
43 |
+
}
|
44 |
+
|
45 |
+
$row = $result->fetch(PDO::FETCH_ASSOC);
|
46 |
+
if (!$row) {
|
47 |
+
return 0;
|
48 |
+
}
|
49 |
+
|
50 |
+
return $row['c'];
|
51 |
+
}
|
52 |
+
|
53 |
+
public function toHtml() {
|
54 |
+
$total = $this->_getItemsCount($this->getBaseTbl());
|
55 |
+
$done = $this->_getItemsCount($this->getUnityTbl());
|
56 |
+
if($done>$total) $done=$total;
|
57 |
+
$perc = round($done*100/$total,2);
|
58 |
+
|
59 |
+
return "<b>{$perc}%</b> - synced {$done} items out of {$total} ";
|
60 |
+
|
61 |
+
}
|
62 |
+
|
63 |
+
public function toOptionArray() {
|
64 |
+
return array();
|
65 |
+
}
|
66 |
+
}
|
app/code/community/Intelivemetrics/Unityreports/Model/Admin/Status/UseShipping.php
ADDED
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
*
|
5 |
+
* @category Unityreports
|
6 |
+
* @package Intelivemetrics_Unityreports
|
7 |
+
* @copyright Copyright (c) 2014 Intelive Metrics Srl
|
8 |
+
* @author Eduard Gabriel Dumitrescu (balaur@gmail.com)
|
9 |
+
*/
|
10 |
+
|
11 |
+
class Intelivemetrics_Unityreports_Model_Admin_Status_UseShipping extends Mage_Core_Model_Abstract {
|
12 |
+
|
13 |
+
public function toOptionArray()
|
14 |
+
{
|
15 |
+
return array(
|
16 |
+
array('value'=>1, 'label'=>'Use invoice data'),
|
17 |
+
array('value'=>2, 'label'=>'Use shipping data')
|
18 |
+
);
|
19 |
+
|
20 |
+
}
|
21 |
+
|
22 |
+
}
|
app/code/community/Intelivemetrics/Unityreports/Model/Cron/Stock.php
ADDED
@@ -0,0 +1,90 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Syncs prod stock
|
5 |
+
*
|
6 |
+
* @category Unityreports
|
7 |
+
* @package Intelivemetrics_Unityreports
|
8 |
+
* @copyright Copyright (c) 2014 Intelive Metrics Srl
|
9 |
+
* @author Eduard Gabriel Dumitrescu (balaur@gmail.com)
|
10 |
+
*/
|
11 |
+
class Intelivemetrics_Unityreports_Model_Cron_Stock extends Intelivemetrics_Unityreports_Model_Cron {
|
12 |
+
|
13 |
+
/**
|
14 |
+
* Called with magento cron
|
15 |
+
* @return boolean
|
16 |
+
* @assert () == true
|
17 |
+
*/
|
18 |
+
public function runSync() {
|
19 |
+
$helper = Mage::helper('unityreports');
|
20 |
+
$helper->debug('*******NEW STOCK SYNC*******');
|
21 |
+
try {
|
22 |
+
//Check app status before syncing
|
23 |
+
if (!$this->_appIsOk()) {
|
24 |
+
$helper->debug('Endpoint is not receiving');
|
25 |
+
return false;
|
26 |
+
}
|
27 |
+
|
28 |
+
//get a soap client
|
29 |
+
$client = $this->_getClient();
|
30 |
+
|
31 |
+
//get token
|
32 |
+
$responseToken = json_decode($client->getToken(
|
33 |
+
$helper->getApiKey(), $helper->getApiSecret(), $helper->getLicenseKey()
|
34 |
+
));
|
35 |
+
if ($responseToken->code != 'OK') {
|
36 |
+
$helper->debug('Cannot get a valid Token.' . $responseToken->msg);
|
37 |
+
return false;
|
38 |
+
}
|
39 |
+
|
40 |
+
//send data
|
41 |
+
$data = $this->_getData();
|
42 |
+
$blob = Intelivemetrics_Unityreports_Model_Utils::prepareDataForSending($data);
|
43 |
+
$helper->debug('STRING length' . mb_strlen($blob));
|
44 |
+
$client->post(
|
45 |
+
$responseToken->msg, array(
|
46 |
+
'type' => 'STOCK',
|
47 |
+
'data' => $blob,
|
48 |
+
'license' => $helper->getLicenseKey()
|
49 |
+
)
|
50 |
+
);
|
51 |
+
$helper->debug('Ok - sent ' . count($data['stock']) . ' stock counters');
|
52 |
+
|
53 |
+
return true;
|
54 |
+
} catch (Exception $e) {
|
55 |
+
$helper->debug($e, Zend_Log::ERR);
|
56 |
+
$helper->debug('FILE: ' . __FILE__ . 'LINE: ' . __LINE__);
|
57 |
+
return false;
|
58 |
+
}
|
59 |
+
}
|
60 |
+
|
61 |
+
/**
|
62 |
+
* Get all stock data > 0
|
63 |
+
* @return array associativo contenente i dati
|
64 |
+
*/
|
65 |
+
protected function _getData() {
|
66 |
+
$helper = Mage::helper('unityreports');
|
67 |
+
$db = Mage::getSingleton('unityreports/utils')->getDb();
|
68 |
+
$table = Mage::getSingleton('unityreports/utils')->getTableName('cataloginventory/stock_item');
|
69 |
+
$sql = "SELECT product_id as id, SUM(qty) as s FROM {$table} GROUP BY product_id HAVING s>0";
|
70 |
+
|
71 |
+
try {
|
72 |
+
$result = $db->query($sql);
|
73 |
+
|
74 |
+
if (!$result) {
|
75 |
+
$helper->debug("Cannot query: {$sql}");
|
76 |
+
return FALSE;
|
77 |
+
}
|
78 |
+
|
79 |
+
return array(
|
80 |
+
'date' => date('Y-m-d'),
|
81 |
+
'stock' => $result->fetchAll(PDO::FETCH_ASSOC)
|
82 |
+
);
|
83 |
+
} catch (Exception $ex) {
|
84 |
+
$helper->debug($ex, Zend_Log::ERR);
|
85 |
+
$helper->debug('FILE: ' . __FILE__ . 'LINE: ' . __LINE__);
|
86 |
+
return null;
|
87 |
+
}
|
88 |
+
}
|
89 |
+
|
90 |
+
}
|
app/code/community/Intelivemetrics/Unityreports/Model/Cron/Sync.php
CHANGED
@@ -31,19 +31,12 @@ extends Intelivemetrics_Unityreports_Model_Cron{
|
|
31 |
//sync prods & variations
|
32 |
if (($res1 = Mage::getModel('unityreports/sync_product')->runSync()) !== Intelivemetrics_Unityreports_Model_Sync::NOTHING_TO_SYNC) {
|
33 |
$helper->debug('OK syncing products');
|
34 |
-
}
|
35 |
-
if (($res2 = Mage::getModel('unityreports/sync_productVariation')->runSync()) !== Intelivemetrics_Unityreports_Model_Sync::NOTHING_TO_SYNC) {
|
36 |
-
$helper->debug('OK syncing product variations');
|
37 |
-
}
|
38 |
-
if ($res1 !== Intelivemetrics_Unityreports_Model_Sync::NOTHING_TO_SYNC || $res2 !== Intelivemetrics_Unityreports_Model_Sync::NOTHING_TO_SYNC) {
|
39 |
return true;
|
40 |
}
|
41 |
|
42 |
//sync customers
|
43 |
if (($res1 = Mage::getModel('unityreports/sync_customer')->runSync()) !== Intelivemetrics_Unityreports_Model_Sync::NOTHING_TO_SYNC) {
|
44 |
$helper->debug('OK syncing customers');
|
45 |
-
}
|
46 |
-
if ($res1 !== Intelivemetrics_Unityreports_Model_Sync::NOTHING_TO_SYNC) {
|
47 |
return true;
|
48 |
}
|
49 |
|
@@ -76,6 +69,7 @@ extends Intelivemetrics_Unityreports_Model_Cron{
|
|
76 |
if ($res2 !== Intelivemetrics_Unityreports_Model_Sync::NOTHING_TO_SYNC) {
|
77 |
return true;
|
78 |
}
|
|
|
79 |
} catch (Exception $e) {
|
80 |
$helper->debug($e, Zend_Log::ERR);
|
81 |
return false;
|
31 |
//sync prods & variations
|
32 |
if (($res1 = Mage::getModel('unityreports/sync_product')->runSync()) !== Intelivemetrics_Unityreports_Model_Sync::NOTHING_TO_SYNC) {
|
33 |
$helper->debug('OK syncing products');
|
|
|
|
|
|
|
|
|
|
|
34 |
return true;
|
35 |
}
|
36 |
|
37 |
//sync customers
|
38 |
if (($res1 = Mage::getModel('unityreports/sync_customer')->runSync()) !== Intelivemetrics_Unityreports_Model_Sync::NOTHING_TO_SYNC) {
|
39 |
$helper->debug('OK syncing customers');
|
|
|
|
|
40 |
return true;
|
41 |
}
|
42 |
|
69 |
if ($res2 !== Intelivemetrics_Unityreports_Model_Sync::NOTHING_TO_SYNC) {
|
70 |
return true;
|
71 |
}
|
72 |
+
|
73 |
} catch (Exception $e) {
|
74 |
$helper->debug($e, Zend_Log::ERR);
|
75 |
return false;
|
app/code/community/Intelivemetrics/Unityreports/Model/Sync/Invoice.php
CHANGED
@@ -67,7 +67,7 @@ class Intelivemetrics_Unityreports_Model_Sync_Invoice extends Intelivemetrics_Un
|
|
67 |
$ordersTableMage = Intelivemetrics_Unityreports_Model_Utils::getTableName('sales_flat_order');
|
68 |
$now = date('Y-m-d H:i:s');
|
69 |
try {
|
70 |
-
if (
|
71 |
$collection = Mage::getModel('sales/order_shipment')->getCollection()
|
72 |
->addAttributeToSelect('*');
|
73 |
$collection->getSelect()
|
@@ -83,6 +83,7 @@ class Intelivemetrics_Unityreports_Model_Sync_Invoice extends Intelivemetrics_Un
|
|
83 |
->joinLeft(array('orders' => $ordersTableMage), "orders.entity_id=main_table.order_id", array('o_increment_id' => 'increment_id'))
|
84 |
->where("main_table.increment_id NOT IN (SELECT increment_id FROM $invoicesTable WHERE synced=1 OR sents>={$this->getMaxSents()} OR TIMESTAMPDIFF(MINUTE,last_sent_at,'{$now}')<60)")
|
85 |
->where("orders.increment_id IN (SELECT increment_id FROM $ordersTable WHERE synced=1)")
|
|
|
86 |
->limit($limit)
|
87 |
;
|
88 |
}
|
67 |
$ordersTableMage = Intelivemetrics_Unityreports_Model_Utils::getTableName('sales_flat_order');
|
68 |
$now = date('Y-m-d H:i:s');
|
69 |
try {
|
70 |
+
if (Mage::getStoreConfig('unityreports/advanced/use_shipping')==2) {
|
71 |
$collection = Mage::getModel('sales/order_shipment')->getCollection()
|
72 |
->addAttributeToSelect('*');
|
73 |
$collection->getSelect()
|
83 |
->joinLeft(array('orders' => $ordersTableMage), "orders.entity_id=main_table.order_id", array('o_increment_id' => 'increment_id'))
|
84 |
->where("main_table.increment_id NOT IN (SELECT increment_id FROM $invoicesTable WHERE synced=1 OR sents>={$this->getMaxSents()} OR TIMESTAMPDIFF(MINUTE,last_sent_at,'{$now}')<60)")
|
85 |
->where("orders.increment_id IN (SELECT increment_id FROM $ordersTable WHERE synced=1)")
|
86 |
+
->where("main_table.created_at > '2014-01-01'")//HMIZATE
|
87 |
->limit($limit)
|
88 |
;
|
89 |
}
|
app/code/community/Intelivemetrics/Unityreports/Model/Sync/Order.php
CHANGED
@@ -1,6 +1,5 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
|
4 |
/**
|
5 |
* Send orders data
|
6 |
*
|
@@ -9,8 +8,6 @@
|
|
9 |
* @copyright Copyright (c) 2014 Intelive Metrics Srl
|
10 |
* @author Eduard Gabriel Dumitrescu (balaur@gmail.com)
|
11 |
*/
|
12 |
-
|
13 |
-
|
14 |
class Intelivemetrics_Unityreports_Model_Sync_Order extends Intelivemetrics_Unityreports_Model_Sync implements Intelivemetrics_Unityreports_Model_Sync_Interface {
|
15 |
|
16 |
const ENTITY_TYPE = 'sales_order';
|
@@ -92,21 +89,22 @@ class Intelivemetrics_Unityreports_Model_Sync_Order extends Intelivemetrics_Unit
|
|
92 |
->limit($limit)
|
93 |
;
|
94 |
//$helper->debug($collection->getSelectSql()->__toString());
|
95 |
-
|
96 |
-
|
97 |
// nothing to sync get out
|
98 |
if (count($collection) == 0) {
|
99 |
$helper->debug('No order data found to sync', Zend_Log::INFO);
|
100 |
return null;
|
101 |
}
|
102 |
|
|
|
|
|
|
|
103 |
// pack order data
|
104 |
$data = array();
|
105 |
$order_count = 0;
|
106 |
$category = Mage::getModel('catalog/category');
|
107 |
foreach ($collection as $order) {
|
108 |
$attributes = $order->getData();
|
109 |
-
|
110 |
try {
|
111 |
$currency = $attributes['order_currency_code'];
|
112 |
|
@@ -117,6 +115,8 @@ class Intelivemetrics_Unityreports_Model_Sync_Order extends Intelivemetrics_Unit
|
|
117 |
'coupon_code' => $attributes['coupon_code'],
|
118 |
'store_id' => $attributes['store_id'],
|
119 |
'customer_id' => $attributes['customer_id'],
|
|
|
|
|
120 |
'customer_group' => $this->_getGroupCode($attributes['group_id']),
|
121 |
'grand_total' => $attributes['grand_total'],
|
122 |
'shipping_amount' => $attributes['shipping_amount'],
|
@@ -135,7 +135,7 @@ class Intelivemetrics_Unityreports_Model_Sync_Order extends Intelivemetrics_Unit
|
|
135 |
'medium' => $attributes['medium'],
|
136 |
'content' => $attributes['content'],
|
137 |
'campaign' => $attributes['campaign'],
|
138 |
-
'payment_method' => $order->getPayment()->getMethod()
|
139 |
);
|
140 |
|
141 |
// indirizzo di spedizione
|
@@ -185,7 +185,7 @@ class Intelivemetrics_Unityreports_Model_Sync_Order extends Intelivemetrics_Unit
|
|
185 |
|
186 |
//recupera path categorie, solo della prima categoria associata
|
187 |
//TODO: what if no category info is available? put some fake cateogry like UNKNOWN
|
188 |
-
if (
|
189 |
$mainCategory = $product->getCategoryCollection()->getFirstItem();
|
190 |
$ids = array_reverse($mainCategory->getPathIds());
|
191 |
$counter = 1;
|
@@ -205,7 +205,7 @@ class Intelivemetrics_Unityreports_Model_Sync_Order extends Intelivemetrics_Unit
|
|
205 |
$item_arr['categories'] = $_categories;
|
206 |
}
|
207 |
|
208 |
-
//
|
209 |
if ($item_attribs['product_type'] == 'configurable') {
|
210 |
$productOptions = $item->getProductOptions();
|
211 |
$superAttributeIds = array();
|
@@ -223,6 +223,20 @@ class Intelivemetrics_Unityreports_Model_Sync_Order extends Intelivemetrics_Unit
|
|
223 |
}
|
224 |
$item_arr['options'][] = $option;
|
225 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
226 |
|
227 |
$items_arr['item_' . $item_attribs['item_id']] = $item_arr;
|
228 |
}
|
@@ -232,14 +246,14 @@ class Intelivemetrics_Unityreports_Model_Sync_Order extends Intelivemetrics_Unit
|
|
232 |
$order_count++;
|
233 |
} catch (Exception $ex) {
|
234 |
$helper->debug($ex->getMessage(), Zend_Log::ERR);
|
235 |
-
$helper->debug('FILE: ' . __FILE__.'LINE: ' . __LINE__);
|
236 |
}
|
237 |
}//end order loop
|
238 |
|
239 |
return $data;
|
240 |
} catch (Exception $ex) {
|
241 |
$helper->debug($ex->getMessage(), Zend_Log::ERR);
|
242 |
-
$helper->debug('FILE: ' . __FILE__.'LINE: ' . __LINE__);
|
243 |
return null;
|
244 |
}
|
245 |
}
|
1 |
<?php
|
2 |
|
|
|
3 |
/**
|
4 |
* Send orders data
|
5 |
*
|
8 |
* @copyright Copyright (c) 2014 Intelive Metrics Srl
|
9 |
* @author Eduard Gabriel Dumitrescu (balaur@gmail.com)
|
10 |
*/
|
|
|
|
|
11 |
class Intelivemetrics_Unityreports_Model_Sync_Order extends Intelivemetrics_Unityreports_Model_Sync implements Intelivemetrics_Unityreports_Model_Sync_Interface {
|
12 |
|
13 |
const ENTITY_TYPE = 'sales_order';
|
89 |
->limit($limit)
|
90 |
;
|
91 |
//$helper->debug($collection->getSelectSql()->__toString());
|
|
|
|
|
92 |
// nothing to sync get out
|
93 |
if (count($collection) == 0) {
|
94 |
$helper->debug('No order data found to sync', Zend_Log::INFO);
|
95 |
return null;
|
96 |
}
|
97 |
|
98 |
+
//get additional produc attributes list
|
99 |
+
$attribs = Intelivemetrics_Unityreports_Model_Utils::getProductAttributesToSync();
|
100 |
+
|
101 |
// pack order data
|
102 |
$data = array();
|
103 |
$order_count = 0;
|
104 |
$category = Mage::getModel('catalog/category');
|
105 |
foreach ($collection as $order) {
|
106 |
$attributes = $order->getData();
|
107 |
+
|
108 |
try {
|
109 |
$currency = $attributes['order_currency_code'];
|
110 |
|
115 |
'coupon_code' => $attributes['coupon_code'],
|
116 |
'store_id' => $attributes['store_id'],
|
117 |
'customer_id' => $attributes['customer_id'],
|
118 |
+
'customer_email' => $attributes['customer_email'],
|
119 |
+
'customer_name' => $attributes['customer_firstname'].' '.$attributes['customer_lastname'],
|
120 |
'customer_group' => $this->_getGroupCode($attributes['group_id']),
|
121 |
'grand_total' => $attributes['grand_total'],
|
122 |
'shipping_amount' => $attributes['shipping_amount'],
|
135 |
'medium' => $attributes['medium'],
|
136 |
'content' => $attributes['content'],
|
137 |
'campaign' => $attributes['campaign'],
|
138 |
+
'payment_method' => (is_object($order->getPayment())?$order->getPayment()->getMethod():'unknown')
|
139 |
);
|
140 |
|
141 |
// indirizzo di spedizione
|
185 |
|
186 |
//recupera path categorie, solo della prima categoria associata
|
187 |
//TODO: what if no category info is available? put some fake cateogry like UNKNOWN
|
188 |
+
if (($product = $item->getProduct()) || ($product = Mage::getModel('catalog/product')->load($item->getProductId()))) {
|
189 |
$mainCategory = $product->getCategoryCollection()->getFirstItem();
|
190 |
$ids = array_reverse($mainCategory->getPathIds());
|
191 |
$counter = 1;
|
205 |
$item_arr['categories'] = $_categories;
|
206 |
}
|
207 |
|
208 |
+
//add configurable options
|
209 |
if ($item_attribs['product_type'] == 'configurable') {
|
210 |
$productOptions = $item->getProductOptions();
|
211 |
$superAttributeIds = array();
|
223 |
}
|
224 |
$item_arr['options'][] = $option;
|
225 |
}
|
226 |
+
|
227 |
+
//add custom prod attributes
|
228 |
+
if (is_array($attribs) && count($attribs) > 0) {
|
229 |
+
foreach ($attribs as $_code => $_id) {
|
230 |
+
$_value = ($product->getAttributeText($_code) ? $product->getAttributeText($_code) : $product->getData($_code));
|
231 |
+
if(!$_value) continue;
|
232 |
+
|
233 |
+
$item_arr['options'][] = array(
|
234 |
+
'attribute_id' => $_id,
|
235 |
+
'label' => $_code,
|
236 |
+
'value' => $_value,
|
237 |
+
);
|
238 |
+
}
|
239 |
+
}
|
240 |
|
241 |
$items_arr['item_' . $item_attribs['item_id']] = $item_arr;
|
242 |
}
|
246 |
$order_count++;
|
247 |
} catch (Exception $ex) {
|
248 |
$helper->debug($ex->getMessage(), Zend_Log::ERR);
|
249 |
+
$helper->debug('FILE: ' . __FILE__ . 'LINE: ' . __LINE__);
|
250 |
}
|
251 |
}//end order loop
|
252 |
|
253 |
return $data;
|
254 |
} catch (Exception $ex) {
|
255 |
$helper->debug($ex->getMessage(), Zend_Log::ERR);
|
256 |
+
$helper->debug('FILE: ' . __FILE__ . 'LINE: ' . __LINE__);
|
257 |
return null;
|
258 |
}
|
259 |
}
|
app/code/community/Intelivemetrics/Unityreports/Model/Sync/Product.php
CHANGED
@@ -74,20 +74,35 @@ class Intelivemetrics_Unityreports_Model_Sync_Product extends Intelivemetrics_Un
|
|
74 |
$adminStore = Mage_Core_Model_App::ADMIN_STORE_ID;
|
75 |
Mage::app()->setCurrentStore($adminStore);
|
76 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
77 |
$collection = Mage::getModel('catalog/product')->getCollection()
|
78 |
-
->addAttributeToSelect(
|
79 |
-
->addAttributeToSort('updated_at', 'ASC')
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
|
|
85 |
$table = Intelivemetrics_Unityreports_Model_Utils::getTableName('unityreports/products');
|
86 |
$collection->getSelect()
|
87 |
-
|
88 |
->where("e.entity_id NOT IN (SELECT product_id FROM $table WHERE synced=1 OR sents>={$this->getMaxSents()} OR TIMESTAMPDIFF(MINUTE,last_sent_at,'{$now}')<60)")
|
|
|
|
|
89 |
->limit($limit)
|
90 |
;
|
|
|
91 |
|
92 |
// se non ci sono record, esce
|
93 |
if (count($collection) == 0) {
|
@@ -126,8 +141,22 @@ class Intelivemetrics_Unityreports_Model_Sync_Product extends Intelivemetrics_Un
|
|
126 |
}
|
127 |
$data['item_' . $product->getEntityId()]['parent_id'] = $parentId;
|
128 |
}
|
129 |
-
}
|
130 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
131 |
|
132 |
return $data;
|
133 |
} catch (Exception $ex) {
|
@@ -139,4 +168,3 @@ class Intelivemetrics_Unityreports_Model_Sync_Product extends Intelivemetrics_Un
|
|
139 |
|
140 |
}
|
141 |
|
142 |
-
?>
|
74 |
$adminStore = Mage_Core_Model_App::ADMIN_STORE_ID;
|
75 |
Mage::app()->setCurrentStore($adminStore);
|
76 |
|
77 |
+
//get additional produc attributes list
|
78 |
+
$attribs = Intelivemetrics_Unityreports_Model_Utils::getProductAttributesToSync();
|
79 |
+
|
80 |
+
//build attrib list to take in
|
81 |
+
$_attribs = array('name', 'sku', 'type_id', 'created_at', 'updated_at', 'visibility', 'status');
|
82 |
+
if (count($attribs)) {
|
83 |
+
foreach ($attribs as $_code => $_id) {
|
84 |
+
$_attribs[] = $_code;
|
85 |
+
}
|
86 |
+
}
|
87 |
+
|
88 |
$collection = Mage::getModel('catalog/product')->getCollection()
|
89 |
+
->addAttributeToSelect($_attribs)
|
90 |
+
->addAttributeToSort('updated_at', 'ASC')
|
91 |
+
//add price
|
92 |
+
->joinAttribute('price', 'catalog_product/price', 'entity_id', null, 'left', $adminStore)
|
93 |
+
//add stock
|
94 |
+
->joinField('qty', 'cataloginventory/stock_item', 'qty', 'product_id=entity_id', '{{table}}.stock_id=1', 'left')
|
95 |
+
;
|
96 |
+
|
97 |
$table = Intelivemetrics_Unityreports_Model_Utils::getTableName('unityreports/products');
|
98 |
$collection->getSelect()
|
99 |
+
//filter already sent
|
100 |
->where("e.entity_id NOT IN (SELECT product_id FROM $table WHERE synced=1 OR sents>={$this->getMaxSents()} OR TIMESTAMPDIFF(MINUTE,last_sent_at,'{$now}')<60)")
|
101 |
+
//don't send product immediatly after creation because attrib data is usually added later
|
102 |
+
->where("TIMESTAMPDIFF(HOUR,e.created_at,'{$now}')>24")
|
103 |
->limit($limit)
|
104 |
;
|
105 |
+
// $helper->debug($collection->getSelectSql()->__toString());
|
106 |
|
107 |
// se non ci sono record, esce
|
108 |
if (count($collection) == 0) {
|
141 |
}
|
142 |
$data['item_' . $product->getEntityId()]['parent_id'] = $parentId;
|
143 |
}
|
|
|
144 |
|
145 |
+
//add custom options
|
146 |
+
if (is_array($attribs) && count($attribs) > 0) {
|
147 |
+
foreach ($attribs as $_code => $_id) {
|
148 |
+
$_value = ($product->getAttributeText($_code) ? $product->getAttributeText($_code) : $product->getData($_code));
|
149 |
+
if (!$_value)
|
150 |
+
continue;
|
151 |
+
|
152 |
+
$data['item_' . $product->getEntityId()]['options'][] = array(
|
153 |
+
'attribute_id' => $_id,
|
154 |
+
'label' => $_code,
|
155 |
+
'value' => $_value,
|
156 |
+
);
|
157 |
+
}
|
158 |
+
}
|
159 |
+
}
|
160 |
|
161 |
return $data;
|
162 |
} catch (Exception $ex) {
|
168 |
|
169 |
}
|
170 |
|
|
app/code/community/Intelivemetrics/Unityreports/Model/Utils.php
CHANGED
@@ -8,12 +8,12 @@
|
|
8 |
* @copyright Copyright (c) 2014 Intelive Metrics Srl
|
9 |
* @author Eduard Gabriel Dumitrescu (balaur@gmail.com)
|
10 |
*/
|
11 |
-
|
12 |
-
|
13 |
class Intelivemetrics_Unityreports_Model_Utils {
|
14 |
-
|
15 |
protected static $_db = null;
|
16 |
protected static $_soapClient = null;
|
|
|
|
|
17 |
|
18 |
public static function getTableName($table) {
|
19 |
return Mage::getSingleton('core/resource')->getTableName($table);
|
@@ -50,7 +50,7 @@ class Intelivemetrics_Unityreports_Model_Utils {
|
|
50 |
$db = Mage::getModel('core/resource')->getConnection('core_read');
|
51 |
$table = self::getTableName('unityreports/settings');
|
52 |
$key = self::sanitize($key);
|
53 |
-
|
54 |
if (is_null($key)) {
|
55 |
$result = $db->query("SELECT `val` FROM `{$table}`");
|
56 |
$out = array();
|
@@ -79,7 +79,7 @@ class Intelivemetrics_Unityreports_Model_Utils {
|
|
79 |
$table = self::getTableName('unityreports/settings');
|
80 |
$key = self::sanitize($key);
|
81 |
$val = self::sanitize($val);
|
82 |
-
|
83 |
try {
|
84 |
$db->query("REPLACE INTO `{$table}`(`key`,`val`) VALUES('{$key}','{$val}')");
|
85 |
self::log("set $key to $val");
|
@@ -89,7 +89,7 @@ class Intelivemetrics_Unityreports_Model_Utils {
|
|
89 |
return false;
|
90 |
}
|
91 |
}
|
92 |
-
|
93 |
/**
|
94 |
* Gets a SOAP client
|
95 |
* @return \Zend_Soap_Client
|
@@ -98,43 +98,67 @@ class Intelivemetrics_Unityreports_Model_Utils {
|
|
98 |
$ws_endpoint = Mage::getStoreConfig('unityreports/general/ws_endpoint');
|
99 |
|
100 |
// inizializza client SOAP
|
101 |
-
if(is_null(self::$_soapClient)){
|
102 |
self::$_soapClient = new Zend_Soap_Client($ws_endpoint . "?wsdl");
|
103 |
self::$_soapClient->setWsdlCache(1);
|
104 |
}
|
105 |
|
106 |
return self::$_soapClient;
|
107 |
}
|
108 |
-
|
109 |
/**
|
110 |
* Get db write connection
|
111 |
* @return type
|
112 |
*/
|
113 |
-
public static function getDb(){
|
114 |
-
if(is_null(self::$_db)){
|
115 |
self::$_db = Mage::getModel('core/resource')->getConnection('core_write');
|
116 |
}
|
117 |
-
|
118 |
return self::$_db;
|
119 |
}
|
120 |
-
|
121 |
/**
|
122 |
* How many items of each type to send in one sync session
|
123 |
* @return int
|
124 |
*/
|
125 |
-
public static function getMaxItemsPerSync(){
|
126 |
$items = Intelivemetrics_Unityreports_Model_Utils::getConfig('max_items_per_sync');
|
127 |
-
if(!$items || is_null($items)){
|
128 |
$items = Intelivemetrics_Unityreports_Model_Config::MAX_ITEMS_PER_SYNC;
|
129 |
}
|
130 |
-
|
131 |
return $items;
|
132 |
}
|
133 |
-
|
134 |
-
public static function prepareDataForSending($data){
|
135 |
return base64_encode(gzcompress(serialize($data)));
|
136 |
}
|
137 |
|
138 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
139 |
|
140 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
* @copyright Copyright (c) 2014 Intelive Metrics Srl
|
9 |
* @author Eduard Gabriel Dumitrescu (balaur@gmail.com)
|
10 |
*/
|
|
|
|
|
11 |
class Intelivemetrics_Unityreports_Model_Utils {
|
12 |
+
|
13 |
protected static $_db = null;
|
14 |
protected static $_soapClient = null;
|
15 |
+
protected static $_prodAttributes = null;
|
16 |
+
protected static $_customerAttributes = null;
|
17 |
|
18 |
public static function getTableName($table) {
|
19 |
return Mage::getSingleton('core/resource')->getTableName($table);
|
50 |
$db = Mage::getModel('core/resource')->getConnection('core_read');
|
51 |
$table = self::getTableName('unityreports/settings');
|
52 |
$key = self::sanitize($key);
|
53 |
+
|
54 |
if (is_null($key)) {
|
55 |
$result = $db->query("SELECT `val` FROM `{$table}`");
|
56 |
$out = array();
|
79 |
$table = self::getTableName('unityreports/settings');
|
80 |
$key = self::sanitize($key);
|
81 |
$val = self::sanitize($val);
|
82 |
+
|
83 |
try {
|
84 |
$db->query("REPLACE INTO `{$table}`(`key`,`val`) VALUES('{$key}','{$val}')");
|
85 |
self::log("set $key to $val");
|
89 |
return false;
|
90 |
}
|
91 |
}
|
92 |
+
|
93 |
/**
|
94 |
* Gets a SOAP client
|
95 |
* @return \Zend_Soap_Client
|
98 |
$ws_endpoint = Mage::getStoreConfig('unityreports/general/ws_endpoint');
|
99 |
|
100 |
// inizializza client SOAP
|
101 |
+
if (is_null(self::$_soapClient)) {
|
102 |
self::$_soapClient = new Zend_Soap_Client($ws_endpoint . "?wsdl");
|
103 |
self::$_soapClient->setWsdlCache(1);
|
104 |
}
|
105 |
|
106 |
return self::$_soapClient;
|
107 |
}
|
108 |
+
|
109 |
/**
|
110 |
* Get db write connection
|
111 |
* @return type
|
112 |
*/
|
113 |
+
public static function getDb() {
|
114 |
+
if (is_null(self::$_db)) {
|
115 |
self::$_db = Mage::getModel('core/resource')->getConnection('core_write');
|
116 |
}
|
117 |
+
|
118 |
return self::$_db;
|
119 |
}
|
120 |
+
|
121 |
/**
|
122 |
* How many items of each type to send in one sync session
|
123 |
* @return int
|
124 |
*/
|
125 |
+
public static function getMaxItemsPerSync() {
|
126 |
$items = Intelivemetrics_Unityreports_Model_Utils::getConfig('max_items_per_sync');
|
127 |
+
if (!$items || is_null($items)) {
|
128 |
$items = Intelivemetrics_Unityreports_Model_Config::MAX_ITEMS_PER_SYNC;
|
129 |
}
|
130 |
+
|
131 |
return $items;
|
132 |
}
|
133 |
+
|
134 |
+
public static function prepareDataForSending($data) {
|
135 |
return base64_encode(gzcompress(serialize($data)));
|
136 |
}
|
137 |
|
138 |
+
public static function getProductAttributesToSync() {
|
139 |
+
if (is_null(self::$_prodAttributes)) {
|
140 |
+
$attributes = Mage::getResourceModel('catalog/product_attribute_collection')
|
141 |
+
->addFieldToFilter('is_user_defined', 1)
|
142 |
+
->getItems();
|
143 |
+
foreach ($attributes as $attribute) {
|
144 |
+
self::$_prodAttributes[$attribute->getAttributeCode()] = (int) $attribute->getId();
|
145 |
+
}
|
146 |
+
}
|
147 |
|
148 |
+
return self::$_prodAttributes;
|
149 |
+
}
|
150 |
+
|
151 |
+
public static function getCustomerAttributesToSync() {
|
152 |
+
if (is_null(self::$_customerAttributes)) {
|
153 |
+
$attributes = Mage::getResourceModel('customer/attribute_collection')
|
154 |
+
->addFieldToFilter('is_user_defined', 1)
|
155 |
+
->getItems();
|
156 |
+
foreach ($attributes as $attribute) {
|
157 |
+
self::$_customerAttributes[$attribute->getAttributeCode()] = (int) $attribute->getId();
|
158 |
+
}
|
159 |
+
}
|
160 |
+
|
161 |
+
return self::$_customerAttributes;
|
162 |
+
}
|
163 |
+
|
164 |
+
}
|
app/code/community/Intelivemetrics/Unityreports/controllers/IndexController.php
CHANGED
@@ -57,8 +57,6 @@ class Intelivemetrics_Unityreports_IndexController extends Mage_Adminhtml_Contro
|
|
57 |
$success = false;
|
58 |
}
|
59 |
|
60 |
-
Mage::log("Complete");
|
61 |
-
|
62 |
if ($success) {
|
63 |
$msg = $msg . "<br/> Testing completed successfully, if you are still experiencing difficulties please contact us on <a target='_blank' href='http://www.unityreports.com/contacts'>Unityreports.com</a>.";
|
64 |
Mage::getSingleton('adminhtml/session')->addSuccess($msg);
|
57 |
$success = false;
|
58 |
}
|
59 |
|
|
|
|
|
60 |
if ($success) {
|
61 |
$msg = $msg . "<br/> Testing completed successfully, if you are still experiencing difficulties please contact us on <a target='_blank' href='http://www.unityreports.com/contacts'>Unityreports.com</a>.";
|
62 |
Mage::getSingleton('adminhtml/session')->addSuccess($msg);
|
app/code/community/Intelivemetrics/Unityreports/controllers/TestController.php
CHANGED
@@ -255,37 +255,94 @@ td {text-align: left; font-size: 80%; padding: 4px; border-bottom: 1px solid bla
|
|
255 |
protected function _sync() {
|
256 |
Mage::getModel('unityreports/cron_sync')->runSync();
|
257 |
}
|
|
|
258 |
protected function _request() {
|
259 |
Mage::getModel('unityreports/cron_request')->check();
|
260 |
}
|
|
|
261 |
protected function _abcarts() {
|
262 |
-
|
263 |
}
|
|
|
264 |
protected function _customers() {
|
265 |
-
|
266 |
}
|
|
|
267 |
protected function _actions() {
|
268 |
-
|
269 |
}
|
|
|
270 |
protected function _invoices() {
|
271 |
Mage::getModel('unityreports/sync_invoice')->runSync();
|
272 |
}
|
|
|
273 |
protected function _orders() {
|
274 |
Mage::getModel('unityreports/sync_order')->runSync();
|
275 |
}
|
|
|
276 |
protected function _returns() {
|
277 |
Mage::getModel('unityreports/sync_creditnote')->runSync();
|
278 |
}
|
|
|
279 |
protected function _products() {
|
280 |
Mage::getModel('unityreports/sync_product')->runSync();
|
281 |
}
|
|
|
282 |
protected function _counters() {
|
283 |
Mage::getModel('unityreports/cron_count')->runSync();
|
284 |
}
|
|
|
285 |
protected function _variations() {
|
286 |
Mage::getModel('unityreports/sync_productVariation')->runSync();
|
287 |
}
|
|
|
288 |
protected function _fix() {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
289 |
}
|
290 |
|
291 |
public function indexAction() {
|
255 |
protected function _sync() {
|
256 |
Mage::getModel('unityreports/cron_sync')->runSync();
|
257 |
}
|
258 |
+
|
259 |
protected function _request() {
|
260 |
Mage::getModel('unityreports/cron_request')->check();
|
261 |
}
|
262 |
+
|
263 |
protected function _abcarts() {
|
264 |
+
Mage::getModel('unityreports/sync_abcart')->runSync();
|
265 |
}
|
266 |
+
|
267 |
protected function _customers() {
|
268 |
+
Mage::getModel('unityreports/sync_customer')->runSync();
|
269 |
}
|
270 |
+
|
271 |
protected function _actions() {
|
272 |
+
Mage::getModel('unityreports/sync_customerAction')->runSync();
|
273 |
}
|
274 |
+
|
275 |
protected function _invoices() {
|
276 |
Mage::getModel('unityreports/sync_invoice')->runSync();
|
277 |
}
|
278 |
+
|
279 |
protected function _orders() {
|
280 |
Mage::getModel('unityreports/sync_order')->runSync();
|
281 |
}
|
282 |
+
|
283 |
protected function _returns() {
|
284 |
Mage::getModel('unityreports/sync_creditnote')->runSync();
|
285 |
}
|
286 |
+
|
287 |
protected function _products() {
|
288 |
Mage::getModel('unityreports/sync_product')->runSync();
|
289 |
}
|
290 |
+
|
291 |
protected function _counters() {
|
292 |
Mage::getModel('unityreports/cron_count')->runSync();
|
293 |
}
|
294 |
+
|
295 |
protected function _variations() {
|
296 |
Mage::getModel('unityreports/sync_productVariation')->runSync();
|
297 |
}
|
298 |
+
|
299 |
protected function _fix() {
|
300 |
+
|
301 |
+
}
|
302 |
+
|
303 |
+
protected function _stock() {
|
304 |
+
|
305 |
+
Mage::getModel('unityreports/cron_stock')->runSync();
|
306 |
+
|
307 |
+
// $stock = Mage::getModel('cataloginventory/stock_item')->loadByProduct(1505);
|
308 |
+
// echo "<pre>";
|
309 |
+
// echo get_class($stock);
|
310 |
+
// print_r($stock->getAvailableQtyForSale());
|
311 |
+
// echo "</pre>";
|
312 |
+
|
313 |
+
|
314 |
+
// $stockIds = Mage::getModel('cataloginventory/stock_item')
|
315 |
+
// ->getCollection()
|
316 |
+
// ->addQtyFilter('>', 0)
|
317 |
+
// ->setPageSize(10)
|
318 |
+
// //->getAllIds()
|
319 |
+
// ;
|
320 |
+
// echo get_class($stockIds);
|
321 |
+
// //echo $stockIds->getSelectSql()->__toString();
|
322 |
+
// foreach ($stockIds as $s) {
|
323 |
+
// print_r($s->getData());
|
324 |
+
// }
|
325 |
+
|
326 |
+
|
327 |
+
// $helper = Mage::helper('unityreports');
|
328 |
+
// $db = Mage::getSingleton('unityreports/utils')->getDb();
|
329 |
+
// $table = Mage::getSingleton('unityreports/utils')->getTableName('cataloginventory/stock_item');
|
330 |
+
// echo $sql = "SELECT product_id as id, SUM(qty) as s FROM {$table} GROUP BY product_id HAVING s>0";
|
331 |
+
// $result = $db->query($sql);
|
332 |
+
//
|
333 |
+
// if (!$result) {
|
334 |
+
// $helper->debug("Cannot query: {$sql}");
|
335 |
+
// return FALSE;
|
336 |
+
// }
|
337 |
+
//
|
338 |
+
// $row = $result->fetchAll(PDO::FETCH_ASSOC);
|
339 |
+
// print_r($row);
|
340 |
+
// if (!$row) {
|
341 |
+
// return 0;
|
342 |
+
// }
|
343 |
+
//
|
344 |
+
// echo $row['c'];
|
345 |
+
|
346 |
}
|
347 |
|
348 |
public function indexAction() {
|
app/code/community/Intelivemetrics/Unityreports/etc/config.xml
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
<config>
|
3 |
<modules>
|
4 |
<Intelivemetrics_Unityreports>
|
5 |
-
<version>0.
|
6 |
</Intelivemetrics_Unityreports>
|
7 |
</modules>
|
8 |
<global>
|
@@ -137,30 +137,30 @@
|
|
137 |
<model>unityreports/cron_sync::runSync</model>
|
138 |
</run>
|
139 |
</unityreports_sync>
|
140 |
-
<
|
141 |
<schedule>
|
142 |
-
<cron_expr
|
143 |
</schedule>
|
144 |
<run>
|
145 |
-
<model>unityreports/
|
146 |
</run>
|
147 |
-
</
|
148 |
-
<
|
149 |
<schedule>
|
150 |
-
<cron_expr>
|
151 |
</schedule>
|
152 |
<run>
|
153 |
-
<model>unityreports/
|
154 |
</run>
|
155 |
-
</
|
156 |
-
<
|
157 |
<schedule>
|
158 |
-
<cron_expr
|
159 |
</schedule>
|
160 |
<run>
|
161 |
-
<model>unityreports/
|
162 |
</run>
|
163 |
-
</
|
164 |
</jobs>
|
165 |
</crontab>
|
166 |
<default>
|
2 |
<config>
|
3 |
<modules>
|
4 |
<Intelivemetrics_Unityreports>
|
5 |
+
<version>0.8.1</version>
|
6 |
</Intelivemetrics_Unityreports>
|
7 |
</modules>
|
8 |
<global>
|
137 |
<model>unityreports/cron_sync::runSync</model>
|
138 |
</run>
|
139 |
</unityreports_sync>
|
140 |
+
<unityreports_stat>
|
141 |
<schedule>
|
142 |
+
<cron_expr>*/5 * * * *</cron_expr>
|
143 |
</schedule>
|
144 |
<run>
|
145 |
+
<model>unityreports/cron_request::check</model>
|
146 |
</run>
|
147 |
+
</unityreports_stat>
|
148 |
+
<unityreports_stock>
|
149 |
<schedule>
|
150 |
+
<cron_expr>0 2 * * *</cron_expr>
|
151 |
</schedule>
|
152 |
<run>
|
153 |
+
<model>unityreports/cron_stock::runSync</model>
|
154 |
</run>
|
155 |
+
</unityreports_stock>
|
156 |
+
<unityreports_count>
|
157 |
<schedule>
|
158 |
+
<cron_expr>0 3 * * *</cron_expr>
|
159 |
</schedule>
|
160 |
<run>
|
161 |
+
<model>unityreports/cron_count::runSync</model>
|
162 |
</run>
|
163 |
+
</unityreports_count>
|
164 |
</jobs>
|
165 |
</crontab>
|
166 |
<default>
|
app/code/community/Intelivemetrics/Unityreports/etc/system.xml
CHANGED
@@ -21,7 +21,8 @@
|
|
21 |
<comment><![CDATA[The bellow credentials should have been given to you during the registration procedure. If you don't have them, <a href='https://app.unityreports.com' target='_blank'><b>log in</b></a> into your account and retrieve them from the "Profiles" section.<br>
|
22 |
If you don't have an account yet, you must <a href='https://app.unityreports.com/account/create' target='_blank'><b>create one</b></a> before using this module.<br><BR>
|
23 |
If you are experiencing problems with this extension please run the self diagnosing test by clicking the button below.<br>
|
24 |
-
For any questions or help please visit us at <a href='http://unityreports.com/contacts' target='_blank'>Unityreports.com</a>.<br><br>
|
|
|
25 |
<frontend_type>text</frontend_type>
|
26 |
<sort_order>10</sort_order>
|
27 |
<show_in_default>1</show_in_default>
|
@@ -90,7 +91,48 @@
|
|
90 |
<show_in_default>1</show_in_default>
|
91 |
<show_in_website>0</show_in_website>
|
92 |
<show_in_store>0</show_in_store>
|
|
|
93 |
<fields>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
94 |
<cron_sync_status translate="label">
|
95 |
<label>Cron sync status</label>
|
96 |
<frontend_type>label</frontend_type>
|
@@ -154,6 +196,16 @@
|
|
154 |
<show_in_website>0</show_in_website>
|
155 |
<show_in_store>0</show_in_store>
|
156 |
<fields>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
157 |
<debug_status translate="label">
|
158 |
<label>Debug</label>
|
159 |
<frontend_type>select</frontend_type>
|
21 |
<comment><![CDATA[The bellow credentials should have been given to you during the registration procedure. If you don't have them, <a href='https://app.unityreports.com' target='_blank'><b>log in</b></a> into your account and retrieve them from the "Profiles" section.<br>
|
22 |
If you don't have an account yet, you must <a href='https://app.unityreports.com/account/create' target='_blank'><b>create one</b></a> before using this module.<br><BR>
|
23 |
If you are experiencing problems with this extension please run the self diagnosing test by clicking the button below.<br>
|
24 |
+
For any questions or help please visit us at <a href='http://unityreports.com/contacts' target='_blank'>Unityreports.com</a>.<br><br>
|
25 |
+
<span style='color:red;'><b>IMPORTANT NOTICE:</b> Remember to save the configuration <b>BEFORE</b> hitting the <b>TEST</b> button.</span><br><br>]]></comment>
|
26 |
<frontend_type>text</frontend_type>
|
27 |
<sort_order>10</sort_order>
|
28 |
<show_in_default>1</show_in_default>
|
91 |
<show_in_default>1</show_in_default>
|
92 |
<show_in_website>0</show_in_website>
|
93 |
<show_in_store>0</show_in_store>
|
94 |
+
<comment><![CDATA[<span style='color:red;'><b>IMPORTANT NOTICE:</b> Historical data sync process always happens from the oldest items to the newest</span><br><br>]]></comment>
|
95 |
<fields>
|
96 |
+
<prod_sync_status translate="label">
|
97 |
+
<label>Product sync status</label>
|
98 |
+
<frontend_type>label</frontend_type>
|
99 |
+
<frontend_model>unityreports/adminhtml_label_renderer</frontend_model>
|
100 |
+
<source_model>unityreports/admin_status_sync_products</source_model>
|
101 |
+
<sort_order>1</sort_order>
|
102 |
+
<show_in_default>1</show_in_default>
|
103 |
+
<show_in_website>0</show_in_website>
|
104 |
+
<show_in_store>0</show_in_store>
|
105 |
+
</prod_sync_status>
|
106 |
+
<cust_sync_status translate="label">
|
107 |
+
<label>Customer sync status</label>
|
108 |
+
<frontend_type>label</frontend_type>
|
109 |
+
<frontend_model>unityreports/adminhtml_label_renderer</frontend_model>
|
110 |
+
<source_model>unityreports/admin_status_sync_customers</source_model>
|
111 |
+
<sort_order>2</sort_order>
|
112 |
+
<show_in_default>1</show_in_default>
|
113 |
+
<show_in_website>0</show_in_website>
|
114 |
+
<show_in_store>0</show_in_store>
|
115 |
+
</cust_sync_status>
|
116 |
+
<ord_sync_status translate="label">
|
117 |
+
<label>Order sync status</label>
|
118 |
+
<frontend_type>label</frontend_type>
|
119 |
+
<frontend_model>unityreports/adminhtml_label_renderer</frontend_model>
|
120 |
+
<source_model>unityreports/admin_status_sync_orders </source_model>
|
121 |
+
<sort_order>5</sort_order>
|
122 |
+
<show_in_default>1</show_in_default>
|
123 |
+
<show_in_website>0</show_in_website>
|
124 |
+
<show_in_store>0</show_in_store>
|
125 |
+
</ord_sync_status>
|
126 |
+
<inv_sync_status translate="label">
|
127 |
+
<label>Invoice sync status</label>
|
128 |
+
<frontend_type>label</frontend_type>
|
129 |
+
<frontend_model>unityreports/adminhtml_label_renderer</frontend_model>
|
130 |
+
<source_model>unityreports/admin_status_sync_invoices</source_model>
|
131 |
+
<sort_order>6</sort_order>
|
132 |
+
<show_in_default>1</show_in_default>
|
133 |
+
<show_in_website>0</show_in_website>
|
134 |
+
<show_in_store>0</show_in_store>
|
135 |
+
</inv_sync_status>
|
136 |
<cron_sync_status translate="label">
|
137 |
<label>Cron sync status</label>
|
138 |
<frontend_type>label</frontend_type>
|
196 |
<show_in_website>0</show_in_website>
|
197 |
<show_in_store>0</show_in_store>
|
198 |
<fields>
|
199 |
+
<use_shipping translate="label">
|
200 |
+
<label>Complete orders</label>
|
201 |
+
<frontend_type>select</frontend_type>
|
202 |
+
<source_model>unityreports/admin_status_useShipping</source_model>
|
203 |
+
<sort_order>20</sort_order>
|
204 |
+
<show_in_default>1</show_in_default>
|
205 |
+
<show_in_website>0</show_in_website>
|
206 |
+
<show_in_store>0</show_in_store>
|
207 |
+
<comment>Contact UnityReports.com before changing this setting</comment>
|
208 |
+
</use_shipping>
|
209 |
<debug_status translate="label">
|
210 |
<label>Debug</label>
|
211 |
<frontend_type>select</frontend_type>
|
app/code/community/Intelivemetrics/Unityreports/sql/unityreports_setup/mysql4-install-0.7.2.php
CHANGED
@@ -140,7 +140,7 @@ CREATE TABLE IF NOT EXISTS `{$this->getTable('unityreports/settings')}` (
|
|
140 |
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
141 |
|
142 |
INSERT INTO `{$this->getTable('unityreports/settings')}` (`key`, `val`) VALUES
|
143 |
-
('max_items_per_sync', '
|
144 |
|
145 |
COMMIT;
|
146 |
");
|
140 |
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
141 |
|
142 |
INSERT INTO `{$this->getTable('unityreports/settings')}` (`key`, `val`) VALUES
|
143 |
+
('max_items_per_sync', '100');
|
144 |
|
145 |
COMMIT;
|
146 |
");
|
app/code/community/Intelivemetrics/Unityreports/sql/unityreports_setup/mysql4-install-0.7.3.php
CHANGED
@@ -140,7 +140,7 @@ CREATE TABLE IF NOT EXISTS `{$this->getTable('unityreports/settings')}` (
|
|
140 |
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
141 |
|
142 |
INSERT INTO `{$this->getTable('unityreports/settings')}` (`key`, `val`) VALUES
|
143 |
-
('max_items_per_sync', '
|
144 |
|
145 |
COMMIT;
|
146 |
");
|
140 |
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
141 |
|
142 |
INSERT INTO `{$this->getTable('unityreports/settings')}` (`key`, `val`) VALUES
|
143 |
+
('max_items_per_sync', '100');
|
144 |
|
145 |
COMMIT;
|
146 |
");
|
package.xml
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Intelivemetrics_Unityreports</name>
|
4 |
-
<version>0.8.
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://choosealicense.com/licenses/apache-2.0/">APACHE</license>
|
7 |
<channel>community</channel>
|
@@ -10,11 +10,11 @@
|
|
10 |
<description>Unityreports brings powerful e-commerce analytics by combining Magento, Google Analytics and Google Adwords data.
|
11 |
http://www.unityreports.com
|
12 |
</description>
|
13 |
-
<notes>Added
|
14 |
<authors><author><name>Eduard G. Dumitrescu</name><user>bregoiu</user><email>eddie.dumitrescu@gmail.com</email></author></authors>
|
15 |
-
<date>
|
16 |
-
<time>
|
17 |
-
<contents><target name="magecommunity"><dir name="Intelivemetrics"><dir name="Unityreports"><dir name="Block"><dir name="Adminhtml"><dir name="Button"><file name="Test.php" hash="f23e261d8cf7ef8314f121978b3b03d3"/></dir><dir name="Label"><file name="Renderer.php" hash="89a6ec5dddca5fcf86fbe85b83d87650"/></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="28ec3fc4be05e608c27da2722b75d2d1"/></dir><dir name="Model"><dir name="Admin"><dir name="Status"><file name="Active.php" hash="28d46ddb38425dcdddf34a694fcbcd84"/><dir name="Cron"><file name="Count.php" hash="8f8de0b781e5889c63b508dcba24532b"/><file name="GlobalCounters.php" hash="7b89f230d9a4fbd65bbf1dd87fd2d196"/><file name="Mage.php" hash="922159223ba73f6ecb4cb019595009f4"/><file name="Stat.php" hash="64e4b605214a0a966adada181d413d79"/><file name="Sync.php" hash="ab2313a6949823565001b9787a1a255a"/></dir><file name="Cron.php" hash="
|
18 |
<compatible/>
|
19 |
<dependencies><required><php><min>5.1.0</min><max>7.0.0</max></php></required></dependencies>
|
20 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Intelivemetrics_Unityreports</name>
|
4 |
+
<version>0.8.1</version>
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://choosealicense.com/licenses/apache-2.0/">APACHE</license>
|
7 |
<channel>community</channel>
|
10 |
<description>Unityreports brings powerful e-commerce analytics by combining Magento, Google Analytics and Google Adwords data.
|
11 |
http://www.unityreports.com
|
12 |
</description>
|
13 |
+
<notes>Added support for product attributes</notes>
|
14 |
<authors><author><name>Eduard G. Dumitrescu</name><user>bregoiu</user><email>eddie.dumitrescu@gmail.com</email></author></authors>
|
15 |
+
<date>2016-02-04</date>
|
16 |
+
<time>07:09:38</time>
|
17 |
+
<contents><target name="magecommunity"><dir name="Intelivemetrics"><dir name="Unityreports"><dir name="Block"><dir name="Adminhtml"><dir name="Button"><file name="Test.php" hash="f23e261d8cf7ef8314f121978b3b03d3"/></dir><dir name="Label"><file name="Renderer.php" hash="89a6ec5dddca5fcf86fbe85b83d87650"/></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="28ec3fc4be05e608c27da2722b75d2d1"/></dir><dir name="Model"><dir name="Admin"><dir name="Status"><file name="Active.php" hash="28d46ddb38425dcdddf34a694fcbcd84"/><file name="Attributes.php" hash="88821a4f01364ff8223409c33a0b6167"/><dir name="Cron"><file name="Count.php" hash="8f8de0b781e5889c63b508dcba24532b"/><file name="GlobalCounters.php" hash="7b89f230d9a4fbd65bbf1dd87fd2d196"/><file name="Mage.php" hash="922159223ba73f6ecb4cb019595009f4"/><file name="Stat.php" hash="64e4b605214a0a966adada181d413d79"/><file name="Sync.php" hash="ab2313a6949823565001b9787a1a255a"/></dir><file name="Cron.php" hash="438fdf0f97428fed2cf30fe91f96f882"/><dir name="Sync"><file name="Customers.php" hash="1446fca53ddd58161169127191c400d6"/><file name="Invoices.php" hash="744b4b376c0e9bbfef8dcaef4e3e9118"/><file name="Orders.php" hash="37374a9ef8d14ecaf4c14aea024db042"/><file name="Products.php" hash="e8372e002264bfcbb8fc8d07e911c13e"/></dir><file name="SyncPercent.php" hash="a8184ca9718a8e72a14c69067dc867bf"/><file name="UseShipping.php" hash="4fa20aab09e013955dc989595ebf0aab"/></dir></dir><file name="Config.php" hash="590dd9e3939f58560d9b004763d48c05"/><dir name="Cron"><file name="Count.php" hash="e9fb746dabb7a9e2c8433f43fa723df8"/><file name="GlobalCounters.php" hash="c55ce27f8ea8c9a22b22053ae3715bff"/><file name="Request.php" hash="d0d5c8e1b3ba294ef4a628148f4eff3f"/><file name="Stock.php" hash="b2e4edf9c16b25b57d224ff41255d249"/><file name="Sync.php" hash="7ee01469a97d64392e0d45df462af342"/></dir><file name="Cron.php" hash="51f800a9c3c0ab0acdcda3aa9ba51104"/><file name="Customer.php" hash="c99b23d2ec6ffd8acdcc11cf7ed6421e"/><file name="Observer.php" hash="6d29e3b6e3b740f8fcdbaf8f78feabba"/><dir name="Request"><file name="Base.php" hash="2c3fea1af836bedb205786d67465b97d"/><file name="Diagnose.php" hash="5e8525e5392c705660e800faf9b3e057"/><file name="Dq.php" hash="813628e7a57c45f37f83024cce909bdb"/><file name="GetCounters.php" hash="58350a26c70f552349a1eac4a29bb729"/><file name="HandShake.php" hash="904a425860be3685d747503367cc2b11"/><file name="Interface.php" hash="680707fa0a26ecd7237d116bc0b0a3da"/><file name="ResetAbcarts.php" hash="facdc1c2486398a2a62db126c8518174"/><file name="ResetAll.php" hash="b2533da935c5c66f741490f7f082c8df"/><file name="ResetCreditmemos.php" hash="a199f6f07c67e219d85990a3a08454cc"/><file name="ResetCustomers.php" hash="570aff03d862608cea5e09ded7e7fd9b"/><file name="ResetInvoices.php" hash="7c62cfe07c089b6ca64e32c9f4667297"/><file name="ResetOrders.php" hash="b73a88a0b1bd908c9e9e1d386f23087f"/><file name="ResetProductCounters.php" hash="e84ea87e8c2dcf28189e870c84118317"/><file name="ResetProducts.php" hash="9cfbc9b3f2a1388ef61f0af516ea8e02"/><file name="SetSpeed.php" hash="48496a1971c80fdaa689e0d65d0acd16"/><file name="StartSync.php" hash="30d94be6608c4bce5cebb114ad241fdb"/><file name="StopSync.php" hash="61fb6758c1600eed20c40e4ec28fcef1"/><file name="SyncResult.php" hash="c2f9893e2a083f9c792bc43a212196e4"/></dir><dir name="Resource"><dir name="Config"><file name="Collection.php" hash="dc7cc10daf7e597be061d7bf841d0f66"/></dir><file name="Config.php" hash="e3f733d66219ffc946a1b3cd5eca980d"/><file name="Setup.php" hash="2f7cb85c64bd6103faf9208c7d5f451f"/></dir><dir name="Sync"><file name="Abcart.php" hash="8c941a318ee81c497656c245cce10779"/><file name="Creditnote.php" hash="6485779bff48de00a9ba0960c906cf9f"/><file name="Customer.php" hash="b49c41bf3a310a1b874f0498b4863af7"/><file name="CustomerAction.php" hash="160ace0a2e9fa8e28ce522f0d03db25d"/><file name="Interface.php" hash="d74a42d2d34c34ce8ec3379bb220127f"/><file name="Invoice.php" hash="d5869cc321f5f5c5b6ad9f103aab7bc2"/><file name="Order.php" hash="5cf743f522fe085b55fbc9f22124d3d5"/><file name="Product.php" hash="991c961a389a1046c7262abae5bba575"/><file name="ProductVariation.php" hash="c3042550b9849335c1af13cc26d61504"/></dir><file name="Sync.php" hash="8aa9f12fbe6fde9304046ff332ecfda9"/><file name="Utils.php" hash="a77825d378f0692900f396288c727358"/><file name="Utmz.php" hash="b3b1d805e042142f8d713e253836b1b1"/></dir><dir name="controllers"><file name="IndexController.php" hash="3e82f22fc3c16aa11a8a3b925a8ef2fb"/><file name="PublicController.php" hash="49b73f02a1ed29bba55490f82af75608"/><file name="TestController.php" hash="1aa552084dd6f585c2bb49b9ea13eeb5"/></dir><dir name="etc"><file name="adminhtml.xml" hash="aab2ef0e4aedb050d8b60937a085537c"/><file name="config.xml" hash="7fecb0ebd5b365c81c49237f8d4b1237"/><file name="system.xml" hash="ea549855e9eeef1ca9ae51e7449a78e9"/></dir><dir name="sql"><dir name="unityreports_setup"><file name="mysql4-install-0.7.2.php" hash="15298718b85d6aa3bec4e1220f804d8f"/><file name="mysql4-install-0.7.3.php" hash="15298718b85d6aa3bec4e1220f804d8f"/><file name="mysql4-upgrade-0.6.2-0.7.2.php" hash="7c1abd7bed806f811ffedf9cdb2c0cc0"/><file name="mysql4-upgrade-0.7.2-0.7.3.php" hash="fcbc4f1c8b216548ee212855142857f8"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Intelivemetrics_Unityreports.xml" hash="ccb9d92196bbc626b5552746ac3ad08b"/></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="unityreports.xml" hash="1378f49dd55356156426785b3d1e3eab"/></dir></dir></dir></dir></target><target name="mageweb"><dir name="js"><dir name="intelivemetrics"><dir name="unityreports"><file name="utmz-alternative.js" hash="20f145b83473ec9c13b738b3f15ee969"/></dir></dir></dir></target></contents>
|
18 |
<compatible/>
|
19 |
<dependencies><required><php><min>5.1.0</min><max>7.0.0</max></php></required></dependencies>
|
20 |
</package>
|