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:
authorThomas Steur <thomas.steur@gmail.com>2015-07-03 03:54:27 +0300
committersgiehl <stefan@piwik.org>2015-10-06 18:25:13 +0300
commit9ba8f216fd7856ce5fef06bf82ecb8f8a2e7e630 (patch)
tree6ce07d18a85d00b39ab720abe042361c0775aead /plugins/VisitFrequency/Reports
parent8ccc9dc05da021325cdbf141a548637fa52f16b2 (diff)
generate pages instead of implementing them in each controller
Diffstat (limited to 'plugins/VisitFrequency/Reports')
-rw-r--r--plugins/VisitFrequency/Reports/Get.php62
1 files changed, 61 insertions, 1 deletions
diff --git a/plugins/VisitFrequency/Reports/Get.php b/plugins/VisitFrequency/Reports/Get.php
index eb4c7ddfbe..735f1cbe0f 100644
--- a/plugins/VisitFrequency/Reports/Get.php
+++ b/plugins/VisitFrequency/Reports/Get.php
@@ -9,17 +9,22 @@
namespace Piwik\Plugins\VisitFrequency\Reports;
use Piwik\Piwik;
+use Piwik\Plugin\ViewDataTable;
use Piwik\Plugins\CoreHome\Columns\Metrics\ActionsPerVisit;
use Piwik\Plugins\CoreHome\Columns\Metrics\AverageTimeOnSite;
use Piwik\Plugins\CoreHome\Columns\Metrics\BounceRate;
+use Piwik\Plugins\CoreVisualizations\Visualizations\JqplotGraph\Evolution;
+use Piwik\Plugins\CoreVisualizations\Visualizations\Sparklines;
use Piwik\Plugins\VisitFrequency\Columns\Metrics\ReturningMetric;
+use Piwik\Report\ReportWidgetFactory;
+use Piwik\Widget\WidgetsList;
class Get extends \Piwik\Plugin\Report
{
protected function init()
{
parent::init();
- $this->category = 'General_Visitors';
+ $this->categoryId = 'General_Visitors';
$this->name = Piwik::translate('VisitFrequency_ColumnReturningVisits');
$this->documentation = ''; // TODO
$this->processedMetrics = array(
@@ -35,5 +40,60 @@ class Get extends \Piwik\Plugin\Report
'max_actions_returning'
);
$this->order = 40;
+ $this->subcategoryId = 'VisitorInterest_Engagement';
}
+
+ public function configureWidgets(WidgetsList $widgetsList, ReportWidgetFactory $factory)
+ {
+ $widgetsList->addWidgetConfig(
+ $factory->createWidget()
+ ->setName('VisitFrequency_WidgetGraphReturning')
+ ->forceViewDataTable(Evolution::ID)
+ ->setAction('getEvolutionGraph')
+ ->setOrder(1)
+ );
+
+ $widgetsList->addWidgetConfig(
+ $factory->createWidget()
+ ->forceViewDataTable(Sparklines::ID)
+ ->setName('VisitFrequency_WidgetOverview')
+ ->setOrder(2)
+ );
+ }
+
+ public function configureView(ViewDataTable $view)
+ {
+ if ($view->isViewDataTableId(Sparklines::ID)) {
+ $view->requestConfig->apiMethodToRequestDataTable = 'VisitFrequency.get';
+ $this->addSparklineColumns($view);
+ $view->config->addTranslations($this->getSparklineTranslations());
+ }
+ }
+
+ private function getSparklineTranslations()
+ {
+ $translations = array(
+ 'nb_visits_returning' => 'ReturnVisits',
+ 'nb_actions_returning' => 'ReturnActions',
+ 'nb_actions_per_visit_returning' => 'ReturnAvgActions',
+ 'avg_time_on_site_returning' => 'ReturnAverageVisitDuration',
+ 'bounce_rate_returning' => 'ReturnBounceRate',
+ );
+
+ foreach ($translations as $metric => $key) {
+ $translations[$metric] = Piwik::translate('VisitFrequency_' . $key);
+ }
+
+ return $translations;
+ }
+
+ private function addSparklineColumns(Sparklines $view)
+ {
+ $view->config->addSparklineMetric(array('nb_visits_returning'));
+ $view->config->addSparklineMetric(array('avg_time_on_site_returning'));
+ $view->config->addSparklineMetric(array('nb_actions_per_visit_returning'));
+ $view->config->addSparklineMetric(array('bounce_rate_returning'));
+ $view->config->addSparklineMetric(array('nb_actions_returning'));
+ }
+
}