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:
Diffstat (limited to 'plugins/CoreVisualizations/Visualizations/JqplotGraph/Evolution.php')
-rw-r--r--plugins/CoreVisualizations/Visualizations/JqplotGraph/Evolution.php41
1 files changed, 39 insertions, 2 deletions
diff --git a/plugins/CoreVisualizations/Visualizations/JqplotGraph/Evolution.php b/plugins/CoreVisualizations/Visualizations/JqplotGraph/Evolution.php
index 5de7fc5114..337bb233b2 100644
--- a/plugins/CoreVisualizations/Visualizations/JqplotGraph/Evolution.php
+++ b/plugins/CoreVisualizations/Visualizations/JqplotGraph/Evolution.php
@@ -9,8 +9,11 @@
namespace Piwik\Plugins\CoreVisualizations\Visualizations\JqplotGraph;
+use Piwik\API\Request as ApiRequest;
use Piwik\Common;
use Piwik\DataTable;
+use Piwik\Period;
+use Piwik\Period\Factory;
use Piwik\Period\Range;
use Piwik\Plugins\CoreVisualizations\JqplotDataGenerator;
use Piwik\Plugins\CoreVisualizations\Visualizations\JqplotGraph;
@@ -43,7 +46,9 @@ class Evolution extends JqplotGraph
public function beforeLoadDataTable()
{
- $this->calculateEvolutionDateRange();
+ if (!$this->isComparing()) {
+ $this->calculateEvolutionDateRange();
+ }
parent::beforeLoadDataTable();
@@ -55,6 +60,33 @@ class Evolution extends JqplotGraph
}
$this->config->custom_parameters['columns'] = $this->config->columns_to_display;
+
+ if ($this->isComparing()) {
+ $requestArray = $this->request->getRequestArray();
+ $requestArray = ApiRequest::getRequestArrayFromString($requestArray);
+
+ $requestingPeriod = Factory::build($requestArray['period'], $requestArray['date']);
+
+ $this->requestConfig->request_parameters_to_modify['period'] = 'day';
+ $this->requestConfig->request_parameters_to_modify['date'] = $requestingPeriod->getDateStart()->toString() . ',' . $requestingPeriod->getDateEnd()->toString();
+
+ if (!empty($requestArray['comparePeriods'])) {
+ foreach ($requestArray['comparePeriods'] as $index => $comparePeriod) {
+ $compareDate = $requestArray['compareDates'][$index];
+ if (Period::isMultiplePeriod($compareDate, $comparePeriod)) {
+ continue;
+ }
+
+ $comparePeriodObj = Factory::build($comparePeriod, $compareDate);
+
+ $requestArray['comparePeriods'][$index] = 'day';
+ $requestArray['compareDates'][$index] = $comparePeriodObj->getRangeString();
+ }
+
+ $this->requestConfig->request_parameters_to_modify['compareDates'] = $requestArray['compareDates'];
+ $this->requestConfig->request_parameters_to_modify['comparePeriods'] = $requestArray['comparePeriods'];
+ }
+ }
}
public function afterAllFiltersAreApplied()
@@ -70,7 +102,7 @@ class Evolution extends JqplotGraph
protected function makeDataGenerator($properties)
{
- return JqplotDataGenerator::factory('evolution', $properties);
+ return JqplotDataGenerator::factory('evolution', $properties, $this);
}
/**
@@ -199,4 +231,9 @@ class Evolution extends JqplotGraph
return ceil($paddedCount / $steps);
}
+
+ public function supportsComparison()
+ {
+ return true;
+ }
}