Commit 9f0afa6c authored by LockhomeDevelopper's avatar LockhomeDevelopper
Browse files

RESUME + CSS + ACCUEIL TITLE

parent 4634e613
......@@ -78,6 +78,7 @@ $route['profil/edit/(:any)'] = 'Profil/edit/$1';
$route['profil'] = 'Profil/list';
$route['resume/show'] = 'Resume/show';
$route['resume/delete/(:any)'] = 'Resume/delete/$1';
$route['resume/list'] = 'Resume/list';
$route['resume'] = 'Resume/list';
......
......@@ -59,29 +59,33 @@ class API extends CI_Controller{
// Si le profil est activé a l'heure actuelle
if( ($now >= $debut AND $now <= $fin) OR ($profil->debut == $profil->fin) ) {
// TODO : Respecter la liste des capteurs désactivé
// On ajoute le log dans la base de donnée
if($this->LogCapteurModele->add($capteur->id, $type)){
$capteurs_actives = $this->CapteurModele->getCapteurState($profil->id);
echo "ok";
if(in_array($capteur->id, $capteurs_actives)){
// On ajoute le log dans la base de donnée
if($this->LogCapteurModele->add($capteur->id, $type)){
// Si le type est une intrusion
$email_type = $type === "intrusion" ? $type : "warning";
echo "ok";
// On vérifie dans les logs qu'aucun mail n'a été envoyé
$mail_send = $this->LogEmailModele->getAllDay();
// Si le type est une intrusion
$email_type = $type === "intrusion" ? $type : "warning";
// Si le type de mail envoyé est différent de "intrusion"
if($mail_send == false OR !in_array($email_type, array_column($mail_send["raw"], "type"))){
// On envoit un mail
$this->send_email($email_type);
}
// On vérifie dans les logs qu'aucun mail n'a été envoyé
$mail_send = $this->LogEmailModele->getAllDay();
// Si le type de mail envoyé est différent de "intrusion"
if($mail_send == false OR !in_array($email_type, array_column($mail_send["raw"], "type"))){
// On envoit un mail
$this->send_email($email_type);
}
} else {
header($_SERVER['SERVER_PROTOCOL'] . ' 500 Internal Server Error', true, 500);
echo "Erreur lors de l'enregistrement de l'évènement.";
}
} else {
header($_SERVER['SERVER_PROTOCOL'] . ' 500 Internal Server Error', true, 500);
echo "Erreur lors de l'enregistrement de l'évènement.";
echo "Capteur désactivé";
}
} else {
echo "Sécu non active";
......@@ -99,8 +103,6 @@ class API extends CI_Controller{
// On récupère les utilisateurs qui acceptent de recevoir les notifications
$users = $this->AuthentificationModele->users_accepting_notification();
// On listes les id
$users_id = array_column($users, "id");
// On listes les emails
$users_email = array_column($users, "email");
$to = implode(",", $users_email);
......@@ -119,7 +121,7 @@ class API extends CI_Controller{
if(mail($to, $subject, $message, $headers)) {
echo "<br>Email accepted by server";
// On ajoute dans la base de donnée a qui ont a envoyé le mail
$this->LogEmailModele->add($users_id, $type);
$this->LogEmailModele->add($type);
} else {
echo "<br>Error: Email not accepted by server";
}
......
......@@ -36,10 +36,22 @@ class Accueil extends CI_Controller
// On récupère le profil actif
$data->profil_actif = $this->ProfilModele->getActive();
// TODO : Récupérer les capteurs
// TODO : Récupérer les capteurs désactivé
// On récupere la date de début et de fin
$debut = explode(":", $data->profil_actif->debut);
$fin = explode(":", $data->profil_actif->fin);
// On convertit les heures en milliseconde
$now = mktime(date("H"), date("i"), 0, 0,0,0);
$debut = mktime($debut[0], $debut[1], 0, 0,0,0);
$fin = mktime($fin[0], $fin[1], 0, 0,0,0);
// Si le profil est activé a l'heure actuelle
if( ($now >= $debut AND $now <= $fin) OR ($data->profil_actif->debut == $data->profil_actif->fin) ) {
$data->securise = true;
}
else{
$data->securise = false;
}
// On affiche la vue avec toutes les informations
$this->load->view('accueil/accueil', $data);
......
......@@ -67,7 +67,7 @@ class Resume extends CI_Controller{
}
}
public function delete($d){
public function delete($date){
//VERIFICATION QUE L'UTILISATEUR EST CONNECTE
if (!$this->session->has_userdata("email")) {
......@@ -76,9 +76,9 @@ class Resume extends CI_Controller{
}
/*On supprime la notification de la base de données*/
$d = str_replace('_',' ',$d);
$this->LogCapteurModele->deleteLog($d);
$this->LogEmailModele->deleteLog($d);
$this->LogCapteurModele->deleteLog($date);
$this->LogEmailModele->deleteLog($date);
redirect('/resume', 'refresh');
}
......
......@@ -104,7 +104,14 @@ class CapteurModele extends CI_Model
$query = $this->db->query($sql)->result();
var_dump($query);
function ret_id($val){
return $val->idCapteur;
}
$res = array_map("ret_id", $query);
return $res;
}
}
......@@ -13,7 +13,7 @@ class LogEmailModele extends CI_Model
$date = $date == "today" ? DateTime::createFromFormat("Y-m-d H:i:s", date("Y-m-d H:i:s")) : $date;
$sql = "SELECT * from LogEmail, Authentification WHERE LogEmail.user = Authentification.id AND `date` BETWEEN '" . date_format($date, "Y-m-d"). " 00:00:01' AND '" . date_format($date, "Y-m-d"). " 23:59:59'";
$sql = "SELECT * from LogEmail WHERE `date` BETWEEN '" . date_format($date, "Y-m-d"). " 00:00:01' AND '" . date_format($date, "Y-m-d"). " 23:59:59'";
$query = $this->db->query($sql);
......@@ -70,24 +70,18 @@ class LogEmailModele extends CI_Model
}
// METHODE PERMETTANT D'AJOUTER UN LOG POUR CHAQUE EMAIL ENVOYE
public function add($usersId, $type)
public function add($type)
{
$now = date('Y-m-d H:i:s');
foreach($usersId as $uid){
$data = array();
$data["type"] = $type;
$data["date"] = $now;
$data = array();
$data["user"] = $uid;
$data["type"] = $type;
$data["date"] = $now;
$this->db->insert('LogEmail', $data);
}
return true;
$this->db->insert('LogEmail', $data);
return true;
}
// METHODE PERMETTANT DE SUPPRIMER UN LOG POUR CHAQUE EMAIL ENVOYE
......
......@@ -116,12 +116,22 @@
<section class="maison">
<img src="static/ressources/background.jpg">
<div class="maison_protege l_r blue">
<div class="left">
<i class='uil uil-shield-check'></i>
<p>Maison protégé</p>
<?php if($securise) { ?>
<div class="maison_protege l_r blue">
<div class="left">
<i class='uil uil-shield-check'></i>
<p>Maison protégé</p>
</div>
</div>
</div>
<?php } else { ?>
<div class="maison_protege l_r yellow">
<div class="left">
<i class='uil uil-shield-slash'></i>
<p>Maison non protégé</p>
</div>
</div>
<?php } ?>
<div class="maison_profil">
<p class="title">Profil actif :</p>
<form action="<?= base_url("/edit_profil")?>" method="post">
......
......@@ -41,33 +41,46 @@
</p>
</div>
</section>
<?php
if(is_array($intrusion)){
foreach($intrusion as $date) { ?>
<section class="simple_layout red_intrusion">
<section class="simple_layout">
<div class="l_r" style="width: 100%;">
<div class="left" style="flex-direction: column;">
<div class=" intrusion_detected">
<i class='uil uil-shield-exclamation'></i>
<p>Une intrusion a été détectée</p>
</div>
<div>
<p class="detailIntrusion">Une intrusion a été détecté à <?= date_format($date, "H:i") ?>.</p>
</div>
</div>
<a style="color:white" href="<?= base_url("/resume/delete/" . date("Y-m-d")) ?>">
<div class="right">
<i class="uil uil-trash-alt"></i>
</div>
</a>
</div>
<div class="red_intrusion l_r">
<div class="left intrusion_detected in_red_intrusion">
<i class='uil uil-shield-exclamation'></i>
<p>Une intrusion a été détectée</p>
</div>
<div class="left in_red_intrusion">
<p class="detailIntrusion">Intrusion le <?= date_format($capteur_log->date, "d/m/Y") ?> à <?= date_format($capteur_log->date, "H:i") ?>, détectée via le capteur "<?= $capteur_log->nom ?>".</p>
</div>
<a class="go_to_camera l_r" href="<?= base_url("/resume/show/".date("d/m/Y")) ?>">
<div class="left">
<i class='uil uil-clock'></i>
<p>Voir les évènements</p>
</div>
<div class="right">
<i class='uil uil-angle-right'></i>
</div>
</a>
</section>
<a class="go_to_camera l_r in_red_intrusion" href="<?= base_url("/resume/show/".date("d/m/Y")) ?>">
<div class="left">
<i class='uil uil-clock'></i>
<p>Voir les évènements</p>
</div>
<div class="right">
<i class='uil uil-angle-right'></i>
</div>
</a>
</div>
<?php } } else { ?>
Aucune notification à afficher.
<?php } ?>
</section>
</div>
</main>
</body>
......
......@@ -23,26 +23,26 @@
</header>
<main>
<section class="guide">
<div class="l_r">
<div class="left blue">
<i class='uil uil-comment-info-alt'></i>
<p>Guide d'utilisation de cette page</p>
<div class="container">
<section class="guide">
<div class="l_r">
<div class="left blue">
<i class='uil uil-comment-info-alt'></i>
<p>Guide d'utilisation de cette page</p>
</div>
<div class="right"><i class='uil uil-angle-down'></i></div>
</div>
<div class="right"><i class='uil uil-angle-down'></i></div>
</div>
<div class="info">
<p>
Cette page vous permet de visualiser et de supprimer les notifications d'évènements
d'une journée.
</p>
</div>
</section>
<div class="info">
<p>
Cette page vous permet de visualiser et de supprimer les notifications d'évènements
d'une journée.
</p>
</div>
</section>
<div class="timeline">
<div class="timeline">
<?php if(!empty($list)) { ?>
<div class="container">
<?php if(!empty($list)) { ?>
<ul>
<?php foreach($list as $key => $log){ ?>
<li>
......@@ -88,9 +88,9 @@
</ul>
</div>
<?php } else {?>
Aucun log a rapporter.
<?php } ?>
<?php } else {?>
Aucun log a rapporter.
<?php } ?>
</div>
</main>
......
......@@ -52,8 +52,6 @@ main .container{
.red_intrusion {
flex-direction: column;
width: 100%;
border-radius: 5px;
background: #c62828;
}
......
......@@ -39,7 +39,7 @@ main {
flex: 1;
display: flex;
flex-direction: column;
padding: 15px;
align-items: center;
height: 100%;
padding-top: 50px;
overflow-y: scroll;
......@@ -49,6 +49,9 @@ main {
/*********************** CONTENT *****************************/
.container{
width: 90%;
}
main .guide {
margin: 20px auto;
......@@ -80,7 +83,7 @@ main .detail_intrusion {
height: fit-content;
width: 90%;
color: black;
margin: 20px auto;
margin: 100px auto;
}
.container ul {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment