hellofacteurV1/ctrl/compte_absences_affiche.php

91 lines
4.4 KiB
PHP
Raw Permalink Normal View History

2021-11-02 11:23:49 +01:00
<?php
/**
* Script affichant le formulaire permettant de modifier / supprimer une période d'absence
* dont l'id a été passé en paramètre
* Peut être appelé en ajax ou directement en php si JS désactivé
*
**/
$ajax_on=false;
if((!empty($_GET["ajax"]))&&(!empty($_GET["id_periode"])))
{
$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");
$id_periode=intval(trim($_GET["id_periode"]));
}
elseif(!empty($page[2]))
$id_periode=intval(trim($page[2]));
else
$form_html=ERREUR_IMPREVUE;
$form_html="";
if(empty($_SESSION["id_utilisateur"]))
$form_html=ERREUR_IMPREVUE;
else
{
$user=new FclFlux_utilisateur();
$user->id_utilisateur=intval($_SESSION["id_utilisateur"]);
if(empty($Bd))
require("../modele/connexion-bd.php");
$tab_infos=FclFlux_absences::recherche($id_periode,$user,"designation,time_debut,time_fin");
$form["designation"]=$tab_infos["designation"];
$form["time_debut"]=$tab_infos["time_debut"];
$form["time_fin"]=$tab_infos["time_fin"];
$form["id_periode"]=$id_periode;
//liste des abonnements du gus pour pouvoir sélectionner ceux concernés par cette période d'absence.
$abos=FclFlux_abonnement::get_liste_abo_cache($user,true);
//ceux déjà sélectionnés par l'utilisateur
$preselection="";
$periode=new FclFlux_absences($form);
$abos_selection=$periode->get_liste_abonnements();
if(!empty($abos_selection))
$preselection=";".implode(";",$abos_selection).";";
$Bd=null;
if(!empty($form))
{
$date_exemple=date("d/m/Y");
$form["nom"]="Votre période d'absence.";
$form["champs"]="<form method='post' id='maj_periode' action='".PAGE_ABSENCE_MAJ.$id_periode."' role='form' class='form-horizontal'>
<div class='form-group'>
<label for='designation' class='col-sm-3 control-label'>Désignation :</label>
<div class='col-sm-9'><input class='form-control' type='text' maxlength='".AGENDA_MAX_DESIGNATION."' name='designation' id='designation' value=\"".htmlspecialchars($form["designation"])."\" required></div>
<div class='col-sm-offset-3 col-sm-9'><p class='help-block'><b>Obligatoire</b>.</p></div>
</div>
<div class='form-group'>
<label for='time_debut' class='col-sm-3 control-label'>Date de début :</label>
<div class='col-sm-9'><input class='form-control' type='text' name='time_debut' id='time_debut' value=\"".date("d/m/Y",$form["time_debut"])."\" required></div>
<div class='col-sm-offset-3 col-sm-9'><p class='help-block'><b>Obligatoire</b>. Le jour vos abonnements s'arrêteront. Exemple : $date_exemple.</p></div>
</div>
<div class='form-group'>
<label for='time_fin' class='col-sm-3 control-label'>Date de fin :</label>
<div class='col-sm-9'><input class='form-control' type='text' name='time_fin' id='time_fin' value=\"".date("d/m/Y",$form["time_fin"])."\" required></div>
<div class='col-sm-offset-3 col-sm-9'><p class='help-block'><b>Obligatoire</b>. Le jour vos abonnements reprendront. Date forcément postérieure à celle de début.</p></div>
</div>";
if(!empty($abos))
{
$form["champs"].="<div class='form-group'><div class='col-sm-offset-2 col-sm-9'><label for='abo_concerne[]'>Durant cette période, je ne souhaite plus recevoir les actualités de :</label><ul>";
foreach($abos as $abo_infos)
{
if(strpos($preselection,";".$abo_infos["id_abonnement"].";")!==false)
$form["champs"].="<li><input type='checkbox' name='abo_concerne[]' value='".$abo_infos["id_abonnement"]."' checked='checked'> <b>".$abo_infos["designation"]."</b></li>";
else
$form["champs"].="<li><input type='checkbox' name='abo_concerne[]' value='".$abo_infos["id_abonnement"]."'> <b>".$abo_infos["designation"]."</b></li>";
}
$form["champs"].="</ul></div></div>";
}
$form["champs"].="<div class='form-group'>
<div class='col-sm-offset-3 col-sm-9'>
<div class='checkbox'>
<label class='text-danger' for='abo_suppr'>
<input type='checkbox' name='periode_suppr' id='periode_suppr' value='1'> Je souhaite supprimer cette période d'absence.
</label>
</div></div></div>
<div id='msg_periode'></div>
<div class='form-group'><div class='col-sm-offset-3 col-sm-9'><button type='submit' class='btn btn-success btn-lg' id='btn_submit1'>Enregistrer.</button></div></div>";
$form["champs"].="<p><input type='hidden' name='id_periode' id='id_periode' value='".$form["id_periode"]."'></form>";
}
}
if((!empty($form))&&($ajax_on))
echo get_html_form($form,false);