<?php class DeviceManager{ public static $devices; function getAllDevices () { return Db::loadAll ("SELECT * FROM devices WHERE approved != ?", Array(2)); } function getAllDevicesInRoom ($roomId = "") { return Db::loadAll ("SELECT * FROM devices WHERE room_id = ? AND approved != ?", Array($roomId, 2)); } function getOtherDevices(){ return Db::loadAll ("SELECT * FROM devices WHERE room_id IS NULL "); } function getDeviceByToken($deviceToken) { return Db::loadOne("SELECT * FROM devices WHERE token = ?", array($deviceToken)); } function getDeviceById($deviceId) { return Db::loadOne("SELECT * FROM devices WHERE device_id = ?", array($deviceId)); } public function create ($name, $token) { $defaultRoom = RoomManager::getDefaultRoomId(); $device = array ( 'name' => $name, 'token' => $token, 'room_id' => $defaultRoom, ); try { Db::add ('devices', $device); return Db::loadOne("SELECT device_id FROM devices WHERE token = ?", array($token))['device_id']; } catch(PDOException $error) { echo $error->getMessage(); die(); } } public function edit ($deviceId, $values = []) { try { Db::edit ('devices', $values, 'WHERE device_id = ?', array($deviceId)); } catch(PDOException $error) { echo $error->getMessage(); die(); } } /** * [assignRoom Přiřazení zařízení do třídy] * @param [type] $roomId [číslo místnosti do kter se má zařízení přiřadit] * @param [type] $deviceId [Číslo zařízení které chcete přiřadit do místnosti] */ public function assignRoom ($roomId, $deviceId) { $device = array ( 'room_id' => $roomId, ); try { Db::edit ('devices', $device, 'WHERE device_id = ?', array($deviceId)); } catch(PDOException $error) { echo $error->getMessage(); die(); } } /** * [delete Smazání zařízení] * @param [type] $deviceId [Id zařízení ke smazání] */ public function delete ($deviceId) { Db::command ('DELETE FROM devices WHERE device_id=?', array ($deviceId)); } public function registeret ($deviceToken) { return (count(Db::loadAll ("SELECT * FROM devices WHERE token=?", array($deviceToken))) == 1 ? true : false); } public function approved ($deviceToken) { return (count(Db::loadAll ("SELECT * FROM devices WHERE token=? AND approved = ?", array($deviceToken, 1))) == 1 ? true : false); } } ?>