diff --git a/lib/Doctrine/ORM/Query/Expr/Composite.php b/lib/Doctrine/ORM/Query/Expr/Composite.php index 0d606a9b0..036b241a5 100644 --- a/lib/Doctrine/ORM/Query/Expr/Composite.php +++ b/lib/Doctrine/ORM/Query/Expr/Composite.php @@ -39,30 +39,30 @@ class Composite extends Base if ($this->count() === 1) { return (string) $this->_parts[0]; } - + $components = array(); - + foreach ($this->_parts as $part) { $components[] = $this->processQueryPart($part); } - + return implode($this->_separator, $components); } - - + + private function processQueryPart($part) { $queryPart = (string) $part; - + if (is_object($part) && $part instanceof self && $part->count() > 1) { return $this->_preSeparator . $queryPart . $this->_postSeparator; } - + // Fixes DDC-1237: User may have added a where item containing nested expression (with "OR" or "AND") - if (mb_stripos($queryPart, ' OR ') !== false || mb_stripos($queryPart, ' AND ') !== false) { + if (stripos($queryPart, ' OR ') !== false || stripos($queryPart, ' AND ') !== false) { return $this->_preSeparator . $queryPart . $this->_postSeparator; } - + return $queryPart; } } \ No newline at end of file