diff --git a/inc/CalDAVRequest.php b/inc/CalDAVRequest.php index 779869a6..26e1d172 100644 --- a/inc/CalDAVRequest.php +++ b/inc/CalDAVRequest.php @@ -355,9 +355,6 @@ class CalDAVRequest case 'read': return isset($this->permissions['read']) || isset($this->permissions['write']); break; - case 'write': - return isset($this->permissions['write']); - break; case 'delete': return isset($this->permissions['write']) || isset($this->permissions['unbind']); break; @@ -367,9 +364,15 @@ class CalDAVRequest case 'modify': return isset($this->permissions['write']) || isset($this->permissions['write-content']); break; + case 'mkcalendar': + return isset($this->permissions['bind']); + break; case 'mkcol': return isset($this->permissions['write']); break; + default: + return isset($this->permissions[$activity]); + break; } return false; diff --git a/inc/caldav-MKCALENDAR.php b/inc/caldav-MKCALENDAR.php index 1ebbabea..5ef3ba85 100644 --- a/inc/caldav-MKCALENDAR.php +++ b/inc/caldav-MKCALENDAR.php @@ -10,7 +10,7 @@ */ dbg_error_log("MKCALENDAR", "method handler"); -if ( ! $request->AllowedTo('write') ) { +if ( ! $request->AllowedTo('mkcalendar') ) { $request->DoResponse( 403, translate("You may not create a calendar there.") ); }