Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordiosmosis <benaka@piwik.pro>2014-11-27 02:34:21 +0300
committerdiosmosis <benaka@piwik.pro>2014-11-27 02:34:21 +0300
commitf56c92e7648ba54ccbf6bafefaae3879c1383b0d (patch)
treeb8d43047fa11f3147c0875c890939e7ff691564b /plugins/MultiSites/API.php
parent9c267a22546e474147b7410e4a0a41e14d5342ed (diff)
Fix regression in MultiSites w/ regard to master, make sure orders_evolution and ecommerce_revenue_evolution are not present if ecommerce is not enabled for the site.
Diffstat (limited to 'plugins/MultiSites/API.php')
-rwxr-xr-xplugins/MultiSites/API.php26
1 files changed, 11 insertions, 15 deletions
diff --git a/plugins/MultiSites/API.php b/plugins/MultiSites/API.php
index 3e29b1560e..b5de1060a5 100755
--- a/plugins/MultiSites/API.php
+++ b/plugins/MultiSites/API.php
@@ -244,18 +244,6 @@ class API extends \Piwik\Plugin\API
$this->calculateEvolutionPercentages($dataTable, $pastData, $apiMetrics);
}
- // remove eCommerce related metrics on non eCommerce Piwik sites
- // note: this is not optimal in terms of performance: those metrics should not be retrieved in the first place
- if ($enhanced) {
- if ($dataTable instanceof DataTable\Map) {
- foreach ($dataTable->getDataTables() as $table) {
- $this->removeEcommerceRelatedMetricsOnNonEcommercePiwikSites($table, $apiECommerceMetrics);
- }
- } else {
- $this->removeEcommerceRelatedMetricsOnNonEcommercePiwikSites($dataTable, $apiECommerceMetrics);
- }
- }
-
// move the site id to a metadata column
$dataTable->filter('ColumnCallbackAddMetadata', array('label', 'group', array('\Piwik\Site', 'getGroupFor'), array()));
$dataTable->filter('ColumnCallbackAddMetadata', array('label', 'main_url', array('\Piwik\Site', 'getMainUrlFor'), array()));
@@ -330,8 +318,8 @@ class API extends \Piwik\Plugin\API
} else {
$extraProcessedMetrics = $currentData->getMetadata(DataTable::EXTRA_PROCESSED_METRICS_METADATA_NAME);
foreach ($apiMetrics as $metricSettings) {
- $evolutionMetricClass = $metricSettings[self::METRIC_EVOLUTION_COL_NAME_KEY] == 'revenue_evolution'
- ? "Piwik\\Plugins\\MultiSites\\Columns\\Metrics\\RevenueEvolution"
+ $evolutionMetricClass = $this->isEcommerceEvolutionMetric($metricSettings)
+ ? "Piwik\\Plugins\\MultiSites\\Columns\\Metrics\\EcommerceOnlyEvolutionMetric"
: "Piwik\\Plugins\\CoreHome\\Columns\\Metrics\\EvolutionMetric";
$extraProcessedMetrics[] = new $evolutionMetricClass(
@@ -508,5 +496,13 @@ class API extends \Piwik\Plugin\API
return $dataTable;
}
-}
+ private function isEcommerceEvolutionMetric($metricSettings)
+ {
+ return in_array($metricSettings[self::METRIC_EVOLUTION_COL_NAME_KEY], array(
+ self::GOAL_REVENUE_METRIC . '_evolution',
+ self::ECOMMERCE_ORDERS_METRIC . '_evolution',
+ self::ECOMMERCE_REVENUE_METRIC . '_evolution'
+ ));
+ }
+} \ No newline at end of file