/** * Augmente de $quantite la quantité de l'article. * * @param int $quantite */ public function augmenterQuantite($quantite) { try { if ($this->qte < $this->qteStock) { $this->qte += $quantite; } else { throw new \InvalidArgumentException('La quantité en stock est insuffisante.'); } } catch (\InvalidArgumentException $e) { Connexion::setFlashMessage($e->getMessage(), 'error'); } }
} 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.'); header('Location:?page=index'); break; }
use Nostromo\Models\MConnexion as Connexion; use Nostromo\Models\MReservation; use Nostromo\Models\MCommande; $action = array_key_exists('action', $_GET) ? $_GET['action'] : 'voirIndex'; if ($action === 'voirIndex') { try { if (array_key_exists('Utilisateur', $_SESSION)) { if (!array_key_exists('Reservation', $_SESSION)) { $_SESSION['Reservation'] = MReservation::getReservationClient($_SESSION['Utilisateur']); } if (0 === $_SESSION['Reservation']->getId()) { unset($_SESSION['Reservation']); } if (!array_key_exists('Commandes', $_SESSION)) { $_SESSION['Commandes'] = MCommande::getCommandes($_SESSION['Utilisateur'], true); } if (0 === $_SESSION['Commandes']->taille()) { unset($_SESSION['Commandes']); } } require_once ROOT . 'src/Views/Index/v_Accueil.php'; } catch (ErrorSQLException $e) { Connexion::setFlashMessage($e->getMessage(), 'error'); header('Location:?page=error404'); } catch (CollectionException $e) { Connexion::setFlashMessage($e->getMessage()); header('Location:?page=index'); } } else { header('Location:?page=index'); }
} 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'); break; }
echo "<script>window.location.replace('?page=monPanier&action=voirPanier')</script>"; } break; case 'viderPanier': unset($_SESSION['Panier']); require_once ROOT . 'src/Views/Panier/v_VoirPanier.php'; break; case 'choisirQte': try { if (!array_key_exists('qte', $_GET) && !array_key_exists('article', $_GET) && !array_key_exists('Panier', $_SESSION)) { throw new InvalidArgumentException('Invalid args'); } if ($_GET['qte'] === '0') { $_SESSION['Panier']->supprimerUnProduit($_GET['article']); if ($_SESSION['Panier']->getNbProd() === 0) { unset($_SESSION['Panier']); } } else { $_SESSION['Panier']->setQteProduit($_GET['article'], $_GET['qte']); } header('Location:?page=monPanier'); } catch (InvalidArgumentException $e) { Connexion::setFlashMessage($e->getMessage(), 'error'); header('Location:?page=index'); } break; default: Connexion::setFlashMessage('Impossible d\'accéder à la page demandé.', 'error'); header('Location:?page=index'); break; }
if (array_key_exists('Reservation', $_SESSION)) { header('Location:?page=maReservation'); } if ($_SESSION['Reservation']->isValid()) { MConnexion::setFlashMessage('Vous avez déjà une réservation. Veuillez contacter Nostromo pour annuler votre réservation.', 'error'); } header('Location:?page=maReservation'); } else { MConnexion::setFlashMessage('Le vol demandé n\'existe pas.', 'error'); header('Location:?page=reserver'); } } catch (NotConnectedException $e) { MConnexion::setFlashMessage($e->getMessage()); header('Location:?page=connexion'); } catch (InvalidArgumentException $e) { MConnexion::setFlashMessage($e->getMessage(), 'error'); header('Location:?page=maReservation'); } catch (UnexpectedValueException $e) { MConnexion::setFlashMessage($e->getMessage() . ', actuellement ' . MUtilisateur::getPoints($_SESSION['Utilisateur']) . ' points', 'error'); header('Location:?page=reserver&action=reserverVol&vol=' . $_GET['vol']); } catch (Exception $e) { MConnexion::setFlashMessage($e->getMessage(), 'error'); header('Location:?reserver'); } break; default: MConnexion::setFlashMessage('Erreur 404 : page introuvable', 'error'); header('Location:?page=index'); break; }