Esempio n. 1
0
 public static function getUsine()
 {
     if (!self::$_usine) {
         self::$_usine = new UsineBDD();
     }
     return self::$_usine;
 }
Esempio n. 2
0
 private function connexion()
 {
     if (empty($_POST['id_user'])) {
         $this->errors[] = "Vous n'avez pas renseigné d'adresse e-mail";
     } elseif (empty($_POST['pwd_user'])) {
         $this->errors[] = "Vous n'avez pas renseigné de mot de passe";
     } elseif (!empty($_POST['id_user']) && !empty($_POST['pwd_user'])) {
         $database = UsineBDD::getUsine()->connection();
         $email_utilisateur = strip_tags($_POST['id_user'], ENT_QUOTES);
         $mot_de_passe = strip_tags($_POST['pwd_user'], ENT_QUOTES);
         $sql = "SELECT * FROM utilisateur WHERE email=:mail";
         $requete = $database->prepare($sql);
         $requete->execute(array(":mail" => $email_utilisateur));
         $resultat_requete = $requete->fetchAll();
         //Si l'utilisateur existe
         if (count($resultat_requete) == 1) {
             if (password_verify($mot_de_passe, $resultat_requete[0]["mdp_hash"])) {
                 // write user data into PHP SESSION (a file on your server)
                 $_SESSION['utilisateur'] = $resultat_requete[0]["prenom"] . substr($resultat_requete[0]["nom"], 0, 1);
                 $_SESSION['id_utilisateur'] = $resultat_requete[0]["id"];
                 $_SESSION['connecte'] = 1;
             } else {
                 $this->errors[] = "Mauvais mot de passe!";
             }
         } else {
             $this->errors[] = "Cet utilisateur n'existe pas";
         }
     }
 }
Esempio n. 3
0
 public static function getAllReservation()
 {
     $database = UsineBDD::getUsine()->connection();
     $sql_reservations = "SELECT * FROM reservation WHERE id_membre=:id";
     $requete_reservations = $database->prepare($sql_reservations);
     $requete_reservations->execute(array(':id' => Utilisateur::getUtilisateurId()));
     $resultat_reservations = $requete_reservations->fetchAll();
     return $resultat_reservations;
 }
Esempio n. 4
0
 public static function getToutMembres()
 {
     $database = UsineBDD::getUsine()->connection();
     $sql_membres = "SELECT * FROM utilisateur WHERE type_compte=2 OR type_compte=3 ";
     $requete_membres = $database->prepare($sql_membres);
     $requete_membres->execute();
     $resultats = $requete_membres->fetchAll();
     return $resultats;
 }
Esempio n. 5
0
 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()));
     }
 }
Esempio n. 6
0
 public function ajouterVehicule()
 {
     $database = UsineBDD::getUsine()->connection();
     if (!empty(trim($_POST['marque'])) && !empty(trim($_POST['couleur'])) && !empty(trim($_POST['modele'])) && !empty(trim($_POST['mise_en_service']))) {
         $sql_vehicule = "INSERT INTO vehicule VALUES ('',:membre,:mq,:mo,:c,:ms)";
         $requete_vehicule = $database->prepare($sql_vehicule);
         $requete_vehicule->execute(array(':membre' => Utilisateur::getUtilisateurId(), ':mq' => $_POST['marque'], ':mo' => $_POST['modele'], ':c' => $_POST['couleur'], ':ms' => $_POST['mise_en_service']));
         Utilisateur::rendreConducteur();
         $this->_confirm = "C'est bon ! Vous pouvez désormais ajouter des trajets !";
     } else {
         $this->_erreurs[] = "Il manque des informations pour valider votre véhicule";
     }
 }
Esempio n. 7
0
 private function enregistrerNouvelUtilisateur()
 {
     if (empty($_POST['nom'])) {
         $this->errors[] = "Vous n'avez pas précisé votre nom";
     } elseif (empty($_POST['prenom'])) {
         $this->errors[] = "Vous n'avez pas précisé votre prénom";
     } elseif (empty($_POST['pwd']) || empty($_POST['confirmation_pwd'])) {
         $this->errors[] = "Mot de Passe vide";
     } elseif ($_POST['pwd'] !== $_POST['confirmation_pwd']) {
         $this->errors[] = "Le mot de passe et la confirmation ne sont pas les même";
     } elseif (strlen($_POST['pwd']) < 6) {
         $this->errors[] = "Le mot de passe doit contenir 6 caractères minimum";
     } elseif (!preg_match('/^[a-z\\d]{2,64}$/i', $_POST['nom']) || !preg_match('/^[a-z\\d]{2,64}$/i', $_POST['prenom'])) {
         $this->errors[] = "Votre nom et/ou prénom est invalide: seul les lettres sont accepté, de 2 a 64 caractères";
     } elseif (empty($_POST['email'])) {
         $this->errors[] = "Vous n'avez pas précisé votre e-mail";
     } elseif ($_POST['annee'] > intval(date("Y")) - 18) {
         $this->errors[] = "Vous devez avoir au moins 18 ans pour vous incrire sur EasyCovoit";
     } elseif (strlen($_POST['email']) > 64) {
         $this->errors[] = "Votre email ne peut pas contenir plus de 64 caractères";
     } elseif (!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
         $this->errors[] = "Votre email n'a pas le bon format";
     } elseif (!empty($_POST['nom']) && strlen($_POST['nom']) <= 64 && strlen($_POST['nom']) >= 2 && preg_match('/^[a-z\\d]{2,64}$/i', $_POST['nom']) && !empty($_POST['email']) && strlen($_POST['email']) <= 64 && filter_var($_POST['email'], FILTER_VALIDATE_EMAIL) && !empty($_POST['pwd']) && !empty($_POST['confirmation_pwd']) && $_POST['pwd'] === $_POST['confirmation_pwd']) {
         $database = UsineBDD::getUsine()->connection();
         $nom_utilisateur = strip_tags($_POST['nom'], ENT_QUOTES);
         $prenom_utilisateur = strip_tags($_POST['prenom'], ENT_QUOTES);
         $email_utilisateur = strip_tags($_POST['email'], ENT_QUOTES);
         $naissance = strip_tags($_POST['annee'], ENT_QUOTES);
         $pwd_utilisateur = $_POST['pwd'];
         $hash = password_hash($pwd_utilisateur, PASSWORD_DEFAULT);
         // check if user or email address already exists
         $sql = "SELECT * FROM utilisateur WHERE email=:mail";
         $requete = $database->prepare($sql);
         $requete->execute(array(":mail" => $email_utilisateur));
         $nombre_ligne = count($requete->fetchAll());
         if ($nombre_ligne > 0) {
             $this->errors[] = "Cette e-mail est deja utilisé";
         } else {
             $sql = "INSERT INTO utilisateur (nom, prenom, email,mdp_hash,timestamp_creation,type_compte,naissance,solde)\n                            VALUES(:nom,:prenom,:mail,:mdp,:creation,:type,:naissance,100)";
             $creation_compte = $database->prepare($sql);
             $creation_compte->execute(array(":nom" => $nom_utilisateur, ":prenom" => $prenom_utilisateur, ":mail" => $email_utilisateur, ":mdp" => $hash, ":creation" => time(), ":type" => 2, ":naissance" => $naissance));
             if ($creation_compte) {
                 $this->messages[] = "Votre compte a été crée!";
             } else {
                 $this->errors[] = "Erreur, veuillez recommencer!";
             }
         }
     }
 }
Esempio n. 8
0
 public static function calculerMoyenne($id_membre)
 {
     $database = UsineBDD::getUsine()->connection();
     $sql = "SELECT note FROM note WHERE id_membre_note=:idn";
     $req = $database->prepare($sql);
     $req->execute(array(':idn' => $id_membre));
     $res = $req->fetchAll();
     if (count($res) == 0) {
         return false;
     } else {
         $nombreNote = 0;
         $total = 0;
         foreach ($res as $array => $note) {
             $nombreNote++;
             $total += $note['note'];
         }
         $moyenne = bcdiv($total, $nombreNote, 3);
         return number_format($moyenne, 2);
     }
 }
Esempio n. 9
0
 public static function trajetExiste($id_trajet)
 {
     $database = UsineBDD::getUsine()->connection();
     $sql_existe = "SELECT id FROM trajet WHERE id=:id";
     $requete_trajet_existe = $database->prepare($sql_existe);
     $requete_trajet_existe->execute(array(":id" => $id_trajet));
     $resultat = $requete_trajet_existe->fetchAll();
     if (count($resultat) > 0) {
         return true;
     } else {
         return false;
     }
 }
Esempio n. 10
0
 public static function getAllMessage()
 {
     $database = UsineBDD::getUsine()->connection();
     $sql = "SELECT * FROM messagerie v WHERE id_destinataire=:id ORDER BY 5 DESC";
     $requete = $database->prepare($sql);
     $requete->execute(array(':id' => Utilisateur::getUtilisateurId()));
     $res = $requete->fetchAll();
     return $res;
 }