PluginProbe ʕ •ᴥ•ʔ
Matomo Analytics – Powerful, Privacy-First Insights for WordPress / 1.3.1
Matomo Analytics – Powerful, Privacy-First Insights for WordPress v1.3.1
5.11.1 5.11.0 5.10.2 5.10.1 trunk 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.1.0 1.1.1 1.1.2 1.1.3 1.2.0 1.3.0 1.3.1 1.3.2 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.1.0 4.1.1 4.1.2 4.1.3 4.10.0 4.11.0 4.12.0 4.13.0 4.13.2 4.13.3 4.13.4 4.13.5 4.14.0 4.14.1 4.14.2 4.15.0 4.15.1 4.15.2 4.15.3 4.2.0 4.3.0 4.3.1 4.4.1 4.4.2 4.5.0 4.6.0 5.0.1 5.0.2 5.0.3 5.0.4 5.0.5 5.0.6 5.0.7 5.0.8 5.1.0 5.1.1 5.1.2 5.1.3 5.1.4 5.1.5 5.1.6 5.1.7 5.10.0 5.2.0 5.2.1 5.2.2 5.3.0 5.3.1 5.3.2 5.3.3 5.6.0 5.6.1 5.7.0 5.7.1 5.8.0 5.8.1 5.8.2
matomo / app / core / Report / ReportWidgetConfig.php
matomo / app / core / Report Last commit date
ReportWidgetConfig.php 6 years ago ReportWidgetFactory.php 6 years ago
ReportWidgetConfig.php
90 lines
1 <?php
2 /**
3 * Piwik - free/libre analytics platform
4 *
5 * @link https://matomo.org
6 * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
7 *
8 */
9 namespace Piwik\Report;
10 use Piwik\Widget\WidgetConfig;
11
12 /**
13 * Defines a widget config that is used to render a report.
14 *
15 * @api since Piwik 3.0.0
16 */
17 class ReportWidgetConfig extends WidgetConfig
18 {
19 protected $viewDataTable = null;
20 protected $forceViewDataTable = false;
21
22 /**
23 * Sets a default viewDataTable that should be used to render the report. This is not neccessarily the
24 * view that will be actually used to render the report. Eg if a user switched manually to another viewDataTable
25 * Piwik will re-use the viewDataTable that was used the last time. If you want to force the usage of a
26 * viewDataTable use {@link forceViewDataTable()}.
27 *
28 * @param string $viewDataTableId eg 'table' or 'graph'
29 * @return static
30 */
31 public function setDefaultViewDataTable($viewDataTableId)
32 {
33 $this->viewDataTable = $viewDataTableId;
34 return $this;
35 }
36
37 /**
38 * Forces the usage of the given viewDataTable in order to render the report.
39 *
40 * @param string $viewDataTableId eg 'table' or 'graph'
41 * @return $this
42 */
43 public function forceViewDataTable($viewDataTableId)
44 {
45 $this->forceViewDataTable = true;
46 $this->setDefaultViewDataTable($viewDataTableId);
47
48 return $this;
49 }
50
51 /**
52 * Detect whether a defined viewDataTable should be forced in order to render a report.
53 * @return bool
54 */
55 public function isViewDataTableForced()
56 {
57 return $this->forceViewDataTable;
58 }
59
60 /**
61 * Get the specified viewDataTable.
62 * @return string
63 */
64 public function getViewDataTable()
65 {
66 return $this->viewDataTable;
67 }
68
69 /**
70 * @inheritdoc
71 */
72 public function getParameters()
73 {
74 $parameters = parent::getParameters();
75
76 $defaultParams = array();
77
78 if ($this->forceViewDataTable) {
79 $defaultParams['forceView'] = '1';
80
81 if ($this->viewDataTable) {
82 // URL param is not needed for default view dataTable
83 $defaultParams['viewDataTable'] = $this->viewDataTable;
84 }
85 }
86
87 return $defaultParams + $parameters;
88 }
89
90 }