// On va chercher le login de l'utilisateur dans la table créée $sql_p = "SELECT login_u FROM ldap_bx\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tWHERE nom_u = '" . my_strtoupper($affiche[0]) . "'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND prenom_u = '" . my_strtoupper($affiche[1]) . "'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND statut_u = 'teacher'"; $query_p = mysqli_query($GLOBALS["mysqli"], $sql_p); $nbre = mysqli_num_rows($query_p); if ($nbre >= 1 and $nbre < 2) { $temp1 = old_mysql_result($query_p, 0, "login_u"); } else { // Il faudrait alors proposer une alternative à ce cas $temp1 = "erreur_" . $k; } } } else { die('Vous n\'avez pas autorisé Gepi à utiliser un ENT'); } } else { $temp1 = generate_unique_login($affiche[0], $affiche[1], $_POST['login_gen_type'], $_POST['login_gen_type_casse']); } if (!$temp1 || $temp1 == "") { $temp1 = "erreur_"; } $login_prof = $temp1; // On teste l'unicité du login que l'on vient de créer $m = 2; $test_unicite = 'no'; $temp = $login_prof; while ($test_unicite != 'yes') { $test_unicite = test_unique_login($login_prof); if ($test_unicite != 'yes') { $login_prof = $temp . $m; $m++; }
// On va chercher le login de l'utilisateur dans la table créée $sql_p = "SELECT login_u FROM ldap_bx\n\t\t\t\t\t\t\t\t\t\t\t\t\tWHERE nom_u = '" . my_strtoupper($reg_nom_login) . "'\n\t\t\t\t\t\t\t\t\t\t\t\t\tAND prenom_u = '" . my_strtoupper($reg_prenom_login) . "'\n\t\t\t\t\t\t\t\t\t\t\t\t\tAND statut_u = 'teacher'"; $query_p = mysqli_query($GLOBALS["mysqli"], $sql_p); $nbre = mysqli_num_rows($query_p); if ($nbre >= 1 and $nbre < 2) { $login_prof = old_mysql_result($query_p, 0, "login_u"); } else { // Il faudrait alors proposer une alternative à ce cas $login_prof = "erreur_" . $k; } } } else { die('Vous n\'avez pas autorisé Gepi à utiliser un ENT'); } } else { $login_prof = generate_unique_login($reg_nom_login, $reg_prenom_login, $_POST['login_gen_type'], $_POST['login_gen_type_casse']); } } else { // Le prof semble déjà exister. On récupère son login actuel $login_prof = old_mysql_result($test, 0, "login"); $prof_exists = true; } if (!$login_prof || $login_prof == "") { $login_prof = "erreur_"; // On teste l'unicité du login que l'on vient de créer $m = 2; $test_unicite = 'no'; $temp = $login_prof; while ($test_unicite != 'yes') { $test_unicite = test_unique_login($login_prof); if ($test_unicite != 'yes') {
$tmp_nom=remplace_accents($lig->ELENOM); $tmp_prenom=remplace_accents($lig->ELEPRE); // Générer un login... $mode_generation_login_eleve=getSettingValue('mode_generation_login_eleve'); if(!check_format_login($mode_generation_login_eleve)) { $mode_generation_login_eleve='nnnnnnnnn_p'; $sql="SELECT * FROM infos_actions WHERE titre='Format des logins générés';"; $test_ia=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($test_ia)==0) { enregistre_infos_actions("Format des logins générés","Le format des logins générés par Gepi pour les différentes catégories d'utilisateurs doit être contrôlé et revalidé dans la page <a href='./gestion/param_gen.php#format_login_pers'>Configuration générale</a>",array("administrateur"),'statut'); } } $login_eleve=generate_unique_login($tmp_nom, $tmp_prenom, $mode_generation_login_eleve, 'maj'); if(($login_eleve)&&($login_eleve!='')) { // On teste l'unicité du login que l'on vient de créer $k = 2; $test_unicite = 'no'; $temp = $login_eleve; while ($test_unicite != 'yes') { //$test_unicite = test_unique_e_login($login_eleve,$i); $test_unicite = test_unique_login($login_eleve); if ($test_unicite != 'yes') { $login_eleve = $temp.$k; $k++; } } }
// On va chercher le login de l'utilisateur dans la table créée $sql_p = "SELECT login_u FROM ldap_bx\n\t\t\t\t\t\t\t\t\t\t\t\tWHERE nom_u = '" . my_strtoupper($prof[$k]["nom_usage"]) . "'\n\t\t\t\t\t\t\t\t\t\t\t\tAND prenom_u = '" . my_strtoupper($prof[$k]["prenom"]) . "'\n\t\t\t\t\t\t\t\t\t\t\t\tAND statut_u = 'teacher'"; $query_p = mysqli_query($GLOBALS["mysqli"], $sql_p); $nbre = mysqli_num_rows($query_p); if ($nbre >= 1 and $nbre < 2) { $temp1 = old_mysql_result($query_p, 0, "login_u"); } else { // Il faudrait alors proposer une alternative à ce cas $temp1 = "erreur_" . $k; } } } else { die('Vous n\'avez pas autorisé Gepi à utiliser un ENT'); } } else { $temp1 = generate_unique_login($prof[$k]["nom_usage"], $prof[$k]["prenom"], $_POST['login_gen_type'], $_POST['login_gen_type_casse']); } if ($auth_sso == 'lcs' || $gepi_non_plugin_lcs_mais_recherche_ldap) { // On ne devrait jamais arriver là. $login_prof = $login_prof_gepi; } else { if (!$temp1 || $temp1 == "") { $temp1 = "erreur_"; } $login_prof = $temp1; //$login_prof = remplace_accents($temp1,"all"); // On teste l'unicité du login que l'on vient de créer $m = 2; $test_unicite = 'no'; $temp = $login_prof; while ($test_unicite != 'yes') {
$res_tmp_u = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($res_tmp_u) > 0) { $lig_tmp_u = mysqli_fetch_object($res_tmp_u); $login_eleve = $lig_tmp_u->login; } } if ($login_eleve == "") { $default_login_gen_type = getSettingValue('mode_generation_login_eleve'); if ($default_login_gen_type == '' || !check_format_login($default_login_gen_type)) { $default_login_gen_type = 'nnnnnnnnn_p'; } $default_login_gen_type_casse = getSettingValue('mode_generation_login_eleve_casse'); if ($default_login_gen_type_casse != 'min' && $default_login_gen_type_casse != 'maj') { $default_login_gen_type_casse = 'min'; } $login_eleve = generate_unique_login($reg_nom, $reg_prenom, $default_login_gen_type, $default_login_gen_type_casse); if ($debug_ele == 'y') { echo "<span style='color:blue;'>Login nouvellement généré pour '{$reg_nom} {$reg_prenom}' : '{$login_eleve}'</span><br />"; } } // Dans le cas où Gepi est intégré à un ENT, il ne doit pas générer de login mais récupérer celui qui existe déjà // A VERIFIER : Avec afficher_liaison_ent = argos_bordeaux passe-t-on par cette table ldap_bx? if (getSettingValue("use_ent") == 'y' && getSettingValue('afficher_liaison_ent') != "netcollege") { // On a récupéré les informations dans la table ldap_bx // voir aussi les explications de la ligne 710 du fichiers professeurs.php $sql_p = "SELECT login_u FROM ldap_bx\n\t\t\t\t\t\t\t\t\t\t\tWHERE identite_u = '" . $no_gep . "'"; $query_p = mysqli_query($GLOBALS["mysqli"], $sql_p); $nbre = mysqli_num_rows($query_p); if ($nbre >= 1) { // On considère que l'information est bonne puisqu'elle a été construite avec la même source sconet $login_eleve = old_mysql_result($query_p, 0, "login_u");
} } else { $exist = 'yes'; $login_prof_gepi = old_mysql_result($test_exist,0,'login'); } if ($exist == 'no') { // Aucun professeur ne porte le même nom dans la base GEPI. On va donc rentrer ce professeur dans la base $mode_generation_login=getSettingValue("mode_generation_login"); if((isset($user_login))&&($user_login!="")) { $login_prof = $user_login; } else { $affiche[1] = traitement_magic_quotes(corriger_caracteres($affiche[1])); $login_prof = generate_unique_login($affiche[0],$affiche[1],$mode_generation_login); } if(!$login_prof) { $msg="Login non généré.<br />Le mode de génération choisi n'est peut-être pas valide : '$mode_generation_login'<br />Consultez la page <a href='../gestion/param_gen.php#format_login_pers'>Configuration générale</a> pour corriger ou revalider le choix de format de login.<br />"; $remplacant_non_cree="y"; } else { /* //$login_prof = remplace_accents($temp1,"all"); // On teste l'unicité du login que l'on vient de créer $m = 2; $test_unicite = 'no'; $temp = $login_prof; while ($test_unicite != 'yes') { $test_unicite = test_unique_login($login_prof);
$query_p = mysqli_query($GLOBALS["mysqli"], $sql_p); $nbre = mysqli_num_rows($query_p); if ($nbre >= 1 AND $nbre < 2) { $reg_login = old_mysql_result($query_p, 0,"login_u"); } else { // Il faudrait alors proposer une alternative à ce cas et permettre de chercher à la main le bon responsable dans la source //$reg_login = "******".$k; // en attendant une solution viable, on génère le login du responsable $reg_login = generate_unique_login($current_parent->nom, $current_parent->prenom, getSettingValue("mode_generation_login_responsable"), getSettingValue("mode_generation_login_responsable_casse")); } } } else { // Création du compte utilisateur pour le responsable considéré //echo "\$reg_login = generate_unique_login($current_parent->nom, $current_parent->prenom, ".getSettingValue("mode_generation_login").");<br />\n"; $reg_login = generate_unique_login($current_parent->nom, $current_parent->prenom, getSettingValue("mode_generation_login_responsable"), getSettingValue("mode_generation_login_responsable_casse")); // generate_unique_login() peut retourner 'false' en cas de pb } if(($reg_login)&&($reg_login!='')) { //check_token(); // Si on a un accès LDAP en écriture, on créé le compte sur le LDAP // On ne procède que si le LDAP est configuré en écriture, qu'on a activé // l'auth LDAP ou SSO, et que c'est un de ces deux modes qui a été choisi pour cet utilisateur. if (LDAPServer::is_setup() && $gepiSettings["ldap_write_access"] == "yes" && ($session_gepi->auth_ldap || $session_gepi->auth_sso) && ($_POST['reg_auth_mode'] == 'auth_ldap' || $_POST['reg_auth_mode'] == 'auth_sso')) { $write_ldap = true; $write_ldap_success = false; // On tente de créer l'utilisateur sur l'annuaire LDAP $ldap_server = new LDAPServer(); if ($ldap_server->test_user($_POST['new_login'])) {
echo "<span style='color:green;'>OK</span>"; //echo "</p>\n"; } else { echo "<span style='color:red;'>ERREUR</span>"; echo "</p>\n"; //require_once("../lib/footer.inc.php"); //die(); } } // Créer l'utilisateur prof... $sql = "SELECT login FROM utilisateurs WHERE nom='{$nom_etab_ori}' AND prenom='{$ville_etab_ori}';"; $res = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($res) == 0) { echo "<p>Création d'un utilisateur professeur '{$nom_etab_ori}': "; // CREER UN LOGIN $login_etab = generate_unique_login($nom_etab_ori, $ville_etab_ori, "nnnnnnnnnnnnnnnnnnnn"); if (!$login_etab || $login_etab == '') { echo "<span style='color:red;'>ERREUR :</span> Aucun login n'a pu être généré pour l'établissement {$nom_etab_ori} ({$ville_etab_ori})."; echo "</p>\n"; require_once "../lib/footer.inc.php"; die; } else { $sql = "INSERT INTO utilisateurs SET login='******',\n\t\t\t\t\t\t\t\t\t\t\t\t\tnom='{$nom_etab_ori}',\n\t\t\t\t\t\t\t\t\t\t\t\t\tprenom='{$ville_etab_ori}',\n\t\t\t\t\t\t\t\t\t\t\t\t\tcivilite='M.',\n\t\t\t\t\t\t\t\t\t\t\t\t\tpassword='',\n\t\t\t\t\t\t\t\t\t\t\t\t\tstatut='professeur',\n\t\t\t\t\t\t\t\t\t\t\t\t\tetat='inactif';"; $res = mysqli_query($GLOBALS["mysqli"], $sql); if ($res) { echo "<span style='color:green;'>OK</span>"; echo "</p>\n"; } else { echo "<span style='color:red;'>ERREUR</span>"; echo "</p>\n"; require_once "../lib/footer.inc.php";