diff options
author | emkael <emkael@tlen.pl> | 2016-03-16 01:11:03 +0100 |
---|---|---|
committer | emkael <emkael@tlen.pl> | 2016-03-16 01:11:03 +0100 |
commit | 81890fab8952f6ee9dcb1f3c0a577472cf7c4fd6 (patch) | |
tree | 4b3ed536f83f0877e1be6b89cd687d9c0d44c727 /app/php/dto | |
parent | aa633881b411c81009d4e1d394d30c950da9c70f (diff) |
* respecting timezone preference for events
Diffstat (limited to 'app/php/dto')
-rw-r--r-- | app/php/dto/EventDTO.php | 4 | ||||
-rw-r--r-- | app/php/dto/TimezoneDTO.php | 22 |
2 files changed, 25 insertions, 1 deletions
diff --git a/app/php/dto/EventDTO.php b/app/php/dto/EventDTO.php index 4a16505..b1042b1 100644 --- a/app/php/dto/EventDTO.php +++ b/app/php/dto/EventDTO.php @@ -15,7 +15,9 @@ class EventDTO { $this->Location = $event->Location; $utc = new DateTimeZone('UTC'); - $targetTz = new DateTimeZone(date_default_timezone_get()); + $targetTz = new DateTimeZone( + Prado::getApplication()->getUser()->getTimezonePreference()->Name + ); $beginDate = new DateTime($event->BeginDate, $utc); $endDate = new DateTime($event->EndDate, $utc); if ($event->AllDay) { diff --git a/app/php/dto/TimezoneDTO.php b/app/php/dto/TimezoneDTO.php new file mode 100644 index 0000000..4bb57f2 --- /dev/null +++ b/app/php/dto/TimezoneDTO.php @@ -0,0 +1,22 @@ +<?php + +class TimezoneDTO { + + public $Label; + public $Name; + public $Offset; + public $OffsetHours; + public $OffsetMinutes; + + public function __construct($name) { + $tz = new DateTimeZone($name); + $this->Name = $tz->getName(); + $this->Offset = $tz->getOffset(new DateTime()); + $this->OffsetHours = $this->Offset / 3600; + $this->OffsetMinutes = $this->Offset % 3600 / 60; + $this->Label = sprintf('UTC%+03d:%02d %s', $this->OffsetHours, $this->OffsetMinutes, $this->Name); + } + +} + +?> |