function translateUnaryClause(&$clause) { if (!isset($clause['type'])) { $this->translateClause($clause); } else { switch ($clause['type']) { case 'ident': $new_value = $this->translateColumn($clause['value'], null, false); if (is_array($new_value) and isset($new_value['set_function'])) { // the translation is a function $clause['type'] = 'function'; $clause['value'] = $new_value['set_function'][0]; } else { $clause['value'] = $new_value['column_names'][0]; } break; case 'function': $this->translateFunction($clause['value']); break; case 'subclause': $this->translateClause($clause['value']); break; case 'command': case 'subquery': $translator = new Dataface_QueryTranslator($this->_lang); $translator->setParentContext($this); $clause['value'] = $translator->translateQuery($clause['value'], $this->_lang, false); break; //case 'match': // if ( isset($clause['value']) and is_array($clause['value']) ){ // $numClauses = count($clause['value']); // for ($i=0; $i<$numClauses; $i++){ // // // // } // } // break; } } }