public static function getUsine() { if (!self::$_usine) { self::$_usine = new UsineBDD(); } return self::$_usine; }
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"; } } }
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; }
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; }
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 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"; } }
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!"; } } } }
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); } }
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; } }
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; }