PluginProbe ʕ •ᴥ•ʔ
Matomo Analytics – Powerful, Privacy-First Insights for WordPress / trunk
Matomo Analytics – Powerful, Privacy-First Insights for WordPress vtrunk
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 1 year ago ReportWidgetFactory.php 2 years ago
ReportWidgetConfig.php
80 lines
1 <?php
2
3 /**
4 * Matomo - free/libre analytics platform
5 *
6 * @link https://matomo.org
7 * @license https://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
8 */
9 namespace Piwik\Report;
10
11 use Piwik\Widget\WidgetConfig;
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 * Sets a default viewDataTable that should be used to render the report. This is not necessarily the
23 * view that will be actually used to render the report. Eg if a user switched manually to another viewDataTable
24 * Piwik will re-use the viewDataTable that was used the last time. If you want to force the usage of a
25 * viewDataTable use {@link forceViewDataTable()}.
26 *
27 * @param string $viewDataTableId eg 'table' or 'graph'
28 * @return static
29 */
30 public function setDefaultViewDataTable($viewDataTableId)
31 {
32 $this->viewDataTable = $viewDataTableId;
33 return $this;
34 }
35 /**
36 * Forces the usage of the given viewDataTable in order to render the report.
37 *
38 * @param string $viewDataTableId eg 'table' or 'graph'
39 * @return $this
40 */
41 public function forceViewDataTable($viewDataTableId)
42 {
43 $this->forceViewDataTable = \true;
44 $this->setDefaultViewDataTable($viewDataTableId);
45 return $this;
46 }
47 /**
48 * Detect whether a defined viewDataTable should be forced in order to render a report.
49 * @return bool
50 */
51 public function isViewDataTableForced()
52 {
53 return $this->forceViewDataTable;
54 }
55 /**
56 * Get the specified viewDataTable.
57 * @return string
58 */
59 public function getViewDataTable()
60 {
61 return $this->viewDataTable;
62 }
63 /**
64 * @inheritdoc
65 */
66 public function getParameters()
67 {
68 $parameters = parent::getParameters();
69 $defaultParams = array();
70 if ($this->forceViewDataTable) {
71 $defaultParams['forceView'] = '1';
72 if ($this->viewDataTable) {
73 // URL param is not needed for default view dataTable
74 $defaultParams['viewDataTable'] = $this->viewDataTable;
75 }
76 }
77 return $defaultParams + $parameters;
78 }
79 }
80