function criteria_my_preferred($element) { $field = $this->put_alias($element['real_field']); $criteria = phpgwapi_sql_criteria::or_(phpgwapi_sql_criteria::equal($field, phpgwapi_sql::string($element['value'])), phpgwapi_sql_criteria::is_null($field)); $this->_add_criteria($criteria); return $criteria; }
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'])); } }
function criteria_comm_find_descr($element) { $field = $this->put_alias($element['real_field']); foreach ($element['value'] as $value) { $data[] = phpgwapi_sql_criteria::equal($field, phpgwapi_sql::string($value)); } $criteria = phpgwapi_sql_criteria::append_or($data); $this->_add_criteria($criteria); }
/** * Allow to edit the current other data for the owner, you can modify other_name or other_value fields * * @param integer $id the owner id * @param string $new_data The new value which you want to update. * @param string $old_data The current value which you want to update. * @param string $field_data The field is can be other_name or other_value * @param integer $action PHPGW_SQL_RETURN_SQL | PHPGW_SQL_RUN_SQL depending what we want * @return string SQL update string */ function edit_other_by_owner($id, $new_data, $old_data, $field_data, $action = PHPGW_SQL_RUN_SQL) { $other = createObject('phpgwapi.contact_others'); $criteria = phpgwapi_sql_criteria::append_and(array(phpgwapi_sql_criteria::equal('contact_owner', phpgwapi_sql::integer($id)), phpgwapi_sql_criteria::equal($field_data, phpgwapi_sql::string($old_data)))); return $other->update(array($field_data => $new_data), $criteria, $action); }
/** * 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); } }
function criteria_sel_cat_id($element) { $field = $this->put_alias($element['real_field']); if (is_array($element['value'])) { foreach ($element['value'] as $value) { $data[] = phpgwapi_sql_criteria::or_(phpgwapi_sql_criteria::equal($field, sql::string($value)), phpgwapi_sql_criteria::has($field, ',' . $value . ',')); } $criteria = phpgwapi_sql_criteria::append_or($data); $this->_add_criteria($criteria); } else { $this->_add_criteria(phpgwapi_sql_criteria::equal($field, phpgwapi_sql::string($element['value']))); } }