first commit

This commit is contained in:
Le Stagiaire
2024-11-08 15:31:00 +01:00
commit 0cfc5938bd
370 changed files with 143453 additions and 0 deletions

143
alertes.php Normal file
View File

@ -0,0 +1,143 @@
<?php require('head.php');
if(@$infos_user['droit'] > 0)
{
$color = true;
$num_page = 1; // Initialisation du numéro de la page
$nb_per_page = 10; // Initialisation du nombre d'entréé par page
$index = 0; // Initialisation de l'index pour la selection dans la BDD
// Si l'utilisateur change le nombre d'alertes par page
if(isset($_GET['npp']) && $_GET['npp'] > 0)
$nb_per_page = $_GET['npp']; // On modifie l'attribut
// Si le numéro de la page est supérieur à 0
if(isset($_GET['page']) && $_GET['page'] > 0)
{
$num_page = $_GET['page']; // On modifie l'attribut
$index = $nb_per_page * ($num_page - 1); // Ainsi que l'attribut ci
}
// Sélection de l'affichage
$getaff = "";
if(isset($_POST['chateau']) or isset($_POST['relevage']) or isset($_POST['surpresseur']))
{
if(@$_POST['chateau']) $_SESSION['alerte_chateau'] = 1; else $_SESSION['alerte_chateau'] = 0;
if(@$_POST['relevage']) $_SESSION['alerte_relevage'] = 1; else $_SESSION['alerte_relevage'] = 0;
if(@$_POST['surpresseur']) $_SESSION['alerte_surpresseur'] = 1; else $_SESSION['alerte_surpresseur'] = 0;
}
if(!@$_SESSION['alerte_chateau'] && !@$_SESSION['alerte_relevage'] && !@$_SESSION['alerte_surpresseur'])
{
$_SESSION['alerte_chateau'] = 1;
$_SESSION['alerte_relevage'] = 1;
$_SESSION['alerte_surpresseur'] = 1;
}
$where = "WHERE ";
if($_SESSION['alerte_chateau'])
{ $where .= "equipement='Chateau'"; }
if($_SESSION['alerte_relevage'])
{
if($_SESSION['alerte_chateau']) $where .= " or ";
$where .= "equipement='Station de Relevage'";
}
if($_SESSION['alerte_surpresseur'])
{
if($_SESSION['alerte_relevage'] or $_SESSION['alerte_chateau']) $where .= " or ";
$where .= "equipement='Surpresseur'";
}
if(isset($_GET['acquitte_id']) && $_GET['acquitte_id'] >= 0)
{
if($connexion->query("UPDATE alertes SET acquitte='1' WHERE id_releve=".$_GET['acquitte_id']))
header("Location:".$_SERVER['HTTP_REFERER']); // On acquitte l'alerte avec l'ID $_GET['acquitte_id'] puis on revient
else echo 'Erreur..'; // sur la page précédente donc la page d'affichage des alertes
}
else
{
// Requête qui récupère les informations de la base de données
$result_alertes = $connexion->query("SELECT * FROM alertes ".$where." ORDER BY date DESC, heure DESC LIMIT $index, $nb_per_page");
echo '<h1>Gestion des alertes</h1>';
// Déclaration des titres du tableau
echo '<table width="800px" border="0" cellspacing="0" cellpadding="0" align="center" style="text-align: center;">';
echo '<tr>';
echo '<td>Equipement</td>';
echo '<td>Type</td>';
echo '<td>Date / Heure</td>';
echo '<td>Acquitte?</td>';
echo '</tr>';
while($alertes = $result_alertes->fetch()) // fetch() récupère un à un les alertes
{
$color = !$color; // $color est un booléen, pour l'alternance de couleur
if($color) $couleur = "#9CF"; else $couleur = "#9CC"; // 2 couleurs, pour la lisibilité du tableau
echo '<tr style="background-color:'.$couleur.';">'; // On défini la nouvelle ligne avec la couleur
echo '<td class="ligne">'.$alertes['equipement'].'</td>'; // Equipement
echo '<td class="ligne">'.utf8_encode(strtolower(str_replace('?', 'e', str_replace('_', ' ', $alertes['type'])))).'</td>';
// Type d'alerte en minuscule avec strtolower()
echo '<td class="ligne">'.$alertes['date'].' / '.$alertes['heure'].'</td>'; // Date et Heure
echo '<td class="ligne">';
// Si "acquitte" est a 1 on affiche "Oui" sinon on afficher un lien pour l'acquitter "Non-> Acquitter"
if($alertes['acquitte']) echo 'Oui';
else echo '<span id="acqu'.$alertes['id_releve'].'">Non &rarr; <a href="?acquitte_id='.$alertes['id_releve'].'" onClick="acqu'.$alertes['id_releve'].'.innerHTML=\'&rarr; Oui\'">Acquitter</a>';
echo '</td>';
echo '</tr>';
}
echo '</table>'; // Fermeture du tableau
// Nb pages
$nb_alertes = $connexion->query("SELECT count(*) FROM alertes ".$where."")->fetchColumn();
if($nb_alertes == 0) echo '<h1>Aucunes alertes</h1>';
else
{
if(isset($_GET['page']))
$pageActuelle = $_GET['page'];
else
$pageActuelle = '1';
function get_list_page($page, $nb_page, $link, $nb = 3){
$list_page = array();
for ($i=1; $i <= $nb_page; $i++)
{
if (($i < $nb) OR ($i > $nb_page - $nb) OR (($i < $page + $nb) AND ($i > $page -$nb)))
$list_page[] = ($i==$page)?'<a class="pagenumeroactuel">[ '.$i.' ]</a>':'<a class="pagenumero" href="'.$link.'page='.$i.'">'.$i.'</a>';
else
{
if ($i >= $nb AND $i <= $page - $nb)
$i = $page - $nb;
elseif ($i >= $page + $nb AND $i <= $nb_page - $nb)
$i = $nb_page - $nb;
$list_page[] = '...';
}
}
$print= implode(' ', $list_page);
return $print;
}
echo '<br>Pages: ';
echo get_list_page($pageActuelle, (($nb_alertes -1 ) / $nb_per_page)+1, '?');
echo '<form method="GET"><input type="text" name="page" value="'.$pageActuelle.'" style="width:30px;"><input type="submit" value="Rechercher"></form>';
echo '<br>';
}
// Options d'affichage
echo '</br><div style class="options"><form method="post" action="alertes.php?npp='.$nb_per_page.'"><label><input type="checkbox" name="chateau" value="1" ';
if($_SESSION['alerte_chateau']) echo 'checked';
echo '>Ch&acirc;teau</label> <label><input type="checkbox" name="relevage" value="1" ';
if($_SESSION['alerte_relevage']) echo 'checked';
echo '>Station de Relevage</label> <label><input type="checkbox" name="surpresseur" value="1" ';
if($_SESSION['alerte_surpresseur']) echo 'checked';
echo '>Surpresseur</label><br/><input type="submit" value="Flitrer les r&eacute;sultats"></form></div>';
}
}
else echo 'Vous n\'êtes pas autorisé/connecté!';
include('foot.php'); ?>