summaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
Diffstat (limited to 'apps')
-rw-r--r--apps/dav/lib/CalDAV/BirthdayService.php15
1 files changed, 11 insertions, 4 deletions
diff --git a/apps/dav/lib/CalDAV/BirthdayService.php b/apps/dav/lib/CalDAV/BirthdayService.php
index 278373733a4..a4326f54f64 100644
--- a/apps/dav/lib/CalDAV/BirthdayService.php
+++ b/apps/dav/lib/CalDAV/BirthdayService.php
@@ -243,7 +243,11 @@ class BirthdayService {
}
try {
- $date = new \DateTime($birthday);
+ if ($birthday instanceof DateAndOrTime) {
+ $date = $birthday->getDateTime();
+ } else {
+ $date = new \DateTimeImmutable($birthday);
+ }
} catch (Exception $e) {
return null;
}
@@ -259,10 +263,13 @@ class BirthdayService {
);
$vEvent->DTSTART['VALUE'] = 'DATE';
$vEvent->add('DTEND');
- $date->add(new \DateInterval('P1D'));
+
+ $dtEndDate = (new \DateTime())->setTimestamp($date->getTimeStamp());
+ $dtEndDate->add(new \DateInterval('P1D'));
$vEvent->DTEND->setDateTime(
- $date
+ $dtEndDate
);
+
$vEvent->DTEND['VALUE'] = 'DATE';
$vEvent->{'UID'} = $doc->UID . $postfix;
$vEvent->{'RRULE'} = 'FREQ=YEARLY';
@@ -306,7 +313,7 @@ class BirthdayService {
foreach($books as $book) {
$cards = $this->cardDavBackEnd->getCards($book['id']);
foreach($cards as $card) {
- $this->onCardChanged($book['id'], $card['uri'], $card['carddata']);
+ $this->onCardChanged((int) $book['id'], $card['uri'], $card['carddata']);
}
}
}