// Passage au mode Gepi, rien de spécial à faire, si ce n'est annoncer à l'administrateur // qu'il va falloir réinitialiser les mots de passe $pass_init_required = true; // Et si accès en écriture au LDAP, on supprime le compte. if ($ldap_write_access) { $delete_ldap_user = true; } } // On effectue les opérations LDAP if (isset($create_ldap_user) && $create_ldap_user) { if (!$ldap_server->test_user($current_parent->login)) { $parent = mysqli_fetch_object(mysqli_query($GLOBALS["mysqli"], "SELECT distinct(r.login), r.nom, r.prenom, r.civilite, r.mel " . "FROM resp_pers r WHERE (" . "r.login = '******')")); $write_ldap_success = $ldap_server->add_user($parent->login, $parent->nom, $parent->prenom, $parent->mel, $parent->civilite, md5(rand()), "responsable"); // On transfert le mot de passe à la main $ldap_server->set_manual_password($current_parent->login, "{MD5}".base64_encode(pack("H*",$oldmd5password))); } } if (isset($delete_ldap_user) && $delete_ldap_user) { if (!$ldap_server->test_user($current_parent->login)) { // L'utilisateur n'a pas été trouvé dans l'annuaire. $write_ldap_success = true; } else { $write_ldap_success = $ldap_server->delete_user($current_parent->login); } } } }
} // 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($current_eleve->login)) { // L'utilisateur a été trouvé dans l'annuaire. On ne l'enregistre pas. $write_ldap_success = true; $msg.= "L'utilisateur n'a pas pu être ajouté à l'annuaire LDAP, car il y est déjà présent. Il va néanmoins être créé dans la base Gepi."; } else { $write_ldap_success = $ldap_server->add_user($current_eleve->login, $current_eleve->nom, $current_eleve->prenom, $current_eleve->email, $civilite, '', 'eleve'); } } else { $write_ldap = false; } if (!$write_ldap || ($write_ldap && $write_ldap_success)) { if ($_POST['reg_auth_mode'] == "auth_locale") { $reg_auth = "gepi"; } elseif ($_POST['reg_auth_mode'] == "auth_ldap") { $reg_auth = "ldap"; } elseif ($_POST['reg_auth_mode'] == "auth_sso") { $reg_auth = "sso"; }
if($lig_tmp->statut=="scolarite"){ if($_POST['reg_statut']!="scolarite"){ $sql="DELETE FROM j_scol_classes WHERE login='******';"; $nettoyage=mysqli_query($GLOBALS["mysqli"], $sql); } } // On effectue les opérations LDAP if (isset($create_ldap_user) && $create_ldap_user) { $ldap_server = new LDAPServer; if ($ldap_server->test_user($user_login)) { // L'utilisateur a été trouvé dans l'annuaire. On ne l'enregistre pas. $write_ldap_success = true; $msg.= "L'utilisateur n'a pas pu être ajouté à l'annuaire LDAP, car il y est déjà présent.<br/>"; } else { $write_ldap_success = $ldap_server->add_user($user_login, $_POST['reg_nom'], $_POST['reg_prenom'], $_POST['reg_email'], $_POST['reg_civilite'], md5(rand()), $_POST['reg_statut']); // On transfert le mot de passe à la main $ldap_server->set_manual_password($user_login, "{MD5}".base64_encode(pack("H*",$oldmd5password))); } } if (isset($delete_ldap_user) && $delete_ldap_user) { $ldap_server = new LDAPServer; if (!$ldap_server->test_user($user_login)) { // L'utilisateur n'a pas été trouvé dans l'annuaire. $write_ldap_success = true; } else { $write_ldap_success = $ldap_server->delete_user($user_login); } }
// qu'il va falloir réinitialiser les mots de passe $pass_init_required = true; // Et si accès en écriture au LDAP, on supprime le compte. if ($ldap_write_access) { $delete_ldap_user = true; } } // On effectue les opérations LDAP if (isset($create_ldap_user) && $create_ldap_user) { if (!$ldap_server->test_user($current_eleve->login)) { $eleve = mysqli_fetch_object(mysqli_query($GLOBALS["mysqli"], "SELECT distinct(e.login), e.nom, e.prenom, e.sexe, e.email " . "FROM eleves e WHERE (" . "e.login = '******')")); $reg_civilite = $eleve->sexe == "M" ? "M." : "Mlle"; $write_ldap_success = $ldap_server->add_user($eleve->login, $eleve->nom, $eleve->prenom, $eleve->email, $reg_civilite, md5(rand()), "eleve"); // On transfert le mot de passe à la main $ldap_server->set_manual_password($current_eleve->login, "{MD5}".base64_encode(pack("H*",$oldmd5password))); } } if (isset($delete_ldap_user) && $delete_ldap_user) { if (!$ldap_server->test_user($current_eleve->login)) { // L'utilisateur n'a pas été trouvé dans l'annuaire. $write_ldap_success = true; } else { $write_ldap_success = $ldap_server->delete_user($current_eleve->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'])) { // L'utilisateur a été trouvé dans l'annuaire. On ne l'enregistre pas. $write_ldap_success = true; $msg.= "L'utilisateur n'a pas pu être ajouté à l'annuaire LDAP, car il y est déjà présent. Il va néanmoins être créé dans la base Gepi."; } else { $write_ldap_success = $ldap_server->add_user($reg_login, $current_parent->nom, $current_parent->prenom, $current_parent->mel, $current_parent->civilite, '', 'responsable'); } } else { $write_ldap = false; } if (!$write_ldap || ($write_ldap && $write_ldap_success)) { $reg = true; if ($_POST['reg_auth_mode'] == "auth_locale") { $reg_auth = "gepi"; } elseif ($_POST['reg_auth_mode'] == "auth_ldap") { $reg_auth = "ldap"; } elseif ($_POST['reg_auth_mode'] == "auth_sso") { $reg_auth = "sso"; } $sql="INSERT INTO utilisateurs SET " .