Server IP : 192.158.238.246 / Your IP : 3.141.193.189 Web Server : LiteSpeed System : Linux uniform.iwebfusion.net 4.18.0-553.27.1.lve.1.el8.x86_64 #1 SMP Wed Nov 20 15:58:00 UTC 2024 x86_64 User : jenniferflocom ( 1321) PHP Version : 8.1.32 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /proc/7779/task/7779/cwd/plugins/give/src/Framework/QueryBuilder/Clauses/ |
Upload File : |
<?php namespace Give\Framework\QueryBuilder\Clauses; use Give\Framework\QueryBuilder\Types\Operator; use InvalidArgumentException; /** * @since 2.19.0 */ class Where { /** * @var string */ public $column; /** * @var mixed */ public $value; /** * @var string */ public $comparisonOperator; /** * @var string */ public $logicalOperator; /** * @var string|null */ public $type; /** * @param string $column * @param string $value * @param string $comparisonOperator * @param string|null $logicalOperator */ public function __construct($column, $value, $comparisonOperator, $logicalOperator) { $this->column = trim($column); $this->value = $value; $this->comparisonOperator = $this->getComparisonOperator($comparisonOperator); $this->logicalOperator = $logicalOperator ? $this->getLogicalOperator($logicalOperator) : ''; } /** * @param string $comparisonOperator * * @return string */ private function getComparisonOperator($comparisonOperator) { $operators = [ '<', '<=', '>', '>=', '<>', '!=', '=', Operator::LIKE, Operator::NOTLIKE, Operator::IN, Operator::NOTIN, Operator::BETWEEN, Operator::NOTBETWEEN, Operator::ISNULL, Operator::NOTNULL ]; if (!in_array($comparisonOperator, $operators, true)) { throw new InvalidArgumentException( sprintf( 'Unsupported comparison operator %s. Please use one of the supported operators (%s)', $comparisonOperator, implode(',', $operators) ) ); } return $comparisonOperator; } /** * @param string $logicalOperator * * @return string */ private function getLogicalOperator($logicalOperator) { $operators = [ Operator::_AND, Operator::_OR ]; $logicalOperator = strtoupper($logicalOperator); if (!in_array($logicalOperator, $operators, true)) { throw new InvalidArgumentException( sprintf( 'Unsupported logical operator %s. Please use one of the supported operators (%s)', $logicalOperator, implode(',', $operators) ) ); } return $logicalOperator; } }