Example #1
0
 /**
  * Returns a new SphinxQL instance
  *
  * @return SphinxQL
  */
 protected function getSphinxQL()
 {
     return SphinxQL::create($this->getConnection());
 }
Example #2
0
 /**
  * @param string   $type
  * @param array    $array
  * @param SphinxQL $select
  * @return array|string
  */
 protected function buildWhere($type, $array, $select)
 {
     if (!is_array($array)) {
         $array = str_replace('/', '\\/', $array);
         //            $array = str_replace('-', ' ', $array);
         if (substr($array, 0, 1) == ' ') {
             return '(' . $select->escapeMatch($array) . ')';
         } else {
             return '(*' . $select->escapeMatch($array) . '*)';
         }
     }
     foreach ($array as $key => $subArray) {
         if ($key == 'or') {
             $array[$key] = $this->buildWhere($type, $subArray, $select);
             if (is_array($array[$key])) {
                 $array = '(' . implode(' | ', $array[$key]) . ')';
             }
         } elseif ($key == 'and') {
             $array[$key] = $this->buildWhere($type, $subArray, $select);
             if (is_array($array[$key])) {
                 $array = '(' . implode(' ', $array[$key]) . ')';
             }
         } else {
             $array[$key] = $this->buildWhere($type, $subArray, $select);
         }
     }
     return $array;
 }