Skip to content

Commit e7f7038

Browse files
mh-goeipf
authored andcommitted
Fix escape logic
1 parent 4248d88 commit e7f7038

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

Classes/Service/SolrServiceProvider.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1007,7 +1007,7 @@ protected function queryComponentsForQueryParameters(array $queryParameters): ar
10071007
// Escape all arguments unless told not to do so.
10081008
if (!$fieldInfo['noescape']) {
10091009
$escapedQueryTerms = [];
1010-
if (is_array($queryTerms) && [] !== $queryTerms) {
1010+
if (is_array($queryTerms) && [] !== $queryTerms && count($queryTerms) > 1) {
10111011
foreach ($queryTerms as $key => $term) {
10121012
if ($fieldInfo['phrase']) {
10131013
$escapedQueryTerms[$key] = $this->query->getHelper()->escapePhrase($term);
@@ -1044,7 +1044,7 @@ protected function queryComponentsForQueryParameters(array $queryParameters): ar
10441044
$magicFieldPrefix .= '{!edismax}';
10451045
}
10461046

1047-
if (2 === $fieldInfo['noescape']) {
1047+
if (2 === (int) $fieldInfo['noescape']) {
10481048
$chars = explode(',', $fieldInfo['escapechar']);
10491049
foreach ($queryTerms as $key => $term) {
10501050
foreach ($chars as $char) {
@@ -1053,7 +1053,7 @@ protected function queryComponentsForQueryParameters(array $queryParameters): ar
10531053
}
10541054

10551055
$queryPart = $magicFieldPrefix.vsprintf($queryFormat, $queryTerms);
1056-
} elseif ($fieldInfo['noescape']) {
1056+
} elseif (1 === (int) $fieldInfo['noescape']) {
10571057
$queryPart = $magicFieldPrefix.vsprintf($queryFormat, $queryTerms);
10581058
} else {
10591059
$queryPart = $magicFieldPrefix.$this->query->getHelper()->escapePhrase(vsprintf($queryFormat, $queryTerms));

0 commit comments

Comments
 (0)