Don't allow PUT of non-calendar/address resources into calendars/addressbooks.

This commit is contained in:
Andrew McMillan 2010-06-27 18:56:17 +12:00
parent 5d14ab0fe0
commit 2f38cf077b

View File

@ -25,6 +25,12 @@ $lock_opener = $request->FailIfLocked();
$dest = new DAVResource($request->path);
$container = $dest->FetchParentContainer();
if ( $container->IsCalendar() ) {
$request->DoResponse( 409, translate('Incorrect content type for calendar: ') . $request->content_type );
}
else if ( $container->IsAddressbook() ) {
$request->DoResponse( 409, translate('Incorrect content type for addressbook: ') . $request->content_type );
}
if ( ! $dest->Exists() ) {
if ( $container->IsPrincipal() ) {
$request->DoResponse(403,translate('A DAViCal principal collection may only contain collections'));