aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes
diff options
context:
space:
mode:
Diffstat (limited to 'phpBB/includes')
-rw-r--r--phpBB/includes/search/fulltext_native.php29
1 files changed, 11 insertions, 18 deletions
diff --git a/phpBB/includes/search/fulltext_native.php b/phpBB/includes/search/fulltext_native.php
index dc961f3c8a..5e116efebc 100644
--- a/phpBB/includes/search/fulltext_native.php
+++ b/phpBB/includes/search/fulltext_native.php
@@ -357,22 +357,6 @@ class fulltext_native extends search_backend
$this->{$mode . '_ids'}[] = $words[$word];
}
}
- // throw an error if we shall not ignore unexistant words
- else if (!$ignore_no_id)
- {
- if (!isset($common_ids[$word]))
- {
- $len = utf8_strlen($word);
- if ($len >= $this->word_length['min'] && $len <= $this->word_length['max'])
- {
- trigger_error(sprintf($user->lang['WORD_IN_NO_POST'], $word));
- }
- else
- {
- $this->common_words[] = $word;
- }
- }
- }
else
{
$len = utf8_strlen($word);
@@ -383,8 +367,11 @@ class fulltext_native extends search_backend
}
}
- // we can't search for negatives only
- if (!sizeof($this->must_contain_ids))
+ // If common words are present and no other search results then return false
+ // search.php will print out appropriate error message.
+ // If both common words and search results are empty return true and keyword_search()
+ // later will return false for that condition
+ if (empty($this->must_contain_ids) && sizeof($this->common_words))
{
return false;
}
@@ -428,6 +415,12 @@ class fulltext_native extends search_backend
return false;
}
+ // we can't search for negatives only
+ if (empty($this->must_contain_ids))
+ {
+ return false;
+ }
+
$must_contain_ids = $this->must_contain_ids;
$must_not_contain_ids = $this->must_not_contain_ids;
$must_exclude_one_ids = $this->must_exclude_one_ids;