mirror of
https://github.com/EGroupware/egroupware.git
synced 2024-12-27 09:09:04 +01:00
"fixed SQL error: info_id is ambigous happening if one has cf's in infolog AND filters with new link-filter"
This commit is contained in:
parent
b1e7fddde7
commit
9f5467ebac
@ -5,7 +5,7 @@
|
|||||||
* @link http://www.egroupware.org
|
* @link http://www.egroupware.org
|
||||||
* @author Ralf Becker <RalfBecker-AT-outdoor-training.de>
|
* @author Ralf Becker <RalfBecker-AT-outdoor-training.de>
|
||||||
* @package infolog
|
* @package infolog
|
||||||
* @copyright (c) 2003-8 by Ralf Becker <RalfBecker-AT-outdoor-training.de>
|
* @copyright (c) 2003-9 by Ralf Becker <RalfBecker-AT-outdoor-training.de>
|
||||||
* @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License
|
* @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License
|
||||||
* @version $Id$
|
* @version $Id$
|
||||||
*/
|
*/
|
||||||
@ -722,18 +722,24 @@ class infolog_so
|
|||||||
if (substr($col,0,5) != 'info_' && substr($col,0,1)!='#') $col = 'info_'.$col;
|
if (substr($col,0,5) != 'info_' && substr($col,0,1)!='#') $col = 'info_'.$col;
|
||||||
if (!empty($data) && preg_match('/^[a-z_0-9]+$/i',$col))
|
if (!empty($data) && preg_match('/^[a-z_0-9]+$/i',$col))
|
||||||
{
|
{
|
||||||
if ($col == 'info_responsible')
|
switch ($col)
|
||||||
{
|
{
|
||||||
|
case 'info_responsible':
|
||||||
$data = (int) $data;
|
$data = (int) $data;
|
||||||
if (!$data) continue;
|
if (!$data) continue;
|
||||||
$filtermethod .= " AND (".$this->responsible_filter($data)." OR info_responsible='0' AND ".
|
$filtermethod .= ' AND ('.$this->responsible_filter($data)." OR info_responsible='0' AND ".
|
||||||
$this->db->expression($this->info_table,array(
|
$this->db->expression($this->info_table,array(
|
||||||
'info_owner' => $data > 0 ? $data : $GLOBALS['egw']->accounts->members($data,true)
|
'info_owner' => $data > 0 ? $data : $GLOBALS['egw']->accounts->members($data,true)
|
||||||
)).')';
|
)).')';
|
||||||
}
|
break;
|
||||||
else
|
|
||||||
{
|
case 'info_id': // info_id itself is ambigous
|
||||||
|
$filtermethod .= ' AND '.$this->db->expression($this->info_table,'main.',array('info_id' => $data));
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
$filtermethod .= ' AND '.$this->db->expression($this->info_table,array($col => $data));
|
$filtermethod .= ' AND '.$this->db->expression($this->info_table,array($col => $data));
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ($col[0] == '#' && $query['custom_fields'] && $data)
|
if ($col[0] == '#' && $query['custom_fields'] && $data)
|
||||||
|
Loading…
Reference in New Issue
Block a user