/** * getter for messages * * @param int $room * @param int $user * @param int $time * @param int $game * @return array */ public static function getMessages($room, $toUser = 0, $time = 0, $game = 0) { $colorRepository = new ColorRepository(TRUE); $colors = $colorRepository->getAll(); $colorList = array(); foreach ($colors as $color) { $colorList[$color['id']] = $color; } $query = 'SELECT user.*, message.* FROM ' . DB_PREFIX . self::$table . ' AS message LEFT JOIN ' . DB_PREFIX . 'user AS user ON message.user = user.id WHERE room=' . intval($room) . ' AND tstamp > ' . intval($time) . ' AND to_user IN (' . intval($toUser) . ', 0)'; if ($game) { $query .= ' AND game=' . intval($game); } if ($toUser) { $query .= ' AND NOT not_to_user IN (' . $toUser . ')'; } $query .= ' ORDER BY message.id DESC LIMIT 100'; $messages = DB::fetchAll($query); $messages = array_reverse($messages); foreach ($messages as &$message) { if ($message['localize_key']) { $message['text'] = Localize::getMessage($message['localize_key'], unserialize($message['localize_params'])); } $message['color'] = $colorList[$message['color']]['code']; } return $messages; }
protected function setup() { $loggedUser = LoggedUser::whoIsLogged(); if (Utils::post('change_settings')) { // TODO check if password and confirm password match $loggedUser['password'] = md5(Utils::post('password')); $loggedUser['name'] = Utils::post('name'); $loggedUser['surname'] = Utils::post('surname'); $loggedUser['color'] = intval(Utils::post('color')); $loggedUser->save(); } MySmarty::assign('loggedUser', $loggedUser); $colorRepository = new ColorRepository(); $colors = $colorRepository->getAll(); MySmarty::assign('colors', $colors); }