prevent SQL error in search method, if $params['users'] = array('') or array(null)

This commit is contained in:
Ralf Becker 2006-10-11 18:52:39 +00:00
parent 85db907265
commit 5220740c17

View File

@ -254,14 +254,15 @@ class bocal
{ {
$params_in = $params; $params_in = $params;
if (!isset($params['users']) || !$params['users']) if (!isset($params['users']) || !$params['users'] ||
count($params['users']) == 1 && isset($params['users'][0]) && !$params['users'][0]) // null or '' casted to an array
{ {
// for a search use all account you have read grants from // for a search use all account you have read grants from
$params['users'] = $params['query'] ? array_keys($this->grants) : $this->user; $params['users'] = $params['query'] ? array_keys($this->grants) : $this->user;
} }
if (!is_array($params['users'])) if (!is_array($params['users']))
{ {
$params['users'] = array($params['users']); $params['users'] = $params['users'] ? array($params['users']) : array();
} }
// only query calendars of users, we have READ-grants from // only query calendars of users, we have READ-grants from
$users = array(); $users = array();
@ -269,7 +270,7 @@ class bocal
{ {
if ($params['ignore_acl'] || $this->check_perms(EGW_ACL_READ,0,$user)) if ($params['ignore_acl'] || $this->check_perms(EGW_ACL_READ,0,$user))
{ {
if (!in_array($user,$users)) // already added? if ($user && !in_array($user,$users)) // already added?
{ {
$users[] = $user; $users[] = $user;
} }