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();
}
include("../lib/initialisation_annee.inc.php");
$liste_tables_del = $liste_tables_del_etape_eleves;
//**************** EN-TETE *****************
$titre_page = "Outil d'initialisation de l'année : Importation des élèves";
require_once("../lib/header.inc.php");
//**************** FIN EN-TETE *****************
?>
Retour
Erreur lors de l'enregistrement de la classe $classe."; // On enregistre les périodes pour cette classe // On teste d'abord : $id_classe = old_mysql_result(mysqli_query($GLOBALS["mysqli"], "select id from classes where classe='$classe'"),0,'id'); $test = old_mysql_result(mysqli_query($GLOBALS["mysqli"], "SELECT count(*) FROM periodes WHERE (id_classe='$id_classe')"),0); if ($test == "0") { $j = '0'; while ($j < $_POST['reg_periodes_num'][$classe]) { $num = $j+1; $nom_per = "Période ".$num; if ($num == "1") { $ver = "N"; } else { $ver = 'O'; } $register = mysqli_query($GLOBALS["mysqli"], "INSERT INTO periodes SET num_periode='$num',nom_periode='$nom_per',verouiller='$ver',id_classe='$id_classe'"); if (!$register) echo "
Erreur lors de l'enregistrement d'une période pour la classe $classe"; $j++; } } else { // on "démarque" les périodes des classes qui ne sont pas à supprimer $sql = mysqli_query($GLOBALS["mysqli"], "UPDATE periodes SET verouiller='N' where (id_classe='$id_classe' and num_periode='1')"); $sql = mysqli_query($GLOBALS["mysqli"], "UPDATE periodes SET verouiller='O' where (id_classe='$id_classe' and num_periode!='1')"); // $nb_per = mysqli_num_rows(mysqli_query($GLOBALS["mysqli"], "select num_periode from periodes where id_classe='$id_classe'")); if ($nb_per > $_POST['reg_periodes_num'][$classe]) { // Le nombre de périodes de la classe est inférieur au nombre enregistré // On efface les périodes en trop $k = 0; for ($k=$_POST['reg_periodes_num'][$classe]+1; $k<$nb_per+1; $k++) { $del = mysqli_query($GLOBALS["mysqli"], "delete from periodes where (id_classe='$id_classe' and num_periode='$k')"); } } if ($nb_per < $_POST['reg_periodes_num'][$classe]) { // Le nombre de périodes de la classe est supérieur au nombre enregistré // On enregistre les périodes $k = 0; $num = $nb_per; for ($k=$nb_per+1 ; $k < $_POST['reg_periodes_num'][$classe]+1; $k++) { $num++; $nom_per = "Période ".$num; if ($num == "1") { $ver = "N"; } else { $ver = 'O'; } $register = mysqli_query($GLOBALS["mysqli"], "INSERT INTO periodes SET num_periode='$num',nom_periode='$nom_per',verouiller='$ver',id_classe='$id_classe'"); if (!$register) echo "
Erreur lors de l'enregistrement d'une période pour la classe $classe";
}
}
}
}
$sql="update periodes set date_verrouillage='0000-00-00 00:00:00';";
$res=mysqli_query($GLOBALS["mysqli"], $sql);
if($res) {
echo "Réinitialisation des dates de verrouillage de périodes effectuée.
";
}
else {
echo "Erreur lors de la réinitialisation des dates de verrouillage de périodes.
";
}
// On efface les classes qui ne sont pas réutilisées cette année ainsi que les entrées correspondantes dans les groupes
$sql = mysqli_query($GLOBALS["mysqli"], "select distinct id_classe from periodes where verouiller='T'");
$k = 0;
while ($k < mysqli_num_rows($sql)) {
$id_classe = old_mysql_result($sql, $k);
$res1 = mysqli_query($GLOBALS["mysqli"], "delete from classes where id='".$id_classe."'");
$res3 = mysqli_query($GLOBALS["mysqli"], "delete from d_dates_evenements_classes where id_classe='".$id_classe."'");
// On supprime les groupes qui étaient liées à la classe
$get_groupes = mysqli_query($GLOBALS["mysqli"], "SELECT id_groupe FROM j_groupes_classes WHERE id_classe = '" . $id_classe . "'");
for ($l=0;$l<$nb_groupes;$l++) {
$id_groupe = old_mysql_result($get_groupes, $l, "id_groupe");
$delete2 = mysqli_query($GLOBALS["mysqli"], "delete from j_groupes_classes WHERE id_groupe = '" . $id_groupe . "'");
// On regarde si le groupe est toujours lié à une autre classe ou pas
$check = old_mysql_result(mysqli_query($GLOBALS["mysqli"], "SELECT count(*) FROM j_groupes_classes WHERE id_groupe = '" . $id_groupe . "'"), 0);
if ($check == "0") {
$delete1 = mysqli_query($GLOBALS["mysqli"], "delete from groupes WHERE id = '" . $id_groupe . "'");
$delete2 = mysqli_query($GLOBALS["mysqli"], "delete from j_groupes_matieres WHERE id_groupe = '" . $id_groupe . "'");
$delete2 = mysqli_query($GLOBALS["mysqli"], "delete from j_groupes_professeurs WHERE id_groupe = '" . $id_groupe . "'");
}
}
$k++;
}
$res = mysqli_query($GLOBALS["mysqli"], "delete from periodes where verouiller='T'");
echo "
Vous venez d'effectuer l'enregistrement des données concernant les classes. S'il n'y a pas eu d'erreurs, vous pouvez aller à l'étape suivante pour enregistrer les données concernant les élèves."; echo "
";
//print_r($pp);
//echo "";
$sr = ldap_search($ldap_server->ds,$ldap_server->base_dn,"(&(uid=*)(objectClass=Eleves))");
$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 = '" . $info[$i]["uid"][0] . "')"), 0);
if ($check > 0) {
$del = mysqli_query($GLOBALS["mysqli"], "DELETE from j_eleves_professeurs WHERE login = '" . $info[$i]["uid"][0] . "'");
}
if (array_key_exists($id_classe, $pp)) {
//echo "Debug : $pp[$id_classe]Opération effectuée.
"; echo "Vous pouvez vérifier l'importation en allant sur la page de gestion des eleves.
"; echo "L'opération d'importation des élèves depuis le LDAP de Scribe va effectuer les opérations suivantes :
"; echo "