PluginProbe ʕ •ᴥ•ʔ
MailPoet – Newsletters, Email Marketing, and Automation / 5.36.0
MailPoet – Newsletters, Email Marketing, and Automation v5.36.0
5.36.0 5.35.1 5.35.0 5.34.3 5.34.2 5.34.1 5.34.0 5.33.1 5.33.0 5.32.0 5.31.0 5.30.0 5.29.0 5.28.1 5.28.0 5.27.0 5.26.0 5.26.1 5.25.0 5.24.0 4.43.0 4.43.1 4.44.0 4.44.1 4.45.0 4.46.0 4.47.0 4.48.0 4.48.1 4.48.2 4.49.0 4.49.1 4.5.0 4.5.1 4.5.2 4.50.0 4.50.1 4.51.0 4.51.1 4.51.2 4.52.0 4.53.0 4.54.0 4.55.0 4.56.0 4.57.0 4.58.0 4.58.1 4.58.2 4.6.0 4.6.1 4.6.2 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 5.0.0 5.0.1 5.0.2 5.1.0 5.1.1 5.10.0 5.10.1 5.11.0 5.12.0 5.12.1 5.12.10 5.12.11 5.12.12 5.12.13 5.12.2 5.12.3 5.12.4 5.12.5 5.12.6 5.12.7 5.12.8 5.12.9 5.13.0 5.13.1 5.13.2 5.14.0 5.14.1 5.14.2 5.14.3 5.15.0 5.15.1 5.16.0 5.16.1 5.16.2 5.16.3 5.16.4 5.17.0 5.17.1 5.17.2 5.17.3 5.17.4 5.17.5 5.17.6 5.18.0 5.19.0 5.2.0 5.2.1 5.2.2 5.2.3 5.20.0 5.21.0 5.21.1 5.21.2 5.21.3 5.22.0 5.22.1 5.22.2 5.22.3 5.22.4 5.23.0 5.23.1 5.23.2 5.3.0 5.3.1 5.3.2 5.3.3 5.3.4 5.3.5 5.3.6 5.3.7 5.4.0 5.4.1 5.4.2 5.5.0 5.5.1 5.5.2 5.6.0 5.6.1 5.6.2 5.6.3 5.6.4 5.7.0 5.7.1 5.8.0 5.8.1 5.9.0 3.0.0-beta.15 3.7.1 3.0.0-beta.16 3.7.2 3.0.0-beta.17 3.7.3 3.0.0-beta.18 3.7.4 3.0.0-beta.19 3.7.5 3.0.0-beta.2 3.7.6 3.0.0-beta.20 3.7.8 3.0.0-beta.21 3.70.0 3.0.0-beta.22 3.71.0 3.0.0-beta.23 3.71.1 3.0.0-beta.23.1 3.71.2 3.0.0-beta.23.2 3.71.3 3.0.0-beta.24 3.72.0 3.0.0-beta.25 3.73.0 3.0.0-beta.26 3.73.1 3.0.0-beta.27 3.73.2 3.0.0-beta.28 3.74.0 3.0.0-beta.29 3.74.1 3.0.0-beta.3 3.74.2 3.0.0-beta.30 3.74.3 3.0.0-beta.31 3.75.0 3.0.0-beta.32 3.75.1 3.0.0-beta.33 3.76.0 3.0.0-beta.33.1 3.77.0 3.0.0-beta.34.0.0 3.77.1 3.0.0-beta.36.0.0 3.78.0 3.0.0-beta.36.0.1 3.79.0 3.0.0-beta.36.2.0 3.8 3.0.0-beta.36.3.0 3.8.1 3.0.0-beta.36.3.1 3.8.2 3.0.0-beta.37.0.0 3.8.3 3.0.0-beta.4 3.8.4 3.0.0-beta.5 3.8.5 3.0.0-beta.6 3.8.6 3.0.0-beta.7 3.80.0 3.0.0-beta.7.1 3.81.0 3.0.0-beta.8 3.82.0 3.0.0-beta.9 3.83.0 3.0.0-rc.1.0.0 3.84.0 3.0.0-rc.1.0.1 3.84.1 3.0.0-rc.1.0.2 3.85.0 3.0.0-rc.1.0.3 3.85.1 3.0.0-rc.1.0.4 3.86.0 3.0.0-rc.2.0.0 3.87.0 3.0.0-rc.2.0.1 3.87.1 3.0.0-rc.2.0.2 3.87.2 3.0.0-rc.2.0.3 3.88.0 3.0.1 3.88.1 3.0.2 3.88.2 3.0.3 3.89.0 3.0.4 3.89.1 3.0.5 3.89.2 3.0.6 3.89.3 3.0.7 3.89.4 3.0.8 3.9.0 3.0.9 3.9.1 3.1.0 3.90.0 3.10 3.90.1 3.10.1 3.90.2 3.100.0 3.91.0 3.100.1 3.91.1 3.100.2 3.92.0 3.101.0 3.92.1 3.101.1 3.93.0 3.102.0 3.93.1 3.102.1 3.94.0 3.103.0 3.95.0 3.103.1 3.95.1 3.11.0 3.96.0 3.11.1 3.96.1 3.11.2 3.97.0 3.11.3 3.98.0 3.11.4 3.98.1 3.11.5 3.99.0 3.12.0 3.99.1 3.12.1 4.0.0 3.13.0 4.0.1 3.14.0 4.1.0 3.14.1 4.1.1 3.15.0 4.10.0 3.16.0 4.11.0 3.16.1 4.11.1 3.16.2 4.12.0 3.16.3 4.12.1 3.17.0 4.12.2 3.17.1 4.13.0 3.17.2 4.14.0 3.18.0 4.15.0 3.18.1 4.16.0 3.18.2 4.17.0 3.19.0 4.17.1 3.19.1 4.18.0 3.19.2 4.18.1 3.19.3 4.19.0 3.2.0 4.2.0 3.2.1 4.20.0 3.2.2 4.20.1 3.2.3 4.20.2 3.2.4 4.21.0 3.2.5 4.22.0 3.20.0 4.22.1 3.21.0 4.22.2 3.21.1 4.23.0 3.22.0 4.24.0 3.23.0 4.25.0 3.23.1 4.26.0 3.23.2 4.26.1 3.24.0 4.27.0 3.25.0 4.28.0 3.25.1 4.29.0 3.26.0 4.3.0 3.26.1 4.3.1 3.27.0 4.30.0 3.28.0 4.31.0 3.29.0 4.31.1 3.3.0 4.32.0 3.3.1 4.33.0 3.3.2 4.34.0 3.3.3 4.35.0 3.3.4 4.35.1 3.3.5 4.36.0 3.3.6 4.37.0 3.30.0 4.38.0 3.31.0 4.39.0 3.31.1 4.4.0 3.32.0 4.40.0 3.32.1 4.41.0 3.32.2 4.41.1 3.33.0 4.41.2 3.34.0 4.41.3 3.34.1 4.42.0 3.34.2 4.42.1 3.34.3 3.34.4 3.35.0 3.35.1 3.35.3 3.35.4 3.36.0 3.37.0 3.37.1 3.37.2 3.37.3 3.38.0 3.38.1 3.39.0 3.39.1 3.39.2 3.4.0 3.4.1 3.4.2 3.4.3 3.4.4 3.40.0 3.40.1 3.41.0 3.41.1 3.41.2 3.42.0 3.42.1 3.42.2 3.42.3 3.43.0 3.43.1 3.44.0 3.45.0 3.45.1 3.46.0 3.46.1 3.46.10 3.46.11 3.46.12 3.46.13 3.46.14 3.46.2 3.46.3 3.46.4 3.46.5 3.46.6 3.46.7 3.46.8 3.46.9 3.47.0 3.47.1 3.47.10 3.47.11 3.47.2 3.47.3 3.47.5 3.47.6 3.47.7 3.47.9 3.48.0 3.48.1 3.49.0 3.49.1 3.5.0 3.5.1 3.50.0 3.51.0 3.51.1 3.51.2 3.52.0 3.53.0 3.54.0 3.54.1 3.54.2 3.54.3 3.55.0 3.55.1 3.56.0 3.56.1 3.56.2 3.57.0 3.57.1 3.58.0 3.59.0 3.59.1 3.59.2 3.6.0 3.6.1 3.6.2 3.6.3 3.6.4 3.6.5 3.6.6 3.6.7 3.60.0 3.60.1 3.60.10 3.60.11 3.60.12 3.60.2 3.60.3 3.60.4 3.60.6 3.60.7 3.60.8 3.60.9 3.61.0 3.62.0 3.62.1 3.63.0 3.64.0 3.64.1 3.64.2 3.64.3 3.65.0 trunk 3.65.1 3.0.0 3.66.0 3.0.0-beta.1 3.67.0 3.0.0-beta.10 3.67.1 3.0.0-beta.11 3.68.0 3.0.0-beta.12 3.69.0 3.0.0-beta.13 3.69.1 3.0.0-beta.14 3.7.0
mailpoet / vendor-prefixed / doctrine / orm / src / Query / Expr.php
mailpoet / vendor-prefixed / doctrine / orm / src / Query Last commit date
AST 9 months ago Exec 9 months ago Expr 9 months ago Filter 9 months ago Expr.php 9 months ago FilterCollection.php 9 months ago Lexer.php 9 months ago OutputWalker.php 9 months ago Parameter.php 9 months ago ParameterTypeInferer.php 9 months ago Parser.php 9 months ago ParserResult.php 9 months ago Printer.php 9 months ago QueryException.php 9 months ago QueryExpressionVisitor.php 9 months ago ResultSetMapping.php 9 months ago ResultSetMappingBuilder.php 9 months ago SqlOutputWalker.php 9 months ago SqlWalker.php 9 months ago TokenType.php 9 months ago TreeWalker.php 9 months ago TreeWalkerAdapter.php 9 months ago TreeWalkerChain.php 9 months ago TreeWalkerChainIterator.php 9 months ago index.php 9 months ago
Expr.php
223 lines
1 <?php
2 declare (strict_types=1);
3 namespace MailPoetVendor\Doctrine\ORM\Query;
4 if (!defined('ABSPATH')) exit;
5 use Traversable;
6 use function func_get_args;
7 use function implode;
8 use function is_bool;
9 use function is_float;
10 use function is_int;
11 use function is_iterable;
12 use function iterator_to_array;
13 use function str_replace;
14 class Expr
15 {
16 public function andX($x = null)
17 {
18 return new Expr\Andx(func_get_args());
19 }
20 public function orX($x = null)
21 {
22 return new Expr\Orx(func_get_args());
23 }
24 public function asc($expr)
25 {
26 return new Expr\OrderBy($expr, 'ASC');
27 }
28 public function desc($expr)
29 {
30 return new Expr\OrderBy($expr, 'DESC');
31 }
32 public function eq($x, $y)
33 {
34 return new Expr\Comparison($x, Expr\Comparison::EQ, $y);
35 }
36 public function neq($x, $y)
37 {
38 return new Expr\Comparison($x, Expr\Comparison::NEQ, $y);
39 }
40 public function lt($x, $y)
41 {
42 return new Expr\Comparison($x, Expr\Comparison::LT, $y);
43 }
44 public function lte($x, $y)
45 {
46 return new Expr\Comparison($x, Expr\Comparison::LTE, $y);
47 }
48 public function gt($x, $y)
49 {
50 return new Expr\Comparison($x, Expr\Comparison::GT, $y);
51 }
52 public function gte($x, $y)
53 {
54 return new Expr\Comparison($x, Expr\Comparison::GTE, $y);
55 }
56 public function avg($x)
57 {
58 return new Expr\Func('AVG', [$x]);
59 }
60 public function max($x)
61 {
62 return new Expr\Func('MAX', [$x]);
63 }
64 public function min($x)
65 {
66 return new Expr\Func('MIN', [$x]);
67 }
68 public function count($x)
69 {
70 return new Expr\Func('COUNT', [$x]);
71 }
72 public function countDistinct($x)
73 {
74 return 'COUNT(DISTINCT ' . implode(', ', func_get_args()) . ')';
75 }
76 public function exists($subquery)
77 {
78 return new Expr\Func('EXISTS', [$subquery]);
79 }
80 public function all($subquery)
81 {
82 return new Expr\Func('ALL', [$subquery]);
83 }
84 public function some($subquery)
85 {
86 return new Expr\Func('SOME', [$subquery]);
87 }
88 public function any($subquery)
89 {
90 return new Expr\Func('ANY', [$subquery]);
91 }
92 public function not($restriction)
93 {
94 return new Expr\Func('NOT', [$restriction]);
95 }
96 public function abs($x)
97 {
98 return new Expr\Func('ABS', [$x]);
99 }
100 public function mod($x, $y) : Expr\Func
101 {
102 return new Expr\Func('MOD', [$x, $y]);
103 }
104 public function prod($x, $y)
105 {
106 return new Expr\Math($x, '*', $y);
107 }
108 public function diff($x, $y)
109 {
110 return new Expr\Math($x, '-', $y);
111 }
112 public function sum($x, $y)
113 {
114 return new Expr\Math($x, '+', $y);
115 }
116 public function quot($x, $y)
117 {
118 return new Expr\Math($x, '/', $y);
119 }
120 public function sqrt($x)
121 {
122 return new Expr\Func('SQRT', [$x]);
123 }
124 public function in($x, $y)
125 {
126 if (is_iterable($y)) {
127 if ($y instanceof Traversable) {
128 $y = iterator_to_array($y);
129 }
130 foreach ($y as &$literal) {
131 if (!$literal instanceof Expr\Literal) {
132 $literal = $this->quoteLiteral($literal);
133 }
134 }
135 }
136 return new Expr\Func($x . ' IN', (array) $y);
137 }
138 public function notIn($x, $y)
139 {
140 if (is_iterable($y)) {
141 if ($y instanceof Traversable) {
142 $y = iterator_to_array($y);
143 }
144 foreach ($y as &$literal) {
145 if (!$literal instanceof Expr\Literal) {
146 $literal = $this->quoteLiteral($literal);
147 }
148 }
149 }
150 return new Expr\Func($x . ' NOT IN', (array) $y);
151 }
152 public function isNull($x)
153 {
154 return $x . ' IS NULL';
155 }
156 public function isNotNull($x)
157 {
158 return $x . ' IS NOT NULL';
159 }
160 public function like($x, $y)
161 {
162 return new Expr\Comparison($x, 'LIKE', $y);
163 }
164 public function notLike($x, $y)
165 {
166 return new Expr\Comparison($x, 'NOT LIKE', $y);
167 }
168 public function concat($x, $y)
169 {
170 return new Expr\Func('CONCAT', func_get_args());
171 }
172 public function substring($x, $from, $len = null)
173 {
174 $args = [$x, $from];
175 if ($len !== null) {
176 $args[] = $len;
177 }
178 return new Expr\Func('SUBSTRING', $args);
179 }
180 public function lower($x)
181 {
182 return new Expr\Func('LOWER', [$x]);
183 }
184 public function upper($x)
185 {
186 return new Expr\Func('UPPER', [$x]);
187 }
188 public function length($x)
189 {
190 return new Expr\Func('LENGTH', [$x]);
191 }
192 public function literal($literal)
193 {
194 return new Expr\Literal($this->quoteLiteral($literal));
195 }
196 private function quoteLiteral($literal) : string
197 {
198 if (is_int($literal) || is_float($literal)) {
199 return (string) $literal;
200 }
201 if (is_bool($literal)) {
202 return $literal ? 'true' : 'false';
203 }
204 return "'" . str_replace("'", "''", $literal) . "'";
205 }
206 public function between($val, $x, $y)
207 {
208 return $val . ' BETWEEN ' . $x . ' AND ' . $y;
209 }
210 public function trim($x)
211 {
212 return new Expr\Func('TRIM', $x);
213 }
214 public function isMemberOf($x, $y)
215 {
216 return new Expr\Comparison($x, 'MEMBER OF', $y);
217 }
218 public function isInstanceOf($x, $y)
219 {
220 return new Expr\Comparison($x, 'INSTANCE OF', $y);
221 }
222 }
223