Newer
Older
<?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\CustomVariables\Reports;
use Piwik\Piwik;
use Piwik\Plugin\ViewDataTable;
Thomas Steur
a validé
use Piwik\Plugins\CustomVariables\Columns\CustomVariableName;
class GetCustomVariables extends Base
{
protected function init()
{
parent::init();
Thomas Steur
a validé
$this->dimension = new CustomVariableName();
$this->name = Piwik::translate('CustomVariables_CustomVariables');
$this->documentation = Piwik::translate('CustomVariables_CustomVariablesReportDocumentation',
array('<br />', '<a href="http://piwik.org/docs/custom-variables/" rel="noreferrer" target="_blank">', '</a>'));
$this->actionToLoadSubTables = 'getCustomVariablesValuesFromNameId';
$this->order = 10;
$this->widgetTitle = 'CustomVariables_CustomVariables';
Thomas Steur
a validé
$this->menuTitle = 'CustomVariables_CustomVariables';
}
public function configureView(ViewDataTable $view)
{
$view->config->columns_to_display = array('label', 'nb_actions', 'nb_visits');
$view->config->addTranslation('label', Piwik::translate('CustomVariables_ColumnCustomVariableName'));
$view->requestConfig->filter_sort_column = 'nb_actions';
$view->requestConfig->filter_sort_order = 'desc';
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
if($this->isReportContainsUnsetVisitsColumns()) {
$message = $this->getFooterMessageExplanationMissingMetrics();
$view->config->show_footer_message = $message;
}
}
/**
* @return array
*/
protected function getFooterMessageExplanationMissingMetrics()
{
$metrics = sprintf("'%s', '%s' %s '%s'",
Piwik::translate('General_ColumnNbVisits'),
Piwik::translate('General_ColumnNbUniqVisitors'),
Piwik::translate('General_And'),
Piwik::translate('General_ColumnNbUsers')
);
$messageStart = Piwik::translate('Note: %s metrics are available for Custom Variables of scope \'visit\' only.', $metrics);
$messageEnd = Piwik::translate('For Custom Variables of scope \'page\', the column value for these metrics is %s', array('\'-\''));
return $messageStart . ' ' . $messageEnd;
}
/**
* @return bool
*/
protected function isReportContainsUnsetVisitsColumns()
{
$report = $this->fetch();
$visits = $report->getColumn('nb_visits');
$isVisitsMetricsSometimesUnset = in_array(false, $visits);
return $isVisitsMetricsSometimesUnset;