fix found URL in multiget REPORT where reported as NOT found too, if number of URLs exceeds chunk-size of 500

This commit is contained in:
ralf 2023-02-13 23:16:26 +01:00
parent 03a237fd7e
commit 5e0fd45173
4 changed files with 11 additions and 11 deletions

View File

@ -205,7 +205,7 @@ class addressbook_groupdav extends Api\CalDAV\Handler
* @param array|boolean $start =false false=return all or array(start,num) * @param array|boolean $start =false false=return all or array(start,num)
* @return array with "files" array with values for keys path and props * @return array with "files" array with values for keys path and props
*/ */
function &propfind_callback($path, array $filter, $start=false) function &propfind_callback($path, array &$filter, $start=false)
{ {
return $this->propfind_callback2($path, $filter, $start); return $this->propfind_callback2($path, $filter, $start);
} }

View File

@ -158,11 +158,11 @@ abstract class Handler
* Propfind callback, if interator is used * Propfind callback, if interator is used
* *
* @param string $path * @param string $path
* @param array $filter * @param array &$filter
* @param array|boolean $start false=return all or array(start,num) * @param array|boolean $start false=return all or array(start,num)
* @return array with "files" array with values for keys path and props * @return array with "files" array with values for keys path and props
*/ */
function &propfind_callback($path, array $filter, $start) function &propfind_callback($path, array &$filter, $start)
{ {
unset($path, $filter, $start); // not used, but required by function signature unset($path, $filter, $start); // not used, but required by function signature
} }

View File

@ -326,11 +326,11 @@ class calendar_groupdav extends Api\CalDAV\Handler
* Callback for profind interator * Callback for profind interator
* *
* @param string $path * @param string $path
* @param array $filter * @param array &$filter
* @param array|boolean $start =false false=return all or array(start,num) * @param array|boolean $start =false false=return all or array(start,num)
* @return array with "files" array with values for keys path and props * @return array with "files" array with values for keys path and props
*/ */
function &propfind_callback($path,array $filter,$start=false) function &propfind_callback($path, array &$filter, $start=false)
{ {
if ($this->debug) $starttime = microtime(true); if ($this->debug) $starttime = microtime(true);
@ -344,7 +344,7 @@ class calendar_groupdav extends Api\CalDAV\Handler
$filter['offset'] = $start[0]; $filter['offset'] = $start[0];
$filter['num_rows'] = $start[1]; $filter['num_rows'] = $start[1];
} }
$requested_multiget_ids = (array)$filter['query'][self::$path_attr]; $requested_multiget_ids =& $filter['query'][self::$path_attr];
$sync_collection = $filter['sync-collection']; $sync_collection = $filter['sync-collection'];
$events =& $this->bo->search($filter); $events =& $this->bo->search($filter);

View File

@ -227,11 +227,11 @@ class infolog_groupdav extends Api\CalDAV\Handler
* Callback for profind interator * Callback for profind interator
* *
* @param string $path * @param string $path
* @param array $filter * @param array &$filter
* @param array|boolean $start =false false=return all or array(start,num) * @param array|boolean $start =false false=return all or array(start,num)
* @return array with "files" array with values for keys path and props * @return array with "files" array with values for keys path and props
*/ */
function &propfind_callback($path,array $filter,$start=false) function &propfind_callback($path,array &$filter,$start=false)
{ {
if ($this->debug) $starttime = microtime(true); if ($this->debug) $starttime = microtime(true);
@ -282,7 +282,7 @@ class infolog_groupdav extends Api\CalDAV\Handler
$offset = 0; $offset = 0;
} }
$requested_multiget_ids = (array)$filter[self::$path_attr]; $requested_multiget_ids =& $filter[self::$path_attr];
$files = array(); $files = array();
// ToDo: add parameter to only return id & etag // ToDo: add parameter to only return id & etag