110 lines
3.3 KiB
PHP
Executable File
110 lines
3.3 KiB
PHP
Executable File
<?php
|
|
/**
|
|
* Script testant les données envoyées lors d'une demande de création / mise à jour / suppression d'une période d'absence.
|
|
* Peut être appelé en ajax ou directement en php si JS désactivé
|
|
*
|
|
**/
|
|
$form["designation"]=trim($_POST["designation"]);
|
|
$form["time_debut"]=trim($_POST["time_debut"]);
|
|
$form["time_fin"]=trim($_POST["time_fin"]);
|
|
if(!empty($_POST["id_periode"]))
|
|
$form["id_periode"]=intval($_POST["id_periode"]);//sinon c'est que j'enregistre une nouvelle période
|
|
$ajax_on=false;
|
|
if(!empty($_POST["ajax"]))
|
|
{
|
|
$ajax_on=true;
|
|
session_save_path(SESSIONS_REP);
|
|
ini_set("session.use_only_cookies",1);
|
|
session_start();
|
|
header('Content-Type: text/html; charset=utf-8');
|
|
require_once("../modele/FclFlux_absences.php");
|
|
}
|
|
$msg_form=array();
|
|
if(empty($_SESSION["id_utilisateur"]))
|
|
$msg_form[]=ERREUR_IMPREVUE;
|
|
elseif(!empty($_POST["periode_suppr"]))
|
|
{
|
|
if(empty($Bd))
|
|
require("../modele/connexion-bd.php");
|
|
$user=new FclFlux_utilisateur();
|
|
$user->id_utilisateur=$_SESSION["id_utilisateur"];
|
|
$form["proprietaire"]=$user;
|
|
$periode_suppr=new FclFlux_absences($form);
|
|
if((empty($msg_form))&&(empty($periode_suppr->erreurs)))
|
|
{
|
|
$suppr=$periode_suppr->supprime();
|
|
if(!empty($periode_suppr->erreurs))
|
|
$msg_form=array_merge($periode_suppr->erreurs,$msg_form);
|
|
elseif($suppr===false)
|
|
$msg_form[]=ERREUR_IMPREVUE;
|
|
else
|
|
{
|
|
$_SESSION["message"]=MSG_UTILISA_MAJ_SUPPR_VALID;
|
|
if($ajax_on)
|
|
$msg_form[]=MSG_UTILISA_MAJ_SUPPR_VALID;//c'est js qui provoquera la redirection
|
|
else
|
|
{
|
|
header("location:".PAGE_ABSENCES_LISTE);
|
|
exit();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
elseif((empty($form["designation"]))||(empty($form["time_debut"]))||(empty($form["time_fin"])))
|
|
{
|
|
$msg_form[]=ERREUR_UTILISA_CHAMPS_ABSENTS;
|
|
exit();
|
|
}
|
|
else
|
|
{
|
|
if(empty($Bd))
|
|
require("../modele/connexion-bd.php");
|
|
$user=new FclFlux_utilisateur();
|
|
$user->id_utilisateur=$_SESSION["id_utilisateur"];
|
|
$form["proprietaire"]=$user;
|
|
$periode=new FclFlux_absences($form);
|
|
if((empty($msg_form))&&(empty($periode->erreurs)))
|
|
{
|
|
if(!empty($form["id_periode"]))
|
|
$action=$periode->actualise();
|
|
else
|
|
$action=$periode->ajout();
|
|
if(!empty($periode->erreurs))
|
|
$msg_form=array_merge($periode->erreurs,$msg_form);
|
|
elseif($periode===false)
|
|
$msg_form[]=ERREUR_IMPREVUE;
|
|
}
|
|
//actualisation des abonnements concernés par cette période d'absence
|
|
if((empty($msg_form))&&(empty($action->erreurs))&&(!empty($_POST["abo_concerne"])))
|
|
{
|
|
$liste_abos=array();$i=0;
|
|
foreach($_POST["abo_concerne"] as $abo_id)
|
|
{
|
|
$abo_concerne=new FclFlux_abonnement();
|
|
$abo_concerne->id_abonnement=$abo_id;
|
|
$liste_abos[$i]=$abo_concerne;
|
|
unset($abo_concerne);
|
|
$i++;
|
|
}
|
|
if($i>0)
|
|
{
|
|
$action=$periode->set_liste_abonnements($liste_abos);
|
|
if(!empty($periode->erreurs))
|
|
$msg_form=array_merge($periode->erreurs,$msg_form);
|
|
elseif($action===false)
|
|
$msg_form[]=ERREUR_IMPREVUE;
|
|
}
|
|
}
|
|
if(empty($msg_form))
|
|
$msg_form[]=MSG_UTILISA_MAJ_INFOS_VALID;
|
|
$Bd=null;
|
|
}
|
|
if((!empty($msg_form))&&($ajax_on))
|
|
{
|
|
if(($msg_form[0]==MSG_UTILISA_MAJ_INFOS_VALID)&&(!empty($periode->id_periode)))
|
|
echo $periode->id_periode;//tout s'est bien passé, je recharge l'abonnement en ajax
|
|
elseif($msg_form[0]==MSG_UTILISA_MAJ_SUPPR_VALID)
|
|
echo str_replace("\"","'",MSG_UTILISA_MAJ_SUPPR_VALID);//pour comparaison et redirection en JS
|
|
else
|
|
echo get_html_alerte_msg($msg_form);
|
|
} |