]> source.dussan.org Git - nextcloud-server.git/commitdiff
fix timezone for repeating events
authorGeorg Ehrke <ownclouddev@georgswebsite.de>
Sat, 12 Nov 2011 21:30:09 +0000 (22:30 +0100)
committerGeorg Ehrke <ownclouddev@georgswebsite.de>
Sat, 12 Nov 2011 21:30:09 +0000 (22:30 +0100)
apps/calendar/ajax/events.php

index f161bb88a03d50ed4f018a24d1b8be1238a5b381..9a2ba88060859b50b905ff5b44cde7464fe26f44 100644 (file)
@@ -39,7 +39,9 @@ foreach($events as $event){
        $dtend = OC_Calendar_Object::getDTEndFromVEvent($vevent);
        $return_event = array();
        $start_dt = $dtstart->getDateTime();
+       $start_dt->setTimezone(new DateTimeZone($user_timezone));
        $end_dt = $dtend->getDateTime();
+       $end_dt->setTimezone(new DateTimeZone($user_timezone));
        if ($dtstart->getDateType() == Sabre_VObject_Element_DateTime::DATE){
                $return_event['allDay'] = true;
        }else{
@@ -49,7 +51,7 @@ foreach($events as $event){
        if($event['repeating'] == 1){
                $duration = (double) $end_dt->format('U') - (double) $start_dt->format('U');
                $r = new When();
-               $r->recur((string) $dtstart)->rrule((string) $vevent->RRULE);
+               $r->recur((string) $start_dt->format('Ymd\THis'))->rrule((string) $vevent->RRULE);
                while($result = $r->next()){
                        if($result->format('U') > $_GET['end']){
                                break;
@@ -71,8 +73,6 @@ foreach($events as $event){
                        $end_dt->modify('-1 sec');
                        $return_event['end'] = $end_dt->format('Y-m-d');
                }else{
-                       $start_dt->setTimezone(new DateTimeZone($user_timezone));
-                       $end_dt->setTimezone(new DateTimeZone($user_timezone));
                        $return_event['start'] = $start_dt->format('Y-m-d H:i:s');
                        $return_event['end'] = $end_dt->format('Y-m-d H:i:s');
                        $return_event['allDay'] = false;