forked from extern/egroupware
* CalDAV/resources: fix wrong ACL/rights send to clients (PHP warning in log)
This commit is contained in:
parent
835913e454
commit
d70304e391
@ -7,8 +7,7 @@
|
|||||||
* @package api
|
* @package api
|
||||||
* @subpackage caldav
|
* @subpackage caldav
|
||||||
* @author Ralf Becker <RalfBecker-AT-outdoor-training.de>
|
* @author Ralf Becker <RalfBecker-AT-outdoor-training.de>
|
||||||
* @copyright (c) 2008-16 by Ralf Becker <RalfBecker-AT-outdoor-training.de>
|
* @copyright (c) 2008-18 by Ralf Becker <RalfBecker-AT-outdoor-training.de>
|
||||||
* @version $Id$
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
namespace EGroupware\Api\CalDAV;
|
namespace EGroupware\Api\CalDAV;
|
||||||
@ -16,7 +15,7 @@ namespace EGroupware\Api\CalDAV;
|
|||||||
use EGroupware\Api;
|
use EGroupware\Api;
|
||||||
|
|
||||||
// explicit import classes without namespace
|
// explicit import classes without namespace
|
||||||
use resources_bo;
|
use resources_bo, resources_acl_bo;
|
||||||
use calendar_bo;
|
use calendar_bo;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1381,8 +1380,8 @@ class Principals extends Handler
|
|||||||
$resource = self::read_resource((int)$account);
|
$resource = self::read_resource((int)$account);
|
||||||
}
|
}
|
||||||
$location = 'L'.$resource['cat_id'];
|
$location = 'L'.$resource['cat_id'];
|
||||||
$right = $what == 'write' ? EGW_ACL_DIRECT_BOOKING : EGW_ACL_CALREAD;
|
$right = $what == 'write' ? resources_acl_bo::DIRECT_BOOKING : resources_acl_bo::CAL_READ;
|
||||||
$mask = $what == 'write' ? EGW_ACL_DIRECT_BOOKING : EGW_ACL_DIRECT_BOOKING|EGW_ACL_CALREAD; // do NOT report write+read in read
|
$mask = $what == 'write' ? resources_acl_bo::DIRECT_BOOKING : resources_acl_bo::DIRECT_BOOKING|resources_acl_bo::CAL_READ; // do NOT report write+read in read
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
static $principal2grants = array();
|
static $principal2grants = array();
|
||||||
@ -1490,7 +1489,7 @@ class Principals extends Handler
|
|||||||
{
|
{
|
||||||
foreach($grants as $account_id => $rights)
|
foreach($grants as $account_id => $rights)
|
||||||
{
|
{
|
||||||
if (($rights & (EGW_ACL_CALREAD|EGW_ACL_DIRECT_BOOKING)) && // we only care for these rights
|
if (($rights & (resources_acl_bo::CAL_READ|resources_acl_bo::DIRECT_BOOKING)) && // we only care for these rights
|
||||||
($account_id == $account || in_array($account_id, $memberships)))
|
($account_id == $account || in_array($account_id, $memberships)))
|
||||||
{
|
{
|
||||||
if (!isset($location_grants[$location])) $location_grants[$location] = 0;
|
if (!isset($location_grants[$location])) $location_grants[$location] = 0;
|
||||||
@ -1505,7 +1504,7 @@ class Principals extends Handler
|
|||||||
if (isset($rights))
|
if (isset($rights))
|
||||||
{
|
{
|
||||||
$set[] = Api\CalDAV::mkprop('href', $this->base_uri.'/principals/'.$this->resource2name($resource).
|
$set[] = Api\CalDAV::mkprop('href', $this->base_uri.'/principals/'.$this->resource2name($resource).
|
||||||
'/calendar-proxy-'.($rights & EGW_ACL_DIRECT_BOOKING ? 'write' : 'read').'/');
|
'/calendar-proxy-'.($rights & resources_acl_bo::DIRECT_BOOKING ? 'write' : 'read').'/');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user