executeRequest($sql, array($camera_id)); if ( $result->rowCount() == 1) { $result = $result->fetch(); $name = $this->getNameCameraByUser($user_id, $camera_id); return new Camera($result['id'], $name, $result['product_key'],$result['available'],$result['enabled'],$result['rtmp_handle']); } else throw new Exception("Aucune caméra ne correspond à cet identifiant"); } public function getNameCameraByUser($user_id, $camera_id) { $sql = "select name from user_camera where user_id=? and camera_id=?"; $result = $this->executeRequest($sql, array($user_id, $camera_id)); if($result->rowCount() == 1) return $result->fetch()['name']; else throw new Exception("Cet utilisateur n'as pas accès à cet caméra"); } public function addCamera($id, $product_key, $available, $enabled, $rtmp_handle) { $sql = "insert into camera values(?,?,?,?,?)"; $this->executeRequest($sql, array($id, $product_key, $available, $enabled, $rtmp_handle)); } public function getAllCameraByUser($user_id) { $sql = "select * from user_camera where user_id=?"; $result = $this->executeRequest($sql, array($user_id)); $result = $result->fetchAll(); $cameras = null; foreach($result as $cam) { $cameras[] = $this->getCamera($cam['camera_id'], $user_id); } return $cameras; } public function userCanAccessCam($user_id, $camera_id) { $sql = "select name from user_camera where user_id=? and camera_id=?"; $result = $this->executeRequest($sql, array($user_id, $camera_id)); return $result->rowCount() == 1; } public function delete($id) { $sql = "delete from camera where id=?"; $this->executeRequest($sql,array($id)); } public function exist($camera_id) { $sql = "select * from camera where id=? "; $result = $this->executeRequest($sql, array($camera_id)); return ($result->rowCount() == 1); } public function getCameraOnly($camera_id) { $sql = "select * from camera where id=?"; $result = $this->executeRequest($sql, array($camera_id)); if ( $result->rowCount() == 1) { $result = $result->fetch(); return new Camera($result['id'], "", $result['product_key'],$result['available'],$result['enabled'],$result['rtmp_handle']); } else throw new Exception("Aucune caméra ne correspond à cet identifiant"); } }