$canCon = isset($_POST['can_con']); $newRelease = isset($_POST['new_release']); $frenchVocalMusic = isset($_POST['french_vocal_music']); if (!isset($episodeId) || $episodeId <= 0) { outputErrorResponse("Invalid episode ID"); } try { $db = connectToDatabase(); $episode = new Episode($db, $episodeId); $segmentList = $episode->getSegments(); $db = null; outputSuccessResponse($segmentList); } catch (PDOException $e) { $db = null; error_log("get_segments error: " . $e->getMessage()); outputErrorResponse($e->getMessage()); } function outputSuccessResponse($data) { outputResponse($data); } function outputErrorResponse($errorMessage) { $errorArray = array("error" => $errorMessage); outputResponse($errorArray); } function outputResponse($response) { header('Content-type: application/json'); $responseJSON = json_encode($response); echo $responseJSON;
/** * @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; }