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 : INSERT INTO droits VALUES ( '/mod_discipline/definir_autres_sanctions.php', 'V', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'Discipline: Définir types sanctions', ''); // maj : $tab_req[] = "INSERT INTO droits VALUES ( '/mod_discipline/definir_autres_sanctions.php', 'V', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'Discipline: Définir types sanctions', '');;"; if (!checkAccess()) { header("Location: ../logout.php?auto=1"); die(); } if(mb_strtolower(mb_substr(getSettingValue('active_mod_discipline'),0,1))!='y') { $mess=rawurlencode("Vous tentez d accéder au module Discipline qui est désactivé !"); tentative_intrusion(1, "Tentative d'accès au module Discipline qui est désactivé."); header("Location: ../accueil.php?msg=$mess"); die(); } require('sanctions_func_lib.php'); $acces_ok="n"; if(($_SESSION['statut']=='administrateur')|| (($_SESSION['statut']=='cpe')&&(getSettingAOui('GepiDiscDefinirSanctionsCpe')))|| (($_SESSION['statut']=='scolarite')&&(getSettingAOui('GepiDiscDefinirSanctionsScol')))) { $acces_ok="y"; } else { $msg="Vous n'avez pas le droit de définir de nouvelles ".$mod_disc_terme_sanction."s."; header("Location: ./index.php?msg=$msg"); die(); } $reordonner="n"; $sql="SELECT * FROM s_types_sanctions2 WHERE rang='0';"; //echo "$sql
"; $test=mysqli_query($mysqli, $sql); if(mysqli_num_rows($test)>0) { $reordonner="y"; } //echo "reordonner=$reordonner
"; $sql="SELECT COUNT(rang) AS nbr_doublon, id_nature FROM s_types_sanctions2 GROUP BY rang HAVING COUNT(*)>1;"; //echo "$sql
"; $test=mysqli_query($mysqli, $sql); if(mysqli_num_rows($test)>0) { $reordonner="y"; } //echo "reordonner=$reordonner
"; $sql="SELECT MAX(rang) AS max_rang FROM s_types_sanctions2;"; //echo "$sql
"; $test1=mysqli_query($mysqli, $sql); $max_rang=""; if(mysqli_num_rows($test1)>0) { $lig_maxrang=mysqli_fetch_object($test1); $max_rang=$lig_maxrang->max_rang; } $sql="SELECT 1=1 FROM s_types_sanctions2;"; //echo "$sql
"; $test2=mysqli_query($mysqli, $sql); //echo mysqli_num_rows($test2)."
"; if($max_rang!=mysqli_num_rows($test2)) { $reordonner="y"; } //echo "reordonner=$reordonner
"; if($reordonner=="y") { $cpt_sts=1; $sql="SELECT * FROM s_types_sanctions2 ORDER BY rang, type, nature;"; //echo "$sql
"; $res_sts=mysqli_query($mysqli, $sql); while($lig_sts=mysqli_fetch_object($res_sts)) { $sql="UPDATE s_types_sanctions2 SET rang='".$cpt_sts."' WHERE id_nature='".$lig_sts->id_nature."';"; //echo "$sql
"; $update=mysqli_query($mysqli, $sql); $cpt_sts++; } } $msg=""; //debug_var(); $suppr_nature=isset($_POST['suppr_nature']) ? $_POST['suppr_nature'] : NULL; $nature=isset($_POST['nature']) ? $_POST['nature'] : NULL; $type=isset($_POST['type']) ? $_POST['type'] : NULL; $cpt=isset($_POST['cpt']) ? $_POST['cpt'] : 0; if((isset($_GET['move']))&&(isset($_GET['id_nature']))) { check_token(); $tab_sts=array(); $sql="SELECT * FROM s_types_sanctions2 ORDER BY rang, type, nature;"; $res_sts=mysqli_query($mysqli, $sql); $loop=0; $loop_modif=""; while($lig_sts=mysqli_fetch_object($res_sts)) { $tab_sts[$loop]['id_nature']=$lig_sts->id_nature; $tab_sts[$loop]['rang']=$lig_sts->rang; $tab_sts[$loop]['nature']=$lig_sts->nature; if($lig_sts->id_nature==$_GET['id_nature']) { $loop_modif=$loop; } $loop++; } /* echo "
";
	print_r($tab_sts);
	echo "
"; echo "\$loop_modif=$loop_modif
"; */ if(($_GET['move']=="up")&&($loop_modif>0)&&($tab_sts[$loop_modif]['rang']>1)) { $sql="UPDATE s_types_sanctions2 SET rang='".($tab_sts[$loop_modif]['rang']-1)."' WHERE id_nature='".$tab_sts[$loop_modif]['id_nature']."';"; //echo "$sql
"; $update=mysqli_query($mysqli, $sql); $sql="UPDATE s_types_sanctions2 SET rang='".($tab_sts[$loop_modif]['rang'])."' WHERE id_nature='".$tab_sts[$loop_modif-1]['id_nature']."';"; //echo "$sql
"; $update=mysqli_query($mysqli, $sql); } elseif(($_GET['move']=="down")&&($loop_modif"; $update=mysqli_query($mysqli, $sql); $sql="UPDATE s_types_sanctions2 SET rang='".($tab_sts[$loop_modif]['rang'])."' WHERE id_nature='".$tab_sts[$loop_modif+1]['id_nature']."';"; //echo "$sql
"; $update=mysqli_query($mysqli, $sql); } } if(isset($suppr_nature)) { check_token(); for($i=0;$i<$cpt;$i++) { if(isset($suppr_nature[$i])) { //$sql="SELECT 1=1 FROM s_autres_sanctions WHERE id_nature='$suppr_nature[$i]';"; $sql="SELECT 1=1 FROM s_sanctions WHERE id_nature_sanction='$suppr_nature[$i]';"; //echo "$sql
"; $test=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($test)>0) { $msg.="Il n'est pas possible de supprimer le type de ".$mod_disc_terme_sanction." n°".$suppr_nature[$i]." parce qu'il est associé à une ou des ".$mod_disc_terme_sanction."s déjà saisies pour un ou des élèves.
\n"; } else { $sql="DELETE FROM s_types_sanctions2 WHERE id_nature='$suppr_nature[$i]';"; $suppr=mysqli_query($GLOBALS["mysqli"], $sql); if(!$suppr) { $msg.="ERREUR lors de la suppression de la nature n°".$suppr_nature[$i].".
\n"; } else { $msg.="Suppression de la nature n°".$suppr_nature[$i].".
\n"; } } } } } if ($_SESSION['rne']!='') { $rne=$_SESSION['rne']."/"; } else { $rne=''; } $acces_upload_modele_ooo=false; if(getSettingAOui("active_mod_ooo")) { if(($_SESSION['statut']=="administrateur")|| (($_SESSION['statut']=="cpe")&&(getSettingAOui("OOoUploadCpeDiscipline")))|| (($_SESSION['statut']=="scolarite")&&(getSettingAOui("OOoUploadScolDiscipline")))) { $acces_upload_modele_ooo=true; } } if($acces_upload_modele_ooo) { if((isset($_GET['suppr_modele_odt']))&&(preg_match("/^[0-9]{1,}$/", $_GET['suppr_modele_odt']))) { check_token(); if(file_exists("../mod_ooo/mes_modeles/".$rne."discipline_sanction_".$_GET['suppr_modele_odt'].".odt")) { if(unlink("../mod_ooo/mes_modeles/".$rne."discipline_sanction_".$_GET['suppr_modele_odt'].".odt")) { $msg.="Modèle spécifique n°".$_GET['suppr_modele_odt']." supprimé.
"; } else { $msg.="Erreur lors de la suppression du modèle spécifique n°".$_GET['suppr_modele_odt'].".
"; } } else { $msg.="Modèle spécifique n°".$_GET['suppr_modele_odt']." non trouvé.
"; } } if(isset($_FILES['modele_odt'])) { check_token(); $modele_odt=$_FILES['modele_odt']; /* echo "
";
		print_r($modele_odt);
		echo "
"; */ $nb_fichiers_mis_en_place=0; if((isset($modele_odt['name']))&&(is_array($modele_odt['name']))) { foreach($modele_odt['name'] as $id_nature_sanction => $nom_fichier) { $monfichiername=$modele_odt['name'][$id_nature_sanction]; $monfichiertype=$modele_odt['type'][$id_nature_sanction]; $monfichiererror=$modele_odt['error'][$id_nature_sanction]; $monfichiersize=$modele_odt['size'][$id_nature_sanction]; $monfichiertmp_name=$modele_odt['tmp_name'][$id_nature_sanction]; if($monfichiererror==0) { $poursuivre="y"; if(file_exists("../mod_ooo/mes_modeles/".$rne."discipline_sanction_".$id_nature_sanction.".odt")) { if(unlink("../mod_ooo/mes_modeles/".$rne."discipline_sanction_".$id_nature_sanction.".odt")) { $msg.="Modèle spécifique précédent n°".$id_nature_sanction." supprimé.
"; } else { $msg.="Erreur lors de la suppression du modèle spécifique précédent n°".$id_nature_sanction.".
"; $poursuivre="n"; } } if($poursuivre=="y") { $res_copy=copy($monfichiertmp_name , "../mod_ooo/mes_modeles/".$rne."discipline_sanction_".$id_nature_sanction.".odt"); if(!$res_copy) { $msg.="Erreur lors de la mise en place du fichier discipline_sanction_".$id_nature_sanction.".odt"; } else { $nb_fichiers_mis_en_place++; } } } } } if($nb_fichiers_mis_en_place>0) { $msg.=$nb_fichiers_mis_en_place." fichier(s) mis en place.
"; } } } //if((isset($nature))&&($nature!='')&&(isset($type))&&(($type=='prise')||($type=='demandee'))) { if(isset($nature)) { $a_enregistrer='y'; check_token(); $saisie_prof=isset($_POST['saisie_prof']) ? $_POST['saisie_prof'] : array(); $sql="SELECT * FROM s_types_sanctions2 ORDER BY nature;"; $res=mysqli_query($GLOBALS["mysqli"], $sql); $nb_types_sanctions=mysqli_num_rows($res); if($nb_types_sanctions>0) { $tab_nature=array(); $tab_saisie_prof_avant=array(); while($lig=mysqli_fetch_object($res)) { $tab_nature[]=$lig->nature; if($lig->saisie_prof=="y") { $tab_saisie_prof_avant[]=$lig->id_nature; } if((!in_array($lig->id_nature, $saisie_prof))&&(in_array($lig->id_nature, $tab_saisie_prof_avant))) { $sql="UPDATE s_types_sanctions2 SET saisie_prof='n' WHERE id_nature='$lig->id_nature';"; $update=mysqli_query($GLOBALS["mysqli"], $sql); if(!$update) { $msg.="Erreur lors de la suppression de la possibilité de saisie professeur de $lig->nature.
"; } else { $msg.="Suppression de la possibilité de saisie professeur de $lig->nature.
"; } } } if(in_array($nature,$tab_nature)) { $a_enregistrer='n'; $msg.="La nature ".$nature." existe déjà.
\n"; } } for($loop=0;$loop"; } else { $msg.="Enregistrement de la possibilité de saisie professeur des $mod_disc_terme_sanction n°".$saisie_prof[$loop].".
"; } } } if((isset($nature))&&($nature!='')) { if($a_enregistrer=='y') { if(!in_array($type, $types_autorises)) { $msg.="Le type de ".$mod_disc_terme_sanction." choisi n'est pas autorisé : ".$type.".
\n"; } else { $nature=suppression_sauts_de_lignes_surnumeraires($nature); $nb_types_sanctions++; $sql="INSERT INTO s_types_sanctions2 SET nature='".$nature."', type='".$type."', rang='".$nb_types_sanctions."';"; //echo "$sql
\n"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if(!$res) { $msg.="ERREUR lors de l'enregistrement de ".$nature."
\n"; } else { $msg.="Enregistrement de ".$nature."
\n"; } } } } } $themessage = 'Des informations ont été modifiées. Voulez-vous vraiment quitter sans enregistrer ?'; //**************** EN-TETE ***************** $titre_page = "Discipline: Définition des types de ".$mod_disc_terme_sanction."s"; require_once("../lib/header.inc.php"); //**************** FIN EN-TETE ***************** //debug_var(); echo "

Retour Retour\n"; echo "

\n"; echo "

Les types de ".$mod_disc_terme_sanction."s prédéfinis sont: Retenue, Exclusion, Travail.
La présente page est destinée à ajouter d'autres types de ".$mod_disc_terme_sanction."s ('mise au pilori', 'flagellation avec des orties', 'regarder Questions pour un champion',... selon les goûts de l'établissement en matière de supplices divers;o).

Vous pouvez maintenant aussi ajouter des ".$mod_disc_terme_sanction."s variantes de retenue, d'exclusion,... en en précisant le type.

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

Saisie de types de ".$mod_disc_terme_sanction."s :

\n"; echo "
\n"; $active_mod_ooo=getSettingAOui('active_mod_ooo'); $cpt=0; $sql="SELECT * FROM s_types_sanctions2 ORDER BY rang, type, nature;"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res)==0) { echo "

Aucune ".$mod_disc_terme_sanction." supplémentaire n'est encore définie.

\n"; } else { echo "

".$mod_disc_terme_sanction."s existantes :

\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; // 20160315 if($active_mod_ooo) { echo "\n"; echo "\n"; } echo "\n"; echo "\n"; echo "\n"; $alt=1; $nb_sts=mysqli_num_rows($res); while($lig=mysqli_fetch_object($res)) { $alt=$alt*(-1); echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; // 20160315 if($active_mod_ooo) { echo "\n"; echo "\n"; } echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; $cpt++; } echo "
IdNatureTypeProfesseurModèle OOo par défautModèle OOo personnaliséRangSupprimer
\n"; echo ""; echo "\n"; echo ""; echo "\n"; echo $lig->type; echo "\n"; echo "id_nature\" "; if($lig->saisie_prof=="y") {echo "checked ";} echo "onchange='changement();' />"; echo "\n"; if($lig->type=="retenue") { echo "Voir"; } elseif(file_exists("../mod_ooo/modeles_gepi/discipline_".$lig->type.".odt")) { echo "Voir"; } echo "\n"; if($acces_upload_modele_ooo) { if(file_exists("../mod_ooo/mes_modeles/".$rne."discipline_sanction_".$lig->id_nature.".odt")) { echo "Éditer"; echo " Supprimer le modèle"; } else { echo ""; } } elseif(file_exists("../mod_ooo/mes_modeles/".$rne."discipline_sanction_".$lig->id_nature.".odt")) { echo "Éditer"; } echo "\n"; if($cpt>0) { echo "id_nature.add_token_in_url()."#tab' onclick=\"return confirm_abandon (this, change, '$themessage')\">Up"; } echo "\n"; echo $lig->rang; echo "\n"; if($cpt<$nb_sts-1) { echo "id_nature.add_token_in_url()."#tab' onclick=\"return confirm_abandon (this, change, '$themessage')\">Down"; } echo ""; $sql="SELECT 1=1 FROM s_sanctions WHERE id_nature_sanction='$lig->id_nature';"; //echo "$sql
"; $test=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($test)==0) { echo "id_nature\" onchange='changement();' />"; } else { echo "Nature associée"; } echo "
\n"; } echo "

Nouvelle nature : \n"; echo " de type \n"; echo "

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

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


\n"; echo "

NOTES :

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


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