function criteria_org_id($element) { $field = $this->put_alias($element['real_field']); if (is_array($element['value'])) { $this->_add_criteria(phpgwapi_sql_criteria::in($field, $element['value'])); } else { $this->_add_criteria(phpgwapi_sql_criteria::equal($field, $element['value'])); } }
/** * Create a criteria with or and like operators for all the fields * * @param array $fields Database field names * @return string Search result */ function search_by_any($fields) { foreach ($fields as $field => $value) { if ($value == NULL) { continue; } if (is_array($value)) { if (in_array('append_or', $value) || in_array('append_and', $value)) { $elements[] = $value; } else { $elements[] = phpgwapi_sql_criteria::in($field, $value); } } else { $elements[] = phpgwapi_sql_criteria::token_has($field, $value); } } return phpgwapi_sql_criteria::_append_or($elements); }
/** * Especial criteria for index or id, it decides if must call equal or in operator * * @param array $element with field, value, real_name * @return string with a usefull criteria to use for many (a in clause) or just one id (equal). */ function index_criteria($element) { $field = $this->put_alias($element['real_field']); if (is_array($element['value'])) { if (count($element['value']) == 1) { $value = $this->cast(current($element['value']), $element['field']); return phpgwapi_sql_criteria::equal($field, $value); } elseif (count($element['value']) > 1) { return phpgwapi_sql_criteria::in($field, $element['value'], $this->get_datatype($field)); } } else { $value = $this->cast($element['value'], $element['field']); return phpgwapi_sql_criteria::equal($field, $value); } }