![]() Server : LiteSpeed System : Linux premium84.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64 User : claqxcrl ( 523) PHP Version : 8.1.32 Disable Function : NONE Directory : /home/claqxcrl/anfangola.com/wp-content/plugins/matomo/app/core/Columns/ |
<?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\Columns; use Exception; /** * @api * @since 3.1.0 */ class Discriminator { private $table; private $discriminatorColumn; private $discriminatorValue; /** * Join constructor. * @param string $table unprefixed table name * @param null|string $discriminatorColumn * @param null|int $discriminatorValue should be only hard coded, safe values. * @throws Exception */ public function __construct($table, $discriminatorColumn = null, $discriminatorValue = null) { if (empty($discriminatorColumn) || !isset($discriminatorValue)) { throw new Exception('Both discriminatorColumn and discriminatorValue need to be defined'); } $this->table = $table; $this->discriminatorColumn = $discriminatorColumn; $this->discriminatorValue = $discriminatorValue; if (!$this->isValid()) { // if adding another string value please post an event instead to get a list of allowed values throw new Exception('$discriminatorValue needs to be null or numeric'); } } public function isValid() { return isset($this->discriminatorColumn) && is_numeric($this->discriminatorValue); } /** * @return string */ public function getTable() { return $this->table; } /** * @return string */ public function getColumn() { return $this->discriminatorColumn; } /** * @return int|null */ public function getValue() { return $this->discriminatorValue; } }