* CalDAV/calendar: fixed permanent auth request in iCal, if accountselection is set to "selectbox with groupmembers" and rights granted from group without being a member

expand-property report now ignores the url instead of throwing an exception
This commit is contained in:
Ralf Becker 2014-01-07 17:33:01 +00:00
parent d18b89de00
commit 58b56fd630

View File

@ -324,13 +324,15 @@ class groupdav_principals extends groupdav_handler
$this->groupdav->options = $options2; // also modify global variable $this->groupdav->options = $options2; // also modify global variable
// run regular profind to get requested 2.-level properties for each href // run regular profind to get requested 2.-level properties for each href
foreach($expand_prop['val'] as &$prop_val) foreach($expand_prop['val'] as $key => &$prop_val)
{ {
list(,$expand_path) = explode($this->groupdav->base_uri, $prop_val['val']); list(,$expand_path) = explode($this->groupdav->base_uri, $prop_val['val']);
//error_log(__METHOD__."('$path', ..., $user) calling propfind('$expand_path', ".array2string($options2).', '.array2string($prop_val).", $user)"); //error_log(__METHOD__."('$path', ..., $user) calling propfind('$expand_path', ".array2string($options2).', '.array2string($prop_val).", $user)");
if ($this->propfind($expand_path, $options2, $prop_val, $user) !== true || !isset($prop_val['files'][0])) if ($this->propfind($expand_path, $options2, $prop_val, $user) !== true || !isset($prop_val['files'][0]))
{ {
throw new egw_exception_assertion_failed('no propfind for '.$expand_path); // do NOT return that path, eg. perms give rights but account_selection="groupmembers" forbids access
unset($expand_prop['val'][$key]);
continue;
} }
$prop_val = $prop_val['files'][0]; $prop_val = $prop_val['files'][0];
} }