<commit_before>﻿<?php
/*
 * MODÈLE USAGERS
 */

/**
 * Description de Usagers
 *
 * @author <NAME>
 */
class Usagers {
	private $bd;
	
	public function __construct(){
		$this->bd = BD::getInstance();
		//$idbd = $this->bd; //->getBD();
		//var_dump($idbd);
	}
	
	/**
	 * Enregistrer un nouvel usager
	 */
	public function enregistrer ($aDonnees = Array()) {
		$courriel 		= (!empty($aDonnees['courriel'])) ? $aDonnees['courriel'] : '';
		$mot_passe 		= (!empty($aDonnees['mot_passe'])) ? $aDonnees['mot_passe'] : '';
		$nom_prenom 	= (!empty($aDonnees['nom_prenom'])) ? $aDonnees['nom_prenom'] : '';
		$role 			= (!empty($aDonnees['role'])) ? $aDonnees['role'] : 0;
		//var_dump($_POST);
		
		if(!Valider::estCourriel($courriel)){
			throw new Exception("Ce courriel est invalide");
		}
		
		if(!Valider::estEntreString($mot_passe, 6, 12)){
			throw new Exception("Mot de passe non conforme");
		}
		
		$mot_passe = MD5($mot_passe);
		
		$idbd = $this->bd->getBD();
		//Préparation de la requête
		$aujourdhui = date("Y-m-d H:i:s");
		$req = $idbd->prepare(	"INSERT INTO wa_utilisateurs
								(id_utilisateurs, courriel, mot_passe, nom_prenom, date_entree, role, cle_reactivation, statut)
								VALUES (null, ?, ?, ? , ?, ?, null, 1)");
        
		//var_dump($req);
        $req->bindParam(1, $courriel);
        $req->bindParam(2, $mot_passe);
        $req->bindParam(3, $nom_prenom);
        $req->bindParam(4, $aujourdhui);
        $req->bindParam(5, $role);
		
		$reponse = $req->execute();
		
		if($reponse){
			return $reponse;
		}
        else{
			throw new Exception("Ce courriel est déjà utilisé");
		}
		
	} 
	
	/**
	 * Connecter un usager
	 */
	public function connecter ($aDonnees = Array()) {
		//$courriel, $mot_passe
		//var_dump($aDonnees['courriel']);
		//var_dump($aDonnees['mot_passe']);
		$courriel 		= (!empty($aDonnees['courriel'])) ? $aDonnees['courriel'] : '';
		$mot_passe 		= (!empty($aDonnees['mot_passe'])) ? $aDonnees['mot_passe'] : '';
		
		if(!Valider::estCourriel($courriel)){
			throw new Exception("Ce courriel est invalide");
		}
		
		if(!Valider::estEntreString($mot_passe, 4, 12)){
			throw new Exception("Mot de passe non conforme");
		}
		//var_dump($courriel);
		//var_dump($mot_passe);
		$mot_passe = MD5($mot_passe);
		
		$idbd = $this->bd->getBD();
		//$idbd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
		//Préparation de la requête
		$req = $idbd->prepare(	"SELECT *
                                FROM wa_utilisateurs
                                WHERE courriel = ?
								AND mot_passe = ?");

        //var_dump($req);
        //var_dump($courriel);
        //var_dump($mot_passe);
        $req->bindParam(1, $courriel);
        $req->bindParam(2, $mot_passe);
        $req->execute();
		$obj = $req->fetch(PDO::FETCH_ASSOC);
		
		if($obj){
			return $obj;
		}
    else{
			throw new Exception("Courriel ou mot de passe invalide");
		}
	}
	
	
	/**
	 * Connecter un usager ADMIN
	 */
	public function connecterAdmin ($aDonnees = Array()) {
		//$courriel, $mot_passe
		//var_dump($aDonnees['courriel']);
		//var_dump($aDonnees['mot_passe']);
		$courriel 		= (!empty($aDonnees['courriel'])) ? $aDonnees['courriel'] : '';
		$mot_passe 		= (!empty($aDonnees['mot_passe'])) ? $aDonnees['mot_passe'] : '';
		
		if(!Valider::estCourriel($courriel)){
			throw new Exception("Ce courriel est invalide");
		}
		
		if(!Valider::estEntreString($mot_passe, 4, 12)){
			throw new Exception("Mot de passe non conforme");
		}
		//var_dump($courriel);
		//var_dump($mot_passe);
		$mot_passe = MD5($mot_passe);
		
		$idbd = $this->bd->getBD();
		//$idbd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
		//Préparation de la requête
		$req = $idbd->prepare(	"	SELECT *
                              FROM wa_utilisateurs
                              WHERE courriel = ?
															AND mot_passe = ?
															AND (role = 1 OR role = 2)");
<commit_msg>Issues #11<commit_after>﻿<?php
/*
 * MODÈLE USAGERS
 */

/**
 * Description de Usagers
 *
 * @author <NAME>
 */
class Usagers {
	private $bd;
	
	public function __construct(){
		$this->bd = BD::getInstance();
		//$idbd = $this->bd; //->getBD();
		//var_dump($idbd);
	}
	
	/**
	 * Enregistrer un nouvel usager
	 */
	public function enregistrer ($aDonnees = Array()) {
		$courriel 		= (!empty($aDonnees['courriel'])) ? $aDonnees['courriel'] : '';
		$mot_passe 		= (!empty($aDonnees['mot_passe'])) ? $aDonnees['mot_passe'] : '';
		$nom_prenom 	= (!empty($aDonnees['nom_prenom'])) ? $aDonnees['nom_prenom'] : '';
		$role 			= (!empty($aDonnees['role'])) ? $aDonnees['role'] : 0;
		//var_dump($_POST);
		
		if(!Valider::estCourriel($courriel)){
			throw new Exception("Ce courriel est invalide");
		}
		
		if(!Valider::estEntreString($mot_passe, 6, 12)){
			throw new Exception("Mot de passe non conforme");
		}
		
		$mot_passe = MD5($mot_passe);
		
		$idbd = $this->bd->getBD();
		//Préparation de la requête
		$aujourdhui = date("Y-m-d H:i:s");
		$req = $idbd->prepare(	"INSERT INTO wa_utilisateurs
								(id_utilisateurs, courriel, mot_passe, nom_prenom, date_entree, role, cle_reactivation, statut)
								VALUES (null, ?, ?, ? , ?, ?, null, 1)");
        
		//var_dump($req);
        $req->bindParam(1, $courriel);
        $req->bindParam(2, $mot_passe);
        $req->bindParam(3, $nom_prenom);
        $req->bindParam(4, $aujourdhui);
        $req->bindParam(5, $role);
		
		$reponse = $req->execute();
		
		if($reponse){
			return $reponse;
		}
        else{
			throw new Exception("Ce courriel est déjà utilisé");
		}
		
	} 
	
	/**
	 * Connecter un usager
	 */
	public function connecter ($aDonnees = Array()) {
		//$courriel, $mot_passe
		//var_dump($aDonnees['courriel']);
		//var_dump($aDonnees['mot_passe']);
		$courriel 		= (!empty($aDonnees['courriel'])) ? $aDonnees['courriel'] : '';
		$mot_passe 		= (!empty($aDonnees['mot_passe'])) ? $aDonnees['mot_passe'] : '';
		
		if(!Valider::estCourriel($courriel)){
			throw new Exception("Ce courriel est invalide");
		}
		
		if(!Valider::estEntreString($mot_passe, 4, 12)){
			throw new Exception("Mot de passe non conforme");
		}
		//var_dump($courriel);
		//var_dump($mot_passe);
		$mot_passe = MD5($mot_passe);
		
		$idbd = $this->bd->getBD();
		//$idbd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
		//Préparation de la requête
		$req = $idbd->prepare(	"	SELECT *
                              FROM wa_utilisateurs
                              WHERE courriel = ?
															AND mot_passe = ?
															AND statut = 1");

        //var_dump($req);
        //var_dump($courriel);
        //var_dump($mot_passe);
        $req->bindParam(1, $courriel);
        $req->bindParam(2, $mot_passe);
        $req->execute();
		$obj = $req->fetch(PDO::FETCH_ASSOC);
		
		if($obj){
			return $obj;
		}
    else{
			throw new Exception("Courriel ou mot de passe invalide");
		}
	}
	
	
	/**
	 * Connecter un usager ADMIN
	 */
	public function connecterAdmin ($aDonnees = Array()) {
		//$courriel, $mot_passe
		//var_dump($aDonnees['courriel']);
		//var_dump($aDonnees['mot_passe']);
		$courriel 		= (!empty($aDonnees['courriel'])) ? $aDonnees['courriel'] : '';
		$mot_passe 		= (!empty($aDonnees['mot_passe'])) ? $aDonnees['mot_passe'] : '';
		
		if(!Valider::estCourriel($courriel)){
			throw new Exception("Ce courriel est invalide");
		}
		
		if(!Valider::estEntreString($mot_passe, 4, 12)){
			throw new Exception("Mot de passe non conforme");
		}
		//var_dump($courriel);
		//var_dump($mot_passe);
		$mot_passe = MD5($mot_passe);
		
		$idbd = $this->bd->getBD();
		//$idbd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
		//Préparation de la requête
		$req = $idbd->prepare(	"	SELECT *
                              FROM wa_utilisateurs
                              WHERE courriel = ?
															AND mot_passe = ?
															AND statut = 1
															AND (role = 1 OR role = 2)");

{'fraction_non_alphanumeric': 0.18774528421319153, 'fraction_numerical': 0.0063299151791366, 'mean_word_length': 2.9818548387096775, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 53, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5184765', 'n_tokens_mistral': 3459, 'n_tokens_neox': 2987, 'n_words': 515}