mirror of
https://gitlab.com/davical-project/davical.git
synced 2026-09-01 18:48:17 +00:00
Changes to support usernames containing a space, or other strange non-'/' character.
This commit is contained in:
parent
09feb2e2ab
commit
e61e843a36
@ -16,6 +16,8 @@ INSERT INTO usr ( user_no, active, email_ok, updated, username, password, fullna
|
||||
VALUES( 13, TRUE, current_date, current_date, 'user4', '**user4', 'User 4', 'user4@example.net' );
|
||||
INSERT INTO usr ( user_no, active, email_ok, updated, username, password, fullname, email )
|
||||
VALUES( 14, TRUE, current_date, current_date, 'user5', '**user5', 'User 5', 'user5@example.net' );
|
||||
INSERT INTO usr ( user_no, active, email_ok, updated, username, password, fullname, email )
|
||||
VALUES( 15, TRUE, current_date, current_date, 'User Six', '**user6', 'User 6', 'user6@example.net' );
|
||||
|
||||
INSERT INTO usr ( user_no, active, email_ok, updated, username, password, fullname, email )
|
||||
VALUES( 20, TRUE, current_date, current_date, 'manager1', '**manager1', 'Manager 1', 'manager1@example.net' );
|
||||
|
||||
@ -231,12 +231,16 @@ function getStatusMessage($status) {
|
||||
|
||||
|
||||
/**
|
||||
* Construct a URL from the supplied dav_name
|
||||
* Construct a URL from the supplied dav_name. The URL will be urlencoded,
|
||||
* except for any '/' characters in it.
|
||||
* @param string $partial_path The part of the path after the script name
|
||||
*/
|
||||
function ConstructURL( $partial_path ) {
|
||||
global $c;
|
||||
|
||||
$partial_path = rawurlencode($partial_path);
|
||||
$partial_path = str_replace( '%2F', '/', $partial_path);
|
||||
|
||||
if ( ! isset($c->_url_script_path) ) {
|
||||
$c->_url_script_path = (preg_match('#/$#', $c->protocol_server_port_script) ? 'caldav.php' : '');
|
||||
$c->_url_script_path = $c->protocol_server_port_script . $c->_url_script_path;
|
||||
|
||||
@ -231,12 +231,16 @@ function getStatusMessage($status) {
|
||||
|
||||
|
||||
/**
|
||||
* Construct a URL from the supplied dav_name
|
||||
* Construct a URL from the supplied dav_name. The URL will be urlencoded,
|
||||
* except for any '/' characters in it.
|
||||
* @param string $partial_path The part of the path after the script name
|
||||
*/
|
||||
function ConstructURL( $partial_path ) {
|
||||
global $c;
|
||||
|
||||
$partial_path = rawurlencode($partial_path);
|
||||
$partial_path = str_replace( '%2F', '/', $partial_path);
|
||||
|
||||
if ( ! isset($c->_url_script_path) ) {
|
||||
$c->_url_script_path = (preg_match('#/$#', $c->protocol_server_port_script) ? 'caldav.php' : '');
|
||||
$c->_url_script_path = $c->protocol_server_port_script . $c->_url_script_path;
|
||||
|
||||
@ -6,3 +6,113 @@ DAV: 1, 2, 3, access-control, calendar-access, calendar-schedule
|
||||
Content-Length: 0
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
|
||||
A1 CalDAV DATA: >BEGIN:VCALENDAR
|
||||
PRODID:-//davical.org//NONSGML AWL Calendar//EN
|
||||
VERSION:2.0
|
||||
CALSCALE:GREGORIAN
|
||||
BEGIN:VEVENT
|
||||
SEQUENCE:3
|
||||
TRANSP:OPAQUE
|
||||
UID:55F6EC95-2D21-4FB9-9AE1-A6E020B44AEB
|
||||
DTSTART;TZID=Europe/Helsinki:20081025T133000
|
||||
DTSTAMP:20081024T200745Z
|
||||
RRULE:FREQ=MONTHLY;INTERVAL=1;BYDAY=1TU,2WE,3TH,4FR;BYMONTH=3,6,9,10,12
|
||||
SUMMARY:Irregular meeting for User 3
|
||||
CREATED:20081024T200734Z
|
||||
DTEND;TZID=Europe/Helsinki:20081025T143000
|
||||
END:VEVENT
|
||||
BEGIN:VTIMEZONE
|
||||
TZID:Europe/Helsinki
|
||||
BEGIN:DAYLIGHT
|
||||
TZOFFSETFROM:+0200
|
||||
TZOFFSETTO:+0300
|
||||
DTSTART:19810329T030000
|
||||
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
|
||||
TZNAME:EEST
|
||||
END:DAYLIGHT
|
||||
BEGIN:STANDARD
|
||||
TZOFFSETFROM:+0300
|
||||
TZOFFSETTO:+0200
|
||||
DTSTART:19961027T040000
|
||||
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
|
||||
TZNAME:EET
|
||||
END:STANDARD
|
||||
END:VTIMEZONE
|
||||
END:VCALENDAR
|
||||
<
|
||||
caldav_type: >VEVENT<
|
||||
class: >PUBLIC<
|
||||
description: >NULL<
|
||||
dtend: >2008-10-25 14:30:00+13<
|
||||
dtstamp: >2008-10-24 20:07:45<
|
||||
dtstart: >2008-10-25 13:30:00+13<
|
||||
due: >NULL<
|
||||
location: >NULL<
|
||||
logged_user: >12<
|
||||
percent_complete: >NULL<
|
||||
priority: >NULL<
|
||||
rrule: >FREQ=MONTHLY;INTERVAL=1;BYDAY=1TU,2WE,3TH,4FR;BYMONTH=3,6,9,10,12<
|
||||
status: >NULL<
|
||||
summary: >Irregular meeting for User 3<
|
||||
transp: >OPAQUE<
|
||||
tz_id: >Europe/Helsinki<
|
||||
uid: >55F6EC95-2D21-4FB9-9AE1-A6E020B44AEB<
|
||||
url: >NULL<
|
||||
user_no: >12<
|
||||
|
||||
A1 CalDAV DATA: >BEGIN:VCALENDAR
|
||||
PRODID:-//davical.org//NONSGML AWL Calendar//EN
|
||||
VERSION:2.0
|
||||
CALSCALE:GREGORIAN
|
||||
BEGIN:VEVENT
|
||||
SEQUENCE:2
|
||||
TRANSP:OPAQUE
|
||||
UID:174F9C2A-1223-40C4-9E06-6E91F2EA9491
|
||||
DTSTART;TZID=Europe/Helsinki:20081024T084500
|
||||
DTSTAMP:20081025T112653Z
|
||||
SUMMARY:Dentist\'s Council meeting
|
||||
RRULE:FREQ=MONTHLY;INTERVAL=1;BYDAY=TU,FR
|
||||
CREATED:20081025T112648Z
|
||||
DTEND;TZID=Europe/Helsinki:20081024T113000
|
||||
END:VEVENT
|
||||
BEGIN:VTIMEZONE
|
||||
TZID:Europe/Helsinki
|
||||
BEGIN:DAYLIGHT
|
||||
TZOFFSETFROM:+0200
|
||||
TZOFFSETTO:+0300
|
||||
DTSTART:19810329T030000
|
||||
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
|
||||
TZNAME:EEST
|
||||
END:DAYLIGHT
|
||||
BEGIN:STANDARD
|
||||
TZOFFSETFROM:+0300
|
||||
TZOFFSETTO:+0200
|
||||
DTSTART:19961027T040000
|
||||
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
|
||||
TZNAME:EET
|
||||
END:STANDARD
|
||||
END:VTIMEZONE
|
||||
END:VCALENDAR
|
||||
<
|
||||
caldav_type: >VEVENT<
|
||||
class: >PUBLIC<
|
||||
description: >NULL<
|
||||
dtend: >2008-10-24 11:30:00+13<
|
||||
dtstamp: >2008-10-25 11:26:53<
|
||||
dtstart: >2008-10-24 08:45:00+13<
|
||||
due: >NULL<
|
||||
location: >NULL<
|
||||
logged_user: >12<
|
||||
percent_complete: >NULL<
|
||||
priority: >NULL<
|
||||
rrule: >FREQ=MONTHLY;INTERVAL=1;BYDAY=TU,FR<
|
||||
status: >NULL<
|
||||
summary: >Dentist\'s Council meeting<
|
||||
transp: >OPAQUE<
|
||||
tz_id: >Europe/Helsinki<
|
||||
uid: >174F9C2A-1223-40C4-9E06-6E91F2EA9491<
|
||||
url: >NULL<
|
||||
user_no: >12<
|
||||
|
||||
count: >2<
|
||||
|
||||
|
||||
@ -37,18 +37,18 @@ BEGIN:VEVENT
|
||||
SEQUENCE:3
|
||||
TRANSP:OPAQUE
|
||||
UID:55F6EC95-2D21-4FB9-9AE1-A6E020B44AEB
|
||||
DTSTART;TZID=Europe/Helsinki:20081001T133000
|
||||
DTSTART;TZID=Europe/Helsinki:20081025T133000
|
||||
DTSTAMP:20081024T200745Z
|
||||
RRULE:FREQ=MONTHLY;INTERVAL=1;BYDAY=1TU,2WE,3TH,4FR;BYMONTH=3,6,9,10,12
|
||||
SUMMARY:User 3
|
||||
SUMMARY:Irregular meeting for User 3
|
||||
CREATED:20081024T200734Z
|
||||
DTEND;TZID=Europe/Helsinki:20081025T133000
|
||||
DTEND;TZID=Europe/Helsinki:20081025T143000
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
SEQUENCE:2
|
||||
TRANSP:OPAQUE
|
||||
UID:174F9C2A-1223-40C4-9E06-6E91F2EA9491
|
||||
DTSTART;TZID=Europe/Helsinki:20081017T084500
|
||||
DTSTART;TZID=Europe/Helsinki:20081024T084500
|
||||
DTSTAMP:20081025T112653Z
|
||||
SUMMARY:Dentist\'s Council meeting
|
||||
RRULE:FREQ=MONTHLY;INTERVAL=1;BYDAY=TU,FR
|
||||
@ -57,3 +57,21 @@ DTEND;TZID=Europe/Helsinki:20081024T113000
|
||||
END:VEVENT
|
||||
END:VCALENDAR
|
||||
ENDDATA
|
||||
|
||||
|
||||
QUERY
|
||||
SELECT caldav_data.user_no, caldav_type, logged_user,
|
||||
uid, dtstamp, dtstart, dtend, due, summary, location,
|
||||
description, priority, class, transp, rrule, url,
|
||||
percent_complete, tz_id, status,
|
||||
caldav_data AS "A1 CalDAV DATA"
|
||||
FROM caldav_data JOIN calendar_item USING(dav_name)
|
||||
WHERE caldav_data.dav_name ~ '^/user3/home/'
|
||||
ENDQUERY
|
||||
|
||||
QUERY
|
||||
SELECT count(*)
|
||||
FROM caldav_data JOIN calendar_item USING(dav_name)
|
||||
WHERE caldav_data.dav_name ~ '^/user3/home/'
|
||||
ENDQUERY
|
||||
|
||||
|
||||
@ -0,0 +1,118 @@
|
||||
HTTP/1.1 100 Continue
|
||||
|
||||
HTTP/1.1 200 OK
|
||||
Date: Dow, 01 Jan 2000 00:00:00 GMT
|
||||
DAV: 1, 2, 3, access-control, calendar-access, calendar-schedule
|
||||
Content-Length: 0
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
|
||||
A1 CalDAV DATA: >BEGIN:VCALENDAR
|
||||
PRODID:-//davical.org//NONSGML AWL Calendar//EN
|
||||
VERSION:2.0
|
||||
CALSCALE:GREGORIAN
|
||||
BEGIN:VEVENT
|
||||
SEQUENCE:3
|
||||
TRANSP:OPAQUE
|
||||
UID:55F6EC95-2D21-4FB9-9AE1-A6E020B44AEB
|
||||
DTSTART;TZID=Europe/Helsinki:20081025T133000
|
||||
DTSTAMP:20081024T200745Z
|
||||
RRULE:FREQ=MONTHLY;INTERVAL=1;BYDAY=1TU,2WE,3TH,4FR;BYMONTH=3,6,9,10,12
|
||||
SUMMARY:Irregular meeting for User 3
|
||||
CREATED:20081024T200734Z
|
||||
DTEND;TZID=Europe/Helsinki:20081025T143000
|
||||
END:VEVENT
|
||||
BEGIN:VTIMEZONE
|
||||
TZID:Europe/Helsinki
|
||||
BEGIN:DAYLIGHT
|
||||
TZOFFSETFROM:+0200
|
||||
TZOFFSETTO:+0300
|
||||
DTSTART:19810329T030000
|
||||
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
|
||||
TZNAME:EEST
|
||||
END:DAYLIGHT
|
||||
BEGIN:STANDARD
|
||||
TZOFFSETFROM:+0300
|
||||
TZOFFSETTO:+0200
|
||||
DTSTART:19961027T040000
|
||||
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
|
||||
TZNAME:EET
|
||||
END:STANDARD
|
||||
END:VTIMEZONE
|
||||
END:VCALENDAR
|
||||
<
|
||||
caldav_type: >VEVENT<
|
||||
class: >PUBLIC<
|
||||
description: >NULL<
|
||||
dtend: >2008-10-25 14:30:00+13<
|
||||
dtstamp: >2008-10-24 20:07:45<
|
||||
dtstart: >2008-10-25 13:30:00+13<
|
||||
due: >NULL<
|
||||
location: >NULL<
|
||||
logged_user: >15<
|
||||
percent_complete: >NULL<
|
||||
priority: >NULL<
|
||||
rrule: >FREQ=MONTHLY;INTERVAL=1;BYDAY=1TU,2WE,3TH,4FR;BYMONTH=3,6,9,10,12<
|
||||
status: >NULL<
|
||||
summary: >Irregular meeting for User 3<
|
||||
transp: >OPAQUE<
|
||||
tz_id: >Europe/Helsinki<
|
||||
uid: >55F6EC95-2D21-4FB9-9AE1-A6E020B44AEB<
|
||||
url: >NULL<
|
||||
user_no: >15<
|
||||
|
||||
A1 CalDAV DATA: >BEGIN:VCALENDAR
|
||||
PRODID:-//davical.org//NONSGML AWL Calendar//EN
|
||||
VERSION:2.0
|
||||
CALSCALE:GREGORIAN
|
||||
BEGIN:VEVENT
|
||||
SEQUENCE:2
|
||||
TRANSP:OPAQUE
|
||||
UID:174F9C2A-1223-40C4-9E06-6E91F2EA9491
|
||||
DTSTART;TZID=Europe/Helsinki:20081024T084500
|
||||
DTSTAMP:20081025T112653Z
|
||||
SUMMARY:Dentist\'s Council meeting
|
||||
RRULE:FREQ=MONTHLY;INTERVAL=1;BYDAY=TU,FR
|
||||
CREATED:20081025T112648Z
|
||||
DTEND;TZID=Europe/Helsinki:20081024T113000
|
||||
END:VEVENT
|
||||
BEGIN:VTIMEZONE
|
||||
TZID:Europe/Helsinki
|
||||
BEGIN:DAYLIGHT
|
||||
TZOFFSETFROM:+0200
|
||||
TZOFFSETTO:+0300
|
||||
DTSTART:19810329T030000
|
||||
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
|
||||
TZNAME:EEST
|
||||
END:DAYLIGHT
|
||||
BEGIN:STANDARD
|
||||
TZOFFSETFROM:+0300
|
||||
TZOFFSETTO:+0200
|
||||
DTSTART:19961027T040000
|
||||
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
|
||||
TZNAME:EET
|
||||
END:STANDARD
|
||||
END:VTIMEZONE
|
||||
END:VCALENDAR
|
||||
<
|
||||
caldav_type: >VEVENT<
|
||||
class: >PUBLIC<
|
||||
description: >NULL<
|
||||
dtend: >2008-10-24 11:30:00+13<
|
||||
dtstamp: >2008-10-25 11:26:53<
|
||||
dtstart: >2008-10-24 08:45:00+13<
|
||||
due: >NULL<
|
||||
location: >NULL<
|
||||
logged_user: >15<
|
||||
percent_complete: >NULL<
|
||||
priority: >NULL<
|
||||
rrule: >FREQ=MONTHLY;INTERVAL=1;BYDAY=TU,FR<
|
||||
status: >NULL<
|
||||
summary: >Dentist\'s Council meeting<
|
||||
transp: >OPAQUE<
|
||||
tz_id: >Europe/Helsinki<
|
||||
uid: >174F9C2A-1223-40C4-9E06-6E91F2EA9491<
|
||||
url: >NULL<
|
||||
user_no: >15<
|
||||
|
||||
count: >2<
|
||||
|
||||
@ -0,0 +1,77 @@
|
||||
#
|
||||
# PUT a calendar collection to user3 so we have some starting events
|
||||
#
|
||||
# There is no CalDAV defined behaviour for this.
|
||||
#
|
||||
TYPE=PUT
|
||||
URL=http://mycaldav/caldav.php/User%20Six/home/
|
||||
HEADER=User-Agent: RSCDS Testing/0.9.x
|
||||
HEADER=Content-Type: text/calendar; charset=utf-8
|
||||
AUTH=User Six:user6
|
||||
|
||||
HEAD
|
||||
|
||||
BEGINDATA
|
||||
BEGIN:VCALENDAR
|
||||
VERSION:2.0
|
||||
PRODID:-//Apple Inc.//iCal 3.0//EN
|
||||
CALSCALE:GREGORIAN
|
||||
BEGIN:VTIMEZONE
|
||||
TZID:Europe/Helsinki
|
||||
BEGIN:DAYLIGHT
|
||||
TZOFFSETFROM:+0200
|
||||
TZOFFSETTO:+0300
|
||||
DTSTART:19810329T030000
|
||||
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
|
||||
TZNAME:EEST
|
||||
END:DAYLIGHT
|
||||
BEGIN:STANDARD
|
||||
TZOFFSETFROM:+0300
|
||||
TZOFFSETTO:+0200
|
||||
DTSTART:19961027T040000
|
||||
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
|
||||
TZNAME:EET
|
||||
END:STANDARD
|
||||
END:VTIMEZONE
|
||||
BEGIN:VEVENT
|
||||
SEQUENCE:3
|
||||
TRANSP:OPAQUE
|
||||
UID:55F6EC95-2D21-4FB9-9AE1-A6E020B44AEB
|
||||
DTSTART;TZID=Europe/Helsinki:20081025T133000
|
||||
DTSTAMP:20081024T200745Z
|
||||
RRULE:FREQ=MONTHLY;INTERVAL=1;BYDAY=1TU,2WE,3TH,4FR;BYMONTH=3,6,9,10,12
|
||||
SUMMARY:Irregular meeting for User 3
|
||||
CREATED:20081024T200734Z
|
||||
DTEND;TZID=Europe/Helsinki:20081025T143000
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
SEQUENCE:2
|
||||
TRANSP:OPAQUE
|
||||
UID:174F9C2A-1223-40C4-9E06-6E91F2EA9491
|
||||
DTSTART;TZID=Europe/Helsinki:20081024T084500
|
||||
DTSTAMP:20081025T112653Z
|
||||
SUMMARY:Dentist\'s Council meeting
|
||||
RRULE:FREQ=MONTHLY;INTERVAL=1;BYDAY=TU,FR
|
||||
CREATED:20081025T112648Z
|
||||
DTEND;TZID=Europe/Helsinki:20081024T113000
|
||||
END:VEVENT
|
||||
END:VCALENDAR
|
||||
ENDDATA
|
||||
|
||||
|
||||
QUERY
|
||||
SELECT caldav_data.user_no, caldav_type, logged_user,
|
||||
uid, dtstamp, dtstart, dtend, due, summary, location,
|
||||
description, priority, class, transp, rrule, url,
|
||||
percent_complete, tz_id, status,
|
||||
caldav_data AS "A1 CalDAV DATA"
|
||||
FROM caldav_data JOIN calendar_item USING(dav_name)
|
||||
WHERE caldav_data.dav_name ~ '^/User Six/home/'
|
||||
ENDQUERY
|
||||
|
||||
QUERY
|
||||
SELECT count(*)
|
||||
FROM caldav_data JOIN calendar_item USING(dav_name)
|
||||
WHERE caldav_data.dav_name ~ '^/User Six/home/'
|
||||
ENDQUERY
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
HTTP/1.1 200 OK
|
||||
HTTP/1.1 404 Not Found
|
||||
Date: Dow, 01 Jan 2000 00:00:00 GMT
|
||||
DAV: 1, 2, 3, access-control, calendar-access, calendar-schedule
|
||||
Allow: OPTIONS, GET, HEAD, PUT, DELETE, PROPFIND, MKCOL, MKCALENDAR, LOCK, UNLOCK, REPORT, PROPPATCH, POST
|
||||
Content-Length: 0
|
||||
Content-Length: 37
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
|
||||
No collection found at that location.
|
||||
@ -1,25 +1,9 @@
|
||||
HTTP/1.1 207 Multi-Status
|
||||
Date: Dow, 01 Jan 2000 00:00:00 GMT
|
||||
DAV: 1, 2, 3, access-control, calendar-access, calendar-schedule
|
||||
ETag: "0c15a8bfc4ea79dadb1dc60a6e443e04"
|
||||
Content-Length: 497
|
||||
ETag: "07474790757c5e1b526ce4901889d6d3"
|
||||
Content-Length: 68
|
||||
Content-Type: text/xml; charset="utf-8"
|
||||
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<multistatus xmlns="DAV:" xmlns:C="urn:ietf:params:xml:ns:caldav">
|
||||
<response>
|
||||
<href>/caldav.php/user1/home/.chandler/</href>
|
||||
<propstat>
|
||||
<prop>
|
||||
<resourcetype>
|
||||
<collection/>
|
||||
<C:calendar/>
|
||||
<C:schedule-calendar/>
|
||||
</resourcetype>
|
||||
<displayname>/user1/home/.chandler/</displayname>
|
||||
<getetag>"a150b8e5ab38926a153b90c6546dc610"</getetag>
|
||||
</prop>
|
||||
<status>HTTP/1.1 200 OK</status>
|
||||
</propstat>
|
||||
</response>
|
||||
</multistatus>
|
||||
<multistatus xmlns="DAV:"/>
|
||||
|
||||
@ -20,7 +20,7 @@ BEGINDATA
|
||||
<C:mkcalendar xmlns:D="DAV:" xmlns:C="urn:ietf:params:xml:ns:caldav" xmlns:I="com.apple.ical:">
|
||||
<D:set>
|
||||
<D:prop>
|
||||
<D:displayname>SOHO+collection</D:displayname>
|
||||
<D:displayname>SOHO collection</D:displayname>
|
||||
<I:calendarcolor>#0000FFFF</I:calendarcolor>
|
||||
<C:supported-calendar-component-set>
|
||||
<C:comp name="VEVENT"/>
|
||||
@ -35,5 +35,5 @@ BEGINDATA
|
||||
ENDDATA
|
||||
|
||||
QUERY
|
||||
SELECT * FROM collection WHERE dav_name = '/user1/SOHO+collection';
|
||||
SELECT * FROM collection WHERE dav_name = '/user1/SOHO collection';
|
||||
ENDQUERY
|
||||
|
||||
@ -1,14 +1,14 @@
|
||||
HTTP/1.1 200 OK
|
||||
Date: Dow, 01 Jan 2000 00:00:00 GMT
|
||||
DAV: 1, 2, 3, access-control, calendar-access, calendar-schedule
|
||||
Content-Location: /caldav.php/user1/SOHO+collection/
|
||||
Content-Length: 235
|
||||
Content-Location: /caldav.php/user1/SOHO%20collection/
|
||||
Content-Length: 237
|
||||
Content-Type: text/xml; charset="utf-8"
|
||||
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<multistatus xmlns="DAV:">
|
||||
<response>
|
||||
<href>/caldav.php/user1/SOHO+collection/</href>
|
||||
<href>/caldav.php/user1/SOHO%20collection/</href>
|
||||
<responsedescription>All requested changes were made.</responsedescription>
|
||||
</response>
|
||||
</multistatus>
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
TYPE=PROPPATCH
|
||||
|
||||
# Note the URL doesn't have a trailling '/'
|
||||
URL=http://mycaldav/caldav.php/user1/SOHO+collection
|
||||
URL=http://mycaldav/caldav.php/user1/SOHO%20collection
|
||||
|
||||
HEADER=User-Agent: SOHO Organizer/6.5.2 libcurl/7.17.0 OpenSSL/0.9.7l zlib/1.2.3 libssh2/0.17
|
||||
HEADER=Content-Type: text/xml; charset=utf-8
|
||||
@ -22,5 +22,5 @@ ENDDATA
|
||||
|
||||
QUERY
|
||||
SELECT * FROM collection JOIN property USING (dav_name)
|
||||
WHERE collection.dav_name = '/user1/SOHO+collection';
|
||||
WHERE collection.dav_name = '/user1/SOHO collection';
|
||||
ENDQUERY
|
||||
|
||||
@ -29,13 +29,13 @@ changed_last_30se: >1<
|
||||
|
||||
changed_by: >10<
|
||||
changed_last_30se: >1<
|
||||
dav_name: >/user1/SOHO+collection/<
|
||||
dav_name: >/user1/SOHO collection/<
|
||||
property_name: >com.apple.ical::calendarcolor<
|
||||
property_value: >#FF8000FF<
|
||||
|
||||
changed_by: >10<
|
||||
changed_last_30se: >1<
|
||||
dav_name: >/user1/SOHO+collection/<
|
||||
dav_name: >/user1/SOHO collection/<
|
||||
property_name: >urn:ietf:params:xml:ns:caldav:calendar-description<
|
||||
property_value: >Calendar description<
|
||||
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
HTTP/1.1 207 Multi-Status
|
||||
Date: Dow, 01 Jan 2000 00:00:00 GMT
|
||||
DAV: 1, 2, 3, access-control, calendar-access, calendar-schedule
|
||||
ETag: "faa56d44ed127283279410dc201ac450"
|
||||
Content-Length: 3757
|
||||
ETag: "8f4ecca4cebdbf26f6a439035ec65d61"
|
||||
Content-Length: 4038
|
||||
Content-Type: text/xml; charset="utf-8"
|
||||
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
@ -91,6 +91,18 @@ Content-Type: text/xml; charset="utf-8"
|
||||
<status>HTTP/1.1 200 OK</status>
|
||||
</propstat>
|
||||
</response>
|
||||
<response>
|
||||
<href>/caldav.php/User%20Six/</href>
|
||||
<propstat>
|
||||
<prop>
|
||||
<C:calendar-home-set>
|
||||
<href>/caldav.php/User%20Six/</href>
|
||||
</C:calendar-home-set>
|
||||
<displayname>User 6</displayname>
|
||||
</prop>
|
||||
<status>HTTP/1.1 200 OK</status>
|
||||
</propstat>
|
||||
</response>
|
||||
<response>
|
||||
<href>/caldav.php/manager1/</href>
|
||||
<propstat>
|
||||
|
||||
7
testing/tests/regression-suite/910-Space-OPTIONS.result
Normal file
7
testing/tests/regression-suite/910-Space-OPTIONS.result
Normal file
@ -0,0 +1,7 @@
|
||||
HTTP/1.1 200 OK
|
||||
Date: Dow, 01 Jan 2000 00:00:00 GMT
|
||||
DAV: 1, 2, 3, access-control, calendar-access, calendar-schedule
|
||||
Allow: OPTIONS, GET, HEAD, PUT, DELETE, PROPFIND, MKCOL, MKCALENDAR, LOCK, UNLOCK, REPORT, PROPPATCH, POST
|
||||
Content-Length: 0
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
|
||||
6
testing/tests/regression-suite/910-Space-OPTIONS.test
Normal file
6
testing/tests/regression-suite/910-Space-OPTIONS.test
Normal file
@ -0,0 +1,6 @@
|
||||
#
|
||||
# Do an OPTIONS request on a URL with a space
|
||||
TYPE=OPTIONS
|
||||
URL=http://mycaldav/caldav.php/User%20Six/home/
|
||||
AUTH=User Six:user6
|
||||
HEAD
|
||||
13
testing/tests/regression-suite/911-Space-MKCALENDAR.result
Normal file
13
testing/tests/regression-suite/911-Space-MKCALENDAR.result
Normal file
@ -0,0 +1,13 @@
|
||||
HTTP/1.1 201 Created
|
||||
Date: Dow, 01 Jan 2000 00:00:00 GMT
|
||||
DAV: 1, 2, 3, access-control, calendar-access, calendar-schedule
|
||||
Cache-Control: no-cache
|
||||
Content-Length: 0
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
|
||||
dav_displayname: >Space Calendar<
|
||||
is_calendar: >1<
|
||||
parent_container: >/User Six/<
|
||||
public_events_onl: >0<
|
||||
user_no: >15<
|
||||
|
||||
30
testing/tests/regression-suite/911-Space-MKCALENDAR.test
Normal file
30
testing/tests/regression-suite/911-Space-MKCALENDAR.test
Normal file
@ -0,0 +1,30 @@
|
||||
#
|
||||
# MKCALENDAR test for username with a space
|
||||
#
|
||||
TYPE=MKCALENDAR
|
||||
URL=http://mycaldav/caldav.php/User%20Six/DEADBEEF-EFD9-4F0F-9BDC-5335E04D47E0/
|
||||
HEADER=Content-Type: text/xml
|
||||
AUTH=User Six:user6
|
||||
HEAD
|
||||
|
||||
|
||||
BEGINDATA
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<x0:mkcalendar xmlns:x0="urn:ietf:params:xml:ns:caldav" xmlns:x1="DAV:" xmlns:x2="http://apple.com/ns/ical/">
|
||||
<x1:set>
|
||||
<x1:prop>
|
||||
<x1:displayname>Space Calendar</x1:displayname>
|
||||
<x2:calendar-color>#391B71A0</x2:calendar-color>
|
||||
</x1:prop>
|
||||
</x1:set>
|
||||
</x0:mkcalendar>
|
||||
ENDDATA
|
||||
|
||||
|
||||
QUERY
|
||||
SELECT user_no, parent_container, dav_displayname,
|
||||
is_calendar, public_events_only
|
||||
FROM collection
|
||||
WHERE dav_name = '/User Six/DEADBEEF-EFD9-4F0F-9BDC-5335E04D47E0/';
|
||||
ENDQUERY
|
||||
|
||||
81
testing/tests/regression-suite/912-Space-PROPFIND.result
Normal file
81
testing/tests/regression-suite/912-Space-PROPFIND.result
Normal file
@ -0,0 +1,81 @@
|
||||
HTTP/1.1 207 Multi-Status
|
||||
Date: Dow, 01 Jan 2000 00:00:00 GMT
|
||||
DAV: 1, 2, 3, access-control, calendar-access, calendar-schedule
|
||||
ETag: "d9e474e1d625534857e60566ab57af44"
|
||||
Content-Length: 1914
|
||||
Content-Type: text/xml; charset="utf-8"
|
||||
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<multistatus xmlns="DAV:" xmlns:A="http://calendarserver.org/ns/" xmlns:C="urn:ietf:params:xml:ns:caldav" xmlns:A1="http://apple.com/ns/ical/">
|
||||
<response>
|
||||
<href>/caldav.php/User%20Six/</href>
|
||||
<propstat>
|
||||
<prop>
|
||||
<resourcetype>
|
||||
<collection/>
|
||||
<principal/>
|
||||
</resourcetype>
|
||||
<displayname>User 6</displayname>
|
||||
<A:getctag>"6892a953b4f6ae6179a98759c8de3de2"</A:getctag>
|
||||
</prop>
|
||||
<status>HTTP/1.1 200 OK</status>
|
||||
</propstat>
|
||||
<propstat>
|
||||
<prop>
|
||||
<C:calendar-free-busy-set/>
|
||||
<C:calendar-description/>
|
||||
<A1:calendar-color/>
|
||||
<A1:calendar-order/>
|
||||
</prop>
|
||||
<status>HTTP/1.1 404 Not Found</status>
|
||||
</propstat>
|
||||
</response>
|
||||
<response>
|
||||
<href>/caldav.php/User%20Six/home/</href>
|
||||
<propstat>
|
||||
<prop>
|
||||
<resourcetype>
|
||||
<collection/>
|
||||
<C:calendar/>
|
||||
<C:schedule-calendar/>
|
||||
</resourcetype>
|
||||
<displayname>home</displayname>
|
||||
<A:getctag>"6cc47e929c65c2342a578dcba09a2492"</A:getctag>
|
||||
</prop>
|
||||
<status>HTTP/1.1 200 OK</status>
|
||||
</propstat>
|
||||
<propstat>
|
||||
<prop>
|
||||
<C:calendar-free-busy-set/>
|
||||
<C:calendar-description/>
|
||||
<A1:calendar-color/>
|
||||
<A1:calendar-order/>
|
||||
</prop>
|
||||
<status>HTTP/1.1 404 Not Found</status>
|
||||
</propstat>
|
||||
</response>
|
||||
<response>
|
||||
<href>/caldav.php/User%20Six/DEADBEEF-EFD9-4F0F-9BDC-5335E04D47E0/</href>
|
||||
<propstat>
|
||||
<prop>
|
||||
<resourcetype>
|
||||
<collection/>
|
||||
<C:calendar/>
|
||||
<C:schedule-calendar/>
|
||||
</resourcetype>
|
||||
<displayname>Space Calendar</displayname>
|
||||
<A:getctag>"d0711d9c33f6c22359ee83adb7751cda"</A:getctag>
|
||||
<A1:calendar-color>#391B71A0</A1:calendar-color>
|
||||
</prop>
|
||||
<status>HTTP/1.1 200 OK</status>
|
||||
</propstat>
|
||||
<propstat>
|
||||
<prop>
|
||||
<C:calendar-free-busy-set/>
|
||||
<C:calendar-description/>
|
||||
<A1:calendar-order/>
|
||||
</prop>
|
||||
<status>HTTP/1.1 404 Not Found</status>
|
||||
</propstat>
|
||||
</response>
|
||||
</multistatus>
|
||||
26
testing/tests/regression-suite/912-Space-PROPFIND.test
Normal file
26
testing/tests/regression-suite/912-Space-PROPFIND.test
Normal file
@ -0,0 +1,26 @@
|
||||
#
|
||||
# Testing username with a space, similar to iCal 10.5
|
||||
#
|
||||
TYPE=PROPFIND
|
||||
URL=http://mycaldav/caldav.php/User%20Six/
|
||||
AUTH=User Six:user6
|
||||
HEAD
|
||||
|
||||
HEADER=User-Agent: DAVKit/3.0.4 (652); CalendarStore/3.0.5 (841); iCal/3.0.5 (1270); Mac OS X/10.5.5 (9F33)
|
||||
HEADER=Content-Type: text/xml
|
||||
HEADER=Depth: 1
|
||||
|
||||
BEGINDATA
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<x0:propfind xmlns:x1="http://calendarserver.org/ns/" xmlns:x0="DAV:" xmlns:x3="http://apple.com/ns/ical/" xmlns:x2="urn:ietf:params:xml:ns:caldav">
|
||||
<x0:prop>
|
||||
<x1:getctag/>
|
||||
<x0:displayname/>
|
||||
<x2:calendar-description/>
|
||||
<x3:calendar-color/>
|
||||
<x3:calendar-order/>
|
||||
<x0:resourcetype/>
|
||||
<x2:calendar-free-busy-set/>
|
||||
</x0:prop>
|
||||
</x0:propfind>
|
||||
ENDDATA
|
||||
Loading…
x
Reference in New Issue
Block a user