security_check(); if ($resultat_session == 'c') { header("Location: ../utilisateurs/mon_compte.php?change_mdp=yes"); die(); } else if ($resultat_session == '0') { header("Location: ../logout.php?auto=1"); die(); } if (!checkAccess()) { header("Location: ../logout.php?auto=1"); die(); } /* // Sécurité supplémentaire pour éviter d'aller voir ce fichier si on n'est pas dans un ent // ERREUR : Le use_ent est lié à la recherche des logins dans la table ldap_bx lors de l'initialisation if (getSettingValue("use_ent") != 'y') { die('Fichier interdit.'); } */ $afficher_liaison_ent=getSettingValue('afficher_liaison_ent'); if($afficher_liaison_ent=="") { //if((preg_match("/^027/", getSettingValue('gepiSchoolRne')))||(preg_match("/^076/", getSettingValue('gepiSchoolRne')))) { header("Location:./.gestion/options_connect.php#liaison_ent"); die(); //} } else { // On tient compte du paramétrage if($afficher_liaison_ent=="netcollege") { header("Location:./index_itop.php"); die(); } elseif($afficher_liaison_ent=="lea") { header("Location:./index_lea.php"); die(); } } if (getSettingValue("use_ent") != 'y') { die('Fichier interdit.'); } // Ici on poursuit avec ldap_bx // ======================= Initialisation des variables ========================== //$ = isset($_POST[""]) ? $_POST[""] : NULL; $aff_continuer = NULL; $msg2 = NULL; $etape = isset($_GET["etape"]) ? $_GET["etape"] : NULL; // ======================= Traitement des données ================================ // On récupère le RNE de l'établissement en question $RNE = (isset($multisite) && $multisite == 'y') ? $_COOKIE['RNE'] : getSettingValue("gepiSchoolRne"); if ($RNE === '') { $msg = "Attention, votre RNE n'est pas renseigné dans la page des paramètres généraux."; } else { $msg = "
Votre RNE est ".$RNE.". S'il est exact, vous pouvez passer à l'étape suivante.
Enregistrer les utilisateurs";
}
// On teste pour la table
if ($etape == 2) {
check_token();
$msg = NULL;
// On crée la table si nécessaire
$result = " ->Ajout de la table ldap_bx.
";
$test1 = mysqli_num_rows(mysqli_query($GLOBALS["mysqli"], "SHOW TABLES LIKE 'ldap_bx'"));
if ($test1 == 0) {
$sql = "CREATE TABLE `ldap_bx` (
`id` INT( 11 ) NOT NULL AUTO_INCREMENT ,
`login_u` VARCHAR( 200 ) NOT NULL ,
`nom_u` VARCHAR( 200 ) NOT NULL ,
`prenom_u` VARCHAR( 200 ) NOT NULL ,
`statut_u` VARCHAR( 50 ) NOT NULL ,
`identite_u` VARCHAR( 50 ) NOT NULL ,
PRIMARY KEY ( `id` )
) ENGINE=MyISAM CHARACTER SET utf8 COLLATE utf8_general_ci;";
$query = mysqli_query($GLOBALS["mysqli"], $sql);
if ($query) {
$msg = "Ok !
";
} else {
$msg = "Erreur
";
}
}else{
$msg = "La table existe déjà.
";
}
// On truncate la table
$tr = mysqli_query($GLOBALS["mysqli"], "TRUNCATE TABLE ldap_bx");
// On ouvre une connexion avec le ldap
$ldap = new LDAPServer;
$info = $ldap->get_all_users('rne', $RNE);
// $infos est donc un tableau de tous les utilisateurs du LDAP qui ont ce $RNE en attribut (sic)
for($a=0; $a < $info["count"]; $a++){
if (file_exists("../secure/config_ldap.inc.php")) {
require("../secure/config_ldap.inc.php");
}
$ldap_login = (isset($ldap_champ_login) AND $ldap_champ_login != '') ? $ldap_champ_login : 'uid';
$ldap_nom = (isset($ldap_champ_nom) AND $ldap_champ_nom != '') ? $ldap_champ_nom : 'sn';
$ldap_prenom = (isset($ldap_champ_prenom) AND $ldap_champ_prenom != '') ? $ldap_champ_prenom : 'givenname';
$ldap_statut = (isset($ldap_champ_statut) AND $ldap_champ_statut != '') ? $ldap_champ_statut : 'edupersonaffiliation';
$ldap_numero = (isset($ldap_champ_numero) AND $ldap_champ_numero != '') ? $ldap_champ_numero : 'employeenumber';
if (isset($info[$a][$ldap_numero][0])) {
$ident = $info[$a][$ldap_numero][0];
}else{
$ident = 'non';
}
$sql = "INSERT INTO ldap_bx (id, login_u, nom_u, prenom_u, statut_u, identite_u)
VALUES ('',
'".$info[$a][$ldap_login][0]."',
'".mysqli_real_escape_string($GLOBALS["mysqli"], $info[$a][$ldap_nom][0])."',
'".mysqli_real_escape_string($GLOBALS["mysqli"], $info[$a][$ldap_prenom][0])."',
'".$info[$a][$ldap_statut][0]."',
'".$ident."')";
$query = mysqli_query($GLOBALS["mysqli"], $sql);
if ($query) {
$msg2 .= '
L\'utilisateur '.$info[$a][$ldap_login][0].' a été enregistré.';
}else{
$msg2 .= '
L\'utilisateur '.$info[$a][$ldap_login][0].' n\'a pas été enregistré.';
}
}
$aff_continuer = '
Vous pouvez retourner sur la page d\'initialisation par sconet/STSweb CONTINUER
Ajouter de nouveaux utilisateurs arrivés en cours d\'année
'; } // =========== fichiers spéciaux ========== $style_specifique = "edt_organisation/style_edt"; //**************** EN-TETE ***************** $titre_page = "Les utilisateurs de l'ENT"; require_once("../lib/header.inc.php"); //**************** FIN EN-TETE ***************** //debug_var(); // à enlever en production ?>