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(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');
// Pour choisir de n'afficher que les incidents de la date indiquée:
$date_incident=isset($_POST['date_incident']) ? $_POST['date_incident'] : (isset($_GET['date_incident']) ? $_GET['date_incident'] : "");
$heure_incident=isset($_POST['heure_incident']) ? $_POST['heure_incident'] : (isset($_GET['heure_incident']) ? $_GET['heure_incident'] : "");
//$nature_incident=isset($_POST['nature_incident']) ? $_POST['nature_incident'] : (isset($_GET['nature_incident']) ? $_GET['nature_incident'] : "");
$nature_incident=isset($_POST['nature_incident']) ? $_POST['nature_incident'] : (isset($_GET['nature_incident']) ? $_GET['nature_incident'] : "---");
$protagoniste_incident=isset($_POST['protagoniste_incident']) ? $_POST['protagoniste_incident'] : (isset($_GET['protagoniste_incident']) ? $_GET['protagoniste_incident'] : "");
//$declarant_incident=isset($_POST['declarant_incident']) ? $_POST['declarant_incident'] : (isset($_GET['declarant_incident']) ? $_GET['declarant_incident'] : "");
$declarant_incident=isset($_POST['declarant_incident']) ? $_POST['declarant_incident'] : (isset($_GET['declarant_incident']) ? $_GET['declarant_incident'] : "---");
//echo "\$declarant_incident=$declarant_incident
";
$declarant_incident2=isset($_POST['declarant_incident2']) ? $_POST['declarant_incident2'] : (isset($_GET['declarant_incident2']) ? $_GET['declarant_incident2'] : NULL);
if((isset($_POST['valider']))&&(isset($_SESSION['mod_discipline_traiter_incident_declarant_incident']))) {
unset($_SESSION['mod_discipline_traiter_incident_declarant_incident']);
}
if(isset($declarant_incident2)) {
$declarant_incident=$declarant_incident2;
$_SESSION['mod_discipline_traiter_incident_declarant_incident']=$declarant_incident;
}
if((!isset($_POST['valider']))&&(isset($_SESSION['mod_discipline_traiter_incident_declarant_incident']))) {
$declarant_incident=$_SESSION['mod_discipline_traiter_incident_declarant_incident'];
}
//$_SESSION['mod_discipline_traiter_incident_declarant_incident']=$declarant_incident;
/*
if(isset($_SESSION['mod_discipline_traiter_incident_declarant_incident'])) {
$declarant_incident=$_SESSION['mod_discipline_traiter_incident_declarant_incident'];
}
*/
//echo "\$declarant_incident2=$declarant_incident2
";
//echo "\$declarant_incident=$declarant_incident
";
$incidents_clos=isset($_POST['incidents_clos']) ? $_POST['incidents_clos'] : (isset($_GET['incidents_clos']) ? $_GET['incidents_clos'] : "n");
$id_classe_incident=isset($_POST['id_classe_incident']) ? $_POST['id_classe_incident'] : (isset($_GET['id_classe_incident']) ? $_GET['id_classe_incident'] : "");
//$declarant_incident=isset($_POST['declarant_incident']) ? $_POST['declarant_incident'] : (isset($_GET['declarant_incident']) ? $_GET['declarant_incident'] : "");
$msg="";
//if(isset($_POST['modifier_etat_incidents'])) {
//$etat_incident=isset($_POST['etat_incident']) ? $_POST['etat_incident'] : NULL;
$form_id_incident=isset($_POST['form_id_incident']) ? $_POST['form_id_incident'] : NULL;
//if(isset($etat_incident)) {
if(isset($form_id_incident)) {
//$form_id_incident=isset($_POST['form_id_incident']) ? $_POST['form_id_incident'] : NULL;
$etat_incident=isset($_POST['etat_incident']) ? $_POST['etat_incident'] : array();
for($i=0;$i
\n";
}
}
}
}
//}
//if(isset($_POST['suppr_incident'])) {
if((isset($_POST['suppr_incident']))&&(($_SESSION['statut']!='professeur')||($_SESSION['statut']=='autre'))) {
check_token();
$suppr_incident=$_POST['suppr_incident'];
for($i=0;$i
\n";
$temoin_erreur="y";
}
}
if($temoin_erreur=="n") {
$sql="SELECT id_sanction FROM s_sanctions s WHERE s.id_incident='$suppr_incident[$i]';";
//echo "$sql
\n";
$res_sanction=mysqli_query($GLOBALS["mysqli"], $sql);
if(mysqli_num_rows($res_sanction)>0) {
while($lig=mysqli_fetch_object($res_sanction)) {
$sql="DELETE FROM s_retenues WHERE id_sanction='$lig->id_sanction';";
//echo "$sql
\n";
$res=mysqli_query($GLOBALS["mysqli"], $sql);
if(!$res) {
$msg.="ERREUR lors de la suppression de retenues attachées à l'".$mod_disc_terme_incident." ".$suppr_incident[$i]." (".strftime("%d/%m/%Y à %H:%M:%S").").
\n";
$temoin_erreur="y";
}
$sql="DELETE FROM s_exclusions WHERE id_sanction='$lig->id_sanction';";
//echo "$sql
\n";
$res=mysqli_query($GLOBALS["mysqli"], $sql);
if(!$res) {
$msg.="ERREUR lors de la suppression d'excluions attachées à l'".$mod_disc_terme_incident." ".$suppr_incident[$i]." (".strftime("%d/%m/%Y à %H:%M:%S").").
\n";
$temoin_erreur="y";
}
$sql="DELETE FROM s_travail WHERE id_sanction='$lig->id_sanction';";
//echo "$sql
\n";
$res=mysqli_query($GLOBALS["mysqli"], $sql);
if(!$res) {
$msg.="ERREUR lors de la suppression de travaux attachés à l'".$mod_disc_terme_incident." ".$suppr_incident[$i]." (".strftime("%d/%m/%Y à %H:%M:%S").").
\n";
$temoin_erreur="y";
}
$sql="DELETE FROM s_autres_sanctions WHERE id_sanction='$lig->id_sanction';";
//echo "$sql
\n";
$res=mysqli_query($GLOBALS["mysqli"], $sql);
if(!$res) {
$msg.="ERREUR lors de la suppression d'autres ".$mod_disc_terme_sanction."s attachées à l'".$mod_disc_terme_incident." ".$suppr_incident[$i].".
\n";
$temoin_erreur="y";
}
}
if($temoin_erreur=="n") {
//$sql="DELETE FROM s_sanctions s WHERE s.id_incident='$suppr_incident[$i]';";
$sql="DELETE FROM s_sanctions WHERE id_incident='$suppr_incident[$i]';";
//echo "$sql
\n";
$res=mysqli_query($GLOBALS["mysqli"], $sql);
if(!$res) {
$msg.="ERREUR lors de la suppression de la ".$mod_disc_terme_sanction." associée à l'".$mod_disc_terme_incident." ".$suppr_incident[$i]." (".strftime("%d/%m/%Y à %H:%M:%S").").
\n";
$temoin_erreur="y";
}
}
}
if($temoin_erreur=="n") {
$sql="DELETE FROM s_traitement_incident WHERE id_incident='$suppr_incident[$i]';";
//echo "$sql
\n";
$res=mysqli_query($GLOBALS["mysqli"], $sql);
if(!$res) {
$msg.="ERREUR lors de la suppression des traitements d'".$mod_disc_terme_incident." (mesures) de l'".$mod_disc_terme_incident." ".$suppr_incident[$i]." (".strftime("%d/%m/%Y à %H:%M:%S").").
\n";
$temoin_erreur="y";
}
if($temoin_erreur=="n") {
$sql="DELETE FROM s_travail_mesure WHERE id_incident='$suppr_incident[$i]';";
//echo "$sql
\n";
$res=mysqli_query($GLOBALS["mysqli"], $sql);
if(!$res) {
$msg.="ERREUR lors de la suppression des travaux proposés pour une mesure demandée de l'".$mod_disc_terme_incident." ".$suppr_incident[$i]." (".strftime("%d/%m/%Y à %H:%M:%S").").
\n";
$temoin_erreur="y";
}
}
if($temoin_erreur=="n") {
$sql="DELETE FROM s_incidents WHERE id_incident='$suppr_incident[$i]';";
//echo "$sql
\n";
$res=mysqli_query($GLOBALS["mysqli"], $sql);
if(!$res) {
$msg.="ERREUR lors de la suppression de l'".$mod_disc_terme_incident." ".$suppr_incident[$i]." (".strftime("%d/%m/%Y à %H:%M:%S").").
\n";
}
}
}
}
}
}
if(isset($_POST['valider_saisie_travail'])) {
check_token();
$id_incident=isset($_POST['id_incident']) ? $_POST['id_incident'] : NULL;
$id_sanction=isset($_POST['id_sanction']) ? $_POST['id_sanction'] : NULL;
$ele_login=isset($_POST['ele_login']) ? $_POST['ele_login'] : NULL;
if((!isset($id_incident))) {
$msg.="ERREUR : Numéro d'incident non défini (".strftime("%d/%m/%Y à %H:%M:%S").").
";
}
elseif((!isset($id_sanction))) {
$msg.="ERREUR : Numéro de sanction non défini (".strftime("%d/%m/%Y à %H:%M:%S").").
";
}
elseif((!isset($ele_login))) {
$msg.="ERREUR : Élève non choisi (".strftime("%d/%m/%Y à %H:%M:%S").").
";
}
else {
// Vérifier si l'incident est ouvert
unset($id_incident);
unset($id_sanction);
unset($ele_login);
}
}
$themessage = 'Des informations ont été modifiées. Voulez-vous vraiment quitter sans enregistrer ?';
//**************** EN-TETE *****************
if (($_SESSION['statut']=='professeur')||($_SESSION['statut']=='autre')) {
$titre_page = "Discipline: Consulter un ".$mod_disc_terme_incident;
}
else {
$titre_page = "Discipline: Traiter un ".$mod_disc_terme_incident;
}
require_once("../lib/header.inc.php");
//**************** FIN EN-TETE *****************
//debug_var();
// Paramètres destinés à récupérer une partie seulement des incidents
$limit=isset($_POST['limit']) ? $_POST['limit'] : (isset($_GET['limit']) ? $_GET['limit'] : 20);
$debut=isset($_POST['debut']) ? $_POST['debut'] : (isset($_GET['debut']) ? $_GET['debut'] : 0);
//===================================
$email_visiteur="";
$sql="SELECT email FROM utilisateurs WHERE login='".$_SESSION['login']."' AND email!='';";
$res_mail=mysqli_query($GLOBALS["mysqli"], $sql);
if(mysqli_num_rows($res_mail)>0) {
$lig_mail=mysqli_fetch_object($res_mail);
$email_visiteur=$lig_mail->email;
}
//===================================
// Tableau destiné à stocker la désignation d'un professeur, élève,... pour ne pas faire plusieurs fois les mêmes requêtes
$tab_individu=array();
echo "
Retour à l'index\n";
//echo "
Aucun incident n'est encore déclaré"; if(($date_incident!="")|| ($heure_incident!="")|| ($nature_incident!="---")|| (($declarant_incident!="---")&&($declarant_incident!=""))|| ($protagoniste_incident!="")|| //($declarant_incident!="")|| ($id_classe_incident!="")) {echo " avec les critères choisis";} echo ".
\n"; } else { $res=mysqli_query($GLOBALS["mysqli"], $sql2); if(mysqli_num_rows($res)==0) { echo "Aucun ".$mod_disc_terme_incident." n'est encore déclaré"; if(($date_incident!="")|| ($heure_incident!="")|| ($nature_incident!="---")|| (($declarant_incident!="---")&&($declarant_incident!=""))|| ($protagoniste_incident!="")|| //($declarant_incident!="")|| ($id_classe_incident!="")) {echo " avec les critères choisis";} echo ".
\n"; } else { echo "Aucun incident (non clos) n'est déclaré"; if(($date_incident!="")|| ($heure_incident!="")|| ($nature_incident!="---")|| (($declarant_incident!="---")&&($declarant_incident!=""))|| ($protagoniste_incident!="")|| //($declarant_incident!="")|| ($id_classe_incident!="")) {echo " avec les critères choisis";} echo ".
\n"; echo "Afficher les ".$mod_disc_terme_incident."s clos avec les mêmes critères.
\n"; } } echo "Choisir l'".$mod_disc_terme_incident." à traiter/consulter :
\n"; echo "\n"; echo "\n"; // 20141106 echo ""; echo "\n"; } else { $sql="SELECT * FROM s_protagonistes WHERE id_incident='$id_incident' ORDER BY statut,qualite,login;"; //echo "$sql
".ucfirst($mod_disc_terme_incident)." n°$id_incident
\n"; echo "Normalement, on n'arrive pas ici...
\n"; } } echo "NOTES :
Lorsqu'un ".$mod_disc_terme_incident." est clos, on ne peut plus modifier l'".$mod_disc_terme_incident.", ni saisir/modifier de ".$mod_disc_terme_sanction.".
On peut en revanche le déclore
Ne jamais clore les ".$mod_disc_terme_incident."s peut provoquer des lenteurs de chargement de la présente page lorsque le nombre d'".$mod_disc_terme_incident."s augmente (avec le temps, l'accumulation est inéluctable).