3 Commits

11 changed files with 224 additions and 127 deletions

View File

@ -7,8 +7,15 @@ var_dump($_POST);
$pdo = PdoBD::getPdoBD(); $pdo = PdoBD::getPdoBD();
var_dump($_SESSION); 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( $pdo->majActivite(
$_SESSION['cis'], $_SESSION['cis'],
$_SESSION['idUtilisateur'], $_SESSION['idUtilisateur'],
@ -16,4 +23,4 @@ $pdo->majActivite(
$_POST['tranche'], $_POST['tranche'],
$_POST['dispo'] $_POST['dispo']
); );
}

View File

@ -68,9 +68,10 @@ case 'validerSupprimer':
$valeur = $_REQUEST['agent']; $valeur = $_REQUEST['agent'];
if ($_REQUEST['zOk'] == "OK") if ($_REQUEST['zOk'] == "OK")
{ {
if ($action==="validerSupprimer") {$pdo->supprimePompier($valeur);} if ($action === "validerSupprimer") {
else $pdo->supprimePompier($valeur);
{ }
else {
$nom = addslashes ($_REQUEST['ztNom']); $nom = addslashes ($_REQUEST['ztNom']);
$prenom = addslashes ($_REQUEST['ztPrenom']); $prenom = addslashes ($_REQUEST['ztPrenom']);
$type = $_REQUEST['lstType']; $type = $_REQUEST['lstType'];
@ -83,7 +84,9 @@ case 'validerSupprimer':
$adresse = addslashes ($_REQUEST['ztAdresse']); $adresse = addslashes ($_REQUEST['ztAdresse']);
if (strlen($_REQUEST['ztCP']) > 1) { if (strlen($_REQUEST['ztCP']) > 1) {
$cp = $_REQUEST['ztCP'];} else {$cp = "Null"; $cp = $_REQUEST['ztCP'];
} else {
$cp = "Null";
} }
$ville = addslashes($_REQUEST['ztVille']); $ville = addslashes($_REQUEST['ztVille']);
@ -95,6 +98,7 @@ case 'validerSupprimer':
$tel="Null"; $tel="Null";
} }
$commentaire = addslashes ($_REQUEST['ztObs']); $commentaire = addslashes ($_REQUEST['ztObs']);
if ($action === "validerAjouter") { if ($action === "validerAjouter") {
$pdo->ajoutPompier($cis, $valeur,$nom,$prenom,$statut,$mail,$login,$mdp,$grade,$type,$adresse,$cp,$ville,$tel,$commentaire); $pdo->ajoutPompier($cis, $valeur,$nom,$prenom,$statut,$mail,$login,$mdp,$grade,$type,$adresse,$cp,$ville,$tel,$commentaire);
$sujet = "nouveau compte"; $sujet = "nouveau compte";

View File

@ -13,7 +13,7 @@ class PdoBD
private static $serveur = 'mysql:host=localhost'; private static $serveur = 'mysql:host=localhost';
private static $bdd = 'dbname=sdis29'; private static $bdd = 'dbname=sdis29';
private static $user = 'root'; private static $user = 'root';
private static $mdp = ''; private static $mdp = 'root';
private static $monPdo; private static $monPdo;
private static $monPdoBD = null; 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) 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()); afficherErreurSQL("Probleme lors de la mise à jour de l'activité dans la base de données.", $existedTranche, PdoBD::$monPdo->errorInfo());
} else { } else {
if (count($rs->fetch()) !== 2) { if ($rs->fetch() === false) {
$req = 'INSERT INTO activite (aCis, aPompier, aDateGarde, aTranche, aDisponibilite, aGarde) $req = 'INSERT INTO activite (aCis, aPompier, aDateGarde, aTranche, aDisponibilite, aGarde)
VALUES (' . $cis . ', VALUES (' . $cis . ',
' . $idUser . ', ' . $idUser . ',
' . $jour . ', "' . $jour . '",
' . $tranche . ', ' . $tranche . ',
' . $newDispo . ', 0);'; ' . $newDispo . ', 0);';
} else { } else {
@ -136,10 +136,14 @@ class PdoBD
/** /**
* Met à jour la garde d'un pompier sur une tranche * 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); $rs = PdoBD::$monPdo->exec($req);
if ($rs === false) { if ($rs === false) {
afficherErreurSQL("Probleme lors de la mise à jour de la garde dans la base de données.", $req, PdoBD::$monPdo->errorInfo()); afficherErreurSQL("Probleme lors de la mise à jour de la garde dans la base de données.", $req, PdoBD::$monPdo->errorInfo());
@ -228,8 +232,10 @@ class PdoBD
$fin = date('Y/m/d', strtotime("6 days", $premierJour)); $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 $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 FROM (activite
INNER JOIN parametre d ON d.pType='dispo' AND aDisponibilite=d.pIndice) 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 RIGHT OUTER JOIN pompier ON aCis = pCis AND aPompier=pId
WHERE aCis=" . $_SESSION['cis']; WHERE aCis=" . $_SESSION['cis'];
@ -261,10 +267,10 @@ class PdoBD
'g2' => 0, 'g2' => 0,
'g3' => 0, 'g3' => 0,
'g4' => 0, 'g4' => 0,
'c1' => 'gray', 'c1' => 'red',
'c2' => 'gray', 'c2' => 'red',
'c3' => 'gray', 'c3' => 'red',
'c4' => 'gray' 'c4' => 'red'
); );
} }
} else { } else {
@ -293,10 +299,10 @@ class PdoBD
'g2' => 0, 'g2' => 0,
'g3' => 0, 'g3' => 0,
'g4' => 0, 'g4' => 0,
'c1' => 'gray', 'c1' => 'red',
'c2' => 'gray', 'c2' => 'red',
'c3' => 'gray', 'c3' => 'red',
'c4' => 'gray' 'c4' => 'red'
); );
} }
} }

View File

@ -281,17 +281,17 @@ $(document).on('click', '.select-dispo', function () {
dateDispo = $(this).attr('id').split('/')[0] dateDispo = $(this).attr('id').split('/')[0]
tranche = $(this).attr('id').split('/')[1] tranche = $(this).attr('id').split('/')[1]
dispo = 1; dispo = 0;
if ($(this).css('background-color') == "rgb(255, 0, 0)") { //rgb(255, 0, 0) = red if ($(this).css('background-color') == "rgb(255, 0, 0)") { //rgb(255, 0, 0) = red
$(this).css('background-color', 'green'); $(this).css('background-color', 'green');
dispo = 2; dispo = 1;
} else if ($(this).css('background-color') == 'rgb(0, 128, 0)') { //rgb(0, 128, 0) = green } else if ($(this).css('background-color') == 'rgb(0, 128, 0)') { //rgb(0, 128, 0) = green
$(this).css('background-color', 'yellow'); $(this).css('background-color', 'yellow');
dispo = 3; dispo = 2;
} else { } else {
$(this).css('background-color', 'red'); $(this).css('background-color', 'red');
dispo = 1; dispo = 0;
} }
var tableauDeDonnees = { var tableauDeDonnees = {
@ -300,7 +300,7 @@ $(document).on('click', '.select-dispo', function () {
"dispo" : dispo "dispo" : dispo
} }
$.ajax({ $.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.) method: "POST", // Méthode HTTP (GET, POST, etc.)
dataType: "json", // Type de données attendu dataType: "json", // Type de données attendu
data : tableauDeDonnees, data : tableauDeDonnees,
@ -310,3 +310,44 @@ $(document).on('click', '.select-dispo', function () {
} }
}); });
}) })
/**
* 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 '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 '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 'interventions': {include("controleurs/c_interventions.php");break;} //Page intervention {NOT TODAY}
case 'pompiers' : {include("controleurs/c_pompiers.php");break;} //Page pompiers {TODO} 1 case 'pompiers' : {include("controleurs/c_pompiers.php");break;} //Page pompiers {TODO}
default :{echo 'erreur d\'aiguillage !'.$uc;break;} default : {
echo 'erreur d\'aiguillage !'.$uc;
break;
}
} }
include("vues/v_pied.php") ; 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; padding: 1px;
margin: 1px; margin: 1px;
border-spacing: 2px; border-spacing: 2px;
border-color: gray; border-color: black;
} }
.tableau td.semaine { .tableau td.semaine {

View File

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

View File

@ -1,6 +1,7 @@
<!-- affichage de la feuille de gardes / Derniere modification le 18/09/2023 à 16h50 par Pascal Blain --> <!-- affichage de la feuille de gardes / Derniere modification le 18/09/2023 à 16h50 par Pascal Blain -->
<div style='display: block;' class='unOnglet' id='contenuOnglet1'> <div style='display: block;' class='unOnglet' id='contenuOnglet1'>
<fieldset><legend>Feuille de gardes</legend> <fieldset>
<legend>Feuille de gardes</legend>
<form name="frmDispos" action="index.php?choixTraitement=gardes&action=voir" method="post"> <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="zSemaine" value='<?php echo $semaine; ?>'>
<input type="hidden" name="zAnnee" value='<?php echo $annee; ?>'> <input type="hidden" name="zAnnee" value='<?php echo $annee; ?>'>
@ -12,51 +13,61 @@
<table id="tableau" class="tableau"> <table id="tableau" class="tableau">
<tbody> <tbody>
<tr> <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> <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> <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>
<tr><th>&nbsp;</th> <tr>
<th>&nbsp;</th>
<?php <?php
$nomJour = array('Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi', 'Dimanche'); $nomJour = array('Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi', 'Dimanche');
for($jour=0; $jour<= 6; $jour++)
{ for ($jour = 0; $jour <= 6; $jour++) {
echo ('<th colspan="4">' . $nomJour[$jour] . ' ' . date('d/m', strtotime('+' . $jour . ' day', $premierJour)) . '</th>'); echo ('<th colspan="4">' . $nomJour[$jour] . ' ' . date('d/m', strtotime('+' . $jour . ' day', $premierJour)) . '</th>');
} }
echo "</tr>" . PHP_EOL . " <tr><th width='100'>Volontaires</th>"; echo "</tr>" . PHP_EOL . " <tr><th width='100'>Volontaires</th>";
for($jour=0; $jour<= 6; $jour++)
{ for ($jour = 0; $jour <= 6; $jour++) {
foreach ($lesTranches as $uneTranche) foreach ($lesTranches as $uneTranche) {
{echo '<th class="semaine" style="text-align : center;">'.$uneTranche["pIndice"].'</th>';} echo '<th class="semaine" style="text-align : center;">' . $uneTranche["pIndice"] . '</th>';
}
} }
echo PHP_EOL . " </tr>"; echo PHP_EOL . " </tr>";
foreach ($lesPompiers as $unPompier) foreach ($lesPompiers as $unPompier) {
{ echo "
echo "<tr><td><small><small>".$unPompier['pNom']." ".$unPompier['pPrenom']."</small></small></td>"; <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 . " ");
echo "</tr>".PHP_EOL." ";
} }
?> ?>
</tr> </tr>

View File

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