3 Commits

11 changed files with 224 additions and 127 deletions

View File

@ -7,13 +7,20 @@ var_dump($_POST);
$pdo = PdoBD::getPdoBD();
var_dump($_SESSION);
$pdo->majActivite(
$_SESSION['cis'],
$_SESSION['idUtilisateur'],
$_POST['date'],
$_POST['tranche'],
$_POST['dispo']
);
if (isset($_REQUEST['option']) && $_REQUEST['option'] == 'garde') {
$pdo->majGarde(
$_SESSION['cis'],
$_POST['pompier'],
$_POST['date'],
$_POST['tranche'],
$_POST['garde']
);
} elseif (isset($_REQUEST['option']) && $_REQUEST['option'] == 'dispo') {
$pdo->majActivite(
$_SESSION['cis'],
$_SESSION['idUtilisateur'],
$_POST['date'],
$_POST['tranche'],
$_POST['dispo']
);
}

View File

@ -49,14 +49,14 @@ case 'ajouter':
case 'modifier':
case 'supprimer':
{
$formulaire ="frmA";
$champ ="ztNom";
$formulaire = "frmA";
$champ = "ztNom";
include("vues/v_entete.php");
$choix= $_REQUEST['lstPompiers'];
$choix = $_REQUEST['lstPompiers'];
$lesInfosPompier = $pdo->getInfosPompier("*",$choix);
$lesTypes = $pdo->getParametre("typePer");
$lesGrades = $pdo->getParametre("grade");
$lesStatuts = $pdo->getParametre("statAgt");
$lesTypes = $pdo->getParametre("typePer");
$lesGrades = $pdo->getParametre("grade");
$lesStatuts = $pdo->getParametre("statAgt");
include("vues/v_unPompier.php");
break;
}
@ -66,11 +66,12 @@ case 'validerModifier':
case 'validerSupprimer':
{
$valeur = $_REQUEST['agent'];
if ($_REQUEST['zOk']=="OK")
if ($_REQUEST['zOk'] == "OK")
{
if ($action==="validerSupprimer") {$pdo->supprimePompier($valeur);}
else
{
if ($action === "validerSupprimer") {
$pdo->supprimePompier($valeur);
}
else {
$nom = addslashes ($_REQUEST['ztNom']);
$prenom = addslashes ($_REQUEST['ztPrenom']);
$type = $_REQUEST['lstType'];
@ -82,9 +83,11 @@ case 'validerSupprimer':
$mdp = md5($_REQUEST['ztMdp']); if($_REQUEST['brMdp']==0 AND $action==="validerModifier") {$mdp="*";}
$adresse = addslashes ($_REQUEST['ztAdresse']);
if (strlen($_REQUEST['ztCP'])>1){
$cp = $_REQUEST['ztCP'];} else {$cp = "Null";
}
if (strlen($_REQUEST['ztCP']) > 1) {
$cp = $_REQUEST['ztCP'];
} else {
$cp = "Null";
}
$ville = addslashes($_REQUEST['ztVille']);
if (strlen($_REQUEST['ztTel'])>1) {
@ -95,6 +98,7 @@ case 'validerSupprimer':
$tel="Null";
}
$commentaire = addslashes ($_REQUEST['ztObs']);
if ($action === "validerAjouter") {
$pdo->ajoutPompier($cis, $valeur,$nom,$prenom,$statut,$mail,$login,$mdp,$grade,$type,$adresse,$cp,$ville,$tel,$commentaire);
$sujet = "nouveau compte";

View File

@ -13,7 +13,7 @@ class PdoBD
private static $serveur = 'mysql:host=localhost';
private static $bdd = 'dbname=sdis29';
private static $user = 'root';
private static $mdp = '';
private static $mdp = 'root';
private static $monPdo;
private static $monPdoBD = null;
@ -96,7 +96,7 @@ class PdoBD
}
/**
* Met à jour l'activité d'un pompier sur une tranche
* Met à jour les disp d'un pompier sur une tranche
*/
public function majActivite($cis, $idUser, $jour, $tranche, $newDispo)
{
@ -109,11 +109,11 @@ class PdoBD
afficherErreurSQL("Probleme lors de la mise à jour de l'activité dans la base de données.", $existedTranche, PdoBD::$monPdo->errorInfo());
} else {
if (count($rs->fetch()) !== 2) {
if ($rs->fetch() === false) {
$req = 'INSERT INTO activite (aCis, aPompier, aDateGarde, aTranche, aDisponibilite, aGarde)
VALUES (' . $cis . ',
VALUES (' . $cis . ',
' . $idUser . ',
' . $jour . ',
"' . $jour . '",
' . $tranche . ',
' . $newDispo . ', 0);';
} else {
@ -136,10 +136,14 @@ class PdoBD
/**
* Met à jour la garde d'un pompier sur une tranche
*/
public function majGarde()
public function majGarde($cis, $idUser, $jour, $tranche, $newGarde)
{
$req = "
";
$req = 'UPDATE activite
SET aGarde = ' . $newGarde . '
WHERE aCis = ' . $cis . '
AND aPompier = ' . $idUser . '
AND aDateGarde = "' . $jour . '"
AND aTranche = ' . $tranche . ';';
$rs = PdoBD::$monPdo->exec($req);
if ($rs === false) {
afficherErreurSQL("Probleme lors de la mise à jour de la garde dans la base de données.", $req, PdoBD::$monPdo->errorInfo());
@ -198,7 +202,7 @@ class PdoBD
public function getInfosGardes($pompier)
{
$req = "SELECT aPompier, DATE_FORMAT(aDateGarde,'%d/%m/%Y') as wDate, aTranche, pLibelle as tLibelle
FROM activite INNER JOIN parametre ON pType='tranche' AND aTranche=pIndice
FROM activite INNER JOIN parametre ON pType = 'tranche' AND aTranche = pIndice
WHERE aCis=" . $_SESSION['cis'];
if ($pompier <> "*") {
$req .= " AND aPompier=" . $pompier;
@ -228,9 +232,11 @@ class PdoBD
$fin = date('Y/m/d', strtotime("6 days", $premierJour));
$req = "SELECT pId, pNom, pPrenom, DATE_FORMAT(aDateGarde,'%d/%m/%Y') as wDate, aTranche, aDisponibilite, aGarde, d.pValeur as dCouleur
FROM (activite INNER JOIN parametre t ON t.pType='tranche'AND aTranche=t.pIndice
INNER JOIN parametre d ON d.pType='dispo' AND aDisponibilite=d.pIndice)
RIGHT OUTER JOIN pompier ON aCis=pCis AND aPompier=pId
FROM (activite
INNER JOIN parametre t ON t.pType='tranche'AND aTranche=t.pIndice
INNER JOIN parametre d ON d.pType='dispo' AND aDisponibilite=d.pIndice
)
RIGHT OUTER JOIN pompier ON aCis = pCis AND aPompier=pId
WHERE aCis=" . $_SESSION['cis'];
if ($pompier <> "*") {
@ -261,10 +267,10 @@ class PdoBD
'g2' => 0,
'g3' => 0,
'g4' => 0,
'c1' => 'gray',
'c2' => 'gray',
'c3' => 'gray',
'c4' => 'gray'
'c1' => 'red',
'c2' => 'red',
'c3' => 'red',
'c4' => 'red'
);
}
} else {
@ -293,10 +299,10 @@ class PdoBD
'g2' => 0,
'g3' => 0,
'g4' => 0,
'c1' => 'gray',
'c2' => 'gray',
'c3' => 'gray',
'c4' => 'gray'
'c1' => 'red',
'c2' => 'red',
'c3' => 'red',
'c4' => 'red'
);
}
}

View File

@ -281,17 +281,17 @@ $(document).on('click', '.select-dispo', function () {
dateDispo = $(this).attr('id').split('/')[0]
tranche = $(this).attr('id').split('/')[1]
dispo = 1;
dispo = 0;
if ($(this).css('background-color') == "rgb(255, 0, 0)") { //rgb(255, 0, 0) = red
$(this).css('background-color', 'green');
dispo = 2;
dispo = 1;
} else if ($(this).css('background-color') == 'rgb(0, 128, 0)') { //rgb(0, 128, 0) = green
$(this).css('background-color', 'yellow');
dispo = 3;
dispo = 2;
} else {
$(this).css('background-color', 'red');
dispo = 1;
dispo = 0;
}
var tableauDeDonnees = {
@ -300,7 +300,7 @@ $(document).on('click', '.select-dispo', function () {
"dispo" : dispo
}
$.ajax({
url: "/controleurs/c_disponibilitée.php", // URL de l'API ou de la ressource
url: "/controleurs/c_disponibilitée.php?option=dispo", // URL de l'API ou de la ressource
method: "POST", // Méthode HTTP (GET, POST, etc.)
dataType: "json", // Type de données attendu
data : tableauDeDonnees,
@ -309,4 +309,45 @@ $(document).on('click', '.select-dispo', function () {
console.error("Erreur lors de la requête AJAX :", status, error);
}
});
})
/**
* Gere l'ajout des gardes
*/
$(document).on('click', '.click-garde', function () {
date = $(this).attr('id').split('/')[0]
tranche = $(this).attr('id').split('/')[1]
idPompier = $(this).attr('id').split('/')[2]
garde = 0;
if ($(this).css('background-color') != "rgb(255, 0, 0)") {
if ($(this).text() == 'X') {
$(this).text('');
garde = 0;
} else if ($(this).text() == ""){
$(this).text('X');
garde = 1;
} else {
$(this).text( "X");
garde = 0;
}
var tableauDeDonnees = {
"date" : date,
"tranche" : tranche,
"pompier" : idPompier,
"garde" : garde
}
$.ajax({
url: "/controleurs/c_disponibilitée.php?option=garde", // URL de l'API ou de la ressource
method: "POST", // Méthode HTTP (GET, POST, etc.)
dataType: "json", // Type de données attendu
data : tableauDeDonnees,
error: function(xhr, status, error) {
// Gérer les erreurs de la requête AJAX
console.error("Erreur lors de la requête AJAX :", status, error);
}
});
}
})

View File

@ -25,10 +25,13 @@ switch($choixTraitement)
{
case 'connexion': {include("controleurs/c_connexion.php");break;} //Connecte le pompier {DONE}
case 'parametres': {include("controleurs/c_param.php");break;} //Page paramètre {TODO} 3
case 'gardes' : {include("controleurs/c_gardes.php");break;} //Page garde {TODO} 2
case 'gardes' : {include("controleurs/c_gardes.php");break;} //Page garde {DONE}
case 'interventions': {include("controleurs/c_interventions.php");break;} //Page intervention {NOT TODAY}
case 'pompiers' : {include("controleurs/c_pompiers.php");break;} //Page pompiers {TODO} 1
default :{echo 'erreur d\'aiguillage !'.$uc;break;}
case 'pompiers' : {include("controleurs/c_pompiers.php");break;} //Page pompiers {TODO}
default : {
echo 'erreur d\'aiguillage !'.$uc;
break;
}
}
include("vues/v_pied.php") ;

3
requeteUtile.txt Normal file
View File

@ -0,0 +1,3 @@
Garde de michel Rouat a tel date
SELECT * FROM `activite` WHERE aCis = 2901 AND aPompier = 1 AND aDateGarde = "2023-09-22";

View File

@ -583,7 +583,7 @@ table.listeLegere td {
padding: 1px;
margin: 1px;
border-spacing: 2px;
border-color: gray;
border-color: black;
}
.tableau td.semaine {

View File

@ -1,6 +1,6 @@
<!-- choix d'une Caserne / Derniere modification le 23 mai 2019 par Pascal Blain -->
<?php
$nbA=count($lesCasernes);
$nbA = count($lesCasernes);
echo '
<div id="contenu">
<form name="choixC" action="index.php" method="post">

View File

@ -11,14 +11,16 @@
</head>
<?php
//version du code : le 18 septembre 2023 -------------------------------------
$formulaire = '';
$champ = '';
if (isset($_REQUEST['zFormulaire'])) {
$formulaire=$_REQUEST['zFormulaire'];
$formulaire = $_REQUEST['zFormulaire'];
}
if (isset($_REQUEST['zChamp'])) {
$champ = $_REQUEST['zChamp'];
}
?>
<body onload="donner_focus('<?= $formulaire."','".$champ;?>');">
<body onload="donner_focus('<?= $formulaire . ',' . $champ;?>');">
<div id="page">
<div id="entete">
<img src="./images/logo.png" id="logo" alt="SDIS29" title="SDIS 29" />

View File

@ -1,66 +1,77 @@
<!-- affichage de la feuille de gardes / Derniere modification le 18/09/2023 à 16h50 par Pascal Blain -->
<div style='display: block;' class='unOnglet' id='contenuOnglet1'>
<fieldset><legend>Feuille de gardes</legend>
<form name="frmDispos" action="index.php?choixTraitement=gardes&action=voir" method="post">
<input type="hidden" name="zSemaine" value='<?php echo $semaine;?>'>
<input type="hidden" name="zAnnee" value='<?php echo $annee;?>'>
<input type="hidden" name="ztLaDate" value="">
<input type="hidden" name="ztLaTranche" value="">
<input type="hidden" name="ztExGarde" value="">
<input type="hidden" name="ztPompier" value="">
</form>
<table id="tableau" class="tableau">
<tbody>
<tr>
<th><input id="sPrecedente" name="gauche" title="semaine précédente" src="images/gauche.gif" onclick="autreSemaine('<?php echo date('W',strtotime("-7 days",$premierJour))."', '".date('Y',strtotime("-7 days",$premierJour))?>')" onmouseover="document.gauche.src='images/gauche_.gif'" onmouseout="document.gauche.src='images/gauche.gif'"type="image"></th>
<fieldset>
<legend>Feuille de gardes</legend>
<form name="frmDispos" action="index.php?choixTraitement=gardes&action=voir" method="post">
<input type="hidden" name="zSemaine" value='<?php echo $semaine; ?>'>
<input type="hidden" name="zAnnee" value='<?php echo $annee; ?>'>
<input type="hidden" name="ztLaDate" value="">
<input type="hidden" name="ztLaTranche" value="">
<input type="hidden" name="ztExGarde" value="">
<input type="hidden" name="ztPompier" value="">
</form>
<table id="tableau" class="tableau">
<tbody>
<tr>
<th><input id="sPrecedente" name="gauche" title="semaine précédente" src="images/gauche.gif"
onclick="autreSemaine('<?= date('W', strtotime("-7 days", $premierJour)) . "', '" . date('Y', strtotime("-7 days", $premierJour)) ?>')"
onmouseover="document.gauche.src='images/gauche_.gif'"
onmouseout="document.gauche.src='images/gauche.gif'" type="image"></th>
<th colspan="27"><b><big>Semaine <?php echo $semaine." : du lundi ".date('d/m/Y',$premierJour)." au dimanche ".date('d/m/Y',strtotime("6 days",$premierJour))."</big></b></th>";?>
<th colspan="27"><b><big>Semaine
<?= $semaine . " : du lundi " . date('d/m/Y', $premierJour) . " au dimanche " . date('d/m/Y', strtotime("6 days", $premierJour)) . "</big></b></th>"; ?>
<th><input id="sSuivante" name="droite" title="semaine suivante" src="images/droite.gif" onclick="autreSemaine('<?php echo date('W',strtotime("+7 day",$premierJour))."', '".date('Y',strtotime("+7 day",$premierJour));?>')" onmouseover="document.droite.src='images/droite_.gif'" onmouseout="document.droite.src='images/droite.gif'"type="image"></th>
</tr>
<tr><th>&nbsp;</th>
<?php
$nomJour = array('Lundi','Mardi','Mercredi','Jeudi','Vendredi','Samedi','Dimanche');
for($jour=0; $jour<= 6; $jour++)
{
echo ('<th colspan="4">'.$nomJour[$jour].' '.date('d/m',strtotime('+'.$jour.' day',$premierJour)).'</th>');
}
echo "</tr>".PHP_EOL." <tr><th width='100'>Volontaires</th>";
for($jour=0; $jour<= 6; $jour++)
{
foreach ($lesTranches as $uneTranche)
{echo '<th class="semaine" style="text-align : center;">'.$uneTranche["pIndice"].'</th>';}
}
echo PHP_EOL." </tr>";
foreach ($lesPompiers as $unPompier)
{
echo "<tr><td><small><small>".$unPompier['pNom']." ".$unPompier['pPrenom']."</small></small></td>";
echo "</tr>".PHP_EOL." ";
}
?>
</tr>
</tbody>
</table>
<th><input id="sSuivante" name="droite" title="semaine suivante" src="images/droite.gif"
onclick="autreSemaine('<?= date('W', strtotime("+7 day", $premierJour)) . "', '" . date('Y', strtotime("+7 day", $premierJour)); ?>')"
onmouseover="document.droite.src='images/droite_.gif'"
onmouseout="document.droite.src='images/droite.gif'" type="image"></th>
</tr>
<tr>
<th>&nbsp;</th>
<?php
$nomJour = array('Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi', 'Dimanche');
for ($jour = 0; $jour <= 6; $jour++) {
echo ('<th colspan="4">' . $nomJour[$jour] . ' ' . date('d/m', strtotime('+' . $jour . ' day', $premierJour)) . '</th>');
}
echo "</tr>" . PHP_EOL . " <tr><th width='100'>Volontaires</th>";
for ($jour = 0; $jour <= 6; $jour++) {
foreach ($lesTranches as $uneTranche) {
echo '<th class="semaine" style="text-align : center;">' . $uneTranche["pIndice"] . '</th>';
}
}
echo PHP_EOL . " </tr>";
foreach ($lesPompiers as $unPompier) {
echo "
<tr>
<td><small><small>" . $unPompier['pNom'] . " " . $unPompier['pPrenom'] . "</small></small></td>";
for ($jour = 0; $jour <= 6; $jour++) {
$leJour = date('Y-m-d', strtotime('+' . $jour . ' day', $premierJour));
$dateTab = date('d/m/Y', strtotime('+' . $jour . ' day', $premierJour));
$dispos = $lesDispos[$unPompier['pId']][$dateTab];
for ($tranche = 1; $tranche <= 4; $tranche++) {
$couleur = 'c' . $tranche;
$garde = 'g' . $tranche;
$dispo = 'd' . $tranche;
echo '<td style="border: 1px solid grey; cursor:pointer;
background-color: ' . $dispos[$couleur] . ';
color: black;"
class="click-garde" id="' . $leJour . '/' . $tranche . '/' . $unPompier['pId'] . '">'
. (($dispos[$garde] == 1) ? 'X' : '')
. '</td>';
}
}
echo ("</tr>" . PHP_EOL . " ");
}
?>
</tr>
</tbody>
</table>
</fieldset>
</div>

View File

@ -1,18 +1,39 @@
<!-- v_unPompier.php / Derniere modification le 18 septembre 2023 par Pascal Blain -->
<div id="contenu">
<?php
if ($_REQUEST['action']=="supprimer") {
/**
* Boutons d'action a coté du nom
* *lesInfosPompiers = pdo->getInfosPompier());
*/
if ($_REQUEST['action'] == "supprimer") {
echo '<h2>SUPPRESSION DU POMPIER '.$lesInfosPompier['nom'].' '.$lesInfosPompier['prenom'].'</h2>';
echo '<form name="frmA" action="index.php?choixTraitement=pompiers&action=validerSupprimer&type='.$lesInfosPompier['pType'].'&agent='.$lesInfosPompier['id'].'&caserne='.$lesInfosPompier['pCis'].'" method="post">';
}
if ($_REQUEST['action']=="modifier") {
echo '<h2>MODIFICATION DU POMPIER '.$lesInfosPompier['nom'].' '.$lesInfosPompier['prenom'].'</h2>';
echo '<form name="frmA" action="index.php?choixTraitement=pompiers&action=validerModifier&type='.$lesInfosPompier['pType'].'&agent='.$lesInfosPompier['id'].'&caserne='.$lesInfosPompier['pCis'].'" method="post">';
echo (
'<form name="frmA" action="index.php?choixTraitement=pompiers&action=validerSupprimer&type='
. $lesInfosPompier['pType']
. '&agent=' . $lesInfosPompier['id']
. '&caserne=' . $lesInfosPompier['pCis']
. '" method="post">');
}
if ($_REQUEST['action']=="ajouter") {
if ($_REQUEST['action'] == "modifier") {
var_dump($lesInfosPompier);
echo ('
<h2>MODIFICATION DU POMPIER '
. $lesInfosPompier['nom'] . ' '
. $lesInfosPompier['prenom'] . '</h2>'
);
echo ('
<form name="frmA" action="index.php?choixTraitement=pompiers&action=validerModifier&type='
. $lesInfosPompier['pType'] . '&agent='
. $lesInfosPompier['id']
. '&caserne=' . $lesInfosPompier['pCis']
. '" method="post">'
);
}
if ($_REQUEST['action'] == "ajouter") {
echo "<h2>AJOUT D'UN NOUVEAU POMPIER</h2>";
echo '
<form name="frmA" action="index.php?choixTraitement=pompiers&action=validerAjouter&type='.$lesInfosPompier['pType'].'" method="post" onsubmit="return valider(this)">';
<form name="frmA" action="index.php?choixTraitement=pompiers&action=validerAjouter&type='
. $lesInfosPompier['pType'].'" method="post" onsubmit="return valider(this)">';
}
echo ("
<table style='border: 0px solid white;'>
@ -21,10 +42,9 @@
<fieldset><legend>Coordonn&eacute;es</legend>
<table>
");
if ($_REQUEST['action']=="supprimer"){ //-------------------------------------------------------- cas suppression
echo ("
<div style='display: none;' class='unOnglet' id='contenuOnglet3'>
if ($_REQUEST['action'] == "supprimer"){ //-------------------------------------------------------- cas suppression
echo ("
<div style='display: none;' class='unOnglet' id='contenuOnglet3'>
<table style='border: 0px solid white;'>
<tr>