forked from extern/egroupware
"fix for bug #2025: Database error in Timesheet with selected view category/date"
This commit is contained in:
parent
1092f3213e
commit
b7444a9598
@ -379,6 +379,10 @@ class so_sql_cf extends so_sql
|
|||||||
*/
|
*/
|
||||||
function &search($criteria,$only_keys=True,$order_by='',$extra_cols='',$wildcard='',$empty=False,$op='AND',$start=false,$filter=null,$join='',$need_full_no_count=false)
|
function &search($criteria,$only_keys=True,$order_by='',$extra_cols='',$wildcard='',$empty=False,$op='AND',$start=false,$filter=null,$join='',$need_full_no_count=false)
|
||||||
{
|
{
|
||||||
|
if ($only_keys === false)
|
||||||
|
{
|
||||||
|
$only_keys = $this->table_name.'.*';
|
||||||
|
}
|
||||||
// check if we search in the custom fields
|
// check if we search in the custom fields
|
||||||
if ($criteria && is_array($criteria) && isset($criteria[$this->extra_value]))
|
if ($criteria && is_array($criteria) && isset($criteria[$this->extra_value]))
|
||||||
{
|
{
|
||||||
@ -407,9 +411,20 @@ class so_sql_cf extends so_sql
|
|||||||
}
|
}
|
||||||
|
|
||||||
// check if we filter by a custom field
|
// check if we filter by a custom field
|
||||||
|
if (is_array($filter))
|
||||||
|
{
|
||||||
foreach($filter as $name => $val)
|
foreach($filter as $name => $val)
|
||||||
{
|
{
|
||||||
if (is_string($name) && $name[0] == self::CF_PREFIX)
|
// replace ambiguous auto-id with (an exact match of) table_name.autoid
|
||||||
|
if ($name == $this->autoinc_id)
|
||||||
|
{
|
||||||
|
if ((int)$filter[$this->autoinc_id])
|
||||||
|
{
|
||||||
|
$filter[] = $this->table_name.'.'.$this->autoinc_id.'='.(int)$filter[$this->autoinc_id];
|
||||||
|
}
|
||||||
|
unset($filter[$this->autoinc_id]);
|
||||||
|
}
|
||||||
|
elseif (is_string($name) && $name[0] == self::CF_PREFIX)
|
||||||
{
|
{
|
||||||
if (!empty($val)) // empty -> dont filter
|
if (!empty($val)) // empty -> dont filter
|
||||||
{
|
{
|
||||||
@ -430,7 +445,7 @@ class so_sql_cf extends so_sql
|
|||||||
unset($filter[$name]);
|
unset($filter[$name]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return parent::search($criteria,$only_keys,$order_by,$extra_cols,$wildcard,$empty,$op,$start,$filter,$join,$need_full_no_count);
|
return parent::search($criteria,$only_keys,$order_by,$extra_cols,$wildcard,$empty,$op,$start,$filter,$join,$need_full_no_count);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user