![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/framework/Search/Adapter/Mysql/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Framework\Search\Adapter\Mysql; use Magento\Framework\App\ResourceConnection; use Magento\Framework\DB\Adapter\AdapterInterface; /** * MySQL search condition manager * * @api * @deprecated 102.0.0 * @see \Magento\ElasticSearch * @since 100.0.2 */ class ConditionManager { const CONDITION_PATTERN_SIMPLE = '%s %s %s'; const CONDITION_PATTERN_ARRAY = '%s %s (%s)'; /** * @var AdapterInterface */ private $connection; /** * @param \Magento\Framework\App\ResourceConnection $resource */ public function __construct(ResourceConnection $resource) { $this->connection = $resource->getConnection(); } /** * Wrap query with parentheses. * * @param string $query * @return string */ public function wrapBrackets($query) { return empty($query) ? $query : '(' . $query . ')'; } /** * Combine multiple queries. * * @param string[] $queries * @param string $unionOperator * @return string */ public function combineQueries(array $queries, $unionOperator) { return implode( ' ' . $unionOperator . ' ', array_filter($queries, 'strlen') ); } /** * Generate query condition. * * @param string $field * @param string $operator * @param mixed $value * @return string */ public function generateCondition($field, $operator, $value) { return sprintf( is_array($value) ? self::CONDITION_PATTERN_ARRAY : self::CONDITION_PATTERN_SIMPLE, $this->connection->quoteIdentifier($field), $operator, $this->connection->quote($value) ); } }