Commit c99dd5c2 authored by Gábor Hojtsy's avatar Gábor Hojtsy
Browse files

#186242 by douggreen: ignore AND in search, as it is the default behavior and...

#186242 by douggreen: ignore AND in search, as it is the default behavior and inform the user when a lower case 'or' is used that 'OR' should be used as an operator
parent 28a4df6b
......@@ -710,7 +710,7 @@ function search_parse_query($text) {
// Classify tokens
$or = FALSE;
$or_warning = FALSE;
$warning = '';
$simple = TRUE;
foreach ($matches as $match) {
$phrase = FALSE;
......@@ -740,10 +740,16 @@ function search_parse_query($text) {
$or = TRUE;
continue;
}
// AND operator: implied, so just ignore it
elseif ($match[2] == 'AND' || $match[2] == 'and') {
$warning = $match[2];
continue;
}
// Plain keyword
else {
if ($match[2] == 'or') {
$or_warning = TRUE;
$warning = $match[2];
}
if ($or) {
// Add to last element (which is an array)
......@@ -814,7 +820,7 @@ function search_parse_query($text) {
// Build word-index conditions for the first pass
$query2 = substr(str_repeat("i.word = '%s' OR ", count($arguments2)), 0, -4);
return array($query, $arguments, $query2, $arguments2, $matches, $simple, $or_warning);
return array($query, $arguments, $query2, $arguments2, $matches, $simple, $warning);
}
/**
......@@ -901,7 +907,9 @@ function do_search($keywords, $type, $join1 = '', $where1 = '1', $arguments1 = a
form_set_error('keys', t('You must include at least one positive keyword with @count characters or more.', array('@count' => variable_get('minimum_word_size', 3))));
}
if ($query[6]) {
form_set_error('keys', t('Try uppercase "OR" to search for either of two terms.'));
if ($query[6] == 'or') {
drupal_set_message(t('Search for either of the two terms with uppercase <strong>OR</strong>. For example, <strong>cats OR dogs</strong>.'));
}
}
if ($query === NULL || $query[0] == '' || $query[2] == '') {
return array();
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment