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(); } //debug_var(); if((isset($_GET['export_ele_csv']))&&(isset($_GET['matiere']))) { check_token(); $csv="INE;ELENOET;ELE_ID;LOGIN;NOM;PRENOM;SEXE;NAISSANCE;CLASSES;\n"; $sql="SELECT distinct e.* FROM j_eleves_groupes jeg, j_groupes_matieres jgm, j_eleves_classes jec, eleves e WHERE jeg.id_groupe=jgm.id_groupe AND jec.login=jeg.login AND jec.login=e.login AND jgm.id_matiere='".$_GET['matiere']."';"; $res=mysqli_query($GLOBALS["mysqli"],$sql); while($lig=mysqli_fetch_object($res)) { $csv.=$lig->no_gep.";".$lig->elenoet.";".$lig->ele_id.";".$lig->login.";".$lig->nom.";".$lig->prenom.";".$lig->sexe.";".formate_date($lig->naissance).";".get_chaine_liste_noms_classes_from_ele_login($lig->login).";\n"; } $nom_fic=remplace_accents("liste_eleves_suivant_".$_GET['matiere'])."_".strftime("%Y%m%d_%H%M%S").".csv"; send_file_download_headers('text/x-csv',$nom_fic); echo echo_csv_encoded($csv); die(); } if (isset($_POST['isposted'])) { check_token(); $ok = 'yes'; $ok_categorie = 'yes'; $code_matiere=isset($_POST['code_matiere']) ? $_POST['code_matiere'] : ""; if (isset($_POST['reg_current_matiere'])) { // On vérifie d'abord que l'identifiant est constitué uniquement de lettres et de chiffres : $matiere_name = $_POST['reg_current_matiere']; if ((!isset($_POST['matiere_categorie']))||(!is_numeric($_POST['matiere_categorie']))) { // On empêche les mise à jour globale automatiques, car on n'est pas sûr de ce qui s'est passé si l'ID n'est pas numérique... //$ok = "no"; $ok_categorie = 'no'; $matiere_categorie = "0"; } else { $matiere_categorie = $_POST['matiere_categorie']; } //if (ereg ("^[a-zA-Z_]{1}[a-zA-Z0-9_]{1,19}$", $matiere_name)) { // Le POINT est interdit dans le nom court de matière (problème avec des noms de champs PHP sinon notamment dans matieres/index.php) if (preg_match("/^[a-zA-Z_]{1}[a-zA-Z0-9_-]{1,19}$/", $matiere_name)) { $verify_query = mysqli_query($GLOBALS["mysqli"], "SELECT * from matieres WHERE matiere='$matiere_name'"); $verify = mysqli_num_rows($verify_query); if ($verify == 0) { //======================== // MODIF: boireaus // Quand on poste un &, c'est un & qui est reçu. //$matiere_nom_complet = $_POST['matiere_nom_complet']; //echo "\$matiere_nom_complet=$matiere_nom_complet
\n"; $matiere_nom_complet = html_entity_decode($_POST['matiere_nom_complet']); //echo "\$matiere_nom_complet=$matiere_nom_complet
\n"; //======================== $matiere_priorite = $_POST['matiere_priorite']; $sql="INSERT INTO matieres SET matiere='".$matiere_name."', nom_complet='".$matiere_nom_complet."', priority='".$matiere_priorite."', categorie_id = '" . $matiere_categorie . "',matiere_aid='n',matiere_atelier='n', code_matiere='$code_matiere';"; //echo "$sql
\n"; $register_matiere = mysqli_query($GLOBALS["mysqli"], $sql); if (!$register_matiere) { $msg = "Une erreur s'est produite lors de l'enregistrement de la nouvelle matière.
"; $ok = 'no'; } else { $msg = "La nouvelle matière a bien été enregistrée.
"; } } else { $msg = "Cette matière existe déjà !!
"; $ok = 'no'; } } else { $msg = "L'identifiant de matière doit être constitué uniquement de lettres et de chiffres avec un maximum de 19 caractères !
"; $ok = 'no'; } } else { $matiere_nom_complet = $_POST['matiere_nom_complet']; $matiere_nom_complet = html_entity_decode($_POST['matiere_nom_complet']); $matiere_priorite = $_POST['matiere_priorite']; $matiere_name = $_POST['matiere_name']; if ((!isset($_POST['matiere_categorie']))||(!is_numeric($_POST['matiere_categorie']))) { $matiere_categorie = "0"; $ok_categorie = 'no'; } else { $matiere_categorie = $_POST['matiere_categorie']; } $sql="UPDATE matieres SET nom_complet='".$matiere_nom_complet."', priority='".$matiere_priorite."', categorie_id = '" . $matiere_categorie . "', code_matiere='$code_matiere' WHERE matiere='".$matiere_name."';"; //echo "$sql
\n"; $register_matiere = mysqli_query($GLOBALS["mysqli"], $sql); if (!$register_matiere) { $msg = "Une erreur s'est produite lors de la modification de la matière
"; $ok = 'no'; } else { $msg = "Les modifications ont été enregistrées !
"; } } if ((isset($_POST['force_defaut'])) and ($ok == 'yes')) { $sql="UPDATE j_groupes_matieres jgm, j_groupes_classes jgc SET jgc.priorite='".$matiere_priorite."' WHERE (jgc.id_groupe = jgm.id_groupe AND jgm.id_matiere='".$matiere_name."')"; //echo "$sql
"; //$msg = rawurlencode($sql); $req = mysqli_query($GLOBALS["mysqli"], $sql); } if ((isset($_POST['force_defaut_categorie'])) and ($ok == 'yes') and ($ok_categorie == 'yes')) { $sql="UPDATE j_groupes_classes jgc, j_groupes_matieres jgm SET jgc.categorie_id='".$matiere_categorie."' WHERE (jgc.id_groupe = jgm.id_groupe AND jgm.id_matiere='".$matiere_name."')"; //echo "$sql
"; //$msg = rawurlencode($sql); $req = mysqli_query($GLOBALS["mysqli"], $sql); } if($ok=='yes') { $login_prof=isset($_POST['login_prof']) ? $_POST['login_prof'] : NULL; if(isset($login_prof)) { // Récupérer la liste des profs actuellement associés $tab_profs_associes=array(); $sql="SELECT u.login FROM j_professeurs_matieres jpm, utilisateurs u WHERE jpm.id_professeur=u.login and id_matiere='$matiere_name' ORDER BY u.nom, u.prenom;"; //echo "$sql
\n"; $res_profs=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res_profs)>0) { while($lig=mysqli_fetch_object($res_profs)) { $tab_profs_associes[]=$lig->login; } } $nb_inser=0; for($loop=0;$loop\n"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res)==0) { $ordre_matieres=1; } else { $ordre_matieres=old_mysql_result($res, 0, "max_ordre")+1; } // On ajoute le prof $sql="INSERT INTO j_professeurs_matieres SET id_professeur='$login_prof[$loop]', id_matiere='$matiere_name', ordre_matieres='$ordre_matieres';"; //echo "$sql
\n"; $insert=mysqli_query($GLOBALS["mysqli"], $sql); if(!$insert) { $msg.="Erreur lors de l'association de ".$login_prof[$loop]." avec la matière $matiere_name
"; } else { $nb_inser++; } } } if($nb_inser>0) { $msg.="$nb_inser professeur(s) a(ont) été associé(s) avec la matière $matiere_name
"; } $nb_suppr=0; for($loop=0;$loop"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res)==0) { /* $sql="SELECT ordre_matieres FROM j_professeurs_matieres WHERE id_professeur='$login_prof' AND id_matiere='$matiere_name';"; $res=mysql_query($sql); */ $sql="DELETE FROM j_professeurs_matieres WHERE id_professeur='".$tab_profs_associes[$loop]."' AND id_matiere='$matiere_name';"; //echo "$sql
\n"; $suppr=mysqli_query($GLOBALS["mysqli"], $sql); if(!$suppr) { $msg.="Erreur lors de la suppression de l'association de ".$tab_profs_associes[$loop]." avec la matière $matiere_name
"; } else { $nb_suppr++; } } else { $msg.="Dissociation impossible : Le professeur ".$tab_profs_associes[$loop]." enseigne la matière $matiere_name dans un ou des enseignements.
"; } } } if($nb_suppr>0) { $msg.="$nb_suppr professeur(s) a(ont) été dissocié(s) de la matière $matiere_name
"; } } } /* // 20161011 if((isset($_POST['force_modalite']))&&(isset($_POST['code_modalite_elect']))) { if($_POST['code_modalite_elect']=="") { } else { } } */ //$msg = rawurlencode($msg); header("location: index.php?msg=$msg"); die(); } $themessage = 'Des modifications ont été effectuées. Voulez-vous vraiment quitter sans enregistrer ?'; //**************** EN-TETE ******************************* $titre_page = "Gestion des matières | Modifier une matière"; require_once("../lib/header.inc.php"); //**************** FIN EN-TETE **************************** // On va chercher les infos de la matière que l'on souhaite modifier if (isset($_GET['current_matiere'])) { $call_data = mysqli_query($GLOBALS["mysqli"], "SELECT nom_complet, priority, categorie_id, code_matiere from matieres WHERE matiere='".$_GET['current_matiere']."'"); if(mysqli_num_rows($call_data)==0) { echo "

Retour Retour

La matière proposée n'existe pas.

"; require("../lib/footer.inc.php"); die(); } $lig_matiere=mysqli_fetch_object($call_data); $matiere_nom_complet = $lig_matiere->nom_complet; $matiere_priorite = $lig_matiere->priority; $matiere_cat_id = $lig_matiere->categorie_id; $code_matiere = $lig_matiere->code_matiere; $current_matiere = $_GET['current_matiere']; } else { $matiere_nom_complet = ""; $matiere_priorite = "0"; $current_matiere = ""; $matiere_cat_id = "0"; $code_matiere=""; } $chaine_options_matieres=""; $sql="SELECT * FROM matieres ORDER BY nom_complet, matiere;"; $res_matiere_tmp=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res_matiere_tmp)>0) { $matiere_prec=""; $matiere_suiv=""; $temoin_tmp=0; $cpt_matiere=0; $num_matiere=-1; while($lig_matiere_tmp=mysqli_fetch_object($res_matiere_tmp)){ if($lig_matiere_tmp->matiere==$current_matiere) { // Index de la matière dans les \n"; $temoin_tmp=1; if($lig_matiere_tmp=mysqli_fetch_object($res_matiere_tmp)){ $chaine_options_matieres.="\n"; $matiere_suiv=$lig_matiere_tmp->matiere; } else{ $matiere_suiv=""; } } else { $chaine_options_matieres.="\n"; } if($temoin_tmp==0) { $matiere_prec=$lig_matiere_tmp->matiere; } $cpt_matiere++; } } if($chaine_options_matieres!="") { $lien_matiere_precedente=""; if($matiere_prec!="") { $lien_matiere_precedente="Précédente"; } $lien_matiere_suivante=""; if($matiere_suiv!="") { $lien_matiere_suivante="Suivante"; } echo "\n"; echo "

Retour Retour | $lien_matiere_precedente $lien_matiere_suivante

"; } else { echo "

>Retour Retour

"; } echo "

"; echo add_token_field(); ?>
0) { while($lig=mysqli_fetch_object($res_profs)) { $tab_profs_associes[]=$lig->login; } } if(count($tab_profs_associes)>0) { echo "
"; if(count($tab_profs_associes)>1) { echo "

Les professeurs associés sont 
\n"; } elseif(count($tab_profs_associes)==1) { echo "

Un professeur est associé 
\n"; } echo "
\n"; echo "\n"; $alt=1; for($loop=0;$loop\n"; echo "\n"; echo "\n"; echo "\n"; } echo "
\n"; echo civ_nom_prenom($tab_profs_associes[$loop],"ini"); echo "
\n"; } } $cpt=0; $sql="SELECT DISTINCT u.login,u.nom,u.prenom,u.civilite FROM utilisateurs u WHERE u.statut='professeur' AND u.etat='actif' ORDER BY u.nom, u.prenom;"; $res_profs=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res_profs)>0) { echo "

Associer des professeurs :

\n"; //$cpt=0; while($lig=mysqli_fetch_object($res_profs)) { echo "login,$tab_profs_associes)) {echo "checked ";$temp_style=" style='font-weight:bold;'";} else {$temp_style="";} echo "/>
\n"; $cpt++; } } echo "\n"; ?>
"; $sql="SELECT * FROM nomenclatures_valeurs WHERE type='matiere' AND nom='libelle_edition' ORDER BY valeur;"; $res_nomenclature=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res_nomenclature)==0) { echo " "; } else { echo " "; } ?>
Nom de matière : (19 caractères maximum)"; } else { echo "".$current_matiere; } ?>
Nom complet :
Priorité d'affichage par défaut \n"; $k = '0'; echo "\n"; $k='11'; $j = '1'; //while ($k < '51'){ while ($k < 110){ echo "\n"; $k++; $j = $k - 10; } echo "
Nomenclature Aucune nomenclature
Nomenclature
Catégorie par défaut \n"; $get_cat = mysqli_query($GLOBALS["mysqli"], "SELECT id, nom_court FROM matieres_categories"); $test = mysqli_num_rows($get_cat); if ($test == 0) { echo ""; } else { while ($row = mysqli_fetch_array($get_cat, MYSQLI_ASSOC)) { echo ""; } } echo ""; //$tab_modalites=get_tab_modalites_election(); ?>

la valeur de modalité d'élection :

"; */ ?>

"; $res_ens=mysqli_query($GLOBALS["mysqli"], $sql); $nb_ens=mysqli_num_rows($res_ens); if($nb_ens==0) { echo "

Aucun enseignement n'est associé à la matière $current_matiere.

\n"; } else { echo "

$nb_ens enseignement(s) associé(s) à la matière $current_matiere : "; $chaine_domaines=""; for($loop=0;$loop"; echo "
"; while($lig_ens=mysqli_fetch_object($res_ens)) { $sql="SELECT c.id, c.classe FROM j_groupes_classes jgc, classes c WHERE jgc.id_classe=c.id AND jgc.id_groupe='$lig_ens->id' ORDER BY c.classe, c.nom_complet;"; $res_clas=mysqli_query($GLOBALS["mysqli"], $sql); $chaine_clas=""; if(mysqli_num_rows($res_clas)>0) { $cpt_clas=0; while($lig_clas=mysqli_fetch_object($res_clas)) { if($cpt_clas>0) {$chaine_clas.=", ";} $chaine_clas.="classe\">$lig_clas->classe"; $cpt_clas++; } } $sql="SELECT u.login, u.civilite, u.nom, u.prenom FROM utilisateurs u, j_groupes_professeurs jgp WHERE jgp.login=u.login AND jgp.id_groupe='$lig_ens->id' ORDER BY u.nom, u.prenom;"; $res_prof=mysqli_query($GLOBALS["mysqli"], $sql); $chaine_prof=""; if(mysqli_num_rows($res_prof)>0) { $cpt_prof=0; while($lig_prof=mysqli_fetch_object($res_prof)) { if($cpt_prof>0) {$chaine_prof.=", ";} $chaine_prof.="login\">$lig_prof->civilite $lig_prof->nom ".mb_substr($lig_prof->prenom,0,1).""; $cpt_prof++; } } echo "id\">$lig_ens->name ($lig_ens->description)"; if($chaine_clas!="") { echo " en $chaine_clas"; } if($chaine_prof!="") { echo " avec $chaine_prof"; } echo "
"; } echo "

\n"; $sql="select distinct jeg.login from j_eleves_groupes jeg, j_groupes_matieres jgm, j_eleves_classes jec where jeg.id_groupe=jgm.id_groupe AND jec.login=jeg.login AND jgm.id_matiere='$current_matiere';"; $res_ele=mysqli_query($GLOBALS["mysqli"], $sql); $eff_ele=mysqli_num_rows($res_ele); echo "

$eff_ele élève(s) sui(ven)t un enseignement dans la matière $current_matiere."; if($eff_ele>0) { echo "
Exporter la liste des élèves en CSV"; } echo "

"; } echo "
\n"; } ?>

Aide :