diff --git a/docs/changelog/7.x.x.txt b/docs/changelog/7.x.x.txt index 62c94412c..3a6a2588b 100644 --- a/docs/changelog/7.x.x.txt +++ b/docs/changelog/7.x.x.txt @@ -42,6 +42,8 @@ - Added Newsletter Asset (Funded by United Knowledge) - Extended content profiling to CS Threads (Funded by United Knowledge) - Added User Invitations (Funded by United Knowledge) + - fix: Calendar Event import ignores time zone + http://www.webgui.org/bugs/tracker/calendar-feed-shows-wrong-time 7.3.19 diff --git a/lib/WebGUI/Workflow/Activity/CalendarUpdateFeeds.pm b/lib/WebGUI/Workflow/Activity/CalendarUpdateFeeds.pm index ccbced279..51c2df679 100755 --- a/lib/WebGUI/Workflow/Activity/CalendarUpdateFeeds.pm +++ b/lib/WebGUI/Workflow/Activity/CalendarUpdateFeeds.pm @@ -210,6 +210,7 @@ sub execute { my ($year, $month, $day) = $date =~ /(\d{4})(\d{2})(\d{2})/; my ($hour, $minute, $second) = $time =~ /(\d{2})(\d{2})(\d{2})/; + my $tz = $events{$id}->{dtstart}->[0]->{tzid} || "UTC"; ($properties->{startDate}, $properties->{startTime}) = split / /, WebGUI::DateTime->new( @@ -219,7 +220,7 @@ sub execute { hour => $hour, minute => $minute, second => $second, - time_zone => "UTC", + time_zone => $tz, )->toMysql; } elsif ($dtstart =~ /(\d{4})(\d{2})(\d{2})/) @@ -244,6 +245,7 @@ sub execute { my ($year, $month, $day) = $date =~ /(\d{4})(\d{2})(\d{2})/; my ($hour, $minute, $second) = $time =~ /(\d{2})(\d{2})(\d{2})/; + my $tz = $events{$id}->{dtend}->[0]->{tzid} || "UTC"; ($properties->{endDate}, $properties->{endTime}) = split / /, WebGUI::DateTime->new( @@ -253,7 +255,7 @@ sub execute { hour => $hour, minute => $minute, second => $second, - time_zone => "UTC", + time_zone => $tz, )->toMysql; } elsif ($dtend =~ /(\d{4})(\d{2})(\d{2})/)