forked from rebillar/site-accueil-insa
90 lines
2.3 KiB
PHP
90 lines
2.3 KiB
PHP
<?php
|
|
/**
|
|
* Matomo - free/libre analytics platform
|
|
*
|
|
* @link https://matomo.org
|
|
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
|
|
*
|
|
*/
|
|
namespace Piwik\Report;
|
|
use Piwik\Widget\WidgetConfig;
|
|
|
|
/**
|
|
* Defines a widget config that is used to render a report.
|
|
*
|
|
* @api since Piwik 3.0.0
|
|
*/
|
|
class ReportWidgetConfig extends WidgetConfig
|
|
{
|
|
protected $viewDataTable = null;
|
|
protected $forceViewDataTable = false;
|
|
|
|
/**
|
|
* Sets a default viewDataTable that should be used to render the report. This is not necessarily the
|
|
* view that will be actually used to render the report. Eg if a user switched manually to another viewDataTable
|
|
* Piwik will re-use the viewDataTable that was used the last time. If you want to force the usage of a
|
|
* viewDataTable use {@link forceViewDataTable()}.
|
|
*
|
|
* @param string $viewDataTableId eg 'table' or 'graph'
|
|
* @return static
|
|
*/
|
|
public function setDefaultViewDataTable($viewDataTableId)
|
|
{
|
|
$this->viewDataTable = $viewDataTableId;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Forces the usage of the given viewDataTable in order to render the report.
|
|
*
|
|
* @param string $viewDataTableId eg 'table' or 'graph'
|
|
* @return $this
|
|
*/
|
|
public function forceViewDataTable($viewDataTableId)
|
|
{
|
|
$this->forceViewDataTable = true;
|
|
$this->setDefaultViewDataTable($viewDataTableId);
|
|
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Detect whether a defined viewDataTable should be forced in order to render a report.
|
|
* @return bool
|
|
*/
|
|
public function isViewDataTableForced()
|
|
{
|
|
return $this->forceViewDataTable;
|
|
}
|
|
|
|
/**
|
|
* Get the specified viewDataTable.
|
|
* @return string
|
|
*/
|
|
public function getViewDataTable()
|
|
{
|
|
return $this->viewDataTable;
|
|
}
|
|
|
|
/**
|
|
* @inheritdoc
|
|
*/
|
|
public function getParameters()
|
|
{
|
|
$parameters = parent::getParameters();
|
|
|
|
$defaultParams = array();
|
|
|
|
if ($this->forceViewDataTable) {
|
|
$defaultParams['forceView'] = '1';
|
|
|
|
if ($this->viewDataTable) {
|
|
// URL param is not needed for default view dataTable
|
|
$defaultParams['viewDataTable'] = $this->viewDataTable;
|
|
}
|
|
}
|
|
|
|
return $defaultParams + $parameters;
|
|
}
|
|
|
|
}
|