diff options
| -rw-r--r-- | phpBB/phpbb/search/fulltext_native.php | 33 | ||||
| -rw-r--r-- | phpBB/search.php | 6 | 
2 files changed, 10 insertions, 29 deletions
diff --git a/phpBB/phpbb/search/fulltext_native.php b/phpBB/phpbb/search/fulltext_native.php index 1a89182978..fb3726c957 100644 --- a/phpBB/phpbb/search/fulltext_native.php +++ b/phpBB/phpbb/search/fulltext_native.php @@ -325,7 +325,6 @@ class fulltext_native extends \phpbb\search\base  			}  			$this->db->sql_freeresult($result);  		} -		unset($exact_words);  		// now analyse the search query, first split it using the spaces  		$query = explode(' ', $keywords); @@ -451,39 +450,21 @@ class fulltext_native extends \phpbb\search\base  					$this->{$mode . '_ids'}[] = $words[$word];  				}  			} -			// throw an error if we shall not ignore unexistant words -			else if (!$ignore_no_id) +			else  			{  				if (!isset($common_ids[$word]))  				{  					$len = utf8_strlen($word); -					if ($len >= $this->word_length['min'] && $len <= $this->word_length['max']) -					{ -						trigger_error(sprintf($this->user->lang['WORD_IN_NO_POST'], $word)); -					} -					else +					if ($len < $this->word_length['min'] || $len > $this->word_length['max'])  					{  						$this->common_words[] = $word;  					}  				}  			} -			else -			{ -				$len = utf8_strlen($word); -				if ($len < $this->word_length['min'] || $len > $this->word_length['max']) -				{ -					$this->common_words[] = $word; -				} -			}  		} -		// we can't search for negatives only -		if (!sizeof($this->must_contain_ids)) -		{ -			return false; -		} - -		if (!empty($this->search_query)) +		// Return true if all words are not common words +		if (sizeof($exact_words) - sizeof($this->common_words) > 0)  		{  			return true;  		} @@ -518,6 +499,12 @@ class fulltext_native extends \phpbb\search\base  			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; diff --git a/phpBB/search.php b/phpBB/search.php index 2d516502ed..d03cef5e14 100644 --- a/phpBB/search.php +++ b/phpBB/search.php @@ -527,12 +527,6 @@ if ($keywords || $author || $author_id || $search_id || $submit)  		$total_match_count = $search->author_search($show_results, $firstpost_only, $sort_by_sql, $sort_key, $sort_dir, $sort_days, $ex_fid_ary, $m_approve_posts_fid_sql, $topic_id, $author_id_ary, $sql_author_match, $id_ary, $start, $per_page);  	} -	// For some searches we need to print out the "no results" page directly to allow re-sorting/refining the search options. -	if (!sizeof($id_ary) && !$search_id) -	{ -		trigger_error('NO_SEARCH_RESULTS'); -	} -  	$sql_where = '';  	if (sizeof($id_ary))  | 
