summaryrefslogtreecommitdiff
path: root/app/php/facades/EventFacade.php
diff options
context:
space:
mode:
Diffstat (limited to 'app/php/facades/EventFacade.php')
-rw-r--r--app/php/facades/EventFacade.php115
1 files changed, 0 insertions, 115 deletions
diff --git a/app/php/facades/EventFacade.php b/app/php/facades/EventFacade.php
deleted file mode 100644
index 14f809d..0000000
--- a/app/php/facades/EventFacade.php
+++ /dev/null
@@ -1,115 +0,0 @@
-<?php
-
-Prado::using('Application.facades.Facade');
-Prado::using('Application.dto.EventDTO');
-Prado::using('Application.dto.TimezoneDTO');
-Prado::using('Application.dto.GridEventDTO');
-Prado::using('Application.dto.CalendarGridDTO');
-Prado::using('Application.model.Calendar');
-Prado::using('Application.facades.CalendarFacade');
-Prado::using('Application.user.DbUser');
-
-class EventFacade extends Facade {
-
- public function getEventList(string $dateFrom=NULL, string $dateTo=NULL,
- array $calendars=NULL, string $order='ASC') {
- $calendarClause = '1=1';
- if ($calendars) {
- $calendarClause = sprintf(
- '_calendar IN (%s)',
- implode(
- ',',
- array_map(
- function($calendar) {
- return $this->quoteString($calendar->UID);
- },
- $calendars
- )
- )
- );
- }
- return $this->fetchList(
- 'getEvents',
- [
- 'date_from' => $dateFrom ?: '0000-00-00 00:00:00',
- 'date_to' => $dateTo ?: '9999-99-99',
- 'calendar_clause' => $calendarClause,
- 'order_clause' => $order
- ]
- );
- }
-
- private function _compileEventObjects(array $events, array $calendars,
- TimezoneDTO $tz,
- string $class = 'Application.dto.EventDTO') {
- return array_map(
- function($event) use($calendars, $class, $tz) {
- $dto = Prado::createComponent($class, $tz);
- $dto->loadRecord($event, $calendars);
- return $dto;
- },
- $events
- );
- }
-
- public function getTimeframeListForUser(
- DbUser $user,
- DateTime $dateFrom, DateTime $dateTo,
- string $returnClass = 'Application.dto.EventDTO') {
- $calendars = CalendarFacade::getInstance()->getCalendarPreference($user);
- if ($calendars) {
- $events = $this->getEventList(
- $dateFrom->format('Y-m-d H:i:s'),
- $dateTo->format('Y-m-d H:i:s'),
- $calendars
- );
- $calendars = $this->_getCalendarsForEvents($events);
- return $this->_compileEventObjects(
- $events, $calendars,
- UserFacade::getInstance()->getTimezonePreference($user),
- $returnClass);
- }
- return [];
- }
-
- public function getCalendarListForUser(DbUser $user,
- $month, $year) {
- if (!$year) {
- $year = intval(date('Y'));
- }
- if (!$month) {
- $month = intval(date('m'));
- }
- $timezone = $user
- ? UserFacade::getInstance()->getTimezonePreference($user)
- : new TimezoneDTO(date_default_timezone_get());
- $timeframe = CalendarFacade::getInstance()->getCalendarBoundaries(
- $year, $month, $timezone
- );
- return new CalendarGridDTO(
- $this->getTimeframeListForUser(
- $user,
- $timeframe[0], $timeframe[1],
- 'Application.dto.GridEventDTO'
- ),
- ...$timeframe
- );
- }
-
- private function _getCalendarsForEvents(array $events) {
- if ($events) {
- return Calendar::finder()->findAllByPks(
- array_map(
- function($event) {
- return $event->CalendarID;
- },
- $events
- )
- );
- }
- return [];
- }
-
-}
-
-?>