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(); } $sql="SELECT 1=1 FROM droits WHERE id='/groupes/menage_eleves_groupes.php';"; $test=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($test)==0) { $sql="INSERT INTO droits SET id='/groupes/menage_eleves_groupes.php', administrateur='V', professeur='F', cpe='F', scolarite='F', eleve='F', responsable='F', secours='F', autre='F', description='Groupes: Desinscription des eleves sans notes ni appreciations', statut='';"; $insert=mysqli_query($GLOBALS["mysqli"], $sql); } if (!checkAccess()) { header("Location: ../logout.php?auto=1"); die(); } // Initialisation des variables $id_classe = isset($_GET['id_classe']) ? $_GET['id_classe'] : (isset($_POST['id_classe']) ? $_POST["id_classe"] : NULL); $num_periode = isset($_GET['num_periode']) ? $_GET['num_periode'] : (isset($_POST['num_periode']) ? $_POST["num_periode"] : NULL); if((isset($id_classe))&&(isset($num_periode))&&(isset($_GET['confirmation_menage']))&&($_GET['confirmation_menage']=='y')) { check_token(); $nb_desinscriptions=0; $nb_erreurs_desinscriptions=0; if((preg_match("/^[0-9]*$/",$id_classe))&&(preg_match("/^[0-9]*$/",$num_periode))) { $sql="SELECT 1=1 FROM periodes WHERE id_classe='$id_classe' AND num_periode='$num_periode';"; $test=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($test)==1) { //$groups=get_groups_for_class($id_classe,"","n"); //foreach($groups as $current_group) { $sql="select g.id from groupes g, j_groupes_classes j where (g.id = j.id_groupe and j.id_classe='".$id_classe."') ORDER BY j.priorite, g.name"; $query=mysqli_query($GLOBALS["mysqli"], $sql); while($lig_group=mysqli_fetch_object($query)) { $current_group=get_group($lig_group->id); foreach($current_group["eleves"][$num_periode]["users"] as $tab_ele) { // Pour ne traiter que les élèves de la classe courante: $sql="SELECT 1=1 FROM j_eleves_classes WHERE login='".$tab_ele['login']."' AND periode='$num_periode' AND id_classe='$id_classe';"; $test=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($test)>0) { if (test_before_eleve_removal($tab_ele['login'], $current_group['id'], $num_periode)) { $sql="DELETE FROM j_eleves_groupes WHERE id_groupe='".$current_group['id']."' AND login='".$tab_ele['login']."' AND periode='".$num_periode."';"; //echo "$sql
\n"; $resultat_nettoyage=mysqli_query($GLOBALS["mysqli"], $sql); if($resultat_nettoyage) { $nb_desinscriptions++; } else { $nb_erreurs_desinscriptions++; } } } } } } } if($nb_desinscriptions==0) { $msg="Aucune désinscription n'a été effectuée."; } elseif($nb_desinscriptions==0) { $msg="Une désinscription a été effectuée."; } else { $msg="$nb_desinscriptions désinscriptions ont été effectuées."; } if($nb_erreurs_desinscriptions>0) { $msg.="
$nb_erreurs_desinscriptions erreur(s) a(ont) eu lieu lors de la désinscription d'élèves."; } } // ================================= $chaine_options_classes=""; $sql="SELECT id, classe FROM classes ORDER BY classe"; $res_class_tmp=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res_class_tmp)>0){ $id_class_prec=0; $id_class_suiv=0; $temoin_tmp=0; $cpt_classe=0; $num_classe=-1; if(!isset($id_classe)) { // On choisit la première classe de la liste $lig_class_tmp=mysqli_fetch_object($res_class_tmp); $id_classe=$lig_class_tmp->id; // On relance la requête pour récupérer le suivant et la chaine des classes $sql="SELECT id, classe FROM classes ORDER BY classe"; $res_class_tmp=mysqli_query($GLOBALS["mysqli"], $sql); } while($lig_class_tmp=mysqli_fetch_object($res_class_tmp)){ if($lig_class_tmp->id==$id_classe){ // Index de la classe dans les \n"; $temoin_tmp=1; if($lig_class_tmp=mysqli_fetch_object($res_class_tmp)){ $chaine_options_classes.="\n"; $id_class_suiv=$lig_class_tmp->id; } else{ $id_class_suiv=0; } } else { $chaine_options_classes.="\n"; } if($temoin_tmp==0){ $id_class_prec=$lig_class_tmp->id; } $cpt_classe++; } } // ================================= $themessage = 'Des informations ont été modifiées. Voulez-vous vraiment quitter sans enregistrer ?'; //**************** EN-TETE ************************************** $titre_page = "Gestion des groupes: Ménage"; require_once("../lib/header.inc.php"); //**************** FIN EN-TETE ********************************** //debug_var(); echo "\n"; /* if(!isset($id_classe)) { // Tableau de choix de la classe require("../lib/footer.inc.php"); die(); } */ echo "
\n"; echo "

\n"; echo "Retour Retour\n"; $chaine_optionnelle=""; if(isset($num_periode)) { $chaine_optionnelle="&num_periode=$num_periode"; echo "\n"; } // Choisir une autre classe //echo " | Faire le ménage pour une autre classe"; if($id_class_prec!=0){ echo " | Classe précédente"; } if($chaine_options_classes!="") { echo "\n"; echo " | \n"; } if($id_class_suiv!=0){ echo " | Classe suivante"; } echo "

\n"; echo "
\n"; $classe=get_class_from_id($id_classe); echo "

Cette page est destinée à désinscrire des groupes/enseignements de la classe de ".$classe." pour une période donnée, tous les élèves qui n'ont ni note ni appréciation sur le bulletin.

\n"; if(!isset($num_periode)) { echo "

Pour quelle période souhaitez-vous effectuer le ménage dans la classe de ".$classe."?

\n"; $sql="SELECT * FROM periodes WHERE id_classe='$id_classe' ORDER BY num_periode;"; $res_per=mysqli_query($GLOBALS["mysqli"], $sql); while($lig_per=mysqli_fetch_object($res_per)) { echo "num_periode'>$lig_per->nom_periode
\n"; } require("../lib/footer.inc.php"); die(); } if((isset($_GET['confirmation_menage']))&&($_GET['confirmation_menage']=='y')) { echo "

Voici les groupes après validation des désinscriptions.

\n"; } else { echo "

Contrôle des désinscriptions à effectuer en $classe en période $num_periode."; echo "
\n"; echo "En vert la liste des élèves à conserver dans l'enseignement et en rouge ceux qui seront désinscrits de l'enseignement si vous validez.

\n"; } //$groups=get_groups_for_class($id_classe,"","n"); //foreach($groups as $current_group) { //$sql="select g.id from groupes g, j_groupes_classes j where (g.id = j.id_groupe and j.id_classe='".$id_classe."') ORDER BY j.priorite, g.name"; $sql="select g.id FROM groupes g, j_groupes_classes jgc, j_groupes_matieres jgm WHERE ( jgc.id_classe='".$id_classe."' AND jgm.id_groupe=jgc.id_groupe AND jgc.id_groupe=g.id ) ORDER BY jgc.priorite,jgm.id_matiere, g.name;"; $query=mysqli_query($GLOBALS["mysqli"], $sql); while($lig_group=mysqli_fetch_object($query)) { $current_group=get_group($lig_group->id); echo "

Liste des élèves en ".htmlspecialchars($current_group["name"])." - ".htmlspecialchars($current_group["description"])." (".$current_group["classlist_string"].")
\n"; /* echo "

";
	print_r($current_group);
	echo "
"; */ $cpt=0; foreach($current_group["eleves"][$num_periode]["users"] as $tab_ele) { // Pour ne traiter que les élèves de la classe courante: $sql="SELECT 1=1 FROM j_eleves_classes WHERE login='".$tab_ele['login']."' AND periode='$num_periode' AND id_classe='$id_classe';"; $test=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($test)>0) { if($cpt>0) {echo ", ";} if (test_before_eleve_removal($tab_ele['login'], $current_group['id'], $num_periode)) { echo ""; } else { echo ""; } echo $tab_ele['nom']." ".$tab_ele['prenom']; echo "\n"; $cpt++; } } echo "

\n"; } if((!isset($_GET['confirmation_menage']))||($_GET['confirmation_menage']=='n')) { echo "

Confirmer les désinscriptions.

\n"; } echo "


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