82 lines
No EOL
2.3 KiB
PHP
82 lines
No EOL
2.3 KiB
PHP
<?php
|
|
/**
|
|
* Piwik - free/libre analytics platform
|
|
*
|
|
* @link http://piwik.org
|
|
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
|
|
*
|
|
*/
|
|
namespace Piwik\Plugins\VisitsSummary\Reports;
|
|
|
|
use Piwik\Piwik;
|
|
use Piwik\Plugins\CoreHome\Columns\Metrics\ActionsPerVisit;
|
|
use Piwik\Plugins\CoreHome\Columns\Metrics\AverageTimeOnSite;
|
|
use Piwik\Plugins\CoreHome\Columns\Metrics\BounceRate;
|
|
|
|
class Get extends \Piwik\Plugin\Report
|
|
{
|
|
private $usersColumn = 'nb_users';
|
|
|
|
protected function init()
|
|
{
|
|
parent::init();
|
|
$this->category = 'VisitsSummary_VisitsSummary';
|
|
$this->name = Piwik::translate('VisitsSummary_VisitsSummary');
|
|
$this->documentation = ''; // TODO
|
|
$this->processedMetrics = array(
|
|
new BounceRate(),
|
|
new ActionsPerVisit(),
|
|
new AverageTimeOnSite()
|
|
);
|
|
$this->metrics = array(
|
|
'nb_uniq_visitors',
|
|
'nb_visits',
|
|
$this->usersColumn,
|
|
'nb_actions',
|
|
'max_actions'
|
|
);
|
|
// Used to process metrics, not displayed/used directly
|
|
// 'sum_visit_length',
|
|
// 'nb_visits_converted',
|
|
$this->order = 1;
|
|
}
|
|
|
|
public function getMetrics()
|
|
{
|
|
$metrics = parent::getMetrics();
|
|
|
|
$metrics['max_actions'] = Piwik::translate('General_ColumnMaxActions');
|
|
|
|
return $metrics;
|
|
}
|
|
|
|
public function getProcessedMetrics()
|
|
{
|
|
$metrics = parent::getProcessedMetrics();
|
|
|
|
$metrics['avg_time_on_site'] = Piwik::translate('General_VisitDuration');
|
|
|
|
return $metrics;
|
|
}
|
|
|
|
public function removeUsersFromProcessedReport(&$response)
|
|
{
|
|
if (!empty($response['metadata']['metrics'][$this->usersColumn])) {
|
|
unset($response['metadata']['metrics'][$this->usersColumn]);
|
|
}
|
|
|
|
if (!empty($response['metadata']['metricsDocumentation'][$this->usersColumn])) {
|
|
unset($response['metadata']['metricsDocumentation'][$this->usersColumn]);
|
|
}
|
|
|
|
if (!empty($response['columns'][$this->usersColumn])) {
|
|
unset($response['columns'][$this->usersColumn]);
|
|
}
|
|
|
|
if (!empty($response['reportData'])) {
|
|
$dataTable = $response['reportData'];
|
|
$dataTable->deleteColumn($this->usersColumn, true);
|
|
}
|
|
}
|
|
|
|
} |