plugins/calendar plugins/libcalendaring
Thomas Brüderli
bruederli at kolabsys.com
Fri Nov 1 11:34:08 CET 2013
plugins/calendar/calendar.php | 6 +++---
plugins/libcalendaring/libcalendaring.php | 4 ++--
2 files changed, 5 insertions(+), 5 deletions(-)
New commits:
commit 875a76c801724cb4180bc45f7ad14001d5be5c97
Author: Thomas Bruederli <bruederli at kolabsys.com>
Date: Fri Nov 1 11:23:42 2013 +0100
Don't set timezone on allday dates (#2463)
diff --git a/plugins/calendar/calendar.php b/plugins/calendar/calendar.php
index 573ebdc..a94a65c 100644
--- a/plugins/calendar/calendar.php
+++ b/plugins/calendar/calendar.php
@@ -1275,7 +1275,7 @@ class calendar extends rcube_plugin
if ($event['recurrence']) {
$event['recurrence_text'] = $this->_recurrence_text($event['recurrence']);
if ($event['recurrence']['UNTIL'])
- $event['recurrence']['UNTIL'] = $this->lib->adjust_timezone($event['recurrence']['UNTIL'])->format('c');
+ $event['recurrence']['UNTIL'] = $this->lib->adjust_timezone($event['recurrence']['UNTIL'], $event['allday'])->format('c');
unset($event['recurrence']['EXCEPTIONS']);
}
@@ -1306,8 +1306,8 @@ class calendar extends rcube_plugin
return array(
'_id' => $event['calendar'] . ':' . $event['id'], // unique identifier for fullcalendar
- 'start' => $this->lib->adjust_timezone($event['start'])->format('c'),
- 'end' => $this->lib->adjust_timezone($event['end'])->format('c'),
+ 'start' => $this->lib->adjust_timezone($event['start'], $event['allday'])->format('c'),
+ 'end' => $this->lib->adjust_timezone($event['end'], $event['allday'])->format('c'),
// 'changed' might be empty for event recurrences (Bug #2185)
'changed' => $event['changed'] ? $this->lib->adjust_timezone($event['changed'])->format('c') : null,
'title' => strval($event['title']),
diff --git a/plugins/libcalendaring/libcalendaring.php b/plugins/libcalendaring/libcalendaring.php
index 05465b0..cdae37c 100644
--- a/plugins/libcalendaring/libcalendaring.php
+++ b/plugins/libcalendaring/libcalendaring.php
@@ -120,14 +120,14 @@ class libcalendaring extends rcube_plugin
* @param mixed Any kind of a date representation (DateTime object, string or unix timestamp)
* @return object DateTime object in user's timezone
*/
- public function adjust_timezone($dt)
+ public function adjust_timezone($dt, $dateonly = false)
{
if (is_numeric($dt))
$dt = new DateTime('@'.$dt);
else if (is_string($dt))
$dt = new DateTime($dt);
- if ($dt instanceof DateTime) {
+ if ($dt instanceof DateTime && !($dt->_dateonly || $dateonly)) {
$dt->setTimezone($this->timezone);
}
More information about the commits
mailing list