diff options
Diffstat (limited to 'includes/model/ShiftsFilter.php')
-rw-r--r-- | includes/model/ShiftsFilter.php | 242 |
1 files changed, 144 insertions, 98 deletions
diff --git a/includes/model/ShiftsFilter.php b/includes/model/ShiftsFilter.php index ff1f5d40..3b691b55 100644 --- a/includes/model/ShiftsFilter.php +++ b/includes/model/ShiftsFilter.php @@ -7,115 +7,161 @@ namespace Engelsystem; * * @author msquare */ -class ShiftsFilter { - - /** - * How long can the time interval be? - */ - const MAX_DURATION = 86400; - // one day - - /** - * Shift is completely full. - */ - const FILLED_FILLED = 1; - - /** - * Shift has some free slots. - */ - const FILLED_FREE = 0; - - /** - * Has the user "user shifts admin" privilege? - * - * @var boolean - */ - private $userShiftsAdmin; - - private $filled = []; - - private $rooms = []; - - private $types = []; - - private $startTime = null; - - private $endTime = null; - - public function __construct($user_shifts_admin, $rooms, $types) { - $this->user_shifts_admin = $user_shifts_admin; - $this->rooms = $rooms; - $this->types = $types; - - $this->filled = [ - ShiftsFilter::FILLED_FREE - ]; - - if ($user_shifts_admin) { - $this->filled[] = ShiftsFilter::FILLED_FILLED; +class ShiftsFilter +{ + /** + * Shift is completely full. + */ + const FILLED_FILLED = 1; + + /** + * Shift has some free slots. + */ + const FILLED_FREE = 0; + + /** + * Has the user "user shifts admin" privilege? + * + * @var boolean + */ + private $userShiftsAdmin; + + /** @var int[] */ + private $filled = []; + + /** @var int[] */ + private $rooms = []; + + /** @var int[] */ + private $types = []; + + /** @var int unix timestamp */ + private $startTime = null; + + /** @var int unix timestamp */ + private $endTime = null; + + /** + * ShiftsFilter constructor. + * + * @param bool $user_shifts_admin + * @param int[] $rooms + * @param int[] $types + */ + public function __construct($user_shifts_admin, $rooms, $types) + { + $this->user_shifts_admin = $user_shifts_admin; + $this->rooms = $rooms; + $this->types = $types; + + $this->filled = [ + ShiftsFilter::FILLED_FREE + ]; + + if ($user_shifts_admin) { + $this->filled[] = ShiftsFilter::FILLED_FILLED; + } } - } - public function getStartTime() { - return $this->startTime; - } + /** + * @return int unix timestamp + */ + public function getStartTime() + { + return $this->startTime; + } - public function setStartTime($startTime) { - $this->startTime = $startTime; - } + /** + * @param int $startTime unix timestamp + */ + public function setStartTime($startTime) + { + $this->startTime = $startTime; + } - public function getEndTime() { - return $this->endTime; - } + /** + * @return int unix timestamp + */ + public function getEndTime() + { + return $this->endTime; + } - public function setEndTime($endTime) { - if ($endTime - $this->startTime > ShiftsFilter::MAX_DURATION) { - $endTime = $this->startTime + ShiftsFilter::MAX_DURATION; + /** + * @param int $endTime unix timestamp + */ + public function setEndTime($endTime) + { + $this->endTime = $endTime; } - $this->endTime = $endTime; - } - - public function getTypes() { - if (count($this->types) == 0) { - return [ - 0 - ]; + + /** + * @return int[] + */ + public function getTypes() + { + if (count($this->types) == 0) { + return [0]; + } + return $this->types; } - return $this->types; - } - - public function setTypes($types) { - $this->types = $types; - } - - public function getRooms() { - if (count($this->rooms) == 0) { - return [ - 0 - ]; + + /** + * @param int[] $types + */ + public function setTypes($types) + { + $this->types = $types; } - return $this->rooms; - } - public function setRooms($rooms) { - $this->rooms = $rooms; - } + /** + * @return int[] + */ + public function getRooms() + { + if (count($this->rooms) == 0) { + return [0]; + } + return $this->rooms; + } - public function isUserShiftsAdmin() { - return $this->userShiftsAdmin; - } + /** + * @param int[] $rooms + */ + public function setRooms($rooms) + { + $this->rooms = $rooms; + } - public function setUserShiftsAdmin($userShiftsAdmin) { - $this->userShiftsAdmin = $userShiftsAdmin; - } + /** + * @return bool + */ + public function isUserShiftsAdmin() + { + return $this->userShiftsAdmin; + } - public function getFilled() { - return $this->filled; - } + /** + * @param bool $userShiftsAdmin + */ + public function setUserShiftsAdmin($userShiftsAdmin) + { + $this->userShiftsAdmin = $userShiftsAdmin; + } - public function setFilled($filled) { - $this->filled = $filled; - } -} + /** + * @return int[] + */ + public function getFilled() + { + return $this->filled; + } -?>
\ No newline at end of file + /** + * @param int[] $filled + */ + public function setFilled($filled) + { + $this->filled = $filled; + } +} |