From 1a70fdfd4131f45939b109bec62d9f0bd7ed3836 Mon Sep 17 00:00:00 2001 From: Yuri Kuznetsov Date: Thu, 14 Apr 2022 13:26:15 +0300 Subject: [PATCH] ft filter fix --- .../Select/Text/FullTextSearch/DefaultDataComposer.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/application/Espo/Core/Select/Text/FullTextSearch/DefaultDataComposer.php b/application/Espo/Core/Select/Text/FullTextSearch/DefaultDataComposer.php index 9cead7c893..648c7bf3c0 100644 --- a/application/Espo/Core/Select/Text/FullTextSearch/DefaultDataComposer.php +++ b/application/Espo/Core/Select/Text/FullTextSearch/DefaultDataComposer.php @@ -142,7 +142,7 @@ class DefaultDataComposer implements DataComposer $filter = str_replace('"*', '"', $filter); $filter = str_replace('*"', '"', $filter); - while (strpos($filter, '**')) { + while (strpos($filter, '**') !== false) { $filter = trim( str_replace('**', '*', $filter) ); @@ -154,7 +154,7 @@ class DefaultDataComposer implements DataComposer ); } - $filter = str_replace(['+-', '--', '-+', '++'], '', $filter); + $filter = str_replace(['+-', '--', '-+', '++', '+*', '-*'], '', $filter); while (strpos($filter, '+ ') !== false) { $filter = str_replace('+ ', '', $filter); @@ -168,6 +168,10 @@ class DefaultDataComposer implements DataComposer $filter = substr($filter, 0, -1); } + if ($filter === '*') { + $filter = ''; + } + return $filter; }