<?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->prepare($sql) ;
    $exec->execute() ;
    $curseur=$exec->fetchAll();
    return $curseur;
}

function getLeVehicule($id){
    require "connexion.php" ;
    $sql = "select vh_id, mq_libelle, md_libelle, vh_annee, vh_immat, vh_km, ng_libelle, 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 md_mq_id = mq_id "
            ."where vh_id = ?;";
    $exec=$bdd->prepare($sql) ;
    $exec->execute([$id]) ;
    $curseur=$exec->fetch();
    return $curseur;
}

function getLesMarques(){
    require "connexion.php";
    $sql = "select mq_libelle, mq_id from marque order by mq_libelle;";
    $exec=$bdd->prepare($sql) ;
    $exec->execute();
    $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) {
    $marques = getLesMarques();
    $trouve = false;
    $id = 0;
    while($id < Count(getLesMarques()) && !$trouve)
    {
        if($marques[$id]['mq_libelle'] == $libelle){
            $trouve = true;
        }
        $id++;
    }
    if(!$trouve)
    {
        require "connexion.php" ;
        $sql = "insert into marque (mq_libelle) values ('$libelle')" ;
        $exec=$bdd->prepare($sql) ;
        $resultat = $exec->execute() ;
        return $resultat;
    }
    else return false;
}

function marqueModification($nvLibelle, $id)
{
    $marques = getLesMarques();
    $trouve = false;
    $idx = 0;
    while($idx < Count($marques) && !$trouve)
    {
        if($marques[$idx]['mq_libelle'] == $nvLibelle){
            $trouve = true;
        }
        $idx++;
    }
    if(!$trouve)
    {
        require "connexion.php" ;
        $sql = "update marque set mq_libelle = ? where mq_id = ?";
        $exec=$bdd->prepare($sql) ;
        $resultat = $exec->execute([$nvLibelle,$id]) ;
        return $resultat;
    }
    else return false;
}

function marqueSuppression($id)
{
    require "connexion.php" ;
    $sql = "delete from marque where mq_id = ?";
    $exec=$bdd->prepare($sql);
    $resultat = $exec->execute([$id]);
    return $resultat;
}

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

function trouverModele($idMarque)
{
    require "connexion.php";
    $sql = "select md_id, md_libelle from modele where md_mq_id = ?;";
    $exec=$bdd->prepare($sql) ;
    $exec->execute([$idMarque]);
    $curseur=$exec->fetchAll();
    return $curseur;
}

?>