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
if (getSettingValue("use_ent") != 'y') {
DIE('Fichier interdit.');
}
// ======================= Initialisation des variables ======================= //
$aff_liste_eleves = NULL;
$requete_c = NULL;
$msg = NULL;
$enregistrer = isset($_POST['enregistrer']) ? $_POST['enregistrer'] : NULL;
$maj = isset($_POST['maj']) ? $_POST['maj'] : NULL;
$_nom = isset($_POST['nom']) ? $_POST['nom'] : NULL;
$_prenom = isset($_POST['prenom']) ? $_POST['prenom'] : NULL;
$_sexe = isset($_POST['sexe']) ? $_POST['sexe'] : NULL;
$_naissance = isset($_POST['naissance']) ? $_POST['naissance'] : NULL;
$_regime = isset($_POST['regime']) ? $_POST['regime'] : NULL;
$_elenoet = isset($_POST['elenoet']) ? $_POST['elenoet'] : NULL;
$_national = isset($_POST['national']) ? $_POST['national'] : NULL;
// ======================= code métier ======================================== //
// Si c'est demandé, on traite les nouveaux logins
if ($enregistrer == "Ajouter ces élèves") {
check_token();
/*
Pour info : d/p ext. int. pour demi-pensionnaire, externe et interne.
dans j_eleves_regime {login, doublant, regime} doublant = R sinon -
Dans eleves {no_gep, login, nom, prénom, sexe, naissance, elenoet} - sexe {F M} naissance {aaaa-mm-jj} et no_gep est le numéro national
*/
$nbre_a_traiter = count($_nom);
for($i = 0 ; $i < $nbre_a_traiter ; $i++){
if (isset($maj[$i])) {
// On peut alors ajouter cet élève à la base de Gepi
/*echo '
On ajoute ' . $_nom[$i] . ' ' . $_prenom[$i] . ' Régime ' . $_regime[$i] . '
(S : ' . $_sexe[$i] . ', N : ' . $_naissance[$i] . ', E : ' . $_elenoet[$i] . ', INE : ' . $_national[$i] . '.';*/
// Quelques vérifications de base
if(!is_numeric($_elenoet[$i]) OR mb_strlen($_elenoet[$i]) != 4){$_elenoet[$i] = '';}
if(!is_numeric($_national[$i])){$_national[$i] = '';}
$test_date = explode("-", $_naissance[$i]);
if(!is_numeric($test_date[0]) OR mb_strlen($_naissance[$i]) != 10 OR count($test_date) != 3 OR $test_date[1] >= 13){
$_naissance[$i] = '1990-01-02';
}
$sql_eleves = "INSERT INTO eleves SET no_gep = '" . $_national[$i] . "',
login = '" . $maj[$i] . "',
nom = '" . $_nom[$i] . "',
prenom = '" . $_prenom[$i] . "',
sexe = '" . $_sexe[$i] . "',
naissance = '" . $_naissance[$i] . "',
elenoet = '" . $_elenoet[$i] . "'";
$query_eleves = mysqli_query($GLOBALS["mysqli"], $sql_eleves) OR DIE('
Impossible d\'enregistrer cet élève
' . $sql_eleves . '
--> ' . mysqli_error($GLOBALS["mysqli"]));
if ($query_eleves) {
// Comme la première insertion a fonctionné, on ajoute la seconde
if($_regime[$i] == 'inc' OR $_regime[$i] == 'dp'){
$_regime[$i] = 'd/p';
}elseif($_regime[$i] == 'ext'){
$_regime[$i] = 'ext.';
}elseif($_regime[$i] == 'int'){
$_regime[$i] = 'int.';
}
$sql_reg = "INSERT INTO j_eleves_regime SET doublant = '-', regime = '" . $_regime[$i] . "', login = '".$maj[$i]."'";
$query_reg = mysqli_query($GLOBALS["mysqli"], $sql_reg);
if ($query_reg) {
$msg .= '
L\'élève ' . $_nom[$i] . ' ' . $_prenom[$i] . ' a bien été enregistré dans la base des élèves de GEPI.
'; }else{ $msg .= 'L\'élève ' . $_nom[$i] . ' ' . $_prenom[$i] . ' n\'a pas été enregistré dans la base des élèves de GEPI.
'; } }else{ $msg .= 'L\'élève ' . $_nom[$i] . ' ' . $_prenom[$i] . ' n\'a pas été enregistré dans la base des élèves de GEPI.
'; } } } } // On récupère la liste des élèves déjà inscrits dans la base $sql_all = "SELECT DISTINCT login FROM eleves"; $query_all = mysqli_query($GLOBALS["mysqli"], $sql_all); $tab_all = array(); while($rep_all = mysqli_fetch_array($query_all)){ $tab_all[] = $rep_all['login']; } // while // Puis la liste des élèves présents dans la table ldap_bx $sql_ent = "SELECT DISTINCT login_u FROM ldap_bx WHERE statut_u = 'student'"; $query_ent = mysqli_query($GLOBALS["mysqli"], $sql_ent); $tab_ent = array(); while($rep_ent = mysqli_fetch_array($query_ent)){ $tab_ent[] = $rep_ent['login_u']; } // while // Et enfin, on compare les deux tableaux et on garde les nouveaux logins $tab_new_eleves = array_diff($tab_ent, $tab_all); $test_new = count($tab_new_eleves); if ($test_new >= 1) { // Alors il y a au moins un nouvel élève dans le ldap foreach($tab_new_eleves as $rep){ $aff_liste_eleves .= $rep . 'RETOUR vers l'accueil - Ajouter un nouvel élève inscrit dans l'ENT
Avant de continuer, vous devez récupérer tous les utilisateurs actuellement dans l'ENT ICI.
Vous devez inscrire le numéro interne de l'élève (elenoet) présent dansSconet pour faire les mises à jour automatiques.
Une fois terminé, vous devez mettre ces élèves dans leur classe et vérifier leurs enseignements.