/** * @param DateTime $episodeStartDateTime * @param $segmentTime * @return DateTime */ function addDateToSegmentStartTime($episodeStartDateTime, $segmentTime) { $dateToUse = $episodeStartDateTime->format("Y-m-d"); $episodeStartTimeString = $episodeStartDateTime->format("H:i:s"); if (!TimeValidator::isTimeInValidFormat($segmentTime)) { $errorsContainer = new AddSegmentsErrors(); $errorsContainer->markStartTimeInvalidFormat(); outputErrorResponse($errorsContainer->getAllErrors()); } if (strtotime($segmentTime) < strtotime($episodeStartTimeString)) { $dayAfterEpisodeStartDateTime = clone $episodeStartDateTime; $dayAfterEpisodeStartDateTime->add(new DateInterval('P1D')); $dateToUse = $dayAfterEpisodeStartDateTime->format("Y-m-d"); } $segmentTimeString = $dateToUse . " " . $segmentTime; $segmentDateTime = new DateTime($segmentTimeString, new DateTimeZone('America/Montreal')); return $segmentDateTime; }
/** * @param AddSegmentsErrors $errors */ private function isAdNumberValid($errors) { $adNumber = $this->segment->getAdNumber(); if (!ValidatorUtility::doesFieldExist($adNumber) || !ValidatorUtility::isInteger($adNumber)) { $errors->markAdNumberMissing(); } }