private function _rewrite_parsed_query($meta, $tree) { // apply query adaptor if specified if (isset($meta['adaptor'])) { $adaptor = new ParsedQueryAdaptor(); $converted_tree = $adaptor->convert($tree, $meta['adaptor'], @$meta['search']['index']); // 'ignored' searches not currently handled (this was a fed requirement) if (!is_null($converted_tree)) { $tree = $converted_tree; $this->log(4, "Converted Search: " . @$meta['_table'] . $converted_tree->to_string()); } } return $tree; }
protected function _modify_query($query_string, $comp, $tree) { // use query adaptor if available if (isset($comp['adaptor'])) { $adaptor = new ParsedQueryAdaptor(); $tmp_meta = $comp['ds']->_get_meta($comp['table']); $converted_tree = $adaptor->convert($tree, $comp['adaptor'], @$tmp_meta['search']['index']); // if the converted tree is null, do not search this module if (is_null($converted_tree)) { return NULL; } $query_string = $converted_tree->to_string(); } // Additional query parts if (@$comp['query_add']) { $query_string .= '(' . $comp['query_add'] . ')'; } return $query_string; }