コード例 #1
0
ファイル: MReservation.php プロジェクト: Kiyozz/nostromo
 /**
  * Récupère la réservation en cours du client
  *
  * @param Utilisateur $unClient
  *
  * @return Reservation
  *
  * @throws CollectionException
  * @throws ErrorSQLException
  */
 public static function getReservationClient(Utilisateur $unClient)
 {
     $uneReservation = new Reservation();
     try {
         $conn = MConnexion::getBdd();
         $reqPrepare = $conn->prepare('SELECT reservation.numVol,
                                         reservation.numRes,
                                         dateRes, nbPers, montant,
                                         dateEcheance
                                         FROM reservation
                                         LEFT JOIN echeance ON reservation.numRes = echeance.numRes
                                         INNER JOIN vol ON reservation.numVol = vol.numVol
                                         WHERE NumClt = ? AND curdate() < vol.dateVol');
         $reqPrepare->execute([$unClient->getId()]);
         $fetch = $reqPrepare->fetch();
         $unVol = MVol::getUnVol($fetch['numVol']);
         $uneReservation->setId($fetch['numRes'])->setUnVol($unVol)->setUnClient($unClient)->setDateRes($fetch['dateRes'])->setNbPers($fetch['nbPers'])->setValid(true);
         $lesEcheances = MEcheance::getEcheances($uneReservation);
         $uneReservation->setLesEcheance($lesEcheances);
         $conn = null;
     } catch (PDOException $e) {
         echo $e->getMessage();
         throw new ErrorSQLException('Impossible de récupérer la réservation de ' . $unClient->getMail() . ' Détails : ' . $e->getMessage());
     }
     return $uneReservation;
 }
コード例 #2
0
ファイル: c_MonCompte.php プロジェクト: Kiyozz/nostromo
        break;
        // Fin Partie
    // Fin Partie
    case 'voirCommandes':
        try {
            if (array_key_exists('Utilisateur', $_SESSION)) {
                $lesCommandes = MCommande::getCommandes($_SESSION['Utilisateur']);
                if (array_key_exists('cde', $_GET) && !empty($_GET['cde'])) {
                    $uneCommande = MCommande::getUneCommande($_GET['cde']);
                }
                $title = 'Mes commandes';
                require_once ROOT . 'src/Views/Compte/v_GabCompte.php';
                require_once ROOT . 'src/Views/Compte/v_VoirCommandes.php';
            } else {
                header('Location:?page=connexion');
            }
        } catch (InvalidArgumentException $e) {
            Connexion::setFlashMessage($e->getMessage());
            header('Location:?page=monCompte');
        }
        break;
    case 'getTimer':
        if (array_key_exists('Reservation', $_SESSION)) {
            $monTimer = MVol::getTimer($_SESSION['Reservation']->getUnVol());
            require_once ROOT . 'src/Views/Compte/v_Timer.php';
        }
        break;
    default:
        header('Location:?page=compte');
        break;
}
コード例 #3
0
ファイル: v_VoirVols.php プロジェクト: Kiyozz/nostromo
        ?>
</h4>
                        <h5>Prix : <?php 
        echo Build::fEuro($unVol->getPrice());
        ?>
                        </h5>
                        <?php 
        if (Connexion::sessionOuverte()) {
            ?>
                            <p><a
                                    href="?page=reserver&action=reserverVol&vol=<?php 
            echo $unVol->getNumVol();
            ?>
"
                                    <?php 
            if (MVol::getPlaceRestante($unVol) === 0) {
                echo 'disabled';
            }
            ?>
                                    class="btn btn-primary"
                                    role="button">Réserver
                                </a>
                            </p>
                            <?php 
        }
        ?>
                    </div>
                </div>
            </div>
            <?php 
    }
コード例 #4
0
ファイル: c_ReserveVol.php プロジェクト: Kiyozz/nostromo
     } catch (Exception $e) {
         MConnexion::setFlashMessage($e->getMessage(), 'error');
         header('Location:?page=reserver');
     }
     break;
 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());
             }