150 lines
5.4 KiB
PHP
Raw Normal View History

2020-05-15 12:27:34 +02:00
<?php
require_once $GLOBALS['app_path'].'Controller/ControllerSecure.php';
require_once $GLOBALS['app_path'].'Model/ModelCamera.php';
require_once $GLOBALS['app_path'].'Model/Entity/Camera.php';
require_once $GLOBALS['app_path'].'Model/ModelUser.php';
class ControllerDefault extends ControllerSecure {
public function index()
{
$modelCamera = new ModelCamera();
$cameras = $modelCamera->getAllCameraByUser($this->request->getSession()->getAttribute('user_id'));
$this->generateView(array('cameras' => $cameras));
}
public function settings()
{
$modelCamera = new ModelCamera();
$modelUser = new ModelUser();
$user_id = $this->request->getSession()->getAttribute('user_id');
$user = $modelUser->getUserById($user_id);
$cameras = $modelCamera->getAllCameraByUser($user_id);
$this->generateView(array('cameras' => $cameras, 'user' => $user));
}
public function updateLogin()
{
$messageInfo = "";
$modelUser = new ModelUser();
$modelCamera = new ModelCamera();
$user_id = $this->request->getSession()->getAttribute('user_id');
$user = $modelUser->getUserById($user_id);
$cameras = $modelCamera->getAllCameraByUser($user_id);
if($this->request->existParameter('login'))
{
$login = $this->request->getParameter('login');
if($user->getLogin() != $login)
{
if(!$modelUser->exist($login, $user->getPassword()))
{
$modelUser->update($user->getId(),$login,$user->getPassword());
$messageInfo = "Modification effectué";
}
else
$messageInfo = "Ce login existe déja";
}
else
$messageInfo = "Ce Login est déja le vôtre";
}
else
$messageInfo = "Login manquant";
$this->generateView(array('cameras' => $cameras, 'user' => $user, 'messageInfo' => $messageInfo ),'settings');
}
public function updatePassword()
{
$messageInfo = "";
$modelUser = new ModelUser();
$modelCamera = new ModelCamera();
$user_id = $this->request->getSession()->getAttribute('user_id');
$user = $modelUser->getUserById($user_id);
$cameras = $modelCamera->getAllCameraByUser($user_id);
if($this->request->existParameter('password') && $this->request->existParameter('passwordBis'))
{
$password = $this->request->getParameter('password');
$passwordBis = $this->request->getParameter('passwordBis');
if($password == $passwordBis)
{
if ($user->getPassword() != $password)
{
$modelUser->update($user->getId(), $user->getLogin(), $password);
$messageInfo = "Modification effectué";
}
else
$messageInfo = "Ce mot de passe est déja le vôtre";
}
else
$messageInfo = "Les deux mot de passe doivent être les mêmes";
}
else
$messageInfo = "Les deux champs mot de passe doivent être remplies";
$this->generateView(array('cameras' => $cameras, 'user' => $user, 'messageInfo' => $messageInfo ),'settings');
}
public function addCam()
{
$messageInfo = "";
$modelUser = new ModelUser();
$modelCamera = new ModelCamera();
$user_id = $this->request->getSession()->getAttribute('user_id');
$user = $modelUser->getUserById($user_id);
if($this->request->existParameter('name') && $this->request->existParameter('camera_id'))
{
$name = $this->request->getParameter('name');
$camera_id = $this->request->getParameter('camera_id');
if($modelCamera->exist($camera_id))
{
if (!$modelUser->haveCam($user->getId(), $camera_id))
{
$modelUser->addCam($user->getId(), $camera_id, $name);
$messageInfo = "Modification effectué";
}
else
$messageInfo = "Vous avez déja accès à cette caméra";
}
else
$messageInfo = "Le numéro de série ne correspond à aucune caméra";
}
else
$messageInfo = "Les champs name et numéro de série doivent être remplies";
$cameras = $modelCamera->getAllCameraByUser($user_id);
$this->generateView(array('cameras' => $cameras, 'user' => $user, 'messageInfo' => $messageInfo ),'settings');
}
public function admin()
{
if($this->request->getSession()->getAttribute('login') == "root")
{
$this->generateView();
}
else
throw new Exception('Vous n\'avez pas accès à cette page');
}
public function addCamAdmin()
{
if($this->request->getSession()->getAttribute('login') == "root")
{
$modelCamera = new ModelCamera();
$id = uniqid("",false).rand(0,9).rand(0,9).rand(0,9).rand(0,9).rand(0,9);
$product_key = sha1(strval(rand()));
$modelCamera->addCamera($id,$product_key,0,0,"");
$this->generateView(array("id"=>$id, "product_key"=>$product_key),"admin");
}
else
throw new Exception('Vous n\'avez pas accès à cette page');
}
}