From 4aed50462296b1dfa7a978d976a33b6926b41247 Mon Sep 17 00:00:00 2001 From: Nathan Gray Date: Wed, 16 Dec 2015 00:28:56 +0000 Subject: [PATCH] Fix drag and drop series exception in a different timezone did not remove original event --- calendar/inc/class.calendar_bo.inc.php | 2 +- calendar/inc/class.calendar_ui.inc.php | 2 +- calendar/inc/class.calendar_uiforms.inc.php | 4 ++-- calendar/inc/class.calendar_uilist.inc.php | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/calendar/inc/class.calendar_bo.inc.php b/calendar/inc/class.calendar_bo.inc.php index c604fc07d2..1ff3c7a174 100644 --- a/calendar/inc/class.calendar_bo.inc.php +++ b/calendar/inc/class.calendar_bo.inc.php @@ -867,7 +867,7 @@ class calendar_bo } else { - $timestamps = array('start','end','modified','created','recur_enddate','recurrence'); + $timestamps = array('start','end','modified','created','recur_enddate','recurrence','recur_date'); } // we convert here from the server-time timestamps to user-time and (optional) to a different date-format! foreach ($timestamps as $ts) diff --git a/calendar/inc/class.calendar_ui.inc.php b/calendar/inc/class.calendar_ui.inc.php index d2fc61615c..f81915f2d2 100644 --- a/calendar/inc/class.calendar_ui.inc.php +++ b/calendar/inc/class.calendar_ui.inc.php @@ -814,7 +814,7 @@ class calendar_ui if ($event['recur_type'] != MCAL_RECUR_NONE) { - $event['app_id'] .= ':'.($event['recur_date'] ? $event['recur_date'] : $event['start']); + $event['app_id'] .= ':'.egw_time::to($event['recur_date'] ? $event['recur_date'] : $event['start'],'ts'); } $event['parts'] = implode(",\n",$this->bo->participants($event,false)); $event['date'] = $this->bo->date2string($event['start']); diff --git a/calendar/inc/class.calendar_uiforms.inc.php b/calendar/inc/class.calendar_uiforms.inc.php index 01f98d9b53..d12ae13c5e 100644 --- a/calendar/inc/class.calendar_uiforms.inc.php +++ b/calendar/inc/class.calendar_uiforms.inc.php @@ -2683,7 +2683,7 @@ foreach($recur_event as $_k => $_v) error_log($_k . ': ' . array2string($_v)); */ function ajax_moveEvent($_eventId,$calendarOwner,$targetDateTime,$targetOwner,$durationT=null,$seriesInstance=null) { - list($eventId, $date) = explode(':', $_eventId); + list($eventId, $date) = explode(':', $_eventId,2); // we do not allow dragging into another users calendar ATM if($targetOwner < 0) @@ -2744,7 +2744,7 @@ foreach($recur_event as $_k => $_v) error_log($_k . ': ' . array2string($_v)); { // now we need to add the original start as recur-execption to the series $recur_event = $this->bo->read($event['reference']); - $recur_event['recur_exception'][] = $date; + $recur_event['recur_exception'][] = $d->format('ts'); // check if we need to move the alarms, because they are next on that exception foreach($recur_event['alarm'] as $id => $alarm) { diff --git a/calendar/inc/class.calendar_uilist.inc.php b/calendar/inc/class.calendar_uilist.inc.php index dc647d23fc..c6847284b1 100644 --- a/calendar/inc/class.calendar_uilist.inc.php +++ b/calendar/inc/class.calendar_uilist.inc.php @@ -463,7 +463,7 @@ class calendar_uilist extends calendar_ui } // set id for grid - $event['row_id'] = $event['id'].($event['recur_type'] ? ':'.($event['recur_date'] ? $event['recur_date'] : $event['start']) : ''); + $event['row_id'] = $event['id'].($event['recur_type'] ? ':'.egw_time::to($event['recur_date'] ? $event['recur_date'] : $event['start'],'ts') : ''); // Format start and end with timezone foreach(array('start','end') as $time)