150 lines
5.4 KiB
PHP
150 lines
5.4 KiB
PHP
|
<?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');
|
||
|
}
|
||
|
|
||
|
}
|