public static function envoyerMessageA($id_trajet) { $database = UsineBDD::getUsine()->connection(); $passagers = Reservation::getUtilisateurReservation($id_trajet); $info = Trajet::getInformationTrajet($id_trajet)[0]; $date = date('d-n-Y H:i', $info['timestamp_trajet']); $message = "Le trajet " . $info['ville_depart'] . '-' . $info['ville_arrive'] . 'du ' . $date . 'a été annulé ! Vous avez recu 10€ en dédomagement'; foreach ($passagers as $array => $passager) { $sql_message = "INSERT INTO messagerie VALUES('',:ide,:idd,:c,:t,'')"; $requete = $database->prepare($sql_message); $requete->execute(array(':ide' => Utilisateur::getUtilisateurId(), ':idd' => $passager['id_membre'], ':c' => $message, ':t' => time())); } }
public function noteUtilisateur($trajet, $utilisateur) { //Recupération des infos trajets $database = UsineBDD::getUsine()->connection(); $info_t = Trajet::getInformationTrajet($trajet)[0]; $conducteur = Utilisateur::getUtilisateurId(); $note = intval($_POST['note']); $isPassagerTrajet = false; //On vérifie que le passager fait partie du trajet foreach (Reservation::getUtilisateurReservation($trajet) as $array => $reservation) { if ($reservation['id_membre'] == $utilisateur) { $isPassagerTrajet = true; } } if ($utilisateur == $conducteur) { $this->_erreurs[] = "Vous ne pouvez pas noter votre propre trajet"; } else { if (!Trajet::isTrajetValide($info_t['id'])) { $this->_erreurs[] = "Vous ne pouvez pas noter un trajet non validé"; } else { if (self::isNoteExisteU($info_t['id'], $utilisateur)) { $this->_erreurs[] = "Vous avez dejà noté cette personne sur ce trajet"; } else { if (!$isPassagerTrajet) { $this->_erreurs[] = "Le passager ne fait pas partie de ce trajet"; } else { if ($note <= 0 || $note > 5) { $this->_erreurs[] = "Votre note doit être compris en 1 et 5"; } else { $sql = "INSERT INTO note VALUES('',:idm,:idn,:idt,:n)"; $requete = $database->prepare($sql); $requete->execute(array(':idm' => $info_t['id_conducteur'], ':idn' => $utilisateur, ':idt' => $info_t['id'], ':n' => $note)); $_confirm = "Vous avez bien noté le passager"; } } } } } }
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"; } } }
$t = new Trajet(); $t->validationTrajet($_GET['id_trajet']); if (!empty(trim($t->confirmation))) { echo '<div class="confirmation"><p>' . $t->confirmation . '</p></div>'; } } $n = new Note(); if (isset($n)) { if ($n->_erreurs) { foreach ($n->_erreurs as $error) { echo '<div class="erreur"><p>' . $error . '</p></div>'; } } } $info_trajet = Trajet::getInformationTrajet($_GET['id_trajet'])[0]; $reservations = Reservation::getUtilisateurReservation($info_trajet['id']); if (count($reservations) != 0 && count($info_trajet) != 0) { $html .= '<div class="liste_reservation"> <table class="pure-table pure-table-bordered"><thead> <tr> <th> Reservation </th> <th> Nombre de place prise</th> <th> Note </th></tr> </thead>'; foreach ($reservations as $array => $reservation) { //Notation $notation = array(5 => 'Amazing!', 4 => 'Super bon', 3 => 'Ca peut aller', 2 => 'Peut mieux faire', 1 => 'Ca fait mal'); $notation_select = '<form method="POST" action="/Controller/ProfilController.php?context=trajets&id_trajet=' . $info_trajet['id'] . '&id_u=' . $reservation['id_membre'] . '"><select name="note">'; foreach ($notation as $note => $description) { $notation_select .= '<option value="' . $note . '">' . $note . '-' . $description . '</option>'; } $notation_select .= '</select> <button type="submit" class="button-success pure-button" name="confirmation_note"><i class="fa fa-thumbs-up"></i> Note</button></form></form>'; $notation_r = Trajet::isTrajetValide($info_trajet['id']) ? $notation_select : 'Vous ne pouvez pas noter un trajet non valide'; $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>';