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(); } //include("../fckeditor/fckeditor.php") ; // Check access // INSERT INTO droits VALUES ('/saisie/saisie_mentions.php', 'V', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'Saisie de mentions', ''); if (!checkAccess()) { header("Location: ../logout.php?auto=1"); die(); } $msg=""; $saisie_mention=isset($_POST['saisie_mention']) ? $_POST['saisie_mention'] : NULL; $nouvelle_mention=isset($_POST['nouvelle_mention']) ? $_POST['nouvelle_mention'] : NULL; $suppr=isset($_POST['suppr']) ? $_POST['suppr'] : NULL; $id_classe=isset($_POST['id_classe']) ? $_POST['id_classe'] : NULL; $associer_mentions_classes=isset($_POST['associer_mentions_classes']) ? $_POST['associer_mentions_classes'] : (isset($_GET['associer_mentions_classes']) ? $_GET['associer_mentions_classes'] : NULL); $saisie_association_mentions_classes=isset($_POST['saisie_association_mentions_classes']) ? $_POST['saisie_association_mentions_classes'] : NULL; $id_mention=isset($_POST['id_mention']) ? $_POST['id_mention'] : array(); $saisie_ordre_mentions=isset($_POST['saisie_ordre_mentions']) ? $_POST['saisie_ordre_mentions'] : NULL; $ordre_id_mention=isset($_POST['ordre_id_mention']) ? $_POST['ordre_id_mention'] : array(); $gepi_denom_mention=getSettingValue("gepi_denom_mention"); if($gepi_denom_mention=="") { $gepi_denom_mention="mention"; } //debug_var(); if(isset($saisie_mention)) { check_token(); $cpt_suppr=0; $tab_mentions=get_mentions(); $tab_mentions_aff=get_tab_mentions_affectees(); for($i=0;$i"; $nettoyage=mysqli_query($GLOBALS["mysqli"], $sql); if(!$nettoyage) { $msg.="Erreur lors de la suppression de l'association de la $gepi_denom_mention ".$tab_mentions[$suppr[$i]]." avec une ou des classes.
"; } else { $sql="DELETE FROM mentions WHERE id='$suppr[$i]';"; //echo "$sql
"; $nettoyage=mysqli_query($GLOBALS["mysqli"], $sql); if(!$nettoyage) { $msg.="Erreur lors de la suppression de la $gepi_denom_mention ".$tab_mentions[$suppr[$i]]."
"; } else { $cpt_suppr++; } } } } if($cpt_suppr>0) { $msg.="$cpt_suppr $gepi_denom_mention(s) supprimée(s).
"; } if($nouvelle_mention!="") { $sql="SELECT 1=1 FROM mentions WHERE mention='$nouvelle_mention';"; //echo "$sql
"; $test=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($test)>0) { $msg.="La $gepi_denom_mention $nouvelle_mention existe déjà.
"; } else { $sql="INSERT INTO mentions SET mention='$nouvelle_mention';"; //echo "$sql
"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if(!$res) { $msg.="Erreur lors de l'ajout de la $gepi_denom_mention $nouvelle_mention
"; } else { $msg.=ucfirst($gepi_denom_mention)." $nouvelle_mention ajoutée.
"; } } } } if(isset($saisie_association_mentions_classes)) { check_token(); $enregistrement_ok="n"; $cpt_reg=0; $tab_mentions=get_mentions(); for($i=0;$i"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res)>0) { while ($lig=mysqli_fetch_object($res)) { $tab_mentions_classe[]=$lig->id_mention; } } /* echo "

\$tab_mentions_classe:
"; foreach($tab_mentions_classe as $key => $value) { echo "\$tab_mentions_classe[$key]=$value
"; } echo "


"; echo "

\$id_mention:
"; foreach($id_mention as $key => $value) { echo "\$id_mention[$key]=$value
"; } echo "


"; */ foreach($tab_mentions as $key => $value) { //echo "\$key=$key
"; if((!in_array($key, $id_mention))&&(in_array($key, $tab_mentions_classe))&&(!in_array($key, $tab_mentions_aff))) { $sql="DELETE FROM j_mentions_classes WHERE id_classe='$id_classe[$i]' AND id_mention='$key';"; //echo "$sql
"; $nettoyage=mysqli_query($GLOBALS["mysqli"], $sql); if(!$nettoyage) { $msg.="Erreur lors de la suppression de la $gepi_denom_mention ".$value." pour la classe ".get_class_from_id($id_classe[$i]).".
"; } else {$cpt_reg++;} } elseif((in_array($key, $id_mention))&&(!in_array($key, $tab_mentions_classe))) { $sql="INSERT INTO j_mentions_classes SET id_classe='$id_classe[$i]', id_mention='$key';"; //echo "$sql
"; $insert=mysqli_query($GLOBALS["mysqli"], $sql); if(!$insert) { $msg.="Erreur lors de l'association de la $gepi_denom_mention ".$value." avec la classe ".get_class_from_id($id_classe[$i]).".
"; } else {$cpt_reg++;} } } } if(($msg=="")&&($cpt_reg>0)) { $msg.=$cpt_reg." enregistrement(s) effectué(s) (".strftime("Le %d/%m/%Y à %H:%M:%S").").
"; $enregistrement_ok="y"; } } if(isset($saisie_ordre_mentions)) { check_token(); $cpt_reg=0; $tab_mentions=get_mentions(); for($i=0;$i"; $update=mysqli_query($GLOBALS["mysqli"], $sql); if(!$update) { $msg.="Erreur lors de l'enregistrement de l'ordre $j pour la $gepi_denom_mention ".$tab_mentions[$ordre_id_mention[$j]]." pour la classe ".get_class_from_id($id_classe[$i]).".
"; } else {$cpt_reg++;} } } if(($msg=="")&&($cpt_reg>0)) { $msg.=$cpt_reg." enregistrement(s) effectué(s) (".strftime("Le %d/%m/%Y à %H:%M:%S").").
"; $enregistrement_ok="y"; } } // Begin standart header $titre_page = "Saisie de ".$gepi_denom_mention."s"; //==================================== // End standart header require_once("../lib/header.inc.php"); if (!loadSettings()) { die("Erreur chargement settings"); } //==================================== //debug_var(); function insere_mentions_par_defaut() { $cpt_erreur=0; $cpt_reg=0; $retour=""; $tab_mentions=array('Félicitations', 'Mention honorable', 'Encouragements'); for($i=0;$i0) { $retour.="La $gepi_denom_mention '$tab_mentions[$i]' est déjà enregistrée.
\n"; } else { $sql="INSERT INTO mentions SET mention='$tab_mentions[$i]';"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if(!$res) {$cpt_erreur++;} else {$cpt_reg++;} } } if($cpt_erreur>0) { $retour.="$cpt_erreur erreur(s) lors de l'insertion des ".$gepi_denom_mention."s par défaut.
\n"; } if($cpt_reg>0) { $retour.="$cpt_reg $gepi_denom_mention(s) enregistrée(s).
\n"; } return $retour; } $sql="SHOW TABLES LIKE 'mentions';"; $test=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($test)==0) { $sql="CREATE TABLE IF NOT EXISTS mentions ( id INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY , mention VARCHAR(255) NOT NULL ) ENGINE=MyISAM CHARACTER SET utf8 COLLATE utf8_general_ci;"; //echo "$sql
"; $resultat_creation_table=mysqli_query($GLOBALS["mysqli"], $sql); echo "

".insere_mentions_par_defaut()."

\n"; } $sql="CREATE TABLE IF NOT EXISTS j_mentions_classes ( id INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY , id_mention INT(11) NOT NULL , id_classe INT(11) NOT NULL , ordre TINYINT(4) NOT NULL ) ENGINE=MyISAM CHARACTER SET utf8 COLLATE utf8_general_ci;"; $resultat_creation_table=mysqli_query($GLOBALS["mysqli"], $sql); echo "

Retour"; if(!isset($associer_mentions_classes)) { echo " | Sélectionner les ".$gepi_denom_mention."s associées aux classes"; echo "

\n"; echo "
\n"; echo add_token_field(); echo "

Liste des ".$gepi_denom_mention."s définies :

"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; $tab_mentions=get_mentions(); $tab_mentions_aff=get_tab_mentions_affectees(); //for($i=0;$i $value) { echo "\n"; echo "\n"; echo "\n"; echo "\n"; } echo "
".ucfirst($gepi_denom_mention)."Supprimer
"; if(!in_array($key,$tab_mentions_aff)) { echo ""; } else { echo "Suppression impossible: ".ucfirst($gepi_denom_mention)." donnée à au moins un élève."; } echo "
\n"; echo "

".ucfirst($gepi_denom_mention)." à ajouter :

\n"; echo "

\n"; echo "

\n"; echo "
\n"; echo "


\n"; echo "

NOTES :

  • L'intitulé $gepi_denom_mention peut être modifié dans la page Configuration générale

  • Pour que le champ de saisie d'une $gepi_denom_mention n'apparaisse pas (lors de la saisie de l'avis du conseil de classe) pour une classe donnée, il suffit qu'aucune $gepi_denom_mention ne soit associée à la classe.

  • Extrait de l'article R511-13 du code de l'éducation : Il rappelle que dans les lycées et collèges relevant du ministre chargé de l'éducation, les sanctions qui peuvent être prononcées à l'encontre des élèves sont les suivantes :

    1. L'avertissement
    2. Le blâme ;
    3. La mesure de responsabilisation ;
    4. L'exclusion temporaire de la classe. Pendant l'accomplissement de la sanction, l'élève est accueilli dans l'établissement. La durée de cette exclusion ne peut excéder huit jours ;
    5. L'exclusion temporaire de l'établissement ou de l'un de ses services annexes. La durée de cette exclusion ne peut excéder huit jours ;
    6. L'exclusion définitive de l'établissement ou de l'un de ses services annexes.

    Les sanctions peuvent être assorties d'un sursis total ou partiel.
    L'avertissement, le blâme et la mesure de responsabilisation sont effacés du dossier administratif de l'élève à l'issue de l'année scolaire.
    Les autres sanctions, hormis l'exclusion définitive, sont effacées du dossier administratif de l'élève au bout d'un an.

    Le règlement intérieur reproduit l'échelle des sanctions et prévoit les mesures de prévention et d'accompagnement ainsi que les modalités de la mesure de responsabilisation.
    Le lien sur Légifrance.

\n"; echo "

Pour ne pas poser de problèmes sur les bulletins PDF, il est recommandé pour le moment (à améliorer) :

  • de ne pas dépasser 18 caractères dans une $gepi_denom_mention
  • de ne pas définir plus de 8 ".$gepi_denom_mention."s différentes pour une même classe
\n"; } else { echo " | Saisir des ".$gepi_denom_mention."s"; if(!isset($id_classe)) { echo "

\n"; echo "

Pour quelle(s) classe(s) souhaitez-vous choisir les ".$gepi_denom_mention."s ?

\n"; $sql="select distinct id,classe from classes order by classe"; $classes_list=mysqli_query($GLOBALS["mysqli"], $sql); $nb=mysqli_num_rows($classes_list); if($nb==0){ echo "

Aucune classe n'est encore définie...

\n"; require("../lib/footer.inc.php"); die(); } echo "
\n"; echo add_token_field(); $nb_class_par_colonne=round($nb/3); echo "\n"; echo "\n"; $i=0; echo "\n"; echo "\n"; //echo "\n"; echo "\n"; echo "
     \n"; while ($i < $nb) { $id_classe=old_mysql_result($classes_list, $i, 'id'); //$temp = "id_classe_".$id_classe; $classe=old_mysql_result($classes_list, $i, 'classe'); if(($i>0)&&(round($i/$nb_class_par_colonne)==$i/$nb_class_par_colonne)){ echo "\n"; echo "\n"; } echo "
\n"; $i++; } echo "
\n"; //echo "\n"; echo "\n"; echo "

\n"; echo "
\n"; echo "

Cocher / décocher toutes les classes.

\n"; echo "\n"; } elseif(!isset($enregistrement_ok)) { echo " | Choisir d'autres classes"; echo "

\n"; echo "
\n"; echo add_token_field(); $tab_nom_classe=array(); $sql="SELECT DISTINCT id_mention FROM j_mentions_classes WHERE ("; echo "

Choisir les ".$gepi_denom_mention."s pour la ou les classes : "; for($i=0;$i0) { echo ", "; $sql.=" OR "; } $tab_nom_classe[$id_classe[$i]]=get_class_from_id($id_classe[$i]); echo "".$tab_nom_classe[$id_classe[$i]].""; echo "\n"; //echo " ($id_classe[$i])"; $sql.="id_classe='$id_classe[$i]'"; $tab_mentions_classe[$i]=get_tab_mentions_affectees($id_classe[$i]); } $sql.=")"; echo "
\n"; $tab_mentions=get_mentions(); $tab_mentions_aff=get_tab_mentions_affectees(); //select * from avis_conseil_classe acc, j_eleves_classes jec where acc.login=jec.login AND id_mention='2' AND id_classe='44'; //delete from avis_conseil_classe where login in (select login from j_eleves_classes where id_classe='44'); //update avis_conseil_classe set id_mention='0' where login in (select login from j_eleves_classes where id_classe='33'); $tab_mentions_classes=array(); $res=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res)>0) { while($lig=mysqli_fetch_object($res)) { $tab_mentions_classes[]=$lig->id_mention; } } echo "parmi les ".$gepi_denom_mention."s suivantes :

"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; //for($i=0;$i $value) { echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; } echo "
Cocher".ucfirst($gepi_denom_mention)."Classes déjà associéesClasses manquantes
"; $tmp_tab_clas_mention_courante=array(); $chaine_classes=""; $sql="SELECT DISTINCT c.classe, c.id FROM classes c, j_mentions_classes j WHERE j.id_classe=c.id AND j.id_mention='$key' ORDER BY c.classe;"; //echo "$sql
"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res)>0) { $cpt_classe=0; while($lig=mysqli_fetch_object($res)) { $tmp_tab_clas_mention_courante[]=$lig->id; if($cpt_classe>0) {$chaine_classes.=", ";} if(in_array($lig->id, $id_classe)) { $chaine_classes.="".$lig->classe.""; } else { $chaine_classes.=$lig->classe; } $cpt_classe++; } } /* echo ""; */ $mention_associee="n"; for($i=0;$i "; } else { echo ""; } echo "
"; echo $chaine_classes; echo ""; $chaine_classes_manquantes=""; for($i=0;$i\n"; echo "
\n"; echo "\n"; echo "\n"; echo "

\n"; echo "
\n"; } else { echo " | Choisir d'autres classes"; echo "

\n"; // Ordre des mentions echo "
\n"; echo add_token_field(); $sql="SELECT DISTINCT id_mention FROM j_mentions_classes WHERE ("; echo "

Choisir l'ordre des ".$gepi_denom_mention."s pour la ou les classes : "; for($i=0;$i0) { echo ", "; $sql.=" OR "; } echo "".get_class_from_id($id_classe[$i]).""; echo "\n"; $sql.="id_classe='$id_classe[$i]'"; } echo ".

\n"; $sql.=") ORDER BY ordre, id_mention;"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res)==0) { echo "

Aucune $gepi_denom_mention n'est associée à ces classes.

\n"; require("../lib/footer.inc.php"); die(); } $tab_mentions=get_mentions(); echo "

Les ".$gepi_denom_mention."s sont :

\n"; echo "
    \n"; $tab_mentions_classes=array(); while($lig=mysqli_fetch_object($res)) { $tab_mentions_classes[]=$lig->id_mention; echo "
  • ".$tab_mentions[$lig->id_mention]; echo "\n"; echo "
  • \n"; } echo "
\n"; echo "

Ordre choisi :

\n"; echo "
    \n"; for($i=0;$i\n"; echo "\n"; echo "\n"; } echo "
\n"; echo "\n"; echo "\n"; echo "

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