diff --git a/WEB/deposerTrajet/depotTrajet.php b/WEB/deposerTrajet/depotTrajet.php index d139cfe..28b010a 100644 --- a/WEB/deposerTrajet/depotTrajet.php +++ b/WEB/deposerTrajet/depotTrajet.php @@ -41,6 +41,8 @@ if (isset($_POST['dateDepart']) && isset($_POST['dateArrivee']) && isset($_POST[ $codeTrajet = pg_fetch_array($result)[0]; //Creer les etapes en bd $result = creerEtapes($db, $codeTrajet, $arrEtapes); + header('Location: ../tableauBord/tableauBord.php'); + exit(); } if (!$result){ header('Location: depotTrajet.php?error=4'); @@ -103,7 +105,7 @@ if (isset($_POST['dateDepart']) && isset($_POST['dateArrivee']) && isset($_POST[ ".getErrorDepotTrajet($_GET['error'])."

"; } ?>
diff --git a/WEB/deposer_avis/deposer_avis.php b/WEB/deposer_avis/deposer_avis.php index 8e138a9..f801959 100755 --- a/WEB/deposer_avis/deposer_avis.php +++ b/WEB/deposer_avis/deposer_avis.php @@ -9,7 +9,7 @@ function checkAvis($db, $mail, $codetrajet) function checkCodeTrajetAvis($db, $mail, $codetrajet) { - $result = pg_query_params($db, "SELECT COUNT(*) FROM avis av, trajet tr, reserver re WHERE av.codetrajet = $2 AND av.codetrajet = tr.codetrajet AND tr.codetrajet = re.codetrajet AND re.mailutilisateur = $1;", array($mail, $codetrajet)); + $result = pg_query_params($db, "SELECT COUNT(*) FROM trajet tr, reserver re WHERE tr.codetrajet = $1 AND tr.codetrajet = re.codetrajet AND re.mailutilisateur = $2;", array($codetrajet, $mail)); $row = pg_fetch_array($result); return $row[0] >= 1; } @@ -25,7 +25,6 @@ if (!isset($_SESSION['mail'])) { } $mail = $_SESSION['mail']; - if (isset($_POST['codetrajet']) && isset($_POST['avislaisse']) && isset($_POST['note'])) { $avis = $_POST['avislaisse']; $note = $_POST['note']; @@ -36,9 +35,10 @@ if (isset($_POST['codetrajet']) && isset($_POST['avislaisse']) && isset($_POST[' $envoi = pg_query_params($db, $requete, array($mail, $codetrajet, $avis, $date, $note)); if (!$envoi) { echo "Erreur d'ecriture dans la BD"; + echo "
Retour vers le tableau de bord"; exit(); } else { - header('Location: ../index.php'); + header('Location: ../tableauBord/tableauBord.php'); exit(); } } diff --git a/WEB/listeTrajetPublie/annulerTrajet.php b/WEB/listeTrajetPublie/annulerTrajet.php new file mode 100644 index 0000000..1d27f52 --- /dev/null +++ b/WEB/listeTrajetPublie/annulerTrajet.php @@ -0,0 +1,18 @@ + + + + + + + + + Liste des trajets publiés + + + +
+
+ Bouton retour +

Liste des trajets publiés

+
+

Trajets publiés :

+
+
+ + "; + echo ""; + echo ""; + } + ?> +

"; + echo "

$date_depart - $source vers $dest proposé par : $login

Annuler le trajet
+
+
+ + diff --git a/WEB/listeTrajetReserve/annulerReservation.php b/WEB/listeTrajetReserve/annulerReservation.php new file mode 100644 index 0000000..b5acd87 --- /dev/null +++ b/WEB/listeTrajetReserve/annulerReservation.php @@ -0,0 +1,18 @@ + + - Liste des trajets + Liste des trajets réservés +
- Bouton retour

Liste des trajets réservés


@@ -30,15 +34,17 @@ $mail = $_SESSION['mail'];
"; + echo ""; + echo ""; + echo ""; + echo ""; echo ""; } ?> diff --git a/WEB/liste_trajets/liste_trajet.css b/WEB/liste_trajets/liste_trajet.css index 4761e0e..70937cf 100755 --- a/WEB/liste_trajets/liste_trajet.css +++ b/WEB/liste_trajets/liste_trajet.css @@ -1,9 +1,3 @@ -/* -Crée par PALAFFRE Raphael -Fonction: Lister les trajets recherché -Page PHP : liste.php -*/ - body { color:black; background-color:white; diff --git a/WEB/liste_trajets/liste_trajet.php b/WEB/liste_trajets/liste_trajet.php index d3bd525..8979275 100755 --- a/WEB/liste_trajets/liste_trajet.php +++ b/WEB/liste_trajets/liste_trajet.php @@ -9,11 +9,19 @@ if (!isset($_SESSION['mail'])) { exit(); } $mail = $_SESSION['mail']; - +if (!(isset($_POST['lieu_depart']) && isset($_POST['lieu_arrivee']) && isset($_POST['date_heure']))){ + header('Location: ../tableauBord/tableauBord.php'); + exit(); +} if (isset($_POST['lieu_depart']) && isset($_POST['lieu_arrivee']) && isset($_POST['date_heure'])) { $source = $_POST['lieu_depart']; $dest = $_POST['lieu_arrivee']; $date_depart = $_POST['date_heure']; + if ($date_depart < date('Y-m-d')){ + echo "Erreur date
"; + echo "Retour vers le tableau de bord"; + exit(); + } } $result = pg_query_params($db, "(SELECT DISTINCT ut.login, ta.codetrajet, ta.datedepart FROM ville v, traverser tr, utilisateur ut, trajet ta WHERE DATE(ta.datedepart) = DATE($3) AND ta.estannule = false AND ta.codetrajet = tr.codetrajet AND ta.mailproposition = ut.mail AND tr.nomVille = v.nomVille AND tr.codepostal = v.codepostal AND tr.numeroetape = (SELECT MIN(numeroetape) FROM traverser WHERE LOWER(nomVille) = LOWER($1))) @@ -50,7 +58,7 @@ require_once("../ressources/navbarhtml.php"); $source = getDepart($db, $codetrajet); $dest = getFin($db, $codetrajet); $date_depart = $row['datedepart']; - if (checkPlacesVoiture($db, $codetrajet)){ + if (checkPlacesVoiture($db, $codetrajet) && $date_depart >= date('Y-m-d H:i:s')){ echo ""; echo ""; diff --git a/WEB/liste_trajets/reserver.php b/WEB/liste_trajets/reserver.php index 31afc41..87c08b9 100644 --- a/WEB/liste_trajets/reserver.php +++ b/WEB/liste_trajets/reserver.php @@ -1,11 +1,11 @@ - + - Administration @@ -39,7 +38,7 @@ $delmail = isset($_POST['delmail']) ? $_POST['delmail'] : NULL; - +

"; - echo "

$date_depart - $source --> $dest : $login


$date_depart - $source vers $dest proposé par : $login

Annuler la reservationDéposer un avis

"; echo "

$date_depart - $source vers $dest proposé par : $login

Réserver

diff --git a/WEB/ressources/navbaradminhtml.php b/WEB/ressources/navbaradminhtml.php index 690a0a8..6bf8abe 100644 --- a/WEB/ressources/navbaradminhtml.php +++ b/WEB/ressources/navbaradminhtml.php @@ -1,18 +1,12 @@ - diff --git a/WEB/ressources/navbarhtml.php b/WEB/ressources/navbarhtml.php index 5340a46..a4556b2 100644 --- a/WEB/ressources/navbarhtml.php +++ b/WEB/ressources/navbarhtml.php @@ -1,12 +1,23 @@ - +
"; +} +?> diff --git a/WEB/ressources/trajet.php b/WEB/ressources/trajet.php index de7fb2a..ae69778 100644 --- a/WEB/ressources/trajet.php +++ b/WEB/ressources/trajet.php @@ -46,20 +46,28 @@ function checkDates($db, $mail, $dateDepart, $dateArrivee) //Vérifier le nombre de places restantes function checkPlacesVoiture($db, $codetrajet) { - $result = pg_query_params($db, "SELECT nbplaces FROM Voiture vo, Trajet ta WHERE vo.mail = ta.mailproposition AND ta.codeTrajet = $1 LIMIT 1;", array($codetrajet)); - $result2 = pg_query_params($db, "SELECT COUNT(*) FROM Reserver re, Trajet ta WHERE re.codetrajet.mail = ta.codetrajet AND ta.codetrajet = $1;", array($codetrajet)); + $result = pg_query_params($db, "SELECT nbplaces FROM Voiture vo, Trajet ta WHERE vo.matricule = ta.matricule AND ta.codeTrajet = $1;", array($codetrajet)); + $result2 = pg_query_params($db, "SELECT COUNT(*) FROM Reserver re, Trajet ta WHERE re.codetrajet = ta.codetrajet AND ta.codetrajet = $1;", array($codetrajet)); if(!$result || !$result2){ return false; } - $nbplaces = pg_fetch_array($result); - $nbreservations = pg_fetch_array($result); - return $nbplaces-1>$nbreservations; + $nbplaces = pg_fetch_array($result)[0]; + $nbreservations = pg_fetch_array($result)[0]; + return $nbplaces-1 > $nbreservations; } //Vérifier la cohérence des dates function checkDatesReserve($db, $mail, $dateDepart) { - $result = pg_query_params($db, "SELECT COUNT(*) From Trajet ta, reserve re WHERE re.mailutilisateur = $1 AND re.codetrajet = ta.codetrajet AND $2 BETWEEN datedepart AND datearrivee;", array($mail, $dateDepart)); + $result = pg_query_params($db, "SELECT COUNT(*) From Trajet ta, reserver re WHERE re.mailutilisateur = $1 AND re.codetrajet = ta.codetrajet AND $2 BETWEEN datedepart AND datearrivee;", array($mail, $dateDepart)); + $row = pg_fetch_array($result); + return $row[0] == 0; +} + +//Verifier reservations +function checkReservations($db, $mail, $codetrajet) +{ + $result = pg_query_params($db, "SELECT COUNT(*) From reserver WHERE mailutilisateur = $1 AND codetrajet = $2;", array($mail, $codetrajet)); $row = pg_fetch_array($result); return $row[0] == 0; } @@ -84,7 +92,7 @@ function getTrajetsProposes($db, $mail) function getTrajetsReserves($db, $mail) { - $result = pg_query_params($db, "SELECT COUNT(*) FROM trajet tr, reserver r WHERE r.codetrajet = tr.codetrajet AND mailutilisateur = $1 AND estAnnule = false AND datedepart >= current_date;", array($mail)); + $result = pg_query_params($db, "SELECT COUNT(*) FROM trajet tr, reserver re WHERE re.codetrajet = tr.codetrajet AND mailutilisateur = $1 AND estAnnule = false AND datedepart >= current_date;", array($mail)); if ($result) { $row = pg_fetch_array($result); return $row[0]; @@ -162,6 +170,16 @@ function getFin($db, $codetajet) return $return; } +function annulerTrajet($db, $codetrajet){ + $result = pg_query_params($db, "UPDATE Trajet SET estannule = true WHERE codetrajet = $1;", array($codetrajet)); + return $result; +} + +function annulerReservation($db, $mail,$codetrajet){ + $result = pg_query_params($db, "DELETE FROM reserver WHERE codetrajet = $1 AND mailutilisateur = $2;", array($codetrajet, $mail)); + return $result; +} + function getErrorDepotTrajet($code) { switch ($code) { diff --git a/WEB/ressources/user.php b/WEB/ressources/user.php index 4320596..c7e6ebd 100644 --- a/WEB/ressources/user.php +++ b/WEB/ressources/user.php @@ -188,27 +188,17 @@ function uploadAvatar($mail, $fic) function deluser($db, $delmail) { - /* - $requete = "UPDATE public.utilisateur SET (mail, passwd, prenom, nom, login, telephone, datenaissance, estadmin) = ('utilisateur_supprime@local', '', '', '', 'utilisateur_supprime', '', to_date('1970/01/01','YYYY/MM/DD'), false) WHERE mail = '".$delmail."';"; - marche pas - ERROR: duplicate key value violates unique constraint "pk_utilisateur" - DETAIL: Key (mail)=(utilisateur_supprime@local) already exists. - */ - - /* - a faire = array('' => , );Delete l'utilisateur du reste de la base - */ - $requete = "UPDATE trajet SET mailproposition = 'utilisateur_supprime@local' WHERE mailproposition = $delmail;"; - pg_query($db, $requete); - $requete = "UPDATE reserver SET mailutilisateur = 'utilisateur_supprime@local' WHERE mailutilisateur = $delmail;"; - pg_query($db, $requete); - $requete = "DELETE FROM avis WHERE mailemetteur = $delmail;"; - pg_query($db, $requete); - $requete = "DELETE FROM voiture WHERE mail = $delmail;"; - pg_query($db, $requete); - $requete = "DELETE FROM utilisateur WHERE mail = $delmail;"; - pg_query($db, $requete); - + $requete = "UPDATE trajet SET mailproposition = $1 WHERE mailproposition = $2;"; + $result1 = pg_query_params($db, $requete, array('utilisateur_supprime@local', $delmail)); + $requete = "UPDATE reserver SET mailutilisateur = $1 WHERE mailutilisateur = $2;"; + $result2 = pg_query_params($db, $requete, array('utilisateur_supprime@local', $delmail)); + $requete = "DELETE FROM avis WHERE mailemetteur = $1;"; + $result3 = pg_query_params($db, $requete, array($delmail)); + $requete = "UPDATE voiture SET mail = $1 WHERE mail = $2;"; + $result4 = pg_query_params($db, $requete, array('utilisateur_supprime@local', $delmail)); + $requete = "DELETE FROM utilisateur WHERE mail = $1;"; + $result5 = pg_query_params($db, $requete, array($delmail)); + return $result1 && $result2 && $result3 && $result4 && $result5; } ?>