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(); } if((!isset($indice_aid))||(!preg_match("/^[0-9]{1,}$/", $indice_aid))) { //header("Location: ../logout.php?auto=1"); header("Location: ../accueil.php?msg=Indice AID non défini."); die(); } // Vérification du niveau de gestion des AIDs if (NiveauGestionAid($_SESSION["login"],$indice_aid) < 5) { //header("Location: ../logout.php?auto=1"); header("Location: ../accueil.php?msg=NiveauGestion AID insuffisant."); die(); } //======================================= $sql="SELECT * FROM aid_config WHERE indice_aid='$indice_aid';"; $res_famille_aid=mysqli_query($GLOBALS['mysqli'], $sql); if(mysqli_num_rows($res_famille_aid)==0) { header("Location: ../accueil.php?msg=Indice AID $indice_aid inconnu."); die(); } $lig_famille_aid=mysqli_fetch_object($res_famille_aid); $nom_famille_aid=$lig_famille_aid->nom; $nom_complet_famille_aid=$lig_famille_aid->nom_complet; $autoriser_inscript_multiples=$lig_famille_aid->autoriser_inscript_multiples; //======================================= include_once 'fonctions_aid.php'; $mysqli = $GLOBALS["mysqli"]; $javascript_specifique = "aid/aid_ajax"; if(!isset($mess)) {$mess="";} // $is_posted = isset($_POST['is_posted']) ? $_POST['is_posted'] : (isset($is_posted) ? $is_posted : NULL); $aid_id = isset($aid_id) ? $aid_id : ""; $mode = isset($mode) ? $mode : ""; $action = isset($action) ? $action : ""; $sous_groupe = isset($sous_groupe) ? $sous_groupe : "n"; $parent = isset($parent) ? $parent : ""; $sous_groupe_de =isset($sous_groupe_de) ? $sous_groupe_de : NULL; $inscrit_direct =isset($inscrit_direct) ? $inscrit_direct : NULL; // Si is_posted==1, c'est un nouveau AID. // Si is_posted==2, c'est une modification d'AID. if (isset($is_posted) && $is_posted) { //debug_var(); $msg = ""; if(($is_posted==1)&&(isset($_POST['creer_un_aid_par_classe']))&&($_POST['creer_un_aid_par_classe']=="y")&&(count($id_classe)>1)) { $id_classe=isset($_POST['id_classe']) ? $_POST['id_classe'] : array(); $login_prof=isset($_POST['login_prof']) ? $_POST['login_prof'] : array(); $prof_matiere=isset($_POST['prof_matiere']) ? $_POST['prof_matiere'] : array(); $aid_nom_depart=$aid_nom; for($loop=0;$loop"; //$msg.="aid_id=$aid_id"; // Pour un nouveau AID, on a aid_id="" if ("n" == $sous_groupe) { Efface_sous_groupe($aid_id); //die($aid_id); } if ("y" == $sous_groupe || $sous_groupe_de != NULL) { $reg_parent = Sauve_sous_groupe($aid_id, $parent); if (!$reg_parent) { $mess = rawurlencode("Erreur lors de l'enregistrement des données pour $aid_nom."); header("Location: index2.php?msg=$mess&indice_aid=$indice_aid"); die(); } } //$msg.="aid_id=$aid_id"; // On regarde si une aid porte déjà le même nom $count = mysqli_num_rows(Extrait_aid_sur_nom($aid_nom , $indice_aid)); check_token(); if (isset($is_posted) and ($is_posted =="1")) { // nouveau // On calcule le nouveau id pour l'aid à insérer → Plus gros id + 1 $aid_id = Dernier_id ($ordre = "DESC") + 1; } else { $count--; } //if ($inscrit_direct) die ($inscrit_direct); $reg_data = Sauve_definition_aid ($aid_id , $aid_nom , $aid_num , $indice_aid , $sous_groupe , $inscrit_direct); if (!$reg_data) { $mess = rawurlencode("Erreur lors de l'enregistrement des données pour $aid_nom."); header("Location: index2.php?msg=$mess&indice_aid=$indice_aid"); die(); } else { //$id_classe=isset($_POST['id_classe']) ? $_POST['id_classe'] : array(); //$msg.="aid_id=$aid_id"; $nb_ele_inscrits=0; //for($loop=0;$loop"; $res_ele_clas=mysqli_query($GLOBALS['mysqli'], $sql); if(mysqli_num_rows($res_ele_clas)>0) { while($lig_ele=mysqli_fetch_object($res_ele_clas)) { // On commence par vérifier que l'élève n'est pas déjà présent dans cette liste, ni dans aucune. if ($autoriser_inscript_multiples == 'y') { $filtre = " AND id_aid='".$aid_id."' "; } else { $filtre = ""; } $sql = "SELECT * FROM j_aid_eleves WHERE (login='".$lig_ele->login."' AND indice_aid='".$indice_aid."'".$filtre.")"; //echo $sql; $test = mysqli_query($GLOBALS["mysqli"], $sql); $test2 = mysqli_num_rows($test); //$msg = ""; if ($test2=="0") { if($lig_ele->login!='') { $reg_data = mysqli_query($GLOBALS["mysqli"], "INSERT INTO j_aid_eleves SET login='".$lig_ele->login."', id_aid='$aid_id', indice_aid='$indice_aid'"); if (!$reg_data) { $msg.="Erreur lors de l'ajout de l'élève ".$lig_ele->login.""; } else { $nb_ele_inscrits++; } } } } } //} //$login_prof=isset($_POST['login_prof']) ? $_POST['login_prof'] : array(); $nb_profs_inscrits=0; for($loop2=0;$loop2num_rows; if ($test2 != "0") { $msg.="Le professeur ".$login_prof[$loop2]." que vous avez tenté d'ajouter appartient déjà à cet AID."; } else { if ($login_prof[$loop2] != '') { $reg_data=Sauve_prof_membre($login_prof[$loop2], $aid_id, $indice_aid); if (!$reg_data) { $msg.="Erreur lors de l'ajout du professeur ".$login_prof[$loop2]." !"; } else { $nb_profs_inscrits++; } } } } if((count($prof_matiere)>0)&&(isset($_POST['restreindre_aux_profs_de_la_classe']))) { if($_POST['restreindre_aux_profs_de_la_classe']=="y") { for($loop_mat=0;$loop_mat"; $res_prof_mat=mysqli_query($mysqli, $sql); if(mysqli_num_rows($res_prof_mat)>0) { while($lig_prof_mat=mysqli_fetch_object($res_prof_mat)) { $test2=Prof_deja_membre($lig_prof_mat->login, $aid_id, $indice_aid)->num_rows; if ($test2 != "0") { $msg.="Le professeur ".$lig_prof_mat->login." que vous avez tenté d'ajouter appartient déjà à cet AID."; } else { $reg_data=Sauve_prof_membre($lig_prof_mat->login, $aid_id, $indice_aid); if (!$reg_data) { $msg.="Erreur lors de l'ajout du professeur ".$lig_prof_mat->nom." ".$lig_prof_mat->prenom." !"; } else { $nb_profs_inscrits++; } } } } } } else { for($loop_mat=0;$loop_mat"; $res_prof_mat=mysqli_query($mysqli, $sql); if(mysqli_num_rows($res_prof_mat)>0) { while($lig_prof_mat=mysqli_fetch_object($res_prof_mat)) { $test2=Prof_deja_membre($lig_prof_mat->login, $aid_id, $indice_aid)->num_rows; if ($test2 != "0") { $msg.="Le professeur ".$lig_prof_mat->login." que vous avez tenté d'ajouter appartient déjà à cet AID."; } else { $reg_data=Sauve_prof_membre($lig_prof_mat->login, $aid_id, $indice_aid); if (!$reg_data) { $msg.="Erreur lors de l'ajout du professeur ".$lig_prof_mat->nom." ".$lig_prof_mat->prenom." !"; } else { $nb_profs_inscrits++; } } } } } } } } if ($count == "1") { $msg=$msg." Attention, une AID ($nom_famille_aid) portant le même nom ($aid_nom) existait déja !"; } else if ($count > 1) { $msg=$msg." Attention, plusieurs AID ($nom_famille_aid) portant le même nom ($aid_nom) existaient déja !"; } if ($mode == "multiple") { $msg .= "AID ($nom_famille_aid) $aid_nom enregistrée !" ; if((isset($nb_ele_inscrits))&&($nb_ele_inscrits>0)) { $msg.=$nb_ele_inscrits." élève(s) inscrit(s)."; } if((isset($nb_profs_inscrits))&&($nb_profs_inscrits>0)) { $msg.=$nb_profs_inscrits." professeur(s) inscrit(s)."; } $mess = rawurlencode($msg); header("Location: add_aid.php?action=add_aid&mode=multiple&msg=$mess&indice_aid=$indice_aid"); die(); } else{ $msg .= "AID ($nom_famille_aid) $aid_nom enregistrée !"; if((isset($nb_ele_inscrits))&&($nb_ele_inscrits>0)) { $msg.=$nb_ele_inscrits." élève(s) inscrit(s)."; } if((isset($nb_profs_inscrits))&&($nb_profs_inscrits>0)) { $msg.=$nb_profs_inscrits." professeur(s) inscrit(s)."; } } } $mess = rawurlencode($msg); header("Location: index2.php?msg=$mess&indice_aid=$indice_aid"); die(); } else { if ("n" == $sous_groupe) { Efface_sous_groupe($aid_id); //die($aid_id); } if ("y" == $sous_groupe || $sous_groupe_de != NULL) { $reg_parent = Sauve_sous_groupe($aid_id, $parent); if (!$reg_parent) { $mess = rawurlencode("Erreur lors de l'enregistrement des données."); header("Location: index2.php?msg=$mess&indice_aid=$indice_aid"); die(); } } // On regarde si une aid porte déjà le même nom $count = mysqli_num_rows(Extrait_aid_sur_nom($aid_nom , $indice_aid)); check_token(); if (isset($is_posted) and ($is_posted =="1")) { // nouveau // On calcule le nouveau id pour l'aid à insérer → Plus gros id + 1 $aid_id = Dernier_id ($ordre = "DESC") + 1; } else { $count--; } //if ($inscrit_direct) die ($inscrit_direct); $reg_data = Sauve_definition_aid ($aid_id , $aid_nom , $aid_num , $indice_aid , $sous_groupe , $inscrit_direct); if (!$reg_data) { $mess = rawurlencode("Erreur lors de l'enregistrement des données."); header("Location: index2.php?msg=$mess&indice_aid=$indice_aid"); die(); } else { $id_classe=isset($_POST['id_classe']) ? $_POST['id_classe'] : array(); $nb_ele_inscrits=0; for($loop=0;$loop0) { while($lig_ele=mysqli_fetch_object($res_ele_clas)) { // On commence par vérifier que l'élève n'est pas déjà présent dans cette liste, ni dans aucune. if ($autoriser_inscript_multiples == 'y') { $filtre = " AND id_aid='".$aid_id."' "; } else { $filtre = ""; } $sql = "SELECT * FROM j_aid_eleves WHERE (login='".$lig_ele->login."' AND indice_aid='".$indice_aid."'".$filtre.")"; //echo $sql; $test = mysqli_query($GLOBALS["mysqli"], $sql); $test2 = mysqli_num_rows($test); $msg = ""; if ($test2=="0") { if($lig_ele->login!='') { $reg_data = mysqli_query($GLOBALS["mysqli"], "INSERT INTO j_aid_eleves SET login='".$lig_ele->login."', id_aid='$aid_id', indice_aid='$indice_aid'"); if (!$reg_data) { $msg.="Erreur lors de l'ajout de l'élève ".$lig_ele->login.""; } else { $nb_ele_inscrits++; } } } } } } $login_prof=isset($_POST['login_prof']) ? $_POST['login_prof'] : array(); $nb_profs_inscrits=0; for($loop=0;$loopnum_rows; if ($test2 != "0") { $msg.="Le professeur ".$login_prof[$loop]." que vous avez tenté d'ajouter appartient déjà à cet AID."; } else { if ($login_prof[$loop] != '') { $reg_data=Sauve_prof_membre($login_prof[$loop], $aid_id, $indice_aid); if (!$reg_data) { $msg.="Erreur lors de l'ajout du professeur ".$login_prof[$loop]." !"; } else { $nb_profs_inscrits++; } } } } if((count($prof_matiere)>0)&&(isset($_POST['restreindre_aux_profs_de_la_classe']))) { if($_POST['restreindre_aux_profs_de_la_classe']=="y") { $chaine_classes=""; for($loop=0;$loop"; $res_prof_mat=mysqli_query($mysqli, $sql); if(mysqli_num_rows($res_prof_mat)>0) { while($lig_prof_mat=mysqli_fetch_object($res_prof_mat)) { $test2=Prof_deja_membre($lig_prof_mat->login, $aid_id, $indice_aid)->num_rows; if ($test2 != "0") { $msg.="Le professeur ".$lig_prof_mat->login." que vous avez tenté d'ajouter appartient déjà à cet AID."; } else { $reg_data=Sauve_prof_membre($lig_prof_mat->login, $aid_id, $indice_aid); if (!$reg_data) { $msg.="Erreur lors de l'ajout du professeur ".$lig_prof_mat->nom." ".$lig_prof_mat->prenom." !"; } else { $nb_profs_inscrits++; } } } } } } else { for($loop_mat=0;$loop_mat"; $res_prof_mat=mysqli_query($mysqli, $sql); if(mysqli_num_rows($res_prof_mat)>0) { while($lig_prof_mat=mysqli_fetch_object($res_prof_mat)) { $test2=Prof_deja_membre($lig_prof_mat->login, $aid_id, $indice_aid)->num_rows; if ($test2 != "0") { $msg.="Le professeur ".$lig_prof_mat->login." que vous avez tenté d'ajouter appartient déjà à cet AID."; } else { $reg_data=Sauve_prof_membre($lig_prof_mat->login, $aid_id, $indice_aid); if (!$reg_data) { $msg.="Erreur lors de l'ajout du professeur ".$lig_prof_mat->nom." ".$lig_prof_mat->prenom." !"; } else { $nb_profs_inscrits++; } } } } } } } } if ($count == "1") { $msg=$msg." Attention, une AID ($nom_famille_aid) portant le même nom ($aid_nom) existait déja !"; } else if ($count > 1) { $msg=$msg." Attention, plusieurs AID ($nom_famille_aid) portant le même nom ($aid_nom) existaient déja !"; } if ($mode == "multiple") { $msg .= "AID ($nom_famille_aid) $aid_nom enregistrée !" ; if((isset($nb_ele_inscrits))&&($nb_ele_inscrits>0)) { $msg.=$nb_ele_inscrits." élève(s) inscrit(s)."; } if((isset($nb_profs_inscrits))&&($nb_profs_inscrits>0)) { $msg.=$nb_profs_inscrits." professeur(s) inscrit(s)."; } $mess = rawurlencode($msg); header("Location: add_aid.php?action=add_aid&mode=multiple&msg=$mess&indice_aid=$indice_aid"); die(); } else { $msg .= "AID ($nom_famille_aid) $aid_nom enregistrée !"; if((isset($nb_ele_inscrits))&&($nb_ele_inscrits>0)) { $msg.=$nb_ele_inscrits." élève(s) inscrit(s)."; } if((isset($nb_profs_inscrits))&&($nb_profs_inscrits>0)) { $msg.=$nb_profs_inscrits." professeur(s) inscrit(s)."; } $mess = rawurlencode($msg); header("Location: index2.php?msg=$mess&indice_aid=$indice_aid"); die(); } } } else { // on remplit tous les champs pour n'avoir qu'un affichage $id_aid_prec=-1; $id_aid_suiv=-1; $temoin_tmp=0; $aid_nom = ""; $aid_num = ""; $nouveau = "Entrez un nom : "; $is_posted = (isset($action) && $action == "modif_aid") ? 2 : ((isset($action) && $action == "add_aid") ? 1 : "" ); if ("modif_aid" == $action) { $res_aid_tmp = Extrait_aid_sur_indice_aid ($indice_aid); if(mysqli_num_rows($res_aid_tmp)>0) { while($lig_aid_tmp=mysqli_fetch_object($res_aid_tmp)){ if($lig_aid_tmp->id==$aid_id) { $temoin_tmp=1; if($lig_aid_tmp=mysqli_fetch_object($res_aid_tmp)){ $id_aid_suiv=$lig_aid_tmp->id; } else{ $id_aid_suiv=-1; } } if($temoin_tmp==0) { $id_aid_prec=$lig_aid_tmp->id; } } } } $res_parents=Extrait_aid_sur_indice_aid ($indice_aid); if ($action == "modif_aid") { $calldata = Extrait_aid_sur_id ($aid_id, $indice_aid)->fetch_object(); $aid_nom = $calldata->nom; $aid_num = $calldata->numero; $sous_groupe = $calldata->sous_groupe; $nouveau = "Entrez le nouveau nom à la place de l'ancien : "; if ('y' == $sous_groupe) { $res_groupe_de=Extrait_parent ($aid_id); if ($res_groupe_de->num_rows) { $sous_groupe_de = $res_groupe_de->fetch_object()->parent; } } } } //**************** EN-TETE ********************* if ($action == "modif_aid") { $titre_page = "Gestion des AID | Modifier Une AID ($nom_famille_aid)"; } else { $titre_page = "Gestion des AID | Ajouter Une AID ($nom_famille_aid)"; } require_once("../lib/header.inc.php"); // debug_var(); //**************** FIN EN-TETE ***************** if ($_SESSION['statut'] == 'professeur') { $retour = 'index2.php'; } else { $retour = 'index.php'; } ?> Retour | ?action=modif_aid&aid_id=&indice_aid=' onclick="return confirm_abandon (this, change, '')"> AID précédent | ?action=modif_aid&aid_id=&indice_aid=' onclick="return confirm_abandon (this, change, '')"> AID suivant Nom : /> Numéro (fac.) : /> > Sous-groupe d'une autre AID onchange="afficher_cacher_parent();" /> num_rows)){ ?> > Aucun parent fetch_object()){ ?> id == $sous_groupe_de) {echo " selected='selected' ";} ?> > nom; ?> Élèves Un élève peut s'inscrire directement /> "; if ($action=="add_aid") { $sql="SELECT DISTINCT c.* FROM classes c, j_eleves_classes jec WHERE c.id=jec.id_classe ORDER BY c.classe, c.nom_complet;"; $res_classes=mysqli_query($GLOBALS['mysqli'], $sql); if(mysqli_num_rows($res_classes)>0) { if (!Multiples_possible ($indice_aid)) { echo "Élèves"; } echo ""; $tab_txt=array(); $tab_nom_champ=array(); $tab_id_champ=array(); $tab_valeur_champ=array(); echo "Inscrire dans l'AID tous les élèves des classes cochées :"; while($lig_clas=mysqli_fetch_object($res_classes)) { $tab_txt[]=$lig_clas->classe; $tab_nom_champ[]="id_classe[]"; $tab_id_champ[]="id_classe_".$lig_clas->id; $tab_valeur_champ[]=$lig_clas->id; } tab_liste_checkbox($tab_txt, $tab_nom_champ, $tab_id_champ, $tab_valeur_champ, "checkbox_change", "modif_coche", 5); echo "Si vous préférez ne pas affecter tous les élèves de telle(s) ou telle(s) classe(s) dans le $nom_famille_aid, vous pourrez gérer plus finement l'inscription par la suite."; echo ""; echo ""; echo "Ajouter un $nom_famille_aid par classe cochée (un suffixe au nom de la classe sera ajouté).Sinon, on ne crée qu'un $nom_famille_aid avec tous les élèves des classes cochés dans cet unique $nom_famille_aid."; echo ""; } $sql="SELECT DISTINCT u.login, u.nom, u.prenom FROM utilisateurs u WHERE u.statut='professeur' AND u.etat='actif' ORDER BY u.nom, u.prenom;"; $res_prof=mysqli_query($GLOBALS['mysqli'], $sql); if(mysqli_num_rows($res_prof)>0) { echo "Professeurs"; echo ""; $tab_txt=array(); $tab_nom_champ=array(); $tab_id_champ=array(); $tab_valeur_champ=array(); echo "Inscrire comme professeur(s) responsable(s) de cet AID les professeurs cochés :"; $cpt_prof=0; while($lig_prof=mysqli_fetch_object($res_prof)) { $tab_txt[]=casse_mot($lig_prof->nom, "maj")." ".casse_mot($lig_prof->prenom, "majf2"); $tab_nom_champ[]="login_prof[]"; $tab_id_champ[]="login_prof_".$cpt_prof; $tab_valeur_champ[]=$lig_prof->login; $cpt_prof++; } tab_liste_checkbox($tab_txt, $tab_nom_champ, $tab_id_champ, $tab_valeur_champ, "checkbox_change_prof", "modif_coche_prof", 5); echo "Si vous préférez ne pas affecter les professeurs maintenant, vous pourrez le faire plus tard."; echo ""; echo ""; echo " Vous pouvez également ou alternativement, affecter des profs avec les contraintes suivantes : Inscrire le(s) professeur(s) de la (des) matière(s) suivante(s) enseignant par ailleurs dans la(les) classe(s) sélectionnée(s) Inscrire le(s) professeur(s) de la (des) matière(s) suivante(s) sans se restreindre aux professeurs enseignant par ailleurs dans la(les) classe(s) sélectionnée(s). Si vous ne cochez aucune matière, ce paramètre ne sera pas pris en compte. "; echo liste_checkbox_matieres(array(), 'prof_matiere', 'cocher_decocher', "y"); echo ""; } } ?>
Retour | ?action=modif_aid&aid_id=&indice_aid=' onclick="return confirm_abandon (this, change, '')"> AID précédent | ?action=modif_aid&aid_id=&indice_aid=' onclick="return confirm_abandon (this, change, '')"> AID suivant
Nom : />
Numéro (fac.) : />
Sous-groupe d'une autre AID onchange="afficher_cacher_parent();" />
Un élève peut s'inscrire directement />
Inscrire dans l'AID tous les élèves des classes cochées :
Si vous préférez ne pas affecter tous les élèves de telle(s) ou telle(s) classe(s) dans le $nom_famille_aid, vous pourrez gérer plus finement l'inscription par la suite.
Ajouter un $nom_famille_aid par classe cochée (un suffixe au nom de la classe sera ajouté).Sinon, on ne crée qu'un $nom_famille_aid avec tous les élèves des classes cochés dans cet unique $nom_famille_aid.
Inscrire comme professeur(s) responsable(s) de cet AID les professeurs cochés :
Si vous préférez ne pas affecter les professeurs maintenant, vous pourrez le faire plus tard.
Vous pouvez également ou alternativement, affecter des profs avec les contraintes suivantes : Inscrire le(s) professeur(s) de la (des) matière(s) suivante(s) enseignant par ailleurs dans la(les) classe(s) sélectionnée(s) Inscrire le(s) professeur(s) de la (des) matière(s) suivante(s) sans se restreindre aux professeurs enseignant par ailleurs dans la(les) classe(s) sélectionnée(s). Si vous ne cochez aucune matière, ce paramètre ne sera pas pris en compte.