From dbc27e32173b2229b308c98d3dac766ac51d8a9c Mon Sep 17 00:00:00 2001 From: Thomas Zilio Date: Thu, 7 Mar 2019 17:28:57 +0100 Subject: [PATCH] Fix merge ricerca maggiore/minore --- src/Util/Query.php | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/src/Util/Query.php b/src/Util/Query.php index 87bad0dad..3d1e1e2bc 100644 --- a/src/Util/Query.php +++ b/src/Util/Query.php @@ -147,7 +147,24 @@ class Query $search_query = '`color_title_'.$m[1].'`'; } - $search_filters[] = $search_query.' LIKE '.prepare('%'.$value.'%'); + // Gestione confronti + $real_value = trim(str_replace(['<', '>'], ['<', '>'], $value)); + $more = starts_with($real_value, '>=') || starts_with($real_value, '> =') || starts_with($real_value, '>'); + $minus = starts_with($real_value, '<=') || starts_with($real_value, '< =') || starts_with($real_value, '<'); + + if ($minus || $more) { + $sign = str_contains($real_value, '=') ? '=' : ''; + if ($more) { + $sign = '>'.$sign; + } else { + $sign = '<'.$sign; + } + + $value = trim(str_replace(['<', '=', '>'], '', $value)); + $search_filters[] = 'CAST('.$search_query.' AS UNSIGNED) '.$sign.' '.prepare($value); + } else { + $search_filters[] = $search_query.' LIKE '.prepare('%'.$value.'%'); + } } }