shell bypass 403
<?php
/**
* @copyright © TMS-Plugins. All rights reserved.
* @licence See LICENCE.md for license details.
*/
namespace AmeliaBooking\Domain\Entity\Schedule;
use AmeliaBooking\Domain\ValueObjects\Number\Integer\Id;
use AmeliaBooking\Domain\ValueObjects\Number\Integer\IntegerValue;
use AmeliaBooking\Domain\ValueObjects\DateTime\DateTimeValue;
use AmeliaBooking\Domain\Collection\Collection;
/**
* Class WeekDay
*
* @package AmeliaBooking\Domain\Entity\Schedule
*/
class WeekDay
{
/** @var Id */
private $id;
/** @var IntegerValue */
private $dayIndex;
/** @var DateTimeValue */
private $startTime;
/** @var DateTimeValue */
private $endTime;
/** @var Collection */
private $timeOutList;
/** @var Collection */
private $periodList;
/**
* WeekDay constructor.
*
* @param IntegerValue $dayIndex
* @param DateTimeValue $startTime
* @param DateTimeValue $endTime
* @param Collection $timeOutList
* @param Collection $periodList
*/
public function __construct(
IntegerValue $dayIndex,
DateTimeValue $startTime,
DateTimeValue $endTime,
Collection $timeOutList,
Collection $periodList
) {
$this->dayIndex = $dayIndex;
$this->startTime = $startTime;
$this->endTime = $endTime;
$this->timeOutList = $timeOutList;
$this->periodList = $periodList;
}
/**
* @return Id
*/
public function getId()
{
return $this->id;
}
/**
* @param Id $id
*/
public function setId(Id $id)
{
$this->id = $id;
}
/**
* @return IntegerValue
*/
public function getDayIndex()
{
return $this->dayIndex;
}
/**
* @param IntegerValue $dayIndex
*/
public function setDayIndex(IntegerValue $dayIndex)
{
$this->dayIndex = $dayIndex;
}
/**
* @return DateTimeValue
*/
public function getStartTime()
{
return $this->startTime;
}
/**
* @param DateTimeValue $startTime
*/
public function setStartTime(DateTimeValue $startTime)
{
$this->startTime = $startTime;
}
/**
* @return DateTimeValue
*/
public function getEndTime()
{
return $this->endTime;
}
/**
* @param DateTimeValue $endTime
*/
public function setEndTime(DateTimeValue $endTime)
{
$this->endTime = $endTime;
}
/**
* @return Collection
*/
public function getTimeOutList()
{
return $this->timeOutList;
}
/**
* @param Collection $timeOutList
*/
public function setTimeOutList(Collection $timeOutList)
{
$this->timeOutList = $timeOutList;
}
/**
* @return Collection
*/
public function getPeriodList()
{
return $this->periodList;
}
/**
* @param Collection $periodList
*/
public function setPeriodList(Collection $periodList)
{
$this->periodList = $periodList;
}
/**
* @return array
*/
public function toArray()
{
return [
'id' => null !== $this->getId() ? $this->getId()->getValue() : null,
'dayIndex' => $this->dayIndex->getValue(),
'startTime' => $this->startTime->getValue()->format('H:i:s'),
'endTime' => $this->endTime->getValue()->format('H:i:s') === '00:00:00' ?
'24:00:00' : $this->endTime->getValue()->format('H:i:s'),
'timeOutList' => $this->timeOutList->toArray(),
'periodList' => $this->periodList->toArray(),
];
}
}