diff --git a/inc/DAVResource.php b/inc/DAVResource.php index 4f0d5110..0a4d2a0f 100644 --- a/inc/DAVResource.php +++ b/inc/DAVResource.php @@ -1649,7 +1649,7 @@ EOQRY; case 'DAV::add-member': if ( ! $this->_is_collection ) return false; if ( isset($c->post_add_member) && $c->post_add_member === false ) return false; - $reply->DAVElement( $prop, 'add-member', $reply->href(ConstructURL(DeconstructURL($this->url())).'?add-member') ); + $reply->DAVElement( $prop, 'add-member', $reply->href(ConstructURL(DeconstructURL($this->url())).'?add_member') ); break; // Empty tag responses. diff --git a/inc/caldav-PUT-vcalendar.php b/inc/caldav-PUT-vcalendar.php index 65251ab7..efb8131d 100644 --- a/inc/caldav-PUT-vcalendar.php +++ b/inc/caldav-PUT-vcalendar.php @@ -86,4 +86,7 @@ write_resource( $dav_resource, $request->raw_post, $collection, $session->user_n if ( isset($etag) ) header(sprintf('ETag: "%s"', $etag) ); +// make sure to return a Location header when add-member was used +if ( $add_member ) header('Location: '.$c->protocol_server_port_script.$request->path); + $request->DoResponse( ($dav_resource->Exists() ? 204 : 201) );