<?php
/**
 * Vérifie les identifiants de connexion et instancie les variables de session
 
 * @param $loginSaisi 
 * @param $mdpSaisi
 * @return un boolÃ©en true si utilisateur connu, false sinon 
*/
function verifierIdentification($loginSaisi,$mdpSaisi) {
    require "connexion.php" ;
    $sql="select tl_login, tl_droit, tl_mdp from utilisateur
          where tl_login = ? and tl_mdp = MD5(?)" ;
    $exec=$bdd->prepare($sql);
    $data= [$loginSaisi, $mdpSaisi];
    $trouve = false ;
    $exec->execute($data) ;
    $ligne=$exec->fetch();
    if ($exec->rowCount() > 0) {
        $trouve = true ;
        $_SESSION['tl_login']=$ligne['tl_login'] ;
        $_SESSION['tl_droit']=$ligne['tl_droit'] ;
    }

    return $trouve ;
}

/**
 * Liste des tous les véhicules classés dans l'ordre alphabétique de la marque et du modèle
 
 * @param aucun
 * @return un curseur contenant l'ensemble des lignes à afficher
*/
function getLesVehicules() {
    require "connexion.php" ;
    $sql = "select mq_libelle, md_libelle, vh_km, vh_annee, vh_prix, vh_id "
            . "from vehicule "
            . "inner join modele on vh_md_id = md_id "
            . "inner join marque on md_mq_id = mq_id "
            . "order by mq_libelle, md_libelle" ;
    $exec=$bdd->query($sql) ;
    $exec->execute() ;
    $curseur=$exec->fetchAll();
    return $curseur;
}

function getLeVehicule($id){
    require "connexion.php";
    $sql = "select mq_libelle, md_libelle,ng_libelle,vh_km,vh_couleur,vh_prix,vh_options " 
            ."from vehicule "
            ."inner join modele on vh_md_id=md_id "
            ."inner join energie on vh_ng_id=ng_id "
            ."inner join marque on mq_id= md_mq_id "
            ."where vh_id = ? ;";
    $exec=$bdd->prepare($sql);
    $data=[$id];
    $exec->execute($data);
    $curseur=$exec->fetch();
    return $curseur;
    
}

function getLesMarques(){
    require "connexion.php";
    $sql = "select mq_id,mq_libelle "
            ."from marque "
            ."ORDER BY mq_libelle ";
    $exec=$bdd->query($sql);
    $curseur=$exec->fetchAll();
    return $curseur;
    
}

/**
* insertion d'une marque
* Auteur : Corrigé
* @param $libelle : libellé de la marque
* @return un booléen indiquant si l'insertion a pu se faire
*/
function marqueInsertion($libelle) {
    require "connexion.php" ;
    $trouve=false;
    $idx=0;
    $lesMarques=getLesMarques();
    while(!$trouve && $idx < Count($lesMarques)){
        if($libelle == $lesMarques[$idx]['mq_libelle']) $trouve=true;
        else $idx++;
    }
    if(!$trouve && !empty($libelle)){
        $sql = "insert into marque (mq_libelle) values ('$libelle')" ;
        $exec=$bdd->prepare($sql) ;
        $resultat = $exec->execute() ;
        if($resultat) return true;
    }
    return false;
}


function marqueModification($identifiant,$libelle){
    require "connexion.php";
    $trouve=false;
    $idx=0;
    $lesMarques=getLesMarques();
    while(!$trouve && $idx < Count($lesMarques)){
        if($libelle == $lesMarques[$idx]['mq_libelle']) $trouve=true;
        else $idx++;
    }
    if(!$trouve && !empty($libelle)){
        $sql="UPDATE marque "
        ."set mq_libelle ='".$libelle."' "
        ."WHERE mq_id = ".$identifiant."";
        $exec=$bdd->prepare($sql);
        $resultatmodif = $exec-> execute();
        if($resultatmodif) return true;
    }
    
    return false;
}

function marqueSuppression($identifiant){
    require "connexion.php";
    $sql1= "DELETE FROM vehicule "
            ."WHERE vh_md_id = (SELECT md_id FROM modele "
            ."WHERE md_mq_id='".$identifiant."')";
    $sql2= "DELETE FROM modele "
            ."WHERE md_mq_id ='".$identifiant."'";
    $sql3= "DELETE FROM marque " 
            ."WHERE mq_id = '".$identifiant."'";
    $exec1=$bdd->prepare($sql1);
    $exec2=$bdd->prepare($sql2);
    $exec3=$bdd->prepare($sql3);
    $res1=$exec1->execute();
    $res2=$exec2->execute();
    $res3=$exec3->execute();
    if($res3) return true;
    return false;

}

function rechercheMarque($id){
    require "connexion.php";
    $sql = "select mq_libelle "
            ."from marque "
            ."WHERE mq_id = ? ";
    $exec=$bdd->prepare($sql);
    $exec->execute([$id]);
    $curseur=$exec->fetch();
    return $curseur;
    
}

function rechercherModeles($id){
    require "connexion.php";
    $sql = "SELECT md_libelle "
            ."FROM modele "
            ."WHERE md_mq_id= ? ";
    $exec=$bdd->prepare($sql);
    $exec->execute([$id]);
    $curseur= $exec->fetchall();
    return $curseur;
    

}
?>