if (mysql_num_rows($res) > 0) { $id_grp = $tst[0]; } //recherche des membres $uids = search_uids("(cn=" . $groups[$loup]["cn"] . ")", "half"); $people = search_people_groups($uids, "(sn=*)", "cat"); //on se reconnecte a la base claroline $db = @mysql_connect($dbHost, $dbLogin, $dbPass, false, CLIENT_FOUND_ROWS) or die('<center>' . 'WARNING ! SYSTEM UNABLE TO CONNECT TO THE DATABASE SERVER.' . '</center>'); for ($loop = 0; $loop < count($people); $loop++) { $uname = $people[$loop]['uid']; $nom = addslashes($people[$loop]["name"]); $prenom = getprenom($people[$loop]["fullname"], $nom); //insertion des membres dans la table users if ($grp != "Profs") { if (!is_present($uname)) { add_eleve($nom, $prenom, $uname); user_in_classe($id_grp, is_present($uname)); $cpt2++; } echo '<script type="text/javascript" language="JavaScript"> document.getElementById("cr0").innerHTML = " résultat = ' . $cpt2 . ' élève(s) affecté(s)" ; </script>'; } else { if (!is_present($uname)) { $cpt3++; add_prof($nom, $prenom, $uname); user_in_classe($id_grp, is_present($uname)); } echo '<script type="text/javascript" language="JavaScript"> document.getElementById("cr1").innerHTML = " résultat ' . $cpt3 . ' Prof(s) affecté(s)" ; </script>';
for ($u = 0; $u < $info[0]["memberuid"]["count"]; $u++) { $uid = $info[0]["memberuid"][$u]; if (trim($uid) != "") { $eleve_de[$current_classe_id] = $uid; // Extraction des infos sur l'élève : $result2 = @ldap_read($ds, "uid=" . $uid . "," . $lcs_ldap_people_dn, "(objectclass=posixAccount)", $ldap_people_attr); if ($result2) { $info2 = @ldap_get_entries($ds, $result2); if ($info2["count"]) { // Traitement du champ gecos pour extraction de date de naissance, sexe $gecos = $info2[0]["gecos"][0]; $tmp = split("[\\,\\]", $info2[0]["gecos"][0], 4); $ret_people = array("uid" => $info2[0]["uid"][0], "nom" => stripslashes($info2[0]["sn"][0]), "fullname" => stripslashes($info2[0]["cn"][0]), "pseudo" => $info2[0]["givenname"][0], "email" => $info2[0]["mail"][0], "homedirectory" => $info2[0]["homedirectory"][0], "description" => $info2[0]["description"][0], "shell" => $info2[0]["loginshell"][0], "sexe" => $tmp[2], "naissance" => $tmp[1], "no_gep" => $info2[0]["employeenumber"][0]); $long = mb_strlen($ret_people["fullname"]) - mb_strlen($ret_people["nom"]); $prenom = mb_substr($ret_people["fullname"], 0, $long); $add = add_eleve($uid, $ret_people["nom"], $prenom, $tmp[2], $tmp[1], $ret_people["no_gep"]); $get_periode_num = old_mysql_result(mysqli_query($GLOBALS["mysqli"], "SELECT count(*) FROM periodes WHERE (id_classe = '" . $current_classe_id . "')"), 0); $check = old_mysql_result(mysqli_query($GLOBALS["mysqli"], "SELECT count(*) FROM j_eleves_classes WHERE (login = '******')"), 0); if ($check > 0) { $del = mysqli_query($GLOBALS["mysqli"], "DELETE from j_eleves_classes WHERE login = '******'"); } for ($k = 1; $k < $get_periode_num + 1; $k++) { $res = mysqli_query($GLOBALS["mysqli"], "INSERT into j_eleves_classes SET login = '******', id_classe = '" . $current_classe_id . "', periode = '" . $k . "'"); } $check = old_mysql_result(mysqli_query($GLOBALS["mysqli"], "SELECT count(*) FROM j_eleves_regime WHERE (login = '******')"), 0); if ($check > 0) { $del = mysqli_query($GLOBALS["mysqli"], "DELETE from j_eleves_regime WHERE login = '******'"); } $res = mysqli_query($GLOBALS["mysqli"], "INSERT into j_eleves_regime SET login = '******',\n regime = 'd/p',\n doublant = '-'"); } @ldap_free_result($result2);
$info = ldap_get_entries($ldap_server->ds, $sr); for ($i = 0; $i < $info["count"]; $i++) { // On ajoute l'utilisateur. La fonction s'occupe toute seule de vérifier que // le login n'existe pas déjà dans la base. S'il existe, on met simplement à jour // les informations // function add_eleve($_login, $_nom, $_prenom, $_sexe, $_naissance, $_elenoet) { $date_naissance = mb_substr($info[$i]["datenaissance"][0], 0, 4) . "-" . mb_substr($info[$i]["datenaissance"][0], 4, 2) . "-" . mb_substr($info[$i]["datenaissance"][0], 6, 2); // ----- // DEPRECIATION : les lignes ci-dessous ne sont plus nécessaire, Gepi a été mis à jour // // Pour des raisons de compatibilité avec le code existant de Gepi, il n'est pas possible d'avoir // un point dans le login... (le point est transformé bizarrement en "_" dans les $_POST)... //$info[$i]["uid"][0] = preg_replace("/\./", "_", $info[$i]["uid"][0]); // ----- // En théorie ici chaque login est de toute façon unique. $add = add_eleve($info[$i]["uid"][0], $info[$i]["sn"][0], $info[$i]["givenname"][0], $info[$i]["codecivilite"][0], $date_naissance); //$info[$i]["employeenumber"]); $id_classe = old_mysql_result(mysqli_query($GLOBALS["mysqli"], "SELECT id FROM classes WHERE classe = '" . $info[$i]["divcod"][0] . "'"), 0); $check = old_mysql_result(mysqli_query($GLOBALS["mysqli"], "SELECT count(*) FROM j_eleves_professeurs WHERE (login = '******')"), 0); if ($check > 0) { $del = mysqli_query($GLOBALS["mysqli"], "DELETE from j_eleves_professeurs WHERE login = '******'"); } if (array_key_exists($id_classe, $pp)) { //echo "Debug : $pp[$id_classe]<br/>"; $res = mysqli_query($GLOBALS["mysqli"], "INSERT INTO j_eleves_professeurs SET login = '******', id_classe = '" . $id_classe . "', professeur = '" . $pp[$id_classe] . "'"); } $get_periode_num = old_mysql_result(mysqli_query($GLOBALS["mysqli"], "SELECT count(*) FROM periodes WHERE (id_classe = '" . $id_classe . "')"), 0); $check = old_mysql_result(mysqli_query($GLOBALS["mysqli"], "SELECT count(*) FROM j_eleves_classes WHERE (login = '******')"), 0); if ($check > 0) { $del = mysqli_query($GLOBALS["mysqli"], "DELETE from j_eleves_classes WHERE login = '******'"); }