PluginProbe ʕ •ᴥ•ʔ
Matomo Analytics – Powerful, Privacy-First Insights for WordPress / 5.0.3
Matomo Analytics – Powerful, Privacy-First Insights for WordPress v5.0.3
5.13.0 5.12.1 5.12.0 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 / Columns / Discriminator.php
matomo / app / core / Columns Last commit date
Join 2 years ago ComputedMetricFactory.php 2 years ago Dimension.php 2 years ago DimensionMetricFactory.php 2 years ago DimensionSegmentFactory.php 2 years ago DimensionsProvider.php 2 years ago Discriminator.php 2 years ago Join.php 2 years ago MetricsList.php 2 years ago Updater.php 2 years ago
Discriminator.php
68 lines
1 <?php
2
3 /**
4 * Matomo - free/libre analytics platform
5 *
6 * @link https://matomo.org
7 * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
8 *
9 */
10 namespace Piwik\Columns;
11
12 use Exception;
13 /**
14 * @api
15 * @since 3.1.0
16 */
17 class Discriminator
18 {
19 private $table;
20 private $discriminatorColumn;
21 private $discriminatorValue;
22 /**
23 * Join constructor.
24 * @param string $table unprefixed table name
25 * @param null|string $discriminatorColumn
26 * @param null|int $discriminatorValue should be only hard coded, safe values.
27 * @throws Exception
28 */
29 public function __construct($table, $discriminatorColumn = null, $discriminatorValue = null)
30 {
31 if (empty($discriminatorColumn) || !isset($discriminatorValue)) {
32 throw new Exception('Both discriminatorColumn and discriminatorValue need to be defined');
33 }
34 $this->table = $table;
35 $this->discriminatorColumn = $discriminatorColumn;
36 $this->discriminatorValue = $discriminatorValue;
37 if (!$this->isValid()) {
38 // if adding another string value please post an event instead to get a list of allowed values
39 throw new Exception('$discriminatorValue needs to be null or numeric');
40 }
41 }
42 public function isValid()
43 {
44 return isset($this->discriminatorColumn) && is_numeric($this->discriminatorValue);
45 }
46 /**
47 * @return string
48 */
49 public function getTable()
50 {
51 return $this->table;
52 }
53 /**
54 * @return string
55 */
56 public function getColumn()
57 {
58 return $this->discriminatorColumn;
59 }
60 /**
61 * @return int|null
62 */
63 public function getValue()
64 {
65 return $this->discriminatorValue;
66 }
67 }
68