summaryrefslogtreecommitdiff
path: root/app/frontend/dto/CalendarGridDayDTO.php
diff options
context:
space:
mode:
authoremkael <emkael@tlen.pl>2016-06-07 15:17:49 +0200
committeremkael <emkael@tlen.pl>2016-06-10 11:46:41 +0200
commit823d71ced9b4947b1a5a5ade7245d521ed490061 (patch)
treea9a6c7cb0de74ff705e8320c284de423a698f5b5 /app/frontend/dto/CalendarGridDayDTO.php
parentdf401552aac363655ab8f056a6c910a7611954d6 (diff)
* renaming php directory
Diffstat (limited to 'app/frontend/dto/CalendarGridDayDTO.php')
-rw-r--r--app/frontend/dto/CalendarGridDayDTO.php28
1 files changed, 28 insertions, 0 deletions
diff --git a/app/frontend/dto/CalendarGridDayDTO.php b/app/frontend/dto/CalendarGridDayDTO.php
new file mode 100644
index 0000000..ba65eb9
--- /dev/null
+++ b/app/frontend/dto/CalendarGridDayDTO.php
@@ -0,0 +1,28 @@
+<?php
+
+Prado::using('Application.dto.EventDTO');
+Prado::using('Application.dto.GridEventDTO');
+
+class CalendarGridDayDTO {
+
+ public $Date;
+ public $Events;
+
+ public function __construct(DateTimeImmutable $date, array $events) {
+ $this->Date = $date->format('Y-m-d');
+ $this->Events = array_filter($events, [$this, '_checkEventDate']);
+ // initial sort (date and calendar name)
+ // events are going to be re-sorted after assigning grid priorities
+ usort($this->Events, ['EventDTO', '__compare']);
+ }
+
+ private function _checkEventDate(GridEventDTO $event) {
+ if (!$this->Date) {
+ return FALSE;
+ }
+ return ($this->Date >= $event->DateFrom) && ($this->Date <= $event->DateTo);
+ }
+
+}
+
+?>