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(); } check_token(); /* if($_SESSION['statut']!='administrateur') { header("Location: ../logout.php?auto=1"); die(); } */ //=========================================== //**************** 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 ***************** include("init_xml_lib.php"); ?>

Retour Retour accueil initialisation

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 !

"; 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 !

"; require("../lib/footer.inc.php"); die(); } else { //$test3 = old_mysql_result(mysql_query("SELECT count(*) FROM temp_gep_import WHERE LOGIN !=''"),0); $test3 = old_mysql_result(mysqli_query($GLOBALS["mysqli"], "SELECT count(*) FROM temp_gep_import2 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 ELEVES.CSV

"; 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 ElevesSansAdresses.xml

"; require("../lib/footer.inc.php"); die(); } } } if(!isset($_GET['confirmer'])) { $sql="SELECT 1=1 FROM matieres_notes;"; $test1=mysqli_query($GLOBALS["mysqli"], $sql); $sql="SELECT 1=1 FROM matieres_appreciations;"; $test2=mysqli_query($GLOBALS["mysqli"], $sql); $sql="SELECT 1=1 FROM cn_cahier_notes ccn, cn_conteneurs cc, cn_devoirs cd, cn_notes_devoirs cnd WHERE ccn.id_cahier_notes=cc.id_racine AND cc.id=cd.id_conteneur AND cd.id=cnd.id_devoir;"; $test3=mysqli_query($GLOBALS["mysqli"], $sql); if((mysqli_num_rows($test1)!=0)||(mysqli_num_rows($test2)!=0)||(mysqli_num_rows($test3)!=0)) { echo "

ATTENTION : Il existe des notes de devoirs, des notes sur les bulletins ou des appréciations sur les bulletins.

\n"; echo "

En poursuivant ici, vous risquez de suprimer ces informations pour certains élèves (plus pécisemment, vous risquez de désinscrire des élèves de groupes dans lesquels ils ont des notes ou appréciations).

\n"; echo "

La présente page n'est normalement consultée qu'en début d'année pour l'initialisation de l'année.

\n"; echo "

Etes-vous sûr de vouloir poursuivre ?

\n"; echo "

Confirmer malgré tout la prise en compte des options de la table 'temp_gep_import2'

\n"; require("../lib/footer.inc.php"); die(); } } $sql="SELECT id, classe FROM classes;"; //echo "$sql
\n"; $appel_donnees_classes = mysqli_query($GLOBALS["mysqli"], $sql); $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(); $sql="SELECT count(*) FROM periodes WHERE id_classe = '" . $id_classe . "';"; //echo "$sql
\n"; $nb_per = old_mysql_result(mysqli_query($GLOBALS["mysqli"], $sql), 0); $nb_options = 0; $i = 1; $tempo = null; while ($i < 13) { $tempo .= "ELEOPT".$i.", "; $i++; } $tempo = mb_substr($tempo, 0, -2); //$call_data = mysql_query("SELECT $tempo FROM temp_gep_import WHERE DIVCOD = '$classe'"); $sql="SELECT $tempo FROM temp_gep_import2 WHERE DIVCOD = '$classe'"; //echo "$sql
\n"; $call_data = mysqli_query($GLOBALS["mysqli"], $sql); $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++; } } if($debug_import=="y") { //echo "
Tableau des options en classe de $classe : \$tab_options=$tab_options
\n"; echo "
Tableau des options en classe de $classe : \$tab_options
\n"; echo print_r($tab_options)."
\n"; echo "
\n"; } $sql="SELECT e.login FROM eleves e, j_eleves_classes j WHERE (e.login = j.login and j.id_classe = '$id_classe');"; //echo "$sql
\n"; $appel_donnees_eleves = mysqli_query($GLOBALS["mysqli"], $sql); while($i = mysqli_fetch_object($appel_donnees_eleves)) { $current_eleve_login = $i->login; //$call_data = mysql_query("SELECT ELEOPT1,ELEOPT2,ELEOPT3,ELEOPT4,ELEOPT5,ELEOPT6,ELEOPT7,ELEOPT8,ELEOPT9,ELEOPT10,ELEOPT11,ELEOPT12 FROM temp_gep_import WHERE LOGIN = '$current_eleve_login'"); $sql="SELECT ELEOPT1,ELEOPT2,ELEOPT3,ELEOPT4,ELEOPT5,ELEOPT6,ELEOPT7,ELEOPT8,ELEOPT9,ELEOPT10,ELEOPT11,ELEOPT12 FROM temp_gep_import2 WHERE LOGIN = '$current_eleve_login';"; if($debug_import=="y") {echo "

$sql
\n";} $call_data = mysqli_query($GLOBALS["mysqli"], $sql); 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($debug_import=="y") { echo "$current_eleve_login suit l'option \$tab_options[$j]=$tab_options[$j]
"; } } else { if($debug_import=="y") { echo "$current_eleve_login ne suit pas l'option \$tab_options[$j]=$tab_options[$j]
"; } } 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(mysql_query("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 = mysql_query("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]; } */ $sql="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 . "')"; if($debug_import=="y") {echo "$sql
\n";} $res_grp=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res_grp)>0) { while($lig_grp=mysqli_fetch_object($res_grp)) { $sql="DELETE FROM j_eleves_groupes WHERE (id_groupe = '" . $lig_grp->id . "' and login='". $current_eleve_login . "');"; if($debug_import=="y") {echo "$sql
\n";} $reg = mysqli_query($GLOBALS["mysqli"], $sql); } } else { $no_group[] = $tab_options[$j]; } } } $j++; } } } } if((isset($_SESSION['init_xml_groupes']))&&($_SESSION['init_xml_groupes']=="xml_edt")) { echo "

L'importation des options suivies par les élèves dans la base GEPI a été effectuée avec succès !
Ce traitement a été effectué d'après les options saisies pour les élèves dans Sconet/Siècle.
Il arrive fréquemment que les appartenances de tel élève à tel groupe ne soit pas renseigné.
Pour affiner davantage, vous pouvez effectuer une mise à jour des inscriptions dans les groupes d'après un fichier export XML d'IndexEducation (EXP_ELEVE.xml).
Mettre à jour (dans un nouvel onglet) les inscriptions des élèves dans les groupes d'après un EXP_ELEVE.xml
Si vous préférez remettre à plus tard ce traitement, vous pourrez le lancer depuis la page Gestion des bases/Gestion des classes/Màj inscriptions élèves d'après EDT dans la liste des liens sous le bandeau 'entête.
(vous pourrez d'ailleurs le lancer plusieurs fois dans l'année au gré des modifications d'inscriptions des élèves dans les groupes d'EDT IndexEducation).

\n"; echo "

Vous pouvez procéder à l'étape suivante d'import des professeurs principaux.

\n"; } else { 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 d'import des professeurs principaux.

\n"; } echo "

Import des professeurs principaux

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