54 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
class RoomManager{
 | 
						|
	public static $rooms;
 | 
						|
 | 
						|
	static function getDefaultRoomId() {
 | 
						|
		$defaultRoom = Db::loadOne("SELECT `room_id` FROM `rooms` WHERE `default` = 1");
 | 
						|
		return $defaultRoom['room_id'];
 | 
						|
	}
 | 
						|
 | 
						|
	static function getAllRooms () {
 | 
						|
		//TODO: ignore Widgets withoud data
 | 
						|
		$allRoom = Db::loadAll ("SELECT rooms.*, COUNT(devices.device_id) as device_count FROM rooms LEFT JOIN devices ON (devices.room_id=rooms.room_id) GROUP BY rooms.room_id");
 | 
						|
		return $allRoom;
 | 
						|
	}
 | 
						|
 | 
						|
	static function getRoomsDefault () {
 | 
						|
		//TODO: ignore Widgets withoud data
 | 
						|
		$allRoom = Db::loadAll ("SELECT rooms.room_id, rooms.name, COUNT(devices.device_id) as device_count FROM rooms LEFT JOIN devices ON (devices.room_id=rooms.room_id) GROUP BY rooms.room_id;");
 | 
						|
		return $allRoom;
 | 
						|
	}
 | 
						|
 | 
						|
	public static function getRoomName ($room_id) {
 | 
						|
		//TODO: ignore Widgets withoud data
 | 
						|
		$allRoom = Db::loadAlone ("SELECT name FROM rooms WHERE room_id=?", array ($room_id));
 | 
						|
		return $allRoom;
 | 
						|
	}
 | 
						|
 | 
						|
	public static function create ($name) {
 | 
						|
		$room = array (
 | 
						|
			'name' => $name,
 | 
						|
		);
 | 
						|
		try {
 | 
						|
			Db::add ('rooms', $room);
 | 
						|
		} catch(PDOException $error) {
 | 
						|
			echo $error->getMessage();
 | 
						|
			die();
 | 
						|
		}
 | 
						|
	}
 | 
						|
 | 
						|
	public static function edit ($roomId, $values = []) {
 | 
						|
		try {
 | 
						|
			Db::edit ('rooms', $values, 'WHERE room_id = ?', array($roomId));
 | 
						|
		} catch(PDOException $error) {
 | 
						|
			echo $error->getMessage();
 | 
						|
			die();
 | 
						|
		}
 | 
						|
	}
 | 
						|
 | 
						|
	public static function delete ($roomId) {
 | 
						|
		Db::command ('DELETE FROM rooms WHERE room_id=?', array ($roomId));
 | 
						|
	}
 | 
						|
}
 | 
						|
?>
 |