diff options
Diffstat (limited to 'includes/model/Room_model.php')
-rw-r--r-- | includes/model/Room_model.php | 92 |
1 files changed, 57 insertions, 35 deletions
diff --git a/includes/model/Room_model.php b/includes/model/Room_model.php index 14935de0..c8399bc4 100644 --- a/includes/model/Room_model.php +++ b/includes/model/Room_model.php @@ -1,60 +1,82 @@ <?php +use Engelsystem\Database\DB; + /** * returns a list of rooms. + * * @param boolean $show_all returns also hidden rooms when true + * @return array */ -function Rooms($show_all = false) { - return sql_select("SELECT * FROM `Room`" . ($show_all ? "" : " WHERE `show`='Y'") . " ORDER BY `Name`"); +function Rooms($show_all = false) +{ + return DB::select('SELECT * FROM `Room`' . ($show_all ? '' : ' WHERE `show`=\'Y\'') . ' ORDER BY `Name`'); } /** * Delete a room * - * @param int $room_id + * @param int $room_id + * @return bool */ -function Room_delete($room_id) { - return sql_query("DELETE FROM `Room` WHERE `RID`=" . sql_escape($room_id)); +function Room_delete($room_id) +{ + return DB::delete('DELETE FROM `Room` WHERE `RID` = ?', [$room_id]); } /** * Create a new room * - * @param string $name - * Name of the room - * @param boolean $from_frab - * Is this a frab imported room? - * @param boolean $public - * Is the room visible for angels? + * @param string $name Name of the room + * @param boolean $from_frab Is this a frab imported room? + * @param boolean $public Is the room visible for angels? + * @param int $number Room number + * @return false|int */ -function Room_create($name, $from_frab, $public) { - $result = sql_query(" - INSERT INTO `Room` SET - `Name`='" . sql_escape($name) . "', - `FromPentabarf`='" . sql_escape($from_frab ? 'Y' : '') . "', - `show`='" . sql_escape($public ? 'Y' : '') . "', - `Number`=0"); - if ($result === false) { - return false; - } - return sql_id(); +function Room_create($name, $from_frab, $public, $number = null) +{ + $result = DB::insert(' + INSERT INTO `Room` (`Name`, `FromPentabarf`, `show`, `Number`) + VALUES (?, ?, ?, ?) + ', + [ + $name, + $from_frab ? 'Y' : '', + $public ? 'Y' : '', + (int)$number, + ] + ); + if (!$result) { + return false; + } + + return DB::getPdo()->lastInsertId(); } /** * Returns room by id. * - * @param $room_id RID + * @param int $room_id RID + * @param bool $show_only + * @return array|false */ -function Room($room_id) { - $room_source = sql_select("SELECT * FROM `Room` WHERE `RID`='" . sql_escape($room_id) . "'"); - - if ($room_source === false) { - return false; - } - if (count($room_source) > 0) { - return $room_source[0]; - } - return null; -} +function Room($room_id, $show_only = true) +{ + $room_source = DB::select(' + SELECT * + FROM `Room` + WHERE `RID` = ? + ' . ($show_only ? 'AND `show` = \'Y\'' : ''), + [$room_id] + ); -?> + if (DB::getStm()->errorCode() != '00000') { + return false; + } + + if (empty($room_source)) { + return null; + } + + return array_shift($room_source); +} |