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='/gestion/gerer_modalites_election_enseignements.php';"; $test=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($test)==0) { $sql="INSERT INTO droits SET id='/gestion/gerer_modalites_election_enseignements.php', administrateur='V', professeur='F', cpe='F', scolarite='V', eleve='F', responsable='F', secours='F', autre='F', description='Gérer les modalités d élection des enseignements.', statut='';"; $insert=mysqli_query($GLOBALS["mysqli"], $sql); } if (!checkAccess()) { header("Location: ../logout.php?auto=1"); die(); } //$is_posted=isset($_POST['is_posted']) ? $_POST['is_posted'] : NULL; //$etape=isset($_POST['etape']) ? $_POST['etape'] : (isset($_GET['etape']) ? $_GET['etape'] : NULL); $msg=""; if(isset($_GET['ad_retour'])){ $_SESSION['ad_retour']=$_GET['ad_retour']; } if(isset($_POST['forcer_modalites_options_sconet'])) { check_token(); $cpt_insert=0; $cpt_update=0; $code_matiere=isset($_POST['code_matiere']) ? $_POST['code_matiere'] : array(); for($loop=0;$loop"; $res=mysqli_query($GLOBALS['mysqli'], $sql); while($lig=mysqli_fetch_object($res)) { $sql="SELECT * FROM j_groupes_eleves_modalites WHERE id_groupe='".$lig->id_groupe."' AND login='".$lig->login."';"; $test=mysqli_query($GLOBALS['mysqli'], $sql); if(mysqli_num_rows($test)==0) { $sql="INSERT INTO j_groupes_eleves_modalites SET id_groupe='".$lig->id_groupe."', login='".$lig->login."', code_modalite_elect='".$lig->code_modalite_elect."';"; $insert=mysqli_query($GLOBALS['mysqli'], $sql); if(!$insert) { $msg.="Erreur lors de l'enregistrement de la modalité d'élection pour ".$lig->login." dans le groupe n°".$lig->id_groupe."
"; } else { $cpt_insert++; // Vérifier que l'association modalité/matière existe dans mef_matieres $sql="SELECT 1=1 FROM mef_matieres WHERE mef_code='".$lig->mef_code."' AND code_matiere='".$code_matiere[$loop]."' AND code_modalite_elect='".$lig->code_modalite_elect."';"; $test_mm=mysqli_query($GLOBALS['mysqli'], $sql); if(mysqli_num_rows($test_mm)==0) { $sql="INSERT INTO mef_matieres SET mef_code='".$lig->mef_code."', code_matiere='".$code_matiere[$loop]."', code_modalite_elect='".$lig->code_modalite_elect."';"; $insert=mysqli_query($GLOBALS['mysqli'], $sql); if(!$insert) { $msg.="Erreur lors de l'association mef_code/code_matiere/code_modalite_elect dans la table mef_matieres pour ".$lig->mef_code."|".$code_matiere[$loop]."|".$lig->code_modalite_elect."
"; } } } } else { $sql="UPDATE j_groupes_eleves_modalites SET code_modalite_elect='".$lig->code_modalite_elect."' WHERE id_groupe='".$lig->id_groupe."' AND login='".$lig->login."';"; $update=mysqli_query($GLOBALS['mysqli'], $sql); if(!$update) { $msg.="Erreur lors de la mise à jour de la modalité d'élection pour ".$lig->login." dans le groupe n°".$lig->id_groupe."
"; } else { $cpt_update++; // Vérifier que l'association modalité/matière existe dans mef_matieres $sql="SELECT 1=1 FROM mef_matieres WHERE mef_code='".$lig->mef_code."' AND code_matiere='".$code_matiere[$loop]."' AND code_modalite_elect='".$lig->code_modalite_elect."';"; $test_mm=mysqli_query($GLOBALS['mysqli'], $sql); if(mysqli_num_rows($test_mm)==0) { $sql="INSERT INTO mef_matieres SET mef_code='".$lig->mef_code."', code_matiere='".$code_matiere[$loop]."', code_modalite_elect='".$lig->code_modalite_elect."';"; $insert=mysqli_query($GLOBALS['mysqli'], $sql); if(!$insert) { $msg.="Erreur lors de l'association mef_code/code_matiere/code_modalite_elect dans la table mef_matieres pour ".$lig->mef_code."|".$code_matiere[$loop]."|".$lig->code_modalite_elect."
"; } } } } } } if($cpt_insert>0) { $msg.=$cpt_insert." modalités élèves enregistrées (".strftime("%d/%m/%Y à %H:%M:%S").").
"; } if($cpt_update>0) { $msg.=$cpt_update." modalités élèves mises à jour (".strftime("%d/%m/%Y à %H:%M:%S").").
"; } } if(isset($_POST['forcer_modalites_telles_matieres'])) { check_token(); /* // matieres.code_matiere peut être vide // Changement d'indice pour le tableau transmis. $cpt_suppr=0; $cpt_insert=0; $cpt_update=0; $code_modalite_elect=isset($_POST['code_modalite_elect']) ? $_POST['code_modalite_elect'] : array(); foreach($code_modalite_elect as $key => $value) { if($value=="VIDER") { $sql="SELECT DISTINCT jgem.id_groupe FROM j_groupes_eleves_modalites jgem, j_groupes_matieres jgm, matieres m WHERE jgm.id_matiere=m.matiere AND m.code_matiere='".$key."' AND jgem.id_groupe=jgm.id_groupe;"; echo "$sql
"; $res=mysqli_query($GLOBALS['mysqli'], $sql); while($lig=mysqli_fetch_object($res)) { $sql="DELETE FROM j_groupes_eleves_modalites WHERE id_groupe='".$lig->id_groupe."';"; echo "$sql
"; $del=mysqli_query($GLOBALS['mysqli'], $sql); if(!$del) { $msg.="Erreur lors de la suppression des modalités pour les élèves du groupe n'°".$lig->id_groupe.".
"; } else { $cpt_suppr++; } } } elseif($value!="") { $sql="SELECT DISTINCT jeg.id_groupe, jeg.login FROM j_groupes_matieres jgm, matieres m, j_eleves_groupes jeg WHERE jgm.id_matiere=m.matiere AND m.code_matiere='".$key."' AND jeg.id_groupe=jgm.id_groupe;"; echo "$sql
"; $res=mysqli_query($GLOBALS['mysqli'], $sql); while($lig=mysqli_fetch_object($res)) { $sql="SELECT * FROM j_groupes_eleves_modalites WHERE id_groupe='".$lig->id_groupe."' AND login='".$lig->login."';"; echo "$sql
"; $test=mysqli_query($GLOBALS['mysqli'], $sql); if(mysqli_num_rows($test)==0) { $sql="INSERT INTO j_groupes_eleves_modalites SET id_groupe='".$lig->id_groupe."', login='".$lig->login."', code_modalite_elect='".$value."';"; echo "$sql
"; $insert=mysqli_query($GLOBALS['mysqli'], $sql); if(!$insert) { $msg.="Erreur lors de l'enregistrement de la modalité d'élection pour ".$lig->login." dans le groupe n°".$lig->id_groupe."
"; } else { $cpt_insert++; } } else { $sql="UPDATE j_groupes_eleves_modalites SET code_modalite_elect='".$value."' WHERE id_groupe='".$lig->id_groupe."' AND login='".$lig->login."';"; echo "$sql
"; $update=mysqli_query($GLOBALS['mysqli'], $sql); if(!$update) { $msg.="Erreur lors de la mise à jour de la modalité d'élection pour ".$lig->login." dans le groupe n°".$lig->id_groupe."
"; } else { $cpt_update++; } } } } } */ $cpt_suppr=0; $cpt_insert=0; $cpt_update=0; $code_modalite_elect=isset($_POST['code_modalite_elect']) ? $_POST['code_modalite_elect'] : array(); foreach($code_modalite_elect as $key => $value) { if($value=="VIDER") { $sql="SELECT DISTINCT jgem.id_groupe FROM j_groupes_eleves_modalites jgem, j_groupes_matieres jgm WHERE jgm.id_matiere='".$key."' AND jgem.id_groupe=jgm.id_groupe;"; //echo "$sql
"; $res=mysqli_query($GLOBALS['mysqli'], $sql); while($lig=mysqli_fetch_object($res)) { $sql="DELETE FROM j_groupes_eleves_modalites WHERE id_groupe='".$lig->id_groupe."';"; //echo "$sql
"; $del=mysqli_query($GLOBALS['mysqli'], $sql); if(!$del) { $msg.="Erreur lors de la suppression des modalités pour les élèves du groupe n'°".$lig->id_groupe.".
"; } else { $cpt_suppr++; } } } elseif($value!="") { $sql="SELECT DISTINCT jeg.id_groupe, jeg.login, e.mef_code, m.code_matiere FROM matieres m, j_groupes_matieres jgm, j_eleves_groupes jeg, eleves e WHERE m.matiere=jgm.id_matiere AND e.login=jeg.login AND jgm.id_matiere='".$key."' AND jeg.id_groupe=jgm.id_groupe;"; //echo "$sql
"; $res=mysqli_query($GLOBALS['mysqli'], $sql); while($lig=mysqli_fetch_object($res)) { $sql="SELECT * FROM j_groupes_eleves_modalites WHERE id_groupe='".$lig->id_groupe."' AND login='".$lig->login."';"; //echo "$sql
"; $test=mysqli_query($GLOBALS['mysqli'], $sql); if(mysqli_num_rows($test)==0) { $sql="INSERT INTO j_groupes_eleves_modalites SET id_groupe='".$lig->id_groupe."', login='".$lig->login."', code_modalite_elect='".$value."';"; //echo "$sql
"; $insert=mysqli_query($GLOBALS['mysqli'], $sql); if(!$insert) { $msg.="Erreur lors de l'enregistrement de la modalité d'élection pour ".$lig->login." dans le groupe n°".$lig->id_groupe."
"; } else { $cpt_insert++; // Vérifier que l'association modalité/matière existe dans mef_matieres $sql="SELECT 1=1 FROM mef_matieres WHERE mef_code='".$lig->mef_code."' AND code_matiere='".$lig->code_matiere."' AND code_modalite_elect='".$value."';"; $test_mm=mysqli_query($GLOBALS['mysqli'], $sql); if(mysqli_num_rows($test_mm)==0) { $sql="INSERT INTO mef_matieres SET mef_code='".$lig->mef_code."', code_matiere='".$lig->code_matiere."', code_modalite_elect='".$value."';"; $insert=mysqli_query($GLOBALS['mysqli'], $sql); if(!$insert) { $msg.="Erreur lors de l'association mef_code/code_matiere/code_modalite_elect dans la table mef_matieres pour ".$lig->mef_code."|".$lig->code_matiere."|".$value."
"; } } } } else { $sql="UPDATE j_groupes_eleves_modalites SET code_modalite_elect='".$value."' WHERE id_groupe='".$lig->id_groupe."' AND login='".$lig->login."';"; //echo "$sql
"; $update=mysqli_query($GLOBALS['mysqli'], $sql); if(!$update) { $msg.="Erreur lors de la mise à jour de la modalité d'élection pour ".$lig->login." dans le groupe n°".$lig->id_groupe."
"; } else { $cpt_update++; // Vérifier que l'association modalité/matière existe dans mef_matieres $sql="SELECT 1=1 FROM mef_matieres WHERE mef_code='".$lig->mef_code."' AND code_matiere='".$lig->code_matiere."' AND code_modalite_elect='".$value."';"; $test_mm=mysqli_query($GLOBALS['mysqli'], $sql); if(mysqli_num_rows($test_mm)==0) { $sql="INSERT INTO mef_matieres SET mef_code='".$lig->mef_code."', code_matiere='".$lig->code_matiere."', code_modalite_elect='".$value."';"; $insert=mysqli_query($GLOBALS['mysqli'], $sql); if(!$insert) { $msg.="Erreur lors de l'association mef_code/code_matiere/code_modalite_elect dans la table mef_matieres pour ".$lig->mef_code."|".$lig->code_matiere."|".$value."
"; } } } } } } } if($cpt_suppr>0) { $msg.="Modalités vidées pour ".$cpt_suppr." enseignement(s) (".strftime("%d/%m/%Y à %H:%M:%S").").
"; } if($cpt_insert>0) { $msg.=$cpt_insert." modalités élèves enregistrées (".strftime("%d/%m/%Y à %H:%M:%S").").
"; } if($cpt_update>0) { $msg.=$cpt_update." modalités élèves mises à jour (".strftime("%d/%m/%Y à %H:%M:%S").").
"; } } //**************** EN-TETE ***************** $titre_page = "Modalités d'élection"; require_once("../lib/header.inc.php"); //************** FIN EN-TETE *************** //debug_var(); $acces_visu_eleve=acces("/eleves/visu_eleve.php", $_SESSION['statut']); //Seuls les comptes administrateur et scolarité ont accès à /classes/eleve_options.php, mais pour les comptes scolarité, c'est avec restriction j_scol_classes //$acces_eleve_options=acces("/classes/eleve_options.php", $_SESSION['statut']); $acces_modify_matiere=acces("/matieres/modify_matiere.php", $_SESSION['statut']); echo "

Retour Retour

Gérer les modalités d'élection des enseignements

Informations provenant de Sconet

Les informations provenant de Sconet sont remplies à l'intialisation de l'année et lors de la mise à jour d'après Sconet.

\n"; $options_modalites=""; $tab_modalites=get_tab_modalites_election("code"); foreach($tab_modalites as $key => $value) { $options_modalites.=" "; } $sql="SELECT * FROM sconet_ele_options;"; $res=mysqli_query($GLOBALS['mysqli'], $sql); if(mysqli_num_rows($res)==0) { echo "

La table 'sconet_ele_options' est vide.
Soit vous n'avez pas initialisé l'année avec Sconet,
soit vous avez initialisé l'année avec une version antérieure à la 1.7.0,
soit les options des élèves n'étaient pas renseignées dans Sconet.

"; } else { $sql="SELECT DISTINCT m.matiere, m.nom_complet, m.code_matiere FROM sconet_ele_options seo, matieres m WHERE m.code_matiere=seo.code_matiere ORDER BY m.matiere, m.nom_complet;"; $res=mysqli_query($GLOBALS['mysqli'], $sql); if(mysqli_num_rows($res)==0) { // On ne devrait pas arriver là. echo "

Aucune matière n'a été trouvée dans la table 'sconet_ele_options'.

"; } else { // Permettre de forcer les options echo "
".add_token_field()."

Des options ont été renseignées dans Sconet.
Vous pouvez forcer (écraser d'éventuelles modifications individuelles manuelles de modalités associées aux élèves) pour les élèves indiqués la modalité d'élection des enseignements de la matière.

    "; $cpt=0; while($lig=mysqli_fetch_object($res)) { $sql="SELECT DISTINCT id_groupe FROM j_groupes_matieres jgm, matieres m WHERE jgm.id_matiere=m.matiere AND m.code_matiere='".$lig->code_matiere."';"; $res_grp=mysqli_query($GLOBALS['mysqli'], $sql); $nb_grp=mysqli_num_rows($res_grp); echo "
  • code_matiere."\" onchange=\"checkbox_change('code_matiere_$cpt')\" /> ".($acces_modify_matiere ? "Voir" : "")." (il y a actuellement $nb_grp enseignement(s) de cette matière) ".(($nb_grp==0) ? "Attentionmatiere."'.\" />" : "")."

    "; $sql="SELECT DISTINCT e.login, e.nom, e.prenom, c.classe, c.id, seo.code_modalite_elect FROM classes c, eleves e, j_eleves_classes jec, sconet_ele_options seo WHERE c.id=jec.id_classe AND e.login=jec.login AND e.ele_id=seo.ele_id AND seo.code_matiere='".$lig->code_matiere."' ORDER BY c.classe, e.nom, e.prenom;"; //echo "$sql
    "; $res_ele=mysqli_query($GLOBALS['mysqli'], $sql); if(mysqli_num_rows($res_ele)>0) { echo " ".(($_SESSION['statut']=="administrateur") ? "" : "")." ".($acces_visu_eleve ? "" : "")." "; while($lig_ele=mysqli_fetch_object($res_ele)) { echo " ".(($_SESSION['statut']=="administrateur") ? "" : "")." ".($acces_visu_eleve ? "" : "")."
    ClasseEns.suiv.VoirNom Prénom Code Libellé court Libelle long
    ".$lig_ele->classe."EnseignementsOnglets".$lig_ele->nom." ".$lig_ele->prenom." ".$lig_ele->code_modalite_elect." ".$tab_modalites[$lig_ele->code_modalite_elect]["libelle_court"]." ".$tab_modalites[$lig_ele->code_modalite_elect]["libelle_long"]."
  • "; $cpt++; } echo "

"; } } echo "

".js_checkbox_change_style("checkbox_change", "texte_", "y")."

Divers

"; $sql="SELECT DISTINCT m.* FROM matieres m, j_groupes_matieres jgm WHERE m.matiere=jgm.id_matiere ORDER BY m.matiere, m.nom_complet;"; $res=mysqli_query($GLOBALS['mysqli'], $sql); if(mysqli_num_rows($res)==0) { echo "

Aucune matière avec enseignement associé n'a été trouvée.

"; } else { echo "
".add_token_field()."

Forcer les modalités élèves pour tous les enseignements des matières suivantes :

"; $cpt=0; while($lig=mysqli_fetch_object($res)) { echo " "; $cpt++; } echo "
Matière Nom complet Modalité Forcer
".$lig->matiere." ".$lig->nom_complet."

"; } echo "

A FAIRE : Afficher une liste des enseignements pour lesquels les modalités ne sont pas renseignées ?


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