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(); $liste_tables_del = array( "classes", "eleves", "groupes", "responsables", "j_eleves_groupes", "j_groupes_classes", "j_groupes_professeurs", "j_groupes_matieres", "j_eleves_classes", "j_professeurs_matieres", "matieres", "periodes", "utilisateurs" ); //**************** EN-TETE ***************** $titre_page = "Outil d'initialisation de l'année : Nettoyage des tables"; require_once("../lib/header.inc.php"); //**************** FIN EN-TETE ***************** ?>

|Retour accueil initialisation|

Sixième phase d'initialisation
Nettoyage des tables

"; if (!isset($is_posted)) { echo "

ATTENTION ... : vous ne devez procéder à cette opération uniquement si toutes les données (élèves, classes, professeurs, disciplines, options) ont été définies !

"; echo "

Les données inutiles importées à partir des fichiers GEP lors des différentes phases d'initialisation seront effacées !

"; echo "
"; echo ""; echo "

"; echo "

"; } else { $j=0; $flag=0; while (($j < count($liste_tables_del)) and ($flag==0)) { if (old_mysql_result(mysqli_query($GLOBALS["mysqli"], "SELECT count(*) FROM $liste_tables_del[$j]"),0)==0) { $flag=1; } $j++; } if ($flag != 0){ echo "

ATTENTION ...
"; echo "L'initialisation des données de l'année n'est pas terminée, certaines données concernant les élèves, les classes, les groupes, les professeurs ou les matières sont manquantes. La procédure ne peut continuer !

"; echo "


\n"; require("../lib/footer.inc.php"); die(); } //Suppression des données inutiles dans la tables utilisateurs echo "

Vérification des données concernant les professeurs

"; $req = mysqli_query($GLOBALS["mysqli"], "select login from utilisateurs where (statut = 'professeur' and etat='actif')"); $sup = 'no'; $nb_prof = mysqli_num_rows($req); $i = 0; while ($i < $nb_prof) { $login_prof = old_mysql_result($req, $i, 'login'); $test = mysqli_query($GLOBALS["mysqli"], "select id_professeur from j_professeurs_matieres where id_professeur = '$login_prof'"); if (mysqli_num_rows($test)==0) { $del = @mysqli_query($GLOBALS["mysqli"], "delete from utilisateurs where login = '$login_prof'"); echo "Le professeur $login_prof a été supprimé de la base.
"; $sup = 'yes'; } else { $test = mysqli_query($GLOBALS["mysqli"], "select login from j_groupes_professeurs where login = '$login_prof'"); if (mysqli_num_rows($test)==0) { $del = @mysqli_query($GLOBALS["mysqli"], "delete from utilisateurs where login = '$login_prof'"); echo "Le professeur $login_prof a été supprimé de la base.
"; $sup = 'yes'; } } $i++; } if ($sup == 'no') { echo "

Aucun professeur n'a été supprimé !

"; } //Suppression des données inutiles dans la tables des matières echo "

Vérification des données concernant les matières

"; $req = mysqli_query($GLOBALS["mysqli"], "select matiere from matieres"); $sup = 'no'; $nb_mat = mysqli_num_rows($req); $i = 0; while ($i < $nb_mat) { $mat = old_mysql_result($req, $i, 'matiere'); $test1 = mysqli_query($GLOBALS["mysqli"], "select id_matiere from j_professeurs_matieres where id_matiere = '$mat'"); if (mysqli_num_rows($test1)==0) { $test2 = mysqli_query($GLOBALS["mysqli"], "select id_matiere from j_groupes_matieres where id_matiere = '$mat'"); if (mysqli_num_rows($test2)==0) { $del = @mysqli_query($GLOBALS["mysqli"], "delete from matieres where matiere = '$mat'"); echo "La matière $mat a été supprimée de la base.
"; $sup = 'yes'; } } $i++; } if ($sup == 'no') { echo "

Aucune matière n'a été supprimée !

"; } //Suppression des données inutiles dans la tables des responsables echo "

Vérification des données concernant les responsables des élèves

"; $req = mysqli_query($GLOBALS["mysqli"], "select ereno, nom1, prenom1 from responsables"); $sup = 'no'; $nb_resp = mysqli_num_rows($req); $i = 0; while ($i < $nb_resp) { $resp = old_mysql_result($req, $i, 'ereno'); $test1 = mysqli_query($GLOBALS["mysqli"], "select ereno from eleves where ereno = '$resp'"); if (mysqli_num_rows($test1)==0) { $nom_resp = old_mysql_result($req, $i, 'nom1'); $prenom_resp = old_mysql_result($req, $i, 'prenom1'); $del = @mysqli_query($GLOBALS["mysqli"], "delete from responsables where ereno = '$resp'"); echo "Le responsable ".$prenom_resp." ".$nom_resp." a été supprimé de la base.
"; $sup = 'yes'; } $i++; } if ($sup == 'no') { echo "

Aucun responsable n'a été supprimé !

"; } //Suppression des données inutiles dans la table j_eleves_etablissements echo "

Vérification des données concernant l'établissement d'origine des élèves

\n"; //SELECT e.* FROM eleves e LEFT JOIN j_eleves_etablissements jec ON jec.id_eleve=e.elenoet WHERE jec.id_eleve is NULL; //SELECT jec.* FROM j_eleves_etablissements jec LEFT JOIN eleves e ON jec.id_eleve=e.elenoet WHERE e.elenoet IS NULL; $sql="SELECT jec.* FROM j_eleves_etablissements jec LEFT JOIN eleves e ON jec.id_eleve=e.elenoet WHERE e.elenoet IS NULL;"; $res_jee=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res_jee)==0) { echo "

Aucune association élève/établissement n'a été supprimée.

\n"; } else { $cpt_suppr_jee=0; while($lig_jee=mysqli_fetch_object($res_jee)) { $sql="DELETE FROM j_eleves_etablissements WHERE id_eleve='".$lig_jee->id_eleve."' AND id_etablissement='".$lig_jee->id_etablissement."';"; $suppr=mysqli_query($GLOBALS["mysqli"], $sql); if($suppr) { $cpt_suppr_jee++; } } echo "

$cpt_suppr_jee association(s) élève/établissement a(ont) été supprimée(s).
(pour des élèves qui ne sont plus dans l'établissement).

\n"; } echo "


\n"; echo "

Fin de la procédure !

"; } echo "


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