1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
|
<?php
function isNotWorkable($date)
{
if ($date === null)
{
$date = time();
}
$date = strtotime(date('m/d/Y',$date));
$year = date('Y',$date);
$easterDate = easter_date($year);
$easterDay = date('j', $easterDate);
$easterMonth = date('n', $easterDate);
$easterYear = date('Y', $easterDate);
$holidays = array(
// Dates fixes
mktime(0, 0, 0, 1, 1, $year), // 1er janvier
mktime(0, 0, 0, 5, 1, $year), // Fête du travail
mktime(0, 0, 0, 5, 8, $year), // Victoire des alliés
mktime(0, 0, 0, 7, 14, $year), // Fête nationale
mktime(0, 0, 0, 8, 15, $year), // Assomption
mktime(0, 0, 0, 11, 1, $year), // Toussaint
mktime(0, 0, 0, 11, 11, $year), // Armistice
mktime(0, 0, 0, 12, 25, $year), // Noel
// Dates variables
mktime(0, 0, 0, $easterMonth, $easterDay + 1, $easterYear),
mktime(0, 0, 0, $easterMonth, $easterDay + 39, $easterYear),
mktime(0, 0, 0, $easterMonth, $easterDay + 50, $easterYear),
);
return in_array($date, $holidays);
}
?>
<html>
<form method="post" action="essai_heure.php" enctype="multipart/form-data">
<fieldset style='background:#c4ddf1; width:100%; height:160px;'>
<legend style='background:#9c8d87; color:white; width:60%; height:24px; size: 16px;'>Validation</legend>
<!-- Date début des vacances -->
<label for 'date_posee' align='right'>Date Souhaitée</label><br/>
<label for 'date_posee' align='right'>Du (inclus) : </label><input type='date' style='background:url("images/design/date.png") #fafafa 10px center no-repeat;width:30%;' name='date_posee_du' id='date_posee_du' />
<label for 'date_posee' align='right'>A : </label>
<select name="time_du" id='time_du' style='#fafafa 10px center no-repeat;width:15%; text-align: right; height: 20%;'>
<option value="08:00:00">8h00</option>
<option value="12:00:00">12h00</option>
</select><br/>
<!-- Date fin des vacances -->
<label for 'date_posee' align='right'>Au (inclus) : </label><input type='date' style='background:url("images/design/date.png") #fafafa 10px center no-repeat;width:30%;' name='date_posee_au' id='date_posee_au' />
<label for 'date_posee' align='right'>A : </label>
<select name="time_au" id='time_au' style='#fafafa 10px center no-repeat;width:15%; text-align: right; height: 20%;'>
<option value="12:00:00">12h00</option>
<option value="17:30:00">17h30</option>
</select><br/>
<!-- Nombre de jours -->
<!-- Ce nombre de jour est à vérifier au travers du décompte -->
<label for 'vacances_posees' align='right'>Nombre Jours Décomptés : </label><input type='number' style='background:url("images/design/numero.png") #fafafa 10px center no-repeat;width:20%;' name='vacances_posees' id='vacances_posees' min='0' max='<?php echo $vacDroit;?>' />
<input type="submit" name="enregistrer_vac" value="Enregistrer" />
<input type="submit" value="Retour" onclick="history.go(-2)" />
</fieldset>
</form>
</html>
<?php
if (!empty($_POST['enregistrer_vac'])){
echo "Les vacances du : ".$_POST['date_posee_du']." a ".$_POST['time_du']."<br/>";
echo "Les vacances du : ".$_POST['date_posee_au']." a ".$_POST['time_au']."<br/>";
echo "Nombre de jours pris : ".$_POST['vacances_posees']."<br/>";
// Mise en forme des dates pour insertion table "absence_personnel"
$date_debut_vacances= date("Y-m-d H:i:s", strtotime($_POST['date_posee_du']." ".$_POST['time_du']));
$date_fin_vacances=date("Y-m-d H:i:s", strtotime($_POST['date_posee_au']." ".$_POST['time_au']));
$date_premier_jour_vac=date("Y-m-d", strtotime($_POST['date_posee_du']));
$id_agent=2;
$nom_agent="XXXXX XXXXXXXXXXXX";
// Appel de la fonction pour vérifier les jours posés
// A ce stade, je ne vérifie que le premier jour
// Je ferais une boucle foreach pour traiter tous les jours posés
if(isNotWorkable(date("Y-m-d H:i:s", strtotime($_POST['date_posee_du']." ".$_POST['time_du'])))){
echo 'Nous sommes un jour férié !! Apéro !!';
}else{
echo 'Nous sommes un jour normal, au boulot :p';
}
// Connexion à la base de données
include("menu//chiens.php");
$req = $bdd->prepare('INSERT INTO `absence_personnel` (`ID_AGENT`,`NOM_AGENT`,`DATE_DEBUT_VACANCES`, `DATE_FIN_VACANCES`,`NOMBRE_JOURS_POSES`) VALUES(:id_agent, :nom_agent, :date_debut_vacances, :date_fin_vacances, :nombre_jours_poses)');
$req->execute(array('id_agent'=>$id_agent, 'nom_agent'=>$nom_agent, 'date_debut_vacances'=>$date_debut_vacances, 'date_fin_vacances'=>$date_fin_vacances, 'nombre_jours_poses'=>$nombre_jours_poses));
/*Messages d'erreur de validation*/
$bdd ->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
else{
echo "il faut saisir un truc";
}
?> |
Partager