136 lines
5.7 KiB
PHP
136 lines
5.7 KiB
PHP
<?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">' . 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 → <a href="?acquitte_id=' . $alertes['id_releve'] . '" onClick="acqu' . $alertes['id_releve'] . '.innerHTML=\'→ 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â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ésultats"></form></div>';
|
|
}
|
|
} else echo 'Vous n\'êtes pas autorisé/connecté!';
|
|
include('foot.php');
|