@@ -33,13 +33,15 @@ discard block |
||
33 | 33 | */ |
34 | 34 | public function addParameter($value) |
35 | 35 | { |
36 | - if (is_numeric($value)) |
|
37 | - return $value; |
|
36 | + if (is_numeric($value)) { |
|
37 | + return $value; |
|
38 | + } |
|
38 | 39 | |
39 | 40 | $uid = 'param_'.hash('crc32b', serialize($value)); |
40 | 41 | |
41 | - if (isset($this->parameters[$uid])) |
|
42 | - return ':'.$uid; |
|
42 | + if (isset($this->parameters[$uid])) { |
|
43 | + return ':'.$uid; |
|
44 | + } |
|
43 | 45 | |
44 | 46 | $this->parameters[$uid] = $value; |
45 | 47 | |
@@ -84,77 +86,60 @@ discard block |
||
84 | 86 | { |
85 | 87 | if ($rule instanceof EqualRule) { |
86 | 88 | $value = $rule->getValue(); |
87 | - } |
|
88 | - elseif ($rule instanceof InRule) { |
|
89 | + } elseif ($rule instanceof InRule) { |
|
89 | 90 | $value = $rule->getPossibilities(); |
90 | 91 | if (is_object($value) && method_exists('toArray', $value)) { |
91 | 92 | $value = $value->toArray(); |
92 | 93 | } |
93 | - } |
|
94 | - elseif ($rule instanceof NotInRule) { |
|
94 | + } elseif ($rule instanceof NotInRule) { |
|
95 | 95 | $operator = 'NOT IN'; |
96 | 96 | $value = $rule->getPossibilities(); |
97 | 97 | if (is_object($value) && method_exists('toArray', $value)) { |
98 | 98 | $value = $value->toArray(); |
99 | 99 | } |
100 | - } |
|
101 | - elseif ($rule instanceof AboveRule) { |
|
100 | + } elseif ($rule instanceof AboveRule) { |
|
102 | 101 | $value = $rule->getLowerLimit(); |
103 | - } |
|
104 | - elseif ($rule instanceof BelowRule) { |
|
102 | + } elseif ($rule instanceof BelowRule) { |
|
105 | 103 | $value = $rule->getUpperLimit(); |
106 | - } |
|
107 | - elseif ($rule instanceof AboveOrEqualRule) { |
|
104 | + } elseif ($rule instanceof AboveOrEqualRule) { |
|
108 | 105 | $value = $rule->getMinimum(); |
109 | - } |
|
110 | - elseif ($rule instanceof BelowOrEqualRule) { |
|
106 | + } elseif ($rule instanceof BelowOrEqualRule) { |
|
111 | 107 | $value = $rule->getMaximum(); |
112 | - } |
|
113 | - elseif ($rule instanceof NotEqualRule) { |
|
108 | + } elseif ($rule instanceof NotEqualRule) { |
|
114 | 109 | $value = $rule->getValue(); |
115 | - } |
|
116 | - elseif ($rule instanceof RegexpRule) { |
|
110 | + } elseif ($rule instanceof RegexpRule) { |
|
117 | 111 | $value = RegexpRule::php2mariadbPCRE( $rule->getPattern() ); |
118 | - } |
|
119 | - else { |
|
112 | + } else { |
|
120 | 113 | throw new \InvalidArgumentException( |
121 | 114 | "Unhandled operator '$operator' during SQL query generation" |
122 | 115 | ); |
123 | 116 | } |
124 | 117 | |
125 | 118 | if (gettype($value) == 'integer') { |
126 | - } |
|
127 | - elseif (gettype($value) == 'double') { |
|
119 | + } elseif (gettype($value) == 'double') { |
|
128 | 120 | // TODO disable locale to handle separators |
129 | - } |
|
130 | - elseif ($value instanceof \DateTime) { |
|
121 | + } elseif ($value instanceof \DateTime) { |
|
131 | 122 | $value = "'" . $value->format('Y-m-d H:i:s') . "'"; |
132 | - } |
|
133 | - elseif (gettype($value) == 'string') { |
|
123 | + } elseif (gettype($value) == 'string') { |
|
134 | 124 | $value = $this->addParameter($value); |
135 | - } |
|
136 | - elseif (gettype($value) == 'array') { |
|
125 | + } elseif (gettype($value) == 'array') { |
|
137 | 126 | $sql_part = []; |
138 | 127 | foreach ($value as $possibility) { |
139 | 128 | $sql_part[] = $this->addParameter($possibility); |
140 | 129 | } |
141 | 130 | $value = '(' . implode(', ', $sql_part) . ')'; |
142 | - } |
|
143 | - elseif ($value === null) { |
|
131 | + } elseif ($value === null) { |
|
144 | 132 | $value = "NULL"; |
145 | 133 | if ($rule instanceof EqualRule) { |
146 | 134 | $operator = 'IS'; |
147 | - } |
|
148 | - elseif ($rule instanceof NotEqualRule) { |
|
135 | + } elseif ($rule instanceof NotEqualRule) { |
|
149 | 136 | $operator = 'IS NOT'; |
150 | - } |
|
151 | - else { |
|
137 | + } else { |
|
152 | 138 | throw new \InvalidArgumentException( |
153 | 139 | "NULL is only handled for equality / difference" |
154 | 140 | ); |
155 | 141 | } |
156 | - } |
|
157 | - else { |
|
142 | + } else { |
|
158 | 143 | throw new \InvalidArgumentException( |
159 | 144 | "Unhandled type of value: ".gettype($value). ' | ' .var_export($value, true) |
160 | 145 | ); |