@@ -203,7 +203,7 @@ |
||
| 203 | 203 | * Convert a v1 device group pattern to v2 style |
| 204 | 204 | * |
| 205 | 205 | * @param $pattern |
| 206 | - * @return array |
|
| 206 | + * @return string |
|
| 207 | 207 | */ |
| 208 | 208 | private function convertV1Pattern($pattern) |
| 209 | 209 | { |
@@ -144,7 +144,8 @@ discard block |
||
| 144 | 144 | $query = null; |
| 145 | 145 | if (count($tables) == 1) { |
| 146 | 146 | $query = DB::table($tables[0])->select('device_id'); |
| 147 | - } else { |
|
| 147 | + } |
|
| 148 | + else { |
|
| 148 | 149 | $query = DB::table('devices')->select('devices.device_id')->distinct(); |
| 149 | 150 | |
| 150 | 151 | foreach ($tables as $table) { |
@@ -221,14 +222,16 @@ discard block |
||
| 221 | 222 | if (starts_with($cur, '%')) { |
| 222 | 223 | // table and column |
| 223 | 224 | $out .= substr($cur, 1).' '; |
| 224 | - } elseif (substr($cur, -1) == '~') { |
|
| 225 | + } |
|
| 226 | + elseif (substr($cur, -1) == '~') { |
|
| 225 | 227 | // like operator |
| 226 | 228 | $content = $parts[++$i]; // grab the content so we can format it |
| 227 | 229 | |
| 228 | 230 | if (str_contains($content, '@')) { |
| 229 | 231 | // contains wildcard |
| 230 | 232 | $content = str_replace('@', '%', $content); |
| 231 | - } else { |
|
| 233 | + } |
|
| 234 | + else { |
|
| 232 | 235 | // assume substring |
| 233 | 236 | $content = '%'.$content.'%'; |
| 234 | 237 | } |
@@ -240,14 +243,18 @@ discard block |
||
| 240 | 243 | |
| 241 | 244 | $out .= "LIKE('".$content."') "; |
| 242 | 245 | |
| 243 | - } elseif ($cur == '&&') { |
|
| 246 | + } |
|
| 247 | + elseif ($cur == '&&') { |
|
| 244 | 248 | $out .= 'AND '; |
| 245 | - } elseif ($cur == '||') { |
|
| 249 | + } |
|
| 250 | + elseif ($cur == '||') { |
|
| 246 | 251 | $out .= 'OR '; |
| 247 | - } elseif (in_array($cur, $ops)) { |
|
| 252 | + } |
|
| 253 | + elseif (in_array($cur, $ops)) { |
|
| 248 | 254 | // passthrough operators |
| 249 | 255 | $out .= $cur.' '; |
| 250 | - } else { |
|
| 256 | + } |
|
| 257 | + else { |
|
| 251 | 258 | // user supplied input |
| 252 | 259 | $out .= "'".trim($cur, '"\'')."' "; // TODO: remove trim, only needed with invalid input |
| 253 | 260 | } |