From 6839a125d4d0643642e6a9ed5342b29150eed13a Mon Sep 17 00:00:00 2001 From: emkael Date: Wed, 16 Mar 2016 23:09:11 +0100 Subject: * event facade refactor --- app/php/facades/EventFacade.php | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'app/php/facades/EventFacade.php') diff --git a/app/php/facades/EventFacade.php b/app/php/facades/EventFacade.php index e7b3abe..7897d05 100644 --- a/app/php/facades/EventFacade.php +++ b/app/php/facades/EventFacade.php @@ -30,6 +30,36 @@ class EventFacade extends Facade { ); } + public function getTimeframeListForUser(DbUser $user, + DateTime $dateFrom, + DateTime $dateTo) { + $events = $this->getEventList( + $dateFrom->format('Y-m-d H:i:s'), + $dateTo->format('Y-m-d H:i:s'), + $user->getCalendarPreference() + ); + $calendars = $this->_getCalendarsForEvents($events); + return array_map( + function($event) use($calendars) { + $dto = new EventDTO(); + $dto->loadRecord($event, $calendars); + return $dto; + }, + $events + ); + } + + private function _getCalendarsForEvents(array $events) { + return Calendar::finder()->findAllByPks( + array_map( + function($event) { + return $event->CalendarID; + }, + $events + ) + ); + } + } ?> -- cgit v1.2.3