Ejemplo n.º 1
0
             $type = $_GET['type'] === 'comptant' ? $_GET['type'] : '3fois';
         }
         header('Location:?page=maReservation&action=payment&type=' . $type);
     } catch (\LogicException $e) {
         $_SESSION['Reservation'] = MReservation::getReservationClient($_SESSION['Utilisateur']);
         header('Location:?page=maReservation&payment');
     } catch (\Nostromo\Classes\Exception\ErrorSQLException $e) {
         Connexion::setFlashMessage($e->getMessage());
         header('Location:?page=maReservation&payment');
     }
     break;
 case 'annulerReservationValidee':
     try {
         if ($_SESSION['Reservation']->isValid()) {
             if ($_SESSION['Reservation']->getId() === null) {
                 $_SESSION['Reservation']->setId(Connexion::getLastIdReservation());
             }
             MReservation::annulerReservationValidee($_SESSION['Reservation']);
             Connexion::setFlashMessage('Réservation annulée.', 'valid');
             unset($_SESSION['Reservation']);
             header('Location:?page=maReservation');
         } else {
             throw new AccessDeniedException('Cette page n\'est pas disponible.');
         }
     } catch (AccessDeniedException $e) {
         Connexion::setFlashMessage($e->getMessage());
         header('Location:?page=maReservation');
     }
     break;
 default:
     Connexion::setFlashMessage('Page introuvable.');
Ejemplo n.º 2
0
 case 'validReserverVol':
     try {
         if (!MConnexion::sessionOuverte()) {
             throw new NotConnectedException();
         }
         if (array_key_exists('Reservation', $_SESSION) && $_SESSION['Reservation']->isValid()) {
             throw new InvalidArgumentException('Vous avez déjà une réservation.');
         }
         if (array_key_exists('vol', $_GET) && array_key_exists('nbPers', $_POST)) {
             $unVol = MVol::getUnVol($_GET['vol']);
             if ($_POST['nbPers'] !== 0 || $_POST['nbPers'] <= MVol::getPlaceRestante($unVol)) {
                 if (array_key_exists('pointsUtilise', $_POST) && $_POST['pointsUtilise'] > MUtilisateur::getPoints($_SESSION['Utilisateur'])) {
                     throw new UnexpectedValueException('Vous n\'avez pas assez de points');
                 }
                 $_SESSION['Reservation'] = new Reservation();
                 $_SESSION['Reservation']->setId(MConnexion::getLastIdReservation())->setNbPers($_POST['nbPers'])->setValid(false)->setUnClient($_SESSION['Utilisateur'])->setUnVol($unVol);
                 if (array_key_exists('pointsUtilise', $_POST) && !empty($_POST['pointsUtilise'])) {
                     $_SESSION['Reservation']->setReduction($_POST['pointsUtilise']);
                 }
             } else {
                 MConnexion::setFlashMessage('Il n\'y a plus assez de place pour ce vol, veuillez réduire le nombre de personnes', 'error');
                 if ($_POST['nbPers'] === 0) {
                     MConnexion::setFlashMessage('La valeur ne peut être zéro, veuillez recommencer', 'error');
                 }
                 header('Location:?page=reserver&action=reserverVol&vol=' . $unVol->getNumVol());
             }
             if (array_key_exists('Reservation', $_SESSION)) {
                 header('Location:?page=maReservation');
             }
             if ($_SESSION['Reservation']->isValid()) {
                 MConnexion::setFlashMessage('Vous avez déjà une réservation.