From 6eaaaa3a0812703c8d0cedc2841e05fca66ec8d4 Mon Sep 17 00:00:00 2001 From: Wolfgang Herget Date: Tue, 10 Feb 2009 11:46:18 +0100 Subject: [PATCH] Added dummy handler for CalDAV POST (CANCEL) requests, wanted by Apple iCal --- inc/caldav-POST.php | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/inc/caldav-POST.php b/inc/caldav-POST.php index 3f906272..35c3c90d 100644 --- a/inc/caldav-POST.php +++ b/inc/caldav-POST.php @@ -190,6 +190,17 @@ function handle_freebusy_request( $ic ) { } +function handle_cancel_request( $ic ) { + global $c, $session, $request; + + $reply = new XMLDocument( array("DAV:" => "", "urn:ietf:params:xml:ns:caldav" => "C" ) ); + + $responses[] = $reply->NewXMLElement( "response", false, false, 'urn:ietf:params:xml:ns:caldav' ); + $reply->CalDAVElement($response, "request-status", "2.0;Success" ); // Cargo-cult setting + $response = $reply->NewXMLElement( "schedule-response", $responses, $reply->GetXmlNsArray() ); + $request->XMLResponse( 200, $response ); +} + $ical = new iCalComponent( $request->raw_post ); $method = $ical->GetPValue('METHOD'); @@ -201,6 +212,11 @@ switch ( $method ) { handle_freebusy_request( $first ); break; + case 'CANCEL': + dbg_error_log("POST", "Handling iTIP 'CANCEL' method.", $method ); + handle_cancel_request( $first ); + break; + default: dbg_error_log("POST", "Unhandled '%s' method in request.", $method ); }