From 3b489d6312a4f2734e4ab3129e64d3ab007f3716 Mon Sep 17 00:00:00 2001 From: emkael Date: Wed, 16 Mar 2016 00:00:23 +0100 Subject: * upcoming events on profile page --- app/php/components/UpcomingEvents.php | 52 +++++++++++++++++++++++++++++++++++ app/php/components/UpcomingEvents.tpl | 10 +++++++ app/php/pages/Profile.page | 4 +++ 3 files changed, 66 insertions(+) create mode 100644 app/php/components/UpcomingEvents.php create mode 100644 app/php/components/UpcomingEvents.tpl diff --git a/app/php/components/UpcomingEvents.php b/app/php/components/UpcomingEvents.php new file mode 100644 index 0000000..e18f2f4 --- /dev/null +++ b/app/php/components/UpcomingEvents.php @@ -0,0 +1,52 @@ +getControlState('user'); + } + + public function setUserToDisplay($user) { + $this->setControlState('user', $user); + } + + public function onPreRender($param) { + parent::onPreRender($param); + $this->Events->setDataSource( + $this->_getEventsForUser($this->UserToDisplay) + ); + $this->Events->dataBind(); + } + + private function _getEventsForUser(DbUser $user) { + $events = EventFacade::getInstance()->getEventList( + date('Y-m-d'), + date('Y-m-d', strtotime('+7 days')), + $user->getCalendarPreference() + ); + $calendars = Calendar::finder()->findAllByPks( + array_unique( + array_map( + function($event) { + return $event->CalendarID; + }, + $events + ) + ) + ); + return array_map( + function($event) use($calendars) { + $dto = new EventDTO(); + $dto->loadRecord($event, $calendars); + return $dto; + }, + $events + ); + } + +} + +?> diff --git a/app/php/components/UpcomingEvents.tpl b/app/php/components/UpcomingEvents.tpl new file mode 100644 index 0000000..d660f54 --- /dev/null +++ b/app/php/components/UpcomingEvents.tpl @@ -0,0 +1,10 @@ +Upcoming events: +
+ + + <%# $this->Data->DateString %> + <%# $this->Data->Name %> + (<%# $this->Data->Calendar->Name %>) +
+
+
diff --git a/app/php/pages/Profile.page b/app/php/pages/Profile.page index c5e06ca..0cd3dd3 100644 --- a/app/php/pages/Profile.page +++ b/app/php/pages/Profile.page @@ -6,4 +6,8 @@ <%= $this->User %> +
+ + <%= $this->User %> + -- cgit v1.2.3