0) { $valid = false; } return new ValidationResult($valid, $name); } /** * returns a list of rooms. * * @return array */ function Rooms() { return DB::select('SELECT * FROM `Room` ORDER BY `Name`'); } /** * Returns Room id array * * @return array */ function Room_ids() { $result = DB::select('SELECT `RID` FROM `Room`'); return select_array($result, 'RID', 'RID'); } /** * Delete a room * * @param int $room_id */ function Room_delete($room_id) { $room = Room($room_id); DB::delete('DELETE FROM `Room` WHERE `RID` = ?', [ $room_id ]); engelsystem_log('Room deleted: ' . $room['Name']); } /** * Delete a room by its name * * @param string $name */ function Room_delete_by_name($name) { DB::delete('DELETE FROM `Room` WHERE `Name` = ?', [ $name ]); engelsystem_log('Room deleted: ' . $name); } /** * Create a new room * * @param string $name Name of the room * @param boolean $from_frab Is this a frab imported room? * @param string $map_url URL to a map tha can be displayed in an iframe * @param string description Markdown description * @return false|int */ function Room_create($name, $from_frab, $map_url, $description) { DB::insert(' INSERT INTO `Room` (`Name`, `from_frab`, `map_url`, `description`) VALUES (?, ?, ?, ?) ', [ $name, (int)$from_frab, $map_url, $description ]); $result = DB::getPdo()->lastInsertId(); engelsystem_log( 'Room created: ' . $name . ', frab import: ' . ($from_frab ? 'Yes' : '') . ', map_url: ' . $map_url . ', description: ' . $description ); return $result; } /** * update a room * * @param int $room_id The rooms id * @param string $name Name of the room * @param boolean $from_frab Is this a frab imported room? * @param string $map_url URL to a map tha can be displayed in an iframe * @param string $description Markdown description * @return int */ function Room_update($room_id, $name, $from_frab, $map_url, $description) { $result = DB::update(' UPDATE `Room` SET `Name`=?, `from_frab`=?, `map_url`=?, `description`=? WHERE `RID`=? LIMIT 1', [ $name, (int)$from_frab, $map_url, $description, $room_id ]); engelsystem_log( 'Room updated: ' . $name . ', frab import: ' . ($from_frab ? 'Yes' : '') . ', map_url: ' . $map_url . ', description: ' . $description ); return $result; } /** * Returns room by id. * * @param int $room_id RID * @return array|false */ function Room($room_id) { return DB::selectOne(' SELECT * FROM `Room` WHERE `RID` = ?', [ $room_id ]); }