diff options
Diffstat (limited to 'apps/dav/lib/CalDAV/BirthdayService.php')
-rw-r--r-- | apps/dav/lib/CalDAV/BirthdayService.php | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/apps/dav/lib/CalDAV/BirthdayService.php b/apps/dav/lib/CalDAV/BirthdayService.php index 25cf19b460d..0e8926e775a 100644 --- a/apps/dav/lib/CalDAV/BirthdayService.php +++ b/apps/dav/lib/CalDAV/BirthdayService.php @@ -137,9 +137,9 @@ class BirthdayService { * @throws \Sabre\DAV\Exception\BadRequest */ public function ensureCalendarExists($principal) { - $book = $this->calDavBackEnd->getCalendarByUri($principal, self::BIRTHDAY_CALENDAR_URI); - if (!is_null($book)) { - return $book; + $calendar = $this->calDavBackEnd->getCalendarByUri($principal, self::BIRTHDAY_CALENDAR_URI); + if (!is_null($calendar)) { + return $calendar; } $this->calDavBackEnd->createCalendar($principal, self::BIRTHDAY_CALENDAR_URI, [ '{DAV:}displayname' => 'Contact birthdays', @@ -273,6 +273,19 @@ class BirthdayService { /** * @param string $user */ + public function resetForUser($user) { + $principal = 'principals/users/'.$user; + $calendar = $this->calDavBackEnd->getCalendarByUri($principal, self::BIRTHDAY_CALENDAR_URI); + $calendarObjects = $this->calDavBackEnd->getCalendarObjects($calendar['id'], CalDavBackend::CALENDAR_TYPE_CALENDAR); + + foreach($calendarObjects as $calendarObject) { + $this->calDavBackEnd->deleteCalendarObject($calendar['id'], $calendarObject['uri'], CalDavBackend::CALENDAR_TYPE_CALENDAR); + } + } + + /** + * @param string $user + */ public function syncUser($user) { $principal = 'principals/users/'.$user; $this->ensureCalendarExists($principal); |