From 5ddf8de3691fde866c5a48b440cffa2990b2014c Mon Sep 17 00:00:00 2001 From: Debulois Date: Thu, 3 Feb 2022 13:02:21 +0100 Subject: Initial commit --- Database/dbmain.php | 143 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 143 insertions(+) create mode 100644 Database/dbmain.php (limited to 'Database/dbmain.php') diff --git a/Database/dbmain.php b/Database/dbmain.php new file mode 100644 index 0000000..43e39ef --- /dev/null +++ b/Database/dbmain.php @@ -0,0 +1,143 @@ +database; + $res = $this->conn->prepare($reqInitDb); + $res->execute(); + } + + // Sélection de la DB + private function select_db() { + $reqSelectDb = "USE ".$this->database; + $res = $this->conn->prepare($reqSelectDb); + $res->execute(); + } + + // Création des tables si elles n'existent pas + private function create_table() { + $reqInitUserAccount = "CREATE TABLE IF NOT EXISTS ".$this->createTableUserAccount; + $res = $this->conn->prepare($reqInitUserAccount); + $res->execute(); + $reqInitUserInfo = "CREATE TABLE IF NOT EXISTS ".$this->createTableUserInfo; + $res = $this->conn->prepare($reqInitUserInfo); + $res->execute(); + $reqInitMission = "CREATE TABLE IF NOT EXISTS ".$this->createTableMission; + $res = $this->conn->prepare($reqInitMission); + $res->execute(); + } + + // Déclenche les méthodes pour créer la BDD + private function init() { + $this->create_db(); + $this->select_db(); + $this->create_table(); + } + + // Chiffre la data reçue + final public function crypt_pass($pass) { + $crypt = crypt($pass, $this->salt); + return $crypt; + } + + // Prépare la requète pour mitiger (se protéger) les injections SQL et + // initialise si nécessaire la BDD à chaque requète + final public function exec_cmd($req, $arg) { + $this->init(); + $res = $this->conn->prepare($req); + $res->execute($arg); + return $res; + } + + // Vérifie si l'email existe dans la table userAccount de la BDD + final public function check_exist_email($email) { + $reqCheckEmailExist = "SELECT EXISTS(SELECT * FROM ".$this->tableUserAccount." WHERE email = ?)"; + $data = $this->exec_cmd($reqCheckEmailExist, array($email))->fetchAll(PDO::FETCH_NUM); + // Retourne 1 si existe, sinon 0 + return $data[0][0]; + } + + // Vérifie si l'id est un consultant dans la table userAccount de la BDD + final public function check_exist_consultant($id) { + $reqCheckExistConsultant = "SELECT EXISTS(SELECT * FROM ".$this->tableUserAccount." WHERE id = ? AND isConsultant = '1')"; + $data = $this->exec_cmd($reqCheckExistConsultant, array($id))->fetchAll(PDO::FETCH_NUM); + // Retourne 1 si existe, sinon 0 + return $data[0][0]; + } + + // Fonction "auto", déclenchée à l'instanciation + final public function __construct() { + // Essaie de se connecter a la BDD + $this->conn = new PDO("mysql:host=".$this->host, $this->user, $this->pass); + } +} +?> \ No newline at end of file -- cgit v1.2.3