コード例 #1
0
ファイル: Trajet.php プロジェクト: vrajau/Covoiturage
 public function annulationTrajet($id_trajet)
 {
     $database = UsineBDD::getUsine()->connection();
     if (Trajet::trajetExiste($id_trajet)) {
         $info_trajet = self::getInformationTrajet($id_trajet)[0];
         $prix_g = 0;
         if (Utilisateur::getUtilisateurId() == $info_trajet['id_conducteur'] && $info_trajet['validation'] == 0) {
             $passagers = Reservation::getUtilisateurReservation($id_trajet);
             $prix_g += 10;
             foreach ($passagers as $array => $passager) {
                 Utilisateur::retirerSolde(10, $info_trajet['id_conducteur']);
                 Utilisateur::ajouterSolde(10, $passager['id_membre']);
             }
             Messagerie::envoyerMessageA($info_trajet['id']);
             $sql_update_trajet = "DELETE FROM trajet  WHERE id=:idt";
             $requete_update = $database->prepare($sql_update_trajet);
             $requete_update->execute(array(':idt' => $id_trajet));
             Utilisateur::ajoutTrajetA();
             $this->confirmation = "Le trajet a bien été annulé! " . $prix_g . "€ ont été retiré de votre compte";
         }
     }
 }
コード例 #2
0
ファイル: Reservation.php プロジェクト: vrajau/Covoiturage
 public function reserverTrajet($nbplace)
 {
     $database = UsineBDD::getUsine()->connection();
     $infos_trajet = Trajet::getInformationTrajet($_POST['confirmation_trajet_id'])[0];
     $nbplace_reste = $infos_trajet['nb_place'] - $nbplace;
     if (Utilisateur::getUtilisateurId() == $infos_trajet['id_conducteur']) {
         $this->_erreurs[] = "Vous ne pouvez pas réserver sur votre propre trajet";
     } elseif (!Trajet::trajetExiste($infos_trajet['id'])) {
         $this->_erreurs[] = "Désolé, ce trajet n'a jamais existé / n'existe plus";
     } elseif (!$this->verifierDate($database, $infos_trajet['id'])) {
         $this->_erreurs[] = "Vous ne pouvez pas réserver un trajet similaire à la même date / Vous ne pouvez pas réserver un trajet à la même date et même heure";
     } elseif (Utilisateur::getSolde() < $nbplace * $infos_trajet['prix']) {
         $this->_erreurs[] = "Vous n'avez pas assez d'argent pour réserver ce trajet";
     } elseif ($nbplace > $infos_trajet['nb_place'] || $nbplace_reste < 0) {
         $this->_erreurs[] = "Vous avez réservé un nombre de place trop important";
     } else {
         $sql_reservation = "INSERT INTO reservation VALUES('',:id,:t,:nb)";
         $this->updatePlace($infos_trajet['id'], $nbplace);
         $requete_reservation = $database->prepare($sql_reservation);
         $requete_reservation->execute(array(':id' => Utilisateur::getUtilisateurId(), ':t' => $infos_trajet['id'], ':nb' => $nbplace));
         $this->_confirm = "Votre réservation a bien été prise en compte";
     }
 }
コード例 #3
0
ファイル: mytrajet.php プロジェクト: vrajau/Covoiturage
            $notation_r = Note::isNoteExisteU($info_trajet['id'], $reservation['id_membre']) ? 'Vous avez noté cette personne' : $notation_r;
            $html .= '<tbody><tr> <td><a href="/Controller/ProfilController.php?context=profil&id_membre=' . $reservation['id_membre'] . '">' . Utilisateur::getUsername($reservation['id_membre']) . '    <a href="/Controller/MessageController.php?context=envoie&id_membre=' . $reservation['id_membre'] . '"><img src="/image/mail.png" alt="Message"/></a></td>';
            $html .= '<td>' . Reservation::getNombrePlaceReserve($info_trajet['id'], $reservation['id_membre']) . '</td>';
            $html .= '<td>' . $notation_r . '</td></tr>';
        }
        if (!Trajet::isTrajetValide($info_trajet['id'])) {
            $html .= '<tr> <td colspan="4"><a class="button-validation pure-button" href="/Controller/ProfilController.php?context=trajets&id_trajet=' . $info_trajet['id'] . '&validation_trajet=1"> Validation du trajet </a></td> </tr>';
            $html .= '<tr> <td colspan="4"> <a class="button-warning pure-button" href="/Controller/ProfilController.php?context=trajets&id_trajet=' . $info_trajet['id'] . '&annulation_trajet=1"> Annuler le trajet </a></tr>';
        } else {
            $html .= '<tr> <td colspan="4"> Trajet Validé </td></tr>';
        }
        $html .= '</tbody></table> </div>';
    } elseif (count($reservations) == 0 && count($info_trajet) != 0) {
        $html .= '<div class="erreur"><p> Il n\' y a aucune réservation sur ce trajet </p></div>';
    }
} elseif (isset($_GET['id_trajet']) && !empty(trim($_GET['id_trajet'])) && !Trajet::trajetExiste($_GET['id_trajet'])) {
    $html .= "<p> Ce trajet n'existe plus !</p>";
} else {
    $trajets = Trajet::getAllTrajetConducteur();
    if (count($trajets) != 0) {
        foreach ($trajets as $array => $trajet) {
            $html .= '<div class="liste_reservation">';
            $infos_trajet = Trajet::getInformationTrajet($trajet['id'])[0];
            $tmp = $infos_trajet['timestamp_trajet'];
            $jour = date('d', $tmp);
            $mois = moisFrancais(date('n', $tmp));
            $annee = date('Y', $tmp);
            $heure = date('H : i', $tmp);
            $date_depart = $jour . ' ' . $mois . ' ' . $annee . ' ' . $heure;
            $html .= '<table class="pure-table pure-table-bordered"><thead>';
            $html .= '<tr > <th colspan="2"> Trajet : ' . ucfirst($infos_trajet['ville_depart']) . '-' . ucfirst($infos_trajet['ville_arrive']) . '</th></tr></thead>';
コード例 #4
0
<?php

require '../Controller/LoginController.php';
if (isset($_GET['id_trajet_r']) && !empty(trim($_GET['id_trajet_r'])) && Trajet::trajetExiste($_GET['id_trajet_r'])) {
    render('trajet.php');
} elseif (isset($_POST['depart']) && $_POST['depart'] != -1 && !empty(trim($_POST['arrive']))) {
    render('reservation_trajet_liste.php');
} elseif (isset($_POST['id_trajet'], $_POST['nb_place_reserver']) && !empty(trim($_POST['id_trajet'])) && !empty(trim($_POST['nb_place_reserver']))) {
    render('confirmation_trajet.php');
} elseif (isset($_POST['reservation_confirmation'], $_POST['confirmation_trajet_id'], $_POST['confirmation_trajet_place'])) {
    render('reservation_confirmed.php');
} else {
    header("Location: ../Vue/rechercherTrajet.php");
}