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
";
}
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 "
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.
"; } 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 "
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.Aucune matière n'a été trouvée dans la table 'sconet_ele_options'.
"; } else { // Permettre de forcer les options echo " "; } } echo "
"; $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 " "; } echo "
A FAIRE : Afficher une liste des enseignements pour lesquels les modalités ne sont pas renseignées ?