97 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			97 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?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 getDeviceByMac($deviceMac) {
 | 
						|
		return Db::loadOne("SELECT * FROM devices WHERE mac = ?", array($deviceMac));
 | 
						|
	}
 | 
						|
 | 
						|
	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();
 | 
						|
		}
 | 
						|
	}
 | 
						|
 | 
						|
	public function editByToken ($token, $values = []) {
 | 
						|
		try {
 | 
						|
			Db::edit ('devices', $values, 'WHERE token = ?', array($token));
 | 
						|
		} 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);
 | 
						|
	}
 | 
						|
}
 | 
						|
?>
 |