Commit f273e3e9 authored by LockhomeDevelopper's avatar LockhomeDevelopper
Browse files

MAJ CSS

parent 9064cdb4
......@@ -4,10 +4,12 @@ class API extends CI_Controller{
public function __construct(){
parent::__construct();
$this->load->model("LogCapteurModele");
$this->load->model("MaisonModele");
$this->load->model("LogEmailModele");
$this->load->model("AuthentificationModele");
$this->load->model("CapteurModele");
$this->load->model("ProfilModele");
$this->load->model("CameraModele");
$this->load->helper("url_helper");
}
......@@ -60,12 +62,22 @@ 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) ) {
$capteurs_actives = $this->CapteurModele->getCapteurState($profil->id);
$capteurs_actives = $this->ProfilModele->getCapteurActive($profil->id);
if(in_array($capteur->id, $capteurs_actives)){
// On ajoute le log dans la base de donnée
if($this->LogCapteurModele->add($capteur->id, $type)){
/*
LANCER LE RECORD SUR TOUTES LES CAMERAS
*/
$cameras = $this->CameraModele->getAll();
$dureeCamera = $this->MaisonModele->getRecordCamera();
foreach($cameras as $camera){
$this->fast_request(base_url("/camera/stream/$camera->ip/record/$dureeCamera"));
}
echo "ok";
// Si le type est une intrusion
......@@ -126,6 +138,15 @@ class API extends CI_Controller{
echo "<br>Error: Email not accepted by server";
}
}
// Méthode permettant de générer un GET pour les caméras sans attendre la réponse
function fast_request($url) {
$cmd = "curl $url > /dev/null 2>&1 &";
exec($cmd);
return 1;
}
}
......
......@@ -6,7 +6,7 @@ class Accueil extends CI_Controller
{
parent::__construct();
$this->load->model("AccueilModele");
$this->load->model("MaisonModele");
$this->load->model("ProfilModele");
$this->load->model("LogCapteurModele");
$this->load->model("LogEmailModele");
......@@ -26,7 +26,7 @@ class Accueil extends CI_Controller
// On récupère les informations de la table Maison
$data = $this->AccueilModele->get();
$data = $this->MaisonModele->get();
// On récupère les logs des capteurs pour ce jour
$data->capteur_log = $this->LogCapteurModele->getIntrusionForToday();
......@@ -76,17 +76,19 @@ class Accueil extends CI_Controller
// Si toutes les données sont correctement remplis
if ($this->input->post('nom') != null &&
$this->input->post('adresse') != null) {
$this->input->post('adresse') != null &&
$this->input->post('recordCamera') != null) {
$nom = $this->input->post('nom');
$adresse = $this->input->post('adresse');
$recordCamera = $this->input->post('recordCamera');
// On met a jour les paramètres de la maison
$this->AccueilModele->edit($nom, $adresse);
$this->MaisonModele->edit($nom, $adresse, $recordCamera);
}
// Si une image est envoyé
if ($_FILES["image"]) {
if (isset($_FILES["image"]["tmp_name"]) && $_FILES["image"]["tmp_name"] != "") {
// On définit ou elle sera stocké
$target_file = "./static/ressources/background.jpg";
......@@ -110,7 +112,7 @@ class Accueil extends CI_Controller
//REQUETE HTTP GET OU AUTRE
// On récupère les paramètres
$data = $this->AccueilModele->get();
$data = $this->MaisonModele->get();
// On affiche la vue
$this->load->view('accueil/edit', $data);
......
......@@ -36,7 +36,7 @@ class Profil extends CI_Controller{
}
$data = array();
$data["capteurs"] = $this->CapteurModele->getAll();
$data["capteurs"] = $this->getCapteurActiveAll();
if($this->input->server('REQUEST_METHOD') == 'POST') {
//REQUETE HTTP POST
......@@ -121,12 +121,11 @@ class Profil extends CI_Controller{
$data["debut"] = $profil->debut;
$data["fin"] = $profil->fin;
$data["new"] = false;
$data["state"] = $this->ProfilModele->getCapteurState($idProfil);
$data["state"] = $this->ProfilModele->getCapteurActive($idProfil);
} else {
redirect("/profil", "refresh");
}
} else {
$data["new"] = true;
}
......
......@@ -81,37 +81,4 @@ class CapteurModele extends CI_Model
}
}
public function updateCapteurState($idProfil, $capteurStates)
{
foreach($capteurStates as $key => $value)
{
$sql = "SELECT * FROM EtatCapteur WHERE idProfil='".$idProfil."' and idCapteur='".$capteurStates['idCapteur']."'";
$query = $this->db->query($sql)->result()[0];
var_dump($query);
if($query == true)
{
$this->db->update();
}
}
}
public function getCapteurState($idProfil)
{
$sql = "SELECT idCapteur FROM EtatCapteur WHERE idProfil='".$idProfil."'";
$query = $this->db->query($sql)->result();
function ret_id($val){
return $val->idCapteur;
}
$res = array_map("ret_id", $query);
return $res;
}
}
<?php
class AccueilModele extends CI_Model {
class MaisonModele extends CI_Model {
public function __construct() {
$this->load->database();
......@@ -11,11 +11,18 @@ class AccueilModele extends CI_Model {
$query = $this->db->query($sql);
return $query->result()[0];
}
public function getRecordCamera() {
$sql = "SELECT recordCamera from Maison";
$query = $this->db->query($sql);
return $query->result()[0]->recordCamera;
}
public function edit($nom, $adresse) {
public function edit($nom, $adresse, $recordCamera) {
$data = array();
$data["nom"] = $nom;
$data["adresse"] = $adresse;
$data["recordCamera"] = $recordCamera;
$this->db->update('Maison', $data);
......
......@@ -101,14 +101,6 @@ class ProfilModele extends CI_Model
}
}
public function getCapteurState($idProfil) {
$sql = "SELECT idCapteur FROM EtatCapteur WHERE idProfil=?";
$query = $this->db->query($sql, array($idProfil));
return array_column($query->result_array(), "idCapteur");
}
//Return true if the capteur is in the table "EtatCapteur" and false if he isn't
public function capteurStateInDB($idProfil, $idCapteur)
{
......@@ -159,4 +151,35 @@ class ProfilModele extends CI_Model
return $disabledCapteurs;
}
public function getCapteurActive($idProfil) {
$sql = "SELECT id FROM Capteur WHERE NOT EXISTS(SELECT idCapteur FROM EtatCapteur WHERE idProfil = ?)";
$query = $this->db->query($sql, array($idProfil));
return array_column($query->result_array(), "id");
}
public function getCapteurDesactive($idProfil) {
$sql = "SELECT idCapteur FROM EtatCapteur WHERE idProfil=?";
$query = $this->db->query($sql, array($idProfil));
return array_column($query->result_array(), "idCapteur");
}
public function updateCapteurState($idProfil, $capteurStates) {
foreach($capteurStates as $key => $value)
{
$sql = "SELECT * FROM EtatCapteur WHERE idProfil='".$idProfil."' and idCapteur='".$capteurStates['idCapteur']."'";
$query = $this->db->query($sql)->result()[0];
if($query == true)
{
$this->db->update();
}
}
}
}
This diff is collapsed.
......@@ -75,6 +75,16 @@
<input id="image" name="image" type="file" accept="image/jpeg" />
</div>
</label>
<h6 class="big">Durée d'enregistrement caméra</h6>
<label for="recordCamera" class="input l_r">
<div class="left">
<i class='uil uil-webcam'></i>
<input name="recordCamera" id="recordCamera" required type="number" value="<?=isset($recordCamera) ? $recordCamera : ""?>" /> secondes
</div>
</label>
<p class="version">Lockhome v1.0.0</p>
</div>
......
......@@ -36,33 +36,40 @@
<main>
<form id="EditCamera" action="<?=base_url("/camera/edit/" . ($new ? "new" : $id))?>" method="post">
<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="info">
<p><?php echo $contentGuide; ?></p>
<section class="bloc white_b black">
<div class="container_bloc severals_lines_bloc">
<div class="l_r">
<div class="title_bloc 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="content_bloc">
<p class="text"><?php echo $contentGuide; ?></p>
</div>
</div>
</section>
</section>
<h6 class="big">Nom</h6>
<label for="NOM" class="input l_r">
<div class="left">
<i class='uil uil-webcam'></i>
<input name="nom" required type="text" value="<?=isset($nom) ? $nom : ""?>" placeholder="Nom de la caméra" />
</div>
</label>
<div class="bloc white_b black">
<label for="IP" class="container_bloc one_line_bloc l_r">
<div class="left">
<i class='uil uil-webcam'></i>
<input name="nom" required type="text" value="<?=isset($nom) ? $nom : ""?>" placeholder="Nom de la caméra" />
</div>
</label>
</div>
<h6 class="big">Adresse IP locale</h6>
<label for="IP" class="input l_r">
<div class="left">
<i class='uil uil-wifi'></i>
<input name="ip" required type="text" value="<?=isset($ip) ? $ip : ""?>" placeholder="192.168.4..." />
</div>
</label>
<div class="bloc white_b black">
<label for="IP" class="container_bloc one_line_bloc l_r">
<div class="left">
<i class='uil uil-wifi'></i>
<input name="ip" required pattern="^([0-9]{1,3}\.){3}[0-9]{1,3}$" type="text" value="<?=isset($ip) ? $ip : ""?>" placeholder="192.168.4..." />
</div>
</label>
</div>
<?php if (!$new) {?>
<a href="<?=base_url("/camera/delete/" . $id)?>" class="simple_button_link l_r red bottom">
......
......@@ -25,36 +25,39 @@
</header>
<main>
<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>
<section class="bloc white_b black">
<div class="container_bloc severals_lines_bloc">
<div class="l_r">
<div class="title_bloc 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="content_bloc">
<p class="text">
Cette page vous permet de visualiser les différentes caméras existantes
et d'en créer de nouvelle en cliquant sur le "+".
</p>
</div>
<div class="right"><i class='uil uil-angle-down'></i></div>
</div>
<div class="info">
<p>
Cette page vous permet de visualiser les différentes caméras existantes
et d'en créer de nouvelle en cliquant sur le "+".
</p>
</div>
</section>
<h6>Vous souhaitez ajouter une caméra ?</h6>
<a href="<?=base_url("/camera/edit")?>" class="simple_button_link l_r blue">
<div class="left">
<h6 class="big">Vous souhaitez ajouter une caméra ?</h6>
<div class="bloc white_b blue">
<a href="<?= base_url("/camera/edit") ?>" class="container_bloc one_line_bloc l_r blue">
<div class="left">
<i class='uil uil-plus-circle'></i>
<div class="title">Ajouter une caméra</div>
</div>
<div class="right">
<i class='uil uil-angle-right'></i>
</div>
</a>
<p class="title">Ajouter une caméra</p>
</div>
<div class="right">
<i class='uil uil-angle-right'></i>
</div>
</a>
</div>
<h6 class="big">Liste des caméras</h6>
<?php
if(isset($error)) {
echo $error;
} else {
......
......@@ -37,34 +37,40 @@
<main>
<form id="EditCapteur" action="<?= base_url("/capteur/edit/" . ($new ? "new" : $id))?>" method="post">
<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>
<section class="bloc white_b black">
<div class="container_bloc severals_lines_bloc">
<div class="l_r">
<div class="title_bloc 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="content_bloc">
<p class="text"><?php echo $contentGuide; ?></p>
</div>
<div class="right"><i class='uil uil-angle-down'></i></div>
</div>
<div class="info">
<p><?php echo $contentGuide; ?></p>
</div>
</section>
<h6 class="big">Nom</h6>
<label for="NOM" class="input l_r">
<div class="left">
<i class='uil uil-processor'></i>
<input name="nom" required type="text" value="<?=isset($nom) ? $nom : ""?>" placeholder="Nom du capteur" />
</div>
</label>
<div class="bloc white_b black">
<label for="NOM" class="container_bloc one_line_bloc l_r">
<div class="left">
<i class='uil uil-processor'></i>
<input name="nom" required type="text" value="<?=isset($nom) ? $nom : ""?>" placeholder="Nom du capteur" />
</div>
</label>
</div>
<h6 class="big">Adresse IP locale</h6>
<label for="IP" class="input l_r">
<div class="left">
<i class='uil uil-wifi'></i>
<input name="ip" required pattern="^([0-9]{1,3}\.){3}[0-9]{1,3}$" type="text" value="<?=isset($ip) ? $ip : ""?>" placeholder="192.168.4..." />
</div>
</label>
<div class="bloc white_b black">
<label for="IP" class="container_bloc one_line_bloc l_r">
<div class="left">
<i class='uil uil-wifi'></i>
<input name="ip" required pattern="^([0-9]{1,3}\.){3}[0-9]{1,3}$" type="text" value="<?=isset($ip) ? $ip : ""?>" placeholder="192.168.4..." />
</div>
</label>
</div>
<h6 class="big">Type du capteur</h6>
<select id="TYPE_DU_CAPTEUR" required name="type">
......
......@@ -24,52 +24,55 @@
</header>
<main>
<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="info">
<p>
Cette page vous permet de visualiser les différents capteurs existants
et d'en créer de nouveau en cliquant sur le "+".
</p>
<section class="bloc white_b black">
<div class="container_bloc severals_lines_bloc">
<div class="l_r">
<div class="title_bloc 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="content_bloc">
<p class="text">
Cette page vous permet de visualiser les différents capteurs existants
et d'en créer de nouveau en cliquant sur le "+".
</p>
</div>
</div>
</section>
<h6>Vous souhaitez ajouter un capteur ?</h6>
<a href="<?= base_url("/capteur/edit/new") ?>" class="simple_button_link l_r blue">
<div class="left">
<h6 class="big">Vous souhaitez ajouter un capteur ?</h6>
<div class="bloc white_b blue">
<a href="<?= base_url("/capteur/edit/new") ?>" class="container_bloc one_line_bloc l_r blue">
<div class="left">
<i class='uil uil-plus-circle'></i>
<div class="title">Ajouter un capteur</div>
</div>
<div class="right">
<i class='uil uil-angle-right'></i>
</div>
</a>
<p class="title">Ajouter un capteur</p>
</div>
<div class="right">
<i class='uil uil-angle-right'></i>
</div>
</a>
</div>
<h6 class="big">Liste des capeurs</h6>
<?php if(isset($error)) {
echo $error;
} else {
foreach($capteurs as $cap) {
?>
<a href="<?= base_url("capteur/edit/".$cap->id)?>" class="simple_button_link l_r">
<div class="left">
<div class="indicateur green"></div>
<div class="title"><?= $cap->nom ?></div>
</div>
<div class="right">
<i class='uil uil-angle-right'></i>
</div>
</a>
<div class="bloc white_b">
<a href="<?= base_url("capteur/edit/".$cap->id) ?>" class="container_bloc one_line_bloc l_r black">
<div class="left">
<div class="title"><?= $cap->nom ?></div>
</div>
<div class="right">
<i class='uil uil-angle-right'></i>
</div>
</a>
</div>
<?php } } ?>
</div>
</main>
......
......@@ -37,51 +37,53 @@
<main>
<form id="EditProfil" action="<?= base_url("/profil/edit/" . (!$new ? $id : "new")) ?>" method="post">
<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="info">
<p><?php echo $contentGuide; ?></p>
<section class="bloc white_b black">
<div class="container_bloc severals_lines_bloc">
<div class="l_r">
<div class="title_bloc 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="content_bloc">
<p class="text"><?php echo $contentGuide; ?></p>
</div>
</div>
</section>
</section>
<h6 class="big">Nom</h6>
<label for="NOM" class="input l_r">
<div class="left">
<i class='uil uil-label-alt'></i>
<input id="NOM" required type="text" name="nom" value="<?= !$new ? $nom : "" ?>" placeholder="Vacance..." />
</div>
</label>
<div class="bloc white_b black">
<label class="container_bloc one_line_bloc l_r">
<div class="left">
<i class='uil uil-label-alt'></i>
<input id="NOM" required type="text" name="nom" value="<?= !$new ? $nom : "" ?>" placeholder="Vacance..." />
</div>
</label>
</div>
<h6 class="big">Plage horaire</h6>
<div class="plage_horaire">
<div class="start">
<div class="text">Debut</div>
<input id="time" required type="time" name="debut" value="<?= !$new ? $debut : "08:00"?>">
</div>
<div class="end">
<div class="text">Fin</div>