diff options
Diffstat (limited to 'app/Models/BooleanSearch.php')
| -rw-r--r-- | app/Models/BooleanSearch.php | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/app/Models/BooleanSearch.php b/app/Models/BooleanSearch.php index 8a750a713..78b7593b2 100644 --- a/app/Models/BooleanSearch.php +++ b/app/Models/BooleanSearch.php @@ -19,14 +19,20 @@ class FreshRSS_BooleanSearch { public function __construct(string $input, int $level = 0, string $operator = 'AND') { $this->operator = $operator; $input = trim($input); - if ($input == '') { + if ($input === '') { return; } $this->raw_input = $input; if ($level === 0) { $input = preg_replace('/:"(.*?)"/', ':"\1"', $input); + if (!is_string($input)) { + return; + } $input = preg_replace('/(?<=[\s!-]|^)"(.*?)"/', '"\1"', $input); + if (!is_string($input)) { + return; + } $input = $this->parseUserQueryNames($input); $input = $this->parseUserQueryIds($input); @@ -53,7 +59,7 @@ class FreshRSS_BooleanSearch { if (!empty($all_matches)) { /** @var array<string,FreshRSS_UserQuery> */ $queries = []; - foreach (FreshRSS_Context::$user_conf->queries as $raw_query) { + foreach (FreshRSS_Context::userConf()->queries as $raw_query) { $query = new FreshRSS_UserQuery($raw_query); $queries[$query->getName()] = $query; } @@ -95,7 +101,7 @@ class FreshRSS_BooleanSearch { /** @var array<string,FreshRSS_UserQuery> */ $queries = []; - foreach (FreshRSS_Context::$user_conf->queries as $raw_query) { + foreach (FreshRSS_Context::userConf()->queries as $raw_query) { $query = new FreshRSS_UserQuery($raw_query, $feed_dao, $category_dao, $tag_dao); $queries[] = $query; } |
