mirror of
https://github.com/phpbb/phpbb.git
synced 2025-05-06 07:35:29 +02:00
Merge branch 'ticket/cs278/9760' into develop-olympus
* ticket/cs278/9760: [ticket/9760] Remove unrestricted wildcards from search terms.
This commit is contained in:
commit
d66aadc33f
@ -83,7 +83,9 @@ class fulltext_native extends search_backend
|
|||||||
{
|
{
|
||||||
global $db, $user, $config;
|
global $db, $user, $config;
|
||||||
|
|
||||||
$keywords = trim($this->cleanup($keywords, '+-|()*'));
|
$tokens = '+-|()*';
|
||||||
|
|
||||||
|
$keywords = trim($this->cleanup($keywords, $tokens));
|
||||||
|
|
||||||
// allow word|word|word without brackets
|
// allow word|word|word without brackets
|
||||||
if ((strpos($keywords, ' ') === false) && (strpos($keywords, '|') !== false) && (strpos($keywords, '(') === false))
|
if ((strpos($keywords, ' ') === false) && (strpos($keywords, '|') !== false) && (strpos($keywords, '(') === false))
|
||||||
@ -114,6 +116,15 @@ class fulltext_native extends search_backend
|
|||||||
case ' ':
|
case ' ':
|
||||||
$keywords[$i] = '|';
|
$keywords[$i] = '|';
|
||||||
break;
|
break;
|
||||||
|
case '*':
|
||||||
|
if ($i === 0 || ($keywords[$i - 1] !== '*' && strcspn($keywords[$i - 1], $tokens) === 0))
|
||||||
|
{
|
||||||
|
if ($i === $n - 1 || ($keywords[$i + 1] !== '*' && strcspn($keywords[$i + 1], $tokens) === 0))
|
||||||
|
{
|
||||||
|
$keywords = substr($keywords, 0, $i) . substr($keywords, $i + 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
Loading…
x
Reference in New Issue
Block a user