Esempio n. 1
0
 /**
  * Récupère les commandes dont l'utilisateur est passé en paramètre.
  *
  * @param Utilisateur $unClient
  * @param bool $index
  *
  * @return Collection $lesCommandes
  *
  * @throws CollectionException
  * @throws ErrorSQLException
  */
 public static function getCommandes(Utilisateur $unClient, $index = false)
 {
     $lesCommandes = new Collection();
     try {
         $conn = MConnexion::getBdd();
         $req = !$index ? $conn->prepare('SELECT * FROM commande WHERE numClt = ? ORDER BY date DESC') : $conn->prepare('SELECT * FROM commande WHERE numClt = ? ORDER BY date DESC LIMIT 2');
         $req->execute(array($unClient->getId()));
         $req = $req->fetchAll();
         foreach ($req as $tabs) {
             $uneCommande = new Commande($tabs['numCde'], $unClient, $tabs['date'], $tabs['pointsUtilise']);
             $uneCommande->setLesArticles(MCommander::getUneCommande($uneCommande));
             $lesCommandes->ajouter($uneCommande);
         }
     } catch (PDOException $e) {
         throw new ErrorSQLException($e->getMessage());
     }
     return $lesCommandes;
 }
Esempio n. 2
0
 /**
  * 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;
 }
Esempio n. 3
0
 /**
  * Met à jour le nombre de points d'un client
  *
  * @param Utilisateur $user
  * @param int $points
  *
  * @throws ErrorSQLException
  */
 public static function setPoints(Utilisateur $user, $points)
 {
     try {
         $conn = MConnexion::getBdd();
         $reqPrepare = $conn->prepare('UPDATE client SET pointsClt = ? WHERE numClt = ?');
         $reqPrepare->execute([$points, $user->getId()]);
         $user->setPoints($points);
         $conn = null;
     } catch (PDOException $ex) {
         throw new ErrorSQLException("L'utilisateur n°{$user->getId()} n'existe pas.");
     }
 }
Esempio n. 4
0
                 Connexion::setFlashMessage('Cette e-mail est déjà utilisée.', 'error');
                 header('Location:?page=inscription');
             } elseif (strlen($_POST['nomUser']) > 20) {
                 Connexion::setFlashMessage('Le nom entré est trop long', 'error');
                 header('Location:?page=inscription');
             } elseif (strlen($_POST['prenUser']) > 20) {
                 Connexion::setFlashMessage('Le prénom entré est trop long', 'error');
                 header('Location:?page=inscription');
             } elseif (strlen($_POST['cpUser']) !== 5) {
                 Connexion::setFlashMessage('Le code postal entré n\'est pas au bon format (ex: 30000)', 'error');
                 header('Location:?page=inscription');
             } elseif ($_POST['mdpUser'] !== $_POST['mdpConfUser']) {
                 Connexion::setFlashMessage('Les mots de passes ne sont pas identiques', 'error');
                 header('Location:?page=inscription');
             } else {
                 $unUser = new Utilisateur();
                 $unUser->setNom($_POST['nomUser'])->setPrenom($_POST['prenUser'])->setAdresse($_POST['adrUser'])->setCp($_POST['cpUser'])->setVille($_POST['villeUser'])->setMdp(sha1($_POST['mdpUser']))->setMail($_POST['mailUser'])->setPoints(10);
                 ConnexionSite::setAjoutUser($unUser);
                 Connexion::setFlashMessage('Inscription réussie, vous pouvez désormais vous connecter.', 'valid');
                 header('Location:?page=index');
             }
         } else {
             header('Location:?page=index');
         }
     } catch (Exception $e) {
         Connexion::setFlashMessage($e->getMessage(), 'error');
         header('Location:?page=inscription');
     }
     break;
 default:
     header('Location:?page=index');