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(); } // Page bourrinée... la gestion du token n'est pas faite... et ne sera faite que si quelqu'un utilise encore ce mode d'initialisation et le manifeste sur la liste de diffusion gepi-users check_token(); //**************** EN-TETE ***************** $titre_page = "Outil d'initialisation de l'année | Initialisation des options par GEP"; require_once("../lib/header.inc.php"); //**************** FIN EN-TETE ***************** // On vérifie si l'extension d_base est active verif_active_dbase(); echo "

Cinquième phase d'initialisation
Affectation des matières à chaque professeur,
Affectation des professeurs dans chaque classe,
Importation des options suivies par les élèves

"; echo "

Deuxième étape : importation des options suivies par les élèves.

"; $test1 = old_mysql_result(mysqli_query($GLOBALS["mysqli"], "SELECT count(*) FROM eleves"),0); if ($test1 ==0) { echo "

Aucun élève actuellement dans la base : la procédure d'initialisation des options ne peut continuer !

"; echo "


\n"; require("../lib/footer.inc.php"); die(); } else { $test2 = old_mysql_result(mysqli_query($GLOBALS["mysqli"], "SELECT count(*) FROM j_eleves_classes"),0); if ($test2 ==0) { echo "

Les classes n'ont pas encore été constituées : la procédure d'initialisation des options ne peut continuer !

"; echo "


\n"; require("../lib/footer.inc.php"); die(); } else { $test3 = old_mysql_result(mysqli_query($GLOBALS["mysqli"], "SELECT count(*) FROM temp_gep_import WHERE LOGIN !=''"),0); if ($test3 ==0) { echo "

Afin de procéder à la phase de définition des options suivies par les élèves, vous devez d'abord effectuer la première phase d'importation des élèves à partir du fichier F_ELE.DBF

"; echo "


\n"; require("../lib/footer.inc.php"); die(); } } } //$del = @mysql_query("delete from j_eleves_groupes"); $appel_donnees_classes = mysqli_query($GLOBALS["mysqli"], "SELECT id, classe FROM classes"); $nb_classe = mysqli_num_rows($appel_donnees_classes); $z=0; while ($classe_row = mysqli_fetch_object($appel_donnees_classes)) { $id_classe = $classe_row->id; $classe = $classe_row->classe; // Initialisation de la variable pour indiquer qu'un groupe n'existe pas pour la matière indiquée en option $no_group = array(); $nb_per = old_mysql_result(mysqli_query($GLOBALS["mysqli"], "SELECT count(*) FROM periodes WHERE id_classe = '" . $id_classe . "'"), 0); $nb_options = 0; $i = 1; $tempo = null; while ($i < 13) { $tempo .= "ELEOPT".$i.", "; $i++; } $tempo = mb_substr($tempo, 0, -2); $call_data = mysqli_query($GLOBALS["mysqli"], "SELECT $tempo FROM temp_gep_import WHERE DIVCOD = '$classe'"); $tab_options = array(); while ($row = mysqli_fetch_object($call_data)) { $i = 1; while ($i < 13) { $tempo = "ELEOPT".$i; $temp = $row->$tempo; if ($temp!='') { // On s'assure de ne pas ranger dans le tableau tab_options, plusieurs fois la même option $n = 0; $double = 'no'; if (in_array($temp, $tab_options)) {$double = 'yes';} if ($double == 'no') { $tab_options[$nb_options] = $temp; $nb_options++; } } $i++; } } $appel_donnees_eleves = mysqli_query($GLOBALS["mysqli"], "SELECT e.login FROM eleves e, j_eleves_classes j WHERE (e.login = j.login and j.id_classe = '$id_classe')"); while($i = mysqli_fetch_object($appel_donnees_eleves)) { $current_eleve_login = $i->login; $call_data = mysqli_query($GLOBALS["mysqli"], "SELECT ELEOPT1,ELEOPT2,ELEOPT3,ELEOPT4,ELEOPT5,ELEOPT6,ELEOPT7,ELEOPT8,ELEOPT9,ELEOPT10,ELEOPT11,ELEOPT12 FROM temp_gep_import WHERE LOGIN = '$current_eleve_login'"); while ($row = mysqli_fetch_array($call_data, MYSQLI_NUM)) { $j="0"; while ($j < $nb_options) { $suit_option = 'no'; if (in_array($tab_options[$j], $row)) { $suit_option = 'yes'; } if ($suit_option == 'no') { // On commence par récupérer l'ID du groupe concerné if (!in_array($tab_options[$j], $no_group)) { $group_id = @old_mysql_result(mysqli_query($GLOBALS["mysqli"], "SELECT g.id FROM groupes g, j_groupes_classes jgc, j_groupes_matieres jgm where (" . "g.id = jgm.id_groupe and " . "jgm.id_matiere = '" . $tab_options[$j] . "' and " . "jgm.id_groupe = jgc.id_groupe and " . "jgc.id_classe = '" . $id_classe . "')"), 0); if (is_numeric($group_id)) { $reg = mysqli_query($GLOBALS["mysqli"], "DELETE FROM j_eleves_groupes WHERE (id_groupe = '" . $group_id . "' and login='". $current_eleve_login . "')"); // DEBUG :: echo "
DELETED FROM GROUPE : " . $group_id; } else { $no_group[] = $tab_options[$j]; } } } $j++; } } } } echo "

L'importation des options suivies par les élèves dans la base GEPI a été effectuée avec succès !
Vous pouvez procéder à l'étape suivante de nettoyage des tables GEPI.

"; echo "

Suppression des données inutiles

"; echo "


\n"; require("../lib/footer.inc.php"); ?>