-
Liste des trajets réservés
@@ -30,15 +34,17 @@ $mail = $_SESSION['mail'];
| ";
- echo " $date_depart - $source --> $dest : $login | ";
+ echo "
| ";
+ echo "$date_depart - $source vers $dest proposé par : $login | ";
+ echo "Annuler la reservation | ";
+ echo "Déposer un avis | ";
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 " $date_depart - $source vers $dest proposé par : $login | ";
echo "Réserver | ";
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;
|
- |
+ |
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;
}
?>