<?
// ajouter un élève dans la base Mysql de Gibii
/*  Déclaré dasn login_eole.inc.php
function ajout_eleve($login,$nom,$prenom,$civilite,$dnaiss,$newclasse_id,$sess_ascol,$etab_id=1) {
    $dnaiss=normerdatenaiss2($dnaiss);
    if ($civilite==1) $civilite="M.";
    else $civilite="Mlle";
    //ajouter l'élève dans ELEVES
    $sql="INSERT INTO eleves ".
         "   SET nom='".secs($nom)."', prenom='$prenom', civil='$civilite', ".
         "   etab_id=".seci($etab_id)." , annee=$sess_ascol, dnaiss='$dnaiss', classe_id=".seci($newclasse_id );
    //echo "Voici la requête : <BR> $sql <BR>";
    query($sql);
    $eleve_id=mysql_insert_id();


    //rajouter un compte dans COMPTES
    $passwd=md5($dnaiss); //pas d'autre choix commode pour tous !
    //if ($IMPOSE_CHGT_MDP) $actif=0; else $actif=1;
    $actif=1; // EOLE


    $sql="INSERT INTO comptes
                 SET login      = '".secs($login)."',
                     mdp        = '$passwd',
                     statut     = 'Eleve',
                     actif      = $actif,
                     nbsessions = 0,
                     eleve_id   = $eleve_id,
                     etab_id    = $etab_id";
    query($sql);
    $compte_id=mysql_insert_id();
    //Mettre à jour la table élève avec compte_id
    $sql="UPDATE eleves ".
         "SET compte_id=$compte_id  WHERE eleve_id=$eleve_id;";
    query($sql);


    // gibii5 :
    $sql="INSERT INTO lien_eleves_classes SET eleve_id=$eleve_id, classe_id=$newclasse_id ;";
    query($sql);
}



// modifier un élève dans la base Mysql de Gibii
function modifier_eleve($eleve_id,$nom,$prenom,$civilite,$dnaiss,$newclasse_id,$sess_ascol) {
    $nomquot=addslashes($nom);
    $prenomquot=addslashes($prenom);
    $dnaiss=normerdatenaiss2($dnaiss);
    if ($civilite==1) $civilite="M.";
    else $civilite="Mlle";
    $sql="UPDATE eleves
          SET nom='$nomquot', prenom='$prenomquot',
              classe_id=$newclasse_id, civil='$civilite',
              dnaiss='$dnaiss', annee='$sess_ascol'
          WHERE eleve_id=$eleve_id;";
    query($sql);


    // gibii5 :
    $sql="DELETE FROM lien_eleves_classes WHERE eleve_id=$eleve_id;";
    query($sql);
    $sql="INSERT INTO lien_eleves_classes SET eleve_id=$eleve_id, classe_id=$newclasse_id ;";
    query($sql);
}



// ajouter un professeur dans la base Mysql de Gibii
function ajout_prof($login,$nom,$prenom,$dnaiss,$admin,$sess_ascol,$classes,$etab_id=1) {
    $dnaiss=normerdatenaiss2($dnaiss);
    if ($admin==2) $admin=1; // typeadmin dans scribe
    if ($civilite==1) $civilite="M.";
    else $civilite="Mme";


    $sql="INSERT INTO profs ".
         "   SET nom='".secs($nomquot)."', prenom='".secs($prenomquot)."', civil='".secs($civilite)."', ".
         "       dnaiss='$dnaiss', disc_id='0', etab_id=$etab_id, ".
         "       annee=".sec($sess_ascol)." , admin='".secs($admin)."';";
    query($sql);
    $prof_id=mysql_insert_id();


    //rajouter un compte dans COMPTES
    $passwd=md5($dnaiss);
    //if ($IMPOSE_CHGT_MDP) $actif=0; else $actif=1;
    $actif=1;


    $sql="INSERT INTO comptes
                 SET login      = '$loginquot',
                     mdp        = '$passwd',
                     statut     = 'Prof',
                     actif      = $actif,
                     nbsessions = 0,
                     prof_id   = $prof_id,
                     etab_id    = $etab_id";


    query($sql);
    $cpte_id=mysql_insert_id();


    //Mettre à jour l'enregistrement du prof
    $sql="UPDATE profs ".
         "   SET compte_id=".seci($cpte_id ).
         "   WHERE prof_id=".seci($prof_id);
    query($sql);


    foreach ($classes as $classe) {
       $classe_id=get_classe($classe);
       query("INSERT INTO lien_profs_classes (prof_id,classe_id)
              VALUES (".seci($prof_id)." , ".seci($classe_id).")");
    }
}





// récupérer le code de la classe
// si non trouvée => créer la classe
function get_classe($divcod,$etab_id=1) {
   $query= "SELECT * FROM classes WHERE divcod='$divcod'";
   $handle = query($query);
   $row=mysql_fetch_array($handle);
   // si trouvé renvoyer le résultat


   if ($row["classe_id"]) return ($row["classe_id"]);
   // sinon créer la classe
   $sql="INSERT INTO classes
                SET divcod  = '".secs($divcod)."',
                    etab_id = '$etab_id';";
   query($sql);
   return(mysql_insert_id());
}


function normerdatenaiss2($dnaiss) {
$e=ereg("^([0-9]{4})([0-9]{2})([0-9]{2})?$",$dnaiss,$r);
//print_r($r);
if ($e) {        //masque ok
    return $r[3]."/".$r[2];
}
else return $dnaiss;
}

*/  





/*
Traitement de la connexion d'un utilisateur LDAP sur Scribe
*/
include("../include/login_eole.inc.php");


if (strstr($info[0]["dn"],"eleves")) {


    // CAS ELEVE
    $code_classe=get_classe(strtoupper($info[0]["divcod"][0]));
    $res=query("SELECT * FROM comptes WHERE login='$login' AND etab_id=$etab_id");
    if (!$row=mysql_fetch_array($res)) {
        // l'élève n'existe pas dans Mysql => on le crée
//ajout_eleve($login,$nom,$prenom,$civilite,$dnaiss,$newclasse_id,$sess_ascol)
        ajout_eleve($info[0]["uid"][0],
               $info[0]["sn"][0],
               $info[0]["givenname"][0],
               $info[0]["codecivilite"][0],
               $info[0]["datenaissance"][0],
               $code_classe,
               ascol()
               );
    }else {
       // calcul du code classe actuel de l'élève
        $query2 = "SELECT classe_id,eleve_id FROM eleves WHERE compte_id='".$row["compte_id"]."'";
        $handle2 = query($query2);
        $row2=mysql_fetch_array($handle2);
        if ($code_classe!=$row2["classe_id"]) {
            // il y a eu un changement de classe => MAJ
//modifier_eleve($eleve_id,$nom,$prenom,$civilite,$dnaiss,$newclasse_id,$sess_ascol)
            modifier_eleve($row2["eleve_id"],
               $info[0]["sn"][0],
               $info[0]["givenname"][0],
               $info[0]["codecivilite"][0],
               $info[0]["datenaissance"][0], //à modifier
               $code_classe,
               ascol()
               );
        }
    }


} elseif (strstr($info[0]["dn"],"personnels")) {


     // CAS PROFESSEUR
     $res=query("SELECT * FROM comptes WHERE login='$login' AND etab_id=$etab_id");
     if (!$row=mysql_fetch_array($res)) {
         // le professeur n'existe pas dans Mysql => on le crée
         $sr2=ldap_search($ds,"o=gouv,c=fr", "(&(objectClass=posixgroup)(memberuid=$login)(description=Equipe*))");
         $info2 = ldap_get_entries($ds,$sr2);
         $t_classes=array();
         //print_r($t_classes);
         if ($nb=$info2["count"]>0) {
            // extraction des classes à partir des équipes pédagogiques
            foreach ($info2 as $groupe) {
               if ($groupe["cn"]) $t_classes[]=strtoupper(substr($groupe["cn"][0],6));
            }
         }
//ajout_prof($login,$nom,$prenom,$dnaiss,$admin,$sess_ascol,$classes,$etab_id=1)
         ajout_prof($info[0]["uid"][0],
                    $info[0]["sn"][0],
                    $info[0]["givenname"][0],
                    $info[0]["datenaissance"][0],
                    $info[0]["typeadmin"][0],
                    ascol(),
                    $t_classes
                    );
     }
}


?>
