]> source.dussan.org Git - nextcloud-server.git/commitdiff
BirthdayCalendar: fix issue with birthyear to high when birthday on Dec 31st 2173/head
authorGeorg Ehrke <developer@georgehrke.com>
Wed, 16 Nov 2016 21:06:36 +0000 (22:06 +0100)
committerGeorg Ehrke <developer@georgehrke.com>
Thu, 17 Nov 2016 14:28:15 +0000 (15:28 +0100)
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
apps/dav/lib/CalDAV/BirthdayService.php
apps/dav/tests/unit/CardDAV/BirthdayServiceTest.php

index bf26aec5377dc8c976e09c181a04206fdb8f2ad8..104eec6b496b0655f75768ea1f93a3dfe39e03e9 100644 (file)
@@ -1,10 +1,12 @@
 <?php
 /**
  * @copyright Copyright (c) 2016, ownCloud, Inc.
+ * @copyright Copyright (c) 2016, Georg Ehrke
  *
  * @author Achim Königs <garfonso@tratschtante.de>
  * @author Robin Appelman <robin@icewind.nl>
  * @author Thomas Müller <thomas.mueller@tmit.eu>
+ * @author Georg Ehrke <georg@nextcloud.com>
  *
  * @license AGPL-3.0
  *
@@ -147,6 +149,8 @@ class BirthdayService {
                } catch (Exception $e) {
                        return null;
                }
+
+               $summary = $title . ' (' . $summarySymbol . $date->format('Y') . ')';
                $vCal = new VCalendar();
                $vCal->VERSION = '2.0';
                $vEvent = $vCal->createComponent('VEVENT');
@@ -163,7 +167,7 @@ class BirthdayService {
                $vEvent->DTEND['VALUE'] = 'DATE';
                $vEvent->{'UID'} = $doc->UID;
                $vEvent->{'RRULE'} = 'FREQ=YEARLY';
-               $vEvent->{'SUMMARY'} = $title . ' (' . $summarySymbol . $date->format('Y') . ')';
+               $vEvent->{'SUMMARY'} = $summary;
                $vEvent->{'TRANSP'} = 'TRANSPARENT';
                $alarm = $vCal->createComponent('VALARM');
                $alarm->add($vCal->createProperty('TRIGGER', '-PT0M', ['VALUE' => 'DURATION']));
index 8f8d02f98909a2d58065e701e2cbed81b538cfbb..5eeb6772a60e1125b3bebc1c21da059c4f00a4af 100644 (file)
@@ -240,6 +240,7 @@ class BirthdayServiceTest extends TestCase {
                        [true, "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY:\r\nEND:VCARD\r\n", "Dr. Foo Bar"],
                        [true, "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY:someday\r\nEND:VCARD\r\n", "Dr. Foo Bar"],
                        [false, "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY:1900-01-01\r\nEND:VCARD\r\n", "Dr. Foo Bar"],
+                       [false, "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY:1900-12-31\r\nEND:VCARD\r\n", "Dr. Foo Bar"],
                ];
        }
 }