56 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
class SubDeviceManager
 | 
						|
{
 | 
						|
    public static $devices;
 | 
						|
 | 
						|
    public function getAllSubDevices($deviceId)
 | 
						|
    {
 | 
						|
        return Db::loadAll("SELECT * FROM subdevices WHERE device_id = ?", array($deviceId));
 | 
						|
    }
 | 
						|
 | 
						|
    public function getSubDeviceMaster($subDeviceId)
 | 
						|
    {
 | 
						|
        return Db::loadOne("SELECT * FROM devices WHERE device_id = (SELECT device_id FROM subdevices WHERE subdevice_id = ?)", array($subDeviceId));
 | 
						|
    }
 | 
						|
 | 
						|
    public function getSubDeviceByMaster($deviceId, $subDeviceType = null)
 | 
						|
    {
 | 
						|
        if ($subDeviceType == null) {
 | 
						|
            return Db::loadOne("SELECT * FROM subdevices WHERE device_id = ?;", array($deviceId));
 | 
						|
        } else {
 | 
						|
            return Db::loadOne("SELECT * FROM subdevices WHERE device_id = ? AND type = ?;", array($deviceId, $subDeviceType));
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    public function getSubDeviceByMasterAndType($deviceId, $subDeviceType = null)
 | 
						|
    {
 | 
						|
        if (!empty($subDeviceType)) {
 | 
						|
            return Db::loadOne("SELECT * FROM subdevices WHERE device_id = ?;", array($deviceId));
 | 
						|
        } else {
 | 
						|
            return Db::loadOne("SELECT * FROM subdevices WHERE device_id = ? AND type = ?;", array($deviceId, $subDeviceType));
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    public function getSubDevice($subDeviceId)
 | 
						|
    {
 | 
						|
        return Db::loadOne("SELECT * FROM subdevices WHERE subdevice_id = ?;", array($subDeviceId));
 | 
						|
    }
 | 
						|
 | 
						|
    //check if dubdevice exist
 | 
						|
 | 
						|
    public function create($deviceId, $type, $unit)
 | 
						|
    {
 | 
						|
        $record = array(
 | 
						|
            'device_id' => $deviceId,
 | 
						|
            'type' => $type,
 | 
						|
            'unit' => $unit,
 | 
						|
        );
 | 
						|
        try {
 | 
						|
            Db::add('subdevices', $record);
 | 
						|
        } catch (PDOException $error) {
 | 
						|
            echo $error->getMessage();
 | 
						|
            die();
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 |