mirror of
https://gitlab.com/davical-project/davical.git
synced 2026-09-01 18:48:17 +00:00
Include correct resourcetypes for inbox/outbox/schedule-calendar.
This commit is contained in:
parent
8c08755fe7
commit
1f0ee84006
@ -354,13 +354,23 @@ function collection_to_xml( $collection ) {
|
||||
|| isset($prop_list['DAV::resourcetype']) ) {
|
||||
$resourcetypes = array( new XMLElement("collection") );
|
||||
$contentlength = false;
|
||||
if ( preg_match( '#^((/[^/]+/)\.(in|out)/)[^/]*$#', $collection->dav_name, $matches ) ) {
|
||||
$collection->type = $matches[3];
|
||||
}
|
||||
if ( $collection->is_calendar == 't' ) {
|
||||
$resourcetypes[] = new XMLElement($reply->Caldav("calendar"), false);
|
||||
$resourcetypes[] = new XMLElement($reply->Caldav("schedule-calendar"), false);
|
||||
$lqry = new PgQuery("SELECT sum(length(caldav_data)) FROM caldav_data WHERE user_no = ? AND dav_name ~ ?;", $collection->user_no, $collection->dav_name.'[^/]+$' );
|
||||
if ( $lqry->Exec("PROPFIND",__LINE__,__FILE__) && $row = $lqry->Fetch() ) {
|
||||
$contentlength = $row->sum;
|
||||
}
|
||||
}
|
||||
else if ( $collection->type == 'in' ) {
|
||||
$resourcetypes[] = new XMLElement($reply->Caldav("schedule-inbox"), false);
|
||||
}
|
||||
else if ( $collection->type == 'out' ) {
|
||||
$resourcetypes[] = new XMLElement($reply->Caldav("schedule-outbox"), false);
|
||||
}
|
||||
if ( $collection->is_principal == 't' ) {
|
||||
$resourcetypes[] = new XMLElement("principal");
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user