public function httpPostMethod(Http $http, array $formFields) { /* * Méthode appelée en cas de requête HTTP POST * * L'argument $http est un objet permettant de faire des redirections etc. * L'argument $formFields contient l'équivalent de $_POST en PHP natif. */ /*var_dump($formFields['bookingDate']); var_dump($date); var_dump($date > $formFields['bookingDate']); die();*/ $date = new DateTime(); $userSession = new UserSession(); $bookingModel = new BookingModel(); $customerId = intval($userSession->getId()); if ($userSession->isAuthenticated()) { $customerId = intval($userSession->getId()); $checkBookingById = $bookingModel->checkBookingById($customerId, intval($formFields['bookingId']), $formFields['bookingDate']); if (ctype_digit($formFields['bookingId']) && $date < new DateTime($formFields['bookingDate']) && $checkBookingById) { $bookingModel->DeletBooking($formFields['bookingId']); $flashBag = new FlashBag(); $flashBag->add('Réservation ' . $formFields["bookingId"] . ' bien supprimée'); $http->redirectTo('/'); } $flashBag = new FlashBag(); $flashBag->add('Problème lors de la suppression de la réservation (Vous ne pouvez supprimer des réservations posterieur à aujourd\'hui)'); $http->redirectTo('/Booking'); } }
public function httpPostMethod(Http $http, array $formFields) { /* * Méthode appelée en cas de requête HTTP POST * * L'argument $http est un objet permettant de faire des redirections etc. * L'argument $formFields contient l'équivalent de $_POST en PHP natif. */ /*$date = new DateModel(); var_dump($date->testDate($formFields['dateResa'])); //0 FAUX - 1 VRAI REJEX */ try { $userSession = new UserSession(); if ($userSession->isAuthenticated()) { $dateTime = date_create($formFields['dateResa'] . ' ' . $formFields['timeResa']); if ($dateTime == false) { throw new InvalidArgumentException(BookingModel::$dateException); } $now = new DateTime("now"); $resaDate = date_format($dateTime, 'Y-m-d'); $resaTime = date_format($dateTime, 'H:i:s'); //var_dump($formFields); if (!empty($formFields['dateResa']) && !empty($formFields['timeResa']) && !empty($formFields['NumberOfSeats']) && $dateTime > $now && ctype_digit($formFields['NumberOfSeats'])) { $userId = $userSession->getId(); $booking = new BookingModel(); $resultat = $booking->register($userId, $resaDate, $resaTime, $formFields['NumberOfSeats']); $flashBag = new FlashBag(); $flashBag->add("Votre réservation numero {$resultat} du {$resaDate} à {$resaTime} pour " . $formFields['NumberOfSeats'] . " est bien pris en compte"); $http->redirectTo('/'); } elseif ($dateTime < $now) { throw new InvalidArgumentException(BookingModel::$PasseDateException); } else { throw new InvalidArgumentException(BookingModel::$FieldsException); } } else { $http->redirectTo('/'); } } catch (InvalidArgumentException $event) { //var_dump($event); $form = new BookingForm(); $form->bind($formFields); $form->setErrorMessage($event->getMessage()); return ['_form' => $form]; } }