From 4847856dd8adcbc0004f6653c627cb7cf7773a95 Mon Sep 17 00:00:00 2001 From: emkael Date: Tue, 15 Mar 2016 23:59:54 +0100 Subject: * event DTO --- app/php/dto/EventDTO.php | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 app/php/dto/EventDTO.php (limited to 'app/php') diff --git a/app/php/dto/EventDTO.php b/app/php/dto/EventDTO.php new file mode 100644 index 0000000..4a16505 --- /dev/null +++ b/app/php/dto/EventDTO.php @@ -0,0 +1,47 @@ +Name = $event->Name; + $this->Location = $event->Location; + + $utc = new DateTimeZone('UTC'); + $targetTz = new DateTimeZone(date_default_timezone_get()); + $beginDate = new DateTime($event->BeginDate, $utc); + $endDate = new DateTime($event->EndDate, $utc); + if ($event->AllDay) { + $endDate = $endDate->modify('-1 day'); + $this->DateString = $beginDate->format('Y-m-d'); + if ($beginDate != $endDate) { + $this->DateString .= sprintf( + ' - %s', + $endDate->format('Y-m-d') + ); + } + } else { + $beginDate = $beginDate->setTimezone($targetTz); + $this->DateString = $beginDate->format('Y-m-d H:i'); + } + + $calendars = array_filter( + $calendars, + function ($calendar) use($event) { + return $calendar->UID == $event->CalendarID; + } + ); + $this->Calendar = new CalendarDTO(); + $this->Calendar->loadRecord($calendars ? array_values($calendars)[0] : $event->Calendar); + } + +} + +?> -- cgit v1.2.3